diff --git a/src/ifcparse/Ifc2x3.cpp b/src/ifcparse/Ifc2x3.cpp index f63502c950..caca516ce8 100644 --- a/src/ifcparse/Ifc2x3.cpp +++ b/src/ifcparse/Ifc2x3.cpp @@ -63,7 +63,7 @@ Ifc2x3::IfcActionSourceTypeEnum::Value Ifc2x3::IfcActionSourceTypeEnum::FromStri } Ifc2x3::IfcActionSourceTypeEnum::operator Ifc2x3::IfcActionSourceTypeEnum::Value() const { - return (Ifc2x3::IfcActionSourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcActionSourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcActionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[5]); } @@ -90,7 +90,7 @@ Ifc2x3::IfcActionTypeEnum::Value Ifc2x3::IfcActionTypeEnum::FromString(const std } Ifc2x3::IfcActionTypeEnum::operator Ifc2x3::IfcActionTypeEnum::Value() const { - return (Ifc2x3::IfcActionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcActionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcActuatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[10]); } @@ -117,7 +117,7 @@ Ifc2x3::IfcActuatorTypeEnum::Value Ifc2x3::IfcActuatorTypeEnum::FromString(const } Ifc2x3::IfcActuatorTypeEnum::operator Ifc2x3::IfcActuatorTypeEnum::Value() const { - return (Ifc2x3::IfcActuatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcActuatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcAddressTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[12]); } @@ -144,7 +144,7 @@ Ifc2x3::IfcAddressTypeEnum::Value Ifc2x3::IfcAddressTypeEnum::FromString(const s } Ifc2x3::IfcAddressTypeEnum::operator Ifc2x3::IfcAddressTypeEnum::Value() const { - return (Ifc2x3::IfcAddressTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcAddressTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcAheadOrBehind::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[13]); } @@ -171,7 +171,7 @@ Ifc2x3::IfcAheadOrBehind::Value Ifc2x3::IfcAheadOrBehind::FromString(const std:: } Ifc2x3::IfcAheadOrBehind::operator Ifc2x3::IfcAheadOrBehind::Value() const { - return (Ifc2x3::IfcAheadOrBehind::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcAheadOrBehind::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcAirTerminalBoxTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[15]); } @@ -198,7 +198,7 @@ Ifc2x3::IfcAirTerminalBoxTypeEnum::Value Ifc2x3::IfcAirTerminalBoxTypeEnum::From } Ifc2x3::IfcAirTerminalBoxTypeEnum::operator Ifc2x3::IfcAirTerminalBoxTypeEnum::Value() const { - return (Ifc2x3::IfcAirTerminalBoxTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcAirTerminalBoxTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcAirTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[17]); } @@ -225,7 +225,7 @@ Ifc2x3::IfcAirTerminalTypeEnum::Value Ifc2x3::IfcAirTerminalTypeEnum::FromString } Ifc2x3::IfcAirTerminalTypeEnum::operator Ifc2x3::IfcAirTerminalTypeEnum::Value() const { - return (Ifc2x3::IfcAirTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcAirTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[19]); } @@ -252,7 +252,7 @@ Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc2x3::IfcAirToAirHeatRecoveryTy } Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::operator Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::Value() const { - return (Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcAlarmTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[21]); } @@ -279,7 +279,7 @@ Ifc2x3::IfcAlarmTypeEnum::Value Ifc2x3::IfcAlarmTypeEnum::FromString(const std:: } Ifc2x3::IfcAlarmTypeEnum::operator Ifc2x3::IfcAlarmTypeEnum::Value() const { - return (Ifc2x3::IfcAlarmTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcAlarmTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcAnalysisModelTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[23]); } @@ -306,7 +306,7 @@ Ifc2x3::IfcAnalysisModelTypeEnum::Value Ifc2x3::IfcAnalysisModelTypeEnum::FromSt } Ifc2x3::IfcAnalysisModelTypeEnum::operator Ifc2x3::IfcAnalysisModelTypeEnum::Value() const { - return (Ifc2x3::IfcAnalysisModelTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcAnalysisModelTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcAnalysisTheoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[24]); } @@ -333,7 +333,7 @@ Ifc2x3::IfcAnalysisTheoryTypeEnum::Value Ifc2x3::IfcAnalysisTheoryTypeEnum::From } Ifc2x3::IfcAnalysisTheoryTypeEnum::operator Ifc2x3::IfcAnalysisTheoryTypeEnum::Value() const { - return (Ifc2x3::IfcAnalysisTheoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcAnalysisTheoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcArithmeticOperatorEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[48]); } @@ -360,7 +360,7 @@ Ifc2x3::IfcArithmeticOperatorEnum::Value Ifc2x3::IfcArithmeticOperatorEnum::From } Ifc2x3::IfcArithmeticOperatorEnum::operator Ifc2x3::IfcArithmeticOperatorEnum::Value() const { - return (Ifc2x3::IfcArithmeticOperatorEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcArithmeticOperatorEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcAssemblyPlaceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[49]); } @@ -387,7 +387,7 @@ Ifc2x3::IfcAssemblyPlaceEnum::Value Ifc2x3::IfcAssemblyPlaceEnum::FromString(con } Ifc2x3::IfcAssemblyPlaceEnum::operator Ifc2x3::IfcAssemblyPlaceEnum::Value() const { - return (Ifc2x3::IfcAssemblyPlaceEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcAssemblyPlaceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcBSplineCurveForm::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[81]); } @@ -414,7 +414,7 @@ Ifc2x3::IfcBSplineCurveForm::Value Ifc2x3::IfcBSplineCurveForm::FromString(const } Ifc2x3::IfcBSplineCurveForm::operator Ifc2x3::IfcBSplineCurveForm::Value() const { - return (Ifc2x3::IfcBSplineCurveForm::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcBSplineCurveForm::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcBeamTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[58]); } @@ -441,7 +441,7 @@ Ifc2x3::IfcBeamTypeEnum::Value Ifc2x3::IfcBeamTypeEnum::FromString(const std::st } Ifc2x3::IfcBeamTypeEnum::operator Ifc2x3::IfcBeamTypeEnum::Value() const { - return (Ifc2x3::IfcBeamTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcBeamTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcBenchmarkEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[59]); } @@ -468,7 +468,7 @@ Ifc2x3::IfcBenchmarkEnum::Value Ifc2x3::IfcBenchmarkEnum::FromString(const std:: } Ifc2x3::IfcBenchmarkEnum::operator Ifc2x3::IfcBenchmarkEnum::Value() const { - return (Ifc2x3::IfcBenchmarkEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcBenchmarkEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcBoilerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[64]); } @@ -495,7 +495,7 @@ Ifc2x3::IfcBoilerTypeEnum::Value Ifc2x3::IfcBoilerTypeEnum::FromString(const std } Ifc2x3::IfcBoilerTypeEnum::operator Ifc2x3::IfcBoilerTypeEnum::Value() const { - return (Ifc2x3::IfcBoilerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcBoilerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcBooleanOperator::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[68]); } @@ -522,7 +522,7 @@ Ifc2x3::IfcBooleanOperator::Value Ifc2x3::IfcBooleanOperator::FromString(const s } Ifc2x3::IfcBooleanOperator::operator Ifc2x3::IfcBooleanOperator::Value() const { - return (Ifc2x3::IfcBooleanOperator::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcBooleanOperator::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcBuildingElementProxyTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[88]); } @@ -549,7 +549,7 @@ Ifc2x3::IfcBuildingElementProxyTypeEnum::Value Ifc2x3::IfcBuildingElementProxyTy } Ifc2x3::IfcBuildingElementProxyTypeEnum::operator Ifc2x3::IfcBuildingElementProxyTypeEnum::Value() const { - return (Ifc2x3::IfcBuildingElementProxyTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcBuildingElementProxyTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcCableCarrierFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[92]); } @@ -576,7 +576,7 @@ Ifc2x3::IfcCableCarrierFittingTypeEnum::Value Ifc2x3::IfcCableCarrierFittingType } Ifc2x3::IfcCableCarrierFittingTypeEnum::operator Ifc2x3::IfcCableCarrierFittingTypeEnum::Value() const { - return (Ifc2x3::IfcCableCarrierFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcCableCarrierFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcCableCarrierSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[94]); } @@ -603,7 +603,7 @@ Ifc2x3::IfcCableCarrierSegmentTypeEnum::Value Ifc2x3::IfcCableCarrierSegmentType } Ifc2x3::IfcCableCarrierSegmentTypeEnum::operator Ifc2x3::IfcCableCarrierSegmentTypeEnum::Value() const { - return (Ifc2x3::IfcCableCarrierSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcCableCarrierSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcCableSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[96]); } @@ -630,7 +630,7 @@ Ifc2x3::IfcCableSegmentTypeEnum::Value Ifc2x3::IfcCableSegmentTypeEnum::FromStri } Ifc2x3::IfcCableSegmentTypeEnum::operator Ifc2x3::IfcCableSegmentTypeEnum::Value() const { - return (Ifc2x3::IfcCableSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcCableSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcChangeActionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[106]); } @@ -657,7 +657,7 @@ Ifc2x3::IfcChangeActionEnum::Value Ifc2x3::IfcChangeActionEnum::FromString(const } Ifc2x3::IfcChangeActionEnum::operator Ifc2x3::IfcChangeActionEnum::Value() const { - return (Ifc2x3::IfcChangeActionEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcChangeActionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcChillerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[109]); } @@ -684,7 +684,7 @@ Ifc2x3::IfcChillerTypeEnum::Value Ifc2x3::IfcChillerTypeEnum::FromString(const s } Ifc2x3::IfcChillerTypeEnum::operator Ifc2x3::IfcChillerTypeEnum::Value() const { - return (Ifc2x3::IfcChillerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcChillerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcCoilTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[122]); } @@ -711,7 +711,7 @@ Ifc2x3::IfcCoilTypeEnum::Value Ifc2x3::IfcCoilTypeEnum::FromString(const std::st } Ifc2x3::IfcCoilTypeEnum::operator Ifc2x3::IfcCoilTypeEnum::Value() const { - return (Ifc2x3::IfcCoilTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcCoilTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcColumnTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[129]); } @@ -738,7 +738,7 @@ Ifc2x3::IfcColumnTypeEnum::Value Ifc2x3::IfcColumnTypeEnum::FromString(const std } Ifc2x3::IfcColumnTypeEnum::operator Ifc2x3::IfcColumnTypeEnum::Value() const { - return (Ifc2x3::IfcColumnTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcColumnTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcCompressorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[137]); } @@ -765,7 +765,7 @@ Ifc2x3::IfcCompressorTypeEnum::Value Ifc2x3::IfcCompressorTypeEnum::FromString(c } Ifc2x3::IfcCompressorTypeEnum::operator Ifc2x3::IfcCompressorTypeEnum::Value() const { - return (Ifc2x3::IfcCompressorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcCompressorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcCondenserTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[139]); } @@ -792,7 +792,7 @@ Ifc2x3::IfcCondenserTypeEnum::Value Ifc2x3::IfcCondenserTypeEnum::FromString(con } Ifc2x3::IfcCondenserTypeEnum::operator Ifc2x3::IfcCondenserTypeEnum::Value() const { - return (Ifc2x3::IfcCondenserTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcCondenserTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcConnectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[151]); } @@ -819,7 +819,7 @@ Ifc2x3::IfcConnectionTypeEnum::Value Ifc2x3::IfcConnectionTypeEnum::FromString(c } Ifc2x3::IfcConnectionTypeEnum::operator Ifc2x3::IfcConnectionTypeEnum::Value() const { - return (Ifc2x3::IfcConnectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcConnectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcConstraintEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[155]); } @@ -846,7 +846,7 @@ Ifc2x3::IfcConstraintEnum::Value Ifc2x3::IfcConstraintEnum::FromString(const std } Ifc2x3::IfcConstraintEnum::operator Ifc2x3::IfcConstraintEnum::Value() const { - return (Ifc2x3::IfcConstraintEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcConstraintEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcControllerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[165]); } @@ -873,7 +873,7 @@ Ifc2x3::IfcControllerTypeEnum::Value Ifc2x3::IfcControllerTypeEnum::FromString(c } Ifc2x3::IfcControllerTypeEnum::operator Ifc2x3::IfcControllerTypeEnum::Value() const { - return (Ifc2x3::IfcControllerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcControllerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcCooledBeamTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[168]); } @@ -900,7 +900,7 @@ Ifc2x3::IfcCooledBeamTypeEnum::Value Ifc2x3::IfcCooledBeamTypeEnum::FromString(c } Ifc2x3::IfcCooledBeamTypeEnum::operator Ifc2x3::IfcCooledBeamTypeEnum::Value() const { - return (Ifc2x3::IfcCooledBeamTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcCooledBeamTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcCoolingTowerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[170]); } @@ -927,7 +927,7 @@ Ifc2x3::IfcCoolingTowerTypeEnum::Value Ifc2x3::IfcCoolingTowerTypeEnum::FromStri } Ifc2x3::IfcCoolingTowerTypeEnum::operator Ifc2x3::IfcCoolingTowerTypeEnum::Value() const { - return (Ifc2x3::IfcCoolingTowerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcCoolingTowerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcCostScheduleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[174]); } @@ -954,7 +954,7 @@ Ifc2x3::IfcCostScheduleTypeEnum::Value Ifc2x3::IfcCostScheduleTypeEnum::FromStri } Ifc2x3::IfcCostScheduleTypeEnum::operator Ifc2x3::IfcCostScheduleTypeEnum::Value() const { - return (Ifc2x3::IfcCostScheduleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcCostScheduleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcCoveringTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[179]); } @@ -981,7 +981,7 @@ Ifc2x3::IfcCoveringTypeEnum::Value Ifc2x3::IfcCoveringTypeEnum::FromString(const } Ifc2x3::IfcCoveringTypeEnum::operator Ifc2x3::IfcCoveringTypeEnum::Value() const { - return (Ifc2x3::IfcCoveringTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcCoveringTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcCurrencyEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[187]); } @@ -1008,7 +1008,7 @@ Ifc2x3::IfcCurrencyEnum::Value Ifc2x3::IfcCurrencyEnum::FromString(const std::st } Ifc2x3::IfcCurrencyEnum::operator Ifc2x3::IfcCurrencyEnum::Value() const { - return (Ifc2x3::IfcCurrencyEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcCurrencyEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcCurtainWallTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[191]); } @@ -1035,7 +1035,7 @@ Ifc2x3::IfcCurtainWallTypeEnum::Value Ifc2x3::IfcCurtainWallTypeEnum::FromString } Ifc2x3::IfcCurtainWallTypeEnum::operator Ifc2x3::IfcCurtainWallTypeEnum::Value() const { - return (Ifc2x3::IfcCurtainWallTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcCurtainWallTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcDamperTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[203]); } @@ -1062,7 +1062,7 @@ Ifc2x3::IfcDamperTypeEnum::Value Ifc2x3::IfcDamperTypeEnum::FromString(const std } Ifc2x3::IfcDamperTypeEnum::operator Ifc2x3::IfcDamperTypeEnum::Value() const { - return (Ifc2x3::IfcDamperTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcDamperTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcDataOriginEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[204]); } @@ -1089,7 +1089,7 @@ Ifc2x3::IfcDataOriginEnum::Value Ifc2x3::IfcDataOriginEnum::FromString(const std } Ifc2x3::IfcDataOriginEnum::operator Ifc2x3::IfcDataOriginEnum::Value() const { - return (Ifc2x3::IfcDataOriginEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcDataOriginEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcDerivedUnitEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[215]); } @@ -1116,7 +1116,7 @@ Ifc2x3::IfcDerivedUnitEnum::Value Ifc2x3::IfcDerivedUnitEnum::FromString(const s } Ifc2x3::IfcDerivedUnitEnum::operator Ifc2x3::IfcDerivedUnitEnum::Value() const { - return (Ifc2x3::IfcDerivedUnitEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcDerivedUnitEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcDimensionExtentUsage::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[224]); } @@ -1143,7 +1143,7 @@ Ifc2x3::IfcDimensionExtentUsage::Value Ifc2x3::IfcDimensionExtentUsage::FromStri } Ifc2x3::IfcDimensionExtentUsage::operator Ifc2x3::IfcDimensionExtentUsage::Value() const { - return (Ifc2x3::IfcDimensionExtentUsage::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcDimensionExtentUsage::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcDirectionSenseEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[227]); } @@ -1170,7 +1170,7 @@ Ifc2x3::IfcDirectionSenseEnum::Value Ifc2x3::IfcDirectionSenseEnum::FromString(c } Ifc2x3::IfcDirectionSenseEnum::operator Ifc2x3::IfcDirectionSenseEnum::Value() const { - return (Ifc2x3::IfcDirectionSenseEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcDirectionSenseEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcDistributionChamberElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[232]); } @@ -1197,7 +1197,7 @@ Ifc2x3::IfcDistributionChamberElementTypeEnum::Value Ifc2x3::IfcDistributionCham } Ifc2x3::IfcDistributionChamberElementTypeEnum::operator Ifc2x3::IfcDistributionChamberElementTypeEnum::Value() const { - return (Ifc2x3::IfcDistributionChamberElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcDistributionChamberElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcDocumentConfidentialityEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[240]); } @@ -1224,7 +1224,7 @@ Ifc2x3::IfcDocumentConfidentialityEnum::Value Ifc2x3::IfcDocumentConfidentiality } Ifc2x3::IfcDocumentConfidentialityEnum::operator Ifc2x3::IfcDocumentConfidentialityEnum::Value() const { - return (Ifc2x3::IfcDocumentConfidentialityEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcDocumentConfidentialityEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcDocumentStatusEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[246]); } @@ -1251,7 +1251,7 @@ Ifc2x3::IfcDocumentStatusEnum::Value Ifc2x3::IfcDocumentStatusEnum::FromString(c } Ifc2x3::IfcDocumentStatusEnum::operator Ifc2x3::IfcDocumentStatusEnum::Value() const { - return (Ifc2x3::IfcDocumentStatusEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcDocumentStatusEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcDoorPanelOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[249]); } @@ -1278,7 +1278,7 @@ Ifc2x3::IfcDoorPanelOperationEnum::Value Ifc2x3::IfcDoorPanelOperationEnum::From } Ifc2x3::IfcDoorPanelOperationEnum::operator Ifc2x3::IfcDoorPanelOperationEnum::Value() const { - return (Ifc2x3::IfcDoorPanelOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcDoorPanelOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcDoorPanelPositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[250]); } @@ -1305,7 +1305,7 @@ Ifc2x3::IfcDoorPanelPositionEnum::Value Ifc2x3::IfcDoorPanelPositionEnum::FromSt } Ifc2x3::IfcDoorPanelPositionEnum::operator Ifc2x3::IfcDoorPanelPositionEnum::Value() const { - return (Ifc2x3::IfcDoorPanelPositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcDoorPanelPositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcDoorStyleConstructionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[253]); } @@ -1332,7 +1332,7 @@ Ifc2x3::IfcDoorStyleConstructionEnum::Value Ifc2x3::IfcDoorStyleConstructionEnum } Ifc2x3::IfcDoorStyleConstructionEnum::operator Ifc2x3::IfcDoorStyleConstructionEnum::Value() const { - return (Ifc2x3::IfcDoorStyleConstructionEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcDoorStyleConstructionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcDoorStyleOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[254]); } @@ -1359,7 +1359,7 @@ Ifc2x3::IfcDoorStyleOperationEnum::Value Ifc2x3::IfcDoorStyleOperationEnum::From } Ifc2x3::IfcDoorStyleOperationEnum::operator Ifc2x3::IfcDoorStyleOperationEnum::Value() const { - return (Ifc2x3::IfcDoorStyleOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcDoorStyleOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcDuctFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[263]); } @@ -1386,7 +1386,7 @@ Ifc2x3::IfcDuctFittingTypeEnum::Value Ifc2x3::IfcDuctFittingTypeEnum::FromString } Ifc2x3::IfcDuctFittingTypeEnum::operator Ifc2x3::IfcDuctFittingTypeEnum::Value() const { - return (Ifc2x3::IfcDuctFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcDuctFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcDuctSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[265]); } @@ -1413,7 +1413,7 @@ Ifc2x3::IfcDuctSegmentTypeEnum::Value Ifc2x3::IfcDuctSegmentTypeEnum::FromString } Ifc2x3::IfcDuctSegmentTypeEnum::operator Ifc2x3::IfcDuctSegmentTypeEnum::Value() const { - return (Ifc2x3::IfcDuctSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcDuctSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcDuctSilencerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[267]); } @@ -1440,7 +1440,7 @@ Ifc2x3::IfcDuctSilencerTypeEnum::Value Ifc2x3::IfcDuctSilencerTypeEnum::FromStri } Ifc2x3::IfcDuctSilencerTypeEnum::operator Ifc2x3::IfcDuctSilencerTypeEnum::Value() const { - return (Ifc2x3::IfcDuctSilencerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcDuctSilencerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcElectricApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[277]); } @@ -1467,7 +1467,7 @@ Ifc2x3::IfcElectricApplianceTypeEnum::Value Ifc2x3::IfcElectricApplianceTypeEnum } Ifc2x3::IfcElectricApplianceTypeEnum::operator Ifc2x3::IfcElectricApplianceTypeEnum::Value() const { - return (Ifc2x3::IfcElectricApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcElectricApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcElectricCurrentEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[281]); } @@ -1494,7 +1494,7 @@ Ifc2x3::IfcElectricCurrentEnum::Value Ifc2x3::IfcElectricCurrentEnum::FromString } Ifc2x3::IfcElectricCurrentEnum::operator Ifc2x3::IfcElectricCurrentEnum::Value() const { - return (Ifc2x3::IfcElectricCurrentEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcElectricCurrentEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcElectricDistributionPointFunctionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[284]); } @@ -1521,7 +1521,7 @@ Ifc2x3::IfcElectricDistributionPointFunctionEnum::Value Ifc2x3::IfcElectricDistr } Ifc2x3::IfcElectricDistributionPointFunctionEnum::operator Ifc2x3::IfcElectricDistributionPointFunctionEnum::Value() const { - return (Ifc2x3::IfcElectricDistributionPointFunctionEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcElectricDistributionPointFunctionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[286]); } @@ -1548,7 +1548,7 @@ Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc2x3::IfcElectricFlowStora } Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::operator Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::Value() const { - return (Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcElectricGeneratorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[288]); } @@ -1575,7 +1575,7 @@ Ifc2x3::IfcElectricGeneratorTypeEnum::Value Ifc2x3::IfcElectricGeneratorTypeEnum } Ifc2x3::IfcElectricGeneratorTypeEnum::operator Ifc2x3::IfcElectricGeneratorTypeEnum::Value() const { - return (Ifc2x3::IfcElectricGeneratorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcElectricGeneratorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcElectricHeaterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[290]); } @@ -1602,7 +1602,7 @@ Ifc2x3::IfcElectricHeaterTypeEnum::Value Ifc2x3::IfcElectricHeaterTypeEnum::From } Ifc2x3::IfcElectricHeaterTypeEnum::operator Ifc2x3::IfcElectricHeaterTypeEnum::Value() const { - return (Ifc2x3::IfcElectricHeaterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcElectricHeaterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcElectricMotorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[292]); } @@ -1629,7 +1629,7 @@ Ifc2x3::IfcElectricMotorTypeEnum::Value Ifc2x3::IfcElectricMotorTypeEnum::FromSt } Ifc2x3::IfcElectricMotorTypeEnum::operator Ifc2x3::IfcElectricMotorTypeEnum::Value() const { - return (Ifc2x3::IfcElectricMotorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcElectricMotorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcElectricTimeControlTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[295]); } @@ -1656,7 +1656,7 @@ Ifc2x3::IfcElectricTimeControlTypeEnum::Value Ifc2x3::IfcElectricTimeControlType } Ifc2x3::IfcElectricTimeControlTypeEnum::operator Ifc2x3::IfcElectricTimeControlTypeEnum::Value() const { - return (Ifc2x3::IfcElectricTimeControlTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcElectricTimeControlTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcElementAssemblyTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[300]); } @@ -1683,7 +1683,7 @@ Ifc2x3::IfcElementAssemblyTypeEnum::Value Ifc2x3::IfcElementAssemblyTypeEnum::Fr } Ifc2x3::IfcElementAssemblyTypeEnum::operator Ifc2x3::IfcElementAssemblyTypeEnum::Value() const { - return (Ifc2x3::IfcElementAssemblyTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcElementAssemblyTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcElementCompositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[303]); } @@ -1710,7 +1710,7 @@ Ifc2x3::IfcElementCompositionEnum::Value Ifc2x3::IfcElementCompositionEnum::From } Ifc2x3::IfcElementCompositionEnum::operator Ifc2x3::IfcElementCompositionEnum::Value() const { - return (Ifc2x3::IfcElementCompositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcElementCompositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcEnergySequenceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[312]); } @@ -1737,7 +1737,7 @@ Ifc2x3::IfcEnergySequenceEnum::Value Ifc2x3::IfcEnergySequenceEnum::FromString(c } Ifc2x3::IfcEnergySequenceEnum::operator Ifc2x3::IfcEnergySequenceEnum::Value() const { - return (Ifc2x3::IfcEnergySequenceEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcEnergySequenceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcEnvironmentalImpactCategoryEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[313]); } @@ -1764,7 +1764,7 @@ Ifc2x3::IfcEnvironmentalImpactCategoryEnum::Value Ifc2x3::IfcEnvironmentalImpact } Ifc2x3::IfcEnvironmentalImpactCategoryEnum::operator Ifc2x3::IfcEnvironmentalImpactCategoryEnum::Value() const { - return (Ifc2x3::IfcEnvironmentalImpactCategoryEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcEnvironmentalImpactCategoryEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcEvaporativeCoolerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[318]); } @@ -1791,7 +1791,7 @@ Ifc2x3::IfcEvaporativeCoolerTypeEnum::Value Ifc2x3::IfcEvaporativeCoolerTypeEnum } Ifc2x3::IfcEvaporativeCoolerTypeEnum::operator Ifc2x3::IfcEvaporativeCoolerTypeEnum::Value() const { - return (Ifc2x3::IfcEvaporativeCoolerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcEvaporativeCoolerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcEvaporatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[320]); } @@ -1818,7 +1818,7 @@ Ifc2x3::IfcEvaporatorTypeEnum::Value Ifc2x3::IfcEvaporatorTypeEnum::FromString(c } Ifc2x3::IfcEvaporatorTypeEnum::operator Ifc2x3::IfcEvaporatorTypeEnum::Value() const { - return (Ifc2x3::IfcEvaporatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcEvaporatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcFanTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[337]); } @@ -1845,7 +1845,7 @@ Ifc2x3::IfcFanTypeEnum::Value Ifc2x3::IfcFanTypeEnum::FromString(const std::stri } Ifc2x3::IfcFanTypeEnum::operator Ifc2x3::IfcFanTypeEnum::Value() const { - return (Ifc2x3::IfcFanTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcFanTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcFilterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[350]); } @@ -1872,7 +1872,7 @@ Ifc2x3::IfcFilterTypeEnum::Value Ifc2x3::IfcFilterTypeEnum::FromString(const std } Ifc2x3::IfcFilterTypeEnum::operator Ifc2x3::IfcFilterTypeEnum::Value() const { - return (Ifc2x3::IfcFilterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcFilterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcFireSuppressionTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[352]); } @@ -1899,7 +1899,7 @@ Ifc2x3::IfcFireSuppressionTerminalTypeEnum::Value Ifc2x3::IfcFireSuppressionTerm } Ifc2x3::IfcFireSuppressionTerminalTypeEnum::operator Ifc2x3::IfcFireSuppressionTerminalTypeEnum::Value() const { - return (Ifc2x3::IfcFireSuppressionTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcFireSuppressionTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcFlowDirectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[355]); } @@ -1926,7 +1926,7 @@ Ifc2x3::IfcFlowDirectionEnum::Value Ifc2x3::IfcFlowDirectionEnum::FromString(con } Ifc2x3::IfcFlowDirectionEnum::operator Ifc2x3::IfcFlowDirectionEnum::Value() const { - return (Ifc2x3::IfcFlowDirectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcFlowDirectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcFlowInstrumentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[359]); } @@ -1953,7 +1953,7 @@ Ifc2x3::IfcFlowInstrumentTypeEnum::Value Ifc2x3::IfcFlowInstrumentTypeEnum::From } Ifc2x3::IfcFlowInstrumentTypeEnum::operator Ifc2x3::IfcFlowInstrumentTypeEnum::Value() const { - return (Ifc2x3::IfcFlowInstrumentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcFlowInstrumentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcFlowMeterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[361]); } @@ -1980,7 +1980,7 @@ Ifc2x3::IfcFlowMeterTypeEnum::Value Ifc2x3::IfcFlowMeterTypeEnum::FromString(con } Ifc2x3::IfcFlowMeterTypeEnum::operator Ifc2x3::IfcFlowMeterTypeEnum::Value() const { - return (Ifc2x3::IfcFlowMeterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcFlowMeterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcFootingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[377]); } @@ -2007,7 +2007,7 @@ Ifc2x3::IfcFootingTypeEnum::Value Ifc2x3::IfcFootingTypeEnum::FromString(const s } Ifc2x3::IfcFootingTypeEnum::operator Ifc2x3::IfcFootingTypeEnum::Value() const { - return (Ifc2x3::IfcFootingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcFootingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcGasTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[386]); } @@ -2034,7 +2034,7 @@ Ifc2x3::IfcGasTerminalTypeEnum::Value Ifc2x3::IfcGasTerminalTypeEnum::FromString } Ifc2x3::IfcGasTerminalTypeEnum::operator Ifc2x3::IfcGasTerminalTypeEnum::Value() const { - return (Ifc2x3::IfcGasTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcGasTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcGeometricProjectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[390]); } @@ -2061,7 +2061,7 @@ Ifc2x3::IfcGeometricProjectionEnum::Value Ifc2x3::IfcGeometricProjectionEnum::Fr } Ifc2x3::IfcGeometricProjectionEnum::operator Ifc2x3::IfcGeometricProjectionEnum::Value() const { - return (Ifc2x3::IfcGeometricProjectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcGeometricProjectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcGlobalOrLocalEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[397]); } @@ -2088,7 +2088,7 @@ Ifc2x3::IfcGlobalOrLocalEnum::Value Ifc2x3::IfcGlobalOrLocalEnum::FromString(con } Ifc2x3::IfcGlobalOrLocalEnum::operator Ifc2x3::IfcGlobalOrLocalEnum::Value() const { - return (Ifc2x3::IfcGlobalOrLocalEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcGlobalOrLocalEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcHeatExchangerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[405]); } @@ -2115,7 +2115,7 @@ Ifc2x3::IfcHeatExchangerTypeEnum::Value Ifc2x3::IfcHeatExchangerTypeEnum::FromSt } Ifc2x3::IfcHeatExchangerTypeEnum::operator Ifc2x3::IfcHeatExchangerTypeEnum::Value() const { - return (Ifc2x3::IfcHeatExchangerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcHeatExchangerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcHumidifierTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[410]); } @@ -2142,7 +2142,7 @@ Ifc2x3::IfcHumidifierTypeEnum::Value Ifc2x3::IfcHumidifierTypeEnum::FromString(c } Ifc2x3::IfcHumidifierTypeEnum::operator Ifc2x3::IfcHumidifierTypeEnum::Value() const { - return (Ifc2x3::IfcHumidifierTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcHumidifierTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcInternalOrExternalEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[418]); } @@ -2169,7 +2169,7 @@ Ifc2x3::IfcInternalOrExternalEnum::Value Ifc2x3::IfcInternalOrExternalEnum::From } Ifc2x3::IfcInternalOrExternalEnum::operator Ifc2x3::IfcInternalOrExternalEnum::Value() const { - return (Ifc2x3::IfcInternalOrExternalEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcInternalOrExternalEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcInventoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[420]); } @@ -2196,7 +2196,7 @@ Ifc2x3::IfcInventoryTypeEnum::Value Ifc2x3::IfcInventoryTypeEnum::FromString(con } Ifc2x3::IfcInventoryTypeEnum::operator Ifc2x3::IfcInventoryTypeEnum::Value() const { - return (Ifc2x3::IfcInventoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcInventoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcJunctionBoxTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[427]); } @@ -2223,7 +2223,7 @@ Ifc2x3::IfcJunctionBoxTypeEnum::Value Ifc2x3::IfcJunctionBoxTypeEnum::FromString } Ifc2x3::IfcJunctionBoxTypeEnum::operator Ifc2x3::IfcJunctionBoxTypeEnum::Value() const { - return (Ifc2x3::IfcJunctionBoxTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcJunctionBoxTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcLampTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[432]); } @@ -2250,7 +2250,7 @@ Ifc2x3::IfcLampTypeEnum::Value Ifc2x3::IfcLampTypeEnum::FromString(const std::st } Ifc2x3::IfcLampTypeEnum::operator Ifc2x3::IfcLampTypeEnum::Value() const { - return (Ifc2x3::IfcLampTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcLampTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcLayerSetDirectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[434]); } @@ -2277,7 +2277,7 @@ Ifc2x3::IfcLayerSetDirectionEnum::Value Ifc2x3::IfcLayerSetDirectionEnum::FromSt } Ifc2x3::IfcLayerSetDirectionEnum::operator Ifc2x3::IfcLayerSetDirectionEnum::Value() const { - return (Ifc2x3::IfcLayerSetDirectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcLayerSetDirectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcLightDistributionCurveEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[439]); } @@ -2304,7 +2304,7 @@ Ifc2x3::IfcLightDistributionCurveEnum::Value Ifc2x3::IfcLightDistributionCurveEn } Ifc2x3::IfcLightDistributionCurveEnum::operator Ifc2x3::IfcLightDistributionCurveEnum::Value() const { - return (Ifc2x3::IfcLightDistributionCurveEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcLightDistributionCurveEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcLightEmissionSourceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[442]); } @@ -2331,7 +2331,7 @@ Ifc2x3::IfcLightEmissionSourceEnum::Value Ifc2x3::IfcLightEmissionSourceEnum::Fr } Ifc2x3::IfcLightEmissionSourceEnum::operator Ifc2x3::IfcLightEmissionSourceEnum::Value() const { - return (Ifc2x3::IfcLightEmissionSourceEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcLightEmissionSourceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcLightFixtureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[444]); } @@ -2358,7 +2358,7 @@ Ifc2x3::IfcLightFixtureTypeEnum::Value Ifc2x3::IfcLightFixtureTypeEnum::FromStri } Ifc2x3::IfcLightFixtureTypeEnum::operator Ifc2x3::IfcLightFixtureTypeEnum::Value() const { - return (Ifc2x3::IfcLightFixtureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcLightFixtureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcLoadGroupTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[458]); } @@ -2385,7 +2385,7 @@ Ifc2x3::IfcLoadGroupTypeEnum::Value Ifc2x3::IfcLoadGroupTypeEnum::FromString(con } Ifc2x3::IfcLoadGroupTypeEnum::operator Ifc2x3::IfcLoadGroupTypeEnum::Value() const { - return (Ifc2x3::IfcLoadGroupTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcLoadGroupTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcLogicalOperatorEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[462]); } @@ -2412,7 +2412,7 @@ Ifc2x3::IfcLogicalOperatorEnum::Value Ifc2x3::IfcLogicalOperatorEnum::FromString } Ifc2x3::IfcLogicalOperatorEnum::operator Ifc2x3::IfcLogicalOperatorEnum::Value() const { - return (Ifc2x3::IfcLogicalOperatorEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcLogicalOperatorEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcMemberTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[494]); } @@ -2439,7 +2439,7 @@ Ifc2x3::IfcMemberTypeEnum::Value Ifc2x3::IfcMemberTypeEnum::FromString(const std } Ifc2x3::IfcMemberTypeEnum::operator Ifc2x3::IfcMemberTypeEnum::Value() const { - return (Ifc2x3::IfcMemberTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcMemberTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcMotorConnectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[509]); } @@ -2466,7 +2466,7 @@ Ifc2x3::IfcMotorConnectionTypeEnum::Value Ifc2x3::IfcMotorConnectionTypeEnum::Fr } Ifc2x3::IfcMotorConnectionTypeEnum::operator Ifc2x3::IfcMotorConnectionTypeEnum::Value() const { - return (Ifc2x3::IfcMotorConnectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcMotorConnectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcNullStyle::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[513]); } @@ -2493,7 +2493,7 @@ Ifc2x3::IfcNullStyle::Value Ifc2x3::IfcNullStyle::FromString(const std::string& } Ifc2x3::IfcNullStyle::operator Ifc2x3::IfcNullStyle::Value() const { - return (Ifc2x3::IfcNullStyle::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcNullStyle::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcObjectTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[521]); } @@ -2520,7 +2520,7 @@ Ifc2x3::IfcObjectTypeEnum::Value Ifc2x3::IfcObjectTypeEnum::FromString(const std } Ifc2x3::IfcObjectTypeEnum::operator Ifc2x3::IfcObjectTypeEnum::Value() const { - return (Ifc2x3::IfcObjectTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcObjectTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcObjectiveEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[518]); } @@ -2547,7 +2547,7 @@ Ifc2x3::IfcObjectiveEnum::Value Ifc2x3::IfcObjectiveEnum::FromString(const std:: } Ifc2x3::IfcObjectiveEnum::operator Ifc2x3::IfcObjectiveEnum::Value() const { - return (Ifc2x3::IfcObjectiveEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcObjectiveEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcOccupantTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[523]); } @@ -2574,7 +2574,7 @@ Ifc2x3::IfcOccupantTypeEnum::Value Ifc2x3::IfcOccupantTypeEnum::FromString(const } Ifc2x3::IfcOccupantTypeEnum::operator Ifc2x3::IfcOccupantTypeEnum::Value() const { - return (Ifc2x3::IfcOccupantTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcOccupantTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcOutletTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[536]); } @@ -2601,7 +2601,7 @@ Ifc2x3::IfcOutletTypeEnum::Value Ifc2x3::IfcOutletTypeEnum::FromString(const std } Ifc2x3::IfcOutletTypeEnum::operator Ifc2x3::IfcOutletTypeEnum::Value() const { - return (Ifc2x3::IfcOutletTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcOutletTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcPermeableCoveringOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[542]); } @@ -2628,7 +2628,7 @@ Ifc2x3::IfcPermeableCoveringOperationEnum::Value Ifc2x3::IfcPermeableCoveringOpe } Ifc2x3::IfcPermeableCoveringOperationEnum::operator Ifc2x3::IfcPermeableCoveringOperationEnum::Value() const { - return (Ifc2x3::IfcPermeableCoveringOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcPermeableCoveringOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcPhysicalOrVirtualEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[549]); } @@ -2655,7 +2655,7 @@ Ifc2x3::IfcPhysicalOrVirtualEnum::Value Ifc2x3::IfcPhysicalOrVirtualEnum::FromSt } Ifc2x3::IfcPhysicalOrVirtualEnum::operator Ifc2x3::IfcPhysicalOrVirtualEnum::Value() const { - return (Ifc2x3::IfcPhysicalOrVirtualEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcPhysicalOrVirtualEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcPileConstructionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[553]); } @@ -2682,7 +2682,7 @@ Ifc2x3::IfcPileConstructionEnum::Value Ifc2x3::IfcPileConstructionEnum::FromStri } Ifc2x3::IfcPileConstructionEnum::operator Ifc2x3::IfcPileConstructionEnum::Value() const { - return (Ifc2x3::IfcPileConstructionEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcPileConstructionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcPileTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[554]); } @@ -2709,7 +2709,7 @@ Ifc2x3::IfcPileTypeEnum::Value Ifc2x3::IfcPileTypeEnum::FromString(const std::st } Ifc2x3::IfcPileTypeEnum::operator Ifc2x3::IfcPileTypeEnum::Value() const { - return (Ifc2x3::IfcPileTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcPileTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcPipeFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[556]); } @@ -2736,7 +2736,7 @@ Ifc2x3::IfcPipeFittingTypeEnum::Value Ifc2x3::IfcPipeFittingTypeEnum::FromString } Ifc2x3::IfcPipeFittingTypeEnum::operator Ifc2x3::IfcPipeFittingTypeEnum::Value() const { - return (Ifc2x3::IfcPipeFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcPipeFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcPipeSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[558]); } @@ -2763,7 +2763,7 @@ Ifc2x3::IfcPipeSegmentTypeEnum::Value Ifc2x3::IfcPipeSegmentTypeEnum::FromString } Ifc2x3::IfcPipeSegmentTypeEnum::operator Ifc2x3::IfcPipeSegmentTypeEnum::Value() const { - return (Ifc2x3::IfcPipeSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcPipeSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcPlateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[568]); } @@ -2790,7 +2790,7 @@ Ifc2x3::IfcPlateTypeEnum::Value Ifc2x3::IfcPlateTypeEnum::FromString(const std:: } Ifc2x3::IfcPlateTypeEnum::operator Ifc2x3::IfcPlateTypeEnum::Value() const { - return (Ifc2x3::IfcPlateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcPlateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcProcedureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[598]); } @@ -2817,7 +2817,7 @@ Ifc2x3::IfcProcedureTypeEnum::Value Ifc2x3::IfcProcedureTypeEnum::FromString(con } Ifc2x3::IfcProcedureTypeEnum::operator Ifc2x3::IfcProcedureTypeEnum::Value() const { - return (Ifc2x3::IfcProcedureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcProcedureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcProfileTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[606]); } @@ -2844,7 +2844,7 @@ Ifc2x3::IfcProfileTypeEnum::Value Ifc2x3::IfcProfileTypeEnum::FromString(const s } Ifc2x3::IfcProfileTypeEnum::operator Ifc2x3::IfcProfileTypeEnum::Value() const { - return (Ifc2x3::IfcProfileTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcProfileTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcProjectOrderRecordTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[613]); } @@ -2871,7 +2871,7 @@ Ifc2x3::IfcProjectOrderRecordTypeEnum::Value Ifc2x3::IfcProjectOrderRecordTypeEn } Ifc2x3::IfcProjectOrderRecordTypeEnum::operator Ifc2x3::IfcProjectOrderRecordTypeEnum::Value() const { - return (Ifc2x3::IfcProjectOrderRecordTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcProjectOrderRecordTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcProjectOrderTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[614]); } @@ -2898,7 +2898,7 @@ Ifc2x3::IfcProjectOrderTypeEnum::Value Ifc2x3::IfcProjectOrderTypeEnum::FromStri } Ifc2x3::IfcProjectOrderTypeEnum::operator Ifc2x3::IfcProjectOrderTypeEnum::Value() const { - return (Ifc2x3::IfcProjectOrderTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcProjectOrderTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcProjectedOrTrueLengthEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[608]); } @@ -2925,7 +2925,7 @@ Ifc2x3::IfcProjectedOrTrueLengthEnum::Value Ifc2x3::IfcProjectedOrTrueLengthEnum } Ifc2x3::IfcProjectedOrTrueLengthEnum::operator Ifc2x3::IfcProjectedOrTrueLengthEnum::Value() const { - return (Ifc2x3::IfcProjectedOrTrueLengthEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcProjectedOrTrueLengthEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcPropertySourceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[627]); } @@ -2952,7 +2952,7 @@ Ifc2x3::IfcPropertySourceEnum::Value Ifc2x3::IfcPropertySourceEnum::FromString(c } Ifc2x3::IfcPropertySourceEnum::operator Ifc2x3::IfcPropertySourceEnum::Value() const { - return (Ifc2x3::IfcPropertySourceEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcPropertySourceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcProtectiveDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[630]); } @@ -2979,7 +2979,7 @@ Ifc2x3::IfcProtectiveDeviceTypeEnum::Value Ifc2x3::IfcProtectiveDeviceTypeEnum:: } Ifc2x3::IfcProtectiveDeviceTypeEnum::operator Ifc2x3::IfcProtectiveDeviceTypeEnum::Value() const { - return (Ifc2x3::IfcProtectiveDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcProtectiveDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcPumpTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[633]); } @@ -3006,7 +3006,7 @@ Ifc2x3::IfcPumpTypeEnum::Value Ifc2x3::IfcPumpTypeEnum::FromString(const std::st } Ifc2x3::IfcPumpTypeEnum::operator Ifc2x3::IfcPumpTypeEnum::Value() const { - return (Ifc2x3::IfcPumpTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcPumpTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcRailingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[644]); } @@ -3033,7 +3033,7 @@ Ifc2x3::IfcRailingTypeEnum::Value Ifc2x3::IfcRailingTypeEnum::FromString(const s } Ifc2x3::IfcRailingTypeEnum::operator Ifc2x3::IfcRailingTypeEnum::Value() const { - return (Ifc2x3::IfcRailingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcRailingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcRampFlightTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[648]); } @@ -3060,7 +3060,7 @@ Ifc2x3::IfcRampFlightTypeEnum::Value Ifc2x3::IfcRampFlightTypeEnum::FromString(c } Ifc2x3::IfcRampFlightTypeEnum::operator Ifc2x3::IfcRampFlightTypeEnum::Value() const { - return (Ifc2x3::IfcRampFlightTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcRampFlightTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcRampTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[649]); } @@ -3087,7 +3087,7 @@ Ifc2x3::IfcRampTypeEnum::Value Ifc2x3::IfcRampTypeEnum::FromString(const std::st } Ifc2x3::IfcRampTypeEnum::operator Ifc2x3::IfcRampTypeEnum::Value() const { - return (Ifc2x3::IfcRampTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcRampTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcReflectanceMethodEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[658]); } @@ -3114,7 +3114,7 @@ Ifc2x3::IfcReflectanceMethodEnum::Value Ifc2x3::IfcReflectanceMethodEnum::FromSt } Ifc2x3::IfcReflectanceMethodEnum::operator Ifc2x3::IfcReflectanceMethodEnum::Value() const { - return (Ifc2x3::IfcReflectanceMethodEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcReflectanceMethodEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcReinforcingBarRoleEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[663]); } @@ -3141,7 +3141,7 @@ Ifc2x3::IfcReinforcingBarRoleEnum::Value Ifc2x3::IfcReinforcingBarRoleEnum::From } Ifc2x3::IfcReinforcingBarRoleEnum::operator Ifc2x3::IfcReinforcingBarRoleEnum::Value() const { - return (Ifc2x3::IfcReinforcingBarRoleEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcReinforcingBarRoleEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcReinforcingBarSurfaceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[664]); } @@ -3168,7 +3168,7 @@ Ifc2x3::IfcReinforcingBarSurfaceEnum::Value Ifc2x3::IfcReinforcingBarSurfaceEnum } Ifc2x3::IfcReinforcingBarSurfaceEnum::operator Ifc2x3::IfcReinforcingBarSurfaceEnum::Value() const { - return (Ifc2x3::IfcReinforcingBarSurfaceEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcReinforcingBarSurfaceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcResourceConsumptionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[723]); } @@ -3195,7 +3195,7 @@ Ifc2x3::IfcResourceConsumptionEnum::Value Ifc2x3::IfcResourceConsumptionEnum::Fr } Ifc2x3::IfcResourceConsumptionEnum::operator Ifc2x3::IfcResourceConsumptionEnum::Value() const { - return (Ifc2x3::IfcResourceConsumptionEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcResourceConsumptionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcRibPlateDirectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[725]); } @@ -3222,7 +3222,7 @@ Ifc2x3::IfcRibPlateDirectionEnum::Value Ifc2x3::IfcRibPlateDirectionEnum::FromSt } Ifc2x3::IfcRibPlateDirectionEnum::operator Ifc2x3::IfcRibPlateDirectionEnum::Value() const { - return (Ifc2x3::IfcRibPlateDirectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcRibPlateDirectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcRoleEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[729]); } @@ -3249,7 +3249,7 @@ Ifc2x3::IfcRoleEnum::Value Ifc2x3::IfcRoleEnum::FromString(const std::string& s) } Ifc2x3::IfcRoleEnum::operator Ifc2x3::IfcRoleEnum::Value() const { - return (Ifc2x3::IfcRoleEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcRoleEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcRoofTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[731]); } @@ -3276,7 +3276,7 @@ Ifc2x3::IfcRoofTypeEnum::Value Ifc2x3::IfcRoofTypeEnum::FromString(const std::st } Ifc2x3::IfcRoofTypeEnum::operator Ifc2x3::IfcRoofTypeEnum::Value() const { - return (Ifc2x3::IfcRoofTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcRoofTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcSIPrefix::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[763]); } @@ -3303,7 +3303,7 @@ Ifc2x3::IfcSIPrefix::Value Ifc2x3::IfcSIPrefix::FromString(const std::string& s) } Ifc2x3::IfcSIPrefix::operator Ifc2x3::IfcSIPrefix::Value() const { - return (Ifc2x3::IfcSIPrefix::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcSIPrefix::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcSIUnitName::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[766]); } @@ -3330,7 +3330,7 @@ Ifc2x3::IfcSIUnitName::Value Ifc2x3::IfcSIUnitName::FromString(const std::string } Ifc2x3::IfcSIUnitName::operator Ifc2x3::IfcSIUnitName::Value() const { - return (Ifc2x3::IfcSIUnitName::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcSIUnitName::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcSanitaryTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[739]); } @@ -3357,7 +3357,7 @@ Ifc2x3::IfcSanitaryTerminalTypeEnum::Value Ifc2x3::IfcSanitaryTerminalTypeEnum:: } Ifc2x3::IfcSanitaryTerminalTypeEnum::operator Ifc2x3::IfcSanitaryTerminalTypeEnum::Value() const { - return (Ifc2x3::IfcSanitaryTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcSanitaryTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcSectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[747]); } @@ -3384,7 +3384,7 @@ Ifc2x3::IfcSectionTypeEnum::Value Ifc2x3::IfcSectionTypeEnum::FromString(const s } Ifc2x3::IfcSectionTypeEnum::operator Ifc2x3::IfcSectionTypeEnum::Value() const { - return (Ifc2x3::IfcSectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcSectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcSensorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[749]); } @@ -3411,7 +3411,7 @@ Ifc2x3::IfcSensorTypeEnum::Value Ifc2x3::IfcSensorTypeEnum::FromString(const std } Ifc2x3::IfcSensorTypeEnum::operator Ifc2x3::IfcSensorTypeEnum::Value() const { - return (Ifc2x3::IfcSensorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcSensorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcSequenceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[750]); } @@ -3438,7 +3438,7 @@ Ifc2x3::IfcSequenceEnum::Value Ifc2x3::IfcSequenceEnum::FromString(const std::st } Ifc2x3::IfcSequenceEnum::operator Ifc2x3::IfcSequenceEnum::Value() const { - return (Ifc2x3::IfcSequenceEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcSequenceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcServiceLifeFactorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[753]); } @@ -3465,7 +3465,7 @@ Ifc2x3::IfcServiceLifeFactorTypeEnum::Value Ifc2x3::IfcServiceLifeFactorTypeEnum } Ifc2x3::IfcServiceLifeFactorTypeEnum::operator Ifc2x3::IfcServiceLifeFactorTypeEnum::Value() const { - return (Ifc2x3::IfcServiceLifeFactorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcServiceLifeFactorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcServiceLifeTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[754]); } @@ -3492,7 +3492,7 @@ Ifc2x3::IfcServiceLifeTypeEnum::Value Ifc2x3::IfcServiceLifeTypeEnum::FromString } Ifc2x3::IfcServiceLifeTypeEnum::operator Ifc2x3::IfcServiceLifeTypeEnum::Value() const { - return (Ifc2x3::IfcServiceLifeTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcServiceLifeTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcSlabTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[770]); } @@ -3519,7 +3519,7 @@ Ifc2x3::IfcSlabTypeEnum::Value Ifc2x3::IfcSlabTypeEnum::FromString(const std::st } Ifc2x3::IfcSlabTypeEnum::operator Ifc2x3::IfcSlabTypeEnum::Value() const { - return (Ifc2x3::IfcSlabTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcSlabTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcSoundScaleEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[777]); } @@ -3546,7 +3546,7 @@ Ifc2x3::IfcSoundScaleEnum::Value Ifc2x3::IfcSoundScaleEnum::FromString(const std } Ifc2x3::IfcSoundScaleEnum::operator Ifc2x3::IfcSoundScaleEnum::Value() const { - return (Ifc2x3::IfcSoundScaleEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcSoundScaleEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcSpaceHeaterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[781]); } @@ -3573,7 +3573,7 @@ Ifc2x3::IfcSpaceHeaterTypeEnum::Value Ifc2x3::IfcSpaceHeaterTypeEnum::FromString } Ifc2x3::IfcSpaceHeaterTypeEnum::operator Ifc2x3::IfcSpaceHeaterTypeEnum::Value() const { - return (Ifc2x3::IfcSpaceHeaterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcSpaceHeaterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcSpaceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[785]); } @@ -3600,7 +3600,7 @@ Ifc2x3::IfcSpaceTypeEnum::Value Ifc2x3::IfcSpaceTypeEnum::FromString(const std:: } Ifc2x3::IfcSpaceTypeEnum::operator Ifc2x3::IfcSpaceTypeEnum::Value() const { - return (Ifc2x3::IfcSpaceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcSpaceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcStackTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[794]); } @@ -3627,7 +3627,7 @@ Ifc2x3::IfcStackTerminalTypeEnum::Value Ifc2x3::IfcStackTerminalTypeEnum::FromSt } Ifc2x3::IfcStackTerminalTypeEnum::operator Ifc2x3::IfcStackTerminalTypeEnum::Value() const { - return (Ifc2x3::IfcStackTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcStackTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcStairFlightTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[798]); } @@ -3654,7 +3654,7 @@ Ifc2x3::IfcStairFlightTypeEnum::Value Ifc2x3::IfcStairFlightTypeEnum::FromString } Ifc2x3::IfcStairFlightTypeEnum::operator Ifc2x3::IfcStairFlightTypeEnum::Value() const { - return (Ifc2x3::IfcStairFlightTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcStairFlightTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcStairTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[799]); } @@ -3681,7 +3681,7 @@ Ifc2x3::IfcStairTypeEnum::Value Ifc2x3::IfcStairTypeEnum::FromString(const std:: } Ifc2x3::IfcStairTypeEnum::operator Ifc2x3::IfcStairTypeEnum::Value() const { - return (Ifc2x3::IfcStairTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcStairTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcStateEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[800]); } @@ -3708,7 +3708,7 @@ Ifc2x3::IfcStateEnum::Value Ifc2x3::IfcStateEnum::FromString(const std::string& } Ifc2x3::IfcStateEnum::operator Ifc2x3::IfcStateEnum::Value() const { - return (Ifc2x3::IfcStateEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcStateEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcStructuralCurveTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[810]); } @@ -3735,7 +3735,7 @@ Ifc2x3::IfcStructuralCurveTypeEnum::Value Ifc2x3::IfcStructuralCurveTypeEnum::Fr } Ifc2x3::IfcStructuralCurveTypeEnum::operator Ifc2x3::IfcStructuralCurveTypeEnum::Value() const { - return (Ifc2x3::IfcStructuralCurveTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcStructuralCurveTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcStructuralSurfaceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[837]); } @@ -3762,7 +3762,7 @@ Ifc2x3::IfcStructuralSurfaceTypeEnum::Value Ifc2x3::IfcStructuralSurfaceTypeEnum } Ifc2x3::IfcStructuralSurfaceTypeEnum::operator Ifc2x3::IfcStructuralSurfaceTypeEnum::Value() const { - return (Ifc2x3::IfcStructuralSurfaceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcStructuralSurfaceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcSurfaceSide::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[849]); } @@ -3789,7 +3789,7 @@ Ifc2x3::IfcSurfaceSide::Value Ifc2x3::IfcSurfaceSide::FromString(const std::stri } Ifc2x3::IfcSurfaceSide::operator Ifc2x3::IfcSurfaceSide::Value() const { - return (Ifc2x3::IfcSurfaceSide::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcSurfaceSide::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcSurfaceTextureEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[858]); } @@ -3816,7 +3816,7 @@ Ifc2x3::IfcSurfaceTextureEnum::Value Ifc2x3::IfcSurfaceTextureEnum::FromString(c } Ifc2x3::IfcSurfaceTextureEnum::operator Ifc2x3::IfcSurfaceTextureEnum::Value() const { - return (Ifc2x3::IfcSurfaceTextureEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcSurfaceTextureEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcSwitchingDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[863]); } @@ -3843,7 +3843,7 @@ Ifc2x3::IfcSwitchingDeviceTypeEnum::Value Ifc2x3::IfcSwitchingDeviceTypeEnum::Fr } Ifc2x3::IfcSwitchingDeviceTypeEnum::operator Ifc2x3::IfcSwitchingDeviceTypeEnum::Value() const { - return (Ifc2x3::IfcSwitchingDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcSwitchingDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcTankTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[871]); } @@ -3870,7 +3870,7 @@ Ifc2x3::IfcTankTypeEnum::Value Ifc2x3::IfcTankTypeEnum::FromString(const std::st } Ifc2x3::IfcTankTypeEnum::operator Ifc2x3::IfcTankTypeEnum::Value() const { - return (Ifc2x3::IfcTankTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcTankTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcTendonTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[877]); } @@ -3897,7 +3897,7 @@ Ifc2x3::IfcTendonTypeEnum::Value Ifc2x3::IfcTendonTypeEnum::FromString(const std } Ifc2x3::IfcTendonTypeEnum::operator Ifc2x3::IfcTendonTypeEnum::Value() const { - return (Ifc2x3::IfcTendonTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcTendonTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcTextPath::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[886]); } @@ -3924,7 +3924,7 @@ Ifc2x3::IfcTextPath::Value Ifc2x3::IfcTextPath::FromString(const std::string& s) } Ifc2x3::IfcTextPath::operator Ifc2x3::IfcTextPath::Value() const { - return (Ifc2x3::IfcTextPath::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcTextPath::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcThermalLoadSourceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[901]); } @@ -3951,7 +3951,7 @@ Ifc2x3::IfcThermalLoadSourceEnum::Value Ifc2x3::IfcThermalLoadSourceEnum::FromSt } Ifc2x3::IfcThermalLoadSourceEnum::operator Ifc2x3::IfcThermalLoadSourceEnum::Value() const { - return (Ifc2x3::IfcThermalLoadSourceEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcThermalLoadSourceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcThermalLoadTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[902]); } @@ -3978,7 +3978,7 @@ Ifc2x3::IfcThermalLoadTypeEnum::Value Ifc2x3::IfcThermalLoadTypeEnum::FromString } Ifc2x3::IfcThermalLoadTypeEnum::operator Ifc2x3::IfcThermalLoadTypeEnum::Value() const { - return (Ifc2x3::IfcThermalLoadTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcThermalLoadTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcTimeSeriesDataTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[909]); } @@ -4005,7 +4005,7 @@ Ifc2x3::IfcTimeSeriesDataTypeEnum::Value Ifc2x3::IfcTimeSeriesDataTypeEnum::From } Ifc2x3::IfcTimeSeriesDataTypeEnum::operator Ifc2x3::IfcTimeSeriesDataTypeEnum::Value() const { - return (Ifc2x3::IfcTimeSeriesDataTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcTimeSeriesDataTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcTimeSeriesScheduleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[912]); } @@ -4032,7 +4032,7 @@ Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Value Ifc2x3::IfcTimeSeriesScheduleTypeEn } Ifc2x3::IfcTimeSeriesScheduleTypeEnum::operator Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Value() const { - return (Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcTransformerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[919]); } @@ -4059,7 +4059,7 @@ Ifc2x3::IfcTransformerTypeEnum::Value Ifc2x3::IfcTransformerTypeEnum::FromString } Ifc2x3::IfcTransformerTypeEnum::operator Ifc2x3::IfcTransformerTypeEnum::Value() const { - return (Ifc2x3::IfcTransformerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcTransformerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcTransitionCode::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[920]); } @@ -4086,7 +4086,7 @@ Ifc2x3::IfcTransitionCode::Value Ifc2x3::IfcTransitionCode::FromString(const std } Ifc2x3::IfcTransitionCode::operator Ifc2x3::IfcTransitionCode::Value() const { - return (Ifc2x3::IfcTransitionCode::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcTransitionCode::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcTransportElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[923]); } @@ -4113,7 +4113,7 @@ Ifc2x3::IfcTransportElementTypeEnum::Value Ifc2x3::IfcTransportElementTypeEnum:: } Ifc2x3::IfcTransportElementTypeEnum::operator Ifc2x3::IfcTransportElementTypeEnum::Value() const { - return (Ifc2x3::IfcTransportElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcTransportElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcTrimmingPreference::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[926]); } @@ -4140,7 +4140,7 @@ Ifc2x3::IfcTrimmingPreference::Value Ifc2x3::IfcTrimmingPreference::FromString(c } Ifc2x3::IfcTrimmingPreference::operator Ifc2x3::IfcTrimmingPreference::Value() const { - return (Ifc2x3::IfcTrimmingPreference::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcTrimmingPreference::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcTubeBundleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[930]); } @@ -4167,7 +4167,7 @@ Ifc2x3::IfcTubeBundleTypeEnum::Value Ifc2x3::IfcTubeBundleTypeEnum::FromString(c } Ifc2x3::IfcTubeBundleTypeEnum::operator Ifc2x3::IfcTubeBundleTypeEnum::Value() const { - return (Ifc2x3::IfcTubeBundleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcTubeBundleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcUnitEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[938]); } @@ -4194,7 +4194,7 @@ Ifc2x3::IfcUnitEnum::Value Ifc2x3::IfcUnitEnum::FromString(const std::string& s) } Ifc2x3::IfcUnitEnum::operator Ifc2x3::IfcUnitEnum::Value() const { - return (Ifc2x3::IfcUnitEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcUnitEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcUnitaryEquipmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[936]); } @@ -4221,7 +4221,7 @@ Ifc2x3::IfcUnitaryEquipmentTypeEnum::Value Ifc2x3::IfcUnitaryEquipmentTypeEnum:: } Ifc2x3::IfcUnitaryEquipmentTypeEnum::operator Ifc2x3::IfcUnitaryEquipmentTypeEnum::Value() const { - return (Ifc2x3::IfcUnitaryEquipmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcUnitaryEquipmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcValveTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[942]); } @@ -4248,7 +4248,7 @@ Ifc2x3::IfcValveTypeEnum::Value Ifc2x3::IfcValveTypeEnum::FromString(const std:: } Ifc2x3::IfcValveTypeEnum::operator Ifc2x3::IfcValveTypeEnum::Value() const { - return (Ifc2x3::IfcValveTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcValveTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcVibrationIsolatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[951]); } @@ -4275,7 +4275,7 @@ Ifc2x3::IfcVibrationIsolatorTypeEnum::Value Ifc2x3::IfcVibrationIsolatorTypeEnum } Ifc2x3::IfcVibrationIsolatorTypeEnum::operator Ifc2x3::IfcVibrationIsolatorTypeEnum::Value() const { - return (Ifc2x3::IfcVibrationIsolatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcVibrationIsolatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcWallTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[959]); } @@ -4302,7 +4302,7 @@ Ifc2x3::IfcWallTypeEnum::Value Ifc2x3::IfcWallTypeEnum::FromString(const std::st } Ifc2x3::IfcWallTypeEnum::operator Ifc2x3::IfcWallTypeEnum::Value() const { - return (Ifc2x3::IfcWallTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcWallTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcWasteTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[963]); } @@ -4329,7 +4329,7 @@ Ifc2x3::IfcWasteTerminalTypeEnum::Value Ifc2x3::IfcWasteTerminalTypeEnum::FromSt } Ifc2x3::IfcWasteTerminalTypeEnum::operator Ifc2x3::IfcWasteTerminalTypeEnum::Value() const { - return (Ifc2x3::IfcWasteTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcWasteTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcWindowPanelOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[967]); } @@ -4356,7 +4356,7 @@ Ifc2x3::IfcWindowPanelOperationEnum::Value Ifc2x3::IfcWindowPanelOperationEnum:: } Ifc2x3::IfcWindowPanelOperationEnum::operator Ifc2x3::IfcWindowPanelOperationEnum::Value() const { - return (Ifc2x3::IfcWindowPanelOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcWindowPanelOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcWindowPanelPositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[968]); } @@ -4383,7 +4383,7 @@ Ifc2x3::IfcWindowPanelPositionEnum::Value Ifc2x3::IfcWindowPanelPositionEnum::Fr } Ifc2x3::IfcWindowPanelPositionEnum::operator Ifc2x3::IfcWindowPanelPositionEnum::Value() const { - return (Ifc2x3::IfcWindowPanelPositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcWindowPanelPositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcWindowStyleConstructionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[971]); } @@ -4410,7 +4410,7 @@ Ifc2x3::IfcWindowStyleConstructionEnum::Value Ifc2x3::IfcWindowStyleConstruction } Ifc2x3::IfcWindowStyleConstructionEnum::operator Ifc2x3::IfcWindowStyleConstructionEnum::Value() const { - return (Ifc2x3::IfcWindowStyleConstructionEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcWindowStyleConstructionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcWindowStyleOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[972]); } @@ -4437,7 +4437,7 @@ Ifc2x3::IfcWindowStyleOperationEnum::Value Ifc2x3::IfcWindowStyleOperationEnum:: } Ifc2x3::IfcWindowStyleOperationEnum::operator Ifc2x3::IfcWindowStyleOperationEnum::Value() const { - return (Ifc2x3::IfcWindowStyleOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcWindowStyleOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc2x3::IfcWorkControlTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC2X3_types[974]); } @@ -4464,7 +4464,7 @@ Ifc2x3::IfcWorkControlTypeEnum::Value Ifc2x3::IfcWorkControlTypeEnum::FromString } Ifc2x3::IfcWorkControlTypeEnum::operator Ifc2x3::IfcWorkControlTypeEnum::Value() const { - return (Ifc2x3::IfcWorkControlTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc2x3::IfcWorkControlTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::select_type& Ifc2x3::IfcActorSelect::Class() { return *((IfcParse::select_type*)IFC2X3_types[8]); } @@ -4565,819 +4565,819 @@ const IfcParse::type_declaration& Ifc2x3::IfcAbsorbedDoseMeasure::Class() { retu const IfcParse::type_declaration& Ifc2x3::IfcAbsorbedDoseMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[1]); } Ifc2x3::IfcAbsorbedDoseMeasure::IfcAbsorbedDoseMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcAbsorbedDoseMeasure::IfcAbsorbedDoseMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcAbsorbedDoseMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcAbsorbedDoseMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAccelerationMeasure const IfcParse::type_declaration& Ifc2x3::IfcAccelerationMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[2]); } const IfcParse::type_declaration& Ifc2x3::IfcAccelerationMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[2]); } Ifc2x3::IfcAccelerationMeasure::IfcAccelerationMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcAccelerationMeasure::IfcAccelerationMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcAccelerationMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcAccelerationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAmountOfSubstanceMeasure const IfcParse::type_declaration& Ifc2x3::IfcAmountOfSubstanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[22]); } const IfcParse::type_declaration& Ifc2x3::IfcAmountOfSubstanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[22]); } Ifc2x3::IfcAmountOfSubstanceMeasure::IfcAmountOfSubstanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcAmountOfSubstanceMeasure::IfcAmountOfSubstanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcAmountOfSubstanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcAmountOfSubstanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAngularVelocityMeasure const IfcParse::type_declaration& Ifc2x3::IfcAngularVelocityMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[26]); } const IfcParse::type_declaration& Ifc2x3::IfcAngularVelocityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[26]); } Ifc2x3::IfcAngularVelocityMeasure::IfcAngularVelocityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcAngularVelocityMeasure::IfcAngularVelocityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcAngularVelocityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcAngularVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAreaMeasure const IfcParse::type_declaration& Ifc2x3::IfcAreaMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[47]); } const IfcParse::type_declaration& Ifc2x3::IfcAreaMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[47]); } Ifc2x3::IfcAreaMeasure::IfcAreaMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcAreaMeasure::IfcAreaMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcAreaMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcAreaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcBoolean const IfcParse::type_declaration& Ifc2x3::IfcBoolean::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[65]); } const IfcParse::type_declaration& Ifc2x3::IfcBoolean::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[65]); } Ifc2x3::IfcBoolean::IfcBoolean(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcBoolean::IfcBoolean(bool v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcBoolean::operator bool() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcBoolean::operator bool() const { return get_attribute_value(0); } // Function implementations for IfcBoxAlignment const IfcParse::type_declaration& Ifc2x3::IfcBoxAlignment::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[78]); } const IfcParse::type_declaration& Ifc2x3::IfcBoxAlignment::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[78]); } Ifc2x3::IfcBoxAlignment::IfcBoxAlignment(IfcEntityInstanceData&& e) : IfcLabel(std::move(e)) { } Ifc2x3::IfcBoxAlignment::IfcBoxAlignment(std::string v) : IfcLabel(v) { } -Ifc2x3::IfcBoxAlignment::operator std::string() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcBoxAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcComplexNumber const IfcParse::type_declaration& Ifc2x3::IfcComplexNumber::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[130]); } const IfcParse::type_declaration& Ifc2x3::IfcComplexNumber::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[130]); } Ifc2x3::IfcComplexNumber::IfcComplexNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcComplexNumber::IfcComplexNumber(std::vector< double > /*[1:2]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return get_attribute_value(0); } // Function implementations for IfcCompoundPlaneAngleMeasure const IfcParse::type_declaration& Ifc2x3::IfcCompoundPlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[135]); } const IfcParse::type_declaration& Ifc2x3::IfcCompoundPlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[135]); } Ifc2x3::IfcCompoundPlaneAngleMeasure::IfcCompoundPlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcCompoundPlaneAngleMeasure::IfcCompoundPlaneAngleMeasure(std::vector< int > /*[3:4]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return get_attribute_value(0); } // Function implementations for IfcContextDependentMeasure const IfcParse::type_declaration& Ifc2x3::IfcContextDependentMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[161]); } const IfcParse::type_declaration& Ifc2x3::IfcContextDependentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[161]); } Ifc2x3::IfcContextDependentMeasure::IfcContextDependentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcContextDependentMeasure::IfcContextDependentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcContextDependentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcContextDependentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCountMeasure const IfcParse::type_declaration& Ifc2x3::IfcCountMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[176]); } const IfcParse::type_declaration& Ifc2x3::IfcCountMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[176]); } Ifc2x3::IfcCountMeasure::IfcCountMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcCountMeasure::IfcCountMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcCountMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcCountMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCurvatureMeasure const IfcParse::type_declaration& Ifc2x3::IfcCurvatureMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[192]); } const IfcParse::type_declaration& Ifc2x3::IfcCurvatureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[192]); } Ifc2x3::IfcCurvatureMeasure::IfcCurvatureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcCurvatureMeasure::IfcCurvatureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcCurvatureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcCurvatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDayInMonthNumber const IfcParse::type_declaration& Ifc2x3::IfcDayInMonthNumber::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[207]); } const IfcParse::type_declaration& Ifc2x3::IfcDayInMonthNumber::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[207]); } Ifc2x3::IfcDayInMonthNumber::IfcDayInMonthNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcDayInMonthNumber::IfcDayInMonthNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcDayInMonthNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcDayInMonthNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDaylightSavingHour const IfcParse::type_declaration& Ifc2x3::IfcDaylightSavingHour::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[208]); } const IfcParse::type_declaration& Ifc2x3::IfcDaylightSavingHour::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[208]); } Ifc2x3::IfcDaylightSavingHour::IfcDaylightSavingHour(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcDaylightSavingHour::IfcDaylightSavingHour(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcDaylightSavingHour::operator int() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcDaylightSavingHour::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDescriptiveMeasure const IfcParse::type_declaration& Ifc2x3::IfcDescriptiveMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[216]); } const IfcParse::type_declaration& Ifc2x3::IfcDescriptiveMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[216]); } Ifc2x3::IfcDescriptiveMeasure::IfcDescriptiveMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcDescriptiveMeasure::IfcDescriptiveMeasure(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcDescriptiveMeasure::operator std::string() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcDescriptiveMeasure::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDimensionCount const IfcParse::type_declaration& Ifc2x3::IfcDimensionCount::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[220]); } const IfcParse::type_declaration& Ifc2x3::IfcDimensionCount::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[220]); } Ifc2x3::IfcDimensionCount::IfcDimensionCount(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcDimensionCount::IfcDimensionCount(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcDimensionCount::operator int() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcDimensionCount::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDoseEquivalentMeasure const IfcParse::type_declaration& Ifc2x3::IfcDoseEquivalentMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[255]); } const IfcParse::type_declaration& Ifc2x3::IfcDoseEquivalentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[255]); } Ifc2x3::IfcDoseEquivalentMeasure::IfcDoseEquivalentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcDoseEquivalentMeasure::IfcDoseEquivalentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcDoseEquivalentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcDoseEquivalentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDynamicViscosityMeasure const IfcParse::type_declaration& Ifc2x3::IfcDynamicViscosityMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[268]); } const IfcParse::type_declaration& Ifc2x3::IfcDynamicViscosityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[268]); } Ifc2x3::IfcDynamicViscosityMeasure::IfcDynamicViscosityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcDynamicViscosityMeasure::IfcDynamicViscosityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcDynamicViscosityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcDynamicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCapacitanceMeasure const IfcParse::type_declaration& Ifc2x3::IfcElectricCapacitanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[278]); } const IfcParse::type_declaration& Ifc2x3::IfcElectricCapacitanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[278]); } Ifc2x3::IfcElectricCapacitanceMeasure::IfcElectricCapacitanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcElectricCapacitanceMeasure::IfcElectricCapacitanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcElectricCapacitanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcElectricCapacitanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricChargeMeasure const IfcParse::type_declaration& Ifc2x3::IfcElectricChargeMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[279]); } const IfcParse::type_declaration& Ifc2x3::IfcElectricChargeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[279]); } Ifc2x3::IfcElectricChargeMeasure::IfcElectricChargeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcElectricChargeMeasure::IfcElectricChargeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcElectricChargeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcElectricChargeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricConductanceMeasure const IfcParse::type_declaration& Ifc2x3::IfcElectricConductanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[280]); } const IfcParse::type_declaration& Ifc2x3::IfcElectricConductanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[280]); } Ifc2x3::IfcElectricConductanceMeasure::IfcElectricConductanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcElectricConductanceMeasure::IfcElectricConductanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcElectricConductanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcElectricConductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCurrentMeasure const IfcParse::type_declaration& Ifc2x3::IfcElectricCurrentMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[282]); } const IfcParse::type_declaration& Ifc2x3::IfcElectricCurrentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[282]); } Ifc2x3::IfcElectricCurrentMeasure::IfcElectricCurrentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcElectricCurrentMeasure::IfcElectricCurrentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcElectricCurrentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcElectricCurrentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricResistanceMeasure const IfcParse::type_declaration& Ifc2x3::IfcElectricResistanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[293]); } const IfcParse::type_declaration& Ifc2x3::IfcElectricResistanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[293]); } Ifc2x3::IfcElectricResistanceMeasure::IfcElectricResistanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcElectricResistanceMeasure::IfcElectricResistanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcElectricResistanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcElectricResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricVoltageMeasure const IfcParse::type_declaration& Ifc2x3::IfcElectricVoltageMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[296]); } const IfcParse::type_declaration& Ifc2x3::IfcElectricVoltageMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[296]); } Ifc2x3::IfcElectricVoltageMeasure::IfcElectricVoltageMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcElectricVoltageMeasure::IfcElectricVoltageMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcElectricVoltageMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcElectricVoltageMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcEnergyMeasure const IfcParse::type_declaration& Ifc2x3::IfcEnergyMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[310]); } const IfcParse::type_declaration& Ifc2x3::IfcEnergyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[310]); } Ifc2x3::IfcEnergyMeasure::IfcEnergyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcEnergyMeasure::IfcEnergyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcEnergyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcEnergyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFontStyle const IfcParse::type_declaration& Ifc2x3::IfcFontStyle::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[373]); } const IfcParse::type_declaration& Ifc2x3::IfcFontStyle::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[373]); } Ifc2x3::IfcFontStyle::IfcFontStyle(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcFontStyle::IfcFontStyle(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcFontStyle::operator std::string() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcFontStyle::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontVariant const IfcParse::type_declaration& Ifc2x3::IfcFontVariant::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[374]); } const IfcParse::type_declaration& Ifc2x3::IfcFontVariant::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[374]); } Ifc2x3::IfcFontVariant::IfcFontVariant(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcFontVariant::IfcFontVariant(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcFontVariant::operator std::string() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcFontVariant::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontWeight const IfcParse::type_declaration& Ifc2x3::IfcFontWeight::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[375]); } const IfcParse::type_declaration& Ifc2x3::IfcFontWeight::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[375]); } Ifc2x3::IfcFontWeight::IfcFontWeight(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcFontWeight::IfcFontWeight(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcFontWeight::operator std::string() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcFontWeight::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcForceMeasure const IfcParse::type_declaration& Ifc2x3::IfcForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[378]); } const IfcParse::type_declaration& Ifc2x3::IfcForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[378]); } Ifc2x3::IfcForceMeasure::IfcForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcForceMeasure::IfcForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFrequencyMeasure const IfcParse::type_declaration& Ifc2x3::IfcFrequencyMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[379]); } const IfcParse::type_declaration& Ifc2x3::IfcFrequencyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[379]); } Ifc2x3::IfcFrequencyMeasure::IfcFrequencyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcFrequencyMeasure::IfcFrequencyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcFrequencyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcGloballyUniqueId const IfcParse::type_declaration& Ifc2x3::IfcGloballyUniqueId::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[396]); } const IfcParse::type_declaration& Ifc2x3::IfcGloballyUniqueId::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[396]); } Ifc2x3::IfcGloballyUniqueId::IfcGloballyUniqueId(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcGloballyUniqueId::IfcGloballyUniqueId(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcGloballyUniqueId::operator std::string() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcGloballyUniqueId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcHeatFluxDensityMeasure const IfcParse::type_declaration& Ifc2x3::IfcHeatFluxDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[406]); } const IfcParse::type_declaration& Ifc2x3::IfcHeatFluxDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[406]); } Ifc2x3::IfcHeatFluxDensityMeasure::IfcHeatFluxDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcHeatFluxDensityMeasure::IfcHeatFluxDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcHeatFluxDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcHeatFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcHeatingValueMeasure const IfcParse::type_declaration& Ifc2x3::IfcHeatingValueMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[407]); } const IfcParse::type_declaration& Ifc2x3::IfcHeatingValueMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[407]); } Ifc2x3::IfcHeatingValueMeasure::IfcHeatingValueMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcHeatingValueMeasure::IfcHeatingValueMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcHeatingValueMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcHeatingValueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcHourInDay const IfcParse::type_declaration& Ifc2x3::IfcHourInDay::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[408]); } const IfcParse::type_declaration& Ifc2x3::IfcHourInDay::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[408]); } Ifc2x3::IfcHourInDay::IfcHourInDay(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcHourInDay::IfcHourInDay(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcHourInDay::operator int() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcHourInDay::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIdentifier const IfcParse::type_declaration& Ifc2x3::IfcIdentifier::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[412]); } const IfcParse::type_declaration& Ifc2x3::IfcIdentifier::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[412]); } Ifc2x3::IfcIdentifier::IfcIdentifier(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcIdentifier::IfcIdentifier(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcIdentifier::operator std::string() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcIdentifier::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcIlluminanceMeasure const IfcParse::type_declaration& Ifc2x3::IfcIlluminanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[413]); } const IfcParse::type_declaration& Ifc2x3::IfcIlluminanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[413]); } Ifc2x3::IfcIlluminanceMeasure::IfcIlluminanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcIlluminanceMeasure::IfcIlluminanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcIlluminanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcIlluminanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInductanceMeasure const IfcParse::type_declaration& Ifc2x3::IfcInductanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[415]); } const IfcParse::type_declaration& Ifc2x3::IfcInductanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[415]); } Ifc2x3::IfcInductanceMeasure::IfcInductanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcInductanceMeasure::IfcInductanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcInductanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcInductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInteger const IfcParse::type_declaration& Ifc2x3::IfcInteger::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[416]); } const IfcParse::type_declaration& Ifc2x3::IfcInteger::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[416]); } Ifc2x3::IfcInteger::IfcInteger(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcInteger::IfcInteger(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcInteger::operator int() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIntegerCountRateMeasure const IfcParse::type_declaration& Ifc2x3::IfcIntegerCountRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[417]); } const IfcParse::type_declaration& Ifc2x3::IfcIntegerCountRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[417]); } Ifc2x3::IfcIntegerCountRateMeasure::IfcIntegerCountRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcIntegerCountRateMeasure::IfcIntegerCountRateMeasure(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcIntegerCountRateMeasure::operator int() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcIntegerCountRateMeasure::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIonConcentrationMeasure const IfcParse::type_declaration& Ifc2x3::IfcIonConcentrationMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[421]); } const IfcParse::type_declaration& Ifc2x3::IfcIonConcentrationMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[421]); } Ifc2x3::IfcIonConcentrationMeasure::IfcIonConcentrationMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcIonConcentrationMeasure::IfcIonConcentrationMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcIonConcentrationMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcIonConcentrationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIsothermalMoistureCapacityMeasure const IfcParse::type_declaration& Ifc2x3::IfcIsothermalMoistureCapacityMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[425]); } const IfcParse::type_declaration& Ifc2x3::IfcIsothermalMoistureCapacityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[425]); } Ifc2x3::IfcIsothermalMoistureCapacityMeasure::IfcIsothermalMoistureCapacityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcIsothermalMoistureCapacityMeasure::IfcIsothermalMoistureCapacityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcIsothermalMoistureCapacityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcIsothermalMoistureCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcKinematicViscosityMeasure const IfcParse::type_declaration& Ifc2x3::IfcKinematicViscosityMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[428]); } const IfcParse::type_declaration& Ifc2x3::IfcKinematicViscosityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[428]); } Ifc2x3::IfcKinematicViscosityMeasure::IfcKinematicViscosityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcKinematicViscosityMeasure::IfcKinematicViscosityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcKinematicViscosityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcKinematicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLabel const IfcParse::type_declaration& Ifc2x3::IfcLabel::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[429]); } const IfcParse::type_declaration& Ifc2x3::IfcLabel::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[429]); } Ifc2x3::IfcLabel::IfcLabel(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcLabel::IfcLabel(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcLabel::operator std::string() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcLabel::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLengthMeasure const IfcParse::type_declaration& Ifc2x3::IfcLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[435]); } const IfcParse::type_declaration& Ifc2x3::IfcLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[435]); } Ifc2x3::IfcLengthMeasure::IfcLengthMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcLengthMeasure::IfcLengthMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearForceMeasure const IfcParse::type_declaration& Ifc2x3::IfcLinearForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[454]); } const IfcParse::type_declaration& Ifc2x3::IfcLinearForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[454]); } Ifc2x3::IfcLinearForceMeasure::IfcLinearForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcLinearForceMeasure::IfcLinearForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcLinearForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcLinearForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearMomentMeasure const IfcParse::type_declaration& Ifc2x3::IfcLinearMomentMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[455]); } const IfcParse::type_declaration& Ifc2x3::IfcLinearMomentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[455]); } Ifc2x3::IfcLinearMomentMeasure::IfcLinearMomentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcLinearMomentMeasure::IfcLinearMomentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcLinearMomentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcLinearMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearStiffnessMeasure const IfcParse::type_declaration& Ifc2x3::IfcLinearStiffnessMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[456]); } const IfcParse::type_declaration& Ifc2x3::IfcLinearStiffnessMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[456]); } Ifc2x3::IfcLinearStiffnessMeasure::IfcLinearStiffnessMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcLinearStiffnessMeasure::IfcLinearStiffnessMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcLinearStiffnessMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcLinearStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearVelocityMeasure const IfcParse::type_declaration& Ifc2x3::IfcLinearVelocityMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[457]); } const IfcParse::type_declaration& Ifc2x3::IfcLinearVelocityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[457]); } Ifc2x3::IfcLinearVelocityMeasure::IfcLinearVelocityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcLinearVelocityMeasure::IfcLinearVelocityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcLinearVelocityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcLinearVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLogical const IfcParse::type_declaration& Ifc2x3::IfcLogical::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[461]); } const IfcParse::type_declaration& Ifc2x3::IfcLogical::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[461]); } Ifc2x3::IfcLogical::IfcLogical(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcLogical::IfcLogical(boost::logic::tribool v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcLogical::operator boost::logic::tribool() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcLogical::operator boost::logic::tribool() const { return get_attribute_value(0); } // Function implementations for IfcLuminousFluxMeasure const IfcParse::type_declaration& Ifc2x3::IfcLuminousFluxMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[465]); } const IfcParse::type_declaration& Ifc2x3::IfcLuminousFluxMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[465]); } Ifc2x3::IfcLuminousFluxMeasure::IfcLuminousFluxMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcLuminousFluxMeasure::IfcLuminousFluxMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcLuminousFluxMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcLuminousFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityDistributionMeasure const IfcParse::type_declaration& Ifc2x3::IfcLuminousIntensityDistributionMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[466]); } const IfcParse::type_declaration& Ifc2x3::IfcLuminousIntensityDistributionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[466]); } Ifc2x3::IfcLuminousIntensityDistributionMeasure::IfcLuminousIntensityDistributionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcLuminousIntensityDistributionMeasure::IfcLuminousIntensityDistributionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcLuminousIntensityDistributionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcLuminousIntensityDistributionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityMeasure const IfcParse::type_declaration& Ifc2x3::IfcLuminousIntensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[467]); } const IfcParse::type_declaration& Ifc2x3::IfcLuminousIntensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[467]); } Ifc2x3::IfcLuminousIntensityMeasure::IfcLuminousIntensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcLuminousIntensityMeasure::IfcLuminousIntensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcLuminousIntensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcLuminousIntensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxDensityMeasure const IfcParse::type_declaration& Ifc2x3::IfcMagneticFluxDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[468]); } const IfcParse::type_declaration& Ifc2x3::IfcMagneticFluxDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[468]); } Ifc2x3::IfcMagneticFluxDensityMeasure::IfcMagneticFluxDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcMagneticFluxDensityMeasure::IfcMagneticFluxDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcMagneticFluxDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcMagneticFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxMeasure const IfcParse::type_declaration& Ifc2x3::IfcMagneticFluxMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[469]); } const IfcParse::type_declaration& Ifc2x3::IfcMagneticFluxMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[469]); } Ifc2x3::IfcMagneticFluxMeasure::IfcMagneticFluxMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcMagneticFluxMeasure::IfcMagneticFluxMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcMagneticFluxMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcMagneticFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassDensityMeasure const IfcParse::type_declaration& Ifc2x3::IfcMassDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[472]); } const IfcParse::type_declaration& Ifc2x3::IfcMassDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[472]); } Ifc2x3::IfcMassDensityMeasure::IfcMassDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcMassDensityMeasure::IfcMassDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcMassDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcMassDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassFlowRateMeasure const IfcParse::type_declaration& Ifc2x3::IfcMassFlowRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[473]); } const IfcParse::type_declaration& Ifc2x3::IfcMassFlowRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[473]); } Ifc2x3::IfcMassFlowRateMeasure::IfcMassFlowRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcMassFlowRateMeasure::IfcMassFlowRateMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcMassFlowRateMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcMassFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassMeasure const IfcParse::type_declaration& Ifc2x3::IfcMassMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[474]); } const IfcParse::type_declaration& Ifc2x3::IfcMassMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[474]); } Ifc2x3::IfcMassMeasure::IfcMassMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcMassMeasure::IfcMassMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcMassMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassPerLengthMeasure const IfcParse::type_declaration& Ifc2x3::IfcMassPerLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[475]); } const IfcParse::type_declaration& Ifc2x3::IfcMassPerLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[475]); } Ifc2x3::IfcMassPerLengthMeasure::IfcMassPerLengthMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcMassPerLengthMeasure::IfcMassPerLengthMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcMassPerLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcMassPerLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMinuteInHour const IfcParse::type_declaration& Ifc2x3::IfcMinuteInHour::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[497]); } const IfcParse::type_declaration& Ifc2x3::IfcMinuteInHour::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[497]); } Ifc2x3::IfcMinuteInHour::IfcMinuteInHour(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcMinuteInHour::IfcMinuteInHour(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcMinuteInHour::operator int() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcMinuteInHour::operator int() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfElasticityMeasure const IfcParse::type_declaration& Ifc2x3::IfcModulusOfElasticityMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[498]); } const IfcParse::type_declaration& Ifc2x3::IfcModulusOfElasticityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[498]); } Ifc2x3::IfcModulusOfElasticityMeasure::IfcModulusOfElasticityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcModulusOfElasticityMeasure::IfcModulusOfElasticityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcModulusOfElasticityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcModulusOfElasticityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfLinearSubgradeReactionMeasure const IfcParse::type_declaration& Ifc2x3::IfcModulusOfLinearSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[499]); } const IfcParse::type_declaration& Ifc2x3::IfcModulusOfLinearSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[499]); } Ifc2x3::IfcModulusOfLinearSubgradeReactionMeasure::IfcModulusOfLinearSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcModulusOfLinearSubgradeReactionMeasure::IfcModulusOfLinearSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfRotationalSubgradeReactionMeasure const IfcParse::type_declaration& Ifc2x3::IfcModulusOfRotationalSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[500]); } const IfcParse::type_declaration& Ifc2x3::IfcModulusOfRotationalSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[500]); } Ifc2x3::IfcModulusOfRotationalSubgradeReactionMeasure::IfcModulusOfRotationalSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcModulusOfRotationalSubgradeReactionMeasure::IfcModulusOfRotationalSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfSubgradeReactionMeasure const IfcParse::type_declaration& Ifc2x3::IfcModulusOfSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[501]); } const IfcParse::type_declaration& Ifc2x3::IfcModulusOfSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[501]); } Ifc2x3::IfcModulusOfSubgradeReactionMeasure::IfcModulusOfSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcModulusOfSubgradeReactionMeasure::IfcModulusOfSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcModulusOfSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcModulusOfSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMoistureDiffusivityMeasure const IfcParse::type_declaration& Ifc2x3::IfcMoistureDiffusivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[502]); } const IfcParse::type_declaration& Ifc2x3::IfcMoistureDiffusivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[502]); } Ifc2x3::IfcMoistureDiffusivityMeasure::IfcMoistureDiffusivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcMoistureDiffusivityMeasure::IfcMoistureDiffusivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcMoistureDiffusivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcMoistureDiffusivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMolecularWeightMeasure const IfcParse::type_declaration& Ifc2x3::IfcMolecularWeightMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[503]); } const IfcParse::type_declaration& Ifc2x3::IfcMolecularWeightMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[503]); } Ifc2x3::IfcMolecularWeightMeasure::IfcMolecularWeightMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcMolecularWeightMeasure::IfcMolecularWeightMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcMolecularWeightMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcMolecularWeightMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMomentOfInertiaMeasure const IfcParse::type_declaration& Ifc2x3::IfcMomentOfInertiaMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[504]); } const IfcParse::type_declaration& Ifc2x3::IfcMomentOfInertiaMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[504]); } Ifc2x3::IfcMomentOfInertiaMeasure::IfcMomentOfInertiaMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcMomentOfInertiaMeasure::IfcMomentOfInertiaMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcMomentOfInertiaMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcMomentOfInertiaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonetaryMeasure const IfcParse::type_declaration& Ifc2x3::IfcMonetaryMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[505]); } const IfcParse::type_declaration& Ifc2x3::IfcMonetaryMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[505]); } Ifc2x3::IfcMonetaryMeasure::IfcMonetaryMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcMonetaryMeasure::IfcMonetaryMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcMonetaryMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcMonetaryMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonthInYearNumber const IfcParse::type_declaration& Ifc2x3::IfcMonthInYearNumber::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[507]); } const IfcParse::type_declaration& Ifc2x3::IfcMonthInYearNumber::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[507]); } Ifc2x3::IfcMonthInYearNumber::IfcMonthInYearNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcMonthInYearNumber::IfcMonthInYearNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcMonthInYearNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcMonthInYearNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcNormalisedRatioMeasure const IfcParse::type_declaration& Ifc2x3::IfcNormalisedRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[512]); } const IfcParse::type_declaration& Ifc2x3::IfcNormalisedRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[512]); } Ifc2x3::IfcNormalisedRatioMeasure::IfcNormalisedRatioMeasure(IfcEntityInstanceData&& e) : IfcRatioMeasure(std::move(e)) { } Ifc2x3::IfcNormalisedRatioMeasure::IfcNormalisedRatioMeasure(double v) : IfcRatioMeasure(v) { } -Ifc2x3::IfcNormalisedRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcNormalisedRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNumericMeasure const IfcParse::type_declaration& Ifc2x3::IfcNumericMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[514]); } const IfcParse::type_declaration& Ifc2x3::IfcNumericMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[514]); } Ifc2x3::IfcNumericMeasure::IfcNumericMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcNumericMeasure::IfcNumericMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcNumericMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcNumericMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPHMeasure const IfcParse::type_declaration& Ifc2x3::IfcPHMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[547]); } const IfcParse::type_declaration& Ifc2x3::IfcPHMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[547]); } Ifc2x3::IfcPHMeasure::IfcPHMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcPHMeasure::IfcPHMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcPHMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcPHMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcParameterValue const IfcParse::type_declaration& Ifc2x3::IfcParameterValue::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[539]); } const IfcParse::type_declaration& Ifc2x3::IfcParameterValue::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[539]); } Ifc2x3::IfcParameterValue::IfcParameterValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcParameterValue::IfcParameterValue(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcParameterValue::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcParameterValue::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlanarForceMeasure const IfcParse::type_declaration& Ifc2x3::IfcPlanarForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[563]); } const IfcParse::type_declaration& Ifc2x3::IfcPlanarForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[563]); } Ifc2x3::IfcPlanarForceMeasure::IfcPlanarForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcPlanarForceMeasure::IfcPlanarForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcPlanarForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcPlanarForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlaneAngleMeasure const IfcParse::type_declaration& Ifc2x3::IfcPlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[565]); } const IfcParse::type_declaration& Ifc2x3::IfcPlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[565]); } Ifc2x3::IfcPlaneAngleMeasure::IfcPlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcPlaneAngleMeasure::IfcPlaneAngleMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcPlaneAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcPlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveLengthMeasure const IfcParse::type_declaration& Ifc2x3::IfcPositiveLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[577]); } const IfcParse::type_declaration& Ifc2x3::IfcPositiveLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[577]); } Ifc2x3::IfcPositiveLengthMeasure::IfcPositiveLengthMeasure(IfcEntityInstanceData&& e) : IfcLengthMeasure(std::move(e)) { } Ifc2x3::IfcPositiveLengthMeasure::IfcPositiveLengthMeasure(double v) : IfcLengthMeasure(v) { } -Ifc2x3::IfcPositiveLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcPositiveLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositivePlaneAngleMeasure const IfcParse::type_declaration& Ifc2x3::IfcPositivePlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[578]); } const IfcParse::type_declaration& Ifc2x3::IfcPositivePlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[578]); } Ifc2x3::IfcPositivePlaneAngleMeasure::IfcPositivePlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcPlaneAngleMeasure(std::move(e)) { } Ifc2x3::IfcPositivePlaneAngleMeasure::IfcPositivePlaneAngleMeasure(double v) : IfcPlaneAngleMeasure(v) { } -Ifc2x3::IfcPositivePlaneAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcPositivePlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveRatioMeasure const IfcParse::type_declaration& Ifc2x3::IfcPositiveRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[579]); } const IfcParse::type_declaration& Ifc2x3::IfcPositiveRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[579]); } Ifc2x3::IfcPositiveRatioMeasure::IfcPositiveRatioMeasure(IfcEntityInstanceData&& e) : IfcRatioMeasure(std::move(e)) { } Ifc2x3::IfcPositiveRatioMeasure::IfcPositiveRatioMeasure(double v) : IfcRatioMeasure(v) { } -Ifc2x3::IfcPositiveRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcPositiveRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPowerMeasure const IfcParse::type_declaration& Ifc2x3::IfcPowerMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[581]); } const IfcParse::type_declaration& Ifc2x3::IfcPowerMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[581]); } Ifc2x3::IfcPowerMeasure::IfcPowerMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcPowerMeasure::IfcPowerMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcPowerMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPresentableText const IfcParse::type_declaration& Ifc2x3::IfcPresentableText::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[590]); } const IfcParse::type_declaration& Ifc2x3::IfcPresentableText::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[590]); } Ifc2x3::IfcPresentableText::IfcPresentableText(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcPresentableText::IfcPresentableText(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcPresentableText::operator std::string() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcPresentableText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcPressureMeasure const IfcParse::type_declaration& Ifc2x3::IfcPressureMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[596]); } const IfcParse::type_declaration& Ifc2x3::IfcPressureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[596]); } Ifc2x3::IfcPressureMeasure::IfcPressureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcPressureMeasure::IfcPressureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcPressureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRadioActivityMeasure const IfcParse::type_declaration& Ifc2x3::IfcRadioActivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[640]); } const IfcParse::type_declaration& Ifc2x3::IfcRadioActivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[640]); } Ifc2x3::IfcRadioActivityMeasure::IfcRadioActivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcRadioActivityMeasure::IfcRadioActivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcRadioActivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcRadioActivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRatioMeasure const IfcParse::type_declaration& Ifc2x3::IfcRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[650]); } const IfcParse::type_declaration& Ifc2x3::IfcRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[650]); } Ifc2x3::IfcRatioMeasure::IfcRatioMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcRatioMeasure::IfcRatioMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcReal const IfcParse::type_declaration& Ifc2x3::IfcReal::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[652]); } const IfcParse::type_declaration& Ifc2x3::IfcReal::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[652]); } Ifc2x3::IfcReal::IfcReal(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcReal::IfcReal(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcReal::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcReal::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalFrequencyMeasure const IfcParse::type_declaration& Ifc2x3::IfcRotationalFrequencyMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[733]); } const IfcParse::type_declaration& Ifc2x3::IfcRotationalFrequencyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[733]); } Ifc2x3::IfcRotationalFrequencyMeasure::IfcRotationalFrequencyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcRotationalFrequencyMeasure::IfcRotationalFrequencyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcRotationalFrequencyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcRotationalFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalMassMeasure const IfcParse::type_declaration& Ifc2x3::IfcRotationalMassMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[734]); } const IfcParse::type_declaration& Ifc2x3::IfcRotationalMassMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[734]); } Ifc2x3::IfcRotationalMassMeasure::IfcRotationalMassMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcRotationalMassMeasure::IfcRotationalMassMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcRotationalMassMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcRotationalMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalStiffnessMeasure const IfcParse::type_declaration& Ifc2x3::IfcRotationalStiffnessMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[735]); } const IfcParse::type_declaration& Ifc2x3::IfcRotationalStiffnessMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[735]); } Ifc2x3::IfcRotationalStiffnessMeasure::IfcRotationalStiffnessMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcRotationalStiffnessMeasure::IfcRotationalStiffnessMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcRotationalStiffnessMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcRotationalStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSecondInMinute const IfcParse::type_declaration& Ifc2x3::IfcSecondInMinute::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[741]); } const IfcParse::type_declaration& Ifc2x3::IfcSecondInMinute::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[741]); } Ifc2x3::IfcSecondInMinute::IfcSecondInMinute(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcSecondInMinute::IfcSecondInMinute(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcSecondInMinute::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcSecondInMinute::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionModulusMeasure const IfcParse::type_declaration& Ifc2x3::IfcSectionModulusMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[744]); } const IfcParse::type_declaration& Ifc2x3::IfcSectionModulusMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[744]); } Ifc2x3::IfcSectionModulusMeasure::IfcSectionModulusMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcSectionModulusMeasure::IfcSectionModulusMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcSectionModulusMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcSectionModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionalAreaIntegralMeasure const IfcParse::type_declaration& Ifc2x3::IfcSectionalAreaIntegralMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[742]); } const IfcParse::type_declaration& Ifc2x3::IfcSectionalAreaIntegralMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[742]); } Ifc2x3::IfcSectionalAreaIntegralMeasure::IfcSectionalAreaIntegralMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcSectionalAreaIntegralMeasure::IfcSectionalAreaIntegralMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcSectionalAreaIntegralMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcSectionalAreaIntegralMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcShearModulusMeasure const IfcParse::type_declaration& Ifc2x3::IfcShearModulusMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[758]); } const IfcParse::type_declaration& Ifc2x3::IfcShearModulusMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[758]); } Ifc2x3::IfcShearModulusMeasure::IfcShearModulusMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcShearModulusMeasure::IfcShearModulusMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcShearModulusMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcShearModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSolidAngleMeasure const IfcParse::type_declaration& Ifc2x3::IfcSolidAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[772]); } const IfcParse::type_declaration& Ifc2x3::IfcSolidAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[772]); } Ifc2x3::IfcSolidAngleMeasure::IfcSolidAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcSolidAngleMeasure::IfcSolidAngleMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcSolidAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcSolidAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerMeasure const IfcParse::type_declaration& Ifc2x3::IfcSoundPowerMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[774]); } const IfcParse::type_declaration& Ifc2x3::IfcSoundPowerMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[774]); } Ifc2x3::IfcSoundPowerMeasure::IfcSoundPowerMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcSoundPowerMeasure::IfcSoundPowerMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcSoundPowerMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcSoundPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureMeasure const IfcParse::type_declaration& Ifc2x3::IfcSoundPressureMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[775]); } const IfcParse::type_declaration& Ifc2x3::IfcSoundPressureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[775]); } Ifc2x3::IfcSoundPressureMeasure::IfcSoundPressureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcSoundPressureMeasure::IfcSoundPressureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcSoundPressureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcSoundPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecificHeatCapacityMeasure const IfcParse::type_declaration& Ifc2x3::IfcSpecificHeatCapacityMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[788]); } const IfcParse::type_declaration& Ifc2x3::IfcSpecificHeatCapacityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[788]); } Ifc2x3::IfcSpecificHeatCapacityMeasure::IfcSpecificHeatCapacityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcSpecificHeatCapacityMeasure::IfcSpecificHeatCapacityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcSpecificHeatCapacityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcSpecificHeatCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularExponent const IfcParse::type_declaration& Ifc2x3::IfcSpecularExponent::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[789]); } const IfcParse::type_declaration& Ifc2x3::IfcSpecularExponent::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[789]); } Ifc2x3::IfcSpecularExponent::IfcSpecularExponent(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcSpecularExponent::IfcSpecularExponent(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcSpecularExponent::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcSpecularExponent::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularRoughness const IfcParse::type_declaration& Ifc2x3::IfcSpecularRoughness::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[791]); } const IfcParse::type_declaration& Ifc2x3::IfcSpecularRoughness::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[791]); } Ifc2x3::IfcSpecularRoughness::IfcSpecularRoughness(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcSpecularRoughness::IfcSpecularRoughness(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcSpecularRoughness::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcSpecularRoughness::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureGradientMeasure const IfcParse::type_declaration& Ifc2x3::IfcTemperatureGradientMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[874]); } const IfcParse::type_declaration& Ifc2x3::IfcTemperatureGradientMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[874]); } Ifc2x3::IfcTemperatureGradientMeasure::IfcTemperatureGradientMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcTemperatureGradientMeasure::IfcTemperatureGradientMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcTemperatureGradientMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcTemperatureGradientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcText const IfcParse::type_declaration& Ifc2x3::IfcText::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[879]); } const IfcParse::type_declaration& Ifc2x3::IfcText::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[879]); } Ifc2x3::IfcText::IfcText(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcText::IfcText(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcText::operator std::string() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextAlignment const IfcParse::type_declaration& Ifc2x3::IfcTextAlignment::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[880]); } const IfcParse::type_declaration& Ifc2x3::IfcTextAlignment::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[880]); } Ifc2x3::IfcTextAlignment::IfcTextAlignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcTextAlignment::IfcTextAlignment(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcTextAlignment::operator std::string() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcTextAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextDecoration const IfcParse::type_declaration& Ifc2x3::IfcTextDecoration::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[881]); } const IfcParse::type_declaration& Ifc2x3::IfcTextDecoration::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[881]); } Ifc2x3::IfcTextDecoration::IfcTextDecoration(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcTextDecoration::IfcTextDecoration(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcTextDecoration::operator std::string() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcTextDecoration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextFontName const IfcParse::type_declaration& Ifc2x3::IfcTextFontName::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[882]); } const IfcParse::type_declaration& Ifc2x3::IfcTextFontName::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[882]); } Ifc2x3::IfcTextFontName::IfcTextFontName(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcTextFontName::IfcTextFontName(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcTextFontName::operator std::string() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcTextFontName::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextTransformation const IfcParse::type_declaration& Ifc2x3::IfcTextTransformation::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[893]); } const IfcParse::type_declaration& Ifc2x3::IfcTextTransformation::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[893]); } Ifc2x3::IfcTextTransformation::IfcTextTransformation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcTextTransformation::IfcTextTransformation(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcTextTransformation::operator std::string() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcTextTransformation::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcThermalAdmittanceMeasure const IfcParse::type_declaration& Ifc2x3::IfcThermalAdmittanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[898]); } const IfcParse::type_declaration& Ifc2x3::IfcThermalAdmittanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[898]); } Ifc2x3::IfcThermalAdmittanceMeasure::IfcThermalAdmittanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcThermalAdmittanceMeasure::IfcThermalAdmittanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcThermalAdmittanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcThermalAdmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalConductivityMeasure const IfcParse::type_declaration& Ifc2x3::IfcThermalConductivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[899]); } const IfcParse::type_declaration& Ifc2x3::IfcThermalConductivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[899]); } Ifc2x3::IfcThermalConductivityMeasure::IfcThermalConductivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcThermalConductivityMeasure::IfcThermalConductivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcThermalConductivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcThermalConductivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalExpansionCoefficientMeasure const IfcParse::type_declaration& Ifc2x3::IfcThermalExpansionCoefficientMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[900]); } const IfcParse::type_declaration& Ifc2x3::IfcThermalExpansionCoefficientMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[900]); } Ifc2x3::IfcThermalExpansionCoefficientMeasure::IfcThermalExpansionCoefficientMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcThermalExpansionCoefficientMeasure::IfcThermalExpansionCoefficientMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcThermalExpansionCoefficientMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcThermalExpansionCoefficientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalResistanceMeasure const IfcParse::type_declaration& Ifc2x3::IfcThermalResistanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[904]); } const IfcParse::type_declaration& Ifc2x3::IfcThermalResistanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[904]); } Ifc2x3::IfcThermalResistanceMeasure::IfcThermalResistanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcThermalResistanceMeasure::IfcThermalResistanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcThermalResistanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcThermalResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalTransmittanceMeasure const IfcParse::type_declaration& Ifc2x3::IfcThermalTransmittanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[905]); } const IfcParse::type_declaration& Ifc2x3::IfcThermalTransmittanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[905]); } Ifc2x3::IfcThermalTransmittanceMeasure::IfcThermalTransmittanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcThermalTransmittanceMeasure::IfcThermalTransmittanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcThermalTransmittanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcThermalTransmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermodynamicTemperatureMeasure const IfcParse::type_declaration& Ifc2x3::IfcThermodynamicTemperatureMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[906]); } const IfcParse::type_declaration& Ifc2x3::IfcThermodynamicTemperatureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[906]); } Ifc2x3::IfcThermodynamicTemperatureMeasure::IfcThermodynamicTemperatureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcThermodynamicTemperatureMeasure::IfcThermodynamicTemperatureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcThermodynamicTemperatureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcThermodynamicTemperatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTimeMeasure const IfcParse::type_declaration& Ifc2x3::IfcTimeMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[907]); } const IfcParse::type_declaration& Ifc2x3::IfcTimeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[907]); } Ifc2x3::IfcTimeMeasure::IfcTimeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcTimeMeasure::IfcTimeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcTimeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcTimeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTimeStamp const IfcParse::type_declaration& Ifc2x3::IfcTimeStamp::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[914]); } const IfcParse::type_declaration& Ifc2x3::IfcTimeStamp::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[914]); } Ifc2x3::IfcTimeStamp::IfcTimeStamp(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcTimeStamp::IfcTimeStamp(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcTimeStamp::operator int() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcTimeStamp::operator int() const { return get_attribute_value(0); } // Function implementations for IfcTorqueMeasure const IfcParse::type_declaration& Ifc2x3::IfcTorqueMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[917]); } const IfcParse::type_declaration& Ifc2x3::IfcTorqueMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[917]); } Ifc2x3::IfcTorqueMeasure::IfcTorqueMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcTorqueMeasure::IfcTorqueMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcTorqueMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcTorqueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVaporPermeabilityMeasure const IfcParse::type_declaration& Ifc2x3::IfcVaporPermeabilityMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[943]); } const IfcParse::type_declaration& Ifc2x3::IfcVaporPermeabilityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[943]); } Ifc2x3::IfcVaporPermeabilityMeasure::IfcVaporPermeabilityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcVaporPermeabilityMeasure::IfcVaporPermeabilityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcVaporPermeabilityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcVaporPermeabilityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumeMeasure const IfcParse::type_declaration& Ifc2x3::IfcVolumeMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[954]); } const IfcParse::type_declaration& Ifc2x3::IfcVolumeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[954]); } Ifc2x3::IfcVolumeMeasure::IfcVolumeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcVolumeMeasure::IfcVolumeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcVolumeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcVolumeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumetricFlowRateMeasure const IfcParse::type_declaration& Ifc2x3::IfcVolumetricFlowRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[955]); } const IfcParse::type_declaration& Ifc2x3::IfcVolumetricFlowRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[955]); } Ifc2x3::IfcVolumetricFlowRateMeasure::IfcVolumetricFlowRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcVolumetricFlowRateMeasure::IfcVolumetricFlowRateMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcVolumetricFlowRateMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcVolumetricFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingConstantMeasure const IfcParse::type_declaration& Ifc2x3::IfcWarpingConstantMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[960]); } const IfcParse::type_declaration& Ifc2x3::IfcWarpingConstantMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[960]); } Ifc2x3::IfcWarpingConstantMeasure::IfcWarpingConstantMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcWarpingConstantMeasure::IfcWarpingConstantMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcWarpingConstantMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcWarpingConstantMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingMomentMeasure const IfcParse::type_declaration& Ifc2x3::IfcWarpingMomentMeasure::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[961]); } const IfcParse::type_declaration& Ifc2x3::IfcWarpingMomentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[961]); } Ifc2x3::IfcWarpingMomentMeasure::IfcWarpingMomentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcWarpingMomentMeasure::IfcWarpingMomentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcWarpingMomentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcWarpingMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcYearNumber const IfcParse::type_declaration& Ifc2x3::IfcYearNumber::Class() { return *((IfcParse::type_declaration*)IFC2X3_types[977]); } const IfcParse::type_declaration& Ifc2x3::IfcYearNumber::declaration() const { return *((IfcParse::type_declaration*)IFC2X3_types[977]); } Ifc2x3::IfcYearNumber::IfcYearNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc2x3::IfcYearNumber::IfcYearNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc2x3::IfcYearNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc2x3::IfcYearNumber::operator int() const { return get_attribute_value(0); } // Function implementations for Ifc2DCompositeCurve @@ -5386,20 +5386,20 @@ Ifc2x3::IfcYearNumber::operator int() const { return data_.get_attribute_value(0 const IfcParse::entity& Ifc2x3::Ifc2DCompositeCurve::declaration() const { return *((IfcParse::entity*)IFC2X3_types[0]); } const IfcParse::entity& Ifc2x3::Ifc2DCompositeCurve::Class() { return *((IfcParse::entity*)IFC2X3_types[0]); } Ifc2x3::Ifc2DCompositeCurve::Ifc2DCompositeCurve(IfcEntityInstanceData&& e) : IfcCompositeCurve(std::move(e)) { } -Ifc2x3::Ifc2DCompositeCurve::Ifc2DCompositeCurve(aggregate_of< ::Ifc2x3::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc2x3::Ifc2DCompositeCurve::Ifc2DCompositeCurve(aggregate_of< ::Ifc2x3::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcActionRequest -std::string Ifc2x3::IfcActionRequest::RequestID() const { std::string v = data_.get_attribute_value(5); return v; } +std::string Ifc2x3::IfcActionRequest::RequestID() const { std::string v = get_attribute_value(5); return v; } void Ifc2x3::IfcActionRequest::setRequestID(std::string v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc2x3::IfcActionRequest::declaration() const { return *((IfcParse::entity*)IFC2X3_types[3]); } const IfcParse::entity& Ifc2x3::IfcActionRequest::Class() { return *((IfcParse::entity*)IFC2X3_types[3]); } Ifc2x3::IfcActionRequest::IfcActionRequest(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc2x3::IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_RequestID) : IfcControl(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_RequestID));; populate_derived(); } +Ifc2x3::IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_RequestID) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_RequestID));; populate_derived(); } // Function implementations for IfcActor -::Ifc2x3::IfcActorSelect* Ifc2x3::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcActorSelect>(true); } +::Ifc2x3::IfcActorSelect* Ifc2x3::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcActorSelect>(true); } void Ifc2x3::IfcActor::setTheActor(::Ifc2x3::IfcActorSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc2x3::IfcRelAssignsToActor::list::ptr Ifc2x3::IfcActor::IsActingUpon() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[670], 6)->as(); } @@ -5407,38 +5407,38 @@ void Ifc2x3::IfcActor::setTheActor(::Ifc2x3::IfcActorSelect* v) { set_attribute_ const IfcParse::entity& Ifc2x3::IfcActor::declaration() const { return *((IfcParse::entity*)IFC2X3_types[6]); } const IfcParse::entity& Ifc2x3::IfcActor::Class() { return *((IfcParse::entity*)IFC2X3_types[6]); } Ifc2x3::IfcActor::IfcActor(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc2x3::IfcActor::IfcActor(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcActorSelect* v6_TheActor) : IfcObject(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcActor::IfcActor(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcActorSelect* v6_TheActor) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcActorRole -::Ifc2x3::IfcRoleEnum::Value Ifc2x3::IfcActorRole::Role() const { return ::Ifc2x3::IfcRoleEnum::FromString(data_.get_attribute_value(0)); } +::Ifc2x3::IfcRoleEnum::Value Ifc2x3::IfcActorRole::Role() const { return ::Ifc2x3::IfcRoleEnum::FromString(get_attribute_value(0)); } void Ifc2x3::IfcActorRole::setRole(::Ifc2x3::IfcRoleEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc2x3::IfcRoleEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc2x3::IfcActorRole::UserDefinedRole() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc2x3::IfcActorRole::UserDefinedRole() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcActorRole::setUserDefinedRole(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc2x3::IfcActorRole::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc2x3::IfcActorRole::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcActorRole::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc2x3::IfcActorRole::declaration() const { return *((IfcParse::entity*)IFC2X3_types[7]); } const IfcParse::entity& Ifc2x3::IfcActorRole::Class() { return *((IfcParse::entity*)IFC2X3_types[7]); } Ifc2x3::IfcActorRole::IfcActorRole(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcActorRole::IfcActorRole(::Ifc2x3::IfcRoleEnum::Value v1_Role, boost::optional< std::string > v2_UserDefinedRole, boost::optional< std::string > v3_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } +Ifc2x3::IfcActorRole::IfcActorRole(::Ifc2x3::IfcRoleEnum::Value v1_Role, boost::optional< std::string > v2_UserDefinedRole, boost::optional< std::string > v3_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } // Function implementations for IfcActuatorType -::Ifc2x3::IfcActuatorTypeEnum::Value Ifc2x3::IfcActuatorType::PredefinedType() const { return ::Ifc2x3::IfcActuatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcActuatorTypeEnum::Value Ifc2x3::IfcActuatorType::PredefinedType() const { return ::Ifc2x3::IfcActuatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcActuatorType::setPredefinedType(::Ifc2x3::IfcActuatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcActuatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcActuatorType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[9]); } const IfcParse::entity& Ifc2x3::IfcActuatorType::Class() { return *((IfcParse::entity*)IFC2X3_types[9]); } Ifc2x3::IfcActuatorType::IfcActuatorType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc2x3::IfcActuatorType::IfcActuatorType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcActuatorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcActuatorType::IfcActuatorType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcActuatorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAddress -boost::optional< ::Ifc2x3::IfcAddressTypeEnum::Value > Ifc2x3::IfcAddress::Purpose() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } return ::Ifc2x3::IfcAddressTypeEnum::FromString(data_.get_attribute_value(0)); } +boost::optional< ::Ifc2x3::IfcAddressTypeEnum::Value > Ifc2x3::IfcAddress::Purpose() const { if(get_attribute_value(0).isNull()) { return boost::none; } return ::Ifc2x3::IfcAddressTypeEnum::FromString(get_attribute_value(0)); } void Ifc2x3::IfcAddress::setPurpose(boost::optional< ::Ifc2x3::IfcAddressTypeEnum::Value > v) { if (v) {set_attribute_value(0, EnumerationReference(&::Ifc2x3::IfcAddressTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc2x3::IfcAddress::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc2x3::IfcAddress::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcAddress::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc2x3::IfcAddress::UserDefinedPurpose() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc2x3::IfcAddress::UserDefinedPurpose() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcAddress::setUserDefinedPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc2x3::IfcPerson::list::ptr Ifc2x3::IfcAddress::OfPerson() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[545], 7)->as(); } @@ -5447,47 +5447,47 @@ void Ifc2x3::IfcAddress::setUserDefinedPurpose(boost::optional< std::string > v) const IfcParse::entity& Ifc2x3::IfcAddress::declaration() const { return *((IfcParse::entity*)IFC2X3_types[11]); } const IfcParse::entity& Ifc2x3::IfcAddress::Class() { return *((IfcParse::entity*)IFC2X3_types[11]); } Ifc2x3::IfcAddress::IfcAddress(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcAddress::IfcAddress(boost::optional< ::Ifc2x3::IfcAddressTypeEnum::Value > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; populate_derived(); } +Ifc2x3::IfcAddress::IfcAddress(boost::optional< ::Ifc2x3::IfcAddressTypeEnum::Value > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; populate_derived(); } // Function implementations for IfcAirTerminalBoxType -::Ifc2x3::IfcAirTerminalBoxTypeEnum::Value Ifc2x3::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc2x3::IfcAirTerminalBoxTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcAirTerminalBoxTypeEnum::Value Ifc2x3::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc2x3::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcAirTerminalBoxType::setPredefinedType(::Ifc2x3::IfcAirTerminalBoxTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcAirTerminalBoxTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcAirTerminalBoxType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[14]); } const IfcParse::entity& Ifc2x3::IfcAirTerminalBoxType::Class() { return *((IfcParse::entity*)IFC2X3_types[14]); } Ifc2x3::IfcAirTerminalBoxType::IfcAirTerminalBoxType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc2x3::IfcAirTerminalBoxType::IfcAirTerminalBoxType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcAirTerminalBoxType::IfcAirTerminalBoxType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAirTerminalType -::Ifc2x3::IfcAirTerminalTypeEnum::Value Ifc2x3::IfcAirTerminalType::PredefinedType() const { return ::Ifc2x3::IfcAirTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcAirTerminalTypeEnum::Value Ifc2x3::IfcAirTerminalType::PredefinedType() const { return ::Ifc2x3::IfcAirTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcAirTerminalType::setPredefinedType(::Ifc2x3::IfcAirTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcAirTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcAirTerminalType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[16]); } const IfcParse::entity& Ifc2x3::IfcAirTerminalType::Class() { return *((IfcParse::entity*)IFC2X3_types[16]); } Ifc2x3::IfcAirTerminalType::IfcAirTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc2x3::IfcAirTerminalType::IfcAirTerminalType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcAirTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcAirTerminalType::IfcAirTerminalType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcAirTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAirToAirHeatRecoveryType -::Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc2x3::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc2x3::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcAirToAirHeatRecoveryType::setPredefinedType(::Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcAirToAirHeatRecoveryType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[18]); } const IfcParse::entity& Ifc2x3::IfcAirToAirHeatRecoveryType::Class() { return *((IfcParse::entity*)IFC2X3_types[18]); } Ifc2x3::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc2x3::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlarmType -::Ifc2x3::IfcAlarmTypeEnum::Value Ifc2x3::IfcAlarmType::PredefinedType() const { return ::Ifc2x3::IfcAlarmTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcAlarmTypeEnum::Value Ifc2x3::IfcAlarmType::PredefinedType() const { return ::Ifc2x3::IfcAlarmTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcAlarmType::setPredefinedType(::Ifc2x3::IfcAlarmTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcAlarmTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcAlarmType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[20]); } const IfcParse::entity& Ifc2x3::IfcAlarmType::Class() { return *((IfcParse::entity*)IFC2X3_types[20]); } Ifc2x3::IfcAlarmType::IfcAlarmType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc2x3::IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcAlarmTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcAlarmTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAngularDimension @@ -5495,7 +5495,7 @@ Ifc2x3::IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHi const IfcParse::entity& Ifc2x3::IfcAngularDimension::declaration() const { return *((IfcParse::entity*)IFC2X3_types[25]); } const IfcParse::entity& Ifc2x3::IfcAngularDimension::Class() { return *((IfcParse::entity*)IFC2X3_types[25]); } Ifc2x3::IfcAngularDimension::IfcAngularDimension(IfcEntityInstanceData&& e) : IfcDimensionCurveDirectedCallout(std::move(e)) { } -Ifc2x3::IfcAngularDimension::IfcAngularDimension(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents) : IfcDimensionCurveDirectedCallout(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Contents)->generalize());; populate_derived(); } +Ifc2x3::IfcAngularDimension::IfcAngularDimension(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents) : IfcDimensionCurveDirectedCallout(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Contents)->generalize());; populate_derived(); } // Function implementations for IfcAnnotation @@ -5504,7 +5504,7 @@ Ifc2x3::IfcAngularDimension::IfcAngularDimension(aggregate_of< ::Ifc2x3::IfcDrau const IfcParse::entity& Ifc2x3::IfcAnnotation::declaration() const { return *((IfcParse::entity*)IFC2X3_types[27]); } const IfcParse::entity& Ifc2x3::IfcAnnotation::Class() { return *((IfcParse::entity*)IFC2X3_types[27]); } Ifc2x3::IfcAnnotation::IfcAnnotation(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc2x3::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAnnotationCurveOccurrence @@ -5512,31 +5512,31 @@ Ifc2x3::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc2x3::IfcOwner const IfcParse::entity& Ifc2x3::IfcAnnotationCurveOccurrence::declaration() const { return *((IfcParse::entity*)IFC2X3_types[28]); } const IfcParse::entity& Ifc2x3::IfcAnnotationCurveOccurrence::Class() { return *((IfcParse::entity*)IFC2X3_types[28]); } Ifc2x3::IfcAnnotationCurveOccurrence::IfcAnnotationCurveOccurrence(IfcEntityInstanceData&& e) : IfcAnnotationOccurrence(std::move(e)) { } -Ifc2x3::IfcAnnotationCurveOccurrence::IfcAnnotationCurveOccurrence(::Ifc2x3::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc2x3::IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcAnnotationOccurrence(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc2x3::IfcAnnotationCurveOccurrence::IfcAnnotationCurveOccurrence(::Ifc2x3::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc2x3::IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcAnnotationOccurrence(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcAnnotationFillArea -::Ifc2x3::IfcCurve* Ifc2x3::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcCurve>(true); } +::Ifc2x3::IfcCurve* Ifc2x3::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcCurve>(true); } void Ifc2x3::IfcAnnotationFillArea::setOuterBoundary(::Ifc2x3::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< aggregate_of< ::Ifc2x3::IfcCurve >::ptr > Ifc2x3::IfcAnnotationFillArea::InnerBoundaries() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc2x3::IfcCurve >(); } +boost::optional< aggregate_of< ::Ifc2x3::IfcCurve >::ptr > Ifc2x3::IfcAnnotationFillArea::InnerBoundaries() const { if(get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc2x3::IfcCurve >(); } void Ifc2x3::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc2x3::IfcCurve >::ptr > v) { if (v) {set_attribute_value(1, (*v)->generalize());} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc2x3::IfcAnnotationFillArea::declaration() const { return *((IfcParse::entity*)IFC2X3_types[29]); } const IfcParse::entity& Ifc2x3::IfcAnnotationFillArea::Class() { return *((IfcParse::entity*)IFC2X3_types[29]); } Ifc2x3::IfcAnnotationFillArea::IfcAnnotationFillArea(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc2x3::IfcAnnotationFillArea::IfcAnnotationFillArea(::Ifc2x3::IfcCurve* v1_OuterBoundary, boost::optional< aggregate_of< ::Ifc2x3::IfcCurve >::ptr > v2_InnerBoundaries) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_OuterBoundary ? v1_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_InnerBoundaries) {set_attribute_value(1, (*v2_InnerBoundaries)->generalize()); }; populate_derived(); } +Ifc2x3::IfcAnnotationFillArea::IfcAnnotationFillArea(::Ifc2x3::IfcCurve* v1_OuterBoundary, boost::optional< aggregate_of< ::Ifc2x3::IfcCurve >::ptr > v2_InnerBoundaries) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_OuterBoundary ? v1_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_InnerBoundaries) {set_attribute_value(1, (*v2_InnerBoundaries)->generalize()); }; populate_derived(); } // Function implementations for IfcAnnotationFillAreaOccurrence -::Ifc2x3::IfcPoint* Ifc2x3::IfcAnnotationFillAreaOccurrence::FillStyleTarget() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc2x3::IfcPoint>(true); } +::Ifc2x3::IfcPoint* Ifc2x3::IfcAnnotationFillAreaOccurrence::FillStyleTarget() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc2x3::IfcPoint>(true); } void Ifc2x3::IfcAnnotationFillAreaOccurrence::setFillStyleTarget(::Ifc2x3::IfcPoint* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< ::Ifc2x3::IfcGlobalOrLocalEnum::Value > Ifc2x3::IfcAnnotationFillAreaOccurrence::GlobalOrLocal() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc2x3::IfcGlobalOrLocalEnum::FromString(data_.get_attribute_value(4)); } +boost::optional< ::Ifc2x3::IfcGlobalOrLocalEnum::Value > Ifc2x3::IfcAnnotationFillAreaOccurrence::GlobalOrLocal() const { if(get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc2x3::IfcGlobalOrLocalEnum::FromString(get_attribute_value(4)); } void Ifc2x3::IfcAnnotationFillAreaOccurrence::setGlobalOrLocal(boost::optional< ::Ifc2x3::IfcGlobalOrLocalEnum::Value > v) { if (v) {set_attribute_value(4, EnumerationReference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(), (size_t) *v));} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc2x3::IfcAnnotationFillAreaOccurrence::declaration() const { return *((IfcParse::entity*)IFC2X3_types[30]); } const IfcParse::entity& Ifc2x3::IfcAnnotationFillAreaOccurrence::Class() { return *((IfcParse::entity*)IFC2X3_types[30]); } Ifc2x3::IfcAnnotationFillAreaOccurrence::IfcAnnotationFillAreaOccurrence(IfcEntityInstanceData&& e) : IfcAnnotationOccurrence(std::move(e)) { } -Ifc2x3::IfcAnnotationFillAreaOccurrence::IfcAnnotationFillAreaOccurrence(::Ifc2x3::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc2x3::IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name, ::Ifc2x3::IfcPoint* v4_FillStyleTarget, boost::optional< ::Ifc2x3::IfcGlobalOrLocalEnum::Value > v5_GlobalOrLocal) : IfcAnnotationOccurrence(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, v4_FillStyleTarget ? v4_FillStyleTarget->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_GlobalOrLocal) {set_attribute_value(4, (EnumerationReference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)*v5_GlobalOrLocal))); }; populate_derived(); } +Ifc2x3::IfcAnnotationFillAreaOccurrence::IfcAnnotationFillAreaOccurrence(::Ifc2x3::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc2x3::IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name, ::Ifc2x3::IfcPoint* v4_FillStyleTarget, boost::optional< ::Ifc2x3::IfcGlobalOrLocalEnum::Value > v5_GlobalOrLocal) : IfcAnnotationOccurrence(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, v4_FillStyleTarget ? v4_FillStyleTarget->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_GlobalOrLocal) {set_attribute_value(4, (EnumerationReference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)*v5_GlobalOrLocal))); }; populate_derived(); } // Function implementations for IfcAnnotationOccurrence @@ -5544,19 +5544,19 @@ Ifc2x3::IfcAnnotationFillAreaOccurrence::IfcAnnotationFillAreaOccurrence(::Ifc2x const IfcParse::entity& Ifc2x3::IfcAnnotationOccurrence::declaration() const { return *((IfcParse::entity*)IFC2X3_types[31]); } const IfcParse::entity& Ifc2x3::IfcAnnotationOccurrence::Class() { return *((IfcParse::entity*)IFC2X3_types[31]); } Ifc2x3::IfcAnnotationOccurrence::IfcAnnotationOccurrence(IfcEntityInstanceData&& e) : IfcStyledItem(std::move(e)) { } -Ifc2x3::IfcAnnotationOccurrence::IfcAnnotationOccurrence(::Ifc2x3::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc2x3::IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcStyledItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc2x3::IfcAnnotationOccurrence::IfcAnnotationOccurrence(::Ifc2x3::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc2x3::IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcStyledItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcAnnotationSurface -::Ifc2x3::IfcGeometricRepresentationItem* Ifc2x3::IfcAnnotationSurface::Item() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcGeometricRepresentationItem>(true); } +::Ifc2x3::IfcGeometricRepresentationItem* Ifc2x3::IfcAnnotationSurface::Item() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcGeometricRepresentationItem>(true); } void Ifc2x3::IfcAnnotationSurface::setItem(::Ifc2x3::IfcGeometricRepresentationItem* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcTextureCoordinate* Ifc2x3::IfcAnnotationSurface::TextureCoordinates() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcTextureCoordinate>(true); } +::Ifc2x3::IfcTextureCoordinate* Ifc2x3::IfcAnnotationSurface::TextureCoordinates() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcTextureCoordinate>(true); } void Ifc2x3::IfcAnnotationSurface::setTextureCoordinates(::Ifc2x3::IfcTextureCoordinate* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcAnnotationSurface::declaration() const { return *((IfcParse::entity*)IFC2X3_types[32]); } const IfcParse::entity& Ifc2x3::IfcAnnotationSurface::Class() { return *((IfcParse::entity*)IFC2X3_types[32]); } Ifc2x3::IfcAnnotationSurface::IfcAnnotationSurface(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc2x3::IfcAnnotationSurface::IfcAnnotationSurface(::Ifc2x3::IfcGeometricRepresentationItem* v1_Item, ::Ifc2x3::IfcTextureCoordinate* v2_TextureCoordinates) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TextureCoordinates ? v2_TextureCoordinates->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcAnnotationSurface::IfcAnnotationSurface(::Ifc2x3::IfcGeometricRepresentationItem* v1_Item, ::Ifc2x3::IfcTextureCoordinate* v2_TextureCoordinates) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TextureCoordinates ? v2_TextureCoordinates->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAnnotationSurfaceOccurrence @@ -5564,7 +5564,7 @@ Ifc2x3::IfcAnnotationSurface::IfcAnnotationSurface(::Ifc2x3::IfcGeometricReprese const IfcParse::entity& Ifc2x3::IfcAnnotationSurfaceOccurrence::declaration() const { return *((IfcParse::entity*)IFC2X3_types[33]); } const IfcParse::entity& Ifc2x3::IfcAnnotationSurfaceOccurrence::Class() { return *((IfcParse::entity*)IFC2X3_types[33]); } Ifc2x3::IfcAnnotationSurfaceOccurrence::IfcAnnotationSurfaceOccurrence(IfcEntityInstanceData&& e) : IfcAnnotationOccurrence(std::move(e)) { } -Ifc2x3::IfcAnnotationSurfaceOccurrence::IfcAnnotationSurfaceOccurrence(::Ifc2x3::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc2x3::IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcAnnotationOccurrence(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc2x3::IfcAnnotationSurfaceOccurrence::IfcAnnotationSurfaceOccurrence(::Ifc2x3::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc2x3::IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcAnnotationOccurrence(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcAnnotationSymbolOccurrence @@ -5572,7 +5572,7 @@ Ifc2x3::IfcAnnotationSurfaceOccurrence::IfcAnnotationSurfaceOccurrence(::Ifc2x3: const IfcParse::entity& Ifc2x3::IfcAnnotationSymbolOccurrence::declaration() const { return *((IfcParse::entity*)IFC2X3_types[34]); } const IfcParse::entity& Ifc2x3::IfcAnnotationSymbolOccurrence::Class() { return *((IfcParse::entity*)IFC2X3_types[34]); } Ifc2x3::IfcAnnotationSymbolOccurrence::IfcAnnotationSymbolOccurrence(IfcEntityInstanceData&& e) : IfcAnnotationOccurrence(std::move(e)) { } -Ifc2x3::IfcAnnotationSymbolOccurrence::IfcAnnotationSymbolOccurrence(::Ifc2x3::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc2x3::IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcAnnotationOccurrence(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc2x3::IfcAnnotationSymbolOccurrence::IfcAnnotationSymbolOccurrence(::Ifc2x3::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc2x3::IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcAnnotationOccurrence(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcAnnotationTextOccurrence @@ -5580,36 +5580,36 @@ Ifc2x3::IfcAnnotationSymbolOccurrence::IfcAnnotationSymbolOccurrence(::Ifc2x3::I const IfcParse::entity& Ifc2x3::IfcAnnotationTextOccurrence::declaration() const { return *((IfcParse::entity*)IFC2X3_types[35]); } const IfcParse::entity& Ifc2x3::IfcAnnotationTextOccurrence::Class() { return *((IfcParse::entity*)IFC2X3_types[35]); } Ifc2x3::IfcAnnotationTextOccurrence::IfcAnnotationTextOccurrence(IfcEntityInstanceData&& e) : IfcAnnotationOccurrence(std::move(e)) { } -Ifc2x3::IfcAnnotationTextOccurrence::IfcAnnotationTextOccurrence(::Ifc2x3::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc2x3::IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcAnnotationOccurrence(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc2x3::IfcAnnotationTextOccurrence::IfcAnnotationTextOccurrence(::Ifc2x3::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc2x3::IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcAnnotationOccurrence(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcApplication -::Ifc2x3::IfcOrganization* Ifc2x3::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcOrganization>(true); } +::Ifc2x3::IfcOrganization* Ifc2x3::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcOrganization>(true); } void Ifc2x3::IfcApplication::setApplicationDeveloper(::Ifc2x3::IfcOrganization* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -std::string Ifc2x3::IfcApplication::Version() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc2x3::IfcApplication::Version() const { std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcApplication::setVersion(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::string Ifc2x3::IfcApplication::ApplicationFullName() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc2x3::IfcApplication::ApplicationFullName() const { std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcApplication::setApplicationFullName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::string Ifc2x3::IfcApplication::ApplicationIdentifier() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc2x3::IfcApplication::ApplicationIdentifier() const { std::string v = get_attribute_value(3); return v; } void Ifc2x3::IfcApplication::setApplicationIdentifier(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcApplication::declaration() const { return *((IfcParse::entity*)IFC2X3_types[36]); } const IfcParse::entity& Ifc2x3::IfcApplication::Class() { return *((IfcParse::entity*)IFC2X3_types[36]); } Ifc2x3::IfcApplication::IfcApplication(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcApplication::IfcApplication(::Ifc2x3::IfcOrganization* v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ApplicationDeveloper ? v1_ApplicationDeveloper->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; populate_derived(); } +Ifc2x3::IfcApplication::IfcApplication(::Ifc2x3::IfcOrganization* v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ApplicationDeveloper ? v1_ApplicationDeveloper->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; populate_derived(); } // Function implementations for IfcAppliedValue -boost::optional< std::string > Ifc2x3::IfcAppliedValue::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc2x3::IfcAppliedValue::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcAppliedValue::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc2x3::IfcAppliedValue::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc2x3::IfcAppliedValue::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcAppliedValue::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc2x3::IfcAppliedValueSelect* Ifc2x3::IfcAppliedValue::AppliedValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcAppliedValueSelect>(true); } +::Ifc2x3::IfcAppliedValueSelect* Ifc2x3::IfcAppliedValue::AppliedValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcAppliedValueSelect>(true); } void Ifc2x3::IfcAppliedValue::setAppliedValue(::Ifc2x3::IfcAppliedValueSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcMeasureWithUnit* Ifc2x3::IfcAppliedValue::UnitBasis() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc2x3::IfcMeasureWithUnit>(true); } +::Ifc2x3::IfcMeasureWithUnit* Ifc2x3::IfcAppliedValue::UnitBasis() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc2x3::IfcMeasureWithUnit>(true); } void Ifc2x3::IfcAppliedValue::setUnitBasis(::Ifc2x3::IfcMeasureWithUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcAppliedValue::ApplicableDate() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcAppliedValue::ApplicableDate() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcAppliedValue::setApplicableDate(::Ifc2x3::IfcDateTimeSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcAppliedValue::FixedUntilDate() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcAppliedValue::FixedUntilDate() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcAppliedValue::setFixedUntilDate(::Ifc2x3::IfcDateTimeSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc2x3::IfcReferencesValueDocument::list::ptr Ifc2x3::IfcAppliedValue::ValuesReferenced() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[657], 1)->as(); } @@ -5619,40 +5619,40 @@ void Ifc2x3::IfcAppliedValue::setFixedUntilDate(::Ifc2x3::IfcDateTimeSelect* v) const IfcParse::entity& Ifc2x3::IfcAppliedValue::declaration() const { return *((IfcParse::entity*)IFC2X3_types[37]); } const IfcParse::entity& Ifc2x3::IfcAppliedValue::Class() { return *((IfcParse::entity*)IFC2X3_types[37]); } Ifc2x3::IfcAppliedValue::IfcAppliedValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc2x3::IfcMeasureWithUnit* v4_UnitBasis, ::Ifc2x3::IfcDateTimeSelect* v5_ApplicableDate, ::Ifc2x3::IfcDateTimeSelect* v6_FixedUntilDate) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ApplicableDate ? v5_ApplicableDate->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_FixedUntilDate ? v6_FixedUntilDate->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc2x3::IfcMeasureWithUnit* v4_UnitBasis, ::Ifc2x3::IfcDateTimeSelect* v5_ApplicableDate, ::Ifc2x3::IfcDateTimeSelect* v6_FixedUntilDate) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ApplicableDate ? v5_ApplicableDate->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_FixedUntilDate ? v6_FixedUntilDate->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAppliedValueRelationship -::Ifc2x3::IfcAppliedValue* Ifc2x3::IfcAppliedValueRelationship::ComponentOfTotal() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcAppliedValue>(true); } +::Ifc2x3::IfcAppliedValue* Ifc2x3::IfcAppliedValueRelationship::ComponentOfTotal() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcAppliedValue>(true); } void Ifc2x3::IfcAppliedValueRelationship::setComponentOfTotal(::Ifc2x3::IfcAppliedValue* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc2x3::IfcAppliedValue >::ptr Ifc2x3::IfcAppliedValueRelationship::Components() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc2x3::IfcAppliedValue >(); } +aggregate_of< ::Ifc2x3::IfcAppliedValue >::ptr Ifc2x3::IfcAppliedValueRelationship::Components() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc2x3::IfcAppliedValue >(); } void Ifc2x3::IfcAppliedValueRelationship::setComponents(aggregate_of< ::Ifc2x3::IfcAppliedValue >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc2x3::IfcArithmeticOperatorEnum::Value Ifc2x3::IfcAppliedValueRelationship::ArithmeticOperator() const { return ::Ifc2x3::IfcArithmeticOperatorEnum::FromString(data_.get_attribute_value(2)); } +::Ifc2x3::IfcArithmeticOperatorEnum::Value Ifc2x3::IfcAppliedValueRelationship::ArithmeticOperator() const { return ::Ifc2x3::IfcArithmeticOperatorEnum::FromString(get_attribute_value(2)); } void Ifc2x3::IfcAppliedValueRelationship::setArithmeticOperator(::Ifc2x3::IfcArithmeticOperatorEnum::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc2x3::IfcArithmeticOperatorEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc2x3::IfcAppliedValueRelationship::Name() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc2x3::IfcAppliedValueRelationship::Name() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc2x3::IfcAppliedValueRelationship::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc2x3::IfcAppliedValueRelationship::Description() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc2x3::IfcAppliedValueRelationship::Description() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc2x3::IfcAppliedValueRelationship::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc2x3::IfcAppliedValueRelationship::declaration() const { return *((IfcParse::entity*)IFC2X3_types[38]); } const IfcParse::entity& Ifc2x3::IfcAppliedValueRelationship::Class() { return *((IfcParse::entity*)IFC2X3_types[38]); } Ifc2x3::IfcAppliedValueRelationship::IfcAppliedValueRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcAppliedValueRelationship::IfcAppliedValueRelationship(::Ifc2x3::IfcAppliedValue* v1_ComponentOfTotal, aggregate_of< ::Ifc2x3::IfcAppliedValue >::ptr v2_Components, ::Ifc2x3::IfcArithmeticOperatorEnum::Value v3_ArithmeticOperator, boost::optional< std::string > v4_Name, boost::optional< std::string > v5_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_ComponentOfTotal ? v1_ComponentOfTotal->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Components)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcArithmeticOperatorEnum::Class(),(size_t)v3_ArithmeticOperator))); if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); }; populate_derived(); } +Ifc2x3::IfcAppliedValueRelationship::IfcAppliedValueRelationship(::Ifc2x3::IfcAppliedValue* v1_ComponentOfTotal, aggregate_of< ::Ifc2x3::IfcAppliedValue >::ptr v2_Components, ::Ifc2x3::IfcArithmeticOperatorEnum::Value v3_ArithmeticOperator, boost::optional< std::string > v4_Name, boost::optional< std::string > v5_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_ComponentOfTotal ? v1_ComponentOfTotal->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Components)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcArithmeticOperatorEnum::Class(),(size_t)v3_ArithmeticOperator))); if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); }; populate_derived(); } // Function implementations for IfcApproval -boost::optional< std::string > Ifc2x3::IfcApproval::Description() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc2x3::IfcApproval::Description() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcApproval::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcApproval::ApprovalDateTime() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcApproval::ApprovalDateTime() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcApproval::setApprovalDateTime(::Ifc2x3::IfcDateTimeSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc2x3::IfcApproval::ApprovalStatus() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc2x3::IfcApproval::ApprovalStatus() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcApproval::setApprovalStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc2x3::IfcApproval::ApprovalLevel() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc2x3::IfcApproval::ApprovalLevel() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc2x3::IfcApproval::setApprovalLevel(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc2x3::IfcApproval::ApprovalQualifier() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc2x3::IfcApproval::ApprovalQualifier() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc2x3::IfcApproval::setApprovalQualifier(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -std::string Ifc2x3::IfcApproval::Name() const { std::string v = data_.get_attribute_value(5); return v; } +std::string Ifc2x3::IfcApproval::Name() const { std::string v = get_attribute_value(5); return v; } void Ifc2x3::IfcApproval::setName(std::string v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -std::string Ifc2x3::IfcApproval::Identifier() const { std::string v = data_.get_attribute_value(6); return v; } +std::string Ifc2x3::IfcApproval::Identifier() const { std::string v = get_attribute_value(6); return v; } void Ifc2x3::IfcApproval::setIdentifier(std::string v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } ::Ifc2x3::IfcApprovalActorRelationship::list::ptr Ifc2x3::IfcApproval::Actors() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[41], 1)->as(); } @@ -5662,171 +5662,171 @@ void Ifc2x3::IfcApproval::setIdentifier(std::string v) { set_attribute_value(6, const IfcParse::entity& Ifc2x3::IfcApproval::declaration() const { return *((IfcParse::entity*)IFC2X3_types[40]); } const IfcParse::entity& Ifc2x3::IfcApproval::Class() { return *((IfcParse::entity*)IFC2X3_types[40]); } Ifc2x3::IfcApproval::IfcApproval(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcApproval::IfcApproval(boost::optional< std::string > v1_Description, ::Ifc2x3::IfcDateTimeSelect* v2_ApprovalDateTime, boost::optional< std::string > v3_ApprovalStatus, boost::optional< std::string > v4_ApprovalLevel, boost::optional< std::string > v5_ApprovalQualifier, std::string v6_Name, std::string v7_Identifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(7))) { if (v1_Description) {set_attribute_value(0, (*v1_Description)); }set_attribute_value(1, v2_ApprovalDateTime ? v2_ApprovalDateTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_ApprovalStatus) {set_attribute_value(2, (*v3_ApprovalStatus)); } if (v4_ApprovalLevel) {set_attribute_value(3, (*v4_ApprovalLevel)); } if (v5_ApprovalQualifier) {set_attribute_value(4, (*v5_ApprovalQualifier)); }set_attribute_value(5, (v6_Name));set_attribute_value(6, (v7_Identifier));; populate_derived(); } +Ifc2x3::IfcApproval::IfcApproval(boost::optional< std::string > v1_Description, ::Ifc2x3::IfcDateTimeSelect* v2_ApprovalDateTime, boost::optional< std::string > v3_ApprovalStatus, boost::optional< std::string > v4_ApprovalLevel, boost::optional< std::string > v5_ApprovalQualifier, std::string v6_Name, std::string v7_Identifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Description) {set_attribute_value(0, (*v1_Description)); }set_attribute_value(1, v2_ApprovalDateTime ? v2_ApprovalDateTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_ApprovalStatus) {set_attribute_value(2, (*v3_ApprovalStatus)); } if (v4_ApprovalLevel) {set_attribute_value(3, (*v4_ApprovalLevel)); } if (v5_ApprovalQualifier) {set_attribute_value(4, (*v5_ApprovalQualifier)); }set_attribute_value(5, (v6_Name));set_attribute_value(6, (v7_Identifier));; populate_derived(); } // Function implementations for IfcApprovalActorRelationship -::Ifc2x3::IfcActorSelect* Ifc2x3::IfcApprovalActorRelationship::Actor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcActorSelect>(true); } +::Ifc2x3::IfcActorSelect* Ifc2x3::IfcApprovalActorRelationship::Actor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcActorSelect>(true); } void Ifc2x3::IfcApprovalActorRelationship::setActor(::Ifc2x3::IfcActorSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcApproval* Ifc2x3::IfcApprovalActorRelationship::Approval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcApproval>(true); } +::Ifc2x3::IfcApproval* Ifc2x3::IfcApprovalActorRelationship::Approval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcApproval>(true); } void Ifc2x3::IfcApprovalActorRelationship::setApproval(::Ifc2x3::IfcApproval* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc2x3::IfcActorRole* Ifc2x3::IfcApprovalActorRelationship::Role() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcActorRole>(true); } +::Ifc2x3::IfcActorRole* Ifc2x3::IfcApprovalActorRelationship::Role() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcActorRole>(true); } void Ifc2x3::IfcApprovalActorRelationship::setRole(::Ifc2x3::IfcActorRole* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc2x3::IfcApprovalActorRelationship::declaration() const { return *((IfcParse::entity*)IFC2X3_types[41]); } const IfcParse::entity& Ifc2x3::IfcApprovalActorRelationship::Class() { return *((IfcParse::entity*)IFC2X3_types[41]); } Ifc2x3::IfcApprovalActorRelationship::IfcApprovalActorRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcApprovalActorRelationship::IfcApprovalActorRelationship(::Ifc2x3::IfcActorSelect* v1_Actor, ::Ifc2x3::IfcApproval* v2_Approval, ::Ifc2x3::IfcActorRole* v3_Role) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Actor ? v1_Actor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Approval ? v2_Approval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Role ? v3_Role->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcApprovalActorRelationship::IfcApprovalActorRelationship(::Ifc2x3::IfcActorSelect* v1_Actor, ::Ifc2x3::IfcApproval* v2_Approval, ::Ifc2x3::IfcActorRole* v3_Role) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Actor ? v1_Actor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Approval ? v2_Approval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Role ? v3_Role->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcApprovalPropertyRelationship -aggregate_of< ::Ifc2x3::IfcProperty >::ptr Ifc2x3::IfcApprovalPropertyRelationship::ApprovedProperties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc2x3::IfcProperty >(); } +aggregate_of< ::Ifc2x3::IfcProperty >::ptr Ifc2x3::IfcApprovalPropertyRelationship::ApprovedProperties() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc2x3::IfcProperty >(); } void Ifc2x3::IfcApprovalPropertyRelationship::setApprovedProperties(aggregate_of< ::Ifc2x3::IfcProperty >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcApproval* Ifc2x3::IfcApprovalPropertyRelationship::Approval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcApproval>(true); } +::Ifc2x3::IfcApproval* Ifc2x3::IfcApprovalPropertyRelationship::Approval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcApproval>(true); } void Ifc2x3::IfcApprovalPropertyRelationship::setApproval(::Ifc2x3::IfcApproval* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcApprovalPropertyRelationship::declaration() const { return *((IfcParse::entity*)IFC2X3_types[42]); } const IfcParse::entity& Ifc2x3::IfcApprovalPropertyRelationship::Class() { return *((IfcParse::entity*)IFC2X3_types[42]); } Ifc2x3::IfcApprovalPropertyRelationship::IfcApprovalPropertyRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcApprovalPropertyRelationship::IfcApprovalPropertyRelationship(aggregate_of< ::Ifc2x3::IfcProperty >::ptr v1_ApprovedProperties, ::Ifc2x3::IfcApproval* v2_Approval) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_ApprovedProperties)->generalize());set_attribute_value(1, v2_Approval ? v2_Approval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcApprovalPropertyRelationship::IfcApprovalPropertyRelationship(aggregate_of< ::Ifc2x3::IfcProperty >::ptr v1_ApprovedProperties, ::Ifc2x3::IfcApproval* v2_Approval) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_ApprovedProperties)->generalize());set_attribute_value(1, v2_Approval ? v2_Approval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcApprovalRelationship -::Ifc2x3::IfcApproval* Ifc2x3::IfcApprovalRelationship::RelatedApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcApproval>(true); } +::Ifc2x3::IfcApproval* Ifc2x3::IfcApprovalRelationship::RelatedApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcApproval>(true); } void Ifc2x3::IfcApprovalRelationship::setRelatedApproval(::Ifc2x3::IfcApproval* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcApproval* Ifc2x3::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcApproval>(true); } +::Ifc2x3::IfcApproval* Ifc2x3::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcApproval>(true); } void Ifc2x3::IfcApprovalRelationship::setRelatingApproval(::Ifc2x3::IfcApproval* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc2x3::IfcApprovalRelationship::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc2x3::IfcApprovalRelationship::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcApprovalRelationship::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::string Ifc2x3::IfcApprovalRelationship::Name() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc2x3::IfcApprovalRelationship::Name() const { std::string v = get_attribute_value(3); return v; } void Ifc2x3::IfcApprovalRelationship::setName(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcApprovalRelationship::declaration() const { return *((IfcParse::entity*)IFC2X3_types[43]); } const IfcParse::entity& Ifc2x3::IfcApprovalRelationship::Class() { return *((IfcParse::entity*)IFC2X3_types[43]); } Ifc2x3::IfcApprovalRelationship::IfcApprovalRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcApprovalRelationship::IfcApprovalRelationship(::Ifc2x3::IfcApproval* v1_RelatedApproval, ::Ifc2x3::IfcApproval* v2_RelatingApproval, boost::optional< std::string > v3_Description, std::string v4_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_RelatedApproval ? v1_RelatedApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelatingApproval ? v2_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_Name));; populate_derived(); } +Ifc2x3::IfcApprovalRelationship::IfcApprovalRelationship(::Ifc2x3::IfcApproval* v1_RelatedApproval, ::Ifc2x3::IfcApproval* v2_RelatingApproval, boost::optional< std::string > v3_Description, std::string v4_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_RelatedApproval ? v1_RelatedApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelatingApproval ? v2_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_Name));; populate_derived(); } // Function implementations for IfcArbitraryClosedProfileDef -::Ifc2x3::IfcCurve* Ifc2x3::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcCurve>(true); } +::Ifc2x3::IfcCurve* Ifc2x3::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcCurve>(true); } void Ifc2x3::IfcArbitraryClosedProfileDef::setOuterCurve(::Ifc2x3::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc2x3::IfcArbitraryClosedProfileDef::declaration() const { return *((IfcParse::entity*)IFC2X3_types[44]); } const IfcParse::entity& Ifc2x3::IfcArbitraryClosedProfileDef::Class() { return *((IfcParse::entity*)IFC2X3_types[44]); } Ifc2x3::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc2x3::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcCurve* v3_OuterCurve) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcCurve* v3_OuterCurve) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcArbitraryOpenProfileDef -::Ifc2x3::IfcBoundedCurve* Ifc2x3::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcBoundedCurve>(true); } +::Ifc2x3::IfcBoundedCurve* Ifc2x3::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcBoundedCurve>(true); } void Ifc2x3::IfcArbitraryOpenProfileDef::setCurve(::Ifc2x3::IfcBoundedCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc2x3::IfcArbitraryOpenProfileDef::declaration() const { return *((IfcParse::entity*)IFC2X3_types[45]); } const IfcParse::entity& Ifc2x3::IfcArbitraryOpenProfileDef::Class() { return *((IfcParse::entity*)IFC2X3_types[45]); } Ifc2x3::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc2x3::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcBoundedCurve* v3_Curve) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcBoundedCurve* v3_Curve) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcArbitraryProfileDefWithVoids -aggregate_of< ::Ifc2x3::IfcCurve >::ptr Ifc2x3::IfcArbitraryProfileDefWithVoids::InnerCurves() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc2x3::IfcCurve >(); } +aggregate_of< ::Ifc2x3::IfcCurve >::ptr Ifc2x3::IfcArbitraryProfileDefWithVoids::InnerCurves() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc2x3::IfcCurve >(); } void Ifc2x3::IfcArbitraryProfileDefWithVoids::setInnerCurves(aggregate_of< ::Ifc2x3::IfcCurve >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcArbitraryProfileDefWithVoids::declaration() const { return *((IfcParse::entity*)IFC2X3_types[46]); } const IfcParse::entity& Ifc2x3::IfcArbitraryProfileDefWithVoids::Class() { return *((IfcParse::entity*)IFC2X3_types[46]); } Ifc2x3::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(IfcEntityInstanceData&& e) : IfcArbitraryClosedProfileDef(std::move(e)) { } -Ifc2x3::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcCurve* v3_OuterCurve, aggregate_of< ::Ifc2x3::IfcCurve >::ptr v4_InnerCurves) : IfcArbitraryClosedProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_InnerCurves)->generalize());; populate_derived(); } +Ifc2x3::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcCurve* v3_OuterCurve, aggregate_of< ::Ifc2x3::IfcCurve >::ptr v4_InnerCurves) : IfcArbitraryClosedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_InnerCurves)->generalize());; populate_derived(); } // Function implementations for IfcAsset -std::string Ifc2x3::IfcAsset::AssetID() const { std::string v = data_.get_attribute_value(5); return v; } +std::string Ifc2x3::IfcAsset::AssetID() const { std::string v = get_attribute_value(5); return v; } void Ifc2x3::IfcAsset::setAssetID(std::string v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcCostValue* Ifc2x3::IfcAsset::OriginalValue() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc2x3::IfcCostValue>(true); } +::Ifc2x3::IfcCostValue* Ifc2x3::IfcAsset::OriginalValue() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc2x3::IfcCostValue>(true); } void Ifc2x3::IfcAsset::setOriginalValue(::Ifc2x3::IfcCostValue* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc2x3::IfcCostValue* Ifc2x3::IfcAsset::CurrentValue() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc2x3::IfcCostValue>(true); } +::Ifc2x3::IfcCostValue* Ifc2x3::IfcAsset::CurrentValue() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc2x3::IfcCostValue>(true); } void Ifc2x3::IfcAsset::setCurrentValue(::Ifc2x3::IfcCostValue* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc2x3::IfcCostValue* Ifc2x3::IfcAsset::TotalReplacementCost() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc2x3::IfcCostValue>(true); } +::Ifc2x3::IfcCostValue* Ifc2x3::IfcAsset::TotalReplacementCost() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc2x3::IfcCostValue>(true); } void Ifc2x3::IfcAsset::setTotalReplacementCost(::Ifc2x3::IfcCostValue* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -::Ifc2x3::IfcActorSelect* Ifc2x3::IfcAsset::Owner() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc2x3::IfcActorSelect>(true); } +::Ifc2x3::IfcActorSelect* Ifc2x3::IfcAsset::Owner() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc2x3::IfcActorSelect>(true); } void Ifc2x3::IfcAsset::setOwner(::Ifc2x3::IfcActorSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc2x3::IfcActorSelect* Ifc2x3::IfcAsset::User() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc2x3::IfcActorSelect>(true); } +::Ifc2x3::IfcActorSelect* Ifc2x3::IfcAsset::User() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc2x3::IfcActorSelect>(true); } void Ifc2x3::IfcAsset::setUser(::Ifc2x3::IfcActorSelect* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } -::Ifc2x3::IfcPerson* Ifc2x3::IfcAsset::ResponsiblePerson() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc2x3::IfcPerson>(true); } +::Ifc2x3::IfcPerson* Ifc2x3::IfcAsset::ResponsiblePerson() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc2x3::IfcPerson>(true); } void Ifc2x3::IfcAsset::setResponsiblePerson(::Ifc2x3::IfcPerson* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } -::Ifc2x3::IfcCalendarDate* Ifc2x3::IfcAsset::IncorporationDate() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(12)))->as<::Ifc2x3::IfcCalendarDate>(true); } +::Ifc2x3::IfcCalendarDate* Ifc2x3::IfcAsset::IncorporationDate() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(12)))->as<::Ifc2x3::IfcCalendarDate>(true); } void Ifc2x3::IfcAsset::setIncorporationDate(::Ifc2x3::IfcCalendarDate* v) { set_attribute_value(12, v->as());if constexpr (false)unset_attribute_value(12); } -::Ifc2x3::IfcCostValue* Ifc2x3::IfcAsset::DepreciatedValue() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(13)))->as<::Ifc2x3::IfcCostValue>(true); } +::Ifc2x3::IfcCostValue* Ifc2x3::IfcAsset::DepreciatedValue() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(13)))->as<::Ifc2x3::IfcCostValue>(true); } void Ifc2x3::IfcAsset::setDepreciatedValue(::Ifc2x3::IfcCostValue* v) { set_attribute_value(13, v->as());if constexpr (false)unset_attribute_value(13); } const IfcParse::entity& Ifc2x3::IfcAsset::declaration() const { return *((IfcParse::entity*)IFC2X3_types[50]); } const IfcParse::entity& Ifc2x3::IfcAsset::Class() { return *((IfcParse::entity*)IFC2X3_types[50]); } Ifc2x3::IfcAsset::IfcAsset(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc2x3::IfcAsset::IfcAsset(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_AssetID, ::Ifc2x3::IfcCostValue* v7_OriginalValue, ::Ifc2x3::IfcCostValue* v8_CurrentValue, ::Ifc2x3::IfcCostValue* v9_TotalReplacementCost, ::Ifc2x3::IfcActorSelect* v10_Owner, ::Ifc2x3::IfcActorSelect* v11_User, ::Ifc2x3::IfcPerson* v12_ResponsiblePerson, ::Ifc2x3::IfcCalendarDate* v13_IncorporationDate, ::Ifc2x3::IfcCostValue* v14_DepreciatedValue) : IfcGroup(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_AssetID));set_attribute_value(6, v7_OriginalValue ? v7_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_CurrentValue ? v8_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_TotalReplacementCost ? v9_TotalReplacementCost->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_Owner ? v10_Owner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_User ? v11_User->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, v12_ResponsiblePerson ? v12_ResponsiblePerson->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(12, v13_IncorporationDate ? v13_IncorporationDate->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(13, v14_DepreciatedValue ? v14_DepreciatedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcAsset::IfcAsset(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_AssetID, ::Ifc2x3::IfcCostValue* v7_OriginalValue, ::Ifc2x3::IfcCostValue* v8_CurrentValue, ::Ifc2x3::IfcCostValue* v9_TotalReplacementCost, ::Ifc2x3::IfcActorSelect* v10_Owner, ::Ifc2x3::IfcActorSelect* v11_User, ::Ifc2x3::IfcPerson* v12_ResponsiblePerson, ::Ifc2x3::IfcCalendarDate* v13_IncorporationDate, ::Ifc2x3::IfcCostValue* v14_DepreciatedValue) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_AssetID));set_attribute_value(6, v7_OriginalValue ? v7_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_CurrentValue ? v8_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_TotalReplacementCost ? v9_TotalReplacementCost->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_Owner ? v10_Owner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_User ? v11_User->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, v12_ResponsiblePerson ? v12_ResponsiblePerson->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(12, v13_IncorporationDate ? v13_IncorporationDate->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(13, v14_DepreciatedValue ? v14_DepreciatedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAsymmetricIShapeProfileDef -double Ifc2x3::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { double v = data_.get_attribute_value(8); return v; } +double Ifc2x3::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { double v = get_attribute_value(8); return v; } void Ifc2x3::IfcAsymmetricIShapeProfileDef::setTopFlangeWidth(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -boost::optional< double > Ifc2x3::IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc2x3::IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc2x3::IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc2x3::IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc2x3::IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc2x3::IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc2x3::IfcAsymmetricIShapeProfileDef::CentreOfGravityInY() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc2x3::IfcAsymmetricIShapeProfileDef::CentreOfGravityInY() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc2x3::IfcAsymmetricIShapeProfileDef::setCentreOfGravityInY(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc2x3::IfcAsymmetricIShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC2X3_types[51]); } const IfcParse::entity& Ifc2x3::IfcAsymmetricIShapeProfileDef::Class() { return *((IfcParse::entity*)IFC2X3_types[51]); } Ifc2x3::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(IfcEntityInstanceData&& e) : IfcIShapeProfileDef(std::move(e)) { } -Ifc2x3::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D* v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, double v9_TopFlangeWidth, boost::optional< double > v10_TopFlangeThickness, boost::optional< double > v11_TopFlangeFilletRadius, boost::optional< double > v12_CentreOfGravityInY) : IfcIShapeProfileDef(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_CentreOfGravityInY) {set_attribute_value(11, (*v12_CentreOfGravityInY)); }; populate_derived(); } +Ifc2x3::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D* v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, double v9_TopFlangeWidth, boost::optional< double > v10_TopFlangeThickness, boost::optional< double > v11_TopFlangeFilletRadius, boost::optional< double > v12_CentreOfGravityInY) : IfcIShapeProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_CentreOfGravityInY) {set_attribute_value(11, (*v12_CentreOfGravityInY)); }; populate_derived(); } // Function implementations for IfcAxis1Placement -::Ifc2x3::IfcDirection* Ifc2x3::IfcAxis1Placement::Axis() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcDirection>(true); } +::Ifc2x3::IfcDirection* Ifc2x3::IfcAxis1Placement::Axis() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcDirection>(true); } void Ifc2x3::IfcAxis1Placement::setAxis(::Ifc2x3::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcAxis1Placement::declaration() const { return *((IfcParse::entity*)IFC2X3_types[52]); } const IfcParse::entity& Ifc2x3::IfcAxis1Placement::Class() { return *((IfcParse::entity*)IFC2X3_types[52]); } Ifc2x3::IfcAxis1Placement::IfcAxis1Placement(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc2x3::IfcAxis1Placement::IfcAxis1Placement(::Ifc2x3::IfcCartesianPoint* v1_Location, ::Ifc2x3::IfcDirection* v2_Axis) : IfcPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcAxis1Placement::IfcAxis1Placement(::Ifc2x3::IfcCartesianPoint* v1_Location, ::Ifc2x3::IfcDirection* v2_Axis) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAxis2Placement2D -::Ifc2x3::IfcDirection* Ifc2x3::IfcAxis2Placement2D::RefDirection() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcDirection>(true); } +::Ifc2x3::IfcDirection* Ifc2x3::IfcAxis2Placement2D::RefDirection() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcDirection>(true); } void Ifc2x3::IfcAxis2Placement2D::setRefDirection(::Ifc2x3::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcAxis2Placement2D::declaration() const { return *((IfcParse::entity*)IFC2X3_types[54]); } const IfcParse::entity& Ifc2x3::IfcAxis2Placement2D::Class() { return *((IfcParse::entity*)IFC2X3_types[54]); } Ifc2x3::IfcAxis2Placement2D::IfcAxis2Placement2D(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc2x3::IfcAxis2Placement2D::IfcAxis2Placement2D(::Ifc2x3::IfcCartesianPoint* v1_Location, ::Ifc2x3::IfcDirection* v2_RefDirection) : IfcPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RefDirection ? v2_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcAxis2Placement2D::IfcAxis2Placement2D(::Ifc2x3::IfcCartesianPoint* v1_Location, ::Ifc2x3::IfcDirection* v2_RefDirection) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RefDirection ? v2_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAxis2Placement3D -::Ifc2x3::IfcDirection* Ifc2x3::IfcAxis2Placement3D::Axis() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcDirection>(true); } +::Ifc2x3::IfcDirection* Ifc2x3::IfcAxis2Placement3D::Axis() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcDirection>(true); } void Ifc2x3::IfcAxis2Placement3D::setAxis(::Ifc2x3::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc2x3::IfcDirection* Ifc2x3::IfcAxis2Placement3D::RefDirection() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcDirection>(true); } +::Ifc2x3::IfcDirection* Ifc2x3::IfcAxis2Placement3D::RefDirection() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcDirection>(true); } void Ifc2x3::IfcAxis2Placement3D::setRefDirection(::Ifc2x3::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc2x3::IfcAxis2Placement3D::declaration() const { return *((IfcParse::entity*)IFC2X3_types[55]); } const IfcParse::entity& Ifc2x3::IfcAxis2Placement3D::Class() { return *((IfcParse::entity*)IFC2X3_types[55]); } Ifc2x3::IfcAxis2Placement3D::IfcAxis2Placement3D(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc2x3::IfcAxis2Placement3D::IfcAxis2Placement3D(::Ifc2x3::IfcCartesianPoint* v1_Location, ::Ifc2x3::IfcDirection* v2_Axis, ::Ifc2x3::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcAxis2Placement3D::IfcAxis2Placement3D(::Ifc2x3::IfcCartesianPoint* v1_Location, ::Ifc2x3::IfcDirection* v2_Axis, ::Ifc2x3::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBSplineCurve -int Ifc2x3::IfcBSplineCurve::Degree() const { int v = data_.get_attribute_value(0); return v; } +int Ifc2x3::IfcBSplineCurve::Degree() const { int v = get_attribute_value(0); return v; } void Ifc2x3::IfcBSplineCurve::setDegree(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc2x3::IfcCartesianPoint >::ptr Ifc2x3::IfcBSplineCurve::ControlPointsList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc2x3::IfcCartesianPoint >(); } +aggregate_of< ::Ifc2x3::IfcCartesianPoint >::ptr Ifc2x3::IfcBSplineCurve::ControlPointsList() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc2x3::IfcCartesianPoint >(); } void Ifc2x3::IfcBSplineCurve::setControlPointsList(aggregate_of< ::Ifc2x3::IfcCartesianPoint >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc2x3::IfcBSplineCurveForm::Value Ifc2x3::IfcBSplineCurve::CurveForm() const { return ::Ifc2x3::IfcBSplineCurveForm::FromString(data_.get_attribute_value(2)); } +::Ifc2x3::IfcBSplineCurveForm::Value Ifc2x3::IfcBSplineCurve::CurveForm() const { return ::Ifc2x3::IfcBSplineCurveForm::FromString(get_attribute_value(2)); } void Ifc2x3::IfcBSplineCurve::setCurveForm(::Ifc2x3::IfcBSplineCurveForm::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc2x3::IfcBSplineCurveForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -boost::logic::tribool Ifc2x3::IfcBSplineCurve::ClosedCurve() const { boost::logic::tribool v = data_.get_attribute_value(3); return v; } +boost::logic::tribool Ifc2x3::IfcBSplineCurve::ClosedCurve() const { boost::logic::tribool v = get_attribute_value(3); return v; } void Ifc2x3::IfcBSplineCurve::setClosedCurve(boost::logic::tribool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::logic::tribool Ifc2x3::IfcBSplineCurve::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(4); return v; } +boost::logic::tribool Ifc2x3::IfcBSplineCurve::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(4); return v; } void Ifc2x3::IfcBSplineCurve::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc2x3::IfcBSplineCurve::declaration() const { return *((IfcParse::entity*)IFC2X3_types[80]); } const IfcParse::entity& Ifc2x3::IfcBSplineCurve::Class() { return *((IfcParse::entity*)IFC2X3_types[80]); } Ifc2x3::IfcBSplineCurve::IfcBSplineCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc2x3::IfcBSplineCurve::IfcBSplineCurve(int v1_Degree, aggregate_of< ::Ifc2x3::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc2x3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; populate_derived(); } +Ifc2x3::IfcBSplineCurve::IfcBSplineCurve(int v1_Degree, aggregate_of< ::Ifc2x3::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc2x3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; populate_derived(); } // Function implementations for IfcBeam @@ -5834,17 +5834,17 @@ Ifc2x3::IfcBSplineCurve::IfcBSplineCurve(int v1_Degree, aggregate_of< ::Ifc2x3:: const IfcParse::entity& Ifc2x3::IfcBeam::declaration() const { return *((IfcParse::entity*)IFC2X3_types[56]); } const IfcParse::entity& Ifc2x3::IfcBeam::Class() { return *((IfcParse::entity*)IFC2X3_types[56]); } Ifc2x3::IfcBeam::IfcBeam(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc2x3::IfcBeam::IfcBeam(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcBeam::IfcBeam(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcBeamType -::Ifc2x3::IfcBeamTypeEnum::Value Ifc2x3::IfcBeamType::PredefinedType() const { return ::Ifc2x3::IfcBeamTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcBeamTypeEnum::Value Ifc2x3::IfcBeamType::PredefinedType() const { return ::Ifc2x3::IfcBeamTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcBeamType::setPredefinedType(::Ifc2x3::IfcBeamTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcBeamTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcBeamType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[57]); } const IfcParse::entity& Ifc2x3::IfcBeamType::Class() { return *((IfcParse::entity*)IFC2X3_types[57]); } Ifc2x3::IfcBeamType::IfcBeamType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc2x3::IfcBeamType::IfcBeamType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcBeamTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcBeamType::IfcBeamType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcBeamTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBezierCurve @@ -5852,43 +5852,43 @@ Ifc2x3::IfcBeamType::IfcBeamType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHist const IfcParse::entity& Ifc2x3::IfcBezierCurve::declaration() const { return *((IfcParse::entity*)IFC2X3_types[60]); } const IfcParse::entity& Ifc2x3::IfcBezierCurve::Class() { return *((IfcParse::entity*)IFC2X3_types[60]); } Ifc2x3::IfcBezierCurve::IfcBezierCurve(IfcEntityInstanceData&& e) : IfcBSplineCurve(std::move(e)) { } -Ifc2x3::IfcBezierCurve::IfcBezierCurve(int v1_Degree, aggregate_of< ::Ifc2x3::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc2x3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) : IfcBSplineCurve(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; populate_derived(); } +Ifc2x3::IfcBezierCurve::IfcBezierCurve(int v1_Degree, aggregate_of< ::Ifc2x3::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc2x3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) : IfcBSplineCurve(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; populate_derived(); } // Function implementations for IfcBlobTexture -std::string Ifc2x3::IfcBlobTexture::RasterFormat() const { std::string v = data_.get_attribute_value(4); return v; } +std::string Ifc2x3::IfcBlobTexture::RasterFormat() const { std::string v = get_attribute_value(4); return v; } void Ifc2x3::IfcBlobTexture::setRasterFormat(std::string v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -bool Ifc2x3::IfcBlobTexture::RasterCode() const { bool v = data_.get_attribute_value(5); return v; } +bool Ifc2x3::IfcBlobTexture::RasterCode() const { bool v = get_attribute_value(5); return v; } void Ifc2x3::IfcBlobTexture::setRasterCode(bool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc2x3::IfcBlobTexture::declaration() const { return *((IfcParse::entity*)IFC2X3_types[61]); } const IfcParse::entity& Ifc2x3::IfcBlobTexture::Class() { return *((IfcParse::entity*)IFC2X3_types[61]); } Ifc2x3::IfcBlobTexture::IfcBlobTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -Ifc2x3::IfcBlobTexture::IfcBlobTexture(bool v1_RepeatS, bool v2_RepeatT, ::Ifc2x3::IfcSurfaceTextureEnum::Value v3_TextureType, ::Ifc2x3::IfcCartesianTransformationOperator2D* v4_TextureTransform, std::string v5_RasterFormat, bool v6_RasterCode) : IfcSurfaceTexture(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT));set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcSurfaceTextureEnum::Class(),(size_t)v3_TextureType)));set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_RasterFormat));set_attribute_value(5, (v6_RasterCode));; populate_derived(); } +Ifc2x3::IfcBlobTexture::IfcBlobTexture(bool v1_RepeatS, bool v2_RepeatT, ::Ifc2x3::IfcSurfaceTextureEnum::Value v3_TextureType, ::Ifc2x3::IfcCartesianTransformationOperator2D* v4_TextureTransform, std::string v5_RasterFormat, bool v6_RasterCode) : IfcSurfaceTexture(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT));set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcSurfaceTextureEnum::Class(),(size_t)v3_TextureType)));set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_RasterFormat));set_attribute_value(5, (v6_RasterCode));; populate_derived(); } // Function implementations for IfcBlock -double Ifc2x3::IfcBlock::XLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc2x3::IfcBlock::XLength() const { double v = get_attribute_value(1); return v; } void Ifc2x3::IfcBlock::setXLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc2x3::IfcBlock::YLength() const { double v = data_.get_attribute_value(2); return v; } +double Ifc2x3::IfcBlock::YLength() const { double v = get_attribute_value(2); return v; } void Ifc2x3::IfcBlock::setYLength(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc2x3::IfcBlock::ZLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc2x3::IfcBlock::ZLength() const { double v = get_attribute_value(3); return v; } void Ifc2x3::IfcBlock::setZLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcBlock::declaration() const { return *((IfcParse::entity*)IFC2X3_types[62]); } const IfcParse::entity& Ifc2x3::IfcBlock::Class() { return *((IfcParse::entity*)IFC2X3_types[62]); } Ifc2x3::IfcBlock::IfcBlock(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc2x3::IfcBlock::IfcBlock(::Ifc2x3::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; populate_derived(); } +Ifc2x3::IfcBlock::IfcBlock(::Ifc2x3::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; populate_derived(); } // Function implementations for IfcBoilerType -::Ifc2x3::IfcBoilerTypeEnum::Value Ifc2x3::IfcBoilerType::PredefinedType() const { return ::Ifc2x3::IfcBoilerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcBoilerTypeEnum::Value Ifc2x3::IfcBoilerType::PredefinedType() const { return ::Ifc2x3::IfcBoilerTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcBoilerType::setPredefinedType(::Ifc2x3::IfcBoilerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcBoilerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcBoilerType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[63]); } const IfcParse::entity& Ifc2x3::IfcBoilerType::Class() { return *((IfcParse::entity*)IFC2X3_types[63]); } Ifc2x3::IfcBoilerType::IfcBoilerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc2x3::IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcBoilerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcBoilerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBooleanClippingResult @@ -5896,95 +5896,95 @@ Ifc2x3::IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, ::Ifc2x3::IfcOwner const IfcParse::entity& Ifc2x3::IfcBooleanClippingResult::declaration() const { return *((IfcParse::entity*)IFC2X3_types[66]); } const IfcParse::entity& Ifc2x3::IfcBooleanClippingResult::Class() { return *((IfcParse::entity*)IFC2X3_types[66]); } Ifc2x3::IfcBooleanClippingResult::IfcBooleanClippingResult(IfcEntityInstanceData&& e) : IfcBooleanResult(std::move(e)) { } -Ifc2x3::IfcBooleanClippingResult::IfcBooleanClippingResult(::Ifc2x3::IfcBooleanOperator::Value v1_Operator, ::Ifc2x3::IfcBooleanOperand* v2_FirstOperand, ::Ifc2x3::IfcBooleanOperand* v3_SecondOperand) : IfcBooleanResult(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcBooleanClippingResult::IfcBooleanClippingResult(::Ifc2x3::IfcBooleanOperator::Value v1_Operator, ::Ifc2x3::IfcBooleanOperand* v2_FirstOperand, ::Ifc2x3::IfcBooleanOperand* v3_SecondOperand) : IfcBooleanResult(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBooleanResult -::Ifc2x3::IfcBooleanOperator::Value Ifc2x3::IfcBooleanResult::Operator() const { return ::Ifc2x3::IfcBooleanOperator::FromString(data_.get_attribute_value(0)); } +::Ifc2x3::IfcBooleanOperator::Value Ifc2x3::IfcBooleanResult::Operator() const { return ::Ifc2x3::IfcBooleanOperator::FromString(get_attribute_value(0)); } void Ifc2x3::IfcBooleanResult::setOperator(::Ifc2x3::IfcBooleanOperator::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc2x3::IfcBooleanOperator::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcBooleanOperand* Ifc2x3::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcBooleanOperand>(true); } +::Ifc2x3::IfcBooleanOperand* Ifc2x3::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcBooleanOperand>(true); } void Ifc2x3::IfcBooleanResult::setFirstOperand(::Ifc2x3::IfcBooleanOperand* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc2x3::IfcBooleanOperand* Ifc2x3::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcBooleanOperand>(true); } +::Ifc2x3::IfcBooleanOperand* Ifc2x3::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcBooleanOperand>(true); } void Ifc2x3::IfcBooleanResult::setSecondOperand(::Ifc2x3::IfcBooleanOperand* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc2x3::IfcBooleanResult::declaration() const { return *((IfcParse::entity*)IFC2X3_types[69]); } const IfcParse::entity& Ifc2x3::IfcBooleanResult::Class() { return *((IfcParse::entity*)IFC2X3_types[69]); } Ifc2x3::IfcBooleanResult::IfcBooleanResult(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc2x3::IfcBooleanResult::IfcBooleanResult(::Ifc2x3::IfcBooleanOperator::Value v1_Operator, ::Ifc2x3::IfcBooleanOperand* v2_FirstOperand, ::Ifc2x3::IfcBooleanOperand* v3_SecondOperand) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcBooleanResult::IfcBooleanResult(::Ifc2x3::IfcBooleanOperator::Value v1_Operator, ::Ifc2x3::IfcBooleanOperand* v2_FirstOperand, ::Ifc2x3::IfcBooleanOperand* v3_SecondOperand) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryCondition -boost::optional< std::string > Ifc2x3::IfcBoundaryCondition::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc2x3::IfcBoundaryCondition::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcBoundaryCondition::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc2x3::IfcBoundaryCondition::declaration() const { return *((IfcParse::entity*)IFC2X3_types[70]); } const IfcParse::entity& Ifc2x3::IfcBoundaryCondition::Class() { return *((IfcParse::entity*)IFC2X3_types[70]); } Ifc2x3::IfcBoundaryCondition::IfcBoundaryCondition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc2x3::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcBoundaryEdgeCondition -boost::optional< double > Ifc2x3::IfcBoundaryEdgeCondition::LinearStiffnessByLengthX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc2x3::IfcBoundaryEdgeCondition::LinearStiffnessByLengthX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc2x3::IfcBoundaryEdgeCondition::setLinearStiffnessByLengthX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc2x3::IfcBoundaryEdgeCondition::LinearStiffnessByLengthY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc2x3::IfcBoundaryEdgeCondition::LinearStiffnessByLengthY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc2x3::IfcBoundaryEdgeCondition::setLinearStiffnessByLengthY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc2x3::IfcBoundaryEdgeCondition::LinearStiffnessByLengthZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc2x3::IfcBoundaryEdgeCondition::LinearStiffnessByLengthZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc2x3::IfcBoundaryEdgeCondition::setLinearStiffnessByLengthZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc2x3::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc2x3::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc2x3::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc2x3::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc2x3::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc2x3::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc2x3::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc2x3::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc2x3::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc2x3::IfcBoundaryEdgeCondition::declaration() const { return *((IfcParse::entity*)IFC2X3_types[71]); } const IfcParse::entity& Ifc2x3::IfcBoundaryEdgeCondition::Class() { return *((IfcParse::entity*)IFC2X3_types[71]); } Ifc2x3::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -Ifc2x3::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< std::string > v1_Name, boost::optional< double > v2_LinearStiffnessByLengthX, boost::optional< double > v3_LinearStiffnessByLengthY, boost::optional< double > v4_LinearStiffnessByLengthZ, boost::optional< double > v5_RotationalStiffnessByLengthX, boost::optional< double > v6_RotationalStiffnessByLengthY, boost::optional< double > v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearStiffnessByLengthX) {set_attribute_value(1, (*v2_LinearStiffnessByLengthX)); } if (v3_LinearStiffnessByLengthY) {set_attribute_value(2, (*v3_LinearStiffnessByLengthY)); } if (v4_LinearStiffnessByLengthZ) {set_attribute_value(3, (*v4_LinearStiffnessByLengthZ)); } if (v5_RotationalStiffnessByLengthX) {set_attribute_value(4, (*v5_RotationalStiffnessByLengthX)); } if (v6_RotationalStiffnessByLengthY) {set_attribute_value(5, (*v6_RotationalStiffnessByLengthY)); } if (v7_RotationalStiffnessByLengthZ) {set_attribute_value(6, (*v7_RotationalStiffnessByLengthZ)); }; populate_derived(); } +Ifc2x3::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< std::string > v1_Name, boost::optional< double > v2_LinearStiffnessByLengthX, boost::optional< double > v3_LinearStiffnessByLengthY, boost::optional< double > v4_LinearStiffnessByLengthZ, boost::optional< double > v5_RotationalStiffnessByLengthX, boost::optional< double > v6_RotationalStiffnessByLengthY, boost::optional< double > v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearStiffnessByLengthX) {set_attribute_value(1, (*v2_LinearStiffnessByLengthX)); } if (v3_LinearStiffnessByLengthY) {set_attribute_value(2, (*v3_LinearStiffnessByLengthY)); } if (v4_LinearStiffnessByLengthZ) {set_attribute_value(3, (*v4_LinearStiffnessByLengthZ)); } if (v5_RotationalStiffnessByLengthX) {set_attribute_value(4, (*v5_RotationalStiffnessByLengthX)); } if (v6_RotationalStiffnessByLengthY) {set_attribute_value(5, (*v6_RotationalStiffnessByLengthY)); } if (v7_RotationalStiffnessByLengthZ) {set_attribute_value(6, (*v7_RotationalStiffnessByLengthZ)); }; populate_derived(); } // Function implementations for IfcBoundaryFaceCondition -boost::optional< double > Ifc2x3::IfcBoundaryFaceCondition::LinearStiffnessByAreaX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc2x3::IfcBoundaryFaceCondition::LinearStiffnessByAreaX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc2x3::IfcBoundaryFaceCondition::setLinearStiffnessByAreaX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc2x3::IfcBoundaryFaceCondition::LinearStiffnessByAreaY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc2x3::IfcBoundaryFaceCondition::LinearStiffnessByAreaY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc2x3::IfcBoundaryFaceCondition::setLinearStiffnessByAreaY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc2x3::IfcBoundaryFaceCondition::LinearStiffnessByAreaZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc2x3::IfcBoundaryFaceCondition::LinearStiffnessByAreaZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc2x3::IfcBoundaryFaceCondition::setLinearStiffnessByAreaZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc2x3::IfcBoundaryFaceCondition::declaration() const { return *((IfcParse::entity*)IFC2X3_types[72]); } const IfcParse::entity& Ifc2x3::IfcBoundaryFaceCondition::Class() { return *((IfcParse::entity*)IFC2X3_types[72]); } Ifc2x3::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -Ifc2x3::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std::string > v1_Name, boost::optional< double > v2_LinearStiffnessByAreaX, boost::optional< double > v3_LinearStiffnessByAreaY, boost::optional< double > v4_LinearStiffnessByAreaZ) : IfcBoundaryCondition(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearStiffnessByAreaX) {set_attribute_value(1, (*v2_LinearStiffnessByAreaX)); } if (v3_LinearStiffnessByAreaY) {set_attribute_value(2, (*v3_LinearStiffnessByAreaY)); } if (v4_LinearStiffnessByAreaZ) {set_attribute_value(3, (*v4_LinearStiffnessByAreaZ)); }; populate_derived(); } +Ifc2x3::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std::string > v1_Name, boost::optional< double > v2_LinearStiffnessByAreaX, boost::optional< double > v3_LinearStiffnessByAreaY, boost::optional< double > v4_LinearStiffnessByAreaZ) : IfcBoundaryCondition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearStiffnessByAreaX) {set_attribute_value(1, (*v2_LinearStiffnessByAreaX)); } if (v3_LinearStiffnessByAreaY) {set_attribute_value(2, (*v3_LinearStiffnessByAreaY)); } if (v4_LinearStiffnessByAreaZ) {set_attribute_value(3, (*v4_LinearStiffnessByAreaZ)); }; populate_derived(); } // Function implementations for IfcBoundaryNodeCondition -boost::optional< double > Ifc2x3::IfcBoundaryNodeCondition::LinearStiffnessX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc2x3::IfcBoundaryNodeCondition::LinearStiffnessX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc2x3::IfcBoundaryNodeCondition::setLinearStiffnessX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc2x3::IfcBoundaryNodeCondition::LinearStiffnessY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc2x3::IfcBoundaryNodeCondition::LinearStiffnessY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc2x3::IfcBoundaryNodeCondition::setLinearStiffnessY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc2x3::IfcBoundaryNodeCondition::LinearStiffnessZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc2x3::IfcBoundaryNodeCondition::LinearStiffnessZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc2x3::IfcBoundaryNodeCondition::setLinearStiffnessZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc2x3::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc2x3::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc2x3::IfcBoundaryNodeCondition::setRotationalStiffnessX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc2x3::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc2x3::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc2x3::IfcBoundaryNodeCondition::setRotationalStiffnessY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc2x3::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc2x3::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc2x3::IfcBoundaryNodeCondition::setRotationalStiffnessZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc2x3::IfcBoundaryNodeCondition::declaration() const { return *((IfcParse::entity*)IFC2X3_types[73]); } const IfcParse::entity& Ifc2x3::IfcBoundaryNodeCondition::Class() { return *((IfcParse::entity*)IFC2X3_types[73]); } Ifc2x3::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -Ifc2x3::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< std::string > v1_Name, boost::optional< double > v2_LinearStiffnessX, boost::optional< double > v3_LinearStiffnessY, boost::optional< double > v4_LinearStiffnessZ, boost::optional< double > v5_RotationalStiffnessX, boost::optional< double > v6_RotationalStiffnessY, boost::optional< double > v7_RotationalStiffnessZ) : IfcBoundaryCondition(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearStiffnessX) {set_attribute_value(1, (*v2_LinearStiffnessX)); } if (v3_LinearStiffnessY) {set_attribute_value(2, (*v3_LinearStiffnessY)); } if (v4_LinearStiffnessZ) {set_attribute_value(3, (*v4_LinearStiffnessZ)); } if (v5_RotationalStiffnessX) {set_attribute_value(4, (*v5_RotationalStiffnessX)); } if (v6_RotationalStiffnessY) {set_attribute_value(5, (*v6_RotationalStiffnessY)); } if (v7_RotationalStiffnessZ) {set_attribute_value(6, (*v7_RotationalStiffnessZ)); }; populate_derived(); } +Ifc2x3::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< std::string > v1_Name, boost::optional< double > v2_LinearStiffnessX, boost::optional< double > v3_LinearStiffnessY, boost::optional< double > v4_LinearStiffnessZ, boost::optional< double > v5_RotationalStiffnessX, boost::optional< double > v6_RotationalStiffnessY, boost::optional< double > v7_RotationalStiffnessZ) : IfcBoundaryCondition(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearStiffnessX) {set_attribute_value(1, (*v2_LinearStiffnessX)); } if (v3_LinearStiffnessY) {set_attribute_value(2, (*v3_LinearStiffnessY)); } if (v4_LinearStiffnessZ) {set_attribute_value(3, (*v4_LinearStiffnessZ)); } if (v5_RotationalStiffnessX) {set_attribute_value(4, (*v5_RotationalStiffnessX)); } if (v6_RotationalStiffnessY) {set_attribute_value(5, (*v6_RotationalStiffnessY)); } if (v7_RotationalStiffnessZ) {set_attribute_value(6, (*v7_RotationalStiffnessZ)); }; populate_derived(); } // Function implementations for IfcBoundaryNodeConditionWarping -boost::optional< double > Ifc2x3::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc2x3::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc2x3::IfcBoundaryNodeConditionWarping::setWarpingStiffness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc2x3::IfcBoundaryNodeConditionWarping::declaration() const { return *((IfcParse::entity*)IFC2X3_types[74]); } const IfcParse::entity& Ifc2x3::IfcBoundaryNodeConditionWarping::Class() { return *((IfcParse::entity*)IFC2X3_types[74]); } Ifc2x3::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(IfcEntityInstanceData&& e) : IfcBoundaryNodeCondition(std::move(e)) { } -Ifc2x3::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost::optional< std::string > v1_Name, boost::optional< double > v2_LinearStiffnessX, boost::optional< double > v3_LinearStiffnessY, boost::optional< double > v4_LinearStiffnessZ, boost::optional< double > v5_RotationalStiffnessX, boost::optional< double > v6_RotationalStiffnessY, boost::optional< double > v7_RotationalStiffnessZ, boost::optional< double > v8_WarpingStiffness) : IfcBoundaryNodeCondition(IfcEntityInstanceData(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearStiffnessX) {set_attribute_value(1, (*v2_LinearStiffnessX)); } if (v3_LinearStiffnessY) {set_attribute_value(2, (*v3_LinearStiffnessY)); } if (v4_LinearStiffnessZ) {set_attribute_value(3, (*v4_LinearStiffnessZ)); } if (v5_RotationalStiffnessX) {set_attribute_value(4, (*v5_RotationalStiffnessX)); } if (v6_RotationalStiffnessY) {set_attribute_value(5, (*v6_RotationalStiffnessY)); } if (v7_RotationalStiffnessZ) {set_attribute_value(6, (*v7_RotationalStiffnessZ)); } if (v8_WarpingStiffness) {set_attribute_value(7, (*v8_WarpingStiffness)); }; populate_derived(); } +Ifc2x3::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost::optional< std::string > v1_Name, boost::optional< double > v2_LinearStiffnessX, boost::optional< double > v3_LinearStiffnessY, boost::optional< double > v4_LinearStiffnessZ, boost::optional< double > v5_RotationalStiffnessX, boost::optional< double > v6_RotationalStiffnessY, boost::optional< double > v7_RotationalStiffnessZ, boost::optional< double > v8_WarpingStiffness) : IfcBoundaryNodeCondition(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearStiffnessX) {set_attribute_value(1, (*v2_LinearStiffnessX)); } if (v3_LinearStiffnessY) {set_attribute_value(2, (*v3_LinearStiffnessY)); } if (v4_LinearStiffnessZ) {set_attribute_value(3, (*v4_LinearStiffnessZ)); } if (v5_RotationalStiffnessX) {set_attribute_value(4, (*v5_RotationalStiffnessX)); } if (v6_RotationalStiffnessY) {set_attribute_value(5, (*v6_RotationalStiffnessY)); } if (v7_RotationalStiffnessZ) {set_attribute_value(6, (*v7_RotationalStiffnessZ)); } if (v8_WarpingStiffness) {set_attribute_value(7, (*v8_WarpingStiffness)); }; populate_derived(); } // Function implementations for IfcBoundedCurve @@ -5992,7 +5992,7 @@ Ifc2x3::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost:: const IfcParse::entity& Ifc2x3::IfcBoundedCurve::declaration() const { return *((IfcParse::entity*)IFC2X3_types[75]); } const IfcParse::entity& Ifc2x3::IfcBoundedCurve::Class() { return *((IfcParse::entity*)IFC2X3_types[75]); } Ifc2x3::IfcBoundedCurve::IfcBoundedCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc2x3::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc2x3::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcBoundedSurface @@ -6000,47 +6000,47 @@ Ifc2x3::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData(stor const IfcParse::entity& Ifc2x3::IfcBoundedSurface::declaration() const { return *((IfcParse::entity*)IFC2X3_types[76]); } const IfcParse::entity& Ifc2x3::IfcBoundedSurface::Class() { return *((IfcParse::entity*)IFC2X3_types[76]); } Ifc2x3::IfcBoundedSurface::IfcBoundedSurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc2x3::IfcBoundedSurface::IfcBoundedSurface() : IfcSurface(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc2x3::IfcBoundedSurface::IfcBoundedSurface() : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcBoundingBox -::Ifc2x3::IfcCartesianPoint* Ifc2x3::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcCartesianPoint>(true); } +::Ifc2x3::IfcCartesianPoint* Ifc2x3::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcCartesianPoint>(true); } void Ifc2x3::IfcBoundingBox::setCorner(::Ifc2x3::IfcCartesianPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc2x3::IfcBoundingBox::XDim() const { double v = data_.get_attribute_value(1); return v; } +double Ifc2x3::IfcBoundingBox::XDim() const { double v = get_attribute_value(1); return v; } void Ifc2x3::IfcBoundingBox::setXDim(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc2x3::IfcBoundingBox::YDim() const { double v = data_.get_attribute_value(2); return v; } +double Ifc2x3::IfcBoundingBox::YDim() const { double v = get_attribute_value(2); return v; } void Ifc2x3::IfcBoundingBox::setYDim(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc2x3::IfcBoundingBox::ZDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc2x3::IfcBoundingBox::ZDim() const { double v = get_attribute_value(3); return v; } void Ifc2x3::IfcBoundingBox::setZDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcBoundingBox::declaration() const { return *((IfcParse::entity*)IFC2X3_types[77]); } const IfcParse::entity& Ifc2x3::IfcBoundingBox::Class() { return *((IfcParse::entity*)IFC2X3_types[77]); } Ifc2x3::IfcBoundingBox::IfcBoundingBox(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc2x3::IfcBoundingBox::IfcBoundingBox(::Ifc2x3::IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Corner ? v1_Corner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; populate_derived(); } +Ifc2x3::IfcBoundingBox::IfcBoundingBox(::Ifc2x3::IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Corner ? v1_Corner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; populate_derived(); } // Function implementations for IfcBoxedHalfSpace -::Ifc2x3::IfcBoundingBox* Ifc2x3::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcBoundingBox>(true); } +::Ifc2x3::IfcBoundingBox* Ifc2x3::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcBoundingBox>(true); } void Ifc2x3::IfcBoxedHalfSpace::setEnclosure(::Ifc2x3::IfcBoundingBox* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc2x3::IfcBoxedHalfSpace::declaration() const { return *((IfcParse::entity*)IFC2X3_types[79]); } const IfcParse::entity& Ifc2x3::IfcBoxedHalfSpace::Class() { return *((IfcParse::entity*)IFC2X3_types[79]); } Ifc2x3::IfcBoxedHalfSpace::IfcBoxedHalfSpace(IfcEntityInstanceData&& e) : IfcHalfSpaceSolid(std::move(e)) { } -Ifc2x3::IfcBoxedHalfSpace::IfcBoxedHalfSpace(::Ifc2x3::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc2x3::IfcBoundingBox* v3_Enclosure) : IfcHalfSpaceSolid(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Enclosure ? v3_Enclosure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcBoxedHalfSpace::IfcBoxedHalfSpace(::Ifc2x3::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc2x3::IfcBoundingBox* v3_Enclosure) : IfcHalfSpaceSolid(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Enclosure ? v3_Enclosure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBuilding -boost::optional< double > Ifc2x3::IfcBuilding::ElevationOfRefHeight() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc2x3::IfcBuilding::ElevationOfRefHeight() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc2x3::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc2x3::IfcBuilding::ElevationOfTerrain() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc2x3::IfcBuilding::ElevationOfTerrain() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc2x3::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc2x3::IfcPostalAddress* Ifc2x3::IfcBuilding::BuildingAddress() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc2x3::IfcPostalAddress>(true); } +::Ifc2x3::IfcPostalAddress* Ifc2x3::IfcBuilding::BuildingAddress() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc2x3::IfcPostalAddress>(true); } void Ifc2x3::IfcBuilding::setBuildingAddress(::Ifc2x3::IfcPostalAddress* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc2x3::IfcBuilding::declaration() const { return *((IfcParse::entity*)IFC2X3_types[82]); } const IfcParse::entity& Ifc2x3::IfcBuilding::Class() { return *((IfcParse::entity*)IFC2X3_types[82]); } Ifc2x3::IfcBuilding::IfcBuilding(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc2x3::IfcBuilding::IfcBuilding(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, ::Ifc2x3::IfcElementCompositionEnum::Value v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, ::Ifc2x3::IfcPostalAddress* v12_BuildingAddress) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcElementCompositionEnum::Class(),(size_t)v9_CompositionType))); if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, v12_BuildingAddress ? v12_BuildingAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcBuilding::IfcBuilding(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, ::Ifc2x3::IfcElementCompositionEnum::Value v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, ::Ifc2x3::IfcPostalAddress* v12_BuildingAddress) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcElementCompositionEnum::Class(),(size_t)v9_CompositionType))); if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, v12_BuildingAddress ? v12_BuildingAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBuildingElement @@ -6048,7 +6048,7 @@ Ifc2x3::IfcBuilding::IfcBuilding(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHist const IfcParse::entity& Ifc2x3::IfcBuildingElement::declaration() const { return *((IfcParse::entity*)IFC2X3_types[83]); } const IfcParse::entity& Ifc2x3::IfcBuildingElement::Class() { return *((IfcParse::entity*)IFC2X3_types[83]); } Ifc2x3::IfcBuildingElement::IfcBuildingElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc2x3::IfcBuildingElement::IfcBuildingElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcBuildingElement::IfcBuildingElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcBuildingElementComponent @@ -6056,7 +6056,7 @@ Ifc2x3::IfcBuildingElement::IfcBuildingElement(std::string v1_GlobalId, ::Ifc2x3 const IfcParse::entity& Ifc2x3::IfcBuildingElementComponent::declaration() const { return *((IfcParse::entity*)IFC2X3_types[84]); } const IfcParse::entity& Ifc2x3::IfcBuildingElementComponent::Class() { return *((IfcParse::entity*)IFC2X3_types[84]); } Ifc2x3::IfcBuildingElementComponent::IfcBuildingElementComponent(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc2x3::IfcBuildingElementComponent::IfcBuildingElementComponent(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcBuildingElementComponent::IfcBuildingElementComponent(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcBuildingElementPart @@ -6064,27 +6064,27 @@ Ifc2x3::IfcBuildingElementComponent::IfcBuildingElementComponent(std::string v1_ const IfcParse::entity& Ifc2x3::IfcBuildingElementPart::declaration() const { return *((IfcParse::entity*)IFC2X3_types[85]); } const IfcParse::entity& Ifc2x3::IfcBuildingElementPart::Class() { return *((IfcParse::entity*)IFC2X3_types[85]); } Ifc2x3::IfcBuildingElementPart::IfcBuildingElementPart(IfcEntityInstanceData&& e) : IfcBuildingElementComponent(std::move(e)) { } -Ifc2x3::IfcBuildingElementPart::IfcBuildingElementPart(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElementComponent(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcBuildingElementPart::IfcBuildingElementPart(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcBuildingElementProxy -boost::optional< ::Ifc2x3::IfcElementCompositionEnum::Value > Ifc2x3::IfcBuildingElementProxy::CompositionType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc2x3::IfcElementCompositionEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc2x3::IfcElementCompositionEnum::Value > Ifc2x3::IfcBuildingElementProxy::CompositionType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc2x3::IfcElementCompositionEnum::FromString(get_attribute_value(8)); } void Ifc2x3::IfcBuildingElementProxy::setCompositionType(boost::optional< ::Ifc2x3::IfcElementCompositionEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc2x3::IfcElementCompositionEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc2x3::IfcBuildingElementProxy::declaration() const { return *((IfcParse::entity*)IFC2X3_types[86]); } const IfcParse::entity& Ifc2x3::IfcBuildingElementProxy::Class() { return *((IfcParse::entity*)IFC2X3_types[86]); } Ifc2x3::IfcBuildingElementProxy::IfcBuildingElementProxy(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc2x3::IfcBuildingElementProxy::IfcBuildingElementProxy(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc2x3::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } +Ifc2x3::IfcBuildingElementProxy::IfcBuildingElementProxy(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc2x3::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } // Function implementations for IfcBuildingElementProxyType -::Ifc2x3::IfcBuildingElementProxyTypeEnum::Value Ifc2x3::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc2x3::IfcBuildingElementProxyTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcBuildingElementProxyTypeEnum::Value Ifc2x3::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc2x3::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcBuildingElementProxyType::setPredefinedType(::Ifc2x3::IfcBuildingElementProxyTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcBuildingElementProxyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcBuildingElementProxyType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[87]); } const IfcParse::entity& Ifc2x3::IfcBuildingElementProxyType::Class() { return *((IfcParse::entity*)IFC2X3_types[87]); } Ifc2x3::IfcBuildingElementProxyType::IfcBuildingElementProxyType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc2x3::IfcBuildingElementProxyType::IfcBuildingElementProxyType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcBuildingElementProxyType::IfcBuildingElementProxyType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBuildingElementType @@ -6092,107 +6092,107 @@ Ifc2x3::IfcBuildingElementProxyType::IfcBuildingElementProxyType(std::string v1_ const IfcParse::entity& Ifc2x3::IfcBuildingElementType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[89]); } const IfcParse::entity& Ifc2x3::IfcBuildingElementType::Class() { return *((IfcParse::entity*)IFC2X3_types[89]); } Ifc2x3::IfcBuildingElementType::IfcBuildingElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc2x3::IfcBuildingElementType::IfcBuildingElementType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc2x3::IfcBuildingElementType::IfcBuildingElementType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcBuildingStorey -boost::optional< double > Ifc2x3::IfcBuildingStorey::Elevation() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc2x3::IfcBuildingStorey::Elevation() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc2x3::IfcBuildingStorey::setElevation(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc2x3::IfcBuildingStorey::declaration() const { return *((IfcParse::entity*)IFC2X3_types[90]); } const IfcParse::entity& Ifc2x3::IfcBuildingStorey::Class() { return *((IfcParse::entity*)IFC2X3_types[90]); } Ifc2x3::IfcBuildingStorey::IfcBuildingStorey(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc2x3::IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, ::Ifc2x3::IfcElementCompositionEnum::Value v9_CompositionType, boost::optional< double > v10_Elevation) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcElementCompositionEnum::Class(),(size_t)v9_CompositionType))); if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; populate_derived(); } +Ifc2x3::IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, ::Ifc2x3::IfcElementCompositionEnum::Value v9_CompositionType, boost::optional< double > v10_Elevation) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcElementCompositionEnum::Class(),(size_t)v9_CompositionType))); if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; populate_derived(); } // Function implementations for IfcCShapeProfileDef -double Ifc2x3::IfcCShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc2x3::IfcCShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc2x3::IfcCShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc2x3::IfcCShapeProfileDef::Width() const { double v = data_.get_attribute_value(4); return v; } +double Ifc2x3::IfcCShapeProfileDef::Width() const { double v = get_attribute_value(4); return v; } void Ifc2x3::IfcCShapeProfileDef::setWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc2x3::IfcCShapeProfileDef::WallThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc2x3::IfcCShapeProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } void Ifc2x3::IfcCShapeProfileDef::setWallThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc2x3::IfcCShapeProfileDef::Girth() const { double v = data_.get_attribute_value(6); return v; } +double Ifc2x3::IfcCShapeProfileDef::Girth() const { double v = get_attribute_value(6); return v; } void Ifc2x3::IfcCShapeProfileDef::setGirth(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc2x3::IfcCShapeProfileDef::InternalFilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc2x3::IfcCShapeProfileDef::InternalFilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc2x3::IfcCShapeProfileDef::setInternalFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc2x3::IfcCShapeProfileDef::CentreOfGravityInX() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc2x3::IfcCShapeProfileDef::CentreOfGravityInX() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc2x3::IfcCShapeProfileDef::setCentreOfGravityInX(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc2x3::IfcCShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC2X3_types[186]); } const IfcParse::entity& Ifc2x3::IfcCShapeProfileDef::Class() { return *((IfcParse::entity*)IFC2X3_types[186]); } Ifc2x3::IfcCShapeProfileDef::IfcCShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc2x3::IfcCShapeProfileDef::IfcCShapeProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, boost::optional< double > v8_InternalFilletRadius, boost::optional< double > v9_CentreOfGravityInX) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); } if (v9_CentreOfGravityInX) {set_attribute_value(8, (*v9_CentreOfGravityInX)); }; populate_derived(); } +Ifc2x3::IfcCShapeProfileDef::IfcCShapeProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, boost::optional< double > v8_InternalFilletRadius, boost::optional< double > v9_CentreOfGravityInX) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); } if (v9_CentreOfGravityInX) {set_attribute_value(8, (*v9_CentreOfGravityInX)); }; populate_derived(); } // Function implementations for IfcCableCarrierFittingType -::Ifc2x3::IfcCableCarrierFittingTypeEnum::Value Ifc2x3::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc2x3::IfcCableCarrierFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcCableCarrierFittingTypeEnum::Value Ifc2x3::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc2x3::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcCableCarrierFittingType::setPredefinedType(::Ifc2x3::IfcCableCarrierFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcCableCarrierFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcCableCarrierFittingType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[91]); } const IfcParse::entity& Ifc2x3::IfcCableCarrierFittingType::Class() { return *((IfcParse::entity*)IFC2X3_types[91]); } Ifc2x3::IfcCableCarrierFittingType::IfcCableCarrierFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc2x3::IfcCableCarrierFittingType::IfcCableCarrierFittingType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcCableCarrierFittingType::IfcCableCarrierFittingType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCableCarrierSegmentType -::Ifc2x3::IfcCableCarrierSegmentTypeEnum::Value Ifc2x3::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc2x3::IfcCableCarrierSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcCableCarrierSegmentTypeEnum::Value Ifc2x3::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc2x3::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcCableCarrierSegmentType::setPredefinedType(::Ifc2x3::IfcCableCarrierSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcCableCarrierSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcCableCarrierSegmentType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[93]); } const IfcParse::entity& Ifc2x3::IfcCableCarrierSegmentType::Class() { return *((IfcParse::entity*)IFC2X3_types[93]); } Ifc2x3::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc2x3::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCableSegmentType -::Ifc2x3::IfcCableSegmentTypeEnum::Value Ifc2x3::IfcCableSegmentType::PredefinedType() const { return ::Ifc2x3::IfcCableSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcCableSegmentTypeEnum::Value Ifc2x3::IfcCableSegmentType::PredefinedType() const { return ::Ifc2x3::IfcCableSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcCableSegmentType::setPredefinedType(::Ifc2x3::IfcCableSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcCableSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcCableSegmentType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[95]); } const IfcParse::entity& Ifc2x3::IfcCableSegmentType::Class() { return *((IfcParse::entity*)IFC2X3_types[95]); } Ifc2x3::IfcCableSegmentType::IfcCableSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc2x3::IfcCableSegmentType::IfcCableSegmentType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCableSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcCableSegmentType::IfcCableSegmentType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCableSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCalendarDate -int Ifc2x3::IfcCalendarDate::DayComponent() const { int v = data_.get_attribute_value(0); return v; } +int Ifc2x3::IfcCalendarDate::DayComponent() const { int v = get_attribute_value(0); return v; } void Ifc2x3::IfcCalendarDate::setDayComponent(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -int Ifc2x3::IfcCalendarDate::MonthComponent() const { int v = data_.get_attribute_value(1); return v; } +int Ifc2x3::IfcCalendarDate::MonthComponent() const { int v = get_attribute_value(1); return v; } void Ifc2x3::IfcCalendarDate::setMonthComponent(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -int Ifc2x3::IfcCalendarDate::YearComponent() const { int v = data_.get_attribute_value(2); return v; } +int Ifc2x3::IfcCalendarDate::YearComponent() const { int v = get_attribute_value(2); return v; } void Ifc2x3::IfcCalendarDate::setYearComponent(int v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc2x3::IfcCalendarDate::declaration() const { return *((IfcParse::entity*)IFC2X3_types[97]); } const IfcParse::entity& Ifc2x3::IfcCalendarDate::Class() { return *((IfcParse::entity*)IFC2X3_types[97]); } Ifc2x3::IfcCalendarDate::IfcCalendarDate(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcCalendarDate::IfcCalendarDate(int v1_DayComponent, int v2_MonthComponent, int v3_YearComponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_DayComponent));set_attribute_value(1, (v2_MonthComponent));set_attribute_value(2, (v3_YearComponent));; populate_derived(); } +Ifc2x3::IfcCalendarDate::IfcCalendarDate(int v1_DayComponent, int v2_MonthComponent, int v3_YearComponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_DayComponent));set_attribute_value(1, (v2_MonthComponent));set_attribute_value(2, (v3_YearComponent));; populate_derived(); } // Function implementations for IfcCartesianPoint -std::vector< double > /*[1:3]*/ Ifc2x3::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[1:3]*/ Ifc2x3::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = get_attribute_value(0); return v; } void Ifc2x3::IfcCartesianPoint::setCoordinates(std::vector< double > /*[1:3]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc2x3::IfcCartesianPoint::declaration() const { return *((IfcParse::entity*)IFC2X3_types[98]); } const IfcParse::entity& Ifc2x3::IfcCartesianPoint::Class() { return *((IfcParse::entity*)IFC2X3_types[98]); } Ifc2x3::IfcCartesianPoint::IfcCartesianPoint(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc2x3::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ v1_Coordinates) : IfcPoint(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } +Ifc2x3::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ v1_Coordinates) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator -::Ifc2x3::IfcDirection* Ifc2x3::IfcCartesianTransformationOperator::Axis1() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcDirection>(true); } +::Ifc2x3::IfcDirection* Ifc2x3::IfcCartesianTransformationOperator::Axis1() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcDirection>(true); } void Ifc2x3::IfcCartesianTransformationOperator::setAxis1(::Ifc2x3::IfcDirection* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcDirection* Ifc2x3::IfcCartesianTransformationOperator::Axis2() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcDirection>(true); } +::Ifc2x3::IfcDirection* Ifc2x3::IfcCartesianTransformationOperator::Axis2() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcDirection>(true); } void Ifc2x3::IfcCartesianTransformationOperator::setAxis2(::Ifc2x3::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc2x3::IfcCartesianPoint* Ifc2x3::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcCartesianPoint>(true); } +::Ifc2x3::IfcCartesianPoint* Ifc2x3::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcCartesianPoint>(true); } void Ifc2x3::IfcCartesianTransformationOperator::setLocalOrigin(::Ifc2x3::IfcCartesianPoint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc2x3::IfcCartesianTransformationOperator::Scale() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc2x3::IfcCartesianTransformationOperator::Scale() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc2x3::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc2x3::IfcCartesianTransformationOperator::declaration() const { return *((IfcParse::entity*)IFC2X3_types[99]); } const IfcParse::entity& Ifc2x3::IfcCartesianTransformationOperator::Class() { return *((IfcParse::entity*)IFC2X3_types[99]); } Ifc2x3::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc2x3::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(::Ifc2x3::IfcDirection* v1_Axis1, ::Ifc2x3::IfcDirection* v2_Axis2, ::Ifc2x3::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } +Ifc2x3::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(::Ifc2x3::IfcDirection* v1_Axis1, ::Ifc2x3::IfcDirection* v2_Axis2, ::Ifc2x3::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator2D @@ -6200,110 +6200,110 @@ Ifc2x3::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(: const IfcParse::entity& Ifc2x3::IfcCartesianTransformationOperator2D::declaration() const { return *((IfcParse::entity*)IFC2X3_types[100]); } const IfcParse::entity& Ifc2x3::IfcCartesianTransformationOperator2D::Class() { return *((IfcParse::entity*)IFC2X3_types[100]); } Ifc2x3::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator(std::move(e)) { } -Ifc2x3::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(::Ifc2x3::IfcDirection* v1_Axis1, ::Ifc2x3::IfcDirection* v2_Axis2, ::Ifc2x3::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcCartesianTransformationOperator(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } +Ifc2x3::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(::Ifc2x3::IfcDirection* v1_Axis1, ::Ifc2x3::IfcDirection* v2_Axis2, ::Ifc2x3::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcCartesianTransformationOperator(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator2DnonUniform -boost::optional< double > Ifc2x3::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc2x3::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc2x3::IfcCartesianTransformationOperator2DnonUniform::setScale2(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc2x3::IfcCartesianTransformationOperator2DnonUniform::declaration() const { return *((IfcParse::entity*)IFC2X3_types[101]); } const IfcParse::entity& Ifc2x3::IfcCartesianTransformationOperator2DnonUniform::Class() { return *((IfcParse::entity*)IFC2X3_types[101]); } Ifc2x3::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator2D(std::move(e)) { } -Ifc2x3::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(::Ifc2x3::IfcDirection* v1_Axis1, ::Ifc2x3::IfcDirection* v2_Axis2, ::Ifc2x3::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2) : IfcCartesianTransformationOperator2D(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; populate_derived(); } +Ifc2x3::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(::Ifc2x3::IfcDirection* v1_Axis1, ::Ifc2x3::IfcDirection* v2_Axis2, ::Ifc2x3::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2) : IfcCartesianTransformationOperator2D(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator3D -::Ifc2x3::IfcDirection* Ifc2x3::IfcCartesianTransformationOperator3D::Axis3() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc2x3::IfcDirection>(true); } +::Ifc2x3::IfcDirection* Ifc2x3::IfcCartesianTransformationOperator3D::Axis3() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc2x3::IfcDirection>(true); } void Ifc2x3::IfcCartesianTransformationOperator3D::setAxis3(::Ifc2x3::IfcDirection* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc2x3::IfcCartesianTransformationOperator3D::declaration() const { return *((IfcParse::entity*)IFC2X3_types[102]); } const IfcParse::entity& Ifc2x3::IfcCartesianTransformationOperator3D::Class() { return *((IfcParse::entity*)IFC2X3_types[102]); } Ifc2x3::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator(std::move(e)) { } -Ifc2x3::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(::Ifc2x3::IfcDirection* v1_Axis1, ::Ifc2x3::IfcDirection* v2_Axis2, ::Ifc2x3::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc2x3::IfcDirection* v5_Axis3) : IfcCartesianTransformationOperator(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(::Ifc2x3::IfcDirection* v1_Axis1, ::Ifc2x3::IfcDirection* v2_Axis2, ::Ifc2x3::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc2x3::IfcDirection* v5_Axis3) : IfcCartesianTransformationOperator(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator3DnonUniform -boost::optional< double > Ifc2x3::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc2x3::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc2x3::IfcCartesianTransformationOperator3DnonUniform::setScale2(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc2x3::IfcCartesianTransformationOperator3DnonUniform::Scale3() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc2x3::IfcCartesianTransformationOperator3DnonUniform::Scale3() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc2x3::IfcCartesianTransformationOperator3DnonUniform::setScale3(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc2x3::IfcCartesianTransformationOperator3DnonUniform::declaration() const { return *((IfcParse::entity*)IFC2X3_types[103]); } const IfcParse::entity& Ifc2x3::IfcCartesianTransformationOperator3DnonUniform::Class() { return *((IfcParse::entity*)IFC2X3_types[103]); } Ifc2x3::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator3D(std::move(e)) { } -Ifc2x3::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(::Ifc2x3::IfcDirection* v1_Axis1, ::Ifc2x3::IfcDirection* v2_Axis2, ::Ifc2x3::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc2x3::IfcDirection* v5_Axis3, boost::optional< double > v6_Scale2, boost::optional< double > v7_Scale3) : IfcCartesianTransformationOperator3D(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; populate_derived(); } +Ifc2x3::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(::Ifc2x3::IfcDirection* v1_Axis1, ::Ifc2x3::IfcDirection* v2_Axis2, ::Ifc2x3::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc2x3::IfcDirection* v5_Axis3, boost::optional< double > v6_Scale2, boost::optional< double > v7_Scale3) : IfcCartesianTransformationOperator3D(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; populate_derived(); } // Function implementations for IfcCenterLineProfileDef -double Ifc2x3::IfcCenterLineProfileDef::Thickness() const { double v = data_.get_attribute_value(3); return v; } +double Ifc2x3::IfcCenterLineProfileDef::Thickness() const { double v = get_attribute_value(3); return v; } void Ifc2x3::IfcCenterLineProfileDef::setThickness(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcCenterLineProfileDef::declaration() const { return *((IfcParse::entity*)IFC2X3_types[104]); } const IfcParse::entity& Ifc2x3::IfcCenterLineProfileDef::Class() { return *((IfcParse::entity*)IFC2X3_types[104]); } Ifc2x3::IfcCenterLineProfileDef::IfcCenterLineProfileDef(IfcEntityInstanceData&& e) : IfcArbitraryOpenProfileDef(std::move(e)) { } -Ifc2x3::IfcCenterLineProfileDef::IfcCenterLineProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcBoundedCurve* v3_Curve, double v4_Thickness) : IfcArbitraryOpenProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Thickness));; populate_derived(); } +Ifc2x3::IfcCenterLineProfileDef::IfcCenterLineProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcBoundedCurve* v3_Curve, double v4_Thickness) : IfcArbitraryOpenProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Thickness));; populate_derived(); } // Function implementations for IfcChamferEdgeFeature -boost::optional< double > Ifc2x3::IfcChamferEdgeFeature::Width() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc2x3::IfcChamferEdgeFeature::Width() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc2x3::IfcChamferEdgeFeature::setWidth(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc2x3::IfcChamferEdgeFeature::Height() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc2x3::IfcChamferEdgeFeature::Height() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc2x3::IfcChamferEdgeFeature::setHeight(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc2x3::IfcChamferEdgeFeature::declaration() const { return *((IfcParse::entity*)IFC2X3_types[105]); } const IfcParse::entity& Ifc2x3::IfcChamferEdgeFeature::Class() { return *((IfcParse::entity*)IFC2X3_types[105]); } Ifc2x3::IfcChamferEdgeFeature::IfcChamferEdgeFeature(IfcEntityInstanceData&& e) : IfcEdgeFeature(std::move(e)) { } -Ifc2x3::IfcChamferEdgeFeature::IfcChamferEdgeFeature(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_FeatureLength, boost::optional< double > v10_Width, boost::optional< double > v11_Height) : IfcEdgeFeature(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_FeatureLength) {set_attribute_value(8, (*v9_FeatureLength)); } if (v10_Width) {set_attribute_value(9, (*v10_Width)); } if (v11_Height) {set_attribute_value(10, (*v11_Height)); }; populate_derived(); } +Ifc2x3::IfcChamferEdgeFeature::IfcChamferEdgeFeature(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_FeatureLength, boost::optional< double > v10_Width, boost::optional< double > v11_Height) : IfcEdgeFeature(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_FeatureLength) {set_attribute_value(8, (*v9_FeatureLength)); } if (v10_Width) {set_attribute_value(9, (*v10_Width)); } if (v11_Height) {set_attribute_value(10, (*v11_Height)); }; populate_derived(); } // Function implementations for IfcChillerType -::Ifc2x3::IfcChillerTypeEnum::Value Ifc2x3::IfcChillerType::PredefinedType() const { return ::Ifc2x3::IfcChillerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcChillerTypeEnum::Value Ifc2x3::IfcChillerType::PredefinedType() const { return ::Ifc2x3::IfcChillerTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcChillerType::setPredefinedType(::Ifc2x3::IfcChillerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcChillerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcChillerType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[108]); } const IfcParse::entity& Ifc2x3::IfcChillerType::Class() { return *((IfcParse::entity*)IFC2X3_types[108]); } Ifc2x3::IfcChillerType::IfcChillerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc2x3::IfcChillerType::IfcChillerType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcChillerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcChillerType::IfcChillerType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcChillerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCircle -double Ifc2x3::IfcCircle::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc2x3::IfcCircle::Radius() const { double v = get_attribute_value(1); return v; } void Ifc2x3::IfcCircle::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcCircle::declaration() const { return *((IfcParse::entity*)IFC2X3_types[110]); } const IfcParse::entity& Ifc2x3::IfcCircle::Class() { return *((IfcParse::entity*)IFC2X3_types[110]); } Ifc2x3::IfcCircle::IfcCircle(IfcEntityInstanceData&& e) : IfcConic(std::move(e)) { } -Ifc2x3::IfcCircle::IfcCircle(::Ifc2x3::IfcAxis2Placement* v1_Position, double v2_Radius) : IfcConic(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc2x3::IfcCircle::IfcCircle(::Ifc2x3::IfcAxis2Placement* v1_Position, double v2_Radius) : IfcConic(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcCircleHollowProfileDef -double Ifc2x3::IfcCircleHollowProfileDef::WallThickness() const { double v = data_.get_attribute_value(4); return v; } +double Ifc2x3::IfcCircleHollowProfileDef::WallThickness() const { double v = get_attribute_value(4); return v; } void Ifc2x3::IfcCircleHollowProfileDef::setWallThickness(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc2x3::IfcCircleHollowProfileDef::declaration() const { return *((IfcParse::entity*)IFC2X3_types[111]); } const IfcParse::entity& Ifc2x3::IfcCircleHollowProfileDef::Class() { return *((IfcParse::entity*)IFC2X3_types[111]); } Ifc2x3::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(IfcEntityInstanceData&& e) : IfcCircleProfileDef(std::move(e)) { } -Ifc2x3::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D* v3_Position, double v4_Radius, double v5_WallThickness) : IfcCircleProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; populate_derived(); } +Ifc2x3::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D* v3_Position, double v4_Radius, double v5_WallThickness) : IfcCircleProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; populate_derived(); } // Function implementations for IfcCircleProfileDef -double Ifc2x3::IfcCircleProfileDef::Radius() const { double v = data_.get_attribute_value(3); return v; } +double Ifc2x3::IfcCircleProfileDef::Radius() const { double v = get_attribute_value(3); return v; } void Ifc2x3::IfcCircleProfileDef::setRadius(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcCircleProfileDef::declaration() const { return *((IfcParse::entity*)IFC2X3_types[112]); } const IfcParse::entity& Ifc2x3::IfcCircleProfileDef::Class() { return *((IfcParse::entity*)IFC2X3_types[112]); } Ifc2x3::IfcCircleProfileDef::IfcCircleProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc2x3::IfcCircleProfileDef::IfcCircleProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D* v3_Position, double v4_Radius) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));; populate_derived(); } +Ifc2x3::IfcCircleProfileDef::IfcCircleProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D* v3_Position, double v4_Radius) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));; populate_derived(); } // Function implementations for IfcClassification -std::string Ifc2x3::IfcClassification::Source() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc2x3::IfcClassification::Source() const { std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcClassification::setSource(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc2x3::IfcClassification::Edition() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc2x3::IfcClassification::Edition() const { std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcClassification::setEdition(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc2x3::IfcCalendarDate* Ifc2x3::IfcClassification::EditionDate() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcCalendarDate>(true); } +::Ifc2x3::IfcCalendarDate* Ifc2x3::IfcClassification::EditionDate() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcCalendarDate>(true); } void Ifc2x3::IfcClassification::setEditionDate(::Ifc2x3::IfcCalendarDate* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -std::string Ifc2x3::IfcClassification::Name() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc2x3::IfcClassification::Name() const { std::string v = get_attribute_value(3); return v; } void Ifc2x3::IfcClassification::setName(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } ::Ifc2x3::IfcClassificationItem::list::ptr Ifc2x3::IfcClassification::Contains() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[114], 1)->as(); } @@ -6311,14 +6311,14 @@ void Ifc2x3::IfcClassification::setName(std::string v) { set_attribute_value(3, const IfcParse::entity& Ifc2x3::IfcClassification::declaration() const { return *((IfcParse::entity*)IFC2X3_types[113]); } const IfcParse::entity& Ifc2x3::IfcClassification::Class() { return *((IfcParse::entity*)IFC2X3_types[113]); } Ifc2x3::IfcClassification::IfcClassification(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcClassification::IfcClassification(std::string v1_Source, std::string v2_Edition, ::Ifc2x3::IfcCalendarDate* v3_EditionDate, std::string v4_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Source));set_attribute_value(1, (v2_Edition));set_attribute_value(2, v3_EditionDate ? v3_EditionDate->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Name));; populate_derived(); } +Ifc2x3::IfcClassification::IfcClassification(std::string v1_Source, std::string v2_Edition, ::Ifc2x3::IfcCalendarDate* v3_EditionDate, std::string v4_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Source));set_attribute_value(1, (v2_Edition));set_attribute_value(2, v3_EditionDate ? v3_EditionDate->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Name));; populate_derived(); } // Function implementations for IfcClassificationItem -::Ifc2x3::IfcClassificationNotationFacet* Ifc2x3::IfcClassificationItem::Notation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcClassificationNotationFacet>(true); } +::Ifc2x3::IfcClassificationNotationFacet* Ifc2x3::IfcClassificationItem::Notation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcClassificationNotationFacet>(true); } void Ifc2x3::IfcClassificationItem::setNotation(::Ifc2x3::IfcClassificationNotationFacet* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcClassification* Ifc2x3::IfcClassificationItem::ItemOf() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcClassification>(true); } +::Ifc2x3::IfcClassification* Ifc2x3::IfcClassificationItem::ItemOf() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcClassification>(true); } void Ifc2x3::IfcClassificationItem::setItemOf(::Ifc2x3::IfcClassification* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -std::string Ifc2x3::IfcClassificationItem::Title() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc2x3::IfcClassificationItem::Title() const { std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcClassificationItem::setTitle(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } ::Ifc2x3::IfcClassificationItemRelationship::list::ptr Ifc2x3::IfcClassificationItem::IsClassifiedItemIn() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[115], 1)->as(); } @@ -6327,49 +6327,49 @@ void Ifc2x3::IfcClassificationItem::setTitle(std::string v) { set_attribute_valu const IfcParse::entity& Ifc2x3::IfcClassificationItem::declaration() const { return *((IfcParse::entity*)IFC2X3_types[114]); } const IfcParse::entity& Ifc2x3::IfcClassificationItem::Class() { return *((IfcParse::entity*)IFC2X3_types[114]); } Ifc2x3::IfcClassificationItem::IfcClassificationItem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcClassificationItem::IfcClassificationItem(::Ifc2x3::IfcClassificationNotationFacet* v1_Notation, ::Ifc2x3::IfcClassification* v2_ItemOf, std::string v3_Title) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Notation ? v1_Notation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_ItemOf ? v2_ItemOf->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_Title));; populate_derived(); } +Ifc2x3::IfcClassificationItem::IfcClassificationItem(::Ifc2x3::IfcClassificationNotationFacet* v1_Notation, ::Ifc2x3::IfcClassification* v2_ItemOf, std::string v3_Title) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Notation ? v1_Notation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_ItemOf ? v2_ItemOf->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_Title));; populate_derived(); } // Function implementations for IfcClassificationItemRelationship -::Ifc2x3::IfcClassificationItem* Ifc2x3::IfcClassificationItemRelationship::RelatingItem() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcClassificationItem>(true); } +::Ifc2x3::IfcClassificationItem* Ifc2x3::IfcClassificationItemRelationship::RelatingItem() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcClassificationItem>(true); } void Ifc2x3::IfcClassificationItemRelationship::setRelatingItem(::Ifc2x3::IfcClassificationItem* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc2x3::IfcClassificationItem >::ptr Ifc2x3::IfcClassificationItemRelationship::RelatedItems() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc2x3::IfcClassificationItem >(); } +aggregate_of< ::Ifc2x3::IfcClassificationItem >::ptr Ifc2x3::IfcClassificationItemRelationship::RelatedItems() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc2x3::IfcClassificationItem >(); } void Ifc2x3::IfcClassificationItemRelationship::setRelatedItems(aggregate_of< ::Ifc2x3::IfcClassificationItem >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcClassificationItemRelationship::declaration() const { return *((IfcParse::entity*)IFC2X3_types[115]); } const IfcParse::entity& Ifc2x3::IfcClassificationItemRelationship::Class() { return *((IfcParse::entity*)IFC2X3_types[115]); } Ifc2x3::IfcClassificationItemRelationship::IfcClassificationItemRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcClassificationItemRelationship::IfcClassificationItemRelationship(::Ifc2x3::IfcClassificationItem* v1_RelatingItem, aggregate_of< ::Ifc2x3::IfcClassificationItem >::ptr v2_RelatedItems) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_RelatingItem ? v1_RelatingItem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_RelatedItems)->generalize());; populate_derived(); } +Ifc2x3::IfcClassificationItemRelationship::IfcClassificationItemRelationship(::Ifc2x3::IfcClassificationItem* v1_RelatingItem, aggregate_of< ::Ifc2x3::IfcClassificationItem >::ptr v2_RelatedItems) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_RelatingItem ? v1_RelatingItem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_RelatedItems)->generalize());; populate_derived(); } // Function implementations for IfcClassificationNotation -aggregate_of< ::Ifc2x3::IfcClassificationNotationFacet >::ptr Ifc2x3::IfcClassificationNotation::NotationFacets() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc2x3::IfcClassificationNotationFacet >(); } +aggregate_of< ::Ifc2x3::IfcClassificationNotationFacet >::ptr Ifc2x3::IfcClassificationNotation::NotationFacets() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc2x3::IfcClassificationNotationFacet >(); } void Ifc2x3::IfcClassificationNotation::setNotationFacets(aggregate_of< ::Ifc2x3::IfcClassificationNotationFacet >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc2x3::IfcClassificationNotation::declaration() const { return *((IfcParse::entity*)IFC2X3_types[116]); } const IfcParse::entity& Ifc2x3::IfcClassificationNotation::Class() { return *((IfcParse::entity*)IFC2X3_types[116]); } Ifc2x3::IfcClassificationNotation::IfcClassificationNotation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcClassificationNotation::IfcClassificationNotation(aggregate_of< ::Ifc2x3::IfcClassificationNotationFacet >::ptr v1_NotationFacets) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_NotationFacets)->generalize());; populate_derived(); } +Ifc2x3::IfcClassificationNotation::IfcClassificationNotation(aggregate_of< ::Ifc2x3::IfcClassificationNotationFacet >::ptr v1_NotationFacets) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_NotationFacets)->generalize());; populate_derived(); } // Function implementations for IfcClassificationNotationFacet -std::string Ifc2x3::IfcClassificationNotationFacet::NotationValue() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc2x3::IfcClassificationNotationFacet::NotationValue() const { std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcClassificationNotationFacet::setNotationValue(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc2x3::IfcClassificationNotationFacet::declaration() const { return *((IfcParse::entity*)IFC2X3_types[117]); } const IfcParse::entity& Ifc2x3::IfcClassificationNotationFacet::Class() { return *((IfcParse::entity*)IFC2X3_types[117]); } Ifc2x3::IfcClassificationNotationFacet::IfcClassificationNotationFacet(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcClassificationNotationFacet::IfcClassificationNotationFacet(std::string v1_NotationValue) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_NotationValue));; populate_derived(); } +Ifc2x3::IfcClassificationNotationFacet::IfcClassificationNotationFacet(std::string v1_NotationValue) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_NotationValue));; populate_derived(); } // Function implementations for IfcClassificationReference -::Ifc2x3::IfcClassification* Ifc2x3::IfcClassificationReference::ReferencedSource() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc2x3::IfcClassification>(true); } +::Ifc2x3::IfcClassification* Ifc2x3::IfcClassificationReference::ReferencedSource() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc2x3::IfcClassification>(true); } void Ifc2x3::IfcClassificationReference::setReferencedSource(::Ifc2x3::IfcClassification* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcClassificationReference::declaration() const { return *((IfcParse::entity*)IFC2X3_types[119]); } const IfcParse::entity& Ifc2x3::IfcClassificationReference::Class() { return *((IfcParse::entity*)IFC2X3_types[119]); } Ifc2x3::IfcClassificationReference::IfcClassificationReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc2x3::IfcClassificationReference::IfcClassificationReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name, ::Ifc2x3::IfcClassification* v4_ReferencedSource) : IfcExternalReference(IfcEntityInstanceData(storage_t(4))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_ItemReference) {set_attribute_value(1, (*v2_ItemReference)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, v4_ReferencedSource ? v4_ReferencedSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcClassificationReference::IfcClassificationReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name, ::Ifc2x3::IfcClassification* v4_ReferencedSource) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_ItemReference) {set_attribute_value(1, (*v2_ItemReference)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, v4_ReferencedSource ? v4_ReferencedSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcClosedShell @@ -6377,41 +6377,41 @@ Ifc2x3::IfcClassificationReference::IfcClassificationReference(boost::optional< const IfcParse::entity& Ifc2x3::IfcClosedShell::declaration() const { return *((IfcParse::entity*)IFC2X3_types[120]); } const IfcParse::entity& Ifc2x3::IfcClosedShell::Class() { return *((IfcParse::entity*)IFC2X3_types[120]); } Ifc2x3::IfcClosedShell::IfcClosedShell(IfcEntityInstanceData&& e) : IfcConnectedFaceSet(std::move(e)) { } -Ifc2x3::IfcClosedShell::IfcClosedShell(aggregate_of< ::Ifc2x3::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc2x3::IfcClosedShell::IfcClosedShell(aggregate_of< ::Ifc2x3::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcCoilType -::Ifc2x3::IfcCoilTypeEnum::Value Ifc2x3::IfcCoilType::PredefinedType() const { return ::Ifc2x3::IfcCoilTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcCoilTypeEnum::Value Ifc2x3::IfcCoilType::PredefinedType() const { return ::Ifc2x3::IfcCoilTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcCoilType::setPredefinedType(::Ifc2x3::IfcCoilTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcCoilTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcCoilType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[121]); } const IfcParse::entity& Ifc2x3::IfcCoilType::Class() { return *((IfcParse::entity*)IFC2X3_types[121]); } Ifc2x3::IfcCoilType::IfcCoilType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc2x3::IfcCoilType::IfcCoilType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCoilTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcCoilType::IfcCoilType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCoilTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcColourRgb -double Ifc2x3::IfcColourRgb::Red() const { double v = data_.get_attribute_value(1); return v; } +double Ifc2x3::IfcColourRgb::Red() const { double v = get_attribute_value(1); return v; } void Ifc2x3::IfcColourRgb::setRed(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc2x3::IfcColourRgb::Green() const { double v = data_.get_attribute_value(2); return v; } +double Ifc2x3::IfcColourRgb::Green() const { double v = get_attribute_value(2); return v; } void Ifc2x3::IfcColourRgb::setGreen(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc2x3::IfcColourRgb::Blue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc2x3::IfcColourRgb::Blue() const { double v = get_attribute_value(3); return v; } void Ifc2x3::IfcColourRgb::setBlue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcColourRgb::declaration() const { return *((IfcParse::entity*)IFC2X3_types[125]); } const IfcParse::entity& Ifc2x3::IfcColourRgb::Class() { return *((IfcParse::entity*)IFC2X3_types[125]); } Ifc2x3::IfcColourRgb::IfcColourRgb(IfcEntityInstanceData&& e) : IfcColourSpecification(std::move(e)) { } -Ifc2x3::IfcColourRgb::IfcColourRgb(boost::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) : IfcColourSpecification(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; populate_derived(); } +Ifc2x3::IfcColourRgb::IfcColourRgb(boost::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) : IfcColourSpecification(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; populate_derived(); } // Function implementations for IfcColourSpecification -boost::optional< std::string > Ifc2x3::IfcColourSpecification::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc2x3::IfcColourSpecification::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcColourSpecification::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc2x3::IfcColourSpecification::declaration() const { return *((IfcParse::entity*)IFC2X3_types[126]); } const IfcParse::entity& Ifc2x3::IfcColourSpecification::Class() { return *((IfcParse::entity*)IFC2X3_types[126]); } Ifc2x3::IfcColourSpecification::IfcColourSpecification(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcColourSpecification::IfcColourSpecification(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc2x3::IfcColourSpecification::IfcColourSpecification(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcColumn @@ -6419,48 +6419,48 @@ Ifc2x3::IfcColourSpecification::IfcColourSpecification(boost::optional< std::str const IfcParse::entity& Ifc2x3::IfcColumn::declaration() const { return *((IfcParse::entity*)IFC2X3_types[127]); } const IfcParse::entity& Ifc2x3::IfcColumn::Class() { return *((IfcParse::entity*)IFC2X3_types[127]); } Ifc2x3::IfcColumn::IfcColumn(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc2x3::IfcColumn::IfcColumn(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcColumn::IfcColumn(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcColumnType -::Ifc2x3::IfcColumnTypeEnum::Value Ifc2x3::IfcColumnType::PredefinedType() const { return ::Ifc2x3::IfcColumnTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcColumnTypeEnum::Value Ifc2x3::IfcColumnType::PredefinedType() const { return ::Ifc2x3::IfcColumnTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcColumnType::setPredefinedType(::Ifc2x3::IfcColumnTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcColumnTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcColumnType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[128]); } const IfcParse::entity& Ifc2x3::IfcColumnType::Class() { return *((IfcParse::entity*)IFC2X3_types[128]); } Ifc2x3::IfcColumnType::IfcColumnType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc2x3::IfcColumnType::IfcColumnType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcColumnTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcColumnType::IfcColumnType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcColumnTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcComplexProperty -std::string Ifc2x3::IfcComplexProperty::UsageName() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc2x3::IfcComplexProperty::UsageName() const { std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcComplexProperty::setUsageName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc2x3::IfcProperty >::ptr Ifc2x3::IfcComplexProperty::HasProperties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc2x3::IfcProperty >(); } +aggregate_of< ::Ifc2x3::IfcProperty >::ptr Ifc2x3::IfcComplexProperty::HasProperties() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc2x3::IfcProperty >(); } void Ifc2x3::IfcComplexProperty::setHasProperties(aggregate_of< ::Ifc2x3::IfcProperty >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcComplexProperty::declaration() const { return *((IfcParse::entity*)IFC2X3_types[131]); } const IfcParse::entity& Ifc2x3::IfcComplexProperty::Class() { return *((IfcParse::entity*)IFC2X3_types[131]); } Ifc2x3::IfcComplexProperty::IfcComplexProperty(IfcEntityInstanceData&& e) : IfcProperty(std::move(e)) { } -Ifc2x3::IfcComplexProperty::IfcComplexProperty(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_UsageName, aggregate_of< ::Ifc2x3::IfcProperty >::ptr v4_HasProperties) : IfcProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, (v4_HasProperties)->generalize());; populate_derived(); } +Ifc2x3::IfcComplexProperty::IfcComplexProperty(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_UsageName, aggregate_of< ::Ifc2x3::IfcProperty >::ptr v4_HasProperties) : IfcProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, (v4_HasProperties)->generalize());; populate_derived(); } // Function implementations for IfcCompositeCurve -aggregate_of< ::Ifc2x3::IfcCompositeCurveSegment >::ptr Ifc2x3::IfcCompositeCurve::Segments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc2x3::IfcCompositeCurveSegment >(); } +aggregate_of< ::Ifc2x3::IfcCompositeCurveSegment >::ptr Ifc2x3::IfcCompositeCurve::Segments() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc2x3::IfcCompositeCurveSegment >(); } void Ifc2x3::IfcCompositeCurve::setSegments(aggregate_of< ::Ifc2x3::IfcCompositeCurveSegment >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::logic::tribool Ifc2x3::IfcCompositeCurve::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(1); return v; } +boost::logic::tribool Ifc2x3::IfcCompositeCurve::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(1); return v; } void Ifc2x3::IfcCompositeCurve::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcCompositeCurve::declaration() const { return *((IfcParse::entity*)IFC2X3_types[132]); } const IfcParse::entity& Ifc2x3::IfcCompositeCurve::Class() { return *((IfcParse::entity*)IFC2X3_types[132]); } Ifc2x3::IfcCompositeCurve::IfcCompositeCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc2x3::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc2x3::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc2x3::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc2x3::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcCompositeCurveSegment -::Ifc2x3::IfcTransitionCode::Value Ifc2x3::IfcCompositeCurveSegment::Transition() const { return ::Ifc2x3::IfcTransitionCode::FromString(data_.get_attribute_value(0)); } +::Ifc2x3::IfcTransitionCode::Value Ifc2x3::IfcCompositeCurveSegment::Transition() const { return ::Ifc2x3::IfcTransitionCode::FromString(get_attribute_value(0)); } void Ifc2x3::IfcCompositeCurveSegment::setTransition(::Ifc2x3::IfcTransitionCode::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc2x3::IfcTransitionCode::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -bool Ifc2x3::IfcCompositeCurveSegment::SameSense() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc2x3::IfcCompositeCurveSegment::SameSense() const { bool v = get_attribute_value(1); return v; } void Ifc2x3::IfcCompositeCurveSegment::setSameSense(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc2x3::IfcCurve* Ifc2x3::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcCurve>(true); } +::Ifc2x3::IfcCurve* Ifc2x3::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcCurve>(true); } void Ifc2x3::IfcCompositeCurveSegment::setParentCurve(::Ifc2x3::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } ::Ifc2x3::IfcCompositeCurve::list::ptr Ifc2x3::IfcCompositeCurveSegment::UsingCurves() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[132], 0)->as(); } @@ -6468,39 +6468,39 @@ void Ifc2x3::IfcCompositeCurveSegment::setParentCurve(::Ifc2x3::IfcCurve* v) { s const IfcParse::entity& Ifc2x3::IfcCompositeCurveSegment::declaration() const { return *((IfcParse::entity*)IFC2X3_types[133]); } const IfcParse::entity& Ifc2x3::IfcCompositeCurveSegment::Class() { return *((IfcParse::entity*)IFC2X3_types[133]); } Ifc2x3::IfcCompositeCurveSegment::IfcCompositeCurveSegment(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc2x3::IfcCompositeCurveSegment::IfcCompositeCurveSegment(::Ifc2x3::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc2x3::IfcCurve* v3_ParentCurve) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcCompositeCurveSegment::IfcCompositeCurveSegment(::Ifc2x3::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc2x3::IfcCurve* v3_ParentCurve) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCompositeProfileDef -aggregate_of< ::Ifc2x3::IfcProfileDef >::ptr Ifc2x3::IfcCompositeProfileDef::Profiles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc2x3::IfcProfileDef >(); } +aggregate_of< ::Ifc2x3::IfcProfileDef >::ptr Ifc2x3::IfcCompositeProfileDef::Profiles() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc2x3::IfcProfileDef >(); } void Ifc2x3::IfcCompositeProfileDef::setProfiles(aggregate_of< ::Ifc2x3::IfcProfileDef >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc2x3::IfcCompositeProfileDef::Label() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc2x3::IfcCompositeProfileDef::Label() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc2x3::IfcCompositeProfileDef::setLabel(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc2x3::IfcCompositeProfileDef::declaration() const { return *((IfcParse::entity*)IFC2X3_types[134]); } const IfcParse::entity& Ifc2x3::IfcCompositeProfileDef::Class() { return *((IfcParse::entity*)IFC2X3_types[134]); } Ifc2x3::IfcCompositeProfileDef::IfcCompositeProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc2x3::IfcCompositeProfileDef::IfcCompositeProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, aggregate_of< ::Ifc2x3::IfcProfileDef >::ptr v3_Profiles, boost::optional< std::string > v4_Label) : IfcProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Profiles)->generalize()); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; populate_derived(); } +Ifc2x3::IfcCompositeProfileDef::IfcCompositeProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, aggregate_of< ::Ifc2x3::IfcProfileDef >::ptr v3_Profiles, boost::optional< std::string > v4_Label) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Profiles)->generalize()); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; populate_derived(); } // Function implementations for IfcCompressorType -::Ifc2x3::IfcCompressorTypeEnum::Value Ifc2x3::IfcCompressorType::PredefinedType() const { return ::Ifc2x3::IfcCompressorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcCompressorTypeEnum::Value Ifc2x3::IfcCompressorType::PredefinedType() const { return ::Ifc2x3::IfcCompressorTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcCompressorType::setPredefinedType(::Ifc2x3::IfcCompressorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcCompressorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcCompressorType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[136]); } const IfcParse::entity& Ifc2x3::IfcCompressorType::Class() { return *((IfcParse::entity*)IFC2X3_types[136]); } Ifc2x3::IfcCompressorType::IfcCompressorType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(e)) { } -Ifc2x3::IfcCompressorType::IfcCompressorType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCompressorTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcCompressorType::IfcCompressorType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCompressorTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCondenserType -::Ifc2x3::IfcCondenserTypeEnum::Value Ifc2x3::IfcCondenserType::PredefinedType() const { return ::Ifc2x3::IfcCondenserTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcCondenserTypeEnum::Value Ifc2x3::IfcCondenserType::PredefinedType() const { return ::Ifc2x3::IfcCondenserTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcCondenserType::setPredefinedType(::Ifc2x3::IfcCondenserTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcCondenserTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcCondenserType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[138]); } const IfcParse::entity& Ifc2x3::IfcCondenserType::Class() { return *((IfcParse::entity*)IFC2X3_types[138]); } Ifc2x3::IfcCondenserType::IfcCondenserType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc2x3::IfcCondenserType::IfcCondenserType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCondenserTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcCondenserType::IfcCondenserType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCondenserTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCondition @@ -6508,51 +6508,51 @@ Ifc2x3::IfcCondenserType::IfcCondenserType(std::string v1_GlobalId, ::Ifc2x3::If const IfcParse::entity& Ifc2x3::IfcCondition::declaration() const { return *((IfcParse::entity*)IFC2X3_types[140]); } const IfcParse::entity& Ifc2x3::IfcCondition::Class() { return *((IfcParse::entity*)IFC2X3_types[140]); } Ifc2x3::IfcCondition::IfcCondition(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc2x3::IfcCondition::IfcCondition(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcGroup(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc2x3::IfcCondition::IfcCondition(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcConditionCriterion -::Ifc2x3::IfcConditionCriterionSelect* Ifc2x3::IfcConditionCriterion::Criterion() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcConditionCriterionSelect>(true); } +::Ifc2x3::IfcConditionCriterionSelect* Ifc2x3::IfcConditionCriterion::Criterion() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcConditionCriterionSelect>(true); } void Ifc2x3::IfcConditionCriterion::setCriterion(::Ifc2x3::IfcConditionCriterionSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcConditionCriterion::CriterionDateTime() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcConditionCriterion::CriterionDateTime() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcConditionCriterion::setCriterionDateTime(::Ifc2x3::IfcDateTimeSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc2x3::IfcConditionCriterion::declaration() const { return *((IfcParse::entity*)IFC2X3_types[141]); } const IfcParse::entity& Ifc2x3::IfcConditionCriterion::Class() { return *((IfcParse::entity*)IFC2X3_types[141]); } Ifc2x3::IfcConditionCriterion::IfcConditionCriterion(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc2x3::IfcConditionCriterion::IfcConditionCriterion(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcConditionCriterionSelect* v6_Criterion, ::Ifc2x3::IfcDateTimeSelect* v7_CriterionDateTime) : IfcControl(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_Criterion ? v6_Criterion->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_CriterionDateTime ? v7_CriterionDateTime->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcConditionCriterion::IfcConditionCriterion(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcConditionCriterionSelect* v6_Criterion, ::Ifc2x3::IfcDateTimeSelect* v7_CriterionDateTime) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_Criterion ? v6_Criterion->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_CriterionDateTime ? v7_CriterionDateTime->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConic -::Ifc2x3::IfcAxis2Placement* Ifc2x3::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcAxis2Placement>(true); } +::Ifc2x3::IfcAxis2Placement* Ifc2x3::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcAxis2Placement>(true); } void Ifc2x3::IfcConic::setPosition(::Ifc2x3::IfcAxis2Placement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc2x3::IfcConic::declaration() const { return *((IfcParse::entity*)IFC2X3_types[143]); } const IfcParse::entity& Ifc2x3::IfcConic::Class() { return *((IfcParse::entity*)IFC2X3_types[143]); } Ifc2x3::IfcConic::IfcConic(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc2x3::IfcConic::IfcConic(::Ifc2x3::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcConic::IfcConic(::Ifc2x3::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectedFaceSet -aggregate_of< ::Ifc2x3::IfcFace >::ptr Ifc2x3::IfcConnectedFaceSet::CfsFaces() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc2x3::IfcFace >(); } +aggregate_of< ::Ifc2x3::IfcFace >::ptr Ifc2x3::IfcConnectedFaceSet::CfsFaces() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc2x3::IfcFace >(); } void Ifc2x3::IfcConnectedFaceSet::setCfsFaces(aggregate_of< ::Ifc2x3::IfcFace >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc2x3::IfcConnectedFaceSet::declaration() const { return *((IfcParse::entity*)IFC2X3_types[144]); } const IfcParse::entity& Ifc2x3::IfcConnectedFaceSet::Class() { return *((IfcParse::entity*)IFC2X3_types[144]); } Ifc2x3::IfcConnectedFaceSet::IfcConnectedFaceSet(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc2x3::IfcConnectedFaceSet::IfcConnectedFaceSet(aggregate_of< ::Ifc2x3::IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc2x3::IfcConnectedFaceSet::IfcConnectedFaceSet(aggregate_of< ::Ifc2x3::IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcConnectionCurveGeometry -::Ifc2x3::IfcCurveOrEdgeCurve* Ifc2x3::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcCurveOrEdgeCurve>(true); } +::Ifc2x3::IfcCurveOrEdgeCurve* Ifc2x3::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcCurveOrEdgeCurve>(true); } void Ifc2x3::IfcConnectionCurveGeometry::setCurveOnRelatingElement(::Ifc2x3::IfcCurveOrEdgeCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcCurveOrEdgeCurve* Ifc2x3::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcCurveOrEdgeCurve>(true); } +::Ifc2x3::IfcCurveOrEdgeCurve* Ifc2x3::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcCurveOrEdgeCurve>(true); } void Ifc2x3::IfcConnectionCurveGeometry::setCurveOnRelatedElement(::Ifc2x3::IfcCurveOrEdgeCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcConnectionCurveGeometry::declaration() const { return *((IfcParse::entity*)IFC2X3_types[145]); } const IfcParse::entity& Ifc2x3::IfcConnectionCurveGeometry::Class() { return *((IfcParse::entity*)IFC2X3_types[145]); } Ifc2x3::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc2x3::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc2x3::IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, ::Ifc2x3::IfcCurveOrEdgeCurve* v2_CurveOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_CurveOnRelatingElement ? v1_CurveOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_CurveOnRelatedElement ? v2_CurveOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc2x3::IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, ::Ifc2x3::IfcCurveOrEdgeCurve* v2_CurveOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_CurveOnRelatingElement ? v1_CurveOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_CurveOnRelatedElement ? v2_CurveOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionGeometry @@ -6560,74 +6560,74 @@ Ifc2x3::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc2x3::IfcCurv const IfcParse::entity& Ifc2x3::IfcConnectionGeometry::declaration() const { return *((IfcParse::entity*)IFC2X3_types[146]); } const IfcParse::entity& Ifc2x3::IfcConnectionGeometry::Class() { return *((IfcParse::entity*)IFC2X3_types[146]); } Ifc2x3::IfcConnectionGeometry::IfcConnectionGeometry(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc2x3::IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcConnectionPointEccentricity -boost::optional< double > Ifc2x3::IfcConnectionPointEccentricity::EccentricityInX() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc2x3::IfcConnectionPointEccentricity::EccentricityInX() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc2x3::IfcConnectionPointEccentricity::setEccentricityInX(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc2x3::IfcConnectionPointEccentricity::EccentricityInY() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc2x3::IfcConnectionPointEccentricity::EccentricityInY() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc2x3::IfcConnectionPointEccentricity::setEccentricityInY(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc2x3::IfcConnectionPointEccentricity::EccentricityInZ() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc2x3::IfcConnectionPointEccentricity::EccentricityInZ() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc2x3::IfcConnectionPointEccentricity::setEccentricityInZ(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc2x3::IfcConnectionPointEccentricity::declaration() const { return *((IfcParse::entity*)IFC2X3_types[147]); } const IfcParse::entity& Ifc2x3::IfcConnectionPointEccentricity::Class() { return *((IfcParse::entity*)IFC2X3_types[147]); } Ifc2x3::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcEntityInstanceData&& e) : IfcConnectionPointGeometry(std::move(e)) { } -Ifc2x3::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(::Ifc2x3::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc2x3::IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; populate_derived(); } +Ifc2x3::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(::Ifc2x3::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc2x3::IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; populate_derived(); } // Function implementations for IfcConnectionPointGeometry -::Ifc2x3::IfcPointOrVertexPoint* Ifc2x3::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcPointOrVertexPoint>(true); } +::Ifc2x3::IfcPointOrVertexPoint* Ifc2x3::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcPointOrVertexPoint>(true); } void Ifc2x3::IfcConnectionPointGeometry::setPointOnRelatingElement(::Ifc2x3::IfcPointOrVertexPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcPointOrVertexPoint* Ifc2x3::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcPointOrVertexPoint>(true); } +::Ifc2x3::IfcPointOrVertexPoint* Ifc2x3::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcPointOrVertexPoint>(true); } void Ifc2x3::IfcConnectionPointGeometry::setPointOnRelatedElement(::Ifc2x3::IfcPointOrVertexPoint* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcConnectionPointGeometry::declaration() const { return *((IfcParse::entity*)IFC2X3_types[148]); } const IfcParse::entity& Ifc2x3::IfcConnectionPointGeometry::Class() { return *((IfcParse::entity*)IFC2X3_types[148]); } Ifc2x3::IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc2x3::IfcConnectionPointGeometry::IfcConnectionPointGeometry(::Ifc2x3::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc2x3::IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcConnectionPointGeometry::IfcConnectionPointGeometry(::Ifc2x3::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc2x3::IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionPortGeometry -::Ifc2x3::IfcAxis2Placement* Ifc2x3::IfcConnectionPortGeometry::LocationAtRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcAxis2Placement>(true); } +::Ifc2x3::IfcAxis2Placement* Ifc2x3::IfcConnectionPortGeometry::LocationAtRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcAxis2Placement>(true); } void Ifc2x3::IfcConnectionPortGeometry::setLocationAtRelatingElement(::Ifc2x3::IfcAxis2Placement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcAxis2Placement* Ifc2x3::IfcConnectionPortGeometry::LocationAtRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcAxis2Placement>(true); } +::Ifc2x3::IfcAxis2Placement* Ifc2x3::IfcConnectionPortGeometry::LocationAtRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcAxis2Placement>(true); } void Ifc2x3::IfcConnectionPortGeometry::setLocationAtRelatedElement(::Ifc2x3::IfcAxis2Placement* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc2x3::IfcProfileDef* Ifc2x3::IfcConnectionPortGeometry::ProfileOfPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcProfileDef>(true); } +::Ifc2x3::IfcProfileDef* Ifc2x3::IfcConnectionPortGeometry::ProfileOfPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcProfileDef>(true); } void Ifc2x3::IfcConnectionPortGeometry::setProfileOfPort(::Ifc2x3::IfcProfileDef* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc2x3::IfcConnectionPortGeometry::declaration() const { return *((IfcParse::entity*)IFC2X3_types[149]); } const IfcParse::entity& Ifc2x3::IfcConnectionPortGeometry::Class() { return *((IfcParse::entity*)IFC2X3_types[149]); } Ifc2x3::IfcConnectionPortGeometry::IfcConnectionPortGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc2x3::IfcConnectionPortGeometry::IfcConnectionPortGeometry(::Ifc2x3::IfcAxis2Placement* v1_LocationAtRelatingElement, ::Ifc2x3::IfcAxis2Placement* v2_LocationAtRelatedElement, ::Ifc2x3::IfcProfileDef* v3_ProfileOfPort) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_LocationAtRelatingElement ? v1_LocationAtRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_LocationAtRelatedElement ? v2_LocationAtRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ProfileOfPort ? v3_ProfileOfPort->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcConnectionPortGeometry::IfcConnectionPortGeometry(::Ifc2x3::IfcAxis2Placement* v1_LocationAtRelatingElement, ::Ifc2x3::IfcAxis2Placement* v2_LocationAtRelatedElement, ::Ifc2x3::IfcProfileDef* v3_ProfileOfPort) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_LocationAtRelatingElement ? v1_LocationAtRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_LocationAtRelatedElement ? v2_LocationAtRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ProfileOfPort ? v3_ProfileOfPort->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionSurfaceGeometry -::Ifc2x3::IfcSurfaceOrFaceSurface* Ifc2x3::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcSurfaceOrFaceSurface>(true); } +::Ifc2x3::IfcSurfaceOrFaceSurface* Ifc2x3::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcSurfaceOrFaceSurface>(true); } void Ifc2x3::IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(::Ifc2x3::IfcSurfaceOrFaceSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcSurfaceOrFaceSurface* Ifc2x3::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcSurfaceOrFaceSurface>(true); } +::Ifc2x3::IfcSurfaceOrFaceSurface* Ifc2x3::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcSurfaceOrFaceSurface>(true); } void Ifc2x3::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(::Ifc2x3::IfcSurfaceOrFaceSurface* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcConnectionSurfaceGeometry::declaration() const { return *((IfcParse::entity*)IFC2X3_types[150]); } const IfcParse::entity& Ifc2x3::IfcConnectionSurfaceGeometry::Class() { return *((IfcParse::entity*)IFC2X3_types[150]); } Ifc2x3::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc2x3::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(::Ifc2x3::IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, ::Ifc2x3::IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SurfaceOnRelatingElement ? v1_SurfaceOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_SurfaceOnRelatedElement ? v2_SurfaceOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(::Ifc2x3::IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, ::Ifc2x3::IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SurfaceOnRelatingElement ? v1_SurfaceOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_SurfaceOnRelatedElement ? v2_SurfaceOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConstraint -std::string Ifc2x3::IfcConstraint::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc2x3::IfcConstraint::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcConstraint::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc2x3::IfcConstraint::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc2x3::IfcConstraint::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcConstraint::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc2x3::IfcConstraintEnum::Value Ifc2x3::IfcConstraint::ConstraintGrade() const { return ::Ifc2x3::IfcConstraintEnum::FromString(data_.get_attribute_value(2)); } +::Ifc2x3::IfcConstraintEnum::Value Ifc2x3::IfcConstraint::ConstraintGrade() const { return ::Ifc2x3::IfcConstraintEnum::FromString(get_attribute_value(2)); } void Ifc2x3::IfcConstraint::setConstraintGrade(::Ifc2x3::IfcConstraintEnum::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc2x3::IfcConstraintEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc2x3::IfcConstraint::ConstraintSource() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc2x3::IfcConstraint::ConstraintSource() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc2x3::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc2x3::IfcActorSelect* Ifc2x3::IfcConstraint::CreatingActor() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc2x3::IfcActorSelect>(true); } +::Ifc2x3::IfcActorSelect* Ifc2x3::IfcConstraint::CreatingActor() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc2x3::IfcActorSelect>(true); } void Ifc2x3::IfcConstraint::setCreatingActor(::Ifc2x3::IfcActorSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcConstraint::CreationTime() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcConstraint::CreationTime() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcConstraint::setCreationTime(::Ifc2x3::IfcDateTimeSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -boost::optional< std::string > Ifc2x3::IfcConstraint::UserDefinedGrade() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc2x3::IfcConstraint::UserDefinedGrade() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc2x3::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc2x3::IfcConstraintClassificationRelationship::list::ptr Ifc2x3::IfcConstraint::ClassifiedAs() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[154], 0)->as(); } @@ -6640,53 +6640,53 @@ void Ifc2x3::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v const IfcParse::entity& Ifc2x3::IfcConstraint::declaration() const { return *((IfcParse::entity*)IFC2X3_types[152]); } const IfcParse::entity& Ifc2x3::IfcConstraint::Class() { return *((IfcParse::entity*)IFC2X3_types[152]); } Ifc2x3::IfcConstraint::IfcConstraint(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc2x3::IfcActorSelect* v5_CreatingActor, ::Ifc2x3::IfcDateTimeSelect* v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_CreationTime ? v6_CreationTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; populate_derived(); } +Ifc2x3::IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc2x3::IfcActorSelect* v5_CreatingActor, ::Ifc2x3::IfcDateTimeSelect* v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_CreationTime ? v6_CreationTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; populate_derived(); } // Function implementations for IfcConstraintAggregationRelationship -boost::optional< std::string > Ifc2x3::IfcConstraintAggregationRelationship::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc2x3::IfcConstraintAggregationRelationship::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcConstraintAggregationRelationship::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc2x3::IfcConstraintAggregationRelationship::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc2x3::IfcConstraintAggregationRelationship::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcConstraintAggregationRelationship::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc2x3::IfcConstraint* Ifc2x3::IfcConstraintAggregationRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcConstraint>(true); } +::Ifc2x3::IfcConstraint* Ifc2x3::IfcConstraintAggregationRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcConstraint>(true); } void Ifc2x3::IfcConstraintAggregationRelationship::setRelatingConstraint(::Ifc2x3::IfcConstraint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc2x3::IfcConstraint >::ptr Ifc2x3::IfcConstraintAggregationRelationship::RelatedConstraints() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc2x3::IfcConstraint >(); } +aggregate_of< ::Ifc2x3::IfcConstraint >::ptr Ifc2x3::IfcConstraintAggregationRelationship::RelatedConstraints() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc2x3::IfcConstraint >(); } void Ifc2x3::IfcConstraintAggregationRelationship::setRelatedConstraints(aggregate_of< ::Ifc2x3::IfcConstraint >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } -::Ifc2x3::IfcLogicalOperatorEnum::Value Ifc2x3::IfcConstraintAggregationRelationship::LogicalAggregator() const { return ::Ifc2x3::IfcLogicalOperatorEnum::FromString(data_.get_attribute_value(4)); } +::Ifc2x3::IfcLogicalOperatorEnum::Value Ifc2x3::IfcConstraintAggregationRelationship::LogicalAggregator() const { return ::Ifc2x3::IfcLogicalOperatorEnum::FromString(get_attribute_value(4)); } void Ifc2x3::IfcConstraintAggregationRelationship::setLogicalAggregator(::Ifc2x3::IfcLogicalOperatorEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc2x3::IfcLogicalOperatorEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc2x3::IfcConstraintAggregationRelationship::declaration() const { return *((IfcParse::entity*)IFC2X3_types[153]); } const IfcParse::entity& Ifc2x3::IfcConstraintAggregationRelationship::Class() { return *((IfcParse::entity*)IFC2X3_types[153]); } Ifc2x3::IfcConstraintAggregationRelationship::IfcConstraintAggregationRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcConstraintAggregationRelationship::IfcConstraintAggregationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc2x3::IfcConstraint >::ptr v4_RelatedConstraints, ::Ifc2x3::IfcLogicalOperatorEnum::Value v5_LogicalAggregator) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingConstraint ? v3_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedConstraints)->generalize());set_attribute_value(4, (EnumerationReference(&::Ifc2x3::IfcLogicalOperatorEnum::Class(),(size_t)v5_LogicalAggregator)));; populate_derived(); } +Ifc2x3::IfcConstraintAggregationRelationship::IfcConstraintAggregationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc2x3::IfcConstraint >::ptr v4_RelatedConstraints, ::Ifc2x3::IfcLogicalOperatorEnum::Value v5_LogicalAggregator) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingConstraint ? v3_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedConstraints)->generalize());set_attribute_value(4, (EnumerationReference(&::Ifc2x3::IfcLogicalOperatorEnum::Class(),(size_t)v5_LogicalAggregator)));; populate_derived(); } // Function implementations for IfcConstraintClassificationRelationship -::Ifc2x3::IfcConstraint* Ifc2x3::IfcConstraintClassificationRelationship::ClassifiedConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcConstraint>(true); } +::Ifc2x3::IfcConstraint* Ifc2x3::IfcConstraintClassificationRelationship::ClassifiedConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcConstraint>(true); } void Ifc2x3::IfcConstraintClassificationRelationship::setClassifiedConstraint(::Ifc2x3::IfcConstraint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr Ifc2x3::IfcConstraintClassificationRelationship::RelatedClassifications() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc2x3::IfcClassificationNotationSelect >(); } +aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr Ifc2x3::IfcConstraintClassificationRelationship::RelatedClassifications() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc2x3::IfcClassificationNotationSelect >(); } void Ifc2x3::IfcConstraintClassificationRelationship::setRelatedClassifications(aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcConstraintClassificationRelationship::declaration() const { return *((IfcParse::entity*)IFC2X3_types[154]); } const IfcParse::entity& Ifc2x3::IfcConstraintClassificationRelationship::Class() { return *((IfcParse::entity*)IFC2X3_types[154]); } Ifc2x3::IfcConstraintClassificationRelationship::IfcConstraintClassificationRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcConstraintClassificationRelationship::IfcConstraintClassificationRelationship(::Ifc2x3::IfcConstraint* v1_ClassifiedConstraint, aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr v2_RelatedClassifications) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_ClassifiedConstraint ? v1_ClassifiedConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_RelatedClassifications)->generalize());; populate_derived(); } +Ifc2x3::IfcConstraintClassificationRelationship::IfcConstraintClassificationRelationship(::Ifc2x3::IfcConstraint* v1_ClassifiedConstraint, aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr v2_RelatedClassifications) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_ClassifiedConstraint ? v1_ClassifiedConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_RelatedClassifications)->generalize());; populate_derived(); } // Function implementations for IfcConstraintRelationship -boost::optional< std::string > Ifc2x3::IfcConstraintRelationship::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc2x3::IfcConstraintRelationship::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcConstraintRelationship::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc2x3::IfcConstraintRelationship::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc2x3::IfcConstraintRelationship::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcConstraintRelationship::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc2x3::IfcConstraint* Ifc2x3::IfcConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcConstraint>(true); } +::Ifc2x3::IfcConstraint* Ifc2x3::IfcConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcConstraint>(true); } void Ifc2x3::IfcConstraintRelationship::setRelatingConstraint(::Ifc2x3::IfcConstraint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc2x3::IfcConstraint >::ptr Ifc2x3::IfcConstraintRelationship::RelatedConstraints() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc2x3::IfcConstraint >(); } +aggregate_of< ::Ifc2x3::IfcConstraint >::ptr Ifc2x3::IfcConstraintRelationship::RelatedConstraints() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc2x3::IfcConstraint >(); } void Ifc2x3::IfcConstraintRelationship::setRelatedConstraints(aggregate_of< ::Ifc2x3::IfcConstraint >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcConstraintRelationship::declaration() const { return *((IfcParse::entity*)IFC2X3_types[156]); } const IfcParse::entity& Ifc2x3::IfcConstraintRelationship::Class() { return *((IfcParse::entity*)IFC2X3_types[156]); } Ifc2x3::IfcConstraintRelationship::IfcConstraintRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcConstraintRelationship::IfcConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc2x3::IfcConstraint >::ptr v4_RelatedConstraints) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingConstraint ? v3_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedConstraints)->generalize());; populate_derived(); } +Ifc2x3::IfcConstraintRelationship::IfcConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc2x3::IfcConstraint >::ptr v4_RelatedConstraints) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingConstraint ? v3_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedConstraints)->generalize());; populate_derived(); } // Function implementations for IfcConstructionEquipmentResource @@ -6694,19 +6694,19 @@ Ifc2x3::IfcConstraintRelationship::IfcConstraintRelationship(boost::optional< st const IfcParse::entity& Ifc2x3::IfcConstructionEquipmentResource::declaration() const { return *((IfcParse::entity*)IFC2X3_types[157]); } const IfcParse::entity& Ifc2x3::IfcConstructionEquipmentResource::Class() { return *((IfcParse::entity*)IFC2X3_types[157]); } Ifc2x3::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc2x3::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit* v9_BaseQuantity) : IfcConstructionResource(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_ResourceIdentifier) {set_attribute_value(5, (*v6_ResourceIdentifier)); } if (v7_ResourceGroup) {set_attribute_value(6, (*v7_ResourceGroup)); } if (v8_ResourceConsumption) {set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcResourceConsumptionEnum::Class(),(size_t)*v8_ResourceConsumption))); }set_attribute_value(8, v9_BaseQuantity ? v9_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit* v9_BaseQuantity) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_ResourceIdentifier) {set_attribute_value(5, (*v6_ResourceIdentifier)); } if (v7_ResourceGroup) {set_attribute_value(6, (*v7_ResourceGroup)); } if (v8_ResourceConsumption) {set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcResourceConsumptionEnum::Class(),(size_t)*v8_ResourceConsumption))); }set_attribute_value(8, v9_BaseQuantity ? v9_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConstructionMaterialResource -boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > Ifc2x3::IfcConstructionMaterialResource::Suppliers() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc2x3::IfcActorSelect >(); } +boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > Ifc2x3::IfcConstructionMaterialResource::Suppliers() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc2x3::IfcActorSelect >(); } void Ifc2x3::IfcConstructionMaterialResource::setSuppliers(boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -boost::optional< double > Ifc2x3::IfcConstructionMaterialResource::UsageRatio() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc2x3::IfcConstructionMaterialResource::UsageRatio() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc2x3::IfcConstructionMaterialResource::setUsageRatio(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc2x3::IfcConstructionMaterialResource::declaration() const { return *((IfcParse::entity*)IFC2X3_types[158]); } const IfcParse::entity& Ifc2x3::IfcConstructionMaterialResource::Class() { return *((IfcParse::entity*)IFC2X3_types[158]); } Ifc2x3::IfcConstructionMaterialResource::IfcConstructionMaterialResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc2x3::IfcConstructionMaterialResource::IfcConstructionMaterialResource(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit* v9_BaseQuantity, boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > v10_Suppliers, boost::optional< double > v11_UsageRatio) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_ResourceIdentifier) {set_attribute_value(5, (*v6_ResourceIdentifier)); } if (v7_ResourceGroup) {set_attribute_value(6, (*v7_ResourceGroup)); } if (v8_ResourceConsumption) {set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcResourceConsumptionEnum::Class(),(size_t)*v8_ResourceConsumption))); }set_attribute_value(8, v9_BaseQuantity ? v9_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v10_Suppliers) {set_attribute_value(9, (*v10_Suppliers)->generalize()); } if (v11_UsageRatio) {set_attribute_value(10, (*v11_UsageRatio)); }; populate_derived(); } +Ifc2x3::IfcConstructionMaterialResource::IfcConstructionMaterialResource(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit* v9_BaseQuantity, boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > v10_Suppliers, boost::optional< double > v11_UsageRatio) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_ResourceIdentifier) {set_attribute_value(5, (*v6_ResourceIdentifier)); } if (v7_ResourceGroup) {set_attribute_value(6, (*v7_ResourceGroup)); } if (v8_ResourceConsumption) {set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcResourceConsumptionEnum::Class(),(size_t)*v8_ResourceConsumption))); }set_attribute_value(8, v9_BaseQuantity ? v9_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v10_Suppliers) {set_attribute_value(9, (*v10_Suppliers)->generalize()); } if (v11_UsageRatio) {set_attribute_value(10, (*v11_UsageRatio)); }; populate_derived(); } // Function implementations for IfcConstructionProductResource @@ -6714,33 +6714,33 @@ Ifc2x3::IfcConstructionMaterialResource::IfcConstructionMaterialResource(std::st const IfcParse::entity& Ifc2x3::IfcConstructionProductResource::declaration() const { return *((IfcParse::entity*)IFC2X3_types[159]); } const IfcParse::entity& Ifc2x3::IfcConstructionProductResource::Class() { return *((IfcParse::entity*)IFC2X3_types[159]); } Ifc2x3::IfcConstructionProductResource::IfcConstructionProductResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc2x3::IfcConstructionProductResource::IfcConstructionProductResource(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit* v9_BaseQuantity) : IfcConstructionResource(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_ResourceIdentifier) {set_attribute_value(5, (*v6_ResourceIdentifier)); } if (v7_ResourceGroup) {set_attribute_value(6, (*v7_ResourceGroup)); } if (v8_ResourceConsumption) {set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcResourceConsumptionEnum::Class(),(size_t)*v8_ResourceConsumption))); }set_attribute_value(8, v9_BaseQuantity ? v9_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcConstructionProductResource::IfcConstructionProductResource(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit* v9_BaseQuantity) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_ResourceIdentifier) {set_attribute_value(5, (*v6_ResourceIdentifier)); } if (v7_ResourceGroup) {set_attribute_value(6, (*v7_ResourceGroup)); } if (v8_ResourceConsumption) {set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcResourceConsumptionEnum::Class(),(size_t)*v8_ResourceConsumption))); }set_attribute_value(8, v9_BaseQuantity ? v9_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConstructionResource -boost::optional< std::string > Ifc2x3::IfcConstructionResource::ResourceIdentifier() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc2x3::IfcConstructionResource::ResourceIdentifier() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc2x3::IfcConstructionResource::setResourceIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc2x3::IfcConstructionResource::ResourceGroup() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc2x3::IfcConstructionResource::ResourceGroup() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc2x3::IfcConstructionResource::setResourceGroup(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > Ifc2x3::IfcConstructionResource::ResourceConsumption() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc2x3::IfcResourceConsumptionEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > Ifc2x3::IfcConstructionResource::ResourceConsumption() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc2x3::IfcResourceConsumptionEnum::FromString(get_attribute_value(7)); } void Ifc2x3::IfcConstructionResource::setResourceConsumption(boost::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc2x3::IfcResourceConsumptionEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -::Ifc2x3::IfcMeasureWithUnit* Ifc2x3::IfcConstructionResource::BaseQuantity() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc2x3::IfcMeasureWithUnit>(true); } +::Ifc2x3::IfcMeasureWithUnit* Ifc2x3::IfcConstructionResource::BaseQuantity() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc2x3::IfcMeasureWithUnit>(true); } void Ifc2x3::IfcConstructionResource::setBaseQuantity(::Ifc2x3::IfcMeasureWithUnit* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc2x3::IfcConstructionResource::declaration() const { return *((IfcParse::entity*)IFC2X3_types[160]); } const IfcParse::entity& Ifc2x3::IfcConstructionResource::Class() { return *((IfcParse::entity*)IFC2X3_types[160]); } Ifc2x3::IfcConstructionResource::IfcConstructionResource(IfcEntityInstanceData&& e) : IfcResource(std::move(e)) { } -Ifc2x3::IfcConstructionResource::IfcConstructionResource(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit* v9_BaseQuantity) : IfcResource(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_ResourceIdentifier) {set_attribute_value(5, (*v6_ResourceIdentifier)); } if (v7_ResourceGroup) {set_attribute_value(6, (*v7_ResourceGroup)); } if (v8_ResourceConsumption) {set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcResourceConsumptionEnum::Class(),(size_t)*v8_ResourceConsumption))); }set_attribute_value(8, v9_BaseQuantity ? v9_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcConstructionResource::IfcConstructionResource(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit* v9_BaseQuantity) : IfcResource(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_ResourceIdentifier) {set_attribute_value(5, (*v6_ResourceIdentifier)); } if (v7_ResourceGroup) {set_attribute_value(6, (*v7_ResourceGroup)); } if (v8_ResourceConsumption) {set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcResourceConsumptionEnum::Class(),(size_t)*v8_ResourceConsumption))); }set_attribute_value(8, v9_BaseQuantity ? v9_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcContextDependentUnit -std::string Ifc2x3::IfcContextDependentUnit::Name() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc2x3::IfcContextDependentUnit::Name() const { std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcContextDependentUnit::setName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc2x3::IfcContextDependentUnit::declaration() const { return *((IfcParse::entity*)IFC2X3_types[162]); } const IfcParse::entity& Ifc2x3::IfcContextDependentUnit::Class() { return *((IfcParse::entity*)IFC2X3_types[162]); } Ifc2x3::IfcContextDependentUnit::IfcContextDependentUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -Ifc2x3::IfcContextDependentUnit::IfcContextDependentUnit(::Ifc2x3::IfcDimensionalExponents* v1_Dimensions, ::Ifc2x3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) : IfcNamedUnit(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc2x3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; populate_derived(); } +Ifc2x3::IfcContextDependentUnit::IfcContextDependentUnit(::Ifc2x3::IfcDimensionalExponents* v1_Dimensions, ::Ifc2x3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) : IfcNamedUnit(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc2x3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; populate_derived(); } // Function implementations for IfcControl @@ -6749,63 +6749,63 @@ Ifc2x3::IfcContextDependentUnit::IfcContextDependentUnit(::Ifc2x3::IfcDimensiona const IfcParse::entity& Ifc2x3::IfcControl::declaration() const { return *((IfcParse::entity*)IFC2X3_types[163]); } const IfcParse::entity& Ifc2x3::IfcControl::Class() { return *((IfcParse::entity*)IFC2X3_types[163]); } Ifc2x3::IfcControl::IfcControl(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc2x3::IfcControl::IfcControl(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc2x3::IfcControl::IfcControl(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcControllerType -::Ifc2x3::IfcControllerTypeEnum::Value Ifc2x3::IfcControllerType::PredefinedType() const { return ::Ifc2x3::IfcControllerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcControllerTypeEnum::Value Ifc2x3::IfcControllerType::PredefinedType() const { return ::Ifc2x3::IfcControllerTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcControllerType::setPredefinedType(::Ifc2x3::IfcControllerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcControllerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcControllerType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[164]); } const IfcParse::entity& Ifc2x3::IfcControllerType::Class() { return *((IfcParse::entity*)IFC2X3_types[164]); } Ifc2x3::IfcControllerType::IfcControllerType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc2x3::IfcControllerType::IfcControllerType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcControllerTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcControllerType::IfcControllerType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcControllerTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcConversionBasedUnit -std::string Ifc2x3::IfcConversionBasedUnit::Name() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc2x3::IfcConversionBasedUnit::Name() const { std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcConversionBasedUnit::setName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcMeasureWithUnit* Ifc2x3::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc2x3::IfcMeasureWithUnit>(true); } +::Ifc2x3::IfcMeasureWithUnit* Ifc2x3::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc2x3::IfcMeasureWithUnit>(true); } void Ifc2x3::IfcConversionBasedUnit::setConversionFactor(::Ifc2x3::IfcMeasureWithUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcConversionBasedUnit::declaration() const { return *((IfcParse::entity*)IFC2X3_types[166]); } const IfcParse::entity& Ifc2x3::IfcConversionBasedUnit::Class() { return *((IfcParse::entity*)IFC2X3_types[166]); } Ifc2x3::IfcConversionBasedUnit::IfcConversionBasedUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -Ifc2x3::IfcConversionBasedUnit::IfcConversionBasedUnit(::Ifc2x3::IfcDimensionalExponents* v1_Dimensions, ::Ifc2x3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc2x3::IfcMeasureWithUnit* v4_ConversionFactor) : IfcNamedUnit(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc2x3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcConversionBasedUnit::IfcConversionBasedUnit(::Ifc2x3::IfcDimensionalExponents* v1_Dimensions, ::Ifc2x3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc2x3::IfcMeasureWithUnit* v4_ConversionFactor) : IfcNamedUnit(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc2x3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCooledBeamType -::Ifc2x3::IfcCooledBeamTypeEnum::Value Ifc2x3::IfcCooledBeamType::PredefinedType() const { return ::Ifc2x3::IfcCooledBeamTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcCooledBeamTypeEnum::Value Ifc2x3::IfcCooledBeamType::PredefinedType() const { return ::Ifc2x3::IfcCooledBeamTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcCooledBeamType::setPredefinedType(::Ifc2x3::IfcCooledBeamTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcCooledBeamTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcCooledBeamType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[167]); } const IfcParse::entity& Ifc2x3::IfcCooledBeamType::Class() { return *((IfcParse::entity*)IFC2X3_types[167]); } Ifc2x3::IfcCooledBeamType::IfcCooledBeamType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc2x3::IfcCooledBeamType::IfcCooledBeamType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCooledBeamTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcCooledBeamType::IfcCooledBeamType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCooledBeamTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCoolingTowerType -::Ifc2x3::IfcCoolingTowerTypeEnum::Value Ifc2x3::IfcCoolingTowerType::PredefinedType() const { return ::Ifc2x3::IfcCoolingTowerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcCoolingTowerTypeEnum::Value Ifc2x3::IfcCoolingTowerType::PredefinedType() const { return ::Ifc2x3::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcCoolingTowerType::setPredefinedType(::Ifc2x3::IfcCoolingTowerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcCoolingTowerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcCoolingTowerType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[169]); } const IfcParse::entity& Ifc2x3::IfcCoolingTowerType::Class() { return *((IfcParse::entity*)IFC2X3_types[169]); } Ifc2x3::IfcCoolingTowerType::IfcCoolingTowerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc2x3::IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCoordinatedUniversalTimeOffset -int Ifc2x3::IfcCoordinatedUniversalTimeOffset::HourOffset() const { int v = data_.get_attribute_value(0); return v; } +int Ifc2x3::IfcCoordinatedUniversalTimeOffset::HourOffset() const { int v = get_attribute_value(0); return v; } void Ifc2x3::IfcCoordinatedUniversalTimeOffset::setHourOffset(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< int > Ifc2x3::IfcCoordinatedUniversalTimeOffset::MinuteOffset() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } int v = data_.get_attribute_value(1); return v; } +boost::optional< int > Ifc2x3::IfcCoordinatedUniversalTimeOffset::MinuteOffset() const { if(get_attribute_value(1).isNull()) { return boost::none; } int v = get_attribute_value(1); return v; } void Ifc2x3::IfcCoordinatedUniversalTimeOffset::setMinuteOffset(boost::optional< int > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc2x3::IfcAheadOrBehind::Value Ifc2x3::IfcCoordinatedUniversalTimeOffset::Sense() const { return ::Ifc2x3::IfcAheadOrBehind::FromString(data_.get_attribute_value(2)); } +::Ifc2x3::IfcAheadOrBehind::Value Ifc2x3::IfcCoordinatedUniversalTimeOffset::Sense() const { return ::Ifc2x3::IfcAheadOrBehind::FromString(get_attribute_value(2)); } void Ifc2x3::IfcCoordinatedUniversalTimeOffset::setSense(::Ifc2x3::IfcAheadOrBehind::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc2x3::IfcAheadOrBehind::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc2x3::IfcCoordinatedUniversalTimeOffset::declaration() const { return *((IfcParse::entity*)IFC2X3_types[171]); } const IfcParse::entity& Ifc2x3::IfcCoordinatedUniversalTimeOffset::Class() { return *((IfcParse::entity*)IFC2X3_types[171]); } Ifc2x3::IfcCoordinatedUniversalTimeOffset::IfcCoordinatedUniversalTimeOffset(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcCoordinatedUniversalTimeOffset::IfcCoordinatedUniversalTimeOffset(int v1_HourOffset, boost::optional< int > v2_MinuteOffset, ::Ifc2x3::IfcAheadOrBehind::Value v3_Sense) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_HourOffset)); if (v2_MinuteOffset) {set_attribute_value(1, (*v2_MinuteOffset)); }set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcAheadOrBehind::Class(),(size_t)v3_Sense)));; populate_derived(); } +Ifc2x3::IfcCoordinatedUniversalTimeOffset::IfcCoordinatedUniversalTimeOffset(int v1_HourOffset, boost::optional< int > v2_MinuteOffset, ::Ifc2x3::IfcAheadOrBehind::Value v3_Sense) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_HourOffset)); if (v2_MinuteOffset) {set_attribute_value(1, (*v2_MinuteOffset)); }set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcAheadOrBehind::Class(),(size_t)v3_Sense)));; populate_derived(); } // Function implementations for IfcCostItem @@ -6813,46 +6813,46 @@ Ifc2x3::IfcCoordinatedUniversalTimeOffset::IfcCoordinatedUniversalTimeOffset(int const IfcParse::entity& Ifc2x3::IfcCostItem::declaration() const { return *((IfcParse::entity*)IFC2X3_types[172]); } const IfcParse::entity& Ifc2x3::IfcCostItem::Class() { return *((IfcParse::entity*)IFC2X3_types[172]); } Ifc2x3::IfcCostItem::IfcCostItem(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc2x3::IfcCostItem::IfcCostItem(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcControl(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc2x3::IfcCostItem::IfcCostItem(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcCostSchedule -::Ifc2x3::IfcActorSelect* Ifc2x3::IfcCostSchedule::SubmittedBy() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcActorSelect>(true); } +::Ifc2x3::IfcActorSelect* Ifc2x3::IfcCostSchedule::SubmittedBy() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcActorSelect>(true); } void Ifc2x3::IfcCostSchedule::setSubmittedBy(::Ifc2x3::IfcActorSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcActorSelect* Ifc2x3::IfcCostSchedule::PreparedBy() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc2x3::IfcActorSelect>(true); } +::Ifc2x3::IfcActorSelect* Ifc2x3::IfcCostSchedule::PreparedBy() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc2x3::IfcActorSelect>(true); } void Ifc2x3::IfcCostSchedule::setPreparedBy(::Ifc2x3::IfcActorSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcCostSchedule::SubmittedOn() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcCostSchedule::SubmittedOn() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcCostSchedule::setSubmittedOn(::Ifc2x3::IfcDateTimeSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc2x3::IfcCostSchedule::Status() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc2x3::IfcCostSchedule::Status() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc2x3::IfcCostSchedule::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > Ifc2x3::IfcCostSchedule::TargetUsers() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc2x3::IfcActorSelect >(); } +boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > Ifc2x3::IfcCostSchedule::TargetUsers() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc2x3::IfcActorSelect >(); } void Ifc2x3::IfcCostSchedule::setTargetUsers(boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcCostSchedule::UpdateDate() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcCostSchedule::UpdateDate() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcCostSchedule::setUpdateDate(::Ifc2x3::IfcDateTimeSelect* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } -std::string Ifc2x3::IfcCostSchedule::ID() const { std::string v = data_.get_attribute_value(11); return v; } +std::string Ifc2x3::IfcCostSchedule::ID() const { std::string v = get_attribute_value(11); return v; } void Ifc2x3::IfcCostSchedule::setID(std::string v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } -::Ifc2x3::IfcCostScheduleTypeEnum::Value Ifc2x3::IfcCostSchedule::PredefinedType() const { return ::Ifc2x3::IfcCostScheduleTypeEnum::FromString(data_.get_attribute_value(12)); } +::Ifc2x3::IfcCostScheduleTypeEnum::Value Ifc2x3::IfcCostSchedule::PredefinedType() const { return ::Ifc2x3::IfcCostScheduleTypeEnum::FromString(get_attribute_value(12)); } void Ifc2x3::IfcCostSchedule::setPredefinedType(::Ifc2x3::IfcCostScheduleTypeEnum::Value v) { set_attribute_value(12, EnumerationReference(&::Ifc2x3::IfcCostScheduleTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(12); } const IfcParse::entity& Ifc2x3::IfcCostSchedule::declaration() const { return *((IfcParse::entity*)IFC2X3_types[173]); } const IfcParse::entity& Ifc2x3::IfcCostSchedule::Class() { return *((IfcParse::entity*)IFC2X3_types[173]); } Ifc2x3::IfcCostSchedule::IfcCostSchedule(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc2x3::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcActorSelect* v6_SubmittedBy, ::Ifc2x3::IfcActorSelect* v7_PreparedBy, ::Ifc2x3::IfcDateTimeSelect* v8_SubmittedOn, boost::optional< std::string > v9_Status, boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > v10_TargetUsers, ::Ifc2x3::IfcDateTimeSelect* v11_UpdateDate, std::string v12_ID, ::Ifc2x3::IfcCostScheduleTypeEnum::Value v13_PredefinedType) : IfcControl(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_SubmittedBy ? v6_SubmittedBy->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_PreparedBy ? v7_PreparedBy->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_SubmittedOn ? v8_SubmittedOn->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_Status) {set_attribute_value(8, (*v9_Status)); } if (v10_TargetUsers) {set_attribute_value(9, (*v10_TargetUsers)->generalize()); }set_attribute_value(10, v11_UpdateDate ? v11_UpdateDate->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (v12_ID));set_attribute_value(12, (EnumerationReference(&::Ifc2x3::IfcCostScheduleTypeEnum::Class(),(size_t)v13_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcActorSelect* v6_SubmittedBy, ::Ifc2x3::IfcActorSelect* v7_PreparedBy, ::Ifc2x3::IfcDateTimeSelect* v8_SubmittedOn, boost::optional< std::string > v9_Status, boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > v10_TargetUsers, ::Ifc2x3::IfcDateTimeSelect* v11_UpdateDate, std::string v12_ID, ::Ifc2x3::IfcCostScheduleTypeEnum::Value v13_PredefinedType) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_SubmittedBy ? v6_SubmittedBy->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_PreparedBy ? v7_PreparedBy->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_SubmittedOn ? v8_SubmittedOn->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_Status) {set_attribute_value(8, (*v9_Status)); } if (v10_TargetUsers) {set_attribute_value(9, (*v10_TargetUsers)->generalize()); }set_attribute_value(10, v11_UpdateDate ? v11_UpdateDate->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (v12_ID));set_attribute_value(12, (EnumerationReference(&::Ifc2x3::IfcCostScheduleTypeEnum::Class(),(size_t)v13_PredefinedType)));; populate_derived(); } // Function implementations for IfcCostValue -std::string Ifc2x3::IfcCostValue::CostType() const { std::string v = data_.get_attribute_value(6); return v; } +std::string Ifc2x3::IfcCostValue::CostType() const { std::string v = get_attribute_value(6); return v; } void Ifc2x3::IfcCostValue::setCostType(std::string v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< std::string > Ifc2x3::IfcCostValue::Condition() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc2x3::IfcCostValue::Condition() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc2x3::IfcCostValue::setCondition(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc2x3::IfcCostValue::declaration() const { return *((IfcParse::entity*)IFC2X3_types[175]); } const IfcParse::entity& Ifc2x3::IfcCostValue::Class() { return *((IfcParse::entity*)IFC2X3_types[175]); } Ifc2x3::IfcCostValue::IfcCostValue(IfcEntityInstanceData&& e) : IfcAppliedValue(std::move(e)) { } -Ifc2x3::IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc2x3::IfcMeasureWithUnit* v4_UnitBasis, ::Ifc2x3::IfcDateTimeSelect* v5_ApplicableDate, ::Ifc2x3::IfcDateTimeSelect* v6_FixedUntilDate, std::string v7_CostType, boost::optional< std::string > v8_Condition) : IfcAppliedValue(IfcEntityInstanceData(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ApplicableDate ? v5_ApplicableDate->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_FixedUntilDate ? v6_FixedUntilDate->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, (v7_CostType)); if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); }; populate_derived(); } +Ifc2x3::IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc2x3::IfcMeasureWithUnit* v4_UnitBasis, ::Ifc2x3::IfcDateTimeSelect* v5_ApplicableDate, ::Ifc2x3::IfcDateTimeSelect* v6_FixedUntilDate, std::string v7_CostType, boost::optional< std::string > v8_Condition) : IfcAppliedValue(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ApplicableDate ? v5_ApplicableDate->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_FixedUntilDate ? v6_FixedUntilDate->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, (v7_CostType)); if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); }; populate_derived(); } // Function implementations for IfcCovering -boost::optional< ::Ifc2x3::IfcCoveringTypeEnum::Value > Ifc2x3::IfcCovering::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc2x3::IfcCoveringTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc2x3::IfcCoveringTypeEnum::Value > Ifc2x3::IfcCovering::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc2x3::IfcCoveringTypeEnum::FromString(get_attribute_value(8)); } void Ifc2x3::IfcCovering::setPredefinedType(boost::optional< ::Ifc2x3::IfcCoveringTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc2x3::IfcCoveringTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc2x3::IfcRelCoversSpaces::list::ptr Ifc2x3::IfcCovering::CoversSpaces() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[700], 5)->as(); } @@ -6861,75 +6861,75 @@ void Ifc2x3::IfcCovering::setPredefinedType(boost::optional< ::Ifc2x3::IfcCoveri const IfcParse::entity& Ifc2x3::IfcCovering::declaration() const { return *((IfcParse::entity*)IFC2X3_types[177]); } const IfcParse::entity& Ifc2x3::IfcCovering::Class() { return *((IfcParse::entity*)IFC2X3_types[177]); } Ifc2x3::IfcCovering::IfcCovering(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc2x3::IfcCovering::IfcCovering(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc2x3::IfcCoveringTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc2x3::IfcCovering::IfcCovering(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc2x3::IfcCoveringTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCoveringType -::Ifc2x3::IfcCoveringTypeEnum::Value Ifc2x3::IfcCoveringType::PredefinedType() const { return ::Ifc2x3::IfcCoveringTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcCoveringTypeEnum::Value Ifc2x3::IfcCoveringType::PredefinedType() const { return ::Ifc2x3::IfcCoveringTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcCoveringType::setPredefinedType(::Ifc2x3::IfcCoveringTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcCoveringTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcCoveringType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[178]); } const IfcParse::entity& Ifc2x3::IfcCoveringType::Class() { return *((IfcParse::entity*)IFC2X3_types[178]); } Ifc2x3::IfcCoveringType::IfcCoveringType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc2x3::IfcCoveringType::IfcCoveringType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCoveringTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcCoveringType::IfcCoveringType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCoveringTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCraneRailAShapeProfileDef -double Ifc2x3::IfcCraneRailAShapeProfileDef::OverallHeight() const { double v = data_.get_attribute_value(3); return v; } +double Ifc2x3::IfcCraneRailAShapeProfileDef::OverallHeight() const { double v = get_attribute_value(3); return v; } void Ifc2x3::IfcCraneRailAShapeProfileDef::setOverallHeight(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc2x3::IfcCraneRailAShapeProfileDef::BaseWidth2() const { double v = data_.get_attribute_value(4); return v; } +double Ifc2x3::IfcCraneRailAShapeProfileDef::BaseWidth2() const { double v = get_attribute_value(4); return v; } void Ifc2x3::IfcCraneRailAShapeProfileDef::setBaseWidth2(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< double > Ifc2x3::IfcCraneRailAShapeProfileDef::Radius() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc2x3::IfcCraneRailAShapeProfileDef::Radius() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc2x3::IfcCraneRailAShapeProfileDef::setRadius(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -double Ifc2x3::IfcCraneRailAShapeProfileDef::HeadWidth() const { double v = data_.get_attribute_value(6); return v; } +double Ifc2x3::IfcCraneRailAShapeProfileDef::HeadWidth() const { double v = get_attribute_value(6); return v; } void Ifc2x3::IfcCraneRailAShapeProfileDef::setHeadWidth(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -double Ifc2x3::IfcCraneRailAShapeProfileDef::HeadDepth2() const { double v = data_.get_attribute_value(7); return v; } +double Ifc2x3::IfcCraneRailAShapeProfileDef::HeadDepth2() const { double v = get_attribute_value(7); return v; } void Ifc2x3::IfcCraneRailAShapeProfileDef::setHeadDepth2(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -double Ifc2x3::IfcCraneRailAShapeProfileDef::HeadDepth3() const { double v = data_.get_attribute_value(8); return v; } +double Ifc2x3::IfcCraneRailAShapeProfileDef::HeadDepth3() const { double v = get_attribute_value(8); return v; } void Ifc2x3::IfcCraneRailAShapeProfileDef::setHeadDepth3(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -double Ifc2x3::IfcCraneRailAShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(9); return v; } +double Ifc2x3::IfcCraneRailAShapeProfileDef::WebThickness() const { double v = get_attribute_value(9); return v; } void Ifc2x3::IfcCraneRailAShapeProfileDef::setWebThickness(double v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -double Ifc2x3::IfcCraneRailAShapeProfileDef::BaseWidth4() const { double v = data_.get_attribute_value(10); return v; } +double Ifc2x3::IfcCraneRailAShapeProfileDef::BaseWidth4() const { double v = get_attribute_value(10); return v; } void Ifc2x3::IfcCraneRailAShapeProfileDef::setBaseWidth4(double v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -double Ifc2x3::IfcCraneRailAShapeProfileDef::BaseDepth1() const { double v = data_.get_attribute_value(11); return v; } +double Ifc2x3::IfcCraneRailAShapeProfileDef::BaseDepth1() const { double v = get_attribute_value(11); return v; } void Ifc2x3::IfcCraneRailAShapeProfileDef::setBaseDepth1(double v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } -double Ifc2x3::IfcCraneRailAShapeProfileDef::BaseDepth2() const { double v = data_.get_attribute_value(12); return v; } +double Ifc2x3::IfcCraneRailAShapeProfileDef::BaseDepth2() const { double v = get_attribute_value(12); return v; } void Ifc2x3::IfcCraneRailAShapeProfileDef::setBaseDepth2(double v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } -double Ifc2x3::IfcCraneRailAShapeProfileDef::BaseDepth3() const { double v = data_.get_attribute_value(13); return v; } +double Ifc2x3::IfcCraneRailAShapeProfileDef::BaseDepth3() const { double v = get_attribute_value(13); return v; } void Ifc2x3::IfcCraneRailAShapeProfileDef::setBaseDepth3(double v) { set_attribute_value(13, v);if constexpr (false)unset_attribute_value(13); } -boost::optional< double > Ifc2x3::IfcCraneRailAShapeProfileDef::CentreOfGravityInY() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc2x3::IfcCraneRailAShapeProfileDef::CentreOfGravityInY() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc2x3::IfcCraneRailAShapeProfileDef::setCentreOfGravityInY(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } const IfcParse::entity& Ifc2x3::IfcCraneRailAShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC2X3_types[180]); } const IfcParse::entity& Ifc2x3::IfcCraneRailAShapeProfileDef::Class() { return *((IfcParse::entity*)IFC2X3_types[180]); } Ifc2x3::IfcCraneRailAShapeProfileDef::IfcCraneRailAShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc2x3::IfcCraneRailAShapeProfileDef::IfcCraneRailAShapeProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D* v3_Position, double v4_OverallHeight, double v5_BaseWidth2, boost::optional< double > v6_Radius, double v7_HeadWidth, double v8_HeadDepth2, double v9_HeadDepth3, double v10_WebThickness, double v11_BaseWidth4, double v12_BaseDepth1, double v13_BaseDepth2, double v14_BaseDepth3, boost::optional< double > v15_CentreOfGravityInY) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(15))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_OverallHeight));set_attribute_value(4, (v5_BaseWidth2)); if (v6_Radius) {set_attribute_value(5, (*v6_Radius)); }set_attribute_value(6, (v7_HeadWidth));set_attribute_value(7, (v8_HeadDepth2));set_attribute_value(8, (v9_HeadDepth3));set_attribute_value(9, (v10_WebThickness));set_attribute_value(10, (v11_BaseWidth4));set_attribute_value(11, (v12_BaseDepth1));set_attribute_value(12, (v13_BaseDepth2));set_attribute_value(13, (v14_BaseDepth3)); if (v15_CentreOfGravityInY) {set_attribute_value(14, (*v15_CentreOfGravityInY)); }; populate_derived(); } +Ifc2x3::IfcCraneRailAShapeProfileDef::IfcCraneRailAShapeProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D* v3_Position, double v4_OverallHeight, double v5_BaseWidth2, boost::optional< double > v6_Radius, double v7_HeadWidth, double v8_HeadDepth2, double v9_HeadDepth3, double v10_WebThickness, double v11_BaseWidth4, double v12_BaseDepth1, double v13_BaseDepth2, double v14_BaseDepth3, boost::optional< double > v15_CentreOfGravityInY) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(15))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_OverallHeight));set_attribute_value(4, (v5_BaseWidth2)); if (v6_Radius) {set_attribute_value(5, (*v6_Radius)); }set_attribute_value(6, (v7_HeadWidth));set_attribute_value(7, (v8_HeadDepth2));set_attribute_value(8, (v9_HeadDepth3));set_attribute_value(9, (v10_WebThickness));set_attribute_value(10, (v11_BaseWidth4));set_attribute_value(11, (v12_BaseDepth1));set_attribute_value(12, (v13_BaseDepth2));set_attribute_value(13, (v14_BaseDepth3)); if (v15_CentreOfGravityInY) {set_attribute_value(14, (*v15_CentreOfGravityInY)); }; populate_derived(); } // Function implementations for IfcCraneRailFShapeProfileDef -double Ifc2x3::IfcCraneRailFShapeProfileDef::OverallHeight() const { double v = data_.get_attribute_value(3); return v; } +double Ifc2x3::IfcCraneRailFShapeProfileDef::OverallHeight() const { double v = get_attribute_value(3); return v; } void Ifc2x3::IfcCraneRailFShapeProfileDef::setOverallHeight(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc2x3::IfcCraneRailFShapeProfileDef::HeadWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc2x3::IfcCraneRailFShapeProfileDef::HeadWidth() const { double v = get_attribute_value(4); return v; } void Ifc2x3::IfcCraneRailFShapeProfileDef::setHeadWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< double > Ifc2x3::IfcCraneRailFShapeProfileDef::Radius() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc2x3::IfcCraneRailFShapeProfileDef::Radius() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc2x3::IfcCraneRailFShapeProfileDef::setRadius(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -double Ifc2x3::IfcCraneRailFShapeProfileDef::HeadDepth2() const { double v = data_.get_attribute_value(6); return v; } +double Ifc2x3::IfcCraneRailFShapeProfileDef::HeadDepth2() const { double v = get_attribute_value(6); return v; } void Ifc2x3::IfcCraneRailFShapeProfileDef::setHeadDepth2(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -double Ifc2x3::IfcCraneRailFShapeProfileDef::HeadDepth3() const { double v = data_.get_attribute_value(7); return v; } +double Ifc2x3::IfcCraneRailFShapeProfileDef::HeadDepth3() const { double v = get_attribute_value(7); return v; } void Ifc2x3::IfcCraneRailFShapeProfileDef::setHeadDepth3(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -double Ifc2x3::IfcCraneRailFShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(8); return v; } +double Ifc2x3::IfcCraneRailFShapeProfileDef::WebThickness() const { double v = get_attribute_value(8); return v; } void Ifc2x3::IfcCraneRailFShapeProfileDef::setWebThickness(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -double Ifc2x3::IfcCraneRailFShapeProfileDef::BaseDepth1() const { double v = data_.get_attribute_value(9); return v; } +double Ifc2x3::IfcCraneRailFShapeProfileDef::BaseDepth1() const { double v = get_attribute_value(9); return v; } void Ifc2x3::IfcCraneRailFShapeProfileDef::setBaseDepth1(double v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -double Ifc2x3::IfcCraneRailFShapeProfileDef::BaseDepth2() const { double v = data_.get_attribute_value(10); return v; } +double Ifc2x3::IfcCraneRailFShapeProfileDef::BaseDepth2() const { double v = get_attribute_value(10); return v; } void Ifc2x3::IfcCraneRailFShapeProfileDef::setBaseDepth2(double v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -boost::optional< double > Ifc2x3::IfcCraneRailFShapeProfileDef::CentreOfGravityInY() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc2x3::IfcCraneRailFShapeProfileDef::CentreOfGravityInY() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc2x3::IfcCraneRailFShapeProfileDef::setCentreOfGravityInY(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc2x3::IfcCraneRailFShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC2X3_types[181]); } const IfcParse::entity& Ifc2x3::IfcCraneRailFShapeProfileDef::Class() { return *((IfcParse::entity*)IFC2X3_types[181]); } Ifc2x3::IfcCraneRailFShapeProfileDef::IfcCraneRailFShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc2x3::IfcCraneRailFShapeProfileDef::IfcCraneRailFShapeProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D* v3_Position, double v4_OverallHeight, double v5_HeadWidth, boost::optional< double > v6_Radius, double v7_HeadDepth2, double v8_HeadDepth3, double v9_WebThickness, double v10_BaseDepth1, double v11_BaseDepth2, boost::optional< double > v12_CentreOfGravityInY) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_OverallHeight));set_attribute_value(4, (v5_HeadWidth)); if (v6_Radius) {set_attribute_value(5, (*v6_Radius)); }set_attribute_value(6, (v7_HeadDepth2));set_attribute_value(7, (v8_HeadDepth3));set_attribute_value(8, (v9_WebThickness));set_attribute_value(9, (v10_BaseDepth1));set_attribute_value(10, (v11_BaseDepth2)); if (v12_CentreOfGravityInY) {set_attribute_value(11, (*v12_CentreOfGravityInY)); }; populate_derived(); } +Ifc2x3::IfcCraneRailFShapeProfileDef::IfcCraneRailFShapeProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D* v3_Position, double v4_OverallHeight, double v5_HeadWidth, boost::optional< double > v6_Radius, double v7_HeadDepth2, double v8_HeadDepth3, double v9_WebThickness, double v10_BaseDepth1, double v11_BaseDepth2, boost::optional< double > v12_CentreOfGravityInY) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_OverallHeight));set_attribute_value(4, (v5_HeadWidth)); if (v6_Radius) {set_attribute_value(5, (*v6_Radius)); }set_attribute_value(6, (v7_HeadDepth2));set_attribute_value(7, (v8_HeadDepth3));set_attribute_value(8, (v9_WebThickness));set_attribute_value(9, (v10_BaseDepth1));set_attribute_value(10, (v11_BaseDepth2)); if (v12_CentreOfGravityInY) {set_attribute_value(11, (*v12_CentreOfGravityInY)); }; populate_derived(); } // Function implementations for IfcCrewResource @@ -6937,45 +6937,45 @@ Ifc2x3::IfcCraneRailFShapeProfileDef::IfcCraneRailFShapeProfileDef(::Ifc2x3::Ifc const IfcParse::entity& Ifc2x3::IfcCrewResource::declaration() const { return *((IfcParse::entity*)IFC2X3_types[182]); } const IfcParse::entity& Ifc2x3::IfcCrewResource::Class() { return *((IfcParse::entity*)IFC2X3_types[182]); } Ifc2x3::IfcCrewResource::IfcCrewResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc2x3::IfcCrewResource::IfcCrewResource(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit* v9_BaseQuantity) : IfcConstructionResource(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_ResourceIdentifier) {set_attribute_value(5, (*v6_ResourceIdentifier)); } if (v7_ResourceGroup) {set_attribute_value(6, (*v7_ResourceGroup)); } if (v8_ResourceConsumption) {set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcResourceConsumptionEnum::Class(),(size_t)*v8_ResourceConsumption))); }set_attribute_value(8, v9_BaseQuantity ? v9_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcCrewResource::IfcCrewResource(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit* v9_BaseQuantity) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_ResourceIdentifier) {set_attribute_value(5, (*v6_ResourceIdentifier)); } if (v7_ResourceGroup) {set_attribute_value(6, (*v7_ResourceGroup)); } if (v8_ResourceConsumption) {set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcResourceConsumptionEnum::Class(),(size_t)*v8_ResourceConsumption))); }set_attribute_value(8, v9_BaseQuantity ? v9_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCsgPrimitive3D -::Ifc2x3::IfcAxis2Placement3D* Ifc2x3::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcAxis2Placement3D>(true); } +::Ifc2x3::IfcAxis2Placement3D* Ifc2x3::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcAxis2Placement3D>(true); } void Ifc2x3::IfcCsgPrimitive3D::setPosition(::Ifc2x3::IfcAxis2Placement3D* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc2x3::IfcCsgPrimitive3D::declaration() const { return *((IfcParse::entity*)IFC2X3_types[183]); } const IfcParse::entity& Ifc2x3::IfcCsgPrimitive3D::Class() { return *((IfcParse::entity*)IFC2X3_types[183]); } Ifc2x3::IfcCsgPrimitive3D::IfcCsgPrimitive3D(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc2x3::IfcCsgPrimitive3D::IfcCsgPrimitive3D(::Ifc2x3::IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcCsgPrimitive3D::IfcCsgPrimitive3D(::Ifc2x3::IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCsgSolid -::Ifc2x3::IfcCsgSelect* Ifc2x3::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcCsgSelect>(true); } +::Ifc2x3::IfcCsgSelect* Ifc2x3::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcCsgSelect>(true); } void Ifc2x3::IfcCsgSolid::setTreeRootExpression(::Ifc2x3::IfcCsgSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc2x3::IfcCsgSolid::declaration() const { return *((IfcParse::entity*)IFC2X3_types[185]); } const IfcParse::entity& Ifc2x3::IfcCsgSolid::Class() { return *((IfcParse::entity*)IFC2X3_types[185]); } Ifc2x3::IfcCsgSolid::IfcCsgSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc2x3::IfcCsgSolid::IfcCsgSolid(::Ifc2x3::IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_TreeRootExpression ? v1_TreeRootExpression->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcCsgSolid::IfcCsgSolid(::Ifc2x3::IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_TreeRootExpression ? v1_TreeRootExpression->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCurrencyRelationship -::Ifc2x3::IfcMonetaryUnit* Ifc2x3::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcMonetaryUnit>(true); } +::Ifc2x3::IfcMonetaryUnit* Ifc2x3::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcMonetaryUnit>(true); } void Ifc2x3::IfcCurrencyRelationship::setRelatingMonetaryUnit(::Ifc2x3::IfcMonetaryUnit* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcMonetaryUnit* Ifc2x3::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcMonetaryUnit>(true); } +::Ifc2x3::IfcMonetaryUnit* Ifc2x3::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcMonetaryUnit>(true); } void Ifc2x3::IfcCurrencyRelationship::setRelatedMonetaryUnit(::Ifc2x3::IfcMonetaryUnit* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -double Ifc2x3::IfcCurrencyRelationship::ExchangeRate() const { double v = data_.get_attribute_value(2); return v; } +double Ifc2x3::IfcCurrencyRelationship::ExchangeRate() const { double v = get_attribute_value(2); return v; } void Ifc2x3::IfcCurrencyRelationship::setExchangeRate(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcDateAndTime* Ifc2x3::IfcCurrencyRelationship::RateDateTime() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc2x3::IfcDateAndTime>(true); } +::Ifc2x3::IfcDateAndTime* Ifc2x3::IfcCurrencyRelationship::RateDateTime() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc2x3::IfcDateAndTime>(true); } void Ifc2x3::IfcCurrencyRelationship::setRateDateTime(::Ifc2x3::IfcDateAndTime* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc2x3::IfcLibraryInformation* Ifc2x3::IfcCurrencyRelationship::RateSource() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc2x3::IfcLibraryInformation>(true); } +::Ifc2x3::IfcLibraryInformation* Ifc2x3::IfcCurrencyRelationship::RateSource() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc2x3::IfcLibraryInformation>(true); } void Ifc2x3::IfcCurrencyRelationship::setRateSource(::Ifc2x3::IfcLibraryInformation* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc2x3::IfcCurrencyRelationship::declaration() const { return *((IfcParse::entity*)IFC2X3_types[188]); } const IfcParse::entity& Ifc2x3::IfcCurrencyRelationship::Class() { return *((IfcParse::entity*)IFC2X3_types[188]); } Ifc2x3::IfcCurrencyRelationship::IfcCurrencyRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcCurrencyRelationship::IfcCurrencyRelationship(::Ifc2x3::IfcMonetaryUnit* v1_RelatingMonetaryUnit, ::Ifc2x3::IfcMonetaryUnit* v2_RelatedMonetaryUnit, double v3_ExchangeRate, ::Ifc2x3::IfcDateAndTime* v4_RateDateTime, ::Ifc2x3::IfcLibraryInformation* v5_RateSource) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_RelatingMonetaryUnit ? v1_RelatingMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelatedMonetaryUnit ? v2_RelatedMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_ExchangeRate));set_attribute_value(3, v4_RateDateTime ? v4_RateDateTime->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RateSource ? v5_RateSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcCurrencyRelationship::IfcCurrencyRelationship(::Ifc2x3::IfcMonetaryUnit* v1_RelatingMonetaryUnit, ::Ifc2x3::IfcMonetaryUnit* v2_RelatedMonetaryUnit, double v3_ExchangeRate, ::Ifc2x3::IfcDateAndTime* v4_RateDateTime, ::Ifc2x3::IfcLibraryInformation* v5_RateSource) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_RelatingMonetaryUnit ? v1_RelatingMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelatedMonetaryUnit ? v2_RelatedMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_ExchangeRate));set_attribute_value(3, v4_RateDateTime ? v4_RateDateTime->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RateSource ? v5_RateSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCurtainWall @@ -6983,17 +6983,17 @@ Ifc2x3::IfcCurrencyRelationship::IfcCurrencyRelationship(::Ifc2x3::IfcMonetaryUn const IfcParse::entity& Ifc2x3::IfcCurtainWall::declaration() const { return *((IfcParse::entity*)IFC2X3_types[189]); } const IfcParse::entity& Ifc2x3::IfcCurtainWall::Class() { return *((IfcParse::entity*)IFC2X3_types[189]); } Ifc2x3::IfcCurtainWall::IfcCurtainWall(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc2x3::IfcCurtainWall::IfcCurtainWall(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcCurtainWall::IfcCurtainWall(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcCurtainWallType -::Ifc2x3::IfcCurtainWallTypeEnum::Value Ifc2x3::IfcCurtainWallType::PredefinedType() const { return ::Ifc2x3::IfcCurtainWallTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcCurtainWallTypeEnum::Value Ifc2x3::IfcCurtainWallType::PredefinedType() const { return ::Ifc2x3::IfcCurtainWallTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcCurtainWallType::setPredefinedType(::Ifc2x3::IfcCurtainWallTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcCurtainWallTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcCurtainWallType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[190]); } const IfcParse::entity& Ifc2x3::IfcCurtainWallType::Class() { return *((IfcParse::entity*)IFC2X3_types[190]); } Ifc2x3::IfcCurtainWallType::IfcCurtainWallType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc2x3::IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCurtainWallTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcCurtainWallTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCurve @@ -7001,147 +7001,147 @@ Ifc2x3::IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, ::Ifc2x3 const IfcParse::entity& Ifc2x3::IfcCurve::declaration() const { return *((IfcParse::entity*)IFC2X3_types[193]); } const IfcParse::entity& Ifc2x3::IfcCurve::Class() { return *((IfcParse::entity*)IFC2X3_types[193]); } Ifc2x3::IfcCurve::IfcCurve(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc2x3::IfcCurve::IfcCurve() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc2x3::IfcCurve::IfcCurve() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcCurveBoundedPlane -::Ifc2x3::IfcPlane* Ifc2x3::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcPlane>(true); } +::Ifc2x3::IfcPlane* Ifc2x3::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcPlane>(true); } void Ifc2x3::IfcCurveBoundedPlane::setBasisSurface(::Ifc2x3::IfcPlane* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcCurve* Ifc2x3::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcCurve>(true); } +::Ifc2x3::IfcCurve* Ifc2x3::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcCurve>(true); } void Ifc2x3::IfcCurveBoundedPlane::setOuterBoundary(::Ifc2x3::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc2x3::IfcCurve >::ptr Ifc2x3::IfcCurveBoundedPlane::InnerBoundaries() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc2x3::IfcCurve >(); } +aggregate_of< ::Ifc2x3::IfcCurve >::ptr Ifc2x3::IfcCurveBoundedPlane::InnerBoundaries() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc2x3::IfcCurve >(); } void Ifc2x3::IfcCurveBoundedPlane::setInnerBoundaries(aggregate_of< ::Ifc2x3::IfcCurve >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc2x3::IfcCurveBoundedPlane::declaration() const { return *((IfcParse::entity*)IFC2X3_types[194]); } const IfcParse::entity& Ifc2x3::IfcCurveBoundedPlane::Class() { return *((IfcParse::entity*)IFC2X3_types[194]); } Ifc2x3::IfcCurveBoundedPlane::IfcCurveBoundedPlane(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc2x3::IfcCurveBoundedPlane::IfcCurveBoundedPlane(::Ifc2x3::IfcPlane* v1_BasisSurface, ::Ifc2x3::IfcCurve* v2_OuterBoundary, aggregate_of< ::Ifc2x3::IfcCurve >::ptr v3_InnerBoundaries) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OuterBoundary ? v2_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_InnerBoundaries)->generalize());; populate_derived(); } +Ifc2x3::IfcCurveBoundedPlane::IfcCurveBoundedPlane(::Ifc2x3::IfcPlane* v1_BasisSurface, ::Ifc2x3::IfcCurve* v2_OuterBoundary, aggregate_of< ::Ifc2x3::IfcCurve >::ptr v3_InnerBoundaries) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OuterBoundary ? v2_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_InnerBoundaries)->generalize());; populate_derived(); } // Function implementations for IfcCurveStyle -::Ifc2x3::IfcCurveFontOrScaledCurveFontSelect* Ifc2x3::IfcCurveStyle::CurveFont() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcCurveFontOrScaledCurveFontSelect>(true); } +::Ifc2x3::IfcCurveFontOrScaledCurveFontSelect* Ifc2x3::IfcCurveStyle::CurveFont() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcCurveFontOrScaledCurveFontSelect>(true); } void Ifc2x3::IfcCurveStyle::setCurveFont(::Ifc2x3::IfcCurveFontOrScaledCurveFontSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc2x3::IfcSizeSelect* Ifc2x3::IfcCurveStyle::CurveWidth() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcSizeSelect>(true); } +::Ifc2x3::IfcSizeSelect* Ifc2x3::IfcCurveStyle::CurveWidth() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcSizeSelect>(true); } void Ifc2x3::IfcCurveStyle::setCurveWidth(::Ifc2x3::IfcSizeSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcColour* Ifc2x3::IfcCurveStyle::CurveColour() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc2x3::IfcColour>(true); } +::Ifc2x3::IfcColour* Ifc2x3::IfcCurveStyle::CurveColour() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc2x3::IfcColour>(true); } void Ifc2x3::IfcCurveStyle::setCurveColour(::Ifc2x3::IfcColour* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcCurveStyle::declaration() const { return *((IfcParse::entity*)IFC2X3_types[197]); } const IfcParse::entity& Ifc2x3::IfcCurveStyle::Class() { return *((IfcParse::entity*)IFC2X3_types[197]); } Ifc2x3::IfcCurveStyle::IfcCurveStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc2x3::IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, ::Ifc2x3::IfcCurveFontOrScaledCurveFontSelect* v2_CurveFont, ::Ifc2x3::IfcSizeSelect* v3_CurveWidth, ::Ifc2x3::IfcColour* v4_CurveColour) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CurveWidth ? v3_CurveWidth->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_CurveColour ? v4_CurveColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, ::Ifc2x3::IfcCurveFontOrScaledCurveFontSelect* v2_CurveFont, ::Ifc2x3::IfcSizeSelect* v3_CurveWidth, ::Ifc2x3::IfcColour* v4_CurveColour) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CurveWidth ? v3_CurveWidth->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_CurveColour ? v4_CurveColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCurveStyleFont -boost::optional< std::string > Ifc2x3::IfcCurveStyleFont::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc2x3::IfcCurveStyleFont::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcCurveStyleFont::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -aggregate_of< ::Ifc2x3::IfcCurveStyleFontPattern >::ptr Ifc2x3::IfcCurveStyleFont::PatternList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc2x3::IfcCurveStyleFontPattern >(); } +aggregate_of< ::Ifc2x3::IfcCurveStyleFontPattern >::ptr Ifc2x3::IfcCurveStyleFont::PatternList() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc2x3::IfcCurveStyleFontPattern >(); } void Ifc2x3::IfcCurveStyleFont::setPatternList(aggregate_of< ::Ifc2x3::IfcCurveStyleFontPattern >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcCurveStyleFont::declaration() const { return *((IfcParse::entity*)IFC2X3_types[198]); } const IfcParse::entity& Ifc2x3::IfcCurveStyleFont::Class() { return *((IfcParse::entity*)IFC2X3_types[198]); } Ifc2x3::IfcCurveStyleFont::IfcCurveStyleFont(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc2x3::IfcCurveStyleFontPattern >::ptr v2_PatternList) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_PatternList)->generalize());; populate_derived(); } +Ifc2x3::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc2x3::IfcCurveStyleFontPattern >::ptr v2_PatternList) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_PatternList)->generalize());; populate_derived(); } // Function implementations for IfcCurveStyleFontAndScaling -boost::optional< std::string > Ifc2x3::IfcCurveStyleFontAndScaling::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc2x3::IfcCurveStyleFontAndScaling::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc2x3::IfcCurveStyleFontSelect* Ifc2x3::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcCurveStyleFontSelect>(true); } +::Ifc2x3::IfcCurveStyleFontSelect* Ifc2x3::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcCurveStyleFontSelect>(true); } void Ifc2x3::IfcCurveStyleFontAndScaling::setCurveFont(::Ifc2x3::IfcCurveStyleFontSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -double Ifc2x3::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = data_.get_attribute_value(2); return v; } +double Ifc2x3::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = get_attribute_value(2); return v; } void Ifc2x3::IfcCurveStyleFontAndScaling::setCurveFontScaling(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc2x3::IfcCurveStyleFontAndScaling::declaration() const { return *((IfcParse::entity*)IFC2X3_types[199]); } const IfcParse::entity& Ifc2x3::IfcCurveStyleFontAndScaling::Class() { return *((IfcParse::entity*)IFC2X3_types[199]); } Ifc2x3::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(boost::optional< std::string > v1_Name, ::Ifc2x3::IfcCurveStyleFontSelect* v2_CurveFont, double v3_CurveFontScaling) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_CurveFontScaling));; populate_derived(); } +Ifc2x3::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(boost::optional< std::string > v1_Name, ::Ifc2x3::IfcCurveStyleFontSelect* v2_CurveFont, double v3_CurveFontScaling) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_CurveFontScaling));; populate_derived(); } // Function implementations for IfcCurveStyleFontPattern -double Ifc2x3::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = data_.get_attribute_value(0); return v; } +double Ifc2x3::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = get_attribute_value(0); return v; } void Ifc2x3::IfcCurveStyleFontPattern::setVisibleSegmentLength(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc2x3::IfcCurveStyleFontPattern::InvisibleSegmentLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc2x3::IfcCurveStyleFontPattern::InvisibleSegmentLength() const { double v = get_attribute_value(1); return v; } void Ifc2x3::IfcCurveStyleFontPattern::setInvisibleSegmentLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcCurveStyleFontPattern::declaration() const { return *((IfcParse::entity*)IFC2X3_types[200]); } const IfcParse::entity& Ifc2x3::IfcCurveStyleFontPattern::Class() { return *((IfcParse::entity*)IFC2X3_types[200]); } Ifc2x3::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; populate_derived(); } +Ifc2x3::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; populate_derived(); } // Function implementations for IfcDamperType -::Ifc2x3::IfcDamperTypeEnum::Value Ifc2x3::IfcDamperType::PredefinedType() const { return ::Ifc2x3::IfcDamperTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcDamperTypeEnum::Value Ifc2x3::IfcDamperType::PredefinedType() const { return ::Ifc2x3::IfcDamperTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcDamperType::setPredefinedType(::Ifc2x3::IfcDamperTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcDamperTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcDamperType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[202]); } const IfcParse::entity& Ifc2x3::IfcDamperType::Class() { return *((IfcParse::entity*)IFC2X3_types[202]); } Ifc2x3::IfcDamperType::IfcDamperType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc2x3::IfcDamperType::IfcDamperType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcDamperTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcDamperType::IfcDamperType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcDamperTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDateAndTime -::Ifc2x3::IfcCalendarDate* Ifc2x3::IfcDateAndTime::DateComponent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcCalendarDate>(true); } +::Ifc2x3::IfcCalendarDate* Ifc2x3::IfcDateAndTime::DateComponent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcCalendarDate>(true); } void Ifc2x3::IfcDateAndTime::setDateComponent(::Ifc2x3::IfcCalendarDate* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcLocalTime* Ifc2x3::IfcDateAndTime::TimeComponent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcLocalTime>(true); } +::Ifc2x3::IfcLocalTime* Ifc2x3::IfcDateAndTime::TimeComponent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcLocalTime>(true); } void Ifc2x3::IfcDateAndTime::setTimeComponent(::Ifc2x3::IfcLocalTime* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcDateAndTime::declaration() const { return *((IfcParse::entity*)IFC2X3_types[205]); } const IfcParse::entity& Ifc2x3::IfcDateAndTime::Class() { return *((IfcParse::entity*)IFC2X3_types[205]); } Ifc2x3::IfcDateAndTime::IfcDateAndTime(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcDateAndTime::IfcDateAndTime(::Ifc2x3::IfcCalendarDate* v1_DateComponent, ::Ifc2x3::IfcLocalTime* v2_TimeComponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_DateComponent ? v1_DateComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TimeComponent ? v2_TimeComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcDateAndTime::IfcDateAndTime(::Ifc2x3::IfcCalendarDate* v1_DateComponent, ::Ifc2x3::IfcLocalTime* v2_TimeComponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_DateComponent ? v1_DateComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TimeComponent ? v2_TimeComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDefinedSymbol -::Ifc2x3::IfcDefinedSymbolSelect* Ifc2x3::IfcDefinedSymbol::Definition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcDefinedSymbolSelect>(true); } +::Ifc2x3::IfcDefinedSymbolSelect* Ifc2x3::IfcDefinedSymbol::Definition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcDefinedSymbolSelect>(true); } void Ifc2x3::IfcDefinedSymbol::setDefinition(::Ifc2x3::IfcDefinedSymbolSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcCartesianTransformationOperator2D* Ifc2x3::IfcDefinedSymbol::Target() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcCartesianTransformationOperator2D>(true); } +::Ifc2x3::IfcCartesianTransformationOperator2D* Ifc2x3::IfcDefinedSymbol::Target() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcCartesianTransformationOperator2D>(true); } void Ifc2x3::IfcDefinedSymbol::setTarget(::Ifc2x3::IfcCartesianTransformationOperator2D* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcDefinedSymbol::declaration() const { return *((IfcParse::entity*)IFC2X3_types[209]); } const IfcParse::entity& Ifc2x3::IfcDefinedSymbol::Class() { return *((IfcParse::entity*)IFC2X3_types[209]); } Ifc2x3::IfcDefinedSymbol::IfcDefinedSymbol(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc2x3::IfcDefinedSymbol::IfcDefinedSymbol(::Ifc2x3::IfcDefinedSymbolSelect* v1_Definition, ::Ifc2x3::IfcCartesianTransformationOperator2D* v2_Target) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Definition ? v1_Definition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Target ? v2_Target->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcDefinedSymbol::IfcDefinedSymbol(::Ifc2x3::IfcDefinedSymbolSelect* v1_Definition, ::Ifc2x3::IfcCartesianTransformationOperator2D* v2_Target) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Definition ? v1_Definition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Target ? v2_Target->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDerivedProfileDef -::Ifc2x3::IfcProfileDef* Ifc2x3::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcProfileDef>(true); } +::Ifc2x3::IfcProfileDef* Ifc2x3::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcProfileDef>(true); } void Ifc2x3::IfcDerivedProfileDef::setParentProfile(::Ifc2x3::IfcProfileDef* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcCartesianTransformationOperator2D* Ifc2x3::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc2x3::IfcCartesianTransformationOperator2D>(true); } +::Ifc2x3::IfcCartesianTransformationOperator2D* Ifc2x3::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc2x3::IfcCartesianTransformationOperator2D>(true); } void Ifc2x3::IfcDerivedProfileDef::setOperator(::Ifc2x3::IfcCartesianTransformationOperator2D* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc2x3::IfcDerivedProfileDef::Label() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc2x3::IfcDerivedProfileDef::Label() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc2x3::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc2x3::IfcDerivedProfileDef::declaration() const { return *((IfcParse::entity*)IFC2X3_types[212]); } const IfcParse::entity& Ifc2x3::IfcDerivedProfileDef::Class() { return *((IfcParse::entity*)IFC2X3_types[212]); } Ifc2x3::IfcDerivedProfileDef::IfcDerivedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc2x3::IfcDerivedProfileDef::IfcDerivedProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcProfileDef* v3_ParentProfile, ::Ifc2x3::IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< std::string > v5_Label) : IfcProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Operator ? v4_Operator->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } +Ifc2x3::IfcDerivedProfileDef::IfcDerivedProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcProfileDef* v3_ParentProfile, ::Ifc2x3::IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< std::string > v5_Label) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Operator ? v4_Operator->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } // Function implementations for IfcDerivedUnit -aggregate_of< ::Ifc2x3::IfcDerivedUnitElement >::ptr Ifc2x3::IfcDerivedUnit::Elements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc2x3::IfcDerivedUnitElement >(); } +aggregate_of< ::Ifc2x3::IfcDerivedUnitElement >::ptr Ifc2x3::IfcDerivedUnit::Elements() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc2x3::IfcDerivedUnitElement >(); } void Ifc2x3::IfcDerivedUnit::setElements(aggregate_of< ::Ifc2x3::IfcDerivedUnitElement >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcDerivedUnitEnum::Value Ifc2x3::IfcDerivedUnit::UnitType() const { return ::Ifc2x3::IfcDerivedUnitEnum::FromString(data_.get_attribute_value(1)); } +::Ifc2x3::IfcDerivedUnitEnum::Value Ifc2x3::IfcDerivedUnit::UnitType() const { return ::Ifc2x3::IfcDerivedUnitEnum::FromString(get_attribute_value(1)); } void Ifc2x3::IfcDerivedUnit::setUnitType(::Ifc2x3::IfcDerivedUnitEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc2x3::IfcDerivedUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc2x3::IfcDerivedUnit::UserDefinedType() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc2x3::IfcDerivedUnit::UserDefinedType() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcDerivedUnit::setUserDefinedType(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc2x3::IfcDerivedUnit::declaration() const { return *((IfcParse::entity*)IFC2X3_types[213]); } const IfcParse::entity& Ifc2x3::IfcDerivedUnit::Class() { return *((IfcParse::entity*)IFC2X3_types[213]); } Ifc2x3::IfcDerivedUnit::IfcDerivedUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcDerivedUnit::IfcDerivedUnit(aggregate_of< ::Ifc2x3::IfcDerivedUnitElement >::ptr v1_Elements, ::Ifc2x3::IfcDerivedUnitEnum::Value v2_UnitType, boost::optional< std::string > v3_UserDefinedType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Elements)->generalize());set_attribute_value(1, (EnumerationReference(&::Ifc2x3::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); }; populate_derived(); } +Ifc2x3::IfcDerivedUnit::IfcDerivedUnit(aggregate_of< ::Ifc2x3::IfcDerivedUnitElement >::ptr v1_Elements, ::Ifc2x3::IfcDerivedUnitEnum::Value v2_UnitType, boost::optional< std::string > v3_UserDefinedType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Elements)->generalize());set_attribute_value(1, (EnumerationReference(&::Ifc2x3::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); }; populate_derived(); } // Function implementations for IfcDerivedUnitElement -::Ifc2x3::IfcNamedUnit* Ifc2x3::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcNamedUnit>(true); } +::Ifc2x3::IfcNamedUnit* Ifc2x3::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcNamedUnit>(true); } void Ifc2x3::IfcDerivedUnitElement::setUnit(::Ifc2x3::IfcNamedUnit* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -int Ifc2x3::IfcDerivedUnitElement::Exponent() const { int v = data_.get_attribute_value(1); return v; } +int Ifc2x3::IfcDerivedUnitElement::Exponent() const { int v = get_attribute_value(1); return v; } void Ifc2x3::IfcDerivedUnitElement::setExponent(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcDerivedUnitElement::declaration() const { return *((IfcParse::entity*)IFC2X3_types[214]); } const IfcParse::entity& Ifc2x3::IfcDerivedUnitElement::Class() { return *((IfcParse::entity*)IFC2X3_types[214]); } Ifc2x3::IfcDerivedUnitElement::IfcDerivedUnitElement(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcDerivedUnitElement::IfcDerivedUnitElement(::Ifc2x3::IfcNamedUnit* v1_Unit, int v2_Exponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Unit ? v1_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Exponent));; populate_derived(); } +Ifc2x3::IfcDerivedUnitElement::IfcDerivedUnitElement(::Ifc2x3::IfcNamedUnit* v1_Unit, int v2_Exponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Unit ? v1_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Exponent));; populate_derived(); } // Function implementations for IfcDiameterDimension @@ -7149,7 +7149,7 @@ Ifc2x3::IfcDerivedUnitElement::IfcDerivedUnitElement(::Ifc2x3::IfcNamedUnit* v1_ const IfcParse::entity& Ifc2x3::IfcDiameterDimension::declaration() const { return *((IfcParse::entity*)IFC2X3_types[217]); } const IfcParse::entity& Ifc2x3::IfcDiameterDimension::Class() { return *((IfcParse::entity*)IFC2X3_types[217]); } Ifc2x3::IfcDiameterDimension::IfcDiameterDimension(IfcEntityInstanceData&& e) : IfcDimensionCurveDirectedCallout(std::move(e)) { } -Ifc2x3::IfcDiameterDimension::IfcDiameterDimension(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents) : IfcDimensionCurveDirectedCallout(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Contents)->generalize());; populate_derived(); } +Ifc2x3::IfcDiameterDimension::IfcDiameterDimension(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents) : IfcDimensionCurveDirectedCallout(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Contents)->generalize());; populate_derived(); } // Function implementations for IfcDimensionCalloutRelationship @@ -7157,7 +7157,7 @@ Ifc2x3::IfcDiameterDimension::IfcDiameterDimension(aggregate_of< ::Ifc2x3::IfcDr const IfcParse::entity& Ifc2x3::IfcDimensionCalloutRelationship::declaration() const { return *((IfcParse::entity*)IFC2X3_types[219]); } const IfcParse::entity& Ifc2x3::IfcDimensionCalloutRelationship::Class() { return *((IfcParse::entity*)IFC2X3_types[219]); } Ifc2x3::IfcDimensionCalloutRelationship::IfcDimensionCalloutRelationship(IfcEntityInstanceData&& e) : IfcDraughtingCalloutRelationship(std::move(e)) { } -Ifc2x3::IfcDimensionCalloutRelationship::IfcDimensionCalloutRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcDraughtingCallout* v3_RelatingDraughtingCallout, ::Ifc2x3::IfcDraughtingCallout* v4_RelatedDraughtingCallout) : IfcDraughtingCalloutRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingDraughtingCallout ? v3_RelatingDraughtingCallout->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_RelatedDraughtingCallout ? v4_RelatedDraughtingCallout->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcDimensionCalloutRelationship::IfcDimensionCalloutRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcDraughtingCallout* v3_RelatingDraughtingCallout, ::Ifc2x3::IfcDraughtingCallout* v4_RelatedDraughtingCallout) : IfcDraughtingCalloutRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingDraughtingCallout ? v3_RelatingDraughtingCallout->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_RelatedDraughtingCallout ? v4_RelatedDraughtingCallout->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDimensionCurve @@ -7166,7 +7166,7 @@ Ifc2x3::IfcDimensionCalloutRelationship::IfcDimensionCalloutRelationship(boost:: const IfcParse::entity& Ifc2x3::IfcDimensionCurve::declaration() const { return *((IfcParse::entity*)IFC2X3_types[221]); } const IfcParse::entity& Ifc2x3::IfcDimensionCurve::Class() { return *((IfcParse::entity*)IFC2X3_types[221]); } Ifc2x3::IfcDimensionCurve::IfcDimensionCurve(IfcEntityInstanceData&& e) : IfcAnnotationCurveOccurrence(std::move(e)) { } -Ifc2x3::IfcDimensionCurve::IfcDimensionCurve(::Ifc2x3::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc2x3::IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcAnnotationCurveOccurrence(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc2x3::IfcDimensionCurve::IfcDimensionCurve(::Ifc2x3::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc2x3::IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcAnnotationCurveOccurrence(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcDimensionCurveDirectedCallout @@ -7174,17 +7174,17 @@ Ifc2x3::IfcDimensionCurve::IfcDimensionCurve(::Ifc2x3::IfcRepresentationItem* v1 const IfcParse::entity& Ifc2x3::IfcDimensionCurveDirectedCallout::declaration() const { return *((IfcParse::entity*)IFC2X3_types[222]); } const IfcParse::entity& Ifc2x3::IfcDimensionCurveDirectedCallout::Class() { return *((IfcParse::entity*)IFC2X3_types[222]); } Ifc2x3::IfcDimensionCurveDirectedCallout::IfcDimensionCurveDirectedCallout(IfcEntityInstanceData&& e) : IfcDraughtingCallout(std::move(e)) { } -Ifc2x3::IfcDimensionCurveDirectedCallout::IfcDimensionCurveDirectedCallout(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents) : IfcDraughtingCallout(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Contents)->generalize());; populate_derived(); } +Ifc2x3::IfcDimensionCurveDirectedCallout::IfcDimensionCurveDirectedCallout(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents) : IfcDraughtingCallout(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Contents)->generalize());; populate_derived(); } // Function implementations for IfcDimensionCurveTerminator -::Ifc2x3::IfcDimensionExtentUsage::Value Ifc2x3::IfcDimensionCurveTerminator::Role() const { return ::Ifc2x3::IfcDimensionExtentUsage::FromString(data_.get_attribute_value(4)); } +::Ifc2x3::IfcDimensionExtentUsage::Value Ifc2x3::IfcDimensionCurveTerminator::Role() const { return ::Ifc2x3::IfcDimensionExtentUsage::FromString(get_attribute_value(4)); } void Ifc2x3::IfcDimensionCurveTerminator::setRole(::Ifc2x3::IfcDimensionExtentUsage::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc2x3::IfcDimensionExtentUsage::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc2x3::IfcDimensionCurveTerminator::declaration() const { return *((IfcParse::entity*)IFC2X3_types[223]); } const IfcParse::entity& Ifc2x3::IfcDimensionCurveTerminator::Class() { return *((IfcParse::entity*)IFC2X3_types[223]); } Ifc2x3::IfcDimensionCurveTerminator::IfcDimensionCurveTerminator(IfcEntityInstanceData&& e) : IfcTerminatorSymbol(std::move(e)) { } -Ifc2x3::IfcDimensionCurveTerminator::IfcDimensionCurveTerminator(::Ifc2x3::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc2x3::IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name, ::Ifc2x3::IfcAnnotationCurveOccurrence* v4_AnnotatedCurve, ::Ifc2x3::IfcDimensionExtentUsage::Value v5_Role) : IfcTerminatorSymbol(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, v4_AnnotatedCurve ? v4_AnnotatedCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (EnumerationReference(&::Ifc2x3::IfcDimensionExtentUsage::Class(),(size_t)v5_Role)));; populate_derived(); } +Ifc2x3::IfcDimensionCurveTerminator::IfcDimensionCurveTerminator(::Ifc2x3::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc2x3::IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name, ::Ifc2x3::IfcAnnotationCurveOccurrence* v4_AnnotatedCurve, ::Ifc2x3::IfcDimensionExtentUsage::Value v5_Role) : IfcTerminatorSymbol(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, v4_AnnotatedCurve ? v4_AnnotatedCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (EnumerationReference(&::Ifc2x3::IfcDimensionExtentUsage::Class(),(size_t)v5_Role)));; populate_derived(); } // Function implementations for IfcDimensionPair @@ -7192,39 +7192,39 @@ Ifc2x3::IfcDimensionCurveTerminator::IfcDimensionCurveTerminator(::Ifc2x3::IfcRe const IfcParse::entity& Ifc2x3::IfcDimensionPair::declaration() const { return *((IfcParse::entity*)IFC2X3_types[225]); } const IfcParse::entity& Ifc2x3::IfcDimensionPair::Class() { return *((IfcParse::entity*)IFC2X3_types[225]); } Ifc2x3::IfcDimensionPair::IfcDimensionPair(IfcEntityInstanceData&& e) : IfcDraughtingCalloutRelationship(std::move(e)) { } -Ifc2x3::IfcDimensionPair::IfcDimensionPair(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcDraughtingCallout* v3_RelatingDraughtingCallout, ::Ifc2x3::IfcDraughtingCallout* v4_RelatedDraughtingCallout) : IfcDraughtingCalloutRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingDraughtingCallout ? v3_RelatingDraughtingCallout->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_RelatedDraughtingCallout ? v4_RelatedDraughtingCallout->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcDimensionPair::IfcDimensionPair(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcDraughtingCallout* v3_RelatingDraughtingCallout, ::Ifc2x3::IfcDraughtingCallout* v4_RelatedDraughtingCallout) : IfcDraughtingCalloutRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingDraughtingCallout ? v3_RelatingDraughtingCallout->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_RelatedDraughtingCallout ? v4_RelatedDraughtingCallout->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDimensionalExponents -int Ifc2x3::IfcDimensionalExponents::LengthExponent() const { int v = data_.get_attribute_value(0); return v; } +int Ifc2x3::IfcDimensionalExponents::LengthExponent() const { int v = get_attribute_value(0); return v; } void Ifc2x3::IfcDimensionalExponents::setLengthExponent(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -int Ifc2x3::IfcDimensionalExponents::MassExponent() const { int v = data_.get_attribute_value(1); return v; } +int Ifc2x3::IfcDimensionalExponents::MassExponent() const { int v = get_attribute_value(1); return v; } void Ifc2x3::IfcDimensionalExponents::setMassExponent(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -int Ifc2x3::IfcDimensionalExponents::TimeExponent() const { int v = data_.get_attribute_value(2); return v; } +int Ifc2x3::IfcDimensionalExponents::TimeExponent() const { int v = get_attribute_value(2); return v; } void Ifc2x3::IfcDimensionalExponents::setTimeExponent(int v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -int Ifc2x3::IfcDimensionalExponents::ElectricCurrentExponent() const { int v = data_.get_attribute_value(3); return v; } +int Ifc2x3::IfcDimensionalExponents::ElectricCurrentExponent() const { int v = get_attribute_value(3); return v; } void Ifc2x3::IfcDimensionalExponents::setElectricCurrentExponent(int v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -int Ifc2x3::IfcDimensionalExponents::ThermodynamicTemperatureExponent() const { int v = data_.get_attribute_value(4); return v; } +int Ifc2x3::IfcDimensionalExponents::ThermodynamicTemperatureExponent() const { int v = get_attribute_value(4); return v; } void Ifc2x3::IfcDimensionalExponents::setThermodynamicTemperatureExponent(int v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -int Ifc2x3::IfcDimensionalExponents::AmountOfSubstanceExponent() const { int v = data_.get_attribute_value(5); return v; } +int Ifc2x3::IfcDimensionalExponents::AmountOfSubstanceExponent() const { int v = get_attribute_value(5); return v; } void Ifc2x3::IfcDimensionalExponents::setAmountOfSubstanceExponent(int v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -int Ifc2x3::IfcDimensionalExponents::LuminousIntensityExponent() const { int v = data_.get_attribute_value(6); return v; } +int Ifc2x3::IfcDimensionalExponents::LuminousIntensityExponent() const { int v = get_attribute_value(6); return v; } void Ifc2x3::IfcDimensionalExponents::setLuminousIntensityExponent(int v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc2x3::IfcDimensionalExponents::declaration() const { return *((IfcParse::entity*)IFC2X3_types[218]); } const IfcParse::entity& Ifc2x3::IfcDimensionalExponents::Class() { return *((IfcParse::entity*)IFC2X3_types[218]); } Ifc2x3::IfcDimensionalExponents::IfcDimensionalExponents(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::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(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; populate_derived(); } +Ifc2x3::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(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; populate_derived(); } // Function implementations for IfcDirection -std::vector< double > /*[2:3]*/ Ifc2x3::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[2:3]*/ Ifc2x3::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(0); return v; } void Ifc2x3::IfcDirection::setDirectionRatios(std::vector< double > /*[2:3]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc2x3::IfcDirection::declaration() const { return *((IfcParse::entity*)IFC2X3_types[226]); } const IfcParse::entity& Ifc2x3::IfcDirection::Class() { return *((IfcParse::entity*)IFC2X3_types[226]); } Ifc2x3::IfcDirection::IfcDirection(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc2x3::IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionRatios) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_DirectionRatios));; populate_derived(); } +Ifc2x3::IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionRatios) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_DirectionRatios));; populate_derived(); } // Function implementations for IfcDiscreteAccessory @@ -7232,7 +7232,7 @@ Ifc2x3::IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionR const IfcParse::entity& Ifc2x3::IfcDiscreteAccessory::declaration() const { return *((IfcParse::entity*)IFC2X3_types[228]); } const IfcParse::entity& Ifc2x3::IfcDiscreteAccessory::Class() { return *((IfcParse::entity*)IFC2X3_types[228]); } Ifc2x3::IfcDiscreteAccessory::IfcDiscreteAccessory(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc2x3::IfcDiscreteAccessory::IfcDiscreteAccessory(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElementComponent(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcDiscreteAccessory::IfcDiscreteAccessory(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDiscreteAccessoryType @@ -7240,7 +7240,7 @@ Ifc2x3::IfcDiscreteAccessory::IfcDiscreteAccessory(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc2x3::IfcDiscreteAccessoryType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[229]); } const IfcParse::entity& Ifc2x3::IfcDiscreteAccessoryType::Class() { return *((IfcParse::entity*)IFC2X3_types[229]); } Ifc2x3::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc2x3::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc2x3::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionChamberElement @@ -7248,20 +7248,20 @@ Ifc2x3::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(std::string v1_Global const IfcParse::entity& Ifc2x3::IfcDistributionChamberElement::declaration() const { return *((IfcParse::entity*)IFC2X3_types[230]); } const IfcParse::entity& Ifc2x3::IfcDistributionChamberElement::Class() { return *((IfcParse::entity*)IFC2X3_types[230]); } Ifc2x3::IfcDistributionChamberElement::IfcDistributionChamberElement(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc2x3::IfcDistributionChamberElement::IfcDistributionChamberElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcDistributionChamberElement::IfcDistributionChamberElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionChamberElementType -::Ifc2x3::IfcDistributionChamberElementTypeEnum::Value Ifc2x3::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc2x3::IfcDistributionChamberElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcDistributionChamberElementTypeEnum::Value Ifc2x3::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc2x3::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcDistributionChamberElementType::setPredefinedType(::Ifc2x3::IfcDistributionChamberElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcDistributionChamberElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcDistributionChamberElementType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[231]); } const IfcParse::entity& Ifc2x3::IfcDistributionChamberElementType::Class() { return *((IfcParse::entity*)IFC2X3_types[231]); } Ifc2x3::IfcDistributionChamberElementType::IfcDistributionChamberElementType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc2x3::IfcDistributionChamberElementType::IfcDistributionChamberElementType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcDistributionChamberElementType::IfcDistributionChamberElementType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDistributionControlElement -boost::optional< std::string > Ifc2x3::IfcDistributionControlElement::ControlElementId() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc2x3::IfcDistributionControlElement::ControlElementId() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc2x3::IfcDistributionControlElement::setControlElementId(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } ::Ifc2x3::IfcRelFlowControlElements::list::ptr Ifc2x3::IfcDistributionControlElement::AssignedToFlowElement() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[706], 4)->as(); } @@ -7269,7 +7269,7 @@ void Ifc2x3::IfcDistributionControlElement::setControlElementId(boost::optional< const IfcParse::entity& Ifc2x3::IfcDistributionControlElement::declaration() const { return *((IfcParse::entity*)IFC2X3_types[233]); } const IfcParse::entity& Ifc2x3::IfcDistributionControlElement::Class() { return *((IfcParse::entity*)IFC2X3_types[233]); } Ifc2x3::IfcDistributionControlElement::IfcDistributionControlElement(IfcEntityInstanceData&& e) : IfcDistributionElement(std::move(e)) { } -Ifc2x3::IfcDistributionControlElement::IfcDistributionControlElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ControlElementId) : IfcDistributionElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ControlElementId) {set_attribute_value(8, (*v9_ControlElementId)); }; populate_derived(); } +Ifc2x3::IfcDistributionControlElement::IfcDistributionControlElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ControlElementId) : IfcDistributionElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ControlElementId) {set_attribute_value(8, (*v9_ControlElementId)); }; populate_derived(); } // Function implementations for IfcDistributionControlElementType @@ -7277,7 +7277,7 @@ Ifc2x3::IfcDistributionControlElement::IfcDistributionControlElement(std::string const IfcParse::entity& Ifc2x3::IfcDistributionControlElementType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[234]); } const IfcParse::entity& Ifc2x3::IfcDistributionControlElementType::Class() { return *((IfcParse::entity*)IFC2X3_types[234]); } Ifc2x3::IfcDistributionControlElementType::IfcDistributionControlElementType(IfcEntityInstanceData&& e) : IfcDistributionElementType(std::move(e)) { } -Ifc2x3::IfcDistributionControlElementType::IfcDistributionControlElementType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc2x3::IfcDistributionControlElementType::IfcDistributionControlElementType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionElement @@ -7285,7 +7285,7 @@ Ifc2x3::IfcDistributionControlElementType::IfcDistributionControlElementType(std const IfcParse::entity& Ifc2x3::IfcDistributionElement::declaration() const { return *((IfcParse::entity*)IFC2X3_types[235]); } const IfcParse::entity& Ifc2x3::IfcDistributionElement::Class() { return *((IfcParse::entity*)IFC2X3_types[235]); } Ifc2x3::IfcDistributionElement::IfcDistributionElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc2x3::IfcDistributionElement::IfcDistributionElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcDistributionElement::IfcDistributionElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionElementType @@ -7293,7 +7293,7 @@ Ifc2x3::IfcDistributionElement::IfcDistributionElement(std::string v1_GlobalId, const IfcParse::entity& Ifc2x3::IfcDistributionElementType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[236]); } const IfcParse::entity& Ifc2x3::IfcDistributionElementType::Class() { return *((IfcParse::entity*)IFC2X3_types[236]); } Ifc2x3::IfcDistributionElementType::IfcDistributionElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc2x3::IfcDistributionElementType::IfcDistributionElementType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc2x3::IfcDistributionElementType::IfcDistributionElementType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionFlowElement @@ -7302,7 +7302,7 @@ Ifc2x3::IfcDistributionElementType::IfcDistributionElementType(std::string v1_Gl const IfcParse::entity& Ifc2x3::IfcDistributionFlowElement::declaration() const { return *((IfcParse::entity*)IFC2X3_types[237]); } const IfcParse::entity& Ifc2x3::IfcDistributionFlowElement::Class() { return *((IfcParse::entity*)IFC2X3_types[237]); } Ifc2x3::IfcDistributionFlowElement::IfcDistributionFlowElement(IfcEntityInstanceData&& e) : IfcDistributionElement(std::move(e)) { } -Ifc2x3::IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionFlowElementType @@ -7310,66 +7310,66 @@ Ifc2x3::IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v1_Gl const IfcParse::entity& Ifc2x3::IfcDistributionFlowElementType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[238]); } const IfcParse::entity& Ifc2x3::IfcDistributionFlowElementType::Class() { return *((IfcParse::entity*)IFC2X3_types[238]); } Ifc2x3::IfcDistributionFlowElementType::IfcDistributionFlowElementType(IfcEntityInstanceData&& e) : IfcDistributionElementType(std::move(e)) { } -Ifc2x3::IfcDistributionFlowElementType::IfcDistributionFlowElementType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc2x3::IfcDistributionFlowElementType::IfcDistributionFlowElementType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionPort -boost::optional< ::Ifc2x3::IfcFlowDirectionEnum::Value > Ifc2x3::IfcDistributionPort::FlowDirection() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc2x3::IfcFlowDirectionEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc2x3::IfcFlowDirectionEnum::Value > Ifc2x3::IfcDistributionPort::FlowDirection() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc2x3::IfcFlowDirectionEnum::FromString(get_attribute_value(7)); } void Ifc2x3::IfcDistributionPort::setFlowDirection(boost::optional< ::Ifc2x3::IfcFlowDirectionEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc2x3::IfcFlowDirectionEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc2x3::IfcDistributionPort::declaration() const { return *((IfcParse::entity*)IFC2X3_types[239]); } const IfcParse::entity& Ifc2x3::IfcDistributionPort::Class() { return *((IfcParse::entity*)IFC2X3_types[239]); } Ifc2x3::IfcDistributionPort::IfcDistributionPort(IfcEntityInstanceData&& e) : IfcPort(std::move(e)) { } -Ifc2x3::IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc2x3::IfcFlowDirectionEnum::Value > v8_FlowDirection) : IfcPort(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_FlowDirection) {set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); }; populate_derived(); } +Ifc2x3::IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc2x3::IfcFlowDirectionEnum::Value > v8_FlowDirection) : IfcPort(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_FlowDirection) {set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); }; populate_derived(); } // Function implementations for IfcDocumentElectronicFormat -boost::optional< std::string > Ifc2x3::IfcDocumentElectronicFormat::FileExtension() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc2x3::IfcDocumentElectronicFormat::FileExtension() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcDocumentElectronicFormat::setFileExtension(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc2x3::IfcDocumentElectronicFormat::MimeContentType() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc2x3::IfcDocumentElectronicFormat::MimeContentType() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcDocumentElectronicFormat::setMimeContentType(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc2x3::IfcDocumentElectronicFormat::MimeSubtype() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc2x3::IfcDocumentElectronicFormat::MimeSubtype() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcDocumentElectronicFormat::setMimeSubtype(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc2x3::IfcDocumentElectronicFormat::declaration() const { return *((IfcParse::entity*)IFC2X3_types[241]); } const IfcParse::entity& Ifc2x3::IfcDocumentElectronicFormat::Class() { return *((IfcParse::entity*)IFC2X3_types[241]); } Ifc2x3::IfcDocumentElectronicFormat::IfcDocumentElectronicFormat(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcDocumentElectronicFormat::IfcDocumentElectronicFormat(boost::optional< std::string > v1_FileExtension, boost::optional< std::string > v2_MimeContentType, boost::optional< std::string > v3_MimeSubtype) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_FileExtension) {set_attribute_value(0, (*v1_FileExtension)); } if (v2_MimeContentType) {set_attribute_value(1, (*v2_MimeContentType)); } if (v3_MimeSubtype) {set_attribute_value(2, (*v3_MimeSubtype)); }; populate_derived(); } +Ifc2x3::IfcDocumentElectronicFormat::IfcDocumentElectronicFormat(boost::optional< std::string > v1_FileExtension, boost::optional< std::string > v2_MimeContentType, boost::optional< std::string > v3_MimeSubtype) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_FileExtension) {set_attribute_value(0, (*v1_FileExtension)); } if (v2_MimeContentType) {set_attribute_value(1, (*v2_MimeContentType)); } if (v3_MimeSubtype) {set_attribute_value(2, (*v3_MimeSubtype)); }; populate_derived(); } // Function implementations for IfcDocumentInformation -std::string Ifc2x3::IfcDocumentInformation::DocumentId() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc2x3::IfcDocumentInformation::DocumentId() const { std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcDocumentInformation::setDocumentId(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc2x3::IfcDocumentInformation::Name() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc2x3::IfcDocumentInformation::Name() const { std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcDocumentInformation::setName(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc2x3::IfcDocumentInformation::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc2x3::IfcDocumentInformation::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcDocumentInformation::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< aggregate_of< ::Ifc2x3::IfcDocumentReference >::ptr > Ifc2x3::IfcDocumentInformation::DocumentReferences() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc2x3::IfcDocumentReference >(); } +boost::optional< aggregate_of< ::Ifc2x3::IfcDocumentReference >::ptr > Ifc2x3::IfcDocumentInformation::DocumentReferences() const { if(get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc2x3::IfcDocumentReference >(); } void Ifc2x3::IfcDocumentInformation::setDocumentReferences(boost::optional< aggregate_of< ::Ifc2x3::IfcDocumentReference >::ptr > v) { if (v) {set_attribute_value(3, (*v)->generalize());} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc2x3::IfcDocumentInformation::Purpose() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc2x3::IfcDocumentInformation::Purpose() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc2x3::IfcDocumentInformation::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc2x3::IfcDocumentInformation::IntendedUse() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc2x3::IfcDocumentInformation::IntendedUse() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc2x3::IfcDocumentInformation::setIntendedUse(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc2x3::IfcDocumentInformation::Scope() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc2x3::IfcDocumentInformation::Scope() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc2x3::IfcDocumentInformation::setScope(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc2x3::IfcDocumentInformation::Revision() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc2x3::IfcDocumentInformation::Revision() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc2x3::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc2x3::IfcActorSelect* Ifc2x3::IfcDocumentInformation::DocumentOwner() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc2x3::IfcActorSelect>(true); } +::Ifc2x3::IfcActorSelect* Ifc2x3::IfcDocumentInformation::DocumentOwner() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc2x3::IfcActorSelect>(true); } void Ifc2x3::IfcDocumentInformation::setDocumentOwner(::Ifc2x3::IfcActorSelect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > Ifc2x3::IfcDocumentInformation::Editors() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc2x3::IfcActorSelect >(); } +boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > Ifc2x3::IfcDocumentInformation::Editors() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc2x3::IfcActorSelect >(); } void Ifc2x3::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -::Ifc2x3::IfcDateAndTime* Ifc2x3::IfcDocumentInformation::CreationTime() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc2x3::IfcDateAndTime>(true); } +::Ifc2x3::IfcDateAndTime* Ifc2x3::IfcDocumentInformation::CreationTime() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc2x3::IfcDateAndTime>(true); } void Ifc2x3::IfcDocumentInformation::setCreationTime(::Ifc2x3::IfcDateAndTime* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } -::Ifc2x3::IfcDateAndTime* Ifc2x3::IfcDocumentInformation::LastRevisionTime() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc2x3::IfcDateAndTime>(true); } +::Ifc2x3::IfcDateAndTime* Ifc2x3::IfcDocumentInformation::LastRevisionTime() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc2x3::IfcDateAndTime>(true); } void Ifc2x3::IfcDocumentInformation::setLastRevisionTime(::Ifc2x3::IfcDateAndTime* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } -::Ifc2x3::IfcDocumentElectronicFormat* Ifc2x3::IfcDocumentInformation::ElectronicFormat() const { if(data_.get_attribute_value(12).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(12)))->as<::Ifc2x3::IfcDocumentElectronicFormat>(true); } +::Ifc2x3::IfcDocumentElectronicFormat* Ifc2x3::IfcDocumentInformation::ElectronicFormat() const { if(get_attribute_value(12).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(12)))->as<::Ifc2x3::IfcDocumentElectronicFormat>(true); } void Ifc2x3::IfcDocumentInformation::setElectronicFormat(::Ifc2x3::IfcDocumentElectronicFormat* v) { set_attribute_value(12, v->as());if constexpr (false)unset_attribute_value(12); } -::Ifc2x3::IfcCalendarDate* Ifc2x3::IfcDocumentInformation::ValidFrom() const { if(data_.get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(13)))->as<::Ifc2x3::IfcCalendarDate>(true); } +::Ifc2x3::IfcCalendarDate* Ifc2x3::IfcDocumentInformation::ValidFrom() const { if(get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(13)))->as<::Ifc2x3::IfcCalendarDate>(true); } void Ifc2x3::IfcDocumentInformation::setValidFrom(::Ifc2x3::IfcCalendarDate* v) { set_attribute_value(13, v->as());if constexpr (false)unset_attribute_value(13); } -::Ifc2x3::IfcCalendarDate* Ifc2x3::IfcDocumentInformation::ValidUntil() const { if(data_.get_attribute_value(14).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(14)))->as<::Ifc2x3::IfcCalendarDate>(true); } +::Ifc2x3::IfcCalendarDate* Ifc2x3::IfcDocumentInformation::ValidUntil() const { if(get_attribute_value(14).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(14)))->as<::Ifc2x3::IfcCalendarDate>(true); } void Ifc2x3::IfcDocumentInformation::setValidUntil(::Ifc2x3::IfcCalendarDate* v) { set_attribute_value(14, v->as());if constexpr (false)unset_attribute_value(14); } -boost::optional< ::Ifc2x3::IfcDocumentConfidentialityEnum::Value > Ifc2x3::IfcDocumentInformation::Confidentiality() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } return ::Ifc2x3::IfcDocumentConfidentialityEnum::FromString(data_.get_attribute_value(15)); } +boost::optional< ::Ifc2x3::IfcDocumentConfidentialityEnum::Value > Ifc2x3::IfcDocumentInformation::Confidentiality() const { if(get_attribute_value(15).isNull()) { return boost::none; } return ::Ifc2x3::IfcDocumentConfidentialityEnum::FromString(get_attribute_value(15)); } void Ifc2x3::IfcDocumentInformation::setConfidentiality(boost::optional< ::Ifc2x3::IfcDocumentConfidentialityEnum::Value > v) { if (v) {set_attribute_value(15, EnumerationReference(&::Ifc2x3::IfcDocumentConfidentialityEnum::Class(), (size_t) *v));} else {unset_attribute_value(15);} } -boost::optional< ::Ifc2x3::IfcDocumentStatusEnum::Value > Ifc2x3::IfcDocumentInformation::Status() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } return ::Ifc2x3::IfcDocumentStatusEnum::FromString(data_.get_attribute_value(16)); } +boost::optional< ::Ifc2x3::IfcDocumentStatusEnum::Value > Ifc2x3::IfcDocumentInformation::Status() const { if(get_attribute_value(16).isNull()) { return boost::none; } return ::Ifc2x3::IfcDocumentStatusEnum::FromString(get_attribute_value(16)); } void Ifc2x3::IfcDocumentInformation::setStatus(boost::optional< ::Ifc2x3::IfcDocumentStatusEnum::Value > v) { if (v) {set_attribute_value(16, EnumerationReference(&::Ifc2x3::IfcDocumentStatusEnum::Class(), (size_t) *v));} else {unset_attribute_value(16);} } ::Ifc2x3::IfcDocumentInformationRelationship::list::ptr Ifc2x3::IfcDocumentInformation::IsPointedTo() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[243], 1)->as(); } @@ -7378,21 +7378,21 @@ void Ifc2x3::IfcDocumentInformation::setStatus(boost::optional< ::Ifc2x3::IfcDoc const IfcParse::entity& Ifc2x3::IfcDocumentInformation::declaration() const { return *((IfcParse::entity*)IFC2X3_types[242]); } const IfcParse::entity& Ifc2x3::IfcDocumentInformation::Class() { return *((IfcParse::entity*)IFC2X3_types[242]); } Ifc2x3::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcDocumentInformation::IfcDocumentInformation(std::string v1_DocumentId, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc2x3::IfcDocumentReference >::ptr > v4_DocumentReferences, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, ::Ifc2x3::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > v10_Editors, ::Ifc2x3::IfcDateAndTime* v11_CreationTime, ::Ifc2x3::IfcDateAndTime* v12_LastRevisionTime, ::Ifc2x3::IfcDocumentElectronicFormat* v13_ElectronicFormat, ::Ifc2x3::IfcCalendarDate* v14_ValidFrom, ::Ifc2x3::IfcCalendarDate* v15_ValidUntil, boost::optional< ::Ifc2x3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc2x3::IfcDocumentStatusEnum::Value > v17_Status) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(17))) { set_attribute_value(0, (v1_DocumentId));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_DocumentReferences) {set_attribute_value(3, (*v4_DocumentReferences)->generalize()); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, v9_DocumentOwner ? v9_DocumentOwner->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v10_Editors) {set_attribute_value(9, (*v10_Editors)->generalize()); }set_attribute_value(10, v11_CreationTime ? v11_CreationTime->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, v12_LastRevisionTime ? v12_LastRevisionTime->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(12, v13_ElectronicFormat ? v13_ElectronicFormat->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(13, v14_ValidFrom ? v14_ValidFrom->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(14, v15_ValidUntil ? v15_ValidUntil->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v16_Confidentiality) {set_attribute_value(15, (EnumerationReference(&::Ifc2x3::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (EnumerationReference(&::Ifc2x3::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; populate_derived(); } +Ifc2x3::IfcDocumentInformation::IfcDocumentInformation(std::string v1_DocumentId, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc2x3::IfcDocumentReference >::ptr > v4_DocumentReferences, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, ::Ifc2x3::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc2x3::IfcActorSelect >::ptr > v10_Editors, ::Ifc2x3::IfcDateAndTime* v11_CreationTime, ::Ifc2x3::IfcDateAndTime* v12_LastRevisionTime, ::Ifc2x3::IfcDocumentElectronicFormat* v13_ElectronicFormat, ::Ifc2x3::IfcCalendarDate* v14_ValidFrom, ::Ifc2x3::IfcCalendarDate* v15_ValidUntil, boost::optional< ::Ifc2x3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc2x3::IfcDocumentStatusEnum::Value > v17_Status) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_DocumentId));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_DocumentReferences) {set_attribute_value(3, (*v4_DocumentReferences)->generalize()); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, v9_DocumentOwner ? v9_DocumentOwner->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v10_Editors) {set_attribute_value(9, (*v10_Editors)->generalize()); }set_attribute_value(10, v11_CreationTime ? v11_CreationTime->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, v12_LastRevisionTime ? v12_LastRevisionTime->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(12, v13_ElectronicFormat ? v13_ElectronicFormat->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(13, v14_ValidFrom ? v14_ValidFrom->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(14, v15_ValidUntil ? v15_ValidUntil->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v16_Confidentiality) {set_attribute_value(15, (EnumerationReference(&::Ifc2x3::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (EnumerationReference(&::Ifc2x3::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; populate_derived(); } // Function implementations for IfcDocumentInformationRelationship -::Ifc2x3::IfcDocumentInformation* Ifc2x3::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcDocumentInformation>(true); } +::Ifc2x3::IfcDocumentInformation* Ifc2x3::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcDocumentInformation>(true); } void Ifc2x3::IfcDocumentInformationRelationship::setRelatingDocument(::Ifc2x3::IfcDocumentInformation* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc2x3::IfcDocumentInformation >::ptr Ifc2x3::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc2x3::IfcDocumentInformation >(); } +aggregate_of< ::Ifc2x3::IfcDocumentInformation >::ptr Ifc2x3::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc2x3::IfcDocumentInformation >(); } void Ifc2x3::IfcDocumentInformationRelationship::setRelatedDocuments(aggregate_of< ::Ifc2x3::IfcDocumentInformation >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc2x3::IfcDocumentInformationRelationship::RelationshipType() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc2x3::IfcDocumentInformationRelationship::RelationshipType() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcDocumentInformationRelationship::setRelationshipType(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc2x3::IfcDocumentInformationRelationship::declaration() const { return *((IfcParse::entity*)IFC2X3_types[243]); } const IfcParse::entity& Ifc2x3::IfcDocumentInformationRelationship::Class() { return *((IfcParse::entity*)IFC2X3_types[243]); } Ifc2x3::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(::Ifc2x3::IfcDocumentInformation* v1_RelatingDocument, aggregate_of< ::Ifc2x3::IfcDocumentInformation >::ptr v2_RelatedDocuments, boost::optional< std::string > v3_RelationshipType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_RelatingDocument ? v1_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_RelatedDocuments)->generalize()); if (v3_RelationshipType) {set_attribute_value(2, (*v3_RelationshipType)); }; populate_derived(); } +Ifc2x3::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(::Ifc2x3::IfcDocumentInformation* v1_RelatingDocument, aggregate_of< ::Ifc2x3::IfcDocumentInformation >::ptr v2_RelatedDocuments, boost::optional< std::string > v3_RelationshipType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_RelatingDocument ? v1_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_RelatedDocuments)->generalize()); if (v3_RelationshipType) {set_attribute_value(2, (*v3_RelationshipType)); }; populate_derived(); } // Function implementations for IfcDocumentReference @@ -7401,86 +7401,86 @@ Ifc2x3::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(: const IfcParse::entity& Ifc2x3::IfcDocumentReference::declaration() const { return *((IfcParse::entity*)IFC2X3_types[244]); } const IfcParse::entity& Ifc2x3::IfcDocumentReference::Class() { return *((IfcParse::entity*)IFC2X3_types[244]); } Ifc2x3::IfcDocumentReference::IfcDocumentReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc2x3::IfcDocumentReference::IfcDocumentReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_ItemReference) {set_attribute_value(1, (*v2_ItemReference)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc2x3::IfcDocumentReference::IfcDocumentReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_ItemReference) {set_attribute_value(1, (*v2_ItemReference)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcDoor -boost::optional< double > Ifc2x3::IfcDoor::OverallHeight() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc2x3::IfcDoor::OverallHeight() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc2x3::IfcDoor::setOverallHeight(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc2x3::IfcDoor::OverallWidth() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc2x3::IfcDoor::OverallWidth() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc2x3::IfcDoor::setOverallWidth(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc2x3::IfcDoor::declaration() const { return *((IfcParse::entity*)IFC2X3_types[247]); } const IfcParse::entity& Ifc2x3::IfcDoor::Class() { return *((IfcParse::entity*)IFC2X3_types[247]); } Ifc2x3::IfcDoor::IfcDoor(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc2x3::IfcDoor::IfcDoor(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth) : IfcBuildingElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); }; populate_derived(); } +Ifc2x3::IfcDoor::IfcDoor(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); }; populate_derived(); } // Function implementations for IfcDoorLiningProperties -boost::optional< double > Ifc2x3::IfcDoorLiningProperties::LiningDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc2x3::IfcDoorLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc2x3::IfcDoorLiningProperties::setLiningDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc2x3::IfcDoorLiningProperties::LiningThickness() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc2x3::IfcDoorLiningProperties::LiningThickness() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc2x3::IfcDoorLiningProperties::setLiningThickness(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc2x3::IfcDoorLiningProperties::ThresholdDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc2x3::IfcDoorLiningProperties::ThresholdDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc2x3::IfcDoorLiningProperties::setThresholdDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc2x3::IfcDoorLiningProperties::ThresholdThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc2x3::IfcDoorLiningProperties::ThresholdThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc2x3::IfcDoorLiningProperties::setThresholdThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc2x3::IfcDoorLiningProperties::TransomThickness() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc2x3::IfcDoorLiningProperties::TransomThickness() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc2x3::IfcDoorLiningProperties::setTransomThickness(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc2x3::IfcDoorLiningProperties::TransomOffset() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc2x3::IfcDoorLiningProperties::TransomOffset() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc2x3::IfcDoorLiningProperties::setTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc2x3::IfcDoorLiningProperties::LiningOffset() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc2x3::IfcDoorLiningProperties::LiningOffset() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc2x3::IfcDoorLiningProperties::setLiningOffset(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc2x3::IfcDoorLiningProperties::ThresholdOffset() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc2x3::IfcDoorLiningProperties::ThresholdOffset() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc2x3::IfcDoorLiningProperties::setThresholdOffset(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc2x3::IfcDoorLiningProperties::CasingThickness() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc2x3::IfcDoorLiningProperties::CasingThickness() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc2x3::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc2x3::IfcDoorLiningProperties::CasingDepth() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc2x3::IfcDoorLiningProperties::CasingDepth() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc2x3::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcDoorLiningProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(14).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(14)))->as<::Ifc2x3::IfcShapeAspect>(true); } +::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcDoorLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(14).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(14)))->as<::Ifc2x3::IfcShapeAspect>(true); } void Ifc2x3::IfcDoorLiningProperties::setShapeAspectStyle(::Ifc2x3::IfcShapeAspect* v) { set_attribute_value(14, v->as());if constexpr (false)unset_attribute_value(14); } const IfcParse::entity& Ifc2x3::IfcDoorLiningProperties::declaration() const { return *((IfcParse::entity*)IFC2X3_types[248]); } const IfcParse::entity& Ifc2x3::IfcDoorLiningProperties::Class() { return *((IfcParse::entity*)IFC2X3_types[248]); } Ifc2x3::IfcDoorLiningProperties::IfcDoorLiningProperties(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc2x3::IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_GlobalId, ::Ifc2x3::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, ::Ifc2x3::IfcShapeAspect* v15_ShapeAspectStyle) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(15))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, v15_ShapeAspectStyle ? v15_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_GlobalId, ::Ifc2x3::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, ::Ifc2x3::IfcShapeAspect* v15_ShapeAspectStyle) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(15))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, v15_ShapeAspectStyle ? v15_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDoorPanelProperties -boost::optional< double > Ifc2x3::IfcDoorPanelProperties::PanelDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc2x3::IfcDoorPanelProperties::PanelDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc2x3::IfcDoorPanelProperties::setPanelDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc2x3::IfcDoorPanelOperationEnum::Value Ifc2x3::IfcDoorPanelProperties::PanelOperation() const { return ::Ifc2x3::IfcDoorPanelOperationEnum::FromString(data_.get_attribute_value(5)); } +::Ifc2x3::IfcDoorPanelOperationEnum::Value Ifc2x3::IfcDoorPanelProperties::PanelOperation() const { return ::Ifc2x3::IfcDoorPanelOperationEnum::FromString(get_attribute_value(5)); } void Ifc2x3::IfcDoorPanelProperties::setPanelOperation(::Ifc2x3::IfcDoorPanelOperationEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc2x3::IfcDoorPanelOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc2x3::IfcDoorPanelProperties::PanelWidth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc2x3::IfcDoorPanelProperties::PanelWidth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc2x3::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc2x3::IfcDoorPanelPositionEnum::Value Ifc2x3::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc2x3::IfcDoorPanelPositionEnum::FromString(data_.get_attribute_value(7)); } +::Ifc2x3::IfcDoorPanelPositionEnum::Value Ifc2x3::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc2x3::IfcDoorPanelPositionEnum::FromString(get_attribute_value(7)); } void Ifc2x3::IfcDoorPanelProperties::setPanelPosition(::Ifc2x3::IfcDoorPanelPositionEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc2x3::IfcDoorPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcDoorPanelProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc2x3::IfcShapeAspect>(true); } +::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcDoorPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc2x3::IfcShapeAspect>(true); } void Ifc2x3::IfcDoorPanelProperties::setShapeAspectStyle(::Ifc2x3::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc2x3::IfcDoorPanelProperties::declaration() const { return *((IfcParse::entity*)IFC2X3_types[251]); } const IfcParse::entity& Ifc2x3::IfcDoorPanelProperties::Class() { return *((IfcParse::entity*)IFC2X3_types[251]); } Ifc2x3::IfcDoorPanelProperties::IfcDoorPanelProperties(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc2x3::IfcDoorPanelProperties::IfcDoorPanelProperties(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_PanelDepth, ::Ifc2x3::IfcDoorPanelOperationEnum::Value v6_PanelOperation, boost::optional< double > v7_PanelWidth, ::Ifc2x3::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc2x3::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcDoorPanelProperties::IfcDoorPanelProperties(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_PanelDepth, ::Ifc2x3::IfcDoorPanelOperationEnum::Value v6_PanelOperation, boost::optional< double > v7_PanelWidth, ::Ifc2x3::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc2x3::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDoorStyle -::Ifc2x3::IfcDoorStyleOperationEnum::Value Ifc2x3::IfcDoorStyle::OperationType() const { return ::Ifc2x3::IfcDoorStyleOperationEnum::FromString(data_.get_attribute_value(8)); } +::Ifc2x3::IfcDoorStyleOperationEnum::Value Ifc2x3::IfcDoorStyle::OperationType() const { return ::Ifc2x3::IfcDoorStyleOperationEnum::FromString(get_attribute_value(8)); } void Ifc2x3::IfcDoorStyle::setOperationType(::Ifc2x3::IfcDoorStyleOperationEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc2x3::IfcDoorStyleOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc2x3::IfcDoorStyleConstructionEnum::Value Ifc2x3::IfcDoorStyle::ConstructionType() const { return ::Ifc2x3::IfcDoorStyleConstructionEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcDoorStyleConstructionEnum::Value Ifc2x3::IfcDoorStyle::ConstructionType() const { return ::Ifc2x3::IfcDoorStyleConstructionEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcDoorStyle::setConstructionType(::Ifc2x3::IfcDoorStyleConstructionEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcDoorStyleConstructionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -bool Ifc2x3::IfcDoorStyle::ParameterTakesPrecedence() const { bool v = data_.get_attribute_value(10); return v; } +bool Ifc2x3::IfcDoorStyle::ParameterTakesPrecedence() const { bool v = get_attribute_value(10); return v; } void Ifc2x3::IfcDoorStyle::setParameterTakesPrecedence(bool v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -bool Ifc2x3::IfcDoorStyle::Sizeable() const { bool v = data_.get_attribute_value(11); return v; } +bool Ifc2x3::IfcDoorStyle::Sizeable() const { bool v = get_attribute_value(11); return v; } void Ifc2x3::IfcDoorStyle::setSizeable(bool v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc2x3::IfcDoorStyle::declaration() const { return *((IfcParse::entity*)IFC2X3_types[252]); } const IfcParse::entity& Ifc2x3::IfcDoorStyle::Class() { return *((IfcParse::entity*)IFC2X3_types[252]); } Ifc2x3::IfcDoorStyle::IfcDoorStyle(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(e)) { } -Ifc2x3::IfcDoorStyle::IfcDoorStyle(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, ::Ifc2x3::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc2x3::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcDoorStyleOperationEnum::Class(),(size_t)v9_OperationType)));set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcDoorStyleConstructionEnum::Class(),(size_t)v10_ConstructionType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; populate_derived(); } +Ifc2x3::IfcDoorStyle::IfcDoorStyle(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, ::Ifc2x3::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc2x3::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcDoorStyleOperationEnum::Class(),(size_t)v9_OperationType)));set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcDoorStyleConstructionEnum::Class(),(size_t)v10_ConstructionType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; populate_derived(); } // Function implementations for IfcDraughtingCallout -aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr Ifc2x3::IfcDraughtingCallout::Contents() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc2x3::IfcDraughtingCalloutElement >(); } +aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr Ifc2x3::IfcDraughtingCallout::Contents() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc2x3::IfcDraughtingCalloutElement >(); } void Ifc2x3::IfcDraughtingCallout::setContents(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } ::Ifc2x3::IfcDraughtingCalloutRelationship::list::ptr Ifc2x3::IfcDraughtingCallout::IsRelatedFromCallout() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[258], 3)->as(); } @@ -7489,23 +7489,23 @@ void Ifc2x3::IfcDraughtingCallout::setContents(aggregate_of< ::Ifc2x3::IfcDraugh const IfcParse::entity& Ifc2x3::IfcDraughtingCallout::declaration() const { return *((IfcParse::entity*)IFC2X3_types[256]); } const IfcParse::entity& Ifc2x3::IfcDraughtingCallout::Class() { return *((IfcParse::entity*)IFC2X3_types[256]); } Ifc2x3::IfcDraughtingCallout::IfcDraughtingCallout(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc2x3::IfcDraughtingCallout::IfcDraughtingCallout(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Contents)->generalize());; populate_derived(); } +Ifc2x3::IfcDraughtingCallout::IfcDraughtingCallout(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Contents)->generalize());; populate_derived(); } // Function implementations for IfcDraughtingCalloutRelationship -boost::optional< std::string > Ifc2x3::IfcDraughtingCalloutRelationship::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc2x3::IfcDraughtingCalloutRelationship::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcDraughtingCalloutRelationship::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc2x3::IfcDraughtingCalloutRelationship::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc2x3::IfcDraughtingCalloutRelationship::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcDraughtingCalloutRelationship::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc2x3::IfcDraughtingCallout* Ifc2x3::IfcDraughtingCalloutRelationship::RelatingDraughtingCallout() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcDraughtingCallout>(true); } +::Ifc2x3::IfcDraughtingCallout* Ifc2x3::IfcDraughtingCalloutRelationship::RelatingDraughtingCallout() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcDraughtingCallout>(true); } void Ifc2x3::IfcDraughtingCalloutRelationship::setRelatingDraughtingCallout(::Ifc2x3::IfcDraughtingCallout* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcDraughtingCallout* Ifc2x3::IfcDraughtingCalloutRelationship::RelatedDraughtingCallout() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc2x3::IfcDraughtingCallout>(true); } +::Ifc2x3::IfcDraughtingCallout* Ifc2x3::IfcDraughtingCalloutRelationship::RelatedDraughtingCallout() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc2x3::IfcDraughtingCallout>(true); } void Ifc2x3::IfcDraughtingCalloutRelationship::setRelatedDraughtingCallout(::Ifc2x3::IfcDraughtingCallout* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcDraughtingCalloutRelationship::declaration() const { return *((IfcParse::entity*)IFC2X3_types[258]); } const IfcParse::entity& Ifc2x3::IfcDraughtingCalloutRelationship::Class() { return *((IfcParse::entity*)IFC2X3_types[258]); } Ifc2x3::IfcDraughtingCalloutRelationship::IfcDraughtingCalloutRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcDraughtingCalloutRelationship::IfcDraughtingCalloutRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcDraughtingCallout* v3_RelatingDraughtingCallout, ::Ifc2x3::IfcDraughtingCallout* v4_RelatedDraughtingCallout) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingDraughtingCallout ? v3_RelatingDraughtingCallout->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_RelatedDraughtingCallout ? v4_RelatedDraughtingCallout->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcDraughtingCalloutRelationship::IfcDraughtingCalloutRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcDraughtingCallout* v3_RelatingDraughtingCallout, ::Ifc2x3::IfcDraughtingCallout* v4_RelatedDraughtingCallout) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingDraughtingCallout ? v3_RelatingDraughtingCallout->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_RelatedDraughtingCallout ? v4_RelatedDraughtingCallout->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDraughtingPreDefinedColour @@ -7513,7 +7513,7 @@ Ifc2x3::IfcDraughtingCalloutRelationship::IfcDraughtingCalloutRelationship(boost const IfcParse::entity& Ifc2x3::IfcDraughtingPreDefinedColour::declaration() const { return *((IfcParse::entity*)IFC2X3_types[259]); } const IfcParse::entity& Ifc2x3::IfcDraughtingPreDefinedColour::Class() { return *((IfcParse::entity*)IFC2X3_types[259]); } Ifc2x3::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(IfcEntityInstanceData&& e) : IfcPreDefinedColour(std::move(e)) { } -Ifc2x3::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::string v1_Name) : IfcPreDefinedColour(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc2x3::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::string v1_Name) : IfcPreDefinedColour(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcDraughtingPreDefinedCurveFont @@ -7521,7 +7521,7 @@ Ifc2x3::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::string const IfcParse::entity& Ifc2x3::IfcDraughtingPreDefinedCurveFont::declaration() const { return *((IfcParse::entity*)IFC2X3_types[260]); } const IfcParse::entity& Ifc2x3::IfcDraughtingPreDefinedCurveFont::Class() { return *((IfcParse::entity*)IFC2X3_types[260]); } Ifc2x3::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(IfcEntityInstanceData&& e) : IfcPreDefinedCurveFont(std::move(e)) { } -Ifc2x3::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedCurveFont(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc2x3::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedCurveFont(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcDraughtingPreDefinedTextFont @@ -7529,177 +7529,177 @@ Ifc2x3::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(std:: const IfcParse::entity& Ifc2x3::IfcDraughtingPreDefinedTextFont::declaration() const { return *((IfcParse::entity*)IFC2X3_types[261]); } const IfcParse::entity& Ifc2x3::IfcDraughtingPreDefinedTextFont::Class() { return *((IfcParse::entity*)IFC2X3_types[261]); } Ifc2x3::IfcDraughtingPreDefinedTextFont::IfcDraughtingPreDefinedTextFont(IfcEntityInstanceData&& e) : IfcPreDefinedTextFont(std::move(e)) { } -Ifc2x3::IfcDraughtingPreDefinedTextFont::IfcDraughtingPreDefinedTextFont(std::string v1_Name) : IfcPreDefinedTextFont(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc2x3::IfcDraughtingPreDefinedTextFont::IfcDraughtingPreDefinedTextFont(std::string v1_Name) : IfcPreDefinedTextFont(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcDuctFittingType -::Ifc2x3::IfcDuctFittingTypeEnum::Value Ifc2x3::IfcDuctFittingType::PredefinedType() const { return ::Ifc2x3::IfcDuctFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcDuctFittingTypeEnum::Value Ifc2x3::IfcDuctFittingType::PredefinedType() const { return ::Ifc2x3::IfcDuctFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcDuctFittingType::setPredefinedType(::Ifc2x3::IfcDuctFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcDuctFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcDuctFittingType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[262]); } const IfcParse::entity& Ifc2x3::IfcDuctFittingType::Class() { return *((IfcParse::entity*)IFC2X3_types[262]); } Ifc2x3::IfcDuctFittingType::IfcDuctFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc2x3::IfcDuctFittingType::IfcDuctFittingType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcDuctFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcDuctFittingType::IfcDuctFittingType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcDuctFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDuctSegmentType -::Ifc2x3::IfcDuctSegmentTypeEnum::Value Ifc2x3::IfcDuctSegmentType::PredefinedType() const { return ::Ifc2x3::IfcDuctSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcDuctSegmentTypeEnum::Value Ifc2x3::IfcDuctSegmentType::PredefinedType() const { return ::Ifc2x3::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcDuctSegmentType::setPredefinedType(::Ifc2x3::IfcDuctSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcDuctSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcDuctSegmentType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[264]); } const IfcParse::entity& Ifc2x3::IfcDuctSegmentType::Class() { return *((IfcParse::entity*)IFC2X3_types[264]); } Ifc2x3::IfcDuctSegmentType::IfcDuctSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc2x3::IfcDuctSegmentType::IfcDuctSegmentType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcDuctSegmentType::IfcDuctSegmentType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDuctSilencerType -::Ifc2x3::IfcDuctSilencerTypeEnum::Value Ifc2x3::IfcDuctSilencerType::PredefinedType() const { return ::Ifc2x3::IfcDuctSilencerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcDuctSilencerTypeEnum::Value Ifc2x3::IfcDuctSilencerType::PredefinedType() const { return ::Ifc2x3::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcDuctSilencerType::setPredefinedType(::Ifc2x3::IfcDuctSilencerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcDuctSilencerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcDuctSilencerType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[266]); } const IfcParse::entity& Ifc2x3::IfcDuctSilencerType::Class() { return *((IfcParse::entity*)IFC2X3_types[266]); } Ifc2x3::IfcDuctSilencerType::IfcDuctSilencerType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc2x3::IfcDuctSilencerType::IfcDuctSilencerType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcDuctSilencerType::IfcDuctSilencerType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEdge -::Ifc2x3::IfcVertex* Ifc2x3::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcVertex>(true); } +::Ifc2x3::IfcVertex* Ifc2x3::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcVertex>(true); } void Ifc2x3::IfcEdge::setEdgeStart(::Ifc2x3::IfcVertex* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcVertex* Ifc2x3::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcVertex>(true); } +::Ifc2x3::IfcVertex* Ifc2x3::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcVertex>(true); } void Ifc2x3::IfcEdge::setEdgeEnd(::Ifc2x3::IfcVertex* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcEdge::declaration() const { return *((IfcParse::entity*)IFC2X3_types[269]); } const IfcParse::entity& Ifc2x3::IfcEdge::Class() { return *((IfcParse::entity*)IFC2X3_types[269]); } Ifc2x3::IfcEdge::IfcEdge(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc2x3::IfcEdge::IfcEdge(::Ifc2x3::IfcVertex* v1_EdgeStart, ::Ifc2x3::IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcEdge::IfcEdge(::Ifc2x3::IfcVertex* v1_EdgeStart, ::Ifc2x3::IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcEdgeCurve -::Ifc2x3::IfcCurve* Ifc2x3::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcCurve>(true); } +::Ifc2x3::IfcCurve* Ifc2x3::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcCurve>(true); } void Ifc2x3::IfcEdgeCurve::setEdgeGeometry(::Ifc2x3::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -bool Ifc2x3::IfcEdgeCurve::SameSense() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc2x3::IfcEdgeCurve::SameSense() const { bool v = get_attribute_value(3); return v; } void Ifc2x3::IfcEdgeCurve::setSameSense(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcEdgeCurve::declaration() const { return *((IfcParse::entity*)IFC2X3_types[270]); } const IfcParse::entity& Ifc2x3::IfcEdgeCurve::Class() { return *((IfcParse::entity*)IFC2X3_types[270]); } Ifc2x3::IfcEdgeCurve::IfcEdgeCurve(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc2x3::IfcEdgeCurve::IfcEdgeCurve(::Ifc2x3::IfcVertex* v1_EdgeStart, ::Ifc2x3::IfcVertex* v2_EdgeEnd, ::Ifc2x3::IfcCurve* v3_EdgeGeometry, bool v4_SameSense) : IfcEdge(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EdgeGeometry ? v3_EdgeGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SameSense));; populate_derived(); } +Ifc2x3::IfcEdgeCurve::IfcEdgeCurve(::Ifc2x3::IfcVertex* v1_EdgeStart, ::Ifc2x3::IfcVertex* v2_EdgeEnd, ::Ifc2x3::IfcCurve* v3_EdgeGeometry, bool v4_SameSense) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EdgeGeometry ? v3_EdgeGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SameSense));; populate_derived(); } // Function implementations for IfcEdgeFeature -boost::optional< double > Ifc2x3::IfcEdgeFeature::FeatureLength() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc2x3::IfcEdgeFeature::FeatureLength() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc2x3::IfcEdgeFeature::setFeatureLength(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc2x3::IfcEdgeFeature::declaration() const { return *((IfcParse::entity*)IFC2X3_types[271]); } const IfcParse::entity& Ifc2x3::IfcEdgeFeature::Class() { return *((IfcParse::entity*)IFC2X3_types[271]); } Ifc2x3::IfcEdgeFeature::IfcEdgeFeature(IfcEntityInstanceData&& e) : IfcFeatureElementSubtraction(std::move(e)) { } -Ifc2x3::IfcEdgeFeature::IfcEdgeFeature(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_FeatureLength) : IfcFeatureElementSubtraction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_FeatureLength) {set_attribute_value(8, (*v9_FeatureLength)); }; populate_derived(); } +Ifc2x3::IfcEdgeFeature::IfcEdgeFeature(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_FeatureLength) : IfcFeatureElementSubtraction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_FeatureLength) {set_attribute_value(8, (*v9_FeatureLength)); }; populate_derived(); } // Function implementations for IfcEdgeLoop -aggregate_of< ::Ifc2x3::IfcOrientedEdge >::ptr Ifc2x3::IfcEdgeLoop::EdgeList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc2x3::IfcOrientedEdge >(); } +aggregate_of< ::Ifc2x3::IfcOrientedEdge >::ptr Ifc2x3::IfcEdgeLoop::EdgeList() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc2x3::IfcOrientedEdge >(); } void Ifc2x3::IfcEdgeLoop::setEdgeList(aggregate_of< ::Ifc2x3::IfcOrientedEdge >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc2x3::IfcEdgeLoop::declaration() const { return *((IfcParse::entity*)IFC2X3_types[272]); } const IfcParse::entity& Ifc2x3::IfcEdgeLoop::Class() { return *((IfcParse::entity*)IFC2X3_types[272]); } Ifc2x3::IfcEdgeLoop::IfcEdgeLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc2x3::IfcEdgeLoop::IfcEdgeLoop(aggregate_of< ::Ifc2x3::IfcOrientedEdge >::ptr v1_EdgeList) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } +Ifc2x3::IfcEdgeLoop::IfcEdgeLoop(aggregate_of< ::Ifc2x3::IfcOrientedEdge >::ptr v1_EdgeList) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } // Function implementations for IfcElectricApplianceType -::Ifc2x3::IfcElectricApplianceTypeEnum::Value Ifc2x3::IfcElectricApplianceType::PredefinedType() const { return ::Ifc2x3::IfcElectricApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcElectricApplianceTypeEnum::Value Ifc2x3::IfcElectricApplianceType::PredefinedType() const { return ::Ifc2x3::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcElectricApplianceType::setPredefinedType(::Ifc2x3::IfcElectricApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcElectricApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcElectricApplianceType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[276]); } const IfcParse::entity& Ifc2x3::IfcElectricApplianceType::Class() { return *((IfcParse::entity*)IFC2X3_types[276]); } Ifc2x3::IfcElectricApplianceType::IfcElectricApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc2x3::IfcElectricApplianceType::IfcElectricApplianceType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcElectricApplianceType::IfcElectricApplianceType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricDistributionPoint -::Ifc2x3::IfcElectricDistributionPointFunctionEnum::Value Ifc2x3::IfcElectricDistributionPoint::DistributionPointFunction() const { return ::Ifc2x3::IfcElectricDistributionPointFunctionEnum::FromString(data_.get_attribute_value(8)); } +::Ifc2x3::IfcElectricDistributionPointFunctionEnum::Value Ifc2x3::IfcElectricDistributionPoint::DistributionPointFunction() const { return ::Ifc2x3::IfcElectricDistributionPointFunctionEnum::FromString(get_attribute_value(8)); } void Ifc2x3::IfcElectricDistributionPoint::setDistributionPointFunction(::Ifc2x3::IfcElectricDistributionPointFunctionEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc2x3::IfcElectricDistributionPointFunctionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -boost::optional< std::string > Ifc2x3::IfcElectricDistributionPoint::UserDefinedFunction() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc2x3::IfcElectricDistributionPoint::UserDefinedFunction() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc2x3::IfcElectricDistributionPoint::setUserDefinedFunction(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc2x3::IfcElectricDistributionPoint::declaration() const { return *((IfcParse::entity*)IFC2X3_types[283]); } const IfcParse::entity& Ifc2x3::IfcElectricDistributionPoint::Class() { return *((IfcParse::entity*)IFC2X3_types[283]); } Ifc2x3::IfcElectricDistributionPoint::IfcElectricDistributionPoint(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc2x3::IfcElectricDistributionPoint::IfcElectricDistributionPoint(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, ::Ifc2x3::IfcElectricDistributionPointFunctionEnum::Value v9_DistributionPointFunction, boost::optional< std::string > v10_UserDefinedFunction) : IfcFlowController(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcElectricDistributionPointFunctionEnum::Class(),(size_t)v9_DistributionPointFunction))); if (v10_UserDefinedFunction) {set_attribute_value(9, (*v10_UserDefinedFunction)); }; populate_derived(); } +Ifc2x3::IfcElectricDistributionPoint::IfcElectricDistributionPoint(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, ::Ifc2x3::IfcElectricDistributionPointFunctionEnum::Value v9_DistributionPointFunction, boost::optional< std::string > v10_UserDefinedFunction) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcElectricDistributionPointFunctionEnum::Class(),(size_t)v9_DistributionPointFunction))); if (v10_UserDefinedFunction) {set_attribute_value(9, (*v10_UserDefinedFunction)); }; populate_derived(); } // Function implementations for IfcElectricFlowStorageDeviceType -::Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc2x3::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc2x3::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcElectricFlowStorageDeviceType::setPredefinedType(::Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcElectricFlowStorageDeviceType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[285]); } const IfcParse::entity& Ifc2x3::IfcElectricFlowStorageDeviceType::Class() { return *((IfcParse::entity*)IFC2X3_types[285]); } Ifc2x3::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(IfcEntityInstanceData&& e) : IfcFlowStorageDeviceType(std::move(e)) { } -Ifc2x3::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricGeneratorType -::Ifc2x3::IfcElectricGeneratorTypeEnum::Value Ifc2x3::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc2x3::IfcElectricGeneratorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcElectricGeneratorTypeEnum::Value Ifc2x3::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc2x3::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcElectricGeneratorType::setPredefinedType(::Ifc2x3::IfcElectricGeneratorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcElectricGeneratorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcElectricGeneratorType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[287]); } const IfcParse::entity& Ifc2x3::IfcElectricGeneratorType::Class() { return *((IfcParse::entity*)IFC2X3_types[287]); } Ifc2x3::IfcElectricGeneratorType::IfcElectricGeneratorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc2x3::IfcElectricGeneratorType::IfcElectricGeneratorType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcElectricGeneratorType::IfcElectricGeneratorType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricHeaterType -::Ifc2x3::IfcElectricHeaterTypeEnum::Value Ifc2x3::IfcElectricHeaterType::PredefinedType() const { return ::Ifc2x3::IfcElectricHeaterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcElectricHeaterTypeEnum::Value Ifc2x3::IfcElectricHeaterType::PredefinedType() const { return ::Ifc2x3::IfcElectricHeaterTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcElectricHeaterType::setPredefinedType(::Ifc2x3::IfcElectricHeaterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcElectricHeaterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcElectricHeaterType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[289]); } const IfcParse::entity& Ifc2x3::IfcElectricHeaterType::Class() { return *((IfcParse::entity*)IFC2X3_types[289]); } Ifc2x3::IfcElectricHeaterType::IfcElectricHeaterType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc2x3::IfcElectricHeaterType::IfcElectricHeaterType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricHeaterTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcElectricHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcElectricHeaterType::IfcElectricHeaterType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricHeaterTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcElectricHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricMotorType -::Ifc2x3::IfcElectricMotorTypeEnum::Value Ifc2x3::IfcElectricMotorType::PredefinedType() const { return ::Ifc2x3::IfcElectricMotorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcElectricMotorTypeEnum::Value Ifc2x3::IfcElectricMotorType::PredefinedType() const { return ::Ifc2x3::IfcElectricMotorTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcElectricMotorType::setPredefinedType(::Ifc2x3::IfcElectricMotorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcElectricMotorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcElectricMotorType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[291]); } const IfcParse::entity& Ifc2x3::IfcElectricMotorType::Class() { return *((IfcParse::entity*)IFC2X3_types[291]); } Ifc2x3::IfcElectricMotorType::IfcElectricMotorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc2x3::IfcElectricMotorType::IfcElectricMotorType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricMotorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcElectricMotorType::IfcElectricMotorType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricMotorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricTimeControlType -::Ifc2x3::IfcElectricTimeControlTypeEnum::Value Ifc2x3::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc2x3::IfcElectricTimeControlTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcElectricTimeControlTypeEnum::Value Ifc2x3::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc2x3::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcElectricTimeControlType::setPredefinedType(::Ifc2x3::IfcElectricTimeControlTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcElectricTimeControlTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcElectricTimeControlType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[294]); } const IfcParse::entity& Ifc2x3::IfcElectricTimeControlType::Class() { return *((IfcParse::entity*)IFC2X3_types[294]); } Ifc2x3::IfcElectricTimeControlType::IfcElectricTimeControlType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc2x3::IfcElectricTimeControlType::IfcElectricTimeControlType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcElectricTimeControlType::IfcElectricTimeControlType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricalBaseProperties -boost::optional< ::Ifc2x3::IfcElectricCurrentEnum::Value > Ifc2x3::IfcElectricalBaseProperties::ElectricCurrentType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc2x3::IfcElectricCurrentEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc2x3::IfcElectricCurrentEnum::Value > Ifc2x3::IfcElectricalBaseProperties::ElectricCurrentType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc2x3::IfcElectricCurrentEnum::FromString(get_attribute_value(6)); } void Ifc2x3::IfcElectricalBaseProperties::setElectricCurrentType(boost::optional< ::Ifc2x3::IfcElectricCurrentEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc2x3::IfcElectricCurrentEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -double Ifc2x3::IfcElectricalBaseProperties::InputVoltage() const { double v = data_.get_attribute_value(7); return v; } +double Ifc2x3::IfcElectricalBaseProperties::InputVoltage() const { double v = get_attribute_value(7); return v; } void Ifc2x3::IfcElectricalBaseProperties::setInputVoltage(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -double Ifc2x3::IfcElectricalBaseProperties::InputFrequency() const { double v = data_.get_attribute_value(8); return v; } +double Ifc2x3::IfcElectricalBaseProperties::InputFrequency() const { double v = get_attribute_value(8); return v; } void Ifc2x3::IfcElectricalBaseProperties::setInputFrequency(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -boost::optional< double > Ifc2x3::IfcElectricalBaseProperties::FullLoadCurrent() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc2x3::IfcElectricalBaseProperties::FullLoadCurrent() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc2x3::IfcElectricalBaseProperties::setFullLoadCurrent(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc2x3::IfcElectricalBaseProperties::MinimumCircuitCurrent() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc2x3::IfcElectricalBaseProperties::MinimumCircuitCurrent() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc2x3::IfcElectricalBaseProperties::setMinimumCircuitCurrent(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc2x3::IfcElectricalBaseProperties::MaximumPowerInput() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc2x3::IfcElectricalBaseProperties::MaximumPowerInput() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc2x3::IfcElectricalBaseProperties::setMaximumPowerInput(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc2x3::IfcElectricalBaseProperties::RatedPowerInput() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc2x3::IfcElectricalBaseProperties::RatedPowerInput() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc2x3::IfcElectricalBaseProperties::setRatedPowerInput(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -int Ifc2x3::IfcElectricalBaseProperties::InputPhase() const { int v = data_.get_attribute_value(13); return v; } +int Ifc2x3::IfcElectricalBaseProperties::InputPhase() const { int v = get_attribute_value(13); return v; } void Ifc2x3::IfcElectricalBaseProperties::setInputPhase(int v) { set_attribute_value(13, v);if constexpr (false)unset_attribute_value(13); } const IfcParse::entity& Ifc2x3::IfcElectricalBaseProperties::declaration() const { return *((IfcParse::entity*)IFC2X3_types[273]); } const IfcParse::entity& Ifc2x3::IfcElectricalBaseProperties::Class() { return *((IfcParse::entity*)IFC2X3_types[273]); } Ifc2x3::IfcElectricalBaseProperties::IfcElectricalBaseProperties(IfcEntityInstanceData&& e) : IfcEnergyProperties(std::move(e)) { } -Ifc2x3::IfcElectricalBaseProperties::IfcElectricalBaseProperties(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc2x3::IfcEnergySequenceEnum::Value > v5_EnergySequence, boost::optional< std::string > v6_UserDefinedEnergySequence, boost::optional< ::Ifc2x3::IfcElectricCurrentEnum::Value > v7_ElectricCurrentType, double v8_InputVoltage, double v9_InputFrequency, boost::optional< double > v10_FullLoadCurrent, boost::optional< double > v11_MinimumCircuitCurrent, boost::optional< double > v12_MaximumPowerInput, boost::optional< double > v13_RatedPowerInput, int v14_InputPhase) : IfcEnergyProperties(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_EnergySequence) {set_attribute_value(4, (EnumerationReference(&::Ifc2x3::IfcEnergySequenceEnum::Class(),(size_t)*v5_EnergySequence))); } if (v6_UserDefinedEnergySequence) {set_attribute_value(5, (*v6_UserDefinedEnergySequence)); } if (v7_ElectricCurrentType) {set_attribute_value(6, (EnumerationReference(&::Ifc2x3::IfcElectricCurrentEnum::Class(),(size_t)*v7_ElectricCurrentType))); }set_attribute_value(7, (v8_InputVoltage));set_attribute_value(8, (v9_InputFrequency)); if (v10_FullLoadCurrent) {set_attribute_value(9, (*v10_FullLoadCurrent)); } if (v11_MinimumCircuitCurrent) {set_attribute_value(10, (*v11_MinimumCircuitCurrent)); } if (v12_MaximumPowerInput) {set_attribute_value(11, (*v12_MaximumPowerInput)); } if (v13_RatedPowerInput) {set_attribute_value(12, (*v13_RatedPowerInput)); }set_attribute_value(13, (v14_InputPhase));; populate_derived(); } +Ifc2x3::IfcElectricalBaseProperties::IfcElectricalBaseProperties(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc2x3::IfcEnergySequenceEnum::Value > v5_EnergySequence, boost::optional< std::string > v6_UserDefinedEnergySequence, boost::optional< ::Ifc2x3::IfcElectricCurrentEnum::Value > v7_ElectricCurrentType, double v8_InputVoltage, double v9_InputFrequency, boost::optional< double > v10_FullLoadCurrent, boost::optional< double > v11_MinimumCircuitCurrent, boost::optional< double > v12_MaximumPowerInput, boost::optional< double > v13_RatedPowerInput, int v14_InputPhase) : IfcEnergyProperties(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_EnergySequence) {set_attribute_value(4, (EnumerationReference(&::Ifc2x3::IfcEnergySequenceEnum::Class(),(size_t)*v5_EnergySequence))); } if (v6_UserDefinedEnergySequence) {set_attribute_value(5, (*v6_UserDefinedEnergySequence)); } if (v7_ElectricCurrentType) {set_attribute_value(6, (EnumerationReference(&::Ifc2x3::IfcElectricCurrentEnum::Class(),(size_t)*v7_ElectricCurrentType))); }set_attribute_value(7, (v8_InputVoltage));set_attribute_value(8, (v9_InputFrequency)); if (v10_FullLoadCurrent) {set_attribute_value(9, (*v10_FullLoadCurrent)); } if (v11_MinimumCircuitCurrent) {set_attribute_value(10, (*v11_MinimumCircuitCurrent)); } if (v12_MaximumPowerInput) {set_attribute_value(11, (*v12_MaximumPowerInput)); } if (v13_RatedPowerInput) {set_attribute_value(12, (*v13_RatedPowerInput)); }set_attribute_value(13, (v14_InputPhase));; populate_derived(); } // Function implementations for IfcElectricalCircuit @@ -7707,7 +7707,7 @@ Ifc2x3::IfcElectricalBaseProperties::IfcElectricalBaseProperties(std::string v1_ const IfcParse::entity& Ifc2x3::IfcElectricalCircuit::declaration() const { return *((IfcParse::entity*)IFC2X3_types[274]); } const IfcParse::entity& Ifc2x3::IfcElectricalCircuit::Class() { return *((IfcParse::entity*)IFC2X3_types[274]); } Ifc2x3::IfcElectricalCircuit::IfcElectricalCircuit(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc2x3::IfcElectricalCircuit::IfcElectricalCircuit(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcSystem(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc2x3::IfcElectricalCircuit::IfcElectricalCircuit(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcElectricalElement @@ -7715,10 +7715,10 @@ Ifc2x3::IfcElectricalCircuit::IfcElectricalCircuit(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc2x3::IfcElectricalElement::declaration() const { return *((IfcParse::entity*)IFC2X3_types[275]); } const IfcParse::entity& Ifc2x3::IfcElectricalElement::Class() { return *((IfcParse::entity*)IFC2X3_types[275]); } Ifc2x3::IfcElectricalElement::IfcElectricalElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc2x3::IfcElectricalElement::IfcElectricalElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcElectricalElement::IfcElectricalElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcElement -boost::optional< std::string > Ifc2x3::IfcElement::Tag() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc2x3::IfcElement::Tag() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc2x3::IfcElement::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } ::Ifc2x3::IfcRelConnectsStructuralElement::list::ptr Ifc2x3::IfcElement::HasStructuralMember() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[694], 4)->as(); } @@ -7737,19 +7737,19 @@ void Ifc2x3::IfcElement::setTag(boost::optional< std::string > v) { if (v) {set_ const IfcParse::entity& Ifc2x3::IfcElement::declaration() const { return *((IfcParse::entity*)IFC2X3_types[297]); } const IfcParse::entity& Ifc2x3::IfcElement::Class() { return *((IfcParse::entity*)IFC2X3_types[297]); } Ifc2x3::IfcElement::IfcElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc2x3::IfcElement::IfcElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcProduct(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcElement::IfcElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcElementAssembly -boost::optional< ::Ifc2x3::IfcAssemblyPlaceEnum::Value > Ifc2x3::IfcElementAssembly::AssemblyPlace() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc2x3::IfcAssemblyPlaceEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc2x3::IfcAssemblyPlaceEnum::Value > Ifc2x3::IfcElementAssembly::AssemblyPlace() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc2x3::IfcAssemblyPlaceEnum::FromString(get_attribute_value(8)); } void Ifc2x3::IfcElementAssembly::setAssemblyPlace(boost::optional< ::Ifc2x3::IfcAssemblyPlaceEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc2x3::IfcAssemblyPlaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -::Ifc2x3::IfcElementAssemblyTypeEnum::Value Ifc2x3::IfcElementAssembly::PredefinedType() const { return ::Ifc2x3::IfcElementAssemblyTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcElementAssemblyTypeEnum::Value Ifc2x3::IfcElementAssembly::PredefinedType() const { return ::Ifc2x3::IfcElementAssemblyTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcElementAssembly::setPredefinedType(::Ifc2x3::IfcElementAssemblyTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcElementAssemblyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcElementAssembly::declaration() const { return *((IfcParse::entity*)IFC2X3_types[299]); } const IfcParse::entity& Ifc2x3::IfcElementAssembly::Class() { return *((IfcParse::entity*)IFC2X3_types[299]); } Ifc2x3::IfcElementAssembly::IfcElementAssembly(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc2x3::IfcElementAssembly::IfcElementAssembly(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc2x3::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, ::Ifc2x3::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) : IfcElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcElementAssembly::IfcElementAssembly(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc2x3::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, ::Ifc2x3::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElementComponent @@ -7757,7 +7757,7 @@ Ifc2x3::IfcElementAssembly::IfcElementAssembly(std::string v1_GlobalId, ::Ifc2x3 const IfcParse::entity& Ifc2x3::IfcElementComponent::declaration() const { return *((IfcParse::entity*)IFC2X3_types[301]); } const IfcParse::entity& Ifc2x3::IfcElementComponent::Class() { return *((IfcParse::entity*)IFC2X3_types[301]); } Ifc2x3::IfcElementComponent::IfcElementComponent(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc2x3::IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcElementComponentType @@ -7765,63 +7765,63 @@ Ifc2x3::IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, ::Ifc2 const IfcParse::entity& Ifc2x3::IfcElementComponentType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[302]); } const IfcParse::entity& Ifc2x3::IfcElementComponentType::Class() { return *((IfcParse::entity*)IFC2X3_types[302]); } Ifc2x3::IfcElementComponentType::IfcElementComponentType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc2x3::IfcElementComponentType::IfcElementComponentType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc2x3::IfcElementComponentType::IfcElementComponentType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcElementQuantity -boost::optional< std::string > Ifc2x3::IfcElementQuantity::MethodOfMeasurement() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc2x3::IfcElementQuantity::MethodOfMeasurement() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc2x3::IfcElementQuantity::setMethodOfMeasurement(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -aggregate_of< ::Ifc2x3::IfcPhysicalQuantity >::ptr Ifc2x3::IfcElementQuantity::Quantities() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc2x3::IfcPhysicalQuantity >(); } +aggregate_of< ::Ifc2x3::IfcPhysicalQuantity >::ptr Ifc2x3::IfcElementQuantity::Quantities() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc2x3::IfcPhysicalQuantity >(); } void Ifc2x3::IfcElementQuantity::setQuantities(aggregate_of< ::Ifc2x3::IfcPhysicalQuantity >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc2x3::IfcElementQuantity::declaration() const { return *((IfcParse::entity*)IFC2X3_types[304]); } const IfcParse::entity& Ifc2x3::IfcElementQuantity::Class() { return *((IfcParse::entity*)IFC2X3_types[304]); } Ifc2x3::IfcElementQuantity::IfcElementQuantity(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc2x3::IfcElementQuantity::IfcElementQuantity(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_MethodOfMeasurement, aggregate_of< ::Ifc2x3::IfcPhysicalQuantity >::ptr v6_Quantities) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, (v6_Quantities)->generalize());; populate_derived(); } +Ifc2x3::IfcElementQuantity::IfcElementQuantity(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_MethodOfMeasurement, aggregate_of< ::Ifc2x3::IfcPhysicalQuantity >::ptr v6_Quantities) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, (v6_Quantities)->generalize());; populate_derived(); } // Function implementations for IfcElementType -boost::optional< std::string > Ifc2x3::IfcElementType::ElementType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc2x3::IfcElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc2x3::IfcElementType::setElementType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc2x3::IfcElementType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[305]); } const IfcParse::entity& Ifc2x3::IfcElementType::Class() { return *((IfcParse::entity*)IFC2X3_types[305]); } Ifc2x3::IfcElementType::IfcElementType(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(e)) { } -Ifc2x3::IfcElementType::IfcElementType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc2x3::IfcElementType::IfcElementType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcElementarySurface -::Ifc2x3::IfcAxis2Placement3D* Ifc2x3::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcAxis2Placement3D>(true); } +::Ifc2x3::IfcAxis2Placement3D* Ifc2x3::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcAxis2Placement3D>(true); } void Ifc2x3::IfcElementarySurface::setPosition(::Ifc2x3::IfcAxis2Placement3D* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc2x3::IfcElementarySurface::declaration() const { return *((IfcParse::entity*)IFC2X3_types[298]); } const IfcParse::entity& Ifc2x3::IfcElementarySurface::Class() { return *((IfcParse::entity*)IFC2X3_types[298]); } Ifc2x3::IfcElementarySurface::IfcElementarySurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc2x3::IfcElementarySurface::IfcElementarySurface(::Ifc2x3::IfcAxis2Placement3D* v1_Position) : IfcSurface(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcElementarySurface::IfcElementarySurface(::Ifc2x3::IfcAxis2Placement3D* v1_Position) : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcEllipse -double Ifc2x3::IfcEllipse::SemiAxis1() const { double v = data_.get_attribute_value(1); return v; } +double Ifc2x3::IfcEllipse::SemiAxis1() const { double v = get_attribute_value(1); return v; } void Ifc2x3::IfcEllipse::setSemiAxis1(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc2x3::IfcEllipse::SemiAxis2() const { double v = data_.get_attribute_value(2); return v; } +double Ifc2x3::IfcEllipse::SemiAxis2() const { double v = get_attribute_value(2); return v; } void Ifc2x3::IfcEllipse::setSemiAxis2(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc2x3::IfcEllipse::declaration() const { return *((IfcParse::entity*)IFC2X3_types[306]); } const IfcParse::entity& Ifc2x3::IfcEllipse::Class() { return *((IfcParse::entity*)IFC2X3_types[306]); } Ifc2x3::IfcEllipse::IfcEllipse(IfcEntityInstanceData&& e) : IfcConic(std::move(e)) { } -Ifc2x3::IfcEllipse::IfcEllipse(::Ifc2x3::IfcAxis2Placement* v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) : IfcConic(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; populate_derived(); } +Ifc2x3::IfcEllipse::IfcEllipse(::Ifc2x3::IfcAxis2Placement* v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) : IfcConic(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; populate_derived(); } // Function implementations for IfcEllipseProfileDef -double Ifc2x3::IfcEllipseProfileDef::SemiAxis1() const { double v = data_.get_attribute_value(3); return v; } +double Ifc2x3::IfcEllipseProfileDef::SemiAxis1() const { double v = get_attribute_value(3); return v; } void Ifc2x3::IfcEllipseProfileDef::setSemiAxis1(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc2x3::IfcEllipseProfileDef::SemiAxis2() const { double v = data_.get_attribute_value(4); return v; } +double Ifc2x3::IfcEllipseProfileDef::SemiAxis2() const { double v = get_attribute_value(4); return v; } void Ifc2x3::IfcEllipseProfileDef::setSemiAxis2(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc2x3::IfcEllipseProfileDef::declaration() const { return *((IfcParse::entity*)IFC2X3_types[307]); } const IfcParse::entity& Ifc2x3::IfcEllipseProfileDef::Class() { return *((IfcParse::entity*)IFC2X3_types[307]); } Ifc2x3::IfcEllipseProfileDef::IfcEllipseProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc2x3::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D* v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; populate_derived(); } +Ifc2x3::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D* v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; populate_derived(); } // Function implementations for IfcEnergyConversionDevice @@ -7829,7 +7829,7 @@ Ifc2x3::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc2x3::IfcProfileTypeEnum: const IfcParse::entity& Ifc2x3::IfcEnergyConversionDevice::declaration() const { return *((IfcParse::entity*)IFC2X3_types[308]); } const IfcParse::entity& Ifc2x3::IfcEnergyConversionDevice::Class() { return *((IfcParse::entity*)IFC2X3_types[308]); } Ifc2x3::IfcEnergyConversionDevice::IfcEnergyConversionDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc2x3::IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcEnergyConversionDeviceType @@ -7837,33 +7837,33 @@ Ifc2x3::IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_Glob const IfcParse::entity& Ifc2x3::IfcEnergyConversionDeviceType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[309]); } const IfcParse::entity& Ifc2x3::IfcEnergyConversionDeviceType::Class() { return *((IfcParse::entity*)IFC2X3_types[309]); } Ifc2x3::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc2x3::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc2x3::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcEnergyProperties -boost::optional< ::Ifc2x3::IfcEnergySequenceEnum::Value > Ifc2x3::IfcEnergyProperties::EnergySequence() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc2x3::IfcEnergySequenceEnum::FromString(data_.get_attribute_value(4)); } +boost::optional< ::Ifc2x3::IfcEnergySequenceEnum::Value > Ifc2x3::IfcEnergyProperties::EnergySequence() const { if(get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc2x3::IfcEnergySequenceEnum::FromString(get_attribute_value(4)); } void Ifc2x3::IfcEnergyProperties::setEnergySequence(boost::optional< ::Ifc2x3::IfcEnergySequenceEnum::Value > v) { if (v) {set_attribute_value(4, EnumerationReference(&::Ifc2x3::IfcEnergySequenceEnum::Class(), (size_t) *v));} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc2x3::IfcEnergyProperties::UserDefinedEnergySequence() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc2x3::IfcEnergyProperties::UserDefinedEnergySequence() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc2x3::IfcEnergyProperties::setUserDefinedEnergySequence(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc2x3::IfcEnergyProperties::declaration() const { return *((IfcParse::entity*)IFC2X3_types[311]); } const IfcParse::entity& Ifc2x3::IfcEnergyProperties::Class() { return *((IfcParse::entity*)IFC2X3_types[311]); } Ifc2x3::IfcEnergyProperties::IfcEnergyProperties(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc2x3::IfcEnergyProperties::IfcEnergyProperties(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc2x3::IfcEnergySequenceEnum::Value > v5_EnergySequence, boost::optional< std::string > v6_UserDefinedEnergySequence) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_EnergySequence) {set_attribute_value(4, (EnumerationReference(&::Ifc2x3::IfcEnergySequenceEnum::Class(),(size_t)*v5_EnergySequence))); } if (v6_UserDefinedEnergySequence) {set_attribute_value(5, (*v6_UserDefinedEnergySequence)); }; populate_derived(); } +Ifc2x3::IfcEnergyProperties::IfcEnergyProperties(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc2x3::IfcEnergySequenceEnum::Value > v5_EnergySequence, boost::optional< std::string > v6_UserDefinedEnergySequence) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_EnergySequence) {set_attribute_value(4, (EnumerationReference(&::Ifc2x3::IfcEnergySequenceEnum::Class(),(size_t)*v5_EnergySequence))); } if (v6_UserDefinedEnergySequence) {set_attribute_value(5, (*v6_UserDefinedEnergySequence)); }; populate_derived(); } // Function implementations for IfcEnvironmentalImpactValue -std::string Ifc2x3::IfcEnvironmentalImpactValue::ImpactType() const { std::string v = data_.get_attribute_value(6); return v; } +std::string Ifc2x3::IfcEnvironmentalImpactValue::ImpactType() const { std::string v = get_attribute_value(6); return v; } void Ifc2x3::IfcEnvironmentalImpactValue::setImpactType(std::string v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc2x3::IfcEnvironmentalImpactCategoryEnum::Value Ifc2x3::IfcEnvironmentalImpactValue::Category() const { return ::Ifc2x3::IfcEnvironmentalImpactCategoryEnum::FromString(data_.get_attribute_value(7)); } +::Ifc2x3::IfcEnvironmentalImpactCategoryEnum::Value Ifc2x3::IfcEnvironmentalImpactValue::Category() const { return ::Ifc2x3::IfcEnvironmentalImpactCategoryEnum::FromString(get_attribute_value(7)); } void Ifc2x3::IfcEnvironmentalImpactValue::setCategory(::Ifc2x3::IfcEnvironmentalImpactCategoryEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc2x3::IfcEnvironmentalImpactCategoryEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc2x3::IfcEnvironmentalImpactValue::UserDefinedCategory() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc2x3::IfcEnvironmentalImpactValue::UserDefinedCategory() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc2x3::IfcEnvironmentalImpactValue::setUserDefinedCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc2x3::IfcEnvironmentalImpactValue::declaration() const { return *((IfcParse::entity*)IFC2X3_types[314]); } const IfcParse::entity& Ifc2x3::IfcEnvironmentalImpactValue::Class() { return *((IfcParse::entity*)IFC2X3_types[314]); } Ifc2x3::IfcEnvironmentalImpactValue::IfcEnvironmentalImpactValue(IfcEntityInstanceData&& e) : IfcAppliedValue(std::move(e)) { } -Ifc2x3::IfcEnvironmentalImpactValue::IfcEnvironmentalImpactValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc2x3::IfcMeasureWithUnit* v4_UnitBasis, ::Ifc2x3::IfcDateTimeSelect* v5_ApplicableDate, ::Ifc2x3::IfcDateTimeSelect* v6_FixedUntilDate, std::string v7_ImpactType, ::Ifc2x3::IfcEnvironmentalImpactCategoryEnum::Value v8_Category, boost::optional< std::string > v9_UserDefinedCategory) : IfcAppliedValue(IfcEntityInstanceData(storage_t(9))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ApplicableDate ? v5_ApplicableDate->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_FixedUntilDate ? v6_FixedUntilDate->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, (v7_ImpactType));set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcEnvironmentalImpactCategoryEnum::Class(),(size_t)v8_Category))); if (v9_UserDefinedCategory) {set_attribute_value(8, (*v9_UserDefinedCategory)); }; populate_derived(); } +Ifc2x3::IfcEnvironmentalImpactValue::IfcEnvironmentalImpactValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc2x3::IfcMeasureWithUnit* v4_UnitBasis, ::Ifc2x3::IfcDateTimeSelect* v5_ApplicableDate, ::Ifc2x3::IfcDateTimeSelect* v6_FixedUntilDate, std::string v7_ImpactType, ::Ifc2x3::IfcEnvironmentalImpactCategoryEnum::Value v8_Category, boost::optional< std::string > v9_UserDefinedCategory) : IfcAppliedValue(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ApplicableDate ? v5_ApplicableDate->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_FixedUntilDate ? v6_FixedUntilDate->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, (v7_ImpactType));set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcEnvironmentalImpactCategoryEnum::Class(),(size_t)v8_Category))); if (v9_UserDefinedCategory) {set_attribute_value(8, (*v9_UserDefinedCategory)); }; populate_derived(); } // Function implementations for IfcEquipmentElement @@ -7871,7 +7871,7 @@ Ifc2x3::IfcEnvironmentalImpactValue::IfcEnvironmentalImpactValue(boost::optional const IfcParse::entity& Ifc2x3::IfcEquipmentElement::declaration() const { return *((IfcParse::entity*)IFC2X3_types[315]); } const IfcParse::entity& Ifc2x3::IfcEquipmentElement::Class() { return *((IfcParse::entity*)IFC2X3_types[315]); } Ifc2x3::IfcEquipmentElement::IfcEquipmentElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc2x3::IfcEquipmentElement::IfcEquipmentElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcEquipmentElement::IfcEquipmentElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcEquipmentStandard @@ -7879,55 +7879,55 @@ Ifc2x3::IfcEquipmentElement::IfcEquipmentElement(std::string v1_GlobalId, ::Ifc2 const IfcParse::entity& Ifc2x3::IfcEquipmentStandard::declaration() const { return *((IfcParse::entity*)IFC2X3_types[316]); } const IfcParse::entity& Ifc2x3::IfcEquipmentStandard::Class() { return *((IfcParse::entity*)IFC2X3_types[316]); } Ifc2x3::IfcEquipmentStandard::IfcEquipmentStandard(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc2x3::IfcEquipmentStandard::IfcEquipmentStandard(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcControl(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc2x3::IfcEquipmentStandard::IfcEquipmentStandard(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcEvaporativeCoolerType -::Ifc2x3::IfcEvaporativeCoolerTypeEnum::Value Ifc2x3::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc2x3::IfcEvaporativeCoolerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcEvaporativeCoolerTypeEnum::Value Ifc2x3::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc2x3::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcEvaporativeCoolerType::setPredefinedType(::Ifc2x3::IfcEvaporativeCoolerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcEvaporativeCoolerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcEvaporativeCoolerType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[317]); } const IfcParse::entity& Ifc2x3::IfcEvaporativeCoolerType::Class() { return *((IfcParse::entity*)IFC2X3_types[317]); } Ifc2x3::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc2x3::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEvaporatorType -::Ifc2x3::IfcEvaporatorTypeEnum::Value Ifc2x3::IfcEvaporatorType::PredefinedType() const { return ::Ifc2x3::IfcEvaporatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcEvaporatorTypeEnum::Value Ifc2x3::IfcEvaporatorType::PredefinedType() const { return ::Ifc2x3::IfcEvaporatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcEvaporatorType::setPredefinedType(::Ifc2x3::IfcEvaporatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcEvaporatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcEvaporatorType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[319]); } const IfcParse::entity& Ifc2x3::IfcEvaporatorType::Class() { return *((IfcParse::entity*)IFC2X3_types[319]); } Ifc2x3::IfcEvaporatorType::IfcEvaporatorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc2x3::IfcEvaporatorType::IfcEvaporatorType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcEvaporatorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcEvaporatorType::IfcEvaporatorType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcEvaporatorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcExtendedMaterialProperties -aggregate_of< ::Ifc2x3::IfcProperty >::ptr Ifc2x3::IfcExtendedMaterialProperties::ExtendedProperties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc2x3::IfcProperty >(); } +aggregate_of< ::Ifc2x3::IfcProperty >::ptr Ifc2x3::IfcExtendedMaterialProperties::ExtendedProperties() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc2x3::IfcProperty >(); } void Ifc2x3::IfcExtendedMaterialProperties::setExtendedProperties(aggregate_of< ::Ifc2x3::IfcProperty >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc2x3::IfcExtendedMaterialProperties::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc2x3::IfcExtendedMaterialProperties::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcExtendedMaterialProperties::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::string Ifc2x3::IfcExtendedMaterialProperties::Name() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc2x3::IfcExtendedMaterialProperties::Name() const { std::string v = get_attribute_value(3); return v; } void Ifc2x3::IfcExtendedMaterialProperties::setName(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcExtendedMaterialProperties::declaration() const { return *((IfcParse::entity*)IFC2X3_types[321]); } const IfcParse::entity& Ifc2x3::IfcExtendedMaterialProperties::Class() { return *((IfcParse::entity*)IFC2X3_types[321]); } Ifc2x3::IfcExtendedMaterialProperties::IfcExtendedMaterialProperties(IfcEntityInstanceData&& e) : IfcMaterialProperties(std::move(e)) { } -Ifc2x3::IfcExtendedMaterialProperties::IfcExtendedMaterialProperties(::Ifc2x3::IfcMaterial* v1_Material, aggregate_of< ::Ifc2x3::IfcProperty >::ptr v2_ExtendedProperties, boost::optional< std::string > v3_Description, std::string v4_Name) : IfcMaterialProperties(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_ExtendedProperties)->generalize()); if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_Name));; populate_derived(); } +Ifc2x3::IfcExtendedMaterialProperties::IfcExtendedMaterialProperties(::Ifc2x3::IfcMaterial* v1_Material, aggregate_of< ::Ifc2x3::IfcProperty >::ptr v2_ExtendedProperties, boost::optional< std::string > v3_Description, std::string v4_Name) : IfcMaterialProperties(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_ExtendedProperties)->generalize()); if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_Name));; populate_derived(); } // Function implementations for IfcExternalReference -boost::optional< std::string > Ifc2x3::IfcExternalReference::Location() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc2x3::IfcExternalReference::Location() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcExternalReference::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc2x3::IfcExternalReference::ItemReference() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc2x3::IfcExternalReference::ItemReference() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcExternalReference::setItemReference(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc2x3::IfcExternalReference::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc2x3::IfcExternalReference::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcExternalReference::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc2x3::IfcExternalReference::declaration() const { return *((IfcParse::entity*)IFC2X3_types[326]); } const IfcParse::entity& Ifc2x3::IfcExternalReference::Class() { return *((IfcParse::entity*)IFC2X3_types[326]); } Ifc2x3::IfcExternalReference::IfcExternalReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcExternalReference::IfcExternalReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_ItemReference) {set_attribute_value(1, (*v2_ItemReference)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc2x3::IfcExternalReference::IfcExternalReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_ItemReference) {set_attribute_value(1, (*v2_ItemReference)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedHatchStyle @@ -7935,7 +7935,7 @@ Ifc2x3::IfcExternalReference::IfcExternalReference(boost::optional< std::string const IfcParse::entity& Ifc2x3::IfcExternallyDefinedHatchStyle::declaration() const { return *((IfcParse::entity*)IFC2X3_types[322]); } const IfcParse::entity& Ifc2x3::IfcExternallyDefinedHatchStyle::Class() { return *((IfcParse::entity*)IFC2X3_types[322]); } Ifc2x3::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc2x3::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_ItemReference) {set_attribute_value(1, (*v2_ItemReference)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc2x3::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_ItemReference) {set_attribute_value(1, (*v2_ItemReference)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedSurfaceStyle @@ -7943,7 +7943,7 @@ Ifc2x3::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::op const IfcParse::entity& Ifc2x3::IfcExternallyDefinedSurfaceStyle::declaration() const { return *((IfcParse::entity*)IFC2X3_types[323]); } const IfcParse::entity& Ifc2x3::IfcExternallyDefinedSurfaceStyle::Class() { return *((IfcParse::entity*)IFC2X3_types[323]); } Ifc2x3::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc2x3::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_ItemReference) {set_attribute_value(1, (*v2_ItemReference)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc2x3::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_ItemReference) {set_attribute_value(1, (*v2_ItemReference)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedSymbol @@ -7951,7 +7951,7 @@ Ifc2x3::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost const IfcParse::entity& Ifc2x3::IfcExternallyDefinedSymbol::declaration() const { return *((IfcParse::entity*)IFC2X3_types[324]); } const IfcParse::entity& Ifc2x3::IfcExternallyDefinedSymbol::Class() { return *((IfcParse::entity*)IFC2X3_types[324]); } Ifc2x3::IfcExternallyDefinedSymbol::IfcExternallyDefinedSymbol(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc2x3::IfcExternallyDefinedSymbol::IfcExternallyDefinedSymbol(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_ItemReference) {set_attribute_value(1, (*v2_ItemReference)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc2x3::IfcExternallyDefinedSymbol::IfcExternallyDefinedSymbol(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_ItemReference) {set_attribute_value(1, (*v2_ItemReference)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedTextFont @@ -7959,51 +7959,51 @@ Ifc2x3::IfcExternallyDefinedSymbol::IfcExternallyDefinedSymbol(boost::optional< const IfcParse::entity& Ifc2x3::IfcExternallyDefinedTextFont::declaration() const { return *((IfcParse::entity*)IFC2X3_types[325]); } const IfcParse::entity& Ifc2x3::IfcExternallyDefinedTextFont::Class() { return *((IfcParse::entity*)IFC2X3_types[325]); } Ifc2x3::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc2x3::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_ItemReference) {set_attribute_value(1, (*v2_ItemReference)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc2x3::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_ItemReference) {set_attribute_value(1, (*v2_ItemReference)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExtrudedAreaSolid -::Ifc2x3::IfcDirection* Ifc2x3::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcDirection>(true); } +::Ifc2x3::IfcDirection* Ifc2x3::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcDirection>(true); } void Ifc2x3::IfcExtrudedAreaSolid::setExtrudedDirection(::Ifc2x3::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc2x3::IfcExtrudedAreaSolid::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc2x3::IfcExtrudedAreaSolid::Depth() const { double v = get_attribute_value(3); return v; } void Ifc2x3::IfcExtrudedAreaSolid::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcExtrudedAreaSolid::declaration() const { return *((IfcParse::entity*)IFC2X3_types[327]); } const IfcParse::entity& Ifc2x3::IfcExtrudedAreaSolid::Class() { return *((IfcParse::entity*)IFC2X3_types[327]); } Ifc2x3::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc2x3::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(::Ifc2x3::IfcProfileDef* v1_SweptArea, ::Ifc2x3::IfcAxis2Placement3D* v2_Position, ::Ifc2x3::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } +Ifc2x3::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(::Ifc2x3::IfcProfileDef* v1_SweptArea, ::Ifc2x3::IfcAxis2Placement3D* v2_Position, ::Ifc2x3::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } // Function implementations for IfcFace -aggregate_of< ::Ifc2x3::IfcFaceBound >::ptr Ifc2x3::IfcFace::Bounds() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc2x3::IfcFaceBound >(); } +aggregate_of< ::Ifc2x3::IfcFaceBound >::ptr Ifc2x3::IfcFace::Bounds() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc2x3::IfcFaceBound >(); } void Ifc2x3::IfcFace::setBounds(aggregate_of< ::Ifc2x3::IfcFaceBound >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc2x3::IfcFace::declaration() const { return *((IfcParse::entity*)IFC2X3_types[328]); } const IfcParse::entity& Ifc2x3::IfcFace::Class() { return *((IfcParse::entity*)IFC2X3_types[328]); } Ifc2x3::IfcFace::IfcFace(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc2x3::IfcFace::IfcFace(aggregate_of< ::Ifc2x3::IfcFaceBound >::ptr v1_Bounds) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Bounds)->generalize());; populate_derived(); } +Ifc2x3::IfcFace::IfcFace(aggregate_of< ::Ifc2x3::IfcFaceBound >::ptr v1_Bounds) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Bounds)->generalize());; populate_derived(); } // Function implementations for IfcFaceBasedSurfaceModel -aggregate_of< ::Ifc2x3::IfcConnectedFaceSet >::ptr Ifc2x3::IfcFaceBasedSurfaceModel::FbsmFaces() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc2x3::IfcConnectedFaceSet >(); } +aggregate_of< ::Ifc2x3::IfcConnectedFaceSet >::ptr Ifc2x3::IfcFaceBasedSurfaceModel::FbsmFaces() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc2x3::IfcConnectedFaceSet >(); } void Ifc2x3::IfcFaceBasedSurfaceModel::setFbsmFaces(aggregate_of< ::Ifc2x3::IfcConnectedFaceSet >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc2x3::IfcFaceBasedSurfaceModel::declaration() const { return *((IfcParse::entity*)IFC2X3_types[329]); } const IfcParse::entity& Ifc2x3::IfcFaceBasedSurfaceModel::Class() { return *((IfcParse::entity*)IFC2X3_types[329]); } Ifc2x3::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc2x3::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(aggregate_of< ::Ifc2x3::IfcConnectedFaceSet >::ptr v1_FbsmFaces) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_FbsmFaces)->generalize());; populate_derived(); } +Ifc2x3::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(aggregate_of< ::Ifc2x3::IfcConnectedFaceSet >::ptr v1_FbsmFaces) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_FbsmFaces)->generalize());; populate_derived(); } // Function implementations for IfcFaceBound -::Ifc2x3::IfcLoop* Ifc2x3::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcLoop>(true); } +::Ifc2x3::IfcLoop* Ifc2x3::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcLoop>(true); } void Ifc2x3::IfcFaceBound::setBound(::Ifc2x3::IfcLoop* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -bool Ifc2x3::IfcFaceBound::Orientation() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc2x3::IfcFaceBound::Orientation() const { bool v = get_attribute_value(1); return v; } void Ifc2x3::IfcFaceBound::setOrientation(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcFaceBound::declaration() const { return *((IfcParse::entity*)IFC2X3_types[330]); } const IfcParse::entity& Ifc2x3::IfcFaceBound::Class() { return *((IfcParse::entity*)IFC2X3_types[330]); } Ifc2x3::IfcFaceBound::IfcFaceBound(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc2x3::IfcFaceBound::IfcFaceBound(::Ifc2x3::IfcLoop* v1_Bound, bool v2_Orientation) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } +Ifc2x3::IfcFaceBound::IfcFaceBound(::Ifc2x3::IfcLoop* v1_Bound, bool v2_Orientation) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } // Function implementations for IfcFaceOuterBound @@ -8011,19 +8011,19 @@ Ifc2x3::IfcFaceBound::IfcFaceBound(::Ifc2x3::IfcLoop* v1_Bound, bool v2_Orientat const IfcParse::entity& Ifc2x3::IfcFaceOuterBound::declaration() const { return *((IfcParse::entity*)IFC2X3_types[331]); } const IfcParse::entity& Ifc2x3::IfcFaceOuterBound::Class() { return *((IfcParse::entity*)IFC2X3_types[331]); } Ifc2x3::IfcFaceOuterBound::IfcFaceOuterBound(IfcEntityInstanceData&& e) : IfcFaceBound(std::move(e)) { } -Ifc2x3::IfcFaceOuterBound::IfcFaceOuterBound(::Ifc2x3::IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } +Ifc2x3::IfcFaceOuterBound::IfcFaceOuterBound(::Ifc2x3::IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } // Function implementations for IfcFaceSurface -::Ifc2x3::IfcSurface* Ifc2x3::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcSurface>(true); } +::Ifc2x3::IfcSurface* Ifc2x3::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcSurface>(true); } void Ifc2x3::IfcFaceSurface::setFaceSurface(::Ifc2x3::IfcSurface* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -bool Ifc2x3::IfcFaceSurface::SameSense() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc2x3::IfcFaceSurface::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc2x3::IfcFaceSurface::setSameSense(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc2x3::IfcFaceSurface::declaration() const { return *((IfcParse::entity*)IFC2X3_types[332]); } const IfcParse::entity& Ifc2x3::IfcFaceSurface::Class() { return *((IfcParse::entity*)IFC2X3_types[332]); } Ifc2x3::IfcFaceSurface::IfcFaceSurface(IfcEntityInstanceData&& e) : IfcFace(std::move(e)) { } -Ifc2x3::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc2x3::IfcFaceBound >::ptr v1_Bounds, ::Ifc2x3::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFace(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } +Ifc2x3::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc2x3::IfcFaceBound >::ptr v1_Bounds, ::Ifc2x3::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFace(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } // Function implementations for IfcFacetedBrep @@ -8031,47 +8031,47 @@ Ifc2x3::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc2x3::IfcFaceBound >::p const IfcParse::entity& Ifc2x3::IfcFacetedBrep::declaration() const { return *((IfcParse::entity*)IFC2X3_types[333]); } const IfcParse::entity& Ifc2x3::IfcFacetedBrep::Class() { return *((IfcParse::entity*)IFC2X3_types[333]); } Ifc2x3::IfcFacetedBrep::IfcFacetedBrep(IfcEntityInstanceData&& e) : IfcManifoldSolidBrep(std::move(e)) { } -Ifc2x3::IfcFacetedBrep::IfcFacetedBrep(::Ifc2x3::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcFacetedBrep::IfcFacetedBrep(::Ifc2x3::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcFacetedBrepWithVoids -aggregate_of< ::Ifc2x3::IfcClosedShell >::ptr Ifc2x3::IfcFacetedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc2x3::IfcClosedShell >(); } +aggregate_of< ::Ifc2x3::IfcClosedShell >::ptr Ifc2x3::IfcFacetedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc2x3::IfcClosedShell >(); } void Ifc2x3::IfcFacetedBrepWithVoids::setVoids(aggregate_of< ::Ifc2x3::IfcClosedShell >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcFacetedBrepWithVoids::declaration() const { return *((IfcParse::entity*)IFC2X3_types[334]); } const IfcParse::entity& Ifc2x3::IfcFacetedBrepWithVoids::Class() { return *((IfcParse::entity*)IFC2X3_types[334]); } Ifc2x3::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(IfcEntityInstanceData&& e) : IfcManifoldSolidBrep(std::move(e)) { } -Ifc2x3::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc2x3::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc2x3::IfcClosedShell >::ptr v2_Voids) : IfcManifoldSolidBrep(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } +Ifc2x3::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc2x3::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc2x3::IfcClosedShell >::ptr v2_Voids) : IfcManifoldSolidBrep(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } // Function implementations for IfcFailureConnectionCondition -boost::optional< double > Ifc2x3::IfcFailureConnectionCondition::TensionFailureX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc2x3::IfcFailureConnectionCondition::TensionFailureX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc2x3::IfcFailureConnectionCondition::setTensionFailureX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc2x3::IfcFailureConnectionCondition::TensionFailureY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc2x3::IfcFailureConnectionCondition::TensionFailureY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc2x3::IfcFailureConnectionCondition::setTensionFailureY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc2x3::IfcFailureConnectionCondition::TensionFailureZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc2x3::IfcFailureConnectionCondition::TensionFailureZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc2x3::IfcFailureConnectionCondition::setTensionFailureZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc2x3::IfcFailureConnectionCondition::CompressionFailureX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc2x3::IfcFailureConnectionCondition::CompressionFailureX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc2x3::IfcFailureConnectionCondition::setCompressionFailureX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc2x3::IfcFailureConnectionCondition::CompressionFailureY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc2x3::IfcFailureConnectionCondition::CompressionFailureY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc2x3::IfcFailureConnectionCondition::setCompressionFailureY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc2x3::IfcFailureConnectionCondition::CompressionFailureZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc2x3::IfcFailureConnectionCondition::CompressionFailureZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc2x3::IfcFailureConnectionCondition::setCompressionFailureZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc2x3::IfcFailureConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC2X3_types[335]); } const IfcParse::entity& Ifc2x3::IfcFailureConnectionCondition::Class() { return *((IfcParse::entity*)IFC2X3_types[335]); } Ifc2x3::IfcFailureConnectionCondition::IfcFailureConnectionCondition(IfcEntityInstanceData&& e) : IfcStructuralConnectionCondition(std::move(e)) { } -Ifc2x3::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; populate_derived(); } +Ifc2x3::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; populate_derived(); } // Function implementations for IfcFanType -::Ifc2x3::IfcFanTypeEnum::Value Ifc2x3::IfcFanType::PredefinedType() const { return ::Ifc2x3::IfcFanTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcFanTypeEnum::Value Ifc2x3::IfcFanType::PredefinedType() const { return ::Ifc2x3::IfcFanTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcFanType::setPredefinedType(::Ifc2x3::IfcFanTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcFanTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcFanType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[336]); } const IfcParse::entity& Ifc2x3::IfcFanType::Class() { return *((IfcParse::entity*)IFC2X3_types[336]); } Ifc2x3::IfcFanType::IfcFanType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(e)) { } -Ifc2x3::IfcFanType::IfcFanType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcFanTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcFanType::IfcFanType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcFanTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFastener @@ -8079,7 +8079,7 @@ Ifc2x3::IfcFanType::IfcFanType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistor const IfcParse::entity& Ifc2x3::IfcFastener::declaration() const { return *((IfcParse::entity*)IFC2X3_types[338]); } const IfcParse::entity& Ifc2x3::IfcFastener::Class() { return *((IfcParse::entity*)IFC2X3_types[338]); } Ifc2x3::IfcFastener::IfcFastener(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc2x3::IfcFastener::IfcFastener(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElementComponent(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcFastener::IfcFastener(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFastenerType @@ -8087,7 +8087,7 @@ Ifc2x3::IfcFastener::IfcFastener(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHist const IfcParse::entity& Ifc2x3::IfcFastenerType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[339]); } const IfcParse::entity& Ifc2x3::IfcFastenerType::Class() { return *((IfcParse::entity*)IFC2X3_types[339]); } Ifc2x3::IfcFastenerType::IfcFastenerType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc2x3::IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc2x3::IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFeatureElement @@ -8095,7 +8095,7 @@ Ifc2x3::IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, ::Ifc2x3::IfcO const IfcParse::entity& Ifc2x3::IfcFeatureElement::declaration() const { return *((IfcParse::entity*)IFC2X3_types[340]); } const IfcParse::entity& Ifc2x3::IfcFeatureElement::Class() { return *((IfcParse::entity*)IFC2X3_types[340]); } Ifc2x3::IfcFeatureElement::IfcFeatureElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc2x3::IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFeatureElementAddition @@ -8104,7 +8104,7 @@ Ifc2x3::IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, ::Ifc2x3:: const IfcParse::entity& Ifc2x3::IfcFeatureElementAddition::declaration() const { return *((IfcParse::entity*)IFC2X3_types[341]); } const IfcParse::entity& Ifc2x3::IfcFeatureElementAddition::Class() { return *((IfcParse::entity*)IFC2X3_types[341]); } Ifc2x3::IfcFeatureElementAddition::IfcFeatureElementAddition(IfcEntityInstanceData&& e) : IfcFeatureElement(std::move(e)) { } -Ifc2x3::IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFeatureElementSubtraction @@ -8113,79 +8113,79 @@ Ifc2x3::IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_Glob const IfcParse::entity& Ifc2x3::IfcFeatureElementSubtraction::declaration() const { return *((IfcParse::entity*)IFC2X3_types[342]); } const IfcParse::entity& Ifc2x3::IfcFeatureElementSubtraction::Class() { return *((IfcParse::entity*)IFC2X3_types[342]); } Ifc2x3::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntityInstanceData&& e) : IfcFeatureElement(std::move(e)) { } -Ifc2x3::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFillAreaStyle -aggregate_of< ::Ifc2x3::IfcFillStyleSelect >::ptr Ifc2x3::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc2x3::IfcFillStyleSelect >(); } +aggregate_of< ::Ifc2x3::IfcFillStyleSelect >::ptr Ifc2x3::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc2x3::IfcFillStyleSelect >(); } void Ifc2x3::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc2x3::IfcFillStyleSelect >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcFillAreaStyle::declaration() const { return *((IfcParse::entity*)IFC2X3_types[343]); } const IfcParse::entity& Ifc2x3::IfcFillAreaStyle::Class() { return *((IfcParse::entity*)IFC2X3_types[343]); } Ifc2x3::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc2x3::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc2x3::IfcFillStyleSelect >::ptr v2_FillStyles) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_FillStyles)->generalize());; populate_derived(); } +Ifc2x3::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc2x3::IfcFillStyleSelect >::ptr v2_FillStyles) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_FillStyles)->generalize());; populate_derived(); } // Function implementations for IfcFillAreaStyleHatching -::Ifc2x3::IfcCurveStyle* Ifc2x3::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcCurveStyle>(true); } +::Ifc2x3::IfcCurveStyle* Ifc2x3::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcCurveStyle>(true); } void Ifc2x3::IfcFillAreaStyleHatching::setHatchLineAppearance(::Ifc2x3::IfcCurveStyle* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcHatchLineDistanceSelect* Ifc2x3::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcHatchLineDistanceSelect>(true); } +::Ifc2x3::IfcHatchLineDistanceSelect* Ifc2x3::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcHatchLineDistanceSelect>(true); } void Ifc2x3::IfcFillAreaStyleHatching::setStartOfNextHatchLine(::Ifc2x3::IfcHatchLineDistanceSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc2x3::IfcCartesianPoint* Ifc2x3::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcCartesianPoint>(true); } +::Ifc2x3::IfcCartesianPoint* Ifc2x3::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcCartesianPoint>(true); } void Ifc2x3::IfcFillAreaStyleHatching::setPointOfReferenceHatchLine(::Ifc2x3::IfcCartesianPoint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcCartesianPoint* Ifc2x3::IfcFillAreaStyleHatching::PatternStart() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc2x3::IfcCartesianPoint>(true); } +::Ifc2x3::IfcCartesianPoint* Ifc2x3::IfcFillAreaStyleHatching::PatternStart() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc2x3::IfcCartesianPoint>(true); } void Ifc2x3::IfcFillAreaStyleHatching::setPatternStart(::Ifc2x3::IfcCartesianPoint* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -double Ifc2x3::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = data_.get_attribute_value(4); return v; } +double Ifc2x3::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = get_attribute_value(4); return v; } void Ifc2x3::IfcFillAreaStyleHatching::setHatchLineAngle(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc2x3::IfcFillAreaStyleHatching::declaration() const { return *((IfcParse::entity*)IFC2X3_types[344]); } const IfcParse::entity& Ifc2x3::IfcFillAreaStyleHatching::Class() { return *((IfcParse::entity*)IFC2X3_types[344]); } Ifc2x3::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc2x3::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(::Ifc2x3::IfcCurveStyle* v1_HatchLineAppearance, ::Ifc2x3::IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, ::Ifc2x3::IfcCartesianPoint* v3_PointOfReferenceHatchLine, ::Ifc2x3::IfcCartesianPoint* v4_PatternStart, double v5_HatchLineAngle) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_HatchLineAppearance ? v1_HatchLineAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_StartOfNextHatchLine ? v2_StartOfNextHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PointOfReferenceHatchLine ? v3_PointOfReferenceHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PatternStart ? v4_PatternStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_HatchLineAngle));; populate_derived(); } +Ifc2x3::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(::Ifc2x3::IfcCurveStyle* v1_HatchLineAppearance, ::Ifc2x3::IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, ::Ifc2x3::IfcCartesianPoint* v3_PointOfReferenceHatchLine, ::Ifc2x3::IfcCartesianPoint* v4_PatternStart, double v5_HatchLineAngle) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_HatchLineAppearance ? v1_HatchLineAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_StartOfNextHatchLine ? v2_StartOfNextHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PointOfReferenceHatchLine ? v3_PointOfReferenceHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PatternStart ? v4_PatternStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_HatchLineAngle));; populate_derived(); } // Function implementations for IfcFillAreaStyleTileSymbolWithStyle -::Ifc2x3::IfcAnnotationSymbolOccurrence* Ifc2x3::IfcFillAreaStyleTileSymbolWithStyle::Symbol() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcAnnotationSymbolOccurrence>(true); } +::Ifc2x3::IfcAnnotationSymbolOccurrence* Ifc2x3::IfcFillAreaStyleTileSymbolWithStyle::Symbol() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcAnnotationSymbolOccurrence>(true); } void Ifc2x3::IfcFillAreaStyleTileSymbolWithStyle::setSymbol(::Ifc2x3::IfcAnnotationSymbolOccurrence* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc2x3::IfcFillAreaStyleTileSymbolWithStyle::declaration() const { return *((IfcParse::entity*)IFC2X3_types[347]); } const IfcParse::entity& Ifc2x3::IfcFillAreaStyleTileSymbolWithStyle::Class() { return *((IfcParse::entity*)IFC2X3_types[347]); } Ifc2x3::IfcFillAreaStyleTileSymbolWithStyle::IfcFillAreaStyleTileSymbolWithStyle(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc2x3::IfcFillAreaStyleTileSymbolWithStyle::IfcFillAreaStyleTileSymbolWithStyle(::Ifc2x3::IfcAnnotationSymbolOccurrence* v1_Symbol) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Symbol ? v1_Symbol->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcFillAreaStyleTileSymbolWithStyle::IfcFillAreaStyleTileSymbolWithStyle(::Ifc2x3::IfcAnnotationSymbolOccurrence* v1_Symbol) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Symbol ? v1_Symbol->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcFillAreaStyleTiles -::Ifc2x3::IfcOneDirectionRepeatFactor* Ifc2x3::IfcFillAreaStyleTiles::TilingPattern() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcOneDirectionRepeatFactor>(true); } +::Ifc2x3::IfcOneDirectionRepeatFactor* Ifc2x3::IfcFillAreaStyleTiles::TilingPattern() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcOneDirectionRepeatFactor>(true); } void Ifc2x3::IfcFillAreaStyleTiles::setTilingPattern(::Ifc2x3::IfcOneDirectionRepeatFactor* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc2x3::IfcFillAreaStyleTileShapeSelect >::ptr Ifc2x3::IfcFillAreaStyleTiles::Tiles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc2x3::IfcFillAreaStyleTileShapeSelect >(); } +aggregate_of< ::Ifc2x3::IfcFillAreaStyleTileShapeSelect >::ptr Ifc2x3::IfcFillAreaStyleTiles::Tiles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc2x3::IfcFillAreaStyleTileShapeSelect >(); } void Ifc2x3::IfcFillAreaStyleTiles::setTiles(aggregate_of< ::Ifc2x3::IfcFillAreaStyleTileShapeSelect >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -double Ifc2x3::IfcFillAreaStyleTiles::TilingScale() const { double v = data_.get_attribute_value(2); return v; } +double Ifc2x3::IfcFillAreaStyleTiles::TilingScale() const { double v = get_attribute_value(2); return v; } void Ifc2x3::IfcFillAreaStyleTiles::setTilingScale(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc2x3::IfcFillAreaStyleTiles::declaration() const { return *((IfcParse::entity*)IFC2X3_types[345]); } const IfcParse::entity& Ifc2x3::IfcFillAreaStyleTiles::Class() { return *((IfcParse::entity*)IFC2X3_types[345]); } Ifc2x3::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc2x3::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(::Ifc2x3::IfcOneDirectionRepeatFactor* v1_TilingPattern, aggregate_of< ::Ifc2x3::IfcFillAreaStyleTileShapeSelect >::ptr v2_Tiles, double v3_TilingScale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_TilingPattern ? v1_TilingPattern->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Tiles)->generalize());set_attribute_value(2, (v3_TilingScale));; populate_derived(); } +Ifc2x3::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(::Ifc2x3::IfcOneDirectionRepeatFactor* v1_TilingPattern, aggregate_of< ::Ifc2x3::IfcFillAreaStyleTileShapeSelect >::ptr v2_Tiles, double v3_TilingScale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_TilingPattern ? v1_TilingPattern->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Tiles)->generalize());set_attribute_value(2, (v3_TilingScale));; populate_derived(); } // Function implementations for IfcFilterType -::Ifc2x3::IfcFilterTypeEnum::Value Ifc2x3::IfcFilterType::PredefinedType() const { return ::Ifc2x3::IfcFilterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcFilterTypeEnum::Value Ifc2x3::IfcFilterType::PredefinedType() const { return ::Ifc2x3::IfcFilterTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcFilterType::setPredefinedType(::Ifc2x3::IfcFilterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcFilterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcFilterType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[349]); } const IfcParse::entity& Ifc2x3::IfcFilterType::Class() { return *((IfcParse::entity*)IFC2X3_types[349]); } Ifc2x3::IfcFilterType::IfcFilterType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc2x3::IfcFilterType::IfcFilterType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcFilterTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcFilterType::IfcFilterType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcFilterTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFireSuppressionTerminalType -::Ifc2x3::IfcFireSuppressionTerminalTypeEnum::Value Ifc2x3::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc2x3::IfcFireSuppressionTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcFireSuppressionTerminalTypeEnum::Value Ifc2x3::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc2x3::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcFireSuppressionTerminalType::setPredefinedType(::Ifc2x3::IfcFireSuppressionTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcFireSuppressionTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcFireSuppressionTerminalType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[351]); } const IfcParse::entity& Ifc2x3::IfcFireSuppressionTerminalType::Class() { return *((IfcParse::entity*)IFC2X3_types[351]); } Ifc2x3::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc2x3::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFlowController @@ -8193,7 +8193,7 @@ Ifc2x3::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::stri const IfcParse::entity& Ifc2x3::IfcFlowController::declaration() const { return *((IfcParse::entity*)IFC2X3_types[353]); } const IfcParse::entity& Ifc2x3::IfcFlowController::Class() { return *((IfcParse::entity*)IFC2X3_types[353]); } Ifc2x3::IfcFlowController::IfcFlowController(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc2x3::IfcFlowController::IfcFlowController(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcFlowController::IfcFlowController(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowControllerType @@ -8201,7 +8201,7 @@ Ifc2x3::IfcFlowController::IfcFlowController(std::string v1_GlobalId, ::Ifc2x3:: const IfcParse::entity& Ifc2x3::IfcFlowControllerType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[354]); } const IfcParse::entity& Ifc2x3::IfcFlowControllerType::Class() { return *((IfcParse::entity*)IFC2X3_types[354]); } Ifc2x3::IfcFlowControllerType::IfcFlowControllerType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc2x3::IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc2x3::IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowFitting @@ -8209,7 +8209,7 @@ Ifc2x3::IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId, :: const IfcParse::entity& Ifc2x3::IfcFlowFitting::declaration() const { return *((IfcParse::entity*)IFC2X3_types[356]); } const IfcParse::entity& Ifc2x3::IfcFlowFitting::Class() { return *((IfcParse::entity*)IFC2X3_types[356]); } Ifc2x3::IfcFlowFitting::IfcFlowFitting(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc2x3::IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowFittingType @@ -8217,27 +8217,27 @@ Ifc2x3::IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, ::Ifc2x3::IfcOwn const IfcParse::entity& Ifc2x3::IfcFlowFittingType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[357]); } const IfcParse::entity& Ifc2x3::IfcFlowFittingType::Class() { return *((IfcParse::entity*)IFC2X3_types[357]); } Ifc2x3::IfcFlowFittingType::IfcFlowFittingType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc2x3::IfcFlowFittingType::IfcFlowFittingType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc2x3::IfcFlowFittingType::IfcFlowFittingType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowInstrumentType -::Ifc2x3::IfcFlowInstrumentTypeEnum::Value Ifc2x3::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc2x3::IfcFlowInstrumentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcFlowInstrumentTypeEnum::Value Ifc2x3::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc2x3::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcFlowInstrumentType::setPredefinedType(::Ifc2x3::IfcFlowInstrumentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcFlowInstrumentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcFlowInstrumentType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[358]); } const IfcParse::entity& Ifc2x3::IfcFlowInstrumentType::Class() { return *((IfcParse::entity*)IFC2X3_types[358]); } Ifc2x3::IfcFlowInstrumentType::IfcFlowInstrumentType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc2x3::IfcFlowInstrumentType::IfcFlowInstrumentType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcFlowInstrumentType::IfcFlowInstrumentType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFlowMeterType -::Ifc2x3::IfcFlowMeterTypeEnum::Value Ifc2x3::IfcFlowMeterType::PredefinedType() const { return ::Ifc2x3::IfcFlowMeterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcFlowMeterTypeEnum::Value Ifc2x3::IfcFlowMeterType::PredefinedType() const { return ::Ifc2x3::IfcFlowMeterTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcFlowMeterType::setPredefinedType(::Ifc2x3::IfcFlowMeterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcFlowMeterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcFlowMeterType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[360]); } const IfcParse::entity& Ifc2x3::IfcFlowMeterType::Class() { return *((IfcParse::entity*)IFC2X3_types[360]); } Ifc2x3::IfcFlowMeterType::IfcFlowMeterType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc2x3::IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcFlowMeterTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcFlowMeterTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFlowMovingDevice @@ -8245,7 +8245,7 @@ Ifc2x3::IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, ::Ifc2x3::If const IfcParse::entity& Ifc2x3::IfcFlowMovingDevice::declaration() const { return *((IfcParse::entity*)IFC2X3_types[362]); } const IfcParse::entity& Ifc2x3::IfcFlowMovingDevice::Class() { return *((IfcParse::entity*)IFC2X3_types[362]); } Ifc2x3::IfcFlowMovingDevice::IfcFlowMovingDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc2x3::IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowMovingDeviceType @@ -8253,7 +8253,7 @@ Ifc2x3::IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, ::Ifc2 const IfcParse::entity& Ifc2x3::IfcFlowMovingDeviceType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[363]); } const IfcParse::entity& Ifc2x3::IfcFlowMovingDeviceType::Class() { return *((IfcParse::entity*)IFC2X3_types[363]); } Ifc2x3::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc2x3::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc2x3::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowSegment @@ -8261,7 +8261,7 @@ Ifc2x3::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_GlobalId const IfcParse::entity& Ifc2x3::IfcFlowSegment::declaration() const { return *((IfcParse::entity*)IFC2X3_types[364]); } const IfcParse::entity& Ifc2x3::IfcFlowSegment::Class() { return *((IfcParse::entity*)IFC2X3_types[364]); } Ifc2x3::IfcFlowSegment::IfcFlowSegment(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc2x3::IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowSegmentType @@ -8269,7 +8269,7 @@ Ifc2x3::IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, ::Ifc2x3::IfcOwn const IfcParse::entity& Ifc2x3::IfcFlowSegmentType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[365]); } const IfcParse::entity& Ifc2x3::IfcFlowSegmentType::Class() { return *((IfcParse::entity*)IFC2X3_types[365]); } Ifc2x3::IfcFlowSegmentType::IfcFlowSegmentType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc2x3::IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc2x3::IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowStorageDevice @@ -8277,7 +8277,7 @@ Ifc2x3::IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, ::Ifc2x3 const IfcParse::entity& Ifc2x3::IfcFlowStorageDevice::declaration() const { return *((IfcParse::entity*)IFC2X3_types[366]); } const IfcParse::entity& Ifc2x3::IfcFlowStorageDevice::Class() { return *((IfcParse::entity*)IFC2X3_types[366]); } Ifc2x3::IfcFlowStorageDevice::IfcFlowStorageDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc2x3::IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowStorageDeviceType @@ -8285,7 +8285,7 @@ Ifc2x3::IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc2x3::IfcFlowStorageDeviceType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[367]); } const IfcParse::entity& Ifc2x3::IfcFlowStorageDeviceType::Class() { return *((IfcParse::entity*)IFC2X3_types[367]); } Ifc2x3::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc2x3::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc2x3::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowTerminal @@ -8293,7 +8293,7 @@ Ifc2x3::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_Global const IfcParse::entity& Ifc2x3::IfcFlowTerminal::declaration() const { return *((IfcParse::entity*)IFC2X3_types[368]); } const IfcParse::entity& Ifc2x3::IfcFlowTerminal::Class() { return *((IfcParse::entity*)IFC2X3_types[368]); } Ifc2x3::IfcFlowTerminal::IfcFlowTerminal(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc2x3::IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowTerminalType @@ -8301,7 +8301,7 @@ Ifc2x3::IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, ::Ifc2x3::IfcO const IfcParse::entity& Ifc2x3::IfcFlowTerminalType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[369]); } const IfcParse::entity& Ifc2x3::IfcFlowTerminalType::Class() { return *((IfcParse::entity*)IFC2X3_types[369]); } Ifc2x3::IfcFlowTerminalType::IfcFlowTerminalType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc2x3::IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc2x3::IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowTreatmentDevice @@ -8309,7 +8309,7 @@ Ifc2x3::IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, ::Ifc2 const IfcParse::entity& Ifc2x3::IfcFlowTreatmentDevice::declaration() const { return *((IfcParse::entity*)IFC2X3_types[370]); } const IfcParse::entity& Ifc2x3::IfcFlowTreatmentDevice::Class() { return *((IfcParse::entity*)IFC2X3_types[370]); } Ifc2x3::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc2x3::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowTreatmentDeviceType @@ -8317,71 +8317,71 @@ Ifc2x3::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_GlobalId, const IfcParse::entity& Ifc2x3::IfcFlowTreatmentDeviceType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[371]); } const IfcParse::entity& Ifc2x3::IfcFlowTreatmentDeviceType::Class() { return *((IfcParse::entity*)IFC2X3_types[371]); } Ifc2x3::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc2x3::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc2x3::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFluidFlowProperties -::Ifc2x3::IfcPropertySourceEnum::Value Ifc2x3::IfcFluidFlowProperties::PropertySource() const { return ::Ifc2x3::IfcPropertySourceEnum::FromString(data_.get_attribute_value(4)); } +::Ifc2x3::IfcPropertySourceEnum::Value Ifc2x3::IfcFluidFlowProperties::PropertySource() const { return ::Ifc2x3::IfcPropertySourceEnum::FromString(get_attribute_value(4)); } void Ifc2x3::IfcFluidFlowProperties::setPropertySource(::Ifc2x3::IfcPropertySourceEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc2x3::IfcPropertySourceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcFluidFlowProperties::FlowConditionTimeSeries() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcTimeSeries>(true); } +::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcFluidFlowProperties::FlowConditionTimeSeries() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcTimeSeries>(true); } void Ifc2x3::IfcFluidFlowProperties::setFlowConditionTimeSeries(::Ifc2x3::IfcTimeSeries* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcFluidFlowProperties::VelocityTimeSeries() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc2x3::IfcTimeSeries>(true); } +::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcFluidFlowProperties::VelocityTimeSeries() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc2x3::IfcTimeSeries>(true); } void Ifc2x3::IfcFluidFlowProperties::setVelocityTimeSeries(::Ifc2x3::IfcTimeSeries* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcFluidFlowProperties::FlowrateTimeSeries() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc2x3::IfcTimeSeries>(true); } +::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcFluidFlowProperties::FlowrateTimeSeries() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc2x3::IfcTimeSeries>(true); } void Ifc2x3::IfcFluidFlowProperties::setFlowrateTimeSeries(::Ifc2x3::IfcTimeSeries* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc2x3::IfcMaterial* Ifc2x3::IfcFluidFlowProperties::Fluid() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc2x3::IfcMaterial>(true); } +::Ifc2x3::IfcMaterial* Ifc2x3::IfcFluidFlowProperties::Fluid() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc2x3::IfcMaterial>(true); } void Ifc2x3::IfcFluidFlowProperties::setFluid(::Ifc2x3::IfcMaterial* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcFluidFlowProperties::PressureTimeSeries() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc2x3::IfcTimeSeries>(true); } +::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcFluidFlowProperties::PressureTimeSeries() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc2x3::IfcTimeSeries>(true); } void Ifc2x3::IfcFluidFlowProperties::setPressureTimeSeries(::Ifc2x3::IfcTimeSeries* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc2x3::IfcFluidFlowProperties::UserDefinedPropertySource() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc2x3::IfcFluidFlowProperties::UserDefinedPropertySource() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc2x3::IfcFluidFlowProperties::setUserDefinedPropertySource(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc2x3::IfcFluidFlowProperties::TemperatureSingleValue() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc2x3::IfcFluidFlowProperties::TemperatureSingleValue() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc2x3::IfcFluidFlowProperties::setTemperatureSingleValue(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc2x3::IfcFluidFlowProperties::WetBulbTemperatureSingleValue() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc2x3::IfcFluidFlowProperties::WetBulbTemperatureSingleValue() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc2x3::IfcFluidFlowProperties::setWetBulbTemperatureSingleValue(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcFluidFlowProperties::WetBulbTemperatureTimeSeries() const { if(data_.get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(13)))->as<::Ifc2x3::IfcTimeSeries>(true); } +::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcFluidFlowProperties::WetBulbTemperatureTimeSeries() const { if(get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(13)))->as<::Ifc2x3::IfcTimeSeries>(true); } void Ifc2x3::IfcFluidFlowProperties::setWetBulbTemperatureTimeSeries(::Ifc2x3::IfcTimeSeries* v) { set_attribute_value(13, v->as());if constexpr (false)unset_attribute_value(13); } -::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcFluidFlowProperties::TemperatureTimeSeries() const { if(data_.get_attribute_value(14).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(14)))->as<::Ifc2x3::IfcTimeSeries>(true); } +::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcFluidFlowProperties::TemperatureTimeSeries() const { if(get_attribute_value(14).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(14)))->as<::Ifc2x3::IfcTimeSeries>(true); } void Ifc2x3::IfcFluidFlowProperties::setTemperatureTimeSeries(::Ifc2x3::IfcTimeSeries* v) { set_attribute_value(14, v->as());if constexpr (false)unset_attribute_value(14); } -::Ifc2x3::IfcDerivedMeasureValue* Ifc2x3::IfcFluidFlowProperties::FlowrateSingleValue() const { if(data_.get_attribute_value(15).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(15)))->as<::Ifc2x3::IfcDerivedMeasureValue>(true); } +::Ifc2x3::IfcDerivedMeasureValue* Ifc2x3::IfcFluidFlowProperties::FlowrateSingleValue() const { if(get_attribute_value(15).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(15)))->as<::Ifc2x3::IfcDerivedMeasureValue>(true); } void Ifc2x3::IfcFluidFlowProperties::setFlowrateSingleValue(::Ifc2x3::IfcDerivedMeasureValue* v) { set_attribute_value(15, v->as());if constexpr (false)unset_attribute_value(15); } -boost::optional< double > Ifc2x3::IfcFluidFlowProperties::FlowConditionSingleValue() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc2x3::IfcFluidFlowProperties::FlowConditionSingleValue() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc2x3::IfcFluidFlowProperties::setFlowConditionSingleValue(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< double > Ifc2x3::IfcFluidFlowProperties::VelocitySingleValue() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } double v = data_.get_attribute_value(17); return v; } +boost::optional< double > Ifc2x3::IfcFluidFlowProperties::VelocitySingleValue() const { if(get_attribute_value(17).isNull()) { return boost::none; } double v = get_attribute_value(17); return v; } void Ifc2x3::IfcFluidFlowProperties::setVelocitySingleValue(boost::optional< double > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } -boost::optional< double > Ifc2x3::IfcFluidFlowProperties::PressureSingleValue() const { if(data_.get_attribute_value(18).isNull()) { return boost::none; } double v = data_.get_attribute_value(18); return v; } +boost::optional< double > Ifc2x3::IfcFluidFlowProperties::PressureSingleValue() const { if(get_attribute_value(18).isNull()) { return boost::none; } double v = get_attribute_value(18); return v; } void Ifc2x3::IfcFluidFlowProperties::setPressureSingleValue(boost::optional< double > v) { if (v) {set_attribute_value(18, *v);} else {unset_attribute_value(18);} } const IfcParse::entity& Ifc2x3::IfcFluidFlowProperties::declaration() const { return *((IfcParse::entity*)IFC2X3_types[372]); } const IfcParse::entity& Ifc2x3::IfcFluidFlowProperties::Class() { return *((IfcParse::entity*)IFC2X3_types[372]); } Ifc2x3::IfcFluidFlowProperties::IfcFluidFlowProperties(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc2x3::IfcFluidFlowProperties::IfcFluidFlowProperties(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcPropertySourceEnum::Value v5_PropertySource, ::Ifc2x3::IfcTimeSeries* v6_FlowConditionTimeSeries, ::Ifc2x3::IfcTimeSeries* v7_VelocityTimeSeries, ::Ifc2x3::IfcTimeSeries* v8_FlowrateTimeSeries, ::Ifc2x3::IfcMaterial* v9_Fluid, ::Ifc2x3::IfcTimeSeries* v10_PressureTimeSeries, boost::optional< std::string > v11_UserDefinedPropertySource, boost::optional< double > v12_TemperatureSingleValue, boost::optional< double > v13_WetBulbTemperatureSingleValue, ::Ifc2x3::IfcTimeSeries* v14_WetBulbTemperatureTimeSeries, ::Ifc2x3::IfcTimeSeries* v15_TemperatureTimeSeries, ::Ifc2x3::IfcDerivedMeasureValue* v16_FlowrateSingleValue, boost::optional< double > v17_FlowConditionSingleValue, boost::optional< double > v18_VelocitySingleValue, boost::optional< double > v19_PressureSingleValue) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(19))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc2x3::IfcPropertySourceEnum::Class(),(size_t)v5_PropertySource)));set_attribute_value(5, v6_FlowConditionTimeSeries ? v6_FlowConditionTimeSeries->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_VelocityTimeSeries ? v7_VelocityTimeSeries->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_FlowrateTimeSeries ? v8_FlowrateTimeSeries->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_Fluid ? v9_Fluid->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_PressureTimeSeries ? v10_PressureTimeSeries->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_UserDefinedPropertySource) {set_attribute_value(10, (*v11_UserDefinedPropertySource)); } if (v12_TemperatureSingleValue) {set_attribute_value(11, (*v12_TemperatureSingleValue)); } if (v13_WetBulbTemperatureSingleValue) {set_attribute_value(12, (*v13_WetBulbTemperatureSingleValue)); }set_attribute_value(13, v14_WetBulbTemperatureTimeSeries ? v14_WetBulbTemperatureTimeSeries->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(14, v15_TemperatureTimeSeries ? v15_TemperatureTimeSeries->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(15, v16_FlowrateSingleValue ? v16_FlowrateSingleValue->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v17_FlowConditionSingleValue) {set_attribute_value(16, (*v17_FlowConditionSingleValue)); } if (v18_VelocitySingleValue) {set_attribute_value(17, (*v18_VelocitySingleValue)); } if (v19_PressureSingleValue) {set_attribute_value(18, (*v19_PressureSingleValue)); }; populate_derived(); } +Ifc2x3::IfcFluidFlowProperties::IfcFluidFlowProperties(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcPropertySourceEnum::Value v5_PropertySource, ::Ifc2x3::IfcTimeSeries* v6_FlowConditionTimeSeries, ::Ifc2x3::IfcTimeSeries* v7_VelocityTimeSeries, ::Ifc2x3::IfcTimeSeries* v8_FlowrateTimeSeries, ::Ifc2x3::IfcMaterial* v9_Fluid, ::Ifc2x3::IfcTimeSeries* v10_PressureTimeSeries, boost::optional< std::string > v11_UserDefinedPropertySource, boost::optional< double > v12_TemperatureSingleValue, boost::optional< double > v13_WetBulbTemperatureSingleValue, ::Ifc2x3::IfcTimeSeries* v14_WetBulbTemperatureTimeSeries, ::Ifc2x3::IfcTimeSeries* v15_TemperatureTimeSeries, ::Ifc2x3::IfcDerivedMeasureValue* v16_FlowrateSingleValue, boost::optional< double > v17_FlowConditionSingleValue, boost::optional< double > v18_VelocitySingleValue, boost::optional< double > v19_PressureSingleValue) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(19))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc2x3::IfcPropertySourceEnum::Class(),(size_t)v5_PropertySource)));set_attribute_value(5, v6_FlowConditionTimeSeries ? v6_FlowConditionTimeSeries->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_VelocityTimeSeries ? v7_VelocityTimeSeries->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_FlowrateTimeSeries ? v8_FlowrateTimeSeries->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_Fluid ? v9_Fluid->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_PressureTimeSeries ? v10_PressureTimeSeries->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_UserDefinedPropertySource) {set_attribute_value(10, (*v11_UserDefinedPropertySource)); } if (v12_TemperatureSingleValue) {set_attribute_value(11, (*v12_TemperatureSingleValue)); } if (v13_WetBulbTemperatureSingleValue) {set_attribute_value(12, (*v13_WetBulbTemperatureSingleValue)); }set_attribute_value(13, v14_WetBulbTemperatureTimeSeries ? v14_WetBulbTemperatureTimeSeries->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(14, v15_TemperatureTimeSeries ? v15_TemperatureTimeSeries->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(15, v16_FlowrateSingleValue ? v16_FlowrateSingleValue->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v17_FlowConditionSingleValue) {set_attribute_value(16, (*v17_FlowConditionSingleValue)); } if (v18_VelocitySingleValue) {set_attribute_value(17, (*v18_VelocitySingleValue)); } if (v19_PressureSingleValue) {set_attribute_value(18, (*v19_PressureSingleValue)); }; populate_derived(); } // Function implementations for IfcFooting -::Ifc2x3::IfcFootingTypeEnum::Value Ifc2x3::IfcFooting::PredefinedType() const { return ::Ifc2x3::IfcFootingTypeEnum::FromString(data_.get_attribute_value(8)); } +::Ifc2x3::IfcFootingTypeEnum::Value Ifc2x3::IfcFooting::PredefinedType() const { return ::Ifc2x3::IfcFootingTypeEnum::FromString(get_attribute_value(8)); } void Ifc2x3::IfcFooting::setPredefinedType(::Ifc2x3::IfcFootingTypeEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc2x3::IfcFootingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc2x3::IfcFooting::declaration() const { return *((IfcParse::entity*)IFC2X3_types[376]); } const IfcParse::entity& Ifc2x3::IfcFooting::Class() { return *((IfcParse::entity*)IFC2X3_types[376]); } Ifc2x3::IfcFooting::IfcFooting(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc2x3::IfcFooting::IfcFooting(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, ::Ifc2x3::IfcFootingTypeEnum::Value v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcFootingTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcFooting::IfcFooting(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, ::Ifc2x3::IfcFootingTypeEnum::Value v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcFootingTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } // Function implementations for IfcFuelProperties -boost::optional< double > Ifc2x3::IfcFuelProperties::CombustionTemperature() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc2x3::IfcFuelProperties::CombustionTemperature() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc2x3::IfcFuelProperties::setCombustionTemperature(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc2x3::IfcFuelProperties::CarbonContent() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc2x3::IfcFuelProperties::CarbonContent() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc2x3::IfcFuelProperties::setCarbonContent(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc2x3::IfcFuelProperties::LowerHeatingValue() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc2x3::IfcFuelProperties::LowerHeatingValue() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc2x3::IfcFuelProperties::setLowerHeatingValue(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc2x3::IfcFuelProperties::HigherHeatingValue() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc2x3::IfcFuelProperties::HigherHeatingValue() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc2x3::IfcFuelProperties::setHigherHeatingValue(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc2x3::IfcFuelProperties::declaration() const { return *((IfcParse::entity*)IFC2X3_types[380]); } const IfcParse::entity& Ifc2x3::IfcFuelProperties::Class() { return *((IfcParse::entity*)IFC2X3_types[380]); } Ifc2x3::IfcFuelProperties::IfcFuelProperties(IfcEntityInstanceData&& e) : IfcMaterialProperties(std::move(e)) { } -Ifc2x3::IfcFuelProperties::IfcFuelProperties(::Ifc2x3::IfcMaterial* v1_Material, boost::optional< double > v2_CombustionTemperature, boost::optional< double > v3_CarbonContent, boost::optional< double > v4_LowerHeatingValue, boost::optional< double > v5_HigherHeatingValue) : IfcMaterialProperties(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CombustionTemperature) {set_attribute_value(1, (*v2_CombustionTemperature)); } if (v3_CarbonContent) {set_attribute_value(2, (*v3_CarbonContent)); } if (v4_LowerHeatingValue) {set_attribute_value(3, (*v4_LowerHeatingValue)); } if (v5_HigherHeatingValue) {set_attribute_value(4, (*v5_HigherHeatingValue)); }; populate_derived(); } +Ifc2x3::IfcFuelProperties::IfcFuelProperties(::Ifc2x3::IfcMaterial* v1_Material, boost::optional< double > v2_CombustionTemperature, boost::optional< double > v3_CarbonContent, boost::optional< double > v4_LowerHeatingValue, boost::optional< double > v5_HigherHeatingValue) : IfcMaterialProperties(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CombustionTemperature) {set_attribute_value(1, (*v2_CombustionTemperature)); } if (v3_CarbonContent) {set_attribute_value(2, (*v3_CarbonContent)); } if (v4_LowerHeatingValue) {set_attribute_value(3, (*v4_LowerHeatingValue)); } if (v5_HigherHeatingValue) {set_attribute_value(4, (*v5_HigherHeatingValue)); }; populate_derived(); } // Function implementations for IfcFurnishingElement @@ -8389,7 +8389,7 @@ Ifc2x3::IfcFuelProperties::IfcFuelProperties(::Ifc2x3::IfcMaterial* v1_Material, const IfcParse::entity& Ifc2x3::IfcFurnishingElement::declaration() const { return *((IfcParse::entity*)IFC2X3_types[381]); } const IfcParse::entity& Ifc2x3::IfcFurnishingElement::Class() { return *((IfcParse::entity*)IFC2X3_types[381]); } Ifc2x3::IfcFurnishingElement::IfcFurnishingElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc2x3::IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFurnishingElementType @@ -8397,7 +8397,7 @@ Ifc2x3::IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc2x3::IfcFurnishingElementType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[382]); } const IfcParse::entity& Ifc2x3::IfcFurnishingElementType::Class() { return *((IfcParse::entity*)IFC2X3_types[382]); } Ifc2x3::IfcFurnishingElementType::IfcFurnishingElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc2x3::IfcFurnishingElementType::IfcFurnishingElementType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc2x3::IfcFurnishingElementType::IfcFurnishingElementType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFurnitureStandard @@ -8405,59 +8405,59 @@ Ifc2x3::IfcFurnishingElementType::IfcFurnishingElementType(std::string v1_Global const IfcParse::entity& Ifc2x3::IfcFurnitureStandard::declaration() const { return *((IfcParse::entity*)IFC2X3_types[383]); } const IfcParse::entity& Ifc2x3::IfcFurnitureStandard::Class() { return *((IfcParse::entity*)IFC2X3_types[383]); } Ifc2x3::IfcFurnitureStandard::IfcFurnitureStandard(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc2x3::IfcFurnitureStandard::IfcFurnitureStandard(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcControl(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc2x3::IfcFurnitureStandard::IfcFurnitureStandard(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcFurnitureType -::Ifc2x3::IfcAssemblyPlaceEnum::Value Ifc2x3::IfcFurnitureType::AssemblyPlace() const { return ::Ifc2x3::IfcAssemblyPlaceEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcAssemblyPlaceEnum::Value Ifc2x3::IfcFurnitureType::AssemblyPlace() const { return ::Ifc2x3::IfcAssemblyPlaceEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcFurnitureType::setAssemblyPlace(::Ifc2x3::IfcAssemblyPlaceEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcAssemblyPlaceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcFurnitureType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[384]); } const IfcParse::entity& Ifc2x3::IfcFurnitureType::Class() { return *((IfcParse::entity*)IFC2X3_types[384]); } Ifc2x3::IfcFurnitureType::IfcFurnitureType(IfcEntityInstanceData&& e) : IfcFurnishingElementType(std::move(e)) { } -Ifc2x3::IfcFurnitureType::IfcFurnitureType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace) : IfcFurnishingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace)));; populate_derived(); } +Ifc2x3::IfcFurnitureType::IfcFurnitureType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace) : IfcFurnishingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace)));; populate_derived(); } // Function implementations for IfcGasTerminalType -::Ifc2x3::IfcGasTerminalTypeEnum::Value Ifc2x3::IfcGasTerminalType::PredefinedType() const { return ::Ifc2x3::IfcGasTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcGasTerminalTypeEnum::Value Ifc2x3::IfcGasTerminalType::PredefinedType() const { return ::Ifc2x3::IfcGasTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcGasTerminalType::setPredefinedType(::Ifc2x3::IfcGasTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcGasTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcGasTerminalType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[385]); } const IfcParse::entity& Ifc2x3::IfcGasTerminalType::Class() { return *((IfcParse::entity*)IFC2X3_types[385]); } Ifc2x3::IfcGasTerminalType::IfcGasTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc2x3::IfcGasTerminalType::IfcGasTerminalType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcGasTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcGasTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcGasTerminalType::IfcGasTerminalType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcGasTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcGasTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcGeneralMaterialProperties -boost::optional< double > Ifc2x3::IfcGeneralMaterialProperties::MolecularWeight() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc2x3::IfcGeneralMaterialProperties::MolecularWeight() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc2x3::IfcGeneralMaterialProperties::setMolecularWeight(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc2x3::IfcGeneralMaterialProperties::Porosity() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc2x3::IfcGeneralMaterialProperties::Porosity() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc2x3::IfcGeneralMaterialProperties::setPorosity(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc2x3::IfcGeneralMaterialProperties::MassDensity() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc2x3::IfcGeneralMaterialProperties::MassDensity() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc2x3::IfcGeneralMaterialProperties::setMassDensity(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc2x3::IfcGeneralMaterialProperties::declaration() const { return *((IfcParse::entity*)IFC2X3_types[387]); } const IfcParse::entity& Ifc2x3::IfcGeneralMaterialProperties::Class() { return *((IfcParse::entity*)IFC2X3_types[387]); } Ifc2x3::IfcGeneralMaterialProperties::IfcGeneralMaterialProperties(IfcEntityInstanceData&& e) : IfcMaterialProperties(std::move(e)) { } -Ifc2x3::IfcGeneralMaterialProperties::IfcGeneralMaterialProperties(::Ifc2x3::IfcMaterial* v1_Material, boost::optional< double > v2_MolecularWeight, boost::optional< double > v3_Porosity, boost::optional< double > v4_MassDensity) : IfcMaterialProperties(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_MolecularWeight) {set_attribute_value(1, (*v2_MolecularWeight)); } if (v3_Porosity) {set_attribute_value(2, (*v3_Porosity)); } if (v4_MassDensity) {set_attribute_value(3, (*v4_MassDensity)); }; populate_derived(); } +Ifc2x3::IfcGeneralMaterialProperties::IfcGeneralMaterialProperties(::Ifc2x3::IfcMaterial* v1_Material, boost::optional< double > v2_MolecularWeight, boost::optional< double > v3_Porosity, boost::optional< double > v4_MassDensity) : IfcMaterialProperties(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_MolecularWeight) {set_attribute_value(1, (*v2_MolecularWeight)); } if (v3_Porosity) {set_attribute_value(2, (*v3_Porosity)); } if (v4_MassDensity) {set_attribute_value(3, (*v4_MassDensity)); }; populate_derived(); } // Function implementations for IfcGeneralProfileProperties -boost::optional< double > Ifc2x3::IfcGeneralProfileProperties::PhysicalWeight() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc2x3::IfcGeneralProfileProperties::PhysicalWeight() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc2x3::IfcGeneralProfileProperties::setPhysicalWeight(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc2x3::IfcGeneralProfileProperties::Perimeter() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc2x3::IfcGeneralProfileProperties::Perimeter() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc2x3::IfcGeneralProfileProperties::setPerimeter(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc2x3::IfcGeneralProfileProperties::MinimumPlateThickness() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc2x3::IfcGeneralProfileProperties::MinimumPlateThickness() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc2x3::IfcGeneralProfileProperties::setMinimumPlateThickness(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc2x3::IfcGeneralProfileProperties::MaximumPlateThickness() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc2x3::IfcGeneralProfileProperties::MaximumPlateThickness() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc2x3::IfcGeneralProfileProperties::setMaximumPlateThickness(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc2x3::IfcGeneralProfileProperties::CrossSectionArea() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc2x3::IfcGeneralProfileProperties::CrossSectionArea() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc2x3::IfcGeneralProfileProperties::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc2x3::IfcGeneralProfileProperties::declaration() const { return *((IfcParse::entity*)IFC2X3_types[388]); } const IfcParse::entity& Ifc2x3::IfcGeneralProfileProperties::Class() { return *((IfcParse::entity*)IFC2X3_types[388]); } Ifc2x3::IfcGeneralProfileProperties::IfcGeneralProfileProperties(IfcEntityInstanceData&& e) : IfcProfileProperties(std::move(e)) { } -Ifc2x3::IfcGeneralProfileProperties::IfcGeneralProfileProperties(boost::optional< std::string > v1_ProfileName, ::Ifc2x3::IfcProfileDef* v2_ProfileDefinition, boost::optional< double > v3_PhysicalWeight, boost::optional< double > v4_Perimeter, boost::optional< double > v5_MinimumPlateThickness, boost::optional< double > v6_MaximumPlateThickness, boost::optional< double > v7_CrossSectionArea) : IfcProfileProperties(IfcEntityInstanceData(storage_t(7))) { if (v1_ProfileName) {set_attribute_value(0, (*v1_ProfileName)); }set_attribute_value(1, v2_ProfileDefinition ? v2_ProfileDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_PhysicalWeight) {set_attribute_value(2, (*v3_PhysicalWeight)); } if (v4_Perimeter) {set_attribute_value(3, (*v4_Perimeter)); } if (v5_MinimumPlateThickness) {set_attribute_value(4, (*v5_MinimumPlateThickness)); } if (v6_MaximumPlateThickness) {set_attribute_value(5, (*v6_MaximumPlateThickness)); } if (v7_CrossSectionArea) {set_attribute_value(6, (*v7_CrossSectionArea)); }; populate_derived(); } +Ifc2x3::IfcGeneralProfileProperties::IfcGeneralProfileProperties(boost::optional< std::string > v1_ProfileName, ::Ifc2x3::IfcProfileDef* v2_ProfileDefinition, boost::optional< double > v3_PhysicalWeight, boost::optional< double > v4_Perimeter, boost::optional< double > v5_MinimumPlateThickness, boost::optional< double > v6_MaximumPlateThickness, boost::optional< double > v7_CrossSectionArea) : IfcProfileProperties(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_ProfileName) {set_attribute_value(0, (*v1_ProfileName)); }set_attribute_value(1, v2_ProfileDefinition ? v2_ProfileDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_PhysicalWeight) {set_attribute_value(2, (*v3_PhysicalWeight)); } if (v4_Perimeter) {set_attribute_value(3, (*v4_Perimeter)); } if (v5_MinimumPlateThickness) {set_attribute_value(4, (*v5_MinimumPlateThickness)); } if (v6_MaximumPlateThickness) {set_attribute_value(5, (*v6_MaximumPlateThickness)); } if (v7_CrossSectionArea) {set_attribute_value(6, (*v7_CrossSectionArea)); }; populate_derived(); } // Function implementations for IfcGeometricCurveSet @@ -8465,16 +8465,16 @@ Ifc2x3::IfcGeneralProfileProperties::IfcGeneralProfileProperties(boost::optional const IfcParse::entity& Ifc2x3::IfcGeometricCurveSet::declaration() const { return *((IfcParse::entity*)IFC2X3_types[389]); } const IfcParse::entity& Ifc2x3::IfcGeometricCurveSet::Class() { return *((IfcParse::entity*)IFC2X3_types[389]); } Ifc2x3::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData&& e) : IfcGeometricSet(std::move(e)) { } -Ifc2x3::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc2x3::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } +Ifc2x3::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc2x3::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } // Function implementations for IfcGeometricRepresentationContext -int Ifc2x3::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = data_.get_attribute_value(2); return v; } +int Ifc2x3::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = get_attribute_value(2); return v; } void Ifc2x3::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(int v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc2x3::IfcGeometricRepresentationContext::Precision() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc2x3::IfcGeometricRepresentationContext::Precision() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc2x3::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc2x3::IfcAxis2Placement* Ifc2x3::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc2x3::IfcAxis2Placement>(true); } +::Ifc2x3::IfcAxis2Placement* Ifc2x3::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc2x3::IfcAxis2Placement>(true); } void Ifc2x3::IfcGeometricRepresentationContext::setWorldCoordinateSystem(::Ifc2x3::IfcAxis2Placement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcDirection* Ifc2x3::IfcGeometricRepresentationContext::TrueNorth() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcDirection>(true); } +::Ifc2x3::IfcDirection* Ifc2x3::IfcGeometricRepresentationContext::TrueNorth() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcDirection>(true); } void Ifc2x3::IfcGeometricRepresentationContext::setTrueNorth(::Ifc2x3::IfcDirection* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc2x3::IfcGeometricRepresentationSubContext::list::ptr Ifc2x3::IfcGeometricRepresentationContext::HasSubContexts() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[393], 6)->as(); } @@ -8482,7 +8482,7 @@ void Ifc2x3::IfcGeometricRepresentationContext::setTrueNorth(::Ifc2x3::IfcDirect const IfcParse::entity& Ifc2x3::IfcGeometricRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC2X3_types[391]); } const IfcParse::entity& Ifc2x3::IfcGeometricRepresentationContext::Class() { return *((IfcParse::entity*)IFC2X3_types[391]); } Ifc2x3::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(IfcEntityInstanceData&& e) : IfcRepresentationContext(std::move(e)) { } -Ifc2x3::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, ::Ifc2x3::IfcAxis2Placement* v5_WorldCoordinateSystem, ::Ifc2x3::IfcDirection* v6_TrueNorth) : IfcRepresentationContext(IfcEntityInstanceData(storage_t(6))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, v5_WorldCoordinateSystem ? v5_WorldCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_TrueNorth ? v6_TrueNorth->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, ::Ifc2x3::IfcAxis2Placement* v5_WorldCoordinateSystem, ::Ifc2x3::IfcDirection* v6_TrueNorth) : IfcRepresentationContext(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, v5_WorldCoordinateSystem ? v5_WorldCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_TrueNorth ? v6_TrueNorth->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcGeometricRepresentationItem @@ -8490,40 +8490,40 @@ Ifc2x3::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boo const IfcParse::entity& Ifc2x3::IfcGeometricRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC2X3_types[392]); } const IfcParse::entity& Ifc2x3::IfcGeometricRepresentationItem::Class() { return *((IfcParse::entity*)IFC2X3_types[392]); } Ifc2x3::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc2x3::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc2x3::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcGeometricRepresentationSubContext -::Ifc2x3::IfcGeometricRepresentationContext* Ifc2x3::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc2x3::IfcGeometricRepresentationContext>(true); } +::Ifc2x3::IfcGeometricRepresentationContext* Ifc2x3::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc2x3::IfcGeometricRepresentationContext>(true); } void Ifc2x3::IfcGeometricRepresentationSubContext::setParentContext(::Ifc2x3::IfcGeometricRepresentationContext* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc2x3::IfcGeometricRepresentationSubContext::TargetScale() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc2x3::IfcGeometricRepresentationSubContext::TargetScale() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc2x3::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc2x3::IfcGeometricProjectionEnum::Value Ifc2x3::IfcGeometricRepresentationSubContext::TargetView() const { return ::Ifc2x3::IfcGeometricProjectionEnum::FromString(data_.get_attribute_value(8)); } +::Ifc2x3::IfcGeometricProjectionEnum::Value Ifc2x3::IfcGeometricRepresentationSubContext::TargetView() const { return ::Ifc2x3::IfcGeometricProjectionEnum::FromString(get_attribute_value(8)); } void Ifc2x3::IfcGeometricRepresentationSubContext::setTargetView(::Ifc2x3::IfcGeometricProjectionEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc2x3::IfcGeometricProjectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -boost::optional< std::string > Ifc2x3::IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc2x3::IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc2x3::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc2x3::IfcGeometricRepresentationSubContext::declaration() const { return *((IfcParse::entity*)IFC2X3_types[393]); } const IfcParse::entity& Ifc2x3::IfcGeometricRepresentationSubContext::Class() { return *((IfcParse::entity*)IFC2X3_types[393]); } Ifc2x3::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(IfcEntityInstanceData&& e) : IfcGeometricRepresentationContext(std::move(e)) { } -Ifc2x3::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc2x3::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc2x3::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext(IfcEntityInstanceData(storage_t(10))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, v7_ParentContext ? v7_ParentContext->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; populate_derived(); } +Ifc2x3::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc2x3::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc2x3::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, v7_ParentContext ? v7_ParentContext->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; populate_derived(); } // Function implementations for IfcGeometricSet -aggregate_of< ::Ifc2x3::IfcGeometricSetSelect >::ptr Ifc2x3::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc2x3::IfcGeometricSetSelect >(); } +aggregate_of< ::Ifc2x3::IfcGeometricSetSelect >::ptr Ifc2x3::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc2x3::IfcGeometricSetSelect >(); } void Ifc2x3::IfcGeometricSet::setElements(aggregate_of< ::Ifc2x3::IfcGeometricSetSelect >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc2x3::IfcGeometricSet::declaration() const { return *((IfcParse::entity*)IFC2X3_types[394]); } const IfcParse::entity& Ifc2x3::IfcGeometricSet::Class() { return *((IfcParse::entity*)IFC2X3_types[394]); } Ifc2x3::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc2x3::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc2x3::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } +Ifc2x3::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc2x3::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } // Function implementations for IfcGrid -aggregate_of< ::Ifc2x3::IfcGridAxis >::ptr Ifc2x3::IfcGrid::UAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc2x3::IfcGridAxis >(); } +aggregate_of< ::Ifc2x3::IfcGridAxis >::ptr Ifc2x3::IfcGrid::UAxes() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc2x3::IfcGridAxis >(); } void Ifc2x3::IfcGrid::setUAxes(aggregate_of< ::Ifc2x3::IfcGridAxis >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } -aggregate_of< ::Ifc2x3::IfcGridAxis >::ptr Ifc2x3::IfcGrid::VAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc2x3::IfcGridAxis >(); } +aggregate_of< ::Ifc2x3::IfcGridAxis >::ptr Ifc2x3::IfcGrid::VAxes() const { aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc2x3::IfcGridAxis >(); } void Ifc2x3::IfcGrid::setVAxes(aggregate_of< ::Ifc2x3::IfcGridAxis >::ptr v) { set_attribute_value(8, (v)->generalize());if constexpr (false)unset_attribute_value(8); } -boost::optional< aggregate_of< ::Ifc2x3::IfcGridAxis >::ptr > Ifc2x3::IfcGrid::WAxes() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc2x3::IfcGridAxis >(); } +boost::optional< aggregate_of< ::Ifc2x3::IfcGridAxis >::ptr > Ifc2x3::IfcGrid::WAxes() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc2x3::IfcGridAxis >(); } void Ifc2x3::IfcGrid::setWAxes(boost::optional< aggregate_of< ::Ifc2x3::IfcGridAxis >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } ::Ifc2x3::IfcRelContainedInSpatialStructure::list::ptr Ifc2x3::IfcGrid::ContainedInStructure() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[698], 4)->as(); } @@ -8531,14 +8531,14 @@ void Ifc2x3::IfcGrid::setWAxes(boost::optional< aggregate_of< ::Ifc2x3::IfcGridA const IfcParse::entity& Ifc2x3::IfcGrid::declaration() const { return *((IfcParse::entity*)IFC2X3_types[398]); } const IfcParse::entity& Ifc2x3::IfcGrid::Class() { return *((IfcParse::entity*)IFC2X3_types[398]); } Ifc2x3::IfcGrid::IfcGrid(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc2x3::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, aggregate_of< ::Ifc2x3::IfcGridAxis >::ptr v8_UAxes, aggregate_of< ::Ifc2x3::IfcGridAxis >::ptr v9_VAxes, boost::optional< aggregate_of< ::Ifc2x3::IfcGridAxis >::ptr > v10_WAxes) : IfcProduct(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_UAxes)->generalize());set_attribute_value(8, (v9_VAxes)->generalize()); if (v10_WAxes) {set_attribute_value(9, (*v10_WAxes)->generalize()); }; populate_derived(); } +Ifc2x3::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, aggregate_of< ::Ifc2x3::IfcGridAxis >::ptr v8_UAxes, aggregate_of< ::Ifc2x3::IfcGridAxis >::ptr v9_VAxes, boost::optional< aggregate_of< ::Ifc2x3::IfcGridAxis >::ptr > v10_WAxes) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_UAxes)->generalize());set_attribute_value(8, (v9_VAxes)->generalize()); if (v10_WAxes) {set_attribute_value(9, (*v10_WAxes)->generalize()); }; populate_derived(); } // Function implementations for IfcGridAxis -boost::optional< std::string > Ifc2x3::IfcGridAxis::AxisTag() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc2x3::IfcGridAxis::AxisTag() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc2x3::IfcCurve* Ifc2x3::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcCurve>(true); } +::Ifc2x3::IfcCurve* Ifc2x3::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcCurve>(true); } void Ifc2x3::IfcGridAxis::setAxisCurve(::Ifc2x3::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -bool Ifc2x3::IfcGridAxis::SameSense() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc2x3::IfcGridAxis::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc2x3::IfcGridAxis::setSameSense(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } ::Ifc2x3::IfcGrid::list::ptr Ifc2x3::IfcGridAxis::PartOfW() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[398], 9)->as(); } @@ -8549,19 +8549,19 @@ void Ifc2x3::IfcGridAxis::setSameSense(bool v) { set_attribute_value(2, v);if co const IfcParse::entity& Ifc2x3::IfcGridAxis::declaration() const { return *((IfcParse::entity*)IFC2X3_types[399]); } const IfcParse::entity& Ifc2x3::IfcGridAxis::Class() { return *((IfcParse::entity*)IFC2X3_types[399]); } Ifc2x3::IfcGridAxis::IfcGridAxis(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, ::Ifc2x3::IfcCurve* v2_AxisCurve, bool v3_SameSense) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, v2_AxisCurve ? v2_AxisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } +Ifc2x3::IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, ::Ifc2x3::IfcCurve* v2_AxisCurve, bool v3_SameSense) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, v2_AxisCurve ? v2_AxisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } // Function implementations for IfcGridPlacement -::Ifc2x3::IfcVirtualGridIntersection* Ifc2x3::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcVirtualGridIntersection>(true); } +::Ifc2x3::IfcVirtualGridIntersection* Ifc2x3::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcVirtualGridIntersection>(true); } void Ifc2x3::IfcGridPlacement::setPlacementLocation(::Ifc2x3::IfcVirtualGridIntersection* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcVirtualGridIntersection* Ifc2x3::IfcGridPlacement::PlacementRefDirection() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcVirtualGridIntersection>(true); } +::Ifc2x3::IfcVirtualGridIntersection* Ifc2x3::IfcGridPlacement::PlacementRefDirection() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcVirtualGridIntersection>(true); } void Ifc2x3::IfcGridPlacement::setPlacementRefDirection(::Ifc2x3::IfcVirtualGridIntersection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcGridPlacement::declaration() const { return *((IfcParse::entity*)IFC2X3_types[400]); } const IfcParse::entity& Ifc2x3::IfcGridPlacement::Class() { return *((IfcParse::entity*)IFC2X3_types[400]); } Ifc2x3::IfcGridPlacement::IfcGridPlacement(IfcEntityInstanceData&& e) : IfcObjectPlacement(std::move(e)) { } -Ifc2x3::IfcGridPlacement::IfcGridPlacement(::Ifc2x3::IfcVirtualGridIntersection* v1_PlacementLocation, ::Ifc2x3::IfcVirtualGridIntersection* v2_PlacementRefDirection) : IfcObjectPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_PlacementLocation ? v1_PlacementLocation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementRefDirection ? v2_PlacementRefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcGridPlacement::IfcGridPlacement(::Ifc2x3::IfcVirtualGridIntersection* v1_PlacementLocation, ::Ifc2x3::IfcVirtualGridIntersection* v2_PlacementRefDirection) : IfcObjectPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_PlacementLocation ? v1_PlacementLocation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementRefDirection ? v2_PlacementRefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcGroup @@ -8570,199 +8570,199 @@ Ifc2x3::IfcGridPlacement::IfcGridPlacement(::Ifc2x3::IfcVirtualGridIntersection* const IfcParse::entity& Ifc2x3::IfcGroup::declaration() const { return *((IfcParse::entity*)IFC2X3_types[401]); } const IfcParse::entity& Ifc2x3::IfcGroup::Class() { return *((IfcParse::entity*)IFC2X3_types[401]); } Ifc2x3::IfcGroup::IfcGroup(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc2x3::IfcGroup::IfcGroup(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc2x3::IfcGroup::IfcGroup(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcHalfSpaceSolid -::Ifc2x3::IfcSurface* Ifc2x3::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcSurface>(true); } +::Ifc2x3::IfcSurface* Ifc2x3::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcSurface>(true); } void Ifc2x3::IfcHalfSpaceSolid::setBaseSurface(::Ifc2x3::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -bool Ifc2x3::IfcHalfSpaceSolid::AgreementFlag() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc2x3::IfcHalfSpaceSolid::AgreementFlag() const { bool v = get_attribute_value(1); return v; } void Ifc2x3::IfcHalfSpaceSolid::setAgreementFlag(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcHalfSpaceSolid::declaration() const { return *((IfcParse::entity*)IFC2X3_types[402]); } const IfcParse::entity& Ifc2x3::IfcHalfSpaceSolid::Class() { return *((IfcParse::entity*)IFC2X3_types[402]); } Ifc2x3::IfcHalfSpaceSolid::IfcHalfSpaceSolid(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc2x3::IfcHalfSpaceSolid::IfcHalfSpaceSolid(::Ifc2x3::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));; populate_derived(); } +Ifc2x3::IfcHalfSpaceSolid::IfcHalfSpaceSolid(::Ifc2x3::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));; populate_derived(); } // Function implementations for IfcHeatExchangerType -::Ifc2x3::IfcHeatExchangerTypeEnum::Value Ifc2x3::IfcHeatExchangerType::PredefinedType() const { return ::Ifc2x3::IfcHeatExchangerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcHeatExchangerTypeEnum::Value Ifc2x3::IfcHeatExchangerType::PredefinedType() const { return ::Ifc2x3::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcHeatExchangerType::setPredefinedType(::Ifc2x3::IfcHeatExchangerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcHeatExchangerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcHeatExchangerType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[404]); } const IfcParse::entity& Ifc2x3::IfcHeatExchangerType::Class() { return *((IfcParse::entity*)IFC2X3_types[404]); } Ifc2x3::IfcHeatExchangerType::IfcHeatExchangerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc2x3::IfcHeatExchangerType::IfcHeatExchangerType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcHeatExchangerType::IfcHeatExchangerType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcHumidifierType -::Ifc2x3::IfcHumidifierTypeEnum::Value Ifc2x3::IfcHumidifierType::PredefinedType() const { return ::Ifc2x3::IfcHumidifierTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcHumidifierTypeEnum::Value Ifc2x3::IfcHumidifierType::PredefinedType() const { return ::Ifc2x3::IfcHumidifierTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcHumidifierType::setPredefinedType(::Ifc2x3::IfcHumidifierTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcHumidifierTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcHumidifierType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[409]); } const IfcParse::entity& Ifc2x3::IfcHumidifierType::Class() { return *((IfcParse::entity*)IFC2X3_types[409]); } Ifc2x3::IfcHumidifierType::IfcHumidifierType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc2x3::IfcHumidifierType::IfcHumidifierType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcHumidifierTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcHumidifierType::IfcHumidifierType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcHumidifierTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcHygroscopicMaterialProperties -boost::optional< double > Ifc2x3::IfcHygroscopicMaterialProperties::UpperVaporResistanceFactor() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc2x3::IfcHygroscopicMaterialProperties::UpperVaporResistanceFactor() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc2x3::IfcHygroscopicMaterialProperties::setUpperVaporResistanceFactor(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc2x3::IfcHygroscopicMaterialProperties::LowerVaporResistanceFactor() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc2x3::IfcHygroscopicMaterialProperties::LowerVaporResistanceFactor() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc2x3::IfcHygroscopicMaterialProperties::setLowerVaporResistanceFactor(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc2x3::IfcHygroscopicMaterialProperties::IsothermalMoistureCapacity() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc2x3::IfcHygroscopicMaterialProperties::IsothermalMoistureCapacity() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc2x3::IfcHygroscopicMaterialProperties::setIsothermalMoistureCapacity(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc2x3::IfcHygroscopicMaterialProperties::VaporPermeability() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc2x3::IfcHygroscopicMaterialProperties::VaporPermeability() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc2x3::IfcHygroscopicMaterialProperties::setVaporPermeability(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc2x3::IfcHygroscopicMaterialProperties::MoistureDiffusivity() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc2x3::IfcHygroscopicMaterialProperties::MoistureDiffusivity() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc2x3::IfcHygroscopicMaterialProperties::setMoistureDiffusivity(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc2x3::IfcHygroscopicMaterialProperties::declaration() const { return *((IfcParse::entity*)IFC2X3_types[411]); } const IfcParse::entity& Ifc2x3::IfcHygroscopicMaterialProperties::Class() { return *((IfcParse::entity*)IFC2X3_types[411]); } Ifc2x3::IfcHygroscopicMaterialProperties::IfcHygroscopicMaterialProperties(IfcEntityInstanceData&& e) : IfcMaterialProperties(std::move(e)) { } -Ifc2x3::IfcHygroscopicMaterialProperties::IfcHygroscopicMaterialProperties(::Ifc2x3::IfcMaterial* v1_Material, boost::optional< double > v2_UpperVaporResistanceFactor, boost::optional< double > v3_LowerVaporResistanceFactor, boost::optional< double > v4_IsothermalMoistureCapacity, boost::optional< double > v5_VaporPermeability, boost::optional< double > v6_MoistureDiffusivity) : IfcMaterialProperties(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_UpperVaporResistanceFactor) {set_attribute_value(1, (*v2_UpperVaporResistanceFactor)); } if (v3_LowerVaporResistanceFactor) {set_attribute_value(2, (*v3_LowerVaporResistanceFactor)); } if (v4_IsothermalMoistureCapacity) {set_attribute_value(3, (*v4_IsothermalMoistureCapacity)); } if (v5_VaporPermeability) {set_attribute_value(4, (*v5_VaporPermeability)); } if (v6_MoistureDiffusivity) {set_attribute_value(5, (*v6_MoistureDiffusivity)); }; populate_derived(); } +Ifc2x3::IfcHygroscopicMaterialProperties::IfcHygroscopicMaterialProperties(::Ifc2x3::IfcMaterial* v1_Material, boost::optional< double > v2_UpperVaporResistanceFactor, boost::optional< double > v3_LowerVaporResistanceFactor, boost::optional< double > v4_IsothermalMoistureCapacity, boost::optional< double > v5_VaporPermeability, boost::optional< double > v6_MoistureDiffusivity) : IfcMaterialProperties(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_UpperVaporResistanceFactor) {set_attribute_value(1, (*v2_UpperVaporResistanceFactor)); } if (v3_LowerVaporResistanceFactor) {set_attribute_value(2, (*v3_LowerVaporResistanceFactor)); } if (v4_IsothermalMoistureCapacity) {set_attribute_value(3, (*v4_IsothermalMoistureCapacity)); } if (v5_VaporPermeability) {set_attribute_value(4, (*v5_VaporPermeability)); } if (v6_MoistureDiffusivity) {set_attribute_value(5, (*v6_MoistureDiffusivity)); }; populate_derived(); } // Function implementations for IfcIShapeProfileDef -double Ifc2x3::IfcIShapeProfileDef::OverallWidth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc2x3::IfcIShapeProfileDef::OverallWidth() const { double v = get_attribute_value(3); return v; } void Ifc2x3::IfcIShapeProfileDef::setOverallWidth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc2x3::IfcIShapeProfileDef::OverallDepth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc2x3::IfcIShapeProfileDef::OverallDepth() const { double v = get_attribute_value(4); return v; } void Ifc2x3::IfcIShapeProfileDef::setOverallDepth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc2x3::IfcIShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc2x3::IfcIShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc2x3::IfcIShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc2x3::IfcIShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc2x3::IfcIShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc2x3::IfcIShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc2x3::IfcIShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc2x3::IfcIShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc2x3::IfcIShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc2x3::IfcIShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC2X3_types[424]); } const IfcParse::entity& Ifc2x3::IfcIShapeProfileDef::Class() { return *((IfcParse::entity*)IFC2X3_types[424]); } Ifc2x3::IfcIShapeProfileDef::IfcIShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc2x3::IfcIShapeProfileDef::IfcIShapeProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D* v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); }; populate_derived(); } +Ifc2x3::IfcIShapeProfileDef::IfcIShapeProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D* v3_Position, double v4_OverallWidth, double v5_OverallDepth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); }; populate_derived(); } // Function implementations for IfcImageTexture -std::string Ifc2x3::IfcImageTexture::UrlReference() const { std::string v = data_.get_attribute_value(4); return v; } +std::string Ifc2x3::IfcImageTexture::UrlReference() const { std::string v = get_attribute_value(4); return v; } void Ifc2x3::IfcImageTexture::setUrlReference(std::string v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc2x3::IfcImageTexture::declaration() const { return *((IfcParse::entity*)IFC2X3_types[414]); } const IfcParse::entity& Ifc2x3::IfcImageTexture::Class() { return *((IfcParse::entity*)IFC2X3_types[414]); } Ifc2x3::IfcImageTexture::IfcImageTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -Ifc2x3::IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, ::Ifc2x3::IfcSurfaceTextureEnum::Value v3_TextureType, ::Ifc2x3::IfcCartesianTransformationOperator2D* v4_TextureTransform, std::string v5_UrlReference) : IfcSurfaceTexture(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT));set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcSurfaceTextureEnum::Class(),(size_t)v3_TextureType)));set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_UrlReference));; populate_derived(); } +Ifc2x3::IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, ::Ifc2x3::IfcSurfaceTextureEnum::Value v3_TextureType, ::Ifc2x3::IfcCartesianTransformationOperator2D* v4_TextureTransform, std::string v5_UrlReference) : IfcSurfaceTexture(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT));set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcSurfaceTextureEnum::Class(),(size_t)v3_TextureType)));set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_UrlReference));; populate_derived(); } // Function implementations for IfcInventory -::Ifc2x3::IfcInventoryTypeEnum::Value Ifc2x3::IfcInventory::InventoryType() const { return ::Ifc2x3::IfcInventoryTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc2x3::IfcInventoryTypeEnum::Value Ifc2x3::IfcInventory::InventoryType() const { return ::Ifc2x3::IfcInventoryTypeEnum::FromString(get_attribute_value(5)); } void Ifc2x3::IfcInventory::setInventoryType(::Ifc2x3::IfcInventoryTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc2x3::IfcInventoryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcActorSelect* Ifc2x3::IfcInventory::Jurisdiction() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc2x3::IfcActorSelect>(true); } +::Ifc2x3::IfcActorSelect* Ifc2x3::IfcInventory::Jurisdiction() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc2x3::IfcActorSelect>(true); } void Ifc2x3::IfcInventory::setJurisdiction(::Ifc2x3::IfcActorSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -aggregate_of< ::Ifc2x3::IfcPerson >::ptr Ifc2x3::IfcInventory::ResponsiblePersons() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc2x3::IfcPerson >(); } +aggregate_of< ::Ifc2x3::IfcPerson >::ptr Ifc2x3::IfcInventory::ResponsiblePersons() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc2x3::IfcPerson >(); } void Ifc2x3::IfcInventory::setResponsiblePersons(aggregate_of< ::Ifc2x3::IfcPerson >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } -::Ifc2x3::IfcCalendarDate* Ifc2x3::IfcInventory::LastUpdateDate() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc2x3::IfcCalendarDate>(true); } +::Ifc2x3::IfcCalendarDate* Ifc2x3::IfcInventory::LastUpdateDate() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc2x3::IfcCalendarDate>(true); } void Ifc2x3::IfcInventory::setLastUpdateDate(::Ifc2x3::IfcCalendarDate* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -::Ifc2x3::IfcCostValue* Ifc2x3::IfcInventory::CurrentValue() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc2x3::IfcCostValue>(true); } +::Ifc2x3::IfcCostValue* Ifc2x3::IfcInventory::CurrentValue() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc2x3::IfcCostValue>(true); } void Ifc2x3::IfcInventory::setCurrentValue(::Ifc2x3::IfcCostValue* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc2x3::IfcCostValue* Ifc2x3::IfcInventory::OriginalValue() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc2x3::IfcCostValue>(true); } +::Ifc2x3::IfcCostValue* Ifc2x3::IfcInventory::OriginalValue() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc2x3::IfcCostValue>(true); } void Ifc2x3::IfcInventory::setOriginalValue(::Ifc2x3::IfcCostValue* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc2x3::IfcInventory::declaration() const { return *((IfcParse::entity*)IFC2X3_types[419]); } const IfcParse::entity& Ifc2x3::IfcInventory::Class() { return *((IfcParse::entity*)IFC2X3_types[419]); } Ifc2x3::IfcInventory::IfcInventory(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc2x3::IfcInventory::IfcInventory(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcInventoryTypeEnum::Value v6_InventoryType, ::Ifc2x3::IfcActorSelect* v7_Jurisdiction, aggregate_of< ::Ifc2x3::IfcPerson >::ptr v8_ResponsiblePersons, ::Ifc2x3::IfcCalendarDate* v9_LastUpdateDate, ::Ifc2x3::IfcCostValue* v10_CurrentValue, ::Ifc2x3::IfcCostValue* v11_OriginalValue) : IfcGroup(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcInventoryTypeEnum::Class(),(size_t)v6_InventoryType)));set_attribute_value(6, v7_Jurisdiction ? v7_Jurisdiction->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_ResponsiblePersons)->generalize());set_attribute_value(8, v9_LastUpdateDate ? v9_LastUpdateDate->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_CurrentValue ? v10_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_OriginalValue ? v11_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcInventory::IfcInventory(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcInventoryTypeEnum::Value v6_InventoryType, ::Ifc2x3::IfcActorSelect* v7_Jurisdiction, aggregate_of< ::Ifc2x3::IfcPerson >::ptr v8_ResponsiblePersons, ::Ifc2x3::IfcCalendarDate* v9_LastUpdateDate, ::Ifc2x3::IfcCostValue* v10_CurrentValue, ::Ifc2x3::IfcCostValue* v11_OriginalValue) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcInventoryTypeEnum::Class(),(size_t)v6_InventoryType)));set_attribute_value(6, v7_Jurisdiction ? v7_Jurisdiction->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_ResponsiblePersons)->generalize());set_attribute_value(8, v9_LastUpdateDate ? v9_LastUpdateDate->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_CurrentValue ? v10_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_OriginalValue ? v11_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcIrregularTimeSeries -aggregate_of< ::Ifc2x3::IfcIrregularTimeSeriesValue >::ptr Ifc2x3::IfcIrregularTimeSeries::Values() const { aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc2x3::IfcIrregularTimeSeriesValue >(); } +aggregate_of< ::Ifc2x3::IfcIrregularTimeSeriesValue >::ptr Ifc2x3::IfcIrregularTimeSeries::Values() const { aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc2x3::IfcIrregularTimeSeriesValue >(); } void Ifc2x3::IfcIrregularTimeSeries::setValues(aggregate_of< ::Ifc2x3::IfcIrregularTimeSeriesValue >::ptr v) { set_attribute_value(8, (v)->generalize());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc2x3::IfcIrregularTimeSeries::declaration() const { return *((IfcParse::entity*)IFC2X3_types[422]); } const IfcParse::entity& Ifc2x3::IfcIrregularTimeSeries::Class() { return *((IfcParse::entity*)IFC2X3_types[422]); } Ifc2x3::IfcIrregularTimeSeries::IfcIrregularTimeSeries(IfcEntityInstanceData&& e) : IfcTimeSeries(std::move(e)) { } -Ifc2x3::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcDateTimeSelect* v3_StartTime, ::Ifc2x3::IfcDateTimeSelect* v4_EndTime, ::Ifc2x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc2x3::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc2x3::IfcUnit* v8_Unit, aggregate_of< ::Ifc2x3::IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_StartTime ? v3_StartTime->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_EndTime ? v4_EndTime->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (EnumerationReference(&::Ifc2x3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_Values)->generalize());; populate_derived(); } +Ifc2x3::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcDateTimeSelect* v3_StartTime, ::Ifc2x3::IfcDateTimeSelect* v4_EndTime, ::Ifc2x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc2x3::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc2x3::IfcUnit* v8_Unit, aggregate_of< ::Ifc2x3::IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_StartTime ? v3_StartTime->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_EndTime ? v4_EndTime->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (EnumerationReference(&::Ifc2x3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_Values)->generalize());; populate_derived(); } // Function implementations for IfcIrregularTimeSeriesValue -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcIrregularTimeSeriesValue::TimeStamp() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcIrregularTimeSeriesValue::TimeStamp() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcIrregularTimeSeriesValue::setTimeStamp(::Ifc2x3::IfcDateTimeSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc2x3::IfcValue >(); } +aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc2x3::IfcValue >(); } void Ifc2x3::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc2x3::IfcValue >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcIrregularTimeSeriesValue::declaration() const { return *((IfcParse::entity*)IFC2X3_types[423]); } const IfcParse::entity& Ifc2x3::IfcIrregularTimeSeriesValue::Class() { return *((IfcParse::entity*)IFC2X3_types[423]); } Ifc2x3::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(::Ifc2x3::IfcDateTimeSelect* v1_TimeStamp, aggregate_of< ::Ifc2x3::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_TimeStamp ? v1_TimeStamp->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_ListValues)->generalize());; populate_derived(); } +Ifc2x3::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(::Ifc2x3::IfcDateTimeSelect* v1_TimeStamp, aggregate_of< ::Ifc2x3::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_TimeStamp ? v1_TimeStamp->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_ListValues)->generalize());; populate_derived(); } // Function implementations for IfcJunctionBoxType -::Ifc2x3::IfcJunctionBoxTypeEnum::Value Ifc2x3::IfcJunctionBoxType::PredefinedType() const { return ::Ifc2x3::IfcJunctionBoxTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcJunctionBoxTypeEnum::Value Ifc2x3::IfcJunctionBoxType::PredefinedType() const { return ::Ifc2x3::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcJunctionBoxType::setPredefinedType(::Ifc2x3::IfcJunctionBoxTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcJunctionBoxTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcJunctionBoxType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[426]); } const IfcParse::entity& Ifc2x3::IfcJunctionBoxType::Class() { return *((IfcParse::entity*)IFC2X3_types[426]); } Ifc2x3::IfcJunctionBoxType::IfcJunctionBoxType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc2x3::IfcJunctionBoxType::IfcJunctionBoxType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcJunctionBoxType::IfcJunctionBoxType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLShapeProfileDef -double Ifc2x3::IfcLShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc2x3::IfcLShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc2x3::IfcLShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< double > Ifc2x3::IfcLShapeProfileDef::Width() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc2x3::IfcLShapeProfileDef::Width() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc2x3::IfcLShapeProfileDef::setWidth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -double Ifc2x3::IfcLShapeProfileDef::Thickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc2x3::IfcLShapeProfileDef::Thickness() const { double v = get_attribute_value(5); return v; } void Ifc2x3::IfcLShapeProfileDef::setThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc2x3::IfcLShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc2x3::IfcLShapeProfileDef::FilletRadius() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc2x3::IfcLShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc2x3::IfcLShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc2x3::IfcLShapeProfileDef::EdgeRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc2x3::IfcLShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc2x3::IfcLShapeProfileDef::LegSlope() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc2x3::IfcLShapeProfileDef::LegSlope() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc2x3::IfcLShapeProfileDef::setLegSlope(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc2x3::IfcLShapeProfileDef::CentreOfGravityInX() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc2x3::IfcLShapeProfileDef::CentreOfGravityInX() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc2x3::IfcLShapeProfileDef::setCentreOfGravityInX(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc2x3::IfcLShapeProfileDef::CentreOfGravityInY() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc2x3::IfcLShapeProfileDef::CentreOfGravityInY() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc2x3::IfcLShapeProfileDef::setCentreOfGravityInY(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc2x3::IfcLShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC2X3_types[464]); } const IfcParse::entity& Ifc2x3::IfcLShapeProfileDef::Class() { return *((IfcParse::entity*)IFC2X3_types[464]); } Ifc2x3::IfcLShapeProfileDef::IfcLShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc2x3::IfcLShapeProfileDef::IfcLShapeProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::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, boost::optional< double > v10_CentreOfGravityInX, boost::optional< double > v11_CentreOfGravityInY) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); } if (v10_CentreOfGravityInX) {set_attribute_value(9, (*v10_CentreOfGravityInX)); } if (v11_CentreOfGravityInY) {set_attribute_value(10, (*v11_CentreOfGravityInY)); }; populate_derived(); } +Ifc2x3::IfcLShapeProfileDef::IfcLShapeProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::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, boost::optional< double > v10_CentreOfGravityInX, boost::optional< double > v11_CentreOfGravityInY) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); } if (v10_CentreOfGravityInX) {set_attribute_value(9, (*v10_CentreOfGravityInX)); } if (v11_CentreOfGravityInY) {set_attribute_value(10, (*v11_CentreOfGravityInY)); }; populate_derived(); } // Function implementations for IfcLaborResource -boost::optional< std::string > Ifc2x3::IfcLaborResource::SkillSet() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc2x3::IfcLaborResource::SkillSet() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc2x3::IfcLaborResource::setSkillSet(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc2x3::IfcLaborResource::declaration() const { return *((IfcParse::entity*)IFC2X3_types[430]); } const IfcParse::entity& Ifc2x3::IfcLaborResource::Class() { return *((IfcParse::entity*)IFC2X3_types[430]); } Ifc2x3::IfcLaborResource::IfcLaborResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc2x3::IfcLaborResource::IfcLaborResource(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit* v9_BaseQuantity, boost::optional< std::string > v10_SkillSet) : IfcConstructionResource(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_ResourceIdentifier) {set_attribute_value(5, (*v6_ResourceIdentifier)); } if (v7_ResourceGroup) {set_attribute_value(6, (*v7_ResourceGroup)); } if (v8_ResourceConsumption) {set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcResourceConsumptionEnum::Class(),(size_t)*v8_ResourceConsumption))); }set_attribute_value(8, v9_BaseQuantity ? v9_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v10_SkillSet) {set_attribute_value(9, (*v10_SkillSet)); }; populate_derived(); } +Ifc2x3::IfcLaborResource::IfcLaborResource(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit* v9_BaseQuantity, boost::optional< std::string > v10_SkillSet) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_ResourceIdentifier) {set_attribute_value(5, (*v6_ResourceIdentifier)); } if (v7_ResourceGroup) {set_attribute_value(6, (*v7_ResourceGroup)); } if (v8_ResourceConsumption) {set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcResourceConsumptionEnum::Class(),(size_t)*v8_ResourceConsumption))); }set_attribute_value(8, v9_BaseQuantity ? v9_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v10_SkillSet) {set_attribute_value(9, (*v10_SkillSet)); }; populate_derived(); } // Function implementations for IfcLampType -::Ifc2x3::IfcLampTypeEnum::Value Ifc2x3::IfcLampType::PredefinedType() const { return ::Ifc2x3::IfcLampTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcLampTypeEnum::Value Ifc2x3::IfcLampType::PredefinedType() const { return ::Ifc2x3::IfcLampTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcLampType::setPredefinedType(::Ifc2x3::IfcLampTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcLampTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcLampType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[431]); } const IfcParse::entity& Ifc2x3::IfcLampType::Class() { return *((IfcParse::entity*)IFC2X3_types[431]); } Ifc2x3::IfcLampType::IfcLampType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc2x3::IfcLampType::IfcLampType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcLampTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcLampType::IfcLampType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcLampTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLibraryInformation -std::string Ifc2x3::IfcLibraryInformation::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc2x3::IfcLibraryInformation::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcLibraryInformation::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc2x3::IfcLibraryInformation::Version() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc2x3::IfcLibraryInformation::Version() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc2x3::IfcOrganization* Ifc2x3::IfcLibraryInformation::Publisher() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcOrganization>(true); } +::Ifc2x3::IfcOrganization* Ifc2x3::IfcLibraryInformation::Publisher() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcOrganization>(true); } void Ifc2x3::IfcLibraryInformation::setPublisher(::Ifc2x3::IfcOrganization* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcCalendarDate* Ifc2x3::IfcLibraryInformation::VersionDate() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc2x3::IfcCalendarDate>(true); } +::Ifc2x3::IfcCalendarDate* Ifc2x3::IfcLibraryInformation::VersionDate() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc2x3::IfcCalendarDate>(true); } void Ifc2x3::IfcLibraryInformation::setVersionDate(::Ifc2x3::IfcCalendarDate* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< aggregate_of< ::Ifc2x3::IfcLibraryReference >::ptr > Ifc2x3::IfcLibraryInformation::LibraryReference() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc2x3::IfcLibraryReference >(); } +boost::optional< aggregate_of< ::Ifc2x3::IfcLibraryReference >::ptr > Ifc2x3::IfcLibraryInformation::LibraryReference() const { if(get_attribute_value(4).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc2x3::IfcLibraryReference >(); } void Ifc2x3::IfcLibraryInformation::setLibraryReference(boost::optional< aggregate_of< ::Ifc2x3::IfcLibraryReference >::ptr > v) { if (v) {set_attribute_value(4, (*v)->generalize());} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc2x3::IfcLibraryInformation::declaration() const { return *((IfcParse::entity*)IFC2X3_types[436]); } const IfcParse::entity& Ifc2x3::IfcLibraryInformation::Class() { return *((IfcParse::entity*)IFC2X3_types[436]); } Ifc2x3::IfcLibraryInformation::IfcLibraryInformation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, boost::optional< std::string > v2_Version, ::Ifc2x3::IfcOrganization* v3_Publisher, ::Ifc2x3::IfcCalendarDate* v4_VersionDate, boost::optional< aggregate_of< ::Ifc2x3::IfcLibraryReference >::ptr > v5_LibraryReference) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, v3_Publisher ? v3_Publisher->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_VersionDate ? v4_VersionDate->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_LibraryReference) {set_attribute_value(4, (*v5_LibraryReference)->generalize()); }; populate_derived(); } +Ifc2x3::IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, boost::optional< std::string > v2_Version, ::Ifc2x3::IfcOrganization* v3_Publisher, ::Ifc2x3::IfcCalendarDate* v4_VersionDate, boost::optional< aggregate_of< ::Ifc2x3::IfcLibraryReference >::ptr > v5_LibraryReference) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, v3_Publisher ? v3_Publisher->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_VersionDate ? v4_VersionDate->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_LibraryReference) {set_attribute_value(4, (*v5_LibraryReference)->generalize()); }; populate_derived(); } // Function implementations for IfcLibraryReference @@ -8771,59 +8771,59 @@ Ifc2x3::IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, boost: const IfcParse::entity& Ifc2x3::IfcLibraryReference::declaration() const { return *((IfcParse::entity*)IFC2X3_types[437]); } const IfcParse::entity& Ifc2x3::IfcLibraryReference::Class() { return *((IfcParse::entity*)IFC2X3_types[437]); } Ifc2x3::IfcLibraryReference::IfcLibraryReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc2x3::IfcLibraryReference::IfcLibraryReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_ItemReference) {set_attribute_value(1, (*v2_ItemReference)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc2x3::IfcLibraryReference::IfcLibraryReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_ItemReference, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_ItemReference) {set_attribute_value(1, (*v2_ItemReference)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcLightDistributionData -double Ifc2x3::IfcLightDistributionData::MainPlaneAngle() const { double v = data_.get_attribute_value(0); return v; } +double Ifc2x3::IfcLightDistributionData::MainPlaneAngle() const { double v = get_attribute_value(0); return v; } void Ifc2x3::IfcLightDistributionData::setMainPlaneAngle(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< double > /*[1:?]*/ Ifc2x3::IfcLightDistributionData::SecondaryPlaneAngle() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +std::vector< double > /*[1:?]*/ Ifc2x3::IfcLightDistributionData::SecondaryPlaneAngle() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc2x3::IfcLightDistributionData::setSecondaryPlaneAngle(std::vector< double > /*[1:?]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector< double > /*[1:?]*/ Ifc2x3::IfcLightDistributionData::LuminousIntensity() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(2); return v; } +std::vector< double > /*[1:?]*/ Ifc2x3::IfcLightDistributionData::LuminousIntensity() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(2); return v; } void Ifc2x3::IfcLightDistributionData::setLuminousIntensity(std::vector< double > /*[1:?]*/ v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc2x3::IfcLightDistributionData::declaration() const { return *((IfcParse::entity*)IFC2X3_types[440]); } const IfcParse::entity& Ifc2x3::IfcLightDistributionData::Class() { return *((IfcParse::entity*)IFC2X3_types[440]); } Ifc2x3::IfcLightDistributionData::IfcLightDistributionData(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcLightDistributionData::IfcLightDistributionData(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; populate_derived(); } +Ifc2x3::IfcLightDistributionData::IfcLightDistributionData(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; populate_derived(); } // Function implementations for IfcLightFixtureType -::Ifc2x3::IfcLightFixtureTypeEnum::Value Ifc2x3::IfcLightFixtureType::PredefinedType() const { return ::Ifc2x3::IfcLightFixtureTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcLightFixtureTypeEnum::Value Ifc2x3::IfcLightFixtureType::PredefinedType() const { return ::Ifc2x3::IfcLightFixtureTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcLightFixtureType::setPredefinedType(::Ifc2x3::IfcLightFixtureTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcLightFixtureTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcLightFixtureType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[443]); } const IfcParse::entity& Ifc2x3::IfcLightFixtureType::Class() { return *((IfcParse::entity*)IFC2X3_types[443]); } Ifc2x3::IfcLightFixtureType::IfcLightFixtureType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc2x3::IfcLightFixtureType::IfcLightFixtureType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcLightFixtureTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcLightFixtureType::IfcLightFixtureType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcLightFixtureTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLightIntensityDistribution -::Ifc2x3::IfcLightDistributionCurveEnum::Value Ifc2x3::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc2x3::IfcLightDistributionCurveEnum::FromString(data_.get_attribute_value(0)); } +::Ifc2x3::IfcLightDistributionCurveEnum::Value Ifc2x3::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc2x3::IfcLightDistributionCurveEnum::FromString(get_attribute_value(0)); } void Ifc2x3::IfcLightIntensityDistribution::setLightDistributionCurve(::Ifc2x3::IfcLightDistributionCurveEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc2x3::IfcLightDistributionCurveEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc2x3::IfcLightDistributionData >::ptr Ifc2x3::IfcLightIntensityDistribution::DistributionData() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc2x3::IfcLightDistributionData >(); } +aggregate_of< ::Ifc2x3::IfcLightDistributionData >::ptr Ifc2x3::IfcLightIntensityDistribution::DistributionData() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc2x3::IfcLightDistributionData >(); } void Ifc2x3::IfcLightIntensityDistribution::setDistributionData(aggregate_of< ::Ifc2x3::IfcLightDistributionData >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcLightIntensityDistribution::declaration() const { return *((IfcParse::entity*)IFC2X3_types[445]); } const IfcParse::entity& Ifc2x3::IfcLightIntensityDistribution::Class() { return *((IfcParse::entity*)IFC2X3_types[445]); } Ifc2x3::IfcLightIntensityDistribution::IfcLightIntensityDistribution(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc2x3::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, aggregate_of< ::Ifc2x3::IfcLightDistributionData >::ptr v2_DistributionData) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, (v2_DistributionData)->generalize());; populate_derived(); } +Ifc2x3::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc2x3::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, aggregate_of< ::Ifc2x3::IfcLightDistributionData >::ptr v2_DistributionData) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, (v2_DistributionData)->generalize());; populate_derived(); } // Function implementations for IfcLightSource -boost::optional< std::string > Ifc2x3::IfcLightSource::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc2x3::IfcLightSource::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcLightSource::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc2x3::IfcColourRgb* Ifc2x3::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcColourRgb>(true); } +::Ifc2x3::IfcColourRgb* Ifc2x3::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcColourRgb>(true); } void Ifc2x3::IfcLightSource::setLightColour(::Ifc2x3::IfcColourRgb* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc2x3::IfcLightSource::AmbientIntensity() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc2x3::IfcLightSource::AmbientIntensity() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc2x3::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc2x3::IfcLightSource::Intensity() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc2x3::IfcLightSource::Intensity() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc2x3::IfcLightSource::setIntensity(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc2x3::IfcLightSource::declaration() const { return *((IfcParse::entity*)IFC2X3_types[446]); } const IfcParse::entity& Ifc2x3::IfcLightSource::Class() { return *((IfcParse::entity*)IFC2X3_types[446]); } Ifc2x3::IfcLightSource::IfcLightSource(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc2x3::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } +Ifc2x3::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } // Function implementations for IfcLightSourceAmbient @@ -8831,83 +8831,83 @@ Ifc2x3::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Name, : const IfcParse::entity& Ifc2x3::IfcLightSourceAmbient::declaration() const { return *((IfcParse::entity*)IFC2X3_types[447]); } const IfcParse::entity& Ifc2x3::IfcLightSourceAmbient::Class() { return *((IfcParse::entity*)IFC2X3_types[447]); } Ifc2x3::IfcLightSourceAmbient::IfcLightSourceAmbient(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc2x3::IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcLightSource(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } +Ifc2x3::IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } // Function implementations for IfcLightSourceDirectional -::Ifc2x3::IfcDirection* Ifc2x3::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc2x3::IfcDirection>(true); } +::Ifc2x3::IfcDirection* Ifc2x3::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc2x3::IfcDirection>(true); } void Ifc2x3::IfcLightSourceDirectional::setOrientation(::Ifc2x3::IfcDirection* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc2x3::IfcLightSourceDirectional::declaration() const { return *((IfcParse::entity*)IFC2X3_types[448]); } const IfcParse::entity& Ifc2x3::IfcLightSourceDirectional::Class() { return *((IfcParse::entity*)IFC2X3_types[448]); } Ifc2x3::IfcLightSourceDirectional::IfcLightSourceDirectional(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc2x3::IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc2x3::IfcDirection* v5_Orientation) : IfcLightSource(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Orientation ? v5_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc2x3::IfcDirection* v5_Orientation) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Orientation ? v5_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLightSourceGoniometric -::Ifc2x3::IfcAxis2Placement3D* Ifc2x3::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc2x3::IfcAxis2Placement3D>(true); } +::Ifc2x3::IfcAxis2Placement3D* Ifc2x3::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc2x3::IfcAxis2Placement3D>(true); } void Ifc2x3::IfcLightSourceGoniometric::setPosition(::Ifc2x3::IfcAxis2Placement3D* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcColourRgb* Ifc2x3::IfcLightSourceGoniometric::ColourAppearance() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcColourRgb>(true); } +::Ifc2x3::IfcColourRgb* Ifc2x3::IfcLightSourceGoniometric::ColourAppearance() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcColourRgb>(true); } void Ifc2x3::IfcLightSourceGoniometric::setColourAppearance(::Ifc2x3::IfcColourRgb* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -double Ifc2x3::IfcLightSourceGoniometric::ColourTemperature() const { double v = data_.get_attribute_value(6); return v; } +double Ifc2x3::IfcLightSourceGoniometric::ColourTemperature() const { double v = get_attribute_value(6); return v; } void Ifc2x3::IfcLightSourceGoniometric::setColourTemperature(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -double Ifc2x3::IfcLightSourceGoniometric::LuminousFlux() const { double v = data_.get_attribute_value(7); return v; } +double Ifc2x3::IfcLightSourceGoniometric::LuminousFlux() const { double v = get_attribute_value(7); return v; } void Ifc2x3::IfcLightSourceGoniometric::setLuminousFlux(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc2x3::IfcLightEmissionSourceEnum::Value Ifc2x3::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc2x3::IfcLightEmissionSourceEnum::FromString(data_.get_attribute_value(8)); } +::Ifc2x3::IfcLightEmissionSourceEnum::Value Ifc2x3::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc2x3::IfcLightEmissionSourceEnum::FromString(get_attribute_value(8)); } void Ifc2x3::IfcLightSourceGoniometric::setLightEmissionSource(::Ifc2x3::IfcLightEmissionSourceEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc2x3::IfcLightEmissionSourceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc2x3::IfcLightDistributionDataSourceSelect* Ifc2x3::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc2x3::IfcLightDistributionDataSourceSelect>(true); } +::Ifc2x3::IfcLightDistributionDataSourceSelect* Ifc2x3::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc2x3::IfcLightDistributionDataSourceSelect>(true); } void Ifc2x3::IfcLightSourceGoniometric::setLightDistributionDataSource(::Ifc2x3::IfcLightDistributionDataSourceSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcLightSourceGoniometric::declaration() const { return *((IfcParse::entity*)IFC2X3_types[449]); } const IfcParse::entity& Ifc2x3::IfcLightSourceGoniometric::Class() { return *((IfcParse::entity*)IFC2X3_types[449]); } Ifc2x3::IfcLightSourceGoniometric::IfcLightSourceGoniometric(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc2x3::IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc2x3::IfcAxis2Placement3D* v5_Position, ::Ifc2x3::IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc2x3::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc2x3::IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource(IfcEntityInstanceData(storage_t(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ColourAppearance ? v6_ColourAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, v10_LightDistributionDataSource ? v10_LightDistributionDataSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc2x3::IfcAxis2Placement3D* v5_Position, ::Ifc2x3::IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc2x3::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc2x3::IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ColourAppearance ? v6_ColourAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, v10_LightDistributionDataSource ? v10_LightDistributionDataSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLightSourcePositional -::Ifc2x3::IfcCartesianPoint* Ifc2x3::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc2x3::IfcCartesianPoint>(true); } +::Ifc2x3::IfcCartesianPoint* Ifc2x3::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc2x3::IfcCartesianPoint>(true); } void Ifc2x3::IfcLightSourcePositional::setPosition(::Ifc2x3::IfcCartesianPoint* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -double Ifc2x3::IfcLightSourcePositional::Radius() const { double v = data_.get_attribute_value(5); return v; } +double Ifc2x3::IfcLightSourcePositional::Radius() const { double v = get_attribute_value(5); return v; } void Ifc2x3::IfcLightSourcePositional::setRadius(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc2x3::IfcLightSourcePositional::ConstantAttenuation() const { double v = data_.get_attribute_value(6); return v; } +double Ifc2x3::IfcLightSourcePositional::ConstantAttenuation() const { double v = get_attribute_value(6); return v; } void Ifc2x3::IfcLightSourcePositional::setConstantAttenuation(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -double Ifc2x3::IfcLightSourcePositional::DistanceAttenuation() const { double v = data_.get_attribute_value(7); return v; } +double Ifc2x3::IfcLightSourcePositional::DistanceAttenuation() const { double v = get_attribute_value(7); return v; } void Ifc2x3::IfcLightSourcePositional::setDistanceAttenuation(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -double Ifc2x3::IfcLightSourcePositional::QuadricAttenuation() const { double v = data_.get_attribute_value(8); return v; } +double Ifc2x3::IfcLightSourcePositional::QuadricAttenuation() const { double v = get_attribute_value(8); return v; } void Ifc2x3::IfcLightSourcePositional::setQuadricAttenuation(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc2x3::IfcLightSourcePositional::declaration() const { return *((IfcParse::entity*)IFC2X3_types[450]); } const IfcParse::entity& Ifc2x3::IfcLightSourcePositional::Class() { return *((IfcParse::entity*)IFC2X3_types[450]); } Ifc2x3::IfcLightSourcePositional::IfcLightSourcePositional(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc2x3::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc2x3::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) : IfcLightSource(IfcEntityInstanceData(storage_t(9))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; populate_derived(); } +Ifc2x3::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc2x3::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; populate_derived(); } // Function implementations for IfcLightSourceSpot -::Ifc2x3::IfcDirection* Ifc2x3::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc2x3::IfcDirection>(true); } +::Ifc2x3::IfcDirection* Ifc2x3::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc2x3::IfcDirection>(true); } void Ifc2x3::IfcLightSourceSpot::setOrientation(::Ifc2x3::IfcDirection* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc2x3::IfcLightSourceSpot::ConcentrationExponent() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc2x3::IfcLightSourceSpot::ConcentrationExponent() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc2x3::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -double Ifc2x3::IfcLightSourceSpot::SpreadAngle() const { double v = data_.get_attribute_value(11); return v; } +double Ifc2x3::IfcLightSourceSpot::SpreadAngle() const { double v = get_attribute_value(11); return v; } void Ifc2x3::IfcLightSourceSpot::setSpreadAngle(double v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } -double Ifc2x3::IfcLightSourceSpot::BeamWidthAngle() const { double v = data_.get_attribute_value(12); return v; } +double Ifc2x3::IfcLightSourceSpot::BeamWidthAngle() const { double v = get_attribute_value(12); return v; } void Ifc2x3::IfcLightSourceSpot::setBeamWidthAngle(double v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } const IfcParse::entity& Ifc2x3::IfcLightSourceSpot::declaration() const { return *((IfcParse::entity*)IFC2X3_types[451]); } const IfcParse::entity& Ifc2x3::IfcLightSourceSpot::Class() { return *((IfcParse::entity*)IFC2X3_types[451]); } Ifc2x3::IfcLightSourceSpot::IfcLightSourceSpot(IfcEntityInstanceData&& e) : IfcLightSourcePositional(std::move(e)) { } -Ifc2x3::IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc2x3::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc2x3::IfcDirection* v10_Orientation, boost::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) : IfcLightSourcePositional(IfcEntityInstanceData(storage_t(13))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, v10_Orientation ? v10_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; populate_derived(); } +Ifc2x3::IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< std::string > v1_Name, ::Ifc2x3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc2x3::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc2x3::IfcDirection* v10_Orientation, boost::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) : IfcLightSourcePositional(IfcEntityInstanceData(in_memory_attribute_storage(13))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, v10_Orientation ? v10_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; populate_derived(); } // Function implementations for IfcLine -::Ifc2x3::IfcCartesianPoint* Ifc2x3::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcCartesianPoint>(true); } +::Ifc2x3::IfcCartesianPoint* Ifc2x3::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcCartesianPoint>(true); } void Ifc2x3::IfcLine::setPnt(::Ifc2x3::IfcCartesianPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcVector* Ifc2x3::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcVector>(true); } +::Ifc2x3::IfcVector* Ifc2x3::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcVector>(true); } void Ifc2x3::IfcLine::setDir(::Ifc2x3::IfcVector* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcLine::declaration() const { return *((IfcParse::entity*)IFC2X3_types[452]); } const IfcParse::entity& Ifc2x3::IfcLine::Class() { return *((IfcParse::entity*)IFC2X3_types[452]); } Ifc2x3::IfcLine::IfcLine(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc2x3::IfcLine::IfcLine(::Ifc2x3::IfcCartesianPoint* v1_Pnt, ::Ifc2x3::IfcVector* v2_Dir) : IfcCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Pnt ? v1_Pnt->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Dir ? v2_Dir->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcLine::IfcLine(::Ifc2x3::IfcCartesianPoint* v1_Pnt, ::Ifc2x3::IfcVector* v2_Dir) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Pnt ? v1_Pnt->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Dir ? v2_Dir->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLinearDimension @@ -8915,37 +8915,37 @@ Ifc2x3::IfcLine::IfcLine(::Ifc2x3::IfcCartesianPoint* v1_Pnt, ::Ifc2x3::IfcVecto const IfcParse::entity& Ifc2x3::IfcLinearDimension::declaration() const { return *((IfcParse::entity*)IFC2X3_types[453]); } const IfcParse::entity& Ifc2x3::IfcLinearDimension::Class() { return *((IfcParse::entity*)IFC2X3_types[453]); } Ifc2x3::IfcLinearDimension::IfcLinearDimension(IfcEntityInstanceData&& e) : IfcDimensionCurveDirectedCallout(std::move(e)) { } -Ifc2x3::IfcLinearDimension::IfcLinearDimension(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents) : IfcDimensionCurveDirectedCallout(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Contents)->generalize());; populate_derived(); } +Ifc2x3::IfcLinearDimension::IfcLinearDimension(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents) : IfcDimensionCurveDirectedCallout(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Contents)->generalize());; populate_derived(); } // Function implementations for IfcLocalPlacement -::Ifc2x3::IfcObjectPlacement* Ifc2x3::IfcLocalPlacement::PlacementRelTo() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcObjectPlacement>(true); } +::Ifc2x3::IfcObjectPlacement* Ifc2x3::IfcLocalPlacement::PlacementRelTo() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcObjectPlacement>(true); } void Ifc2x3::IfcLocalPlacement::setPlacementRelTo(::Ifc2x3::IfcObjectPlacement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcAxis2Placement* Ifc2x3::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcAxis2Placement>(true); } +::Ifc2x3::IfcAxis2Placement* Ifc2x3::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcAxis2Placement>(true); } void Ifc2x3::IfcLocalPlacement::setRelativePlacement(::Ifc2x3::IfcAxis2Placement* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcLocalPlacement::declaration() const { return *((IfcParse::entity*)IFC2X3_types[459]); } const IfcParse::entity& Ifc2x3::IfcLocalPlacement::Class() { return *((IfcParse::entity*)IFC2X3_types[459]); } Ifc2x3::IfcLocalPlacement::IfcLocalPlacement(IfcEntityInstanceData&& e) : IfcObjectPlacement(std::move(e)) { } -Ifc2x3::IfcLocalPlacement::IfcLocalPlacement(::Ifc2x3::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc2x3::IfcAxis2Placement* v2_RelativePlacement) : IfcObjectPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcLocalPlacement::IfcLocalPlacement(::Ifc2x3::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc2x3::IfcAxis2Placement* v2_RelativePlacement) : IfcObjectPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLocalTime -int Ifc2x3::IfcLocalTime::HourComponent() const { int v = data_.get_attribute_value(0); return v; } +int Ifc2x3::IfcLocalTime::HourComponent() const { int v = get_attribute_value(0); return v; } void Ifc2x3::IfcLocalTime::setHourComponent(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< int > Ifc2x3::IfcLocalTime::MinuteComponent() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } int v = data_.get_attribute_value(1); return v; } +boost::optional< int > Ifc2x3::IfcLocalTime::MinuteComponent() const { if(get_attribute_value(1).isNull()) { return boost::none; } int v = get_attribute_value(1); return v; } void Ifc2x3::IfcLocalTime::setMinuteComponent(boost::optional< int > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc2x3::IfcLocalTime::SecondComponent() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc2x3::IfcLocalTime::SecondComponent() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc2x3::IfcLocalTime::setSecondComponent(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc2x3::IfcCoordinatedUniversalTimeOffset* Ifc2x3::IfcLocalTime::Zone() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc2x3::IfcCoordinatedUniversalTimeOffset>(true); } +::Ifc2x3::IfcCoordinatedUniversalTimeOffset* Ifc2x3::IfcLocalTime::Zone() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc2x3::IfcCoordinatedUniversalTimeOffset>(true); } void Ifc2x3::IfcLocalTime::setZone(::Ifc2x3::IfcCoordinatedUniversalTimeOffset* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< int > Ifc2x3::IfcLocalTime::DaylightSavingOffset() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc2x3::IfcLocalTime::DaylightSavingOffset() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc2x3::IfcLocalTime::setDaylightSavingOffset(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc2x3::IfcLocalTime::declaration() const { return *((IfcParse::entity*)IFC2X3_types[460]); } const IfcParse::entity& Ifc2x3::IfcLocalTime::Class() { return *((IfcParse::entity*)IFC2X3_types[460]); } Ifc2x3::IfcLocalTime::IfcLocalTime(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcLocalTime::IfcLocalTime(int v1_HourComponent, boost::optional< int > v2_MinuteComponent, boost::optional< double > v3_SecondComponent, ::Ifc2x3::IfcCoordinatedUniversalTimeOffset* v4_Zone, boost::optional< int > v5_DaylightSavingOffset) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_HourComponent)); if (v2_MinuteComponent) {set_attribute_value(1, (*v2_MinuteComponent)); } if (v3_SecondComponent) {set_attribute_value(2, (*v3_SecondComponent)); }set_attribute_value(3, v4_Zone ? v4_Zone->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_DaylightSavingOffset) {set_attribute_value(4, (*v5_DaylightSavingOffset)); }; populate_derived(); } +Ifc2x3::IfcLocalTime::IfcLocalTime(int v1_HourComponent, boost::optional< int > v2_MinuteComponent, boost::optional< double > v3_SecondComponent, ::Ifc2x3::IfcCoordinatedUniversalTimeOffset* v4_Zone, boost::optional< int > v5_DaylightSavingOffset) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_HourComponent)); if (v2_MinuteComponent) {set_attribute_value(1, (*v2_MinuteComponent)); } if (v3_SecondComponent) {set_attribute_value(2, (*v3_SecondComponent)); }set_attribute_value(3, v4_Zone ? v4_Zone->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_DaylightSavingOffset) {set_attribute_value(4, (*v5_DaylightSavingOffset)); }; populate_derived(); } // Function implementations for IfcLoop @@ -8953,32 +8953,32 @@ Ifc2x3::IfcLocalTime::IfcLocalTime(int v1_HourComponent, boost::optional< int > const IfcParse::entity& Ifc2x3::IfcLoop::declaration() const { return *((IfcParse::entity*)IFC2X3_types[463]); } const IfcParse::entity& Ifc2x3::IfcLoop::Class() { return *((IfcParse::entity*)IFC2X3_types[463]); } Ifc2x3::IfcLoop::IfcLoop(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc2x3::IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc2x3::IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcManifoldSolidBrep -::Ifc2x3::IfcClosedShell* Ifc2x3::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcClosedShell>(true); } +::Ifc2x3::IfcClosedShell* Ifc2x3::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcClosedShell>(true); } void Ifc2x3::IfcManifoldSolidBrep::setOuter(::Ifc2x3::IfcClosedShell* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc2x3::IfcManifoldSolidBrep::declaration() const { return *((IfcParse::entity*)IFC2X3_types[470]); } const IfcParse::entity& Ifc2x3::IfcManifoldSolidBrep::Class() { return *((IfcParse::entity*)IFC2X3_types[470]); } Ifc2x3::IfcManifoldSolidBrep::IfcManifoldSolidBrep(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc2x3::IfcManifoldSolidBrep::IfcManifoldSolidBrep(::Ifc2x3::IfcClosedShell* v1_Outer) : IfcSolidModel(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcManifoldSolidBrep::IfcManifoldSolidBrep(::Ifc2x3::IfcClosedShell* v1_Outer) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMappedItem -::Ifc2x3::IfcRepresentationMap* Ifc2x3::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcRepresentationMap>(true); } +::Ifc2x3::IfcRepresentationMap* Ifc2x3::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcRepresentationMap>(true); } void Ifc2x3::IfcMappedItem::setMappingSource(::Ifc2x3::IfcRepresentationMap* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcCartesianTransformationOperator* Ifc2x3::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcCartesianTransformationOperator>(true); } +::Ifc2x3::IfcCartesianTransformationOperator* Ifc2x3::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcCartesianTransformationOperator>(true); } void Ifc2x3::IfcMappedItem::setMappingTarget(::Ifc2x3::IfcCartesianTransformationOperator* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcMappedItem::declaration() const { return *((IfcParse::entity*)IFC2X3_types[471]); } const IfcParse::entity& Ifc2x3::IfcMappedItem::Class() { return *((IfcParse::entity*)IFC2X3_types[471]); } Ifc2x3::IfcMappedItem::IfcMappedItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc2x3::IfcMappedItem::IfcMappedItem(::Ifc2x3::IfcRepresentationMap* v1_MappingSource, ::Ifc2x3::IfcCartesianTransformationOperator* v2_MappingTarget) : IfcRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_MappingSource ? v1_MappingSource->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappingTarget ? v2_MappingTarget->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcMappedItem::IfcMappedItem(::Ifc2x3::IfcRepresentationMap* v1_MappingSource, ::Ifc2x3::IfcCartesianTransformationOperator* v2_MappingTarget) : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_MappingSource ? v1_MappingSource->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappingTarget ? v2_MappingTarget->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterial -std::string Ifc2x3::IfcMaterial::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc2x3::IfcMaterial::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcMaterial::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } ::Ifc2x3::IfcMaterialDefinitionRepresentation::list::ptr Ifc2x3::IfcMaterial::HasRepresentation() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[478], 3)->as(); } @@ -8987,36 +8987,36 @@ void Ifc2x3::IfcMaterial::setName(std::string v) { set_attribute_value(0, v);if const IfcParse::entity& Ifc2x3::IfcMaterial::declaration() const { return *((IfcParse::entity*)IFC2X3_types[476]); } const IfcParse::entity& Ifc2x3::IfcMaterial::Class() { return *((IfcParse::entity*)IFC2X3_types[476]); } Ifc2x3::IfcMaterial::IfcMaterial(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcMaterial::IfcMaterial(std::string v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc2x3::IfcMaterial::IfcMaterial(std::string v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcMaterialClassificationRelationship -aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr Ifc2x3::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc2x3::IfcClassificationNotationSelect >(); } +aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr Ifc2x3::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc2x3::IfcClassificationNotationSelect >(); } void Ifc2x3::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcMaterial* Ifc2x3::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcMaterial>(true); } +::Ifc2x3::IfcMaterial* Ifc2x3::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcMaterial>(true); } void Ifc2x3::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc2x3::IfcMaterial* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcMaterialClassificationRelationship::declaration() const { return *((IfcParse::entity*)IFC2X3_types[477]); } const IfcParse::entity& Ifc2x3::IfcMaterialClassificationRelationship::Class() { return *((IfcParse::entity*)IFC2X3_types[477]); } Ifc2x3::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr v1_MaterialClassifications, ::Ifc2x3::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_MaterialClassifications)->generalize());set_attribute_value(1, v2_ClassifiedMaterial ? v2_ClassifiedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc2x3::IfcClassificationNotationSelect >::ptr v1_MaterialClassifications, ::Ifc2x3::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_MaterialClassifications)->generalize());set_attribute_value(1, v2_ClassifiedMaterial ? v2_ClassifiedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialDefinitionRepresentation -::Ifc2x3::IfcMaterial* Ifc2x3::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc2x3::IfcMaterial>(true); } +::Ifc2x3::IfcMaterial* Ifc2x3::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc2x3::IfcMaterial>(true); } void Ifc2x3::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(::Ifc2x3::IfcMaterial* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcMaterialDefinitionRepresentation::declaration() const { return *((IfcParse::entity*)IFC2X3_types[478]); } const IfcParse::entity& Ifc2x3::IfcMaterialDefinitionRepresentation::Class() { return *((IfcParse::entity*)IFC2X3_types[478]); } Ifc2x3::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(IfcEntityInstanceData&& e) : IfcProductRepresentation(std::move(e)) { } -Ifc2x3::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcRepresentation >::ptr v3_Representations, ::Ifc2x3::IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());set_attribute_value(3, v4_RepresentedMaterial ? v4_RepresentedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcRepresentation >::ptr v3_Representations, ::Ifc2x3::IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());set_attribute_value(3, v4_RepresentedMaterial ? v4_RepresentedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialLayer -::Ifc2x3::IfcMaterial* Ifc2x3::IfcMaterialLayer::Material() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcMaterial>(true); } +::Ifc2x3::IfcMaterial* Ifc2x3::IfcMaterialLayer::Material() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcMaterial>(true); } void Ifc2x3::IfcMaterialLayer::setMaterial(::Ifc2x3::IfcMaterial* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc2x3::IfcMaterialLayer::LayerThickness() const { double v = data_.get_attribute_value(1); return v; } +double Ifc2x3::IfcMaterialLayer::LayerThickness() const { double v = get_attribute_value(1); return v; } void Ifc2x3::IfcMaterialLayer::setLayerThickness(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< boost::logic::tribool > Ifc2x3::IfcMaterialLayer::IsVentilated() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::optional< boost::logic::tribool > Ifc2x3::IfcMaterialLayer::IsVentilated() const { if(get_attribute_value(2).isNull()) { return boost::none; } boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc2x3::IfcMaterialLayer::setIsVentilated(boost::optional< boost::logic::tribool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc2x3::IfcMaterialLayerSet::list::ptr Ifc2x3::IfcMaterialLayer::ToMaterialLayerSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[480], 0)->as(); } @@ -9024,99 +9024,99 @@ void Ifc2x3::IfcMaterialLayer::setIsVentilated(boost::optional< boost::logic::tr const IfcParse::entity& Ifc2x3::IfcMaterialLayer::declaration() const { return *((IfcParse::entity*)IFC2X3_types[479]); } const IfcParse::entity& Ifc2x3::IfcMaterialLayer::Class() { return *((IfcParse::entity*)IFC2X3_types[479]); } Ifc2x3::IfcMaterialLayer::IfcMaterialLayer(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcMaterialLayer::IfcMaterialLayer(::Ifc2x3::IfcMaterial* v1_Material, double v2_LayerThickness, boost::optional< boost::logic::tribool > v3_IsVentilated) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); }; populate_derived(); } +Ifc2x3::IfcMaterialLayer::IfcMaterialLayer(::Ifc2x3::IfcMaterial* v1_Material, double v2_LayerThickness, boost::optional< boost::logic::tribool > v3_IsVentilated) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); }; populate_derived(); } // Function implementations for IfcMaterialLayerSet -aggregate_of< ::Ifc2x3::IfcMaterialLayer >::ptr Ifc2x3::IfcMaterialLayerSet::MaterialLayers() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc2x3::IfcMaterialLayer >(); } +aggregate_of< ::Ifc2x3::IfcMaterialLayer >::ptr Ifc2x3::IfcMaterialLayerSet::MaterialLayers() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc2x3::IfcMaterialLayer >(); } void Ifc2x3::IfcMaterialLayerSet::setMaterialLayers(aggregate_of< ::Ifc2x3::IfcMaterialLayer >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc2x3::IfcMaterialLayerSet::LayerSetName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc2x3::IfcMaterialLayerSet::LayerSetName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcMaterialLayerSet::setLayerSetName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc2x3::IfcMaterialLayerSet::declaration() const { return *((IfcParse::entity*)IFC2X3_types[480]); } const IfcParse::entity& Ifc2x3::IfcMaterialLayerSet::Class() { return *((IfcParse::entity*)IFC2X3_types[480]); } Ifc2x3::IfcMaterialLayerSet::IfcMaterialLayerSet(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcMaterialLayerSet::IfcMaterialLayerSet(aggregate_of< ::Ifc2x3::IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_MaterialLayers)->generalize()); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); }; populate_derived(); } +Ifc2x3::IfcMaterialLayerSet::IfcMaterialLayerSet(aggregate_of< ::Ifc2x3::IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_MaterialLayers)->generalize()); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); }; populate_derived(); } // Function implementations for IfcMaterialLayerSetUsage -::Ifc2x3::IfcMaterialLayerSet* Ifc2x3::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcMaterialLayerSet>(true); } +::Ifc2x3::IfcMaterialLayerSet* Ifc2x3::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcMaterialLayerSet>(true); } void Ifc2x3::IfcMaterialLayerSetUsage::setForLayerSet(::Ifc2x3::IfcMaterialLayerSet* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcLayerSetDirectionEnum::Value Ifc2x3::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc2x3::IfcLayerSetDirectionEnum::FromString(data_.get_attribute_value(1)); } +::Ifc2x3::IfcLayerSetDirectionEnum::Value Ifc2x3::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc2x3::IfcLayerSetDirectionEnum::FromString(get_attribute_value(1)); } void Ifc2x3::IfcMaterialLayerSetUsage::setLayerSetDirection(::Ifc2x3::IfcLayerSetDirectionEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc2x3::IfcLayerSetDirectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -::Ifc2x3::IfcDirectionSenseEnum::Value Ifc2x3::IfcMaterialLayerSetUsage::DirectionSense() const { return ::Ifc2x3::IfcDirectionSenseEnum::FromString(data_.get_attribute_value(2)); } +::Ifc2x3::IfcDirectionSenseEnum::Value Ifc2x3::IfcMaterialLayerSetUsage::DirectionSense() const { return ::Ifc2x3::IfcDirectionSenseEnum::FromString(get_attribute_value(2)); } void Ifc2x3::IfcMaterialLayerSetUsage::setDirectionSense(::Ifc2x3::IfcDirectionSenseEnum::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc2x3::IfcDirectionSenseEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -double Ifc2x3::IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { double v = data_.get_attribute_value(3); return v; } +double Ifc2x3::IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { double v = get_attribute_value(3); return v; } void Ifc2x3::IfcMaterialLayerSetUsage::setOffsetFromReferenceLine(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcMaterialLayerSetUsage::declaration() const { return *((IfcParse::entity*)IFC2X3_types[481]); } const IfcParse::entity& Ifc2x3::IfcMaterialLayerSetUsage::Class() { return *((IfcParse::entity*)IFC2X3_types[481]); } Ifc2x3::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(::Ifc2x3::IfcMaterialLayerSet* v1_ForLayerSet, ::Ifc2x3::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc2x3::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ForLayerSet ? v1_ForLayerSet->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc2x3::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine));; populate_derived(); } +Ifc2x3::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(::Ifc2x3::IfcMaterialLayerSet* v1_ForLayerSet, ::Ifc2x3::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc2x3::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ForLayerSet ? v1_ForLayerSet->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc2x3::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine));; populate_derived(); } // Function implementations for IfcMaterialList -aggregate_of< ::Ifc2x3::IfcMaterial >::ptr Ifc2x3::IfcMaterialList::Materials() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc2x3::IfcMaterial >(); } +aggregate_of< ::Ifc2x3::IfcMaterial >::ptr Ifc2x3::IfcMaterialList::Materials() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc2x3::IfcMaterial >(); } void Ifc2x3::IfcMaterialList::setMaterials(aggregate_of< ::Ifc2x3::IfcMaterial >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc2x3::IfcMaterialList::declaration() const { return *((IfcParse::entity*)IFC2X3_types[482]); } const IfcParse::entity& Ifc2x3::IfcMaterialList::Class() { return *((IfcParse::entity*)IFC2X3_types[482]); } Ifc2x3::IfcMaterialList::IfcMaterialList(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcMaterialList::IfcMaterialList(aggregate_of< ::Ifc2x3::IfcMaterial >::ptr v1_Materials) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Materials)->generalize());; populate_derived(); } +Ifc2x3::IfcMaterialList::IfcMaterialList(aggregate_of< ::Ifc2x3::IfcMaterial >::ptr v1_Materials) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Materials)->generalize());; populate_derived(); } // Function implementations for IfcMaterialProperties -::Ifc2x3::IfcMaterial* Ifc2x3::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcMaterial>(true); } +::Ifc2x3::IfcMaterial* Ifc2x3::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcMaterial>(true); } void Ifc2x3::IfcMaterialProperties::setMaterial(::Ifc2x3::IfcMaterial* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc2x3::IfcMaterialProperties::declaration() const { return *((IfcParse::entity*)IFC2X3_types[483]); } const IfcParse::entity& Ifc2x3::IfcMaterialProperties::Class() { return *((IfcParse::entity*)IFC2X3_types[483]); } Ifc2x3::IfcMaterialProperties::IfcMaterialProperties(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcMaterialProperties::IfcMaterialProperties(::Ifc2x3::IfcMaterial* v1_Material) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcMaterialProperties::IfcMaterialProperties(::Ifc2x3::IfcMaterial* v1_Material) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMeasureWithUnit -::Ifc2x3::IfcValue* Ifc2x3::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcValue>(true); } +::Ifc2x3::IfcValue* Ifc2x3::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcValue>(true); } void Ifc2x3::IfcMeasureWithUnit::setValueComponent(::Ifc2x3::IfcValue* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcUnit* Ifc2x3::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcUnit>(true); } +::Ifc2x3::IfcUnit* Ifc2x3::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcUnit>(true); } void Ifc2x3::IfcMeasureWithUnit::setUnitComponent(::Ifc2x3::IfcUnit* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcMeasureWithUnit::declaration() const { return *((IfcParse::entity*)IFC2X3_types[486]); } const IfcParse::entity& Ifc2x3::IfcMeasureWithUnit::Class() { return *((IfcParse::entity*)IFC2X3_types[486]); } Ifc2x3::IfcMeasureWithUnit::IfcMeasureWithUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcMeasureWithUnit::IfcMeasureWithUnit(::Ifc2x3::IfcValue* v1_ValueComponent, ::Ifc2x3::IfcUnit* v2_UnitComponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_ValueComponent ? v1_ValueComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_UnitComponent ? v2_UnitComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcMeasureWithUnit::IfcMeasureWithUnit(::Ifc2x3::IfcValue* v1_ValueComponent, ::Ifc2x3::IfcUnit* v2_UnitComponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_ValueComponent ? v1_ValueComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_UnitComponent ? v2_UnitComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMechanicalConcreteMaterialProperties -boost::optional< double > Ifc2x3::IfcMechanicalConcreteMaterialProperties::CompressiveStrength() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc2x3::IfcMechanicalConcreteMaterialProperties::CompressiveStrength() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc2x3::IfcMechanicalConcreteMaterialProperties::setCompressiveStrength(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc2x3::IfcMechanicalConcreteMaterialProperties::MaxAggregateSize() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc2x3::IfcMechanicalConcreteMaterialProperties::MaxAggregateSize() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc2x3::IfcMechanicalConcreteMaterialProperties::setMaxAggregateSize(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc2x3::IfcMechanicalConcreteMaterialProperties::AdmixturesDescription() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc2x3::IfcMechanicalConcreteMaterialProperties::AdmixturesDescription() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc2x3::IfcMechanicalConcreteMaterialProperties::setAdmixturesDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc2x3::IfcMechanicalConcreteMaterialProperties::Workability() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc2x3::IfcMechanicalConcreteMaterialProperties::Workability() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc2x3::IfcMechanicalConcreteMaterialProperties::setWorkability(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc2x3::IfcMechanicalConcreteMaterialProperties::ProtectivePoreRatio() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc2x3::IfcMechanicalConcreteMaterialProperties::ProtectivePoreRatio() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc2x3::IfcMechanicalConcreteMaterialProperties::setProtectivePoreRatio(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< std::string > Ifc2x3::IfcMechanicalConcreteMaterialProperties::WaterImpermeability() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc2x3::IfcMechanicalConcreteMaterialProperties::WaterImpermeability() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc2x3::IfcMechanicalConcreteMaterialProperties::setWaterImpermeability(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc2x3::IfcMechanicalConcreteMaterialProperties::declaration() const { return *((IfcParse::entity*)IFC2X3_types[487]); } const IfcParse::entity& Ifc2x3::IfcMechanicalConcreteMaterialProperties::Class() { return *((IfcParse::entity*)IFC2X3_types[487]); } Ifc2x3::IfcMechanicalConcreteMaterialProperties::IfcMechanicalConcreteMaterialProperties(IfcEntityInstanceData&& e) : IfcMechanicalMaterialProperties(std::move(e)) { } -Ifc2x3::IfcMechanicalConcreteMaterialProperties::IfcMechanicalConcreteMaterialProperties(::Ifc2x3::IfcMaterial* v1_Material, boost::optional< double > v2_DynamicViscosity, boost::optional< double > v3_YoungModulus, boost::optional< double > v4_ShearModulus, boost::optional< double > v5_PoissonRatio, boost::optional< double > v6_ThermalExpansionCoefficient, boost::optional< double > v7_CompressiveStrength, boost::optional< double > v8_MaxAggregateSize, boost::optional< std::string > v9_AdmixturesDescription, boost::optional< std::string > v10_Workability, boost::optional< double > v11_ProtectivePoreRatio, boost::optional< std::string > v12_WaterImpermeability) : IfcMechanicalMaterialProperties(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_DynamicViscosity) {set_attribute_value(1, (*v2_DynamicViscosity)); } if (v3_YoungModulus) {set_attribute_value(2, (*v3_YoungModulus)); } if (v4_ShearModulus) {set_attribute_value(3, (*v4_ShearModulus)); } if (v5_PoissonRatio) {set_attribute_value(4, (*v5_PoissonRatio)); } if (v6_ThermalExpansionCoefficient) {set_attribute_value(5, (*v6_ThermalExpansionCoefficient)); } if (v7_CompressiveStrength) {set_attribute_value(6, (*v7_CompressiveStrength)); } if (v8_MaxAggregateSize) {set_attribute_value(7, (*v8_MaxAggregateSize)); } if (v9_AdmixturesDescription) {set_attribute_value(8, (*v9_AdmixturesDescription)); } if (v10_Workability) {set_attribute_value(9, (*v10_Workability)); } if (v11_ProtectivePoreRatio) {set_attribute_value(10, (*v11_ProtectivePoreRatio)); } if (v12_WaterImpermeability) {set_attribute_value(11, (*v12_WaterImpermeability)); }; populate_derived(); } +Ifc2x3::IfcMechanicalConcreteMaterialProperties::IfcMechanicalConcreteMaterialProperties(::Ifc2x3::IfcMaterial* v1_Material, boost::optional< double > v2_DynamicViscosity, boost::optional< double > v3_YoungModulus, boost::optional< double > v4_ShearModulus, boost::optional< double > v5_PoissonRatio, boost::optional< double > v6_ThermalExpansionCoefficient, boost::optional< double > v7_CompressiveStrength, boost::optional< double > v8_MaxAggregateSize, boost::optional< std::string > v9_AdmixturesDescription, boost::optional< std::string > v10_Workability, boost::optional< double > v11_ProtectivePoreRatio, boost::optional< std::string > v12_WaterImpermeability) : IfcMechanicalMaterialProperties(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_DynamicViscosity) {set_attribute_value(1, (*v2_DynamicViscosity)); } if (v3_YoungModulus) {set_attribute_value(2, (*v3_YoungModulus)); } if (v4_ShearModulus) {set_attribute_value(3, (*v4_ShearModulus)); } if (v5_PoissonRatio) {set_attribute_value(4, (*v5_PoissonRatio)); } if (v6_ThermalExpansionCoefficient) {set_attribute_value(5, (*v6_ThermalExpansionCoefficient)); } if (v7_CompressiveStrength) {set_attribute_value(6, (*v7_CompressiveStrength)); } if (v8_MaxAggregateSize) {set_attribute_value(7, (*v8_MaxAggregateSize)); } if (v9_AdmixturesDescription) {set_attribute_value(8, (*v9_AdmixturesDescription)); } if (v10_Workability) {set_attribute_value(9, (*v10_Workability)); } if (v11_ProtectivePoreRatio) {set_attribute_value(10, (*v11_ProtectivePoreRatio)); } if (v12_WaterImpermeability) {set_attribute_value(11, (*v12_WaterImpermeability)); }; populate_derived(); } // Function implementations for IfcMechanicalFastener -boost::optional< double > Ifc2x3::IfcMechanicalFastener::NominalDiameter() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc2x3::IfcMechanicalFastener::NominalDiameter() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc2x3::IfcMechanicalFastener::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc2x3::IfcMechanicalFastener::NominalLength() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc2x3::IfcMechanicalFastener::NominalLength() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc2x3::IfcMechanicalFastener::setNominalLength(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc2x3::IfcMechanicalFastener::declaration() const { return *((IfcParse::entity*)IFC2X3_types[488]); } const IfcParse::entity& Ifc2x3::IfcMechanicalFastener::Class() { return *((IfcParse::entity*)IFC2X3_types[488]); } Ifc2x3::IfcMechanicalFastener::IfcMechanicalFastener(IfcEntityInstanceData&& e) : IfcFastener(std::move(e)) { } -Ifc2x3::IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength) : IfcFastener(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); }; populate_derived(); } +Ifc2x3::IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength) : IfcFastener(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); }; populate_derived(); } // Function implementations for IfcMechanicalFastenerType @@ -9124,47 +9124,47 @@ Ifc2x3::IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId, :: const IfcParse::entity& Ifc2x3::IfcMechanicalFastenerType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[489]); } const IfcParse::entity& Ifc2x3::IfcMechanicalFastenerType::Class() { return *((IfcParse::entity*)IFC2X3_types[489]); } Ifc2x3::IfcMechanicalFastenerType::IfcMechanicalFastenerType(IfcEntityInstanceData&& e) : IfcFastenerType(std::move(e)) { } -Ifc2x3::IfcMechanicalFastenerType::IfcMechanicalFastenerType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcFastenerType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc2x3::IfcMechanicalFastenerType::IfcMechanicalFastenerType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcFastenerType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcMechanicalMaterialProperties -boost::optional< double > Ifc2x3::IfcMechanicalMaterialProperties::DynamicViscosity() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc2x3::IfcMechanicalMaterialProperties::DynamicViscosity() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc2x3::IfcMechanicalMaterialProperties::setDynamicViscosity(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc2x3::IfcMechanicalMaterialProperties::YoungModulus() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc2x3::IfcMechanicalMaterialProperties::YoungModulus() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc2x3::IfcMechanicalMaterialProperties::setYoungModulus(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc2x3::IfcMechanicalMaterialProperties::ShearModulus() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc2x3::IfcMechanicalMaterialProperties::ShearModulus() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc2x3::IfcMechanicalMaterialProperties::setShearModulus(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc2x3::IfcMechanicalMaterialProperties::PoissonRatio() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc2x3::IfcMechanicalMaterialProperties::PoissonRatio() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc2x3::IfcMechanicalMaterialProperties::setPoissonRatio(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc2x3::IfcMechanicalMaterialProperties::ThermalExpansionCoefficient() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc2x3::IfcMechanicalMaterialProperties::ThermalExpansionCoefficient() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc2x3::IfcMechanicalMaterialProperties::setThermalExpansionCoefficient(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc2x3::IfcMechanicalMaterialProperties::declaration() const { return *((IfcParse::entity*)IFC2X3_types[490]); } const IfcParse::entity& Ifc2x3::IfcMechanicalMaterialProperties::Class() { return *((IfcParse::entity*)IFC2X3_types[490]); } Ifc2x3::IfcMechanicalMaterialProperties::IfcMechanicalMaterialProperties(IfcEntityInstanceData&& e) : IfcMaterialProperties(std::move(e)) { } -Ifc2x3::IfcMechanicalMaterialProperties::IfcMechanicalMaterialProperties(::Ifc2x3::IfcMaterial* v1_Material, boost::optional< double > v2_DynamicViscosity, boost::optional< double > v3_YoungModulus, boost::optional< double > v4_ShearModulus, boost::optional< double > v5_PoissonRatio, boost::optional< double > v6_ThermalExpansionCoefficient) : IfcMaterialProperties(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_DynamicViscosity) {set_attribute_value(1, (*v2_DynamicViscosity)); } if (v3_YoungModulus) {set_attribute_value(2, (*v3_YoungModulus)); } if (v4_ShearModulus) {set_attribute_value(3, (*v4_ShearModulus)); } if (v5_PoissonRatio) {set_attribute_value(4, (*v5_PoissonRatio)); } if (v6_ThermalExpansionCoefficient) {set_attribute_value(5, (*v6_ThermalExpansionCoefficient)); }; populate_derived(); } +Ifc2x3::IfcMechanicalMaterialProperties::IfcMechanicalMaterialProperties(::Ifc2x3::IfcMaterial* v1_Material, boost::optional< double > v2_DynamicViscosity, boost::optional< double > v3_YoungModulus, boost::optional< double > v4_ShearModulus, boost::optional< double > v5_PoissonRatio, boost::optional< double > v6_ThermalExpansionCoefficient) : IfcMaterialProperties(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_DynamicViscosity) {set_attribute_value(1, (*v2_DynamicViscosity)); } if (v3_YoungModulus) {set_attribute_value(2, (*v3_YoungModulus)); } if (v4_ShearModulus) {set_attribute_value(3, (*v4_ShearModulus)); } if (v5_PoissonRatio) {set_attribute_value(4, (*v5_PoissonRatio)); } if (v6_ThermalExpansionCoefficient) {set_attribute_value(5, (*v6_ThermalExpansionCoefficient)); }; populate_derived(); } // Function implementations for IfcMechanicalSteelMaterialProperties -boost::optional< double > Ifc2x3::IfcMechanicalSteelMaterialProperties::YieldStress() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc2x3::IfcMechanicalSteelMaterialProperties::YieldStress() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc2x3::IfcMechanicalSteelMaterialProperties::setYieldStress(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc2x3::IfcMechanicalSteelMaterialProperties::UltimateStress() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc2x3::IfcMechanicalSteelMaterialProperties::UltimateStress() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc2x3::IfcMechanicalSteelMaterialProperties::setUltimateStress(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc2x3::IfcMechanicalSteelMaterialProperties::UltimateStrain() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc2x3::IfcMechanicalSteelMaterialProperties::UltimateStrain() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc2x3::IfcMechanicalSteelMaterialProperties::setUltimateStrain(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc2x3::IfcMechanicalSteelMaterialProperties::HardeningModule() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc2x3::IfcMechanicalSteelMaterialProperties::HardeningModule() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc2x3::IfcMechanicalSteelMaterialProperties::setHardeningModule(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc2x3::IfcMechanicalSteelMaterialProperties::ProportionalStress() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc2x3::IfcMechanicalSteelMaterialProperties::ProportionalStress() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc2x3::IfcMechanicalSteelMaterialProperties::setProportionalStress(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc2x3::IfcMechanicalSteelMaterialProperties::PlasticStrain() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc2x3::IfcMechanicalSteelMaterialProperties::PlasticStrain() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc2x3::IfcMechanicalSteelMaterialProperties::setPlasticStrain(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< aggregate_of< ::Ifc2x3::IfcRelaxation >::ptr > Ifc2x3::IfcMechanicalSteelMaterialProperties::Relaxations() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(12); return es->as< ::Ifc2x3::IfcRelaxation >(); } +boost::optional< aggregate_of< ::Ifc2x3::IfcRelaxation >::ptr > Ifc2x3::IfcMechanicalSteelMaterialProperties::Relaxations() const { if(get_attribute_value(12).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(12); return es->as< ::Ifc2x3::IfcRelaxation >(); } void Ifc2x3::IfcMechanicalSteelMaterialProperties::setRelaxations(boost::optional< aggregate_of< ::Ifc2x3::IfcRelaxation >::ptr > v) { if (v) {set_attribute_value(12, (*v)->generalize());} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc2x3::IfcMechanicalSteelMaterialProperties::declaration() const { return *((IfcParse::entity*)IFC2X3_types[491]); } const IfcParse::entity& Ifc2x3::IfcMechanicalSteelMaterialProperties::Class() { return *((IfcParse::entity*)IFC2X3_types[491]); } Ifc2x3::IfcMechanicalSteelMaterialProperties::IfcMechanicalSteelMaterialProperties(IfcEntityInstanceData&& e) : IfcMechanicalMaterialProperties(std::move(e)) { } -Ifc2x3::IfcMechanicalSteelMaterialProperties::IfcMechanicalSteelMaterialProperties(::Ifc2x3::IfcMaterial* v1_Material, boost::optional< double > v2_DynamicViscosity, boost::optional< double > v3_YoungModulus, boost::optional< double > v4_ShearModulus, boost::optional< double > v5_PoissonRatio, boost::optional< double > v6_ThermalExpansionCoefficient, boost::optional< double > v7_YieldStress, boost::optional< double > v8_UltimateStress, boost::optional< double > v9_UltimateStrain, boost::optional< double > v10_HardeningModule, boost::optional< double > v11_ProportionalStress, boost::optional< double > v12_PlasticStrain, boost::optional< aggregate_of< ::Ifc2x3::IfcRelaxation >::ptr > v13_Relaxations) : IfcMechanicalMaterialProperties(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_DynamicViscosity) {set_attribute_value(1, (*v2_DynamicViscosity)); } if (v3_YoungModulus) {set_attribute_value(2, (*v3_YoungModulus)); } if (v4_ShearModulus) {set_attribute_value(3, (*v4_ShearModulus)); } if (v5_PoissonRatio) {set_attribute_value(4, (*v5_PoissonRatio)); } if (v6_ThermalExpansionCoefficient) {set_attribute_value(5, (*v6_ThermalExpansionCoefficient)); } if (v7_YieldStress) {set_attribute_value(6, (*v7_YieldStress)); } if (v8_UltimateStress) {set_attribute_value(7, (*v8_UltimateStress)); } if (v9_UltimateStrain) {set_attribute_value(8, (*v9_UltimateStrain)); } if (v10_HardeningModule) {set_attribute_value(9, (*v10_HardeningModule)); } if (v11_ProportionalStress) {set_attribute_value(10, (*v11_ProportionalStress)); } if (v12_PlasticStrain) {set_attribute_value(11, (*v12_PlasticStrain)); } if (v13_Relaxations) {set_attribute_value(12, (*v13_Relaxations)->generalize()); }; populate_derived(); } +Ifc2x3::IfcMechanicalSteelMaterialProperties::IfcMechanicalSteelMaterialProperties(::Ifc2x3::IfcMaterial* v1_Material, boost::optional< double > v2_DynamicViscosity, boost::optional< double > v3_YoungModulus, boost::optional< double > v4_ShearModulus, boost::optional< double > v5_PoissonRatio, boost::optional< double > v6_ThermalExpansionCoefficient, boost::optional< double > v7_YieldStress, boost::optional< double > v8_UltimateStress, boost::optional< double > v9_UltimateStrain, boost::optional< double > v10_HardeningModule, boost::optional< double > v11_ProportionalStress, boost::optional< double > v12_PlasticStrain, boost::optional< aggregate_of< ::Ifc2x3::IfcRelaxation >::ptr > v13_Relaxations) : IfcMechanicalMaterialProperties(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_DynamicViscosity) {set_attribute_value(1, (*v2_DynamicViscosity)); } if (v3_YoungModulus) {set_attribute_value(2, (*v3_YoungModulus)); } if (v4_ShearModulus) {set_attribute_value(3, (*v4_ShearModulus)); } if (v5_PoissonRatio) {set_attribute_value(4, (*v5_PoissonRatio)); } if (v6_ThermalExpansionCoefficient) {set_attribute_value(5, (*v6_ThermalExpansionCoefficient)); } if (v7_YieldStress) {set_attribute_value(6, (*v7_YieldStress)); } if (v8_UltimateStress) {set_attribute_value(7, (*v8_UltimateStress)); } if (v9_UltimateStrain) {set_attribute_value(8, (*v9_UltimateStrain)); } if (v10_HardeningModule) {set_attribute_value(9, (*v10_HardeningModule)); } if (v11_ProportionalStress) {set_attribute_value(10, (*v11_ProportionalStress)); } if (v12_PlasticStrain) {set_attribute_value(11, (*v12_PlasticStrain)); } if (v13_Relaxations) {set_attribute_value(12, (*v13_Relaxations)->generalize()); }; populate_derived(); } // Function implementations for IfcMember @@ -9172,80 +9172,80 @@ Ifc2x3::IfcMechanicalSteelMaterialProperties::IfcMechanicalSteelMaterialProperti const IfcParse::entity& Ifc2x3::IfcMember::declaration() const { return *((IfcParse::entity*)IFC2X3_types[492]); } const IfcParse::entity& Ifc2x3::IfcMember::Class() { return *((IfcParse::entity*)IFC2X3_types[492]); } Ifc2x3::IfcMember::IfcMember(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc2x3::IfcMember::IfcMember(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcMember::IfcMember(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcMemberType -::Ifc2x3::IfcMemberTypeEnum::Value Ifc2x3::IfcMemberType::PredefinedType() const { return ::Ifc2x3::IfcMemberTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcMemberTypeEnum::Value Ifc2x3::IfcMemberType::PredefinedType() const { return ::Ifc2x3::IfcMemberTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcMemberType::setPredefinedType(::Ifc2x3::IfcMemberTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcMemberType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[493]); } const IfcParse::entity& Ifc2x3::IfcMemberType::Class() { return *((IfcParse::entity*)IFC2X3_types[493]); } Ifc2x3::IfcMemberType::IfcMemberType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc2x3::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcMemberTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcMemberTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMetric -::Ifc2x3::IfcBenchmarkEnum::Value Ifc2x3::IfcMetric::Benchmark() const { return ::Ifc2x3::IfcBenchmarkEnum::FromString(data_.get_attribute_value(7)); } +::Ifc2x3::IfcBenchmarkEnum::Value Ifc2x3::IfcMetric::Benchmark() const { return ::Ifc2x3::IfcBenchmarkEnum::FromString(get_attribute_value(7)); } void Ifc2x3::IfcMetric::setBenchmark(::Ifc2x3::IfcBenchmarkEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc2x3::IfcBenchmarkEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc2x3::IfcMetric::ValueSource() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc2x3::IfcMetric::ValueSource() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc2x3::IfcMetric::setValueSource(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc2x3::IfcMetricValueSelect* Ifc2x3::IfcMetric::DataValue() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc2x3::IfcMetricValueSelect>(true); } +::Ifc2x3::IfcMetricValueSelect* Ifc2x3::IfcMetric::DataValue() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc2x3::IfcMetricValueSelect>(true); } void Ifc2x3::IfcMetric::setDataValue(::Ifc2x3::IfcMetricValueSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcMetric::declaration() const { return *((IfcParse::entity*)IFC2X3_types[495]); } const IfcParse::entity& Ifc2x3::IfcMetric::Class() { return *((IfcParse::entity*)IFC2X3_types[495]); } Ifc2x3::IfcMetric::IfcMetric(IfcEntityInstanceData&& e) : IfcConstraint(std::move(e)) { } -Ifc2x3::IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc2x3::IfcActorSelect* v5_CreatingActor, ::Ifc2x3::IfcDateTimeSelect* v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, ::Ifc2x3::IfcBenchmarkEnum::Value v8_Benchmark, boost::optional< std::string > v9_ValueSource, ::Ifc2x3::IfcMetricValueSelect* v10_DataValue) : IfcConstraint(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_CreationTime ? v6_CreationTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, v10_DataValue ? v10_DataValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc2x3::IfcActorSelect* v5_CreatingActor, ::Ifc2x3::IfcDateTimeSelect* v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, ::Ifc2x3::IfcBenchmarkEnum::Value v8_Benchmark, boost::optional< std::string > v9_ValueSource, ::Ifc2x3::IfcMetricValueSelect* v10_DataValue) : IfcConstraint(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_CreationTime ? v6_CreationTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, v10_DataValue ? v10_DataValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMonetaryUnit -::Ifc2x3::IfcCurrencyEnum::Value Ifc2x3::IfcMonetaryUnit::Currency() const { return ::Ifc2x3::IfcCurrencyEnum::FromString(data_.get_attribute_value(0)); } +::Ifc2x3::IfcCurrencyEnum::Value Ifc2x3::IfcMonetaryUnit::Currency() const { return ::Ifc2x3::IfcCurrencyEnum::FromString(get_attribute_value(0)); } void Ifc2x3::IfcMonetaryUnit::setCurrency(::Ifc2x3::IfcCurrencyEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc2x3::IfcCurrencyEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc2x3::IfcMonetaryUnit::declaration() const { return *((IfcParse::entity*)IFC2X3_types[506]); } const IfcParse::entity& Ifc2x3::IfcMonetaryUnit::Class() { return *((IfcParse::entity*)IFC2X3_types[506]); } Ifc2x3::IfcMonetaryUnit::IfcMonetaryUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcMonetaryUnit::IfcMonetaryUnit(::Ifc2x3::IfcCurrencyEnum::Value v1_Currency) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcCurrencyEnum::Class(),(size_t)v1_Currency)));; populate_derived(); } +Ifc2x3::IfcMonetaryUnit::IfcMonetaryUnit(::Ifc2x3::IfcCurrencyEnum::Value v1_Currency) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcCurrencyEnum::Class(),(size_t)v1_Currency)));; populate_derived(); } // Function implementations for IfcMotorConnectionType -::Ifc2x3::IfcMotorConnectionTypeEnum::Value Ifc2x3::IfcMotorConnectionType::PredefinedType() const { return ::Ifc2x3::IfcMotorConnectionTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcMotorConnectionTypeEnum::Value Ifc2x3::IfcMotorConnectionType::PredefinedType() const { return ::Ifc2x3::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcMotorConnectionType::setPredefinedType(::Ifc2x3::IfcMotorConnectionTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcMotorConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcMotorConnectionType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[508]); } const IfcParse::entity& Ifc2x3::IfcMotorConnectionType::Class() { return *((IfcParse::entity*)IFC2X3_types[508]); } Ifc2x3::IfcMotorConnectionType::IfcMotorConnectionType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc2x3::IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMove -::Ifc2x3::IfcSpatialStructureElement* Ifc2x3::IfcMove::MoveFrom() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc2x3::IfcSpatialStructureElement>(true); } +::Ifc2x3::IfcSpatialStructureElement* Ifc2x3::IfcMove::MoveFrom() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc2x3::IfcSpatialStructureElement>(true); } void Ifc2x3::IfcMove::setMoveFrom(::Ifc2x3::IfcSpatialStructureElement* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } -::Ifc2x3::IfcSpatialStructureElement* Ifc2x3::IfcMove::MoveTo() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc2x3::IfcSpatialStructureElement>(true); } +::Ifc2x3::IfcSpatialStructureElement* Ifc2x3::IfcMove::MoveTo() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc2x3::IfcSpatialStructureElement>(true); } void Ifc2x3::IfcMove::setMoveTo(::Ifc2x3::IfcSpatialStructureElement* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc2x3::IfcMove::PunchList() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(12); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc2x3::IfcMove::PunchList() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(12); return v; } void Ifc2x3::IfcMove::setPunchList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc2x3::IfcMove::declaration() const { return *((IfcParse::entity*)IFC2X3_types[510]); } const IfcParse::entity& Ifc2x3::IfcMove::Class() { return *((IfcParse::entity*)IFC2X3_types[510]); } Ifc2x3::IfcMove::IfcMove(IfcEntityInstanceData&& e) : IfcTask(std::move(e)) { } -Ifc2x3::IfcMove::IfcMove(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_TaskId, boost::optional< std::string > v7_Status, boost::optional< std::string > v8_WorkMethod, bool v9_IsMilestone, boost::optional< int > v10_Priority, ::Ifc2x3::IfcSpatialStructureElement* v11_MoveFrom, ::Ifc2x3::IfcSpatialStructureElement* v12_MoveTo, boost::optional< std::vector< std::string > /*[1:?]*/ > v13_PunchList) : IfcTask(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TaskId)); if (v7_Status) {set_attribute_value(6, (*v7_Status)); } if (v8_WorkMethod) {set_attribute_value(7, (*v8_WorkMethod)); }set_attribute_value(8, (v9_IsMilestone)); if (v10_Priority) {set_attribute_value(9, (*v10_Priority)); }set_attribute_value(10, v11_MoveFrom ? v11_MoveFrom->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, v12_MoveTo ? v12_MoveTo->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_PunchList) {set_attribute_value(12, (*v13_PunchList)); }; populate_derived(); } +Ifc2x3::IfcMove::IfcMove(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_TaskId, boost::optional< std::string > v7_Status, boost::optional< std::string > v8_WorkMethod, bool v9_IsMilestone, boost::optional< int > v10_Priority, ::Ifc2x3::IfcSpatialStructureElement* v11_MoveFrom, ::Ifc2x3::IfcSpatialStructureElement* v12_MoveTo, boost::optional< std::vector< std::string > /*[1:?]*/ > v13_PunchList) : IfcTask(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TaskId)); if (v7_Status) {set_attribute_value(6, (*v7_Status)); } if (v8_WorkMethod) {set_attribute_value(7, (*v8_WorkMethod)); }set_attribute_value(8, (v9_IsMilestone)); if (v10_Priority) {set_attribute_value(9, (*v10_Priority)); }set_attribute_value(10, v11_MoveFrom ? v11_MoveFrom->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, v12_MoveTo ? v12_MoveTo->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_PunchList) {set_attribute_value(12, (*v13_PunchList)); }; populate_derived(); } // Function implementations for IfcNamedUnit -::Ifc2x3::IfcDimensionalExponents* Ifc2x3::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcDimensionalExponents>(true); } +::Ifc2x3::IfcDimensionalExponents* Ifc2x3::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcDimensionalExponents>(true); } void Ifc2x3::IfcNamedUnit::setDimensions(::Ifc2x3::IfcDimensionalExponents* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcUnitEnum::Value Ifc2x3::IfcNamedUnit::UnitType() const { return ::Ifc2x3::IfcUnitEnum::FromString(data_.get_attribute_value(1)); } +::Ifc2x3::IfcUnitEnum::Value Ifc2x3::IfcNamedUnit::UnitType() const { return ::Ifc2x3::IfcUnitEnum::FromString(get_attribute_value(1)); } void Ifc2x3::IfcNamedUnit::setUnitType(::Ifc2x3::IfcUnitEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc2x3::IfcUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcNamedUnit::declaration() const { return *((IfcParse::entity*)IFC2X3_types[511]); } const IfcParse::entity& Ifc2x3::IfcNamedUnit::Class() { return *((IfcParse::entity*)IFC2X3_types[511]); } Ifc2x3::IfcNamedUnit::IfcNamedUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcNamedUnit::IfcNamedUnit(::Ifc2x3::IfcDimensionalExponents* v1_Dimensions, ::Ifc2x3::IfcUnitEnum::Value v2_UnitType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc2x3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; populate_derived(); } +Ifc2x3::IfcNamedUnit::IfcNamedUnit(::Ifc2x3::IfcDimensionalExponents* v1_Dimensions, ::Ifc2x3::IfcUnitEnum::Value v2_UnitType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc2x3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; populate_derived(); } // Function implementations for IfcObject -boost::optional< std::string > Ifc2x3::IfcObject::ObjectType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc2x3::IfcObject::ObjectType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc2x3::IfcObject::setObjectType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } ::Ifc2x3::IfcRelDefines::list::ptr Ifc2x3::IfcObject::IsDefinedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[702], 4)->as(); } @@ -9253,7 +9253,7 @@ void Ifc2x3::IfcObject::setObjectType(boost::optional< std::string > v) { if (v) const IfcParse::entity& Ifc2x3::IfcObject::declaration() const { return *((IfcParse::entity*)IFC2X3_types[515]); } const IfcParse::entity& Ifc2x3::IfcObject::Class() { return *((IfcParse::entity*)IFC2X3_types[515]); } Ifc2x3::IfcObject::IfcObject(IfcEntityInstanceData&& e) : IfcObjectDefinition(std::move(e)) { } -Ifc2x3::IfcObject::IfcObject(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObjectDefinition(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc2x3::IfcObject::IfcObject(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObjectDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcObjectDefinition @@ -9265,7 +9265,7 @@ Ifc2x3::IfcObject::IfcObject(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* const IfcParse::entity& Ifc2x3::IfcObjectDefinition::declaration() const { return *((IfcParse::entity*)IFC2X3_types[516]); } const IfcParse::entity& Ifc2x3::IfcObjectDefinition::Class() { return *((IfcParse::entity*)IFC2X3_types[516]); } Ifc2x3::IfcObjectDefinition::IfcObjectDefinition(IfcEntityInstanceData&& e) : IfcRoot(std::move(e)) { } -Ifc2x3::IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc2x3::IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcObjectPlacement @@ -9275,73 +9275,73 @@ Ifc2x3::IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, ::Ifc2 const IfcParse::entity& Ifc2x3::IfcObjectPlacement::declaration() const { return *((IfcParse::entity*)IFC2X3_types[519]); } const IfcParse::entity& Ifc2x3::IfcObjectPlacement::Class() { return *((IfcParse::entity*)IFC2X3_types[519]); } Ifc2x3::IfcObjectPlacement::IfcObjectPlacement(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcObjectPlacement::IfcObjectPlacement() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc2x3::IfcObjectPlacement::IfcObjectPlacement() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcObjective -::Ifc2x3::IfcMetric* Ifc2x3::IfcObjective::BenchmarkValues() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc2x3::IfcMetric>(true); } +::Ifc2x3::IfcMetric* Ifc2x3::IfcObjective::BenchmarkValues() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc2x3::IfcMetric>(true); } void Ifc2x3::IfcObjective::setBenchmarkValues(::Ifc2x3::IfcMetric* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc2x3::IfcMetric* Ifc2x3::IfcObjective::ResultValues() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc2x3::IfcMetric>(true); } +::Ifc2x3::IfcMetric* Ifc2x3::IfcObjective::ResultValues() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc2x3::IfcMetric>(true); } void Ifc2x3::IfcObjective::setResultValues(::Ifc2x3::IfcMetric* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -::Ifc2x3::IfcObjectiveEnum::Value Ifc2x3::IfcObjective::ObjectiveQualifier() const { return ::Ifc2x3::IfcObjectiveEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcObjectiveEnum::Value Ifc2x3::IfcObjective::ObjectiveQualifier() const { return ::Ifc2x3::IfcObjectiveEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcObjective::setObjectiveQualifier(::Ifc2x3::IfcObjectiveEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcObjectiveEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc2x3::IfcObjective::UserDefinedQualifier() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc2x3::IfcObjective::UserDefinedQualifier() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc2x3::IfcObjective::setUserDefinedQualifier(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc2x3::IfcObjective::declaration() const { return *((IfcParse::entity*)IFC2X3_types[517]); } const IfcParse::entity& Ifc2x3::IfcObjective::Class() { return *((IfcParse::entity*)IFC2X3_types[517]); } Ifc2x3::IfcObjective::IfcObjective(IfcEntityInstanceData&& e) : IfcConstraint(std::move(e)) { } -Ifc2x3::IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc2x3::IfcActorSelect* v5_CreatingActor, ::Ifc2x3::IfcDateTimeSelect* v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, ::Ifc2x3::IfcMetric* v8_BenchmarkValues, ::Ifc2x3::IfcMetric* v9_ResultValues, ::Ifc2x3::IfcObjectiveEnum::Value v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier) : IfcConstraint(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_CreationTime ? v6_CreationTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, v8_BenchmarkValues ? v8_BenchmarkValues->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_ResultValues ? v9_ResultValues->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; populate_derived(); } +Ifc2x3::IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc2x3::IfcActorSelect* v5_CreatingActor, ::Ifc2x3::IfcDateTimeSelect* v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, ::Ifc2x3::IfcMetric* v8_BenchmarkValues, ::Ifc2x3::IfcMetric* v9_ResultValues, ::Ifc2x3::IfcObjectiveEnum::Value v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier) : IfcConstraint(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_CreationTime ? v6_CreationTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, v8_BenchmarkValues ? v8_BenchmarkValues->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_ResultValues ? v9_ResultValues->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; populate_derived(); } // Function implementations for IfcOccupant -::Ifc2x3::IfcOccupantTypeEnum::Value Ifc2x3::IfcOccupant::PredefinedType() const { return ::Ifc2x3::IfcOccupantTypeEnum::FromString(data_.get_attribute_value(6)); } +::Ifc2x3::IfcOccupantTypeEnum::Value Ifc2x3::IfcOccupant::PredefinedType() const { return ::Ifc2x3::IfcOccupantTypeEnum::FromString(get_attribute_value(6)); } void Ifc2x3::IfcOccupant::setPredefinedType(::Ifc2x3::IfcOccupantTypeEnum::Value v) { set_attribute_value(6, EnumerationReference(&::Ifc2x3::IfcOccupantTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc2x3::IfcOccupant::declaration() const { return *((IfcParse::entity*)IFC2X3_types[522]); } const IfcParse::entity& Ifc2x3::IfcOccupant::Class() { return *((IfcParse::entity*)IFC2X3_types[522]); } Ifc2x3::IfcOccupant::IfcOccupant(IfcEntityInstanceData&& e) : IfcActor(std::move(e)) { } -Ifc2x3::IfcOccupant::IfcOccupant(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcActorSelect* v6_TheActor, ::Ifc2x3::IfcOccupantTypeEnum::Value v7_PredefinedType) : IfcActor(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, (EnumerationReference(&::Ifc2x3::IfcOccupantTypeEnum::Class(),(size_t)v7_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcOccupant::IfcOccupant(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcActorSelect* v6_TheActor, ::Ifc2x3::IfcOccupantTypeEnum::Value v7_PredefinedType) : IfcActor(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, (EnumerationReference(&::Ifc2x3::IfcOccupantTypeEnum::Class(),(size_t)v7_PredefinedType)));; populate_derived(); } // Function implementations for IfcOffsetCurve2D -::Ifc2x3::IfcCurve* Ifc2x3::IfcOffsetCurve2D::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcCurve>(true); } +::Ifc2x3::IfcCurve* Ifc2x3::IfcOffsetCurve2D::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcCurve>(true); } void Ifc2x3::IfcOffsetCurve2D::setBasisCurve(::Ifc2x3::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc2x3::IfcOffsetCurve2D::Distance() const { double v = data_.get_attribute_value(1); return v; } +double Ifc2x3::IfcOffsetCurve2D::Distance() const { double v = get_attribute_value(1); return v; } void Ifc2x3::IfcOffsetCurve2D::setDistance(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::logic::tribool Ifc2x3::IfcOffsetCurve2D::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::logic::tribool Ifc2x3::IfcOffsetCurve2D::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc2x3::IfcOffsetCurve2D::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc2x3::IfcOffsetCurve2D::declaration() const { return *((IfcParse::entity*)IFC2X3_types[524]); } const IfcParse::entity& Ifc2x3::IfcOffsetCurve2D::Class() { return *((IfcParse::entity*)IFC2X3_types[524]); } Ifc2x3::IfcOffsetCurve2D::IfcOffsetCurve2D(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc2x3::IfcOffsetCurve2D::IfcOffsetCurve2D(::Ifc2x3::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) : IfcCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; populate_derived(); } +Ifc2x3::IfcOffsetCurve2D::IfcOffsetCurve2D(::Ifc2x3::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; populate_derived(); } // Function implementations for IfcOffsetCurve3D -::Ifc2x3::IfcCurve* Ifc2x3::IfcOffsetCurve3D::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcCurve>(true); } +::Ifc2x3::IfcCurve* Ifc2x3::IfcOffsetCurve3D::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcCurve>(true); } void Ifc2x3::IfcOffsetCurve3D::setBasisCurve(::Ifc2x3::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc2x3::IfcOffsetCurve3D::Distance() const { double v = data_.get_attribute_value(1); return v; } +double Ifc2x3::IfcOffsetCurve3D::Distance() const { double v = get_attribute_value(1); return v; } void Ifc2x3::IfcOffsetCurve3D::setDistance(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::logic::tribool Ifc2x3::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::logic::tribool Ifc2x3::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc2x3::IfcOffsetCurve3D::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcDirection* Ifc2x3::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc2x3::IfcDirection>(true); } +::Ifc2x3::IfcDirection* Ifc2x3::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc2x3::IfcDirection>(true); } void Ifc2x3::IfcOffsetCurve3D::setRefDirection(::Ifc2x3::IfcDirection* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcOffsetCurve3D::declaration() const { return *((IfcParse::entity*)IFC2X3_types[525]); } const IfcParse::entity& Ifc2x3::IfcOffsetCurve3D::Class() { return *((IfcParse::entity*)IFC2X3_types[525]); } Ifc2x3::IfcOffsetCurve3D::IfcOffsetCurve3D(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc2x3::IfcOffsetCurve3D::IfcOffsetCurve3D(::Ifc2x3::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc2x3::IfcDirection* v4_RefDirection) : IfcCurve(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, v4_RefDirection ? v4_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcOffsetCurve3D::IfcOffsetCurve3D(::Ifc2x3::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc2x3::IfcDirection* v4_RefDirection) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, v4_RefDirection ? v4_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcOneDirectionRepeatFactor -::Ifc2x3::IfcVector* Ifc2x3::IfcOneDirectionRepeatFactor::RepeatFactor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcVector>(true); } +::Ifc2x3::IfcVector* Ifc2x3::IfcOneDirectionRepeatFactor::RepeatFactor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcVector>(true); } void Ifc2x3::IfcOneDirectionRepeatFactor::setRepeatFactor(::Ifc2x3::IfcVector* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc2x3::IfcOneDirectionRepeatFactor::declaration() const { return *((IfcParse::entity*)IFC2X3_types[526]); } const IfcParse::entity& Ifc2x3::IfcOneDirectionRepeatFactor::Class() { return *((IfcParse::entity*)IFC2X3_types[526]); } Ifc2x3::IfcOneDirectionRepeatFactor::IfcOneDirectionRepeatFactor(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc2x3::IfcOneDirectionRepeatFactor::IfcOneDirectionRepeatFactor(::Ifc2x3::IfcVector* v1_RepeatFactor) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_RepeatFactor ? v1_RepeatFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcOneDirectionRepeatFactor::IfcOneDirectionRepeatFactor(::Ifc2x3::IfcVector* v1_RepeatFactor) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_RepeatFactor ? v1_RepeatFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcOpenShell @@ -9349,7 +9349,7 @@ Ifc2x3::IfcOneDirectionRepeatFactor::IfcOneDirectionRepeatFactor(::Ifc2x3::IfcVe const IfcParse::entity& Ifc2x3::IfcOpenShell::declaration() const { return *((IfcParse::entity*)IFC2X3_types[528]); } const IfcParse::entity& Ifc2x3::IfcOpenShell::Class() { return *((IfcParse::entity*)IFC2X3_types[528]); } Ifc2x3::IfcOpenShell::IfcOpenShell(IfcEntityInstanceData&& e) : IfcConnectedFaceSet(std::move(e)) { } -Ifc2x3::IfcOpenShell::IfcOpenShell(aggregate_of< ::Ifc2x3::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc2x3::IfcOpenShell::IfcOpenShell(aggregate_of< ::Ifc2x3::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcOpeningElement @@ -9358,54 +9358,54 @@ Ifc2x3::IfcOpenShell::IfcOpenShell(aggregate_of< ::Ifc2x3::IfcFace >::ptr v1_Cfs const IfcParse::entity& Ifc2x3::IfcOpeningElement::declaration() const { return *((IfcParse::entity*)IFC2X3_types[527]); } const IfcParse::entity& Ifc2x3::IfcOpeningElement::Class() { return *((IfcParse::entity*)IFC2X3_types[527]); } Ifc2x3::IfcOpeningElement::IfcOpeningElement(IfcEntityInstanceData&& e) : IfcFeatureElementSubtraction(std::move(e)) { } -Ifc2x3::IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElementSubtraction(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElementSubtraction(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcOpticalMaterialProperties -boost::optional< double > Ifc2x3::IfcOpticalMaterialProperties::VisibleTransmittance() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc2x3::IfcOpticalMaterialProperties::VisibleTransmittance() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc2x3::IfcOpticalMaterialProperties::setVisibleTransmittance(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc2x3::IfcOpticalMaterialProperties::SolarTransmittance() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc2x3::IfcOpticalMaterialProperties::SolarTransmittance() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc2x3::IfcOpticalMaterialProperties::setSolarTransmittance(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc2x3::IfcOpticalMaterialProperties::ThermalIrTransmittance() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc2x3::IfcOpticalMaterialProperties::ThermalIrTransmittance() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc2x3::IfcOpticalMaterialProperties::setThermalIrTransmittance(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc2x3::IfcOpticalMaterialProperties::ThermalIrEmissivityBack() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc2x3::IfcOpticalMaterialProperties::ThermalIrEmissivityBack() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc2x3::IfcOpticalMaterialProperties::setThermalIrEmissivityBack(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc2x3::IfcOpticalMaterialProperties::ThermalIrEmissivityFront() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc2x3::IfcOpticalMaterialProperties::ThermalIrEmissivityFront() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc2x3::IfcOpticalMaterialProperties::setThermalIrEmissivityFront(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc2x3::IfcOpticalMaterialProperties::VisibleReflectanceBack() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc2x3::IfcOpticalMaterialProperties::VisibleReflectanceBack() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc2x3::IfcOpticalMaterialProperties::setVisibleReflectanceBack(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc2x3::IfcOpticalMaterialProperties::VisibleReflectanceFront() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc2x3::IfcOpticalMaterialProperties::VisibleReflectanceFront() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc2x3::IfcOpticalMaterialProperties::setVisibleReflectanceFront(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc2x3::IfcOpticalMaterialProperties::SolarReflectanceFront() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc2x3::IfcOpticalMaterialProperties::SolarReflectanceFront() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc2x3::IfcOpticalMaterialProperties::setSolarReflectanceFront(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc2x3::IfcOpticalMaterialProperties::SolarReflectanceBack() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc2x3::IfcOpticalMaterialProperties::SolarReflectanceBack() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc2x3::IfcOpticalMaterialProperties::setSolarReflectanceBack(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc2x3::IfcOpticalMaterialProperties::declaration() const { return *((IfcParse::entity*)IFC2X3_types[529]); } const IfcParse::entity& Ifc2x3::IfcOpticalMaterialProperties::Class() { return *((IfcParse::entity*)IFC2X3_types[529]); } Ifc2x3::IfcOpticalMaterialProperties::IfcOpticalMaterialProperties(IfcEntityInstanceData&& e) : IfcMaterialProperties(std::move(e)) { } -Ifc2x3::IfcOpticalMaterialProperties::IfcOpticalMaterialProperties(::Ifc2x3::IfcMaterial* v1_Material, boost::optional< double > v2_VisibleTransmittance, boost::optional< double > v3_SolarTransmittance, boost::optional< double > v4_ThermalIrTransmittance, boost::optional< double > v5_ThermalIrEmissivityBack, boost::optional< double > v6_ThermalIrEmissivityFront, boost::optional< double > v7_VisibleReflectanceBack, boost::optional< double > v8_VisibleReflectanceFront, boost::optional< double > v9_SolarReflectanceFront, boost::optional< double > v10_SolarReflectanceBack) : IfcMaterialProperties(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_VisibleTransmittance) {set_attribute_value(1, (*v2_VisibleTransmittance)); } if (v3_SolarTransmittance) {set_attribute_value(2, (*v3_SolarTransmittance)); } if (v4_ThermalIrTransmittance) {set_attribute_value(3, (*v4_ThermalIrTransmittance)); } if (v5_ThermalIrEmissivityBack) {set_attribute_value(4, (*v5_ThermalIrEmissivityBack)); } if (v6_ThermalIrEmissivityFront) {set_attribute_value(5, (*v6_ThermalIrEmissivityFront)); } if (v7_VisibleReflectanceBack) {set_attribute_value(6, (*v7_VisibleReflectanceBack)); } if (v8_VisibleReflectanceFront) {set_attribute_value(7, (*v8_VisibleReflectanceFront)); } if (v9_SolarReflectanceFront) {set_attribute_value(8, (*v9_SolarReflectanceFront)); } if (v10_SolarReflectanceBack) {set_attribute_value(9, (*v10_SolarReflectanceBack)); }; populate_derived(); } +Ifc2x3::IfcOpticalMaterialProperties::IfcOpticalMaterialProperties(::Ifc2x3::IfcMaterial* v1_Material, boost::optional< double > v2_VisibleTransmittance, boost::optional< double > v3_SolarTransmittance, boost::optional< double > v4_ThermalIrTransmittance, boost::optional< double > v5_ThermalIrEmissivityBack, boost::optional< double > v6_ThermalIrEmissivityFront, boost::optional< double > v7_VisibleReflectanceBack, boost::optional< double > v8_VisibleReflectanceFront, boost::optional< double > v9_SolarReflectanceFront, boost::optional< double > v10_SolarReflectanceBack) : IfcMaterialProperties(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_VisibleTransmittance) {set_attribute_value(1, (*v2_VisibleTransmittance)); } if (v3_SolarTransmittance) {set_attribute_value(2, (*v3_SolarTransmittance)); } if (v4_ThermalIrTransmittance) {set_attribute_value(3, (*v4_ThermalIrTransmittance)); } if (v5_ThermalIrEmissivityBack) {set_attribute_value(4, (*v5_ThermalIrEmissivityBack)); } if (v6_ThermalIrEmissivityFront) {set_attribute_value(5, (*v6_ThermalIrEmissivityFront)); } if (v7_VisibleReflectanceBack) {set_attribute_value(6, (*v7_VisibleReflectanceBack)); } if (v8_VisibleReflectanceFront) {set_attribute_value(7, (*v8_VisibleReflectanceFront)); } if (v9_SolarReflectanceFront) {set_attribute_value(8, (*v9_SolarReflectanceFront)); } if (v10_SolarReflectanceBack) {set_attribute_value(9, (*v10_SolarReflectanceBack)); }; populate_derived(); } // Function implementations for IfcOrderAction -std::string Ifc2x3::IfcOrderAction::ActionID() const { std::string v = data_.get_attribute_value(10); return v; } +std::string Ifc2x3::IfcOrderAction::ActionID() const { std::string v = get_attribute_value(10); return v; } void Ifc2x3::IfcOrderAction::setActionID(std::string v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc2x3::IfcOrderAction::declaration() const { return *((IfcParse::entity*)IFC2X3_types[530]); } const IfcParse::entity& Ifc2x3::IfcOrderAction::Class() { return *((IfcParse::entity*)IFC2X3_types[530]); } Ifc2x3::IfcOrderAction::IfcOrderAction(IfcEntityInstanceData&& e) : IfcTask(std::move(e)) { } -Ifc2x3::IfcOrderAction::IfcOrderAction(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_TaskId, boost::optional< std::string > v7_Status, boost::optional< std::string > v8_WorkMethod, bool v9_IsMilestone, boost::optional< int > v10_Priority, std::string v11_ActionID) : IfcTask(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TaskId)); if (v7_Status) {set_attribute_value(6, (*v7_Status)); } if (v8_WorkMethod) {set_attribute_value(7, (*v8_WorkMethod)); }set_attribute_value(8, (v9_IsMilestone)); if (v10_Priority) {set_attribute_value(9, (*v10_Priority)); }set_attribute_value(10, (v11_ActionID));; populate_derived(); } +Ifc2x3::IfcOrderAction::IfcOrderAction(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_TaskId, boost::optional< std::string > v7_Status, boost::optional< std::string > v8_WorkMethod, bool v9_IsMilestone, boost::optional< int > v10_Priority, std::string v11_ActionID) : IfcTask(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TaskId)); if (v7_Status) {set_attribute_value(6, (*v7_Status)); } if (v8_WorkMethod) {set_attribute_value(7, (*v8_WorkMethod)); }set_attribute_value(8, (v9_IsMilestone)); if (v10_Priority) {set_attribute_value(9, (*v10_Priority)); }set_attribute_value(10, (v11_ActionID));; populate_derived(); } // Function implementations for IfcOrganization -boost::optional< std::string > Ifc2x3::IfcOrganization::Id() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc2x3::IfcOrganization::Id() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcOrganization::setId(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -std::string Ifc2x3::IfcOrganization::Name() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc2x3::IfcOrganization::Name() const { std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcOrganization::setName(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc2x3::IfcOrganization::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc2x3::IfcOrganization::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcOrganization::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< aggregate_of< ::Ifc2x3::IfcActorRole >::ptr > Ifc2x3::IfcOrganization::Roles() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc2x3::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc2x3::IfcActorRole >::ptr > Ifc2x3::IfcOrganization::Roles() const { if(get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc2x3::IfcActorRole >(); } void Ifc2x3::IfcOrganization::setRoles(boost::optional< aggregate_of< ::Ifc2x3::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(3, (*v)->generalize());} else {unset_attribute_value(3);} } -boost::optional< aggregate_of< ::Ifc2x3::IfcAddress >::ptr > Ifc2x3::IfcOrganization::Addresses() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc2x3::IfcAddress >(); } +boost::optional< aggregate_of< ::Ifc2x3::IfcAddress >::ptr > Ifc2x3::IfcOrganization::Addresses() const { if(get_attribute_value(4).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc2x3::IfcAddress >(); } void Ifc2x3::IfcOrganization::setAddresses(boost::optional< aggregate_of< ::Ifc2x3::IfcAddress >::ptr > v) { if (v) {set_attribute_value(4, (*v)->generalize());} else {unset_attribute_value(4);} } ::Ifc2x3::IfcOrganizationRelationship::list::ptr Ifc2x3::IfcOrganization::IsRelatedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[532], 3)->as(); } @@ -9415,144 +9415,144 @@ void Ifc2x3::IfcOrganization::setAddresses(boost::optional< aggregate_of< ::Ifc2 const IfcParse::entity& Ifc2x3::IfcOrganization::declaration() const { return *((IfcParse::entity*)IFC2X3_types[531]); } const IfcParse::entity& Ifc2x3::IfcOrganization::Class() { return *((IfcParse::entity*)IFC2X3_types[531]); } Ifc2x3::IfcOrganization::IfcOrganization(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcOrganization::IfcOrganization(boost::optional< std::string > v1_Id, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc2x3::IfcActorRole >::ptr > v4_Roles, boost::optional< aggregate_of< ::Ifc2x3::IfcAddress >::ptr > v5_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { if (v1_Id) {set_attribute_value(0, (*v1_Id)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, (*v4_Roles)->generalize()); } if (v5_Addresses) {set_attribute_value(4, (*v5_Addresses)->generalize()); }; populate_derived(); } +Ifc2x3::IfcOrganization::IfcOrganization(boost::optional< std::string > v1_Id, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc2x3::IfcActorRole >::ptr > v4_Roles, boost::optional< aggregate_of< ::Ifc2x3::IfcAddress >::ptr > v5_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Id) {set_attribute_value(0, (*v1_Id)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, (*v4_Roles)->generalize()); } if (v5_Addresses) {set_attribute_value(4, (*v5_Addresses)->generalize()); }; populate_derived(); } // Function implementations for IfcOrganizationRelationship -std::string Ifc2x3::IfcOrganizationRelationship::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc2x3::IfcOrganizationRelationship::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcOrganizationRelationship::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc2x3::IfcOrganizationRelationship::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc2x3::IfcOrganizationRelationship::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcOrganizationRelationship::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc2x3::IfcOrganization* Ifc2x3::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcOrganization>(true); } +::Ifc2x3::IfcOrganization* Ifc2x3::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcOrganization>(true); } void Ifc2x3::IfcOrganizationRelationship::setRelatingOrganization(::Ifc2x3::IfcOrganization* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc2x3::IfcOrganization >::ptr Ifc2x3::IfcOrganizationRelationship::RelatedOrganizations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc2x3::IfcOrganization >(); } +aggregate_of< ::Ifc2x3::IfcOrganization >::ptr Ifc2x3::IfcOrganizationRelationship::RelatedOrganizations() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc2x3::IfcOrganization >(); } void Ifc2x3::IfcOrganizationRelationship::setRelatedOrganizations(aggregate_of< ::Ifc2x3::IfcOrganization >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcOrganizationRelationship::declaration() const { return *((IfcParse::entity*)IFC2X3_types[532]); } const IfcParse::entity& Ifc2x3::IfcOrganizationRelationship::Class() { return *((IfcParse::entity*)IFC2X3_types[532]); } Ifc2x3::IfcOrganizationRelationship::IfcOrganizationRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcOrganizationRelationship::IfcOrganizationRelationship(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcOrganization* v3_RelatingOrganization, aggregate_of< ::Ifc2x3::IfcOrganization >::ptr v4_RelatedOrganizations) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingOrganization ? v3_RelatingOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedOrganizations)->generalize());; populate_derived(); } +Ifc2x3::IfcOrganizationRelationship::IfcOrganizationRelationship(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcOrganization* v3_RelatingOrganization, aggregate_of< ::Ifc2x3::IfcOrganization >::ptr v4_RelatedOrganizations) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingOrganization ? v3_RelatingOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedOrganizations)->generalize());; populate_derived(); } // Function implementations for IfcOrientedEdge -::Ifc2x3::IfcEdge* Ifc2x3::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcEdge>(true); } +::Ifc2x3::IfcEdge* Ifc2x3::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcEdge>(true); } void Ifc2x3::IfcOrientedEdge::setEdgeElement(::Ifc2x3::IfcEdge* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -bool Ifc2x3::IfcOrientedEdge::Orientation() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc2x3::IfcOrientedEdge::Orientation() const { bool v = get_attribute_value(3); return v; } void Ifc2x3::IfcOrientedEdge::setOrientation(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcOrientedEdge::declaration() const { return *((IfcParse::entity*)IFC2X3_types[534]); } const IfcParse::entity& Ifc2x3::IfcOrientedEdge::Class() { return *((IfcParse::entity*)IFC2X3_types[534]); } Ifc2x3::IfcOrientedEdge::IfcOrientedEdge(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc2x3::IfcOrientedEdge::IfcOrientedEdge(::Ifc2x3::IfcEdge* v3_EdgeElement, bool v4_Orientation) : IfcEdge(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(2, v3_EdgeElement ? v3_EdgeElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Orientation));; populate_derived(); } +Ifc2x3::IfcOrientedEdge::IfcOrientedEdge(::Ifc2x3::IfcEdge* v3_EdgeElement, bool v4_Orientation) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(2, v3_EdgeElement ? v3_EdgeElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Orientation));; populate_derived(); } // Function implementations for IfcOutletType -::Ifc2x3::IfcOutletTypeEnum::Value Ifc2x3::IfcOutletType::PredefinedType() const { return ::Ifc2x3::IfcOutletTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcOutletTypeEnum::Value Ifc2x3::IfcOutletType::PredefinedType() const { return ::Ifc2x3::IfcOutletTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcOutletType::setPredefinedType(::Ifc2x3::IfcOutletTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcOutletTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcOutletType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[535]); } const IfcParse::entity& Ifc2x3::IfcOutletType::Class() { return *((IfcParse::entity*)IFC2X3_types[535]); } Ifc2x3::IfcOutletType::IfcOutletType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc2x3::IfcOutletType::IfcOutletType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcOutletTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcOutletType::IfcOutletType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcOutletTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcOwnerHistory -::Ifc2x3::IfcPersonAndOrganization* Ifc2x3::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcPersonAndOrganization>(true); } +::Ifc2x3::IfcPersonAndOrganization* Ifc2x3::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcPersonAndOrganization>(true); } void Ifc2x3::IfcOwnerHistory::setOwningUser(::Ifc2x3::IfcPersonAndOrganization* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcApplication* Ifc2x3::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcApplication>(true); } +::Ifc2x3::IfcApplication* Ifc2x3::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcApplication>(true); } void Ifc2x3::IfcOwnerHistory::setOwningApplication(::Ifc2x3::IfcApplication* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< ::Ifc2x3::IfcStateEnum::Value > Ifc2x3::IfcOwnerHistory::State() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc2x3::IfcStateEnum::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc2x3::IfcStateEnum::Value > Ifc2x3::IfcOwnerHistory::State() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc2x3::IfcStateEnum::FromString(get_attribute_value(2)); } void Ifc2x3::IfcOwnerHistory::setState(boost::optional< ::Ifc2x3::IfcStateEnum::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc2x3::IfcStateEnum::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -::Ifc2x3::IfcChangeActionEnum::Value Ifc2x3::IfcOwnerHistory::ChangeAction() const { return ::Ifc2x3::IfcChangeActionEnum::FromString(data_.get_attribute_value(3)); } +::Ifc2x3::IfcChangeActionEnum::Value Ifc2x3::IfcOwnerHistory::ChangeAction() const { return ::Ifc2x3::IfcChangeActionEnum::FromString(get_attribute_value(3)); } void Ifc2x3::IfcOwnerHistory::setChangeAction(::Ifc2x3::IfcChangeActionEnum::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc2x3::IfcChangeActionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } -boost::optional< int > Ifc2x3::IfcOwnerHistory::LastModifiedDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc2x3::IfcOwnerHistory::LastModifiedDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc2x3::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc2x3::IfcPersonAndOrganization* Ifc2x3::IfcOwnerHistory::LastModifyingUser() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcPersonAndOrganization>(true); } +::Ifc2x3::IfcPersonAndOrganization* Ifc2x3::IfcOwnerHistory::LastModifyingUser() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcPersonAndOrganization>(true); } void Ifc2x3::IfcOwnerHistory::setLastModifyingUser(::Ifc2x3::IfcPersonAndOrganization* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcApplication* Ifc2x3::IfcOwnerHistory::LastModifyingApplication() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc2x3::IfcApplication>(true); } +::Ifc2x3::IfcApplication* Ifc2x3::IfcOwnerHistory::LastModifyingApplication() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc2x3::IfcApplication>(true); } void Ifc2x3::IfcOwnerHistory::setLastModifyingApplication(::Ifc2x3::IfcApplication* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -int Ifc2x3::IfcOwnerHistory::CreationDate() const { int v = data_.get_attribute_value(7); return v; } +int Ifc2x3::IfcOwnerHistory::CreationDate() const { int v = get_attribute_value(7); return v; } void Ifc2x3::IfcOwnerHistory::setCreationDate(int v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc2x3::IfcOwnerHistory::declaration() const { return *((IfcParse::entity*)IFC2X3_types[537]); } const IfcParse::entity& Ifc2x3::IfcOwnerHistory::Class() { return *((IfcParse::entity*)IFC2X3_types[537]); } Ifc2x3::IfcOwnerHistory::IfcOwnerHistory(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcOwnerHistory::IfcOwnerHistory(::Ifc2x3::IfcPersonAndOrganization* v1_OwningUser, ::Ifc2x3::IfcApplication* v2_OwningApplication, boost::optional< ::Ifc2x3::IfcStateEnum::Value > v3_State, ::Ifc2x3::IfcChangeActionEnum::Value v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, ::Ifc2x3::IfcPersonAndOrganization* v6_LastModifyingUser, ::Ifc2x3::IfcApplication* v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, v1_OwningUser ? v1_OwningUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OwningApplication ? v2_OwningApplication->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_State) {set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcStateEnum::Class(),(size_t)*v3_State))); }set_attribute_value(3, (EnumerationReference(&::Ifc2x3::IfcChangeActionEnum::Class(),(size_t)v4_ChangeAction))); if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, v6_LastModifyingUser ? v6_LastModifyingUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_LastModifyingApplication ? v7_LastModifyingApplication->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_CreationDate));; populate_derived(); } +Ifc2x3::IfcOwnerHistory::IfcOwnerHistory(::Ifc2x3::IfcPersonAndOrganization* v1_OwningUser, ::Ifc2x3::IfcApplication* v2_OwningApplication, boost::optional< ::Ifc2x3::IfcStateEnum::Value > v3_State, ::Ifc2x3::IfcChangeActionEnum::Value v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, ::Ifc2x3::IfcPersonAndOrganization* v6_LastModifyingUser, ::Ifc2x3::IfcApplication* v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, v1_OwningUser ? v1_OwningUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OwningApplication ? v2_OwningApplication->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_State) {set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcStateEnum::Class(),(size_t)*v3_State))); }set_attribute_value(3, (EnumerationReference(&::Ifc2x3::IfcChangeActionEnum::Class(),(size_t)v4_ChangeAction))); if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, v6_LastModifyingUser ? v6_LastModifyingUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_LastModifyingApplication ? v7_LastModifyingApplication->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_CreationDate));; populate_derived(); } // Function implementations for IfcParameterizedProfileDef -::Ifc2x3::IfcAxis2Placement2D* Ifc2x3::IfcParameterizedProfileDef::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcAxis2Placement2D>(true); } +::Ifc2x3::IfcAxis2Placement2D* Ifc2x3::IfcParameterizedProfileDef::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcAxis2Placement2D>(true); } void Ifc2x3::IfcParameterizedProfileDef::setPosition(::Ifc2x3::IfcAxis2Placement2D* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc2x3::IfcParameterizedProfileDef::declaration() const { return *((IfcParse::entity*)IFC2X3_types[538]); } const IfcParse::entity& Ifc2x3::IfcParameterizedProfileDef::Class() { return *((IfcParse::entity*)IFC2X3_types[538]); } Ifc2x3::IfcParameterizedProfileDef::IfcParameterizedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc2x3::IfcParameterizedProfileDef::IfcParameterizedProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D* v3_Position) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcParameterizedProfileDef::IfcParameterizedProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D* v3_Position) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPath -aggregate_of< ::Ifc2x3::IfcOrientedEdge >::ptr Ifc2x3::IfcPath::EdgeList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc2x3::IfcOrientedEdge >(); } +aggregate_of< ::Ifc2x3::IfcOrientedEdge >::ptr Ifc2x3::IfcPath::EdgeList() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc2x3::IfcOrientedEdge >(); } void Ifc2x3::IfcPath::setEdgeList(aggregate_of< ::Ifc2x3::IfcOrientedEdge >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc2x3::IfcPath::declaration() const { return *((IfcParse::entity*)IFC2X3_types[540]); } const IfcParse::entity& Ifc2x3::IfcPath::Class() { return *((IfcParse::entity*)IFC2X3_types[540]); } Ifc2x3::IfcPath::IfcPath(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc2x3::IfcPath::IfcPath(aggregate_of< ::Ifc2x3::IfcOrientedEdge >::ptr v1_EdgeList) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } +Ifc2x3::IfcPath::IfcPath(aggregate_of< ::Ifc2x3::IfcOrientedEdge >::ptr v1_EdgeList) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } // Function implementations for IfcPerformanceHistory -std::string Ifc2x3::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = data_.get_attribute_value(5); return v; } +std::string Ifc2x3::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = get_attribute_value(5); return v; } void Ifc2x3::IfcPerformanceHistory::setLifeCyclePhase(std::string v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc2x3::IfcPerformanceHistory::declaration() const { return *((IfcParse::entity*)IFC2X3_types[541]); } const IfcParse::entity& Ifc2x3::IfcPerformanceHistory::Class() { return *((IfcParse::entity*)IFC2X3_types[541]); } Ifc2x3::IfcPerformanceHistory::IfcPerformanceHistory(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc2x3::IfcPerformanceHistory::IfcPerformanceHistory(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_LifeCyclePhase) : IfcControl(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_LifeCyclePhase));; populate_derived(); } +Ifc2x3::IfcPerformanceHistory::IfcPerformanceHistory(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_LifeCyclePhase) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_LifeCyclePhase));; populate_derived(); } // Function implementations for IfcPermeableCoveringProperties -::Ifc2x3::IfcPermeableCoveringOperationEnum::Value Ifc2x3::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc2x3::IfcPermeableCoveringOperationEnum::FromString(data_.get_attribute_value(4)); } +::Ifc2x3::IfcPermeableCoveringOperationEnum::Value Ifc2x3::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc2x3::IfcPermeableCoveringOperationEnum::FromString(get_attribute_value(4)); } void Ifc2x3::IfcPermeableCoveringProperties::setOperationType(::Ifc2x3::IfcPermeableCoveringOperationEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc2x3::IfcPermeableCoveringOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcWindowPanelPositionEnum::Value Ifc2x3::IfcPermeableCoveringProperties::PanelPosition() const { return ::Ifc2x3::IfcWindowPanelPositionEnum::FromString(data_.get_attribute_value(5)); } +::Ifc2x3::IfcWindowPanelPositionEnum::Value Ifc2x3::IfcPermeableCoveringProperties::PanelPosition() const { return ::Ifc2x3::IfcWindowPanelPositionEnum::FromString(get_attribute_value(5)); } void Ifc2x3::IfcPermeableCoveringProperties::setPanelPosition(::Ifc2x3::IfcWindowPanelPositionEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc2x3::IfcWindowPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc2x3::IfcPermeableCoveringProperties::FrameDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc2x3::IfcPermeableCoveringProperties::FrameDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc2x3::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc2x3::IfcPermeableCoveringProperties::FrameThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc2x3::IfcPermeableCoveringProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc2x3::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc2x3::IfcShapeAspect>(true); } +::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc2x3::IfcShapeAspect>(true); } void Ifc2x3::IfcPermeableCoveringProperties::setShapeAspectStyle(::Ifc2x3::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc2x3::IfcPermeableCoveringProperties::declaration() const { return *((IfcParse::entity*)IFC2X3_types[543]); } const IfcParse::entity& Ifc2x3::IfcPermeableCoveringProperties::Class() { return *((IfcParse::entity*)IFC2X3_types[543]); } Ifc2x3::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc2x3::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc2x3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc2x3::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc2x3::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc2x3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc2x3::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc2x3::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPermit -std::string Ifc2x3::IfcPermit::PermitID() const { std::string v = data_.get_attribute_value(5); return v; } +std::string Ifc2x3::IfcPermit::PermitID() const { std::string v = get_attribute_value(5); return v; } void Ifc2x3::IfcPermit::setPermitID(std::string v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc2x3::IfcPermit::declaration() const { return *((IfcParse::entity*)IFC2X3_types[544]); } const IfcParse::entity& Ifc2x3::IfcPermit::Class() { return *((IfcParse::entity*)IFC2X3_types[544]); } Ifc2x3::IfcPermit::IfcPermit(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc2x3::IfcPermit::IfcPermit(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_PermitID) : IfcControl(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_PermitID));; populate_derived(); } +Ifc2x3::IfcPermit::IfcPermit(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_PermitID) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_PermitID));; populate_derived(); } // Function implementations for IfcPerson -boost::optional< std::string > Ifc2x3::IfcPerson::Id() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc2x3::IfcPerson::Id() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcPerson::setId(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc2x3::IfcPerson::FamilyName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc2x3::IfcPerson::FamilyName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcPerson::setFamilyName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc2x3::IfcPerson::GivenName() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc2x3::IfcPerson::GivenName() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcPerson::setGivenName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc2x3::IfcPerson::MiddleNames() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc2x3::IfcPerson::MiddleNames() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc2x3::IfcPerson::setMiddleNames(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc2x3::IfcPerson::PrefixTitles() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc2x3::IfcPerson::PrefixTitles() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc2x3::IfcPerson::setPrefixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc2x3::IfcPerson::SuffixTitles() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(5); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc2x3::IfcPerson::SuffixTitles() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(5); return v; } void Ifc2x3::IfcPerson::setSuffixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< aggregate_of< ::Ifc2x3::IfcActorRole >::ptr > Ifc2x3::IfcPerson::Roles() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc2x3::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc2x3::IfcActorRole >::ptr > Ifc2x3::IfcPerson::Roles() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc2x3::IfcActorRole >(); } void Ifc2x3::IfcPerson::setRoles(boost::optional< aggregate_of< ::Ifc2x3::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc2x3::IfcAddress >::ptr > Ifc2x3::IfcPerson::Addresses() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc2x3::IfcAddress >(); } +boost::optional< aggregate_of< ::Ifc2x3::IfcAddress >::ptr > Ifc2x3::IfcPerson::Addresses() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc2x3::IfcAddress >(); } void Ifc2x3::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc2x3::IfcAddress >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } ::Ifc2x3::IfcPersonAndOrganization::list::ptr Ifc2x3::IfcPerson::EngagedIn() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[546], 0)->as(); } @@ -9560,42 +9560,42 @@ void Ifc2x3::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc2x3::If const IfcParse::entity& Ifc2x3::IfcPerson::declaration() const { return *((IfcParse::entity*)IFC2X3_types[545]); } const IfcParse::entity& Ifc2x3::IfcPerson::Class() { return *((IfcParse::entity*)IFC2X3_types[545]); } Ifc2x3::IfcPerson::IfcPerson(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcPerson::IfcPerson(boost::optional< std::string > v1_Id, boost::optional< std::string > v2_FamilyName, boost::optional< std::string > v3_GivenName, boost::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, boost::optional< aggregate_of< ::Ifc2x3::IfcActorRole >::ptr > v7_Roles, boost::optional< aggregate_of< ::Ifc2x3::IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { if (v1_Id) {set_attribute_value(0, (*v1_Id)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, (*v7_Roles)->generalize()); } if (v8_Addresses) {set_attribute_value(7, (*v8_Addresses)->generalize()); }; populate_derived(); } +Ifc2x3::IfcPerson::IfcPerson(boost::optional< std::string > v1_Id, boost::optional< std::string > v2_FamilyName, boost::optional< std::string > v3_GivenName, boost::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, boost::optional< aggregate_of< ::Ifc2x3::IfcActorRole >::ptr > v7_Roles, boost::optional< aggregate_of< ::Ifc2x3::IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Id) {set_attribute_value(0, (*v1_Id)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, (*v7_Roles)->generalize()); } if (v8_Addresses) {set_attribute_value(7, (*v8_Addresses)->generalize()); }; populate_derived(); } // Function implementations for IfcPersonAndOrganization -::Ifc2x3::IfcPerson* Ifc2x3::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcPerson>(true); } +::Ifc2x3::IfcPerson* Ifc2x3::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcPerson>(true); } void Ifc2x3::IfcPersonAndOrganization::setThePerson(::Ifc2x3::IfcPerson* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcOrganization* Ifc2x3::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcOrganization>(true); } +::Ifc2x3::IfcOrganization* Ifc2x3::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcOrganization>(true); } void Ifc2x3::IfcPersonAndOrganization::setTheOrganization(::Ifc2x3::IfcOrganization* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< aggregate_of< ::Ifc2x3::IfcActorRole >::ptr > Ifc2x3::IfcPersonAndOrganization::Roles() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc2x3::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc2x3::IfcActorRole >::ptr > Ifc2x3::IfcPersonAndOrganization::Roles() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc2x3::IfcActorRole >(); } void Ifc2x3::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc2x3::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc2x3::IfcPersonAndOrganization::declaration() const { return *((IfcParse::entity*)IFC2X3_types[546]); } const IfcParse::entity& Ifc2x3::IfcPersonAndOrganization::Class() { return *((IfcParse::entity*)IFC2X3_types[546]); } Ifc2x3::IfcPersonAndOrganization::IfcPersonAndOrganization(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcPersonAndOrganization::IfcPersonAndOrganization(::Ifc2x3::IfcPerson* v1_ThePerson, ::Ifc2x3::IfcOrganization* v2_TheOrganization, boost::optional< aggregate_of< ::Ifc2x3::IfcActorRole >::ptr > v3_Roles) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_ThePerson ? v1_ThePerson->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TheOrganization ? v2_TheOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Roles) {set_attribute_value(2, (*v3_Roles)->generalize()); }; populate_derived(); } +Ifc2x3::IfcPersonAndOrganization::IfcPersonAndOrganization(::Ifc2x3::IfcPerson* v1_ThePerson, ::Ifc2x3::IfcOrganization* v2_TheOrganization, boost::optional< aggregate_of< ::Ifc2x3::IfcActorRole >::ptr > v3_Roles) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_ThePerson ? v1_ThePerson->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TheOrganization ? v2_TheOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Roles) {set_attribute_value(2, (*v3_Roles)->generalize()); }; populate_derived(); } // Function implementations for IfcPhysicalComplexQuantity -aggregate_of< ::Ifc2x3::IfcPhysicalQuantity >::ptr Ifc2x3::IfcPhysicalComplexQuantity::HasQuantities() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc2x3::IfcPhysicalQuantity >(); } +aggregate_of< ::Ifc2x3::IfcPhysicalQuantity >::ptr Ifc2x3::IfcPhysicalComplexQuantity::HasQuantities() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc2x3::IfcPhysicalQuantity >(); } void Ifc2x3::IfcPhysicalComplexQuantity::setHasQuantities(aggregate_of< ::Ifc2x3::IfcPhysicalQuantity >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -std::string Ifc2x3::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc2x3::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = get_attribute_value(3); return v; } void Ifc2x3::IfcPhysicalComplexQuantity::setDiscrimination(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc2x3::IfcPhysicalComplexQuantity::Quality() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc2x3::IfcPhysicalComplexQuantity::Quality() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc2x3::IfcPhysicalComplexQuantity::setQuality(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc2x3::IfcPhysicalComplexQuantity::Usage() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc2x3::IfcPhysicalComplexQuantity::Usage() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc2x3::IfcPhysicalComplexQuantity::setUsage(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc2x3::IfcPhysicalComplexQuantity::declaration() const { return *((IfcParse::entity*)IFC2X3_types[548]); } const IfcParse::entity& Ifc2x3::IfcPhysicalComplexQuantity::Class() { return *((IfcParse::entity*)IFC2X3_types[548]); } Ifc2x3::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(IfcEntityInstanceData&& e) : IfcPhysicalQuantity(std::move(e)) { } -Ifc2x3::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcPhysicalQuantity >::ptr v3_HasQuantities, std::string v4_Discrimination, boost::optional< std::string > v5_Quality, boost::optional< std::string > v6_Usage) : IfcPhysicalQuantity(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_HasQuantities)->generalize());set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; populate_derived(); } +Ifc2x3::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcPhysicalQuantity >::ptr v3_HasQuantities, std::string v4_Discrimination, boost::optional< std::string > v5_Quality, boost::optional< std::string > v6_Usage) : IfcPhysicalQuantity(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_HasQuantities)->generalize());set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; populate_derived(); } // Function implementations for IfcPhysicalQuantity -std::string Ifc2x3::IfcPhysicalQuantity::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc2x3::IfcPhysicalQuantity::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcPhysicalQuantity::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc2x3::IfcPhysicalQuantity::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc2x3::IfcPhysicalQuantity::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcPhysicalQuantity::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc2x3::IfcPhysicalComplexQuantity::list::ptr Ifc2x3::IfcPhysicalQuantity::PartOfComplex() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[548], 2)->as(); } @@ -9603,97 +9603,97 @@ void Ifc2x3::IfcPhysicalQuantity::setDescription(boost::optional< std::string > const IfcParse::entity& Ifc2x3::IfcPhysicalQuantity::declaration() const { return *((IfcParse::entity*)IFC2X3_types[550]); } const IfcParse::entity& Ifc2x3::IfcPhysicalQuantity::Class() { return *((IfcParse::entity*)IFC2X3_types[550]); } Ifc2x3::IfcPhysicalQuantity::IfcPhysicalQuantity(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc2x3::IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcPhysicalSimpleQuantity -::Ifc2x3::IfcNamedUnit* Ifc2x3::IfcPhysicalSimpleQuantity::Unit() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcNamedUnit>(true); } +::Ifc2x3::IfcNamedUnit* Ifc2x3::IfcPhysicalSimpleQuantity::Unit() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcNamedUnit>(true); } void Ifc2x3::IfcPhysicalSimpleQuantity::setUnit(::Ifc2x3::IfcNamedUnit* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc2x3::IfcPhysicalSimpleQuantity::declaration() const { return *((IfcParse::entity*)IFC2X3_types[551]); } const IfcParse::entity& Ifc2x3::IfcPhysicalSimpleQuantity::Class() { return *((IfcParse::entity*)IFC2X3_types[551]); } Ifc2x3::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(IfcEntityInstanceData&& e) : IfcPhysicalQuantity(std::move(e)) { } -Ifc2x3::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPile -::Ifc2x3::IfcPileTypeEnum::Value Ifc2x3::IfcPile::PredefinedType() const { return ::Ifc2x3::IfcPileTypeEnum::FromString(data_.get_attribute_value(8)); } +::Ifc2x3::IfcPileTypeEnum::Value Ifc2x3::IfcPile::PredefinedType() const { return ::Ifc2x3::IfcPileTypeEnum::FromString(get_attribute_value(8)); } void Ifc2x3::IfcPile::setPredefinedType(::Ifc2x3::IfcPileTypeEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc2x3::IfcPileTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -boost::optional< ::Ifc2x3::IfcPileConstructionEnum::Value > Ifc2x3::IfcPile::ConstructionType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc2x3::IfcPileConstructionEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc2x3::IfcPileConstructionEnum::Value > Ifc2x3::IfcPile::ConstructionType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc2x3::IfcPileConstructionEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcPile::setConstructionType(boost::optional< ::Ifc2x3::IfcPileConstructionEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcPileConstructionEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc2x3::IfcPile::declaration() const { return *((IfcParse::entity*)IFC2X3_types[552]); } const IfcParse::entity& Ifc2x3::IfcPile::Class() { return *((IfcParse::entity*)IFC2X3_types[552]); } Ifc2x3::IfcPile::IfcPile(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc2x3::IfcPile::IfcPile(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, ::Ifc2x3::IfcPileTypeEnum::Value v9_PredefinedType, boost::optional< ::Ifc2x3::IfcPileConstructionEnum::Value > v10_ConstructionType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcPileTypeEnum::Class(),(size_t)v9_PredefinedType))); if (v10_ConstructionType) {set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; populate_derived(); } +Ifc2x3::IfcPile::IfcPile(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, ::Ifc2x3::IfcPileTypeEnum::Value v9_PredefinedType, boost::optional< ::Ifc2x3::IfcPileConstructionEnum::Value > v10_ConstructionType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcPileTypeEnum::Class(),(size_t)v9_PredefinedType))); if (v10_ConstructionType) {set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; populate_derived(); } // Function implementations for IfcPipeFittingType -::Ifc2x3::IfcPipeFittingTypeEnum::Value Ifc2x3::IfcPipeFittingType::PredefinedType() const { return ::Ifc2x3::IfcPipeFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcPipeFittingTypeEnum::Value Ifc2x3::IfcPipeFittingType::PredefinedType() const { return ::Ifc2x3::IfcPipeFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcPipeFittingType::setPredefinedType(::Ifc2x3::IfcPipeFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcPipeFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcPipeFittingType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[555]); } const IfcParse::entity& Ifc2x3::IfcPipeFittingType::Class() { return *((IfcParse::entity*)IFC2X3_types[555]); } Ifc2x3::IfcPipeFittingType::IfcPipeFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc2x3::IfcPipeFittingType::IfcPipeFittingType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcPipeFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcPipeFittingType::IfcPipeFittingType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcPipeFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPipeSegmentType -::Ifc2x3::IfcPipeSegmentTypeEnum::Value Ifc2x3::IfcPipeSegmentType::PredefinedType() const { return ::Ifc2x3::IfcPipeSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcPipeSegmentTypeEnum::Value Ifc2x3::IfcPipeSegmentType::PredefinedType() const { return ::Ifc2x3::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcPipeSegmentType::setPredefinedType(::Ifc2x3::IfcPipeSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcPipeSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcPipeSegmentType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[557]); } const IfcParse::entity& Ifc2x3::IfcPipeSegmentType::Class() { return *((IfcParse::entity*)IFC2X3_types[557]); } Ifc2x3::IfcPipeSegmentType::IfcPipeSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc2x3::IfcPipeSegmentType::IfcPipeSegmentType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcPipeSegmentType::IfcPipeSegmentType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPixelTexture -int Ifc2x3::IfcPixelTexture::Width() const { int v = data_.get_attribute_value(4); return v; } +int Ifc2x3::IfcPixelTexture::Width() const { int v = get_attribute_value(4); return v; } void Ifc2x3::IfcPixelTexture::setWidth(int v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -int Ifc2x3::IfcPixelTexture::Height() const { int v = data_.get_attribute_value(5); return v; } +int Ifc2x3::IfcPixelTexture::Height() const { int v = get_attribute_value(5); return v; } void Ifc2x3::IfcPixelTexture::setHeight(int v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -int Ifc2x3::IfcPixelTexture::ColourComponents() const { int v = data_.get_attribute_value(6); return v; } +int Ifc2x3::IfcPixelTexture::ColourComponents() const { int v = get_attribute_value(6); return v; } void Ifc2x3::IfcPixelTexture::setColourComponents(int v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -std::vector< boost::dynamic_bitset<> > /*[1:?]*/ Ifc2x3::IfcPixelTexture::Pixel() const { std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v = data_.get_attribute_value(7); return v; } +std::vector< boost::dynamic_bitset<> > /*[1:?]*/ Ifc2x3::IfcPixelTexture::Pixel() const { std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v = get_attribute_value(7); return v; } void Ifc2x3::IfcPixelTexture::setPixel(std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc2x3::IfcPixelTexture::declaration() const { return *((IfcParse::entity*)IFC2X3_types[559]); } const IfcParse::entity& Ifc2x3::IfcPixelTexture::Class() { return *((IfcParse::entity*)IFC2X3_types[559]); } Ifc2x3::IfcPixelTexture::IfcPixelTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -Ifc2x3::IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, ::Ifc2x3::IfcSurfaceTextureEnum::Value v3_TextureType, ::Ifc2x3::IfcCartesianTransformationOperator2D* v4_TextureTransform, int v5_Width, int v6_Height, int v7_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v8_Pixel) : IfcSurfaceTexture(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT));set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcSurfaceTextureEnum::Class(),(size_t)v3_TextureType)));set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_Height));set_attribute_value(6, (v7_ColourComponents));set_attribute_value(7, (v8_Pixel));; populate_derived(); } +Ifc2x3::IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, ::Ifc2x3::IfcSurfaceTextureEnum::Value v3_TextureType, ::Ifc2x3::IfcCartesianTransformationOperator2D* v4_TextureTransform, int v5_Width, int v6_Height, int v7_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v8_Pixel) : IfcSurfaceTexture(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT));set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcSurfaceTextureEnum::Class(),(size_t)v3_TextureType)));set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_Height));set_attribute_value(6, (v7_ColourComponents));set_attribute_value(7, (v8_Pixel));; populate_derived(); } // Function implementations for IfcPlacement -::Ifc2x3::IfcCartesianPoint* Ifc2x3::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcCartesianPoint>(true); } +::Ifc2x3::IfcCartesianPoint* Ifc2x3::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcCartesianPoint>(true); } void Ifc2x3::IfcPlacement::setLocation(::Ifc2x3::IfcCartesianPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc2x3::IfcPlacement::declaration() const { return *((IfcParse::entity*)IFC2X3_types[560]); } const IfcParse::entity& Ifc2x3::IfcPlacement::Class() { return *((IfcParse::entity*)IFC2X3_types[560]); } Ifc2x3::IfcPlacement::IfcPlacement(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc2x3::IfcPlacement::IfcPlacement(::Ifc2x3::IfcCartesianPoint* v1_Location) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcPlacement::IfcPlacement(::Ifc2x3::IfcCartesianPoint* v1_Location) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlanarBox -::Ifc2x3::IfcAxis2Placement* Ifc2x3::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcAxis2Placement>(true); } +::Ifc2x3::IfcAxis2Placement* Ifc2x3::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcAxis2Placement>(true); } void Ifc2x3::IfcPlanarBox::setPlacement(::Ifc2x3::IfcAxis2Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc2x3::IfcPlanarBox::declaration() const { return *((IfcParse::entity*)IFC2X3_types[561]); } const IfcParse::entity& Ifc2x3::IfcPlanarBox::Class() { return *((IfcParse::entity*)IFC2X3_types[561]); } Ifc2x3::IfcPlanarBox::IfcPlanarBox(IfcEntityInstanceData&& e) : IfcPlanarExtent(std::move(e)) { } -Ifc2x3::IfcPlanarBox::IfcPlanarBox(double v1_SizeInX, double v2_SizeInY, ::Ifc2x3::IfcAxis2Placement* v3_Placement) : IfcPlanarExtent(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, v3_Placement ? v3_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcPlanarBox::IfcPlanarBox(double v1_SizeInX, double v2_SizeInY, ::Ifc2x3::IfcAxis2Placement* v3_Placement) : IfcPlanarExtent(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, v3_Placement ? v3_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlanarExtent -double Ifc2x3::IfcPlanarExtent::SizeInX() const { double v = data_.get_attribute_value(0); return v; } +double Ifc2x3::IfcPlanarExtent::SizeInX() const { double v = get_attribute_value(0); return v; } void Ifc2x3::IfcPlanarExtent::setSizeInX(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc2x3::IfcPlanarExtent::SizeInY() const { double v = data_.get_attribute_value(1); return v; } +double Ifc2x3::IfcPlanarExtent::SizeInY() const { double v = get_attribute_value(1); return v; } void Ifc2x3::IfcPlanarExtent::setSizeInY(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcPlanarExtent::declaration() const { return *((IfcParse::entity*)IFC2X3_types[562]); } const IfcParse::entity& Ifc2x3::IfcPlanarExtent::Class() { return *((IfcParse::entity*)IFC2X3_types[562]); } Ifc2x3::IfcPlanarExtent::IfcPlanarExtent(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc2x3::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeInY) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; populate_derived(); } +Ifc2x3::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeInY) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; populate_derived(); } // Function implementations for IfcPlane @@ -9701,7 +9701,7 @@ Ifc2x3::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeInY) : const IfcParse::entity& Ifc2x3::IfcPlane::declaration() const { return *((IfcParse::entity*)IFC2X3_types[564]); } const IfcParse::entity& Ifc2x3::IfcPlane::Class() { return *((IfcParse::entity*)IFC2X3_types[564]); } Ifc2x3::IfcPlane::IfcPlane(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc2x3::IfcPlane::IfcPlane(::Ifc2x3::IfcAxis2Placement3D* v1_Position) : IfcElementarySurface(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcPlane::IfcPlane(::Ifc2x3::IfcAxis2Placement3D* v1_Position) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlate @@ -9709,17 +9709,17 @@ Ifc2x3::IfcPlane::IfcPlane(::Ifc2x3::IfcAxis2Placement3D* v1_Position) : IfcElem const IfcParse::entity& Ifc2x3::IfcPlate::declaration() const { return *((IfcParse::entity*)IFC2X3_types[566]); } const IfcParse::entity& Ifc2x3::IfcPlate::Class() { return *((IfcParse::entity*)IFC2X3_types[566]); } Ifc2x3::IfcPlate::IfcPlate(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc2x3::IfcPlate::IfcPlate(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcPlate::IfcPlate(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcPlateType -::Ifc2x3::IfcPlateTypeEnum::Value Ifc2x3::IfcPlateType::PredefinedType() const { return ::Ifc2x3::IfcPlateTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcPlateTypeEnum::Value Ifc2x3::IfcPlateType::PredefinedType() const { return ::Ifc2x3::IfcPlateTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcPlateType::setPredefinedType(::Ifc2x3::IfcPlateTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcPlateTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcPlateType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[567]); } const IfcParse::entity& Ifc2x3::IfcPlateType::Class() { return *((IfcParse::entity*)IFC2X3_types[567]); } Ifc2x3::IfcPlateType::IfcPlateType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc2x3::IfcPlateType::IfcPlateType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcPlateTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcPlateType::IfcPlateType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcPlateTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPoint @@ -9727,65 +9727,65 @@ Ifc2x3::IfcPlateType::IfcPlateType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHi const IfcParse::entity& Ifc2x3::IfcPoint::declaration() const { return *((IfcParse::entity*)IFC2X3_types[569]); } const IfcParse::entity& Ifc2x3::IfcPoint::Class() { return *((IfcParse::entity*)IFC2X3_types[569]); } Ifc2x3::IfcPoint::IfcPoint(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc2x3::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc2x3::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPointOnCurve -::Ifc2x3::IfcCurve* Ifc2x3::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcCurve>(true); } +::Ifc2x3::IfcCurve* Ifc2x3::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcCurve>(true); } void Ifc2x3::IfcPointOnCurve::setBasisCurve(::Ifc2x3::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc2x3::IfcPointOnCurve::PointParameter() const { double v = data_.get_attribute_value(1); return v; } +double Ifc2x3::IfcPointOnCurve::PointParameter() const { double v = get_attribute_value(1); return v; } void Ifc2x3::IfcPointOnCurve::setPointParameter(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcPointOnCurve::declaration() const { return *((IfcParse::entity*)IFC2X3_types[570]); } const IfcParse::entity& Ifc2x3::IfcPointOnCurve::Class() { return *((IfcParse::entity*)IFC2X3_types[570]); } Ifc2x3::IfcPointOnCurve::IfcPointOnCurve(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc2x3::IfcPointOnCurve::IfcPointOnCurve(::Ifc2x3::IfcCurve* v1_BasisCurve, double v2_PointParameter) : IfcPoint(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameter));; populate_derived(); } +Ifc2x3::IfcPointOnCurve::IfcPointOnCurve(::Ifc2x3::IfcCurve* v1_BasisCurve, double v2_PointParameter) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameter));; populate_derived(); } // Function implementations for IfcPointOnSurface -::Ifc2x3::IfcSurface* Ifc2x3::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcSurface>(true); } +::Ifc2x3::IfcSurface* Ifc2x3::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcSurface>(true); } void Ifc2x3::IfcPointOnSurface::setBasisSurface(::Ifc2x3::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc2x3::IfcPointOnSurface::PointParameterU() const { double v = data_.get_attribute_value(1); return v; } +double Ifc2x3::IfcPointOnSurface::PointParameterU() const { double v = get_attribute_value(1); return v; } void Ifc2x3::IfcPointOnSurface::setPointParameterU(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc2x3::IfcPointOnSurface::PointParameterV() const { double v = data_.get_attribute_value(2); return v; } +double Ifc2x3::IfcPointOnSurface::PointParameterV() const { double v = get_attribute_value(2); return v; } void Ifc2x3::IfcPointOnSurface::setPointParameterV(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc2x3::IfcPointOnSurface::declaration() const { return *((IfcParse::entity*)IFC2X3_types[571]); } const IfcParse::entity& Ifc2x3::IfcPointOnSurface::Class() { return *((IfcParse::entity*)IFC2X3_types[571]); } Ifc2x3::IfcPointOnSurface::IfcPointOnSurface(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc2x3::IfcPointOnSurface::IfcPointOnSurface(::Ifc2x3::IfcSurface* v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) : IfcPoint(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; populate_derived(); } +Ifc2x3::IfcPointOnSurface::IfcPointOnSurface(::Ifc2x3::IfcSurface* v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; populate_derived(); } // Function implementations for IfcPolyLoop -aggregate_of< ::Ifc2x3::IfcCartesianPoint >::ptr Ifc2x3::IfcPolyLoop::Polygon() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc2x3::IfcCartesianPoint >(); } +aggregate_of< ::Ifc2x3::IfcCartesianPoint >::ptr Ifc2x3::IfcPolyLoop::Polygon() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc2x3::IfcCartesianPoint >(); } void Ifc2x3::IfcPolyLoop::setPolygon(aggregate_of< ::Ifc2x3::IfcCartesianPoint >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc2x3::IfcPolyLoop::declaration() const { return *((IfcParse::entity*)IFC2X3_types[575]); } const IfcParse::entity& Ifc2x3::IfcPolyLoop::Class() { return *((IfcParse::entity*)IFC2X3_types[575]); } Ifc2x3::IfcPolyLoop::IfcPolyLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc2x3::IfcPolyLoop::IfcPolyLoop(aggregate_of< ::Ifc2x3::IfcCartesianPoint >::ptr v1_Polygon) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Polygon)->generalize());; populate_derived(); } +Ifc2x3::IfcPolyLoop::IfcPolyLoop(aggregate_of< ::Ifc2x3::IfcCartesianPoint >::ptr v1_Polygon) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Polygon)->generalize());; populate_derived(); } // Function implementations for IfcPolygonalBoundedHalfSpace -::Ifc2x3::IfcAxis2Placement3D* Ifc2x3::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcAxis2Placement3D>(true); } +::Ifc2x3::IfcAxis2Placement3D* Ifc2x3::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcAxis2Placement3D>(true); } void Ifc2x3::IfcPolygonalBoundedHalfSpace::setPosition(::Ifc2x3::IfcAxis2Placement3D* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcBoundedCurve* Ifc2x3::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc2x3::IfcBoundedCurve>(true); } +::Ifc2x3::IfcBoundedCurve* Ifc2x3::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc2x3::IfcBoundedCurve>(true); } void Ifc2x3::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(::Ifc2x3::IfcBoundedCurve* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcPolygonalBoundedHalfSpace::declaration() const { return *((IfcParse::entity*)IFC2X3_types[573]); } const IfcParse::entity& Ifc2x3::IfcPolygonalBoundedHalfSpace::Class() { return *((IfcParse::entity*)IFC2X3_types[573]); } Ifc2x3::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(IfcEntityInstanceData&& e) : IfcHalfSpaceSolid(std::move(e)) { } -Ifc2x3::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(::Ifc2x3::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc2x3::IfcAxis2Placement3D* v3_Position, ::Ifc2x3::IfcBoundedCurve* v4_PolygonalBoundary) : IfcHalfSpaceSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PolygonalBoundary ? v4_PolygonalBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(::Ifc2x3::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc2x3::IfcAxis2Placement3D* v3_Position, ::Ifc2x3::IfcBoundedCurve* v4_PolygonalBoundary) : IfcHalfSpaceSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PolygonalBoundary ? v4_PolygonalBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPolyline -aggregate_of< ::Ifc2x3::IfcCartesianPoint >::ptr Ifc2x3::IfcPolyline::Points() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc2x3::IfcCartesianPoint >(); } +aggregate_of< ::Ifc2x3::IfcCartesianPoint >::ptr Ifc2x3::IfcPolyline::Points() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc2x3::IfcCartesianPoint >(); } void Ifc2x3::IfcPolyline::setPoints(aggregate_of< ::Ifc2x3::IfcCartesianPoint >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc2x3::IfcPolyline::declaration() const { return *((IfcParse::entity*)IFC2X3_types[574]); } const IfcParse::entity& Ifc2x3::IfcPolyline::Class() { return *((IfcParse::entity*)IFC2X3_types[574]); } Ifc2x3::IfcPolyline::IfcPolyline(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc2x3::IfcPolyline::IfcPolyline(aggregate_of< ::Ifc2x3::IfcCartesianPoint >::ptr v1_Points) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Points)->generalize());; populate_derived(); } +Ifc2x3::IfcPolyline::IfcPolyline(aggregate_of< ::Ifc2x3::IfcCartesianPoint >::ptr v1_Points) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Points)->generalize());; populate_derived(); } // Function implementations for IfcPort @@ -9796,29 +9796,29 @@ Ifc2x3::IfcPolyline::IfcPolyline(aggregate_of< ::Ifc2x3::IfcCartesianPoint >::pt const IfcParse::entity& Ifc2x3::IfcPort::declaration() const { return *((IfcParse::entity*)IFC2X3_types[576]); } const IfcParse::entity& Ifc2x3::IfcPort::Class() { return *((IfcParse::entity*)IFC2X3_types[576]); } Ifc2x3::IfcPort::IfcPort(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc2x3::IfcPort::IfcPort(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcPort::IfcPort(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPostalAddress -boost::optional< std::string > Ifc2x3::IfcPostalAddress::InternalLocation() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc2x3::IfcPostalAddress::InternalLocation() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc2x3::IfcPostalAddress::setInternalLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc2x3::IfcPostalAddress::AddressLines() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc2x3::IfcPostalAddress::AddressLines() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc2x3::IfcPostalAddress::setAddressLines(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc2x3::IfcPostalAddress::PostalBox() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc2x3::IfcPostalAddress::PostalBox() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc2x3::IfcPostalAddress::setPostalBox(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc2x3::IfcPostalAddress::Town() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc2x3::IfcPostalAddress::Town() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc2x3::IfcPostalAddress::setTown(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc2x3::IfcPostalAddress::Region() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc2x3::IfcPostalAddress::Region() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc2x3::IfcPostalAddress::setRegion(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc2x3::IfcPostalAddress::PostalCode() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc2x3::IfcPostalAddress::PostalCode() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc2x3::IfcPostalAddress::setPostalCode(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc2x3::IfcPostalAddress::Country() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc2x3::IfcPostalAddress::Country() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc2x3::IfcPostalAddress::setCountry(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc2x3::IfcPostalAddress::declaration() const { return *((IfcParse::entity*)IFC2X3_types[580]); } const IfcParse::entity& Ifc2x3::IfcPostalAddress::Class() { return *((IfcParse::entity*)IFC2X3_types[580]); } Ifc2x3::IfcPostalAddress::IfcPostalAddress(IfcEntityInstanceData&& e) : IfcAddress(std::move(e)) { } -Ifc2x3::IfcPostalAddress::IfcPostalAddress(boost::optional< ::Ifc2x3::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) : IfcAddress(IfcEntityInstanceData(storage_t(10))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; populate_derived(); } +Ifc2x3::IfcPostalAddress::IfcPostalAddress(boost::optional< ::Ifc2x3::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) : IfcAddress(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; populate_derived(); } // Function implementations for IfcPreDefinedColour @@ -9826,7 +9826,7 @@ Ifc2x3::IfcPostalAddress::IfcPostalAddress(boost::optional< ::Ifc2x3::IfcAddress const IfcParse::entity& Ifc2x3::IfcPreDefinedColour::declaration() const { return *((IfcParse::entity*)IFC2X3_types[582]); } const IfcParse::entity& Ifc2x3::IfcPreDefinedColour::Class() { return *((IfcParse::entity*)IFC2X3_types[582]); } Ifc2x3::IfcPreDefinedColour::IfcPreDefinedColour(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc2x3::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc2x3::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedCurveFont @@ -9834,7 +9834,7 @@ Ifc2x3::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcPreDe const IfcParse::entity& Ifc2x3::IfcPreDefinedCurveFont::declaration() const { return *((IfcParse::entity*)IFC2X3_types[583]); } const IfcParse::entity& Ifc2x3::IfcPreDefinedCurveFont::Class() { return *((IfcParse::entity*)IFC2X3_types[583]); } Ifc2x3::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc2x3::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc2x3::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedDimensionSymbol @@ -9842,17 +9842,17 @@ Ifc2x3::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(std::string v1_Name) : If const IfcParse::entity& Ifc2x3::IfcPreDefinedDimensionSymbol::declaration() const { return *((IfcParse::entity*)IFC2X3_types[584]); } const IfcParse::entity& Ifc2x3::IfcPreDefinedDimensionSymbol::Class() { return *((IfcParse::entity*)IFC2X3_types[584]); } Ifc2x3::IfcPreDefinedDimensionSymbol::IfcPreDefinedDimensionSymbol(IfcEntityInstanceData&& e) : IfcPreDefinedSymbol(std::move(e)) { } -Ifc2x3::IfcPreDefinedDimensionSymbol::IfcPreDefinedDimensionSymbol(std::string v1_Name) : IfcPreDefinedSymbol(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc2x3::IfcPreDefinedDimensionSymbol::IfcPreDefinedDimensionSymbol(std::string v1_Name) : IfcPreDefinedSymbol(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedItem -std::string Ifc2x3::IfcPreDefinedItem::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc2x3::IfcPreDefinedItem::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcPreDefinedItem::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc2x3::IfcPreDefinedItem::declaration() const { return *((IfcParse::entity*)IFC2X3_types[585]); } const IfcParse::entity& Ifc2x3::IfcPreDefinedItem::Class() { return *((IfcParse::entity*)IFC2X3_types[585]); } Ifc2x3::IfcPreDefinedItem::IfcPreDefinedItem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc2x3::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedPointMarkerSymbol @@ -9860,7 +9860,7 @@ Ifc2x3::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcUtil::Ifc const IfcParse::entity& Ifc2x3::IfcPreDefinedPointMarkerSymbol::declaration() const { return *((IfcParse::entity*)IFC2X3_types[586]); } const IfcParse::entity& Ifc2x3::IfcPreDefinedPointMarkerSymbol::Class() { return *((IfcParse::entity*)IFC2X3_types[586]); } Ifc2x3::IfcPreDefinedPointMarkerSymbol::IfcPreDefinedPointMarkerSymbol(IfcEntityInstanceData&& e) : IfcPreDefinedSymbol(std::move(e)) { } -Ifc2x3::IfcPreDefinedPointMarkerSymbol::IfcPreDefinedPointMarkerSymbol(std::string v1_Name) : IfcPreDefinedSymbol(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc2x3::IfcPreDefinedPointMarkerSymbol::IfcPreDefinedPointMarkerSymbol(std::string v1_Name) : IfcPreDefinedSymbol(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedSymbol @@ -9868,7 +9868,7 @@ Ifc2x3::IfcPreDefinedPointMarkerSymbol::IfcPreDefinedPointMarkerSymbol(std::stri const IfcParse::entity& Ifc2x3::IfcPreDefinedSymbol::declaration() const { return *((IfcParse::entity*)IFC2X3_types[587]); } const IfcParse::entity& Ifc2x3::IfcPreDefinedSymbol::Class() { return *((IfcParse::entity*)IFC2X3_types[587]); } Ifc2x3::IfcPreDefinedSymbol::IfcPreDefinedSymbol(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc2x3::IfcPreDefinedSymbol::IfcPreDefinedSymbol(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc2x3::IfcPreDefinedSymbol::IfcPreDefinedSymbol(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedTerminatorSymbol @@ -9876,7 +9876,7 @@ Ifc2x3::IfcPreDefinedSymbol::IfcPreDefinedSymbol(std::string v1_Name) : IfcPreDe const IfcParse::entity& Ifc2x3::IfcPreDefinedTerminatorSymbol::declaration() const { return *((IfcParse::entity*)IFC2X3_types[588]); } const IfcParse::entity& Ifc2x3::IfcPreDefinedTerminatorSymbol::Class() { return *((IfcParse::entity*)IFC2X3_types[588]); } Ifc2x3::IfcPreDefinedTerminatorSymbol::IfcPreDefinedTerminatorSymbol(IfcEntityInstanceData&& e) : IfcPreDefinedSymbol(std::move(e)) { } -Ifc2x3::IfcPreDefinedTerminatorSymbol::IfcPreDefinedTerminatorSymbol(std::string v1_Name) : IfcPreDefinedSymbol(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc2x3::IfcPreDefinedTerminatorSymbol::IfcPreDefinedTerminatorSymbol(std::string v1_Name) : IfcPreDefinedSymbol(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedTextFont @@ -9884,73 +9884,73 @@ Ifc2x3::IfcPreDefinedTerminatorSymbol::IfcPreDefinedTerminatorSymbol(std::string const IfcParse::entity& Ifc2x3::IfcPreDefinedTextFont::declaration() const { return *((IfcParse::entity*)IFC2X3_types[589]); } const IfcParse::entity& Ifc2x3::IfcPreDefinedTextFont::Class() { return *((IfcParse::entity*)IFC2X3_types[589]); } Ifc2x3::IfcPreDefinedTextFont::IfcPreDefinedTextFont(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc2x3::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc2x3::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPresentationLayerAssignment -std::string Ifc2x3::IfcPresentationLayerAssignment::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc2x3::IfcPresentationLayerAssignment::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcPresentationLayerAssignment::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc2x3::IfcPresentationLayerAssignment::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc2x3::IfcPresentationLayerAssignment::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc2x3::IfcLayeredItem >::ptr Ifc2x3::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc2x3::IfcLayeredItem >(); } +aggregate_of< ::Ifc2x3::IfcLayeredItem >::ptr Ifc2x3::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc2x3::IfcLayeredItem >(); } void Ifc2x3::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc2x3::IfcLayeredItem >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc2x3::IfcPresentationLayerAssignment::Identifier() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc2x3::IfcPresentationLayerAssignment::Identifier() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc2x3::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc2x3::IfcPresentationLayerAssignment::declaration() const { return *((IfcParse::entity*)IFC2X3_types[591]); } const IfcParse::entity& Ifc2x3::IfcPresentationLayerAssignment::Class() { return *((IfcParse::entity*)IFC2X3_types[591]); } Ifc2x3::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; populate_derived(); } +Ifc2x3::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; populate_derived(); } // Function implementations for IfcPresentationLayerWithStyle -boost::logic::tribool Ifc2x3::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = data_.get_attribute_value(4); return v; } +boost::logic::tribool Ifc2x3::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = get_attribute_value(4); return v; } void Ifc2x3::IfcPresentationLayerWithStyle::setLayerOn(boost::logic::tribool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::logic::tribool Ifc2x3::IfcPresentationLayerWithStyle::LayerFrozen() const { boost::logic::tribool v = data_.get_attribute_value(5); return v; } +boost::logic::tribool Ifc2x3::IfcPresentationLayerWithStyle::LayerFrozen() const { boost::logic::tribool v = get_attribute_value(5); return v; } void Ifc2x3::IfcPresentationLayerWithStyle::setLayerFrozen(boost::logic::tribool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::logic::tribool Ifc2x3::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = data_.get_attribute_value(6); return v; } +boost::logic::tribool Ifc2x3::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = get_attribute_value(6); return v; } void Ifc2x3::IfcPresentationLayerWithStyle::setLayerBlocked(boost::logic::tribool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr Ifc2x3::IfcPresentationLayerWithStyle::LayerStyles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc2x3::IfcPresentationStyleSelect >(); } +aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr Ifc2x3::IfcPresentationLayerWithStyle::LayerStyles() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc2x3::IfcPresentationStyleSelect >(); } void Ifc2x3::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc2x3::IfcPresentationLayerWithStyle::declaration() const { return *((IfcParse::entity*)IFC2X3_types[592]); } const IfcParse::entity& Ifc2x3::IfcPresentationLayerWithStyle::Class() { return *((IfcParse::entity*)IFC2X3_types[592]); } Ifc2x3::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData&& e) : IfcPresentationLayerAssignment(std::move(e)) { } -Ifc2x3::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, (v8_LayerStyles)->generalize());; populate_derived(); } +Ifc2x3::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, (v8_LayerStyles)->generalize());; populate_derived(); } // Function implementations for IfcPresentationStyle -boost::optional< std::string > Ifc2x3::IfcPresentationStyle::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc2x3::IfcPresentationStyle::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcPresentationStyle::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc2x3::IfcPresentationStyle::declaration() const { return *((IfcParse::entity*)IFC2X3_types[593]); } const IfcParse::entity& Ifc2x3::IfcPresentationStyle::Class() { return *((IfcParse::entity*)IFC2X3_types[593]); } Ifc2x3::IfcPresentationStyle::IfcPresentationStyle(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc2x3::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcPresentationStyleAssignment -aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr Ifc2x3::IfcPresentationStyleAssignment::Styles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc2x3::IfcPresentationStyleSelect >(); } +aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr Ifc2x3::IfcPresentationStyleAssignment::Styles() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc2x3::IfcPresentationStyleSelect >(); } void Ifc2x3::IfcPresentationStyleAssignment::setStyles(aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc2x3::IfcPresentationStyleAssignment::declaration() const { return *((IfcParse::entity*)IFC2X3_types[594]); } const IfcParse::entity& Ifc2x3::IfcPresentationStyleAssignment::Class() { return *((IfcParse::entity*)IFC2X3_types[594]); } Ifc2x3::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr v1_Styles) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Styles)->generalize());; populate_derived(); } +Ifc2x3::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of< ::Ifc2x3::IfcPresentationStyleSelect >::ptr v1_Styles) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Styles)->generalize());; populate_derived(); } // Function implementations for IfcProcedure -std::string Ifc2x3::IfcProcedure::ProcedureID() const { std::string v = data_.get_attribute_value(5); return v; } +std::string Ifc2x3::IfcProcedure::ProcedureID() const { std::string v = get_attribute_value(5); return v; } void Ifc2x3::IfcProcedure::setProcedureID(std::string v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcProcedureTypeEnum::Value Ifc2x3::IfcProcedure::ProcedureType() const { return ::Ifc2x3::IfcProcedureTypeEnum::FromString(data_.get_attribute_value(6)); } +::Ifc2x3::IfcProcedureTypeEnum::Value Ifc2x3::IfcProcedure::ProcedureType() const { return ::Ifc2x3::IfcProcedureTypeEnum::FromString(get_attribute_value(6)); } void Ifc2x3::IfcProcedure::setProcedureType(::Ifc2x3::IfcProcedureTypeEnum::Value v) { set_attribute_value(6, EnumerationReference(&::Ifc2x3::IfcProcedureTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(6); } -boost::optional< std::string > Ifc2x3::IfcProcedure::UserDefinedProcedureType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc2x3::IfcProcedure::UserDefinedProcedureType() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc2x3::IfcProcedure::setUserDefinedProcedureType(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc2x3::IfcProcedure::declaration() const { return *((IfcParse::entity*)IFC2X3_types[597]); } const IfcParse::entity& Ifc2x3::IfcProcedure::Class() { return *((IfcParse::entity*)IFC2X3_types[597]); } Ifc2x3::IfcProcedure::IfcProcedure(IfcEntityInstanceData&& e) : IfcProcess(std::move(e)) { } -Ifc2x3::IfcProcedure::IfcProcedure(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_ProcedureID, ::Ifc2x3::IfcProcedureTypeEnum::Value v7_ProcedureType, boost::optional< std::string > v8_UserDefinedProcedureType) : IfcProcess(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ProcedureID));set_attribute_value(6, (EnumerationReference(&::Ifc2x3::IfcProcedureTypeEnum::Class(),(size_t)v7_ProcedureType))); if (v8_UserDefinedProcedureType) {set_attribute_value(7, (*v8_UserDefinedProcedureType)); }; populate_derived(); } +Ifc2x3::IfcProcedure::IfcProcedure(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_ProcedureID, ::Ifc2x3::IfcProcedureTypeEnum::Value v7_ProcedureType, boost::optional< std::string > v8_UserDefinedProcedureType) : IfcProcess(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ProcedureID));set_attribute_value(6, (EnumerationReference(&::Ifc2x3::IfcProcedureTypeEnum::Class(),(size_t)v7_ProcedureType))); if (v8_UserDefinedProcedureType) {set_attribute_value(7, (*v8_UserDefinedProcedureType)); }; populate_derived(); } // Function implementations for IfcProcess @@ -9961,12 +9961,12 @@ Ifc2x3::IfcProcedure::IfcProcedure(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHi const IfcParse::entity& Ifc2x3::IfcProcess::declaration() const { return *((IfcParse::entity*)IFC2X3_types[599]); } const IfcParse::entity& Ifc2x3::IfcProcess::Class() { return *((IfcParse::entity*)IFC2X3_types[599]); } Ifc2x3::IfcProcess::IfcProcess(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc2x3::IfcProcess::IfcProcess(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc2x3::IfcProcess::IfcProcess(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcProduct -::Ifc2x3::IfcObjectPlacement* Ifc2x3::IfcProduct::ObjectPlacement() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcObjectPlacement>(true); } +::Ifc2x3::IfcObjectPlacement* Ifc2x3::IfcProduct::ObjectPlacement() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcObjectPlacement>(true); } void Ifc2x3::IfcProduct::setObjectPlacement(::Ifc2x3::IfcObjectPlacement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcProductRepresentation* Ifc2x3::IfcProduct::Representation() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc2x3::IfcProductRepresentation>(true); } +::Ifc2x3::IfcProductRepresentation* Ifc2x3::IfcProduct::Representation() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc2x3::IfcProductRepresentation>(true); } void Ifc2x3::IfcProduct::setRepresentation(::Ifc2x3::IfcProductRepresentation* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } ::Ifc2x3::IfcRelAssignsToProduct::list::ptr Ifc2x3::IfcProduct::ReferencedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[674], 6)->as(); } @@ -9974,7 +9974,7 @@ void Ifc2x3::IfcProduct::setRepresentation(::Ifc2x3::IfcProductRepresentation* v const IfcParse::entity& Ifc2x3::IfcProduct::declaration() const { return *((IfcParse::entity*)IFC2X3_types[600]); } const IfcParse::entity& Ifc2x3::IfcProduct::Class() { return *((IfcParse::entity*)IFC2X3_types[600]); } Ifc2x3::IfcProduct::IfcProduct(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc2x3::IfcProduct::IfcProduct(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation) : IfcObject(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcProduct::IfcProduct(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProductDefinitionShape @@ -9984,103 +9984,103 @@ Ifc2x3::IfcProduct::IfcProduct(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistor const IfcParse::entity& Ifc2x3::IfcProductDefinitionShape::declaration() const { return *((IfcParse::entity*)IFC2X3_types[601]); } const IfcParse::entity& Ifc2x3::IfcProductDefinitionShape::Class() { return *((IfcParse::entity*)IFC2X3_types[601]); } Ifc2x3::IfcProductDefinitionShape::IfcProductDefinitionShape(IfcEntityInstanceData&& e) : IfcProductRepresentation(std::move(e)) { } -Ifc2x3::IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcRepresentation >::ptr v3_Representations) : IfcProductRepresentation(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } +Ifc2x3::IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcRepresentation >::ptr v3_Representations) : IfcProductRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } // Function implementations for IfcProductRepresentation -boost::optional< std::string > Ifc2x3::IfcProductRepresentation::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc2x3::IfcProductRepresentation::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcProductRepresentation::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc2x3::IfcProductRepresentation::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc2x3::IfcProductRepresentation::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcProductRepresentation::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc2x3::IfcRepresentation >::ptr Ifc2x3::IfcProductRepresentation::Representations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc2x3::IfcRepresentation >(); } +aggregate_of< ::Ifc2x3::IfcRepresentation >::ptr Ifc2x3::IfcProductRepresentation::Representations() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc2x3::IfcRepresentation >(); } void Ifc2x3::IfcProductRepresentation::setRepresentations(aggregate_of< ::Ifc2x3::IfcRepresentation >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc2x3::IfcProductRepresentation::declaration() const { return *((IfcParse::entity*)IFC2X3_types[602]); } const IfcParse::entity& Ifc2x3::IfcProductRepresentation::Class() { return *((IfcParse::entity*)IFC2X3_types[602]); } Ifc2x3::IfcProductRepresentation::IfcProductRepresentation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcProductRepresentation::IfcProductRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcRepresentation >::ptr v3_Representations) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } +Ifc2x3::IfcProductRepresentation::IfcProductRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcRepresentation >::ptr v3_Representations) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } // Function implementations for IfcProductsOfCombustionProperties -boost::optional< double > Ifc2x3::IfcProductsOfCombustionProperties::SpecificHeatCapacity() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc2x3::IfcProductsOfCombustionProperties::SpecificHeatCapacity() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc2x3::IfcProductsOfCombustionProperties::setSpecificHeatCapacity(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc2x3::IfcProductsOfCombustionProperties::N20Content() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc2x3::IfcProductsOfCombustionProperties::N20Content() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc2x3::IfcProductsOfCombustionProperties::setN20Content(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc2x3::IfcProductsOfCombustionProperties::COContent() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc2x3::IfcProductsOfCombustionProperties::COContent() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc2x3::IfcProductsOfCombustionProperties::setCOContent(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc2x3::IfcProductsOfCombustionProperties::CO2Content() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc2x3::IfcProductsOfCombustionProperties::CO2Content() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc2x3::IfcProductsOfCombustionProperties::setCO2Content(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc2x3::IfcProductsOfCombustionProperties::declaration() const { return *((IfcParse::entity*)IFC2X3_types[603]); } const IfcParse::entity& Ifc2x3::IfcProductsOfCombustionProperties::Class() { return *((IfcParse::entity*)IFC2X3_types[603]); } Ifc2x3::IfcProductsOfCombustionProperties::IfcProductsOfCombustionProperties(IfcEntityInstanceData&& e) : IfcMaterialProperties(std::move(e)) { } -Ifc2x3::IfcProductsOfCombustionProperties::IfcProductsOfCombustionProperties(::Ifc2x3::IfcMaterial* v1_Material, boost::optional< double > v2_SpecificHeatCapacity, boost::optional< double > v3_N20Content, boost::optional< double > v4_COContent, boost::optional< double > v5_CO2Content) : IfcMaterialProperties(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_SpecificHeatCapacity) {set_attribute_value(1, (*v2_SpecificHeatCapacity)); } if (v3_N20Content) {set_attribute_value(2, (*v3_N20Content)); } if (v4_COContent) {set_attribute_value(3, (*v4_COContent)); } if (v5_CO2Content) {set_attribute_value(4, (*v5_CO2Content)); }; populate_derived(); } +Ifc2x3::IfcProductsOfCombustionProperties::IfcProductsOfCombustionProperties(::Ifc2x3::IfcMaterial* v1_Material, boost::optional< double > v2_SpecificHeatCapacity, boost::optional< double > v3_N20Content, boost::optional< double > v4_COContent, boost::optional< double > v5_CO2Content) : IfcMaterialProperties(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_SpecificHeatCapacity) {set_attribute_value(1, (*v2_SpecificHeatCapacity)); } if (v3_N20Content) {set_attribute_value(2, (*v3_N20Content)); } if (v4_COContent) {set_attribute_value(3, (*v4_COContent)); } if (v5_CO2Content) {set_attribute_value(4, (*v5_CO2Content)); }; populate_derived(); } // Function implementations for IfcProfileDef -::Ifc2x3::IfcProfileTypeEnum::Value Ifc2x3::IfcProfileDef::ProfileType() const { return ::Ifc2x3::IfcProfileTypeEnum::FromString(data_.get_attribute_value(0)); } +::Ifc2x3::IfcProfileTypeEnum::Value Ifc2x3::IfcProfileDef::ProfileType() const { return ::Ifc2x3::IfcProfileTypeEnum::FromString(get_attribute_value(0)); } void Ifc2x3::IfcProfileDef::setProfileType(::Ifc2x3::IfcProfileTypeEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc2x3::IfcProfileDef::ProfileName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc2x3::IfcProfileDef::ProfileName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcProfileDef::setProfileName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc2x3::IfcProfileDef::declaration() const { return *((IfcParse::entity*)IFC2X3_types[604]); } const IfcParse::entity& Ifc2x3::IfcProfileDef::Class() { return *((IfcParse::entity*)IFC2X3_types[604]); } Ifc2x3::IfcProfileDef::IfcProfileDef(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcProfileDef::IfcProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; populate_derived(); } +Ifc2x3::IfcProfileDef::IfcProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; populate_derived(); } // Function implementations for IfcProfileProperties -boost::optional< std::string > Ifc2x3::IfcProfileProperties::ProfileName() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc2x3::IfcProfileProperties::ProfileName() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcProfileProperties::setProfileName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc2x3::IfcProfileDef* Ifc2x3::IfcProfileProperties::ProfileDefinition() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcProfileDef>(true); } +::Ifc2x3::IfcProfileDef* Ifc2x3::IfcProfileProperties::ProfileDefinition() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcProfileDef>(true); } void Ifc2x3::IfcProfileProperties::setProfileDefinition(::Ifc2x3::IfcProfileDef* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcProfileProperties::declaration() const { return *((IfcParse::entity*)IFC2X3_types[605]); } const IfcParse::entity& Ifc2x3::IfcProfileProperties::Class() { return *((IfcParse::entity*)IFC2X3_types[605]); } Ifc2x3::IfcProfileProperties::IfcProfileProperties(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcProfileProperties::IfcProfileProperties(boost::optional< std::string > v1_ProfileName, ::Ifc2x3::IfcProfileDef* v2_ProfileDefinition) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_ProfileName) {set_attribute_value(0, (*v1_ProfileName)); }set_attribute_value(1, v2_ProfileDefinition ? v2_ProfileDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcProfileProperties::IfcProfileProperties(boost::optional< std::string > v1_ProfileName, ::Ifc2x3::IfcProfileDef* v2_ProfileDefinition) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_ProfileName) {set_attribute_value(0, (*v1_ProfileName)); }set_attribute_value(1, v2_ProfileDefinition ? v2_ProfileDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProject -boost::optional< std::string > Ifc2x3::IfcProject::LongName() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc2x3::IfcProject::LongName() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc2x3::IfcProject::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc2x3::IfcProject::Phase() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc2x3::IfcProject::Phase() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc2x3::IfcProject::setPhase(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -aggregate_of< ::Ifc2x3::IfcRepresentationContext >::ptr Ifc2x3::IfcProject::RepresentationContexts() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc2x3::IfcRepresentationContext >(); } +aggregate_of< ::Ifc2x3::IfcRepresentationContext >::ptr Ifc2x3::IfcProject::RepresentationContexts() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc2x3::IfcRepresentationContext >(); } void Ifc2x3::IfcProject::setRepresentationContexts(aggregate_of< ::Ifc2x3::IfcRepresentationContext >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } -::Ifc2x3::IfcUnitAssignment* Ifc2x3::IfcProject::UnitsInContext() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc2x3::IfcUnitAssignment>(true); } +::Ifc2x3::IfcUnitAssignment* Ifc2x3::IfcProject::UnitsInContext() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc2x3::IfcUnitAssignment>(true); } void Ifc2x3::IfcProject::setUnitsInContext(::Ifc2x3::IfcUnitAssignment* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc2x3::IfcProject::declaration() const { return *((IfcParse::entity*)IFC2X3_types[607]); } const IfcParse::entity& Ifc2x3::IfcProject::Class() { return *((IfcParse::entity*)IFC2X3_types[607]); } Ifc2x3::IfcProject::IfcProject(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc2x3::IfcProject::IfcProject(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, aggregate_of< ::Ifc2x3::IfcRepresentationContext >::ptr v8_RepresentationContexts, ::Ifc2x3::IfcUnitAssignment* v9_UnitsInContext) : IfcObject(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); }set_attribute_value(7, (v8_RepresentationContexts)->generalize());set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcProject::IfcProject(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, aggregate_of< ::Ifc2x3::IfcRepresentationContext >::ptr v8_RepresentationContexts, ::Ifc2x3::IfcUnitAssignment* v9_UnitsInContext) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); }set_attribute_value(7, (v8_RepresentationContexts)->generalize());set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProjectOrder -std::string Ifc2x3::IfcProjectOrder::ID() const { std::string v = data_.get_attribute_value(5); return v; } +std::string Ifc2x3::IfcProjectOrder::ID() const { std::string v = get_attribute_value(5); return v; } void Ifc2x3::IfcProjectOrder::setID(std::string v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcProjectOrderTypeEnum::Value Ifc2x3::IfcProjectOrder::PredefinedType() const { return ::Ifc2x3::IfcProjectOrderTypeEnum::FromString(data_.get_attribute_value(6)); } +::Ifc2x3::IfcProjectOrderTypeEnum::Value Ifc2x3::IfcProjectOrder::PredefinedType() const { return ::Ifc2x3::IfcProjectOrderTypeEnum::FromString(get_attribute_value(6)); } void Ifc2x3::IfcProjectOrder::setPredefinedType(::Ifc2x3::IfcProjectOrderTypeEnum::Value v) { set_attribute_value(6, EnumerationReference(&::Ifc2x3::IfcProjectOrderTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(6); } -boost::optional< std::string > Ifc2x3::IfcProjectOrder::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc2x3::IfcProjectOrder::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc2x3::IfcProjectOrder::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc2x3::IfcProjectOrder::declaration() const { return *((IfcParse::entity*)IFC2X3_types[611]); } const IfcParse::entity& Ifc2x3::IfcProjectOrder::Class() { return *((IfcParse::entity*)IFC2X3_types[611]); } Ifc2x3::IfcProjectOrder::IfcProjectOrder(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc2x3::IfcProjectOrder::IfcProjectOrder(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_ID, ::Ifc2x3::IfcProjectOrderTypeEnum::Value v7_PredefinedType, boost::optional< std::string > v8_Status) : IfcControl(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ID));set_attribute_value(6, (EnumerationReference(&::Ifc2x3::IfcProjectOrderTypeEnum::Class(),(size_t)v7_PredefinedType))); if (v8_Status) {set_attribute_value(7, (*v8_Status)); }; populate_derived(); } +Ifc2x3::IfcProjectOrder::IfcProjectOrder(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_ID, ::Ifc2x3::IfcProjectOrderTypeEnum::Value v7_PredefinedType, boost::optional< std::string > v8_Status) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_ID));set_attribute_value(6, (EnumerationReference(&::Ifc2x3::IfcProjectOrderTypeEnum::Class(),(size_t)v7_PredefinedType))); if (v8_Status) {set_attribute_value(7, (*v8_Status)); }; populate_derived(); } // Function implementations for IfcProjectOrderRecord -aggregate_of< ::Ifc2x3::IfcRelAssignsToProjectOrder >::ptr Ifc2x3::IfcProjectOrderRecord::Records() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc2x3::IfcRelAssignsToProjectOrder >(); } +aggregate_of< ::Ifc2x3::IfcRelAssignsToProjectOrder >::ptr Ifc2x3::IfcProjectOrderRecord::Records() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc2x3::IfcRelAssignsToProjectOrder >(); } void Ifc2x3::IfcProjectOrderRecord::setRecords(aggregate_of< ::Ifc2x3::IfcRelAssignsToProjectOrder >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcProjectOrderRecordTypeEnum::Value Ifc2x3::IfcProjectOrderRecord::PredefinedType() const { return ::Ifc2x3::IfcProjectOrderRecordTypeEnum::FromString(data_.get_attribute_value(6)); } +::Ifc2x3::IfcProjectOrderRecordTypeEnum::Value Ifc2x3::IfcProjectOrderRecord::PredefinedType() const { return ::Ifc2x3::IfcProjectOrderRecordTypeEnum::FromString(get_attribute_value(6)); } void Ifc2x3::IfcProjectOrderRecord::setPredefinedType(::Ifc2x3::IfcProjectOrderRecordTypeEnum::Value v) { set_attribute_value(6, EnumerationReference(&::Ifc2x3::IfcProjectOrderRecordTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc2x3::IfcProjectOrderRecord::declaration() const { return *((IfcParse::entity*)IFC2X3_types[612]); } const IfcParse::entity& Ifc2x3::IfcProjectOrderRecord::Class() { return *((IfcParse::entity*)IFC2X3_types[612]); } Ifc2x3::IfcProjectOrderRecord::IfcProjectOrderRecord(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc2x3::IfcProjectOrderRecord::IfcProjectOrderRecord(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, aggregate_of< ::Ifc2x3::IfcRelAssignsToProjectOrder >::ptr v6_Records, ::Ifc2x3::IfcProjectOrderRecordTypeEnum::Value v7_PredefinedType) : IfcControl(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_Records)->generalize());set_attribute_value(6, (EnumerationReference(&::Ifc2x3::IfcProjectOrderRecordTypeEnum::Class(),(size_t)v7_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcProjectOrderRecord::IfcProjectOrderRecord(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, aggregate_of< ::Ifc2x3::IfcRelAssignsToProjectOrder >::ptr v6_Records, ::Ifc2x3::IfcProjectOrderRecordTypeEnum::Value v7_PredefinedType) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_Records)->generalize());set_attribute_value(6, (EnumerationReference(&::Ifc2x3::IfcProjectOrderRecordTypeEnum::Class(),(size_t)v7_PredefinedType)));; populate_derived(); } // Function implementations for IfcProjectionCurve @@ -10088,7 +10088,7 @@ Ifc2x3::IfcProjectOrderRecord::IfcProjectOrderRecord(std::string v1_GlobalId, :: const IfcParse::entity& Ifc2x3::IfcProjectionCurve::declaration() const { return *((IfcParse::entity*)IFC2X3_types[609]); } const IfcParse::entity& Ifc2x3::IfcProjectionCurve::Class() { return *((IfcParse::entity*)IFC2X3_types[609]); } Ifc2x3::IfcProjectionCurve::IfcProjectionCurve(IfcEntityInstanceData&& e) : IfcAnnotationCurveOccurrence(std::move(e)) { } -Ifc2x3::IfcProjectionCurve::IfcProjectionCurve(::Ifc2x3::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc2x3::IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcAnnotationCurveOccurrence(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc2x3::IfcProjectionCurve::IfcProjectionCurve(::Ifc2x3::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc2x3::IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcAnnotationCurveOccurrence(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcProjectionElement @@ -10096,12 +10096,12 @@ Ifc2x3::IfcProjectionCurve::IfcProjectionCurve(::Ifc2x3::IfcRepresentationItem* const IfcParse::entity& Ifc2x3::IfcProjectionElement::declaration() const { return *((IfcParse::entity*)IFC2X3_types[610]); } const IfcParse::entity& Ifc2x3::IfcProjectionElement::Class() { return *((IfcParse::entity*)IFC2X3_types[610]); } Ifc2x3::IfcProjectionElement::IfcProjectionElement(IfcEntityInstanceData&& e) : IfcFeatureElementAddition(std::move(e)) { } -Ifc2x3::IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElementAddition(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElementAddition(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcProperty -std::string Ifc2x3::IfcProperty::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc2x3::IfcProperty::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcProperty::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc2x3::IfcProperty::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc2x3::IfcProperty::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcProperty::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc2x3::IfcPropertyDependencyRelationship::list::ptr Ifc2x3::IfcProperty::PropertyForDependance() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[619], 0)->as(); } @@ -10111,37 +10111,37 @@ void Ifc2x3::IfcProperty::setDescription(boost::optional< std::string > v) { if const IfcParse::entity& Ifc2x3::IfcProperty::declaration() const { return *((IfcParse::entity*)IFC2X3_types[615]); } const IfcParse::entity& Ifc2x3::IfcProperty::Class() { return *((IfcParse::entity*)IFC2X3_types[615]); } Ifc2x3::IfcProperty::IfcProperty(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc2x3::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcPropertyBoundedValue -::Ifc2x3::IfcValue* Ifc2x3::IfcPropertyBoundedValue::UpperBoundValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcValue>(true); } +::Ifc2x3::IfcValue* Ifc2x3::IfcPropertyBoundedValue::UpperBoundValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcValue>(true); } void Ifc2x3::IfcPropertyBoundedValue::setUpperBoundValue(::Ifc2x3::IfcValue* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcValue* Ifc2x3::IfcPropertyBoundedValue::LowerBoundValue() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc2x3::IfcValue>(true); } +::Ifc2x3::IfcValue* Ifc2x3::IfcPropertyBoundedValue::LowerBoundValue() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc2x3::IfcValue>(true); } void Ifc2x3::IfcPropertyBoundedValue::setLowerBoundValue(::Ifc2x3::IfcValue* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc2x3::IfcUnit* Ifc2x3::IfcPropertyBoundedValue::Unit() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc2x3::IfcUnit>(true); } +::Ifc2x3::IfcUnit* Ifc2x3::IfcPropertyBoundedValue::Unit() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc2x3::IfcUnit>(true); } void Ifc2x3::IfcPropertyBoundedValue::setUnit(::Ifc2x3::IfcUnit* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc2x3::IfcPropertyBoundedValue::declaration() const { return *((IfcParse::entity*)IFC2X3_types[616]); } const IfcParse::entity& Ifc2x3::IfcPropertyBoundedValue::Class() { return *((IfcParse::entity*)IFC2X3_types[616]); } Ifc2x3::IfcPropertyBoundedValue::IfcPropertyBoundedValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc2x3::IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcValue* v3_UpperBoundValue, ::Ifc2x3::IfcValue* v4_LowerBoundValue, ::Ifc2x3::IfcUnit* v5_Unit) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_UpperBoundValue ? v3_UpperBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_LowerBoundValue ? v4_LowerBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_Unit ? v5_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcValue* v3_UpperBoundValue, ::Ifc2x3::IfcValue* v4_LowerBoundValue, ::Ifc2x3::IfcUnit* v5_Unit) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_UpperBoundValue ? v3_UpperBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_LowerBoundValue ? v4_LowerBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_Unit ? v5_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyConstraintRelationship -::Ifc2x3::IfcConstraint* Ifc2x3::IfcPropertyConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcConstraint>(true); } +::Ifc2x3::IfcConstraint* Ifc2x3::IfcPropertyConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcConstraint>(true); } void Ifc2x3::IfcPropertyConstraintRelationship::setRelatingConstraint(::Ifc2x3::IfcConstraint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc2x3::IfcProperty >::ptr Ifc2x3::IfcPropertyConstraintRelationship::RelatedProperties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc2x3::IfcProperty >(); } +aggregate_of< ::Ifc2x3::IfcProperty >::ptr Ifc2x3::IfcPropertyConstraintRelationship::RelatedProperties() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc2x3::IfcProperty >(); } void Ifc2x3::IfcPropertyConstraintRelationship::setRelatedProperties(aggregate_of< ::Ifc2x3::IfcProperty >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc2x3::IfcPropertyConstraintRelationship::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc2x3::IfcPropertyConstraintRelationship::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcPropertyConstraintRelationship::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc2x3::IfcPropertyConstraintRelationship::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc2x3::IfcPropertyConstraintRelationship::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc2x3::IfcPropertyConstraintRelationship::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc2x3::IfcPropertyConstraintRelationship::declaration() const { return *((IfcParse::entity*)IFC2X3_types[617]); } const IfcParse::entity& Ifc2x3::IfcPropertyConstraintRelationship::Class() { return *((IfcParse::entity*)IFC2X3_types[617]); } Ifc2x3::IfcPropertyConstraintRelationship::IfcPropertyConstraintRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcPropertyConstraintRelationship::IfcPropertyConstraintRelationship(::Ifc2x3::IfcConstraint* v1_RelatingConstraint, aggregate_of< ::Ifc2x3::IfcProperty >::ptr v2_RelatedProperties, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_RelatingConstraint ? v1_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_RelatedProperties)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc2x3::IfcPropertyConstraintRelationship::IfcPropertyConstraintRelationship(::Ifc2x3::IfcConstraint* v1_RelatingConstraint, aggregate_of< ::Ifc2x3::IfcProperty >::ptr v2_RelatedProperties, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_RelatingConstraint ? v1_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_RelatedProperties)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertyDefinition @@ -10150,85 +10150,85 @@ Ifc2x3::IfcPropertyConstraintRelationship::IfcPropertyConstraintRelationship(::I const IfcParse::entity& Ifc2x3::IfcPropertyDefinition::declaration() const { return *((IfcParse::entity*)IFC2X3_types[618]); } const IfcParse::entity& Ifc2x3::IfcPropertyDefinition::Class() { return *((IfcParse::entity*)IFC2X3_types[618]); } Ifc2x3::IfcPropertyDefinition::IfcPropertyDefinition(IfcEntityInstanceData&& e) : IfcRoot(std::move(e)) { } -Ifc2x3::IfcPropertyDefinition::IfcPropertyDefinition(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc2x3::IfcPropertyDefinition::IfcPropertyDefinition(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertyDependencyRelationship -::Ifc2x3::IfcProperty* Ifc2x3::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcProperty>(true); } +::Ifc2x3::IfcProperty* Ifc2x3::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcProperty>(true); } void Ifc2x3::IfcPropertyDependencyRelationship::setDependingProperty(::Ifc2x3::IfcProperty* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcProperty* Ifc2x3::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcProperty>(true); } +::Ifc2x3::IfcProperty* Ifc2x3::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcProperty>(true); } void Ifc2x3::IfcPropertyDependencyRelationship::setDependantProperty(::Ifc2x3::IfcProperty* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc2x3::IfcPropertyDependencyRelationship::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc2x3::IfcPropertyDependencyRelationship::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcPropertyDependencyRelationship::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc2x3::IfcPropertyDependencyRelationship::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc2x3::IfcPropertyDependencyRelationship::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc2x3::IfcPropertyDependencyRelationship::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc2x3::IfcPropertyDependencyRelationship::Expression() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc2x3::IfcPropertyDependencyRelationship::Expression() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc2x3::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc2x3::IfcPropertyDependencyRelationship::declaration() const { return *((IfcParse::entity*)IFC2X3_types[619]); } const IfcParse::entity& Ifc2x3::IfcPropertyDependencyRelationship::Class() { return *((IfcParse::entity*)IFC2X3_types[619]); } Ifc2x3::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(::Ifc2x3::IfcProperty* v1_DependingProperty, ::Ifc2x3::IfcProperty* v2_DependantProperty, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_Expression) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_DependingProperty ? v1_DependingProperty->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_DependantProperty ? v2_DependantProperty->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } +Ifc2x3::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(::Ifc2x3::IfcProperty* v1_DependingProperty, ::Ifc2x3::IfcProperty* v2_DependantProperty, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_Expression) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_DependingProperty ? v1_DependingProperty->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_DependantProperty ? v2_DependantProperty->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } // Function implementations for IfcPropertyEnumeratedValue -aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcPropertyEnumeratedValue::EnumerationValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc2x3::IfcValue >(); } +aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcPropertyEnumeratedValue::EnumerationValues() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc2x3::IfcValue >(); } void Ifc2x3::IfcPropertyEnumeratedValue::setEnumerationValues(aggregate_of< ::Ifc2x3::IfcValue >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcPropertyEnumeration* Ifc2x3::IfcPropertyEnumeratedValue::EnumerationReference() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc2x3::IfcPropertyEnumeration>(true); } +::Ifc2x3::IfcPropertyEnumeration* Ifc2x3::IfcPropertyEnumeratedValue::EnumerationReference() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc2x3::IfcPropertyEnumeration>(true); } void Ifc2x3::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc2x3::IfcPropertyEnumeration* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcPropertyEnumeratedValue::declaration() const { return *((IfcParse::entity*)IFC2X3_types[620]); } const IfcParse::entity& Ifc2x3::IfcPropertyEnumeratedValue::Class() { return *((IfcParse::entity*)IFC2X3_types[620]); } Ifc2x3::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc2x3::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcValue >::ptr v3_EnumerationValues, ::Ifc2x3::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_EnumerationValues)->generalize());set_attribute_value(3, v4_EnumerationReference ? v4_EnumerationReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcValue >::ptr v3_EnumerationValues, ::Ifc2x3::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_EnumerationValues)->generalize());set_attribute_value(3, v4_EnumerationReference ? v4_EnumerationReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyEnumeration -std::string Ifc2x3::IfcPropertyEnumeration::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc2x3::IfcPropertyEnumeration::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcPropertyEnumeration::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc2x3::IfcValue >(); } +aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc2x3::IfcValue >(); } void Ifc2x3::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc2x3::IfcValue >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc2x3::IfcUnit* Ifc2x3::IfcPropertyEnumeration::Unit() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcUnit>(true); } +::Ifc2x3::IfcUnit* Ifc2x3::IfcPropertyEnumeration::Unit() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcUnit>(true); } void Ifc2x3::IfcPropertyEnumeration::setUnit(::Ifc2x3::IfcUnit* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc2x3::IfcPropertyEnumeration::declaration() const { return *((IfcParse::entity*)IFC2X3_types[621]); } const IfcParse::entity& Ifc2x3::IfcPropertyEnumeration::Class() { return *((IfcParse::entity*)IFC2X3_types[621]); } Ifc2x3::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc2x3::IfcValue >::ptr v2_EnumerationValues, ::Ifc2x3::IfcUnit* v3_Unit) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_EnumerationValues)->generalize());set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc2x3::IfcValue >::ptr v2_EnumerationValues, ::Ifc2x3::IfcUnit* v3_Unit) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_EnumerationValues)->generalize());set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyListValue -aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcPropertyListValue::ListValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc2x3::IfcValue >(); } +aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcPropertyListValue::ListValues() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc2x3::IfcValue >(); } void Ifc2x3::IfcPropertyListValue::setListValues(aggregate_of< ::Ifc2x3::IfcValue >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcUnit* Ifc2x3::IfcPropertyListValue::Unit() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc2x3::IfcUnit>(true); } +::Ifc2x3::IfcUnit* Ifc2x3::IfcPropertyListValue::Unit() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc2x3::IfcUnit>(true); } void Ifc2x3::IfcPropertyListValue::setUnit(::Ifc2x3::IfcUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcPropertyListValue::declaration() const { return *((IfcParse::entity*)IFC2X3_types[622]); } const IfcParse::entity& Ifc2x3::IfcPropertyListValue::Class() { return *((IfcParse::entity*)IFC2X3_types[622]); } Ifc2x3::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc2x3::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcValue >::ptr v3_ListValues, ::Ifc2x3::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_ListValues)->generalize());set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcValue >::ptr v3_ListValues, ::Ifc2x3::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_ListValues)->generalize());set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyReferenceValue -boost::optional< std::string > Ifc2x3::IfcPropertyReferenceValue::UsageName() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc2x3::IfcPropertyReferenceValue::UsageName() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc2x3::IfcObjectReferenceSelect* Ifc2x3::IfcPropertyReferenceValue::PropertyReference() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc2x3::IfcObjectReferenceSelect>(true); } +::Ifc2x3::IfcObjectReferenceSelect* Ifc2x3::IfcPropertyReferenceValue::PropertyReference() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc2x3::IfcObjectReferenceSelect>(true); } void Ifc2x3::IfcPropertyReferenceValue::setPropertyReference(::Ifc2x3::IfcObjectReferenceSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcPropertyReferenceValue::declaration() const { return *((IfcParse::entity*)IFC2X3_types[623]); } const IfcParse::entity& Ifc2x3::IfcPropertyReferenceValue::Class() { return *((IfcParse::entity*)IFC2X3_types[623]); } Ifc2x3::IfcPropertyReferenceValue::IfcPropertyReferenceValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc2x3::IfcPropertyReferenceValue::IfcPropertyReferenceValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UsageName, ::Ifc2x3::IfcObjectReferenceSelect* v4_PropertyReference) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, v4_PropertyReference ? v4_PropertyReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcPropertyReferenceValue::IfcPropertyReferenceValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UsageName, ::Ifc2x3::IfcObjectReferenceSelect* v4_PropertyReference) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, v4_PropertyReference ? v4_PropertyReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertySet -aggregate_of< ::Ifc2x3::IfcProperty >::ptr Ifc2x3::IfcPropertySet::HasProperties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc2x3::IfcProperty >(); } +aggregate_of< ::Ifc2x3::IfcProperty >::ptr Ifc2x3::IfcPropertySet::HasProperties() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc2x3::IfcProperty >(); } void Ifc2x3::IfcPropertySet::setHasProperties(aggregate_of< ::Ifc2x3::IfcProperty >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc2x3::IfcPropertySet::declaration() const { return *((IfcParse::entity*)IFC2X3_types[624]); } const IfcParse::entity& Ifc2x3::IfcPropertySet::Class() { return *((IfcParse::entity*)IFC2X3_types[624]); } Ifc2x3::IfcPropertySet::IfcPropertySet(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc2x3::IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcProperty >::ptr v5_HasProperties) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_HasProperties)->generalize());; populate_derived(); } +Ifc2x3::IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcProperty >::ptr v5_HasProperties) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_HasProperties)->generalize());; populate_derived(); } // Function implementations for IfcPropertySetDefinition @@ -10238,129 +10238,129 @@ Ifc2x3::IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, ::Ifc2x3::IfcOwn const IfcParse::entity& Ifc2x3::IfcPropertySetDefinition::declaration() const { return *((IfcParse::entity*)IFC2X3_types[625]); } const IfcParse::entity& Ifc2x3::IfcPropertySetDefinition::Class() { return *((IfcParse::entity*)IFC2X3_types[625]); } Ifc2x3::IfcPropertySetDefinition::IfcPropertySetDefinition(IfcEntityInstanceData&& e) : IfcPropertyDefinition(std::move(e)) { } -Ifc2x3::IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc2x3::IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertySingleValue -::Ifc2x3::IfcValue* Ifc2x3::IfcPropertySingleValue::NominalValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcValue>(true); } +::Ifc2x3::IfcValue* Ifc2x3::IfcPropertySingleValue::NominalValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcValue>(true); } void Ifc2x3::IfcPropertySingleValue::setNominalValue(::Ifc2x3::IfcValue* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcUnit* Ifc2x3::IfcPropertySingleValue::Unit() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc2x3::IfcUnit>(true); } +::Ifc2x3::IfcUnit* Ifc2x3::IfcPropertySingleValue::Unit() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc2x3::IfcUnit>(true); } void Ifc2x3::IfcPropertySingleValue::setUnit(::Ifc2x3::IfcUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcPropertySingleValue::declaration() const { return *((IfcParse::entity*)IFC2X3_types[626]); } const IfcParse::entity& Ifc2x3::IfcPropertySingleValue::Class() { return *((IfcParse::entity*)IFC2X3_types[626]); } Ifc2x3::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc2x3::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcValue* v3_NominalValue, ::Ifc2x3::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_NominalValue ? v3_NominalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcValue* v3_NominalValue, ::Ifc2x3::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_NominalValue ? v3_NominalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyTableValue -aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcPropertyTableValue::DefiningValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc2x3::IfcValue >(); } +aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcPropertyTableValue::DefiningValues() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc2x3::IfcValue >(); } void Ifc2x3::IfcPropertyTableValue::setDefiningValues(aggregate_of< ::Ifc2x3::IfcValue >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcPropertyTableValue::DefinedValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc2x3::IfcValue >(); } +aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcPropertyTableValue::DefinedValues() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc2x3::IfcValue >(); } void Ifc2x3::IfcPropertyTableValue::setDefinedValues(aggregate_of< ::Ifc2x3::IfcValue >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc2x3::IfcPropertyTableValue::Expression() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc2x3::IfcPropertyTableValue::Expression() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc2x3::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc2x3::IfcUnit* Ifc2x3::IfcPropertyTableValue::DefiningUnit() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcUnit>(true); } +::Ifc2x3::IfcUnit* Ifc2x3::IfcPropertyTableValue::DefiningUnit() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcUnit>(true); } void Ifc2x3::IfcPropertyTableValue::setDefiningUnit(::Ifc2x3::IfcUnit* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcUnit* Ifc2x3::IfcPropertyTableValue::DefinedUnit() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc2x3::IfcUnit>(true); } +::Ifc2x3::IfcUnit* Ifc2x3::IfcPropertyTableValue::DefinedUnit() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc2x3::IfcUnit>(true); } void Ifc2x3::IfcPropertyTableValue::setDefinedUnit(::Ifc2x3::IfcUnit* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc2x3::IfcPropertyTableValue::declaration() const { return *((IfcParse::entity*)IFC2X3_types[628]); } const IfcParse::entity& Ifc2x3::IfcPropertyTableValue::Class() { return *((IfcParse::entity*)IFC2X3_types[628]); } Ifc2x3::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc2x3::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcValue >::ptr v3_DefiningValues, aggregate_of< ::Ifc2x3::IfcValue >::ptr v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc2x3::IfcUnit* v6_DefiningUnit, ::Ifc2x3::IfcUnit* v7_DefinedUnit) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_DefiningValues)->generalize());set_attribute_value(3, (v4_DefinedValues)->generalize()); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, v6_DefiningUnit ? v6_DefiningUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_DefinedUnit ? v7_DefinedUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc2x3::IfcValue >::ptr v3_DefiningValues, aggregate_of< ::Ifc2x3::IfcValue >::ptr v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc2x3::IfcUnit* v6_DefiningUnit, ::Ifc2x3::IfcUnit* v7_DefinedUnit) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_DefiningValues)->generalize());set_attribute_value(3, (v4_DefinedValues)->generalize()); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, v6_DefiningUnit ? v6_DefiningUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_DefinedUnit ? v7_DefinedUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProtectiveDeviceType -::Ifc2x3::IfcProtectiveDeviceTypeEnum::Value Ifc2x3::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc2x3::IfcProtectiveDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcProtectiveDeviceTypeEnum::Value Ifc2x3::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc2x3::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcProtectiveDeviceType::setPredefinedType(::Ifc2x3::IfcProtectiveDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcProtectiveDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcProtectiveDeviceType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[629]); } const IfcParse::entity& Ifc2x3::IfcProtectiveDeviceType::Class() { return *((IfcParse::entity*)IFC2X3_types[629]); } Ifc2x3::IfcProtectiveDeviceType::IfcProtectiveDeviceType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc2x3::IfcProtectiveDeviceType::IfcProtectiveDeviceType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcProtectiveDeviceType::IfcProtectiveDeviceType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcProxy -::Ifc2x3::IfcObjectTypeEnum::Value Ifc2x3::IfcProxy::ProxyType() const { return ::Ifc2x3::IfcObjectTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc2x3::IfcObjectTypeEnum::Value Ifc2x3::IfcProxy::ProxyType() const { return ::Ifc2x3::IfcObjectTypeEnum::FromString(get_attribute_value(7)); } void Ifc2x3::IfcProxy::setProxyType(::Ifc2x3::IfcObjectTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc2x3::IfcObjectTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc2x3::IfcProxy::Tag() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc2x3::IfcProxy::Tag() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc2x3::IfcProxy::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc2x3::IfcProxy::declaration() const { return *((IfcParse::entity*)IFC2X3_types[631]); } const IfcParse::entity& Ifc2x3::IfcProxy::Class() { return *((IfcParse::entity*)IFC2X3_types[631]); } Ifc2x3::IfcProxy::IfcProxy(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc2x3::IfcProxy::IfcProxy(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcObjectTypeEnum::Value v8_ProxyType, boost::optional< std::string > v9_Tag) : IfcProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)v8_ProxyType))); if (v9_Tag) {set_attribute_value(8, (*v9_Tag)); }; populate_derived(); } +Ifc2x3::IfcProxy::IfcProxy(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcObjectTypeEnum::Value v8_ProxyType, boost::optional< std::string > v9_Tag) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)v8_ProxyType))); if (v9_Tag) {set_attribute_value(8, (*v9_Tag)); }; populate_derived(); } // Function implementations for IfcPumpType -::Ifc2x3::IfcPumpTypeEnum::Value Ifc2x3::IfcPumpType::PredefinedType() const { return ::Ifc2x3::IfcPumpTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcPumpTypeEnum::Value Ifc2x3::IfcPumpType::PredefinedType() const { return ::Ifc2x3::IfcPumpTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcPumpType::setPredefinedType(::Ifc2x3::IfcPumpTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcPumpTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcPumpType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[632]); } const IfcParse::entity& Ifc2x3::IfcPumpType::Class() { return *((IfcParse::entity*)IFC2X3_types[632]); } Ifc2x3::IfcPumpType::IfcPumpType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(e)) { } -Ifc2x3::IfcPumpType::IfcPumpType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcPumpTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcPumpType::IfcPumpType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcPumpTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcQuantityArea -double Ifc2x3::IfcQuantityArea::AreaValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc2x3::IfcQuantityArea::AreaValue() const { double v = get_attribute_value(3); return v; } void Ifc2x3::IfcQuantityArea::setAreaValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcQuantityArea::declaration() const { return *((IfcParse::entity*)IFC2X3_types[634]); } const IfcParse::entity& Ifc2x3::IfcQuantityArea::Class() { return *((IfcParse::entity*)IFC2X3_types[634]); } Ifc2x3::IfcQuantityArea::IfcQuantityArea(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc2x3::IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit* v3_Unit, double v4_AreaValue) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_AreaValue));; populate_derived(); } +Ifc2x3::IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit* v3_Unit, double v4_AreaValue) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_AreaValue));; populate_derived(); } // Function implementations for IfcQuantityCount -double Ifc2x3::IfcQuantityCount::CountValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc2x3::IfcQuantityCount::CountValue() const { double v = get_attribute_value(3); return v; } void Ifc2x3::IfcQuantityCount::setCountValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcQuantityCount::declaration() const { return *((IfcParse::entity*)IFC2X3_types[635]); } const IfcParse::entity& Ifc2x3::IfcQuantityCount::Class() { return *((IfcParse::entity*)IFC2X3_types[635]); } Ifc2x3::IfcQuantityCount::IfcQuantityCount(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc2x3::IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit* v3_Unit, double v4_CountValue) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_CountValue));; populate_derived(); } +Ifc2x3::IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit* v3_Unit, double v4_CountValue) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_CountValue));; populate_derived(); } // Function implementations for IfcQuantityLength -double Ifc2x3::IfcQuantityLength::LengthValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc2x3::IfcQuantityLength::LengthValue() const { double v = get_attribute_value(3); return v; } void Ifc2x3::IfcQuantityLength::setLengthValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcQuantityLength::declaration() const { return *((IfcParse::entity*)IFC2X3_types[636]); } const IfcParse::entity& Ifc2x3::IfcQuantityLength::Class() { return *((IfcParse::entity*)IFC2X3_types[636]); } Ifc2x3::IfcQuantityLength::IfcQuantityLength(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc2x3::IfcQuantityLength::IfcQuantityLength(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit* v3_Unit, double v4_LengthValue) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_LengthValue));; populate_derived(); } +Ifc2x3::IfcQuantityLength::IfcQuantityLength(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit* v3_Unit, double v4_LengthValue) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_LengthValue));; populate_derived(); } // Function implementations for IfcQuantityTime -double Ifc2x3::IfcQuantityTime::TimeValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc2x3::IfcQuantityTime::TimeValue() const { double v = get_attribute_value(3); return v; } void Ifc2x3::IfcQuantityTime::setTimeValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcQuantityTime::declaration() const { return *((IfcParse::entity*)IFC2X3_types[637]); } const IfcParse::entity& Ifc2x3::IfcQuantityTime::Class() { return *((IfcParse::entity*)IFC2X3_types[637]); } Ifc2x3::IfcQuantityTime::IfcQuantityTime(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc2x3::IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit* v3_Unit, double v4_TimeValue) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_TimeValue));; populate_derived(); } +Ifc2x3::IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit* v3_Unit, double v4_TimeValue) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_TimeValue));; populate_derived(); } // Function implementations for IfcQuantityVolume -double Ifc2x3::IfcQuantityVolume::VolumeValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc2x3::IfcQuantityVolume::VolumeValue() const { double v = get_attribute_value(3); return v; } void Ifc2x3::IfcQuantityVolume::setVolumeValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcQuantityVolume::declaration() const { return *((IfcParse::entity*)IFC2X3_types[638]); } const IfcParse::entity& Ifc2x3::IfcQuantityVolume::Class() { return *((IfcParse::entity*)IFC2X3_types[638]); } Ifc2x3::IfcQuantityVolume::IfcQuantityVolume(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc2x3::IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit* v3_Unit, double v4_VolumeValue) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_VolumeValue));; populate_derived(); } +Ifc2x3::IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit* v3_Unit, double v4_VolumeValue) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_VolumeValue));; populate_derived(); } // Function implementations for IfcQuantityWeight -double Ifc2x3::IfcQuantityWeight::WeightValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc2x3::IfcQuantityWeight::WeightValue() const { double v = get_attribute_value(3); return v; } void Ifc2x3::IfcQuantityWeight::setWeightValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcQuantityWeight::declaration() const { return *((IfcParse::entity*)IFC2X3_types[639]); } const IfcParse::entity& Ifc2x3::IfcQuantityWeight::Class() { return *((IfcParse::entity*)IFC2X3_types[639]); } Ifc2x3::IfcQuantityWeight::IfcQuantityWeight(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc2x3::IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit* v3_Unit, double v4_WeightValue) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_WeightValue));; populate_derived(); } +Ifc2x3::IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcNamedUnit* v3_Unit, double v4_WeightValue) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_WeightValue));; populate_derived(); } // Function implementations for IfcRadiusDimension @@ -10368,37 +10368,37 @@ Ifc2x3::IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::optiona const IfcParse::entity& Ifc2x3::IfcRadiusDimension::declaration() const { return *((IfcParse::entity*)IFC2X3_types[641]); } const IfcParse::entity& Ifc2x3::IfcRadiusDimension::Class() { return *((IfcParse::entity*)IFC2X3_types[641]); } Ifc2x3::IfcRadiusDimension::IfcRadiusDimension(IfcEntityInstanceData&& e) : IfcDimensionCurveDirectedCallout(std::move(e)) { } -Ifc2x3::IfcRadiusDimension::IfcRadiusDimension(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents) : IfcDimensionCurveDirectedCallout(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Contents)->generalize());; populate_derived(); } +Ifc2x3::IfcRadiusDimension::IfcRadiusDimension(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents) : IfcDimensionCurveDirectedCallout(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Contents)->generalize());; populate_derived(); } // Function implementations for IfcRailing -boost::optional< ::Ifc2x3::IfcRailingTypeEnum::Value > Ifc2x3::IfcRailing::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc2x3::IfcRailingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc2x3::IfcRailingTypeEnum::Value > Ifc2x3::IfcRailing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc2x3::IfcRailingTypeEnum::FromString(get_attribute_value(8)); } void Ifc2x3::IfcRailing::setPredefinedType(boost::optional< ::Ifc2x3::IfcRailingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc2x3::IfcRailingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc2x3::IfcRailing::declaration() const { return *((IfcParse::entity*)IFC2X3_types[642]); } const IfcParse::entity& Ifc2x3::IfcRailing::Class() { return *((IfcParse::entity*)IFC2X3_types[642]); } Ifc2x3::IfcRailing::IfcRailing(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc2x3::IfcRailing::IfcRailing(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc2x3::IfcRailingTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc2x3::IfcRailing::IfcRailing(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc2x3::IfcRailingTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRailingType -::Ifc2x3::IfcRailingTypeEnum::Value Ifc2x3::IfcRailingType::PredefinedType() const { return ::Ifc2x3::IfcRailingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcRailingTypeEnum::Value Ifc2x3::IfcRailingType::PredefinedType() const { return ::Ifc2x3::IfcRailingTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcRailingType::setPredefinedType(::Ifc2x3::IfcRailingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcRailingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcRailingType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[643]); } const IfcParse::entity& Ifc2x3::IfcRailingType::Class() { return *((IfcParse::entity*)IFC2X3_types[643]); } Ifc2x3::IfcRailingType::IfcRailingType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc2x3::IfcRailingType::IfcRailingType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcRailingTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcRailingType::IfcRailingType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcRailingTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRamp -::Ifc2x3::IfcRampTypeEnum::Value Ifc2x3::IfcRamp::ShapeType() const { return ::Ifc2x3::IfcRampTypeEnum::FromString(data_.get_attribute_value(8)); } +::Ifc2x3::IfcRampTypeEnum::Value Ifc2x3::IfcRamp::ShapeType() const { return ::Ifc2x3::IfcRampTypeEnum::FromString(get_attribute_value(8)); } void Ifc2x3::IfcRamp::setShapeType(::Ifc2x3::IfcRampTypeEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc2x3::IfcRampTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc2x3::IfcRamp::declaration() const { return *((IfcParse::entity*)IFC2X3_types[645]); } const IfcParse::entity& Ifc2x3::IfcRamp::Class() { return *((IfcParse::entity*)IFC2X3_types[645]); } Ifc2x3::IfcRamp::IfcRamp(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc2x3::IfcRamp::IfcRamp(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, ::Ifc2x3::IfcRampTypeEnum::Value v9_ShapeType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcRampTypeEnum::Class(),(size_t)v9_ShapeType)));; populate_derived(); } +Ifc2x3::IfcRamp::IfcRamp(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, ::Ifc2x3::IfcRampTypeEnum::Value v9_ShapeType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcRampTypeEnum::Class(),(size_t)v9_ShapeType)));; populate_derived(); } // Function implementations for IfcRampFlight @@ -10406,201 +10406,201 @@ Ifc2x3::IfcRamp::IfcRamp(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_ const IfcParse::entity& Ifc2x3::IfcRampFlight::declaration() const { return *((IfcParse::entity*)IFC2X3_types[646]); } const IfcParse::entity& Ifc2x3::IfcRampFlight::Class() { return *((IfcParse::entity*)IFC2X3_types[646]); } Ifc2x3::IfcRampFlight::IfcRampFlight(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc2x3::IfcRampFlight::IfcRampFlight(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcRampFlight::IfcRampFlight(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcRampFlightType -::Ifc2x3::IfcRampFlightTypeEnum::Value Ifc2x3::IfcRampFlightType::PredefinedType() const { return ::Ifc2x3::IfcRampFlightTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcRampFlightTypeEnum::Value Ifc2x3::IfcRampFlightType::PredefinedType() const { return ::Ifc2x3::IfcRampFlightTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcRampFlightType::setPredefinedType(::Ifc2x3::IfcRampFlightTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcRampFlightTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcRampFlightType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[647]); } const IfcParse::entity& Ifc2x3::IfcRampFlightType::Class() { return *((IfcParse::entity*)IFC2X3_types[647]); } Ifc2x3::IfcRampFlightType::IfcRampFlightType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc2x3::IfcRampFlightType::IfcRampFlightType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcRampFlightTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcRampFlightType::IfcRampFlightType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcRampFlightTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRationalBezierCurve -std::vector< double > /*[2:?]*/ Ifc2x3::IfcRationalBezierCurve::WeightsData() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(5); return v; } +std::vector< double > /*[2:?]*/ Ifc2x3::IfcRationalBezierCurve::WeightsData() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(5); return v; } void Ifc2x3::IfcRationalBezierCurve::setWeightsData(std::vector< double > /*[2:?]*/ v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc2x3::IfcRationalBezierCurve::declaration() const { return *((IfcParse::entity*)IFC2X3_types[651]); } const IfcParse::entity& Ifc2x3::IfcRationalBezierCurve::Class() { return *((IfcParse::entity*)IFC2X3_types[651]); } Ifc2x3::IfcRationalBezierCurve::IfcRationalBezierCurve(IfcEntityInstanceData&& e) : IfcBezierCurve(std::move(e)) { } -Ifc2x3::IfcRationalBezierCurve::IfcRationalBezierCurve(int v1_Degree, aggregate_of< ::Ifc2x3::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc2x3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< double > /*[2:?]*/ v6_WeightsData) : IfcBezierCurve(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_WeightsData));; populate_derived(); } +Ifc2x3::IfcRationalBezierCurve::IfcRationalBezierCurve(int v1_Degree, aggregate_of< ::Ifc2x3::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc2x3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect, std::vector< double > /*[2:?]*/ v6_WeightsData) : IfcBezierCurve(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_WeightsData));; populate_derived(); } // Function implementations for IfcRectangleHollowProfileDef -double Ifc2x3::IfcRectangleHollowProfileDef::WallThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc2x3::IfcRectangleHollowProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } void Ifc2x3::IfcRectangleHollowProfileDef::setWallThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc2x3::IfcRectangleHollowProfileDef::InnerFilletRadius() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc2x3::IfcRectangleHollowProfileDef::InnerFilletRadius() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc2x3::IfcRectangleHollowProfileDef::setInnerFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc2x3::IfcRectangleHollowProfileDef::OuterFilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc2x3::IfcRectangleHollowProfileDef::OuterFilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc2x3::IfcRectangleHollowProfileDef::setOuterFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc2x3::IfcRectangleHollowProfileDef::declaration() const { return *((IfcParse::entity*)IFC2X3_types[653]); } const IfcParse::entity& Ifc2x3::IfcRectangleHollowProfileDef::Class() { return *((IfcParse::entity*)IFC2X3_types[653]); } Ifc2x3::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(IfcEntityInstanceData&& e) : IfcRectangleProfileDef(std::move(e)) { } -Ifc2x3::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, boost::optional< double > v7_InnerFilletRadius, boost::optional< double > v8_OuterFilletRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; populate_derived(); } +Ifc2x3::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, boost::optional< double > v7_InnerFilletRadius, boost::optional< double > v8_OuterFilletRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; populate_derived(); } // Function implementations for IfcRectangleProfileDef -double Ifc2x3::IfcRectangleProfileDef::XDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc2x3::IfcRectangleProfileDef::XDim() const { double v = get_attribute_value(3); return v; } void Ifc2x3::IfcRectangleProfileDef::setXDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc2x3::IfcRectangleProfileDef::YDim() const { double v = data_.get_attribute_value(4); return v; } +double Ifc2x3::IfcRectangleProfileDef::YDim() const { double v = get_attribute_value(4); return v; } void Ifc2x3::IfcRectangleProfileDef::setYDim(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc2x3::IfcRectangleProfileDef::declaration() const { return *((IfcParse::entity*)IFC2X3_types[654]); } const IfcParse::entity& Ifc2x3::IfcRectangleProfileDef::Class() { return *((IfcParse::entity*)IFC2X3_types[654]); } Ifc2x3::IfcRectangleProfileDef::IfcRectangleProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc2x3::IfcRectangleProfileDef::IfcRectangleProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; populate_derived(); } +Ifc2x3::IfcRectangleProfileDef::IfcRectangleProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; populate_derived(); } // Function implementations for IfcRectangularPyramid -double Ifc2x3::IfcRectangularPyramid::XLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc2x3::IfcRectangularPyramid::XLength() const { double v = get_attribute_value(1); return v; } void Ifc2x3::IfcRectangularPyramid::setXLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc2x3::IfcRectangularPyramid::YLength() const { double v = data_.get_attribute_value(2); return v; } +double Ifc2x3::IfcRectangularPyramid::YLength() const { double v = get_attribute_value(2); return v; } void Ifc2x3::IfcRectangularPyramid::setYLength(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc2x3::IfcRectangularPyramid::Height() const { double v = data_.get_attribute_value(3); return v; } +double Ifc2x3::IfcRectangularPyramid::Height() const { double v = get_attribute_value(3); return v; } void Ifc2x3::IfcRectangularPyramid::setHeight(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcRectangularPyramid::declaration() const { return *((IfcParse::entity*)IFC2X3_types[655]); } const IfcParse::entity& Ifc2x3::IfcRectangularPyramid::Class() { return *((IfcParse::entity*)IFC2X3_types[655]); } Ifc2x3::IfcRectangularPyramid::IfcRectangularPyramid(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc2x3::IfcRectangularPyramid::IfcRectangularPyramid(::Ifc2x3::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; populate_derived(); } +Ifc2x3::IfcRectangularPyramid::IfcRectangularPyramid(::Ifc2x3::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; populate_derived(); } // Function implementations for IfcRectangularTrimmedSurface -::Ifc2x3::IfcSurface* Ifc2x3::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcSurface>(true); } +::Ifc2x3::IfcSurface* Ifc2x3::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcSurface>(true); } void Ifc2x3::IfcRectangularTrimmedSurface::setBasisSurface(::Ifc2x3::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc2x3::IfcRectangularTrimmedSurface::U1() const { double v = data_.get_attribute_value(1); return v; } +double Ifc2x3::IfcRectangularTrimmedSurface::U1() const { double v = get_attribute_value(1); return v; } void Ifc2x3::IfcRectangularTrimmedSurface::setU1(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc2x3::IfcRectangularTrimmedSurface::V1() const { double v = data_.get_attribute_value(2); return v; } +double Ifc2x3::IfcRectangularTrimmedSurface::V1() const { double v = get_attribute_value(2); return v; } void Ifc2x3::IfcRectangularTrimmedSurface::setV1(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc2x3::IfcRectangularTrimmedSurface::U2() const { double v = data_.get_attribute_value(3); return v; } +double Ifc2x3::IfcRectangularTrimmedSurface::U2() const { double v = get_attribute_value(3); return v; } void Ifc2x3::IfcRectangularTrimmedSurface::setU2(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc2x3::IfcRectangularTrimmedSurface::V2() const { double v = data_.get_attribute_value(4); return v; } +double Ifc2x3::IfcRectangularTrimmedSurface::V2() const { double v = get_attribute_value(4); return v; } void Ifc2x3::IfcRectangularTrimmedSurface::setV2(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -bool Ifc2x3::IfcRectangularTrimmedSurface::Usense() const { bool v = data_.get_attribute_value(5); return v; } +bool Ifc2x3::IfcRectangularTrimmedSurface::Usense() const { bool v = get_attribute_value(5); return v; } void Ifc2x3::IfcRectangularTrimmedSurface::setUsense(bool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -bool Ifc2x3::IfcRectangularTrimmedSurface::Vsense() const { bool v = data_.get_attribute_value(6); return v; } +bool Ifc2x3::IfcRectangularTrimmedSurface::Vsense() const { bool v = get_attribute_value(6); return v; } void Ifc2x3::IfcRectangularTrimmedSurface::setVsense(bool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc2x3::IfcRectangularTrimmedSurface::declaration() const { return *((IfcParse::entity*)IFC2X3_types[656]); } const IfcParse::entity& Ifc2x3::IfcRectangularTrimmedSurface::Class() { return *((IfcParse::entity*)IFC2X3_types[656]); } Ifc2x3::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc2x3::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(::Ifc2x3::IfcSurface* v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; populate_derived(); } +Ifc2x3::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(::Ifc2x3::IfcSurface* v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; populate_derived(); } // Function implementations for IfcReferencesValueDocument -::Ifc2x3::IfcDocumentSelect* Ifc2x3::IfcReferencesValueDocument::ReferencedDocument() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcDocumentSelect>(true); } +::Ifc2x3::IfcDocumentSelect* Ifc2x3::IfcReferencesValueDocument::ReferencedDocument() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcDocumentSelect>(true); } void Ifc2x3::IfcReferencesValueDocument::setReferencedDocument(::Ifc2x3::IfcDocumentSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc2x3::IfcAppliedValue >::ptr Ifc2x3::IfcReferencesValueDocument::ReferencingValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc2x3::IfcAppliedValue >(); } +aggregate_of< ::Ifc2x3::IfcAppliedValue >::ptr Ifc2x3::IfcReferencesValueDocument::ReferencingValues() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc2x3::IfcAppliedValue >(); } void Ifc2x3::IfcReferencesValueDocument::setReferencingValues(aggregate_of< ::Ifc2x3::IfcAppliedValue >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc2x3::IfcReferencesValueDocument::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc2x3::IfcReferencesValueDocument::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcReferencesValueDocument::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc2x3::IfcReferencesValueDocument::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc2x3::IfcReferencesValueDocument::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc2x3::IfcReferencesValueDocument::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc2x3::IfcReferencesValueDocument::declaration() const { return *((IfcParse::entity*)IFC2X3_types[657]); } const IfcParse::entity& Ifc2x3::IfcReferencesValueDocument::Class() { return *((IfcParse::entity*)IFC2X3_types[657]); } Ifc2x3::IfcReferencesValueDocument::IfcReferencesValueDocument(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcReferencesValueDocument::IfcReferencesValueDocument(::Ifc2x3::IfcDocumentSelect* v1_ReferencedDocument, aggregate_of< ::Ifc2x3::IfcAppliedValue >::ptr v2_ReferencingValues, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ReferencedDocument ? v1_ReferencedDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_ReferencingValues)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc2x3::IfcReferencesValueDocument::IfcReferencesValueDocument(::Ifc2x3::IfcDocumentSelect* v1_ReferencedDocument, aggregate_of< ::Ifc2x3::IfcAppliedValue >::ptr v2_ReferencingValues, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ReferencedDocument ? v1_ReferencedDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_ReferencingValues)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRegularTimeSeries -double Ifc2x3::IfcRegularTimeSeries::TimeStep() const { double v = data_.get_attribute_value(8); return v; } +double Ifc2x3::IfcRegularTimeSeries::TimeStep() const { double v = get_attribute_value(8); return v; } void Ifc2x3::IfcRegularTimeSeries::setTimeStep(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -aggregate_of< ::Ifc2x3::IfcTimeSeriesValue >::ptr Ifc2x3::IfcRegularTimeSeries::Values() const { aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc2x3::IfcTimeSeriesValue >(); } +aggregate_of< ::Ifc2x3::IfcTimeSeriesValue >::ptr Ifc2x3::IfcRegularTimeSeries::Values() const { aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc2x3::IfcTimeSeriesValue >(); } void Ifc2x3::IfcRegularTimeSeries::setValues(aggregate_of< ::Ifc2x3::IfcTimeSeriesValue >::ptr v) { set_attribute_value(9, (v)->generalize());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcRegularTimeSeries::declaration() const { return *((IfcParse::entity*)IFC2X3_types[659]); } const IfcParse::entity& Ifc2x3::IfcRegularTimeSeries::Class() { return *((IfcParse::entity*)IFC2X3_types[659]); } Ifc2x3::IfcRegularTimeSeries::IfcRegularTimeSeries(IfcEntityInstanceData&& e) : IfcTimeSeries(std::move(e)) { } -Ifc2x3::IfcRegularTimeSeries::IfcRegularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcDateTimeSelect* v3_StartTime, ::Ifc2x3::IfcDateTimeSelect* v4_EndTime, ::Ifc2x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc2x3::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc2x3::IfcUnit* v8_Unit, double v9_TimeStep, aggregate_of< ::Ifc2x3::IfcTimeSeriesValue >::ptr v10_Values) : IfcTimeSeries(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_StartTime ? v3_StartTime->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_EndTime ? v4_EndTime->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (EnumerationReference(&::Ifc2x3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, (v10_Values)->generalize());; populate_derived(); } +Ifc2x3::IfcRegularTimeSeries::IfcRegularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcDateTimeSelect* v3_StartTime, ::Ifc2x3::IfcDateTimeSelect* v4_EndTime, ::Ifc2x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc2x3::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc2x3::IfcUnit* v8_Unit, double v9_TimeStep, aggregate_of< ::Ifc2x3::IfcTimeSeriesValue >::ptr v10_Values) : IfcTimeSeries(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_StartTime ? v3_StartTime->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_EndTime ? v4_EndTime->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (EnumerationReference(&::Ifc2x3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, (v10_Values)->generalize());; populate_derived(); } // Function implementations for IfcReinforcementBarProperties -double Ifc2x3::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = data_.get_attribute_value(0); return v; } +double Ifc2x3::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = get_attribute_value(0); return v; } void Ifc2x3::IfcReinforcementBarProperties::setTotalCrossSectionArea(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc2x3::IfcReinforcementBarProperties::SteelGrade() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc2x3::IfcReinforcementBarProperties::SteelGrade() const { std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcReinforcementBarProperties::setSteelGrade(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< ::Ifc2x3::IfcReinforcingBarSurfaceEnum::Value > Ifc2x3::IfcReinforcementBarProperties::BarSurface() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc2x3::IfcReinforcingBarSurfaceEnum::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc2x3::IfcReinforcingBarSurfaceEnum::Value > Ifc2x3::IfcReinforcementBarProperties::BarSurface() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc2x3::IfcReinforcingBarSurfaceEnum::FromString(get_attribute_value(2)); } void Ifc2x3::IfcReinforcementBarProperties::setBarSurface(boost::optional< ::Ifc2x3::IfcReinforcingBarSurfaceEnum::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc2x3::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -boost::optional< double > Ifc2x3::IfcReinforcementBarProperties::EffectiveDepth() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc2x3::IfcReinforcementBarProperties::EffectiveDepth() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc2x3::IfcReinforcementBarProperties::setEffectiveDepth(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc2x3::IfcReinforcementBarProperties::NominalBarDiameter() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc2x3::IfcReinforcementBarProperties::NominalBarDiameter() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc2x3::IfcReinforcementBarProperties::setNominalBarDiameter(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc2x3::IfcReinforcementBarProperties::BarCount() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc2x3::IfcReinforcementBarProperties::BarCount() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc2x3::IfcReinforcementBarProperties::setBarCount(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc2x3::IfcReinforcementBarProperties::declaration() const { return *((IfcParse::entity*)IFC2X3_types[660]); } const IfcParse::entity& Ifc2x3::IfcReinforcementBarProperties::Class() { return *((IfcParse::entity*)IFC2X3_types[660]); } Ifc2x3::IfcReinforcementBarProperties::IfcReinforcementBarProperties(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcReinforcementBarProperties::IfcReinforcementBarProperties(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, boost::optional< ::Ifc2x3::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, boost::optional< double > v4_EffectiveDepth, boost::optional< double > v5_NominalBarDiameter, boost::optional< double > v6_BarCount) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; populate_derived(); } +Ifc2x3::IfcReinforcementBarProperties::IfcReinforcementBarProperties(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, boost::optional< ::Ifc2x3::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, boost::optional< double > v4_EffectiveDepth, boost::optional< double > v5_NominalBarDiameter, boost::optional< double > v6_BarCount) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; populate_derived(); } // Function implementations for IfcReinforcementDefinitionProperties -boost::optional< std::string > Ifc2x3::IfcReinforcementDefinitionProperties::DefinitionType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc2x3::IfcReinforcementDefinitionProperties::DefinitionType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc2x3::IfcReinforcementDefinitionProperties::setDefinitionType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -aggregate_of< ::Ifc2x3::IfcSectionReinforcementProperties >::ptr Ifc2x3::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc2x3::IfcSectionReinforcementProperties >(); } +aggregate_of< ::Ifc2x3::IfcSectionReinforcementProperties >::ptr Ifc2x3::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc2x3::IfcSectionReinforcementProperties >(); } void Ifc2x3::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(aggregate_of< ::Ifc2x3::IfcSectionReinforcementProperties >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc2x3::IfcReinforcementDefinitionProperties::declaration() const { return *((IfcParse::entity*)IFC2X3_types[661]); } const IfcParse::entity& Ifc2x3::IfcReinforcementDefinitionProperties::Class() { return *((IfcParse::entity*)IFC2X3_types[661]); } Ifc2x3::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc2x3::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_DefinitionType, aggregate_of< ::Ifc2x3::IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, (v6_ReinforcementSectionDefinitions)->generalize());; populate_derived(); } +Ifc2x3::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_DefinitionType, aggregate_of< ::Ifc2x3::IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, (v6_ReinforcementSectionDefinitions)->generalize());; populate_derived(); } // Function implementations for IfcReinforcingBar -double Ifc2x3::IfcReinforcingBar::NominalDiameter() const { double v = data_.get_attribute_value(9); return v; } +double Ifc2x3::IfcReinforcingBar::NominalDiameter() const { double v = get_attribute_value(9); return v; } void Ifc2x3::IfcReinforcingBar::setNominalDiameter(double v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -double Ifc2x3::IfcReinforcingBar::CrossSectionArea() const { double v = data_.get_attribute_value(10); return v; } +double Ifc2x3::IfcReinforcingBar::CrossSectionArea() const { double v = get_attribute_value(10); return v; } void Ifc2x3::IfcReinforcingBar::setCrossSectionArea(double v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -boost::optional< double > Ifc2x3::IfcReinforcingBar::BarLength() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc2x3::IfcReinforcingBar::BarLength() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc2x3::IfcReinforcingBar::setBarLength(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -::Ifc2x3::IfcReinforcingBarRoleEnum::Value Ifc2x3::IfcReinforcingBar::BarRole() const { return ::Ifc2x3::IfcReinforcingBarRoleEnum::FromString(data_.get_attribute_value(12)); } +::Ifc2x3::IfcReinforcingBarRoleEnum::Value Ifc2x3::IfcReinforcingBar::BarRole() const { return ::Ifc2x3::IfcReinforcingBarRoleEnum::FromString(get_attribute_value(12)); } void Ifc2x3::IfcReinforcingBar::setBarRole(::Ifc2x3::IfcReinforcingBarRoleEnum::Value v) { set_attribute_value(12, EnumerationReference(&::Ifc2x3::IfcReinforcingBarRoleEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(12); } -boost::optional< ::Ifc2x3::IfcReinforcingBarSurfaceEnum::Value > Ifc2x3::IfcReinforcingBar::BarSurface() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc2x3::IfcReinforcingBarSurfaceEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc2x3::IfcReinforcingBarSurfaceEnum::Value > Ifc2x3::IfcReinforcingBar::BarSurface() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc2x3::IfcReinforcingBarSurfaceEnum::FromString(get_attribute_value(13)); } void Ifc2x3::IfcReinforcingBar::setBarSurface(boost::optional< ::Ifc2x3::IfcReinforcingBarSurfaceEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc2x3::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } const IfcParse::entity& Ifc2x3::IfcReinforcingBar::declaration() const { return *((IfcParse::entity*)IFC2X3_types[662]); } const IfcParse::entity& Ifc2x3::IfcReinforcingBar::Class() { return *((IfcParse::entity*)IFC2X3_types[662]); } Ifc2x3::IfcReinforcingBar::IfcReinforcingBar(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc2x3::IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, double v10_NominalDiameter, double v11_CrossSectionArea, boost::optional< double > v12_BarLength, ::Ifc2x3::IfcReinforcingBarRoleEnum::Value v13_BarRole, boost::optional< ::Ifc2x3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (v10_NominalDiameter));set_attribute_value(10, (v11_CrossSectionArea)); if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); }set_attribute_value(12, (EnumerationReference(&::Ifc2x3::IfcReinforcingBarRoleEnum::Class(),(size_t)v13_BarRole))); if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc2x3::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; populate_derived(); } +Ifc2x3::IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, double v10_NominalDiameter, double v11_CrossSectionArea, boost::optional< double > v12_BarLength, ::Ifc2x3::IfcReinforcingBarRoleEnum::Value v13_BarRole, boost::optional< ::Ifc2x3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (v10_NominalDiameter));set_attribute_value(10, (v11_CrossSectionArea)); if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); }set_attribute_value(12, (EnumerationReference(&::Ifc2x3::IfcReinforcingBarRoleEnum::Class(),(size_t)v13_BarRole))); if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc2x3::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; populate_derived(); } // Function implementations for IfcReinforcingElement -boost::optional< std::string > Ifc2x3::IfcReinforcingElement::SteelGrade() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc2x3::IfcReinforcingElement::SteelGrade() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc2x3::IfcReinforcingElement::setSteelGrade(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc2x3::IfcReinforcingElement::declaration() const { return *((IfcParse::entity*)IFC2X3_types[665]); } const IfcParse::entity& Ifc2x3::IfcReinforcingElement::Class() { return *((IfcParse::entity*)IFC2X3_types[665]); } Ifc2x3::IfcReinforcingElement::IfcReinforcingElement(IfcEntityInstanceData&& e) : IfcBuildingElementComponent(std::move(e)) { } -Ifc2x3::IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade) : IfcBuildingElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; populate_derived(); } +Ifc2x3::IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade) : IfcBuildingElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; populate_derived(); } // Function implementations for IfcReinforcingMesh -boost::optional< double > Ifc2x3::IfcReinforcingMesh::MeshLength() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc2x3::IfcReinforcingMesh::MeshLength() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc2x3::IfcReinforcingMesh::setMeshLength(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc2x3::IfcReinforcingMesh::MeshWidth() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc2x3::IfcReinforcingMesh::MeshWidth() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc2x3::IfcReinforcingMesh::setMeshWidth(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -double Ifc2x3::IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { double v = data_.get_attribute_value(11); return v; } +double Ifc2x3::IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { double v = get_attribute_value(11); return v; } void Ifc2x3::IfcReinforcingMesh::setLongitudinalBarNominalDiameter(double v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } -double Ifc2x3::IfcReinforcingMesh::TransverseBarNominalDiameter() const { double v = data_.get_attribute_value(12); return v; } +double Ifc2x3::IfcReinforcingMesh::TransverseBarNominalDiameter() const { double v = get_attribute_value(12); return v; } void Ifc2x3::IfcReinforcingMesh::setTransverseBarNominalDiameter(double v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } -double Ifc2x3::IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { double v = data_.get_attribute_value(13); return v; } +double Ifc2x3::IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { double v = get_attribute_value(13); return v; } void Ifc2x3::IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(double v) { set_attribute_value(13, v);if constexpr (false)unset_attribute_value(13); } -double Ifc2x3::IfcReinforcingMesh::TransverseBarCrossSectionArea() const { double v = data_.get_attribute_value(14); return v; } +double Ifc2x3::IfcReinforcingMesh::TransverseBarCrossSectionArea() const { double v = get_attribute_value(14); return v; } void Ifc2x3::IfcReinforcingMesh::setTransverseBarCrossSectionArea(double v) { set_attribute_value(14, v);if constexpr (false)unset_attribute_value(14); } -double Ifc2x3::IfcReinforcingMesh::LongitudinalBarSpacing() const { double v = data_.get_attribute_value(15); return v; } +double Ifc2x3::IfcReinforcingMesh::LongitudinalBarSpacing() const { double v = get_attribute_value(15); return v; } void Ifc2x3::IfcReinforcingMesh::setLongitudinalBarSpacing(double v) { set_attribute_value(15, v);if constexpr (false)unset_attribute_value(15); } -double Ifc2x3::IfcReinforcingMesh::TransverseBarSpacing() const { double v = data_.get_attribute_value(16); return v; } +double Ifc2x3::IfcReinforcingMesh::TransverseBarSpacing() const { double v = get_attribute_value(16); return v; } void Ifc2x3::IfcReinforcingMesh::setTransverseBarSpacing(double v) { set_attribute_value(16, v);if constexpr (false)unset_attribute_value(16); } const IfcParse::entity& Ifc2x3::IfcReinforcingMesh::declaration() const { return *((IfcParse::entity*)IFC2X3_types[666]); } const IfcParse::entity& Ifc2x3::IfcReinforcingMesh::Class() { return *((IfcParse::entity*)IFC2X3_types[666]); } Ifc2x3::IfcReinforcingMesh::IfcReinforcingMesh(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc2x3::IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< double > v10_MeshLength, boost::optional< double > v11_MeshWidth, double v12_LongitudinalBarNominalDiameter, double v13_TransverseBarNominalDiameter, double v14_LongitudinalBarCrossSectionArea, double v15_TransverseBarCrossSectionArea, double v16_LongitudinalBarSpacing, double v17_TransverseBarSpacing) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); }set_attribute_value(11, (v12_LongitudinalBarNominalDiameter));set_attribute_value(12, (v13_TransverseBarNominalDiameter));set_attribute_value(13, (v14_LongitudinalBarCrossSectionArea));set_attribute_value(14, (v15_TransverseBarCrossSectionArea));set_attribute_value(15, (v16_LongitudinalBarSpacing));set_attribute_value(16, (v17_TransverseBarSpacing));; populate_derived(); } +Ifc2x3::IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< double > v10_MeshLength, boost::optional< double > v11_MeshWidth, double v12_LongitudinalBarNominalDiameter, double v13_TransverseBarNominalDiameter, double v14_LongitudinalBarCrossSectionArea, double v15_TransverseBarCrossSectionArea, double v16_LongitudinalBarSpacing, double v17_TransverseBarSpacing) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); }set_attribute_value(11, (v12_LongitudinalBarNominalDiameter));set_attribute_value(12, (v13_TransverseBarNominalDiameter));set_attribute_value(13, (v14_LongitudinalBarCrossSectionArea));set_attribute_value(14, (v15_TransverseBarCrossSectionArea));set_attribute_value(15, (v16_LongitudinalBarSpacing));set_attribute_value(16, (v17_TransverseBarSpacing));; populate_derived(); } // Function implementations for IfcRelAggregates @@ -10608,83 +10608,83 @@ Ifc2x3::IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, ::Ifc2x3 const IfcParse::entity& Ifc2x3::IfcRelAggregates::declaration() const { return *((IfcParse::entity*)IFC2X3_types[667]); } const IfcParse::entity& Ifc2x3::IfcRelAggregates::Class() { return *((IfcParse::entity*)IFC2X3_types[667]); } Ifc2x3::IfcRelAggregates::IfcRelAggregates(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc2x3::IfcRelAggregates::IfcRelAggregates(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } +Ifc2x3::IfcRelAggregates::IfcRelAggregates(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelAssigns -aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr Ifc2x3::IfcRelAssigns::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc2x3::IfcObjectDefinition >(); } +aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr Ifc2x3::IfcRelAssigns::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc2x3::IfcObjectDefinition >(); } void Ifc2x3::IfcRelAssigns::setRelatedObjects(aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > Ifc2x3::IfcRelAssigns::RelatedObjectsType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc2x3::IfcObjectTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > Ifc2x3::IfcRelAssigns::RelatedObjectsType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc2x3::IfcObjectTypeEnum::FromString(get_attribute_value(5)); } void Ifc2x3::IfcRelAssigns::setRelatedObjectsType(boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc2x3::IfcObjectTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc2x3::IfcRelAssigns::declaration() const { return *((IfcParse::entity*)IFC2X3_types[668]); } const IfcParse::entity& Ifc2x3::IfcRelAssigns::Class() { return *((IfcParse::entity*)IFC2X3_types[668]); } Ifc2x3::IfcRelAssigns::IfcRelAssigns(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc2x3::IfcRelAssigns::IfcRelAssigns(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) : IfcRelationship(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }; populate_derived(); } +Ifc2x3::IfcRelAssigns::IfcRelAssigns(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }; populate_derived(); } // Function implementations for IfcRelAssignsTasks -::Ifc2x3::IfcScheduleTimeControl* Ifc2x3::IfcRelAssignsTasks::TimeForTask() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc2x3::IfcScheduleTimeControl>(true); } +::Ifc2x3::IfcScheduleTimeControl* Ifc2x3::IfcRelAssignsTasks::TimeForTask() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc2x3::IfcScheduleTimeControl>(true); } void Ifc2x3::IfcRelAssignsTasks::setTimeForTask(::Ifc2x3::IfcScheduleTimeControl* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc2x3::IfcRelAssignsTasks::declaration() const { return *((IfcParse::entity*)IFC2X3_types[669]); } const IfcParse::entity& Ifc2x3::IfcRelAssignsTasks::Class() { return *((IfcParse::entity*)IFC2X3_types[669]); } Ifc2x3::IfcRelAssignsTasks::IfcRelAssignsTasks(IfcEntityInstanceData&& e) : IfcRelAssignsToControl(std::move(e)) { } -Ifc2x3::IfcRelAssignsTasks::IfcRelAssignsTasks(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcControl* v7_RelatingControl, ::Ifc2x3::IfcScheduleTimeControl* v8_TimeForTask) : IfcRelAssignsToControl(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingControl ? v7_RelatingControl->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_TimeForTask ? v8_TimeForTask->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcRelAssignsTasks::IfcRelAssignsTasks(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcControl* v7_RelatingControl, ::Ifc2x3::IfcScheduleTimeControl* v8_TimeForTask) : IfcRelAssignsToControl(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingControl ? v7_RelatingControl->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_TimeForTask ? v8_TimeForTask->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToActor -::Ifc2x3::IfcActor* Ifc2x3::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc2x3::IfcActor>(true); } +::Ifc2x3::IfcActor* Ifc2x3::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc2x3::IfcActor>(true); } void Ifc2x3::IfcRelAssignsToActor::setRelatingActor(::Ifc2x3::IfcActor* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc2x3::IfcActorRole* Ifc2x3::IfcRelAssignsToActor::ActingRole() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc2x3::IfcActorRole>(true); } +::Ifc2x3::IfcActorRole* Ifc2x3::IfcRelAssignsToActor::ActingRole() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc2x3::IfcActorRole>(true); } void Ifc2x3::IfcRelAssignsToActor::setActingRole(::Ifc2x3::IfcActorRole* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc2x3::IfcRelAssignsToActor::declaration() const { return *((IfcParse::entity*)IFC2X3_types[670]); } const IfcParse::entity& Ifc2x3::IfcRelAssignsToActor::Class() { return *((IfcParse::entity*)IFC2X3_types[670]); } Ifc2x3::IfcRelAssignsToActor::IfcRelAssignsToActor(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc2x3::IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcActor* v7_RelatingActor, ::Ifc2x3::IfcActorRole* v8_ActingRole) : IfcRelAssigns(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingActor ? v7_RelatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_ActingRole ? v8_ActingRole->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcActor* v7_RelatingActor, ::Ifc2x3::IfcActorRole* v8_ActingRole) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingActor ? v7_RelatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_ActingRole ? v8_ActingRole->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToControl -::Ifc2x3::IfcControl* Ifc2x3::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc2x3::IfcControl>(true); } +::Ifc2x3::IfcControl* Ifc2x3::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc2x3::IfcControl>(true); } void Ifc2x3::IfcRelAssignsToControl::setRelatingControl(::Ifc2x3::IfcControl* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc2x3::IfcRelAssignsToControl::declaration() const { return *((IfcParse::entity*)IFC2X3_types[671]); } const IfcParse::entity& Ifc2x3::IfcRelAssignsToControl::Class() { return *((IfcParse::entity*)IFC2X3_types[671]); } Ifc2x3::IfcRelAssignsToControl::IfcRelAssignsToControl(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc2x3::IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcControl* v7_RelatingControl) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingControl ? v7_RelatingControl->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcControl* v7_RelatingControl) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingControl ? v7_RelatingControl->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToGroup -::Ifc2x3::IfcGroup* Ifc2x3::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc2x3::IfcGroup>(true); } +::Ifc2x3::IfcGroup* Ifc2x3::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc2x3::IfcGroup>(true); } void Ifc2x3::IfcRelAssignsToGroup::setRelatingGroup(::Ifc2x3::IfcGroup* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc2x3::IfcRelAssignsToGroup::declaration() const { return *((IfcParse::entity*)IFC2X3_types[672]); } const IfcParse::entity& Ifc2x3::IfcRelAssignsToGroup::Class() { return *((IfcParse::entity*)IFC2X3_types[672]); } Ifc2x3::IfcRelAssignsToGroup::IfcRelAssignsToGroup(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc2x3::IfcRelAssignsToGroup::IfcRelAssignsToGroup(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcGroup* v7_RelatingGroup) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcRelAssignsToGroup::IfcRelAssignsToGroup(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcGroup* v7_RelatingGroup) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToProcess -::Ifc2x3::IfcProcess* Ifc2x3::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc2x3::IfcProcess>(true); } +::Ifc2x3::IfcProcess* Ifc2x3::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc2x3::IfcProcess>(true); } void Ifc2x3::IfcRelAssignsToProcess::setRelatingProcess(::Ifc2x3::IfcProcess* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc2x3::IfcMeasureWithUnit* Ifc2x3::IfcRelAssignsToProcess::QuantityInProcess() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc2x3::IfcMeasureWithUnit>(true); } +::Ifc2x3::IfcMeasureWithUnit* Ifc2x3::IfcRelAssignsToProcess::QuantityInProcess() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc2x3::IfcMeasureWithUnit>(true); } void Ifc2x3::IfcRelAssignsToProcess::setQuantityInProcess(::Ifc2x3::IfcMeasureWithUnit* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc2x3::IfcRelAssignsToProcess::declaration() const { return *((IfcParse::entity*)IFC2X3_types[673]); } const IfcParse::entity& Ifc2x3::IfcRelAssignsToProcess::Class() { return *((IfcParse::entity*)IFC2X3_types[673]); } Ifc2x3::IfcRelAssignsToProcess::IfcRelAssignsToProcess(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc2x3::IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcProcess* v7_RelatingProcess, ::Ifc2x3::IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProcess ? v7_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_QuantityInProcess ? v8_QuantityInProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcProcess* v7_RelatingProcess, ::Ifc2x3::IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProcess ? v7_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_QuantityInProcess ? v8_QuantityInProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToProduct -::Ifc2x3::IfcProduct* Ifc2x3::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc2x3::IfcProduct>(true); } +::Ifc2x3::IfcProduct* Ifc2x3::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc2x3::IfcProduct>(true); } void Ifc2x3::IfcRelAssignsToProduct::setRelatingProduct(::Ifc2x3::IfcProduct* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc2x3::IfcRelAssignsToProduct::declaration() const { return *((IfcParse::entity*)IFC2X3_types[674]); } const IfcParse::entity& Ifc2x3::IfcRelAssignsToProduct::Class() { return *((IfcParse::entity*)IFC2X3_types[674]); } Ifc2x3::IfcRelAssignsToProduct::IfcRelAssignsToProduct(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc2x3::IfcRelAssignsToProduct::IfcRelAssignsToProduct(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcProduct* v7_RelatingProduct) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProduct ? v7_RelatingProduct->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcRelAssignsToProduct::IfcRelAssignsToProduct(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcProduct* v7_RelatingProduct) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProduct ? v7_RelatingProduct->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToProjectOrder @@ -10692,113 +10692,113 @@ Ifc2x3::IfcRelAssignsToProduct::IfcRelAssignsToProduct(std::string v1_GlobalId, const IfcParse::entity& Ifc2x3::IfcRelAssignsToProjectOrder::declaration() const { return *((IfcParse::entity*)IFC2X3_types[675]); } const IfcParse::entity& Ifc2x3::IfcRelAssignsToProjectOrder::Class() { return *((IfcParse::entity*)IFC2X3_types[675]); } Ifc2x3::IfcRelAssignsToProjectOrder::IfcRelAssignsToProjectOrder(IfcEntityInstanceData&& e) : IfcRelAssignsToControl(std::move(e)) { } -Ifc2x3::IfcRelAssignsToProjectOrder::IfcRelAssignsToProjectOrder(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcControl* v7_RelatingControl) : IfcRelAssignsToControl(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingControl ? v7_RelatingControl->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcRelAssignsToProjectOrder::IfcRelAssignsToProjectOrder(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcControl* v7_RelatingControl) : IfcRelAssignsToControl(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingControl ? v7_RelatingControl->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToResource -::Ifc2x3::IfcResource* Ifc2x3::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc2x3::IfcResource>(true); } +::Ifc2x3::IfcResource* Ifc2x3::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc2x3::IfcResource>(true); } void Ifc2x3::IfcRelAssignsToResource::setRelatingResource(::Ifc2x3::IfcResource* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc2x3::IfcRelAssignsToResource::declaration() const { return *((IfcParse::entity*)IFC2X3_types[676]); } const IfcParse::entity& Ifc2x3::IfcRelAssignsToResource::Class() { return *((IfcParse::entity*)IFC2X3_types[676]); } Ifc2x3::IfcRelAssignsToResource::IfcRelAssignsToResource(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc2x3::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcResource* v7_RelatingResource) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingResource ? v7_RelatingResource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcResource* v7_RelatingResource) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingResource ? v7_RelatingResource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociates -aggregate_of< ::Ifc2x3::IfcRoot >::ptr Ifc2x3::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc2x3::IfcRoot >(); } +aggregate_of< ::Ifc2x3::IfcRoot >::ptr Ifc2x3::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc2x3::IfcRoot >(); } void Ifc2x3::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc2x3::IfcRoot >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc2x3::IfcRelAssociates::declaration() const { return *((IfcParse::entity*)IFC2X3_types[677]); } const IfcParse::entity& Ifc2x3::IfcRelAssociates::Class() { return *((IfcParse::entity*)IFC2X3_types[677]); } Ifc2x3::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc2x3::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcRoot >::ptr v5_RelatedObjects) : IfcRelationship(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());; populate_derived(); } +Ifc2x3::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcRoot >::ptr v5_RelatedObjects) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelAssociatesAppliedValue -::Ifc2x3::IfcAppliedValue* Ifc2x3::IfcRelAssociatesAppliedValue::RelatingAppliedValue() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcAppliedValue>(true); } +::Ifc2x3::IfcAppliedValue* Ifc2x3::IfcRelAssociatesAppliedValue::RelatingAppliedValue() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcAppliedValue>(true); } void Ifc2x3::IfcRelAssociatesAppliedValue::setRelatingAppliedValue(::Ifc2x3::IfcAppliedValue* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc2x3::IfcRelAssociatesAppliedValue::declaration() const { return *((IfcParse::entity*)IFC2X3_types[678]); } const IfcParse::entity& Ifc2x3::IfcRelAssociatesAppliedValue::Class() { return *((IfcParse::entity*)IFC2X3_types[678]); } Ifc2x3::IfcRelAssociatesAppliedValue::IfcRelAssociatesAppliedValue(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc2x3::IfcRelAssociatesAppliedValue::IfcRelAssociatesAppliedValue(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcRoot >::ptr v5_RelatedObjects, ::Ifc2x3::IfcAppliedValue* v6_RelatingAppliedValue) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingAppliedValue ? v6_RelatingAppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcRelAssociatesAppliedValue::IfcRelAssociatesAppliedValue(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcRoot >::ptr v5_RelatedObjects, ::Ifc2x3::IfcAppliedValue* v6_RelatingAppliedValue) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingAppliedValue ? v6_RelatingAppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesApproval -::Ifc2x3::IfcApproval* Ifc2x3::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcApproval>(true); } +::Ifc2x3::IfcApproval* Ifc2x3::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcApproval>(true); } void Ifc2x3::IfcRelAssociatesApproval::setRelatingApproval(::Ifc2x3::IfcApproval* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc2x3::IfcRelAssociatesApproval::declaration() const { return *((IfcParse::entity*)IFC2X3_types[679]); } const IfcParse::entity& Ifc2x3::IfcRelAssociatesApproval::Class() { return *((IfcParse::entity*)IFC2X3_types[679]); } Ifc2x3::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc2x3::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcRoot >::ptr v5_RelatedObjects, ::Ifc2x3::IfcApproval* v6_RelatingApproval) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingApproval ? v6_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcRoot >::ptr v5_RelatedObjects, ::Ifc2x3::IfcApproval* v6_RelatingApproval) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingApproval ? v6_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesClassification -::Ifc2x3::IfcClassificationNotationSelect* Ifc2x3::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcClassificationNotationSelect>(true); } +::Ifc2x3::IfcClassificationNotationSelect* Ifc2x3::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcClassificationNotationSelect>(true); } void Ifc2x3::IfcRelAssociatesClassification::setRelatingClassification(::Ifc2x3::IfcClassificationNotationSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc2x3::IfcRelAssociatesClassification::declaration() const { return *((IfcParse::entity*)IFC2X3_types[680]); } const IfcParse::entity& Ifc2x3::IfcRelAssociatesClassification::Class() { return *((IfcParse::entity*)IFC2X3_types[680]); } Ifc2x3::IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc2x3::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcRoot >::ptr v5_RelatedObjects, ::Ifc2x3::IfcClassificationNotationSelect* v6_RelatingClassification) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingClassification ? v6_RelatingClassification->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcRoot >::ptr v5_RelatedObjects, ::Ifc2x3::IfcClassificationNotationSelect* v6_RelatingClassification) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingClassification ? v6_RelatingClassification->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesConstraint -std::string Ifc2x3::IfcRelAssociatesConstraint::Intent() const { std::string v = data_.get_attribute_value(5); return v; } +std::string Ifc2x3::IfcRelAssociatesConstraint::Intent() const { std::string v = get_attribute_value(5); return v; } void Ifc2x3::IfcRelAssociatesConstraint::setIntent(std::string v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcConstraint* Ifc2x3::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc2x3::IfcConstraint>(true); } +::Ifc2x3::IfcConstraint* Ifc2x3::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc2x3::IfcConstraint>(true); } void Ifc2x3::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc2x3::IfcConstraint* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc2x3::IfcRelAssociatesConstraint::declaration() const { return *((IfcParse::entity*)IFC2X3_types[681]); } const IfcParse::entity& Ifc2x3::IfcRelAssociatesConstraint::Class() { return *((IfcParse::entity*)IFC2X3_types[681]); } Ifc2x3::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc2x3::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcRoot >::ptr v5_RelatedObjects, std::string v6_Intent, ::Ifc2x3::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, (v6_Intent));set_attribute_value(6, v7_RelatingConstraint ? v7_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcRoot >::ptr v5_RelatedObjects, std::string v6_Intent, ::Ifc2x3::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, (v6_Intent));set_attribute_value(6, v7_RelatingConstraint ? v7_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesDocument -::Ifc2x3::IfcDocumentSelect* Ifc2x3::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcDocumentSelect>(true); } +::Ifc2x3::IfcDocumentSelect* Ifc2x3::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcDocumentSelect>(true); } void Ifc2x3::IfcRelAssociatesDocument::setRelatingDocument(::Ifc2x3::IfcDocumentSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc2x3::IfcRelAssociatesDocument::declaration() const { return *((IfcParse::entity*)IFC2X3_types[682]); } const IfcParse::entity& Ifc2x3::IfcRelAssociatesDocument::Class() { return *((IfcParse::entity*)IFC2X3_types[682]); } Ifc2x3::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc2x3::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcRoot >::ptr v5_RelatedObjects, ::Ifc2x3::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingDocument ? v6_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcRoot >::ptr v5_RelatedObjects, ::Ifc2x3::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingDocument ? v6_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesLibrary -::Ifc2x3::IfcLibrarySelect* Ifc2x3::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcLibrarySelect>(true); } +::Ifc2x3::IfcLibrarySelect* Ifc2x3::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcLibrarySelect>(true); } void Ifc2x3::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc2x3::IfcLibrarySelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc2x3::IfcRelAssociatesLibrary::declaration() const { return *((IfcParse::entity*)IFC2X3_types[683]); } const IfcParse::entity& Ifc2x3::IfcRelAssociatesLibrary::Class() { return *((IfcParse::entity*)IFC2X3_types[683]); } Ifc2x3::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc2x3::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcRoot >::ptr v5_RelatedObjects, ::Ifc2x3::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingLibrary ? v6_RelatingLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcRoot >::ptr v5_RelatedObjects, ::Ifc2x3::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingLibrary ? v6_RelatingLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesMaterial -::Ifc2x3::IfcMaterialSelect* Ifc2x3::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcMaterialSelect>(true); } +::Ifc2x3::IfcMaterialSelect* Ifc2x3::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcMaterialSelect>(true); } void Ifc2x3::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc2x3::IfcMaterialSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc2x3::IfcRelAssociatesMaterial::declaration() const { return *((IfcParse::entity*)IFC2X3_types[684]); } const IfcParse::entity& Ifc2x3::IfcRelAssociatesMaterial::Class() { return *((IfcParse::entity*)IFC2X3_types[684]); } Ifc2x3::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc2x3::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcRoot >::ptr v5_RelatedObjects, ::Ifc2x3::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingMaterial ? v6_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcRoot >::ptr v5_RelatedObjects, ::Ifc2x3::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingMaterial ? v6_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesProfileProperties -::Ifc2x3::IfcProfileProperties* Ifc2x3::IfcRelAssociatesProfileProperties::RelatingProfileProperties() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcProfileProperties>(true); } +::Ifc2x3::IfcProfileProperties* Ifc2x3::IfcRelAssociatesProfileProperties::RelatingProfileProperties() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcProfileProperties>(true); } void Ifc2x3::IfcRelAssociatesProfileProperties::setRelatingProfileProperties(::Ifc2x3::IfcProfileProperties* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcRelAssociatesProfileProperties::ProfileSectionLocation() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc2x3::IfcShapeAspect>(true); } +::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcRelAssociatesProfileProperties::ProfileSectionLocation() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc2x3::IfcShapeAspect>(true); } void Ifc2x3::IfcRelAssociatesProfileProperties::setProfileSectionLocation(::Ifc2x3::IfcShapeAspect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc2x3::IfcOrientationSelect* Ifc2x3::IfcRelAssociatesProfileProperties::ProfileOrientation() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc2x3::IfcOrientationSelect>(true); } +::Ifc2x3::IfcOrientationSelect* Ifc2x3::IfcRelAssociatesProfileProperties::ProfileOrientation() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc2x3::IfcOrientationSelect>(true); } void Ifc2x3::IfcRelAssociatesProfileProperties::setProfileOrientation(::Ifc2x3::IfcOrientationSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc2x3::IfcRelAssociatesProfileProperties::declaration() const { return *((IfcParse::entity*)IFC2X3_types[685]); } const IfcParse::entity& Ifc2x3::IfcRelAssociatesProfileProperties::Class() { return *((IfcParse::entity*)IFC2X3_types[685]); } Ifc2x3::IfcRelAssociatesProfileProperties::IfcRelAssociatesProfileProperties(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc2x3::IfcRelAssociatesProfileProperties::IfcRelAssociatesProfileProperties(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcRoot >::ptr v5_RelatedObjects, ::Ifc2x3::IfcProfileProperties* v6_RelatingProfileProperties, ::Ifc2x3::IfcShapeAspect* v7_ProfileSectionLocation, ::Ifc2x3::IfcOrientationSelect* v8_ProfileOrientation) : IfcRelAssociates(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingProfileProperties ? v6_RelatingProfileProperties->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ProfileSectionLocation ? v7_ProfileSectionLocation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_ProfileOrientation ? v8_ProfileOrientation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcRelAssociatesProfileProperties::IfcRelAssociatesProfileProperties(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcRoot >::ptr v5_RelatedObjects, ::Ifc2x3::IfcProfileProperties* v6_RelatingProfileProperties, ::Ifc2x3::IfcShapeAspect* v7_ProfileSectionLocation, ::Ifc2x3::IfcOrientationSelect* v8_ProfileOrientation) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingProfileProperties ? v6_RelatingProfileProperties->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ProfileSectionLocation ? v7_ProfileSectionLocation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_ProfileOrientation ? v8_ProfileOrientation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnects @@ -10806,249 +10806,249 @@ Ifc2x3::IfcRelAssociatesProfileProperties::IfcRelAssociatesProfileProperties(std const IfcParse::entity& Ifc2x3::IfcRelConnects::declaration() const { return *((IfcParse::entity*)IFC2X3_types[688]); } const IfcParse::entity& Ifc2x3::IfcRelConnects::Class() { return *((IfcParse::entity*)IFC2X3_types[688]); } Ifc2x3::IfcRelConnects::IfcRelConnects(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc2x3::IfcRelConnects::IfcRelConnects(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc2x3::IfcRelConnects::IfcRelConnects(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRelConnectsElements -::Ifc2x3::IfcConnectionGeometry* Ifc2x3::IfcRelConnectsElements::ConnectionGeometry() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc2x3::IfcConnectionGeometry>(true); } +::Ifc2x3::IfcConnectionGeometry* Ifc2x3::IfcRelConnectsElements::ConnectionGeometry() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc2x3::IfcConnectionGeometry>(true); } void Ifc2x3::IfcRelConnectsElements::setConnectionGeometry(::Ifc2x3::IfcConnectionGeometry* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcElement* Ifc2x3::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcElement>(true); } +::Ifc2x3::IfcElement* Ifc2x3::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcElement>(true); } void Ifc2x3::IfcRelConnectsElements::setRelatingElement(::Ifc2x3::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcElement* Ifc2x3::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc2x3::IfcElement>(true); } +::Ifc2x3::IfcElement* Ifc2x3::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc2x3::IfcElement>(true); } void Ifc2x3::IfcRelConnectsElements::setRelatedElement(::Ifc2x3::IfcElement* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc2x3::IfcRelConnectsElements::declaration() const { return *((IfcParse::entity*)IFC2X3_types[689]); } const IfcParse::entity& Ifc2x3::IfcRelConnectsElements::Class() { return *((IfcParse::entity*)IFC2X3_types[689]); } Ifc2x3::IfcRelConnectsElements::IfcRelConnectsElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc2x3::IfcRelConnectsElements::IfcRelConnectsElements(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc2x3::IfcElement* v6_RelatingElement, ::Ifc2x3::IfcElement* v7_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcRelConnectsElements::IfcRelConnectsElements(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc2x3::IfcElement* v6_RelatingElement, ::Ifc2x3::IfcElement* v7_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsPathElements -std::vector< int > /*[0:?]*/ Ifc2x3::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = data_.get_attribute_value(7); return v; } +std::vector< int > /*[0:?]*/ Ifc2x3::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(7); return v; } void Ifc2x3::IfcRelConnectsPathElements::setRelatingPriorities(std::vector< int > /*[0:?]*/ v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector< int > /*[0:?]*/ Ifc2x3::IfcRelConnectsPathElements::RelatedPriorities() const { std::vector< int > /*[0:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< int > /*[0:?]*/ Ifc2x3::IfcRelConnectsPathElements::RelatedPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(8); return v; } void Ifc2x3::IfcRelConnectsPathElements::setRelatedPriorities(std::vector< int > /*[0:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc2x3::IfcConnectionTypeEnum::Value Ifc2x3::IfcRelConnectsPathElements::RelatedConnectionType() const { return ::Ifc2x3::IfcConnectionTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcConnectionTypeEnum::Value Ifc2x3::IfcRelConnectsPathElements::RelatedConnectionType() const { return ::Ifc2x3::IfcConnectionTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcRelConnectsPathElements::setRelatedConnectionType(::Ifc2x3::IfcConnectionTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc2x3::IfcConnectionTypeEnum::Value Ifc2x3::IfcRelConnectsPathElements::RelatingConnectionType() const { return ::Ifc2x3::IfcConnectionTypeEnum::FromString(data_.get_attribute_value(10)); } +::Ifc2x3::IfcConnectionTypeEnum::Value Ifc2x3::IfcRelConnectsPathElements::RelatingConnectionType() const { return ::Ifc2x3::IfcConnectionTypeEnum::FromString(get_attribute_value(10)); } void Ifc2x3::IfcRelConnectsPathElements::setRelatingConnectionType(::Ifc2x3::IfcConnectionTypeEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc2x3::IfcConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc2x3::IfcRelConnectsPathElements::declaration() const { return *((IfcParse::entity*)IFC2X3_types[690]); } const IfcParse::entity& Ifc2x3::IfcRelConnectsPathElements::Class() { return *((IfcParse::entity*)IFC2X3_types[690]); } Ifc2x3::IfcRelConnectsPathElements::IfcRelConnectsPathElements(IfcEntityInstanceData&& e) : IfcRelConnectsElements(std::move(e)) { } -Ifc2x3::IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc2x3::IfcElement* v6_RelatingElement, ::Ifc2x3::IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc2x3::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc2x3::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (EnumerationReference(&::Ifc2x3::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; populate_derived(); } +Ifc2x3::IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc2x3::IfcElement* v6_RelatingElement, ::Ifc2x3::IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc2x3::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc2x3::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (EnumerationReference(&::Ifc2x3::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; populate_derived(); } // Function implementations for IfcRelConnectsPortToElement -::Ifc2x3::IfcPort* Ifc2x3::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc2x3::IfcPort>(true); } +::Ifc2x3::IfcPort* Ifc2x3::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc2x3::IfcPort>(true); } void Ifc2x3::IfcRelConnectsPortToElement::setRelatingPort(::Ifc2x3::IfcPort* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcElement* Ifc2x3::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcElement>(true); } +::Ifc2x3::IfcElement* Ifc2x3::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcElement>(true); } void Ifc2x3::IfcRelConnectsPortToElement::setRelatedElement(::Ifc2x3::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc2x3::IfcRelConnectsPortToElement::declaration() const { return *((IfcParse::entity*)IFC2X3_types[692]); } const IfcParse::entity& Ifc2x3::IfcRelConnectsPortToElement::Class() { return *((IfcParse::entity*)IFC2X3_types[692]); } Ifc2x3::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc2x3::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcPort* v5_RelatingPort, ::Ifc2x3::IfcElement* v6_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcPort* v5_RelatingPort, ::Ifc2x3::IfcElement* v6_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsPorts -::Ifc2x3::IfcPort* Ifc2x3::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc2x3::IfcPort>(true); } +::Ifc2x3::IfcPort* Ifc2x3::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc2x3::IfcPort>(true); } void Ifc2x3::IfcRelConnectsPorts::setRelatingPort(::Ifc2x3::IfcPort* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcPort* Ifc2x3::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcPort>(true); } +::Ifc2x3::IfcPort* Ifc2x3::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcPort>(true); } void Ifc2x3::IfcRelConnectsPorts::setRelatedPort(::Ifc2x3::IfcPort* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcElement* Ifc2x3::IfcRelConnectsPorts::RealizingElement() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc2x3::IfcElement>(true); } +::Ifc2x3::IfcElement* Ifc2x3::IfcRelConnectsPorts::RealizingElement() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc2x3::IfcElement>(true); } void Ifc2x3::IfcRelConnectsPorts::setRealizingElement(::Ifc2x3::IfcElement* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc2x3::IfcRelConnectsPorts::declaration() const { return *((IfcParse::entity*)IFC2X3_types[691]); } const IfcParse::entity& Ifc2x3::IfcRelConnectsPorts::Class() { return *((IfcParse::entity*)IFC2X3_types[691]); } Ifc2x3::IfcRelConnectsPorts::IfcRelConnectsPorts(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc2x3::IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcPort* v5_RelatingPort, ::Ifc2x3::IfcPort* v6_RelatedPort, ::Ifc2x3::IfcElement* v7_RealizingElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedPort ? v6_RelatedPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RealizingElement ? v7_RealizingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcPort* v5_RelatingPort, ::Ifc2x3::IfcPort* v6_RelatedPort, ::Ifc2x3::IfcElement* v7_RealizingElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedPort ? v6_RelatedPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RealizingElement ? v7_RealizingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsStructuralActivity -::Ifc2x3::IfcStructuralActivityAssignmentSelect* Ifc2x3::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc2x3::IfcStructuralActivityAssignmentSelect>(true); } +::Ifc2x3::IfcStructuralActivityAssignmentSelect* Ifc2x3::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc2x3::IfcStructuralActivityAssignmentSelect>(true); } void Ifc2x3::IfcRelConnectsStructuralActivity::setRelatingElement(::Ifc2x3::IfcStructuralActivityAssignmentSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcStructuralActivity* Ifc2x3::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcStructuralActivity>(true); } +::Ifc2x3::IfcStructuralActivity* Ifc2x3::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcStructuralActivity>(true); } void Ifc2x3::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(::Ifc2x3::IfcStructuralActivity* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc2x3::IfcRelConnectsStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC2X3_types[693]); } const IfcParse::entity& Ifc2x3::IfcRelConnectsStructuralActivity::Class() { return *((IfcParse::entity*)IFC2X3_types[693]); } Ifc2x3::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc2x3::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcStructuralActivityAssignmentSelect* v5_RelatingElement, ::Ifc2x3::IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralActivity ? v6_RelatedStructuralActivity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcStructuralActivityAssignmentSelect* v5_RelatingElement, ::Ifc2x3::IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralActivity ? v6_RelatedStructuralActivity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsStructuralElement -::Ifc2x3::IfcElement* Ifc2x3::IfcRelConnectsStructuralElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc2x3::IfcElement>(true); } +::Ifc2x3::IfcElement* Ifc2x3::IfcRelConnectsStructuralElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc2x3::IfcElement>(true); } void Ifc2x3::IfcRelConnectsStructuralElement::setRelatingElement(::Ifc2x3::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcStructuralMember* Ifc2x3::IfcRelConnectsStructuralElement::RelatedStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcStructuralMember>(true); } +::Ifc2x3::IfcStructuralMember* Ifc2x3::IfcRelConnectsStructuralElement::RelatedStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcStructuralMember>(true); } void Ifc2x3::IfcRelConnectsStructuralElement::setRelatedStructuralMember(::Ifc2x3::IfcStructuralMember* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc2x3::IfcRelConnectsStructuralElement::declaration() const { return *((IfcParse::entity*)IFC2X3_types[694]); } const IfcParse::entity& Ifc2x3::IfcRelConnectsStructuralElement::Class() { return *((IfcParse::entity*)IFC2X3_types[694]); } Ifc2x3::IfcRelConnectsStructuralElement::IfcRelConnectsStructuralElement(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc2x3::IfcRelConnectsStructuralElement::IfcRelConnectsStructuralElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcElement* v5_RelatingElement, ::Ifc2x3::IfcStructuralMember* v6_RelatedStructuralMember) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralMember ? v6_RelatedStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcRelConnectsStructuralElement::IfcRelConnectsStructuralElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcElement* v5_RelatingElement, ::Ifc2x3::IfcStructuralMember* v6_RelatedStructuralMember) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralMember ? v6_RelatedStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsStructuralMember -::Ifc2x3::IfcStructuralMember* Ifc2x3::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc2x3::IfcStructuralMember>(true); } +::Ifc2x3::IfcStructuralMember* Ifc2x3::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc2x3::IfcStructuralMember>(true); } void Ifc2x3::IfcRelConnectsStructuralMember::setRelatingStructuralMember(::Ifc2x3::IfcStructuralMember* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcStructuralConnection* Ifc2x3::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcStructuralConnection>(true); } +::Ifc2x3::IfcStructuralConnection* Ifc2x3::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcStructuralConnection>(true); } void Ifc2x3::IfcRelConnectsStructuralMember::setRelatedStructuralConnection(::Ifc2x3::IfcStructuralConnection* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcBoundaryCondition* Ifc2x3::IfcRelConnectsStructuralMember::AppliedCondition() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc2x3::IfcBoundaryCondition>(true); } +::Ifc2x3::IfcBoundaryCondition* Ifc2x3::IfcRelConnectsStructuralMember::AppliedCondition() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc2x3::IfcBoundaryCondition>(true); } void Ifc2x3::IfcRelConnectsStructuralMember::setAppliedCondition(::Ifc2x3::IfcBoundaryCondition* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc2x3::IfcStructuralConnectionCondition* Ifc2x3::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc2x3::IfcStructuralConnectionCondition>(true); } +::Ifc2x3::IfcStructuralConnectionCondition* Ifc2x3::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc2x3::IfcStructuralConnectionCondition>(true); } void Ifc2x3::IfcRelConnectsStructuralMember::setAdditionalConditions(::Ifc2x3::IfcStructuralConnectionCondition* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc2x3::IfcRelConnectsStructuralMember::SupportedLength() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc2x3::IfcRelConnectsStructuralMember::SupportedLength() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc2x3::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc2x3::IfcAxis2Placement3D* Ifc2x3::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc2x3::IfcAxis2Placement3D>(true); } +::Ifc2x3::IfcAxis2Placement3D* Ifc2x3::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc2x3::IfcAxis2Placement3D>(true); } void Ifc2x3::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(::Ifc2x3::IfcAxis2Placement3D* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcRelConnectsStructuralMember::declaration() const { return *((IfcParse::entity*)IFC2X3_types[695]); } const IfcParse::entity& Ifc2x3::IfcRelConnectsStructuralMember::Class() { return *((IfcParse::entity*)IFC2X3_types[695]); } Ifc2x3::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc2x3::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc2x3::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc2x3::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc2x3::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc2x3::IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc2x3::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc2x3::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc2x3::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc2x3::IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsWithEccentricity -::Ifc2x3::IfcConnectionGeometry* Ifc2x3::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc2x3::IfcConnectionGeometry>(true); } +::Ifc2x3::IfcConnectionGeometry* Ifc2x3::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc2x3::IfcConnectionGeometry>(true); } void Ifc2x3::IfcRelConnectsWithEccentricity::setConnectionConstraint(::Ifc2x3::IfcConnectionGeometry* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc2x3::IfcRelConnectsWithEccentricity::declaration() const { return *((IfcParse::entity*)IFC2X3_types[696]); } const IfcParse::entity& Ifc2x3::IfcRelConnectsWithEccentricity::Class() { return *((IfcParse::entity*)IFC2X3_types[696]); } Ifc2x3::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(IfcEntityInstanceData&& e) : IfcRelConnectsStructuralMember(std::move(e)) { } -Ifc2x3::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc2x3::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc2x3::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc2x3::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc2x3::IfcAxis2Placement3D* v10_ConditionCoordinateSystem, ::Ifc2x3::IfcConnectionGeometry* v11_ConnectionConstraint) : IfcRelConnectsStructuralMember(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ConnectionConstraint ? v11_ConnectionConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc2x3::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc2x3::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc2x3::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc2x3::IfcAxis2Placement3D* v10_ConditionCoordinateSystem, ::Ifc2x3::IfcConnectionGeometry* v11_ConnectionConstraint) : IfcRelConnectsStructuralMember(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ConnectionConstraint ? v11_ConnectionConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsWithRealizingElements -aggregate_of< ::Ifc2x3::IfcElement >::ptr Ifc2x3::IfcRelConnectsWithRealizingElements::RealizingElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc2x3::IfcElement >(); } +aggregate_of< ::Ifc2x3::IfcElement >::ptr Ifc2x3::IfcRelConnectsWithRealizingElements::RealizingElements() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc2x3::IfcElement >(); } void Ifc2x3::IfcRelConnectsWithRealizingElements::setRealizingElements(aggregate_of< ::Ifc2x3::IfcElement >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc2x3::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc2x3::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc2x3::IfcRelConnectsWithRealizingElements::setConnectionType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc2x3::IfcRelConnectsWithRealizingElements::declaration() const { return *((IfcParse::entity*)IFC2X3_types[697]); } const IfcParse::entity& Ifc2x3::IfcRelConnectsWithRealizingElements::Class() { return *((IfcParse::entity*)IFC2X3_types[697]); } Ifc2x3::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(IfcEntityInstanceData&& e) : IfcRelConnectsElements(std::move(e)) { } -Ifc2x3::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc2x3::IfcElement* v6_RelatingElement, ::Ifc2x3::IfcElement* v7_RelatedElement, aggregate_of< ::Ifc2x3::IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RealizingElements)->generalize()); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; populate_derived(); } +Ifc2x3::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc2x3::IfcElement* v6_RelatingElement, ::Ifc2x3::IfcElement* v7_RelatedElement, aggregate_of< ::Ifc2x3::IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RealizingElements)->generalize()); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; populate_derived(); } // Function implementations for IfcRelContainedInSpatialStructure -aggregate_of< ::Ifc2x3::IfcProduct >::ptr Ifc2x3::IfcRelContainedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc2x3::IfcProduct >(); } +aggregate_of< ::Ifc2x3::IfcProduct >::ptr Ifc2x3::IfcRelContainedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc2x3::IfcProduct >(); } void Ifc2x3::IfcRelContainedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc2x3::IfcProduct >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcSpatialStructureElement* Ifc2x3::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcSpatialStructureElement>(true); } +::Ifc2x3::IfcSpatialStructureElement* Ifc2x3::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcSpatialStructureElement>(true); } void Ifc2x3::IfcRelContainedInSpatialStructure::setRelatingStructure(::Ifc2x3::IfcSpatialStructureElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc2x3::IfcRelContainedInSpatialStructure::declaration() const { return *((IfcParse::entity*)IFC2X3_types[698]); } const IfcParse::entity& Ifc2x3::IfcRelContainedInSpatialStructure::Class() { return *((IfcParse::entity*)IFC2X3_types[698]); } Ifc2x3::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc2x3::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcProduct >::ptr v5_RelatedElements, ::Ifc2x3::IfcSpatialStructureElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcProduct >::ptr v5_RelatedElements, ::Ifc2x3::IfcSpatialStructureElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelCoversBldgElements -::Ifc2x3::IfcElement* Ifc2x3::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc2x3::IfcElement>(true); } +::Ifc2x3::IfcElement* Ifc2x3::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc2x3::IfcElement>(true); } void Ifc2x3::IfcRelCoversBldgElements::setRelatingBuildingElement(::Ifc2x3::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc2x3::IfcCovering >::ptr Ifc2x3::IfcRelCoversBldgElements::RelatedCoverings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc2x3::IfcCovering >(); } +aggregate_of< ::Ifc2x3::IfcCovering >::ptr Ifc2x3::IfcRelCoversBldgElements::RelatedCoverings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc2x3::IfcCovering >(); } void Ifc2x3::IfcRelCoversBldgElements::setRelatedCoverings(aggregate_of< ::Ifc2x3::IfcCovering >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc2x3::IfcRelCoversBldgElements::declaration() const { return *((IfcParse::entity*)IFC2X3_types[699]); } const IfcParse::entity& Ifc2x3::IfcRelCoversBldgElements::Class() { return *((IfcParse::entity*)IFC2X3_types[699]); } Ifc2x3::IfcRelCoversBldgElements::IfcRelCoversBldgElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc2x3::IfcRelCoversBldgElements::IfcRelCoversBldgElements(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcElement* v5_RelatingBuildingElement, aggregate_of< ::Ifc2x3::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } +Ifc2x3::IfcRelCoversBldgElements::IfcRelCoversBldgElements(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcElement* v5_RelatingBuildingElement, aggregate_of< ::Ifc2x3::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } // Function implementations for IfcRelCoversSpaces -::Ifc2x3::IfcSpace* Ifc2x3::IfcRelCoversSpaces::RelatedSpace() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc2x3::IfcSpace>(true); } +::Ifc2x3::IfcSpace* Ifc2x3::IfcRelCoversSpaces::RelatedSpace() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc2x3::IfcSpace>(true); } void Ifc2x3::IfcRelCoversSpaces::setRelatedSpace(::Ifc2x3::IfcSpace* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc2x3::IfcCovering >::ptr Ifc2x3::IfcRelCoversSpaces::RelatedCoverings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc2x3::IfcCovering >(); } +aggregate_of< ::Ifc2x3::IfcCovering >::ptr Ifc2x3::IfcRelCoversSpaces::RelatedCoverings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc2x3::IfcCovering >(); } void Ifc2x3::IfcRelCoversSpaces::setRelatedCoverings(aggregate_of< ::Ifc2x3::IfcCovering >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc2x3::IfcRelCoversSpaces::declaration() const { return *((IfcParse::entity*)IFC2X3_types[700]); } const IfcParse::entity& Ifc2x3::IfcRelCoversSpaces::Class() { return *((IfcParse::entity*)IFC2X3_types[700]); } Ifc2x3::IfcRelCoversSpaces::IfcRelCoversSpaces(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc2x3::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcSpace* v5_RelatedSpace, aggregate_of< ::Ifc2x3::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatedSpace ? v5_RelatedSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } +Ifc2x3::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcSpace* v5_RelatedSpace, aggregate_of< ::Ifc2x3::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatedSpace ? v5_RelatedSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } // Function implementations for IfcRelDecomposes -::Ifc2x3::IfcObjectDefinition* Ifc2x3::IfcRelDecomposes::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc2x3::IfcObjectDefinition>(true); } +::Ifc2x3::IfcObjectDefinition* Ifc2x3::IfcRelDecomposes::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc2x3::IfcObjectDefinition>(true); } void Ifc2x3::IfcRelDecomposes::setRelatingObject(::Ifc2x3::IfcObjectDefinition* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr Ifc2x3::IfcRelDecomposes::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc2x3::IfcObjectDefinition >(); } +aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr Ifc2x3::IfcRelDecomposes::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc2x3::IfcObjectDefinition >(); } void Ifc2x3::IfcRelDecomposes::setRelatedObjects(aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc2x3::IfcRelDecomposes::declaration() const { return *((IfcParse::entity*)IFC2X3_types[701]); } const IfcParse::entity& Ifc2x3::IfcRelDecomposes::Class() { return *((IfcParse::entity*)IFC2X3_types[701]); } Ifc2x3::IfcRelDecomposes::IfcRelDecomposes(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc2x3::IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelationship(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } +Ifc2x3::IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelDefines -aggregate_of< ::Ifc2x3::IfcObject >::ptr Ifc2x3::IfcRelDefines::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc2x3::IfcObject >(); } +aggregate_of< ::Ifc2x3::IfcObject >::ptr Ifc2x3::IfcRelDefines::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc2x3::IfcObject >(); } void Ifc2x3::IfcRelDefines::setRelatedObjects(aggregate_of< ::Ifc2x3::IfcObject >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc2x3::IfcRelDefines::declaration() const { return *((IfcParse::entity*)IFC2X3_types[702]); } const IfcParse::entity& Ifc2x3::IfcRelDefines::Class() { return *((IfcParse::entity*)IFC2X3_types[702]); } Ifc2x3::IfcRelDefines::IfcRelDefines(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc2x3::IfcRelDefines::IfcRelDefines(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObject >::ptr v5_RelatedObjects) : IfcRelationship(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());; populate_derived(); } +Ifc2x3::IfcRelDefines::IfcRelDefines(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObject >::ptr v5_RelatedObjects) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelDefinesByProperties -::Ifc2x3::IfcPropertySetDefinition* Ifc2x3::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcPropertySetDefinition>(true); } +::Ifc2x3::IfcPropertySetDefinition* Ifc2x3::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcPropertySetDefinition>(true); } void Ifc2x3::IfcRelDefinesByProperties::setRelatingPropertyDefinition(::Ifc2x3::IfcPropertySetDefinition* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc2x3::IfcRelDefinesByProperties::declaration() const { return *((IfcParse::entity*)IFC2X3_types[703]); } const IfcParse::entity& Ifc2x3::IfcRelDefinesByProperties::Class() { return *((IfcParse::entity*)IFC2X3_types[703]); } Ifc2x3::IfcRelDefinesByProperties::IfcRelDefinesByProperties(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc2x3::IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObject >::ptr v5_RelatedObjects, ::Ifc2x3::IfcPropertySetDefinition* v6_RelatingPropertyDefinition) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingPropertyDefinition ? v6_RelatingPropertyDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObject >::ptr v5_RelatedObjects, ::Ifc2x3::IfcPropertySetDefinition* v6_RelatingPropertyDefinition) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingPropertyDefinition ? v6_RelatingPropertyDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelDefinesByType -::Ifc2x3::IfcTypeObject* Ifc2x3::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcTypeObject>(true); } +::Ifc2x3::IfcTypeObject* Ifc2x3::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcTypeObject>(true); } void Ifc2x3::IfcRelDefinesByType::setRelatingType(::Ifc2x3::IfcTypeObject* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc2x3::IfcRelDefinesByType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[704]); } const IfcParse::entity& Ifc2x3::IfcRelDefinesByType::Class() { return *((IfcParse::entity*)IFC2X3_types[704]); } Ifc2x3::IfcRelDefinesByType::IfcRelDefinesByType(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc2x3::IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObject >::ptr v5_RelatedObjects, ::Ifc2x3::IfcTypeObject* v6_RelatingType) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingType ? v6_RelatingType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObject >::ptr v5_RelatedObjects, ::Ifc2x3::IfcTypeObject* v6_RelatingType) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingType ? v6_RelatingType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelFillsElement -::Ifc2x3::IfcOpeningElement* Ifc2x3::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc2x3::IfcOpeningElement>(true); } +::Ifc2x3::IfcOpeningElement* Ifc2x3::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc2x3::IfcOpeningElement>(true); } void Ifc2x3::IfcRelFillsElement::setRelatingOpeningElement(::Ifc2x3::IfcOpeningElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcElement* Ifc2x3::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcElement>(true); } +::Ifc2x3::IfcElement* Ifc2x3::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcElement>(true); } void Ifc2x3::IfcRelFillsElement::setRelatedBuildingElement(::Ifc2x3::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc2x3::IfcRelFillsElement::declaration() const { return *((IfcParse::entity*)IFC2X3_types[705]); } const IfcParse::entity& Ifc2x3::IfcRelFillsElement::Class() { return *((IfcParse::entity*)IFC2X3_types[705]); } Ifc2x3::IfcRelFillsElement::IfcRelFillsElement(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc2x3::IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcOpeningElement* v5_RelatingOpeningElement, ::Ifc2x3::IfcElement* v6_RelatedBuildingElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingOpeningElement ? v5_RelatingOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcOpeningElement* v5_RelatingOpeningElement, ::Ifc2x3::IfcElement* v6_RelatedBuildingElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingOpeningElement ? v5_RelatingOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelFlowControlElements -aggregate_of< ::Ifc2x3::IfcDistributionControlElement >::ptr Ifc2x3::IfcRelFlowControlElements::RelatedControlElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc2x3::IfcDistributionControlElement >(); } +aggregate_of< ::Ifc2x3::IfcDistributionControlElement >::ptr Ifc2x3::IfcRelFlowControlElements::RelatedControlElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc2x3::IfcDistributionControlElement >(); } void Ifc2x3::IfcRelFlowControlElements::setRelatedControlElements(aggregate_of< ::Ifc2x3::IfcDistributionControlElement >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcDistributionFlowElement* Ifc2x3::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcDistributionFlowElement>(true); } +::Ifc2x3::IfcDistributionFlowElement* Ifc2x3::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcDistributionFlowElement>(true); } void Ifc2x3::IfcRelFlowControlElements::setRelatingFlowElement(::Ifc2x3::IfcDistributionFlowElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc2x3::IfcRelFlowControlElements::declaration() const { return *((IfcParse::entity*)IFC2X3_types[706]); } const IfcParse::entity& Ifc2x3::IfcRelFlowControlElements::Class() { return *((IfcParse::entity*)IFC2X3_types[706]); } Ifc2x3::IfcRelFlowControlElements::IfcRelFlowControlElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc2x3::IfcRelFlowControlElements::IfcRelFlowControlElements(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcDistributionControlElement >::ptr v5_RelatedControlElements, ::Ifc2x3::IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedControlElements)->generalize());set_attribute_value(5, v6_RelatingFlowElement ? v6_RelatingFlowElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcRelFlowControlElements::IfcRelFlowControlElements(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcDistributionControlElement >::ptr v5_RelatedControlElements, ::Ifc2x3::IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedControlElements)->generalize());set_attribute_value(5, v6_RelatingFlowElement ? v6_RelatingFlowElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelInteractionRequirements -boost::optional< double > Ifc2x3::IfcRelInteractionRequirements::DailyInteraction() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc2x3::IfcRelInteractionRequirements::DailyInteraction() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc2x3::IfcRelInteractionRequirements::setDailyInteraction(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc2x3::IfcRelInteractionRequirements::ImportanceRating() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc2x3::IfcRelInteractionRequirements::ImportanceRating() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc2x3::IfcRelInteractionRequirements::setImportanceRating(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc2x3::IfcSpatialStructureElement* Ifc2x3::IfcRelInteractionRequirements::LocationOfInteraction() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc2x3::IfcSpatialStructureElement>(true); } +::Ifc2x3::IfcSpatialStructureElement* Ifc2x3::IfcRelInteractionRequirements::LocationOfInteraction() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc2x3::IfcSpatialStructureElement>(true); } void Ifc2x3::IfcRelInteractionRequirements::setLocationOfInteraction(::Ifc2x3::IfcSpatialStructureElement* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc2x3::IfcSpaceProgram* Ifc2x3::IfcRelInteractionRequirements::RelatedSpaceProgram() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc2x3::IfcSpaceProgram>(true); } +::Ifc2x3::IfcSpaceProgram* Ifc2x3::IfcRelInteractionRequirements::RelatedSpaceProgram() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc2x3::IfcSpaceProgram>(true); } void Ifc2x3::IfcRelInteractionRequirements::setRelatedSpaceProgram(::Ifc2x3::IfcSpaceProgram* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc2x3::IfcSpaceProgram* Ifc2x3::IfcRelInteractionRequirements::RelatingSpaceProgram() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc2x3::IfcSpaceProgram>(true); } +::Ifc2x3::IfcSpaceProgram* Ifc2x3::IfcRelInteractionRequirements::RelatingSpaceProgram() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc2x3::IfcSpaceProgram>(true); } void Ifc2x3::IfcRelInteractionRequirements::setRelatingSpaceProgram(::Ifc2x3::IfcSpaceProgram* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc2x3::IfcRelInteractionRequirements::declaration() const { return *((IfcParse::entity*)IFC2X3_types[707]); } const IfcParse::entity& Ifc2x3::IfcRelInteractionRequirements::Class() { return *((IfcParse::entity*)IFC2X3_types[707]); } Ifc2x3::IfcRelInteractionRequirements::IfcRelInteractionRequirements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc2x3::IfcRelInteractionRequirements::IfcRelInteractionRequirements(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_DailyInteraction, boost::optional< double > v6_ImportanceRating, ::Ifc2x3::IfcSpatialStructureElement* v7_LocationOfInteraction, ::Ifc2x3::IfcSpaceProgram* v8_RelatedSpaceProgram, ::Ifc2x3::IfcSpaceProgram* v9_RelatingSpaceProgram) : IfcRelConnects(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DailyInteraction) {set_attribute_value(4, (*v5_DailyInteraction)); } if (v6_ImportanceRating) {set_attribute_value(5, (*v6_ImportanceRating)); }set_attribute_value(6, v7_LocationOfInteraction ? v7_LocationOfInteraction->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_RelatedSpaceProgram ? v8_RelatedSpaceProgram->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_RelatingSpaceProgram ? v9_RelatingSpaceProgram->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcRelInteractionRequirements::IfcRelInteractionRequirements(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_DailyInteraction, boost::optional< double > v6_ImportanceRating, ::Ifc2x3::IfcSpatialStructureElement* v7_LocationOfInteraction, ::Ifc2x3::IfcSpaceProgram* v8_RelatedSpaceProgram, ::Ifc2x3::IfcSpaceProgram* v9_RelatingSpaceProgram) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DailyInteraction) {set_attribute_value(4, (*v5_DailyInteraction)); } if (v6_ImportanceRating) {set_attribute_value(5, (*v6_ImportanceRating)); }set_attribute_value(6, v7_LocationOfInteraction ? v7_LocationOfInteraction->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_RelatedSpaceProgram ? v8_RelatedSpaceProgram->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_RelatingSpaceProgram ? v9_RelatingSpaceProgram->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelNests @@ -11056,7 +11056,7 @@ Ifc2x3::IfcRelInteractionRequirements::IfcRelInteractionRequirements(std::string const IfcParse::entity& Ifc2x3::IfcRelNests::declaration() const { return *((IfcParse::entity*)IFC2X3_types[708]); } const IfcParse::entity& Ifc2x3::IfcRelNests::Class() { return *((IfcParse::entity*)IFC2X3_types[708]); } Ifc2x3::IfcRelNests::IfcRelNests(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc2x3::IfcRelNests::IfcRelNests(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } +Ifc2x3::IfcRelNests::IfcRelNests(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelOccupiesSpaces @@ -11064,41 +11064,41 @@ Ifc2x3::IfcRelNests::IfcRelNests(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHist const IfcParse::entity& Ifc2x3::IfcRelOccupiesSpaces::declaration() const { return *((IfcParse::entity*)IFC2X3_types[709]); } const IfcParse::entity& Ifc2x3::IfcRelOccupiesSpaces::Class() { return *((IfcParse::entity*)IFC2X3_types[709]); } Ifc2x3::IfcRelOccupiesSpaces::IfcRelOccupiesSpaces(IfcEntityInstanceData&& e) : IfcRelAssignsToActor(std::move(e)) { } -Ifc2x3::IfcRelOccupiesSpaces::IfcRelOccupiesSpaces(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcActor* v7_RelatingActor, ::Ifc2x3::IfcActorRole* v8_ActingRole) : IfcRelAssignsToActor(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingActor ? v7_RelatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_ActingRole ? v8_ActingRole->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcRelOccupiesSpaces::IfcRelOccupiesSpaces(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcActor* v7_RelatingActor, ::Ifc2x3::IfcActorRole* v8_ActingRole) : IfcRelAssignsToActor(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingActor ? v7_RelatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_ActingRole ? v8_ActingRole->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelOverridesProperties -aggregate_of< ::Ifc2x3::IfcProperty >::ptr Ifc2x3::IfcRelOverridesProperties::OverridingProperties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc2x3::IfcProperty >(); } +aggregate_of< ::Ifc2x3::IfcProperty >::ptr Ifc2x3::IfcRelOverridesProperties::OverridingProperties() const { aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc2x3::IfcProperty >(); } void Ifc2x3::IfcRelOverridesProperties::setOverridingProperties(aggregate_of< ::Ifc2x3::IfcProperty >::ptr v) { set_attribute_value(6, (v)->generalize());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc2x3::IfcRelOverridesProperties::declaration() const { return *((IfcParse::entity*)IFC2X3_types[710]); } const IfcParse::entity& Ifc2x3::IfcRelOverridesProperties::Class() { return *((IfcParse::entity*)IFC2X3_types[710]); } Ifc2x3::IfcRelOverridesProperties::IfcRelOverridesProperties(IfcEntityInstanceData&& e) : IfcRelDefinesByProperties(std::move(e)) { } -Ifc2x3::IfcRelOverridesProperties::IfcRelOverridesProperties(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObject >::ptr v5_RelatedObjects, ::Ifc2x3::IfcPropertySetDefinition* v6_RelatingPropertyDefinition, aggregate_of< ::Ifc2x3::IfcProperty >::ptr v7_OverridingProperties) : IfcRelDefinesByProperties(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingPropertyDefinition ? v6_RelatingPropertyDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, (v7_OverridingProperties)->generalize());; populate_derived(); } +Ifc2x3::IfcRelOverridesProperties::IfcRelOverridesProperties(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObject >::ptr v5_RelatedObjects, ::Ifc2x3::IfcPropertySetDefinition* v6_RelatingPropertyDefinition, aggregate_of< ::Ifc2x3::IfcProperty >::ptr v7_OverridingProperties) : IfcRelDefinesByProperties(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingPropertyDefinition ? v6_RelatingPropertyDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, (v7_OverridingProperties)->generalize());; populate_derived(); } // Function implementations for IfcRelProjectsElement -::Ifc2x3::IfcElement* Ifc2x3::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc2x3::IfcElement>(true); } +::Ifc2x3::IfcElement* Ifc2x3::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc2x3::IfcElement>(true); } void Ifc2x3::IfcRelProjectsElement::setRelatingElement(::Ifc2x3::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcFeatureElementAddition* Ifc2x3::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcFeatureElementAddition>(true); } +::Ifc2x3::IfcFeatureElementAddition* Ifc2x3::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcFeatureElementAddition>(true); } void Ifc2x3::IfcRelProjectsElement::setRelatedFeatureElement(::Ifc2x3::IfcFeatureElementAddition* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc2x3::IfcRelProjectsElement::declaration() const { return *((IfcParse::entity*)IFC2X3_types[711]); } const IfcParse::entity& Ifc2x3::IfcRelProjectsElement::Class() { return *((IfcParse::entity*)IFC2X3_types[711]); } Ifc2x3::IfcRelProjectsElement::IfcRelProjectsElement(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc2x3::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcElement* v5_RelatingElement, ::Ifc2x3::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedFeatureElement ? v6_RelatedFeatureElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcElement* v5_RelatingElement, ::Ifc2x3::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedFeatureElement ? v6_RelatedFeatureElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelReferencedInSpatialStructure -aggregate_of< ::Ifc2x3::IfcProduct >::ptr Ifc2x3::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc2x3::IfcProduct >(); } +aggregate_of< ::Ifc2x3::IfcProduct >::ptr Ifc2x3::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc2x3::IfcProduct >(); } void Ifc2x3::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc2x3::IfcProduct >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcSpatialStructureElement* Ifc2x3::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcSpatialStructureElement>(true); } +::Ifc2x3::IfcSpatialStructureElement* Ifc2x3::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcSpatialStructureElement>(true); } void Ifc2x3::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc2x3::IfcSpatialStructureElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc2x3::IfcRelReferencedInSpatialStructure::declaration() const { return *((IfcParse::entity*)IFC2X3_types[712]); } const IfcParse::entity& Ifc2x3::IfcRelReferencedInSpatialStructure::Class() { return *((IfcParse::entity*)IFC2X3_types[712]); } Ifc2x3::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc2x3::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcProduct >::ptr v5_RelatedElements, ::Ifc2x3::IfcSpatialStructureElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcProduct >::ptr v5_RelatedElements, ::Ifc2x3::IfcSpatialStructureElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelSchedulesCostItems @@ -11106,65 +11106,65 @@ Ifc2x3::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(s const IfcParse::entity& Ifc2x3::IfcRelSchedulesCostItems::declaration() const { return *((IfcParse::entity*)IFC2X3_types[713]); } const IfcParse::entity& Ifc2x3::IfcRelSchedulesCostItems::Class() { return *((IfcParse::entity*)IFC2X3_types[713]); } Ifc2x3::IfcRelSchedulesCostItems::IfcRelSchedulesCostItems(IfcEntityInstanceData&& e) : IfcRelAssignsToControl(std::move(e)) { } -Ifc2x3::IfcRelSchedulesCostItems::IfcRelSchedulesCostItems(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcControl* v7_RelatingControl) : IfcRelAssignsToControl(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingControl ? v7_RelatingControl->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcRelSchedulesCostItems::IfcRelSchedulesCostItems(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc2x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc2x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc2x3::IfcControl* v7_RelatingControl) : IfcRelAssignsToControl(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingControl ? v7_RelatingControl->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelSequence -::Ifc2x3::IfcProcess* Ifc2x3::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc2x3::IfcProcess>(true); } +::Ifc2x3::IfcProcess* Ifc2x3::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc2x3::IfcProcess>(true); } void Ifc2x3::IfcRelSequence::setRelatingProcess(::Ifc2x3::IfcProcess* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcProcess* Ifc2x3::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcProcess>(true); } +::Ifc2x3::IfcProcess* Ifc2x3::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcProcess>(true); } void Ifc2x3::IfcRelSequence::setRelatedProcess(::Ifc2x3::IfcProcess* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -double Ifc2x3::IfcRelSequence::TimeLag() const { double v = data_.get_attribute_value(6); return v; } +double Ifc2x3::IfcRelSequence::TimeLag() const { double v = get_attribute_value(6); return v; } void Ifc2x3::IfcRelSequence::setTimeLag(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc2x3::IfcSequenceEnum::Value Ifc2x3::IfcRelSequence::SequenceType() const { return ::Ifc2x3::IfcSequenceEnum::FromString(data_.get_attribute_value(7)); } +::Ifc2x3::IfcSequenceEnum::Value Ifc2x3::IfcRelSequence::SequenceType() const { return ::Ifc2x3::IfcSequenceEnum::FromString(get_attribute_value(7)); } void Ifc2x3::IfcRelSequence::setSequenceType(::Ifc2x3::IfcSequenceEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc2x3::IfcSequenceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc2x3::IfcRelSequence::declaration() const { return *((IfcParse::entity*)IFC2X3_types[714]); } const IfcParse::entity& Ifc2x3::IfcRelSequence::Class() { return *((IfcParse::entity*)IFC2X3_types[714]); } Ifc2x3::IfcRelSequence::IfcRelSequence(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc2x3::IfcRelSequence::IfcRelSequence(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcProcess* v5_RelatingProcess, ::Ifc2x3::IfcProcess* v6_RelatedProcess, double v7_TimeLag, ::Ifc2x3::IfcSequenceEnum::Value v8_SequenceType) : IfcRelConnects(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingProcess ? v5_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedProcess ? v6_RelatedProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, (v7_TimeLag));set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcSequenceEnum::Class(),(size_t)v8_SequenceType)));; populate_derived(); } +Ifc2x3::IfcRelSequence::IfcRelSequence(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcProcess* v5_RelatingProcess, ::Ifc2x3::IfcProcess* v6_RelatedProcess, double v7_TimeLag, ::Ifc2x3::IfcSequenceEnum::Value v8_SequenceType) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingProcess ? v5_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedProcess ? v6_RelatedProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, (v7_TimeLag));set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcSequenceEnum::Class(),(size_t)v8_SequenceType)));; populate_derived(); } // Function implementations for IfcRelServicesBuildings -::Ifc2x3::IfcSystem* Ifc2x3::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc2x3::IfcSystem>(true); } +::Ifc2x3::IfcSystem* Ifc2x3::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc2x3::IfcSystem>(true); } void Ifc2x3::IfcRelServicesBuildings::setRelatingSystem(::Ifc2x3::IfcSystem* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc2x3::IfcSpatialStructureElement >::ptr Ifc2x3::IfcRelServicesBuildings::RelatedBuildings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc2x3::IfcSpatialStructureElement >(); } +aggregate_of< ::Ifc2x3::IfcSpatialStructureElement >::ptr Ifc2x3::IfcRelServicesBuildings::RelatedBuildings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc2x3::IfcSpatialStructureElement >(); } void Ifc2x3::IfcRelServicesBuildings::setRelatedBuildings(aggregate_of< ::Ifc2x3::IfcSpatialStructureElement >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc2x3::IfcRelServicesBuildings::declaration() const { return *((IfcParse::entity*)IFC2X3_types[715]); } const IfcParse::entity& Ifc2x3::IfcRelServicesBuildings::Class() { return *((IfcParse::entity*)IFC2X3_types[715]); } Ifc2x3::IfcRelServicesBuildings::IfcRelServicesBuildings(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc2x3::IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcSystem* v5_RelatingSystem, aggregate_of< ::Ifc2x3::IfcSpatialStructureElement >::ptr v6_RelatedBuildings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSystem ? v5_RelatingSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedBuildings)->generalize());; populate_derived(); } +Ifc2x3::IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcSystem* v5_RelatingSystem, aggregate_of< ::Ifc2x3::IfcSpatialStructureElement >::ptr v6_RelatedBuildings) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSystem ? v5_RelatingSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedBuildings)->generalize());; populate_derived(); } // Function implementations for IfcRelSpaceBoundary -::Ifc2x3::IfcSpace* Ifc2x3::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc2x3::IfcSpace>(true); } +::Ifc2x3::IfcSpace* Ifc2x3::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc2x3::IfcSpace>(true); } void Ifc2x3::IfcRelSpaceBoundary::setRelatingSpace(::Ifc2x3::IfcSpace* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcElement* Ifc2x3::IfcRelSpaceBoundary::RelatedBuildingElement() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcElement>(true); } +::Ifc2x3::IfcElement* Ifc2x3::IfcRelSpaceBoundary::RelatedBuildingElement() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcElement>(true); } void Ifc2x3::IfcRelSpaceBoundary::setRelatedBuildingElement(::Ifc2x3::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcConnectionGeometry* Ifc2x3::IfcRelSpaceBoundary::ConnectionGeometry() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc2x3::IfcConnectionGeometry>(true); } +::Ifc2x3::IfcConnectionGeometry* Ifc2x3::IfcRelSpaceBoundary::ConnectionGeometry() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc2x3::IfcConnectionGeometry>(true); } void Ifc2x3::IfcRelSpaceBoundary::setConnectionGeometry(::Ifc2x3::IfcConnectionGeometry* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc2x3::IfcPhysicalOrVirtualEnum::Value Ifc2x3::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc2x3::IfcPhysicalOrVirtualEnum::FromString(data_.get_attribute_value(7)); } +::Ifc2x3::IfcPhysicalOrVirtualEnum::Value Ifc2x3::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc2x3::IfcPhysicalOrVirtualEnum::FromString(get_attribute_value(7)); } void Ifc2x3::IfcRelSpaceBoundary::setPhysicalOrVirtualBoundary(::Ifc2x3::IfcPhysicalOrVirtualEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc2x3::IfcPhysicalOrVirtualEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc2x3::IfcInternalOrExternalEnum::Value Ifc2x3::IfcRelSpaceBoundary::InternalOrExternalBoundary() const { return ::Ifc2x3::IfcInternalOrExternalEnum::FromString(data_.get_attribute_value(8)); } +::Ifc2x3::IfcInternalOrExternalEnum::Value Ifc2x3::IfcRelSpaceBoundary::InternalOrExternalBoundary() const { return ::Ifc2x3::IfcInternalOrExternalEnum::FromString(get_attribute_value(8)); } void Ifc2x3::IfcRelSpaceBoundary::setInternalOrExternalBoundary(::Ifc2x3::IfcInternalOrExternalEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc2x3::IfcInternalOrExternalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc2x3::IfcRelSpaceBoundary::declaration() const { return *((IfcParse::entity*)IFC2X3_types[716]); } const IfcParse::entity& Ifc2x3::IfcRelSpaceBoundary::Class() { return *((IfcParse::entity*)IFC2X3_types[716]); } Ifc2x3::IfcRelSpaceBoundary::IfcRelSpaceBoundary(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc2x3::IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcSpace* v5_RelatingSpace, ::Ifc2x3::IfcElement* v6_RelatedBuildingElement, ::Ifc2x3::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc2x3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc2x3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) : IfcRelConnects(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; populate_derived(); } +Ifc2x3::IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcSpace* v5_RelatingSpace, ::Ifc2x3::IfcElement* v6_RelatedBuildingElement, ::Ifc2x3::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc2x3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc2x3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; populate_derived(); } // Function implementations for IfcRelVoidsElement -::Ifc2x3::IfcElement* Ifc2x3::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc2x3::IfcElement>(true); } +::Ifc2x3::IfcElement* Ifc2x3::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc2x3::IfcElement>(true); } void Ifc2x3::IfcRelVoidsElement::setRelatingBuildingElement(::Ifc2x3::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcFeatureElementSubtraction* Ifc2x3::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcFeatureElementSubtraction>(true); } +::Ifc2x3::IfcFeatureElementSubtraction* Ifc2x3::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcFeatureElementSubtraction>(true); } void Ifc2x3::IfcRelVoidsElement::setRelatedOpeningElement(::Ifc2x3::IfcFeatureElementSubtraction* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc2x3::IfcRelVoidsElement::declaration() const { return *((IfcParse::entity*)IFC2X3_types[717]); } const IfcParse::entity& Ifc2x3::IfcRelVoidsElement::Class() { return *((IfcParse::entity*)IFC2X3_types[717]); } Ifc2x3::IfcRelVoidsElement::IfcRelVoidsElement(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc2x3::IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcElement* v5_RelatingBuildingElement, ::Ifc2x3::IfcFeatureElementSubtraction* v6_RelatedOpeningElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedOpeningElement ? v6_RelatedOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcElement* v5_RelatingBuildingElement, ::Ifc2x3::IfcFeatureElementSubtraction* v6_RelatedOpeningElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedOpeningElement ? v6_RelatedOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelationship @@ -11172,28 +11172,28 @@ Ifc2x3::IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, ::Ifc2x3 const IfcParse::entity& Ifc2x3::IfcRelationship::declaration() const { return *((IfcParse::entity*)IFC2X3_types[686]); } const IfcParse::entity& Ifc2x3::IfcRelationship::Class() { return *((IfcParse::entity*)IFC2X3_types[686]); } Ifc2x3::IfcRelationship::IfcRelationship(IfcEntityInstanceData&& e) : IfcRoot(std::move(e)) { } -Ifc2x3::IfcRelationship::IfcRelationship(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc2x3::IfcRelationship::IfcRelationship(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRelaxation -double Ifc2x3::IfcRelaxation::RelaxationValue() const { double v = data_.get_attribute_value(0); return v; } +double Ifc2x3::IfcRelaxation::RelaxationValue() const { double v = get_attribute_value(0); return v; } void Ifc2x3::IfcRelaxation::setRelaxationValue(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc2x3::IfcRelaxation::InitialStress() const { double v = data_.get_attribute_value(1); return v; } +double Ifc2x3::IfcRelaxation::InitialStress() const { double v = get_attribute_value(1); return v; } void Ifc2x3::IfcRelaxation::setInitialStress(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcRelaxation::declaration() const { return *((IfcParse::entity*)IFC2X3_types[687]); } const IfcParse::entity& Ifc2x3::IfcRelaxation::Class() { return *((IfcParse::entity*)IFC2X3_types[687]); } Ifc2x3::IfcRelaxation::IfcRelaxation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcRelaxation::IfcRelaxation(double v1_RelaxationValue, double v2_InitialStress) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_RelaxationValue));set_attribute_value(1, (v2_InitialStress));; populate_derived(); } +Ifc2x3::IfcRelaxation::IfcRelaxation(double v1_RelaxationValue, double v2_InitialStress) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_RelaxationValue));set_attribute_value(1, (v2_InitialStress));; populate_derived(); } // Function implementations for IfcRepresentation -::Ifc2x3::IfcRepresentationContext* Ifc2x3::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcRepresentationContext>(true); } +::Ifc2x3::IfcRepresentationContext* Ifc2x3::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcRepresentationContext>(true); } void Ifc2x3::IfcRepresentation::setContextOfItems(::Ifc2x3::IfcRepresentationContext* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc2x3::IfcRepresentation::RepresentationIdentifier() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc2x3::IfcRepresentation::RepresentationIdentifier() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc2x3::IfcRepresentation::RepresentationType() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc2x3::IfcRepresentation::RepresentationType() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcRepresentation::setRepresentationType(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -aggregate_of< ::Ifc2x3::IfcRepresentationItem >::ptr Ifc2x3::IfcRepresentation::Items() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc2x3::IfcRepresentationItem >(); } +aggregate_of< ::Ifc2x3::IfcRepresentationItem >::ptr Ifc2x3::IfcRepresentation::Items() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc2x3::IfcRepresentationItem >(); } void Ifc2x3::IfcRepresentation::setItems(aggregate_of< ::Ifc2x3::IfcRepresentationItem >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } ::Ifc2x3::IfcRepresentationMap::list::ptr Ifc2x3::IfcRepresentation::RepresentationMap() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[721], 1)->as(); } @@ -11203,12 +11203,12 @@ void Ifc2x3::IfcRepresentation::setItems(aggregate_of< ::Ifc2x3::IfcRepresentati const IfcParse::entity& Ifc2x3::IfcRepresentation::declaration() const { return *((IfcParse::entity*)IFC2X3_types[718]); } const IfcParse::entity& Ifc2x3::IfcRepresentation::Class() { return *((IfcParse::entity*)IFC2X3_types[718]); } Ifc2x3::IfcRepresentation::IfcRepresentation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcRepresentation::IfcRepresentation(::Ifc2x3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc2x3::IfcRepresentationItem >::ptr v4_Items) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc2x3::IfcRepresentation::IfcRepresentation(::Ifc2x3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc2x3::IfcRepresentationItem >::ptr v4_Items) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcRepresentationContext -boost::optional< std::string > Ifc2x3::IfcRepresentationContext::ContextIdentifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc2x3::IfcRepresentationContext::ContextIdentifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcRepresentationContext::setContextIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc2x3::IfcRepresentationContext::ContextType() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc2x3::IfcRepresentationContext::ContextType() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcRepresentationContext::setContextType(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc2x3::IfcRepresentation::list::ptr Ifc2x3::IfcRepresentationContext::RepresentationsInContext() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[718], 0)->as(); } @@ -11216,7 +11216,7 @@ void Ifc2x3::IfcRepresentationContext::setContextType(boost::optional< std::stri const IfcParse::entity& Ifc2x3::IfcRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC2X3_types[719]); } const IfcParse::entity& Ifc2x3::IfcRepresentationContext::Class() { return *((IfcParse::entity*)IFC2X3_types[719]); } Ifc2x3::IfcRepresentationContext::IfcRepresentationContext(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcRepresentationContext::IfcRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; populate_derived(); } +Ifc2x3::IfcRepresentationContext::IfcRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; populate_derived(); } // Function implementations for IfcRepresentationItem @@ -11226,12 +11226,12 @@ Ifc2x3::IfcRepresentationContext::IfcRepresentationContext(boost::optional< std: const IfcParse::entity& Ifc2x3::IfcRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC2X3_types[720]); } const IfcParse::entity& Ifc2x3::IfcRepresentationItem::Class() { return *((IfcParse::entity*)IFC2X3_types[720]); } Ifc2x3::IfcRepresentationItem::IfcRepresentationItem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc2x3::IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcRepresentationMap -::Ifc2x3::IfcAxis2Placement* Ifc2x3::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcAxis2Placement>(true); } +::Ifc2x3::IfcAxis2Placement* Ifc2x3::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcAxis2Placement>(true); } void Ifc2x3::IfcRepresentationMap::setMappingOrigin(::Ifc2x3::IfcAxis2Placement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcRepresentation* Ifc2x3::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcRepresentation>(true); } +::Ifc2x3::IfcRepresentation* Ifc2x3::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcRepresentation>(true); } void Ifc2x3::IfcRepresentationMap::setMappedRepresentation(::Ifc2x3::IfcRepresentation* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } ::Ifc2x3::IfcMappedItem::list::ptr Ifc2x3::IfcRepresentationMap::MapUsage() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[471], 0)->as(); } @@ -11239,7 +11239,7 @@ void Ifc2x3::IfcRepresentationMap::setMappedRepresentation(::Ifc2x3::IfcRepresen const IfcParse::entity& Ifc2x3::IfcRepresentationMap::declaration() const { return *((IfcParse::entity*)IFC2X3_types[721]); } const IfcParse::entity& Ifc2x3::IfcRepresentationMap::Class() { return *((IfcParse::entity*)IFC2X3_types[721]); } Ifc2x3::IfcRepresentationMap::IfcRepresentationMap(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcRepresentationMap::IfcRepresentationMap(::Ifc2x3::IfcAxis2Placement* v1_MappingOrigin, ::Ifc2x3::IfcRepresentation* v2_MappedRepresentation) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_MappingOrigin ? v1_MappingOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappedRepresentation ? v2_MappedRepresentation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcRepresentationMap::IfcRepresentationMap(::Ifc2x3::IfcAxis2Placement* v1_MappingOrigin, ::Ifc2x3::IfcRepresentation* v2_MappedRepresentation) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_MappingOrigin ? v1_MappingOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappedRepresentation ? v2_MappedRepresentation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcResource @@ -11248,166 +11248,166 @@ Ifc2x3::IfcRepresentationMap::IfcRepresentationMap(::Ifc2x3::IfcAxis2Placement* const IfcParse::entity& Ifc2x3::IfcResource::declaration() const { return *((IfcParse::entity*)IFC2X3_types[722]); } const IfcParse::entity& Ifc2x3::IfcResource::Class() { return *((IfcParse::entity*)IFC2X3_types[722]); } Ifc2x3::IfcResource::IfcResource(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc2x3::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc2x3::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcRevolvedAreaSolid -::Ifc2x3::IfcAxis1Placement* Ifc2x3::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcAxis1Placement>(true); } +::Ifc2x3::IfcAxis1Placement* Ifc2x3::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcAxis1Placement>(true); } void Ifc2x3::IfcRevolvedAreaSolid::setAxis(::Ifc2x3::IfcAxis1Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc2x3::IfcRevolvedAreaSolid::Angle() const { double v = data_.get_attribute_value(3); return v; } +double Ifc2x3::IfcRevolvedAreaSolid::Angle() const { double v = get_attribute_value(3); return v; } void Ifc2x3::IfcRevolvedAreaSolid::setAngle(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcRevolvedAreaSolid::declaration() const { return *((IfcParse::entity*)IFC2X3_types[724]); } const IfcParse::entity& Ifc2x3::IfcRevolvedAreaSolid::Class() { return *((IfcParse::entity*)IFC2X3_types[724]); } Ifc2x3::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc2x3::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(::Ifc2x3::IfcProfileDef* v1_SweptArea, ::Ifc2x3::IfcAxis2Placement3D* v2_Position, ::Ifc2x3::IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));; populate_derived(); } +Ifc2x3::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(::Ifc2x3::IfcProfileDef* v1_SweptArea, ::Ifc2x3::IfcAxis2Placement3D* v2_Position, ::Ifc2x3::IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));; populate_derived(); } // Function implementations for IfcRibPlateProfileProperties -boost::optional< double > Ifc2x3::IfcRibPlateProfileProperties::Thickness() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc2x3::IfcRibPlateProfileProperties::Thickness() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc2x3::IfcRibPlateProfileProperties::setThickness(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc2x3::IfcRibPlateProfileProperties::RibHeight() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc2x3::IfcRibPlateProfileProperties::RibHeight() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc2x3::IfcRibPlateProfileProperties::setRibHeight(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc2x3::IfcRibPlateProfileProperties::RibWidth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc2x3::IfcRibPlateProfileProperties::RibWidth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc2x3::IfcRibPlateProfileProperties::setRibWidth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc2x3::IfcRibPlateProfileProperties::RibSpacing() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc2x3::IfcRibPlateProfileProperties::RibSpacing() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc2x3::IfcRibPlateProfileProperties::setRibSpacing(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc2x3::IfcRibPlateDirectionEnum::Value Ifc2x3::IfcRibPlateProfileProperties::Direction() const { return ::Ifc2x3::IfcRibPlateDirectionEnum::FromString(data_.get_attribute_value(6)); } +::Ifc2x3::IfcRibPlateDirectionEnum::Value Ifc2x3::IfcRibPlateProfileProperties::Direction() const { return ::Ifc2x3::IfcRibPlateDirectionEnum::FromString(get_attribute_value(6)); } void Ifc2x3::IfcRibPlateProfileProperties::setDirection(::Ifc2x3::IfcRibPlateDirectionEnum::Value v) { set_attribute_value(6, EnumerationReference(&::Ifc2x3::IfcRibPlateDirectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc2x3::IfcRibPlateProfileProperties::declaration() const { return *((IfcParse::entity*)IFC2X3_types[726]); } const IfcParse::entity& Ifc2x3::IfcRibPlateProfileProperties::Class() { return *((IfcParse::entity*)IFC2X3_types[726]); } Ifc2x3::IfcRibPlateProfileProperties::IfcRibPlateProfileProperties(IfcEntityInstanceData&& e) : IfcProfileProperties(std::move(e)) { } -Ifc2x3::IfcRibPlateProfileProperties::IfcRibPlateProfileProperties(boost::optional< std::string > v1_ProfileName, ::Ifc2x3::IfcProfileDef* v2_ProfileDefinition, boost::optional< double > v3_Thickness, boost::optional< double > v4_RibHeight, boost::optional< double > v5_RibWidth, boost::optional< double > v6_RibSpacing, ::Ifc2x3::IfcRibPlateDirectionEnum::Value v7_Direction) : IfcProfileProperties(IfcEntityInstanceData(storage_t(7))) { if (v1_ProfileName) {set_attribute_value(0, (*v1_ProfileName)); }set_attribute_value(1, v2_ProfileDefinition ? v2_ProfileDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Thickness) {set_attribute_value(2, (*v3_Thickness)); } if (v4_RibHeight) {set_attribute_value(3, (*v4_RibHeight)); } if (v5_RibWidth) {set_attribute_value(4, (*v5_RibWidth)); } if (v6_RibSpacing) {set_attribute_value(5, (*v6_RibSpacing)); }set_attribute_value(6, (EnumerationReference(&::Ifc2x3::IfcRibPlateDirectionEnum::Class(),(size_t)v7_Direction)));; populate_derived(); } +Ifc2x3::IfcRibPlateProfileProperties::IfcRibPlateProfileProperties(boost::optional< std::string > v1_ProfileName, ::Ifc2x3::IfcProfileDef* v2_ProfileDefinition, boost::optional< double > v3_Thickness, boost::optional< double > v4_RibHeight, boost::optional< double > v5_RibWidth, boost::optional< double > v6_RibSpacing, ::Ifc2x3::IfcRibPlateDirectionEnum::Value v7_Direction) : IfcProfileProperties(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_ProfileName) {set_attribute_value(0, (*v1_ProfileName)); }set_attribute_value(1, v2_ProfileDefinition ? v2_ProfileDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Thickness) {set_attribute_value(2, (*v3_Thickness)); } if (v4_RibHeight) {set_attribute_value(3, (*v4_RibHeight)); } if (v5_RibWidth) {set_attribute_value(4, (*v5_RibWidth)); } if (v6_RibSpacing) {set_attribute_value(5, (*v6_RibSpacing)); }set_attribute_value(6, (EnumerationReference(&::Ifc2x3::IfcRibPlateDirectionEnum::Class(),(size_t)v7_Direction)));; populate_derived(); } // Function implementations for IfcRightCircularCone -double Ifc2x3::IfcRightCircularCone::Height() const { double v = data_.get_attribute_value(1); return v; } +double Ifc2x3::IfcRightCircularCone::Height() const { double v = get_attribute_value(1); return v; } void Ifc2x3::IfcRightCircularCone::setHeight(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc2x3::IfcRightCircularCone::BottomRadius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc2x3::IfcRightCircularCone::BottomRadius() const { double v = get_attribute_value(2); return v; } void Ifc2x3::IfcRightCircularCone::setBottomRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc2x3::IfcRightCircularCone::declaration() const { return *((IfcParse::entity*)IFC2X3_types[727]); } const IfcParse::entity& Ifc2x3::IfcRightCircularCone::Class() { return *((IfcParse::entity*)IFC2X3_types[727]); } Ifc2x3::IfcRightCircularCone::IfcRightCircularCone(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc2x3::IfcRightCircularCone::IfcRightCircularCone(::Ifc2x3::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_BottomRadius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; populate_derived(); } +Ifc2x3::IfcRightCircularCone::IfcRightCircularCone(::Ifc2x3::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_BottomRadius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; populate_derived(); } // Function implementations for IfcRightCircularCylinder -double Ifc2x3::IfcRightCircularCylinder::Height() const { double v = data_.get_attribute_value(1); return v; } +double Ifc2x3::IfcRightCircularCylinder::Height() const { double v = get_attribute_value(1); return v; } void Ifc2x3::IfcRightCircularCylinder::setHeight(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc2x3::IfcRightCircularCylinder::Radius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc2x3::IfcRightCircularCylinder::Radius() const { double v = get_attribute_value(2); return v; } void Ifc2x3::IfcRightCircularCylinder::setRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc2x3::IfcRightCircularCylinder::declaration() const { return *((IfcParse::entity*)IFC2X3_types[728]); } const IfcParse::entity& Ifc2x3::IfcRightCircularCylinder::Class() { return *((IfcParse::entity*)IFC2X3_types[728]); } Ifc2x3::IfcRightCircularCylinder::IfcRightCircularCylinder(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc2x3::IfcRightCircularCylinder::IfcRightCircularCylinder(::Ifc2x3::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; populate_derived(); } +Ifc2x3::IfcRightCircularCylinder::IfcRightCircularCylinder(::Ifc2x3::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; populate_derived(); } // Function implementations for IfcRoof -::Ifc2x3::IfcRoofTypeEnum::Value Ifc2x3::IfcRoof::ShapeType() const { return ::Ifc2x3::IfcRoofTypeEnum::FromString(data_.get_attribute_value(8)); } +::Ifc2x3::IfcRoofTypeEnum::Value Ifc2x3::IfcRoof::ShapeType() const { return ::Ifc2x3::IfcRoofTypeEnum::FromString(get_attribute_value(8)); } void Ifc2x3::IfcRoof::setShapeType(::Ifc2x3::IfcRoofTypeEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc2x3::IfcRoofTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc2x3::IfcRoof::declaration() const { return *((IfcParse::entity*)IFC2X3_types[730]); } const IfcParse::entity& Ifc2x3::IfcRoof::Class() { return *((IfcParse::entity*)IFC2X3_types[730]); } Ifc2x3::IfcRoof::IfcRoof(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc2x3::IfcRoof::IfcRoof(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, ::Ifc2x3::IfcRoofTypeEnum::Value v9_ShapeType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcRoofTypeEnum::Class(),(size_t)v9_ShapeType)));; populate_derived(); } +Ifc2x3::IfcRoof::IfcRoof(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, ::Ifc2x3::IfcRoofTypeEnum::Value v9_ShapeType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcRoofTypeEnum::Class(),(size_t)v9_ShapeType)));; populate_derived(); } // Function implementations for IfcRoot -std::string Ifc2x3::IfcRoot::GlobalId() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc2x3::IfcRoot::GlobalId() const { std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcRoot::setGlobalId(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcOwnerHistory* Ifc2x3::IfcRoot::OwnerHistory() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcOwnerHistory>(true); } +::Ifc2x3::IfcOwnerHistory* Ifc2x3::IfcRoot::OwnerHistory() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcOwnerHistory>(true); } void Ifc2x3::IfcRoot::setOwnerHistory(::Ifc2x3::IfcOwnerHistory* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc2x3::IfcRoot::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc2x3::IfcRoot::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcRoot::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc2x3::IfcRoot::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc2x3::IfcRoot::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc2x3::IfcRoot::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc2x3::IfcRoot::declaration() const { return *((IfcParse::entity*)IFC2X3_types[732]); } const IfcParse::entity& Ifc2x3::IfcRoot::Class() { return *((IfcParse::entity*)IFC2X3_types[732]); } Ifc2x3::IfcRoot::IfcRoot(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcRoot::IfcRoot(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc2x3::IfcRoot::IfcRoot(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRoundedEdgeFeature -boost::optional< double > Ifc2x3::IfcRoundedEdgeFeature::Radius() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc2x3::IfcRoundedEdgeFeature::Radius() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc2x3::IfcRoundedEdgeFeature::setRadius(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc2x3::IfcRoundedEdgeFeature::declaration() const { return *((IfcParse::entity*)IFC2X3_types[736]); } const IfcParse::entity& Ifc2x3::IfcRoundedEdgeFeature::Class() { return *((IfcParse::entity*)IFC2X3_types[736]); } Ifc2x3::IfcRoundedEdgeFeature::IfcRoundedEdgeFeature(IfcEntityInstanceData&& e) : IfcEdgeFeature(std::move(e)) { } -Ifc2x3::IfcRoundedEdgeFeature::IfcRoundedEdgeFeature(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_FeatureLength, boost::optional< double > v10_Radius) : IfcEdgeFeature(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_FeatureLength) {set_attribute_value(8, (*v9_FeatureLength)); } if (v10_Radius) {set_attribute_value(9, (*v10_Radius)); }; populate_derived(); } +Ifc2x3::IfcRoundedEdgeFeature::IfcRoundedEdgeFeature(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_FeatureLength, boost::optional< double > v10_Radius) : IfcEdgeFeature(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_FeatureLength) {set_attribute_value(8, (*v9_FeatureLength)); } if (v10_Radius) {set_attribute_value(9, (*v10_Radius)); }; populate_derived(); } // Function implementations for IfcRoundedRectangleProfileDef -double Ifc2x3::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = data_.get_attribute_value(5); return v; } +double Ifc2x3::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = get_attribute_value(5); return v; } void Ifc2x3::IfcRoundedRectangleProfileDef::setRoundingRadius(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc2x3::IfcRoundedRectangleProfileDef::declaration() const { return *((IfcParse::entity*)IFC2X3_types[737]); } const IfcParse::entity& Ifc2x3::IfcRoundedRectangleProfileDef::Class() { return *((IfcParse::entity*)IFC2X3_types[737]); } Ifc2x3::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(IfcEntityInstanceData&& e) : IfcRectangleProfileDef(std::move(e)) { } -Ifc2x3::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; populate_derived(); } +Ifc2x3::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; populate_derived(); } // Function implementations for IfcSIUnit -boost::optional< ::Ifc2x3::IfcSIPrefix::Value > Ifc2x3::IfcSIUnit::Prefix() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc2x3::IfcSIPrefix::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc2x3::IfcSIPrefix::Value > Ifc2x3::IfcSIUnit::Prefix() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc2x3::IfcSIPrefix::FromString(get_attribute_value(2)); } void Ifc2x3::IfcSIUnit::setPrefix(boost::optional< ::Ifc2x3::IfcSIPrefix::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc2x3::IfcSIPrefix::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -::Ifc2x3::IfcSIUnitName::Value Ifc2x3::IfcSIUnit::Name() const { return ::Ifc2x3::IfcSIUnitName::FromString(data_.get_attribute_value(3)); } +::Ifc2x3::IfcSIUnitName::Value Ifc2x3::IfcSIUnit::Name() const { return ::Ifc2x3::IfcSIUnitName::FromString(get_attribute_value(3)); } void Ifc2x3::IfcSIUnit::setName(::Ifc2x3::IfcSIUnitName::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc2x3::IfcSIUnitName::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcSIUnit::declaration() const { return *((IfcParse::entity*)IFC2X3_types[765]); } const IfcParse::entity& Ifc2x3::IfcSIUnit::Class() { return *((IfcParse::entity*)IFC2X3_types[765]); } Ifc2x3::IfcSIUnit::IfcSIUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -Ifc2x3::IfcSIUnit::IfcSIUnit(::Ifc2x3::IfcUnitEnum::Value v2_UnitType, boost::optional< ::Ifc2x3::IfcSIPrefix::Value > v3_Prefix, ::Ifc2x3::IfcSIUnitName::Value v4_Name) : IfcNamedUnit(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(1, (EnumerationReference(&::Ifc2x3::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (EnumerationReference(&::Ifc2x3::IfcSIUnitName::Class(),(size_t)v4_Name)));; populate_derived(); } +Ifc2x3::IfcSIUnit::IfcSIUnit(::Ifc2x3::IfcUnitEnum::Value v2_UnitType, boost::optional< ::Ifc2x3::IfcSIPrefix::Value > v3_Prefix, ::Ifc2x3::IfcSIUnitName::Value v4_Name) : IfcNamedUnit(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(1, (EnumerationReference(&::Ifc2x3::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (EnumerationReference(&::Ifc2x3::IfcSIUnitName::Class(),(size_t)v4_Name)));; populate_derived(); } // Function implementations for IfcSanitaryTerminalType -::Ifc2x3::IfcSanitaryTerminalTypeEnum::Value Ifc2x3::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc2x3::IfcSanitaryTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcSanitaryTerminalTypeEnum::Value Ifc2x3::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc2x3::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcSanitaryTerminalType::setPredefinedType(::Ifc2x3::IfcSanitaryTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcSanitaryTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcSanitaryTerminalType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[738]); } const IfcParse::entity& Ifc2x3::IfcSanitaryTerminalType::Class() { return *((IfcParse::entity*)IFC2X3_types[738]); } Ifc2x3::IfcSanitaryTerminalType::IfcSanitaryTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc2x3::IfcSanitaryTerminalType::IfcSanitaryTerminalType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcSanitaryTerminalType::IfcSanitaryTerminalType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcScheduleTimeControl -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::ActualStart() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::ActualStart() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcScheduleTimeControl::setActualStart(::Ifc2x3::IfcDateTimeSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::EarlyStart() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::EarlyStart() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcScheduleTimeControl::setEarlyStart(::Ifc2x3::IfcDateTimeSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::LateStart() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::LateStart() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcScheduleTimeControl::setLateStart(::Ifc2x3::IfcDateTimeSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::ScheduleStart() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::ScheduleStart() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcScheduleTimeControl::setScheduleStart(::Ifc2x3::IfcDateTimeSelect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::ActualFinish() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::ActualFinish() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcScheduleTimeControl::setActualFinish(::Ifc2x3::IfcDateTimeSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::EarlyFinish() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::EarlyFinish() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcScheduleTimeControl::setEarlyFinish(::Ifc2x3::IfcDateTimeSelect* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::LateFinish() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::LateFinish() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcScheduleTimeControl::setLateFinish(::Ifc2x3::IfcDateTimeSelect* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::ScheduleFinish() const { if(data_.get_attribute_value(12).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(12)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::ScheduleFinish() const { if(get_attribute_value(12).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(12)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcScheduleTimeControl::setScheduleFinish(::Ifc2x3::IfcDateTimeSelect* v) { set_attribute_value(12, v->as());if constexpr (false)unset_attribute_value(12); } -boost::optional< double > Ifc2x3::IfcScheduleTimeControl::ScheduleDuration() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc2x3::IfcScheduleTimeControl::ScheduleDuration() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc2x3::IfcScheduleTimeControl::setScheduleDuration(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc2x3::IfcScheduleTimeControl::ActualDuration() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc2x3::IfcScheduleTimeControl::ActualDuration() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc2x3::IfcScheduleTimeControl::setActualDuration(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc2x3::IfcScheduleTimeControl::RemainingTime() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc2x3::IfcScheduleTimeControl::RemainingTime() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc2x3::IfcScheduleTimeControl::setRemainingTime(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc2x3::IfcScheduleTimeControl::FreeFloat() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc2x3::IfcScheduleTimeControl::FreeFloat() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc2x3::IfcScheduleTimeControl::setFreeFloat(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< double > Ifc2x3::IfcScheduleTimeControl::TotalFloat() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } double v = data_.get_attribute_value(17); return v; } +boost::optional< double > Ifc2x3::IfcScheduleTimeControl::TotalFloat() const { if(get_attribute_value(17).isNull()) { return boost::none; } double v = get_attribute_value(17); return v; } void Ifc2x3::IfcScheduleTimeControl::setTotalFloat(boost::optional< double > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } -boost::optional< bool > Ifc2x3::IfcScheduleTimeControl::IsCritical() const { if(data_.get_attribute_value(18).isNull()) { return boost::none; } bool v = data_.get_attribute_value(18); return v; } +boost::optional< bool > Ifc2x3::IfcScheduleTimeControl::IsCritical() const { if(get_attribute_value(18).isNull()) { return boost::none; } bool v = get_attribute_value(18); return v; } void Ifc2x3::IfcScheduleTimeControl::setIsCritical(boost::optional< bool > v) { if (v) {set_attribute_value(18, *v);} else {unset_attribute_value(18);} } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::StatusTime() const { if(data_.get_attribute_value(19).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(19)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcScheduleTimeControl::StatusTime() const { if(get_attribute_value(19).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(19)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcScheduleTimeControl::setStatusTime(::Ifc2x3::IfcDateTimeSelect* v) { set_attribute_value(19, v->as());if constexpr (false)unset_attribute_value(19); } -boost::optional< double > Ifc2x3::IfcScheduleTimeControl::StartFloat() const { if(data_.get_attribute_value(20).isNull()) { return boost::none; } double v = data_.get_attribute_value(20); return v; } +boost::optional< double > Ifc2x3::IfcScheduleTimeControl::StartFloat() const { if(get_attribute_value(20).isNull()) { return boost::none; } double v = get_attribute_value(20); return v; } void Ifc2x3::IfcScheduleTimeControl::setStartFloat(boost::optional< double > v) { if (v) {set_attribute_value(20, *v);} else {unset_attribute_value(20);} } -boost::optional< double > Ifc2x3::IfcScheduleTimeControl::FinishFloat() const { if(data_.get_attribute_value(21).isNull()) { return boost::none; } double v = data_.get_attribute_value(21); return v; } +boost::optional< double > Ifc2x3::IfcScheduleTimeControl::FinishFloat() const { if(get_attribute_value(21).isNull()) { return boost::none; } double v = get_attribute_value(21); return v; } void Ifc2x3::IfcScheduleTimeControl::setFinishFloat(boost::optional< double > v) { if (v) {set_attribute_value(21, *v);} else {unset_attribute_value(21);} } -boost::optional< double > Ifc2x3::IfcScheduleTimeControl::Completion() const { if(data_.get_attribute_value(22).isNull()) { return boost::none; } double v = data_.get_attribute_value(22); return v; } +boost::optional< double > Ifc2x3::IfcScheduleTimeControl::Completion() const { if(get_attribute_value(22).isNull()) { return boost::none; } double v = get_attribute_value(22); return v; } void Ifc2x3::IfcScheduleTimeControl::setCompletion(boost::optional< double > v) { if (v) {set_attribute_value(22, *v);} else {unset_attribute_value(22);} } ::Ifc2x3::IfcRelAssignsTasks::list::ptr Ifc2x3::IfcScheduleTimeControl::ScheduleTimeControlAssigned() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[669], 7)->as(); } @@ -11415,111 +11415,111 @@ void Ifc2x3::IfcScheduleTimeControl::setCompletion(boost::optional< double > v) const IfcParse::entity& Ifc2x3::IfcScheduleTimeControl::declaration() const { return *((IfcParse::entity*)IFC2X3_types[740]); } const IfcParse::entity& Ifc2x3::IfcScheduleTimeControl::Class() { return *((IfcParse::entity*)IFC2X3_types[740]); } Ifc2x3::IfcScheduleTimeControl::IfcScheduleTimeControl(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc2x3::IfcScheduleTimeControl::IfcScheduleTimeControl(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcDateTimeSelect* v6_ActualStart, ::Ifc2x3::IfcDateTimeSelect* v7_EarlyStart, ::Ifc2x3::IfcDateTimeSelect* v8_LateStart, ::Ifc2x3::IfcDateTimeSelect* v9_ScheduleStart, ::Ifc2x3::IfcDateTimeSelect* v10_ActualFinish, ::Ifc2x3::IfcDateTimeSelect* v11_EarlyFinish, ::Ifc2x3::IfcDateTimeSelect* v12_LateFinish, ::Ifc2x3::IfcDateTimeSelect* v13_ScheduleFinish, boost::optional< double > v14_ScheduleDuration, boost::optional< double > v15_ActualDuration, boost::optional< double > v16_RemainingTime, boost::optional< double > v17_FreeFloat, boost::optional< double > v18_TotalFloat, boost::optional< bool > v19_IsCritical, ::Ifc2x3::IfcDateTimeSelect* v20_StatusTime, boost::optional< double > v21_StartFloat, boost::optional< double > v22_FinishFloat, boost::optional< double > v23_Completion) : IfcControl(IfcEntityInstanceData(storage_t(23))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ActualStart ? v6_ActualStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_EarlyStart ? v7_EarlyStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_LateStart ? v8_LateStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_ScheduleStart ? v9_ScheduleStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_ActualFinish ? v10_ActualFinish->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_EarlyFinish ? v11_EarlyFinish->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, v12_LateFinish ? v12_LateFinish->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(12, v13_ScheduleFinish ? v13_ScheduleFinish->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v14_ScheduleDuration) {set_attribute_value(13, (*v14_ScheduleDuration)); } if (v15_ActualDuration) {set_attribute_value(14, (*v15_ActualDuration)); } if (v16_RemainingTime) {set_attribute_value(15, (*v16_RemainingTime)); } if (v17_FreeFloat) {set_attribute_value(16, (*v17_FreeFloat)); } if (v18_TotalFloat) {set_attribute_value(17, (*v18_TotalFloat)); } if (v19_IsCritical) {set_attribute_value(18, (*v19_IsCritical)); }set_attribute_value(19, v20_StatusTime ? v20_StatusTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v21_StartFloat) {set_attribute_value(20, (*v21_StartFloat)); } if (v22_FinishFloat) {set_attribute_value(21, (*v22_FinishFloat)); } if (v23_Completion) {set_attribute_value(22, (*v23_Completion)); }; populate_derived(); } +Ifc2x3::IfcScheduleTimeControl::IfcScheduleTimeControl(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcDateTimeSelect* v6_ActualStart, ::Ifc2x3::IfcDateTimeSelect* v7_EarlyStart, ::Ifc2x3::IfcDateTimeSelect* v8_LateStart, ::Ifc2x3::IfcDateTimeSelect* v9_ScheduleStart, ::Ifc2x3::IfcDateTimeSelect* v10_ActualFinish, ::Ifc2x3::IfcDateTimeSelect* v11_EarlyFinish, ::Ifc2x3::IfcDateTimeSelect* v12_LateFinish, ::Ifc2x3::IfcDateTimeSelect* v13_ScheduleFinish, boost::optional< double > v14_ScheduleDuration, boost::optional< double > v15_ActualDuration, boost::optional< double > v16_RemainingTime, boost::optional< double > v17_FreeFloat, boost::optional< double > v18_TotalFloat, boost::optional< bool > v19_IsCritical, ::Ifc2x3::IfcDateTimeSelect* v20_StatusTime, boost::optional< double > v21_StartFloat, boost::optional< double > v22_FinishFloat, boost::optional< double > v23_Completion) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(23))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ActualStart ? v6_ActualStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_EarlyStart ? v7_EarlyStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_LateStart ? v8_LateStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_ScheduleStart ? v9_ScheduleStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_ActualFinish ? v10_ActualFinish->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_EarlyFinish ? v11_EarlyFinish->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, v12_LateFinish ? v12_LateFinish->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(12, v13_ScheduleFinish ? v13_ScheduleFinish->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v14_ScheduleDuration) {set_attribute_value(13, (*v14_ScheduleDuration)); } if (v15_ActualDuration) {set_attribute_value(14, (*v15_ActualDuration)); } if (v16_RemainingTime) {set_attribute_value(15, (*v16_RemainingTime)); } if (v17_FreeFloat) {set_attribute_value(16, (*v17_FreeFloat)); } if (v18_TotalFloat) {set_attribute_value(17, (*v18_TotalFloat)); } if (v19_IsCritical) {set_attribute_value(18, (*v19_IsCritical)); }set_attribute_value(19, v20_StatusTime ? v20_StatusTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v21_StartFloat) {set_attribute_value(20, (*v21_StartFloat)); } if (v22_FinishFloat) {set_attribute_value(21, (*v22_FinishFloat)); } if (v23_Completion) {set_attribute_value(22, (*v23_Completion)); }; populate_derived(); } // Function implementations for IfcSectionProperties -::Ifc2x3::IfcSectionTypeEnum::Value Ifc2x3::IfcSectionProperties::SectionType() const { return ::Ifc2x3::IfcSectionTypeEnum::FromString(data_.get_attribute_value(0)); } +::Ifc2x3::IfcSectionTypeEnum::Value Ifc2x3::IfcSectionProperties::SectionType() const { return ::Ifc2x3::IfcSectionTypeEnum::FromString(get_attribute_value(0)); } void Ifc2x3::IfcSectionProperties::setSectionType(::Ifc2x3::IfcSectionTypeEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc2x3::IfcSectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcProfileDef* Ifc2x3::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcProfileDef>(true); } +::Ifc2x3::IfcProfileDef* Ifc2x3::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcProfileDef>(true); } void Ifc2x3::IfcSectionProperties::setStartProfile(::Ifc2x3::IfcProfileDef* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc2x3::IfcProfileDef* Ifc2x3::IfcSectionProperties::EndProfile() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcProfileDef>(true); } +::Ifc2x3::IfcProfileDef* Ifc2x3::IfcSectionProperties::EndProfile() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcProfileDef>(true); } void Ifc2x3::IfcSectionProperties::setEndProfile(::Ifc2x3::IfcProfileDef* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc2x3::IfcSectionProperties::declaration() const { return *((IfcParse::entity*)IFC2X3_types[745]); } const IfcParse::entity& Ifc2x3::IfcSectionProperties::Class() { return *((IfcParse::entity*)IFC2X3_types[745]); } Ifc2x3::IfcSectionProperties::IfcSectionProperties(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcSectionProperties::IfcSectionProperties(::Ifc2x3::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc2x3::IfcProfileDef* v2_StartProfile, ::Ifc2x3::IfcProfileDef* v3_EndProfile) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, v2_StartProfile ? v2_StartProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EndProfile ? v3_EndProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcSectionProperties::IfcSectionProperties(::Ifc2x3::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc2x3::IfcProfileDef* v2_StartProfile, ::Ifc2x3::IfcProfileDef* v3_EndProfile) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, v2_StartProfile ? v2_StartProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EndProfile ? v3_EndProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSectionReinforcementProperties -double Ifc2x3::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = data_.get_attribute_value(0); return v; } +double Ifc2x3::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = get_attribute_value(0); return v; } void Ifc2x3::IfcSectionReinforcementProperties::setLongitudinalStartPosition(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc2x3::IfcSectionReinforcementProperties::LongitudinalEndPosition() const { double v = data_.get_attribute_value(1); return v; } +double Ifc2x3::IfcSectionReinforcementProperties::LongitudinalEndPosition() const { double v = get_attribute_value(1); return v; } void Ifc2x3::IfcSectionReinforcementProperties::setLongitudinalEndPosition(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc2x3::IfcSectionReinforcementProperties::TransversePosition() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc2x3::IfcSectionReinforcementProperties::TransversePosition() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc2x3::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc2x3::IfcReinforcingBarRoleEnum::Value Ifc2x3::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc2x3::IfcReinforcingBarRoleEnum::FromString(data_.get_attribute_value(3)); } +::Ifc2x3::IfcReinforcingBarRoleEnum::Value Ifc2x3::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc2x3::IfcReinforcingBarRoleEnum::FromString(get_attribute_value(3)); } void Ifc2x3::IfcSectionReinforcementProperties::setReinforcementRole(::Ifc2x3::IfcReinforcingBarRoleEnum::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc2x3::IfcReinforcingBarRoleEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } -::Ifc2x3::IfcSectionProperties* Ifc2x3::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc2x3::IfcSectionProperties>(true); } +::Ifc2x3::IfcSectionProperties* Ifc2x3::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc2x3::IfcSectionProperties>(true); } void Ifc2x3::IfcSectionReinforcementProperties::setSectionDefinition(::Ifc2x3::IfcSectionProperties* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc2x3::IfcReinforcementBarProperties >::ptr Ifc2x3::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc2x3::IfcReinforcementBarProperties >(); } +aggregate_of< ::Ifc2x3::IfcReinforcementBarProperties >::ptr Ifc2x3::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc2x3::IfcReinforcementBarProperties >(); } void Ifc2x3::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(aggregate_of< ::Ifc2x3::IfcReinforcementBarProperties >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc2x3::IfcSectionReinforcementProperties::declaration() const { return *((IfcParse::entity*)IFC2X3_types[746]); } const IfcParse::entity& Ifc2x3::IfcSectionReinforcementProperties::Class() { return *((IfcParse::entity*)IFC2X3_types[746]); } Ifc2x3::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, boost::optional< double > v3_TransversePosition, ::Ifc2x3::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc2x3::IfcSectionProperties* v5_SectionDefinition, aggregate_of< ::Ifc2x3::IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (EnumerationReference(&::Ifc2x3::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, v5_SectionDefinition ? v5_SectionDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_CrossSectionReinforcementDefinitions)->generalize());; populate_derived(); } +Ifc2x3::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, boost::optional< double > v3_TransversePosition, ::Ifc2x3::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc2x3::IfcSectionProperties* v5_SectionDefinition, aggregate_of< ::Ifc2x3::IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (EnumerationReference(&::Ifc2x3::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, v5_SectionDefinition ? v5_SectionDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_CrossSectionReinforcementDefinitions)->generalize());; populate_derived(); } // Function implementations for IfcSectionedSpine -::Ifc2x3::IfcCompositeCurve* Ifc2x3::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcCompositeCurve>(true); } +::Ifc2x3::IfcCompositeCurve* Ifc2x3::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcCompositeCurve>(true); } void Ifc2x3::IfcSectionedSpine::setSpineCurve(::Ifc2x3::IfcCompositeCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc2x3::IfcProfileDef >::ptr Ifc2x3::IfcSectionedSpine::CrossSections() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc2x3::IfcProfileDef >(); } +aggregate_of< ::Ifc2x3::IfcProfileDef >::ptr Ifc2x3::IfcSectionedSpine::CrossSections() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc2x3::IfcProfileDef >(); } void Ifc2x3::IfcSectionedSpine::setCrossSections(aggregate_of< ::Ifc2x3::IfcProfileDef >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc2x3::IfcAxis2Placement3D >::ptr Ifc2x3::IfcSectionedSpine::CrossSectionPositions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc2x3::IfcAxis2Placement3D >(); } +aggregate_of< ::Ifc2x3::IfcAxis2Placement3D >::ptr Ifc2x3::IfcSectionedSpine::CrossSectionPositions() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc2x3::IfcAxis2Placement3D >(); } void Ifc2x3::IfcSectionedSpine::setCrossSectionPositions(aggregate_of< ::Ifc2x3::IfcAxis2Placement3D >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc2x3::IfcSectionedSpine::declaration() const { return *((IfcParse::entity*)IFC2X3_types[743]); } const IfcParse::entity& Ifc2x3::IfcSectionedSpine::Class() { return *((IfcParse::entity*)IFC2X3_types[743]); } Ifc2x3::IfcSectionedSpine::IfcSectionedSpine(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc2x3::IfcSectionedSpine::IfcSectionedSpine(::Ifc2x3::IfcCompositeCurve* v1_SpineCurve, aggregate_of< ::Ifc2x3::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc2x3::IfcAxis2Placement3D >::ptr v3_CrossSectionPositions) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_SpineCurve ? v1_SpineCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());; populate_derived(); } +Ifc2x3::IfcSectionedSpine::IfcSectionedSpine(::Ifc2x3::IfcCompositeCurve* v1_SpineCurve, aggregate_of< ::Ifc2x3::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc2x3::IfcAxis2Placement3D >::ptr v3_CrossSectionPositions) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_SpineCurve ? v1_SpineCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());; populate_derived(); } // Function implementations for IfcSensorType -::Ifc2x3::IfcSensorTypeEnum::Value Ifc2x3::IfcSensorType::PredefinedType() const { return ::Ifc2x3::IfcSensorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcSensorTypeEnum::Value Ifc2x3::IfcSensorType::PredefinedType() const { return ::Ifc2x3::IfcSensorTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcSensorType::setPredefinedType(::Ifc2x3::IfcSensorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcSensorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcSensorType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[748]); } const IfcParse::entity& Ifc2x3::IfcSensorType::Class() { return *((IfcParse::entity*)IFC2X3_types[748]); } Ifc2x3::IfcSensorType::IfcSensorType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc2x3::IfcSensorType::IfcSensorType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSensorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcSensorType::IfcSensorType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSensorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcServiceLife -::Ifc2x3::IfcServiceLifeTypeEnum::Value Ifc2x3::IfcServiceLife::ServiceLifeType() const { return ::Ifc2x3::IfcServiceLifeTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc2x3::IfcServiceLifeTypeEnum::Value Ifc2x3::IfcServiceLife::ServiceLifeType() const { return ::Ifc2x3::IfcServiceLifeTypeEnum::FromString(get_attribute_value(5)); } void Ifc2x3::IfcServiceLife::setServiceLifeType(::Ifc2x3::IfcServiceLifeTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc2x3::IfcServiceLifeTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -double Ifc2x3::IfcServiceLife::ServiceLifeDuration() const { double v = data_.get_attribute_value(6); return v; } +double Ifc2x3::IfcServiceLife::ServiceLifeDuration() const { double v = get_attribute_value(6); return v; } void Ifc2x3::IfcServiceLife::setServiceLifeDuration(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc2x3::IfcServiceLife::declaration() const { return *((IfcParse::entity*)IFC2X3_types[751]); } const IfcParse::entity& Ifc2x3::IfcServiceLife::Class() { return *((IfcParse::entity*)IFC2X3_types[751]); } Ifc2x3::IfcServiceLife::IfcServiceLife(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc2x3::IfcServiceLife::IfcServiceLife(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcServiceLifeTypeEnum::Value v6_ServiceLifeType, double v7_ServiceLifeDuration) : IfcControl(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcServiceLifeTypeEnum::Class(),(size_t)v6_ServiceLifeType)));set_attribute_value(6, (v7_ServiceLifeDuration));; populate_derived(); } +Ifc2x3::IfcServiceLife::IfcServiceLife(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcServiceLifeTypeEnum::Value v6_ServiceLifeType, double v7_ServiceLifeDuration) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcServiceLifeTypeEnum::Class(),(size_t)v6_ServiceLifeType)));set_attribute_value(6, (v7_ServiceLifeDuration));; populate_derived(); } // Function implementations for IfcServiceLifeFactor -::Ifc2x3::IfcServiceLifeFactorTypeEnum::Value Ifc2x3::IfcServiceLifeFactor::PredefinedType() const { return ::Ifc2x3::IfcServiceLifeFactorTypeEnum::FromString(data_.get_attribute_value(4)); } +::Ifc2x3::IfcServiceLifeFactorTypeEnum::Value Ifc2x3::IfcServiceLifeFactor::PredefinedType() const { return ::Ifc2x3::IfcServiceLifeFactorTypeEnum::FromString(get_attribute_value(4)); } void Ifc2x3::IfcServiceLifeFactor::setPredefinedType(::Ifc2x3::IfcServiceLifeFactorTypeEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc2x3::IfcServiceLifeFactorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcMeasureValue* Ifc2x3::IfcServiceLifeFactor::UpperValue() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcMeasureValue>(true); } +::Ifc2x3::IfcMeasureValue* Ifc2x3::IfcServiceLifeFactor::UpperValue() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcMeasureValue>(true); } void Ifc2x3::IfcServiceLifeFactor::setUpperValue(::Ifc2x3::IfcMeasureValue* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcMeasureValue* Ifc2x3::IfcServiceLifeFactor::MostUsedValue() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc2x3::IfcMeasureValue>(true); } +::Ifc2x3::IfcMeasureValue* Ifc2x3::IfcServiceLifeFactor::MostUsedValue() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc2x3::IfcMeasureValue>(true); } void Ifc2x3::IfcServiceLifeFactor::setMostUsedValue(::Ifc2x3::IfcMeasureValue* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc2x3::IfcMeasureValue* Ifc2x3::IfcServiceLifeFactor::LowerValue() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc2x3::IfcMeasureValue>(true); } +::Ifc2x3::IfcMeasureValue* Ifc2x3::IfcServiceLifeFactor::LowerValue() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc2x3::IfcMeasureValue>(true); } void Ifc2x3::IfcServiceLifeFactor::setLowerValue(::Ifc2x3::IfcMeasureValue* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc2x3::IfcServiceLifeFactor::declaration() const { return *((IfcParse::entity*)IFC2X3_types[752]); } const IfcParse::entity& Ifc2x3::IfcServiceLifeFactor::Class() { return *((IfcParse::entity*)IFC2X3_types[752]); } Ifc2x3::IfcServiceLifeFactor::IfcServiceLifeFactor(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc2x3::IfcServiceLifeFactor::IfcServiceLifeFactor(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcServiceLifeFactorTypeEnum::Value v5_PredefinedType, ::Ifc2x3::IfcMeasureValue* v6_UpperValue, ::Ifc2x3::IfcMeasureValue* v7_MostUsedValue, ::Ifc2x3::IfcMeasureValue* v8_LowerValue) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc2x3::IfcServiceLifeFactorTypeEnum::Class(),(size_t)v5_PredefinedType)));set_attribute_value(5, v6_UpperValue ? v6_UpperValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_MostUsedValue ? v7_MostUsedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_LowerValue ? v8_LowerValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcServiceLifeFactor::IfcServiceLifeFactor(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcServiceLifeFactorTypeEnum::Value v5_PredefinedType, ::Ifc2x3::IfcMeasureValue* v6_UpperValue, ::Ifc2x3::IfcMeasureValue* v7_MostUsedValue, ::Ifc2x3::IfcMeasureValue* v8_LowerValue) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc2x3::IfcServiceLifeFactorTypeEnum::Class(),(size_t)v5_PredefinedType)));set_attribute_value(5, v6_UpperValue ? v6_UpperValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_MostUsedValue ? v7_MostUsedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_LowerValue ? v8_LowerValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcShapeAspect -aggregate_of< ::Ifc2x3::IfcShapeModel >::ptr Ifc2x3::IfcShapeAspect::ShapeRepresentations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc2x3::IfcShapeModel >(); } +aggregate_of< ::Ifc2x3::IfcShapeModel >::ptr Ifc2x3::IfcShapeAspect::ShapeRepresentations() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc2x3::IfcShapeModel >(); } void Ifc2x3::IfcShapeAspect::setShapeRepresentations(aggregate_of< ::Ifc2x3::IfcShapeModel >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc2x3::IfcShapeAspect::Name() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc2x3::IfcShapeAspect::Name() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcShapeAspect::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc2x3::IfcShapeAspect::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc2x3::IfcShapeAspect::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcShapeAspect::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::logic::tribool Ifc2x3::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = data_.get_attribute_value(3); return v; } +boost::logic::tribool Ifc2x3::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = get_attribute_value(3); return v; } void Ifc2x3::IfcShapeAspect::setProductDefinitional(boost::logic::tribool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc2x3::IfcProductDefinitionShape* Ifc2x3::IfcShapeAspect::PartOfProductDefinitionShape() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc2x3::IfcProductDefinitionShape>(true); } +::Ifc2x3::IfcProductDefinitionShape* Ifc2x3::IfcShapeAspect::PartOfProductDefinitionShape() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc2x3::IfcProductDefinitionShape>(true); } void Ifc2x3::IfcShapeAspect::setPartOfProductDefinitionShape(::Ifc2x3::IfcProductDefinitionShape* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc2x3::IfcShapeAspect::declaration() const { return *((IfcParse::entity*)IFC2X3_types[755]); } const IfcParse::entity& Ifc2x3::IfcShapeAspect::Class() { return *((IfcParse::entity*)IFC2X3_types[755]); } Ifc2x3::IfcShapeAspect::IfcShapeAspect(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcShapeAspect::IfcShapeAspect(aggregate_of< ::Ifc2x3::IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc2x3::IfcProductDefinitionShape* v5_PartOfProductDefinitionShape) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_ShapeRepresentations)->generalize()); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, v5_PartOfProductDefinitionShape ? v5_PartOfProductDefinitionShape->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcShapeAspect::IfcShapeAspect(aggregate_of< ::Ifc2x3::IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc2x3::IfcProductDefinitionShape* v5_PartOfProductDefinitionShape) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_ShapeRepresentations)->generalize()); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, v5_PartOfProductDefinitionShape ? v5_PartOfProductDefinitionShape->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcShapeModel @@ -11528,7 +11528,7 @@ Ifc2x3::IfcShapeAspect::IfcShapeAspect(aggregate_of< ::Ifc2x3::IfcShapeModel >:: const IfcParse::entity& Ifc2x3::IfcShapeModel::declaration() const { return *((IfcParse::entity*)IFC2X3_types[756]); } const IfcParse::entity& Ifc2x3::IfcShapeModel::Class() { return *((IfcParse::entity*)IFC2X3_types[756]); } Ifc2x3::IfcShapeModel::IfcShapeModel(IfcEntityInstanceData&& e) : IfcRepresentation(std::move(e)) { } -Ifc2x3::IfcShapeModel::IfcShapeModel(::Ifc2x3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc2x3::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc2x3::IfcShapeModel::IfcShapeModel(::Ifc2x3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc2x3::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcShapeRepresentation @@ -11536,17 +11536,17 @@ Ifc2x3::IfcShapeModel::IfcShapeModel(::Ifc2x3::IfcRepresentationContext* v1_Cont const IfcParse::entity& Ifc2x3::IfcShapeRepresentation::declaration() const { return *((IfcParse::entity*)IFC2X3_types[757]); } const IfcParse::entity& Ifc2x3::IfcShapeRepresentation::Class() { return *((IfcParse::entity*)IFC2X3_types[757]); } Ifc2x3::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceData&& e) : IfcShapeModel(std::move(e)) { } -Ifc2x3::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc2x3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc2x3::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc2x3::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc2x3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc2x3::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcShellBasedSurfaceModel -aggregate_of< ::Ifc2x3::IfcShell >::ptr Ifc2x3::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc2x3::IfcShell >(); } +aggregate_of< ::Ifc2x3::IfcShell >::ptr Ifc2x3::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc2x3::IfcShell >(); } void Ifc2x3::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc2x3::IfcShell >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc2x3::IfcShellBasedSurfaceModel::declaration() const { return *((IfcParse::entity*)IFC2X3_types[760]); } const IfcParse::entity& Ifc2x3::IfcShellBasedSurfaceModel::Class() { return *((IfcParse::entity*)IFC2X3_types[760]); } Ifc2x3::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc2x3::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc2x3::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_SbsmBoundary)->generalize());; populate_derived(); } +Ifc2x3::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc2x3::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_SbsmBoundary)->generalize());; populate_derived(); } // Function implementations for IfcSimpleProperty @@ -11554,59 +11554,59 @@ Ifc2x3::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc const IfcParse::entity& Ifc2x3::IfcSimpleProperty::declaration() const { return *((IfcParse::entity*)IFC2X3_types[761]); } const IfcParse::entity& Ifc2x3::IfcSimpleProperty::Class() { return *((IfcParse::entity*)IFC2X3_types[761]); } Ifc2x3::IfcSimpleProperty::IfcSimpleProperty(IfcEntityInstanceData&& e) : IfcProperty(std::move(e)) { } -Ifc2x3::IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcProperty(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc2x3::IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcProperty(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcSite -boost::optional< std::vector< int > /*[3:4]*/ > Ifc2x3::IfcSite::RefLatitude() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = data_.get_attribute_value(9); return v; } +boost::optional< std::vector< int > /*[3:4]*/ > Ifc2x3::IfcSite::RefLatitude() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = get_attribute_value(9); return v; } void Ifc2x3::IfcSite::setRefLatitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::vector< int > /*[3:4]*/ > Ifc2x3::IfcSite::RefLongitude() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = data_.get_attribute_value(10); return v; } +boost::optional< std::vector< int > /*[3:4]*/ > Ifc2x3::IfcSite::RefLongitude() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = get_attribute_value(10); return v; } void Ifc2x3::IfcSite::setRefLongitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc2x3::IfcSite::RefElevation() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc2x3::IfcSite::RefElevation() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc2x3::IfcSite::setRefElevation(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc2x3::IfcSite::LandTitleNumber() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc2x3::IfcSite::LandTitleNumber() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc2x3::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc2x3::IfcPostalAddress* Ifc2x3::IfcSite::SiteAddress() const { if(data_.get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(13)))->as<::Ifc2x3::IfcPostalAddress>(true); } +::Ifc2x3::IfcPostalAddress* Ifc2x3::IfcSite::SiteAddress() const { if(get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(13)))->as<::Ifc2x3::IfcPostalAddress>(true); } void Ifc2x3::IfcSite::setSiteAddress(::Ifc2x3::IfcPostalAddress* v) { set_attribute_value(13, v->as());if constexpr (false)unset_attribute_value(13); } const IfcParse::entity& Ifc2x3::IfcSite::declaration() const { return *((IfcParse::entity*)IFC2X3_types[764]); } const IfcParse::entity& Ifc2x3::IfcSite::Class() { return *((IfcParse::entity*)IFC2X3_types[764]); } Ifc2x3::IfcSite::IfcSite(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc2x3::IfcSite::IfcSite(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, ::Ifc2x3::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, ::Ifc2x3::IfcPostalAddress* v14_SiteAddress) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcElementCompositionEnum::Class(),(size_t)v9_CompositionType))); if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, v14_SiteAddress ? v14_SiteAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcSite::IfcSite(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, ::Ifc2x3::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, ::Ifc2x3::IfcPostalAddress* v14_SiteAddress) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcElementCompositionEnum::Class(),(size_t)v9_CompositionType))); if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, v14_SiteAddress ? v14_SiteAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSlab -boost::optional< ::Ifc2x3::IfcSlabTypeEnum::Value > Ifc2x3::IfcSlab::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc2x3::IfcSlabTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc2x3::IfcSlabTypeEnum::Value > Ifc2x3::IfcSlab::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc2x3::IfcSlabTypeEnum::FromString(get_attribute_value(8)); } void Ifc2x3::IfcSlab::setPredefinedType(boost::optional< ::Ifc2x3::IfcSlabTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc2x3::IfcSlabTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc2x3::IfcSlab::declaration() const { return *((IfcParse::entity*)IFC2X3_types[768]); } const IfcParse::entity& Ifc2x3::IfcSlab::Class() { return *((IfcParse::entity*)IFC2X3_types[768]); } Ifc2x3::IfcSlab::IfcSlab(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc2x3::IfcSlab::IfcSlab(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc2x3::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc2x3::IfcSlab::IfcSlab(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc2x3::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSlabType -::Ifc2x3::IfcSlabTypeEnum::Value Ifc2x3::IfcSlabType::PredefinedType() const { return ::Ifc2x3::IfcSlabTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcSlabTypeEnum::Value Ifc2x3::IfcSlabType::PredefinedType() const { return ::Ifc2x3::IfcSlabTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcSlabType::setPredefinedType(::Ifc2x3::IfcSlabTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcSlabTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcSlabType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[769]); } const IfcParse::entity& Ifc2x3::IfcSlabType::Class() { return *((IfcParse::entity*)IFC2X3_types[769]); } Ifc2x3::IfcSlabType::IfcSlabType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc2x3::IfcSlabType::IfcSlabType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSlabTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcSlabType::IfcSlabType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSlabTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSlippageConnectionCondition -boost::optional< double > Ifc2x3::IfcSlippageConnectionCondition::SlippageX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc2x3::IfcSlippageConnectionCondition::SlippageX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc2x3::IfcSlippageConnectionCondition::setSlippageX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc2x3::IfcSlippageConnectionCondition::SlippageY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc2x3::IfcSlippageConnectionCondition::SlippageY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc2x3::IfcSlippageConnectionCondition::setSlippageY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc2x3::IfcSlippageConnectionCondition::SlippageZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc2x3::IfcSlippageConnectionCondition::SlippageZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc2x3::IfcSlippageConnectionCondition::setSlippageZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc2x3::IfcSlippageConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC2X3_types[771]); } const IfcParse::entity& Ifc2x3::IfcSlippageConnectionCondition::Class() { return *((IfcParse::entity*)IFC2X3_types[771]); } Ifc2x3::IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(IfcEntityInstanceData&& e) : IfcStructuralConnectionCondition(std::move(e)) { } -Ifc2x3::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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; populate_derived(); } +Ifc2x3::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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; populate_derived(); } // Function implementations for IfcSolidModel @@ -11614,40 +11614,40 @@ Ifc2x3::IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(boost::op const IfcParse::entity& Ifc2x3::IfcSolidModel::declaration() const { return *((IfcParse::entity*)IFC2X3_types[773]); } const IfcParse::entity& Ifc2x3::IfcSolidModel::Class() { return *((IfcParse::entity*)IFC2X3_types[773]); } Ifc2x3::IfcSolidModel::IfcSolidModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc2x3::IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc2x3::IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcSoundProperties -bool Ifc2x3::IfcSoundProperties::IsAttenuating() const { bool v = data_.get_attribute_value(4); return v; } +bool Ifc2x3::IfcSoundProperties::IsAttenuating() const { bool v = get_attribute_value(4); return v; } void Ifc2x3::IfcSoundProperties::setIsAttenuating(bool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< ::Ifc2x3::IfcSoundScaleEnum::Value > Ifc2x3::IfcSoundProperties::SoundScale() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc2x3::IfcSoundScaleEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc2x3::IfcSoundScaleEnum::Value > Ifc2x3::IfcSoundProperties::SoundScale() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc2x3::IfcSoundScaleEnum::FromString(get_attribute_value(5)); } void Ifc2x3::IfcSoundProperties::setSoundScale(boost::optional< ::Ifc2x3::IfcSoundScaleEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc2x3::IfcSoundScaleEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -aggregate_of< ::Ifc2x3::IfcSoundValue >::ptr Ifc2x3::IfcSoundProperties::SoundValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc2x3::IfcSoundValue >(); } +aggregate_of< ::Ifc2x3::IfcSoundValue >::ptr Ifc2x3::IfcSoundProperties::SoundValues() const { aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc2x3::IfcSoundValue >(); } void Ifc2x3::IfcSoundProperties::setSoundValues(aggregate_of< ::Ifc2x3::IfcSoundValue >::ptr v) { set_attribute_value(6, (v)->generalize());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc2x3::IfcSoundProperties::declaration() const { return *((IfcParse::entity*)IFC2X3_types[776]); } const IfcParse::entity& Ifc2x3::IfcSoundProperties::Class() { return *((IfcParse::entity*)IFC2X3_types[776]); } Ifc2x3::IfcSoundProperties::IfcSoundProperties(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc2x3::IfcSoundProperties::IfcSoundProperties(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, bool v5_IsAttenuating, boost::optional< ::Ifc2x3::IfcSoundScaleEnum::Value > v6_SoundScale, aggregate_of< ::Ifc2x3::IfcSoundValue >::ptr v7_SoundValues) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_IsAttenuating)); if (v6_SoundScale) {set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcSoundScaleEnum::Class(),(size_t)*v6_SoundScale))); }set_attribute_value(6, (v7_SoundValues)->generalize());; populate_derived(); } +Ifc2x3::IfcSoundProperties::IfcSoundProperties(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, bool v5_IsAttenuating, boost::optional< ::Ifc2x3::IfcSoundScaleEnum::Value > v6_SoundScale, aggregate_of< ::Ifc2x3::IfcSoundValue >::ptr v7_SoundValues) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_IsAttenuating)); if (v6_SoundScale) {set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcSoundScaleEnum::Class(),(size_t)*v6_SoundScale))); }set_attribute_value(6, (v7_SoundValues)->generalize());; populate_derived(); } // Function implementations for IfcSoundValue -::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcSoundValue::SoundLevelTimeSeries() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc2x3::IfcTimeSeries>(true); } +::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcSoundValue::SoundLevelTimeSeries() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc2x3::IfcTimeSeries>(true); } void Ifc2x3::IfcSoundValue::setSoundLevelTimeSeries(::Ifc2x3::IfcTimeSeries* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -double Ifc2x3::IfcSoundValue::Frequency() const { double v = data_.get_attribute_value(5); return v; } +double Ifc2x3::IfcSoundValue::Frequency() const { double v = get_attribute_value(5); return v; } void Ifc2x3::IfcSoundValue::setFrequency(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcDerivedMeasureValue* Ifc2x3::IfcSoundValue::SoundLevelSingleValue() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc2x3::IfcDerivedMeasureValue>(true); } +::Ifc2x3::IfcDerivedMeasureValue* Ifc2x3::IfcSoundValue::SoundLevelSingleValue() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc2x3::IfcDerivedMeasureValue>(true); } void Ifc2x3::IfcSoundValue::setSoundLevelSingleValue(::Ifc2x3::IfcDerivedMeasureValue* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc2x3::IfcSoundValue::declaration() const { return *((IfcParse::entity*)IFC2X3_types[778]); } const IfcParse::entity& Ifc2x3::IfcSoundValue::Class() { return *((IfcParse::entity*)IFC2X3_types[778]); } Ifc2x3::IfcSoundValue::IfcSoundValue(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc2x3::IfcSoundValue::IfcSoundValue(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcTimeSeries* v5_SoundLevelTimeSeries, double v6_Frequency, ::Ifc2x3::IfcDerivedMeasureValue* v7_SoundLevelSingleValue) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_SoundLevelTimeSeries ? v5_SoundLevelTimeSeries->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Frequency));set_attribute_value(6, v7_SoundLevelSingleValue ? v7_SoundLevelSingleValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcSoundValue::IfcSoundValue(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcTimeSeries* v5_SoundLevelTimeSeries, double v6_Frequency, ::Ifc2x3::IfcDerivedMeasureValue* v7_SoundLevelSingleValue) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_SoundLevelTimeSeries ? v5_SoundLevelTimeSeries->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Frequency));set_attribute_value(6, v7_SoundLevelSingleValue ? v7_SoundLevelSingleValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSpace -::Ifc2x3::IfcInternalOrExternalEnum::Value Ifc2x3::IfcSpace::InteriorOrExteriorSpace() const { return ::Ifc2x3::IfcInternalOrExternalEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcInternalOrExternalEnum::Value Ifc2x3::IfcSpace::InteriorOrExteriorSpace() const { return ::Ifc2x3::IfcInternalOrExternalEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcSpace::setInteriorOrExteriorSpace(::Ifc2x3::IfcInternalOrExternalEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcInternalOrExternalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc2x3::IfcSpace::ElevationWithFlooring() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc2x3::IfcSpace::ElevationWithFlooring() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc2x3::IfcSpace::setElevationWithFlooring(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } ::Ifc2x3::IfcRelCoversSpaces::list::ptr Ifc2x3::IfcSpace::HasCoverings() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[700], 4)->as(); } @@ -11656,28 +11656,28 @@ void Ifc2x3::IfcSpace::setElevationWithFlooring(boost::optional< double > v) { i const IfcParse::entity& Ifc2x3::IfcSpace::declaration() const { return *((IfcParse::entity*)IFC2X3_types[779]); } const IfcParse::entity& Ifc2x3::IfcSpace::Class() { return *((IfcParse::entity*)IFC2X3_types[779]); } Ifc2x3::IfcSpace::IfcSpace(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc2x3::IfcSpace::IfcSpace(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, ::Ifc2x3::IfcElementCompositionEnum::Value v9_CompositionType, ::Ifc2x3::IfcInternalOrExternalEnum::Value v10_InteriorOrExteriorSpace, boost::optional< double > v11_ElevationWithFlooring) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcElementCompositionEnum::Class(),(size_t)v9_CompositionType)));set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcInternalOrExternalEnum::Class(),(size_t)v10_InteriorOrExteriorSpace))); if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; populate_derived(); } +Ifc2x3::IfcSpace::IfcSpace(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, ::Ifc2x3::IfcElementCompositionEnum::Value v9_CompositionType, ::Ifc2x3::IfcInternalOrExternalEnum::Value v10_InteriorOrExteriorSpace, boost::optional< double > v11_ElevationWithFlooring) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcElementCompositionEnum::Class(),(size_t)v9_CompositionType)));set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcInternalOrExternalEnum::Class(),(size_t)v10_InteriorOrExteriorSpace))); if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; populate_derived(); } // Function implementations for IfcSpaceHeaterType -::Ifc2x3::IfcSpaceHeaterTypeEnum::Value Ifc2x3::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc2x3::IfcSpaceHeaterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcSpaceHeaterTypeEnum::Value Ifc2x3::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc2x3::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcSpaceHeaterType::setPredefinedType(::Ifc2x3::IfcSpaceHeaterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcSpaceHeaterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcSpaceHeaterType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[780]); } const IfcParse::entity& Ifc2x3::IfcSpaceHeaterType::Class() { return *((IfcParse::entity*)IFC2X3_types[780]); } Ifc2x3::IfcSpaceHeaterType::IfcSpaceHeaterType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc2x3::IfcSpaceHeaterType::IfcSpaceHeaterType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcSpaceHeaterType::IfcSpaceHeaterType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSpaceProgram -std::string Ifc2x3::IfcSpaceProgram::SpaceProgramIdentifier() const { std::string v = data_.get_attribute_value(5); return v; } +std::string Ifc2x3::IfcSpaceProgram::SpaceProgramIdentifier() const { std::string v = get_attribute_value(5); return v; } void Ifc2x3::IfcSpaceProgram::setSpaceProgramIdentifier(std::string v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc2x3::IfcSpaceProgram::MaxRequiredArea() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc2x3::IfcSpaceProgram::MaxRequiredArea() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc2x3::IfcSpaceProgram::setMaxRequiredArea(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc2x3::IfcSpaceProgram::MinRequiredArea() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc2x3::IfcSpaceProgram::MinRequiredArea() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc2x3::IfcSpaceProgram::setMinRequiredArea(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc2x3::IfcSpatialStructureElement* Ifc2x3::IfcSpaceProgram::RequestedLocation() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc2x3::IfcSpatialStructureElement>(true); } +::Ifc2x3::IfcSpatialStructureElement* Ifc2x3::IfcSpaceProgram::RequestedLocation() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc2x3::IfcSpatialStructureElement>(true); } void Ifc2x3::IfcSpaceProgram::setRequestedLocation(::Ifc2x3::IfcSpatialStructureElement* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -double Ifc2x3::IfcSpaceProgram::StandardRequiredArea() const { double v = data_.get_attribute_value(9); return v; } +double Ifc2x3::IfcSpaceProgram::StandardRequiredArea() const { double v = get_attribute_value(9); return v; } void Ifc2x3::IfcSpaceProgram::setStandardRequiredArea(double v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } ::Ifc2x3::IfcRelInteractionRequirements::list::ptr Ifc2x3::IfcSpaceProgram::HasInteractionReqsFrom() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[707], 7)->as(); } @@ -11686,50 +11686,50 @@ void Ifc2x3::IfcSpaceProgram::setStandardRequiredArea(double v) { set_attribute_ const IfcParse::entity& Ifc2x3::IfcSpaceProgram::declaration() const { return *((IfcParse::entity*)IFC2X3_types[782]); } const IfcParse::entity& Ifc2x3::IfcSpaceProgram::Class() { return *((IfcParse::entity*)IFC2X3_types[782]); } Ifc2x3::IfcSpaceProgram::IfcSpaceProgram(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc2x3::IfcSpaceProgram::IfcSpaceProgram(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_SpaceProgramIdentifier, boost::optional< double > v7_MaxRequiredArea, boost::optional< double > v8_MinRequiredArea, ::Ifc2x3::IfcSpatialStructureElement* v9_RequestedLocation, double v10_StandardRequiredArea) : IfcControl(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_SpaceProgramIdentifier)); if (v7_MaxRequiredArea) {set_attribute_value(6, (*v7_MaxRequiredArea)); } if (v8_MinRequiredArea) {set_attribute_value(7, (*v8_MinRequiredArea)); }set_attribute_value(8, v9_RequestedLocation ? v9_RequestedLocation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, (v10_StandardRequiredArea));; populate_derived(); } +Ifc2x3::IfcSpaceProgram::IfcSpaceProgram(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_SpaceProgramIdentifier, boost::optional< double > v7_MaxRequiredArea, boost::optional< double > v8_MinRequiredArea, ::Ifc2x3::IfcSpatialStructureElement* v9_RequestedLocation, double v10_StandardRequiredArea) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_SpaceProgramIdentifier)); if (v7_MaxRequiredArea) {set_attribute_value(6, (*v7_MaxRequiredArea)); } if (v8_MinRequiredArea) {set_attribute_value(7, (*v8_MinRequiredArea)); }set_attribute_value(8, v9_RequestedLocation ? v9_RequestedLocation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, (v10_StandardRequiredArea));; populate_derived(); } // Function implementations for IfcSpaceThermalLoadProperties -boost::optional< double > Ifc2x3::IfcSpaceThermalLoadProperties::ApplicableValueRatio() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc2x3::IfcSpaceThermalLoadProperties::ApplicableValueRatio() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc2x3::IfcSpaceThermalLoadProperties::setApplicableValueRatio(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc2x3::IfcThermalLoadSourceEnum::Value Ifc2x3::IfcSpaceThermalLoadProperties::ThermalLoadSource() const { return ::Ifc2x3::IfcThermalLoadSourceEnum::FromString(data_.get_attribute_value(5)); } +::Ifc2x3::IfcThermalLoadSourceEnum::Value Ifc2x3::IfcSpaceThermalLoadProperties::ThermalLoadSource() const { return ::Ifc2x3::IfcThermalLoadSourceEnum::FromString(get_attribute_value(5)); } void Ifc2x3::IfcSpaceThermalLoadProperties::setThermalLoadSource(::Ifc2x3::IfcThermalLoadSourceEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc2x3::IfcThermalLoadSourceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcPropertySourceEnum::Value Ifc2x3::IfcSpaceThermalLoadProperties::PropertySource() const { return ::Ifc2x3::IfcPropertySourceEnum::FromString(data_.get_attribute_value(6)); } +::Ifc2x3::IfcPropertySourceEnum::Value Ifc2x3::IfcSpaceThermalLoadProperties::PropertySource() const { return ::Ifc2x3::IfcPropertySourceEnum::FromString(get_attribute_value(6)); } void Ifc2x3::IfcSpaceThermalLoadProperties::setPropertySource(::Ifc2x3::IfcPropertySourceEnum::Value v) { set_attribute_value(6, EnumerationReference(&::Ifc2x3::IfcPropertySourceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(6); } -boost::optional< std::string > Ifc2x3::IfcSpaceThermalLoadProperties::SourceDescription() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc2x3::IfcSpaceThermalLoadProperties::SourceDescription() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc2x3::IfcSpaceThermalLoadProperties::setSourceDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -double Ifc2x3::IfcSpaceThermalLoadProperties::MaximumValue() const { double v = data_.get_attribute_value(8); return v; } +double Ifc2x3::IfcSpaceThermalLoadProperties::MaximumValue() const { double v = get_attribute_value(8); return v; } void Ifc2x3::IfcSpaceThermalLoadProperties::setMaximumValue(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -boost::optional< double > Ifc2x3::IfcSpaceThermalLoadProperties::MinimumValue() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc2x3::IfcSpaceThermalLoadProperties::MinimumValue() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc2x3::IfcSpaceThermalLoadProperties::setMinimumValue(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcSpaceThermalLoadProperties::ThermalLoadTimeSeriesValues() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc2x3::IfcTimeSeries>(true); } +::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcSpaceThermalLoadProperties::ThermalLoadTimeSeriesValues() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc2x3::IfcTimeSeries>(true); } void Ifc2x3::IfcSpaceThermalLoadProperties::setThermalLoadTimeSeriesValues(::Ifc2x3::IfcTimeSeries* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } -boost::optional< std::string > Ifc2x3::IfcSpaceThermalLoadProperties::UserDefinedThermalLoadSource() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc2x3::IfcSpaceThermalLoadProperties::UserDefinedThermalLoadSource() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc2x3::IfcSpaceThermalLoadProperties::setUserDefinedThermalLoadSource(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc2x3::IfcSpaceThermalLoadProperties::UserDefinedPropertySource() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc2x3::IfcSpaceThermalLoadProperties::UserDefinedPropertySource() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc2x3::IfcSpaceThermalLoadProperties::setUserDefinedPropertySource(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc2x3::IfcThermalLoadTypeEnum::Value Ifc2x3::IfcSpaceThermalLoadProperties::ThermalLoadType() const { return ::Ifc2x3::IfcThermalLoadTypeEnum::FromString(data_.get_attribute_value(13)); } +::Ifc2x3::IfcThermalLoadTypeEnum::Value Ifc2x3::IfcSpaceThermalLoadProperties::ThermalLoadType() const { return ::Ifc2x3::IfcThermalLoadTypeEnum::FromString(get_attribute_value(13)); } void Ifc2x3::IfcSpaceThermalLoadProperties::setThermalLoadType(::Ifc2x3::IfcThermalLoadTypeEnum::Value v) { set_attribute_value(13, EnumerationReference(&::Ifc2x3::IfcThermalLoadTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(13); } const IfcParse::entity& Ifc2x3::IfcSpaceThermalLoadProperties::declaration() const { return *((IfcParse::entity*)IFC2X3_types[783]); } const IfcParse::entity& Ifc2x3::IfcSpaceThermalLoadProperties::Class() { return *((IfcParse::entity*)IFC2X3_types[783]); } Ifc2x3::IfcSpaceThermalLoadProperties::IfcSpaceThermalLoadProperties(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc2x3::IfcSpaceThermalLoadProperties::IfcSpaceThermalLoadProperties(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_ApplicableValueRatio, ::Ifc2x3::IfcThermalLoadSourceEnum::Value v6_ThermalLoadSource, ::Ifc2x3::IfcPropertySourceEnum::Value v7_PropertySource, boost::optional< std::string > v8_SourceDescription, double v9_MaximumValue, boost::optional< double > v10_MinimumValue, ::Ifc2x3::IfcTimeSeries* v11_ThermalLoadTimeSeriesValues, boost::optional< std::string > v12_UserDefinedThermalLoadSource, boost::optional< std::string > v13_UserDefinedPropertySource, ::Ifc2x3::IfcThermalLoadTypeEnum::Value v14_ThermalLoadType) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableValueRatio) {set_attribute_value(4, (*v5_ApplicableValueRatio)); }set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcThermalLoadSourceEnum::Class(),(size_t)v6_ThermalLoadSource)));set_attribute_value(6, (EnumerationReference(&::Ifc2x3::IfcPropertySourceEnum::Class(),(size_t)v7_PropertySource))); if (v8_SourceDescription) {set_attribute_value(7, (*v8_SourceDescription)); }set_attribute_value(8, (v9_MaximumValue)); if (v10_MinimumValue) {set_attribute_value(9, (*v10_MinimumValue)); }set_attribute_value(10, v11_ThermalLoadTimeSeriesValues ? v11_ThermalLoadTimeSeriesValues->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v12_UserDefinedThermalLoadSource) {set_attribute_value(11, (*v12_UserDefinedThermalLoadSource)); } if (v13_UserDefinedPropertySource) {set_attribute_value(12, (*v13_UserDefinedPropertySource)); }set_attribute_value(13, (EnumerationReference(&::Ifc2x3::IfcThermalLoadTypeEnum::Class(),(size_t)v14_ThermalLoadType)));; populate_derived(); } +Ifc2x3::IfcSpaceThermalLoadProperties::IfcSpaceThermalLoadProperties(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_ApplicableValueRatio, ::Ifc2x3::IfcThermalLoadSourceEnum::Value v6_ThermalLoadSource, ::Ifc2x3::IfcPropertySourceEnum::Value v7_PropertySource, boost::optional< std::string > v8_SourceDescription, double v9_MaximumValue, boost::optional< double > v10_MinimumValue, ::Ifc2x3::IfcTimeSeries* v11_ThermalLoadTimeSeriesValues, boost::optional< std::string > v12_UserDefinedThermalLoadSource, boost::optional< std::string > v13_UserDefinedPropertySource, ::Ifc2x3::IfcThermalLoadTypeEnum::Value v14_ThermalLoadType) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableValueRatio) {set_attribute_value(4, (*v5_ApplicableValueRatio)); }set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcThermalLoadSourceEnum::Class(),(size_t)v6_ThermalLoadSource)));set_attribute_value(6, (EnumerationReference(&::Ifc2x3::IfcPropertySourceEnum::Class(),(size_t)v7_PropertySource))); if (v8_SourceDescription) {set_attribute_value(7, (*v8_SourceDescription)); }set_attribute_value(8, (v9_MaximumValue)); if (v10_MinimumValue) {set_attribute_value(9, (*v10_MinimumValue)); }set_attribute_value(10, v11_ThermalLoadTimeSeriesValues ? v11_ThermalLoadTimeSeriesValues->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v12_UserDefinedThermalLoadSource) {set_attribute_value(11, (*v12_UserDefinedThermalLoadSource)); } if (v13_UserDefinedPropertySource) {set_attribute_value(12, (*v13_UserDefinedPropertySource)); }set_attribute_value(13, (EnumerationReference(&::Ifc2x3::IfcThermalLoadTypeEnum::Class(),(size_t)v14_ThermalLoadType)));; populate_derived(); } // Function implementations for IfcSpaceType -::Ifc2x3::IfcSpaceTypeEnum::Value Ifc2x3::IfcSpaceType::PredefinedType() const { return ::Ifc2x3::IfcSpaceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcSpaceTypeEnum::Value Ifc2x3::IfcSpaceType::PredefinedType() const { return ::Ifc2x3::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcSpaceType::setPredefinedType(::Ifc2x3::IfcSpaceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcSpaceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcSpaceType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[784]); } const IfcParse::entity& Ifc2x3::IfcSpaceType::Class() { return *((IfcParse::entity*)IFC2X3_types[784]); } Ifc2x3::IfcSpaceType::IfcSpaceType(IfcEntityInstanceData&& e) : IfcSpatialStructureElementType(std::move(e)) { } -Ifc2x3::IfcSpaceType::IfcSpaceType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSpaceTypeEnum::Value v10_PredefinedType) : IfcSpatialStructureElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcSpaceType::IfcSpaceType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSpaceTypeEnum::Value v10_PredefinedType) : IfcSpatialStructureElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSpatialStructureElement -boost::optional< std::string > Ifc2x3::IfcSpatialStructureElement::LongName() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc2x3::IfcSpatialStructureElement::LongName() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc2x3::IfcSpatialStructureElement::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc2x3::IfcElementCompositionEnum::Value Ifc2x3::IfcSpatialStructureElement::CompositionType() const { return ::Ifc2x3::IfcElementCompositionEnum::FromString(data_.get_attribute_value(8)); } +::Ifc2x3::IfcElementCompositionEnum::Value Ifc2x3::IfcSpatialStructureElement::CompositionType() const { return ::Ifc2x3::IfcElementCompositionEnum::FromString(get_attribute_value(8)); } void Ifc2x3::IfcSpatialStructureElement::setCompositionType(::Ifc2x3::IfcElementCompositionEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc2x3::IfcElementCompositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } ::Ifc2x3::IfcRelReferencedInSpatialStructure::list::ptr Ifc2x3::IfcSpatialStructureElement::ReferencesElements() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[712], 5)->as(); } @@ -11739,7 +11739,7 @@ void Ifc2x3::IfcSpatialStructureElement::setCompositionType(::Ifc2x3::IfcElement const IfcParse::entity& Ifc2x3::IfcSpatialStructureElement::declaration() const { return *((IfcParse::entity*)IFC2X3_types[786]); } const IfcParse::entity& Ifc2x3::IfcSpatialStructureElement::Class() { return *((IfcParse::entity*)IFC2X3_types[786]); } Ifc2x3::IfcSpatialStructureElement::IfcSpatialStructureElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc2x3::IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, ::Ifc2x3::IfcElementCompositionEnum::Value v9_CompositionType) : IfcProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcElementCompositionEnum::Class(),(size_t)v9_CompositionType)));; populate_derived(); } +Ifc2x3::IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, ::Ifc2x3::IfcElementCompositionEnum::Value v9_CompositionType) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcElementCompositionEnum::Class(),(size_t)v9_CompositionType)));; populate_derived(); } // Function implementations for IfcSpatialStructureElementType @@ -11747,80 +11747,80 @@ Ifc2x3::IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v1_Gl const IfcParse::entity& Ifc2x3::IfcSpatialStructureElementType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[787]); } const IfcParse::entity& Ifc2x3::IfcSpatialStructureElementType::Class() { return *((IfcParse::entity*)IFC2X3_types[787]); } Ifc2x3::IfcSpatialStructureElementType::IfcSpatialStructureElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc2x3::IfcSpatialStructureElementType::IfcSpatialStructureElementType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc2x3::IfcSpatialStructureElementType::IfcSpatialStructureElementType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcSphere -double Ifc2x3::IfcSphere::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc2x3::IfcSphere::Radius() const { double v = get_attribute_value(1); return v; } void Ifc2x3::IfcSphere::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcSphere::declaration() const { return *((IfcParse::entity*)IFC2X3_types[792]); } const IfcParse::entity& Ifc2x3::IfcSphere::Class() { return *((IfcParse::entity*)IFC2X3_types[792]); } Ifc2x3::IfcSphere::IfcSphere(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc2x3::IfcSphere::IfcSphere(::Ifc2x3::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc2x3::IfcSphere::IfcSphere(::Ifc2x3::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcStackTerminalType -::Ifc2x3::IfcStackTerminalTypeEnum::Value Ifc2x3::IfcStackTerminalType::PredefinedType() const { return ::Ifc2x3::IfcStackTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcStackTerminalTypeEnum::Value Ifc2x3::IfcStackTerminalType::PredefinedType() const { return ::Ifc2x3::IfcStackTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcStackTerminalType::setPredefinedType(::Ifc2x3::IfcStackTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcStackTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcStackTerminalType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[793]); } const IfcParse::entity& Ifc2x3::IfcStackTerminalType::Class() { return *((IfcParse::entity*)IFC2X3_types[793]); } Ifc2x3::IfcStackTerminalType::IfcStackTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc2x3::IfcStackTerminalType::IfcStackTerminalType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcStackTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcStackTerminalType::IfcStackTerminalType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcStackTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStair -::Ifc2x3::IfcStairTypeEnum::Value Ifc2x3::IfcStair::ShapeType() const { return ::Ifc2x3::IfcStairTypeEnum::FromString(data_.get_attribute_value(8)); } +::Ifc2x3::IfcStairTypeEnum::Value Ifc2x3::IfcStair::ShapeType() const { return ::Ifc2x3::IfcStairTypeEnum::FromString(get_attribute_value(8)); } void Ifc2x3::IfcStair::setShapeType(::Ifc2x3::IfcStairTypeEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc2x3::IfcStairTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc2x3::IfcStair::declaration() const { return *((IfcParse::entity*)IFC2X3_types[795]); } const IfcParse::entity& Ifc2x3::IfcStair::Class() { return *((IfcParse::entity*)IFC2X3_types[795]); } Ifc2x3::IfcStair::IfcStair(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc2x3::IfcStair::IfcStair(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, ::Ifc2x3::IfcStairTypeEnum::Value v9_ShapeType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcStairTypeEnum::Class(),(size_t)v9_ShapeType)));; populate_derived(); } +Ifc2x3::IfcStair::IfcStair(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, ::Ifc2x3::IfcStairTypeEnum::Value v9_ShapeType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcStairTypeEnum::Class(),(size_t)v9_ShapeType)));; populate_derived(); } // Function implementations for IfcStairFlight -boost::optional< int > Ifc2x3::IfcStairFlight::NumberOfRiser() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } int v = data_.get_attribute_value(8); return v; } +boost::optional< int > Ifc2x3::IfcStairFlight::NumberOfRiser() const { if(get_attribute_value(8).isNull()) { return boost::none; } int v = get_attribute_value(8); return v; } void Ifc2x3::IfcStairFlight::setNumberOfRiser(boost::optional< int > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< int > Ifc2x3::IfcStairFlight::NumberOfTreads() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } int v = data_.get_attribute_value(9); return v; } +boost::optional< int > Ifc2x3::IfcStairFlight::NumberOfTreads() const { if(get_attribute_value(9).isNull()) { return boost::none; } int v = get_attribute_value(9); return v; } void Ifc2x3::IfcStairFlight::setNumberOfTreads(boost::optional< int > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc2x3::IfcStairFlight::RiserHeight() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc2x3::IfcStairFlight::RiserHeight() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc2x3::IfcStairFlight::setRiserHeight(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc2x3::IfcStairFlight::TreadLength() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc2x3::IfcStairFlight::TreadLength() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc2x3::IfcStairFlight::setTreadLength(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc2x3::IfcStairFlight::declaration() const { return *((IfcParse::entity*)IFC2X3_types[796]); } const IfcParse::entity& Ifc2x3::IfcStairFlight::Class() { return *((IfcParse::entity*)IFC2X3_types[796]); } Ifc2x3::IfcStairFlight::IfcStairFlight(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc2x3::IfcStairFlight::IfcStairFlight(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRiser, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength) : IfcBuildingElement(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRiser) {set_attribute_value(8, (*v9_NumberOfRiser)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); }; populate_derived(); } +Ifc2x3::IfcStairFlight::IfcStairFlight(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRiser, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRiser) {set_attribute_value(8, (*v9_NumberOfRiser)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); }; populate_derived(); } // Function implementations for IfcStairFlightType -::Ifc2x3::IfcStairFlightTypeEnum::Value Ifc2x3::IfcStairFlightType::PredefinedType() const { return ::Ifc2x3::IfcStairFlightTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcStairFlightTypeEnum::Value Ifc2x3::IfcStairFlightType::PredefinedType() const { return ::Ifc2x3::IfcStairFlightTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcStairFlightType::setPredefinedType(::Ifc2x3::IfcStairFlightTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcStairFlightTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcStairFlightType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[797]); } const IfcParse::entity& Ifc2x3::IfcStairFlightType::Class() { return *((IfcParse::entity*)IFC2X3_types[797]); } Ifc2x3::IfcStairFlightType::IfcStairFlightType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc2x3::IfcStairFlightType::IfcStairFlightType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcStairFlightTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcStairFlightType::IfcStairFlightType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcStairFlightTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralAction -bool Ifc2x3::IfcStructuralAction::DestabilizingLoad() const { bool v = data_.get_attribute_value(9); return v; } +bool Ifc2x3::IfcStructuralAction::DestabilizingLoad() const { bool v = get_attribute_value(9); return v; } void Ifc2x3::IfcStructuralAction::setDestabilizingLoad(bool v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -::Ifc2x3::IfcStructuralReaction* Ifc2x3::IfcStructuralAction::CausedBy() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc2x3::IfcStructuralReaction>(true); } +::Ifc2x3::IfcStructuralReaction* Ifc2x3::IfcStructuralAction::CausedBy() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc2x3::IfcStructuralReaction>(true); } void Ifc2x3::IfcStructuralAction::setCausedBy(::Ifc2x3::IfcStructuralReaction* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc2x3::IfcStructuralAction::declaration() const { return *((IfcParse::entity*)IFC2X3_types[801]); } const IfcParse::entity& Ifc2x3::IfcStructuralAction::Class() { return *((IfcParse::entity*)IFC2X3_types[801]); } Ifc2x3::IfcStructuralAction::IfcStructuralAction(IfcEntityInstanceData&& e) : IfcStructuralActivity(std::move(e)) { } -Ifc2x3::IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction* v11_CausedBy) : IfcStructuralActivity(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (v10_DestabilizingLoad));set_attribute_value(10, v11_CausedBy ? v11_CausedBy->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction* v11_CausedBy) : IfcStructuralActivity(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (v10_DestabilizingLoad));set_attribute_value(10, v11_CausedBy ? v11_CausedBy->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralActivity -::Ifc2x3::IfcStructuralLoad* Ifc2x3::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc2x3::IfcStructuralLoad>(true); } +::Ifc2x3::IfcStructuralLoad* Ifc2x3::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc2x3::IfcStructuralLoad>(true); } void Ifc2x3::IfcStructuralActivity::setAppliedLoad(::Ifc2x3::IfcStructuralLoad* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc2x3::IfcGlobalOrLocalEnum::Value Ifc2x3::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc2x3::IfcGlobalOrLocalEnum::FromString(data_.get_attribute_value(8)); } +::Ifc2x3::IfcGlobalOrLocalEnum::Value Ifc2x3::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc2x3::IfcGlobalOrLocalEnum::FromString(get_attribute_value(8)); } void Ifc2x3::IfcStructuralActivity::setGlobalOrLocal(::Ifc2x3::IfcGlobalOrLocalEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } ::Ifc2x3::IfcRelConnectsStructuralActivity::list::ptr Ifc2x3::IfcStructuralActivity::AssignedToStructuralItem() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[693], 5)->as(); } @@ -11828,26 +11828,26 @@ void Ifc2x3::IfcStructuralActivity::setGlobalOrLocal(::Ifc2x3::IfcGlobalOrLocalE const IfcParse::entity& Ifc2x3::IfcStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC2X3_types[802]); } const IfcParse::entity& Ifc2x3::IfcStructuralActivity::Class() { return *((IfcParse::entity*)IFC2X3_types[802]); } Ifc2x3::IfcStructuralActivity::IfcStructuralActivity(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc2x3::IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +Ifc2x3::IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralAnalysisModel -::Ifc2x3::IfcAnalysisModelTypeEnum::Value Ifc2x3::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc2x3::IfcAnalysisModelTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc2x3::IfcAnalysisModelTypeEnum::Value Ifc2x3::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc2x3::IfcAnalysisModelTypeEnum::FromString(get_attribute_value(5)); } void Ifc2x3::IfcStructuralAnalysisModel::setPredefinedType(::Ifc2x3::IfcAnalysisModelTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc2x3::IfcAnalysisModelTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcAxis2Placement3D* Ifc2x3::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc2x3::IfcAxis2Placement3D>(true); } +::Ifc2x3::IfcAxis2Placement3D* Ifc2x3::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc2x3::IfcAxis2Placement3D>(true); } void Ifc2x3::IfcStructuralAnalysisModel::setOrientationOf2DPlane(::Ifc2x3::IfcAxis2Placement3D* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< aggregate_of< ::Ifc2x3::IfcStructuralLoadGroup >::ptr > Ifc2x3::IfcStructuralAnalysisModel::LoadedBy() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc2x3::IfcStructuralLoadGroup >(); } +boost::optional< aggregate_of< ::Ifc2x3::IfcStructuralLoadGroup >::ptr > Ifc2x3::IfcStructuralAnalysisModel::LoadedBy() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc2x3::IfcStructuralLoadGroup >(); } void Ifc2x3::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc2x3::IfcStructuralLoadGroup >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< aggregate_of< ::Ifc2x3::IfcStructuralResultGroup >::ptr > Ifc2x3::IfcStructuralAnalysisModel::HasResults() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc2x3::IfcStructuralResultGroup >(); } +boost::optional< aggregate_of< ::Ifc2x3::IfcStructuralResultGroup >::ptr > Ifc2x3::IfcStructuralAnalysisModel::HasResults() const { if(get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc2x3::IfcStructuralResultGroup >(); } void Ifc2x3::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc2x3::IfcStructuralResultGroup >::ptr > v) { if (v) {set_attribute_value(8, (*v)->generalize());} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc2x3::IfcStructuralAnalysisModel::declaration() const { return *((IfcParse::entity*)IFC2X3_types[804]); } const IfcParse::entity& Ifc2x3::IfcStructuralAnalysisModel::Class() { return *((IfcParse::entity*)IFC2X3_types[804]); } Ifc2x3::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc2x3::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc2x3::IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< aggregate_of< ::Ifc2x3::IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< aggregate_of< ::Ifc2x3::IfcStructuralResultGroup >::ptr > v9_HasResults) : IfcSystem(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, v7_OrientationOf2DPlane ? v7_OrientationOf2DPlane->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LoadedBy) {set_attribute_value(7, (*v8_LoadedBy)->generalize()); } if (v9_HasResults) {set_attribute_value(8, (*v9_HasResults)->generalize()); }; populate_derived(); } +Ifc2x3::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc2x3::IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< aggregate_of< ::Ifc2x3::IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< aggregate_of< ::Ifc2x3::IfcStructuralResultGroup >::ptr > v9_HasResults) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, v7_OrientationOf2DPlane ? v7_OrientationOf2DPlane->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LoadedBy) {set_attribute_value(7, (*v8_LoadedBy)->generalize()); } if (v9_HasResults) {set_attribute_value(8, (*v9_HasResults)->generalize()); }; populate_derived(); } // Function implementations for IfcStructuralConnection -::Ifc2x3::IfcBoundaryCondition* Ifc2x3::IfcStructuralConnection::AppliedCondition() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc2x3::IfcBoundaryCondition>(true); } +::Ifc2x3::IfcBoundaryCondition* Ifc2x3::IfcStructuralConnection::AppliedCondition() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc2x3::IfcBoundaryCondition>(true); } void Ifc2x3::IfcStructuralConnection::setAppliedCondition(::Ifc2x3::IfcBoundaryCondition* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } ::Ifc2x3::IfcRelConnectsStructuralMember::list::ptr Ifc2x3::IfcStructuralConnection::ConnectsStructuralMembers() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[695], 5)->as(); } @@ -11855,17 +11855,17 @@ void Ifc2x3::IfcStructuralConnection::setAppliedCondition(::Ifc2x3::IfcBoundaryC const IfcParse::entity& Ifc2x3::IfcStructuralConnection::declaration() const { return *((IfcParse::entity*)IFC2X3_types[805]); } const IfcParse::entity& Ifc2x3::IfcStructuralConnection::Class() { return *((IfcParse::entity*)IFC2X3_types[805]); } Ifc2x3::IfcStructuralConnection::IfcStructuralConnection(IfcEntityInstanceData&& e) : IfcStructuralItem(std::move(e)) { } -Ifc2x3::IfcStructuralConnection::IfcStructuralConnection(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralItem(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcStructuralConnection::IfcStructuralConnection(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralItem(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralConnectionCondition -boost::optional< std::string > Ifc2x3::IfcStructuralConnectionCondition::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc2x3::IfcStructuralConnectionCondition::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcStructuralConnectionCondition::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc2x3::IfcStructuralConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC2X3_types[806]); } const IfcParse::entity& Ifc2x3::IfcStructuralConnectionCondition::Class() { return *((IfcParse::entity*)IFC2X3_types[806]); } Ifc2x3::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc2x3::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralCurveConnection @@ -11873,17 +11873,17 @@ Ifc2x3::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost const IfcParse::entity& Ifc2x3::IfcStructuralCurveConnection::declaration() const { return *((IfcParse::entity*)IFC2X3_types[807]); } const IfcParse::entity& Ifc2x3::IfcStructuralCurveConnection::Class() { return *((IfcParse::entity*)IFC2X3_types[807]); } Ifc2x3::IfcStructuralCurveConnection::IfcStructuralCurveConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -Ifc2x3::IfcStructuralCurveConnection::IfcStructuralCurveConnection(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcStructuralCurveConnection::IfcStructuralCurveConnection(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralCurveMember -::Ifc2x3::IfcStructuralCurveTypeEnum::Value Ifc2x3::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc2x3::IfcStructuralCurveTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc2x3::IfcStructuralCurveTypeEnum::Value Ifc2x3::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc2x3::IfcStructuralCurveTypeEnum::FromString(get_attribute_value(7)); } void Ifc2x3::IfcStructuralCurveMember::setPredefinedType(::Ifc2x3::IfcStructuralCurveTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc2x3::IfcStructuralCurveTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc2x3::IfcStructuralCurveMember::declaration() const { return *((IfcParse::entity*)IFC2X3_types[808]); } const IfcParse::entity& Ifc2x3::IfcStructuralCurveMember::Class() { return *((IfcParse::entity*)IFC2X3_types[808]); } Ifc2x3::IfcStructuralCurveMember::IfcStructuralCurveMember(IfcEntityInstanceData&& e) : IfcStructuralMember(std::move(e)) { } -Ifc2x3::IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcStructuralCurveTypeEnum::Value v8_PredefinedType) : IfcStructuralMember(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcStructuralCurveTypeEnum::Class(),(size_t)v8_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcStructuralCurveTypeEnum::Value v8_PredefinedType) : IfcStructuralMember(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcStructuralCurveTypeEnum::Class(),(size_t)v8_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralCurveMemberVarying @@ -11891,7 +11891,7 @@ Ifc2x3::IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_Global const IfcParse::entity& Ifc2x3::IfcStructuralCurveMemberVarying::declaration() const { return *((IfcParse::entity*)IFC2X3_types[809]); } const IfcParse::entity& Ifc2x3::IfcStructuralCurveMemberVarying::Class() { return *((IfcParse::entity*)IFC2X3_types[809]); } Ifc2x3::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(IfcEntityInstanceData&& e) : IfcStructuralCurveMember(std::move(e)) { } -Ifc2x3::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcStructuralCurveTypeEnum::Value v8_PredefinedType) : IfcStructuralCurveMember(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcStructuralCurveTypeEnum::Class(),(size_t)v8_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcStructuralCurveTypeEnum::Value v8_PredefinedType) : IfcStructuralCurveMember(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcStructuralCurveTypeEnum::Class(),(size_t)v8_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralItem @@ -11900,50 +11900,50 @@ Ifc2x3::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(std::st const IfcParse::entity& Ifc2x3::IfcStructuralItem::declaration() const { return *((IfcParse::entity*)IFC2X3_types[811]); } const IfcParse::entity& Ifc2x3::IfcStructuralItem::Class() { return *((IfcParse::entity*)IFC2X3_types[811]); } Ifc2x3::IfcStructuralItem::IfcStructuralItem(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc2x3::IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralLinearAction -::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value Ifc2x3::IfcStructuralLinearAction::ProjectedOrTrue() const { return ::Ifc2x3::IfcProjectedOrTrueLengthEnum::FromString(data_.get_attribute_value(11)); } +::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value Ifc2x3::IfcStructuralLinearAction::ProjectedOrTrue() const { return ::Ifc2x3::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(11)); } void Ifc2x3::IfcStructuralLinearAction::setProjectedOrTrue(::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc2x3::IfcProjectedOrTrueLengthEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc2x3::IfcStructuralLinearAction::declaration() const { return *((IfcParse::entity*)IFC2X3_types[812]); } const IfcParse::entity& Ifc2x3::IfcStructuralLinearAction::Class() { return *((IfcParse::entity*)IFC2X3_types[812]); } Ifc2x3::IfcStructuralLinearAction::IfcStructuralLinearAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -Ifc2x3::IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction* v11_CausedBy, ::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value v12_ProjectedOrTrue) : IfcStructuralAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (v10_DestabilizingLoad));set_attribute_value(10, v11_CausedBy ? v11_CausedBy->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc2x3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)v12_ProjectedOrTrue)));; populate_derived(); } +Ifc2x3::IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction* v11_CausedBy, ::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value v12_ProjectedOrTrue) : IfcStructuralAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (v10_DestabilizingLoad));set_attribute_value(10, v11_CausedBy ? v11_CausedBy->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc2x3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)v12_ProjectedOrTrue)));; populate_derived(); } // Function implementations for IfcStructuralLinearActionVarying -::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcStructuralLinearActionVarying::VaryingAppliedLoadLocation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(12)))->as<::Ifc2x3::IfcShapeAspect>(true); } +::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcStructuralLinearActionVarying::VaryingAppliedLoadLocation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(12)))->as<::Ifc2x3::IfcShapeAspect>(true); } void Ifc2x3::IfcStructuralLinearActionVarying::setVaryingAppliedLoadLocation(::Ifc2x3::IfcShapeAspect* v) { set_attribute_value(12, v->as());if constexpr (false)unset_attribute_value(12); } -aggregate_of< ::Ifc2x3::IfcStructuralLoad >::ptr Ifc2x3::IfcStructuralLinearActionVarying::SubsequentAppliedLoads() const { aggregate_of_instance::ptr es = data_.get_attribute_value(13); return es->as< ::Ifc2x3::IfcStructuralLoad >(); } +aggregate_of< ::Ifc2x3::IfcStructuralLoad >::ptr Ifc2x3::IfcStructuralLinearActionVarying::SubsequentAppliedLoads() const { aggregate_of_instance::ptr es = get_attribute_value(13); return es->as< ::Ifc2x3::IfcStructuralLoad >(); } void Ifc2x3::IfcStructuralLinearActionVarying::setSubsequentAppliedLoads(aggregate_of< ::Ifc2x3::IfcStructuralLoad >::ptr v) { set_attribute_value(13, (v)->generalize());if constexpr (false)unset_attribute_value(13); } const IfcParse::entity& Ifc2x3::IfcStructuralLinearActionVarying::declaration() const { return *((IfcParse::entity*)IFC2X3_types[813]); } const IfcParse::entity& Ifc2x3::IfcStructuralLinearActionVarying::Class() { return *((IfcParse::entity*)IFC2X3_types[813]); } Ifc2x3::IfcStructuralLinearActionVarying::IfcStructuralLinearActionVarying(IfcEntityInstanceData&& e) : IfcStructuralLinearAction(std::move(e)) { } -Ifc2x3::IfcStructuralLinearActionVarying::IfcStructuralLinearActionVarying(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction* v11_CausedBy, ::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value v12_ProjectedOrTrue, ::Ifc2x3::IfcShapeAspect* v13_VaryingAppliedLoadLocation, aggregate_of< ::Ifc2x3::IfcStructuralLoad >::ptr v14_SubsequentAppliedLoads) : IfcStructuralLinearAction(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (v10_DestabilizingLoad));set_attribute_value(10, v11_CausedBy ? v11_CausedBy->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc2x3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)v12_ProjectedOrTrue)));set_attribute_value(12, v13_VaryingAppliedLoadLocation ? v13_VaryingAppliedLoadLocation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(13, (v14_SubsequentAppliedLoads)->generalize());; populate_derived(); } +Ifc2x3::IfcStructuralLinearActionVarying::IfcStructuralLinearActionVarying(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction* v11_CausedBy, ::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value v12_ProjectedOrTrue, ::Ifc2x3::IfcShapeAspect* v13_VaryingAppliedLoadLocation, aggregate_of< ::Ifc2x3::IfcStructuralLoad >::ptr v14_SubsequentAppliedLoads) : IfcStructuralLinearAction(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (v10_DestabilizingLoad));set_attribute_value(10, v11_CausedBy ? v11_CausedBy->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc2x3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)v12_ProjectedOrTrue)));set_attribute_value(12, v13_VaryingAppliedLoadLocation ? v13_VaryingAppliedLoadLocation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(13, (v14_SubsequentAppliedLoads)->generalize());; populate_derived(); } // Function implementations for IfcStructuralLoad -boost::optional< std::string > Ifc2x3::IfcStructuralLoad::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc2x3::IfcStructuralLoad::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcStructuralLoad::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc2x3::IfcStructuralLoad::declaration() const { return *((IfcParse::entity*)IFC2X3_types[814]); } const IfcParse::entity& Ifc2x3::IfcStructuralLoad::Class() { return *((IfcParse::entity*)IFC2X3_types[814]); } Ifc2x3::IfcStructuralLoad::IfcStructuralLoad(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc2x3::IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralLoadGroup -::Ifc2x3::IfcLoadGroupTypeEnum::Value Ifc2x3::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc2x3::IfcLoadGroupTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc2x3::IfcLoadGroupTypeEnum::Value Ifc2x3::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc2x3::IfcLoadGroupTypeEnum::FromString(get_attribute_value(5)); } void Ifc2x3::IfcStructuralLoadGroup::setPredefinedType(::Ifc2x3::IfcLoadGroupTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc2x3::IfcLoadGroupTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcActionTypeEnum::Value Ifc2x3::IfcStructuralLoadGroup::ActionType() const { return ::Ifc2x3::IfcActionTypeEnum::FromString(data_.get_attribute_value(6)); } +::Ifc2x3::IfcActionTypeEnum::Value Ifc2x3::IfcStructuralLoadGroup::ActionType() const { return ::Ifc2x3::IfcActionTypeEnum::FromString(get_attribute_value(6)); } void Ifc2x3::IfcStructuralLoadGroup::setActionType(::Ifc2x3::IfcActionTypeEnum::Value v) { set_attribute_value(6, EnumerationReference(&::Ifc2x3::IfcActionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(6); } -::Ifc2x3::IfcActionSourceTypeEnum::Value Ifc2x3::IfcStructuralLoadGroup::ActionSource() const { return ::Ifc2x3::IfcActionSourceTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc2x3::IfcActionSourceTypeEnum::Value Ifc2x3::IfcStructuralLoadGroup::ActionSource() const { return ::Ifc2x3::IfcActionSourceTypeEnum::FromString(get_attribute_value(7)); } void Ifc2x3::IfcStructuralLoadGroup::setActionSource(::Ifc2x3::IfcActionSourceTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc2x3::IfcActionSourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc2x3::IfcStructuralLoadGroup::Coefficient() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc2x3::IfcStructuralLoadGroup::Coefficient() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc2x3::IfcStructuralLoadGroup::setCoefficient(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc2x3::IfcStructuralLoadGroup::Purpose() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc2x3::IfcStructuralLoadGroup::Purpose() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc2x3::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } ::Ifc2x3::IfcStructuralResultGroup::list::ptr Ifc2x3::IfcStructuralLoadGroup::SourceOfResultGroup() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[832], 6)->as(); } @@ -11952,101 +11952,101 @@ void Ifc2x3::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string > v const IfcParse::entity& Ifc2x3::IfcStructuralLoadGroup::declaration() const { return *((IfcParse::entity*)IFC2X3_types[815]); } const IfcParse::entity& Ifc2x3::IfcStructuralLoadGroup::Class() { return *((IfcParse::entity*)IFC2X3_types[815]); } Ifc2x3::IfcStructuralLoadGroup::IfcStructuralLoadGroup(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc2x3::IfcStructuralLoadGroup::IfcStructuralLoadGroup(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc2x3::IfcActionTypeEnum::Value v7_ActionType, ::Ifc2x3::IfcActionSourceTypeEnum::Value v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose) : IfcGroup(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc2x3::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; populate_derived(); } +Ifc2x3::IfcStructuralLoadGroup::IfcStructuralLoadGroup(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc2x3::IfcActionTypeEnum::Value v7_ActionType, ::Ifc2x3::IfcActionSourceTypeEnum::Value v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc2x3::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; populate_derived(); } // Function implementations for IfcStructuralLoadLinearForce -boost::optional< double > Ifc2x3::IfcStructuralLoadLinearForce::LinearForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc2x3::IfcStructuralLoadLinearForce::LinearForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc2x3::IfcStructuralLoadLinearForce::setLinearForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc2x3::IfcStructuralLoadLinearForce::LinearForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc2x3::IfcStructuralLoadLinearForce::LinearForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc2x3::IfcStructuralLoadLinearForce::setLinearForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc2x3::IfcStructuralLoadLinearForce::LinearForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc2x3::IfcStructuralLoadLinearForce::LinearForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc2x3::IfcStructuralLoadLinearForce::setLinearForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc2x3::IfcStructuralLoadLinearForce::LinearMomentX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc2x3::IfcStructuralLoadLinearForce::LinearMomentX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc2x3::IfcStructuralLoadLinearForce::setLinearMomentX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc2x3::IfcStructuralLoadLinearForce::LinearMomentY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc2x3::IfcStructuralLoadLinearForce::LinearMomentY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc2x3::IfcStructuralLoadLinearForce::setLinearMomentY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc2x3::IfcStructuralLoadLinearForce::LinearMomentZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc2x3::IfcStructuralLoadLinearForce::LinearMomentZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc2x3::IfcStructuralLoadLinearForce::setLinearMomentZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc2x3::IfcStructuralLoadLinearForce::declaration() const { return *((IfcParse::entity*)IFC2X3_types[816]); } const IfcParse::entity& Ifc2x3::IfcStructuralLoadLinearForce::Class() { return *((IfcParse::entity*)IFC2X3_types[816]); } Ifc2x3::IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc2x3::IfcStructuralLoadLinearForce::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) : IfcStructuralLoadStatic(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; populate_derived(); } +Ifc2x3::IfcStructuralLoadLinearForce::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) : IfcStructuralLoadStatic(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadPlanarForce -boost::optional< double > Ifc2x3::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc2x3::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc2x3::IfcStructuralLoadPlanarForce::setPlanarForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc2x3::IfcStructuralLoadPlanarForce::PlanarForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc2x3::IfcStructuralLoadPlanarForce::PlanarForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc2x3::IfcStructuralLoadPlanarForce::setPlanarForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc2x3::IfcStructuralLoadPlanarForce::PlanarForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc2x3::IfcStructuralLoadPlanarForce::PlanarForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc2x3::IfcStructuralLoadPlanarForce::setPlanarForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc2x3::IfcStructuralLoadPlanarForce::declaration() const { return *((IfcParse::entity*)IFC2X3_types[817]); } const IfcParse::entity& Ifc2x3::IfcStructuralLoadPlanarForce::Class() { return *((IfcParse::entity*)IFC2X3_types[817]); } Ifc2x3::IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc2x3::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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; populate_derived(); } +Ifc2x3::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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleDisplacement -boost::optional< double > Ifc2x3::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc2x3::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc2x3::IfcStructuralLoadSingleDisplacement::setDisplacementX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc2x3::IfcStructuralLoadSingleDisplacement::DisplacementY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc2x3::IfcStructuralLoadSingleDisplacement::DisplacementY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc2x3::IfcStructuralLoadSingleDisplacement::setDisplacementY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc2x3::IfcStructuralLoadSingleDisplacement::DisplacementZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc2x3::IfcStructuralLoadSingleDisplacement::DisplacementZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc2x3::IfcStructuralLoadSingleDisplacement::setDisplacementZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc2x3::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc2x3::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc2x3::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc2x3::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc2x3::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc2x3::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc2x3::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc2x3::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc2x3::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc2x3::IfcStructuralLoadSingleDisplacement::declaration() const { return *((IfcParse::entity*)IFC2X3_types[818]); } const IfcParse::entity& Ifc2x3::IfcStructuralLoadSingleDisplacement::Class() { return *((IfcParse::entity*)IFC2X3_types[818]); } Ifc2x3::IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc2x3::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; populate_derived(); } +Ifc2x3::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleDisplacementDistortion -boost::optional< double > Ifc2x3::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc2x3::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc2x3::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc2x3::IfcStructuralLoadSingleDisplacementDistortion::declaration() const { return *((IfcParse::entity*)IFC2X3_types[819]); } const IfcParse::entity& Ifc2x3::IfcStructuralLoadSingleDisplacementDistortion::Class() { return *((IfcParse::entity*)IFC2X3_types[819]); } Ifc2x3::IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDisplacementDistortion(IfcEntityInstanceData&& e) : IfcStructuralLoadSingleDisplacement(std::move(e)) { } -Ifc2x3::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(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; populate_derived(); } +Ifc2x3::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(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleForce -boost::optional< double > Ifc2x3::IfcStructuralLoadSingleForce::ForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc2x3::IfcStructuralLoadSingleForce::ForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc2x3::IfcStructuralLoadSingleForce::setForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc2x3::IfcStructuralLoadSingleForce::ForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc2x3::IfcStructuralLoadSingleForce::ForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc2x3::IfcStructuralLoadSingleForce::setForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc2x3::IfcStructuralLoadSingleForce::ForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc2x3::IfcStructuralLoadSingleForce::ForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc2x3::IfcStructuralLoadSingleForce::setForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc2x3::IfcStructuralLoadSingleForce::MomentX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc2x3::IfcStructuralLoadSingleForce::MomentX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc2x3::IfcStructuralLoadSingleForce::setMomentX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc2x3::IfcStructuralLoadSingleForce::MomentY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc2x3::IfcStructuralLoadSingleForce::MomentY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc2x3::IfcStructuralLoadSingleForce::setMomentY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc2x3::IfcStructuralLoadSingleForce::MomentZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc2x3::IfcStructuralLoadSingleForce::MomentZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc2x3::IfcStructuralLoadSingleForce::setMomentZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc2x3::IfcStructuralLoadSingleForce::declaration() const { return *((IfcParse::entity*)IFC2X3_types[820]); } const IfcParse::entity& Ifc2x3::IfcStructuralLoadSingleForce::Class() { return *((IfcParse::entity*)IFC2X3_types[820]); } Ifc2x3::IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc2x3::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; populate_derived(); } +Ifc2x3::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleForceWarping -boost::optional< double > Ifc2x3::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc2x3::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc2x3::IfcStructuralLoadSingleForceWarping::setWarpingMoment(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc2x3::IfcStructuralLoadSingleForceWarping::declaration() const { return *((IfcParse::entity*)IFC2X3_types[821]); } const IfcParse::entity& Ifc2x3::IfcStructuralLoadSingleForceWarping::Class() { return *((IfcParse::entity*)IFC2X3_types[821]); } Ifc2x3::IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWarping(IfcEntityInstanceData&& e) : IfcStructuralLoadSingleForce(std::move(e)) { } -Ifc2x3::IfcStructuralLoadSingleForceWarping::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) : IfcStructuralLoadSingleForce(IfcEntityInstanceData(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; populate_derived(); } +Ifc2x3::IfcStructuralLoadSingleForceWarping::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) : IfcStructuralLoadSingleForce(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; populate_derived(); } // Function implementations for IfcStructuralLoadStatic @@ -12054,21 +12054,21 @@ Ifc2x3::IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWarping const IfcParse::entity& Ifc2x3::IfcStructuralLoadStatic::declaration() const { return *((IfcParse::entity*)IFC2X3_types[822]); } const IfcParse::entity& Ifc2x3::IfcStructuralLoadStatic::Class() { return *((IfcParse::entity*)IFC2X3_types[822]); } Ifc2x3::IfcStructuralLoadStatic::IfcStructuralLoadStatic(IfcEntityInstanceData&& e) : IfcStructuralLoad(std::move(e)) { } -Ifc2x3::IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< std::string > v1_Name) : IfcStructuralLoad(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc2x3::IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< std::string > v1_Name) : IfcStructuralLoad(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralLoadTemperature -boost::optional< double > Ifc2x3::IfcStructuralLoadTemperature::DeltaT_Constant() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc2x3::IfcStructuralLoadTemperature::DeltaT_Constant() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc2x3::IfcStructuralLoadTemperature::setDeltaT_Constant(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc2x3::IfcStructuralLoadTemperature::DeltaT_Y() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc2x3::IfcStructuralLoadTemperature::DeltaT_Y() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc2x3::IfcStructuralLoadTemperature::setDeltaT_Y(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc2x3::IfcStructuralLoadTemperature::DeltaT_Z() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc2x3::IfcStructuralLoadTemperature::DeltaT_Z() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc2x3::IfcStructuralLoadTemperature::setDeltaT_Z(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc2x3::IfcStructuralLoadTemperature::declaration() const { return *((IfcParse::entity*)IFC2X3_types[823]); } const IfcParse::entity& Ifc2x3::IfcStructuralLoadTemperature::Class() { return *((IfcParse::entity*)IFC2X3_types[823]); } Ifc2x3::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc2x3::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::optional< std::string > v1_Name, boost::optional< double > v2_DeltaT_Constant, boost::optional< double > v3_DeltaT_Y, boost::optional< double > v4_DeltaT_Z) : IfcStructuralLoadStatic(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaT_Constant) {set_attribute_value(1, (*v2_DeltaT_Constant)); } if (v3_DeltaT_Y) {set_attribute_value(2, (*v3_DeltaT_Y)); } if (v4_DeltaT_Z) {set_attribute_value(3, (*v4_DeltaT_Z)); }; populate_derived(); } +Ifc2x3::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::optional< std::string > v1_Name, boost::optional< double > v2_DeltaT_Constant, boost::optional< double > v3_DeltaT_Y, boost::optional< double > v4_DeltaT_Z) : IfcStructuralLoadStatic(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaT_Constant) {set_attribute_value(1, (*v2_DeltaT_Constant)); } if (v3_DeltaT_Y) {set_attribute_value(2, (*v3_DeltaT_Y)); } if (v4_DeltaT_Z) {set_attribute_value(3, (*v4_DeltaT_Z)); }; populate_derived(); } // Function implementations for IfcStructuralMember @@ -12078,29 +12078,29 @@ Ifc2x3::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::option const IfcParse::entity& Ifc2x3::IfcStructuralMember::declaration() const { return *((IfcParse::entity*)IFC2X3_types[824]); } const IfcParse::entity& Ifc2x3::IfcStructuralMember::Class() { return *((IfcParse::entity*)IFC2X3_types[824]); } Ifc2x3::IfcStructuralMember::IfcStructuralMember(IfcEntityInstanceData&& e) : IfcStructuralItem(std::move(e)) { } -Ifc2x3::IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation) : IfcStructuralItem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation) : IfcStructuralItem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralPlanarAction -::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value Ifc2x3::IfcStructuralPlanarAction::ProjectedOrTrue() const { return ::Ifc2x3::IfcProjectedOrTrueLengthEnum::FromString(data_.get_attribute_value(11)); } +::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value Ifc2x3::IfcStructuralPlanarAction::ProjectedOrTrue() const { return ::Ifc2x3::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(11)); } void Ifc2x3::IfcStructuralPlanarAction::setProjectedOrTrue(::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc2x3::IfcProjectedOrTrueLengthEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc2x3::IfcStructuralPlanarAction::declaration() const { return *((IfcParse::entity*)IFC2X3_types[825]); } const IfcParse::entity& Ifc2x3::IfcStructuralPlanarAction::Class() { return *((IfcParse::entity*)IFC2X3_types[825]); } Ifc2x3::IfcStructuralPlanarAction::IfcStructuralPlanarAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -Ifc2x3::IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction* v11_CausedBy, ::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value v12_ProjectedOrTrue) : IfcStructuralAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (v10_DestabilizingLoad));set_attribute_value(10, v11_CausedBy ? v11_CausedBy->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc2x3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)v12_ProjectedOrTrue)));; populate_derived(); } +Ifc2x3::IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction* v11_CausedBy, ::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value v12_ProjectedOrTrue) : IfcStructuralAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (v10_DestabilizingLoad));set_attribute_value(10, v11_CausedBy ? v11_CausedBy->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc2x3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)v12_ProjectedOrTrue)));; populate_derived(); } // Function implementations for IfcStructuralPlanarActionVarying -::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcStructuralPlanarActionVarying::VaryingAppliedLoadLocation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(12)))->as<::Ifc2x3::IfcShapeAspect>(true); } +::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcStructuralPlanarActionVarying::VaryingAppliedLoadLocation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(12)))->as<::Ifc2x3::IfcShapeAspect>(true); } void Ifc2x3::IfcStructuralPlanarActionVarying::setVaryingAppliedLoadLocation(::Ifc2x3::IfcShapeAspect* v) { set_attribute_value(12, v->as());if constexpr (false)unset_attribute_value(12); } -aggregate_of< ::Ifc2x3::IfcStructuralLoad >::ptr Ifc2x3::IfcStructuralPlanarActionVarying::SubsequentAppliedLoads() const { aggregate_of_instance::ptr es = data_.get_attribute_value(13); return es->as< ::Ifc2x3::IfcStructuralLoad >(); } +aggregate_of< ::Ifc2x3::IfcStructuralLoad >::ptr Ifc2x3::IfcStructuralPlanarActionVarying::SubsequentAppliedLoads() const { aggregate_of_instance::ptr es = get_attribute_value(13); return es->as< ::Ifc2x3::IfcStructuralLoad >(); } void Ifc2x3::IfcStructuralPlanarActionVarying::setSubsequentAppliedLoads(aggregate_of< ::Ifc2x3::IfcStructuralLoad >::ptr v) { set_attribute_value(13, (v)->generalize());if constexpr (false)unset_attribute_value(13); } const IfcParse::entity& Ifc2x3::IfcStructuralPlanarActionVarying::declaration() const { return *((IfcParse::entity*)IFC2X3_types[826]); } const IfcParse::entity& Ifc2x3::IfcStructuralPlanarActionVarying::Class() { return *((IfcParse::entity*)IFC2X3_types[826]); } Ifc2x3::IfcStructuralPlanarActionVarying::IfcStructuralPlanarActionVarying(IfcEntityInstanceData&& e) : IfcStructuralPlanarAction(std::move(e)) { } -Ifc2x3::IfcStructuralPlanarActionVarying::IfcStructuralPlanarActionVarying(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction* v11_CausedBy, ::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value v12_ProjectedOrTrue, ::Ifc2x3::IfcShapeAspect* v13_VaryingAppliedLoadLocation, aggregate_of< ::Ifc2x3::IfcStructuralLoad >::ptr v14_SubsequentAppliedLoads) : IfcStructuralPlanarAction(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (v10_DestabilizingLoad));set_attribute_value(10, v11_CausedBy ? v11_CausedBy->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc2x3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)v12_ProjectedOrTrue)));set_attribute_value(12, v13_VaryingAppliedLoadLocation ? v13_VaryingAppliedLoadLocation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(13, (v14_SubsequentAppliedLoads)->generalize());; populate_derived(); } +Ifc2x3::IfcStructuralPlanarActionVarying::IfcStructuralPlanarActionVarying(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction* v11_CausedBy, ::Ifc2x3::IfcProjectedOrTrueLengthEnum::Value v12_ProjectedOrTrue, ::Ifc2x3::IfcShapeAspect* v13_VaryingAppliedLoadLocation, aggregate_of< ::Ifc2x3::IfcStructuralLoad >::ptr v14_SubsequentAppliedLoads) : IfcStructuralPlanarAction(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (v10_DestabilizingLoad));set_attribute_value(10, v11_CausedBy ? v11_CausedBy->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc2x3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)v12_ProjectedOrTrue)));set_attribute_value(12, v13_VaryingAppliedLoadLocation ? v13_VaryingAppliedLoadLocation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(13, (v14_SubsequentAppliedLoads)->generalize());; populate_derived(); } // Function implementations for IfcStructuralPointAction @@ -12108,7 +12108,7 @@ Ifc2x3::IfcStructuralPlanarActionVarying::IfcStructuralPlanarActionVarying(std:: const IfcParse::entity& Ifc2x3::IfcStructuralPointAction::declaration() const { return *((IfcParse::entity*)IFC2X3_types[827]); } const IfcParse::entity& Ifc2x3::IfcStructuralPointAction::Class() { return *((IfcParse::entity*)IFC2X3_types[827]); } Ifc2x3::IfcStructuralPointAction::IfcStructuralPointAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -Ifc2x3::IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction* v11_CausedBy) : IfcStructuralAction(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (v10_DestabilizingLoad));set_attribute_value(10, v11_CausedBy ? v11_CausedBy->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, bool v10_DestabilizingLoad, ::Ifc2x3::IfcStructuralReaction* v11_CausedBy) : IfcStructuralAction(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (v10_DestabilizingLoad));set_attribute_value(10, v11_CausedBy ? v11_CausedBy->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralPointConnection @@ -12116,7 +12116,7 @@ Ifc2x3::IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_Global const IfcParse::entity& Ifc2x3::IfcStructuralPointConnection::declaration() const { return *((IfcParse::entity*)IFC2X3_types[828]); } const IfcParse::entity& Ifc2x3::IfcStructuralPointConnection::Class() { return *((IfcParse::entity*)IFC2X3_types[828]); } Ifc2x3::IfcStructuralPointConnection::IfcStructuralPointConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -Ifc2x3::IfcStructuralPointConnection::IfcStructuralPointConnection(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcStructuralPointConnection::IfcStructuralPointConnection(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralPointReaction @@ -12124,47 +12124,47 @@ Ifc2x3::IfcStructuralPointConnection::IfcStructuralPointConnection(std::string v const IfcParse::entity& Ifc2x3::IfcStructuralPointReaction::declaration() const { return *((IfcParse::entity*)IFC2X3_types[829]); } const IfcParse::entity& Ifc2x3::IfcStructuralPointReaction::Class() { return *((IfcParse::entity*)IFC2X3_types[829]); } Ifc2x3::IfcStructuralPointReaction::IfcStructuralPointReaction(IfcEntityInstanceData&& e) : IfcStructuralReaction(std::move(e)) { } -Ifc2x3::IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralReaction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +Ifc2x3::IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralReaction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralProfileProperties -boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::TorsionalConstantX() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::TorsionalConstantX() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc2x3::IfcStructuralProfileProperties::setTorsionalConstantX(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::MomentOfInertiaYZ() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::MomentOfInertiaYZ() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc2x3::IfcStructuralProfileProperties::setMomentOfInertiaYZ(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::MomentOfInertiaY() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::MomentOfInertiaY() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc2x3::IfcStructuralProfileProperties::setMomentOfInertiaY(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::MomentOfInertiaZ() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::MomentOfInertiaZ() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc2x3::IfcStructuralProfileProperties::setMomentOfInertiaZ(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::WarpingConstant() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::WarpingConstant() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc2x3::IfcStructuralProfileProperties::setWarpingConstant(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::ShearCentreZ() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::ShearCentreZ() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc2x3::IfcStructuralProfileProperties::setShearCentreZ(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::ShearCentreY() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::ShearCentreY() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc2x3::IfcStructuralProfileProperties::setShearCentreY(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::ShearDeformationAreaZ() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::ShearDeformationAreaZ() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc2x3::IfcStructuralProfileProperties::setShearDeformationAreaZ(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::ShearDeformationAreaY() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::ShearDeformationAreaY() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc2x3::IfcStructuralProfileProperties::setShearDeformationAreaY(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::MaximumSectionModulusY() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::MaximumSectionModulusY() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc2x3::IfcStructuralProfileProperties::setMaximumSectionModulusY(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::MinimumSectionModulusY() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } double v = data_.get_attribute_value(17); return v; } +boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::MinimumSectionModulusY() const { if(get_attribute_value(17).isNull()) { return boost::none; } double v = get_attribute_value(17); return v; } void Ifc2x3::IfcStructuralProfileProperties::setMinimumSectionModulusY(boost::optional< double > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } -boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::MaximumSectionModulusZ() const { if(data_.get_attribute_value(18).isNull()) { return boost::none; } double v = data_.get_attribute_value(18); return v; } +boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::MaximumSectionModulusZ() const { if(get_attribute_value(18).isNull()) { return boost::none; } double v = get_attribute_value(18); return v; } void Ifc2x3::IfcStructuralProfileProperties::setMaximumSectionModulusZ(boost::optional< double > v) { if (v) {set_attribute_value(18, *v);} else {unset_attribute_value(18);} } -boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::MinimumSectionModulusZ() const { if(data_.get_attribute_value(19).isNull()) { return boost::none; } double v = data_.get_attribute_value(19); return v; } +boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::MinimumSectionModulusZ() const { if(get_attribute_value(19).isNull()) { return boost::none; } double v = get_attribute_value(19); return v; } void Ifc2x3::IfcStructuralProfileProperties::setMinimumSectionModulusZ(boost::optional< double > v) { if (v) {set_attribute_value(19, *v);} else {unset_attribute_value(19);} } -boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::TorsionalSectionModulus() const { if(data_.get_attribute_value(20).isNull()) { return boost::none; } double v = data_.get_attribute_value(20); return v; } +boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::TorsionalSectionModulus() const { if(get_attribute_value(20).isNull()) { return boost::none; } double v = get_attribute_value(20); return v; } void Ifc2x3::IfcStructuralProfileProperties::setTorsionalSectionModulus(boost::optional< double > v) { if (v) {set_attribute_value(20, *v);} else {unset_attribute_value(20);} } -boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::CentreOfGravityInX() const { if(data_.get_attribute_value(21).isNull()) { return boost::none; } double v = data_.get_attribute_value(21); return v; } +boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::CentreOfGravityInX() const { if(get_attribute_value(21).isNull()) { return boost::none; } double v = get_attribute_value(21); return v; } void Ifc2x3::IfcStructuralProfileProperties::setCentreOfGravityInX(boost::optional< double > v) { if (v) {set_attribute_value(21, *v);} else {unset_attribute_value(21);} } -boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::CentreOfGravityInY() const { if(data_.get_attribute_value(22).isNull()) { return boost::none; } double v = data_.get_attribute_value(22); return v; } +boost::optional< double > Ifc2x3::IfcStructuralProfileProperties::CentreOfGravityInY() const { if(get_attribute_value(22).isNull()) { return boost::none; } double v = get_attribute_value(22); return v; } void Ifc2x3::IfcStructuralProfileProperties::setCentreOfGravityInY(boost::optional< double > v) { if (v) {set_attribute_value(22, *v);} else {unset_attribute_value(22);} } const IfcParse::entity& Ifc2x3::IfcStructuralProfileProperties::declaration() const { return *((IfcParse::entity*)IFC2X3_types[830]); } const IfcParse::entity& Ifc2x3::IfcStructuralProfileProperties::Class() { return *((IfcParse::entity*)IFC2X3_types[830]); } Ifc2x3::IfcStructuralProfileProperties::IfcStructuralProfileProperties(IfcEntityInstanceData&& e) : IfcGeneralProfileProperties(std::move(e)) { } -Ifc2x3::IfcStructuralProfileProperties::IfcStructuralProfileProperties(boost::optional< std::string > v1_ProfileName, ::Ifc2x3::IfcProfileDef* v2_ProfileDefinition, boost::optional< double > v3_PhysicalWeight, boost::optional< double > v4_Perimeter, boost::optional< double > v5_MinimumPlateThickness, boost::optional< double > v6_MaximumPlateThickness, boost::optional< double > v7_CrossSectionArea, boost::optional< double > v8_TorsionalConstantX, boost::optional< double > v9_MomentOfInertiaYZ, boost::optional< double > v10_MomentOfInertiaY, boost::optional< double > v11_MomentOfInertiaZ, boost::optional< double > v12_WarpingConstant, boost::optional< double > v13_ShearCentreZ, boost::optional< double > v14_ShearCentreY, boost::optional< double > v15_ShearDeformationAreaZ, boost::optional< double > v16_ShearDeformationAreaY, boost::optional< double > v17_MaximumSectionModulusY, boost::optional< double > v18_MinimumSectionModulusY, boost::optional< double > v19_MaximumSectionModulusZ, boost::optional< double > v20_MinimumSectionModulusZ, boost::optional< double > v21_TorsionalSectionModulus, boost::optional< double > v22_CentreOfGravityInX, boost::optional< double > v23_CentreOfGravityInY) : IfcGeneralProfileProperties(IfcEntityInstanceData(storage_t(23))) { if (v1_ProfileName) {set_attribute_value(0, (*v1_ProfileName)); }set_attribute_value(1, v2_ProfileDefinition ? v2_ProfileDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_PhysicalWeight) {set_attribute_value(2, (*v3_PhysicalWeight)); } if (v4_Perimeter) {set_attribute_value(3, (*v4_Perimeter)); } if (v5_MinimumPlateThickness) {set_attribute_value(4, (*v5_MinimumPlateThickness)); } if (v6_MaximumPlateThickness) {set_attribute_value(5, (*v6_MaximumPlateThickness)); } if (v7_CrossSectionArea) {set_attribute_value(6, (*v7_CrossSectionArea)); } if (v8_TorsionalConstantX) {set_attribute_value(7, (*v8_TorsionalConstantX)); } if (v9_MomentOfInertiaYZ) {set_attribute_value(8, (*v9_MomentOfInertiaYZ)); } if (v10_MomentOfInertiaY) {set_attribute_value(9, (*v10_MomentOfInertiaY)); } if (v11_MomentOfInertiaZ) {set_attribute_value(10, (*v11_MomentOfInertiaZ)); } if (v12_WarpingConstant) {set_attribute_value(11, (*v12_WarpingConstant)); } if (v13_ShearCentreZ) {set_attribute_value(12, (*v13_ShearCentreZ)); } if (v14_ShearCentreY) {set_attribute_value(13, (*v14_ShearCentreY)); } if (v15_ShearDeformationAreaZ) {set_attribute_value(14, (*v15_ShearDeformationAreaZ)); } if (v16_ShearDeformationAreaY) {set_attribute_value(15, (*v16_ShearDeformationAreaY)); } if (v17_MaximumSectionModulusY) {set_attribute_value(16, (*v17_MaximumSectionModulusY)); } if (v18_MinimumSectionModulusY) {set_attribute_value(17, (*v18_MinimumSectionModulusY)); } if (v19_MaximumSectionModulusZ) {set_attribute_value(18, (*v19_MaximumSectionModulusZ)); } if (v20_MinimumSectionModulusZ) {set_attribute_value(19, (*v20_MinimumSectionModulusZ)); } if (v21_TorsionalSectionModulus) {set_attribute_value(20, (*v21_TorsionalSectionModulus)); } if (v22_CentreOfGravityInX) {set_attribute_value(21, (*v22_CentreOfGravityInX)); } if (v23_CentreOfGravityInY) {set_attribute_value(22, (*v23_CentreOfGravityInY)); }; populate_derived(); } +Ifc2x3::IfcStructuralProfileProperties::IfcStructuralProfileProperties(boost::optional< std::string > v1_ProfileName, ::Ifc2x3::IfcProfileDef* v2_ProfileDefinition, boost::optional< double > v3_PhysicalWeight, boost::optional< double > v4_Perimeter, boost::optional< double > v5_MinimumPlateThickness, boost::optional< double > v6_MaximumPlateThickness, boost::optional< double > v7_CrossSectionArea, boost::optional< double > v8_TorsionalConstantX, boost::optional< double > v9_MomentOfInertiaYZ, boost::optional< double > v10_MomentOfInertiaY, boost::optional< double > v11_MomentOfInertiaZ, boost::optional< double > v12_WarpingConstant, boost::optional< double > v13_ShearCentreZ, boost::optional< double > v14_ShearCentreY, boost::optional< double > v15_ShearDeformationAreaZ, boost::optional< double > v16_ShearDeformationAreaY, boost::optional< double > v17_MaximumSectionModulusY, boost::optional< double > v18_MinimumSectionModulusY, boost::optional< double > v19_MaximumSectionModulusZ, boost::optional< double > v20_MinimumSectionModulusZ, boost::optional< double > v21_TorsionalSectionModulus, boost::optional< double > v22_CentreOfGravityInX, boost::optional< double > v23_CentreOfGravityInY) : IfcGeneralProfileProperties(IfcEntityInstanceData(in_memory_attribute_storage(23))) { if (v1_ProfileName) {set_attribute_value(0, (*v1_ProfileName)); }set_attribute_value(1, v2_ProfileDefinition ? v2_ProfileDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_PhysicalWeight) {set_attribute_value(2, (*v3_PhysicalWeight)); } if (v4_Perimeter) {set_attribute_value(3, (*v4_Perimeter)); } if (v5_MinimumPlateThickness) {set_attribute_value(4, (*v5_MinimumPlateThickness)); } if (v6_MaximumPlateThickness) {set_attribute_value(5, (*v6_MaximumPlateThickness)); } if (v7_CrossSectionArea) {set_attribute_value(6, (*v7_CrossSectionArea)); } if (v8_TorsionalConstantX) {set_attribute_value(7, (*v8_TorsionalConstantX)); } if (v9_MomentOfInertiaYZ) {set_attribute_value(8, (*v9_MomentOfInertiaYZ)); } if (v10_MomentOfInertiaY) {set_attribute_value(9, (*v10_MomentOfInertiaY)); } if (v11_MomentOfInertiaZ) {set_attribute_value(10, (*v11_MomentOfInertiaZ)); } if (v12_WarpingConstant) {set_attribute_value(11, (*v12_WarpingConstant)); } if (v13_ShearCentreZ) {set_attribute_value(12, (*v13_ShearCentreZ)); } if (v14_ShearCentreY) {set_attribute_value(13, (*v14_ShearCentreY)); } if (v15_ShearDeformationAreaZ) {set_attribute_value(14, (*v15_ShearDeformationAreaZ)); } if (v16_ShearDeformationAreaY) {set_attribute_value(15, (*v16_ShearDeformationAreaY)); } if (v17_MaximumSectionModulusY) {set_attribute_value(16, (*v17_MaximumSectionModulusY)); } if (v18_MinimumSectionModulusY) {set_attribute_value(17, (*v18_MinimumSectionModulusY)); } if (v19_MaximumSectionModulusZ) {set_attribute_value(18, (*v19_MaximumSectionModulusZ)); } if (v20_MinimumSectionModulusZ) {set_attribute_value(19, (*v20_MinimumSectionModulusZ)); } if (v21_TorsionalSectionModulus) {set_attribute_value(20, (*v21_TorsionalSectionModulus)); } if (v22_CentreOfGravityInX) {set_attribute_value(21, (*v22_CentreOfGravityInX)); } if (v23_CentreOfGravityInY) {set_attribute_value(22, (*v23_CentreOfGravityInY)); }; populate_derived(); } // Function implementations for IfcStructuralReaction @@ -12173,14 +12173,14 @@ Ifc2x3::IfcStructuralProfileProperties::IfcStructuralProfileProperties(boost::op const IfcParse::entity& Ifc2x3::IfcStructuralReaction::declaration() const { return *((IfcParse::entity*)IFC2X3_types[831]); } const IfcParse::entity& Ifc2x3::IfcStructuralReaction::Class() { return *((IfcParse::entity*)IFC2X3_types[831]); } Ifc2x3::IfcStructuralReaction::IfcStructuralReaction(IfcEntityInstanceData&& e) : IfcStructuralActivity(std::move(e)) { } -Ifc2x3::IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralActivity(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +Ifc2x3::IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc2x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralActivity(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralResultGroup -::Ifc2x3::IfcAnalysisTheoryTypeEnum::Value Ifc2x3::IfcStructuralResultGroup::TheoryType() const { return ::Ifc2x3::IfcAnalysisTheoryTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc2x3::IfcAnalysisTheoryTypeEnum::Value Ifc2x3::IfcStructuralResultGroup::TheoryType() const { return ::Ifc2x3::IfcAnalysisTheoryTypeEnum::FromString(get_attribute_value(5)); } void Ifc2x3::IfcStructuralResultGroup::setTheoryType(::Ifc2x3::IfcAnalysisTheoryTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc2x3::IfcAnalysisTheoryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcStructuralLoadGroup* Ifc2x3::IfcStructuralResultGroup::ResultForLoadGroup() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc2x3::IfcStructuralLoadGroup>(true); } +::Ifc2x3::IfcStructuralLoadGroup* Ifc2x3::IfcStructuralResultGroup::ResultForLoadGroup() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc2x3::IfcStructuralLoadGroup>(true); } void Ifc2x3::IfcStructuralResultGroup::setResultForLoadGroup(::Ifc2x3::IfcStructuralLoadGroup* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -bool Ifc2x3::IfcStructuralResultGroup::IsLinear() const { bool v = data_.get_attribute_value(7); return v; } +bool Ifc2x3::IfcStructuralResultGroup::IsLinear() const { bool v = get_attribute_value(7); return v; } void Ifc2x3::IfcStructuralResultGroup::setIsLinear(bool v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc2x3::IfcStructuralAnalysisModel::list::ptr Ifc2x3::IfcStructuralResultGroup::ResultGroupFor() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[804], 8)->as(); } @@ -12188,23 +12188,23 @@ void Ifc2x3::IfcStructuralResultGroup::setIsLinear(bool v) { set_attribute_value const IfcParse::entity& Ifc2x3::IfcStructuralResultGroup::declaration() const { return *((IfcParse::entity*)IFC2X3_types[832]); } const IfcParse::entity& Ifc2x3::IfcStructuralResultGroup::Class() { return *((IfcParse::entity*)IFC2X3_types[832]); } Ifc2x3::IfcStructuralResultGroup::IfcStructuralResultGroup(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc2x3::IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc2x3::IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear) : IfcGroup(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, v7_ResultForLoadGroup ? v7_ResultForLoadGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_IsLinear));; populate_derived(); } +Ifc2x3::IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc2x3::IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, v7_ResultForLoadGroup ? v7_ResultForLoadGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_IsLinear));; populate_derived(); } // Function implementations for IfcStructuralSteelProfileProperties -boost::optional< double > Ifc2x3::IfcStructuralSteelProfileProperties::ShearAreaZ() const { if(data_.get_attribute_value(23).isNull()) { return boost::none; } double v = data_.get_attribute_value(23); return v; } +boost::optional< double > Ifc2x3::IfcStructuralSteelProfileProperties::ShearAreaZ() const { if(get_attribute_value(23).isNull()) { return boost::none; } double v = get_attribute_value(23); return v; } void Ifc2x3::IfcStructuralSteelProfileProperties::setShearAreaZ(boost::optional< double > v) { if (v) {set_attribute_value(23, *v);} else {unset_attribute_value(23);} } -boost::optional< double > Ifc2x3::IfcStructuralSteelProfileProperties::ShearAreaY() const { if(data_.get_attribute_value(24).isNull()) { return boost::none; } double v = data_.get_attribute_value(24); return v; } +boost::optional< double > Ifc2x3::IfcStructuralSteelProfileProperties::ShearAreaY() const { if(get_attribute_value(24).isNull()) { return boost::none; } double v = get_attribute_value(24); return v; } void Ifc2x3::IfcStructuralSteelProfileProperties::setShearAreaY(boost::optional< double > v) { if (v) {set_attribute_value(24, *v);} else {unset_attribute_value(24);} } -boost::optional< double > Ifc2x3::IfcStructuralSteelProfileProperties::PlasticShapeFactorY() const { if(data_.get_attribute_value(25).isNull()) { return boost::none; } double v = data_.get_attribute_value(25); return v; } +boost::optional< double > Ifc2x3::IfcStructuralSteelProfileProperties::PlasticShapeFactorY() const { if(get_attribute_value(25).isNull()) { return boost::none; } double v = get_attribute_value(25); return v; } void Ifc2x3::IfcStructuralSteelProfileProperties::setPlasticShapeFactorY(boost::optional< double > v) { if (v) {set_attribute_value(25, *v);} else {unset_attribute_value(25);} } -boost::optional< double > Ifc2x3::IfcStructuralSteelProfileProperties::PlasticShapeFactorZ() const { if(data_.get_attribute_value(26).isNull()) { return boost::none; } double v = data_.get_attribute_value(26); return v; } +boost::optional< double > Ifc2x3::IfcStructuralSteelProfileProperties::PlasticShapeFactorZ() const { if(get_attribute_value(26).isNull()) { return boost::none; } double v = get_attribute_value(26); return v; } void Ifc2x3::IfcStructuralSteelProfileProperties::setPlasticShapeFactorZ(boost::optional< double > v) { if (v) {set_attribute_value(26, *v);} else {unset_attribute_value(26);} } const IfcParse::entity& Ifc2x3::IfcStructuralSteelProfileProperties::declaration() const { return *((IfcParse::entity*)IFC2X3_types[833]); } const IfcParse::entity& Ifc2x3::IfcStructuralSteelProfileProperties::Class() { return *((IfcParse::entity*)IFC2X3_types[833]); } Ifc2x3::IfcStructuralSteelProfileProperties::IfcStructuralSteelProfileProperties(IfcEntityInstanceData&& e) : IfcStructuralProfileProperties(std::move(e)) { } -Ifc2x3::IfcStructuralSteelProfileProperties::IfcStructuralSteelProfileProperties(boost::optional< std::string > v1_ProfileName, ::Ifc2x3::IfcProfileDef* v2_ProfileDefinition, boost::optional< double > v3_PhysicalWeight, boost::optional< double > v4_Perimeter, boost::optional< double > v5_MinimumPlateThickness, boost::optional< double > v6_MaximumPlateThickness, boost::optional< double > v7_CrossSectionArea, boost::optional< double > v8_TorsionalConstantX, boost::optional< double > v9_MomentOfInertiaYZ, boost::optional< double > v10_MomentOfInertiaY, boost::optional< double > v11_MomentOfInertiaZ, boost::optional< double > v12_WarpingConstant, boost::optional< double > v13_ShearCentreZ, boost::optional< double > v14_ShearCentreY, boost::optional< double > v15_ShearDeformationAreaZ, boost::optional< double > v16_ShearDeformationAreaY, boost::optional< double > v17_MaximumSectionModulusY, boost::optional< double > v18_MinimumSectionModulusY, boost::optional< double > v19_MaximumSectionModulusZ, boost::optional< double > v20_MinimumSectionModulusZ, boost::optional< double > v21_TorsionalSectionModulus, boost::optional< double > v22_CentreOfGravityInX, boost::optional< double > v23_CentreOfGravityInY, boost::optional< double > v24_ShearAreaZ, boost::optional< double > v25_ShearAreaY, boost::optional< double > v26_PlasticShapeFactorY, boost::optional< double > v27_PlasticShapeFactorZ) : IfcStructuralProfileProperties(IfcEntityInstanceData(storage_t(27))) { if (v1_ProfileName) {set_attribute_value(0, (*v1_ProfileName)); }set_attribute_value(1, v2_ProfileDefinition ? v2_ProfileDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_PhysicalWeight) {set_attribute_value(2, (*v3_PhysicalWeight)); } if (v4_Perimeter) {set_attribute_value(3, (*v4_Perimeter)); } if (v5_MinimumPlateThickness) {set_attribute_value(4, (*v5_MinimumPlateThickness)); } if (v6_MaximumPlateThickness) {set_attribute_value(5, (*v6_MaximumPlateThickness)); } if (v7_CrossSectionArea) {set_attribute_value(6, (*v7_CrossSectionArea)); } if (v8_TorsionalConstantX) {set_attribute_value(7, (*v8_TorsionalConstantX)); } if (v9_MomentOfInertiaYZ) {set_attribute_value(8, (*v9_MomentOfInertiaYZ)); } if (v10_MomentOfInertiaY) {set_attribute_value(9, (*v10_MomentOfInertiaY)); } if (v11_MomentOfInertiaZ) {set_attribute_value(10, (*v11_MomentOfInertiaZ)); } if (v12_WarpingConstant) {set_attribute_value(11, (*v12_WarpingConstant)); } if (v13_ShearCentreZ) {set_attribute_value(12, (*v13_ShearCentreZ)); } if (v14_ShearCentreY) {set_attribute_value(13, (*v14_ShearCentreY)); } if (v15_ShearDeformationAreaZ) {set_attribute_value(14, (*v15_ShearDeformationAreaZ)); } if (v16_ShearDeformationAreaY) {set_attribute_value(15, (*v16_ShearDeformationAreaY)); } if (v17_MaximumSectionModulusY) {set_attribute_value(16, (*v17_MaximumSectionModulusY)); } if (v18_MinimumSectionModulusY) {set_attribute_value(17, (*v18_MinimumSectionModulusY)); } if (v19_MaximumSectionModulusZ) {set_attribute_value(18, (*v19_MaximumSectionModulusZ)); } if (v20_MinimumSectionModulusZ) {set_attribute_value(19, (*v20_MinimumSectionModulusZ)); } if (v21_TorsionalSectionModulus) {set_attribute_value(20, (*v21_TorsionalSectionModulus)); } if (v22_CentreOfGravityInX) {set_attribute_value(21, (*v22_CentreOfGravityInX)); } if (v23_CentreOfGravityInY) {set_attribute_value(22, (*v23_CentreOfGravityInY)); } if (v24_ShearAreaZ) {set_attribute_value(23, (*v24_ShearAreaZ)); } if (v25_ShearAreaY) {set_attribute_value(24, (*v25_ShearAreaY)); } if (v26_PlasticShapeFactorY) {set_attribute_value(25, (*v26_PlasticShapeFactorY)); } if (v27_PlasticShapeFactorZ) {set_attribute_value(26, (*v27_PlasticShapeFactorZ)); }; populate_derived(); } +Ifc2x3::IfcStructuralSteelProfileProperties::IfcStructuralSteelProfileProperties(boost::optional< std::string > v1_ProfileName, ::Ifc2x3::IfcProfileDef* v2_ProfileDefinition, boost::optional< double > v3_PhysicalWeight, boost::optional< double > v4_Perimeter, boost::optional< double > v5_MinimumPlateThickness, boost::optional< double > v6_MaximumPlateThickness, boost::optional< double > v7_CrossSectionArea, boost::optional< double > v8_TorsionalConstantX, boost::optional< double > v9_MomentOfInertiaYZ, boost::optional< double > v10_MomentOfInertiaY, boost::optional< double > v11_MomentOfInertiaZ, boost::optional< double > v12_WarpingConstant, boost::optional< double > v13_ShearCentreZ, boost::optional< double > v14_ShearCentreY, boost::optional< double > v15_ShearDeformationAreaZ, boost::optional< double > v16_ShearDeformationAreaY, boost::optional< double > v17_MaximumSectionModulusY, boost::optional< double > v18_MinimumSectionModulusY, boost::optional< double > v19_MaximumSectionModulusZ, boost::optional< double > v20_MinimumSectionModulusZ, boost::optional< double > v21_TorsionalSectionModulus, boost::optional< double > v22_CentreOfGravityInX, boost::optional< double > v23_CentreOfGravityInY, boost::optional< double > v24_ShearAreaZ, boost::optional< double > v25_ShearAreaY, boost::optional< double > v26_PlasticShapeFactorY, boost::optional< double > v27_PlasticShapeFactorZ) : IfcStructuralProfileProperties(IfcEntityInstanceData(in_memory_attribute_storage(27))) { if (v1_ProfileName) {set_attribute_value(0, (*v1_ProfileName)); }set_attribute_value(1, v2_ProfileDefinition ? v2_ProfileDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_PhysicalWeight) {set_attribute_value(2, (*v3_PhysicalWeight)); } if (v4_Perimeter) {set_attribute_value(3, (*v4_Perimeter)); } if (v5_MinimumPlateThickness) {set_attribute_value(4, (*v5_MinimumPlateThickness)); } if (v6_MaximumPlateThickness) {set_attribute_value(5, (*v6_MaximumPlateThickness)); } if (v7_CrossSectionArea) {set_attribute_value(6, (*v7_CrossSectionArea)); } if (v8_TorsionalConstantX) {set_attribute_value(7, (*v8_TorsionalConstantX)); } if (v9_MomentOfInertiaYZ) {set_attribute_value(8, (*v9_MomentOfInertiaYZ)); } if (v10_MomentOfInertiaY) {set_attribute_value(9, (*v10_MomentOfInertiaY)); } if (v11_MomentOfInertiaZ) {set_attribute_value(10, (*v11_MomentOfInertiaZ)); } if (v12_WarpingConstant) {set_attribute_value(11, (*v12_WarpingConstant)); } if (v13_ShearCentreZ) {set_attribute_value(12, (*v13_ShearCentreZ)); } if (v14_ShearCentreY) {set_attribute_value(13, (*v14_ShearCentreY)); } if (v15_ShearDeformationAreaZ) {set_attribute_value(14, (*v15_ShearDeformationAreaZ)); } if (v16_ShearDeformationAreaY) {set_attribute_value(15, (*v16_ShearDeformationAreaY)); } if (v17_MaximumSectionModulusY) {set_attribute_value(16, (*v17_MaximumSectionModulusY)); } if (v18_MinimumSectionModulusY) {set_attribute_value(17, (*v18_MinimumSectionModulusY)); } if (v19_MaximumSectionModulusZ) {set_attribute_value(18, (*v19_MaximumSectionModulusZ)); } if (v20_MinimumSectionModulusZ) {set_attribute_value(19, (*v20_MinimumSectionModulusZ)); } if (v21_TorsionalSectionModulus) {set_attribute_value(20, (*v21_TorsionalSectionModulus)); } if (v22_CentreOfGravityInX) {set_attribute_value(21, (*v22_CentreOfGravityInX)); } if (v23_CentreOfGravityInY) {set_attribute_value(22, (*v23_CentreOfGravityInY)); } if (v24_ShearAreaZ) {set_attribute_value(23, (*v24_ShearAreaZ)); } if (v25_ShearAreaY) {set_attribute_value(24, (*v25_ShearAreaY)); } if (v26_PlasticShapeFactorY) {set_attribute_value(25, (*v26_PlasticShapeFactorY)); } if (v27_PlasticShapeFactorZ) {set_attribute_value(26, (*v27_PlasticShapeFactorZ)); }; populate_derived(); } // Function implementations for IfcStructuralSurfaceConnection @@ -12212,31 +12212,31 @@ Ifc2x3::IfcStructuralSteelProfileProperties::IfcStructuralSteelProfileProperties const IfcParse::entity& Ifc2x3::IfcStructuralSurfaceConnection::declaration() const { return *((IfcParse::entity*)IFC2X3_types[834]); } const IfcParse::entity& Ifc2x3::IfcStructuralSurfaceConnection::Class() { return *((IfcParse::entity*)IFC2X3_types[834]); } Ifc2x3::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -Ifc2x3::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralSurfaceMember -::Ifc2x3::IfcStructuralSurfaceTypeEnum::Value Ifc2x3::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc2x3::IfcStructuralSurfaceTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc2x3::IfcStructuralSurfaceTypeEnum::Value Ifc2x3::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc2x3::IfcStructuralSurfaceTypeEnum::FromString(get_attribute_value(7)); } void Ifc2x3::IfcStructuralSurfaceMember::setPredefinedType(::Ifc2x3::IfcStructuralSurfaceTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc2x3::IfcStructuralSurfaceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc2x3::IfcStructuralSurfaceMember::Thickness() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc2x3::IfcStructuralSurfaceMember::Thickness() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc2x3::IfcStructuralSurfaceMember::setThickness(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc2x3::IfcStructuralSurfaceMember::declaration() const { return *((IfcParse::entity*)IFC2X3_types[835]); } const IfcParse::entity& Ifc2x3::IfcStructuralSurfaceMember::Class() { return *((IfcParse::entity*)IFC2X3_types[835]); } Ifc2x3::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(IfcEntityInstanceData&& e) : IfcStructuralMember(std::move(e)) { } -Ifc2x3::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcStructuralSurfaceTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcStructuralSurfaceTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } +Ifc2x3::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcStructuralSurfaceTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcStructuralSurfaceTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } // Function implementations for IfcStructuralSurfaceMemberVarying -std::vector< double > /*[2:?]*/ Ifc2x3::IfcStructuralSurfaceMemberVarying::SubsequentThickness() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(9); return v; } +std::vector< double > /*[2:?]*/ Ifc2x3::IfcStructuralSurfaceMemberVarying::SubsequentThickness() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(9); return v; } void Ifc2x3::IfcStructuralSurfaceMemberVarying::setSubsequentThickness(std::vector< double > /*[2:?]*/ v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcStructuralSurfaceMemberVarying::VaryingThicknessLocation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc2x3::IfcShapeAspect>(true); } +::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcStructuralSurfaceMemberVarying::VaryingThicknessLocation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc2x3::IfcShapeAspect>(true); } void Ifc2x3::IfcStructuralSurfaceMemberVarying::setVaryingThicknessLocation(::Ifc2x3::IfcShapeAspect* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc2x3::IfcStructuralSurfaceMemberVarying::declaration() const { return *((IfcParse::entity*)IFC2X3_types[836]); } const IfcParse::entity& Ifc2x3::IfcStructuralSurfaceMemberVarying::Class() { return *((IfcParse::entity*)IFC2X3_types[836]); } Ifc2x3::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(IfcEntityInstanceData&& e) : IfcStructuralSurfaceMember(std::move(e)) { } -Ifc2x3::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcStructuralSurfaceTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness, std::vector< double > /*[2:?]*/ v10_SubsequentThickness, ::Ifc2x3::IfcShapeAspect* v11_VaryingThicknessLocation) : IfcStructuralSurfaceMember(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcStructuralSurfaceTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }set_attribute_value(9, (v10_SubsequentThickness));set_attribute_value(10, v11_VaryingThicknessLocation ? v11_VaryingThicknessLocation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, ::Ifc2x3::IfcStructuralSurfaceTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness, std::vector< double > /*[2:?]*/ v10_SubsequentThickness, ::Ifc2x3::IfcShapeAspect* v11_VaryingThicknessLocation) : IfcStructuralSurfaceMember(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcStructuralSurfaceTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }set_attribute_value(9, (v10_SubsequentThickness));set_attribute_value(10, v11_VaryingThicknessLocation ? v11_VaryingThicknessLocation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuredDimensionCallout @@ -12244,7 +12244,7 @@ Ifc2x3::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(std const IfcParse::entity& Ifc2x3::IfcStructuredDimensionCallout::declaration() const { return *((IfcParse::entity*)IFC2X3_types[838]); } const IfcParse::entity& Ifc2x3::IfcStructuredDimensionCallout::Class() { return *((IfcParse::entity*)IFC2X3_types[838]); } Ifc2x3::IfcStructuredDimensionCallout::IfcStructuredDimensionCallout(IfcEntityInstanceData&& e) : IfcDraughtingCallout(std::move(e)) { } -Ifc2x3::IfcStructuredDimensionCallout::IfcStructuredDimensionCallout(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents) : IfcDraughtingCallout(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Contents)->generalize());; populate_derived(); } +Ifc2x3::IfcStructuredDimensionCallout::IfcStructuredDimensionCallout(aggregate_of< ::Ifc2x3::IfcDraughtingCalloutElement >::ptr v1_Contents) : IfcDraughtingCallout(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Contents)->generalize());; populate_derived(); } // Function implementations for IfcStyleModel @@ -12252,21 +12252,21 @@ Ifc2x3::IfcStructuredDimensionCallout::IfcStructuredDimensionCallout(aggregate_o const IfcParse::entity& Ifc2x3::IfcStyleModel::declaration() const { return *((IfcParse::entity*)IFC2X3_types[841]); } const IfcParse::entity& Ifc2x3::IfcStyleModel::Class() { return *((IfcParse::entity*)IFC2X3_types[841]); } Ifc2x3::IfcStyleModel::IfcStyleModel(IfcEntityInstanceData&& e) : IfcRepresentation(std::move(e)) { } -Ifc2x3::IfcStyleModel::IfcStyleModel(::Ifc2x3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc2x3::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc2x3::IfcStyleModel::IfcStyleModel(::Ifc2x3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc2x3::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcStyledItem -::Ifc2x3::IfcRepresentationItem* Ifc2x3::IfcStyledItem::Item() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcRepresentationItem>(true); } +::Ifc2x3::IfcRepresentationItem* Ifc2x3::IfcStyledItem::Item() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcRepresentationItem>(true); } void Ifc2x3::IfcStyledItem::setItem(::Ifc2x3::IfcRepresentationItem* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc2x3::IfcPresentationStyleAssignment >::ptr Ifc2x3::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc2x3::IfcPresentationStyleAssignment >(); } +aggregate_of< ::Ifc2x3::IfcPresentationStyleAssignment >::ptr Ifc2x3::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc2x3::IfcPresentationStyleAssignment >(); } void Ifc2x3::IfcStyledItem::setStyles(aggregate_of< ::Ifc2x3::IfcPresentationStyleAssignment >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc2x3::IfcStyledItem::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc2x3::IfcStyledItem::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcStyledItem::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc2x3::IfcStyledItem::declaration() const { return *((IfcParse::entity*)IFC2X3_types[839]); } const IfcParse::entity& Ifc2x3::IfcStyledItem::Class() { return *((IfcParse::entity*)IFC2X3_types[839]); } Ifc2x3::IfcStyledItem::IfcStyledItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc2x3::IfcStyledItem::IfcStyledItem(::Ifc2x3::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc2x3::IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc2x3::IfcStyledItem::IfcStyledItem(::Ifc2x3::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc2x3::IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcStyledRepresentation @@ -12274,29 +12274,29 @@ Ifc2x3::IfcStyledItem::IfcStyledItem(::Ifc2x3::IfcRepresentationItem* v1_Item, a const IfcParse::entity& Ifc2x3::IfcStyledRepresentation::declaration() const { return *((IfcParse::entity*)IFC2X3_types[840]); } const IfcParse::entity& Ifc2x3::IfcStyledRepresentation::Class() { return *((IfcParse::entity*)IFC2X3_types[840]); } Ifc2x3::IfcStyledRepresentation::IfcStyledRepresentation(IfcEntityInstanceData&& e) : IfcStyleModel(std::move(e)) { } -Ifc2x3::IfcStyledRepresentation::IfcStyledRepresentation(::Ifc2x3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc2x3::IfcRepresentationItem >::ptr v4_Items) : IfcStyleModel(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc2x3::IfcStyledRepresentation::IfcStyledRepresentation(::Ifc2x3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc2x3::IfcRepresentationItem >::ptr v4_Items) : IfcStyleModel(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcSubContractResource -::Ifc2x3::IfcActorSelect* Ifc2x3::IfcSubContractResource::SubContractor() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc2x3::IfcActorSelect>(true); } +::Ifc2x3::IfcActorSelect* Ifc2x3::IfcSubContractResource::SubContractor() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc2x3::IfcActorSelect>(true); } void Ifc2x3::IfcSubContractResource::setSubContractor(::Ifc2x3::IfcActorSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc2x3::IfcSubContractResource::JobDescription() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc2x3::IfcSubContractResource::JobDescription() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc2x3::IfcSubContractResource::setJobDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc2x3::IfcSubContractResource::declaration() const { return *((IfcParse::entity*)IFC2X3_types[842]); } const IfcParse::entity& Ifc2x3::IfcSubContractResource::Class() { return *((IfcParse::entity*)IFC2X3_types[842]); } Ifc2x3::IfcSubContractResource::IfcSubContractResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc2x3::IfcSubContractResource::IfcSubContractResource(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit* v9_BaseQuantity, ::Ifc2x3::IfcActorSelect* v10_SubContractor, boost::optional< std::string > v11_JobDescription) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_ResourceIdentifier) {set_attribute_value(5, (*v6_ResourceIdentifier)); } if (v7_ResourceGroup) {set_attribute_value(6, (*v7_ResourceGroup)); } if (v8_ResourceConsumption) {set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcResourceConsumptionEnum::Class(),(size_t)*v8_ResourceConsumption))); }set_attribute_value(8, v9_BaseQuantity ? v9_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_SubContractor ? v10_SubContractor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_JobDescription) {set_attribute_value(10, (*v11_JobDescription)); }; populate_derived(); } +Ifc2x3::IfcSubContractResource::IfcSubContractResource(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_ResourceIdentifier, boost::optional< std::string > v7_ResourceGroup, boost::optional< ::Ifc2x3::IfcResourceConsumptionEnum::Value > v8_ResourceConsumption, ::Ifc2x3::IfcMeasureWithUnit* v9_BaseQuantity, ::Ifc2x3::IfcActorSelect* v10_SubContractor, boost::optional< std::string > v11_JobDescription) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_ResourceIdentifier) {set_attribute_value(5, (*v6_ResourceIdentifier)); } if (v7_ResourceGroup) {set_attribute_value(6, (*v7_ResourceGroup)); } if (v8_ResourceConsumption) {set_attribute_value(7, (EnumerationReference(&::Ifc2x3::IfcResourceConsumptionEnum::Class(),(size_t)*v8_ResourceConsumption))); }set_attribute_value(8, v9_BaseQuantity ? v9_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_SubContractor ? v10_SubContractor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_JobDescription) {set_attribute_value(10, (*v11_JobDescription)); }; populate_derived(); } // Function implementations for IfcSubedge -::Ifc2x3::IfcEdge* Ifc2x3::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcEdge>(true); } +::Ifc2x3::IfcEdge* Ifc2x3::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcEdge>(true); } void Ifc2x3::IfcSubedge::setParentEdge(::Ifc2x3::IfcEdge* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc2x3::IfcSubedge::declaration() const { return *((IfcParse::entity*)IFC2X3_types[843]); } const IfcParse::entity& Ifc2x3::IfcSubedge::Class() { return *((IfcParse::entity*)IFC2X3_types[843]); } Ifc2x3::IfcSubedge::IfcSubedge(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc2x3::IfcSubedge::IfcSubedge(::Ifc2x3::IfcVertex* v1_EdgeStart, ::Ifc2x3::IfcVertex* v2_EdgeEnd, ::Ifc2x3::IfcEdge* v3_ParentEdge) : IfcEdge(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ParentEdge ? v3_ParentEdge->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcSubedge::IfcSubedge(::Ifc2x3::IfcVertex* v1_EdgeStart, ::Ifc2x3::IfcVertex* v2_EdgeEnd, ::Ifc2x3::IfcEdge* v3_ParentEdge) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ParentEdge ? v3_ParentEdge->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurface @@ -12304,207 +12304,207 @@ Ifc2x3::IfcSubedge::IfcSubedge(::Ifc2x3::IfcVertex* v1_EdgeStart, ::Ifc2x3::IfcV const IfcParse::entity& Ifc2x3::IfcSurface::declaration() const { return *((IfcParse::entity*)IFC2X3_types[844]); } const IfcParse::entity& Ifc2x3::IfcSurface::Class() { return *((IfcParse::entity*)IFC2X3_types[844]); } Ifc2x3::IfcSurface::IfcSurface(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc2x3::IfcSurface::IfcSurface() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc2x3::IfcSurface::IfcSurface() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcSurfaceCurveSweptAreaSolid -::Ifc2x3::IfcCurve* Ifc2x3::IfcSurfaceCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcCurve>(true); } +::Ifc2x3::IfcCurve* Ifc2x3::IfcSurfaceCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcCurve>(true); } void Ifc2x3::IfcSurfaceCurveSweptAreaSolid::setDirectrix(::Ifc2x3::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc2x3::IfcSurfaceCurveSweptAreaSolid::StartParam() const { double v = data_.get_attribute_value(3); return v; } +double Ifc2x3::IfcSurfaceCurveSweptAreaSolid::StartParam() const { double v = get_attribute_value(3); return v; } void Ifc2x3::IfcSurfaceCurveSweptAreaSolid::setStartParam(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc2x3::IfcSurfaceCurveSweptAreaSolid::EndParam() const { double v = data_.get_attribute_value(4); return v; } +double Ifc2x3::IfcSurfaceCurveSweptAreaSolid::EndParam() const { double v = get_attribute_value(4); return v; } void Ifc2x3::IfcSurfaceCurveSweptAreaSolid::setEndParam(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcSurface* Ifc2x3::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcSurface>(true); } +::Ifc2x3::IfcSurface* Ifc2x3::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcSurface>(true); } void Ifc2x3::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(::Ifc2x3::IfcSurface* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc2x3::IfcSurfaceCurveSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC2X3_types[845]); } const IfcParse::entity& Ifc2x3::IfcSurfaceCurveSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC2X3_types[845]); } Ifc2x3::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc2x3::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(::Ifc2x3::IfcProfileDef* v1_SweptArea, ::Ifc2x3::IfcAxis2Placement3D* v2_Position, ::Ifc2x3::IfcCurve* v3_Directrix, double v4_StartParam, double v5_EndParam, ::Ifc2x3::IfcSurface* v6_ReferenceSurface) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, v6_ReferenceSurface ? v6_ReferenceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(::Ifc2x3::IfcProfileDef* v1_SweptArea, ::Ifc2x3::IfcAxis2Placement3D* v2_Position, ::Ifc2x3::IfcCurve* v3_Directrix, double v4_StartParam, double v5_EndParam, ::Ifc2x3::IfcSurface* v6_ReferenceSurface) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));set_attribute_value(5, v6_ReferenceSurface ? v6_ReferenceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceOfLinearExtrusion -::Ifc2x3::IfcDirection* Ifc2x3::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcDirection>(true); } +::Ifc2x3::IfcDirection* Ifc2x3::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcDirection>(true); } void Ifc2x3::IfcSurfaceOfLinearExtrusion::setExtrudedDirection(::Ifc2x3::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc2x3::IfcSurfaceOfLinearExtrusion::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc2x3::IfcSurfaceOfLinearExtrusion::Depth() const { double v = get_attribute_value(3); return v; } void Ifc2x3::IfcSurfaceOfLinearExtrusion::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcSurfaceOfLinearExtrusion::declaration() const { return *((IfcParse::entity*)IFC2X3_types[846]); } const IfcParse::entity& Ifc2x3::IfcSurfaceOfLinearExtrusion::Class() { return *((IfcParse::entity*)IFC2X3_types[846]); } Ifc2x3::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(IfcEntityInstanceData&& e) : IfcSweptSurface(std::move(e)) { } -Ifc2x3::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(::Ifc2x3::IfcProfileDef* v1_SweptCurve, ::Ifc2x3::IfcAxis2Placement3D* v2_Position, ::Ifc2x3::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } +Ifc2x3::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(::Ifc2x3::IfcProfileDef* v1_SweptCurve, ::Ifc2x3::IfcAxis2Placement3D* v2_Position, ::Ifc2x3::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } // Function implementations for IfcSurfaceOfRevolution -::Ifc2x3::IfcAxis1Placement* Ifc2x3::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcAxis1Placement>(true); } +::Ifc2x3::IfcAxis1Placement* Ifc2x3::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcAxis1Placement>(true); } void Ifc2x3::IfcSurfaceOfRevolution::setAxisPosition(::Ifc2x3::IfcAxis1Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc2x3::IfcSurfaceOfRevolution::declaration() const { return *((IfcParse::entity*)IFC2X3_types[847]); } const IfcParse::entity& Ifc2x3::IfcSurfaceOfRevolution::Class() { return *((IfcParse::entity*)IFC2X3_types[847]); } Ifc2x3::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(IfcEntityInstanceData&& e) : IfcSweptSurface(std::move(e)) { } -Ifc2x3::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(::Ifc2x3::IfcProfileDef* v1_SweptCurve, ::Ifc2x3::IfcAxis2Placement3D* v2_Position, ::Ifc2x3::IfcAxis1Placement* v3_AxisPosition) : IfcSweptSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_AxisPosition ? v3_AxisPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(::Ifc2x3::IfcProfileDef* v1_SweptCurve, ::Ifc2x3::IfcAxis2Placement3D* v2_Position, ::Ifc2x3::IfcAxis1Placement* v3_AxisPosition) : IfcSweptSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_AxisPosition ? v3_AxisPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceStyle -::Ifc2x3::IfcSurfaceSide::Value Ifc2x3::IfcSurfaceStyle::Side() const { return ::Ifc2x3::IfcSurfaceSide::FromString(data_.get_attribute_value(1)); } +::Ifc2x3::IfcSurfaceSide::Value Ifc2x3::IfcSurfaceStyle::Side() const { return ::Ifc2x3::IfcSurfaceSide::FromString(get_attribute_value(1)); } void Ifc2x3::IfcSurfaceStyle::setSide(::Ifc2x3::IfcSurfaceSide::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc2x3::IfcSurfaceSide::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc2x3::IfcSurfaceStyleElementSelect >::ptr Ifc2x3::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc2x3::IfcSurfaceStyleElementSelect >(); } +aggregate_of< ::Ifc2x3::IfcSurfaceStyleElementSelect >::ptr Ifc2x3::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc2x3::IfcSurfaceStyleElementSelect >(); } void Ifc2x3::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc2x3::IfcSurfaceStyleElementSelect >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc2x3::IfcSurfaceStyle::declaration() const { return *((IfcParse::entity*)IFC2X3_types[850]); } const IfcParse::entity& Ifc2x3::IfcSurfaceStyle::Class() { return *((IfcParse::entity*)IFC2X3_types[850]); } Ifc2x3::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc2x3::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc2x3::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc2x3::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (EnumerationReference(&::Ifc2x3::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, (v3_Styles)->generalize());; populate_derived(); } +Ifc2x3::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc2x3::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc2x3::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (EnumerationReference(&::Ifc2x3::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, (v3_Styles)->generalize());; populate_derived(); } // Function implementations for IfcSurfaceStyleLighting -::Ifc2x3::IfcColourRgb* Ifc2x3::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcColourRgb>(true); } +::Ifc2x3::IfcColourRgb* Ifc2x3::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcColourRgb>(true); } void Ifc2x3::IfcSurfaceStyleLighting::setDiffuseTransmissionColour(::Ifc2x3::IfcColourRgb* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcColourRgb* Ifc2x3::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcColourRgb>(true); } +::Ifc2x3::IfcColourRgb* Ifc2x3::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcColourRgb>(true); } void Ifc2x3::IfcSurfaceStyleLighting::setDiffuseReflectionColour(::Ifc2x3::IfcColourRgb* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc2x3::IfcColourRgb* Ifc2x3::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcColourRgb>(true); } +::Ifc2x3::IfcColourRgb* Ifc2x3::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcColourRgb>(true); } void Ifc2x3::IfcSurfaceStyleLighting::setTransmissionColour(::Ifc2x3::IfcColourRgb* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcColourRgb* Ifc2x3::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc2x3::IfcColourRgb>(true); } +::Ifc2x3::IfcColourRgb* Ifc2x3::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc2x3::IfcColourRgb>(true); } void Ifc2x3::IfcSurfaceStyleLighting::setReflectanceColour(::Ifc2x3::IfcColourRgb* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcSurfaceStyleLighting::declaration() const { return *((IfcParse::entity*)IFC2X3_types[852]); } const IfcParse::entity& Ifc2x3::IfcSurfaceStyleLighting::Class() { return *((IfcParse::entity*)IFC2X3_types[852]); } Ifc2x3::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(::Ifc2x3::IfcColourRgb* v1_DiffuseTransmissionColour, ::Ifc2x3::IfcColourRgb* v2_DiffuseReflectionColour, ::Ifc2x3::IfcColourRgb* v3_TransmissionColour, ::Ifc2x3::IfcColourRgb* v4_ReflectanceColour) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_DiffuseTransmissionColour ? v1_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_DiffuseReflectionColour ? v2_DiffuseReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TransmissionColour ? v3_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_ReflectanceColour ? v4_ReflectanceColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(::Ifc2x3::IfcColourRgb* v1_DiffuseTransmissionColour, ::Ifc2x3::IfcColourRgb* v2_DiffuseReflectionColour, ::Ifc2x3::IfcColourRgb* v3_TransmissionColour, ::Ifc2x3::IfcColourRgb* v4_ReflectanceColour) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_DiffuseTransmissionColour ? v1_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_DiffuseReflectionColour ? v2_DiffuseReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TransmissionColour ? v3_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_ReflectanceColour ? v4_ReflectanceColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceStyleRefraction -boost::optional< double > Ifc2x3::IfcSurfaceStyleRefraction::RefractionIndex() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } double v = data_.get_attribute_value(0); return v; } +boost::optional< double > Ifc2x3::IfcSurfaceStyleRefraction::RefractionIndex() const { if(get_attribute_value(0).isNull()) { return boost::none; } double v = get_attribute_value(0); return v; } void Ifc2x3::IfcSurfaceStyleRefraction::setRefractionIndex(boost::optional< double > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< double > Ifc2x3::IfcSurfaceStyleRefraction::DispersionFactor() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc2x3::IfcSurfaceStyleRefraction::DispersionFactor() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc2x3::IfcSurfaceStyleRefraction::setDispersionFactor(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc2x3::IfcSurfaceStyleRefraction::declaration() const { return *((IfcParse::entity*)IFC2X3_types[853]); } const IfcParse::entity& Ifc2x3::IfcSurfaceStyleRefraction::Class() { return *((IfcParse::entity*)IFC2X3_types[853]); } Ifc2x3::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; populate_derived(); } +Ifc2x3::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; populate_derived(); } // Function implementations for IfcSurfaceStyleRendering -boost::optional< double > Ifc2x3::IfcSurfaceStyleRendering::Transparency() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc2x3::IfcSurfaceStyleRendering::Transparency() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc2x3::IfcSurfaceStyleRendering::setTransparency(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc2x3::IfcColourOrFactor* Ifc2x3::IfcSurfaceStyleRendering::DiffuseColour() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcColourOrFactor>(true); } +::Ifc2x3::IfcColourOrFactor* Ifc2x3::IfcSurfaceStyleRendering::DiffuseColour() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcColourOrFactor>(true); } void Ifc2x3::IfcSurfaceStyleRendering::setDiffuseColour(::Ifc2x3::IfcColourOrFactor* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcColourOrFactor* Ifc2x3::IfcSurfaceStyleRendering::TransmissionColour() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc2x3::IfcColourOrFactor>(true); } +::Ifc2x3::IfcColourOrFactor* Ifc2x3::IfcSurfaceStyleRendering::TransmissionColour() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc2x3::IfcColourOrFactor>(true); } void Ifc2x3::IfcSurfaceStyleRendering::setTransmissionColour(::Ifc2x3::IfcColourOrFactor* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc2x3::IfcColourOrFactor* Ifc2x3::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc2x3::IfcColourOrFactor>(true); } +::Ifc2x3::IfcColourOrFactor* Ifc2x3::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc2x3::IfcColourOrFactor>(true); } void Ifc2x3::IfcSurfaceStyleRendering::setDiffuseTransmissionColour(::Ifc2x3::IfcColourOrFactor* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcColourOrFactor* Ifc2x3::IfcSurfaceStyleRendering::ReflectionColour() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcColourOrFactor>(true); } +::Ifc2x3::IfcColourOrFactor* Ifc2x3::IfcSurfaceStyleRendering::ReflectionColour() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcColourOrFactor>(true); } void Ifc2x3::IfcSurfaceStyleRendering::setReflectionColour(::Ifc2x3::IfcColourOrFactor* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcColourOrFactor* Ifc2x3::IfcSurfaceStyleRendering::SpecularColour() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc2x3::IfcColourOrFactor>(true); } +::Ifc2x3::IfcColourOrFactor* Ifc2x3::IfcSurfaceStyleRendering::SpecularColour() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc2x3::IfcColourOrFactor>(true); } void Ifc2x3::IfcSurfaceStyleRendering::setSpecularColour(::Ifc2x3::IfcColourOrFactor* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc2x3::IfcSpecularHighlightSelect* Ifc2x3::IfcSurfaceStyleRendering::SpecularHighlight() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc2x3::IfcSpecularHighlightSelect>(true); } +::Ifc2x3::IfcSpecularHighlightSelect* Ifc2x3::IfcSurfaceStyleRendering::SpecularHighlight() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc2x3::IfcSpecularHighlightSelect>(true); } void Ifc2x3::IfcSurfaceStyleRendering::setSpecularHighlight(::Ifc2x3::IfcSpecularHighlightSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc2x3::IfcReflectanceMethodEnum::Value Ifc2x3::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc2x3::IfcReflectanceMethodEnum::FromString(data_.get_attribute_value(8)); } +::Ifc2x3::IfcReflectanceMethodEnum::Value Ifc2x3::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc2x3::IfcReflectanceMethodEnum::FromString(get_attribute_value(8)); } void Ifc2x3::IfcSurfaceStyleRendering::setReflectanceMethod(::Ifc2x3::IfcReflectanceMethodEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc2x3::IfcReflectanceMethodEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc2x3::IfcSurfaceStyleRendering::declaration() const { return *((IfcParse::entity*)IFC2X3_types[854]); } const IfcParse::entity& Ifc2x3::IfcSurfaceStyleRendering::Class() { return *((IfcParse::entity*)IFC2X3_types[854]); } Ifc2x3::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcEntityInstanceData&& e) : IfcSurfaceStyleShading(std::move(e)) { } -Ifc2x3::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc2x3::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, ::Ifc2x3::IfcColourOrFactor* v3_DiffuseColour, ::Ifc2x3::IfcColourOrFactor* v4_TransmissionColour, ::Ifc2x3::IfcColourOrFactor* v5_DiffuseTransmissionColour, ::Ifc2x3::IfcColourOrFactor* v6_ReflectionColour, ::Ifc2x3::IfcColourOrFactor* v7_SpecularColour, ::Ifc2x3::IfcSpecularHighlightSelect* v8_SpecularHighlight, ::Ifc2x3::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) : IfcSurfaceStyleShading(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, v3_DiffuseColour ? v3_DiffuseColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TransmissionColour ? v4_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_DiffuseTransmissionColour ? v5_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReflectionColour ? v6_ReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_SpecularColour ? v7_SpecularColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_SpecularHighlight ? v8_SpecularHighlight->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; populate_derived(); } +Ifc2x3::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc2x3::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, ::Ifc2x3::IfcColourOrFactor* v3_DiffuseColour, ::Ifc2x3::IfcColourOrFactor* v4_TransmissionColour, ::Ifc2x3::IfcColourOrFactor* v5_DiffuseTransmissionColour, ::Ifc2x3::IfcColourOrFactor* v6_ReflectionColour, ::Ifc2x3::IfcColourOrFactor* v7_SpecularColour, ::Ifc2x3::IfcSpecularHighlightSelect* v8_SpecularHighlight, ::Ifc2x3::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) : IfcSurfaceStyleShading(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, v3_DiffuseColour ? v3_DiffuseColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TransmissionColour ? v4_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_DiffuseTransmissionColour ? v5_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReflectionColour ? v6_ReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_SpecularColour ? v7_SpecularColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_SpecularHighlight ? v8_SpecularHighlight->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; populate_derived(); } // Function implementations for IfcSurfaceStyleShading -::Ifc2x3::IfcColourRgb* Ifc2x3::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcColourRgb>(true); } +::Ifc2x3::IfcColourRgb* Ifc2x3::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcColourRgb>(true); } void Ifc2x3::IfcSurfaceStyleShading::setSurfaceColour(::Ifc2x3::IfcColourRgb* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc2x3::IfcSurfaceStyleShading::declaration() const { return *((IfcParse::entity*)IFC2X3_types[855]); } const IfcParse::entity& Ifc2x3::IfcSurfaceStyleShading::Class() { return *((IfcParse::entity*)IFC2X3_types[855]); } Ifc2x3::IfcSurfaceStyleShading::IfcSurfaceStyleShading(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcSurfaceStyleShading::IfcSurfaceStyleShading(::Ifc2x3::IfcColourRgb* v1_SurfaceColour) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcSurfaceStyleShading::IfcSurfaceStyleShading(::Ifc2x3::IfcColourRgb* v1_SurfaceColour) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceStyleWithTextures -aggregate_of< ::Ifc2x3::IfcSurfaceTexture >::ptr Ifc2x3::IfcSurfaceStyleWithTextures::Textures() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc2x3::IfcSurfaceTexture >(); } +aggregate_of< ::Ifc2x3::IfcSurfaceTexture >::ptr Ifc2x3::IfcSurfaceStyleWithTextures::Textures() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc2x3::IfcSurfaceTexture >(); } void Ifc2x3::IfcSurfaceStyleWithTextures::setTextures(aggregate_of< ::Ifc2x3::IfcSurfaceTexture >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc2x3::IfcSurfaceStyleWithTextures::declaration() const { return *((IfcParse::entity*)IFC2X3_types[856]); } const IfcParse::entity& Ifc2x3::IfcSurfaceStyleWithTextures::Class() { return *((IfcParse::entity*)IFC2X3_types[856]); } Ifc2x3::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(aggregate_of< ::Ifc2x3::IfcSurfaceTexture >::ptr v1_Textures) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Textures)->generalize());; populate_derived(); } +Ifc2x3::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(aggregate_of< ::Ifc2x3::IfcSurfaceTexture >::ptr v1_Textures) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Textures)->generalize());; populate_derived(); } // Function implementations for IfcSurfaceTexture -bool Ifc2x3::IfcSurfaceTexture::RepeatS() const { bool v = data_.get_attribute_value(0); return v; } +bool Ifc2x3::IfcSurfaceTexture::RepeatS() const { bool v = get_attribute_value(0); return v; } void Ifc2x3::IfcSurfaceTexture::setRepeatS(bool v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -bool Ifc2x3::IfcSurfaceTexture::RepeatT() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc2x3::IfcSurfaceTexture::RepeatT() const { bool v = get_attribute_value(1); return v; } void Ifc2x3::IfcSurfaceTexture::setRepeatT(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc2x3::IfcSurfaceTextureEnum::Value Ifc2x3::IfcSurfaceTexture::TextureType() const { return ::Ifc2x3::IfcSurfaceTextureEnum::FromString(data_.get_attribute_value(2)); } +::Ifc2x3::IfcSurfaceTextureEnum::Value Ifc2x3::IfcSurfaceTexture::TextureType() const { return ::Ifc2x3::IfcSurfaceTextureEnum::FromString(get_attribute_value(2)); } void Ifc2x3::IfcSurfaceTexture::setTextureType(::Ifc2x3::IfcSurfaceTextureEnum::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc2x3::IfcSurfaceTextureEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcCartesianTransformationOperator2D* Ifc2x3::IfcSurfaceTexture::TextureTransform() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc2x3::IfcCartesianTransformationOperator2D>(true); } +::Ifc2x3::IfcCartesianTransformationOperator2D* Ifc2x3::IfcSurfaceTexture::TextureTransform() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc2x3::IfcCartesianTransformationOperator2D>(true); } void Ifc2x3::IfcSurfaceTexture::setTextureTransform(::Ifc2x3::IfcCartesianTransformationOperator2D* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcSurfaceTexture::declaration() const { return *((IfcParse::entity*)IFC2X3_types[857]); } const IfcParse::entity& Ifc2x3::IfcSurfaceTexture::Class() { return *((IfcParse::entity*)IFC2X3_types[857]); } Ifc2x3::IfcSurfaceTexture::IfcSurfaceTexture(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, ::Ifc2x3::IfcSurfaceTextureEnum::Value v3_TextureType, ::Ifc2x3::IfcCartesianTransformationOperator2D* v4_TextureTransform) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT));set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcSurfaceTextureEnum::Class(),(size_t)v3_TextureType)));set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, ::Ifc2x3::IfcSurfaceTextureEnum::Value v3_TextureType, ::Ifc2x3::IfcCartesianTransformationOperator2D* v4_TextureTransform) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT));set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcSurfaceTextureEnum::Class(),(size_t)v3_TextureType)));set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSweptAreaSolid -::Ifc2x3::IfcProfileDef* Ifc2x3::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcProfileDef>(true); } +::Ifc2x3::IfcProfileDef* Ifc2x3::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcProfileDef>(true); } void Ifc2x3::IfcSweptAreaSolid::setSweptArea(::Ifc2x3::IfcProfileDef* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcAxis2Placement3D* Ifc2x3::IfcSweptAreaSolid::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcAxis2Placement3D>(true); } +::Ifc2x3::IfcAxis2Placement3D* Ifc2x3::IfcSweptAreaSolid::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcAxis2Placement3D>(true); } void Ifc2x3::IfcSweptAreaSolid::setPosition(::Ifc2x3::IfcAxis2Placement3D* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC2X3_types[859]); } const IfcParse::entity& Ifc2x3::IfcSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC2X3_types[859]); } Ifc2x3::IfcSweptAreaSolid::IfcSweptAreaSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc2x3::IfcSweptAreaSolid::IfcSweptAreaSolid(::Ifc2x3::IfcProfileDef* v1_SweptArea, ::Ifc2x3::IfcAxis2Placement3D* v2_Position) : IfcSolidModel(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcSweptAreaSolid::IfcSweptAreaSolid(::Ifc2x3::IfcProfileDef* v1_SweptArea, ::Ifc2x3::IfcAxis2Placement3D* v2_Position) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSweptDiskSolid -::Ifc2x3::IfcCurve* Ifc2x3::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcCurve>(true); } +::Ifc2x3::IfcCurve* Ifc2x3::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcCurve>(true); } void Ifc2x3::IfcSweptDiskSolid::setDirectrix(::Ifc2x3::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc2x3::IfcSweptDiskSolid::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc2x3::IfcSweptDiskSolid::Radius() const { double v = get_attribute_value(1); return v; } void Ifc2x3::IfcSweptDiskSolid::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc2x3::IfcSweptDiskSolid::InnerRadius() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc2x3::IfcSweptDiskSolid::InnerRadius() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc2x3::IfcSweptDiskSolid::setInnerRadius(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -double Ifc2x3::IfcSweptDiskSolid::StartParam() const { double v = data_.get_attribute_value(3); return v; } +double Ifc2x3::IfcSweptDiskSolid::StartParam() const { double v = get_attribute_value(3); return v; } void Ifc2x3::IfcSweptDiskSolid::setStartParam(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc2x3::IfcSweptDiskSolid::EndParam() const { double v = data_.get_attribute_value(4); return v; } +double Ifc2x3::IfcSweptDiskSolid::EndParam() const { double v = get_attribute_value(4); return v; } void Ifc2x3::IfcSweptDiskSolid::setEndParam(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc2x3::IfcSweptDiskSolid::declaration() const { return *((IfcParse::entity*)IFC2X3_types[860]); } const IfcParse::entity& Ifc2x3::IfcSweptDiskSolid::Class() { return *((IfcParse::entity*)IFC2X3_types[860]); } Ifc2x3::IfcSweptDiskSolid::IfcSweptDiskSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc2x3::IfcSweptDiskSolid::IfcSweptDiskSolid(::Ifc2x3::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, double v4_StartParam, double v5_EndParam) : IfcSolidModel(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); }set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));; populate_derived(); } +Ifc2x3::IfcSweptDiskSolid::IfcSweptDiskSolid(::Ifc2x3::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, double v4_StartParam, double v5_EndParam) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); }set_attribute_value(3, (v4_StartParam));set_attribute_value(4, (v5_EndParam));; populate_derived(); } // Function implementations for IfcSweptSurface -::Ifc2x3::IfcProfileDef* Ifc2x3::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcProfileDef>(true); } +::Ifc2x3::IfcProfileDef* Ifc2x3::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcProfileDef>(true); } void Ifc2x3::IfcSweptSurface::setSweptCurve(::Ifc2x3::IfcProfileDef* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcAxis2Placement3D* Ifc2x3::IfcSweptSurface::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcAxis2Placement3D>(true); } +::Ifc2x3::IfcAxis2Placement3D* Ifc2x3::IfcSweptSurface::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcAxis2Placement3D>(true); } void Ifc2x3::IfcSweptSurface::setPosition(::Ifc2x3::IfcAxis2Placement3D* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcSweptSurface::declaration() const { return *((IfcParse::entity*)IFC2X3_types[861]); } const IfcParse::entity& Ifc2x3::IfcSweptSurface::Class() { return *((IfcParse::entity*)IFC2X3_types[861]); } Ifc2x3::IfcSweptSurface::IfcSweptSurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc2x3::IfcSweptSurface::IfcSweptSurface(::Ifc2x3::IfcProfileDef* v1_SweptCurve, ::Ifc2x3::IfcAxis2Placement3D* v2_Position) : IfcSurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcSweptSurface::IfcSweptSurface(::Ifc2x3::IfcProfileDef* v1_SweptCurve, ::Ifc2x3::IfcAxis2Placement3D* v2_Position) : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSwitchingDeviceType -::Ifc2x3::IfcSwitchingDeviceTypeEnum::Value Ifc2x3::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc2x3::IfcSwitchingDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcSwitchingDeviceTypeEnum::Value Ifc2x3::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc2x3::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcSwitchingDeviceType::setPredefinedType(::Ifc2x3::IfcSwitchingDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcSwitchingDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcSwitchingDeviceType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[862]); } const IfcParse::entity& Ifc2x3::IfcSwitchingDeviceType::Class() { return *((IfcParse::entity*)IFC2X3_types[862]); } Ifc2x3::IfcSwitchingDeviceType::IfcSwitchingDeviceType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc2x3::IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSymbolStyle -::Ifc2x3::IfcSymbolStyleSelect* Ifc2x3::IfcSymbolStyle::StyleOfSymbol() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcSymbolStyleSelect>(true); } +::Ifc2x3::IfcSymbolStyleSelect* Ifc2x3::IfcSymbolStyle::StyleOfSymbol() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcSymbolStyleSelect>(true); } void Ifc2x3::IfcSymbolStyle::setStyleOfSymbol(::Ifc2x3::IfcSymbolStyleSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcSymbolStyle::declaration() const { return *((IfcParse::entity*)IFC2X3_types[864]); } const IfcParse::entity& Ifc2x3::IfcSymbolStyle::Class() { return *((IfcParse::entity*)IFC2X3_types[864]); } Ifc2x3::IfcSymbolStyle::IfcSymbolStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc2x3::IfcSymbolStyle::IfcSymbolStyle(boost::optional< std::string > v1_Name, ::Ifc2x3::IfcSymbolStyleSelect* v2_StyleOfSymbol) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_StyleOfSymbol ? v2_StyleOfSymbol->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcSymbolStyle::IfcSymbolStyle(boost::optional< std::string > v1_Name, ::Ifc2x3::IfcSymbolStyleSelect* v2_StyleOfSymbol) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_StyleOfSymbol ? v2_StyleOfSymbol->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSystem @@ -12513,7 +12513,7 @@ Ifc2x3::IfcSymbolStyle::IfcSymbolStyle(boost::optional< std::string > v1_Name, : const IfcParse::entity& Ifc2x3::IfcSystem::declaration() const { return *((IfcParse::entity*)IFC2X3_types[866]); } const IfcParse::entity& Ifc2x3::IfcSystem::Class() { return *((IfcParse::entity*)IFC2X3_types[866]); } Ifc2x3::IfcSystem::IfcSystem(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc2x3::IfcSystem::IfcSystem(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcGroup(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc2x3::IfcSystem::IfcSystem(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcSystemFurnitureElementType @@ -12521,52 +12521,52 @@ Ifc2x3::IfcSystem::IfcSystem(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* const IfcParse::entity& Ifc2x3::IfcSystemFurnitureElementType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[867]); } const IfcParse::entity& Ifc2x3::IfcSystemFurnitureElementType::Class() { return *((IfcParse::entity*)IFC2X3_types[867]); } Ifc2x3::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(IfcEntityInstanceData&& e) : IfcFurnishingElementType(std::move(e)) { } -Ifc2x3::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcFurnishingElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc2x3::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcFurnishingElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcTShapeProfileDef -double Ifc2x3::IfcTShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc2x3::IfcTShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc2x3::IfcTShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc2x3::IfcTShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc2x3::IfcTShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc2x3::IfcTShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc2x3::IfcTShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc2x3::IfcTShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc2x3::IfcTShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc2x3::IfcTShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc2x3::IfcTShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc2x3::IfcTShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc2x3::IfcTShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc2x3::IfcTShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc2x3::IfcTShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc2x3::IfcTShapeProfileDef::FlangeEdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc2x3::IfcTShapeProfileDef::FlangeEdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc2x3::IfcTShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc2x3::IfcTShapeProfileDef::WebEdgeRadius() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc2x3::IfcTShapeProfileDef::WebEdgeRadius() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc2x3::IfcTShapeProfileDef::setWebEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc2x3::IfcTShapeProfileDef::WebSlope() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc2x3::IfcTShapeProfileDef::WebSlope() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc2x3::IfcTShapeProfileDef::setWebSlope(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc2x3::IfcTShapeProfileDef::FlangeSlope() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc2x3::IfcTShapeProfileDef::FlangeSlope() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc2x3::IfcTShapeProfileDef::setFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc2x3::IfcTShapeProfileDef::CentreOfGravityInY() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc2x3::IfcTShapeProfileDef::CentreOfGravityInY() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc2x3::IfcTShapeProfileDef::setCentreOfGravityInY(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc2x3::IfcTShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC2X3_types[928]); } const IfcParse::entity& Ifc2x3::IfcTShapeProfileDef::Class() { return *((IfcParse::entity*)IFC2X3_types[928]); } Ifc2x3::IfcTShapeProfileDef::IfcTShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc2x3::IfcTShapeProfileDef::IfcTShapeProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::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, boost::optional< double > v13_CentreOfGravityInY) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); } if (v13_CentreOfGravityInY) {set_attribute_value(12, (*v13_CentreOfGravityInY)); }; populate_derived(); } +Ifc2x3::IfcTShapeProfileDef::IfcTShapeProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::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, boost::optional< double > v13_CentreOfGravityInY) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); } if (v13_CentreOfGravityInY) {set_attribute_value(12, (*v13_CentreOfGravityInY)); }; populate_derived(); } // Function implementations for IfcTable -std::string Ifc2x3::IfcTable::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc2x3::IfcTable::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcTable::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc2x3::IfcTableRow >::ptr Ifc2x3::IfcTable::Rows() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc2x3::IfcTableRow >(); } +aggregate_of< ::Ifc2x3::IfcTableRow >::ptr Ifc2x3::IfcTable::Rows() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc2x3::IfcTableRow >(); } void Ifc2x3::IfcTable::setRows(aggregate_of< ::Ifc2x3::IfcTableRow >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcTable::declaration() const { return *((IfcParse::entity*)IFC2X3_types[868]); } const IfcParse::entity& Ifc2x3::IfcTable::Class() { return *((IfcParse::entity*)IFC2X3_types[868]); } Ifc2x3::IfcTable::IfcTable(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcTable::IfcTable(std::string v1_Name, aggregate_of< ::Ifc2x3::IfcTableRow >::ptr v2_Rows) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_Rows)->generalize());; populate_derived(); } +Ifc2x3::IfcTable::IfcTable(std::string v1_Name, aggregate_of< ::Ifc2x3::IfcTableRow >::ptr v2_Rows) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_Rows)->generalize());; populate_derived(); } // Function implementations for IfcTableRow -aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcTableRow::RowCells() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc2x3::IfcValue >(); } +aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcTableRow::RowCells() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc2x3::IfcValue >(); } void Ifc2x3::IfcTableRow::setRowCells(aggregate_of< ::Ifc2x3::IfcValue >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -bool Ifc2x3::IfcTableRow::IsHeading() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc2x3::IfcTableRow::IsHeading() const { bool v = get_attribute_value(1); return v; } void Ifc2x3::IfcTableRow::setIsHeading(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } ::Ifc2x3::IfcTable::list::ptr Ifc2x3::IfcTableRow::OfTable() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[868], 1)->as(); } @@ -12574,77 +12574,77 @@ void Ifc2x3::IfcTableRow::setIsHeading(bool v) { set_attribute_value(1, v);if co const IfcParse::entity& Ifc2x3::IfcTableRow::declaration() const { return *((IfcParse::entity*)IFC2X3_types[869]); } const IfcParse::entity& Ifc2x3::IfcTableRow::Class() { return *((IfcParse::entity*)IFC2X3_types[869]); } Ifc2x3::IfcTableRow::IfcTableRow(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcTableRow::IfcTableRow(aggregate_of< ::Ifc2x3::IfcValue >::ptr v1_RowCells, bool v2_IsHeading) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_RowCells)->generalize());set_attribute_value(1, (v2_IsHeading));; populate_derived(); } +Ifc2x3::IfcTableRow::IfcTableRow(aggregate_of< ::Ifc2x3::IfcValue >::ptr v1_RowCells, bool v2_IsHeading) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_RowCells)->generalize());set_attribute_value(1, (v2_IsHeading));; populate_derived(); } // Function implementations for IfcTankType -::Ifc2x3::IfcTankTypeEnum::Value Ifc2x3::IfcTankType::PredefinedType() const { return ::Ifc2x3::IfcTankTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcTankTypeEnum::Value Ifc2x3::IfcTankType::PredefinedType() const { return ::Ifc2x3::IfcTankTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcTankType::setPredefinedType(::Ifc2x3::IfcTankTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcTankTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcTankType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[870]); } const IfcParse::entity& Ifc2x3::IfcTankType::Class() { return *((IfcParse::entity*)IFC2X3_types[870]); } Ifc2x3::IfcTankType::IfcTankType(IfcEntityInstanceData&& e) : IfcFlowStorageDeviceType(std::move(e)) { } -Ifc2x3::IfcTankType::IfcTankType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcTankTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcTankType::IfcTankType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcTankTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTask -std::string Ifc2x3::IfcTask::TaskId() const { std::string v = data_.get_attribute_value(5); return v; } +std::string Ifc2x3::IfcTask::TaskId() const { std::string v = get_attribute_value(5); return v; } void Ifc2x3::IfcTask::setTaskId(std::string v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::optional< std::string > Ifc2x3::IfcTask::Status() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc2x3::IfcTask::Status() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc2x3::IfcTask::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc2x3::IfcTask::WorkMethod() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc2x3::IfcTask::WorkMethod() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc2x3::IfcTask::setWorkMethod(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -bool Ifc2x3::IfcTask::IsMilestone() const { bool v = data_.get_attribute_value(8); return v; } +bool Ifc2x3::IfcTask::IsMilestone() const { bool v = get_attribute_value(8); return v; } void Ifc2x3::IfcTask::setIsMilestone(bool v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -boost::optional< int > Ifc2x3::IfcTask::Priority() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } int v = data_.get_attribute_value(9); return v; } +boost::optional< int > Ifc2x3::IfcTask::Priority() const { if(get_attribute_value(9).isNull()) { return boost::none; } int v = get_attribute_value(9); return v; } void Ifc2x3::IfcTask::setPriority(boost::optional< int > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc2x3::IfcTask::declaration() const { return *((IfcParse::entity*)IFC2X3_types[872]); } const IfcParse::entity& Ifc2x3::IfcTask::Class() { return *((IfcParse::entity*)IFC2X3_types[872]); } Ifc2x3::IfcTask::IfcTask(IfcEntityInstanceData&& e) : IfcProcess(std::move(e)) { } -Ifc2x3::IfcTask::IfcTask(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_TaskId, boost::optional< std::string > v7_Status, boost::optional< std::string > v8_WorkMethod, bool v9_IsMilestone, boost::optional< int > v10_Priority) : IfcProcess(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TaskId)); if (v7_Status) {set_attribute_value(6, (*v7_Status)); } if (v8_WorkMethod) {set_attribute_value(7, (*v8_WorkMethod)); }set_attribute_value(8, (v9_IsMilestone)); if (v10_Priority) {set_attribute_value(9, (*v10_Priority)); }; populate_derived(); } +Ifc2x3::IfcTask::IfcTask(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_TaskId, boost::optional< std::string > v7_Status, boost::optional< std::string > v8_WorkMethod, bool v9_IsMilestone, boost::optional< int > v10_Priority) : IfcProcess(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_TaskId)); if (v7_Status) {set_attribute_value(6, (*v7_Status)); } if (v8_WorkMethod) {set_attribute_value(7, (*v8_WorkMethod)); }set_attribute_value(8, (v9_IsMilestone)); if (v10_Priority) {set_attribute_value(9, (*v10_Priority)); }; populate_derived(); } // Function implementations for IfcTelecomAddress -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc2x3::IfcTelecomAddress::TelephoneNumbers() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc2x3::IfcTelecomAddress::TelephoneNumbers() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc2x3::IfcTelecomAddress::setTelephoneNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc2x3::IfcTelecomAddress::FacsimileNumbers() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc2x3::IfcTelecomAddress::FacsimileNumbers() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc2x3::IfcTelecomAddress::setFacsimileNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc2x3::IfcTelecomAddress::PagerNumber() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc2x3::IfcTelecomAddress::PagerNumber() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc2x3::IfcTelecomAddress::setPagerNumber(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc2x3::IfcTelecomAddress::ElectronicMailAddresses() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(6); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc2x3::IfcTelecomAddress::ElectronicMailAddresses() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(6); return v; } void Ifc2x3::IfcTelecomAddress::setElectronicMailAddresses(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc2x3::IfcTelecomAddress::WWWHomePageURL() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc2x3::IfcTelecomAddress::WWWHomePageURL() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc2x3::IfcTelecomAddress::setWWWHomePageURL(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc2x3::IfcTelecomAddress::declaration() const { return *((IfcParse::entity*)IFC2X3_types[873]); } const IfcParse::entity& Ifc2x3::IfcTelecomAddress::Class() { return *((IfcParse::entity*)IFC2X3_types[873]); } Ifc2x3::IfcTelecomAddress::IfcTelecomAddress(IfcEntityInstanceData&& e) : IfcAddress(std::move(e)) { } -Ifc2x3::IfcTelecomAddress::IfcTelecomAddress(boost::optional< ::Ifc2x3::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) : IfcAddress(IfcEntityInstanceData(storage_t(8))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); }; populate_derived(); } +Ifc2x3::IfcTelecomAddress::IfcTelecomAddress(boost::optional< ::Ifc2x3::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) : IfcAddress(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); }; populate_derived(); } // Function implementations for IfcTendon -::Ifc2x3::IfcTendonTypeEnum::Value Ifc2x3::IfcTendon::PredefinedType() const { return ::Ifc2x3::IfcTendonTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcTendonTypeEnum::Value Ifc2x3::IfcTendon::PredefinedType() const { return ::Ifc2x3::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcTendon::setPredefinedType(::Ifc2x3::IfcTendonTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcTendonTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -double Ifc2x3::IfcTendon::NominalDiameter() const { double v = data_.get_attribute_value(10); return v; } +double Ifc2x3::IfcTendon::NominalDiameter() const { double v = get_attribute_value(10); return v; } void Ifc2x3::IfcTendon::setNominalDiameter(double v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -double Ifc2x3::IfcTendon::CrossSectionArea() const { double v = data_.get_attribute_value(11); return v; } +double Ifc2x3::IfcTendon::CrossSectionArea() const { double v = get_attribute_value(11); return v; } void Ifc2x3::IfcTendon::setCrossSectionArea(double v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } -boost::optional< double > Ifc2x3::IfcTendon::TensionForce() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc2x3::IfcTendon::TensionForce() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc2x3::IfcTendon::setTensionForce(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc2x3::IfcTendon::PreStress() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc2x3::IfcTendon::PreStress() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc2x3::IfcTendon::setPreStress(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc2x3::IfcTendon::FrictionCoefficient() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc2x3::IfcTendon::FrictionCoefficient() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc2x3::IfcTendon::setFrictionCoefficient(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc2x3::IfcTendon::AnchorageSlip() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc2x3::IfcTendon::AnchorageSlip() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc2x3::IfcTendon::setAnchorageSlip(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc2x3::IfcTendon::MinCurvatureRadius() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc2x3::IfcTendon::MinCurvatureRadius() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc2x3::IfcTendon::setMinCurvatureRadius(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } const IfcParse::entity& Ifc2x3::IfcTendon::declaration() const { return *((IfcParse::entity*)IFC2X3_types[875]); } const IfcParse::entity& Ifc2x3::IfcTendon::Class() { return *((IfcParse::entity*)IFC2X3_types[875]); } Ifc2x3::IfcTendon::IfcTendon(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc2x3::IfcTendon::IfcTendon(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, ::Ifc2x3::IfcTendonTypeEnum::Value v10_PredefinedType, double v11_NominalDiameter, 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(storage_t(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (v11_NominalDiameter));set_attribute_value(11, (v12_CrossSectionArea)); if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; populate_derived(); } +Ifc2x3::IfcTendon::IfcTendon(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, ::Ifc2x3::IfcTendonTypeEnum::Value v10_PredefinedType, double v11_NominalDiameter, 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(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (v11_NominalDiameter));set_attribute_value(11, (v12_CrossSectionArea)); if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; populate_derived(); } // Function implementations for IfcTendonAnchor @@ -12652,127 +12652,127 @@ Ifc2x3::IfcTendon::IfcTendon(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* const IfcParse::entity& Ifc2x3::IfcTendonAnchor::declaration() const { return *((IfcParse::entity*)IFC2X3_types[876]); } const IfcParse::entity& Ifc2x3::IfcTendonAnchor::Class() { return *((IfcParse::entity*)IFC2X3_types[876]); } Ifc2x3::IfcTendonAnchor::IfcTendonAnchor(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc2x3::IfcTendonAnchor::IfcTendonAnchor(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; populate_derived(); } +Ifc2x3::IfcTendonAnchor::IfcTendonAnchor(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; populate_derived(); } // Function implementations for IfcTerminatorSymbol -::Ifc2x3::IfcAnnotationCurveOccurrence* Ifc2x3::IfcTerminatorSymbol::AnnotatedCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc2x3::IfcAnnotationCurveOccurrence>(true); } +::Ifc2x3::IfcAnnotationCurveOccurrence* Ifc2x3::IfcTerminatorSymbol::AnnotatedCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc2x3::IfcAnnotationCurveOccurrence>(true); } void Ifc2x3::IfcTerminatorSymbol::setAnnotatedCurve(::Ifc2x3::IfcAnnotationCurveOccurrence* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcTerminatorSymbol::declaration() const { return *((IfcParse::entity*)IFC2X3_types[878]); } const IfcParse::entity& Ifc2x3::IfcTerminatorSymbol::Class() { return *((IfcParse::entity*)IFC2X3_types[878]); } Ifc2x3::IfcTerminatorSymbol::IfcTerminatorSymbol(IfcEntityInstanceData&& e) : IfcAnnotationSymbolOccurrence(std::move(e)) { } -Ifc2x3::IfcTerminatorSymbol::IfcTerminatorSymbol(::Ifc2x3::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc2x3::IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name, ::Ifc2x3::IfcAnnotationCurveOccurrence* v4_AnnotatedCurve) : IfcAnnotationSymbolOccurrence(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, v4_AnnotatedCurve ? v4_AnnotatedCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcTerminatorSymbol::IfcTerminatorSymbol(::Ifc2x3::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc2x3::IfcPresentationStyleAssignment >::ptr v2_Styles, boost::optional< std::string > v3_Name, ::Ifc2x3::IfcAnnotationCurveOccurrence* v4_AnnotatedCurve) : IfcAnnotationSymbolOccurrence(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, v4_AnnotatedCurve ? v4_AnnotatedCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextLiteral -std::string Ifc2x3::IfcTextLiteral::Literal() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc2x3::IfcTextLiteral::Literal() const { std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcTextLiteral::setLiteral(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcAxis2Placement* Ifc2x3::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcAxis2Placement>(true); } +::Ifc2x3::IfcAxis2Placement* Ifc2x3::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcAxis2Placement>(true); } void Ifc2x3::IfcTextLiteral::setPlacement(::Ifc2x3::IfcAxis2Placement* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc2x3::IfcTextPath::Value Ifc2x3::IfcTextLiteral::Path() const { return ::Ifc2x3::IfcTextPath::FromString(data_.get_attribute_value(2)); } +::Ifc2x3::IfcTextPath::Value Ifc2x3::IfcTextLiteral::Path() const { return ::Ifc2x3::IfcTextPath::FromString(get_attribute_value(2)); } void Ifc2x3::IfcTextLiteral::setPath(::Ifc2x3::IfcTextPath::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc2x3::IfcTextPath::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc2x3::IfcTextLiteral::declaration() const { return *((IfcParse::entity*)IFC2X3_types[884]); } const IfcParse::entity& Ifc2x3::IfcTextLiteral::Class() { return *((IfcParse::entity*)IFC2X3_types[884]); } Ifc2x3::IfcTextLiteral::IfcTextLiteral(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc2x3::IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, ::Ifc2x3::IfcAxis2Placement* v2_Placement, ::Ifc2x3::IfcTextPath::Value v3_Path) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcTextPath::Class(),(size_t)v3_Path)));; populate_derived(); } +Ifc2x3::IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, ::Ifc2x3::IfcAxis2Placement* v2_Placement, ::Ifc2x3::IfcTextPath::Value v3_Path) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcTextPath::Class(),(size_t)v3_Path)));; populate_derived(); } // Function implementations for IfcTextLiteralWithExtent -::Ifc2x3::IfcPlanarExtent* Ifc2x3::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc2x3::IfcPlanarExtent>(true); } +::Ifc2x3::IfcPlanarExtent* Ifc2x3::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc2x3::IfcPlanarExtent>(true); } void Ifc2x3::IfcTextLiteralWithExtent::setExtent(::Ifc2x3::IfcPlanarExtent* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -std::string Ifc2x3::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = data_.get_attribute_value(4); return v; } +std::string Ifc2x3::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = get_attribute_value(4); return v; } void Ifc2x3::IfcTextLiteralWithExtent::setBoxAlignment(std::string v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc2x3::IfcTextLiteralWithExtent::declaration() const { return *((IfcParse::entity*)IFC2X3_types[885]); } const IfcParse::entity& Ifc2x3::IfcTextLiteralWithExtent::Class() { return *((IfcParse::entity*)IFC2X3_types[885]); } Ifc2x3::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(IfcEntityInstanceData&& e) : IfcTextLiteral(std::move(e)) { } -Ifc2x3::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(std::string v1_Literal, ::Ifc2x3::IfcAxis2Placement* v2_Placement, ::Ifc2x3::IfcTextPath::Value v3_Path, ::Ifc2x3::IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment) : IfcTextLiteral(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, v4_Extent ? v4_Extent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_BoxAlignment));; populate_derived(); } +Ifc2x3::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(std::string v1_Literal, ::Ifc2x3::IfcAxis2Placement* v2_Placement, ::Ifc2x3::IfcTextPath::Value v3_Path, ::Ifc2x3::IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment) : IfcTextLiteral(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc2x3::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, v4_Extent ? v4_Extent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_BoxAlignment));; populate_derived(); } // Function implementations for IfcTextStyle -::Ifc2x3::IfcCharacterStyleSelect* Ifc2x3::IfcTextStyle::TextCharacterAppearance() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcCharacterStyleSelect>(true); } +::Ifc2x3::IfcCharacterStyleSelect* Ifc2x3::IfcTextStyle::TextCharacterAppearance() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcCharacterStyleSelect>(true); } void Ifc2x3::IfcTextStyle::setTextCharacterAppearance(::Ifc2x3::IfcCharacterStyleSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc2x3::IfcTextStyleSelect* Ifc2x3::IfcTextStyle::TextStyle() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcTextStyleSelect>(true); } +::Ifc2x3::IfcTextStyleSelect* Ifc2x3::IfcTextStyle::TextStyle() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcTextStyleSelect>(true); } void Ifc2x3::IfcTextStyle::setTextStyle(::Ifc2x3::IfcTextStyleSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcTextFontSelect* Ifc2x3::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc2x3::IfcTextFontSelect>(true); } +::Ifc2x3::IfcTextFontSelect* Ifc2x3::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc2x3::IfcTextFontSelect>(true); } void Ifc2x3::IfcTextStyle::setTextFontStyle(::Ifc2x3::IfcTextFontSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc2x3::IfcTextStyle::declaration() const { return *((IfcParse::entity*)IFC2X3_types[887]); } const IfcParse::entity& Ifc2x3::IfcTextStyle::Class() { return *((IfcParse::entity*)IFC2X3_types[887]); } Ifc2x3::IfcTextStyle::IfcTextStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc2x3::IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, ::Ifc2x3::IfcCharacterStyleSelect* v2_TextCharacterAppearance, ::Ifc2x3::IfcTextStyleSelect* v3_TextStyle, ::Ifc2x3::IfcTextFontSelect* v4_TextFontStyle) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TextCharacterAppearance ? v2_TextCharacterAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TextStyle ? v3_TextStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TextFontStyle ? v4_TextFontStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, ::Ifc2x3::IfcCharacterStyleSelect* v2_TextCharacterAppearance, ::Ifc2x3::IfcTextStyleSelect* v3_TextStyle, ::Ifc2x3::IfcTextFontSelect* v4_TextFontStyle) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TextCharacterAppearance ? v2_TextCharacterAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TextStyle ? v3_TextStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TextFontStyle ? v4_TextFontStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextStyleFontModel -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc2x3::IfcTextStyleFontModel::FontFamily() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc2x3::IfcTextStyleFontModel::FontFamily() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc2x3::IfcTextStyleFontModel::setFontFamily(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc2x3::IfcTextStyleFontModel::FontStyle() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc2x3::IfcTextStyleFontModel::FontStyle() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcTextStyleFontModel::setFontStyle(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc2x3::IfcTextStyleFontModel::FontVariant() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc2x3::IfcTextStyleFontModel::FontVariant() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc2x3::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc2x3::IfcTextStyleFontModel::FontWeight() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc2x3::IfcTextStyleFontModel::FontWeight() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc2x3::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc2x3::IfcSizeSelect* Ifc2x3::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc2x3::IfcSizeSelect>(true); } +::Ifc2x3::IfcSizeSelect* Ifc2x3::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc2x3::IfcSizeSelect>(true); } void Ifc2x3::IfcTextStyleFontModel::setFontSize(::Ifc2x3::IfcSizeSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc2x3::IfcTextStyleFontModel::declaration() const { return *((IfcParse::entity*)IFC2X3_types[888]); } const IfcParse::entity& Ifc2x3::IfcTextStyleFontModel::Class() { return *((IfcParse::entity*)IFC2X3_types[888]); } Ifc2x3::IfcTextStyleFontModel::IfcTextStyleFontModel(IfcEntityInstanceData&& e) : IfcPreDefinedTextFont(std::move(e)) { } -Ifc2x3::IfcTextStyleFontModel::IfcTextStyleFontModel(std::string v1_Name, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_FontFamily, boost::optional< std::string > v3_FontStyle, boost::optional< std::string > v4_FontVariant, boost::optional< std::string > v5_FontWeight, ::Ifc2x3::IfcSizeSelect* v6_FontSize) : IfcPreDefinedTextFont(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name)); if (v2_FontFamily) {set_attribute_value(1, (*v2_FontFamily)); } if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, v6_FontSize ? v6_FontSize->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcTextStyleFontModel::IfcTextStyleFontModel(std::string v1_Name, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_FontFamily, boost::optional< std::string > v3_FontStyle, boost::optional< std::string > v4_FontVariant, boost::optional< std::string > v5_FontWeight, ::Ifc2x3::IfcSizeSelect* v6_FontSize) : IfcPreDefinedTextFont(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name)); if (v2_FontFamily) {set_attribute_value(1, (*v2_FontFamily)); } if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, v6_FontSize ? v6_FontSize->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextStyleForDefinedFont -::Ifc2x3::IfcColour* Ifc2x3::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcColour>(true); } +::Ifc2x3::IfcColour* Ifc2x3::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcColour>(true); } void Ifc2x3::IfcTextStyleForDefinedFont::setColour(::Ifc2x3::IfcColour* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc2x3::IfcColour* Ifc2x3::IfcTextStyleForDefinedFont::BackgroundColour() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcColour>(true); } +::Ifc2x3::IfcColour* Ifc2x3::IfcTextStyleForDefinedFont::BackgroundColour() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcColour>(true); } void Ifc2x3::IfcTextStyleForDefinedFont::setBackgroundColour(::Ifc2x3::IfcColour* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcTextStyleForDefinedFont::declaration() const { return *((IfcParse::entity*)IFC2X3_types[889]); } const IfcParse::entity& Ifc2x3::IfcTextStyleForDefinedFont::Class() { return *((IfcParse::entity*)IFC2X3_types[889]); } Ifc2x3::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc2x3::IfcColour* v1_Colour, ::Ifc2x3::IfcColour* v2_BackgroundColour) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Colour ? v1_Colour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_BackgroundColour ? v2_BackgroundColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc2x3::IfcColour* v1_Colour, ::Ifc2x3::IfcColour* v2_BackgroundColour) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Colour ? v1_Colour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_BackgroundColour ? v2_BackgroundColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextStyleTextModel -::Ifc2x3::IfcSizeSelect* Ifc2x3::IfcTextStyleTextModel::TextIndent() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcSizeSelect>(true); } +::Ifc2x3::IfcSizeSelect* Ifc2x3::IfcTextStyleTextModel::TextIndent() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcSizeSelect>(true); } void Ifc2x3::IfcTextStyleTextModel::setTextIndent(::Ifc2x3::IfcSizeSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc2x3::IfcTextStyleTextModel::TextAlign() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc2x3::IfcTextStyleTextModel::TextAlign() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc2x3::IfcTextStyleTextModel::TextDecoration() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc2x3::IfcTextStyleTextModel::TextDecoration() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc2x3::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc2x3::IfcSizeSelect* Ifc2x3::IfcTextStyleTextModel::LetterSpacing() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc2x3::IfcSizeSelect>(true); } +::Ifc2x3::IfcSizeSelect* Ifc2x3::IfcTextStyleTextModel::LetterSpacing() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc2x3::IfcSizeSelect>(true); } void Ifc2x3::IfcTextStyleTextModel::setLetterSpacing(::Ifc2x3::IfcSizeSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc2x3::IfcSizeSelect* Ifc2x3::IfcTextStyleTextModel::WordSpacing() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc2x3::IfcSizeSelect>(true); } +::Ifc2x3::IfcSizeSelect* Ifc2x3::IfcTextStyleTextModel::WordSpacing() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc2x3::IfcSizeSelect>(true); } void Ifc2x3::IfcTextStyleTextModel::setWordSpacing(::Ifc2x3::IfcSizeSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -boost::optional< std::string > Ifc2x3::IfcTextStyleTextModel::TextTransform() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc2x3::IfcTextStyleTextModel::TextTransform() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc2x3::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc2x3::IfcSizeSelect* Ifc2x3::IfcTextStyleTextModel::LineHeight() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc2x3::IfcSizeSelect>(true); } +::Ifc2x3::IfcSizeSelect* Ifc2x3::IfcTextStyleTextModel::LineHeight() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc2x3::IfcSizeSelect>(true); } void Ifc2x3::IfcTextStyleTextModel::setLineHeight(::Ifc2x3::IfcSizeSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc2x3::IfcTextStyleTextModel::declaration() const { return *((IfcParse::entity*)IFC2X3_types[891]); } const IfcParse::entity& Ifc2x3::IfcTextStyleTextModel::Class() { return *((IfcParse::entity*)IFC2X3_types[891]); } Ifc2x3::IfcTextStyleTextModel::IfcTextStyleTextModel(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcTextStyleTextModel::IfcTextStyleTextModel(::Ifc2x3::IfcSizeSelect* v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, ::Ifc2x3::IfcSizeSelect* v4_LetterSpacing, ::Ifc2x3::IfcSizeSelect* v5_WordSpacing, boost::optional< std::string > v6_TextTransform, ::Ifc2x3::IfcSizeSelect* v7_LineHeight) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, v1_TextIndent ? v1_TextIndent->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, v4_LetterSpacing ? v4_LetterSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_WordSpacing ? v5_WordSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, v7_LineHeight ? v7_LineHeight->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcTextStyleTextModel::IfcTextStyleTextModel(::Ifc2x3::IfcSizeSelect* v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, ::Ifc2x3::IfcSizeSelect* v4_LetterSpacing, ::Ifc2x3::IfcSizeSelect* v5_WordSpacing, boost::optional< std::string > v6_TextTransform, ::Ifc2x3::IfcSizeSelect* v7_LineHeight) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_TextIndent ? v1_TextIndent->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, v4_LetterSpacing ? v4_LetterSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_WordSpacing ? v5_WordSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, v7_LineHeight ? v7_LineHeight->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextStyleWithBoxCharacteristics -boost::optional< double > Ifc2x3::IfcTextStyleWithBoxCharacteristics::BoxHeight() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } double v = data_.get_attribute_value(0); return v; } +boost::optional< double > Ifc2x3::IfcTextStyleWithBoxCharacteristics::BoxHeight() const { if(get_attribute_value(0).isNull()) { return boost::none; } double v = get_attribute_value(0); return v; } void Ifc2x3::IfcTextStyleWithBoxCharacteristics::setBoxHeight(boost::optional< double > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< double > Ifc2x3::IfcTextStyleWithBoxCharacteristics::BoxWidth() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc2x3::IfcTextStyleWithBoxCharacteristics::BoxWidth() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc2x3::IfcTextStyleWithBoxCharacteristics::setBoxWidth(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc2x3::IfcTextStyleWithBoxCharacteristics::BoxSlantAngle() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc2x3::IfcTextStyleWithBoxCharacteristics::BoxSlantAngle() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc2x3::IfcTextStyleWithBoxCharacteristics::setBoxSlantAngle(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc2x3::IfcTextStyleWithBoxCharacteristics::BoxRotateAngle() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc2x3::IfcTextStyleWithBoxCharacteristics::BoxRotateAngle() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc2x3::IfcTextStyleWithBoxCharacteristics::setBoxRotateAngle(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc2x3::IfcSizeSelect* Ifc2x3::IfcTextStyleWithBoxCharacteristics::CharacterSpacing() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc2x3::IfcSizeSelect>(true); } +::Ifc2x3::IfcSizeSelect* Ifc2x3::IfcTextStyleWithBoxCharacteristics::CharacterSpacing() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc2x3::IfcSizeSelect>(true); } void Ifc2x3::IfcTextStyleWithBoxCharacteristics::setCharacterSpacing(::Ifc2x3::IfcSizeSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc2x3::IfcTextStyleWithBoxCharacteristics::declaration() const { return *((IfcParse::entity*)IFC2X3_types[892]); } const IfcParse::entity& Ifc2x3::IfcTextStyleWithBoxCharacteristics::Class() { return *((IfcParse::entity*)IFC2X3_types[892]); } Ifc2x3::IfcTextStyleWithBoxCharacteristics::IfcTextStyleWithBoxCharacteristics(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcTextStyleWithBoxCharacteristics::IfcTextStyleWithBoxCharacteristics(boost::optional< double > v1_BoxHeight, boost::optional< double > v2_BoxWidth, boost::optional< double > v3_BoxSlantAngle, boost::optional< double > v4_BoxRotateAngle, ::Ifc2x3::IfcSizeSelect* v5_CharacterSpacing) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { if (v1_BoxHeight) {set_attribute_value(0, (*v1_BoxHeight)); } if (v2_BoxWidth) {set_attribute_value(1, (*v2_BoxWidth)); } if (v3_BoxSlantAngle) {set_attribute_value(2, (*v3_BoxSlantAngle)); } if (v4_BoxRotateAngle) {set_attribute_value(3, (*v4_BoxRotateAngle)); }set_attribute_value(4, v5_CharacterSpacing ? v5_CharacterSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcTextStyleWithBoxCharacteristics::IfcTextStyleWithBoxCharacteristics(boost::optional< double > v1_BoxHeight, boost::optional< double > v2_BoxWidth, boost::optional< double > v3_BoxSlantAngle, boost::optional< double > v4_BoxRotateAngle, ::Ifc2x3::IfcSizeSelect* v5_CharacterSpacing) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_BoxHeight) {set_attribute_value(0, (*v1_BoxHeight)); } if (v2_BoxWidth) {set_attribute_value(1, (*v2_BoxWidth)); } if (v3_BoxSlantAngle) {set_attribute_value(2, (*v3_BoxSlantAngle)); } if (v4_BoxRotateAngle) {set_attribute_value(3, (*v4_BoxRotateAngle)); }set_attribute_value(4, v5_CharacterSpacing ? v5_CharacterSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextureCoordinate @@ -12781,72 +12781,72 @@ Ifc2x3::IfcTextStyleWithBoxCharacteristics::IfcTextStyleWithBoxCharacteristics(b const IfcParse::entity& Ifc2x3::IfcTextureCoordinate::declaration() const { return *((IfcParse::entity*)IFC2X3_types[894]); } const IfcParse::entity& Ifc2x3::IfcTextureCoordinate::Class() { return *((IfcParse::entity*)IFC2X3_types[894]); } Ifc2x3::IfcTextureCoordinate::IfcTextureCoordinate(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcTextureCoordinate::IfcTextureCoordinate() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc2x3::IfcTextureCoordinate::IfcTextureCoordinate() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcTextureCoordinateGenerator -std::string Ifc2x3::IfcTextureCoordinateGenerator::Mode() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc2x3::IfcTextureCoordinateGenerator::Mode() const { std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcTextureCoordinateGenerator::setMode(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc2x3::IfcSimpleValue >::ptr Ifc2x3::IfcTextureCoordinateGenerator::Parameter() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc2x3::IfcSimpleValue >(); } +aggregate_of< ::Ifc2x3::IfcSimpleValue >::ptr Ifc2x3::IfcTextureCoordinateGenerator::Parameter() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc2x3::IfcSimpleValue >(); } void Ifc2x3::IfcTextureCoordinateGenerator::setParameter(aggregate_of< ::Ifc2x3::IfcSimpleValue >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcTextureCoordinateGenerator::declaration() const { return *((IfcParse::entity*)IFC2X3_types[895]); } const IfcParse::entity& Ifc2x3::IfcTextureCoordinateGenerator::Class() { return *((IfcParse::entity*)IFC2X3_types[895]); } Ifc2x3::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(IfcEntityInstanceData&& e) : IfcTextureCoordinate(std::move(e)) { } -Ifc2x3::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(std::string v1_Mode, aggregate_of< ::Ifc2x3::IfcSimpleValue >::ptr v2_Parameter) : IfcTextureCoordinate(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Mode));set_attribute_value(1, (v2_Parameter)->generalize());; populate_derived(); } +Ifc2x3::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(std::string v1_Mode, aggregate_of< ::Ifc2x3::IfcSimpleValue >::ptr v2_Parameter) : IfcTextureCoordinate(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Mode));set_attribute_value(1, (v2_Parameter)->generalize());; populate_derived(); } // Function implementations for IfcTextureMap -aggregate_of< ::Ifc2x3::IfcVertexBasedTextureMap >::ptr Ifc2x3::IfcTextureMap::TextureMaps() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc2x3::IfcVertexBasedTextureMap >(); } +aggregate_of< ::Ifc2x3::IfcVertexBasedTextureMap >::ptr Ifc2x3::IfcTextureMap::TextureMaps() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc2x3::IfcVertexBasedTextureMap >(); } void Ifc2x3::IfcTextureMap::setTextureMaps(aggregate_of< ::Ifc2x3::IfcVertexBasedTextureMap >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc2x3::IfcTextureMap::declaration() const { return *((IfcParse::entity*)IFC2X3_types[896]); } const IfcParse::entity& Ifc2x3::IfcTextureMap::Class() { return *((IfcParse::entity*)IFC2X3_types[896]); } Ifc2x3::IfcTextureMap::IfcTextureMap(IfcEntityInstanceData&& e) : IfcTextureCoordinate(std::move(e)) { } -Ifc2x3::IfcTextureMap::IfcTextureMap(aggregate_of< ::Ifc2x3::IfcVertexBasedTextureMap >::ptr v1_TextureMaps) : IfcTextureCoordinate(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_TextureMaps)->generalize());; populate_derived(); } +Ifc2x3::IfcTextureMap::IfcTextureMap(aggregate_of< ::Ifc2x3::IfcVertexBasedTextureMap >::ptr v1_TextureMaps) : IfcTextureCoordinate(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_TextureMaps)->generalize());; populate_derived(); } // Function implementations for IfcTextureVertex -std::vector< double > /*[2:2]*/ Ifc2x3::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[2:2]*/ Ifc2x3::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = get_attribute_value(0); return v; } void Ifc2x3::IfcTextureVertex::setCoordinates(std::vector< double > /*[2:2]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc2x3::IfcTextureVertex::declaration() const { return *((IfcParse::entity*)IFC2X3_types[897]); } const IfcParse::entity& Ifc2x3::IfcTextureVertex::Class() { return *((IfcParse::entity*)IFC2X3_types[897]); } Ifc2x3::IfcTextureVertex::IfcTextureVertex(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcTextureVertex::IfcTextureVertex(std::vector< double > /*[2:2]*/ v1_Coordinates) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } +Ifc2x3::IfcTextureVertex::IfcTextureVertex(std::vector< double > /*[2:2]*/ v1_Coordinates) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } // Function implementations for IfcThermalMaterialProperties -boost::optional< double > Ifc2x3::IfcThermalMaterialProperties::SpecificHeatCapacity() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc2x3::IfcThermalMaterialProperties::SpecificHeatCapacity() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc2x3::IfcThermalMaterialProperties::setSpecificHeatCapacity(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc2x3::IfcThermalMaterialProperties::BoilingPoint() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc2x3::IfcThermalMaterialProperties::BoilingPoint() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc2x3::IfcThermalMaterialProperties::setBoilingPoint(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc2x3::IfcThermalMaterialProperties::FreezingPoint() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc2x3::IfcThermalMaterialProperties::FreezingPoint() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc2x3::IfcThermalMaterialProperties::setFreezingPoint(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc2x3::IfcThermalMaterialProperties::ThermalConductivity() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc2x3::IfcThermalMaterialProperties::ThermalConductivity() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc2x3::IfcThermalMaterialProperties::setThermalConductivity(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc2x3::IfcThermalMaterialProperties::declaration() const { return *((IfcParse::entity*)IFC2X3_types[903]); } const IfcParse::entity& Ifc2x3::IfcThermalMaterialProperties::Class() { return *((IfcParse::entity*)IFC2X3_types[903]); } Ifc2x3::IfcThermalMaterialProperties::IfcThermalMaterialProperties(IfcEntityInstanceData&& e) : IfcMaterialProperties(std::move(e)) { } -Ifc2x3::IfcThermalMaterialProperties::IfcThermalMaterialProperties(::Ifc2x3::IfcMaterial* v1_Material, boost::optional< double > v2_SpecificHeatCapacity, boost::optional< double > v3_BoilingPoint, boost::optional< double > v4_FreezingPoint, boost::optional< double > v5_ThermalConductivity) : IfcMaterialProperties(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_SpecificHeatCapacity) {set_attribute_value(1, (*v2_SpecificHeatCapacity)); } if (v3_BoilingPoint) {set_attribute_value(2, (*v3_BoilingPoint)); } if (v4_FreezingPoint) {set_attribute_value(3, (*v4_FreezingPoint)); } if (v5_ThermalConductivity) {set_attribute_value(4, (*v5_ThermalConductivity)); }; populate_derived(); } +Ifc2x3::IfcThermalMaterialProperties::IfcThermalMaterialProperties(::Ifc2x3::IfcMaterial* v1_Material, boost::optional< double > v2_SpecificHeatCapacity, boost::optional< double > v3_BoilingPoint, boost::optional< double > v4_FreezingPoint, boost::optional< double > v5_ThermalConductivity) : IfcMaterialProperties(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_SpecificHeatCapacity) {set_attribute_value(1, (*v2_SpecificHeatCapacity)); } if (v3_BoilingPoint) {set_attribute_value(2, (*v3_BoilingPoint)); } if (v4_FreezingPoint) {set_attribute_value(3, (*v4_FreezingPoint)); } if (v5_ThermalConductivity) {set_attribute_value(4, (*v5_ThermalConductivity)); }; populate_derived(); } // Function implementations for IfcTimeSeries -std::string Ifc2x3::IfcTimeSeries::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc2x3::IfcTimeSeries::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc2x3::IfcTimeSeries::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc2x3::IfcTimeSeries::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc2x3::IfcTimeSeries::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc2x3::IfcTimeSeries::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcTimeSeries::StartTime() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcTimeSeries::StartTime() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcTimeSeries::setStartTime(::Ifc2x3::IfcDateTimeSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcTimeSeries::EndTime() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcTimeSeries::EndTime() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcTimeSeries::setEndTime(::Ifc2x3::IfcDateTimeSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc2x3::IfcTimeSeriesDataTypeEnum::Value Ifc2x3::IfcTimeSeries::TimeSeriesDataType() const { return ::Ifc2x3::IfcTimeSeriesDataTypeEnum::FromString(data_.get_attribute_value(4)); } +::Ifc2x3::IfcTimeSeriesDataTypeEnum::Value Ifc2x3::IfcTimeSeries::TimeSeriesDataType() const { return ::Ifc2x3::IfcTimeSeriesDataTypeEnum::FromString(get_attribute_value(4)); } void Ifc2x3::IfcTimeSeries::setTimeSeriesDataType(::Ifc2x3::IfcTimeSeriesDataTypeEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc2x3::IfcTimeSeriesDataTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcDataOriginEnum::Value Ifc2x3::IfcTimeSeries::DataOrigin() const { return ::Ifc2x3::IfcDataOriginEnum::FromString(data_.get_attribute_value(5)); } +::Ifc2x3::IfcDataOriginEnum::Value Ifc2x3::IfcTimeSeries::DataOrigin() const { return ::Ifc2x3::IfcDataOriginEnum::FromString(get_attribute_value(5)); } void Ifc2x3::IfcTimeSeries::setDataOrigin(::Ifc2x3::IfcDataOriginEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc2x3::IfcDataOriginEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< std::string > Ifc2x3::IfcTimeSeries::UserDefinedDataOrigin() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc2x3::IfcTimeSeries::UserDefinedDataOrigin() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc2x3::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc2x3::IfcUnit* Ifc2x3::IfcTimeSeries::Unit() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc2x3::IfcUnit>(true); } +::Ifc2x3::IfcUnit* Ifc2x3::IfcTimeSeries::Unit() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc2x3::IfcUnit>(true); } void Ifc2x3::IfcTimeSeries::setUnit(::Ifc2x3::IfcUnit* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } ::Ifc2x3::IfcTimeSeriesReferenceRelationship::list::ptr Ifc2x3::IfcTimeSeries::DocumentedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[910], 0)->as(); } @@ -12854,43 +12854,43 @@ void Ifc2x3::IfcTimeSeries::setUnit(::Ifc2x3::IfcUnit* v) { set_attribute_value( const IfcParse::entity& Ifc2x3::IfcTimeSeries::declaration() const { return *((IfcParse::entity*)IFC2X3_types[908]); } const IfcParse::entity& Ifc2x3::IfcTimeSeries::Class() { return *((IfcParse::entity*)IFC2X3_types[908]); } Ifc2x3::IfcTimeSeries::IfcTimeSeries(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcDateTimeSelect* v3_StartTime, ::Ifc2x3::IfcDateTimeSelect* v4_EndTime, ::Ifc2x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc2x3::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc2x3::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_StartTime ? v3_StartTime->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_EndTime ? v4_EndTime->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (EnumerationReference(&::Ifc2x3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc2x3::IfcDateTimeSelect* v3_StartTime, ::Ifc2x3::IfcDateTimeSelect* v4_EndTime, ::Ifc2x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc2x3::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc2x3::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_StartTime ? v3_StartTime->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_EndTime ? v4_EndTime->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (EnumerationReference(&::Ifc2x3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTimeSeriesReferenceRelationship -::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcTimeSeriesReferenceRelationship::ReferencedTimeSeries() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcTimeSeries>(true); } +::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcTimeSeriesReferenceRelationship::ReferencedTimeSeries() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcTimeSeries>(true); } void Ifc2x3::IfcTimeSeriesReferenceRelationship::setReferencedTimeSeries(::Ifc2x3::IfcTimeSeries* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc2x3::IfcDocumentSelect >::ptr Ifc2x3::IfcTimeSeriesReferenceRelationship::TimeSeriesReferences() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc2x3::IfcDocumentSelect >(); } +aggregate_of< ::Ifc2x3::IfcDocumentSelect >::ptr Ifc2x3::IfcTimeSeriesReferenceRelationship::TimeSeriesReferences() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc2x3::IfcDocumentSelect >(); } void Ifc2x3::IfcTimeSeriesReferenceRelationship::setTimeSeriesReferences(aggregate_of< ::Ifc2x3::IfcDocumentSelect >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcTimeSeriesReferenceRelationship::declaration() const { return *((IfcParse::entity*)IFC2X3_types[910]); } const IfcParse::entity& Ifc2x3::IfcTimeSeriesReferenceRelationship::Class() { return *((IfcParse::entity*)IFC2X3_types[910]); } Ifc2x3::IfcTimeSeriesReferenceRelationship::IfcTimeSeriesReferenceRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcTimeSeriesReferenceRelationship::IfcTimeSeriesReferenceRelationship(::Ifc2x3::IfcTimeSeries* v1_ReferencedTimeSeries, aggregate_of< ::Ifc2x3::IfcDocumentSelect >::ptr v2_TimeSeriesReferences) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_ReferencedTimeSeries ? v1_ReferencedTimeSeries->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_TimeSeriesReferences)->generalize());; populate_derived(); } +Ifc2x3::IfcTimeSeriesReferenceRelationship::IfcTimeSeriesReferenceRelationship(::Ifc2x3::IfcTimeSeries* v1_ReferencedTimeSeries, aggregate_of< ::Ifc2x3::IfcDocumentSelect >::ptr v2_TimeSeriesReferences) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_ReferencedTimeSeries ? v1_ReferencedTimeSeries->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_TimeSeriesReferences)->generalize());; populate_derived(); } // Function implementations for IfcTimeSeriesSchedule -boost::optional< aggregate_of< ::Ifc2x3::IfcDateTimeSelect >::ptr > Ifc2x3::IfcTimeSeriesSchedule::ApplicableDates() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc2x3::IfcDateTimeSelect >(); } +boost::optional< aggregate_of< ::Ifc2x3::IfcDateTimeSelect >::ptr > Ifc2x3::IfcTimeSeriesSchedule::ApplicableDates() const { if(get_attribute_value(5).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc2x3::IfcDateTimeSelect >(); } void Ifc2x3::IfcTimeSeriesSchedule::setApplicableDates(boost::optional< aggregate_of< ::Ifc2x3::IfcDateTimeSelect >::ptr > v) { if (v) {set_attribute_value(5, (*v)->generalize());} else {unset_attribute_value(5);} } -::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Value Ifc2x3::IfcTimeSeriesSchedule::TimeSeriesScheduleType() const { return ::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::FromString(data_.get_attribute_value(6)); } +::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Value Ifc2x3::IfcTimeSeriesSchedule::TimeSeriesScheduleType() const { return ::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::FromString(get_attribute_value(6)); } void Ifc2x3::IfcTimeSeriesSchedule::setTimeSeriesScheduleType(::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Value v) { set_attribute_value(6, EnumerationReference(&::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(6); } -::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcTimeSeriesSchedule::TimeSeries() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc2x3::IfcTimeSeries>(true); } +::Ifc2x3::IfcTimeSeries* Ifc2x3::IfcTimeSeriesSchedule::TimeSeries() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc2x3::IfcTimeSeries>(true); } void Ifc2x3::IfcTimeSeriesSchedule::setTimeSeries(::Ifc2x3::IfcTimeSeries* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc2x3::IfcTimeSeriesSchedule::declaration() const { return *((IfcParse::entity*)IFC2X3_types[911]); } const IfcParse::entity& Ifc2x3::IfcTimeSeriesSchedule::Class() { return *((IfcParse::entity*)IFC2X3_types[911]); } Ifc2x3::IfcTimeSeriesSchedule::IfcTimeSeriesSchedule(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc2x3::IfcTimeSeriesSchedule::IfcTimeSeriesSchedule(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< aggregate_of< ::Ifc2x3::IfcDateTimeSelect >::ptr > v6_ApplicableDates, ::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Value v7_TimeSeriesScheduleType, ::Ifc2x3::IfcTimeSeries* v8_TimeSeries) : IfcControl(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_ApplicableDates) {set_attribute_value(5, (*v6_ApplicableDates)->generalize()); }set_attribute_value(6, (EnumerationReference(&::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Class(),(size_t)v7_TimeSeriesScheduleType)));set_attribute_value(7, v8_TimeSeries ? v8_TimeSeries->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcTimeSeriesSchedule::IfcTimeSeriesSchedule(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< aggregate_of< ::Ifc2x3::IfcDateTimeSelect >::ptr > v6_ApplicableDates, ::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Value v7_TimeSeriesScheduleType, ::Ifc2x3::IfcTimeSeries* v8_TimeSeries) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_ApplicableDates) {set_attribute_value(5, (*v6_ApplicableDates)->generalize()); }set_attribute_value(6, (EnumerationReference(&::Ifc2x3::IfcTimeSeriesScheduleTypeEnum::Class(),(size_t)v7_TimeSeriesScheduleType)));set_attribute_value(7, v8_TimeSeries ? v8_TimeSeries->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTimeSeriesValue -aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc2x3::IfcValue >(); } +aggregate_of< ::Ifc2x3::IfcValue >::ptr Ifc2x3::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc2x3::IfcValue >(); } void Ifc2x3::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc2x3::IfcValue >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc2x3::IfcTimeSeriesValue::declaration() const { return *((IfcParse::entity*)IFC2X3_types[913]); } const IfcParse::entity& Ifc2x3::IfcTimeSeriesValue::Class() { return *((IfcParse::entity*)IFC2X3_types[913]); } Ifc2x3::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc2x3::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_ListValues)->generalize());; populate_derived(); } +Ifc2x3::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc2x3::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_ListValues)->generalize());; populate_derived(); } // Function implementations for IfcTopologicalRepresentationItem @@ -12898,7 +12898,7 @@ Ifc2x3::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc2x3::IfcValue const IfcParse::entity& Ifc2x3::IfcTopologicalRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC2X3_types[915]); } const IfcParse::entity& Ifc2x3::IfcTopologicalRepresentationItem::Class() { return *((IfcParse::entity*)IFC2X3_types[915]); } Ifc2x3::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc2x3::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc2x3::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcTopologyRepresentation @@ -12906,100 +12906,100 @@ Ifc2x3::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() : I const IfcParse::entity& Ifc2x3::IfcTopologyRepresentation::declaration() const { return *((IfcParse::entity*)IFC2X3_types[916]); } const IfcParse::entity& Ifc2x3::IfcTopologyRepresentation::Class() { return *((IfcParse::entity*)IFC2X3_types[916]); } Ifc2x3::IfcTopologyRepresentation::IfcTopologyRepresentation(IfcEntityInstanceData&& e) : IfcShapeModel(std::move(e)) { } -Ifc2x3::IfcTopologyRepresentation::IfcTopologyRepresentation(::Ifc2x3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc2x3::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc2x3::IfcTopologyRepresentation::IfcTopologyRepresentation(::Ifc2x3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc2x3::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcTransformerType -::Ifc2x3::IfcTransformerTypeEnum::Value Ifc2x3::IfcTransformerType::PredefinedType() const { return ::Ifc2x3::IfcTransformerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcTransformerTypeEnum::Value Ifc2x3::IfcTransformerType::PredefinedType() const { return ::Ifc2x3::IfcTransformerTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcTransformerType::setPredefinedType(::Ifc2x3::IfcTransformerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcTransformerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcTransformerType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[918]); } const IfcParse::entity& Ifc2x3::IfcTransformerType::Class() { return *((IfcParse::entity*)IFC2X3_types[918]); } Ifc2x3::IfcTransformerType::IfcTransformerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc2x3::IfcTransformerType::IfcTransformerType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcTransformerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcTransformerType::IfcTransformerType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcTransformerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTransportElement -boost::optional< ::Ifc2x3::IfcTransportElementTypeEnum::Value > Ifc2x3::IfcTransportElement::OperationType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc2x3::IfcTransportElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc2x3::IfcTransportElementTypeEnum::Value > Ifc2x3::IfcTransportElement::OperationType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc2x3::IfcTransportElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc2x3::IfcTransportElement::setOperationType(boost::optional< ::Ifc2x3::IfcTransportElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc2x3::IfcTransportElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< double > Ifc2x3::IfcTransportElement::CapacityByWeight() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc2x3::IfcTransportElement::CapacityByWeight() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc2x3::IfcTransportElement::setCapacityByWeight(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc2x3::IfcTransportElement::CapacityByNumber() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc2x3::IfcTransportElement::CapacityByNumber() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc2x3::IfcTransportElement::setCapacityByNumber(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc2x3::IfcTransportElement::declaration() const { return *((IfcParse::entity*)IFC2X3_types[921]); } const IfcParse::entity& Ifc2x3::IfcTransportElement::Class() { return *((IfcParse::entity*)IFC2X3_types[921]); } Ifc2x3::IfcTransportElement::IfcTransportElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc2x3::IfcTransportElement::IfcTransportElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc2x3::IfcTransportElementTypeEnum::Value > v9_OperationType, boost::optional< double > v10_CapacityByWeight, boost::optional< double > v11_CapacityByNumber) : IfcElement(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OperationType) {set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcTransportElementTypeEnum::Class(),(size_t)*v9_OperationType))); } if (v10_CapacityByWeight) {set_attribute_value(9, (*v10_CapacityByWeight)); } if (v11_CapacityByNumber) {set_attribute_value(10, (*v11_CapacityByNumber)); }; populate_derived(); } +Ifc2x3::IfcTransportElement::IfcTransportElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc2x3::IfcTransportElementTypeEnum::Value > v9_OperationType, boost::optional< double > v10_CapacityByWeight, boost::optional< double > v11_CapacityByNumber) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OperationType) {set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcTransportElementTypeEnum::Class(),(size_t)*v9_OperationType))); } if (v10_CapacityByWeight) {set_attribute_value(9, (*v10_CapacityByWeight)); } if (v11_CapacityByNumber) {set_attribute_value(10, (*v11_CapacityByNumber)); }; populate_derived(); } // Function implementations for IfcTransportElementType -::Ifc2x3::IfcTransportElementTypeEnum::Value Ifc2x3::IfcTransportElementType::PredefinedType() const { return ::Ifc2x3::IfcTransportElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcTransportElementTypeEnum::Value Ifc2x3::IfcTransportElementType::PredefinedType() const { return ::Ifc2x3::IfcTransportElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcTransportElementType::setPredefinedType(::Ifc2x3::IfcTransportElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcTransportElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcTransportElementType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[922]); } const IfcParse::entity& Ifc2x3::IfcTransportElementType::Class() { return *((IfcParse::entity*)IFC2X3_types[922]); } Ifc2x3::IfcTransportElementType::IfcTransportElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc2x3::IfcTransportElementType::IfcTransportElementType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcTransportElementTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcTransportElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcTransportElementType::IfcTransportElementType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcTransportElementTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcTransportElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTrapeziumProfileDef -double Ifc2x3::IfcTrapeziumProfileDef::BottomXDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc2x3::IfcTrapeziumProfileDef::BottomXDim() const { double v = get_attribute_value(3); return v; } void Ifc2x3::IfcTrapeziumProfileDef::setBottomXDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc2x3::IfcTrapeziumProfileDef::TopXDim() const { double v = data_.get_attribute_value(4); return v; } +double Ifc2x3::IfcTrapeziumProfileDef::TopXDim() const { double v = get_attribute_value(4); return v; } void Ifc2x3::IfcTrapeziumProfileDef::setTopXDim(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc2x3::IfcTrapeziumProfileDef::YDim() const { double v = data_.get_attribute_value(5); return v; } +double Ifc2x3::IfcTrapeziumProfileDef::YDim() const { double v = get_attribute_value(5); return v; } void Ifc2x3::IfcTrapeziumProfileDef::setYDim(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc2x3::IfcTrapeziumProfileDef::TopXOffset() const { double v = data_.get_attribute_value(6); return v; } +double Ifc2x3::IfcTrapeziumProfileDef::TopXOffset() const { double v = get_attribute_value(6); return v; } void Ifc2x3::IfcTrapeziumProfileDef::setTopXOffset(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc2x3::IfcTrapeziumProfileDef::declaration() const { return *((IfcParse::entity*)IFC2X3_types[924]); } const IfcParse::entity& Ifc2x3::IfcTrapeziumProfileDef::Class() { return *((IfcParse::entity*)IFC2X3_types[924]); } Ifc2x3::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc2x3::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D* v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; populate_derived(); } +Ifc2x3::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::IfcAxis2Placement2D* v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; populate_derived(); } // Function implementations for IfcTrimmedCurve -::Ifc2x3::IfcCurve* Ifc2x3::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcCurve>(true); } +::Ifc2x3::IfcCurve* Ifc2x3::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcCurve>(true); } void Ifc2x3::IfcTrimmedCurve::setBasisCurve(::Ifc2x3::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr Ifc2x3::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc2x3::IfcTrimmingSelect >(); } +aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr Ifc2x3::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc2x3::IfcTrimmingSelect >(); } void Ifc2x3::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr Ifc2x3::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc2x3::IfcTrimmingSelect >(); } +aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr Ifc2x3::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc2x3::IfcTrimmingSelect >(); } void Ifc2x3::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -bool Ifc2x3::IfcTrimmedCurve::SenseAgreement() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc2x3::IfcTrimmedCurve::SenseAgreement() const { bool v = get_attribute_value(3); return v; } void Ifc2x3::IfcTrimmedCurve::setSenseAgreement(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc2x3::IfcTrimmingPreference::Value Ifc2x3::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc2x3::IfcTrimmingPreference::FromString(data_.get_attribute_value(4)); } +::Ifc2x3::IfcTrimmingPreference::Value Ifc2x3::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc2x3::IfcTrimmingPreference::FromString(get_attribute_value(4)); } void Ifc2x3::IfcTrimmedCurve::setMasterRepresentation(::Ifc2x3::IfcTrimmingPreference::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc2x3::IfcTrimmingPreference::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc2x3::IfcTrimmedCurve::declaration() const { return *((IfcParse::entity*)IFC2X3_types[925]); } const IfcParse::entity& Ifc2x3::IfcTrimmedCurve::Class() { return *((IfcParse::entity*)IFC2X3_types[925]); } Ifc2x3::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc2x3::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc2x3::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc2x3::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Trim1)->generalize());set_attribute_value(2, (v3_Trim2)->generalize());set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (EnumerationReference(&::Ifc2x3::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; populate_derived(); } +Ifc2x3::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc2x3::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc2x3::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc2x3::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Trim1)->generalize());set_attribute_value(2, (v3_Trim2)->generalize());set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (EnumerationReference(&::Ifc2x3::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcTubeBundleType -::Ifc2x3::IfcTubeBundleTypeEnum::Value Ifc2x3::IfcTubeBundleType::PredefinedType() const { return ::Ifc2x3::IfcTubeBundleTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcTubeBundleTypeEnum::Value Ifc2x3::IfcTubeBundleType::PredefinedType() const { return ::Ifc2x3::IfcTubeBundleTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcTubeBundleType::setPredefinedType(::Ifc2x3::IfcTubeBundleTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcTubeBundleTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcTubeBundleType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[929]); } const IfcParse::entity& Ifc2x3::IfcTubeBundleType::Class() { return *((IfcParse::entity*)IFC2X3_types[929]); } Ifc2x3::IfcTubeBundleType::IfcTubeBundleType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc2x3::IfcTubeBundleType::IfcTubeBundleType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcTubeBundleTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcTubeBundleType::IfcTubeBundleType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcTubeBundleTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTwoDirectionRepeatFactor -::Ifc2x3::IfcVector* Ifc2x3::IfcTwoDirectionRepeatFactor::SecondRepeatFactor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc2x3::IfcVector>(true); } +::Ifc2x3::IfcVector* Ifc2x3::IfcTwoDirectionRepeatFactor::SecondRepeatFactor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc2x3::IfcVector>(true); } void Ifc2x3::IfcTwoDirectionRepeatFactor::setSecondRepeatFactor(::Ifc2x3::IfcVector* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcTwoDirectionRepeatFactor::declaration() const { return *((IfcParse::entity*)IFC2X3_types[931]); } const IfcParse::entity& Ifc2x3::IfcTwoDirectionRepeatFactor::Class() { return *((IfcParse::entity*)IFC2X3_types[931]); } Ifc2x3::IfcTwoDirectionRepeatFactor::IfcTwoDirectionRepeatFactor(IfcEntityInstanceData&& e) : IfcOneDirectionRepeatFactor(std::move(e)) { } -Ifc2x3::IfcTwoDirectionRepeatFactor::IfcTwoDirectionRepeatFactor(::Ifc2x3::IfcVector* v1_RepeatFactor, ::Ifc2x3::IfcVector* v2_SecondRepeatFactor) : IfcOneDirectionRepeatFactor(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_RepeatFactor ? v1_RepeatFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_SecondRepeatFactor ? v2_SecondRepeatFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcTwoDirectionRepeatFactor::IfcTwoDirectionRepeatFactor(::Ifc2x3::IfcVector* v1_RepeatFactor, ::Ifc2x3::IfcVector* v2_SecondRepeatFactor) : IfcOneDirectionRepeatFactor(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_RepeatFactor ? v1_RepeatFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_SecondRepeatFactor ? v2_SecondRepeatFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTypeObject -boost::optional< std::string > Ifc2x3::IfcTypeObject::ApplicableOccurrence() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc2x3::IfcTypeObject::ApplicableOccurrence() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc2x3::IfcTypeObject::setApplicableOccurrence(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > Ifc2x3::IfcTypeObject::HasPropertySets() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc2x3::IfcPropertySetDefinition >(); } +boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > Ifc2x3::IfcTypeObject::HasPropertySets() const { if(get_attribute_value(5).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc2x3::IfcPropertySetDefinition >(); } void Ifc2x3::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v) { if (v) {set_attribute_value(5, (*v)->generalize());} else {unset_attribute_value(5);} } ::Ifc2x3::IfcRelDefinesByType::list::ptr Ifc2x3::IfcTypeObject::ObjectTypeOf() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC2X3_types[704], 5)->as(); } @@ -13007,85 +13007,85 @@ void Ifc2x3::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of< :: const IfcParse::entity& Ifc2x3::IfcTypeObject::declaration() const { return *((IfcParse::entity*)IFC2X3_types[932]); } const IfcParse::entity& Ifc2x3::IfcTypeObject::Class() { return *((IfcParse::entity*)IFC2X3_types[932]); } Ifc2x3::IfcTypeObject::IfcTypeObject(IfcEntityInstanceData&& e) : IfcObjectDefinition(std::move(e)) { } -Ifc2x3::IfcTypeObject::IfcTypeObject(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets) : IfcObjectDefinition(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); }; populate_derived(); } +Ifc2x3::IfcTypeObject::IfcTypeObject(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets) : IfcObjectDefinition(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); }; populate_derived(); } // Function implementations for IfcTypeProduct -boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > Ifc2x3::IfcTypeProduct::RepresentationMaps() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc2x3::IfcRepresentationMap >(); } +boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > Ifc2x3::IfcTypeProduct::RepresentationMaps() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc2x3::IfcRepresentationMap >(); } void Ifc2x3::IfcTypeProduct::setRepresentationMaps(boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc2x3::IfcTypeProduct::Tag() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc2x3::IfcTypeProduct::Tag() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc2x3::IfcTypeProduct::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc2x3::IfcTypeProduct::declaration() const { return *((IfcParse::entity*)IFC2X3_types[933]); } const IfcParse::entity& Ifc2x3::IfcTypeProduct::Class() { return *((IfcParse::entity*)IFC2X3_types[933]); } Ifc2x3::IfcTypeProduct::IfcTypeProduct(IfcEntityInstanceData&& e) : IfcTypeObject(std::move(e)) { } -Ifc2x3::IfcTypeProduct::IfcTypeProduct(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag) : IfcTypeObject(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcTypeProduct::IfcTypeProduct(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag) : IfcTypeObject(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcUShapeProfileDef -double Ifc2x3::IfcUShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc2x3::IfcUShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc2x3::IfcUShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc2x3::IfcUShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc2x3::IfcUShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc2x3::IfcUShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc2x3::IfcUShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc2x3::IfcUShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc2x3::IfcUShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc2x3::IfcUShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc2x3::IfcUShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc2x3::IfcUShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc2x3::IfcUShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc2x3::IfcUShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc2x3::IfcUShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc2x3::IfcUShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc2x3::IfcUShapeProfileDef::EdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc2x3::IfcUShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc2x3::IfcUShapeProfileDef::FlangeSlope() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc2x3::IfcUShapeProfileDef::FlangeSlope() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc2x3::IfcUShapeProfileDef::setFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc2x3::IfcUShapeProfileDef::CentreOfGravityInX() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc2x3::IfcUShapeProfileDef::CentreOfGravityInX() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc2x3::IfcUShapeProfileDef::setCentreOfGravityInX(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc2x3::IfcUShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC2X3_types[939]); } const IfcParse::entity& Ifc2x3::IfcUShapeProfileDef::Class() { return *((IfcParse::entity*)IFC2X3_types[939]); } Ifc2x3::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc2x3::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::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, boost::optional< double > v11_CentreOfGravityInX) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); } if (v11_CentreOfGravityInX) {set_attribute_value(10, (*v11_CentreOfGravityInX)); }; populate_derived(); } +Ifc2x3::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::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, boost::optional< double > v11_CentreOfGravityInX) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); } if (v11_CentreOfGravityInX) {set_attribute_value(10, (*v11_CentreOfGravityInX)); }; populate_derived(); } // Function implementations for IfcUnitAssignment -aggregate_of< ::Ifc2x3::IfcUnit >::ptr Ifc2x3::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc2x3::IfcUnit >(); } +aggregate_of< ::Ifc2x3::IfcUnit >::ptr Ifc2x3::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc2x3::IfcUnit >(); } void Ifc2x3::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc2x3::IfcUnit >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc2x3::IfcUnitAssignment::declaration() const { return *((IfcParse::entity*)IFC2X3_types[937]); } const IfcParse::entity& Ifc2x3::IfcUnitAssignment::Class() { return *((IfcParse::entity*)IFC2X3_types[937]); } Ifc2x3::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc2x3::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Units)->generalize());; populate_derived(); } +Ifc2x3::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc2x3::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Units)->generalize());; populate_derived(); } // Function implementations for IfcUnitaryEquipmentType -::Ifc2x3::IfcUnitaryEquipmentTypeEnum::Value Ifc2x3::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc2x3::IfcUnitaryEquipmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcUnitaryEquipmentTypeEnum::Value Ifc2x3::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc2x3::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcUnitaryEquipmentType::setPredefinedType(::Ifc2x3::IfcUnitaryEquipmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcUnitaryEquipmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcUnitaryEquipmentType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[935]); } const IfcParse::entity& Ifc2x3::IfcUnitaryEquipmentType::Class() { return *((IfcParse::entity*)IFC2X3_types[935]); } Ifc2x3::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc2x3::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcValveType -::Ifc2x3::IfcValveTypeEnum::Value Ifc2x3::IfcValveType::PredefinedType() const { return ::Ifc2x3::IfcValveTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcValveTypeEnum::Value Ifc2x3::IfcValveType::PredefinedType() const { return ::Ifc2x3::IfcValveTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcValveType::setPredefinedType(::Ifc2x3::IfcValveTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcValveTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcValveType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[941]); } const IfcParse::entity& Ifc2x3::IfcValveType::Class() { return *((IfcParse::entity*)IFC2X3_types[941]); } Ifc2x3::IfcValveType::IfcValveType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc2x3::IfcValveType::IfcValveType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcValveTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcValveType::IfcValveType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcValveTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcVector -::Ifc2x3::IfcDirection* Ifc2x3::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcDirection>(true); } +::Ifc2x3::IfcDirection* Ifc2x3::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcDirection>(true); } void Ifc2x3::IfcVector::setOrientation(::Ifc2x3::IfcDirection* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc2x3::IfcVector::Magnitude() const { double v = data_.get_attribute_value(1); return v; } +double Ifc2x3::IfcVector::Magnitude() const { double v = get_attribute_value(1); return v; } void Ifc2x3::IfcVector::setMagnitude(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcVector::declaration() const { return *((IfcParse::entity*)IFC2X3_types[944]); } const IfcParse::entity& Ifc2x3::IfcVector::Class() { return *((IfcParse::entity*)IFC2X3_types[944]); } Ifc2x3::IfcVector::IfcVector(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc2x3::IfcVector::IfcVector(::Ifc2x3::IfcDirection* v1_Orientation, double v2_Magnitude) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Orientation ? v1_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Magnitude));; populate_derived(); } +Ifc2x3::IfcVector::IfcVector(::Ifc2x3::IfcDirection* v1_Orientation, double v2_Magnitude) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Orientation ? v1_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Magnitude));; populate_derived(); } // Function implementations for IfcVertex @@ -13093,49 +13093,49 @@ Ifc2x3::IfcVector::IfcVector(::Ifc2x3::IfcDirection* v1_Orientation, double v2_M const IfcParse::entity& Ifc2x3::IfcVertex::declaration() const { return *((IfcParse::entity*)IFC2X3_types[946]); } const IfcParse::entity& Ifc2x3::IfcVertex::Class() { return *((IfcParse::entity*)IFC2X3_types[946]); } Ifc2x3::IfcVertex::IfcVertex(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc2x3::IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc2x3::IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcVertexBasedTextureMap -aggregate_of< ::Ifc2x3::IfcTextureVertex >::ptr Ifc2x3::IfcVertexBasedTextureMap::TextureVertices() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc2x3::IfcTextureVertex >(); } +aggregate_of< ::Ifc2x3::IfcTextureVertex >::ptr Ifc2x3::IfcVertexBasedTextureMap::TextureVertices() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc2x3::IfcTextureVertex >(); } void Ifc2x3::IfcVertexBasedTextureMap::setTextureVertices(aggregate_of< ::Ifc2x3::IfcTextureVertex >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc2x3::IfcCartesianPoint >::ptr Ifc2x3::IfcVertexBasedTextureMap::TexturePoints() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc2x3::IfcCartesianPoint >(); } +aggregate_of< ::Ifc2x3::IfcCartesianPoint >::ptr Ifc2x3::IfcVertexBasedTextureMap::TexturePoints() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc2x3::IfcCartesianPoint >(); } void Ifc2x3::IfcVertexBasedTextureMap::setTexturePoints(aggregate_of< ::Ifc2x3::IfcCartesianPoint >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcVertexBasedTextureMap::declaration() const { return *((IfcParse::entity*)IFC2X3_types[947]); } const IfcParse::entity& Ifc2x3::IfcVertexBasedTextureMap::Class() { return *((IfcParse::entity*)IFC2X3_types[947]); } Ifc2x3::IfcVertexBasedTextureMap::IfcVertexBasedTextureMap(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcVertexBasedTextureMap::IfcVertexBasedTextureMap(aggregate_of< ::Ifc2x3::IfcTextureVertex >::ptr v1_TextureVertices, aggregate_of< ::Ifc2x3::IfcCartesianPoint >::ptr v2_TexturePoints) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_TextureVertices)->generalize());set_attribute_value(1, (v2_TexturePoints)->generalize());; populate_derived(); } +Ifc2x3::IfcVertexBasedTextureMap::IfcVertexBasedTextureMap(aggregate_of< ::Ifc2x3::IfcTextureVertex >::ptr v1_TextureVertices, aggregate_of< ::Ifc2x3::IfcCartesianPoint >::ptr v2_TexturePoints) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_TextureVertices)->generalize());set_attribute_value(1, (v2_TexturePoints)->generalize());; populate_derived(); } // Function implementations for IfcVertexLoop -::Ifc2x3::IfcVertex* Ifc2x3::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcVertex>(true); } +::Ifc2x3::IfcVertex* Ifc2x3::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcVertex>(true); } void Ifc2x3::IfcVertexLoop::setLoopVertex(::Ifc2x3::IfcVertex* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc2x3::IfcVertexLoop::declaration() const { return *((IfcParse::entity*)IFC2X3_types[948]); } const IfcParse::entity& Ifc2x3::IfcVertexLoop::Class() { return *((IfcParse::entity*)IFC2X3_types[948]); } Ifc2x3::IfcVertexLoop::IfcVertexLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc2x3::IfcVertexLoop::IfcVertexLoop(::Ifc2x3::IfcVertex* v1_LoopVertex) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_LoopVertex ? v1_LoopVertex->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcVertexLoop::IfcVertexLoop(::Ifc2x3::IfcVertex* v1_LoopVertex) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_LoopVertex ? v1_LoopVertex->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcVertexPoint -::Ifc2x3::IfcPoint* Ifc2x3::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc2x3::IfcPoint>(true); } +::Ifc2x3::IfcPoint* Ifc2x3::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc2x3::IfcPoint>(true); } void Ifc2x3::IfcVertexPoint::setVertexGeometry(::Ifc2x3::IfcPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc2x3::IfcVertexPoint::declaration() const { return *((IfcParse::entity*)IFC2X3_types[949]); } const IfcParse::entity& Ifc2x3::IfcVertexPoint::Class() { return *((IfcParse::entity*)IFC2X3_types[949]); } Ifc2x3::IfcVertexPoint::IfcVertexPoint(IfcEntityInstanceData&& e) : IfcVertex(std::move(e)) { } -Ifc2x3::IfcVertexPoint::IfcVertexPoint(::Ifc2x3::IfcPoint* v1_VertexGeometry) : IfcVertex(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_VertexGeometry ? v1_VertexGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcVertexPoint::IfcVertexPoint(::Ifc2x3::IfcPoint* v1_VertexGeometry) : IfcVertex(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_VertexGeometry ? v1_VertexGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcVibrationIsolatorType -::Ifc2x3::IfcVibrationIsolatorTypeEnum::Value Ifc2x3::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc2x3::IfcVibrationIsolatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcVibrationIsolatorTypeEnum::Value Ifc2x3::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc2x3::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcVibrationIsolatorType::setPredefinedType(::Ifc2x3::IfcVibrationIsolatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcVibrationIsolatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcVibrationIsolatorType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[950]); } const IfcParse::entity& Ifc2x3::IfcVibrationIsolatorType::Class() { return *((IfcParse::entity*)IFC2X3_types[950]); } Ifc2x3::IfcVibrationIsolatorType::IfcVibrationIsolatorType(IfcEntityInstanceData&& e) : IfcDiscreteAccessoryType(std::move(e)) { } -Ifc2x3::IfcVibrationIsolatorType::IfcVibrationIsolatorType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) : IfcDiscreteAccessoryType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcVibrationIsolatorType::IfcVibrationIsolatorType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) : IfcDiscreteAccessoryType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcVirtualElement @@ -13143,19 +13143,19 @@ Ifc2x3::IfcVibrationIsolatorType::IfcVibrationIsolatorType(std::string v1_Global const IfcParse::entity& Ifc2x3::IfcVirtualElement::declaration() const { return *((IfcParse::entity*)IFC2X3_types[952]); } const IfcParse::entity& Ifc2x3::IfcVirtualElement::Class() { return *((IfcParse::entity*)IFC2X3_types[952]); } Ifc2x3::IfcVirtualElement::IfcVirtualElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc2x3::IfcVirtualElement::IfcVirtualElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcVirtualElement::IfcVirtualElement(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcVirtualGridIntersection -aggregate_of< ::Ifc2x3::IfcGridAxis >::ptr Ifc2x3::IfcVirtualGridIntersection::IntersectingAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc2x3::IfcGridAxis >(); } +aggregate_of< ::Ifc2x3::IfcGridAxis >::ptr Ifc2x3::IfcVirtualGridIntersection::IntersectingAxes() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc2x3::IfcGridAxis >(); } void Ifc2x3::IfcVirtualGridIntersection::setIntersectingAxes(aggregate_of< ::Ifc2x3::IfcGridAxis >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -std::vector< double > /*[2:3]*/ Ifc2x3::IfcVirtualGridIntersection::OffsetDistances() const { std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(1); return v; } +std::vector< double > /*[2:3]*/ Ifc2x3::IfcVirtualGridIntersection::OffsetDistances() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } void Ifc2x3::IfcVirtualGridIntersection::setOffsetDistances(std::vector< double > /*[2:3]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc2x3::IfcVirtualGridIntersection::declaration() const { return *((IfcParse::entity*)IFC2X3_types[953]); } const IfcParse::entity& Ifc2x3::IfcVirtualGridIntersection::Class() { return *((IfcParse::entity*)IFC2X3_types[953]); } Ifc2x3::IfcVirtualGridIntersection::IfcVirtualGridIntersection(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc2x3::IfcVirtualGridIntersection::IfcVirtualGridIntersection(aggregate_of< ::Ifc2x3::IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_IntersectingAxes)->generalize());set_attribute_value(1, (v2_OffsetDistances));; populate_derived(); } +Ifc2x3::IfcVirtualGridIntersection::IfcVirtualGridIntersection(aggregate_of< ::Ifc2x3::IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_IntersectingAxes)->generalize());set_attribute_value(1, (v2_OffsetDistances));; populate_derived(); } // Function implementations for IfcWall @@ -13163,7 +13163,7 @@ Ifc2x3::IfcVirtualGridIntersection::IfcVirtualGridIntersection(aggregate_of< ::I const IfcParse::entity& Ifc2x3::IfcWall::declaration() const { return *((IfcParse::entity*)IFC2X3_types[956]); } const IfcParse::entity& Ifc2x3::IfcWall::Class() { return *((IfcParse::entity*)IFC2X3_types[956]); } Ifc2x3::IfcWall::IfcWall(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc2x3::IfcWall::IfcWall(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcWall::IfcWall(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcWallStandardCase @@ -13171,149 +13171,149 @@ Ifc2x3::IfcWall::IfcWall(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_ const IfcParse::entity& Ifc2x3::IfcWallStandardCase::declaration() const { return *((IfcParse::entity*)IFC2X3_types[957]); } const IfcParse::entity& Ifc2x3::IfcWallStandardCase::Class() { return *((IfcParse::entity*)IFC2X3_types[957]); } Ifc2x3::IfcWallStandardCase::IfcWallStandardCase(IfcEntityInstanceData&& e) : IfcWall(std::move(e)) { } -Ifc2x3::IfcWallStandardCase::IfcWallStandardCase(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcWall(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc2x3::IfcWallStandardCase::IfcWallStandardCase(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcWall(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcWallType -::Ifc2x3::IfcWallTypeEnum::Value Ifc2x3::IfcWallType::PredefinedType() const { return ::Ifc2x3::IfcWallTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcWallTypeEnum::Value Ifc2x3::IfcWallType::PredefinedType() const { return ::Ifc2x3::IfcWallTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcWallType::setPredefinedType(::Ifc2x3::IfcWallTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcWallTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcWallType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[958]); } const IfcParse::entity& Ifc2x3::IfcWallType::Class() { return *((IfcParse::entity*)IFC2X3_types[958]); } Ifc2x3::IfcWallType::IfcWallType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc2x3::IfcWallType::IfcWallType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcWallTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcWallType::IfcWallType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcWallTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcWasteTerminalType -::Ifc2x3::IfcWasteTerminalTypeEnum::Value Ifc2x3::IfcWasteTerminalType::PredefinedType() const { return ::Ifc2x3::IfcWasteTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcWasteTerminalTypeEnum::Value Ifc2x3::IfcWasteTerminalType::PredefinedType() const { return ::Ifc2x3::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcWasteTerminalType::setPredefinedType(::Ifc2x3::IfcWasteTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcWasteTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc2x3::IfcWasteTerminalType::declaration() const { return *((IfcParse::entity*)IFC2X3_types[962]); } const IfcParse::entity& Ifc2x3::IfcWasteTerminalType::Class() { return *((IfcParse::entity*)IFC2X3_types[962]); } Ifc2x3::IfcWasteTerminalType::IfcWasteTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc2x3::IfcWasteTerminalType::IfcWasteTerminalType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc2x3::IfcWasteTerminalType::IfcWasteTerminalType(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc2x3::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcWaterProperties -boost::optional< bool > Ifc2x3::IfcWaterProperties::IsPotable() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } bool v = data_.get_attribute_value(1); return v; } +boost::optional< bool > Ifc2x3::IfcWaterProperties::IsPotable() const { if(get_attribute_value(1).isNull()) { return boost::none; } bool v = get_attribute_value(1); return v; } void Ifc2x3::IfcWaterProperties::setIsPotable(boost::optional< bool > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc2x3::IfcWaterProperties::Hardness() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc2x3::IfcWaterProperties::Hardness() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc2x3::IfcWaterProperties::setHardness(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc2x3::IfcWaterProperties::AlkalinityConcentration() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc2x3::IfcWaterProperties::AlkalinityConcentration() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc2x3::IfcWaterProperties::setAlkalinityConcentration(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc2x3::IfcWaterProperties::AcidityConcentration() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc2x3::IfcWaterProperties::AcidityConcentration() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc2x3::IfcWaterProperties::setAcidityConcentration(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc2x3::IfcWaterProperties::ImpuritiesContent() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc2x3::IfcWaterProperties::ImpuritiesContent() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc2x3::IfcWaterProperties::setImpuritiesContent(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc2x3::IfcWaterProperties::PHLevel() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc2x3::IfcWaterProperties::PHLevel() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc2x3::IfcWaterProperties::setPHLevel(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc2x3::IfcWaterProperties::DissolvedSolidsContent() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc2x3::IfcWaterProperties::DissolvedSolidsContent() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc2x3::IfcWaterProperties::setDissolvedSolidsContent(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc2x3::IfcWaterProperties::declaration() const { return *((IfcParse::entity*)IFC2X3_types[964]); } const IfcParse::entity& Ifc2x3::IfcWaterProperties::Class() { return *((IfcParse::entity*)IFC2X3_types[964]); } Ifc2x3::IfcWaterProperties::IfcWaterProperties(IfcEntityInstanceData&& e) : IfcMaterialProperties(std::move(e)) { } -Ifc2x3::IfcWaterProperties::IfcWaterProperties(::Ifc2x3::IfcMaterial* v1_Material, boost::optional< bool > v2_IsPotable, boost::optional< double > v3_Hardness, boost::optional< double > v4_AlkalinityConcentration, boost::optional< double > v5_AcidityConcentration, boost::optional< double > v6_ImpuritiesContent, boost::optional< double > v7_PHLevel, boost::optional< double > v8_DissolvedSolidsContent) : IfcMaterialProperties(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_IsPotable) {set_attribute_value(1, (*v2_IsPotable)); } if (v3_Hardness) {set_attribute_value(2, (*v3_Hardness)); } if (v4_AlkalinityConcentration) {set_attribute_value(3, (*v4_AlkalinityConcentration)); } if (v5_AcidityConcentration) {set_attribute_value(4, (*v5_AcidityConcentration)); } if (v6_ImpuritiesContent) {set_attribute_value(5, (*v6_ImpuritiesContent)); } if (v7_PHLevel) {set_attribute_value(6, (*v7_PHLevel)); } if (v8_DissolvedSolidsContent) {set_attribute_value(7, (*v8_DissolvedSolidsContent)); }; populate_derived(); } +Ifc2x3::IfcWaterProperties::IfcWaterProperties(::Ifc2x3::IfcMaterial* v1_Material, boost::optional< bool > v2_IsPotable, boost::optional< double > v3_Hardness, boost::optional< double > v4_AlkalinityConcentration, boost::optional< double > v5_AcidityConcentration, boost::optional< double > v6_ImpuritiesContent, boost::optional< double > v7_PHLevel, boost::optional< double > v8_DissolvedSolidsContent) : IfcMaterialProperties(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_IsPotable) {set_attribute_value(1, (*v2_IsPotable)); } if (v3_Hardness) {set_attribute_value(2, (*v3_Hardness)); } if (v4_AlkalinityConcentration) {set_attribute_value(3, (*v4_AlkalinityConcentration)); } if (v5_AcidityConcentration) {set_attribute_value(4, (*v5_AcidityConcentration)); } if (v6_ImpuritiesContent) {set_attribute_value(5, (*v6_ImpuritiesContent)); } if (v7_PHLevel) {set_attribute_value(6, (*v7_PHLevel)); } if (v8_DissolvedSolidsContent) {set_attribute_value(7, (*v8_DissolvedSolidsContent)); }; populate_derived(); } // Function implementations for IfcWindow -boost::optional< double > Ifc2x3::IfcWindow::OverallHeight() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc2x3::IfcWindow::OverallHeight() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc2x3::IfcWindow::setOverallHeight(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc2x3::IfcWindow::OverallWidth() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc2x3::IfcWindow::OverallWidth() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc2x3::IfcWindow::setOverallWidth(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc2x3::IfcWindow::declaration() const { return *((IfcParse::entity*)IFC2X3_types[965]); } const IfcParse::entity& Ifc2x3::IfcWindow::Class() { return *((IfcParse::entity*)IFC2X3_types[965]); } Ifc2x3::IfcWindow::IfcWindow(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc2x3::IfcWindow::IfcWindow(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth) : IfcBuildingElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); }; populate_derived(); } +Ifc2x3::IfcWindow::IfcWindow(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc2x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc2x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); }; populate_derived(); } // Function implementations for IfcWindowLiningProperties -boost::optional< double > Ifc2x3::IfcWindowLiningProperties::LiningDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc2x3::IfcWindowLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc2x3::IfcWindowLiningProperties::setLiningDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc2x3::IfcWindowLiningProperties::LiningThickness() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc2x3::IfcWindowLiningProperties::LiningThickness() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc2x3::IfcWindowLiningProperties::setLiningThickness(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc2x3::IfcWindowLiningProperties::TransomThickness() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc2x3::IfcWindowLiningProperties::TransomThickness() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc2x3::IfcWindowLiningProperties::setTransomThickness(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc2x3::IfcWindowLiningProperties::MullionThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc2x3::IfcWindowLiningProperties::MullionThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc2x3::IfcWindowLiningProperties::setMullionThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc2x3::IfcWindowLiningProperties::FirstTransomOffset() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc2x3::IfcWindowLiningProperties::FirstTransomOffset() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc2x3::IfcWindowLiningProperties::setFirstTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc2x3::IfcWindowLiningProperties::SecondTransomOffset() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc2x3::IfcWindowLiningProperties::SecondTransomOffset() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc2x3::IfcWindowLiningProperties::setSecondTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc2x3::IfcWindowLiningProperties::FirstMullionOffset() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc2x3::IfcWindowLiningProperties::FirstMullionOffset() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc2x3::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc2x3::IfcWindowLiningProperties::SecondMullionOffset() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc2x3::IfcWindowLiningProperties::SecondMullionOffset() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc2x3::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcWindowLiningProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(12).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(12)))->as<::Ifc2x3::IfcShapeAspect>(true); } +::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcWindowLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(12).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(12)))->as<::Ifc2x3::IfcShapeAspect>(true); } void Ifc2x3::IfcWindowLiningProperties::setShapeAspectStyle(::Ifc2x3::IfcShapeAspect* v) { set_attribute_value(12, v->as());if constexpr (false)unset_attribute_value(12); } const IfcParse::entity& Ifc2x3::IfcWindowLiningProperties::declaration() const { return *((IfcParse::entity*)IFC2X3_types[966]); } const IfcParse::entity& Ifc2x3::IfcWindowLiningProperties::Class() { return *((IfcParse::entity*)IFC2X3_types[966]); } Ifc2x3::IfcWindowLiningProperties::IfcWindowLiningProperties(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc2x3::IfcWindowLiningProperties::IfcWindowLiningProperties(std::string v1_GlobalId, ::Ifc2x3::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, ::Ifc2x3::IfcShapeAspect* v13_ShapeAspectStyle) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, v13_ShapeAspectStyle ? v13_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcWindowLiningProperties::IfcWindowLiningProperties(std::string v1_GlobalId, ::Ifc2x3::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, ::Ifc2x3::IfcShapeAspect* v13_ShapeAspectStyle) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, v13_ShapeAspectStyle ? v13_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcWindowPanelProperties -::Ifc2x3::IfcWindowPanelOperationEnum::Value Ifc2x3::IfcWindowPanelProperties::OperationType() const { return ::Ifc2x3::IfcWindowPanelOperationEnum::FromString(data_.get_attribute_value(4)); } +::Ifc2x3::IfcWindowPanelOperationEnum::Value Ifc2x3::IfcWindowPanelProperties::OperationType() const { return ::Ifc2x3::IfcWindowPanelOperationEnum::FromString(get_attribute_value(4)); } void Ifc2x3::IfcWindowPanelProperties::setOperationType(::Ifc2x3::IfcWindowPanelOperationEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc2x3::IfcWindowPanelOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc2x3::IfcWindowPanelPositionEnum::Value Ifc2x3::IfcWindowPanelProperties::PanelPosition() const { return ::Ifc2x3::IfcWindowPanelPositionEnum::FromString(data_.get_attribute_value(5)); } +::Ifc2x3::IfcWindowPanelPositionEnum::Value Ifc2x3::IfcWindowPanelProperties::PanelPosition() const { return ::Ifc2x3::IfcWindowPanelPositionEnum::FromString(get_attribute_value(5)); } void Ifc2x3::IfcWindowPanelProperties::setPanelPosition(::Ifc2x3::IfcWindowPanelPositionEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc2x3::IfcWindowPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc2x3::IfcWindowPanelProperties::FrameDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc2x3::IfcWindowPanelProperties::FrameDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc2x3::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc2x3::IfcWindowPanelProperties::FrameThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc2x3::IfcWindowPanelProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc2x3::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcWindowPanelProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc2x3::IfcShapeAspect>(true); } +::Ifc2x3::IfcShapeAspect* Ifc2x3::IfcWindowPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc2x3::IfcShapeAspect>(true); } void Ifc2x3::IfcWindowPanelProperties::setShapeAspectStyle(::Ifc2x3::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc2x3::IfcWindowPanelProperties::declaration() const { return *((IfcParse::entity*)IFC2X3_types[969]); } const IfcParse::entity& Ifc2x3::IfcWindowPanelProperties::Class() { return *((IfcParse::entity*)IFC2X3_types[969]); } Ifc2x3::IfcWindowPanelProperties::IfcWindowPanelProperties(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc2x3::IfcWindowPanelProperties::IfcWindowPanelProperties(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc2x3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc2x3::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc2x3::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc2x3::IfcWindowPanelProperties::IfcWindowPanelProperties(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc2x3::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc2x3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc2x3::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc2x3::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc2x3::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcWindowStyle -::Ifc2x3::IfcWindowStyleConstructionEnum::Value Ifc2x3::IfcWindowStyle::ConstructionType() const { return ::Ifc2x3::IfcWindowStyleConstructionEnum::FromString(data_.get_attribute_value(8)); } +::Ifc2x3::IfcWindowStyleConstructionEnum::Value Ifc2x3::IfcWindowStyle::ConstructionType() const { return ::Ifc2x3::IfcWindowStyleConstructionEnum::FromString(get_attribute_value(8)); } void Ifc2x3::IfcWindowStyle::setConstructionType(::Ifc2x3::IfcWindowStyleConstructionEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc2x3::IfcWindowStyleConstructionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc2x3::IfcWindowStyleOperationEnum::Value Ifc2x3::IfcWindowStyle::OperationType() const { return ::Ifc2x3::IfcWindowStyleOperationEnum::FromString(data_.get_attribute_value(9)); } +::Ifc2x3::IfcWindowStyleOperationEnum::Value Ifc2x3::IfcWindowStyle::OperationType() const { return ::Ifc2x3::IfcWindowStyleOperationEnum::FromString(get_attribute_value(9)); } void Ifc2x3::IfcWindowStyle::setOperationType(::Ifc2x3::IfcWindowStyleOperationEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc2x3::IfcWindowStyleOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -bool Ifc2x3::IfcWindowStyle::ParameterTakesPrecedence() const { bool v = data_.get_attribute_value(10); return v; } +bool Ifc2x3::IfcWindowStyle::ParameterTakesPrecedence() const { bool v = get_attribute_value(10); return v; } void Ifc2x3::IfcWindowStyle::setParameterTakesPrecedence(bool v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -bool Ifc2x3::IfcWindowStyle::Sizeable() const { bool v = data_.get_attribute_value(11); return v; } +bool Ifc2x3::IfcWindowStyle::Sizeable() const { bool v = get_attribute_value(11); return v; } void Ifc2x3::IfcWindowStyle::setSizeable(bool v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc2x3::IfcWindowStyle::declaration() const { return *((IfcParse::entity*)IFC2X3_types[970]); } const IfcParse::entity& Ifc2x3::IfcWindowStyle::Class() { return *((IfcParse::entity*)IFC2X3_types[970]); } Ifc2x3::IfcWindowStyle::IfcWindowStyle(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(e)) { } -Ifc2x3::IfcWindowStyle::IfcWindowStyle(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, ::Ifc2x3::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc2x3::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcWindowStyleConstructionEnum::Class(),(size_t)v9_ConstructionType)));set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcWindowStyleOperationEnum::Class(),(size_t)v10_OperationType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; populate_derived(); } +Ifc2x3::IfcWindowStyle::IfcWindowStyle(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc2x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc2x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, ::Ifc2x3::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc2x3::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc2x3::IfcWindowStyleConstructionEnum::Class(),(size_t)v9_ConstructionType)));set_attribute_value(9, (EnumerationReference(&::Ifc2x3::IfcWindowStyleOperationEnum::Class(),(size_t)v10_OperationType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; populate_derived(); } // Function implementations for IfcWorkControl -std::string Ifc2x3::IfcWorkControl::Identifier() const { std::string v = data_.get_attribute_value(5); return v; } +std::string Ifc2x3::IfcWorkControl::Identifier() const { std::string v = get_attribute_value(5); return v; } void Ifc2x3::IfcWorkControl::setIdentifier(std::string v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcWorkControl::CreationDate() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcWorkControl::CreationDate() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcWorkControl::setCreationDate(::Ifc2x3::IfcDateTimeSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< aggregate_of< ::Ifc2x3::IfcPerson >::ptr > Ifc2x3::IfcWorkControl::Creators() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc2x3::IfcPerson >(); } +boost::optional< aggregate_of< ::Ifc2x3::IfcPerson >::ptr > Ifc2x3::IfcWorkControl::Creators() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc2x3::IfcPerson >(); } void Ifc2x3::IfcWorkControl::setCreators(boost::optional< aggregate_of< ::Ifc2x3::IfcPerson >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc2x3::IfcWorkControl::Purpose() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc2x3::IfcWorkControl::Purpose() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc2x3::IfcWorkControl::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc2x3::IfcWorkControl::Duration() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc2x3::IfcWorkControl::Duration() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc2x3::IfcWorkControl::setDuration(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc2x3::IfcWorkControl::TotalFloat() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc2x3::IfcWorkControl::TotalFloat() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc2x3::IfcWorkControl::setTotalFloat(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcWorkControl::StartTime() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcWorkControl::StartTime() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcWorkControl::setStartTime(::Ifc2x3::IfcDateTimeSelect* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } -::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcWorkControl::FinishTime() const { if(data_.get_attribute_value(12).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(12)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } +::Ifc2x3::IfcDateTimeSelect* Ifc2x3::IfcWorkControl::FinishTime() const { if(get_attribute_value(12).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(12)))->as<::Ifc2x3::IfcDateTimeSelect>(true); } void Ifc2x3::IfcWorkControl::setFinishTime(::Ifc2x3::IfcDateTimeSelect* v) { set_attribute_value(12, v->as());if constexpr (false)unset_attribute_value(12); } -boost::optional< ::Ifc2x3::IfcWorkControlTypeEnum::Value > Ifc2x3::IfcWorkControl::WorkControlType() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc2x3::IfcWorkControlTypeEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc2x3::IfcWorkControlTypeEnum::Value > Ifc2x3::IfcWorkControl::WorkControlType() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc2x3::IfcWorkControlTypeEnum::FromString(get_attribute_value(13)); } void Ifc2x3::IfcWorkControl::setWorkControlType(boost::optional< ::Ifc2x3::IfcWorkControlTypeEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc2x3::IfcWorkControlTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc2x3::IfcWorkControl::UserDefinedControlType() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc2x3::IfcWorkControl::UserDefinedControlType() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc2x3::IfcWorkControl::setUserDefinedControlType(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } const IfcParse::entity& Ifc2x3::IfcWorkControl::declaration() const { return *((IfcParse::entity*)IFC2X3_types[973]); } const IfcParse::entity& Ifc2x3::IfcWorkControl::Class() { return *((IfcParse::entity*)IFC2X3_types[973]); } Ifc2x3::IfcWorkControl::IfcWorkControl(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc2x3::IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_Identifier, ::Ifc2x3::IfcDateTimeSelect* v7_CreationDate, boost::optional< aggregate_of< ::Ifc2x3::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< double > v10_Duration, boost::optional< double > v11_TotalFloat, ::Ifc2x3::IfcDateTimeSelect* v12_StartTime, ::Ifc2x3::IfcDateTimeSelect* v13_FinishTime, boost::optional< ::Ifc2x3::IfcWorkControlTypeEnum::Value > v14_WorkControlType, boost::optional< std::string > v15_UserDefinedControlType) : IfcControl(IfcEntityInstanceData(storage_t(15))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_Identifier));set_attribute_value(6, v7_CreationDate ? v7_CreationDate->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, v12_StartTime ? v12_StartTime->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(12, v13_FinishTime ? v13_FinishTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v14_WorkControlType) {set_attribute_value(13, (EnumerationReference(&::Ifc2x3::IfcWorkControlTypeEnum::Class(),(size_t)*v14_WorkControlType))); } if (v15_UserDefinedControlType) {set_attribute_value(14, (*v15_UserDefinedControlType)); }; populate_derived(); } +Ifc2x3::IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_Identifier, ::Ifc2x3::IfcDateTimeSelect* v7_CreationDate, boost::optional< aggregate_of< ::Ifc2x3::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< double > v10_Duration, boost::optional< double > v11_TotalFloat, ::Ifc2x3::IfcDateTimeSelect* v12_StartTime, ::Ifc2x3::IfcDateTimeSelect* v13_FinishTime, boost::optional< ::Ifc2x3::IfcWorkControlTypeEnum::Value > v14_WorkControlType, boost::optional< std::string > v15_UserDefinedControlType) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(15))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_Identifier));set_attribute_value(6, v7_CreationDate ? v7_CreationDate->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, v12_StartTime ? v12_StartTime->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(12, v13_FinishTime ? v13_FinishTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v14_WorkControlType) {set_attribute_value(13, (EnumerationReference(&::Ifc2x3::IfcWorkControlTypeEnum::Class(),(size_t)*v14_WorkControlType))); } if (v15_UserDefinedControlType) {set_attribute_value(14, (*v15_UserDefinedControlType)); }; populate_derived(); } // Function implementations for IfcWorkPlan @@ -13321,7 +13321,7 @@ Ifc2x3::IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, ::Ifc2x3::IfcOwn const IfcParse::entity& Ifc2x3::IfcWorkPlan::declaration() const { return *((IfcParse::entity*)IFC2X3_types[975]); } const IfcParse::entity& Ifc2x3::IfcWorkPlan::Class() { return *((IfcParse::entity*)IFC2X3_types[975]); } Ifc2x3::IfcWorkPlan::IfcWorkPlan(IfcEntityInstanceData&& e) : IfcWorkControl(std::move(e)) { } -Ifc2x3::IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_Identifier, ::Ifc2x3::IfcDateTimeSelect* v7_CreationDate, boost::optional< aggregate_of< ::Ifc2x3::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< double > v10_Duration, boost::optional< double > v11_TotalFloat, ::Ifc2x3::IfcDateTimeSelect* v12_StartTime, ::Ifc2x3::IfcDateTimeSelect* v13_FinishTime, boost::optional< ::Ifc2x3::IfcWorkControlTypeEnum::Value > v14_WorkControlType, boost::optional< std::string > v15_UserDefinedControlType) : IfcWorkControl(IfcEntityInstanceData(storage_t(15))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_Identifier));set_attribute_value(6, v7_CreationDate ? v7_CreationDate->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, v12_StartTime ? v12_StartTime->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(12, v13_FinishTime ? v13_FinishTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v14_WorkControlType) {set_attribute_value(13, (EnumerationReference(&::Ifc2x3::IfcWorkControlTypeEnum::Class(),(size_t)*v14_WorkControlType))); } if (v15_UserDefinedControlType) {set_attribute_value(14, (*v15_UserDefinedControlType)); }; populate_derived(); } +Ifc2x3::IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_Identifier, ::Ifc2x3::IfcDateTimeSelect* v7_CreationDate, boost::optional< aggregate_of< ::Ifc2x3::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< double > v10_Duration, boost::optional< double > v11_TotalFloat, ::Ifc2x3::IfcDateTimeSelect* v12_StartTime, ::Ifc2x3::IfcDateTimeSelect* v13_FinishTime, boost::optional< ::Ifc2x3::IfcWorkControlTypeEnum::Value > v14_WorkControlType, boost::optional< std::string > v15_UserDefinedControlType) : IfcWorkControl(IfcEntityInstanceData(in_memory_attribute_storage(15))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_Identifier));set_attribute_value(6, v7_CreationDate ? v7_CreationDate->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, v12_StartTime ? v12_StartTime->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(12, v13_FinishTime ? v13_FinishTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v14_WorkControlType) {set_attribute_value(13, (EnumerationReference(&::Ifc2x3::IfcWorkControlTypeEnum::Class(),(size_t)*v14_WorkControlType))); } if (v15_UserDefinedControlType) {set_attribute_value(14, (*v15_UserDefinedControlType)); }; populate_derived(); } // Function implementations for IfcWorkSchedule @@ -13329,27 +13329,27 @@ Ifc2x3::IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHist const IfcParse::entity& Ifc2x3::IfcWorkSchedule::declaration() const { return *((IfcParse::entity*)IFC2X3_types[976]); } const IfcParse::entity& Ifc2x3::IfcWorkSchedule::Class() { return *((IfcParse::entity*)IFC2X3_types[976]); } Ifc2x3::IfcWorkSchedule::IfcWorkSchedule(IfcEntityInstanceData&& e) : IfcWorkControl(std::move(e)) { } -Ifc2x3::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_Identifier, ::Ifc2x3::IfcDateTimeSelect* v7_CreationDate, boost::optional< aggregate_of< ::Ifc2x3::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< double > v10_Duration, boost::optional< double > v11_TotalFloat, ::Ifc2x3::IfcDateTimeSelect* v12_StartTime, ::Ifc2x3::IfcDateTimeSelect* v13_FinishTime, boost::optional< ::Ifc2x3::IfcWorkControlTypeEnum::Value > v14_WorkControlType, boost::optional< std::string > v15_UserDefinedControlType) : IfcWorkControl(IfcEntityInstanceData(storage_t(15))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_Identifier));set_attribute_value(6, v7_CreationDate ? v7_CreationDate->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, v12_StartTime ? v12_StartTime->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(12, v13_FinishTime ? v13_FinishTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v14_WorkControlType) {set_attribute_value(13, (EnumerationReference(&::Ifc2x3::IfcWorkControlTypeEnum::Class(),(size_t)*v14_WorkControlType))); } if (v15_UserDefinedControlType) {set_attribute_value(14, (*v15_UserDefinedControlType)); }; populate_derived(); } +Ifc2x3::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, std::string v6_Identifier, ::Ifc2x3::IfcDateTimeSelect* v7_CreationDate, boost::optional< aggregate_of< ::Ifc2x3::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< double > v10_Duration, boost::optional< double > v11_TotalFloat, ::Ifc2x3::IfcDateTimeSelect* v12_StartTime, ::Ifc2x3::IfcDateTimeSelect* v13_FinishTime, boost::optional< ::Ifc2x3::IfcWorkControlTypeEnum::Value > v14_WorkControlType, boost::optional< std::string > v15_UserDefinedControlType) : IfcWorkControl(IfcEntityInstanceData(in_memory_attribute_storage(15))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (v6_Identifier));set_attribute_value(6, v7_CreationDate ? v7_CreationDate->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, v12_StartTime ? v12_StartTime->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(12, v13_FinishTime ? v13_FinishTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v14_WorkControlType) {set_attribute_value(13, (EnumerationReference(&::Ifc2x3::IfcWorkControlTypeEnum::Class(),(size_t)*v14_WorkControlType))); } if (v15_UserDefinedControlType) {set_attribute_value(14, (*v15_UserDefinedControlType)); }; populate_derived(); } // Function implementations for IfcZShapeProfileDef -double Ifc2x3::IfcZShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc2x3::IfcZShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc2x3::IfcZShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc2x3::IfcZShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc2x3::IfcZShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc2x3::IfcZShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc2x3::IfcZShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc2x3::IfcZShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc2x3::IfcZShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc2x3::IfcZShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc2x3::IfcZShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc2x3::IfcZShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc2x3::IfcZShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc2x3::IfcZShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc2x3::IfcZShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc2x3::IfcZShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc2x3::IfcZShapeProfileDef::EdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc2x3::IfcZShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc2x3::IfcZShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC2X3_types[979]); } const IfcParse::entity& Ifc2x3::IfcZShapeProfileDef::Class() { return *((IfcParse::entity*)IFC2X3_types[979]); } Ifc2x3::IfcZShapeProfileDef::IfcZShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc2x3::IfcZShapeProfileDef::IfcZShapeProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::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(storage_t(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; populate_derived(); } +Ifc2x3::IfcZShapeProfileDef::IfcZShapeProfileDef(::Ifc2x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc2x3::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(in_memory_attribute_storage(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc2x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; populate_derived(); } // Function implementations for IfcZone @@ -13357,5 +13357,5 @@ Ifc2x3::IfcZShapeProfileDef::IfcZShapeProfileDef(::Ifc2x3::IfcProfileTypeEnum::V const IfcParse::entity& Ifc2x3::IfcZone::declaration() const { return *((IfcParse::entity*)IFC2X3_types[978]); } const IfcParse::entity& Ifc2x3::IfcZone::Class() { return *((IfcParse::entity*)IFC2X3_types[978]); } Ifc2x3::IfcZone::IfcZone(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc2x3::IfcZone::IfcZone(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcGroup(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc2x3::IfcZone::IfcZone(std::string v1_GlobalId, ::Ifc2x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } diff --git a/src/ifcparse/Ifc4.cpp b/src/ifcparse/Ifc4.cpp index 31522ec488..faf8c005a0 100644 --- a/src/ifcparse/Ifc4.cpp +++ b/src/ifcparse/Ifc4.cpp @@ -63,7 +63,7 @@ Ifc4::IfcActionRequestTypeEnum::Value Ifc4::IfcActionRequestTypeEnum::FromString } Ifc4::IfcActionRequestTypeEnum::operator Ifc4::IfcActionRequestTypeEnum::Value() const { - return (Ifc4::IfcActionRequestTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcActionRequestTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcActionSourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[4]); } @@ -90,7 +90,7 @@ Ifc4::IfcActionSourceTypeEnum::Value Ifc4::IfcActionSourceTypeEnum::FromString(c } Ifc4::IfcActionSourceTypeEnum::operator Ifc4::IfcActionSourceTypeEnum::Value() const { - return (Ifc4::IfcActionSourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcActionSourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcActionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[5]); } @@ -117,7 +117,7 @@ Ifc4::IfcActionTypeEnum::Value Ifc4::IfcActionTypeEnum::FromString(const std::st } Ifc4::IfcActionTypeEnum::operator Ifc4::IfcActionTypeEnum::Value() const { - return (Ifc4::IfcActionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcActionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcActuatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[11]); } @@ -144,7 +144,7 @@ Ifc4::IfcActuatorTypeEnum::Value Ifc4::IfcActuatorTypeEnum::FromString(const std } Ifc4::IfcActuatorTypeEnum::operator Ifc4::IfcActuatorTypeEnum::Value() const { - return (Ifc4::IfcActuatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcActuatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcAddressTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[13]); } @@ -171,7 +171,7 @@ Ifc4::IfcAddressTypeEnum::Value Ifc4::IfcAddressTypeEnum::FromString(const std:: } Ifc4::IfcAddressTypeEnum::operator Ifc4::IfcAddressTypeEnum::Value() const { - return (Ifc4::IfcAddressTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcAddressTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcAirTerminalBoxTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[20]); } @@ -198,7 +198,7 @@ Ifc4::IfcAirTerminalBoxTypeEnum::Value Ifc4::IfcAirTerminalBoxTypeEnum::FromStri } Ifc4::IfcAirTerminalBoxTypeEnum::operator Ifc4::IfcAirTerminalBoxTypeEnum::Value() const { - return (Ifc4::IfcAirTerminalBoxTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcAirTerminalBoxTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcAirTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[22]); } @@ -225,7 +225,7 @@ Ifc4::IfcAirTerminalTypeEnum::Value Ifc4::IfcAirTerminalTypeEnum::FromString(con } Ifc4::IfcAirTerminalTypeEnum::operator Ifc4::IfcAirTerminalTypeEnum::Value() const { - return (Ifc4::IfcAirTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcAirTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcAirToAirHeatRecoveryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[25]); } @@ -252,7 +252,7 @@ Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4::IfcAirToAirHeatRecoveryTypeEn } Ifc4::IfcAirToAirHeatRecoveryTypeEnum::operator Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value() const { - return (Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcAlarmTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[28]); } @@ -279,7 +279,7 @@ Ifc4::IfcAlarmTypeEnum::Value Ifc4::IfcAlarmTypeEnum::FromString(const std::stri } Ifc4::IfcAlarmTypeEnum::operator Ifc4::IfcAlarmTypeEnum::Value() const { - return (Ifc4::IfcAlarmTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcAlarmTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcAnalysisModelTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[30]); } @@ -306,7 +306,7 @@ Ifc4::IfcAnalysisModelTypeEnum::Value Ifc4::IfcAnalysisModelTypeEnum::FromString } Ifc4::IfcAnalysisModelTypeEnum::operator Ifc4::IfcAnalysisModelTypeEnum::Value() const { - return (Ifc4::IfcAnalysisModelTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcAnalysisModelTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcAnalysisTheoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[31]); } @@ -333,7 +333,7 @@ Ifc4::IfcAnalysisTheoryTypeEnum::Value Ifc4::IfcAnalysisTheoryTypeEnum::FromStri } Ifc4::IfcAnalysisTheoryTypeEnum::operator Ifc4::IfcAnalysisTheoryTypeEnum::Value() const { - return (Ifc4::IfcAnalysisTheoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcAnalysisTheoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcArithmeticOperatorEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[46]); } @@ -360,7 +360,7 @@ Ifc4::IfcArithmeticOperatorEnum::Value Ifc4::IfcArithmeticOperatorEnum::FromStri } Ifc4::IfcArithmeticOperatorEnum::operator Ifc4::IfcArithmeticOperatorEnum::Value() const { - return (Ifc4::IfcArithmeticOperatorEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcArithmeticOperatorEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcAssemblyPlaceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[47]); } @@ -387,7 +387,7 @@ Ifc4::IfcAssemblyPlaceEnum::Value Ifc4::IfcAssemblyPlaceEnum::FromString(const s } Ifc4::IfcAssemblyPlaceEnum::operator Ifc4::IfcAssemblyPlaceEnum::Value() const { - return (Ifc4::IfcAssemblyPlaceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcAssemblyPlaceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcAudioVisualApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[52]); } @@ -414,7 +414,7 @@ Ifc4::IfcAudioVisualApplianceTypeEnum::Value Ifc4::IfcAudioVisualApplianceTypeEn } Ifc4::IfcAudioVisualApplianceTypeEnum::operator Ifc4::IfcAudioVisualApplianceTypeEnum::Value() const { - return (Ifc4::IfcAudioVisualApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcAudioVisualApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcBSplineCurveForm::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[86]); } @@ -441,7 +441,7 @@ Ifc4::IfcBSplineCurveForm::Value Ifc4::IfcBSplineCurveForm::FromString(const std } Ifc4::IfcBSplineCurveForm::operator Ifc4::IfcBSplineCurveForm::Value() const { - return (Ifc4::IfcBSplineCurveForm::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcBSplineCurveForm::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcBSplineSurfaceForm::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[89]); } @@ -468,7 +468,7 @@ Ifc4::IfcBSplineSurfaceForm::Value Ifc4::IfcBSplineSurfaceForm::FromString(const } Ifc4::IfcBSplineSurfaceForm::operator Ifc4::IfcBSplineSurfaceForm::Value() const { - return (Ifc4::IfcBSplineSurfaceForm::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcBSplineSurfaceForm::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcBeamTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[60]); } @@ -495,7 +495,7 @@ Ifc4::IfcBeamTypeEnum::Value Ifc4::IfcBeamTypeEnum::FromString(const std::string } Ifc4::IfcBeamTypeEnum::operator Ifc4::IfcBeamTypeEnum::Value() const { - return (Ifc4::IfcBeamTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcBeamTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcBenchmarkEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[61]); } @@ -522,7 +522,7 @@ Ifc4::IfcBenchmarkEnum::Value Ifc4::IfcBenchmarkEnum::FromString(const std::stri } Ifc4::IfcBenchmarkEnum::operator Ifc4::IfcBenchmarkEnum::Value() const { - return (Ifc4::IfcBenchmarkEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcBenchmarkEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcBoilerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[68]); } @@ -549,7 +549,7 @@ Ifc4::IfcBoilerTypeEnum::Value Ifc4::IfcBoilerTypeEnum::FromString(const std::st } Ifc4::IfcBoilerTypeEnum::operator Ifc4::IfcBoilerTypeEnum::Value() const { - return (Ifc4::IfcBoilerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcBoilerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcBooleanOperator::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[72]); } @@ -576,7 +576,7 @@ Ifc4::IfcBooleanOperator::Value Ifc4::IfcBooleanOperator::FromString(const std:: } Ifc4::IfcBooleanOperator::operator Ifc4::IfcBooleanOperator::Value() const { - return (Ifc4::IfcBooleanOperator::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcBooleanOperator::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcBuildingElementPartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[95]); } @@ -603,7 +603,7 @@ Ifc4::IfcBuildingElementPartTypeEnum::Value Ifc4::IfcBuildingElementPartTypeEnum } Ifc4::IfcBuildingElementPartTypeEnum::operator Ifc4::IfcBuildingElementPartTypeEnum::Value() const { - return (Ifc4::IfcBuildingElementPartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcBuildingElementPartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcBuildingElementProxyTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[98]); } @@ -630,7 +630,7 @@ Ifc4::IfcBuildingElementProxyTypeEnum::Value Ifc4::IfcBuildingElementProxyTypeEn } Ifc4::IfcBuildingElementProxyTypeEnum::operator Ifc4::IfcBuildingElementProxyTypeEnum::Value() const { - return (Ifc4::IfcBuildingElementProxyTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcBuildingElementProxyTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcBuildingSystemTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[102]); } @@ -657,7 +657,7 @@ Ifc4::IfcBuildingSystemTypeEnum::Value Ifc4::IfcBuildingSystemTypeEnum::FromStri } Ifc4::IfcBuildingSystemTypeEnum::operator Ifc4::IfcBuildingSystemTypeEnum::Value() const { - return (Ifc4::IfcBuildingSystemTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcBuildingSystemTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcBurnerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[105]); } @@ -684,7 +684,7 @@ Ifc4::IfcBurnerTypeEnum::Value Ifc4::IfcBurnerTypeEnum::FromString(const std::st } Ifc4::IfcBurnerTypeEnum::operator Ifc4::IfcBurnerTypeEnum::Value() const { - return (Ifc4::IfcBurnerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcBurnerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcCableCarrierFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[108]); } @@ -711,7 +711,7 @@ Ifc4::IfcCableCarrierFittingTypeEnum::Value Ifc4::IfcCableCarrierFittingTypeEnum } Ifc4::IfcCableCarrierFittingTypeEnum::operator Ifc4::IfcCableCarrierFittingTypeEnum::Value() const { - return (Ifc4::IfcCableCarrierFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcCableCarrierFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcCableCarrierSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[111]); } @@ -738,7 +738,7 @@ Ifc4::IfcCableCarrierSegmentTypeEnum::Value Ifc4::IfcCableCarrierSegmentTypeEnum } Ifc4::IfcCableCarrierSegmentTypeEnum::operator Ifc4::IfcCableCarrierSegmentTypeEnum::Value() const { - return (Ifc4::IfcCableCarrierSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcCableCarrierSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcCableFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[114]); } @@ -765,7 +765,7 @@ Ifc4::IfcCableFittingTypeEnum::Value Ifc4::IfcCableFittingTypeEnum::FromString(c } Ifc4::IfcCableFittingTypeEnum::operator Ifc4::IfcCableFittingTypeEnum::Value() const { - return (Ifc4::IfcCableFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcCableFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcCableSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[117]); } @@ -792,7 +792,7 @@ Ifc4::IfcCableSegmentTypeEnum::Value Ifc4::IfcCableSegmentTypeEnum::FromString(c } Ifc4::IfcCableSegmentTypeEnum::operator Ifc4::IfcCableSegmentTypeEnum::Value() const { - return (Ifc4::IfcCableSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcCableSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcChangeActionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[129]); } @@ -819,7 +819,7 @@ Ifc4::IfcChangeActionEnum::Value Ifc4::IfcChangeActionEnum::FromString(const std } Ifc4::IfcChangeActionEnum::operator Ifc4::IfcChangeActionEnum::Value() const { - return (Ifc4::IfcChangeActionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcChangeActionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcChillerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[132]); } @@ -846,7 +846,7 @@ Ifc4::IfcChillerTypeEnum::Value Ifc4::IfcChillerTypeEnum::FromString(const std:: } Ifc4::IfcChillerTypeEnum::operator Ifc4::IfcChillerTypeEnum::Value() const { - return (Ifc4::IfcChillerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcChillerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcChimneyTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[135]); } @@ -873,7 +873,7 @@ Ifc4::IfcChimneyTypeEnum::Value Ifc4::IfcChimneyTypeEnum::FromString(const std:: } Ifc4::IfcChimneyTypeEnum::operator Ifc4::IfcChimneyTypeEnum::Value() const { - return (Ifc4::IfcChimneyTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcChimneyTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcCoilTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[148]); } @@ -900,7 +900,7 @@ Ifc4::IfcCoilTypeEnum::Value Ifc4::IfcCoilTypeEnum::FromString(const std::string } Ifc4::IfcCoilTypeEnum::operator Ifc4::IfcCoilTypeEnum::Value() const { - return (Ifc4::IfcCoilTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcCoilTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcColumnTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[157]); } @@ -927,7 +927,7 @@ Ifc4::IfcColumnTypeEnum::Value Ifc4::IfcColumnTypeEnum::FromString(const std::st } Ifc4::IfcColumnTypeEnum::operator Ifc4::IfcColumnTypeEnum::Value() const { - return (Ifc4::IfcColumnTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcColumnTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcCommunicationsApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[160]); } @@ -954,7 +954,7 @@ Ifc4::IfcCommunicationsApplianceTypeEnum::Value Ifc4::IfcCommunicationsAppliance } Ifc4::IfcCommunicationsApplianceTypeEnum::operator Ifc4::IfcCommunicationsApplianceTypeEnum::Value() const { - return (Ifc4::IfcCommunicationsApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcCommunicationsApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcComplexPropertyTemplateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[164]); } @@ -981,7 +981,7 @@ Ifc4::IfcComplexPropertyTemplateTypeEnum::Value Ifc4::IfcComplexPropertyTemplate } Ifc4::IfcComplexPropertyTemplateTypeEnum::operator Ifc4::IfcComplexPropertyTemplateTypeEnum::Value() const { - return (Ifc4::IfcComplexPropertyTemplateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcComplexPropertyTemplateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcCompressorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[172]); } @@ -1008,7 +1008,7 @@ Ifc4::IfcCompressorTypeEnum::Value Ifc4::IfcCompressorTypeEnum::FromString(const } Ifc4::IfcCompressorTypeEnum::operator Ifc4::IfcCompressorTypeEnum::Value() const { - return (Ifc4::IfcCompressorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcCompressorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcCondenserTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[175]); } @@ -1035,7 +1035,7 @@ Ifc4::IfcCondenserTypeEnum::Value Ifc4::IfcCondenserTypeEnum::FromString(const s } Ifc4::IfcCondenserTypeEnum::operator Ifc4::IfcCondenserTypeEnum::Value() const { - return (Ifc4::IfcCondenserTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcCondenserTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcConnectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[183]); } @@ -1062,7 +1062,7 @@ Ifc4::IfcConnectionTypeEnum::Value Ifc4::IfcConnectionTypeEnum::FromString(const } Ifc4::IfcConnectionTypeEnum::operator Ifc4::IfcConnectionTypeEnum::Value() const { - return (Ifc4::IfcConnectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcConnectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcConstraintEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[186]); } @@ -1089,7 +1089,7 @@ Ifc4::IfcConstraintEnum::Value Ifc4::IfcConstraintEnum::FromString(const std::st } Ifc4::IfcConstraintEnum::operator Ifc4::IfcConstraintEnum::Value() const { - return (Ifc4::IfcConstraintEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcConstraintEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcConstructionEquipmentResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[189]); } @@ -1116,7 +1116,7 @@ Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4::IfcConstructionEquip } Ifc4::IfcConstructionEquipmentResourceTypeEnum::operator Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value() const { - return (Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcConstructionMaterialResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[192]); } @@ -1143,7 +1143,7 @@ Ifc4::IfcConstructionMaterialResourceTypeEnum::Value Ifc4::IfcConstructionMateri } Ifc4::IfcConstructionMaterialResourceTypeEnum::operator Ifc4::IfcConstructionMaterialResourceTypeEnum::Value() const { - return (Ifc4::IfcConstructionMaterialResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcConstructionMaterialResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcConstructionProductResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[195]); } @@ -1170,7 +1170,7 @@ Ifc4::IfcConstructionProductResourceTypeEnum::Value Ifc4::IfcConstructionProduct } Ifc4::IfcConstructionProductResourceTypeEnum::operator Ifc4::IfcConstructionProductResourceTypeEnum::Value() const { - return (Ifc4::IfcConstructionProductResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcConstructionProductResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcControllerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[204]); } @@ -1197,7 +1197,7 @@ Ifc4::IfcControllerTypeEnum::Value Ifc4::IfcControllerTypeEnum::FromString(const } Ifc4::IfcControllerTypeEnum::operator Ifc4::IfcControllerTypeEnum::Value() const { - return (Ifc4::IfcControllerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcControllerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcCooledBeamTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[209]); } @@ -1224,7 +1224,7 @@ Ifc4::IfcCooledBeamTypeEnum::Value Ifc4::IfcCooledBeamTypeEnum::FromString(const } Ifc4::IfcCooledBeamTypeEnum::operator Ifc4::IfcCooledBeamTypeEnum::Value() const { - return (Ifc4::IfcCooledBeamTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcCooledBeamTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcCoolingTowerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[212]); } @@ -1251,7 +1251,7 @@ Ifc4::IfcCoolingTowerTypeEnum::Value Ifc4::IfcCoolingTowerTypeEnum::FromString(c } Ifc4::IfcCoolingTowerTypeEnum::operator Ifc4::IfcCoolingTowerTypeEnum::Value() const { - return (Ifc4::IfcCoolingTowerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcCoolingTowerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcCostItemTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[217]); } @@ -1278,7 +1278,7 @@ Ifc4::IfcCostItemTypeEnum::Value Ifc4::IfcCostItemTypeEnum::FromString(const std } Ifc4::IfcCostItemTypeEnum::operator Ifc4::IfcCostItemTypeEnum::Value() const { - return (Ifc4::IfcCostItemTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcCostItemTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcCostScheduleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[219]); } @@ -1305,7 +1305,7 @@ Ifc4::IfcCostScheduleTypeEnum::Value Ifc4::IfcCostScheduleTypeEnum::FromString(c } Ifc4::IfcCostScheduleTypeEnum::operator Ifc4::IfcCostScheduleTypeEnum::Value() const { - return (Ifc4::IfcCostScheduleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcCostScheduleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcCoveringTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[224]); } @@ -1332,7 +1332,7 @@ Ifc4::IfcCoveringTypeEnum::Value Ifc4::IfcCoveringTypeEnum::FromString(const std } Ifc4::IfcCoveringTypeEnum::operator Ifc4::IfcCoveringTypeEnum::Value() const { - return (Ifc4::IfcCoveringTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcCoveringTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcCrewResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[227]); } @@ -1359,7 +1359,7 @@ Ifc4::IfcCrewResourceTypeEnum::Value Ifc4::IfcCrewResourceTypeEnum::FromString(c } Ifc4::IfcCrewResourceTypeEnum::operator Ifc4::IfcCrewResourceTypeEnum::Value() const { - return (Ifc4::IfcCrewResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcCrewResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcCurtainWallTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[235]); } @@ -1386,7 +1386,7 @@ Ifc4::IfcCurtainWallTypeEnum::Value Ifc4::IfcCurtainWallTypeEnum::FromString(con } Ifc4::IfcCurtainWallTypeEnum::operator Ifc4::IfcCurtainWallTypeEnum::Value() const { - return (Ifc4::IfcCurtainWallTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcCurtainWallTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcCurveInterpolationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[241]); } @@ -1413,7 +1413,7 @@ Ifc4::IfcCurveInterpolationEnum::Value Ifc4::IfcCurveInterpolationEnum::FromStri } Ifc4::IfcCurveInterpolationEnum::operator Ifc4::IfcCurveInterpolationEnum::Value() const { - return (Ifc4::IfcCurveInterpolationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcCurveInterpolationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcDamperTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[252]); } @@ -1440,7 +1440,7 @@ Ifc4::IfcDamperTypeEnum::Value Ifc4::IfcDamperTypeEnum::FromString(const std::st } Ifc4::IfcDamperTypeEnum::operator Ifc4::IfcDamperTypeEnum::Value() const { - return (Ifc4::IfcDamperTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcDamperTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcDataOriginEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[253]); } @@ -1467,7 +1467,7 @@ Ifc4::IfcDataOriginEnum::Value Ifc4::IfcDataOriginEnum::FromString(const std::st } Ifc4::IfcDataOriginEnum::operator Ifc4::IfcDataOriginEnum::Value() const { - return (Ifc4::IfcDataOriginEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcDataOriginEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcDerivedUnitEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[263]); } @@ -1494,7 +1494,7 @@ Ifc4::IfcDerivedUnitEnum::Value Ifc4::IfcDerivedUnitEnum::FromString(const std:: } Ifc4::IfcDerivedUnitEnum::operator Ifc4::IfcDerivedUnitEnum::Value() const { - return (Ifc4::IfcDerivedUnitEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcDerivedUnitEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcDirectionSenseEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[268]); } @@ -1521,7 +1521,7 @@ Ifc4::IfcDirectionSenseEnum::Value Ifc4::IfcDirectionSenseEnum::FromString(const } Ifc4::IfcDirectionSenseEnum::operator Ifc4::IfcDirectionSenseEnum::Value() const { - return (Ifc4::IfcDirectionSenseEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcDirectionSenseEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcDiscreteAccessoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[271]); } @@ -1548,7 +1548,7 @@ Ifc4::IfcDiscreteAccessoryTypeEnum::Value Ifc4::IfcDiscreteAccessoryTypeEnum::Fr } Ifc4::IfcDiscreteAccessoryTypeEnum::operator Ifc4::IfcDiscreteAccessoryTypeEnum::Value() const { - return (Ifc4::IfcDiscreteAccessoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcDiscreteAccessoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcDistributionChamberElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[274]); } @@ -1575,7 +1575,7 @@ Ifc4::IfcDistributionChamberElementTypeEnum::Value Ifc4::IfcDistributionChamberE } Ifc4::IfcDistributionChamberElementTypeEnum::operator Ifc4::IfcDistributionChamberElementTypeEnum::Value() const { - return (Ifc4::IfcDistributionChamberElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcDistributionChamberElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcDistributionPortTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[283]); } @@ -1602,7 +1602,7 @@ Ifc4::IfcDistributionPortTypeEnum::Value Ifc4::IfcDistributionPortTypeEnum::From } Ifc4::IfcDistributionPortTypeEnum::operator Ifc4::IfcDistributionPortTypeEnum::Value() const { - return (Ifc4::IfcDistributionPortTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcDistributionPortTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcDistributionSystemEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[285]); } @@ -1629,7 +1629,7 @@ Ifc4::IfcDistributionSystemEnum::Value Ifc4::IfcDistributionSystemEnum::FromStri } Ifc4::IfcDistributionSystemEnum::operator Ifc4::IfcDistributionSystemEnum::Value() const { - return (Ifc4::IfcDistributionSystemEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcDistributionSystemEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcDocumentConfidentialityEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[286]); } @@ -1656,7 +1656,7 @@ Ifc4::IfcDocumentConfidentialityEnum::Value Ifc4::IfcDocumentConfidentialityEnum } Ifc4::IfcDocumentConfidentialityEnum::operator Ifc4::IfcDocumentConfidentialityEnum::Value() const { - return (Ifc4::IfcDocumentConfidentialityEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcDocumentConfidentialityEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcDocumentStatusEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[291]); } @@ -1683,7 +1683,7 @@ Ifc4::IfcDocumentStatusEnum::Value Ifc4::IfcDocumentStatusEnum::FromString(const } Ifc4::IfcDocumentStatusEnum::operator Ifc4::IfcDocumentStatusEnum::Value() const { - return (Ifc4::IfcDocumentStatusEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcDocumentStatusEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcDoorPanelOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[294]); } @@ -1710,7 +1710,7 @@ Ifc4::IfcDoorPanelOperationEnum::Value Ifc4::IfcDoorPanelOperationEnum::FromStri } Ifc4::IfcDoorPanelOperationEnum::operator Ifc4::IfcDoorPanelOperationEnum::Value() const { - return (Ifc4::IfcDoorPanelOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcDoorPanelOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcDoorPanelPositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[295]); } @@ -1737,7 +1737,7 @@ Ifc4::IfcDoorPanelPositionEnum::Value Ifc4::IfcDoorPanelPositionEnum::FromString } Ifc4::IfcDoorPanelPositionEnum::operator Ifc4::IfcDoorPanelPositionEnum::Value() const { - return (Ifc4::IfcDoorPanelPositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcDoorPanelPositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcDoorStyleConstructionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[299]); } @@ -1764,7 +1764,7 @@ Ifc4::IfcDoorStyleConstructionEnum::Value Ifc4::IfcDoorStyleConstructionEnum::Fr } Ifc4::IfcDoorStyleConstructionEnum::operator Ifc4::IfcDoorStyleConstructionEnum::Value() const { - return (Ifc4::IfcDoorStyleConstructionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcDoorStyleConstructionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcDoorStyleOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[300]); } @@ -1791,7 +1791,7 @@ Ifc4::IfcDoorStyleOperationEnum::Value Ifc4::IfcDoorStyleOperationEnum::FromStri } Ifc4::IfcDoorStyleOperationEnum::operator Ifc4::IfcDoorStyleOperationEnum::Value() const { - return (Ifc4::IfcDoorStyleOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcDoorStyleOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcDoorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[302]); } @@ -1818,7 +1818,7 @@ Ifc4::IfcDoorTypeEnum::Value Ifc4::IfcDoorTypeEnum::FromString(const std::string } Ifc4::IfcDoorTypeEnum::operator Ifc4::IfcDoorTypeEnum::Value() const { - return (Ifc4::IfcDoorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcDoorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcDoorTypeOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[303]); } @@ -1845,7 +1845,7 @@ Ifc4::IfcDoorTypeOperationEnum::Value Ifc4::IfcDoorTypeOperationEnum::FromString } Ifc4::IfcDoorTypeOperationEnum::operator Ifc4::IfcDoorTypeOperationEnum::Value() const { - return (Ifc4::IfcDoorTypeOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcDoorTypeOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcDuctFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[309]); } @@ -1872,7 +1872,7 @@ Ifc4::IfcDuctFittingTypeEnum::Value Ifc4::IfcDuctFittingTypeEnum::FromString(con } Ifc4::IfcDuctFittingTypeEnum::operator Ifc4::IfcDuctFittingTypeEnum::Value() const { - return (Ifc4::IfcDuctFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcDuctFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcDuctSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[312]); } @@ -1899,7 +1899,7 @@ Ifc4::IfcDuctSegmentTypeEnum::Value Ifc4::IfcDuctSegmentTypeEnum::FromString(con } Ifc4::IfcDuctSegmentTypeEnum::operator Ifc4::IfcDuctSegmentTypeEnum::Value() const { - return (Ifc4::IfcDuctSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcDuctSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcDuctSilencerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[315]); } @@ -1926,7 +1926,7 @@ Ifc4::IfcDuctSilencerTypeEnum::Value Ifc4::IfcDuctSilencerTypeEnum::FromString(c } Ifc4::IfcDuctSilencerTypeEnum::operator Ifc4::IfcDuctSilencerTypeEnum::Value() const { - return (Ifc4::IfcDuctSilencerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcDuctSilencerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcElectricApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[323]); } @@ -1953,7 +1953,7 @@ Ifc4::IfcElectricApplianceTypeEnum::Value Ifc4::IfcElectricApplianceTypeEnum::Fr } Ifc4::IfcElectricApplianceTypeEnum::operator Ifc4::IfcElectricApplianceTypeEnum::Value() const { - return (Ifc4::IfcElectricApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcElectricApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcElectricDistributionBoardTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[330]); } @@ -1980,7 +1980,7 @@ Ifc4::IfcElectricDistributionBoardTypeEnum::Value Ifc4::IfcElectricDistributionB } Ifc4::IfcElectricDistributionBoardTypeEnum::operator Ifc4::IfcElectricDistributionBoardTypeEnum::Value() const { - return (Ifc4::IfcElectricDistributionBoardTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcElectricDistributionBoardTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcElectricFlowStorageDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[333]); } @@ -2007,7 +2007,7 @@ Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4::IfcElectricFlowStorageDe } Ifc4::IfcElectricFlowStorageDeviceTypeEnum::operator Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value() const { - return (Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcElectricGeneratorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[336]); } @@ -2034,7 +2034,7 @@ Ifc4::IfcElectricGeneratorTypeEnum::Value Ifc4::IfcElectricGeneratorTypeEnum::Fr } Ifc4::IfcElectricGeneratorTypeEnum::operator Ifc4::IfcElectricGeneratorTypeEnum::Value() const { - return (Ifc4::IfcElectricGeneratorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcElectricGeneratorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcElectricMotorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[339]); } @@ -2061,7 +2061,7 @@ Ifc4::IfcElectricMotorTypeEnum::Value Ifc4::IfcElectricMotorTypeEnum::FromString } Ifc4::IfcElectricMotorTypeEnum::operator Ifc4::IfcElectricMotorTypeEnum::Value() const { - return (Ifc4::IfcElectricMotorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcElectricMotorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcElectricTimeControlTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[343]); } @@ -2088,7 +2088,7 @@ Ifc4::IfcElectricTimeControlTypeEnum::Value Ifc4::IfcElectricTimeControlTypeEnum } Ifc4::IfcElectricTimeControlTypeEnum::operator Ifc4::IfcElectricTimeControlTypeEnum::Value() const { - return (Ifc4::IfcElectricTimeControlTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcElectricTimeControlTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcElementAssemblyTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[349]); } @@ -2115,7 +2115,7 @@ Ifc4::IfcElementAssemblyTypeEnum::Value Ifc4::IfcElementAssemblyTypeEnum::FromSt } Ifc4::IfcElementAssemblyTypeEnum::operator Ifc4::IfcElementAssemblyTypeEnum::Value() const { - return (Ifc4::IfcElementAssemblyTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcElementAssemblyTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcElementCompositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[352]); } @@ -2142,7 +2142,7 @@ Ifc4::IfcElementCompositionEnum::Value Ifc4::IfcElementCompositionEnum::FromStri } Ifc4::IfcElementCompositionEnum::operator Ifc4::IfcElementCompositionEnum::Value() const { - return (Ifc4::IfcElementCompositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcElementCompositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcEngineTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[362]); } @@ -2169,7 +2169,7 @@ Ifc4::IfcEngineTypeEnum::Value Ifc4::IfcEngineTypeEnum::FromString(const std::st } Ifc4::IfcEngineTypeEnum::operator Ifc4::IfcEngineTypeEnum::Value() const { - return (Ifc4::IfcEngineTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcEngineTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcEvaporativeCoolerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[365]); } @@ -2196,7 +2196,7 @@ Ifc4::IfcEvaporativeCoolerTypeEnum::Value Ifc4::IfcEvaporativeCoolerTypeEnum::Fr } Ifc4::IfcEvaporativeCoolerTypeEnum::operator Ifc4::IfcEvaporativeCoolerTypeEnum::Value() const { - return (Ifc4::IfcEvaporativeCoolerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcEvaporativeCoolerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcEvaporatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[368]); } @@ -2223,7 +2223,7 @@ Ifc4::IfcEvaporatorTypeEnum::Value Ifc4::IfcEvaporatorTypeEnum::FromString(const } Ifc4::IfcEvaporatorTypeEnum::operator Ifc4::IfcEvaporatorTypeEnum::Value() const { - return (Ifc4::IfcEvaporatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcEvaporatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcEventTriggerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[371]); } @@ -2250,7 +2250,7 @@ Ifc4::IfcEventTriggerTypeEnum::Value Ifc4::IfcEventTriggerTypeEnum::FromString(c } Ifc4::IfcEventTriggerTypeEnum::operator Ifc4::IfcEventTriggerTypeEnum::Value() const { - return (Ifc4::IfcEventTriggerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcEventTriggerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcEventTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[373]); } @@ -2277,7 +2277,7 @@ Ifc4::IfcEventTypeEnum::Value Ifc4::IfcEventTypeEnum::FromString(const std::stri } Ifc4::IfcEventTypeEnum::operator Ifc4::IfcEventTypeEnum::Value() const { - return (Ifc4::IfcEventTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcEventTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcExternalSpatialElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[382]); } @@ -2304,7 +2304,7 @@ Ifc4::IfcExternalSpatialElementTypeEnum::Value Ifc4::IfcExternalSpatialElementTy } Ifc4::IfcExternalSpatialElementTypeEnum::operator Ifc4::IfcExternalSpatialElementTypeEnum::Value() const { - return (Ifc4::IfcExternalSpatialElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcExternalSpatialElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcFanTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[396]); } @@ -2331,7 +2331,7 @@ Ifc4::IfcFanTypeEnum::Value Ifc4::IfcFanTypeEnum::FromString(const std::string& } Ifc4::IfcFanTypeEnum::operator Ifc4::IfcFanTypeEnum::Value() const { - return (Ifc4::IfcFanTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcFanTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcFastenerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[399]); } @@ -2358,7 +2358,7 @@ Ifc4::IfcFastenerTypeEnum::Value Ifc4::IfcFastenerTypeEnum::FromString(const std } Ifc4::IfcFastenerTypeEnum::operator Ifc4::IfcFastenerTypeEnum::Value() const { - return (Ifc4::IfcFastenerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcFastenerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcFilterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[409]); } @@ -2385,7 +2385,7 @@ Ifc4::IfcFilterTypeEnum::Value Ifc4::IfcFilterTypeEnum::FromString(const std::st } Ifc4::IfcFilterTypeEnum::operator Ifc4::IfcFilterTypeEnum::Value() const { - return (Ifc4::IfcFilterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcFilterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcFireSuppressionTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[412]); } @@ -2412,7 +2412,7 @@ Ifc4::IfcFireSuppressionTerminalTypeEnum::Value Ifc4::IfcFireSuppressionTerminal } Ifc4::IfcFireSuppressionTerminalTypeEnum::operator Ifc4::IfcFireSuppressionTerminalTypeEnum::Value() const { - return (Ifc4::IfcFireSuppressionTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcFireSuppressionTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcFlowDirectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[416]); } @@ -2439,7 +2439,7 @@ Ifc4::IfcFlowDirectionEnum::Value Ifc4::IfcFlowDirectionEnum::FromString(const s } Ifc4::IfcFlowDirectionEnum::operator Ifc4::IfcFlowDirectionEnum::Value() const { - return (Ifc4::IfcFlowDirectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcFlowDirectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcFlowInstrumentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[421]); } @@ -2466,7 +2466,7 @@ Ifc4::IfcFlowInstrumentTypeEnum::Value Ifc4::IfcFlowInstrumentTypeEnum::FromStri } Ifc4::IfcFlowInstrumentTypeEnum::operator Ifc4::IfcFlowInstrumentTypeEnum::Value() const { - return (Ifc4::IfcFlowInstrumentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcFlowInstrumentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcFlowMeterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[424]); } @@ -2493,7 +2493,7 @@ Ifc4::IfcFlowMeterTypeEnum::Value Ifc4::IfcFlowMeterTypeEnum::FromString(const s } Ifc4::IfcFlowMeterTypeEnum::operator Ifc4::IfcFlowMeterTypeEnum::Value() const { - return (Ifc4::IfcFlowMeterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcFlowMeterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcFootingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[440]); } @@ -2520,7 +2520,7 @@ Ifc4::IfcFootingTypeEnum::Value Ifc4::IfcFootingTypeEnum::FromString(const std:: } Ifc4::IfcFootingTypeEnum::operator Ifc4::IfcFootingTypeEnum::Value() const { - return (Ifc4::IfcFootingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcFootingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcFurnitureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[447]); } @@ -2547,7 +2547,7 @@ Ifc4::IfcFurnitureTypeEnum::Value Ifc4::IfcFurnitureTypeEnum::FromString(const s } Ifc4::IfcFurnitureTypeEnum::operator Ifc4::IfcFurnitureTypeEnum::Value() const { - return (Ifc4::IfcFurnitureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcFurnitureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcGeographicElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[450]); } @@ -2574,7 +2574,7 @@ Ifc4::IfcGeographicElementTypeEnum::Value Ifc4::IfcGeographicElementTypeEnum::Fr } Ifc4::IfcGeographicElementTypeEnum::operator Ifc4::IfcGeographicElementTypeEnum::Value() const { - return (Ifc4::IfcGeographicElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcGeographicElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcGeometricProjectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[452]); } @@ -2601,7 +2601,7 @@ Ifc4::IfcGeometricProjectionEnum::Value Ifc4::IfcGeometricProjectionEnum::FromSt } Ifc4::IfcGeometricProjectionEnum::operator Ifc4::IfcGeometricProjectionEnum::Value() const { - return (Ifc4::IfcGeometricProjectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcGeometricProjectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcGlobalOrLocalEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[459]); } @@ -2628,7 +2628,7 @@ Ifc4::IfcGlobalOrLocalEnum::Value Ifc4::IfcGlobalOrLocalEnum::FromString(const s } Ifc4::IfcGlobalOrLocalEnum::operator Ifc4::IfcGlobalOrLocalEnum::Value() const { - return (Ifc4::IfcGlobalOrLocalEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcGlobalOrLocalEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcGridTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[464]); } @@ -2655,7 +2655,7 @@ Ifc4::IfcGridTypeEnum::Value Ifc4::IfcGridTypeEnum::FromString(const std::string } Ifc4::IfcGridTypeEnum::operator Ifc4::IfcGridTypeEnum::Value() const { - return (Ifc4::IfcGridTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcGridTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcHeatExchangerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[470]); } @@ -2682,7 +2682,7 @@ Ifc4::IfcHeatExchangerTypeEnum::Value Ifc4::IfcHeatExchangerTypeEnum::FromString } Ifc4::IfcHeatExchangerTypeEnum::operator Ifc4::IfcHeatExchangerTypeEnum::Value() const { - return (Ifc4::IfcHeatExchangerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcHeatExchangerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcHumidifierTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[475]); } @@ -2709,7 +2709,7 @@ Ifc4::IfcHumidifierTypeEnum::Value Ifc4::IfcHumidifierTypeEnum::FromString(const } Ifc4::IfcHumidifierTypeEnum::operator Ifc4::IfcHumidifierTypeEnum::Value() const { - return (Ifc4::IfcHumidifierTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcHumidifierTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcInterceptorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[490]); } @@ -2736,7 +2736,7 @@ Ifc4::IfcInterceptorTypeEnum::Value Ifc4::IfcInterceptorTypeEnum::FromString(con } Ifc4::IfcInterceptorTypeEnum::operator Ifc4::IfcInterceptorTypeEnum::Value() const { - return (Ifc4::IfcInterceptorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcInterceptorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcInternalOrExternalEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[491]); } @@ -2763,7 +2763,7 @@ Ifc4::IfcInternalOrExternalEnum::Value Ifc4::IfcInternalOrExternalEnum::FromStri } Ifc4::IfcInternalOrExternalEnum::operator Ifc4::IfcInternalOrExternalEnum::Value() const { - return (Ifc4::IfcInternalOrExternalEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcInternalOrExternalEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcInventoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[494]); } @@ -2790,7 +2790,7 @@ Ifc4::IfcInventoryTypeEnum::Value Ifc4::IfcInventoryTypeEnum::FromString(const s } Ifc4::IfcInventoryTypeEnum::operator Ifc4::IfcInventoryTypeEnum::Value() const { - return (Ifc4::IfcInventoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcInventoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcJunctionBoxTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[502]); } @@ -2817,7 +2817,7 @@ Ifc4::IfcJunctionBoxTypeEnum::Value Ifc4::IfcJunctionBoxTypeEnum::FromString(con } Ifc4::IfcJunctionBoxTypeEnum::operator Ifc4::IfcJunctionBoxTypeEnum::Value() const { - return (Ifc4::IfcJunctionBoxTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcJunctionBoxTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcKnotType::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[504]); } @@ -2844,7 +2844,7 @@ Ifc4::IfcKnotType::Value Ifc4::IfcKnotType::FromString(const std::string& s) { } Ifc4::IfcKnotType::operator Ifc4::IfcKnotType::Value() const { - return (Ifc4::IfcKnotType::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcKnotType::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcLaborResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[508]); } @@ -2871,7 +2871,7 @@ Ifc4::IfcLaborResourceTypeEnum::Value Ifc4::IfcLaborResourceTypeEnum::FromString } Ifc4::IfcLaborResourceTypeEnum::operator Ifc4::IfcLaborResourceTypeEnum::Value() const { - return (Ifc4::IfcLaborResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcLaborResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcLampTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[512]); } @@ -2898,7 +2898,7 @@ Ifc4::IfcLampTypeEnum::Value Ifc4::IfcLampTypeEnum::FromString(const std::string } Ifc4::IfcLampTypeEnum::operator Ifc4::IfcLampTypeEnum::Value() const { - return (Ifc4::IfcLampTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcLampTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcLayerSetDirectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[515]); } @@ -2925,7 +2925,7 @@ Ifc4::IfcLayerSetDirectionEnum::Value Ifc4::IfcLayerSetDirectionEnum::FromString } Ifc4::IfcLayerSetDirectionEnum::operator Ifc4::IfcLayerSetDirectionEnum::Value() const { - return (Ifc4::IfcLayerSetDirectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcLayerSetDirectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcLightDistributionCurveEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[520]); } @@ -2952,7 +2952,7 @@ Ifc4::IfcLightDistributionCurveEnum::Value Ifc4::IfcLightDistributionCurveEnum:: } Ifc4::IfcLightDistributionCurveEnum::operator Ifc4::IfcLightDistributionCurveEnum::Value() const { - return (Ifc4::IfcLightDistributionCurveEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcLightDistributionCurveEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcLightEmissionSourceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[523]); } @@ -2979,7 +2979,7 @@ Ifc4::IfcLightEmissionSourceEnum::Value Ifc4::IfcLightEmissionSourceEnum::FromSt } Ifc4::IfcLightEmissionSourceEnum::operator Ifc4::IfcLightEmissionSourceEnum::Value() const { - return (Ifc4::IfcLightEmissionSourceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcLightEmissionSourceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcLightFixtureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[526]); } @@ -3006,7 +3006,7 @@ Ifc4::IfcLightFixtureTypeEnum::Value Ifc4::IfcLightFixtureTypeEnum::FromString(c } Ifc4::IfcLightFixtureTypeEnum::operator Ifc4::IfcLightFixtureTypeEnum::Value() const { - return (Ifc4::IfcLightFixtureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcLightFixtureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcLoadGroupTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[540]); } @@ -3033,7 +3033,7 @@ Ifc4::IfcLoadGroupTypeEnum::Value Ifc4::IfcLoadGroupTypeEnum::FromString(const s } Ifc4::IfcLoadGroupTypeEnum::operator Ifc4::IfcLoadGroupTypeEnum::Value() const { - return (Ifc4::IfcLoadGroupTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcLoadGroupTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcLogicalOperatorEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[543]); } @@ -3060,7 +3060,7 @@ Ifc4::IfcLogicalOperatorEnum::Value Ifc4::IfcLogicalOperatorEnum::FromString(con } Ifc4::IfcLogicalOperatorEnum::operator Ifc4::IfcLogicalOperatorEnum::Value() const { - return (Ifc4::IfcLogicalOperatorEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcLogicalOperatorEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcMechanicalFastenerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[582]); } @@ -3087,7 +3087,7 @@ Ifc4::IfcMechanicalFastenerTypeEnum::Value Ifc4::IfcMechanicalFastenerTypeEnum:: } Ifc4::IfcMechanicalFastenerTypeEnum::operator Ifc4::IfcMechanicalFastenerTypeEnum::Value() const { - return (Ifc4::IfcMechanicalFastenerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcMechanicalFastenerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcMedicalDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[585]); } @@ -3114,7 +3114,7 @@ Ifc4::IfcMedicalDeviceTypeEnum::Value Ifc4::IfcMedicalDeviceTypeEnum::FromString } Ifc4::IfcMedicalDeviceTypeEnum::operator Ifc4::IfcMedicalDeviceTypeEnum::Value() const { - return (Ifc4::IfcMedicalDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcMedicalDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcMemberTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[589]); } @@ -3141,7 +3141,7 @@ Ifc4::IfcMemberTypeEnum::Value Ifc4::IfcMemberTypeEnum::FromString(const std::st } Ifc4::IfcMemberTypeEnum::operator Ifc4::IfcMemberTypeEnum::Value() const { - return (Ifc4::IfcMemberTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcMemberTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcMotorConnectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[608]); } @@ -3168,7 +3168,7 @@ Ifc4::IfcMotorConnectionTypeEnum::Value Ifc4::IfcMotorConnectionTypeEnum::FromSt } Ifc4::IfcMotorConnectionTypeEnum::operator Ifc4::IfcMotorConnectionTypeEnum::Value() const { - return (Ifc4::IfcMotorConnectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcMotorConnectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcNullStyle::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[612]); } @@ -3195,7 +3195,7 @@ Ifc4::IfcNullStyle::Value Ifc4::IfcNullStyle::FromString(const std::string& s) { } Ifc4::IfcNullStyle::operator Ifc4::IfcNullStyle::Value() const { - return (Ifc4::IfcNullStyle::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcNullStyle::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcObjectTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[620]); } @@ -3222,7 +3222,7 @@ Ifc4::IfcObjectTypeEnum::Value Ifc4::IfcObjectTypeEnum::FromString(const std::st } Ifc4::IfcObjectTypeEnum::operator Ifc4::IfcObjectTypeEnum::Value() const { - return (Ifc4::IfcObjectTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcObjectTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcObjectiveEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[617]); } @@ -3249,7 +3249,7 @@ Ifc4::IfcObjectiveEnum::Value Ifc4::IfcObjectiveEnum::FromString(const std::stri } Ifc4::IfcObjectiveEnum::operator Ifc4::IfcObjectiveEnum::Value() const { - return (Ifc4::IfcObjectiveEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcObjectiveEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcOccupantTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[622]); } @@ -3276,7 +3276,7 @@ Ifc4::IfcOccupantTypeEnum::Value Ifc4::IfcOccupantTypeEnum::FromString(const std } Ifc4::IfcOccupantTypeEnum::operator Ifc4::IfcOccupantTypeEnum::Value() const { - return (Ifc4::IfcOccupantTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcOccupantTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcOpeningElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[626]); } @@ -3303,7 +3303,7 @@ Ifc4::IfcOpeningElementTypeEnum::Value Ifc4::IfcOpeningElementTypeEnum::FromStri } Ifc4::IfcOpeningElementTypeEnum::operator Ifc4::IfcOpeningElementTypeEnum::Value() const { - return (Ifc4::IfcOpeningElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcOpeningElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcOutletTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[635]); } @@ -3330,7 +3330,7 @@ Ifc4::IfcOutletTypeEnum::Value Ifc4::IfcOutletTypeEnum::FromString(const std::st } Ifc4::IfcOutletTypeEnum::operator Ifc4::IfcOutletTypeEnum::Value() const { - return (Ifc4::IfcOutletTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcOutletTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcPerformanceHistoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[642]); } @@ -3357,7 +3357,7 @@ Ifc4::IfcPerformanceHistoryTypeEnum::Value Ifc4::IfcPerformanceHistoryTypeEnum:: } Ifc4::IfcPerformanceHistoryTypeEnum::operator Ifc4::IfcPerformanceHistoryTypeEnum::Value() const { - return (Ifc4::IfcPerformanceHistoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcPerformanceHistoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcPermeableCoveringOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[643]); } @@ -3384,7 +3384,7 @@ Ifc4::IfcPermeableCoveringOperationEnum::Value Ifc4::IfcPermeableCoveringOperati } Ifc4::IfcPermeableCoveringOperationEnum::operator Ifc4::IfcPermeableCoveringOperationEnum::Value() const { - return (Ifc4::IfcPermeableCoveringOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcPermeableCoveringOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcPermitTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[646]); } @@ -3411,7 +3411,7 @@ Ifc4::IfcPermitTypeEnum::Value Ifc4::IfcPermitTypeEnum::FromString(const std::st } Ifc4::IfcPermitTypeEnum::operator Ifc4::IfcPermitTypeEnum::Value() const { - return (Ifc4::IfcPermitTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcPermitTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcPhysicalOrVirtualEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[651]); } @@ -3438,7 +3438,7 @@ Ifc4::IfcPhysicalOrVirtualEnum::Value Ifc4::IfcPhysicalOrVirtualEnum::FromString } Ifc4::IfcPhysicalOrVirtualEnum::operator Ifc4::IfcPhysicalOrVirtualEnum::Value() const { - return (Ifc4::IfcPhysicalOrVirtualEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcPhysicalOrVirtualEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcPileConstructionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[655]); } @@ -3465,7 +3465,7 @@ Ifc4::IfcPileConstructionEnum::Value Ifc4::IfcPileConstructionEnum::FromString(c } Ifc4::IfcPileConstructionEnum::operator Ifc4::IfcPileConstructionEnum::Value() const { - return (Ifc4::IfcPileConstructionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcPileConstructionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcPileTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[657]); } @@ -3492,7 +3492,7 @@ Ifc4::IfcPileTypeEnum::Value Ifc4::IfcPileTypeEnum::FromString(const std::string } Ifc4::IfcPileTypeEnum::operator Ifc4::IfcPileTypeEnum::Value() const { - return (Ifc4::IfcPileTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcPileTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcPipeFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[660]); } @@ -3519,7 +3519,7 @@ Ifc4::IfcPipeFittingTypeEnum::Value Ifc4::IfcPipeFittingTypeEnum::FromString(con } Ifc4::IfcPipeFittingTypeEnum::operator Ifc4::IfcPipeFittingTypeEnum::Value() const { - return (Ifc4::IfcPipeFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcPipeFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcPipeSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[663]); } @@ -3546,7 +3546,7 @@ Ifc4::IfcPipeSegmentTypeEnum::Value Ifc4::IfcPipeSegmentTypeEnum::FromString(con } Ifc4::IfcPipeSegmentTypeEnum::operator Ifc4::IfcPipeSegmentTypeEnum::Value() const { - return (Ifc4::IfcPipeSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcPipeSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcPlateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[674]); } @@ -3573,7 +3573,7 @@ Ifc4::IfcPlateTypeEnum::Value Ifc4::IfcPlateTypeEnum::FromString(const std::stri } Ifc4::IfcPlateTypeEnum::operator Ifc4::IfcPlateTypeEnum::Value() const { - return (Ifc4::IfcPlateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcPlateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcPreferredSurfaceCurveRepresentation::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[696]); } @@ -3600,7 +3600,7 @@ Ifc4::IfcPreferredSurfaceCurveRepresentation::Value Ifc4::IfcPreferredSurfaceCur } Ifc4::IfcPreferredSurfaceCurveRepresentation::operator Ifc4::IfcPreferredSurfaceCurveRepresentation::Value() const { - return (Ifc4::IfcPreferredSurfaceCurveRepresentation::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcPreferredSurfaceCurveRepresentation::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcProcedureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[707]); } @@ -3627,7 +3627,7 @@ Ifc4::IfcProcedureTypeEnum::Value Ifc4::IfcProcedureTypeEnum::FromString(const s } Ifc4::IfcProcedureTypeEnum::operator Ifc4::IfcProcedureTypeEnum::Value() const { - return (Ifc4::IfcProcedureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcProcedureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcProfileTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[717]); } @@ -3654,7 +3654,7 @@ Ifc4::IfcProfileTypeEnum::Value Ifc4::IfcProfileTypeEnum::FromString(const std:: } Ifc4::IfcProfileTypeEnum::operator Ifc4::IfcProfileTypeEnum::Value() const { - return (Ifc4::IfcProfileTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcProfileTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcProjectOrderTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[725]); } @@ -3681,7 +3681,7 @@ Ifc4::IfcProjectOrderTypeEnum::Value Ifc4::IfcProjectOrderTypeEnum::FromString(c } Ifc4::IfcProjectOrderTypeEnum::operator Ifc4::IfcProjectOrderTypeEnum::Value() const { - return (Ifc4::IfcProjectOrderTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcProjectOrderTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcProjectedOrTrueLengthEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[720]); } @@ -3708,7 +3708,7 @@ Ifc4::IfcProjectedOrTrueLengthEnum::Value Ifc4::IfcProjectedOrTrueLengthEnum::Fr } Ifc4::IfcProjectedOrTrueLengthEnum::operator Ifc4::IfcProjectedOrTrueLengthEnum::Value() const { - return (Ifc4::IfcProjectedOrTrueLengthEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcProjectedOrTrueLengthEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcProjectionElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[722]); } @@ -3735,7 +3735,7 @@ Ifc4::IfcProjectionElementTypeEnum::Value Ifc4::IfcProjectionElementTypeEnum::Fr } Ifc4::IfcProjectionElementTypeEnum::operator Ifc4::IfcProjectionElementTypeEnum::Value() const { - return (Ifc4::IfcProjectionElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcProjectionElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcPropertySetTemplateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[740]); } @@ -3762,7 +3762,7 @@ Ifc4::IfcPropertySetTemplateTypeEnum::Value Ifc4::IfcPropertySetTemplateTypeEnum } Ifc4::IfcPropertySetTemplateTypeEnum::operator Ifc4::IfcPropertySetTemplateTypeEnum::Value() const { - return (Ifc4::IfcPropertySetTemplateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcPropertySetTemplateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[748]); } @@ -3789,7 +3789,7 @@ Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4::IfcProtectiveDeviceTr } Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::operator Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value() const { - return (Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcProtectiveDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[750]); } @@ -3816,7 +3816,7 @@ Ifc4::IfcProtectiveDeviceTypeEnum::Value Ifc4::IfcProtectiveDeviceTypeEnum::From } Ifc4::IfcProtectiveDeviceTypeEnum::operator Ifc4::IfcProtectiveDeviceTypeEnum::Value() const { - return (Ifc4::IfcProtectiveDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcProtectiveDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcPumpTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[754]); } @@ -3843,7 +3843,7 @@ Ifc4::IfcPumpTypeEnum::Value Ifc4::IfcPumpTypeEnum::FromString(const std::string } Ifc4::IfcPumpTypeEnum::operator Ifc4::IfcPumpTypeEnum::Value() const { - return (Ifc4::IfcPumpTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcPumpTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcRailingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[765]); } @@ -3870,7 +3870,7 @@ Ifc4::IfcRailingTypeEnum::Value Ifc4::IfcRailingTypeEnum::FromString(const std:: } Ifc4::IfcRailingTypeEnum::operator Ifc4::IfcRailingTypeEnum::Value() const { - return (Ifc4::IfcRailingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcRailingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcRampFlightTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[769]); } @@ -3897,7 +3897,7 @@ Ifc4::IfcRampFlightTypeEnum::Value Ifc4::IfcRampFlightTypeEnum::FromString(const } Ifc4::IfcRampFlightTypeEnum::operator Ifc4::IfcRampFlightTypeEnum::Value() const { - return (Ifc4::IfcRampFlightTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcRampFlightTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcRampTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[771]); } @@ -3924,7 +3924,7 @@ Ifc4::IfcRampTypeEnum::Value Ifc4::IfcRampTypeEnum::FromString(const std::string } Ifc4::IfcRampTypeEnum::operator Ifc4::IfcRampTypeEnum::Value() const { - return (Ifc4::IfcRampTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcRampTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcRecurrenceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[781]); } @@ -3951,7 +3951,7 @@ Ifc4::IfcRecurrenceTypeEnum::Value Ifc4::IfcRecurrenceTypeEnum::FromString(const } Ifc4::IfcRecurrenceTypeEnum::operator Ifc4::IfcRecurrenceTypeEnum::Value() const { - return (Ifc4::IfcRecurrenceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcRecurrenceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcReflectanceMethodEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[783]); } @@ -3978,7 +3978,7 @@ Ifc4::IfcReflectanceMethodEnum::Value Ifc4::IfcReflectanceMethodEnum::FromString } Ifc4::IfcReflectanceMethodEnum::operator Ifc4::IfcReflectanceMethodEnum::Value() const { - return (Ifc4::IfcReflectanceMethodEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcReflectanceMethodEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcReinforcingBarRoleEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[788]); } @@ -4005,7 +4005,7 @@ Ifc4::IfcReinforcingBarRoleEnum::Value Ifc4::IfcReinforcingBarRoleEnum::FromStri } Ifc4::IfcReinforcingBarRoleEnum::operator Ifc4::IfcReinforcingBarRoleEnum::Value() const { - return (Ifc4::IfcReinforcingBarRoleEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcReinforcingBarRoleEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcReinforcingBarSurfaceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[789]); } @@ -4032,7 +4032,7 @@ Ifc4::IfcReinforcingBarSurfaceEnum::Value Ifc4::IfcReinforcingBarSurfaceEnum::Fr } Ifc4::IfcReinforcingBarSurfaceEnum::operator Ifc4::IfcReinforcingBarSurfaceEnum::Value() const { - return (Ifc4::IfcReinforcingBarSurfaceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcReinforcingBarSurfaceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcReinforcingBarTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[791]); } @@ -4059,7 +4059,7 @@ Ifc4::IfcReinforcingBarTypeEnum::Value Ifc4::IfcReinforcingBarTypeEnum::FromStri } Ifc4::IfcReinforcingBarTypeEnum::operator Ifc4::IfcReinforcingBarTypeEnum::Value() const { - return (Ifc4::IfcReinforcingBarTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcReinforcingBarTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcReinforcingMeshTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[796]); } @@ -4086,7 +4086,7 @@ Ifc4::IfcReinforcingMeshTypeEnum::Value Ifc4::IfcReinforcingMeshTypeEnum::FromSt } Ifc4::IfcReinforcingMeshTypeEnum::operator Ifc4::IfcReinforcingMeshTypeEnum::Value() const { - return (Ifc4::IfcReinforcingMeshTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcReinforcingMeshTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcRoleEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[861]); } @@ -4113,7 +4113,7 @@ Ifc4::IfcRoleEnum::Value Ifc4::IfcRoleEnum::FromString(const std::string& s) { } Ifc4::IfcRoleEnum::operator Ifc4::IfcRoleEnum::Value() const { - return (Ifc4::IfcRoleEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcRoleEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcRoofTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[864]); } @@ -4140,7 +4140,7 @@ Ifc4::IfcRoofTypeEnum::Value Ifc4::IfcRoofTypeEnum::FromString(const std::string } Ifc4::IfcRoofTypeEnum::operator Ifc4::IfcRoofTypeEnum::Value() const { - return (Ifc4::IfcRoofTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcRoofTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcSIPrefix::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[900]); } @@ -4167,7 +4167,7 @@ Ifc4::IfcSIPrefix::Value Ifc4::IfcSIPrefix::FromString(const std::string& s) { } Ifc4::IfcSIPrefix::operator Ifc4::IfcSIPrefix::Value() const { - return (Ifc4::IfcSIPrefix::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcSIPrefix::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcSIUnitName::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[903]); } @@ -4194,7 +4194,7 @@ Ifc4::IfcSIUnitName::Value Ifc4::IfcSIUnitName::FromString(const std::string& s) } Ifc4::IfcSIUnitName::operator Ifc4::IfcSIUnitName::Value() const { - return (Ifc4::IfcSIUnitName::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcSIUnitName::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcSanitaryTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[873]); } @@ -4221,7 +4221,7 @@ Ifc4::IfcSanitaryTerminalTypeEnum::Value Ifc4::IfcSanitaryTerminalTypeEnum::From } Ifc4::IfcSanitaryTerminalTypeEnum::operator Ifc4::IfcSanitaryTerminalTypeEnum::Value() const { - return (Ifc4::IfcSanitaryTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcSanitaryTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcSectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[881]); } @@ -4248,7 +4248,7 @@ Ifc4::IfcSectionTypeEnum::Value Ifc4::IfcSectionTypeEnum::FromString(const std:: } Ifc4::IfcSectionTypeEnum::operator Ifc4::IfcSectionTypeEnum::Value() const { - return (Ifc4::IfcSectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcSectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcSensorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[885]); } @@ -4275,7 +4275,7 @@ Ifc4::IfcSensorTypeEnum::Value Ifc4::IfcSensorTypeEnum::FromString(const std::st } Ifc4::IfcSensorTypeEnum::operator Ifc4::IfcSensorTypeEnum::Value() const { - return (Ifc4::IfcSensorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcSensorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcSequenceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[886]); } @@ -4302,7 +4302,7 @@ Ifc4::IfcSequenceEnum::Value Ifc4::IfcSequenceEnum::FromString(const std::string } Ifc4::IfcSequenceEnum::operator Ifc4::IfcSequenceEnum::Value() const { - return (Ifc4::IfcSequenceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcSequenceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcShadingDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[889]); } @@ -4329,7 +4329,7 @@ Ifc4::IfcShadingDeviceTypeEnum::Value Ifc4::IfcShadingDeviceTypeEnum::FromString } Ifc4::IfcShadingDeviceTypeEnum::operator Ifc4::IfcShadingDeviceTypeEnum::Value() const { - return (Ifc4::IfcShadingDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcShadingDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcSimplePropertyTemplateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[898]); } @@ -4356,7 +4356,7 @@ Ifc4::IfcSimplePropertyTemplateTypeEnum::Value Ifc4::IfcSimplePropertyTemplateTy } Ifc4::IfcSimplePropertyTemplateTypeEnum::operator Ifc4::IfcSimplePropertyTemplateTypeEnum::Value() const { - return (Ifc4::IfcSimplePropertyTemplateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcSimplePropertyTemplateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcSlabTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[909]); } @@ -4383,7 +4383,7 @@ Ifc4::IfcSlabTypeEnum::Value Ifc4::IfcSlabTypeEnum::FromString(const std::string } Ifc4::IfcSlabTypeEnum::operator Ifc4::IfcSlabTypeEnum::Value() const { - return (Ifc4::IfcSlabTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcSlabTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcSolarDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[913]); } @@ -4410,7 +4410,7 @@ Ifc4::IfcSolarDeviceTypeEnum::Value Ifc4::IfcSolarDeviceTypeEnum::FromString(con } Ifc4::IfcSolarDeviceTypeEnum::operator Ifc4::IfcSolarDeviceTypeEnum::Value() const { - return (Ifc4::IfcSolarDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcSolarDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcSpaceHeaterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[925]); } @@ -4437,7 +4437,7 @@ Ifc4::IfcSpaceHeaterTypeEnum::Value Ifc4::IfcSpaceHeaterTypeEnum::FromString(con } Ifc4::IfcSpaceHeaterTypeEnum::operator Ifc4::IfcSpaceHeaterTypeEnum::Value() const { - return (Ifc4::IfcSpaceHeaterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcSpaceHeaterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcSpaceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[927]); } @@ -4464,7 +4464,7 @@ Ifc4::IfcSpaceTypeEnum::Value Ifc4::IfcSpaceTypeEnum::FromString(const std::stri } Ifc4::IfcSpaceTypeEnum::operator Ifc4::IfcSpaceTypeEnum::Value() const { - return (Ifc4::IfcSpaceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcSpaceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcSpatialZoneTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[934]); } @@ -4491,7 +4491,7 @@ Ifc4::IfcSpatialZoneTypeEnum::Value Ifc4::IfcSpatialZoneTypeEnum::FromString(con } Ifc4::IfcSpatialZoneTypeEnum::operator Ifc4::IfcSpatialZoneTypeEnum::Value() const { - return (Ifc4::IfcSpatialZoneTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcSpatialZoneTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcStackTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[943]); } @@ -4518,7 +4518,7 @@ Ifc4::IfcStackTerminalTypeEnum::Value Ifc4::IfcStackTerminalTypeEnum::FromString } Ifc4::IfcStackTerminalTypeEnum::operator Ifc4::IfcStackTerminalTypeEnum::Value() const { - return (Ifc4::IfcStackTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcStackTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcStairFlightTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[947]); } @@ -4545,7 +4545,7 @@ Ifc4::IfcStairFlightTypeEnum::Value Ifc4::IfcStairFlightTypeEnum::FromString(con } Ifc4::IfcStairFlightTypeEnum::operator Ifc4::IfcStairFlightTypeEnum::Value() const { - return (Ifc4::IfcStairFlightTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcStairFlightTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcStairTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[949]); } @@ -4572,7 +4572,7 @@ Ifc4::IfcStairTypeEnum::Value Ifc4::IfcStairTypeEnum::FromString(const std::stri } Ifc4::IfcStairTypeEnum::operator Ifc4::IfcStairTypeEnum::Value() const { - return (Ifc4::IfcStairTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcStairTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcStateEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[950]); } @@ -4599,7 +4599,7 @@ Ifc4::IfcStateEnum::Value Ifc4::IfcStateEnum::FromString(const std::string& s) { } Ifc4::IfcStateEnum::operator Ifc4::IfcStateEnum::Value() const { - return (Ifc4::IfcStateEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcStateEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcStructuralCurveActivityTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[958]); } @@ -4626,7 +4626,7 @@ Ifc4::IfcStructuralCurveActivityTypeEnum::Value Ifc4::IfcStructuralCurveActivity } Ifc4::IfcStructuralCurveActivityTypeEnum::operator Ifc4::IfcStructuralCurveActivityTypeEnum::Value() const { - return (Ifc4::IfcStructuralCurveActivityTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcStructuralCurveActivityTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcStructuralCurveMemberTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[961]); } @@ -4653,7 +4653,7 @@ Ifc4::IfcStructuralCurveMemberTypeEnum::Value Ifc4::IfcStructuralCurveMemberType } Ifc4::IfcStructuralCurveMemberTypeEnum::operator Ifc4::IfcStructuralCurveMemberTypeEnum::Value() const { - return (Ifc4::IfcStructuralCurveMemberTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcStructuralCurveMemberTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcStructuralSurfaceActivityTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[987]); } @@ -4680,7 +4680,7 @@ Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4::IfcStructuralSurfaceActi } Ifc4::IfcStructuralSurfaceActivityTypeEnum::operator Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value() const { - return (Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcStructuralSurfaceMemberTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[990]); } @@ -4707,7 +4707,7 @@ Ifc4::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4::IfcStructuralSurfaceMember } Ifc4::IfcStructuralSurfaceMemberTypeEnum::operator Ifc4::IfcStructuralSurfaceMemberTypeEnum::Value() const { - return (Ifc4::IfcStructuralSurfaceMemberTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcStructuralSurfaceMemberTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcSubContractResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[999]); } @@ -4734,7 +4734,7 @@ Ifc4::IfcSubContractResourceTypeEnum::Value Ifc4::IfcSubContractResourceTypeEnum } Ifc4::IfcSubContractResourceTypeEnum::operator Ifc4::IfcSubContractResourceTypeEnum::Value() const { - return (Ifc4::IfcSubContractResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcSubContractResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcSurfaceFeatureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[1005]); } @@ -4761,7 +4761,7 @@ Ifc4::IfcSurfaceFeatureTypeEnum::Value Ifc4::IfcSurfaceFeatureTypeEnum::FromStri } Ifc4::IfcSurfaceFeatureTypeEnum::operator Ifc4::IfcSurfaceFeatureTypeEnum::Value() const { - return (Ifc4::IfcSurfaceFeatureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcSurfaceFeatureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcSurfaceSide::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[1010]); } @@ -4788,7 +4788,7 @@ Ifc4::IfcSurfaceSide::Value Ifc4::IfcSurfaceSide::FromString(const std::string& } Ifc4::IfcSurfaceSide::operator Ifc4::IfcSurfaceSide::Value() const { - return (Ifc4::IfcSurfaceSide::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcSurfaceSide::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcSwitchingDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[1025]); } @@ -4815,7 +4815,7 @@ Ifc4::IfcSwitchingDeviceTypeEnum::Value Ifc4::IfcSwitchingDeviceTypeEnum::FromSt } Ifc4::IfcSwitchingDeviceTypeEnum::operator Ifc4::IfcSwitchingDeviceTypeEnum::Value() const { - return (Ifc4::IfcSwitchingDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcSwitchingDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcSystemFurnitureElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[1029]); } @@ -4842,7 +4842,7 @@ Ifc4::IfcSystemFurnitureElementTypeEnum::Value Ifc4::IfcSystemFurnitureElementTy } Ifc4::IfcSystemFurnitureElementTypeEnum::operator Ifc4::IfcSystemFurnitureElementTypeEnum::Value() const { - return (Ifc4::IfcSystemFurnitureElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcSystemFurnitureElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcTankTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[1035]); } @@ -4869,7 +4869,7 @@ Ifc4::IfcTankTypeEnum::Value Ifc4::IfcTankTypeEnum::FromString(const std::string } Ifc4::IfcTankTypeEnum::operator Ifc4::IfcTankTypeEnum::Value() const { - return (Ifc4::IfcTankTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcTankTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcTaskDurationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[1037]); } @@ -4896,7 +4896,7 @@ Ifc4::IfcTaskDurationEnum::Value Ifc4::IfcTaskDurationEnum::FromString(const std } Ifc4::IfcTaskDurationEnum::operator Ifc4::IfcTaskDurationEnum::Value() const { - return (Ifc4::IfcTaskDurationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcTaskDurationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcTaskTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[1041]); } @@ -4923,7 +4923,7 @@ Ifc4::IfcTaskTypeEnum::Value Ifc4::IfcTaskTypeEnum::FromString(const std::string } Ifc4::IfcTaskTypeEnum::operator Ifc4::IfcTaskTypeEnum::Value() const { - return (Ifc4::IfcTaskTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcTaskTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcTendonAnchorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[1048]); } @@ -4950,7 +4950,7 @@ Ifc4::IfcTendonAnchorTypeEnum::Value Ifc4::IfcTendonAnchorTypeEnum::FromString(c } Ifc4::IfcTendonAnchorTypeEnum::operator Ifc4::IfcTendonAnchorTypeEnum::Value() const { - return (Ifc4::IfcTendonAnchorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcTendonAnchorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcTendonTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[1050]); } @@ -4977,7 +4977,7 @@ Ifc4::IfcTendonTypeEnum::Value Ifc4::IfcTendonTypeEnum::FromString(const std::st } Ifc4::IfcTendonTypeEnum::operator Ifc4::IfcTendonTypeEnum::Value() const { - return (Ifc4::IfcTendonTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcTendonTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcTextPath::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[1060]); } @@ -5004,7 +5004,7 @@ Ifc4::IfcTextPath::Value Ifc4::IfcTextPath::FromString(const std::string& s) { } Ifc4::IfcTextPath::operator Ifc4::IfcTextPath::Value() const { - return (Ifc4::IfcTextPath::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcTextPath::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcTimeSeriesDataTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[1082]); } @@ -5031,7 +5031,7 @@ Ifc4::IfcTimeSeriesDataTypeEnum::Value Ifc4::IfcTimeSeriesDataTypeEnum::FromStri } Ifc4::IfcTimeSeriesDataTypeEnum::operator Ifc4::IfcTimeSeriesDataTypeEnum::Value() const { - return (Ifc4::IfcTimeSeriesDataTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcTimeSeriesDataTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcTransformerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[1091]); } @@ -5058,7 +5058,7 @@ Ifc4::IfcTransformerTypeEnum::Value Ifc4::IfcTransformerTypeEnum::FromString(con } Ifc4::IfcTransformerTypeEnum::operator Ifc4::IfcTransformerTypeEnum::Value() const { - return (Ifc4::IfcTransformerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcTransformerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcTransitionCode::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[1092]); } @@ -5085,7 +5085,7 @@ Ifc4::IfcTransitionCode::Value Ifc4::IfcTransitionCode::FromString(const std::st } Ifc4::IfcTransitionCode::operator Ifc4::IfcTransitionCode::Value() const { - return (Ifc4::IfcTransitionCode::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcTransitionCode::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcTransportElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[1096]); } @@ -5112,7 +5112,7 @@ Ifc4::IfcTransportElementTypeEnum::Value Ifc4::IfcTransportElementTypeEnum::From } Ifc4::IfcTransportElementTypeEnum::operator Ifc4::IfcTransportElementTypeEnum::Value() const { - return (Ifc4::IfcTransportElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcTransportElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcTrimmingPreference::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[1100]); } @@ -5139,7 +5139,7 @@ Ifc4::IfcTrimmingPreference::Value Ifc4::IfcTrimmingPreference::FromString(const } Ifc4::IfcTrimmingPreference::operator Ifc4::IfcTrimmingPreference::Value() const { - return (Ifc4::IfcTrimmingPreference::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcTrimmingPreference::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcTubeBundleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[1105]); } @@ -5166,7 +5166,7 @@ Ifc4::IfcTubeBundleTypeEnum::Value Ifc4::IfcTubeBundleTypeEnum::FromString(const } Ifc4::IfcTubeBundleTypeEnum::operator Ifc4::IfcTubeBundleTypeEnum::Value() const { - return (Ifc4::IfcTubeBundleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcTubeBundleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcUnitEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[1118]); } @@ -5193,7 +5193,7 @@ Ifc4::IfcUnitEnum::Value Ifc4::IfcUnitEnum::FromString(const std::string& s) { } Ifc4::IfcUnitEnum::operator Ifc4::IfcUnitEnum::Value() const { - return (Ifc4::IfcUnitEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcUnitEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcUnitaryControlElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[1113]); } @@ -5220,7 +5220,7 @@ Ifc4::IfcUnitaryControlElementTypeEnum::Value Ifc4::IfcUnitaryControlElementType } Ifc4::IfcUnitaryControlElementTypeEnum::operator Ifc4::IfcUnitaryControlElementTypeEnum::Value() const { - return (Ifc4::IfcUnitaryControlElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcUnitaryControlElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcUnitaryEquipmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[1116]); } @@ -5247,7 +5247,7 @@ Ifc4::IfcUnitaryEquipmentTypeEnum::Value Ifc4::IfcUnitaryEquipmentTypeEnum::From } Ifc4::IfcUnitaryEquipmentTypeEnum::operator Ifc4::IfcUnitaryEquipmentTypeEnum::Value() const { - return (Ifc4::IfcUnitaryEquipmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcUnitaryEquipmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcValveTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[1124]); } @@ -5274,7 +5274,7 @@ Ifc4::IfcValveTypeEnum::Value Ifc4::IfcValveTypeEnum::FromString(const std::stri } Ifc4::IfcValveTypeEnum::operator Ifc4::IfcValveTypeEnum::Value() const { - return (Ifc4::IfcValveTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcValveTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcVibrationIsolatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[1133]); } @@ -5301,7 +5301,7 @@ Ifc4::IfcVibrationIsolatorTypeEnum::Value Ifc4::IfcVibrationIsolatorTypeEnum::Fr } Ifc4::IfcVibrationIsolatorTypeEnum::operator Ifc4::IfcVibrationIsolatorTypeEnum::Value() const { - return (Ifc4::IfcVibrationIsolatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcVibrationIsolatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcVoidingFeatureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[1137]); } @@ -5328,7 +5328,7 @@ Ifc4::IfcVoidingFeatureTypeEnum::Value Ifc4::IfcVoidingFeatureTypeEnum::FromStri } Ifc4::IfcVoidingFeatureTypeEnum::operator Ifc4::IfcVoidingFeatureTypeEnum::Value() const { - return (Ifc4::IfcVoidingFeatureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcVoidingFeatureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcWallTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[1144]); } @@ -5355,7 +5355,7 @@ Ifc4::IfcWallTypeEnum::Value Ifc4::IfcWallTypeEnum::FromString(const std::string } Ifc4::IfcWallTypeEnum::operator Ifc4::IfcWallTypeEnum::Value() const { - return (Ifc4::IfcWallTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcWallTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcWasteTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[1150]); } @@ -5382,7 +5382,7 @@ Ifc4::IfcWasteTerminalTypeEnum::Value Ifc4::IfcWasteTerminalTypeEnum::FromString } Ifc4::IfcWasteTerminalTypeEnum::operator Ifc4::IfcWasteTerminalTypeEnum::Value() const { - return (Ifc4::IfcWasteTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcWasteTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcWindowPanelOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[1153]); } @@ -5409,7 +5409,7 @@ Ifc4::IfcWindowPanelOperationEnum::Value Ifc4::IfcWindowPanelOperationEnum::From } Ifc4::IfcWindowPanelOperationEnum::operator Ifc4::IfcWindowPanelOperationEnum::Value() const { - return (Ifc4::IfcWindowPanelOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcWindowPanelOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcWindowPanelPositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[1154]); } @@ -5436,7 +5436,7 @@ Ifc4::IfcWindowPanelPositionEnum::Value Ifc4::IfcWindowPanelPositionEnum::FromSt } Ifc4::IfcWindowPanelPositionEnum::operator Ifc4::IfcWindowPanelPositionEnum::Value() const { - return (Ifc4::IfcWindowPanelPositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcWindowPanelPositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcWindowStyleConstructionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[1158]); } @@ -5463,7 +5463,7 @@ Ifc4::IfcWindowStyleConstructionEnum::Value Ifc4::IfcWindowStyleConstructionEnum } Ifc4::IfcWindowStyleConstructionEnum::operator Ifc4::IfcWindowStyleConstructionEnum::Value() const { - return (Ifc4::IfcWindowStyleConstructionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcWindowStyleConstructionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcWindowStyleOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[1159]); } @@ -5490,7 +5490,7 @@ Ifc4::IfcWindowStyleOperationEnum::Value Ifc4::IfcWindowStyleOperationEnum::From } Ifc4::IfcWindowStyleOperationEnum::operator Ifc4::IfcWindowStyleOperationEnum::Value() const { - return (Ifc4::IfcWindowStyleOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcWindowStyleOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcWindowTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[1161]); } @@ -5517,7 +5517,7 @@ Ifc4::IfcWindowTypeEnum::Value Ifc4::IfcWindowTypeEnum::FromString(const std::st } Ifc4::IfcWindowTypeEnum::operator Ifc4::IfcWindowTypeEnum::Value() const { - return (Ifc4::IfcWindowTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcWindowTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcWindowTypePartitioningEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[1162]); } @@ -5544,7 +5544,7 @@ Ifc4::IfcWindowTypePartitioningEnum::Value Ifc4::IfcWindowTypePartitioningEnum:: } Ifc4::IfcWindowTypePartitioningEnum::operator Ifc4::IfcWindowTypePartitioningEnum::Value() const { - return (Ifc4::IfcWindowTypePartitioningEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcWindowTypePartitioningEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcWorkCalendarTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[1164]); } @@ -5571,7 +5571,7 @@ Ifc4::IfcWorkCalendarTypeEnum::Value Ifc4::IfcWorkCalendarTypeEnum::FromString(c } Ifc4::IfcWorkCalendarTypeEnum::operator Ifc4::IfcWorkCalendarTypeEnum::Value() const { - return (Ifc4::IfcWorkCalendarTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcWorkCalendarTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcWorkPlanTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[1167]); } @@ -5598,7 +5598,7 @@ Ifc4::IfcWorkPlanTypeEnum::Value Ifc4::IfcWorkPlanTypeEnum::FromString(const std } Ifc4::IfcWorkPlanTypeEnum::operator Ifc4::IfcWorkPlanTypeEnum::Value() const { - return (Ifc4::IfcWorkPlanTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcWorkPlanTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4::IfcWorkScheduleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4_types[1169]); } @@ -5625,7 +5625,7 @@ Ifc4::IfcWorkScheduleTypeEnum::Value Ifc4::IfcWorkScheduleTypeEnum::FromString(c } Ifc4::IfcWorkScheduleTypeEnum::operator Ifc4::IfcWorkScheduleTypeEnum::Value() const { - return (Ifc4::IfcWorkScheduleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4::IfcWorkScheduleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::select_type& Ifc4::IfcActorSelect::Class() { return *((IfcParse::select_type*)IFC4_types[8]); } @@ -5754,928 +5754,928 @@ const IfcParse::type_declaration& Ifc4::IfcAbsorbedDoseMeasure::Class() { return const IfcParse::type_declaration& Ifc4::IfcAbsorbedDoseMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[0]); } Ifc4::IfcAbsorbedDoseMeasure::IfcAbsorbedDoseMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcAbsorbedDoseMeasure::IfcAbsorbedDoseMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcAbsorbedDoseMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcAbsorbedDoseMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAccelerationMeasure const IfcParse::type_declaration& Ifc4::IfcAccelerationMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[1]); } const IfcParse::type_declaration& Ifc4::IfcAccelerationMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[1]); } Ifc4::IfcAccelerationMeasure::IfcAccelerationMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcAccelerationMeasure::IfcAccelerationMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcAccelerationMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcAccelerationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAmountOfSubstanceMeasure const IfcParse::type_declaration& Ifc4::IfcAmountOfSubstanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[29]); } const IfcParse::type_declaration& Ifc4::IfcAmountOfSubstanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[29]); } Ifc4::IfcAmountOfSubstanceMeasure::IfcAmountOfSubstanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcAmountOfSubstanceMeasure::IfcAmountOfSubstanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcAmountOfSubstanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcAmountOfSubstanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAngularVelocityMeasure const IfcParse::type_declaration& Ifc4::IfcAngularVelocityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[32]); } const IfcParse::type_declaration& Ifc4::IfcAngularVelocityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[32]); } Ifc4::IfcAngularVelocityMeasure::IfcAngularVelocityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcAngularVelocityMeasure::IfcAngularVelocityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcAngularVelocityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcAngularVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcArcIndex const IfcParse::type_declaration& Ifc4::IfcArcIndex::Class() { return *((IfcParse::type_declaration*)IFC4_types[43]); } const IfcParse::type_declaration& Ifc4::IfcArcIndex::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[43]); } Ifc4::IfcArcIndex::IfcArcIndex(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcArcIndex::IfcArcIndex(std::vector< int > /*[3:3]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return data_.get_attribute_value(0); } +Ifc4::IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return get_attribute_value(0); } // Function implementations for IfcAreaDensityMeasure const IfcParse::type_declaration& Ifc4::IfcAreaDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[44]); } const IfcParse::type_declaration& Ifc4::IfcAreaDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[44]); } Ifc4::IfcAreaDensityMeasure::IfcAreaDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcAreaDensityMeasure::IfcAreaDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcAreaDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcAreaDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAreaMeasure const IfcParse::type_declaration& Ifc4::IfcAreaMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[45]); } const IfcParse::type_declaration& Ifc4::IfcAreaMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[45]); } Ifc4::IfcAreaMeasure::IfcAreaMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcAreaMeasure::IfcAreaMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcAreaMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcAreaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcBinary const IfcParse::type_declaration& Ifc4::IfcBinary::Class() { return *((IfcParse::type_declaration*)IFC4_types[63]); } const IfcParse::type_declaration& Ifc4::IfcBinary::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[63]); } Ifc4::IfcBinary::IfcBinary(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcBinary::IfcBinary(boost::dynamic_bitset<> v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcBinary::operator boost::dynamic_bitset<>() const { return data_.get_attribute_value(0); } +Ifc4::IfcBinary::operator boost::dynamic_bitset<>() const { return get_attribute_value(0); } // Function implementations for IfcBoolean const IfcParse::type_declaration& Ifc4::IfcBoolean::Class() { return *((IfcParse::type_declaration*)IFC4_types[69]); } const IfcParse::type_declaration& Ifc4::IfcBoolean::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[69]); } Ifc4::IfcBoolean::IfcBoolean(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcBoolean::IfcBoolean(bool v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcBoolean::operator bool() const { return data_.get_attribute_value(0); } +Ifc4::IfcBoolean::operator bool() const { return get_attribute_value(0); } // Function implementations for IfcBoxAlignment const IfcParse::type_declaration& Ifc4::IfcBoxAlignment::Class() { return *((IfcParse::type_declaration*)IFC4_types[83]); } const IfcParse::type_declaration& Ifc4::IfcBoxAlignment::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[83]); } Ifc4::IfcBoxAlignment::IfcBoxAlignment(IfcEntityInstanceData&& e) : IfcLabel(std::move(e)) { } Ifc4::IfcBoxAlignment::IfcBoxAlignment(std::string v) : IfcLabel(v) { } -Ifc4::IfcBoxAlignment::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4::IfcBoxAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcCardinalPointReference const IfcParse::type_declaration& Ifc4::IfcCardinalPointReference::Class() { return *((IfcParse::type_declaration*)IFC4_types[118]); } const IfcParse::type_declaration& Ifc4::IfcCardinalPointReference::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[118]); } Ifc4::IfcCardinalPointReference::IfcCardinalPointReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcCardinalPointReference::IfcCardinalPointReference(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcCardinalPointReference::operator int() const { return data_.get_attribute_value(0); } +Ifc4::IfcCardinalPointReference::operator int() const { return get_attribute_value(0); } // Function implementations for IfcComplexNumber const IfcParse::type_declaration& Ifc4::IfcComplexNumber::Class() { return *((IfcParse::type_declaration*)IFC4_types[161]); } const IfcParse::type_declaration& Ifc4::IfcComplexNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[161]); } Ifc4::IfcComplexNumber::IfcComplexNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcComplexNumber::IfcComplexNumber(std::vector< double > /*[1:2]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return data_.get_attribute_value(0); } +Ifc4::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return get_attribute_value(0); } // Function implementations for IfcCompoundPlaneAngleMeasure const IfcParse::type_declaration& Ifc4::IfcCompoundPlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[169]); } const IfcParse::type_declaration& Ifc4::IfcCompoundPlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[169]); } Ifc4::IfcCompoundPlaneAngleMeasure::IfcCompoundPlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcCompoundPlaneAngleMeasure::IfcCompoundPlaneAngleMeasure(std::vector< int > /*[3:4]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return data_.get_attribute_value(0); } +Ifc4::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return get_attribute_value(0); } // Function implementations for IfcContextDependentMeasure const IfcParse::type_declaration& Ifc4::IfcContextDependentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[199]); } const IfcParse::type_declaration& Ifc4::IfcContextDependentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[199]); } Ifc4::IfcContextDependentMeasure::IfcContextDependentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcContextDependentMeasure::IfcContextDependentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcContextDependentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcContextDependentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCountMeasure const IfcParse::type_declaration& Ifc4::IfcCountMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[221]); } const IfcParse::type_declaration& Ifc4::IfcCountMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[221]); } Ifc4::IfcCountMeasure::IfcCountMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcCountMeasure::IfcCountMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcCountMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcCountMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCurvatureMeasure const IfcParse::type_declaration& Ifc4::IfcCurvatureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[236]); } const IfcParse::type_declaration& Ifc4::IfcCurvatureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[236]); } Ifc4::IfcCurvatureMeasure::IfcCurvatureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcCurvatureMeasure::IfcCurvatureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcCurvatureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcCurvatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDate const IfcParse::type_declaration& Ifc4::IfcDate::Class() { return *((IfcParse::type_declaration*)IFC4_types[254]); } const IfcParse::type_declaration& Ifc4::IfcDate::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[254]); } Ifc4::IfcDate::IfcDate(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcDate::IfcDate(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcDate::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4::IfcDate::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDateTime const IfcParse::type_declaration& Ifc4::IfcDateTime::Class() { return *((IfcParse::type_declaration*)IFC4_types[255]); } const IfcParse::type_declaration& Ifc4::IfcDateTime::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[255]); } Ifc4::IfcDateTime::IfcDateTime(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcDateTime::IfcDateTime(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcDateTime::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4::IfcDateTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDayInMonthNumber const IfcParse::type_declaration& Ifc4::IfcDayInMonthNumber::Class() { return *((IfcParse::type_declaration*)IFC4_types[256]); } const IfcParse::type_declaration& Ifc4::IfcDayInMonthNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[256]); } Ifc4::IfcDayInMonthNumber::IfcDayInMonthNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcDayInMonthNumber::IfcDayInMonthNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcDayInMonthNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc4::IfcDayInMonthNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDayInWeekNumber const IfcParse::type_declaration& Ifc4::IfcDayInWeekNumber::Class() { return *((IfcParse::type_declaration*)IFC4_types[257]); } const IfcParse::type_declaration& Ifc4::IfcDayInWeekNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[257]); } Ifc4::IfcDayInWeekNumber::IfcDayInWeekNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcDayInWeekNumber::IfcDayInWeekNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcDayInWeekNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc4::IfcDayInWeekNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDescriptiveMeasure const IfcParse::type_declaration& Ifc4::IfcDescriptiveMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[264]); } const IfcParse::type_declaration& Ifc4::IfcDescriptiveMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[264]); } Ifc4::IfcDescriptiveMeasure::IfcDescriptiveMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcDescriptiveMeasure::IfcDescriptiveMeasure(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcDescriptiveMeasure::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4::IfcDescriptiveMeasure::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDimensionCount const IfcParse::type_declaration& Ifc4::IfcDimensionCount::Class() { return *((IfcParse::type_declaration*)IFC4_types[266]); } const IfcParse::type_declaration& Ifc4::IfcDimensionCount::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[266]); } Ifc4::IfcDimensionCount::IfcDimensionCount(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcDimensionCount::IfcDimensionCount(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcDimensionCount::operator int() const { return data_.get_attribute_value(0); } +Ifc4::IfcDimensionCount::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDoseEquivalentMeasure const IfcParse::type_declaration& Ifc4::IfcDoseEquivalentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[304]); } const IfcParse::type_declaration& Ifc4::IfcDoseEquivalentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[304]); } Ifc4::IfcDoseEquivalentMeasure::IfcDoseEquivalentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcDoseEquivalentMeasure::IfcDoseEquivalentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcDoseEquivalentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcDoseEquivalentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDuration const IfcParse::type_declaration& Ifc4::IfcDuration::Class() { return *((IfcParse::type_declaration*)IFC4_types[316]); } const IfcParse::type_declaration& Ifc4::IfcDuration::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[316]); } Ifc4::IfcDuration::IfcDuration(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcDuration::IfcDuration(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcDuration::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4::IfcDuration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDynamicViscosityMeasure const IfcParse::type_declaration& Ifc4::IfcDynamicViscosityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[317]); } const IfcParse::type_declaration& Ifc4::IfcDynamicViscosityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[317]); } Ifc4::IfcDynamicViscosityMeasure::IfcDynamicViscosityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcDynamicViscosityMeasure::IfcDynamicViscosityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcDynamicViscosityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcDynamicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCapacitanceMeasure const IfcParse::type_declaration& Ifc4::IfcElectricCapacitanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[324]); } const IfcParse::type_declaration& Ifc4::IfcElectricCapacitanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[324]); } Ifc4::IfcElectricCapacitanceMeasure::IfcElectricCapacitanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcElectricCapacitanceMeasure::IfcElectricCapacitanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcElectricCapacitanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcElectricCapacitanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricChargeMeasure const IfcParse::type_declaration& Ifc4::IfcElectricChargeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[325]); } const IfcParse::type_declaration& Ifc4::IfcElectricChargeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[325]); } Ifc4::IfcElectricChargeMeasure::IfcElectricChargeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcElectricChargeMeasure::IfcElectricChargeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcElectricChargeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcElectricChargeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricConductanceMeasure const IfcParse::type_declaration& Ifc4::IfcElectricConductanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[326]); } const IfcParse::type_declaration& Ifc4::IfcElectricConductanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[326]); } Ifc4::IfcElectricConductanceMeasure::IfcElectricConductanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcElectricConductanceMeasure::IfcElectricConductanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcElectricConductanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcElectricConductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCurrentMeasure const IfcParse::type_declaration& Ifc4::IfcElectricCurrentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[327]); } const IfcParse::type_declaration& Ifc4::IfcElectricCurrentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[327]); } Ifc4::IfcElectricCurrentMeasure::IfcElectricCurrentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcElectricCurrentMeasure::IfcElectricCurrentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcElectricCurrentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcElectricCurrentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricResistanceMeasure const IfcParse::type_declaration& Ifc4::IfcElectricResistanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[340]); } const IfcParse::type_declaration& Ifc4::IfcElectricResistanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[340]); } Ifc4::IfcElectricResistanceMeasure::IfcElectricResistanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcElectricResistanceMeasure::IfcElectricResistanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcElectricResistanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcElectricResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricVoltageMeasure const IfcParse::type_declaration& Ifc4::IfcElectricVoltageMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[344]); } const IfcParse::type_declaration& Ifc4::IfcElectricVoltageMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[344]); } Ifc4::IfcElectricVoltageMeasure::IfcElectricVoltageMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcElectricVoltageMeasure::IfcElectricVoltageMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcElectricVoltageMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcElectricVoltageMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcEnergyMeasure const IfcParse::type_declaration& Ifc4::IfcEnergyMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[359]); } const IfcParse::type_declaration& Ifc4::IfcEnergyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[359]); } Ifc4::IfcEnergyMeasure::IfcEnergyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcEnergyMeasure::IfcEnergyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcEnergyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcEnergyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFontStyle const IfcParse::type_declaration& Ifc4::IfcFontStyle::Class() { return *((IfcParse::type_declaration*)IFC4_types[435]); } const IfcParse::type_declaration& Ifc4::IfcFontStyle::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[435]); } Ifc4::IfcFontStyle::IfcFontStyle(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcFontStyle::IfcFontStyle(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcFontStyle::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4::IfcFontStyle::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontVariant const IfcParse::type_declaration& Ifc4::IfcFontVariant::Class() { return *((IfcParse::type_declaration*)IFC4_types[436]); } const IfcParse::type_declaration& Ifc4::IfcFontVariant::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[436]); } Ifc4::IfcFontVariant::IfcFontVariant(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcFontVariant::IfcFontVariant(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcFontVariant::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4::IfcFontVariant::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontWeight const IfcParse::type_declaration& Ifc4::IfcFontWeight::Class() { return *((IfcParse::type_declaration*)IFC4_types[437]); } const IfcParse::type_declaration& Ifc4::IfcFontWeight::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[437]); } Ifc4::IfcFontWeight::IfcFontWeight(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcFontWeight::IfcFontWeight(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcFontWeight::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4::IfcFontWeight::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcForceMeasure const IfcParse::type_declaration& Ifc4::IfcForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[441]); } const IfcParse::type_declaration& Ifc4::IfcForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[441]); } Ifc4::IfcForceMeasure::IfcForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcForceMeasure::IfcForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFrequencyMeasure const IfcParse::type_declaration& Ifc4::IfcFrequencyMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[442]); } const IfcParse::type_declaration& Ifc4::IfcFrequencyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[442]); } Ifc4::IfcFrequencyMeasure::IfcFrequencyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcFrequencyMeasure::IfcFrequencyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcFrequencyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcGloballyUniqueId const IfcParse::type_declaration& Ifc4::IfcGloballyUniqueId::Class() { return *((IfcParse::type_declaration*)IFC4_types[458]); } const IfcParse::type_declaration& Ifc4::IfcGloballyUniqueId::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[458]); } Ifc4::IfcGloballyUniqueId::IfcGloballyUniqueId(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcGloballyUniqueId::IfcGloballyUniqueId(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcGloballyUniqueId::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4::IfcGloballyUniqueId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcHeatFluxDensityMeasure const IfcParse::type_declaration& Ifc4::IfcHeatFluxDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[471]); } const IfcParse::type_declaration& Ifc4::IfcHeatFluxDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[471]); } Ifc4::IfcHeatFluxDensityMeasure::IfcHeatFluxDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcHeatFluxDensityMeasure::IfcHeatFluxDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcHeatFluxDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcHeatFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcHeatingValueMeasure const IfcParse::type_declaration& Ifc4::IfcHeatingValueMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[472]); } const IfcParse::type_declaration& Ifc4::IfcHeatingValueMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[472]); } Ifc4::IfcHeatingValueMeasure::IfcHeatingValueMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcHeatingValueMeasure::IfcHeatingValueMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcHeatingValueMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcHeatingValueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIdentifier const IfcParse::type_declaration& Ifc4::IfcIdentifier::Class() { return *((IfcParse::type_declaration*)IFC4_types[476]); } const IfcParse::type_declaration& Ifc4::IfcIdentifier::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[476]); } Ifc4::IfcIdentifier::IfcIdentifier(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcIdentifier::IfcIdentifier(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcIdentifier::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4::IfcIdentifier::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcIlluminanceMeasure const IfcParse::type_declaration& Ifc4::IfcIlluminanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[477]); } const IfcParse::type_declaration& Ifc4::IfcIlluminanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[477]); } Ifc4::IfcIlluminanceMeasure::IfcIlluminanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcIlluminanceMeasure::IfcIlluminanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcIlluminanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcIlluminanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInductanceMeasure const IfcParse::type_declaration& Ifc4::IfcInductanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[485]); } const IfcParse::type_declaration& Ifc4::IfcInductanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[485]); } Ifc4::IfcInductanceMeasure::IfcInductanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcInductanceMeasure::IfcInductanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcInductanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcInductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInteger const IfcParse::type_declaration& Ifc4::IfcInteger::Class() { return *((IfcParse::type_declaration*)IFC4_types[486]); } const IfcParse::type_declaration& Ifc4::IfcInteger::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[486]); } Ifc4::IfcInteger::IfcInteger(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcInteger::IfcInteger(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcInteger::operator int() const { return data_.get_attribute_value(0); } +Ifc4::IfcInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIntegerCountRateMeasure const IfcParse::type_declaration& Ifc4::IfcIntegerCountRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[487]); } const IfcParse::type_declaration& Ifc4::IfcIntegerCountRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[487]); } Ifc4::IfcIntegerCountRateMeasure::IfcIntegerCountRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcIntegerCountRateMeasure::IfcIntegerCountRateMeasure(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcIntegerCountRateMeasure::operator int() const { return data_.get_attribute_value(0); } +Ifc4::IfcIntegerCountRateMeasure::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIonConcentrationMeasure const IfcParse::type_declaration& Ifc4::IfcIonConcentrationMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[495]); } const IfcParse::type_declaration& Ifc4::IfcIonConcentrationMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[495]); } Ifc4::IfcIonConcentrationMeasure::IfcIonConcentrationMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcIonConcentrationMeasure::IfcIonConcentrationMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcIonConcentrationMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcIonConcentrationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIsothermalMoistureCapacityMeasure const IfcParse::type_declaration& Ifc4::IfcIsothermalMoistureCapacityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[499]); } const IfcParse::type_declaration& Ifc4::IfcIsothermalMoistureCapacityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[499]); } Ifc4::IfcIsothermalMoistureCapacityMeasure::IfcIsothermalMoistureCapacityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcIsothermalMoistureCapacityMeasure::IfcIsothermalMoistureCapacityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcIsothermalMoistureCapacityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcIsothermalMoistureCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcKinematicViscosityMeasure const IfcParse::type_declaration& Ifc4::IfcKinematicViscosityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[503]); } const IfcParse::type_declaration& Ifc4::IfcKinematicViscosityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[503]); } Ifc4::IfcKinematicViscosityMeasure::IfcKinematicViscosityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcKinematicViscosityMeasure::IfcKinematicViscosityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcKinematicViscosityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcKinematicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLabel const IfcParse::type_declaration& Ifc4::IfcLabel::Class() { return *((IfcParse::type_declaration*)IFC4_types[505]); } const IfcParse::type_declaration& Ifc4::IfcLabel::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[505]); } Ifc4::IfcLabel::IfcLabel(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcLabel::IfcLabel(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcLabel::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4::IfcLabel::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLanguageId const IfcParse::type_declaration& Ifc4::IfcLanguageId::Class() { return *((IfcParse::type_declaration*)IFC4_types[513]); } const IfcParse::type_declaration& Ifc4::IfcLanguageId::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[513]); } Ifc4::IfcLanguageId::IfcLanguageId(IfcEntityInstanceData&& e) : IfcIdentifier(std::move(e)) { } Ifc4::IfcLanguageId::IfcLanguageId(std::string v) : IfcIdentifier(v) { } -Ifc4::IfcLanguageId::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4::IfcLanguageId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLengthMeasure const IfcParse::type_declaration& Ifc4::IfcLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[516]); } const IfcParse::type_declaration& Ifc4::IfcLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[516]); } Ifc4::IfcLengthMeasure::IfcLengthMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcLengthMeasure::IfcLengthMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLineIndex const IfcParse::type_declaration& Ifc4::IfcLineIndex::Class() { return *((IfcParse::type_declaration*)IFC4_types[539]); } const IfcParse::type_declaration& Ifc4::IfcLineIndex::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[539]); } Ifc4::IfcLineIndex::IfcLineIndex(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcLineIndex::IfcLineIndex(std::vector< int > /*[2:?]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return data_.get_attribute_value(0); } +Ifc4::IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return get_attribute_value(0); } // Function implementations for IfcLinearForceMeasure const IfcParse::type_declaration& Ifc4::IfcLinearForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[535]); } const IfcParse::type_declaration& Ifc4::IfcLinearForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[535]); } Ifc4::IfcLinearForceMeasure::IfcLinearForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcLinearForceMeasure::IfcLinearForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcLinearForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcLinearForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearMomentMeasure const IfcParse::type_declaration& Ifc4::IfcLinearMomentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[536]); } const IfcParse::type_declaration& Ifc4::IfcLinearMomentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[536]); } Ifc4::IfcLinearMomentMeasure::IfcLinearMomentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcLinearMomentMeasure::IfcLinearMomentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcLinearMomentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcLinearMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearStiffnessMeasure const IfcParse::type_declaration& Ifc4::IfcLinearStiffnessMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[537]); } const IfcParse::type_declaration& Ifc4::IfcLinearStiffnessMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[537]); } Ifc4::IfcLinearStiffnessMeasure::IfcLinearStiffnessMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcLinearStiffnessMeasure::IfcLinearStiffnessMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcLinearStiffnessMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcLinearStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearVelocityMeasure const IfcParse::type_declaration& Ifc4::IfcLinearVelocityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[538]); } const IfcParse::type_declaration& Ifc4::IfcLinearVelocityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[538]); } Ifc4::IfcLinearVelocityMeasure::IfcLinearVelocityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcLinearVelocityMeasure::IfcLinearVelocityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcLinearVelocityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcLinearVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLogical const IfcParse::type_declaration& Ifc4::IfcLogical::Class() { return *((IfcParse::type_declaration*)IFC4_types[542]); } const IfcParse::type_declaration& Ifc4::IfcLogical::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[542]); } Ifc4::IfcLogical::IfcLogical(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcLogical::IfcLogical(boost::logic::tribool v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcLogical::operator boost::logic::tribool() const { return data_.get_attribute_value(0); } +Ifc4::IfcLogical::operator boost::logic::tribool() const { return get_attribute_value(0); } // Function implementations for IfcLuminousFluxMeasure const IfcParse::type_declaration& Ifc4::IfcLuminousFluxMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[546]); } const IfcParse::type_declaration& Ifc4::IfcLuminousFluxMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[546]); } Ifc4::IfcLuminousFluxMeasure::IfcLuminousFluxMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcLuminousFluxMeasure::IfcLuminousFluxMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcLuminousFluxMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcLuminousFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityDistributionMeasure const IfcParse::type_declaration& Ifc4::IfcLuminousIntensityDistributionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[547]); } const IfcParse::type_declaration& Ifc4::IfcLuminousIntensityDistributionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[547]); } Ifc4::IfcLuminousIntensityDistributionMeasure::IfcLuminousIntensityDistributionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcLuminousIntensityDistributionMeasure::IfcLuminousIntensityDistributionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcLuminousIntensityDistributionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcLuminousIntensityDistributionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityMeasure const IfcParse::type_declaration& Ifc4::IfcLuminousIntensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[548]); } const IfcParse::type_declaration& Ifc4::IfcLuminousIntensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[548]); } Ifc4::IfcLuminousIntensityMeasure::IfcLuminousIntensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcLuminousIntensityMeasure::IfcLuminousIntensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcLuminousIntensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcLuminousIntensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxDensityMeasure const IfcParse::type_declaration& Ifc4::IfcMagneticFluxDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[549]); } const IfcParse::type_declaration& Ifc4::IfcMagneticFluxDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[549]); } Ifc4::IfcMagneticFluxDensityMeasure::IfcMagneticFluxDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcMagneticFluxDensityMeasure::IfcMagneticFluxDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcMagneticFluxDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcMagneticFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxMeasure const IfcParse::type_declaration& Ifc4::IfcMagneticFluxMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[550]); } const IfcParse::type_declaration& Ifc4::IfcMagneticFluxMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[550]); } Ifc4::IfcMagneticFluxMeasure::IfcMagneticFluxMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcMagneticFluxMeasure::IfcMagneticFluxMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcMagneticFluxMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcMagneticFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassDensityMeasure const IfcParse::type_declaration& Ifc4::IfcMassDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[554]); } const IfcParse::type_declaration& Ifc4::IfcMassDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[554]); } Ifc4::IfcMassDensityMeasure::IfcMassDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcMassDensityMeasure::IfcMassDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcMassDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcMassDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassFlowRateMeasure const IfcParse::type_declaration& Ifc4::IfcMassFlowRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[555]); } const IfcParse::type_declaration& Ifc4::IfcMassFlowRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[555]); } Ifc4::IfcMassFlowRateMeasure::IfcMassFlowRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcMassFlowRateMeasure::IfcMassFlowRateMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcMassFlowRateMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcMassFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassMeasure const IfcParse::type_declaration& Ifc4::IfcMassMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[556]); } const IfcParse::type_declaration& Ifc4::IfcMassMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[556]); } Ifc4::IfcMassMeasure::IfcMassMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcMassMeasure::IfcMassMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcMassMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassPerLengthMeasure const IfcParse::type_declaration& Ifc4::IfcMassPerLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[557]); } const IfcParse::type_declaration& Ifc4::IfcMassPerLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[557]); } Ifc4::IfcMassPerLengthMeasure::IfcMassPerLengthMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcMassPerLengthMeasure::IfcMassPerLengthMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcMassPerLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcMassPerLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfElasticityMeasure const IfcParse::type_declaration& Ifc4::IfcModulusOfElasticityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[593]); } const IfcParse::type_declaration& Ifc4::IfcModulusOfElasticityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[593]); } Ifc4::IfcModulusOfElasticityMeasure::IfcModulusOfElasticityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcModulusOfElasticityMeasure::IfcModulusOfElasticityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcModulusOfElasticityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcModulusOfElasticityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfLinearSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4::IfcModulusOfLinearSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[594]); } const IfcParse::type_declaration& Ifc4::IfcModulusOfLinearSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[594]); } Ifc4::IfcModulusOfLinearSubgradeReactionMeasure::IfcModulusOfLinearSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcModulusOfLinearSubgradeReactionMeasure::IfcModulusOfLinearSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfRotationalSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4::IfcModulusOfRotationalSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[595]); } const IfcParse::type_declaration& Ifc4::IfcModulusOfRotationalSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[595]); } Ifc4::IfcModulusOfRotationalSubgradeReactionMeasure::IfcModulusOfRotationalSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcModulusOfRotationalSubgradeReactionMeasure::IfcModulusOfRotationalSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4::IfcModulusOfSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[597]); } const IfcParse::type_declaration& Ifc4::IfcModulusOfSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[597]); } Ifc4::IfcModulusOfSubgradeReactionMeasure::IfcModulusOfSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcModulusOfSubgradeReactionMeasure::IfcModulusOfSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcModulusOfSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcModulusOfSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMoistureDiffusivityMeasure const IfcParse::type_declaration& Ifc4::IfcMoistureDiffusivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[600]); } const IfcParse::type_declaration& Ifc4::IfcMoistureDiffusivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[600]); } Ifc4::IfcMoistureDiffusivityMeasure::IfcMoistureDiffusivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcMoistureDiffusivityMeasure::IfcMoistureDiffusivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcMoistureDiffusivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcMoistureDiffusivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMolecularWeightMeasure const IfcParse::type_declaration& Ifc4::IfcMolecularWeightMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[601]); } const IfcParse::type_declaration& Ifc4::IfcMolecularWeightMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[601]); } Ifc4::IfcMolecularWeightMeasure::IfcMolecularWeightMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcMolecularWeightMeasure::IfcMolecularWeightMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcMolecularWeightMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcMolecularWeightMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMomentOfInertiaMeasure const IfcParse::type_declaration& Ifc4::IfcMomentOfInertiaMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[602]); } const IfcParse::type_declaration& Ifc4::IfcMomentOfInertiaMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[602]); } Ifc4::IfcMomentOfInertiaMeasure::IfcMomentOfInertiaMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcMomentOfInertiaMeasure::IfcMomentOfInertiaMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcMomentOfInertiaMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcMomentOfInertiaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonetaryMeasure const IfcParse::type_declaration& Ifc4::IfcMonetaryMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[603]); } const IfcParse::type_declaration& Ifc4::IfcMonetaryMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[603]); } Ifc4::IfcMonetaryMeasure::IfcMonetaryMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcMonetaryMeasure::IfcMonetaryMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcMonetaryMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcMonetaryMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonthInYearNumber const IfcParse::type_declaration& Ifc4::IfcMonthInYearNumber::Class() { return *((IfcParse::type_declaration*)IFC4_types[605]); } const IfcParse::type_declaration& Ifc4::IfcMonthInYearNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[605]); } Ifc4::IfcMonthInYearNumber::IfcMonthInYearNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcMonthInYearNumber::IfcMonthInYearNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcMonthInYearNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc4::IfcMonthInYearNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcNonNegativeLengthMeasure const IfcParse::type_declaration& Ifc4::IfcNonNegativeLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[610]); } const IfcParse::type_declaration& Ifc4::IfcNonNegativeLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[610]); } Ifc4::IfcNonNegativeLengthMeasure::IfcNonNegativeLengthMeasure(IfcEntityInstanceData&& e) : IfcLengthMeasure(std::move(e)) { } Ifc4::IfcNonNegativeLengthMeasure::IfcNonNegativeLengthMeasure(double v) : IfcLengthMeasure(v) { } -Ifc4::IfcNonNegativeLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcNonNegativeLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNormalisedRatioMeasure const IfcParse::type_declaration& Ifc4::IfcNormalisedRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[611]); } const IfcParse::type_declaration& Ifc4::IfcNormalisedRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[611]); } Ifc4::IfcNormalisedRatioMeasure::IfcNormalisedRatioMeasure(IfcEntityInstanceData&& e) : IfcRatioMeasure(std::move(e)) { } Ifc4::IfcNormalisedRatioMeasure::IfcNormalisedRatioMeasure(double v) : IfcRatioMeasure(v) { } -Ifc4::IfcNormalisedRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcNormalisedRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNumericMeasure const IfcParse::type_declaration& Ifc4::IfcNumericMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[613]); } const IfcParse::type_declaration& Ifc4::IfcNumericMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[613]); } Ifc4::IfcNumericMeasure::IfcNumericMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcNumericMeasure::IfcNumericMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcNumericMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcNumericMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPHMeasure const IfcParse::type_declaration& Ifc4::IfcPHMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[649]); } const IfcParse::type_declaration& Ifc4::IfcPHMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[649]); } Ifc4::IfcPHMeasure::IfcPHMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcPHMeasure::IfcPHMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcPHMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcPHMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcParameterValue const IfcParse::type_declaration& Ifc4::IfcParameterValue::Class() { return *((IfcParse::type_declaration*)IFC4_types[638]); } const IfcParse::type_declaration& Ifc4::IfcParameterValue::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[638]); } Ifc4::IfcParameterValue::IfcParameterValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcParameterValue::IfcParameterValue(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcParameterValue::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcParameterValue::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlanarForceMeasure const IfcParse::type_declaration& Ifc4::IfcPlanarForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[668]); } const IfcParse::type_declaration& Ifc4::IfcPlanarForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[668]); } Ifc4::IfcPlanarForceMeasure::IfcPlanarForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcPlanarForceMeasure::IfcPlanarForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcPlanarForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcPlanarForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlaneAngleMeasure const IfcParse::type_declaration& Ifc4::IfcPlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[670]); } const IfcParse::type_declaration& Ifc4::IfcPlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[670]); } Ifc4::IfcPlaneAngleMeasure::IfcPlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcPlaneAngleMeasure::IfcPlaneAngleMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcPlaneAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcPlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveInteger const IfcParse::type_declaration& Ifc4::IfcPositiveInteger::Class() { return *((IfcParse::type_declaration*)IFC4_types[684]); } const IfcParse::type_declaration& Ifc4::IfcPositiveInteger::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[684]); } Ifc4::IfcPositiveInteger::IfcPositiveInteger(IfcEntityInstanceData&& e) : IfcInteger(std::move(e)) { } Ifc4::IfcPositiveInteger::IfcPositiveInteger(int v) : IfcInteger(v) { } -Ifc4::IfcPositiveInteger::operator int() const { return data_.get_attribute_value(0); } +Ifc4::IfcPositiveInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcPositiveLengthMeasure const IfcParse::type_declaration& Ifc4::IfcPositiveLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[685]); } const IfcParse::type_declaration& Ifc4::IfcPositiveLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[685]); } Ifc4::IfcPositiveLengthMeasure::IfcPositiveLengthMeasure(IfcEntityInstanceData&& e) : IfcLengthMeasure(std::move(e)) { } Ifc4::IfcPositiveLengthMeasure::IfcPositiveLengthMeasure(double v) : IfcLengthMeasure(v) { } -Ifc4::IfcPositiveLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcPositiveLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositivePlaneAngleMeasure const IfcParse::type_declaration& Ifc4::IfcPositivePlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[686]); } const IfcParse::type_declaration& Ifc4::IfcPositivePlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[686]); } Ifc4::IfcPositivePlaneAngleMeasure::IfcPositivePlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcPlaneAngleMeasure(std::move(e)) { } Ifc4::IfcPositivePlaneAngleMeasure::IfcPositivePlaneAngleMeasure(double v) : IfcPlaneAngleMeasure(v) { } -Ifc4::IfcPositivePlaneAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcPositivePlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveRatioMeasure const IfcParse::type_declaration& Ifc4::IfcPositiveRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[687]); } const IfcParse::type_declaration& Ifc4::IfcPositiveRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[687]); } Ifc4::IfcPositiveRatioMeasure::IfcPositiveRatioMeasure(IfcEntityInstanceData&& e) : IfcRatioMeasure(std::move(e)) { } Ifc4::IfcPositiveRatioMeasure::IfcPositiveRatioMeasure(double v) : IfcRatioMeasure(v) { } -Ifc4::IfcPositiveRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcPositiveRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPowerMeasure const IfcParse::type_declaration& Ifc4::IfcPowerMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[689]); } const IfcParse::type_declaration& Ifc4::IfcPowerMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[689]); } Ifc4::IfcPowerMeasure::IfcPowerMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcPowerMeasure::IfcPowerMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcPowerMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPresentableText const IfcParse::type_declaration& Ifc4::IfcPresentableText::Class() { return *((IfcParse::type_declaration*)IFC4_types[697]); } const IfcParse::type_declaration& Ifc4::IfcPresentableText::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[697]); } Ifc4::IfcPresentableText::IfcPresentableText(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcPresentableText::IfcPresentableText(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcPresentableText::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4::IfcPresentableText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcPressureMeasure const IfcParse::type_declaration& Ifc4::IfcPressureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[704]); } const IfcParse::type_declaration& Ifc4::IfcPressureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[704]); } Ifc4::IfcPressureMeasure::IfcPressureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcPressureMeasure::IfcPressureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcPressureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPropertySetDefinitionSet const IfcParse::type_declaration& Ifc4::IfcPropertySetDefinitionSet::Class() { return *((IfcParse::type_declaration*)IFC4_types[738]); } const IfcParse::type_declaration& Ifc4::IfcPropertySetDefinitionSet::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[738]); } Ifc4::IfcPropertySetDefinitionSet::IfcPropertySetDefinitionSet(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcPropertySetDefinitionSet::IfcPropertySetDefinitionSet(aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v->generalize()); } -Ifc4::IfcPropertySetDefinitionSet::operator aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4::IfcPropertySetDefinition >(); } +Ifc4::IfcPropertySetDefinitionSet::operator aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4::IfcPropertySetDefinition >(); } // Function implementations for IfcRadioActivityMeasure const IfcParse::type_declaration& Ifc4::IfcRadioActivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[762]); } const IfcParse::type_declaration& Ifc4::IfcRadioActivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[762]); } Ifc4::IfcRadioActivityMeasure::IfcRadioActivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcRadioActivityMeasure::IfcRadioActivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcRadioActivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcRadioActivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRatioMeasure const IfcParse::type_declaration& Ifc4::IfcRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[772]); } const IfcParse::type_declaration& Ifc4::IfcRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[772]); } Ifc4::IfcRatioMeasure::IfcRatioMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcRatioMeasure::IfcRatioMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcReal const IfcParse::type_declaration& Ifc4::IfcReal::Class() { return *((IfcParse::type_declaration*)IFC4_types[775]); } const IfcParse::type_declaration& Ifc4::IfcReal::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[775]); } Ifc4::IfcReal::IfcReal(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcReal::IfcReal(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcReal::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcReal::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalFrequencyMeasure const IfcParse::type_declaration& Ifc4::IfcRotationalFrequencyMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[866]); } const IfcParse::type_declaration& Ifc4::IfcRotationalFrequencyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[866]); } Ifc4::IfcRotationalFrequencyMeasure::IfcRotationalFrequencyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcRotationalFrequencyMeasure::IfcRotationalFrequencyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcRotationalFrequencyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcRotationalFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalMassMeasure const IfcParse::type_declaration& Ifc4::IfcRotationalMassMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[867]); } const IfcParse::type_declaration& Ifc4::IfcRotationalMassMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[867]); } Ifc4::IfcRotationalMassMeasure::IfcRotationalMassMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcRotationalMassMeasure::IfcRotationalMassMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcRotationalMassMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcRotationalMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalStiffnessMeasure const IfcParse::type_declaration& Ifc4::IfcRotationalStiffnessMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[868]); } const IfcParse::type_declaration& Ifc4::IfcRotationalStiffnessMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[868]); } Ifc4::IfcRotationalStiffnessMeasure::IfcRotationalStiffnessMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcRotationalStiffnessMeasure::IfcRotationalStiffnessMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcRotationalStiffnessMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcRotationalStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionModulusMeasure const IfcParse::type_declaration& Ifc4::IfcSectionModulusMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[878]); } const IfcParse::type_declaration& Ifc4::IfcSectionModulusMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[878]); } Ifc4::IfcSectionModulusMeasure::IfcSectionModulusMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcSectionModulusMeasure::IfcSectionModulusMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcSectionModulusMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcSectionModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionalAreaIntegralMeasure const IfcParse::type_declaration& Ifc4::IfcSectionalAreaIntegralMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[876]); } const IfcParse::type_declaration& Ifc4::IfcSectionalAreaIntegralMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[876]); } Ifc4::IfcSectionalAreaIntegralMeasure::IfcSectionalAreaIntegralMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcSectionalAreaIntegralMeasure::IfcSectionalAreaIntegralMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcSectionalAreaIntegralMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcSectionalAreaIntegralMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcShearModulusMeasure const IfcParse::type_declaration& Ifc4::IfcShearModulusMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[893]); } const IfcParse::type_declaration& Ifc4::IfcShearModulusMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[893]); } Ifc4::IfcShearModulusMeasure::IfcShearModulusMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcShearModulusMeasure::IfcShearModulusMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcShearModulusMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcShearModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSolidAngleMeasure const IfcParse::type_declaration& Ifc4::IfcSolidAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[914]); } const IfcParse::type_declaration& Ifc4::IfcSolidAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[914]); } Ifc4::IfcSolidAngleMeasure::IfcSolidAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcSolidAngleMeasure::IfcSolidAngleMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcSolidAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcSolidAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerLevelMeasure const IfcParse::type_declaration& Ifc4::IfcSoundPowerLevelMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[917]); } const IfcParse::type_declaration& Ifc4::IfcSoundPowerLevelMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[917]); } Ifc4::IfcSoundPowerLevelMeasure::IfcSoundPowerLevelMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcSoundPowerLevelMeasure::IfcSoundPowerLevelMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcSoundPowerLevelMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcSoundPowerLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerMeasure const IfcParse::type_declaration& Ifc4::IfcSoundPowerMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[918]); } const IfcParse::type_declaration& Ifc4::IfcSoundPowerMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[918]); } Ifc4::IfcSoundPowerMeasure::IfcSoundPowerMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcSoundPowerMeasure::IfcSoundPowerMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcSoundPowerMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcSoundPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureLevelMeasure const IfcParse::type_declaration& Ifc4::IfcSoundPressureLevelMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[919]); } const IfcParse::type_declaration& Ifc4::IfcSoundPressureLevelMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[919]); } Ifc4::IfcSoundPressureLevelMeasure::IfcSoundPressureLevelMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcSoundPressureLevelMeasure::IfcSoundPressureLevelMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcSoundPressureLevelMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcSoundPressureLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureMeasure const IfcParse::type_declaration& Ifc4::IfcSoundPressureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[920]); } const IfcParse::type_declaration& Ifc4::IfcSoundPressureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[920]); } Ifc4::IfcSoundPressureMeasure::IfcSoundPressureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcSoundPressureMeasure::IfcSoundPressureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcSoundPressureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcSoundPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecificHeatCapacityMeasure const IfcParse::type_declaration& Ifc4::IfcSpecificHeatCapacityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[935]); } const IfcParse::type_declaration& Ifc4::IfcSpecificHeatCapacityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[935]); } Ifc4::IfcSpecificHeatCapacityMeasure::IfcSpecificHeatCapacityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcSpecificHeatCapacityMeasure::IfcSpecificHeatCapacityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcSpecificHeatCapacityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcSpecificHeatCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularExponent const IfcParse::type_declaration& Ifc4::IfcSpecularExponent::Class() { return *((IfcParse::type_declaration*)IFC4_types[936]); } const IfcParse::type_declaration& Ifc4::IfcSpecularExponent::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[936]); } Ifc4::IfcSpecularExponent::IfcSpecularExponent(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcSpecularExponent::IfcSpecularExponent(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcSpecularExponent::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcSpecularExponent::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularRoughness const IfcParse::type_declaration& Ifc4::IfcSpecularRoughness::Class() { return *((IfcParse::type_declaration*)IFC4_types[938]); } const IfcParse::type_declaration& Ifc4::IfcSpecularRoughness::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[938]); } Ifc4::IfcSpecularRoughness::IfcSpecularRoughness(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcSpecularRoughness::IfcSpecularRoughness(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcSpecularRoughness::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcSpecularRoughness::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureGradientMeasure const IfcParse::type_declaration& Ifc4::IfcTemperatureGradientMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[1043]); } const IfcParse::type_declaration& Ifc4::IfcTemperatureGradientMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[1043]); } Ifc4::IfcTemperatureGradientMeasure::IfcTemperatureGradientMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcTemperatureGradientMeasure::IfcTemperatureGradientMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcTemperatureGradientMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcTemperatureGradientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureRateOfChangeMeasure const IfcParse::type_declaration& Ifc4::IfcTemperatureRateOfChangeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[1044]); } const IfcParse::type_declaration& Ifc4::IfcTemperatureRateOfChangeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[1044]); } Ifc4::IfcTemperatureRateOfChangeMeasure::IfcTemperatureRateOfChangeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcTemperatureRateOfChangeMeasure::IfcTemperatureRateOfChangeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcTemperatureRateOfChangeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcTemperatureRateOfChangeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcText const IfcParse::type_declaration& Ifc4::IfcText::Class() { return *((IfcParse::type_declaration*)IFC4_types[1053]); } const IfcParse::type_declaration& Ifc4::IfcText::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[1053]); } Ifc4::IfcText::IfcText(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcText::IfcText(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcText::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4::IfcText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextAlignment const IfcParse::type_declaration& Ifc4::IfcTextAlignment::Class() { return *((IfcParse::type_declaration*)IFC4_types[1054]); } const IfcParse::type_declaration& Ifc4::IfcTextAlignment::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[1054]); } Ifc4::IfcTextAlignment::IfcTextAlignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcTextAlignment::IfcTextAlignment(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcTextAlignment::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4::IfcTextAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextDecoration const IfcParse::type_declaration& Ifc4::IfcTextDecoration::Class() { return *((IfcParse::type_declaration*)IFC4_types[1055]); } const IfcParse::type_declaration& Ifc4::IfcTextDecoration::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[1055]); } Ifc4::IfcTextDecoration::IfcTextDecoration(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcTextDecoration::IfcTextDecoration(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcTextDecoration::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4::IfcTextDecoration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextFontName const IfcParse::type_declaration& Ifc4::IfcTextFontName::Class() { return *((IfcParse::type_declaration*)IFC4_types[1056]); } const IfcParse::type_declaration& Ifc4::IfcTextFontName::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[1056]); } Ifc4::IfcTextFontName::IfcTextFontName(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcTextFontName::IfcTextFontName(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcTextFontName::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4::IfcTextFontName::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextTransformation const IfcParse::type_declaration& Ifc4::IfcTextTransformation::Class() { return *((IfcParse::type_declaration*)IFC4_types[1065]); } const IfcParse::type_declaration& Ifc4::IfcTextTransformation::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[1065]); } Ifc4::IfcTextTransformation::IfcTextTransformation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcTextTransformation::IfcTextTransformation(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcTextTransformation::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4::IfcTextTransformation::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcThermalAdmittanceMeasure const IfcParse::type_declaration& Ifc4::IfcThermalAdmittanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[1071]); } const IfcParse::type_declaration& Ifc4::IfcThermalAdmittanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[1071]); } Ifc4::IfcThermalAdmittanceMeasure::IfcThermalAdmittanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcThermalAdmittanceMeasure::IfcThermalAdmittanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcThermalAdmittanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcThermalAdmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalConductivityMeasure const IfcParse::type_declaration& Ifc4::IfcThermalConductivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[1072]); } const IfcParse::type_declaration& Ifc4::IfcThermalConductivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[1072]); } Ifc4::IfcThermalConductivityMeasure::IfcThermalConductivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcThermalConductivityMeasure::IfcThermalConductivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcThermalConductivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcThermalConductivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalExpansionCoefficientMeasure const IfcParse::type_declaration& Ifc4::IfcThermalExpansionCoefficientMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[1073]); } const IfcParse::type_declaration& Ifc4::IfcThermalExpansionCoefficientMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[1073]); } Ifc4::IfcThermalExpansionCoefficientMeasure::IfcThermalExpansionCoefficientMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcThermalExpansionCoefficientMeasure::IfcThermalExpansionCoefficientMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcThermalExpansionCoefficientMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcThermalExpansionCoefficientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalResistanceMeasure const IfcParse::type_declaration& Ifc4::IfcThermalResistanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[1074]); } const IfcParse::type_declaration& Ifc4::IfcThermalResistanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[1074]); } Ifc4::IfcThermalResistanceMeasure::IfcThermalResistanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcThermalResistanceMeasure::IfcThermalResistanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcThermalResistanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcThermalResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalTransmittanceMeasure const IfcParse::type_declaration& Ifc4::IfcThermalTransmittanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[1075]); } const IfcParse::type_declaration& Ifc4::IfcThermalTransmittanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[1075]); } Ifc4::IfcThermalTransmittanceMeasure::IfcThermalTransmittanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcThermalTransmittanceMeasure::IfcThermalTransmittanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcThermalTransmittanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcThermalTransmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermodynamicTemperatureMeasure const IfcParse::type_declaration& Ifc4::IfcThermodynamicTemperatureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[1076]); } const IfcParse::type_declaration& Ifc4::IfcThermodynamicTemperatureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[1076]); } Ifc4::IfcThermodynamicTemperatureMeasure::IfcThermodynamicTemperatureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcThermodynamicTemperatureMeasure::IfcThermodynamicTemperatureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcThermodynamicTemperatureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcThermodynamicTemperatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTime const IfcParse::type_declaration& Ifc4::IfcTime::Class() { return *((IfcParse::type_declaration*)IFC4_types[1077]); } const IfcParse::type_declaration& Ifc4::IfcTime::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[1077]); } Ifc4::IfcTime::IfcTime(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcTime::IfcTime(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcTime::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4::IfcTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTimeMeasure const IfcParse::type_declaration& Ifc4::IfcTimeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[1078]); } const IfcParse::type_declaration& Ifc4::IfcTimeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[1078]); } Ifc4::IfcTimeMeasure::IfcTimeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcTimeMeasure::IfcTimeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcTimeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcTimeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTimeStamp const IfcParse::type_declaration& Ifc4::IfcTimeStamp::Class() { return *((IfcParse::type_declaration*)IFC4_types[1084]); } const IfcParse::type_declaration& Ifc4::IfcTimeStamp::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[1084]); } Ifc4::IfcTimeStamp::IfcTimeStamp(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcTimeStamp::IfcTimeStamp(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcTimeStamp::operator int() const { return data_.get_attribute_value(0); } +Ifc4::IfcTimeStamp::operator int() const { return get_attribute_value(0); } // Function implementations for IfcTorqueMeasure const IfcParse::type_declaration& Ifc4::IfcTorqueMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[1088]); } const IfcParse::type_declaration& Ifc4::IfcTorqueMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[1088]); } Ifc4::IfcTorqueMeasure::IfcTorqueMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcTorqueMeasure::IfcTorqueMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcTorqueMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcTorqueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcURIReference const IfcParse::type_declaration& Ifc4::IfcURIReference::Class() { return *((IfcParse::type_declaration*)IFC4_types[1119]); } const IfcParse::type_declaration& Ifc4::IfcURIReference::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[1119]); } Ifc4::IfcURIReference::IfcURIReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcURIReference::IfcURIReference(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcURIReference::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4::IfcURIReference::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcVaporPermeabilityMeasure const IfcParse::type_declaration& Ifc4::IfcVaporPermeabilityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[1125]); } const IfcParse::type_declaration& Ifc4::IfcVaporPermeabilityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[1125]); } Ifc4::IfcVaporPermeabilityMeasure::IfcVaporPermeabilityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcVaporPermeabilityMeasure::IfcVaporPermeabilityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcVaporPermeabilityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcVaporPermeabilityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumeMeasure const IfcParse::type_declaration& Ifc4::IfcVolumeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[1138]); } const IfcParse::type_declaration& Ifc4::IfcVolumeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[1138]); } Ifc4::IfcVolumeMeasure::IfcVolumeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcVolumeMeasure::IfcVolumeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcVolumeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcVolumeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumetricFlowRateMeasure const IfcParse::type_declaration& Ifc4::IfcVolumetricFlowRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[1139]); } const IfcParse::type_declaration& Ifc4::IfcVolumetricFlowRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[1139]); } Ifc4::IfcVolumetricFlowRateMeasure::IfcVolumetricFlowRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcVolumetricFlowRateMeasure::IfcVolumetricFlowRateMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcVolumetricFlowRateMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcVolumetricFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingConstantMeasure const IfcParse::type_declaration& Ifc4::IfcWarpingConstantMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[1145]); } const IfcParse::type_declaration& Ifc4::IfcWarpingConstantMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[1145]); } Ifc4::IfcWarpingConstantMeasure::IfcWarpingConstantMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcWarpingConstantMeasure::IfcWarpingConstantMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcWarpingConstantMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcWarpingConstantMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingMomentMeasure const IfcParse::type_declaration& Ifc4::IfcWarpingMomentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4_types[1146]); } const IfcParse::type_declaration& Ifc4::IfcWarpingMomentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4_types[1146]); } Ifc4::IfcWarpingMomentMeasure::IfcWarpingMomentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4::IfcWarpingMomentMeasure::IfcWarpingMomentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4::IfcWarpingMomentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4::IfcWarpingMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcActionRequest -boost::optional< ::Ifc4::IfcActionRequestTypeEnum::Value > Ifc4::IfcActionRequest::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4::IfcActionRequestTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4::IfcActionRequestTypeEnum::Value > Ifc4::IfcActionRequest::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4::IfcActionRequestTypeEnum::FromString(get_attribute_value(6)); } void Ifc4::IfcActionRequest::setPredefinedType(boost::optional< ::Ifc4::IfcActionRequestTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4::IfcActionRequestTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4::IfcActionRequest::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4::IfcActionRequest::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4::IfcActionRequest::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4::IfcActionRequest::LongDescription() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4::IfcActionRequest::LongDescription() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4::IfcActionRequest::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcActionRequest::declaration() const { return *((IfcParse::entity*)IFC4_types[2]); } const IfcParse::entity& Ifc4::IfcActionRequest::Class() { return *((IfcParse::entity*)IFC4_types[2]); } Ifc4::IfcActionRequest::IfcActionRequest(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4::IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4::IfcActionRequestTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } +Ifc4::IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4::IfcActionRequestTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } // Function implementations for IfcActor -::Ifc4::IfcActorSelect* Ifc4::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcActorSelect>(true); } +::Ifc4::IfcActorSelect* Ifc4::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcActorSelect>(true); } void Ifc4::IfcActor::setTheActor(::Ifc4::IfcActorSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc4::IfcRelAssignsToActor::list::ptr Ifc4::IfcActor::IsActingUpon() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[799], 6)->as(); } @@ -6683,14 +6683,14 @@ void Ifc4::IfcActor::setTheActor(::Ifc4::IfcActorSelect* v) { set_attribute_valu const IfcParse::entity& Ifc4::IfcActor::declaration() const { return *((IfcParse::entity*)IFC4_types[6]); } const IfcParse::entity& Ifc4::IfcActor::Class() { return *((IfcParse::entity*)IFC4_types[6]); } Ifc4::IfcActor::IfcActor(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4::IfcActor::IfcActor(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcActorSelect* v6_TheActor) : IfcObject(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcActor::IfcActor(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcActorSelect* v6_TheActor) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcActorRole -::Ifc4::IfcRoleEnum::Value Ifc4::IfcActorRole::Role() const { return ::Ifc4::IfcRoleEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4::IfcRoleEnum::Value Ifc4::IfcActorRole::Role() const { return ::Ifc4::IfcRoleEnum::FromString(get_attribute_value(0)); } void Ifc4::IfcActorRole::setRole(::Ifc4::IfcRoleEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4::IfcRoleEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4::IfcActorRole::UserDefinedRole() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4::IfcActorRole::UserDefinedRole() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcActorRole::setUserDefinedRole(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4::IfcActorRole::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4::IfcActorRole::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4::IfcActorRole::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4::IfcExternalReferenceRelationship::list::ptr Ifc4::IfcActorRole::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[380], 3)->as(); } @@ -6698,34 +6698,34 @@ void Ifc4::IfcActorRole::setDescription(boost::optional< std::string > v) { if ( const IfcParse::entity& Ifc4::IfcActorRole::declaration() const { return *((IfcParse::entity*)IFC4_types[7]); } const IfcParse::entity& Ifc4::IfcActorRole::Class() { return *((IfcParse::entity*)IFC4_types[7]); } Ifc4::IfcActorRole::IfcActorRole(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcActorRole::IfcActorRole(::Ifc4::IfcRoleEnum::Value v1_Role, boost::optional< std::string > v2_UserDefinedRole, boost::optional< std::string > v3_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } +Ifc4::IfcActorRole::IfcActorRole(::Ifc4::IfcRoleEnum::Value v1_Role, boost::optional< std::string > v2_UserDefinedRole, boost::optional< std::string > v3_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } // Function implementations for IfcActuator -boost::optional< ::Ifc4::IfcActuatorTypeEnum::Value > Ifc4::IfcActuator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcActuatorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcActuatorTypeEnum::Value > Ifc4::IfcActuator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcActuatorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcActuator::setPredefinedType(boost::optional< ::Ifc4::IfcActuatorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcActuatorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcActuator::declaration() const { return *((IfcParse::entity*)IFC4_types[9]); } const IfcParse::entity& Ifc4::IfcActuator::Class() { return *((IfcParse::entity*)IFC4_types[9]); } Ifc4::IfcActuator::IfcActuator(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4::IfcActuator::IfcActuator(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcActuatorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcActuator::IfcActuator(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcActuatorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcActuatorType -::Ifc4::IfcActuatorTypeEnum::Value Ifc4::IfcActuatorType::PredefinedType() const { return ::Ifc4::IfcActuatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcActuatorTypeEnum::Value Ifc4::IfcActuatorType::PredefinedType() const { return ::Ifc4::IfcActuatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcActuatorType::setPredefinedType(::Ifc4::IfcActuatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcActuatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcActuatorType::declaration() const { return *((IfcParse::entity*)IFC4_types[10]); } const IfcParse::entity& Ifc4::IfcActuatorType::Class() { return *((IfcParse::entity*)IFC4_types[10]); } Ifc4::IfcActuatorType::IfcActuatorType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4::IfcActuatorType::IfcActuatorType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcActuatorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcActuatorType::IfcActuatorType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcActuatorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAddress -boost::optional< ::Ifc4::IfcAddressTypeEnum::Value > Ifc4::IfcAddress::Purpose() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } return ::Ifc4::IfcAddressTypeEnum::FromString(data_.get_attribute_value(0)); } +boost::optional< ::Ifc4::IfcAddressTypeEnum::Value > Ifc4::IfcAddress::Purpose() const { if(get_attribute_value(0).isNull()) { return boost::none; } return ::Ifc4::IfcAddressTypeEnum::FromString(get_attribute_value(0)); } void Ifc4::IfcAddress::setPurpose(boost::optional< ::Ifc4::IfcAddressTypeEnum::Value > v) { if (v) {set_attribute_value(0, EnumerationReference(&::Ifc4::IfcAddressTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4::IfcAddress::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4::IfcAddress::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcAddress::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4::IfcAddress::UserDefinedPurpose() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4::IfcAddress::UserDefinedPurpose() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4::IfcAddress::setUserDefinedPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4::IfcPerson::list::ptr Ifc4::IfcAddress::OfPerson() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[647], 7)->as(); } @@ -6734,7 +6734,7 @@ void Ifc4::IfcAddress::setUserDefinedPurpose(boost::optional< std::string > v) { const IfcParse::entity& Ifc4::IfcAddress::declaration() const { return *((IfcParse::entity*)IFC4_types[12]); } const IfcParse::entity& Ifc4::IfcAddress::Class() { return *((IfcParse::entity*)IFC4_types[12]); } Ifc4::IfcAddress::IfcAddress(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcAddress::IfcAddress(boost::optional< ::Ifc4::IfcAddressTypeEnum::Value > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; populate_derived(); } +Ifc4::IfcAddress::IfcAddress(boost::optional< ::Ifc4::IfcAddressTypeEnum::Value > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; populate_derived(); } // Function implementations for IfcAdvancedBrep @@ -6742,17 +6742,17 @@ Ifc4::IfcAddress::IfcAddress(boost::optional< ::Ifc4::IfcAddressTypeEnum::Value const IfcParse::entity& Ifc4::IfcAdvancedBrep::declaration() const { return *((IfcParse::entity*)IFC4_types[14]); } const IfcParse::entity& Ifc4::IfcAdvancedBrep::Class() { return *((IfcParse::entity*)IFC4_types[14]); } Ifc4::IfcAdvancedBrep::IfcAdvancedBrep(IfcEntityInstanceData&& e) : IfcManifoldSolidBrep(std::move(e)) { } -Ifc4::IfcAdvancedBrep::IfcAdvancedBrep(::Ifc4::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcAdvancedBrep::IfcAdvancedBrep(::Ifc4::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAdvancedBrepWithVoids -aggregate_of< ::Ifc4::IfcClosedShell >::ptr Ifc4::IfcAdvancedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4::IfcClosedShell >(); } +aggregate_of< ::Ifc4::IfcClosedShell >::ptr Ifc4::IfcAdvancedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4::IfcClosedShell >(); } void Ifc4::IfcAdvancedBrepWithVoids::setVoids(aggregate_of< ::Ifc4::IfcClosedShell >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcAdvancedBrepWithVoids::declaration() const { return *((IfcParse::entity*)IFC4_types[15]); } const IfcParse::entity& Ifc4::IfcAdvancedBrepWithVoids::Class() { return *((IfcParse::entity*)IFC4_types[15]); } Ifc4::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(IfcEntityInstanceData&& e) : IfcAdvancedBrep(std::move(e)) { } -Ifc4::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4::IfcClosedShell >::ptr v2_Voids) : IfcAdvancedBrep(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } +Ifc4::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4::IfcClosedShell >::ptr v2_Voids) : IfcAdvancedBrep(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } // Function implementations for IfcAdvancedFace @@ -6760,87 +6760,87 @@ Ifc4::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4::IfcClosedShell* const IfcParse::entity& Ifc4::IfcAdvancedFace::declaration() const { return *((IfcParse::entity*)IFC4_types[16]); } const IfcParse::entity& Ifc4::IfcAdvancedFace::Class() { return *((IfcParse::entity*)IFC4_types[16]); } Ifc4::IfcAdvancedFace::IfcAdvancedFace(IfcEntityInstanceData&& e) : IfcFaceSurface(std::move(e)) { } -Ifc4::IfcAdvancedFace::IfcAdvancedFace(aggregate_of< ::Ifc4::IfcFaceBound >::ptr v1_Bounds, ::Ifc4::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFaceSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } +Ifc4::IfcAdvancedFace::IfcAdvancedFace(aggregate_of< ::Ifc4::IfcFaceBound >::ptr v1_Bounds, ::Ifc4::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFaceSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } // Function implementations for IfcAirTerminal -boost::optional< ::Ifc4::IfcAirTerminalTypeEnum::Value > Ifc4::IfcAirTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcAirTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcAirTerminalTypeEnum::Value > Ifc4::IfcAirTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcAirTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcAirTerminal::setPredefinedType(boost::optional< ::Ifc4::IfcAirTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcAirTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcAirTerminal::declaration() const { return *((IfcParse::entity*)IFC4_types[17]); } const IfcParse::entity& Ifc4::IfcAirTerminal::Class() { return *((IfcParse::entity*)IFC4_types[17]); } Ifc4::IfcAirTerminal::IfcAirTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4::IfcAirTerminal::IfcAirTerminal(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcAirTerminal::IfcAirTerminal(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAirTerminalBox -boost::optional< ::Ifc4::IfcAirTerminalBoxTypeEnum::Value > Ifc4::IfcAirTerminalBox::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcAirTerminalBoxTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcAirTerminalBoxTypeEnum::Value > Ifc4::IfcAirTerminalBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcAirTerminalBox::setPredefinedType(boost::optional< ::Ifc4::IfcAirTerminalBoxTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcAirTerminalBoxTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcAirTerminalBox::declaration() const { return *((IfcParse::entity*)IFC4_types[18]); } const IfcParse::entity& Ifc4::IfcAirTerminalBox::Class() { return *((IfcParse::entity*)IFC4_types[18]); } Ifc4::IfcAirTerminalBox::IfcAirTerminalBox(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4::IfcAirTerminalBox::IfcAirTerminalBox(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcAirTerminalBox::IfcAirTerminalBox(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAirTerminalBoxType -::Ifc4::IfcAirTerminalBoxTypeEnum::Value Ifc4::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4::IfcAirTerminalBoxTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcAirTerminalBoxTypeEnum::Value Ifc4::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcAirTerminalBoxType::setPredefinedType(::Ifc4::IfcAirTerminalBoxTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcAirTerminalBoxTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcAirTerminalBoxType::declaration() const { return *((IfcParse::entity*)IFC4_types[19]); } const IfcParse::entity& Ifc4::IfcAirTerminalBoxType::Class() { return *((IfcParse::entity*)IFC4_types[19]); } Ifc4::IfcAirTerminalBoxType::IfcAirTerminalBoxType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4::IfcAirTerminalBoxType::IfcAirTerminalBoxType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcAirTerminalBoxType::IfcAirTerminalBoxType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAirTerminalType -::Ifc4::IfcAirTerminalTypeEnum::Value Ifc4::IfcAirTerminalType::PredefinedType() const { return ::Ifc4::IfcAirTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcAirTerminalTypeEnum::Value Ifc4::IfcAirTerminalType::PredefinedType() const { return ::Ifc4::IfcAirTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcAirTerminalType::setPredefinedType(::Ifc4::IfcAirTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcAirTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcAirTerminalType::declaration() const { return *((IfcParse::entity*)IFC4_types[21]); } const IfcParse::entity& Ifc4::IfcAirTerminalType::Class() { return *((IfcParse::entity*)IFC4_types[21]); } Ifc4::IfcAirTerminalType::IfcAirTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4::IfcAirTerminalType::IfcAirTerminalType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcAirTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcAirTerminalType::IfcAirTerminalType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcAirTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAirToAirHeatRecovery -boost::optional< ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4::IfcAirToAirHeatRecovery::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4::IfcAirToAirHeatRecovery::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcAirToAirHeatRecovery::setPredefinedType(boost::optional< ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcAirToAirHeatRecovery::declaration() const { return *((IfcParse::entity*)IFC4_types[23]); } const IfcParse::entity& Ifc4::IfcAirToAirHeatRecovery::Class() { return *((IfcParse::entity*)IFC4_types[23]); } Ifc4::IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4::IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAirToAirHeatRecoveryType -::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcAirToAirHeatRecoveryType::setPredefinedType(::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcAirToAirHeatRecoveryType::declaration() const { return *((IfcParse::entity*)IFC4_types[24]); } const IfcParse::entity& Ifc4::IfcAirToAirHeatRecoveryType::Class() { return *((IfcParse::entity*)IFC4_types[24]); } Ifc4::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlarm -boost::optional< ::Ifc4::IfcAlarmTypeEnum::Value > Ifc4::IfcAlarm::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcAlarmTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcAlarmTypeEnum::Value > Ifc4::IfcAlarm::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcAlarmTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcAlarm::setPredefinedType(boost::optional< ::Ifc4::IfcAlarmTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcAlarmTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcAlarm::declaration() const { return *((IfcParse::entity*)IFC4_types[26]); } const IfcParse::entity& Ifc4::IfcAlarm::Class() { return *((IfcParse::entity*)IFC4_types[26]); } Ifc4::IfcAlarm::IfcAlarm(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4::IfcAlarm::IfcAlarm(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcAlarmTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcAlarm::IfcAlarm(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcAlarmTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAlarmType -::Ifc4::IfcAlarmTypeEnum::Value Ifc4::IfcAlarmType::PredefinedType() const { return ::Ifc4::IfcAlarmTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcAlarmTypeEnum::Value Ifc4::IfcAlarmType::PredefinedType() const { return ::Ifc4::IfcAlarmTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcAlarmType::setPredefinedType(::Ifc4::IfcAlarmTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcAlarmTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcAlarmType::declaration() const { return *((IfcParse::entity*)IFC4_types[27]); } const IfcParse::entity& Ifc4::IfcAlarmType::Class() { return *((IfcParse::entity*)IFC4_types[27]); } Ifc4::IfcAlarmType::IfcAlarmType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4::IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcAlarmTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcAlarmTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAnnotation @@ -6849,56 +6849,56 @@ Ifc4::IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistor const IfcParse::entity& Ifc4::IfcAnnotation::declaration() const { return *((IfcParse::entity*)IFC4_types[33]); } const IfcParse::entity& Ifc4::IfcAnnotation::Class() { return *((IfcParse::entity*)IFC4_types[33]); } Ifc4::IfcAnnotation::IfcAnnotation(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAnnotationFillArea -::Ifc4::IfcCurve* Ifc4::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcCurve>(true); } +::Ifc4::IfcCurve* Ifc4::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcAnnotationFillArea::setOuterBoundary(::Ifc4::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< aggregate_of< ::Ifc4::IfcCurve >::ptr > Ifc4::IfcAnnotationFillArea::InnerBoundaries() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4::IfcCurve >(); } +boost::optional< aggregate_of< ::Ifc4::IfcCurve >::ptr > Ifc4::IfcAnnotationFillArea::InnerBoundaries() const { if(get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4::IfcCurve >(); } void Ifc4::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc4::IfcCurve >::ptr > v) { if (v) {set_attribute_value(1, (*v)->generalize());} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4::IfcAnnotationFillArea::declaration() const { return *((IfcParse::entity*)IFC4_types[34]); } const IfcParse::entity& Ifc4::IfcAnnotationFillArea::Class() { return *((IfcParse::entity*)IFC4_types[34]); } Ifc4::IfcAnnotationFillArea::IfcAnnotationFillArea(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4::IfcAnnotationFillArea::IfcAnnotationFillArea(::Ifc4::IfcCurve* v1_OuterBoundary, boost::optional< aggregate_of< ::Ifc4::IfcCurve >::ptr > v2_InnerBoundaries) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_OuterBoundary ? v1_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_InnerBoundaries) {set_attribute_value(1, (*v2_InnerBoundaries)->generalize()); }; populate_derived(); } +Ifc4::IfcAnnotationFillArea::IfcAnnotationFillArea(::Ifc4::IfcCurve* v1_OuterBoundary, boost::optional< aggregate_of< ::Ifc4::IfcCurve >::ptr > v2_InnerBoundaries) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_OuterBoundary ? v1_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_InnerBoundaries) {set_attribute_value(1, (*v2_InnerBoundaries)->generalize()); }; populate_derived(); } // Function implementations for IfcApplication -::Ifc4::IfcOrganization* Ifc4::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcOrganization>(true); } +::Ifc4::IfcOrganization* Ifc4::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcOrganization>(true); } void Ifc4::IfcApplication::setApplicationDeveloper(::Ifc4::IfcOrganization* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -std::string Ifc4::IfcApplication::Version() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4::IfcApplication::Version() const { std::string v = get_attribute_value(1); return v; } void Ifc4::IfcApplication::setVersion(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::string Ifc4::IfcApplication::ApplicationFullName() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4::IfcApplication::ApplicationFullName() const { std::string v = get_attribute_value(2); return v; } void Ifc4::IfcApplication::setApplicationFullName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::string Ifc4::IfcApplication::ApplicationIdentifier() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4::IfcApplication::ApplicationIdentifier() const { std::string v = get_attribute_value(3); return v; } void Ifc4::IfcApplication::setApplicationIdentifier(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4::IfcApplication::declaration() const { return *((IfcParse::entity*)IFC4_types[35]); } const IfcParse::entity& Ifc4::IfcApplication::Class() { return *((IfcParse::entity*)IFC4_types[35]); } Ifc4::IfcApplication::IfcApplication(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcApplication::IfcApplication(::Ifc4::IfcOrganization* v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ApplicationDeveloper ? v1_ApplicationDeveloper->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; populate_derived(); } +Ifc4::IfcApplication::IfcApplication(::Ifc4::IfcOrganization* v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ApplicationDeveloper ? v1_ApplicationDeveloper->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; populate_derived(); } // Function implementations for IfcAppliedValue -boost::optional< std::string > Ifc4::IfcAppliedValue::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4::IfcAppliedValue::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4::IfcAppliedValue::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4::IfcAppliedValue::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4::IfcAppliedValue::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcAppliedValue::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4::IfcAppliedValueSelect* Ifc4::IfcAppliedValue::AppliedValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcAppliedValueSelect>(true); } +::Ifc4::IfcAppliedValueSelect* Ifc4::IfcAppliedValue::AppliedValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcAppliedValueSelect>(true); } void Ifc4::IfcAppliedValue::setAppliedValue(::Ifc4::IfcAppliedValueSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcMeasureWithUnit* Ifc4::IfcAppliedValue::UnitBasis() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4::IfcMeasureWithUnit>(true); } +::Ifc4::IfcMeasureWithUnit* Ifc4::IfcAppliedValue::UnitBasis() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4::IfcMeasureWithUnit>(true); } void Ifc4::IfcAppliedValue::setUnitBasis(::Ifc4::IfcMeasureWithUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4::IfcAppliedValue::ApplicableDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4::IfcAppliedValue::ApplicableDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcAppliedValue::setApplicableDate(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4::IfcAppliedValue::FixedUntilDate() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4::IfcAppliedValue::FixedUntilDate() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcAppliedValue::setFixedUntilDate(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4::IfcAppliedValue::Category() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4::IfcAppliedValue::Category() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4::IfcAppliedValue::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4::IfcAppliedValue::Condition() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4::IfcAppliedValue::Condition() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4::IfcAppliedValue::setCondition(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4::IfcArithmeticOperatorEnum::Value > Ifc4::IfcAppliedValue::ArithmeticOperator() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcArithmeticOperatorEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcArithmeticOperatorEnum::Value > Ifc4::IfcAppliedValue::ArithmeticOperator() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcArithmeticOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcAppliedValue::setArithmeticOperator(boost::optional< ::Ifc4::IfcArithmeticOperatorEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcArithmeticOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > Ifc4::IfcAppliedValue::Components() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4::IfcAppliedValue >(); } +boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > Ifc4::IfcAppliedValue::Components() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4::IfcAppliedValue >(); } void Ifc4::IfcAppliedValue::setComponents(boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } ::Ifc4::IfcExternalReferenceRelationship::list::ptr Ifc4::IfcAppliedValue::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[380], 3)->as(); } @@ -6906,26 +6906,26 @@ void Ifc4::IfcAppliedValue::setComponents(boost::optional< aggregate_of< ::Ifc4: const IfcParse::entity& Ifc4::IfcAppliedValue::declaration() const { return *((IfcParse::entity*)IFC4_types[36]); } const IfcParse::entity& Ifc4::IfcAppliedValue::Class() { return *((IfcParse::entity*)IFC4_types[36]); } Ifc4::IfcAppliedValue::IfcAppliedValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4::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< ::Ifc4::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v10_Components) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } +Ifc4::IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4::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< ::Ifc4::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v10_Components) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } // Function implementations for IfcApproval -boost::optional< std::string > Ifc4::IfcApproval::Identifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4::IfcApproval::Identifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4::IfcApproval::setIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4::IfcApproval::Name() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4::IfcApproval::Name() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcApproval::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4::IfcApproval::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4::IfcApproval::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4::IfcApproval::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4::IfcApproval::TimeOfApproval() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4::IfcApproval::TimeOfApproval() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4::IfcApproval::setTimeOfApproval(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4::IfcApproval::Status() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4::IfcApproval::Status() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcApproval::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4::IfcApproval::Level() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4::IfcApproval::Level() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcApproval::setLevel(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4::IfcApproval::Qualifier() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4::IfcApproval::Qualifier() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4::IfcApproval::setQualifier(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4::IfcActorSelect* Ifc4::IfcApproval::RequestingApproval() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4::IfcActorSelect>(true); } +::Ifc4::IfcActorSelect* Ifc4::IfcApproval::RequestingApproval() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4::IfcActorSelect>(true); } void Ifc4::IfcApproval::setRequestingApproval(::Ifc4::IfcActorSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4::IfcActorSelect* Ifc4::IfcApproval::GivingApproval() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4::IfcActorSelect>(true); } +::Ifc4::IfcActorSelect* Ifc4::IfcApproval::GivingApproval() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4::IfcActorSelect>(true); } void Ifc4::IfcApproval::setGivingApproval(::Ifc4::IfcActorSelect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } ::Ifc4::IfcExternalReferenceRelationship::list::ptr Ifc4::IfcApproval::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[380], 3)->as(); } @@ -6937,241 +6937,241 @@ void Ifc4::IfcApproval::setGivingApproval(::Ifc4::IfcActorSelect* v) { set_attri const IfcParse::entity& Ifc4::IfcApproval::declaration() const { return *((IfcParse::entity*)IFC4_types[38]); } const IfcParse::entity& Ifc4::IfcApproval::Class() { return *((IfcParse::entity*)IFC4_types[38]); } Ifc4::IfcApproval::IfcApproval(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcApproval::IfcApproval(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_TimeOfApproval, boost::optional< std::string > v5_Status, boost::optional< std::string > v6_Level, boost::optional< std::string > v7_Qualifier, ::Ifc4::IfcActorSelect* v8_RequestingApproval, ::Ifc4::IfcActorSelect* v9_GivingApproval) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(9))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, v8_RequestingApproval ? v8_RequestingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_GivingApproval ? v9_GivingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcApproval::IfcApproval(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_TimeOfApproval, boost::optional< std::string > v5_Status, boost::optional< std::string > v6_Level, boost::optional< std::string > v7_Qualifier, ::Ifc4::IfcActorSelect* v8_RequestingApproval, ::Ifc4::IfcActorSelect* v9_GivingApproval) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, v8_RequestingApproval ? v8_RequestingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_GivingApproval ? v9_GivingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcApprovalRelationship -::Ifc4::IfcApproval* Ifc4::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcApproval>(true); } +::Ifc4::IfcApproval* Ifc4::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcApproval>(true); } void Ifc4::IfcApprovalRelationship::setRelatingApproval(::Ifc4::IfcApproval* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4::IfcApproval >::ptr Ifc4::IfcApprovalRelationship::RelatedApprovals() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4::IfcApproval >(); } +aggregate_of< ::Ifc4::IfcApproval >::ptr Ifc4::IfcApprovalRelationship::RelatedApprovals() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4::IfcApproval >(); } void Ifc4::IfcApprovalRelationship::setRelatedApprovals(aggregate_of< ::Ifc4::IfcApproval >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4::IfcApprovalRelationship::declaration() const { return *((IfcParse::entity*)IFC4_types[39]); } const IfcParse::entity& Ifc4::IfcApprovalRelationship::Class() { return *((IfcParse::entity*)IFC4_types[39]); } Ifc4::IfcApprovalRelationship::IfcApprovalRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4::IfcApprovalRelationship::IfcApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcApproval* v3_RelatingApproval, aggregate_of< ::Ifc4::IfcApproval >::ptr v4_RelatedApprovals) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingApproval ? v3_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedApprovals)->generalize());; populate_derived(); } +Ifc4::IfcApprovalRelationship::IfcApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcApproval* v3_RelatingApproval, aggregate_of< ::Ifc4::IfcApproval >::ptr v4_RelatedApprovals) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingApproval ? v3_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedApprovals)->generalize());; populate_derived(); } // Function implementations for IfcArbitraryClosedProfileDef -::Ifc4::IfcCurve* Ifc4::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcCurve>(true); } +::Ifc4::IfcCurve* Ifc4::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcArbitraryClosedProfileDef::setOuterCurve(::Ifc4::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4::IfcArbitraryClosedProfileDef::declaration() const { return *((IfcParse::entity*)IFC4_types[40]); } const IfcParse::entity& Ifc4::IfcArbitraryClosedProfileDef::Class() { return *((IfcParse::entity*)IFC4_types[40]); } Ifc4::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcCurve* v3_OuterCurve) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcCurve* v3_OuterCurve) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcArbitraryOpenProfileDef -::Ifc4::IfcBoundedCurve* Ifc4::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcBoundedCurve>(true); } +::Ifc4::IfcBoundedCurve* Ifc4::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcBoundedCurve>(true); } void Ifc4::IfcArbitraryOpenProfileDef::setCurve(::Ifc4::IfcBoundedCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4::IfcArbitraryOpenProfileDef::declaration() const { return *((IfcParse::entity*)IFC4_types[41]); } const IfcParse::entity& Ifc4::IfcArbitraryOpenProfileDef::Class() { return *((IfcParse::entity*)IFC4_types[41]); } Ifc4::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcBoundedCurve* v3_Curve) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcBoundedCurve* v3_Curve) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcArbitraryProfileDefWithVoids -aggregate_of< ::Ifc4::IfcCurve >::ptr Ifc4::IfcArbitraryProfileDefWithVoids::InnerCurves() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4::IfcCurve >(); } +aggregate_of< ::Ifc4::IfcCurve >::ptr Ifc4::IfcArbitraryProfileDefWithVoids::InnerCurves() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4::IfcCurve >(); } void Ifc4::IfcArbitraryProfileDefWithVoids::setInnerCurves(aggregate_of< ::Ifc4::IfcCurve >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4::IfcArbitraryProfileDefWithVoids::declaration() const { return *((IfcParse::entity*)IFC4_types[42]); } const IfcParse::entity& Ifc4::IfcArbitraryProfileDefWithVoids::Class() { return *((IfcParse::entity*)IFC4_types[42]); } Ifc4::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(IfcEntityInstanceData&& e) : IfcArbitraryClosedProfileDef(std::move(e)) { } -Ifc4::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcCurve* v3_OuterCurve, aggregate_of< ::Ifc4::IfcCurve >::ptr v4_InnerCurves) : IfcArbitraryClosedProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_InnerCurves)->generalize());; populate_derived(); } +Ifc4::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcCurve* v3_OuterCurve, aggregate_of< ::Ifc4::IfcCurve >::ptr v4_InnerCurves) : IfcArbitraryClosedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_InnerCurves)->generalize());; populate_derived(); } // Function implementations for IfcAsset -boost::optional< std::string > Ifc4::IfcAsset::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4::IfcAsset::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcAsset::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4::IfcCostValue* Ifc4::IfcAsset::OriginalValue() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4::IfcCostValue>(true); } +::Ifc4::IfcCostValue* Ifc4::IfcAsset::OriginalValue() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4::IfcCostValue>(true); } void Ifc4::IfcAsset::setOriginalValue(::Ifc4::IfcCostValue* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4::IfcCostValue* Ifc4::IfcAsset::CurrentValue() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4::IfcCostValue>(true); } +::Ifc4::IfcCostValue* Ifc4::IfcAsset::CurrentValue() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4::IfcCostValue>(true); } void Ifc4::IfcAsset::setCurrentValue(::Ifc4::IfcCostValue* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4::IfcCostValue* Ifc4::IfcAsset::TotalReplacementCost() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4::IfcCostValue>(true); } +::Ifc4::IfcCostValue* Ifc4::IfcAsset::TotalReplacementCost() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4::IfcCostValue>(true); } void Ifc4::IfcAsset::setTotalReplacementCost(::Ifc4::IfcCostValue* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -::Ifc4::IfcActorSelect* Ifc4::IfcAsset::Owner() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4::IfcActorSelect>(true); } +::Ifc4::IfcActorSelect* Ifc4::IfcAsset::Owner() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4::IfcActorSelect>(true); } void Ifc4::IfcAsset::setOwner(::Ifc4::IfcActorSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4::IfcActorSelect* Ifc4::IfcAsset::User() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4::IfcActorSelect>(true); } +::Ifc4::IfcActorSelect* Ifc4::IfcAsset::User() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4::IfcActorSelect>(true); } void Ifc4::IfcAsset::setUser(::Ifc4::IfcActorSelect* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } -::Ifc4::IfcPerson* Ifc4::IfcAsset::ResponsiblePerson() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc4::IfcPerson>(true); } +::Ifc4::IfcPerson* Ifc4::IfcAsset::ResponsiblePerson() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc4::IfcPerson>(true); } void Ifc4::IfcAsset::setResponsiblePerson(::Ifc4::IfcPerson* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } -boost::optional< std::string > Ifc4::IfcAsset::IncorporationDate() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4::IfcAsset::IncorporationDate() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4::IfcAsset::setIncorporationDate(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4::IfcCostValue* Ifc4::IfcAsset::DepreciatedValue() const { if(data_.get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(13)))->as<::Ifc4::IfcCostValue>(true); } +::Ifc4::IfcCostValue* Ifc4::IfcAsset::DepreciatedValue() const { if(get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(13)))->as<::Ifc4::IfcCostValue>(true); } void Ifc4::IfcAsset::setDepreciatedValue(::Ifc4::IfcCostValue* v) { set_attribute_value(13, v->as());if constexpr (false)unset_attribute_value(13); } const IfcParse::entity& Ifc4::IfcAsset::declaration() const { return *((IfcParse::entity*)IFC4_types[48]); } const IfcParse::entity& Ifc4::IfcAsset::Class() { return *((IfcParse::entity*)IFC4_types[48]); } Ifc4::IfcAsset::IfcAsset(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4::IfcAsset::IfcAsset(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, ::Ifc4::IfcCostValue* v7_OriginalValue, ::Ifc4::IfcCostValue* v8_CurrentValue, ::Ifc4::IfcCostValue* v9_TotalReplacementCost, ::Ifc4::IfcActorSelect* v10_Owner, ::Ifc4::IfcActorSelect* v11_User, ::Ifc4::IfcPerson* v12_ResponsiblePerson, boost::optional< std::string > v13_IncorporationDate, ::Ifc4::IfcCostValue* v14_DepreciatedValue) : IfcGroup(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, v7_OriginalValue ? v7_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_CurrentValue ? v8_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_TotalReplacementCost ? v9_TotalReplacementCost->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_Owner ? v10_Owner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_User ? v11_User->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, v12_ResponsiblePerson ? v12_ResponsiblePerson->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, v14_DepreciatedValue ? v14_DepreciatedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcAsset::IfcAsset(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, ::Ifc4::IfcCostValue* v7_OriginalValue, ::Ifc4::IfcCostValue* v8_CurrentValue, ::Ifc4::IfcCostValue* v9_TotalReplacementCost, ::Ifc4::IfcActorSelect* v10_Owner, ::Ifc4::IfcActorSelect* v11_User, ::Ifc4::IfcPerson* v12_ResponsiblePerson, boost::optional< std::string > v13_IncorporationDate, ::Ifc4::IfcCostValue* v14_DepreciatedValue) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, v7_OriginalValue ? v7_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_CurrentValue ? v8_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_TotalReplacementCost ? v9_TotalReplacementCost->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_Owner ? v10_Owner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_User ? v11_User->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, v12_ResponsiblePerson ? v12_ResponsiblePerson->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, v14_DepreciatedValue ? v14_DepreciatedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAsymmetricIShapeProfileDef -double Ifc4::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { double v = get_attribute_value(3); return v; } void Ifc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeWidth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4::IfcAsymmetricIShapeProfileDef::OverallDepth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4::IfcAsymmetricIShapeProfileDef::OverallDepth() const { double v = get_attribute_value(4); return v; } void Ifc4::IfcAsymmetricIShapeProfileDef::setOverallDepth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4::IfcAsymmetricIShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4::IfcAsymmetricIShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4::IfcAsymmetricIShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4::IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4::IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4::IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4::IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -double Ifc4::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { double v = data_.get_attribute_value(8); return v; } +double Ifc4::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { double v = get_attribute_value(8); return v; } void Ifc4::IfcAsymmetricIShapeProfileDef::setTopFlangeWidth(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -boost::optional< double > Ifc4::IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4::IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4::IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4::IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4::IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4::IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4::IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4::IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4::IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4::IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4::IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4::IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4::IfcAsymmetricIShapeProfileDef::setTopFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4::IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4::IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } const IfcParse::entity& Ifc4::IfcAsymmetricIShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4_types[49]); } const IfcParse::entity& Ifc4::IfcAsymmetricIShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4_types[49]); } Ifc4::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::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(storage_t(15))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); }; populate_derived(); } +Ifc4::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::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(in_memory_attribute_storage(15))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); }; populate_derived(); } // Function implementations for IfcAudioVisualAppliance -boost::optional< ::Ifc4::IfcAudioVisualApplianceTypeEnum::Value > Ifc4::IfcAudioVisualAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcAudioVisualApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcAudioVisualApplianceTypeEnum::Value > Ifc4::IfcAudioVisualAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcAudioVisualAppliance::setPredefinedType(boost::optional< ::Ifc4::IfcAudioVisualApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcAudioVisualApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcAudioVisualAppliance::declaration() const { return *((IfcParse::entity*)IFC4_types[50]); } const IfcParse::entity& Ifc4::IfcAudioVisualAppliance::Class() { return *((IfcParse::entity*)IFC4_types[50]); } Ifc4::IfcAudioVisualAppliance::IfcAudioVisualAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4::IfcAudioVisualAppliance::IfcAudioVisualAppliance(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcAudioVisualAppliance::IfcAudioVisualAppliance(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAudioVisualApplianceType -::Ifc4::IfcAudioVisualApplianceTypeEnum::Value Ifc4::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4::IfcAudioVisualApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcAudioVisualApplianceTypeEnum::Value Ifc4::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcAudioVisualApplianceType::setPredefinedType(::Ifc4::IfcAudioVisualApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcAudioVisualApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcAudioVisualApplianceType::declaration() const { return *((IfcParse::entity*)IFC4_types[51]); } const IfcParse::entity& Ifc4::IfcAudioVisualApplianceType::Class() { return *((IfcParse::entity*)IFC4_types[51]); } Ifc4::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAxis1Placement -::Ifc4::IfcDirection* Ifc4::IfcAxis1Placement::Axis() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcDirection>(true); } +::Ifc4::IfcDirection* Ifc4::IfcAxis1Placement::Axis() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcAxis1Placement::setAxis(::Ifc4::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcAxis1Placement::declaration() const { return *((IfcParse::entity*)IFC4_types[53]); } const IfcParse::entity& Ifc4::IfcAxis1Placement::Class() { return *((IfcParse::entity*)IFC4_types[53]); } Ifc4::IfcAxis1Placement::IfcAxis1Placement(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4::IfcAxis1Placement::IfcAxis1Placement(::Ifc4::IfcCartesianPoint* v1_Location, ::Ifc4::IfcDirection* v2_Axis) : IfcPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcAxis1Placement::IfcAxis1Placement(::Ifc4::IfcCartesianPoint* v1_Location, ::Ifc4::IfcDirection* v2_Axis) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAxis2Placement2D -::Ifc4::IfcDirection* Ifc4::IfcAxis2Placement2D::RefDirection() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcDirection>(true); } +::Ifc4::IfcDirection* Ifc4::IfcAxis2Placement2D::RefDirection() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcAxis2Placement2D::setRefDirection(::Ifc4::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcAxis2Placement2D::declaration() const { return *((IfcParse::entity*)IFC4_types[55]); } const IfcParse::entity& Ifc4::IfcAxis2Placement2D::Class() { return *((IfcParse::entity*)IFC4_types[55]); } Ifc4::IfcAxis2Placement2D::IfcAxis2Placement2D(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4::IfcAxis2Placement2D::IfcAxis2Placement2D(::Ifc4::IfcCartesianPoint* v1_Location, ::Ifc4::IfcDirection* v2_RefDirection) : IfcPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RefDirection ? v2_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcAxis2Placement2D::IfcAxis2Placement2D(::Ifc4::IfcCartesianPoint* v1_Location, ::Ifc4::IfcDirection* v2_RefDirection) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RefDirection ? v2_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAxis2Placement3D -::Ifc4::IfcDirection* Ifc4::IfcAxis2Placement3D::Axis() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcDirection>(true); } +::Ifc4::IfcDirection* Ifc4::IfcAxis2Placement3D::Axis() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcAxis2Placement3D::setAxis(::Ifc4::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4::IfcDirection* Ifc4::IfcAxis2Placement3D::RefDirection() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcDirection>(true); } +::Ifc4::IfcDirection* Ifc4::IfcAxis2Placement3D::RefDirection() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcAxis2Placement3D::setRefDirection(::Ifc4::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4::IfcAxis2Placement3D::declaration() const { return *((IfcParse::entity*)IFC4_types[56]); } const IfcParse::entity& Ifc4::IfcAxis2Placement3D::Class() { return *((IfcParse::entity*)IFC4_types[56]); } Ifc4::IfcAxis2Placement3D::IfcAxis2Placement3D(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4::IfcAxis2Placement3D::IfcAxis2Placement3D(::Ifc4::IfcCartesianPoint* v1_Location, ::Ifc4::IfcDirection* v2_Axis, ::Ifc4::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcAxis2Placement3D::IfcAxis2Placement3D(::Ifc4::IfcCartesianPoint* v1_Location, ::Ifc4::IfcDirection* v2_Axis, ::Ifc4::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBSplineCurve -int Ifc4::IfcBSplineCurve::Degree() const { int v = data_.get_attribute_value(0); return v; } +int Ifc4::IfcBSplineCurve::Degree() const { int v = get_attribute_value(0); return v; } void Ifc4::IfcBSplineCurve::setDegree(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr Ifc4::IfcBSplineCurve::ControlPointsList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4::IfcCartesianPoint >(); } +aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr Ifc4::IfcBSplineCurve::ControlPointsList() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4::IfcCartesianPoint >(); } void Ifc4::IfcBSplineCurve::setControlPointsList(aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4::IfcBSplineCurveForm::Value Ifc4::IfcBSplineCurve::CurveForm() const { return ::Ifc4::IfcBSplineCurveForm::FromString(data_.get_attribute_value(2)); } +::Ifc4::IfcBSplineCurveForm::Value Ifc4::IfcBSplineCurve::CurveForm() const { return ::Ifc4::IfcBSplineCurveForm::FromString(get_attribute_value(2)); } void Ifc4::IfcBSplineCurve::setCurveForm(::Ifc4::IfcBSplineCurveForm::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4::IfcBSplineCurveForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -boost::logic::tribool Ifc4::IfcBSplineCurve::ClosedCurve() const { boost::logic::tribool v = data_.get_attribute_value(3); return v; } +boost::logic::tribool Ifc4::IfcBSplineCurve::ClosedCurve() const { boost::logic::tribool v = get_attribute_value(3); return v; } void Ifc4::IfcBSplineCurve::setClosedCurve(boost::logic::tribool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::logic::tribool Ifc4::IfcBSplineCurve::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(4); return v; } +boost::logic::tribool Ifc4::IfcBSplineCurve::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(4); return v; } void Ifc4::IfcBSplineCurve::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4::IfcBSplineCurve::declaration() const { return *((IfcParse::entity*)IFC4_types[85]); } const IfcParse::entity& Ifc4::IfcBSplineCurve::Class() { return *((IfcParse::entity*)IFC4_types[85]); } Ifc4::IfcBSplineCurve::IfcBSplineCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4::IfcBSplineCurve::IfcBSplineCurve(int v1_Degree, aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; populate_derived(); } +Ifc4::IfcBSplineCurve::IfcBSplineCurve(int v1_Degree, aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; populate_derived(); } // Function implementations for IfcBSplineCurveWithKnots -std::vector< int > /*[2:?]*/ Ifc4::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int > /*[2:?]*/ v = data_.get_attribute_value(5); return v; } +std::vector< int > /*[2:?]*/ Ifc4::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(5); return v; } void Ifc4::IfcBSplineCurveWithKnots::setKnotMultiplicities(std::vector< int > /*[2:?]*/ v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -std::vector< double > /*[2:?]*/ Ifc4::IfcBSplineCurveWithKnots::Knots() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(6); return v; } +std::vector< double > /*[2:?]*/ Ifc4::IfcBSplineCurveWithKnots::Knots() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(6); return v; } void Ifc4::IfcBSplineCurveWithKnots::setKnots(std::vector< double > /*[2:?]*/ v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4::IfcKnotType::Value Ifc4::IfcBSplineCurveWithKnots::KnotSpec() const { return ::Ifc4::IfcKnotType::FromString(data_.get_attribute_value(7)); } +::Ifc4::IfcKnotType::Value Ifc4::IfcBSplineCurveWithKnots::KnotSpec() const { return ::Ifc4::IfcKnotType::FromString(get_attribute_value(7)); } void Ifc4::IfcBSplineCurveWithKnots::setKnotSpec(::Ifc4::IfcKnotType::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4::IfcKnotType::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4::IfcBSplineCurveWithKnots::declaration() const { return *((IfcParse::entity*)IFC4_types[87]); } const IfcParse::entity& Ifc4::IfcBSplineCurveWithKnots::Class() { return *((IfcParse::entity*)IFC4_types[87]); } Ifc4::IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(IfcEntityInstanceData&& e) : IfcBSplineCurve(std::move(e)) { } -Ifc4::IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4::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, ::Ifc4::IfcKnotType::Value v8_KnotSpec) : IfcBSplineCurve(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcKnotType::Class(),(size_t)v8_KnotSpec)));; populate_derived(); } +Ifc4::IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4::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, ::Ifc4::IfcKnotType::Value v8_KnotSpec) : IfcBSplineCurve(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcKnotType::Class(),(size_t)v8_KnotSpec)));; populate_derived(); } // Function implementations for IfcBSplineSurface -int Ifc4::IfcBSplineSurface::UDegree() const { int v = data_.get_attribute_value(0); return v; } +int Ifc4::IfcBSplineSurface::UDegree() const { int v = get_attribute_value(0); return v; } void Ifc4::IfcBSplineSurface::setUDegree(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -int Ifc4::IfcBSplineSurface::VDegree() const { int v = data_.get_attribute_value(1); return v; } +int Ifc4::IfcBSplineSurface::VDegree() const { int v = get_attribute_value(1); return v; } void Ifc4::IfcBSplineSurface::setVDegree(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -aggregate_of_aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr Ifc4::IfcBSplineSurface::ControlPointsList() const { aggregate_of_aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4::IfcCartesianPoint >(); } +aggregate_of_aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr Ifc4::IfcBSplineSurface::ControlPointsList() const { aggregate_of_aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4::IfcCartesianPoint >(); } void Ifc4::IfcBSplineSurface::setControlPointsList(aggregate_of_aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcBSplineSurfaceForm::Value Ifc4::IfcBSplineSurface::SurfaceForm() const { return ::Ifc4::IfcBSplineSurfaceForm::FromString(data_.get_attribute_value(3)); } +::Ifc4::IfcBSplineSurfaceForm::Value Ifc4::IfcBSplineSurface::SurfaceForm() const { return ::Ifc4::IfcBSplineSurfaceForm::FromString(get_attribute_value(3)); } void Ifc4::IfcBSplineSurface::setSurfaceForm(::Ifc4::IfcBSplineSurfaceForm::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc4::IfcBSplineSurfaceForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } -boost::logic::tribool Ifc4::IfcBSplineSurface::UClosed() const { boost::logic::tribool v = data_.get_attribute_value(4); return v; } +boost::logic::tribool Ifc4::IfcBSplineSurface::UClosed() const { boost::logic::tribool v = get_attribute_value(4); return v; } void Ifc4::IfcBSplineSurface::setUClosed(boost::logic::tribool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::logic::tribool Ifc4::IfcBSplineSurface::VClosed() const { boost::logic::tribool v = data_.get_attribute_value(5); return v; } +boost::logic::tribool Ifc4::IfcBSplineSurface::VClosed() const { boost::logic::tribool v = get_attribute_value(5); return v; } void Ifc4::IfcBSplineSurface::setVClosed(boost::logic::tribool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::logic::tribool Ifc4::IfcBSplineSurface::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(6); return v; } +boost::logic::tribool Ifc4::IfcBSplineSurface::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(6); return v; } void Ifc4::IfcBSplineSurface::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4::IfcBSplineSurface::declaration() const { return *((IfcParse::entity*)IFC4_types[88]); } const IfcParse::entity& Ifc4::IfcBSplineSurface::Class() { return *((IfcParse::entity*)IFC4_types[88]); } Ifc4::IfcBSplineSurface::IfcBSplineSurface(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4::IfcBSplineSurface::IfcBSplineSurface(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));; populate_derived(); } +Ifc4::IfcBSplineSurface::IfcBSplineSurface(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));; populate_derived(); } // Function implementations for IfcBSplineSurfaceWithKnots -std::vector< int > /*[2:?]*/ Ifc4::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int > /*[2:?]*/ v = data_.get_attribute_value(7); return v; } +std::vector< int > /*[2:?]*/ Ifc4::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(7); return v; } void Ifc4::IfcBSplineSurfaceWithKnots::setUMultiplicities(std::vector< int > /*[2:?]*/ v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector< int > /*[2:?]*/ Ifc4::IfcBSplineSurfaceWithKnots::VMultiplicities() const { std::vector< int > /*[2:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< int > /*[2:?]*/ Ifc4::IfcBSplineSurfaceWithKnots::VMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(8); return v; } void Ifc4::IfcBSplineSurfaceWithKnots::setVMultiplicities(std::vector< int > /*[2:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::vector< double > /*[2:?]*/ Ifc4::IfcBSplineSurfaceWithKnots::UKnots() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(9); return v; } +std::vector< double > /*[2:?]*/ Ifc4::IfcBSplineSurfaceWithKnots::UKnots() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(9); return v; } void Ifc4::IfcBSplineSurfaceWithKnots::setUKnots(std::vector< double > /*[2:?]*/ v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -std::vector< double > /*[2:?]*/ Ifc4::IfcBSplineSurfaceWithKnots::VKnots() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(10); return v; } +std::vector< double > /*[2:?]*/ Ifc4::IfcBSplineSurfaceWithKnots::VKnots() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(10); return v; } void Ifc4::IfcBSplineSurfaceWithKnots::setVKnots(std::vector< double > /*[2:?]*/ v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -::Ifc4::IfcKnotType::Value Ifc4::IfcBSplineSurfaceWithKnots::KnotSpec() const { return ::Ifc4::IfcKnotType::FromString(data_.get_attribute_value(11)); } +::Ifc4::IfcKnotType::Value Ifc4::IfcBSplineSurfaceWithKnots::KnotSpec() const { return ::Ifc4::IfcKnotType::FromString(get_attribute_value(11)); } void Ifc4::IfcBSplineSurfaceWithKnots::setKnotSpec(::Ifc4::IfcKnotType::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4::IfcKnotType::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4::IfcBSplineSurfaceWithKnots::declaration() const { return *((IfcParse::entity*)IFC4_types[90]); } const IfcParse::entity& Ifc4::IfcBSplineSurfaceWithKnots::Class() { return *((IfcParse::entity*)IFC4_types[90]); } Ifc4::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(IfcEntityInstanceData&& e) : IfcBSplineSurface(std::move(e)) { } -Ifc4::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4::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, ::Ifc4::IfcKnotType::Value v12_KnotSpec) : IfcBSplineSurface(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4::IfcKnotType::Class(),(size_t)v12_KnotSpec)));; populate_derived(); } +Ifc4::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4::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, ::Ifc4::IfcKnotType::Value v12_KnotSpec) : IfcBSplineSurface(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4::IfcKnotType::Class(),(size_t)v12_KnotSpec)));; populate_derived(); } // Function implementations for IfcBeam -boost::optional< ::Ifc4::IfcBeamTypeEnum::Value > Ifc4::IfcBeam::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcBeamTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcBeamTypeEnum::Value > Ifc4::IfcBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcBeamTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcBeam::setPredefinedType(boost::optional< ::Ifc4::IfcBeamTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcBeamTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcBeam::declaration() const { return *((IfcParse::entity*)IFC4_types[57]); } const IfcParse::entity& Ifc4::IfcBeam::Class() { return *((IfcParse::entity*)IFC4_types[57]); } Ifc4::IfcBeam::IfcBeam(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4::IfcBeam::IfcBeam(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcBeamTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcBeam::IfcBeam(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcBeamTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBeamStandardCase @@ -7179,63 +7179,63 @@ Ifc4::IfcBeam::IfcBeam(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_Owne const IfcParse::entity& Ifc4::IfcBeamStandardCase::declaration() const { return *((IfcParse::entity*)IFC4_types[58]); } const IfcParse::entity& Ifc4::IfcBeamStandardCase::Class() { return *((IfcParse::entity*)IFC4_types[58]); } Ifc4::IfcBeamStandardCase::IfcBeamStandardCase(IfcEntityInstanceData&& e) : IfcBeam(std::move(e)) { } -Ifc4::IfcBeamStandardCase::IfcBeamStandardCase(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcBeamTypeEnum::Value > v9_PredefinedType) : IfcBeam(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcBeamStandardCase::IfcBeamStandardCase(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcBeamTypeEnum::Value > v9_PredefinedType) : IfcBeam(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBeamType -::Ifc4::IfcBeamTypeEnum::Value Ifc4::IfcBeamType::PredefinedType() const { return ::Ifc4::IfcBeamTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcBeamTypeEnum::Value Ifc4::IfcBeamType::PredefinedType() const { return ::Ifc4::IfcBeamTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcBeamType::setPredefinedType(::Ifc4::IfcBeamTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcBeamTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcBeamType::declaration() const { return *((IfcParse::entity*)IFC4_types[59]); } const IfcParse::entity& Ifc4::IfcBeamType::Class() { return *((IfcParse::entity*)IFC4_types[59]); } Ifc4::IfcBeamType::IfcBeamType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4::IfcBeamType::IfcBeamType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcBeamTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcBeamType::IfcBeamType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcBeamTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBlobTexture -std::string Ifc4::IfcBlobTexture::RasterFormat() const { std::string v = data_.get_attribute_value(5); return v; } +std::string Ifc4::IfcBlobTexture::RasterFormat() const { std::string v = get_attribute_value(5); return v; } void Ifc4::IfcBlobTexture::setRasterFormat(std::string v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::dynamic_bitset<> Ifc4::IfcBlobTexture::RasterCode() const { boost::dynamic_bitset<> v = data_.get_attribute_value(6); return v; } +boost::dynamic_bitset<> Ifc4::IfcBlobTexture::RasterCode() const { boost::dynamic_bitset<> v = get_attribute_value(6); return v; } void Ifc4::IfcBlobTexture::setRasterCode(boost::dynamic_bitset<> v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4::IfcBlobTexture::declaration() const { return *((IfcParse::entity*)IFC4_types[64]); } const IfcParse::entity& Ifc4::IfcBlobTexture::Class() { return *((IfcParse::entity*)IFC4_types[64]); } Ifc4::IfcBlobTexture::IfcBlobTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -Ifc4::IfcBlobTexture::IfcBlobTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) : IfcSurfaceTexture(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode));; populate_derived(); } +Ifc4::IfcBlobTexture::IfcBlobTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) : IfcSurfaceTexture(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode));; populate_derived(); } // Function implementations for IfcBlock -double Ifc4::IfcBlock::XLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4::IfcBlock::XLength() const { double v = get_attribute_value(1); return v; } void Ifc4::IfcBlock::setXLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4::IfcBlock::YLength() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4::IfcBlock::YLength() const { double v = get_attribute_value(2); return v; } void Ifc4::IfcBlock::setYLength(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4::IfcBlock::ZLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4::IfcBlock::ZLength() const { double v = get_attribute_value(3); return v; } void Ifc4::IfcBlock::setZLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4::IfcBlock::declaration() const { return *((IfcParse::entity*)IFC4_types[65]); } const IfcParse::entity& Ifc4::IfcBlock::Class() { return *((IfcParse::entity*)IFC4_types[65]); } Ifc4::IfcBlock::IfcBlock(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4::IfcBlock::IfcBlock(::Ifc4::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; populate_derived(); } +Ifc4::IfcBlock::IfcBlock(::Ifc4::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; populate_derived(); } // Function implementations for IfcBoiler -boost::optional< ::Ifc4::IfcBoilerTypeEnum::Value > Ifc4::IfcBoiler::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcBoilerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcBoilerTypeEnum::Value > Ifc4::IfcBoiler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcBoilerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcBoiler::setPredefinedType(boost::optional< ::Ifc4::IfcBoilerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcBoilerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcBoiler::declaration() const { return *((IfcParse::entity*)IFC4_types[66]); } const IfcParse::entity& Ifc4::IfcBoiler::Class() { return *((IfcParse::entity*)IFC4_types[66]); } Ifc4::IfcBoiler::IfcBoiler(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4::IfcBoiler::IfcBoiler(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcBoilerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcBoiler::IfcBoiler(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcBoilerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBoilerType -::Ifc4::IfcBoilerTypeEnum::Value Ifc4::IfcBoilerType::PredefinedType() const { return ::Ifc4::IfcBoilerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcBoilerTypeEnum::Value Ifc4::IfcBoilerType::PredefinedType() const { return ::Ifc4::IfcBoilerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcBoilerType::setPredefinedType(::Ifc4::IfcBoilerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcBoilerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcBoilerType::declaration() const { return *((IfcParse::entity*)IFC4_types[67]); } const IfcParse::entity& Ifc4::IfcBoilerType::Class() { return *((IfcParse::entity*)IFC4_types[67]); } Ifc4::IfcBoilerType::IfcBoilerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4::IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcBoilerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcBoilerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBooleanClippingResult @@ -7243,31 +7243,31 @@ Ifc4::IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHist const IfcParse::entity& Ifc4::IfcBooleanClippingResult::declaration() const { return *((IfcParse::entity*)IFC4_types[70]); } const IfcParse::entity& Ifc4::IfcBooleanClippingResult::Class() { return *((IfcParse::entity*)IFC4_types[70]); } Ifc4::IfcBooleanClippingResult::IfcBooleanClippingResult(IfcEntityInstanceData&& e) : IfcBooleanResult(std::move(e)) { } -Ifc4::IfcBooleanClippingResult::IfcBooleanClippingResult(::Ifc4::IfcBooleanOperator::Value v1_Operator, ::Ifc4::IfcBooleanOperand* v2_FirstOperand, ::Ifc4::IfcBooleanOperand* v3_SecondOperand) : IfcBooleanResult(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcBooleanClippingResult::IfcBooleanClippingResult(::Ifc4::IfcBooleanOperator::Value v1_Operator, ::Ifc4::IfcBooleanOperand* v2_FirstOperand, ::Ifc4::IfcBooleanOperand* v3_SecondOperand) : IfcBooleanResult(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBooleanResult -::Ifc4::IfcBooleanOperator::Value Ifc4::IfcBooleanResult::Operator() const { return ::Ifc4::IfcBooleanOperator::FromString(data_.get_attribute_value(0)); } +::Ifc4::IfcBooleanOperator::Value Ifc4::IfcBooleanResult::Operator() const { return ::Ifc4::IfcBooleanOperator::FromString(get_attribute_value(0)); } void Ifc4::IfcBooleanResult::setOperator(::Ifc4::IfcBooleanOperator::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4::IfcBooleanOperator::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcBooleanOperand* Ifc4::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcBooleanOperand>(true); } +::Ifc4::IfcBooleanOperand* Ifc4::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcBooleanOperand>(true); } void Ifc4::IfcBooleanResult::setFirstOperand(::Ifc4::IfcBooleanOperand* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4::IfcBooleanOperand* Ifc4::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcBooleanOperand>(true); } +::Ifc4::IfcBooleanOperand* Ifc4::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcBooleanOperand>(true); } void Ifc4::IfcBooleanResult::setSecondOperand(::Ifc4::IfcBooleanOperand* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4::IfcBooleanResult::declaration() const { return *((IfcParse::entity*)IFC4_types[73]); } const IfcParse::entity& Ifc4::IfcBooleanResult::Class() { return *((IfcParse::entity*)IFC4_types[73]); } Ifc4::IfcBooleanResult::IfcBooleanResult(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4::IfcBooleanResult::IfcBooleanResult(::Ifc4::IfcBooleanOperator::Value v1_Operator, ::Ifc4::IfcBooleanOperand* v2_FirstOperand, ::Ifc4::IfcBooleanOperand* v3_SecondOperand) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcBooleanResult::IfcBooleanResult(::Ifc4::IfcBooleanOperator::Value v1_Operator, ::Ifc4::IfcBooleanOperand* v2_FirstOperand, ::Ifc4::IfcBooleanOperand* v3_SecondOperand) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryCondition -boost::optional< std::string > Ifc4::IfcBoundaryCondition::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4::IfcBoundaryCondition::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4::IfcBoundaryCondition::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4::IfcBoundaryCondition::declaration() const { return *((IfcParse::entity*)IFC4_types[74]); } const IfcParse::entity& Ifc4::IfcBoundaryCondition::Class() { return *((IfcParse::entity*)IFC4_types[74]); } Ifc4::IfcBoundaryCondition::IfcBoundaryCondition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcBoundaryCurve @@ -7275,71 +7275,71 @@ Ifc4::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::string > const IfcParse::entity& Ifc4::IfcBoundaryCurve::declaration() const { return *((IfcParse::entity*)IFC4_types[75]); } const IfcParse::entity& Ifc4::IfcBoundaryCurve::Class() { return *((IfcParse::entity*)IFC4_types[75]); } Ifc4::IfcBoundaryCurve::IfcBoundaryCurve(IfcEntityInstanceData&& e) : IfcCompositeCurveOnSurface(std::move(e)) { } -Ifc4::IfcBoundaryCurve::IfcBoundaryCurve(aggregate_of< ::Ifc4::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurveOnSurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4::IfcBoundaryCurve::IfcBoundaryCurve(aggregate_of< ::Ifc4::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurveOnSurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcBoundaryEdgeCondition -::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } +::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthX(::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } +::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthY(::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } +::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthZ(::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect>(true); } +::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect>(true); } +::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect>(true); } +::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4::IfcBoundaryEdgeCondition::declaration() const { return *((IfcParse::entity*)IFC4_types[76]); } const IfcParse::entity& Ifc4::IfcBoundaryEdgeCondition::Class() { return *((IfcParse::entity*)IFC4_types[76]); } Ifc4::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -Ifc4::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< std::string > v1_Name, ::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect* v2_TranslationalStiffnessByLengthX, ::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect* v3_TranslationalStiffnessByLengthY, ::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect* v4_TranslationalStiffnessByLengthZ, ::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect* v5_RotationalStiffnessByLengthX, ::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect* v6_RotationalStiffnessByLengthY, ::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect* v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByLengthX ? v2_TranslationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByLengthY ? v3_TranslationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByLengthZ ? v4_TranslationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessByLengthX ? v5_RotationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessByLengthY ? v6_RotationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessByLengthZ ? v7_RotationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< std::string > v1_Name, ::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect* v2_TranslationalStiffnessByLengthX, ::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect* v3_TranslationalStiffnessByLengthY, ::Ifc4::IfcModulusOfTranslationalSubgradeReactionSelect* v4_TranslationalStiffnessByLengthZ, ::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect* v5_RotationalStiffnessByLengthX, ::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect* v6_RotationalStiffnessByLengthY, ::Ifc4::IfcModulusOfRotationalSubgradeReactionSelect* v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByLengthX ? v2_TranslationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByLengthY ? v3_TranslationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByLengthZ ? v4_TranslationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessByLengthX ? v5_RotationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessByLengthY ? v6_RotationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessByLengthZ ? v7_RotationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryFaceCondition -::Ifc4::IfcModulusOfSubgradeReactionSelect* Ifc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcModulusOfSubgradeReactionSelect>(true); } +::Ifc4::IfcModulusOfSubgradeReactionSelect* Ifc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaX(::Ifc4::IfcModulusOfSubgradeReactionSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4::IfcModulusOfSubgradeReactionSelect* Ifc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcModulusOfSubgradeReactionSelect>(true); } +::Ifc4::IfcModulusOfSubgradeReactionSelect* Ifc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaY(::Ifc4::IfcModulusOfSubgradeReactionSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcModulusOfSubgradeReactionSelect* Ifc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4::IfcModulusOfSubgradeReactionSelect>(true); } +::Ifc4::IfcModulusOfSubgradeReactionSelect* Ifc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(::Ifc4::IfcModulusOfSubgradeReactionSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4::IfcBoundaryFaceCondition::declaration() const { return *((IfcParse::entity*)IFC4_types[77]); } const IfcParse::entity& Ifc4::IfcBoundaryFaceCondition::Class() { return *((IfcParse::entity*)IFC4_types[77]); } Ifc4::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -Ifc4::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std::string > v1_Name, ::Ifc4::IfcModulusOfSubgradeReactionSelect* v2_TranslationalStiffnessByAreaX, ::Ifc4::IfcModulusOfSubgradeReactionSelect* v3_TranslationalStiffnessByAreaY, ::Ifc4::IfcModulusOfSubgradeReactionSelect* v4_TranslationalStiffnessByAreaZ) : IfcBoundaryCondition(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByAreaX ? v2_TranslationalStiffnessByAreaX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByAreaY ? v3_TranslationalStiffnessByAreaY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByAreaZ ? v4_TranslationalStiffnessByAreaZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std::string > v1_Name, ::Ifc4::IfcModulusOfSubgradeReactionSelect* v2_TranslationalStiffnessByAreaX, ::Ifc4::IfcModulusOfSubgradeReactionSelect* v3_TranslationalStiffnessByAreaY, ::Ifc4::IfcModulusOfSubgradeReactionSelect* v4_TranslationalStiffnessByAreaZ) : IfcBoundaryCondition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByAreaX ? v2_TranslationalStiffnessByAreaX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByAreaY ? v3_TranslationalStiffnessByAreaY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByAreaZ ? v4_TranslationalStiffnessByAreaZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryNodeCondition -::Ifc4::IfcTranslationalStiffnessSelect* Ifc4::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcTranslationalStiffnessSelect>(true); } +::Ifc4::IfcTranslationalStiffnessSelect* Ifc4::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcTranslationalStiffnessSelect>(true); } void Ifc4::IfcBoundaryNodeCondition::setTranslationalStiffnessX(::Ifc4::IfcTranslationalStiffnessSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4::IfcTranslationalStiffnessSelect* Ifc4::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcTranslationalStiffnessSelect>(true); } +::Ifc4::IfcTranslationalStiffnessSelect* Ifc4::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcTranslationalStiffnessSelect>(true); } void Ifc4::IfcBoundaryNodeCondition::setTranslationalStiffnessY(::Ifc4::IfcTranslationalStiffnessSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcTranslationalStiffnessSelect* Ifc4::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4::IfcTranslationalStiffnessSelect>(true); } +::Ifc4::IfcTranslationalStiffnessSelect* Ifc4::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4::IfcTranslationalStiffnessSelect>(true); } void Ifc4::IfcBoundaryNodeCondition::setTranslationalStiffnessZ(::Ifc4::IfcTranslationalStiffnessSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4::IfcRotationalStiffnessSelect* Ifc4::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4::IfcRotationalStiffnessSelect>(true); } +::Ifc4::IfcRotationalStiffnessSelect* Ifc4::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4::IfcRotationalStiffnessSelect>(true); } void Ifc4::IfcBoundaryNodeCondition::setRotationalStiffnessX(::Ifc4::IfcRotationalStiffnessSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcRotationalStiffnessSelect* Ifc4::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcRotationalStiffnessSelect>(true); } +::Ifc4::IfcRotationalStiffnessSelect* Ifc4::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcRotationalStiffnessSelect>(true); } void Ifc4::IfcBoundaryNodeCondition::setRotationalStiffnessY(::Ifc4::IfcRotationalStiffnessSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4::IfcRotationalStiffnessSelect* Ifc4::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4::IfcRotationalStiffnessSelect>(true); } +::Ifc4::IfcRotationalStiffnessSelect* Ifc4::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4::IfcRotationalStiffnessSelect>(true); } void Ifc4::IfcBoundaryNodeCondition::setRotationalStiffnessZ(::Ifc4::IfcRotationalStiffnessSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4::IfcBoundaryNodeCondition::declaration() const { return *((IfcParse::entity*)IFC4_types[78]); } const IfcParse::entity& Ifc4::IfcBoundaryNodeCondition::Class() { return *((IfcParse::entity*)IFC4_types[78]); } Ifc4::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -Ifc4::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< std::string > v1_Name, ::Ifc4::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ) : IfcBoundaryCondition(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< std::string > v1_Name, ::Ifc4::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ) : IfcBoundaryCondition(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryNodeConditionWarping -::Ifc4::IfcWarpingStiffnessSelect* Ifc4::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4::IfcWarpingStiffnessSelect>(true); } +::Ifc4::IfcWarpingStiffnessSelect* Ifc4::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4::IfcWarpingStiffnessSelect>(true); } void Ifc4::IfcBoundaryNodeConditionWarping::setWarpingStiffness(::Ifc4::IfcWarpingStiffnessSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4::IfcBoundaryNodeConditionWarping::declaration() const { return *((IfcParse::entity*)IFC4_types[79]); } const IfcParse::entity& Ifc4::IfcBoundaryNodeConditionWarping::Class() { return *((IfcParse::entity*)IFC4_types[79]); } Ifc4::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(IfcEntityInstanceData&& e) : IfcBoundaryNodeCondition(std::move(e)) { } -Ifc4::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost::optional< std::string > v1_Name, ::Ifc4::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ, ::Ifc4::IfcWarpingStiffnessSelect* v8_WarpingStiffness) : IfcBoundaryNodeCondition(IfcEntityInstanceData(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_WarpingStiffness ? v8_WarpingStiffness->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost::optional< std::string > v1_Name, ::Ifc4::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ, ::Ifc4::IfcWarpingStiffnessSelect* v8_WarpingStiffness) : IfcBoundaryNodeCondition(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_WarpingStiffness ? v8_WarpingStiffness->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundedCurve @@ -7347,7 +7347,7 @@ Ifc4::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost::op const IfcParse::entity& Ifc4::IfcBoundedCurve::declaration() const { return *((IfcParse::entity*)IFC4_types[80]); } const IfcParse::entity& Ifc4::IfcBoundedCurve::Class() { return *((IfcParse::entity*)IFC4_types[80]); } Ifc4::IfcBoundedCurve::IfcBoundedCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcBoundedSurface @@ -7355,47 +7355,47 @@ Ifc4::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData(storag const IfcParse::entity& Ifc4::IfcBoundedSurface::declaration() const { return *((IfcParse::entity*)IFC4_types[81]); } const IfcParse::entity& Ifc4::IfcBoundedSurface::Class() { return *((IfcParse::entity*)IFC4_types[81]); } Ifc4::IfcBoundedSurface::IfcBoundedSurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4::IfcBoundedSurface::IfcBoundedSurface() : IfcSurface(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4::IfcBoundedSurface::IfcBoundedSurface() : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcBoundingBox -::Ifc4::IfcCartesianPoint* Ifc4::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcCartesianPoint>(true); } +::Ifc4::IfcCartesianPoint* Ifc4::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcCartesianPoint>(true); } void Ifc4::IfcBoundingBox::setCorner(::Ifc4::IfcCartesianPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4::IfcBoundingBox::XDim() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4::IfcBoundingBox::XDim() const { double v = get_attribute_value(1); return v; } void Ifc4::IfcBoundingBox::setXDim(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4::IfcBoundingBox::YDim() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4::IfcBoundingBox::YDim() const { double v = get_attribute_value(2); return v; } void Ifc4::IfcBoundingBox::setYDim(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4::IfcBoundingBox::ZDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4::IfcBoundingBox::ZDim() const { double v = get_attribute_value(3); return v; } void Ifc4::IfcBoundingBox::setZDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4::IfcBoundingBox::declaration() const { return *((IfcParse::entity*)IFC4_types[82]); } const IfcParse::entity& Ifc4::IfcBoundingBox::Class() { return *((IfcParse::entity*)IFC4_types[82]); } Ifc4::IfcBoundingBox::IfcBoundingBox(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4::IfcBoundingBox::IfcBoundingBox(::Ifc4::IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Corner ? v1_Corner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; populate_derived(); } +Ifc4::IfcBoundingBox::IfcBoundingBox(::Ifc4::IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Corner ? v1_Corner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; populate_derived(); } // Function implementations for IfcBoxedHalfSpace -::Ifc4::IfcBoundingBox* Ifc4::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcBoundingBox>(true); } +::Ifc4::IfcBoundingBox* Ifc4::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcBoundingBox>(true); } void Ifc4::IfcBoxedHalfSpace::setEnclosure(::Ifc4::IfcBoundingBox* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4::IfcBoxedHalfSpace::declaration() const { return *((IfcParse::entity*)IFC4_types[84]); } const IfcParse::entity& Ifc4::IfcBoxedHalfSpace::Class() { return *((IfcParse::entity*)IFC4_types[84]); } Ifc4::IfcBoxedHalfSpace::IfcBoxedHalfSpace(IfcEntityInstanceData&& e) : IfcHalfSpaceSolid(std::move(e)) { } -Ifc4::IfcBoxedHalfSpace::IfcBoxedHalfSpace(::Ifc4::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4::IfcBoundingBox* v3_Enclosure) : IfcHalfSpaceSolid(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Enclosure ? v3_Enclosure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcBoxedHalfSpace::IfcBoxedHalfSpace(::Ifc4::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4::IfcBoundingBox* v3_Enclosure) : IfcHalfSpaceSolid(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Enclosure ? v3_Enclosure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBuilding -boost::optional< double > Ifc4::IfcBuilding::ElevationOfRefHeight() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4::IfcBuilding::ElevationOfRefHeight() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4::IfcBuilding::ElevationOfTerrain() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4::IfcBuilding::ElevationOfTerrain() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4::IfcPostalAddress* Ifc4::IfcBuilding::BuildingAddress() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc4::IfcPostalAddress>(true); } +::Ifc4::IfcPostalAddress* Ifc4::IfcBuilding::BuildingAddress() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc4::IfcPostalAddress>(true); } void Ifc4::IfcBuilding::setBuildingAddress(::Ifc4::IfcPostalAddress* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4::IfcBuilding::declaration() const { return *((IfcParse::entity*)IFC4_types[91]); } const IfcParse::entity& Ifc4::IfcBuilding::Class() { return *((IfcParse::entity*)IFC4_types[91]); } Ifc4::IfcBuilding::IfcBuilding(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4::IfcBuilding::IfcBuilding(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, ::Ifc4::IfcPostalAddress* v12_BuildingAddress) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, v12_BuildingAddress ? v12_BuildingAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcBuilding::IfcBuilding(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, ::Ifc4::IfcPostalAddress* v12_BuildingAddress) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, v12_BuildingAddress ? v12_BuildingAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBuildingElement @@ -7403,47 +7403,47 @@ Ifc4::IfcBuilding::IfcBuilding(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* const IfcParse::entity& Ifc4::IfcBuildingElement::declaration() const { return *((IfcParse::entity*)IFC4_types[92]); } const IfcParse::entity& Ifc4::IfcBuildingElement::Class() { return *((IfcParse::entity*)IFC4_types[92]); } Ifc4::IfcBuildingElement::IfcBuildingElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4::IfcBuildingElement::IfcBuildingElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4::IfcBuildingElement::IfcBuildingElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcBuildingElementPart -boost::optional< ::Ifc4::IfcBuildingElementPartTypeEnum::Value > Ifc4::IfcBuildingElementPart::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcBuildingElementPartTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcBuildingElementPartTypeEnum::Value > Ifc4::IfcBuildingElementPart::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcBuildingElementPart::setPredefinedType(boost::optional< ::Ifc4::IfcBuildingElementPartTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcBuildingElementPartTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcBuildingElementPart::declaration() const { return *((IfcParse::entity*)IFC4_types[93]); } const IfcParse::entity& Ifc4::IfcBuildingElementPart::Class() { return *((IfcParse::entity*)IFC4_types[93]); } Ifc4::IfcBuildingElementPart::IfcBuildingElementPart(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4::IfcBuildingElementPart::IfcBuildingElementPart(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcBuildingElementPart::IfcBuildingElementPart(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBuildingElementPartType -::Ifc4::IfcBuildingElementPartTypeEnum::Value Ifc4::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4::IfcBuildingElementPartTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcBuildingElementPartTypeEnum::Value Ifc4::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcBuildingElementPartType::setPredefinedType(::Ifc4::IfcBuildingElementPartTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcBuildingElementPartTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcBuildingElementPartType::declaration() const { return *((IfcParse::entity*)IFC4_types[94]); } const IfcParse::entity& Ifc4::IfcBuildingElementPartType::Class() { return *((IfcParse::entity*)IFC4_types[94]); } Ifc4::IfcBuildingElementPartType::IfcBuildingElementPartType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4::IfcBuildingElementPartType::IfcBuildingElementPartType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcBuildingElementPartType::IfcBuildingElementPartType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBuildingElementProxy -boost::optional< ::Ifc4::IfcBuildingElementProxyTypeEnum::Value > Ifc4::IfcBuildingElementProxy::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcBuildingElementProxyTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcBuildingElementProxyTypeEnum::Value > Ifc4::IfcBuildingElementProxy::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcBuildingElementProxy::setPredefinedType(boost::optional< ::Ifc4::IfcBuildingElementProxyTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcBuildingElementProxyTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcBuildingElementProxy::declaration() const { return *((IfcParse::entity*)IFC4_types[96]); } const IfcParse::entity& Ifc4::IfcBuildingElementProxy::Class() { return *((IfcParse::entity*)IFC4_types[96]); } Ifc4::IfcBuildingElementProxy::IfcBuildingElementProxy(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4::IfcBuildingElementProxy::IfcBuildingElementProxy(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcBuildingElementProxy::IfcBuildingElementProxy(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBuildingElementProxyType -::Ifc4::IfcBuildingElementProxyTypeEnum::Value Ifc4::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4::IfcBuildingElementProxyTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcBuildingElementProxyTypeEnum::Value Ifc4::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcBuildingElementProxyType::setPredefinedType(::Ifc4::IfcBuildingElementProxyTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcBuildingElementProxyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcBuildingElementProxyType::declaration() const { return *((IfcParse::entity*)IFC4_types[97]); } const IfcParse::entity& Ifc4::IfcBuildingElementProxyType::Class() { return *((IfcParse::entity*)IFC4_types[97]); } Ifc4::IfcBuildingElementProxyType::IfcBuildingElementProxyType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4::IfcBuildingElementProxyType::IfcBuildingElementProxyType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcBuildingElementProxyType::IfcBuildingElementProxyType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBuildingElementType @@ -7451,157 +7451,157 @@ Ifc4::IfcBuildingElementProxyType::IfcBuildingElementProxyType(std::string v1_Gl const IfcParse::entity& Ifc4::IfcBuildingElementType::declaration() const { return *((IfcParse::entity*)IFC4_types[99]); } const IfcParse::entity& Ifc4::IfcBuildingElementType::Class() { return *((IfcParse::entity*)IFC4_types[99]); } Ifc4::IfcBuildingElementType::IfcBuildingElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4::IfcBuildingElementType::IfcBuildingElementType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4::IfcBuildingElementType::IfcBuildingElementType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcBuildingStorey -boost::optional< double > Ifc4::IfcBuildingStorey::Elevation() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4::IfcBuildingStorey::Elevation() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4::IfcBuildingStorey::setElevation(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4::IfcBuildingStorey::declaration() const { return *((IfcParse::entity*)IFC4_types[100]); } const IfcParse::entity& Ifc4::IfcBuildingStorey::Class() { return *((IfcParse::entity*)IFC4_types[100]); } Ifc4::IfcBuildingStorey::IfcBuildingStorey(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4::IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_Elevation) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; populate_derived(); } +Ifc4::IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_Elevation) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; populate_derived(); } // Function implementations for IfcBuildingSystem -boost::optional< ::Ifc4::IfcBuildingSystemTypeEnum::Value > Ifc4::IfcBuildingSystem::PredefinedType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4::IfcBuildingSystemTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4::IfcBuildingSystemTypeEnum::Value > Ifc4::IfcBuildingSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4::IfcBuildingSystemTypeEnum::FromString(get_attribute_value(5)); } void Ifc4::IfcBuildingSystem::setPredefinedType(boost::optional< ::Ifc4::IfcBuildingSystemTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4::IfcBuildingSystemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4::IfcBuildingSystem::LongName() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4::IfcBuildingSystem::LongName() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4::IfcBuildingSystem::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4::IfcBuildingSystem::declaration() const { return *((IfcParse::entity*)IFC4_types[101]); } const IfcParse::entity& Ifc4::IfcBuildingSystem::Class() { return *((IfcParse::entity*)IFC4_types[101]); } Ifc4::IfcBuildingSystem::IfcBuildingSystem(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4::IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } +Ifc4::IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } // Function implementations for IfcBurner -boost::optional< ::Ifc4::IfcBurnerTypeEnum::Value > Ifc4::IfcBurner::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcBurnerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcBurnerTypeEnum::Value > Ifc4::IfcBurner::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcBurnerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcBurner::setPredefinedType(boost::optional< ::Ifc4::IfcBurnerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcBurnerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcBurner::declaration() const { return *((IfcParse::entity*)IFC4_types[103]); } const IfcParse::entity& Ifc4::IfcBurner::Class() { return *((IfcParse::entity*)IFC4_types[103]); } Ifc4::IfcBurner::IfcBurner(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4::IfcBurner::IfcBurner(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcBurnerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcBurner::IfcBurner(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcBurnerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBurnerType -::Ifc4::IfcBurnerTypeEnum::Value Ifc4::IfcBurnerType::PredefinedType() const { return ::Ifc4::IfcBurnerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcBurnerTypeEnum::Value Ifc4::IfcBurnerType::PredefinedType() const { return ::Ifc4::IfcBurnerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcBurnerType::setPredefinedType(::Ifc4::IfcBurnerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcBurnerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcBurnerType::declaration() const { return *((IfcParse::entity*)IFC4_types[104]); } const IfcParse::entity& Ifc4::IfcBurnerType::Class() { return *((IfcParse::entity*)IFC4_types[104]); } Ifc4::IfcBurnerType::IfcBurnerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4::IfcBurnerType::IfcBurnerType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcBurnerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcBurnerType::IfcBurnerType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcBurnerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCShapeProfileDef -double Ifc4::IfcCShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4::IfcCShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4::IfcCShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4::IfcCShapeProfileDef::Width() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4::IfcCShapeProfileDef::Width() const { double v = get_attribute_value(4); return v; } void Ifc4::IfcCShapeProfileDef::setWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4::IfcCShapeProfileDef::WallThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4::IfcCShapeProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } void Ifc4::IfcCShapeProfileDef::setWallThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4::IfcCShapeProfileDef::Girth() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4::IfcCShapeProfileDef::Girth() const { double v = get_attribute_value(6); return v; } void Ifc4::IfcCShapeProfileDef::setGirth(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4::IfcCShapeProfileDef::InternalFilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4::IfcCShapeProfileDef::InternalFilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4::IfcCShapeProfileDef::setInternalFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4::IfcCShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4_types[231]); } const IfcParse::entity& Ifc4::IfcCShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4_types[231]); } Ifc4::IfcCShapeProfileDef::IfcCShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4::IfcCShapeProfileDef::IfcCShapeProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, boost::optional< double > v8_InternalFilletRadius) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); }; populate_derived(); } +Ifc4::IfcCShapeProfileDef::IfcCShapeProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, boost::optional< double > v8_InternalFilletRadius) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); }; populate_derived(); } // Function implementations for IfcCableCarrierFitting -boost::optional< ::Ifc4::IfcCableCarrierFittingTypeEnum::Value > Ifc4::IfcCableCarrierFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcCableCarrierFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcCableCarrierFittingTypeEnum::Value > Ifc4::IfcCableCarrierFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcCableCarrierFitting::setPredefinedType(boost::optional< ::Ifc4::IfcCableCarrierFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcCableCarrierFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcCableCarrierFitting::declaration() const { return *((IfcParse::entity*)IFC4_types[106]); } const IfcParse::entity& Ifc4::IfcCableCarrierFitting::Class() { return *((IfcParse::entity*)IFC4_types[106]); } Ifc4::IfcCableCarrierFitting::IfcCableCarrierFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4::IfcCableCarrierFitting::IfcCableCarrierFitting(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcCableCarrierFitting::IfcCableCarrierFitting(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableCarrierFittingType -::Ifc4::IfcCableCarrierFittingTypeEnum::Value Ifc4::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4::IfcCableCarrierFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcCableCarrierFittingTypeEnum::Value Ifc4::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcCableCarrierFittingType::setPredefinedType(::Ifc4::IfcCableCarrierFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcCableCarrierFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcCableCarrierFittingType::declaration() const { return *((IfcParse::entity*)IFC4_types[107]); } const IfcParse::entity& Ifc4::IfcCableCarrierFittingType::Class() { return *((IfcParse::entity*)IFC4_types[107]); } Ifc4::IfcCableCarrierFittingType::IfcCableCarrierFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4::IfcCableCarrierFittingType::IfcCableCarrierFittingType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcCableCarrierFittingType::IfcCableCarrierFittingType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCableCarrierSegment -boost::optional< ::Ifc4::IfcCableCarrierSegmentTypeEnum::Value > Ifc4::IfcCableCarrierSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcCableCarrierSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcCableCarrierSegmentTypeEnum::Value > Ifc4::IfcCableCarrierSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcCableCarrierSegment::setPredefinedType(boost::optional< ::Ifc4::IfcCableCarrierSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcCableCarrierSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcCableCarrierSegment::declaration() const { return *((IfcParse::entity*)IFC4_types[109]); } const IfcParse::entity& Ifc4::IfcCableCarrierSegment::Class() { return *((IfcParse::entity*)IFC4_types[109]); } Ifc4::IfcCableCarrierSegment::IfcCableCarrierSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4::IfcCableCarrierSegment::IfcCableCarrierSegment(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcCableCarrierSegment::IfcCableCarrierSegment(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableCarrierSegmentType -::Ifc4::IfcCableCarrierSegmentTypeEnum::Value Ifc4::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4::IfcCableCarrierSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcCableCarrierSegmentTypeEnum::Value Ifc4::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcCableCarrierSegmentType::setPredefinedType(::Ifc4::IfcCableCarrierSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcCableCarrierSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcCableCarrierSegmentType::declaration() const { return *((IfcParse::entity*)IFC4_types[110]); } const IfcParse::entity& Ifc4::IfcCableCarrierSegmentType::Class() { return *((IfcParse::entity*)IFC4_types[110]); } Ifc4::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCableFitting -boost::optional< ::Ifc4::IfcCableFittingTypeEnum::Value > Ifc4::IfcCableFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcCableFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcCableFittingTypeEnum::Value > Ifc4::IfcCableFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcCableFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcCableFitting::setPredefinedType(boost::optional< ::Ifc4::IfcCableFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcCableFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcCableFitting::declaration() const { return *((IfcParse::entity*)IFC4_types[112]); } const IfcParse::entity& Ifc4::IfcCableFitting::Class() { return *((IfcParse::entity*)IFC4_types[112]); } Ifc4::IfcCableFitting::IfcCableFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4::IfcCableFitting::IfcCableFitting(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcCableFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcCableFitting::IfcCableFitting(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcCableFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableFittingType -::Ifc4::IfcCableFittingTypeEnum::Value Ifc4::IfcCableFittingType::PredefinedType() const { return ::Ifc4::IfcCableFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcCableFittingTypeEnum::Value Ifc4::IfcCableFittingType::PredefinedType() const { return ::Ifc4::IfcCableFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcCableFittingType::setPredefinedType(::Ifc4::IfcCableFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcCableFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcCableFittingType::declaration() const { return *((IfcParse::entity*)IFC4_types[113]); } const IfcParse::entity& Ifc4::IfcCableFittingType::Class() { return *((IfcParse::entity*)IFC4_types[113]); } Ifc4::IfcCableFittingType::IfcCableFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4::IfcCableFittingType::IfcCableFittingType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcCableFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcCableFittingType::IfcCableFittingType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcCableFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCableSegment -boost::optional< ::Ifc4::IfcCableSegmentTypeEnum::Value > Ifc4::IfcCableSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcCableSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcCableSegmentTypeEnum::Value > Ifc4::IfcCableSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcCableSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcCableSegment::setPredefinedType(boost::optional< ::Ifc4::IfcCableSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcCableSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcCableSegment::declaration() const { return *((IfcParse::entity*)IFC4_types[115]); } const IfcParse::entity& Ifc4::IfcCableSegment::Class() { return *((IfcParse::entity*)IFC4_types[115]); } Ifc4::IfcCableSegment::IfcCableSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4::IfcCableSegment::IfcCableSegment(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcCableSegment::IfcCableSegment(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableSegmentType -::Ifc4::IfcCableSegmentTypeEnum::Value Ifc4::IfcCableSegmentType::PredefinedType() const { return ::Ifc4::IfcCableSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcCableSegmentTypeEnum::Value Ifc4::IfcCableSegmentType::PredefinedType() const { return ::Ifc4::IfcCableSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcCableSegmentType::setPredefinedType(::Ifc4::IfcCableSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcCableSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcCableSegmentType::declaration() const { return *((IfcParse::entity*)IFC4_types[116]); } const IfcParse::entity& Ifc4::IfcCableSegmentType::Class() { return *((IfcParse::entity*)IFC4_types[116]); } Ifc4::IfcCableSegmentType::IfcCableSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4::IfcCableSegmentType::IfcCableSegmentType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcCableSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcCableSegmentType::IfcCableSegmentType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcCableSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCartesianPoint -std::vector< double > /*[1:3]*/ Ifc4::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[1:3]*/ Ifc4::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = get_attribute_value(0); return v; } void Ifc4::IfcCartesianPoint::setCoordinates(std::vector< double > /*[1:3]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4::IfcCartesianPoint::declaration() const { return *((IfcParse::entity*)IFC4_types[119]); } const IfcParse::entity& Ifc4::IfcCartesianPoint::Class() { return *((IfcParse::entity*)IFC4_types[119]); } Ifc4::IfcCartesianPoint::IfcCartesianPoint(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ v1_Coordinates) : IfcPoint(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } +Ifc4::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ v1_Coordinates) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } // Function implementations for IfcCartesianPointList @@ -7609,43 +7609,43 @@ Ifc4::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ v1_Co const IfcParse::entity& Ifc4::IfcCartesianPointList::declaration() const { return *((IfcParse::entity*)IFC4_types[120]); } const IfcParse::entity& Ifc4::IfcCartesianPointList::Class() { return *((IfcParse::entity*)IFC4_types[120]); } Ifc4::IfcCartesianPointList::IfcCartesianPointList(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4::IfcCartesianPointList::IfcCartesianPointList() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4::IfcCartesianPointList::IfcCartesianPointList() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcCartesianPointList2D -std::vector< std::vector< double > > Ifc4::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4::IfcCartesianPointList2D::setCoordList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4::IfcCartesianPointList2D::declaration() const { return *((IfcParse::entity*)IFC4_types[121]); } const IfcParse::entity& Ifc4::IfcCartesianPointList2D::Class() { return *((IfcParse::entity*)IFC4_types[121]); } Ifc4::IfcCartesianPointList2D::IfcCartesianPointList2D(IfcEntityInstanceData&& e) : IfcCartesianPointList(std::move(e)) { } -Ifc4::IfcCartesianPointList2D::IfcCartesianPointList2D(std::vector< std::vector< double > > v1_CoordList) : IfcCartesianPointList(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CoordList));; populate_derived(); } +Ifc4::IfcCartesianPointList2D::IfcCartesianPointList2D(std::vector< std::vector< double > > v1_CoordList) : IfcCartesianPointList(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CoordList));; populate_derived(); } // Function implementations for IfcCartesianPointList3D -std::vector< std::vector< double > > Ifc4::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4::IfcCartesianPointList3D::setCoordList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4::IfcCartesianPointList3D::declaration() const { return *((IfcParse::entity*)IFC4_types[122]); } const IfcParse::entity& Ifc4::IfcCartesianPointList3D::Class() { return *((IfcParse::entity*)IFC4_types[122]); } Ifc4::IfcCartesianPointList3D::IfcCartesianPointList3D(IfcEntityInstanceData&& e) : IfcCartesianPointList(std::move(e)) { } -Ifc4::IfcCartesianPointList3D::IfcCartesianPointList3D(std::vector< std::vector< double > > v1_CoordList) : IfcCartesianPointList(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CoordList));; populate_derived(); } +Ifc4::IfcCartesianPointList3D::IfcCartesianPointList3D(std::vector< std::vector< double > > v1_CoordList) : IfcCartesianPointList(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CoordList));; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator -::Ifc4::IfcDirection* Ifc4::IfcCartesianTransformationOperator::Axis1() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcDirection>(true); } +::Ifc4::IfcDirection* Ifc4::IfcCartesianTransformationOperator::Axis1() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcCartesianTransformationOperator::setAxis1(::Ifc4::IfcDirection* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcDirection* Ifc4::IfcCartesianTransformationOperator::Axis2() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcDirection>(true); } +::Ifc4::IfcDirection* Ifc4::IfcCartesianTransformationOperator::Axis2() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcCartesianTransformationOperator::setAxis2(::Ifc4::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4::IfcCartesianPoint* Ifc4::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcCartesianPoint>(true); } +::Ifc4::IfcCartesianPoint* Ifc4::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcCartesianPoint>(true); } void Ifc4::IfcCartesianTransformationOperator::setLocalOrigin(::Ifc4::IfcCartesianPoint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4::IfcCartesianTransformationOperator::Scale() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4::IfcCartesianTransformationOperator::Scale() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4::IfcCartesianTransformationOperator::declaration() const { return *((IfcParse::entity*)IFC4_types[123]); } const IfcParse::entity& Ifc4::IfcCartesianTransformationOperator::Class() { return *((IfcParse::entity*)IFC4_types[123]); } Ifc4::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(::Ifc4::IfcDirection* v1_Axis1, ::Ifc4::IfcDirection* v2_Axis2, ::Ifc4::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } +Ifc4::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(::Ifc4::IfcDirection* v1_Axis1, ::Ifc4::IfcDirection* v2_Axis2, ::Ifc4::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator2D @@ -7653,119 +7653,119 @@ Ifc4::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(::I const IfcParse::entity& Ifc4::IfcCartesianTransformationOperator2D::declaration() const { return *((IfcParse::entity*)IFC4_types[124]); } const IfcParse::entity& Ifc4::IfcCartesianTransformationOperator2D::Class() { return *((IfcParse::entity*)IFC4_types[124]); } Ifc4::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator(std::move(e)) { } -Ifc4::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(::Ifc4::IfcDirection* v1_Axis1, ::Ifc4::IfcDirection* v2_Axis2, ::Ifc4::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcCartesianTransformationOperator(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } +Ifc4::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(::Ifc4::IfcDirection* v1_Axis1, ::Ifc4::IfcDirection* v2_Axis2, ::Ifc4::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcCartesianTransformationOperator(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator2DnonUniform -boost::optional< double > Ifc4::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4::IfcCartesianTransformationOperator2DnonUniform::setScale2(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4::IfcCartesianTransformationOperator2DnonUniform::declaration() const { return *((IfcParse::entity*)IFC4_types[125]); } const IfcParse::entity& Ifc4::IfcCartesianTransformationOperator2DnonUniform::Class() { return *((IfcParse::entity*)IFC4_types[125]); } Ifc4::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator2D(std::move(e)) { } -Ifc4::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(::Ifc4::IfcDirection* v1_Axis1, ::Ifc4::IfcDirection* v2_Axis2, ::Ifc4::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2) : IfcCartesianTransformationOperator2D(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; populate_derived(); } +Ifc4::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(::Ifc4::IfcDirection* v1_Axis1, ::Ifc4::IfcDirection* v2_Axis2, ::Ifc4::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2) : IfcCartesianTransformationOperator2D(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator3D -::Ifc4::IfcDirection* Ifc4::IfcCartesianTransformationOperator3D::Axis3() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4::IfcDirection>(true); } +::Ifc4::IfcDirection* Ifc4::IfcCartesianTransformationOperator3D::Axis3() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcCartesianTransformationOperator3D::setAxis3(::Ifc4::IfcDirection* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4::IfcCartesianTransformationOperator3D::declaration() const { return *((IfcParse::entity*)IFC4_types[126]); } const IfcParse::entity& Ifc4::IfcCartesianTransformationOperator3D::Class() { return *((IfcParse::entity*)IFC4_types[126]); } Ifc4::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator(std::move(e)) { } -Ifc4::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(::Ifc4::IfcDirection* v1_Axis1, ::Ifc4::IfcDirection* v2_Axis2, ::Ifc4::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4::IfcDirection* v5_Axis3) : IfcCartesianTransformationOperator(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(::Ifc4::IfcDirection* v1_Axis1, ::Ifc4::IfcDirection* v2_Axis2, ::Ifc4::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4::IfcDirection* v5_Axis3) : IfcCartesianTransformationOperator(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator3DnonUniform -boost::optional< double > Ifc4::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4::IfcCartesianTransformationOperator3DnonUniform::setScale2(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4::IfcCartesianTransformationOperator3DnonUniform::Scale3() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4::IfcCartesianTransformationOperator3DnonUniform::Scale3() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4::IfcCartesianTransformationOperator3DnonUniform::setScale3(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4::IfcCartesianTransformationOperator3DnonUniform::declaration() const { return *((IfcParse::entity*)IFC4_types[127]); } const IfcParse::entity& Ifc4::IfcCartesianTransformationOperator3DnonUniform::Class() { return *((IfcParse::entity*)IFC4_types[127]); } Ifc4::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator3D(std::move(e)) { } -Ifc4::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(::Ifc4::IfcDirection* v1_Axis1, ::Ifc4::IfcDirection* v2_Axis2, ::Ifc4::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4::IfcDirection* v5_Axis3, boost::optional< double > v6_Scale2, boost::optional< double > v7_Scale3) : IfcCartesianTransformationOperator3D(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; populate_derived(); } +Ifc4::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(::Ifc4::IfcDirection* v1_Axis1, ::Ifc4::IfcDirection* v2_Axis2, ::Ifc4::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4::IfcDirection* v5_Axis3, boost::optional< double > v6_Scale2, boost::optional< double > v7_Scale3) : IfcCartesianTransformationOperator3D(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; populate_derived(); } // Function implementations for IfcCenterLineProfileDef -double Ifc4::IfcCenterLineProfileDef::Thickness() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4::IfcCenterLineProfileDef::Thickness() const { double v = get_attribute_value(3); return v; } void Ifc4::IfcCenterLineProfileDef::setThickness(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4::IfcCenterLineProfileDef::declaration() const { return *((IfcParse::entity*)IFC4_types[128]); } const IfcParse::entity& Ifc4::IfcCenterLineProfileDef::Class() { return *((IfcParse::entity*)IFC4_types[128]); } Ifc4::IfcCenterLineProfileDef::IfcCenterLineProfileDef(IfcEntityInstanceData&& e) : IfcArbitraryOpenProfileDef(std::move(e)) { } -Ifc4::IfcCenterLineProfileDef::IfcCenterLineProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcBoundedCurve* v3_Curve, double v4_Thickness) : IfcArbitraryOpenProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Thickness));; populate_derived(); } +Ifc4::IfcCenterLineProfileDef::IfcCenterLineProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcBoundedCurve* v3_Curve, double v4_Thickness) : IfcArbitraryOpenProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Thickness));; populate_derived(); } // Function implementations for IfcChiller -boost::optional< ::Ifc4::IfcChillerTypeEnum::Value > Ifc4::IfcChiller::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcChillerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcChillerTypeEnum::Value > Ifc4::IfcChiller::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcChillerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcChiller::setPredefinedType(boost::optional< ::Ifc4::IfcChillerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcChillerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcChiller::declaration() const { return *((IfcParse::entity*)IFC4_types[130]); } const IfcParse::entity& Ifc4::IfcChiller::Class() { return *((IfcParse::entity*)IFC4_types[130]); } Ifc4::IfcChiller::IfcChiller(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4::IfcChiller::IfcChiller(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcChillerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcChiller::IfcChiller(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcChillerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcChillerType -::Ifc4::IfcChillerTypeEnum::Value Ifc4::IfcChillerType::PredefinedType() const { return ::Ifc4::IfcChillerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcChillerTypeEnum::Value Ifc4::IfcChillerType::PredefinedType() const { return ::Ifc4::IfcChillerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcChillerType::setPredefinedType(::Ifc4::IfcChillerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcChillerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcChillerType::declaration() const { return *((IfcParse::entity*)IFC4_types[131]); } const IfcParse::entity& Ifc4::IfcChillerType::Class() { return *((IfcParse::entity*)IFC4_types[131]); } Ifc4::IfcChillerType::IfcChillerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4::IfcChillerType::IfcChillerType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcChillerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcChillerType::IfcChillerType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcChillerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcChimney -boost::optional< ::Ifc4::IfcChimneyTypeEnum::Value > Ifc4::IfcChimney::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcChimneyTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcChimneyTypeEnum::Value > Ifc4::IfcChimney::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcChimneyTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcChimney::setPredefinedType(boost::optional< ::Ifc4::IfcChimneyTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcChimneyTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcChimney::declaration() const { return *((IfcParse::entity*)IFC4_types[133]); } const IfcParse::entity& Ifc4::IfcChimney::Class() { return *((IfcParse::entity*)IFC4_types[133]); } Ifc4::IfcChimney::IfcChimney(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4::IfcChimney::IfcChimney(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcChimneyTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcChimney::IfcChimney(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcChimneyTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcChimneyType -::Ifc4::IfcChimneyTypeEnum::Value Ifc4::IfcChimneyType::PredefinedType() const { return ::Ifc4::IfcChimneyTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcChimneyTypeEnum::Value Ifc4::IfcChimneyType::PredefinedType() const { return ::Ifc4::IfcChimneyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcChimneyType::setPredefinedType(::Ifc4::IfcChimneyTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcChimneyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcChimneyType::declaration() const { return *((IfcParse::entity*)IFC4_types[134]); } const IfcParse::entity& Ifc4::IfcChimneyType::Class() { return *((IfcParse::entity*)IFC4_types[134]); } Ifc4::IfcChimneyType::IfcChimneyType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4::IfcChimneyType::IfcChimneyType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcChimneyTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcChimneyType::IfcChimneyType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcChimneyTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCircle -double Ifc4::IfcCircle::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4::IfcCircle::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4::IfcCircle::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcCircle::declaration() const { return *((IfcParse::entity*)IFC4_types[136]); } const IfcParse::entity& Ifc4::IfcCircle::Class() { return *((IfcParse::entity*)IFC4_types[136]); } Ifc4::IfcCircle::IfcCircle(IfcEntityInstanceData&& e) : IfcConic(std::move(e)) { } -Ifc4::IfcCircle::IfcCircle(::Ifc4::IfcAxis2Placement* v1_Position, double v2_Radius) : IfcConic(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4::IfcCircle::IfcCircle(::Ifc4::IfcAxis2Placement* v1_Position, double v2_Radius) : IfcConic(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcCircleHollowProfileDef -double Ifc4::IfcCircleHollowProfileDef::WallThickness() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4::IfcCircleHollowProfileDef::WallThickness() const { double v = get_attribute_value(4); return v; } void Ifc4::IfcCircleHollowProfileDef::setWallThickness(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4::IfcCircleHollowProfileDef::declaration() const { return *((IfcParse::entity*)IFC4_types[137]); } const IfcParse::entity& Ifc4::IfcCircleHollowProfileDef::Class() { return *((IfcParse::entity*)IFC4_types[137]); } Ifc4::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(IfcEntityInstanceData&& e) : IfcCircleProfileDef(std::move(e)) { } -Ifc4::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D* v3_Position, double v4_Radius, double v5_WallThickness) : IfcCircleProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; populate_derived(); } +Ifc4::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D* v3_Position, double v4_Radius, double v5_WallThickness) : IfcCircleProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; populate_derived(); } // Function implementations for IfcCircleProfileDef -double Ifc4::IfcCircleProfileDef::Radius() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4::IfcCircleProfileDef::Radius() const { double v = get_attribute_value(3); return v; } void Ifc4::IfcCircleProfileDef::setRadius(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4::IfcCircleProfileDef::declaration() const { return *((IfcParse::entity*)IFC4_types[138]); } const IfcParse::entity& Ifc4::IfcCircleProfileDef::Class() { return *((IfcParse::entity*)IFC4_types[138]); } Ifc4::IfcCircleProfileDef::IfcCircleProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4::IfcCircleProfileDef::IfcCircleProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D* v3_Position, double v4_Radius) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));; populate_derived(); } +Ifc4::IfcCircleProfileDef::IfcCircleProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D* v3_Position, double v4_Radius) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));; populate_derived(); } // Function implementations for IfcCivilElement @@ -7773,7 +7773,7 @@ Ifc4::IfcCircleProfileDef::IfcCircleProfileDef(::Ifc4::IfcProfileTypeEnum::Value const IfcParse::entity& Ifc4::IfcCivilElement::declaration() const { return *((IfcParse::entity*)IFC4_types[139]); } const IfcParse::entity& Ifc4::IfcCivilElement::Class() { return *((IfcParse::entity*)IFC4_types[139]); } Ifc4::IfcCivilElement::IfcCivilElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4::IfcCivilElement::IfcCivilElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4::IfcCivilElement::IfcCivilElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcCivilElementType @@ -7781,22 +7781,22 @@ Ifc4::IfcCivilElement::IfcCivilElement(std::string v1_GlobalId, ::Ifc4::IfcOwner const IfcParse::entity& Ifc4::IfcCivilElementType::declaration() const { return *((IfcParse::entity*)IFC4_types[140]); } const IfcParse::entity& Ifc4::IfcCivilElementType::Class() { return *((IfcParse::entity*)IFC4_types[140]); } Ifc4::IfcCivilElementType::IfcCivilElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4::IfcCivilElementType::IfcCivilElementType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4::IfcCivilElementType::IfcCivilElementType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcClassification -boost::optional< std::string > Ifc4::IfcClassification::Source() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4::IfcClassification::Source() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4::IfcClassification::setSource(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4::IfcClassification::Edition() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4::IfcClassification::Edition() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcClassification::setEdition(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4::IfcClassification::EditionDate() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4::IfcClassification::EditionDate() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4::IfcClassification::setEditionDate(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::string Ifc4::IfcClassification::Name() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4::IfcClassification::Name() const { std::string v = get_attribute_value(3); return v; } void Ifc4::IfcClassification::setName(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4::IfcClassification::Description() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4::IfcClassification::Description() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcClassification::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4::IfcClassification::Location() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4::IfcClassification::Location() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcClassification::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcClassification::ReferenceTokens() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(6); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcClassification::ReferenceTokens() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(6); return v; } void Ifc4::IfcClassification::setReferenceTokens(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4::IfcRelAssociatesClassification::list::ptr Ifc4::IfcClassification::ClassificationForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[808], 5)->as(); } @@ -7805,14 +7805,14 @@ void Ifc4::IfcClassification::setReferenceTokens(boost::optional< std::vector< s const IfcParse::entity& Ifc4::IfcClassification::declaration() const { return *((IfcParse::entity*)IFC4_types[141]); } const IfcParse::entity& Ifc4::IfcClassification::Class() { return *((IfcParse::entity*)IFC4_types[141]); } Ifc4::IfcClassification::IfcClassification(IfcEntityInstanceData&& e) : IfcExternalInformation(std::move(e)) { } -Ifc4::IfcClassification::IfcClassification(boost::optional< std::string > v1_Source, boost::optional< std::string > v2_Edition, boost::optional< std::string > v3_EditionDate, std::string v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Location, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) : IfcExternalInformation(IfcEntityInstanceData(storage_t(7))) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Location) {set_attribute_value(5, (*v6_Location)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); }; populate_derived(); } +Ifc4::IfcClassification::IfcClassification(boost::optional< std::string > v1_Source, boost::optional< std::string > v2_Edition, boost::optional< std::string > v3_EditionDate, std::string v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Location, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) : IfcExternalInformation(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Location) {set_attribute_value(5, (*v6_Location)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); }; populate_derived(); } // Function implementations for IfcClassificationReference -::Ifc4::IfcClassificationReferenceSelect* Ifc4::IfcClassificationReference::ReferencedSource() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4::IfcClassificationReferenceSelect>(true); } +::Ifc4::IfcClassificationReferenceSelect* Ifc4::IfcClassificationReference::ReferencedSource() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4::IfcClassificationReferenceSelect>(true); } void Ifc4::IfcClassificationReference::setReferencedSource(::Ifc4::IfcClassificationReferenceSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4::IfcClassificationReference::Description() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4::IfcClassificationReference::Description() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcClassificationReference::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4::IfcClassificationReference::Sort() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4::IfcClassificationReference::Sort() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcClassificationReference::setSort(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4::IfcRelAssociatesClassification::list::ptr Ifc4::IfcClassificationReference::ClassificationRefForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[808], 5)->as(); } @@ -7821,7 +7821,7 @@ void Ifc4::IfcClassificationReference::setSort(boost::optional< std::string > v) const IfcParse::entity& Ifc4::IfcClassificationReference::declaration() const { return *((IfcParse::entity*)IFC4_types[142]); } const IfcParse::entity& Ifc4::IfcClassificationReference::Class() { return *((IfcParse::entity*)IFC4_types[142]); } Ifc4::IfcClassificationReference::IfcClassificationReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4::IfcClassificationReference::IfcClassificationReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, ::Ifc4::IfcClassificationReferenceSelect* v4_ReferencedSource, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Sort) : IfcExternalReference(IfcEntityInstanceData(storage_t(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, v4_ReferencedSource ? v4_ReferencedSource->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); }; populate_derived(); } +Ifc4::IfcClassificationReference::IfcClassificationReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, ::Ifc4::IfcClassificationReferenceSelect* v4_ReferencedSource, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Sort) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, v4_ReferencedSource ? v4_ReferencedSource->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); }; populate_derived(); } // Function implementations for IfcClosedShell @@ -7829,71 +7829,71 @@ Ifc4::IfcClassificationReference::IfcClassificationReference(boost::optional< st const IfcParse::entity& Ifc4::IfcClosedShell::declaration() const { return *((IfcParse::entity*)IFC4_types[145]); } const IfcParse::entity& Ifc4::IfcClosedShell::Class() { return *((IfcParse::entity*)IFC4_types[145]); } Ifc4::IfcClosedShell::IfcClosedShell(IfcEntityInstanceData&& e) : IfcConnectedFaceSet(std::move(e)) { } -Ifc4::IfcClosedShell::IfcClosedShell(aggregate_of< ::Ifc4::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc4::IfcClosedShell::IfcClosedShell(aggregate_of< ::Ifc4::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcCoil -boost::optional< ::Ifc4::IfcCoilTypeEnum::Value > Ifc4::IfcCoil::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcCoilTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcCoilTypeEnum::Value > Ifc4::IfcCoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcCoilTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcCoil::setPredefinedType(boost::optional< ::Ifc4::IfcCoilTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcCoilTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcCoil::declaration() const { return *((IfcParse::entity*)IFC4_types[146]); } const IfcParse::entity& Ifc4::IfcCoil::Class() { return *((IfcParse::entity*)IFC4_types[146]); } Ifc4::IfcCoil::IfcCoil(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4::IfcCoil::IfcCoil(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcCoilTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcCoil::IfcCoil(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcCoilTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCoilType -::Ifc4::IfcCoilTypeEnum::Value Ifc4::IfcCoilType::PredefinedType() const { return ::Ifc4::IfcCoilTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcCoilTypeEnum::Value Ifc4::IfcCoilType::PredefinedType() const { return ::Ifc4::IfcCoilTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcCoilType::setPredefinedType(::Ifc4::IfcCoilTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcCoilTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcCoilType::declaration() const { return *((IfcParse::entity*)IFC4_types[147]); } const IfcParse::entity& Ifc4::IfcCoilType::Class() { return *((IfcParse::entity*)IFC4_types[147]); } Ifc4::IfcCoilType::IfcCoilType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4::IfcCoilType::IfcCoilType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcCoilTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcCoilType::IfcCoilType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcCoilTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcColourRgb -double Ifc4::IfcColourRgb::Red() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4::IfcColourRgb::Red() const { double v = get_attribute_value(1); return v; } void Ifc4::IfcColourRgb::setRed(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4::IfcColourRgb::Green() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4::IfcColourRgb::Green() const { double v = get_attribute_value(2); return v; } void Ifc4::IfcColourRgb::setGreen(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4::IfcColourRgb::Blue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4::IfcColourRgb::Blue() const { double v = get_attribute_value(3); return v; } void Ifc4::IfcColourRgb::setBlue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4::IfcColourRgb::declaration() const { return *((IfcParse::entity*)IFC4_types[151]); } const IfcParse::entity& Ifc4::IfcColourRgb::Class() { return *((IfcParse::entity*)IFC4_types[151]); } Ifc4::IfcColourRgb::IfcColourRgb(IfcEntityInstanceData&& e) : IfcColourSpecification(std::move(e)) { } -Ifc4::IfcColourRgb::IfcColourRgb(boost::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) : IfcColourSpecification(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; populate_derived(); } +Ifc4::IfcColourRgb::IfcColourRgb(boost::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) : IfcColourSpecification(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; populate_derived(); } // Function implementations for IfcColourRgbList -std::vector< std::vector< double > > Ifc4::IfcColourRgbList::ColourList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4::IfcColourRgbList::ColourList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4::IfcColourRgbList::setColourList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4::IfcColourRgbList::declaration() const { return *((IfcParse::entity*)IFC4_types[152]); } const IfcParse::entity& Ifc4::IfcColourRgbList::Class() { return *((IfcParse::entity*)IFC4_types[152]); } Ifc4::IfcColourRgbList::IfcColourRgbList(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4::IfcColourRgbList::IfcColourRgbList(std::vector< std::vector< double > > v1_ColourList) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_ColourList));; populate_derived(); } +Ifc4::IfcColourRgbList::IfcColourRgbList(std::vector< std::vector< double > > v1_ColourList) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_ColourList));; populate_derived(); } // Function implementations for IfcColourSpecification -boost::optional< std::string > Ifc4::IfcColourSpecification::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4::IfcColourSpecification::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4::IfcColourSpecification::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4::IfcColourSpecification::declaration() const { return *((IfcParse::entity*)IFC4_types[153]); } const IfcParse::entity& Ifc4::IfcColourSpecification::Class() { return *((IfcParse::entity*)IFC4_types[153]); } Ifc4::IfcColourSpecification::IfcColourSpecification(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4::IfcColourSpecification::IfcColourSpecification(boost::optional< std::string > v1_Name) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4::IfcColourSpecification::IfcColourSpecification(boost::optional< std::string > v1_Name) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcColumn -boost::optional< ::Ifc4::IfcColumnTypeEnum::Value > Ifc4::IfcColumn::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcColumnTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcColumnTypeEnum::Value > Ifc4::IfcColumn::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcColumnTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcColumn::setPredefinedType(boost::optional< ::Ifc4::IfcColumnTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcColumnTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcColumn::declaration() const { return *((IfcParse::entity*)IFC4_types[154]); } const IfcParse::entity& Ifc4::IfcColumn::Class() { return *((IfcParse::entity*)IFC4_types[154]); } Ifc4::IfcColumn::IfcColumn(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4::IfcColumn::IfcColumn(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcColumnTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcColumn::IfcColumn(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcColumnTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcColumnStandardCase @@ -7901,75 +7901,75 @@ Ifc4::IfcColumn::IfcColumn(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_ const IfcParse::entity& Ifc4::IfcColumnStandardCase::declaration() const { return *((IfcParse::entity*)IFC4_types[155]); } const IfcParse::entity& Ifc4::IfcColumnStandardCase::Class() { return *((IfcParse::entity*)IFC4_types[155]); } Ifc4::IfcColumnStandardCase::IfcColumnStandardCase(IfcEntityInstanceData&& e) : IfcColumn(std::move(e)) { } -Ifc4::IfcColumnStandardCase::IfcColumnStandardCase(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcColumnTypeEnum::Value > v9_PredefinedType) : IfcColumn(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcColumnStandardCase::IfcColumnStandardCase(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcColumnTypeEnum::Value > v9_PredefinedType) : IfcColumn(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcColumnType -::Ifc4::IfcColumnTypeEnum::Value Ifc4::IfcColumnType::PredefinedType() const { return ::Ifc4::IfcColumnTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcColumnTypeEnum::Value Ifc4::IfcColumnType::PredefinedType() const { return ::Ifc4::IfcColumnTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcColumnType::setPredefinedType(::Ifc4::IfcColumnTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcColumnTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcColumnType::declaration() const { return *((IfcParse::entity*)IFC4_types[156]); } const IfcParse::entity& Ifc4::IfcColumnType::Class() { return *((IfcParse::entity*)IFC4_types[156]); } Ifc4::IfcColumnType::IfcColumnType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4::IfcColumnType::IfcColumnType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcColumnTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcColumnType::IfcColumnType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcColumnTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCommunicationsAppliance -boost::optional< ::Ifc4::IfcCommunicationsApplianceTypeEnum::Value > Ifc4::IfcCommunicationsAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcCommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcCommunicationsApplianceTypeEnum::Value > Ifc4::IfcCommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcCommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4::IfcCommunicationsApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcCommunicationsApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcCommunicationsAppliance::declaration() const { return *((IfcParse::entity*)IFC4_types[158]); } const IfcParse::entity& Ifc4::IfcCommunicationsAppliance::Class() { return *((IfcParse::entity*)IFC4_types[158]); } Ifc4::IfcCommunicationsAppliance::IfcCommunicationsAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4::IfcCommunicationsAppliance::IfcCommunicationsAppliance(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcCommunicationsAppliance::IfcCommunicationsAppliance(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCommunicationsApplianceType -::Ifc4::IfcCommunicationsApplianceTypeEnum::Value Ifc4::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4::IfcCommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcCommunicationsApplianceTypeEnum::Value Ifc4::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcCommunicationsApplianceType::setPredefinedType(::Ifc4::IfcCommunicationsApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcCommunicationsApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcCommunicationsApplianceType::declaration() const { return *((IfcParse::entity*)IFC4_types[159]); } const IfcParse::entity& Ifc4::IfcCommunicationsApplianceType::Class() { return *((IfcParse::entity*)IFC4_types[159]); } Ifc4::IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4::IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcComplexProperty -std::string Ifc4::IfcComplexProperty::UsageName() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4::IfcComplexProperty::UsageName() const { std::string v = get_attribute_value(2); return v; } void Ifc4::IfcComplexProperty::setUsageName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4::IfcProperty >::ptr Ifc4::IfcComplexProperty::HasProperties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4::IfcProperty >(); } +aggregate_of< ::Ifc4::IfcProperty >::ptr Ifc4::IfcComplexProperty::HasProperties() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4::IfcProperty >(); } void Ifc4::IfcComplexProperty::setHasProperties(aggregate_of< ::Ifc4::IfcProperty >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4::IfcComplexProperty::declaration() const { return *((IfcParse::entity*)IFC4_types[162]); } const IfcParse::entity& Ifc4::IfcComplexProperty::Class() { return *((IfcParse::entity*)IFC4_types[162]); } Ifc4::IfcComplexProperty::IfcComplexProperty(IfcEntityInstanceData&& e) : IfcProperty(std::move(e)) { } -Ifc4::IfcComplexProperty::IfcComplexProperty(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_UsageName, aggregate_of< ::Ifc4::IfcProperty >::ptr v4_HasProperties) : IfcProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, (v4_HasProperties)->generalize());; populate_derived(); } +Ifc4::IfcComplexProperty::IfcComplexProperty(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_UsageName, aggregate_of< ::Ifc4::IfcProperty >::ptr v4_HasProperties) : IfcProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, (v4_HasProperties)->generalize());; populate_derived(); } // Function implementations for IfcComplexPropertyTemplate -boost::optional< std::string > Ifc4::IfcComplexPropertyTemplate::UsageName() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4::IfcComplexPropertyTemplate::UsageName() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcComplexPropertyTemplate::setUsageName(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< ::Ifc4::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4::IfcComplexPropertyTemplate::TemplateType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4::IfcComplexPropertyTemplateTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4::IfcComplexPropertyTemplate::TemplateType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4::IfcComplexPropertyTemplateTypeEnum::FromString(get_attribute_value(5)); } void Ifc4::IfcComplexPropertyTemplate::setTemplateType(boost::optional< ::Ifc4::IfcComplexPropertyTemplateTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4::IfcComplexPropertyTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -boost::optional< aggregate_of< ::Ifc4::IfcPropertyTemplate >::ptr > Ifc4::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4::IfcPropertyTemplate >(); } +boost::optional< aggregate_of< ::Ifc4::IfcPropertyTemplate >::ptr > Ifc4::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4::IfcPropertyTemplate >(); } void Ifc4::IfcComplexPropertyTemplate::setHasPropertyTemplates(boost::optional< aggregate_of< ::Ifc4::IfcPropertyTemplate >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4::IfcComplexPropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4_types[163]); } const IfcParse::entity& Ifc4::IfcComplexPropertyTemplate::Class() { return *((IfcParse::entity*)IFC4_types[163]); } Ifc4::IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplate(std::move(e)) { } -Ifc4::IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_UsageName, boost::optional< ::Ifc4::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, boost::optional< aggregate_of< ::Ifc4::IfcPropertyTemplate >::ptr > v7_HasPropertyTemplates) : IfcPropertyTemplate(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, (*v7_HasPropertyTemplates)->generalize()); }; populate_derived(); } +Ifc4::IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_UsageName, boost::optional< ::Ifc4::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, boost::optional< aggregate_of< ::Ifc4::IfcPropertyTemplate >::ptr > v7_HasPropertyTemplates) : IfcPropertyTemplate(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, (*v7_HasPropertyTemplates)->generalize()); }; populate_derived(); } // Function implementations for IfcCompositeCurve -aggregate_of< ::Ifc4::IfcCompositeCurveSegment >::ptr Ifc4::IfcCompositeCurve::Segments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4::IfcCompositeCurveSegment >(); } +aggregate_of< ::Ifc4::IfcCompositeCurveSegment >::ptr Ifc4::IfcCompositeCurve::Segments() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4::IfcCompositeCurveSegment >(); } void Ifc4::IfcCompositeCurve::setSegments(aggregate_of< ::Ifc4::IfcCompositeCurveSegment >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::logic::tribool Ifc4::IfcCompositeCurve::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(1); return v; } +boost::logic::tribool Ifc4::IfcCompositeCurve::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(1); return v; } void Ifc4::IfcCompositeCurve::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcCompositeCurve::declaration() const { return *((IfcParse::entity*)IFC4_types[165]); } const IfcParse::entity& Ifc4::IfcCompositeCurve::Class() { return *((IfcParse::entity*)IFC4_types[165]); } Ifc4::IfcCompositeCurve::IfcCompositeCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc4::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc4::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcCompositeCurveOnSurface @@ -7977,14 +7977,14 @@ Ifc4::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc4::IfcCompositeCur const IfcParse::entity& Ifc4::IfcCompositeCurveOnSurface::declaration() const { return *((IfcParse::entity*)IFC4_types[166]); } const IfcParse::entity& Ifc4::IfcCompositeCurveOnSurface::Class() { return *((IfcParse::entity*)IFC4_types[166]); } Ifc4::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(IfcEntityInstanceData&& e) : IfcCompositeCurve(std::move(e)) { } -Ifc4::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(aggregate_of< ::Ifc4::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(aggregate_of< ::Ifc4::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcCompositeCurveSegment -::Ifc4::IfcTransitionCode::Value Ifc4::IfcCompositeCurveSegment::Transition() const { return ::Ifc4::IfcTransitionCode::FromString(data_.get_attribute_value(0)); } +::Ifc4::IfcTransitionCode::Value Ifc4::IfcCompositeCurveSegment::Transition() const { return ::Ifc4::IfcTransitionCode::FromString(get_attribute_value(0)); } void Ifc4::IfcCompositeCurveSegment::setTransition(::Ifc4::IfcTransitionCode::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4::IfcTransitionCode::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -bool Ifc4::IfcCompositeCurveSegment::SameSense() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4::IfcCompositeCurveSegment::SameSense() const { bool v = get_attribute_value(1); return v; } void Ifc4::IfcCompositeCurveSegment::setSameSense(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4::IfcCurve* Ifc4::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcCurve>(true); } +::Ifc4::IfcCurve* Ifc4::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcCompositeCurveSegment::setParentCurve(::Ifc4::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } ::Ifc4::IfcCompositeCurve::list::ptr Ifc4::IfcCompositeCurveSegment::UsingCurves() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[165], 0)->as(); } @@ -7992,91 +7992,91 @@ void Ifc4::IfcCompositeCurveSegment::setParentCurve(::Ifc4::IfcCurve* v) { set_a const IfcParse::entity& Ifc4::IfcCompositeCurveSegment::declaration() const { return *((IfcParse::entity*)IFC4_types[167]); } const IfcParse::entity& Ifc4::IfcCompositeCurveSegment::Class() { return *((IfcParse::entity*)IFC4_types[167]); } Ifc4::IfcCompositeCurveSegment::IfcCompositeCurveSegment(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4::IfcCompositeCurveSegment::IfcCompositeCurveSegment(::Ifc4::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4::IfcCurve* v3_ParentCurve) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcCompositeCurveSegment::IfcCompositeCurveSegment(::Ifc4::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4::IfcCurve* v3_ParentCurve) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCompositeProfileDef -aggregate_of< ::Ifc4::IfcProfileDef >::ptr Ifc4::IfcCompositeProfileDef::Profiles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4::IfcProfileDef >(); } +aggregate_of< ::Ifc4::IfcProfileDef >::ptr Ifc4::IfcCompositeProfileDef::Profiles() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4::IfcProfileDef >(); } void Ifc4::IfcCompositeProfileDef::setProfiles(aggregate_of< ::Ifc4::IfcProfileDef >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4::IfcCompositeProfileDef::Label() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4::IfcCompositeProfileDef::Label() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4::IfcCompositeProfileDef::setLabel(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4::IfcCompositeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4_types[168]); } const IfcParse::entity& Ifc4::IfcCompositeProfileDef::Class() { return *((IfcParse::entity*)IFC4_types[168]); } Ifc4::IfcCompositeProfileDef::IfcCompositeProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4::IfcCompositeProfileDef::IfcCompositeProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, aggregate_of< ::Ifc4::IfcProfileDef >::ptr v3_Profiles, boost::optional< std::string > v4_Label) : IfcProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Profiles)->generalize()); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; populate_derived(); } +Ifc4::IfcCompositeProfileDef::IfcCompositeProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, aggregate_of< ::Ifc4::IfcProfileDef >::ptr v3_Profiles, boost::optional< std::string > v4_Label) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Profiles)->generalize()); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; populate_derived(); } // Function implementations for IfcCompressor -boost::optional< ::Ifc4::IfcCompressorTypeEnum::Value > Ifc4::IfcCompressor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcCompressorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcCompressorTypeEnum::Value > Ifc4::IfcCompressor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcCompressorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcCompressor::setPredefinedType(boost::optional< ::Ifc4::IfcCompressorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcCompressorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcCompressor::declaration() const { return *((IfcParse::entity*)IFC4_types[170]); } const IfcParse::entity& Ifc4::IfcCompressor::Class() { return *((IfcParse::entity*)IFC4_types[170]); } Ifc4::IfcCompressor::IfcCompressor(IfcEntityInstanceData&& e) : IfcFlowMovingDevice(std::move(e)) { } -Ifc4::IfcCompressor::IfcCompressor(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcCompressorTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcCompressor::IfcCompressor(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcCompressorTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCompressorType -::Ifc4::IfcCompressorTypeEnum::Value Ifc4::IfcCompressorType::PredefinedType() const { return ::Ifc4::IfcCompressorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcCompressorTypeEnum::Value Ifc4::IfcCompressorType::PredefinedType() const { return ::Ifc4::IfcCompressorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcCompressorType::setPredefinedType(::Ifc4::IfcCompressorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcCompressorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcCompressorType::declaration() const { return *((IfcParse::entity*)IFC4_types[171]); } const IfcParse::entity& Ifc4::IfcCompressorType::Class() { return *((IfcParse::entity*)IFC4_types[171]); } Ifc4::IfcCompressorType::IfcCompressorType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(e)) { } -Ifc4::IfcCompressorType::IfcCompressorType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcCompressorTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcCompressorType::IfcCompressorType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcCompressorTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCondenser -boost::optional< ::Ifc4::IfcCondenserTypeEnum::Value > Ifc4::IfcCondenser::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcCondenserTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcCondenserTypeEnum::Value > Ifc4::IfcCondenser::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcCondenserTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcCondenser::setPredefinedType(boost::optional< ::Ifc4::IfcCondenserTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcCondenserTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcCondenser::declaration() const { return *((IfcParse::entity*)IFC4_types[173]); } const IfcParse::entity& Ifc4::IfcCondenser::Class() { return *((IfcParse::entity*)IFC4_types[173]); } Ifc4::IfcCondenser::IfcCondenser(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4::IfcCondenser::IfcCondenser(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcCondenserTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcCondenser::IfcCondenser(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcCondenserTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCondenserType -::Ifc4::IfcCondenserTypeEnum::Value Ifc4::IfcCondenserType::PredefinedType() const { return ::Ifc4::IfcCondenserTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcCondenserTypeEnum::Value Ifc4::IfcCondenserType::PredefinedType() const { return ::Ifc4::IfcCondenserTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcCondenserType::setPredefinedType(::Ifc4::IfcCondenserTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcCondenserTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcCondenserType::declaration() const { return *((IfcParse::entity*)IFC4_types[174]); } const IfcParse::entity& Ifc4::IfcCondenserType::Class() { return *((IfcParse::entity*)IFC4_types[174]); } Ifc4::IfcCondenserType::IfcCondenserType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4::IfcCondenserType::IfcCondenserType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcCondenserTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcCondenserType::IfcCondenserType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcCondenserTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcConic -::Ifc4::IfcAxis2Placement* Ifc4::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcAxis2Placement>(true); } +::Ifc4::IfcAxis2Placement* Ifc4::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcAxis2Placement>(true); } void Ifc4::IfcConic::setPosition(::Ifc4::IfcAxis2Placement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4::IfcConic::declaration() const { return *((IfcParse::entity*)IFC4_types[176]); } const IfcParse::entity& Ifc4::IfcConic::Class() { return *((IfcParse::entity*)IFC4_types[176]); } Ifc4::IfcConic::IfcConic(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4::IfcConic::IfcConic(::Ifc4::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcConic::IfcConic(::Ifc4::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectedFaceSet -aggregate_of< ::Ifc4::IfcFace >::ptr Ifc4::IfcConnectedFaceSet::CfsFaces() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4::IfcFace >(); } +aggregate_of< ::Ifc4::IfcFace >::ptr Ifc4::IfcConnectedFaceSet::CfsFaces() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4::IfcFace >(); } void Ifc4::IfcConnectedFaceSet::setCfsFaces(aggregate_of< ::Ifc4::IfcFace >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4::IfcConnectedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4_types[177]); } const IfcParse::entity& Ifc4::IfcConnectedFaceSet::Class() { return *((IfcParse::entity*)IFC4_types[177]); } Ifc4::IfcConnectedFaceSet::IfcConnectedFaceSet(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4::IfcConnectedFaceSet::IfcConnectedFaceSet(aggregate_of< ::Ifc4::IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc4::IfcConnectedFaceSet::IfcConnectedFaceSet(aggregate_of< ::Ifc4::IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcConnectionCurveGeometry -::Ifc4::IfcCurveOrEdgeCurve* Ifc4::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcCurveOrEdgeCurve>(true); } +::Ifc4::IfcCurveOrEdgeCurve* Ifc4::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcCurveOrEdgeCurve>(true); } void Ifc4::IfcConnectionCurveGeometry::setCurveOnRelatingElement(::Ifc4::IfcCurveOrEdgeCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcCurveOrEdgeCurve* Ifc4::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcCurveOrEdgeCurve>(true); } +::Ifc4::IfcCurveOrEdgeCurve* Ifc4::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcCurveOrEdgeCurve>(true); } void Ifc4::IfcConnectionCurveGeometry::setCurveOnRelatedElement(::Ifc4::IfcCurveOrEdgeCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcConnectionCurveGeometry::declaration() const { return *((IfcParse::entity*)IFC4_types[178]); } const IfcParse::entity& Ifc4::IfcConnectionCurveGeometry::Class() { return *((IfcParse::entity*)IFC4_types[178]); } Ifc4::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc4::IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, ::Ifc4::IfcCurveOrEdgeCurve* v2_CurveOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_CurveOnRelatingElement ? v1_CurveOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_CurveOnRelatedElement ? v2_CurveOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc4::IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, ::Ifc4::IfcCurveOrEdgeCurve* v2_CurveOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_CurveOnRelatingElement ? v1_CurveOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_CurveOnRelatedElement ? v2_CurveOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionGeometry @@ -8084,72 +8084,72 @@ Ifc4::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc4::IfcCurveOrE const IfcParse::entity& Ifc4::IfcConnectionGeometry::declaration() const { return *((IfcParse::entity*)IFC4_types[179]); } const IfcParse::entity& Ifc4::IfcConnectionGeometry::Class() { return *((IfcParse::entity*)IFC4_types[179]); } Ifc4::IfcConnectionGeometry::IfcConnectionGeometry(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4::IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcConnectionPointEccentricity -boost::optional< double > Ifc4::IfcConnectionPointEccentricity::EccentricityInX() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4::IfcConnectionPointEccentricity::EccentricityInX() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4::IfcConnectionPointEccentricity::setEccentricityInX(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4::IfcConnectionPointEccentricity::EccentricityInY() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4::IfcConnectionPointEccentricity::EccentricityInY() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4::IfcConnectionPointEccentricity::setEccentricityInY(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4::IfcConnectionPointEccentricity::EccentricityInZ() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4::IfcConnectionPointEccentricity::EccentricityInZ() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4::IfcConnectionPointEccentricity::setEccentricityInZ(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4::IfcConnectionPointEccentricity::declaration() const { return *((IfcParse::entity*)IFC4_types[180]); } const IfcParse::entity& Ifc4::IfcConnectionPointEccentricity::Class() { return *((IfcParse::entity*)IFC4_types[180]); } Ifc4::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcEntityInstanceData&& e) : IfcConnectionPointGeometry(std::move(e)) { } -Ifc4::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(::Ifc4::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4::IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; populate_derived(); } +Ifc4::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(::Ifc4::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4::IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; populate_derived(); } // Function implementations for IfcConnectionPointGeometry -::Ifc4::IfcPointOrVertexPoint* Ifc4::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcPointOrVertexPoint>(true); } +::Ifc4::IfcPointOrVertexPoint* Ifc4::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcPointOrVertexPoint>(true); } void Ifc4::IfcConnectionPointGeometry::setPointOnRelatingElement(::Ifc4::IfcPointOrVertexPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcPointOrVertexPoint* Ifc4::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcPointOrVertexPoint>(true); } +::Ifc4::IfcPointOrVertexPoint* Ifc4::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcPointOrVertexPoint>(true); } void Ifc4::IfcConnectionPointGeometry::setPointOnRelatedElement(::Ifc4::IfcPointOrVertexPoint* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcConnectionPointGeometry::declaration() const { return *((IfcParse::entity*)IFC4_types[181]); } const IfcParse::entity& Ifc4::IfcConnectionPointGeometry::Class() { return *((IfcParse::entity*)IFC4_types[181]); } Ifc4::IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4::IfcConnectionPointGeometry::IfcConnectionPointGeometry(::Ifc4::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4::IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcConnectionPointGeometry::IfcConnectionPointGeometry(::Ifc4::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4::IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionSurfaceGeometry -::Ifc4::IfcSurfaceOrFaceSurface* Ifc4::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcSurfaceOrFaceSurface>(true); } +::Ifc4::IfcSurfaceOrFaceSurface* Ifc4::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcSurfaceOrFaceSurface>(true); } void Ifc4::IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(::Ifc4::IfcSurfaceOrFaceSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcSurfaceOrFaceSurface* Ifc4::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcSurfaceOrFaceSurface>(true); } +::Ifc4::IfcSurfaceOrFaceSurface* Ifc4::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcSurfaceOrFaceSurface>(true); } void Ifc4::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(::Ifc4::IfcSurfaceOrFaceSurface* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcConnectionSurfaceGeometry::declaration() const { return *((IfcParse::entity*)IFC4_types[182]); } const IfcParse::entity& Ifc4::IfcConnectionSurfaceGeometry::Class() { return *((IfcParse::entity*)IFC4_types[182]); } Ifc4::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(::Ifc4::IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, ::Ifc4::IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SurfaceOnRelatingElement ? v1_SurfaceOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_SurfaceOnRelatedElement ? v2_SurfaceOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(::Ifc4::IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, ::Ifc4::IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SurfaceOnRelatingElement ? v1_SurfaceOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_SurfaceOnRelatedElement ? v2_SurfaceOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionVolumeGeometry -::Ifc4::IfcSolidOrShell* Ifc4::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcSolidOrShell>(true); } +::Ifc4::IfcSolidOrShell* Ifc4::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcSolidOrShell>(true); } void Ifc4::IfcConnectionVolumeGeometry::setVolumeOnRelatingElement(::Ifc4::IfcSolidOrShell* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcSolidOrShell* Ifc4::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcSolidOrShell>(true); } +::Ifc4::IfcSolidOrShell* Ifc4::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcSolidOrShell>(true); } void Ifc4::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(::Ifc4::IfcSolidOrShell* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcConnectionVolumeGeometry::declaration() const { return *((IfcParse::entity*)IFC4_types[184]); } const IfcParse::entity& Ifc4::IfcConnectionVolumeGeometry::Class() { return *((IfcParse::entity*)IFC4_types[184]); } Ifc4::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(::Ifc4::IfcSolidOrShell* v1_VolumeOnRelatingElement, ::Ifc4::IfcSolidOrShell* v2_VolumeOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_VolumeOnRelatingElement ? v1_VolumeOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_VolumeOnRelatedElement ? v2_VolumeOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(::Ifc4::IfcSolidOrShell* v1_VolumeOnRelatingElement, ::Ifc4::IfcSolidOrShell* v2_VolumeOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_VolumeOnRelatingElement ? v1_VolumeOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_VolumeOnRelatedElement ? v2_VolumeOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConstraint -std::string Ifc4::IfcConstraint::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4::IfcConstraint::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4::IfcConstraint::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4::IfcConstraint::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4::IfcConstraint::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcConstraint::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4::IfcConstraintEnum::Value Ifc4::IfcConstraint::ConstraintGrade() const { return ::Ifc4::IfcConstraintEnum::FromString(data_.get_attribute_value(2)); } +::Ifc4::IfcConstraintEnum::Value Ifc4::IfcConstraint::ConstraintGrade() const { return ::Ifc4::IfcConstraintEnum::FromString(get_attribute_value(2)); } void Ifc4::IfcConstraint::setConstraintGrade(::Ifc4::IfcConstraintEnum::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4::IfcConstraintEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4::IfcConstraint::ConstraintSource() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4::IfcConstraint::ConstraintSource() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4::IfcActorSelect* Ifc4::IfcConstraint::CreatingActor() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4::IfcActorSelect>(true); } +::Ifc4::IfcActorSelect* Ifc4::IfcConstraint::CreatingActor() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4::IfcActorSelect>(true); } void Ifc4::IfcConstraint::setCreatingActor(::Ifc4::IfcActorSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -boost::optional< std::string > Ifc4::IfcConstraint::CreationTime() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4::IfcConstraint::CreationTime() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcConstraint::setCreationTime(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4::IfcConstraint::UserDefinedGrade() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4::IfcConstraint::UserDefinedGrade() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4::IfcExternalReferenceRelationship::list::ptr Ifc4::IfcConstraint::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[380], 3)->as(); } @@ -8158,104 +8158,104 @@ void Ifc4::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v) const IfcParse::entity& Ifc4::IfcConstraint::declaration() const { return *((IfcParse::entity*)IFC4_types[185]); } const IfcParse::entity& Ifc4::IfcConstraint::Class() { return *((IfcParse::entity*)IFC4_types[185]); } Ifc4::IfcConstraint::IfcConstraint(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; populate_derived(); } +Ifc4::IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; populate_derived(); } // Function implementations for IfcConstructionEquipmentResource -boost::optional< ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4::IfcConstructionEquipmentResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4::IfcConstructionEquipmentResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4::IfcConstructionEquipmentResource::setPredefinedType(boost::optional< ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4::IfcConstructionEquipmentResource::declaration() const { return *((IfcParse::entity*)IFC4_types[187]); } const IfcParse::entity& Ifc4::IfcConstructionEquipmentResource::Class() { return *((IfcParse::entity*)IFC4_types[187]); } Ifc4::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConstructionEquipmentResourceType -::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4::IfcConstructionEquipmentResourceType::setPredefinedType(::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4::IfcConstructionEquipmentResourceType::declaration() const { return *((IfcParse::entity*)IFC4_types[188]); } const IfcParse::entity& Ifc4::IfcConstructionEquipmentResourceType::Class() { return *((IfcParse::entity*)IFC4_types[188]); } Ifc4::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcConstructionMaterialResource -boost::optional< ::Ifc4::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4::IfcConstructionMaterialResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4::IfcConstructionMaterialResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4::IfcConstructionMaterialResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4::IfcConstructionMaterialResource::setPredefinedType(boost::optional< ::Ifc4::IfcConstructionMaterialResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4::IfcConstructionMaterialResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4::IfcConstructionMaterialResource::declaration() const { return *((IfcParse::entity*)IFC4_types[190]); } const IfcParse::entity& Ifc4::IfcConstructionMaterialResource::Class() { return *((IfcParse::entity*)IFC4_types[190]); } Ifc4::IfcConstructionMaterialResource::IfcConstructionMaterialResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4::IfcConstructionMaterialResource::IfcConstructionMaterialResource(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4::IfcConstructionMaterialResource::IfcConstructionMaterialResource(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConstructionMaterialResourceType -::Ifc4::IfcConstructionMaterialResourceTypeEnum::Value Ifc4::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4::IfcConstructionMaterialResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4::IfcConstructionMaterialResourceTypeEnum::Value Ifc4::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4::IfcConstructionMaterialResourceType::setPredefinedType(::Ifc4::IfcConstructionMaterialResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4::IfcConstructionMaterialResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4::IfcConstructionMaterialResourceType::declaration() const { return *((IfcParse::entity*)IFC4_types[191]); } const IfcParse::entity& Ifc4::IfcConstructionMaterialResourceType::Class() { return *((IfcParse::entity*)IFC4_types[191]); } Ifc4::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcConstructionProductResource -boost::optional< ::Ifc4::IfcConstructionProductResourceTypeEnum::Value > Ifc4::IfcConstructionProductResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4::IfcConstructionProductResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4::IfcConstructionProductResourceTypeEnum::Value > Ifc4::IfcConstructionProductResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4::IfcConstructionProductResource::setPredefinedType(boost::optional< ::Ifc4::IfcConstructionProductResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4::IfcConstructionProductResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4::IfcConstructionProductResource::declaration() const { return *((IfcParse::entity*)IFC4_types[193]); } const IfcParse::entity& Ifc4::IfcConstructionProductResource::Class() { return *((IfcParse::entity*)IFC4_types[193]); } Ifc4::IfcConstructionProductResource::IfcConstructionProductResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4::IfcConstructionProductResource::IfcConstructionProductResource(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4::IfcConstructionProductResource::IfcConstructionProductResource(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConstructionProductResourceType -::Ifc4::IfcConstructionProductResourceTypeEnum::Value Ifc4::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4::IfcConstructionProductResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4::IfcConstructionProductResourceTypeEnum::Value Ifc4::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4::IfcConstructionProductResourceType::setPredefinedType(::Ifc4::IfcConstructionProductResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4::IfcConstructionProductResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4::IfcConstructionProductResourceType::declaration() const { return *((IfcParse::entity*)IFC4_types[194]); } const IfcParse::entity& Ifc4::IfcConstructionProductResourceType::Class() { return *((IfcParse::entity*)IFC4_types[194]); } Ifc4::IfcConstructionProductResourceType::IfcConstructionProductResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4::IfcConstructionProductResourceType::IfcConstructionProductResourceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4::IfcConstructionProductResourceType::IfcConstructionProductResourceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcConstructionResource -::Ifc4::IfcResourceTime* Ifc4::IfcConstructionResource::Usage() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4::IfcResourceTime>(true); } +::Ifc4::IfcResourceTime* Ifc4::IfcConstructionResource::Usage() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4::IfcResourceTime>(true); } void Ifc4::IfcConstructionResource::setUsage(::Ifc4::IfcResourceTime* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > Ifc4::IfcConstructionResource::BaseCosts() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4::IfcAppliedValue >(); } +boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > Ifc4::IfcConstructionResource::BaseCosts() const { if(get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4::IfcAppliedValue >(); } void Ifc4::IfcConstructionResource::setBaseCosts(boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v) { if (v) {set_attribute_value(8, (*v)->generalize());} else {unset_attribute_value(8);} } -::Ifc4::IfcPhysicalQuantity* Ifc4::IfcConstructionResource::BaseQuantity() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4::IfcPhysicalQuantity>(true); } +::Ifc4::IfcPhysicalQuantity* Ifc4::IfcConstructionResource::BaseQuantity() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4::IfcPhysicalQuantity>(true); } void Ifc4::IfcConstructionResource::setBaseQuantity(::Ifc4::IfcPhysicalQuantity* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcConstructionResource::declaration() const { return *((IfcParse::entity*)IFC4_types[196]); } const IfcParse::entity& Ifc4::IfcConstructionResource::Class() { return *((IfcParse::entity*)IFC4_types[196]); } Ifc4::IfcConstructionResource::IfcConstructionResource(IfcEntityInstanceData&& e) : IfcResource(std::move(e)) { } -Ifc4::IfcConstructionResource::IfcConstructionResource(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity* v10_BaseQuantity) : IfcResource(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcConstructionResource::IfcConstructionResource(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity* v10_BaseQuantity) : IfcResource(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConstructionResourceType -boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > Ifc4::IfcConstructionResourceType::BaseCosts() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4::IfcAppliedValue >(); } +boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > Ifc4::IfcConstructionResourceType::BaseCosts() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4::IfcAppliedValue >(); } void Ifc4::IfcConstructionResourceType::setBaseCosts(boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -::Ifc4::IfcPhysicalQuantity* Ifc4::IfcConstructionResourceType::BaseQuantity() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4::IfcPhysicalQuantity>(true); } +::Ifc4::IfcPhysicalQuantity* Ifc4::IfcConstructionResourceType::BaseQuantity() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4::IfcPhysicalQuantity>(true); } void Ifc4::IfcConstructionResourceType::setBaseQuantity(::Ifc4::IfcPhysicalQuantity* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4::IfcConstructionResourceType::declaration() const { return *((IfcParse::entity*)IFC4_types[197]); } const IfcParse::entity& Ifc4::IfcConstructionResourceType::Class() { return *((IfcParse::entity*)IFC4_types[197]); } Ifc4::IfcConstructionResourceType::IfcConstructionResourceType(IfcEntityInstanceData&& e) : IfcTypeResource(std::move(e)) { } -Ifc4::IfcConstructionResourceType::IfcConstructionResourceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity* v11_BaseQuantity) : IfcTypeResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcConstructionResourceType::IfcConstructionResourceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity* v11_BaseQuantity) : IfcTypeResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcContext -boost::optional< std::string > Ifc4::IfcContext::ObjectType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4::IfcContext::ObjectType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcContext::setObjectType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4::IfcContext::LongName() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4::IfcContext::LongName() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcContext::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4::IfcContext::Phase() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4::IfcContext::Phase() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4::IfcContext::setPhase(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4::IfcRepresentationContext >::ptr > Ifc4::IfcContext::RepresentationContexts() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4::IfcRepresentationContext >(); } +boost::optional< aggregate_of< ::Ifc4::IfcRepresentationContext >::ptr > Ifc4::IfcContext::RepresentationContexts() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4::IfcRepresentationContext >(); } void Ifc4::IfcContext::setRepresentationContexts(boost::optional< aggregate_of< ::Ifc4::IfcRepresentationContext >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -::Ifc4::IfcUnitAssignment* Ifc4::IfcContext::UnitsInContext() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4::IfcUnitAssignment>(true); } +::Ifc4::IfcUnitAssignment* Ifc4::IfcContext::UnitsInContext() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4::IfcUnitAssignment>(true); } void Ifc4::IfcContext::setUnitsInContext(::Ifc4::IfcUnitAssignment* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } ::Ifc4::IfcRelDefinesByProperties::list::ptr Ifc4::IfcContext::IsDefinedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[830], 4)->as(); } @@ -8264,10 +8264,10 @@ void Ifc4::IfcContext::setUnitsInContext(::Ifc4::IfcUnitAssignment* v) { set_att const IfcParse::entity& Ifc4::IfcContext::declaration() const { return *((IfcParse::entity*)IFC4_types[198]); } const IfcParse::entity& Ifc4::IfcContext::Class() { return *((IfcParse::entity*)IFC4_types[198]); } Ifc4::IfcContext::IfcContext(IfcEntityInstanceData&& e) : IfcObjectDefinition(std::move(e)) { } -Ifc4::IfcContext::IfcContext(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4::IfcUnitAssignment* v9_UnitsInContext) : IfcObjectDefinition(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcContext::IfcContext(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4::IfcUnitAssignment* v9_UnitsInContext) : IfcObjectDefinition(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcContextDependentUnit -std::string Ifc4::IfcContextDependentUnit::Name() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4::IfcContextDependentUnit::Name() const { std::string v = get_attribute_value(2); return v; } void Ifc4::IfcContextDependentUnit::setName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } ::Ifc4::IfcExternalReferenceRelationship::list::ptr Ifc4::IfcContextDependentUnit::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[380], 3)->as(); } @@ -8275,10 +8275,10 @@ void Ifc4::IfcContextDependentUnit::setName(std::string v) { set_attribute_value const IfcParse::entity& Ifc4::IfcContextDependentUnit::declaration() const { return *((IfcParse::entity*)IFC4_types[200]); } const IfcParse::entity& Ifc4::IfcContextDependentUnit::Class() { return *((IfcParse::entity*)IFC4_types[200]); } Ifc4::IfcContextDependentUnit::IfcContextDependentUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -Ifc4::IfcContextDependentUnit::IfcContextDependentUnit(::Ifc4::IfcDimensionalExponents* v1_Dimensions, ::Ifc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) : IfcNamedUnit(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; populate_derived(); } +Ifc4::IfcContextDependentUnit::IfcContextDependentUnit(::Ifc4::IfcDimensionalExponents* v1_Dimensions, ::Ifc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) : IfcNamedUnit(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; populate_derived(); } // Function implementations for IfcControl -boost::optional< std::string > Ifc4::IfcControl::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4::IfcControl::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcControl::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4::IfcRelAssignsToControl::list::ptr Ifc4::IfcControl::Controls() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[800], 6)->as(); } @@ -8286,32 +8286,32 @@ void Ifc4::IfcControl::setIdentification(boost::optional< std::string > v) { if const IfcParse::entity& Ifc4::IfcControl::declaration() const { return *((IfcParse::entity*)IFC4_types[201]); } const IfcParse::entity& Ifc4::IfcControl::Class() { return *((IfcParse::entity*)IFC4_types[201]); } Ifc4::IfcControl::IfcControl(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4::IfcControl::IfcControl(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification) : IfcObject(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }; populate_derived(); } +Ifc4::IfcControl::IfcControl(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }; populate_derived(); } // Function implementations for IfcController -boost::optional< ::Ifc4::IfcControllerTypeEnum::Value > Ifc4::IfcController::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcControllerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcControllerTypeEnum::Value > Ifc4::IfcController::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcControllerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcController::setPredefinedType(boost::optional< ::Ifc4::IfcControllerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcControllerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcController::declaration() const { return *((IfcParse::entity*)IFC4_types[202]); } const IfcParse::entity& Ifc4::IfcController::Class() { return *((IfcParse::entity*)IFC4_types[202]); } Ifc4::IfcController::IfcController(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4::IfcController::IfcController(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcControllerTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcController::IfcController(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcControllerTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcControllerType -::Ifc4::IfcControllerTypeEnum::Value Ifc4::IfcControllerType::PredefinedType() const { return ::Ifc4::IfcControllerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcControllerTypeEnum::Value Ifc4::IfcControllerType::PredefinedType() const { return ::Ifc4::IfcControllerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcControllerType::setPredefinedType(::Ifc4::IfcControllerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcControllerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcControllerType::declaration() const { return *((IfcParse::entity*)IFC4_types[203]); } const IfcParse::entity& Ifc4::IfcControllerType::Class() { return *((IfcParse::entity*)IFC4_types[203]); } Ifc4::IfcControllerType::IfcControllerType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4::IfcControllerType::IfcControllerType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcControllerTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcControllerType::IfcControllerType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcControllerTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcConversionBasedUnit -std::string Ifc4::IfcConversionBasedUnit::Name() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4::IfcConversionBasedUnit::Name() const { std::string v = get_attribute_value(2); return v; } void Ifc4::IfcConversionBasedUnit::setName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcMeasureWithUnit* Ifc4::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4::IfcMeasureWithUnit>(true); } +::Ifc4::IfcMeasureWithUnit* Ifc4::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4::IfcMeasureWithUnit>(true); } void Ifc4::IfcConversionBasedUnit::setConversionFactor(::Ifc4::IfcMeasureWithUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } ::Ifc4::IfcExternalReferenceRelationship::list::ptr Ifc4::IfcConversionBasedUnit::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[380], 3)->as(); } @@ -8319,78 +8319,78 @@ void Ifc4::IfcConversionBasedUnit::setConversionFactor(::Ifc4::IfcMeasureWithUni const IfcParse::entity& Ifc4::IfcConversionBasedUnit::declaration() const { return *((IfcParse::entity*)IFC4_types[205]); } const IfcParse::entity& Ifc4::IfcConversionBasedUnit::Class() { return *((IfcParse::entity*)IFC4_types[205]); } Ifc4::IfcConversionBasedUnit::IfcConversionBasedUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -Ifc4::IfcConversionBasedUnit::IfcConversionBasedUnit(::Ifc4::IfcDimensionalExponents* v1_Dimensions, ::Ifc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4::IfcMeasureWithUnit* v4_ConversionFactor) : IfcNamedUnit(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcConversionBasedUnit::IfcConversionBasedUnit(::Ifc4::IfcDimensionalExponents* v1_Dimensions, ::Ifc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4::IfcMeasureWithUnit* v4_ConversionFactor) : IfcNamedUnit(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConversionBasedUnitWithOffset -double Ifc4::IfcConversionBasedUnitWithOffset::ConversionOffset() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4::IfcConversionBasedUnitWithOffset::ConversionOffset() const { double v = get_attribute_value(4); return v; } void Ifc4::IfcConversionBasedUnitWithOffset::setConversionOffset(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4::IfcConversionBasedUnitWithOffset::declaration() const { return *((IfcParse::entity*)IFC4_types[206]); } const IfcParse::entity& Ifc4::IfcConversionBasedUnitWithOffset::Class() { return *((IfcParse::entity*)IFC4_types[206]); } Ifc4::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(IfcEntityInstanceData&& e) : IfcConversionBasedUnit(std::move(e)) { } -Ifc4::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(::Ifc4::IfcDimensionalExponents* v1_Dimensions, ::Ifc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4::IfcMeasureWithUnit* v4_ConversionFactor, double v5_ConversionOffset) : IfcConversionBasedUnit(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ConversionOffset));; populate_derived(); } +Ifc4::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(::Ifc4::IfcDimensionalExponents* v1_Dimensions, ::Ifc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4::IfcMeasureWithUnit* v4_ConversionFactor, double v5_ConversionOffset) : IfcConversionBasedUnit(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ConversionOffset));; populate_derived(); } // Function implementations for IfcCooledBeam -boost::optional< ::Ifc4::IfcCooledBeamTypeEnum::Value > Ifc4::IfcCooledBeam::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcCooledBeamTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcCooledBeamTypeEnum::Value > Ifc4::IfcCooledBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcCooledBeamTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcCooledBeam::setPredefinedType(boost::optional< ::Ifc4::IfcCooledBeamTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcCooledBeamTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcCooledBeam::declaration() const { return *((IfcParse::entity*)IFC4_types[207]); } const IfcParse::entity& Ifc4::IfcCooledBeam::Class() { return *((IfcParse::entity*)IFC4_types[207]); } Ifc4::IfcCooledBeam::IfcCooledBeam(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4::IfcCooledBeam::IfcCooledBeam(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcCooledBeam::IfcCooledBeam(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCooledBeamType -::Ifc4::IfcCooledBeamTypeEnum::Value Ifc4::IfcCooledBeamType::PredefinedType() const { return ::Ifc4::IfcCooledBeamTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcCooledBeamTypeEnum::Value Ifc4::IfcCooledBeamType::PredefinedType() const { return ::Ifc4::IfcCooledBeamTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcCooledBeamType::setPredefinedType(::Ifc4::IfcCooledBeamTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcCooledBeamTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcCooledBeamType::declaration() const { return *((IfcParse::entity*)IFC4_types[208]); } const IfcParse::entity& Ifc4::IfcCooledBeamType::Class() { return *((IfcParse::entity*)IFC4_types[208]); } Ifc4::IfcCooledBeamType::IfcCooledBeamType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4::IfcCooledBeamType::IfcCooledBeamType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcCooledBeamTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcCooledBeamType::IfcCooledBeamType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcCooledBeamTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCoolingTower -boost::optional< ::Ifc4::IfcCoolingTowerTypeEnum::Value > Ifc4::IfcCoolingTower::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcCoolingTowerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcCoolingTowerTypeEnum::Value > Ifc4::IfcCoolingTower::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcCoolingTower::setPredefinedType(boost::optional< ::Ifc4::IfcCoolingTowerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcCoolingTowerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcCoolingTower::declaration() const { return *((IfcParse::entity*)IFC4_types[210]); } const IfcParse::entity& Ifc4::IfcCoolingTower::Class() { return *((IfcParse::entity*)IFC4_types[210]); } Ifc4::IfcCoolingTower::IfcCoolingTower(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4::IfcCoolingTower::IfcCoolingTower(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcCoolingTower::IfcCoolingTower(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCoolingTowerType -::Ifc4::IfcCoolingTowerTypeEnum::Value Ifc4::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4::IfcCoolingTowerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcCoolingTowerTypeEnum::Value Ifc4::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcCoolingTowerType::setPredefinedType(::Ifc4::IfcCoolingTowerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcCoolingTowerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcCoolingTowerType::declaration() const { return *((IfcParse::entity*)IFC4_types[211]); } const IfcParse::entity& Ifc4::IfcCoolingTowerType::Class() { return *((IfcParse::entity*)IFC4_types[211]); } Ifc4::IfcCoolingTowerType::IfcCoolingTowerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4::IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCoordinateOperation -::Ifc4::IfcCoordinateReferenceSystemSelect* Ifc4::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcCoordinateReferenceSystemSelect>(true); } +::Ifc4::IfcCoordinateReferenceSystemSelect* Ifc4::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcCoordinateReferenceSystemSelect>(true); } void Ifc4::IfcCoordinateOperation::setSourceCRS(::Ifc4::IfcCoordinateReferenceSystemSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcCoordinateReferenceSystem* Ifc4::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcCoordinateReferenceSystem>(true); } +::Ifc4::IfcCoordinateReferenceSystem* Ifc4::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcCoordinateReferenceSystem>(true); } void Ifc4::IfcCoordinateOperation::setTargetCRS(::Ifc4::IfcCoordinateReferenceSystem* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcCoordinateOperation::declaration() const { return *((IfcParse::entity*)IFC4_types[213]); } const IfcParse::entity& Ifc4::IfcCoordinateOperation::Class() { return *((IfcParse::entity*)IFC4_types[213]); } Ifc4::IfcCoordinateOperation::IfcCoordinateOperation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcCoordinateOperation::IfcCoordinateOperation(::Ifc4::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4::IfcCoordinateReferenceSystem* v2_TargetCRS) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcCoordinateOperation::IfcCoordinateOperation(::Ifc4::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4::IfcCoordinateReferenceSystem* v2_TargetCRS) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCoordinateReferenceSystem -std::string Ifc4::IfcCoordinateReferenceSystem::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4::IfcCoordinateReferenceSystem::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4::IfcCoordinateReferenceSystem::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4::IfcCoordinateReferenceSystem::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4::IfcCoordinateReferenceSystem::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcCoordinateReferenceSystem::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4::IfcCoordinateReferenceSystem::GeodeticDatum() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4::IfcCoordinateReferenceSystem::GeodeticDatum() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4::IfcCoordinateReferenceSystem::setGeodeticDatum(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4::IfcCoordinateReferenceSystem::VerticalDatum() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4::IfcCoordinateReferenceSystem::VerticalDatum() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4::IfcCoordinateReferenceSystem::setVerticalDatum(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } ::Ifc4::IfcCoordinateOperation::list::ptr Ifc4::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[213], 0)->as(); } @@ -8398,37 +8398,37 @@ void Ifc4::IfcCoordinateReferenceSystem::setVerticalDatum(boost::optional< std:: const IfcParse::entity& Ifc4::IfcCoordinateReferenceSystem::declaration() const { return *((IfcParse::entity*)IFC4_types[214]); } const IfcParse::entity& Ifc4::IfcCoordinateReferenceSystem::Class() { return *((IfcParse::entity*)IFC4_types[214]); } Ifc4::IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::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(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); }; populate_derived(); } +Ifc4::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(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); }; populate_derived(); } // Function implementations for IfcCostItem -boost::optional< ::Ifc4::IfcCostItemTypeEnum::Value > Ifc4::IfcCostItem::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4::IfcCostItemTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4::IfcCostItemTypeEnum::Value > Ifc4::IfcCostItem::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4::IfcCostItemTypeEnum::FromString(get_attribute_value(6)); } void Ifc4::IfcCostItem::setPredefinedType(boost::optional< ::Ifc4::IfcCostItemTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4::IfcCostItemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4::IfcCostValue >::ptr > Ifc4::IfcCostItem::CostValues() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4::IfcCostValue >(); } +boost::optional< aggregate_of< ::Ifc4::IfcCostValue >::ptr > Ifc4::IfcCostItem::CostValues() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4::IfcCostValue >(); } void Ifc4::IfcCostItem::setCostValues(boost::optional< aggregate_of< ::Ifc4::IfcCostValue >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< aggregate_of< ::Ifc4::IfcPhysicalQuantity >::ptr > Ifc4::IfcCostItem::CostQuantities() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4::IfcPhysicalQuantity >(); } +boost::optional< aggregate_of< ::Ifc4::IfcPhysicalQuantity >::ptr > Ifc4::IfcCostItem::CostQuantities() const { if(get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4::IfcPhysicalQuantity >(); } void Ifc4::IfcCostItem::setCostQuantities(boost::optional< aggregate_of< ::Ifc4::IfcPhysicalQuantity >::ptr > v) { if (v) {set_attribute_value(8, (*v)->generalize());} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcCostItem::declaration() const { return *((IfcParse::entity*)IFC4_types[216]); } const IfcParse::entity& Ifc4::IfcCostItem::Class() { return *((IfcParse::entity*)IFC4_types[216]); } Ifc4::IfcCostItem::IfcCostItem(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4::IfcCostItem::IfcCostItem(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4::IfcCostItemTypeEnum::Value > v7_PredefinedType, boost::optional< aggregate_of< ::Ifc4::IfcCostValue >::ptr > v8_CostValues, boost::optional< aggregate_of< ::Ifc4::IfcPhysicalQuantity >::ptr > v9_CostQuantities) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, (*v8_CostValues)->generalize()); } if (v9_CostQuantities) {set_attribute_value(8, (*v9_CostQuantities)->generalize()); }; populate_derived(); } +Ifc4::IfcCostItem::IfcCostItem(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4::IfcCostItemTypeEnum::Value > v7_PredefinedType, boost::optional< aggregate_of< ::Ifc4::IfcCostValue >::ptr > v8_CostValues, boost::optional< aggregate_of< ::Ifc4::IfcPhysicalQuantity >::ptr > v9_CostQuantities) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, (*v8_CostValues)->generalize()); } if (v9_CostQuantities) {set_attribute_value(8, (*v9_CostQuantities)->generalize()); }; populate_derived(); } // Function implementations for IfcCostSchedule -boost::optional< ::Ifc4::IfcCostScheduleTypeEnum::Value > Ifc4::IfcCostSchedule::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4::IfcCostScheduleTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4::IfcCostScheduleTypeEnum::Value > Ifc4::IfcCostSchedule::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4::IfcCostScheduleTypeEnum::FromString(get_attribute_value(6)); } void Ifc4::IfcCostSchedule::setPredefinedType(boost::optional< ::Ifc4::IfcCostScheduleTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4::IfcCostScheduleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4::IfcCostSchedule::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4::IfcCostSchedule::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4::IfcCostSchedule::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4::IfcCostSchedule::SubmittedOn() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4::IfcCostSchedule::SubmittedOn() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4::IfcCostSchedule::setSubmittedOn(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4::IfcCostSchedule::UpdateDate() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4::IfcCostSchedule::UpdateDate() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4::IfcCostSchedule::setUpdateDate(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4::IfcCostSchedule::declaration() const { return *((IfcParse::entity*)IFC4_types[218]); } const IfcParse::entity& Ifc4::IfcCostSchedule::Class() { return *((IfcParse::entity*)IFC4_types[218]); } Ifc4::IfcCostSchedule::IfcCostSchedule(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_SubmittedOn, boost::optional< std::string > v10_UpdateDate) : IfcControl(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); }; populate_derived(); } +Ifc4::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_SubmittedOn, boost::optional< std::string > v10_UpdateDate) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); }; populate_derived(); } // Function implementations for IfcCostValue @@ -8436,10 +8436,10 @@ Ifc4::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc4::IfcOwner const IfcParse::entity& Ifc4::IfcCostValue::declaration() const { return *((IfcParse::entity*)IFC4_types[220]); } const IfcParse::entity& Ifc4::IfcCostValue::Class() { return *((IfcParse::entity*)IFC4_types[220]); } Ifc4::IfcCostValue::IfcCostValue(IfcEntityInstanceData&& e) : IfcAppliedValue(std::move(e)) { } -Ifc4::IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4::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< ::Ifc4::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v10_Components) : IfcAppliedValue(IfcEntityInstanceData(storage_t(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } +Ifc4::IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4::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< ::Ifc4::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v10_Components) : IfcAppliedValue(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } // Function implementations for IfcCovering -boost::optional< ::Ifc4::IfcCoveringTypeEnum::Value > Ifc4::IfcCovering::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcCoveringTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcCoveringTypeEnum::Value > Ifc4::IfcCovering::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcCoveringTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcCovering::setPredefinedType(boost::optional< ::Ifc4::IfcCoveringTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcCoveringTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4::IfcRelCoversSpaces::list::ptr Ifc4::IfcCovering::CoversSpaces() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[825], 5)->as(); } @@ -8448,95 +8448,95 @@ void Ifc4::IfcCovering::setPredefinedType(boost::optional< ::Ifc4::IfcCoveringTy const IfcParse::entity& Ifc4::IfcCovering::declaration() const { return *((IfcParse::entity*)IFC4_types[222]); } const IfcParse::entity& Ifc4::IfcCovering::Class() { return *((IfcParse::entity*)IFC4_types[222]); } Ifc4::IfcCovering::IfcCovering(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4::IfcCovering::IfcCovering(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcCoveringTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcCovering::IfcCovering(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcCoveringTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCoveringType -::Ifc4::IfcCoveringTypeEnum::Value Ifc4::IfcCoveringType::PredefinedType() const { return ::Ifc4::IfcCoveringTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcCoveringTypeEnum::Value Ifc4::IfcCoveringType::PredefinedType() const { return ::Ifc4::IfcCoveringTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcCoveringType::setPredefinedType(::Ifc4::IfcCoveringTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcCoveringTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcCoveringType::declaration() const { return *((IfcParse::entity*)IFC4_types[223]); } const IfcParse::entity& Ifc4::IfcCoveringType::Class() { return *((IfcParse::entity*)IFC4_types[223]); } Ifc4::IfcCoveringType::IfcCoveringType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4::IfcCoveringType::IfcCoveringType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcCoveringTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcCoveringType::IfcCoveringType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcCoveringTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCrewResource -boost::optional< ::Ifc4::IfcCrewResourceTypeEnum::Value > Ifc4::IfcCrewResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4::IfcCrewResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4::IfcCrewResourceTypeEnum::Value > Ifc4::IfcCrewResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4::IfcCrewResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4::IfcCrewResource::setPredefinedType(boost::optional< ::Ifc4::IfcCrewResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4::IfcCrewResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4::IfcCrewResource::declaration() const { return *((IfcParse::entity*)IFC4_types[225]); } const IfcParse::entity& Ifc4::IfcCrewResource::Class() { return *((IfcParse::entity*)IFC4_types[225]); } Ifc4::IfcCrewResource::IfcCrewResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4::IfcCrewResource::IfcCrewResource(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4::IfcCrewResource::IfcCrewResource(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCrewResourceType -::Ifc4::IfcCrewResourceTypeEnum::Value Ifc4::IfcCrewResourceType::PredefinedType() const { return ::Ifc4::IfcCrewResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4::IfcCrewResourceTypeEnum::Value Ifc4::IfcCrewResourceType::PredefinedType() const { return ::Ifc4::IfcCrewResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4::IfcCrewResourceType::setPredefinedType(::Ifc4::IfcCrewResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4::IfcCrewResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4::IfcCrewResourceType::declaration() const { return *((IfcParse::entity*)IFC4_types[226]); } const IfcParse::entity& Ifc4::IfcCrewResourceType::Class() { return *((IfcParse::entity*)IFC4_types[226]); } Ifc4::IfcCrewResourceType::IfcCrewResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4::IfcCrewResourceType::IfcCrewResourceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4::IfcCrewResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4::IfcCrewResourceType::IfcCrewResourceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4::IfcCrewResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcCsgPrimitive3D -::Ifc4::IfcAxis2Placement3D* Ifc4::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcAxis2Placement3D>(true); } +::Ifc4::IfcAxis2Placement3D* Ifc4::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcAxis2Placement3D>(true); } void Ifc4::IfcCsgPrimitive3D::setPosition(::Ifc4::IfcAxis2Placement3D* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4::IfcCsgPrimitive3D::declaration() const { return *((IfcParse::entity*)IFC4_types[228]); } const IfcParse::entity& Ifc4::IfcCsgPrimitive3D::Class() { return *((IfcParse::entity*)IFC4_types[228]); } Ifc4::IfcCsgPrimitive3D::IfcCsgPrimitive3D(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4::IfcCsgPrimitive3D::IfcCsgPrimitive3D(::Ifc4::IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcCsgPrimitive3D::IfcCsgPrimitive3D(::Ifc4::IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCsgSolid -::Ifc4::IfcCsgSelect* Ifc4::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcCsgSelect>(true); } +::Ifc4::IfcCsgSelect* Ifc4::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcCsgSelect>(true); } void Ifc4::IfcCsgSolid::setTreeRootExpression(::Ifc4::IfcCsgSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4::IfcCsgSolid::declaration() const { return *((IfcParse::entity*)IFC4_types[230]); } const IfcParse::entity& Ifc4::IfcCsgSolid::Class() { return *((IfcParse::entity*)IFC4_types[230]); } Ifc4::IfcCsgSolid::IfcCsgSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4::IfcCsgSolid::IfcCsgSolid(::Ifc4::IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_TreeRootExpression ? v1_TreeRootExpression->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcCsgSolid::IfcCsgSolid(::Ifc4::IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_TreeRootExpression ? v1_TreeRootExpression->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCurrencyRelationship -::Ifc4::IfcMonetaryUnit* Ifc4::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcMonetaryUnit>(true); } +::Ifc4::IfcMonetaryUnit* Ifc4::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcMonetaryUnit>(true); } void Ifc4::IfcCurrencyRelationship::setRelatingMonetaryUnit(::Ifc4::IfcMonetaryUnit* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcMonetaryUnit* Ifc4::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4::IfcMonetaryUnit>(true); } +::Ifc4::IfcMonetaryUnit* Ifc4::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4::IfcMonetaryUnit>(true); } void Ifc4::IfcCurrencyRelationship::setRelatedMonetaryUnit(::Ifc4::IfcMonetaryUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -double Ifc4::IfcCurrencyRelationship::ExchangeRate() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4::IfcCurrencyRelationship::ExchangeRate() const { double v = get_attribute_value(4); return v; } void Ifc4::IfcCurrencyRelationship::setExchangeRate(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< std::string > Ifc4::IfcCurrencyRelationship::RateDateTime() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4::IfcCurrencyRelationship::RateDateTime() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcCurrencyRelationship::setRateDateTime(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4::IfcLibraryInformation* Ifc4::IfcCurrencyRelationship::RateSource() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4::IfcLibraryInformation>(true); } +::Ifc4::IfcLibraryInformation* Ifc4::IfcCurrencyRelationship::RateSource() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4::IfcLibraryInformation>(true); } void Ifc4::IfcCurrencyRelationship::setRateSource(::Ifc4::IfcLibraryInformation* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4::IfcCurrencyRelationship::declaration() const { return *((IfcParse::entity*)IFC4_types[232]); } const IfcParse::entity& Ifc4::IfcCurrencyRelationship::Class() { return *((IfcParse::entity*)IFC4_types[232]); } Ifc4::IfcCurrencyRelationship::IfcCurrencyRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4::IfcCurrencyRelationship::IfcCurrencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcMonetaryUnit* v3_RelatingMonetaryUnit, ::Ifc4::IfcMonetaryUnit* v4_RelatedMonetaryUnit, double v5_ExchangeRate, boost::optional< std::string > v6_RateDateTime, ::Ifc4::IfcLibraryInformation* v7_RateSource) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMonetaryUnit ? v3_RelatingMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_RelatedMonetaryUnit ? v4_RelatedMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, v7_RateSource ? v7_RateSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcCurrencyRelationship::IfcCurrencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcMonetaryUnit* v3_RelatingMonetaryUnit, ::Ifc4::IfcMonetaryUnit* v4_RelatedMonetaryUnit, double v5_ExchangeRate, boost::optional< std::string > v6_RateDateTime, ::Ifc4::IfcLibraryInformation* v7_RateSource) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMonetaryUnit ? v3_RelatingMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_RelatedMonetaryUnit ? v4_RelatedMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, v7_RateSource ? v7_RateSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCurtainWall -boost::optional< ::Ifc4::IfcCurtainWallTypeEnum::Value > Ifc4::IfcCurtainWall::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcCurtainWallTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcCurtainWallTypeEnum::Value > Ifc4::IfcCurtainWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcCurtainWallTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcCurtainWall::setPredefinedType(boost::optional< ::Ifc4::IfcCurtainWallTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcCurtainWallTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcCurtainWall::declaration() const { return *((IfcParse::entity*)IFC4_types[233]); } const IfcParse::entity& Ifc4::IfcCurtainWall::Class() { return *((IfcParse::entity*)IFC4_types[233]); } Ifc4::IfcCurtainWall::IfcCurtainWall(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4::IfcCurtainWall::IfcCurtainWall(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcCurtainWall::IfcCurtainWall(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCurtainWallType -::Ifc4::IfcCurtainWallTypeEnum::Value Ifc4::IfcCurtainWallType::PredefinedType() const { return ::Ifc4::IfcCurtainWallTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcCurtainWallTypeEnum::Value Ifc4::IfcCurtainWallType::PredefinedType() const { return ::Ifc4::IfcCurtainWallTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcCurtainWallType::setPredefinedType(::Ifc4::IfcCurtainWallTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcCurtainWallTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcCurtainWallType::declaration() const { return *((IfcParse::entity*)IFC4_types[234]); } const IfcParse::entity& Ifc4::IfcCurtainWallType::Class() { return *((IfcParse::entity*)IFC4_types[234]); } Ifc4::IfcCurtainWallType::IfcCurtainWallType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4::IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcCurtainWallTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcCurtainWallTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCurve @@ -8544,231 +8544,231 @@ Ifc4::IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, ::Ifc4::If const IfcParse::entity& Ifc4::IfcCurve::declaration() const { return *((IfcParse::entity*)IFC4_types[237]); } const IfcParse::entity& Ifc4::IfcCurve::Class() { return *((IfcParse::entity*)IFC4_types[237]); } Ifc4::IfcCurve::IfcCurve(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4::IfcCurve::IfcCurve() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4::IfcCurve::IfcCurve() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcCurveBoundedPlane -::Ifc4::IfcPlane* Ifc4::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcPlane>(true); } +::Ifc4::IfcPlane* Ifc4::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcPlane>(true); } void Ifc4::IfcCurveBoundedPlane::setBasisSurface(::Ifc4::IfcPlane* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcCurve* Ifc4::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcCurve>(true); } +::Ifc4::IfcCurve* Ifc4::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcCurveBoundedPlane::setOuterBoundary(::Ifc4::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4::IfcCurve >::ptr Ifc4::IfcCurveBoundedPlane::InnerBoundaries() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4::IfcCurve >(); } +aggregate_of< ::Ifc4::IfcCurve >::ptr Ifc4::IfcCurveBoundedPlane::InnerBoundaries() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4::IfcCurve >(); } void Ifc4::IfcCurveBoundedPlane::setInnerBoundaries(aggregate_of< ::Ifc4::IfcCurve >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4::IfcCurveBoundedPlane::declaration() const { return *((IfcParse::entity*)IFC4_types[238]); } const IfcParse::entity& Ifc4::IfcCurveBoundedPlane::Class() { return *((IfcParse::entity*)IFC4_types[238]); } Ifc4::IfcCurveBoundedPlane::IfcCurveBoundedPlane(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4::IfcCurveBoundedPlane::IfcCurveBoundedPlane(::Ifc4::IfcPlane* v1_BasisSurface, ::Ifc4::IfcCurve* v2_OuterBoundary, aggregate_of< ::Ifc4::IfcCurve >::ptr v3_InnerBoundaries) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OuterBoundary ? v2_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_InnerBoundaries)->generalize());; populate_derived(); } +Ifc4::IfcCurveBoundedPlane::IfcCurveBoundedPlane(::Ifc4::IfcPlane* v1_BasisSurface, ::Ifc4::IfcCurve* v2_OuterBoundary, aggregate_of< ::Ifc4::IfcCurve >::ptr v3_InnerBoundaries) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OuterBoundary ? v2_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_InnerBoundaries)->generalize());; populate_derived(); } // Function implementations for IfcCurveBoundedSurface -::Ifc4::IfcSurface* Ifc4::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcSurface>(true); } +::Ifc4::IfcSurface* Ifc4::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcSurface>(true); } void Ifc4::IfcCurveBoundedSurface::setBasisSurface(::Ifc4::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4::IfcBoundaryCurve >::ptr Ifc4::IfcCurveBoundedSurface::Boundaries() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4::IfcBoundaryCurve >(); } +aggregate_of< ::Ifc4::IfcBoundaryCurve >::ptr Ifc4::IfcCurveBoundedSurface::Boundaries() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4::IfcBoundaryCurve >(); } void Ifc4::IfcCurveBoundedSurface::setBoundaries(aggregate_of< ::Ifc4::IfcBoundaryCurve >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -bool Ifc4::IfcCurveBoundedSurface::ImplicitOuter() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4::IfcCurveBoundedSurface::ImplicitOuter() const { bool v = get_attribute_value(2); return v; } void Ifc4::IfcCurveBoundedSurface::setImplicitOuter(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4::IfcCurveBoundedSurface::declaration() const { return *((IfcParse::entity*)IFC4_types[239]); } const IfcParse::entity& Ifc4::IfcCurveBoundedSurface::Class() { return *((IfcParse::entity*)IFC4_types[239]); } Ifc4::IfcCurveBoundedSurface::IfcCurveBoundedSurface(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4::IfcCurveBoundedSurface::IfcCurveBoundedSurface(::Ifc4::IfcSurface* v1_BasisSurface, aggregate_of< ::Ifc4::IfcBoundaryCurve >::ptr v2_Boundaries, bool v3_ImplicitOuter) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Boundaries)->generalize());set_attribute_value(2, (v3_ImplicitOuter));; populate_derived(); } +Ifc4::IfcCurveBoundedSurface::IfcCurveBoundedSurface(::Ifc4::IfcSurface* v1_BasisSurface, aggregate_of< ::Ifc4::IfcBoundaryCurve >::ptr v2_Boundaries, bool v3_ImplicitOuter) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Boundaries)->generalize());set_attribute_value(2, (v3_ImplicitOuter));; populate_derived(); } // Function implementations for IfcCurveStyle -::Ifc4::IfcCurveFontOrScaledCurveFontSelect* Ifc4::IfcCurveStyle::CurveFont() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcCurveFontOrScaledCurveFontSelect>(true); } +::Ifc4::IfcCurveFontOrScaledCurveFontSelect* Ifc4::IfcCurveStyle::CurveFont() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcCurveFontOrScaledCurveFontSelect>(true); } void Ifc4::IfcCurveStyle::setCurveFont(::Ifc4::IfcCurveFontOrScaledCurveFontSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4::IfcSizeSelect* Ifc4::IfcCurveStyle::CurveWidth() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcSizeSelect>(true); } +::Ifc4::IfcSizeSelect* Ifc4::IfcCurveStyle::CurveWidth() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcSizeSelect>(true); } void Ifc4::IfcCurveStyle::setCurveWidth(::Ifc4::IfcSizeSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcColour* Ifc4::IfcCurveStyle::CurveColour() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4::IfcColour>(true); } +::Ifc4::IfcColour* Ifc4::IfcCurveStyle::CurveColour() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4::IfcColour>(true); } void Ifc4::IfcCurveStyle::setCurveColour(::Ifc4::IfcColour* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< bool > Ifc4::IfcCurveStyle::ModelOrDraughting() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } bool v = data_.get_attribute_value(4); return v; } +boost::optional< bool > Ifc4::IfcCurveStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return boost::none; } bool v = get_attribute_value(4); return v; } void Ifc4::IfcCurveStyle::setModelOrDraughting(boost::optional< bool > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4::IfcCurveStyle::declaration() const { return *((IfcParse::entity*)IFC4_types[244]); } const IfcParse::entity& Ifc4::IfcCurveStyle::Class() { return *((IfcParse::entity*)IFC4_types[244]); } Ifc4::IfcCurveStyle::IfcCurveStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4::IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, ::Ifc4::IfcCurveFontOrScaledCurveFontSelect* v2_CurveFont, ::Ifc4::IfcSizeSelect* v3_CurveWidth, ::Ifc4::IfcColour* v4_CurveColour, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CurveWidth ? v3_CurveWidth->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_CurveColour ? v4_CurveColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } +Ifc4::IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, ::Ifc4::IfcCurveFontOrScaledCurveFontSelect* v2_CurveFont, ::Ifc4::IfcSizeSelect* v3_CurveWidth, ::Ifc4::IfcColour* v4_CurveColour, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CurveWidth ? v3_CurveWidth->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_CurveColour ? v4_CurveColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } // Function implementations for IfcCurveStyleFont -boost::optional< std::string > Ifc4::IfcCurveStyleFont::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4::IfcCurveStyleFont::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4::IfcCurveStyleFont::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -aggregate_of< ::Ifc4::IfcCurveStyleFontPattern >::ptr Ifc4::IfcCurveStyleFont::PatternList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4::IfcCurveStyleFontPattern >(); } +aggregate_of< ::Ifc4::IfcCurveStyleFontPattern >::ptr Ifc4::IfcCurveStyleFont::PatternList() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4::IfcCurveStyleFontPattern >(); } void Ifc4::IfcCurveStyleFont::setPatternList(aggregate_of< ::Ifc4::IfcCurveStyleFontPattern >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcCurveStyleFont::declaration() const { return *((IfcParse::entity*)IFC4_types[245]); } const IfcParse::entity& Ifc4::IfcCurveStyleFont::Class() { return *((IfcParse::entity*)IFC4_types[245]); } Ifc4::IfcCurveStyleFont::IfcCurveStyleFont(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4::IfcCurveStyleFontPattern >::ptr v2_PatternList) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_PatternList)->generalize());; populate_derived(); } +Ifc4::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4::IfcCurveStyleFontPattern >::ptr v2_PatternList) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_PatternList)->generalize());; populate_derived(); } // Function implementations for IfcCurveStyleFontAndScaling -boost::optional< std::string > Ifc4::IfcCurveStyleFontAndScaling::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4::IfcCurveStyleFontAndScaling::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4::IfcCurveStyleFontSelect* Ifc4::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcCurveStyleFontSelect>(true); } +::Ifc4::IfcCurveStyleFontSelect* Ifc4::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcCurveStyleFontSelect>(true); } void Ifc4::IfcCurveStyleFontAndScaling::setCurveFont(::Ifc4::IfcCurveStyleFontSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -double Ifc4::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = get_attribute_value(2); return v; } void Ifc4::IfcCurveStyleFontAndScaling::setCurveFontScaling(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4::IfcCurveStyleFontAndScaling::declaration() const { return *((IfcParse::entity*)IFC4_types[246]); } const IfcParse::entity& Ifc4::IfcCurveStyleFontAndScaling::Class() { return *((IfcParse::entity*)IFC4_types[246]); } Ifc4::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(boost::optional< std::string > v1_Name, ::Ifc4::IfcCurveStyleFontSelect* v2_CurveFont, double v3_CurveFontScaling) : IfcPresentationItem(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_CurveFontScaling));; populate_derived(); } +Ifc4::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(boost::optional< std::string > v1_Name, ::Ifc4::IfcCurveStyleFontSelect* v2_CurveFont, double v3_CurveFontScaling) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_CurveFontScaling));; populate_derived(); } // Function implementations for IfcCurveStyleFontPattern -double Ifc4::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = get_attribute_value(0); return v; } void Ifc4::IfcCurveStyleFontPattern::setVisibleSegmentLength(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc4::IfcCurveStyleFontPattern::InvisibleSegmentLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4::IfcCurveStyleFontPattern::InvisibleSegmentLength() const { double v = get_attribute_value(1); return v; } void Ifc4::IfcCurveStyleFontPattern::setInvisibleSegmentLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcCurveStyleFontPattern::declaration() const { return *((IfcParse::entity*)IFC4_types[247]); } const IfcParse::entity& Ifc4::IfcCurveStyleFontPattern::Class() { return *((IfcParse::entity*)IFC4_types[247]); } Ifc4::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; populate_derived(); } +Ifc4::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; populate_derived(); } // Function implementations for IfcCylindricalSurface -double Ifc4::IfcCylindricalSurface::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4::IfcCylindricalSurface::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4::IfcCylindricalSurface::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcCylindricalSurface::declaration() const { return *((IfcParse::entity*)IFC4_types[249]); } const IfcParse::entity& Ifc4::IfcCylindricalSurface::Class() { return *((IfcParse::entity*)IFC4_types[249]); } Ifc4::IfcCylindricalSurface::IfcCylindricalSurface(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4::IfcCylindricalSurface::IfcCylindricalSurface(::Ifc4::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4::IfcCylindricalSurface::IfcCylindricalSurface(::Ifc4::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcDamper -boost::optional< ::Ifc4::IfcDamperTypeEnum::Value > Ifc4::IfcDamper::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcDamperTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcDamperTypeEnum::Value > Ifc4::IfcDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcDamperTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcDamper::setPredefinedType(boost::optional< ::Ifc4::IfcDamperTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcDamperTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcDamper::declaration() const { return *((IfcParse::entity*)IFC4_types[250]); } const IfcParse::entity& Ifc4::IfcDamper::Class() { return *((IfcParse::entity*)IFC4_types[250]); } Ifc4::IfcDamper::IfcDamper(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4::IfcDamper::IfcDamper(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcDamperTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcDamper::IfcDamper(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcDamperTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDamperType -::Ifc4::IfcDamperTypeEnum::Value Ifc4::IfcDamperType::PredefinedType() const { return ::Ifc4::IfcDamperTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcDamperTypeEnum::Value Ifc4::IfcDamperType::PredefinedType() const { return ::Ifc4::IfcDamperTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcDamperType::setPredefinedType(::Ifc4::IfcDamperTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcDamperTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcDamperType::declaration() const { return *((IfcParse::entity*)IFC4_types[251]); } const IfcParse::entity& Ifc4::IfcDamperType::Class() { return *((IfcParse::entity*)IFC4_types[251]); } Ifc4::IfcDamperType::IfcDamperType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4::IfcDamperType::IfcDamperType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcDamperTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcDamperType::IfcDamperType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcDamperTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDerivedProfileDef -::Ifc4::IfcProfileDef* Ifc4::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcProfileDef>(true); } +::Ifc4::IfcProfileDef* Ifc4::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcProfileDef>(true); } void Ifc4::IfcDerivedProfileDef::setParentProfile(::Ifc4::IfcProfileDef* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcCartesianTransformationOperator2D* Ifc4::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4::IfcCartesianTransformationOperator2D>(true); } +::Ifc4::IfcCartesianTransformationOperator2D* Ifc4::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4::IfcCartesianTransformationOperator2D>(true); } void Ifc4::IfcDerivedProfileDef::setOperator(::Ifc4::IfcCartesianTransformationOperator2D* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4::IfcDerivedProfileDef::Label() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4::IfcDerivedProfileDef::Label() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4::IfcDerivedProfileDef::declaration() const { return *((IfcParse::entity*)IFC4_types[260]); } const IfcParse::entity& Ifc4::IfcDerivedProfileDef::Class() { return *((IfcParse::entity*)IFC4_types[260]); } Ifc4::IfcDerivedProfileDef::IfcDerivedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4::IfcDerivedProfileDef::IfcDerivedProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcProfileDef* v3_ParentProfile, ::Ifc4::IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< std::string > v5_Label) : IfcProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Operator ? v4_Operator->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } +Ifc4::IfcDerivedProfileDef::IfcDerivedProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcProfileDef* v3_ParentProfile, ::Ifc4::IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< std::string > v5_Label) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Operator ? v4_Operator->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } // Function implementations for IfcDerivedUnit -aggregate_of< ::Ifc4::IfcDerivedUnitElement >::ptr Ifc4::IfcDerivedUnit::Elements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4::IfcDerivedUnitElement >(); } +aggregate_of< ::Ifc4::IfcDerivedUnitElement >::ptr Ifc4::IfcDerivedUnit::Elements() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4::IfcDerivedUnitElement >(); } void Ifc4::IfcDerivedUnit::setElements(aggregate_of< ::Ifc4::IfcDerivedUnitElement >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcDerivedUnitEnum::Value Ifc4::IfcDerivedUnit::UnitType() const { return ::Ifc4::IfcDerivedUnitEnum::FromString(data_.get_attribute_value(1)); } +::Ifc4::IfcDerivedUnitEnum::Value Ifc4::IfcDerivedUnit::UnitType() const { return ::Ifc4::IfcDerivedUnitEnum::FromString(get_attribute_value(1)); } void Ifc4::IfcDerivedUnit::setUnitType(::Ifc4::IfcDerivedUnitEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4::IfcDerivedUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4::IfcDerivedUnit::UserDefinedType() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4::IfcDerivedUnit::UserDefinedType() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4::IfcDerivedUnit::setUserDefinedType(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4::IfcDerivedUnit::declaration() const { return *((IfcParse::entity*)IFC4_types[261]); } const IfcParse::entity& Ifc4::IfcDerivedUnit::Class() { return *((IfcParse::entity*)IFC4_types[261]); } Ifc4::IfcDerivedUnit::IfcDerivedUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcDerivedUnit::IfcDerivedUnit(aggregate_of< ::Ifc4::IfcDerivedUnitElement >::ptr v1_Elements, ::Ifc4::IfcDerivedUnitEnum::Value v2_UnitType, boost::optional< std::string > v3_UserDefinedType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Elements)->generalize());set_attribute_value(1, (EnumerationReference(&::Ifc4::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); }; populate_derived(); } +Ifc4::IfcDerivedUnit::IfcDerivedUnit(aggregate_of< ::Ifc4::IfcDerivedUnitElement >::ptr v1_Elements, ::Ifc4::IfcDerivedUnitEnum::Value v2_UnitType, boost::optional< std::string > v3_UserDefinedType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Elements)->generalize());set_attribute_value(1, (EnumerationReference(&::Ifc4::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); }; populate_derived(); } // Function implementations for IfcDerivedUnitElement -::Ifc4::IfcNamedUnit* Ifc4::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcNamedUnit>(true); } +::Ifc4::IfcNamedUnit* Ifc4::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcNamedUnit>(true); } void Ifc4::IfcDerivedUnitElement::setUnit(::Ifc4::IfcNamedUnit* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -int Ifc4::IfcDerivedUnitElement::Exponent() const { int v = data_.get_attribute_value(1); return v; } +int Ifc4::IfcDerivedUnitElement::Exponent() const { int v = get_attribute_value(1); return v; } void Ifc4::IfcDerivedUnitElement::setExponent(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcDerivedUnitElement::declaration() const { return *((IfcParse::entity*)IFC4_types[262]); } const IfcParse::entity& Ifc4::IfcDerivedUnitElement::Class() { return *((IfcParse::entity*)IFC4_types[262]); } Ifc4::IfcDerivedUnitElement::IfcDerivedUnitElement(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcDerivedUnitElement::IfcDerivedUnitElement(::Ifc4::IfcNamedUnit* v1_Unit, int v2_Exponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Unit ? v1_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Exponent));; populate_derived(); } +Ifc4::IfcDerivedUnitElement::IfcDerivedUnitElement(::Ifc4::IfcNamedUnit* v1_Unit, int v2_Exponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Unit ? v1_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Exponent));; populate_derived(); } // Function implementations for IfcDimensionalExponents -int Ifc4::IfcDimensionalExponents::LengthExponent() const { int v = data_.get_attribute_value(0); return v; } +int Ifc4::IfcDimensionalExponents::LengthExponent() const { int v = get_attribute_value(0); return v; } void Ifc4::IfcDimensionalExponents::setLengthExponent(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -int Ifc4::IfcDimensionalExponents::MassExponent() const { int v = data_.get_attribute_value(1); return v; } +int Ifc4::IfcDimensionalExponents::MassExponent() const { int v = get_attribute_value(1); return v; } void Ifc4::IfcDimensionalExponents::setMassExponent(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -int Ifc4::IfcDimensionalExponents::TimeExponent() const { int v = data_.get_attribute_value(2); return v; } +int Ifc4::IfcDimensionalExponents::TimeExponent() const { int v = get_attribute_value(2); return v; } void Ifc4::IfcDimensionalExponents::setTimeExponent(int v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -int Ifc4::IfcDimensionalExponents::ElectricCurrentExponent() const { int v = data_.get_attribute_value(3); return v; } +int Ifc4::IfcDimensionalExponents::ElectricCurrentExponent() const { int v = get_attribute_value(3); return v; } void Ifc4::IfcDimensionalExponents::setElectricCurrentExponent(int v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -int Ifc4::IfcDimensionalExponents::ThermodynamicTemperatureExponent() const { int v = data_.get_attribute_value(4); return v; } +int Ifc4::IfcDimensionalExponents::ThermodynamicTemperatureExponent() const { int v = get_attribute_value(4); return v; } void Ifc4::IfcDimensionalExponents::setThermodynamicTemperatureExponent(int v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -int Ifc4::IfcDimensionalExponents::AmountOfSubstanceExponent() const { int v = data_.get_attribute_value(5); return v; } +int Ifc4::IfcDimensionalExponents::AmountOfSubstanceExponent() const { int v = get_attribute_value(5); return v; } void Ifc4::IfcDimensionalExponents::setAmountOfSubstanceExponent(int v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -int Ifc4::IfcDimensionalExponents::LuminousIntensityExponent() const { int v = data_.get_attribute_value(6); return v; } +int Ifc4::IfcDimensionalExponents::LuminousIntensityExponent() const { int v = get_attribute_value(6); return v; } void Ifc4::IfcDimensionalExponents::setLuminousIntensityExponent(int v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4::IfcDimensionalExponents::declaration() const { return *((IfcParse::entity*)IFC4_types[265]); } const IfcParse::entity& Ifc4::IfcDimensionalExponents::Class() { return *((IfcParse::entity*)IFC4_types[265]); } Ifc4::IfcDimensionalExponents::IfcDimensionalExponents(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::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(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; populate_derived(); } +Ifc4::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(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; populate_derived(); } // Function implementations for IfcDirection -std::vector< double > /*[2:3]*/ Ifc4::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[2:3]*/ Ifc4::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(0); return v; } void Ifc4::IfcDirection::setDirectionRatios(std::vector< double > /*[2:3]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4::IfcDirection::declaration() const { return *((IfcParse::entity*)IFC4_types[267]); } const IfcParse::entity& Ifc4::IfcDirection::Class() { return *((IfcParse::entity*)IFC4_types[267]); } Ifc4::IfcDirection::IfcDirection(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4::IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionRatios) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_DirectionRatios));; populate_derived(); } +Ifc4::IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionRatios) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_DirectionRatios));; populate_derived(); } // Function implementations for IfcDiscreteAccessory -boost::optional< ::Ifc4::IfcDiscreteAccessoryTypeEnum::Value > Ifc4::IfcDiscreteAccessory::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcDiscreteAccessoryTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcDiscreteAccessoryTypeEnum::Value > Ifc4::IfcDiscreteAccessory::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcDiscreteAccessory::setPredefinedType(boost::optional< ::Ifc4::IfcDiscreteAccessoryTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcDiscreteAccessoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcDiscreteAccessory::declaration() const { return *((IfcParse::entity*)IFC4_types[269]); } const IfcParse::entity& Ifc4::IfcDiscreteAccessory::Class() { return *((IfcParse::entity*)IFC4_types[269]); } Ifc4::IfcDiscreteAccessory::IfcDiscreteAccessory(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4::IfcDiscreteAccessory::IfcDiscreteAccessory(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcDiscreteAccessory::IfcDiscreteAccessory(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDiscreteAccessoryType -::Ifc4::IfcDiscreteAccessoryTypeEnum::Value Ifc4::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4::IfcDiscreteAccessoryTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcDiscreteAccessoryTypeEnum::Value Ifc4::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcDiscreteAccessoryType::setPredefinedType(::Ifc4::IfcDiscreteAccessoryTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcDiscreteAccessoryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcDiscreteAccessoryType::declaration() const { return *((IfcParse::entity*)IFC4_types[270]); } const IfcParse::entity& Ifc4::IfcDiscreteAccessoryType::Class() { return *((IfcParse::entity*)IFC4_types[270]); } Ifc4::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDistributionChamberElement -boost::optional< ::Ifc4::IfcDistributionChamberElementTypeEnum::Value > Ifc4::IfcDistributionChamberElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcDistributionChamberElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcDistributionChamberElementTypeEnum::Value > Ifc4::IfcDistributionChamberElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcDistributionChamberElement::setPredefinedType(boost::optional< ::Ifc4::IfcDistributionChamberElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcDistributionChamberElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcDistributionChamberElement::declaration() const { return *((IfcParse::entity*)IFC4_types[272]); } const IfcParse::entity& Ifc4::IfcDistributionChamberElement::Class() { return *((IfcParse::entity*)IFC4_types[272]); } Ifc4::IfcDistributionChamberElement::IfcDistributionChamberElement(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4::IfcDistributionChamberElement::IfcDistributionChamberElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcDistributionChamberElement::IfcDistributionChamberElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDistributionChamberElementType -::Ifc4::IfcDistributionChamberElementTypeEnum::Value Ifc4::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4::IfcDistributionChamberElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcDistributionChamberElementTypeEnum::Value Ifc4::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcDistributionChamberElementType::setPredefinedType(::Ifc4::IfcDistributionChamberElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcDistributionChamberElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcDistributionChamberElementType::declaration() const { return *((IfcParse::entity*)IFC4_types[273]); } const IfcParse::entity& Ifc4::IfcDistributionChamberElementType::Class() { return *((IfcParse::entity*)IFC4_types[273]); } Ifc4::IfcDistributionChamberElementType::IfcDistributionChamberElementType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4::IfcDistributionChamberElementType::IfcDistributionChamberElementType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcDistributionChamberElementType::IfcDistributionChamberElementType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDistributionCircuit @@ -8776,7 +8776,7 @@ Ifc4::IfcDistributionChamberElementType::IfcDistributionChamberElementType(std:: const IfcParse::entity& Ifc4::IfcDistributionCircuit::declaration() const { return *((IfcParse::entity*)IFC4_types[275]); } const IfcParse::entity& Ifc4::IfcDistributionCircuit::Class() { return *((IfcParse::entity*)IFC4_types[275]); } Ifc4::IfcDistributionCircuit::IfcDistributionCircuit(IfcEntityInstanceData&& e) : IfcDistributionSystem(std::move(e)) { } -Ifc4::IfcDistributionCircuit::IfcDistributionCircuit(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< ::Ifc4::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcDistributionSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } +Ifc4::IfcDistributionCircuit::IfcDistributionCircuit(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< ::Ifc4::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcDistributionSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDistributionControlElement @@ -8785,7 +8785,7 @@ Ifc4::IfcDistributionCircuit::IfcDistributionCircuit(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4::IfcDistributionControlElement::declaration() const { return *((IfcParse::entity*)IFC4_types[276]); } const IfcParse::entity& Ifc4::IfcDistributionControlElement::Class() { return *((IfcParse::entity*)IFC4_types[276]); } Ifc4::IfcDistributionControlElement::IfcDistributionControlElement(IfcEntityInstanceData&& e) : IfcDistributionElement(std::move(e)) { } -Ifc4::IfcDistributionControlElement::IfcDistributionControlElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4::IfcDistributionControlElement::IfcDistributionControlElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionControlElementType @@ -8793,7 +8793,7 @@ Ifc4::IfcDistributionControlElement::IfcDistributionControlElement(std::string v const IfcParse::entity& Ifc4::IfcDistributionControlElementType::declaration() const { return *((IfcParse::entity*)IFC4_types[277]); } const IfcParse::entity& Ifc4::IfcDistributionControlElementType::Class() { return *((IfcParse::entity*)IFC4_types[277]); } Ifc4::IfcDistributionControlElementType::IfcDistributionControlElementType(IfcEntityInstanceData&& e) : IfcDistributionElementType(std::move(e)) { } -Ifc4::IfcDistributionControlElementType::IfcDistributionControlElementType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4::IfcDistributionControlElementType::IfcDistributionControlElementType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionElement @@ -8802,7 +8802,7 @@ Ifc4::IfcDistributionControlElementType::IfcDistributionControlElementType(std:: const IfcParse::entity& Ifc4::IfcDistributionElement::declaration() const { return *((IfcParse::entity*)IFC4_types[278]); } const IfcParse::entity& Ifc4::IfcDistributionElement::Class() { return *((IfcParse::entity*)IFC4_types[278]); } Ifc4::IfcDistributionElement::IfcDistributionElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4::IfcDistributionElement::IfcDistributionElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4::IfcDistributionElement::IfcDistributionElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionElementType @@ -8810,7 +8810,7 @@ Ifc4::IfcDistributionElement::IfcDistributionElement(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4::IfcDistributionElementType::declaration() const { return *((IfcParse::entity*)IFC4_types[279]); } const IfcParse::entity& Ifc4::IfcDistributionElementType::Class() { return *((IfcParse::entity*)IFC4_types[279]); } Ifc4::IfcDistributionElementType::IfcDistributionElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4::IfcDistributionElementType::IfcDistributionElementType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4::IfcDistributionElementType::IfcDistributionElementType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionFlowElement @@ -8819,7 +8819,7 @@ Ifc4::IfcDistributionElementType::IfcDistributionElementType(std::string v1_Glob const IfcParse::entity& Ifc4::IfcDistributionFlowElement::declaration() const { return *((IfcParse::entity*)IFC4_types[280]); } const IfcParse::entity& Ifc4::IfcDistributionFlowElement::Class() { return *((IfcParse::entity*)IFC4_types[280]); } Ifc4::IfcDistributionFlowElement::IfcDistributionFlowElement(IfcEntityInstanceData&& e) : IfcDistributionElement(std::move(e)) { } -Ifc4::IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4::IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionFlowElementType @@ -8827,68 +8827,68 @@ Ifc4::IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v1_Glob const IfcParse::entity& Ifc4::IfcDistributionFlowElementType::declaration() const { return *((IfcParse::entity*)IFC4_types[281]); } const IfcParse::entity& Ifc4::IfcDistributionFlowElementType::Class() { return *((IfcParse::entity*)IFC4_types[281]); } Ifc4::IfcDistributionFlowElementType::IfcDistributionFlowElementType(IfcEntityInstanceData&& e) : IfcDistributionElementType(std::move(e)) { } -Ifc4::IfcDistributionFlowElementType::IfcDistributionFlowElementType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4::IfcDistributionFlowElementType::IfcDistributionFlowElementType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionPort -boost::optional< ::Ifc4::IfcFlowDirectionEnum::Value > Ifc4::IfcDistributionPort::FlowDirection() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4::IfcFlowDirectionEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4::IfcFlowDirectionEnum::Value > Ifc4::IfcDistributionPort::FlowDirection() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4::IfcFlowDirectionEnum::FromString(get_attribute_value(7)); } void Ifc4::IfcDistributionPort::setFlowDirection(boost::optional< ::Ifc4::IfcFlowDirectionEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4::IfcFlowDirectionEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4::IfcDistributionPortTypeEnum::Value > Ifc4::IfcDistributionPort::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcDistributionPortTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcDistributionPortTypeEnum::Value > Ifc4::IfcDistributionPort::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcDistributionPortTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcDistributionPort::setPredefinedType(boost::optional< ::Ifc4::IfcDistributionPortTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcDistributionPortTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< ::Ifc4::IfcDistributionSystemEnum::Value > Ifc4::IfcDistributionPort::SystemType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4::IfcDistributionSystemEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4::IfcDistributionSystemEnum::Value > Ifc4::IfcDistributionPort::SystemType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4::IfcDistributionSystemEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcDistributionPort::setSystemType(boost::optional< ::Ifc4::IfcDistributionSystemEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4::IfcDistributionSystemEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4::IfcDistributionPort::declaration() const { return *((IfcParse::entity*)IFC4_types[282]); } const IfcParse::entity& Ifc4::IfcDistributionPort::Class() { return *((IfcParse::entity*)IFC4_types[282]); } Ifc4::IfcDistributionPort::IfcDistributionPort(IfcEntityInstanceData&& e) : IfcPort(std::move(e)) { } -Ifc4::IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4::IfcFlowDirectionEnum::Value > v8_FlowDirection, boost::optional< ::Ifc4::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4::IfcDistributionSystemEnum::Value > v10_SystemType) : IfcPort(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_FlowDirection) {set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); }; populate_derived(); } +Ifc4::IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4::IfcFlowDirectionEnum::Value > v8_FlowDirection, boost::optional< ::Ifc4::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4::IfcDistributionSystemEnum::Value > v10_SystemType) : IfcPort(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_FlowDirection) {set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); }; populate_derived(); } // Function implementations for IfcDistributionSystem -boost::optional< std::string > Ifc4::IfcDistributionSystem::LongName() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4::IfcDistributionSystem::LongName() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcDistributionSystem::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< ::Ifc4::IfcDistributionSystemEnum::Value > Ifc4::IfcDistributionSystem::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4::IfcDistributionSystemEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4::IfcDistributionSystemEnum::Value > Ifc4::IfcDistributionSystem::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4::IfcDistributionSystemEnum::FromString(get_attribute_value(6)); } void Ifc4::IfcDistributionSystem::setPredefinedType(boost::optional< ::Ifc4::IfcDistributionSystemEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4::IfcDistributionSystemEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4::IfcDistributionSystem::declaration() const { return *((IfcParse::entity*)IFC4_types[284]); } const IfcParse::entity& Ifc4::IfcDistributionSystem::Class() { return *((IfcParse::entity*)IFC4_types[284]); } Ifc4::IfcDistributionSystem::IfcDistributionSystem(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4::IfcDistributionSystem::IfcDistributionSystem(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< ::Ifc4::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } +Ifc4::IfcDistributionSystem::IfcDistributionSystem(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< ::Ifc4::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDocumentInformation -std::string Ifc4::IfcDocumentInformation::Identification() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4::IfcDocumentInformation::Identification() const { std::string v = get_attribute_value(0); return v; } void Ifc4::IfcDocumentInformation::setIdentification(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc4::IfcDocumentInformation::Name() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4::IfcDocumentInformation::Name() const { std::string v = get_attribute_value(1); return v; } void Ifc4::IfcDocumentInformation::setName(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4::IfcDocumentInformation::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4::IfcDocumentInformation::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4::IfcDocumentInformation::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4::IfcDocumentInformation::Location() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4::IfcDocumentInformation::Location() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4::IfcDocumentInformation::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4::IfcDocumentInformation::Purpose() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4::IfcDocumentInformation::Purpose() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcDocumentInformation::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4::IfcDocumentInformation::IntendedUse() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4::IfcDocumentInformation::IntendedUse() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcDocumentInformation::setIntendedUse(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4::IfcDocumentInformation::Scope() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4::IfcDocumentInformation::Scope() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4::IfcDocumentInformation::setScope(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4::IfcDocumentInformation::Revision() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4::IfcDocumentInformation::Revision() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4::IfcActorSelect* Ifc4::IfcDocumentInformation::DocumentOwner() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4::IfcActorSelect>(true); } +::Ifc4::IfcActorSelect* Ifc4::IfcDocumentInformation::DocumentOwner() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4::IfcActorSelect>(true); } void Ifc4::IfcDocumentInformation::setDocumentOwner(::Ifc4::IfcActorSelect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -boost::optional< aggregate_of< ::Ifc4::IfcActorSelect >::ptr > Ifc4::IfcDocumentInformation::Editors() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4::IfcActorSelect >(); } +boost::optional< aggregate_of< ::Ifc4::IfcActorSelect >::ptr > Ifc4::IfcDocumentInformation::Editors() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4::IfcActorSelect >(); } void Ifc4::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4::IfcActorSelect >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4::IfcDocumentInformation::CreationTime() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4::IfcDocumentInformation::CreationTime() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< std::string > Ifc4::IfcDocumentInformation::LastRevisionTime() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4::IfcDocumentInformation::LastRevisionTime() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4::IfcDocumentInformation::setLastRevisionTime(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4::IfcDocumentInformation::ElectronicFormat() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4::IfcDocumentInformation::ElectronicFormat() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4::IfcDocumentInformation::setElectronicFormat(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< std::string > Ifc4::IfcDocumentInformation::ValidFrom() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(13); return v; } +boost::optional< std::string > Ifc4::IfcDocumentInformation::ValidFrom() const { if(get_attribute_value(13).isNull()) { return boost::none; } std::string v = get_attribute_value(13); return v; } void Ifc4::IfcDocumentInformation::setValidFrom(boost::optional< std::string > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4::IfcDocumentInformation::ValidUntil() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4::IfcDocumentInformation::ValidUntil() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4::IfcDocumentInformation::setValidUntil(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< ::Ifc4::IfcDocumentConfidentialityEnum::Value > Ifc4::IfcDocumentInformation::Confidentiality() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } return ::Ifc4::IfcDocumentConfidentialityEnum::FromString(data_.get_attribute_value(15)); } +boost::optional< ::Ifc4::IfcDocumentConfidentialityEnum::Value > Ifc4::IfcDocumentInformation::Confidentiality() const { if(get_attribute_value(15).isNull()) { return boost::none; } return ::Ifc4::IfcDocumentConfidentialityEnum::FromString(get_attribute_value(15)); } void Ifc4::IfcDocumentInformation::setConfidentiality(boost::optional< ::Ifc4::IfcDocumentConfidentialityEnum::Value > v) { if (v) {set_attribute_value(15, EnumerationReference(&::Ifc4::IfcDocumentConfidentialityEnum::Class(), (size_t) *v));} else {unset_attribute_value(15);} } -boost::optional< ::Ifc4::IfcDocumentStatusEnum::Value > Ifc4::IfcDocumentInformation::Status() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } return ::Ifc4::IfcDocumentStatusEnum::FromString(data_.get_attribute_value(16)); } +boost::optional< ::Ifc4::IfcDocumentStatusEnum::Value > Ifc4::IfcDocumentInformation::Status() const { if(get_attribute_value(16).isNull()) { return boost::none; } return ::Ifc4::IfcDocumentStatusEnum::FromString(get_attribute_value(16)); } void Ifc4::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4::IfcDocumentStatusEnum::Value > v) { if (v) {set_attribute_value(16, EnumerationReference(&::Ifc4::IfcDocumentStatusEnum::Class(), (size_t) *v));} else {unset_attribute_value(16);} } ::Ifc4::IfcRelAssociatesDocument::list::ptr Ifc4::IfcDocumentInformation::DocumentInfoForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[810], 5)->as(); } @@ -8899,26 +8899,26 @@ void Ifc4::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4::IfcDocumen const IfcParse::entity& Ifc4::IfcDocumentInformation::declaration() const { return *((IfcParse::entity*)IFC4_types[287]); } const IfcParse::entity& Ifc4::IfcDocumentInformation::Class() { return *((IfcParse::entity*)IFC4_types[287]); } Ifc4::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData&& e) : IfcExternalInformation(std::move(e)) { } -Ifc4::IfcDocumentInformation::IfcDocumentInformation(std::string v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_Location, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, ::Ifc4::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4::IfcActorSelect >::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< ::Ifc4::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation(IfcEntityInstanceData(storage_t(17))) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, v9_DocumentOwner ? v9_DocumentOwner->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v10_Editors) {set_attribute_value(9, (*v10_Editors)->generalize()); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (EnumerationReference(&::Ifc4::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (EnumerationReference(&::Ifc4::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; populate_derived(); } +Ifc4::IfcDocumentInformation::IfcDocumentInformation(std::string v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_Location, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, ::Ifc4::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4::IfcActorSelect >::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< ::Ifc4::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation(IfcEntityInstanceData(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, v9_DocumentOwner ? v9_DocumentOwner->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v10_Editors) {set_attribute_value(9, (*v10_Editors)->generalize()); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (EnumerationReference(&::Ifc4::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (EnumerationReference(&::Ifc4::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; populate_derived(); } // Function implementations for IfcDocumentInformationRelationship -::Ifc4::IfcDocumentInformation* Ifc4::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcDocumentInformation>(true); } +::Ifc4::IfcDocumentInformation* Ifc4::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcDocumentInformation>(true); } void Ifc4::IfcDocumentInformationRelationship::setRelatingDocument(::Ifc4::IfcDocumentInformation* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4::IfcDocumentInformation >::ptr Ifc4::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4::IfcDocumentInformation >(); } +aggregate_of< ::Ifc4::IfcDocumentInformation >::ptr Ifc4::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4::IfcDocumentInformation >(); } void Ifc4::IfcDocumentInformationRelationship::setRelatedDocuments(aggregate_of< ::Ifc4::IfcDocumentInformation >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4::IfcDocumentInformationRelationship::RelationshipType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4::IfcDocumentInformationRelationship::RelationshipType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcDocumentInformationRelationship::setRelationshipType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4::IfcDocumentInformationRelationship::declaration() const { return *((IfcParse::entity*)IFC4_types[288]); } const IfcParse::entity& Ifc4::IfcDocumentInformationRelationship::Class() { return *((IfcParse::entity*)IFC4_types[288]); } Ifc4::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcDocumentInformation* v3_RelatingDocument, aggregate_of< ::Ifc4::IfcDocumentInformation >::ptr v4_RelatedDocuments, boost::optional< std::string > v5_RelationshipType) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingDocument ? v3_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedDocuments)->generalize()); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); }; populate_derived(); } +Ifc4::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcDocumentInformation* v3_RelatingDocument, aggregate_of< ::Ifc4::IfcDocumentInformation >::ptr v4_RelatedDocuments, boost::optional< std::string > v5_RelationshipType) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingDocument ? v3_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedDocuments)->generalize()); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); }; populate_derived(); } // Function implementations for IfcDocumentReference -boost::optional< std::string > Ifc4::IfcDocumentReference::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4::IfcDocumentReference::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4::IfcDocumentReference::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4::IfcDocumentInformation* Ifc4::IfcDocumentReference::ReferencedDocument() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4::IfcDocumentInformation>(true); } +::Ifc4::IfcDocumentInformation* Ifc4::IfcDocumentReference::ReferencedDocument() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4::IfcDocumentInformation>(true); } void Ifc4::IfcDocumentReference::setReferencedDocument(::Ifc4::IfcDocumentInformation* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } ::Ifc4::IfcRelAssociatesDocument::list::ptr Ifc4::IfcDocumentReference::DocumentRefForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[810], 5)->as(); } @@ -8926,77 +8926,77 @@ void Ifc4::IfcDocumentReference::setReferencedDocument(::Ifc4::IfcDocumentInform const IfcParse::entity& Ifc4::IfcDocumentReference::declaration() const { return *((IfcParse::entity*)IFC4_types[289]); } const IfcParse::entity& Ifc4::IfcDocumentReference::Class() { return *((IfcParse::entity*)IFC4_types[289]); } Ifc4::IfcDocumentReference::IfcDocumentReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4::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, ::Ifc4::IfcDocumentInformation* v5_ReferencedDocument) : IfcExternalReference(IfcEntityInstanceData(storage_t(5))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ReferencedDocument ? v5_ReferencedDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::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, ::Ifc4::IfcDocumentInformation* v5_ReferencedDocument) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ReferencedDocument ? v5_ReferencedDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDoor -boost::optional< double > Ifc4::IfcDoor::OverallHeight() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4::IfcDoor::OverallHeight() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4::IfcDoor::setOverallHeight(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4::IfcDoor::OverallWidth() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4::IfcDoor::OverallWidth() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4::IfcDoor::setOverallWidth(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4::IfcDoorTypeEnum::Value > Ifc4::IfcDoor::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4::IfcDoorTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4::IfcDoorTypeEnum::Value > Ifc4::IfcDoor::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4::IfcDoorTypeEnum::FromString(get_attribute_value(10)); } void Ifc4::IfcDoor::setPredefinedType(boost::optional< ::Ifc4::IfcDoorTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4::IfcDoorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -boost::optional< ::Ifc4::IfcDoorTypeOperationEnum::Value > Ifc4::IfcDoor::OperationType() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4::IfcDoorTypeOperationEnum::FromString(data_.get_attribute_value(11)); } +boost::optional< ::Ifc4::IfcDoorTypeOperationEnum::Value > Ifc4::IfcDoor::OperationType() const { if(get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4::IfcDoorTypeOperationEnum::FromString(get_attribute_value(11)); } void Ifc4::IfcDoor::setOperationType(boost::optional< ::Ifc4::IfcDoorTypeOperationEnum::Value > v) { if (v) {set_attribute_value(11, EnumerationReference(&::Ifc4::IfcDoorTypeOperationEnum::Class(), (size_t) *v));} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4::IfcDoor::UserDefinedOperationType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4::IfcDoor::UserDefinedOperationType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4::IfcDoor::setUserDefinedOperationType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4::IfcDoor::declaration() const { return *((IfcParse::entity*)IFC4_types[292]); } const IfcParse::entity& Ifc4::IfcDoor::Class() { return *((IfcParse::entity*)IFC4_types[292]); } Ifc4::IfcDoor::IfcDoor(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4::IfcDoor::IfcDoor(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } +Ifc4::IfcDoor::IfcDoor(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } // Function implementations for IfcDoorLiningProperties -boost::optional< double > Ifc4::IfcDoorLiningProperties::LiningDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4::IfcDoorLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4::IfcDoorLiningProperties::setLiningDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4::IfcDoorLiningProperties::LiningThickness() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4::IfcDoorLiningProperties::LiningThickness() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4::IfcDoorLiningProperties::setLiningThickness(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4::IfcDoorLiningProperties::ThresholdDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4::IfcDoorLiningProperties::ThresholdDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4::IfcDoorLiningProperties::setThresholdDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4::IfcDoorLiningProperties::ThresholdThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4::IfcDoorLiningProperties::ThresholdThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4::IfcDoorLiningProperties::setThresholdThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4::IfcDoorLiningProperties::TransomThickness() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4::IfcDoorLiningProperties::TransomThickness() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4::IfcDoorLiningProperties::setTransomThickness(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4::IfcDoorLiningProperties::TransomOffset() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4::IfcDoorLiningProperties::TransomOffset() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4::IfcDoorLiningProperties::setTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4::IfcDoorLiningProperties::LiningOffset() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4::IfcDoorLiningProperties::LiningOffset() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4::IfcDoorLiningProperties::setLiningOffset(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4::IfcDoorLiningProperties::ThresholdOffset() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4::IfcDoorLiningProperties::ThresholdOffset() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4::IfcDoorLiningProperties::setThresholdOffset(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4::IfcDoorLiningProperties::CasingThickness() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4::IfcDoorLiningProperties::CasingThickness() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4::IfcDoorLiningProperties::CasingDepth() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4::IfcDoorLiningProperties::CasingDepth() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -::Ifc4::IfcShapeAspect* Ifc4::IfcDoorLiningProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(14).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(14)))->as<::Ifc4::IfcShapeAspect>(true); } +::Ifc4::IfcShapeAspect* Ifc4::IfcDoorLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(14).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(14)))->as<::Ifc4::IfcShapeAspect>(true); } void Ifc4::IfcDoorLiningProperties::setShapeAspectStyle(::Ifc4::IfcShapeAspect* v) { set_attribute_value(14, v->as());if constexpr (false)unset_attribute_value(14); } -boost::optional< double > Ifc4::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4::IfcDoorLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4::IfcDoorLiningProperties::LiningToPanelOffsetY() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4::IfcDoorLiningProperties::LiningToPanelOffsetY() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4::IfcDoorLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } const IfcParse::entity& Ifc4::IfcDoorLiningProperties::declaration() const { return *((IfcParse::entity*)IFC4_types[293]); } const IfcParse::entity& Ifc4::IfcDoorLiningProperties::Class() { return *((IfcParse::entity*)IFC4_types[293]); } Ifc4::IfcDoorLiningProperties::IfcDoorLiningProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4::IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_GlobalId, ::Ifc4::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, ::Ifc4::IfcShapeAspect* v15_ShapeAspectStyle, boost::optional< double > v16_LiningToPanelOffsetX, boost::optional< double > v17_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, v15_ShapeAspectStyle ? v15_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); }; populate_derived(); } +Ifc4::IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_GlobalId, ::Ifc4::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, ::Ifc4::IfcShapeAspect* v15_ShapeAspectStyle, boost::optional< double > v16_LiningToPanelOffsetX, boost::optional< double > v17_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, v15_ShapeAspectStyle ? v15_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); }; populate_derived(); } // Function implementations for IfcDoorPanelProperties -boost::optional< double > Ifc4::IfcDoorPanelProperties::PanelDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4::IfcDoorPanelProperties::PanelDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4::IfcDoorPanelProperties::setPanelDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4::IfcDoorPanelOperationEnum::Value Ifc4::IfcDoorPanelProperties::PanelOperation() const { return ::Ifc4::IfcDoorPanelOperationEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4::IfcDoorPanelOperationEnum::Value Ifc4::IfcDoorPanelProperties::PanelOperation() const { return ::Ifc4::IfcDoorPanelOperationEnum::FromString(get_attribute_value(5)); } void Ifc4::IfcDoorPanelProperties::setPanelOperation(::Ifc4::IfcDoorPanelOperationEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4::IfcDoorPanelOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4::IfcDoorPanelProperties::PanelWidth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4::IfcDoorPanelProperties::PanelWidth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4::IfcDoorPanelPositionEnum::Value Ifc4::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4::IfcDoorPanelPositionEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4::IfcDoorPanelPositionEnum::Value Ifc4::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4::IfcDoorPanelPositionEnum::FromString(get_attribute_value(7)); } void Ifc4::IfcDoorPanelProperties::setPanelPosition(::Ifc4::IfcDoorPanelPositionEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4::IfcDoorPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4::IfcShapeAspect* Ifc4::IfcDoorPanelProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4::IfcShapeAspect>(true); } +::Ifc4::IfcShapeAspect* Ifc4::IfcDoorPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4::IfcShapeAspect>(true); } void Ifc4::IfcDoorPanelProperties::setShapeAspectStyle(::Ifc4::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4::IfcDoorPanelProperties::declaration() const { return *((IfcParse::entity*)IFC4_types[296]); } const IfcParse::entity& Ifc4::IfcDoorPanelProperties::Class() { return *((IfcParse::entity*)IFC4_types[296]); } Ifc4::IfcDoorPanelProperties::IfcDoorPanelProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4::IfcDoorPanelProperties::IfcDoorPanelProperties(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_PanelDepth, ::Ifc4::IfcDoorPanelOperationEnum::Value v6_PanelOperation, boost::optional< double > v7_PanelWidth, ::Ifc4::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcDoorPanelProperties::IfcDoorPanelProperties(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_PanelDepth, ::Ifc4::IfcDoorPanelOperationEnum::Value v6_PanelOperation, boost::optional< double > v7_PanelWidth, ::Ifc4::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDoorStandardCase @@ -9004,39 +9004,39 @@ Ifc4::IfcDoorPanelProperties::IfcDoorPanelProperties(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4::IfcDoorStandardCase::declaration() const { return *((IfcParse::entity*)IFC4_types[297]); } const IfcParse::entity& Ifc4::IfcDoorStandardCase::Class() { return *((IfcParse::entity*)IFC4_types[297]); } Ifc4::IfcDoorStandardCase::IfcDoorStandardCase(IfcEntityInstanceData&& e) : IfcDoor(std::move(e)) { } -Ifc4::IfcDoorStandardCase::IfcDoorStandardCase(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcDoor(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } +Ifc4::IfcDoorStandardCase::IfcDoorStandardCase(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcDoor(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } // Function implementations for IfcDoorStyle -::Ifc4::IfcDoorStyleOperationEnum::Value Ifc4::IfcDoorStyle::OperationType() const { return ::Ifc4::IfcDoorStyleOperationEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4::IfcDoorStyleOperationEnum::Value Ifc4::IfcDoorStyle::OperationType() const { return ::Ifc4::IfcDoorStyleOperationEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcDoorStyle::setOperationType(::Ifc4::IfcDoorStyleOperationEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4::IfcDoorStyleOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc4::IfcDoorStyleConstructionEnum::Value Ifc4::IfcDoorStyle::ConstructionType() const { return ::Ifc4::IfcDoorStyleConstructionEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcDoorStyleConstructionEnum::Value Ifc4::IfcDoorStyle::ConstructionType() const { return ::Ifc4::IfcDoorStyleConstructionEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcDoorStyle::setConstructionType(::Ifc4::IfcDoorStyleConstructionEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcDoorStyleConstructionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -bool Ifc4::IfcDoorStyle::ParameterTakesPrecedence() const { bool v = data_.get_attribute_value(10); return v; } +bool Ifc4::IfcDoorStyle::ParameterTakesPrecedence() const { bool v = get_attribute_value(10); return v; } void Ifc4::IfcDoorStyle::setParameterTakesPrecedence(bool v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -bool Ifc4::IfcDoorStyle::Sizeable() const { bool v = data_.get_attribute_value(11); return v; } +bool Ifc4::IfcDoorStyle::Sizeable() const { bool v = get_attribute_value(11); return v; } void Ifc4::IfcDoorStyle::setSizeable(bool v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4::IfcDoorStyle::declaration() const { return *((IfcParse::entity*)IFC4_types[298]); } const IfcParse::entity& Ifc4::IfcDoorStyle::Class() { return *((IfcParse::entity*)IFC4_types[298]); } Ifc4::IfcDoorStyle::IfcDoorStyle(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(e)) { } -Ifc4::IfcDoorStyle::IfcDoorStyle(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, ::Ifc4::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcDoorStyleOperationEnum::Class(),(size_t)v9_OperationType)));set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcDoorStyleConstructionEnum::Class(),(size_t)v10_ConstructionType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; populate_derived(); } +Ifc4::IfcDoorStyle::IfcDoorStyle(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, ::Ifc4::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcDoorStyleOperationEnum::Class(),(size_t)v9_OperationType)));set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcDoorStyleConstructionEnum::Class(),(size_t)v10_ConstructionType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; populate_derived(); } // Function implementations for IfcDoorType -::Ifc4::IfcDoorTypeEnum::Value Ifc4::IfcDoorType::PredefinedType() const { return ::Ifc4::IfcDoorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcDoorTypeEnum::Value Ifc4::IfcDoorType::PredefinedType() const { return ::Ifc4::IfcDoorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcDoorType::setPredefinedType(::Ifc4::IfcDoorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcDoorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4::IfcDoorTypeOperationEnum::Value Ifc4::IfcDoorType::OperationType() const { return ::Ifc4::IfcDoorTypeOperationEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4::IfcDoorTypeOperationEnum::Value Ifc4::IfcDoorType::OperationType() const { return ::Ifc4::IfcDoorTypeOperationEnum::FromString(get_attribute_value(10)); } void Ifc4::IfcDoorType::setOperationType(::Ifc4::IfcDoorTypeOperationEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4::IfcDoorTypeOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } -boost::optional< bool > Ifc4::IfcDoorType::ParameterTakesPrecedence() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } bool v = data_.get_attribute_value(11); return v; } +boost::optional< bool > Ifc4::IfcDoorType::ParameterTakesPrecedence() const { if(get_attribute_value(11).isNull()) { return boost::none; } bool v = get_attribute_value(11); return v; } void Ifc4::IfcDoorType::setParameterTakesPrecedence(boost::optional< bool > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4::IfcDoorType::UserDefinedOperationType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4::IfcDoorType::UserDefinedOperationType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4::IfcDoorType::setUserDefinedOperationType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4::IfcDoorType::declaration() const { return *((IfcParse::entity*)IFC4_types[301]); } const IfcParse::entity& Ifc4::IfcDoorType::Class() { return *((IfcParse::entity*)IFC4_types[301]); } Ifc4::IfcDoorType::IfcDoorType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4::IfcDoorType::IfcDoorType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4::IfcDoorTypeOperationEnum::Value v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } +Ifc4::IfcDoorType::IfcDoorType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4::IfcDoorTypeOperationEnum::Value v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } // Function implementations for IfcDraughtingPreDefinedColour @@ -9044,7 +9044,7 @@ Ifc4::IfcDoorType::IfcDoorType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* const IfcParse::entity& Ifc4::IfcDraughtingPreDefinedColour::declaration() const { return *((IfcParse::entity*)IFC4_types[305]); } const IfcParse::entity& Ifc4::IfcDraughtingPreDefinedColour::Class() { return *((IfcParse::entity*)IFC4_types[305]); } Ifc4::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(IfcEntityInstanceData&& e) : IfcPreDefinedColour(std::move(e)) { } -Ifc4::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::string v1_Name) : IfcPreDefinedColour(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::string v1_Name) : IfcPreDefinedColour(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcDraughtingPreDefinedCurveFont @@ -9052,224 +9052,224 @@ Ifc4::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::string v const IfcParse::entity& Ifc4::IfcDraughtingPreDefinedCurveFont::declaration() const { return *((IfcParse::entity*)IFC4_types[306]); } const IfcParse::entity& Ifc4::IfcDraughtingPreDefinedCurveFont::Class() { return *((IfcParse::entity*)IFC4_types[306]); } Ifc4::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(IfcEntityInstanceData&& e) : IfcPreDefinedCurveFont(std::move(e)) { } -Ifc4::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedCurveFont(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedCurveFont(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcDuctFitting -boost::optional< ::Ifc4::IfcDuctFittingTypeEnum::Value > Ifc4::IfcDuctFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcDuctFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcDuctFittingTypeEnum::Value > Ifc4::IfcDuctFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcDuctFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcDuctFitting::setPredefinedType(boost::optional< ::Ifc4::IfcDuctFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcDuctFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcDuctFitting::declaration() const { return *((IfcParse::entity*)IFC4_types[307]); } const IfcParse::entity& Ifc4::IfcDuctFitting::Class() { return *((IfcParse::entity*)IFC4_types[307]); } Ifc4::IfcDuctFitting::IfcDuctFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4::IfcDuctFitting::IfcDuctFitting(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcDuctFitting::IfcDuctFitting(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDuctFittingType -::Ifc4::IfcDuctFittingTypeEnum::Value Ifc4::IfcDuctFittingType::PredefinedType() const { return ::Ifc4::IfcDuctFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcDuctFittingTypeEnum::Value Ifc4::IfcDuctFittingType::PredefinedType() const { return ::Ifc4::IfcDuctFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcDuctFittingType::setPredefinedType(::Ifc4::IfcDuctFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcDuctFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcDuctFittingType::declaration() const { return *((IfcParse::entity*)IFC4_types[308]); } const IfcParse::entity& Ifc4::IfcDuctFittingType::Class() { return *((IfcParse::entity*)IFC4_types[308]); } Ifc4::IfcDuctFittingType::IfcDuctFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4::IfcDuctFittingType::IfcDuctFittingType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcDuctFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcDuctFittingType::IfcDuctFittingType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcDuctFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDuctSegment -boost::optional< ::Ifc4::IfcDuctSegmentTypeEnum::Value > Ifc4::IfcDuctSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcDuctSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcDuctSegmentTypeEnum::Value > Ifc4::IfcDuctSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcDuctSegment::setPredefinedType(boost::optional< ::Ifc4::IfcDuctSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcDuctSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcDuctSegment::declaration() const { return *((IfcParse::entity*)IFC4_types[310]); } const IfcParse::entity& Ifc4::IfcDuctSegment::Class() { return *((IfcParse::entity*)IFC4_types[310]); } Ifc4::IfcDuctSegment::IfcDuctSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4::IfcDuctSegment::IfcDuctSegment(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcDuctSegment::IfcDuctSegment(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDuctSegmentType -::Ifc4::IfcDuctSegmentTypeEnum::Value Ifc4::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4::IfcDuctSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcDuctSegmentTypeEnum::Value Ifc4::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcDuctSegmentType::setPredefinedType(::Ifc4::IfcDuctSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcDuctSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcDuctSegmentType::declaration() const { return *((IfcParse::entity*)IFC4_types[311]); } const IfcParse::entity& Ifc4::IfcDuctSegmentType::Class() { return *((IfcParse::entity*)IFC4_types[311]); } Ifc4::IfcDuctSegmentType::IfcDuctSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4::IfcDuctSegmentType::IfcDuctSegmentType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcDuctSegmentType::IfcDuctSegmentType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDuctSilencer -boost::optional< ::Ifc4::IfcDuctSilencerTypeEnum::Value > Ifc4::IfcDuctSilencer::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcDuctSilencerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcDuctSilencerTypeEnum::Value > Ifc4::IfcDuctSilencer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcDuctSilencer::setPredefinedType(boost::optional< ::Ifc4::IfcDuctSilencerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcDuctSilencerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcDuctSilencer::declaration() const { return *((IfcParse::entity*)IFC4_types[313]); } const IfcParse::entity& Ifc4::IfcDuctSilencer::Class() { return *((IfcParse::entity*)IFC4_types[313]); } Ifc4::IfcDuctSilencer::IfcDuctSilencer(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4::IfcDuctSilencer::IfcDuctSilencer(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcDuctSilencer::IfcDuctSilencer(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDuctSilencerType -::Ifc4::IfcDuctSilencerTypeEnum::Value Ifc4::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4::IfcDuctSilencerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcDuctSilencerTypeEnum::Value Ifc4::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcDuctSilencerType::setPredefinedType(::Ifc4::IfcDuctSilencerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcDuctSilencerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcDuctSilencerType::declaration() const { return *((IfcParse::entity*)IFC4_types[314]); } const IfcParse::entity& Ifc4::IfcDuctSilencerType::Class() { return *((IfcParse::entity*)IFC4_types[314]); } Ifc4::IfcDuctSilencerType::IfcDuctSilencerType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4::IfcDuctSilencerType::IfcDuctSilencerType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcDuctSilencerType::IfcDuctSilencerType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEdge -::Ifc4::IfcVertex* Ifc4::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcVertex>(true); } +::Ifc4::IfcVertex* Ifc4::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcVertex>(true); } void Ifc4::IfcEdge::setEdgeStart(::Ifc4::IfcVertex* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcVertex* Ifc4::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcVertex>(true); } +::Ifc4::IfcVertex* Ifc4::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcVertex>(true); } void Ifc4::IfcEdge::setEdgeEnd(::Ifc4::IfcVertex* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcEdge::declaration() const { return *((IfcParse::entity*)IFC4_types[318]); } const IfcParse::entity& Ifc4::IfcEdge::Class() { return *((IfcParse::entity*)IFC4_types[318]); } Ifc4::IfcEdge::IfcEdge(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4::IfcEdge::IfcEdge(::Ifc4::IfcVertex* v1_EdgeStart, ::Ifc4::IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcEdge::IfcEdge(::Ifc4::IfcVertex* v1_EdgeStart, ::Ifc4::IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcEdgeCurve -::Ifc4::IfcCurve* Ifc4::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcCurve>(true); } +::Ifc4::IfcCurve* Ifc4::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcEdgeCurve::setEdgeGeometry(::Ifc4::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -bool Ifc4::IfcEdgeCurve::SameSense() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4::IfcEdgeCurve::SameSense() const { bool v = get_attribute_value(3); return v; } void Ifc4::IfcEdgeCurve::setSameSense(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4::IfcEdgeCurve::declaration() const { return *((IfcParse::entity*)IFC4_types[319]); } const IfcParse::entity& Ifc4::IfcEdgeCurve::Class() { return *((IfcParse::entity*)IFC4_types[319]); } Ifc4::IfcEdgeCurve::IfcEdgeCurve(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc4::IfcEdgeCurve::IfcEdgeCurve(::Ifc4::IfcVertex* v1_EdgeStart, ::Ifc4::IfcVertex* v2_EdgeEnd, ::Ifc4::IfcCurve* v3_EdgeGeometry, bool v4_SameSense) : IfcEdge(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EdgeGeometry ? v3_EdgeGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SameSense));; populate_derived(); } +Ifc4::IfcEdgeCurve::IfcEdgeCurve(::Ifc4::IfcVertex* v1_EdgeStart, ::Ifc4::IfcVertex* v2_EdgeEnd, ::Ifc4::IfcCurve* v3_EdgeGeometry, bool v4_SameSense) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EdgeGeometry ? v3_EdgeGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SameSense));; populate_derived(); } // Function implementations for IfcEdgeLoop -aggregate_of< ::Ifc4::IfcOrientedEdge >::ptr Ifc4::IfcEdgeLoop::EdgeList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4::IfcOrientedEdge >(); } +aggregate_of< ::Ifc4::IfcOrientedEdge >::ptr Ifc4::IfcEdgeLoop::EdgeList() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4::IfcOrientedEdge >(); } void Ifc4::IfcEdgeLoop::setEdgeList(aggregate_of< ::Ifc4::IfcOrientedEdge >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4::IfcEdgeLoop::declaration() const { return *((IfcParse::entity*)IFC4_types[320]); } const IfcParse::entity& Ifc4::IfcEdgeLoop::Class() { return *((IfcParse::entity*)IFC4_types[320]); } Ifc4::IfcEdgeLoop::IfcEdgeLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc4::IfcEdgeLoop::IfcEdgeLoop(aggregate_of< ::Ifc4::IfcOrientedEdge >::ptr v1_EdgeList) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } +Ifc4::IfcEdgeLoop::IfcEdgeLoop(aggregate_of< ::Ifc4::IfcOrientedEdge >::ptr v1_EdgeList) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } // Function implementations for IfcElectricAppliance -boost::optional< ::Ifc4::IfcElectricApplianceTypeEnum::Value > Ifc4::IfcElectricAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcElectricApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcElectricApplianceTypeEnum::Value > Ifc4::IfcElectricAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcElectricAppliance::setPredefinedType(boost::optional< ::Ifc4::IfcElectricApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcElectricApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcElectricAppliance::declaration() const { return *((IfcParse::entity*)IFC4_types[321]); } const IfcParse::entity& Ifc4::IfcElectricAppliance::Class() { return *((IfcParse::entity*)IFC4_types[321]); } Ifc4::IfcElectricAppliance::IfcElectricAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4::IfcElectricAppliance::IfcElectricAppliance(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcElectricAppliance::IfcElectricAppliance(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricApplianceType -::Ifc4::IfcElectricApplianceTypeEnum::Value Ifc4::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4::IfcElectricApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcElectricApplianceTypeEnum::Value Ifc4::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcElectricApplianceType::setPredefinedType(::Ifc4::IfcElectricApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcElectricApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcElectricApplianceType::declaration() const { return *((IfcParse::entity*)IFC4_types[322]); } const IfcParse::entity& Ifc4::IfcElectricApplianceType::Class() { return *((IfcParse::entity*)IFC4_types[322]); } Ifc4::IfcElectricApplianceType::IfcElectricApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4::IfcElectricApplianceType::IfcElectricApplianceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcElectricApplianceType::IfcElectricApplianceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricDistributionBoard -boost::optional< ::Ifc4::IfcElectricDistributionBoardTypeEnum::Value > Ifc4::IfcElectricDistributionBoard::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcElectricDistributionBoardTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcElectricDistributionBoardTypeEnum::Value > Ifc4::IfcElectricDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcElectricDistributionBoard::setPredefinedType(boost::optional< ::Ifc4::IfcElectricDistributionBoardTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcElectricDistributionBoardTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcElectricDistributionBoard::declaration() const { return *((IfcParse::entity*)IFC4_types[328]); } const IfcParse::entity& Ifc4::IfcElectricDistributionBoard::Class() { return *((IfcParse::entity*)IFC4_types[328]); } Ifc4::IfcElectricDistributionBoard::IfcElectricDistributionBoard(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4::IfcElectricDistributionBoard::IfcElectricDistributionBoard(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcElectricDistributionBoard::IfcElectricDistributionBoard(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricDistributionBoardType -::Ifc4::IfcElectricDistributionBoardTypeEnum::Value Ifc4::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4::IfcElectricDistributionBoardTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcElectricDistributionBoardTypeEnum::Value Ifc4::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcElectricDistributionBoardType::setPredefinedType(::Ifc4::IfcElectricDistributionBoardTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcElectricDistributionBoardTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcElectricDistributionBoardType::declaration() const { return *((IfcParse::entity*)IFC4_types[329]); } const IfcParse::entity& Ifc4::IfcElectricDistributionBoardType::Class() { return *((IfcParse::entity*)IFC4_types[329]); } Ifc4::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricFlowStorageDevice -boost::optional< ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4::IfcElectricFlowStorageDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4::IfcElectricFlowStorageDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcElectricFlowStorageDevice::setPredefinedType(boost::optional< ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcElectricFlowStorageDevice::declaration() const { return *((IfcParse::entity*)IFC4_types[331]); } const IfcParse::entity& Ifc4::IfcElectricFlowStorageDevice::Class() { return *((IfcParse::entity*)IFC4_types[331]); } Ifc4::IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(IfcEntityInstanceData&& e) : IfcFlowStorageDevice(std::move(e)) { } -Ifc4::IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricFlowStorageDeviceType -::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcElectricFlowStorageDeviceType::setPredefinedType(::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcElectricFlowStorageDeviceType::declaration() const { return *((IfcParse::entity*)IFC4_types[332]); } const IfcParse::entity& Ifc4::IfcElectricFlowStorageDeviceType::Class() { return *((IfcParse::entity*)IFC4_types[332]); } Ifc4::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(IfcEntityInstanceData&& e) : IfcFlowStorageDeviceType(std::move(e)) { } -Ifc4::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricGenerator -boost::optional< ::Ifc4::IfcElectricGeneratorTypeEnum::Value > Ifc4::IfcElectricGenerator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcElectricGeneratorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcElectricGeneratorTypeEnum::Value > Ifc4::IfcElectricGenerator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcElectricGenerator::setPredefinedType(boost::optional< ::Ifc4::IfcElectricGeneratorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcElectricGeneratorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcElectricGenerator::declaration() const { return *((IfcParse::entity*)IFC4_types[334]); } const IfcParse::entity& Ifc4::IfcElectricGenerator::Class() { return *((IfcParse::entity*)IFC4_types[334]); } Ifc4::IfcElectricGenerator::IfcElectricGenerator(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4::IfcElectricGenerator::IfcElectricGenerator(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcElectricGenerator::IfcElectricGenerator(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricGeneratorType -::Ifc4::IfcElectricGeneratorTypeEnum::Value Ifc4::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4::IfcElectricGeneratorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcElectricGeneratorTypeEnum::Value Ifc4::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcElectricGeneratorType::setPredefinedType(::Ifc4::IfcElectricGeneratorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcElectricGeneratorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcElectricGeneratorType::declaration() const { return *((IfcParse::entity*)IFC4_types[335]); } const IfcParse::entity& Ifc4::IfcElectricGeneratorType::Class() { return *((IfcParse::entity*)IFC4_types[335]); } Ifc4::IfcElectricGeneratorType::IfcElectricGeneratorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4::IfcElectricGeneratorType::IfcElectricGeneratorType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcElectricGeneratorType::IfcElectricGeneratorType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricMotor -boost::optional< ::Ifc4::IfcElectricMotorTypeEnum::Value > Ifc4::IfcElectricMotor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcElectricMotorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcElectricMotorTypeEnum::Value > Ifc4::IfcElectricMotor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcElectricMotorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcElectricMotor::setPredefinedType(boost::optional< ::Ifc4::IfcElectricMotorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcElectricMotorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcElectricMotor::declaration() const { return *((IfcParse::entity*)IFC4_types[337]); } const IfcParse::entity& Ifc4::IfcElectricMotor::Class() { return *((IfcParse::entity*)IFC4_types[337]); } Ifc4::IfcElectricMotor::IfcElectricMotor(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4::IfcElectricMotor::IfcElectricMotor(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcElectricMotor::IfcElectricMotor(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricMotorType -::Ifc4::IfcElectricMotorTypeEnum::Value Ifc4::IfcElectricMotorType::PredefinedType() const { return ::Ifc4::IfcElectricMotorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcElectricMotorTypeEnum::Value Ifc4::IfcElectricMotorType::PredefinedType() const { return ::Ifc4::IfcElectricMotorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcElectricMotorType::setPredefinedType(::Ifc4::IfcElectricMotorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcElectricMotorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcElectricMotorType::declaration() const { return *((IfcParse::entity*)IFC4_types[338]); } const IfcParse::entity& Ifc4::IfcElectricMotorType::Class() { return *((IfcParse::entity*)IFC4_types[338]); } Ifc4::IfcElectricMotorType::IfcElectricMotorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4::IfcElectricMotorType::IfcElectricMotorType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricMotorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcElectricMotorType::IfcElectricMotorType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricMotorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricTimeControl -boost::optional< ::Ifc4::IfcElectricTimeControlTypeEnum::Value > Ifc4::IfcElectricTimeControl::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcElectricTimeControlTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcElectricTimeControlTypeEnum::Value > Ifc4::IfcElectricTimeControl::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcElectricTimeControl::setPredefinedType(boost::optional< ::Ifc4::IfcElectricTimeControlTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcElectricTimeControlTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcElectricTimeControl::declaration() const { return *((IfcParse::entity*)IFC4_types[341]); } const IfcParse::entity& Ifc4::IfcElectricTimeControl::Class() { return *((IfcParse::entity*)IFC4_types[341]); } Ifc4::IfcElectricTimeControl::IfcElectricTimeControl(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4::IfcElectricTimeControl::IfcElectricTimeControl(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcElectricTimeControl::IfcElectricTimeControl(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricTimeControlType -::Ifc4::IfcElectricTimeControlTypeEnum::Value Ifc4::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4::IfcElectricTimeControlTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcElectricTimeControlTypeEnum::Value Ifc4::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcElectricTimeControlType::setPredefinedType(::Ifc4::IfcElectricTimeControlTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcElectricTimeControlTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcElectricTimeControlType::declaration() const { return *((IfcParse::entity*)IFC4_types[342]); } const IfcParse::entity& Ifc4::IfcElectricTimeControlType::Class() { return *((IfcParse::entity*)IFC4_types[342]); } Ifc4::IfcElectricTimeControlType::IfcElectricTimeControlType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4::IfcElectricTimeControlType::IfcElectricTimeControlType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcElectricTimeControlType::IfcElectricTimeControlType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElement -boost::optional< std::string > Ifc4::IfcElement::Tag() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4::IfcElement::Tag() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4::IfcElement::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } ::Ifc4::IfcRelFillsElement::list::ptr Ifc4::IfcElement::FillsVoids() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[833], 5)->as(); } @@ -9288,29 +9288,29 @@ void Ifc4::IfcElement::setTag(boost::optional< std::string > v) { if (v) {set_at const IfcParse::entity& Ifc4::IfcElement::declaration() const { return *((IfcParse::entity*)IFC4_types[345]); } const IfcParse::entity& Ifc4::IfcElement::Class() { return *((IfcParse::entity*)IFC4_types[345]); } Ifc4::IfcElement::IfcElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4::IfcElement::IfcElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcProduct(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4::IfcElement::IfcElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcElementAssembly -boost::optional< ::Ifc4::IfcAssemblyPlaceEnum::Value > Ifc4::IfcElementAssembly::AssemblyPlace() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcAssemblyPlaceEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcAssemblyPlaceEnum::Value > Ifc4::IfcElementAssembly::AssemblyPlace() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcAssemblyPlaceEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcElementAssembly::setAssemblyPlace(boost::optional< ::Ifc4::IfcAssemblyPlaceEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcAssemblyPlaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< ::Ifc4::IfcElementAssemblyTypeEnum::Value > Ifc4::IfcElementAssembly::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4::IfcElementAssemblyTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4::IfcElementAssemblyTypeEnum::Value > Ifc4::IfcElementAssembly::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4::IfcElementAssemblyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcElementAssembly::setPredefinedType(boost::optional< ::Ifc4::IfcElementAssemblyTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4::IfcElementAssemblyTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4::IfcElementAssembly::declaration() const { return *((IfcParse::entity*)IFC4_types[347]); } const IfcParse::entity& Ifc4::IfcElementAssembly::Class() { return *((IfcParse::entity*)IFC4_types[347]); } Ifc4::IfcElementAssembly::IfcElementAssembly(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4::IfcElementAssembly::IfcElementAssembly(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, boost::optional< ::Ifc4::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) : IfcElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4::IfcElementAssembly::IfcElementAssembly(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, boost::optional< ::Ifc4::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElementAssemblyType -::Ifc4::IfcElementAssemblyTypeEnum::Value Ifc4::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4::IfcElementAssemblyTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcElementAssemblyTypeEnum::Value Ifc4::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4::IfcElementAssemblyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcElementAssemblyType::setPredefinedType(::Ifc4::IfcElementAssemblyTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcElementAssemblyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcElementAssemblyType::declaration() const { return *((IfcParse::entity*)IFC4_types[348]); } const IfcParse::entity& Ifc4::IfcElementAssemblyType::Class() { return *((IfcParse::entity*)IFC4_types[348]); } Ifc4::IfcElementAssemblyType::IfcElementAssemblyType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4::IfcElementAssemblyType::IfcElementAssemblyType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcElementAssemblyType::IfcElementAssemblyType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElementComponent @@ -9318,7 +9318,7 @@ Ifc4::IfcElementAssemblyType::IfcElementAssemblyType(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4::IfcElementComponent::declaration() const { return *((IfcParse::entity*)IFC4_types[350]); } const IfcParse::entity& Ifc4::IfcElementComponent::Class() { return *((IfcParse::entity*)IFC4_types[350]); } Ifc4::IfcElementComponent::IfcElementComponent(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4::IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4::IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcElementComponentType @@ -9326,63 +9326,63 @@ Ifc4::IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, ::Ifc4:: const IfcParse::entity& Ifc4::IfcElementComponentType::declaration() const { return *((IfcParse::entity*)IFC4_types[351]); } const IfcParse::entity& Ifc4::IfcElementComponentType::Class() { return *((IfcParse::entity*)IFC4_types[351]); } Ifc4::IfcElementComponentType::IfcElementComponentType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4::IfcElementComponentType::IfcElementComponentType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4::IfcElementComponentType::IfcElementComponentType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcElementQuantity -boost::optional< std::string > Ifc4::IfcElementQuantity::MethodOfMeasurement() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4::IfcElementQuantity::MethodOfMeasurement() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcElementQuantity::setMethodOfMeasurement(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -aggregate_of< ::Ifc4::IfcPhysicalQuantity >::ptr Ifc4::IfcElementQuantity::Quantities() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4::IfcPhysicalQuantity >(); } +aggregate_of< ::Ifc4::IfcPhysicalQuantity >::ptr Ifc4::IfcElementQuantity::Quantities() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4::IfcPhysicalQuantity >(); } void Ifc4::IfcElementQuantity::setQuantities(aggregate_of< ::Ifc4::IfcPhysicalQuantity >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4::IfcElementQuantity::declaration() const { return *((IfcParse::entity*)IFC4_types[353]); } const IfcParse::entity& Ifc4::IfcElementQuantity::Class() { return *((IfcParse::entity*)IFC4_types[353]); } Ifc4::IfcElementQuantity::IfcElementQuantity(IfcEntityInstanceData&& e) : IfcQuantitySet(std::move(e)) { } -Ifc4::IfcElementQuantity::IfcElementQuantity(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_MethodOfMeasurement, aggregate_of< ::Ifc4::IfcPhysicalQuantity >::ptr v6_Quantities) : IfcQuantitySet(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, (v6_Quantities)->generalize());; populate_derived(); } +Ifc4::IfcElementQuantity::IfcElementQuantity(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_MethodOfMeasurement, aggregate_of< ::Ifc4::IfcPhysicalQuantity >::ptr v6_Quantities) : IfcQuantitySet(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, (v6_Quantities)->generalize());; populate_derived(); } // Function implementations for IfcElementType -boost::optional< std::string > Ifc4::IfcElementType::ElementType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4::IfcElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4::IfcElementType::setElementType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcElementType::declaration() const { return *((IfcParse::entity*)IFC4_types[354]); } const IfcParse::entity& Ifc4::IfcElementType::Class() { return *((IfcParse::entity*)IFC4_types[354]); } Ifc4::IfcElementType::IfcElementType(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(e)) { } -Ifc4::IfcElementType::IfcElementType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4::IfcElementType::IfcElementType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcElementarySurface -::Ifc4::IfcAxis2Placement3D* Ifc4::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcAxis2Placement3D>(true); } +::Ifc4::IfcAxis2Placement3D* Ifc4::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcAxis2Placement3D>(true); } void Ifc4::IfcElementarySurface::setPosition(::Ifc4::IfcAxis2Placement3D* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4::IfcElementarySurface::declaration() const { return *((IfcParse::entity*)IFC4_types[346]); } const IfcParse::entity& Ifc4::IfcElementarySurface::Class() { return *((IfcParse::entity*)IFC4_types[346]); } Ifc4::IfcElementarySurface::IfcElementarySurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4::IfcElementarySurface::IfcElementarySurface(::Ifc4::IfcAxis2Placement3D* v1_Position) : IfcSurface(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcElementarySurface::IfcElementarySurface(::Ifc4::IfcAxis2Placement3D* v1_Position) : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcEllipse -double Ifc4::IfcEllipse::SemiAxis1() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4::IfcEllipse::SemiAxis1() const { double v = get_attribute_value(1); return v; } void Ifc4::IfcEllipse::setSemiAxis1(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4::IfcEllipse::SemiAxis2() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4::IfcEllipse::SemiAxis2() const { double v = get_attribute_value(2); return v; } void Ifc4::IfcEllipse::setSemiAxis2(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4::IfcEllipse::declaration() const { return *((IfcParse::entity*)IFC4_types[355]); } const IfcParse::entity& Ifc4::IfcEllipse::Class() { return *((IfcParse::entity*)IFC4_types[355]); } Ifc4::IfcEllipse::IfcEllipse(IfcEntityInstanceData&& e) : IfcConic(std::move(e)) { } -Ifc4::IfcEllipse::IfcEllipse(::Ifc4::IfcAxis2Placement* v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) : IfcConic(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; populate_derived(); } +Ifc4::IfcEllipse::IfcEllipse(::Ifc4::IfcAxis2Placement* v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) : IfcConic(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; populate_derived(); } // Function implementations for IfcEllipseProfileDef -double Ifc4::IfcEllipseProfileDef::SemiAxis1() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4::IfcEllipseProfileDef::SemiAxis1() const { double v = get_attribute_value(3); return v; } void Ifc4::IfcEllipseProfileDef::setSemiAxis1(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4::IfcEllipseProfileDef::SemiAxis2() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4::IfcEllipseProfileDef::SemiAxis2() const { double v = get_attribute_value(4); return v; } void Ifc4::IfcEllipseProfileDef::setSemiAxis2(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4::IfcEllipseProfileDef::declaration() const { return *((IfcParse::entity*)IFC4_types[356]); } const IfcParse::entity& Ifc4::IfcEllipseProfileDef::Class() { return *((IfcParse::entity*)IFC4_types[356]); } Ifc4::IfcEllipseProfileDef::IfcEllipseProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D* v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; populate_derived(); } +Ifc4::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D* v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; populate_derived(); } // Function implementations for IfcEnergyConversionDevice @@ -9390,7 +9390,7 @@ Ifc4::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc4::IfcProfileTypeEnum::Val const IfcParse::entity& Ifc4::IfcEnergyConversionDevice::declaration() const { return *((IfcParse::entity*)IFC4_types[357]); } const IfcParse::entity& Ifc4::IfcEnergyConversionDevice::Class() { return *((IfcParse::entity*)IFC4_types[357]); } Ifc4::IfcEnergyConversionDevice::IfcEnergyConversionDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4::IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4::IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcEnergyConversionDeviceType @@ -9398,127 +9398,127 @@ Ifc4::IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_Global const IfcParse::entity& Ifc4::IfcEnergyConversionDeviceType::declaration() const { return *((IfcParse::entity*)IFC4_types[358]); } const IfcParse::entity& Ifc4::IfcEnergyConversionDeviceType::Class() { return *((IfcParse::entity*)IFC4_types[358]); } Ifc4::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcEngine -boost::optional< ::Ifc4::IfcEngineTypeEnum::Value > Ifc4::IfcEngine::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcEngineTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcEngineTypeEnum::Value > Ifc4::IfcEngine::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcEngineTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcEngine::setPredefinedType(boost::optional< ::Ifc4::IfcEngineTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcEngineTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcEngine::declaration() const { return *((IfcParse::entity*)IFC4_types[360]); } const IfcParse::entity& Ifc4::IfcEngine::Class() { return *((IfcParse::entity*)IFC4_types[360]); } Ifc4::IfcEngine::IfcEngine(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4::IfcEngine::IfcEngine(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcEngineTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcEngine::IfcEngine(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcEngineTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEngineType -::Ifc4::IfcEngineTypeEnum::Value Ifc4::IfcEngineType::PredefinedType() const { return ::Ifc4::IfcEngineTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcEngineTypeEnum::Value Ifc4::IfcEngineType::PredefinedType() const { return ::Ifc4::IfcEngineTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcEngineType::setPredefinedType(::Ifc4::IfcEngineTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcEngineTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcEngineType::declaration() const { return *((IfcParse::entity*)IFC4_types[361]); } const IfcParse::entity& Ifc4::IfcEngineType::Class() { return *((IfcParse::entity*)IFC4_types[361]); } Ifc4::IfcEngineType::IfcEngineType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4::IfcEngineType::IfcEngineType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcEngineTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcEngineType::IfcEngineType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcEngineTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEvaporativeCooler -boost::optional< ::Ifc4::IfcEvaporativeCoolerTypeEnum::Value > Ifc4::IfcEvaporativeCooler::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcEvaporativeCoolerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcEvaporativeCoolerTypeEnum::Value > Ifc4::IfcEvaporativeCooler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcEvaporativeCooler::setPredefinedType(boost::optional< ::Ifc4::IfcEvaporativeCoolerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcEvaporativeCoolerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcEvaporativeCooler::declaration() const { return *((IfcParse::entity*)IFC4_types[363]); } const IfcParse::entity& Ifc4::IfcEvaporativeCooler::Class() { return *((IfcParse::entity*)IFC4_types[363]); } Ifc4::IfcEvaporativeCooler::IfcEvaporativeCooler(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4::IfcEvaporativeCooler::IfcEvaporativeCooler(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcEvaporativeCooler::IfcEvaporativeCooler(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEvaporativeCoolerType -::Ifc4::IfcEvaporativeCoolerTypeEnum::Value Ifc4::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4::IfcEvaporativeCoolerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcEvaporativeCoolerTypeEnum::Value Ifc4::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcEvaporativeCoolerType::setPredefinedType(::Ifc4::IfcEvaporativeCoolerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcEvaporativeCoolerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcEvaporativeCoolerType::declaration() const { return *((IfcParse::entity*)IFC4_types[364]); } const IfcParse::entity& Ifc4::IfcEvaporativeCoolerType::Class() { return *((IfcParse::entity*)IFC4_types[364]); } Ifc4::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEvaporator -boost::optional< ::Ifc4::IfcEvaporatorTypeEnum::Value > Ifc4::IfcEvaporator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcEvaporatorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcEvaporatorTypeEnum::Value > Ifc4::IfcEvaporator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcEvaporatorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcEvaporator::setPredefinedType(boost::optional< ::Ifc4::IfcEvaporatorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcEvaporatorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcEvaporator::declaration() const { return *((IfcParse::entity*)IFC4_types[366]); } const IfcParse::entity& Ifc4::IfcEvaporator::Class() { return *((IfcParse::entity*)IFC4_types[366]); } Ifc4::IfcEvaporator::IfcEvaporator(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4::IfcEvaporator::IfcEvaporator(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcEvaporator::IfcEvaporator(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEvaporatorType -::Ifc4::IfcEvaporatorTypeEnum::Value Ifc4::IfcEvaporatorType::PredefinedType() const { return ::Ifc4::IfcEvaporatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcEvaporatorTypeEnum::Value Ifc4::IfcEvaporatorType::PredefinedType() const { return ::Ifc4::IfcEvaporatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcEvaporatorType::setPredefinedType(::Ifc4::IfcEvaporatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcEvaporatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcEvaporatorType::declaration() const { return *((IfcParse::entity*)IFC4_types[367]); } const IfcParse::entity& Ifc4::IfcEvaporatorType::Class() { return *((IfcParse::entity*)IFC4_types[367]); } Ifc4::IfcEvaporatorType::IfcEvaporatorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4::IfcEvaporatorType::IfcEvaporatorType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcEvaporatorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcEvaporatorType::IfcEvaporatorType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcEvaporatorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEvent -boost::optional< ::Ifc4::IfcEventTypeEnum::Value > Ifc4::IfcEvent::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4::IfcEventTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4::IfcEventTypeEnum::Value > Ifc4::IfcEvent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4::IfcEventTypeEnum::FromString(get_attribute_value(7)); } void Ifc4::IfcEvent::setPredefinedType(boost::optional< ::Ifc4::IfcEventTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4::IfcEventTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4::IfcEventTriggerTypeEnum::Value > Ifc4::IfcEvent::EventTriggerType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcEventTriggerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcEventTriggerTypeEnum::Value > Ifc4::IfcEvent::EventTriggerType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcEventTriggerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcEvent::setEventTriggerType(boost::optional< ::Ifc4::IfcEventTriggerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcEventTriggerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4::IfcEvent::UserDefinedEventTriggerType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4::IfcEvent::UserDefinedEventTriggerType() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4::IfcEvent::setUserDefinedEventTriggerType(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -::Ifc4::IfcEventTime* Ifc4::IfcEvent::EventOccurenceTime() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4::IfcEventTime>(true); } +::Ifc4::IfcEventTime* Ifc4::IfcEvent::EventOccurenceTime() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4::IfcEventTime>(true); } void Ifc4::IfcEvent::setEventOccurenceTime(::Ifc4::IfcEventTime* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4::IfcEvent::declaration() const { return *((IfcParse::entity*)IFC4_types[369]); } const IfcParse::entity& Ifc4::IfcEvent::Class() { return *((IfcParse::entity*)IFC4_types[369]); } Ifc4::IfcEvent::IfcEvent(IfcEntityInstanceData&& e) : IfcProcess(std::move(e)) { } -Ifc4::IfcEvent::IfcEvent(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< ::Ifc4::IfcEventTypeEnum::Value > v8_PredefinedType, boost::optional< ::Ifc4::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, boost::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4::IfcEventTime* v11_EventOccurenceTime) : IfcProcess(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, v11_EventOccurenceTime ? v11_EventOccurenceTime->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcEvent::IfcEvent(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< ::Ifc4::IfcEventTypeEnum::Value > v8_PredefinedType, boost::optional< ::Ifc4::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, boost::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4::IfcEventTime* v11_EventOccurenceTime) : IfcProcess(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, v11_EventOccurenceTime ? v11_EventOccurenceTime->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcEventTime -boost::optional< std::string > Ifc4::IfcEventTime::ActualDate() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4::IfcEventTime::ActualDate() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4::IfcEventTime::setActualDate(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4::IfcEventTime::EarlyDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4::IfcEventTime::EarlyDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcEventTime::setEarlyDate(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4::IfcEventTime::LateDate() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4::IfcEventTime::LateDate() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcEventTime::setLateDate(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4::IfcEventTime::ScheduleDate() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4::IfcEventTime::ScheduleDate() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4::IfcEventTime::setScheduleDate(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4::IfcEventTime::declaration() const { return *((IfcParse::entity*)IFC4_types[370]); } const IfcParse::entity& Ifc4::IfcEventTime::Class() { return *((IfcParse::entity*)IFC4_types[370]); } Ifc4::IfcEventTime::IfcEventTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4::IfcEventTime::IfcEventTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); }; populate_derived(); } +Ifc4::IfcEventTime::IfcEventTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); }; populate_derived(); } // Function implementations for IfcEventType -::Ifc4::IfcEventTypeEnum::Value Ifc4::IfcEventType::PredefinedType() const { return ::Ifc4::IfcEventTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcEventTypeEnum::Value Ifc4::IfcEventType::PredefinedType() const { return ::Ifc4::IfcEventTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcEventType::setPredefinedType(::Ifc4::IfcEventTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcEventTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4::IfcEventTriggerTypeEnum::Value Ifc4::IfcEventType::EventTriggerType() const { return ::Ifc4::IfcEventTriggerTypeEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4::IfcEventTriggerTypeEnum::Value Ifc4::IfcEventType::EventTriggerType() const { return ::Ifc4::IfcEventTriggerTypeEnum::FromString(get_attribute_value(10)); } void Ifc4::IfcEventType::setEventTriggerType(::Ifc4::IfcEventTriggerTypeEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4::IfcEventTriggerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } -boost::optional< std::string > Ifc4::IfcEventType::UserDefinedEventTriggerType() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4::IfcEventType::UserDefinedEventTriggerType() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4::IfcEventType::setUserDefinedEventTriggerType(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4::IfcEventType::declaration() const { return *((IfcParse::entity*)IFC4_types[372]); } const IfcParse::entity& Ifc4::IfcEventType::Class() { return *((IfcParse::entity*)IFC4_types[372]); } Ifc4::IfcEventType::IfcEventType(IfcEntityInstanceData&& e) : IfcTypeProcess(std::move(e)) { } -Ifc4::IfcEventType::IfcEventType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, boost::optional< std::string > v12_UserDefinedEventTriggerType) : IfcTypeProcess(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); }; populate_derived(); } +Ifc4::IfcEventType::IfcEventType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, boost::optional< std::string > v12_UserDefinedEventTriggerType) : IfcTypeProcess(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); }; populate_derived(); } // Function implementations for IfcExtendedProperties -boost::optional< std::string > Ifc4::IfcExtendedProperties::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4::IfcExtendedProperties::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4::IfcExtendedProperties::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4::IfcExtendedProperties::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4::IfcExtendedProperties::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcExtendedProperties::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4::IfcProperty >::ptr Ifc4::IfcExtendedProperties::Properties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4::IfcProperty >(); } +aggregate_of< ::Ifc4::IfcProperty >::ptr Ifc4::IfcExtendedProperties::Properties() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4::IfcProperty >(); } void Ifc4::IfcExtendedProperties::setProperties(aggregate_of< ::Ifc4::IfcProperty >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4::IfcExtendedProperties::declaration() const { return *((IfcParse::entity*)IFC4_types[374]); } const IfcParse::entity& Ifc4::IfcExtendedProperties::Class() { return *((IfcParse::entity*)IFC4_types[374]); } Ifc4::IfcExtendedProperties::IfcExtendedProperties(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4::IfcExtendedProperties::IfcExtendedProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcProperty >::ptr v3_Properties) : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());; populate_derived(); } +Ifc4::IfcExtendedProperties::IfcExtendedProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcProperty >::ptr v3_Properties) : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());; populate_derived(); } // Function implementations for IfcExternalInformation @@ -9526,14 +9526,14 @@ Ifc4::IfcExtendedProperties::IfcExtendedProperties(boost::optional< std::string const IfcParse::entity& Ifc4::IfcExternalInformation::declaration() const { return *((IfcParse::entity*)IFC4_types[375]); } const IfcParse::entity& Ifc4::IfcExternalInformation::Class() { return *((IfcParse::entity*)IFC4_types[375]); } Ifc4::IfcExternalInformation::IfcExternalInformation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcExternalInformation::IfcExternalInformation() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4::IfcExternalInformation::IfcExternalInformation() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcExternalReference -boost::optional< std::string > Ifc4::IfcExternalReference::Location() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4::IfcExternalReference::Location() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4::IfcExternalReference::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4::IfcExternalReference::Identification() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4::IfcExternalReference::Identification() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcExternalReference::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4::IfcExternalReference::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4::IfcExternalReference::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4::IfcExternalReference::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4::IfcExternalReferenceRelationship::list::ptr Ifc4::IfcExternalReference::ExternalReferenceForResources() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[380], 2)->as(); } @@ -9541,22 +9541,22 @@ void Ifc4::IfcExternalReference::setName(boost::optional< std::string > v) { if const IfcParse::entity& Ifc4::IfcExternalReference::declaration() const { return *((IfcParse::entity*)IFC4_types[379]); } const IfcParse::entity& Ifc4::IfcExternalReference::Class() { return *((IfcParse::entity*)IFC4_types[379]); } Ifc4::IfcExternalReference::IfcExternalReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcExternalReference::IfcExternalReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4::IfcExternalReference::IfcExternalReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternalReferenceRelationship -::Ifc4::IfcExternalReference* Ifc4::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcExternalReference>(true); } +::Ifc4::IfcExternalReference* Ifc4::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcExternalReference>(true); } void Ifc4::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4::IfcExternalReference* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr Ifc4::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4::IfcResourceObjectSelect >(); } +aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr Ifc4::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4::IfcResourceObjectSelect >(); } void Ifc4::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4::IfcExternalReferenceRelationship::declaration() const { return *((IfcParse::entity*)IFC4_types[380]); } const IfcParse::entity& Ifc4::IfcExternalReferenceRelationship::Class() { return *((IfcParse::entity*)IFC4_types[380]); } Ifc4::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingReference ? v3_RelatingReference->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } +Ifc4::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingReference ? v3_RelatingReference->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } // Function implementations for IfcExternalSpatialElement -boost::optional< ::Ifc4::IfcExternalSpatialElementTypeEnum::Value > Ifc4::IfcExternalSpatialElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcExternalSpatialElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcExternalSpatialElementTypeEnum::Value > Ifc4::IfcExternalSpatialElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcExternalSpatialElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcExternalSpatialElement::setPredefinedType(boost::optional< ::Ifc4::IfcExternalSpatialElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcExternalSpatialElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4::IfcRelSpaceBoundary::list::ptr Ifc4::IfcExternalSpatialElement::BoundedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[841], 4)->as(); } @@ -9564,7 +9564,7 @@ void Ifc4::IfcExternalSpatialElement::setPredefinedType(boost::optional< ::Ifc4: const IfcParse::entity& Ifc4::IfcExternalSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4_types[381]); } const IfcParse::entity& Ifc4::IfcExternalSpatialElement::Class() { return *((IfcParse::entity*)IFC4_types[381]); } Ifc4::IfcExternalSpatialElement::IfcExternalSpatialElement(IfcEntityInstanceData&& e) : IfcExternalSpatialStructureElement(std::move(e)) { } -Ifc4::IfcExternalSpatialElement::IfcExternalSpatialElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) : IfcExternalSpatialStructureElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcExternalSpatialElement::IfcExternalSpatialElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) : IfcExternalSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcExternalSpatialStructureElement @@ -9572,7 +9572,7 @@ Ifc4::IfcExternalSpatialElement::IfcExternalSpatialElement(std::string v1_Global const IfcParse::entity& Ifc4::IfcExternalSpatialStructureElement::declaration() const { return *((IfcParse::entity*)IFC4_types[383]); } const IfcParse::entity& Ifc4::IfcExternalSpatialStructureElement::Class() { return *((IfcParse::entity*)IFC4_types[383]); } Ifc4::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(IfcEntityInstanceData&& e) : IfcSpatialElement(std::move(e)) { } -Ifc4::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcSpatialElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } +Ifc4::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcSpatialElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedHatchStyle @@ -9580,7 +9580,7 @@ Ifc4::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(std const IfcParse::entity& Ifc4::IfcExternallyDefinedHatchStyle::declaration() const { return *((IfcParse::entity*)IFC4_types[376]); } const IfcParse::entity& Ifc4::IfcExternallyDefinedHatchStyle::Class() { return *((IfcParse::entity*)IFC4_types[376]); } Ifc4::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedSurfaceStyle @@ -9588,7 +9588,7 @@ Ifc4::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::opti const IfcParse::entity& Ifc4::IfcExternallyDefinedSurfaceStyle::declaration() const { return *((IfcParse::entity*)IFC4_types[377]); } const IfcParse::entity& Ifc4::IfcExternallyDefinedSurfaceStyle::Class() { return *((IfcParse::entity*)IFC4_types[377]); } Ifc4::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedTextFont @@ -9596,32 +9596,32 @@ Ifc4::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost:: const IfcParse::entity& Ifc4::IfcExternallyDefinedTextFont::declaration() const { return *((IfcParse::entity*)IFC4_types[378]); } const IfcParse::entity& Ifc4::IfcExternallyDefinedTextFont::Class() { return *((IfcParse::entity*)IFC4_types[378]); } Ifc4::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExtrudedAreaSolid -::Ifc4::IfcDirection* Ifc4::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcDirection>(true); } +::Ifc4::IfcDirection* Ifc4::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcExtrudedAreaSolid::setExtrudedDirection(::Ifc4::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4::IfcExtrudedAreaSolid::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4::IfcExtrudedAreaSolid::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4::IfcExtrudedAreaSolid::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4::IfcExtrudedAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4_types[384]); } const IfcParse::entity& Ifc4::IfcExtrudedAreaSolid::Class() { return *((IfcParse::entity*)IFC4_types[384]); } Ifc4::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(::Ifc4::IfcProfileDef* v1_SweptArea, ::Ifc4::IfcAxis2Placement3D* v2_Position, ::Ifc4::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } +Ifc4::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(::Ifc4::IfcProfileDef* v1_SweptArea, ::Ifc4::IfcAxis2Placement3D* v2_Position, ::Ifc4::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } // Function implementations for IfcExtrudedAreaSolidTapered -::Ifc4::IfcProfileDef* Ifc4::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4::IfcProfileDef>(true); } +::Ifc4::IfcProfileDef* Ifc4::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4::IfcProfileDef>(true); } void Ifc4::IfcExtrudedAreaSolidTapered::setEndSweptArea(::Ifc4::IfcProfileDef* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4::IfcExtrudedAreaSolidTapered::declaration() const { return *((IfcParse::entity*)IFC4_types[385]); } const IfcParse::entity& Ifc4::IfcExtrudedAreaSolidTapered::Class() { return *((IfcParse::entity*)IFC4_types[385]); } Ifc4::IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(IfcEntityInstanceData&& e) : IfcExtrudedAreaSolid(std::move(e)) { } -Ifc4::IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(::Ifc4::IfcProfileDef* v1_SweptArea, ::Ifc4::IfcAxis2Placement3D* v2_Position, ::Ifc4::IfcDirection* v3_ExtrudedDirection, double v4_Depth, ::Ifc4::IfcProfileDef* v5_EndSweptArea) : IfcExtrudedAreaSolid(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(::Ifc4::IfcProfileDef* v1_SweptArea, ::Ifc4::IfcAxis2Placement3D* v2_Position, ::Ifc4::IfcDirection* v3_ExtrudedDirection, double v4_Depth, ::Ifc4::IfcProfileDef* v5_EndSweptArea) : IfcExtrudedAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcFace -aggregate_of< ::Ifc4::IfcFaceBound >::ptr Ifc4::IfcFace::Bounds() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4::IfcFaceBound >(); } +aggregate_of< ::Ifc4::IfcFaceBound >::ptr Ifc4::IfcFace::Bounds() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4::IfcFaceBound >(); } void Ifc4::IfcFace::setBounds(aggregate_of< ::Ifc4::IfcFaceBound >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } ::Ifc4::IfcTextureMap::list::ptr Ifc4::IfcFace::HasTextureMaps() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[1068], 2)->as(); } @@ -9629,29 +9629,29 @@ void Ifc4::IfcFace::setBounds(aggregate_of< ::Ifc4::IfcFaceBound >::ptr v) { set const IfcParse::entity& Ifc4::IfcFace::declaration() const { return *((IfcParse::entity*)IFC4_types[386]); } const IfcParse::entity& Ifc4::IfcFace::Class() { return *((IfcParse::entity*)IFC4_types[386]); } Ifc4::IfcFace::IfcFace(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4::IfcFace::IfcFace(aggregate_of< ::Ifc4::IfcFaceBound >::ptr v1_Bounds) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Bounds)->generalize());; populate_derived(); } +Ifc4::IfcFace::IfcFace(aggregate_of< ::Ifc4::IfcFaceBound >::ptr v1_Bounds) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Bounds)->generalize());; populate_derived(); } // Function implementations for IfcFaceBasedSurfaceModel -aggregate_of< ::Ifc4::IfcConnectedFaceSet >::ptr Ifc4::IfcFaceBasedSurfaceModel::FbsmFaces() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4::IfcConnectedFaceSet >(); } +aggregate_of< ::Ifc4::IfcConnectedFaceSet >::ptr Ifc4::IfcFaceBasedSurfaceModel::FbsmFaces() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4::IfcConnectedFaceSet >(); } void Ifc4::IfcFaceBasedSurfaceModel::setFbsmFaces(aggregate_of< ::Ifc4::IfcConnectedFaceSet >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4::IfcFaceBasedSurfaceModel::declaration() const { return *((IfcParse::entity*)IFC4_types[387]); } const IfcParse::entity& Ifc4::IfcFaceBasedSurfaceModel::Class() { return *((IfcParse::entity*)IFC4_types[387]); } Ifc4::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(aggregate_of< ::Ifc4::IfcConnectedFaceSet >::ptr v1_FbsmFaces) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_FbsmFaces)->generalize());; populate_derived(); } +Ifc4::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(aggregate_of< ::Ifc4::IfcConnectedFaceSet >::ptr v1_FbsmFaces) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_FbsmFaces)->generalize());; populate_derived(); } // Function implementations for IfcFaceBound -::Ifc4::IfcLoop* Ifc4::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcLoop>(true); } +::Ifc4::IfcLoop* Ifc4::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcLoop>(true); } void Ifc4::IfcFaceBound::setBound(::Ifc4::IfcLoop* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -bool Ifc4::IfcFaceBound::Orientation() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4::IfcFaceBound::Orientation() const { bool v = get_attribute_value(1); return v; } void Ifc4::IfcFaceBound::setOrientation(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcFaceBound::declaration() const { return *((IfcParse::entity*)IFC4_types[388]); } const IfcParse::entity& Ifc4::IfcFaceBound::Class() { return *((IfcParse::entity*)IFC4_types[388]); } Ifc4::IfcFaceBound::IfcFaceBound(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4::IfcFaceBound::IfcFaceBound(::Ifc4::IfcLoop* v1_Bound, bool v2_Orientation) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } +Ifc4::IfcFaceBound::IfcFaceBound(::Ifc4::IfcLoop* v1_Bound, bool v2_Orientation) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } // Function implementations for IfcFaceOuterBound @@ -9659,19 +9659,19 @@ Ifc4::IfcFaceBound::IfcFaceBound(::Ifc4::IfcLoop* v1_Bound, bool v2_Orientation) const IfcParse::entity& Ifc4::IfcFaceOuterBound::declaration() const { return *((IfcParse::entity*)IFC4_types[389]); } const IfcParse::entity& Ifc4::IfcFaceOuterBound::Class() { return *((IfcParse::entity*)IFC4_types[389]); } Ifc4::IfcFaceOuterBound::IfcFaceOuterBound(IfcEntityInstanceData&& e) : IfcFaceBound(std::move(e)) { } -Ifc4::IfcFaceOuterBound::IfcFaceOuterBound(::Ifc4::IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } +Ifc4::IfcFaceOuterBound::IfcFaceOuterBound(::Ifc4::IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } // Function implementations for IfcFaceSurface -::Ifc4::IfcSurface* Ifc4::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcSurface>(true); } +::Ifc4::IfcSurface* Ifc4::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcSurface>(true); } void Ifc4::IfcFaceSurface::setFaceSurface(::Ifc4::IfcSurface* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -bool Ifc4::IfcFaceSurface::SameSense() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4::IfcFaceSurface::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4::IfcFaceSurface::setSameSense(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4::IfcFaceSurface::declaration() const { return *((IfcParse::entity*)IFC4_types[390]); } const IfcParse::entity& Ifc4::IfcFaceSurface::Class() { return *((IfcParse::entity*)IFC4_types[390]); } Ifc4::IfcFaceSurface::IfcFaceSurface(IfcEntityInstanceData&& e) : IfcFace(std::move(e)) { } -Ifc4::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc4::IfcFaceBound >::ptr v1_Bounds, ::Ifc4::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFace(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } +Ifc4::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc4::IfcFaceBound >::ptr v1_Bounds, ::Ifc4::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFace(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } // Function implementations for IfcFacetedBrep @@ -9679,77 +9679,77 @@ Ifc4::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc4::IfcFaceBound >::ptr v const IfcParse::entity& Ifc4::IfcFacetedBrep::declaration() const { return *((IfcParse::entity*)IFC4_types[391]); } const IfcParse::entity& Ifc4::IfcFacetedBrep::Class() { return *((IfcParse::entity*)IFC4_types[391]); } Ifc4::IfcFacetedBrep::IfcFacetedBrep(IfcEntityInstanceData&& e) : IfcManifoldSolidBrep(std::move(e)) { } -Ifc4::IfcFacetedBrep::IfcFacetedBrep(::Ifc4::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcFacetedBrep::IfcFacetedBrep(::Ifc4::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcFacetedBrepWithVoids -aggregate_of< ::Ifc4::IfcClosedShell >::ptr Ifc4::IfcFacetedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4::IfcClosedShell >(); } +aggregate_of< ::Ifc4::IfcClosedShell >::ptr Ifc4::IfcFacetedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4::IfcClosedShell >(); } void Ifc4::IfcFacetedBrepWithVoids::setVoids(aggregate_of< ::Ifc4::IfcClosedShell >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcFacetedBrepWithVoids::declaration() const { return *((IfcParse::entity*)IFC4_types[392]); } const IfcParse::entity& Ifc4::IfcFacetedBrepWithVoids::Class() { return *((IfcParse::entity*)IFC4_types[392]); } Ifc4::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(IfcEntityInstanceData&& e) : IfcFacetedBrep(std::move(e)) { } -Ifc4::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4::IfcClosedShell >::ptr v2_Voids) : IfcFacetedBrep(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } +Ifc4::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4::IfcClosedShell >::ptr v2_Voids) : IfcFacetedBrep(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } // Function implementations for IfcFailureConnectionCondition -boost::optional< double > Ifc4::IfcFailureConnectionCondition::TensionFailureX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4::IfcFailureConnectionCondition::TensionFailureX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4::IfcFailureConnectionCondition::setTensionFailureX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4::IfcFailureConnectionCondition::TensionFailureY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4::IfcFailureConnectionCondition::TensionFailureY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4::IfcFailureConnectionCondition::setTensionFailureY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4::IfcFailureConnectionCondition::TensionFailureZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4::IfcFailureConnectionCondition::TensionFailureZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4::IfcFailureConnectionCondition::setTensionFailureZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4::IfcFailureConnectionCondition::CompressionFailureX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4::IfcFailureConnectionCondition::CompressionFailureX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4::IfcFailureConnectionCondition::setCompressionFailureX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4::IfcFailureConnectionCondition::CompressionFailureY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4::IfcFailureConnectionCondition::CompressionFailureY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4::IfcFailureConnectionCondition::setCompressionFailureY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4::IfcFailureConnectionCondition::CompressionFailureZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4::IfcFailureConnectionCondition::CompressionFailureZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4::IfcFailureConnectionCondition::setCompressionFailureZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4::IfcFailureConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC4_types[393]); } const IfcParse::entity& Ifc4::IfcFailureConnectionCondition::Class() { return *((IfcParse::entity*)IFC4_types[393]); } Ifc4::IfcFailureConnectionCondition::IfcFailureConnectionCondition(IfcEntityInstanceData&& e) : IfcStructuralConnectionCondition(std::move(e)) { } -Ifc4::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; populate_derived(); } +Ifc4::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; populate_derived(); } // Function implementations for IfcFan -boost::optional< ::Ifc4::IfcFanTypeEnum::Value > Ifc4::IfcFan::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcFanTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcFanTypeEnum::Value > Ifc4::IfcFan::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcFanTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcFan::setPredefinedType(boost::optional< ::Ifc4::IfcFanTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcFanTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcFan::declaration() const { return *((IfcParse::entity*)IFC4_types[394]); } const IfcParse::entity& Ifc4::IfcFan::Class() { return *((IfcParse::entity*)IFC4_types[394]); } Ifc4::IfcFan::IfcFan(IfcEntityInstanceData&& e) : IfcFlowMovingDevice(std::move(e)) { } -Ifc4::IfcFan::IfcFan(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcFanTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcFan::IfcFan(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcFanTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFanType -::Ifc4::IfcFanTypeEnum::Value Ifc4::IfcFanType::PredefinedType() const { return ::Ifc4::IfcFanTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcFanTypeEnum::Value Ifc4::IfcFanType::PredefinedType() const { return ::Ifc4::IfcFanTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcFanType::setPredefinedType(::Ifc4::IfcFanTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcFanTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcFanType::declaration() const { return *((IfcParse::entity*)IFC4_types[395]); } const IfcParse::entity& Ifc4::IfcFanType::Class() { return *((IfcParse::entity*)IFC4_types[395]); } Ifc4::IfcFanType::IfcFanType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(e)) { } -Ifc4::IfcFanType::IfcFanType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcFanTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcFanType::IfcFanType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcFanTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFastener -boost::optional< ::Ifc4::IfcFastenerTypeEnum::Value > Ifc4::IfcFastener::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcFastenerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcFastenerTypeEnum::Value > Ifc4::IfcFastener::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcFastenerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcFastener::setPredefinedType(boost::optional< ::Ifc4::IfcFastenerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcFastenerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcFastener::declaration() const { return *((IfcParse::entity*)IFC4_types[397]); } const IfcParse::entity& Ifc4::IfcFastener::Class() { return *((IfcParse::entity*)IFC4_types[397]); } Ifc4::IfcFastener::IfcFastener(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4::IfcFastener::IfcFastener(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcFastenerTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcFastener::IfcFastener(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcFastenerTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFastenerType -::Ifc4::IfcFastenerTypeEnum::Value Ifc4::IfcFastenerType::PredefinedType() const { return ::Ifc4::IfcFastenerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcFastenerTypeEnum::Value Ifc4::IfcFastenerType::PredefinedType() const { return ::Ifc4::IfcFastenerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcFastenerType::setPredefinedType(::Ifc4::IfcFastenerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcFastenerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcFastenerType::declaration() const { return *((IfcParse::entity*)IFC4_types[398]); } const IfcParse::entity& Ifc4::IfcFastenerType::Class() { return *((IfcParse::entity*)IFC4_types[398]); } Ifc4::IfcFastenerType::IfcFastenerType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4::IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcFastenerTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcFastenerTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFeatureElement @@ -9757,7 +9757,7 @@ Ifc4::IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, ::Ifc4::IfcOwner const IfcParse::entity& Ifc4::IfcFeatureElement::declaration() const { return *((IfcParse::entity*)IFC4_types[400]); } const IfcParse::entity& Ifc4::IfcFeatureElement::Class() { return *((IfcParse::entity*)IFC4_types[400]); } Ifc4::IfcFeatureElement::IfcFeatureElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4::IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4::IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFeatureElementAddition @@ -9766,7 +9766,7 @@ Ifc4::IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, ::Ifc4::IfcO const IfcParse::entity& Ifc4::IfcFeatureElementAddition::declaration() const { return *((IfcParse::entity*)IFC4_types[401]); } const IfcParse::entity& Ifc4::IfcFeatureElementAddition::Class() { return *((IfcParse::entity*)IFC4_types[401]); } Ifc4::IfcFeatureElementAddition::IfcFeatureElementAddition(IfcEntityInstanceData&& e) : IfcFeatureElement(std::move(e)) { } -Ifc4::IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4::IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFeatureElementSubtraction @@ -9775,107 +9775,107 @@ Ifc4::IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_Global const IfcParse::entity& Ifc4::IfcFeatureElementSubtraction::declaration() const { return *((IfcParse::entity*)IFC4_types[402]); } const IfcParse::entity& Ifc4::IfcFeatureElementSubtraction::Class() { return *((IfcParse::entity*)IFC4_types[402]); } Ifc4::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntityInstanceData&& e) : IfcFeatureElement(std::move(e)) { } -Ifc4::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFillAreaStyle -aggregate_of< ::Ifc4::IfcFillStyleSelect >::ptr Ifc4::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4::IfcFillStyleSelect >(); } +aggregate_of< ::Ifc4::IfcFillStyleSelect >::ptr Ifc4::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4::IfcFillStyleSelect >(); } void Ifc4::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4::IfcFillStyleSelect >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< bool > Ifc4::IfcFillAreaStyle::ModelorDraughting() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } bool v = data_.get_attribute_value(2); return v; } +boost::optional< bool > Ifc4::IfcFillAreaStyle::ModelorDraughting() const { if(get_attribute_value(2).isNull()) { return boost::none; } bool v = get_attribute_value(2); return v; } void Ifc4::IfcFillAreaStyle::setModelorDraughting(boost::optional< bool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4::IfcFillAreaStyle::declaration() const { return *((IfcParse::entity*)IFC4_types[403]); } const IfcParse::entity& Ifc4::IfcFillAreaStyle::Class() { return *((IfcParse::entity*)IFC4_types[403]); } Ifc4::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_FillStyles)->generalize()); if (v3_ModelorDraughting) {set_attribute_value(2, (*v3_ModelorDraughting)); }; populate_derived(); } +Ifc4::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_FillStyles)->generalize()); if (v3_ModelorDraughting) {set_attribute_value(2, (*v3_ModelorDraughting)); }; populate_derived(); } // Function implementations for IfcFillAreaStyleHatching -::Ifc4::IfcCurveStyle* Ifc4::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcCurveStyle>(true); } +::Ifc4::IfcCurveStyle* Ifc4::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcCurveStyle>(true); } void Ifc4::IfcFillAreaStyleHatching::setHatchLineAppearance(::Ifc4::IfcCurveStyle* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcHatchLineDistanceSelect* Ifc4::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcHatchLineDistanceSelect>(true); } +::Ifc4::IfcHatchLineDistanceSelect* Ifc4::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcHatchLineDistanceSelect>(true); } void Ifc4::IfcFillAreaStyleHatching::setStartOfNextHatchLine(::Ifc4::IfcHatchLineDistanceSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4::IfcCartesianPoint* Ifc4::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcCartesianPoint>(true); } +::Ifc4::IfcCartesianPoint* Ifc4::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcCartesianPoint>(true); } void Ifc4::IfcFillAreaStyleHatching::setPointOfReferenceHatchLine(::Ifc4::IfcCartesianPoint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcCartesianPoint* Ifc4::IfcFillAreaStyleHatching::PatternStart() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4::IfcCartesianPoint>(true); } +::Ifc4::IfcCartesianPoint* Ifc4::IfcFillAreaStyleHatching::PatternStart() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4::IfcCartesianPoint>(true); } void Ifc4::IfcFillAreaStyleHatching::setPatternStart(::Ifc4::IfcCartesianPoint* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -double Ifc4::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = get_attribute_value(4); return v; } void Ifc4::IfcFillAreaStyleHatching::setHatchLineAngle(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4::IfcFillAreaStyleHatching::declaration() const { return *((IfcParse::entity*)IFC4_types[404]); } const IfcParse::entity& Ifc4::IfcFillAreaStyleHatching::Class() { return *((IfcParse::entity*)IFC4_types[404]); } Ifc4::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(::Ifc4::IfcCurveStyle* v1_HatchLineAppearance, ::Ifc4::IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, ::Ifc4::IfcCartesianPoint* v3_PointOfReferenceHatchLine, ::Ifc4::IfcCartesianPoint* v4_PatternStart, double v5_HatchLineAngle) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_HatchLineAppearance ? v1_HatchLineAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_StartOfNextHatchLine ? v2_StartOfNextHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PointOfReferenceHatchLine ? v3_PointOfReferenceHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PatternStart ? v4_PatternStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_HatchLineAngle));; populate_derived(); } +Ifc4::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(::Ifc4::IfcCurveStyle* v1_HatchLineAppearance, ::Ifc4::IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, ::Ifc4::IfcCartesianPoint* v3_PointOfReferenceHatchLine, ::Ifc4::IfcCartesianPoint* v4_PatternStart, double v5_HatchLineAngle) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_HatchLineAppearance ? v1_HatchLineAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_StartOfNextHatchLine ? v2_StartOfNextHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PointOfReferenceHatchLine ? v3_PointOfReferenceHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PatternStart ? v4_PatternStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_HatchLineAngle));; populate_derived(); } // Function implementations for IfcFillAreaStyleTiles -aggregate_of< ::Ifc4::IfcVector >::ptr Ifc4::IfcFillAreaStyleTiles::TilingPattern() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4::IfcVector >(); } +aggregate_of< ::Ifc4::IfcVector >::ptr Ifc4::IfcFillAreaStyleTiles::TilingPattern() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4::IfcVector >(); } void Ifc4::IfcFillAreaStyleTiles::setTilingPattern(aggregate_of< ::Ifc4::IfcVector >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4::IfcStyledItem >::ptr Ifc4::IfcFillAreaStyleTiles::Tiles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4::IfcStyledItem >(); } +aggregate_of< ::Ifc4::IfcStyledItem >::ptr Ifc4::IfcFillAreaStyleTiles::Tiles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4::IfcStyledItem >(); } void Ifc4::IfcFillAreaStyleTiles::setTiles(aggregate_of< ::Ifc4::IfcStyledItem >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -double Ifc4::IfcFillAreaStyleTiles::TilingScale() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4::IfcFillAreaStyleTiles::TilingScale() const { double v = get_attribute_value(2); return v; } void Ifc4::IfcFillAreaStyleTiles::setTilingScale(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4::IfcFillAreaStyleTiles::declaration() const { return *((IfcParse::entity*)IFC4_types[405]); } const IfcParse::entity& Ifc4::IfcFillAreaStyleTiles::Class() { return *((IfcParse::entity*)IFC4_types[405]); } Ifc4::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(aggregate_of< ::Ifc4::IfcVector >::ptr v1_TilingPattern, aggregate_of< ::Ifc4::IfcStyledItem >::ptr v2_Tiles, double v3_TilingScale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_TilingPattern)->generalize());set_attribute_value(1, (v2_Tiles)->generalize());set_attribute_value(2, (v3_TilingScale));; populate_derived(); } +Ifc4::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(aggregate_of< ::Ifc4::IfcVector >::ptr v1_TilingPattern, aggregate_of< ::Ifc4::IfcStyledItem >::ptr v2_Tiles, double v3_TilingScale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_TilingPattern)->generalize());set_attribute_value(1, (v2_Tiles)->generalize());set_attribute_value(2, (v3_TilingScale));; populate_derived(); } // Function implementations for IfcFilter -boost::optional< ::Ifc4::IfcFilterTypeEnum::Value > Ifc4::IfcFilter::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcFilterTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcFilterTypeEnum::Value > Ifc4::IfcFilter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcFilterTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcFilter::setPredefinedType(boost::optional< ::Ifc4::IfcFilterTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcFilterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcFilter::declaration() const { return *((IfcParse::entity*)IFC4_types[407]); } const IfcParse::entity& Ifc4::IfcFilter::Class() { return *((IfcParse::entity*)IFC4_types[407]); } Ifc4::IfcFilter::IfcFilter(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4::IfcFilter::IfcFilter(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcFilterTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcFilter::IfcFilter(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcFilterTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFilterType -::Ifc4::IfcFilterTypeEnum::Value Ifc4::IfcFilterType::PredefinedType() const { return ::Ifc4::IfcFilterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcFilterTypeEnum::Value Ifc4::IfcFilterType::PredefinedType() const { return ::Ifc4::IfcFilterTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcFilterType::setPredefinedType(::Ifc4::IfcFilterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcFilterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcFilterType::declaration() const { return *((IfcParse::entity*)IFC4_types[408]); } const IfcParse::entity& Ifc4::IfcFilterType::Class() { return *((IfcParse::entity*)IFC4_types[408]); } Ifc4::IfcFilterType::IfcFilterType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4::IfcFilterType::IfcFilterType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcFilterTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcFilterType::IfcFilterType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcFilterTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFireSuppressionTerminal -boost::optional< ::Ifc4::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4::IfcFireSuppressionTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcFireSuppressionTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4::IfcFireSuppressionTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcFireSuppressionTerminal::setPredefinedType(boost::optional< ::Ifc4::IfcFireSuppressionTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcFireSuppressionTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcFireSuppressionTerminal::declaration() const { return *((IfcParse::entity*)IFC4_types[410]); } const IfcParse::entity& Ifc4::IfcFireSuppressionTerminal::Class() { return *((IfcParse::entity*)IFC4_types[410]); } Ifc4::IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4::IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFireSuppressionTerminalType -::Ifc4::IfcFireSuppressionTerminalTypeEnum::Value Ifc4::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4::IfcFireSuppressionTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcFireSuppressionTerminalTypeEnum::Value Ifc4::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcFireSuppressionTerminalType::setPredefinedType(::Ifc4::IfcFireSuppressionTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcFireSuppressionTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcFireSuppressionTerminalType::declaration() const { return *((IfcParse::entity*)IFC4_types[411]); } const IfcParse::entity& Ifc4::IfcFireSuppressionTerminalType::Class() { return *((IfcParse::entity*)IFC4_types[411]); } Ifc4::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFixedReferenceSweptAreaSolid -::Ifc4::IfcCurve* Ifc4::IfcFixedReferenceSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcCurve>(true); } +::Ifc4::IfcCurve* Ifc4::IfcFixedReferenceSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcFixedReferenceSweptAreaSolid::setDirectrix(::Ifc4::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4::IfcFixedReferenceSweptAreaSolid::StartParam() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4::IfcFixedReferenceSweptAreaSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4::IfcFixedReferenceSweptAreaSolid::setStartParam(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4::IfcFixedReferenceSweptAreaSolid::EndParam() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4::IfcFixedReferenceSweptAreaSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4::IfcFixedReferenceSweptAreaSolid::setEndParam(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4::IfcDirection* Ifc4::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcDirection>(true); } +::Ifc4::IfcDirection* Ifc4::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcFixedReferenceSweptAreaSolid::setFixedReference(::Ifc4::IfcDirection* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4::IfcFixedReferenceSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4_types[413]); } const IfcParse::entity& Ifc4::IfcFixedReferenceSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4_types[413]); } Ifc4::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(::Ifc4::IfcProfileDef* v1_SweptArea, ::Ifc4::IfcAxis2Placement3D* v2_Position, ::Ifc4::IfcCurve* v3_Directrix, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, ::Ifc4::IfcDirection* v6_FixedReference) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }set_attribute_value(5, v6_FixedReference ? v6_FixedReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(::Ifc4::IfcProfileDef* v1_SweptArea, ::Ifc4::IfcAxis2Placement3D* v2_Position, ::Ifc4::IfcCurve* v3_Directrix, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, ::Ifc4::IfcDirection* v6_FixedReference) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }set_attribute_value(5, v6_FixedReference ? v6_FixedReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcFlowController @@ -9883,7 +9883,7 @@ Ifc4::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(::Ifc4::I const IfcParse::entity& Ifc4::IfcFlowController::declaration() const { return *((IfcParse::entity*)IFC4_types[414]); } const IfcParse::entity& Ifc4::IfcFlowController::Class() { return *((IfcParse::entity*)IFC4_types[414]); } Ifc4::IfcFlowController::IfcFlowController(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4::IfcFlowController::IfcFlowController(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4::IfcFlowController::IfcFlowController(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowControllerType @@ -9891,7 +9891,7 @@ Ifc4::IfcFlowController::IfcFlowController(std::string v1_GlobalId, ::Ifc4::IfcO const IfcParse::entity& Ifc4::IfcFlowControllerType::declaration() const { return *((IfcParse::entity*)IFC4_types[415]); } const IfcParse::entity& Ifc4::IfcFlowControllerType::Class() { return *((IfcParse::entity*)IFC4_types[415]); } Ifc4::IfcFlowControllerType::IfcFlowControllerType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4::IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4::IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowFitting @@ -9899,7 +9899,7 @@ Ifc4::IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4::IfcFlowFitting::declaration() const { return *((IfcParse::entity*)IFC4_types[417]); } const IfcParse::entity& Ifc4::IfcFlowFitting::Class() { return *((IfcParse::entity*)IFC4_types[417]); } Ifc4::IfcFlowFitting::IfcFlowFitting(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4::IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4::IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowFittingType @@ -9907,47 +9907,47 @@ Ifc4::IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, ::Ifc4::IfcOwnerHi const IfcParse::entity& Ifc4::IfcFlowFittingType::declaration() const { return *((IfcParse::entity*)IFC4_types[418]); } const IfcParse::entity& Ifc4::IfcFlowFittingType::Class() { return *((IfcParse::entity*)IFC4_types[418]); } Ifc4::IfcFlowFittingType::IfcFlowFittingType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4::IfcFlowFittingType::IfcFlowFittingType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4::IfcFlowFittingType::IfcFlowFittingType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowInstrument -boost::optional< ::Ifc4::IfcFlowInstrumentTypeEnum::Value > Ifc4::IfcFlowInstrument::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcFlowInstrumentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcFlowInstrumentTypeEnum::Value > Ifc4::IfcFlowInstrument::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcFlowInstrument::setPredefinedType(boost::optional< ::Ifc4::IfcFlowInstrumentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcFlowInstrumentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcFlowInstrument::declaration() const { return *((IfcParse::entity*)IFC4_types[419]); } const IfcParse::entity& Ifc4::IfcFlowInstrument::Class() { return *((IfcParse::entity*)IFC4_types[419]); } Ifc4::IfcFlowInstrument::IfcFlowInstrument(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4::IfcFlowInstrument::IfcFlowInstrument(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcFlowInstrument::IfcFlowInstrument(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFlowInstrumentType -::Ifc4::IfcFlowInstrumentTypeEnum::Value Ifc4::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4::IfcFlowInstrumentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcFlowInstrumentTypeEnum::Value Ifc4::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcFlowInstrumentType::setPredefinedType(::Ifc4::IfcFlowInstrumentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcFlowInstrumentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcFlowInstrumentType::declaration() const { return *((IfcParse::entity*)IFC4_types[420]); } const IfcParse::entity& Ifc4::IfcFlowInstrumentType::Class() { return *((IfcParse::entity*)IFC4_types[420]); } Ifc4::IfcFlowInstrumentType::IfcFlowInstrumentType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4::IfcFlowInstrumentType::IfcFlowInstrumentType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcFlowInstrumentType::IfcFlowInstrumentType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFlowMeter -boost::optional< ::Ifc4::IfcFlowMeterTypeEnum::Value > Ifc4::IfcFlowMeter::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcFlowMeterTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcFlowMeterTypeEnum::Value > Ifc4::IfcFlowMeter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcFlowMeterTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcFlowMeter::setPredefinedType(boost::optional< ::Ifc4::IfcFlowMeterTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcFlowMeterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcFlowMeter::declaration() const { return *((IfcParse::entity*)IFC4_types[422]); } const IfcParse::entity& Ifc4::IfcFlowMeter::Class() { return *((IfcParse::entity*)IFC4_types[422]); } Ifc4::IfcFlowMeter::IfcFlowMeter(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4::IfcFlowMeter::IfcFlowMeter(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcFlowMeter::IfcFlowMeter(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFlowMeterType -::Ifc4::IfcFlowMeterTypeEnum::Value Ifc4::IfcFlowMeterType::PredefinedType() const { return ::Ifc4::IfcFlowMeterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcFlowMeterTypeEnum::Value Ifc4::IfcFlowMeterType::PredefinedType() const { return ::Ifc4::IfcFlowMeterTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcFlowMeterType::setPredefinedType(::Ifc4::IfcFlowMeterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcFlowMeterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcFlowMeterType::declaration() const { return *((IfcParse::entity*)IFC4_types[423]); } const IfcParse::entity& Ifc4::IfcFlowMeterType::Class() { return *((IfcParse::entity*)IFC4_types[423]); } Ifc4::IfcFlowMeterType::IfcFlowMeterType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4::IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcFlowMeterTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcFlowMeterTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFlowMovingDevice @@ -9955,7 +9955,7 @@ Ifc4::IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, ::Ifc4::IfcOwn const IfcParse::entity& Ifc4::IfcFlowMovingDevice::declaration() const { return *((IfcParse::entity*)IFC4_types[425]); } const IfcParse::entity& Ifc4::IfcFlowMovingDevice::Class() { return *((IfcParse::entity*)IFC4_types[425]); } Ifc4::IfcFlowMovingDevice::IfcFlowMovingDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4::IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4::IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowMovingDeviceType @@ -9963,7 +9963,7 @@ Ifc4::IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, ::Ifc4:: const IfcParse::entity& Ifc4::IfcFlowMovingDeviceType::declaration() const { return *((IfcParse::entity*)IFC4_types[426]); } const IfcParse::entity& Ifc4::IfcFlowMovingDeviceType::Class() { return *((IfcParse::entity*)IFC4_types[426]); } Ifc4::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowSegment @@ -9971,7 +9971,7 @@ Ifc4::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_GlobalId, const IfcParse::entity& Ifc4::IfcFlowSegment::declaration() const { return *((IfcParse::entity*)IFC4_types[427]); } const IfcParse::entity& Ifc4::IfcFlowSegment::Class() { return *((IfcParse::entity*)IFC4_types[427]); } Ifc4::IfcFlowSegment::IfcFlowSegment(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4::IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4::IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowSegmentType @@ -9979,7 +9979,7 @@ Ifc4::IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, ::Ifc4::IfcOwnerHi const IfcParse::entity& Ifc4::IfcFlowSegmentType::declaration() const { return *((IfcParse::entity*)IFC4_types[428]); } const IfcParse::entity& Ifc4::IfcFlowSegmentType::Class() { return *((IfcParse::entity*)IFC4_types[428]); } Ifc4::IfcFlowSegmentType::IfcFlowSegmentType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4::IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4::IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowStorageDevice @@ -9987,7 +9987,7 @@ Ifc4::IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, ::Ifc4::If const IfcParse::entity& Ifc4::IfcFlowStorageDevice::declaration() const { return *((IfcParse::entity*)IFC4_types[429]); } const IfcParse::entity& Ifc4::IfcFlowStorageDevice::Class() { return *((IfcParse::entity*)IFC4_types[429]); } Ifc4::IfcFlowStorageDevice::IfcFlowStorageDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4::IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4::IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowStorageDeviceType @@ -9995,7 +9995,7 @@ Ifc4::IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4::IfcFlowStorageDeviceType::declaration() const { return *((IfcParse::entity*)IFC4_types[430]); } const IfcParse::entity& Ifc4::IfcFlowStorageDeviceType::Class() { return *((IfcParse::entity*)IFC4_types[430]); } Ifc4::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowTerminal @@ -10003,7 +10003,7 @@ Ifc4::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_GlobalId const IfcParse::entity& Ifc4::IfcFlowTerminal::declaration() const { return *((IfcParse::entity*)IFC4_types[431]); } const IfcParse::entity& Ifc4::IfcFlowTerminal::Class() { return *((IfcParse::entity*)IFC4_types[431]); } Ifc4::IfcFlowTerminal::IfcFlowTerminal(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4::IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4::IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowTerminalType @@ -10011,7 +10011,7 @@ Ifc4::IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, ::Ifc4::IfcOwner const IfcParse::entity& Ifc4::IfcFlowTerminalType::declaration() const { return *((IfcParse::entity*)IFC4_types[432]); } const IfcParse::entity& Ifc4::IfcFlowTerminalType::Class() { return *((IfcParse::entity*)IFC4_types[432]); } Ifc4::IfcFlowTerminalType::IfcFlowTerminalType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4::IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4::IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowTreatmentDevice @@ -10019,7 +10019,7 @@ Ifc4::IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, ::Ifc4:: const IfcParse::entity& Ifc4::IfcFlowTreatmentDevice::declaration() const { return *((IfcParse::entity*)IFC4_types[433]); } const IfcParse::entity& Ifc4::IfcFlowTreatmentDevice::Class() { return *((IfcParse::entity*)IFC4_types[433]); } Ifc4::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowTreatmentDeviceType @@ -10027,27 +10027,27 @@ Ifc4::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4::IfcFlowTreatmentDeviceType::declaration() const { return *((IfcParse::entity*)IFC4_types[434]); } const IfcParse::entity& Ifc4::IfcFlowTreatmentDeviceType::Class() { return *((IfcParse::entity*)IFC4_types[434]); } Ifc4::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFooting -boost::optional< ::Ifc4::IfcFootingTypeEnum::Value > Ifc4::IfcFooting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcFootingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcFootingTypeEnum::Value > Ifc4::IfcFooting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcFootingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcFooting::setPredefinedType(boost::optional< ::Ifc4::IfcFootingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcFootingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcFooting::declaration() const { return *((IfcParse::entity*)IFC4_types[438]); } const IfcParse::entity& Ifc4::IfcFooting::Class() { return *((IfcParse::entity*)IFC4_types[438]); } Ifc4::IfcFooting::IfcFooting(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4::IfcFooting::IfcFooting(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcFootingTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcFooting::IfcFooting(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcFootingTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFootingType -::Ifc4::IfcFootingTypeEnum::Value Ifc4::IfcFootingType::PredefinedType() const { return ::Ifc4::IfcFootingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcFootingTypeEnum::Value Ifc4::IfcFootingType::PredefinedType() const { return ::Ifc4::IfcFootingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcFootingType::setPredefinedType(::Ifc4::IfcFootingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcFootingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcFootingType::declaration() const { return *((IfcParse::entity*)IFC4_types[439]); } const IfcParse::entity& Ifc4::IfcFootingType::Class() { return *((IfcParse::entity*)IFC4_types[439]); } Ifc4::IfcFootingType::IfcFootingType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4::IfcFootingType::IfcFootingType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcFootingTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcFootingType::IfcFootingType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcFootingTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFurnishingElement @@ -10055,7 +10055,7 @@ Ifc4::IfcFootingType::IfcFootingType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHi const IfcParse::entity& Ifc4::IfcFurnishingElement::declaration() const { return *((IfcParse::entity*)IFC4_types[443]); } const IfcParse::entity& Ifc4::IfcFurnishingElement::Class() { return *((IfcParse::entity*)IFC4_types[443]); } Ifc4::IfcFurnishingElement::IfcFurnishingElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4::IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4::IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFurnishingElementType @@ -10063,49 +10063,49 @@ Ifc4::IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4::IfcFurnishingElementType::declaration() const { return *((IfcParse::entity*)IFC4_types[444]); } const IfcParse::entity& Ifc4::IfcFurnishingElementType::Class() { return *((IfcParse::entity*)IFC4_types[444]); } Ifc4::IfcFurnishingElementType::IfcFurnishingElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4::IfcFurnishingElementType::IfcFurnishingElementType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4::IfcFurnishingElementType::IfcFurnishingElementType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFurniture -boost::optional< ::Ifc4::IfcFurnitureTypeEnum::Value > Ifc4::IfcFurniture::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcFurnitureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcFurnitureTypeEnum::Value > Ifc4::IfcFurniture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcFurnitureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcFurniture::setPredefinedType(boost::optional< ::Ifc4::IfcFurnitureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcFurnitureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcFurniture::declaration() const { return *((IfcParse::entity*)IFC4_types[445]); } const IfcParse::entity& Ifc4::IfcFurniture::Class() { return *((IfcParse::entity*)IFC4_types[445]); } Ifc4::IfcFurniture::IfcFurniture(IfcEntityInstanceData&& e) : IfcFurnishingElement(std::move(e)) { } -Ifc4::IfcFurniture::IfcFurniture(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcFurnitureTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcFurniture::IfcFurniture(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcFurnitureTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFurnitureType -::Ifc4::IfcAssemblyPlaceEnum::Value Ifc4::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4::IfcAssemblyPlaceEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcAssemblyPlaceEnum::Value Ifc4::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4::IfcAssemblyPlaceEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcFurnitureType::setAssemblyPlace(::Ifc4::IfcAssemblyPlaceEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcAssemblyPlaceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< ::Ifc4::IfcFurnitureTypeEnum::Value > Ifc4::IfcFurnitureType::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4::IfcFurnitureTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4::IfcFurnitureTypeEnum::Value > Ifc4::IfcFurnitureType::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4::IfcFurnitureTypeEnum::FromString(get_attribute_value(10)); } void Ifc4::IfcFurnitureType::setPredefinedType(boost::optional< ::Ifc4::IfcFurnitureTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4::IfcFurnitureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4::IfcFurnitureType::declaration() const { return *((IfcParse::entity*)IFC4_types[446]); } const IfcParse::entity& Ifc4::IfcFurnitureType::Class() { return *((IfcParse::entity*)IFC4_types[446]); } Ifc4::IfcFurnitureType::IfcFurnitureType(IfcEntityInstanceData&& e) : IfcFurnishingElementType(std::move(e)) { } -Ifc4::IfcFurnitureType::IfcFurnitureType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, boost::optional< ::Ifc4::IfcFurnitureTypeEnum::Value > v11_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4::IfcFurnitureType::IfcFurnitureType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, boost::optional< ::Ifc4::IfcFurnitureTypeEnum::Value > v11_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGeographicElement -boost::optional< ::Ifc4::IfcGeographicElementTypeEnum::Value > Ifc4::IfcGeographicElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcGeographicElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcGeographicElementTypeEnum::Value > Ifc4::IfcGeographicElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcGeographicElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcGeographicElement::setPredefinedType(boost::optional< ::Ifc4::IfcGeographicElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcGeographicElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcGeographicElement::declaration() const { return *((IfcParse::entity*)IFC4_types[448]); } const IfcParse::entity& Ifc4::IfcGeographicElement::Class() { return *((IfcParse::entity*)IFC4_types[448]); } Ifc4::IfcGeographicElement::IfcGeographicElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4::IfcGeographicElement::IfcGeographicElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) : IfcElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcGeographicElement::IfcGeographicElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGeographicElementType -::Ifc4::IfcGeographicElementTypeEnum::Value Ifc4::IfcGeographicElementType::PredefinedType() const { return ::Ifc4::IfcGeographicElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcGeographicElementTypeEnum::Value Ifc4::IfcGeographicElementType::PredefinedType() const { return ::Ifc4::IfcGeographicElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcGeographicElementType::setPredefinedType(::Ifc4::IfcGeographicElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcGeographicElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcGeographicElementType::declaration() const { return *((IfcParse::entity*)IFC4_types[449]); } const IfcParse::entity& Ifc4::IfcGeographicElementType::Class() { return *((IfcParse::entity*)IFC4_types[449]); } Ifc4::IfcGeographicElementType::IfcGeographicElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4::IfcGeographicElementType::IfcGeographicElementType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcGeographicElementTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcGeographicElementType::IfcGeographicElementType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcGeographicElementTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcGeometricCurveSet @@ -10113,16 +10113,16 @@ Ifc4::IfcGeographicElementType::IfcGeographicElementType(std::string v1_GlobalId const IfcParse::entity& Ifc4::IfcGeometricCurveSet::declaration() const { return *((IfcParse::entity*)IFC4_types[451]); } const IfcParse::entity& Ifc4::IfcGeometricCurveSet::Class() { return *((IfcParse::entity*)IFC4_types[451]); } Ifc4::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData&& e) : IfcGeometricSet(std::move(e)) { } -Ifc4::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } +Ifc4::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } // Function implementations for IfcGeometricRepresentationContext -int Ifc4::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = data_.get_attribute_value(2); return v; } +int Ifc4::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = get_attribute_value(2); return v; } void Ifc4::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(int v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4::IfcGeometricRepresentationContext::Precision() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4::IfcGeometricRepresentationContext::Precision() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4::IfcAxis2Placement* Ifc4::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4::IfcAxis2Placement>(true); } +::Ifc4::IfcAxis2Placement* Ifc4::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4::IfcAxis2Placement>(true); } void Ifc4::IfcGeometricRepresentationContext::setWorldCoordinateSystem(::Ifc4::IfcAxis2Placement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcDirection* Ifc4::IfcGeometricRepresentationContext::TrueNorth() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcDirection>(true); } +::Ifc4::IfcDirection* Ifc4::IfcGeometricRepresentationContext::TrueNorth() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcGeometricRepresentationContext::setTrueNorth(::Ifc4::IfcDirection* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc4::IfcGeometricRepresentationSubContext::list::ptr Ifc4::IfcGeometricRepresentationContext::HasSubContexts() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[455], 6)->as(); } @@ -10131,7 +10131,7 @@ void Ifc4::IfcGeometricRepresentationContext::setTrueNorth(::Ifc4::IfcDirection* const IfcParse::entity& Ifc4::IfcGeometricRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4_types[453]); } const IfcParse::entity& Ifc4::IfcGeometricRepresentationContext::Class() { return *((IfcParse::entity*)IFC4_types[453]); } Ifc4::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(IfcEntityInstanceData&& e) : IfcRepresentationContext(std::move(e)) { } -Ifc4::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, ::Ifc4::IfcAxis2Placement* v5_WorldCoordinateSystem, ::Ifc4::IfcDirection* v6_TrueNorth) : IfcRepresentationContext(IfcEntityInstanceData(storage_t(6))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, v5_WorldCoordinateSystem ? v5_WorldCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_TrueNorth ? v6_TrueNorth->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, ::Ifc4::IfcAxis2Placement* v5_WorldCoordinateSystem, ::Ifc4::IfcDirection* v6_TrueNorth) : IfcRepresentationContext(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, v5_WorldCoordinateSystem ? v5_WorldCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_TrueNorth ? v6_TrueNorth->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcGeometricRepresentationItem @@ -10139,42 +10139,42 @@ Ifc4::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boost const IfcParse::entity& Ifc4::IfcGeometricRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4_types[454]); } const IfcParse::entity& Ifc4::IfcGeometricRepresentationItem::Class() { return *((IfcParse::entity*)IFC4_types[454]); } Ifc4::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcGeometricRepresentationSubContext -::Ifc4::IfcGeometricRepresentationContext* Ifc4::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4::IfcGeometricRepresentationContext>(true); } +::Ifc4::IfcGeometricRepresentationContext* Ifc4::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4::IfcGeometricRepresentationContext>(true); } void Ifc4::IfcGeometricRepresentationSubContext::setParentContext(::Ifc4::IfcGeometricRepresentationContext* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4::IfcGeometricRepresentationSubContext::TargetScale() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4::IfcGeometricRepresentationSubContext::TargetScale() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4::IfcGeometricProjectionEnum::Value Ifc4::IfcGeometricRepresentationSubContext::TargetView() const { return ::Ifc4::IfcGeometricProjectionEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4::IfcGeometricProjectionEnum::Value Ifc4::IfcGeometricRepresentationSubContext::TargetView() const { return ::Ifc4::IfcGeometricProjectionEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcGeometricRepresentationSubContext::setTargetView(::Ifc4::IfcGeometricProjectionEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4::IfcGeometricProjectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -boost::optional< std::string > Ifc4::IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4::IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4::IfcGeometricRepresentationSubContext::declaration() const { return *((IfcParse::entity*)IFC4_types[455]); } const IfcParse::entity& Ifc4::IfcGeometricRepresentationSubContext::Class() { return *((IfcParse::entity*)IFC4_types[455]); } Ifc4::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(IfcEntityInstanceData&& e) : IfcGeometricRepresentationContext(std::move(e)) { } -Ifc4::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext(IfcEntityInstanceData(storage_t(10))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, v7_ParentContext ? v7_ParentContext->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; populate_derived(); } +Ifc4::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, v7_ParentContext ? v7_ParentContext->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; populate_derived(); } // Function implementations for IfcGeometricSet -aggregate_of< ::Ifc4::IfcGeometricSetSelect >::ptr Ifc4::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4::IfcGeometricSetSelect >(); } +aggregate_of< ::Ifc4::IfcGeometricSetSelect >::ptr Ifc4::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4::IfcGeometricSetSelect >(); } void Ifc4::IfcGeometricSet::setElements(aggregate_of< ::Ifc4::IfcGeometricSetSelect >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4::IfcGeometricSet::declaration() const { return *((IfcParse::entity*)IFC4_types[456]); } const IfcParse::entity& Ifc4::IfcGeometricSet::Class() { return *((IfcParse::entity*)IFC4_types[456]); } Ifc4::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } +Ifc4::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } // Function implementations for IfcGrid -aggregate_of< ::Ifc4::IfcGridAxis >::ptr Ifc4::IfcGrid::UAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4::IfcGridAxis >(); } +aggregate_of< ::Ifc4::IfcGridAxis >::ptr Ifc4::IfcGrid::UAxes() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4::IfcGridAxis >(); } void Ifc4::IfcGrid::setUAxes(aggregate_of< ::Ifc4::IfcGridAxis >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } -aggregate_of< ::Ifc4::IfcGridAxis >::ptr Ifc4::IfcGrid::VAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4::IfcGridAxis >(); } +aggregate_of< ::Ifc4::IfcGridAxis >::ptr Ifc4::IfcGrid::VAxes() const { aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4::IfcGridAxis >(); } void Ifc4::IfcGrid::setVAxes(aggregate_of< ::Ifc4::IfcGridAxis >::ptr v) { set_attribute_value(8, (v)->generalize());if constexpr (false)unset_attribute_value(8); } -boost::optional< aggregate_of< ::Ifc4::IfcGridAxis >::ptr > Ifc4::IfcGrid::WAxes() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4::IfcGridAxis >(); } +boost::optional< aggregate_of< ::Ifc4::IfcGridAxis >::ptr > Ifc4::IfcGrid::WAxes() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4::IfcGridAxis >(); } void Ifc4::IfcGrid::setWAxes(boost::optional< aggregate_of< ::Ifc4::IfcGridAxis >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4::IfcGridTypeEnum::Value > Ifc4::IfcGrid::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4::IfcGridTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4::IfcGridTypeEnum::Value > Ifc4::IfcGrid::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4::IfcGridTypeEnum::FromString(get_attribute_value(10)); } void Ifc4::IfcGrid::setPredefinedType(boost::optional< ::Ifc4::IfcGridTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4::IfcGridTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } ::Ifc4::IfcRelContainedInSpatialStructure::list::ptr Ifc4::IfcGrid::ContainedInStructure() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[823], 4)->as(); } @@ -10182,14 +10182,14 @@ void Ifc4::IfcGrid::setPredefinedType(boost::optional< ::Ifc4::IfcGridTypeEnum:: const IfcParse::entity& Ifc4::IfcGrid::declaration() const { return *((IfcParse::entity*)IFC4_types[460]); } const IfcParse::entity& Ifc4::IfcGrid::Class() { return *((IfcParse::entity*)IFC4_types[460]); } Ifc4::IfcGrid::IfcGrid(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, aggregate_of< ::Ifc4::IfcGridAxis >::ptr v8_UAxes, aggregate_of< ::Ifc4::IfcGridAxis >::ptr v9_VAxes, boost::optional< aggregate_of< ::Ifc4::IfcGridAxis >::ptr > v10_WAxes, boost::optional< ::Ifc4::IfcGridTypeEnum::Value > v11_PredefinedType) : IfcProduct(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_UAxes)->generalize());set_attribute_value(8, (v9_VAxes)->generalize()); if (v10_WAxes) {set_attribute_value(9, (*v10_WAxes)->generalize()); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, aggregate_of< ::Ifc4::IfcGridAxis >::ptr v8_UAxes, aggregate_of< ::Ifc4::IfcGridAxis >::ptr v9_VAxes, boost::optional< aggregate_of< ::Ifc4::IfcGridAxis >::ptr > v10_WAxes, boost::optional< ::Ifc4::IfcGridTypeEnum::Value > v11_PredefinedType) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_UAxes)->generalize());set_attribute_value(8, (v9_VAxes)->generalize()); if (v10_WAxes) {set_attribute_value(9, (*v10_WAxes)->generalize()); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGridAxis -boost::optional< std::string > Ifc4::IfcGridAxis::AxisTag() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4::IfcGridAxis::AxisTag() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4::IfcCurve* Ifc4::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcCurve>(true); } +::Ifc4::IfcCurve* Ifc4::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcGridAxis::setAxisCurve(::Ifc4::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -bool Ifc4::IfcGridAxis::SameSense() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4::IfcGridAxis::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4::IfcGridAxis::setSameSense(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } ::Ifc4::IfcGrid::list::ptr Ifc4::IfcGridAxis::PartOfW() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[460], 9)->as(); } @@ -10200,19 +10200,19 @@ void Ifc4::IfcGridAxis::setSameSense(bool v) { set_attribute_value(2, v);if cons const IfcParse::entity& Ifc4::IfcGridAxis::declaration() const { return *((IfcParse::entity*)IFC4_types[461]); } const IfcParse::entity& Ifc4::IfcGridAxis::Class() { return *((IfcParse::entity*)IFC4_types[461]); } Ifc4::IfcGridAxis::IfcGridAxis(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, ::Ifc4::IfcCurve* v2_AxisCurve, bool v3_SameSense) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, v2_AxisCurve ? v2_AxisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } +Ifc4::IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, ::Ifc4::IfcCurve* v2_AxisCurve, bool v3_SameSense) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, v2_AxisCurve ? v2_AxisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } // Function implementations for IfcGridPlacement -::Ifc4::IfcVirtualGridIntersection* Ifc4::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcVirtualGridIntersection>(true); } +::Ifc4::IfcVirtualGridIntersection* Ifc4::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcVirtualGridIntersection>(true); } void Ifc4::IfcGridPlacement::setPlacementLocation(::Ifc4::IfcVirtualGridIntersection* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcGridPlacementDirectionSelect* Ifc4::IfcGridPlacement::PlacementRefDirection() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcGridPlacementDirectionSelect>(true); } +::Ifc4::IfcGridPlacementDirectionSelect* Ifc4::IfcGridPlacement::PlacementRefDirection() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcGridPlacementDirectionSelect>(true); } void Ifc4::IfcGridPlacement::setPlacementRefDirection(::Ifc4::IfcGridPlacementDirectionSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcGridPlacement::declaration() const { return *((IfcParse::entity*)IFC4_types[462]); } const IfcParse::entity& Ifc4::IfcGridPlacement::Class() { return *((IfcParse::entity*)IFC4_types[462]); } Ifc4::IfcGridPlacement::IfcGridPlacement(IfcEntityInstanceData&& e) : IfcObjectPlacement(std::move(e)) { } -Ifc4::IfcGridPlacement::IfcGridPlacement(::Ifc4::IfcVirtualGridIntersection* v1_PlacementLocation, ::Ifc4::IfcGridPlacementDirectionSelect* v2_PlacementRefDirection) : IfcObjectPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_PlacementLocation ? v1_PlacementLocation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementRefDirection ? v2_PlacementRefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcGridPlacement::IfcGridPlacement(::Ifc4::IfcVirtualGridIntersection* v1_PlacementLocation, ::Ifc4::IfcGridPlacementDirectionSelect* v2_PlacementRefDirection) : IfcObjectPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_PlacementLocation ? v1_PlacementLocation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementRefDirection ? v2_PlacementRefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcGroup @@ -10221,124 +10221,124 @@ Ifc4::IfcGridPlacement::IfcGridPlacement(::Ifc4::IfcVirtualGridIntersection* v1_ const IfcParse::entity& Ifc4::IfcGroup::declaration() const { return *((IfcParse::entity*)IFC4_types[465]); } const IfcParse::entity& Ifc4::IfcGroup::Class() { return *((IfcParse::entity*)IFC4_types[465]); } Ifc4::IfcGroup::IfcGroup(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4::IfcGroup::IfcGroup(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc4::IfcGroup::IfcGroup(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcHalfSpaceSolid -::Ifc4::IfcSurface* Ifc4::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcSurface>(true); } +::Ifc4::IfcSurface* Ifc4::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcSurface>(true); } void Ifc4::IfcHalfSpaceSolid::setBaseSurface(::Ifc4::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -bool Ifc4::IfcHalfSpaceSolid::AgreementFlag() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4::IfcHalfSpaceSolid::AgreementFlag() const { bool v = get_attribute_value(1); return v; } void Ifc4::IfcHalfSpaceSolid::setAgreementFlag(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcHalfSpaceSolid::declaration() const { return *((IfcParse::entity*)IFC4_types[466]); } const IfcParse::entity& Ifc4::IfcHalfSpaceSolid::Class() { return *((IfcParse::entity*)IFC4_types[466]); } Ifc4::IfcHalfSpaceSolid::IfcHalfSpaceSolid(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4::IfcHalfSpaceSolid::IfcHalfSpaceSolid(::Ifc4::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));; populate_derived(); } +Ifc4::IfcHalfSpaceSolid::IfcHalfSpaceSolid(::Ifc4::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));; populate_derived(); } // Function implementations for IfcHeatExchanger -boost::optional< ::Ifc4::IfcHeatExchangerTypeEnum::Value > Ifc4::IfcHeatExchanger::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcHeatExchangerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcHeatExchangerTypeEnum::Value > Ifc4::IfcHeatExchanger::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcHeatExchanger::setPredefinedType(boost::optional< ::Ifc4::IfcHeatExchangerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcHeatExchangerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcHeatExchanger::declaration() const { return *((IfcParse::entity*)IFC4_types[468]); } const IfcParse::entity& Ifc4::IfcHeatExchanger::Class() { return *((IfcParse::entity*)IFC4_types[468]); } Ifc4::IfcHeatExchanger::IfcHeatExchanger(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4::IfcHeatExchanger::IfcHeatExchanger(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcHeatExchanger::IfcHeatExchanger(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcHeatExchangerType -::Ifc4::IfcHeatExchangerTypeEnum::Value Ifc4::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4::IfcHeatExchangerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcHeatExchangerTypeEnum::Value Ifc4::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcHeatExchangerType::setPredefinedType(::Ifc4::IfcHeatExchangerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcHeatExchangerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcHeatExchangerType::declaration() const { return *((IfcParse::entity*)IFC4_types[469]); } const IfcParse::entity& Ifc4::IfcHeatExchangerType::Class() { return *((IfcParse::entity*)IFC4_types[469]); } Ifc4::IfcHeatExchangerType::IfcHeatExchangerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4::IfcHeatExchangerType::IfcHeatExchangerType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcHeatExchangerType::IfcHeatExchangerType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcHumidifier -boost::optional< ::Ifc4::IfcHumidifierTypeEnum::Value > Ifc4::IfcHumidifier::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcHumidifierTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcHumidifierTypeEnum::Value > Ifc4::IfcHumidifier::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcHumidifierTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcHumidifier::setPredefinedType(boost::optional< ::Ifc4::IfcHumidifierTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcHumidifierTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcHumidifier::declaration() const { return *((IfcParse::entity*)IFC4_types[473]); } const IfcParse::entity& Ifc4::IfcHumidifier::Class() { return *((IfcParse::entity*)IFC4_types[473]); } Ifc4::IfcHumidifier::IfcHumidifier(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4::IfcHumidifier::IfcHumidifier(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcHumidifierTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcHumidifier::IfcHumidifier(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcHumidifierTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcHumidifierType -::Ifc4::IfcHumidifierTypeEnum::Value Ifc4::IfcHumidifierType::PredefinedType() const { return ::Ifc4::IfcHumidifierTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcHumidifierTypeEnum::Value Ifc4::IfcHumidifierType::PredefinedType() const { return ::Ifc4::IfcHumidifierTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcHumidifierType::setPredefinedType(::Ifc4::IfcHumidifierTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcHumidifierTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcHumidifierType::declaration() const { return *((IfcParse::entity*)IFC4_types[474]); } const IfcParse::entity& Ifc4::IfcHumidifierType::Class() { return *((IfcParse::entity*)IFC4_types[474]); } Ifc4::IfcHumidifierType::IfcHumidifierType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4::IfcHumidifierType::IfcHumidifierType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcHumidifierTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcHumidifierType::IfcHumidifierType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcHumidifierTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcIShapeProfileDef -double Ifc4::IfcIShapeProfileDef::OverallWidth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4::IfcIShapeProfileDef::OverallWidth() const { double v = get_attribute_value(3); return v; } void Ifc4::IfcIShapeProfileDef::setOverallWidth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4::IfcIShapeProfileDef::OverallDepth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4::IfcIShapeProfileDef::OverallDepth() const { double v = get_attribute_value(4); return v; } void Ifc4::IfcIShapeProfileDef::setOverallDepth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4::IfcIShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4::IfcIShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4::IfcIShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4::IfcIShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4::IfcIShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4::IfcIShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4::IfcIShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4::IfcIShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4::IfcIShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4::IfcIShapeProfileDef::FlangeEdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4::IfcIShapeProfileDef::FlangeEdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4::IfcIShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4::IfcIShapeProfileDef::FlangeSlope() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4::IfcIShapeProfileDef::FlangeSlope() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4::IfcIShapeProfileDef::setFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4::IfcIShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4_types[498]); } const IfcParse::entity& Ifc4::IfcIShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4_types[498]); } Ifc4::IfcIShapeProfileDef::IfcIShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4::IfcIShapeProfileDef::IfcIShapeProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::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(storage_t(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } +Ifc4::IfcIShapeProfileDef::IfcIShapeProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::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(in_memory_attribute_storage(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } // Function implementations for IfcImageTexture -std::string Ifc4::IfcImageTexture::URLReference() const { std::string v = data_.get_attribute_value(5); return v; } +std::string Ifc4::IfcImageTexture::URLReference() const { std::string v = get_attribute_value(5); return v; } void Ifc4::IfcImageTexture::setURLReference(std::string v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4::IfcImageTexture::declaration() const { return *((IfcParse::entity*)IFC4_types[478]); } const IfcParse::entity& Ifc4::IfcImageTexture::Class() { return *((IfcParse::entity*)IFC4_types[478]); } Ifc4::IfcImageTexture::IfcImageTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -Ifc4::IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) : IfcSurfaceTexture(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference));; populate_derived(); } +Ifc4::IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) : IfcSurfaceTexture(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference));; populate_derived(); } // Function implementations for IfcIndexedColourMap -::Ifc4::IfcTessellatedFaceSet* Ifc4::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcTessellatedFaceSet>(true); } +::Ifc4::IfcTessellatedFaceSet* Ifc4::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcTessellatedFaceSet>(true); } void Ifc4::IfcIndexedColourMap::setMappedTo(::Ifc4::IfcTessellatedFaceSet* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< double > Ifc4::IfcIndexedColourMap::Opacity() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4::IfcIndexedColourMap::Opacity() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4::IfcIndexedColourMap::setOpacity(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4::IfcColourRgbList* Ifc4::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcColourRgbList>(true); } +::Ifc4::IfcColourRgbList* Ifc4::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcColourRgbList>(true); } void Ifc4::IfcIndexedColourMap::setColours(::Ifc4::IfcColourRgbList* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -std::vector< int > /*[1:?]*/ Ifc4::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +std::vector< int > /*[1:?]*/ Ifc4::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4::IfcIndexedColourMap::setColourIndex(std::vector< int > /*[1:?]*/ v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4::IfcIndexedColourMap::declaration() const { return *((IfcParse::entity*)IFC4_types[479]); } const IfcParse::entity& Ifc4::IfcIndexedColourMap::Class() { return *((IfcParse::entity*)IFC4_types[479]); } Ifc4::IfcIndexedColourMap::IfcIndexedColourMap(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4::IfcTessellatedFaceSet* v1_MappedTo, boost::optional< double > v2_Opacity, ::Ifc4::IfcColourRgbList* v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) : IfcPresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_MappedTo ? v1_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, v3_Colours ? v3_Colours->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ColourIndex));; populate_derived(); } +Ifc4::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4::IfcTessellatedFaceSet* v1_MappedTo, boost::optional< double > v2_Opacity, ::Ifc4::IfcColourRgbList* v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_MappedTo ? v1_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, v3_Colours ? v3_Colours->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ColourIndex));; populate_derived(); } // Function implementations for IfcIndexedPolyCurve -::Ifc4::IfcCartesianPointList* Ifc4::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcCartesianPointList>(true); } +::Ifc4::IfcCartesianPointList* Ifc4::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcCartesianPointList>(true); } void Ifc4::IfcIndexedPolyCurve::setPoints(::Ifc4::IfcCartesianPointList* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< aggregate_of< ::Ifc4::IfcSegmentIndexSelect >::ptr > Ifc4::IfcIndexedPolyCurve::Segments() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4::IfcSegmentIndexSelect >(); } +boost::optional< aggregate_of< ::Ifc4::IfcSegmentIndexSelect >::ptr > Ifc4::IfcIndexedPolyCurve::Segments() const { if(get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4::IfcSegmentIndexSelect >(); } void Ifc4::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4::IfcSegmentIndexSelect >::ptr > v) { if (v) {set_attribute_value(1, (*v)->generalize());} else {unset_attribute_value(1);} } -boost::optional< bool > Ifc4::IfcIndexedPolyCurve::SelfIntersect() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } bool v = data_.get_attribute_value(2); return v; } +boost::optional< bool > Ifc4::IfcIndexedPolyCurve::SelfIntersect() const { if(get_attribute_value(2).isNull()) { return boost::none; } bool v = get_attribute_value(2); return v; } void Ifc4::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4::IfcIndexedPolyCurve::declaration() const { return *((IfcParse::entity*)IFC4_types[480]); } const IfcParse::entity& Ifc4::IfcIndexedPolyCurve::Class() { return *((IfcParse::entity*)IFC4_types[480]); } Ifc4::IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Points ? v1_Points->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Segments) {set_attribute_value(1, (*v2_Segments)->generalize()); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); }; populate_derived(); } +Ifc4::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Points ? v1_Points->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Segments) {set_attribute_value(1, (*v2_Segments)->generalize()); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); }; populate_derived(); } // Function implementations for IfcIndexedPolygonalFace -std::vector< int > /*[3:?]*/ Ifc4::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = data_.get_attribute_value(0); return v; } +std::vector< int > /*[3:?]*/ Ifc4::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } void Ifc4::IfcIndexedPolygonalFace::setCoordIndex(std::vector< int > /*[3:?]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } ::Ifc4::IfcPolygonalFaceSet::list::ptr Ifc4::IfcIndexedPolygonalFace::ToFaceSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[680], 2)->as(); } @@ -10346,59 +10346,59 @@ void Ifc4::IfcIndexedPolygonalFace::setCoordIndex(std::vector< int > /*[3:?]*/ v const IfcParse::entity& Ifc4::IfcIndexedPolygonalFace::declaration() const { return *((IfcParse::entity*)IFC4_types[481]); } const IfcParse::entity& Ifc4::IfcIndexedPolygonalFace::Class() { return *((IfcParse::entity*)IFC4_types[481]); } Ifc4::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(IfcEntityInstanceData&& e) : IfcTessellatedItem(std::move(e)) { } -Ifc4::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(std::vector< int > /*[3:?]*/ v1_CoordIndex) : IfcTessellatedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CoordIndex));; populate_derived(); } +Ifc4::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(std::vector< int > /*[3:?]*/ v1_CoordIndex) : IfcTessellatedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CoordIndex));; populate_derived(); } // Function implementations for IfcIndexedPolygonalFaceWithVoids -std::vector< std::vector< int > > Ifc4::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { std::vector< std::vector< int > > v = data_.get_attribute_value(1); return v; } +std::vector< std::vector< int > > Ifc4::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { std::vector< std::vector< int > > v = get_attribute_value(1); return v; } void Ifc4::IfcIndexedPolygonalFaceWithVoids::setInnerCoordIndices(std::vector< std::vector< int > > v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcIndexedPolygonalFaceWithVoids::declaration() const { return *((IfcParse::entity*)IFC4_types[482]); } const IfcParse::entity& Ifc4::IfcIndexedPolygonalFaceWithVoids::Class() { return *((IfcParse::entity*)IFC4_types[482]); } Ifc4::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(IfcEntityInstanceData&& e) : IfcIndexedPolygonalFace(std::move(e)) { } -Ifc4::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) : IfcIndexedPolygonalFace(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices));; populate_derived(); } +Ifc4::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) : IfcIndexedPolygonalFace(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices));; populate_derived(); } // Function implementations for IfcIndexedTextureMap -::Ifc4::IfcTessellatedFaceSet* Ifc4::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcTessellatedFaceSet>(true); } +::Ifc4::IfcTessellatedFaceSet* Ifc4::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcTessellatedFaceSet>(true); } void Ifc4::IfcIndexedTextureMap::setMappedTo(::Ifc4::IfcTessellatedFaceSet* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4::IfcTextureVertexList* Ifc4::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcTextureVertexList>(true); } +::Ifc4::IfcTextureVertexList* Ifc4::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcTextureVertexList>(true); } void Ifc4::IfcIndexedTextureMap::setTexCoords(::Ifc4::IfcTextureVertexList* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4::IfcIndexedTextureMap::declaration() const { return *((IfcParse::entity*)IFC4_types[483]); } const IfcParse::entity& Ifc4::IfcIndexedTextureMap::Class() { return *((IfcParse::entity*)IFC4_types[483]); } Ifc4::IfcIndexedTextureMap::IfcIndexedTextureMap(IfcEntityInstanceData&& e) : IfcTextureCoordinate(std::move(e)) { } -Ifc4::IfcIndexedTextureMap::IfcIndexedTextureMap(aggregate_of< ::Ifc4::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4::IfcTextureVertexList* v3_TexCoords) : IfcTextureCoordinate(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcIndexedTextureMap::IfcIndexedTextureMap(aggregate_of< ::Ifc4::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4::IfcTextureVertexList* v3_TexCoords) : IfcTextureCoordinate(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcIndexedTriangleTextureMap -boost::optional< std::vector< std::vector< int > > > Ifc4::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::vector< int > > v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< std::vector< int > > > Ifc4::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::vector< int > > v = get_attribute_value(3); return v; } void Ifc4::IfcIndexedTriangleTextureMap::setTexCoordIndex(boost::optional< std::vector< std::vector< int > > > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4::IfcIndexedTriangleTextureMap::declaration() const { return *((IfcParse::entity*)IFC4_types[484]); } const IfcParse::entity& Ifc4::IfcIndexedTriangleTextureMap::Class() { return *((IfcParse::entity*)IFC4_types[484]); } Ifc4::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(IfcEntityInstanceData&& e) : IfcIndexedTextureMap(std::move(e)) { } -Ifc4::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(aggregate_of< ::Ifc4::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4::IfcTextureVertexList* v3_TexCoords, boost::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) : IfcIndexedTextureMap(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); }; populate_derived(); } +Ifc4::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(aggregate_of< ::Ifc4::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4::IfcTextureVertexList* v3_TexCoords, boost::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) : IfcIndexedTextureMap(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); }; populate_derived(); } // Function implementations for IfcInterceptor -boost::optional< ::Ifc4::IfcInterceptorTypeEnum::Value > Ifc4::IfcInterceptor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcInterceptorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcInterceptorTypeEnum::Value > Ifc4::IfcInterceptor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcInterceptorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcInterceptor::setPredefinedType(boost::optional< ::Ifc4::IfcInterceptorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcInterceptorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcInterceptor::declaration() const { return *((IfcParse::entity*)IFC4_types[488]); } const IfcParse::entity& Ifc4::IfcInterceptor::Class() { return *((IfcParse::entity*)IFC4_types[488]); } Ifc4::IfcInterceptor::IfcInterceptor(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4::IfcInterceptor::IfcInterceptor(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcInterceptorTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcInterceptor::IfcInterceptor(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcInterceptorTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcInterceptorType -::Ifc4::IfcInterceptorTypeEnum::Value Ifc4::IfcInterceptorType::PredefinedType() const { return ::Ifc4::IfcInterceptorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcInterceptorTypeEnum::Value Ifc4::IfcInterceptorType::PredefinedType() const { return ::Ifc4::IfcInterceptorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcInterceptorType::setPredefinedType(::Ifc4::IfcInterceptorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcInterceptorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcInterceptorType::declaration() const { return *((IfcParse::entity*)IFC4_types[489]); } const IfcParse::entity& Ifc4::IfcInterceptorType::Class() { return *((IfcParse::entity*)IFC4_types[489]); } Ifc4::IfcInterceptorType::IfcInterceptorType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4::IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcInterceptorTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcInterceptorTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcIntersectionCurve @@ -10406,154 +10406,154 @@ Ifc4::IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, ::Ifc4::If const IfcParse::entity& Ifc4::IfcIntersectionCurve::declaration() const { return *((IfcParse::entity*)IFC4_types[492]); } const IfcParse::entity& Ifc4::IfcIntersectionCurve::Class() { return *((IfcParse::entity*)IFC4_types[492]); } Ifc4::IfcIntersectionCurve::IfcIntersectionCurve(IfcEntityInstanceData&& e) : IfcSurfaceCurve(std::move(e)) { } -Ifc4::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } +Ifc4::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcInventory -boost::optional< ::Ifc4::IfcInventoryTypeEnum::Value > Ifc4::IfcInventory::PredefinedType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4::IfcInventoryTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4::IfcInventoryTypeEnum::Value > Ifc4::IfcInventory::PredefinedType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4::IfcInventoryTypeEnum::FromString(get_attribute_value(5)); } void Ifc4::IfcInventory::setPredefinedType(boost::optional< ::Ifc4::IfcInventoryTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4::IfcInventoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -::Ifc4::IfcActorSelect* Ifc4::IfcInventory::Jurisdiction() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4::IfcActorSelect>(true); } +::Ifc4::IfcActorSelect* Ifc4::IfcInventory::Jurisdiction() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4::IfcActorSelect>(true); } void Ifc4::IfcInventory::setJurisdiction(::Ifc4::IfcActorSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< aggregate_of< ::Ifc4::IfcPerson >::ptr > Ifc4::IfcInventory::ResponsiblePersons() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4::IfcPerson >(); } +boost::optional< aggregate_of< ::Ifc4::IfcPerson >::ptr > Ifc4::IfcInventory::ResponsiblePersons() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4::IfcPerson >(); } void Ifc4::IfcInventory::setResponsiblePersons(boost::optional< aggregate_of< ::Ifc4::IfcPerson >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4::IfcInventory::LastUpdateDate() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4::IfcInventory::LastUpdateDate() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4::IfcInventory::setLastUpdateDate(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4::IfcCostValue* Ifc4::IfcInventory::CurrentValue() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4::IfcCostValue>(true); } +::Ifc4::IfcCostValue* Ifc4::IfcInventory::CurrentValue() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4::IfcCostValue>(true); } void Ifc4::IfcInventory::setCurrentValue(::Ifc4::IfcCostValue* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4::IfcCostValue* Ifc4::IfcInventory::OriginalValue() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4::IfcCostValue>(true); } +::Ifc4::IfcCostValue* Ifc4::IfcInventory::OriginalValue() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4::IfcCostValue>(true); } void Ifc4::IfcInventory::setOriginalValue(::Ifc4::IfcCostValue* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4::IfcInventory::declaration() const { return *((IfcParse::entity*)IFC4_types[493]); } const IfcParse::entity& Ifc4::IfcInventory::Class() { return *((IfcParse::entity*)IFC4_types[493]); } Ifc4::IfcInventory::IfcInventory(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4::IfcInventory::IfcInventory(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4::IfcActorSelect* v7_Jurisdiction, boost::optional< aggregate_of< ::Ifc4::IfcPerson >::ptr > v8_ResponsiblePersons, boost::optional< std::string > v9_LastUpdateDate, ::Ifc4::IfcCostValue* v10_CurrentValue, ::Ifc4::IfcCostValue* v11_OriginalValue) : IfcGroup(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, v7_Jurisdiction ? v7_Jurisdiction->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_ResponsiblePersons) {set_attribute_value(7, (*v8_ResponsiblePersons)->generalize()); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, v10_CurrentValue ? v10_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_OriginalValue ? v11_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcInventory::IfcInventory(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4::IfcActorSelect* v7_Jurisdiction, boost::optional< aggregate_of< ::Ifc4::IfcPerson >::ptr > v8_ResponsiblePersons, boost::optional< std::string > v9_LastUpdateDate, ::Ifc4::IfcCostValue* v10_CurrentValue, ::Ifc4::IfcCostValue* v11_OriginalValue) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, v7_Jurisdiction ? v7_Jurisdiction->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_ResponsiblePersons) {set_attribute_value(7, (*v8_ResponsiblePersons)->generalize()); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, v10_CurrentValue ? v10_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_OriginalValue ? v11_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcIrregularTimeSeries -aggregate_of< ::Ifc4::IfcIrregularTimeSeriesValue >::ptr Ifc4::IfcIrregularTimeSeries::Values() const { aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4::IfcIrregularTimeSeriesValue >(); } +aggregate_of< ::Ifc4::IfcIrregularTimeSeriesValue >::ptr Ifc4::IfcIrregularTimeSeries::Values() const { aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4::IfcIrregularTimeSeriesValue >(); } void Ifc4::IfcIrregularTimeSeries::setValues(aggregate_of< ::Ifc4::IfcIrregularTimeSeriesValue >::ptr v) { set_attribute_value(8, (v)->generalize());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4::IfcIrregularTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4_types[496]); } const IfcParse::entity& Ifc4::IfcIrregularTimeSeries::Class() { return *((IfcParse::entity*)IFC4_types[496]); } Ifc4::IfcIrregularTimeSeries::IfcIrregularTimeSeries(IfcEntityInstanceData&& e) : IfcTimeSeries(std::move(e)) { } -Ifc4::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4::IfcUnit* v8_Unit, aggregate_of< ::Ifc4::IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_Values)->generalize());; populate_derived(); } +Ifc4::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4::IfcUnit* v8_Unit, aggregate_of< ::Ifc4::IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_Values)->generalize());; populate_derived(); } // Function implementations for IfcIrregularTimeSeriesValue -std::string Ifc4::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = get_attribute_value(0); return v; } void Ifc4::IfcIrregularTimeSeriesValue::setTimeStamp(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4::IfcValue >::ptr Ifc4::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4::IfcValue >(); } +aggregate_of< ::Ifc4::IfcValue >::ptr Ifc4::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4::IfcValue >(); } void Ifc4::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4::IfcValue >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcIrregularTimeSeriesValue::declaration() const { return *((IfcParse::entity*)IFC4_types[497]); } const IfcParse::entity& Ifc4::IfcIrregularTimeSeriesValue::Class() { return *((IfcParse::entity*)IFC4_types[497]); } Ifc4::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, (v2_ListValues)->generalize());; populate_derived(); } +Ifc4::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, (v2_ListValues)->generalize());; populate_derived(); } // Function implementations for IfcJunctionBox -boost::optional< ::Ifc4::IfcJunctionBoxTypeEnum::Value > Ifc4::IfcJunctionBox::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcJunctionBoxTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcJunctionBoxTypeEnum::Value > Ifc4::IfcJunctionBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcJunctionBox::setPredefinedType(boost::optional< ::Ifc4::IfcJunctionBoxTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcJunctionBoxTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcJunctionBox::declaration() const { return *((IfcParse::entity*)IFC4_types[500]); } const IfcParse::entity& Ifc4::IfcJunctionBox::Class() { return *((IfcParse::entity*)IFC4_types[500]); } Ifc4::IfcJunctionBox::IfcJunctionBox(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4::IfcJunctionBox::IfcJunctionBox(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcJunctionBox::IfcJunctionBox(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcJunctionBoxType -::Ifc4::IfcJunctionBoxTypeEnum::Value Ifc4::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4::IfcJunctionBoxTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcJunctionBoxTypeEnum::Value Ifc4::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcJunctionBoxType::setPredefinedType(::Ifc4::IfcJunctionBoxTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcJunctionBoxTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcJunctionBoxType::declaration() const { return *((IfcParse::entity*)IFC4_types[501]); } const IfcParse::entity& Ifc4::IfcJunctionBoxType::Class() { return *((IfcParse::entity*)IFC4_types[501]); } Ifc4::IfcJunctionBoxType::IfcJunctionBoxType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4::IfcJunctionBoxType::IfcJunctionBoxType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcJunctionBoxType::IfcJunctionBoxType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLShapeProfileDef -double Ifc4::IfcLShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4::IfcLShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4::IfcLShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< double > Ifc4::IfcLShapeProfileDef::Width() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4::IfcLShapeProfileDef::Width() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4::IfcLShapeProfileDef::setWidth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -double Ifc4::IfcLShapeProfileDef::Thickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4::IfcLShapeProfileDef::Thickness() const { double v = get_attribute_value(5); return v; } void Ifc4::IfcLShapeProfileDef::setThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4::IfcLShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4::IfcLShapeProfileDef::FilletRadius() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4::IfcLShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4::IfcLShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4::IfcLShapeProfileDef::EdgeRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4::IfcLShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4::IfcLShapeProfileDef::LegSlope() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4::IfcLShapeProfileDef::LegSlope() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4::IfcLShapeProfileDef::setLegSlope(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcLShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4_types[545]); } const IfcParse::entity& Ifc4::IfcLShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4_types[545]); } Ifc4::IfcLShapeProfileDef::IfcLShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4::IfcLShapeProfileDef::IfcLShapeProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::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(storage_t(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); }; populate_derived(); } +Ifc4::IfcLShapeProfileDef::IfcLShapeProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::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(in_memory_attribute_storage(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); }; populate_derived(); } // Function implementations for IfcLaborResource -boost::optional< ::Ifc4::IfcLaborResourceTypeEnum::Value > Ifc4::IfcLaborResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4::IfcLaborResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4::IfcLaborResourceTypeEnum::Value > Ifc4::IfcLaborResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4::IfcLaborResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4::IfcLaborResource::setPredefinedType(boost::optional< ::Ifc4::IfcLaborResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4::IfcLaborResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4::IfcLaborResource::declaration() const { return *((IfcParse::entity*)IFC4_types[506]); } const IfcParse::entity& Ifc4::IfcLaborResource::Class() { return *((IfcParse::entity*)IFC4_types[506]); } Ifc4::IfcLaborResource::IfcLaborResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4::IfcLaborResource::IfcLaborResource(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4::IfcLaborResource::IfcLaborResource(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLaborResourceType -::Ifc4::IfcLaborResourceTypeEnum::Value Ifc4::IfcLaborResourceType::PredefinedType() const { return ::Ifc4::IfcLaborResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4::IfcLaborResourceTypeEnum::Value Ifc4::IfcLaborResourceType::PredefinedType() const { return ::Ifc4::IfcLaborResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4::IfcLaborResourceType::setPredefinedType(::Ifc4::IfcLaborResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4::IfcLaborResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4::IfcLaborResourceType::declaration() const { return *((IfcParse::entity*)IFC4_types[507]); } const IfcParse::entity& Ifc4::IfcLaborResourceType::Class() { return *((IfcParse::entity*)IFC4_types[507]); } Ifc4::IfcLaborResourceType::IfcLaborResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4::IfcLaborResourceType::IfcLaborResourceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4::IfcLaborResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4::IfcLaborResourceType::IfcLaborResourceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4::IfcLaborResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcLagTime -::Ifc4::IfcTimeOrRatioSelect* Ifc4::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4::IfcTimeOrRatioSelect>(true); } +::Ifc4::IfcTimeOrRatioSelect* Ifc4::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4::IfcTimeOrRatioSelect>(true); } void Ifc4::IfcLagTime::setLagValue(::Ifc4::IfcTimeOrRatioSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4::IfcTaskDurationEnum::Value Ifc4::IfcLagTime::DurationType() const { return ::Ifc4::IfcTaskDurationEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4::IfcTaskDurationEnum::Value Ifc4::IfcLagTime::DurationType() const { return ::Ifc4::IfcTaskDurationEnum::FromString(get_attribute_value(4)); } void Ifc4::IfcLagTime::setDurationType(::Ifc4::IfcTaskDurationEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4::IfcTaskDurationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4::IfcLagTime::declaration() const { return *((IfcParse::entity*)IFC4_types[509]); } const IfcParse::entity& Ifc4::IfcLagTime::Class() { return *((IfcParse::entity*)IFC4_types[509]); } Ifc4::IfcLagTime::IfcLagTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4::IfcLagTime::IfcLagTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4::IfcTimeOrRatioSelect* v4_LagValue, ::Ifc4::IfcTaskDurationEnum::Value v5_DurationType) : IfcSchedulingTime(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_LagValue ? v4_LagValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (EnumerationReference(&::Ifc4::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType)));; populate_derived(); } +Ifc4::IfcLagTime::IfcLagTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4::IfcTimeOrRatioSelect* v4_LagValue, ::Ifc4::IfcTaskDurationEnum::Value v5_DurationType) : IfcSchedulingTime(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_LagValue ? v4_LagValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (EnumerationReference(&::Ifc4::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType)));; populate_derived(); } // Function implementations for IfcLamp -boost::optional< ::Ifc4::IfcLampTypeEnum::Value > Ifc4::IfcLamp::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcLampTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcLampTypeEnum::Value > Ifc4::IfcLamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcLampTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcLamp::setPredefinedType(boost::optional< ::Ifc4::IfcLampTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcLampTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcLamp::declaration() const { return *((IfcParse::entity*)IFC4_types[510]); } const IfcParse::entity& Ifc4::IfcLamp::Class() { return *((IfcParse::entity*)IFC4_types[510]); } Ifc4::IfcLamp::IfcLamp(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4::IfcLamp::IfcLamp(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcLampTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcLamp::IfcLamp(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcLampTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLampType -::Ifc4::IfcLampTypeEnum::Value Ifc4::IfcLampType::PredefinedType() const { return ::Ifc4::IfcLampTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcLampTypeEnum::Value Ifc4::IfcLampType::PredefinedType() const { return ::Ifc4::IfcLampTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcLampType::setPredefinedType(::Ifc4::IfcLampTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcLampTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcLampType::declaration() const { return *((IfcParse::entity*)IFC4_types[511]); } const IfcParse::entity& Ifc4::IfcLampType::Class() { return *((IfcParse::entity*)IFC4_types[511]); } Ifc4::IfcLampType::IfcLampType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4::IfcLampType::IfcLampType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcLampTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcLampType::IfcLampType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcLampTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLibraryInformation -std::string Ifc4::IfcLibraryInformation::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4::IfcLibraryInformation::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4::IfcLibraryInformation::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4::IfcLibraryInformation::Version() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4::IfcLibraryInformation::Version() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4::IfcActorSelect* Ifc4::IfcLibraryInformation::Publisher() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcActorSelect>(true); } +::Ifc4::IfcActorSelect* Ifc4::IfcLibraryInformation::Publisher() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcActorSelect>(true); } void Ifc4::IfcLibraryInformation::setPublisher(::Ifc4::IfcActorSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4::IfcLibraryInformation::VersionDate() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4::IfcLibraryInformation::VersionDate() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4::IfcLibraryInformation::setVersionDate(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4::IfcLibraryInformation::Location() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4::IfcLibraryInformation::Location() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcLibraryInformation::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4::IfcLibraryInformation::Description() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4::IfcLibraryInformation::Description() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcLibraryInformation::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4::IfcRelAssociatesLibrary::list::ptr Ifc4::IfcLibraryInformation::LibraryInfoForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[811], 5)->as(); } @@ -10562,14 +10562,14 @@ void Ifc4::IfcLibraryInformation::setDescription(boost::optional< std::string > const IfcParse::entity& Ifc4::IfcLibraryInformation::declaration() const { return *((IfcParse::entity*)IFC4_types[517]); } const IfcParse::entity& Ifc4::IfcLibraryInformation::Class() { return *((IfcParse::entity*)IFC4_types[517]); } Ifc4::IfcLibraryInformation::IfcLibraryInformation(IfcEntityInstanceData&& e) : IfcExternalInformation(std::move(e)) { } -Ifc4::IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, boost::optional< std::string > v2_Version, ::Ifc4::IfcActorSelect* v3_Publisher, boost::optional< std::string > v4_VersionDate, boost::optional< std::string > v5_Location, boost::optional< std::string > v6_Description) : IfcExternalInformation(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, v3_Publisher ? v3_Publisher->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); }; populate_derived(); } +Ifc4::IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, boost::optional< std::string > v2_Version, ::Ifc4::IfcActorSelect* v3_Publisher, boost::optional< std::string > v4_VersionDate, boost::optional< std::string > v5_Location, boost::optional< std::string > v6_Description) : IfcExternalInformation(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, v3_Publisher ? v3_Publisher->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); }; populate_derived(); } // Function implementations for IfcLibraryReference -boost::optional< std::string > Ifc4::IfcLibraryReference::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4::IfcLibraryReference::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4::IfcLibraryReference::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4::IfcLibraryReference::Language() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4::IfcLibraryReference::Language() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcLibraryReference::setLanguage(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4::IfcLibraryInformation* Ifc4::IfcLibraryReference::ReferencedLibrary() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcLibraryInformation>(true); } +::Ifc4::IfcLibraryInformation* Ifc4::IfcLibraryReference::ReferencedLibrary() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcLibraryInformation>(true); } void Ifc4::IfcLibraryReference::setReferencedLibrary(::Ifc4::IfcLibraryInformation* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc4::IfcRelAssociatesLibrary::list::ptr Ifc4::IfcLibraryReference::LibraryRefForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[811], 5)->as(); } @@ -10577,69 +10577,69 @@ void Ifc4::IfcLibraryReference::setReferencedLibrary(::Ifc4::IfcLibraryInformati const IfcParse::entity& Ifc4::IfcLibraryReference::declaration() const { return *((IfcParse::entity*)IFC4_types[518]); } const IfcParse::entity& Ifc4::IfcLibraryReference::Class() { return *((IfcParse::entity*)IFC4_types[518]); } Ifc4::IfcLibraryReference::IfcLibraryReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4::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, ::Ifc4::IfcLibraryInformation* v6_ReferencedLibrary) : IfcExternalReference(IfcEntityInstanceData(storage_t(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, v6_ReferencedLibrary ? v6_ReferencedLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::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, ::Ifc4::IfcLibraryInformation* v6_ReferencedLibrary) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, v6_ReferencedLibrary ? v6_ReferencedLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLightDistributionData -double Ifc4::IfcLightDistributionData::MainPlaneAngle() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4::IfcLightDistributionData::MainPlaneAngle() const { double v = get_attribute_value(0); return v; } void Ifc4::IfcLightDistributionData::setMainPlaneAngle(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< double > /*[1:?]*/ Ifc4::IfcLightDistributionData::SecondaryPlaneAngle() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +std::vector< double > /*[1:?]*/ Ifc4::IfcLightDistributionData::SecondaryPlaneAngle() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4::IfcLightDistributionData::setSecondaryPlaneAngle(std::vector< double > /*[1:?]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector< double > /*[1:?]*/ Ifc4::IfcLightDistributionData::LuminousIntensity() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(2); return v; } +std::vector< double > /*[1:?]*/ Ifc4::IfcLightDistributionData::LuminousIntensity() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(2); return v; } void Ifc4::IfcLightDistributionData::setLuminousIntensity(std::vector< double > /*[1:?]*/ v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4::IfcLightDistributionData::declaration() const { return *((IfcParse::entity*)IFC4_types[521]); } const IfcParse::entity& Ifc4::IfcLightDistributionData::Class() { return *((IfcParse::entity*)IFC4_types[521]); } Ifc4::IfcLightDistributionData::IfcLightDistributionData(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcLightDistributionData::IfcLightDistributionData(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; populate_derived(); } +Ifc4::IfcLightDistributionData::IfcLightDistributionData(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; populate_derived(); } // Function implementations for IfcLightFixture -boost::optional< ::Ifc4::IfcLightFixtureTypeEnum::Value > Ifc4::IfcLightFixture::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcLightFixtureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcLightFixtureTypeEnum::Value > Ifc4::IfcLightFixture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcLightFixtureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcLightFixture::setPredefinedType(boost::optional< ::Ifc4::IfcLightFixtureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcLightFixtureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcLightFixture::declaration() const { return *((IfcParse::entity*)IFC4_types[524]); } const IfcParse::entity& Ifc4::IfcLightFixture::Class() { return *((IfcParse::entity*)IFC4_types[524]); } Ifc4::IfcLightFixture::IfcLightFixture(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4::IfcLightFixture::IfcLightFixture(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcLightFixture::IfcLightFixture(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLightFixtureType -::Ifc4::IfcLightFixtureTypeEnum::Value Ifc4::IfcLightFixtureType::PredefinedType() const { return ::Ifc4::IfcLightFixtureTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcLightFixtureTypeEnum::Value Ifc4::IfcLightFixtureType::PredefinedType() const { return ::Ifc4::IfcLightFixtureTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcLightFixtureType::setPredefinedType(::Ifc4::IfcLightFixtureTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcLightFixtureTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcLightFixtureType::declaration() const { return *((IfcParse::entity*)IFC4_types[525]); } const IfcParse::entity& Ifc4::IfcLightFixtureType::Class() { return *((IfcParse::entity*)IFC4_types[525]); } Ifc4::IfcLightFixtureType::IfcLightFixtureType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4::IfcLightFixtureType::IfcLightFixtureType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcLightFixtureTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcLightFixtureType::IfcLightFixtureType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcLightFixtureTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLightIntensityDistribution -::Ifc4::IfcLightDistributionCurveEnum::Value Ifc4::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4::IfcLightDistributionCurveEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4::IfcLightDistributionCurveEnum::Value Ifc4::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4::IfcLightDistributionCurveEnum::FromString(get_attribute_value(0)); } void Ifc4::IfcLightIntensityDistribution::setLightDistributionCurve(::Ifc4::IfcLightDistributionCurveEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4::IfcLightDistributionCurveEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4::IfcLightDistributionData >::ptr Ifc4::IfcLightIntensityDistribution::DistributionData() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4::IfcLightDistributionData >(); } +aggregate_of< ::Ifc4::IfcLightDistributionData >::ptr Ifc4::IfcLightIntensityDistribution::DistributionData() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4::IfcLightDistributionData >(); } void Ifc4::IfcLightIntensityDistribution::setDistributionData(aggregate_of< ::Ifc4::IfcLightDistributionData >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcLightIntensityDistribution::declaration() const { return *((IfcParse::entity*)IFC4_types[527]); } const IfcParse::entity& Ifc4::IfcLightIntensityDistribution::Class() { return *((IfcParse::entity*)IFC4_types[527]); } Ifc4::IfcLightIntensityDistribution::IfcLightIntensityDistribution(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, aggregate_of< ::Ifc4::IfcLightDistributionData >::ptr v2_DistributionData) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, (v2_DistributionData)->generalize());; populate_derived(); } +Ifc4::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, aggregate_of< ::Ifc4::IfcLightDistributionData >::ptr v2_DistributionData) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, (v2_DistributionData)->generalize());; populate_derived(); } // Function implementations for IfcLightSource -boost::optional< std::string > Ifc4::IfcLightSource::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4::IfcLightSource::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4::IfcLightSource::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4::IfcColourRgb* Ifc4::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcColourRgb>(true); } +::Ifc4::IfcColourRgb* Ifc4::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcColourRgb>(true); } void Ifc4::IfcLightSource::setLightColour(::Ifc4::IfcColourRgb* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4::IfcLightSource::AmbientIntensity() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4::IfcLightSource::AmbientIntensity() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4::IfcLightSource::Intensity() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4::IfcLightSource::Intensity() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4::IfcLightSource::setIntensity(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4::IfcLightSource::declaration() const { return *((IfcParse::entity*)IFC4_types[528]); } const IfcParse::entity& Ifc4::IfcLightSource::Class() { return *((IfcParse::entity*)IFC4_types[528]); } Ifc4::IfcLightSource::IfcLightSource(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } +Ifc4::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } // Function implementations for IfcLightSourceAmbient @@ -10647,95 +10647,95 @@ Ifc4::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Name, ::I const IfcParse::entity& Ifc4::IfcLightSourceAmbient::declaration() const { return *((IfcParse::entity*)IFC4_types[529]); } const IfcParse::entity& Ifc4::IfcLightSourceAmbient::Class() { return *((IfcParse::entity*)IFC4_types[529]); } Ifc4::IfcLightSourceAmbient::IfcLightSourceAmbient(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4::IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcLightSource(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } +Ifc4::IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } // Function implementations for IfcLightSourceDirectional -::Ifc4::IfcDirection* Ifc4::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4::IfcDirection>(true); } +::Ifc4::IfcDirection* Ifc4::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcLightSourceDirectional::setOrientation(::Ifc4::IfcDirection* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4::IfcLightSourceDirectional::declaration() const { return *((IfcParse::entity*)IFC4_types[530]); } const IfcParse::entity& Ifc4::IfcLightSourceDirectional::Class() { return *((IfcParse::entity*)IFC4_types[530]); } Ifc4::IfcLightSourceDirectional::IfcLightSourceDirectional(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4::IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4::IfcDirection* v5_Orientation) : IfcLightSource(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Orientation ? v5_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4::IfcDirection* v5_Orientation) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Orientation ? v5_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLightSourceGoniometric -::Ifc4::IfcAxis2Placement3D* Ifc4::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4::IfcAxis2Placement3D>(true); } +::Ifc4::IfcAxis2Placement3D* Ifc4::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4::IfcAxis2Placement3D>(true); } void Ifc4::IfcLightSourceGoniometric::setPosition(::Ifc4::IfcAxis2Placement3D* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcColourRgb* Ifc4::IfcLightSourceGoniometric::ColourAppearance() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcColourRgb>(true); } +::Ifc4::IfcColourRgb* Ifc4::IfcLightSourceGoniometric::ColourAppearance() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcColourRgb>(true); } void Ifc4::IfcLightSourceGoniometric::setColourAppearance(::Ifc4::IfcColourRgb* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -double Ifc4::IfcLightSourceGoniometric::ColourTemperature() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4::IfcLightSourceGoniometric::ColourTemperature() const { double v = get_attribute_value(6); return v; } void Ifc4::IfcLightSourceGoniometric::setColourTemperature(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -double Ifc4::IfcLightSourceGoniometric::LuminousFlux() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4::IfcLightSourceGoniometric::LuminousFlux() const { double v = get_attribute_value(7); return v; } void Ifc4::IfcLightSourceGoniometric::setLuminousFlux(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc4::IfcLightEmissionSourceEnum::Value Ifc4::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4::IfcLightEmissionSourceEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4::IfcLightEmissionSourceEnum::Value Ifc4::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4::IfcLightEmissionSourceEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcLightSourceGoniometric::setLightEmissionSource(::Ifc4::IfcLightEmissionSourceEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4::IfcLightEmissionSourceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc4::IfcLightDistributionDataSourceSelect* Ifc4::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4::IfcLightDistributionDataSourceSelect>(true); } +::Ifc4::IfcLightDistributionDataSourceSelect* Ifc4::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4::IfcLightDistributionDataSourceSelect>(true); } void Ifc4::IfcLightSourceGoniometric::setLightDistributionDataSource(::Ifc4::IfcLightDistributionDataSourceSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcLightSourceGoniometric::declaration() const { return *((IfcParse::entity*)IFC4_types[531]); } const IfcParse::entity& Ifc4::IfcLightSourceGoniometric::Class() { return *((IfcParse::entity*)IFC4_types[531]); } Ifc4::IfcLightSourceGoniometric::IfcLightSourceGoniometric(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4::IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4::IfcAxis2Placement3D* v5_Position, ::Ifc4::IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4::IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource(IfcEntityInstanceData(storage_t(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ColourAppearance ? v6_ColourAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, v10_LightDistributionDataSource ? v10_LightDistributionDataSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4::IfcAxis2Placement3D* v5_Position, ::Ifc4::IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4::IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ColourAppearance ? v6_ColourAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, v10_LightDistributionDataSource ? v10_LightDistributionDataSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLightSourcePositional -::Ifc4::IfcCartesianPoint* Ifc4::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4::IfcCartesianPoint>(true); } +::Ifc4::IfcCartesianPoint* Ifc4::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4::IfcCartesianPoint>(true); } void Ifc4::IfcLightSourcePositional::setPosition(::Ifc4::IfcCartesianPoint* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -double Ifc4::IfcLightSourcePositional::Radius() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4::IfcLightSourcePositional::Radius() const { double v = get_attribute_value(5); return v; } void Ifc4::IfcLightSourcePositional::setRadius(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4::IfcLightSourcePositional::ConstantAttenuation() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4::IfcLightSourcePositional::ConstantAttenuation() const { double v = get_attribute_value(6); return v; } void Ifc4::IfcLightSourcePositional::setConstantAttenuation(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -double Ifc4::IfcLightSourcePositional::DistanceAttenuation() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4::IfcLightSourcePositional::DistanceAttenuation() const { double v = get_attribute_value(7); return v; } void Ifc4::IfcLightSourcePositional::setDistanceAttenuation(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -double Ifc4::IfcLightSourcePositional::QuadricAttenuation() const { double v = data_.get_attribute_value(8); return v; } +double Ifc4::IfcLightSourcePositional::QuadricAttenuation() const { double v = get_attribute_value(8); return v; } void Ifc4::IfcLightSourcePositional::setQuadricAttenuation(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4::IfcLightSourcePositional::declaration() const { return *((IfcParse::entity*)IFC4_types[532]); } const IfcParse::entity& Ifc4::IfcLightSourcePositional::Class() { return *((IfcParse::entity*)IFC4_types[532]); } Ifc4::IfcLightSourcePositional::IfcLightSourcePositional(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) : IfcLightSource(IfcEntityInstanceData(storage_t(9))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; populate_derived(); } +Ifc4::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; populate_derived(); } // Function implementations for IfcLightSourceSpot -::Ifc4::IfcDirection* Ifc4::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4::IfcDirection>(true); } +::Ifc4::IfcDirection* Ifc4::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcLightSourceSpot::setOrientation(::Ifc4::IfcDirection* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4::IfcLightSourceSpot::ConcentrationExponent() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4::IfcLightSourceSpot::ConcentrationExponent() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -double Ifc4::IfcLightSourceSpot::SpreadAngle() const { double v = data_.get_attribute_value(11); return v; } +double Ifc4::IfcLightSourceSpot::SpreadAngle() const { double v = get_attribute_value(11); return v; } void Ifc4::IfcLightSourceSpot::setSpreadAngle(double v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } -double Ifc4::IfcLightSourceSpot::BeamWidthAngle() const { double v = data_.get_attribute_value(12); return v; } +double Ifc4::IfcLightSourceSpot::BeamWidthAngle() const { double v = get_attribute_value(12); return v; } void Ifc4::IfcLightSourceSpot::setBeamWidthAngle(double v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } const IfcParse::entity& Ifc4::IfcLightSourceSpot::declaration() const { return *((IfcParse::entity*)IFC4_types[533]); } const IfcParse::entity& Ifc4::IfcLightSourceSpot::Class() { return *((IfcParse::entity*)IFC4_types[533]); } Ifc4::IfcLightSourceSpot::IfcLightSourceSpot(IfcEntityInstanceData&& e) : IfcLightSourcePositional(std::move(e)) { } -Ifc4::IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4::IfcDirection* v10_Orientation, boost::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) : IfcLightSourcePositional(IfcEntityInstanceData(storage_t(13))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, v10_Orientation ? v10_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; populate_derived(); } +Ifc4::IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< std::string > v1_Name, ::Ifc4::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4::IfcDirection* v10_Orientation, boost::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) : IfcLightSourcePositional(IfcEntityInstanceData(in_memory_attribute_storage(13))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, v10_Orientation ? v10_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; populate_derived(); } // Function implementations for IfcLine -::Ifc4::IfcCartesianPoint* Ifc4::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcCartesianPoint>(true); } +::Ifc4::IfcCartesianPoint* Ifc4::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcCartesianPoint>(true); } void Ifc4::IfcLine::setPnt(::Ifc4::IfcCartesianPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcVector* Ifc4::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcVector>(true); } +::Ifc4::IfcVector* Ifc4::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcVector>(true); } void Ifc4::IfcLine::setDir(::Ifc4::IfcVector* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcLine::declaration() const { return *((IfcParse::entity*)IFC4_types[534]); } const IfcParse::entity& Ifc4::IfcLine::Class() { return *((IfcParse::entity*)IFC4_types[534]); } Ifc4::IfcLine::IfcLine(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4::IfcLine::IfcLine(::Ifc4::IfcCartesianPoint* v1_Pnt, ::Ifc4::IfcVector* v2_Dir) : IfcCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Pnt ? v1_Pnt->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Dir ? v2_Dir->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcLine::IfcLine(::Ifc4::IfcCartesianPoint* v1_Pnt, ::Ifc4::IfcVector* v2_Dir) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Pnt ? v1_Pnt->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Dir ? v2_Dir->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLocalPlacement -::Ifc4::IfcObjectPlacement* Ifc4::IfcLocalPlacement::PlacementRelTo() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcObjectPlacement>(true); } +::Ifc4::IfcObjectPlacement* Ifc4::IfcLocalPlacement::PlacementRelTo() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcObjectPlacement>(true); } void Ifc4::IfcLocalPlacement::setPlacementRelTo(::Ifc4::IfcObjectPlacement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcAxis2Placement* Ifc4::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcAxis2Placement>(true); } +::Ifc4::IfcAxis2Placement* Ifc4::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcAxis2Placement>(true); } void Ifc4::IfcLocalPlacement::setRelativePlacement(::Ifc4::IfcAxis2Placement* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcLocalPlacement::declaration() const { return *((IfcParse::entity*)IFC4_types[541]); } const IfcParse::entity& Ifc4::IfcLocalPlacement::Class() { return *((IfcParse::entity*)IFC4_types[541]); } Ifc4::IfcLocalPlacement::IfcLocalPlacement(IfcEntityInstanceData&& e) : IfcObjectPlacement(std::move(e)) { } -Ifc4::IfcLocalPlacement::IfcLocalPlacement(::Ifc4::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4::IfcAxis2Placement* v2_RelativePlacement) : IfcObjectPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcLocalPlacement::IfcLocalPlacement(::Ifc4::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4::IfcAxis2Placement* v2_RelativePlacement) : IfcObjectPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLoop @@ -10743,56 +10743,56 @@ Ifc4::IfcLocalPlacement::IfcLocalPlacement(::Ifc4::IfcObjectPlacement* v1_Placem const IfcParse::entity& Ifc4::IfcLoop::declaration() const { return *((IfcParse::entity*)IFC4_types[544]); } const IfcParse::entity& Ifc4::IfcLoop::Class() { return *((IfcParse::entity*)IFC4_types[544]); } Ifc4::IfcLoop::IfcLoop(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4::IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4::IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcManifoldSolidBrep -::Ifc4::IfcClosedShell* Ifc4::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcClosedShell>(true); } +::Ifc4::IfcClosedShell* Ifc4::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcClosedShell>(true); } void Ifc4::IfcManifoldSolidBrep::setOuter(::Ifc4::IfcClosedShell* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4::IfcManifoldSolidBrep::declaration() const { return *((IfcParse::entity*)IFC4_types[551]); } const IfcParse::entity& Ifc4::IfcManifoldSolidBrep::Class() { return *((IfcParse::entity*)IFC4_types[551]); } Ifc4::IfcManifoldSolidBrep::IfcManifoldSolidBrep(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4::IfcManifoldSolidBrep::IfcManifoldSolidBrep(::Ifc4::IfcClosedShell* v1_Outer) : IfcSolidModel(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcManifoldSolidBrep::IfcManifoldSolidBrep(::Ifc4::IfcClosedShell* v1_Outer) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMapConversion -double Ifc4::IfcMapConversion::Eastings() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4::IfcMapConversion::Eastings() const { double v = get_attribute_value(2); return v; } void Ifc4::IfcMapConversion::setEastings(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4::IfcMapConversion::Northings() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4::IfcMapConversion::Northings() const { double v = get_attribute_value(3); return v; } void Ifc4::IfcMapConversion::setNorthings(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4::IfcMapConversion::OrthogonalHeight() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4::IfcMapConversion::OrthogonalHeight() const { double v = get_attribute_value(4); return v; } void Ifc4::IfcMapConversion::setOrthogonalHeight(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< double > Ifc4::IfcMapConversion::XAxisAbscissa() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4::IfcMapConversion::XAxisAbscissa() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4::IfcMapConversion::setXAxisAbscissa(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4::IfcMapConversion::XAxisOrdinate() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4::IfcMapConversion::XAxisOrdinate() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4::IfcMapConversion::setXAxisOrdinate(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4::IfcMapConversion::Scale() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4::IfcMapConversion::Scale() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4::IfcMapConversion::setScale(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4::IfcMapConversion::declaration() const { return *((IfcParse::entity*)IFC4_types[552]); } const IfcParse::entity& Ifc4::IfcMapConversion::Class() { return *((IfcParse::entity*)IFC4_types[552]); } Ifc4::IfcMapConversion::IfcMapConversion(IfcEntityInstanceData&& e) : IfcCoordinateOperation(std::move(e)) { } -Ifc4::IfcMapConversion::IfcMapConversion(::Ifc4::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4::IfcCoordinateReferenceSystem* v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, boost::optional< double > v6_XAxisAbscissa, boost::optional< double > v7_XAxisOrdinate, boost::optional< double > v8_Scale) : IfcCoordinateOperation(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); }; populate_derived(); } +Ifc4::IfcMapConversion::IfcMapConversion(::Ifc4::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4::IfcCoordinateReferenceSystem* v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, boost::optional< double > v6_XAxisAbscissa, boost::optional< double > v7_XAxisOrdinate, boost::optional< double > v8_Scale) : IfcCoordinateOperation(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); }; populate_derived(); } // Function implementations for IfcMappedItem -::Ifc4::IfcRepresentationMap* Ifc4::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcRepresentationMap>(true); } +::Ifc4::IfcRepresentationMap* Ifc4::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcRepresentationMap>(true); } void Ifc4::IfcMappedItem::setMappingSource(::Ifc4::IfcRepresentationMap* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcCartesianTransformationOperator* Ifc4::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcCartesianTransformationOperator>(true); } +::Ifc4::IfcCartesianTransformationOperator* Ifc4::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcCartesianTransformationOperator>(true); } void Ifc4::IfcMappedItem::setMappingTarget(::Ifc4::IfcCartesianTransformationOperator* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcMappedItem::declaration() const { return *((IfcParse::entity*)IFC4_types[553]); } const IfcParse::entity& Ifc4::IfcMappedItem::Class() { return *((IfcParse::entity*)IFC4_types[553]); } Ifc4::IfcMappedItem::IfcMappedItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4::IfcMappedItem::IfcMappedItem(::Ifc4::IfcRepresentationMap* v1_MappingSource, ::Ifc4::IfcCartesianTransformationOperator* v2_MappingTarget) : IfcRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_MappingSource ? v1_MappingSource->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappingTarget ? v2_MappingTarget->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcMappedItem::IfcMappedItem(::Ifc4::IfcRepresentationMap* v1_MappingSource, ::Ifc4::IfcCartesianTransformationOperator* v2_MappingTarget) : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_MappingSource ? v1_MappingSource->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappingTarget ? v2_MappingTarget->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterial -std::string Ifc4::IfcMaterial::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4::IfcMaterial::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4::IfcMaterial::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4::IfcMaterial::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4::IfcMaterial::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcMaterial::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4::IfcMaterial::Category() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4::IfcMaterial::Category() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4::IfcMaterial::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4::IfcMaterialDefinitionRepresentation::list::ptr Ifc4::IfcMaterial::HasRepresentation() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[563], 3)->as(); } @@ -10802,30 +10802,30 @@ void Ifc4::IfcMaterial::setCategory(boost::optional< std::string > v) { if (v) { const IfcParse::entity& Ifc4::IfcMaterial::declaration() const { return *((IfcParse::entity*)IFC4_types[558]); } const IfcParse::entity& Ifc4::IfcMaterial::Class() { return *((IfcParse::entity*)IFC4_types[558]); } Ifc4::IfcMaterial::IfcMaterial(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); }; populate_derived(); } +Ifc4::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); }; populate_derived(); } // Function implementations for IfcMaterialClassificationRelationship -aggregate_of< ::Ifc4::IfcClassificationSelect >::ptr Ifc4::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4::IfcClassificationSelect >(); } +aggregate_of< ::Ifc4::IfcClassificationSelect >::ptr Ifc4::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4::IfcClassificationSelect >(); } void Ifc4::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4::IfcClassificationSelect >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcMaterial* Ifc4::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcMaterial>(true); } +::Ifc4::IfcMaterial* Ifc4::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcMaterial>(true); } void Ifc4::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4::IfcMaterial* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcMaterialClassificationRelationship::declaration() const { return *((IfcParse::entity*)IFC4_types[559]); } const IfcParse::entity& Ifc4::IfcMaterialClassificationRelationship::Class() { return *((IfcParse::entity*)IFC4_types[559]); } Ifc4::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_MaterialClassifications)->generalize());set_attribute_value(1, v2_ClassifiedMaterial ? v2_ClassifiedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_MaterialClassifications)->generalize());set_attribute_value(1, v2_ClassifiedMaterial ? v2_ClassifiedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialConstituent -boost::optional< std::string > Ifc4::IfcMaterialConstituent::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4::IfcMaterialConstituent::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4::IfcMaterialConstituent::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4::IfcMaterialConstituent::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4::IfcMaterialConstituent::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcMaterialConstituent::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4::IfcMaterial* Ifc4::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcMaterial>(true); } +::Ifc4::IfcMaterial* Ifc4::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcMaterial>(true); } void Ifc4::IfcMaterialConstituent::setMaterial(::Ifc4::IfcMaterial* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4::IfcMaterialConstituent::Fraction() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4::IfcMaterialConstituent::Fraction() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4::IfcMaterialConstituent::setFraction(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4::IfcMaterialConstituent::Category() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4::IfcMaterialConstituent::Category() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcMaterialConstituent::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } ::Ifc4::IfcMaterialConstituentSet::list::ptr Ifc4::IfcMaterialConstituent::ToMaterialConstituentSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[561], 2)->as(); } @@ -10833,21 +10833,21 @@ void Ifc4::IfcMaterialConstituent::setCategory(boost::optional< std::string > v) const IfcParse::entity& Ifc4::IfcMaterialConstituent::declaration() const { return *((IfcParse::entity*)IFC4_types[560]); } const IfcParse::entity& Ifc4::IfcMaterialConstituent::Class() { return *((IfcParse::entity*)IFC4_types[560]); } Ifc4::IfcMaterialConstituent::IfcMaterialConstituent(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4::IfcMaterialConstituent::IfcMaterialConstituent(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcMaterial* v3_Material, boost::optional< double > v4_Fraction, boost::optional< std::string > v5_Category) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); }; populate_derived(); } +Ifc4::IfcMaterialConstituent::IfcMaterialConstituent(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcMaterial* v3_Material, boost::optional< double > v4_Fraction, boost::optional< std::string > v5_Category) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); }; populate_derived(); } // Function implementations for IfcMaterialConstituentSet -boost::optional< std::string > Ifc4::IfcMaterialConstituentSet::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4::IfcMaterialConstituentSet::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4::IfcMaterialConstituentSet::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4::IfcMaterialConstituentSet::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4::IfcMaterialConstituentSet::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcMaterialConstituentSet::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< aggregate_of< ::Ifc4::IfcMaterialConstituent >::ptr > Ifc4::IfcMaterialConstituentSet::MaterialConstituents() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4::IfcMaterialConstituent >(); } +boost::optional< aggregate_of< ::Ifc4::IfcMaterialConstituent >::ptr > Ifc4::IfcMaterialConstituentSet::MaterialConstituents() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4::IfcMaterialConstituent >(); } void Ifc4::IfcMaterialConstituentSet::setMaterialConstituents(boost::optional< aggregate_of< ::Ifc4::IfcMaterialConstituent >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4::IfcMaterialConstituentSet::declaration() const { return *((IfcParse::entity*)IFC4_types[561]); } const IfcParse::entity& Ifc4::IfcMaterialConstituentSet::Class() { return *((IfcParse::entity*)IFC4_types[561]); } Ifc4::IfcMaterialConstituentSet::IfcMaterialConstituentSet(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4::IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4::IfcMaterialConstituent >::ptr > v3_MaterialConstituents) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, (*v3_MaterialConstituents)->generalize()); }; populate_derived(); } +Ifc4::IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4::IfcMaterialConstituent >::ptr > v3_MaterialConstituents) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, (*v3_MaterialConstituents)->generalize()); }; populate_derived(); } // Function implementations for IfcMaterialDefinition @@ -10858,32 +10858,32 @@ Ifc4::IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional< std: const IfcParse::entity& Ifc4::IfcMaterialDefinition::declaration() const { return *((IfcParse::entity*)IFC4_types[562]); } const IfcParse::entity& Ifc4::IfcMaterialDefinition::Class() { return *((IfcParse::entity*)IFC4_types[562]); } Ifc4::IfcMaterialDefinition::IfcMaterialDefinition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcMaterialDefinition::IfcMaterialDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4::IfcMaterialDefinition::IfcMaterialDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcMaterialDefinitionRepresentation -::Ifc4::IfcMaterial* Ifc4::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4::IfcMaterial>(true); } +::Ifc4::IfcMaterial* Ifc4::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4::IfcMaterial>(true); } void Ifc4::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(::Ifc4::IfcMaterial* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4::IfcMaterialDefinitionRepresentation::declaration() const { return *((IfcParse::entity*)IFC4_types[563]); } const IfcParse::entity& Ifc4::IfcMaterialDefinitionRepresentation::Class() { return *((IfcParse::entity*)IFC4_types[563]); } Ifc4::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(IfcEntityInstanceData&& e) : IfcProductRepresentation(std::move(e)) { } -Ifc4::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcRepresentation >::ptr v3_Representations, ::Ifc4::IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());set_attribute_value(3, v4_RepresentedMaterial ? v4_RepresentedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcRepresentation >::ptr v3_Representations, ::Ifc4::IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());set_attribute_value(3, v4_RepresentedMaterial ? v4_RepresentedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialLayer -::Ifc4::IfcMaterial* Ifc4::IfcMaterialLayer::Material() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcMaterial>(true); } +::Ifc4::IfcMaterial* Ifc4::IfcMaterialLayer::Material() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcMaterial>(true); } void Ifc4::IfcMaterialLayer::setMaterial(::Ifc4::IfcMaterial* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4::IfcMaterialLayer::LayerThickness() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4::IfcMaterialLayer::LayerThickness() const { double v = get_attribute_value(1); return v; } void Ifc4::IfcMaterialLayer::setLayerThickness(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< boost::logic::tribool > Ifc4::IfcMaterialLayer::IsVentilated() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::optional< boost::logic::tribool > Ifc4::IfcMaterialLayer::IsVentilated() const { if(get_attribute_value(2).isNull()) { return boost::none; } boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4::IfcMaterialLayer::setIsVentilated(boost::optional< boost::logic::tribool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4::IfcMaterialLayer::Name() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4::IfcMaterialLayer::Name() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4::IfcMaterialLayer::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4::IfcMaterialLayer::Description() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4::IfcMaterialLayer::Description() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcMaterialLayer::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4::IfcMaterialLayer::Category() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4::IfcMaterialLayer::Category() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcMaterialLayer::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< int > Ifc4::IfcMaterialLayer::Priority() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } int v = data_.get_attribute_value(6); return v; } +boost::optional< int > Ifc4::IfcMaterialLayer::Priority() const { if(get_attribute_value(6).isNull()) { return boost::none; } int v = get_attribute_value(6); return v; } void Ifc4::IfcMaterialLayer::setPriority(boost::optional< int > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4::IfcMaterialLayerSet::list::ptr Ifc4::IfcMaterialLayer::ToMaterialLayerSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[565], 0)->as(); } @@ -10891,74 +10891,74 @@ void Ifc4::IfcMaterialLayer::setPriority(boost::optional< int > v) { if (v) {set const IfcParse::entity& Ifc4::IfcMaterialLayer::declaration() const { return *((IfcParse::entity*)IFC4_types[564]); } const IfcParse::entity& Ifc4::IfcMaterialLayer::Class() { return *((IfcParse::entity*)IFC4_types[564]); } Ifc4::IfcMaterialLayer::IfcMaterialLayer(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4::IfcMaterialLayer::IfcMaterialLayer(::Ifc4::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(storage_t(7))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }; populate_derived(); } +Ifc4::IfcMaterialLayer::IfcMaterialLayer(::Ifc4::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(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }; populate_derived(); } // Function implementations for IfcMaterialLayerSet -aggregate_of< ::Ifc4::IfcMaterialLayer >::ptr Ifc4::IfcMaterialLayerSet::MaterialLayers() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4::IfcMaterialLayer >(); } +aggregate_of< ::Ifc4::IfcMaterialLayer >::ptr Ifc4::IfcMaterialLayerSet::MaterialLayers() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4::IfcMaterialLayer >(); } void Ifc4::IfcMaterialLayerSet::setMaterialLayers(aggregate_of< ::Ifc4::IfcMaterialLayer >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4::IfcMaterialLayerSet::LayerSetName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4::IfcMaterialLayerSet::LayerSetName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcMaterialLayerSet::setLayerSetName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4::IfcMaterialLayerSet::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4::IfcMaterialLayerSet::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4::IfcMaterialLayerSet::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4::IfcMaterialLayerSet::declaration() const { return *((IfcParse::entity*)IFC4_types[565]); } const IfcParse::entity& Ifc4::IfcMaterialLayerSet::Class() { return *((IfcParse::entity*)IFC4_types[565]); } Ifc4::IfcMaterialLayerSet::IfcMaterialLayerSet(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4::IfcMaterialLayerSet::IfcMaterialLayerSet(aggregate_of< ::Ifc4::IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName, boost::optional< std::string > v3_Description) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_MaterialLayers)->generalize()); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } +Ifc4::IfcMaterialLayerSet::IfcMaterialLayerSet(aggregate_of< ::Ifc4::IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName, boost::optional< std::string > v3_Description) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_MaterialLayers)->generalize()); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } // Function implementations for IfcMaterialLayerSetUsage -::Ifc4::IfcMaterialLayerSet* Ifc4::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcMaterialLayerSet>(true); } +::Ifc4::IfcMaterialLayerSet* Ifc4::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcMaterialLayerSet>(true); } void Ifc4::IfcMaterialLayerSetUsage::setForLayerSet(::Ifc4::IfcMaterialLayerSet* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcLayerSetDirectionEnum::Value Ifc4::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4::IfcLayerSetDirectionEnum::FromString(data_.get_attribute_value(1)); } +::Ifc4::IfcLayerSetDirectionEnum::Value Ifc4::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4::IfcLayerSetDirectionEnum::FromString(get_attribute_value(1)); } void Ifc4::IfcMaterialLayerSetUsage::setLayerSetDirection(::Ifc4::IfcLayerSetDirectionEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4::IfcLayerSetDirectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -::Ifc4::IfcDirectionSenseEnum::Value Ifc4::IfcMaterialLayerSetUsage::DirectionSense() const { return ::Ifc4::IfcDirectionSenseEnum::FromString(data_.get_attribute_value(2)); } +::Ifc4::IfcDirectionSenseEnum::Value Ifc4::IfcMaterialLayerSetUsage::DirectionSense() const { return ::Ifc4::IfcDirectionSenseEnum::FromString(get_attribute_value(2)); } void Ifc4::IfcMaterialLayerSetUsage::setDirectionSense(::Ifc4::IfcDirectionSenseEnum::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4::IfcDirectionSenseEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -double Ifc4::IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4::IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { double v = get_attribute_value(3); return v; } void Ifc4::IfcMaterialLayerSetUsage::setOffsetFromReferenceLine(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< double > Ifc4::IfcMaterialLayerSetUsage::ReferenceExtent() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4::IfcMaterialLayerSetUsage::ReferenceExtent() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4::IfcMaterialLayerSetUsage::setReferenceExtent(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4::IfcMaterialLayerSetUsage::declaration() const { return *((IfcParse::entity*)IFC4_types[566]); } const IfcParse::entity& Ifc4::IfcMaterialLayerSetUsage::Class() { return *((IfcParse::entity*)IFC4_types[566]); } Ifc4::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(IfcEntityInstanceData&& e) : IfcMaterialUsageDefinition(std::move(e)) { } -Ifc4::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(::Ifc4::IfcMaterialLayerSet* v1_ForLayerSet, ::Ifc4::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, boost::optional< double > v5_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_ForLayerSet ? v1_ForLayerSet->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (EnumerationReference(&::Ifc4::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); }; populate_derived(); } +Ifc4::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(::Ifc4::IfcMaterialLayerSet* v1_ForLayerSet, ::Ifc4::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, boost::optional< double > v5_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_ForLayerSet ? v1_ForLayerSet->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (EnumerationReference(&::Ifc4::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); }; populate_derived(); } // Function implementations for IfcMaterialLayerWithOffsets -::Ifc4::IfcLayerSetDirectionEnum::Value Ifc4::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4::IfcLayerSetDirectionEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4::IfcLayerSetDirectionEnum::Value Ifc4::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4::IfcLayerSetDirectionEnum::FromString(get_attribute_value(7)); } void Ifc4::IfcMaterialLayerWithOffsets::setOffsetDirection(::Ifc4::IfcLayerSetDirectionEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4::IfcLayerSetDirectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -std::vector< double > /*[1:2]*/ Ifc4::IfcMaterialLayerWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = data_.get_attribute_value(8); return v; } +std::vector< double > /*[1:2]*/ Ifc4::IfcMaterialLayerWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = get_attribute_value(8); return v; } void Ifc4::IfcMaterialLayerWithOffsets::setOffsetValues(std::vector< double > /*[1:2]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4::IfcMaterialLayerWithOffsets::declaration() const { return *((IfcParse::entity*)IFC4_types[567]); } const IfcParse::entity& Ifc4::IfcMaterialLayerWithOffsets::Class() { return *((IfcParse::entity*)IFC4_types[567]); } Ifc4::IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(IfcEntityInstanceData&& e) : IfcMaterialLayer(std::move(e)) { } -Ifc4::IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(::Ifc4::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, ::Ifc4::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) : IfcMaterialLayer(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues));; populate_derived(); } +Ifc4::IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(::Ifc4::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, ::Ifc4::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) : IfcMaterialLayer(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues));; populate_derived(); } // Function implementations for IfcMaterialList -aggregate_of< ::Ifc4::IfcMaterial >::ptr Ifc4::IfcMaterialList::Materials() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4::IfcMaterial >(); } +aggregate_of< ::Ifc4::IfcMaterial >::ptr Ifc4::IfcMaterialList::Materials() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4::IfcMaterial >(); } void Ifc4::IfcMaterialList::setMaterials(aggregate_of< ::Ifc4::IfcMaterial >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4::IfcMaterialList::declaration() const { return *((IfcParse::entity*)IFC4_types[568]); } const IfcParse::entity& Ifc4::IfcMaterialList::Class() { return *((IfcParse::entity*)IFC4_types[568]); } Ifc4::IfcMaterialList::IfcMaterialList(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcMaterialList::IfcMaterialList(aggregate_of< ::Ifc4::IfcMaterial >::ptr v1_Materials) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Materials)->generalize());; populate_derived(); } +Ifc4::IfcMaterialList::IfcMaterialList(aggregate_of< ::Ifc4::IfcMaterial >::ptr v1_Materials) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Materials)->generalize());; populate_derived(); } // Function implementations for IfcMaterialProfile -boost::optional< std::string > Ifc4::IfcMaterialProfile::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4::IfcMaterialProfile::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4::IfcMaterialProfile::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4::IfcMaterialProfile::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4::IfcMaterialProfile::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcMaterialProfile::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4::IfcMaterial* Ifc4::IfcMaterialProfile::Material() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcMaterial>(true); } +::Ifc4::IfcMaterial* Ifc4::IfcMaterialProfile::Material() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcMaterial>(true); } void Ifc4::IfcMaterialProfile::setMaterial(::Ifc4::IfcMaterial* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcProfileDef* Ifc4::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4::IfcProfileDef>(true); } +::Ifc4::IfcProfileDef* Ifc4::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4::IfcProfileDef>(true); } void Ifc4::IfcMaterialProfile::setProfile(::Ifc4::IfcProfileDef* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< int > Ifc4::IfcMaterialProfile::Priority() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4::IfcMaterialProfile::Priority() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4::IfcMaterialProfile::setPriority(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4::IfcMaterialProfile::Category() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4::IfcMaterialProfile::Category() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcMaterialProfile::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4::IfcMaterialProfileSet::list::ptr Ifc4::IfcMaterialProfile::ToMaterialProfileSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[570], 2)->as(); } @@ -10966,83 +10966,83 @@ void Ifc4::IfcMaterialProfile::setCategory(boost::optional< std::string > v) { i const IfcParse::entity& Ifc4::IfcMaterialProfile::declaration() const { return *((IfcParse::entity*)IFC4_types[569]); } const IfcParse::entity& Ifc4::IfcMaterialProfile::Class() { return *((IfcParse::entity*)IFC4_types[569]); } Ifc4::IfcMaterialProfile::IfcMaterialProfile(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4::IfcMaterialProfile::IfcMaterialProfile(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcMaterial* v3_Material, ::Ifc4::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }; populate_derived(); } +Ifc4::IfcMaterialProfile::IfcMaterialProfile(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcMaterial* v3_Material, ::Ifc4::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }; populate_derived(); } // Function implementations for IfcMaterialProfileSet -boost::optional< std::string > Ifc4::IfcMaterialProfileSet::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4::IfcMaterialProfileSet::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4::IfcMaterialProfileSet::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4::IfcMaterialProfileSet::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4::IfcMaterialProfileSet::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcMaterialProfileSet::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4::IfcMaterialProfile >::ptr Ifc4::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4::IfcMaterialProfile >(); } +aggregate_of< ::Ifc4::IfcMaterialProfile >::ptr Ifc4::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4::IfcMaterialProfile >(); } void Ifc4::IfcMaterialProfileSet::setMaterialProfiles(aggregate_of< ::Ifc4::IfcMaterialProfile >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcCompositeProfileDef* Ifc4::IfcMaterialProfileSet::CompositeProfile() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4::IfcCompositeProfileDef>(true); } +::Ifc4::IfcCompositeProfileDef* Ifc4::IfcMaterialProfileSet::CompositeProfile() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4::IfcCompositeProfileDef>(true); } void Ifc4::IfcMaterialProfileSet::setCompositeProfile(::Ifc4::IfcCompositeProfileDef* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4::IfcMaterialProfileSet::declaration() const { return *((IfcParse::entity*)IFC4_types[570]); } const IfcParse::entity& Ifc4::IfcMaterialProfileSet::Class() { return *((IfcParse::entity*)IFC4_types[570]); } Ifc4::IfcMaterialProfileSet::IfcMaterialProfileSet(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4::IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcMaterialProfile >::ptr v3_MaterialProfiles, ::Ifc4::IfcCompositeProfileDef* v4_CompositeProfile) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_MaterialProfiles)->generalize());set_attribute_value(3, v4_CompositeProfile ? v4_CompositeProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcMaterialProfile >::ptr v3_MaterialProfiles, ::Ifc4::IfcCompositeProfileDef* v4_CompositeProfile) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_MaterialProfiles)->generalize());set_attribute_value(3, v4_CompositeProfile ? v4_CompositeProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialProfileSetUsage -::Ifc4::IfcMaterialProfileSet* Ifc4::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcMaterialProfileSet>(true); } +::Ifc4::IfcMaterialProfileSet* Ifc4::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcMaterialProfileSet>(true); } void Ifc4::IfcMaterialProfileSetUsage::setForProfileSet(::Ifc4::IfcMaterialProfileSet* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< int > Ifc4::IfcMaterialProfileSetUsage::CardinalPoint() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } int v = data_.get_attribute_value(1); return v; } +boost::optional< int > Ifc4::IfcMaterialProfileSetUsage::CardinalPoint() const { if(get_attribute_value(1).isNull()) { return boost::none; } int v = get_attribute_value(1); return v; } void Ifc4::IfcMaterialProfileSetUsage::setCardinalPoint(boost::optional< int > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4::IfcMaterialProfileSetUsage::ReferenceExtent() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4::IfcMaterialProfileSetUsage::ReferenceExtent() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4::IfcMaterialProfileSetUsage::setReferenceExtent(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4::IfcMaterialProfileSetUsage::declaration() const { return *((IfcParse::entity*)IFC4_types[571]); } const IfcParse::entity& Ifc4::IfcMaterialProfileSetUsage::Class() { return *((IfcParse::entity*)IFC4_types[571]); } Ifc4::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(IfcEntityInstanceData&& e) : IfcMaterialUsageDefinition(std::move(e)) { } -Ifc4::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }; populate_derived(); } +Ifc4::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }; populate_derived(); } // Function implementations for IfcMaterialProfileSetUsageTapering -::Ifc4::IfcMaterialProfileSet* Ifc4::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4::IfcMaterialProfileSet>(true); } +::Ifc4::IfcMaterialProfileSet* Ifc4::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4::IfcMaterialProfileSet>(true); } void Ifc4::IfcMaterialProfileSetUsageTapering::setForProfileEndSet(::Ifc4::IfcMaterialProfileSet* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< int > Ifc4::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4::IfcMaterialProfileSetUsageTapering::declaration() const { return *((IfcParse::entity*)IFC4_types[572]); } const IfcParse::entity& Ifc4::IfcMaterialProfileSetUsageTapering::Class() { return *((IfcParse::entity*)IFC4_types[572]); } Ifc4::IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(IfcEntityInstanceData&& e) : IfcMaterialProfileSetUsage(std::move(e)) { } -Ifc4::IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(::Ifc4::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent, ::Ifc4::IfcMaterialProfileSet* v4_ForProfileEndSet, boost::optional< int > v5_CardinalEndPoint) : IfcMaterialProfileSetUsage(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, v4_ForProfileEndSet ? v4_ForProfileEndSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); }; populate_derived(); } +Ifc4::IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(::Ifc4::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent, ::Ifc4::IfcMaterialProfileSet* v4_ForProfileEndSet, boost::optional< int > v5_CardinalEndPoint) : IfcMaterialProfileSetUsage(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, v4_ForProfileEndSet ? v4_ForProfileEndSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); }; populate_derived(); } // Function implementations for IfcMaterialProfileWithOffsets -std::vector< double > /*[1:2]*/ Ifc4::IfcMaterialProfileWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = data_.get_attribute_value(6); return v; } +std::vector< double > /*[1:2]*/ Ifc4::IfcMaterialProfileWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = get_attribute_value(6); return v; } void Ifc4::IfcMaterialProfileWithOffsets::setOffsetValues(std::vector< double > /*[1:2]*/ v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4::IfcMaterialProfileWithOffsets::declaration() const { return *((IfcParse::entity*)IFC4_types[573]); } const IfcParse::entity& Ifc4::IfcMaterialProfileWithOffsets::Class() { return *((IfcParse::entity*)IFC4_types[573]); } Ifc4::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(IfcEntityInstanceData&& e) : IfcMaterialProfile(std::move(e)) { } -Ifc4::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcMaterial* v3_Material, ::Ifc4::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) : IfcMaterialProfile(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues));; populate_derived(); } +Ifc4::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcMaterial* v3_Material, ::Ifc4::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) : IfcMaterialProfile(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues));; populate_derived(); } // Function implementations for IfcMaterialProperties -::Ifc4::IfcMaterialDefinition* Ifc4::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4::IfcMaterialDefinition>(true); } +::Ifc4::IfcMaterialDefinition* Ifc4::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4::IfcMaterialDefinition>(true); } void Ifc4::IfcMaterialProperties::setMaterial(::Ifc4::IfcMaterialDefinition* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4::IfcMaterialProperties::declaration() const { return *((IfcParse::entity*)IFC4_types[574]); } const IfcParse::entity& Ifc4::IfcMaterialProperties::Class() { return *((IfcParse::entity*)IFC4_types[574]); } Ifc4::IfcMaterialProperties::IfcMaterialProperties(IfcEntityInstanceData&& e) : IfcExtendedProperties(std::move(e)) { } -Ifc4::IfcMaterialProperties::IfcMaterialProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcProperty >::ptr v3_Properties, ::Ifc4::IfcMaterialDefinition* v4_Material) : IfcExtendedProperties(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_Material ? v4_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcMaterialProperties::IfcMaterialProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcProperty >::ptr v3_Properties, ::Ifc4::IfcMaterialDefinition* v4_Material) : IfcExtendedProperties(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_Material ? v4_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialRelationship -::Ifc4::IfcMaterial* Ifc4::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcMaterial>(true); } +::Ifc4::IfcMaterial* Ifc4::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcMaterial>(true); } void Ifc4::IfcMaterialRelationship::setRelatingMaterial(::Ifc4::IfcMaterial* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4::IfcMaterial >::ptr Ifc4::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4::IfcMaterial >(); } +aggregate_of< ::Ifc4::IfcMaterial >::ptr Ifc4::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4::IfcMaterial >(); } void Ifc4::IfcMaterialRelationship::setRelatedMaterials(aggregate_of< ::Ifc4::IfcMaterial >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4::IfcMaterialRelationship::Expression() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4::IfcMaterialRelationship::Expression() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcMaterialRelationship::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4::IfcMaterialRelationship::declaration() const { return *((IfcParse::entity*)IFC4_types[575]); } const IfcParse::entity& Ifc4::IfcMaterialRelationship::Class() { return *((IfcParse::entity*)IFC4_types[575]); } Ifc4::IfcMaterialRelationship::IfcMaterialRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4::IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcMaterial* v3_RelatingMaterial, aggregate_of< ::Ifc4::IfcMaterial >::ptr v4_RelatedMaterials, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMaterial ? v3_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedMaterials)->generalize()); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } +Ifc4::IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcMaterial* v3_RelatingMaterial, aggregate_of< ::Ifc4::IfcMaterial >::ptr v4_RelatedMaterials, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMaterial ? v3_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedMaterials)->generalize()); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } // Function implementations for IfcMaterialUsageDefinition @@ -11051,77 +11051,77 @@ Ifc4::IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< std::str const IfcParse::entity& Ifc4::IfcMaterialUsageDefinition::declaration() const { return *((IfcParse::entity*)IFC4_types[577]); } const IfcParse::entity& Ifc4::IfcMaterialUsageDefinition::Class() { return *((IfcParse::entity*)IFC4_types[577]); } Ifc4::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcMeasureWithUnit -::Ifc4::IfcValue* Ifc4::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcValue>(true); } +::Ifc4::IfcValue* Ifc4::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcValue>(true); } void Ifc4::IfcMeasureWithUnit::setValueComponent(::Ifc4::IfcValue* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcUnit* Ifc4::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcUnit>(true); } +::Ifc4::IfcUnit* Ifc4::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcMeasureWithUnit::setUnitComponent(::Ifc4::IfcUnit* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcMeasureWithUnit::declaration() const { return *((IfcParse::entity*)IFC4_types[579]); } const IfcParse::entity& Ifc4::IfcMeasureWithUnit::Class() { return *((IfcParse::entity*)IFC4_types[579]); } Ifc4::IfcMeasureWithUnit::IfcMeasureWithUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcMeasureWithUnit::IfcMeasureWithUnit(::Ifc4::IfcValue* v1_ValueComponent, ::Ifc4::IfcUnit* v2_UnitComponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_ValueComponent ? v1_ValueComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_UnitComponent ? v2_UnitComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcMeasureWithUnit::IfcMeasureWithUnit(::Ifc4::IfcValue* v1_ValueComponent, ::Ifc4::IfcUnit* v2_UnitComponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_ValueComponent ? v1_ValueComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_UnitComponent ? v2_UnitComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMechanicalFastener -boost::optional< double > Ifc4::IfcMechanicalFastener::NominalDiameter() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4::IfcMechanicalFastener::NominalDiameter() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4::IfcMechanicalFastener::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4::IfcMechanicalFastener::NominalLength() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4::IfcMechanicalFastener::NominalLength() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4::IfcMechanicalFastener::setNominalLength(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4::IfcMechanicalFastenerTypeEnum::Value > Ifc4::IfcMechanicalFastener::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4::IfcMechanicalFastenerTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4::IfcMechanicalFastenerTypeEnum::Value > Ifc4::IfcMechanicalFastener::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4::IfcMechanicalFastenerTypeEnum::FromString(get_attribute_value(10)); } void Ifc4::IfcMechanicalFastener::setPredefinedType(boost::optional< ::Ifc4::IfcMechanicalFastenerTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4::IfcMechanicalFastenerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4::IfcMechanicalFastener::declaration() const { return *((IfcParse::entity*)IFC4_types[580]); } const IfcParse::entity& Ifc4::IfcMechanicalFastener::Class() { return *((IfcParse::entity*)IFC4_types[580]); } Ifc4::IfcMechanicalFastener::IfcMechanicalFastener(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4::IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength, boost::optional< ::Ifc4::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4::IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength, boost::optional< ::Ifc4::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMechanicalFastenerType -::Ifc4::IfcMechanicalFastenerTypeEnum::Value Ifc4::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4::IfcMechanicalFastenerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcMechanicalFastenerTypeEnum::Value Ifc4::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4::IfcMechanicalFastenerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcMechanicalFastenerType::setPredefinedType(::Ifc4::IfcMechanicalFastenerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcMechanicalFastenerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4::IfcMechanicalFastenerType::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4::IfcMechanicalFastenerType::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4::IfcMechanicalFastenerType::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4::IfcMechanicalFastenerType::NominalLength() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4::IfcMechanicalFastenerType::NominalLength() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4::IfcMechanicalFastenerType::setNominalLength(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4::IfcMechanicalFastenerType::declaration() const { return *((IfcParse::entity*)IFC4_types[581]); } const IfcParse::entity& Ifc4::IfcMechanicalFastenerType::Class() { return *((IfcParse::entity*)IFC4_types[581]); } Ifc4::IfcMechanicalFastenerType::IfcMechanicalFastenerType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4::IfcMechanicalFastenerType::IfcMechanicalFastenerType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_NominalLength) : IfcElementComponentType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); }; populate_derived(); } +Ifc4::IfcMechanicalFastenerType::IfcMechanicalFastenerType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_NominalLength) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); }; populate_derived(); } // Function implementations for IfcMedicalDevice -boost::optional< ::Ifc4::IfcMedicalDeviceTypeEnum::Value > Ifc4::IfcMedicalDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcMedicalDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcMedicalDeviceTypeEnum::Value > Ifc4::IfcMedicalDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcMedicalDevice::setPredefinedType(boost::optional< ::Ifc4::IfcMedicalDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcMedicalDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcMedicalDevice::declaration() const { return *((IfcParse::entity*)IFC4_types[583]); } const IfcParse::entity& Ifc4::IfcMedicalDevice::Class() { return *((IfcParse::entity*)IFC4_types[583]); } Ifc4::IfcMedicalDevice::IfcMedicalDevice(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4::IfcMedicalDevice::IfcMedicalDevice(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcMedicalDevice::IfcMedicalDevice(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMedicalDeviceType -::Ifc4::IfcMedicalDeviceTypeEnum::Value Ifc4::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4::IfcMedicalDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcMedicalDeviceTypeEnum::Value Ifc4::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcMedicalDeviceType::setPredefinedType(::Ifc4::IfcMedicalDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcMedicalDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcMedicalDeviceType::declaration() const { return *((IfcParse::entity*)IFC4_types[584]); } const IfcParse::entity& Ifc4::IfcMedicalDeviceType::Class() { return *((IfcParse::entity*)IFC4_types[584]); } Ifc4::IfcMedicalDeviceType::IfcMedicalDeviceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4::IfcMedicalDeviceType::IfcMedicalDeviceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcMedicalDeviceType::IfcMedicalDeviceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMember -boost::optional< ::Ifc4::IfcMemberTypeEnum::Value > Ifc4::IfcMember::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcMemberTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcMemberTypeEnum::Value > Ifc4::IfcMember::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcMemberTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcMember::setPredefinedType(boost::optional< ::Ifc4::IfcMemberTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcMemberTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcMember::declaration() const { return *((IfcParse::entity*)IFC4_types[586]); } const IfcParse::entity& Ifc4::IfcMember::Class() { return *((IfcParse::entity*)IFC4_types[586]); } Ifc4::IfcMember::IfcMember(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4::IfcMember::IfcMember(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcMemberTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcMember::IfcMember(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcMemberTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMemberStandardCase @@ -11129,33 +11129,33 @@ Ifc4::IfcMember::IfcMember(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_ const IfcParse::entity& Ifc4::IfcMemberStandardCase::declaration() const { return *((IfcParse::entity*)IFC4_types[587]); } const IfcParse::entity& Ifc4::IfcMemberStandardCase::Class() { return *((IfcParse::entity*)IFC4_types[587]); } Ifc4::IfcMemberStandardCase::IfcMemberStandardCase(IfcEntityInstanceData&& e) : IfcMember(std::move(e)) { } -Ifc4::IfcMemberStandardCase::IfcMemberStandardCase(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcMemberTypeEnum::Value > v9_PredefinedType) : IfcMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcMemberStandardCase::IfcMemberStandardCase(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcMemberTypeEnum::Value > v9_PredefinedType) : IfcMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMemberType -::Ifc4::IfcMemberTypeEnum::Value Ifc4::IfcMemberType::PredefinedType() const { return ::Ifc4::IfcMemberTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcMemberTypeEnum::Value Ifc4::IfcMemberType::PredefinedType() const { return ::Ifc4::IfcMemberTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcMemberType::setPredefinedType(::Ifc4::IfcMemberTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcMemberType::declaration() const { return *((IfcParse::entity*)IFC4_types[588]); } const IfcParse::entity& Ifc4::IfcMemberType::Class() { return *((IfcParse::entity*)IFC4_types[588]); } Ifc4::IfcMemberType::IfcMemberType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcMemberTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcMemberTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMetric -::Ifc4::IfcBenchmarkEnum::Value Ifc4::IfcMetric::Benchmark() const { return ::Ifc4::IfcBenchmarkEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4::IfcBenchmarkEnum::Value Ifc4::IfcMetric::Benchmark() const { return ::Ifc4::IfcBenchmarkEnum::FromString(get_attribute_value(7)); } void Ifc4::IfcMetric::setBenchmark(::Ifc4::IfcBenchmarkEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4::IfcBenchmarkEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc4::IfcMetric::ValueSource() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4::IfcMetric::ValueSource() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4::IfcMetric::setValueSource(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4::IfcMetricValueSelect* Ifc4::IfcMetric::DataValue() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4::IfcMetricValueSelect>(true); } +::Ifc4::IfcMetricValueSelect* Ifc4::IfcMetric::DataValue() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4::IfcMetricValueSelect>(true); } void Ifc4::IfcMetric::setDataValue(::Ifc4::IfcMetricValueSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4::IfcReference* Ifc4::IfcMetric::ReferencePath() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4::IfcReference>(true); } +::Ifc4::IfcReference* Ifc4::IfcMetric::ReferencePath() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4::IfcReference>(true); } void Ifc4::IfcMetric::setReferencePath(::Ifc4::IfcReference* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4::IfcMetric::declaration() const { return *((IfcParse::entity*)IFC4_types[590]); } const IfcParse::entity& Ifc4::IfcMetric::Class() { return *((IfcParse::entity*)IFC4_types[590]); } Ifc4::IfcMetric::IfcMetric(IfcEntityInstanceData&& e) : IfcConstraint(std::move(e)) { } -Ifc4::IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, ::Ifc4::IfcBenchmarkEnum::Value v8_Benchmark, boost::optional< std::string > v9_ValueSource, ::Ifc4::IfcMetricValueSelect* v10_DataValue, ::Ifc4::IfcReference* v11_ReferencePath) : IfcConstraint(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, v10_DataValue ? v10_DataValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ReferencePath ? v11_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, ::Ifc4::IfcBenchmarkEnum::Value v8_Benchmark, boost::optional< std::string > v9_ValueSource, ::Ifc4::IfcMetricValueSelect* v10_DataValue, ::Ifc4::IfcReference* v11_ReferencePath) : IfcConstraint(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, v10_DataValue ? v10_DataValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ReferencePath ? v11_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMirroredProfileDef @@ -11163,52 +11163,52 @@ Ifc4::IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::string > v const IfcParse::entity& Ifc4::IfcMirroredProfileDef::declaration() const { return *((IfcParse::entity*)IFC4_types[592]); } const IfcParse::entity& Ifc4::IfcMirroredProfileDef::Class() { return *((IfcParse::entity*)IFC4_types[592]); } Ifc4::IfcMirroredProfileDef::IfcMirroredProfileDef(IfcEntityInstanceData&& e) : IfcDerivedProfileDef(std::move(e)) { } -Ifc4::IfcMirroredProfileDef::IfcMirroredProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcProfileDef* v3_ParentProfile, boost::optional< std::string > v5_Label) : IfcDerivedProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } +Ifc4::IfcMirroredProfileDef::IfcMirroredProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcProfileDef* v3_ParentProfile, boost::optional< std::string > v5_Label) : IfcDerivedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } // Function implementations for IfcMonetaryUnit -std::string Ifc4::IfcMonetaryUnit::Currency() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4::IfcMonetaryUnit::Currency() const { std::string v = get_attribute_value(0); return v; } void Ifc4::IfcMonetaryUnit::setCurrency(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4::IfcMonetaryUnit::declaration() const { return *((IfcParse::entity*)IFC4_types[604]); } const IfcParse::entity& Ifc4::IfcMonetaryUnit::Class() { return *((IfcParse::entity*)IFC4_types[604]); } Ifc4::IfcMonetaryUnit::IfcMonetaryUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcMonetaryUnit::IfcMonetaryUnit(std::string v1_Currency) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Currency));; populate_derived(); } +Ifc4::IfcMonetaryUnit::IfcMonetaryUnit(std::string v1_Currency) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Currency));; populate_derived(); } // Function implementations for IfcMotorConnection -boost::optional< ::Ifc4::IfcMotorConnectionTypeEnum::Value > Ifc4::IfcMotorConnection::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcMotorConnectionTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcMotorConnectionTypeEnum::Value > Ifc4::IfcMotorConnection::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcMotorConnection::setPredefinedType(boost::optional< ::Ifc4::IfcMotorConnectionTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcMotorConnectionTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcMotorConnection::declaration() const { return *((IfcParse::entity*)IFC4_types[606]); } const IfcParse::entity& Ifc4::IfcMotorConnection::Class() { return *((IfcParse::entity*)IFC4_types[606]); } Ifc4::IfcMotorConnection::IfcMotorConnection(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4::IfcMotorConnection::IfcMotorConnection(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcMotorConnection::IfcMotorConnection(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMotorConnectionType -::Ifc4::IfcMotorConnectionTypeEnum::Value Ifc4::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4::IfcMotorConnectionTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcMotorConnectionTypeEnum::Value Ifc4::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcMotorConnectionType::setPredefinedType(::Ifc4::IfcMotorConnectionTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcMotorConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcMotorConnectionType::declaration() const { return *((IfcParse::entity*)IFC4_types[607]); } const IfcParse::entity& Ifc4::IfcMotorConnectionType::Class() { return *((IfcParse::entity*)IFC4_types[607]); } Ifc4::IfcMotorConnectionType::IfcMotorConnectionType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4::IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcNamedUnit -::Ifc4::IfcDimensionalExponents* Ifc4::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcDimensionalExponents>(true); } +::Ifc4::IfcDimensionalExponents* Ifc4::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcDimensionalExponents>(true); } void Ifc4::IfcNamedUnit::setDimensions(::Ifc4::IfcDimensionalExponents* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcUnitEnum::Value Ifc4::IfcNamedUnit::UnitType() const { return ::Ifc4::IfcUnitEnum::FromString(data_.get_attribute_value(1)); } +::Ifc4::IfcUnitEnum::Value Ifc4::IfcNamedUnit::UnitType() const { return ::Ifc4::IfcUnitEnum::FromString(get_attribute_value(1)); } void Ifc4::IfcNamedUnit::setUnitType(::Ifc4::IfcUnitEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4::IfcUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcNamedUnit::declaration() const { return *((IfcParse::entity*)IFC4_types[609]); } const IfcParse::entity& Ifc4::IfcNamedUnit::Class() { return *((IfcParse::entity*)IFC4_types[609]); } Ifc4::IfcNamedUnit::IfcNamedUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcNamedUnit::IfcNamedUnit(::Ifc4::IfcDimensionalExponents* v1_Dimensions, ::Ifc4::IfcUnitEnum::Value v2_UnitType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; populate_derived(); } +Ifc4::IfcNamedUnit::IfcNamedUnit(::Ifc4::IfcDimensionalExponents* v1_Dimensions, ::Ifc4::IfcUnitEnum::Value v2_UnitType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; populate_derived(); } // Function implementations for IfcObject -boost::optional< std::string > Ifc4::IfcObject::ObjectType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4::IfcObject::ObjectType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcObject::setObjectType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } ::Ifc4::IfcRelDefinesByObject::list::ptr Ifc4::IfcObject::IsDeclaredBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[829], 4)->as(); } @@ -11219,7 +11219,7 @@ void Ifc4::IfcObject::setObjectType(boost::optional< std::string > v) { if (v) { const IfcParse::entity& Ifc4::IfcObject::declaration() const { return *((IfcParse::entity*)IFC4_types[614]); } const IfcParse::entity& Ifc4::IfcObject::Class() { return *((IfcParse::entity*)IFC4_types[614]); } Ifc4::IfcObject::IfcObject(IfcEntityInstanceData&& e) : IfcObjectDefinition(std::move(e)) { } -Ifc4::IfcObject::IfcObject(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObjectDefinition(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc4::IfcObject::IfcObject(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObjectDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcObjectDefinition @@ -11234,7 +11234,7 @@ Ifc4::IfcObject::IfcObject(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_ const IfcParse::entity& Ifc4::IfcObjectDefinition::declaration() const { return *((IfcParse::entity*)IFC4_types[615]); } const IfcParse::entity& Ifc4::IfcObjectDefinition::Class() { return *((IfcParse::entity*)IFC4_types[615]); } Ifc4::IfcObjectDefinition::IfcObjectDefinition(IfcEntityInstanceData&& e) : IfcRoot(std::move(e)) { } -Ifc4::IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4::IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcObjectPlacement @@ -11244,63 +11244,63 @@ Ifc4::IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, ::Ifc4:: const IfcParse::entity& Ifc4::IfcObjectPlacement::declaration() const { return *((IfcParse::entity*)IFC4_types[618]); } const IfcParse::entity& Ifc4::IfcObjectPlacement::Class() { return *((IfcParse::entity*)IFC4_types[618]); } Ifc4::IfcObjectPlacement::IfcObjectPlacement(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcObjectPlacement::IfcObjectPlacement() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4::IfcObjectPlacement::IfcObjectPlacement() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcObjective -boost::optional< aggregate_of< ::Ifc4::IfcConstraint >::ptr > Ifc4::IfcObjective::BenchmarkValues() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4::IfcConstraint >(); } +boost::optional< aggregate_of< ::Ifc4::IfcConstraint >::ptr > Ifc4::IfcObjective::BenchmarkValues() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4::IfcConstraint >(); } void Ifc4::IfcObjective::setBenchmarkValues(boost::optional< aggregate_of< ::Ifc4::IfcConstraint >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4::IfcLogicalOperatorEnum::Value > Ifc4::IfcObjective::LogicalAggregator() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcLogicalOperatorEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcLogicalOperatorEnum::Value > Ifc4::IfcObjective::LogicalAggregator() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcLogicalOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcObjective::setLogicalAggregator(boost::optional< ::Ifc4::IfcLogicalOperatorEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcLogicalOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -::Ifc4::IfcObjectiveEnum::Value Ifc4::IfcObjective::ObjectiveQualifier() const { return ::Ifc4::IfcObjectiveEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcObjectiveEnum::Value Ifc4::IfcObjective::ObjectiveQualifier() const { return ::Ifc4::IfcObjectiveEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcObjective::setObjectiveQualifier(::Ifc4::IfcObjectiveEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcObjectiveEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4::IfcObjective::UserDefinedQualifier() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4::IfcObjective::UserDefinedQualifier() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4::IfcObjective::setUserDefinedQualifier(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4::IfcObjective::declaration() const { return *((IfcParse::entity*)IFC4_types[616]); } const IfcParse::entity& Ifc4::IfcObjective::Class() { return *((IfcParse::entity*)IFC4_types[616]); } Ifc4::IfcObjective::IfcObjective(IfcEntityInstanceData&& e) : IfcConstraint(std::move(e)) { } -Ifc4::IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, boost::optional< aggregate_of< ::Ifc4::IfcConstraint >::ptr > v8_BenchmarkValues, boost::optional< ::Ifc4::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4::IfcObjectiveEnum::Value v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier) : IfcConstraint(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, (*v8_BenchmarkValues)->generalize()); } if (v9_LogicalAggregator) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; populate_derived(); } +Ifc4::IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, boost::optional< aggregate_of< ::Ifc4::IfcConstraint >::ptr > v8_BenchmarkValues, boost::optional< ::Ifc4::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4::IfcObjectiveEnum::Value v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier) : IfcConstraint(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, (*v8_BenchmarkValues)->generalize()); } if (v9_LogicalAggregator) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; populate_derived(); } // Function implementations for IfcOccupant -boost::optional< ::Ifc4::IfcOccupantTypeEnum::Value > Ifc4::IfcOccupant::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4::IfcOccupantTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4::IfcOccupantTypeEnum::Value > Ifc4::IfcOccupant::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4::IfcOccupantTypeEnum::FromString(get_attribute_value(6)); } void Ifc4::IfcOccupant::setPredefinedType(boost::optional< ::Ifc4::IfcOccupantTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4::IfcOccupantTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4::IfcOccupant::declaration() const { return *((IfcParse::entity*)IFC4_types[621]); } const IfcParse::entity& Ifc4::IfcOccupant::Class() { return *((IfcParse::entity*)IFC4_types[621]); } Ifc4::IfcOccupant::IfcOccupant(IfcEntityInstanceData&& e) : IfcActor(std::move(e)) { } -Ifc4::IfcOccupant::IfcOccupant(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcActorSelect* v6_TheActor, boost::optional< ::Ifc4::IfcOccupantTypeEnum::Value > v7_PredefinedType) : IfcActor(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } +Ifc4::IfcOccupant::IfcOccupant(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcActorSelect* v6_TheActor, boost::optional< ::Ifc4::IfcOccupantTypeEnum::Value > v7_PredefinedType) : IfcActor(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOffsetCurve2D -::Ifc4::IfcCurve* Ifc4::IfcOffsetCurve2D::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcCurve>(true); } +::Ifc4::IfcCurve* Ifc4::IfcOffsetCurve2D::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcOffsetCurve2D::setBasisCurve(::Ifc4::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4::IfcOffsetCurve2D::Distance() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4::IfcOffsetCurve2D::Distance() const { double v = get_attribute_value(1); return v; } void Ifc4::IfcOffsetCurve2D::setDistance(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::logic::tribool Ifc4::IfcOffsetCurve2D::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::logic::tribool Ifc4::IfcOffsetCurve2D::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4::IfcOffsetCurve2D::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4::IfcOffsetCurve2D::declaration() const { return *((IfcParse::entity*)IFC4_types[623]); } const IfcParse::entity& Ifc4::IfcOffsetCurve2D::Class() { return *((IfcParse::entity*)IFC4_types[623]); } Ifc4::IfcOffsetCurve2D::IfcOffsetCurve2D(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4::IfcOffsetCurve2D::IfcOffsetCurve2D(::Ifc4::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) : IfcCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; populate_derived(); } +Ifc4::IfcOffsetCurve2D::IfcOffsetCurve2D(::Ifc4::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; populate_derived(); } // Function implementations for IfcOffsetCurve3D -::Ifc4::IfcCurve* Ifc4::IfcOffsetCurve3D::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcCurve>(true); } +::Ifc4::IfcCurve* Ifc4::IfcOffsetCurve3D::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcOffsetCurve3D::setBasisCurve(::Ifc4::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4::IfcOffsetCurve3D::Distance() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4::IfcOffsetCurve3D::Distance() const { double v = get_attribute_value(1); return v; } void Ifc4::IfcOffsetCurve3D::setDistance(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::logic::tribool Ifc4::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::logic::tribool Ifc4::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4::IfcOffsetCurve3D::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcDirection* Ifc4::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4::IfcDirection>(true); } +::Ifc4::IfcDirection* Ifc4::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcOffsetCurve3D::setRefDirection(::Ifc4::IfcDirection* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4::IfcOffsetCurve3D::declaration() const { return *((IfcParse::entity*)IFC4_types[624]); } const IfcParse::entity& Ifc4::IfcOffsetCurve3D::Class() { return *((IfcParse::entity*)IFC4_types[624]); } Ifc4::IfcOffsetCurve3D::IfcOffsetCurve3D(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4::IfcOffsetCurve3D::IfcOffsetCurve3D(::Ifc4::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4::IfcDirection* v4_RefDirection) : IfcCurve(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, v4_RefDirection ? v4_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcOffsetCurve3D::IfcOffsetCurve3D(::Ifc4::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4::IfcDirection* v4_RefDirection) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, v4_RefDirection ? v4_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcOpenShell @@ -11308,10 +11308,10 @@ Ifc4::IfcOffsetCurve3D::IfcOffsetCurve3D(::Ifc4::IfcCurve* v1_BasisCurve, double const IfcParse::entity& Ifc4::IfcOpenShell::declaration() const { return *((IfcParse::entity*)IFC4_types[628]); } const IfcParse::entity& Ifc4::IfcOpenShell::Class() { return *((IfcParse::entity*)IFC4_types[628]); } Ifc4::IfcOpenShell::IfcOpenShell(IfcEntityInstanceData&& e) : IfcConnectedFaceSet(std::move(e)) { } -Ifc4::IfcOpenShell::IfcOpenShell(aggregate_of< ::Ifc4::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc4::IfcOpenShell::IfcOpenShell(aggregate_of< ::Ifc4::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcOpeningElement -boost::optional< ::Ifc4::IfcOpeningElementTypeEnum::Value > Ifc4::IfcOpeningElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcOpeningElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcOpeningElementTypeEnum::Value > Ifc4::IfcOpeningElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcOpeningElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4::IfcOpeningElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcOpeningElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4::IfcRelFillsElement::list::ptr Ifc4::IfcOpeningElement::HasFillings() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[833], 4)->as(); } @@ -11319,7 +11319,7 @@ void Ifc4::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4::IfcOpen const IfcParse::entity& Ifc4::IfcOpeningElement::declaration() const { return *((IfcParse::entity*)IFC4_types[625]); } const IfcParse::entity& Ifc4::IfcOpeningElement::Class() { return *((IfcParse::entity*)IFC4_types[625]); } Ifc4::IfcOpeningElement::IfcOpeningElement(IfcEntityInstanceData&& e) : IfcFeatureElementSubtraction(std::move(e)) { } -Ifc4::IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOpeningStandardCase @@ -11327,18 +11327,18 @@ Ifc4::IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, ::Ifc4::IfcO const IfcParse::entity& Ifc4::IfcOpeningStandardCase::declaration() const { return *((IfcParse::entity*)IFC4_types[627]); } const IfcParse::entity& Ifc4::IfcOpeningStandardCase::Class() { return *((IfcParse::entity*)IFC4_types[627]); } Ifc4::IfcOpeningStandardCase::IfcOpeningStandardCase(IfcEntityInstanceData&& e) : IfcOpeningElement(std::move(e)) { } -Ifc4::IfcOpeningStandardCase::IfcOpeningStandardCase(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) : IfcOpeningElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcOpeningStandardCase::IfcOpeningStandardCase(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) : IfcOpeningElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOrganization -boost::optional< std::string > Ifc4::IfcOrganization::Identification() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4::IfcOrganization::Identification() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4::IfcOrganization::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -std::string Ifc4::IfcOrganization::Name() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4::IfcOrganization::Name() const { std::string v = get_attribute_value(1); return v; } void Ifc4::IfcOrganization::setName(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4::IfcOrganization::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4::IfcOrganization::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4::IfcOrganization::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< aggregate_of< ::Ifc4::IfcActorRole >::ptr > Ifc4::IfcOrganization::Roles() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc4::IfcActorRole >::ptr > Ifc4::IfcOrganization::Roles() const { if(get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4::IfcActorRole >(); } void Ifc4::IfcOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(3, (*v)->generalize());} else {unset_attribute_value(3);} } -boost::optional< aggregate_of< ::Ifc4::IfcAddress >::ptr > Ifc4::IfcOrganization::Addresses() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4::IfcAddress >(); } +boost::optional< aggregate_of< ::Ifc4::IfcAddress >::ptr > Ifc4::IfcOrganization::Addresses() const { if(get_attribute_value(4).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4::IfcAddress >(); } void Ifc4::IfcOrganization::setAddresses(boost::optional< aggregate_of< ::Ifc4::IfcAddress >::ptr > v) { if (v) {set_attribute_value(4, (*v)->generalize());} else {unset_attribute_value(4);} } ::Ifc4::IfcOrganizationRelationship::list::ptr Ifc4::IfcOrganization::IsRelatedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[630], 3)->as(); } @@ -11348,31 +11348,31 @@ void Ifc4::IfcOrganization::setAddresses(boost::optional< aggregate_of< ::Ifc4:: const IfcParse::entity& Ifc4::IfcOrganization::declaration() const { return *((IfcParse::entity*)IFC4_types[629]); } const IfcParse::entity& Ifc4::IfcOrganization::Class() { return *((IfcParse::entity*)IFC4_types[629]); } Ifc4::IfcOrganization::IfcOrganization(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcOrganization::IfcOrganization(boost::optional< std::string > v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc4::IfcActorRole >::ptr > v4_Roles, boost::optional< aggregate_of< ::Ifc4::IfcAddress >::ptr > v5_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, (*v4_Roles)->generalize()); } if (v5_Addresses) {set_attribute_value(4, (*v5_Addresses)->generalize()); }; populate_derived(); } +Ifc4::IfcOrganization::IfcOrganization(boost::optional< std::string > v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc4::IfcActorRole >::ptr > v4_Roles, boost::optional< aggregate_of< ::Ifc4::IfcAddress >::ptr > v5_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, (*v4_Roles)->generalize()); } if (v5_Addresses) {set_attribute_value(4, (*v5_Addresses)->generalize()); }; populate_derived(); } // Function implementations for IfcOrganizationRelationship -::Ifc4::IfcOrganization* Ifc4::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcOrganization>(true); } +::Ifc4::IfcOrganization* Ifc4::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcOrganization>(true); } void Ifc4::IfcOrganizationRelationship::setRelatingOrganization(::Ifc4::IfcOrganization* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4::IfcOrganization >::ptr Ifc4::IfcOrganizationRelationship::RelatedOrganizations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4::IfcOrganization >(); } +aggregate_of< ::Ifc4::IfcOrganization >::ptr Ifc4::IfcOrganizationRelationship::RelatedOrganizations() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4::IfcOrganization >(); } void Ifc4::IfcOrganizationRelationship::setRelatedOrganizations(aggregate_of< ::Ifc4::IfcOrganization >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4::IfcOrganizationRelationship::declaration() const { return *((IfcParse::entity*)IFC4_types[630]); } const IfcParse::entity& Ifc4::IfcOrganizationRelationship::Class() { return *((IfcParse::entity*)IFC4_types[630]); } Ifc4::IfcOrganizationRelationship::IfcOrganizationRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4::IfcOrganizationRelationship::IfcOrganizationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcOrganization* v3_RelatingOrganization, aggregate_of< ::Ifc4::IfcOrganization >::ptr v4_RelatedOrganizations) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingOrganization ? v3_RelatingOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedOrganizations)->generalize());; populate_derived(); } +Ifc4::IfcOrganizationRelationship::IfcOrganizationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcOrganization* v3_RelatingOrganization, aggregate_of< ::Ifc4::IfcOrganization >::ptr v4_RelatedOrganizations) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingOrganization ? v3_RelatingOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedOrganizations)->generalize());; populate_derived(); } // Function implementations for IfcOrientedEdge -::Ifc4::IfcEdge* Ifc4::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcEdge>(true); } +::Ifc4::IfcEdge* Ifc4::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcEdge>(true); } void Ifc4::IfcOrientedEdge::setEdgeElement(::Ifc4::IfcEdge* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -bool Ifc4::IfcOrientedEdge::Orientation() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4::IfcOrientedEdge::Orientation() const { bool v = get_attribute_value(3); return v; } void Ifc4::IfcOrientedEdge::setOrientation(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4::IfcOrientedEdge::declaration() const { return *((IfcParse::entity*)IFC4_types[631]); } const IfcParse::entity& Ifc4::IfcOrientedEdge::Class() { return *((IfcParse::entity*)IFC4_types[631]); } Ifc4::IfcOrientedEdge::IfcOrientedEdge(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc4::IfcOrientedEdge::IfcOrientedEdge(::Ifc4::IfcEdge* v3_EdgeElement, bool v4_Orientation) : IfcEdge(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(2, v3_EdgeElement ? v3_EdgeElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Orientation));; populate_derived(); } +Ifc4::IfcOrientedEdge::IfcOrientedEdge(::Ifc4::IfcEdge* v3_EdgeElement, bool v4_Orientation) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(2, v3_EdgeElement ? v3_EdgeElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Orientation));; populate_derived(); } // Function implementations for IfcOuterBoundaryCurve @@ -11380,144 +11380,144 @@ Ifc4::IfcOrientedEdge::IfcOrientedEdge(::Ifc4::IfcEdge* v3_EdgeElement, bool v4_ const IfcParse::entity& Ifc4::IfcOuterBoundaryCurve::declaration() const { return *((IfcParse::entity*)IFC4_types[632]); } const IfcParse::entity& Ifc4::IfcOuterBoundaryCurve::Class() { return *((IfcParse::entity*)IFC4_types[632]); } Ifc4::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(IfcEntityInstanceData&& e) : IfcBoundaryCurve(std::move(e)) { } -Ifc4::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(aggregate_of< ::Ifc4::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundaryCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(aggregate_of< ::Ifc4::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundaryCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcOutlet -boost::optional< ::Ifc4::IfcOutletTypeEnum::Value > Ifc4::IfcOutlet::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcOutletTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcOutletTypeEnum::Value > Ifc4::IfcOutlet::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcOutletTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcOutlet::setPredefinedType(boost::optional< ::Ifc4::IfcOutletTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcOutletTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcOutlet::declaration() const { return *((IfcParse::entity*)IFC4_types[633]); } const IfcParse::entity& Ifc4::IfcOutlet::Class() { return *((IfcParse::entity*)IFC4_types[633]); } Ifc4::IfcOutlet::IfcOutlet(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4::IfcOutlet::IfcOutlet(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcOutletTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcOutlet::IfcOutlet(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcOutletTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOutletType -::Ifc4::IfcOutletTypeEnum::Value Ifc4::IfcOutletType::PredefinedType() const { return ::Ifc4::IfcOutletTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcOutletTypeEnum::Value Ifc4::IfcOutletType::PredefinedType() const { return ::Ifc4::IfcOutletTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcOutletType::setPredefinedType(::Ifc4::IfcOutletTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcOutletTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcOutletType::declaration() const { return *((IfcParse::entity*)IFC4_types[634]); } const IfcParse::entity& Ifc4::IfcOutletType::Class() { return *((IfcParse::entity*)IFC4_types[634]); } Ifc4::IfcOutletType::IfcOutletType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4::IfcOutletType::IfcOutletType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcOutletTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcOutletType::IfcOutletType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcOutletTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcOwnerHistory -::Ifc4::IfcPersonAndOrganization* Ifc4::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcPersonAndOrganization>(true); } +::Ifc4::IfcPersonAndOrganization* Ifc4::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcPersonAndOrganization>(true); } void Ifc4::IfcOwnerHistory::setOwningUser(::Ifc4::IfcPersonAndOrganization* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcApplication* Ifc4::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcApplication>(true); } +::Ifc4::IfcApplication* Ifc4::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcApplication>(true); } void Ifc4::IfcOwnerHistory::setOwningApplication(::Ifc4::IfcApplication* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< ::Ifc4::IfcStateEnum::Value > Ifc4::IfcOwnerHistory::State() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4::IfcStateEnum::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc4::IfcStateEnum::Value > Ifc4::IfcOwnerHistory::State() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4::IfcStateEnum::FromString(get_attribute_value(2)); } void Ifc4::IfcOwnerHistory::setState(boost::optional< ::Ifc4::IfcStateEnum::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc4::IfcStateEnum::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -boost::optional< ::Ifc4::IfcChangeActionEnum::Value > Ifc4::IfcOwnerHistory::ChangeAction() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4::IfcChangeActionEnum::FromString(data_.get_attribute_value(3)); } +boost::optional< ::Ifc4::IfcChangeActionEnum::Value > Ifc4::IfcOwnerHistory::ChangeAction() const { if(get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4::IfcChangeActionEnum::FromString(get_attribute_value(3)); } void Ifc4::IfcOwnerHistory::setChangeAction(boost::optional< ::Ifc4::IfcChangeActionEnum::Value > v) { if (v) {set_attribute_value(3, EnumerationReference(&::Ifc4::IfcChangeActionEnum::Class(), (size_t) *v));} else {unset_attribute_value(3);} } -boost::optional< int > Ifc4::IfcOwnerHistory::LastModifiedDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4::IfcOwnerHistory::LastModifiedDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4::IfcPersonAndOrganization* Ifc4::IfcOwnerHistory::LastModifyingUser() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcPersonAndOrganization>(true); } +::Ifc4::IfcPersonAndOrganization* Ifc4::IfcOwnerHistory::LastModifyingUser() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcPersonAndOrganization>(true); } void Ifc4::IfcOwnerHistory::setLastModifyingUser(::Ifc4::IfcPersonAndOrganization* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4::IfcApplication* Ifc4::IfcOwnerHistory::LastModifyingApplication() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4::IfcApplication>(true); } +::Ifc4::IfcApplication* Ifc4::IfcOwnerHistory::LastModifyingApplication() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4::IfcApplication>(true); } void Ifc4::IfcOwnerHistory::setLastModifyingApplication(::Ifc4::IfcApplication* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -int Ifc4::IfcOwnerHistory::CreationDate() const { int v = data_.get_attribute_value(7); return v; } +int Ifc4::IfcOwnerHistory::CreationDate() const { int v = get_attribute_value(7); return v; } void Ifc4::IfcOwnerHistory::setCreationDate(int v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4::IfcOwnerHistory::declaration() const { return *((IfcParse::entity*)IFC4_types[636]); } const IfcParse::entity& Ifc4::IfcOwnerHistory::Class() { return *((IfcParse::entity*)IFC4_types[636]); } Ifc4::IfcOwnerHistory::IfcOwnerHistory(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcOwnerHistory::IfcOwnerHistory(::Ifc4::IfcPersonAndOrganization* v1_OwningUser, ::Ifc4::IfcApplication* v2_OwningApplication, boost::optional< ::Ifc4::IfcStateEnum::Value > v3_State, boost::optional< ::Ifc4::IfcChangeActionEnum::Value > v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, ::Ifc4::IfcPersonAndOrganization* v6_LastModifyingUser, ::Ifc4::IfcApplication* v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, v1_OwningUser ? v1_OwningUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OwningApplication ? v2_OwningApplication->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_State) {set_attribute_value(2, (EnumerationReference(&::Ifc4::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (EnumerationReference(&::Ifc4::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, v6_LastModifyingUser ? v6_LastModifyingUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_LastModifyingApplication ? v7_LastModifyingApplication->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_CreationDate));; populate_derived(); } +Ifc4::IfcOwnerHistory::IfcOwnerHistory(::Ifc4::IfcPersonAndOrganization* v1_OwningUser, ::Ifc4::IfcApplication* v2_OwningApplication, boost::optional< ::Ifc4::IfcStateEnum::Value > v3_State, boost::optional< ::Ifc4::IfcChangeActionEnum::Value > v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, ::Ifc4::IfcPersonAndOrganization* v6_LastModifyingUser, ::Ifc4::IfcApplication* v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, v1_OwningUser ? v1_OwningUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OwningApplication ? v2_OwningApplication->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_State) {set_attribute_value(2, (EnumerationReference(&::Ifc4::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (EnumerationReference(&::Ifc4::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, v6_LastModifyingUser ? v6_LastModifyingUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_LastModifyingApplication ? v7_LastModifyingApplication->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_CreationDate));; populate_derived(); } // Function implementations for IfcParameterizedProfileDef -::Ifc4::IfcAxis2Placement2D* Ifc4::IfcParameterizedProfileDef::Position() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcAxis2Placement2D>(true); } +::Ifc4::IfcAxis2Placement2D* Ifc4::IfcParameterizedProfileDef::Position() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcAxis2Placement2D>(true); } void Ifc4::IfcParameterizedProfileDef::setPosition(::Ifc4::IfcAxis2Placement2D* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4::IfcParameterizedProfileDef::declaration() const { return *((IfcParse::entity*)IFC4_types[637]); } const IfcParse::entity& Ifc4::IfcParameterizedProfileDef::Class() { return *((IfcParse::entity*)IFC4_types[637]); } Ifc4::IfcParameterizedProfileDef::IfcParameterizedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4::IfcParameterizedProfileDef::IfcParameterizedProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D* v3_Position) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcParameterizedProfileDef::IfcParameterizedProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D* v3_Position) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPath -aggregate_of< ::Ifc4::IfcOrientedEdge >::ptr Ifc4::IfcPath::EdgeList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4::IfcOrientedEdge >(); } +aggregate_of< ::Ifc4::IfcOrientedEdge >::ptr Ifc4::IfcPath::EdgeList() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4::IfcOrientedEdge >(); } void Ifc4::IfcPath::setEdgeList(aggregate_of< ::Ifc4::IfcOrientedEdge >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4::IfcPath::declaration() const { return *((IfcParse::entity*)IFC4_types[639]); } const IfcParse::entity& Ifc4::IfcPath::Class() { return *((IfcParse::entity*)IFC4_types[639]); } Ifc4::IfcPath::IfcPath(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4::IfcPath::IfcPath(aggregate_of< ::Ifc4::IfcOrientedEdge >::ptr v1_EdgeList) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } +Ifc4::IfcPath::IfcPath(aggregate_of< ::Ifc4::IfcOrientedEdge >::ptr v1_EdgeList) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } // Function implementations for IfcPcurve -::Ifc4::IfcSurface* Ifc4::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcSurface>(true); } +::Ifc4::IfcSurface* Ifc4::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcSurface>(true); } void Ifc4::IfcPcurve::setBasisSurface(::Ifc4::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcCurve* Ifc4::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcCurve>(true); } +::Ifc4::IfcCurve* Ifc4::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcPcurve::setReferenceCurve(::Ifc4::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcPcurve::declaration() const { return *((IfcParse::entity*)IFC4_types[640]); } const IfcParse::entity& Ifc4::IfcPcurve::Class() { return *((IfcParse::entity*)IFC4_types[640]); } Ifc4::IfcPcurve::IfcPcurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4::IfcPcurve::IfcPcurve(::Ifc4::IfcSurface* v1_BasisSurface, ::Ifc4::IfcCurve* v2_ReferenceCurve) : IfcCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_ReferenceCurve ? v2_ReferenceCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcPcurve::IfcPcurve(::Ifc4::IfcSurface* v1_BasisSurface, ::Ifc4::IfcCurve* v2_ReferenceCurve) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_ReferenceCurve ? v2_ReferenceCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPerformanceHistory -std::string Ifc4::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = data_.get_attribute_value(6); return v; } +std::string Ifc4::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = get_attribute_value(6); return v; } void Ifc4::IfcPerformanceHistory::setLifeCyclePhase(std::string v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< ::Ifc4::IfcPerformanceHistoryTypeEnum::Value > Ifc4::IfcPerformanceHistory::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4::IfcPerformanceHistoryTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4::IfcPerformanceHistoryTypeEnum::Value > Ifc4::IfcPerformanceHistory::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4::IfcPerformanceHistoryTypeEnum::FromString(get_attribute_value(7)); } void Ifc4::IfcPerformanceHistory::setPredefinedType(boost::optional< ::Ifc4::IfcPerformanceHistoryTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4::IfcPerformanceHistoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4::IfcPerformanceHistory::declaration() const { return *((IfcParse::entity*)IFC4_types[641]); } const IfcParse::entity& Ifc4::IfcPerformanceHistory::Class() { return *((IfcParse::entity*)IFC4_types[641]); } Ifc4::IfcPerformanceHistory::IfcPerformanceHistory(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4::IfcPerformanceHistory::IfcPerformanceHistory(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, boost::optional< ::Ifc4::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) : IfcControl(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4::IfcPerformanceHistory::IfcPerformanceHistory(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, boost::optional< ::Ifc4::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPermeableCoveringProperties -::Ifc4::IfcPermeableCoveringOperationEnum::Value Ifc4::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4::IfcPermeableCoveringOperationEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4::IfcPermeableCoveringOperationEnum::Value Ifc4::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4::IfcPermeableCoveringOperationEnum::FromString(get_attribute_value(4)); } void Ifc4::IfcPermeableCoveringProperties::setOperationType(::Ifc4::IfcPermeableCoveringOperationEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4::IfcPermeableCoveringOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcWindowPanelPositionEnum::Value Ifc4::IfcPermeableCoveringProperties::PanelPosition() const { return ::Ifc4::IfcWindowPanelPositionEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4::IfcWindowPanelPositionEnum::Value Ifc4::IfcPermeableCoveringProperties::PanelPosition() const { return ::Ifc4::IfcWindowPanelPositionEnum::FromString(get_attribute_value(5)); } void Ifc4::IfcPermeableCoveringProperties::setPanelPosition(::Ifc4::IfcWindowPanelPositionEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4::IfcWindowPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4::IfcPermeableCoveringProperties::FrameDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4::IfcPermeableCoveringProperties::FrameDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4::IfcPermeableCoveringProperties::FrameThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4::IfcPermeableCoveringProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4::IfcShapeAspect* Ifc4::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4::IfcShapeAspect>(true); } +::Ifc4::IfcShapeAspect* Ifc4::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4::IfcShapeAspect>(true); } void Ifc4::IfcPermeableCoveringProperties::setShapeAspectStyle(::Ifc4::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4::IfcPermeableCoveringProperties::declaration() const { return *((IfcParse::entity*)IFC4_types[644]); } const IfcParse::entity& Ifc4::IfcPermeableCoveringProperties::Class() { return *((IfcParse::entity*)IFC4_types[644]); } Ifc4::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPermit -boost::optional< ::Ifc4::IfcPermitTypeEnum::Value > Ifc4::IfcPermit::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4::IfcPermitTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4::IfcPermitTypeEnum::Value > Ifc4::IfcPermit::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4::IfcPermitTypeEnum::FromString(get_attribute_value(6)); } void Ifc4::IfcPermit::setPredefinedType(boost::optional< ::Ifc4::IfcPermitTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4::IfcPermitTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4::IfcPermit::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4::IfcPermit::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4::IfcPermit::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4::IfcPermit::LongDescription() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4::IfcPermit::LongDescription() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4::IfcPermit::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcPermit::declaration() const { return *((IfcParse::entity*)IFC4_types[645]); } const IfcParse::entity& Ifc4::IfcPermit::Class() { return *((IfcParse::entity*)IFC4_types[645]); } Ifc4::IfcPermit::IfcPermit(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4::IfcPermit::IfcPermit(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4::IfcPermitTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } +Ifc4::IfcPermit::IfcPermit(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4::IfcPermitTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } // Function implementations for IfcPerson -boost::optional< std::string > Ifc4::IfcPerson::Identification() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4::IfcPerson::Identification() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4::IfcPerson::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4::IfcPerson::FamilyName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4::IfcPerson::FamilyName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcPerson::setFamilyName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4::IfcPerson::GivenName() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4::IfcPerson::GivenName() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4::IfcPerson::setGivenName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcPerson::MiddleNames() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcPerson::MiddleNames() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4::IfcPerson::setMiddleNames(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcPerson::PrefixTitles() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcPerson::PrefixTitles() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4::IfcPerson::setPrefixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcPerson::SuffixTitles() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(5); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcPerson::SuffixTitles() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(5); return v; } void Ifc4::IfcPerson::setSuffixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< aggregate_of< ::Ifc4::IfcActorRole >::ptr > Ifc4::IfcPerson::Roles() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc4::IfcActorRole >::ptr > Ifc4::IfcPerson::Roles() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4::IfcActorRole >(); } void Ifc4::IfcPerson::setRoles(boost::optional< aggregate_of< ::Ifc4::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4::IfcAddress >::ptr > Ifc4::IfcPerson::Addresses() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4::IfcAddress >(); } +boost::optional< aggregate_of< ::Ifc4::IfcAddress >::ptr > Ifc4::IfcPerson::Addresses() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4::IfcAddress >(); } void Ifc4::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4::IfcAddress >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } ::Ifc4::IfcPersonAndOrganization::list::ptr Ifc4::IfcPerson::EngagedIn() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[648], 0)->as(); } @@ -11525,42 +11525,42 @@ void Ifc4::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4::IfcAdd const IfcParse::entity& Ifc4::IfcPerson::declaration() const { return *((IfcParse::entity*)IFC4_types[647]); } const IfcParse::entity& Ifc4::IfcPerson::Class() { return *((IfcParse::entity*)IFC4_types[647]); } Ifc4::IfcPerson::IfcPerson(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcPerson::IfcPerson(boost::optional< std::string > v1_Identification, boost::optional< std::string > v2_FamilyName, boost::optional< std::string > v3_GivenName, boost::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, boost::optional< aggregate_of< ::Ifc4::IfcActorRole >::ptr > v7_Roles, boost::optional< aggregate_of< ::Ifc4::IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, (*v7_Roles)->generalize()); } if (v8_Addresses) {set_attribute_value(7, (*v8_Addresses)->generalize()); }; populate_derived(); } +Ifc4::IfcPerson::IfcPerson(boost::optional< std::string > v1_Identification, boost::optional< std::string > v2_FamilyName, boost::optional< std::string > v3_GivenName, boost::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, boost::optional< aggregate_of< ::Ifc4::IfcActorRole >::ptr > v7_Roles, boost::optional< aggregate_of< ::Ifc4::IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, (*v7_Roles)->generalize()); } if (v8_Addresses) {set_attribute_value(7, (*v8_Addresses)->generalize()); }; populate_derived(); } // Function implementations for IfcPersonAndOrganization -::Ifc4::IfcPerson* Ifc4::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcPerson>(true); } +::Ifc4::IfcPerson* Ifc4::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcPerson>(true); } void Ifc4::IfcPersonAndOrganization::setThePerson(::Ifc4::IfcPerson* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcOrganization* Ifc4::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcOrganization>(true); } +::Ifc4::IfcOrganization* Ifc4::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcOrganization>(true); } void Ifc4::IfcPersonAndOrganization::setTheOrganization(::Ifc4::IfcOrganization* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< aggregate_of< ::Ifc4::IfcActorRole >::ptr > Ifc4::IfcPersonAndOrganization::Roles() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc4::IfcActorRole >::ptr > Ifc4::IfcPersonAndOrganization::Roles() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4::IfcActorRole >(); } void Ifc4::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4::IfcPersonAndOrganization::declaration() const { return *((IfcParse::entity*)IFC4_types[648]); } const IfcParse::entity& Ifc4::IfcPersonAndOrganization::Class() { return *((IfcParse::entity*)IFC4_types[648]); } Ifc4::IfcPersonAndOrganization::IfcPersonAndOrganization(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcPersonAndOrganization::IfcPersonAndOrganization(::Ifc4::IfcPerson* v1_ThePerson, ::Ifc4::IfcOrganization* v2_TheOrganization, boost::optional< aggregate_of< ::Ifc4::IfcActorRole >::ptr > v3_Roles) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_ThePerson ? v1_ThePerson->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TheOrganization ? v2_TheOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Roles) {set_attribute_value(2, (*v3_Roles)->generalize()); }; populate_derived(); } +Ifc4::IfcPersonAndOrganization::IfcPersonAndOrganization(::Ifc4::IfcPerson* v1_ThePerson, ::Ifc4::IfcOrganization* v2_TheOrganization, boost::optional< aggregate_of< ::Ifc4::IfcActorRole >::ptr > v3_Roles) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_ThePerson ? v1_ThePerson->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TheOrganization ? v2_TheOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Roles) {set_attribute_value(2, (*v3_Roles)->generalize()); }; populate_derived(); } // Function implementations for IfcPhysicalComplexQuantity -aggregate_of< ::Ifc4::IfcPhysicalQuantity >::ptr Ifc4::IfcPhysicalComplexQuantity::HasQuantities() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4::IfcPhysicalQuantity >(); } +aggregate_of< ::Ifc4::IfcPhysicalQuantity >::ptr Ifc4::IfcPhysicalComplexQuantity::HasQuantities() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4::IfcPhysicalQuantity >(); } void Ifc4::IfcPhysicalComplexQuantity::setHasQuantities(aggregate_of< ::Ifc4::IfcPhysicalQuantity >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -std::string Ifc4::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = get_attribute_value(3); return v; } void Ifc4::IfcPhysicalComplexQuantity::setDiscrimination(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4::IfcPhysicalComplexQuantity::Quality() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4::IfcPhysicalComplexQuantity::Quality() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcPhysicalComplexQuantity::setQuality(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4::IfcPhysicalComplexQuantity::Usage() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4::IfcPhysicalComplexQuantity::Usage() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcPhysicalComplexQuantity::setUsage(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4::IfcPhysicalComplexQuantity::declaration() const { return *((IfcParse::entity*)IFC4_types[650]); } const IfcParse::entity& Ifc4::IfcPhysicalComplexQuantity::Class() { return *((IfcParse::entity*)IFC4_types[650]); } Ifc4::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(IfcEntityInstanceData&& e) : IfcPhysicalQuantity(std::move(e)) { } -Ifc4::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcPhysicalQuantity >::ptr v3_HasQuantities, std::string v4_Discrimination, boost::optional< std::string > v5_Quality, boost::optional< std::string > v6_Usage) : IfcPhysicalQuantity(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_HasQuantities)->generalize());set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; populate_derived(); } +Ifc4::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcPhysicalQuantity >::ptr v3_HasQuantities, std::string v4_Discrimination, boost::optional< std::string > v5_Quality, boost::optional< std::string > v6_Usage) : IfcPhysicalQuantity(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_HasQuantities)->generalize());set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; populate_derived(); } // Function implementations for IfcPhysicalQuantity -std::string Ifc4::IfcPhysicalQuantity::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4::IfcPhysicalQuantity::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4::IfcPhysicalQuantity::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4::IfcPhysicalQuantity::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4::IfcPhysicalQuantity::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcPhysicalQuantity::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4::IfcExternalReferenceRelationship::list::ptr Ifc4::IfcPhysicalQuantity::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[380], 3)->as(); } @@ -11569,127 +11569,127 @@ void Ifc4::IfcPhysicalQuantity::setDescription(boost::optional< std::string > v) const IfcParse::entity& Ifc4::IfcPhysicalQuantity::declaration() const { return *((IfcParse::entity*)IFC4_types[652]); } const IfcParse::entity& Ifc4::IfcPhysicalQuantity::Class() { return *((IfcParse::entity*)IFC4_types[652]); } Ifc4::IfcPhysicalQuantity::IfcPhysicalQuantity(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4::IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcPhysicalSimpleQuantity -::Ifc4::IfcNamedUnit* Ifc4::IfcPhysicalSimpleQuantity::Unit() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcNamedUnit>(true); } +::Ifc4::IfcNamedUnit* Ifc4::IfcPhysicalSimpleQuantity::Unit() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcNamedUnit>(true); } void Ifc4::IfcPhysicalSimpleQuantity::setUnit(::Ifc4::IfcNamedUnit* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4::IfcPhysicalSimpleQuantity::declaration() const { return *((IfcParse::entity*)IFC4_types[653]); } const IfcParse::entity& Ifc4::IfcPhysicalSimpleQuantity::Class() { return *((IfcParse::entity*)IFC4_types[653]); } Ifc4::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(IfcEntityInstanceData&& e) : IfcPhysicalQuantity(std::move(e)) { } -Ifc4::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPile -boost::optional< ::Ifc4::IfcPileTypeEnum::Value > Ifc4::IfcPile::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcPileTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcPileTypeEnum::Value > Ifc4::IfcPile::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcPileTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcPile::setPredefinedType(boost::optional< ::Ifc4::IfcPileTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcPileTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< ::Ifc4::IfcPileConstructionEnum::Value > Ifc4::IfcPile::ConstructionType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4::IfcPileConstructionEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4::IfcPileConstructionEnum::Value > Ifc4::IfcPile::ConstructionType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4::IfcPileConstructionEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcPile::setConstructionType(boost::optional< ::Ifc4::IfcPileConstructionEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4::IfcPileConstructionEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4::IfcPile::declaration() const { return *((IfcParse::entity*)IFC4_types[654]); } const IfcParse::entity& Ifc4::IfcPile::Class() { return *((IfcParse::entity*)IFC4_types[654]); } Ifc4::IfcPile::IfcPile(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4::IfcPile::IfcPile(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcPileTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4::IfcPileConstructionEnum::Value > v10_ConstructionType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; populate_derived(); } +Ifc4::IfcPile::IfcPile(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcPileTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4::IfcPileConstructionEnum::Value > v10_ConstructionType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; populate_derived(); } // Function implementations for IfcPileType -::Ifc4::IfcPileTypeEnum::Value Ifc4::IfcPileType::PredefinedType() const { return ::Ifc4::IfcPileTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcPileTypeEnum::Value Ifc4::IfcPileType::PredefinedType() const { return ::Ifc4::IfcPileTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcPileType::setPredefinedType(::Ifc4::IfcPileTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcPileTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcPileType::declaration() const { return *((IfcParse::entity*)IFC4_types[656]); } const IfcParse::entity& Ifc4::IfcPileType::Class() { return *((IfcParse::entity*)IFC4_types[656]); } Ifc4::IfcPileType::IfcPileType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4::IfcPileType::IfcPileType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcPileTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcPileType::IfcPileType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcPileTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPipeFitting -boost::optional< ::Ifc4::IfcPipeFittingTypeEnum::Value > Ifc4::IfcPipeFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcPipeFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcPipeFittingTypeEnum::Value > Ifc4::IfcPipeFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcPipeFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcPipeFitting::setPredefinedType(boost::optional< ::Ifc4::IfcPipeFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcPipeFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcPipeFitting::declaration() const { return *((IfcParse::entity*)IFC4_types[658]); } const IfcParse::entity& Ifc4::IfcPipeFitting::Class() { return *((IfcParse::entity*)IFC4_types[658]); } Ifc4::IfcPipeFitting::IfcPipeFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4::IfcPipeFitting::IfcPipeFitting(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcPipeFitting::IfcPipeFitting(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPipeFittingType -::Ifc4::IfcPipeFittingTypeEnum::Value Ifc4::IfcPipeFittingType::PredefinedType() const { return ::Ifc4::IfcPipeFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcPipeFittingTypeEnum::Value Ifc4::IfcPipeFittingType::PredefinedType() const { return ::Ifc4::IfcPipeFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcPipeFittingType::setPredefinedType(::Ifc4::IfcPipeFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcPipeFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcPipeFittingType::declaration() const { return *((IfcParse::entity*)IFC4_types[659]); } const IfcParse::entity& Ifc4::IfcPipeFittingType::Class() { return *((IfcParse::entity*)IFC4_types[659]); } Ifc4::IfcPipeFittingType::IfcPipeFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4::IfcPipeFittingType::IfcPipeFittingType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcPipeFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcPipeFittingType::IfcPipeFittingType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcPipeFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPipeSegment -boost::optional< ::Ifc4::IfcPipeSegmentTypeEnum::Value > Ifc4::IfcPipeSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcPipeSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcPipeSegmentTypeEnum::Value > Ifc4::IfcPipeSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcPipeSegment::setPredefinedType(boost::optional< ::Ifc4::IfcPipeSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcPipeSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcPipeSegment::declaration() const { return *((IfcParse::entity*)IFC4_types[661]); } const IfcParse::entity& Ifc4::IfcPipeSegment::Class() { return *((IfcParse::entity*)IFC4_types[661]); } Ifc4::IfcPipeSegment::IfcPipeSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4::IfcPipeSegment::IfcPipeSegment(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcPipeSegment::IfcPipeSegment(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPipeSegmentType -::Ifc4::IfcPipeSegmentTypeEnum::Value Ifc4::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4::IfcPipeSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcPipeSegmentTypeEnum::Value Ifc4::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcPipeSegmentType::setPredefinedType(::Ifc4::IfcPipeSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcPipeSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcPipeSegmentType::declaration() const { return *((IfcParse::entity*)IFC4_types[662]); } const IfcParse::entity& Ifc4::IfcPipeSegmentType::Class() { return *((IfcParse::entity*)IFC4_types[662]); } Ifc4::IfcPipeSegmentType::IfcPipeSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4::IfcPipeSegmentType::IfcPipeSegmentType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcPipeSegmentType::IfcPipeSegmentType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPixelTexture -int Ifc4::IfcPixelTexture::Width() const { int v = data_.get_attribute_value(5); return v; } +int Ifc4::IfcPixelTexture::Width() const { int v = get_attribute_value(5); return v; } void Ifc4::IfcPixelTexture::setWidth(int v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -int Ifc4::IfcPixelTexture::Height() const { int v = data_.get_attribute_value(6); return v; } +int Ifc4::IfcPixelTexture::Height() const { int v = get_attribute_value(6); return v; } void Ifc4::IfcPixelTexture::setHeight(int v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -int Ifc4::IfcPixelTexture::ColourComponents() const { int v = data_.get_attribute_value(7); return v; } +int Ifc4::IfcPixelTexture::ColourComponents() const { int v = get_attribute_value(7); return v; } void Ifc4::IfcPixelTexture::setColourComponents(int v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector< boost::dynamic_bitset<> > /*[1:?]*/ Ifc4::IfcPixelTexture::Pixel() const { std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< boost::dynamic_bitset<> > /*[1:?]*/ Ifc4::IfcPixelTexture::Pixel() const { std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v = get_attribute_value(8); return v; } void Ifc4::IfcPixelTexture::setPixel(std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4::IfcPixelTexture::declaration() const { return *((IfcParse::entity*)IFC4_types[664]); } const IfcParse::entity& Ifc4::IfcPixelTexture::Class() { return *((IfcParse::entity*)IFC4_types[664]); } Ifc4::IfcPixelTexture::IfcPixelTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -Ifc4::IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) : IfcSurfaceTexture(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel));; populate_derived(); } +Ifc4::IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) : IfcSurfaceTexture(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel));; populate_derived(); } // Function implementations for IfcPlacement -::Ifc4::IfcCartesianPoint* Ifc4::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcCartesianPoint>(true); } +::Ifc4::IfcCartesianPoint* Ifc4::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcCartesianPoint>(true); } void Ifc4::IfcPlacement::setLocation(::Ifc4::IfcCartesianPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4::IfcPlacement::declaration() const { return *((IfcParse::entity*)IFC4_types[665]); } const IfcParse::entity& Ifc4::IfcPlacement::Class() { return *((IfcParse::entity*)IFC4_types[665]); } Ifc4::IfcPlacement::IfcPlacement(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4::IfcPlacement::IfcPlacement(::Ifc4::IfcCartesianPoint* v1_Location) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcPlacement::IfcPlacement(::Ifc4::IfcCartesianPoint* v1_Location) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlanarBox -::Ifc4::IfcAxis2Placement* Ifc4::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcAxis2Placement>(true); } +::Ifc4::IfcAxis2Placement* Ifc4::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcAxis2Placement>(true); } void Ifc4::IfcPlanarBox::setPlacement(::Ifc4::IfcAxis2Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4::IfcPlanarBox::declaration() const { return *((IfcParse::entity*)IFC4_types[666]); } const IfcParse::entity& Ifc4::IfcPlanarBox::Class() { return *((IfcParse::entity*)IFC4_types[666]); } Ifc4::IfcPlanarBox::IfcPlanarBox(IfcEntityInstanceData&& e) : IfcPlanarExtent(std::move(e)) { } -Ifc4::IfcPlanarBox::IfcPlanarBox(double v1_SizeInX, double v2_SizeInY, ::Ifc4::IfcAxis2Placement* v3_Placement) : IfcPlanarExtent(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, v3_Placement ? v3_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcPlanarBox::IfcPlanarBox(double v1_SizeInX, double v2_SizeInY, ::Ifc4::IfcAxis2Placement* v3_Placement) : IfcPlanarExtent(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, v3_Placement ? v3_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlanarExtent -double Ifc4::IfcPlanarExtent::SizeInX() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4::IfcPlanarExtent::SizeInX() const { double v = get_attribute_value(0); return v; } void Ifc4::IfcPlanarExtent::setSizeInX(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc4::IfcPlanarExtent::SizeInY() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4::IfcPlanarExtent::SizeInY() const { double v = get_attribute_value(1); return v; } void Ifc4::IfcPlanarExtent::setSizeInY(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcPlanarExtent::declaration() const { return *((IfcParse::entity*)IFC4_types[667]); } const IfcParse::entity& Ifc4::IfcPlanarExtent::Class() { return *((IfcParse::entity*)IFC4_types[667]); } Ifc4::IfcPlanarExtent::IfcPlanarExtent(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeInY) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; populate_derived(); } +Ifc4::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeInY) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; populate_derived(); } // Function implementations for IfcPlane @@ -11697,17 +11697,17 @@ Ifc4::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeInY) : I const IfcParse::entity& Ifc4::IfcPlane::declaration() const { return *((IfcParse::entity*)IFC4_types[669]); } const IfcParse::entity& Ifc4::IfcPlane::Class() { return *((IfcParse::entity*)IFC4_types[669]); } Ifc4::IfcPlane::IfcPlane(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4::IfcPlane::IfcPlane(::Ifc4::IfcAxis2Placement3D* v1_Position) : IfcElementarySurface(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcPlane::IfcPlane(::Ifc4::IfcAxis2Placement3D* v1_Position) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlate -boost::optional< ::Ifc4::IfcPlateTypeEnum::Value > Ifc4::IfcPlate::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcPlateTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcPlateTypeEnum::Value > Ifc4::IfcPlate::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcPlateTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcPlate::setPredefinedType(boost::optional< ::Ifc4::IfcPlateTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcPlateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcPlate::declaration() const { return *((IfcParse::entity*)IFC4_types[671]); } const IfcParse::entity& Ifc4::IfcPlate::Class() { return *((IfcParse::entity*)IFC4_types[671]); } Ifc4::IfcPlate::IfcPlate(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4::IfcPlate::IfcPlate(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcPlateTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcPlate::IfcPlate(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcPlateTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPlateStandardCase @@ -11715,17 +11715,17 @@ Ifc4::IfcPlate::IfcPlate(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_Ow const IfcParse::entity& Ifc4::IfcPlateStandardCase::declaration() const { return *((IfcParse::entity*)IFC4_types[672]); } const IfcParse::entity& Ifc4::IfcPlateStandardCase::Class() { return *((IfcParse::entity*)IFC4_types[672]); } Ifc4::IfcPlateStandardCase::IfcPlateStandardCase(IfcEntityInstanceData&& e) : IfcPlate(std::move(e)) { } -Ifc4::IfcPlateStandardCase::IfcPlateStandardCase(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcPlateTypeEnum::Value > v9_PredefinedType) : IfcPlate(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcPlateStandardCase::IfcPlateStandardCase(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcPlateTypeEnum::Value > v9_PredefinedType) : IfcPlate(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPlateType -::Ifc4::IfcPlateTypeEnum::Value Ifc4::IfcPlateType::PredefinedType() const { return ::Ifc4::IfcPlateTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcPlateTypeEnum::Value Ifc4::IfcPlateType::PredefinedType() const { return ::Ifc4::IfcPlateTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcPlateType::setPredefinedType(::Ifc4::IfcPlateTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcPlateTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcPlateType::declaration() const { return *((IfcParse::entity*)IFC4_types[673]); } const IfcParse::entity& Ifc4::IfcPlateType::Class() { return *((IfcParse::entity*)IFC4_types[673]); } Ifc4::IfcPlateType::IfcPlateType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4::IfcPlateType::IfcPlateType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcPlateTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcPlateType::IfcPlateType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcPlateTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPoint @@ -11733,79 +11733,79 @@ Ifc4::IfcPlateType::IfcPlateType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistor const IfcParse::entity& Ifc4::IfcPoint::declaration() const { return *((IfcParse::entity*)IFC4_types[675]); } const IfcParse::entity& Ifc4::IfcPoint::Class() { return *((IfcParse::entity*)IFC4_types[675]); } Ifc4::IfcPoint::IfcPoint(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPointOnCurve -::Ifc4::IfcCurve* Ifc4::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcCurve>(true); } +::Ifc4::IfcCurve* Ifc4::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcPointOnCurve::setBasisCurve(::Ifc4::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4::IfcPointOnCurve::PointParameter() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4::IfcPointOnCurve::PointParameter() const { double v = get_attribute_value(1); return v; } void Ifc4::IfcPointOnCurve::setPointParameter(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcPointOnCurve::declaration() const { return *((IfcParse::entity*)IFC4_types[676]); } const IfcParse::entity& Ifc4::IfcPointOnCurve::Class() { return *((IfcParse::entity*)IFC4_types[676]); } Ifc4::IfcPointOnCurve::IfcPointOnCurve(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4::IfcPointOnCurve::IfcPointOnCurve(::Ifc4::IfcCurve* v1_BasisCurve, double v2_PointParameter) : IfcPoint(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameter));; populate_derived(); } +Ifc4::IfcPointOnCurve::IfcPointOnCurve(::Ifc4::IfcCurve* v1_BasisCurve, double v2_PointParameter) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameter));; populate_derived(); } // Function implementations for IfcPointOnSurface -::Ifc4::IfcSurface* Ifc4::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcSurface>(true); } +::Ifc4::IfcSurface* Ifc4::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcSurface>(true); } void Ifc4::IfcPointOnSurface::setBasisSurface(::Ifc4::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4::IfcPointOnSurface::PointParameterU() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4::IfcPointOnSurface::PointParameterU() const { double v = get_attribute_value(1); return v; } void Ifc4::IfcPointOnSurface::setPointParameterU(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4::IfcPointOnSurface::PointParameterV() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4::IfcPointOnSurface::PointParameterV() const { double v = get_attribute_value(2); return v; } void Ifc4::IfcPointOnSurface::setPointParameterV(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4::IfcPointOnSurface::declaration() const { return *((IfcParse::entity*)IFC4_types[677]); } const IfcParse::entity& Ifc4::IfcPointOnSurface::Class() { return *((IfcParse::entity*)IFC4_types[677]); } Ifc4::IfcPointOnSurface::IfcPointOnSurface(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4::IfcPointOnSurface::IfcPointOnSurface(::Ifc4::IfcSurface* v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) : IfcPoint(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; populate_derived(); } +Ifc4::IfcPointOnSurface::IfcPointOnSurface(::Ifc4::IfcSurface* v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; populate_derived(); } // Function implementations for IfcPolyLoop -aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr Ifc4::IfcPolyLoop::Polygon() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4::IfcCartesianPoint >(); } +aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr Ifc4::IfcPolyLoop::Polygon() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4::IfcCartesianPoint >(); } void Ifc4::IfcPolyLoop::setPolygon(aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4::IfcPolyLoop::declaration() const { return *((IfcParse::entity*)IFC4_types[682]); } const IfcParse::entity& Ifc4::IfcPolyLoop::Class() { return *((IfcParse::entity*)IFC4_types[682]); } Ifc4::IfcPolyLoop::IfcPolyLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc4::IfcPolyLoop::IfcPolyLoop(aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr v1_Polygon) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Polygon)->generalize());; populate_derived(); } +Ifc4::IfcPolyLoop::IfcPolyLoop(aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr v1_Polygon) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Polygon)->generalize());; populate_derived(); } // Function implementations for IfcPolygonalBoundedHalfSpace -::Ifc4::IfcAxis2Placement3D* Ifc4::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcAxis2Placement3D>(true); } +::Ifc4::IfcAxis2Placement3D* Ifc4::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcAxis2Placement3D>(true); } void Ifc4::IfcPolygonalBoundedHalfSpace::setPosition(::Ifc4::IfcAxis2Placement3D* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcBoundedCurve* Ifc4::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4::IfcBoundedCurve>(true); } +::Ifc4::IfcBoundedCurve* Ifc4::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4::IfcBoundedCurve>(true); } void Ifc4::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(::Ifc4::IfcBoundedCurve* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4::IfcPolygonalBoundedHalfSpace::declaration() const { return *((IfcParse::entity*)IFC4_types[679]); } const IfcParse::entity& Ifc4::IfcPolygonalBoundedHalfSpace::Class() { return *((IfcParse::entity*)IFC4_types[679]); } Ifc4::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(IfcEntityInstanceData&& e) : IfcHalfSpaceSolid(std::move(e)) { } -Ifc4::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(::Ifc4::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4::IfcAxis2Placement3D* v3_Position, ::Ifc4::IfcBoundedCurve* v4_PolygonalBoundary) : IfcHalfSpaceSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PolygonalBoundary ? v4_PolygonalBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(::Ifc4::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4::IfcAxis2Placement3D* v3_Position, ::Ifc4::IfcBoundedCurve* v4_PolygonalBoundary) : IfcHalfSpaceSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PolygonalBoundary ? v4_PolygonalBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPolygonalFaceSet -boost::optional< bool > Ifc4::IfcPolygonalFaceSet::Closed() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } bool v = data_.get_attribute_value(1); return v; } +boost::optional< bool > Ifc4::IfcPolygonalFaceSet::Closed() const { if(get_attribute_value(1).isNull()) { return boost::none; } bool v = get_attribute_value(1); return v; } void Ifc4::IfcPolygonalFaceSet::setClosed(boost::optional< bool > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4::IfcIndexedPolygonalFace >::ptr Ifc4::IfcPolygonalFaceSet::Faces() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4::IfcIndexedPolygonalFace >(); } +aggregate_of< ::Ifc4::IfcIndexedPolygonalFace >::ptr Ifc4::IfcPolygonalFaceSet::Faces() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4::IfcIndexedPolygonalFace >(); } void Ifc4::IfcPolygonalFaceSet::setFaces(aggregate_of< ::Ifc4::IfcIndexedPolygonalFace >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4::IfcPolygonalFaceSet::PnIndex() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4::IfcPolygonalFaceSet::PnIndex() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4::IfcPolygonalFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4::IfcPolygonalFaceSet::declaration() const { return *((IfcParse::entity*)IFC4_types[680]); } const IfcParse::entity& Ifc4::IfcPolygonalFaceSet::Class() { return *((IfcParse::entity*)IFC4_types[680]); } Ifc4::IfcPolygonalFaceSet::IfcPolygonalFaceSet(IfcEntityInstanceData&& e) : IfcTessellatedFaceSet(std::move(e)) { } -Ifc4::IfcPolygonalFaceSet::IfcPolygonalFaceSet(::Ifc4::IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v2_Closed, aggregate_of< ::Ifc4::IfcIndexedPolygonalFace >::ptr v3_Faces, boost::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) : IfcTessellatedFaceSet(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, (v3_Faces)->generalize()); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); }; populate_derived(); } +Ifc4::IfcPolygonalFaceSet::IfcPolygonalFaceSet(::Ifc4::IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v2_Closed, aggregate_of< ::Ifc4::IfcIndexedPolygonalFace >::ptr v3_Faces, boost::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) : IfcTessellatedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, (v3_Faces)->generalize()); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); }; populate_derived(); } // Function implementations for IfcPolyline -aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr Ifc4::IfcPolyline::Points() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4::IfcCartesianPoint >(); } +aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr Ifc4::IfcPolyline::Points() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4::IfcCartesianPoint >(); } void Ifc4::IfcPolyline::setPoints(aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4::IfcPolyline::declaration() const { return *((IfcParse::entity*)IFC4_types[681]); } const IfcParse::entity& Ifc4::IfcPolyline::Class() { return *((IfcParse::entity*)IFC4_types[681]); } Ifc4::IfcPolyline::IfcPolyline(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4::IfcPolyline::IfcPolyline(aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr v1_Points) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Points)->generalize());; populate_derived(); } +Ifc4::IfcPolyline::IfcPolyline(aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr v1_Points) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Points)->generalize());; populate_derived(); } // Function implementations for IfcPort @@ -11816,29 +11816,29 @@ Ifc4::IfcPolyline::IfcPolyline(aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr v1 const IfcParse::entity& Ifc4::IfcPort::declaration() const { return *((IfcParse::entity*)IFC4_types[683]); } const IfcParse::entity& Ifc4::IfcPort::Class() { return *((IfcParse::entity*)IFC4_types[683]); } Ifc4::IfcPort::IfcPort(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4::IfcPort::IfcPort(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcPort::IfcPort(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPostalAddress -boost::optional< std::string > Ifc4::IfcPostalAddress::InternalLocation() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4::IfcPostalAddress::InternalLocation() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4::IfcPostalAddress::setInternalLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcPostalAddress::AddressLines() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcPostalAddress::AddressLines() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4::IfcPostalAddress::setAddressLines(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4::IfcPostalAddress::PostalBox() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4::IfcPostalAddress::PostalBox() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcPostalAddress::setPostalBox(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4::IfcPostalAddress::Town() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4::IfcPostalAddress::Town() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4::IfcPostalAddress::setTown(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4::IfcPostalAddress::Region() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4::IfcPostalAddress::Region() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4::IfcPostalAddress::setRegion(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4::IfcPostalAddress::PostalCode() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4::IfcPostalAddress::PostalCode() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4::IfcPostalAddress::setPostalCode(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4::IfcPostalAddress::Country() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4::IfcPostalAddress::Country() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4::IfcPostalAddress::setCountry(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4::IfcPostalAddress::declaration() const { return *((IfcParse::entity*)IFC4_types[688]); } const IfcParse::entity& Ifc4::IfcPostalAddress::Class() { return *((IfcParse::entity*)IFC4_types[688]); } Ifc4::IfcPostalAddress::IfcPostalAddress(IfcEntityInstanceData&& e) : IfcAddress(std::move(e)) { } -Ifc4::IfcPostalAddress::IfcPostalAddress(boost::optional< ::Ifc4::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) : IfcAddress(IfcEntityInstanceData(storage_t(10))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; populate_derived(); } +Ifc4::IfcPostalAddress::IfcPostalAddress(boost::optional< ::Ifc4::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) : IfcAddress(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; populate_derived(); } // Function implementations for IfcPreDefinedColour @@ -11846,7 +11846,7 @@ Ifc4::IfcPostalAddress::IfcPostalAddress(boost::optional< ::Ifc4::IfcAddressType const IfcParse::entity& Ifc4::IfcPreDefinedColour::declaration() const { return *((IfcParse::entity*)IFC4_types[690]); } const IfcParse::entity& Ifc4::IfcPreDefinedColour::Class() { return *((IfcParse::entity*)IFC4_types[690]); } Ifc4::IfcPreDefinedColour::IfcPreDefinedColour(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc4::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedCurveFont @@ -11854,17 +11854,17 @@ Ifc4::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcPreDefi const IfcParse::entity& Ifc4::IfcPreDefinedCurveFont::declaration() const { return *((IfcParse::entity*)IFC4_types[691]); } const IfcParse::entity& Ifc4::IfcPreDefinedCurveFont::Class() { return *((IfcParse::entity*)IFC4_types[691]); } Ifc4::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc4::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedItem -std::string Ifc4::IfcPreDefinedItem::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4::IfcPreDefinedItem::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4::IfcPreDefinedItem::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4::IfcPreDefinedItem::declaration() const { return *((IfcParse::entity*)IFC4_types[692]); } const IfcParse::entity& Ifc4::IfcPreDefinedItem::Class() { return *((IfcParse::entity*)IFC4_types[692]); } Ifc4::IfcPreDefinedItem::IfcPreDefinedItem(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedProperties @@ -11872,7 +11872,7 @@ Ifc4::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcPresentatio const IfcParse::entity& Ifc4::IfcPreDefinedProperties::declaration() const { return *((IfcParse::entity*)IFC4_types[693]); } const IfcParse::entity& Ifc4::IfcPreDefinedProperties::Class() { return *((IfcParse::entity*)IFC4_types[693]); } Ifc4::IfcPreDefinedProperties::IfcPreDefinedProperties(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4::IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4::IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPreDefinedPropertySet @@ -11880,7 +11880,7 @@ Ifc4::IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbstractio const IfcParse::entity& Ifc4::IfcPreDefinedPropertySet::declaration() const { return *((IfcParse::entity*)IFC4_types[694]); } const IfcParse::entity& Ifc4::IfcPreDefinedPropertySet::Class() { return *((IfcParse::entity*)IFC4_types[694]); } Ifc4::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc4::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPreDefinedTextFont @@ -11888,7 +11888,7 @@ Ifc4::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_GlobalId const IfcParse::entity& Ifc4::IfcPreDefinedTextFont::declaration() const { return *((IfcParse::entity*)IFC4_types[695]); } const IfcParse::entity& Ifc4::IfcPreDefinedTextFont::Class() { return *((IfcParse::entity*)IFC4_types[695]); } Ifc4::IfcPreDefinedTextFont::IfcPreDefinedTextFont(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc4::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPresentationItem @@ -11896,84 +11896,84 @@ Ifc4::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : IfcPre const IfcParse::entity& Ifc4::IfcPresentationItem::declaration() const { return *((IfcParse::entity*)IFC4_types[698]); } const IfcParse::entity& Ifc4::IfcPresentationItem::Class() { return *((IfcParse::entity*)IFC4_types[698]); } Ifc4::IfcPresentationItem::IfcPresentationItem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcPresentationItem::IfcPresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4::IfcPresentationItem::IfcPresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPresentationLayerAssignment -std::string Ifc4::IfcPresentationLayerAssignment::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4::IfcPresentationLayerAssignment::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4::IfcPresentationLayerAssignment::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4::IfcPresentationLayerAssignment::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4::IfcPresentationLayerAssignment::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4::IfcLayeredItem >::ptr Ifc4::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4::IfcLayeredItem >(); } +aggregate_of< ::Ifc4::IfcLayeredItem >::ptr Ifc4::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4::IfcLayeredItem >(); } void Ifc4::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4::IfcLayeredItem >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4::IfcPresentationLayerAssignment::Identifier() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4::IfcPresentationLayerAssignment::Identifier() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4::IfcPresentationLayerAssignment::declaration() const { return *((IfcParse::entity*)IFC4_types[699]); } const IfcParse::entity& Ifc4::IfcPresentationLayerAssignment::Class() { return *((IfcParse::entity*)IFC4_types[699]); } Ifc4::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; populate_derived(); } +Ifc4::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; populate_derived(); } // Function implementations for IfcPresentationLayerWithStyle -boost::logic::tribool Ifc4::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = data_.get_attribute_value(4); return v; } +boost::logic::tribool Ifc4::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = get_attribute_value(4); return v; } void Ifc4::IfcPresentationLayerWithStyle::setLayerOn(boost::logic::tribool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::logic::tribool Ifc4::IfcPresentationLayerWithStyle::LayerFrozen() const { boost::logic::tribool v = data_.get_attribute_value(5); return v; } +boost::logic::tribool Ifc4::IfcPresentationLayerWithStyle::LayerFrozen() const { boost::logic::tribool v = get_attribute_value(5); return v; } void Ifc4::IfcPresentationLayerWithStyle::setLayerFrozen(boost::logic::tribool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::logic::tribool Ifc4::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = data_.get_attribute_value(6); return v; } +boost::logic::tribool Ifc4::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = get_attribute_value(6); return v; } void Ifc4::IfcPresentationLayerWithStyle::setLayerBlocked(boost::logic::tribool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -aggregate_of< ::Ifc4::IfcPresentationStyle >::ptr Ifc4::IfcPresentationLayerWithStyle::LayerStyles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4::IfcPresentationStyle >(); } +aggregate_of< ::Ifc4::IfcPresentationStyle >::ptr Ifc4::IfcPresentationLayerWithStyle::LayerStyles() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4::IfcPresentationStyle >(); } void Ifc4::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< ::Ifc4::IfcPresentationStyle >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4::IfcPresentationLayerWithStyle::declaration() const { return *((IfcParse::entity*)IFC4_types[700]); } const IfcParse::entity& Ifc4::IfcPresentationLayerWithStyle::Class() { return *((IfcParse::entity*)IFC4_types[700]); } Ifc4::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData&& e) : IfcPresentationLayerAssignment(std::move(e)) { } -Ifc4::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, (v8_LayerStyles)->generalize());; populate_derived(); } +Ifc4::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, (v8_LayerStyles)->generalize());; populate_derived(); } // Function implementations for IfcPresentationStyle -boost::optional< std::string > Ifc4::IfcPresentationStyle::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4::IfcPresentationStyle::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4::IfcPresentationStyle::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4::IfcPresentationStyle::declaration() const { return *((IfcParse::entity*)IFC4_types[701]); } const IfcParse::entity& Ifc4::IfcPresentationStyle::Class() { return *((IfcParse::entity*)IFC4_types[701]); } Ifc4::IfcPresentationStyle::IfcPresentationStyle(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcPresentationStyleAssignment -aggregate_of< ::Ifc4::IfcPresentationStyleSelect >::ptr Ifc4::IfcPresentationStyleAssignment::Styles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4::IfcPresentationStyleSelect >(); } +aggregate_of< ::Ifc4::IfcPresentationStyleSelect >::ptr Ifc4::IfcPresentationStyleAssignment::Styles() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4::IfcPresentationStyleSelect >(); } void Ifc4::IfcPresentationStyleAssignment::setStyles(aggregate_of< ::Ifc4::IfcPresentationStyleSelect >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4::IfcPresentationStyleAssignment::declaration() const { return *((IfcParse::entity*)IFC4_types[702]); } const IfcParse::entity& Ifc4::IfcPresentationStyleAssignment::Class() { return *((IfcParse::entity*)IFC4_types[702]); } Ifc4::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of< ::Ifc4::IfcPresentationStyleSelect >::ptr v1_Styles) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Styles)->generalize());; populate_derived(); } +Ifc4::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of< ::Ifc4::IfcPresentationStyleSelect >::ptr v1_Styles) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Styles)->generalize());; populate_derived(); } // Function implementations for IfcProcedure -boost::optional< ::Ifc4::IfcProcedureTypeEnum::Value > Ifc4::IfcProcedure::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4::IfcProcedureTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4::IfcProcedureTypeEnum::Value > Ifc4::IfcProcedure::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4::IfcProcedureTypeEnum::FromString(get_attribute_value(7)); } void Ifc4::IfcProcedure::setPredefinedType(boost::optional< ::Ifc4::IfcProcedureTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4::IfcProcedureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4::IfcProcedure::declaration() const { return *((IfcParse::entity*)IFC4_types[705]); } const IfcParse::entity& Ifc4::IfcProcedure::Class() { return *((IfcParse::entity*)IFC4_types[705]); } Ifc4::IfcProcedure::IfcProcedure(IfcEntityInstanceData&& e) : IfcProcess(std::move(e)) { } -Ifc4::IfcProcedure::IfcProcedure(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< ::Ifc4::IfcProcedureTypeEnum::Value > v8_PredefinedType) : IfcProcess(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4::IfcProcedure::IfcProcedure(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< ::Ifc4::IfcProcedureTypeEnum::Value > v8_PredefinedType) : IfcProcess(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProcedureType -::Ifc4::IfcProcedureTypeEnum::Value Ifc4::IfcProcedureType::PredefinedType() const { return ::Ifc4::IfcProcedureTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcProcedureTypeEnum::Value Ifc4::IfcProcedureType::PredefinedType() const { return ::Ifc4::IfcProcedureTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcProcedureType::setPredefinedType(::Ifc4::IfcProcedureTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcProcedureTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcProcedureType::declaration() const { return *((IfcParse::entity*)IFC4_types[706]); } const IfcParse::entity& Ifc4::IfcProcedureType::Class() { return *((IfcParse::entity*)IFC4_types[706]); } Ifc4::IfcProcedureType::IfcProcedureType(IfcEntityInstanceData&& e) : IfcTypeProcess(std::move(e)) { } -Ifc4::IfcProcedureType::IfcProcedureType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4::IfcProcedureTypeEnum::Value v10_PredefinedType) : IfcTypeProcess(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcProcedureType::IfcProcedureType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4::IfcProcedureTypeEnum::Value v10_PredefinedType) : IfcTypeProcess(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcProcess -boost::optional< std::string > Ifc4::IfcProcess::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4::IfcProcess::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcProcess::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4::IfcProcess::LongDescription() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4::IfcProcess::LongDescription() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4::IfcProcess::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4::IfcRelSequence::list::ptr Ifc4::IfcProcess::IsPredecessorTo() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[839], 4)->as(); } @@ -11983,12 +11983,12 @@ void Ifc4::IfcProcess::setLongDescription(boost::optional< std::string > v) { if const IfcParse::entity& Ifc4::IfcProcess::declaration() const { return *((IfcParse::entity*)IFC4_types[708]); } const IfcParse::entity& Ifc4::IfcProcess::Class() { return *((IfcParse::entity*)IFC4_types[708]); } Ifc4::IfcProcess::IfcProcess(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4::IfcProcess::IfcProcess(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } +Ifc4::IfcProcess::IfcProcess(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } // Function implementations for IfcProduct -::Ifc4::IfcObjectPlacement* Ifc4::IfcProduct::ObjectPlacement() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcObjectPlacement>(true); } +::Ifc4::IfcObjectPlacement* Ifc4::IfcProduct::ObjectPlacement() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcObjectPlacement>(true); } void Ifc4::IfcProduct::setObjectPlacement(::Ifc4::IfcObjectPlacement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4::IfcProductRepresentation* Ifc4::IfcProduct::Representation() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4::IfcProductRepresentation>(true); } +::Ifc4::IfcProductRepresentation* Ifc4::IfcProduct::Representation() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4::IfcProductRepresentation>(true); } void Ifc4::IfcProduct::setRepresentation(::Ifc4::IfcProductRepresentation* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } ::Ifc4::IfcRelAssignsToProduct::list::ptr Ifc4::IfcProduct::ReferencedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[804], 6)->as(); } @@ -11996,7 +11996,7 @@ void Ifc4::IfcProduct::setRepresentation(::Ifc4::IfcProductRepresentation* v) { const IfcParse::entity& Ifc4::IfcProduct::declaration() const { return *((IfcParse::entity*)IFC4_types[710]); } const IfcParse::entity& Ifc4::IfcProduct::Class() { return *((IfcParse::entity*)IFC4_types[710]); } Ifc4::IfcProduct::IfcProduct(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4::IfcProduct::IfcProduct(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation) : IfcObject(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcProduct::IfcProduct(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProductDefinitionShape @@ -12006,26 +12006,26 @@ Ifc4::IfcProduct::IfcProduct(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v const IfcParse::entity& Ifc4::IfcProductDefinitionShape::declaration() const { return *((IfcParse::entity*)IFC4_types[711]); } const IfcParse::entity& Ifc4::IfcProductDefinitionShape::Class() { return *((IfcParse::entity*)IFC4_types[711]); } Ifc4::IfcProductDefinitionShape::IfcProductDefinitionShape(IfcEntityInstanceData&& e) : IfcProductRepresentation(std::move(e)) { } -Ifc4::IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcRepresentation >::ptr v3_Representations) : IfcProductRepresentation(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } +Ifc4::IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcRepresentation >::ptr v3_Representations) : IfcProductRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } // Function implementations for IfcProductRepresentation -boost::optional< std::string > Ifc4::IfcProductRepresentation::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4::IfcProductRepresentation::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4::IfcProductRepresentation::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4::IfcProductRepresentation::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4::IfcProductRepresentation::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcProductRepresentation::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4::IfcRepresentation >::ptr Ifc4::IfcProductRepresentation::Representations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4::IfcRepresentation >(); } +aggregate_of< ::Ifc4::IfcRepresentation >::ptr Ifc4::IfcProductRepresentation::Representations() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4::IfcRepresentation >(); } void Ifc4::IfcProductRepresentation::setRepresentations(aggregate_of< ::Ifc4::IfcRepresentation >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4::IfcProductRepresentation::declaration() const { return *((IfcParse::entity*)IFC4_types[712]); } const IfcParse::entity& Ifc4::IfcProductRepresentation::Class() { return *((IfcParse::entity*)IFC4_types[712]); } Ifc4::IfcProductRepresentation::IfcProductRepresentation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcProductRepresentation::IfcProductRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcRepresentation >::ptr v3_Representations) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } +Ifc4::IfcProductRepresentation::IfcProductRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcRepresentation >::ptr v3_Representations) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } // Function implementations for IfcProfileDef -::Ifc4::IfcProfileTypeEnum::Value Ifc4::IfcProfileDef::ProfileType() const { return ::Ifc4::IfcProfileTypeEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4::IfcProfileTypeEnum::Value Ifc4::IfcProfileDef::ProfileType() const { return ::Ifc4::IfcProfileTypeEnum::FromString(get_attribute_value(0)); } void Ifc4::IfcProfileDef::setProfileType(::Ifc4::IfcProfileTypeEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4::IfcProfileDef::ProfileName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4::IfcProfileDef::ProfileName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcProfileDef::setProfileName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4::IfcExternalReferenceRelationship::list::ptr Ifc4::IfcProfileDef::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[380], 3)->as(); } @@ -12034,17 +12034,17 @@ void Ifc4::IfcProfileDef::setProfileName(boost::optional< std::string > v) { if const IfcParse::entity& Ifc4::IfcProfileDef::declaration() const { return *((IfcParse::entity*)IFC4_types[715]); } const IfcParse::entity& Ifc4::IfcProfileDef::Class() { return *((IfcParse::entity*)IFC4_types[715]); } Ifc4::IfcProfileDef::IfcProfileDef(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcProfileDef::IfcProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; populate_derived(); } +Ifc4::IfcProfileDef::IfcProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; populate_derived(); } // Function implementations for IfcProfileProperties -::Ifc4::IfcProfileDef* Ifc4::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4::IfcProfileDef>(true); } +::Ifc4::IfcProfileDef* Ifc4::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4::IfcProfileDef>(true); } void Ifc4::IfcProfileProperties::setProfileDefinition(::Ifc4::IfcProfileDef* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4::IfcProfileProperties::declaration() const { return *((IfcParse::entity*)IFC4_types[716]); } const IfcParse::entity& Ifc4::IfcProfileProperties::Class() { return *((IfcParse::entity*)IFC4_types[716]); } Ifc4::IfcProfileProperties::IfcProfileProperties(IfcEntityInstanceData&& e) : IfcExtendedProperties(std::move(e)) { } -Ifc4::IfcProfileProperties::IfcProfileProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcProperty >::ptr v3_Properties, ::Ifc4::IfcProfileDef* v4_ProfileDefinition) : IfcExtendedProperties(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_ProfileDefinition ? v4_ProfileDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcProfileProperties::IfcProfileProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcProperty >::ptr v3_Properties, ::Ifc4::IfcProfileDef* v4_ProfileDefinition) : IfcExtendedProperties(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_ProfileDefinition ? v4_ProfileDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProject @@ -12052,7 +12052,7 @@ Ifc4::IfcProfileProperties::IfcProfileProperties(boost::optional< std::string > const IfcParse::entity& Ifc4::IfcProject::declaration() const { return *((IfcParse::entity*)IFC4_types[718]); } const IfcParse::entity& Ifc4::IfcProject::Class() { return *((IfcParse::entity*)IFC4_types[718]); } Ifc4::IfcProject::IfcProject(IfcEntityInstanceData&& e) : IfcContext(std::move(e)) { } -Ifc4::IfcProject::IfcProject(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcProject::IfcProject(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProjectLibrary @@ -12060,50 +12060,50 @@ Ifc4::IfcProject::IfcProject(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v const IfcParse::entity& Ifc4::IfcProjectLibrary::declaration() const { return *((IfcParse::entity*)IFC4_types[723]); } const IfcParse::entity& Ifc4::IfcProjectLibrary::Class() { return *((IfcParse::entity*)IFC4_types[723]); } Ifc4::IfcProjectLibrary::IfcProjectLibrary(IfcEntityInstanceData&& e) : IfcContext(std::move(e)) { } -Ifc4::IfcProjectLibrary::IfcProjectLibrary(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcProjectLibrary::IfcProjectLibrary(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProjectOrder -boost::optional< ::Ifc4::IfcProjectOrderTypeEnum::Value > Ifc4::IfcProjectOrder::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4::IfcProjectOrderTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4::IfcProjectOrderTypeEnum::Value > Ifc4::IfcProjectOrder::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4::IfcProjectOrderTypeEnum::FromString(get_attribute_value(6)); } void Ifc4::IfcProjectOrder::setPredefinedType(boost::optional< ::Ifc4::IfcProjectOrderTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4::IfcProjectOrderTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4::IfcProjectOrder::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4::IfcProjectOrder::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4::IfcProjectOrder::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4::IfcProjectOrder::LongDescription() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4::IfcProjectOrder::LongDescription() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4::IfcProjectOrder::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcProjectOrder::declaration() const { return *((IfcParse::entity*)IFC4_types[724]); } const IfcParse::entity& Ifc4::IfcProjectOrder::Class() { return *((IfcParse::entity*)IFC4_types[724]); } Ifc4::IfcProjectOrder::IfcProjectOrder(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4::IfcProjectOrder::IfcProjectOrder(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } +Ifc4::IfcProjectOrder::IfcProjectOrder(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } // Function implementations for IfcProjectedCRS -boost::optional< std::string > Ifc4::IfcProjectedCRS::MapProjection() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4::IfcProjectedCRS::MapProjection() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcProjectedCRS::setMapProjection(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4::IfcProjectedCRS::MapZone() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4::IfcProjectedCRS::MapZone() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcProjectedCRS::setMapZone(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4::IfcNamedUnit* Ifc4::IfcProjectedCRS::MapUnit() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4::IfcNamedUnit>(true); } +::Ifc4::IfcNamedUnit* Ifc4::IfcProjectedCRS::MapUnit() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4::IfcNamedUnit>(true); } void Ifc4::IfcProjectedCRS::setMapUnit(::Ifc4::IfcNamedUnit* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4::IfcProjectedCRS::declaration() const { return *((IfcParse::entity*)IFC4_types[719]); } const IfcParse::entity& Ifc4::IfcProjectedCRS::Class() { return *((IfcParse::entity*)IFC4_types[719]); } Ifc4::IfcProjectedCRS::IfcProjectedCRS(IfcEntityInstanceData&& e) : IfcCoordinateReferenceSystem(std::move(e)) { } -Ifc4::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, ::Ifc4::IfcNamedUnit* v7_MapUnit) : IfcCoordinateReferenceSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, v7_MapUnit ? v7_MapUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::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, ::Ifc4::IfcNamedUnit* v7_MapUnit) : IfcCoordinateReferenceSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, v7_MapUnit ? v7_MapUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProjectionElement -boost::optional< ::Ifc4::IfcProjectionElementTypeEnum::Value > Ifc4::IfcProjectionElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcProjectionElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcProjectionElementTypeEnum::Value > Ifc4::IfcProjectionElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcProjectionElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcProjectionElement::setPredefinedType(boost::optional< ::Ifc4::IfcProjectionElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcProjectionElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcProjectionElement::declaration() const { return *((IfcParse::entity*)IFC4_types[721]); } const IfcParse::entity& Ifc4::IfcProjectionElement::Class() { return *((IfcParse::entity*)IFC4_types[721]); } Ifc4::IfcProjectionElement::IfcProjectionElement(IfcEntityInstanceData&& e) : IfcFeatureElementAddition(std::move(e)) { } -Ifc4::IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementAddition(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementAddition(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProperty -std::string Ifc4::IfcProperty::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4::IfcProperty::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4::IfcProperty::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4::IfcProperty::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4::IfcProperty::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcProperty::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4::IfcPropertySet::list::ptr Ifc4::IfcProperty::PartOfPset() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[735], 4)->as(); } @@ -12116,7 +12116,7 @@ void Ifc4::IfcProperty::setDescription(boost::optional< std::string > v) { if (v const IfcParse::entity& Ifc4::IfcProperty::declaration() const { return *((IfcParse::entity*)IFC4_types[726]); } const IfcParse::entity& Ifc4::IfcProperty::Class() { return *((IfcParse::entity*)IFC4_types[726]); } Ifc4::IfcProperty::IfcProperty(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcPropertyAbstraction @@ -12125,23 +12125,23 @@ Ifc4::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std::string const IfcParse::entity& Ifc4::IfcPropertyAbstraction::declaration() const { return *((IfcParse::entity*)IFC4_types[727]); } const IfcParse::entity& Ifc4::IfcPropertyAbstraction::Class() { return *((IfcParse::entity*)IFC4_types[727]); } Ifc4::IfcPropertyAbstraction::IfcPropertyAbstraction(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcPropertyAbstraction::IfcPropertyAbstraction() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4::IfcPropertyAbstraction::IfcPropertyAbstraction() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPropertyBoundedValue -::Ifc4::IfcValue* Ifc4::IfcPropertyBoundedValue::UpperBoundValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcValue>(true); } +::Ifc4::IfcValue* Ifc4::IfcPropertyBoundedValue::UpperBoundValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcValue>(true); } void Ifc4::IfcPropertyBoundedValue::setUpperBoundValue(::Ifc4::IfcValue* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcValue* Ifc4::IfcPropertyBoundedValue::LowerBoundValue() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4::IfcValue>(true); } +::Ifc4::IfcValue* Ifc4::IfcPropertyBoundedValue::LowerBoundValue() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4::IfcValue>(true); } void Ifc4::IfcPropertyBoundedValue::setLowerBoundValue(::Ifc4::IfcValue* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4::IfcUnit* Ifc4::IfcPropertyBoundedValue::Unit() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4::IfcUnit>(true); } +::Ifc4::IfcUnit* Ifc4::IfcPropertyBoundedValue::Unit() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcPropertyBoundedValue::setUnit(::Ifc4::IfcUnit* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcValue* Ifc4::IfcPropertyBoundedValue::SetPointValue() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcValue>(true); } +::Ifc4::IfcValue* Ifc4::IfcPropertyBoundedValue::SetPointValue() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcValue>(true); } void Ifc4::IfcPropertyBoundedValue::setSetPointValue(::Ifc4::IfcValue* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4::IfcPropertyBoundedValue::declaration() const { return *((IfcParse::entity*)IFC4_types[728]); } const IfcParse::entity& Ifc4::IfcPropertyBoundedValue::Class() { return *((IfcParse::entity*)IFC4_types[728]); } Ifc4::IfcPropertyBoundedValue::IfcPropertyBoundedValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4::IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcValue* v3_UpperBoundValue, ::Ifc4::IfcValue* v4_LowerBoundValue, ::Ifc4::IfcUnit* v5_Unit, ::Ifc4::IfcValue* v6_SetPointValue) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_UpperBoundValue ? v3_UpperBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_LowerBoundValue ? v4_LowerBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_Unit ? v5_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_SetPointValue ? v6_SetPointValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcValue* v3_UpperBoundValue, ::Ifc4::IfcValue* v4_LowerBoundValue, ::Ifc4::IfcUnit* v5_Unit, ::Ifc4::IfcValue* v6_SetPointValue) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_UpperBoundValue ? v3_UpperBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_LowerBoundValue ? v4_LowerBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_Unit ? v5_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_SetPointValue ? v6_SetPointValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyDefinition @@ -12151,81 +12151,81 @@ Ifc4::IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name, boos const IfcParse::entity& Ifc4::IfcPropertyDefinition::declaration() const { return *((IfcParse::entity*)IFC4_types[729]); } const IfcParse::entity& Ifc4::IfcPropertyDefinition::Class() { return *((IfcParse::entity*)IFC4_types[729]); } Ifc4::IfcPropertyDefinition::IfcPropertyDefinition(IfcEntityInstanceData&& e) : IfcRoot(std::move(e)) { } -Ifc4::IfcPropertyDefinition::IfcPropertyDefinition(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4::IfcPropertyDefinition::IfcPropertyDefinition(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertyDependencyRelationship -::Ifc4::IfcProperty* Ifc4::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcProperty>(true); } +::Ifc4::IfcProperty* Ifc4::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcProperty>(true); } void Ifc4::IfcPropertyDependencyRelationship::setDependingProperty(::Ifc4::IfcProperty* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcProperty* Ifc4::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4::IfcProperty>(true); } +::Ifc4::IfcProperty* Ifc4::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4::IfcProperty>(true); } void Ifc4::IfcPropertyDependencyRelationship::setDependantProperty(::Ifc4::IfcProperty* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4::IfcPropertyDependencyRelationship::Expression() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4::IfcPropertyDependencyRelationship::Expression() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4::IfcPropertyDependencyRelationship::declaration() const { return *((IfcParse::entity*)IFC4_types[730]); } const IfcParse::entity& Ifc4::IfcPropertyDependencyRelationship::Class() { return *((IfcParse::entity*)IFC4_types[730]); } Ifc4::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcProperty* v3_DependingProperty, ::Ifc4::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_DependingProperty ? v3_DependingProperty->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_DependantProperty ? v4_DependantProperty->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } +Ifc4::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcProperty* v3_DependingProperty, ::Ifc4::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_DependingProperty ? v3_DependingProperty->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_DependantProperty ? v4_DependantProperty->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } // Function implementations for IfcPropertyEnumeratedValue -boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > Ifc4::IfcPropertyEnumeratedValue::EnumerationValues() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > Ifc4::IfcPropertyEnumeratedValue::EnumerationValues() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4::IfcValue >(); } void Ifc4::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } -::Ifc4::IfcPropertyEnumeration* Ifc4::IfcPropertyEnumeratedValue::EnumerationReference() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4::IfcPropertyEnumeration>(true); } +::Ifc4::IfcPropertyEnumeration* Ifc4::IfcPropertyEnumeratedValue::EnumerationReference() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4::IfcPropertyEnumeration>(true); } void Ifc4::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4::IfcPropertyEnumeration* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4::IfcPropertyEnumeratedValue::declaration() const { return *((IfcParse::entity*)IFC4_types[731]); } const IfcParse::entity& Ifc4::IfcPropertyEnumeratedValue::Class() { return *((IfcParse::entity*)IFC4_types[731]); } Ifc4::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_EnumerationValues) {set_attribute_value(2, (*v3_EnumerationValues)->generalize()); }set_attribute_value(3, v4_EnumerationReference ? v4_EnumerationReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_EnumerationValues) {set_attribute_value(2, (*v3_EnumerationValues)->generalize()); }set_attribute_value(3, v4_EnumerationReference ? v4_EnumerationReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyEnumeration -std::string Ifc4::IfcPropertyEnumeration::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4::IfcPropertyEnumeration::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4::IfcPropertyEnumeration::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4::IfcValue >::ptr Ifc4::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4::IfcValue >(); } +aggregate_of< ::Ifc4::IfcValue >::ptr Ifc4::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4::IfcValue >(); } void Ifc4::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4::IfcValue >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4::IfcUnit* Ifc4::IfcPropertyEnumeration::Unit() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcUnit>(true); } +::Ifc4::IfcUnit* Ifc4::IfcPropertyEnumeration::Unit() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcPropertyEnumeration::setUnit(::Ifc4::IfcUnit* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4::IfcPropertyEnumeration::declaration() const { return *((IfcParse::entity*)IFC4_types[732]); } const IfcParse::entity& Ifc4::IfcPropertyEnumeration::Class() { return *((IfcParse::entity*)IFC4_types[732]); } Ifc4::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4::IfcValue >::ptr v2_EnumerationValues, ::Ifc4::IfcUnit* v3_Unit) : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_EnumerationValues)->generalize());set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4::IfcValue >::ptr v2_EnumerationValues, ::Ifc4::IfcUnit* v3_Unit) : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_EnumerationValues)->generalize());set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyListValue -boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > Ifc4::IfcPropertyListValue::ListValues() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > Ifc4::IfcPropertyListValue::ListValues() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4::IfcValue >(); } void Ifc4::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } -::Ifc4::IfcUnit* Ifc4::IfcPropertyListValue::Unit() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4::IfcUnit>(true); } +::Ifc4::IfcUnit* Ifc4::IfcPropertyListValue::Unit() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcPropertyListValue::setUnit(::Ifc4::IfcUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4::IfcPropertyListValue::declaration() const { return *((IfcParse::entity*)IFC4_types[733]); } const IfcParse::entity& Ifc4::IfcPropertyListValue::Class() { return *((IfcParse::entity*)IFC4_types[733]); } Ifc4::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v3_ListValues, ::Ifc4::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_ListValues) {set_attribute_value(2, (*v3_ListValues)->generalize()); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v3_ListValues, ::Ifc4::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_ListValues) {set_attribute_value(2, (*v3_ListValues)->generalize()); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyReferenceValue -boost::optional< std::string > Ifc4::IfcPropertyReferenceValue::UsageName() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4::IfcPropertyReferenceValue::UsageName() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4::IfcObjectReferenceSelect* Ifc4::IfcPropertyReferenceValue::PropertyReference() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4::IfcObjectReferenceSelect>(true); } +::Ifc4::IfcObjectReferenceSelect* Ifc4::IfcPropertyReferenceValue::PropertyReference() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4::IfcObjectReferenceSelect>(true); } void Ifc4::IfcPropertyReferenceValue::setPropertyReference(::Ifc4::IfcObjectReferenceSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4::IfcPropertyReferenceValue::declaration() const { return *((IfcParse::entity*)IFC4_types[734]); } const IfcParse::entity& Ifc4::IfcPropertyReferenceValue::Class() { return *((IfcParse::entity*)IFC4_types[734]); } Ifc4::IfcPropertyReferenceValue::IfcPropertyReferenceValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4::IfcPropertyReferenceValue::IfcPropertyReferenceValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UsageName, ::Ifc4::IfcObjectReferenceSelect* v4_PropertyReference) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, v4_PropertyReference ? v4_PropertyReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcPropertyReferenceValue::IfcPropertyReferenceValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UsageName, ::Ifc4::IfcObjectReferenceSelect* v4_PropertyReference) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, v4_PropertyReference ? v4_PropertyReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertySet -aggregate_of< ::Ifc4::IfcProperty >::ptr Ifc4::IfcPropertySet::HasProperties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4::IfcProperty >(); } +aggregate_of< ::Ifc4::IfcProperty >::ptr Ifc4::IfcPropertySet::HasProperties() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4::IfcProperty >(); } void Ifc4::IfcPropertySet::setHasProperties(aggregate_of< ::Ifc4::IfcProperty >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4::IfcPropertySet::declaration() const { return *((IfcParse::entity*)IFC4_types[735]); } const IfcParse::entity& Ifc4::IfcPropertySet::Class() { return *((IfcParse::entity*)IFC4_types[735]); } Ifc4::IfcPropertySet::IfcPropertySet(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc4::IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcProperty >::ptr v5_HasProperties) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_HasProperties)->generalize());; populate_derived(); } +Ifc4::IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcProperty >::ptr v5_HasProperties) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_HasProperties)->generalize());; populate_derived(); } // Function implementations for IfcPropertySetDefinition @@ -12236,14 +12236,14 @@ Ifc4::IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, ::Ifc4::IfcOwnerHi const IfcParse::entity& Ifc4::IfcPropertySetDefinition::declaration() const { return *((IfcParse::entity*)IFC4_types[736]); } const IfcParse::entity& Ifc4::IfcPropertySetDefinition::Class() { return *((IfcParse::entity*)IFC4_types[736]); } Ifc4::IfcPropertySetDefinition::IfcPropertySetDefinition(IfcEntityInstanceData&& e) : IfcPropertyDefinition(std::move(e)) { } -Ifc4::IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4::IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertySetTemplate -boost::optional< ::Ifc4::IfcPropertySetTemplateTypeEnum::Value > Ifc4::IfcPropertySetTemplate::TemplateType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4::IfcPropertySetTemplateTypeEnum::FromString(data_.get_attribute_value(4)); } +boost::optional< ::Ifc4::IfcPropertySetTemplateTypeEnum::Value > Ifc4::IfcPropertySetTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4::IfcPropertySetTemplateTypeEnum::FromString(get_attribute_value(4)); } void Ifc4::IfcPropertySetTemplate::setTemplateType(boost::optional< ::Ifc4::IfcPropertySetTemplateTypeEnum::Value > v) { if (v) {set_attribute_value(4, EnumerationReference(&::Ifc4::IfcPropertySetTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4::IfcPropertySetTemplate::ApplicableEntity() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4::IfcPropertySetTemplate::ApplicableEntity() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcPropertySetTemplate::setApplicableEntity(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -aggregate_of< ::Ifc4::IfcPropertyTemplate >::ptr Ifc4::IfcPropertySetTemplate::HasPropertyTemplates() const { aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4::IfcPropertyTemplate >(); } +aggregate_of< ::Ifc4::IfcPropertyTemplate >::ptr Ifc4::IfcPropertySetTemplate::HasPropertyTemplates() const { aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4::IfcPropertyTemplate >(); } void Ifc4::IfcPropertySetTemplate::setHasPropertyTemplates(aggregate_of< ::Ifc4::IfcPropertyTemplate >::ptr v) { set_attribute_value(6, (v)->generalize());if constexpr (false)unset_attribute_value(6); } ::Ifc4::IfcRelDefinesByTemplate::list::ptr Ifc4::IfcPropertySetTemplate::Defines() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[831], 5)->as(); } @@ -12251,39 +12251,39 @@ void Ifc4::IfcPropertySetTemplate::setHasPropertyTemplates(aggregate_of< ::Ifc4: const IfcParse::entity& Ifc4::IfcPropertySetTemplate::declaration() const { return *((IfcParse::entity*)IFC4_types[739]); } const IfcParse::entity& Ifc4::IfcPropertySetTemplate::Class() { return *((IfcParse::entity*)IFC4_types[739]); } Ifc4::IfcPropertySetTemplate::IfcPropertySetTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplateDefinition(std::move(e)) { } -Ifc4::IfcPropertySetTemplate::IfcPropertySetTemplate(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_ApplicableEntity, aggregate_of< ::Ifc4::IfcPropertyTemplate >::ptr v7_HasPropertyTemplates) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, (v7_HasPropertyTemplates)->generalize());; populate_derived(); } +Ifc4::IfcPropertySetTemplate::IfcPropertySetTemplate(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_ApplicableEntity, aggregate_of< ::Ifc4::IfcPropertyTemplate >::ptr v7_HasPropertyTemplates) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, (v7_HasPropertyTemplates)->generalize());; populate_derived(); } // Function implementations for IfcPropertySingleValue -::Ifc4::IfcValue* Ifc4::IfcPropertySingleValue::NominalValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcValue>(true); } +::Ifc4::IfcValue* Ifc4::IfcPropertySingleValue::NominalValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcValue>(true); } void Ifc4::IfcPropertySingleValue::setNominalValue(::Ifc4::IfcValue* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcUnit* Ifc4::IfcPropertySingleValue::Unit() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4::IfcUnit>(true); } +::Ifc4::IfcUnit* Ifc4::IfcPropertySingleValue::Unit() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcPropertySingleValue::setUnit(::Ifc4::IfcUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4::IfcPropertySingleValue::declaration() const { return *((IfcParse::entity*)IFC4_types[741]); } const IfcParse::entity& Ifc4::IfcPropertySingleValue::Class() { return *((IfcParse::entity*)IFC4_types[741]); } Ifc4::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcValue* v3_NominalValue, ::Ifc4::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_NominalValue ? v3_NominalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcValue* v3_NominalValue, ::Ifc4::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_NominalValue ? v3_NominalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyTableValue -boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > Ifc4::IfcPropertyTableValue::DefiningValues() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > Ifc4::IfcPropertyTableValue::DefiningValues() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4::IfcValue >(); } void Ifc4::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } -boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > Ifc4::IfcPropertyTableValue::DefinedValues() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > Ifc4::IfcPropertyTableValue::DefinedValues() const { if(get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4::IfcValue >(); } void Ifc4::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v) { if (v) {set_attribute_value(3, (*v)->generalize());} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4::IfcPropertyTableValue::Expression() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4::IfcPropertyTableValue::Expression() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4::IfcUnit* Ifc4::IfcPropertyTableValue::DefiningUnit() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcUnit>(true); } +::Ifc4::IfcUnit* Ifc4::IfcPropertyTableValue::DefiningUnit() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcPropertyTableValue::setDefiningUnit(::Ifc4::IfcUnit* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4::IfcUnit* Ifc4::IfcPropertyTableValue::DefinedUnit() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4::IfcUnit>(true); } +::Ifc4::IfcUnit* Ifc4::IfcPropertyTableValue::DefinedUnit() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcPropertyTableValue::setDefinedUnit(::Ifc4::IfcUnit* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< ::Ifc4::IfcCurveInterpolationEnum::Value > Ifc4::IfcPropertyTableValue::CurveInterpolation() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4::IfcCurveInterpolationEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4::IfcCurveInterpolationEnum::Value > Ifc4::IfcPropertyTableValue::CurveInterpolation() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4::IfcCurveInterpolationEnum::FromString(get_attribute_value(7)); } void Ifc4::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc4::IfcCurveInterpolationEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4::IfcCurveInterpolationEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4::IfcPropertyTableValue::declaration() const { return *((IfcParse::entity*)IFC4_types[742]); } const IfcParse::entity& Ifc4::IfcPropertyTableValue::Class() { return *((IfcParse::entity*)IFC4_types[742]); } Ifc4::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4::IfcUnit* v6_DefiningUnit, ::Ifc4::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_DefiningValues) {set_attribute_value(2, (*v3_DefiningValues)->generalize()); } if (v4_DefinedValues) {set_attribute_value(3, (*v4_DefinedValues)->generalize()); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, v6_DefiningUnit ? v6_DefiningUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_DefinedUnit ? v7_DefinedUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_CurveInterpolation) {set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); }; populate_derived(); } +Ifc4::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4::IfcUnit* v6_DefiningUnit, ::Ifc4::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_DefiningValues) {set_attribute_value(2, (*v3_DefiningValues)->generalize()); } if (v4_DefinedValues) {set_attribute_value(3, (*v4_DefinedValues)->generalize()); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, v6_DefiningUnit ? v6_DefiningUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_DefinedUnit ? v7_DefinedUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_CurveInterpolation) {set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); }; populate_derived(); } // Function implementations for IfcPropertyTemplate @@ -12293,7 +12293,7 @@ Ifc4::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::o const IfcParse::entity& Ifc4::IfcPropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4_types[743]); } const IfcParse::entity& Ifc4::IfcPropertyTemplate::Class() { return *((IfcParse::entity*)IFC4_types[743]); } Ifc4::IfcPropertyTemplate::IfcPropertyTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplateDefinition(std::move(e)) { } -Ifc4::IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4::IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertyTemplateDefinition @@ -12301,115 +12301,115 @@ Ifc4::IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, ::Ifc4:: const IfcParse::entity& Ifc4::IfcPropertyTemplateDefinition::declaration() const { return *((IfcParse::entity*)IFC4_types[744]); } const IfcParse::entity& Ifc4::IfcPropertyTemplateDefinition::Class() { return *((IfcParse::entity*)IFC4_types[744]); } Ifc4::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(IfcEntityInstanceData&& e) : IfcPropertyDefinition(std::move(e)) { } -Ifc4::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcProtectiveDevice -boost::optional< ::Ifc4::IfcProtectiveDeviceTypeEnum::Value > Ifc4::IfcProtectiveDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcProtectiveDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcProtectiveDeviceTypeEnum::Value > Ifc4::IfcProtectiveDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcProtectiveDevice::setPredefinedType(boost::optional< ::Ifc4::IfcProtectiveDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcProtectiveDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcProtectiveDevice::declaration() const { return *((IfcParse::entity*)IFC4_types[745]); } const IfcParse::entity& Ifc4::IfcProtectiveDevice::Class() { return *((IfcParse::entity*)IFC4_types[745]); } Ifc4::IfcProtectiveDevice::IfcProtectiveDevice(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4::IfcProtectiveDevice::IfcProtectiveDevice(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcProtectiveDevice::IfcProtectiveDevice(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProtectiveDeviceTrippingUnit -boost::optional< ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcProtectiveDeviceTrippingUnit::setPredefinedType(boost::optional< ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcProtectiveDeviceTrippingUnit::declaration() const { return *((IfcParse::entity*)IFC4_types[746]); } const IfcParse::entity& Ifc4::IfcProtectiveDeviceTrippingUnit::Class() { return *((IfcParse::entity*)IFC4_types[746]); } Ifc4::IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4::IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProtectiveDeviceTrippingUnitType -::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcProtectiveDeviceTrippingUnitType::setPredefinedType(::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcProtectiveDeviceTrippingUnitType::declaration() const { return *((IfcParse::entity*)IFC4_types[747]); } const IfcParse::entity& Ifc4::IfcProtectiveDeviceTrippingUnitType::Class() { return *((IfcParse::entity*)IFC4_types[747]); } Ifc4::IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4::IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcProtectiveDeviceType -::Ifc4::IfcProtectiveDeviceTypeEnum::Value Ifc4::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4::IfcProtectiveDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcProtectiveDeviceTypeEnum::Value Ifc4::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcProtectiveDeviceType::setPredefinedType(::Ifc4::IfcProtectiveDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcProtectiveDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcProtectiveDeviceType::declaration() const { return *((IfcParse::entity*)IFC4_types[749]); } const IfcParse::entity& Ifc4::IfcProtectiveDeviceType::Class() { return *((IfcParse::entity*)IFC4_types[749]); } Ifc4::IfcProtectiveDeviceType::IfcProtectiveDeviceType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4::IfcProtectiveDeviceType::IfcProtectiveDeviceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcProtectiveDeviceType::IfcProtectiveDeviceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcProxy -::Ifc4::IfcObjectTypeEnum::Value Ifc4::IfcProxy::ProxyType() const { return ::Ifc4::IfcObjectTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4::IfcObjectTypeEnum::Value Ifc4::IfcProxy::ProxyType() const { return ::Ifc4::IfcObjectTypeEnum::FromString(get_attribute_value(7)); } void Ifc4::IfcProxy::setProxyType(::Ifc4::IfcObjectTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4::IfcObjectTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc4::IfcProxy::Tag() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4::IfcProxy::Tag() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4::IfcProxy::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcProxy::declaration() const { return *((IfcParse::entity*)IFC4_types[751]); } const IfcParse::entity& Ifc4::IfcProxy::Class() { return *((IfcParse::entity*)IFC4_types[751]); } Ifc4::IfcProxy::IfcProxy(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4::IfcProxy::IfcProxy(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcObjectTypeEnum::Value v8_ProxyType, boost::optional< std::string > v9_Tag) : IfcProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)v8_ProxyType))); if (v9_Tag) {set_attribute_value(8, (*v9_Tag)); }; populate_derived(); } +Ifc4::IfcProxy::IfcProxy(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcObjectTypeEnum::Value v8_ProxyType, boost::optional< std::string > v9_Tag) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)v8_ProxyType))); if (v9_Tag) {set_attribute_value(8, (*v9_Tag)); }; populate_derived(); } // Function implementations for IfcPump -boost::optional< ::Ifc4::IfcPumpTypeEnum::Value > Ifc4::IfcPump::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcPumpTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcPumpTypeEnum::Value > Ifc4::IfcPump::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcPumpTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcPump::setPredefinedType(boost::optional< ::Ifc4::IfcPumpTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcPumpTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcPump::declaration() const { return *((IfcParse::entity*)IFC4_types[752]); } const IfcParse::entity& Ifc4::IfcPump::Class() { return *((IfcParse::entity*)IFC4_types[752]); } Ifc4::IfcPump::IfcPump(IfcEntityInstanceData&& e) : IfcFlowMovingDevice(std::move(e)) { } -Ifc4::IfcPump::IfcPump(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcPumpTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcPump::IfcPump(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcPumpTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPumpType -::Ifc4::IfcPumpTypeEnum::Value Ifc4::IfcPumpType::PredefinedType() const { return ::Ifc4::IfcPumpTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcPumpTypeEnum::Value Ifc4::IfcPumpType::PredefinedType() const { return ::Ifc4::IfcPumpTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcPumpType::setPredefinedType(::Ifc4::IfcPumpTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcPumpTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcPumpType::declaration() const { return *((IfcParse::entity*)IFC4_types[753]); } const IfcParse::entity& Ifc4::IfcPumpType::Class() { return *((IfcParse::entity*)IFC4_types[753]); } Ifc4::IfcPumpType::IfcPumpType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(e)) { } -Ifc4::IfcPumpType::IfcPumpType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcPumpTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcPumpType::IfcPumpType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcPumpTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcQuantityArea -double Ifc4::IfcQuantityArea::AreaValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4::IfcQuantityArea::AreaValue() const { double v = get_attribute_value(3); return v; } void Ifc4::IfcQuantityArea::setAreaValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4::IfcQuantityArea::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4::IfcQuantityArea::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcQuantityArea::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4::IfcQuantityArea::declaration() const { return *((IfcParse::entity*)IFC4_types[755]); } const IfcParse::entity& Ifc4::IfcQuantityArea::Class() { return *((IfcParse::entity*)IFC4_types[755]); } Ifc4::IfcQuantityArea::IfcQuantityArea(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4::IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit* v3_Unit, double v4_AreaValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4::IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit* v3_Unit, double v4_AreaValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityCount -double Ifc4::IfcQuantityCount::CountValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4::IfcQuantityCount::CountValue() const { double v = get_attribute_value(3); return v; } void Ifc4::IfcQuantityCount::setCountValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4::IfcQuantityCount::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4::IfcQuantityCount::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcQuantityCount::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4::IfcQuantityCount::declaration() const { return *((IfcParse::entity*)IFC4_types[756]); } const IfcParse::entity& Ifc4::IfcQuantityCount::Class() { return *((IfcParse::entity*)IFC4_types[756]); } Ifc4::IfcQuantityCount::IfcQuantityCount(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4::IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit* v3_Unit, double v4_CountValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4::IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit* v3_Unit, double v4_CountValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityLength -double Ifc4::IfcQuantityLength::LengthValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4::IfcQuantityLength::LengthValue() const { double v = get_attribute_value(3); return v; } void Ifc4::IfcQuantityLength::setLengthValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4::IfcQuantityLength::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4::IfcQuantityLength::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcQuantityLength::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4::IfcQuantityLength::declaration() const { return *((IfcParse::entity*)IFC4_types[757]); } const IfcParse::entity& Ifc4::IfcQuantityLength::Class() { return *((IfcParse::entity*)IFC4_types[757]); } Ifc4::IfcQuantityLength::IfcQuantityLength(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4::IfcQuantityLength::IfcQuantityLength(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit* v3_Unit, double v4_LengthValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4::IfcQuantityLength::IfcQuantityLength(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit* v3_Unit, double v4_LengthValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantitySet @@ -12417,321 +12417,321 @@ Ifc4::IfcQuantityLength::IfcQuantityLength(std::string v1_Name, boost::optional< const IfcParse::entity& Ifc4::IfcQuantitySet::declaration() const { return *((IfcParse::entity*)IFC4_types[758]); } const IfcParse::entity& Ifc4::IfcQuantitySet::Class() { return *((IfcParse::entity*)IFC4_types[758]); } Ifc4::IfcQuantitySet::IfcQuantitySet(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc4::IfcQuantitySet::IfcQuantitySet(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4::IfcQuantitySet::IfcQuantitySet(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcQuantityTime -double Ifc4::IfcQuantityTime::TimeValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4::IfcQuantityTime::TimeValue() const { double v = get_attribute_value(3); return v; } void Ifc4::IfcQuantityTime::setTimeValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4::IfcQuantityTime::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4::IfcQuantityTime::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcQuantityTime::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4::IfcQuantityTime::declaration() const { return *((IfcParse::entity*)IFC4_types[759]); } const IfcParse::entity& Ifc4::IfcQuantityTime::Class() { return *((IfcParse::entity*)IFC4_types[759]); } Ifc4::IfcQuantityTime::IfcQuantityTime(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4::IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit* v3_Unit, double v4_TimeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4::IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit* v3_Unit, double v4_TimeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityVolume -double Ifc4::IfcQuantityVolume::VolumeValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4::IfcQuantityVolume::VolumeValue() const { double v = get_attribute_value(3); return v; } void Ifc4::IfcQuantityVolume::setVolumeValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4::IfcQuantityVolume::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4::IfcQuantityVolume::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcQuantityVolume::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4::IfcQuantityVolume::declaration() const { return *((IfcParse::entity*)IFC4_types[760]); } const IfcParse::entity& Ifc4::IfcQuantityVolume::Class() { return *((IfcParse::entity*)IFC4_types[760]); } Ifc4::IfcQuantityVolume::IfcQuantityVolume(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4::IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit* v3_Unit, double v4_VolumeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4::IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit* v3_Unit, double v4_VolumeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityWeight -double Ifc4::IfcQuantityWeight::WeightValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4::IfcQuantityWeight::WeightValue() const { double v = get_attribute_value(3); return v; } void Ifc4::IfcQuantityWeight::setWeightValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4::IfcQuantityWeight::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4::IfcQuantityWeight::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcQuantityWeight::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4::IfcQuantityWeight::declaration() const { return *((IfcParse::entity*)IFC4_types[761]); } const IfcParse::entity& Ifc4::IfcQuantityWeight::Class() { return *((IfcParse::entity*)IFC4_types[761]); } Ifc4::IfcQuantityWeight::IfcQuantityWeight(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4::IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit* v3_Unit, double v4_WeightValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4::IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcNamedUnit* v3_Unit, double v4_WeightValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcRailing -boost::optional< ::Ifc4::IfcRailingTypeEnum::Value > Ifc4::IfcRailing::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcRailingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcRailingTypeEnum::Value > Ifc4::IfcRailing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcRailingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcRailing::setPredefinedType(boost::optional< ::Ifc4::IfcRailingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcRailingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcRailing::declaration() const { return *((IfcParse::entity*)IFC4_types[763]); } const IfcParse::entity& Ifc4::IfcRailing::Class() { return *((IfcParse::entity*)IFC4_types[763]); } Ifc4::IfcRailing::IfcRailing(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4::IfcRailing::IfcRailing(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcRailingTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcRailing::IfcRailing(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcRailingTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRailingType -::Ifc4::IfcRailingTypeEnum::Value Ifc4::IfcRailingType::PredefinedType() const { return ::Ifc4::IfcRailingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcRailingTypeEnum::Value Ifc4::IfcRailingType::PredefinedType() const { return ::Ifc4::IfcRailingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcRailingType::setPredefinedType(::Ifc4::IfcRailingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcRailingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcRailingType::declaration() const { return *((IfcParse::entity*)IFC4_types[764]); } const IfcParse::entity& Ifc4::IfcRailingType::Class() { return *((IfcParse::entity*)IFC4_types[764]); } Ifc4::IfcRailingType::IfcRailingType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4::IfcRailingType::IfcRailingType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcRailingTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcRailingType::IfcRailingType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcRailingTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRamp -boost::optional< ::Ifc4::IfcRampTypeEnum::Value > Ifc4::IfcRamp::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcRampTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcRampTypeEnum::Value > Ifc4::IfcRamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcRampTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcRamp::setPredefinedType(boost::optional< ::Ifc4::IfcRampTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcRampTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcRamp::declaration() const { return *((IfcParse::entity*)IFC4_types[766]); } const IfcParse::entity& Ifc4::IfcRamp::Class() { return *((IfcParse::entity*)IFC4_types[766]); } Ifc4::IfcRamp::IfcRamp(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4::IfcRamp::IfcRamp(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcRampTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcRamp::IfcRamp(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcRampTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRampFlight -boost::optional< ::Ifc4::IfcRampFlightTypeEnum::Value > Ifc4::IfcRampFlight::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcRampFlightTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcRampFlightTypeEnum::Value > Ifc4::IfcRampFlight::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcRampFlightTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcRampFlight::setPredefinedType(boost::optional< ::Ifc4::IfcRampFlightTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcRampFlightTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcRampFlight::declaration() const { return *((IfcParse::entity*)IFC4_types[767]); } const IfcParse::entity& Ifc4::IfcRampFlight::Class() { return *((IfcParse::entity*)IFC4_types[767]); } Ifc4::IfcRampFlight::IfcRampFlight(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4::IfcRampFlight::IfcRampFlight(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcRampFlightTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcRampFlight::IfcRampFlight(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcRampFlightTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRampFlightType -::Ifc4::IfcRampFlightTypeEnum::Value Ifc4::IfcRampFlightType::PredefinedType() const { return ::Ifc4::IfcRampFlightTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcRampFlightTypeEnum::Value Ifc4::IfcRampFlightType::PredefinedType() const { return ::Ifc4::IfcRampFlightTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcRampFlightType::setPredefinedType(::Ifc4::IfcRampFlightTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcRampFlightTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcRampFlightType::declaration() const { return *((IfcParse::entity*)IFC4_types[768]); } const IfcParse::entity& Ifc4::IfcRampFlightType::Class() { return *((IfcParse::entity*)IFC4_types[768]); } Ifc4::IfcRampFlightType::IfcRampFlightType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4::IfcRampFlightType::IfcRampFlightType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcRampFlightTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcRampFlightType::IfcRampFlightType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcRampFlightTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRampType -::Ifc4::IfcRampTypeEnum::Value Ifc4::IfcRampType::PredefinedType() const { return ::Ifc4::IfcRampTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcRampTypeEnum::Value Ifc4::IfcRampType::PredefinedType() const { return ::Ifc4::IfcRampTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcRampType::setPredefinedType(::Ifc4::IfcRampTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcRampTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcRampType::declaration() const { return *((IfcParse::entity*)IFC4_types[770]); } const IfcParse::entity& Ifc4::IfcRampType::Class() { return *((IfcParse::entity*)IFC4_types[770]); } Ifc4::IfcRampType::IfcRampType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4::IfcRampType::IfcRampType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcRampTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcRampType::IfcRampType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcRampTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRationalBSplineCurveWithKnots -std::vector< double > /*[2:?]*/ Ifc4::IfcRationalBSplineCurveWithKnots::WeightsData() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< double > /*[2:?]*/ Ifc4::IfcRationalBSplineCurveWithKnots::WeightsData() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(8); return v; } void Ifc4::IfcRationalBSplineCurveWithKnots::setWeightsData(std::vector< double > /*[2:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4::IfcRationalBSplineCurveWithKnots::declaration() const { return *((IfcParse::entity*)IFC4_types[773]); } const IfcParse::entity& Ifc4::IfcRationalBSplineCurveWithKnots::Class() { return *((IfcParse::entity*)IFC4_types[773]); } Ifc4::IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(IfcEntityInstanceData&& e) : IfcBSplineCurveWithKnots(std::move(e)) { } -Ifc4::IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4::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, ::Ifc4::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) : IfcBSplineCurveWithKnots(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData));; populate_derived(); } +Ifc4::IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4::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, ::Ifc4::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) : IfcBSplineCurveWithKnots(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData));; populate_derived(); } // Function implementations for IfcRationalBSplineSurfaceWithKnots -std::vector< std::vector< double > > Ifc4::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { std::vector< std::vector< double > > v = data_.get_attribute_value(12); return v; } +std::vector< std::vector< double > > Ifc4::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { std::vector< std::vector< double > > v = get_attribute_value(12); return v; } void Ifc4::IfcRationalBSplineSurfaceWithKnots::setWeightsData(std::vector< std::vector< double > > v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } const IfcParse::entity& Ifc4::IfcRationalBSplineSurfaceWithKnots::declaration() const { return *((IfcParse::entity*)IFC4_types[774]); } const IfcParse::entity& Ifc4::IfcRationalBSplineSurfaceWithKnots::Class() { return *((IfcParse::entity*)IFC4_types[774]); } Ifc4::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(IfcEntityInstanceData&& e) : IfcBSplineSurfaceWithKnots(std::move(e)) { } -Ifc4::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4::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, ::Ifc4::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) : IfcBSplineSurfaceWithKnots(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData));; populate_derived(); } +Ifc4::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4::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, ::Ifc4::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) : IfcBSplineSurfaceWithKnots(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData));; populate_derived(); } // Function implementations for IfcRectangleHollowProfileDef -double Ifc4::IfcRectangleHollowProfileDef::WallThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4::IfcRectangleHollowProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } void Ifc4::IfcRectangleHollowProfileDef::setWallThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4::IfcRectangleHollowProfileDef::InnerFilletRadius() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4::IfcRectangleHollowProfileDef::InnerFilletRadius() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4::IfcRectangleHollowProfileDef::setInnerFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4::IfcRectangleHollowProfileDef::OuterFilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4::IfcRectangleHollowProfileDef::OuterFilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4::IfcRectangleHollowProfileDef::setOuterFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4::IfcRectangleHollowProfileDef::declaration() const { return *((IfcParse::entity*)IFC4_types[776]); } const IfcParse::entity& Ifc4::IfcRectangleHollowProfileDef::Class() { return *((IfcParse::entity*)IFC4_types[776]); } Ifc4::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(IfcEntityInstanceData&& e) : IfcRectangleProfileDef(std::move(e)) { } -Ifc4::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, boost::optional< double > v7_InnerFilletRadius, boost::optional< double > v8_OuterFilletRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; populate_derived(); } +Ifc4::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, boost::optional< double > v7_InnerFilletRadius, boost::optional< double > v8_OuterFilletRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; populate_derived(); } // Function implementations for IfcRectangleProfileDef -double Ifc4::IfcRectangleProfileDef::XDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4::IfcRectangleProfileDef::XDim() const { double v = get_attribute_value(3); return v; } void Ifc4::IfcRectangleProfileDef::setXDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4::IfcRectangleProfileDef::YDim() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4::IfcRectangleProfileDef::YDim() const { double v = get_attribute_value(4); return v; } void Ifc4::IfcRectangleProfileDef::setYDim(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4::IfcRectangleProfileDef::declaration() const { return *((IfcParse::entity*)IFC4_types[777]); } const IfcParse::entity& Ifc4::IfcRectangleProfileDef::Class() { return *((IfcParse::entity*)IFC4_types[777]); } Ifc4::IfcRectangleProfileDef::IfcRectangleProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4::IfcRectangleProfileDef::IfcRectangleProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; populate_derived(); } +Ifc4::IfcRectangleProfileDef::IfcRectangleProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; populate_derived(); } // Function implementations for IfcRectangularPyramid -double Ifc4::IfcRectangularPyramid::XLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4::IfcRectangularPyramid::XLength() const { double v = get_attribute_value(1); return v; } void Ifc4::IfcRectangularPyramid::setXLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4::IfcRectangularPyramid::YLength() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4::IfcRectangularPyramid::YLength() const { double v = get_attribute_value(2); return v; } void Ifc4::IfcRectangularPyramid::setYLength(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4::IfcRectangularPyramid::Height() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4::IfcRectangularPyramid::Height() const { double v = get_attribute_value(3); return v; } void Ifc4::IfcRectangularPyramid::setHeight(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4::IfcRectangularPyramid::declaration() const { return *((IfcParse::entity*)IFC4_types[778]); } const IfcParse::entity& Ifc4::IfcRectangularPyramid::Class() { return *((IfcParse::entity*)IFC4_types[778]); } Ifc4::IfcRectangularPyramid::IfcRectangularPyramid(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4::IfcRectangularPyramid::IfcRectangularPyramid(::Ifc4::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; populate_derived(); } +Ifc4::IfcRectangularPyramid::IfcRectangularPyramid(::Ifc4::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; populate_derived(); } // Function implementations for IfcRectangularTrimmedSurface -::Ifc4::IfcSurface* Ifc4::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcSurface>(true); } +::Ifc4::IfcSurface* Ifc4::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcSurface>(true); } void Ifc4::IfcRectangularTrimmedSurface::setBasisSurface(::Ifc4::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4::IfcRectangularTrimmedSurface::U1() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4::IfcRectangularTrimmedSurface::U1() const { double v = get_attribute_value(1); return v; } void Ifc4::IfcRectangularTrimmedSurface::setU1(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4::IfcRectangularTrimmedSurface::V1() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4::IfcRectangularTrimmedSurface::V1() const { double v = get_attribute_value(2); return v; } void Ifc4::IfcRectangularTrimmedSurface::setV1(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4::IfcRectangularTrimmedSurface::U2() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4::IfcRectangularTrimmedSurface::U2() const { double v = get_attribute_value(3); return v; } void Ifc4::IfcRectangularTrimmedSurface::setU2(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4::IfcRectangularTrimmedSurface::V2() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4::IfcRectangularTrimmedSurface::V2() const { double v = get_attribute_value(4); return v; } void Ifc4::IfcRectangularTrimmedSurface::setV2(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -bool Ifc4::IfcRectangularTrimmedSurface::Usense() const { bool v = data_.get_attribute_value(5); return v; } +bool Ifc4::IfcRectangularTrimmedSurface::Usense() const { bool v = get_attribute_value(5); return v; } void Ifc4::IfcRectangularTrimmedSurface::setUsense(bool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -bool Ifc4::IfcRectangularTrimmedSurface::Vsense() const { bool v = data_.get_attribute_value(6); return v; } +bool Ifc4::IfcRectangularTrimmedSurface::Vsense() const { bool v = get_attribute_value(6); return v; } void Ifc4::IfcRectangularTrimmedSurface::setVsense(bool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4::IfcRectangularTrimmedSurface::declaration() const { return *((IfcParse::entity*)IFC4_types[779]); } const IfcParse::entity& Ifc4::IfcRectangularTrimmedSurface::Class() { return *((IfcParse::entity*)IFC4_types[779]); } Ifc4::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(::Ifc4::IfcSurface* v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; populate_derived(); } +Ifc4::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(::Ifc4::IfcSurface* v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; populate_derived(); } // Function implementations for IfcRecurrencePattern -::Ifc4::IfcRecurrenceTypeEnum::Value Ifc4::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4::IfcRecurrenceTypeEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4::IfcRecurrenceTypeEnum::Value Ifc4::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4::IfcRecurrenceTypeEnum::FromString(get_attribute_value(0)); } void Ifc4::IfcRecurrencePattern::setRecurrenceType(::Ifc4::IfcRecurrenceTypeEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4::IfcRecurrenceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4::IfcRecurrencePattern::DayComponent() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4::IfcRecurrencePattern::DayComponent() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4::IfcRecurrencePattern::setDayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4::IfcRecurrencePattern::WeekdayComponent() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4::IfcRecurrencePattern::WeekdayComponent() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(2); return v; } void Ifc4::IfcRecurrencePattern::setWeekdayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4::IfcRecurrencePattern::MonthComponent() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4::IfcRecurrencePattern::MonthComponent() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4::IfcRecurrencePattern::setMonthComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< int > Ifc4::IfcRecurrencePattern::Position() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4::IfcRecurrencePattern::Position() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4::IfcRecurrencePattern::setPosition(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< int > Ifc4::IfcRecurrencePattern::Interval() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } int v = data_.get_attribute_value(5); return v; } +boost::optional< int > Ifc4::IfcRecurrencePattern::Interval() const { if(get_attribute_value(5).isNull()) { return boost::none; } int v = get_attribute_value(5); return v; } void Ifc4::IfcRecurrencePattern::setInterval(boost::optional< int > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< int > Ifc4::IfcRecurrencePattern::Occurrences() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } int v = data_.get_attribute_value(6); return v; } +boost::optional< int > Ifc4::IfcRecurrencePattern::Occurrences() const { if(get_attribute_value(6).isNull()) { return boost::none; } int v = get_attribute_value(6); return v; } void Ifc4::IfcRecurrencePattern::setOccurrences(boost::optional< int > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4::IfcTimePeriod >::ptr > Ifc4::IfcRecurrencePattern::TimePeriods() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4::IfcTimePeriod >(); } +boost::optional< aggregate_of< ::Ifc4::IfcTimePeriod >::ptr > Ifc4::IfcRecurrencePattern::TimePeriods() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4::IfcTimePeriod >(); } void Ifc4::IfcRecurrencePattern::setTimePeriods(boost::optional< aggregate_of< ::Ifc4::IfcTimePeriod >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4::IfcRecurrencePattern::declaration() const { return *((IfcParse::entity*)IFC4_types[780]); } const IfcParse::entity& Ifc4::IfcRecurrencePattern::Class() { return *((IfcParse::entity*)IFC4_types[780]); } Ifc4::IfcRecurrencePattern::IfcRecurrencePattern(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcRecurrencePattern::IfcRecurrencePattern(::Ifc4::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< ::Ifc4::IfcTimePeriod >::ptr > v8_TimePeriods) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, (*v8_TimePeriods)->generalize()); }; populate_derived(); } +Ifc4::IfcRecurrencePattern::IfcRecurrencePattern(::Ifc4::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< ::Ifc4::IfcTimePeriod >::ptr > v8_TimePeriods) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, (*v8_TimePeriods)->generalize()); }; populate_derived(); } // Function implementations for IfcReference -boost::optional< std::string > Ifc4::IfcReference::TypeIdentifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4::IfcReference::TypeIdentifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4::IfcReference::setTypeIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4::IfcReference::AttributeIdentifier() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4::IfcReference::AttributeIdentifier() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcReference::setAttributeIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4::IfcReference::InstanceName() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4::IfcReference::InstanceName() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4::IfcReference::setInstanceName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4::IfcReference::ListPositions() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4::IfcReference::ListPositions() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4::IfcReference::setListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4::IfcReference* Ifc4::IfcReference::InnerReference() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4::IfcReference>(true); } +::Ifc4::IfcReference* Ifc4::IfcReference::InnerReference() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4::IfcReference>(true); } void Ifc4::IfcReference::setInnerReference(::Ifc4::IfcReference* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4::IfcReference::declaration() const { return *((IfcParse::entity*)IFC4_types[782]); } const IfcParse::entity& Ifc4::IfcReference::Class() { return *((IfcParse::entity*)IFC4_types[782]); } Ifc4::IfcReference::IfcReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::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, ::Ifc4::IfcReference* v5_InnerReference) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, v5_InnerReference ? v5_InnerReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::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, ::Ifc4::IfcReference* v5_InnerReference) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, v5_InnerReference ? v5_InnerReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRegularTimeSeries -double Ifc4::IfcRegularTimeSeries::TimeStep() const { double v = data_.get_attribute_value(8); return v; } +double Ifc4::IfcRegularTimeSeries::TimeStep() const { double v = get_attribute_value(8); return v; } void Ifc4::IfcRegularTimeSeries::setTimeStep(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -aggregate_of< ::Ifc4::IfcTimeSeriesValue >::ptr Ifc4::IfcRegularTimeSeries::Values() const { aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4::IfcTimeSeriesValue >(); } +aggregate_of< ::Ifc4::IfcTimeSeriesValue >::ptr Ifc4::IfcRegularTimeSeries::Values() const { aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4::IfcTimeSeriesValue >(); } void Ifc4::IfcRegularTimeSeries::setValues(aggregate_of< ::Ifc4::IfcTimeSeriesValue >::ptr v) { set_attribute_value(9, (v)->generalize());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcRegularTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4_types[784]); } const IfcParse::entity& Ifc4::IfcRegularTimeSeries::Class() { return *((IfcParse::entity*)IFC4_types[784]); } Ifc4::IfcRegularTimeSeries::IfcRegularTimeSeries(IfcEntityInstanceData&& e) : IfcTimeSeries(std::move(e)) { } -Ifc4::IfcRegularTimeSeries::IfcRegularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4::IfcUnit* v8_Unit, double v9_TimeStep, aggregate_of< ::Ifc4::IfcTimeSeriesValue >::ptr v10_Values) : IfcTimeSeries(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, (v10_Values)->generalize());; populate_derived(); } +Ifc4::IfcRegularTimeSeries::IfcRegularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4::IfcUnit* v8_Unit, double v9_TimeStep, aggregate_of< ::Ifc4::IfcTimeSeriesValue >::ptr v10_Values) : IfcTimeSeries(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, (v10_Values)->generalize());; populate_derived(); } // Function implementations for IfcReinforcementBarProperties -double Ifc4::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = get_attribute_value(0); return v; } void Ifc4::IfcReinforcementBarProperties::setTotalCrossSectionArea(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc4::IfcReinforcementBarProperties::SteelGrade() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4::IfcReinforcementBarProperties::SteelGrade() const { std::string v = get_attribute_value(1); return v; } void Ifc4::IfcReinforcementBarProperties::setSteelGrade(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > Ifc4::IfcReinforcementBarProperties::BarSurface() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4::IfcReinforcingBarSurfaceEnum::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > Ifc4::IfcReinforcementBarProperties::BarSurface() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4::IfcReinforcingBarSurfaceEnum::FromString(get_attribute_value(2)); } void Ifc4::IfcReinforcementBarProperties::setBarSurface(boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc4::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4::IfcReinforcementBarProperties::EffectiveDepth() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4::IfcReinforcementBarProperties::EffectiveDepth() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4::IfcReinforcementBarProperties::setEffectiveDepth(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4::IfcReinforcementBarProperties::NominalBarDiameter() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4::IfcReinforcementBarProperties::NominalBarDiameter() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4::IfcReinforcementBarProperties::setNominalBarDiameter(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4::IfcReinforcementBarProperties::BarCount() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4::IfcReinforcementBarProperties::BarCount() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4::IfcReinforcementBarProperties::setBarCount(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4::IfcReinforcementBarProperties::declaration() const { return *((IfcParse::entity*)IFC4_types[785]); } const IfcParse::entity& Ifc4::IfcReinforcementBarProperties::Class() { return *((IfcParse::entity*)IFC4_types[785]); } Ifc4::IfcReinforcementBarProperties::IfcReinforcementBarProperties(IfcEntityInstanceData&& e) : IfcPreDefinedProperties(std::move(e)) { } -Ifc4::IfcReinforcementBarProperties::IfcReinforcementBarProperties(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, boost::optional< double > v4_EffectiveDepth, boost::optional< double > v5_NominalBarDiameter, boost::optional< double > v6_BarCount) : IfcPreDefinedProperties(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (EnumerationReference(&::Ifc4::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; populate_derived(); } +Ifc4::IfcReinforcementBarProperties::IfcReinforcementBarProperties(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, boost::optional< double > v4_EffectiveDepth, boost::optional< double > v5_NominalBarDiameter, boost::optional< double > v6_BarCount) : IfcPreDefinedProperties(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (EnumerationReference(&::Ifc4::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; populate_derived(); } // Function implementations for IfcReinforcementDefinitionProperties -boost::optional< std::string > Ifc4::IfcReinforcementDefinitionProperties::DefinitionType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4::IfcReinforcementDefinitionProperties::DefinitionType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcReinforcementDefinitionProperties::setDefinitionType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -aggregate_of< ::Ifc4::IfcSectionReinforcementProperties >::ptr Ifc4::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4::IfcSectionReinforcementProperties >(); } +aggregate_of< ::Ifc4::IfcSectionReinforcementProperties >::ptr Ifc4::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4::IfcSectionReinforcementProperties >(); } void Ifc4::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(aggregate_of< ::Ifc4::IfcSectionReinforcementProperties >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4::IfcReinforcementDefinitionProperties::declaration() const { return *((IfcParse::entity*)IFC4_types[786]); } const IfcParse::entity& Ifc4::IfcReinforcementDefinitionProperties::Class() { return *((IfcParse::entity*)IFC4_types[786]); } Ifc4::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_DefinitionType, aggregate_of< ::Ifc4::IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, (v6_ReinforcementSectionDefinitions)->generalize());; populate_derived(); } +Ifc4::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_DefinitionType, aggregate_of< ::Ifc4::IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, (v6_ReinforcementSectionDefinitions)->generalize());; populate_derived(); } // Function implementations for IfcReinforcingBar -boost::optional< double > Ifc4::IfcReinforcingBar::NominalDiameter() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4::IfcReinforcingBar::NominalDiameter() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4::IfcReinforcingBar::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4::IfcReinforcingBar::CrossSectionArea() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4::IfcReinforcingBar::CrossSectionArea() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4::IfcReinforcingBar::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4::IfcReinforcingBar::BarLength() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4::IfcReinforcingBar::BarLength() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4::IfcReinforcingBar::setBarLength(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< ::Ifc4::IfcReinforcingBarTypeEnum::Value > Ifc4::IfcReinforcingBar::PredefinedType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4::IfcReinforcingBarTypeEnum::FromString(data_.get_attribute_value(12)); } +boost::optional< ::Ifc4::IfcReinforcingBarTypeEnum::Value > Ifc4::IfcReinforcingBar::PredefinedType() const { if(get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4::IfcReinforcingBarTypeEnum::FromString(get_attribute_value(12)); } void Ifc4::IfcReinforcingBar::setPredefinedType(boost::optional< ::Ifc4::IfcReinforcingBarTypeEnum::Value > v) { if (v) {set_attribute_value(12, EnumerationReference(&::Ifc4::IfcReinforcingBarTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } -boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > Ifc4::IfcReinforcingBar::BarSurface() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4::IfcReinforcingBarSurfaceEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > Ifc4::IfcReinforcingBar::BarSurface() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4::IfcReinforcingBarSurfaceEnum::FromString(get_attribute_value(13)); } void Ifc4::IfcReinforcingBar::setBarSurface(boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } const IfcParse::entity& Ifc4::IfcReinforcingBar::declaration() const { return *((IfcParse::entity*)IFC4_types[787]); } const IfcParse::entity& Ifc4::IfcReinforcingBar::Class() { return *((IfcParse::entity*)IFC4_types[787]); } Ifc4::IfcReinforcingBar::IfcReinforcingBar(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4::IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< double > v10_NominalDiameter, boost::optional< double > v11_CrossSectionArea, boost::optional< double > v12_BarLength, boost::optional< ::Ifc4::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; populate_derived(); } +Ifc4::IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< double > v10_NominalDiameter, boost::optional< double > v11_CrossSectionArea, boost::optional< double > v12_BarLength, boost::optional< ::Ifc4::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; populate_derived(); } // Function implementations for IfcReinforcingBarType -::Ifc4::IfcReinforcingBarTypeEnum::Value Ifc4::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4::IfcReinforcingBarTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcReinforcingBarTypeEnum::Value Ifc4::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4::IfcReinforcingBarTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcReinforcingBarType::setPredefinedType(::Ifc4::IfcReinforcingBarTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcReinforcingBarTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4::IfcReinforcingBarType::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4::IfcReinforcingBarType::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4::IfcReinforcingBarType::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4::IfcReinforcingBarType::CrossSectionArea() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4::IfcReinforcingBarType::CrossSectionArea() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4::IfcReinforcingBarType::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4::IfcReinforcingBarType::BarLength() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4::IfcReinforcingBarType::BarLength() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4::IfcReinforcingBarType::setBarLength(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > Ifc4::IfcReinforcingBarType::BarSurface() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4::IfcReinforcingBarSurfaceEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > Ifc4::IfcReinforcingBarType::BarSurface() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4::IfcReinforcingBarSurfaceEnum::FromString(get_attribute_value(13)); } void Ifc4::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4::IfcReinforcingBarType::BendingShapeCode() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4::IfcReinforcingBarType::BendingShapeCode() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > Ifc4::IfcReinforcingBarType::BendingParameters() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(15); return es->as< ::Ifc4::IfcBendingParameterSelect >(); } +boost::optional< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > Ifc4::IfcReinforcingBarType::BendingParameters() const { if(get_attribute_value(15).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(15); return es->as< ::Ifc4::IfcBendingParameterSelect >(); } void Ifc4::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > v) { if (v) {set_attribute_value(15, (*v)->generalize());} else {unset_attribute_value(15);} } const IfcParse::entity& Ifc4::IfcReinforcingBarType::declaration() const { return *((IfcParse::entity*)IFC4_types[790]); } const IfcParse::entity& Ifc4::IfcReinforcingBarType::Class() { return *((IfcParse::entity*)IFC4_types[790]); } Ifc4::IfcReinforcingBarType::IfcReinforcingBarType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, (*v16_BendingParameters)->generalize()); }; populate_derived(); } +Ifc4::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, (*v16_BendingParameters)->generalize()); }; populate_derived(); } // Function implementations for IfcReinforcingElement -boost::optional< std::string > Ifc4::IfcReinforcingElement::SteelGrade() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4::IfcReinforcingElement::SteelGrade() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4::IfcReinforcingElement::setSteelGrade(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcReinforcingElement::declaration() const { return *((IfcParse::entity*)IFC4_types[792]); } const IfcParse::entity& Ifc4::IfcReinforcingElement::Class() { return *((IfcParse::entity*)IFC4_types[792]); } Ifc4::IfcReinforcingElement::IfcReinforcingElement(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4::IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; populate_derived(); } +Ifc4::IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; populate_derived(); } // Function implementations for IfcReinforcingElementType @@ -12739,233 +12739,233 @@ Ifc4::IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4::IfcReinforcingElementType::declaration() const { return *((IfcParse::entity*)IFC4_types[793]); } const IfcParse::entity& Ifc4::IfcReinforcingElementType::Class() { return *((IfcParse::entity*)IFC4_types[793]); } Ifc4::IfcReinforcingElementType::IfcReinforcingElementType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4::IfcReinforcingElementType::IfcReinforcingElementType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4::IfcReinforcingElementType::IfcReinforcingElementType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcReinforcingMesh -boost::optional< double > Ifc4::IfcReinforcingMesh::MeshLength() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4::IfcReinforcingMesh::MeshLength() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4::IfcReinforcingMesh::setMeshLength(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4::IfcReinforcingMesh::MeshWidth() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4::IfcReinforcingMesh::MeshWidth() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4::IfcReinforcingMesh::setMeshWidth(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4::IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4::IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4::IfcReinforcingMesh::setLongitudinalBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4::IfcReinforcingMesh::TransverseBarNominalDiameter() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4::IfcReinforcingMesh::TransverseBarNominalDiameter() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4::IfcReinforcingMesh::setTransverseBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4::IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4::IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4::IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4::IfcReinforcingMesh::TransverseBarCrossSectionArea() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4::IfcReinforcingMesh::TransverseBarCrossSectionArea() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4::IfcReinforcingMesh::setTransverseBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4::IfcReinforcingMesh::LongitudinalBarSpacing() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4::IfcReinforcingMesh::LongitudinalBarSpacing() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4::IfcReinforcingMesh::setLongitudinalBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4::IfcReinforcingMesh::TransverseBarSpacing() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4::IfcReinforcingMesh::TransverseBarSpacing() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4::IfcReinforcingMesh::setTransverseBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< ::Ifc4::IfcReinforcingMeshTypeEnum::Value > Ifc4::IfcReinforcingMesh::PredefinedType() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } return ::Ifc4::IfcReinforcingMeshTypeEnum::FromString(data_.get_attribute_value(17)); } +boost::optional< ::Ifc4::IfcReinforcingMeshTypeEnum::Value > Ifc4::IfcReinforcingMesh::PredefinedType() const { if(get_attribute_value(17).isNull()) { return boost::none; } return ::Ifc4::IfcReinforcingMeshTypeEnum::FromString(get_attribute_value(17)); } void Ifc4::IfcReinforcingMesh::setPredefinedType(boost::optional< ::Ifc4::IfcReinforcingMeshTypeEnum::Value > v) { if (v) {set_attribute_value(17, EnumerationReference(&::Ifc4::IfcReinforcingMeshTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(17);} } const IfcParse::entity& Ifc4::IfcReinforcingMesh::declaration() const { return *((IfcParse::entity*)IFC4_types[794]); } const IfcParse::entity& Ifc4::IfcReinforcingMesh::Class() { return *((IfcParse::entity*)IFC4_types[794]); } Ifc4::IfcReinforcingMesh::IfcReinforcingMesh(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4::IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< 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< ::Ifc4::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(18))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (EnumerationReference(&::Ifc4::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); }; populate_derived(); } +Ifc4::IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< 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< ::Ifc4::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(18))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (EnumerationReference(&::Ifc4::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); }; populate_derived(); } // Function implementations for IfcReinforcingMeshType -::Ifc4::IfcReinforcingMeshTypeEnum::Value Ifc4::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4::IfcReinforcingMeshTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcReinforcingMeshTypeEnum::Value Ifc4::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4::IfcReinforcingMeshTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcReinforcingMeshType::setPredefinedType(::Ifc4::IfcReinforcingMeshTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcReinforcingMeshTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4::IfcReinforcingMeshType::MeshLength() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4::IfcReinforcingMeshType::MeshLength() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4::IfcReinforcingMeshType::setMeshLength(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4::IfcReinforcingMeshType::MeshWidth() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4::IfcReinforcingMeshType::MeshWidth() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4::IfcReinforcingMeshType::setMeshWidth(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4::IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4::IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4::IfcReinforcingMeshType::setLongitudinalBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4::IfcReinforcingMeshType::TransverseBarNominalDiameter() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4::IfcReinforcingMeshType::TransverseBarNominalDiameter() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4::IfcReinforcingMeshType::setTransverseBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4::IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4::IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4::IfcReinforcingMeshType::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4::IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4::IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4::IfcReinforcingMeshType::setTransverseBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4::IfcReinforcingMeshType::LongitudinalBarSpacing() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4::IfcReinforcingMeshType::LongitudinalBarSpacing() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4::IfcReinforcingMeshType::setLongitudinalBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< double > Ifc4::IfcReinforcingMeshType::TransverseBarSpacing() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } double v = data_.get_attribute_value(17); return v; } +boost::optional< double > Ifc4::IfcReinforcingMeshType::TransverseBarSpacing() const { if(get_attribute_value(17).isNull()) { return boost::none; } double v = get_attribute_value(17); return v; } void Ifc4::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } -boost::optional< std::string > Ifc4::IfcReinforcingMeshType::BendingShapeCode() const { if(data_.get_attribute_value(18).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(18); return v; } +boost::optional< std::string > Ifc4::IfcReinforcingMeshType::BendingShapeCode() const { if(get_attribute_value(18).isNull()) { return boost::none; } std::string v = get_attribute_value(18); return v; } void Ifc4::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { if (v) {set_attribute_value(18, *v);} else {unset_attribute_value(18);} } -boost::optional< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > Ifc4::IfcReinforcingMeshType::BendingParameters() const { if(data_.get_attribute_value(19).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(19); return es->as< ::Ifc4::IfcBendingParameterSelect >(); } +boost::optional< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > Ifc4::IfcReinforcingMeshType::BendingParameters() const { if(get_attribute_value(19).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(19); return es->as< ::Ifc4::IfcBendingParameterSelect >(); } void Ifc4::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > v) { if (v) {set_attribute_value(19, (*v)->generalize());} else {unset_attribute_value(19);} } const IfcParse::entity& Ifc4::IfcReinforcingMeshType::declaration() const { return *((IfcParse::entity*)IFC4_types[795]); } const IfcParse::entity& Ifc4::IfcReinforcingMeshType::Class() { return *((IfcParse::entity*)IFC4_types[795]); } Ifc4::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(20))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, (*v20_BendingParameters)->generalize()); }; populate_derived(); } +Ifc4::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(20))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, (*v20_BendingParameters)->generalize()); }; populate_derived(); } // Function implementations for IfcRelAggregates -::Ifc4::IfcObjectDefinition* Ifc4::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4::IfcObjectDefinition>(true); } +::Ifc4::IfcObjectDefinition* Ifc4::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4::IfcObjectDefinition>(true); } void Ifc4::IfcRelAggregates::setRelatingObject(::Ifc4::IfcObjectDefinition* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr Ifc4::IfcRelAggregates::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr Ifc4::IfcRelAggregates::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4::IfcObjectDefinition >(); } void Ifc4::IfcRelAggregates::setRelatedObjects(aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4::IfcRelAggregates::declaration() const { return *((IfcParse::entity*)IFC4_types[797]); } const IfcParse::entity& Ifc4::IfcRelAggregates::Class() { return *((IfcParse::entity*)IFC4_types[797]); } Ifc4::IfcRelAggregates::IfcRelAggregates(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4::IfcRelAggregates::IfcRelAggregates(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } +Ifc4::IfcRelAggregates::IfcRelAggregates(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelAssigns -aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr Ifc4::IfcRelAssigns::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr Ifc4::IfcRelAssigns::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4::IfcObjectDefinition >(); } void Ifc4::IfcRelAssigns::setRelatedObjects(aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -boost::optional< ::Ifc4::IfcObjectTypeEnum::Value > Ifc4::IfcRelAssigns::RelatedObjectsType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4::IfcObjectTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4::IfcObjectTypeEnum::Value > Ifc4::IfcRelAssigns::RelatedObjectsType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4::IfcObjectTypeEnum::FromString(get_attribute_value(5)); } void Ifc4::IfcRelAssigns::setRelatedObjectsType(boost::optional< ::Ifc4::IfcObjectTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4::IfcObjectTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4::IfcRelAssigns::declaration() const { return *((IfcParse::entity*)IFC4_types[798]); } const IfcParse::entity& Ifc4::IfcRelAssigns::Class() { return *((IfcParse::entity*)IFC4_types[798]); } Ifc4::IfcRelAssigns::IfcRelAssigns(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4::IfcRelAssigns::IfcRelAssigns(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) : IfcRelationship(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }; populate_derived(); } +Ifc4::IfcRelAssigns::IfcRelAssigns(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }; populate_derived(); } // Function implementations for IfcRelAssignsToActor -::Ifc4::IfcActor* Ifc4::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4::IfcActor>(true); } +::Ifc4::IfcActor* Ifc4::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4::IfcActor>(true); } void Ifc4::IfcRelAssignsToActor::setRelatingActor(::Ifc4::IfcActor* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4::IfcActorRole* Ifc4::IfcRelAssignsToActor::ActingRole() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4::IfcActorRole>(true); } +::Ifc4::IfcActorRole* Ifc4::IfcRelAssignsToActor::ActingRole() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4::IfcActorRole>(true); } void Ifc4::IfcRelAssignsToActor::setActingRole(::Ifc4::IfcActorRole* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4::IfcRelAssignsToActor::declaration() const { return *((IfcParse::entity*)IFC4_types[799]); } const IfcParse::entity& Ifc4::IfcRelAssignsToActor::Class() { return *((IfcParse::entity*)IFC4_types[799]); } Ifc4::IfcRelAssignsToActor::IfcRelAssignsToActor(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4::IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcActor* v7_RelatingActor, ::Ifc4::IfcActorRole* v8_ActingRole) : IfcRelAssigns(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingActor ? v7_RelatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_ActingRole ? v8_ActingRole->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcActor* v7_RelatingActor, ::Ifc4::IfcActorRole* v8_ActingRole) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingActor ? v7_RelatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_ActingRole ? v8_ActingRole->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToControl -::Ifc4::IfcControl* Ifc4::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4::IfcControl>(true); } +::Ifc4::IfcControl* Ifc4::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4::IfcControl>(true); } void Ifc4::IfcRelAssignsToControl::setRelatingControl(::Ifc4::IfcControl* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4::IfcRelAssignsToControl::declaration() const { return *((IfcParse::entity*)IFC4_types[800]); } const IfcParse::entity& Ifc4::IfcRelAssignsToControl::Class() { return *((IfcParse::entity*)IFC4_types[800]); } Ifc4::IfcRelAssignsToControl::IfcRelAssignsToControl(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4::IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcControl* v7_RelatingControl) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingControl ? v7_RelatingControl->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcControl* v7_RelatingControl) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingControl ? v7_RelatingControl->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToGroup -::Ifc4::IfcGroup* Ifc4::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4::IfcGroup>(true); } +::Ifc4::IfcGroup* Ifc4::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4::IfcGroup>(true); } void Ifc4::IfcRelAssignsToGroup::setRelatingGroup(::Ifc4::IfcGroup* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4::IfcRelAssignsToGroup::declaration() const { return *((IfcParse::entity*)IFC4_types[801]); } const IfcParse::entity& Ifc4::IfcRelAssignsToGroup::Class() { return *((IfcParse::entity*)IFC4_types[801]); } Ifc4::IfcRelAssignsToGroup::IfcRelAssignsToGroup(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4::IfcRelAssignsToGroup::IfcRelAssignsToGroup(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcGroup* v7_RelatingGroup) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcRelAssignsToGroup::IfcRelAssignsToGroup(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcGroup* v7_RelatingGroup) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToGroupByFactor -double Ifc4::IfcRelAssignsToGroupByFactor::Factor() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4::IfcRelAssignsToGroupByFactor::Factor() const { double v = get_attribute_value(7); return v; } void Ifc4::IfcRelAssignsToGroupByFactor::setFactor(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4::IfcRelAssignsToGroupByFactor::declaration() const { return *((IfcParse::entity*)IFC4_types[802]); } const IfcParse::entity& Ifc4::IfcRelAssignsToGroupByFactor::Class() { return *((IfcParse::entity*)IFC4_types[802]); } Ifc4::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(IfcEntityInstanceData&& e) : IfcRelAssignsToGroup(std::move(e)) { } -Ifc4::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcGroup* v7_RelatingGroup, double v8_Factor) : IfcRelAssignsToGroup(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_Factor));; populate_derived(); } +Ifc4::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcGroup* v7_RelatingGroup, double v8_Factor) : IfcRelAssignsToGroup(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_Factor));; populate_derived(); } // Function implementations for IfcRelAssignsToProcess -::Ifc4::IfcProcessSelect* Ifc4::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4::IfcProcessSelect>(true); } +::Ifc4::IfcProcessSelect* Ifc4::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4::IfcProcessSelect>(true); } void Ifc4::IfcRelAssignsToProcess::setRelatingProcess(::Ifc4::IfcProcessSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4::IfcMeasureWithUnit* Ifc4::IfcRelAssignsToProcess::QuantityInProcess() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4::IfcMeasureWithUnit>(true); } +::Ifc4::IfcMeasureWithUnit* Ifc4::IfcRelAssignsToProcess::QuantityInProcess() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4::IfcMeasureWithUnit>(true); } void Ifc4::IfcRelAssignsToProcess::setQuantityInProcess(::Ifc4::IfcMeasureWithUnit* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4::IfcRelAssignsToProcess::declaration() const { return *((IfcParse::entity*)IFC4_types[803]); } const IfcParse::entity& Ifc4::IfcRelAssignsToProcess::Class() { return *((IfcParse::entity*)IFC4_types[803]); } Ifc4::IfcRelAssignsToProcess::IfcRelAssignsToProcess(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4::IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcProcessSelect* v7_RelatingProcess, ::Ifc4::IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProcess ? v7_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_QuantityInProcess ? v8_QuantityInProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcProcessSelect* v7_RelatingProcess, ::Ifc4::IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProcess ? v7_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_QuantityInProcess ? v8_QuantityInProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToProduct -::Ifc4::IfcProductSelect* Ifc4::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4::IfcProductSelect>(true); } +::Ifc4::IfcProductSelect* Ifc4::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4::IfcProductSelect>(true); } void Ifc4::IfcRelAssignsToProduct::setRelatingProduct(::Ifc4::IfcProductSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4::IfcRelAssignsToProduct::declaration() const { return *((IfcParse::entity*)IFC4_types[804]); } const IfcParse::entity& Ifc4::IfcRelAssignsToProduct::Class() { return *((IfcParse::entity*)IFC4_types[804]); } Ifc4::IfcRelAssignsToProduct::IfcRelAssignsToProduct(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4::IfcRelAssignsToProduct::IfcRelAssignsToProduct(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcProductSelect* v7_RelatingProduct) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProduct ? v7_RelatingProduct->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcRelAssignsToProduct::IfcRelAssignsToProduct(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcProductSelect* v7_RelatingProduct) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProduct ? v7_RelatingProduct->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToResource -::Ifc4::IfcResourceSelect* Ifc4::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4::IfcResourceSelect>(true); } +::Ifc4::IfcResourceSelect* Ifc4::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4::IfcResourceSelect>(true); } void Ifc4::IfcRelAssignsToResource::setRelatingResource(::Ifc4::IfcResourceSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4::IfcRelAssignsToResource::declaration() const { return *((IfcParse::entity*)IFC4_types[805]); } const IfcParse::entity& Ifc4::IfcRelAssignsToResource::Class() { return *((IfcParse::entity*)IFC4_types[805]); } Ifc4::IfcRelAssignsToResource::IfcRelAssignsToResource(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingResource ? v7_RelatingResource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingResource ? v7_RelatingResource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociates -aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr Ifc4::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4::IfcDefinitionSelect >(); } +aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr Ifc4::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4::IfcDefinitionSelect >(); } void Ifc4::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4::IfcRelAssociates::declaration() const { return *((IfcParse::entity*)IFC4_types[806]); } const IfcParse::entity& Ifc4::IfcRelAssociates::Class() { return *((IfcParse::entity*)IFC4_types[806]); } Ifc4::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());; populate_derived(); } +Ifc4::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelAssociatesApproval -::Ifc4::IfcApproval* Ifc4::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcApproval>(true); } +::Ifc4::IfcApproval* Ifc4::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcApproval>(true); } void Ifc4::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4::IfcApproval* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4::IfcRelAssociatesApproval::declaration() const { return *((IfcParse::entity*)IFC4_types[807]); } const IfcParse::entity& Ifc4::IfcRelAssociatesApproval::Class() { return *((IfcParse::entity*)IFC4_types[807]); } Ifc4::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4::IfcApproval* v6_RelatingApproval) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingApproval ? v6_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4::IfcApproval* v6_RelatingApproval) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingApproval ? v6_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesClassification -::Ifc4::IfcClassificationSelect* Ifc4::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcClassificationSelect>(true); } +::Ifc4::IfcClassificationSelect* Ifc4::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcClassificationSelect>(true); } void Ifc4::IfcRelAssociatesClassification::setRelatingClassification(::Ifc4::IfcClassificationSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4::IfcRelAssociatesClassification::declaration() const { return *((IfcParse::entity*)IFC4_types[808]); } const IfcParse::entity& Ifc4::IfcRelAssociatesClassification::Class() { return *((IfcParse::entity*)IFC4_types[808]); } Ifc4::IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingClassification ? v6_RelatingClassification->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingClassification ? v6_RelatingClassification->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesConstraint -boost::optional< std::string > Ifc4::IfcRelAssociatesConstraint::Intent() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4::IfcRelAssociatesConstraint::Intent() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcRelAssociatesConstraint::setIntent(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4::IfcConstraint* Ifc4::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4::IfcConstraint>(true); } +::Ifc4::IfcConstraint* Ifc4::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4::IfcConstraint>(true); } void Ifc4::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4::IfcConstraint* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4::IfcRelAssociatesConstraint::declaration() const { return *((IfcParse::entity*)IFC4_types[809]); } const IfcParse::entity& Ifc4::IfcRelAssociatesConstraint::Class() { return *((IfcParse::entity*)IFC4_types[809]); } Ifc4::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, v7_RelatingConstraint ? v7_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, v7_RelatingConstraint ? v7_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesDocument -::Ifc4::IfcDocumentSelect* Ifc4::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcDocumentSelect>(true); } +::Ifc4::IfcDocumentSelect* Ifc4::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcDocumentSelect>(true); } void Ifc4::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4::IfcDocumentSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4::IfcRelAssociatesDocument::declaration() const { return *((IfcParse::entity*)IFC4_types[810]); } const IfcParse::entity& Ifc4::IfcRelAssociatesDocument::Class() { return *((IfcParse::entity*)IFC4_types[810]); } Ifc4::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingDocument ? v6_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingDocument ? v6_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesLibrary -::Ifc4::IfcLibrarySelect* Ifc4::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcLibrarySelect>(true); } +::Ifc4::IfcLibrarySelect* Ifc4::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcLibrarySelect>(true); } void Ifc4::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4::IfcLibrarySelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4::IfcRelAssociatesLibrary::declaration() const { return *((IfcParse::entity*)IFC4_types[811]); } const IfcParse::entity& Ifc4::IfcRelAssociatesLibrary::Class() { return *((IfcParse::entity*)IFC4_types[811]); } Ifc4::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingLibrary ? v6_RelatingLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingLibrary ? v6_RelatingLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesMaterial -::Ifc4::IfcMaterialSelect* Ifc4::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcMaterialSelect>(true); } +::Ifc4::IfcMaterialSelect* Ifc4::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcMaterialSelect>(true); } void Ifc4::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4::IfcMaterialSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4::IfcRelAssociatesMaterial::declaration() const { return *((IfcParse::entity*)IFC4_types[812]); } const IfcParse::entity& Ifc4::IfcRelAssociatesMaterial::Class() { return *((IfcParse::entity*)IFC4_types[812]); } Ifc4::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingMaterial ? v6_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingMaterial ? v6_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnects @@ -12973,165 +12973,165 @@ Ifc4::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId const IfcParse::entity& Ifc4::IfcRelConnects::declaration() const { return *((IfcParse::entity*)IFC4_types[814]); } const IfcParse::entity& Ifc4::IfcRelConnects::Class() { return *((IfcParse::entity*)IFC4_types[814]); } Ifc4::IfcRelConnects::IfcRelConnects(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4::IfcRelConnects::IfcRelConnects(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4::IfcRelConnects::IfcRelConnects(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRelConnectsElements -::Ifc4::IfcConnectionGeometry* Ifc4::IfcRelConnectsElements::ConnectionGeometry() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4::IfcConnectionGeometry>(true); } +::Ifc4::IfcConnectionGeometry* Ifc4::IfcRelConnectsElements::ConnectionGeometry() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4::IfcConnectionGeometry>(true); } void Ifc4::IfcRelConnectsElements::setConnectionGeometry(::Ifc4::IfcConnectionGeometry* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcElement* Ifc4::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcElement>(true); } +::Ifc4::IfcElement* Ifc4::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcElement>(true); } void Ifc4::IfcRelConnectsElements::setRelatingElement(::Ifc4::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4::IfcElement* Ifc4::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4::IfcElement>(true); } +::Ifc4::IfcElement* Ifc4::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4::IfcElement>(true); } void Ifc4::IfcRelConnectsElements::setRelatedElement(::Ifc4::IfcElement* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4::IfcRelConnectsElements::declaration() const { return *((IfcParse::entity*)IFC4_types[815]); } const IfcParse::entity& Ifc4::IfcRelConnectsElements::Class() { return *((IfcParse::entity*)IFC4_types[815]); } Ifc4::IfcRelConnectsElements::IfcRelConnectsElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4::IfcRelConnectsElements::IfcRelConnectsElements(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4::IfcElement* v6_RelatingElement, ::Ifc4::IfcElement* v7_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcRelConnectsElements::IfcRelConnectsElements(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4::IfcElement* v6_RelatingElement, ::Ifc4::IfcElement* v7_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsPathElements -std::vector< int > /*[0:?]*/ Ifc4::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = data_.get_attribute_value(7); return v; } +std::vector< int > /*[0:?]*/ Ifc4::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(7); return v; } void Ifc4::IfcRelConnectsPathElements::setRelatingPriorities(std::vector< int > /*[0:?]*/ v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector< int > /*[0:?]*/ Ifc4::IfcRelConnectsPathElements::RelatedPriorities() const { std::vector< int > /*[0:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< int > /*[0:?]*/ Ifc4::IfcRelConnectsPathElements::RelatedPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(8); return v; } void Ifc4::IfcRelConnectsPathElements::setRelatedPriorities(std::vector< int > /*[0:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc4::IfcConnectionTypeEnum::Value Ifc4::IfcRelConnectsPathElements::RelatedConnectionType() const { return ::Ifc4::IfcConnectionTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcConnectionTypeEnum::Value Ifc4::IfcRelConnectsPathElements::RelatedConnectionType() const { return ::Ifc4::IfcConnectionTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcRelConnectsPathElements::setRelatedConnectionType(::Ifc4::IfcConnectionTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4::IfcConnectionTypeEnum::Value Ifc4::IfcRelConnectsPathElements::RelatingConnectionType() const { return ::Ifc4::IfcConnectionTypeEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4::IfcConnectionTypeEnum::Value Ifc4::IfcRelConnectsPathElements::RelatingConnectionType() const { return ::Ifc4::IfcConnectionTypeEnum::FromString(get_attribute_value(10)); } void Ifc4::IfcRelConnectsPathElements::setRelatingConnectionType(::Ifc4::IfcConnectionTypeEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4::IfcConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4::IfcRelConnectsPathElements::declaration() const { return *((IfcParse::entity*)IFC4_types[816]); } const IfcParse::entity& Ifc4::IfcRelConnectsPathElements::Class() { return *((IfcParse::entity*)IFC4_types[816]); } Ifc4::IfcRelConnectsPathElements::IfcRelConnectsPathElements(IfcEntityInstanceData&& e) : IfcRelConnectsElements(std::move(e)) { } -Ifc4::IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4::IfcElement* v6_RelatingElement, ::Ifc4::IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; populate_derived(); } +Ifc4::IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4::IfcElement* v6_RelatingElement, ::Ifc4::IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; populate_derived(); } // Function implementations for IfcRelConnectsPortToElement -::Ifc4::IfcPort* Ifc4::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4::IfcPort>(true); } +::Ifc4::IfcPort* Ifc4::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4::IfcPort>(true); } void Ifc4::IfcRelConnectsPortToElement::setRelatingPort(::Ifc4::IfcPort* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcDistributionElement* Ifc4::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcDistributionElement>(true); } +::Ifc4::IfcDistributionElement* Ifc4::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcDistributionElement>(true); } void Ifc4::IfcRelConnectsPortToElement::setRelatedElement(::Ifc4::IfcDistributionElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4::IfcRelConnectsPortToElement::declaration() const { return *((IfcParse::entity*)IFC4_types[818]); } const IfcParse::entity& Ifc4::IfcRelConnectsPortToElement::Class() { return *((IfcParse::entity*)IFC4_types[818]); } Ifc4::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcPort* v5_RelatingPort, ::Ifc4::IfcDistributionElement* v6_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcPort* v5_RelatingPort, ::Ifc4::IfcDistributionElement* v6_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsPorts -::Ifc4::IfcPort* Ifc4::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4::IfcPort>(true); } +::Ifc4::IfcPort* Ifc4::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4::IfcPort>(true); } void Ifc4::IfcRelConnectsPorts::setRelatingPort(::Ifc4::IfcPort* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcPort* Ifc4::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcPort>(true); } +::Ifc4::IfcPort* Ifc4::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcPort>(true); } void Ifc4::IfcRelConnectsPorts::setRelatedPort(::Ifc4::IfcPort* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4::IfcElement* Ifc4::IfcRelConnectsPorts::RealizingElement() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4::IfcElement>(true); } +::Ifc4::IfcElement* Ifc4::IfcRelConnectsPorts::RealizingElement() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4::IfcElement>(true); } void Ifc4::IfcRelConnectsPorts::setRealizingElement(::Ifc4::IfcElement* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4::IfcRelConnectsPorts::declaration() const { return *((IfcParse::entity*)IFC4_types[817]); } const IfcParse::entity& Ifc4::IfcRelConnectsPorts::Class() { return *((IfcParse::entity*)IFC4_types[817]); } Ifc4::IfcRelConnectsPorts::IfcRelConnectsPorts(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4::IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcPort* v5_RelatingPort, ::Ifc4::IfcPort* v6_RelatedPort, ::Ifc4::IfcElement* v7_RealizingElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedPort ? v6_RelatedPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RealizingElement ? v7_RealizingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcPort* v5_RelatingPort, ::Ifc4::IfcPort* v6_RelatedPort, ::Ifc4::IfcElement* v7_RealizingElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedPort ? v6_RelatedPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RealizingElement ? v7_RealizingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsStructuralActivity -::Ifc4::IfcStructuralActivityAssignmentSelect* Ifc4::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4::IfcStructuralActivityAssignmentSelect>(true); } +::Ifc4::IfcStructuralActivityAssignmentSelect* Ifc4::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4::IfcStructuralActivityAssignmentSelect>(true); } void Ifc4::IfcRelConnectsStructuralActivity::setRelatingElement(::Ifc4::IfcStructuralActivityAssignmentSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcStructuralActivity* Ifc4::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcStructuralActivity>(true); } +::Ifc4::IfcStructuralActivity* Ifc4::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcStructuralActivity>(true); } void Ifc4::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(::Ifc4::IfcStructuralActivity* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4::IfcRelConnectsStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC4_types[819]); } const IfcParse::entity& Ifc4::IfcRelConnectsStructuralActivity::Class() { return *((IfcParse::entity*)IFC4_types[819]); } Ifc4::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcStructuralActivityAssignmentSelect* v5_RelatingElement, ::Ifc4::IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralActivity ? v6_RelatedStructuralActivity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcStructuralActivityAssignmentSelect* v5_RelatingElement, ::Ifc4::IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralActivity ? v6_RelatedStructuralActivity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsStructuralMember -::Ifc4::IfcStructuralMember* Ifc4::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4::IfcStructuralMember>(true); } +::Ifc4::IfcStructuralMember* Ifc4::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4::IfcStructuralMember>(true); } void Ifc4::IfcRelConnectsStructuralMember::setRelatingStructuralMember(::Ifc4::IfcStructuralMember* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcStructuralConnection* Ifc4::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcStructuralConnection>(true); } +::Ifc4::IfcStructuralConnection* Ifc4::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcStructuralConnection>(true); } void Ifc4::IfcRelConnectsStructuralMember::setRelatedStructuralConnection(::Ifc4::IfcStructuralConnection* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4::IfcBoundaryCondition* Ifc4::IfcRelConnectsStructuralMember::AppliedCondition() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4::IfcBoundaryCondition>(true); } +::Ifc4::IfcBoundaryCondition* Ifc4::IfcRelConnectsStructuralMember::AppliedCondition() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4::IfcBoundaryCondition>(true); } void Ifc4::IfcRelConnectsStructuralMember::setAppliedCondition(::Ifc4::IfcBoundaryCondition* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4::IfcStructuralConnectionCondition* Ifc4::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4::IfcStructuralConnectionCondition>(true); } +::Ifc4::IfcStructuralConnectionCondition* Ifc4::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4::IfcStructuralConnectionCondition>(true); } void Ifc4::IfcRelConnectsStructuralMember::setAdditionalConditions(::Ifc4::IfcStructuralConnectionCondition* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc4::IfcRelConnectsStructuralMember::SupportedLength() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4::IfcRelConnectsStructuralMember::SupportedLength() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4::IfcAxis2Placement3D* Ifc4::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4::IfcAxis2Placement3D>(true); } +::Ifc4::IfcAxis2Placement3D* Ifc4::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4::IfcAxis2Placement3D>(true); } void Ifc4::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(::Ifc4::IfcAxis2Placement3D* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcRelConnectsStructuralMember::declaration() const { return *((IfcParse::entity*)IFC4_types[820]); } const IfcParse::entity& Ifc4::IfcRelConnectsStructuralMember::Class() { return *((IfcParse::entity*)IFC4_types[820]); } Ifc4::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4::IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4::IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsWithEccentricity -::Ifc4::IfcConnectionGeometry* Ifc4::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4::IfcConnectionGeometry>(true); } +::Ifc4::IfcConnectionGeometry* Ifc4::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4::IfcConnectionGeometry>(true); } void Ifc4::IfcRelConnectsWithEccentricity::setConnectionConstraint(::Ifc4::IfcConnectionGeometry* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4::IfcRelConnectsWithEccentricity::declaration() const { return *((IfcParse::entity*)IFC4_types[821]); } const IfcParse::entity& Ifc4::IfcRelConnectsWithEccentricity::Class() { return *((IfcParse::entity*)IFC4_types[821]); } Ifc4::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(IfcEntityInstanceData&& e) : IfcRelConnectsStructuralMember(std::move(e)) { } -Ifc4::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4::IfcAxis2Placement3D* v10_ConditionCoordinateSystem, ::Ifc4::IfcConnectionGeometry* v11_ConnectionConstraint) : IfcRelConnectsStructuralMember(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ConnectionConstraint ? v11_ConnectionConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4::IfcAxis2Placement3D* v10_ConditionCoordinateSystem, ::Ifc4::IfcConnectionGeometry* v11_ConnectionConstraint) : IfcRelConnectsStructuralMember(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ConnectionConstraint ? v11_ConnectionConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsWithRealizingElements -aggregate_of< ::Ifc4::IfcElement >::ptr Ifc4::IfcRelConnectsWithRealizingElements::RealizingElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4::IfcElement >(); } +aggregate_of< ::Ifc4::IfcElement >::ptr Ifc4::IfcRelConnectsWithRealizingElements::RealizingElements() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4::IfcElement >(); } void Ifc4::IfcRelConnectsWithRealizingElements::setRealizingElements(aggregate_of< ::Ifc4::IfcElement >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc4::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4::IfcRelConnectsWithRealizingElements::setConnectionType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcRelConnectsWithRealizingElements::declaration() const { return *((IfcParse::entity*)IFC4_types[822]); } const IfcParse::entity& Ifc4::IfcRelConnectsWithRealizingElements::Class() { return *((IfcParse::entity*)IFC4_types[822]); } Ifc4::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(IfcEntityInstanceData&& e) : IfcRelConnectsElements(std::move(e)) { } -Ifc4::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4::IfcElement* v6_RelatingElement, ::Ifc4::IfcElement* v7_RelatedElement, aggregate_of< ::Ifc4::IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RealizingElements)->generalize()); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; populate_derived(); } +Ifc4::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4::IfcElement* v6_RelatingElement, ::Ifc4::IfcElement* v7_RelatedElement, aggregate_of< ::Ifc4::IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RealizingElements)->generalize()); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; populate_derived(); } // Function implementations for IfcRelContainedInSpatialStructure -aggregate_of< ::Ifc4::IfcProduct >::ptr Ifc4::IfcRelContainedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4::IfcProduct >(); } +aggregate_of< ::Ifc4::IfcProduct >::ptr Ifc4::IfcRelContainedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4::IfcProduct >(); } void Ifc4::IfcRelContainedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4::IfcProduct >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcSpatialElement* Ifc4::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcSpatialElement>(true); } +::Ifc4::IfcSpatialElement* Ifc4::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcSpatialElement>(true); } void Ifc4::IfcRelContainedInSpatialStructure::setRelatingStructure(::Ifc4::IfcSpatialElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4::IfcRelContainedInSpatialStructure::declaration() const { return *((IfcParse::entity*)IFC4_types[823]); } const IfcParse::entity& Ifc4::IfcRelContainedInSpatialStructure::Class() { return *((IfcParse::entity*)IFC4_types[823]); } Ifc4::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcProduct >::ptr v5_RelatedElements, ::Ifc4::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcProduct >::ptr v5_RelatedElements, ::Ifc4::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelCoversBldgElements -::Ifc4::IfcElement* Ifc4::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4::IfcElement>(true); } +::Ifc4::IfcElement* Ifc4::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4::IfcElement>(true); } void Ifc4::IfcRelCoversBldgElements::setRelatingBuildingElement(::Ifc4::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4::IfcCovering >::ptr Ifc4::IfcRelCoversBldgElements::RelatedCoverings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4::IfcCovering >(); } +aggregate_of< ::Ifc4::IfcCovering >::ptr Ifc4::IfcRelCoversBldgElements::RelatedCoverings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4::IfcCovering >(); } void Ifc4::IfcRelCoversBldgElements::setRelatedCoverings(aggregate_of< ::Ifc4::IfcCovering >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4::IfcRelCoversBldgElements::declaration() const { return *((IfcParse::entity*)IFC4_types[824]); } const IfcParse::entity& Ifc4::IfcRelCoversBldgElements::Class() { return *((IfcParse::entity*)IFC4_types[824]); } Ifc4::IfcRelCoversBldgElements::IfcRelCoversBldgElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4::IfcRelCoversBldgElements::IfcRelCoversBldgElements(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcElement* v5_RelatingBuildingElement, aggregate_of< ::Ifc4::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } +Ifc4::IfcRelCoversBldgElements::IfcRelCoversBldgElements(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcElement* v5_RelatingBuildingElement, aggregate_of< ::Ifc4::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } // Function implementations for IfcRelCoversSpaces -::Ifc4::IfcSpace* Ifc4::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4::IfcSpace>(true); } +::Ifc4::IfcSpace* Ifc4::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4::IfcSpace>(true); } void Ifc4::IfcRelCoversSpaces::setRelatingSpace(::Ifc4::IfcSpace* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4::IfcCovering >::ptr Ifc4::IfcRelCoversSpaces::RelatedCoverings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4::IfcCovering >(); } +aggregate_of< ::Ifc4::IfcCovering >::ptr Ifc4::IfcRelCoversSpaces::RelatedCoverings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4::IfcCovering >(); } void Ifc4::IfcRelCoversSpaces::setRelatedCoverings(aggregate_of< ::Ifc4::IfcCovering >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4::IfcRelCoversSpaces::declaration() const { return *((IfcParse::entity*)IFC4_types[825]); } const IfcParse::entity& Ifc4::IfcRelCoversSpaces::Class() { return *((IfcParse::entity*)IFC4_types[825]); } Ifc4::IfcRelCoversSpaces::IfcRelCoversSpaces(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcSpace* v5_RelatingSpace, aggregate_of< ::Ifc4::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } +Ifc4::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcSpace* v5_RelatingSpace, aggregate_of< ::Ifc4::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } // Function implementations for IfcRelDeclares -::Ifc4::IfcContext* Ifc4::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4::IfcContext>(true); } +::Ifc4::IfcContext* Ifc4::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4::IfcContext>(true); } void Ifc4::IfcRelDeclares::setRelatingContext(::Ifc4::IfcContext* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr Ifc4::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4::IfcDefinitionSelect >(); } +aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr Ifc4::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4::IfcDefinitionSelect >(); } void Ifc4::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4::IfcRelDeclares::declaration() const { return *((IfcParse::entity*)IFC4_types[826]); } const IfcParse::entity& Ifc4::IfcRelDeclares::Class() { return *((IfcParse::entity*)IFC4_types[826]); } Ifc4::IfcRelDeclares::IfcRelDeclares(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingContext ? v5_RelatingContext->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedDefinitions)->generalize());; populate_derived(); } +Ifc4::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingContext ? v5_RelatingContext->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedDefinitions)->generalize());; populate_derived(); } // Function implementations for IfcRelDecomposes @@ -13139,7 +13139,7 @@ Ifc4::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4::IfcOwnerHi const IfcParse::entity& Ifc4::IfcRelDecomposes::declaration() const { return *((IfcParse::entity*)IFC4_types[827]); } const IfcParse::entity& Ifc4::IfcRelDecomposes::Class() { return *((IfcParse::entity*)IFC4_types[827]); } Ifc4::IfcRelDecomposes::IfcRelDecomposes(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4::IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4::IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRelDefines @@ -13147,184 +13147,184 @@ Ifc4::IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, ::Ifc4::IfcOwn const IfcParse::entity& Ifc4::IfcRelDefines::declaration() const { return *((IfcParse::entity*)IFC4_types[828]); } const IfcParse::entity& Ifc4::IfcRelDefines::Class() { return *((IfcParse::entity*)IFC4_types[828]); } Ifc4::IfcRelDefines::IfcRelDefines(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4::IfcRelDefines::IfcRelDefines(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4::IfcRelDefines::IfcRelDefines(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRelDefinesByObject -aggregate_of< ::Ifc4::IfcObject >::ptr Ifc4::IfcRelDefinesByObject::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4::IfcObject >(); } +aggregate_of< ::Ifc4::IfcObject >::ptr Ifc4::IfcRelDefinesByObject::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4::IfcObject >(); } void Ifc4::IfcRelDefinesByObject::setRelatedObjects(aggregate_of< ::Ifc4::IfcObject >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcObject* Ifc4::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcObject>(true); } +::Ifc4::IfcObject* Ifc4::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcObject>(true); } void Ifc4::IfcRelDefinesByObject::setRelatingObject(::Ifc4::IfcObject* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4::IfcRelDefinesByObject::declaration() const { return *((IfcParse::entity*)IFC4_types[829]); } const IfcParse::entity& Ifc4::IfcRelDefinesByObject::Class() { return *((IfcParse::entity*)IFC4_types[829]); } Ifc4::IfcRelDefinesByObject::IfcRelDefinesByObject(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4::IfcRelDefinesByObject::IfcRelDefinesByObject(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcObject >::ptr v5_RelatedObjects, ::Ifc4::IfcObject* v6_RelatingObject) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingObject ? v6_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcRelDefinesByObject::IfcRelDefinesByObject(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcObject >::ptr v5_RelatedObjects, ::Ifc4::IfcObject* v6_RelatingObject) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingObject ? v6_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelDefinesByProperties -aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr Ifc4::IfcRelDefinesByProperties::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr Ifc4::IfcRelDefinesByProperties::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4::IfcObjectDefinition >(); } void Ifc4::IfcRelDefinesByProperties::setRelatedObjects(aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcPropertySetDefinitionSelect* Ifc4::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcPropertySetDefinitionSelect>(true); } +::Ifc4::IfcPropertySetDefinitionSelect* Ifc4::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcPropertySetDefinitionSelect>(true); } void Ifc4::IfcRelDefinesByProperties::setRelatingPropertyDefinition(::Ifc4::IfcPropertySetDefinitionSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4::IfcRelDefinesByProperties::declaration() const { return *((IfcParse::entity*)IFC4_types[830]); } const IfcParse::entity& Ifc4::IfcRelDefinesByProperties::Class() { return *((IfcParse::entity*)IFC4_types[830]); } Ifc4::IfcRelDefinesByProperties::IfcRelDefinesByProperties(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4::IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v5_RelatedObjects, ::Ifc4::IfcPropertySetDefinitionSelect* v6_RelatingPropertyDefinition) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingPropertyDefinition ? v6_RelatingPropertyDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v5_RelatedObjects, ::Ifc4::IfcPropertySetDefinitionSelect* v6_RelatingPropertyDefinition) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingPropertyDefinition ? v6_RelatingPropertyDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelDefinesByTemplate -aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr Ifc4::IfcRelDefinesByTemplate::RelatedPropertySets() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4::IfcPropertySetDefinition >(); } +aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr Ifc4::IfcRelDefinesByTemplate::RelatedPropertySets() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4::IfcPropertySetDefinition >(); } void Ifc4::IfcRelDefinesByTemplate::setRelatedPropertySets(aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcPropertySetTemplate* Ifc4::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcPropertySetTemplate>(true); } +::Ifc4::IfcPropertySetTemplate* Ifc4::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcPropertySetTemplate>(true); } void Ifc4::IfcRelDefinesByTemplate::setRelatingTemplate(::Ifc4::IfcPropertySetTemplate* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4::IfcRelDefinesByTemplate::declaration() const { return *((IfcParse::entity*)IFC4_types[831]); } const IfcParse::entity& Ifc4::IfcRelDefinesByTemplate::Class() { return *((IfcParse::entity*)IFC4_types[831]); } Ifc4::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr v5_RelatedPropertySets, ::Ifc4::IfcPropertySetTemplate* v6_RelatingTemplate) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedPropertySets)->generalize());set_attribute_value(5, v6_RelatingTemplate ? v6_RelatingTemplate->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr v5_RelatedPropertySets, ::Ifc4::IfcPropertySetTemplate* v6_RelatingTemplate) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedPropertySets)->generalize());set_attribute_value(5, v6_RelatingTemplate ? v6_RelatingTemplate->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelDefinesByType -aggregate_of< ::Ifc4::IfcObject >::ptr Ifc4::IfcRelDefinesByType::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4::IfcObject >(); } +aggregate_of< ::Ifc4::IfcObject >::ptr Ifc4::IfcRelDefinesByType::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4::IfcObject >(); } void Ifc4::IfcRelDefinesByType::setRelatedObjects(aggregate_of< ::Ifc4::IfcObject >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcTypeObject* Ifc4::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcTypeObject>(true); } +::Ifc4::IfcTypeObject* Ifc4::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcTypeObject>(true); } void Ifc4::IfcRelDefinesByType::setRelatingType(::Ifc4::IfcTypeObject* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4::IfcRelDefinesByType::declaration() const { return *((IfcParse::entity*)IFC4_types[832]); } const IfcParse::entity& Ifc4::IfcRelDefinesByType::Class() { return *((IfcParse::entity*)IFC4_types[832]); } Ifc4::IfcRelDefinesByType::IfcRelDefinesByType(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4::IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcObject >::ptr v5_RelatedObjects, ::Ifc4::IfcTypeObject* v6_RelatingType) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingType ? v6_RelatingType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcObject >::ptr v5_RelatedObjects, ::Ifc4::IfcTypeObject* v6_RelatingType) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingType ? v6_RelatingType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelFillsElement -::Ifc4::IfcOpeningElement* Ifc4::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4::IfcOpeningElement>(true); } +::Ifc4::IfcOpeningElement* Ifc4::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4::IfcOpeningElement>(true); } void Ifc4::IfcRelFillsElement::setRelatingOpeningElement(::Ifc4::IfcOpeningElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcElement* Ifc4::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcElement>(true); } +::Ifc4::IfcElement* Ifc4::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcElement>(true); } void Ifc4::IfcRelFillsElement::setRelatedBuildingElement(::Ifc4::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4::IfcRelFillsElement::declaration() const { return *((IfcParse::entity*)IFC4_types[833]); } const IfcParse::entity& Ifc4::IfcRelFillsElement::Class() { return *((IfcParse::entity*)IFC4_types[833]); } Ifc4::IfcRelFillsElement::IfcRelFillsElement(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4::IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcOpeningElement* v5_RelatingOpeningElement, ::Ifc4::IfcElement* v6_RelatedBuildingElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingOpeningElement ? v5_RelatingOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcOpeningElement* v5_RelatingOpeningElement, ::Ifc4::IfcElement* v6_RelatedBuildingElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingOpeningElement ? v5_RelatingOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelFlowControlElements -aggregate_of< ::Ifc4::IfcDistributionControlElement >::ptr Ifc4::IfcRelFlowControlElements::RelatedControlElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4::IfcDistributionControlElement >(); } +aggregate_of< ::Ifc4::IfcDistributionControlElement >::ptr Ifc4::IfcRelFlowControlElements::RelatedControlElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4::IfcDistributionControlElement >(); } void Ifc4::IfcRelFlowControlElements::setRelatedControlElements(aggregate_of< ::Ifc4::IfcDistributionControlElement >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcDistributionFlowElement* Ifc4::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcDistributionFlowElement>(true); } +::Ifc4::IfcDistributionFlowElement* Ifc4::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcDistributionFlowElement>(true); } void Ifc4::IfcRelFlowControlElements::setRelatingFlowElement(::Ifc4::IfcDistributionFlowElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4::IfcRelFlowControlElements::declaration() const { return *((IfcParse::entity*)IFC4_types[834]); } const IfcParse::entity& Ifc4::IfcRelFlowControlElements::Class() { return *((IfcParse::entity*)IFC4_types[834]); } Ifc4::IfcRelFlowControlElements::IfcRelFlowControlElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4::IfcRelFlowControlElements::IfcRelFlowControlElements(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDistributionControlElement >::ptr v5_RelatedControlElements, ::Ifc4::IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedControlElements)->generalize());set_attribute_value(5, v6_RelatingFlowElement ? v6_RelatingFlowElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcRelFlowControlElements::IfcRelFlowControlElements(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcDistributionControlElement >::ptr v5_RelatedControlElements, ::Ifc4::IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedControlElements)->generalize());set_attribute_value(5, v6_RelatingFlowElement ? v6_RelatingFlowElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelInterferesElements -::Ifc4::IfcElement* Ifc4::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4::IfcElement>(true); } +::Ifc4::IfcElement* Ifc4::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4::IfcElement>(true); } void Ifc4::IfcRelInterferesElements::setRelatingElement(::Ifc4::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcElement* Ifc4::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcElement>(true); } +::Ifc4::IfcElement* Ifc4::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcElement>(true); } void Ifc4::IfcRelInterferesElements::setRelatedElement(::Ifc4::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4::IfcConnectionGeometry* Ifc4::IfcRelInterferesElements::InterferenceGeometry() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4::IfcConnectionGeometry>(true); } +::Ifc4::IfcConnectionGeometry* Ifc4::IfcRelInterferesElements::InterferenceGeometry() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4::IfcConnectionGeometry>(true); } void Ifc4::IfcRelInterferesElements::setInterferenceGeometry(::Ifc4::IfcConnectionGeometry* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< std::string > Ifc4::IfcRelInterferesElements::InterferenceType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4::IfcRelInterferesElements::InterferenceType() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4::IfcRelInterferesElements::setInterferenceType(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::logic::tribool Ifc4::IfcRelInterferesElements::ImpliedOrder() const { boost::logic::tribool v = data_.get_attribute_value(8); return v; } +boost::logic::tribool Ifc4::IfcRelInterferesElements::ImpliedOrder() const { boost::logic::tribool v = get_attribute_value(8); return v; } void Ifc4::IfcRelInterferesElements::setImpliedOrder(boost::logic::tribool v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4::IfcRelInterferesElements::declaration() const { return *((IfcParse::entity*)IFC4_types[835]); } const IfcParse::entity& Ifc4::IfcRelInterferesElements::Class() { return *((IfcParse::entity*)IFC4_types[835]); } Ifc4::IfcRelInterferesElements::IfcRelInterferesElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4::IfcRelInterferesElements::IfcRelInterferesElements(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcElement* v5_RelatingElement, ::Ifc4::IfcElement* v6_RelatedElement, ::Ifc4::IfcConnectionGeometry* v7_InterferenceGeometry, boost::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder) : IfcRelConnects(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_InterferenceGeometry ? v7_InterferenceGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder));; populate_derived(); } +Ifc4::IfcRelInterferesElements::IfcRelInterferesElements(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcElement* v5_RelatingElement, ::Ifc4::IfcElement* v6_RelatedElement, ::Ifc4::IfcConnectionGeometry* v7_InterferenceGeometry, boost::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_InterferenceGeometry ? v7_InterferenceGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder));; populate_derived(); } // Function implementations for IfcRelNests -::Ifc4::IfcObjectDefinition* Ifc4::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4::IfcObjectDefinition>(true); } +::Ifc4::IfcObjectDefinition* Ifc4::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4::IfcObjectDefinition>(true); } void Ifc4::IfcRelNests::setRelatingObject(::Ifc4::IfcObjectDefinition* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr Ifc4::IfcRelNests::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr Ifc4::IfcRelNests::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4::IfcObjectDefinition >(); } void Ifc4::IfcRelNests::setRelatedObjects(aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4::IfcRelNests::declaration() const { return *((IfcParse::entity*)IFC4_types[836]); } const IfcParse::entity& Ifc4::IfcRelNests::Class() { return *((IfcParse::entity*)IFC4_types[836]); } Ifc4::IfcRelNests::IfcRelNests(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4::IfcRelNests::IfcRelNests(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } +Ifc4::IfcRelNests::IfcRelNests(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelProjectsElement -::Ifc4::IfcElement* Ifc4::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4::IfcElement>(true); } +::Ifc4::IfcElement* Ifc4::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4::IfcElement>(true); } void Ifc4::IfcRelProjectsElement::setRelatingElement(::Ifc4::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcFeatureElementAddition* Ifc4::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcFeatureElementAddition>(true); } +::Ifc4::IfcFeatureElementAddition* Ifc4::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcFeatureElementAddition>(true); } void Ifc4::IfcRelProjectsElement::setRelatedFeatureElement(::Ifc4::IfcFeatureElementAddition* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4::IfcRelProjectsElement::declaration() const { return *((IfcParse::entity*)IFC4_types[837]); } const IfcParse::entity& Ifc4::IfcRelProjectsElement::Class() { return *((IfcParse::entity*)IFC4_types[837]); } Ifc4::IfcRelProjectsElement::IfcRelProjectsElement(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcElement* v5_RelatingElement, ::Ifc4::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedFeatureElement ? v6_RelatedFeatureElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcElement* v5_RelatingElement, ::Ifc4::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedFeatureElement ? v6_RelatedFeatureElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelReferencedInSpatialStructure -aggregate_of< ::Ifc4::IfcProduct >::ptr Ifc4::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4::IfcProduct >(); } +aggregate_of< ::Ifc4::IfcProduct >::ptr Ifc4::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4::IfcProduct >(); } void Ifc4::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4::IfcProduct >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcSpatialElement* Ifc4::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcSpatialElement>(true); } +::Ifc4::IfcSpatialElement* Ifc4::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcSpatialElement>(true); } void Ifc4::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4::IfcSpatialElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4::IfcRelReferencedInSpatialStructure::declaration() const { return *((IfcParse::entity*)IFC4_types[838]); } const IfcParse::entity& Ifc4::IfcRelReferencedInSpatialStructure::Class() { return *((IfcParse::entity*)IFC4_types[838]); } Ifc4::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcProduct >::ptr v5_RelatedElements, ::Ifc4::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4::IfcProduct >::ptr v5_RelatedElements, ::Ifc4::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelSequence -::Ifc4::IfcProcess* Ifc4::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4::IfcProcess>(true); } +::Ifc4::IfcProcess* Ifc4::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4::IfcProcess>(true); } void Ifc4::IfcRelSequence::setRelatingProcess(::Ifc4::IfcProcess* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcProcess* Ifc4::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcProcess>(true); } +::Ifc4::IfcProcess* Ifc4::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcProcess>(true); } void Ifc4::IfcRelSequence::setRelatedProcess(::Ifc4::IfcProcess* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4::IfcLagTime* Ifc4::IfcRelSequence::TimeLag() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4::IfcLagTime>(true); } +::Ifc4::IfcLagTime* Ifc4::IfcRelSequence::TimeLag() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4::IfcLagTime>(true); } void Ifc4::IfcRelSequence::setTimeLag(::Ifc4::IfcLagTime* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< ::Ifc4::IfcSequenceEnum::Value > Ifc4::IfcRelSequence::SequenceType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4::IfcSequenceEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4::IfcSequenceEnum::Value > Ifc4::IfcRelSequence::SequenceType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4::IfcSequenceEnum::FromString(get_attribute_value(7)); } void Ifc4::IfcRelSequence::setSequenceType(boost::optional< ::Ifc4::IfcSequenceEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4::IfcSequenceEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4::IfcRelSequence::UserDefinedSequenceType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4::IfcRelSequence::UserDefinedSequenceType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4::IfcRelSequence::setUserDefinedSequenceType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcRelSequence::declaration() const { return *((IfcParse::entity*)IFC4_types[839]); } const IfcParse::entity& Ifc4::IfcRelSequence::Class() { return *((IfcParse::entity*)IFC4_types[839]); } Ifc4::IfcRelSequence::IfcRelSequence(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4::IfcRelSequence::IfcRelSequence(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcProcess* v5_RelatingProcess, ::Ifc4::IfcProcess* v6_RelatedProcess, ::Ifc4::IfcLagTime* v7_TimeLag, boost::optional< ::Ifc4::IfcSequenceEnum::Value > v8_SequenceType, boost::optional< std::string > v9_UserDefinedSequenceType) : IfcRelConnects(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingProcess ? v5_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedProcess ? v6_RelatedProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_TimeLag ? v7_TimeLag->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_SequenceType) {set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); }; populate_derived(); } +Ifc4::IfcRelSequence::IfcRelSequence(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcProcess* v5_RelatingProcess, ::Ifc4::IfcProcess* v6_RelatedProcess, ::Ifc4::IfcLagTime* v7_TimeLag, boost::optional< ::Ifc4::IfcSequenceEnum::Value > v8_SequenceType, boost::optional< std::string > v9_UserDefinedSequenceType) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingProcess ? v5_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedProcess ? v6_RelatedProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_TimeLag ? v7_TimeLag->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_SequenceType) {set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); }; populate_derived(); } // Function implementations for IfcRelServicesBuildings -::Ifc4::IfcSystem* Ifc4::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4::IfcSystem>(true); } +::Ifc4::IfcSystem* Ifc4::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4::IfcSystem>(true); } void Ifc4::IfcRelServicesBuildings::setRelatingSystem(::Ifc4::IfcSystem* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4::IfcSpatialElement >::ptr Ifc4::IfcRelServicesBuildings::RelatedBuildings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4::IfcSpatialElement >(); } +aggregate_of< ::Ifc4::IfcSpatialElement >::ptr Ifc4::IfcRelServicesBuildings::RelatedBuildings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4::IfcSpatialElement >(); } void Ifc4::IfcRelServicesBuildings::setRelatedBuildings(aggregate_of< ::Ifc4::IfcSpatialElement >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4::IfcRelServicesBuildings::declaration() const { return *((IfcParse::entity*)IFC4_types[840]); } const IfcParse::entity& Ifc4::IfcRelServicesBuildings::Class() { return *((IfcParse::entity*)IFC4_types[840]); } Ifc4::IfcRelServicesBuildings::IfcRelServicesBuildings(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4::IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcSystem* v5_RelatingSystem, aggregate_of< ::Ifc4::IfcSpatialElement >::ptr v6_RelatedBuildings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSystem ? v5_RelatingSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedBuildings)->generalize());; populate_derived(); } +Ifc4::IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcSystem* v5_RelatingSystem, aggregate_of< ::Ifc4::IfcSpatialElement >::ptr v6_RelatedBuildings) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSystem ? v5_RelatingSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedBuildings)->generalize());; populate_derived(); } // Function implementations for IfcRelSpaceBoundary -::Ifc4::IfcSpaceBoundarySelect* Ifc4::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4::IfcSpaceBoundarySelect>(true); } +::Ifc4::IfcSpaceBoundarySelect* Ifc4::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4::IfcSpaceBoundarySelect>(true); } void Ifc4::IfcRelSpaceBoundary::setRelatingSpace(::Ifc4::IfcSpaceBoundarySelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcElement* Ifc4::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcElement>(true); } +::Ifc4::IfcElement* Ifc4::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcElement>(true); } void Ifc4::IfcRelSpaceBoundary::setRelatedBuildingElement(::Ifc4::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4::IfcConnectionGeometry* Ifc4::IfcRelSpaceBoundary::ConnectionGeometry() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4::IfcConnectionGeometry>(true); } +::Ifc4::IfcConnectionGeometry* Ifc4::IfcRelSpaceBoundary::ConnectionGeometry() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4::IfcConnectionGeometry>(true); } void Ifc4::IfcRelSpaceBoundary::setConnectionGeometry(::Ifc4::IfcConnectionGeometry* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4::IfcPhysicalOrVirtualEnum::Value Ifc4::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4::IfcPhysicalOrVirtualEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4::IfcPhysicalOrVirtualEnum::Value Ifc4::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4::IfcPhysicalOrVirtualEnum::FromString(get_attribute_value(7)); } void Ifc4::IfcRelSpaceBoundary::setPhysicalOrVirtualBoundary(::Ifc4::IfcPhysicalOrVirtualEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4::IfcPhysicalOrVirtualEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4::IfcInternalOrExternalEnum::Value Ifc4::IfcRelSpaceBoundary::InternalOrExternalBoundary() const { return ::Ifc4::IfcInternalOrExternalEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4::IfcInternalOrExternalEnum::Value Ifc4::IfcRelSpaceBoundary::InternalOrExternalBoundary() const { return ::Ifc4::IfcInternalOrExternalEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcRelSpaceBoundary::setInternalOrExternalBoundary(::Ifc4::IfcInternalOrExternalEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4::IfcInternalOrExternalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4::IfcRelSpaceBoundary::declaration() const { return *((IfcParse::entity*)IFC4_types[841]); } const IfcParse::entity& Ifc4::IfcRelSpaceBoundary::Class() { return *((IfcParse::entity*)IFC4_types[841]); } Ifc4::IfcRelSpaceBoundary::IfcRelSpaceBoundary(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4::IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4::IfcElement* v6_RelatedBuildingElement, ::Ifc4::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) : IfcRelConnects(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; populate_derived(); } +Ifc4::IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4::IfcElement* v6_RelatedBuildingElement, ::Ifc4::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; populate_derived(); } // Function implementations for IfcRelSpaceBoundary1stLevel -::Ifc4::IfcRelSpaceBoundary1stLevel* Ifc4::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4::IfcRelSpaceBoundary1stLevel>(true); } +::Ifc4::IfcRelSpaceBoundary1stLevel* Ifc4::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4::IfcRelSpaceBoundary1stLevel>(true); } void Ifc4::IfcRelSpaceBoundary1stLevel::setParentBoundary(::Ifc4::IfcRelSpaceBoundary1stLevel* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } ::Ifc4::IfcRelSpaceBoundary1stLevel::list::ptr Ifc4::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[842], 9)->as(); } @@ -13332,10 +13332,10 @@ void Ifc4::IfcRelSpaceBoundary1stLevel::setParentBoundary(::Ifc4::IfcRelSpaceBou const IfcParse::entity& Ifc4::IfcRelSpaceBoundary1stLevel::declaration() const { return *((IfcParse::entity*)IFC4_types[842]); } const IfcParse::entity& Ifc4::IfcRelSpaceBoundary1stLevel::Class() { return *((IfcParse::entity*)IFC4_types[842]); } Ifc4::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(IfcEntityInstanceData&& e) : IfcRelSpaceBoundary(std::move(e)) { } -Ifc4::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4::IfcElement* v6_RelatedBuildingElement, ::Ifc4::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary) : IfcRelSpaceBoundary(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4::IfcElement* v6_RelatedBuildingElement, ::Ifc4::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary) : IfcRelSpaceBoundary(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelSpaceBoundary2ndLevel -::Ifc4::IfcRelSpaceBoundary2ndLevel* Ifc4::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4::IfcRelSpaceBoundary2ndLevel>(true); } +::Ifc4::IfcRelSpaceBoundary2ndLevel* Ifc4::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4::IfcRelSpaceBoundary2ndLevel>(true); } void Ifc4::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(::Ifc4::IfcRelSpaceBoundary2ndLevel* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } ::Ifc4::IfcRelSpaceBoundary2ndLevel::list::ptr Ifc4::IfcRelSpaceBoundary2ndLevel::Corresponds() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[843], 10)->as(); } @@ -13343,19 +13343,19 @@ void Ifc4::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(::Ifc4::IfcRelS const IfcParse::entity& Ifc4::IfcRelSpaceBoundary2ndLevel::declaration() const { return *((IfcParse::entity*)IFC4_types[843]); } const IfcParse::entity& Ifc4::IfcRelSpaceBoundary2ndLevel::Class() { return *((IfcParse::entity*)IFC4_types[843]); } Ifc4::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(IfcEntityInstanceData&& e) : IfcRelSpaceBoundary1stLevel(std::move(e)) { } -Ifc4::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4::IfcElement* v6_RelatedBuildingElement, ::Ifc4::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, ::Ifc4::IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary) : IfcRelSpaceBoundary1stLevel(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_CorrespondingBoundary ? v11_CorrespondingBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4::IfcElement* v6_RelatedBuildingElement, ::Ifc4::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, ::Ifc4::IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary) : IfcRelSpaceBoundary1stLevel(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_CorrespondingBoundary ? v11_CorrespondingBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelVoidsElement -::Ifc4::IfcElement* Ifc4::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4::IfcElement>(true); } +::Ifc4::IfcElement* Ifc4::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4::IfcElement>(true); } void Ifc4::IfcRelVoidsElement::setRelatingBuildingElement(::Ifc4::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcFeatureElementSubtraction* Ifc4::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcFeatureElementSubtraction>(true); } +::Ifc4::IfcFeatureElementSubtraction* Ifc4::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcFeatureElementSubtraction>(true); } void Ifc4::IfcRelVoidsElement::setRelatedOpeningElement(::Ifc4::IfcFeatureElementSubtraction* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4::IfcRelVoidsElement::declaration() const { return *((IfcParse::entity*)IFC4_types[844]); } const IfcParse::entity& Ifc4::IfcRelVoidsElement::Class() { return *((IfcParse::entity*)IFC4_types[844]); } Ifc4::IfcRelVoidsElement::IfcRelVoidsElement(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4::IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcElement* v5_RelatingBuildingElement, ::Ifc4::IfcFeatureElementSubtraction* v6_RelatedOpeningElement) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedOpeningElement ? v6_RelatedOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcElement* v5_RelatingBuildingElement, ::Ifc4::IfcFeatureElementSubtraction* v6_RelatedOpeningElement) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedOpeningElement ? v6_RelatedOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelationship @@ -13363,26 +13363,26 @@ Ifc4::IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, ::Ifc4::If const IfcParse::entity& Ifc4::IfcRelationship::declaration() const { return *((IfcParse::entity*)IFC4_types[813]); } const IfcParse::entity& Ifc4::IfcRelationship::Class() { return *((IfcParse::entity*)IFC4_types[813]); } Ifc4::IfcRelationship::IfcRelationship(IfcEntityInstanceData&& e) : IfcRoot(std::move(e)) { } -Ifc4::IfcRelationship::IfcRelationship(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4::IfcRelationship::IfcRelationship(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcReparametrisedCompositeCurveSegment -double Ifc4::IfcReparametrisedCompositeCurveSegment::ParamLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4::IfcReparametrisedCompositeCurveSegment::ParamLength() const { double v = get_attribute_value(3); return v; } void Ifc4::IfcReparametrisedCompositeCurveSegment::setParamLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4::IfcReparametrisedCompositeCurveSegment::declaration() const { return *((IfcParse::entity*)IFC4_types[845]); } const IfcParse::entity& Ifc4::IfcReparametrisedCompositeCurveSegment::Class() { return *((IfcParse::entity*)IFC4_types[845]); } Ifc4::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(IfcEntityInstanceData&& e) : IfcCompositeCurveSegment(std::move(e)) { } -Ifc4::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(::Ifc4::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4::IfcCurve* v3_ParentCurve, double v4_ParamLength) : IfcCompositeCurveSegment(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ParamLength));; populate_derived(); } +Ifc4::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(::Ifc4::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4::IfcCurve* v3_ParentCurve, double v4_ParamLength) : IfcCompositeCurveSegment(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ParamLength));; populate_derived(); } // Function implementations for IfcRepresentation -::Ifc4::IfcRepresentationContext* Ifc4::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcRepresentationContext>(true); } +::Ifc4::IfcRepresentationContext* Ifc4::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcRepresentationContext>(true); } void Ifc4::IfcRepresentation::setContextOfItems(::Ifc4::IfcRepresentationContext* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4::IfcRepresentation::RepresentationIdentifier() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4::IfcRepresentation::RepresentationIdentifier() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4::IfcRepresentation::RepresentationType() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4::IfcRepresentation::RepresentationType() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4::IfcRepresentation::setRepresentationType(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -aggregate_of< ::Ifc4::IfcRepresentationItem >::ptr Ifc4::IfcRepresentation::Items() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4::IfcRepresentationItem >(); } +aggregate_of< ::Ifc4::IfcRepresentationItem >::ptr Ifc4::IfcRepresentation::Items() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4::IfcRepresentationItem >(); } void Ifc4::IfcRepresentation::setItems(aggregate_of< ::Ifc4::IfcRepresentationItem >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } ::Ifc4::IfcRepresentationMap::list::ptr Ifc4::IfcRepresentation::RepresentationMap() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[849], 1)->as(); } @@ -13392,12 +13392,12 @@ void Ifc4::IfcRepresentation::setItems(aggregate_of< ::Ifc4::IfcRepresentationIt const IfcParse::entity& Ifc4::IfcRepresentation::declaration() const { return *((IfcParse::entity*)IFC4_types[846]); } const IfcParse::entity& Ifc4::IfcRepresentation::Class() { return *((IfcParse::entity*)IFC4_types[846]); } Ifc4::IfcRepresentation::IfcRepresentation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcRepresentation::IfcRepresentation(::Ifc4::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4::IfcRepresentationItem >::ptr v4_Items) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4::IfcRepresentation::IfcRepresentation(::Ifc4::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4::IfcRepresentationItem >::ptr v4_Items) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcRepresentationContext -boost::optional< std::string > Ifc4::IfcRepresentationContext::ContextIdentifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4::IfcRepresentationContext::ContextIdentifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4::IfcRepresentationContext::setContextIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4::IfcRepresentationContext::ContextType() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4::IfcRepresentationContext::ContextType() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcRepresentationContext::setContextType(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4::IfcRepresentation::list::ptr Ifc4::IfcRepresentationContext::RepresentationsInContext() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[846], 0)->as(); } @@ -13405,7 +13405,7 @@ void Ifc4::IfcRepresentationContext::setContextType(boost::optional< std::string const IfcParse::entity& Ifc4::IfcRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4_types[847]); } const IfcParse::entity& Ifc4::IfcRepresentationContext::Class() { return *((IfcParse::entity*)IFC4_types[847]); } Ifc4::IfcRepresentationContext::IfcRepresentationContext(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcRepresentationContext::IfcRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; populate_derived(); } +Ifc4::IfcRepresentationContext::IfcRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; populate_derived(); } // Function implementations for IfcRepresentationItem @@ -13415,12 +13415,12 @@ Ifc4::IfcRepresentationContext::IfcRepresentationContext(boost::optional< std::s const IfcParse::entity& Ifc4::IfcRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4_types[848]); } const IfcParse::entity& Ifc4::IfcRepresentationItem::Class() { return *((IfcParse::entity*)IFC4_types[848]); } Ifc4::IfcRepresentationItem::IfcRepresentationItem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4::IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcRepresentationMap -::Ifc4::IfcAxis2Placement* Ifc4::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcAxis2Placement>(true); } +::Ifc4::IfcAxis2Placement* Ifc4::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcAxis2Placement>(true); } void Ifc4::IfcRepresentationMap::setMappingOrigin(::Ifc4::IfcAxis2Placement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcRepresentation* Ifc4::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcRepresentation>(true); } +::Ifc4::IfcRepresentation* Ifc4::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcRepresentation>(true); } void Ifc4::IfcRepresentationMap::setMappedRepresentation(::Ifc4::IfcRepresentation* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } ::Ifc4::IfcShapeAspect::list::ptr Ifc4::IfcRepresentationMap::HasShapeAspects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[890], 4)->as(); } @@ -13429,12 +13429,12 @@ void Ifc4::IfcRepresentationMap::setMappedRepresentation(::Ifc4::IfcRepresentati const IfcParse::entity& Ifc4::IfcRepresentationMap::declaration() const { return *((IfcParse::entity*)IFC4_types[849]); } const IfcParse::entity& Ifc4::IfcRepresentationMap::Class() { return *((IfcParse::entity*)IFC4_types[849]); } Ifc4::IfcRepresentationMap::IfcRepresentationMap(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcRepresentationMap::IfcRepresentationMap(::Ifc4::IfcAxis2Placement* v1_MappingOrigin, ::Ifc4::IfcRepresentation* v2_MappedRepresentation) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_MappingOrigin ? v1_MappingOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappedRepresentation ? v2_MappedRepresentation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcRepresentationMap::IfcRepresentationMap(::Ifc4::IfcAxis2Placement* v1_MappingOrigin, ::Ifc4::IfcRepresentation* v2_MappedRepresentation) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_MappingOrigin ? v1_MappingOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappedRepresentation ? v2_MappedRepresentation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcResource -boost::optional< std::string > Ifc4::IfcResource::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4::IfcResource::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcResource::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4::IfcResource::LongDescription() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4::IfcResource::LongDescription() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4::IfcResource::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4::IfcRelAssignsToResource::list::ptr Ifc4::IfcResource::ResourceOf() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[805], 6)->as(); } @@ -13442,219 +13442,219 @@ void Ifc4::IfcResource::setLongDescription(boost::optional< std::string > v) { i const IfcParse::entity& Ifc4::IfcResource::declaration() const { return *((IfcParse::entity*)IFC4_types[850]); } const IfcParse::entity& Ifc4::IfcResource::Class() { return *((IfcParse::entity*)IFC4_types[850]); } Ifc4::IfcResource::IfcResource(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } +Ifc4::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } // Function implementations for IfcResourceApprovalRelationship -aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr Ifc4::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4::IfcResourceObjectSelect >(); } +aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr Ifc4::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4::IfcResourceObjectSelect >(); } void Ifc4::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcApproval* Ifc4::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4::IfcApproval>(true); } +::Ifc4::IfcApproval* Ifc4::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4::IfcApproval>(true); } void Ifc4::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4::IfcApproval* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4::IfcResourceApprovalRelationship::declaration() const { return *((IfcParse::entity*)IFC4_types[851]); } const IfcParse::entity& Ifc4::IfcResourceApprovalRelationship::Class() { return *((IfcParse::entity*)IFC4_types[851]); } Ifc4::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatedResourceObjects)->generalize());set_attribute_value(3, v4_RelatingApproval ? v4_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatedResourceObjects)->generalize());set_attribute_value(3, v4_RelatingApproval ? v4_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcResourceConstraintRelationship -::Ifc4::IfcConstraint* Ifc4::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcConstraint>(true); } +::Ifc4::IfcConstraint* Ifc4::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcConstraint>(true); } void Ifc4::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4::IfcConstraint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr Ifc4::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4::IfcResourceObjectSelect >(); } +aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr Ifc4::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4::IfcResourceObjectSelect >(); } void Ifc4::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4::IfcResourceConstraintRelationship::declaration() const { return *((IfcParse::entity*)IFC4_types[852]); } const IfcParse::entity& Ifc4::IfcResourceConstraintRelationship::Class() { return *((IfcParse::entity*)IFC4_types[852]); } Ifc4::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingConstraint ? v3_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } +Ifc4::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingConstraint ? v3_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } // Function implementations for IfcResourceLevelRelationship -boost::optional< std::string > Ifc4::IfcResourceLevelRelationship::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4::IfcResourceLevelRelationship::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4::IfcResourceLevelRelationship::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4::IfcResourceLevelRelationship::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4::IfcResourceLevelRelationship::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcResourceLevelRelationship::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4::IfcResourceLevelRelationship::declaration() const { return *((IfcParse::entity*)IFC4_types[853]); } const IfcParse::entity& Ifc4::IfcResourceLevelRelationship::Class() { return *((IfcParse::entity*)IFC4_types[853]); } Ifc4::IfcResourceLevelRelationship::IfcResourceLevelRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcResourceLevelRelationship::IfcResourceLevelRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4::IfcResourceLevelRelationship::IfcResourceLevelRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcResourceTime -boost::optional< std::string > Ifc4::IfcResourceTime::ScheduleWork() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4::IfcResourceTime::ScheduleWork() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4::IfcResourceTime::setScheduleWork(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4::IfcResourceTime::ScheduleUsage() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4::IfcResourceTime::ScheduleUsage() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4::IfcResourceTime::setScheduleUsage(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4::IfcResourceTime::ScheduleStart() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4::IfcResourceTime::ScheduleStart() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcResourceTime::setScheduleStart(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4::IfcResourceTime::ScheduleFinish() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4::IfcResourceTime::ScheduleFinish() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4::IfcResourceTime::setScheduleFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4::IfcResourceTime::ScheduleContour() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4::IfcResourceTime::ScheduleContour() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4::IfcResourceTime::setScheduleContour(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4::IfcResourceTime::LevelingDelay() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4::IfcResourceTime::LevelingDelay() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4::IfcResourceTime::setLevelingDelay(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< bool > Ifc4::IfcResourceTime::IsOverAllocated() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } bool v = data_.get_attribute_value(9); return v; } +boost::optional< bool > Ifc4::IfcResourceTime::IsOverAllocated() const { if(get_attribute_value(9).isNull()) { return boost::none; } bool v = get_attribute_value(9); return v; } void Ifc4::IfcResourceTime::setIsOverAllocated(boost::optional< bool > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4::IfcResourceTime::StatusTime() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4::IfcResourceTime::StatusTime() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4::IfcResourceTime::setStatusTime(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< std::string > Ifc4::IfcResourceTime::ActualWork() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4::IfcResourceTime::ActualWork() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4::IfcResourceTime::setActualWork(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4::IfcResourceTime::ActualUsage() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4::IfcResourceTime::ActualUsage() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4::IfcResourceTime::setActualUsage(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< std::string > Ifc4::IfcResourceTime::ActualStart() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(13); return v; } +boost::optional< std::string > Ifc4::IfcResourceTime::ActualStart() const { if(get_attribute_value(13).isNull()) { return boost::none; } std::string v = get_attribute_value(13); return v; } void Ifc4::IfcResourceTime::setActualStart(boost::optional< std::string > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4::IfcResourceTime::ActualFinish() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4::IfcResourceTime::ActualFinish() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4::IfcResourceTime::setActualFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< std::string > Ifc4::IfcResourceTime::RemainingWork() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(15); return v; } +boost::optional< std::string > Ifc4::IfcResourceTime::RemainingWork() const { if(get_attribute_value(15).isNull()) { return boost::none; } std::string v = get_attribute_value(15); return v; } void Ifc4::IfcResourceTime::setRemainingWork(boost::optional< std::string > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4::IfcResourceTime::RemainingUsage() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4::IfcResourceTime::RemainingUsage() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4::IfcResourceTime::setRemainingUsage(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< double > Ifc4::IfcResourceTime::Completion() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } double v = data_.get_attribute_value(17); return v; } +boost::optional< double > Ifc4::IfcResourceTime::Completion() const { if(get_attribute_value(17).isNull()) { return boost::none; } double v = get_attribute_value(17); return v; } void Ifc4::IfcResourceTime::setCompletion(boost::optional< double > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } const IfcParse::entity& Ifc4::IfcResourceTime::declaration() const { return *((IfcParse::entity*)IFC4_types[856]); } const IfcParse::entity& Ifc4::IfcResourceTime::Class() { return *((IfcParse::entity*)IFC4_types[856]); } Ifc4::IfcResourceTime::IfcResourceTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4::IfcResourceTime::IfcResourceTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< std::string > v4_ScheduleWork, boost::optional< double > v5_ScheduleUsage, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_ScheduleContour, boost::optional< std::string > v9_LevelingDelay, boost::optional< bool > v10_IsOverAllocated, boost::optional< std::string > v11_StatusTime, boost::optional< std::string > v12_ActualWork, boost::optional< double > v13_ActualUsage, boost::optional< std::string > v14_ActualStart, boost::optional< std::string > v15_ActualFinish, boost::optional< std::string > v16_RemainingWork, boost::optional< double > v17_RemainingUsage, boost::optional< double > v18_Completion) : IfcSchedulingTime(IfcEntityInstanceData(storage_t(18))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); }; populate_derived(); } +Ifc4::IfcResourceTime::IfcResourceTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< std::string > v4_ScheduleWork, boost::optional< double > v5_ScheduleUsage, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_ScheduleContour, boost::optional< std::string > v9_LevelingDelay, boost::optional< bool > v10_IsOverAllocated, boost::optional< std::string > v11_StatusTime, boost::optional< std::string > v12_ActualWork, boost::optional< double > v13_ActualUsage, boost::optional< std::string > v14_ActualStart, boost::optional< std::string > v15_ActualFinish, boost::optional< std::string > v16_RemainingWork, boost::optional< double > v17_RemainingUsage, boost::optional< double > v18_Completion) : IfcSchedulingTime(IfcEntityInstanceData(in_memory_attribute_storage(18))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); }; populate_derived(); } // Function implementations for IfcRevolvedAreaSolid -::Ifc4::IfcAxis1Placement* Ifc4::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcAxis1Placement>(true); } +::Ifc4::IfcAxis1Placement* Ifc4::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcAxis1Placement>(true); } void Ifc4::IfcRevolvedAreaSolid::setAxis(::Ifc4::IfcAxis1Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4::IfcRevolvedAreaSolid::Angle() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4::IfcRevolvedAreaSolid::Angle() const { double v = get_attribute_value(3); return v; } void Ifc4::IfcRevolvedAreaSolid::setAngle(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4::IfcRevolvedAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4_types[857]); } const IfcParse::entity& Ifc4::IfcRevolvedAreaSolid::Class() { return *((IfcParse::entity*)IFC4_types[857]); } Ifc4::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(::Ifc4::IfcProfileDef* v1_SweptArea, ::Ifc4::IfcAxis2Placement3D* v2_Position, ::Ifc4::IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));; populate_derived(); } +Ifc4::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(::Ifc4::IfcProfileDef* v1_SweptArea, ::Ifc4::IfcAxis2Placement3D* v2_Position, ::Ifc4::IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));; populate_derived(); } // Function implementations for IfcRevolvedAreaSolidTapered -::Ifc4::IfcProfileDef* Ifc4::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4::IfcProfileDef>(true); } +::Ifc4::IfcProfileDef* Ifc4::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4::IfcProfileDef>(true); } void Ifc4::IfcRevolvedAreaSolidTapered::setEndSweptArea(::Ifc4::IfcProfileDef* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4::IfcRevolvedAreaSolidTapered::declaration() const { return *((IfcParse::entity*)IFC4_types[858]); } const IfcParse::entity& Ifc4::IfcRevolvedAreaSolidTapered::Class() { return *((IfcParse::entity*)IFC4_types[858]); } Ifc4::IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(IfcEntityInstanceData&& e) : IfcRevolvedAreaSolid(std::move(e)) { } -Ifc4::IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(::Ifc4::IfcProfileDef* v1_SweptArea, ::Ifc4::IfcAxis2Placement3D* v2_Position, ::Ifc4::IfcAxis1Placement* v3_Axis, double v4_Angle, ::Ifc4::IfcProfileDef* v5_EndSweptArea) : IfcRevolvedAreaSolid(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(::Ifc4::IfcProfileDef* v1_SweptArea, ::Ifc4::IfcAxis2Placement3D* v2_Position, ::Ifc4::IfcAxis1Placement* v3_Axis, double v4_Angle, ::Ifc4::IfcProfileDef* v5_EndSweptArea) : IfcRevolvedAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRightCircularCone -double Ifc4::IfcRightCircularCone::Height() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4::IfcRightCircularCone::Height() const { double v = get_attribute_value(1); return v; } void Ifc4::IfcRightCircularCone::setHeight(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4::IfcRightCircularCone::BottomRadius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4::IfcRightCircularCone::BottomRadius() const { double v = get_attribute_value(2); return v; } void Ifc4::IfcRightCircularCone::setBottomRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4::IfcRightCircularCone::declaration() const { return *((IfcParse::entity*)IFC4_types[859]); } const IfcParse::entity& Ifc4::IfcRightCircularCone::Class() { return *((IfcParse::entity*)IFC4_types[859]); } Ifc4::IfcRightCircularCone::IfcRightCircularCone(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4::IfcRightCircularCone::IfcRightCircularCone(::Ifc4::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_BottomRadius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; populate_derived(); } +Ifc4::IfcRightCircularCone::IfcRightCircularCone(::Ifc4::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_BottomRadius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; populate_derived(); } // Function implementations for IfcRightCircularCylinder -double Ifc4::IfcRightCircularCylinder::Height() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4::IfcRightCircularCylinder::Height() const { double v = get_attribute_value(1); return v; } void Ifc4::IfcRightCircularCylinder::setHeight(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4::IfcRightCircularCylinder::Radius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4::IfcRightCircularCylinder::Radius() const { double v = get_attribute_value(2); return v; } void Ifc4::IfcRightCircularCylinder::setRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4::IfcRightCircularCylinder::declaration() const { return *((IfcParse::entity*)IFC4_types[860]); } const IfcParse::entity& Ifc4::IfcRightCircularCylinder::Class() { return *((IfcParse::entity*)IFC4_types[860]); } Ifc4::IfcRightCircularCylinder::IfcRightCircularCylinder(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4::IfcRightCircularCylinder::IfcRightCircularCylinder(::Ifc4::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; populate_derived(); } +Ifc4::IfcRightCircularCylinder::IfcRightCircularCylinder(::Ifc4::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; populate_derived(); } // Function implementations for IfcRoof -boost::optional< ::Ifc4::IfcRoofTypeEnum::Value > Ifc4::IfcRoof::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcRoofTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcRoofTypeEnum::Value > Ifc4::IfcRoof::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcRoofTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcRoof::setPredefinedType(boost::optional< ::Ifc4::IfcRoofTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcRoofTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcRoof::declaration() const { return *((IfcParse::entity*)IFC4_types[862]); } const IfcParse::entity& Ifc4::IfcRoof::Class() { return *((IfcParse::entity*)IFC4_types[862]); } Ifc4::IfcRoof::IfcRoof(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4::IfcRoof::IfcRoof(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcRoofTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcRoof::IfcRoof(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcRoofTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRoofType -::Ifc4::IfcRoofTypeEnum::Value Ifc4::IfcRoofType::PredefinedType() const { return ::Ifc4::IfcRoofTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcRoofTypeEnum::Value Ifc4::IfcRoofType::PredefinedType() const { return ::Ifc4::IfcRoofTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcRoofType::setPredefinedType(::Ifc4::IfcRoofTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcRoofTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcRoofType::declaration() const { return *((IfcParse::entity*)IFC4_types[863]); } const IfcParse::entity& Ifc4::IfcRoofType::Class() { return *((IfcParse::entity*)IFC4_types[863]); } Ifc4::IfcRoofType::IfcRoofType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4::IfcRoofType::IfcRoofType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcRoofTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcRoofType::IfcRoofType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcRoofTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRoot -std::string Ifc4::IfcRoot::GlobalId() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4::IfcRoot::GlobalId() const { std::string v = get_attribute_value(0); return v; } void Ifc4::IfcRoot::setGlobalId(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcOwnerHistory* Ifc4::IfcRoot::OwnerHistory() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcOwnerHistory>(true); } +::Ifc4::IfcOwnerHistory* Ifc4::IfcRoot::OwnerHistory() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcOwnerHistory>(true); } void Ifc4::IfcRoot::setOwnerHistory(::Ifc4::IfcOwnerHistory* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4::IfcRoot::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4::IfcRoot::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4::IfcRoot::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4::IfcRoot::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4::IfcRoot::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4::IfcRoot::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4::IfcRoot::declaration() const { return *((IfcParse::entity*)IFC4_types[865]); } const IfcParse::entity& Ifc4::IfcRoot::Class() { return *((IfcParse::entity*)IFC4_types[865]); } Ifc4::IfcRoot::IfcRoot(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcRoot::IfcRoot(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4::IfcRoot::IfcRoot(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRoundedRectangleProfileDef -double Ifc4::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = get_attribute_value(5); return v; } void Ifc4::IfcRoundedRectangleProfileDef::setRoundingRadius(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4::IfcRoundedRectangleProfileDef::declaration() const { return *((IfcParse::entity*)IFC4_types[870]); } const IfcParse::entity& Ifc4::IfcRoundedRectangleProfileDef::Class() { return *((IfcParse::entity*)IFC4_types[870]); } Ifc4::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(IfcEntityInstanceData&& e) : IfcRectangleProfileDef(std::move(e)) { } -Ifc4::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; populate_derived(); } +Ifc4::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; populate_derived(); } // Function implementations for IfcSIUnit -boost::optional< ::Ifc4::IfcSIPrefix::Value > Ifc4::IfcSIUnit::Prefix() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4::IfcSIPrefix::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc4::IfcSIPrefix::Value > Ifc4::IfcSIUnit::Prefix() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4::IfcSIPrefix::FromString(get_attribute_value(2)); } void Ifc4::IfcSIUnit::setPrefix(boost::optional< ::Ifc4::IfcSIPrefix::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc4::IfcSIPrefix::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -::Ifc4::IfcSIUnitName::Value Ifc4::IfcSIUnit::Name() const { return ::Ifc4::IfcSIUnitName::FromString(data_.get_attribute_value(3)); } +::Ifc4::IfcSIUnitName::Value Ifc4::IfcSIUnit::Name() const { return ::Ifc4::IfcSIUnitName::FromString(get_attribute_value(3)); } void Ifc4::IfcSIUnit::setName(::Ifc4::IfcSIUnitName::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc4::IfcSIUnitName::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4::IfcSIUnit::declaration() const { return *((IfcParse::entity*)IFC4_types[902]); } const IfcParse::entity& Ifc4::IfcSIUnit::Class() { return *((IfcParse::entity*)IFC4_types[902]); } Ifc4::IfcSIUnit::IfcSIUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -Ifc4::IfcSIUnit::IfcSIUnit(::Ifc4::IfcUnitEnum::Value v2_UnitType, boost::optional< ::Ifc4::IfcSIPrefix::Value > v3_Prefix, ::Ifc4::IfcSIUnitName::Value v4_Name) : IfcNamedUnit(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(1, (EnumerationReference(&::Ifc4::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (EnumerationReference(&::Ifc4::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (EnumerationReference(&::Ifc4::IfcSIUnitName::Class(),(size_t)v4_Name)));; populate_derived(); } +Ifc4::IfcSIUnit::IfcSIUnit(::Ifc4::IfcUnitEnum::Value v2_UnitType, boost::optional< ::Ifc4::IfcSIPrefix::Value > v3_Prefix, ::Ifc4::IfcSIUnitName::Value v4_Name) : IfcNamedUnit(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(1, (EnumerationReference(&::Ifc4::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (EnumerationReference(&::Ifc4::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (EnumerationReference(&::Ifc4::IfcSIUnitName::Class(),(size_t)v4_Name)));; populate_derived(); } // Function implementations for IfcSanitaryTerminal -boost::optional< ::Ifc4::IfcSanitaryTerminalTypeEnum::Value > Ifc4::IfcSanitaryTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcSanitaryTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcSanitaryTerminalTypeEnum::Value > Ifc4::IfcSanitaryTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcSanitaryTerminal::setPredefinedType(boost::optional< ::Ifc4::IfcSanitaryTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcSanitaryTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcSanitaryTerminal::declaration() const { return *((IfcParse::entity*)IFC4_types[871]); } const IfcParse::entity& Ifc4::IfcSanitaryTerminal::Class() { return *((IfcParse::entity*)IFC4_types[871]); } Ifc4::IfcSanitaryTerminal::IfcSanitaryTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4::IfcSanitaryTerminal::IfcSanitaryTerminal(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcSanitaryTerminal::IfcSanitaryTerminal(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSanitaryTerminalType -::Ifc4::IfcSanitaryTerminalTypeEnum::Value Ifc4::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4::IfcSanitaryTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcSanitaryTerminalTypeEnum::Value Ifc4::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcSanitaryTerminalType::setPredefinedType(::Ifc4::IfcSanitaryTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcSanitaryTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcSanitaryTerminalType::declaration() const { return *((IfcParse::entity*)IFC4_types[872]); } const IfcParse::entity& Ifc4::IfcSanitaryTerminalType::Class() { return *((IfcParse::entity*)IFC4_types[872]); } Ifc4::IfcSanitaryTerminalType::IfcSanitaryTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4::IfcSanitaryTerminalType::IfcSanitaryTerminalType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcSanitaryTerminalType::IfcSanitaryTerminalType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSchedulingTime -boost::optional< std::string > Ifc4::IfcSchedulingTime::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4::IfcSchedulingTime::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4::IfcSchedulingTime::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< ::Ifc4::IfcDataOriginEnum::Value > Ifc4::IfcSchedulingTime::DataOrigin() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } return ::Ifc4::IfcDataOriginEnum::FromString(data_.get_attribute_value(1)); } +boost::optional< ::Ifc4::IfcDataOriginEnum::Value > Ifc4::IfcSchedulingTime::DataOrigin() const { if(get_attribute_value(1).isNull()) { return boost::none; } return ::Ifc4::IfcDataOriginEnum::FromString(get_attribute_value(1)); } void Ifc4::IfcSchedulingTime::setDataOrigin(boost::optional< ::Ifc4::IfcDataOriginEnum::Value > v) { if (v) {set_attribute_value(1, EnumerationReference(&::Ifc4::IfcDataOriginEnum::Class(), (size_t) *v));} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4::IfcSchedulingTime::UserDefinedDataOrigin() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4::IfcSchedulingTime::UserDefinedDataOrigin() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4::IfcSchedulingTime::setUserDefinedDataOrigin(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4::IfcSchedulingTime::declaration() const { return *((IfcParse::entity*)IFC4_types[874]); } const IfcParse::entity& Ifc4::IfcSchedulingTime::Class() { return *((IfcParse::entity*)IFC4_types[874]); } Ifc4::IfcSchedulingTime::IfcSchedulingTime(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }; populate_derived(); } +Ifc4::IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }; populate_derived(); } // Function implementations for IfcSeamCurve @@ -13662,113 +13662,113 @@ Ifc4::IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > v1_Nam const IfcParse::entity& Ifc4::IfcSeamCurve::declaration() const { return *((IfcParse::entity*)IFC4_types[875]); } const IfcParse::entity& Ifc4::IfcSeamCurve::Class() { return *((IfcParse::entity*)IFC4_types[875]); } Ifc4::IfcSeamCurve::IfcSeamCurve(IfcEntityInstanceData&& e) : IfcSurfaceCurve(std::move(e)) { } -Ifc4::IfcSeamCurve::IfcSeamCurve(::Ifc4::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } +Ifc4::IfcSeamCurve::IfcSeamCurve(::Ifc4::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcSectionProperties -::Ifc4::IfcSectionTypeEnum::Value Ifc4::IfcSectionProperties::SectionType() const { return ::Ifc4::IfcSectionTypeEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4::IfcSectionTypeEnum::Value Ifc4::IfcSectionProperties::SectionType() const { return ::Ifc4::IfcSectionTypeEnum::FromString(get_attribute_value(0)); } void Ifc4::IfcSectionProperties::setSectionType(::Ifc4::IfcSectionTypeEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4::IfcSectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcProfileDef* Ifc4::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcProfileDef>(true); } +::Ifc4::IfcProfileDef* Ifc4::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcProfileDef>(true); } void Ifc4::IfcSectionProperties::setStartProfile(::Ifc4::IfcProfileDef* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4::IfcProfileDef* Ifc4::IfcSectionProperties::EndProfile() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcProfileDef>(true); } +::Ifc4::IfcProfileDef* Ifc4::IfcSectionProperties::EndProfile() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcProfileDef>(true); } void Ifc4::IfcSectionProperties::setEndProfile(::Ifc4::IfcProfileDef* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4::IfcSectionProperties::declaration() const { return *((IfcParse::entity*)IFC4_types[879]); } const IfcParse::entity& Ifc4::IfcSectionProperties::Class() { return *((IfcParse::entity*)IFC4_types[879]); } Ifc4::IfcSectionProperties::IfcSectionProperties(IfcEntityInstanceData&& e) : IfcPreDefinedProperties(std::move(e)) { } -Ifc4::IfcSectionProperties::IfcSectionProperties(::Ifc4::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4::IfcProfileDef* v2_StartProfile, ::Ifc4::IfcProfileDef* v3_EndProfile) : IfcPreDefinedProperties(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, v2_StartProfile ? v2_StartProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EndProfile ? v3_EndProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcSectionProperties::IfcSectionProperties(::Ifc4::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4::IfcProfileDef* v2_StartProfile, ::Ifc4::IfcProfileDef* v3_EndProfile) : IfcPreDefinedProperties(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, v2_StartProfile ? v2_StartProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EndProfile ? v3_EndProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSectionReinforcementProperties -double Ifc4::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = get_attribute_value(0); return v; } void Ifc4::IfcSectionReinforcementProperties::setLongitudinalStartPosition(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc4::IfcSectionReinforcementProperties::LongitudinalEndPosition() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4::IfcSectionReinforcementProperties::LongitudinalEndPosition() const { double v = get_attribute_value(1); return v; } void Ifc4::IfcSectionReinforcementProperties::setLongitudinalEndPosition(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4::IfcSectionReinforcementProperties::TransversePosition() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4::IfcSectionReinforcementProperties::TransversePosition() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4::IfcReinforcingBarRoleEnum::Value Ifc4::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4::IfcReinforcingBarRoleEnum::FromString(data_.get_attribute_value(3)); } +::Ifc4::IfcReinforcingBarRoleEnum::Value Ifc4::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4::IfcReinforcingBarRoleEnum::FromString(get_attribute_value(3)); } void Ifc4::IfcSectionReinforcementProperties::setReinforcementRole(::Ifc4::IfcReinforcingBarRoleEnum::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc4::IfcReinforcingBarRoleEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } -::Ifc4::IfcSectionProperties* Ifc4::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4::IfcSectionProperties>(true); } +::Ifc4::IfcSectionProperties* Ifc4::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4::IfcSectionProperties>(true); } void Ifc4::IfcSectionReinforcementProperties::setSectionDefinition(::Ifc4::IfcSectionProperties* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4::IfcReinforcementBarProperties >::ptr Ifc4::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4::IfcReinforcementBarProperties >(); } +aggregate_of< ::Ifc4::IfcReinforcementBarProperties >::ptr Ifc4::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4::IfcReinforcementBarProperties >(); } void Ifc4::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(aggregate_of< ::Ifc4::IfcReinforcementBarProperties >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4::IfcSectionReinforcementProperties::declaration() const { return *((IfcParse::entity*)IFC4_types[880]); } const IfcParse::entity& Ifc4::IfcSectionReinforcementProperties::Class() { return *((IfcParse::entity*)IFC4_types[880]); } Ifc4::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(IfcEntityInstanceData&& e) : IfcPreDefinedProperties(std::move(e)) { } -Ifc4::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, boost::optional< double > v3_TransversePosition, ::Ifc4::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4::IfcSectionProperties* v5_SectionDefinition, aggregate_of< ::Ifc4::IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcPreDefinedProperties(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (EnumerationReference(&::Ifc4::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, v5_SectionDefinition ? v5_SectionDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_CrossSectionReinforcementDefinitions)->generalize());; populate_derived(); } +Ifc4::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, boost::optional< double > v3_TransversePosition, ::Ifc4::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4::IfcSectionProperties* v5_SectionDefinition, aggregate_of< ::Ifc4::IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcPreDefinedProperties(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (EnumerationReference(&::Ifc4::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, v5_SectionDefinition ? v5_SectionDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_CrossSectionReinforcementDefinitions)->generalize());; populate_derived(); } // Function implementations for IfcSectionedSpine -::Ifc4::IfcCompositeCurve* Ifc4::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcCompositeCurve>(true); } +::Ifc4::IfcCompositeCurve* Ifc4::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcCompositeCurve>(true); } void Ifc4::IfcSectionedSpine::setSpineCurve(::Ifc4::IfcCompositeCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4::IfcProfileDef >::ptr Ifc4::IfcSectionedSpine::CrossSections() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4::IfcProfileDef >(); } +aggregate_of< ::Ifc4::IfcProfileDef >::ptr Ifc4::IfcSectionedSpine::CrossSections() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4::IfcProfileDef >(); } void Ifc4::IfcSectionedSpine::setCrossSections(aggregate_of< ::Ifc4::IfcProfileDef >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4::IfcAxis2Placement3D >::ptr Ifc4::IfcSectionedSpine::CrossSectionPositions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4::IfcAxis2Placement3D >(); } +aggregate_of< ::Ifc4::IfcAxis2Placement3D >::ptr Ifc4::IfcSectionedSpine::CrossSectionPositions() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4::IfcAxis2Placement3D >(); } void Ifc4::IfcSectionedSpine::setCrossSectionPositions(aggregate_of< ::Ifc4::IfcAxis2Placement3D >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4::IfcSectionedSpine::declaration() const { return *((IfcParse::entity*)IFC4_types[877]); } const IfcParse::entity& Ifc4::IfcSectionedSpine::Class() { return *((IfcParse::entity*)IFC4_types[877]); } Ifc4::IfcSectionedSpine::IfcSectionedSpine(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4::IfcSectionedSpine::IfcSectionedSpine(::Ifc4::IfcCompositeCurve* v1_SpineCurve, aggregate_of< ::Ifc4::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4::IfcAxis2Placement3D >::ptr v3_CrossSectionPositions) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_SpineCurve ? v1_SpineCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());; populate_derived(); } +Ifc4::IfcSectionedSpine::IfcSectionedSpine(::Ifc4::IfcCompositeCurve* v1_SpineCurve, aggregate_of< ::Ifc4::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4::IfcAxis2Placement3D >::ptr v3_CrossSectionPositions) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_SpineCurve ? v1_SpineCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());; populate_derived(); } // Function implementations for IfcSensor -boost::optional< ::Ifc4::IfcSensorTypeEnum::Value > Ifc4::IfcSensor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcSensorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcSensorTypeEnum::Value > Ifc4::IfcSensor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcSensorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcSensor::setPredefinedType(boost::optional< ::Ifc4::IfcSensorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcSensorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcSensor::declaration() const { return *((IfcParse::entity*)IFC4_types[883]); } const IfcParse::entity& Ifc4::IfcSensor::Class() { return *((IfcParse::entity*)IFC4_types[883]); } Ifc4::IfcSensor::IfcSensor(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4::IfcSensor::IfcSensor(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcSensorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcSensor::IfcSensor(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcSensorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSensorType -::Ifc4::IfcSensorTypeEnum::Value Ifc4::IfcSensorType::PredefinedType() const { return ::Ifc4::IfcSensorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcSensorTypeEnum::Value Ifc4::IfcSensorType::PredefinedType() const { return ::Ifc4::IfcSensorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcSensorType::setPredefinedType(::Ifc4::IfcSensorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcSensorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcSensorType::declaration() const { return *((IfcParse::entity*)IFC4_types[884]); } const IfcParse::entity& Ifc4::IfcSensorType::Class() { return *((IfcParse::entity*)IFC4_types[884]); } Ifc4::IfcSensorType::IfcSensorType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4::IfcSensorType::IfcSensorType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcSensorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcSensorType::IfcSensorType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcSensorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcShadingDevice -boost::optional< ::Ifc4::IfcShadingDeviceTypeEnum::Value > Ifc4::IfcShadingDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcShadingDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcShadingDeviceTypeEnum::Value > Ifc4::IfcShadingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcShadingDevice::setPredefinedType(boost::optional< ::Ifc4::IfcShadingDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcShadingDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcShadingDevice::declaration() const { return *((IfcParse::entity*)IFC4_types[887]); } const IfcParse::entity& Ifc4::IfcShadingDevice::Class() { return *((IfcParse::entity*)IFC4_types[887]); } Ifc4::IfcShadingDevice::IfcShadingDevice(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4::IfcShadingDevice::IfcShadingDevice(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcShadingDevice::IfcShadingDevice(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcShadingDeviceType -::Ifc4::IfcShadingDeviceTypeEnum::Value Ifc4::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4::IfcShadingDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcShadingDeviceTypeEnum::Value Ifc4::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcShadingDeviceType::setPredefinedType(::Ifc4::IfcShadingDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcShadingDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcShadingDeviceType::declaration() const { return *((IfcParse::entity*)IFC4_types[888]); } const IfcParse::entity& Ifc4::IfcShadingDeviceType::Class() { return *((IfcParse::entity*)IFC4_types[888]); } Ifc4::IfcShadingDeviceType::IfcShadingDeviceType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4::IfcShadingDeviceType::IfcShadingDeviceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcShadingDeviceType::IfcShadingDeviceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcShapeAspect -aggregate_of< ::Ifc4::IfcShapeModel >::ptr Ifc4::IfcShapeAspect::ShapeRepresentations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4::IfcShapeModel >(); } +aggregate_of< ::Ifc4::IfcShapeModel >::ptr Ifc4::IfcShapeAspect::ShapeRepresentations() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4::IfcShapeModel >(); } void Ifc4::IfcShapeAspect::setShapeRepresentations(aggregate_of< ::Ifc4::IfcShapeModel >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4::IfcShapeAspect::Name() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4::IfcShapeAspect::Name() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcShapeAspect::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4::IfcShapeAspect::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4::IfcShapeAspect::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4::IfcShapeAspect::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::logic::tribool Ifc4::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = data_.get_attribute_value(3); return v; } +boost::logic::tribool Ifc4::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = get_attribute_value(3); return v; } void Ifc4::IfcShapeAspect::setProductDefinitional(boost::logic::tribool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4::IfcProductRepresentationSelect* Ifc4::IfcShapeAspect::PartOfProductDefinitionShape() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4::IfcProductRepresentationSelect>(true); } +::Ifc4::IfcProductRepresentationSelect* Ifc4::IfcShapeAspect::PartOfProductDefinitionShape() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4::IfcProductRepresentationSelect>(true); } void Ifc4::IfcShapeAspect::setPartOfProductDefinitionShape(::Ifc4::IfcProductRepresentationSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4::IfcShapeAspect::declaration() const { return *((IfcParse::entity*)IFC4_types[890]); } const IfcParse::entity& Ifc4::IfcShapeAspect::Class() { return *((IfcParse::entity*)IFC4_types[890]); } Ifc4::IfcShapeAspect::IfcShapeAspect(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcShapeAspect::IfcShapeAspect(aggregate_of< ::Ifc4::IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4::IfcProductRepresentationSelect* v5_PartOfProductDefinitionShape) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_ShapeRepresentations)->generalize()); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, v5_PartOfProductDefinitionShape ? v5_PartOfProductDefinitionShape->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcShapeAspect::IfcShapeAspect(aggregate_of< ::Ifc4::IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4::IfcProductRepresentationSelect* v5_PartOfProductDefinitionShape) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_ShapeRepresentations)->generalize()); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, v5_PartOfProductDefinitionShape ? v5_PartOfProductDefinitionShape->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcShapeModel @@ -13777,7 +13777,7 @@ Ifc4::IfcShapeAspect::IfcShapeAspect(aggregate_of< ::Ifc4::IfcShapeModel >::ptr const IfcParse::entity& Ifc4::IfcShapeModel::declaration() const { return *((IfcParse::entity*)IFC4_types[891]); } const IfcParse::entity& Ifc4::IfcShapeModel::Class() { return *((IfcParse::entity*)IFC4_types[891]); } Ifc4::IfcShapeModel::IfcShapeModel(IfcEntityInstanceData&& e) : IfcRepresentation(std::move(e)) { } -Ifc4::IfcShapeModel::IfcShapeModel(::Ifc4::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4::IfcShapeModel::IfcShapeModel(::Ifc4::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcShapeRepresentation @@ -13785,17 +13785,17 @@ Ifc4::IfcShapeModel::IfcShapeModel(::Ifc4::IfcRepresentationContext* v1_ContextO const IfcParse::entity& Ifc4::IfcShapeRepresentation::declaration() const { return *((IfcParse::entity*)IFC4_types[892]); } const IfcParse::entity& Ifc4::IfcShapeRepresentation::Class() { return *((IfcParse::entity*)IFC4_types[892]); } Ifc4::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceData&& e) : IfcShapeModel(std::move(e)) { } -Ifc4::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcShellBasedSurfaceModel -aggregate_of< ::Ifc4::IfcShell >::ptr Ifc4::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4::IfcShell >(); } +aggregate_of< ::Ifc4::IfcShell >::ptr Ifc4::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4::IfcShell >(); } void Ifc4::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4::IfcShell >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4::IfcShellBasedSurfaceModel::declaration() const { return *((IfcParse::entity*)IFC4_types[895]); } const IfcParse::entity& Ifc4::IfcShellBasedSurfaceModel::Class() { return *((IfcParse::entity*)IFC4_types[895]); } Ifc4::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_SbsmBoundary)->generalize());; populate_derived(); } +Ifc4::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_SbsmBoundary)->generalize());; populate_derived(); } // Function implementations for IfcSimpleProperty @@ -13803,59 +13803,59 @@ Ifc4::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4: const IfcParse::entity& Ifc4::IfcSimpleProperty::declaration() const { return *((IfcParse::entity*)IFC4_types[896]); } const IfcParse::entity& Ifc4::IfcSimpleProperty::Class() { return *((IfcParse::entity*)IFC4_types[896]); } Ifc4::IfcSimpleProperty::IfcSimpleProperty(IfcEntityInstanceData&& e) : IfcProperty(std::move(e)) { } -Ifc4::IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcProperty(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4::IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcProperty(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcSimplePropertyTemplate -boost::optional< ::Ifc4::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4::IfcSimplePropertyTemplate::TemplateType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4::IfcSimplePropertyTemplateTypeEnum::FromString(data_.get_attribute_value(4)); } +boost::optional< ::Ifc4::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4::IfcSimplePropertyTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4::IfcSimplePropertyTemplateTypeEnum::FromString(get_attribute_value(4)); } void Ifc4::IfcSimplePropertyTemplate::setTemplateType(boost::optional< ::Ifc4::IfcSimplePropertyTemplateTypeEnum::Value > v) { if (v) {set_attribute_value(4, EnumerationReference(&::Ifc4::IfcSimplePropertyTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4::IfcSimplePropertyTemplate::PrimaryMeasureType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4::IfcSimplePropertyTemplate::PrimaryMeasureType() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcSimplePropertyTemplate::setPrimaryMeasureType(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4::IfcSimplePropertyTemplate::setSecondaryMeasureType(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4::IfcPropertyEnumeration* Ifc4::IfcSimplePropertyTemplate::Enumerators() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4::IfcPropertyEnumeration>(true); } +::Ifc4::IfcPropertyEnumeration* Ifc4::IfcSimplePropertyTemplate::Enumerators() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4::IfcPropertyEnumeration>(true); } void Ifc4::IfcSimplePropertyTemplate::setEnumerators(::Ifc4::IfcPropertyEnumeration* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4::IfcUnit* Ifc4::IfcSimplePropertyTemplate::PrimaryUnit() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4::IfcUnit>(true); } +::Ifc4::IfcUnit* Ifc4::IfcSimplePropertyTemplate::PrimaryUnit() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcSimplePropertyTemplate::setPrimaryUnit(::Ifc4::IfcUnit* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -::Ifc4::IfcUnit* Ifc4::IfcSimplePropertyTemplate::SecondaryUnit() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4::IfcUnit>(true); } +::Ifc4::IfcUnit* Ifc4::IfcSimplePropertyTemplate::SecondaryUnit() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcSimplePropertyTemplate::setSecondaryUnit(::Ifc4::IfcUnit* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4::IfcSimplePropertyTemplate::Expression() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4::IfcSimplePropertyTemplate::Expression() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4::IfcSimplePropertyTemplate::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< ::Ifc4::IfcStateEnum::Value > Ifc4::IfcSimplePropertyTemplate::AccessState() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4::IfcStateEnum::FromString(data_.get_attribute_value(11)); } +boost::optional< ::Ifc4::IfcStateEnum::Value > Ifc4::IfcSimplePropertyTemplate::AccessState() const { if(get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4::IfcStateEnum::FromString(get_attribute_value(11)); } void Ifc4::IfcSimplePropertyTemplate::setAccessState(boost::optional< ::Ifc4::IfcStateEnum::Value > v) { if (v) {set_attribute_value(11, EnumerationReference(&::Ifc4::IfcStateEnum::Class(), (size_t) *v));} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4::IfcSimplePropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4_types[897]); } const IfcParse::entity& Ifc4::IfcSimplePropertyTemplate::Class() { return *((IfcParse::entity*)IFC4_types[897]); } Ifc4::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplate(std::move(e)) { } -Ifc4::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_PrimaryMeasureType, boost::optional< std::string > v7_SecondaryMeasureType, ::Ifc4::IfcPropertyEnumeration* v8_Enumerators, ::Ifc4::IfcUnit* v9_PrimaryUnit, ::Ifc4::IfcUnit* v10_SecondaryUnit, boost::optional< std::string > v11_Expression, boost::optional< ::Ifc4::IfcStateEnum::Value > v12_AccessState) : IfcPropertyTemplate(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, v8_Enumerators ? v8_Enumerators->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_PrimaryUnit ? v9_PrimaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_SecondaryUnit ? v10_SecondaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (EnumerationReference(&::Ifc4::IfcStateEnum::Class(),(size_t)*v12_AccessState))); }; populate_derived(); } +Ifc4::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_PrimaryMeasureType, boost::optional< std::string > v7_SecondaryMeasureType, ::Ifc4::IfcPropertyEnumeration* v8_Enumerators, ::Ifc4::IfcUnit* v9_PrimaryUnit, ::Ifc4::IfcUnit* v10_SecondaryUnit, boost::optional< std::string > v11_Expression, boost::optional< ::Ifc4::IfcStateEnum::Value > v12_AccessState) : IfcPropertyTemplate(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, v8_Enumerators ? v8_Enumerators->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_PrimaryUnit ? v9_PrimaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_SecondaryUnit ? v10_SecondaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (EnumerationReference(&::Ifc4::IfcStateEnum::Class(),(size_t)*v12_AccessState))); }; populate_derived(); } // Function implementations for IfcSite -boost::optional< std::vector< int > /*[3:4]*/ > Ifc4::IfcSite::RefLatitude() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = data_.get_attribute_value(9); return v; } +boost::optional< std::vector< int > /*[3:4]*/ > Ifc4::IfcSite::RefLatitude() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = get_attribute_value(9); return v; } void Ifc4::IfcSite::setRefLatitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::vector< int > /*[3:4]*/ > Ifc4::IfcSite::RefLongitude() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = data_.get_attribute_value(10); return v; } +boost::optional< std::vector< int > /*[3:4]*/ > Ifc4::IfcSite::RefLongitude() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = get_attribute_value(10); return v; } void Ifc4::IfcSite::setRefLongitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4::IfcSite::RefElevation() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4::IfcSite::RefElevation() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4::IfcSite::setRefElevation(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4::IfcSite::LandTitleNumber() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4::IfcSite::LandTitleNumber() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4::IfcPostalAddress* Ifc4::IfcSite::SiteAddress() const { if(data_.get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(13)))->as<::Ifc4::IfcPostalAddress>(true); } +::Ifc4::IfcPostalAddress* Ifc4::IfcSite::SiteAddress() const { if(get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(13)))->as<::Ifc4::IfcPostalAddress>(true); } void Ifc4::IfcSite::setSiteAddress(::Ifc4::IfcPostalAddress* v) { set_attribute_value(13, v->as());if constexpr (false)unset_attribute_value(13); } const IfcParse::entity& Ifc4::IfcSite::declaration() const { return *((IfcParse::entity*)IFC4_types[901]); } const IfcParse::entity& Ifc4::IfcSite::Class() { return *((IfcParse::entity*)IFC4_types[901]); } Ifc4::IfcSite::IfcSite(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4::IfcSite::IfcSite(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4::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, ::Ifc4::IfcPostalAddress* v14_SiteAddress) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, v14_SiteAddress ? v14_SiteAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcSite::IfcSite(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4::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, ::Ifc4::IfcPostalAddress* v14_SiteAddress) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, v14_SiteAddress ? v14_SiteAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSlab -boost::optional< ::Ifc4::IfcSlabTypeEnum::Value > Ifc4::IfcSlab::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcSlabTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcSlabTypeEnum::Value > Ifc4::IfcSlab::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcSlabTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcSlab::setPredefinedType(boost::optional< ::Ifc4::IfcSlabTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcSlabTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcSlab::declaration() const { return *((IfcParse::entity*)IFC4_types[905]); } const IfcParse::entity& Ifc4::IfcSlab::Class() { return *((IfcParse::entity*)IFC4_types[905]); } Ifc4::IfcSlab::IfcSlab(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4::IfcSlab::IfcSlab(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcSlab::IfcSlab(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSlabElementedCase @@ -13863,7 +13863,7 @@ Ifc4::IfcSlab::IfcSlab(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_Owne const IfcParse::entity& Ifc4::IfcSlabElementedCase::declaration() const { return *((IfcParse::entity*)IFC4_types[906]); } const IfcParse::entity& Ifc4::IfcSlabElementedCase::Class() { return *((IfcParse::entity*)IFC4_types[906]); } Ifc4::IfcSlabElementedCase::IfcSlabElementedCase(IfcEntityInstanceData&& e) : IfcSlab(std::move(e)) { } -Ifc4::IfcSlabElementedCase::IfcSlabElementedCase(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcSlab(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcSlabElementedCase::IfcSlabElementedCase(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcSlab(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSlabStandardCase @@ -13871,51 +13871,51 @@ Ifc4::IfcSlabElementedCase::IfcSlabElementedCase(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4::IfcSlabStandardCase::declaration() const { return *((IfcParse::entity*)IFC4_types[907]); } const IfcParse::entity& Ifc4::IfcSlabStandardCase::Class() { return *((IfcParse::entity*)IFC4_types[907]); } Ifc4::IfcSlabStandardCase::IfcSlabStandardCase(IfcEntityInstanceData&& e) : IfcSlab(std::move(e)) { } -Ifc4::IfcSlabStandardCase::IfcSlabStandardCase(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcSlab(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcSlabStandardCase::IfcSlabStandardCase(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcSlab(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSlabType -::Ifc4::IfcSlabTypeEnum::Value Ifc4::IfcSlabType::PredefinedType() const { return ::Ifc4::IfcSlabTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcSlabTypeEnum::Value Ifc4::IfcSlabType::PredefinedType() const { return ::Ifc4::IfcSlabTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcSlabType::setPredefinedType(::Ifc4::IfcSlabTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcSlabTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcSlabType::declaration() const { return *((IfcParse::entity*)IFC4_types[908]); } const IfcParse::entity& Ifc4::IfcSlabType::Class() { return *((IfcParse::entity*)IFC4_types[908]); } Ifc4::IfcSlabType::IfcSlabType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4::IfcSlabType::IfcSlabType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcSlabTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcSlabType::IfcSlabType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcSlabTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSlippageConnectionCondition -boost::optional< double > Ifc4::IfcSlippageConnectionCondition::SlippageX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4::IfcSlippageConnectionCondition::SlippageX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4::IfcSlippageConnectionCondition::setSlippageX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4::IfcSlippageConnectionCondition::SlippageY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4::IfcSlippageConnectionCondition::SlippageY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4::IfcSlippageConnectionCondition::setSlippageY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4::IfcSlippageConnectionCondition::SlippageZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4::IfcSlippageConnectionCondition::SlippageZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4::IfcSlippageConnectionCondition::setSlippageZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4::IfcSlippageConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC4_types[910]); } const IfcParse::entity& Ifc4::IfcSlippageConnectionCondition::Class() { return *((IfcParse::entity*)IFC4_types[910]); } Ifc4::IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(IfcEntityInstanceData&& e) : IfcStructuralConnectionCondition(std::move(e)) { } -Ifc4::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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; populate_derived(); } +Ifc4::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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; populate_derived(); } // Function implementations for IfcSolarDevice -boost::optional< ::Ifc4::IfcSolarDeviceTypeEnum::Value > Ifc4::IfcSolarDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcSolarDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcSolarDeviceTypeEnum::Value > Ifc4::IfcSolarDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcSolarDevice::setPredefinedType(boost::optional< ::Ifc4::IfcSolarDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcSolarDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcSolarDevice::declaration() const { return *((IfcParse::entity*)IFC4_types[911]); } const IfcParse::entity& Ifc4::IfcSolarDevice::Class() { return *((IfcParse::entity*)IFC4_types[911]); } Ifc4::IfcSolarDevice::IfcSolarDevice(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4::IfcSolarDevice::IfcSolarDevice(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcSolarDevice::IfcSolarDevice(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSolarDeviceType -::Ifc4::IfcSolarDeviceTypeEnum::Value Ifc4::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4::IfcSolarDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcSolarDeviceTypeEnum::Value Ifc4::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcSolarDeviceType::setPredefinedType(::Ifc4::IfcSolarDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcSolarDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcSolarDeviceType::declaration() const { return *((IfcParse::entity*)IFC4_types[912]); } const IfcParse::entity& Ifc4::IfcSolarDeviceType::Class() { return *((IfcParse::entity*)IFC4_types[912]); } Ifc4::IfcSolarDeviceType::IfcSolarDeviceType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4::IfcSolarDeviceType::IfcSolarDeviceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcSolarDeviceType::IfcSolarDeviceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSolidModel @@ -13923,12 +13923,12 @@ Ifc4::IfcSolarDeviceType::IfcSolarDeviceType(std::string v1_GlobalId, ::Ifc4::If const IfcParse::entity& Ifc4::IfcSolidModel::declaration() const { return *((IfcParse::entity*)IFC4_types[915]); } const IfcParse::entity& Ifc4::IfcSolidModel::Class() { return *((IfcParse::entity*)IFC4_types[915]); } Ifc4::IfcSolidModel::IfcSolidModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4::IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4::IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcSpace -boost::optional< ::Ifc4::IfcSpaceTypeEnum::Value > Ifc4::IfcSpace::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4::IfcSpaceTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4::IfcSpaceTypeEnum::Value > Ifc4::IfcSpace::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcSpace::setPredefinedType(boost::optional< ::Ifc4::IfcSpaceTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4::IfcSpaceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4::IfcSpace::ElevationWithFlooring() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4::IfcSpace::ElevationWithFlooring() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4::IfcSpace::setElevationWithFlooring(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } ::Ifc4::IfcRelCoversSpaces::list::ptr Ifc4::IfcSpace::HasCoverings() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[825], 4)->as(); } @@ -13937,42 +13937,42 @@ void Ifc4::IfcSpace::setElevationWithFlooring(boost::optional< double > v) { if const IfcParse::entity& Ifc4::IfcSpace::declaration() const { return *((IfcParse::entity*)IFC4_types[921]); } const IfcParse::entity& Ifc4::IfcSpace::Class() { return *((IfcParse::entity*)IFC4_types[921]); } Ifc4::IfcSpace::IfcSpace(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4::IfcSpace::IfcSpace(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4::IfcSpaceTypeEnum::Value > v10_PredefinedType, boost::optional< double > v11_ElevationWithFlooring) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; populate_derived(); } +Ifc4::IfcSpace::IfcSpace(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4::IfcSpaceTypeEnum::Value > v10_PredefinedType, boost::optional< double > v11_ElevationWithFlooring) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; populate_derived(); } // Function implementations for IfcSpaceHeater -boost::optional< ::Ifc4::IfcSpaceHeaterTypeEnum::Value > Ifc4::IfcSpaceHeater::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcSpaceHeaterTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcSpaceHeaterTypeEnum::Value > Ifc4::IfcSpaceHeater::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcSpaceHeater::setPredefinedType(boost::optional< ::Ifc4::IfcSpaceHeaterTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcSpaceHeaterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcSpaceHeater::declaration() const { return *((IfcParse::entity*)IFC4_types[923]); } const IfcParse::entity& Ifc4::IfcSpaceHeater::Class() { return *((IfcParse::entity*)IFC4_types[923]); } Ifc4::IfcSpaceHeater::IfcSpaceHeater(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4::IfcSpaceHeater::IfcSpaceHeater(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcSpaceHeater::IfcSpaceHeater(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSpaceHeaterType -::Ifc4::IfcSpaceHeaterTypeEnum::Value Ifc4::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4::IfcSpaceHeaterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcSpaceHeaterTypeEnum::Value Ifc4::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcSpaceHeaterType::setPredefinedType(::Ifc4::IfcSpaceHeaterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcSpaceHeaterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcSpaceHeaterType::declaration() const { return *((IfcParse::entity*)IFC4_types[924]); } const IfcParse::entity& Ifc4::IfcSpaceHeaterType::Class() { return *((IfcParse::entity*)IFC4_types[924]); } Ifc4::IfcSpaceHeaterType::IfcSpaceHeaterType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4::IfcSpaceHeaterType::IfcSpaceHeaterType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcSpaceHeaterType::IfcSpaceHeaterType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSpaceType -::Ifc4::IfcSpaceTypeEnum::Value Ifc4::IfcSpaceType::PredefinedType() const { return ::Ifc4::IfcSpaceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcSpaceTypeEnum::Value Ifc4::IfcSpaceType::PredefinedType() const { return ::Ifc4::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcSpaceType::setPredefinedType(::Ifc4::IfcSpaceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcSpaceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4::IfcSpaceType::LongName() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4::IfcSpaceType::LongName() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4::IfcSpaceType::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4::IfcSpaceType::declaration() const { return *((IfcParse::entity*)IFC4_types[926]); } const IfcParse::entity& Ifc4::IfcSpaceType::Class() { return *((IfcParse::entity*)IFC4_types[926]); } Ifc4::IfcSpaceType::IfcSpaceType(IfcEntityInstanceData&& e) : IfcSpatialStructureElementType(std::move(e)) { } -Ifc4::IfcSpaceType::IfcSpaceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcSpaceTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialStructureElementType(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } +Ifc4::IfcSpaceType::IfcSpaceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcSpaceTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialStructureElementType(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } // Function implementations for IfcSpatialElement -boost::optional< std::string > Ifc4::IfcSpatialElement::LongName() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4::IfcSpatialElement::LongName() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4::IfcSpatialElement::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } ::Ifc4::IfcRelContainedInSpatialStructure::list::ptr Ifc4::IfcSpatialElement::ContainsElements() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[823], 5)->as(); } @@ -13982,27 +13982,27 @@ void Ifc4::IfcSpatialElement::setLongName(boost::optional< std::string > v) { if const IfcParse::entity& Ifc4::IfcSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4_types[928]); } const IfcParse::entity& Ifc4::IfcSpatialElement::Class() { return *((IfcParse::entity*)IFC4_types[928]); } Ifc4::IfcSpatialElement::IfcSpatialElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4::IfcSpatialElement::IfcSpatialElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcProduct(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } +Ifc4::IfcSpatialElement::IfcSpatialElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } // Function implementations for IfcSpatialElementType -boost::optional< std::string > Ifc4::IfcSpatialElementType::ElementType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4::IfcSpatialElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4::IfcSpatialElementType::setElementType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcSpatialElementType::declaration() const { return *((IfcParse::entity*)IFC4_types[929]); } const IfcParse::entity& Ifc4::IfcSpatialElementType::Class() { return *((IfcParse::entity*)IFC4_types[929]); } Ifc4::IfcSpatialElementType::IfcSpatialElementType(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(e)) { } -Ifc4::IfcSpatialElementType::IfcSpatialElementType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4::IfcSpatialElementType::IfcSpatialElementType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcSpatialStructureElement -boost::optional< ::Ifc4::IfcElementCompositionEnum::Value > Ifc4::IfcSpatialStructureElement::CompositionType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcElementCompositionEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcElementCompositionEnum::Value > Ifc4::IfcSpatialStructureElement::CompositionType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcElementCompositionEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcSpatialStructureElement::setCompositionType(boost::optional< ::Ifc4::IfcElementCompositionEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcElementCompositionEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcSpatialStructureElement::declaration() const { return *((IfcParse::entity*)IFC4_types[930]); } const IfcParse::entity& Ifc4::IfcSpatialStructureElement::Class() { return *((IfcParse::entity*)IFC4_types[930]); } Ifc4::IfcSpatialStructureElement::IfcSpatialStructureElement(IfcEntityInstanceData&& e) : IfcSpatialElement(std::move(e)) { } -Ifc4::IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } +Ifc4::IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } // Function implementations for IfcSpatialStructureElementType @@ -14010,132 +14010,132 @@ Ifc4::IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v1_Glob const IfcParse::entity& Ifc4::IfcSpatialStructureElementType::declaration() const { return *((IfcParse::entity*)IFC4_types[931]); } const IfcParse::entity& Ifc4::IfcSpatialStructureElementType::Class() { return *((IfcParse::entity*)IFC4_types[931]); } Ifc4::IfcSpatialStructureElementType::IfcSpatialStructureElementType(IfcEntityInstanceData&& e) : IfcSpatialElementType(std::move(e)) { } -Ifc4::IfcSpatialStructureElementType::IfcSpatialStructureElementType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcSpatialElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4::IfcSpatialStructureElementType::IfcSpatialStructureElementType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcSpatialElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcSpatialZone -boost::optional< ::Ifc4::IfcSpatialZoneTypeEnum::Value > Ifc4::IfcSpatialZone::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcSpatialZoneTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcSpatialZoneTypeEnum::Value > Ifc4::IfcSpatialZone::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcSpatialZone::setPredefinedType(boost::optional< ::Ifc4::IfcSpatialZoneTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcSpatialZoneTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcSpatialZone::declaration() const { return *((IfcParse::entity*)IFC4_types[932]); } const IfcParse::entity& Ifc4::IfcSpatialZone::Class() { return *((IfcParse::entity*)IFC4_types[932]); } Ifc4::IfcSpatialZone::IfcSpatialZone(IfcEntityInstanceData&& e) : IfcSpatialElement(std::move(e)) { } -Ifc4::IfcSpatialZone::IfcSpatialZone(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) : IfcSpatialElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcSpatialZone::IfcSpatialZone(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) : IfcSpatialElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSpatialZoneType -::Ifc4::IfcSpatialZoneTypeEnum::Value Ifc4::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4::IfcSpatialZoneTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcSpatialZoneTypeEnum::Value Ifc4::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcSpatialZoneType::setPredefinedType(::Ifc4::IfcSpatialZoneTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcSpatialZoneTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4::IfcSpatialZoneType::LongName() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4::IfcSpatialZoneType::LongName() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4::IfcSpatialZoneType::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4::IfcSpatialZoneType::declaration() const { return *((IfcParse::entity*)IFC4_types[933]); } const IfcParse::entity& Ifc4::IfcSpatialZoneType::Class() { return *((IfcParse::entity*)IFC4_types[933]); } Ifc4::IfcSpatialZoneType::IfcSpatialZoneType(IfcEntityInstanceData&& e) : IfcSpatialElementType(std::move(e)) { } -Ifc4::IfcSpatialZoneType::IfcSpatialZoneType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialElementType(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } +Ifc4::IfcSpatialZoneType::IfcSpatialZoneType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialElementType(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } // Function implementations for IfcSphere -double Ifc4::IfcSphere::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4::IfcSphere::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4::IfcSphere::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcSphere::declaration() const { return *((IfcParse::entity*)IFC4_types[939]); } const IfcParse::entity& Ifc4::IfcSphere::Class() { return *((IfcParse::entity*)IFC4_types[939]); } Ifc4::IfcSphere::IfcSphere(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4::IfcSphere::IfcSphere(::Ifc4::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4::IfcSphere::IfcSphere(::Ifc4::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcSphericalSurface -double Ifc4::IfcSphericalSurface::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4::IfcSphericalSurface::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4::IfcSphericalSurface::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcSphericalSurface::declaration() const { return *((IfcParse::entity*)IFC4_types[940]); } const IfcParse::entity& Ifc4::IfcSphericalSurface::Class() { return *((IfcParse::entity*)IFC4_types[940]); } Ifc4::IfcSphericalSurface::IfcSphericalSurface(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4::IfcSphericalSurface::IfcSphericalSurface(::Ifc4::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4::IfcSphericalSurface::IfcSphericalSurface(::Ifc4::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcStackTerminal -boost::optional< ::Ifc4::IfcStackTerminalTypeEnum::Value > Ifc4::IfcStackTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcStackTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcStackTerminalTypeEnum::Value > Ifc4::IfcStackTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcStackTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcStackTerminal::setPredefinedType(boost::optional< ::Ifc4::IfcStackTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcStackTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcStackTerminal::declaration() const { return *((IfcParse::entity*)IFC4_types[941]); } const IfcParse::entity& Ifc4::IfcStackTerminal::Class() { return *((IfcParse::entity*)IFC4_types[941]); } Ifc4::IfcStackTerminal::IfcStackTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4::IfcStackTerminal::IfcStackTerminal(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcStackTerminal::IfcStackTerminal(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcStackTerminalType -::Ifc4::IfcStackTerminalTypeEnum::Value Ifc4::IfcStackTerminalType::PredefinedType() const { return ::Ifc4::IfcStackTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcStackTerminalTypeEnum::Value Ifc4::IfcStackTerminalType::PredefinedType() const { return ::Ifc4::IfcStackTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcStackTerminalType::setPredefinedType(::Ifc4::IfcStackTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcStackTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcStackTerminalType::declaration() const { return *((IfcParse::entity*)IFC4_types[942]); } const IfcParse::entity& Ifc4::IfcStackTerminalType::Class() { return *((IfcParse::entity*)IFC4_types[942]); } Ifc4::IfcStackTerminalType::IfcStackTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4::IfcStackTerminalType::IfcStackTerminalType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcStackTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcStackTerminalType::IfcStackTerminalType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcStackTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStair -boost::optional< ::Ifc4::IfcStairTypeEnum::Value > Ifc4::IfcStair::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcStairTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcStairTypeEnum::Value > Ifc4::IfcStair::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcStairTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcStair::setPredefinedType(boost::optional< ::Ifc4::IfcStairTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcStairTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcStair::declaration() const { return *((IfcParse::entity*)IFC4_types[944]); } const IfcParse::entity& Ifc4::IfcStair::Class() { return *((IfcParse::entity*)IFC4_types[944]); } Ifc4::IfcStair::IfcStair(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4::IfcStair::IfcStair(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcStairTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcStair::IfcStair(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcStairTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcStairFlight -boost::optional< int > Ifc4::IfcStairFlight::NumberOfRisers() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } int v = data_.get_attribute_value(8); return v; } +boost::optional< int > Ifc4::IfcStairFlight::NumberOfRisers() const { if(get_attribute_value(8).isNull()) { return boost::none; } int v = get_attribute_value(8); return v; } void Ifc4::IfcStairFlight::setNumberOfRisers(boost::optional< int > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< int > Ifc4::IfcStairFlight::NumberOfTreads() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } int v = data_.get_attribute_value(9); return v; } +boost::optional< int > Ifc4::IfcStairFlight::NumberOfTreads() const { if(get_attribute_value(9).isNull()) { return boost::none; } int v = get_attribute_value(9); return v; } void Ifc4::IfcStairFlight::setNumberOfTreads(boost::optional< int > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4::IfcStairFlight::RiserHeight() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4::IfcStairFlight::RiserHeight() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4::IfcStairFlight::setRiserHeight(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4::IfcStairFlight::TreadLength() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4::IfcStairFlight::TreadLength() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4::IfcStairFlight::setTreadLength(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< ::Ifc4::IfcStairFlightTypeEnum::Value > Ifc4::IfcStairFlight::PredefinedType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4::IfcStairFlightTypeEnum::FromString(data_.get_attribute_value(12)); } +boost::optional< ::Ifc4::IfcStairFlightTypeEnum::Value > Ifc4::IfcStairFlight::PredefinedType() const { if(get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4::IfcStairFlightTypeEnum::FromString(get_attribute_value(12)); } void Ifc4::IfcStairFlight::setPredefinedType(boost::optional< ::Ifc4::IfcStairFlightTypeEnum::Value > v) { if (v) {set_attribute_value(12, EnumerationReference(&::Ifc4::IfcStairFlightTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4::IfcStairFlight::declaration() const { return *((IfcParse::entity*)IFC4_types[945]); } const IfcParse::entity& Ifc4::IfcStairFlight::Class() { return *((IfcParse::entity*)IFC4_types[945]); } Ifc4::IfcStairFlight::IfcStairFlight(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4::IfcStairFlight::IfcStairFlight(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRisers, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength, boost::optional< ::Ifc4::IfcStairFlightTypeEnum::Value > v13_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } +Ifc4::IfcStairFlight::IfcStairFlight(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRisers, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength, boost::optional< ::Ifc4::IfcStairFlightTypeEnum::Value > v13_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } // Function implementations for IfcStairFlightType -::Ifc4::IfcStairFlightTypeEnum::Value Ifc4::IfcStairFlightType::PredefinedType() const { return ::Ifc4::IfcStairFlightTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcStairFlightTypeEnum::Value Ifc4::IfcStairFlightType::PredefinedType() const { return ::Ifc4::IfcStairFlightTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcStairFlightType::setPredefinedType(::Ifc4::IfcStairFlightTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcStairFlightTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcStairFlightType::declaration() const { return *((IfcParse::entity*)IFC4_types[946]); } const IfcParse::entity& Ifc4::IfcStairFlightType::Class() { return *((IfcParse::entity*)IFC4_types[946]); } Ifc4::IfcStairFlightType::IfcStairFlightType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4::IfcStairFlightType::IfcStairFlightType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcStairFlightTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcStairFlightType::IfcStairFlightType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcStairFlightTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStairType -::Ifc4::IfcStairTypeEnum::Value Ifc4::IfcStairType::PredefinedType() const { return ::Ifc4::IfcStairTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcStairTypeEnum::Value Ifc4::IfcStairType::PredefinedType() const { return ::Ifc4::IfcStairTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcStairType::setPredefinedType(::Ifc4::IfcStairTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcStairTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcStairType::declaration() const { return *((IfcParse::entity*)IFC4_types[948]); } const IfcParse::entity& Ifc4::IfcStairType::Class() { return *((IfcParse::entity*)IFC4_types[948]); } Ifc4::IfcStairType::IfcStairType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4::IfcStairType::IfcStairType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcStairTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcStairType::IfcStairType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcStairTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralAction -boost::optional< bool > Ifc4::IfcStructuralAction::DestabilizingLoad() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } bool v = data_.get_attribute_value(9); return v; } +boost::optional< bool > Ifc4::IfcStructuralAction::DestabilizingLoad() const { if(get_attribute_value(9).isNull()) { return boost::none; } bool v = get_attribute_value(9); return v; } void Ifc4::IfcStructuralAction::setDestabilizingLoad(boost::optional< bool > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4::IfcStructuralAction::declaration() const { return *((IfcParse::entity*)IFC4_types[951]); } const IfcParse::entity& Ifc4::IfcStructuralAction::Class() { return *((IfcParse::entity*)IFC4_types[951]); } Ifc4::IfcStructuralAction::IfcStructuralAction(IfcEntityInstanceData&& e) : IfcStructuralActivity(std::move(e)) { } -Ifc4::IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralActivity(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } +Ifc4::IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralActivity(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } // Function implementations for IfcStructuralActivity -::Ifc4::IfcStructuralLoad* Ifc4::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4::IfcStructuralLoad>(true); } +::Ifc4::IfcStructuralLoad* Ifc4::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4::IfcStructuralLoad>(true); } void Ifc4::IfcStructuralActivity::setAppliedLoad(::Ifc4::IfcStructuralLoad* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4::IfcGlobalOrLocalEnum::Value Ifc4::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4::IfcGlobalOrLocalEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4::IfcGlobalOrLocalEnum::Value Ifc4::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4::IfcGlobalOrLocalEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcStructuralActivity::setGlobalOrLocal(::Ifc4::IfcGlobalOrLocalEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4::IfcGlobalOrLocalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } ::Ifc4::IfcRelConnectsStructuralActivity::list::ptr Ifc4::IfcStructuralActivity::AssignedToStructuralItem() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[819], 5)->as(); } @@ -14143,28 +14143,28 @@ void Ifc4::IfcStructuralActivity::setGlobalOrLocal(::Ifc4::IfcGlobalOrLocalEnum: const IfcParse::entity& Ifc4::IfcStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC4_types[952]); } const IfcParse::entity& Ifc4::IfcStructuralActivity::Class() { return *((IfcParse::entity*)IFC4_types[952]); } Ifc4::IfcStructuralActivity::IfcStructuralActivity(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4::IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +Ifc4::IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralAnalysisModel -::Ifc4::IfcAnalysisModelTypeEnum::Value Ifc4::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4::IfcAnalysisModelTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4::IfcAnalysisModelTypeEnum::Value Ifc4::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4::IfcAnalysisModelTypeEnum::FromString(get_attribute_value(5)); } void Ifc4::IfcStructuralAnalysisModel::setPredefinedType(::Ifc4::IfcAnalysisModelTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4::IfcAnalysisModelTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4::IfcAxis2Placement3D* Ifc4::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4::IfcAxis2Placement3D>(true); } +::Ifc4::IfcAxis2Placement3D* Ifc4::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4::IfcAxis2Placement3D>(true); } void Ifc4::IfcStructuralAnalysisModel::setOrientationOf2DPlane(::Ifc4::IfcAxis2Placement3D* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< aggregate_of< ::Ifc4::IfcStructuralLoadGroup >::ptr > Ifc4::IfcStructuralAnalysisModel::LoadedBy() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4::IfcStructuralLoadGroup >(); } +boost::optional< aggregate_of< ::Ifc4::IfcStructuralLoadGroup >::ptr > Ifc4::IfcStructuralAnalysisModel::LoadedBy() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4::IfcStructuralLoadGroup >(); } void Ifc4::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc4::IfcStructuralLoadGroup >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< aggregate_of< ::Ifc4::IfcStructuralResultGroup >::ptr > Ifc4::IfcStructuralAnalysisModel::HasResults() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4::IfcStructuralResultGroup >(); } +boost::optional< aggregate_of< ::Ifc4::IfcStructuralResultGroup >::ptr > Ifc4::IfcStructuralAnalysisModel::HasResults() const { if(get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4::IfcStructuralResultGroup >(); } void Ifc4::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc4::IfcStructuralResultGroup >::ptr > v) { if (v) {set_attribute_value(8, (*v)->generalize());} else {unset_attribute_value(8);} } -::Ifc4::IfcObjectPlacement* Ifc4::IfcStructuralAnalysisModel::SharedPlacement() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4::IfcObjectPlacement>(true); } +::Ifc4::IfcObjectPlacement* Ifc4::IfcStructuralAnalysisModel::SharedPlacement() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4::IfcObjectPlacement>(true); } void Ifc4::IfcStructuralAnalysisModel::setSharedPlacement(::Ifc4::IfcObjectPlacement* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcStructuralAnalysisModel::declaration() const { return *((IfcParse::entity*)IFC4_types[954]); } const IfcParse::entity& Ifc4::IfcStructuralAnalysisModel::Class() { return *((IfcParse::entity*)IFC4_types[954]); } Ifc4::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4::IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< aggregate_of< ::Ifc4::IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< aggregate_of< ::Ifc4::IfcStructuralResultGroup >::ptr > v9_HasResults, ::Ifc4::IfcObjectPlacement* v10_SharedPlacement) : IfcSystem(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, v7_OrientationOf2DPlane ? v7_OrientationOf2DPlane->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LoadedBy) {set_attribute_value(7, (*v8_LoadedBy)->generalize()); } if (v9_HasResults) {set_attribute_value(8, (*v9_HasResults)->generalize()); }set_attribute_value(9, v10_SharedPlacement ? v10_SharedPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4::IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< aggregate_of< ::Ifc4::IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< aggregate_of< ::Ifc4::IfcStructuralResultGroup >::ptr > v9_HasResults, ::Ifc4::IfcObjectPlacement* v10_SharedPlacement) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, v7_OrientationOf2DPlane ? v7_OrientationOf2DPlane->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LoadedBy) {set_attribute_value(7, (*v8_LoadedBy)->generalize()); } if (v9_HasResults) {set_attribute_value(8, (*v9_HasResults)->generalize()); }set_attribute_value(9, v10_SharedPlacement ? v10_SharedPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralConnection -::Ifc4::IfcBoundaryCondition* Ifc4::IfcStructuralConnection::AppliedCondition() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4::IfcBoundaryCondition>(true); } +::Ifc4::IfcBoundaryCondition* Ifc4::IfcStructuralConnection::AppliedCondition() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4::IfcBoundaryCondition>(true); } void Ifc4::IfcStructuralConnection::setAppliedCondition(::Ifc4::IfcBoundaryCondition* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } ::Ifc4::IfcRelConnectsStructuralMember::list::ptr Ifc4::IfcStructuralConnection::ConnectsStructuralMembers() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[820], 5)->as(); } @@ -14172,51 +14172,51 @@ void Ifc4::IfcStructuralConnection::setAppliedCondition(::Ifc4::IfcBoundaryCondi const IfcParse::entity& Ifc4::IfcStructuralConnection::declaration() const { return *((IfcParse::entity*)IFC4_types[955]); } const IfcParse::entity& Ifc4::IfcStructuralConnection::Class() { return *((IfcParse::entity*)IFC4_types[955]); } Ifc4::IfcStructuralConnection::IfcStructuralConnection(IfcEntityInstanceData&& e) : IfcStructuralItem(std::move(e)) { } -Ifc4::IfcStructuralConnection::IfcStructuralConnection(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralItem(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcStructuralConnection::IfcStructuralConnection(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralItem(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralConnectionCondition -boost::optional< std::string > Ifc4::IfcStructuralConnectionCondition::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4::IfcStructuralConnectionCondition::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4::IfcStructuralConnectionCondition::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4::IfcStructuralConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC4_types[956]); } const IfcParse::entity& Ifc4::IfcStructuralConnectionCondition::Class() { return *((IfcParse::entity*)IFC4_types[956]); } Ifc4::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralCurveAction -boost::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > Ifc4::IfcStructuralCurveAction::ProjectedOrTrue() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4::IfcProjectedOrTrueLengthEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > Ifc4::IfcStructuralCurveAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } void Ifc4::IfcStructuralCurveAction::setProjectedOrTrue(boost::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4::IfcProjectedOrTrueLengthEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -::Ifc4::IfcStructuralCurveActivityTypeEnum::Value Ifc4::IfcStructuralCurveAction::PredefinedType() const { return ::Ifc4::IfcStructuralCurveActivityTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4::IfcStructuralCurveActivityTypeEnum::Value Ifc4::IfcStructuralCurveAction::PredefinedType() const { return ::Ifc4::IfcStructuralCurveActivityTypeEnum::FromString(get_attribute_value(11)); } void Ifc4::IfcStructuralCurveAction::setPredefinedType(::Ifc4::IfcStructuralCurveActivityTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4::IfcStructuralCurveActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4::IfcStructuralCurveAction::declaration() const { return *((IfcParse::entity*)IFC4_types[957]); } const IfcParse::entity& Ifc4::IfcStructuralCurveAction::Class() { return *((IfcParse::entity*)IFC4_types[957]); } Ifc4::IfcStructuralCurveAction::IfcStructuralCurveAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -Ifc4::IfcStructuralCurveAction::IfcStructuralCurveAction(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4::IfcStructuralCurveAction::IfcStructuralCurveAction(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralCurveConnection -::Ifc4::IfcDirection* Ifc4::IfcStructuralCurveConnection::Axis() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4::IfcDirection>(true); } +::Ifc4::IfcDirection* Ifc4::IfcStructuralCurveConnection::Axis() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcStructuralCurveConnection::setAxis(::Ifc4::IfcDirection* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4::IfcStructuralCurveConnection::declaration() const { return *((IfcParse::entity*)IFC4_types[959]); } const IfcParse::entity& Ifc4::IfcStructuralCurveConnection::Class() { return *((IfcParse::entity*)IFC4_types[959]); } Ifc4::IfcStructuralCurveConnection::IfcStructuralCurveConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -Ifc4::IfcStructuralCurveConnection::IfcStructuralCurveConnection(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4::IfcDirection* v9_Axis) : IfcStructuralConnection(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcStructuralCurveConnection::IfcStructuralCurveConnection(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4::IfcDirection* v9_Axis) : IfcStructuralConnection(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralCurveMember -::Ifc4::IfcStructuralCurveMemberTypeEnum::Value Ifc4::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4::IfcStructuralCurveMemberTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4::IfcStructuralCurveMemberTypeEnum::Value Ifc4::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4::IfcStructuralCurveMemberTypeEnum::FromString(get_attribute_value(7)); } void Ifc4::IfcStructuralCurveMember::setPredefinedType(::Ifc4::IfcStructuralCurveMemberTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4::IfcStructuralCurveMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4::IfcDirection* Ifc4::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4::IfcDirection>(true); } +::Ifc4::IfcDirection* Ifc4::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcStructuralCurveMember::setAxis(::Ifc4::IfcDirection* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4::IfcStructuralCurveMember::declaration() const { return *((IfcParse::entity*)IFC4_types[960]); } const IfcParse::entity& Ifc4::IfcStructuralCurveMember::Class() { return *((IfcParse::entity*)IFC4_types[960]); } Ifc4::IfcStructuralCurveMember::IfcStructuralCurveMember(IfcEntityInstanceData&& e) : IfcStructuralMember(std::move(e)) { } -Ifc4::IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4::IfcDirection* v9_Axis) : IfcStructuralMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4::IfcDirection* v9_Axis) : IfcStructuralMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralCurveMemberVarying @@ -14224,17 +14224,17 @@ Ifc4::IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_GlobalId const IfcParse::entity& Ifc4::IfcStructuralCurveMemberVarying::declaration() const { return *((IfcParse::entity*)IFC4_types[962]); } const IfcParse::entity& Ifc4::IfcStructuralCurveMemberVarying::Class() { return *((IfcParse::entity*)IFC4_types[962]); } Ifc4::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(IfcEntityInstanceData&& e) : IfcStructuralCurveMember(std::move(e)) { } -Ifc4::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4::IfcDirection* v9_Axis) : IfcStructuralCurveMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4::IfcDirection* v9_Axis) : IfcStructuralCurveMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralCurveReaction -::Ifc4::IfcStructuralCurveActivityTypeEnum::Value Ifc4::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4::IfcStructuralCurveActivityTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcStructuralCurveActivityTypeEnum::Value Ifc4::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4::IfcStructuralCurveActivityTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcStructuralCurveReaction::setPredefinedType(::Ifc4::IfcStructuralCurveActivityTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcStructuralCurveActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcStructuralCurveReaction::declaration() const { return *((IfcParse::entity*)IFC4_types[963]); } const IfcParse::entity& Ifc4::IfcStructuralCurveReaction::Class() { return *((IfcParse::entity*)IFC4_types[963]); } Ifc4::IfcStructuralCurveReaction::IfcStructuralCurveReaction(IfcEntityInstanceData&& e) : IfcStructuralReaction(std::move(e)) { } -Ifc4::IfcStructuralCurveReaction::IfcStructuralCurveReaction(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcStructuralCurveReaction::IfcStructuralCurveReaction(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralItem @@ -14243,7 +14243,7 @@ Ifc4::IfcStructuralCurveReaction::IfcStructuralCurveReaction(std::string v1_Glob const IfcParse::entity& Ifc4::IfcStructuralItem::declaration() const { return *((IfcParse::entity*)IFC4_types[964]); } const IfcParse::entity& Ifc4::IfcStructuralItem::Class() { return *((IfcParse::entity*)IFC4_types[964]); } Ifc4::IfcStructuralItem::IfcStructuralItem(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4::IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralLinearAction @@ -14251,50 +14251,50 @@ Ifc4::IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, ::Ifc4::IfcO const IfcParse::entity& Ifc4::IfcStructuralLinearAction::declaration() const { return *((IfcParse::entity*)IFC4_types[965]); } const IfcParse::entity& Ifc4::IfcStructuralLinearAction::Class() { return *((IfcParse::entity*)IFC4_types[965]); } Ifc4::IfcStructuralLinearAction::IfcStructuralLinearAction(IfcEntityInstanceData&& e) : IfcStructuralCurveAction(std::move(e)) { } -Ifc4::IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralCurveAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4::IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralCurveAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralLoad -boost::optional< std::string > Ifc4::IfcStructuralLoad::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4::IfcStructuralLoad::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4::IfcStructuralLoad::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4::IfcStructuralLoad::declaration() const { return *((IfcParse::entity*)IFC4_types[966]); } const IfcParse::entity& Ifc4::IfcStructuralLoad::Class() { return *((IfcParse::entity*)IFC4_types[966]); } Ifc4::IfcStructuralLoad::IfcStructuralLoad(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4::IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralLoadCase -boost::optional< std::vector< double > /*[3:3]*/ > Ifc4::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::vector< double > /*[3:3]*/ v = data_.get_attribute_value(10); return v; } +boost::optional< std::vector< double > /*[3:3]*/ > Ifc4::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::vector< double > /*[3:3]*/ v = get_attribute_value(10); return v; } void Ifc4::IfcStructuralLoadCase::setSelfWeightCoefficients(boost::optional< std::vector< double > /*[3:3]*/ > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4::IfcStructuralLoadCase::declaration() const { return *((IfcParse::entity*)IFC4_types[967]); } const IfcParse::entity& Ifc4::IfcStructuralLoadCase::Class() { return *((IfcParse::entity*)IFC4_types[967]); } Ifc4::IfcStructuralLoadCase::IfcStructuralLoadCase(IfcEntityInstanceData&& e) : IfcStructuralLoadGroup(std::move(e)) { } -Ifc4::IfcStructuralLoadCase::IfcStructuralLoadCase(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4::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(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); }; populate_derived(); } +Ifc4::IfcStructuralLoadCase::IfcStructuralLoadCase(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4::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(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); }; populate_derived(); } // Function implementations for IfcStructuralLoadConfiguration -aggregate_of< ::Ifc4::IfcStructuralLoadOrResult >::ptr Ifc4::IfcStructuralLoadConfiguration::Values() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4::IfcStructuralLoadOrResult >(); } +aggregate_of< ::Ifc4::IfcStructuralLoadOrResult >::ptr Ifc4::IfcStructuralLoadConfiguration::Values() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4::IfcStructuralLoadOrResult >(); } void Ifc4::IfcStructuralLoadConfiguration::setValues(aggregate_of< ::Ifc4::IfcStructuralLoadOrResult >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::vector< std::vector< double > > > Ifc4::IfcStructuralLoadConfiguration::Locations() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< std::vector< double > > v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< std::vector< double > > > Ifc4::IfcStructuralLoadConfiguration::Locations() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< std::vector< double > > v = get_attribute_value(2); return v; } void Ifc4::IfcStructuralLoadConfiguration::setLocations(boost::optional< std::vector< std::vector< double > > > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4::IfcStructuralLoadConfiguration::declaration() const { return *((IfcParse::entity*)IFC4_types[968]); } const IfcParse::entity& Ifc4::IfcStructuralLoadConfiguration::Class() { return *((IfcParse::entity*)IFC4_types[968]); } Ifc4::IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(IfcEntityInstanceData&& e) : IfcStructuralLoad(std::move(e)) { } -Ifc4::IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4::IfcStructuralLoadOrResult >::ptr v2_Values, boost::optional< std::vector< std::vector< double > > > v3_Locations) : IfcStructuralLoad(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Values)->generalize()); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); }; populate_derived(); } +Ifc4::IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4::IfcStructuralLoadOrResult >::ptr v2_Values, boost::optional< std::vector< std::vector< double > > > v3_Locations) : IfcStructuralLoad(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Values)->generalize()); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); }; populate_derived(); } // Function implementations for IfcStructuralLoadGroup -::Ifc4::IfcLoadGroupTypeEnum::Value Ifc4::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4::IfcLoadGroupTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4::IfcLoadGroupTypeEnum::Value Ifc4::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4::IfcLoadGroupTypeEnum::FromString(get_attribute_value(5)); } void Ifc4::IfcStructuralLoadGroup::setPredefinedType(::Ifc4::IfcLoadGroupTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4::IfcLoadGroupTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4::IfcActionTypeEnum::Value Ifc4::IfcStructuralLoadGroup::ActionType() const { return ::Ifc4::IfcActionTypeEnum::FromString(data_.get_attribute_value(6)); } +::Ifc4::IfcActionTypeEnum::Value Ifc4::IfcStructuralLoadGroup::ActionType() const { return ::Ifc4::IfcActionTypeEnum::FromString(get_attribute_value(6)); } void Ifc4::IfcStructuralLoadGroup::setActionType(::Ifc4::IfcActionTypeEnum::Value v) { set_attribute_value(6, EnumerationReference(&::Ifc4::IfcActionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(6); } -::Ifc4::IfcActionSourceTypeEnum::Value Ifc4::IfcStructuralLoadGroup::ActionSource() const { return ::Ifc4::IfcActionSourceTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4::IfcActionSourceTypeEnum::Value Ifc4::IfcStructuralLoadGroup::ActionSource() const { return ::Ifc4::IfcActionSourceTypeEnum::FromString(get_attribute_value(7)); } void Ifc4::IfcStructuralLoadGroup::setActionSource(::Ifc4::IfcActionSourceTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4::IfcActionSourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc4::IfcStructuralLoadGroup::Coefficient() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4::IfcStructuralLoadGroup::Coefficient() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4::IfcStructuralLoadGroup::setCoefficient(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4::IfcStructuralLoadGroup::Purpose() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4::IfcStructuralLoadGroup::Purpose() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } ::Ifc4::IfcStructuralResultGroup::list::ptr Ifc4::IfcStructuralLoadGroup::SourceOfResultGroup() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[985], 6)->as(); } @@ -14303,27 +14303,27 @@ void Ifc4::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string > v) const IfcParse::entity& Ifc4::IfcStructuralLoadGroup::declaration() const { return *((IfcParse::entity*)IFC4_types[969]); } const IfcParse::entity& Ifc4::IfcStructuralLoadGroup::Class() { return *((IfcParse::entity*)IFC4_types[969]); } Ifc4::IfcStructuralLoadGroup::IfcStructuralLoadGroup(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4::IfcStructuralLoadGroup::IfcStructuralLoadGroup(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4::IfcActionSourceTypeEnum::Value v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose) : IfcGroup(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; populate_derived(); } +Ifc4::IfcStructuralLoadGroup::IfcStructuralLoadGroup(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4::IfcActionSourceTypeEnum::Value v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; populate_derived(); } // Function implementations for IfcStructuralLoadLinearForce -boost::optional< double > Ifc4::IfcStructuralLoadLinearForce::LinearForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4::IfcStructuralLoadLinearForce::LinearForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4::IfcStructuralLoadLinearForce::setLinearForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4::IfcStructuralLoadLinearForce::LinearForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4::IfcStructuralLoadLinearForce::LinearForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4::IfcStructuralLoadLinearForce::setLinearForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4::IfcStructuralLoadLinearForce::LinearForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4::IfcStructuralLoadLinearForce::LinearForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4::IfcStructuralLoadLinearForce::setLinearForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4::IfcStructuralLoadLinearForce::LinearMomentX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4::IfcStructuralLoadLinearForce::LinearMomentX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4::IfcStructuralLoadLinearForce::setLinearMomentX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4::IfcStructuralLoadLinearForce::LinearMomentY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4::IfcStructuralLoadLinearForce::LinearMomentY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4::IfcStructuralLoadLinearForce::setLinearMomentY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4::IfcStructuralLoadLinearForce::LinearMomentZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4::IfcStructuralLoadLinearForce::LinearMomentZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4::IfcStructuralLoadLinearForce::setLinearMomentZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4::IfcStructuralLoadLinearForce::declaration() const { return *((IfcParse::entity*)IFC4_types[970]); } const IfcParse::entity& Ifc4::IfcStructuralLoadLinearForce::Class() { return *((IfcParse::entity*)IFC4_types[970]); } Ifc4::IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4::IfcStructuralLoadLinearForce::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) : IfcStructuralLoadStatic(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; populate_derived(); } +Ifc4::IfcStructuralLoadLinearForce::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) : IfcStructuralLoadStatic(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadOrResult @@ -14331,81 +14331,81 @@ Ifc4::IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(boost::optional const IfcParse::entity& Ifc4::IfcStructuralLoadOrResult::declaration() const { return *((IfcParse::entity*)IFC4_types[971]); } const IfcParse::entity& Ifc4::IfcStructuralLoadOrResult::Class() { return *((IfcParse::entity*)IFC4_types[971]); } Ifc4::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(IfcEntityInstanceData&& e) : IfcStructuralLoad(std::move(e)) { } -Ifc4::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional< std::string > v1_Name) : IfcStructuralLoad(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional< std::string > v1_Name) : IfcStructuralLoad(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralLoadPlanarForce -boost::optional< double > Ifc4::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4::IfcStructuralLoadPlanarForce::setPlanarForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4::IfcStructuralLoadPlanarForce::PlanarForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4::IfcStructuralLoadPlanarForce::PlanarForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4::IfcStructuralLoadPlanarForce::setPlanarForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4::IfcStructuralLoadPlanarForce::PlanarForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4::IfcStructuralLoadPlanarForce::PlanarForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4::IfcStructuralLoadPlanarForce::setPlanarForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4::IfcStructuralLoadPlanarForce::declaration() const { return *((IfcParse::entity*)IFC4_types[972]); } const IfcParse::entity& Ifc4::IfcStructuralLoadPlanarForce::Class() { return *((IfcParse::entity*)IFC4_types[972]); } Ifc4::IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4::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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; populate_derived(); } +Ifc4::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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleDisplacement -boost::optional< double > Ifc4::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4::IfcStructuralLoadSingleDisplacement::setDisplacementX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4::IfcStructuralLoadSingleDisplacement::DisplacementY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4::IfcStructuralLoadSingleDisplacement::DisplacementY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4::IfcStructuralLoadSingleDisplacement::setDisplacementY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4::IfcStructuralLoadSingleDisplacement::DisplacementZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4::IfcStructuralLoadSingleDisplacement::DisplacementZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4::IfcStructuralLoadSingleDisplacement::setDisplacementZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4::IfcStructuralLoadSingleDisplacement::declaration() const { return *((IfcParse::entity*)IFC4_types[973]); } const IfcParse::entity& Ifc4::IfcStructuralLoadSingleDisplacement::Class() { return *((IfcParse::entity*)IFC4_types[973]); } Ifc4::IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; populate_derived(); } +Ifc4::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleDisplacementDistortion -boost::optional< double > Ifc4::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4::IfcStructuralLoadSingleDisplacementDistortion::declaration() const { return *((IfcParse::entity*)IFC4_types[974]); } const IfcParse::entity& Ifc4::IfcStructuralLoadSingleDisplacementDistortion::Class() { return *((IfcParse::entity*)IFC4_types[974]); } Ifc4::IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDisplacementDistortion(IfcEntityInstanceData&& e) : IfcStructuralLoadSingleDisplacement(std::move(e)) { } -Ifc4::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(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; populate_derived(); } +Ifc4::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(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleForce -boost::optional< double > Ifc4::IfcStructuralLoadSingleForce::ForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4::IfcStructuralLoadSingleForce::ForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4::IfcStructuralLoadSingleForce::setForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4::IfcStructuralLoadSingleForce::ForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4::IfcStructuralLoadSingleForce::ForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4::IfcStructuralLoadSingleForce::setForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4::IfcStructuralLoadSingleForce::ForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4::IfcStructuralLoadSingleForce::ForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4::IfcStructuralLoadSingleForce::setForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4::IfcStructuralLoadSingleForce::MomentX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4::IfcStructuralLoadSingleForce::MomentX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4::IfcStructuralLoadSingleForce::setMomentX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4::IfcStructuralLoadSingleForce::MomentY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4::IfcStructuralLoadSingleForce::MomentY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4::IfcStructuralLoadSingleForce::setMomentY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4::IfcStructuralLoadSingleForce::MomentZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4::IfcStructuralLoadSingleForce::MomentZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4::IfcStructuralLoadSingleForce::setMomentZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4::IfcStructuralLoadSingleForce::declaration() const { return *((IfcParse::entity*)IFC4_types[975]); } const IfcParse::entity& Ifc4::IfcStructuralLoadSingleForce::Class() { return *((IfcParse::entity*)IFC4_types[975]); } Ifc4::IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; populate_derived(); } +Ifc4::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleForceWarping -boost::optional< double > Ifc4::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4::IfcStructuralLoadSingleForceWarping::setWarpingMoment(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4::IfcStructuralLoadSingleForceWarping::declaration() const { return *((IfcParse::entity*)IFC4_types[976]); } const IfcParse::entity& Ifc4::IfcStructuralLoadSingleForceWarping::Class() { return *((IfcParse::entity*)IFC4_types[976]); } Ifc4::IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWarping(IfcEntityInstanceData&& e) : IfcStructuralLoadSingleForce(std::move(e)) { } -Ifc4::IfcStructuralLoadSingleForceWarping::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) : IfcStructuralLoadSingleForce(IfcEntityInstanceData(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; populate_derived(); } +Ifc4::IfcStructuralLoadSingleForceWarping::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) : IfcStructuralLoadSingleForce(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; populate_derived(); } // Function implementations for IfcStructuralLoadStatic @@ -14413,21 +14413,21 @@ Ifc4::IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWarping(b const IfcParse::entity& Ifc4::IfcStructuralLoadStatic::declaration() const { return *((IfcParse::entity*)IFC4_types[977]); } const IfcParse::entity& Ifc4::IfcStructuralLoadStatic::Class() { return *((IfcParse::entity*)IFC4_types[977]); } Ifc4::IfcStructuralLoadStatic::IfcStructuralLoadStatic(IfcEntityInstanceData&& e) : IfcStructuralLoadOrResult(std::move(e)) { } -Ifc4::IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< std::string > v1_Name) : IfcStructuralLoadOrResult(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4::IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< std::string > v1_Name) : IfcStructuralLoadOrResult(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralLoadTemperature -boost::optional< double > Ifc4::IfcStructuralLoadTemperature::DeltaTConstant() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4::IfcStructuralLoadTemperature::DeltaTConstant() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4::IfcStructuralLoadTemperature::setDeltaTConstant(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4::IfcStructuralLoadTemperature::DeltaTY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4::IfcStructuralLoadTemperature::DeltaTY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4::IfcStructuralLoadTemperature::setDeltaTY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4::IfcStructuralLoadTemperature::DeltaTZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4::IfcStructuralLoadTemperature::DeltaTZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4::IfcStructuralLoadTemperature::setDeltaTZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4::IfcStructuralLoadTemperature::declaration() const { return *((IfcParse::entity*)IFC4_types[978]); } const IfcParse::entity& Ifc4::IfcStructuralLoadTemperature::Class() { return *((IfcParse::entity*)IFC4_types[978]); } Ifc4::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::optional< std::string > v1_Name, boost::optional< double > v2_DeltaTConstant, boost::optional< double > v3_DeltaTY, boost::optional< double > v4_DeltaTZ) : IfcStructuralLoadStatic(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); }; populate_derived(); } +Ifc4::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::optional< std::string > v1_Name, boost::optional< double > v2_DeltaTConstant, boost::optional< double > v3_DeltaTY, boost::optional< double > v4_DeltaTZ) : IfcStructuralLoadStatic(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); }; populate_derived(); } // Function implementations for IfcStructuralMember @@ -14436,7 +14436,7 @@ Ifc4::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::optional const IfcParse::entity& Ifc4::IfcStructuralMember::declaration() const { return *((IfcParse::entity*)IFC4_types[979]); } const IfcParse::entity& Ifc4::IfcStructuralMember::Class() { return *((IfcParse::entity*)IFC4_types[979]); } Ifc4::IfcStructuralMember::IfcStructuralMember(IfcEntityInstanceData&& e) : IfcStructuralItem(std::move(e)) { } -Ifc4::IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation) : IfcStructuralItem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation) : IfcStructuralItem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralPlanarAction @@ -14444,7 +14444,7 @@ Ifc4::IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, ::Ifc4:: const IfcParse::entity& Ifc4::IfcStructuralPlanarAction::declaration() const { return *((IfcParse::entity*)IFC4_types[980]); } const IfcParse::entity& Ifc4::IfcStructuralPlanarAction::Class() { return *((IfcParse::entity*)IFC4_types[980]); } Ifc4::IfcStructuralPlanarAction::IfcStructuralPlanarAction(IfcEntityInstanceData&& e) : IfcStructuralSurfaceAction(std::move(e)) { } -Ifc4::IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralSurfaceAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4::IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralSurfaceAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralPointAction @@ -14452,17 +14452,17 @@ Ifc4::IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_Global const IfcParse::entity& Ifc4::IfcStructuralPointAction::declaration() const { return *((IfcParse::entity*)IFC4_types[981]); } const IfcParse::entity& Ifc4::IfcStructuralPointAction::Class() { return *((IfcParse::entity*)IFC4_types[981]); } Ifc4::IfcStructuralPointAction::IfcStructuralPointAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -Ifc4::IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralAction(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } +Ifc4::IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralAction(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } // Function implementations for IfcStructuralPointConnection -::Ifc4::IfcAxis2Placement3D* Ifc4::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4::IfcAxis2Placement3D>(true); } +::Ifc4::IfcAxis2Placement3D* Ifc4::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4::IfcAxis2Placement3D>(true); } void Ifc4::IfcStructuralPointConnection::setConditionCoordinateSystem(::Ifc4::IfcAxis2Placement3D* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4::IfcStructuralPointConnection::declaration() const { return *((IfcParse::entity*)IFC4_types[982]); } const IfcParse::entity& Ifc4::IfcStructuralPointConnection::Class() { return *((IfcParse::entity*)IFC4_types[982]); } Ifc4::IfcStructuralPointConnection::IfcStructuralPointConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -Ifc4::IfcStructuralPointConnection::IfcStructuralPointConnection(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4::IfcAxis2Placement3D* v9_ConditionCoordinateSystem) : IfcStructuralConnection(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_ConditionCoordinateSystem ? v9_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcStructuralPointConnection::IfcStructuralPointConnection(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4::IfcAxis2Placement3D* v9_ConditionCoordinateSystem) : IfcStructuralConnection(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_ConditionCoordinateSystem ? v9_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralPointReaction @@ -14470,7 +14470,7 @@ Ifc4::IfcStructuralPointConnection::IfcStructuralPointConnection(std::string v1_ const IfcParse::entity& Ifc4::IfcStructuralPointReaction::declaration() const { return *((IfcParse::entity*)IFC4_types[983]); } const IfcParse::entity& Ifc4::IfcStructuralPointReaction::Class() { return *((IfcParse::entity*)IFC4_types[983]); } Ifc4::IfcStructuralPointReaction::IfcStructuralPointReaction(IfcEntityInstanceData&& e) : IfcStructuralReaction(std::move(e)) { } -Ifc4::IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralReaction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +Ifc4::IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralReaction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralReaction @@ -14478,14 +14478,14 @@ Ifc4::IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v1_Glob const IfcParse::entity& Ifc4::IfcStructuralReaction::declaration() const { return *((IfcParse::entity*)IFC4_types[984]); } const IfcParse::entity& Ifc4::IfcStructuralReaction::Class() { return *((IfcParse::entity*)IFC4_types[984]); } Ifc4::IfcStructuralReaction::IfcStructuralReaction(IfcEntityInstanceData&& e) : IfcStructuralActivity(std::move(e)) { } -Ifc4::IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralActivity(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +Ifc4::IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralActivity(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralResultGroup -::Ifc4::IfcAnalysisTheoryTypeEnum::Value Ifc4::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4::IfcAnalysisTheoryTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4::IfcAnalysisTheoryTypeEnum::Value Ifc4::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4::IfcAnalysisTheoryTypeEnum::FromString(get_attribute_value(5)); } void Ifc4::IfcStructuralResultGroup::setTheoryType(::Ifc4::IfcAnalysisTheoryTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4::IfcAnalysisTheoryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4::IfcStructuralLoadGroup* Ifc4::IfcStructuralResultGroup::ResultForLoadGroup() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4::IfcStructuralLoadGroup>(true); } +::Ifc4::IfcStructuralLoadGroup* Ifc4::IfcStructuralResultGroup::ResultForLoadGroup() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4::IfcStructuralLoadGroup>(true); } void Ifc4::IfcStructuralResultGroup::setResultForLoadGroup(::Ifc4::IfcStructuralLoadGroup* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -bool Ifc4::IfcStructuralResultGroup::IsLinear() const { bool v = data_.get_attribute_value(7); return v; } +bool Ifc4::IfcStructuralResultGroup::IsLinear() const { bool v = get_attribute_value(7); return v; } void Ifc4::IfcStructuralResultGroup::setIsLinear(bool v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc4::IfcStructuralAnalysisModel::list::ptr Ifc4::IfcStructuralResultGroup::ResultGroupFor() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[954], 8)->as(); } @@ -14493,19 +14493,19 @@ void Ifc4::IfcStructuralResultGroup::setIsLinear(bool v) { set_attribute_value(7 const IfcParse::entity& Ifc4::IfcStructuralResultGroup::declaration() const { return *((IfcParse::entity*)IFC4_types[985]); } const IfcParse::entity& Ifc4::IfcStructuralResultGroup::Class() { return *((IfcParse::entity*)IFC4_types[985]); } Ifc4::IfcStructuralResultGroup::IfcStructuralResultGroup(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4::IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4::IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear) : IfcGroup(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, v7_ResultForLoadGroup ? v7_ResultForLoadGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_IsLinear));; populate_derived(); } +Ifc4::IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4::IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, v7_ResultForLoadGroup ? v7_ResultForLoadGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_IsLinear));; populate_derived(); } // Function implementations for IfcStructuralSurfaceAction -boost::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > Ifc4::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4::IfcProjectedOrTrueLengthEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > Ifc4::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } void Ifc4::IfcStructuralSurfaceAction::setProjectedOrTrue(boost::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4::IfcProjectedOrTrueLengthEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4::IfcStructuralSurfaceAction::PredefinedType() const { return ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4::IfcStructuralSurfaceAction::PredefinedType() const { return ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::FromString(get_attribute_value(11)); } void Ifc4::IfcStructuralSurfaceAction::setPredefinedType(::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4::IfcStructuralSurfaceAction::declaration() const { return *((IfcParse::entity*)IFC4_types[986]); } const IfcParse::entity& Ifc4::IfcStructuralSurfaceAction::Class() { return *((IfcParse::entity*)IFC4_types[986]); } Ifc4::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -Ifc4::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralSurfaceConnection @@ -14513,19 +14513,19 @@ Ifc4::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(std::string v1_Glob const IfcParse::entity& Ifc4::IfcStructuralSurfaceConnection::declaration() const { return *((IfcParse::entity*)IFC4_types[988]); } const IfcParse::entity& Ifc4::IfcStructuralSurfaceConnection::Class() { return *((IfcParse::entity*)IFC4_types[988]); } Ifc4::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -Ifc4::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralSurfaceMember -::Ifc4::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4::IfcStructuralSurfaceMemberTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4::IfcStructuralSurfaceMemberTypeEnum::FromString(get_attribute_value(7)); } void Ifc4::IfcStructuralSurfaceMember::setPredefinedType(::Ifc4::IfcStructuralSurfaceMemberTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4::IfcStructuralSurfaceMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc4::IfcStructuralSurfaceMember::Thickness() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4::IfcStructuralSurfaceMember::Thickness() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4::IfcStructuralSurfaceMember::setThickness(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcStructuralSurfaceMember::declaration() const { return *((IfcParse::entity*)IFC4_types[989]); } const IfcParse::entity& Ifc4::IfcStructuralSurfaceMember::Class() { return *((IfcParse::entity*)IFC4_types[989]); } Ifc4::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(IfcEntityInstanceData&& e) : IfcStructuralMember(std::move(e)) { } -Ifc4::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } +Ifc4::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } // Function implementations for IfcStructuralSurfaceMemberVarying @@ -14533,17 +14533,17 @@ Ifc4::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v1_Glob const IfcParse::entity& Ifc4::IfcStructuralSurfaceMemberVarying::declaration() const { return *((IfcParse::entity*)IFC4_types[991]); } const IfcParse::entity& Ifc4::IfcStructuralSurfaceMemberVarying::Class() { return *((IfcParse::entity*)IFC4_types[991]); } Ifc4::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(IfcEntityInstanceData&& e) : IfcStructuralSurfaceMember(std::move(e)) { } -Ifc4::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralSurfaceMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } +Ifc4::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralSurfaceMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } // Function implementations for IfcStructuralSurfaceReaction -::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcStructuralSurfaceReaction::setPredefinedType(::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcStructuralSurfaceReaction::declaration() const { return *((IfcParse::entity*)IFC4_types[992]); } const IfcParse::entity& Ifc4::IfcStructuralSurfaceReaction::Class() { return *((IfcParse::entity*)IFC4_types[992]); } Ifc4::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(IfcEntityInstanceData&& e) : IfcStructuralReaction(std::move(e)) { } -Ifc4::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, ::Ifc4::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStyleModel @@ -14551,21 +14551,21 @@ Ifc4::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(std::string v1_ const IfcParse::entity& Ifc4::IfcStyleModel::declaration() const { return *((IfcParse::entity*)IFC4_types[996]); } const IfcParse::entity& Ifc4::IfcStyleModel::Class() { return *((IfcParse::entity*)IFC4_types[996]); } Ifc4::IfcStyleModel::IfcStyleModel(IfcEntityInstanceData&& e) : IfcRepresentation(std::move(e)) { } -Ifc4::IfcStyleModel::IfcStyleModel(::Ifc4::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4::IfcStyleModel::IfcStyleModel(::Ifc4::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcStyledItem -::Ifc4::IfcRepresentationItem* Ifc4::IfcStyledItem::Item() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcRepresentationItem>(true); } +::Ifc4::IfcRepresentationItem* Ifc4::IfcStyledItem::Item() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcRepresentationItem>(true); } void Ifc4::IfcStyledItem::setItem(::Ifc4::IfcRepresentationItem* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4::IfcStyleAssignmentSelect >::ptr Ifc4::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4::IfcStyleAssignmentSelect >(); } +aggregate_of< ::Ifc4::IfcStyleAssignmentSelect >::ptr Ifc4::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4::IfcStyleAssignmentSelect >(); } void Ifc4::IfcStyledItem::setStyles(aggregate_of< ::Ifc4::IfcStyleAssignmentSelect >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4::IfcStyledItem::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4::IfcStyledItem::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4::IfcStyledItem::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4::IfcStyledItem::declaration() const { return *((IfcParse::entity*)IFC4_types[994]); } const IfcParse::entity& Ifc4::IfcStyledItem::Class() { return *((IfcParse::entity*)IFC4_types[994]); } Ifc4::IfcStyledItem::IfcStyledItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4::IfcStyledItem::IfcStyledItem(::Ifc4::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4::IfcStyleAssignmentSelect >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4::IfcStyledItem::IfcStyledItem(::Ifc4::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4::IfcStyleAssignmentSelect >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcStyledRepresentation @@ -14573,37 +14573,37 @@ Ifc4::IfcStyledItem::IfcStyledItem(::Ifc4::IfcRepresentationItem* v1_Item, aggre const IfcParse::entity& Ifc4::IfcStyledRepresentation::declaration() const { return *((IfcParse::entity*)IFC4_types[995]); } const IfcParse::entity& Ifc4::IfcStyledRepresentation::Class() { return *((IfcParse::entity*)IFC4_types[995]); } Ifc4::IfcStyledRepresentation::IfcStyledRepresentation(IfcEntityInstanceData&& e) : IfcStyleModel(std::move(e)) { } -Ifc4::IfcStyledRepresentation::IfcStyledRepresentation(::Ifc4::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4::IfcRepresentationItem >::ptr v4_Items) : IfcStyleModel(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4::IfcStyledRepresentation::IfcStyledRepresentation(::Ifc4::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4::IfcRepresentationItem >::ptr v4_Items) : IfcStyleModel(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcSubContractResource -boost::optional< ::Ifc4::IfcSubContractResourceTypeEnum::Value > Ifc4::IfcSubContractResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4::IfcSubContractResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4::IfcSubContractResourceTypeEnum::Value > Ifc4::IfcSubContractResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4::IfcSubContractResource::setPredefinedType(boost::optional< ::Ifc4::IfcSubContractResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4::IfcSubContractResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4::IfcSubContractResource::declaration() const { return *((IfcParse::entity*)IFC4_types[997]); } const IfcParse::entity& Ifc4::IfcSubContractResource::Class() { return *((IfcParse::entity*)IFC4_types[997]); } Ifc4::IfcSubContractResource::IfcSubContractResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4::IfcSubContractResource::IfcSubContractResource(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4::IfcSubContractResource::IfcSubContractResource(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSubContractResourceType -::Ifc4::IfcSubContractResourceTypeEnum::Value Ifc4::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4::IfcSubContractResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4::IfcSubContractResourceTypeEnum::Value Ifc4::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4::IfcSubContractResourceType::setPredefinedType(::Ifc4::IfcSubContractResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4::IfcSubContractResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4::IfcSubContractResourceType::declaration() const { return *((IfcParse::entity*)IFC4_types[998]); } const IfcParse::entity& Ifc4::IfcSubContractResourceType::Class() { return *((IfcParse::entity*)IFC4_types[998]); } Ifc4::IfcSubContractResourceType::IfcSubContractResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4::IfcSubContractResourceType::IfcSubContractResourceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4::IfcSubContractResourceType::IfcSubContractResourceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcSubedge -::Ifc4::IfcEdge* Ifc4::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcEdge>(true); } +::Ifc4::IfcEdge* Ifc4::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcEdge>(true); } void Ifc4::IfcSubedge::setParentEdge(::Ifc4::IfcEdge* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4::IfcSubedge::declaration() const { return *((IfcParse::entity*)IFC4_types[1000]); } const IfcParse::entity& Ifc4::IfcSubedge::Class() { return *((IfcParse::entity*)IFC4_types[1000]); } Ifc4::IfcSubedge::IfcSubedge(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc4::IfcSubedge::IfcSubedge(::Ifc4::IfcVertex* v1_EdgeStart, ::Ifc4::IfcVertex* v2_EdgeEnd, ::Ifc4::IfcEdge* v3_ParentEdge) : IfcEdge(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ParentEdge ? v3_ParentEdge->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcSubedge::IfcSubedge(::Ifc4::IfcVertex* v1_EdgeStart, ::Ifc4::IfcVertex* v2_EdgeEnd, ::Ifc4::IfcEdge* v3_ParentEdge) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ParentEdge ? v3_ParentEdge->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurface @@ -14611,178 +14611,178 @@ Ifc4::IfcSubedge::IfcSubedge(::Ifc4::IfcVertex* v1_EdgeStart, ::Ifc4::IfcVertex* const IfcParse::entity& Ifc4::IfcSurface::declaration() const { return *((IfcParse::entity*)IFC4_types[1001]); } const IfcParse::entity& Ifc4::IfcSurface::Class() { return *((IfcParse::entity*)IFC4_types[1001]); } Ifc4::IfcSurface::IfcSurface(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4::IfcSurface::IfcSurface() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4::IfcSurface::IfcSurface() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcSurfaceCurve -::Ifc4::IfcCurve* Ifc4::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcCurve>(true); } +::Ifc4::IfcCurve* Ifc4::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcSurfaceCurve::setCurve3D(::Ifc4::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4::IfcPcurve >::ptr Ifc4::IfcSurfaceCurve::AssociatedGeometry() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4::IfcPcurve >(); } +aggregate_of< ::Ifc4::IfcPcurve >::ptr Ifc4::IfcSurfaceCurve::AssociatedGeometry() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4::IfcPcurve >(); } void Ifc4::IfcSurfaceCurve::setAssociatedGeometry(aggregate_of< ::Ifc4::IfcPcurve >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4::IfcPreferredSurfaceCurveRepresentation::Value Ifc4::IfcSurfaceCurve::MasterRepresentation() const { return ::Ifc4::IfcPreferredSurfaceCurveRepresentation::FromString(data_.get_attribute_value(2)); } +::Ifc4::IfcPreferredSurfaceCurveRepresentation::Value Ifc4::IfcSurfaceCurve::MasterRepresentation() const { return ::Ifc4::IfcPreferredSurfaceCurveRepresentation::FromString(get_attribute_value(2)); } void Ifc4::IfcSurfaceCurve::setMasterRepresentation(::Ifc4::IfcPreferredSurfaceCurveRepresentation::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4::IfcPreferredSurfaceCurveRepresentation::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4::IfcSurfaceCurve::declaration() const { return *((IfcParse::entity*)IFC4_types[1002]); } const IfcParse::entity& Ifc4::IfcSurfaceCurve::Class() { return *((IfcParse::entity*)IFC4_types[1002]); } Ifc4::IfcSurfaceCurve::IfcSurfaceCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4::IfcSurfaceCurve::IfcSurfaceCurve(::Ifc4::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } +Ifc4::IfcSurfaceCurve::IfcSurfaceCurve(::Ifc4::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcSurfaceCurveSweptAreaSolid -::Ifc4::IfcCurve* Ifc4::IfcSurfaceCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcCurve>(true); } +::Ifc4::IfcCurve* Ifc4::IfcSurfaceCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcSurfaceCurveSweptAreaSolid::setDirectrix(::Ifc4::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4::IfcSurfaceCurveSweptAreaSolid::StartParam() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4::IfcSurfaceCurveSweptAreaSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4::IfcSurfaceCurveSweptAreaSolid::setStartParam(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4::IfcSurfaceCurveSweptAreaSolid::EndParam() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4::IfcSurfaceCurveSweptAreaSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4::IfcSurfaceCurveSweptAreaSolid::setEndParam(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4::IfcSurface* Ifc4::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcSurface>(true); } +::Ifc4::IfcSurface* Ifc4::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcSurface>(true); } void Ifc4::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(::Ifc4::IfcSurface* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4::IfcSurfaceCurveSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4_types[1003]); } const IfcParse::entity& Ifc4::IfcSurfaceCurveSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4_types[1003]); } Ifc4::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(::Ifc4::IfcProfileDef* v1_SweptArea, ::Ifc4::IfcAxis2Placement3D* v2_Position, ::Ifc4::IfcCurve* v3_Directrix, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, ::Ifc4::IfcSurface* v6_ReferenceSurface) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }set_attribute_value(5, v6_ReferenceSurface ? v6_ReferenceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(::Ifc4::IfcProfileDef* v1_SweptArea, ::Ifc4::IfcAxis2Placement3D* v2_Position, ::Ifc4::IfcCurve* v3_Directrix, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, ::Ifc4::IfcSurface* v6_ReferenceSurface) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }set_attribute_value(5, v6_ReferenceSurface ? v6_ReferenceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceFeature -boost::optional< ::Ifc4::IfcSurfaceFeatureTypeEnum::Value > Ifc4::IfcSurfaceFeature::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcSurfaceFeatureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcSurfaceFeatureTypeEnum::Value > Ifc4::IfcSurfaceFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcSurfaceFeatureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcSurfaceFeature::setPredefinedType(boost::optional< ::Ifc4::IfcSurfaceFeatureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcSurfaceFeatureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcSurfaceFeature::declaration() const { return *((IfcParse::entity*)IFC4_types[1004]); } const IfcParse::entity& Ifc4::IfcSurfaceFeature::Class() { return *((IfcParse::entity*)IFC4_types[1004]); } Ifc4::IfcSurfaceFeature::IfcSurfaceFeature(IfcEntityInstanceData&& e) : IfcFeatureElement(std::move(e)) { } -Ifc4::IfcSurfaceFeature::IfcSurfaceFeature(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcSurfaceFeature::IfcSurfaceFeature(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSurfaceOfLinearExtrusion -::Ifc4::IfcDirection* Ifc4::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcDirection>(true); } +::Ifc4::IfcDirection* Ifc4::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcSurfaceOfLinearExtrusion::setExtrudedDirection(::Ifc4::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4::IfcSurfaceOfLinearExtrusion::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4::IfcSurfaceOfLinearExtrusion::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4::IfcSurfaceOfLinearExtrusion::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4::IfcSurfaceOfLinearExtrusion::declaration() const { return *((IfcParse::entity*)IFC4_types[1006]); } const IfcParse::entity& Ifc4::IfcSurfaceOfLinearExtrusion::Class() { return *((IfcParse::entity*)IFC4_types[1006]); } Ifc4::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(IfcEntityInstanceData&& e) : IfcSweptSurface(std::move(e)) { } -Ifc4::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(::Ifc4::IfcProfileDef* v1_SweptCurve, ::Ifc4::IfcAxis2Placement3D* v2_Position, ::Ifc4::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } +Ifc4::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(::Ifc4::IfcProfileDef* v1_SweptCurve, ::Ifc4::IfcAxis2Placement3D* v2_Position, ::Ifc4::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } // Function implementations for IfcSurfaceOfRevolution -::Ifc4::IfcAxis1Placement* Ifc4::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcAxis1Placement>(true); } +::Ifc4::IfcAxis1Placement* Ifc4::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcAxis1Placement>(true); } void Ifc4::IfcSurfaceOfRevolution::setAxisPosition(::Ifc4::IfcAxis1Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4::IfcSurfaceOfRevolution::declaration() const { return *((IfcParse::entity*)IFC4_types[1007]); } const IfcParse::entity& Ifc4::IfcSurfaceOfRevolution::Class() { return *((IfcParse::entity*)IFC4_types[1007]); } Ifc4::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(IfcEntityInstanceData&& e) : IfcSweptSurface(std::move(e)) { } -Ifc4::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(::Ifc4::IfcProfileDef* v1_SweptCurve, ::Ifc4::IfcAxis2Placement3D* v2_Position, ::Ifc4::IfcAxis1Placement* v3_AxisPosition) : IfcSweptSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_AxisPosition ? v3_AxisPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(::Ifc4::IfcProfileDef* v1_SweptCurve, ::Ifc4::IfcAxis2Placement3D* v2_Position, ::Ifc4::IfcAxis1Placement* v3_AxisPosition) : IfcSweptSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_AxisPosition ? v3_AxisPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceReinforcementArea -boost::optional< std::vector< double > /*[2:3]*/ > Ifc4::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< double > /*[2:3]*/ > Ifc4::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } void Ifc4::IfcSurfaceReinforcementArea::setSurfaceReinforcement1(boost::optional< std::vector< double > /*[2:3]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::vector< double > /*[2:3]*/ > Ifc4::IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< double > /*[2:3]*/ > Ifc4::IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = get_attribute_value(2); return v; } void Ifc4::IfcSurfaceReinforcementArea::setSurfaceReinforcement2(boost::optional< std::vector< double > /*[2:3]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4::IfcSurfaceReinforcementArea::ShearReinforcement() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4::IfcSurfaceReinforcementArea::ShearReinforcement() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4::IfcSurfaceReinforcementArea::setShearReinforcement(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4::IfcSurfaceReinforcementArea::declaration() const { return *((IfcParse::entity*)IFC4_types[1009]); } const IfcParse::entity& Ifc4::IfcSurfaceReinforcementArea::Class() { return *((IfcParse::entity*)IFC4_types[1009]); } Ifc4::IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(IfcEntityInstanceData&& e) : IfcStructuralLoadOrResult(std::move(e)) { } -Ifc4::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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); }; populate_derived(); } +Ifc4::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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); }; populate_derived(); } // Function implementations for IfcSurfaceStyle -::Ifc4::IfcSurfaceSide::Value Ifc4::IfcSurfaceStyle::Side() const { return ::Ifc4::IfcSurfaceSide::FromString(data_.get_attribute_value(1)); } +::Ifc4::IfcSurfaceSide::Value Ifc4::IfcSurfaceStyle::Side() const { return ::Ifc4::IfcSurfaceSide::FromString(get_attribute_value(1)); } void Ifc4::IfcSurfaceStyle::setSide(::Ifc4::IfcSurfaceSide::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4::IfcSurfaceSide::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4::IfcSurfaceStyleElementSelect >::ptr Ifc4::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4::IfcSurfaceStyleElementSelect >(); } +aggregate_of< ::Ifc4::IfcSurfaceStyleElementSelect >::ptr Ifc4::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4::IfcSurfaceStyleElementSelect >(); } void Ifc4::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4::IfcSurfaceStyleElementSelect >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4::IfcSurfaceStyle::declaration() const { return *((IfcParse::entity*)IFC4_types[1011]); } const IfcParse::entity& Ifc4::IfcSurfaceStyle::Class() { return *((IfcParse::entity*)IFC4_types[1011]); } Ifc4::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (EnumerationReference(&::Ifc4::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, (v3_Styles)->generalize());; populate_derived(); } +Ifc4::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (EnumerationReference(&::Ifc4::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, (v3_Styles)->generalize());; populate_derived(); } // Function implementations for IfcSurfaceStyleLighting -::Ifc4::IfcColourRgb* Ifc4::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcColourRgb>(true); } +::Ifc4::IfcColourRgb* Ifc4::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcColourRgb>(true); } void Ifc4::IfcSurfaceStyleLighting::setDiffuseTransmissionColour(::Ifc4::IfcColourRgb* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcColourRgb* Ifc4::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcColourRgb>(true); } +::Ifc4::IfcColourRgb* Ifc4::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcColourRgb>(true); } void Ifc4::IfcSurfaceStyleLighting::setDiffuseReflectionColour(::Ifc4::IfcColourRgb* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4::IfcColourRgb* Ifc4::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcColourRgb>(true); } +::Ifc4::IfcColourRgb* Ifc4::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcColourRgb>(true); } void Ifc4::IfcSurfaceStyleLighting::setTransmissionColour(::Ifc4::IfcColourRgb* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcColourRgb* Ifc4::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4::IfcColourRgb>(true); } +::Ifc4::IfcColourRgb* Ifc4::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4::IfcColourRgb>(true); } void Ifc4::IfcSurfaceStyleLighting::setReflectanceColour(::Ifc4::IfcColourRgb* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4::IfcSurfaceStyleLighting::declaration() const { return *((IfcParse::entity*)IFC4_types[1013]); } const IfcParse::entity& Ifc4::IfcSurfaceStyleLighting::Class() { return *((IfcParse::entity*)IFC4_types[1013]); } Ifc4::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(::Ifc4::IfcColourRgb* v1_DiffuseTransmissionColour, ::Ifc4::IfcColourRgb* v2_DiffuseReflectionColour, ::Ifc4::IfcColourRgb* v3_TransmissionColour, ::Ifc4::IfcColourRgb* v4_ReflectanceColour) : IfcPresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_DiffuseTransmissionColour ? v1_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_DiffuseReflectionColour ? v2_DiffuseReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TransmissionColour ? v3_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_ReflectanceColour ? v4_ReflectanceColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(::Ifc4::IfcColourRgb* v1_DiffuseTransmissionColour, ::Ifc4::IfcColourRgb* v2_DiffuseReflectionColour, ::Ifc4::IfcColourRgb* v3_TransmissionColour, ::Ifc4::IfcColourRgb* v4_ReflectanceColour) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_DiffuseTransmissionColour ? v1_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_DiffuseReflectionColour ? v2_DiffuseReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TransmissionColour ? v3_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_ReflectanceColour ? v4_ReflectanceColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceStyleRefraction -boost::optional< double > Ifc4::IfcSurfaceStyleRefraction::RefractionIndex() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } double v = data_.get_attribute_value(0); return v; } +boost::optional< double > Ifc4::IfcSurfaceStyleRefraction::RefractionIndex() const { if(get_attribute_value(0).isNull()) { return boost::none; } double v = get_attribute_value(0); return v; } void Ifc4::IfcSurfaceStyleRefraction::setRefractionIndex(boost::optional< double > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< double > Ifc4::IfcSurfaceStyleRefraction::DispersionFactor() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4::IfcSurfaceStyleRefraction::DispersionFactor() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4::IfcSurfaceStyleRefraction::setDispersionFactor(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4::IfcSurfaceStyleRefraction::declaration() const { return *((IfcParse::entity*)IFC4_types[1014]); } const IfcParse::entity& Ifc4::IfcSurfaceStyleRefraction::Class() { return *((IfcParse::entity*)IFC4_types[1014]); } Ifc4::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; populate_derived(); } +Ifc4::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; populate_derived(); } // Function implementations for IfcSurfaceStyleRendering -::Ifc4::IfcColourOrFactor* Ifc4::IfcSurfaceStyleRendering::DiffuseColour() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcColourOrFactor>(true); } +::Ifc4::IfcColourOrFactor* Ifc4::IfcSurfaceStyleRendering::DiffuseColour() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcColourOrFactor>(true); } void Ifc4::IfcSurfaceStyleRendering::setDiffuseColour(::Ifc4::IfcColourOrFactor* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcColourOrFactor* Ifc4::IfcSurfaceStyleRendering::TransmissionColour() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4::IfcColourOrFactor>(true); } +::Ifc4::IfcColourOrFactor* Ifc4::IfcSurfaceStyleRendering::TransmissionColour() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4::IfcColourOrFactor>(true); } void Ifc4::IfcSurfaceStyleRendering::setTransmissionColour(::Ifc4::IfcColourOrFactor* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4::IfcColourOrFactor* Ifc4::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4::IfcColourOrFactor>(true); } +::Ifc4::IfcColourOrFactor* Ifc4::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4::IfcColourOrFactor>(true); } void Ifc4::IfcSurfaceStyleRendering::setDiffuseTransmissionColour(::Ifc4::IfcColourOrFactor* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcColourOrFactor* Ifc4::IfcSurfaceStyleRendering::ReflectionColour() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcColourOrFactor>(true); } +::Ifc4::IfcColourOrFactor* Ifc4::IfcSurfaceStyleRendering::ReflectionColour() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcColourOrFactor>(true); } void Ifc4::IfcSurfaceStyleRendering::setReflectionColour(::Ifc4::IfcColourOrFactor* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4::IfcColourOrFactor* Ifc4::IfcSurfaceStyleRendering::SpecularColour() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4::IfcColourOrFactor>(true); } +::Ifc4::IfcColourOrFactor* Ifc4::IfcSurfaceStyleRendering::SpecularColour() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4::IfcColourOrFactor>(true); } void Ifc4::IfcSurfaceStyleRendering::setSpecularColour(::Ifc4::IfcColourOrFactor* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4::IfcSpecularHighlightSelect* Ifc4::IfcSurfaceStyleRendering::SpecularHighlight() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4::IfcSpecularHighlightSelect>(true); } +::Ifc4::IfcSpecularHighlightSelect* Ifc4::IfcSurfaceStyleRendering::SpecularHighlight() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4::IfcSpecularHighlightSelect>(true); } void Ifc4::IfcSurfaceStyleRendering::setSpecularHighlight(::Ifc4::IfcSpecularHighlightSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4::IfcReflectanceMethodEnum::Value Ifc4::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4::IfcReflectanceMethodEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4::IfcReflectanceMethodEnum::Value Ifc4::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4::IfcReflectanceMethodEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcSurfaceStyleRendering::setReflectanceMethod(::Ifc4::IfcReflectanceMethodEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4::IfcReflectanceMethodEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4::IfcSurfaceStyleRendering::declaration() const { return *((IfcParse::entity*)IFC4_types[1015]); } const IfcParse::entity& Ifc4::IfcSurfaceStyleRendering::Class() { return *((IfcParse::entity*)IFC4_types[1015]); } Ifc4::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcEntityInstanceData&& e) : IfcSurfaceStyleShading(std::move(e)) { } -Ifc4::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc4::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, ::Ifc4::IfcColourOrFactor* v3_DiffuseColour, ::Ifc4::IfcColourOrFactor* v4_TransmissionColour, ::Ifc4::IfcColourOrFactor* v5_DiffuseTransmissionColour, ::Ifc4::IfcColourOrFactor* v6_ReflectionColour, ::Ifc4::IfcColourOrFactor* v7_SpecularColour, ::Ifc4::IfcSpecularHighlightSelect* v8_SpecularHighlight, ::Ifc4::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) : IfcSurfaceStyleShading(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, v3_DiffuseColour ? v3_DiffuseColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TransmissionColour ? v4_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_DiffuseTransmissionColour ? v5_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReflectionColour ? v6_ReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_SpecularColour ? v7_SpecularColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_SpecularHighlight ? v8_SpecularHighlight->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; populate_derived(); } +Ifc4::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc4::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, ::Ifc4::IfcColourOrFactor* v3_DiffuseColour, ::Ifc4::IfcColourOrFactor* v4_TransmissionColour, ::Ifc4::IfcColourOrFactor* v5_DiffuseTransmissionColour, ::Ifc4::IfcColourOrFactor* v6_ReflectionColour, ::Ifc4::IfcColourOrFactor* v7_SpecularColour, ::Ifc4::IfcSpecularHighlightSelect* v8_SpecularHighlight, ::Ifc4::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) : IfcSurfaceStyleShading(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, v3_DiffuseColour ? v3_DiffuseColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TransmissionColour ? v4_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_DiffuseTransmissionColour ? v5_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReflectionColour ? v6_ReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_SpecularColour ? v7_SpecularColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_SpecularHighlight ? v8_SpecularHighlight->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; populate_derived(); } // Function implementations for IfcSurfaceStyleShading -::Ifc4::IfcColourRgb* Ifc4::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcColourRgb>(true); } +::Ifc4::IfcColourRgb* Ifc4::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcColourRgb>(true); } void Ifc4::IfcSurfaceStyleShading::setSurfaceColour(::Ifc4::IfcColourRgb* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< double > Ifc4::IfcSurfaceStyleShading::Transparency() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4::IfcSurfaceStyleShading::Transparency() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4::IfcSurfaceStyleShading::setTransparency(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4::IfcSurfaceStyleShading::declaration() const { return *((IfcParse::entity*)IFC4_types[1016]); } const IfcParse::entity& Ifc4::IfcSurfaceStyleShading::Class() { return *((IfcParse::entity*)IFC4_types[1016]); } Ifc4::IfcSurfaceStyleShading::IfcSurfaceStyleShading(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4::IfcSurfaceStyleShading::IfcSurfaceStyleShading(::Ifc4::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }; populate_derived(); } +Ifc4::IfcSurfaceStyleShading::IfcSurfaceStyleShading(::Ifc4::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }; populate_derived(); } // Function implementations for IfcSurfaceStyleWithTextures -aggregate_of< ::Ifc4::IfcSurfaceTexture >::ptr Ifc4::IfcSurfaceStyleWithTextures::Textures() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4::IfcSurfaceTexture >(); } +aggregate_of< ::Ifc4::IfcSurfaceTexture >::ptr Ifc4::IfcSurfaceStyleWithTextures::Textures() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4::IfcSurfaceTexture >(); } void Ifc4::IfcSurfaceStyleWithTextures::setTextures(aggregate_of< ::Ifc4::IfcSurfaceTexture >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4::IfcSurfaceStyleWithTextures::declaration() const { return *((IfcParse::entity*)IFC4_types[1017]); } const IfcParse::entity& Ifc4::IfcSurfaceStyleWithTextures::Class() { return *((IfcParse::entity*)IFC4_types[1017]); } Ifc4::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(aggregate_of< ::Ifc4::IfcSurfaceTexture >::ptr v1_Textures) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Textures)->generalize());; populate_derived(); } +Ifc4::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(aggregate_of< ::Ifc4::IfcSurfaceTexture >::ptr v1_Textures) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Textures)->generalize());; populate_derived(); } // Function implementations for IfcSurfaceTexture -bool Ifc4::IfcSurfaceTexture::RepeatS() const { bool v = data_.get_attribute_value(0); return v; } +bool Ifc4::IfcSurfaceTexture::RepeatS() const { bool v = get_attribute_value(0); return v; } void Ifc4::IfcSurfaceTexture::setRepeatS(bool v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -bool Ifc4::IfcSurfaceTexture::RepeatT() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4::IfcSurfaceTexture::RepeatT() const { bool v = get_attribute_value(1); return v; } void Ifc4::IfcSurfaceTexture::setRepeatT(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4::IfcSurfaceTexture::Mode() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4::IfcSurfaceTexture::Mode() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4::IfcSurfaceTexture::setMode(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4::IfcCartesianTransformationOperator2D* Ifc4::IfcSurfaceTexture::TextureTransform() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4::IfcCartesianTransformationOperator2D>(true); } +::Ifc4::IfcCartesianTransformationOperator2D* Ifc4::IfcSurfaceTexture::TextureTransform() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4::IfcCartesianTransformationOperator2D>(true); } void Ifc4::IfcSurfaceTexture::setTextureTransform(::Ifc4::IfcCartesianTransformationOperator2D* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcSurfaceTexture::Parameter() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcSurfaceTexture::Parameter() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } ::Ifc4::IfcTextureCoordinate::list::ptr Ifc4::IfcSurfaceTexture::IsMappedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[1066], 0)->as(); } @@ -14791,79 +14791,79 @@ void Ifc4::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std::st const IfcParse::entity& Ifc4::IfcSurfaceTexture::declaration() const { return *((IfcParse::entity*)IFC4_types[1018]); } const IfcParse::entity& Ifc4::IfcSurfaceTexture::Class() { return *((IfcParse::entity*)IFC4_types[1018]); } Ifc4::IfcSurfaceTexture::IfcSurfaceTexture(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4::IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) : IfcPresentationItem(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }; populate_derived(); } +Ifc4::IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }; populate_derived(); } // Function implementations for IfcSweptAreaSolid -::Ifc4::IfcProfileDef* Ifc4::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcProfileDef>(true); } +::Ifc4::IfcProfileDef* Ifc4::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcProfileDef>(true); } void Ifc4::IfcSweptAreaSolid::setSweptArea(::Ifc4::IfcProfileDef* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcAxis2Placement3D* Ifc4::IfcSweptAreaSolid::Position() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcAxis2Placement3D>(true); } +::Ifc4::IfcAxis2Placement3D* Ifc4::IfcSweptAreaSolid::Position() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcAxis2Placement3D>(true); } void Ifc4::IfcSweptAreaSolid::setPosition(::Ifc4::IfcAxis2Placement3D* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4_types[1019]); } const IfcParse::entity& Ifc4::IfcSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4_types[1019]); } Ifc4::IfcSweptAreaSolid::IfcSweptAreaSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4::IfcSweptAreaSolid::IfcSweptAreaSolid(::Ifc4::IfcProfileDef* v1_SweptArea, ::Ifc4::IfcAxis2Placement3D* v2_Position) : IfcSolidModel(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcSweptAreaSolid::IfcSweptAreaSolid(::Ifc4::IfcProfileDef* v1_SweptArea, ::Ifc4::IfcAxis2Placement3D* v2_Position) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSweptDiskSolid -::Ifc4::IfcCurve* Ifc4::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcCurve>(true); } +::Ifc4::IfcCurve* Ifc4::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcSweptDiskSolid::setDirectrix(::Ifc4::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4::IfcSweptDiskSolid::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4::IfcSweptDiskSolid::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4::IfcSweptDiskSolid::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4::IfcSweptDiskSolid::InnerRadius() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4::IfcSweptDiskSolid::InnerRadius() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4::IfcSweptDiskSolid::setInnerRadius(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4::IfcSweptDiskSolid::StartParam() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4::IfcSweptDiskSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4::IfcSweptDiskSolid::setStartParam(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4::IfcSweptDiskSolid::EndParam() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4::IfcSweptDiskSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4::IfcSweptDiskSolid::setEndParam(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4::IfcSweptDiskSolid::declaration() const { return *((IfcParse::entity*)IFC4_types[1020]); } const IfcParse::entity& Ifc4::IfcSweptDiskSolid::Class() { return *((IfcParse::entity*)IFC4_types[1020]); } Ifc4::IfcSweptDiskSolid::IfcSweptDiskSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4::IfcSweptDiskSolid::IfcSweptDiskSolid(::Ifc4::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam) : IfcSolidModel(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; populate_derived(); } +Ifc4::IfcSweptDiskSolid::IfcSweptDiskSolid(::Ifc4::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; populate_derived(); } // Function implementations for IfcSweptDiskSolidPolygonal -boost::optional< double > Ifc4::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4::IfcSweptDiskSolidPolygonal::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4::IfcSweptDiskSolidPolygonal::declaration() const { return *((IfcParse::entity*)IFC4_types[1021]); } const IfcParse::entity& Ifc4::IfcSweptDiskSolidPolygonal::Class() { return *((IfcParse::entity*)IFC4_types[1021]); } Ifc4::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(IfcEntityInstanceData&& e) : IfcSweptDiskSolid(std::move(e)) { } -Ifc4::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(::Ifc4::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, boost::optional< double > v6_FilletRadius) : IfcSweptDiskSolid(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); }; populate_derived(); } +Ifc4::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(::Ifc4::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, boost::optional< double > v6_FilletRadius) : IfcSweptDiskSolid(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); }; populate_derived(); } // Function implementations for IfcSweptSurface -::Ifc4::IfcProfileDef* Ifc4::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcProfileDef>(true); } +::Ifc4::IfcProfileDef* Ifc4::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcProfileDef>(true); } void Ifc4::IfcSweptSurface::setSweptCurve(::Ifc4::IfcProfileDef* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcAxis2Placement3D* Ifc4::IfcSweptSurface::Position() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcAxis2Placement3D>(true); } +::Ifc4::IfcAxis2Placement3D* Ifc4::IfcSweptSurface::Position() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcAxis2Placement3D>(true); } void Ifc4::IfcSweptSurface::setPosition(::Ifc4::IfcAxis2Placement3D* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcSweptSurface::declaration() const { return *((IfcParse::entity*)IFC4_types[1022]); } const IfcParse::entity& Ifc4::IfcSweptSurface::Class() { return *((IfcParse::entity*)IFC4_types[1022]); } Ifc4::IfcSweptSurface::IfcSweptSurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4::IfcSweptSurface::IfcSweptSurface(::Ifc4::IfcProfileDef* v1_SweptCurve, ::Ifc4::IfcAxis2Placement3D* v2_Position) : IfcSurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcSweptSurface::IfcSweptSurface(::Ifc4::IfcProfileDef* v1_SweptCurve, ::Ifc4::IfcAxis2Placement3D* v2_Position) : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSwitchingDevice -boost::optional< ::Ifc4::IfcSwitchingDeviceTypeEnum::Value > Ifc4::IfcSwitchingDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcSwitchingDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcSwitchingDeviceTypeEnum::Value > Ifc4::IfcSwitchingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcSwitchingDevice::setPredefinedType(boost::optional< ::Ifc4::IfcSwitchingDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcSwitchingDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcSwitchingDevice::declaration() const { return *((IfcParse::entity*)IFC4_types[1023]); } const IfcParse::entity& Ifc4::IfcSwitchingDevice::Class() { return *((IfcParse::entity*)IFC4_types[1023]); } Ifc4::IfcSwitchingDevice::IfcSwitchingDevice(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4::IfcSwitchingDevice::IfcSwitchingDevice(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcSwitchingDevice::IfcSwitchingDevice(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSwitchingDeviceType -::Ifc4::IfcSwitchingDeviceTypeEnum::Value Ifc4::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4::IfcSwitchingDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcSwitchingDeviceTypeEnum::Value Ifc4::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcSwitchingDeviceType::setPredefinedType(::Ifc4::IfcSwitchingDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcSwitchingDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcSwitchingDeviceType::declaration() const { return *((IfcParse::entity*)IFC4_types[1024]); } const IfcParse::entity& Ifc4::IfcSwitchingDeviceType::Class() { return *((IfcParse::entity*)IFC4_types[1024]); } Ifc4::IfcSwitchingDeviceType::IfcSwitchingDeviceType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4::IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSystem @@ -14872,284 +14872,284 @@ Ifc4::IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4::IfcSystem::declaration() const { return *((IfcParse::entity*)IFC4_types[1026]); } const IfcParse::entity& Ifc4::IfcSystem::Class() { return *((IfcParse::entity*)IFC4_types[1026]); } Ifc4::IfcSystem::IfcSystem(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4::IfcSystem::IfcSystem(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcGroup(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc4::IfcSystem::IfcSystem(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcSystemFurnitureElement -boost::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > Ifc4::IfcSystemFurnitureElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcSystemFurnitureElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > Ifc4::IfcSystemFurnitureElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcSystemFurnitureElement::setPredefinedType(boost::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcSystemFurnitureElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcSystemFurnitureElement::declaration() const { return *((IfcParse::entity*)IFC4_types[1027]); } const IfcParse::entity& Ifc4::IfcSystemFurnitureElement::Class() { return *((IfcParse::entity*)IFC4_types[1027]); } Ifc4::IfcSystemFurnitureElement::IfcSystemFurnitureElement(IfcEntityInstanceData&& e) : IfcFurnishingElement(std::move(e)) { } -Ifc4::IfcSystemFurnitureElement::IfcSystemFurnitureElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcSystemFurnitureElement::IfcSystemFurnitureElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSystemFurnitureElementType -boost::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > Ifc4::IfcSystemFurnitureElementType::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4::IfcSystemFurnitureElementTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > Ifc4::IfcSystemFurnitureElementType::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcSystemFurnitureElementType::setPredefinedType(boost::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4::IfcSystemFurnitureElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4::IfcSystemFurnitureElementType::declaration() const { return *((IfcParse::entity*)IFC4_types[1028]); } const IfcParse::entity& Ifc4::IfcSystemFurnitureElementType::Class() { return *((IfcParse::entity*)IFC4_types[1028]); } Ifc4::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(IfcEntityInstanceData&& e) : IfcFurnishingElementType(std::move(e)) { } -Ifc4::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< ::Ifc4::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTShapeProfileDef -double Ifc4::IfcTShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4::IfcTShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4::IfcTShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4::IfcTShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4::IfcTShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc4::IfcTShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4::IfcTShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4::IfcTShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4::IfcTShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4::IfcTShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4::IfcTShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4::IfcTShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4::IfcTShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4::IfcTShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4::IfcTShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4::IfcTShapeProfileDef::FlangeEdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4::IfcTShapeProfileDef::FlangeEdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4::IfcTShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4::IfcTShapeProfileDef::WebEdgeRadius() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4::IfcTShapeProfileDef::WebEdgeRadius() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4::IfcTShapeProfileDef::setWebEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4::IfcTShapeProfileDef::WebSlope() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4::IfcTShapeProfileDef::WebSlope() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4::IfcTShapeProfileDef::setWebSlope(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4::IfcTShapeProfileDef::FlangeSlope() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4::IfcTShapeProfileDef::FlangeSlope() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4::IfcTShapeProfileDef::setFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4::IfcTShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4_types[1102]); } const IfcParse::entity& Ifc4::IfcTShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4_types[1102]); } Ifc4::IfcTShapeProfileDef::IfcTShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4::IfcTShapeProfileDef::IfcTShapeProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::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(storage_t(12))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); }; populate_derived(); } +Ifc4::IfcTShapeProfileDef::IfcTShapeProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::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(in_memory_attribute_storage(12))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); }; populate_derived(); } // Function implementations for IfcTable -boost::optional< std::string > Ifc4::IfcTable::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4::IfcTable::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4::IfcTable::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< aggregate_of< ::Ifc4::IfcTableRow >::ptr > Ifc4::IfcTable::Rows() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4::IfcTableRow >(); } +boost::optional< aggregate_of< ::Ifc4::IfcTableRow >::ptr > Ifc4::IfcTable::Rows() const { if(get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4::IfcTableRow >(); } void Ifc4::IfcTable::setRows(boost::optional< aggregate_of< ::Ifc4::IfcTableRow >::ptr > v) { if (v) {set_attribute_value(1, (*v)->generalize());} else {unset_attribute_value(1);} } -boost::optional< aggregate_of< ::Ifc4::IfcTableColumn >::ptr > Ifc4::IfcTable::Columns() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4::IfcTableColumn >(); } +boost::optional< aggregate_of< ::Ifc4::IfcTableColumn >::ptr > Ifc4::IfcTable::Columns() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4::IfcTableColumn >(); } void Ifc4::IfcTable::setColumns(boost::optional< aggregate_of< ::Ifc4::IfcTableColumn >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4::IfcTable::declaration() const { return *((IfcParse::entity*)IFC4_types[1030]); } const IfcParse::entity& Ifc4::IfcTable::Class() { return *((IfcParse::entity*)IFC4_types[1030]); } Ifc4::IfcTable::IfcTable(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcTable::IfcTable(boost::optional< std::string > v1_Name, boost::optional< aggregate_of< ::Ifc4::IfcTableRow >::ptr > v2_Rows, boost::optional< aggregate_of< ::Ifc4::IfcTableColumn >::ptr > v3_Columns) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, (*v2_Rows)->generalize()); } if (v3_Columns) {set_attribute_value(2, (*v3_Columns)->generalize()); }; populate_derived(); } +Ifc4::IfcTable::IfcTable(boost::optional< std::string > v1_Name, boost::optional< aggregate_of< ::Ifc4::IfcTableRow >::ptr > v2_Rows, boost::optional< aggregate_of< ::Ifc4::IfcTableColumn >::ptr > v3_Columns) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, (*v2_Rows)->generalize()); } if (v3_Columns) {set_attribute_value(2, (*v3_Columns)->generalize()); }; populate_derived(); } // Function implementations for IfcTableColumn -boost::optional< std::string > Ifc4::IfcTableColumn::Identifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4::IfcTableColumn::Identifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4::IfcTableColumn::setIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4::IfcTableColumn::Name() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4::IfcTableColumn::Name() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcTableColumn::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4::IfcTableColumn::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4::IfcTableColumn::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4::IfcTableColumn::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4::IfcUnit* Ifc4::IfcTableColumn::Unit() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4::IfcUnit>(true); } +::Ifc4::IfcUnit* Ifc4::IfcTableColumn::Unit() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcTableColumn::setUnit(::Ifc4::IfcUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4::IfcReference* Ifc4::IfcTableColumn::ReferencePath() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4::IfcReference>(true); } +::Ifc4::IfcReference* Ifc4::IfcTableColumn::ReferencePath() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4::IfcReference>(true); } void Ifc4::IfcTableColumn::setReferencePath(::Ifc4::IfcReference* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4::IfcTableColumn::declaration() const { return *((IfcParse::entity*)IFC4_types[1031]); } const IfcParse::entity& Ifc4::IfcTableColumn::Class() { return *((IfcParse::entity*)IFC4_types[1031]); } Ifc4::IfcTableColumn::IfcTableColumn(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4::IfcUnit* v4_Unit, ::Ifc4::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ReferencePath ? v5_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4::IfcUnit* v4_Unit, ::Ifc4::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ReferencePath ? v5_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTableRow -boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > Ifc4::IfcTableRow::RowCells() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > Ifc4::IfcTableRow::RowCells() const { if(get_attribute_value(0).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4::IfcValue >(); } void Ifc4::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v) { if (v) {set_attribute_value(0, (*v)->generalize());} else {unset_attribute_value(0);} } -boost::optional< bool > Ifc4::IfcTableRow::IsHeading() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } bool v = data_.get_attribute_value(1); return v; } +boost::optional< bool > Ifc4::IfcTableRow::IsHeading() const { if(get_attribute_value(1).isNull()) { return boost::none; } bool v = get_attribute_value(1); return v; } void Ifc4::IfcTableRow::setIsHeading(boost::optional< bool > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4::IfcTableRow::declaration() const { return *((IfcParse::entity*)IFC4_types[1032]); } const IfcParse::entity& Ifc4::IfcTableRow::Class() { return *((IfcParse::entity*)IFC4_types[1032]); } Ifc4::IfcTableRow::IfcTableRow(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_RowCells) {set_attribute_value(0, (*v1_RowCells)->generalize()); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); }; populate_derived(); } +Ifc4::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_RowCells) {set_attribute_value(0, (*v1_RowCells)->generalize()); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); }; populate_derived(); } // Function implementations for IfcTank -boost::optional< ::Ifc4::IfcTankTypeEnum::Value > Ifc4::IfcTank::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcTankTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcTankTypeEnum::Value > Ifc4::IfcTank::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcTankTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcTank::setPredefinedType(boost::optional< ::Ifc4::IfcTankTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcTankTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcTank::declaration() const { return *((IfcParse::entity*)IFC4_types[1033]); } const IfcParse::entity& Ifc4::IfcTank::Class() { return *((IfcParse::entity*)IFC4_types[1033]); } Ifc4::IfcTank::IfcTank(IfcEntityInstanceData&& e) : IfcFlowStorageDevice(std::move(e)) { } -Ifc4::IfcTank::IfcTank(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcTankTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcTank::IfcTank(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcTankTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTankType -::Ifc4::IfcTankTypeEnum::Value Ifc4::IfcTankType::PredefinedType() const { return ::Ifc4::IfcTankTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcTankTypeEnum::Value Ifc4::IfcTankType::PredefinedType() const { return ::Ifc4::IfcTankTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcTankType::setPredefinedType(::Ifc4::IfcTankTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcTankTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcTankType::declaration() const { return *((IfcParse::entity*)IFC4_types[1034]); } const IfcParse::entity& Ifc4::IfcTankType::Class() { return *((IfcParse::entity*)IFC4_types[1034]); } Ifc4::IfcTankType::IfcTankType(IfcEntityInstanceData&& e) : IfcFlowStorageDeviceType(std::move(e)) { } -Ifc4::IfcTankType::IfcTankType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcTankTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcTankType::IfcTankType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcTankTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTask -boost::optional< std::string > Ifc4::IfcTask::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4::IfcTask::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4::IfcTask::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4::IfcTask::WorkMethod() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4::IfcTask::WorkMethod() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4::IfcTask::setWorkMethod(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -bool Ifc4::IfcTask::IsMilestone() const { bool v = data_.get_attribute_value(9); return v; } +bool Ifc4::IfcTask::IsMilestone() const { bool v = get_attribute_value(9); return v; } void Ifc4::IfcTask::setIsMilestone(bool v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -boost::optional< int > Ifc4::IfcTask::Priority() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } int v = data_.get_attribute_value(10); return v; } +boost::optional< int > Ifc4::IfcTask::Priority() const { if(get_attribute_value(10).isNull()) { return boost::none; } int v = get_attribute_value(10); return v; } void Ifc4::IfcTask::setPriority(boost::optional< int > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4::IfcTaskTime* Ifc4::IfcTask::TaskTime() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc4::IfcTaskTime>(true); } +::Ifc4::IfcTaskTime* Ifc4::IfcTask::TaskTime() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc4::IfcTaskTime>(true); } void Ifc4::IfcTask::setTaskTime(::Ifc4::IfcTaskTime* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } -boost::optional< ::Ifc4::IfcTaskTypeEnum::Value > Ifc4::IfcTask::PredefinedType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4::IfcTaskTypeEnum::FromString(data_.get_attribute_value(12)); } +boost::optional< ::Ifc4::IfcTaskTypeEnum::Value > Ifc4::IfcTask::PredefinedType() const { if(get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4::IfcTaskTypeEnum::FromString(get_attribute_value(12)); } void Ifc4::IfcTask::setPredefinedType(boost::optional< ::Ifc4::IfcTaskTypeEnum::Value > v) { if (v) {set_attribute_value(12, EnumerationReference(&::Ifc4::IfcTaskTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4::IfcTask::declaration() const { return *((IfcParse::entity*)IFC4_types[1036]); } const IfcParse::entity& Ifc4::IfcTask::Class() { return *((IfcParse::entity*)IFC4_types[1036]); } Ifc4::IfcTask::IfcTask(IfcEntityInstanceData&& e) : IfcProcess(std::move(e)) { } -Ifc4::IfcTask::IfcTask(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, boost::optional< int > v11_Priority, ::Ifc4::IfcTaskTime* v12_TaskTime, boost::optional< ::Ifc4::IfcTaskTypeEnum::Value > v13_PredefinedType) : IfcProcess(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, v12_TaskTime ? v12_TaskTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } +Ifc4::IfcTask::IfcTask(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, boost::optional< int > v11_Priority, ::Ifc4::IfcTaskTime* v12_TaskTime, boost::optional< ::Ifc4::IfcTaskTypeEnum::Value > v13_PredefinedType) : IfcProcess(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, v12_TaskTime ? v12_TaskTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTaskTime -boost::optional< ::Ifc4::IfcTaskDurationEnum::Value > Ifc4::IfcTaskTime::DurationType() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4::IfcTaskDurationEnum::FromString(data_.get_attribute_value(3)); } +boost::optional< ::Ifc4::IfcTaskDurationEnum::Value > Ifc4::IfcTaskTime::DurationType() const { if(get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4::IfcTaskDurationEnum::FromString(get_attribute_value(3)); } void Ifc4::IfcTaskTime::setDurationType(boost::optional< ::Ifc4::IfcTaskDurationEnum::Value > v) { if (v) {set_attribute_value(3, EnumerationReference(&::Ifc4::IfcTaskDurationEnum::Class(), (size_t) *v));} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4::IfcTaskTime::ScheduleDuration() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4::IfcTaskTime::ScheduleDuration() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcTaskTime::setScheduleDuration(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4::IfcTaskTime::ScheduleStart() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4::IfcTaskTime::ScheduleStart() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcTaskTime::setScheduleStart(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4::IfcTaskTime::ScheduleFinish() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4::IfcTaskTime::ScheduleFinish() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4::IfcTaskTime::setScheduleFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4::IfcTaskTime::EarlyStart() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4::IfcTaskTime::EarlyStart() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4::IfcTaskTime::setEarlyStart(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4::IfcTaskTime::EarlyFinish() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4::IfcTaskTime::EarlyFinish() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4::IfcTaskTime::setEarlyFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4::IfcTaskTime::LateStart() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4::IfcTaskTime::LateStart() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4::IfcTaskTime::setLateStart(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4::IfcTaskTime::LateFinish() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4::IfcTaskTime::LateFinish() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4::IfcTaskTime::setLateFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< std::string > Ifc4::IfcTaskTime::FreeFloat() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4::IfcTaskTime::FreeFloat() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4::IfcTaskTime::setFreeFloat(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4::IfcTaskTime::TotalFloat() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4::IfcTaskTime::TotalFloat() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4::IfcTaskTime::setTotalFloat(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< bool > Ifc4::IfcTaskTime::IsCritical() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } bool v = data_.get_attribute_value(13); return v; } +boost::optional< bool > Ifc4::IfcTaskTime::IsCritical() const { if(get_attribute_value(13).isNull()) { return boost::none; } bool v = get_attribute_value(13); return v; } void Ifc4::IfcTaskTime::setIsCritical(boost::optional< bool > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4::IfcTaskTime::StatusTime() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4::IfcTaskTime::StatusTime() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4::IfcTaskTime::setStatusTime(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< std::string > Ifc4::IfcTaskTime::ActualDuration() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(15); return v; } +boost::optional< std::string > Ifc4::IfcTaskTime::ActualDuration() const { if(get_attribute_value(15).isNull()) { return boost::none; } std::string v = get_attribute_value(15); return v; } void Ifc4::IfcTaskTime::setActualDuration(boost::optional< std::string > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< std::string > Ifc4::IfcTaskTime::ActualStart() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(16); return v; } +boost::optional< std::string > Ifc4::IfcTaskTime::ActualStart() const { if(get_attribute_value(16).isNull()) { return boost::none; } std::string v = get_attribute_value(16); return v; } void Ifc4::IfcTaskTime::setActualStart(boost::optional< std::string > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< std::string > Ifc4::IfcTaskTime::ActualFinish() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(17); return v; } +boost::optional< std::string > Ifc4::IfcTaskTime::ActualFinish() const { if(get_attribute_value(17).isNull()) { return boost::none; } std::string v = get_attribute_value(17); return v; } void Ifc4::IfcTaskTime::setActualFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } -boost::optional< std::string > Ifc4::IfcTaskTime::RemainingTime() const { if(data_.get_attribute_value(18).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(18); return v; } +boost::optional< std::string > Ifc4::IfcTaskTime::RemainingTime() const { if(get_attribute_value(18).isNull()) { return boost::none; } std::string v = get_attribute_value(18); return v; } void Ifc4::IfcTaskTime::setRemainingTime(boost::optional< std::string > v) { if (v) {set_attribute_value(18, *v);} else {unset_attribute_value(18);} } -boost::optional< double > Ifc4::IfcTaskTime::Completion() const { if(data_.get_attribute_value(19).isNull()) { return boost::none; } double v = data_.get_attribute_value(19); return v; } +boost::optional< double > Ifc4::IfcTaskTime::Completion() const { if(get_attribute_value(19).isNull()) { return boost::none; } double v = get_attribute_value(19); return v; } void Ifc4::IfcTaskTime::setCompletion(boost::optional< double > v) { if (v) {set_attribute_value(19, *v);} else {unset_attribute_value(19);} } const IfcParse::entity& Ifc4::IfcTaskTime::declaration() const { return *((IfcParse::entity*)IFC4_types[1038]); } const IfcParse::entity& Ifc4::IfcTaskTime::Class() { return *((IfcParse::entity*)IFC4_types[1038]); } Ifc4::IfcTaskTime::IfcTaskTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4::IfcTaskTime::IfcTaskTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4::IfcTaskDurationEnum::Value > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion) : IfcSchedulingTime(IfcEntityInstanceData(storage_t(20))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }; populate_derived(); } +Ifc4::IfcTaskTime::IfcTaskTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4::IfcTaskDurationEnum::Value > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion) : IfcSchedulingTime(IfcEntityInstanceData(in_memory_attribute_storage(20))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }; populate_derived(); } // Function implementations for IfcTaskTimeRecurring -::Ifc4::IfcRecurrencePattern* Ifc4::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(20)))->as<::Ifc4::IfcRecurrencePattern>(true); } +::Ifc4::IfcRecurrencePattern* Ifc4::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(20)))->as<::Ifc4::IfcRecurrencePattern>(true); } void Ifc4::IfcTaskTimeRecurring::setRecurrence(::Ifc4::IfcRecurrencePattern* v) { set_attribute_value(20, v->as());if constexpr (false)unset_attribute_value(20); } const IfcParse::entity& Ifc4::IfcTaskTimeRecurring::declaration() const { return *((IfcParse::entity*)IFC4_types[1039]); } const IfcParse::entity& Ifc4::IfcTaskTimeRecurring::Class() { return *((IfcParse::entity*)IFC4_types[1039]); } Ifc4::IfcTaskTimeRecurring::IfcTaskTimeRecurring(IfcEntityInstanceData&& e) : IfcTaskTime(std::move(e)) { } -Ifc4::IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4::IfcTaskDurationEnum::Value > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion, ::Ifc4::IfcRecurrencePattern* v21_Recurrence) : IfcTaskTime(IfcEntityInstanceData(storage_t(21))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, v21_Recurrence ? v21_Recurrence->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4::IfcTaskDurationEnum::Value > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion, ::Ifc4::IfcRecurrencePattern* v21_Recurrence) : IfcTaskTime(IfcEntityInstanceData(in_memory_attribute_storage(21))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, v21_Recurrence ? v21_Recurrence->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTaskType -::Ifc4::IfcTaskTypeEnum::Value Ifc4::IfcTaskType::PredefinedType() const { return ::Ifc4::IfcTaskTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcTaskTypeEnum::Value Ifc4::IfcTaskType::PredefinedType() const { return ::Ifc4::IfcTaskTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcTaskType::setPredefinedType(::Ifc4::IfcTaskTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcTaskTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4::IfcTaskType::WorkMethod() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4::IfcTaskType::WorkMethod() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4::IfcTaskType::setWorkMethod(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4::IfcTaskType::declaration() const { return *((IfcParse::entity*)IFC4_types[1040]); } const IfcParse::entity& Ifc4::IfcTaskType::Class() { return *((IfcParse::entity*)IFC4_types[1040]); } Ifc4::IfcTaskType::IfcTaskType(IfcEntityInstanceData&& e) : IfcTypeProcess(std::move(e)) { } -Ifc4::IfcTaskType::IfcTaskType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4::IfcTaskTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_WorkMethod) : IfcTypeProcess(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); }; populate_derived(); } +Ifc4::IfcTaskType::IfcTaskType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4::IfcTaskTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_WorkMethod) : IfcTypeProcess(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); }; populate_derived(); } // Function implementations for IfcTelecomAddress -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcTelecomAddress::TelephoneNumbers() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcTelecomAddress::TelephoneNumbers() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4::IfcTelecomAddress::setTelephoneNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcTelecomAddress::FacsimileNumbers() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcTelecomAddress::FacsimileNumbers() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4::IfcTelecomAddress::setFacsimileNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4::IfcTelecomAddress::PagerNumber() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4::IfcTelecomAddress::PagerNumber() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcTelecomAddress::setPagerNumber(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcTelecomAddress::ElectronicMailAddresses() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(6); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcTelecomAddress::ElectronicMailAddresses() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(6); return v; } void Ifc4::IfcTelecomAddress::setElectronicMailAddresses(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4::IfcTelecomAddress::WWWHomePageURL() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4::IfcTelecomAddress::WWWHomePageURL() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4::IfcTelecomAddress::setWWWHomePageURL(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcTelecomAddress::MessagingIDs() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(8); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4::IfcTelecomAddress::MessagingIDs() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(8); return v; } void Ifc4::IfcTelecomAddress::setMessagingIDs(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcTelecomAddress::declaration() const { return *((IfcParse::entity*)IFC4_types[1042]); } const IfcParse::entity& Ifc4::IfcTelecomAddress::Class() { return *((IfcParse::entity*)IFC4_types[1042]); } Ifc4::IfcTelecomAddress::IfcTelecomAddress(IfcEntityInstanceData&& e) : IfcAddress(std::move(e)) { } -Ifc4::IfcTelecomAddress::IfcTelecomAddress(boost::optional< ::Ifc4::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(storage_t(9))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); }; populate_derived(); } +Ifc4::IfcTelecomAddress::IfcTelecomAddress(boost::optional< ::Ifc4::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(in_memory_attribute_storage(9))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); }; populate_derived(); } // Function implementations for IfcTendon -boost::optional< ::Ifc4::IfcTendonTypeEnum::Value > Ifc4::IfcTendon::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4::IfcTendonTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4::IfcTendonTypeEnum::Value > Ifc4::IfcTendon::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcTendon::setPredefinedType(boost::optional< ::Ifc4::IfcTendonTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4::IfcTendonTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4::IfcTendon::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4::IfcTendon::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4::IfcTendon::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4::IfcTendon::CrossSectionArea() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4::IfcTendon::CrossSectionArea() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4::IfcTendon::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4::IfcTendon::TensionForce() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4::IfcTendon::TensionForce() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4::IfcTendon::setTensionForce(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4::IfcTendon::PreStress() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4::IfcTendon::PreStress() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4::IfcTendon::setPreStress(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4::IfcTendon::FrictionCoefficient() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4::IfcTendon::FrictionCoefficient() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4::IfcTendon::setFrictionCoefficient(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4::IfcTendon::AnchorageSlip() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4::IfcTendon::AnchorageSlip() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4::IfcTendon::setAnchorageSlip(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4::IfcTendon::MinCurvatureRadius() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4::IfcTendon::MinCurvatureRadius() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4::IfcTendon::setMinCurvatureRadius(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } const IfcParse::entity& Ifc4::IfcTendon::declaration() const { return *((IfcParse::entity*)IFC4_types[1045]); } const IfcParse::entity& Ifc4::IfcTendon::Class() { return *((IfcParse::entity*)IFC4_types[1045]); } Ifc4::IfcTendon::IfcTendon(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4::IfcTendon::IfcTendon(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4::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(storage_t(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; populate_derived(); } +Ifc4::IfcTendon::IfcTendon(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4::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(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; populate_derived(); } // Function implementations for IfcTendonAnchor -boost::optional< ::Ifc4::IfcTendonAnchorTypeEnum::Value > Ifc4::IfcTendonAnchor::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4::IfcTendonAnchorTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4::IfcTendonAnchorTypeEnum::Value > Ifc4::IfcTendonAnchor::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcTendonAnchor::setPredefinedType(boost::optional< ::Ifc4::IfcTendonAnchorTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4::IfcTendonAnchorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4::IfcTendonAnchor::declaration() const { return *((IfcParse::entity*)IFC4_types[1046]); } const IfcParse::entity& Ifc4::IfcTendonAnchor::Class() { return *((IfcParse::entity*)IFC4_types[1046]); } Ifc4::IfcTendonAnchor::IfcTendonAnchor(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4::IfcTendonAnchor::IfcTendonAnchor(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4::IfcTendonAnchor::IfcTendonAnchor(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTendonAnchorType -::Ifc4::IfcTendonAnchorTypeEnum::Value Ifc4::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4::IfcTendonAnchorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcTendonAnchorTypeEnum::Value Ifc4::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcTendonAnchorType::setPredefinedType(::Ifc4::IfcTendonAnchorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcTendonAnchorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcTendonAnchorType::declaration() const { return *((IfcParse::entity*)IFC4_types[1047]); } const IfcParse::entity& Ifc4::IfcTendonAnchorType::Class() { return *((IfcParse::entity*)IFC4_types[1047]); } Ifc4::IfcTendonAnchorType::IfcTendonAnchorType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4::IfcTendonAnchorType::IfcTendonAnchorType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcTendonAnchorType::IfcTendonAnchorType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTendonType -::Ifc4::IfcTendonTypeEnum::Value Ifc4::IfcTendonType::PredefinedType() const { return ::Ifc4::IfcTendonTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcTendonTypeEnum::Value Ifc4::IfcTendonType::PredefinedType() const { return ::Ifc4::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcTendonType::setPredefinedType(::Ifc4::IfcTendonTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcTendonTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4::IfcTendonType::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4::IfcTendonType::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4::IfcTendonType::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4::IfcTendonType::CrossSectionArea() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4::IfcTendonType::CrossSectionArea() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4::IfcTendonType::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4::IfcTendonType::SheathDiameter() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4::IfcTendonType::SheathDiameter() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4::IfcTendonType::setSheathDiameter(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4::IfcTendonType::declaration() const { return *((IfcParse::entity*)IFC4_types[1049]); } const IfcParse::entity& Ifc4::IfcTendonType::Class() { return *((IfcParse::entity*)IFC4_types[1049]); } Ifc4::IfcTendonType::IfcTendonType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4::IfcTendonType::IfcTendonType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcTendonTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheathDiameter) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); }; populate_derived(); } +Ifc4::IfcTendonType::IfcTendonType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcTendonTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheathDiameter) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); }; populate_derived(); } // Function implementations for IfcTessellatedFaceSet -::Ifc4::IfcCartesianPointList3D* Ifc4::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcCartesianPointList3D>(true); } +::Ifc4::IfcCartesianPointList3D* Ifc4::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcCartesianPointList3D>(true); } void Ifc4::IfcTessellatedFaceSet::setCoordinates(::Ifc4::IfcCartesianPointList3D* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } ::Ifc4::IfcIndexedColourMap::list::ptr Ifc4::IfcTessellatedFaceSet::HasColours() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[479], 0)->as(); } @@ -15158,7 +15158,7 @@ void Ifc4::IfcTessellatedFaceSet::setCoordinates(::Ifc4::IfcCartesianPointList3D const IfcParse::entity& Ifc4::IfcTessellatedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4_types[1051]); } const IfcParse::entity& Ifc4::IfcTessellatedFaceSet::Class() { return *((IfcParse::entity*)IFC4_types[1051]); } Ifc4::IfcTessellatedFaceSet::IfcTessellatedFaceSet(IfcEntityInstanceData&& e) : IfcTessellatedItem(std::move(e)) { } -Ifc4::IfcTessellatedFaceSet::IfcTessellatedFaceSet(::Ifc4::IfcCartesianPointList3D* v1_Coordinates) : IfcTessellatedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcTessellatedFaceSet::IfcTessellatedFaceSet(::Ifc4::IfcCartesianPointList3D* v1_Coordinates) : IfcTessellatedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTessellatedItem @@ -15166,184 +15166,184 @@ Ifc4::IfcTessellatedFaceSet::IfcTessellatedFaceSet(::Ifc4::IfcCartesianPointList const IfcParse::entity& Ifc4::IfcTessellatedItem::declaration() const { return *((IfcParse::entity*)IFC4_types[1052]); } const IfcParse::entity& Ifc4::IfcTessellatedItem::Class() { return *((IfcParse::entity*)IFC4_types[1052]); } Ifc4::IfcTessellatedItem::IfcTessellatedItem(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4::IfcTessellatedItem::IfcTessellatedItem() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4::IfcTessellatedItem::IfcTessellatedItem() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcTextLiteral -std::string Ifc4::IfcTextLiteral::Literal() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4::IfcTextLiteral::Literal() const { std::string v = get_attribute_value(0); return v; } void Ifc4::IfcTextLiteral::setLiteral(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcAxis2Placement* Ifc4::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcAxis2Placement>(true); } +::Ifc4::IfcAxis2Placement* Ifc4::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcAxis2Placement>(true); } void Ifc4::IfcTextLiteral::setPlacement(::Ifc4::IfcAxis2Placement* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4::IfcTextPath::Value Ifc4::IfcTextLiteral::Path() const { return ::Ifc4::IfcTextPath::FromString(data_.get_attribute_value(2)); } +::Ifc4::IfcTextPath::Value Ifc4::IfcTextLiteral::Path() const { return ::Ifc4::IfcTextPath::FromString(get_attribute_value(2)); } void Ifc4::IfcTextLiteral::setPath(::Ifc4::IfcTextPath::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4::IfcTextPath::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4::IfcTextLiteral::declaration() const { return *((IfcParse::entity*)IFC4_types[1058]); } const IfcParse::entity& Ifc4::IfcTextLiteral::Class() { return *((IfcParse::entity*)IFC4_types[1058]); } Ifc4::IfcTextLiteral::IfcTextLiteral(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4::IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, ::Ifc4::IfcAxis2Placement* v2_Placement, ::Ifc4::IfcTextPath::Value v3_Path) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4::IfcTextPath::Class(),(size_t)v3_Path)));; populate_derived(); } +Ifc4::IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, ::Ifc4::IfcAxis2Placement* v2_Placement, ::Ifc4::IfcTextPath::Value v3_Path) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4::IfcTextPath::Class(),(size_t)v3_Path)));; populate_derived(); } // Function implementations for IfcTextLiteralWithExtent -::Ifc4::IfcPlanarExtent* Ifc4::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4::IfcPlanarExtent>(true); } +::Ifc4::IfcPlanarExtent* Ifc4::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4::IfcPlanarExtent>(true); } void Ifc4::IfcTextLiteralWithExtent::setExtent(::Ifc4::IfcPlanarExtent* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -std::string Ifc4::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = data_.get_attribute_value(4); return v; } +std::string Ifc4::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = get_attribute_value(4); return v; } void Ifc4::IfcTextLiteralWithExtent::setBoxAlignment(std::string v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4::IfcTextLiteralWithExtent::declaration() const { return *((IfcParse::entity*)IFC4_types[1059]); } const IfcParse::entity& Ifc4::IfcTextLiteralWithExtent::Class() { return *((IfcParse::entity*)IFC4_types[1059]); } Ifc4::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(IfcEntityInstanceData&& e) : IfcTextLiteral(std::move(e)) { } -Ifc4::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(std::string v1_Literal, ::Ifc4::IfcAxis2Placement* v2_Placement, ::Ifc4::IfcTextPath::Value v3_Path, ::Ifc4::IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment) : IfcTextLiteral(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, v4_Extent ? v4_Extent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_BoxAlignment));; populate_derived(); } +Ifc4::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(std::string v1_Literal, ::Ifc4::IfcAxis2Placement* v2_Placement, ::Ifc4::IfcTextPath::Value v3_Path, ::Ifc4::IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment) : IfcTextLiteral(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, v4_Extent ? v4_Extent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_BoxAlignment));; populate_derived(); } // Function implementations for IfcTextStyle -::Ifc4::IfcTextStyleForDefinedFont* Ifc4::IfcTextStyle::TextCharacterAppearance() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcTextStyleForDefinedFont>(true); } +::Ifc4::IfcTextStyleForDefinedFont* Ifc4::IfcTextStyle::TextCharacterAppearance() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcTextStyleForDefinedFont>(true); } void Ifc4::IfcTextStyle::setTextCharacterAppearance(::Ifc4::IfcTextStyleForDefinedFont* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4::IfcTextStyleTextModel* Ifc4::IfcTextStyle::TextStyle() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcTextStyleTextModel>(true); } +::Ifc4::IfcTextStyleTextModel* Ifc4::IfcTextStyle::TextStyle() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcTextStyleTextModel>(true); } void Ifc4::IfcTextStyle::setTextStyle(::Ifc4::IfcTextStyleTextModel* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4::IfcTextFontSelect* Ifc4::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4::IfcTextFontSelect>(true); } +::Ifc4::IfcTextFontSelect* Ifc4::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4::IfcTextFontSelect>(true); } void Ifc4::IfcTextStyle::setTextFontStyle(::Ifc4::IfcTextFontSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< bool > Ifc4::IfcTextStyle::ModelOrDraughting() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } bool v = data_.get_attribute_value(4); return v; } +boost::optional< bool > Ifc4::IfcTextStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return boost::none; } bool v = get_attribute_value(4); return v; } void Ifc4::IfcTextStyle::setModelOrDraughting(boost::optional< bool > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4::IfcTextStyle::declaration() const { return *((IfcParse::entity*)IFC4_types[1061]); } const IfcParse::entity& Ifc4::IfcTextStyle::Class() { return *((IfcParse::entity*)IFC4_types[1061]); } Ifc4::IfcTextStyle::IfcTextStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4::IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, ::Ifc4::IfcTextStyleForDefinedFont* v2_TextCharacterAppearance, ::Ifc4::IfcTextStyleTextModel* v3_TextStyle, ::Ifc4::IfcTextFontSelect* v4_TextFontStyle, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TextCharacterAppearance ? v2_TextCharacterAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TextStyle ? v3_TextStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TextFontStyle ? v4_TextFontStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } +Ifc4::IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, ::Ifc4::IfcTextStyleForDefinedFont* v2_TextCharacterAppearance, ::Ifc4::IfcTextStyleTextModel* v3_TextStyle, ::Ifc4::IfcTextFontSelect* v4_TextFontStyle, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TextCharacterAppearance ? v2_TextCharacterAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TextStyle ? v3_TextStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TextFontStyle ? v4_TextFontStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } // Function implementations for IfcTextStyleFontModel -std::vector< std::string > /*[1:?]*/ Ifc4::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +std::vector< std::string > /*[1:?]*/ Ifc4::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4::IfcTextStyleFontModel::setFontFamily(std::vector< std::string > /*[1:?]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4::IfcTextStyleFontModel::FontStyle() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4::IfcTextStyleFontModel::FontStyle() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4::IfcTextStyleFontModel::setFontStyle(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4::IfcTextStyleFontModel::FontVariant() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4::IfcTextStyleFontModel::FontVariant() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4::IfcTextStyleFontModel::FontWeight() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4::IfcTextStyleFontModel::FontWeight() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4::IfcSizeSelect* Ifc4::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4::IfcSizeSelect>(true); } +::Ifc4::IfcSizeSelect* Ifc4::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4::IfcSizeSelect>(true); } void Ifc4::IfcTextStyleFontModel::setFontSize(::Ifc4::IfcSizeSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4::IfcTextStyleFontModel::declaration() const { return *((IfcParse::entity*)IFC4_types[1062]); } const IfcParse::entity& Ifc4::IfcTextStyleFontModel::Class() { return *((IfcParse::entity*)IFC4_types[1062]); } Ifc4::IfcTextStyleFontModel::IfcTextStyleFontModel(IfcEntityInstanceData&& e) : IfcPreDefinedTextFont(std::move(e)) { } -Ifc4::IfcTextStyleFontModel::IfcTextStyleFontModel(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, boost::optional< std::string > v3_FontStyle, boost::optional< std::string > v4_FontVariant, boost::optional< std::string > v5_FontWeight, ::Ifc4::IfcSizeSelect* v6_FontSize) : IfcPreDefinedTextFont(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, v6_FontSize ? v6_FontSize->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcTextStyleFontModel::IfcTextStyleFontModel(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, boost::optional< std::string > v3_FontStyle, boost::optional< std::string > v4_FontVariant, boost::optional< std::string > v5_FontWeight, ::Ifc4::IfcSizeSelect* v6_FontSize) : IfcPreDefinedTextFont(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, v6_FontSize ? v6_FontSize->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextStyleForDefinedFont -::Ifc4::IfcColour* Ifc4::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcColour>(true); } +::Ifc4::IfcColour* Ifc4::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcColour>(true); } void Ifc4::IfcTextStyleForDefinedFont::setColour(::Ifc4::IfcColour* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4::IfcColour* Ifc4::IfcTextStyleForDefinedFont::BackgroundColour() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4::IfcColour>(true); } +::Ifc4::IfcColour* Ifc4::IfcTextStyleForDefinedFont::BackgroundColour() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4::IfcColour>(true); } void Ifc4::IfcTextStyleForDefinedFont::setBackgroundColour(::Ifc4::IfcColour* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcTextStyleForDefinedFont::declaration() const { return *((IfcParse::entity*)IFC4_types[1063]); } const IfcParse::entity& Ifc4::IfcTextStyleForDefinedFont::Class() { return *((IfcParse::entity*)IFC4_types[1063]); } Ifc4::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4::IfcColour* v1_Colour, ::Ifc4::IfcColour* v2_BackgroundColour) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Colour ? v1_Colour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_BackgroundColour ? v2_BackgroundColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4::IfcColour* v1_Colour, ::Ifc4::IfcColour* v2_BackgroundColour) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Colour ? v1_Colour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_BackgroundColour ? v2_BackgroundColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextStyleTextModel -::Ifc4::IfcSizeSelect* Ifc4::IfcTextStyleTextModel::TextIndent() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcSizeSelect>(true); } +::Ifc4::IfcSizeSelect* Ifc4::IfcTextStyleTextModel::TextIndent() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcSizeSelect>(true); } void Ifc4::IfcTextStyleTextModel::setTextIndent(::Ifc4::IfcSizeSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4::IfcTextStyleTextModel::TextAlign() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4::IfcTextStyleTextModel::TextAlign() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4::IfcTextStyleTextModel::TextDecoration() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4::IfcTextStyleTextModel::TextDecoration() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4::IfcSizeSelect* Ifc4::IfcTextStyleTextModel::LetterSpacing() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4::IfcSizeSelect>(true); } +::Ifc4::IfcSizeSelect* Ifc4::IfcTextStyleTextModel::LetterSpacing() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4::IfcSizeSelect>(true); } void Ifc4::IfcTextStyleTextModel::setLetterSpacing(::Ifc4::IfcSizeSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4::IfcSizeSelect* Ifc4::IfcTextStyleTextModel::WordSpacing() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4::IfcSizeSelect>(true); } +::Ifc4::IfcSizeSelect* Ifc4::IfcTextStyleTextModel::WordSpacing() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4::IfcSizeSelect>(true); } void Ifc4::IfcTextStyleTextModel::setWordSpacing(::Ifc4::IfcSizeSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -boost::optional< std::string > Ifc4::IfcTextStyleTextModel::TextTransform() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4::IfcTextStyleTextModel::TextTransform() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4::IfcSizeSelect* Ifc4::IfcTextStyleTextModel::LineHeight() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4::IfcSizeSelect>(true); } +::Ifc4::IfcSizeSelect* Ifc4::IfcTextStyleTextModel::LineHeight() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4::IfcSizeSelect>(true); } void Ifc4::IfcTextStyleTextModel::setLineHeight(::Ifc4::IfcSizeSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4::IfcTextStyleTextModel::declaration() const { return *((IfcParse::entity*)IFC4_types[1064]); } const IfcParse::entity& Ifc4::IfcTextStyleTextModel::Class() { return *((IfcParse::entity*)IFC4_types[1064]); } Ifc4::IfcTextStyleTextModel::IfcTextStyleTextModel(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4::IfcTextStyleTextModel::IfcTextStyleTextModel(::Ifc4::IfcSizeSelect* v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, ::Ifc4::IfcSizeSelect* v4_LetterSpacing, ::Ifc4::IfcSizeSelect* v5_WordSpacing, boost::optional< std::string > v6_TextTransform, ::Ifc4::IfcSizeSelect* v7_LineHeight) : IfcPresentationItem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, v1_TextIndent ? v1_TextIndent->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, v4_LetterSpacing ? v4_LetterSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_WordSpacing ? v5_WordSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, v7_LineHeight ? v7_LineHeight->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcTextStyleTextModel::IfcTextStyleTextModel(::Ifc4::IfcSizeSelect* v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, ::Ifc4::IfcSizeSelect* v4_LetterSpacing, ::Ifc4::IfcSizeSelect* v5_WordSpacing, boost::optional< std::string > v6_TextTransform, ::Ifc4::IfcSizeSelect* v7_LineHeight) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_TextIndent ? v1_TextIndent->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, v4_LetterSpacing ? v4_LetterSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_WordSpacing ? v5_WordSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, v7_LineHeight ? v7_LineHeight->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextureCoordinate -aggregate_of< ::Ifc4::IfcSurfaceTexture >::ptr Ifc4::IfcTextureCoordinate::Maps() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4::IfcSurfaceTexture >(); } +aggregate_of< ::Ifc4::IfcSurfaceTexture >::ptr Ifc4::IfcTextureCoordinate::Maps() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4::IfcSurfaceTexture >(); } void Ifc4::IfcTextureCoordinate::setMaps(aggregate_of< ::Ifc4::IfcSurfaceTexture >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4::IfcTextureCoordinate::declaration() const { return *((IfcParse::entity*)IFC4_types[1066]); } const IfcParse::entity& Ifc4::IfcTextureCoordinate::Class() { return *((IfcParse::entity*)IFC4_types[1066]); } Ifc4::IfcTextureCoordinate::IfcTextureCoordinate(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4::IfcTextureCoordinate::IfcTextureCoordinate(aggregate_of< ::Ifc4::IfcSurfaceTexture >::ptr v1_Maps) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Maps)->generalize());; populate_derived(); } +Ifc4::IfcTextureCoordinate::IfcTextureCoordinate(aggregate_of< ::Ifc4::IfcSurfaceTexture >::ptr v1_Maps) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Maps)->generalize());; populate_derived(); } // Function implementations for IfcTextureCoordinateGenerator -std::string Ifc4::IfcTextureCoordinateGenerator::Mode() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4::IfcTextureCoordinateGenerator::Mode() const { std::string v = get_attribute_value(1); return v; } void Ifc4::IfcTextureCoordinateGenerator::setMode(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::vector< double > /*[1:?]*/ > Ifc4::IfcTextureCoordinateGenerator::Parameter() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< double > /*[1:?]*/ > Ifc4::IfcTextureCoordinateGenerator::Parameter() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[1:?]*/ v = get_attribute_value(2); return v; } void Ifc4::IfcTextureCoordinateGenerator::setParameter(boost::optional< std::vector< double > /*[1:?]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4::IfcTextureCoordinateGenerator::declaration() const { return *((IfcParse::entity*)IFC4_types[1067]); } const IfcParse::entity& Ifc4::IfcTextureCoordinateGenerator::Class() { return *((IfcParse::entity*)IFC4_types[1067]); } Ifc4::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(IfcEntityInstanceData&& e) : IfcTextureCoordinate(std::move(e)) { } -Ifc4::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(aggregate_of< ::Ifc4::IfcSurfaceTexture >::ptr v1_Maps, std::string v2_Mode, boost::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) : IfcTextureCoordinate(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); }; populate_derived(); } +Ifc4::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(aggregate_of< ::Ifc4::IfcSurfaceTexture >::ptr v1_Maps, std::string v2_Mode, boost::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) : IfcTextureCoordinate(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); }; populate_derived(); } // Function implementations for IfcTextureMap -aggregate_of< ::Ifc4::IfcTextureVertex >::ptr Ifc4::IfcTextureMap::Vertices() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4::IfcTextureVertex >(); } +aggregate_of< ::Ifc4::IfcTextureVertex >::ptr Ifc4::IfcTextureMap::Vertices() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4::IfcTextureVertex >(); } void Ifc4::IfcTextureMap::setVertices(aggregate_of< ::Ifc4::IfcTextureVertex >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4::IfcFace* Ifc4::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4::IfcFace>(true); } +::Ifc4::IfcFace* Ifc4::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4::IfcFace>(true); } void Ifc4::IfcTextureMap::setMappedTo(::Ifc4::IfcFace* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4::IfcTextureMap::declaration() const { return *((IfcParse::entity*)IFC4_types[1068]); } const IfcParse::entity& Ifc4::IfcTextureMap::Class() { return *((IfcParse::entity*)IFC4_types[1068]); } Ifc4::IfcTextureMap::IfcTextureMap(IfcEntityInstanceData&& e) : IfcTextureCoordinate(std::move(e)) { } -Ifc4::IfcTextureMap::IfcTextureMap(aggregate_of< ::Ifc4::IfcSurfaceTexture >::ptr v1_Maps, aggregate_of< ::Ifc4::IfcTextureVertex >::ptr v2_Vertices, ::Ifc4::IfcFace* v3_MappedTo) : IfcTextureCoordinate(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Vertices)->generalize());set_attribute_value(2, v3_MappedTo ? v3_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcTextureMap::IfcTextureMap(aggregate_of< ::Ifc4::IfcSurfaceTexture >::ptr v1_Maps, aggregate_of< ::Ifc4::IfcTextureVertex >::ptr v2_Vertices, ::Ifc4::IfcFace* v3_MappedTo) : IfcTextureCoordinate(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Vertices)->generalize());set_attribute_value(2, v3_MappedTo ? v3_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextureVertex -std::vector< double > /*[2:2]*/ Ifc4::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[2:2]*/ Ifc4::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = get_attribute_value(0); return v; } void Ifc4::IfcTextureVertex::setCoordinates(std::vector< double > /*[2:2]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4::IfcTextureVertex::declaration() const { return *((IfcParse::entity*)IFC4_types[1069]); } const IfcParse::entity& Ifc4::IfcTextureVertex::Class() { return *((IfcParse::entity*)IFC4_types[1069]); } Ifc4::IfcTextureVertex::IfcTextureVertex(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4::IfcTextureVertex::IfcTextureVertex(std::vector< double > /*[2:2]*/ v1_Coordinates) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } +Ifc4::IfcTextureVertex::IfcTextureVertex(std::vector< double > /*[2:2]*/ v1_Coordinates) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } // Function implementations for IfcTextureVertexList -std::vector< std::vector< double > > Ifc4::IfcTextureVertexList::TexCoordsList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4::IfcTextureVertexList::TexCoordsList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4::IfcTextureVertexList::setTexCoordsList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4::IfcTextureVertexList::declaration() const { return *((IfcParse::entity*)IFC4_types[1070]); } const IfcParse::entity& Ifc4::IfcTextureVertexList::Class() { return *((IfcParse::entity*)IFC4_types[1070]); } Ifc4::IfcTextureVertexList::IfcTextureVertexList(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4::IfcTextureVertexList::IfcTextureVertexList(std::vector< std::vector< double > > v1_TexCoordsList) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_TexCoordsList));; populate_derived(); } +Ifc4::IfcTextureVertexList::IfcTextureVertexList(std::vector< std::vector< double > > v1_TexCoordsList) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_TexCoordsList));; populate_derived(); } // Function implementations for IfcTimePeriod -std::string Ifc4::IfcTimePeriod::StartTime() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4::IfcTimePeriod::StartTime() const { std::string v = get_attribute_value(0); return v; } void Ifc4::IfcTimePeriod::setStartTime(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc4::IfcTimePeriod::EndTime() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4::IfcTimePeriod::EndTime() const { std::string v = get_attribute_value(1); return v; } void Ifc4::IfcTimePeriod::setEndTime(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcTimePeriod::declaration() const { return *((IfcParse::entity*)IFC4_types[1080]); } const IfcParse::entity& Ifc4::IfcTimePeriod::Class() { return *((IfcParse::entity*)IFC4_types[1080]); } Ifc4::IfcTimePeriod::IfcTimePeriod(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcTimePeriod::IfcTimePeriod(std::string v1_StartTime, std::string v2_EndTime) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime));; populate_derived(); } +Ifc4::IfcTimePeriod::IfcTimePeriod(std::string v1_StartTime, std::string v2_EndTime) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime));; populate_derived(); } // Function implementations for IfcTimeSeries -std::string Ifc4::IfcTimeSeries::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4::IfcTimeSeries::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4::IfcTimeSeries::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4::IfcTimeSeries::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4::IfcTimeSeries::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4::IfcTimeSeries::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::string Ifc4::IfcTimeSeries::StartTime() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4::IfcTimeSeries::StartTime() const { std::string v = get_attribute_value(2); return v; } void Ifc4::IfcTimeSeries::setStartTime(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::string Ifc4::IfcTimeSeries::EndTime() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4::IfcTimeSeries::EndTime() const { std::string v = get_attribute_value(3); return v; } void Ifc4::IfcTimeSeries::setEndTime(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4::IfcTimeSeriesDataTypeEnum::Value Ifc4::IfcTimeSeries::TimeSeriesDataType() const { return ::Ifc4::IfcTimeSeriesDataTypeEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4::IfcTimeSeriesDataTypeEnum::Value Ifc4::IfcTimeSeries::TimeSeriesDataType() const { return ::Ifc4::IfcTimeSeriesDataTypeEnum::FromString(get_attribute_value(4)); } void Ifc4::IfcTimeSeries::setTimeSeriesDataType(::Ifc4::IfcTimeSeriesDataTypeEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4::IfcTimeSeriesDataTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcDataOriginEnum::Value Ifc4::IfcTimeSeries::DataOrigin() const { return ::Ifc4::IfcDataOriginEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4::IfcDataOriginEnum::Value Ifc4::IfcTimeSeries::DataOrigin() const { return ::Ifc4::IfcDataOriginEnum::FromString(get_attribute_value(5)); } void Ifc4::IfcTimeSeries::setDataOrigin(::Ifc4::IfcDataOriginEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4::IfcDataOriginEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< std::string > Ifc4::IfcTimeSeries::UserDefinedDataOrigin() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4::IfcTimeSeries::UserDefinedDataOrigin() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4::IfcUnit* Ifc4::IfcTimeSeries::Unit() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4::IfcUnit>(true); } +::Ifc4::IfcUnit* Ifc4::IfcTimeSeries::Unit() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4::IfcUnit>(true); } void Ifc4::IfcTimeSeries::setUnit(::Ifc4::IfcUnit* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } ::Ifc4::IfcExternalReferenceRelationship::list::ptr Ifc4::IfcTimeSeries::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[380], 3)->as(); } @@ -15351,17 +15351,17 @@ void Ifc4::IfcTimeSeries::setUnit(::Ifc4::IfcUnit* v) { set_attribute_value(7, v const IfcParse::entity& Ifc4::IfcTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4_types[1081]); } const IfcParse::entity& Ifc4::IfcTimeSeries::Class() { return *((IfcParse::entity*)IFC4_types[1081]); } Ifc4::IfcTimeSeries::IfcTimeSeries(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTimeSeriesValue -aggregate_of< ::Ifc4::IfcValue >::ptr Ifc4::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4::IfcValue >(); } +aggregate_of< ::Ifc4::IfcValue >::ptr Ifc4::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4::IfcValue >(); } void Ifc4::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4::IfcValue >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4::IfcTimeSeriesValue::declaration() const { return *((IfcParse::entity*)IFC4_types[1083]); } const IfcParse::entity& Ifc4::IfcTimeSeriesValue::Class() { return *((IfcParse::entity*)IFC4_types[1083]); } Ifc4::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_ListValues)->generalize());; populate_derived(); } +Ifc4::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_ListValues)->generalize());; populate_derived(); } // Function implementations for IfcTopologicalRepresentationItem @@ -15369,7 +15369,7 @@ Ifc4::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4::IfcValue >::p const IfcParse::entity& Ifc4::IfcTopologicalRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4_types[1085]); } const IfcParse::entity& Ifc4::IfcTopologicalRepresentationItem::Class() { return *((IfcParse::entity*)IFC4_types[1085]); } Ifc4::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcTopologyRepresentation @@ -15377,134 +15377,134 @@ Ifc4::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() : Ifc const IfcParse::entity& Ifc4::IfcTopologyRepresentation::declaration() const { return *((IfcParse::entity*)IFC4_types[1086]); } const IfcParse::entity& Ifc4::IfcTopologyRepresentation::Class() { return *((IfcParse::entity*)IFC4_types[1086]); } Ifc4::IfcTopologyRepresentation::IfcTopologyRepresentation(IfcEntityInstanceData&& e) : IfcShapeModel(std::move(e)) { } -Ifc4::IfcTopologyRepresentation::IfcTopologyRepresentation(::Ifc4::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4::IfcTopologyRepresentation::IfcTopologyRepresentation(::Ifc4::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcToroidalSurface -double Ifc4::IfcToroidalSurface::MajorRadius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4::IfcToroidalSurface::MajorRadius() const { double v = get_attribute_value(1); return v; } void Ifc4::IfcToroidalSurface::setMajorRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4::IfcToroidalSurface::MinorRadius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4::IfcToroidalSurface::MinorRadius() const { double v = get_attribute_value(2); return v; } void Ifc4::IfcToroidalSurface::setMinorRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4::IfcToroidalSurface::declaration() const { return *((IfcParse::entity*)IFC4_types[1087]); } const IfcParse::entity& Ifc4::IfcToroidalSurface::Class() { return *((IfcParse::entity*)IFC4_types[1087]); } Ifc4::IfcToroidalSurface::IfcToroidalSurface(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4::IfcToroidalSurface::IfcToroidalSurface(::Ifc4::IfcAxis2Placement3D* v1_Position, double v2_MajorRadius, double v3_MinorRadius) : IfcElementarySurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius));; populate_derived(); } +Ifc4::IfcToroidalSurface::IfcToroidalSurface(::Ifc4::IfcAxis2Placement3D* v1_Position, double v2_MajorRadius, double v3_MinorRadius) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius));; populate_derived(); } // Function implementations for IfcTransformer -boost::optional< ::Ifc4::IfcTransformerTypeEnum::Value > Ifc4::IfcTransformer::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcTransformerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcTransformerTypeEnum::Value > Ifc4::IfcTransformer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcTransformerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcTransformer::setPredefinedType(boost::optional< ::Ifc4::IfcTransformerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcTransformerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcTransformer::declaration() const { return *((IfcParse::entity*)IFC4_types[1089]); } const IfcParse::entity& Ifc4::IfcTransformer::Class() { return *((IfcParse::entity*)IFC4_types[1089]); } Ifc4::IfcTransformer::IfcTransformer(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4::IfcTransformer::IfcTransformer(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcTransformerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcTransformer::IfcTransformer(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcTransformerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTransformerType -::Ifc4::IfcTransformerTypeEnum::Value Ifc4::IfcTransformerType::PredefinedType() const { return ::Ifc4::IfcTransformerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcTransformerTypeEnum::Value Ifc4::IfcTransformerType::PredefinedType() const { return ::Ifc4::IfcTransformerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcTransformerType::setPredefinedType(::Ifc4::IfcTransformerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcTransformerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcTransformerType::declaration() const { return *((IfcParse::entity*)IFC4_types[1090]); } const IfcParse::entity& Ifc4::IfcTransformerType::Class() { return *((IfcParse::entity*)IFC4_types[1090]); } Ifc4::IfcTransformerType::IfcTransformerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4::IfcTransformerType::IfcTransformerType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcTransformerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcTransformerType::IfcTransformerType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcTransformerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTransportElement -boost::optional< ::Ifc4::IfcTransportElementTypeEnum::Value > Ifc4::IfcTransportElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcTransportElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcTransportElementTypeEnum::Value > Ifc4::IfcTransportElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcTransportElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcTransportElement::setPredefinedType(boost::optional< ::Ifc4::IfcTransportElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcTransportElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcTransportElement::declaration() const { return *((IfcParse::entity*)IFC4_types[1094]); } const IfcParse::entity& Ifc4::IfcTransportElement::Class() { return *((IfcParse::entity*)IFC4_types[1094]); } Ifc4::IfcTransportElement::IfcTransportElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4::IfcTransportElement::IfcTransportElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcTransportElementTypeEnum::Value > v9_PredefinedType) : IfcElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcTransportElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcTransportElement::IfcTransportElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcTransportElementTypeEnum::Value > v9_PredefinedType) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcTransportElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTransportElementType -::Ifc4::IfcTransportElementTypeEnum::Value Ifc4::IfcTransportElementType::PredefinedType() const { return ::Ifc4::IfcTransportElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcTransportElementTypeEnum::Value Ifc4::IfcTransportElementType::PredefinedType() const { return ::Ifc4::IfcTransportElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcTransportElementType::setPredefinedType(::Ifc4::IfcTransportElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcTransportElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcTransportElementType::declaration() const { return *((IfcParse::entity*)IFC4_types[1095]); } const IfcParse::entity& Ifc4::IfcTransportElementType::Class() { return *((IfcParse::entity*)IFC4_types[1095]); } Ifc4::IfcTransportElementType::IfcTransportElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4::IfcTransportElementType::IfcTransportElementType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcTransportElementTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcTransportElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcTransportElementType::IfcTransportElementType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcTransportElementTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcTransportElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTrapeziumProfileDef -double Ifc4::IfcTrapeziumProfileDef::BottomXDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4::IfcTrapeziumProfileDef::BottomXDim() const { double v = get_attribute_value(3); return v; } void Ifc4::IfcTrapeziumProfileDef::setBottomXDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4::IfcTrapeziumProfileDef::TopXDim() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4::IfcTrapeziumProfileDef::TopXDim() const { double v = get_attribute_value(4); return v; } void Ifc4::IfcTrapeziumProfileDef::setTopXDim(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4::IfcTrapeziumProfileDef::YDim() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4::IfcTrapeziumProfileDef::YDim() const { double v = get_attribute_value(5); return v; } void Ifc4::IfcTrapeziumProfileDef::setYDim(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4::IfcTrapeziumProfileDef::TopXOffset() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4::IfcTrapeziumProfileDef::TopXOffset() const { double v = get_attribute_value(6); return v; } void Ifc4::IfcTrapeziumProfileDef::setTopXOffset(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4::IfcTrapeziumProfileDef::declaration() const { return *((IfcParse::entity*)IFC4_types[1097]); } const IfcParse::entity& Ifc4::IfcTrapeziumProfileDef::Class() { return *((IfcParse::entity*)IFC4_types[1097]); } Ifc4::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D* v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; populate_derived(); } +Ifc4::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::IfcAxis2Placement2D* v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; populate_derived(); } // Function implementations for IfcTriangulatedFaceSet -boost::optional< std::vector< std::vector< double > > > Ifc4::IfcTriangulatedFaceSet::Normals() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::vector< double > > v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< std::vector< double > > > Ifc4::IfcTriangulatedFaceSet::Normals() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::vector< double > > v = get_attribute_value(1); return v; } void Ifc4::IfcTriangulatedFaceSet::setNormals(boost::optional< std::vector< std::vector< double > > > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< bool > Ifc4::IfcTriangulatedFaceSet::Closed() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } bool v = data_.get_attribute_value(2); return v; } +boost::optional< bool > Ifc4::IfcTriangulatedFaceSet::Closed() const { if(get_attribute_value(2).isNull()) { return boost::none; } bool v = get_attribute_value(2); return v; } void Ifc4::IfcTriangulatedFaceSet::setClosed(boost::optional< bool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector< std::vector< int > > Ifc4::IfcTriangulatedFaceSet::CoordIndex() const { std::vector< std::vector< int > > v = data_.get_attribute_value(3); return v; } +std::vector< std::vector< int > > Ifc4::IfcTriangulatedFaceSet::CoordIndex() const { std::vector< std::vector< int > > v = get_attribute_value(3); return v; } void Ifc4::IfcTriangulatedFaceSet::setCoordIndex(std::vector< std::vector< int > > v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4::IfcTriangulatedFaceSet::PnIndex() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4::IfcTriangulatedFaceSet::PnIndex() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4::IfcTriangulatedFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4::IfcTriangulatedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4_types[1098]); } const IfcParse::entity& Ifc4::IfcTriangulatedFaceSet::Class() { return *((IfcParse::entity*)IFC4_types[1098]); } Ifc4::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(IfcEntityInstanceData&& e) : IfcTessellatedFaceSet(std::move(e)) { } -Ifc4::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(::Ifc4::IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) : IfcTessellatedFaceSet(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }; populate_derived(); } +Ifc4::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(::Ifc4::IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) : IfcTessellatedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }; populate_derived(); } // Function implementations for IfcTrimmedCurve -::Ifc4::IfcCurve* Ifc4::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcCurve>(true); } +::Ifc4::IfcCurve* Ifc4::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcCurve>(true); } void Ifc4::IfcTrimmedCurve::setBasisCurve(::Ifc4::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr Ifc4::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4::IfcTrimmingSelect >(); } +aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr Ifc4::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4::IfcTrimmingSelect >(); } void Ifc4::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr Ifc4::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4::IfcTrimmingSelect >(); } +aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr Ifc4::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4::IfcTrimmingSelect >(); } void Ifc4::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -bool Ifc4::IfcTrimmedCurve::SenseAgreement() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4::IfcTrimmedCurve::SenseAgreement() const { bool v = get_attribute_value(3); return v; } void Ifc4::IfcTrimmedCurve::setSenseAgreement(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4::IfcTrimmingPreference::Value Ifc4::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4::IfcTrimmingPreference::FromString(data_.get_attribute_value(4)); } +::Ifc4::IfcTrimmingPreference::Value Ifc4::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4::IfcTrimmingPreference::FromString(get_attribute_value(4)); } void Ifc4::IfcTrimmedCurve::setMasterRepresentation(::Ifc4::IfcTrimmingPreference::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4::IfcTrimmingPreference::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4::IfcTrimmedCurve::declaration() const { return *((IfcParse::entity*)IFC4_types[1099]); } const IfcParse::entity& Ifc4::IfcTrimmedCurve::Class() { return *((IfcParse::entity*)IFC4_types[1099]); } Ifc4::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Trim1)->generalize());set_attribute_value(2, (v3_Trim2)->generalize());set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (EnumerationReference(&::Ifc4::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; populate_derived(); } +Ifc4::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Trim1)->generalize());set_attribute_value(2, (v3_Trim2)->generalize());set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (EnumerationReference(&::Ifc4::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcTubeBundle -boost::optional< ::Ifc4::IfcTubeBundleTypeEnum::Value > Ifc4::IfcTubeBundle::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcTubeBundleTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcTubeBundleTypeEnum::Value > Ifc4::IfcTubeBundle::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcTubeBundleTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcTubeBundle::setPredefinedType(boost::optional< ::Ifc4::IfcTubeBundleTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcTubeBundleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcTubeBundle::declaration() const { return *((IfcParse::entity*)IFC4_types[1103]); } const IfcParse::entity& Ifc4::IfcTubeBundle::Class() { return *((IfcParse::entity*)IFC4_types[1103]); } Ifc4::IfcTubeBundle::IfcTubeBundle(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4::IfcTubeBundle::IfcTubeBundle(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcTubeBundle::IfcTubeBundle(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTubeBundleType -::Ifc4::IfcTubeBundleTypeEnum::Value Ifc4::IfcTubeBundleType::PredefinedType() const { return ::Ifc4::IfcTubeBundleTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcTubeBundleTypeEnum::Value Ifc4::IfcTubeBundleType::PredefinedType() const { return ::Ifc4::IfcTubeBundleTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcTubeBundleType::setPredefinedType(::Ifc4::IfcTubeBundleTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcTubeBundleTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcTubeBundleType::declaration() const { return *((IfcParse::entity*)IFC4_types[1104]); } const IfcParse::entity& Ifc4::IfcTubeBundleType::Class() { return *((IfcParse::entity*)IFC4_types[1104]); } Ifc4::IfcTubeBundleType::IfcTubeBundleType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4::IfcTubeBundleType::IfcTubeBundleType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcTubeBundleTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcTubeBundleType::IfcTubeBundleType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcTubeBundleTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTypeObject -boost::optional< std::string > Ifc4::IfcTypeObject::ApplicableOccurrence() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4::IfcTypeObject::ApplicableOccurrence() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcTypeObject::setApplicableOccurrence(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > Ifc4::IfcTypeObject::HasPropertySets() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4::IfcPropertySetDefinition >(); } +boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > Ifc4::IfcTypeObject::HasPropertySets() const { if(get_attribute_value(5).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4::IfcPropertySetDefinition >(); } void Ifc4::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v) { if (v) {set_attribute_value(5, (*v)->generalize());} else {unset_attribute_value(5);} } ::Ifc4::IfcRelDefinesByType::list::ptr Ifc4::IfcTypeObject::Types() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[832], 5)->as(); } @@ -15512,14 +15512,14 @@ void Ifc4::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of< ::If const IfcParse::entity& Ifc4::IfcTypeObject::declaration() const { return *((IfcParse::entity*)IFC4_types[1106]); } const IfcParse::entity& Ifc4::IfcTypeObject::Class() { return *((IfcParse::entity*)IFC4_types[1106]); } Ifc4::IfcTypeObject::IfcTypeObject(IfcEntityInstanceData&& e) : IfcObjectDefinition(std::move(e)) { } -Ifc4::IfcTypeObject::IfcTypeObject(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets) : IfcObjectDefinition(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); }; populate_derived(); } +Ifc4::IfcTypeObject::IfcTypeObject(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets) : IfcObjectDefinition(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); }; populate_derived(); } // Function implementations for IfcTypeProcess -boost::optional< std::string > Ifc4::IfcTypeProcess::Identification() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4::IfcTypeProcess::Identification() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4::IfcTypeProcess::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4::IfcTypeProcess::LongDescription() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4::IfcTypeProcess::LongDescription() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4::IfcTypeProcess::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4::IfcTypeProcess::ProcessType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4::IfcTypeProcess::ProcessType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4::IfcTypeProcess::setProcessType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } ::Ifc4::IfcRelAssignsToProcess::list::ptr Ifc4::IfcTypeProcess::OperatesOn() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[803], 6)->as(); } @@ -15527,12 +15527,12 @@ void Ifc4::IfcTypeProcess::setProcessType(boost::optional< std::string > v) { if const IfcParse::entity& Ifc4::IfcTypeProcess::declaration() const { return *((IfcParse::entity*)IFC4_types[1107]); } const IfcParse::entity& Ifc4::IfcTypeProcess::Class() { return *((IfcParse::entity*)IFC4_types[1107]); } Ifc4::IfcTypeProcess::IfcTypeProcess(IfcEntityInstanceData&& e) : IfcTypeObject(std::move(e)) { } -Ifc4::IfcTypeProcess::IfcTypeProcess(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType) : IfcTypeObject(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }; populate_derived(); } +Ifc4::IfcTypeProcess::IfcTypeProcess(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType) : IfcTypeObject(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }; populate_derived(); } // Function implementations for IfcTypeProduct -boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > Ifc4::IfcTypeProduct::RepresentationMaps() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4::IfcRepresentationMap >(); } +boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > Ifc4::IfcTypeProduct::RepresentationMaps() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4::IfcRepresentationMap >(); } void Ifc4::IfcTypeProduct::setRepresentationMaps(boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4::IfcTypeProduct::Tag() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4::IfcTypeProduct::Tag() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4::IfcTypeProduct::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } ::Ifc4::IfcRelAssignsToProduct::list::ptr Ifc4::IfcTypeProduct::ReferencedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[804], 6)->as(); } @@ -15540,14 +15540,14 @@ void Ifc4::IfcTypeProduct::setTag(boost::optional< std::string > v) { if (v) {se const IfcParse::entity& Ifc4::IfcTypeProduct::declaration() const { return *((IfcParse::entity*)IFC4_types[1108]); } const IfcParse::entity& Ifc4::IfcTypeProduct::Class() { return *((IfcParse::entity*)IFC4_types[1108]); } Ifc4::IfcTypeProduct::IfcTypeProduct(IfcEntityInstanceData&& e) : IfcTypeObject(std::move(e)) { } -Ifc4::IfcTypeProduct::IfcTypeProduct(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag) : IfcTypeObject(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4::IfcTypeProduct::IfcTypeProduct(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag) : IfcTypeObject(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcTypeResource -boost::optional< std::string > Ifc4::IfcTypeResource::Identification() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4::IfcTypeResource::Identification() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4::IfcTypeResource::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4::IfcTypeResource::LongDescription() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4::IfcTypeResource::LongDescription() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4::IfcTypeResource::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4::IfcTypeResource::ResourceType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4::IfcTypeResource::ResourceType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4::IfcTypeResource::setResourceType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } ::Ifc4::IfcRelAssignsToResource::list::ptr Ifc4::IfcTypeResource::ResourceOf() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4_types[805], 6)->as(); } @@ -15555,111 +15555,111 @@ void Ifc4::IfcTypeResource::setResourceType(boost::optional< std::string > v) { const IfcParse::entity& Ifc4::IfcTypeResource::declaration() const { return *((IfcParse::entity*)IFC4_types[1109]); } const IfcParse::entity& Ifc4::IfcTypeResource::Class() { return *((IfcParse::entity*)IFC4_types[1109]); } Ifc4::IfcTypeResource::IfcTypeResource(IfcEntityInstanceData&& e) : IfcTypeObject(std::move(e)) { } -Ifc4::IfcTypeResource::IfcTypeResource(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType) : IfcTypeObject(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); }; populate_derived(); } +Ifc4::IfcTypeResource::IfcTypeResource(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType) : IfcTypeObject(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); }; populate_derived(); } // Function implementations for IfcUShapeProfileDef -double Ifc4::IfcUShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4::IfcUShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4::IfcUShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4::IfcUShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4::IfcUShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc4::IfcUShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4::IfcUShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4::IfcUShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4::IfcUShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4::IfcUShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4::IfcUShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4::IfcUShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4::IfcUShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4::IfcUShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4::IfcUShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4::IfcUShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4::IfcUShapeProfileDef::EdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4::IfcUShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4::IfcUShapeProfileDef::FlangeSlope() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4::IfcUShapeProfileDef::FlangeSlope() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4::IfcUShapeProfileDef::setFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4::IfcUShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4_types[1120]); } const IfcParse::entity& Ifc4::IfcUShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4_types[1120]); } Ifc4::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::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(storage_t(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } +Ifc4::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::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(in_memory_attribute_storage(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } // Function implementations for IfcUnitAssignment -aggregate_of< ::Ifc4::IfcUnit >::ptr Ifc4::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4::IfcUnit >(); } +aggregate_of< ::Ifc4::IfcUnit >::ptr Ifc4::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4::IfcUnit >(); } void Ifc4::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4::IfcUnit >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4::IfcUnitAssignment::declaration() const { return *((IfcParse::entity*)IFC4_types[1117]); } const IfcParse::entity& Ifc4::IfcUnitAssignment::Class() { return *((IfcParse::entity*)IFC4_types[1117]); } Ifc4::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Units)->generalize());; populate_derived(); } +Ifc4::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Units)->generalize());; populate_derived(); } // Function implementations for IfcUnitaryControlElement -boost::optional< ::Ifc4::IfcUnitaryControlElementTypeEnum::Value > Ifc4::IfcUnitaryControlElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcUnitaryControlElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcUnitaryControlElementTypeEnum::Value > Ifc4::IfcUnitaryControlElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcUnitaryControlElement::setPredefinedType(boost::optional< ::Ifc4::IfcUnitaryControlElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcUnitaryControlElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcUnitaryControlElement::declaration() const { return *((IfcParse::entity*)IFC4_types[1111]); } const IfcParse::entity& Ifc4::IfcUnitaryControlElement::Class() { return *((IfcParse::entity*)IFC4_types[1111]); } Ifc4::IfcUnitaryControlElement::IfcUnitaryControlElement(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4::IfcUnitaryControlElement::IfcUnitaryControlElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcUnitaryControlElement::IfcUnitaryControlElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcUnitaryControlElementType -::Ifc4::IfcUnitaryControlElementTypeEnum::Value Ifc4::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4::IfcUnitaryControlElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcUnitaryControlElementTypeEnum::Value Ifc4::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcUnitaryControlElementType::setPredefinedType(::Ifc4::IfcUnitaryControlElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcUnitaryControlElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcUnitaryControlElementType::declaration() const { return *((IfcParse::entity*)IFC4_types[1112]); } const IfcParse::entity& Ifc4::IfcUnitaryControlElementType::Class() { return *((IfcParse::entity*)IFC4_types[1112]); } Ifc4::IfcUnitaryControlElementType::IfcUnitaryControlElementType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4::IfcUnitaryControlElementType::IfcUnitaryControlElementType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcUnitaryControlElementType::IfcUnitaryControlElementType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcUnitaryEquipment -boost::optional< ::Ifc4::IfcUnitaryEquipmentTypeEnum::Value > Ifc4::IfcUnitaryEquipment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcUnitaryEquipmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcUnitaryEquipmentTypeEnum::Value > Ifc4::IfcUnitaryEquipment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcUnitaryEquipment::setPredefinedType(boost::optional< ::Ifc4::IfcUnitaryEquipmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcUnitaryEquipmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcUnitaryEquipment::declaration() const { return *((IfcParse::entity*)IFC4_types[1114]); } const IfcParse::entity& Ifc4::IfcUnitaryEquipment::Class() { return *((IfcParse::entity*)IFC4_types[1114]); } Ifc4::IfcUnitaryEquipment::IfcUnitaryEquipment(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4::IfcUnitaryEquipment::IfcUnitaryEquipment(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcUnitaryEquipment::IfcUnitaryEquipment(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcUnitaryEquipmentType -::Ifc4::IfcUnitaryEquipmentTypeEnum::Value Ifc4::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4::IfcUnitaryEquipmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcUnitaryEquipmentTypeEnum::Value Ifc4::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcUnitaryEquipmentType::setPredefinedType(::Ifc4::IfcUnitaryEquipmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcUnitaryEquipmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcUnitaryEquipmentType::declaration() const { return *((IfcParse::entity*)IFC4_types[1115]); } const IfcParse::entity& Ifc4::IfcUnitaryEquipmentType::Class() { return *((IfcParse::entity*)IFC4_types[1115]); } Ifc4::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcValve -boost::optional< ::Ifc4::IfcValveTypeEnum::Value > Ifc4::IfcValve::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcValveTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcValveTypeEnum::Value > Ifc4::IfcValve::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcValveTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcValve::setPredefinedType(boost::optional< ::Ifc4::IfcValveTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcValveTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcValve::declaration() const { return *((IfcParse::entity*)IFC4_types[1122]); } const IfcParse::entity& Ifc4::IfcValve::Class() { return *((IfcParse::entity*)IFC4_types[1122]); } Ifc4::IfcValve::IfcValve(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4::IfcValve::IfcValve(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcValveTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcValve::IfcValve(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcValveTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcValveType -::Ifc4::IfcValveTypeEnum::Value Ifc4::IfcValveType::PredefinedType() const { return ::Ifc4::IfcValveTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcValveTypeEnum::Value Ifc4::IfcValveType::PredefinedType() const { return ::Ifc4::IfcValveTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcValveType::setPredefinedType(::Ifc4::IfcValveTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcValveTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcValveType::declaration() const { return *((IfcParse::entity*)IFC4_types[1123]); } const IfcParse::entity& Ifc4::IfcValveType::Class() { return *((IfcParse::entity*)IFC4_types[1123]); } Ifc4::IfcValveType::IfcValveType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4::IfcValveType::IfcValveType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcValveTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcValveType::IfcValveType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcValveTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcVector -::Ifc4::IfcDirection* Ifc4::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcDirection>(true); } +::Ifc4::IfcDirection* Ifc4::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcDirection>(true); } void Ifc4::IfcVector::setOrientation(::Ifc4::IfcDirection* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4::IfcVector::Magnitude() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4::IfcVector::Magnitude() const { double v = get_attribute_value(1); return v; } void Ifc4::IfcVector::setMagnitude(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcVector::declaration() const { return *((IfcParse::entity*)IFC4_types[1126]); } const IfcParse::entity& Ifc4::IfcVector::Class() { return *((IfcParse::entity*)IFC4_types[1126]); } Ifc4::IfcVector::IfcVector(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4::IfcVector::IfcVector(::Ifc4::IfcDirection* v1_Orientation, double v2_Magnitude) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Orientation ? v1_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Magnitude));; populate_derived(); } +Ifc4::IfcVector::IfcVector(::Ifc4::IfcDirection* v1_Orientation, double v2_Magnitude) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Orientation ? v1_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Magnitude));; populate_derived(); } // Function implementations for IfcVertex @@ -15667,47 +15667,47 @@ Ifc4::IfcVector::IfcVector(::Ifc4::IfcDirection* v1_Orientation, double v2_Magni const IfcParse::entity& Ifc4::IfcVertex::declaration() const { return *((IfcParse::entity*)IFC4_types[1128]); } const IfcParse::entity& Ifc4::IfcVertex::Class() { return *((IfcParse::entity*)IFC4_types[1128]); } Ifc4::IfcVertex::IfcVertex(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4::IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4::IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcVertexLoop -::Ifc4::IfcVertex* Ifc4::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcVertex>(true); } +::Ifc4::IfcVertex* Ifc4::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcVertex>(true); } void Ifc4::IfcVertexLoop::setLoopVertex(::Ifc4::IfcVertex* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4::IfcVertexLoop::declaration() const { return *((IfcParse::entity*)IFC4_types[1129]); } const IfcParse::entity& Ifc4::IfcVertexLoop::Class() { return *((IfcParse::entity*)IFC4_types[1129]); } Ifc4::IfcVertexLoop::IfcVertexLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc4::IfcVertexLoop::IfcVertexLoop(::Ifc4::IfcVertex* v1_LoopVertex) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_LoopVertex ? v1_LoopVertex->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcVertexLoop::IfcVertexLoop(::Ifc4::IfcVertex* v1_LoopVertex) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_LoopVertex ? v1_LoopVertex->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcVertexPoint -::Ifc4::IfcPoint* Ifc4::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4::IfcPoint>(true); } +::Ifc4::IfcPoint* Ifc4::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4::IfcPoint>(true); } void Ifc4::IfcVertexPoint::setVertexGeometry(::Ifc4::IfcPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4::IfcVertexPoint::declaration() const { return *((IfcParse::entity*)IFC4_types[1130]); } const IfcParse::entity& Ifc4::IfcVertexPoint::Class() { return *((IfcParse::entity*)IFC4_types[1130]); } Ifc4::IfcVertexPoint::IfcVertexPoint(IfcEntityInstanceData&& e) : IfcVertex(std::move(e)) { } -Ifc4::IfcVertexPoint::IfcVertexPoint(::Ifc4::IfcPoint* v1_VertexGeometry) : IfcVertex(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_VertexGeometry ? v1_VertexGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcVertexPoint::IfcVertexPoint(::Ifc4::IfcPoint* v1_VertexGeometry) : IfcVertex(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_VertexGeometry ? v1_VertexGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcVibrationIsolator -boost::optional< ::Ifc4::IfcVibrationIsolatorTypeEnum::Value > Ifc4::IfcVibrationIsolator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcVibrationIsolatorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcVibrationIsolatorTypeEnum::Value > Ifc4::IfcVibrationIsolator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcVibrationIsolator::setPredefinedType(boost::optional< ::Ifc4::IfcVibrationIsolatorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcVibrationIsolatorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcVibrationIsolator::declaration() const { return *((IfcParse::entity*)IFC4_types[1131]); } const IfcParse::entity& Ifc4::IfcVibrationIsolator::Class() { return *((IfcParse::entity*)IFC4_types[1131]); } Ifc4::IfcVibrationIsolator::IfcVibrationIsolator(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4::IfcVibrationIsolator::IfcVibrationIsolator(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcVibrationIsolator::IfcVibrationIsolator(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcVibrationIsolatorType -::Ifc4::IfcVibrationIsolatorTypeEnum::Value Ifc4::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4::IfcVibrationIsolatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcVibrationIsolatorTypeEnum::Value Ifc4::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcVibrationIsolatorType::setPredefinedType(::Ifc4::IfcVibrationIsolatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcVibrationIsolatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcVibrationIsolatorType::declaration() const { return *((IfcParse::entity*)IFC4_types[1132]); } const IfcParse::entity& Ifc4::IfcVibrationIsolatorType::Class() { return *((IfcParse::entity*)IFC4_types[1132]); } Ifc4::IfcVibrationIsolatorType::IfcVibrationIsolatorType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4::IfcVibrationIsolatorType::IfcVibrationIsolatorType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcVibrationIsolatorType::IfcVibrationIsolatorType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcVirtualElement @@ -15715,39 +15715,39 @@ Ifc4::IfcVibrationIsolatorType::IfcVibrationIsolatorType(std::string v1_GlobalId const IfcParse::entity& Ifc4::IfcVirtualElement::declaration() const { return *((IfcParse::entity*)IFC4_types[1134]); } const IfcParse::entity& Ifc4::IfcVirtualElement::Class() { return *((IfcParse::entity*)IFC4_types[1134]); } Ifc4::IfcVirtualElement::IfcVirtualElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4::IfcVirtualElement::IfcVirtualElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4::IfcVirtualElement::IfcVirtualElement(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcVirtualGridIntersection -aggregate_of< ::Ifc4::IfcGridAxis >::ptr Ifc4::IfcVirtualGridIntersection::IntersectingAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4::IfcGridAxis >(); } +aggregate_of< ::Ifc4::IfcGridAxis >::ptr Ifc4::IfcVirtualGridIntersection::IntersectingAxes() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4::IfcGridAxis >(); } void Ifc4::IfcVirtualGridIntersection::setIntersectingAxes(aggregate_of< ::Ifc4::IfcGridAxis >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -std::vector< double > /*[2:3]*/ Ifc4::IfcVirtualGridIntersection::OffsetDistances() const { std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(1); return v; } +std::vector< double > /*[2:3]*/ Ifc4::IfcVirtualGridIntersection::OffsetDistances() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } void Ifc4::IfcVirtualGridIntersection::setOffsetDistances(std::vector< double > /*[2:3]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4::IfcVirtualGridIntersection::declaration() const { return *((IfcParse::entity*)IFC4_types[1135]); } const IfcParse::entity& Ifc4::IfcVirtualGridIntersection::Class() { return *((IfcParse::entity*)IFC4_types[1135]); } Ifc4::IfcVirtualGridIntersection::IfcVirtualGridIntersection(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4::IfcVirtualGridIntersection::IfcVirtualGridIntersection(aggregate_of< ::Ifc4::IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_IntersectingAxes)->generalize());set_attribute_value(1, (v2_OffsetDistances));; populate_derived(); } +Ifc4::IfcVirtualGridIntersection::IfcVirtualGridIntersection(aggregate_of< ::Ifc4::IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_IntersectingAxes)->generalize());set_attribute_value(1, (v2_OffsetDistances));; populate_derived(); } // Function implementations for IfcVoidingFeature -boost::optional< ::Ifc4::IfcVoidingFeatureTypeEnum::Value > Ifc4::IfcVoidingFeature::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcVoidingFeatureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcVoidingFeatureTypeEnum::Value > Ifc4::IfcVoidingFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcVoidingFeatureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcVoidingFeature::setPredefinedType(boost::optional< ::Ifc4::IfcVoidingFeatureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcVoidingFeatureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcVoidingFeature::declaration() const { return *((IfcParse::entity*)IFC4_types[1136]); } const IfcParse::entity& Ifc4::IfcVoidingFeature::Class() { return *((IfcParse::entity*)IFC4_types[1136]); } Ifc4::IfcVoidingFeature::IfcVoidingFeature(IfcEntityInstanceData&& e) : IfcFeatureElementSubtraction(std::move(e)) { } -Ifc4::IfcVoidingFeature::IfcVoidingFeature(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcVoidingFeature::IfcVoidingFeature(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWall -boost::optional< ::Ifc4::IfcWallTypeEnum::Value > Ifc4::IfcWall::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcWallTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcWallTypeEnum::Value > Ifc4::IfcWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcWallTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcWall::setPredefinedType(boost::optional< ::Ifc4::IfcWallTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcWallTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcWall::declaration() const { return *((IfcParse::entity*)IFC4_types[1140]); } const IfcParse::entity& Ifc4::IfcWall::Class() { return *((IfcParse::entity*)IFC4_types[1140]); } Ifc4::IfcWall::IfcWall(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4::IfcWall::IfcWall(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcWall::IfcWall(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWallElementedCase @@ -15755,7 +15755,7 @@ Ifc4::IfcWall::IfcWall(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_Owne const IfcParse::entity& Ifc4::IfcWallElementedCase::declaration() const { return *((IfcParse::entity*)IFC4_types[1141]); } const IfcParse::entity& Ifc4::IfcWallElementedCase::Class() { return *((IfcParse::entity*)IFC4_types[1141]); } Ifc4::IfcWallElementedCase::IfcWallElementedCase(IfcEntityInstanceData&& e) : IfcWall(std::move(e)) { } -Ifc4::IfcWallElementedCase::IfcWallElementedCase(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcWall(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcWallElementedCase::IfcWallElementedCase(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcWall(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWallStandardCase @@ -15763,105 +15763,105 @@ Ifc4::IfcWallElementedCase::IfcWallElementedCase(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4::IfcWallStandardCase::declaration() const { return *((IfcParse::entity*)IFC4_types[1142]); } const IfcParse::entity& Ifc4::IfcWallStandardCase::Class() { return *((IfcParse::entity*)IFC4_types[1142]); } Ifc4::IfcWallStandardCase::IfcWallStandardCase(IfcEntityInstanceData&& e) : IfcWall(std::move(e)) { } -Ifc4::IfcWallStandardCase::IfcWallStandardCase(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcWall(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcWallStandardCase::IfcWallStandardCase(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcWall(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWallType -::Ifc4::IfcWallTypeEnum::Value Ifc4::IfcWallType::PredefinedType() const { return ::Ifc4::IfcWallTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcWallTypeEnum::Value Ifc4::IfcWallType::PredefinedType() const { return ::Ifc4::IfcWallTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcWallType::setPredefinedType(::Ifc4::IfcWallTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcWallTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcWallType::declaration() const { return *((IfcParse::entity*)IFC4_types[1143]); } const IfcParse::entity& Ifc4::IfcWallType::Class() { return *((IfcParse::entity*)IFC4_types[1143]); } Ifc4::IfcWallType::IfcWallType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4::IfcWallType::IfcWallType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcWallTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcWallType::IfcWallType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcWallTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcWasteTerminal -boost::optional< ::Ifc4::IfcWasteTerminalTypeEnum::Value > Ifc4::IfcWasteTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcWasteTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcWasteTerminalTypeEnum::Value > Ifc4::IfcWasteTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcWasteTerminal::setPredefinedType(boost::optional< ::Ifc4::IfcWasteTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcWasteTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcWasteTerminal::declaration() const { return *((IfcParse::entity*)IFC4_types[1148]); } const IfcParse::entity& Ifc4::IfcWasteTerminal::Class() { return *((IfcParse::entity*)IFC4_types[1148]); } Ifc4::IfcWasteTerminal::IfcWasteTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4::IfcWasteTerminal::IfcWasteTerminal(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcWasteTerminal::IfcWasteTerminal(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWasteTerminalType -::Ifc4::IfcWasteTerminalTypeEnum::Value Ifc4::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4::IfcWasteTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcWasteTerminalTypeEnum::Value Ifc4::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcWasteTerminalType::setPredefinedType(::Ifc4::IfcWasteTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcWasteTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4::IfcWasteTerminalType::declaration() const { return *((IfcParse::entity*)IFC4_types[1149]); } const IfcParse::entity& Ifc4::IfcWasteTerminalType::Class() { return *((IfcParse::entity*)IFC4_types[1149]); } Ifc4::IfcWasteTerminalType::IfcWasteTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4::IfcWasteTerminalType::IfcWasteTerminalType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4::IfcWasteTerminalType::IfcWasteTerminalType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcWindow -boost::optional< double > Ifc4::IfcWindow::OverallHeight() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4::IfcWindow::OverallHeight() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4::IfcWindow::setOverallHeight(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4::IfcWindow::OverallWidth() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4::IfcWindow::OverallWidth() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4::IfcWindow::setOverallWidth(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4::IfcWindowTypeEnum::Value > Ifc4::IfcWindow::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4::IfcWindowTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4::IfcWindowTypeEnum::Value > Ifc4::IfcWindow::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4::IfcWindowTypeEnum::FromString(get_attribute_value(10)); } void Ifc4::IfcWindow::setPredefinedType(boost::optional< ::Ifc4::IfcWindowTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4::IfcWindowTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -boost::optional< ::Ifc4::IfcWindowTypePartitioningEnum::Value > Ifc4::IfcWindow::PartitioningType() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4::IfcWindowTypePartitioningEnum::FromString(data_.get_attribute_value(11)); } +boost::optional< ::Ifc4::IfcWindowTypePartitioningEnum::Value > Ifc4::IfcWindow::PartitioningType() const { if(get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4::IfcWindowTypePartitioningEnum::FromString(get_attribute_value(11)); } void Ifc4::IfcWindow::setPartitioningType(boost::optional< ::Ifc4::IfcWindowTypePartitioningEnum::Value > v) { if (v) {set_attribute_value(11, EnumerationReference(&::Ifc4::IfcWindowTypePartitioningEnum::Class(), (size_t) *v));} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4::IfcWindow::UserDefinedPartitioningType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4::IfcWindow::UserDefinedPartitioningType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4::IfcWindow::setUserDefinedPartitioningType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4::IfcWindow::declaration() const { return *((IfcParse::entity*)IFC4_types[1151]); } const IfcParse::entity& Ifc4::IfcWindow::Class() { return *((IfcParse::entity*)IFC4_types[1151]); } Ifc4::IfcWindow::IfcWindow(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4::IfcWindow::IfcWindow(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } +Ifc4::IfcWindow::IfcWindow(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } // Function implementations for IfcWindowLiningProperties -boost::optional< double > Ifc4::IfcWindowLiningProperties::LiningDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4::IfcWindowLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4::IfcWindowLiningProperties::setLiningDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4::IfcWindowLiningProperties::LiningThickness() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4::IfcWindowLiningProperties::LiningThickness() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4::IfcWindowLiningProperties::setLiningThickness(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4::IfcWindowLiningProperties::TransomThickness() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4::IfcWindowLiningProperties::TransomThickness() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4::IfcWindowLiningProperties::setTransomThickness(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4::IfcWindowLiningProperties::MullionThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4::IfcWindowLiningProperties::MullionThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4::IfcWindowLiningProperties::setMullionThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4::IfcWindowLiningProperties::FirstTransomOffset() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4::IfcWindowLiningProperties::FirstTransomOffset() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4::IfcWindowLiningProperties::setFirstTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4::IfcWindowLiningProperties::SecondTransomOffset() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4::IfcWindowLiningProperties::SecondTransomOffset() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4::IfcWindowLiningProperties::setSecondTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4::IfcWindowLiningProperties::FirstMullionOffset() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4::IfcWindowLiningProperties::FirstMullionOffset() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4::IfcWindowLiningProperties::SecondMullionOffset() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4::IfcWindowLiningProperties::SecondMullionOffset() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -::Ifc4::IfcShapeAspect* Ifc4::IfcWindowLiningProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(12).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(12)))->as<::Ifc4::IfcShapeAspect>(true); } +::Ifc4::IfcShapeAspect* Ifc4::IfcWindowLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(12).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(12)))->as<::Ifc4::IfcShapeAspect>(true); } void Ifc4::IfcWindowLiningProperties::setShapeAspectStyle(::Ifc4::IfcShapeAspect* v) { set_attribute_value(12, v->as());if constexpr (false)unset_attribute_value(12); } -boost::optional< double > Ifc4::IfcWindowLiningProperties::LiningOffset() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4::IfcWindowLiningProperties::LiningOffset() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4::IfcWindowLiningProperties::setLiningOffset(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4::IfcWindowLiningProperties::LiningToPanelOffsetX() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4::IfcWindowLiningProperties::LiningToPanelOffsetX() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4::IfcWindowLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4::IfcWindowLiningProperties::LiningToPanelOffsetY() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4::IfcWindowLiningProperties::LiningToPanelOffsetY() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4::IfcWindowLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } const IfcParse::entity& Ifc4::IfcWindowLiningProperties::declaration() const { return *((IfcParse::entity*)IFC4_types[1152]); } const IfcParse::entity& Ifc4::IfcWindowLiningProperties::Class() { return *((IfcParse::entity*)IFC4_types[1152]); } Ifc4::IfcWindowLiningProperties::IfcWindowLiningProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4::IfcWindowLiningProperties::IfcWindowLiningProperties(std::string v1_GlobalId, ::Ifc4::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, ::Ifc4::IfcShapeAspect* v13_ShapeAspectStyle, boost::optional< double > v14_LiningOffset, boost::optional< double > v15_LiningToPanelOffsetX, boost::optional< double > v16_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, v13_ShapeAspectStyle ? v13_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); }; populate_derived(); } +Ifc4::IfcWindowLiningProperties::IfcWindowLiningProperties(std::string v1_GlobalId, ::Ifc4::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, ::Ifc4::IfcShapeAspect* v13_ShapeAspectStyle, boost::optional< double > v14_LiningOffset, boost::optional< double > v15_LiningToPanelOffsetX, boost::optional< double > v16_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, v13_ShapeAspectStyle ? v13_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); }; populate_derived(); } // Function implementations for IfcWindowPanelProperties -::Ifc4::IfcWindowPanelOperationEnum::Value Ifc4::IfcWindowPanelProperties::OperationType() const { return ::Ifc4::IfcWindowPanelOperationEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4::IfcWindowPanelOperationEnum::Value Ifc4::IfcWindowPanelProperties::OperationType() const { return ::Ifc4::IfcWindowPanelOperationEnum::FromString(get_attribute_value(4)); } void Ifc4::IfcWindowPanelProperties::setOperationType(::Ifc4::IfcWindowPanelOperationEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4::IfcWindowPanelOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc4::IfcWindowPanelPositionEnum::Value Ifc4::IfcWindowPanelProperties::PanelPosition() const { return ::Ifc4::IfcWindowPanelPositionEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4::IfcWindowPanelPositionEnum::Value Ifc4::IfcWindowPanelProperties::PanelPosition() const { return ::Ifc4::IfcWindowPanelPositionEnum::FromString(get_attribute_value(5)); } void Ifc4::IfcWindowPanelProperties::setPanelPosition(::Ifc4::IfcWindowPanelPositionEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4::IfcWindowPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4::IfcWindowPanelProperties::FrameDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4::IfcWindowPanelProperties::FrameDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4::IfcWindowPanelProperties::FrameThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4::IfcWindowPanelProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4::IfcShapeAspect* Ifc4::IfcWindowPanelProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4::IfcShapeAspect>(true); } +::Ifc4::IfcShapeAspect* Ifc4::IfcWindowPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4::IfcShapeAspect>(true); } void Ifc4::IfcWindowPanelProperties::setShapeAspectStyle(::Ifc4::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4::IfcWindowPanelProperties::declaration() const { return *((IfcParse::entity*)IFC4_types[1155]); } const IfcParse::entity& Ifc4::IfcWindowPanelProperties::Class() { return *((IfcParse::entity*)IFC4_types[1155]); } Ifc4::IfcWindowPanelProperties::IfcWindowPanelProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4::IfcWindowPanelProperties::IfcWindowPanelProperties(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4::IfcWindowPanelProperties::IfcWindowPanelProperties(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcWindowStandardCase @@ -15869,137 +15869,137 @@ Ifc4::IfcWindowPanelProperties::IfcWindowPanelProperties(std::string v1_GlobalId const IfcParse::entity& Ifc4::IfcWindowStandardCase::declaration() const { return *((IfcParse::entity*)IFC4_types[1156]); } const IfcParse::entity& Ifc4::IfcWindowStandardCase::Class() { return *((IfcParse::entity*)IFC4_types[1156]); } Ifc4::IfcWindowStandardCase::IfcWindowStandardCase(IfcEntityInstanceData&& e) : IfcWindow(std::move(e)) { } -Ifc4::IfcWindowStandardCase::IfcWindowStandardCase(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcWindow(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } +Ifc4::IfcWindowStandardCase::IfcWindowStandardCase(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcWindow(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } // Function implementations for IfcWindowStyle -::Ifc4::IfcWindowStyleConstructionEnum::Value Ifc4::IfcWindowStyle::ConstructionType() const { return ::Ifc4::IfcWindowStyleConstructionEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4::IfcWindowStyleConstructionEnum::Value Ifc4::IfcWindowStyle::ConstructionType() const { return ::Ifc4::IfcWindowStyleConstructionEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcWindowStyle::setConstructionType(::Ifc4::IfcWindowStyleConstructionEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4::IfcWindowStyleConstructionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc4::IfcWindowStyleOperationEnum::Value Ifc4::IfcWindowStyle::OperationType() const { return ::Ifc4::IfcWindowStyleOperationEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcWindowStyleOperationEnum::Value Ifc4::IfcWindowStyle::OperationType() const { return ::Ifc4::IfcWindowStyleOperationEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcWindowStyle::setOperationType(::Ifc4::IfcWindowStyleOperationEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcWindowStyleOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -bool Ifc4::IfcWindowStyle::ParameterTakesPrecedence() const { bool v = data_.get_attribute_value(10); return v; } +bool Ifc4::IfcWindowStyle::ParameterTakesPrecedence() const { bool v = get_attribute_value(10); return v; } void Ifc4::IfcWindowStyle::setParameterTakesPrecedence(bool v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -bool Ifc4::IfcWindowStyle::Sizeable() const { bool v = data_.get_attribute_value(11); return v; } +bool Ifc4::IfcWindowStyle::Sizeable() const { bool v = get_attribute_value(11); return v; } void Ifc4::IfcWindowStyle::setSizeable(bool v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4::IfcWindowStyle::declaration() const { return *((IfcParse::entity*)IFC4_types[1157]); } const IfcParse::entity& Ifc4::IfcWindowStyle::Class() { return *((IfcParse::entity*)IFC4_types[1157]); } Ifc4::IfcWindowStyle::IfcWindowStyle(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(e)) { } -Ifc4::IfcWindowStyle::IfcWindowStyle(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, ::Ifc4::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcWindowStyleConstructionEnum::Class(),(size_t)v9_ConstructionType)));set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcWindowStyleOperationEnum::Class(),(size_t)v10_OperationType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; populate_derived(); } +Ifc4::IfcWindowStyle::IfcWindowStyle(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, ::Ifc4::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcWindowStyleConstructionEnum::Class(),(size_t)v9_ConstructionType)));set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcWindowStyleOperationEnum::Class(),(size_t)v10_OperationType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; populate_derived(); } // Function implementations for IfcWindowType -::Ifc4::IfcWindowTypeEnum::Value Ifc4::IfcWindowType::PredefinedType() const { return ::Ifc4::IfcWindowTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4::IfcWindowTypeEnum::Value Ifc4::IfcWindowType::PredefinedType() const { return ::Ifc4::IfcWindowTypeEnum::FromString(get_attribute_value(9)); } void Ifc4::IfcWindowType::setPredefinedType(::Ifc4::IfcWindowTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4::IfcWindowTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4::IfcWindowTypePartitioningEnum::Value Ifc4::IfcWindowType::PartitioningType() const { return ::Ifc4::IfcWindowTypePartitioningEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4::IfcWindowTypePartitioningEnum::Value Ifc4::IfcWindowType::PartitioningType() const { return ::Ifc4::IfcWindowTypePartitioningEnum::FromString(get_attribute_value(10)); } void Ifc4::IfcWindowType::setPartitioningType(::Ifc4::IfcWindowTypePartitioningEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4::IfcWindowTypePartitioningEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } -boost::optional< bool > Ifc4::IfcWindowType::ParameterTakesPrecedence() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } bool v = data_.get_attribute_value(11); return v; } +boost::optional< bool > Ifc4::IfcWindowType::ParameterTakesPrecedence() const { if(get_attribute_value(11).isNull()) { return boost::none; } bool v = get_attribute_value(11); return v; } void Ifc4::IfcWindowType::setParameterTakesPrecedence(boost::optional< bool > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4::IfcWindowType::UserDefinedPartitioningType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4::IfcWindowType::UserDefinedPartitioningType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4::IfcWindowType::setUserDefinedPartitioningType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4::IfcWindowType::declaration() const { return *((IfcParse::entity*)IFC4_types[1160]); } const IfcParse::entity& Ifc4::IfcWindowType::Class() { return *((IfcParse::entity*)IFC4_types[1160]); } Ifc4::IfcWindowType::IfcWindowType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4::IfcWindowType::IfcWindowType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } +Ifc4::IfcWindowType::IfcWindowType(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } // Function implementations for IfcWorkCalendar -boost::optional< aggregate_of< ::Ifc4::IfcWorkTime >::ptr > Ifc4::IfcWorkCalendar::WorkingTimes() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4::IfcWorkTime >(); } +boost::optional< aggregate_of< ::Ifc4::IfcWorkTime >::ptr > Ifc4::IfcWorkCalendar::WorkingTimes() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4::IfcWorkTime >(); } void Ifc4::IfcWorkCalendar::setWorkingTimes(boost::optional< aggregate_of< ::Ifc4::IfcWorkTime >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4::IfcWorkTime >::ptr > Ifc4::IfcWorkCalendar::ExceptionTimes() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4::IfcWorkTime >(); } +boost::optional< aggregate_of< ::Ifc4::IfcWorkTime >::ptr > Ifc4::IfcWorkCalendar::ExceptionTimes() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4::IfcWorkTime >(); } void Ifc4::IfcWorkCalendar::setExceptionTimes(boost::optional< aggregate_of< ::Ifc4::IfcWorkTime >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4::IfcWorkCalendarTypeEnum::Value > Ifc4::IfcWorkCalendar::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcWorkCalendarTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4::IfcWorkCalendarTypeEnum::Value > Ifc4::IfcWorkCalendar::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4::IfcWorkCalendarTypeEnum::FromString(get_attribute_value(8)); } void Ifc4::IfcWorkCalendar::setPredefinedType(boost::optional< ::Ifc4::IfcWorkCalendarTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4::IfcWorkCalendarTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcWorkCalendar::declaration() const { return *((IfcParse::entity*)IFC4_types[1163]); } const IfcParse::entity& Ifc4::IfcWorkCalendar::Class() { return *((IfcParse::entity*)IFC4_types[1163]); } Ifc4::IfcWorkCalendar::IfcWorkCalendar(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4::IfcWorkCalendar::IfcWorkCalendar(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< aggregate_of< ::Ifc4::IfcWorkTime >::ptr > v7_WorkingTimes, boost::optional< aggregate_of< ::Ifc4::IfcWorkTime >::ptr > v8_ExceptionTimes, boost::optional< ::Ifc4::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, (*v7_WorkingTimes)->generalize()); } if (v8_ExceptionTimes) {set_attribute_value(7, (*v8_ExceptionTimes)->generalize()); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4::IfcWorkCalendar::IfcWorkCalendar(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< aggregate_of< ::Ifc4::IfcWorkTime >::ptr > v7_WorkingTimes, boost::optional< aggregate_of< ::Ifc4::IfcWorkTime >::ptr > v8_ExceptionTimes, boost::optional< ::Ifc4::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, (*v7_WorkingTimes)->generalize()); } if (v8_ExceptionTimes) {set_attribute_value(7, (*v8_ExceptionTimes)->generalize()); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWorkControl -std::string Ifc4::IfcWorkControl::CreationDate() const { std::string v = data_.get_attribute_value(6); return v; } +std::string Ifc4::IfcWorkControl::CreationDate() const { std::string v = get_attribute_value(6); return v; } void Ifc4::IfcWorkControl::setCreationDate(std::string v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< aggregate_of< ::Ifc4::IfcPerson >::ptr > Ifc4::IfcWorkControl::Creators() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4::IfcPerson >(); } +boost::optional< aggregate_of< ::Ifc4::IfcPerson >::ptr > Ifc4::IfcWorkControl::Creators() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4::IfcPerson >(); } void Ifc4::IfcWorkControl::setCreators(boost::optional< aggregate_of< ::Ifc4::IfcPerson >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4::IfcWorkControl::Purpose() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4::IfcWorkControl::Purpose() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4::IfcWorkControl::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4::IfcWorkControl::Duration() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4::IfcWorkControl::Duration() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4::IfcWorkControl::setDuration(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4::IfcWorkControl::TotalFloat() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4::IfcWorkControl::TotalFloat() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4::IfcWorkControl::setTotalFloat(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -std::string Ifc4::IfcWorkControl::StartTime() const { std::string v = data_.get_attribute_value(11); return v; } +std::string Ifc4::IfcWorkControl::StartTime() const { std::string v = get_attribute_value(11); return v; } void Ifc4::IfcWorkControl::setStartTime(std::string v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } -boost::optional< std::string > Ifc4::IfcWorkControl::FinishTime() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4::IfcWorkControl::FinishTime() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4::IfcWorkControl::setFinishTime(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4::IfcWorkControl::declaration() const { return *((IfcParse::entity*)IFC4_types[1165]); } const IfcParse::entity& Ifc4::IfcWorkControl::Class() { return *((IfcParse::entity*)IFC4_types[1165]); } Ifc4::IfcWorkControl::IfcWorkControl(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4::IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime) : IfcControl(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); }; populate_derived(); } +Ifc4::IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); }; populate_derived(); } // Function implementations for IfcWorkPlan -boost::optional< ::Ifc4::IfcWorkPlanTypeEnum::Value > Ifc4::IfcWorkPlan::PredefinedType() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4::IfcWorkPlanTypeEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4::IfcWorkPlanTypeEnum::Value > Ifc4::IfcWorkPlan::PredefinedType() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4::IfcWorkPlanTypeEnum::FromString(get_attribute_value(13)); } void Ifc4::IfcWorkPlan::setPredefinedType(boost::optional< ::Ifc4::IfcWorkPlanTypeEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4::IfcWorkPlanTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } const IfcParse::entity& Ifc4::IfcWorkPlan::declaration() const { return *((IfcParse::entity*)IFC4_types[1166]); } const IfcParse::entity& Ifc4::IfcWorkPlan::Class() { return *((IfcParse::entity*)IFC4_types[1166]); } Ifc4::IfcWorkPlan::IfcWorkPlan(IfcEntityInstanceData&& e) : IfcWorkControl(std::move(e)) { } -Ifc4::IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< ::Ifc4::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } +Ifc4::IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< ::Ifc4::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWorkSchedule -boost::optional< ::Ifc4::IfcWorkScheduleTypeEnum::Value > Ifc4::IfcWorkSchedule::PredefinedType() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4::IfcWorkScheduleTypeEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4::IfcWorkScheduleTypeEnum::Value > Ifc4::IfcWorkSchedule::PredefinedType() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4::IfcWorkScheduleTypeEnum::FromString(get_attribute_value(13)); } void Ifc4::IfcWorkSchedule::setPredefinedType(boost::optional< ::Ifc4::IfcWorkScheduleTypeEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4::IfcWorkScheduleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } const IfcParse::entity& Ifc4::IfcWorkSchedule::declaration() const { return *((IfcParse::entity*)IFC4_types[1168]); } const IfcParse::entity& Ifc4::IfcWorkSchedule::Class() { return *((IfcParse::entity*)IFC4_types[1168]); } Ifc4::IfcWorkSchedule::IfcWorkSchedule(IfcEntityInstanceData&& e) : IfcWorkControl(std::move(e)) { } -Ifc4::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< ::Ifc4::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } +Ifc4::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< ::Ifc4::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWorkTime -::Ifc4::IfcRecurrencePattern* Ifc4::IfcWorkTime::RecurrencePattern() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4::IfcRecurrencePattern>(true); } +::Ifc4::IfcRecurrencePattern* Ifc4::IfcWorkTime::RecurrencePattern() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4::IfcRecurrencePattern>(true); } void Ifc4::IfcWorkTime::setRecurrencePattern(::Ifc4::IfcRecurrencePattern* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4::IfcWorkTime::Start() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4::IfcWorkTime::Start() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4::IfcWorkTime::setStart(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4::IfcWorkTime::Finish() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4::IfcWorkTime::Finish() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcWorkTime::setFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4::IfcWorkTime::declaration() const { return *((IfcParse::entity*)IFC4_types[1170]); } const IfcParse::entity& Ifc4::IfcWorkTime::Class() { return *((IfcParse::entity*)IFC4_types[1170]); } Ifc4::IfcWorkTime::IfcWorkTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4::IfcWorkTime::IfcWorkTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4::IfcRecurrencePattern* v4_RecurrencePattern, boost::optional< std::string > v5_Start, boost::optional< std::string > v6_Finish) : IfcSchedulingTime(IfcEntityInstanceData(storage_t(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_RecurrencePattern ? v4_RecurrencePattern->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Start) {set_attribute_value(4, (*v5_Start)); } if (v6_Finish) {set_attribute_value(5, (*v6_Finish)); }; populate_derived(); } +Ifc4::IfcWorkTime::IfcWorkTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4::IfcRecurrencePattern* v4_RecurrencePattern, boost::optional< std::string > v5_Start, boost::optional< std::string > v6_Finish) : IfcSchedulingTime(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_RecurrencePattern ? v4_RecurrencePattern->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Start) {set_attribute_value(4, (*v5_Start)); } if (v6_Finish) {set_attribute_value(5, (*v6_Finish)); }; populate_derived(); } // Function implementations for IfcZShapeProfileDef -double Ifc4::IfcZShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4::IfcZShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4::IfcZShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4::IfcZShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4::IfcZShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc4::IfcZShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4::IfcZShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4::IfcZShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4::IfcZShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4::IfcZShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4::IfcZShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4::IfcZShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4::IfcZShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4::IfcZShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4::IfcZShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4::IfcZShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4::IfcZShapeProfileDef::EdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4::IfcZShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4::IfcZShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4_types[1172]); } const IfcParse::entity& Ifc4::IfcZShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4_types[1172]); } Ifc4::IfcZShapeProfileDef::IfcZShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4::IfcZShapeProfileDef::IfcZShapeProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::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(storage_t(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; populate_derived(); } +Ifc4::IfcZShapeProfileDef::IfcZShapeProfileDef(::Ifc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4::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(in_memory_attribute_storage(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; populate_derived(); } // Function implementations for IfcZone -boost::optional< std::string > Ifc4::IfcZone::LongName() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4::IfcZone::LongName() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4::IfcZone::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4::IfcZone::declaration() const { return *((IfcParse::entity*)IFC4_types[1171]); } const IfcParse::entity& Ifc4::IfcZone::Class() { return *((IfcParse::entity*)IFC4_types[1171]); } Ifc4::IfcZone::IfcZone(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4::IfcZone::IfcZone(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName) : IfcSystem(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); }; populate_derived(); } +Ifc4::IfcZone::IfcZone(std::string v1_GlobalId, ::Ifc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); }; populate_derived(); } diff --git a/src/ifcparse/Ifc4x1.cpp b/src/ifcparse/Ifc4x1.cpp index 561c3e3efa..fde72533c2 100644 --- a/src/ifcparse/Ifc4x1.cpp +++ b/src/ifcparse/Ifc4x1.cpp @@ -63,7 +63,7 @@ Ifc4x1::IfcActionRequestTypeEnum::Value Ifc4x1::IfcActionRequestTypeEnum::FromSt } Ifc4x1::IfcActionRequestTypeEnum::operator Ifc4x1::IfcActionRequestTypeEnum::Value() const { - return (Ifc4x1::IfcActionRequestTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcActionRequestTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcActionSourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[4]); } @@ -90,7 +90,7 @@ Ifc4x1::IfcActionSourceTypeEnum::Value Ifc4x1::IfcActionSourceTypeEnum::FromStri } Ifc4x1::IfcActionSourceTypeEnum::operator Ifc4x1::IfcActionSourceTypeEnum::Value() const { - return (Ifc4x1::IfcActionSourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcActionSourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcActionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[5]); } @@ -117,7 +117,7 @@ Ifc4x1::IfcActionTypeEnum::Value Ifc4x1::IfcActionTypeEnum::FromString(const std } Ifc4x1::IfcActionTypeEnum::operator Ifc4x1::IfcActionTypeEnum::Value() const { - return (Ifc4x1::IfcActionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcActionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcActuatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[11]); } @@ -144,7 +144,7 @@ Ifc4x1::IfcActuatorTypeEnum::Value Ifc4x1::IfcActuatorTypeEnum::FromString(const } Ifc4x1::IfcActuatorTypeEnum::operator Ifc4x1::IfcActuatorTypeEnum::Value() const { - return (Ifc4x1::IfcActuatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcActuatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcAddressTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[13]); } @@ -171,7 +171,7 @@ Ifc4x1::IfcAddressTypeEnum::Value Ifc4x1::IfcAddressTypeEnum::FromString(const s } Ifc4x1::IfcAddressTypeEnum::operator Ifc4x1::IfcAddressTypeEnum::Value() const { - return (Ifc4x1::IfcAddressTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcAddressTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcAirTerminalBoxTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[20]); } @@ -198,7 +198,7 @@ Ifc4x1::IfcAirTerminalBoxTypeEnum::Value Ifc4x1::IfcAirTerminalBoxTypeEnum::From } Ifc4x1::IfcAirTerminalBoxTypeEnum::operator Ifc4x1::IfcAirTerminalBoxTypeEnum::Value() const { - return (Ifc4x1::IfcAirTerminalBoxTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcAirTerminalBoxTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcAirTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[22]); } @@ -225,7 +225,7 @@ Ifc4x1::IfcAirTerminalTypeEnum::Value Ifc4x1::IfcAirTerminalTypeEnum::FromString } Ifc4x1::IfcAirTerminalTypeEnum::operator Ifc4x1::IfcAirTerminalTypeEnum::Value() const { - return (Ifc4x1::IfcAirTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcAirTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[25]); } @@ -252,7 +252,7 @@ Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x1::IfcAirToAirHeatRecoveryTy } Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::operator Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value() const { - return (Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcAlarmTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[28]); } @@ -279,7 +279,7 @@ Ifc4x1::IfcAlarmTypeEnum::Value Ifc4x1::IfcAlarmTypeEnum::FromString(const std:: } Ifc4x1::IfcAlarmTypeEnum::operator Ifc4x1::IfcAlarmTypeEnum::Value() const { - return (Ifc4x1::IfcAlarmTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcAlarmTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcAlignmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[39]); } @@ -306,7 +306,7 @@ Ifc4x1::IfcAlignmentTypeEnum::Value Ifc4x1::IfcAlignmentTypeEnum::FromString(con } Ifc4x1::IfcAlignmentTypeEnum::operator Ifc4x1::IfcAlignmentTypeEnum::Value() const { - return (Ifc4x1::IfcAlignmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcAlignmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcAnalysisModelTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[41]); } @@ -333,7 +333,7 @@ Ifc4x1::IfcAnalysisModelTypeEnum::Value Ifc4x1::IfcAnalysisModelTypeEnum::FromSt } Ifc4x1::IfcAnalysisModelTypeEnum::operator Ifc4x1::IfcAnalysisModelTypeEnum::Value() const { - return (Ifc4x1::IfcAnalysisModelTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcAnalysisModelTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcAnalysisTheoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[42]); } @@ -360,7 +360,7 @@ Ifc4x1::IfcAnalysisTheoryTypeEnum::Value Ifc4x1::IfcAnalysisTheoryTypeEnum::From } Ifc4x1::IfcAnalysisTheoryTypeEnum::operator Ifc4x1::IfcAnalysisTheoryTypeEnum::Value() const { - return (Ifc4x1::IfcAnalysisTheoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcAnalysisTheoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcArithmeticOperatorEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[57]); } @@ -387,7 +387,7 @@ Ifc4x1::IfcArithmeticOperatorEnum::Value Ifc4x1::IfcArithmeticOperatorEnum::From } Ifc4x1::IfcArithmeticOperatorEnum::operator Ifc4x1::IfcArithmeticOperatorEnum::Value() const { - return (Ifc4x1::IfcArithmeticOperatorEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcArithmeticOperatorEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcAssemblyPlaceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[58]); } @@ -414,7 +414,7 @@ Ifc4x1::IfcAssemblyPlaceEnum::Value Ifc4x1::IfcAssemblyPlaceEnum::FromString(con } Ifc4x1::IfcAssemblyPlaceEnum::operator Ifc4x1::IfcAssemblyPlaceEnum::Value() const { - return (Ifc4x1::IfcAssemblyPlaceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcAssemblyPlaceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcAudioVisualApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[63]); } @@ -441,7 +441,7 @@ Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value Ifc4x1::IfcAudioVisualApplianceTy } Ifc4x1::IfcAudioVisualApplianceTypeEnum::operator Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value() const { - return (Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcBSplineCurveForm::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[97]); } @@ -468,7 +468,7 @@ Ifc4x1::IfcBSplineCurveForm::Value Ifc4x1::IfcBSplineCurveForm::FromString(const } Ifc4x1::IfcBSplineCurveForm::operator Ifc4x1::IfcBSplineCurveForm::Value() const { - return (Ifc4x1::IfcBSplineCurveForm::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcBSplineCurveForm::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcBSplineSurfaceForm::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[100]); } @@ -495,7 +495,7 @@ Ifc4x1::IfcBSplineSurfaceForm::Value Ifc4x1::IfcBSplineSurfaceForm::FromString(c } Ifc4x1::IfcBSplineSurfaceForm::operator Ifc4x1::IfcBSplineSurfaceForm::Value() const { - return (Ifc4x1::IfcBSplineSurfaceForm::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcBSplineSurfaceForm::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcBeamTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[71]); } @@ -522,7 +522,7 @@ Ifc4x1::IfcBeamTypeEnum::Value Ifc4x1::IfcBeamTypeEnum::FromString(const std::st } Ifc4x1::IfcBeamTypeEnum::operator Ifc4x1::IfcBeamTypeEnum::Value() const { - return (Ifc4x1::IfcBeamTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcBeamTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcBenchmarkEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[72]); } @@ -549,7 +549,7 @@ Ifc4x1::IfcBenchmarkEnum::Value Ifc4x1::IfcBenchmarkEnum::FromString(const std:: } Ifc4x1::IfcBenchmarkEnum::operator Ifc4x1::IfcBenchmarkEnum::Value() const { - return (Ifc4x1::IfcBenchmarkEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcBenchmarkEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcBoilerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[79]); } @@ -576,7 +576,7 @@ Ifc4x1::IfcBoilerTypeEnum::Value Ifc4x1::IfcBoilerTypeEnum::FromString(const std } Ifc4x1::IfcBoilerTypeEnum::operator Ifc4x1::IfcBoilerTypeEnum::Value() const { - return (Ifc4x1::IfcBoilerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcBoilerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcBooleanOperator::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[83]); } @@ -603,7 +603,7 @@ Ifc4x1::IfcBooleanOperator::Value Ifc4x1::IfcBooleanOperator::FromString(const s } Ifc4x1::IfcBooleanOperator::operator Ifc4x1::IfcBooleanOperator::Value() const { - return (Ifc4x1::IfcBooleanOperator::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcBooleanOperator::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcBuildingElementPartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[106]); } @@ -630,7 +630,7 @@ Ifc4x1::IfcBuildingElementPartTypeEnum::Value Ifc4x1::IfcBuildingElementPartType } Ifc4x1::IfcBuildingElementPartTypeEnum::operator Ifc4x1::IfcBuildingElementPartTypeEnum::Value() const { - return (Ifc4x1::IfcBuildingElementPartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcBuildingElementPartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcBuildingElementProxyTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[109]); } @@ -657,7 +657,7 @@ Ifc4x1::IfcBuildingElementProxyTypeEnum::Value Ifc4x1::IfcBuildingElementProxyTy } Ifc4x1::IfcBuildingElementProxyTypeEnum::operator Ifc4x1::IfcBuildingElementProxyTypeEnum::Value() const { - return (Ifc4x1::IfcBuildingElementProxyTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcBuildingElementProxyTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcBuildingSystemTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[113]); } @@ -684,7 +684,7 @@ Ifc4x1::IfcBuildingSystemTypeEnum::Value Ifc4x1::IfcBuildingSystemTypeEnum::From } Ifc4x1::IfcBuildingSystemTypeEnum::operator Ifc4x1::IfcBuildingSystemTypeEnum::Value() const { - return (Ifc4x1::IfcBuildingSystemTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcBuildingSystemTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcBurnerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[116]); } @@ -711,7 +711,7 @@ Ifc4x1::IfcBurnerTypeEnum::Value Ifc4x1::IfcBurnerTypeEnum::FromString(const std } Ifc4x1::IfcBurnerTypeEnum::operator Ifc4x1::IfcBurnerTypeEnum::Value() const { - return (Ifc4x1::IfcBurnerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcBurnerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcCableCarrierFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[119]); } @@ -738,7 +738,7 @@ Ifc4x1::IfcCableCarrierFittingTypeEnum::Value Ifc4x1::IfcCableCarrierFittingType } Ifc4x1::IfcCableCarrierFittingTypeEnum::operator Ifc4x1::IfcCableCarrierFittingTypeEnum::Value() const { - return (Ifc4x1::IfcCableCarrierFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcCableCarrierFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcCableCarrierSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[122]); } @@ -765,7 +765,7 @@ Ifc4x1::IfcCableCarrierSegmentTypeEnum::Value Ifc4x1::IfcCableCarrierSegmentType } Ifc4x1::IfcCableCarrierSegmentTypeEnum::operator Ifc4x1::IfcCableCarrierSegmentTypeEnum::Value() const { - return (Ifc4x1::IfcCableCarrierSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcCableCarrierSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcCableFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[125]); } @@ -792,7 +792,7 @@ Ifc4x1::IfcCableFittingTypeEnum::Value Ifc4x1::IfcCableFittingTypeEnum::FromStri } Ifc4x1::IfcCableFittingTypeEnum::operator Ifc4x1::IfcCableFittingTypeEnum::Value() const { - return (Ifc4x1::IfcCableFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcCableFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcCableSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[128]); } @@ -819,7 +819,7 @@ Ifc4x1::IfcCableSegmentTypeEnum::Value Ifc4x1::IfcCableSegmentTypeEnum::FromStri } Ifc4x1::IfcCableSegmentTypeEnum::operator Ifc4x1::IfcCableSegmentTypeEnum::Value() const { - return (Ifc4x1::IfcCableSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcCableSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcChangeActionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[140]); } @@ -846,7 +846,7 @@ Ifc4x1::IfcChangeActionEnum::Value Ifc4x1::IfcChangeActionEnum::FromString(const } Ifc4x1::IfcChangeActionEnum::operator Ifc4x1::IfcChangeActionEnum::Value() const { - return (Ifc4x1::IfcChangeActionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcChangeActionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcChillerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[143]); } @@ -873,7 +873,7 @@ Ifc4x1::IfcChillerTypeEnum::Value Ifc4x1::IfcChillerTypeEnum::FromString(const s } Ifc4x1::IfcChillerTypeEnum::operator Ifc4x1::IfcChillerTypeEnum::Value() const { - return (Ifc4x1::IfcChillerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcChillerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcChimneyTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[146]); } @@ -900,7 +900,7 @@ Ifc4x1::IfcChimneyTypeEnum::Value Ifc4x1::IfcChimneyTypeEnum::FromString(const s } Ifc4x1::IfcChimneyTypeEnum::operator Ifc4x1::IfcChimneyTypeEnum::Value() const { - return (Ifc4x1::IfcChimneyTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcChimneyTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcCoilTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[160]); } @@ -927,7 +927,7 @@ Ifc4x1::IfcCoilTypeEnum::Value Ifc4x1::IfcCoilTypeEnum::FromString(const std::st } Ifc4x1::IfcCoilTypeEnum::operator Ifc4x1::IfcCoilTypeEnum::Value() const { - return (Ifc4x1::IfcCoilTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcCoilTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcColumnTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[169]); } @@ -954,7 +954,7 @@ Ifc4x1::IfcColumnTypeEnum::Value Ifc4x1::IfcColumnTypeEnum::FromString(const std } Ifc4x1::IfcColumnTypeEnum::operator Ifc4x1::IfcColumnTypeEnum::Value() const { - return (Ifc4x1::IfcColumnTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcColumnTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcCommunicationsApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[172]); } @@ -981,7 +981,7 @@ Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value Ifc4x1::IfcCommunicationsAppli } Ifc4x1::IfcCommunicationsApplianceTypeEnum::operator Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value() const { - return (Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcComplexPropertyTemplateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[176]); } @@ -1008,7 +1008,7 @@ Ifc4x1::IfcComplexPropertyTemplateTypeEnum::Value Ifc4x1::IfcComplexPropertyTemp } Ifc4x1::IfcComplexPropertyTemplateTypeEnum::operator Ifc4x1::IfcComplexPropertyTemplateTypeEnum::Value() const { - return (Ifc4x1::IfcComplexPropertyTemplateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcComplexPropertyTemplateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcCompressorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[184]); } @@ -1035,7 +1035,7 @@ Ifc4x1::IfcCompressorTypeEnum::Value Ifc4x1::IfcCompressorTypeEnum::FromString(c } Ifc4x1::IfcCompressorTypeEnum::operator Ifc4x1::IfcCompressorTypeEnum::Value() const { - return (Ifc4x1::IfcCompressorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcCompressorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcCondenserTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[187]); } @@ -1062,7 +1062,7 @@ Ifc4x1::IfcCondenserTypeEnum::Value Ifc4x1::IfcCondenserTypeEnum::FromString(con } Ifc4x1::IfcCondenserTypeEnum::operator Ifc4x1::IfcCondenserTypeEnum::Value() const { - return (Ifc4x1::IfcCondenserTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcCondenserTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcConnectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[195]); } @@ -1089,7 +1089,7 @@ Ifc4x1::IfcConnectionTypeEnum::Value Ifc4x1::IfcConnectionTypeEnum::FromString(c } Ifc4x1::IfcConnectionTypeEnum::operator Ifc4x1::IfcConnectionTypeEnum::Value() const { - return (Ifc4x1::IfcConnectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcConnectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcConstraintEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[198]); } @@ -1116,7 +1116,7 @@ Ifc4x1::IfcConstraintEnum::Value Ifc4x1::IfcConstraintEnum::FromString(const std } Ifc4x1::IfcConstraintEnum::operator Ifc4x1::IfcConstraintEnum::Value() const { - return (Ifc4x1::IfcConstraintEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcConstraintEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[201]); } @@ -1143,7 +1143,7 @@ Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x1::IfcConstructionE } Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::operator Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Value() const { - return (Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcConstructionMaterialResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[204]); } @@ -1170,7 +1170,7 @@ Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x1::IfcConstructionMa } Ifc4x1::IfcConstructionMaterialResourceTypeEnum::operator Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Value() const { - return (Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcConstructionProductResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[207]); } @@ -1197,7 +1197,7 @@ Ifc4x1::IfcConstructionProductResourceTypeEnum::Value Ifc4x1::IfcConstructionPro } Ifc4x1::IfcConstructionProductResourceTypeEnum::operator Ifc4x1::IfcConstructionProductResourceTypeEnum::Value() const { - return (Ifc4x1::IfcConstructionProductResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcConstructionProductResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcControllerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[216]); } @@ -1224,7 +1224,7 @@ Ifc4x1::IfcControllerTypeEnum::Value Ifc4x1::IfcControllerTypeEnum::FromString(c } Ifc4x1::IfcControllerTypeEnum::operator Ifc4x1::IfcControllerTypeEnum::Value() const { - return (Ifc4x1::IfcControllerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcControllerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcCooledBeamTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[221]); } @@ -1251,7 +1251,7 @@ Ifc4x1::IfcCooledBeamTypeEnum::Value Ifc4x1::IfcCooledBeamTypeEnum::FromString(c } Ifc4x1::IfcCooledBeamTypeEnum::operator Ifc4x1::IfcCooledBeamTypeEnum::Value() const { - return (Ifc4x1::IfcCooledBeamTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcCooledBeamTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcCoolingTowerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[224]); } @@ -1278,7 +1278,7 @@ Ifc4x1::IfcCoolingTowerTypeEnum::Value Ifc4x1::IfcCoolingTowerTypeEnum::FromStri } Ifc4x1::IfcCoolingTowerTypeEnum::operator Ifc4x1::IfcCoolingTowerTypeEnum::Value() const { - return (Ifc4x1::IfcCoolingTowerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcCoolingTowerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcCostItemTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[229]); } @@ -1305,7 +1305,7 @@ Ifc4x1::IfcCostItemTypeEnum::Value Ifc4x1::IfcCostItemTypeEnum::FromString(const } Ifc4x1::IfcCostItemTypeEnum::operator Ifc4x1::IfcCostItemTypeEnum::Value() const { - return (Ifc4x1::IfcCostItemTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcCostItemTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcCostScheduleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[231]); } @@ -1332,7 +1332,7 @@ Ifc4x1::IfcCostScheduleTypeEnum::Value Ifc4x1::IfcCostScheduleTypeEnum::FromStri } Ifc4x1::IfcCostScheduleTypeEnum::operator Ifc4x1::IfcCostScheduleTypeEnum::Value() const { - return (Ifc4x1::IfcCostScheduleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcCostScheduleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcCoveringTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[236]); } @@ -1359,7 +1359,7 @@ Ifc4x1::IfcCoveringTypeEnum::Value Ifc4x1::IfcCoveringTypeEnum::FromString(const } Ifc4x1::IfcCoveringTypeEnum::operator Ifc4x1::IfcCoveringTypeEnum::Value() const { - return (Ifc4x1::IfcCoveringTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcCoveringTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcCrewResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[239]); } @@ -1386,7 +1386,7 @@ Ifc4x1::IfcCrewResourceTypeEnum::Value Ifc4x1::IfcCrewResourceTypeEnum::FromStri } Ifc4x1::IfcCrewResourceTypeEnum::operator Ifc4x1::IfcCrewResourceTypeEnum::Value() const { - return (Ifc4x1::IfcCrewResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcCrewResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcCurtainWallTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[247]); } @@ -1413,7 +1413,7 @@ Ifc4x1::IfcCurtainWallTypeEnum::Value Ifc4x1::IfcCurtainWallTypeEnum::FromString } Ifc4x1::IfcCurtainWallTypeEnum::operator Ifc4x1::IfcCurtainWallTypeEnum::Value() const { - return (Ifc4x1::IfcCurtainWallTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcCurtainWallTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcCurveInterpolationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[253]); } @@ -1440,7 +1440,7 @@ Ifc4x1::IfcCurveInterpolationEnum::Value Ifc4x1::IfcCurveInterpolationEnum::From } Ifc4x1::IfcCurveInterpolationEnum::operator Ifc4x1::IfcCurveInterpolationEnum::Value() const { - return (Ifc4x1::IfcCurveInterpolationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcCurveInterpolationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcDamperTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[265]); } @@ -1467,7 +1467,7 @@ Ifc4x1::IfcDamperTypeEnum::Value Ifc4x1::IfcDamperTypeEnum::FromString(const std } Ifc4x1::IfcDamperTypeEnum::operator Ifc4x1::IfcDamperTypeEnum::Value() const { - return (Ifc4x1::IfcDamperTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcDamperTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcDataOriginEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[266]); } @@ -1494,7 +1494,7 @@ Ifc4x1::IfcDataOriginEnum::Value Ifc4x1::IfcDataOriginEnum::FromString(const std } Ifc4x1::IfcDataOriginEnum::operator Ifc4x1::IfcDataOriginEnum::Value() const { - return (Ifc4x1::IfcDataOriginEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcDataOriginEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcDerivedUnitEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[276]); } @@ -1521,7 +1521,7 @@ Ifc4x1::IfcDerivedUnitEnum::Value Ifc4x1::IfcDerivedUnitEnum::FromString(const s } Ifc4x1::IfcDerivedUnitEnum::operator Ifc4x1::IfcDerivedUnitEnum::Value() const { - return (Ifc4x1::IfcDerivedUnitEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcDerivedUnitEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcDirectionSenseEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[281]); } @@ -1548,7 +1548,7 @@ Ifc4x1::IfcDirectionSenseEnum::Value Ifc4x1::IfcDirectionSenseEnum::FromString(c } Ifc4x1::IfcDirectionSenseEnum::operator Ifc4x1::IfcDirectionSenseEnum::Value() const { - return (Ifc4x1::IfcDirectionSenseEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcDirectionSenseEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcDiscreteAccessoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[284]); } @@ -1575,7 +1575,7 @@ Ifc4x1::IfcDiscreteAccessoryTypeEnum::Value Ifc4x1::IfcDiscreteAccessoryTypeEnum } Ifc4x1::IfcDiscreteAccessoryTypeEnum::operator Ifc4x1::IfcDiscreteAccessoryTypeEnum::Value() const { - return (Ifc4x1::IfcDiscreteAccessoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcDiscreteAccessoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcDistributionChamberElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[288]); } @@ -1602,7 +1602,7 @@ Ifc4x1::IfcDistributionChamberElementTypeEnum::Value Ifc4x1::IfcDistributionCham } Ifc4x1::IfcDistributionChamberElementTypeEnum::operator Ifc4x1::IfcDistributionChamberElementTypeEnum::Value() const { - return (Ifc4x1::IfcDistributionChamberElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcDistributionChamberElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcDistributionPortTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[297]); } @@ -1629,7 +1629,7 @@ Ifc4x1::IfcDistributionPortTypeEnum::Value Ifc4x1::IfcDistributionPortTypeEnum:: } Ifc4x1::IfcDistributionPortTypeEnum::operator Ifc4x1::IfcDistributionPortTypeEnum::Value() const { - return (Ifc4x1::IfcDistributionPortTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcDistributionPortTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcDistributionSystemEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[299]); } @@ -1656,7 +1656,7 @@ Ifc4x1::IfcDistributionSystemEnum::Value Ifc4x1::IfcDistributionSystemEnum::From } Ifc4x1::IfcDistributionSystemEnum::operator Ifc4x1::IfcDistributionSystemEnum::Value() const { - return (Ifc4x1::IfcDistributionSystemEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcDistributionSystemEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcDocumentConfidentialityEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[300]); } @@ -1683,7 +1683,7 @@ Ifc4x1::IfcDocumentConfidentialityEnum::Value Ifc4x1::IfcDocumentConfidentiality } Ifc4x1::IfcDocumentConfidentialityEnum::operator Ifc4x1::IfcDocumentConfidentialityEnum::Value() const { - return (Ifc4x1::IfcDocumentConfidentialityEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcDocumentConfidentialityEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcDocumentStatusEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[305]); } @@ -1710,7 +1710,7 @@ Ifc4x1::IfcDocumentStatusEnum::Value Ifc4x1::IfcDocumentStatusEnum::FromString(c } Ifc4x1::IfcDocumentStatusEnum::operator Ifc4x1::IfcDocumentStatusEnum::Value() const { - return (Ifc4x1::IfcDocumentStatusEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcDocumentStatusEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcDoorPanelOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[308]); } @@ -1737,7 +1737,7 @@ Ifc4x1::IfcDoorPanelOperationEnum::Value Ifc4x1::IfcDoorPanelOperationEnum::From } Ifc4x1::IfcDoorPanelOperationEnum::operator Ifc4x1::IfcDoorPanelOperationEnum::Value() const { - return (Ifc4x1::IfcDoorPanelOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcDoorPanelOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcDoorPanelPositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[309]); } @@ -1764,7 +1764,7 @@ Ifc4x1::IfcDoorPanelPositionEnum::Value Ifc4x1::IfcDoorPanelPositionEnum::FromSt } Ifc4x1::IfcDoorPanelPositionEnum::operator Ifc4x1::IfcDoorPanelPositionEnum::Value() const { - return (Ifc4x1::IfcDoorPanelPositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcDoorPanelPositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcDoorStyleConstructionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[313]); } @@ -1791,7 +1791,7 @@ Ifc4x1::IfcDoorStyleConstructionEnum::Value Ifc4x1::IfcDoorStyleConstructionEnum } Ifc4x1::IfcDoorStyleConstructionEnum::operator Ifc4x1::IfcDoorStyleConstructionEnum::Value() const { - return (Ifc4x1::IfcDoorStyleConstructionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcDoorStyleConstructionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcDoorStyleOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[314]); } @@ -1818,7 +1818,7 @@ Ifc4x1::IfcDoorStyleOperationEnum::Value Ifc4x1::IfcDoorStyleOperationEnum::From } Ifc4x1::IfcDoorStyleOperationEnum::operator Ifc4x1::IfcDoorStyleOperationEnum::Value() const { - return (Ifc4x1::IfcDoorStyleOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcDoorStyleOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcDoorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[316]); } @@ -1845,7 +1845,7 @@ Ifc4x1::IfcDoorTypeEnum::Value Ifc4x1::IfcDoorTypeEnum::FromString(const std::st } Ifc4x1::IfcDoorTypeEnum::operator Ifc4x1::IfcDoorTypeEnum::Value() const { - return (Ifc4x1::IfcDoorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcDoorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcDoorTypeOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[317]); } @@ -1872,7 +1872,7 @@ Ifc4x1::IfcDoorTypeOperationEnum::Value Ifc4x1::IfcDoorTypeOperationEnum::FromSt } Ifc4x1::IfcDoorTypeOperationEnum::operator Ifc4x1::IfcDoorTypeOperationEnum::Value() const { - return (Ifc4x1::IfcDoorTypeOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcDoorTypeOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcDuctFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[323]); } @@ -1899,7 +1899,7 @@ Ifc4x1::IfcDuctFittingTypeEnum::Value Ifc4x1::IfcDuctFittingTypeEnum::FromString } Ifc4x1::IfcDuctFittingTypeEnum::operator Ifc4x1::IfcDuctFittingTypeEnum::Value() const { - return (Ifc4x1::IfcDuctFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcDuctFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcDuctSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[326]); } @@ -1926,7 +1926,7 @@ Ifc4x1::IfcDuctSegmentTypeEnum::Value Ifc4x1::IfcDuctSegmentTypeEnum::FromString } Ifc4x1::IfcDuctSegmentTypeEnum::operator Ifc4x1::IfcDuctSegmentTypeEnum::Value() const { - return (Ifc4x1::IfcDuctSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcDuctSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcDuctSilencerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[329]); } @@ -1953,7 +1953,7 @@ Ifc4x1::IfcDuctSilencerTypeEnum::Value Ifc4x1::IfcDuctSilencerTypeEnum::FromStri } Ifc4x1::IfcDuctSilencerTypeEnum::operator Ifc4x1::IfcDuctSilencerTypeEnum::Value() const { - return (Ifc4x1::IfcDuctSilencerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcDuctSilencerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcElectricApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[337]); } @@ -1980,7 +1980,7 @@ Ifc4x1::IfcElectricApplianceTypeEnum::Value Ifc4x1::IfcElectricApplianceTypeEnum } Ifc4x1::IfcElectricApplianceTypeEnum::operator Ifc4x1::IfcElectricApplianceTypeEnum::Value() const { - return (Ifc4x1::IfcElectricApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcElectricApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcElectricDistributionBoardTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[344]); } @@ -2007,7 +2007,7 @@ Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value Ifc4x1::IfcElectricDistribut } Ifc4x1::IfcElectricDistributionBoardTypeEnum::operator Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value() const { - return (Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[347]); } @@ -2034,7 +2034,7 @@ Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x1::IfcElectricFlowStora } Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::operator Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value() const { - return (Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcElectricGeneratorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[350]); } @@ -2061,7 +2061,7 @@ Ifc4x1::IfcElectricGeneratorTypeEnum::Value Ifc4x1::IfcElectricGeneratorTypeEnum } Ifc4x1::IfcElectricGeneratorTypeEnum::operator Ifc4x1::IfcElectricGeneratorTypeEnum::Value() const { - return (Ifc4x1::IfcElectricGeneratorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcElectricGeneratorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcElectricMotorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[353]); } @@ -2088,7 +2088,7 @@ Ifc4x1::IfcElectricMotorTypeEnum::Value Ifc4x1::IfcElectricMotorTypeEnum::FromSt } Ifc4x1::IfcElectricMotorTypeEnum::operator Ifc4x1::IfcElectricMotorTypeEnum::Value() const { - return (Ifc4x1::IfcElectricMotorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcElectricMotorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcElectricTimeControlTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[357]); } @@ -2115,7 +2115,7 @@ Ifc4x1::IfcElectricTimeControlTypeEnum::Value Ifc4x1::IfcElectricTimeControlType } Ifc4x1::IfcElectricTimeControlTypeEnum::operator Ifc4x1::IfcElectricTimeControlTypeEnum::Value() const { - return (Ifc4x1::IfcElectricTimeControlTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcElectricTimeControlTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcElementAssemblyTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[363]); } @@ -2142,7 +2142,7 @@ Ifc4x1::IfcElementAssemblyTypeEnum::Value Ifc4x1::IfcElementAssemblyTypeEnum::Fr } Ifc4x1::IfcElementAssemblyTypeEnum::operator Ifc4x1::IfcElementAssemblyTypeEnum::Value() const { - return (Ifc4x1::IfcElementAssemblyTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcElementAssemblyTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcElementCompositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[366]); } @@ -2169,7 +2169,7 @@ Ifc4x1::IfcElementCompositionEnum::Value Ifc4x1::IfcElementCompositionEnum::From } Ifc4x1::IfcElementCompositionEnum::operator Ifc4x1::IfcElementCompositionEnum::Value() const { - return (Ifc4x1::IfcElementCompositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcElementCompositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcEngineTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[376]); } @@ -2196,7 +2196,7 @@ Ifc4x1::IfcEngineTypeEnum::Value Ifc4x1::IfcEngineTypeEnum::FromString(const std } Ifc4x1::IfcEngineTypeEnum::operator Ifc4x1::IfcEngineTypeEnum::Value() const { - return (Ifc4x1::IfcEngineTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcEngineTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcEvaporativeCoolerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[379]); } @@ -2223,7 +2223,7 @@ Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value Ifc4x1::IfcEvaporativeCoolerTypeEnum } Ifc4x1::IfcEvaporativeCoolerTypeEnum::operator Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value() const { - return (Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcEvaporatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[382]); } @@ -2250,7 +2250,7 @@ Ifc4x1::IfcEvaporatorTypeEnum::Value Ifc4x1::IfcEvaporatorTypeEnum::FromString(c } Ifc4x1::IfcEvaporatorTypeEnum::operator Ifc4x1::IfcEvaporatorTypeEnum::Value() const { - return (Ifc4x1::IfcEvaporatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcEvaporatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcEventTriggerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[385]); } @@ -2277,7 +2277,7 @@ Ifc4x1::IfcEventTriggerTypeEnum::Value Ifc4x1::IfcEventTriggerTypeEnum::FromStri } Ifc4x1::IfcEventTriggerTypeEnum::operator Ifc4x1::IfcEventTriggerTypeEnum::Value() const { - return (Ifc4x1::IfcEventTriggerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcEventTriggerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcEventTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[387]); } @@ -2304,7 +2304,7 @@ Ifc4x1::IfcEventTypeEnum::Value Ifc4x1::IfcEventTypeEnum::FromString(const std:: } Ifc4x1::IfcEventTypeEnum::operator Ifc4x1::IfcEventTypeEnum::Value() const { - return (Ifc4x1::IfcEventTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcEventTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcExternalSpatialElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[396]); } @@ -2331,7 +2331,7 @@ Ifc4x1::IfcExternalSpatialElementTypeEnum::Value Ifc4x1::IfcExternalSpatialEleme } Ifc4x1::IfcExternalSpatialElementTypeEnum::operator Ifc4x1::IfcExternalSpatialElementTypeEnum::Value() const { - return (Ifc4x1::IfcExternalSpatialElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcExternalSpatialElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcFanTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[410]); } @@ -2358,7 +2358,7 @@ Ifc4x1::IfcFanTypeEnum::Value Ifc4x1::IfcFanTypeEnum::FromString(const std::stri } Ifc4x1::IfcFanTypeEnum::operator Ifc4x1::IfcFanTypeEnum::Value() const { - return (Ifc4x1::IfcFanTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcFanTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcFastenerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[413]); } @@ -2385,7 +2385,7 @@ Ifc4x1::IfcFastenerTypeEnum::Value Ifc4x1::IfcFastenerTypeEnum::FromString(const } Ifc4x1::IfcFastenerTypeEnum::operator Ifc4x1::IfcFastenerTypeEnum::Value() const { - return (Ifc4x1::IfcFastenerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcFastenerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcFilterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[423]); } @@ -2412,7 +2412,7 @@ Ifc4x1::IfcFilterTypeEnum::Value Ifc4x1::IfcFilterTypeEnum::FromString(const std } Ifc4x1::IfcFilterTypeEnum::operator Ifc4x1::IfcFilterTypeEnum::Value() const { - return (Ifc4x1::IfcFilterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcFilterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcFireSuppressionTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[426]); } @@ -2439,7 +2439,7 @@ Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x1::IfcFireSuppressionTerm } Ifc4x1::IfcFireSuppressionTerminalTypeEnum::operator Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value() const { - return (Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcFlowDirectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[430]); } @@ -2466,7 +2466,7 @@ Ifc4x1::IfcFlowDirectionEnum::Value Ifc4x1::IfcFlowDirectionEnum::FromString(con } Ifc4x1::IfcFlowDirectionEnum::operator Ifc4x1::IfcFlowDirectionEnum::Value() const { - return (Ifc4x1::IfcFlowDirectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcFlowDirectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcFlowInstrumentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[435]); } @@ -2493,7 +2493,7 @@ Ifc4x1::IfcFlowInstrumentTypeEnum::Value Ifc4x1::IfcFlowInstrumentTypeEnum::From } Ifc4x1::IfcFlowInstrumentTypeEnum::operator Ifc4x1::IfcFlowInstrumentTypeEnum::Value() const { - return (Ifc4x1::IfcFlowInstrumentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcFlowInstrumentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcFlowMeterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[438]); } @@ -2520,7 +2520,7 @@ Ifc4x1::IfcFlowMeterTypeEnum::Value Ifc4x1::IfcFlowMeterTypeEnum::FromString(con } Ifc4x1::IfcFlowMeterTypeEnum::operator Ifc4x1::IfcFlowMeterTypeEnum::Value() const { - return (Ifc4x1::IfcFlowMeterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcFlowMeterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcFootingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[454]); } @@ -2547,7 +2547,7 @@ Ifc4x1::IfcFootingTypeEnum::Value Ifc4x1::IfcFootingTypeEnum::FromString(const s } Ifc4x1::IfcFootingTypeEnum::operator Ifc4x1::IfcFootingTypeEnum::Value() const { - return (Ifc4x1::IfcFootingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcFootingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcFurnitureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[461]); } @@ -2574,7 +2574,7 @@ Ifc4x1::IfcFurnitureTypeEnum::Value Ifc4x1::IfcFurnitureTypeEnum::FromString(con } Ifc4x1::IfcFurnitureTypeEnum::operator Ifc4x1::IfcFurnitureTypeEnum::Value() const { - return (Ifc4x1::IfcFurnitureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcFurnitureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcGeographicElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[464]); } @@ -2601,7 +2601,7 @@ Ifc4x1::IfcGeographicElementTypeEnum::Value Ifc4x1::IfcGeographicElementTypeEnum } Ifc4x1::IfcGeographicElementTypeEnum::operator Ifc4x1::IfcGeographicElementTypeEnum::Value() const { - return (Ifc4x1::IfcGeographicElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcGeographicElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcGeometricProjectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[466]); } @@ -2628,7 +2628,7 @@ Ifc4x1::IfcGeometricProjectionEnum::Value Ifc4x1::IfcGeometricProjectionEnum::Fr } Ifc4x1::IfcGeometricProjectionEnum::operator Ifc4x1::IfcGeometricProjectionEnum::Value() const { - return (Ifc4x1::IfcGeometricProjectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcGeometricProjectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcGlobalOrLocalEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[473]); } @@ -2655,7 +2655,7 @@ Ifc4x1::IfcGlobalOrLocalEnum::Value Ifc4x1::IfcGlobalOrLocalEnum::FromString(con } Ifc4x1::IfcGlobalOrLocalEnum::operator Ifc4x1::IfcGlobalOrLocalEnum::Value() const { - return (Ifc4x1::IfcGlobalOrLocalEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcGlobalOrLocalEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcGridTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[478]); } @@ -2682,7 +2682,7 @@ Ifc4x1::IfcGridTypeEnum::Value Ifc4x1::IfcGridTypeEnum::FromString(const std::st } Ifc4x1::IfcGridTypeEnum::operator Ifc4x1::IfcGridTypeEnum::Value() const { - return (Ifc4x1::IfcGridTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcGridTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcHeatExchangerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[484]); } @@ -2709,7 +2709,7 @@ Ifc4x1::IfcHeatExchangerTypeEnum::Value Ifc4x1::IfcHeatExchangerTypeEnum::FromSt } Ifc4x1::IfcHeatExchangerTypeEnum::operator Ifc4x1::IfcHeatExchangerTypeEnum::Value() const { - return (Ifc4x1::IfcHeatExchangerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcHeatExchangerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcHumidifierTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[489]); } @@ -2736,7 +2736,7 @@ Ifc4x1::IfcHumidifierTypeEnum::Value Ifc4x1::IfcHumidifierTypeEnum::FromString(c } Ifc4x1::IfcHumidifierTypeEnum::operator Ifc4x1::IfcHumidifierTypeEnum::Value() const { - return (Ifc4x1::IfcHumidifierTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcHumidifierTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcInterceptorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[504]); } @@ -2763,7 +2763,7 @@ Ifc4x1::IfcInterceptorTypeEnum::Value Ifc4x1::IfcInterceptorTypeEnum::FromString } Ifc4x1::IfcInterceptorTypeEnum::operator Ifc4x1::IfcInterceptorTypeEnum::Value() const { - return (Ifc4x1::IfcInterceptorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcInterceptorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcInternalOrExternalEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[505]); } @@ -2790,7 +2790,7 @@ Ifc4x1::IfcInternalOrExternalEnum::Value Ifc4x1::IfcInternalOrExternalEnum::From } Ifc4x1::IfcInternalOrExternalEnum::operator Ifc4x1::IfcInternalOrExternalEnum::Value() const { - return (Ifc4x1::IfcInternalOrExternalEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcInternalOrExternalEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcInventoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[508]); } @@ -2817,7 +2817,7 @@ Ifc4x1::IfcInventoryTypeEnum::Value Ifc4x1::IfcInventoryTypeEnum::FromString(con } Ifc4x1::IfcInventoryTypeEnum::operator Ifc4x1::IfcInventoryTypeEnum::Value() const { - return (Ifc4x1::IfcInventoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcInventoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcJunctionBoxTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[516]); } @@ -2844,7 +2844,7 @@ Ifc4x1::IfcJunctionBoxTypeEnum::Value Ifc4x1::IfcJunctionBoxTypeEnum::FromString } Ifc4x1::IfcJunctionBoxTypeEnum::operator Ifc4x1::IfcJunctionBoxTypeEnum::Value() const { - return (Ifc4x1::IfcJunctionBoxTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcJunctionBoxTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcKnotType::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[518]); } @@ -2871,7 +2871,7 @@ Ifc4x1::IfcKnotType::Value Ifc4x1::IfcKnotType::FromString(const std::string& s) } Ifc4x1::IfcKnotType::operator Ifc4x1::IfcKnotType::Value() const { - return (Ifc4x1::IfcKnotType::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcKnotType::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcLaborResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[522]); } @@ -2898,7 +2898,7 @@ Ifc4x1::IfcLaborResourceTypeEnum::Value Ifc4x1::IfcLaborResourceTypeEnum::FromSt } Ifc4x1::IfcLaborResourceTypeEnum::operator Ifc4x1::IfcLaborResourceTypeEnum::Value() const { - return (Ifc4x1::IfcLaborResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcLaborResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcLampTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[526]); } @@ -2925,7 +2925,7 @@ Ifc4x1::IfcLampTypeEnum::Value Ifc4x1::IfcLampTypeEnum::FromString(const std::st } Ifc4x1::IfcLampTypeEnum::operator Ifc4x1::IfcLampTypeEnum::Value() const { - return (Ifc4x1::IfcLampTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcLampTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcLayerSetDirectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[529]); } @@ -2952,7 +2952,7 @@ Ifc4x1::IfcLayerSetDirectionEnum::Value Ifc4x1::IfcLayerSetDirectionEnum::FromSt } Ifc4x1::IfcLayerSetDirectionEnum::operator Ifc4x1::IfcLayerSetDirectionEnum::Value() const { - return (Ifc4x1::IfcLayerSetDirectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcLayerSetDirectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcLightDistributionCurveEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[534]); } @@ -2979,7 +2979,7 @@ Ifc4x1::IfcLightDistributionCurveEnum::Value Ifc4x1::IfcLightDistributionCurveEn } Ifc4x1::IfcLightDistributionCurveEnum::operator Ifc4x1::IfcLightDistributionCurveEnum::Value() const { - return (Ifc4x1::IfcLightDistributionCurveEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcLightDistributionCurveEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcLightEmissionSourceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[537]); } @@ -3006,7 +3006,7 @@ Ifc4x1::IfcLightEmissionSourceEnum::Value Ifc4x1::IfcLightEmissionSourceEnum::Fr } Ifc4x1::IfcLightEmissionSourceEnum::operator Ifc4x1::IfcLightEmissionSourceEnum::Value() const { - return (Ifc4x1::IfcLightEmissionSourceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcLightEmissionSourceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcLightFixtureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[540]); } @@ -3033,7 +3033,7 @@ Ifc4x1::IfcLightFixtureTypeEnum::Value Ifc4x1::IfcLightFixtureTypeEnum::FromStri } Ifc4x1::IfcLightFixtureTypeEnum::operator Ifc4x1::IfcLightFixtureTypeEnum::Value() const { - return (Ifc4x1::IfcLightFixtureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcLightFixtureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcLoadGroupTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[557]); } @@ -3060,7 +3060,7 @@ Ifc4x1::IfcLoadGroupTypeEnum::Value Ifc4x1::IfcLoadGroupTypeEnum::FromString(con } Ifc4x1::IfcLoadGroupTypeEnum::operator Ifc4x1::IfcLoadGroupTypeEnum::Value() const { - return (Ifc4x1::IfcLoadGroupTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcLoadGroupTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcLogicalOperatorEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[560]); } @@ -3087,7 +3087,7 @@ Ifc4x1::IfcLogicalOperatorEnum::Value Ifc4x1::IfcLogicalOperatorEnum::FromString } Ifc4x1::IfcLogicalOperatorEnum::operator Ifc4x1::IfcLogicalOperatorEnum::Value() const { - return (Ifc4x1::IfcLogicalOperatorEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcLogicalOperatorEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcMechanicalFastenerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[599]); } @@ -3114,7 +3114,7 @@ Ifc4x1::IfcMechanicalFastenerTypeEnum::Value Ifc4x1::IfcMechanicalFastenerTypeEn } Ifc4x1::IfcMechanicalFastenerTypeEnum::operator Ifc4x1::IfcMechanicalFastenerTypeEnum::Value() const { - return (Ifc4x1::IfcMechanicalFastenerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcMechanicalFastenerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcMedicalDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[602]); } @@ -3141,7 +3141,7 @@ Ifc4x1::IfcMedicalDeviceTypeEnum::Value Ifc4x1::IfcMedicalDeviceTypeEnum::FromSt } Ifc4x1::IfcMedicalDeviceTypeEnum::operator Ifc4x1::IfcMedicalDeviceTypeEnum::Value() const { - return (Ifc4x1::IfcMedicalDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcMedicalDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcMemberTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[606]); } @@ -3168,7 +3168,7 @@ Ifc4x1::IfcMemberTypeEnum::Value Ifc4x1::IfcMemberTypeEnum::FromString(const std } Ifc4x1::IfcMemberTypeEnum::operator Ifc4x1::IfcMemberTypeEnum::Value() const { - return (Ifc4x1::IfcMemberTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcMemberTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcMotorConnectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[625]); } @@ -3195,7 +3195,7 @@ Ifc4x1::IfcMotorConnectionTypeEnum::Value Ifc4x1::IfcMotorConnectionTypeEnum::Fr } Ifc4x1::IfcMotorConnectionTypeEnum::operator Ifc4x1::IfcMotorConnectionTypeEnum::Value() const { - return (Ifc4x1::IfcMotorConnectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcMotorConnectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcNullStyle::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[629]); } @@ -3222,7 +3222,7 @@ Ifc4x1::IfcNullStyle::Value Ifc4x1::IfcNullStyle::FromString(const std::string& } Ifc4x1::IfcNullStyle::operator Ifc4x1::IfcNullStyle::Value() const { - return (Ifc4x1::IfcNullStyle::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcNullStyle::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcObjectTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[637]); } @@ -3249,7 +3249,7 @@ Ifc4x1::IfcObjectTypeEnum::Value Ifc4x1::IfcObjectTypeEnum::FromString(const std } Ifc4x1::IfcObjectTypeEnum::operator Ifc4x1::IfcObjectTypeEnum::Value() const { - return (Ifc4x1::IfcObjectTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcObjectTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcObjectiveEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[634]); } @@ -3276,7 +3276,7 @@ Ifc4x1::IfcObjectiveEnum::Value Ifc4x1::IfcObjectiveEnum::FromString(const std:: } Ifc4x1::IfcObjectiveEnum::operator Ifc4x1::IfcObjectiveEnum::Value() const { - return (Ifc4x1::IfcObjectiveEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcObjectiveEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcOccupantTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[639]); } @@ -3303,7 +3303,7 @@ Ifc4x1::IfcOccupantTypeEnum::Value Ifc4x1::IfcOccupantTypeEnum::FromString(const } Ifc4x1::IfcOccupantTypeEnum::operator Ifc4x1::IfcOccupantTypeEnum::Value() const { - return (Ifc4x1::IfcOccupantTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcOccupantTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcOpeningElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[645]); } @@ -3330,7 +3330,7 @@ Ifc4x1::IfcOpeningElementTypeEnum::Value Ifc4x1::IfcOpeningElementTypeEnum::From } Ifc4x1::IfcOpeningElementTypeEnum::operator Ifc4x1::IfcOpeningElementTypeEnum::Value() const { - return (Ifc4x1::IfcOpeningElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcOpeningElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcOutletTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[655]); } @@ -3357,7 +3357,7 @@ Ifc4x1::IfcOutletTypeEnum::Value Ifc4x1::IfcOutletTypeEnum::FromString(const std } Ifc4x1::IfcOutletTypeEnum::operator Ifc4x1::IfcOutletTypeEnum::Value() const { - return (Ifc4x1::IfcOutletTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcOutletTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcPerformanceHistoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[662]); } @@ -3384,7 +3384,7 @@ Ifc4x1::IfcPerformanceHistoryTypeEnum::Value Ifc4x1::IfcPerformanceHistoryTypeEn } Ifc4x1::IfcPerformanceHistoryTypeEnum::operator Ifc4x1::IfcPerformanceHistoryTypeEnum::Value() const { - return (Ifc4x1::IfcPerformanceHistoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcPerformanceHistoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcPermeableCoveringOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[663]); } @@ -3411,7 +3411,7 @@ Ifc4x1::IfcPermeableCoveringOperationEnum::Value Ifc4x1::IfcPermeableCoveringOpe } Ifc4x1::IfcPermeableCoveringOperationEnum::operator Ifc4x1::IfcPermeableCoveringOperationEnum::Value() const { - return (Ifc4x1::IfcPermeableCoveringOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcPermeableCoveringOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcPermitTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[666]); } @@ -3438,7 +3438,7 @@ Ifc4x1::IfcPermitTypeEnum::Value Ifc4x1::IfcPermitTypeEnum::FromString(const std } Ifc4x1::IfcPermitTypeEnum::operator Ifc4x1::IfcPermitTypeEnum::Value() const { - return (Ifc4x1::IfcPermitTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcPermitTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcPhysicalOrVirtualEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[671]); } @@ -3465,7 +3465,7 @@ Ifc4x1::IfcPhysicalOrVirtualEnum::Value Ifc4x1::IfcPhysicalOrVirtualEnum::FromSt } Ifc4x1::IfcPhysicalOrVirtualEnum::operator Ifc4x1::IfcPhysicalOrVirtualEnum::Value() const { - return (Ifc4x1::IfcPhysicalOrVirtualEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcPhysicalOrVirtualEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcPileConstructionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[675]); } @@ -3492,7 +3492,7 @@ Ifc4x1::IfcPileConstructionEnum::Value Ifc4x1::IfcPileConstructionEnum::FromStri } Ifc4x1::IfcPileConstructionEnum::operator Ifc4x1::IfcPileConstructionEnum::Value() const { - return (Ifc4x1::IfcPileConstructionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcPileConstructionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcPileTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[677]); } @@ -3519,7 +3519,7 @@ Ifc4x1::IfcPileTypeEnum::Value Ifc4x1::IfcPileTypeEnum::FromString(const std::st } Ifc4x1::IfcPileTypeEnum::operator Ifc4x1::IfcPileTypeEnum::Value() const { - return (Ifc4x1::IfcPileTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcPileTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcPipeFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[680]); } @@ -3546,7 +3546,7 @@ Ifc4x1::IfcPipeFittingTypeEnum::Value Ifc4x1::IfcPipeFittingTypeEnum::FromString } Ifc4x1::IfcPipeFittingTypeEnum::operator Ifc4x1::IfcPipeFittingTypeEnum::Value() const { - return (Ifc4x1::IfcPipeFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcPipeFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcPipeSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[683]); } @@ -3573,7 +3573,7 @@ Ifc4x1::IfcPipeSegmentTypeEnum::Value Ifc4x1::IfcPipeSegmentTypeEnum::FromString } Ifc4x1::IfcPipeSegmentTypeEnum::operator Ifc4x1::IfcPipeSegmentTypeEnum::Value() const { - return (Ifc4x1::IfcPipeSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcPipeSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcPlateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[694]); } @@ -3600,7 +3600,7 @@ Ifc4x1::IfcPlateTypeEnum::Value Ifc4x1::IfcPlateTypeEnum::FromString(const std:: } Ifc4x1::IfcPlateTypeEnum::operator Ifc4x1::IfcPlateTypeEnum::Value() const { - return (Ifc4x1::IfcPlateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcPlateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcPreferredSurfaceCurveRepresentation::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[717]); } @@ -3627,7 +3627,7 @@ Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x1::IfcPreferredSurfac } Ifc4x1::IfcPreferredSurfaceCurveRepresentation::operator Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Value() const { - return (Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcProcedureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[728]); } @@ -3654,7 +3654,7 @@ Ifc4x1::IfcProcedureTypeEnum::Value Ifc4x1::IfcProcedureTypeEnum::FromString(con } Ifc4x1::IfcProcedureTypeEnum::operator Ifc4x1::IfcProcedureTypeEnum::Value() const { - return (Ifc4x1::IfcProcedureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcProcedureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcProfileTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[738]); } @@ -3681,7 +3681,7 @@ Ifc4x1::IfcProfileTypeEnum::Value Ifc4x1::IfcProfileTypeEnum::FromString(const s } Ifc4x1::IfcProfileTypeEnum::operator Ifc4x1::IfcProfileTypeEnum::Value() const { - return (Ifc4x1::IfcProfileTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcProfileTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcProjectOrderTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[746]); } @@ -3708,7 +3708,7 @@ Ifc4x1::IfcProjectOrderTypeEnum::Value Ifc4x1::IfcProjectOrderTypeEnum::FromStri } Ifc4x1::IfcProjectOrderTypeEnum::operator Ifc4x1::IfcProjectOrderTypeEnum::Value() const { - return (Ifc4x1::IfcProjectOrderTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcProjectOrderTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcProjectedOrTrueLengthEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[741]); } @@ -3735,7 +3735,7 @@ Ifc4x1::IfcProjectedOrTrueLengthEnum::Value Ifc4x1::IfcProjectedOrTrueLengthEnum } Ifc4x1::IfcProjectedOrTrueLengthEnum::operator Ifc4x1::IfcProjectedOrTrueLengthEnum::Value() const { - return (Ifc4x1::IfcProjectedOrTrueLengthEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcProjectedOrTrueLengthEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcProjectionElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[743]); } @@ -3762,7 +3762,7 @@ Ifc4x1::IfcProjectionElementTypeEnum::Value Ifc4x1::IfcProjectionElementTypeEnum } Ifc4x1::IfcProjectionElementTypeEnum::operator Ifc4x1::IfcProjectionElementTypeEnum::Value() const { - return (Ifc4x1::IfcProjectionElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcProjectionElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcPropertySetTemplateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[761]); } @@ -3789,7 +3789,7 @@ Ifc4x1::IfcPropertySetTemplateTypeEnum::Value Ifc4x1::IfcPropertySetTemplateType } Ifc4x1::IfcPropertySetTemplateTypeEnum::operator Ifc4x1::IfcPropertySetTemplateTypeEnum::Value() const { - return (Ifc4x1::IfcPropertySetTemplateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcPropertySetTemplateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[769]); } @@ -3816,7 +3816,7 @@ Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x1::IfcProtectiveDevi } Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::operator Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value() const { - return (Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcProtectiveDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[771]); } @@ -3843,7 +3843,7 @@ Ifc4x1::IfcProtectiveDeviceTypeEnum::Value Ifc4x1::IfcProtectiveDeviceTypeEnum:: } Ifc4x1::IfcProtectiveDeviceTypeEnum::operator Ifc4x1::IfcProtectiveDeviceTypeEnum::Value() const { - return (Ifc4x1::IfcProtectiveDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcProtectiveDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcPumpTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[775]); } @@ -3870,7 +3870,7 @@ Ifc4x1::IfcPumpTypeEnum::Value Ifc4x1::IfcPumpTypeEnum::FromString(const std::st } Ifc4x1::IfcPumpTypeEnum::operator Ifc4x1::IfcPumpTypeEnum::Value() const { - return (Ifc4x1::IfcPumpTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcPumpTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcRailingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[786]); } @@ -3897,7 +3897,7 @@ Ifc4x1::IfcRailingTypeEnum::Value Ifc4x1::IfcRailingTypeEnum::FromString(const s } Ifc4x1::IfcRailingTypeEnum::operator Ifc4x1::IfcRailingTypeEnum::Value() const { - return (Ifc4x1::IfcRailingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcRailingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcRampFlightTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[790]); } @@ -3924,7 +3924,7 @@ Ifc4x1::IfcRampFlightTypeEnum::Value Ifc4x1::IfcRampFlightTypeEnum::FromString(c } Ifc4x1::IfcRampFlightTypeEnum::operator Ifc4x1::IfcRampFlightTypeEnum::Value() const { - return (Ifc4x1::IfcRampFlightTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcRampFlightTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcRampTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[792]); } @@ -3951,7 +3951,7 @@ Ifc4x1::IfcRampTypeEnum::Value Ifc4x1::IfcRampTypeEnum::FromString(const std::st } Ifc4x1::IfcRampTypeEnum::operator Ifc4x1::IfcRampTypeEnum::Value() const { - return (Ifc4x1::IfcRampTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcRampTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcRecurrenceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[802]); } @@ -3978,7 +3978,7 @@ Ifc4x1::IfcRecurrenceTypeEnum::Value Ifc4x1::IfcRecurrenceTypeEnum::FromString(c } Ifc4x1::IfcRecurrenceTypeEnum::operator Ifc4x1::IfcRecurrenceTypeEnum::Value() const { - return (Ifc4x1::IfcRecurrenceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcRecurrenceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcReferentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[805]); } @@ -4005,7 +4005,7 @@ Ifc4x1::IfcReferentTypeEnum::Value Ifc4x1::IfcReferentTypeEnum::FromString(const } Ifc4x1::IfcReferentTypeEnum::operator Ifc4x1::IfcReferentTypeEnum::Value() const { - return (Ifc4x1::IfcReferentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcReferentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcReflectanceMethodEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[806]); } @@ -4032,7 +4032,7 @@ Ifc4x1::IfcReflectanceMethodEnum::Value Ifc4x1::IfcReflectanceMethodEnum::FromSt } Ifc4x1::IfcReflectanceMethodEnum::operator Ifc4x1::IfcReflectanceMethodEnum::Value() const { - return (Ifc4x1::IfcReflectanceMethodEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcReflectanceMethodEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcReinforcingBarRoleEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[811]); } @@ -4059,7 +4059,7 @@ Ifc4x1::IfcReinforcingBarRoleEnum::Value Ifc4x1::IfcReinforcingBarRoleEnum::From } Ifc4x1::IfcReinforcingBarRoleEnum::operator Ifc4x1::IfcReinforcingBarRoleEnum::Value() const { - return (Ifc4x1::IfcReinforcingBarRoleEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcReinforcingBarRoleEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcReinforcingBarSurfaceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[812]); } @@ -4086,7 +4086,7 @@ Ifc4x1::IfcReinforcingBarSurfaceEnum::Value Ifc4x1::IfcReinforcingBarSurfaceEnum } Ifc4x1::IfcReinforcingBarSurfaceEnum::operator Ifc4x1::IfcReinforcingBarSurfaceEnum::Value() const { - return (Ifc4x1::IfcReinforcingBarSurfaceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcReinforcingBarSurfaceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcReinforcingBarTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[814]); } @@ -4113,7 +4113,7 @@ Ifc4x1::IfcReinforcingBarTypeEnum::Value Ifc4x1::IfcReinforcingBarTypeEnum::From } Ifc4x1::IfcReinforcingBarTypeEnum::operator Ifc4x1::IfcReinforcingBarTypeEnum::Value() const { - return (Ifc4x1::IfcReinforcingBarTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcReinforcingBarTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcReinforcingMeshTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[819]); } @@ -4140,7 +4140,7 @@ Ifc4x1::IfcReinforcingMeshTypeEnum::Value Ifc4x1::IfcReinforcingMeshTypeEnum::Fr } Ifc4x1::IfcReinforcingMeshTypeEnum::operator Ifc4x1::IfcReinforcingMeshTypeEnum::Value() const { - return (Ifc4x1::IfcReinforcingMeshTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcReinforcingMeshTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcRoleEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[884]); } @@ -4167,7 +4167,7 @@ Ifc4x1::IfcRoleEnum::Value Ifc4x1::IfcRoleEnum::FromString(const std::string& s) } Ifc4x1::IfcRoleEnum::operator Ifc4x1::IfcRoleEnum::Value() const { - return (Ifc4x1::IfcRoleEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcRoleEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcRoofTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[887]); } @@ -4194,7 +4194,7 @@ Ifc4x1::IfcRoofTypeEnum::Value Ifc4x1::IfcRoofTypeEnum::FromString(const std::st } Ifc4x1::IfcRoofTypeEnum::operator Ifc4x1::IfcRoofTypeEnum::Value() const { - return (Ifc4x1::IfcRoofTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcRoofTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcSIPrefix::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[925]); } @@ -4221,7 +4221,7 @@ Ifc4x1::IfcSIPrefix::Value Ifc4x1::IfcSIPrefix::FromString(const std::string& s) } Ifc4x1::IfcSIPrefix::operator Ifc4x1::IfcSIPrefix::Value() const { - return (Ifc4x1::IfcSIPrefix::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcSIPrefix::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcSIUnitName::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[928]); } @@ -4248,7 +4248,7 @@ Ifc4x1::IfcSIUnitName::Value Ifc4x1::IfcSIUnitName::FromString(const std::string } Ifc4x1::IfcSIUnitName::operator Ifc4x1::IfcSIUnitName::Value() const { - return (Ifc4x1::IfcSIUnitName::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcSIUnitName::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcSanitaryTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[896]); } @@ -4275,7 +4275,7 @@ Ifc4x1::IfcSanitaryTerminalTypeEnum::Value Ifc4x1::IfcSanitaryTerminalTypeEnum:: } Ifc4x1::IfcSanitaryTerminalTypeEnum::operator Ifc4x1::IfcSanitaryTerminalTypeEnum::Value() const { - return (Ifc4x1::IfcSanitaryTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcSanitaryTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcSectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[906]); } @@ -4302,7 +4302,7 @@ Ifc4x1::IfcSectionTypeEnum::Value Ifc4x1::IfcSectionTypeEnum::FromString(const s } Ifc4x1::IfcSectionTypeEnum::operator Ifc4x1::IfcSectionTypeEnum::Value() const { - return (Ifc4x1::IfcSectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcSectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcSensorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[910]); } @@ -4329,7 +4329,7 @@ Ifc4x1::IfcSensorTypeEnum::Value Ifc4x1::IfcSensorTypeEnum::FromString(const std } Ifc4x1::IfcSensorTypeEnum::operator Ifc4x1::IfcSensorTypeEnum::Value() const { - return (Ifc4x1::IfcSensorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcSensorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcSequenceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[911]); } @@ -4356,7 +4356,7 @@ Ifc4x1::IfcSequenceEnum::Value Ifc4x1::IfcSequenceEnum::FromString(const std::st } Ifc4x1::IfcSequenceEnum::operator Ifc4x1::IfcSequenceEnum::Value() const { - return (Ifc4x1::IfcSequenceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcSequenceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcShadingDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[914]); } @@ -4383,7 +4383,7 @@ Ifc4x1::IfcShadingDeviceTypeEnum::Value Ifc4x1::IfcShadingDeviceTypeEnum::FromSt } Ifc4x1::IfcShadingDeviceTypeEnum::operator Ifc4x1::IfcShadingDeviceTypeEnum::Value() const { - return (Ifc4x1::IfcShadingDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcShadingDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcSimplePropertyTemplateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[923]); } @@ -4410,7 +4410,7 @@ Ifc4x1::IfcSimplePropertyTemplateTypeEnum::Value Ifc4x1::IfcSimplePropertyTempla } Ifc4x1::IfcSimplePropertyTemplateTypeEnum::operator Ifc4x1::IfcSimplePropertyTemplateTypeEnum::Value() const { - return (Ifc4x1::IfcSimplePropertyTemplateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcSimplePropertyTemplateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcSlabTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[934]); } @@ -4437,7 +4437,7 @@ Ifc4x1::IfcSlabTypeEnum::Value Ifc4x1::IfcSlabTypeEnum::FromString(const std::st } Ifc4x1::IfcSlabTypeEnum::operator Ifc4x1::IfcSlabTypeEnum::Value() const { - return (Ifc4x1::IfcSlabTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcSlabTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcSolarDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[938]); } @@ -4464,7 +4464,7 @@ Ifc4x1::IfcSolarDeviceTypeEnum::Value Ifc4x1::IfcSolarDeviceTypeEnum::FromString } Ifc4x1::IfcSolarDeviceTypeEnum::operator Ifc4x1::IfcSolarDeviceTypeEnum::Value() const { - return (Ifc4x1::IfcSolarDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcSolarDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcSpaceHeaterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[950]); } @@ -4491,7 +4491,7 @@ Ifc4x1::IfcSpaceHeaterTypeEnum::Value Ifc4x1::IfcSpaceHeaterTypeEnum::FromString } Ifc4x1::IfcSpaceHeaterTypeEnum::operator Ifc4x1::IfcSpaceHeaterTypeEnum::Value() const { - return (Ifc4x1::IfcSpaceHeaterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcSpaceHeaterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcSpaceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[952]); } @@ -4518,7 +4518,7 @@ Ifc4x1::IfcSpaceTypeEnum::Value Ifc4x1::IfcSpaceTypeEnum::FromString(const std:: } Ifc4x1::IfcSpaceTypeEnum::operator Ifc4x1::IfcSpaceTypeEnum::Value() const { - return (Ifc4x1::IfcSpaceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcSpaceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcSpatialZoneTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[959]); } @@ -4545,7 +4545,7 @@ Ifc4x1::IfcSpatialZoneTypeEnum::Value Ifc4x1::IfcSpatialZoneTypeEnum::FromString } Ifc4x1::IfcSpatialZoneTypeEnum::operator Ifc4x1::IfcSpatialZoneTypeEnum::Value() const { - return (Ifc4x1::IfcSpatialZoneTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcSpatialZoneTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcStackTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[968]); } @@ -4572,7 +4572,7 @@ Ifc4x1::IfcStackTerminalTypeEnum::Value Ifc4x1::IfcStackTerminalTypeEnum::FromSt } Ifc4x1::IfcStackTerminalTypeEnum::operator Ifc4x1::IfcStackTerminalTypeEnum::Value() const { - return (Ifc4x1::IfcStackTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcStackTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcStairFlightTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[972]); } @@ -4599,7 +4599,7 @@ Ifc4x1::IfcStairFlightTypeEnum::Value Ifc4x1::IfcStairFlightTypeEnum::FromString } Ifc4x1::IfcStairFlightTypeEnum::operator Ifc4x1::IfcStairFlightTypeEnum::Value() const { - return (Ifc4x1::IfcStairFlightTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcStairFlightTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcStairTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[974]); } @@ -4626,7 +4626,7 @@ Ifc4x1::IfcStairTypeEnum::Value Ifc4x1::IfcStairTypeEnum::FromString(const std:: } Ifc4x1::IfcStairTypeEnum::operator Ifc4x1::IfcStairTypeEnum::Value() const { - return (Ifc4x1::IfcStairTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcStairTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcStateEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[975]); } @@ -4653,7 +4653,7 @@ Ifc4x1::IfcStateEnum::Value Ifc4x1::IfcStateEnum::FromString(const std::string& } Ifc4x1::IfcStateEnum::operator Ifc4x1::IfcStateEnum::Value() const { - return (Ifc4x1::IfcStateEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcStateEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcStructuralCurveActivityTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[983]); } @@ -4680,7 +4680,7 @@ Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value Ifc4x1::IfcStructuralCurveActi } Ifc4x1::IfcStructuralCurveActivityTypeEnum::operator Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value() const { - return (Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcStructuralCurveMemberTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[986]); } @@ -4707,7 +4707,7 @@ Ifc4x1::IfcStructuralCurveMemberTypeEnum::Value Ifc4x1::IfcStructuralCurveMember } Ifc4x1::IfcStructuralCurveMemberTypeEnum::operator Ifc4x1::IfcStructuralCurveMemberTypeEnum::Value() const { - return (Ifc4x1::IfcStructuralCurveMemberTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcStructuralCurveMemberTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1012]); } @@ -4734,7 +4734,7 @@ Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x1::IfcStructuralSurface } Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::operator Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value() const { - return (Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1015]); } @@ -4761,7 +4761,7 @@ Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x1::IfcStructuralSurfaceMe } Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::operator Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Value() const { - return (Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcSubContractResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1024]); } @@ -4788,7 +4788,7 @@ Ifc4x1::IfcSubContractResourceTypeEnum::Value Ifc4x1::IfcSubContractResourceType } Ifc4x1::IfcSubContractResourceTypeEnum::operator Ifc4x1::IfcSubContractResourceTypeEnum::Value() const { - return (Ifc4x1::IfcSubContractResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcSubContractResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcSurfaceFeatureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1030]); } @@ -4815,7 +4815,7 @@ Ifc4x1::IfcSurfaceFeatureTypeEnum::Value Ifc4x1::IfcSurfaceFeatureTypeEnum::From } Ifc4x1::IfcSurfaceFeatureTypeEnum::operator Ifc4x1::IfcSurfaceFeatureTypeEnum::Value() const { - return (Ifc4x1::IfcSurfaceFeatureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcSurfaceFeatureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcSurfaceSide::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1035]); } @@ -4842,7 +4842,7 @@ Ifc4x1::IfcSurfaceSide::Value Ifc4x1::IfcSurfaceSide::FromString(const std::stri } Ifc4x1::IfcSurfaceSide::operator Ifc4x1::IfcSurfaceSide::Value() const { - return (Ifc4x1::IfcSurfaceSide::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcSurfaceSide::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcSwitchingDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1050]); } @@ -4869,7 +4869,7 @@ Ifc4x1::IfcSwitchingDeviceTypeEnum::Value Ifc4x1::IfcSwitchingDeviceTypeEnum::Fr } Ifc4x1::IfcSwitchingDeviceTypeEnum::operator Ifc4x1::IfcSwitchingDeviceTypeEnum::Value() const { - return (Ifc4x1::IfcSwitchingDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcSwitchingDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcSystemFurnitureElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1054]); } @@ -4896,7 +4896,7 @@ Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value Ifc4x1::IfcSystemFurnitureEleme } Ifc4x1::IfcSystemFurnitureElementTypeEnum::operator Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value() const { - return (Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcTankTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1060]); } @@ -4923,7 +4923,7 @@ Ifc4x1::IfcTankTypeEnum::Value Ifc4x1::IfcTankTypeEnum::FromString(const std::st } Ifc4x1::IfcTankTypeEnum::operator Ifc4x1::IfcTankTypeEnum::Value() const { - return (Ifc4x1::IfcTankTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcTankTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcTaskDurationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1062]); } @@ -4950,7 +4950,7 @@ Ifc4x1::IfcTaskDurationEnum::Value Ifc4x1::IfcTaskDurationEnum::FromString(const } Ifc4x1::IfcTaskDurationEnum::operator Ifc4x1::IfcTaskDurationEnum::Value() const { - return (Ifc4x1::IfcTaskDurationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcTaskDurationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcTaskTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1066]); } @@ -4977,7 +4977,7 @@ Ifc4x1::IfcTaskTypeEnum::Value Ifc4x1::IfcTaskTypeEnum::FromString(const std::st } Ifc4x1::IfcTaskTypeEnum::operator Ifc4x1::IfcTaskTypeEnum::Value() const { - return (Ifc4x1::IfcTaskTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcTaskTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcTendonAnchorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1073]); } @@ -5004,7 +5004,7 @@ Ifc4x1::IfcTendonAnchorTypeEnum::Value Ifc4x1::IfcTendonAnchorTypeEnum::FromStri } Ifc4x1::IfcTendonAnchorTypeEnum::operator Ifc4x1::IfcTendonAnchorTypeEnum::Value() const { - return (Ifc4x1::IfcTendonAnchorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcTendonAnchorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcTendonTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1075]); } @@ -5031,7 +5031,7 @@ Ifc4x1::IfcTendonTypeEnum::Value Ifc4x1::IfcTendonTypeEnum::FromString(const std } Ifc4x1::IfcTendonTypeEnum::operator Ifc4x1::IfcTendonTypeEnum::Value() const { - return (Ifc4x1::IfcTendonTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcTendonTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcTextPath::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1085]); } @@ -5058,7 +5058,7 @@ Ifc4x1::IfcTextPath::Value Ifc4x1::IfcTextPath::FromString(const std::string& s) } Ifc4x1::IfcTextPath::operator Ifc4x1::IfcTextPath::Value() const { - return (Ifc4x1::IfcTextPath::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcTextPath::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcTimeSeriesDataTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1107]); } @@ -5085,7 +5085,7 @@ Ifc4x1::IfcTimeSeriesDataTypeEnum::Value Ifc4x1::IfcTimeSeriesDataTypeEnum::From } Ifc4x1::IfcTimeSeriesDataTypeEnum::operator Ifc4x1::IfcTimeSeriesDataTypeEnum::Value() const { - return (Ifc4x1::IfcTimeSeriesDataTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcTimeSeriesDataTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcTransformerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1116]); } @@ -5112,7 +5112,7 @@ Ifc4x1::IfcTransformerTypeEnum::Value Ifc4x1::IfcTransformerTypeEnum::FromString } Ifc4x1::IfcTransformerTypeEnum::operator Ifc4x1::IfcTransformerTypeEnum::Value() const { - return (Ifc4x1::IfcTransformerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcTransformerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcTransitionCode::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1117]); } @@ -5139,7 +5139,7 @@ Ifc4x1::IfcTransitionCode::Value Ifc4x1::IfcTransitionCode::FromString(const std } Ifc4x1::IfcTransitionCode::operator Ifc4x1::IfcTransitionCode::Value() const { - return (Ifc4x1::IfcTransitionCode::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcTransitionCode::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcTransitionCurveType::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1119]); } @@ -5166,7 +5166,7 @@ Ifc4x1::IfcTransitionCurveType::Value Ifc4x1::IfcTransitionCurveType::FromString } Ifc4x1::IfcTransitionCurveType::operator Ifc4x1::IfcTransitionCurveType::Value() const { - return (Ifc4x1::IfcTransitionCurveType::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcTransitionCurveType::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcTransportElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1123]); } @@ -5193,7 +5193,7 @@ Ifc4x1::IfcTransportElementTypeEnum::Value Ifc4x1::IfcTransportElementTypeEnum:: } Ifc4x1::IfcTransportElementTypeEnum::operator Ifc4x1::IfcTransportElementTypeEnum::Value() const { - return (Ifc4x1::IfcTransportElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcTransportElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcTrimmingPreference::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1128]); } @@ -5220,7 +5220,7 @@ Ifc4x1::IfcTrimmingPreference::Value Ifc4x1::IfcTrimmingPreference::FromString(c } Ifc4x1::IfcTrimmingPreference::operator Ifc4x1::IfcTrimmingPreference::Value() const { - return (Ifc4x1::IfcTrimmingPreference::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcTrimmingPreference::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcTubeBundleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1133]); } @@ -5247,7 +5247,7 @@ Ifc4x1::IfcTubeBundleTypeEnum::Value Ifc4x1::IfcTubeBundleTypeEnum::FromString(c } Ifc4x1::IfcTubeBundleTypeEnum::operator Ifc4x1::IfcTubeBundleTypeEnum::Value() const { - return (Ifc4x1::IfcTubeBundleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcTubeBundleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcUnitEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1146]); } @@ -5274,7 +5274,7 @@ Ifc4x1::IfcUnitEnum::Value Ifc4x1::IfcUnitEnum::FromString(const std::string& s) } Ifc4x1::IfcUnitEnum::operator Ifc4x1::IfcUnitEnum::Value() const { - return (Ifc4x1::IfcUnitEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcUnitEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcUnitaryControlElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1141]); } @@ -5301,7 +5301,7 @@ Ifc4x1::IfcUnitaryControlElementTypeEnum::Value Ifc4x1::IfcUnitaryControlElement } Ifc4x1::IfcUnitaryControlElementTypeEnum::operator Ifc4x1::IfcUnitaryControlElementTypeEnum::Value() const { - return (Ifc4x1::IfcUnitaryControlElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcUnitaryControlElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcUnitaryEquipmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1144]); } @@ -5328,7 +5328,7 @@ Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value Ifc4x1::IfcUnitaryEquipmentTypeEnum:: } Ifc4x1::IfcUnitaryEquipmentTypeEnum::operator Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value() const { - return (Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcValveTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1152]); } @@ -5355,7 +5355,7 @@ Ifc4x1::IfcValveTypeEnum::Value Ifc4x1::IfcValveTypeEnum::FromString(const std:: } Ifc4x1::IfcValveTypeEnum::operator Ifc4x1::IfcValveTypeEnum::Value() const { - return (Ifc4x1::IfcValveTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcValveTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcVibrationIsolatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1161]); } @@ -5382,7 +5382,7 @@ Ifc4x1::IfcVibrationIsolatorTypeEnum::Value Ifc4x1::IfcVibrationIsolatorTypeEnum } Ifc4x1::IfcVibrationIsolatorTypeEnum::operator Ifc4x1::IfcVibrationIsolatorTypeEnum::Value() const { - return (Ifc4x1::IfcVibrationIsolatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcVibrationIsolatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcVoidingFeatureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1165]); } @@ -5409,7 +5409,7 @@ Ifc4x1::IfcVoidingFeatureTypeEnum::Value Ifc4x1::IfcVoidingFeatureTypeEnum::From } Ifc4x1::IfcVoidingFeatureTypeEnum::operator Ifc4x1::IfcVoidingFeatureTypeEnum::Value() const { - return (Ifc4x1::IfcVoidingFeatureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcVoidingFeatureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcWallTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1172]); } @@ -5436,7 +5436,7 @@ Ifc4x1::IfcWallTypeEnum::Value Ifc4x1::IfcWallTypeEnum::FromString(const std::st } Ifc4x1::IfcWallTypeEnum::operator Ifc4x1::IfcWallTypeEnum::Value() const { - return (Ifc4x1::IfcWallTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcWallTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcWasteTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1178]); } @@ -5463,7 +5463,7 @@ Ifc4x1::IfcWasteTerminalTypeEnum::Value Ifc4x1::IfcWasteTerminalTypeEnum::FromSt } Ifc4x1::IfcWasteTerminalTypeEnum::operator Ifc4x1::IfcWasteTerminalTypeEnum::Value() const { - return (Ifc4x1::IfcWasteTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcWasteTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcWindowPanelOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1181]); } @@ -5490,7 +5490,7 @@ Ifc4x1::IfcWindowPanelOperationEnum::Value Ifc4x1::IfcWindowPanelOperationEnum:: } Ifc4x1::IfcWindowPanelOperationEnum::operator Ifc4x1::IfcWindowPanelOperationEnum::Value() const { - return (Ifc4x1::IfcWindowPanelOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcWindowPanelOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcWindowPanelPositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1182]); } @@ -5517,7 +5517,7 @@ Ifc4x1::IfcWindowPanelPositionEnum::Value Ifc4x1::IfcWindowPanelPositionEnum::Fr } Ifc4x1::IfcWindowPanelPositionEnum::operator Ifc4x1::IfcWindowPanelPositionEnum::Value() const { - return (Ifc4x1::IfcWindowPanelPositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcWindowPanelPositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcWindowStyleConstructionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1186]); } @@ -5544,7 +5544,7 @@ Ifc4x1::IfcWindowStyleConstructionEnum::Value Ifc4x1::IfcWindowStyleConstruction } Ifc4x1::IfcWindowStyleConstructionEnum::operator Ifc4x1::IfcWindowStyleConstructionEnum::Value() const { - return (Ifc4x1::IfcWindowStyleConstructionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcWindowStyleConstructionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcWindowStyleOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1187]); } @@ -5571,7 +5571,7 @@ Ifc4x1::IfcWindowStyleOperationEnum::Value Ifc4x1::IfcWindowStyleOperationEnum:: } Ifc4x1::IfcWindowStyleOperationEnum::operator Ifc4x1::IfcWindowStyleOperationEnum::Value() const { - return (Ifc4x1::IfcWindowStyleOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcWindowStyleOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcWindowTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1189]); } @@ -5598,7 +5598,7 @@ Ifc4x1::IfcWindowTypeEnum::Value Ifc4x1::IfcWindowTypeEnum::FromString(const std } Ifc4x1::IfcWindowTypeEnum::operator Ifc4x1::IfcWindowTypeEnum::Value() const { - return (Ifc4x1::IfcWindowTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcWindowTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcWindowTypePartitioningEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1190]); } @@ -5625,7 +5625,7 @@ Ifc4x1::IfcWindowTypePartitioningEnum::Value Ifc4x1::IfcWindowTypePartitioningEn } Ifc4x1::IfcWindowTypePartitioningEnum::operator Ifc4x1::IfcWindowTypePartitioningEnum::Value() const { - return (Ifc4x1::IfcWindowTypePartitioningEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcWindowTypePartitioningEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcWorkCalendarTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1192]); } @@ -5652,7 +5652,7 @@ Ifc4x1::IfcWorkCalendarTypeEnum::Value Ifc4x1::IfcWorkCalendarTypeEnum::FromStri } Ifc4x1::IfcWorkCalendarTypeEnum::operator Ifc4x1::IfcWorkCalendarTypeEnum::Value() const { - return (Ifc4x1::IfcWorkCalendarTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcWorkCalendarTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcWorkPlanTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1195]); } @@ -5679,7 +5679,7 @@ Ifc4x1::IfcWorkPlanTypeEnum::Value Ifc4x1::IfcWorkPlanTypeEnum::FromString(const } Ifc4x1::IfcWorkPlanTypeEnum::operator Ifc4x1::IfcWorkPlanTypeEnum::Value() const { - return (Ifc4x1::IfcWorkPlanTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcWorkPlanTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x1::IfcWorkScheduleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X1_types[1197]); } @@ -5706,7 +5706,7 @@ Ifc4x1::IfcWorkScheduleTypeEnum::Value Ifc4x1::IfcWorkScheduleTypeEnum::FromStri } Ifc4x1::IfcWorkScheduleTypeEnum::operator Ifc4x1::IfcWorkScheduleTypeEnum::Value() const { - return (Ifc4x1::IfcWorkScheduleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x1::IfcWorkScheduleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::select_type& Ifc4x1::IfcActorSelect::Class() { return *((IfcParse::select_type*)IFC4X1_types[8]); } @@ -5835,928 +5835,928 @@ const IfcParse::type_declaration& Ifc4x1::IfcAbsorbedDoseMeasure::Class() { retu const IfcParse::type_declaration& Ifc4x1::IfcAbsorbedDoseMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[0]); } Ifc4x1::IfcAbsorbedDoseMeasure::IfcAbsorbedDoseMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcAbsorbedDoseMeasure::IfcAbsorbedDoseMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcAbsorbedDoseMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcAbsorbedDoseMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAccelerationMeasure const IfcParse::type_declaration& Ifc4x1::IfcAccelerationMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[1]); } const IfcParse::type_declaration& Ifc4x1::IfcAccelerationMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[1]); } Ifc4x1::IfcAccelerationMeasure::IfcAccelerationMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcAccelerationMeasure::IfcAccelerationMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcAccelerationMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcAccelerationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAmountOfSubstanceMeasure const IfcParse::type_declaration& Ifc4x1::IfcAmountOfSubstanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[40]); } const IfcParse::type_declaration& Ifc4x1::IfcAmountOfSubstanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[40]); } Ifc4x1::IfcAmountOfSubstanceMeasure::IfcAmountOfSubstanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcAmountOfSubstanceMeasure::IfcAmountOfSubstanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcAmountOfSubstanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcAmountOfSubstanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAngularVelocityMeasure const IfcParse::type_declaration& Ifc4x1::IfcAngularVelocityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[43]); } const IfcParse::type_declaration& Ifc4x1::IfcAngularVelocityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[43]); } Ifc4x1::IfcAngularVelocityMeasure::IfcAngularVelocityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcAngularVelocityMeasure::IfcAngularVelocityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcAngularVelocityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcAngularVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcArcIndex const IfcParse::type_declaration& Ifc4x1::IfcArcIndex::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[54]); } const IfcParse::type_declaration& Ifc4x1::IfcArcIndex::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[54]); } Ifc4x1::IfcArcIndex::IfcArcIndex(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcArcIndex::IfcArcIndex(std::vector< int > /*[3:3]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return get_attribute_value(0); } // Function implementations for IfcAreaDensityMeasure const IfcParse::type_declaration& Ifc4x1::IfcAreaDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[55]); } const IfcParse::type_declaration& Ifc4x1::IfcAreaDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[55]); } Ifc4x1::IfcAreaDensityMeasure::IfcAreaDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcAreaDensityMeasure::IfcAreaDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcAreaDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcAreaDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAreaMeasure const IfcParse::type_declaration& Ifc4x1::IfcAreaMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[56]); } const IfcParse::type_declaration& Ifc4x1::IfcAreaMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[56]); } Ifc4x1::IfcAreaMeasure::IfcAreaMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcAreaMeasure::IfcAreaMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcAreaMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcAreaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcBinary const IfcParse::type_declaration& Ifc4x1::IfcBinary::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[74]); } const IfcParse::type_declaration& Ifc4x1::IfcBinary::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[74]); } Ifc4x1::IfcBinary::IfcBinary(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcBinary::IfcBinary(boost::dynamic_bitset<> v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcBinary::operator boost::dynamic_bitset<>() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcBinary::operator boost::dynamic_bitset<>() const { return get_attribute_value(0); } // Function implementations for IfcBoolean const IfcParse::type_declaration& Ifc4x1::IfcBoolean::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[80]); } const IfcParse::type_declaration& Ifc4x1::IfcBoolean::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[80]); } Ifc4x1::IfcBoolean::IfcBoolean(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcBoolean::IfcBoolean(bool v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcBoolean::operator bool() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcBoolean::operator bool() const { return get_attribute_value(0); } // Function implementations for IfcBoxAlignment const IfcParse::type_declaration& Ifc4x1::IfcBoxAlignment::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[94]); } const IfcParse::type_declaration& Ifc4x1::IfcBoxAlignment::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[94]); } Ifc4x1::IfcBoxAlignment::IfcBoxAlignment(IfcEntityInstanceData&& e) : IfcLabel(std::move(e)) { } Ifc4x1::IfcBoxAlignment::IfcBoxAlignment(std::string v) : IfcLabel(v) { } -Ifc4x1::IfcBoxAlignment::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcBoxAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcCardinalPointReference const IfcParse::type_declaration& Ifc4x1::IfcCardinalPointReference::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[129]); } const IfcParse::type_declaration& Ifc4x1::IfcCardinalPointReference::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[129]); } Ifc4x1::IfcCardinalPointReference::IfcCardinalPointReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcCardinalPointReference::IfcCardinalPointReference(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcCardinalPointReference::operator int() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcCardinalPointReference::operator int() const { return get_attribute_value(0); } // Function implementations for IfcComplexNumber const IfcParse::type_declaration& Ifc4x1::IfcComplexNumber::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[173]); } const IfcParse::type_declaration& Ifc4x1::IfcComplexNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[173]); } Ifc4x1::IfcComplexNumber::IfcComplexNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcComplexNumber::IfcComplexNumber(std::vector< double > /*[1:2]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return get_attribute_value(0); } // Function implementations for IfcCompoundPlaneAngleMeasure const IfcParse::type_declaration& Ifc4x1::IfcCompoundPlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[181]); } const IfcParse::type_declaration& Ifc4x1::IfcCompoundPlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[181]); } Ifc4x1::IfcCompoundPlaneAngleMeasure::IfcCompoundPlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcCompoundPlaneAngleMeasure::IfcCompoundPlaneAngleMeasure(std::vector< int > /*[3:4]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return get_attribute_value(0); } // Function implementations for IfcContextDependentMeasure const IfcParse::type_declaration& Ifc4x1::IfcContextDependentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[211]); } const IfcParse::type_declaration& Ifc4x1::IfcContextDependentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[211]); } Ifc4x1::IfcContextDependentMeasure::IfcContextDependentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcContextDependentMeasure::IfcContextDependentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcContextDependentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcContextDependentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCountMeasure const IfcParse::type_declaration& Ifc4x1::IfcCountMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[233]); } const IfcParse::type_declaration& Ifc4x1::IfcCountMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[233]); } Ifc4x1::IfcCountMeasure::IfcCountMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcCountMeasure::IfcCountMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcCountMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcCountMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCurvatureMeasure const IfcParse::type_declaration& Ifc4x1::IfcCurvatureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[248]); } const IfcParse::type_declaration& Ifc4x1::IfcCurvatureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[248]); } Ifc4x1::IfcCurvatureMeasure::IfcCurvatureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcCurvatureMeasure::IfcCurvatureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcCurvatureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcCurvatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDate const IfcParse::type_declaration& Ifc4x1::IfcDate::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[267]); } const IfcParse::type_declaration& Ifc4x1::IfcDate::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[267]); } Ifc4x1::IfcDate::IfcDate(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcDate::IfcDate(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcDate::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcDate::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDateTime const IfcParse::type_declaration& Ifc4x1::IfcDateTime::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[268]); } const IfcParse::type_declaration& Ifc4x1::IfcDateTime::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[268]); } Ifc4x1::IfcDateTime::IfcDateTime(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcDateTime::IfcDateTime(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcDateTime::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcDateTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDayInMonthNumber const IfcParse::type_declaration& Ifc4x1::IfcDayInMonthNumber::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[269]); } const IfcParse::type_declaration& Ifc4x1::IfcDayInMonthNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[269]); } Ifc4x1::IfcDayInMonthNumber::IfcDayInMonthNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcDayInMonthNumber::IfcDayInMonthNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcDayInMonthNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcDayInMonthNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDayInWeekNumber const IfcParse::type_declaration& Ifc4x1::IfcDayInWeekNumber::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[270]); } const IfcParse::type_declaration& Ifc4x1::IfcDayInWeekNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[270]); } Ifc4x1::IfcDayInWeekNumber::IfcDayInWeekNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcDayInWeekNumber::IfcDayInWeekNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcDayInWeekNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcDayInWeekNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDescriptiveMeasure const IfcParse::type_declaration& Ifc4x1::IfcDescriptiveMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[277]); } const IfcParse::type_declaration& Ifc4x1::IfcDescriptiveMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[277]); } Ifc4x1::IfcDescriptiveMeasure::IfcDescriptiveMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcDescriptiveMeasure::IfcDescriptiveMeasure(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcDescriptiveMeasure::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcDescriptiveMeasure::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDimensionCount const IfcParse::type_declaration& Ifc4x1::IfcDimensionCount::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[279]); } const IfcParse::type_declaration& Ifc4x1::IfcDimensionCount::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[279]); } Ifc4x1::IfcDimensionCount::IfcDimensionCount(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcDimensionCount::IfcDimensionCount(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcDimensionCount::operator int() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcDimensionCount::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDoseEquivalentMeasure const IfcParse::type_declaration& Ifc4x1::IfcDoseEquivalentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[318]); } const IfcParse::type_declaration& Ifc4x1::IfcDoseEquivalentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[318]); } Ifc4x1::IfcDoseEquivalentMeasure::IfcDoseEquivalentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcDoseEquivalentMeasure::IfcDoseEquivalentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcDoseEquivalentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcDoseEquivalentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDuration const IfcParse::type_declaration& Ifc4x1::IfcDuration::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[330]); } const IfcParse::type_declaration& Ifc4x1::IfcDuration::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[330]); } Ifc4x1::IfcDuration::IfcDuration(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcDuration::IfcDuration(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcDuration::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcDuration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDynamicViscosityMeasure const IfcParse::type_declaration& Ifc4x1::IfcDynamicViscosityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[331]); } const IfcParse::type_declaration& Ifc4x1::IfcDynamicViscosityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[331]); } Ifc4x1::IfcDynamicViscosityMeasure::IfcDynamicViscosityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcDynamicViscosityMeasure::IfcDynamicViscosityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcDynamicViscosityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcDynamicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCapacitanceMeasure const IfcParse::type_declaration& Ifc4x1::IfcElectricCapacitanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[338]); } const IfcParse::type_declaration& Ifc4x1::IfcElectricCapacitanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[338]); } Ifc4x1::IfcElectricCapacitanceMeasure::IfcElectricCapacitanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcElectricCapacitanceMeasure::IfcElectricCapacitanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcElectricCapacitanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcElectricCapacitanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricChargeMeasure const IfcParse::type_declaration& Ifc4x1::IfcElectricChargeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[339]); } const IfcParse::type_declaration& Ifc4x1::IfcElectricChargeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[339]); } Ifc4x1::IfcElectricChargeMeasure::IfcElectricChargeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcElectricChargeMeasure::IfcElectricChargeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcElectricChargeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcElectricChargeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricConductanceMeasure const IfcParse::type_declaration& Ifc4x1::IfcElectricConductanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[340]); } const IfcParse::type_declaration& Ifc4x1::IfcElectricConductanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[340]); } Ifc4x1::IfcElectricConductanceMeasure::IfcElectricConductanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcElectricConductanceMeasure::IfcElectricConductanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcElectricConductanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcElectricConductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCurrentMeasure const IfcParse::type_declaration& Ifc4x1::IfcElectricCurrentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[341]); } const IfcParse::type_declaration& Ifc4x1::IfcElectricCurrentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[341]); } Ifc4x1::IfcElectricCurrentMeasure::IfcElectricCurrentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcElectricCurrentMeasure::IfcElectricCurrentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcElectricCurrentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcElectricCurrentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricResistanceMeasure const IfcParse::type_declaration& Ifc4x1::IfcElectricResistanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[354]); } const IfcParse::type_declaration& Ifc4x1::IfcElectricResistanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[354]); } Ifc4x1::IfcElectricResistanceMeasure::IfcElectricResistanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcElectricResistanceMeasure::IfcElectricResistanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcElectricResistanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcElectricResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricVoltageMeasure const IfcParse::type_declaration& Ifc4x1::IfcElectricVoltageMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[358]); } const IfcParse::type_declaration& Ifc4x1::IfcElectricVoltageMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[358]); } Ifc4x1::IfcElectricVoltageMeasure::IfcElectricVoltageMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcElectricVoltageMeasure::IfcElectricVoltageMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcElectricVoltageMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcElectricVoltageMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcEnergyMeasure const IfcParse::type_declaration& Ifc4x1::IfcEnergyMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[373]); } const IfcParse::type_declaration& Ifc4x1::IfcEnergyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[373]); } Ifc4x1::IfcEnergyMeasure::IfcEnergyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcEnergyMeasure::IfcEnergyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcEnergyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcEnergyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFontStyle const IfcParse::type_declaration& Ifc4x1::IfcFontStyle::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[449]); } const IfcParse::type_declaration& Ifc4x1::IfcFontStyle::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[449]); } Ifc4x1::IfcFontStyle::IfcFontStyle(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcFontStyle::IfcFontStyle(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcFontStyle::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcFontStyle::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontVariant const IfcParse::type_declaration& Ifc4x1::IfcFontVariant::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[450]); } const IfcParse::type_declaration& Ifc4x1::IfcFontVariant::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[450]); } Ifc4x1::IfcFontVariant::IfcFontVariant(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcFontVariant::IfcFontVariant(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcFontVariant::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcFontVariant::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontWeight const IfcParse::type_declaration& Ifc4x1::IfcFontWeight::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[451]); } const IfcParse::type_declaration& Ifc4x1::IfcFontWeight::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[451]); } Ifc4x1::IfcFontWeight::IfcFontWeight(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcFontWeight::IfcFontWeight(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcFontWeight::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcFontWeight::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcForceMeasure const IfcParse::type_declaration& Ifc4x1::IfcForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[455]); } const IfcParse::type_declaration& Ifc4x1::IfcForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[455]); } Ifc4x1::IfcForceMeasure::IfcForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcForceMeasure::IfcForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFrequencyMeasure const IfcParse::type_declaration& Ifc4x1::IfcFrequencyMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[456]); } const IfcParse::type_declaration& Ifc4x1::IfcFrequencyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[456]); } Ifc4x1::IfcFrequencyMeasure::IfcFrequencyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcFrequencyMeasure::IfcFrequencyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcFrequencyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcGloballyUniqueId const IfcParse::type_declaration& Ifc4x1::IfcGloballyUniqueId::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[472]); } const IfcParse::type_declaration& Ifc4x1::IfcGloballyUniqueId::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[472]); } Ifc4x1::IfcGloballyUniqueId::IfcGloballyUniqueId(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcGloballyUniqueId::IfcGloballyUniqueId(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcGloballyUniqueId::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcGloballyUniqueId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcHeatFluxDensityMeasure const IfcParse::type_declaration& Ifc4x1::IfcHeatFluxDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[485]); } const IfcParse::type_declaration& Ifc4x1::IfcHeatFluxDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[485]); } Ifc4x1::IfcHeatFluxDensityMeasure::IfcHeatFluxDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcHeatFluxDensityMeasure::IfcHeatFluxDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcHeatFluxDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcHeatFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcHeatingValueMeasure const IfcParse::type_declaration& Ifc4x1::IfcHeatingValueMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[486]); } const IfcParse::type_declaration& Ifc4x1::IfcHeatingValueMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[486]); } Ifc4x1::IfcHeatingValueMeasure::IfcHeatingValueMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcHeatingValueMeasure::IfcHeatingValueMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcHeatingValueMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcHeatingValueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIdentifier const IfcParse::type_declaration& Ifc4x1::IfcIdentifier::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[490]); } const IfcParse::type_declaration& Ifc4x1::IfcIdentifier::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[490]); } Ifc4x1::IfcIdentifier::IfcIdentifier(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcIdentifier::IfcIdentifier(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcIdentifier::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcIdentifier::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcIlluminanceMeasure const IfcParse::type_declaration& Ifc4x1::IfcIlluminanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[491]); } const IfcParse::type_declaration& Ifc4x1::IfcIlluminanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[491]); } Ifc4x1::IfcIlluminanceMeasure::IfcIlluminanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcIlluminanceMeasure::IfcIlluminanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcIlluminanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcIlluminanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInductanceMeasure const IfcParse::type_declaration& Ifc4x1::IfcInductanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[499]); } const IfcParse::type_declaration& Ifc4x1::IfcInductanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[499]); } Ifc4x1::IfcInductanceMeasure::IfcInductanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcInductanceMeasure::IfcInductanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcInductanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcInductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInteger const IfcParse::type_declaration& Ifc4x1::IfcInteger::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[500]); } const IfcParse::type_declaration& Ifc4x1::IfcInteger::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[500]); } Ifc4x1::IfcInteger::IfcInteger(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcInteger::IfcInteger(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcInteger::operator int() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIntegerCountRateMeasure const IfcParse::type_declaration& Ifc4x1::IfcIntegerCountRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[501]); } const IfcParse::type_declaration& Ifc4x1::IfcIntegerCountRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[501]); } Ifc4x1::IfcIntegerCountRateMeasure::IfcIntegerCountRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcIntegerCountRateMeasure::IfcIntegerCountRateMeasure(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcIntegerCountRateMeasure::operator int() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcIntegerCountRateMeasure::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIonConcentrationMeasure const IfcParse::type_declaration& Ifc4x1::IfcIonConcentrationMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[509]); } const IfcParse::type_declaration& Ifc4x1::IfcIonConcentrationMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[509]); } Ifc4x1::IfcIonConcentrationMeasure::IfcIonConcentrationMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcIonConcentrationMeasure::IfcIonConcentrationMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcIonConcentrationMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcIonConcentrationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIsothermalMoistureCapacityMeasure const IfcParse::type_declaration& Ifc4x1::IfcIsothermalMoistureCapacityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[513]); } const IfcParse::type_declaration& Ifc4x1::IfcIsothermalMoistureCapacityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[513]); } Ifc4x1::IfcIsothermalMoistureCapacityMeasure::IfcIsothermalMoistureCapacityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcIsothermalMoistureCapacityMeasure::IfcIsothermalMoistureCapacityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcIsothermalMoistureCapacityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcIsothermalMoistureCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcKinematicViscosityMeasure const IfcParse::type_declaration& Ifc4x1::IfcKinematicViscosityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[517]); } const IfcParse::type_declaration& Ifc4x1::IfcKinematicViscosityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[517]); } Ifc4x1::IfcKinematicViscosityMeasure::IfcKinematicViscosityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcKinematicViscosityMeasure::IfcKinematicViscosityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcKinematicViscosityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcKinematicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLabel const IfcParse::type_declaration& Ifc4x1::IfcLabel::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[519]); } const IfcParse::type_declaration& Ifc4x1::IfcLabel::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[519]); } Ifc4x1::IfcLabel::IfcLabel(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcLabel::IfcLabel(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcLabel::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcLabel::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLanguageId const IfcParse::type_declaration& Ifc4x1::IfcLanguageId::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[527]); } const IfcParse::type_declaration& Ifc4x1::IfcLanguageId::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[527]); } Ifc4x1::IfcLanguageId::IfcLanguageId(IfcEntityInstanceData&& e) : IfcIdentifier(std::move(e)) { } Ifc4x1::IfcLanguageId::IfcLanguageId(std::string v) : IfcIdentifier(v) { } -Ifc4x1::IfcLanguageId::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcLanguageId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLengthMeasure const IfcParse::type_declaration& Ifc4x1::IfcLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[530]); } const IfcParse::type_declaration& Ifc4x1::IfcLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[530]); } Ifc4x1::IfcLengthMeasure::IfcLengthMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcLengthMeasure::IfcLengthMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLineIndex const IfcParse::type_declaration& Ifc4x1::IfcLineIndex::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[555]); } const IfcParse::type_declaration& Ifc4x1::IfcLineIndex::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[555]); } Ifc4x1::IfcLineIndex::IfcLineIndex(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcLineIndex::IfcLineIndex(std::vector< int > /*[2:?]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return get_attribute_value(0); } // Function implementations for IfcLinearForceMeasure const IfcParse::type_declaration& Ifc4x1::IfcLinearForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[549]); } const IfcParse::type_declaration& Ifc4x1::IfcLinearForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[549]); } Ifc4x1::IfcLinearForceMeasure::IfcLinearForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcLinearForceMeasure::IfcLinearForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcLinearForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcLinearForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearMomentMeasure const IfcParse::type_declaration& Ifc4x1::IfcLinearMomentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[550]); } const IfcParse::type_declaration& Ifc4x1::IfcLinearMomentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[550]); } Ifc4x1::IfcLinearMomentMeasure::IfcLinearMomentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcLinearMomentMeasure::IfcLinearMomentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcLinearMomentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcLinearMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearStiffnessMeasure const IfcParse::type_declaration& Ifc4x1::IfcLinearStiffnessMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[553]); } const IfcParse::type_declaration& Ifc4x1::IfcLinearStiffnessMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[553]); } Ifc4x1::IfcLinearStiffnessMeasure::IfcLinearStiffnessMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcLinearStiffnessMeasure::IfcLinearStiffnessMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcLinearStiffnessMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcLinearStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearVelocityMeasure const IfcParse::type_declaration& Ifc4x1::IfcLinearVelocityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[554]); } const IfcParse::type_declaration& Ifc4x1::IfcLinearVelocityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[554]); } Ifc4x1::IfcLinearVelocityMeasure::IfcLinearVelocityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcLinearVelocityMeasure::IfcLinearVelocityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcLinearVelocityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcLinearVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLogical const IfcParse::type_declaration& Ifc4x1::IfcLogical::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[559]); } const IfcParse::type_declaration& Ifc4x1::IfcLogical::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[559]); } Ifc4x1::IfcLogical::IfcLogical(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcLogical::IfcLogical(boost::logic::tribool v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcLogical::operator boost::logic::tribool() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcLogical::operator boost::logic::tribool() const { return get_attribute_value(0); } // Function implementations for IfcLuminousFluxMeasure const IfcParse::type_declaration& Ifc4x1::IfcLuminousFluxMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[563]); } const IfcParse::type_declaration& Ifc4x1::IfcLuminousFluxMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[563]); } Ifc4x1::IfcLuminousFluxMeasure::IfcLuminousFluxMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcLuminousFluxMeasure::IfcLuminousFluxMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcLuminousFluxMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcLuminousFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityDistributionMeasure const IfcParse::type_declaration& Ifc4x1::IfcLuminousIntensityDistributionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[564]); } const IfcParse::type_declaration& Ifc4x1::IfcLuminousIntensityDistributionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[564]); } Ifc4x1::IfcLuminousIntensityDistributionMeasure::IfcLuminousIntensityDistributionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcLuminousIntensityDistributionMeasure::IfcLuminousIntensityDistributionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcLuminousIntensityDistributionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcLuminousIntensityDistributionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityMeasure const IfcParse::type_declaration& Ifc4x1::IfcLuminousIntensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[565]); } const IfcParse::type_declaration& Ifc4x1::IfcLuminousIntensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[565]); } Ifc4x1::IfcLuminousIntensityMeasure::IfcLuminousIntensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcLuminousIntensityMeasure::IfcLuminousIntensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcLuminousIntensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcLuminousIntensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxDensityMeasure const IfcParse::type_declaration& Ifc4x1::IfcMagneticFluxDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[566]); } const IfcParse::type_declaration& Ifc4x1::IfcMagneticFluxDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[566]); } Ifc4x1::IfcMagneticFluxDensityMeasure::IfcMagneticFluxDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcMagneticFluxDensityMeasure::IfcMagneticFluxDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcMagneticFluxDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcMagneticFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxMeasure const IfcParse::type_declaration& Ifc4x1::IfcMagneticFluxMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[567]); } const IfcParse::type_declaration& Ifc4x1::IfcMagneticFluxMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[567]); } Ifc4x1::IfcMagneticFluxMeasure::IfcMagneticFluxMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcMagneticFluxMeasure::IfcMagneticFluxMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcMagneticFluxMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcMagneticFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassDensityMeasure const IfcParse::type_declaration& Ifc4x1::IfcMassDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[571]); } const IfcParse::type_declaration& Ifc4x1::IfcMassDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[571]); } Ifc4x1::IfcMassDensityMeasure::IfcMassDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcMassDensityMeasure::IfcMassDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcMassDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcMassDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassFlowRateMeasure const IfcParse::type_declaration& Ifc4x1::IfcMassFlowRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[572]); } const IfcParse::type_declaration& Ifc4x1::IfcMassFlowRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[572]); } Ifc4x1::IfcMassFlowRateMeasure::IfcMassFlowRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcMassFlowRateMeasure::IfcMassFlowRateMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcMassFlowRateMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcMassFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassMeasure const IfcParse::type_declaration& Ifc4x1::IfcMassMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[573]); } const IfcParse::type_declaration& Ifc4x1::IfcMassMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[573]); } Ifc4x1::IfcMassMeasure::IfcMassMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcMassMeasure::IfcMassMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcMassMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassPerLengthMeasure const IfcParse::type_declaration& Ifc4x1::IfcMassPerLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[574]); } const IfcParse::type_declaration& Ifc4x1::IfcMassPerLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[574]); } Ifc4x1::IfcMassPerLengthMeasure::IfcMassPerLengthMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcMassPerLengthMeasure::IfcMassPerLengthMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcMassPerLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcMassPerLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfElasticityMeasure const IfcParse::type_declaration& Ifc4x1::IfcModulusOfElasticityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[610]); } const IfcParse::type_declaration& Ifc4x1::IfcModulusOfElasticityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[610]); } Ifc4x1::IfcModulusOfElasticityMeasure::IfcModulusOfElasticityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcModulusOfElasticityMeasure::IfcModulusOfElasticityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcModulusOfElasticityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcModulusOfElasticityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfLinearSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4x1::IfcModulusOfLinearSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[611]); } const IfcParse::type_declaration& Ifc4x1::IfcModulusOfLinearSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[611]); } Ifc4x1::IfcModulusOfLinearSubgradeReactionMeasure::IfcModulusOfLinearSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcModulusOfLinearSubgradeReactionMeasure::IfcModulusOfLinearSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfRotationalSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4x1::IfcModulusOfRotationalSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[612]); } const IfcParse::type_declaration& Ifc4x1::IfcModulusOfRotationalSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[612]); } Ifc4x1::IfcModulusOfRotationalSubgradeReactionMeasure::IfcModulusOfRotationalSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcModulusOfRotationalSubgradeReactionMeasure::IfcModulusOfRotationalSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4x1::IfcModulusOfSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[614]); } const IfcParse::type_declaration& Ifc4x1::IfcModulusOfSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[614]); } Ifc4x1::IfcModulusOfSubgradeReactionMeasure::IfcModulusOfSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcModulusOfSubgradeReactionMeasure::IfcModulusOfSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcModulusOfSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcModulusOfSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMoistureDiffusivityMeasure const IfcParse::type_declaration& Ifc4x1::IfcMoistureDiffusivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[617]); } const IfcParse::type_declaration& Ifc4x1::IfcMoistureDiffusivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[617]); } Ifc4x1::IfcMoistureDiffusivityMeasure::IfcMoistureDiffusivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcMoistureDiffusivityMeasure::IfcMoistureDiffusivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcMoistureDiffusivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcMoistureDiffusivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMolecularWeightMeasure const IfcParse::type_declaration& Ifc4x1::IfcMolecularWeightMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[618]); } const IfcParse::type_declaration& Ifc4x1::IfcMolecularWeightMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[618]); } Ifc4x1::IfcMolecularWeightMeasure::IfcMolecularWeightMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcMolecularWeightMeasure::IfcMolecularWeightMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcMolecularWeightMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcMolecularWeightMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMomentOfInertiaMeasure const IfcParse::type_declaration& Ifc4x1::IfcMomentOfInertiaMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[619]); } const IfcParse::type_declaration& Ifc4x1::IfcMomentOfInertiaMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[619]); } Ifc4x1::IfcMomentOfInertiaMeasure::IfcMomentOfInertiaMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcMomentOfInertiaMeasure::IfcMomentOfInertiaMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcMomentOfInertiaMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcMomentOfInertiaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonetaryMeasure const IfcParse::type_declaration& Ifc4x1::IfcMonetaryMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[620]); } const IfcParse::type_declaration& Ifc4x1::IfcMonetaryMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[620]); } Ifc4x1::IfcMonetaryMeasure::IfcMonetaryMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcMonetaryMeasure::IfcMonetaryMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcMonetaryMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcMonetaryMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonthInYearNumber const IfcParse::type_declaration& Ifc4x1::IfcMonthInYearNumber::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[622]); } const IfcParse::type_declaration& Ifc4x1::IfcMonthInYearNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[622]); } Ifc4x1::IfcMonthInYearNumber::IfcMonthInYearNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcMonthInYearNumber::IfcMonthInYearNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcMonthInYearNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcMonthInYearNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcNonNegativeLengthMeasure const IfcParse::type_declaration& Ifc4x1::IfcNonNegativeLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[627]); } const IfcParse::type_declaration& Ifc4x1::IfcNonNegativeLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[627]); } Ifc4x1::IfcNonNegativeLengthMeasure::IfcNonNegativeLengthMeasure(IfcEntityInstanceData&& e) : IfcLengthMeasure(std::move(e)) { } Ifc4x1::IfcNonNegativeLengthMeasure::IfcNonNegativeLengthMeasure(double v) : IfcLengthMeasure(v) { } -Ifc4x1::IfcNonNegativeLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcNonNegativeLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNormalisedRatioMeasure const IfcParse::type_declaration& Ifc4x1::IfcNormalisedRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[628]); } const IfcParse::type_declaration& Ifc4x1::IfcNormalisedRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[628]); } Ifc4x1::IfcNormalisedRatioMeasure::IfcNormalisedRatioMeasure(IfcEntityInstanceData&& e) : IfcRatioMeasure(std::move(e)) { } Ifc4x1::IfcNormalisedRatioMeasure::IfcNormalisedRatioMeasure(double v) : IfcRatioMeasure(v) { } -Ifc4x1::IfcNormalisedRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcNormalisedRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNumericMeasure const IfcParse::type_declaration& Ifc4x1::IfcNumericMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[630]); } const IfcParse::type_declaration& Ifc4x1::IfcNumericMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[630]); } Ifc4x1::IfcNumericMeasure::IfcNumericMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcNumericMeasure::IfcNumericMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcNumericMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcNumericMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPHMeasure const IfcParse::type_declaration& Ifc4x1::IfcPHMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[669]); } const IfcParse::type_declaration& Ifc4x1::IfcPHMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[669]); } Ifc4x1::IfcPHMeasure::IfcPHMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcPHMeasure::IfcPHMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcPHMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcPHMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcParameterValue const IfcParse::type_declaration& Ifc4x1::IfcParameterValue::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[658]); } const IfcParse::type_declaration& Ifc4x1::IfcParameterValue::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[658]); } Ifc4x1::IfcParameterValue::IfcParameterValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcParameterValue::IfcParameterValue(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcParameterValue::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcParameterValue::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlanarForceMeasure const IfcParse::type_declaration& Ifc4x1::IfcPlanarForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[688]); } const IfcParse::type_declaration& Ifc4x1::IfcPlanarForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[688]); } Ifc4x1::IfcPlanarForceMeasure::IfcPlanarForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcPlanarForceMeasure::IfcPlanarForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcPlanarForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcPlanarForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlaneAngleMeasure const IfcParse::type_declaration& Ifc4x1::IfcPlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[690]); } const IfcParse::type_declaration& Ifc4x1::IfcPlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[690]); } Ifc4x1::IfcPlaneAngleMeasure::IfcPlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcPlaneAngleMeasure::IfcPlaneAngleMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcPlaneAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcPlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveInteger const IfcParse::type_declaration& Ifc4x1::IfcPositiveInteger::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[705]); } const IfcParse::type_declaration& Ifc4x1::IfcPositiveInteger::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[705]); } Ifc4x1::IfcPositiveInteger::IfcPositiveInteger(IfcEntityInstanceData&& e) : IfcInteger(std::move(e)) { } Ifc4x1::IfcPositiveInteger::IfcPositiveInteger(int v) : IfcInteger(v) { } -Ifc4x1::IfcPositiveInteger::operator int() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcPositiveInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcPositiveLengthMeasure const IfcParse::type_declaration& Ifc4x1::IfcPositiveLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[706]); } const IfcParse::type_declaration& Ifc4x1::IfcPositiveLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[706]); } Ifc4x1::IfcPositiveLengthMeasure::IfcPositiveLengthMeasure(IfcEntityInstanceData&& e) : IfcLengthMeasure(std::move(e)) { } Ifc4x1::IfcPositiveLengthMeasure::IfcPositiveLengthMeasure(double v) : IfcLengthMeasure(v) { } -Ifc4x1::IfcPositiveLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcPositiveLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositivePlaneAngleMeasure const IfcParse::type_declaration& Ifc4x1::IfcPositivePlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[707]); } const IfcParse::type_declaration& Ifc4x1::IfcPositivePlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[707]); } Ifc4x1::IfcPositivePlaneAngleMeasure::IfcPositivePlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcPlaneAngleMeasure(std::move(e)) { } Ifc4x1::IfcPositivePlaneAngleMeasure::IfcPositivePlaneAngleMeasure(double v) : IfcPlaneAngleMeasure(v) { } -Ifc4x1::IfcPositivePlaneAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcPositivePlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveRatioMeasure const IfcParse::type_declaration& Ifc4x1::IfcPositiveRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[708]); } const IfcParse::type_declaration& Ifc4x1::IfcPositiveRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[708]); } Ifc4x1::IfcPositiveRatioMeasure::IfcPositiveRatioMeasure(IfcEntityInstanceData&& e) : IfcRatioMeasure(std::move(e)) { } Ifc4x1::IfcPositiveRatioMeasure::IfcPositiveRatioMeasure(double v) : IfcRatioMeasure(v) { } -Ifc4x1::IfcPositiveRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcPositiveRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPowerMeasure const IfcParse::type_declaration& Ifc4x1::IfcPowerMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[710]); } const IfcParse::type_declaration& Ifc4x1::IfcPowerMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[710]); } Ifc4x1::IfcPowerMeasure::IfcPowerMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcPowerMeasure::IfcPowerMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcPowerMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPresentableText const IfcParse::type_declaration& Ifc4x1::IfcPresentableText::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[718]); } const IfcParse::type_declaration& Ifc4x1::IfcPresentableText::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[718]); } Ifc4x1::IfcPresentableText::IfcPresentableText(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcPresentableText::IfcPresentableText(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcPresentableText::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcPresentableText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcPressureMeasure const IfcParse::type_declaration& Ifc4x1::IfcPressureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[725]); } const IfcParse::type_declaration& Ifc4x1::IfcPressureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[725]); } Ifc4x1::IfcPressureMeasure::IfcPressureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcPressureMeasure::IfcPressureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcPressureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPropertySetDefinitionSet const IfcParse::type_declaration& Ifc4x1::IfcPropertySetDefinitionSet::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[759]); } const IfcParse::type_declaration& Ifc4x1::IfcPropertySetDefinitionSet::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[759]); } Ifc4x1::IfcPropertySetDefinitionSet::IfcPropertySetDefinitionSet(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcPropertySetDefinitionSet::IfcPropertySetDefinitionSet(aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v->generalize()); } -Ifc4x1::IfcPropertySetDefinitionSet::operator aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x1::IfcPropertySetDefinition >(); } +Ifc4x1::IfcPropertySetDefinitionSet::operator aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x1::IfcPropertySetDefinition >(); } // Function implementations for IfcRadioActivityMeasure const IfcParse::type_declaration& Ifc4x1::IfcRadioActivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[783]); } const IfcParse::type_declaration& Ifc4x1::IfcRadioActivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[783]); } Ifc4x1::IfcRadioActivityMeasure::IfcRadioActivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcRadioActivityMeasure::IfcRadioActivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcRadioActivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcRadioActivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRatioMeasure const IfcParse::type_declaration& Ifc4x1::IfcRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[793]); } const IfcParse::type_declaration& Ifc4x1::IfcRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[793]); } Ifc4x1::IfcRatioMeasure::IfcRatioMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcRatioMeasure::IfcRatioMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcReal const IfcParse::type_declaration& Ifc4x1::IfcReal::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[796]); } const IfcParse::type_declaration& Ifc4x1::IfcReal::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[796]); } Ifc4x1::IfcReal::IfcReal(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcReal::IfcReal(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcReal::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcReal::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalFrequencyMeasure const IfcParse::type_declaration& Ifc4x1::IfcRotationalFrequencyMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[889]); } const IfcParse::type_declaration& Ifc4x1::IfcRotationalFrequencyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[889]); } Ifc4x1::IfcRotationalFrequencyMeasure::IfcRotationalFrequencyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcRotationalFrequencyMeasure::IfcRotationalFrequencyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcRotationalFrequencyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcRotationalFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalMassMeasure const IfcParse::type_declaration& Ifc4x1::IfcRotationalMassMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[890]); } const IfcParse::type_declaration& Ifc4x1::IfcRotationalMassMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[890]); } Ifc4x1::IfcRotationalMassMeasure::IfcRotationalMassMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcRotationalMassMeasure::IfcRotationalMassMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcRotationalMassMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcRotationalMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalStiffnessMeasure const IfcParse::type_declaration& Ifc4x1::IfcRotationalStiffnessMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[891]); } const IfcParse::type_declaration& Ifc4x1::IfcRotationalStiffnessMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[891]); } Ifc4x1::IfcRotationalStiffnessMeasure::IfcRotationalStiffnessMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcRotationalStiffnessMeasure::IfcRotationalStiffnessMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcRotationalStiffnessMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcRotationalStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionModulusMeasure const IfcParse::type_declaration& Ifc4x1::IfcSectionModulusMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[903]); } const IfcParse::type_declaration& Ifc4x1::IfcSectionModulusMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[903]); } Ifc4x1::IfcSectionModulusMeasure::IfcSectionModulusMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcSectionModulusMeasure::IfcSectionModulusMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcSectionModulusMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcSectionModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionalAreaIntegralMeasure const IfcParse::type_declaration& Ifc4x1::IfcSectionalAreaIntegralMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[899]); } const IfcParse::type_declaration& Ifc4x1::IfcSectionalAreaIntegralMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[899]); } Ifc4x1::IfcSectionalAreaIntegralMeasure::IfcSectionalAreaIntegralMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcSectionalAreaIntegralMeasure::IfcSectionalAreaIntegralMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcSectionalAreaIntegralMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcSectionalAreaIntegralMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcShearModulusMeasure const IfcParse::type_declaration& Ifc4x1::IfcShearModulusMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[918]); } const IfcParse::type_declaration& Ifc4x1::IfcShearModulusMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[918]); } Ifc4x1::IfcShearModulusMeasure::IfcShearModulusMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcShearModulusMeasure::IfcShearModulusMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcShearModulusMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcShearModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSolidAngleMeasure const IfcParse::type_declaration& Ifc4x1::IfcSolidAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[939]); } const IfcParse::type_declaration& Ifc4x1::IfcSolidAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[939]); } Ifc4x1::IfcSolidAngleMeasure::IfcSolidAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcSolidAngleMeasure::IfcSolidAngleMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcSolidAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcSolidAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerLevelMeasure const IfcParse::type_declaration& Ifc4x1::IfcSoundPowerLevelMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[942]); } const IfcParse::type_declaration& Ifc4x1::IfcSoundPowerLevelMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[942]); } Ifc4x1::IfcSoundPowerLevelMeasure::IfcSoundPowerLevelMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcSoundPowerLevelMeasure::IfcSoundPowerLevelMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcSoundPowerLevelMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcSoundPowerLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerMeasure const IfcParse::type_declaration& Ifc4x1::IfcSoundPowerMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[943]); } const IfcParse::type_declaration& Ifc4x1::IfcSoundPowerMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[943]); } Ifc4x1::IfcSoundPowerMeasure::IfcSoundPowerMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcSoundPowerMeasure::IfcSoundPowerMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcSoundPowerMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcSoundPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureLevelMeasure const IfcParse::type_declaration& Ifc4x1::IfcSoundPressureLevelMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[944]); } const IfcParse::type_declaration& Ifc4x1::IfcSoundPressureLevelMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[944]); } Ifc4x1::IfcSoundPressureLevelMeasure::IfcSoundPressureLevelMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcSoundPressureLevelMeasure::IfcSoundPressureLevelMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcSoundPressureLevelMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcSoundPressureLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureMeasure const IfcParse::type_declaration& Ifc4x1::IfcSoundPressureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[945]); } const IfcParse::type_declaration& Ifc4x1::IfcSoundPressureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[945]); } Ifc4x1::IfcSoundPressureMeasure::IfcSoundPressureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcSoundPressureMeasure::IfcSoundPressureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcSoundPressureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcSoundPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecificHeatCapacityMeasure const IfcParse::type_declaration& Ifc4x1::IfcSpecificHeatCapacityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[960]); } const IfcParse::type_declaration& Ifc4x1::IfcSpecificHeatCapacityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[960]); } Ifc4x1::IfcSpecificHeatCapacityMeasure::IfcSpecificHeatCapacityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcSpecificHeatCapacityMeasure::IfcSpecificHeatCapacityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcSpecificHeatCapacityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcSpecificHeatCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularExponent const IfcParse::type_declaration& Ifc4x1::IfcSpecularExponent::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[961]); } const IfcParse::type_declaration& Ifc4x1::IfcSpecularExponent::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[961]); } Ifc4x1::IfcSpecularExponent::IfcSpecularExponent(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcSpecularExponent::IfcSpecularExponent(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcSpecularExponent::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcSpecularExponent::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularRoughness const IfcParse::type_declaration& Ifc4x1::IfcSpecularRoughness::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[963]); } const IfcParse::type_declaration& Ifc4x1::IfcSpecularRoughness::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[963]); } Ifc4x1::IfcSpecularRoughness::IfcSpecularRoughness(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcSpecularRoughness::IfcSpecularRoughness(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcSpecularRoughness::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcSpecularRoughness::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureGradientMeasure const IfcParse::type_declaration& Ifc4x1::IfcTemperatureGradientMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[1068]); } const IfcParse::type_declaration& Ifc4x1::IfcTemperatureGradientMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[1068]); } Ifc4x1::IfcTemperatureGradientMeasure::IfcTemperatureGradientMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcTemperatureGradientMeasure::IfcTemperatureGradientMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcTemperatureGradientMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcTemperatureGradientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureRateOfChangeMeasure const IfcParse::type_declaration& Ifc4x1::IfcTemperatureRateOfChangeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[1069]); } const IfcParse::type_declaration& Ifc4x1::IfcTemperatureRateOfChangeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[1069]); } Ifc4x1::IfcTemperatureRateOfChangeMeasure::IfcTemperatureRateOfChangeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcTemperatureRateOfChangeMeasure::IfcTemperatureRateOfChangeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcTemperatureRateOfChangeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcTemperatureRateOfChangeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcText const IfcParse::type_declaration& Ifc4x1::IfcText::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[1078]); } const IfcParse::type_declaration& Ifc4x1::IfcText::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[1078]); } Ifc4x1::IfcText::IfcText(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcText::IfcText(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcText::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextAlignment const IfcParse::type_declaration& Ifc4x1::IfcTextAlignment::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[1079]); } const IfcParse::type_declaration& Ifc4x1::IfcTextAlignment::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[1079]); } Ifc4x1::IfcTextAlignment::IfcTextAlignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcTextAlignment::IfcTextAlignment(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcTextAlignment::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcTextAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextDecoration const IfcParse::type_declaration& Ifc4x1::IfcTextDecoration::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[1080]); } const IfcParse::type_declaration& Ifc4x1::IfcTextDecoration::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[1080]); } Ifc4x1::IfcTextDecoration::IfcTextDecoration(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcTextDecoration::IfcTextDecoration(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcTextDecoration::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcTextDecoration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextFontName const IfcParse::type_declaration& Ifc4x1::IfcTextFontName::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[1081]); } const IfcParse::type_declaration& Ifc4x1::IfcTextFontName::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[1081]); } Ifc4x1::IfcTextFontName::IfcTextFontName(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcTextFontName::IfcTextFontName(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcTextFontName::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcTextFontName::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextTransformation const IfcParse::type_declaration& Ifc4x1::IfcTextTransformation::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[1090]); } const IfcParse::type_declaration& Ifc4x1::IfcTextTransformation::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[1090]); } Ifc4x1::IfcTextTransformation::IfcTextTransformation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcTextTransformation::IfcTextTransformation(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcTextTransformation::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcTextTransformation::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcThermalAdmittanceMeasure const IfcParse::type_declaration& Ifc4x1::IfcThermalAdmittanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[1096]); } const IfcParse::type_declaration& Ifc4x1::IfcThermalAdmittanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[1096]); } Ifc4x1::IfcThermalAdmittanceMeasure::IfcThermalAdmittanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcThermalAdmittanceMeasure::IfcThermalAdmittanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcThermalAdmittanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcThermalAdmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalConductivityMeasure const IfcParse::type_declaration& Ifc4x1::IfcThermalConductivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[1097]); } const IfcParse::type_declaration& Ifc4x1::IfcThermalConductivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[1097]); } Ifc4x1::IfcThermalConductivityMeasure::IfcThermalConductivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcThermalConductivityMeasure::IfcThermalConductivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcThermalConductivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcThermalConductivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalExpansionCoefficientMeasure const IfcParse::type_declaration& Ifc4x1::IfcThermalExpansionCoefficientMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[1098]); } const IfcParse::type_declaration& Ifc4x1::IfcThermalExpansionCoefficientMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[1098]); } Ifc4x1::IfcThermalExpansionCoefficientMeasure::IfcThermalExpansionCoefficientMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcThermalExpansionCoefficientMeasure::IfcThermalExpansionCoefficientMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcThermalExpansionCoefficientMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcThermalExpansionCoefficientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalResistanceMeasure const IfcParse::type_declaration& Ifc4x1::IfcThermalResistanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[1099]); } const IfcParse::type_declaration& Ifc4x1::IfcThermalResistanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[1099]); } Ifc4x1::IfcThermalResistanceMeasure::IfcThermalResistanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcThermalResistanceMeasure::IfcThermalResistanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcThermalResistanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcThermalResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalTransmittanceMeasure const IfcParse::type_declaration& Ifc4x1::IfcThermalTransmittanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[1100]); } const IfcParse::type_declaration& Ifc4x1::IfcThermalTransmittanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[1100]); } Ifc4x1::IfcThermalTransmittanceMeasure::IfcThermalTransmittanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcThermalTransmittanceMeasure::IfcThermalTransmittanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcThermalTransmittanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcThermalTransmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermodynamicTemperatureMeasure const IfcParse::type_declaration& Ifc4x1::IfcThermodynamicTemperatureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[1101]); } const IfcParse::type_declaration& Ifc4x1::IfcThermodynamicTemperatureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[1101]); } Ifc4x1::IfcThermodynamicTemperatureMeasure::IfcThermodynamicTemperatureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcThermodynamicTemperatureMeasure::IfcThermodynamicTemperatureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcThermodynamicTemperatureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcThermodynamicTemperatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTime const IfcParse::type_declaration& Ifc4x1::IfcTime::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[1102]); } const IfcParse::type_declaration& Ifc4x1::IfcTime::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[1102]); } Ifc4x1::IfcTime::IfcTime(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcTime::IfcTime(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcTime::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTimeMeasure const IfcParse::type_declaration& Ifc4x1::IfcTimeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[1103]); } const IfcParse::type_declaration& Ifc4x1::IfcTimeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[1103]); } Ifc4x1::IfcTimeMeasure::IfcTimeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcTimeMeasure::IfcTimeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcTimeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcTimeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTimeStamp const IfcParse::type_declaration& Ifc4x1::IfcTimeStamp::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[1109]); } const IfcParse::type_declaration& Ifc4x1::IfcTimeStamp::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[1109]); } Ifc4x1::IfcTimeStamp::IfcTimeStamp(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcTimeStamp::IfcTimeStamp(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcTimeStamp::operator int() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcTimeStamp::operator int() const { return get_attribute_value(0); } // Function implementations for IfcTorqueMeasure const IfcParse::type_declaration& Ifc4x1::IfcTorqueMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[1113]); } const IfcParse::type_declaration& Ifc4x1::IfcTorqueMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[1113]); } Ifc4x1::IfcTorqueMeasure::IfcTorqueMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcTorqueMeasure::IfcTorqueMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcTorqueMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcTorqueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcURIReference const IfcParse::type_declaration& Ifc4x1::IfcURIReference::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[1147]); } const IfcParse::type_declaration& Ifc4x1::IfcURIReference::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[1147]); } Ifc4x1::IfcURIReference::IfcURIReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcURIReference::IfcURIReference(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcURIReference::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcURIReference::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcVaporPermeabilityMeasure const IfcParse::type_declaration& Ifc4x1::IfcVaporPermeabilityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[1153]); } const IfcParse::type_declaration& Ifc4x1::IfcVaporPermeabilityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[1153]); } Ifc4x1::IfcVaporPermeabilityMeasure::IfcVaporPermeabilityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcVaporPermeabilityMeasure::IfcVaporPermeabilityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcVaporPermeabilityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcVaporPermeabilityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumeMeasure const IfcParse::type_declaration& Ifc4x1::IfcVolumeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[1166]); } const IfcParse::type_declaration& Ifc4x1::IfcVolumeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[1166]); } Ifc4x1::IfcVolumeMeasure::IfcVolumeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcVolumeMeasure::IfcVolumeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcVolumeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcVolumeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumetricFlowRateMeasure const IfcParse::type_declaration& Ifc4x1::IfcVolumetricFlowRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[1167]); } const IfcParse::type_declaration& Ifc4x1::IfcVolumetricFlowRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[1167]); } Ifc4x1::IfcVolumetricFlowRateMeasure::IfcVolumetricFlowRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcVolumetricFlowRateMeasure::IfcVolumetricFlowRateMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcVolumetricFlowRateMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcVolumetricFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingConstantMeasure const IfcParse::type_declaration& Ifc4x1::IfcWarpingConstantMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[1173]); } const IfcParse::type_declaration& Ifc4x1::IfcWarpingConstantMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[1173]); } Ifc4x1::IfcWarpingConstantMeasure::IfcWarpingConstantMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcWarpingConstantMeasure::IfcWarpingConstantMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcWarpingConstantMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcWarpingConstantMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingMomentMeasure const IfcParse::type_declaration& Ifc4x1::IfcWarpingMomentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X1_types[1174]); } const IfcParse::type_declaration& Ifc4x1::IfcWarpingMomentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X1_types[1174]); } Ifc4x1::IfcWarpingMomentMeasure::IfcWarpingMomentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x1::IfcWarpingMomentMeasure::IfcWarpingMomentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x1::IfcWarpingMomentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x1::IfcWarpingMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcActionRequest -boost::optional< ::Ifc4x1::IfcActionRequestTypeEnum::Value > Ifc4x1::IfcActionRequest::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x1::IfcActionRequestTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x1::IfcActionRequestTypeEnum::Value > Ifc4x1::IfcActionRequest::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x1::IfcActionRequestTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x1::IfcActionRequest::setPredefinedType(boost::optional< ::Ifc4x1::IfcActionRequestTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x1::IfcActionRequestTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x1::IfcActionRequest::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x1::IfcActionRequest::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x1::IfcActionRequest::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x1::IfcActionRequest::LongDescription() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x1::IfcActionRequest::LongDescription() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x1::IfcActionRequest::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcActionRequest::declaration() const { return *((IfcParse::entity*)IFC4X1_types[2]); } const IfcParse::entity& Ifc4x1::IfcActionRequest::Class() { return *((IfcParse::entity*)IFC4X1_types[2]); } Ifc4x1::IfcActionRequest::IfcActionRequest(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x1::IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x1::IfcActionRequestTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x1::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } +Ifc4x1::IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x1::IfcActionRequestTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x1::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } // Function implementations for IfcActor -::Ifc4x1::IfcActorSelect* Ifc4x1::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcActorSelect>(true); } +::Ifc4x1::IfcActorSelect* Ifc4x1::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcActorSelect>(true); } void Ifc4x1::IfcActor::setTheActor(::Ifc4x1::IfcActorSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc4x1::IfcRelAssignsToActor::list::ptr Ifc4x1::IfcActor::IsActingUpon() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[822], 6)->as(); } @@ -6764,14 +6764,14 @@ void Ifc4x1::IfcActor::setTheActor(::Ifc4x1::IfcActorSelect* v) { set_attribute_ const IfcParse::entity& Ifc4x1::IfcActor::declaration() const { return *((IfcParse::entity*)IFC4X1_types[6]); } const IfcParse::entity& Ifc4x1::IfcActor::Class() { return *((IfcParse::entity*)IFC4X1_types[6]); } Ifc4x1::IfcActor::IfcActor(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x1::IfcActor::IfcActor(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcActorSelect* v6_TheActor) : IfcObject(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcActor::IfcActor(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcActorSelect* v6_TheActor) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcActorRole -::Ifc4x1::IfcRoleEnum::Value Ifc4x1::IfcActorRole::Role() const { return ::Ifc4x1::IfcRoleEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x1::IfcRoleEnum::Value Ifc4x1::IfcActorRole::Role() const { return ::Ifc4x1::IfcRoleEnum::FromString(get_attribute_value(0)); } void Ifc4x1::IfcActorRole::setRole(::Ifc4x1::IfcRoleEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x1::IfcRoleEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x1::IfcActorRole::UserDefinedRole() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x1::IfcActorRole::UserDefinedRole() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcActorRole::setUserDefinedRole(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x1::IfcActorRole::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x1::IfcActorRole::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcActorRole::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x1::IfcExternalReferenceRelationship::list::ptr Ifc4x1::IfcActorRole::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[394], 3)->as(); } @@ -6779,34 +6779,34 @@ void Ifc4x1::IfcActorRole::setDescription(boost::optional< std::string > v) { if const IfcParse::entity& Ifc4x1::IfcActorRole::declaration() const { return *((IfcParse::entity*)IFC4X1_types[7]); } const IfcParse::entity& Ifc4x1::IfcActorRole::Class() { return *((IfcParse::entity*)IFC4X1_types[7]); } Ifc4x1::IfcActorRole::IfcActorRole(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcActorRole::IfcActorRole(::Ifc4x1::IfcRoleEnum::Value v1_Role, boost::optional< std::string > v2_UserDefinedRole, boost::optional< std::string > v3_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } +Ifc4x1::IfcActorRole::IfcActorRole(::Ifc4x1::IfcRoleEnum::Value v1_Role, boost::optional< std::string > v2_UserDefinedRole, boost::optional< std::string > v3_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } // Function implementations for IfcActuator -boost::optional< ::Ifc4x1::IfcActuatorTypeEnum::Value > Ifc4x1::IfcActuator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcActuatorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcActuatorTypeEnum::Value > Ifc4x1::IfcActuator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcActuatorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcActuator::setPredefinedType(boost::optional< ::Ifc4x1::IfcActuatorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcActuatorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcActuator::declaration() const { return *((IfcParse::entity*)IFC4X1_types[9]); } const IfcParse::entity& Ifc4x1::IfcActuator::Class() { return *((IfcParse::entity*)IFC4X1_types[9]); } Ifc4x1::IfcActuator::IfcActuator(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x1::IfcActuator::IfcActuator(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcActuatorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcActuator::IfcActuator(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcActuatorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcActuatorType -::Ifc4x1::IfcActuatorTypeEnum::Value Ifc4x1::IfcActuatorType::PredefinedType() const { return ::Ifc4x1::IfcActuatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcActuatorTypeEnum::Value Ifc4x1::IfcActuatorType::PredefinedType() const { return ::Ifc4x1::IfcActuatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcActuatorType::setPredefinedType(::Ifc4x1::IfcActuatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcActuatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcActuatorType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[10]); } const IfcParse::entity& Ifc4x1::IfcActuatorType::Class() { return *((IfcParse::entity*)IFC4X1_types[10]); } Ifc4x1::IfcActuatorType::IfcActuatorType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x1::IfcActuatorType::IfcActuatorType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcActuatorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcActuatorType::IfcActuatorType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcActuatorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAddress -boost::optional< ::Ifc4x1::IfcAddressTypeEnum::Value > Ifc4x1::IfcAddress::Purpose() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } return ::Ifc4x1::IfcAddressTypeEnum::FromString(data_.get_attribute_value(0)); } +boost::optional< ::Ifc4x1::IfcAddressTypeEnum::Value > Ifc4x1::IfcAddress::Purpose() const { if(get_attribute_value(0).isNull()) { return boost::none; } return ::Ifc4x1::IfcAddressTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x1::IfcAddress::setPurpose(boost::optional< ::Ifc4x1::IfcAddressTypeEnum::Value > v) { if (v) {set_attribute_value(0, EnumerationReference(&::Ifc4x1::IfcAddressTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x1::IfcAddress::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x1::IfcAddress::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcAddress::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x1::IfcAddress::UserDefinedPurpose() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x1::IfcAddress::UserDefinedPurpose() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcAddress::setUserDefinedPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x1::IfcPerson::list::ptr Ifc4x1::IfcAddress::OfPerson() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[667], 7)->as(); } @@ -6815,7 +6815,7 @@ void Ifc4x1::IfcAddress::setUserDefinedPurpose(boost::optional< std::string > v) const IfcParse::entity& Ifc4x1::IfcAddress::declaration() const { return *((IfcParse::entity*)IFC4X1_types[12]); } const IfcParse::entity& Ifc4x1::IfcAddress::Class() { return *((IfcParse::entity*)IFC4X1_types[12]); } Ifc4x1::IfcAddress::IfcAddress(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcAddress::IfcAddress(boost::optional< ::Ifc4x1::IfcAddressTypeEnum::Value > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; populate_derived(); } +Ifc4x1::IfcAddress::IfcAddress(boost::optional< ::Ifc4x1::IfcAddressTypeEnum::Value > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; populate_derived(); } // Function implementations for IfcAdvancedBrep @@ -6823,17 +6823,17 @@ Ifc4x1::IfcAddress::IfcAddress(boost::optional< ::Ifc4x1::IfcAddressTypeEnum::Va const IfcParse::entity& Ifc4x1::IfcAdvancedBrep::declaration() const { return *((IfcParse::entity*)IFC4X1_types[14]); } const IfcParse::entity& Ifc4x1::IfcAdvancedBrep::Class() { return *((IfcParse::entity*)IFC4X1_types[14]); } Ifc4x1::IfcAdvancedBrep::IfcAdvancedBrep(IfcEntityInstanceData&& e) : IfcManifoldSolidBrep(std::move(e)) { } -Ifc4x1::IfcAdvancedBrep::IfcAdvancedBrep(::Ifc4x1::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcAdvancedBrep::IfcAdvancedBrep(::Ifc4x1::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAdvancedBrepWithVoids -aggregate_of< ::Ifc4x1::IfcClosedShell >::ptr Ifc4x1::IfcAdvancedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x1::IfcClosedShell >(); } +aggregate_of< ::Ifc4x1::IfcClosedShell >::ptr Ifc4x1::IfcAdvancedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x1::IfcClosedShell >(); } void Ifc4x1::IfcAdvancedBrepWithVoids::setVoids(aggregate_of< ::Ifc4x1::IfcClosedShell >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcAdvancedBrepWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X1_types[15]); } const IfcParse::entity& Ifc4x1::IfcAdvancedBrepWithVoids::Class() { return *((IfcParse::entity*)IFC4X1_types[15]); } Ifc4x1::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(IfcEntityInstanceData&& e) : IfcAdvancedBrep(std::move(e)) { } -Ifc4x1::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4x1::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x1::IfcClosedShell >::ptr v2_Voids) : IfcAdvancedBrep(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } +Ifc4x1::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4x1::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x1::IfcClosedShell >::ptr v2_Voids) : IfcAdvancedBrep(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } // Function implementations for IfcAdvancedFace @@ -6841,102 +6841,102 @@ Ifc4x1::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4x1::IfcClosedSh const IfcParse::entity& Ifc4x1::IfcAdvancedFace::declaration() const { return *((IfcParse::entity*)IFC4X1_types[16]); } const IfcParse::entity& Ifc4x1::IfcAdvancedFace::Class() { return *((IfcParse::entity*)IFC4X1_types[16]); } Ifc4x1::IfcAdvancedFace::IfcAdvancedFace(IfcEntityInstanceData&& e) : IfcFaceSurface(std::move(e)) { } -Ifc4x1::IfcAdvancedFace::IfcAdvancedFace(aggregate_of< ::Ifc4x1::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x1::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFaceSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } +Ifc4x1::IfcAdvancedFace::IfcAdvancedFace(aggregate_of< ::Ifc4x1::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x1::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFaceSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } // Function implementations for IfcAirTerminal -boost::optional< ::Ifc4x1::IfcAirTerminalTypeEnum::Value > Ifc4x1::IfcAirTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcAirTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcAirTerminalTypeEnum::Value > Ifc4x1::IfcAirTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcAirTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcAirTerminal::setPredefinedType(boost::optional< ::Ifc4x1::IfcAirTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcAirTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcAirTerminal::declaration() const { return *((IfcParse::entity*)IFC4X1_types[17]); } const IfcParse::entity& Ifc4x1::IfcAirTerminal::Class() { return *((IfcParse::entity*)IFC4X1_types[17]); } Ifc4x1::IfcAirTerminal::IfcAirTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x1::IfcAirTerminal::IfcAirTerminal(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcAirTerminal::IfcAirTerminal(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAirTerminalBox -boost::optional< ::Ifc4x1::IfcAirTerminalBoxTypeEnum::Value > Ifc4x1::IfcAirTerminalBox::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcAirTerminalBoxTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcAirTerminalBoxTypeEnum::Value > Ifc4x1::IfcAirTerminalBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcAirTerminalBox::setPredefinedType(boost::optional< ::Ifc4x1::IfcAirTerminalBoxTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcAirTerminalBoxTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcAirTerminalBox::declaration() const { return *((IfcParse::entity*)IFC4X1_types[18]); } const IfcParse::entity& Ifc4x1::IfcAirTerminalBox::Class() { return *((IfcParse::entity*)IFC4X1_types[18]); } Ifc4x1::IfcAirTerminalBox::IfcAirTerminalBox(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x1::IfcAirTerminalBox::IfcAirTerminalBox(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcAirTerminalBox::IfcAirTerminalBox(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAirTerminalBoxType -::Ifc4x1::IfcAirTerminalBoxTypeEnum::Value Ifc4x1::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4x1::IfcAirTerminalBoxTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcAirTerminalBoxTypeEnum::Value Ifc4x1::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4x1::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcAirTerminalBoxType::setPredefinedType(::Ifc4x1::IfcAirTerminalBoxTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcAirTerminalBoxTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcAirTerminalBoxType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[19]); } const IfcParse::entity& Ifc4x1::IfcAirTerminalBoxType::Class() { return *((IfcParse::entity*)IFC4X1_types[19]); } Ifc4x1::IfcAirTerminalBoxType::IfcAirTerminalBoxType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x1::IfcAirTerminalBoxType::IfcAirTerminalBoxType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcAirTerminalBoxType::IfcAirTerminalBoxType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAirTerminalType -::Ifc4x1::IfcAirTerminalTypeEnum::Value Ifc4x1::IfcAirTerminalType::PredefinedType() const { return ::Ifc4x1::IfcAirTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcAirTerminalTypeEnum::Value Ifc4x1::IfcAirTerminalType::PredefinedType() const { return ::Ifc4x1::IfcAirTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcAirTerminalType::setPredefinedType(::Ifc4x1::IfcAirTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcAirTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcAirTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[21]); } const IfcParse::entity& Ifc4x1::IfcAirTerminalType::Class() { return *((IfcParse::entity*)IFC4X1_types[21]); } Ifc4x1::IfcAirTerminalType::IfcAirTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x1::IfcAirTerminalType::IfcAirTerminalType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAirTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcAirTerminalType::IfcAirTerminalType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAirTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAirToAirHeatRecovery -boost::optional< ::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x1::IfcAirToAirHeatRecovery::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x1::IfcAirToAirHeatRecovery::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcAirToAirHeatRecovery::setPredefinedType(boost::optional< ::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcAirToAirHeatRecovery::declaration() const { return *((IfcParse::entity*)IFC4X1_types[23]); } const IfcParse::entity& Ifc4x1::IfcAirToAirHeatRecovery::Class() { return *((IfcParse::entity*)IFC4X1_types[23]); } Ifc4x1::IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x1::IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAirToAirHeatRecoveryType -::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x1::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x1::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcAirToAirHeatRecoveryType::setPredefinedType(::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcAirToAirHeatRecoveryType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[24]); } const IfcParse::entity& Ifc4x1::IfcAirToAirHeatRecoveryType::Class() { return *((IfcParse::entity*)IFC4X1_types[24]); } Ifc4x1::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x1::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlarm -boost::optional< ::Ifc4x1::IfcAlarmTypeEnum::Value > Ifc4x1::IfcAlarm::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcAlarmTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcAlarmTypeEnum::Value > Ifc4x1::IfcAlarm::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcAlarmTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcAlarm::setPredefinedType(boost::optional< ::Ifc4x1::IfcAlarmTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcAlarmTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcAlarm::declaration() const { return *((IfcParse::entity*)IFC4X1_types[26]); } const IfcParse::entity& Ifc4x1::IfcAlarm::Class() { return *((IfcParse::entity*)IFC4X1_types[26]); } Ifc4x1::IfcAlarm::IfcAlarm(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x1::IfcAlarm::IfcAlarm(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcAlarmTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcAlarm::IfcAlarm(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcAlarmTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAlarmType -::Ifc4x1::IfcAlarmTypeEnum::Value Ifc4x1::IfcAlarmType::PredefinedType() const { return ::Ifc4x1::IfcAlarmTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcAlarmTypeEnum::Value Ifc4x1::IfcAlarmType::PredefinedType() const { return ::Ifc4x1::IfcAlarmTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcAlarmType::setPredefinedType(::Ifc4x1::IfcAlarmTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcAlarmTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcAlarmType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[27]); } const IfcParse::entity& Ifc4x1::IfcAlarmType::Class() { return *((IfcParse::entity*)IFC4X1_types[27]); } Ifc4x1::IfcAlarmType::IfcAlarmType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x1::IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAlarmTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAlarmTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlignment -boost::optional< ::Ifc4x1::IfcAlignmentTypeEnum::Value > Ifc4x1::IfcAlignment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcAlignmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcAlignmentTypeEnum::Value > Ifc4x1::IfcAlignment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcAlignmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcAlignment::setPredefinedType(boost::optional< ::Ifc4x1::IfcAlignmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcAlignmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcAlignment::declaration() const { return *((IfcParse::entity*)IFC4X1_types[29]); } const IfcParse::entity& Ifc4x1::IfcAlignment::Class() { return *((IfcParse::entity*)IFC4X1_types[29]); } Ifc4x1::IfcAlignment::IfcAlignment(IfcEntityInstanceData&& e) : IfcLinearPositioningElement(std::move(e)) { } -Ifc4x1::IfcAlignment::IfcAlignment(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcCurve* v8_Axis, boost::optional< ::Ifc4x1::IfcAlignmentTypeEnum::Value > v9_PredefinedType) : IfcLinearPositioningElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_Axis ? v8_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcAlignmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcAlignment::IfcAlignment(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcCurve* v8_Axis, boost::optional< ::Ifc4x1::IfcAlignmentTypeEnum::Value > v9_PredefinedType) : IfcLinearPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_Axis ? v8_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcAlignmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAlignment2DHorizontal -boost::optional< double > Ifc4x1::IfcAlignment2DHorizontal::StartDistAlong() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } double v = data_.get_attribute_value(0); return v; } +boost::optional< double > Ifc4x1::IfcAlignment2DHorizontal::StartDistAlong() const { if(get_attribute_value(0).isNull()) { return boost::none; } double v = get_attribute_value(0); return v; } void Ifc4x1::IfcAlignment2DHorizontal::setStartDistAlong(boost::optional< double > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -aggregate_of< ::Ifc4x1::IfcAlignment2DHorizontalSegment >::ptr Ifc4x1::IfcAlignment2DHorizontal::Segments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x1::IfcAlignment2DHorizontalSegment >(); } +aggregate_of< ::Ifc4x1::IfcAlignment2DHorizontalSegment >::ptr Ifc4x1::IfcAlignment2DHorizontal::Segments() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x1::IfcAlignment2DHorizontalSegment >(); } void Ifc4x1::IfcAlignment2DHorizontal::setSegments(aggregate_of< ::Ifc4x1::IfcAlignment2DHorizontalSegment >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } ::Ifc4x1::IfcAlignmentCurve::list::ptr Ifc4x1::IfcAlignment2DHorizontal::ToAlignmentCurve() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[38], 0)->as(); } @@ -6944,10 +6944,10 @@ void Ifc4x1::IfcAlignment2DHorizontal::setSegments(aggregate_of< ::Ifc4x1::IfcAl const IfcParse::entity& Ifc4x1::IfcAlignment2DHorizontal::declaration() const { return *((IfcParse::entity*)IFC4X1_types[30]); } const IfcParse::entity& Ifc4x1::IfcAlignment2DHorizontal::Class() { return *((IfcParse::entity*)IFC4X1_types[30]); } Ifc4x1::IfcAlignment2DHorizontal::IfcAlignment2DHorizontal(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x1::IfcAlignment2DHorizontal::IfcAlignment2DHorizontal(boost::optional< double > v1_StartDistAlong, aggregate_of< ::Ifc4x1::IfcAlignment2DHorizontalSegment >::ptr v2_Segments) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { if (v1_StartDistAlong) {set_attribute_value(0, (*v1_StartDistAlong)); }set_attribute_value(1, (v2_Segments)->generalize());; populate_derived(); } +Ifc4x1::IfcAlignment2DHorizontal::IfcAlignment2DHorizontal(boost::optional< double > v1_StartDistAlong, aggregate_of< ::Ifc4x1::IfcAlignment2DHorizontalSegment >::ptr v2_Segments) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_StartDistAlong) {set_attribute_value(0, (*v1_StartDistAlong)); }set_attribute_value(1, (v2_Segments)->generalize());; populate_derived(); } // Function implementations for IfcAlignment2DHorizontalSegment -::Ifc4x1::IfcCurveSegment2D* Ifc4x1::IfcAlignment2DHorizontalSegment::CurveGeometry() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcCurveSegment2D>(true); } +::Ifc4x1::IfcCurveSegment2D* Ifc4x1::IfcAlignment2DHorizontalSegment::CurveGeometry() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcCurveSegment2D>(true); } void Ifc4x1::IfcAlignment2DHorizontalSegment::setCurveGeometry(::Ifc4x1::IfcCurveSegment2D* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } ::Ifc4x1::IfcAlignment2DHorizontal::list::ptr Ifc4x1::IfcAlignment2DHorizontalSegment::ToHorizontal() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[30], 1)->as(); } @@ -6955,33 +6955,33 @@ void Ifc4x1::IfcAlignment2DHorizontalSegment::setCurveGeometry(::Ifc4x1::IfcCurv const IfcParse::entity& Ifc4x1::IfcAlignment2DHorizontalSegment::declaration() const { return *((IfcParse::entity*)IFC4X1_types[31]); } const IfcParse::entity& Ifc4x1::IfcAlignment2DHorizontalSegment::Class() { return *((IfcParse::entity*)IFC4X1_types[31]); } Ifc4x1::IfcAlignment2DHorizontalSegment::IfcAlignment2DHorizontalSegment(IfcEntityInstanceData&& e) : IfcAlignment2DSegment(std::move(e)) { } -Ifc4x1::IfcAlignment2DHorizontalSegment::IfcAlignment2DHorizontalSegment(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, ::Ifc4x1::IfcCurveSegment2D* v4_CurveGeometry) : IfcAlignment2DSegment(IfcEntityInstanceData(storage_t(4))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, v4_CurveGeometry ? v4_CurveGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcAlignment2DHorizontalSegment::IfcAlignment2DHorizontalSegment(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, ::Ifc4x1::IfcCurveSegment2D* v4_CurveGeometry) : IfcAlignment2DSegment(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, v4_CurveGeometry ? v4_CurveGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAlignment2DSegment -boost::optional< bool > Ifc4x1::IfcAlignment2DSegment::TangentialContinuity() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } bool v = data_.get_attribute_value(0); return v; } +boost::optional< bool > Ifc4x1::IfcAlignment2DSegment::TangentialContinuity() const { if(get_attribute_value(0).isNull()) { return boost::none; } bool v = get_attribute_value(0); return v; } void Ifc4x1::IfcAlignment2DSegment::setTangentialContinuity(boost::optional< bool > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x1::IfcAlignment2DSegment::StartTag() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x1::IfcAlignment2DSegment::StartTag() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcAlignment2DSegment::setStartTag(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x1::IfcAlignment2DSegment::EndTag() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x1::IfcAlignment2DSegment::EndTag() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcAlignment2DSegment::setEndTag(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x1::IfcAlignment2DSegment::declaration() const { return *((IfcParse::entity*)IFC4X1_types[32]); } const IfcParse::entity& Ifc4x1::IfcAlignment2DSegment::Class() { return *((IfcParse::entity*)IFC4X1_types[32]); } Ifc4x1::IfcAlignment2DSegment::IfcAlignment2DSegment(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x1::IfcAlignment2DSegment::IfcAlignment2DSegment(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }; populate_derived(); } +Ifc4x1::IfcAlignment2DSegment::IfcAlignment2DSegment(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }; populate_derived(); } // Function implementations for IfcAlignment2DVerSegCircularArc -double Ifc4x1::IfcAlignment2DVerSegCircularArc::Radius() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x1::IfcAlignment2DVerSegCircularArc::Radius() const { double v = get_attribute_value(7); return v; } void Ifc4x1::IfcAlignment2DVerSegCircularArc::setRadius(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -bool Ifc4x1::IfcAlignment2DVerSegCircularArc::IsConvex() const { bool v = data_.get_attribute_value(8); return v; } +bool Ifc4x1::IfcAlignment2DVerSegCircularArc::IsConvex() const { bool v = get_attribute_value(8); return v; } void Ifc4x1::IfcAlignment2DVerSegCircularArc::setIsConvex(bool v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x1::IfcAlignment2DVerSegCircularArc::declaration() const { return *((IfcParse::entity*)IFC4X1_types[33]); } const IfcParse::entity& Ifc4x1::IfcAlignment2DVerSegCircularArc::Class() { return *((IfcParse::entity*)IFC4X1_types[33]); } Ifc4x1::IfcAlignment2DVerSegCircularArc::IfcAlignment2DVerSegCircularArc(IfcEntityInstanceData&& e) : IfcAlignment2DVerticalSegment(std::move(e)) { } -Ifc4x1::IfcAlignment2DVerSegCircularArc::IfcAlignment2DVerSegCircularArc(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_Radius, bool v9_IsConvex) : IfcAlignment2DVerticalSegment(IfcEntityInstanceData(storage_t(9))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));set_attribute_value(7, (v8_Radius));set_attribute_value(8, (v9_IsConvex));; populate_derived(); } +Ifc4x1::IfcAlignment2DVerSegCircularArc::IfcAlignment2DVerSegCircularArc(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_Radius, bool v9_IsConvex) : IfcAlignment2DVerticalSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));set_attribute_value(7, (v8_Radius));set_attribute_value(8, (v9_IsConvex));; populate_derived(); } // Function implementations for IfcAlignment2DVerSegLine @@ -6989,22 +6989,22 @@ Ifc4x1::IfcAlignment2DVerSegCircularArc::IfcAlignment2DVerSegCircularArc(boost:: const IfcParse::entity& Ifc4x1::IfcAlignment2DVerSegLine::declaration() const { return *((IfcParse::entity*)IFC4X1_types[34]); } const IfcParse::entity& Ifc4x1::IfcAlignment2DVerSegLine::Class() { return *((IfcParse::entity*)IFC4X1_types[34]); } Ifc4x1::IfcAlignment2DVerSegLine::IfcAlignment2DVerSegLine(IfcEntityInstanceData&& e) : IfcAlignment2DVerticalSegment(std::move(e)) { } -Ifc4x1::IfcAlignment2DVerSegLine::IfcAlignment2DVerSegLine(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient) : IfcAlignment2DVerticalSegment(IfcEntityInstanceData(storage_t(7))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));; populate_derived(); } +Ifc4x1::IfcAlignment2DVerSegLine::IfcAlignment2DVerSegLine(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient) : IfcAlignment2DVerticalSegment(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));; populate_derived(); } // Function implementations for IfcAlignment2DVerSegParabolicArc -double Ifc4x1::IfcAlignment2DVerSegParabolicArc::ParabolaConstant() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x1::IfcAlignment2DVerSegParabolicArc::ParabolaConstant() const { double v = get_attribute_value(7); return v; } void Ifc4x1::IfcAlignment2DVerSegParabolicArc::setParabolaConstant(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -bool Ifc4x1::IfcAlignment2DVerSegParabolicArc::IsConvex() const { bool v = data_.get_attribute_value(8); return v; } +bool Ifc4x1::IfcAlignment2DVerSegParabolicArc::IsConvex() const { bool v = get_attribute_value(8); return v; } void Ifc4x1::IfcAlignment2DVerSegParabolicArc::setIsConvex(bool v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x1::IfcAlignment2DVerSegParabolicArc::declaration() const { return *((IfcParse::entity*)IFC4X1_types[35]); } const IfcParse::entity& Ifc4x1::IfcAlignment2DVerSegParabolicArc::Class() { return *((IfcParse::entity*)IFC4X1_types[35]); } Ifc4x1::IfcAlignment2DVerSegParabolicArc::IfcAlignment2DVerSegParabolicArc(IfcEntityInstanceData&& e) : IfcAlignment2DVerticalSegment(std::move(e)) { } -Ifc4x1::IfcAlignment2DVerSegParabolicArc::IfcAlignment2DVerSegParabolicArc(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_ParabolaConstant, bool v9_IsConvex) : IfcAlignment2DVerticalSegment(IfcEntityInstanceData(storage_t(9))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));set_attribute_value(7, (v8_ParabolaConstant));set_attribute_value(8, (v9_IsConvex));; populate_derived(); } +Ifc4x1::IfcAlignment2DVerSegParabolicArc::IfcAlignment2DVerSegParabolicArc(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_ParabolaConstant, bool v9_IsConvex) : IfcAlignment2DVerticalSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));set_attribute_value(7, (v8_ParabolaConstant));set_attribute_value(8, (v9_IsConvex));; populate_derived(); } // Function implementations for IfcAlignment2DVertical -aggregate_of< ::Ifc4x1::IfcAlignment2DVerticalSegment >::ptr Ifc4x1::IfcAlignment2DVertical::Segments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x1::IfcAlignment2DVerticalSegment >(); } +aggregate_of< ::Ifc4x1::IfcAlignment2DVerticalSegment >::ptr Ifc4x1::IfcAlignment2DVertical::Segments() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x1::IfcAlignment2DVerticalSegment >(); } void Ifc4x1::IfcAlignment2DVertical::setSegments(aggregate_of< ::Ifc4x1::IfcAlignment2DVerticalSegment >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } ::Ifc4x1::IfcAlignmentCurve::list::ptr Ifc4x1::IfcAlignment2DVertical::ToAlignmentCurve() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[38], 1)->as(); } @@ -7012,16 +7012,16 @@ void Ifc4x1::IfcAlignment2DVertical::setSegments(aggregate_of< ::Ifc4x1::IfcAlig const IfcParse::entity& Ifc4x1::IfcAlignment2DVertical::declaration() const { return *((IfcParse::entity*)IFC4X1_types[36]); } const IfcParse::entity& Ifc4x1::IfcAlignment2DVertical::Class() { return *((IfcParse::entity*)IFC4X1_types[36]); } Ifc4x1::IfcAlignment2DVertical::IfcAlignment2DVertical(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x1::IfcAlignment2DVertical::IfcAlignment2DVertical(aggregate_of< ::Ifc4x1::IfcAlignment2DVerticalSegment >::ptr v1_Segments) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Segments)->generalize());; populate_derived(); } +Ifc4x1::IfcAlignment2DVertical::IfcAlignment2DVertical(aggregate_of< ::Ifc4x1::IfcAlignment2DVerticalSegment >::ptr v1_Segments) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Segments)->generalize());; populate_derived(); } // Function implementations for IfcAlignment2DVerticalSegment -double Ifc4x1::IfcAlignment2DVerticalSegment::StartDistAlong() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x1::IfcAlignment2DVerticalSegment::StartDistAlong() const { double v = get_attribute_value(3); return v; } void Ifc4x1::IfcAlignment2DVerticalSegment::setStartDistAlong(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x1::IfcAlignment2DVerticalSegment::HorizontalLength() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x1::IfcAlignment2DVerticalSegment::HorizontalLength() const { double v = get_attribute_value(4); return v; } void Ifc4x1::IfcAlignment2DVerticalSegment::setHorizontalLength(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x1::IfcAlignment2DVerticalSegment::StartHeight() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x1::IfcAlignment2DVerticalSegment::StartHeight() const { double v = get_attribute_value(5); return v; } void Ifc4x1::IfcAlignment2DVerticalSegment::setStartHeight(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x1::IfcAlignment2DVerticalSegment::StartGradient() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x1::IfcAlignment2DVerticalSegment::StartGradient() const { double v = get_attribute_value(6); return v; } void Ifc4x1::IfcAlignment2DVerticalSegment::setStartGradient(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } ::Ifc4x1::IfcAlignment2DVertical::list::ptr Ifc4x1::IfcAlignment2DVerticalSegment::ToVertical() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[36], 0)->as(); } @@ -7029,21 +7029,21 @@ void Ifc4x1::IfcAlignment2DVerticalSegment::setStartGradient(double v) { set_att const IfcParse::entity& Ifc4x1::IfcAlignment2DVerticalSegment::declaration() const { return *((IfcParse::entity*)IFC4X1_types[37]); } const IfcParse::entity& Ifc4x1::IfcAlignment2DVerticalSegment::Class() { return *((IfcParse::entity*)IFC4X1_types[37]); } Ifc4x1::IfcAlignment2DVerticalSegment::IfcAlignment2DVerticalSegment(IfcEntityInstanceData&& e) : IfcAlignment2DSegment(std::move(e)) { } -Ifc4x1::IfcAlignment2DVerticalSegment::IfcAlignment2DVerticalSegment(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient) : IfcAlignment2DSegment(IfcEntityInstanceData(storage_t(7))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));; populate_derived(); } +Ifc4x1::IfcAlignment2DVerticalSegment::IfcAlignment2DVerticalSegment(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient) : IfcAlignment2DSegment(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));; populate_derived(); } // Function implementations for IfcAlignmentCurve -::Ifc4x1::IfcAlignment2DHorizontal* Ifc4x1::IfcAlignmentCurve::Horizontal() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcAlignment2DHorizontal>(true); } +::Ifc4x1::IfcAlignment2DHorizontal* Ifc4x1::IfcAlignmentCurve::Horizontal() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcAlignment2DHorizontal>(true); } void Ifc4x1::IfcAlignmentCurve::setHorizontal(::Ifc4x1::IfcAlignment2DHorizontal* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcAlignment2DVertical* Ifc4x1::IfcAlignmentCurve::Vertical() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcAlignment2DVertical>(true); } +::Ifc4x1::IfcAlignment2DVertical* Ifc4x1::IfcAlignmentCurve::Vertical() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcAlignment2DVertical>(true); } void Ifc4x1::IfcAlignmentCurve::setVertical(::Ifc4x1::IfcAlignment2DVertical* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x1::IfcAlignmentCurve::Tag() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x1::IfcAlignmentCurve::Tag() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcAlignmentCurve::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x1::IfcAlignmentCurve::declaration() const { return *((IfcParse::entity*)IFC4X1_types[38]); } const IfcParse::entity& Ifc4x1::IfcAlignmentCurve::Class() { return *((IfcParse::entity*)IFC4X1_types[38]); } Ifc4x1::IfcAlignmentCurve::IfcAlignmentCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x1::IfcAlignmentCurve::IfcAlignmentCurve(::Ifc4x1::IfcAlignment2DHorizontal* v1_Horizontal, ::Ifc4x1::IfcAlignment2DVertical* v2_Vertical, boost::optional< std::string > v3_Tag) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Horizontal ? v1_Horizontal->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Vertical ? v2_Vertical->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; populate_derived(); } +Ifc4x1::IfcAlignmentCurve::IfcAlignmentCurve(::Ifc4x1::IfcAlignment2DHorizontal* v1_Horizontal, ::Ifc4x1::IfcAlignment2DVertical* v2_Vertical, boost::optional< std::string > v3_Tag) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Horizontal ? v1_Horizontal->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Vertical ? v2_Vertical->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; populate_derived(); } // Function implementations for IfcAnnotation @@ -7052,56 +7052,56 @@ Ifc4x1::IfcAlignmentCurve::IfcAlignmentCurve(::Ifc4x1::IfcAlignment2DHorizontal* const IfcParse::entity& Ifc4x1::IfcAnnotation::declaration() const { return *((IfcParse::entity*)IFC4X1_types[44]); } const IfcParse::entity& Ifc4x1::IfcAnnotation::Class() { return *((IfcParse::entity*)IFC4X1_types[44]); } Ifc4x1::IfcAnnotation::IfcAnnotation(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x1::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAnnotationFillArea -::Ifc4x1::IfcCurve* Ifc4x1::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcCurve>(true); } +::Ifc4x1::IfcCurve* Ifc4x1::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcAnnotationFillArea::setOuterBoundary(::Ifc4x1::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< aggregate_of< ::Ifc4x1::IfcCurve >::ptr > Ifc4x1::IfcAnnotationFillArea::InnerBoundaries() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x1::IfcCurve >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcCurve >::ptr > Ifc4x1::IfcAnnotationFillArea::InnerBoundaries() const { if(get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x1::IfcCurve >(); } void Ifc4x1::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc4x1::IfcCurve >::ptr > v) { if (v) {set_attribute_value(1, (*v)->generalize());} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x1::IfcAnnotationFillArea::declaration() const { return *((IfcParse::entity*)IFC4X1_types[45]); } const IfcParse::entity& Ifc4x1::IfcAnnotationFillArea::Class() { return *((IfcParse::entity*)IFC4X1_types[45]); } Ifc4x1::IfcAnnotationFillArea::IfcAnnotationFillArea(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x1::IfcAnnotationFillArea::IfcAnnotationFillArea(::Ifc4x1::IfcCurve* v1_OuterBoundary, boost::optional< aggregate_of< ::Ifc4x1::IfcCurve >::ptr > v2_InnerBoundaries) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_OuterBoundary ? v1_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_InnerBoundaries) {set_attribute_value(1, (*v2_InnerBoundaries)->generalize()); }; populate_derived(); } +Ifc4x1::IfcAnnotationFillArea::IfcAnnotationFillArea(::Ifc4x1::IfcCurve* v1_OuterBoundary, boost::optional< aggregate_of< ::Ifc4x1::IfcCurve >::ptr > v2_InnerBoundaries) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_OuterBoundary ? v1_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_InnerBoundaries) {set_attribute_value(1, (*v2_InnerBoundaries)->generalize()); }; populate_derived(); } // Function implementations for IfcApplication -::Ifc4x1::IfcOrganization* Ifc4x1::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcOrganization>(true); } +::Ifc4x1::IfcOrganization* Ifc4x1::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcOrganization>(true); } void Ifc4x1::IfcApplication::setApplicationDeveloper(::Ifc4x1::IfcOrganization* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x1::IfcApplication::Version() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x1::IfcApplication::Version() const { std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcApplication::setVersion(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::string Ifc4x1::IfcApplication::ApplicationFullName() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x1::IfcApplication::ApplicationFullName() const { std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcApplication::setApplicationFullName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::string Ifc4x1::IfcApplication::ApplicationIdentifier() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x1::IfcApplication::ApplicationIdentifier() const { std::string v = get_attribute_value(3); return v; } void Ifc4x1::IfcApplication::setApplicationIdentifier(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcApplication::declaration() const { return *((IfcParse::entity*)IFC4X1_types[46]); } const IfcParse::entity& Ifc4x1::IfcApplication::Class() { return *((IfcParse::entity*)IFC4X1_types[46]); } Ifc4x1::IfcApplication::IfcApplication(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcApplication::IfcApplication(::Ifc4x1::IfcOrganization* v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ApplicationDeveloper ? v1_ApplicationDeveloper->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; populate_derived(); } +Ifc4x1::IfcApplication::IfcApplication(::Ifc4x1::IfcOrganization* v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ApplicationDeveloper ? v1_ApplicationDeveloper->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; populate_derived(); } // Function implementations for IfcAppliedValue -boost::optional< std::string > Ifc4x1::IfcAppliedValue::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x1::IfcAppliedValue::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcAppliedValue::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x1::IfcAppliedValue::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x1::IfcAppliedValue::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcAppliedValue::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x1::IfcAppliedValueSelect* Ifc4x1::IfcAppliedValue::AppliedValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcAppliedValueSelect>(true); } +::Ifc4x1::IfcAppliedValueSelect* Ifc4x1::IfcAppliedValue::AppliedValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcAppliedValueSelect>(true); } void Ifc4x1::IfcAppliedValue::setAppliedValue(::Ifc4x1::IfcAppliedValueSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcMeasureWithUnit* Ifc4x1::IfcAppliedValue::UnitBasis() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcMeasureWithUnit>(true); } +::Ifc4x1::IfcMeasureWithUnit* Ifc4x1::IfcAppliedValue::UnitBasis() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcMeasureWithUnit>(true); } void Ifc4x1::IfcAppliedValue::setUnitBasis(::Ifc4x1::IfcMeasureWithUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x1::IfcAppliedValue::ApplicableDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x1::IfcAppliedValue::ApplicableDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcAppliedValue::setApplicableDate(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x1::IfcAppliedValue::FixedUntilDate() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x1::IfcAppliedValue::FixedUntilDate() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcAppliedValue::setFixedUntilDate(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x1::IfcAppliedValue::Category() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x1::IfcAppliedValue::Category() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x1::IfcAppliedValue::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x1::IfcAppliedValue::Condition() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x1::IfcAppliedValue::Condition() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x1::IfcAppliedValue::setCondition(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x1::IfcArithmeticOperatorEnum::Value > Ifc4x1::IfcAppliedValue::ArithmeticOperator() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcArithmeticOperatorEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcArithmeticOperatorEnum::Value > Ifc4x1::IfcAppliedValue::ArithmeticOperator() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcArithmeticOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcAppliedValue::setArithmeticOperator(boost::optional< ::Ifc4x1::IfcArithmeticOperatorEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcArithmeticOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > Ifc4x1::IfcAppliedValue::Components() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x1::IfcAppliedValue >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > Ifc4x1::IfcAppliedValue::Components() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x1::IfcAppliedValue >(); } void Ifc4x1::IfcAppliedValue::setComponents(boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } ::Ifc4x1::IfcExternalReferenceRelationship::list::ptr Ifc4x1::IfcAppliedValue::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[394], 3)->as(); } @@ -7109,26 +7109,26 @@ void Ifc4x1::IfcAppliedValue::setComponents(boost::optional< aggregate_of< ::Ifc const IfcParse::entity& Ifc4x1::IfcAppliedValue::declaration() const { return *((IfcParse::entity*)IFC4X1_types[47]); } const IfcParse::entity& Ifc4x1::IfcAppliedValue::Class() { return *((IfcParse::entity*)IFC4X1_types[47]); } Ifc4x1::IfcAppliedValue::IfcAppliedValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x1::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< ::Ifc4x1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v10_Components) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } +Ifc4x1::IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x1::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< ::Ifc4x1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v10_Components) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } // Function implementations for IfcApproval -boost::optional< std::string > Ifc4x1::IfcApproval::Identifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x1::IfcApproval::Identifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcApproval::setIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x1::IfcApproval::Name() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x1::IfcApproval::Name() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcApproval::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x1::IfcApproval::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x1::IfcApproval::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcApproval::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x1::IfcApproval::TimeOfApproval() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x1::IfcApproval::TimeOfApproval() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x1::IfcApproval::setTimeOfApproval(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x1::IfcApproval::Status() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x1::IfcApproval::Status() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcApproval::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x1::IfcApproval::Level() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x1::IfcApproval::Level() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcApproval::setLevel(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x1::IfcApproval::Qualifier() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x1::IfcApproval::Qualifier() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x1::IfcApproval::setQualifier(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x1::IfcActorSelect* Ifc4x1::IfcApproval::RequestingApproval() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x1::IfcActorSelect>(true); } +::Ifc4x1::IfcActorSelect* Ifc4x1::IfcApproval::RequestingApproval() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x1::IfcActorSelect>(true); } void Ifc4x1::IfcApproval::setRequestingApproval(::Ifc4x1::IfcActorSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x1::IfcActorSelect* Ifc4x1::IfcApproval::GivingApproval() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x1::IfcActorSelect>(true); } +::Ifc4x1::IfcActorSelect* Ifc4x1::IfcApproval::GivingApproval() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x1::IfcActorSelect>(true); } void Ifc4x1::IfcApproval::setGivingApproval(::Ifc4x1::IfcActorSelect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } ::Ifc4x1::IfcExternalReferenceRelationship::list::ptr Ifc4x1::IfcApproval::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[394], 3)->as(); } @@ -7140,241 +7140,241 @@ void Ifc4x1::IfcApproval::setGivingApproval(::Ifc4x1::IfcActorSelect* v) { set_a const IfcParse::entity& Ifc4x1::IfcApproval::declaration() const { return *((IfcParse::entity*)IFC4X1_types[49]); } const IfcParse::entity& Ifc4x1::IfcApproval::Class() { return *((IfcParse::entity*)IFC4X1_types[49]); } Ifc4x1::IfcApproval::IfcApproval(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcApproval::IfcApproval(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_TimeOfApproval, boost::optional< std::string > v5_Status, boost::optional< std::string > v6_Level, boost::optional< std::string > v7_Qualifier, ::Ifc4x1::IfcActorSelect* v8_RequestingApproval, ::Ifc4x1::IfcActorSelect* v9_GivingApproval) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(9))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, v8_RequestingApproval ? v8_RequestingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_GivingApproval ? v9_GivingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcApproval::IfcApproval(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_TimeOfApproval, boost::optional< std::string > v5_Status, boost::optional< std::string > v6_Level, boost::optional< std::string > v7_Qualifier, ::Ifc4x1::IfcActorSelect* v8_RequestingApproval, ::Ifc4x1::IfcActorSelect* v9_GivingApproval) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, v8_RequestingApproval ? v8_RequestingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_GivingApproval ? v9_GivingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcApprovalRelationship -::Ifc4x1::IfcApproval* Ifc4x1::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcApproval>(true); } +::Ifc4x1::IfcApproval* Ifc4x1::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcApproval>(true); } void Ifc4x1::IfcApprovalRelationship::setRelatingApproval(::Ifc4x1::IfcApproval* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x1::IfcApproval >::ptr Ifc4x1::IfcApprovalRelationship::RelatedApprovals() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x1::IfcApproval >(); } +aggregate_of< ::Ifc4x1::IfcApproval >::ptr Ifc4x1::IfcApprovalRelationship::RelatedApprovals() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x1::IfcApproval >(); } void Ifc4x1::IfcApprovalRelationship::setRelatedApprovals(aggregate_of< ::Ifc4x1::IfcApproval >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcApprovalRelationship::declaration() const { return *((IfcParse::entity*)IFC4X1_types[50]); } const IfcParse::entity& Ifc4x1::IfcApprovalRelationship::Class() { return *((IfcParse::entity*)IFC4X1_types[50]); } Ifc4x1::IfcApprovalRelationship::IfcApprovalRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x1::IfcApprovalRelationship::IfcApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcApproval* v3_RelatingApproval, aggregate_of< ::Ifc4x1::IfcApproval >::ptr v4_RelatedApprovals) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingApproval ? v3_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedApprovals)->generalize());; populate_derived(); } +Ifc4x1::IfcApprovalRelationship::IfcApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcApproval* v3_RelatingApproval, aggregate_of< ::Ifc4x1::IfcApproval >::ptr v4_RelatedApprovals) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingApproval ? v3_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedApprovals)->generalize());; populate_derived(); } // Function implementations for IfcArbitraryClosedProfileDef -::Ifc4x1::IfcCurve* Ifc4x1::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcCurve>(true); } +::Ifc4x1::IfcCurve* Ifc4x1::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcArbitraryClosedProfileDef::setOuterCurve(::Ifc4x1::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x1::IfcArbitraryClosedProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X1_types[51]); } const IfcParse::entity& Ifc4x1::IfcArbitraryClosedProfileDef::Class() { return *((IfcParse::entity*)IFC4X1_types[51]); } Ifc4x1::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x1::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcCurve* v3_OuterCurve) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcCurve* v3_OuterCurve) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcArbitraryOpenProfileDef -::Ifc4x1::IfcBoundedCurve* Ifc4x1::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcBoundedCurve>(true); } +::Ifc4x1::IfcBoundedCurve* Ifc4x1::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcBoundedCurve>(true); } void Ifc4x1::IfcArbitraryOpenProfileDef::setCurve(::Ifc4x1::IfcBoundedCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x1::IfcArbitraryOpenProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X1_types[52]); } const IfcParse::entity& Ifc4x1::IfcArbitraryOpenProfileDef::Class() { return *((IfcParse::entity*)IFC4X1_types[52]); } Ifc4x1::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x1::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcBoundedCurve* v3_Curve) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcBoundedCurve* v3_Curve) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcArbitraryProfileDefWithVoids -aggregate_of< ::Ifc4x1::IfcCurve >::ptr Ifc4x1::IfcArbitraryProfileDefWithVoids::InnerCurves() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x1::IfcCurve >(); } +aggregate_of< ::Ifc4x1::IfcCurve >::ptr Ifc4x1::IfcArbitraryProfileDefWithVoids::InnerCurves() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x1::IfcCurve >(); } void Ifc4x1::IfcArbitraryProfileDefWithVoids::setInnerCurves(aggregate_of< ::Ifc4x1::IfcCurve >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcArbitraryProfileDefWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X1_types[53]); } const IfcParse::entity& Ifc4x1::IfcArbitraryProfileDefWithVoids::Class() { return *((IfcParse::entity*)IFC4X1_types[53]); } Ifc4x1::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(IfcEntityInstanceData&& e) : IfcArbitraryClosedProfileDef(std::move(e)) { } -Ifc4x1::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcCurve* v3_OuterCurve, aggregate_of< ::Ifc4x1::IfcCurve >::ptr v4_InnerCurves) : IfcArbitraryClosedProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_InnerCurves)->generalize());; populate_derived(); } +Ifc4x1::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcCurve* v3_OuterCurve, aggregate_of< ::Ifc4x1::IfcCurve >::ptr v4_InnerCurves) : IfcArbitraryClosedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_InnerCurves)->generalize());; populate_derived(); } // Function implementations for IfcAsset -boost::optional< std::string > Ifc4x1::IfcAsset::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x1::IfcAsset::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcAsset::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x1::IfcCostValue* Ifc4x1::IfcAsset::OriginalValue() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x1::IfcCostValue>(true); } +::Ifc4x1::IfcCostValue* Ifc4x1::IfcAsset::OriginalValue() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x1::IfcCostValue>(true); } void Ifc4x1::IfcAsset::setOriginalValue(::Ifc4x1::IfcCostValue* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x1::IfcCostValue* Ifc4x1::IfcAsset::CurrentValue() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x1::IfcCostValue>(true); } +::Ifc4x1::IfcCostValue* Ifc4x1::IfcAsset::CurrentValue() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x1::IfcCostValue>(true); } void Ifc4x1::IfcAsset::setCurrentValue(::Ifc4x1::IfcCostValue* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x1::IfcCostValue* Ifc4x1::IfcAsset::TotalReplacementCost() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x1::IfcCostValue>(true); } +::Ifc4x1::IfcCostValue* Ifc4x1::IfcAsset::TotalReplacementCost() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x1::IfcCostValue>(true); } void Ifc4x1::IfcAsset::setTotalReplacementCost(::Ifc4x1::IfcCostValue* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -::Ifc4x1::IfcActorSelect* Ifc4x1::IfcAsset::Owner() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x1::IfcActorSelect>(true); } +::Ifc4x1::IfcActorSelect* Ifc4x1::IfcAsset::Owner() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x1::IfcActorSelect>(true); } void Ifc4x1::IfcAsset::setOwner(::Ifc4x1::IfcActorSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4x1::IfcActorSelect* Ifc4x1::IfcAsset::User() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x1::IfcActorSelect>(true); } +::Ifc4x1::IfcActorSelect* Ifc4x1::IfcAsset::User() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x1::IfcActorSelect>(true); } void Ifc4x1::IfcAsset::setUser(::Ifc4x1::IfcActorSelect* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } -::Ifc4x1::IfcPerson* Ifc4x1::IfcAsset::ResponsiblePerson() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc4x1::IfcPerson>(true); } +::Ifc4x1::IfcPerson* Ifc4x1::IfcAsset::ResponsiblePerson() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc4x1::IfcPerson>(true); } void Ifc4x1::IfcAsset::setResponsiblePerson(::Ifc4x1::IfcPerson* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } -boost::optional< std::string > Ifc4x1::IfcAsset::IncorporationDate() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x1::IfcAsset::IncorporationDate() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x1::IfcAsset::setIncorporationDate(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4x1::IfcCostValue* Ifc4x1::IfcAsset::DepreciatedValue() const { if(data_.get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(13)))->as<::Ifc4x1::IfcCostValue>(true); } +::Ifc4x1::IfcCostValue* Ifc4x1::IfcAsset::DepreciatedValue() const { if(get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(13)))->as<::Ifc4x1::IfcCostValue>(true); } void Ifc4x1::IfcAsset::setDepreciatedValue(::Ifc4x1::IfcCostValue* v) { set_attribute_value(13, v->as());if constexpr (false)unset_attribute_value(13); } const IfcParse::entity& Ifc4x1::IfcAsset::declaration() const { return *((IfcParse::entity*)IFC4X1_types[59]); } const IfcParse::entity& Ifc4x1::IfcAsset::Class() { return *((IfcParse::entity*)IFC4X1_types[59]); } Ifc4x1::IfcAsset::IfcAsset(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x1::IfcAsset::IfcAsset(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, ::Ifc4x1::IfcCostValue* v7_OriginalValue, ::Ifc4x1::IfcCostValue* v8_CurrentValue, ::Ifc4x1::IfcCostValue* v9_TotalReplacementCost, ::Ifc4x1::IfcActorSelect* v10_Owner, ::Ifc4x1::IfcActorSelect* v11_User, ::Ifc4x1::IfcPerson* v12_ResponsiblePerson, boost::optional< std::string > v13_IncorporationDate, ::Ifc4x1::IfcCostValue* v14_DepreciatedValue) : IfcGroup(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, v7_OriginalValue ? v7_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_CurrentValue ? v8_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_TotalReplacementCost ? v9_TotalReplacementCost->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_Owner ? v10_Owner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_User ? v11_User->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, v12_ResponsiblePerson ? v12_ResponsiblePerson->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, v14_DepreciatedValue ? v14_DepreciatedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcAsset::IfcAsset(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, ::Ifc4x1::IfcCostValue* v7_OriginalValue, ::Ifc4x1::IfcCostValue* v8_CurrentValue, ::Ifc4x1::IfcCostValue* v9_TotalReplacementCost, ::Ifc4x1::IfcActorSelect* v10_Owner, ::Ifc4x1::IfcActorSelect* v11_User, ::Ifc4x1::IfcPerson* v12_ResponsiblePerson, boost::optional< std::string > v13_IncorporationDate, ::Ifc4x1::IfcCostValue* v14_DepreciatedValue) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, v7_OriginalValue ? v7_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_CurrentValue ? v8_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_TotalReplacementCost ? v9_TotalReplacementCost->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_Owner ? v10_Owner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_User ? v11_User->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, v12_ResponsiblePerson ? v12_ResponsiblePerson->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, v14_DepreciatedValue ? v14_DepreciatedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAsymmetricIShapeProfileDef -double Ifc4x1::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x1::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { double v = get_attribute_value(3); return v; } void Ifc4x1::IfcAsymmetricIShapeProfileDef::setBottomFlangeWidth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x1::IfcAsymmetricIShapeProfileDef::OverallDepth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x1::IfcAsymmetricIShapeProfileDef::OverallDepth() const { double v = get_attribute_value(4); return v; } void Ifc4x1::IfcAsymmetricIShapeProfileDef::setOverallDepth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x1::IfcAsymmetricIShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x1::IfcAsymmetricIShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x1::IfcAsymmetricIShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x1::IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x1::IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x1::IfcAsymmetricIShapeProfileDef::setBottomFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x1::IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x1::IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x1::IfcAsymmetricIShapeProfileDef::setBottomFlangeFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -double Ifc4x1::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { double v = data_.get_attribute_value(8); return v; } +double Ifc4x1::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { double v = get_attribute_value(8); return v; } void Ifc4x1::IfcAsymmetricIShapeProfileDef::setTopFlangeWidth(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -boost::optional< double > Ifc4x1::IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x1::IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x1::IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x1::IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x1::IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x1::IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x1::IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x1::IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x1::IfcAsymmetricIShapeProfileDef::setBottomFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x1::IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x1::IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x1::IfcAsymmetricIShapeProfileDef::setBottomFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x1::IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x1::IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x1::IfcAsymmetricIShapeProfileDef::setTopFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x1::IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x1::IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x1::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } const IfcParse::entity& Ifc4x1::IfcAsymmetricIShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X1_types[60]); } const IfcParse::entity& Ifc4x1::IfcAsymmetricIShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X1_types[60]); } Ifc4x1::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x1::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::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(storage_t(15))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); }; populate_derived(); } +Ifc4x1::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::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(in_memory_attribute_storage(15))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); }; populate_derived(); } // Function implementations for IfcAudioVisualAppliance -boost::optional< ::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x1::IfcAudioVisualAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcAudioVisualApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x1::IfcAudioVisualAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcAudioVisualAppliance::setPredefinedType(boost::optional< ::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcAudioVisualAppliance::declaration() const { return *((IfcParse::entity*)IFC4X1_types[61]); } const IfcParse::entity& Ifc4x1::IfcAudioVisualAppliance::Class() { return *((IfcParse::entity*)IFC4X1_types[61]); } Ifc4x1::IfcAudioVisualAppliance::IfcAudioVisualAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x1::IfcAudioVisualAppliance::IfcAudioVisualAppliance(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcAudioVisualAppliance::IfcAudioVisualAppliance(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAudioVisualApplianceType -::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value Ifc4x1::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4x1::IfcAudioVisualApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value Ifc4x1::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4x1::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcAudioVisualApplianceType::setPredefinedType(::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcAudioVisualApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[62]); } const IfcParse::entity& Ifc4x1::IfcAudioVisualApplianceType::Class() { return *((IfcParse::entity*)IFC4X1_types[62]); } Ifc4x1::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x1::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAxis1Placement -::Ifc4x1::IfcDirection* Ifc4x1::IfcAxis1Placement::Axis() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcDirection>(true); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcAxis1Placement::Axis() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcAxis1Placement::setAxis(::Ifc4x1::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcAxis1Placement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[64]); } const IfcParse::entity& Ifc4x1::IfcAxis1Placement::Class() { return *((IfcParse::entity*)IFC4X1_types[64]); } Ifc4x1::IfcAxis1Placement::IfcAxis1Placement(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x1::IfcAxis1Placement::IfcAxis1Placement(::Ifc4x1::IfcCartesianPoint* v1_Location, ::Ifc4x1::IfcDirection* v2_Axis) : IfcPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcAxis1Placement::IfcAxis1Placement(::Ifc4x1::IfcCartesianPoint* v1_Location, ::Ifc4x1::IfcDirection* v2_Axis) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAxis2Placement2D -::Ifc4x1::IfcDirection* Ifc4x1::IfcAxis2Placement2D::RefDirection() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcDirection>(true); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcAxis2Placement2D::RefDirection() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcAxis2Placement2D::setRefDirection(::Ifc4x1::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcAxis2Placement2D::declaration() const { return *((IfcParse::entity*)IFC4X1_types[66]); } const IfcParse::entity& Ifc4x1::IfcAxis2Placement2D::Class() { return *((IfcParse::entity*)IFC4X1_types[66]); } Ifc4x1::IfcAxis2Placement2D::IfcAxis2Placement2D(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x1::IfcAxis2Placement2D::IfcAxis2Placement2D(::Ifc4x1::IfcCartesianPoint* v1_Location, ::Ifc4x1::IfcDirection* v2_RefDirection) : IfcPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RefDirection ? v2_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcAxis2Placement2D::IfcAxis2Placement2D(::Ifc4x1::IfcCartesianPoint* v1_Location, ::Ifc4x1::IfcDirection* v2_RefDirection) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RefDirection ? v2_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAxis2Placement3D -::Ifc4x1::IfcDirection* Ifc4x1::IfcAxis2Placement3D::Axis() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcDirection>(true); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcAxis2Placement3D::Axis() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcAxis2Placement3D::setAxis(::Ifc4x1::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcDirection* Ifc4x1::IfcAxis2Placement3D::RefDirection() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcDirection>(true); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcAxis2Placement3D::RefDirection() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcAxis2Placement3D::setRefDirection(::Ifc4x1::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x1::IfcAxis2Placement3D::declaration() const { return *((IfcParse::entity*)IFC4X1_types[67]); } const IfcParse::entity& Ifc4x1::IfcAxis2Placement3D::Class() { return *((IfcParse::entity*)IFC4X1_types[67]); } Ifc4x1::IfcAxis2Placement3D::IfcAxis2Placement3D(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x1::IfcAxis2Placement3D::IfcAxis2Placement3D(::Ifc4x1::IfcCartesianPoint* v1_Location, ::Ifc4x1::IfcDirection* v2_Axis, ::Ifc4x1::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcAxis2Placement3D::IfcAxis2Placement3D(::Ifc4x1::IfcCartesianPoint* v1_Location, ::Ifc4x1::IfcDirection* v2_Axis, ::Ifc4x1::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBSplineCurve -int Ifc4x1::IfcBSplineCurve::Degree() const { int v = data_.get_attribute_value(0); return v; } +int Ifc4x1::IfcBSplineCurve::Degree() const { int v = get_attribute_value(0); return v; } void Ifc4x1::IfcBSplineCurve::setDegree(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x1::IfcCartesianPoint >::ptr Ifc4x1::IfcBSplineCurve::ControlPointsList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x1::IfcCartesianPoint >(); } +aggregate_of< ::Ifc4x1::IfcCartesianPoint >::ptr Ifc4x1::IfcBSplineCurve::ControlPointsList() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x1::IfcCartesianPoint >(); } void Ifc4x1::IfcBSplineCurve::setControlPointsList(aggregate_of< ::Ifc4x1::IfcCartesianPoint >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcBSplineCurveForm::Value Ifc4x1::IfcBSplineCurve::CurveForm() const { return ::Ifc4x1::IfcBSplineCurveForm::FromString(data_.get_attribute_value(2)); } +::Ifc4x1::IfcBSplineCurveForm::Value Ifc4x1::IfcBSplineCurve::CurveForm() const { return ::Ifc4x1::IfcBSplineCurveForm::FromString(get_attribute_value(2)); } void Ifc4x1::IfcBSplineCurve::setCurveForm(::Ifc4x1::IfcBSplineCurveForm::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x1::IfcBSplineCurveForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -boost::logic::tribool Ifc4x1::IfcBSplineCurve::ClosedCurve() const { boost::logic::tribool v = data_.get_attribute_value(3); return v; } +boost::logic::tribool Ifc4x1::IfcBSplineCurve::ClosedCurve() const { boost::logic::tribool v = get_attribute_value(3); return v; } void Ifc4x1::IfcBSplineCurve::setClosedCurve(boost::logic::tribool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::logic::tribool Ifc4x1::IfcBSplineCurve::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(4); return v; } +boost::logic::tribool Ifc4x1::IfcBSplineCurve::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(4); return v; } void Ifc4x1::IfcBSplineCurve::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x1::IfcBSplineCurve::declaration() const { return *((IfcParse::entity*)IFC4X1_types[96]); } const IfcParse::entity& Ifc4x1::IfcBSplineCurve::Class() { return *((IfcParse::entity*)IFC4X1_types[96]); } Ifc4x1::IfcBSplineCurve::IfcBSplineCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x1::IfcBSplineCurve::IfcBSplineCurve(int v1_Degree, aggregate_of< ::Ifc4x1::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; populate_derived(); } +Ifc4x1::IfcBSplineCurve::IfcBSplineCurve(int v1_Degree, aggregate_of< ::Ifc4x1::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; populate_derived(); } // Function implementations for IfcBSplineCurveWithKnots -std::vector< int > /*[2:?]*/ Ifc4x1::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int > /*[2:?]*/ v = data_.get_attribute_value(5); return v; } +std::vector< int > /*[2:?]*/ Ifc4x1::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(5); return v; } void Ifc4x1::IfcBSplineCurveWithKnots::setKnotMultiplicities(std::vector< int > /*[2:?]*/ v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -std::vector< double > /*[2:?]*/ Ifc4x1::IfcBSplineCurveWithKnots::Knots() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(6); return v; } +std::vector< double > /*[2:?]*/ Ifc4x1::IfcBSplineCurveWithKnots::Knots() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(6); return v; } void Ifc4x1::IfcBSplineCurveWithKnots::setKnots(std::vector< double > /*[2:?]*/ v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x1::IfcKnotType::Value Ifc4x1::IfcBSplineCurveWithKnots::KnotSpec() const { return ::Ifc4x1::IfcKnotType::FromString(data_.get_attribute_value(7)); } +::Ifc4x1::IfcKnotType::Value Ifc4x1::IfcBSplineCurveWithKnots::KnotSpec() const { return ::Ifc4x1::IfcKnotType::FromString(get_attribute_value(7)); } void Ifc4x1::IfcBSplineCurveWithKnots::setKnotSpec(::Ifc4x1::IfcKnotType::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x1::IfcKnotType::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x1::IfcBSplineCurveWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X1_types[98]); } const IfcParse::entity& Ifc4x1::IfcBSplineCurveWithKnots::Class() { return *((IfcParse::entity*)IFC4X1_types[98]); } Ifc4x1::IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(IfcEntityInstanceData&& e) : IfcBSplineCurve(std::move(e)) { } -Ifc4x1::IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x1::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x1::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, ::Ifc4x1::IfcKnotType::Value v8_KnotSpec) : IfcBSplineCurve(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcKnotType::Class(),(size_t)v8_KnotSpec)));; populate_derived(); } +Ifc4x1::IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x1::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x1::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, ::Ifc4x1::IfcKnotType::Value v8_KnotSpec) : IfcBSplineCurve(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcKnotType::Class(),(size_t)v8_KnotSpec)));; populate_derived(); } // Function implementations for IfcBSplineSurface -int Ifc4x1::IfcBSplineSurface::UDegree() const { int v = data_.get_attribute_value(0); return v; } +int Ifc4x1::IfcBSplineSurface::UDegree() const { int v = get_attribute_value(0); return v; } void Ifc4x1::IfcBSplineSurface::setUDegree(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -int Ifc4x1::IfcBSplineSurface::VDegree() const { int v = data_.get_attribute_value(1); return v; } +int Ifc4x1::IfcBSplineSurface::VDegree() const { int v = get_attribute_value(1); return v; } void Ifc4x1::IfcBSplineSurface::setVDegree(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -aggregate_of_aggregate_of< ::Ifc4x1::IfcCartesianPoint >::ptr Ifc4x1::IfcBSplineSurface::ControlPointsList() const { aggregate_of_aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x1::IfcCartesianPoint >(); } +aggregate_of_aggregate_of< ::Ifc4x1::IfcCartesianPoint >::ptr Ifc4x1::IfcBSplineSurface::ControlPointsList() const { aggregate_of_aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x1::IfcCartesianPoint >(); } void Ifc4x1::IfcBSplineSurface::setControlPointsList(aggregate_of_aggregate_of< ::Ifc4x1::IfcCartesianPoint >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcBSplineSurfaceForm::Value Ifc4x1::IfcBSplineSurface::SurfaceForm() const { return ::Ifc4x1::IfcBSplineSurfaceForm::FromString(data_.get_attribute_value(3)); } +::Ifc4x1::IfcBSplineSurfaceForm::Value Ifc4x1::IfcBSplineSurface::SurfaceForm() const { return ::Ifc4x1::IfcBSplineSurfaceForm::FromString(get_attribute_value(3)); } void Ifc4x1::IfcBSplineSurface::setSurfaceForm(::Ifc4x1::IfcBSplineSurfaceForm::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc4x1::IfcBSplineSurfaceForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } -boost::logic::tribool Ifc4x1::IfcBSplineSurface::UClosed() const { boost::logic::tribool v = data_.get_attribute_value(4); return v; } +boost::logic::tribool Ifc4x1::IfcBSplineSurface::UClosed() const { boost::logic::tribool v = get_attribute_value(4); return v; } void Ifc4x1::IfcBSplineSurface::setUClosed(boost::logic::tribool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::logic::tribool Ifc4x1::IfcBSplineSurface::VClosed() const { boost::logic::tribool v = data_.get_attribute_value(5); return v; } +boost::logic::tribool Ifc4x1::IfcBSplineSurface::VClosed() const { boost::logic::tribool v = get_attribute_value(5); return v; } void Ifc4x1::IfcBSplineSurface::setVClosed(boost::logic::tribool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::logic::tribool Ifc4x1::IfcBSplineSurface::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(6); return v; } +boost::logic::tribool Ifc4x1::IfcBSplineSurface::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(6); return v; } void Ifc4x1::IfcBSplineSurface::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x1::IfcBSplineSurface::declaration() const { return *((IfcParse::entity*)IFC4X1_types[99]); } const IfcParse::entity& Ifc4x1::IfcBSplineSurface::Class() { return *((IfcParse::entity*)IFC4X1_types[99]); } Ifc4x1::IfcBSplineSurface::IfcBSplineSurface(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x1::IfcBSplineSurface::IfcBSplineSurface(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x1::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));; populate_derived(); } +Ifc4x1::IfcBSplineSurface::IfcBSplineSurface(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x1::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));; populate_derived(); } // Function implementations for IfcBSplineSurfaceWithKnots -std::vector< int > /*[2:?]*/ Ifc4x1::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int > /*[2:?]*/ v = data_.get_attribute_value(7); return v; } +std::vector< int > /*[2:?]*/ Ifc4x1::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(7); return v; } void Ifc4x1::IfcBSplineSurfaceWithKnots::setUMultiplicities(std::vector< int > /*[2:?]*/ v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector< int > /*[2:?]*/ Ifc4x1::IfcBSplineSurfaceWithKnots::VMultiplicities() const { std::vector< int > /*[2:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< int > /*[2:?]*/ Ifc4x1::IfcBSplineSurfaceWithKnots::VMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(8); return v; } void Ifc4x1::IfcBSplineSurfaceWithKnots::setVMultiplicities(std::vector< int > /*[2:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::vector< double > /*[2:?]*/ Ifc4x1::IfcBSplineSurfaceWithKnots::UKnots() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(9); return v; } +std::vector< double > /*[2:?]*/ Ifc4x1::IfcBSplineSurfaceWithKnots::UKnots() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(9); return v; } void Ifc4x1::IfcBSplineSurfaceWithKnots::setUKnots(std::vector< double > /*[2:?]*/ v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -std::vector< double > /*[2:?]*/ Ifc4x1::IfcBSplineSurfaceWithKnots::VKnots() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(10); return v; } +std::vector< double > /*[2:?]*/ Ifc4x1::IfcBSplineSurfaceWithKnots::VKnots() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(10); return v; } void Ifc4x1::IfcBSplineSurfaceWithKnots::setVKnots(std::vector< double > /*[2:?]*/ v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -::Ifc4x1::IfcKnotType::Value Ifc4x1::IfcBSplineSurfaceWithKnots::KnotSpec() const { return ::Ifc4x1::IfcKnotType::FromString(data_.get_attribute_value(11)); } +::Ifc4x1::IfcKnotType::Value Ifc4x1::IfcBSplineSurfaceWithKnots::KnotSpec() const { return ::Ifc4x1::IfcKnotType::FromString(get_attribute_value(11)); } void Ifc4x1::IfcBSplineSurfaceWithKnots::setKnotSpec(::Ifc4x1::IfcKnotType::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x1::IfcKnotType::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x1::IfcBSplineSurfaceWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X1_types[101]); } const IfcParse::entity& Ifc4x1::IfcBSplineSurfaceWithKnots::Class() { return *((IfcParse::entity*)IFC4X1_types[101]); } Ifc4x1::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(IfcEntityInstanceData&& e) : IfcBSplineSurface(std::move(e)) { } -Ifc4x1::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x1::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x1::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, ::Ifc4x1::IfcKnotType::Value v12_KnotSpec) : IfcBSplineSurface(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x1::IfcKnotType::Class(),(size_t)v12_KnotSpec)));; populate_derived(); } +Ifc4x1::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x1::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x1::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, ::Ifc4x1::IfcKnotType::Value v12_KnotSpec) : IfcBSplineSurface(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x1::IfcKnotType::Class(),(size_t)v12_KnotSpec)));; populate_derived(); } // Function implementations for IfcBeam -boost::optional< ::Ifc4x1::IfcBeamTypeEnum::Value > Ifc4x1::IfcBeam::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcBeamTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcBeamTypeEnum::Value > Ifc4x1::IfcBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcBeamTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcBeam::setPredefinedType(boost::optional< ::Ifc4x1::IfcBeamTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcBeamTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcBeam::declaration() const { return *((IfcParse::entity*)IFC4X1_types[68]); } const IfcParse::entity& Ifc4x1::IfcBeam::Class() { return *((IfcParse::entity*)IFC4X1_types[68]); } Ifc4x1::IfcBeam::IfcBeam(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x1::IfcBeam::IfcBeam(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcBeamTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcBeam::IfcBeam(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcBeamTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBeamStandardCase @@ -7382,63 +7382,63 @@ Ifc4x1::IfcBeam::IfcBeam(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_ const IfcParse::entity& Ifc4x1::IfcBeamStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X1_types[69]); } const IfcParse::entity& Ifc4x1::IfcBeamStandardCase::Class() { return *((IfcParse::entity*)IFC4X1_types[69]); } Ifc4x1::IfcBeamStandardCase::IfcBeamStandardCase(IfcEntityInstanceData&& e) : IfcBeam(std::move(e)) { } -Ifc4x1::IfcBeamStandardCase::IfcBeamStandardCase(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcBeamTypeEnum::Value > v9_PredefinedType) : IfcBeam(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcBeamStandardCase::IfcBeamStandardCase(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcBeamTypeEnum::Value > v9_PredefinedType) : IfcBeam(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBeamType -::Ifc4x1::IfcBeamTypeEnum::Value Ifc4x1::IfcBeamType::PredefinedType() const { return ::Ifc4x1::IfcBeamTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcBeamTypeEnum::Value Ifc4x1::IfcBeamType::PredefinedType() const { return ::Ifc4x1::IfcBeamTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcBeamType::setPredefinedType(::Ifc4x1::IfcBeamTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcBeamTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcBeamType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[70]); } const IfcParse::entity& Ifc4x1::IfcBeamType::Class() { return *((IfcParse::entity*)IFC4X1_types[70]); } Ifc4x1::IfcBeamType::IfcBeamType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x1::IfcBeamType::IfcBeamType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcBeamTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcBeamType::IfcBeamType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcBeamTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBlobTexture -std::string Ifc4x1::IfcBlobTexture::RasterFormat() const { std::string v = data_.get_attribute_value(5); return v; } +std::string Ifc4x1::IfcBlobTexture::RasterFormat() const { std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcBlobTexture::setRasterFormat(std::string v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::dynamic_bitset<> Ifc4x1::IfcBlobTexture::RasterCode() const { boost::dynamic_bitset<> v = data_.get_attribute_value(6); return v; } +boost::dynamic_bitset<> Ifc4x1::IfcBlobTexture::RasterCode() const { boost::dynamic_bitset<> v = get_attribute_value(6); return v; } void Ifc4x1::IfcBlobTexture::setRasterCode(boost::dynamic_bitset<> v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x1::IfcBlobTexture::declaration() const { return *((IfcParse::entity*)IFC4X1_types[75]); } const IfcParse::entity& Ifc4x1::IfcBlobTexture::Class() { return *((IfcParse::entity*)IFC4X1_types[75]); } Ifc4x1::IfcBlobTexture::IfcBlobTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -Ifc4x1::IfcBlobTexture::IfcBlobTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x1::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) : IfcSurfaceTexture(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode));; populate_derived(); } +Ifc4x1::IfcBlobTexture::IfcBlobTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x1::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) : IfcSurfaceTexture(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode));; populate_derived(); } // Function implementations for IfcBlock -double Ifc4x1::IfcBlock::XLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x1::IfcBlock::XLength() const { double v = get_attribute_value(1); return v; } void Ifc4x1::IfcBlock::setXLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x1::IfcBlock::YLength() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x1::IfcBlock::YLength() const { double v = get_attribute_value(2); return v; } void Ifc4x1::IfcBlock::setYLength(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x1::IfcBlock::ZLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x1::IfcBlock::ZLength() const { double v = get_attribute_value(3); return v; } void Ifc4x1::IfcBlock::setZLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcBlock::declaration() const { return *((IfcParse::entity*)IFC4X1_types[76]); } const IfcParse::entity& Ifc4x1::IfcBlock::Class() { return *((IfcParse::entity*)IFC4X1_types[76]); } Ifc4x1::IfcBlock::IfcBlock(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x1::IfcBlock::IfcBlock(::Ifc4x1::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; populate_derived(); } +Ifc4x1::IfcBlock::IfcBlock(::Ifc4x1::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; populate_derived(); } // Function implementations for IfcBoiler -boost::optional< ::Ifc4x1::IfcBoilerTypeEnum::Value > Ifc4x1::IfcBoiler::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcBoilerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcBoilerTypeEnum::Value > Ifc4x1::IfcBoiler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcBoilerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcBoiler::setPredefinedType(boost::optional< ::Ifc4x1::IfcBoilerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcBoilerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcBoiler::declaration() const { return *((IfcParse::entity*)IFC4X1_types[77]); } const IfcParse::entity& Ifc4x1::IfcBoiler::Class() { return *((IfcParse::entity*)IFC4X1_types[77]); } Ifc4x1::IfcBoiler::IfcBoiler(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x1::IfcBoiler::IfcBoiler(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcBoilerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcBoiler::IfcBoiler(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcBoilerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBoilerType -::Ifc4x1::IfcBoilerTypeEnum::Value Ifc4x1::IfcBoilerType::PredefinedType() const { return ::Ifc4x1::IfcBoilerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcBoilerTypeEnum::Value Ifc4x1::IfcBoilerType::PredefinedType() const { return ::Ifc4x1::IfcBoilerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcBoilerType::setPredefinedType(::Ifc4x1::IfcBoilerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcBoilerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcBoilerType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[78]); } const IfcParse::entity& Ifc4x1::IfcBoilerType::Class() { return *((IfcParse::entity*)IFC4X1_types[78]); } Ifc4x1::IfcBoilerType::IfcBoilerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x1::IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcBoilerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcBoilerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBooleanClippingResult @@ -7446,31 +7446,31 @@ Ifc4x1::IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, ::Ifc4x1::IfcOwner const IfcParse::entity& Ifc4x1::IfcBooleanClippingResult::declaration() const { return *((IfcParse::entity*)IFC4X1_types[81]); } const IfcParse::entity& Ifc4x1::IfcBooleanClippingResult::Class() { return *((IfcParse::entity*)IFC4X1_types[81]); } Ifc4x1::IfcBooleanClippingResult::IfcBooleanClippingResult(IfcEntityInstanceData&& e) : IfcBooleanResult(std::move(e)) { } -Ifc4x1::IfcBooleanClippingResult::IfcBooleanClippingResult(::Ifc4x1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x1::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x1::IfcBooleanOperand* v3_SecondOperand) : IfcBooleanResult(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcBooleanClippingResult::IfcBooleanClippingResult(::Ifc4x1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x1::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x1::IfcBooleanOperand* v3_SecondOperand) : IfcBooleanResult(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBooleanResult -::Ifc4x1::IfcBooleanOperator::Value Ifc4x1::IfcBooleanResult::Operator() const { return ::Ifc4x1::IfcBooleanOperator::FromString(data_.get_attribute_value(0)); } +::Ifc4x1::IfcBooleanOperator::Value Ifc4x1::IfcBooleanResult::Operator() const { return ::Ifc4x1::IfcBooleanOperator::FromString(get_attribute_value(0)); } void Ifc4x1::IfcBooleanResult::setOperator(::Ifc4x1::IfcBooleanOperator::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x1::IfcBooleanOperator::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcBooleanOperand* Ifc4x1::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcBooleanOperand>(true); } +::Ifc4x1::IfcBooleanOperand* Ifc4x1::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcBooleanOperand>(true); } void Ifc4x1::IfcBooleanResult::setFirstOperand(::Ifc4x1::IfcBooleanOperand* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcBooleanOperand* Ifc4x1::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcBooleanOperand>(true); } +::Ifc4x1::IfcBooleanOperand* Ifc4x1::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcBooleanOperand>(true); } void Ifc4x1::IfcBooleanResult::setSecondOperand(::Ifc4x1::IfcBooleanOperand* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x1::IfcBooleanResult::declaration() const { return *((IfcParse::entity*)IFC4X1_types[84]); } const IfcParse::entity& Ifc4x1::IfcBooleanResult::Class() { return *((IfcParse::entity*)IFC4X1_types[84]); } Ifc4x1::IfcBooleanResult::IfcBooleanResult(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x1::IfcBooleanResult::IfcBooleanResult(::Ifc4x1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x1::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x1::IfcBooleanOperand* v3_SecondOperand) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcBooleanResult::IfcBooleanResult(::Ifc4x1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x1::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x1::IfcBooleanOperand* v3_SecondOperand) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryCondition -boost::optional< std::string > Ifc4x1::IfcBoundaryCondition::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x1::IfcBoundaryCondition::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcBoundaryCondition::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x1::IfcBoundaryCondition::declaration() const { return *((IfcParse::entity*)IFC4X1_types[85]); } const IfcParse::entity& Ifc4x1::IfcBoundaryCondition::Class() { return *((IfcParse::entity*)IFC4X1_types[85]); } Ifc4x1::IfcBoundaryCondition::IfcBoundaryCondition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x1::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcBoundaryCurve @@ -7478,71 +7478,71 @@ Ifc4x1::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::string const IfcParse::entity& Ifc4x1::IfcBoundaryCurve::declaration() const { return *((IfcParse::entity*)IFC4X1_types[86]); } const IfcParse::entity& Ifc4x1::IfcBoundaryCurve::Class() { return *((IfcParse::entity*)IFC4X1_types[86]); } Ifc4x1::IfcBoundaryCurve::IfcBoundaryCurve(IfcEntityInstanceData&& e) : IfcCompositeCurveOnSurface(std::move(e)) { } -Ifc4x1::IfcBoundaryCurve::IfcBoundaryCurve(aggregate_of< ::Ifc4x1::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurveOnSurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x1::IfcBoundaryCurve::IfcBoundaryCurve(aggregate_of< ::Ifc4x1::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurveOnSurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcBoundaryEdgeCondition -::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } +::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x1::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthX(::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } +::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x1::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthY(::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } +::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x1::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthZ(::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect>(true); } +::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x1::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect>(true); } +::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x1::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect>(true); } +::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x1::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x1::IfcBoundaryEdgeCondition::declaration() const { return *((IfcParse::entity*)IFC4X1_types[87]); } const IfcParse::entity& Ifc4x1::IfcBoundaryEdgeCondition::Class() { return *((IfcParse::entity*)IFC4X1_types[87]); } Ifc4x1::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -Ifc4x1::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect* v2_TranslationalStiffnessByLengthX, ::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect* v3_TranslationalStiffnessByLengthY, ::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect* v4_TranslationalStiffnessByLengthZ, ::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect* v5_RotationalStiffnessByLengthX, ::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect* v6_RotationalStiffnessByLengthY, ::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect* v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByLengthX ? v2_TranslationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByLengthY ? v3_TranslationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByLengthZ ? v4_TranslationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessByLengthX ? v5_RotationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessByLengthY ? v6_RotationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessByLengthZ ? v7_RotationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect* v2_TranslationalStiffnessByLengthX, ::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect* v3_TranslationalStiffnessByLengthY, ::Ifc4x1::IfcModulusOfTranslationalSubgradeReactionSelect* v4_TranslationalStiffnessByLengthZ, ::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect* v5_RotationalStiffnessByLengthX, ::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect* v6_RotationalStiffnessByLengthY, ::Ifc4x1::IfcModulusOfRotationalSubgradeReactionSelect* v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByLengthX ? v2_TranslationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByLengthY ? v3_TranslationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByLengthZ ? v4_TranslationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessByLengthX ? v5_RotationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessByLengthY ? v6_RotationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessByLengthZ ? v7_RotationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryFaceCondition -::Ifc4x1::IfcModulusOfSubgradeReactionSelect* Ifc4x1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcModulusOfSubgradeReactionSelect>(true); } +::Ifc4x1::IfcModulusOfSubgradeReactionSelect* Ifc4x1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x1::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaX(::Ifc4x1::IfcModulusOfSubgradeReactionSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcModulusOfSubgradeReactionSelect* Ifc4x1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcModulusOfSubgradeReactionSelect>(true); } +::Ifc4x1::IfcModulusOfSubgradeReactionSelect* Ifc4x1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x1::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaY(::Ifc4x1::IfcModulusOfSubgradeReactionSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcModulusOfSubgradeReactionSelect* Ifc4x1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcModulusOfSubgradeReactionSelect>(true); } +::Ifc4x1::IfcModulusOfSubgradeReactionSelect* Ifc4x1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x1::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(::Ifc4x1::IfcModulusOfSubgradeReactionSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcBoundaryFaceCondition::declaration() const { return *((IfcParse::entity*)IFC4X1_types[88]); } const IfcParse::entity& Ifc4x1::IfcBoundaryFaceCondition::Class() { return *((IfcParse::entity*)IFC4X1_types[88]); } Ifc4x1::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -Ifc4x1::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcModulusOfSubgradeReactionSelect* v2_TranslationalStiffnessByAreaX, ::Ifc4x1::IfcModulusOfSubgradeReactionSelect* v3_TranslationalStiffnessByAreaY, ::Ifc4x1::IfcModulusOfSubgradeReactionSelect* v4_TranslationalStiffnessByAreaZ) : IfcBoundaryCondition(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByAreaX ? v2_TranslationalStiffnessByAreaX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByAreaY ? v3_TranslationalStiffnessByAreaY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByAreaZ ? v4_TranslationalStiffnessByAreaZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcModulusOfSubgradeReactionSelect* v2_TranslationalStiffnessByAreaX, ::Ifc4x1::IfcModulusOfSubgradeReactionSelect* v3_TranslationalStiffnessByAreaY, ::Ifc4x1::IfcModulusOfSubgradeReactionSelect* v4_TranslationalStiffnessByAreaZ) : IfcBoundaryCondition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByAreaX ? v2_TranslationalStiffnessByAreaX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByAreaY ? v3_TranslationalStiffnessByAreaY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByAreaZ ? v4_TranslationalStiffnessByAreaZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryNodeCondition -::Ifc4x1::IfcTranslationalStiffnessSelect* Ifc4x1::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcTranslationalStiffnessSelect>(true); } +::Ifc4x1::IfcTranslationalStiffnessSelect* Ifc4x1::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcTranslationalStiffnessSelect>(true); } void Ifc4x1::IfcBoundaryNodeCondition::setTranslationalStiffnessX(::Ifc4x1::IfcTranslationalStiffnessSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcTranslationalStiffnessSelect* Ifc4x1::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcTranslationalStiffnessSelect>(true); } +::Ifc4x1::IfcTranslationalStiffnessSelect* Ifc4x1::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcTranslationalStiffnessSelect>(true); } void Ifc4x1::IfcBoundaryNodeCondition::setTranslationalStiffnessY(::Ifc4x1::IfcTranslationalStiffnessSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcTranslationalStiffnessSelect* Ifc4x1::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcTranslationalStiffnessSelect>(true); } +::Ifc4x1::IfcTranslationalStiffnessSelect* Ifc4x1::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcTranslationalStiffnessSelect>(true); } void Ifc4x1::IfcBoundaryNodeCondition::setTranslationalStiffnessZ(::Ifc4x1::IfcTranslationalStiffnessSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x1::IfcRotationalStiffnessSelect* Ifc4x1::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x1::IfcRotationalStiffnessSelect>(true); } +::Ifc4x1::IfcRotationalStiffnessSelect* Ifc4x1::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x1::IfcRotationalStiffnessSelect>(true); } void Ifc4x1::IfcBoundaryNodeCondition::setRotationalStiffnessX(::Ifc4x1::IfcRotationalStiffnessSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcRotationalStiffnessSelect* Ifc4x1::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcRotationalStiffnessSelect>(true); } +::Ifc4x1::IfcRotationalStiffnessSelect* Ifc4x1::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcRotationalStiffnessSelect>(true); } void Ifc4x1::IfcBoundaryNodeCondition::setRotationalStiffnessY(::Ifc4x1::IfcRotationalStiffnessSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x1::IfcRotationalStiffnessSelect* Ifc4x1::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x1::IfcRotationalStiffnessSelect>(true); } +::Ifc4x1::IfcRotationalStiffnessSelect* Ifc4x1::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x1::IfcRotationalStiffnessSelect>(true); } void Ifc4x1::IfcBoundaryNodeCondition::setRotationalStiffnessZ(::Ifc4x1::IfcRotationalStiffnessSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x1::IfcBoundaryNodeCondition::declaration() const { return *((IfcParse::entity*)IFC4X1_types[89]); } const IfcParse::entity& Ifc4x1::IfcBoundaryNodeCondition::Class() { return *((IfcParse::entity*)IFC4X1_types[89]); } Ifc4x1::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -Ifc4x1::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x1::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x1::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x1::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x1::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x1::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ) : IfcBoundaryCondition(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x1::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x1::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x1::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x1::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x1::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ) : IfcBoundaryCondition(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryNodeConditionWarping -::Ifc4x1::IfcWarpingStiffnessSelect* Ifc4x1::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x1::IfcWarpingStiffnessSelect>(true); } +::Ifc4x1::IfcWarpingStiffnessSelect* Ifc4x1::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x1::IfcWarpingStiffnessSelect>(true); } void Ifc4x1::IfcBoundaryNodeConditionWarping::setWarpingStiffness(::Ifc4x1::IfcWarpingStiffnessSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x1::IfcBoundaryNodeConditionWarping::declaration() const { return *((IfcParse::entity*)IFC4X1_types[90]); } const IfcParse::entity& Ifc4x1::IfcBoundaryNodeConditionWarping::Class() { return *((IfcParse::entity*)IFC4X1_types[90]); } Ifc4x1::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(IfcEntityInstanceData&& e) : IfcBoundaryNodeCondition(std::move(e)) { } -Ifc4x1::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x1::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x1::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x1::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x1::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x1::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ, ::Ifc4x1::IfcWarpingStiffnessSelect* v8_WarpingStiffness) : IfcBoundaryNodeCondition(IfcEntityInstanceData(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_WarpingStiffness ? v8_WarpingStiffness->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x1::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x1::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x1::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x1::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x1::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ, ::Ifc4x1::IfcWarpingStiffnessSelect* v8_WarpingStiffness) : IfcBoundaryNodeCondition(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_WarpingStiffness ? v8_WarpingStiffness->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundedCurve @@ -7550,7 +7550,7 @@ Ifc4x1::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost:: const IfcParse::entity& Ifc4x1::IfcBoundedCurve::declaration() const { return *((IfcParse::entity*)IFC4X1_types[91]); } const IfcParse::entity& Ifc4x1::IfcBoundedCurve::Class() { return *((IfcParse::entity*)IFC4X1_types[91]); } Ifc4x1::IfcBoundedCurve::IfcBoundedCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x1::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x1::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcBoundedSurface @@ -7558,47 +7558,47 @@ Ifc4x1::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData(stor const IfcParse::entity& Ifc4x1::IfcBoundedSurface::declaration() const { return *((IfcParse::entity*)IFC4X1_types[92]); } const IfcParse::entity& Ifc4x1::IfcBoundedSurface::Class() { return *((IfcParse::entity*)IFC4X1_types[92]); } Ifc4x1::IfcBoundedSurface::IfcBoundedSurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x1::IfcBoundedSurface::IfcBoundedSurface() : IfcSurface(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x1::IfcBoundedSurface::IfcBoundedSurface() : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcBoundingBox -::Ifc4x1::IfcCartesianPoint* Ifc4x1::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcCartesianPoint>(true); } +::Ifc4x1::IfcCartesianPoint* Ifc4x1::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcCartesianPoint>(true); } void Ifc4x1::IfcBoundingBox::setCorner(::Ifc4x1::IfcCartesianPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x1::IfcBoundingBox::XDim() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x1::IfcBoundingBox::XDim() const { double v = get_attribute_value(1); return v; } void Ifc4x1::IfcBoundingBox::setXDim(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x1::IfcBoundingBox::YDim() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x1::IfcBoundingBox::YDim() const { double v = get_attribute_value(2); return v; } void Ifc4x1::IfcBoundingBox::setYDim(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x1::IfcBoundingBox::ZDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x1::IfcBoundingBox::ZDim() const { double v = get_attribute_value(3); return v; } void Ifc4x1::IfcBoundingBox::setZDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcBoundingBox::declaration() const { return *((IfcParse::entity*)IFC4X1_types[93]); } const IfcParse::entity& Ifc4x1::IfcBoundingBox::Class() { return *((IfcParse::entity*)IFC4X1_types[93]); } Ifc4x1::IfcBoundingBox::IfcBoundingBox(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x1::IfcBoundingBox::IfcBoundingBox(::Ifc4x1::IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Corner ? v1_Corner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; populate_derived(); } +Ifc4x1::IfcBoundingBox::IfcBoundingBox(::Ifc4x1::IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Corner ? v1_Corner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; populate_derived(); } // Function implementations for IfcBoxedHalfSpace -::Ifc4x1::IfcBoundingBox* Ifc4x1::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcBoundingBox>(true); } +::Ifc4x1::IfcBoundingBox* Ifc4x1::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcBoundingBox>(true); } void Ifc4x1::IfcBoxedHalfSpace::setEnclosure(::Ifc4x1::IfcBoundingBox* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x1::IfcBoxedHalfSpace::declaration() const { return *((IfcParse::entity*)IFC4X1_types[95]); } const IfcParse::entity& Ifc4x1::IfcBoxedHalfSpace::Class() { return *((IfcParse::entity*)IFC4X1_types[95]); } Ifc4x1::IfcBoxedHalfSpace::IfcBoxedHalfSpace(IfcEntityInstanceData&& e) : IfcHalfSpaceSolid(std::move(e)) { } -Ifc4x1::IfcBoxedHalfSpace::IfcBoxedHalfSpace(::Ifc4x1::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x1::IfcBoundingBox* v3_Enclosure) : IfcHalfSpaceSolid(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Enclosure ? v3_Enclosure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcBoxedHalfSpace::IfcBoxedHalfSpace(::Ifc4x1::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x1::IfcBoundingBox* v3_Enclosure) : IfcHalfSpaceSolid(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Enclosure ? v3_Enclosure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBuilding -boost::optional< double > Ifc4x1::IfcBuilding::ElevationOfRefHeight() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x1::IfcBuilding::ElevationOfRefHeight() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x1::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x1::IfcBuilding::ElevationOfTerrain() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x1::IfcBuilding::ElevationOfTerrain() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x1::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4x1::IfcPostalAddress* Ifc4x1::IfcBuilding::BuildingAddress() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc4x1::IfcPostalAddress>(true); } +::Ifc4x1::IfcPostalAddress* Ifc4x1::IfcBuilding::BuildingAddress() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc4x1::IfcPostalAddress>(true); } void Ifc4x1::IfcBuilding::setBuildingAddress(::Ifc4x1::IfcPostalAddress* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x1::IfcBuilding::declaration() const { return *((IfcParse::entity*)IFC4X1_types[102]); } const IfcParse::entity& Ifc4x1::IfcBuilding::Class() { return *((IfcParse::entity*)IFC4X1_types[102]); } Ifc4x1::IfcBuilding::IfcBuilding(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x1::IfcBuilding::IfcBuilding(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, ::Ifc4x1::IfcPostalAddress* v12_BuildingAddress) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, v12_BuildingAddress ? v12_BuildingAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcBuilding::IfcBuilding(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, ::Ifc4x1::IfcPostalAddress* v12_BuildingAddress) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, v12_BuildingAddress ? v12_BuildingAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBuildingElement @@ -7606,47 +7606,47 @@ Ifc4x1::IfcBuilding::IfcBuilding(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHist const IfcParse::entity& Ifc4x1::IfcBuildingElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[103]); } const IfcParse::entity& Ifc4x1::IfcBuildingElement::Class() { return *((IfcParse::entity*)IFC4X1_types[103]); } Ifc4x1::IfcBuildingElement::IfcBuildingElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x1::IfcBuildingElement::IfcBuildingElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x1::IfcBuildingElement::IfcBuildingElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcBuildingElementPart -boost::optional< ::Ifc4x1::IfcBuildingElementPartTypeEnum::Value > Ifc4x1::IfcBuildingElementPart::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcBuildingElementPartTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcBuildingElementPartTypeEnum::Value > Ifc4x1::IfcBuildingElementPart::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcBuildingElementPart::setPredefinedType(boost::optional< ::Ifc4x1::IfcBuildingElementPartTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcBuildingElementPartTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcBuildingElementPart::declaration() const { return *((IfcParse::entity*)IFC4X1_types[104]); } const IfcParse::entity& Ifc4x1::IfcBuildingElementPart::Class() { return *((IfcParse::entity*)IFC4X1_types[104]); } Ifc4x1::IfcBuildingElementPart::IfcBuildingElementPart(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x1::IfcBuildingElementPart::IfcBuildingElementPart(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcBuildingElementPart::IfcBuildingElementPart(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBuildingElementPartType -::Ifc4x1::IfcBuildingElementPartTypeEnum::Value Ifc4x1::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4x1::IfcBuildingElementPartTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcBuildingElementPartTypeEnum::Value Ifc4x1::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4x1::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcBuildingElementPartType::setPredefinedType(::Ifc4x1::IfcBuildingElementPartTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcBuildingElementPartTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcBuildingElementPartType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[105]); } const IfcParse::entity& Ifc4x1::IfcBuildingElementPartType::Class() { return *((IfcParse::entity*)IFC4X1_types[105]); } Ifc4x1::IfcBuildingElementPartType::IfcBuildingElementPartType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x1::IfcBuildingElementPartType::IfcBuildingElementPartType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcBuildingElementPartType::IfcBuildingElementPartType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBuildingElementProxy -boost::optional< ::Ifc4x1::IfcBuildingElementProxyTypeEnum::Value > Ifc4x1::IfcBuildingElementProxy::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcBuildingElementProxyTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcBuildingElementProxyTypeEnum::Value > Ifc4x1::IfcBuildingElementProxy::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcBuildingElementProxy::setPredefinedType(boost::optional< ::Ifc4x1::IfcBuildingElementProxyTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcBuildingElementProxyTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcBuildingElementProxy::declaration() const { return *((IfcParse::entity*)IFC4X1_types[107]); } const IfcParse::entity& Ifc4x1::IfcBuildingElementProxy::Class() { return *((IfcParse::entity*)IFC4X1_types[107]); } Ifc4x1::IfcBuildingElementProxy::IfcBuildingElementProxy(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x1::IfcBuildingElementProxy::IfcBuildingElementProxy(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcBuildingElementProxy::IfcBuildingElementProxy(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBuildingElementProxyType -::Ifc4x1::IfcBuildingElementProxyTypeEnum::Value Ifc4x1::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4x1::IfcBuildingElementProxyTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcBuildingElementProxyTypeEnum::Value Ifc4x1::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4x1::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcBuildingElementProxyType::setPredefinedType(::Ifc4x1::IfcBuildingElementProxyTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcBuildingElementProxyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcBuildingElementProxyType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[108]); } const IfcParse::entity& Ifc4x1::IfcBuildingElementProxyType::Class() { return *((IfcParse::entity*)IFC4X1_types[108]); } Ifc4x1::IfcBuildingElementProxyType::IfcBuildingElementProxyType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x1::IfcBuildingElementProxyType::IfcBuildingElementProxyType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcBuildingElementProxyType::IfcBuildingElementProxyType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBuildingElementType @@ -7654,157 +7654,157 @@ Ifc4x1::IfcBuildingElementProxyType::IfcBuildingElementProxyType(std::string v1_ const IfcParse::entity& Ifc4x1::IfcBuildingElementType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[110]); } const IfcParse::entity& Ifc4x1::IfcBuildingElementType::Class() { return *((IfcParse::entity*)IFC4X1_types[110]); } Ifc4x1::IfcBuildingElementType::IfcBuildingElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x1::IfcBuildingElementType::IfcBuildingElementType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x1::IfcBuildingElementType::IfcBuildingElementType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcBuildingStorey -boost::optional< double > Ifc4x1::IfcBuildingStorey::Elevation() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x1::IfcBuildingStorey::Elevation() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x1::IfcBuildingStorey::setElevation(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x1::IfcBuildingStorey::declaration() const { return *((IfcParse::entity*)IFC4X1_types[111]); } const IfcParse::entity& Ifc4x1::IfcBuildingStorey::Class() { return *((IfcParse::entity*)IFC4X1_types[111]); } Ifc4x1::IfcBuildingStorey::IfcBuildingStorey(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x1::IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_Elevation) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; populate_derived(); } +Ifc4x1::IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_Elevation) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; populate_derived(); } // Function implementations for IfcBuildingSystem -boost::optional< ::Ifc4x1::IfcBuildingSystemTypeEnum::Value > Ifc4x1::IfcBuildingSystem::PredefinedType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x1::IfcBuildingSystemTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x1::IfcBuildingSystemTypeEnum::Value > Ifc4x1::IfcBuildingSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x1::IfcBuildingSystemTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x1::IfcBuildingSystem::setPredefinedType(boost::optional< ::Ifc4x1::IfcBuildingSystemTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x1::IfcBuildingSystemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x1::IfcBuildingSystem::LongName() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x1::IfcBuildingSystem::LongName() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x1::IfcBuildingSystem::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x1::IfcBuildingSystem::declaration() const { return *((IfcParse::entity*)IFC4X1_types[112]); } const IfcParse::entity& Ifc4x1::IfcBuildingSystem::Class() { return *((IfcParse::entity*)IFC4X1_types[112]); } Ifc4x1::IfcBuildingSystem::IfcBuildingSystem(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x1::IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x1::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } +Ifc4x1::IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x1::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } // Function implementations for IfcBurner -boost::optional< ::Ifc4x1::IfcBurnerTypeEnum::Value > Ifc4x1::IfcBurner::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcBurnerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcBurnerTypeEnum::Value > Ifc4x1::IfcBurner::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcBurnerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcBurner::setPredefinedType(boost::optional< ::Ifc4x1::IfcBurnerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcBurnerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcBurner::declaration() const { return *((IfcParse::entity*)IFC4X1_types[114]); } const IfcParse::entity& Ifc4x1::IfcBurner::Class() { return *((IfcParse::entity*)IFC4X1_types[114]); } Ifc4x1::IfcBurner::IfcBurner(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x1::IfcBurner::IfcBurner(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcBurnerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcBurner::IfcBurner(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcBurnerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBurnerType -::Ifc4x1::IfcBurnerTypeEnum::Value Ifc4x1::IfcBurnerType::PredefinedType() const { return ::Ifc4x1::IfcBurnerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcBurnerTypeEnum::Value Ifc4x1::IfcBurnerType::PredefinedType() const { return ::Ifc4x1::IfcBurnerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcBurnerType::setPredefinedType(::Ifc4x1::IfcBurnerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcBurnerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcBurnerType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[115]); } const IfcParse::entity& Ifc4x1::IfcBurnerType::Class() { return *((IfcParse::entity*)IFC4X1_types[115]); } Ifc4x1::IfcBurnerType::IfcBurnerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x1::IfcBurnerType::IfcBurnerType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcBurnerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcBurnerType::IfcBurnerType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcBurnerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCShapeProfileDef -double Ifc4x1::IfcCShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x1::IfcCShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x1::IfcCShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x1::IfcCShapeProfileDef::Width() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x1::IfcCShapeProfileDef::Width() const { double v = get_attribute_value(4); return v; } void Ifc4x1::IfcCShapeProfileDef::setWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x1::IfcCShapeProfileDef::WallThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x1::IfcCShapeProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x1::IfcCShapeProfileDef::setWallThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x1::IfcCShapeProfileDef::Girth() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x1::IfcCShapeProfileDef::Girth() const { double v = get_attribute_value(6); return v; } void Ifc4x1::IfcCShapeProfileDef::setGirth(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x1::IfcCShapeProfileDef::InternalFilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x1::IfcCShapeProfileDef::InternalFilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x1::IfcCShapeProfileDef::setInternalFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x1::IfcCShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X1_types[243]); } const IfcParse::entity& Ifc4x1::IfcCShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X1_types[243]); } Ifc4x1::IfcCShapeProfileDef::IfcCShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x1::IfcCShapeProfileDef::IfcCShapeProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, boost::optional< double > v8_InternalFilletRadius) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); }; populate_derived(); } +Ifc4x1::IfcCShapeProfileDef::IfcCShapeProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, boost::optional< double > v8_InternalFilletRadius) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); }; populate_derived(); } // Function implementations for IfcCableCarrierFitting -boost::optional< ::Ifc4x1::IfcCableCarrierFittingTypeEnum::Value > Ifc4x1::IfcCableCarrierFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcCableCarrierFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcCableCarrierFittingTypeEnum::Value > Ifc4x1::IfcCableCarrierFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcCableCarrierFitting::setPredefinedType(boost::optional< ::Ifc4x1::IfcCableCarrierFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcCableCarrierFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcCableCarrierFitting::declaration() const { return *((IfcParse::entity*)IFC4X1_types[117]); } const IfcParse::entity& Ifc4x1::IfcCableCarrierFitting::Class() { return *((IfcParse::entity*)IFC4X1_types[117]); } Ifc4x1::IfcCableCarrierFitting::IfcCableCarrierFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x1::IfcCableCarrierFitting::IfcCableCarrierFitting(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcCableCarrierFitting::IfcCableCarrierFitting(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableCarrierFittingType -::Ifc4x1::IfcCableCarrierFittingTypeEnum::Value Ifc4x1::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4x1::IfcCableCarrierFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcCableCarrierFittingTypeEnum::Value Ifc4x1::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4x1::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcCableCarrierFittingType::setPredefinedType(::Ifc4x1::IfcCableCarrierFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcCableCarrierFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcCableCarrierFittingType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[118]); } const IfcParse::entity& Ifc4x1::IfcCableCarrierFittingType::Class() { return *((IfcParse::entity*)IFC4X1_types[118]); } Ifc4x1::IfcCableCarrierFittingType::IfcCableCarrierFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x1::IfcCableCarrierFittingType::IfcCableCarrierFittingType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcCableCarrierFittingType::IfcCableCarrierFittingType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCableCarrierSegment -boost::optional< ::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x1::IfcCableCarrierSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcCableCarrierSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x1::IfcCableCarrierSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcCableCarrierSegment::setPredefinedType(boost::optional< ::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcCableCarrierSegment::declaration() const { return *((IfcParse::entity*)IFC4X1_types[120]); } const IfcParse::entity& Ifc4x1::IfcCableCarrierSegment::Class() { return *((IfcParse::entity*)IFC4X1_types[120]); } Ifc4x1::IfcCableCarrierSegment::IfcCableCarrierSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x1::IfcCableCarrierSegment::IfcCableCarrierSegment(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcCableCarrierSegment::IfcCableCarrierSegment(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableCarrierSegmentType -::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Value Ifc4x1::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4x1::IfcCableCarrierSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Value Ifc4x1::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4x1::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcCableCarrierSegmentType::setPredefinedType(::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcCableCarrierSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[121]); } const IfcParse::entity& Ifc4x1::IfcCableCarrierSegmentType::Class() { return *((IfcParse::entity*)IFC4X1_types[121]); } Ifc4x1::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x1::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCableFitting -boost::optional< ::Ifc4x1::IfcCableFittingTypeEnum::Value > Ifc4x1::IfcCableFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcCableFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcCableFittingTypeEnum::Value > Ifc4x1::IfcCableFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcCableFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcCableFitting::setPredefinedType(boost::optional< ::Ifc4x1::IfcCableFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcCableFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcCableFitting::declaration() const { return *((IfcParse::entity*)IFC4X1_types[123]); } const IfcParse::entity& Ifc4x1::IfcCableFitting::Class() { return *((IfcParse::entity*)IFC4X1_types[123]); } Ifc4x1::IfcCableFitting::IfcCableFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x1::IfcCableFitting::IfcCableFitting(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcCableFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcCableFitting::IfcCableFitting(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcCableFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableFittingType -::Ifc4x1::IfcCableFittingTypeEnum::Value Ifc4x1::IfcCableFittingType::PredefinedType() const { return ::Ifc4x1::IfcCableFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcCableFittingTypeEnum::Value Ifc4x1::IfcCableFittingType::PredefinedType() const { return ::Ifc4x1::IfcCableFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcCableFittingType::setPredefinedType(::Ifc4x1::IfcCableFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcCableFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcCableFittingType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[124]); } const IfcParse::entity& Ifc4x1::IfcCableFittingType::Class() { return *((IfcParse::entity*)IFC4X1_types[124]); } Ifc4x1::IfcCableFittingType::IfcCableFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x1::IfcCableFittingType::IfcCableFittingType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCableFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcCableFittingType::IfcCableFittingType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCableFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCableSegment -boost::optional< ::Ifc4x1::IfcCableSegmentTypeEnum::Value > Ifc4x1::IfcCableSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcCableSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcCableSegmentTypeEnum::Value > Ifc4x1::IfcCableSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcCableSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcCableSegment::setPredefinedType(boost::optional< ::Ifc4x1::IfcCableSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcCableSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcCableSegment::declaration() const { return *((IfcParse::entity*)IFC4X1_types[126]); } const IfcParse::entity& Ifc4x1::IfcCableSegment::Class() { return *((IfcParse::entity*)IFC4X1_types[126]); } Ifc4x1::IfcCableSegment::IfcCableSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x1::IfcCableSegment::IfcCableSegment(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcCableSegment::IfcCableSegment(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableSegmentType -::Ifc4x1::IfcCableSegmentTypeEnum::Value Ifc4x1::IfcCableSegmentType::PredefinedType() const { return ::Ifc4x1::IfcCableSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcCableSegmentTypeEnum::Value Ifc4x1::IfcCableSegmentType::PredefinedType() const { return ::Ifc4x1::IfcCableSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcCableSegmentType::setPredefinedType(::Ifc4x1::IfcCableSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcCableSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcCableSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[127]); } const IfcParse::entity& Ifc4x1::IfcCableSegmentType::Class() { return *((IfcParse::entity*)IFC4X1_types[127]); } Ifc4x1::IfcCableSegmentType::IfcCableSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x1::IfcCableSegmentType::IfcCableSegmentType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCableSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcCableSegmentType::IfcCableSegmentType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCableSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCartesianPoint -std::vector< double > /*[1:3]*/ Ifc4x1::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[1:3]*/ Ifc4x1::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = get_attribute_value(0); return v; } void Ifc4x1::IfcCartesianPoint::setCoordinates(std::vector< double > /*[1:3]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x1::IfcCartesianPoint::declaration() const { return *((IfcParse::entity*)IFC4X1_types[130]); } const IfcParse::entity& Ifc4x1::IfcCartesianPoint::Class() { return *((IfcParse::entity*)IFC4X1_types[130]); } Ifc4x1::IfcCartesianPoint::IfcCartesianPoint(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x1::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ v1_Coordinates) : IfcPoint(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } +Ifc4x1::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ v1_Coordinates) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } // Function implementations for IfcCartesianPointList @@ -7812,47 +7812,47 @@ Ifc4x1::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ v1_ const IfcParse::entity& Ifc4x1::IfcCartesianPointList::declaration() const { return *((IfcParse::entity*)IFC4X1_types[131]); } const IfcParse::entity& Ifc4x1::IfcCartesianPointList::Class() { return *((IfcParse::entity*)IFC4X1_types[131]); } Ifc4x1::IfcCartesianPointList::IfcCartesianPointList(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x1::IfcCartesianPointList::IfcCartesianPointList() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x1::IfcCartesianPointList::IfcCartesianPointList() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcCartesianPointList2D -std::vector< std::vector< double > > Ifc4x1::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x1::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x1::IfcCartesianPointList2D::setCoordList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcCartesianPointList2D::TagList() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcCartesianPointList2D::TagList() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x1::IfcCartesianPointList2D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x1::IfcCartesianPointList2D::declaration() const { return *((IfcParse::entity*)IFC4X1_types[132]); } const IfcParse::entity& Ifc4x1::IfcCartesianPointList2D::Class() { return *((IfcParse::entity*)IFC4X1_types[132]); } Ifc4x1::IfcCartesianPointList2D::IfcCartesianPointList2D(IfcEntityInstanceData&& e) : IfcCartesianPointList(std::move(e)) { } -Ifc4x1::IfcCartesianPointList2D::IfcCartesianPointList2D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } +Ifc4x1::IfcCartesianPointList2D::IfcCartesianPointList2D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } // Function implementations for IfcCartesianPointList3D -std::vector< std::vector< double > > Ifc4x1::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x1::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x1::IfcCartesianPointList3D::setCoordList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcCartesianPointList3D::TagList() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcCartesianPointList3D::TagList() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x1::IfcCartesianPointList3D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x1::IfcCartesianPointList3D::declaration() const { return *((IfcParse::entity*)IFC4X1_types[133]); } const IfcParse::entity& Ifc4x1::IfcCartesianPointList3D::Class() { return *((IfcParse::entity*)IFC4X1_types[133]); } Ifc4x1::IfcCartesianPointList3D::IfcCartesianPointList3D(IfcEntityInstanceData&& e) : IfcCartesianPointList(std::move(e)) { } -Ifc4x1::IfcCartesianPointList3D::IfcCartesianPointList3D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } +Ifc4x1::IfcCartesianPointList3D::IfcCartesianPointList3D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator -::Ifc4x1::IfcDirection* Ifc4x1::IfcCartesianTransformationOperator::Axis1() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcDirection>(true); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcCartesianTransformationOperator::Axis1() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcCartesianTransformationOperator::setAxis1(::Ifc4x1::IfcDirection* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcDirection* Ifc4x1::IfcCartesianTransformationOperator::Axis2() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcDirection>(true); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcCartesianTransformationOperator::Axis2() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcCartesianTransformationOperator::setAxis2(::Ifc4x1::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcCartesianPoint* Ifc4x1::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcCartesianPoint>(true); } +::Ifc4x1::IfcCartesianPoint* Ifc4x1::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcCartesianPoint>(true); } void Ifc4x1::IfcCartesianTransformationOperator::setLocalOrigin(::Ifc4x1::IfcCartesianPoint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4x1::IfcCartesianTransformationOperator::Scale() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x1::IfcCartesianTransformationOperator::Scale() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x1::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x1::IfcCartesianTransformationOperator::declaration() const { return *((IfcParse::entity*)IFC4X1_types[134]); } const IfcParse::entity& Ifc4x1::IfcCartesianTransformationOperator::Class() { return *((IfcParse::entity*)IFC4X1_types[134]); } Ifc4x1::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x1::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(::Ifc4x1::IfcDirection* v1_Axis1, ::Ifc4x1::IfcDirection* v2_Axis2, ::Ifc4x1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } +Ifc4x1::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(::Ifc4x1::IfcDirection* v1_Axis1, ::Ifc4x1::IfcDirection* v2_Axis2, ::Ifc4x1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator2D @@ -7860,131 +7860,131 @@ Ifc4x1::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(: const IfcParse::entity& Ifc4x1::IfcCartesianTransformationOperator2D::declaration() const { return *((IfcParse::entity*)IFC4X1_types[135]); } const IfcParse::entity& Ifc4x1::IfcCartesianTransformationOperator2D::Class() { return *((IfcParse::entity*)IFC4X1_types[135]); } Ifc4x1::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator(std::move(e)) { } -Ifc4x1::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(::Ifc4x1::IfcDirection* v1_Axis1, ::Ifc4x1::IfcDirection* v2_Axis2, ::Ifc4x1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcCartesianTransformationOperator(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } +Ifc4x1::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(::Ifc4x1::IfcDirection* v1_Axis1, ::Ifc4x1::IfcDirection* v2_Axis2, ::Ifc4x1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcCartesianTransformationOperator(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator2DnonUniform -boost::optional< double > Ifc4x1::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x1::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x1::IfcCartesianTransformationOperator2DnonUniform::setScale2(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x1::IfcCartesianTransformationOperator2DnonUniform::declaration() const { return *((IfcParse::entity*)IFC4X1_types[136]); } const IfcParse::entity& Ifc4x1::IfcCartesianTransformationOperator2DnonUniform::Class() { return *((IfcParse::entity*)IFC4X1_types[136]); } Ifc4x1::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator2D(std::move(e)) { } -Ifc4x1::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(::Ifc4x1::IfcDirection* v1_Axis1, ::Ifc4x1::IfcDirection* v2_Axis2, ::Ifc4x1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2) : IfcCartesianTransformationOperator2D(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; populate_derived(); } +Ifc4x1::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(::Ifc4x1::IfcDirection* v1_Axis1, ::Ifc4x1::IfcDirection* v2_Axis2, ::Ifc4x1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2) : IfcCartesianTransformationOperator2D(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator3D -::Ifc4x1::IfcDirection* Ifc4x1::IfcCartesianTransformationOperator3D::Axis3() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x1::IfcDirection>(true); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcCartesianTransformationOperator3D::Axis3() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcCartesianTransformationOperator3D::setAxis3(::Ifc4x1::IfcDirection* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x1::IfcCartesianTransformationOperator3D::declaration() const { return *((IfcParse::entity*)IFC4X1_types[137]); } const IfcParse::entity& Ifc4x1::IfcCartesianTransformationOperator3D::Class() { return *((IfcParse::entity*)IFC4X1_types[137]); } Ifc4x1::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator(std::move(e)) { } -Ifc4x1::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(::Ifc4x1::IfcDirection* v1_Axis1, ::Ifc4x1::IfcDirection* v2_Axis2, ::Ifc4x1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x1::IfcDirection* v5_Axis3) : IfcCartesianTransformationOperator(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(::Ifc4x1::IfcDirection* v1_Axis1, ::Ifc4x1::IfcDirection* v2_Axis2, ::Ifc4x1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x1::IfcDirection* v5_Axis3) : IfcCartesianTransformationOperator(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator3DnonUniform -boost::optional< double > Ifc4x1::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x1::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x1::IfcCartesianTransformationOperator3DnonUniform::setScale2(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x1::IfcCartesianTransformationOperator3DnonUniform::Scale3() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x1::IfcCartesianTransformationOperator3DnonUniform::Scale3() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x1::IfcCartesianTransformationOperator3DnonUniform::setScale3(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x1::IfcCartesianTransformationOperator3DnonUniform::declaration() const { return *((IfcParse::entity*)IFC4X1_types[138]); } const IfcParse::entity& Ifc4x1::IfcCartesianTransformationOperator3DnonUniform::Class() { return *((IfcParse::entity*)IFC4X1_types[138]); } Ifc4x1::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator3D(std::move(e)) { } -Ifc4x1::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(::Ifc4x1::IfcDirection* v1_Axis1, ::Ifc4x1::IfcDirection* v2_Axis2, ::Ifc4x1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x1::IfcDirection* v5_Axis3, boost::optional< double > v6_Scale2, boost::optional< double > v7_Scale3) : IfcCartesianTransformationOperator3D(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; populate_derived(); } +Ifc4x1::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(::Ifc4x1::IfcDirection* v1_Axis1, ::Ifc4x1::IfcDirection* v2_Axis2, ::Ifc4x1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x1::IfcDirection* v5_Axis3, boost::optional< double > v6_Scale2, boost::optional< double > v7_Scale3) : IfcCartesianTransformationOperator3D(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; populate_derived(); } // Function implementations for IfcCenterLineProfileDef -double Ifc4x1::IfcCenterLineProfileDef::Thickness() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x1::IfcCenterLineProfileDef::Thickness() const { double v = get_attribute_value(3); return v; } void Ifc4x1::IfcCenterLineProfileDef::setThickness(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcCenterLineProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X1_types[139]); } const IfcParse::entity& Ifc4x1::IfcCenterLineProfileDef::Class() { return *((IfcParse::entity*)IFC4X1_types[139]); } Ifc4x1::IfcCenterLineProfileDef::IfcCenterLineProfileDef(IfcEntityInstanceData&& e) : IfcArbitraryOpenProfileDef(std::move(e)) { } -Ifc4x1::IfcCenterLineProfileDef::IfcCenterLineProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcBoundedCurve* v3_Curve, double v4_Thickness) : IfcArbitraryOpenProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Thickness));; populate_derived(); } +Ifc4x1::IfcCenterLineProfileDef::IfcCenterLineProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcBoundedCurve* v3_Curve, double v4_Thickness) : IfcArbitraryOpenProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Thickness));; populate_derived(); } // Function implementations for IfcChiller -boost::optional< ::Ifc4x1::IfcChillerTypeEnum::Value > Ifc4x1::IfcChiller::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcChillerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcChillerTypeEnum::Value > Ifc4x1::IfcChiller::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcChillerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcChiller::setPredefinedType(boost::optional< ::Ifc4x1::IfcChillerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcChillerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcChiller::declaration() const { return *((IfcParse::entity*)IFC4X1_types[141]); } const IfcParse::entity& Ifc4x1::IfcChiller::Class() { return *((IfcParse::entity*)IFC4X1_types[141]); } Ifc4x1::IfcChiller::IfcChiller(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x1::IfcChiller::IfcChiller(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcChillerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcChiller::IfcChiller(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcChillerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcChillerType -::Ifc4x1::IfcChillerTypeEnum::Value Ifc4x1::IfcChillerType::PredefinedType() const { return ::Ifc4x1::IfcChillerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcChillerTypeEnum::Value Ifc4x1::IfcChillerType::PredefinedType() const { return ::Ifc4x1::IfcChillerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcChillerType::setPredefinedType(::Ifc4x1::IfcChillerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcChillerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcChillerType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[142]); } const IfcParse::entity& Ifc4x1::IfcChillerType::Class() { return *((IfcParse::entity*)IFC4X1_types[142]); } Ifc4x1::IfcChillerType::IfcChillerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x1::IfcChillerType::IfcChillerType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcChillerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcChillerType::IfcChillerType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcChillerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcChimney -boost::optional< ::Ifc4x1::IfcChimneyTypeEnum::Value > Ifc4x1::IfcChimney::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcChimneyTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcChimneyTypeEnum::Value > Ifc4x1::IfcChimney::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcChimneyTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcChimney::setPredefinedType(boost::optional< ::Ifc4x1::IfcChimneyTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcChimneyTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcChimney::declaration() const { return *((IfcParse::entity*)IFC4X1_types[144]); } const IfcParse::entity& Ifc4x1::IfcChimney::Class() { return *((IfcParse::entity*)IFC4X1_types[144]); } Ifc4x1::IfcChimney::IfcChimney(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x1::IfcChimney::IfcChimney(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcChimneyTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcChimney::IfcChimney(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcChimneyTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcChimneyType -::Ifc4x1::IfcChimneyTypeEnum::Value Ifc4x1::IfcChimneyType::PredefinedType() const { return ::Ifc4x1::IfcChimneyTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcChimneyTypeEnum::Value Ifc4x1::IfcChimneyType::PredefinedType() const { return ::Ifc4x1::IfcChimneyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcChimneyType::setPredefinedType(::Ifc4x1::IfcChimneyTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcChimneyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcChimneyType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[145]); } const IfcParse::entity& Ifc4x1::IfcChimneyType::Class() { return *((IfcParse::entity*)IFC4X1_types[145]); } Ifc4x1::IfcChimneyType::IfcChimneyType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x1::IfcChimneyType::IfcChimneyType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcChimneyTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcChimneyType::IfcChimneyType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcChimneyTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCircle -double Ifc4x1::IfcCircle::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x1::IfcCircle::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x1::IfcCircle::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcCircle::declaration() const { return *((IfcParse::entity*)IFC4X1_types[147]); } const IfcParse::entity& Ifc4x1::IfcCircle::Class() { return *((IfcParse::entity*)IFC4X1_types[147]); } Ifc4x1::IfcCircle::IfcCircle(IfcEntityInstanceData&& e) : IfcConic(std::move(e)) { } -Ifc4x1::IfcCircle::IfcCircle(::Ifc4x1::IfcAxis2Placement* v1_Position, double v2_Radius) : IfcConic(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x1::IfcCircle::IfcCircle(::Ifc4x1::IfcAxis2Placement* v1_Position, double v2_Radius) : IfcConic(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcCircleHollowProfileDef -double Ifc4x1::IfcCircleHollowProfileDef::WallThickness() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x1::IfcCircleHollowProfileDef::WallThickness() const { double v = get_attribute_value(4); return v; } void Ifc4x1::IfcCircleHollowProfileDef::setWallThickness(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x1::IfcCircleHollowProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X1_types[148]); } const IfcParse::entity& Ifc4x1::IfcCircleHollowProfileDef::Class() { return *((IfcParse::entity*)IFC4X1_types[148]); } Ifc4x1::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(IfcEntityInstanceData&& e) : IfcCircleProfileDef(std::move(e)) { } -Ifc4x1::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D* v3_Position, double v4_Radius, double v5_WallThickness) : IfcCircleProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; populate_derived(); } +Ifc4x1::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D* v3_Position, double v4_Radius, double v5_WallThickness) : IfcCircleProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; populate_derived(); } // Function implementations for IfcCircleProfileDef -double Ifc4x1::IfcCircleProfileDef::Radius() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x1::IfcCircleProfileDef::Radius() const { double v = get_attribute_value(3); return v; } void Ifc4x1::IfcCircleProfileDef::setRadius(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcCircleProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X1_types[149]); } const IfcParse::entity& Ifc4x1::IfcCircleProfileDef::Class() { return *((IfcParse::entity*)IFC4X1_types[149]); } Ifc4x1::IfcCircleProfileDef::IfcCircleProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x1::IfcCircleProfileDef::IfcCircleProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D* v3_Position, double v4_Radius) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));; populate_derived(); } +Ifc4x1::IfcCircleProfileDef::IfcCircleProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D* v3_Position, double v4_Radius) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));; populate_derived(); } // Function implementations for IfcCircularArcSegment2D -double Ifc4x1::IfcCircularArcSegment2D::Radius() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x1::IfcCircularArcSegment2D::Radius() const { double v = get_attribute_value(3); return v; } void Ifc4x1::IfcCircularArcSegment2D::setRadius(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -bool Ifc4x1::IfcCircularArcSegment2D::IsCCW() const { bool v = data_.get_attribute_value(4); return v; } +bool Ifc4x1::IfcCircularArcSegment2D::IsCCW() const { bool v = get_attribute_value(4); return v; } void Ifc4x1::IfcCircularArcSegment2D::setIsCCW(bool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x1::IfcCircularArcSegment2D::declaration() const { return *((IfcParse::entity*)IFC4X1_types[150]); } const IfcParse::entity& Ifc4x1::IfcCircularArcSegment2D::Class() { return *((IfcParse::entity*)IFC4X1_types[150]); } Ifc4x1::IfcCircularArcSegment2D::IfcCircularArcSegment2D(IfcEntityInstanceData&& e) : IfcCurveSegment2D(std::move(e)) { } -Ifc4x1::IfcCircularArcSegment2D::IfcCircularArcSegment2D(::Ifc4x1::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, double v4_Radius, bool v5_IsCCW) : IfcCurveSegment2D(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_StartPoint ? v1_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_IsCCW));; populate_derived(); } +Ifc4x1::IfcCircularArcSegment2D::IfcCircularArcSegment2D(::Ifc4x1::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, double v4_Radius, bool v5_IsCCW) : IfcCurveSegment2D(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_StartPoint ? v1_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_IsCCW));; populate_derived(); } // Function implementations for IfcCivilElement @@ -7992,7 +7992,7 @@ Ifc4x1::IfcCircularArcSegment2D::IfcCircularArcSegment2D(::Ifc4x1::IfcCartesianP const IfcParse::entity& Ifc4x1::IfcCivilElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[151]); } const IfcParse::entity& Ifc4x1::IfcCivilElement::Class() { return *((IfcParse::entity*)IFC4X1_types[151]); } Ifc4x1::IfcCivilElement::IfcCivilElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x1::IfcCivilElement::IfcCivilElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x1::IfcCivilElement::IfcCivilElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcCivilElementType @@ -8000,22 +8000,22 @@ Ifc4x1::IfcCivilElement::IfcCivilElement(std::string v1_GlobalId, ::Ifc4x1::IfcO const IfcParse::entity& Ifc4x1::IfcCivilElementType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[152]); } const IfcParse::entity& Ifc4x1::IfcCivilElementType::Class() { return *((IfcParse::entity*)IFC4X1_types[152]); } Ifc4x1::IfcCivilElementType::IfcCivilElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x1::IfcCivilElementType::IfcCivilElementType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x1::IfcCivilElementType::IfcCivilElementType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcClassification -boost::optional< std::string > Ifc4x1::IfcClassification::Source() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x1::IfcClassification::Source() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcClassification::setSource(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x1::IfcClassification::Edition() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x1::IfcClassification::Edition() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcClassification::setEdition(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x1::IfcClassification::EditionDate() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x1::IfcClassification::EditionDate() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcClassification::setEditionDate(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::string Ifc4x1::IfcClassification::Name() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x1::IfcClassification::Name() const { std::string v = get_attribute_value(3); return v; } void Ifc4x1::IfcClassification::setName(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x1::IfcClassification::Description() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x1::IfcClassification::Description() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcClassification::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x1::IfcClassification::Location() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x1::IfcClassification::Location() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcClassification::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcClassification::ReferenceTokens() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(6); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcClassification::ReferenceTokens() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(6); return v; } void Ifc4x1::IfcClassification::setReferenceTokens(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x1::IfcRelAssociatesClassification::list::ptr Ifc4x1::IfcClassification::ClassificationForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[831], 5)->as(); } @@ -8024,14 +8024,14 @@ void Ifc4x1::IfcClassification::setReferenceTokens(boost::optional< std::vector< const IfcParse::entity& Ifc4x1::IfcClassification::declaration() const { return *((IfcParse::entity*)IFC4X1_types[153]); } const IfcParse::entity& Ifc4x1::IfcClassification::Class() { return *((IfcParse::entity*)IFC4X1_types[153]); } Ifc4x1::IfcClassification::IfcClassification(IfcEntityInstanceData&& e) : IfcExternalInformation(std::move(e)) { } -Ifc4x1::IfcClassification::IfcClassification(boost::optional< std::string > v1_Source, boost::optional< std::string > v2_Edition, boost::optional< std::string > v3_EditionDate, std::string v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Location, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) : IfcExternalInformation(IfcEntityInstanceData(storage_t(7))) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Location) {set_attribute_value(5, (*v6_Location)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); }; populate_derived(); } +Ifc4x1::IfcClassification::IfcClassification(boost::optional< std::string > v1_Source, boost::optional< std::string > v2_Edition, boost::optional< std::string > v3_EditionDate, std::string v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Location, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) : IfcExternalInformation(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Location) {set_attribute_value(5, (*v6_Location)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); }; populate_derived(); } // Function implementations for IfcClassificationReference -::Ifc4x1::IfcClassificationReferenceSelect* Ifc4x1::IfcClassificationReference::ReferencedSource() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcClassificationReferenceSelect>(true); } +::Ifc4x1::IfcClassificationReferenceSelect* Ifc4x1::IfcClassificationReference::ReferencedSource() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcClassificationReferenceSelect>(true); } void Ifc4x1::IfcClassificationReference::setReferencedSource(::Ifc4x1::IfcClassificationReferenceSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x1::IfcClassificationReference::Description() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x1::IfcClassificationReference::Description() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcClassificationReference::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x1::IfcClassificationReference::Sort() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x1::IfcClassificationReference::Sort() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcClassificationReference::setSort(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x1::IfcRelAssociatesClassification::list::ptr Ifc4x1::IfcClassificationReference::ClassificationRefForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[831], 5)->as(); } @@ -8040,7 +8040,7 @@ void Ifc4x1::IfcClassificationReference::setSort(boost::optional< std::string > const IfcParse::entity& Ifc4x1::IfcClassificationReference::declaration() const { return *((IfcParse::entity*)IFC4X1_types[154]); } const IfcParse::entity& Ifc4x1::IfcClassificationReference::Class() { return *((IfcParse::entity*)IFC4X1_types[154]); } Ifc4x1::IfcClassificationReference::IfcClassificationReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x1::IfcClassificationReference::IfcClassificationReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, ::Ifc4x1::IfcClassificationReferenceSelect* v4_ReferencedSource, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Sort) : IfcExternalReference(IfcEntityInstanceData(storage_t(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, v4_ReferencedSource ? v4_ReferencedSource->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); }; populate_derived(); } +Ifc4x1::IfcClassificationReference::IfcClassificationReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, ::Ifc4x1::IfcClassificationReferenceSelect* v4_ReferencedSource, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Sort) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, v4_ReferencedSource ? v4_ReferencedSource->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); }; populate_derived(); } // Function implementations for IfcClosedShell @@ -8048,71 +8048,71 @@ Ifc4x1::IfcClassificationReference::IfcClassificationReference(boost::optional< const IfcParse::entity& Ifc4x1::IfcClosedShell::declaration() const { return *((IfcParse::entity*)IFC4X1_types[157]); } const IfcParse::entity& Ifc4x1::IfcClosedShell::Class() { return *((IfcParse::entity*)IFC4X1_types[157]); } Ifc4x1::IfcClosedShell::IfcClosedShell(IfcEntityInstanceData&& e) : IfcConnectedFaceSet(std::move(e)) { } -Ifc4x1::IfcClosedShell::IfcClosedShell(aggregate_of< ::Ifc4x1::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc4x1::IfcClosedShell::IfcClosedShell(aggregate_of< ::Ifc4x1::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcCoil -boost::optional< ::Ifc4x1::IfcCoilTypeEnum::Value > Ifc4x1::IfcCoil::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcCoilTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcCoilTypeEnum::Value > Ifc4x1::IfcCoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcCoilTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcCoil::setPredefinedType(boost::optional< ::Ifc4x1::IfcCoilTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcCoilTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcCoil::declaration() const { return *((IfcParse::entity*)IFC4X1_types[158]); } const IfcParse::entity& Ifc4x1::IfcCoil::Class() { return *((IfcParse::entity*)IFC4X1_types[158]); } Ifc4x1::IfcCoil::IfcCoil(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x1::IfcCoil::IfcCoil(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcCoilTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcCoil::IfcCoil(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcCoilTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCoilType -::Ifc4x1::IfcCoilTypeEnum::Value Ifc4x1::IfcCoilType::PredefinedType() const { return ::Ifc4x1::IfcCoilTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcCoilTypeEnum::Value Ifc4x1::IfcCoilType::PredefinedType() const { return ::Ifc4x1::IfcCoilTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcCoilType::setPredefinedType(::Ifc4x1::IfcCoilTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcCoilTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcCoilType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[159]); } const IfcParse::entity& Ifc4x1::IfcCoilType::Class() { return *((IfcParse::entity*)IFC4X1_types[159]); } Ifc4x1::IfcCoilType::IfcCoilType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x1::IfcCoilType::IfcCoilType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCoilTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcCoilType::IfcCoilType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCoilTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcColourRgb -double Ifc4x1::IfcColourRgb::Red() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x1::IfcColourRgb::Red() const { double v = get_attribute_value(1); return v; } void Ifc4x1::IfcColourRgb::setRed(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x1::IfcColourRgb::Green() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x1::IfcColourRgb::Green() const { double v = get_attribute_value(2); return v; } void Ifc4x1::IfcColourRgb::setGreen(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x1::IfcColourRgb::Blue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x1::IfcColourRgb::Blue() const { double v = get_attribute_value(3); return v; } void Ifc4x1::IfcColourRgb::setBlue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcColourRgb::declaration() const { return *((IfcParse::entity*)IFC4X1_types[163]); } const IfcParse::entity& Ifc4x1::IfcColourRgb::Class() { return *((IfcParse::entity*)IFC4X1_types[163]); } Ifc4x1::IfcColourRgb::IfcColourRgb(IfcEntityInstanceData&& e) : IfcColourSpecification(std::move(e)) { } -Ifc4x1::IfcColourRgb::IfcColourRgb(boost::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) : IfcColourSpecification(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; populate_derived(); } +Ifc4x1::IfcColourRgb::IfcColourRgb(boost::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) : IfcColourSpecification(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; populate_derived(); } // Function implementations for IfcColourRgbList -std::vector< std::vector< double > > Ifc4x1::IfcColourRgbList::ColourList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x1::IfcColourRgbList::ColourList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x1::IfcColourRgbList::setColourList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x1::IfcColourRgbList::declaration() const { return *((IfcParse::entity*)IFC4X1_types[164]); } const IfcParse::entity& Ifc4x1::IfcColourRgbList::Class() { return *((IfcParse::entity*)IFC4X1_types[164]); } Ifc4x1::IfcColourRgbList::IfcColourRgbList(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x1::IfcColourRgbList::IfcColourRgbList(std::vector< std::vector< double > > v1_ColourList) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_ColourList));; populate_derived(); } +Ifc4x1::IfcColourRgbList::IfcColourRgbList(std::vector< std::vector< double > > v1_ColourList) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_ColourList));; populate_derived(); } // Function implementations for IfcColourSpecification -boost::optional< std::string > Ifc4x1::IfcColourSpecification::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x1::IfcColourSpecification::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcColourSpecification::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x1::IfcColourSpecification::declaration() const { return *((IfcParse::entity*)IFC4X1_types[165]); } const IfcParse::entity& Ifc4x1::IfcColourSpecification::Class() { return *((IfcParse::entity*)IFC4X1_types[165]); } Ifc4x1::IfcColourSpecification::IfcColourSpecification(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x1::IfcColourSpecification::IfcColourSpecification(boost::optional< std::string > v1_Name) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x1::IfcColourSpecification::IfcColourSpecification(boost::optional< std::string > v1_Name) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcColumn -boost::optional< ::Ifc4x1::IfcColumnTypeEnum::Value > Ifc4x1::IfcColumn::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcColumnTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcColumnTypeEnum::Value > Ifc4x1::IfcColumn::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcColumnTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcColumn::setPredefinedType(boost::optional< ::Ifc4x1::IfcColumnTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcColumnTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcColumn::declaration() const { return *((IfcParse::entity*)IFC4X1_types[166]); } const IfcParse::entity& Ifc4x1::IfcColumn::Class() { return *((IfcParse::entity*)IFC4X1_types[166]); } Ifc4x1::IfcColumn::IfcColumn(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x1::IfcColumn::IfcColumn(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcColumnTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcColumn::IfcColumn(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcColumnTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcColumnStandardCase @@ -8120,75 +8120,75 @@ Ifc4x1::IfcColumn::IfcColumn(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* const IfcParse::entity& Ifc4x1::IfcColumnStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X1_types[167]); } const IfcParse::entity& Ifc4x1::IfcColumnStandardCase::Class() { return *((IfcParse::entity*)IFC4X1_types[167]); } Ifc4x1::IfcColumnStandardCase::IfcColumnStandardCase(IfcEntityInstanceData&& e) : IfcColumn(std::move(e)) { } -Ifc4x1::IfcColumnStandardCase::IfcColumnStandardCase(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcColumnTypeEnum::Value > v9_PredefinedType) : IfcColumn(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcColumnStandardCase::IfcColumnStandardCase(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcColumnTypeEnum::Value > v9_PredefinedType) : IfcColumn(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcColumnType -::Ifc4x1::IfcColumnTypeEnum::Value Ifc4x1::IfcColumnType::PredefinedType() const { return ::Ifc4x1::IfcColumnTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcColumnTypeEnum::Value Ifc4x1::IfcColumnType::PredefinedType() const { return ::Ifc4x1::IfcColumnTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcColumnType::setPredefinedType(::Ifc4x1::IfcColumnTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcColumnTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcColumnType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[168]); } const IfcParse::entity& Ifc4x1::IfcColumnType::Class() { return *((IfcParse::entity*)IFC4X1_types[168]); } Ifc4x1::IfcColumnType::IfcColumnType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x1::IfcColumnType::IfcColumnType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcColumnTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcColumnType::IfcColumnType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcColumnTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCommunicationsAppliance -boost::optional< ::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x1::IfcCommunicationsAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcCommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x1::IfcCommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcCommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcCommunicationsAppliance::declaration() const { return *((IfcParse::entity*)IFC4X1_types[170]); } const IfcParse::entity& Ifc4x1::IfcCommunicationsAppliance::Class() { return *((IfcParse::entity*)IFC4X1_types[170]); } Ifc4x1::IfcCommunicationsAppliance::IfcCommunicationsAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x1::IfcCommunicationsAppliance::IfcCommunicationsAppliance(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcCommunicationsAppliance::IfcCommunicationsAppliance(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCommunicationsApplianceType -::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value Ifc4x1::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4x1::IfcCommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value Ifc4x1::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4x1::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcCommunicationsApplianceType::setPredefinedType(::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcCommunicationsApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[171]); } const IfcParse::entity& Ifc4x1::IfcCommunicationsApplianceType::Class() { return *((IfcParse::entity*)IFC4X1_types[171]); } Ifc4x1::IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x1::IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcComplexProperty -std::string Ifc4x1::IfcComplexProperty::UsageName() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x1::IfcComplexProperty::UsageName() const { std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcComplexProperty::setUsageName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x1::IfcProperty >::ptr Ifc4x1::IfcComplexProperty::HasProperties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x1::IfcProperty >(); } +aggregate_of< ::Ifc4x1::IfcProperty >::ptr Ifc4x1::IfcComplexProperty::HasProperties() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x1::IfcProperty >(); } void Ifc4x1::IfcComplexProperty::setHasProperties(aggregate_of< ::Ifc4x1::IfcProperty >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcComplexProperty::declaration() const { return *((IfcParse::entity*)IFC4X1_types[174]); } const IfcParse::entity& Ifc4x1::IfcComplexProperty::Class() { return *((IfcParse::entity*)IFC4X1_types[174]); } Ifc4x1::IfcComplexProperty::IfcComplexProperty(IfcEntityInstanceData&& e) : IfcProperty(std::move(e)) { } -Ifc4x1::IfcComplexProperty::IfcComplexProperty(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_UsageName, aggregate_of< ::Ifc4x1::IfcProperty >::ptr v4_HasProperties) : IfcProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, (v4_HasProperties)->generalize());; populate_derived(); } +Ifc4x1::IfcComplexProperty::IfcComplexProperty(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_UsageName, aggregate_of< ::Ifc4x1::IfcProperty >::ptr v4_HasProperties) : IfcProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, (v4_HasProperties)->generalize());; populate_derived(); } // Function implementations for IfcComplexPropertyTemplate -boost::optional< std::string > Ifc4x1::IfcComplexPropertyTemplate::UsageName() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x1::IfcComplexPropertyTemplate::UsageName() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcComplexPropertyTemplate::setUsageName(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< ::Ifc4x1::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4x1::IfcComplexPropertyTemplate::TemplateType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x1::IfcComplexPropertyTemplateTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x1::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4x1::IfcComplexPropertyTemplate::TemplateType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x1::IfcComplexPropertyTemplateTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x1::IfcComplexPropertyTemplate::setTemplateType(boost::optional< ::Ifc4x1::IfcComplexPropertyTemplateTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x1::IfcComplexPropertyTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -boost::optional< aggregate_of< ::Ifc4x1::IfcPropertyTemplate >::ptr > Ifc4x1::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x1::IfcPropertyTemplate >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcPropertyTemplate >::ptr > Ifc4x1::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x1::IfcPropertyTemplate >(); } void Ifc4x1::IfcComplexPropertyTemplate::setHasPropertyTemplates(boost::optional< aggregate_of< ::Ifc4x1::IfcPropertyTemplate >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x1::IfcComplexPropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X1_types[175]); } const IfcParse::entity& Ifc4x1::IfcComplexPropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X1_types[175]); } Ifc4x1::IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplate(std::move(e)) { } -Ifc4x1::IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_UsageName, boost::optional< ::Ifc4x1::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertyTemplate >::ptr > v7_HasPropertyTemplates) : IfcPropertyTemplate(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, (*v7_HasPropertyTemplates)->generalize()); }; populate_derived(); } +Ifc4x1::IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_UsageName, boost::optional< ::Ifc4x1::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertyTemplate >::ptr > v7_HasPropertyTemplates) : IfcPropertyTemplate(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, (*v7_HasPropertyTemplates)->generalize()); }; populate_derived(); } // Function implementations for IfcCompositeCurve -aggregate_of< ::Ifc4x1::IfcCompositeCurveSegment >::ptr Ifc4x1::IfcCompositeCurve::Segments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x1::IfcCompositeCurveSegment >(); } +aggregate_of< ::Ifc4x1::IfcCompositeCurveSegment >::ptr Ifc4x1::IfcCompositeCurve::Segments() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x1::IfcCompositeCurveSegment >(); } void Ifc4x1::IfcCompositeCurve::setSegments(aggregate_of< ::Ifc4x1::IfcCompositeCurveSegment >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::logic::tribool Ifc4x1::IfcCompositeCurve::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(1); return v; } +boost::logic::tribool Ifc4x1::IfcCompositeCurve::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(1); return v; } void Ifc4x1::IfcCompositeCurve::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcCompositeCurve::declaration() const { return *((IfcParse::entity*)IFC4X1_types[177]); } const IfcParse::entity& Ifc4x1::IfcCompositeCurve::Class() { return *((IfcParse::entity*)IFC4X1_types[177]); } Ifc4x1::IfcCompositeCurve::IfcCompositeCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x1::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc4x1::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x1::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc4x1::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcCompositeCurveOnSurface @@ -8196,14 +8196,14 @@ Ifc4x1::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc4x1::IfcComposit const IfcParse::entity& Ifc4x1::IfcCompositeCurveOnSurface::declaration() const { return *((IfcParse::entity*)IFC4X1_types[178]); } const IfcParse::entity& Ifc4x1::IfcCompositeCurveOnSurface::Class() { return *((IfcParse::entity*)IFC4X1_types[178]); } Ifc4x1::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(IfcEntityInstanceData&& e) : IfcCompositeCurve(std::move(e)) { } -Ifc4x1::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(aggregate_of< ::Ifc4x1::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x1::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(aggregate_of< ::Ifc4x1::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcCompositeCurveSegment -::Ifc4x1::IfcTransitionCode::Value Ifc4x1::IfcCompositeCurveSegment::Transition() const { return ::Ifc4x1::IfcTransitionCode::FromString(data_.get_attribute_value(0)); } +::Ifc4x1::IfcTransitionCode::Value Ifc4x1::IfcCompositeCurveSegment::Transition() const { return ::Ifc4x1::IfcTransitionCode::FromString(get_attribute_value(0)); } void Ifc4x1::IfcCompositeCurveSegment::setTransition(::Ifc4x1::IfcTransitionCode::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x1::IfcTransitionCode::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -bool Ifc4x1::IfcCompositeCurveSegment::SameSense() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x1::IfcCompositeCurveSegment::SameSense() const { bool v = get_attribute_value(1); return v; } void Ifc4x1::IfcCompositeCurveSegment::setSameSense(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcCurve* Ifc4x1::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcCurve>(true); } +::Ifc4x1::IfcCurve* Ifc4x1::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcCompositeCurveSegment::setParentCurve(::Ifc4x1::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } ::Ifc4x1::IfcCompositeCurve::list::ptr Ifc4x1::IfcCompositeCurveSegment::UsingCurves() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[177], 0)->as(); } @@ -8211,91 +8211,91 @@ void Ifc4x1::IfcCompositeCurveSegment::setParentCurve(::Ifc4x1::IfcCurve* v) { s const IfcParse::entity& Ifc4x1::IfcCompositeCurveSegment::declaration() const { return *((IfcParse::entity*)IFC4X1_types[179]); } const IfcParse::entity& Ifc4x1::IfcCompositeCurveSegment::Class() { return *((IfcParse::entity*)IFC4X1_types[179]); } Ifc4x1::IfcCompositeCurveSegment::IfcCompositeCurveSegment(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x1::IfcCompositeCurveSegment::IfcCompositeCurveSegment(::Ifc4x1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x1::IfcCurve* v3_ParentCurve) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcCompositeCurveSegment::IfcCompositeCurveSegment(::Ifc4x1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x1::IfcCurve* v3_ParentCurve) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCompositeProfileDef -aggregate_of< ::Ifc4x1::IfcProfileDef >::ptr Ifc4x1::IfcCompositeProfileDef::Profiles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x1::IfcProfileDef >(); } +aggregate_of< ::Ifc4x1::IfcProfileDef >::ptr Ifc4x1::IfcCompositeProfileDef::Profiles() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x1::IfcProfileDef >(); } void Ifc4x1::IfcCompositeProfileDef::setProfiles(aggregate_of< ::Ifc4x1::IfcProfileDef >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x1::IfcCompositeProfileDef::Label() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x1::IfcCompositeProfileDef::Label() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x1::IfcCompositeProfileDef::setLabel(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x1::IfcCompositeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X1_types[180]); } const IfcParse::entity& Ifc4x1::IfcCompositeProfileDef::Class() { return *((IfcParse::entity*)IFC4X1_types[180]); } Ifc4x1::IfcCompositeProfileDef::IfcCompositeProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x1::IfcCompositeProfileDef::IfcCompositeProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, aggregate_of< ::Ifc4x1::IfcProfileDef >::ptr v3_Profiles, boost::optional< std::string > v4_Label) : IfcProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Profiles)->generalize()); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; populate_derived(); } +Ifc4x1::IfcCompositeProfileDef::IfcCompositeProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, aggregate_of< ::Ifc4x1::IfcProfileDef >::ptr v3_Profiles, boost::optional< std::string > v4_Label) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Profiles)->generalize()); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; populate_derived(); } // Function implementations for IfcCompressor -boost::optional< ::Ifc4x1::IfcCompressorTypeEnum::Value > Ifc4x1::IfcCompressor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcCompressorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcCompressorTypeEnum::Value > Ifc4x1::IfcCompressor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcCompressorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcCompressor::setPredefinedType(boost::optional< ::Ifc4x1::IfcCompressorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcCompressorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcCompressor::declaration() const { return *((IfcParse::entity*)IFC4X1_types[182]); } const IfcParse::entity& Ifc4x1::IfcCompressor::Class() { return *((IfcParse::entity*)IFC4X1_types[182]); } Ifc4x1::IfcCompressor::IfcCompressor(IfcEntityInstanceData&& e) : IfcFlowMovingDevice(std::move(e)) { } -Ifc4x1::IfcCompressor::IfcCompressor(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcCompressorTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcCompressor::IfcCompressor(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcCompressorTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCompressorType -::Ifc4x1::IfcCompressorTypeEnum::Value Ifc4x1::IfcCompressorType::PredefinedType() const { return ::Ifc4x1::IfcCompressorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcCompressorTypeEnum::Value Ifc4x1::IfcCompressorType::PredefinedType() const { return ::Ifc4x1::IfcCompressorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcCompressorType::setPredefinedType(::Ifc4x1::IfcCompressorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcCompressorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcCompressorType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[183]); } const IfcParse::entity& Ifc4x1::IfcCompressorType::Class() { return *((IfcParse::entity*)IFC4X1_types[183]); } Ifc4x1::IfcCompressorType::IfcCompressorType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(e)) { } -Ifc4x1::IfcCompressorType::IfcCompressorType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCompressorTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcCompressorType::IfcCompressorType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCompressorTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCondenser -boost::optional< ::Ifc4x1::IfcCondenserTypeEnum::Value > Ifc4x1::IfcCondenser::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcCondenserTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcCondenserTypeEnum::Value > Ifc4x1::IfcCondenser::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcCondenserTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcCondenser::setPredefinedType(boost::optional< ::Ifc4x1::IfcCondenserTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcCondenserTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcCondenser::declaration() const { return *((IfcParse::entity*)IFC4X1_types[185]); } const IfcParse::entity& Ifc4x1::IfcCondenser::Class() { return *((IfcParse::entity*)IFC4X1_types[185]); } Ifc4x1::IfcCondenser::IfcCondenser(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x1::IfcCondenser::IfcCondenser(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcCondenserTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcCondenser::IfcCondenser(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcCondenserTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCondenserType -::Ifc4x1::IfcCondenserTypeEnum::Value Ifc4x1::IfcCondenserType::PredefinedType() const { return ::Ifc4x1::IfcCondenserTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcCondenserTypeEnum::Value Ifc4x1::IfcCondenserType::PredefinedType() const { return ::Ifc4x1::IfcCondenserTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcCondenserType::setPredefinedType(::Ifc4x1::IfcCondenserTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcCondenserTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcCondenserType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[186]); } const IfcParse::entity& Ifc4x1::IfcCondenserType::Class() { return *((IfcParse::entity*)IFC4X1_types[186]); } Ifc4x1::IfcCondenserType::IfcCondenserType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x1::IfcCondenserType::IfcCondenserType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCondenserTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcCondenserType::IfcCondenserType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCondenserTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcConic -::Ifc4x1::IfcAxis2Placement* Ifc4x1::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcAxis2Placement>(true); } +::Ifc4x1::IfcAxis2Placement* Ifc4x1::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcAxis2Placement>(true); } void Ifc4x1::IfcConic::setPosition(::Ifc4x1::IfcAxis2Placement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x1::IfcConic::declaration() const { return *((IfcParse::entity*)IFC4X1_types[188]); } const IfcParse::entity& Ifc4x1::IfcConic::Class() { return *((IfcParse::entity*)IFC4X1_types[188]); } Ifc4x1::IfcConic::IfcConic(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x1::IfcConic::IfcConic(::Ifc4x1::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcConic::IfcConic(::Ifc4x1::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectedFaceSet -aggregate_of< ::Ifc4x1::IfcFace >::ptr Ifc4x1::IfcConnectedFaceSet::CfsFaces() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x1::IfcFace >(); } +aggregate_of< ::Ifc4x1::IfcFace >::ptr Ifc4x1::IfcConnectedFaceSet::CfsFaces() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x1::IfcFace >(); } void Ifc4x1::IfcConnectedFaceSet::setCfsFaces(aggregate_of< ::Ifc4x1::IfcFace >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x1::IfcConnectedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X1_types[189]); } const IfcParse::entity& Ifc4x1::IfcConnectedFaceSet::Class() { return *((IfcParse::entity*)IFC4X1_types[189]); } Ifc4x1::IfcConnectedFaceSet::IfcConnectedFaceSet(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x1::IfcConnectedFaceSet::IfcConnectedFaceSet(aggregate_of< ::Ifc4x1::IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc4x1::IfcConnectedFaceSet::IfcConnectedFaceSet(aggregate_of< ::Ifc4x1::IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcConnectionCurveGeometry -::Ifc4x1::IfcCurveOrEdgeCurve* Ifc4x1::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcCurveOrEdgeCurve>(true); } +::Ifc4x1::IfcCurveOrEdgeCurve* Ifc4x1::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcCurveOrEdgeCurve>(true); } void Ifc4x1::IfcConnectionCurveGeometry::setCurveOnRelatingElement(::Ifc4x1::IfcCurveOrEdgeCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcCurveOrEdgeCurve* Ifc4x1::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcCurveOrEdgeCurve>(true); } +::Ifc4x1::IfcCurveOrEdgeCurve* Ifc4x1::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcCurveOrEdgeCurve>(true); } void Ifc4x1::IfcConnectionCurveGeometry::setCurveOnRelatedElement(::Ifc4x1::IfcCurveOrEdgeCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcConnectionCurveGeometry::declaration() const { return *((IfcParse::entity*)IFC4X1_types[190]); } const IfcParse::entity& Ifc4x1::IfcConnectionCurveGeometry::Class() { return *((IfcParse::entity*)IFC4X1_types[190]); } Ifc4x1::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x1::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc4x1::IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, ::Ifc4x1::IfcCurveOrEdgeCurve* v2_CurveOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_CurveOnRelatingElement ? v1_CurveOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_CurveOnRelatedElement ? v2_CurveOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc4x1::IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, ::Ifc4x1::IfcCurveOrEdgeCurve* v2_CurveOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_CurveOnRelatingElement ? v1_CurveOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_CurveOnRelatedElement ? v2_CurveOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionGeometry @@ -8303,72 +8303,72 @@ Ifc4x1::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc4x1::IfcCurv const IfcParse::entity& Ifc4x1::IfcConnectionGeometry::declaration() const { return *((IfcParse::entity*)IFC4X1_types[191]); } const IfcParse::entity& Ifc4x1::IfcConnectionGeometry::Class() { return *((IfcParse::entity*)IFC4X1_types[191]); } Ifc4x1::IfcConnectionGeometry::IfcConnectionGeometry(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x1::IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcConnectionPointEccentricity -boost::optional< double > Ifc4x1::IfcConnectionPointEccentricity::EccentricityInX() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x1::IfcConnectionPointEccentricity::EccentricityInX() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x1::IfcConnectionPointEccentricity::setEccentricityInX(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x1::IfcConnectionPointEccentricity::EccentricityInY() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x1::IfcConnectionPointEccentricity::EccentricityInY() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x1::IfcConnectionPointEccentricity::setEccentricityInY(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x1::IfcConnectionPointEccentricity::EccentricityInZ() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x1::IfcConnectionPointEccentricity::EccentricityInZ() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x1::IfcConnectionPointEccentricity::setEccentricityInZ(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x1::IfcConnectionPointEccentricity::declaration() const { return *((IfcParse::entity*)IFC4X1_types[192]); } const IfcParse::entity& Ifc4x1::IfcConnectionPointEccentricity::Class() { return *((IfcParse::entity*)IFC4X1_types[192]); } Ifc4x1::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcEntityInstanceData&& e) : IfcConnectionPointGeometry(std::move(e)) { } -Ifc4x1::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(::Ifc4x1::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x1::IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; populate_derived(); } +Ifc4x1::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(::Ifc4x1::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x1::IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; populate_derived(); } // Function implementations for IfcConnectionPointGeometry -::Ifc4x1::IfcPointOrVertexPoint* Ifc4x1::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcPointOrVertexPoint>(true); } +::Ifc4x1::IfcPointOrVertexPoint* Ifc4x1::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcPointOrVertexPoint>(true); } void Ifc4x1::IfcConnectionPointGeometry::setPointOnRelatingElement(::Ifc4x1::IfcPointOrVertexPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcPointOrVertexPoint* Ifc4x1::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcPointOrVertexPoint>(true); } +::Ifc4x1::IfcPointOrVertexPoint* Ifc4x1::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcPointOrVertexPoint>(true); } void Ifc4x1::IfcConnectionPointGeometry::setPointOnRelatedElement(::Ifc4x1::IfcPointOrVertexPoint* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcConnectionPointGeometry::declaration() const { return *((IfcParse::entity*)IFC4X1_types[193]); } const IfcParse::entity& Ifc4x1::IfcConnectionPointGeometry::Class() { return *((IfcParse::entity*)IFC4X1_types[193]); } Ifc4x1::IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x1::IfcConnectionPointGeometry::IfcConnectionPointGeometry(::Ifc4x1::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x1::IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcConnectionPointGeometry::IfcConnectionPointGeometry(::Ifc4x1::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x1::IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionSurfaceGeometry -::Ifc4x1::IfcSurfaceOrFaceSurface* Ifc4x1::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcSurfaceOrFaceSurface>(true); } +::Ifc4x1::IfcSurfaceOrFaceSurface* Ifc4x1::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcSurfaceOrFaceSurface>(true); } void Ifc4x1::IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(::Ifc4x1::IfcSurfaceOrFaceSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcSurfaceOrFaceSurface* Ifc4x1::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcSurfaceOrFaceSurface>(true); } +::Ifc4x1::IfcSurfaceOrFaceSurface* Ifc4x1::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcSurfaceOrFaceSurface>(true); } void Ifc4x1::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(::Ifc4x1::IfcSurfaceOrFaceSurface* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcConnectionSurfaceGeometry::declaration() const { return *((IfcParse::entity*)IFC4X1_types[194]); } const IfcParse::entity& Ifc4x1::IfcConnectionSurfaceGeometry::Class() { return *((IfcParse::entity*)IFC4X1_types[194]); } Ifc4x1::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x1::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(::Ifc4x1::IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, ::Ifc4x1::IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SurfaceOnRelatingElement ? v1_SurfaceOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_SurfaceOnRelatedElement ? v2_SurfaceOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(::Ifc4x1::IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, ::Ifc4x1::IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SurfaceOnRelatingElement ? v1_SurfaceOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_SurfaceOnRelatedElement ? v2_SurfaceOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionVolumeGeometry -::Ifc4x1::IfcSolidOrShell* Ifc4x1::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcSolidOrShell>(true); } +::Ifc4x1::IfcSolidOrShell* Ifc4x1::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcSolidOrShell>(true); } void Ifc4x1::IfcConnectionVolumeGeometry::setVolumeOnRelatingElement(::Ifc4x1::IfcSolidOrShell* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcSolidOrShell* Ifc4x1::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcSolidOrShell>(true); } +::Ifc4x1::IfcSolidOrShell* Ifc4x1::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcSolidOrShell>(true); } void Ifc4x1::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(::Ifc4x1::IfcSolidOrShell* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcConnectionVolumeGeometry::declaration() const { return *((IfcParse::entity*)IFC4X1_types[196]); } const IfcParse::entity& Ifc4x1::IfcConnectionVolumeGeometry::Class() { return *((IfcParse::entity*)IFC4X1_types[196]); } Ifc4x1::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x1::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(::Ifc4x1::IfcSolidOrShell* v1_VolumeOnRelatingElement, ::Ifc4x1::IfcSolidOrShell* v2_VolumeOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_VolumeOnRelatingElement ? v1_VolumeOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_VolumeOnRelatedElement ? v2_VolumeOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(::Ifc4x1::IfcSolidOrShell* v1_VolumeOnRelatingElement, ::Ifc4x1::IfcSolidOrShell* v2_VolumeOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_VolumeOnRelatingElement ? v1_VolumeOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_VolumeOnRelatedElement ? v2_VolumeOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConstraint -std::string Ifc4x1::IfcConstraint::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x1::IfcConstraint::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcConstraint::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x1::IfcConstraint::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x1::IfcConstraint::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcConstraint::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x1::IfcConstraintEnum::Value Ifc4x1::IfcConstraint::ConstraintGrade() const { return ::Ifc4x1::IfcConstraintEnum::FromString(data_.get_attribute_value(2)); } +::Ifc4x1::IfcConstraintEnum::Value Ifc4x1::IfcConstraint::ConstraintGrade() const { return ::Ifc4x1::IfcConstraintEnum::FromString(get_attribute_value(2)); } void Ifc4x1::IfcConstraint::setConstraintGrade(::Ifc4x1::IfcConstraintEnum::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x1::IfcConstraintEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x1::IfcConstraint::ConstraintSource() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x1::IfcConstraint::ConstraintSource() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x1::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x1::IfcActorSelect* Ifc4x1::IfcConstraint::CreatingActor() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x1::IfcActorSelect>(true); } +::Ifc4x1::IfcActorSelect* Ifc4x1::IfcConstraint::CreatingActor() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x1::IfcActorSelect>(true); } void Ifc4x1::IfcConstraint::setCreatingActor(::Ifc4x1::IfcActorSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -boost::optional< std::string > Ifc4x1::IfcConstraint::CreationTime() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x1::IfcConstraint::CreationTime() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcConstraint::setCreationTime(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x1::IfcConstraint::UserDefinedGrade() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x1::IfcConstraint::UserDefinedGrade() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x1::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x1::IfcExternalReferenceRelationship::list::ptr Ifc4x1::IfcConstraint::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[394], 3)->as(); } @@ -8377,104 +8377,104 @@ void Ifc4x1::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v const IfcParse::entity& Ifc4x1::IfcConstraint::declaration() const { return *((IfcParse::entity*)IFC4X1_types[197]); } const IfcParse::entity& Ifc4x1::IfcConstraint::Class() { return *((IfcParse::entity*)IFC4X1_types[197]); } Ifc4x1::IfcConstraint::IfcConstraint(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x1::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; populate_derived(); } +Ifc4x1::IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x1::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; populate_derived(); } // Function implementations for IfcConstructionEquipmentResource -boost::optional< ::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x1::IfcConstructionEquipmentResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x1::IfcConstructionEquipmentResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x1::IfcConstructionEquipmentResource::setPredefinedType(boost::optional< ::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x1::IfcConstructionEquipmentResource::declaration() const { return *((IfcParse::entity*)IFC4X1_types[199]); } const IfcParse::entity& Ifc4x1::IfcConstructionEquipmentResource::Class() { return *((IfcParse::entity*)IFC4X1_types[199]); } Ifc4x1::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x1::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConstructionEquipmentResourceType -::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x1::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x1::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x1::IfcConstructionEquipmentResourceType::setPredefinedType(::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x1::IfcConstructionEquipmentResourceType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[200]); } const IfcParse::entity& Ifc4x1::IfcConstructionEquipmentResourceType::Class() { return *((IfcParse::entity*)IFC4X1_types[200]); } Ifc4x1::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x1::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x1::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcConstructionMaterialResource -boost::optional< ::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x1::IfcConstructionMaterialResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x1::IfcConstructionMaterialResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x1::IfcConstructionMaterialResource::setPredefinedType(boost::optional< ::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x1::IfcConstructionMaterialResource::declaration() const { return *((IfcParse::entity*)IFC4X1_types[202]); } const IfcParse::entity& Ifc4x1::IfcConstructionMaterialResource::Class() { return *((IfcParse::entity*)IFC4X1_types[202]); } Ifc4x1::IfcConstructionMaterialResource::IfcConstructionMaterialResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x1::IfcConstructionMaterialResource::IfcConstructionMaterialResource(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcConstructionMaterialResource::IfcConstructionMaterialResource(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConstructionMaterialResourceType -::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x1::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x1::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x1::IfcConstructionMaterialResourceType::setPredefinedType(::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x1::IfcConstructionMaterialResourceType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[203]); } const IfcParse::entity& Ifc4x1::IfcConstructionMaterialResourceType::Class() { return *((IfcParse::entity*)IFC4X1_types[203]); } Ifc4x1::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x1::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x1::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcConstructionProductResource -boost::optional< ::Ifc4x1::IfcConstructionProductResourceTypeEnum::Value > Ifc4x1::IfcConstructionProductResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x1::IfcConstructionProductResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x1::IfcConstructionProductResourceTypeEnum::Value > Ifc4x1::IfcConstructionProductResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x1::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x1::IfcConstructionProductResource::setPredefinedType(boost::optional< ::Ifc4x1::IfcConstructionProductResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x1::IfcConstructionProductResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x1::IfcConstructionProductResource::declaration() const { return *((IfcParse::entity*)IFC4X1_types[205]); } const IfcParse::entity& Ifc4x1::IfcConstructionProductResource::Class() { return *((IfcParse::entity*)IFC4X1_types[205]); } Ifc4x1::IfcConstructionProductResource::IfcConstructionProductResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x1::IfcConstructionProductResource::IfcConstructionProductResource(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x1::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcConstructionProductResource::IfcConstructionProductResource(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x1::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConstructionProductResourceType -::Ifc4x1::IfcConstructionProductResourceTypeEnum::Value Ifc4x1::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4x1::IfcConstructionProductResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x1::IfcConstructionProductResourceTypeEnum::Value Ifc4x1::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4x1::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x1::IfcConstructionProductResourceType::setPredefinedType(::Ifc4x1::IfcConstructionProductResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x1::IfcConstructionProductResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x1::IfcConstructionProductResourceType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[206]); } const IfcParse::entity& Ifc4x1::IfcConstructionProductResourceType::Class() { return *((IfcParse::entity*)IFC4X1_types[206]); } Ifc4x1::IfcConstructionProductResourceType::IfcConstructionProductResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x1::IfcConstructionProductResourceType::IfcConstructionProductResourceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x1::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x1::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcConstructionProductResourceType::IfcConstructionProductResourceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x1::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x1::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcConstructionResource -::Ifc4x1::IfcResourceTime* Ifc4x1::IfcConstructionResource::Usage() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x1::IfcResourceTime>(true); } +::Ifc4x1::IfcResourceTime* Ifc4x1::IfcConstructionResource::Usage() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x1::IfcResourceTime>(true); } void Ifc4x1::IfcConstructionResource::setUsage(::Ifc4x1::IfcResourceTime* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > Ifc4x1::IfcConstructionResource::BaseCosts() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x1::IfcAppliedValue >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > Ifc4x1::IfcConstructionResource::BaseCosts() const { if(get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x1::IfcAppliedValue >(); } void Ifc4x1::IfcConstructionResource::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v) { if (v) {set_attribute_value(8, (*v)->generalize());} else {unset_attribute_value(8);} } -::Ifc4x1::IfcPhysicalQuantity* Ifc4x1::IfcConstructionResource::BaseQuantity() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x1::IfcPhysicalQuantity>(true); } +::Ifc4x1::IfcPhysicalQuantity* Ifc4x1::IfcConstructionResource::BaseQuantity() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x1::IfcPhysicalQuantity>(true); } void Ifc4x1::IfcConstructionResource::setBaseQuantity(::Ifc4x1::IfcPhysicalQuantity* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcConstructionResource::declaration() const { return *((IfcParse::entity*)IFC4X1_types[208]); } const IfcParse::entity& Ifc4x1::IfcConstructionResource::Class() { return *((IfcParse::entity*)IFC4X1_types[208]); } Ifc4x1::IfcConstructionResource::IfcConstructionResource(IfcEntityInstanceData&& e) : IfcResource(std::move(e)) { } -Ifc4x1::IfcConstructionResource::IfcConstructionResource(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity* v10_BaseQuantity) : IfcResource(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcConstructionResource::IfcConstructionResource(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity* v10_BaseQuantity) : IfcResource(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConstructionResourceType -boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > Ifc4x1::IfcConstructionResourceType::BaseCosts() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x1::IfcAppliedValue >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > Ifc4x1::IfcConstructionResourceType::BaseCosts() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x1::IfcAppliedValue >(); } void Ifc4x1::IfcConstructionResourceType::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -::Ifc4x1::IfcPhysicalQuantity* Ifc4x1::IfcConstructionResourceType::BaseQuantity() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x1::IfcPhysicalQuantity>(true); } +::Ifc4x1::IfcPhysicalQuantity* Ifc4x1::IfcConstructionResourceType::BaseQuantity() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x1::IfcPhysicalQuantity>(true); } void Ifc4x1::IfcConstructionResourceType::setBaseQuantity(::Ifc4x1::IfcPhysicalQuantity* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x1::IfcConstructionResourceType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[209]); } const IfcParse::entity& Ifc4x1::IfcConstructionResourceType::Class() { return *((IfcParse::entity*)IFC4X1_types[209]); } Ifc4x1::IfcConstructionResourceType::IfcConstructionResourceType(IfcEntityInstanceData&& e) : IfcTypeResource(std::move(e)) { } -Ifc4x1::IfcConstructionResourceType::IfcConstructionResourceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity* v11_BaseQuantity) : IfcTypeResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcConstructionResourceType::IfcConstructionResourceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity* v11_BaseQuantity) : IfcTypeResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcContext -boost::optional< std::string > Ifc4x1::IfcContext::ObjectType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x1::IfcContext::ObjectType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcContext::setObjectType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x1::IfcContext::LongName() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x1::IfcContext::LongName() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcContext::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x1::IfcContext::Phase() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x1::IfcContext::Phase() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x1::IfcContext::setPhase(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationContext >::ptr > Ifc4x1::IfcContext::RepresentationContexts() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x1::IfcRepresentationContext >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationContext >::ptr > Ifc4x1::IfcContext::RepresentationContexts() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x1::IfcRepresentationContext >(); } void Ifc4x1::IfcContext::setRepresentationContexts(boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationContext >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -::Ifc4x1::IfcUnitAssignment* Ifc4x1::IfcContext::UnitsInContext() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x1::IfcUnitAssignment>(true); } +::Ifc4x1::IfcUnitAssignment* Ifc4x1::IfcContext::UnitsInContext() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x1::IfcUnitAssignment>(true); } void Ifc4x1::IfcContext::setUnitsInContext(::Ifc4x1::IfcUnitAssignment* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } ::Ifc4x1::IfcRelDefinesByProperties::list::ptr Ifc4x1::IfcContext::IsDefinedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[853], 4)->as(); } @@ -8483,10 +8483,10 @@ void Ifc4x1::IfcContext::setUnitsInContext(::Ifc4x1::IfcUnitAssignment* v) { set const IfcParse::entity& Ifc4x1::IfcContext::declaration() const { return *((IfcParse::entity*)IFC4X1_types[210]); } const IfcParse::entity& Ifc4x1::IfcContext::Class() { return *((IfcParse::entity*)IFC4X1_types[210]); } Ifc4x1::IfcContext::IfcContext(IfcEntityInstanceData&& e) : IfcObjectDefinition(std::move(e)) { } -Ifc4x1::IfcContext::IfcContext(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x1::IfcUnitAssignment* v9_UnitsInContext) : IfcObjectDefinition(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcContext::IfcContext(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x1::IfcUnitAssignment* v9_UnitsInContext) : IfcObjectDefinition(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcContextDependentUnit -std::string Ifc4x1::IfcContextDependentUnit::Name() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x1::IfcContextDependentUnit::Name() const { std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcContextDependentUnit::setName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } ::Ifc4x1::IfcExternalReferenceRelationship::list::ptr Ifc4x1::IfcContextDependentUnit::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[394], 3)->as(); } @@ -8494,10 +8494,10 @@ void Ifc4x1::IfcContextDependentUnit::setName(std::string v) { set_attribute_val const IfcParse::entity& Ifc4x1::IfcContextDependentUnit::declaration() const { return *((IfcParse::entity*)IFC4X1_types[212]); } const IfcParse::entity& Ifc4x1::IfcContextDependentUnit::Class() { return *((IfcParse::entity*)IFC4X1_types[212]); } Ifc4x1::IfcContextDependentUnit::IfcContextDependentUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -Ifc4x1::IfcContextDependentUnit::IfcContextDependentUnit(::Ifc4x1::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) : IfcNamedUnit(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; populate_derived(); } +Ifc4x1::IfcContextDependentUnit::IfcContextDependentUnit(::Ifc4x1::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) : IfcNamedUnit(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; populate_derived(); } // Function implementations for IfcControl -boost::optional< std::string > Ifc4x1::IfcControl::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x1::IfcControl::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcControl::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x1::IfcRelAssignsToControl::list::ptr Ifc4x1::IfcControl::Controls() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[823], 6)->as(); } @@ -8505,32 +8505,32 @@ void Ifc4x1::IfcControl::setIdentification(boost::optional< std::string > v) { i const IfcParse::entity& Ifc4x1::IfcControl::declaration() const { return *((IfcParse::entity*)IFC4X1_types[213]); } const IfcParse::entity& Ifc4x1::IfcControl::Class() { return *((IfcParse::entity*)IFC4X1_types[213]); } Ifc4x1::IfcControl::IfcControl(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x1::IfcControl::IfcControl(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification) : IfcObject(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }; populate_derived(); } +Ifc4x1::IfcControl::IfcControl(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }; populate_derived(); } // Function implementations for IfcController -boost::optional< ::Ifc4x1::IfcControllerTypeEnum::Value > Ifc4x1::IfcController::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcControllerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcControllerTypeEnum::Value > Ifc4x1::IfcController::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcControllerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcController::setPredefinedType(boost::optional< ::Ifc4x1::IfcControllerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcControllerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcController::declaration() const { return *((IfcParse::entity*)IFC4X1_types[214]); } const IfcParse::entity& Ifc4x1::IfcController::Class() { return *((IfcParse::entity*)IFC4X1_types[214]); } Ifc4x1::IfcController::IfcController(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x1::IfcController::IfcController(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcControllerTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcController::IfcController(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcControllerTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcControllerType -::Ifc4x1::IfcControllerTypeEnum::Value Ifc4x1::IfcControllerType::PredefinedType() const { return ::Ifc4x1::IfcControllerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcControllerTypeEnum::Value Ifc4x1::IfcControllerType::PredefinedType() const { return ::Ifc4x1::IfcControllerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcControllerType::setPredefinedType(::Ifc4x1::IfcControllerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcControllerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcControllerType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[215]); } const IfcParse::entity& Ifc4x1::IfcControllerType::Class() { return *((IfcParse::entity*)IFC4X1_types[215]); } Ifc4x1::IfcControllerType::IfcControllerType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x1::IfcControllerType::IfcControllerType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcControllerTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcControllerType::IfcControllerType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcControllerTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcConversionBasedUnit -std::string Ifc4x1::IfcConversionBasedUnit::Name() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x1::IfcConversionBasedUnit::Name() const { std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcConversionBasedUnit::setName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcMeasureWithUnit* Ifc4x1::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcMeasureWithUnit>(true); } +::Ifc4x1::IfcMeasureWithUnit* Ifc4x1::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcMeasureWithUnit>(true); } void Ifc4x1::IfcConversionBasedUnit::setConversionFactor(::Ifc4x1::IfcMeasureWithUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } ::Ifc4x1::IfcExternalReferenceRelationship::list::ptr Ifc4x1::IfcConversionBasedUnit::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[394], 3)->as(); } @@ -8538,78 +8538,78 @@ void Ifc4x1::IfcConversionBasedUnit::setConversionFactor(::Ifc4x1::IfcMeasureWit const IfcParse::entity& Ifc4x1::IfcConversionBasedUnit::declaration() const { return *((IfcParse::entity*)IFC4X1_types[217]); } const IfcParse::entity& Ifc4x1::IfcConversionBasedUnit::Class() { return *((IfcParse::entity*)IFC4X1_types[217]); } Ifc4x1::IfcConversionBasedUnit::IfcConversionBasedUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -Ifc4x1::IfcConversionBasedUnit::IfcConversionBasedUnit(::Ifc4x1::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x1::IfcMeasureWithUnit* v4_ConversionFactor) : IfcNamedUnit(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcConversionBasedUnit::IfcConversionBasedUnit(::Ifc4x1::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x1::IfcMeasureWithUnit* v4_ConversionFactor) : IfcNamedUnit(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConversionBasedUnitWithOffset -double Ifc4x1::IfcConversionBasedUnitWithOffset::ConversionOffset() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x1::IfcConversionBasedUnitWithOffset::ConversionOffset() const { double v = get_attribute_value(4); return v; } void Ifc4x1::IfcConversionBasedUnitWithOffset::setConversionOffset(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x1::IfcConversionBasedUnitWithOffset::declaration() const { return *((IfcParse::entity*)IFC4X1_types[218]); } const IfcParse::entity& Ifc4x1::IfcConversionBasedUnitWithOffset::Class() { return *((IfcParse::entity*)IFC4X1_types[218]); } Ifc4x1::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(IfcEntityInstanceData&& e) : IfcConversionBasedUnit(std::move(e)) { } -Ifc4x1::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(::Ifc4x1::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x1::IfcMeasureWithUnit* v4_ConversionFactor, double v5_ConversionOffset) : IfcConversionBasedUnit(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ConversionOffset));; populate_derived(); } +Ifc4x1::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(::Ifc4x1::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x1::IfcMeasureWithUnit* v4_ConversionFactor, double v5_ConversionOffset) : IfcConversionBasedUnit(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ConversionOffset));; populate_derived(); } // Function implementations for IfcCooledBeam -boost::optional< ::Ifc4x1::IfcCooledBeamTypeEnum::Value > Ifc4x1::IfcCooledBeam::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcCooledBeamTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcCooledBeamTypeEnum::Value > Ifc4x1::IfcCooledBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcCooledBeamTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcCooledBeam::setPredefinedType(boost::optional< ::Ifc4x1::IfcCooledBeamTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcCooledBeamTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcCooledBeam::declaration() const { return *((IfcParse::entity*)IFC4X1_types[219]); } const IfcParse::entity& Ifc4x1::IfcCooledBeam::Class() { return *((IfcParse::entity*)IFC4X1_types[219]); } Ifc4x1::IfcCooledBeam::IfcCooledBeam(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x1::IfcCooledBeam::IfcCooledBeam(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcCooledBeam::IfcCooledBeam(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCooledBeamType -::Ifc4x1::IfcCooledBeamTypeEnum::Value Ifc4x1::IfcCooledBeamType::PredefinedType() const { return ::Ifc4x1::IfcCooledBeamTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcCooledBeamTypeEnum::Value Ifc4x1::IfcCooledBeamType::PredefinedType() const { return ::Ifc4x1::IfcCooledBeamTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcCooledBeamType::setPredefinedType(::Ifc4x1::IfcCooledBeamTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcCooledBeamTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcCooledBeamType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[220]); } const IfcParse::entity& Ifc4x1::IfcCooledBeamType::Class() { return *((IfcParse::entity*)IFC4X1_types[220]); } Ifc4x1::IfcCooledBeamType::IfcCooledBeamType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x1::IfcCooledBeamType::IfcCooledBeamType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCooledBeamTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcCooledBeamType::IfcCooledBeamType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCooledBeamTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCoolingTower -boost::optional< ::Ifc4x1::IfcCoolingTowerTypeEnum::Value > Ifc4x1::IfcCoolingTower::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcCoolingTowerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcCoolingTowerTypeEnum::Value > Ifc4x1::IfcCoolingTower::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcCoolingTower::setPredefinedType(boost::optional< ::Ifc4x1::IfcCoolingTowerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcCoolingTowerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcCoolingTower::declaration() const { return *((IfcParse::entity*)IFC4X1_types[222]); } const IfcParse::entity& Ifc4x1::IfcCoolingTower::Class() { return *((IfcParse::entity*)IFC4X1_types[222]); } Ifc4x1::IfcCoolingTower::IfcCoolingTower(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x1::IfcCoolingTower::IfcCoolingTower(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcCoolingTower::IfcCoolingTower(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCoolingTowerType -::Ifc4x1::IfcCoolingTowerTypeEnum::Value Ifc4x1::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4x1::IfcCoolingTowerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcCoolingTowerTypeEnum::Value Ifc4x1::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4x1::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcCoolingTowerType::setPredefinedType(::Ifc4x1::IfcCoolingTowerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcCoolingTowerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcCoolingTowerType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[223]); } const IfcParse::entity& Ifc4x1::IfcCoolingTowerType::Class() { return *((IfcParse::entity*)IFC4X1_types[223]); } Ifc4x1::IfcCoolingTowerType::IfcCoolingTowerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x1::IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCoordinateOperation -::Ifc4x1::IfcCoordinateReferenceSystemSelect* Ifc4x1::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcCoordinateReferenceSystemSelect>(true); } +::Ifc4x1::IfcCoordinateReferenceSystemSelect* Ifc4x1::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcCoordinateReferenceSystemSelect>(true); } void Ifc4x1::IfcCoordinateOperation::setSourceCRS(::Ifc4x1::IfcCoordinateReferenceSystemSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcCoordinateReferenceSystem* Ifc4x1::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcCoordinateReferenceSystem>(true); } +::Ifc4x1::IfcCoordinateReferenceSystem* Ifc4x1::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcCoordinateReferenceSystem>(true); } void Ifc4x1::IfcCoordinateOperation::setTargetCRS(::Ifc4x1::IfcCoordinateReferenceSystem* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcCoordinateOperation::declaration() const { return *((IfcParse::entity*)IFC4X1_types[225]); } const IfcParse::entity& Ifc4x1::IfcCoordinateOperation::Class() { return *((IfcParse::entity*)IFC4X1_types[225]); } Ifc4x1::IfcCoordinateOperation::IfcCoordinateOperation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcCoordinateOperation::IfcCoordinateOperation(::Ifc4x1::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x1::IfcCoordinateReferenceSystem* v2_TargetCRS) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcCoordinateOperation::IfcCoordinateOperation(::Ifc4x1::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x1::IfcCoordinateReferenceSystem* v2_TargetCRS) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCoordinateReferenceSystem -std::string Ifc4x1::IfcCoordinateReferenceSystem::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x1::IfcCoordinateReferenceSystem::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcCoordinateReferenceSystem::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x1::IfcCoordinateReferenceSystem::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x1::IfcCoordinateReferenceSystem::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcCoordinateReferenceSystem::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x1::IfcCoordinateReferenceSystem::GeodeticDatum() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x1::IfcCoordinateReferenceSystem::GeodeticDatum() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcCoordinateReferenceSystem::setGeodeticDatum(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x1::IfcCoordinateReferenceSystem::VerticalDatum() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x1::IfcCoordinateReferenceSystem::VerticalDatum() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x1::IfcCoordinateReferenceSystem::setVerticalDatum(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } ::Ifc4x1::IfcCoordinateOperation::list::ptr Ifc4x1::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[225], 0)->as(); } @@ -8617,37 +8617,37 @@ void Ifc4x1::IfcCoordinateReferenceSystem::setVerticalDatum(boost::optional< std const IfcParse::entity& Ifc4x1::IfcCoordinateReferenceSystem::declaration() const { return *((IfcParse::entity*)IFC4X1_types[226]); } const IfcParse::entity& Ifc4x1::IfcCoordinateReferenceSystem::Class() { return *((IfcParse::entity*)IFC4X1_types[226]); } Ifc4x1::IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::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(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); }; populate_derived(); } +Ifc4x1::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(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); }; populate_derived(); } // Function implementations for IfcCostItem -boost::optional< ::Ifc4x1::IfcCostItemTypeEnum::Value > Ifc4x1::IfcCostItem::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x1::IfcCostItemTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x1::IfcCostItemTypeEnum::Value > Ifc4x1::IfcCostItem::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x1::IfcCostItemTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x1::IfcCostItem::setPredefinedType(boost::optional< ::Ifc4x1::IfcCostItemTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x1::IfcCostItemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x1::IfcCostValue >::ptr > Ifc4x1::IfcCostItem::CostValues() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x1::IfcCostValue >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcCostValue >::ptr > Ifc4x1::IfcCostItem::CostValues() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x1::IfcCostValue >(); } void Ifc4x1::IfcCostItem::setCostValues(boost::optional< aggregate_of< ::Ifc4x1::IfcCostValue >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< aggregate_of< ::Ifc4x1::IfcPhysicalQuantity >::ptr > Ifc4x1::IfcCostItem::CostQuantities() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x1::IfcPhysicalQuantity >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcPhysicalQuantity >::ptr > Ifc4x1::IfcCostItem::CostQuantities() const { if(get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x1::IfcPhysicalQuantity >(); } void Ifc4x1::IfcCostItem::setCostQuantities(boost::optional< aggregate_of< ::Ifc4x1::IfcPhysicalQuantity >::ptr > v) { if (v) {set_attribute_value(8, (*v)->generalize());} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcCostItem::declaration() const { return *((IfcParse::entity*)IFC4X1_types[228]); } const IfcParse::entity& Ifc4x1::IfcCostItem::Class() { return *((IfcParse::entity*)IFC4X1_types[228]); } Ifc4x1::IfcCostItem::IfcCostItem(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x1::IfcCostItem::IfcCostItem(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x1::IfcCostItemTypeEnum::Value > v7_PredefinedType, boost::optional< aggregate_of< ::Ifc4x1::IfcCostValue >::ptr > v8_CostValues, boost::optional< aggregate_of< ::Ifc4x1::IfcPhysicalQuantity >::ptr > v9_CostQuantities) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x1::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, (*v8_CostValues)->generalize()); } if (v9_CostQuantities) {set_attribute_value(8, (*v9_CostQuantities)->generalize()); }; populate_derived(); } +Ifc4x1::IfcCostItem::IfcCostItem(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x1::IfcCostItemTypeEnum::Value > v7_PredefinedType, boost::optional< aggregate_of< ::Ifc4x1::IfcCostValue >::ptr > v8_CostValues, boost::optional< aggregate_of< ::Ifc4x1::IfcPhysicalQuantity >::ptr > v9_CostQuantities) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x1::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, (*v8_CostValues)->generalize()); } if (v9_CostQuantities) {set_attribute_value(8, (*v9_CostQuantities)->generalize()); }; populate_derived(); } // Function implementations for IfcCostSchedule -boost::optional< ::Ifc4x1::IfcCostScheduleTypeEnum::Value > Ifc4x1::IfcCostSchedule::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x1::IfcCostScheduleTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x1::IfcCostScheduleTypeEnum::Value > Ifc4x1::IfcCostSchedule::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x1::IfcCostScheduleTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x1::IfcCostSchedule::setPredefinedType(boost::optional< ::Ifc4x1::IfcCostScheduleTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x1::IfcCostScheduleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x1::IfcCostSchedule::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x1::IfcCostSchedule::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x1::IfcCostSchedule::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x1::IfcCostSchedule::SubmittedOn() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x1::IfcCostSchedule::SubmittedOn() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x1::IfcCostSchedule::setSubmittedOn(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x1::IfcCostSchedule::UpdateDate() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x1::IfcCostSchedule::UpdateDate() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x1::IfcCostSchedule::setUpdateDate(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x1::IfcCostSchedule::declaration() const { return *((IfcParse::entity*)IFC4X1_types[230]); } const IfcParse::entity& Ifc4x1::IfcCostSchedule::Class() { return *((IfcParse::entity*)IFC4X1_types[230]); } Ifc4x1::IfcCostSchedule::IfcCostSchedule(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x1::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x1::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_SubmittedOn, boost::optional< std::string > v10_UpdateDate) : IfcControl(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x1::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); }; populate_derived(); } +Ifc4x1::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x1::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_SubmittedOn, boost::optional< std::string > v10_UpdateDate) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x1::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); }; populate_derived(); } // Function implementations for IfcCostValue @@ -8655,10 +8655,10 @@ Ifc4x1::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc4x1::IfcO const IfcParse::entity& Ifc4x1::IfcCostValue::declaration() const { return *((IfcParse::entity*)IFC4X1_types[232]); } const IfcParse::entity& Ifc4x1::IfcCostValue::Class() { return *((IfcParse::entity*)IFC4X1_types[232]); } Ifc4x1::IfcCostValue::IfcCostValue(IfcEntityInstanceData&& e) : IfcAppliedValue(std::move(e)) { } -Ifc4x1::IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x1::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< ::Ifc4x1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v10_Components) : IfcAppliedValue(IfcEntityInstanceData(storage_t(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } +Ifc4x1::IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x1::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< ::Ifc4x1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v10_Components) : IfcAppliedValue(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } // Function implementations for IfcCovering -boost::optional< ::Ifc4x1::IfcCoveringTypeEnum::Value > Ifc4x1::IfcCovering::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcCoveringTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcCoveringTypeEnum::Value > Ifc4x1::IfcCovering::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcCoveringTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcCovering::setPredefinedType(boost::optional< ::Ifc4x1::IfcCoveringTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcCoveringTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x1::IfcRelCoversSpaces::list::ptr Ifc4x1::IfcCovering::CoversSpaces() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[848], 5)->as(); } @@ -8667,95 +8667,95 @@ void Ifc4x1::IfcCovering::setPredefinedType(boost::optional< ::Ifc4x1::IfcCoveri const IfcParse::entity& Ifc4x1::IfcCovering::declaration() const { return *((IfcParse::entity*)IFC4X1_types[234]); } const IfcParse::entity& Ifc4x1::IfcCovering::Class() { return *((IfcParse::entity*)IFC4X1_types[234]); } Ifc4x1::IfcCovering::IfcCovering(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x1::IfcCovering::IfcCovering(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcCoveringTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcCovering::IfcCovering(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcCoveringTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCoveringType -::Ifc4x1::IfcCoveringTypeEnum::Value Ifc4x1::IfcCoveringType::PredefinedType() const { return ::Ifc4x1::IfcCoveringTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcCoveringTypeEnum::Value Ifc4x1::IfcCoveringType::PredefinedType() const { return ::Ifc4x1::IfcCoveringTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcCoveringType::setPredefinedType(::Ifc4x1::IfcCoveringTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcCoveringTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcCoveringType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[235]); } const IfcParse::entity& Ifc4x1::IfcCoveringType::Class() { return *((IfcParse::entity*)IFC4X1_types[235]); } Ifc4x1::IfcCoveringType::IfcCoveringType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x1::IfcCoveringType::IfcCoveringType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCoveringTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcCoveringType::IfcCoveringType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCoveringTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCrewResource -boost::optional< ::Ifc4x1::IfcCrewResourceTypeEnum::Value > Ifc4x1::IfcCrewResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x1::IfcCrewResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x1::IfcCrewResourceTypeEnum::Value > Ifc4x1::IfcCrewResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x1::IfcCrewResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x1::IfcCrewResource::setPredefinedType(boost::optional< ::Ifc4x1::IfcCrewResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x1::IfcCrewResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x1::IfcCrewResource::declaration() const { return *((IfcParse::entity*)IFC4X1_types[237]); } const IfcParse::entity& Ifc4x1::IfcCrewResource::Class() { return *((IfcParse::entity*)IFC4X1_types[237]); } Ifc4x1::IfcCrewResource::IfcCrewResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x1::IfcCrewResource::IfcCrewResource(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x1::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcCrewResource::IfcCrewResource(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x1::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCrewResourceType -::Ifc4x1::IfcCrewResourceTypeEnum::Value Ifc4x1::IfcCrewResourceType::PredefinedType() const { return ::Ifc4x1::IfcCrewResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x1::IfcCrewResourceTypeEnum::Value Ifc4x1::IfcCrewResourceType::PredefinedType() const { return ::Ifc4x1::IfcCrewResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x1::IfcCrewResourceType::setPredefinedType(::Ifc4x1::IfcCrewResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x1::IfcCrewResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x1::IfcCrewResourceType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[238]); } const IfcParse::entity& Ifc4x1::IfcCrewResourceType::Class() { return *((IfcParse::entity*)IFC4X1_types[238]); } Ifc4x1::IfcCrewResourceType::IfcCrewResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x1::IfcCrewResourceType::IfcCrewResourceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x1::IfcCrewResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x1::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcCrewResourceType::IfcCrewResourceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x1::IfcCrewResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x1::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcCsgPrimitive3D -::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcAxis2Placement3D>(true); } +::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcAxis2Placement3D>(true); } void Ifc4x1::IfcCsgPrimitive3D::setPosition(::Ifc4x1::IfcAxis2Placement3D* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x1::IfcCsgPrimitive3D::declaration() const { return *((IfcParse::entity*)IFC4X1_types[240]); } const IfcParse::entity& Ifc4x1::IfcCsgPrimitive3D::Class() { return *((IfcParse::entity*)IFC4X1_types[240]); } Ifc4x1::IfcCsgPrimitive3D::IfcCsgPrimitive3D(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x1::IfcCsgPrimitive3D::IfcCsgPrimitive3D(::Ifc4x1::IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcCsgPrimitive3D::IfcCsgPrimitive3D(::Ifc4x1::IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCsgSolid -::Ifc4x1::IfcCsgSelect* Ifc4x1::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcCsgSelect>(true); } +::Ifc4x1::IfcCsgSelect* Ifc4x1::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcCsgSelect>(true); } void Ifc4x1::IfcCsgSolid::setTreeRootExpression(::Ifc4x1::IfcCsgSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x1::IfcCsgSolid::declaration() const { return *((IfcParse::entity*)IFC4X1_types[242]); } const IfcParse::entity& Ifc4x1::IfcCsgSolid::Class() { return *((IfcParse::entity*)IFC4X1_types[242]); } Ifc4x1::IfcCsgSolid::IfcCsgSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x1::IfcCsgSolid::IfcCsgSolid(::Ifc4x1::IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_TreeRootExpression ? v1_TreeRootExpression->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcCsgSolid::IfcCsgSolid(::Ifc4x1::IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_TreeRootExpression ? v1_TreeRootExpression->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCurrencyRelationship -::Ifc4x1::IfcMonetaryUnit* Ifc4x1::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcMonetaryUnit>(true); } +::Ifc4x1::IfcMonetaryUnit* Ifc4x1::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcMonetaryUnit>(true); } void Ifc4x1::IfcCurrencyRelationship::setRelatingMonetaryUnit(::Ifc4x1::IfcMonetaryUnit* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcMonetaryUnit* Ifc4x1::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcMonetaryUnit>(true); } +::Ifc4x1::IfcMonetaryUnit* Ifc4x1::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcMonetaryUnit>(true); } void Ifc4x1::IfcCurrencyRelationship::setRelatedMonetaryUnit(::Ifc4x1::IfcMonetaryUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -double Ifc4x1::IfcCurrencyRelationship::ExchangeRate() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x1::IfcCurrencyRelationship::ExchangeRate() const { double v = get_attribute_value(4); return v; } void Ifc4x1::IfcCurrencyRelationship::setExchangeRate(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< std::string > Ifc4x1::IfcCurrencyRelationship::RateDateTime() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x1::IfcCurrencyRelationship::RateDateTime() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcCurrencyRelationship::setRateDateTime(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x1::IfcLibraryInformation* Ifc4x1::IfcCurrencyRelationship::RateSource() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x1::IfcLibraryInformation>(true); } +::Ifc4x1::IfcLibraryInformation* Ifc4x1::IfcCurrencyRelationship::RateSource() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x1::IfcLibraryInformation>(true); } void Ifc4x1::IfcCurrencyRelationship::setRateSource(::Ifc4x1::IfcLibraryInformation* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x1::IfcCurrencyRelationship::declaration() const { return *((IfcParse::entity*)IFC4X1_types[244]); } const IfcParse::entity& Ifc4x1::IfcCurrencyRelationship::Class() { return *((IfcParse::entity*)IFC4X1_types[244]); } Ifc4x1::IfcCurrencyRelationship::IfcCurrencyRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x1::IfcCurrencyRelationship::IfcCurrencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcMonetaryUnit* v3_RelatingMonetaryUnit, ::Ifc4x1::IfcMonetaryUnit* v4_RelatedMonetaryUnit, double v5_ExchangeRate, boost::optional< std::string > v6_RateDateTime, ::Ifc4x1::IfcLibraryInformation* v7_RateSource) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMonetaryUnit ? v3_RelatingMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_RelatedMonetaryUnit ? v4_RelatedMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, v7_RateSource ? v7_RateSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcCurrencyRelationship::IfcCurrencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcMonetaryUnit* v3_RelatingMonetaryUnit, ::Ifc4x1::IfcMonetaryUnit* v4_RelatedMonetaryUnit, double v5_ExchangeRate, boost::optional< std::string > v6_RateDateTime, ::Ifc4x1::IfcLibraryInformation* v7_RateSource) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMonetaryUnit ? v3_RelatingMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_RelatedMonetaryUnit ? v4_RelatedMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, v7_RateSource ? v7_RateSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCurtainWall -boost::optional< ::Ifc4x1::IfcCurtainWallTypeEnum::Value > Ifc4x1::IfcCurtainWall::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcCurtainWallTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcCurtainWallTypeEnum::Value > Ifc4x1::IfcCurtainWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcCurtainWallTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcCurtainWall::setPredefinedType(boost::optional< ::Ifc4x1::IfcCurtainWallTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcCurtainWallTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcCurtainWall::declaration() const { return *((IfcParse::entity*)IFC4X1_types[245]); } const IfcParse::entity& Ifc4x1::IfcCurtainWall::Class() { return *((IfcParse::entity*)IFC4X1_types[245]); } Ifc4x1::IfcCurtainWall::IfcCurtainWall(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x1::IfcCurtainWall::IfcCurtainWall(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcCurtainWall::IfcCurtainWall(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCurtainWallType -::Ifc4x1::IfcCurtainWallTypeEnum::Value Ifc4x1::IfcCurtainWallType::PredefinedType() const { return ::Ifc4x1::IfcCurtainWallTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcCurtainWallTypeEnum::Value Ifc4x1::IfcCurtainWallType::PredefinedType() const { return ::Ifc4x1::IfcCurtainWallTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcCurtainWallType::setPredefinedType(::Ifc4x1::IfcCurtainWallTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcCurtainWallTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcCurtainWallType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[246]); } const IfcParse::entity& Ifc4x1::IfcCurtainWallType::Class() { return *((IfcParse::entity*)IFC4X1_types[246]); } Ifc4x1::IfcCurtainWallType::IfcCurtainWallType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x1::IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCurtainWallTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcCurtainWallTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCurve @@ -8763,263 +8763,263 @@ Ifc4x1::IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, ::Ifc4x1 const IfcParse::entity& Ifc4x1::IfcCurve::declaration() const { return *((IfcParse::entity*)IFC4X1_types[249]); } const IfcParse::entity& Ifc4x1::IfcCurve::Class() { return *((IfcParse::entity*)IFC4X1_types[249]); } Ifc4x1::IfcCurve::IfcCurve(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x1::IfcCurve::IfcCurve() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x1::IfcCurve::IfcCurve() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcCurveBoundedPlane -::Ifc4x1::IfcPlane* Ifc4x1::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcPlane>(true); } +::Ifc4x1::IfcPlane* Ifc4x1::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcPlane>(true); } void Ifc4x1::IfcCurveBoundedPlane::setBasisSurface(::Ifc4x1::IfcPlane* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcCurve* Ifc4x1::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcCurve>(true); } +::Ifc4x1::IfcCurve* Ifc4x1::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcCurveBoundedPlane::setOuterBoundary(::Ifc4x1::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x1::IfcCurve >::ptr Ifc4x1::IfcCurveBoundedPlane::InnerBoundaries() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x1::IfcCurve >(); } +aggregate_of< ::Ifc4x1::IfcCurve >::ptr Ifc4x1::IfcCurveBoundedPlane::InnerBoundaries() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x1::IfcCurve >(); } void Ifc4x1::IfcCurveBoundedPlane::setInnerBoundaries(aggregate_of< ::Ifc4x1::IfcCurve >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x1::IfcCurveBoundedPlane::declaration() const { return *((IfcParse::entity*)IFC4X1_types[250]); } const IfcParse::entity& Ifc4x1::IfcCurveBoundedPlane::Class() { return *((IfcParse::entity*)IFC4X1_types[250]); } Ifc4x1::IfcCurveBoundedPlane::IfcCurveBoundedPlane(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x1::IfcCurveBoundedPlane::IfcCurveBoundedPlane(::Ifc4x1::IfcPlane* v1_BasisSurface, ::Ifc4x1::IfcCurve* v2_OuterBoundary, aggregate_of< ::Ifc4x1::IfcCurve >::ptr v3_InnerBoundaries) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OuterBoundary ? v2_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_InnerBoundaries)->generalize());; populate_derived(); } +Ifc4x1::IfcCurveBoundedPlane::IfcCurveBoundedPlane(::Ifc4x1::IfcPlane* v1_BasisSurface, ::Ifc4x1::IfcCurve* v2_OuterBoundary, aggregate_of< ::Ifc4x1::IfcCurve >::ptr v3_InnerBoundaries) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OuterBoundary ? v2_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_InnerBoundaries)->generalize());; populate_derived(); } // Function implementations for IfcCurveBoundedSurface -::Ifc4x1::IfcSurface* Ifc4x1::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcSurface>(true); } +::Ifc4x1::IfcSurface* Ifc4x1::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcSurface>(true); } void Ifc4x1::IfcCurveBoundedSurface::setBasisSurface(::Ifc4x1::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x1::IfcBoundaryCurve >::ptr Ifc4x1::IfcCurveBoundedSurface::Boundaries() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x1::IfcBoundaryCurve >(); } +aggregate_of< ::Ifc4x1::IfcBoundaryCurve >::ptr Ifc4x1::IfcCurveBoundedSurface::Boundaries() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x1::IfcBoundaryCurve >(); } void Ifc4x1::IfcCurveBoundedSurface::setBoundaries(aggregate_of< ::Ifc4x1::IfcBoundaryCurve >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -bool Ifc4x1::IfcCurveBoundedSurface::ImplicitOuter() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x1::IfcCurveBoundedSurface::ImplicitOuter() const { bool v = get_attribute_value(2); return v; } void Ifc4x1::IfcCurveBoundedSurface::setImplicitOuter(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x1::IfcCurveBoundedSurface::declaration() const { return *((IfcParse::entity*)IFC4X1_types[251]); } const IfcParse::entity& Ifc4x1::IfcCurveBoundedSurface::Class() { return *((IfcParse::entity*)IFC4X1_types[251]); } Ifc4x1::IfcCurveBoundedSurface::IfcCurveBoundedSurface(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x1::IfcCurveBoundedSurface::IfcCurveBoundedSurface(::Ifc4x1::IfcSurface* v1_BasisSurface, aggregate_of< ::Ifc4x1::IfcBoundaryCurve >::ptr v2_Boundaries, bool v3_ImplicitOuter) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Boundaries)->generalize());set_attribute_value(2, (v3_ImplicitOuter));; populate_derived(); } +Ifc4x1::IfcCurveBoundedSurface::IfcCurveBoundedSurface(::Ifc4x1::IfcSurface* v1_BasisSurface, aggregate_of< ::Ifc4x1::IfcBoundaryCurve >::ptr v2_Boundaries, bool v3_ImplicitOuter) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Boundaries)->generalize());set_attribute_value(2, (v3_ImplicitOuter));; populate_derived(); } // Function implementations for IfcCurveSegment2D -::Ifc4x1::IfcCartesianPoint* Ifc4x1::IfcCurveSegment2D::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcCartesianPoint>(true); } +::Ifc4x1::IfcCartesianPoint* Ifc4x1::IfcCurveSegment2D::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcCartesianPoint>(true); } void Ifc4x1::IfcCurveSegment2D::setStartPoint(::Ifc4x1::IfcCartesianPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x1::IfcCurveSegment2D::StartDirection() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x1::IfcCurveSegment2D::StartDirection() const { double v = get_attribute_value(1); return v; } void Ifc4x1::IfcCurveSegment2D::setStartDirection(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x1::IfcCurveSegment2D::SegmentLength() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x1::IfcCurveSegment2D::SegmentLength() const { double v = get_attribute_value(2); return v; } void Ifc4x1::IfcCurveSegment2D::setSegmentLength(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x1::IfcCurveSegment2D::declaration() const { return *((IfcParse::entity*)IFC4X1_types[256]); } const IfcParse::entity& Ifc4x1::IfcCurveSegment2D::Class() { return *((IfcParse::entity*)IFC4X1_types[256]); } Ifc4x1::IfcCurveSegment2D::IfcCurveSegment2D(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x1::IfcCurveSegment2D::IfcCurveSegment2D(::Ifc4x1::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_StartPoint ? v1_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));; populate_derived(); } +Ifc4x1::IfcCurveSegment2D::IfcCurveSegment2D(::Ifc4x1::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_StartPoint ? v1_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));; populate_derived(); } // Function implementations for IfcCurveStyle -::Ifc4x1::IfcCurveFontOrScaledCurveFontSelect* Ifc4x1::IfcCurveStyle::CurveFont() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcCurveFontOrScaledCurveFontSelect>(true); } +::Ifc4x1::IfcCurveFontOrScaledCurveFontSelect* Ifc4x1::IfcCurveStyle::CurveFont() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcCurveFontOrScaledCurveFontSelect>(true); } void Ifc4x1::IfcCurveStyle::setCurveFont(::Ifc4x1::IfcCurveFontOrScaledCurveFontSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcSizeSelect* Ifc4x1::IfcCurveStyle::CurveWidth() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcSizeSelect>(true); } +::Ifc4x1::IfcSizeSelect* Ifc4x1::IfcCurveStyle::CurveWidth() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcSizeSelect>(true); } void Ifc4x1::IfcCurveStyle::setCurveWidth(::Ifc4x1::IfcSizeSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcColour* Ifc4x1::IfcCurveStyle::CurveColour() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcColour>(true); } +::Ifc4x1::IfcColour* Ifc4x1::IfcCurveStyle::CurveColour() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcColour>(true); } void Ifc4x1::IfcCurveStyle::setCurveColour(::Ifc4x1::IfcColour* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< bool > Ifc4x1::IfcCurveStyle::ModelOrDraughting() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } bool v = data_.get_attribute_value(4); return v; } +boost::optional< bool > Ifc4x1::IfcCurveStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return boost::none; } bool v = get_attribute_value(4); return v; } void Ifc4x1::IfcCurveStyle::setModelOrDraughting(boost::optional< bool > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x1::IfcCurveStyle::declaration() const { return *((IfcParse::entity*)IFC4X1_types[257]); } const IfcParse::entity& Ifc4x1::IfcCurveStyle::Class() { return *((IfcParse::entity*)IFC4X1_types[257]); } Ifc4x1::IfcCurveStyle::IfcCurveStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x1::IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcCurveFontOrScaledCurveFontSelect* v2_CurveFont, ::Ifc4x1::IfcSizeSelect* v3_CurveWidth, ::Ifc4x1::IfcColour* v4_CurveColour, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CurveWidth ? v3_CurveWidth->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_CurveColour ? v4_CurveColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } +Ifc4x1::IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcCurveFontOrScaledCurveFontSelect* v2_CurveFont, ::Ifc4x1::IfcSizeSelect* v3_CurveWidth, ::Ifc4x1::IfcColour* v4_CurveColour, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CurveWidth ? v3_CurveWidth->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_CurveColour ? v4_CurveColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } // Function implementations for IfcCurveStyleFont -boost::optional< std::string > Ifc4x1::IfcCurveStyleFont::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x1::IfcCurveStyleFont::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcCurveStyleFont::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -aggregate_of< ::Ifc4x1::IfcCurveStyleFontPattern >::ptr Ifc4x1::IfcCurveStyleFont::PatternList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x1::IfcCurveStyleFontPattern >(); } +aggregate_of< ::Ifc4x1::IfcCurveStyleFontPattern >::ptr Ifc4x1::IfcCurveStyleFont::PatternList() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x1::IfcCurveStyleFontPattern >(); } void Ifc4x1::IfcCurveStyleFont::setPatternList(aggregate_of< ::Ifc4x1::IfcCurveStyleFontPattern >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcCurveStyleFont::declaration() const { return *((IfcParse::entity*)IFC4X1_types[258]); } const IfcParse::entity& Ifc4x1::IfcCurveStyleFont::Class() { return *((IfcParse::entity*)IFC4X1_types[258]); } Ifc4x1::IfcCurveStyleFont::IfcCurveStyleFont(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x1::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x1::IfcCurveStyleFontPattern >::ptr v2_PatternList) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_PatternList)->generalize());; populate_derived(); } +Ifc4x1::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x1::IfcCurveStyleFontPattern >::ptr v2_PatternList) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_PatternList)->generalize());; populate_derived(); } // Function implementations for IfcCurveStyleFontAndScaling -boost::optional< std::string > Ifc4x1::IfcCurveStyleFontAndScaling::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x1::IfcCurveStyleFontAndScaling::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x1::IfcCurveStyleFontSelect* Ifc4x1::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcCurveStyleFontSelect>(true); } +::Ifc4x1::IfcCurveStyleFontSelect* Ifc4x1::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcCurveStyleFontSelect>(true); } void Ifc4x1::IfcCurveStyleFontAndScaling::setCurveFont(::Ifc4x1::IfcCurveStyleFontSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -double Ifc4x1::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x1::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = get_attribute_value(2); return v; } void Ifc4x1::IfcCurveStyleFontAndScaling::setCurveFontScaling(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x1::IfcCurveStyleFontAndScaling::declaration() const { return *((IfcParse::entity*)IFC4X1_types[259]); } const IfcParse::entity& Ifc4x1::IfcCurveStyleFontAndScaling::Class() { return *((IfcParse::entity*)IFC4X1_types[259]); } Ifc4x1::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x1::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcCurveStyleFontSelect* v2_CurveFont, double v3_CurveFontScaling) : IfcPresentationItem(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_CurveFontScaling));; populate_derived(); } +Ifc4x1::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcCurveStyleFontSelect* v2_CurveFont, double v3_CurveFontScaling) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_CurveFontScaling));; populate_derived(); } // Function implementations for IfcCurveStyleFontPattern -double Ifc4x1::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x1::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = get_attribute_value(0); return v; } void Ifc4x1::IfcCurveStyleFontPattern::setVisibleSegmentLength(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc4x1::IfcCurveStyleFontPattern::InvisibleSegmentLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x1::IfcCurveStyleFontPattern::InvisibleSegmentLength() const { double v = get_attribute_value(1); return v; } void Ifc4x1::IfcCurveStyleFontPattern::setInvisibleSegmentLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcCurveStyleFontPattern::declaration() const { return *((IfcParse::entity*)IFC4X1_types[260]); } const IfcParse::entity& Ifc4x1::IfcCurveStyleFontPattern::Class() { return *((IfcParse::entity*)IFC4X1_types[260]); } Ifc4x1::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x1::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; populate_derived(); } +Ifc4x1::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; populate_derived(); } // Function implementations for IfcCylindricalSurface -double Ifc4x1::IfcCylindricalSurface::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x1::IfcCylindricalSurface::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x1::IfcCylindricalSurface::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcCylindricalSurface::declaration() const { return *((IfcParse::entity*)IFC4X1_types[262]); } const IfcParse::entity& Ifc4x1::IfcCylindricalSurface::Class() { return *((IfcParse::entity*)IFC4X1_types[262]); } Ifc4x1::IfcCylindricalSurface::IfcCylindricalSurface(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x1::IfcCylindricalSurface::IfcCylindricalSurface(::Ifc4x1::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x1::IfcCylindricalSurface::IfcCylindricalSurface(::Ifc4x1::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcDamper -boost::optional< ::Ifc4x1::IfcDamperTypeEnum::Value > Ifc4x1::IfcDamper::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcDamperTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcDamperTypeEnum::Value > Ifc4x1::IfcDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcDamperTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcDamper::setPredefinedType(boost::optional< ::Ifc4x1::IfcDamperTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcDamperTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcDamper::declaration() const { return *((IfcParse::entity*)IFC4X1_types[263]); } const IfcParse::entity& Ifc4x1::IfcDamper::Class() { return *((IfcParse::entity*)IFC4X1_types[263]); } Ifc4x1::IfcDamper::IfcDamper(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x1::IfcDamper::IfcDamper(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcDamperTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcDamper::IfcDamper(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcDamperTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDamperType -::Ifc4x1::IfcDamperTypeEnum::Value Ifc4x1::IfcDamperType::PredefinedType() const { return ::Ifc4x1::IfcDamperTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcDamperTypeEnum::Value Ifc4x1::IfcDamperType::PredefinedType() const { return ::Ifc4x1::IfcDamperTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcDamperType::setPredefinedType(::Ifc4x1::IfcDamperTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcDamperTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcDamperType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[264]); } const IfcParse::entity& Ifc4x1::IfcDamperType::Class() { return *((IfcParse::entity*)IFC4X1_types[264]); } Ifc4x1::IfcDamperType::IfcDamperType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x1::IfcDamperType::IfcDamperType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDamperTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcDamperType::IfcDamperType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDamperTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDerivedProfileDef -::Ifc4x1::IfcProfileDef* Ifc4x1::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcProfileDef>(true); } +::Ifc4x1::IfcProfileDef* Ifc4x1::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcProfileDef>(true); } void Ifc4x1::IfcDerivedProfileDef::setParentProfile(::Ifc4x1::IfcProfileDef* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcCartesianTransformationOperator2D* Ifc4x1::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcCartesianTransformationOperator2D>(true); } +::Ifc4x1::IfcCartesianTransformationOperator2D* Ifc4x1::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcCartesianTransformationOperator2D>(true); } void Ifc4x1::IfcDerivedProfileDef::setOperator(::Ifc4x1::IfcCartesianTransformationOperator2D* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x1::IfcDerivedProfileDef::Label() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x1::IfcDerivedProfileDef::Label() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x1::IfcDerivedProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X1_types[273]); } const IfcParse::entity& Ifc4x1::IfcDerivedProfileDef::Class() { return *((IfcParse::entity*)IFC4X1_types[273]); } Ifc4x1::IfcDerivedProfileDef::IfcDerivedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x1::IfcDerivedProfileDef::IfcDerivedProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcProfileDef* v3_ParentProfile, ::Ifc4x1::IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< std::string > v5_Label) : IfcProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Operator ? v4_Operator->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } +Ifc4x1::IfcDerivedProfileDef::IfcDerivedProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcProfileDef* v3_ParentProfile, ::Ifc4x1::IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< std::string > v5_Label) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Operator ? v4_Operator->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } // Function implementations for IfcDerivedUnit -aggregate_of< ::Ifc4x1::IfcDerivedUnitElement >::ptr Ifc4x1::IfcDerivedUnit::Elements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x1::IfcDerivedUnitElement >(); } +aggregate_of< ::Ifc4x1::IfcDerivedUnitElement >::ptr Ifc4x1::IfcDerivedUnit::Elements() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x1::IfcDerivedUnitElement >(); } void Ifc4x1::IfcDerivedUnit::setElements(aggregate_of< ::Ifc4x1::IfcDerivedUnitElement >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcDerivedUnitEnum::Value Ifc4x1::IfcDerivedUnit::UnitType() const { return ::Ifc4x1::IfcDerivedUnitEnum::FromString(data_.get_attribute_value(1)); } +::Ifc4x1::IfcDerivedUnitEnum::Value Ifc4x1::IfcDerivedUnit::UnitType() const { return ::Ifc4x1::IfcDerivedUnitEnum::FromString(get_attribute_value(1)); } void Ifc4x1::IfcDerivedUnit::setUnitType(::Ifc4x1::IfcDerivedUnitEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x1::IfcDerivedUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x1::IfcDerivedUnit::UserDefinedType() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x1::IfcDerivedUnit::UserDefinedType() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcDerivedUnit::setUserDefinedType(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x1::IfcDerivedUnit::declaration() const { return *((IfcParse::entity*)IFC4X1_types[274]); } const IfcParse::entity& Ifc4x1::IfcDerivedUnit::Class() { return *((IfcParse::entity*)IFC4X1_types[274]); } Ifc4x1::IfcDerivedUnit::IfcDerivedUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcDerivedUnit::IfcDerivedUnit(aggregate_of< ::Ifc4x1::IfcDerivedUnitElement >::ptr v1_Elements, ::Ifc4x1::IfcDerivedUnitEnum::Value v2_UnitType, boost::optional< std::string > v3_UserDefinedType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Elements)->generalize());set_attribute_value(1, (EnumerationReference(&::Ifc4x1::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); }; populate_derived(); } +Ifc4x1::IfcDerivedUnit::IfcDerivedUnit(aggregate_of< ::Ifc4x1::IfcDerivedUnitElement >::ptr v1_Elements, ::Ifc4x1::IfcDerivedUnitEnum::Value v2_UnitType, boost::optional< std::string > v3_UserDefinedType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Elements)->generalize());set_attribute_value(1, (EnumerationReference(&::Ifc4x1::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); }; populate_derived(); } // Function implementations for IfcDerivedUnitElement -::Ifc4x1::IfcNamedUnit* Ifc4x1::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcNamedUnit>(true); } +::Ifc4x1::IfcNamedUnit* Ifc4x1::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcNamedUnit>(true); } void Ifc4x1::IfcDerivedUnitElement::setUnit(::Ifc4x1::IfcNamedUnit* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -int Ifc4x1::IfcDerivedUnitElement::Exponent() const { int v = data_.get_attribute_value(1); return v; } +int Ifc4x1::IfcDerivedUnitElement::Exponent() const { int v = get_attribute_value(1); return v; } void Ifc4x1::IfcDerivedUnitElement::setExponent(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcDerivedUnitElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[275]); } const IfcParse::entity& Ifc4x1::IfcDerivedUnitElement::Class() { return *((IfcParse::entity*)IFC4X1_types[275]); } Ifc4x1::IfcDerivedUnitElement::IfcDerivedUnitElement(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcDerivedUnitElement::IfcDerivedUnitElement(::Ifc4x1::IfcNamedUnit* v1_Unit, int v2_Exponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Unit ? v1_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Exponent));; populate_derived(); } +Ifc4x1::IfcDerivedUnitElement::IfcDerivedUnitElement(::Ifc4x1::IfcNamedUnit* v1_Unit, int v2_Exponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Unit ? v1_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Exponent));; populate_derived(); } // Function implementations for IfcDimensionalExponents -int Ifc4x1::IfcDimensionalExponents::LengthExponent() const { int v = data_.get_attribute_value(0); return v; } +int Ifc4x1::IfcDimensionalExponents::LengthExponent() const { int v = get_attribute_value(0); return v; } void Ifc4x1::IfcDimensionalExponents::setLengthExponent(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -int Ifc4x1::IfcDimensionalExponents::MassExponent() const { int v = data_.get_attribute_value(1); return v; } +int Ifc4x1::IfcDimensionalExponents::MassExponent() const { int v = get_attribute_value(1); return v; } void Ifc4x1::IfcDimensionalExponents::setMassExponent(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -int Ifc4x1::IfcDimensionalExponents::TimeExponent() const { int v = data_.get_attribute_value(2); return v; } +int Ifc4x1::IfcDimensionalExponents::TimeExponent() const { int v = get_attribute_value(2); return v; } void Ifc4x1::IfcDimensionalExponents::setTimeExponent(int v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -int Ifc4x1::IfcDimensionalExponents::ElectricCurrentExponent() const { int v = data_.get_attribute_value(3); return v; } +int Ifc4x1::IfcDimensionalExponents::ElectricCurrentExponent() const { int v = get_attribute_value(3); return v; } void Ifc4x1::IfcDimensionalExponents::setElectricCurrentExponent(int v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -int Ifc4x1::IfcDimensionalExponents::ThermodynamicTemperatureExponent() const { int v = data_.get_attribute_value(4); return v; } +int Ifc4x1::IfcDimensionalExponents::ThermodynamicTemperatureExponent() const { int v = get_attribute_value(4); return v; } void Ifc4x1::IfcDimensionalExponents::setThermodynamicTemperatureExponent(int v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -int Ifc4x1::IfcDimensionalExponents::AmountOfSubstanceExponent() const { int v = data_.get_attribute_value(5); return v; } +int Ifc4x1::IfcDimensionalExponents::AmountOfSubstanceExponent() const { int v = get_attribute_value(5); return v; } void Ifc4x1::IfcDimensionalExponents::setAmountOfSubstanceExponent(int v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -int Ifc4x1::IfcDimensionalExponents::LuminousIntensityExponent() const { int v = data_.get_attribute_value(6); return v; } +int Ifc4x1::IfcDimensionalExponents::LuminousIntensityExponent() const { int v = get_attribute_value(6); return v; } void Ifc4x1::IfcDimensionalExponents::setLuminousIntensityExponent(int v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x1::IfcDimensionalExponents::declaration() const { return *((IfcParse::entity*)IFC4X1_types[278]); } const IfcParse::entity& Ifc4x1::IfcDimensionalExponents::Class() { return *((IfcParse::entity*)IFC4X1_types[278]); } Ifc4x1::IfcDimensionalExponents::IfcDimensionalExponents(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::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(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; populate_derived(); } +Ifc4x1::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(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; populate_derived(); } // Function implementations for IfcDirection -std::vector< double > /*[2:3]*/ Ifc4x1::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[2:3]*/ Ifc4x1::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(0); return v; } void Ifc4x1::IfcDirection::setDirectionRatios(std::vector< double > /*[2:3]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x1::IfcDirection::declaration() const { return *((IfcParse::entity*)IFC4X1_types[280]); } const IfcParse::entity& Ifc4x1::IfcDirection::Class() { return *((IfcParse::entity*)IFC4X1_types[280]); } Ifc4x1::IfcDirection::IfcDirection(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x1::IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionRatios) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_DirectionRatios));; populate_derived(); } +Ifc4x1::IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionRatios) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_DirectionRatios));; populate_derived(); } // Function implementations for IfcDiscreteAccessory -boost::optional< ::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x1::IfcDiscreteAccessory::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcDiscreteAccessoryTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x1::IfcDiscreteAccessory::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcDiscreteAccessory::setPredefinedType(boost::optional< ::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcDiscreteAccessory::declaration() const { return *((IfcParse::entity*)IFC4X1_types[282]); } const IfcParse::entity& Ifc4x1::IfcDiscreteAccessory::Class() { return *((IfcParse::entity*)IFC4X1_types[282]); } Ifc4x1::IfcDiscreteAccessory::IfcDiscreteAccessory(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x1::IfcDiscreteAccessory::IfcDiscreteAccessory(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcDiscreteAccessory::IfcDiscreteAccessory(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDiscreteAccessoryType -::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Value Ifc4x1::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4x1::IfcDiscreteAccessoryTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Value Ifc4x1::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4x1::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcDiscreteAccessoryType::setPredefinedType(::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcDiscreteAccessoryType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[283]); } const IfcParse::entity& Ifc4x1::IfcDiscreteAccessoryType::Class() { return *((IfcParse::entity*)IFC4X1_types[283]); } Ifc4x1::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x1::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDistanceExpression -double Ifc4x1::IfcDistanceExpression::DistanceAlong() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x1::IfcDistanceExpression::DistanceAlong() const { double v = get_attribute_value(0); return v; } void Ifc4x1::IfcDistanceExpression::setDistanceAlong(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< double > Ifc4x1::IfcDistanceExpression::OffsetLateral() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x1::IfcDistanceExpression::OffsetLateral() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x1::IfcDistanceExpression::setOffsetLateral(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x1::IfcDistanceExpression::OffsetVertical() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x1::IfcDistanceExpression::OffsetVertical() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x1::IfcDistanceExpression::setOffsetVertical(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x1::IfcDistanceExpression::OffsetLongitudinal() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x1::IfcDistanceExpression::OffsetLongitudinal() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x1::IfcDistanceExpression::setOffsetLongitudinal(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< bool > Ifc4x1::IfcDistanceExpression::AlongHorizontal() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } bool v = data_.get_attribute_value(4); return v; } +boost::optional< bool > Ifc4x1::IfcDistanceExpression::AlongHorizontal() const { if(get_attribute_value(4).isNull()) { return boost::none; } bool v = get_attribute_value(4); return v; } void Ifc4x1::IfcDistanceExpression::setAlongHorizontal(boost::optional< bool > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x1::IfcDistanceExpression::declaration() const { return *((IfcParse::entity*)IFC4X1_types[285]); } const IfcParse::entity& Ifc4x1::IfcDistanceExpression::Class() { return *((IfcParse::entity*)IFC4X1_types[285]); } Ifc4x1::IfcDistanceExpression::IfcDistanceExpression(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x1::IfcDistanceExpression::IfcDistanceExpression(double v1_DistanceAlong, boost::optional< double > v2_OffsetLateral, boost::optional< double > v3_OffsetVertical, boost::optional< double > v4_OffsetLongitudinal, boost::optional< bool > v5_AlongHorizontal) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_DistanceAlong)); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); } if (v5_AlongHorizontal) {set_attribute_value(4, (*v5_AlongHorizontal)); }; populate_derived(); } +Ifc4x1::IfcDistanceExpression::IfcDistanceExpression(double v1_DistanceAlong, boost::optional< double > v2_OffsetLateral, boost::optional< double > v3_OffsetVertical, boost::optional< double > v4_OffsetLongitudinal, boost::optional< bool > v5_AlongHorizontal) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_DistanceAlong)); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); } if (v5_AlongHorizontal) {set_attribute_value(4, (*v5_AlongHorizontal)); }; populate_derived(); } // Function implementations for IfcDistributionChamberElement -boost::optional< ::Ifc4x1::IfcDistributionChamberElementTypeEnum::Value > Ifc4x1::IfcDistributionChamberElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcDistributionChamberElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcDistributionChamberElementTypeEnum::Value > Ifc4x1::IfcDistributionChamberElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcDistributionChamberElement::setPredefinedType(boost::optional< ::Ifc4x1::IfcDistributionChamberElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcDistributionChamberElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcDistributionChamberElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[286]); } const IfcParse::entity& Ifc4x1::IfcDistributionChamberElement::Class() { return *((IfcParse::entity*)IFC4X1_types[286]); } Ifc4x1::IfcDistributionChamberElement::IfcDistributionChamberElement(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x1::IfcDistributionChamberElement::IfcDistributionChamberElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcDistributionChamberElement::IfcDistributionChamberElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDistributionChamberElementType -::Ifc4x1::IfcDistributionChamberElementTypeEnum::Value Ifc4x1::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4x1::IfcDistributionChamberElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcDistributionChamberElementTypeEnum::Value Ifc4x1::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4x1::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcDistributionChamberElementType::setPredefinedType(::Ifc4x1::IfcDistributionChamberElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcDistributionChamberElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcDistributionChamberElementType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[287]); } const IfcParse::entity& Ifc4x1::IfcDistributionChamberElementType::Class() { return *((IfcParse::entity*)IFC4X1_types[287]); } Ifc4x1::IfcDistributionChamberElementType::IfcDistributionChamberElementType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x1::IfcDistributionChamberElementType::IfcDistributionChamberElementType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcDistributionChamberElementType::IfcDistributionChamberElementType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDistributionCircuit @@ -9027,7 +9027,7 @@ Ifc4x1::IfcDistributionChamberElementType::IfcDistributionChamberElementType(std const IfcParse::entity& Ifc4x1::IfcDistributionCircuit::declaration() const { return *((IfcParse::entity*)IFC4X1_types[289]); } const IfcParse::entity& Ifc4x1::IfcDistributionCircuit::Class() { return *((IfcParse::entity*)IFC4X1_types[289]); } Ifc4x1::IfcDistributionCircuit::IfcDistributionCircuit(IfcEntityInstanceData&& e) : IfcDistributionSystem(std::move(e)) { } -Ifc4x1::IfcDistributionCircuit::IfcDistributionCircuit(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< ::Ifc4x1::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcDistributionSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x1::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcDistributionCircuit::IfcDistributionCircuit(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< ::Ifc4x1::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcDistributionSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x1::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDistributionControlElement @@ -9036,7 +9036,7 @@ Ifc4x1::IfcDistributionCircuit::IfcDistributionCircuit(std::string v1_GlobalId, const IfcParse::entity& Ifc4x1::IfcDistributionControlElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[290]); } const IfcParse::entity& Ifc4x1::IfcDistributionControlElement::Class() { return *((IfcParse::entity*)IFC4X1_types[290]); } Ifc4x1::IfcDistributionControlElement::IfcDistributionControlElement(IfcEntityInstanceData&& e) : IfcDistributionElement(std::move(e)) { } -Ifc4x1::IfcDistributionControlElement::IfcDistributionControlElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x1::IfcDistributionControlElement::IfcDistributionControlElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionControlElementType @@ -9044,7 +9044,7 @@ Ifc4x1::IfcDistributionControlElement::IfcDistributionControlElement(std::string const IfcParse::entity& Ifc4x1::IfcDistributionControlElementType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[291]); } const IfcParse::entity& Ifc4x1::IfcDistributionControlElementType::Class() { return *((IfcParse::entity*)IFC4X1_types[291]); } Ifc4x1::IfcDistributionControlElementType::IfcDistributionControlElementType(IfcEntityInstanceData&& e) : IfcDistributionElementType(std::move(e)) { } -Ifc4x1::IfcDistributionControlElementType::IfcDistributionControlElementType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x1::IfcDistributionControlElementType::IfcDistributionControlElementType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionElement @@ -9053,7 +9053,7 @@ Ifc4x1::IfcDistributionControlElementType::IfcDistributionControlElementType(std const IfcParse::entity& Ifc4x1::IfcDistributionElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[292]); } const IfcParse::entity& Ifc4x1::IfcDistributionElement::Class() { return *((IfcParse::entity*)IFC4X1_types[292]); } Ifc4x1::IfcDistributionElement::IfcDistributionElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x1::IfcDistributionElement::IfcDistributionElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x1::IfcDistributionElement::IfcDistributionElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionElementType @@ -9061,7 +9061,7 @@ Ifc4x1::IfcDistributionElement::IfcDistributionElement(std::string v1_GlobalId, const IfcParse::entity& Ifc4x1::IfcDistributionElementType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[293]); } const IfcParse::entity& Ifc4x1::IfcDistributionElementType::Class() { return *((IfcParse::entity*)IFC4X1_types[293]); } Ifc4x1::IfcDistributionElementType::IfcDistributionElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x1::IfcDistributionElementType::IfcDistributionElementType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x1::IfcDistributionElementType::IfcDistributionElementType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionFlowElement @@ -9070,7 +9070,7 @@ Ifc4x1::IfcDistributionElementType::IfcDistributionElementType(std::string v1_Gl const IfcParse::entity& Ifc4x1::IfcDistributionFlowElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[294]); } const IfcParse::entity& Ifc4x1::IfcDistributionFlowElement::Class() { return *((IfcParse::entity*)IFC4X1_types[294]); } Ifc4x1::IfcDistributionFlowElement::IfcDistributionFlowElement(IfcEntityInstanceData&& e) : IfcDistributionElement(std::move(e)) { } -Ifc4x1::IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x1::IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionFlowElementType @@ -9078,68 +9078,68 @@ Ifc4x1::IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v1_Gl const IfcParse::entity& Ifc4x1::IfcDistributionFlowElementType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[295]); } const IfcParse::entity& Ifc4x1::IfcDistributionFlowElementType::Class() { return *((IfcParse::entity*)IFC4X1_types[295]); } Ifc4x1::IfcDistributionFlowElementType::IfcDistributionFlowElementType(IfcEntityInstanceData&& e) : IfcDistributionElementType(std::move(e)) { } -Ifc4x1::IfcDistributionFlowElementType::IfcDistributionFlowElementType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x1::IfcDistributionFlowElementType::IfcDistributionFlowElementType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionPort -boost::optional< ::Ifc4x1::IfcFlowDirectionEnum::Value > Ifc4x1::IfcDistributionPort::FlowDirection() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x1::IfcFlowDirectionEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x1::IfcFlowDirectionEnum::Value > Ifc4x1::IfcDistributionPort::FlowDirection() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x1::IfcFlowDirectionEnum::FromString(get_attribute_value(7)); } void Ifc4x1::IfcDistributionPort::setFlowDirection(boost::optional< ::Ifc4x1::IfcFlowDirectionEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x1::IfcFlowDirectionEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x1::IfcDistributionPortTypeEnum::Value > Ifc4x1::IfcDistributionPort::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcDistributionPortTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcDistributionPortTypeEnum::Value > Ifc4x1::IfcDistributionPort::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcDistributionPortTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcDistributionPort::setPredefinedType(boost::optional< ::Ifc4x1::IfcDistributionPortTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcDistributionPortTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< ::Ifc4x1::IfcDistributionSystemEnum::Value > Ifc4x1::IfcDistributionPort::SystemType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x1::IfcDistributionSystemEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x1::IfcDistributionSystemEnum::Value > Ifc4x1::IfcDistributionPort::SystemType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x1::IfcDistributionSystemEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcDistributionPort::setSystemType(boost::optional< ::Ifc4x1::IfcDistributionSystemEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcDistributionSystemEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x1::IfcDistributionPort::declaration() const { return *((IfcParse::entity*)IFC4X1_types[296]); } const IfcParse::entity& Ifc4x1::IfcDistributionPort::Class() { return *((IfcParse::entity*)IFC4X1_types[296]); } Ifc4x1::IfcDistributionPort::IfcDistributionPort(IfcEntityInstanceData&& e) : IfcPort(std::move(e)) { } -Ifc4x1::IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x1::IfcFlowDirectionEnum::Value > v8_FlowDirection, boost::optional< ::Ifc4x1::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x1::IfcDistributionSystemEnum::Value > v10_SystemType) : IfcPort(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_FlowDirection) {set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); }; populate_derived(); } +Ifc4x1::IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x1::IfcFlowDirectionEnum::Value > v8_FlowDirection, boost::optional< ::Ifc4x1::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x1::IfcDistributionSystemEnum::Value > v10_SystemType) : IfcPort(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_FlowDirection) {set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); }; populate_derived(); } // Function implementations for IfcDistributionSystem -boost::optional< std::string > Ifc4x1::IfcDistributionSystem::LongName() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x1::IfcDistributionSystem::LongName() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcDistributionSystem::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< ::Ifc4x1::IfcDistributionSystemEnum::Value > Ifc4x1::IfcDistributionSystem::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x1::IfcDistributionSystemEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x1::IfcDistributionSystemEnum::Value > Ifc4x1::IfcDistributionSystem::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x1::IfcDistributionSystemEnum::FromString(get_attribute_value(6)); } void Ifc4x1::IfcDistributionSystem::setPredefinedType(boost::optional< ::Ifc4x1::IfcDistributionSystemEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x1::IfcDistributionSystemEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x1::IfcDistributionSystem::declaration() const { return *((IfcParse::entity*)IFC4X1_types[298]); } const IfcParse::entity& Ifc4x1::IfcDistributionSystem::Class() { return *((IfcParse::entity*)IFC4X1_types[298]); } Ifc4x1::IfcDistributionSystem::IfcDistributionSystem(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x1::IfcDistributionSystem::IfcDistributionSystem(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< ::Ifc4x1::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x1::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcDistributionSystem::IfcDistributionSystem(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< ::Ifc4x1::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x1::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDocumentInformation -std::string Ifc4x1::IfcDocumentInformation::Identification() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x1::IfcDocumentInformation::Identification() const { std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcDocumentInformation::setIdentification(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x1::IfcDocumentInformation::Name() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x1::IfcDocumentInformation::Name() const { std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcDocumentInformation::setName(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x1::IfcDocumentInformation::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x1::IfcDocumentInformation::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcDocumentInformation::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x1::IfcDocumentInformation::Location() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x1::IfcDocumentInformation::Location() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x1::IfcDocumentInformation::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x1::IfcDocumentInformation::Purpose() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x1::IfcDocumentInformation::Purpose() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcDocumentInformation::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x1::IfcDocumentInformation::IntendedUse() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x1::IfcDocumentInformation::IntendedUse() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcDocumentInformation::setIntendedUse(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x1::IfcDocumentInformation::Scope() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x1::IfcDocumentInformation::Scope() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x1::IfcDocumentInformation::setScope(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x1::IfcDocumentInformation::Revision() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x1::IfcDocumentInformation::Revision() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x1::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x1::IfcActorSelect* Ifc4x1::IfcDocumentInformation::DocumentOwner() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x1::IfcActorSelect>(true); } +::Ifc4x1::IfcActorSelect* Ifc4x1::IfcDocumentInformation::DocumentOwner() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x1::IfcActorSelect>(true); } void Ifc4x1::IfcDocumentInformation::setDocumentOwner(::Ifc4x1::IfcActorSelect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -boost::optional< aggregate_of< ::Ifc4x1::IfcActorSelect >::ptr > Ifc4x1::IfcDocumentInformation::Editors() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x1::IfcActorSelect >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcActorSelect >::ptr > Ifc4x1::IfcDocumentInformation::Editors() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x1::IfcActorSelect >(); } void Ifc4x1::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x1::IfcActorSelect >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x1::IfcDocumentInformation::CreationTime() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x1::IfcDocumentInformation::CreationTime() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x1::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< std::string > Ifc4x1::IfcDocumentInformation::LastRevisionTime() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x1::IfcDocumentInformation::LastRevisionTime() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x1::IfcDocumentInformation::setLastRevisionTime(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x1::IfcDocumentInformation::ElectronicFormat() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x1::IfcDocumentInformation::ElectronicFormat() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x1::IfcDocumentInformation::setElectronicFormat(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< std::string > Ifc4x1::IfcDocumentInformation::ValidFrom() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(13); return v; } +boost::optional< std::string > Ifc4x1::IfcDocumentInformation::ValidFrom() const { if(get_attribute_value(13).isNull()) { return boost::none; } std::string v = get_attribute_value(13); return v; } void Ifc4x1::IfcDocumentInformation::setValidFrom(boost::optional< std::string > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x1::IfcDocumentInformation::ValidUntil() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x1::IfcDocumentInformation::ValidUntil() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x1::IfcDocumentInformation::setValidUntil(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< ::Ifc4x1::IfcDocumentConfidentialityEnum::Value > Ifc4x1::IfcDocumentInformation::Confidentiality() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } return ::Ifc4x1::IfcDocumentConfidentialityEnum::FromString(data_.get_attribute_value(15)); } +boost::optional< ::Ifc4x1::IfcDocumentConfidentialityEnum::Value > Ifc4x1::IfcDocumentInformation::Confidentiality() const { if(get_attribute_value(15).isNull()) { return boost::none; } return ::Ifc4x1::IfcDocumentConfidentialityEnum::FromString(get_attribute_value(15)); } void Ifc4x1::IfcDocumentInformation::setConfidentiality(boost::optional< ::Ifc4x1::IfcDocumentConfidentialityEnum::Value > v) { if (v) {set_attribute_value(15, EnumerationReference(&::Ifc4x1::IfcDocumentConfidentialityEnum::Class(), (size_t) *v));} else {unset_attribute_value(15);} } -boost::optional< ::Ifc4x1::IfcDocumentStatusEnum::Value > Ifc4x1::IfcDocumentInformation::Status() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } return ::Ifc4x1::IfcDocumentStatusEnum::FromString(data_.get_attribute_value(16)); } +boost::optional< ::Ifc4x1::IfcDocumentStatusEnum::Value > Ifc4x1::IfcDocumentInformation::Status() const { if(get_attribute_value(16).isNull()) { return boost::none; } return ::Ifc4x1::IfcDocumentStatusEnum::FromString(get_attribute_value(16)); } void Ifc4x1::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x1::IfcDocumentStatusEnum::Value > v) { if (v) {set_attribute_value(16, EnumerationReference(&::Ifc4x1::IfcDocumentStatusEnum::Class(), (size_t) *v));} else {unset_attribute_value(16);} } ::Ifc4x1::IfcRelAssociatesDocument::list::ptr Ifc4x1::IfcDocumentInformation::DocumentInfoForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[833], 5)->as(); } @@ -9150,26 +9150,26 @@ void Ifc4x1::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x1::IfcDoc const IfcParse::entity& Ifc4x1::IfcDocumentInformation::declaration() const { return *((IfcParse::entity*)IFC4X1_types[301]); } const IfcParse::entity& Ifc4x1::IfcDocumentInformation::Class() { return *((IfcParse::entity*)IFC4X1_types[301]); } Ifc4x1::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData&& e) : IfcExternalInformation(std::move(e)) { } -Ifc4x1::IfcDocumentInformation::IfcDocumentInformation(std::string v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_Location, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, ::Ifc4x1::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x1::IfcActorSelect >::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< ::Ifc4x1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x1::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation(IfcEntityInstanceData(storage_t(17))) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, v9_DocumentOwner ? v9_DocumentOwner->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v10_Editors) {set_attribute_value(9, (*v10_Editors)->generalize()); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (EnumerationReference(&::Ifc4x1::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (EnumerationReference(&::Ifc4x1::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; populate_derived(); } +Ifc4x1::IfcDocumentInformation::IfcDocumentInformation(std::string v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_Location, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, ::Ifc4x1::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x1::IfcActorSelect >::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< ::Ifc4x1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x1::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation(IfcEntityInstanceData(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, v9_DocumentOwner ? v9_DocumentOwner->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v10_Editors) {set_attribute_value(9, (*v10_Editors)->generalize()); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (EnumerationReference(&::Ifc4x1::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (EnumerationReference(&::Ifc4x1::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; populate_derived(); } // Function implementations for IfcDocumentInformationRelationship -::Ifc4x1::IfcDocumentInformation* Ifc4x1::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcDocumentInformation>(true); } +::Ifc4x1::IfcDocumentInformation* Ifc4x1::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcDocumentInformation>(true); } void Ifc4x1::IfcDocumentInformationRelationship::setRelatingDocument(::Ifc4x1::IfcDocumentInformation* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x1::IfcDocumentInformation >::ptr Ifc4x1::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x1::IfcDocumentInformation >(); } +aggregate_of< ::Ifc4x1::IfcDocumentInformation >::ptr Ifc4x1::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x1::IfcDocumentInformation >(); } void Ifc4x1::IfcDocumentInformationRelationship::setRelatedDocuments(aggregate_of< ::Ifc4x1::IfcDocumentInformation >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x1::IfcDocumentInformationRelationship::RelationshipType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x1::IfcDocumentInformationRelationship::RelationshipType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcDocumentInformationRelationship::setRelationshipType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x1::IfcDocumentInformationRelationship::declaration() const { return *((IfcParse::entity*)IFC4X1_types[302]); } const IfcParse::entity& Ifc4x1::IfcDocumentInformationRelationship::Class() { return *((IfcParse::entity*)IFC4X1_types[302]); } Ifc4x1::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x1::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcDocumentInformation* v3_RelatingDocument, aggregate_of< ::Ifc4x1::IfcDocumentInformation >::ptr v4_RelatedDocuments, boost::optional< std::string > v5_RelationshipType) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingDocument ? v3_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedDocuments)->generalize()); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); }; populate_derived(); } +Ifc4x1::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcDocumentInformation* v3_RelatingDocument, aggregate_of< ::Ifc4x1::IfcDocumentInformation >::ptr v4_RelatedDocuments, boost::optional< std::string > v5_RelationshipType) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingDocument ? v3_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedDocuments)->generalize()); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); }; populate_derived(); } // Function implementations for IfcDocumentReference -boost::optional< std::string > Ifc4x1::IfcDocumentReference::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x1::IfcDocumentReference::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x1::IfcDocumentReference::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x1::IfcDocumentInformation* Ifc4x1::IfcDocumentReference::ReferencedDocument() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x1::IfcDocumentInformation>(true); } +::Ifc4x1::IfcDocumentInformation* Ifc4x1::IfcDocumentReference::ReferencedDocument() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x1::IfcDocumentInformation>(true); } void Ifc4x1::IfcDocumentReference::setReferencedDocument(::Ifc4x1::IfcDocumentInformation* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } ::Ifc4x1::IfcRelAssociatesDocument::list::ptr Ifc4x1::IfcDocumentReference::DocumentRefForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[833], 5)->as(); } @@ -9177,77 +9177,77 @@ void Ifc4x1::IfcDocumentReference::setReferencedDocument(::Ifc4x1::IfcDocumentIn const IfcParse::entity& Ifc4x1::IfcDocumentReference::declaration() const { return *((IfcParse::entity*)IFC4X1_types[303]); } const IfcParse::entity& Ifc4x1::IfcDocumentReference::Class() { return *((IfcParse::entity*)IFC4X1_types[303]); } Ifc4x1::IfcDocumentReference::IfcDocumentReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x1::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, ::Ifc4x1::IfcDocumentInformation* v5_ReferencedDocument) : IfcExternalReference(IfcEntityInstanceData(storage_t(5))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ReferencedDocument ? v5_ReferencedDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::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, ::Ifc4x1::IfcDocumentInformation* v5_ReferencedDocument) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ReferencedDocument ? v5_ReferencedDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDoor -boost::optional< double > Ifc4x1::IfcDoor::OverallHeight() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x1::IfcDoor::OverallHeight() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x1::IfcDoor::setOverallHeight(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x1::IfcDoor::OverallWidth() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x1::IfcDoor::OverallWidth() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x1::IfcDoor::setOverallWidth(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x1::IfcDoorTypeEnum::Value > Ifc4x1::IfcDoor::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x1::IfcDoorTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x1::IfcDoorTypeEnum::Value > Ifc4x1::IfcDoor::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x1::IfcDoorTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x1::IfcDoor::setPredefinedType(boost::optional< ::Ifc4x1::IfcDoorTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x1::IfcDoorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -boost::optional< ::Ifc4x1::IfcDoorTypeOperationEnum::Value > Ifc4x1::IfcDoor::OperationType() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x1::IfcDoorTypeOperationEnum::FromString(data_.get_attribute_value(11)); } +boost::optional< ::Ifc4x1::IfcDoorTypeOperationEnum::Value > Ifc4x1::IfcDoor::OperationType() const { if(get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x1::IfcDoorTypeOperationEnum::FromString(get_attribute_value(11)); } void Ifc4x1::IfcDoor::setOperationType(boost::optional< ::Ifc4x1::IfcDoorTypeOperationEnum::Value > v) { if (v) {set_attribute_value(11, EnumerationReference(&::Ifc4x1::IfcDoorTypeOperationEnum::Class(), (size_t) *v));} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x1::IfcDoor::UserDefinedOperationType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x1::IfcDoor::UserDefinedOperationType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x1::IfcDoor::setUserDefinedOperationType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x1::IfcDoor::declaration() const { return *((IfcParse::entity*)IFC4X1_types[306]); } const IfcParse::entity& Ifc4x1::IfcDoor::Class() { return *((IfcParse::entity*)IFC4X1_types[306]); } Ifc4x1::IfcDoor::IfcDoor(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x1::IfcDoor::IfcDoor(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x1::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x1::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x1::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } +Ifc4x1::IfcDoor::IfcDoor(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x1::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x1::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x1::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } // Function implementations for IfcDoorLiningProperties -boost::optional< double > Ifc4x1::IfcDoorLiningProperties::LiningDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x1::IfcDoorLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x1::IfcDoorLiningProperties::setLiningDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x1::IfcDoorLiningProperties::LiningThickness() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x1::IfcDoorLiningProperties::LiningThickness() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x1::IfcDoorLiningProperties::setLiningThickness(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x1::IfcDoorLiningProperties::ThresholdDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x1::IfcDoorLiningProperties::ThresholdDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x1::IfcDoorLiningProperties::setThresholdDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x1::IfcDoorLiningProperties::ThresholdThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x1::IfcDoorLiningProperties::ThresholdThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x1::IfcDoorLiningProperties::setThresholdThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x1::IfcDoorLiningProperties::TransomThickness() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x1::IfcDoorLiningProperties::TransomThickness() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x1::IfcDoorLiningProperties::setTransomThickness(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x1::IfcDoorLiningProperties::TransomOffset() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x1::IfcDoorLiningProperties::TransomOffset() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x1::IfcDoorLiningProperties::setTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x1::IfcDoorLiningProperties::LiningOffset() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x1::IfcDoorLiningProperties::LiningOffset() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x1::IfcDoorLiningProperties::setLiningOffset(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x1::IfcDoorLiningProperties::ThresholdOffset() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x1::IfcDoorLiningProperties::ThresholdOffset() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x1::IfcDoorLiningProperties::setThresholdOffset(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x1::IfcDoorLiningProperties::CasingThickness() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x1::IfcDoorLiningProperties::CasingThickness() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x1::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x1::IfcDoorLiningProperties::CasingDepth() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x1::IfcDoorLiningProperties::CasingDepth() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x1::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -::Ifc4x1::IfcShapeAspect* Ifc4x1::IfcDoorLiningProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(14).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(14)))->as<::Ifc4x1::IfcShapeAspect>(true); } +::Ifc4x1::IfcShapeAspect* Ifc4x1::IfcDoorLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(14).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(14)))->as<::Ifc4x1::IfcShapeAspect>(true); } void Ifc4x1::IfcDoorLiningProperties::setShapeAspectStyle(::Ifc4x1::IfcShapeAspect* v) { set_attribute_value(14, v->as());if constexpr (false)unset_attribute_value(14); } -boost::optional< double > Ifc4x1::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x1::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x1::IfcDoorLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x1::IfcDoorLiningProperties::LiningToPanelOffsetY() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x1::IfcDoorLiningProperties::LiningToPanelOffsetY() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x1::IfcDoorLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } const IfcParse::entity& Ifc4x1::IfcDoorLiningProperties::declaration() const { return *((IfcParse::entity*)IFC4X1_types[307]); } const IfcParse::entity& Ifc4x1::IfcDoorLiningProperties::Class() { return *((IfcParse::entity*)IFC4X1_types[307]); } Ifc4x1::IfcDoorLiningProperties::IfcDoorLiningProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x1::IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_GlobalId, ::Ifc4x1::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, ::Ifc4x1::IfcShapeAspect* v15_ShapeAspectStyle, boost::optional< double > v16_LiningToPanelOffsetX, boost::optional< double > v17_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, v15_ShapeAspectStyle ? v15_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); }; populate_derived(); } +Ifc4x1::IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_GlobalId, ::Ifc4x1::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, ::Ifc4x1::IfcShapeAspect* v15_ShapeAspectStyle, boost::optional< double > v16_LiningToPanelOffsetX, boost::optional< double > v17_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, v15_ShapeAspectStyle ? v15_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); }; populate_derived(); } // Function implementations for IfcDoorPanelProperties -boost::optional< double > Ifc4x1::IfcDoorPanelProperties::PanelDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x1::IfcDoorPanelProperties::PanelDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x1::IfcDoorPanelProperties::setPanelDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x1::IfcDoorPanelOperationEnum::Value Ifc4x1::IfcDoorPanelProperties::PanelOperation() const { return ::Ifc4x1::IfcDoorPanelOperationEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x1::IfcDoorPanelOperationEnum::Value Ifc4x1::IfcDoorPanelProperties::PanelOperation() const { return ::Ifc4x1::IfcDoorPanelOperationEnum::FromString(get_attribute_value(5)); } void Ifc4x1::IfcDoorPanelProperties::setPanelOperation(::Ifc4x1::IfcDoorPanelOperationEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x1::IfcDoorPanelOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x1::IfcDoorPanelProperties::PanelWidth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x1::IfcDoorPanelProperties::PanelWidth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x1::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x1::IfcDoorPanelPositionEnum::Value Ifc4x1::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x1::IfcDoorPanelPositionEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x1::IfcDoorPanelPositionEnum::Value Ifc4x1::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x1::IfcDoorPanelPositionEnum::FromString(get_attribute_value(7)); } void Ifc4x1::IfcDoorPanelProperties::setPanelPosition(::Ifc4x1::IfcDoorPanelPositionEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x1::IfcDoorPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x1::IfcShapeAspect* Ifc4x1::IfcDoorPanelProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x1::IfcShapeAspect>(true); } +::Ifc4x1::IfcShapeAspect* Ifc4x1::IfcDoorPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x1::IfcShapeAspect>(true); } void Ifc4x1::IfcDoorPanelProperties::setShapeAspectStyle(::Ifc4x1::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x1::IfcDoorPanelProperties::declaration() const { return *((IfcParse::entity*)IFC4X1_types[310]); } const IfcParse::entity& Ifc4x1::IfcDoorPanelProperties::Class() { return *((IfcParse::entity*)IFC4X1_types[310]); } Ifc4x1::IfcDoorPanelProperties::IfcDoorPanelProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x1::IfcDoorPanelProperties::IfcDoorPanelProperties(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_PanelDepth, ::Ifc4x1::IfcDoorPanelOperationEnum::Value v6_PanelOperation, boost::optional< double > v7_PanelWidth, ::Ifc4x1::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x1::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcDoorPanelProperties::IfcDoorPanelProperties(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_PanelDepth, ::Ifc4x1::IfcDoorPanelOperationEnum::Value v6_PanelOperation, boost::optional< double > v7_PanelWidth, ::Ifc4x1::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x1::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDoorStandardCase @@ -9255,39 +9255,39 @@ Ifc4x1::IfcDoorPanelProperties::IfcDoorPanelProperties(std::string v1_GlobalId, const IfcParse::entity& Ifc4x1::IfcDoorStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X1_types[311]); } const IfcParse::entity& Ifc4x1::IfcDoorStandardCase::Class() { return *((IfcParse::entity*)IFC4X1_types[311]); } Ifc4x1::IfcDoorStandardCase::IfcDoorStandardCase(IfcEntityInstanceData&& e) : IfcDoor(std::move(e)) { } -Ifc4x1::IfcDoorStandardCase::IfcDoorStandardCase(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x1::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x1::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcDoor(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x1::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } +Ifc4x1::IfcDoorStandardCase::IfcDoorStandardCase(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x1::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x1::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcDoor(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x1::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } // Function implementations for IfcDoorStyle -::Ifc4x1::IfcDoorStyleOperationEnum::Value Ifc4x1::IfcDoorStyle::OperationType() const { return ::Ifc4x1::IfcDoorStyleOperationEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x1::IfcDoorStyleOperationEnum::Value Ifc4x1::IfcDoorStyle::OperationType() const { return ::Ifc4x1::IfcDoorStyleOperationEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcDoorStyle::setOperationType(::Ifc4x1::IfcDoorStyleOperationEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcDoorStyleOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc4x1::IfcDoorStyleConstructionEnum::Value Ifc4x1::IfcDoorStyle::ConstructionType() const { return ::Ifc4x1::IfcDoorStyleConstructionEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcDoorStyleConstructionEnum::Value Ifc4x1::IfcDoorStyle::ConstructionType() const { return ::Ifc4x1::IfcDoorStyleConstructionEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcDoorStyle::setConstructionType(::Ifc4x1::IfcDoorStyleConstructionEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcDoorStyleConstructionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -bool Ifc4x1::IfcDoorStyle::ParameterTakesPrecedence() const { bool v = data_.get_attribute_value(10); return v; } +bool Ifc4x1::IfcDoorStyle::ParameterTakesPrecedence() const { bool v = get_attribute_value(10); return v; } void Ifc4x1::IfcDoorStyle::setParameterTakesPrecedence(bool v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -bool Ifc4x1::IfcDoorStyle::Sizeable() const { bool v = data_.get_attribute_value(11); return v; } +bool Ifc4x1::IfcDoorStyle::Sizeable() const { bool v = get_attribute_value(11); return v; } void Ifc4x1::IfcDoorStyle::setSizeable(bool v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x1::IfcDoorStyle::declaration() const { return *((IfcParse::entity*)IFC4X1_types[312]); } const IfcParse::entity& Ifc4x1::IfcDoorStyle::Class() { return *((IfcParse::entity*)IFC4X1_types[312]); } Ifc4x1::IfcDoorStyle::IfcDoorStyle(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(e)) { } -Ifc4x1::IfcDoorStyle::IfcDoorStyle(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, ::Ifc4x1::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x1::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcDoorStyleOperationEnum::Class(),(size_t)v9_OperationType)));set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcDoorStyleConstructionEnum::Class(),(size_t)v10_ConstructionType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; populate_derived(); } +Ifc4x1::IfcDoorStyle::IfcDoorStyle(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, ::Ifc4x1::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x1::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcDoorStyleOperationEnum::Class(),(size_t)v9_OperationType)));set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcDoorStyleConstructionEnum::Class(),(size_t)v10_ConstructionType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; populate_derived(); } // Function implementations for IfcDoorType -::Ifc4x1::IfcDoorTypeEnum::Value Ifc4x1::IfcDoorType::PredefinedType() const { return ::Ifc4x1::IfcDoorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcDoorTypeEnum::Value Ifc4x1::IfcDoorType::PredefinedType() const { return ::Ifc4x1::IfcDoorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcDoorType::setPredefinedType(::Ifc4x1::IfcDoorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcDoorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x1::IfcDoorTypeOperationEnum::Value Ifc4x1::IfcDoorType::OperationType() const { return ::Ifc4x1::IfcDoorTypeOperationEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x1::IfcDoorTypeOperationEnum::Value Ifc4x1::IfcDoorType::OperationType() const { return ::Ifc4x1::IfcDoorTypeOperationEnum::FromString(get_attribute_value(10)); } void Ifc4x1::IfcDoorType::setOperationType(::Ifc4x1::IfcDoorTypeOperationEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x1::IfcDoorTypeOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } -boost::optional< bool > Ifc4x1::IfcDoorType::ParameterTakesPrecedence() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } bool v = data_.get_attribute_value(11); return v; } +boost::optional< bool > Ifc4x1::IfcDoorType::ParameterTakesPrecedence() const { if(get_attribute_value(11).isNull()) { return boost::none; } bool v = get_attribute_value(11); return v; } void Ifc4x1::IfcDoorType::setParameterTakesPrecedence(boost::optional< bool > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x1::IfcDoorType::UserDefinedOperationType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x1::IfcDoorType::UserDefinedOperationType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x1::IfcDoorType::setUserDefinedOperationType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x1::IfcDoorType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[315]); } const IfcParse::entity& Ifc4x1::IfcDoorType::Class() { return *((IfcParse::entity*)IFC4X1_types[315]); } Ifc4x1::IfcDoorType::IfcDoorType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x1::IfcDoorType::IfcDoorType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x1::IfcDoorTypeOperationEnum::Value v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } +Ifc4x1::IfcDoorType::IfcDoorType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x1::IfcDoorTypeOperationEnum::Value v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } // Function implementations for IfcDraughtingPreDefinedColour @@ -9295,7 +9295,7 @@ Ifc4x1::IfcDoorType::IfcDoorType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHist const IfcParse::entity& Ifc4x1::IfcDraughtingPreDefinedColour::declaration() const { return *((IfcParse::entity*)IFC4X1_types[319]); } const IfcParse::entity& Ifc4x1::IfcDraughtingPreDefinedColour::Class() { return *((IfcParse::entity*)IFC4X1_types[319]); } Ifc4x1::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(IfcEntityInstanceData&& e) : IfcPreDefinedColour(std::move(e)) { } -Ifc4x1::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::string v1_Name) : IfcPreDefinedColour(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x1::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::string v1_Name) : IfcPreDefinedColour(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcDraughtingPreDefinedCurveFont @@ -9303,224 +9303,224 @@ Ifc4x1::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::string const IfcParse::entity& Ifc4x1::IfcDraughtingPreDefinedCurveFont::declaration() const { return *((IfcParse::entity*)IFC4X1_types[320]); } const IfcParse::entity& Ifc4x1::IfcDraughtingPreDefinedCurveFont::Class() { return *((IfcParse::entity*)IFC4X1_types[320]); } Ifc4x1::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(IfcEntityInstanceData&& e) : IfcPreDefinedCurveFont(std::move(e)) { } -Ifc4x1::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedCurveFont(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x1::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedCurveFont(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcDuctFitting -boost::optional< ::Ifc4x1::IfcDuctFittingTypeEnum::Value > Ifc4x1::IfcDuctFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcDuctFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcDuctFittingTypeEnum::Value > Ifc4x1::IfcDuctFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcDuctFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcDuctFitting::setPredefinedType(boost::optional< ::Ifc4x1::IfcDuctFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcDuctFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcDuctFitting::declaration() const { return *((IfcParse::entity*)IFC4X1_types[321]); } const IfcParse::entity& Ifc4x1::IfcDuctFitting::Class() { return *((IfcParse::entity*)IFC4X1_types[321]); } Ifc4x1::IfcDuctFitting::IfcDuctFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x1::IfcDuctFitting::IfcDuctFitting(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcDuctFitting::IfcDuctFitting(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDuctFittingType -::Ifc4x1::IfcDuctFittingTypeEnum::Value Ifc4x1::IfcDuctFittingType::PredefinedType() const { return ::Ifc4x1::IfcDuctFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcDuctFittingTypeEnum::Value Ifc4x1::IfcDuctFittingType::PredefinedType() const { return ::Ifc4x1::IfcDuctFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcDuctFittingType::setPredefinedType(::Ifc4x1::IfcDuctFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcDuctFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcDuctFittingType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[322]); } const IfcParse::entity& Ifc4x1::IfcDuctFittingType::Class() { return *((IfcParse::entity*)IFC4X1_types[322]); } Ifc4x1::IfcDuctFittingType::IfcDuctFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x1::IfcDuctFittingType::IfcDuctFittingType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDuctFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcDuctFittingType::IfcDuctFittingType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDuctFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDuctSegment -boost::optional< ::Ifc4x1::IfcDuctSegmentTypeEnum::Value > Ifc4x1::IfcDuctSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcDuctSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcDuctSegmentTypeEnum::Value > Ifc4x1::IfcDuctSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcDuctSegment::setPredefinedType(boost::optional< ::Ifc4x1::IfcDuctSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcDuctSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcDuctSegment::declaration() const { return *((IfcParse::entity*)IFC4X1_types[324]); } const IfcParse::entity& Ifc4x1::IfcDuctSegment::Class() { return *((IfcParse::entity*)IFC4X1_types[324]); } Ifc4x1::IfcDuctSegment::IfcDuctSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x1::IfcDuctSegment::IfcDuctSegment(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcDuctSegment::IfcDuctSegment(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDuctSegmentType -::Ifc4x1::IfcDuctSegmentTypeEnum::Value Ifc4x1::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4x1::IfcDuctSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcDuctSegmentTypeEnum::Value Ifc4x1::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4x1::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcDuctSegmentType::setPredefinedType(::Ifc4x1::IfcDuctSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcDuctSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcDuctSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[325]); } const IfcParse::entity& Ifc4x1::IfcDuctSegmentType::Class() { return *((IfcParse::entity*)IFC4X1_types[325]); } Ifc4x1::IfcDuctSegmentType::IfcDuctSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x1::IfcDuctSegmentType::IfcDuctSegmentType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcDuctSegmentType::IfcDuctSegmentType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDuctSilencer -boost::optional< ::Ifc4x1::IfcDuctSilencerTypeEnum::Value > Ifc4x1::IfcDuctSilencer::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcDuctSilencerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcDuctSilencerTypeEnum::Value > Ifc4x1::IfcDuctSilencer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcDuctSilencer::setPredefinedType(boost::optional< ::Ifc4x1::IfcDuctSilencerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcDuctSilencerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcDuctSilencer::declaration() const { return *((IfcParse::entity*)IFC4X1_types[327]); } const IfcParse::entity& Ifc4x1::IfcDuctSilencer::Class() { return *((IfcParse::entity*)IFC4X1_types[327]); } Ifc4x1::IfcDuctSilencer::IfcDuctSilencer(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4x1::IfcDuctSilencer::IfcDuctSilencer(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcDuctSilencer::IfcDuctSilencer(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDuctSilencerType -::Ifc4x1::IfcDuctSilencerTypeEnum::Value Ifc4x1::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4x1::IfcDuctSilencerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcDuctSilencerTypeEnum::Value Ifc4x1::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4x1::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcDuctSilencerType::setPredefinedType(::Ifc4x1::IfcDuctSilencerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcDuctSilencerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcDuctSilencerType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[328]); } const IfcParse::entity& Ifc4x1::IfcDuctSilencerType::Class() { return *((IfcParse::entity*)IFC4X1_types[328]); } Ifc4x1::IfcDuctSilencerType::IfcDuctSilencerType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4x1::IfcDuctSilencerType::IfcDuctSilencerType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcDuctSilencerType::IfcDuctSilencerType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEdge -::Ifc4x1::IfcVertex* Ifc4x1::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcVertex>(true); } +::Ifc4x1::IfcVertex* Ifc4x1::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcVertex>(true); } void Ifc4x1::IfcEdge::setEdgeStart(::Ifc4x1::IfcVertex* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcVertex* Ifc4x1::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcVertex>(true); } +::Ifc4x1::IfcVertex* Ifc4x1::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcVertex>(true); } void Ifc4x1::IfcEdge::setEdgeEnd(::Ifc4x1::IfcVertex* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcEdge::declaration() const { return *((IfcParse::entity*)IFC4X1_types[332]); } const IfcParse::entity& Ifc4x1::IfcEdge::Class() { return *((IfcParse::entity*)IFC4X1_types[332]); } Ifc4x1::IfcEdge::IfcEdge(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x1::IfcEdge::IfcEdge(::Ifc4x1::IfcVertex* v1_EdgeStart, ::Ifc4x1::IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcEdge::IfcEdge(::Ifc4x1::IfcVertex* v1_EdgeStart, ::Ifc4x1::IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcEdgeCurve -::Ifc4x1::IfcCurve* Ifc4x1::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcCurve>(true); } +::Ifc4x1::IfcCurve* Ifc4x1::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcEdgeCurve::setEdgeGeometry(::Ifc4x1::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x1::IfcEdgeCurve::SameSense() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x1::IfcEdgeCurve::SameSense() const { bool v = get_attribute_value(3); return v; } void Ifc4x1::IfcEdgeCurve::setSameSense(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcEdgeCurve::declaration() const { return *((IfcParse::entity*)IFC4X1_types[333]); } const IfcParse::entity& Ifc4x1::IfcEdgeCurve::Class() { return *((IfcParse::entity*)IFC4X1_types[333]); } Ifc4x1::IfcEdgeCurve::IfcEdgeCurve(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc4x1::IfcEdgeCurve::IfcEdgeCurve(::Ifc4x1::IfcVertex* v1_EdgeStart, ::Ifc4x1::IfcVertex* v2_EdgeEnd, ::Ifc4x1::IfcCurve* v3_EdgeGeometry, bool v4_SameSense) : IfcEdge(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EdgeGeometry ? v3_EdgeGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SameSense));; populate_derived(); } +Ifc4x1::IfcEdgeCurve::IfcEdgeCurve(::Ifc4x1::IfcVertex* v1_EdgeStart, ::Ifc4x1::IfcVertex* v2_EdgeEnd, ::Ifc4x1::IfcCurve* v3_EdgeGeometry, bool v4_SameSense) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EdgeGeometry ? v3_EdgeGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SameSense));; populate_derived(); } // Function implementations for IfcEdgeLoop -aggregate_of< ::Ifc4x1::IfcOrientedEdge >::ptr Ifc4x1::IfcEdgeLoop::EdgeList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x1::IfcOrientedEdge >(); } +aggregate_of< ::Ifc4x1::IfcOrientedEdge >::ptr Ifc4x1::IfcEdgeLoop::EdgeList() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x1::IfcOrientedEdge >(); } void Ifc4x1::IfcEdgeLoop::setEdgeList(aggregate_of< ::Ifc4x1::IfcOrientedEdge >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x1::IfcEdgeLoop::declaration() const { return *((IfcParse::entity*)IFC4X1_types[334]); } const IfcParse::entity& Ifc4x1::IfcEdgeLoop::Class() { return *((IfcParse::entity*)IFC4X1_types[334]); } Ifc4x1::IfcEdgeLoop::IfcEdgeLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc4x1::IfcEdgeLoop::IfcEdgeLoop(aggregate_of< ::Ifc4x1::IfcOrientedEdge >::ptr v1_EdgeList) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } +Ifc4x1::IfcEdgeLoop::IfcEdgeLoop(aggregate_of< ::Ifc4x1::IfcOrientedEdge >::ptr v1_EdgeList) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } // Function implementations for IfcElectricAppliance -boost::optional< ::Ifc4x1::IfcElectricApplianceTypeEnum::Value > Ifc4x1::IfcElectricAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcElectricApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcElectricApplianceTypeEnum::Value > Ifc4x1::IfcElectricAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcElectricAppliance::setPredefinedType(boost::optional< ::Ifc4x1::IfcElectricApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcElectricApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcElectricAppliance::declaration() const { return *((IfcParse::entity*)IFC4X1_types[335]); } const IfcParse::entity& Ifc4x1::IfcElectricAppliance::Class() { return *((IfcParse::entity*)IFC4X1_types[335]); } Ifc4x1::IfcElectricAppliance::IfcElectricAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x1::IfcElectricAppliance::IfcElectricAppliance(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcElectricAppliance::IfcElectricAppliance(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricApplianceType -::Ifc4x1::IfcElectricApplianceTypeEnum::Value Ifc4x1::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4x1::IfcElectricApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcElectricApplianceTypeEnum::Value Ifc4x1::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4x1::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcElectricApplianceType::setPredefinedType(::Ifc4x1::IfcElectricApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcElectricApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcElectricApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[336]); } const IfcParse::entity& Ifc4x1::IfcElectricApplianceType::Class() { return *((IfcParse::entity*)IFC4X1_types[336]); } Ifc4x1::IfcElectricApplianceType::IfcElectricApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x1::IfcElectricApplianceType::IfcElectricApplianceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcElectricApplianceType::IfcElectricApplianceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricDistributionBoard -boost::optional< ::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x1::IfcElectricDistributionBoard::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcElectricDistributionBoardTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x1::IfcElectricDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcElectricDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcElectricDistributionBoard::declaration() const { return *((IfcParse::entity*)IFC4X1_types[342]); } const IfcParse::entity& Ifc4x1::IfcElectricDistributionBoard::Class() { return *((IfcParse::entity*)IFC4X1_types[342]); } Ifc4x1::IfcElectricDistributionBoard::IfcElectricDistributionBoard(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x1::IfcElectricDistributionBoard::IfcElectricDistributionBoard(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcElectricDistributionBoard::IfcElectricDistributionBoard(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricDistributionBoardType -::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value Ifc4x1::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4x1::IfcElectricDistributionBoardTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value Ifc4x1::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4x1::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcElectricDistributionBoardType::setPredefinedType(::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcElectricDistributionBoardType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[343]); } const IfcParse::entity& Ifc4x1::IfcElectricDistributionBoardType::Class() { return *((IfcParse::entity*)IFC4X1_types[343]); } Ifc4x1::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x1::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricFlowStorageDevice -boost::optional< ::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x1::IfcElectricFlowStorageDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x1::IfcElectricFlowStorageDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcElectricFlowStorageDevice::setPredefinedType(boost::optional< ::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcElectricFlowStorageDevice::declaration() const { return *((IfcParse::entity*)IFC4X1_types[345]); } const IfcParse::entity& Ifc4x1::IfcElectricFlowStorageDevice::Class() { return *((IfcParse::entity*)IFC4X1_types[345]); } Ifc4x1::IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(IfcEntityInstanceData&& e) : IfcFlowStorageDevice(std::move(e)) { } -Ifc4x1::IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricFlowStorageDeviceType -::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x1::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x1::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcElectricFlowStorageDeviceType::setPredefinedType(::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcElectricFlowStorageDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[346]); } const IfcParse::entity& Ifc4x1::IfcElectricFlowStorageDeviceType::Class() { return *((IfcParse::entity*)IFC4X1_types[346]); } Ifc4x1::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(IfcEntityInstanceData&& e) : IfcFlowStorageDeviceType(std::move(e)) { } -Ifc4x1::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricGenerator -boost::optional< ::Ifc4x1::IfcElectricGeneratorTypeEnum::Value > Ifc4x1::IfcElectricGenerator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcElectricGeneratorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcElectricGeneratorTypeEnum::Value > Ifc4x1::IfcElectricGenerator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcElectricGenerator::setPredefinedType(boost::optional< ::Ifc4x1::IfcElectricGeneratorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcElectricGeneratorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcElectricGenerator::declaration() const { return *((IfcParse::entity*)IFC4X1_types[348]); } const IfcParse::entity& Ifc4x1::IfcElectricGenerator::Class() { return *((IfcParse::entity*)IFC4X1_types[348]); } Ifc4x1::IfcElectricGenerator::IfcElectricGenerator(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x1::IfcElectricGenerator::IfcElectricGenerator(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcElectricGenerator::IfcElectricGenerator(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricGeneratorType -::Ifc4x1::IfcElectricGeneratorTypeEnum::Value Ifc4x1::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4x1::IfcElectricGeneratorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcElectricGeneratorTypeEnum::Value Ifc4x1::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4x1::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcElectricGeneratorType::setPredefinedType(::Ifc4x1::IfcElectricGeneratorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcElectricGeneratorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcElectricGeneratorType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[349]); } const IfcParse::entity& Ifc4x1::IfcElectricGeneratorType::Class() { return *((IfcParse::entity*)IFC4X1_types[349]); } Ifc4x1::IfcElectricGeneratorType::IfcElectricGeneratorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x1::IfcElectricGeneratorType::IfcElectricGeneratorType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcElectricGeneratorType::IfcElectricGeneratorType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricMotor -boost::optional< ::Ifc4x1::IfcElectricMotorTypeEnum::Value > Ifc4x1::IfcElectricMotor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcElectricMotorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcElectricMotorTypeEnum::Value > Ifc4x1::IfcElectricMotor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcElectricMotorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcElectricMotor::setPredefinedType(boost::optional< ::Ifc4x1::IfcElectricMotorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcElectricMotorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcElectricMotor::declaration() const { return *((IfcParse::entity*)IFC4X1_types[351]); } const IfcParse::entity& Ifc4x1::IfcElectricMotor::Class() { return *((IfcParse::entity*)IFC4X1_types[351]); } Ifc4x1::IfcElectricMotor::IfcElectricMotor(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x1::IfcElectricMotor::IfcElectricMotor(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcElectricMotor::IfcElectricMotor(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricMotorType -::Ifc4x1::IfcElectricMotorTypeEnum::Value Ifc4x1::IfcElectricMotorType::PredefinedType() const { return ::Ifc4x1::IfcElectricMotorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcElectricMotorTypeEnum::Value Ifc4x1::IfcElectricMotorType::PredefinedType() const { return ::Ifc4x1::IfcElectricMotorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcElectricMotorType::setPredefinedType(::Ifc4x1::IfcElectricMotorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcElectricMotorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcElectricMotorType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[352]); } const IfcParse::entity& Ifc4x1::IfcElectricMotorType::Class() { return *((IfcParse::entity*)IFC4X1_types[352]); } Ifc4x1::IfcElectricMotorType::IfcElectricMotorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x1::IfcElectricMotorType::IfcElectricMotorType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricMotorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcElectricMotorType::IfcElectricMotorType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricMotorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricTimeControl -boost::optional< ::Ifc4x1::IfcElectricTimeControlTypeEnum::Value > Ifc4x1::IfcElectricTimeControl::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcElectricTimeControlTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcElectricTimeControlTypeEnum::Value > Ifc4x1::IfcElectricTimeControl::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcElectricTimeControl::setPredefinedType(boost::optional< ::Ifc4x1::IfcElectricTimeControlTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcElectricTimeControlTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcElectricTimeControl::declaration() const { return *((IfcParse::entity*)IFC4X1_types[355]); } const IfcParse::entity& Ifc4x1::IfcElectricTimeControl::Class() { return *((IfcParse::entity*)IFC4X1_types[355]); } Ifc4x1::IfcElectricTimeControl::IfcElectricTimeControl(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x1::IfcElectricTimeControl::IfcElectricTimeControl(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcElectricTimeControl::IfcElectricTimeControl(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricTimeControlType -::Ifc4x1::IfcElectricTimeControlTypeEnum::Value Ifc4x1::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4x1::IfcElectricTimeControlTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcElectricTimeControlTypeEnum::Value Ifc4x1::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4x1::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcElectricTimeControlType::setPredefinedType(::Ifc4x1::IfcElectricTimeControlTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcElectricTimeControlTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcElectricTimeControlType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[356]); } const IfcParse::entity& Ifc4x1::IfcElectricTimeControlType::Class() { return *((IfcParse::entity*)IFC4X1_types[356]); } Ifc4x1::IfcElectricTimeControlType::IfcElectricTimeControlType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x1::IfcElectricTimeControlType::IfcElectricTimeControlType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcElectricTimeControlType::IfcElectricTimeControlType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElement -boost::optional< std::string > Ifc4x1::IfcElement::Tag() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x1::IfcElement::Tag() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x1::IfcElement::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } ::Ifc4x1::IfcRelFillsElement::list::ptr Ifc4x1::IfcElement::FillsVoids() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[856], 5)->as(); } @@ -9539,29 +9539,29 @@ void Ifc4x1::IfcElement::setTag(boost::optional< std::string > v) { if (v) {set_ const IfcParse::entity& Ifc4x1::IfcElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[359]); } const IfcParse::entity& Ifc4x1::IfcElement::Class() { return *((IfcParse::entity*)IFC4X1_types[359]); } Ifc4x1::IfcElement::IfcElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x1::IfcElement::IfcElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcProduct(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x1::IfcElement::IfcElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcElementAssembly -boost::optional< ::Ifc4x1::IfcAssemblyPlaceEnum::Value > Ifc4x1::IfcElementAssembly::AssemblyPlace() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcAssemblyPlaceEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcAssemblyPlaceEnum::Value > Ifc4x1::IfcElementAssembly::AssemblyPlace() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcAssemblyPlaceEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcElementAssembly::setAssemblyPlace(boost::optional< ::Ifc4x1::IfcAssemblyPlaceEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcAssemblyPlaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< ::Ifc4x1::IfcElementAssemblyTypeEnum::Value > Ifc4x1::IfcElementAssembly::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x1::IfcElementAssemblyTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x1::IfcElementAssemblyTypeEnum::Value > Ifc4x1::IfcElementAssembly::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x1::IfcElementAssemblyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcElementAssembly::setPredefinedType(boost::optional< ::Ifc4x1::IfcElementAssemblyTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcElementAssemblyTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x1::IfcElementAssembly::declaration() const { return *((IfcParse::entity*)IFC4X1_types[361]); } const IfcParse::entity& Ifc4x1::IfcElementAssembly::Class() { return *((IfcParse::entity*)IFC4X1_types[361]); } Ifc4x1::IfcElementAssembly::IfcElementAssembly(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x1::IfcElementAssembly::IfcElementAssembly(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, boost::optional< ::Ifc4x1::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) : IfcElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcElementAssembly::IfcElementAssembly(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, boost::optional< ::Ifc4x1::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElementAssemblyType -::Ifc4x1::IfcElementAssemblyTypeEnum::Value Ifc4x1::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4x1::IfcElementAssemblyTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcElementAssemblyTypeEnum::Value Ifc4x1::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4x1::IfcElementAssemblyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcElementAssemblyType::setPredefinedType(::Ifc4x1::IfcElementAssemblyTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcElementAssemblyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcElementAssemblyType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[362]); } const IfcParse::entity& Ifc4x1::IfcElementAssemblyType::Class() { return *((IfcParse::entity*)IFC4X1_types[362]); } Ifc4x1::IfcElementAssemblyType::IfcElementAssemblyType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x1::IfcElementAssemblyType::IfcElementAssemblyType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcElementAssemblyType::IfcElementAssemblyType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElementComponent @@ -9569,7 +9569,7 @@ Ifc4x1::IfcElementAssemblyType::IfcElementAssemblyType(std::string v1_GlobalId, const IfcParse::entity& Ifc4x1::IfcElementComponent::declaration() const { return *((IfcParse::entity*)IFC4X1_types[364]); } const IfcParse::entity& Ifc4x1::IfcElementComponent::Class() { return *((IfcParse::entity*)IFC4X1_types[364]); } Ifc4x1::IfcElementComponent::IfcElementComponent(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x1::IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x1::IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcElementComponentType @@ -9577,63 +9577,63 @@ Ifc4x1::IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x1::IfcElementComponentType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[365]); } const IfcParse::entity& Ifc4x1::IfcElementComponentType::Class() { return *((IfcParse::entity*)IFC4X1_types[365]); } Ifc4x1::IfcElementComponentType::IfcElementComponentType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x1::IfcElementComponentType::IfcElementComponentType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x1::IfcElementComponentType::IfcElementComponentType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcElementQuantity -boost::optional< std::string > Ifc4x1::IfcElementQuantity::MethodOfMeasurement() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x1::IfcElementQuantity::MethodOfMeasurement() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcElementQuantity::setMethodOfMeasurement(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -aggregate_of< ::Ifc4x1::IfcPhysicalQuantity >::ptr Ifc4x1::IfcElementQuantity::Quantities() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x1::IfcPhysicalQuantity >(); } +aggregate_of< ::Ifc4x1::IfcPhysicalQuantity >::ptr Ifc4x1::IfcElementQuantity::Quantities() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x1::IfcPhysicalQuantity >(); } void Ifc4x1::IfcElementQuantity::setQuantities(aggregate_of< ::Ifc4x1::IfcPhysicalQuantity >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x1::IfcElementQuantity::declaration() const { return *((IfcParse::entity*)IFC4X1_types[367]); } const IfcParse::entity& Ifc4x1::IfcElementQuantity::Class() { return *((IfcParse::entity*)IFC4X1_types[367]); } Ifc4x1::IfcElementQuantity::IfcElementQuantity(IfcEntityInstanceData&& e) : IfcQuantitySet(std::move(e)) { } -Ifc4x1::IfcElementQuantity::IfcElementQuantity(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_MethodOfMeasurement, aggregate_of< ::Ifc4x1::IfcPhysicalQuantity >::ptr v6_Quantities) : IfcQuantitySet(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, (v6_Quantities)->generalize());; populate_derived(); } +Ifc4x1::IfcElementQuantity::IfcElementQuantity(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_MethodOfMeasurement, aggregate_of< ::Ifc4x1::IfcPhysicalQuantity >::ptr v6_Quantities) : IfcQuantitySet(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, (v6_Quantities)->generalize());; populate_derived(); } // Function implementations for IfcElementType -boost::optional< std::string > Ifc4x1::IfcElementType::ElementType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x1::IfcElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x1::IfcElementType::setElementType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcElementType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[368]); } const IfcParse::entity& Ifc4x1::IfcElementType::Class() { return *((IfcParse::entity*)IFC4X1_types[368]); } Ifc4x1::IfcElementType::IfcElementType(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(e)) { } -Ifc4x1::IfcElementType::IfcElementType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x1::IfcElementType::IfcElementType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcElementarySurface -::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcAxis2Placement3D>(true); } +::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcAxis2Placement3D>(true); } void Ifc4x1::IfcElementarySurface::setPosition(::Ifc4x1::IfcAxis2Placement3D* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x1::IfcElementarySurface::declaration() const { return *((IfcParse::entity*)IFC4X1_types[360]); } const IfcParse::entity& Ifc4x1::IfcElementarySurface::Class() { return *((IfcParse::entity*)IFC4X1_types[360]); } Ifc4x1::IfcElementarySurface::IfcElementarySurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x1::IfcElementarySurface::IfcElementarySurface(::Ifc4x1::IfcAxis2Placement3D* v1_Position) : IfcSurface(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcElementarySurface::IfcElementarySurface(::Ifc4x1::IfcAxis2Placement3D* v1_Position) : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcEllipse -double Ifc4x1::IfcEllipse::SemiAxis1() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x1::IfcEllipse::SemiAxis1() const { double v = get_attribute_value(1); return v; } void Ifc4x1::IfcEllipse::setSemiAxis1(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x1::IfcEllipse::SemiAxis2() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x1::IfcEllipse::SemiAxis2() const { double v = get_attribute_value(2); return v; } void Ifc4x1::IfcEllipse::setSemiAxis2(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x1::IfcEllipse::declaration() const { return *((IfcParse::entity*)IFC4X1_types[369]); } const IfcParse::entity& Ifc4x1::IfcEllipse::Class() { return *((IfcParse::entity*)IFC4X1_types[369]); } Ifc4x1::IfcEllipse::IfcEllipse(IfcEntityInstanceData&& e) : IfcConic(std::move(e)) { } -Ifc4x1::IfcEllipse::IfcEllipse(::Ifc4x1::IfcAxis2Placement* v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) : IfcConic(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; populate_derived(); } +Ifc4x1::IfcEllipse::IfcEllipse(::Ifc4x1::IfcAxis2Placement* v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) : IfcConic(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; populate_derived(); } // Function implementations for IfcEllipseProfileDef -double Ifc4x1::IfcEllipseProfileDef::SemiAxis1() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x1::IfcEllipseProfileDef::SemiAxis1() const { double v = get_attribute_value(3); return v; } void Ifc4x1::IfcEllipseProfileDef::setSemiAxis1(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x1::IfcEllipseProfileDef::SemiAxis2() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x1::IfcEllipseProfileDef::SemiAxis2() const { double v = get_attribute_value(4); return v; } void Ifc4x1::IfcEllipseProfileDef::setSemiAxis2(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x1::IfcEllipseProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X1_types[370]); } const IfcParse::entity& Ifc4x1::IfcEllipseProfileDef::Class() { return *((IfcParse::entity*)IFC4X1_types[370]); } Ifc4x1::IfcEllipseProfileDef::IfcEllipseProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x1::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D* v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; populate_derived(); } +Ifc4x1::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D* v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; populate_derived(); } // Function implementations for IfcEnergyConversionDevice @@ -9641,7 +9641,7 @@ Ifc4x1::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc4x1::IfcProfileTypeEnum: const IfcParse::entity& Ifc4x1::IfcEnergyConversionDevice::declaration() const { return *((IfcParse::entity*)IFC4X1_types[371]); } const IfcParse::entity& Ifc4x1::IfcEnergyConversionDevice::Class() { return *((IfcParse::entity*)IFC4X1_types[371]); } Ifc4x1::IfcEnergyConversionDevice::IfcEnergyConversionDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x1::IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x1::IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcEnergyConversionDeviceType @@ -9649,127 +9649,127 @@ Ifc4x1::IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_Glob const IfcParse::entity& Ifc4x1::IfcEnergyConversionDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[372]); } const IfcParse::entity& Ifc4x1::IfcEnergyConversionDeviceType::Class() { return *((IfcParse::entity*)IFC4X1_types[372]); } Ifc4x1::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x1::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x1::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcEngine -boost::optional< ::Ifc4x1::IfcEngineTypeEnum::Value > Ifc4x1::IfcEngine::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcEngineTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcEngineTypeEnum::Value > Ifc4x1::IfcEngine::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcEngineTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcEngine::setPredefinedType(boost::optional< ::Ifc4x1::IfcEngineTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcEngineTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcEngine::declaration() const { return *((IfcParse::entity*)IFC4X1_types[374]); } const IfcParse::entity& Ifc4x1::IfcEngine::Class() { return *((IfcParse::entity*)IFC4X1_types[374]); } Ifc4x1::IfcEngine::IfcEngine(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x1::IfcEngine::IfcEngine(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcEngineTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcEngine::IfcEngine(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcEngineTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEngineType -::Ifc4x1::IfcEngineTypeEnum::Value Ifc4x1::IfcEngineType::PredefinedType() const { return ::Ifc4x1::IfcEngineTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcEngineTypeEnum::Value Ifc4x1::IfcEngineType::PredefinedType() const { return ::Ifc4x1::IfcEngineTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcEngineType::setPredefinedType(::Ifc4x1::IfcEngineTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcEngineTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcEngineType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[375]); } const IfcParse::entity& Ifc4x1::IfcEngineType::Class() { return *((IfcParse::entity*)IFC4X1_types[375]); } Ifc4x1::IfcEngineType::IfcEngineType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x1::IfcEngineType::IfcEngineType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcEngineTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcEngineType::IfcEngineType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcEngineTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEvaporativeCooler -boost::optional< ::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x1::IfcEvaporativeCooler::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcEvaporativeCoolerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x1::IfcEvaporativeCooler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcEvaporativeCooler::setPredefinedType(boost::optional< ::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcEvaporativeCooler::declaration() const { return *((IfcParse::entity*)IFC4X1_types[377]); } const IfcParse::entity& Ifc4x1::IfcEvaporativeCooler::Class() { return *((IfcParse::entity*)IFC4X1_types[377]); } Ifc4x1::IfcEvaporativeCooler::IfcEvaporativeCooler(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x1::IfcEvaporativeCooler::IfcEvaporativeCooler(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcEvaporativeCooler::IfcEvaporativeCooler(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEvaporativeCoolerType -::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value Ifc4x1::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4x1::IfcEvaporativeCoolerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value Ifc4x1::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4x1::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcEvaporativeCoolerType::setPredefinedType(::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcEvaporativeCoolerType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[378]); } const IfcParse::entity& Ifc4x1::IfcEvaporativeCoolerType::Class() { return *((IfcParse::entity*)IFC4X1_types[378]); } Ifc4x1::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x1::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEvaporator -boost::optional< ::Ifc4x1::IfcEvaporatorTypeEnum::Value > Ifc4x1::IfcEvaporator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcEvaporatorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcEvaporatorTypeEnum::Value > Ifc4x1::IfcEvaporator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcEvaporatorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcEvaporator::setPredefinedType(boost::optional< ::Ifc4x1::IfcEvaporatorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcEvaporatorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcEvaporator::declaration() const { return *((IfcParse::entity*)IFC4X1_types[380]); } const IfcParse::entity& Ifc4x1::IfcEvaporator::Class() { return *((IfcParse::entity*)IFC4X1_types[380]); } Ifc4x1::IfcEvaporator::IfcEvaporator(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x1::IfcEvaporator::IfcEvaporator(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcEvaporator::IfcEvaporator(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEvaporatorType -::Ifc4x1::IfcEvaporatorTypeEnum::Value Ifc4x1::IfcEvaporatorType::PredefinedType() const { return ::Ifc4x1::IfcEvaporatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcEvaporatorTypeEnum::Value Ifc4x1::IfcEvaporatorType::PredefinedType() const { return ::Ifc4x1::IfcEvaporatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcEvaporatorType::setPredefinedType(::Ifc4x1::IfcEvaporatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcEvaporatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcEvaporatorType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[381]); } const IfcParse::entity& Ifc4x1::IfcEvaporatorType::Class() { return *((IfcParse::entity*)IFC4X1_types[381]); } Ifc4x1::IfcEvaporatorType::IfcEvaporatorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x1::IfcEvaporatorType::IfcEvaporatorType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcEvaporatorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcEvaporatorType::IfcEvaporatorType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcEvaporatorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEvent -boost::optional< ::Ifc4x1::IfcEventTypeEnum::Value > Ifc4x1::IfcEvent::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x1::IfcEventTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x1::IfcEventTypeEnum::Value > Ifc4x1::IfcEvent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x1::IfcEventTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x1::IfcEvent::setPredefinedType(boost::optional< ::Ifc4x1::IfcEventTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x1::IfcEventTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x1::IfcEventTriggerTypeEnum::Value > Ifc4x1::IfcEvent::EventTriggerType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcEventTriggerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcEventTriggerTypeEnum::Value > Ifc4x1::IfcEvent::EventTriggerType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcEventTriggerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcEvent::setEventTriggerType(boost::optional< ::Ifc4x1::IfcEventTriggerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcEventTriggerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x1::IfcEvent::UserDefinedEventTriggerType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x1::IfcEvent::UserDefinedEventTriggerType() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x1::IfcEvent::setUserDefinedEventTriggerType(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -::Ifc4x1::IfcEventTime* Ifc4x1::IfcEvent::EventOccurenceTime() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x1::IfcEventTime>(true); } +::Ifc4x1::IfcEventTime* Ifc4x1::IfcEvent::EventOccurenceTime() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x1::IfcEventTime>(true); } void Ifc4x1::IfcEvent::setEventOccurenceTime(::Ifc4x1::IfcEventTime* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x1::IfcEvent::declaration() const { return *((IfcParse::entity*)IFC4X1_types[383]); } const IfcParse::entity& Ifc4x1::IfcEvent::Class() { return *((IfcParse::entity*)IFC4X1_types[383]); } Ifc4x1::IfcEvent::IfcEvent(IfcEntityInstanceData&& e) : IfcProcess(std::move(e)) { } -Ifc4x1::IfcEvent::IfcEvent(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< ::Ifc4x1::IfcEventTypeEnum::Value > v8_PredefinedType, boost::optional< ::Ifc4x1::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, boost::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x1::IfcEventTime* v11_EventOccurenceTime) : IfcProcess(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, v11_EventOccurenceTime ? v11_EventOccurenceTime->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcEvent::IfcEvent(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< ::Ifc4x1::IfcEventTypeEnum::Value > v8_PredefinedType, boost::optional< ::Ifc4x1::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, boost::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x1::IfcEventTime* v11_EventOccurenceTime) : IfcProcess(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, v11_EventOccurenceTime ? v11_EventOccurenceTime->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcEventTime -boost::optional< std::string > Ifc4x1::IfcEventTime::ActualDate() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x1::IfcEventTime::ActualDate() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x1::IfcEventTime::setActualDate(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x1::IfcEventTime::EarlyDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x1::IfcEventTime::EarlyDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcEventTime::setEarlyDate(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x1::IfcEventTime::LateDate() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x1::IfcEventTime::LateDate() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcEventTime::setLateDate(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x1::IfcEventTime::ScheduleDate() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x1::IfcEventTime::ScheduleDate() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x1::IfcEventTime::setScheduleDate(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x1::IfcEventTime::declaration() const { return *((IfcParse::entity*)IFC4X1_types[384]); } const IfcParse::entity& Ifc4x1::IfcEventTime::Class() { return *((IfcParse::entity*)IFC4X1_types[384]); } Ifc4x1::IfcEventTime::IfcEventTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x1::IfcEventTime::IfcEventTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x1::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); }; populate_derived(); } +Ifc4x1::IfcEventTime::IfcEventTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x1::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); }; populate_derived(); } // Function implementations for IfcEventType -::Ifc4x1::IfcEventTypeEnum::Value Ifc4x1::IfcEventType::PredefinedType() const { return ::Ifc4x1::IfcEventTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcEventTypeEnum::Value Ifc4x1::IfcEventType::PredefinedType() const { return ::Ifc4x1::IfcEventTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcEventType::setPredefinedType(::Ifc4x1::IfcEventTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcEventTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x1::IfcEventTriggerTypeEnum::Value Ifc4x1::IfcEventType::EventTriggerType() const { return ::Ifc4x1::IfcEventTriggerTypeEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x1::IfcEventTriggerTypeEnum::Value Ifc4x1::IfcEventType::EventTriggerType() const { return ::Ifc4x1::IfcEventTriggerTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x1::IfcEventType::setEventTriggerType(::Ifc4x1::IfcEventTriggerTypeEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x1::IfcEventTriggerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } -boost::optional< std::string > Ifc4x1::IfcEventType::UserDefinedEventTriggerType() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x1::IfcEventType::UserDefinedEventTriggerType() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x1::IfcEventType::setUserDefinedEventTriggerType(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x1::IfcEventType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[386]); } const IfcParse::entity& Ifc4x1::IfcEventType::Class() { return *((IfcParse::entity*)IFC4X1_types[386]); } Ifc4x1::IfcEventType::IfcEventType(IfcEntityInstanceData&& e) : IfcTypeProcess(std::move(e)) { } -Ifc4x1::IfcEventType::IfcEventType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x1::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x1::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, boost::optional< std::string > v12_UserDefinedEventTriggerType) : IfcTypeProcess(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); }; populate_derived(); } +Ifc4x1::IfcEventType::IfcEventType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x1::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x1::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, boost::optional< std::string > v12_UserDefinedEventTriggerType) : IfcTypeProcess(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); }; populate_derived(); } // Function implementations for IfcExtendedProperties -boost::optional< std::string > Ifc4x1::IfcExtendedProperties::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x1::IfcExtendedProperties::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcExtendedProperties::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x1::IfcExtendedProperties::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x1::IfcExtendedProperties::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcExtendedProperties::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x1::IfcProperty >::ptr Ifc4x1::IfcExtendedProperties::Properties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x1::IfcProperty >(); } +aggregate_of< ::Ifc4x1::IfcProperty >::ptr Ifc4x1::IfcExtendedProperties::Properties() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x1::IfcProperty >(); } void Ifc4x1::IfcExtendedProperties::setProperties(aggregate_of< ::Ifc4x1::IfcProperty >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x1::IfcExtendedProperties::declaration() const { return *((IfcParse::entity*)IFC4X1_types[388]); } const IfcParse::entity& Ifc4x1::IfcExtendedProperties::Class() { return *((IfcParse::entity*)IFC4X1_types[388]); } Ifc4x1::IfcExtendedProperties::IfcExtendedProperties(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x1::IfcExtendedProperties::IfcExtendedProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcProperty >::ptr v3_Properties) : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());; populate_derived(); } +Ifc4x1::IfcExtendedProperties::IfcExtendedProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcProperty >::ptr v3_Properties) : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());; populate_derived(); } // Function implementations for IfcExternalInformation @@ -9777,14 +9777,14 @@ Ifc4x1::IfcExtendedProperties::IfcExtendedProperties(boost::optional< std::strin const IfcParse::entity& Ifc4x1::IfcExternalInformation::declaration() const { return *((IfcParse::entity*)IFC4X1_types[389]); } const IfcParse::entity& Ifc4x1::IfcExternalInformation::Class() { return *((IfcParse::entity*)IFC4X1_types[389]); } Ifc4x1::IfcExternalInformation::IfcExternalInformation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcExternalInformation::IfcExternalInformation() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x1::IfcExternalInformation::IfcExternalInformation() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcExternalReference -boost::optional< std::string > Ifc4x1::IfcExternalReference::Location() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x1::IfcExternalReference::Location() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcExternalReference::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x1::IfcExternalReference::Identification() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x1::IfcExternalReference::Identification() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcExternalReference::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x1::IfcExternalReference::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x1::IfcExternalReference::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcExternalReference::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x1::IfcExternalReferenceRelationship::list::ptr Ifc4x1::IfcExternalReference::ExternalReferenceForResources() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[394], 2)->as(); } @@ -9792,22 +9792,22 @@ void Ifc4x1::IfcExternalReference::setName(boost::optional< std::string > v) { i const IfcParse::entity& Ifc4x1::IfcExternalReference::declaration() const { return *((IfcParse::entity*)IFC4X1_types[393]); } const IfcParse::entity& Ifc4x1::IfcExternalReference::Class() { return *((IfcParse::entity*)IFC4X1_types[393]); } Ifc4x1::IfcExternalReference::IfcExternalReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcExternalReference::IfcExternalReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x1::IfcExternalReference::IfcExternalReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternalReferenceRelationship -::Ifc4x1::IfcExternalReference* Ifc4x1::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcExternalReference>(true); } +::Ifc4x1::IfcExternalReference* Ifc4x1::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcExternalReference>(true); } void Ifc4x1::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4x1::IfcExternalReference* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr Ifc4x1::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x1::IfcResourceObjectSelect >(); } +aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr Ifc4x1::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x1::IfcResourceObjectSelect >(); } void Ifc4x1::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcExternalReferenceRelationship::declaration() const { return *((IfcParse::entity*)IFC4X1_types[394]); } const IfcParse::entity& Ifc4x1::IfcExternalReferenceRelationship::Class() { return *((IfcParse::entity*)IFC4X1_types[394]); } Ifc4x1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingReference ? v3_RelatingReference->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } +Ifc4x1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingReference ? v3_RelatingReference->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } // Function implementations for IfcExternalSpatialElement -boost::optional< ::Ifc4x1::IfcExternalSpatialElementTypeEnum::Value > Ifc4x1::IfcExternalSpatialElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcExternalSpatialElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcExternalSpatialElementTypeEnum::Value > Ifc4x1::IfcExternalSpatialElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcExternalSpatialElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcExternalSpatialElement::setPredefinedType(boost::optional< ::Ifc4x1::IfcExternalSpatialElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcExternalSpatialElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x1::IfcRelSpaceBoundary::list::ptr Ifc4x1::IfcExternalSpatialElement::BoundedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[864], 4)->as(); } @@ -9815,7 +9815,7 @@ void Ifc4x1::IfcExternalSpatialElement::setPredefinedType(boost::optional< ::Ifc const IfcParse::entity& Ifc4x1::IfcExternalSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[395]); } const IfcParse::entity& Ifc4x1::IfcExternalSpatialElement::Class() { return *((IfcParse::entity*)IFC4X1_types[395]); } Ifc4x1::IfcExternalSpatialElement::IfcExternalSpatialElement(IfcEntityInstanceData&& e) : IfcExternalSpatialStructureElement(std::move(e)) { } -Ifc4x1::IfcExternalSpatialElement::IfcExternalSpatialElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x1::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) : IfcExternalSpatialStructureElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcExternalSpatialElement::IfcExternalSpatialElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x1::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) : IfcExternalSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcExternalSpatialStructureElement @@ -9823,7 +9823,7 @@ Ifc4x1::IfcExternalSpatialElement::IfcExternalSpatialElement(std::string v1_Glob const IfcParse::entity& Ifc4x1::IfcExternalSpatialStructureElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[397]); } const IfcParse::entity& Ifc4x1::IfcExternalSpatialStructureElement::Class() { return *((IfcParse::entity*)IFC4X1_types[397]); } Ifc4x1::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(IfcEntityInstanceData&& e) : IfcSpatialElement(std::move(e)) { } -Ifc4x1::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcSpatialElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } +Ifc4x1::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcSpatialElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedHatchStyle @@ -9831,7 +9831,7 @@ Ifc4x1::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(s const IfcParse::entity& Ifc4x1::IfcExternallyDefinedHatchStyle::declaration() const { return *((IfcParse::entity*)IFC4X1_types[390]); } const IfcParse::entity& Ifc4x1::IfcExternallyDefinedHatchStyle::Class() { return *((IfcParse::entity*)IFC4X1_types[390]); } Ifc4x1::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x1::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x1::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedSurfaceStyle @@ -9839,7 +9839,7 @@ Ifc4x1::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::op const IfcParse::entity& Ifc4x1::IfcExternallyDefinedSurfaceStyle::declaration() const { return *((IfcParse::entity*)IFC4X1_types[391]); } const IfcParse::entity& Ifc4x1::IfcExternallyDefinedSurfaceStyle::Class() { return *((IfcParse::entity*)IFC4X1_types[391]); } Ifc4x1::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x1::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x1::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedTextFont @@ -9847,32 +9847,32 @@ Ifc4x1::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost const IfcParse::entity& Ifc4x1::IfcExternallyDefinedTextFont::declaration() const { return *((IfcParse::entity*)IFC4X1_types[392]); } const IfcParse::entity& Ifc4x1::IfcExternallyDefinedTextFont::Class() { return *((IfcParse::entity*)IFC4X1_types[392]); } Ifc4x1::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x1::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x1::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExtrudedAreaSolid -::Ifc4x1::IfcDirection* Ifc4x1::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcDirection>(true); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcExtrudedAreaSolid::setExtrudedDirection(::Ifc4x1::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x1::IfcExtrudedAreaSolid::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x1::IfcExtrudedAreaSolid::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x1::IfcExtrudedAreaSolid::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcExtrudedAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X1_types[398]); } const IfcParse::entity& Ifc4x1::IfcExtrudedAreaSolid::Class() { return *((IfcParse::entity*)IFC4X1_types[398]); } Ifc4x1::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4x1::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(::Ifc4x1::IfcProfileDef* v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D* v2_Position, ::Ifc4x1::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } +Ifc4x1::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(::Ifc4x1::IfcProfileDef* v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D* v2_Position, ::Ifc4x1::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } // Function implementations for IfcExtrudedAreaSolidTapered -::Ifc4x1::IfcProfileDef* Ifc4x1::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x1::IfcProfileDef>(true); } +::Ifc4x1::IfcProfileDef* Ifc4x1::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x1::IfcProfileDef>(true); } void Ifc4x1::IfcExtrudedAreaSolidTapered::setEndSweptArea(::Ifc4x1::IfcProfileDef* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x1::IfcExtrudedAreaSolidTapered::declaration() const { return *((IfcParse::entity*)IFC4X1_types[399]); } const IfcParse::entity& Ifc4x1::IfcExtrudedAreaSolidTapered::Class() { return *((IfcParse::entity*)IFC4X1_types[399]); } Ifc4x1::IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(IfcEntityInstanceData&& e) : IfcExtrudedAreaSolid(std::move(e)) { } -Ifc4x1::IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(::Ifc4x1::IfcProfileDef* v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D* v2_Position, ::Ifc4x1::IfcDirection* v3_ExtrudedDirection, double v4_Depth, ::Ifc4x1::IfcProfileDef* v5_EndSweptArea) : IfcExtrudedAreaSolid(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(::Ifc4x1::IfcProfileDef* v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D* v2_Position, ::Ifc4x1::IfcDirection* v3_ExtrudedDirection, double v4_Depth, ::Ifc4x1::IfcProfileDef* v5_EndSweptArea) : IfcExtrudedAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcFace -aggregate_of< ::Ifc4x1::IfcFaceBound >::ptr Ifc4x1::IfcFace::Bounds() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x1::IfcFaceBound >(); } +aggregate_of< ::Ifc4x1::IfcFaceBound >::ptr Ifc4x1::IfcFace::Bounds() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x1::IfcFaceBound >(); } void Ifc4x1::IfcFace::setBounds(aggregate_of< ::Ifc4x1::IfcFaceBound >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } ::Ifc4x1::IfcTextureMap::list::ptr Ifc4x1::IfcFace::HasTextureMaps() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[1093], 2)->as(); } @@ -9880,29 +9880,29 @@ void Ifc4x1::IfcFace::setBounds(aggregate_of< ::Ifc4x1::IfcFaceBound >::ptr v) { const IfcParse::entity& Ifc4x1::IfcFace::declaration() const { return *((IfcParse::entity*)IFC4X1_types[400]); } const IfcParse::entity& Ifc4x1::IfcFace::Class() { return *((IfcParse::entity*)IFC4X1_types[400]); } Ifc4x1::IfcFace::IfcFace(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x1::IfcFace::IfcFace(aggregate_of< ::Ifc4x1::IfcFaceBound >::ptr v1_Bounds) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Bounds)->generalize());; populate_derived(); } +Ifc4x1::IfcFace::IfcFace(aggregate_of< ::Ifc4x1::IfcFaceBound >::ptr v1_Bounds) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Bounds)->generalize());; populate_derived(); } // Function implementations for IfcFaceBasedSurfaceModel -aggregate_of< ::Ifc4x1::IfcConnectedFaceSet >::ptr Ifc4x1::IfcFaceBasedSurfaceModel::FbsmFaces() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x1::IfcConnectedFaceSet >(); } +aggregate_of< ::Ifc4x1::IfcConnectedFaceSet >::ptr Ifc4x1::IfcFaceBasedSurfaceModel::FbsmFaces() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x1::IfcConnectedFaceSet >(); } void Ifc4x1::IfcFaceBasedSurfaceModel::setFbsmFaces(aggregate_of< ::Ifc4x1::IfcConnectedFaceSet >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x1::IfcFaceBasedSurfaceModel::declaration() const { return *((IfcParse::entity*)IFC4X1_types[401]); } const IfcParse::entity& Ifc4x1::IfcFaceBasedSurfaceModel::Class() { return *((IfcParse::entity*)IFC4X1_types[401]); } Ifc4x1::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x1::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(aggregate_of< ::Ifc4x1::IfcConnectedFaceSet >::ptr v1_FbsmFaces) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_FbsmFaces)->generalize());; populate_derived(); } +Ifc4x1::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(aggregate_of< ::Ifc4x1::IfcConnectedFaceSet >::ptr v1_FbsmFaces) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_FbsmFaces)->generalize());; populate_derived(); } // Function implementations for IfcFaceBound -::Ifc4x1::IfcLoop* Ifc4x1::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcLoop>(true); } +::Ifc4x1::IfcLoop* Ifc4x1::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcLoop>(true); } void Ifc4x1::IfcFaceBound::setBound(::Ifc4x1::IfcLoop* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -bool Ifc4x1::IfcFaceBound::Orientation() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x1::IfcFaceBound::Orientation() const { bool v = get_attribute_value(1); return v; } void Ifc4x1::IfcFaceBound::setOrientation(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcFaceBound::declaration() const { return *((IfcParse::entity*)IFC4X1_types[402]); } const IfcParse::entity& Ifc4x1::IfcFaceBound::Class() { return *((IfcParse::entity*)IFC4X1_types[402]); } Ifc4x1::IfcFaceBound::IfcFaceBound(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x1::IfcFaceBound::IfcFaceBound(::Ifc4x1::IfcLoop* v1_Bound, bool v2_Orientation) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } +Ifc4x1::IfcFaceBound::IfcFaceBound(::Ifc4x1::IfcLoop* v1_Bound, bool v2_Orientation) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } // Function implementations for IfcFaceOuterBound @@ -9910,19 +9910,19 @@ Ifc4x1::IfcFaceBound::IfcFaceBound(::Ifc4x1::IfcLoop* v1_Bound, bool v2_Orientat const IfcParse::entity& Ifc4x1::IfcFaceOuterBound::declaration() const { return *((IfcParse::entity*)IFC4X1_types[403]); } const IfcParse::entity& Ifc4x1::IfcFaceOuterBound::Class() { return *((IfcParse::entity*)IFC4X1_types[403]); } Ifc4x1::IfcFaceOuterBound::IfcFaceOuterBound(IfcEntityInstanceData&& e) : IfcFaceBound(std::move(e)) { } -Ifc4x1::IfcFaceOuterBound::IfcFaceOuterBound(::Ifc4x1::IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } +Ifc4x1::IfcFaceOuterBound::IfcFaceOuterBound(::Ifc4x1::IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } // Function implementations for IfcFaceSurface -::Ifc4x1::IfcSurface* Ifc4x1::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcSurface>(true); } +::Ifc4x1::IfcSurface* Ifc4x1::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcSurface>(true); } void Ifc4x1::IfcFaceSurface::setFaceSurface(::Ifc4x1::IfcSurface* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -bool Ifc4x1::IfcFaceSurface::SameSense() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x1::IfcFaceSurface::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x1::IfcFaceSurface::setSameSense(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x1::IfcFaceSurface::declaration() const { return *((IfcParse::entity*)IFC4X1_types[404]); } const IfcParse::entity& Ifc4x1::IfcFaceSurface::Class() { return *((IfcParse::entity*)IFC4X1_types[404]); } Ifc4x1::IfcFaceSurface::IfcFaceSurface(IfcEntityInstanceData&& e) : IfcFace(std::move(e)) { } -Ifc4x1::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc4x1::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x1::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFace(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } +Ifc4x1::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc4x1::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x1::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFace(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } // Function implementations for IfcFacetedBrep @@ -9930,77 +9930,77 @@ Ifc4x1::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc4x1::IfcFaceBound >::p const IfcParse::entity& Ifc4x1::IfcFacetedBrep::declaration() const { return *((IfcParse::entity*)IFC4X1_types[405]); } const IfcParse::entity& Ifc4x1::IfcFacetedBrep::Class() { return *((IfcParse::entity*)IFC4X1_types[405]); } Ifc4x1::IfcFacetedBrep::IfcFacetedBrep(IfcEntityInstanceData&& e) : IfcManifoldSolidBrep(std::move(e)) { } -Ifc4x1::IfcFacetedBrep::IfcFacetedBrep(::Ifc4x1::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcFacetedBrep::IfcFacetedBrep(::Ifc4x1::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcFacetedBrepWithVoids -aggregate_of< ::Ifc4x1::IfcClosedShell >::ptr Ifc4x1::IfcFacetedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x1::IfcClosedShell >(); } +aggregate_of< ::Ifc4x1::IfcClosedShell >::ptr Ifc4x1::IfcFacetedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x1::IfcClosedShell >(); } void Ifc4x1::IfcFacetedBrepWithVoids::setVoids(aggregate_of< ::Ifc4x1::IfcClosedShell >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcFacetedBrepWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X1_types[406]); } const IfcParse::entity& Ifc4x1::IfcFacetedBrepWithVoids::Class() { return *((IfcParse::entity*)IFC4X1_types[406]); } Ifc4x1::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(IfcEntityInstanceData&& e) : IfcFacetedBrep(std::move(e)) { } -Ifc4x1::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4x1::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x1::IfcClosedShell >::ptr v2_Voids) : IfcFacetedBrep(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } +Ifc4x1::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4x1::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x1::IfcClosedShell >::ptr v2_Voids) : IfcFacetedBrep(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } // Function implementations for IfcFailureConnectionCondition -boost::optional< double > Ifc4x1::IfcFailureConnectionCondition::TensionFailureX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x1::IfcFailureConnectionCondition::TensionFailureX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x1::IfcFailureConnectionCondition::setTensionFailureX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x1::IfcFailureConnectionCondition::TensionFailureY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x1::IfcFailureConnectionCondition::TensionFailureY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x1::IfcFailureConnectionCondition::setTensionFailureY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x1::IfcFailureConnectionCondition::TensionFailureZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x1::IfcFailureConnectionCondition::TensionFailureZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x1::IfcFailureConnectionCondition::setTensionFailureZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x1::IfcFailureConnectionCondition::CompressionFailureX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x1::IfcFailureConnectionCondition::CompressionFailureX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x1::IfcFailureConnectionCondition::setCompressionFailureX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x1::IfcFailureConnectionCondition::CompressionFailureY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x1::IfcFailureConnectionCondition::CompressionFailureY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x1::IfcFailureConnectionCondition::setCompressionFailureY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x1::IfcFailureConnectionCondition::CompressionFailureZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x1::IfcFailureConnectionCondition::CompressionFailureZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x1::IfcFailureConnectionCondition::setCompressionFailureZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x1::IfcFailureConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC4X1_types[407]); } const IfcParse::entity& Ifc4x1::IfcFailureConnectionCondition::Class() { return *((IfcParse::entity*)IFC4X1_types[407]); } Ifc4x1::IfcFailureConnectionCondition::IfcFailureConnectionCondition(IfcEntityInstanceData&& e) : IfcStructuralConnectionCondition(std::move(e)) { } -Ifc4x1::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; populate_derived(); } +Ifc4x1::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; populate_derived(); } // Function implementations for IfcFan -boost::optional< ::Ifc4x1::IfcFanTypeEnum::Value > Ifc4x1::IfcFan::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcFanTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcFanTypeEnum::Value > Ifc4x1::IfcFan::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcFanTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcFan::setPredefinedType(boost::optional< ::Ifc4x1::IfcFanTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcFanTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcFan::declaration() const { return *((IfcParse::entity*)IFC4X1_types[408]); } const IfcParse::entity& Ifc4x1::IfcFan::Class() { return *((IfcParse::entity*)IFC4X1_types[408]); } Ifc4x1::IfcFan::IfcFan(IfcEntityInstanceData&& e) : IfcFlowMovingDevice(std::move(e)) { } -Ifc4x1::IfcFan::IfcFan(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcFanTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcFan::IfcFan(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcFanTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFanType -::Ifc4x1::IfcFanTypeEnum::Value Ifc4x1::IfcFanType::PredefinedType() const { return ::Ifc4x1::IfcFanTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcFanTypeEnum::Value Ifc4x1::IfcFanType::PredefinedType() const { return ::Ifc4x1::IfcFanTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcFanType::setPredefinedType(::Ifc4x1::IfcFanTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcFanTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcFanType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[409]); } const IfcParse::entity& Ifc4x1::IfcFanType::Class() { return *((IfcParse::entity*)IFC4X1_types[409]); } Ifc4x1::IfcFanType::IfcFanType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(e)) { } -Ifc4x1::IfcFanType::IfcFanType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFanTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcFanType::IfcFanType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFanTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFastener -boost::optional< ::Ifc4x1::IfcFastenerTypeEnum::Value > Ifc4x1::IfcFastener::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcFastenerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcFastenerTypeEnum::Value > Ifc4x1::IfcFastener::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcFastenerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcFastener::setPredefinedType(boost::optional< ::Ifc4x1::IfcFastenerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcFastenerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcFastener::declaration() const { return *((IfcParse::entity*)IFC4X1_types[411]); } const IfcParse::entity& Ifc4x1::IfcFastener::Class() { return *((IfcParse::entity*)IFC4X1_types[411]); } Ifc4x1::IfcFastener::IfcFastener(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x1::IfcFastener::IfcFastener(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcFastenerTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcFastener::IfcFastener(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcFastenerTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFastenerType -::Ifc4x1::IfcFastenerTypeEnum::Value Ifc4x1::IfcFastenerType::PredefinedType() const { return ::Ifc4x1::IfcFastenerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcFastenerTypeEnum::Value Ifc4x1::IfcFastenerType::PredefinedType() const { return ::Ifc4x1::IfcFastenerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcFastenerType::setPredefinedType(::Ifc4x1::IfcFastenerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcFastenerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcFastenerType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[412]); } const IfcParse::entity& Ifc4x1::IfcFastenerType::Class() { return *((IfcParse::entity*)IFC4X1_types[412]); } Ifc4x1::IfcFastenerType::IfcFastenerType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x1::IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFastenerTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFastenerTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFeatureElement @@ -10008,7 +10008,7 @@ Ifc4x1::IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, ::Ifc4x1::IfcO const IfcParse::entity& Ifc4x1::IfcFeatureElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[414]); } const IfcParse::entity& Ifc4x1::IfcFeatureElement::Class() { return *((IfcParse::entity*)IFC4X1_types[414]); } Ifc4x1::IfcFeatureElement::IfcFeatureElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x1::IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x1::IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFeatureElementAddition @@ -10017,7 +10017,7 @@ Ifc4x1::IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, ::Ifc4x1:: const IfcParse::entity& Ifc4x1::IfcFeatureElementAddition::declaration() const { return *((IfcParse::entity*)IFC4X1_types[415]); } const IfcParse::entity& Ifc4x1::IfcFeatureElementAddition::Class() { return *((IfcParse::entity*)IFC4X1_types[415]); } Ifc4x1::IfcFeatureElementAddition::IfcFeatureElementAddition(IfcEntityInstanceData&& e) : IfcFeatureElement(std::move(e)) { } -Ifc4x1::IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x1::IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFeatureElementSubtraction @@ -10026,107 +10026,107 @@ Ifc4x1::IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_Glob const IfcParse::entity& Ifc4x1::IfcFeatureElementSubtraction::declaration() const { return *((IfcParse::entity*)IFC4X1_types[416]); } const IfcParse::entity& Ifc4x1::IfcFeatureElementSubtraction::Class() { return *((IfcParse::entity*)IFC4X1_types[416]); } Ifc4x1::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntityInstanceData&& e) : IfcFeatureElement(std::move(e)) { } -Ifc4x1::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x1::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFillAreaStyle -aggregate_of< ::Ifc4x1::IfcFillStyleSelect >::ptr Ifc4x1::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x1::IfcFillStyleSelect >(); } +aggregate_of< ::Ifc4x1::IfcFillStyleSelect >::ptr Ifc4x1::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x1::IfcFillStyleSelect >(); } void Ifc4x1::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x1::IfcFillStyleSelect >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< bool > Ifc4x1::IfcFillAreaStyle::ModelorDraughting() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } bool v = data_.get_attribute_value(2); return v; } +boost::optional< bool > Ifc4x1::IfcFillAreaStyle::ModelorDraughting() const { if(get_attribute_value(2).isNull()) { return boost::none; } bool v = get_attribute_value(2); return v; } void Ifc4x1::IfcFillAreaStyle::setModelorDraughting(boost::optional< bool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x1::IfcFillAreaStyle::declaration() const { return *((IfcParse::entity*)IFC4X1_types[417]); } const IfcParse::entity& Ifc4x1::IfcFillAreaStyle::Class() { return *((IfcParse::entity*)IFC4X1_types[417]); } Ifc4x1::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x1::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x1::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_FillStyles)->generalize()); if (v3_ModelorDraughting) {set_attribute_value(2, (*v3_ModelorDraughting)); }; populate_derived(); } +Ifc4x1::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x1::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_FillStyles)->generalize()); if (v3_ModelorDraughting) {set_attribute_value(2, (*v3_ModelorDraughting)); }; populate_derived(); } // Function implementations for IfcFillAreaStyleHatching -::Ifc4x1::IfcCurveStyle* Ifc4x1::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcCurveStyle>(true); } +::Ifc4x1::IfcCurveStyle* Ifc4x1::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcCurveStyle>(true); } void Ifc4x1::IfcFillAreaStyleHatching::setHatchLineAppearance(::Ifc4x1::IfcCurveStyle* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcHatchLineDistanceSelect* Ifc4x1::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcHatchLineDistanceSelect>(true); } +::Ifc4x1::IfcHatchLineDistanceSelect* Ifc4x1::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcHatchLineDistanceSelect>(true); } void Ifc4x1::IfcFillAreaStyleHatching::setStartOfNextHatchLine(::Ifc4x1::IfcHatchLineDistanceSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcCartesianPoint* Ifc4x1::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcCartesianPoint>(true); } +::Ifc4x1::IfcCartesianPoint* Ifc4x1::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcCartesianPoint>(true); } void Ifc4x1::IfcFillAreaStyleHatching::setPointOfReferenceHatchLine(::Ifc4x1::IfcCartesianPoint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcCartesianPoint* Ifc4x1::IfcFillAreaStyleHatching::PatternStart() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcCartesianPoint>(true); } +::Ifc4x1::IfcCartesianPoint* Ifc4x1::IfcFillAreaStyleHatching::PatternStart() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcCartesianPoint>(true); } void Ifc4x1::IfcFillAreaStyleHatching::setPatternStart(::Ifc4x1::IfcCartesianPoint* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -double Ifc4x1::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x1::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = get_attribute_value(4); return v; } void Ifc4x1::IfcFillAreaStyleHatching::setHatchLineAngle(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x1::IfcFillAreaStyleHatching::declaration() const { return *((IfcParse::entity*)IFC4X1_types[418]); } const IfcParse::entity& Ifc4x1::IfcFillAreaStyleHatching::Class() { return *((IfcParse::entity*)IFC4X1_types[418]); } Ifc4x1::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x1::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(::Ifc4x1::IfcCurveStyle* v1_HatchLineAppearance, ::Ifc4x1::IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, ::Ifc4x1::IfcCartesianPoint* v3_PointOfReferenceHatchLine, ::Ifc4x1::IfcCartesianPoint* v4_PatternStart, double v5_HatchLineAngle) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_HatchLineAppearance ? v1_HatchLineAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_StartOfNextHatchLine ? v2_StartOfNextHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PointOfReferenceHatchLine ? v3_PointOfReferenceHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PatternStart ? v4_PatternStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_HatchLineAngle));; populate_derived(); } +Ifc4x1::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(::Ifc4x1::IfcCurveStyle* v1_HatchLineAppearance, ::Ifc4x1::IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, ::Ifc4x1::IfcCartesianPoint* v3_PointOfReferenceHatchLine, ::Ifc4x1::IfcCartesianPoint* v4_PatternStart, double v5_HatchLineAngle) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_HatchLineAppearance ? v1_HatchLineAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_StartOfNextHatchLine ? v2_StartOfNextHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PointOfReferenceHatchLine ? v3_PointOfReferenceHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PatternStart ? v4_PatternStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_HatchLineAngle));; populate_derived(); } // Function implementations for IfcFillAreaStyleTiles -aggregate_of< ::Ifc4x1::IfcVector >::ptr Ifc4x1::IfcFillAreaStyleTiles::TilingPattern() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x1::IfcVector >(); } +aggregate_of< ::Ifc4x1::IfcVector >::ptr Ifc4x1::IfcFillAreaStyleTiles::TilingPattern() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x1::IfcVector >(); } void Ifc4x1::IfcFillAreaStyleTiles::setTilingPattern(aggregate_of< ::Ifc4x1::IfcVector >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x1::IfcStyledItem >::ptr Ifc4x1::IfcFillAreaStyleTiles::Tiles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x1::IfcStyledItem >(); } +aggregate_of< ::Ifc4x1::IfcStyledItem >::ptr Ifc4x1::IfcFillAreaStyleTiles::Tiles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x1::IfcStyledItem >(); } void Ifc4x1::IfcFillAreaStyleTiles::setTiles(aggregate_of< ::Ifc4x1::IfcStyledItem >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -double Ifc4x1::IfcFillAreaStyleTiles::TilingScale() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x1::IfcFillAreaStyleTiles::TilingScale() const { double v = get_attribute_value(2); return v; } void Ifc4x1::IfcFillAreaStyleTiles::setTilingScale(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x1::IfcFillAreaStyleTiles::declaration() const { return *((IfcParse::entity*)IFC4X1_types[419]); } const IfcParse::entity& Ifc4x1::IfcFillAreaStyleTiles::Class() { return *((IfcParse::entity*)IFC4X1_types[419]); } Ifc4x1::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x1::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(aggregate_of< ::Ifc4x1::IfcVector >::ptr v1_TilingPattern, aggregate_of< ::Ifc4x1::IfcStyledItem >::ptr v2_Tiles, double v3_TilingScale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_TilingPattern)->generalize());set_attribute_value(1, (v2_Tiles)->generalize());set_attribute_value(2, (v3_TilingScale));; populate_derived(); } +Ifc4x1::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(aggregate_of< ::Ifc4x1::IfcVector >::ptr v1_TilingPattern, aggregate_of< ::Ifc4x1::IfcStyledItem >::ptr v2_Tiles, double v3_TilingScale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_TilingPattern)->generalize());set_attribute_value(1, (v2_Tiles)->generalize());set_attribute_value(2, (v3_TilingScale));; populate_derived(); } // Function implementations for IfcFilter -boost::optional< ::Ifc4x1::IfcFilterTypeEnum::Value > Ifc4x1::IfcFilter::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcFilterTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcFilterTypeEnum::Value > Ifc4x1::IfcFilter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcFilterTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcFilter::setPredefinedType(boost::optional< ::Ifc4x1::IfcFilterTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcFilterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcFilter::declaration() const { return *((IfcParse::entity*)IFC4X1_types[421]); } const IfcParse::entity& Ifc4x1::IfcFilter::Class() { return *((IfcParse::entity*)IFC4X1_types[421]); } Ifc4x1::IfcFilter::IfcFilter(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4x1::IfcFilter::IfcFilter(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcFilterTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcFilter::IfcFilter(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcFilterTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFilterType -::Ifc4x1::IfcFilterTypeEnum::Value Ifc4x1::IfcFilterType::PredefinedType() const { return ::Ifc4x1::IfcFilterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcFilterTypeEnum::Value Ifc4x1::IfcFilterType::PredefinedType() const { return ::Ifc4x1::IfcFilterTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcFilterType::setPredefinedType(::Ifc4x1::IfcFilterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcFilterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcFilterType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[422]); } const IfcParse::entity& Ifc4x1::IfcFilterType::Class() { return *((IfcParse::entity*)IFC4X1_types[422]); } Ifc4x1::IfcFilterType::IfcFilterType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4x1::IfcFilterType::IfcFilterType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFilterTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcFilterType::IfcFilterType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFilterTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFireSuppressionTerminal -boost::optional< ::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x1::IfcFireSuppressionTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x1::IfcFireSuppressionTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcFireSuppressionTerminal::setPredefinedType(boost::optional< ::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcFireSuppressionTerminal::declaration() const { return *((IfcParse::entity*)IFC4X1_types[424]); } const IfcParse::entity& Ifc4x1::IfcFireSuppressionTerminal::Class() { return *((IfcParse::entity*)IFC4X1_types[424]); } Ifc4x1::IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x1::IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFireSuppressionTerminalType -::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x1::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x1::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcFireSuppressionTerminalType::setPredefinedType(::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcFireSuppressionTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[425]); } const IfcParse::entity& Ifc4x1::IfcFireSuppressionTerminalType::Class() { return *((IfcParse::entity*)IFC4X1_types[425]); } Ifc4x1::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x1::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFixedReferenceSweptAreaSolid -::Ifc4x1::IfcCurve* Ifc4x1::IfcFixedReferenceSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcCurve>(true); } +::Ifc4x1::IfcCurve* Ifc4x1::IfcFixedReferenceSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcFixedReferenceSweptAreaSolid::setDirectrix(::Ifc4x1::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4x1::IfcFixedReferenceSweptAreaSolid::StartParam() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x1::IfcFixedReferenceSweptAreaSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x1::IfcFixedReferenceSweptAreaSolid::setStartParam(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x1::IfcFixedReferenceSweptAreaSolid::EndParam() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x1::IfcFixedReferenceSweptAreaSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x1::IfcFixedReferenceSweptAreaSolid::setEndParam(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x1::IfcDirection* Ifc4x1::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcDirection>(true); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcFixedReferenceSweptAreaSolid::setFixedReference(::Ifc4x1::IfcDirection* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x1::IfcFixedReferenceSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X1_types[427]); } const IfcParse::entity& Ifc4x1::IfcFixedReferenceSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X1_types[427]); } Ifc4x1::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4x1::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(::Ifc4x1::IfcProfileDef* v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D* v2_Position, ::Ifc4x1::IfcCurve* v3_Directrix, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, ::Ifc4x1::IfcDirection* v6_FixedReference) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }set_attribute_value(5, v6_FixedReference ? v6_FixedReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(::Ifc4x1::IfcProfileDef* v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D* v2_Position, ::Ifc4x1::IfcCurve* v3_Directrix, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, ::Ifc4x1::IfcDirection* v6_FixedReference) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }set_attribute_value(5, v6_FixedReference ? v6_FixedReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcFlowController @@ -10134,7 +10134,7 @@ Ifc4x1::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(::Ifc4x const IfcParse::entity& Ifc4x1::IfcFlowController::declaration() const { return *((IfcParse::entity*)IFC4X1_types[428]); } const IfcParse::entity& Ifc4x1::IfcFlowController::Class() { return *((IfcParse::entity*)IFC4X1_types[428]); } Ifc4x1::IfcFlowController::IfcFlowController(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x1::IfcFlowController::IfcFlowController(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x1::IfcFlowController::IfcFlowController(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowControllerType @@ -10142,7 +10142,7 @@ Ifc4x1::IfcFlowController::IfcFlowController(std::string v1_GlobalId, ::Ifc4x1:: const IfcParse::entity& Ifc4x1::IfcFlowControllerType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[429]); } const IfcParse::entity& Ifc4x1::IfcFlowControllerType::Class() { return *((IfcParse::entity*)IFC4X1_types[429]); } Ifc4x1::IfcFlowControllerType::IfcFlowControllerType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x1::IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x1::IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowFitting @@ -10150,7 +10150,7 @@ Ifc4x1::IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x1::IfcFlowFitting::declaration() const { return *((IfcParse::entity*)IFC4X1_types[431]); } const IfcParse::entity& Ifc4x1::IfcFlowFitting::Class() { return *((IfcParse::entity*)IFC4X1_types[431]); } Ifc4x1::IfcFlowFitting::IfcFlowFitting(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x1::IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x1::IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowFittingType @@ -10158,47 +10158,47 @@ Ifc4x1::IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, ::Ifc4x1::IfcOwn const IfcParse::entity& Ifc4x1::IfcFlowFittingType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[432]); } const IfcParse::entity& Ifc4x1::IfcFlowFittingType::Class() { return *((IfcParse::entity*)IFC4X1_types[432]); } Ifc4x1::IfcFlowFittingType::IfcFlowFittingType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x1::IfcFlowFittingType::IfcFlowFittingType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x1::IfcFlowFittingType::IfcFlowFittingType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowInstrument -boost::optional< ::Ifc4x1::IfcFlowInstrumentTypeEnum::Value > Ifc4x1::IfcFlowInstrument::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcFlowInstrumentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcFlowInstrumentTypeEnum::Value > Ifc4x1::IfcFlowInstrument::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcFlowInstrument::setPredefinedType(boost::optional< ::Ifc4x1::IfcFlowInstrumentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcFlowInstrumentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcFlowInstrument::declaration() const { return *((IfcParse::entity*)IFC4X1_types[433]); } const IfcParse::entity& Ifc4x1::IfcFlowInstrument::Class() { return *((IfcParse::entity*)IFC4X1_types[433]); } Ifc4x1::IfcFlowInstrument::IfcFlowInstrument(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x1::IfcFlowInstrument::IfcFlowInstrument(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcFlowInstrument::IfcFlowInstrument(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFlowInstrumentType -::Ifc4x1::IfcFlowInstrumentTypeEnum::Value Ifc4x1::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4x1::IfcFlowInstrumentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcFlowInstrumentTypeEnum::Value Ifc4x1::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4x1::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcFlowInstrumentType::setPredefinedType(::Ifc4x1::IfcFlowInstrumentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcFlowInstrumentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcFlowInstrumentType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[434]); } const IfcParse::entity& Ifc4x1::IfcFlowInstrumentType::Class() { return *((IfcParse::entity*)IFC4X1_types[434]); } Ifc4x1::IfcFlowInstrumentType::IfcFlowInstrumentType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x1::IfcFlowInstrumentType::IfcFlowInstrumentType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcFlowInstrumentType::IfcFlowInstrumentType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFlowMeter -boost::optional< ::Ifc4x1::IfcFlowMeterTypeEnum::Value > Ifc4x1::IfcFlowMeter::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcFlowMeterTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcFlowMeterTypeEnum::Value > Ifc4x1::IfcFlowMeter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcFlowMeterTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcFlowMeter::setPredefinedType(boost::optional< ::Ifc4x1::IfcFlowMeterTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcFlowMeterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcFlowMeter::declaration() const { return *((IfcParse::entity*)IFC4X1_types[436]); } const IfcParse::entity& Ifc4x1::IfcFlowMeter::Class() { return *((IfcParse::entity*)IFC4X1_types[436]); } Ifc4x1::IfcFlowMeter::IfcFlowMeter(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x1::IfcFlowMeter::IfcFlowMeter(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcFlowMeter::IfcFlowMeter(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFlowMeterType -::Ifc4x1::IfcFlowMeterTypeEnum::Value Ifc4x1::IfcFlowMeterType::PredefinedType() const { return ::Ifc4x1::IfcFlowMeterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcFlowMeterTypeEnum::Value Ifc4x1::IfcFlowMeterType::PredefinedType() const { return ::Ifc4x1::IfcFlowMeterTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcFlowMeterType::setPredefinedType(::Ifc4x1::IfcFlowMeterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcFlowMeterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcFlowMeterType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[437]); } const IfcParse::entity& Ifc4x1::IfcFlowMeterType::Class() { return *((IfcParse::entity*)IFC4X1_types[437]); } Ifc4x1::IfcFlowMeterType::IfcFlowMeterType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x1::IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFlowMeterTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFlowMeterTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFlowMovingDevice @@ -10206,7 +10206,7 @@ Ifc4x1::IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, ::Ifc4x1::If const IfcParse::entity& Ifc4x1::IfcFlowMovingDevice::declaration() const { return *((IfcParse::entity*)IFC4X1_types[439]); } const IfcParse::entity& Ifc4x1::IfcFlowMovingDevice::Class() { return *((IfcParse::entity*)IFC4X1_types[439]); } Ifc4x1::IfcFlowMovingDevice::IfcFlowMovingDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x1::IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x1::IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowMovingDeviceType @@ -10214,7 +10214,7 @@ Ifc4x1::IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x1::IfcFlowMovingDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[440]); } const IfcParse::entity& Ifc4x1::IfcFlowMovingDeviceType::Class() { return *((IfcParse::entity*)IFC4X1_types[440]); } Ifc4x1::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x1::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x1::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowSegment @@ -10222,7 +10222,7 @@ Ifc4x1::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_GlobalId const IfcParse::entity& Ifc4x1::IfcFlowSegment::declaration() const { return *((IfcParse::entity*)IFC4X1_types[441]); } const IfcParse::entity& Ifc4x1::IfcFlowSegment::Class() { return *((IfcParse::entity*)IFC4X1_types[441]); } Ifc4x1::IfcFlowSegment::IfcFlowSegment(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x1::IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x1::IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowSegmentType @@ -10230,7 +10230,7 @@ Ifc4x1::IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, ::Ifc4x1::IfcOwn const IfcParse::entity& Ifc4x1::IfcFlowSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[442]); } const IfcParse::entity& Ifc4x1::IfcFlowSegmentType::Class() { return *((IfcParse::entity*)IFC4X1_types[442]); } Ifc4x1::IfcFlowSegmentType::IfcFlowSegmentType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x1::IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x1::IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowStorageDevice @@ -10238,7 +10238,7 @@ Ifc4x1::IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, ::Ifc4x1 const IfcParse::entity& Ifc4x1::IfcFlowStorageDevice::declaration() const { return *((IfcParse::entity*)IFC4X1_types[443]); } const IfcParse::entity& Ifc4x1::IfcFlowStorageDevice::Class() { return *((IfcParse::entity*)IFC4X1_types[443]); } Ifc4x1::IfcFlowStorageDevice::IfcFlowStorageDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x1::IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x1::IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowStorageDeviceType @@ -10246,7 +10246,7 @@ Ifc4x1::IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x1::IfcFlowStorageDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[444]); } const IfcParse::entity& Ifc4x1::IfcFlowStorageDeviceType::Class() { return *((IfcParse::entity*)IFC4X1_types[444]); } Ifc4x1::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x1::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x1::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowTerminal @@ -10254,7 +10254,7 @@ Ifc4x1::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_Global const IfcParse::entity& Ifc4x1::IfcFlowTerminal::declaration() const { return *((IfcParse::entity*)IFC4X1_types[445]); } const IfcParse::entity& Ifc4x1::IfcFlowTerminal::Class() { return *((IfcParse::entity*)IFC4X1_types[445]); } Ifc4x1::IfcFlowTerminal::IfcFlowTerminal(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x1::IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x1::IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowTerminalType @@ -10262,7 +10262,7 @@ Ifc4x1::IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, ::Ifc4x1::IfcO const IfcParse::entity& Ifc4x1::IfcFlowTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[446]); } const IfcParse::entity& Ifc4x1::IfcFlowTerminalType::Class() { return *((IfcParse::entity*)IFC4X1_types[446]); } Ifc4x1::IfcFlowTerminalType::IfcFlowTerminalType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x1::IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x1::IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowTreatmentDevice @@ -10270,7 +10270,7 @@ Ifc4x1::IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x1::IfcFlowTreatmentDevice::declaration() const { return *((IfcParse::entity*)IFC4X1_types[447]); } const IfcParse::entity& Ifc4x1::IfcFlowTreatmentDevice::Class() { return *((IfcParse::entity*)IFC4X1_types[447]); } Ifc4x1::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x1::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x1::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowTreatmentDeviceType @@ -10278,27 +10278,27 @@ Ifc4x1::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_GlobalId, const IfcParse::entity& Ifc4x1::IfcFlowTreatmentDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[448]); } const IfcParse::entity& Ifc4x1::IfcFlowTreatmentDeviceType::Class() { return *((IfcParse::entity*)IFC4X1_types[448]); } Ifc4x1::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x1::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x1::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFooting -boost::optional< ::Ifc4x1::IfcFootingTypeEnum::Value > Ifc4x1::IfcFooting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcFootingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcFootingTypeEnum::Value > Ifc4x1::IfcFooting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcFootingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcFooting::setPredefinedType(boost::optional< ::Ifc4x1::IfcFootingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcFootingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcFooting::declaration() const { return *((IfcParse::entity*)IFC4X1_types[452]); } const IfcParse::entity& Ifc4x1::IfcFooting::Class() { return *((IfcParse::entity*)IFC4X1_types[452]); } Ifc4x1::IfcFooting::IfcFooting(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x1::IfcFooting::IfcFooting(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcFootingTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcFooting::IfcFooting(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcFootingTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFootingType -::Ifc4x1::IfcFootingTypeEnum::Value Ifc4x1::IfcFootingType::PredefinedType() const { return ::Ifc4x1::IfcFootingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcFootingTypeEnum::Value Ifc4x1::IfcFootingType::PredefinedType() const { return ::Ifc4x1::IfcFootingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcFootingType::setPredefinedType(::Ifc4x1::IfcFootingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcFootingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcFootingType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[453]); } const IfcParse::entity& Ifc4x1::IfcFootingType::Class() { return *((IfcParse::entity*)IFC4X1_types[453]); } Ifc4x1::IfcFootingType::IfcFootingType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x1::IfcFootingType::IfcFootingType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFootingTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcFootingType::IfcFootingType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcFootingTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFurnishingElement @@ -10306,7 +10306,7 @@ Ifc4x1::IfcFootingType::IfcFootingType(std::string v1_GlobalId, ::Ifc4x1::IfcOwn const IfcParse::entity& Ifc4x1::IfcFurnishingElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[457]); } const IfcParse::entity& Ifc4x1::IfcFurnishingElement::Class() { return *((IfcParse::entity*)IFC4X1_types[457]); } Ifc4x1::IfcFurnishingElement::IfcFurnishingElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x1::IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x1::IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFurnishingElementType @@ -10314,49 +10314,49 @@ Ifc4x1::IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x1::IfcFurnishingElementType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[458]); } const IfcParse::entity& Ifc4x1::IfcFurnishingElementType::Class() { return *((IfcParse::entity*)IFC4X1_types[458]); } Ifc4x1::IfcFurnishingElementType::IfcFurnishingElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x1::IfcFurnishingElementType::IfcFurnishingElementType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x1::IfcFurnishingElementType::IfcFurnishingElementType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFurniture -boost::optional< ::Ifc4x1::IfcFurnitureTypeEnum::Value > Ifc4x1::IfcFurniture::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcFurnitureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcFurnitureTypeEnum::Value > Ifc4x1::IfcFurniture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcFurnitureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcFurniture::setPredefinedType(boost::optional< ::Ifc4x1::IfcFurnitureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcFurnitureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcFurniture::declaration() const { return *((IfcParse::entity*)IFC4X1_types[459]); } const IfcParse::entity& Ifc4x1::IfcFurniture::Class() { return *((IfcParse::entity*)IFC4X1_types[459]); } Ifc4x1::IfcFurniture::IfcFurniture(IfcEntityInstanceData&& e) : IfcFurnishingElement(std::move(e)) { } -Ifc4x1::IfcFurniture::IfcFurniture(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcFurnitureTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcFurniture::IfcFurniture(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcFurnitureTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFurnitureType -::Ifc4x1::IfcAssemblyPlaceEnum::Value Ifc4x1::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x1::IfcAssemblyPlaceEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcAssemblyPlaceEnum::Value Ifc4x1::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x1::IfcAssemblyPlaceEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcFurnitureType::setAssemblyPlace(::Ifc4x1::IfcAssemblyPlaceEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcAssemblyPlaceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< ::Ifc4x1::IfcFurnitureTypeEnum::Value > Ifc4x1::IfcFurnitureType::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x1::IfcFurnitureTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x1::IfcFurnitureTypeEnum::Value > Ifc4x1::IfcFurnitureType::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x1::IfcFurnitureTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x1::IfcFurnitureType::setPredefinedType(boost::optional< ::Ifc4x1::IfcFurnitureTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x1::IfcFurnitureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x1::IfcFurnitureType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[460]); } const IfcParse::entity& Ifc4x1::IfcFurnitureType::Class() { return *((IfcParse::entity*)IFC4X1_types[460]); } Ifc4x1::IfcFurnitureType::IfcFurnitureType(IfcEntityInstanceData&& e) : IfcFurnishingElementType(std::move(e)) { } -Ifc4x1::IfcFurnitureType::IfcFurnitureType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, boost::optional< ::Ifc4x1::IfcFurnitureTypeEnum::Value > v11_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcFurnitureType::IfcFurnitureType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, boost::optional< ::Ifc4x1::IfcFurnitureTypeEnum::Value > v11_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGeographicElement -boost::optional< ::Ifc4x1::IfcGeographicElementTypeEnum::Value > Ifc4x1::IfcGeographicElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcGeographicElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcGeographicElementTypeEnum::Value > Ifc4x1::IfcGeographicElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcGeographicElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcGeographicElement::setPredefinedType(boost::optional< ::Ifc4x1::IfcGeographicElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcGeographicElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcGeographicElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[462]); } const IfcParse::entity& Ifc4x1::IfcGeographicElement::Class() { return *((IfcParse::entity*)IFC4X1_types[462]); } Ifc4x1::IfcGeographicElement::IfcGeographicElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x1::IfcGeographicElement::IfcGeographicElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) : IfcElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcGeographicElement::IfcGeographicElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGeographicElementType -::Ifc4x1::IfcGeographicElementTypeEnum::Value Ifc4x1::IfcGeographicElementType::PredefinedType() const { return ::Ifc4x1::IfcGeographicElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcGeographicElementTypeEnum::Value Ifc4x1::IfcGeographicElementType::PredefinedType() const { return ::Ifc4x1::IfcGeographicElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcGeographicElementType::setPredefinedType(::Ifc4x1::IfcGeographicElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcGeographicElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcGeographicElementType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[463]); } const IfcParse::entity& Ifc4x1::IfcGeographicElementType::Class() { return *((IfcParse::entity*)IFC4X1_types[463]); } Ifc4x1::IfcGeographicElementType::IfcGeographicElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x1::IfcGeographicElementType::IfcGeographicElementType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcGeographicElementTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcGeographicElementType::IfcGeographicElementType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcGeographicElementTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcGeometricCurveSet @@ -10364,16 +10364,16 @@ Ifc4x1::IfcGeographicElementType::IfcGeographicElementType(std::string v1_Global const IfcParse::entity& Ifc4x1::IfcGeometricCurveSet::declaration() const { return *((IfcParse::entity*)IFC4X1_types[465]); } const IfcParse::entity& Ifc4x1::IfcGeometricCurveSet::Class() { return *((IfcParse::entity*)IFC4X1_types[465]); } Ifc4x1::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData&& e) : IfcGeometricSet(std::move(e)) { } -Ifc4x1::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } +Ifc4x1::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } // Function implementations for IfcGeometricRepresentationContext -int Ifc4x1::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = data_.get_attribute_value(2); return v; } +int Ifc4x1::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = get_attribute_value(2); return v; } void Ifc4x1::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(int v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4x1::IfcGeometricRepresentationContext::Precision() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x1::IfcGeometricRepresentationContext::Precision() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x1::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x1::IfcAxis2Placement* Ifc4x1::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x1::IfcAxis2Placement>(true); } +::Ifc4x1::IfcAxis2Placement* Ifc4x1::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x1::IfcAxis2Placement>(true); } void Ifc4x1::IfcGeometricRepresentationContext::setWorldCoordinateSystem(::Ifc4x1::IfcAxis2Placement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcDirection* Ifc4x1::IfcGeometricRepresentationContext::TrueNorth() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcDirection>(true); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcGeometricRepresentationContext::TrueNorth() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcGeometricRepresentationContext::setTrueNorth(::Ifc4x1::IfcDirection* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc4x1::IfcGeometricRepresentationSubContext::list::ptr Ifc4x1::IfcGeometricRepresentationContext::HasSubContexts() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[469], 6)->as(); } @@ -10382,7 +10382,7 @@ void Ifc4x1::IfcGeometricRepresentationContext::setTrueNorth(::Ifc4x1::IfcDirect const IfcParse::entity& Ifc4x1::IfcGeometricRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X1_types[467]); } const IfcParse::entity& Ifc4x1::IfcGeometricRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X1_types[467]); } Ifc4x1::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(IfcEntityInstanceData&& e) : IfcRepresentationContext(std::move(e)) { } -Ifc4x1::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, ::Ifc4x1::IfcAxis2Placement* v5_WorldCoordinateSystem, ::Ifc4x1::IfcDirection* v6_TrueNorth) : IfcRepresentationContext(IfcEntityInstanceData(storage_t(6))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, v5_WorldCoordinateSystem ? v5_WorldCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_TrueNorth ? v6_TrueNorth->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, ::Ifc4x1::IfcAxis2Placement* v5_WorldCoordinateSystem, ::Ifc4x1::IfcDirection* v6_TrueNorth) : IfcRepresentationContext(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, v5_WorldCoordinateSystem ? v5_WorldCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_TrueNorth ? v6_TrueNorth->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcGeometricRepresentationItem @@ -10390,56 +10390,56 @@ Ifc4x1::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boo const IfcParse::entity& Ifc4x1::IfcGeometricRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X1_types[468]); } const IfcParse::entity& Ifc4x1::IfcGeometricRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X1_types[468]); } Ifc4x1::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x1::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x1::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcGeometricRepresentationSubContext -::Ifc4x1::IfcGeometricRepresentationContext* Ifc4x1::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x1::IfcGeometricRepresentationContext>(true); } +::Ifc4x1::IfcGeometricRepresentationContext* Ifc4x1::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x1::IfcGeometricRepresentationContext>(true); } void Ifc4x1::IfcGeometricRepresentationSubContext::setParentContext(::Ifc4x1::IfcGeometricRepresentationContext* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x1::IfcGeometricRepresentationSubContext::TargetScale() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x1::IfcGeometricRepresentationSubContext::TargetScale() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x1::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x1::IfcGeometricProjectionEnum::Value Ifc4x1::IfcGeometricRepresentationSubContext::TargetView() const { return ::Ifc4x1::IfcGeometricProjectionEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x1::IfcGeometricProjectionEnum::Value Ifc4x1::IfcGeometricRepresentationSubContext::TargetView() const { return ::Ifc4x1::IfcGeometricProjectionEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcGeometricRepresentationSubContext::setTargetView(::Ifc4x1::IfcGeometricProjectionEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcGeometricProjectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -boost::optional< std::string > Ifc4x1::IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x1::IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x1::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x1::IfcGeometricRepresentationSubContext::declaration() const { return *((IfcParse::entity*)IFC4X1_types[469]); } const IfcParse::entity& Ifc4x1::IfcGeometricRepresentationSubContext::Class() { return *((IfcParse::entity*)IFC4X1_types[469]); } Ifc4x1::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(IfcEntityInstanceData&& e) : IfcGeometricRepresentationContext(std::move(e)) { } -Ifc4x1::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x1::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x1::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext(IfcEntityInstanceData(storage_t(10))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, v7_ParentContext ? v7_ParentContext->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; populate_derived(); } +Ifc4x1::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x1::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x1::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, v7_ParentContext ? v7_ParentContext->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; populate_derived(); } // Function implementations for IfcGeometricSet -aggregate_of< ::Ifc4x1::IfcGeometricSetSelect >::ptr Ifc4x1::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x1::IfcGeometricSetSelect >(); } +aggregate_of< ::Ifc4x1::IfcGeometricSetSelect >::ptr Ifc4x1::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x1::IfcGeometricSetSelect >(); } void Ifc4x1::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x1::IfcGeometricSetSelect >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x1::IfcGeometricSet::declaration() const { return *((IfcParse::entity*)IFC4X1_types[470]); } const IfcParse::entity& Ifc4x1::IfcGeometricSet::Class() { return *((IfcParse::entity*)IFC4X1_types[470]); } Ifc4x1::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x1::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } +Ifc4x1::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } // Function implementations for IfcGrid -aggregate_of< ::Ifc4x1::IfcGridAxis >::ptr Ifc4x1::IfcGrid::UAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x1::IfcGridAxis >(); } +aggregate_of< ::Ifc4x1::IfcGridAxis >::ptr Ifc4x1::IfcGrid::UAxes() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x1::IfcGridAxis >(); } void Ifc4x1::IfcGrid::setUAxes(aggregate_of< ::Ifc4x1::IfcGridAxis >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } -aggregate_of< ::Ifc4x1::IfcGridAxis >::ptr Ifc4x1::IfcGrid::VAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x1::IfcGridAxis >(); } +aggregate_of< ::Ifc4x1::IfcGridAxis >::ptr Ifc4x1::IfcGrid::VAxes() const { aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x1::IfcGridAxis >(); } void Ifc4x1::IfcGrid::setVAxes(aggregate_of< ::Ifc4x1::IfcGridAxis >::ptr v) { set_attribute_value(8, (v)->generalize());if constexpr (false)unset_attribute_value(8); } -boost::optional< aggregate_of< ::Ifc4x1::IfcGridAxis >::ptr > Ifc4x1::IfcGrid::WAxes() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x1::IfcGridAxis >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcGridAxis >::ptr > Ifc4x1::IfcGrid::WAxes() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x1::IfcGridAxis >(); } void Ifc4x1::IfcGrid::setWAxes(boost::optional< aggregate_of< ::Ifc4x1::IfcGridAxis >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x1::IfcGridTypeEnum::Value > Ifc4x1::IfcGrid::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x1::IfcGridTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x1::IfcGridTypeEnum::Value > Ifc4x1::IfcGrid::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x1::IfcGridTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x1::IfcGrid::setPredefinedType(boost::optional< ::Ifc4x1::IfcGridTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x1::IfcGridTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x1::IfcGrid::declaration() const { return *((IfcParse::entity*)IFC4X1_types[474]); } const IfcParse::entity& Ifc4x1::IfcGrid::Class() { return *((IfcParse::entity*)IFC4X1_types[474]); } Ifc4x1::IfcGrid::IfcGrid(IfcEntityInstanceData&& e) : IfcPositioningElement(std::move(e)) { } -Ifc4x1::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, aggregate_of< ::Ifc4x1::IfcGridAxis >::ptr v8_UAxes, aggregate_of< ::Ifc4x1::IfcGridAxis >::ptr v9_VAxes, boost::optional< aggregate_of< ::Ifc4x1::IfcGridAxis >::ptr > v10_WAxes, boost::optional< ::Ifc4x1::IfcGridTypeEnum::Value > v11_PredefinedType) : IfcPositioningElement(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_UAxes)->generalize());set_attribute_value(8, (v9_VAxes)->generalize()); if (v10_WAxes) {set_attribute_value(9, (*v10_WAxes)->generalize()); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, aggregate_of< ::Ifc4x1::IfcGridAxis >::ptr v8_UAxes, aggregate_of< ::Ifc4x1::IfcGridAxis >::ptr v9_VAxes, boost::optional< aggregate_of< ::Ifc4x1::IfcGridAxis >::ptr > v10_WAxes, boost::optional< ::Ifc4x1::IfcGridTypeEnum::Value > v11_PredefinedType) : IfcPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_UAxes)->generalize());set_attribute_value(8, (v9_VAxes)->generalize()); if (v10_WAxes) {set_attribute_value(9, (*v10_WAxes)->generalize()); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGridAxis -boost::optional< std::string > Ifc4x1::IfcGridAxis::AxisTag() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x1::IfcGridAxis::AxisTag() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x1::IfcCurve* Ifc4x1::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcCurve>(true); } +::Ifc4x1::IfcCurve* Ifc4x1::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcGridAxis::setAxisCurve(::Ifc4x1::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -bool Ifc4x1::IfcGridAxis::SameSense() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x1::IfcGridAxis::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x1::IfcGridAxis::setSameSense(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } ::Ifc4x1::IfcGrid::list::ptr Ifc4x1::IfcGridAxis::PartOfW() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[474], 9)->as(); } @@ -10450,19 +10450,19 @@ void Ifc4x1::IfcGridAxis::setSameSense(bool v) { set_attribute_value(2, v);if co const IfcParse::entity& Ifc4x1::IfcGridAxis::declaration() const { return *((IfcParse::entity*)IFC4X1_types[475]); } const IfcParse::entity& Ifc4x1::IfcGridAxis::Class() { return *((IfcParse::entity*)IFC4X1_types[475]); } Ifc4x1::IfcGridAxis::IfcGridAxis(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, ::Ifc4x1::IfcCurve* v2_AxisCurve, bool v3_SameSense) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, v2_AxisCurve ? v2_AxisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } +Ifc4x1::IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, ::Ifc4x1::IfcCurve* v2_AxisCurve, bool v3_SameSense) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, v2_AxisCurve ? v2_AxisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } // Function implementations for IfcGridPlacement -::Ifc4x1::IfcVirtualGridIntersection* Ifc4x1::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcVirtualGridIntersection>(true); } +::Ifc4x1::IfcVirtualGridIntersection* Ifc4x1::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcVirtualGridIntersection>(true); } void Ifc4x1::IfcGridPlacement::setPlacementLocation(::Ifc4x1::IfcVirtualGridIntersection* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcGridPlacementDirectionSelect* Ifc4x1::IfcGridPlacement::PlacementRefDirection() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcGridPlacementDirectionSelect>(true); } +::Ifc4x1::IfcGridPlacementDirectionSelect* Ifc4x1::IfcGridPlacement::PlacementRefDirection() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcGridPlacementDirectionSelect>(true); } void Ifc4x1::IfcGridPlacement::setPlacementRefDirection(::Ifc4x1::IfcGridPlacementDirectionSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcGridPlacement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[476]); } const IfcParse::entity& Ifc4x1::IfcGridPlacement::Class() { return *((IfcParse::entity*)IFC4X1_types[476]); } Ifc4x1::IfcGridPlacement::IfcGridPlacement(IfcEntityInstanceData&& e) : IfcObjectPlacement(std::move(e)) { } -Ifc4x1::IfcGridPlacement::IfcGridPlacement(::Ifc4x1::IfcVirtualGridIntersection* v1_PlacementLocation, ::Ifc4x1::IfcGridPlacementDirectionSelect* v2_PlacementRefDirection) : IfcObjectPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_PlacementLocation ? v1_PlacementLocation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementRefDirection ? v2_PlacementRefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcGridPlacement::IfcGridPlacement(::Ifc4x1::IfcVirtualGridIntersection* v1_PlacementLocation, ::Ifc4x1::IfcGridPlacementDirectionSelect* v2_PlacementRefDirection) : IfcObjectPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_PlacementLocation ? v1_PlacementLocation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementRefDirection ? v2_PlacementRefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcGroup @@ -10471,124 +10471,124 @@ Ifc4x1::IfcGridPlacement::IfcGridPlacement(::Ifc4x1::IfcVirtualGridIntersection* const IfcParse::entity& Ifc4x1::IfcGroup::declaration() const { return *((IfcParse::entity*)IFC4X1_types[479]); } const IfcParse::entity& Ifc4x1::IfcGroup::Class() { return *((IfcParse::entity*)IFC4X1_types[479]); } Ifc4x1::IfcGroup::IfcGroup(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x1::IfcGroup::IfcGroup(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc4x1::IfcGroup::IfcGroup(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcHalfSpaceSolid -::Ifc4x1::IfcSurface* Ifc4x1::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcSurface>(true); } +::Ifc4x1::IfcSurface* Ifc4x1::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcSurface>(true); } void Ifc4x1::IfcHalfSpaceSolid::setBaseSurface(::Ifc4x1::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -bool Ifc4x1::IfcHalfSpaceSolid::AgreementFlag() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x1::IfcHalfSpaceSolid::AgreementFlag() const { bool v = get_attribute_value(1); return v; } void Ifc4x1::IfcHalfSpaceSolid::setAgreementFlag(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcHalfSpaceSolid::declaration() const { return *((IfcParse::entity*)IFC4X1_types[480]); } const IfcParse::entity& Ifc4x1::IfcHalfSpaceSolid::Class() { return *((IfcParse::entity*)IFC4X1_types[480]); } Ifc4x1::IfcHalfSpaceSolid::IfcHalfSpaceSolid(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x1::IfcHalfSpaceSolid::IfcHalfSpaceSolid(::Ifc4x1::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));; populate_derived(); } +Ifc4x1::IfcHalfSpaceSolid::IfcHalfSpaceSolid(::Ifc4x1::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));; populate_derived(); } // Function implementations for IfcHeatExchanger -boost::optional< ::Ifc4x1::IfcHeatExchangerTypeEnum::Value > Ifc4x1::IfcHeatExchanger::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcHeatExchangerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcHeatExchangerTypeEnum::Value > Ifc4x1::IfcHeatExchanger::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcHeatExchanger::setPredefinedType(boost::optional< ::Ifc4x1::IfcHeatExchangerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcHeatExchangerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcHeatExchanger::declaration() const { return *((IfcParse::entity*)IFC4X1_types[482]); } const IfcParse::entity& Ifc4x1::IfcHeatExchanger::Class() { return *((IfcParse::entity*)IFC4X1_types[482]); } Ifc4x1::IfcHeatExchanger::IfcHeatExchanger(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x1::IfcHeatExchanger::IfcHeatExchanger(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcHeatExchanger::IfcHeatExchanger(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcHeatExchangerType -::Ifc4x1::IfcHeatExchangerTypeEnum::Value Ifc4x1::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4x1::IfcHeatExchangerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcHeatExchangerTypeEnum::Value Ifc4x1::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4x1::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcHeatExchangerType::setPredefinedType(::Ifc4x1::IfcHeatExchangerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcHeatExchangerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcHeatExchangerType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[483]); } const IfcParse::entity& Ifc4x1::IfcHeatExchangerType::Class() { return *((IfcParse::entity*)IFC4X1_types[483]); } Ifc4x1::IfcHeatExchangerType::IfcHeatExchangerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x1::IfcHeatExchangerType::IfcHeatExchangerType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcHeatExchangerType::IfcHeatExchangerType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcHumidifier -boost::optional< ::Ifc4x1::IfcHumidifierTypeEnum::Value > Ifc4x1::IfcHumidifier::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcHumidifierTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcHumidifierTypeEnum::Value > Ifc4x1::IfcHumidifier::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcHumidifierTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcHumidifier::setPredefinedType(boost::optional< ::Ifc4x1::IfcHumidifierTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcHumidifierTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcHumidifier::declaration() const { return *((IfcParse::entity*)IFC4X1_types[487]); } const IfcParse::entity& Ifc4x1::IfcHumidifier::Class() { return *((IfcParse::entity*)IFC4X1_types[487]); } Ifc4x1::IfcHumidifier::IfcHumidifier(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x1::IfcHumidifier::IfcHumidifier(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcHumidifierTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcHumidifier::IfcHumidifier(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcHumidifierTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcHumidifierType -::Ifc4x1::IfcHumidifierTypeEnum::Value Ifc4x1::IfcHumidifierType::PredefinedType() const { return ::Ifc4x1::IfcHumidifierTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcHumidifierTypeEnum::Value Ifc4x1::IfcHumidifierType::PredefinedType() const { return ::Ifc4x1::IfcHumidifierTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcHumidifierType::setPredefinedType(::Ifc4x1::IfcHumidifierTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcHumidifierTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcHumidifierType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[488]); } const IfcParse::entity& Ifc4x1::IfcHumidifierType::Class() { return *((IfcParse::entity*)IFC4X1_types[488]); } Ifc4x1::IfcHumidifierType::IfcHumidifierType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x1::IfcHumidifierType::IfcHumidifierType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcHumidifierTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcHumidifierType::IfcHumidifierType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcHumidifierTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcIShapeProfileDef -double Ifc4x1::IfcIShapeProfileDef::OverallWidth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x1::IfcIShapeProfileDef::OverallWidth() const { double v = get_attribute_value(3); return v; } void Ifc4x1::IfcIShapeProfileDef::setOverallWidth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x1::IfcIShapeProfileDef::OverallDepth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x1::IfcIShapeProfileDef::OverallDepth() const { double v = get_attribute_value(4); return v; } void Ifc4x1::IfcIShapeProfileDef::setOverallDepth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x1::IfcIShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x1::IfcIShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x1::IfcIShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x1::IfcIShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x1::IfcIShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x1::IfcIShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x1::IfcIShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x1::IfcIShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x1::IfcIShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x1::IfcIShapeProfileDef::FlangeEdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x1::IfcIShapeProfileDef::FlangeEdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x1::IfcIShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x1::IfcIShapeProfileDef::FlangeSlope() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x1::IfcIShapeProfileDef::FlangeSlope() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x1::IfcIShapeProfileDef::setFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x1::IfcIShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X1_types[512]); } const IfcParse::entity& Ifc4x1::IfcIShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X1_types[512]); } Ifc4x1::IfcIShapeProfileDef::IfcIShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x1::IfcIShapeProfileDef::IfcIShapeProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::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(storage_t(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } +Ifc4x1::IfcIShapeProfileDef::IfcIShapeProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::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(in_memory_attribute_storage(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } // Function implementations for IfcImageTexture -std::string Ifc4x1::IfcImageTexture::URLReference() const { std::string v = data_.get_attribute_value(5); return v; } +std::string Ifc4x1::IfcImageTexture::URLReference() const { std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcImageTexture::setURLReference(std::string v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x1::IfcImageTexture::declaration() const { return *((IfcParse::entity*)IFC4X1_types[492]); } const IfcParse::entity& Ifc4x1::IfcImageTexture::Class() { return *((IfcParse::entity*)IFC4X1_types[492]); } Ifc4x1::IfcImageTexture::IfcImageTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -Ifc4x1::IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x1::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) : IfcSurfaceTexture(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference));; populate_derived(); } +Ifc4x1::IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x1::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) : IfcSurfaceTexture(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference));; populate_derived(); } // Function implementations for IfcIndexedColourMap -::Ifc4x1::IfcTessellatedFaceSet* Ifc4x1::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcTessellatedFaceSet>(true); } +::Ifc4x1::IfcTessellatedFaceSet* Ifc4x1::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcTessellatedFaceSet>(true); } void Ifc4x1::IfcIndexedColourMap::setMappedTo(::Ifc4x1::IfcTessellatedFaceSet* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< double > Ifc4x1::IfcIndexedColourMap::Opacity() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x1::IfcIndexedColourMap::Opacity() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x1::IfcIndexedColourMap::setOpacity(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x1::IfcColourRgbList* Ifc4x1::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcColourRgbList>(true); } +::Ifc4x1::IfcColourRgbList* Ifc4x1::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcColourRgbList>(true); } void Ifc4x1::IfcIndexedColourMap::setColours(::Ifc4x1::IfcColourRgbList* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -std::vector< int > /*[1:?]*/ Ifc4x1::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +std::vector< int > /*[1:?]*/ Ifc4x1::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x1::IfcIndexedColourMap::setColourIndex(std::vector< int > /*[1:?]*/ v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcIndexedColourMap::declaration() const { return *((IfcParse::entity*)IFC4X1_types[493]); } const IfcParse::entity& Ifc4x1::IfcIndexedColourMap::Class() { return *((IfcParse::entity*)IFC4X1_types[493]); } Ifc4x1::IfcIndexedColourMap::IfcIndexedColourMap(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x1::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x1::IfcTessellatedFaceSet* v1_MappedTo, boost::optional< double > v2_Opacity, ::Ifc4x1::IfcColourRgbList* v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) : IfcPresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_MappedTo ? v1_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, v3_Colours ? v3_Colours->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ColourIndex));; populate_derived(); } +Ifc4x1::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x1::IfcTessellatedFaceSet* v1_MappedTo, boost::optional< double > v2_Opacity, ::Ifc4x1::IfcColourRgbList* v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_MappedTo ? v1_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, v3_Colours ? v3_Colours->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ColourIndex));; populate_derived(); } // Function implementations for IfcIndexedPolyCurve -::Ifc4x1::IfcCartesianPointList* Ifc4x1::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcCartesianPointList>(true); } +::Ifc4x1::IfcCartesianPointList* Ifc4x1::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcCartesianPointList>(true); } void Ifc4x1::IfcIndexedPolyCurve::setPoints(::Ifc4x1::IfcCartesianPointList* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< aggregate_of< ::Ifc4x1::IfcSegmentIndexSelect >::ptr > Ifc4x1::IfcIndexedPolyCurve::Segments() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x1::IfcSegmentIndexSelect >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcSegmentIndexSelect >::ptr > Ifc4x1::IfcIndexedPolyCurve::Segments() const { if(get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x1::IfcSegmentIndexSelect >(); } void Ifc4x1::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x1::IfcSegmentIndexSelect >::ptr > v) { if (v) {set_attribute_value(1, (*v)->generalize());} else {unset_attribute_value(1);} } -boost::optional< bool > Ifc4x1::IfcIndexedPolyCurve::SelfIntersect() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } bool v = data_.get_attribute_value(2); return v; } +boost::optional< bool > Ifc4x1::IfcIndexedPolyCurve::SelfIntersect() const { if(get_attribute_value(2).isNull()) { return boost::none; } bool v = get_attribute_value(2); return v; } void Ifc4x1::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x1::IfcIndexedPolyCurve::declaration() const { return *((IfcParse::entity*)IFC4X1_types[494]); } const IfcParse::entity& Ifc4x1::IfcIndexedPolyCurve::Class() { return *((IfcParse::entity*)IFC4X1_types[494]); } Ifc4x1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x1::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x1::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Points ? v1_Points->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Segments) {set_attribute_value(1, (*v2_Segments)->generalize()); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); }; populate_derived(); } +Ifc4x1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x1::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x1::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Points ? v1_Points->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Segments) {set_attribute_value(1, (*v2_Segments)->generalize()); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); }; populate_derived(); } // Function implementations for IfcIndexedPolygonalFace -std::vector< int > /*[3:?]*/ Ifc4x1::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = data_.get_attribute_value(0); return v; } +std::vector< int > /*[3:?]*/ Ifc4x1::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } void Ifc4x1::IfcIndexedPolygonalFace::setCoordIndex(std::vector< int > /*[3:?]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } ::Ifc4x1::IfcPolygonalFaceSet::list::ptr Ifc4x1::IfcIndexedPolygonalFace::ToFaceSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[700], 2)->as(); } @@ -10596,59 +10596,59 @@ void Ifc4x1::IfcIndexedPolygonalFace::setCoordIndex(std::vector< int > /*[3:?]*/ const IfcParse::entity& Ifc4x1::IfcIndexedPolygonalFace::declaration() const { return *((IfcParse::entity*)IFC4X1_types[495]); } const IfcParse::entity& Ifc4x1::IfcIndexedPolygonalFace::Class() { return *((IfcParse::entity*)IFC4X1_types[495]); } Ifc4x1::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(IfcEntityInstanceData&& e) : IfcTessellatedItem(std::move(e)) { } -Ifc4x1::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(std::vector< int > /*[3:?]*/ v1_CoordIndex) : IfcTessellatedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CoordIndex));; populate_derived(); } +Ifc4x1::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(std::vector< int > /*[3:?]*/ v1_CoordIndex) : IfcTessellatedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CoordIndex));; populate_derived(); } // Function implementations for IfcIndexedPolygonalFaceWithVoids -std::vector< std::vector< int > > Ifc4x1::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { std::vector< std::vector< int > > v = data_.get_attribute_value(1); return v; } +std::vector< std::vector< int > > Ifc4x1::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { std::vector< std::vector< int > > v = get_attribute_value(1); return v; } void Ifc4x1::IfcIndexedPolygonalFaceWithVoids::setInnerCoordIndices(std::vector< std::vector< int > > v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcIndexedPolygonalFaceWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X1_types[496]); } const IfcParse::entity& Ifc4x1::IfcIndexedPolygonalFaceWithVoids::Class() { return *((IfcParse::entity*)IFC4X1_types[496]); } Ifc4x1::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(IfcEntityInstanceData&& e) : IfcIndexedPolygonalFace(std::move(e)) { } -Ifc4x1::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) : IfcIndexedPolygonalFace(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices));; populate_derived(); } +Ifc4x1::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) : IfcIndexedPolygonalFace(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices));; populate_derived(); } // Function implementations for IfcIndexedTextureMap -::Ifc4x1::IfcTessellatedFaceSet* Ifc4x1::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcTessellatedFaceSet>(true); } +::Ifc4x1::IfcTessellatedFaceSet* Ifc4x1::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcTessellatedFaceSet>(true); } void Ifc4x1::IfcIndexedTextureMap::setMappedTo(::Ifc4x1::IfcTessellatedFaceSet* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcTextureVertexList* Ifc4x1::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcTextureVertexList>(true); } +::Ifc4x1::IfcTextureVertexList* Ifc4x1::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcTextureVertexList>(true); } void Ifc4x1::IfcIndexedTextureMap::setTexCoords(::Ifc4x1::IfcTextureVertexList* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x1::IfcIndexedTextureMap::declaration() const { return *((IfcParse::entity*)IFC4X1_types[497]); } const IfcParse::entity& Ifc4x1::IfcIndexedTextureMap::Class() { return *((IfcParse::entity*)IFC4X1_types[497]); } Ifc4x1::IfcIndexedTextureMap::IfcIndexedTextureMap(IfcEntityInstanceData&& e) : IfcTextureCoordinate(std::move(e)) { } -Ifc4x1::IfcIndexedTextureMap::IfcIndexedTextureMap(aggregate_of< ::Ifc4x1::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x1::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x1::IfcTextureVertexList* v3_TexCoords) : IfcTextureCoordinate(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcIndexedTextureMap::IfcIndexedTextureMap(aggregate_of< ::Ifc4x1::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x1::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x1::IfcTextureVertexList* v3_TexCoords) : IfcTextureCoordinate(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcIndexedTriangleTextureMap -boost::optional< std::vector< std::vector< int > > > Ifc4x1::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::vector< int > > v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< std::vector< int > > > Ifc4x1::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::vector< int > > v = get_attribute_value(3); return v; } void Ifc4x1::IfcIndexedTriangleTextureMap::setTexCoordIndex(boost::optional< std::vector< std::vector< int > > > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x1::IfcIndexedTriangleTextureMap::declaration() const { return *((IfcParse::entity*)IFC4X1_types[498]); } const IfcParse::entity& Ifc4x1::IfcIndexedTriangleTextureMap::Class() { return *((IfcParse::entity*)IFC4X1_types[498]); } Ifc4x1::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(IfcEntityInstanceData&& e) : IfcIndexedTextureMap(std::move(e)) { } -Ifc4x1::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(aggregate_of< ::Ifc4x1::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x1::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x1::IfcTextureVertexList* v3_TexCoords, boost::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) : IfcIndexedTextureMap(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); }; populate_derived(); } +Ifc4x1::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(aggregate_of< ::Ifc4x1::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x1::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x1::IfcTextureVertexList* v3_TexCoords, boost::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) : IfcIndexedTextureMap(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); }; populate_derived(); } // Function implementations for IfcInterceptor -boost::optional< ::Ifc4x1::IfcInterceptorTypeEnum::Value > Ifc4x1::IfcInterceptor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcInterceptorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcInterceptorTypeEnum::Value > Ifc4x1::IfcInterceptor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcInterceptorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcInterceptor::setPredefinedType(boost::optional< ::Ifc4x1::IfcInterceptorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcInterceptorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcInterceptor::declaration() const { return *((IfcParse::entity*)IFC4X1_types[502]); } const IfcParse::entity& Ifc4x1::IfcInterceptor::Class() { return *((IfcParse::entity*)IFC4X1_types[502]); } Ifc4x1::IfcInterceptor::IfcInterceptor(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4x1::IfcInterceptor::IfcInterceptor(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcInterceptorTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcInterceptor::IfcInterceptor(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcInterceptorTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcInterceptorType -::Ifc4x1::IfcInterceptorTypeEnum::Value Ifc4x1::IfcInterceptorType::PredefinedType() const { return ::Ifc4x1::IfcInterceptorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcInterceptorTypeEnum::Value Ifc4x1::IfcInterceptorType::PredefinedType() const { return ::Ifc4x1::IfcInterceptorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcInterceptorType::setPredefinedType(::Ifc4x1::IfcInterceptorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcInterceptorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcInterceptorType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[503]); } const IfcParse::entity& Ifc4x1::IfcInterceptorType::Class() { return *((IfcParse::entity*)IFC4X1_types[503]); } Ifc4x1::IfcInterceptorType::IfcInterceptorType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4x1::IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcInterceptorTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcInterceptorTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcIntersectionCurve @@ -10656,154 +10656,154 @@ Ifc4x1::IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, ::Ifc4x1 const IfcParse::entity& Ifc4x1::IfcIntersectionCurve::declaration() const { return *((IfcParse::entity*)IFC4X1_types[506]); } const IfcParse::entity& Ifc4x1::IfcIntersectionCurve::Class() { return *((IfcParse::entity*)IFC4X1_types[506]); } Ifc4x1::IfcIntersectionCurve::IfcIntersectionCurve(IfcEntityInstanceData&& e) : IfcSurfaceCurve(std::move(e)) { } -Ifc4x1::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4x1::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x1::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } +Ifc4x1::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4x1::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x1::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcInventory -boost::optional< ::Ifc4x1::IfcInventoryTypeEnum::Value > Ifc4x1::IfcInventory::PredefinedType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x1::IfcInventoryTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x1::IfcInventoryTypeEnum::Value > Ifc4x1::IfcInventory::PredefinedType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x1::IfcInventoryTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x1::IfcInventory::setPredefinedType(boost::optional< ::Ifc4x1::IfcInventoryTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x1::IfcInventoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -::Ifc4x1::IfcActorSelect* Ifc4x1::IfcInventory::Jurisdiction() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x1::IfcActorSelect>(true); } +::Ifc4x1::IfcActorSelect* Ifc4x1::IfcInventory::Jurisdiction() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x1::IfcActorSelect>(true); } void Ifc4x1::IfcInventory::setJurisdiction(::Ifc4x1::IfcActorSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< aggregate_of< ::Ifc4x1::IfcPerson >::ptr > Ifc4x1::IfcInventory::ResponsiblePersons() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x1::IfcPerson >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcPerson >::ptr > Ifc4x1::IfcInventory::ResponsiblePersons() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x1::IfcPerson >(); } void Ifc4x1::IfcInventory::setResponsiblePersons(boost::optional< aggregate_of< ::Ifc4x1::IfcPerson >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x1::IfcInventory::LastUpdateDate() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x1::IfcInventory::LastUpdateDate() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x1::IfcInventory::setLastUpdateDate(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x1::IfcCostValue* Ifc4x1::IfcInventory::CurrentValue() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x1::IfcCostValue>(true); } +::Ifc4x1::IfcCostValue* Ifc4x1::IfcInventory::CurrentValue() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x1::IfcCostValue>(true); } void Ifc4x1::IfcInventory::setCurrentValue(::Ifc4x1::IfcCostValue* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4x1::IfcCostValue* Ifc4x1::IfcInventory::OriginalValue() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x1::IfcCostValue>(true); } +::Ifc4x1::IfcCostValue* Ifc4x1::IfcInventory::OriginalValue() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x1::IfcCostValue>(true); } void Ifc4x1::IfcInventory::setOriginalValue(::Ifc4x1::IfcCostValue* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x1::IfcInventory::declaration() const { return *((IfcParse::entity*)IFC4X1_types[507]); } const IfcParse::entity& Ifc4x1::IfcInventory::Class() { return *((IfcParse::entity*)IFC4X1_types[507]); } Ifc4x1::IfcInventory::IfcInventory(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x1::IfcInventory::IfcInventory(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x1::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x1::IfcActorSelect* v7_Jurisdiction, boost::optional< aggregate_of< ::Ifc4x1::IfcPerson >::ptr > v8_ResponsiblePersons, boost::optional< std::string > v9_LastUpdateDate, ::Ifc4x1::IfcCostValue* v10_CurrentValue, ::Ifc4x1::IfcCostValue* v11_OriginalValue) : IfcGroup(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, v7_Jurisdiction ? v7_Jurisdiction->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_ResponsiblePersons) {set_attribute_value(7, (*v8_ResponsiblePersons)->generalize()); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, v10_CurrentValue ? v10_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_OriginalValue ? v11_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcInventory::IfcInventory(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x1::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x1::IfcActorSelect* v7_Jurisdiction, boost::optional< aggregate_of< ::Ifc4x1::IfcPerson >::ptr > v8_ResponsiblePersons, boost::optional< std::string > v9_LastUpdateDate, ::Ifc4x1::IfcCostValue* v10_CurrentValue, ::Ifc4x1::IfcCostValue* v11_OriginalValue) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, v7_Jurisdiction ? v7_Jurisdiction->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_ResponsiblePersons) {set_attribute_value(7, (*v8_ResponsiblePersons)->generalize()); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, v10_CurrentValue ? v10_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_OriginalValue ? v11_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcIrregularTimeSeries -aggregate_of< ::Ifc4x1::IfcIrregularTimeSeriesValue >::ptr Ifc4x1::IfcIrregularTimeSeries::Values() const { aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x1::IfcIrregularTimeSeriesValue >(); } +aggregate_of< ::Ifc4x1::IfcIrregularTimeSeriesValue >::ptr Ifc4x1::IfcIrregularTimeSeries::Values() const { aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x1::IfcIrregularTimeSeriesValue >(); } void Ifc4x1::IfcIrregularTimeSeries::setValues(aggregate_of< ::Ifc4x1::IfcIrregularTimeSeriesValue >::ptr v) { set_attribute_value(8, (v)->generalize());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x1::IfcIrregularTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X1_types[510]); } const IfcParse::entity& Ifc4x1::IfcIrregularTimeSeries::Class() { return *((IfcParse::entity*)IFC4X1_types[510]); } Ifc4x1::IfcIrregularTimeSeries::IfcIrregularTimeSeries(IfcEntityInstanceData&& e) : IfcTimeSeries(std::move(e)) { } -Ifc4x1::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x1::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x1::IfcUnit* v8_Unit, aggregate_of< ::Ifc4x1::IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_Values)->generalize());; populate_derived(); } +Ifc4x1::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x1::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x1::IfcUnit* v8_Unit, aggregate_of< ::Ifc4x1::IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_Values)->generalize());; populate_derived(); } // Function implementations for IfcIrregularTimeSeriesValue -std::string Ifc4x1::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x1::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcIrregularTimeSeriesValue::setTimeStamp(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x1::IfcValue >::ptr Ifc4x1::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x1::IfcValue >(); } +aggregate_of< ::Ifc4x1::IfcValue >::ptr Ifc4x1::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x1::IfcValue >(); } void Ifc4x1::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x1::IfcValue >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcIrregularTimeSeriesValue::declaration() const { return *((IfcParse::entity*)IFC4X1_types[511]); } const IfcParse::entity& Ifc4x1::IfcIrregularTimeSeriesValue::Class() { return *((IfcParse::entity*)IFC4X1_types[511]); } Ifc4x1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x1::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, (v2_ListValues)->generalize());; populate_derived(); } +Ifc4x1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x1::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, (v2_ListValues)->generalize());; populate_derived(); } // Function implementations for IfcJunctionBox -boost::optional< ::Ifc4x1::IfcJunctionBoxTypeEnum::Value > Ifc4x1::IfcJunctionBox::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcJunctionBoxTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcJunctionBoxTypeEnum::Value > Ifc4x1::IfcJunctionBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcJunctionBox::setPredefinedType(boost::optional< ::Ifc4x1::IfcJunctionBoxTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcJunctionBoxTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcJunctionBox::declaration() const { return *((IfcParse::entity*)IFC4X1_types[514]); } const IfcParse::entity& Ifc4x1::IfcJunctionBox::Class() { return *((IfcParse::entity*)IFC4X1_types[514]); } Ifc4x1::IfcJunctionBox::IfcJunctionBox(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x1::IfcJunctionBox::IfcJunctionBox(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcJunctionBox::IfcJunctionBox(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcJunctionBoxType -::Ifc4x1::IfcJunctionBoxTypeEnum::Value Ifc4x1::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4x1::IfcJunctionBoxTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcJunctionBoxTypeEnum::Value Ifc4x1::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4x1::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcJunctionBoxType::setPredefinedType(::Ifc4x1::IfcJunctionBoxTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcJunctionBoxTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcJunctionBoxType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[515]); } const IfcParse::entity& Ifc4x1::IfcJunctionBoxType::Class() { return *((IfcParse::entity*)IFC4X1_types[515]); } Ifc4x1::IfcJunctionBoxType::IfcJunctionBoxType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x1::IfcJunctionBoxType::IfcJunctionBoxType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcJunctionBoxType::IfcJunctionBoxType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLShapeProfileDef -double Ifc4x1::IfcLShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x1::IfcLShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x1::IfcLShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< double > Ifc4x1::IfcLShapeProfileDef::Width() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x1::IfcLShapeProfileDef::Width() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x1::IfcLShapeProfileDef::setWidth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -double Ifc4x1::IfcLShapeProfileDef::Thickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x1::IfcLShapeProfileDef::Thickness() const { double v = get_attribute_value(5); return v; } void Ifc4x1::IfcLShapeProfileDef::setThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x1::IfcLShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x1::IfcLShapeProfileDef::FilletRadius() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x1::IfcLShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x1::IfcLShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x1::IfcLShapeProfileDef::EdgeRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x1::IfcLShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x1::IfcLShapeProfileDef::LegSlope() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x1::IfcLShapeProfileDef::LegSlope() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x1::IfcLShapeProfileDef::setLegSlope(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcLShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X1_types[562]); } const IfcParse::entity& Ifc4x1::IfcLShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X1_types[562]); } Ifc4x1::IfcLShapeProfileDef::IfcLShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x1::IfcLShapeProfileDef::IfcLShapeProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::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(storage_t(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); }; populate_derived(); } +Ifc4x1::IfcLShapeProfileDef::IfcLShapeProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::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(in_memory_attribute_storage(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); }; populate_derived(); } // Function implementations for IfcLaborResource -boost::optional< ::Ifc4x1::IfcLaborResourceTypeEnum::Value > Ifc4x1::IfcLaborResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x1::IfcLaborResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x1::IfcLaborResourceTypeEnum::Value > Ifc4x1::IfcLaborResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x1::IfcLaborResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x1::IfcLaborResource::setPredefinedType(boost::optional< ::Ifc4x1::IfcLaborResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x1::IfcLaborResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x1::IfcLaborResource::declaration() const { return *((IfcParse::entity*)IFC4X1_types[520]); } const IfcParse::entity& Ifc4x1::IfcLaborResource::Class() { return *((IfcParse::entity*)IFC4X1_types[520]); } Ifc4x1::IfcLaborResource::IfcLaborResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x1::IfcLaborResource::IfcLaborResource(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x1::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcLaborResource::IfcLaborResource(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x1::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLaborResourceType -::Ifc4x1::IfcLaborResourceTypeEnum::Value Ifc4x1::IfcLaborResourceType::PredefinedType() const { return ::Ifc4x1::IfcLaborResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x1::IfcLaborResourceTypeEnum::Value Ifc4x1::IfcLaborResourceType::PredefinedType() const { return ::Ifc4x1::IfcLaborResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x1::IfcLaborResourceType::setPredefinedType(::Ifc4x1::IfcLaborResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x1::IfcLaborResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x1::IfcLaborResourceType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[521]); } const IfcParse::entity& Ifc4x1::IfcLaborResourceType::Class() { return *((IfcParse::entity*)IFC4X1_types[521]); } Ifc4x1::IfcLaborResourceType::IfcLaborResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x1::IfcLaborResourceType::IfcLaborResourceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x1::IfcLaborResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x1::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcLaborResourceType::IfcLaborResourceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x1::IfcLaborResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x1::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcLagTime -::Ifc4x1::IfcTimeOrRatioSelect* Ifc4x1::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcTimeOrRatioSelect>(true); } +::Ifc4x1::IfcTimeOrRatioSelect* Ifc4x1::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcTimeOrRatioSelect>(true); } void Ifc4x1::IfcLagTime::setLagValue(::Ifc4x1::IfcTimeOrRatioSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x1::IfcTaskDurationEnum::Value Ifc4x1::IfcLagTime::DurationType() const { return ::Ifc4x1::IfcTaskDurationEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x1::IfcTaskDurationEnum::Value Ifc4x1::IfcLagTime::DurationType() const { return ::Ifc4x1::IfcTaskDurationEnum::FromString(get_attribute_value(4)); } void Ifc4x1::IfcLagTime::setDurationType(::Ifc4x1::IfcTaskDurationEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x1::IfcTaskDurationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x1::IfcLagTime::declaration() const { return *((IfcParse::entity*)IFC4X1_types[523]); } const IfcParse::entity& Ifc4x1::IfcLagTime::Class() { return *((IfcParse::entity*)IFC4X1_types[523]); } Ifc4x1::IfcLagTime::IfcLagTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x1::IfcLagTime::IfcLagTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x1::IfcTimeOrRatioSelect* v4_LagValue, ::Ifc4x1::IfcTaskDurationEnum::Value v5_DurationType) : IfcSchedulingTime(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_LagValue ? v4_LagValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (EnumerationReference(&::Ifc4x1::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType)));; populate_derived(); } +Ifc4x1::IfcLagTime::IfcLagTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x1::IfcTimeOrRatioSelect* v4_LagValue, ::Ifc4x1::IfcTaskDurationEnum::Value v5_DurationType) : IfcSchedulingTime(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_LagValue ? v4_LagValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (EnumerationReference(&::Ifc4x1::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType)));; populate_derived(); } // Function implementations for IfcLamp -boost::optional< ::Ifc4x1::IfcLampTypeEnum::Value > Ifc4x1::IfcLamp::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcLampTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcLampTypeEnum::Value > Ifc4x1::IfcLamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcLampTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcLamp::setPredefinedType(boost::optional< ::Ifc4x1::IfcLampTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcLampTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcLamp::declaration() const { return *((IfcParse::entity*)IFC4X1_types[524]); } const IfcParse::entity& Ifc4x1::IfcLamp::Class() { return *((IfcParse::entity*)IFC4X1_types[524]); } Ifc4x1::IfcLamp::IfcLamp(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x1::IfcLamp::IfcLamp(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcLampTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcLamp::IfcLamp(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcLampTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLampType -::Ifc4x1::IfcLampTypeEnum::Value Ifc4x1::IfcLampType::PredefinedType() const { return ::Ifc4x1::IfcLampTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcLampTypeEnum::Value Ifc4x1::IfcLampType::PredefinedType() const { return ::Ifc4x1::IfcLampTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcLampType::setPredefinedType(::Ifc4x1::IfcLampTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcLampTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcLampType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[525]); } const IfcParse::entity& Ifc4x1::IfcLampType::Class() { return *((IfcParse::entity*)IFC4X1_types[525]); } Ifc4x1::IfcLampType::IfcLampType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x1::IfcLampType::IfcLampType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcLampTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcLampType::IfcLampType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcLampTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLibraryInformation -std::string Ifc4x1::IfcLibraryInformation::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x1::IfcLibraryInformation::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcLibraryInformation::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x1::IfcLibraryInformation::Version() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x1::IfcLibraryInformation::Version() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x1::IfcActorSelect* Ifc4x1::IfcLibraryInformation::Publisher() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcActorSelect>(true); } +::Ifc4x1::IfcActorSelect* Ifc4x1::IfcLibraryInformation::Publisher() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcActorSelect>(true); } void Ifc4x1::IfcLibraryInformation::setPublisher(::Ifc4x1::IfcActorSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x1::IfcLibraryInformation::VersionDate() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x1::IfcLibraryInformation::VersionDate() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x1::IfcLibraryInformation::setVersionDate(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x1::IfcLibraryInformation::Location() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x1::IfcLibraryInformation::Location() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcLibraryInformation::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x1::IfcLibraryInformation::Description() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x1::IfcLibraryInformation::Description() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcLibraryInformation::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x1::IfcRelAssociatesLibrary::list::ptr Ifc4x1::IfcLibraryInformation::LibraryInfoForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[834], 5)->as(); } @@ -10812,14 +10812,14 @@ void Ifc4x1::IfcLibraryInformation::setDescription(boost::optional< std::string const IfcParse::entity& Ifc4x1::IfcLibraryInformation::declaration() const { return *((IfcParse::entity*)IFC4X1_types[531]); } const IfcParse::entity& Ifc4x1::IfcLibraryInformation::Class() { return *((IfcParse::entity*)IFC4X1_types[531]); } Ifc4x1::IfcLibraryInformation::IfcLibraryInformation(IfcEntityInstanceData&& e) : IfcExternalInformation(std::move(e)) { } -Ifc4x1::IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, boost::optional< std::string > v2_Version, ::Ifc4x1::IfcActorSelect* v3_Publisher, boost::optional< std::string > v4_VersionDate, boost::optional< std::string > v5_Location, boost::optional< std::string > v6_Description) : IfcExternalInformation(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, v3_Publisher ? v3_Publisher->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); }; populate_derived(); } +Ifc4x1::IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, boost::optional< std::string > v2_Version, ::Ifc4x1::IfcActorSelect* v3_Publisher, boost::optional< std::string > v4_VersionDate, boost::optional< std::string > v5_Location, boost::optional< std::string > v6_Description) : IfcExternalInformation(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, v3_Publisher ? v3_Publisher->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); }; populate_derived(); } // Function implementations for IfcLibraryReference -boost::optional< std::string > Ifc4x1::IfcLibraryReference::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x1::IfcLibraryReference::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x1::IfcLibraryReference::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x1::IfcLibraryReference::Language() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x1::IfcLibraryReference::Language() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcLibraryReference::setLanguage(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x1::IfcLibraryInformation* Ifc4x1::IfcLibraryReference::ReferencedLibrary() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcLibraryInformation>(true); } +::Ifc4x1::IfcLibraryInformation* Ifc4x1::IfcLibraryReference::ReferencedLibrary() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcLibraryInformation>(true); } void Ifc4x1::IfcLibraryReference::setReferencedLibrary(::Ifc4x1::IfcLibraryInformation* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc4x1::IfcRelAssociatesLibrary::list::ptr Ifc4x1::IfcLibraryReference::LibraryRefForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[834], 5)->as(); } @@ -10827,69 +10827,69 @@ void Ifc4x1::IfcLibraryReference::setReferencedLibrary(::Ifc4x1::IfcLibraryInfor const IfcParse::entity& Ifc4x1::IfcLibraryReference::declaration() const { return *((IfcParse::entity*)IFC4X1_types[532]); } const IfcParse::entity& Ifc4x1::IfcLibraryReference::Class() { return *((IfcParse::entity*)IFC4X1_types[532]); } Ifc4x1::IfcLibraryReference::IfcLibraryReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x1::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, ::Ifc4x1::IfcLibraryInformation* v6_ReferencedLibrary) : IfcExternalReference(IfcEntityInstanceData(storage_t(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, v6_ReferencedLibrary ? v6_ReferencedLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::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, ::Ifc4x1::IfcLibraryInformation* v6_ReferencedLibrary) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, v6_ReferencedLibrary ? v6_ReferencedLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLightDistributionData -double Ifc4x1::IfcLightDistributionData::MainPlaneAngle() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x1::IfcLightDistributionData::MainPlaneAngle() const { double v = get_attribute_value(0); return v; } void Ifc4x1::IfcLightDistributionData::setMainPlaneAngle(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< double > /*[1:?]*/ Ifc4x1::IfcLightDistributionData::SecondaryPlaneAngle() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +std::vector< double > /*[1:?]*/ Ifc4x1::IfcLightDistributionData::SecondaryPlaneAngle() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x1::IfcLightDistributionData::setSecondaryPlaneAngle(std::vector< double > /*[1:?]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector< double > /*[1:?]*/ Ifc4x1::IfcLightDistributionData::LuminousIntensity() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(2); return v; } +std::vector< double > /*[1:?]*/ Ifc4x1::IfcLightDistributionData::LuminousIntensity() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(2); return v; } void Ifc4x1::IfcLightDistributionData::setLuminousIntensity(std::vector< double > /*[1:?]*/ v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x1::IfcLightDistributionData::declaration() const { return *((IfcParse::entity*)IFC4X1_types[535]); } const IfcParse::entity& Ifc4x1::IfcLightDistributionData::Class() { return *((IfcParse::entity*)IFC4X1_types[535]); } Ifc4x1::IfcLightDistributionData::IfcLightDistributionData(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcLightDistributionData::IfcLightDistributionData(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; populate_derived(); } +Ifc4x1::IfcLightDistributionData::IfcLightDistributionData(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; populate_derived(); } // Function implementations for IfcLightFixture -boost::optional< ::Ifc4x1::IfcLightFixtureTypeEnum::Value > Ifc4x1::IfcLightFixture::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcLightFixtureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcLightFixtureTypeEnum::Value > Ifc4x1::IfcLightFixture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcLightFixtureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcLightFixture::setPredefinedType(boost::optional< ::Ifc4x1::IfcLightFixtureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcLightFixtureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcLightFixture::declaration() const { return *((IfcParse::entity*)IFC4X1_types[538]); } const IfcParse::entity& Ifc4x1::IfcLightFixture::Class() { return *((IfcParse::entity*)IFC4X1_types[538]); } Ifc4x1::IfcLightFixture::IfcLightFixture(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x1::IfcLightFixture::IfcLightFixture(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcLightFixture::IfcLightFixture(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLightFixtureType -::Ifc4x1::IfcLightFixtureTypeEnum::Value Ifc4x1::IfcLightFixtureType::PredefinedType() const { return ::Ifc4x1::IfcLightFixtureTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcLightFixtureTypeEnum::Value Ifc4x1::IfcLightFixtureType::PredefinedType() const { return ::Ifc4x1::IfcLightFixtureTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcLightFixtureType::setPredefinedType(::Ifc4x1::IfcLightFixtureTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcLightFixtureTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcLightFixtureType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[539]); } const IfcParse::entity& Ifc4x1::IfcLightFixtureType::Class() { return *((IfcParse::entity*)IFC4X1_types[539]); } Ifc4x1::IfcLightFixtureType::IfcLightFixtureType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x1::IfcLightFixtureType::IfcLightFixtureType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcLightFixtureTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcLightFixtureType::IfcLightFixtureType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcLightFixtureTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLightIntensityDistribution -::Ifc4x1::IfcLightDistributionCurveEnum::Value Ifc4x1::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4x1::IfcLightDistributionCurveEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x1::IfcLightDistributionCurveEnum::Value Ifc4x1::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4x1::IfcLightDistributionCurveEnum::FromString(get_attribute_value(0)); } void Ifc4x1::IfcLightIntensityDistribution::setLightDistributionCurve(::Ifc4x1::IfcLightDistributionCurveEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x1::IfcLightDistributionCurveEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x1::IfcLightDistributionData >::ptr Ifc4x1::IfcLightIntensityDistribution::DistributionData() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x1::IfcLightDistributionData >(); } +aggregate_of< ::Ifc4x1::IfcLightDistributionData >::ptr Ifc4x1::IfcLightIntensityDistribution::DistributionData() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x1::IfcLightDistributionData >(); } void Ifc4x1::IfcLightIntensityDistribution::setDistributionData(aggregate_of< ::Ifc4x1::IfcLightDistributionData >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcLightIntensityDistribution::declaration() const { return *((IfcParse::entity*)IFC4X1_types[541]); } const IfcParse::entity& Ifc4x1::IfcLightIntensityDistribution::Class() { return *((IfcParse::entity*)IFC4X1_types[541]); } Ifc4x1::IfcLightIntensityDistribution::IfcLightIntensityDistribution(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4x1::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, aggregate_of< ::Ifc4x1::IfcLightDistributionData >::ptr v2_DistributionData) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, (v2_DistributionData)->generalize());; populate_derived(); } +Ifc4x1::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4x1::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, aggregate_of< ::Ifc4x1::IfcLightDistributionData >::ptr v2_DistributionData) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, (v2_DistributionData)->generalize());; populate_derived(); } // Function implementations for IfcLightSource -boost::optional< std::string > Ifc4x1::IfcLightSource::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x1::IfcLightSource::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcLightSource::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x1::IfcColourRgb* Ifc4x1::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcColourRgb>(true); } +::Ifc4x1::IfcColourRgb* Ifc4x1::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcColourRgb>(true); } void Ifc4x1::IfcLightSource::setLightColour(::Ifc4x1::IfcColourRgb* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x1::IfcLightSource::AmbientIntensity() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x1::IfcLightSource::AmbientIntensity() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x1::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x1::IfcLightSource::Intensity() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x1::IfcLightSource::Intensity() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x1::IfcLightSource::setIntensity(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x1::IfcLightSource::declaration() const { return *((IfcParse::entity*)IFC4X1_types[542]); } const IfcParse::entity& Ifc4x1::IfcLightSource::Class() { return *((IfcParse::entity*)IFC4X1_types[542]); } Ifc4x1::IfcLightSource::IfcLightSource(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x1::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } +Ifc4x1::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } // Function implementations for IfcLightSourceAmbient @@ -10897,83 +10897,83 @@ Ifc4x1::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Name, : const IfcParse::entity& Ifc4x1::IfcLightSourceAmbient::declaration() const { return *((IfcParse::entity*)IFC4X1_types[543]); } const IfcParse::entity& Ifc4x1::IfcLightSourceAmbient::Class() { return *((IfcParse::entity*)IFC4X1_types[543]); } Ifc4x1::IfcLightSourceAmbient::IfcLightSourceAmbient(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x1::IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcLightSource(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } +Ifc4x1::IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } // Function implementations for IfcLightSourceDirectional -::Ifc4x1::IfcDirection* Ifc4x1::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x1::IfcDirection>(true); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcLightSourceDirectional::setOrientation(::Ifc4x1::IfcDirection* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x1::IfcLightSourceDirectional::declaration() const { return *((IfcParse::entity*)IFC4X1_types[544]); } const IfcParse::entity& Ifc4x1::IfcLightSourceDirectional::Class() { return *((IfcParse::entity*)IFC4X1_types[544]); } Ifc4x1::IfcLightSourceDirectional::IfcLightSourceDirectional(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x1::IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x1::IfcDirection* v5_Orientation) : IfcLightSource(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Orientation ? v5_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x1::IfcDirection* v5_Orientation) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Orientation ? v5_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLightSourceGoniometric -::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x1::IfcAxis2Placement3D>(true); } +::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x1::IfcAxis2Placement3D>(true); } void Ifc4x1::IfcLightSourceGoniometric::setPosition(::Ifc4x1::IfcAxis2Placement3D* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcColourRgb* Ifc4x1::IfcLightSourceGoniometric::ColourAppearance() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcColourRgb>(true); } +::Ifc4x1::IfcColourRgb* Ifc4x1::IfcLightSourceGoniometric::ColourAppearance() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcColourRgb>(true); } void Ifc4x1::IfcLightSourceGoniometric::setColourAppearance(::Ifc4x1::IfcColourRgb* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -double Ifc4x1::IfcLightSourceGoniometric::ColourTemperature() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x1::IfcLightSourceGoniometric::ColourTemperature() const { double v = get_attribute_value(6); return v; } void Ifc4x1::IfcLightSourceGoniometric::setColourTemperature(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -double Ifc4x1::IfcLightSourceGoniometric::LuminousFlux() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x1::IfcLightSourceGoniometric::LuminousFlux() const { double v = get_attribute_value(7); return v; } void Ifc4x1::IfcLightSourceGoniometric::setLuminousFlux(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc4x1::IfcLightEmissionSourceEnum::Value Ifc4x1::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4x1::IfcLightEmissionSourceEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x1::IfcLightEmissionSourceEnum::Value Ifc4x1::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4x1::IfcLightEmissionSourceEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcLightSourceGoniometric::setLightEmissionSource(::Ifc4x1::IfcLightEmissionSourceEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcLightEmissionSourceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc4x1::IfcLightDistributionDataSourceSelect* Ifc4x1::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x1::IfcLightDistributionDataSourceSelect>(true); } +::Ifc4x1::IfcLightDistributionDataSourceSelect* Ifc4x1::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x1::IfcLightDistributionDataSourceSelect>(true); } void Ifc4x1::IfcLightSourceGoniometric::setLightDistributionDataSource(::Ifc4x1::IfcLightDistributionDataSourceSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcLightSourceGoniometric::declaration() const { return *((IfcParse::entity*)IFC4X1_types[545]); } const IfcParse::entity& Ifc4x1::IfcLightSourceGoniometric::Class() { return *((IfcParse::entity*)IFC4X1_types[545]); } Ifc4x1::IfcLightSourceGoniometric::IfcLightSourceGoniometric(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x1::IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x1::IfcAxis2Placement3D* v5_Position, ::Ifc4x1::IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x1::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x1::IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource(IfcEntityInstanceData(storage_t(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ColourAppearance ? v6_ColourAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, v10_LightDistributionDataSource ? v10_LightDistributionDataSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x1::IfcAxis2Placement3D* v5_Position, ::Ifc4x1::IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x1::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x1::IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ColourAppearance ? v6_ColourAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, v10_LightDistributionDataSource ? v10_LightDistributionDataSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLightSourcePositional -::Ifc4x1::IfcCartesianPoint* Ifc4x1::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x1::IfcCartesianPoint>(true); } +::Ifc4x1::IfcCartesianPoint* Ifc4x1::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x1::IfcCartesianPoint>(true); } void Ifc4x1::IfcLightSourcePositional::setPosition(::Ifc4x1::IfcCartesianPoint* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -double Ifc4x1::IfcLightSourcePositional::Radius() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x1::IfcLightSourcePositional::Radius() const { double v = get_attribute_value(5); return v; } void Ifc4x1::IfcLightSourcePositional::setRadius(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x1::IfcLightSourcePositional::ConstantAttenuation() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x1::IfcLightSourcePositional::ConstantAttenuation() const { double v = get_attribute_value(6); return v; } void Ifc4x1::IfcLightSourcePositional::setConstantAttenuation(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -double Ifc4x1::IfcLightSourcePositional::DistanceAttenuation() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x1::IfcLightSourcePositional::DistanceAttenuation() const { double v = get_attribute_value(7); return v; } void Ifc4x1::IfcLightSourcePositional::setDistanceAttenuation(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -double Ifc4x1::IfcLightSourcePositional::QuadricAttenuation() const { double v = data_.get_attribute_value(8); return v; } +double Ifc4x1::IfcLightSourcePositional::QuadricAttenuation() const { double v = get_attribute_value(8); return v; } void Ifc4x1::IfcLightSourcePositional::setQuadricAttenuation(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x1::IfcLightSourcePositional::declaration() const { return *((IfcParse::entity*)IFC4X1_types[546]); } const IfcParse::entity& Ifc4x1::IfcLightSourcePositional::Class() { return *((IfcParse::entity*)IFC4X1_types[546]); } Ifc4x1::IfcLightSourcePositional::IfcLightSourcePositional(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x1::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x1::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) : IfcLightSource(IfcEntityInstanceData(storage_t(9))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; populate_derived(); } +Ifc4x1::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x1::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; populate_derived(); } // Function implementations for IfcLightSourceSpot -::Ifc4x1::IfcDirection* Ifc4x1::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x1::IfcDirection>(true); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcLightSourceSpot::setOrientation(::Ifc4x1::IfcDirection* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x1::IfcLightSourceSpot::ConcentrationExponent() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x1::IfcLightSourceSpot::ConcentrationExponent() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x1::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -double Ifc4x1::IfcLightSourceSpot::SpreadAngle() const { double v = data_.get_attribute_value(11); return v; } +double Ifc4x1::IfcLightSourceSpot::SpreadAngle() const { double v = get_attribute_value(11); return v; } void Ifc4x1::IfcLightSourceSpot::setSpreadAngle(double v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } -double Ifc4x1::IfcLightSourceSpot::BeamWidthAngle() const { double v = data_.get_attribute_value(12); return v; } +double Ifc4x1::IfcLightSourceSpot::BeamWidthAngle() const { double v = get_attribute_value(12); return v; } void Ifc4x1::IfcLightSourceSpot::setBeamWidthAngle(double v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } const IfcParse::entity& Ifc4x1::IfcLightSourceSpot::declaration() const { return *((IfcParse::entity*)IFC4X1_types[547]); } const IfcParse::entity& Ifc4x1::IfcLightSourceSpot::Class() { return *((IfcParse::entity*)IFC4X1_types[547]); } Ifc4x1::IfcLightSourceSpot::IfcLightSourceSpot(IfcEntityInstanceData&& e) : IfcLightSourcePositional(std::move(e)) { } -Ifc4x1::IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x1::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x1::IfcDirection* v10_Orientation, boost::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) : IfcLightSourcePositional(IfcEntityInstanceData(storage_t(13))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, v10_Orientation ? v10_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; populate_derived(); } +Ifc4x1::IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x1::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x1::IfcDirection* v10_Orientation, boost::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) : IfcLightSourcePositional(IfcEntityInstanceData(in_memory_attribute_storage(13))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, v10_Orientation ? v10_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; populate_derived(); } // Function implementations for IfcLine -::Ifc4x1::IfcCartesianPoint* Ifc4x1::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcCartesianPoint>(true); } +::Ifc4x1::IfcCartesianPoint* Ifc4x1::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcCartesianPoint>(true); } void Ifc4x1::IfcLine::setPnt(::Ifc4x1::IfcCartesianPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcVector* Ifc4x1::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcVector>(true); } +::Ifc4x1::IfcVector* Ifc4x1::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcVector>(true); } void Ifc4x1::IfcLine::setDir(::Ifc4x1::IfcVector* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcLine::declaration() const { return *((IfcParse::entity*)IFC4X1_types[548]); } const IfcParse::entity& Ifc4x1::IfcLine::Class() { return *((IfcParse::entity*)IFC4X1_types[548]); } Ifc4x1::IfcLine::IfcLine(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x1::IfcLine::IfcLine(::Ifc4x1::IfcCartesianPoint* v1_Pnt, ::Ifc4x1::IfcVector* v2_Dir) : IfcCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Pnt ? v1_Pnt->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Dir ? v2_Dir->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcLine::IfcLine(::Ifc4x1::IfcCartesianPoint* v1_Pnt, ::Ifc4x1::IfcVector* v2_Dir) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Pnt ? v1_Pnt->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Dir ? v2_Dir->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLineSegment2D @@ -10981,45 +10981,45 @@ Ifc4x1::IfcLine::IfcLine(::Ifc4x1::IfcCartesianPoint* v1_Pnt, ::Ifc4x1::IfcVecto const IfcParse::entity& Ifc4x1::IfcLineSegment2D::declaration() const { return *((IfcParse::entity*)IFC4X1_types[556]); } const IfcParse::entity& Ifc4x1::IfcLineSegment2D::Class() { return *((IfcParse::entity*)IFC4X1_types[556]); } Ifc4x1::IfcLineSegment2D::IfcLineSegment2D(IfcEntityInstanceData&& e) : IfcCurveSegment2D(std::move(e)) { } -Ifc4x1::IfcLineSegment2D::IfcLineSegment2D(::Ifc4x1::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) : IfcCurveSegment2D(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_StartPoint ? v1_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));; populate_derived(); } +Ifc4x1::IfcLineSegment2D::IfcLineSegment2D(::Ifc4x1::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) : IfcCurveSegment2D(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_StartPoint ? v1_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));; populate_derived(); } // Function implementations for IfcLinearPlacement -::Ifc4x1::IfcCurve* Ifc4x1::IfcLinearPlacement::PlacementRelTo() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcCurve>(true); } +::Ifc4x1::IfcCurve* Ifc4x1::IfcLinearPlacement::PlacementRelTo() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcLinearPlacement::setPlacementRelTo(::Ifc4x1::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcDistanceExpression* Ifc4x1::IfcLinearPlacement::Distance() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcDistanceExpression>(true); } +::Ifc4x1::IfcDistanceExpression* Ifc4x1::IfcLinearPlacement::Distance() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcDistanceExpression>(true); } void Ifc4x1::IfcLinearPlacement::setDistance(::Ifc4x1::IfcDistanceExpression* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcOrientationExpression* Ifc4x1::IfcLinearPlacement::Orientation() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcOrientationExpression>(true); } +::Ifc4x1::IfcOrientationExpression* Ifc4x1::IfcLinearPlacement::Orientation() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcOrientationExpression>(true); } void Ifc4x1::IfcLinearPlacement::setOrientation(::Ifc4x1::IfcOrientationExpression* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcLinearPlacement::CartesianPosition() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcAxis2Placement3D>(true); } +::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcLinearPlacement::CartesianPosition() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcAxis2Placement3D>(true); } void Ifc4x1::IfcLinearPlacement::setCartesianPosition(::Ifc4x1::IfcAxis2Placement3D* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcLinearPlacement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[551]); } const IfcParse::entity& Ifc4x1::IfcLinearPlacement::Class() { return *((IfcParse::entity*)IFC4X1_types[551]); } Ifc4x1::IfcLinearPlacement::IfcLinearPlacement(IfcEntityInstanceData&& e) : IfcObjectPlacement(std::move(e)) { } -Ifc4x1::IfcLinearPlacement::IfcLinearPlacement(::Ifc4x1::IfcCurve* v1_PlacementRelTo, ::Ifc4x1::IfcDistanceExpression* v2_Distance, ::Ifc4x1::IfcOrientationExpression* v3_Orientation, ::Ifc4x1::IfcAxis2Placement3D* v4_CartesianPosition) : IfcObjectPlacement(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Distance ? v2_Distance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Orientation ? v3_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_CartesianPosition ? v4_CartesianPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcLinearPlacement::IfcLinearPlacement(::Ifc4x1::IfcCurve* v1_PlacementRelTo, ::Ifc4x1::IfcDistanceExpression* v2_Distance, ::Ifc4x1::IfcOrientationExpression* v3_Orientation, ::Ifc4x1::IfcAxis2Placement3D* v4_CartesianPosition) : IfcObjectPlacement(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Distance ? v2_Distance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Orientation ? v3_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_CartesianPosition ? v4_CartesianPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLinearPositioningElement -::Ifc4x1::IfcCurve* Ifc4x1::IfcLinearPositioningElement::Axis() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x1::IfcCurve>(true); } +::Ifc4x1::IfcCurve* Ifc4x1::IfcLinearPositioningElement::Axis() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcLinearPositioningElement::setAxis(::Ifc4x1::IfcCurve* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x1::IfcLinearPositioningElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[552]); } const IfcParse::entity& Ifc4x1::IfcLinearPositioningElement::Class() { return *((IfcParse::entity*)IFC4X1_types[552]); } Ifc4x1::IfcLinearPositioningElement::IfcLinearPositioningElement(IfcEntityInstanceData&& e) : IfcPositioningElement(std::move(e)) { } -Ifc4x1::IfcLinearPositioningElement::IfcLinearPositioningElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcCurve* v8_Axis) : IfcPositioningElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_Axis ? v8_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcLinearPositioningElement::IfcLinearPositioningElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcCurve* v8_Axis) : IfcPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_Axis ? v8_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLocalPlacement -::Ifc4x1::IfcObjectPlacement* Ifc4x1::IfcLocalPlacement::PlacementRelTo() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcObjectPlacement>(true); } +::Ifc4x1::IfcObjectPlacement* Ifc4x1::IfcLocalPlacement::PlacementRelTo() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcObjectPlacement>(true); } void Ifc4x1::IfcLocalPlacement::setPlacementRelTo(::Ifc4x1::IfcObjectPlacement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcAxis2Placement* Ifc4x1::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcAxis2Placement>(true); } +::Ifc4x1::IfcAxis2Placement* Ifc4x1::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcAxis2Placement>(true); } void Ifc4x1::IfcLocalPlacement::setRelativePlacement(::Ifc4x1::IfcAxis2Placement* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcLocalPlacement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[558]); } const IfcParse::entity& Ifc4x1::IfcLocalPlacement::Class() { return *((IfcParse::entity*)IFC4X1_types[558]); } Ifc4x1::IfcLocalPlacement::IfcLocalPlacement(IfcEntityInstanceData&& e) : IfcObjectPlacement(std::move(e)) { } -Ifc4x1::IfcLocalPlacement::IfcLocalPlacement(::Ifc4x1::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x1::IfcAxis2Placement* v2_RelativePlacement) : IfcObjectPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcLocalPlacement::IfcLocalPlacement(::Ifc4x1::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x1::IfcAxis2Placement* v2_RelativePlacement) : IfcObjectPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLoop @@ -11027,56 +11027,56 @@ Ifc4x1::IfcLocalPlacement::IfcLocalPlacement(::Ifc4x1::IfcObjectPlacement* v1_Pl const IfcParse::entity& Ifc4x1::IfcLoop::declaration() const { return *((IfcParse::entity*)IFC4X1_types[561]); } const IfcParse::entity& Ifc4x1::IfcLoop::Class() { return *((IfcParse::entity*)IFC4X1_types[561]); } Ifc4x1::IfcLoop::IfcLoop(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x1::IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x1::IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcManifoldSolidBrep -::Ifc4x1::IfcClosedShell* Ifc4x1::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcClosedShell>(true); } +::Ifc4x1::IfcClosedShell* Ifc4x1::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcClosedShell>(true); } void Ifc4x1::IfcManifoldSolidBrep::setOuter(::Ifc4x1::IfcClosedShell* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x1::IfcManifoldSolidBrep::declaration() const { return *((IfcParse::entity*)IFC4X1_types[568]); } const IfcParse::entity& Ifc4x1::IfcManifoldSolidBrep::Class() { return *((IfcParse::entity*)IFC4X1_types[568]); } Ifc4x1::IfcManifoldSolidBrep::IfcManifoldSolidBrep(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x1::IfcManifoldSolidBrep::IfcManifoldSolidBrep(::Ifc4x1::IfcClosedShell* v1_Outer) : IfcSolidModel(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcManifoldSolidBrep::IfcManifoldSolidBrep(::Ifc4x1::IfcClosedShell* v1_Outer) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMapConversion -double Ifc4x1::IfcMapConversion::Eastings() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x1::IfcMapConversion::Eastings() const { double v = get_attribute_value(2); return v; } void Ifc4x1::IfcMapConversion::setEastings(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x1::IfcMapConversion::Northings() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x1::IfcMapConversion::Northings() const { double v = get_attribute_value(3); return v; } void Ifc4x1::IfcMapConversion::setNorthings(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x1::IfcMapConversion::OrthogonalHeight() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x1::IfcMapConversion::OrthogonalHeight() const { double v = get_attribute_value(4); return v; } void Ifc4x1::IfcMapConversion::setOrthogonalHeight(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< double > Ifc4x1::IfcMapConversion::XAxisAbscissa() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x1::IfcMapConversion::XAxisAbscissa() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x1::IfcMapConversion::setXAxisAbscissa(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x1::IfcMapConversion::XAxisOrdinate() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x1::IfcMapConversion::XAxisOrdinate() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x1::IfcMapConversion::setXAxisOrdinate(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x1::IfcMapConversion::Scale() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x1::IfcMapConversion::Scale() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x1::IfcMapConversion::setScale(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x1::IfcMapConversion::declaration() const { return *((IfcParse::entity*)IFC4X1_types[569]); } const IfcParse::entity& Ifc4x1::IfcMapConversion::Class() { return *((IfcParse::entity*)IFC4X1_types[569]); } Ifc4x1::IfcMapConversion::IfcMapConversion(IfcEntityInstanceData&& e) : IfcCoordinateOperation(std::move(e)) { } -Ifc4x1::IfcMapConversion::IfcMapConversion(::Ifc4x1::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x1::IfcCoordinateReferenceSystem* v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, boost::optional< double > v6_XAxisAbscissa, boost::optional< double > v7_XAxisOrdinate, boost::optional< double > v8_Scale) : IfcCoordinateOperation(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); }; populate_derived(); } +Ifc4x1::IfcMapConversion::IfcMapConversion(::Ifc4x1::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x1::IfcCoordinateReferenceSystem* v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, boost::optional< double > v6_XAxisAbscissa, boost::optional< double > v7_XAxisOrdinate, boost::optional< double > v8_Scale) : IfcCoordinateOperation(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); }; populate_derived(); } // Function implementations for IfcMappedItem -::Ifc4x1::IfcRepresentationMap* Ifc4x1::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcRepresentationMap>(true); } +::Ifc4x1::IfcRepresentationMap* Ifc4x1::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcRepresentationMap>(true); } void Ifc4x1::IfcMappedItem::setMappingSource(::Ifc4x1::IfcRepresentationMap* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcCartesianTransformationOperator* Ifc4x1::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcCartesianTransformationOperator>(true); } +::Ifc4x1::IfcCartesianTransformationOperator* Ifc4x1::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcCartesianTransformationOperator>(true); } void Ifc4x1::IfcMappedItem::setMappingTarget(::Ifc4x1::IfcCartesianTransformationOperator* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcMappedItem::declaration() const { return *((IfcParse::entity*)IFC4X1_types[570]); } const IfcParse::entity& Ifc4x1::IfcMappedItem::Class() { return *((IfcParse::entity*)IFC4X1_types[570]); } Ifc4x1::IfcMappedItem::IfcMappedItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x1::IfcMappedItem::IfcMappedItem(::Ifc4x1::IfcRepresentationMap* v1_MappingSource, ::Ifc4x1::IfcCartesianTransformationOperator* v2_MappingTarget) : IfcRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_MappingSource ? v1_MappingSource->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappingTarget ? v2_MappingTarget->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcMappedItem::IfcMappedItem(::Ifc4x1::IfcRepresentationMap* v1_MappingSource, ::Ifc4x1::IfcCartesianTransformationOperator* v2_MappingTarget) : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_MappingSource ? v1_MappingSource->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappingTarget ? v2_MappingTarget->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterial -std::string Ifc4x1::IfcMaterial::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x1::IfcMaterial::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcMaterial::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x1::IfcMaterial::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x1::IfcMaterial::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcMaterial::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x1::IfcMaterial::Category() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x1::IfcMaterial::Category() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcMaterial::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x1::IfcMaterialDefinitionRepresentation::list::ptr Ifc4x1::IfcMaterial::HasRepresentation() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[580], 3)->as(); } @@ -11086,30 +11086,30 @@ void Ifc4x1::IfcMaterial::setCategory(boost::optional< std::string > v) { if (v) const IfcParse::entity& Ifc4x1::IfcMaterial::declaration() const { return *((IfcParse::entity*)IFC4X1_types[575]); } const IfcParse::entity& Ifc4x1::IfcMaterial::Class() { return *((IfcParse::entity*)IFC4X1_types[575]); } Ifc4x1::IfcMaterial::IfcMaterial(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x1::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); }; populate_derived(); } +Ifc4x1::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); }; populate_derived(); } // Function implementations for IfcMaterialClassificationRelationship -aggregate_of< ::Ifc4x1::IfcClassificationSelect >::ptr Ifc4x1::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x1::IfcClassificationSelect >(); } +aggregate_of< ::Ifc4x1::IfcClassificationSelect >::ptr Ifc4x1::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x1::IfcClassificationSelect >(); } void Ifc4x1::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x1::IfcClassificationSelect >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcMaterial* Ifc4x1::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcMaterial>(true); } +::Ifc4x1::IfcMaterial* Ifc4x1::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcMaterial>(true); } void Ifc4x1::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4x1::IfcMaterial* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcMaterialClassificationRelationship::declaration() const { return *((IfcParse::entity*)IFC4X1_types[576]); } const IfcParse::entity& Ifc4x1::IfcMaterialClassificationRelationship::Class() { return *((IfcParse::entity*)IFC4X1_types[576]); } Ifc4x1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x1::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x1::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_MaterialClassifications)->generalize());set_attribute_value(1, v2_ClassifiedMaterial ? v2_ClassifiedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x1::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x1::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_MaterialClassifications)->generalize());set_attribute_value(1, v2_ClassifiedMaterial ? v2_ClassifiedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialConstituent -boost::optional< std::string > Ifc4x1::IfcMaterialConstituent::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x1::IfcMaterialConstituent::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcMaterialConstituent::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x1::IfcMaterialConstituent::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x1::IfcMaterialConstituent::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcMaterialConstituent::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x1::IfcMaterial* Ifc4x1::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcMaterial>(true); } +::Ifc4x1::IfcMaterial* Ifc4x1::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcMaterial>(true); } void Ifc4x1::IfcMaterialConstituent::setMaterial(::Ifc4x1::IfcMaterial* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4x1::IfcMaterialConstituent::Fraction() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x1::IfcMaterialConstituent::Fraction() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x1::IfcMaterialConstituent::setFraction(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x1::IfcMaterialConstituent::Category() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x1::IfcMaterialConstituent::Category() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcMaterialConstituent::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } ::Ifc4x1::IfcMaterialConstituentSet::list::ptr Ifc4x1::IfcMaterialConstituent::ToMaterialConstituentSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[578], 2)->as(); } @@ -11117,21 +11117,21 @@ void Ifc4x1::IfcMaterialConstituent::setCategory(boost::optional< std::string > const IfcParse::entity& Ifc4x1::IfcMaterialConstituent::declaration() const { return *((IfcParse::entity*)IFC4X1_types[577]); } const IfcParse::entity& Ifc4x1::IfcMaterialConstituent::Class() { return *((IfcParse::entity*)IFC4X1_types[577]); } Ifc4x1::IfcMaterialConstituent::IfcMaterialConstituent(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x1::IfcMaterialConstituent::IfcMaterialConstituent(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcMaterial* v3_Material, boost::optional< double > v4_Fraction, boost::optional< std::string > v5_Category) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); }; populate_derived(); } +Ifc4x1::IfcMaterialConstituent::IfcMaterialConstituent(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcMaterial* v3_Material, boost::optional< double > v4_Fraction, boost::optional< std::string > v5_Category) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); }; populate_derived(); } // Function implementations for IfcMaterialConstituentSet -boost::optional< std::string > Ifc4x1::IfcMaterialConstituentSet::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x1::IfcMaterialConstituentSet::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcMaterialConstituentSet::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x1::IfcMaterialConstituentSet::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x1::IfcMaterialConstituentSet::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcMaterialConstituentSet::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< aggregate_of< ::Ifc4x1::IfcMaterialConstituent >::ptr > Ifc4x1::IfcMaterialConstituentSet::MaterialConstituents() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x1::IfcMaterialConstituent >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcMaterialConstituent >::ptr > Ifc4x1::IfcMaterialConstituentSet::MaterialConstituents() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x1::IfcMaterialConstituent >(); } void Ifc4x1::IfcMaterialConstituentSet::setMaterialConstituents(boost::optional< aggregate_of< ::Ifc4x1::IfcMaterialConstituent >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x1::IfcMaterialConstituentSet::declaration() const { return *((IfcParse::entity*)IFC4X1_types[578]); } const IfcParse::entity& Ifc4x1::IfcMaterialConstituentSet::Class() { return *((IfcParse::entity*)IFC4X1_types[578]); } Ifc4x1::IfcMaterialConstituentSet::IfcMaterialConstituentSet(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x1::IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x1::IfcMaterialConstituent >::ptr > v3_MaterialConstituents) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, (*v3_MaterialConstituents)->generalize()); }; populate_derived(); } +Ifc4x1::IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x1::IfcMaterialConstituent >::ptr > v3_MaterialConstituents) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, (*v3_MaterialConstituents)->generalize()); }; populate_derived(); } // Function implementations for IfcMaterialDefinition @@ -11142,32 +11142,32 @@ Ifc4x1::IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional< st const IfcParse::entity& Ifc4x1::IfcMaterialDefinition::declaration() const { return *((IfcParse::entity*)IFC4X1_types[579]); } const IfcParse::entity& Ifc4x1::IfcMaterialDefinition::Class() { return *((IfcParse::entity*)IFC4X1_types[579]); } Ifc4x1::IfcMaterialDefinition::IfcMaterialDefinition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcMaterialDefinition::IfcMaterialDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x1::IfcMaterialDefinition::IfcMaterialDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcMaterialDefinitionRepresentation -::Ifc4x1::IfcMaterial* Ifc4x1::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcMaterial>(true); } +::Ifc4x1::IfcMaterial* Ifc4x1::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcMaterial>(true); } void Ifc4x1::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(::Ifc4x1::IfcMaterial* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcMaterialDefinitionRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X1_types[580]); } const IfcParse::entity& Ifc4x1::IfcMaterialDefinitionRepresentation::Class() { return *((IfcParse::entity*)IFC4X1_types[580]); } Ifc4x1::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(IfcEntityInstanceData&& e) : IfcProductRepresentation(std::move(e)) { } -Ifc4x1::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcRepresentation >::ptr v3_Representations, ::Ifc4x1::IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());set_attribute_value(3, v4_RepresentedMaterial ? v4_RepresentedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcRepresentation >::ptr v3_Representations, ::Ifc4x1::IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());set_attribute_value(3, v4_RepresentedMaterial ? v4_RepresentedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialLayer -::Ifc4x1::IfcMaterial* Ifc4x1::IfcMaterialLayer::Material() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcMaterial>(true); } +::Ifc4x1::IfcMaterial* Ifc4x1::IfcMaterialLayer::Material() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcMaterial>(true); } void Ifc4x1::IfcMaterialLayer::setMaterial(::Ifc4x1::IfcMaterial* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x1::IfcMaterialLayer::LayerThickness() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x1::IfcMaterialLayer::LayerThickness() const { double v = get_attribute_value(1); return v; } void Ifc4x1::IfcMaterialLayer::setLayerThickness(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< boost::logic::tribool > Ifc4x1::IfcMaterialLayer::IsVentilated() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::optional< boost::logic::tribool > Ifc4x1::IfcMaterialLayer::IsVentilated() const { if(get_attribute_value(2).isNull()) { return boost::none; } boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x1::IfcMaterialLayer::setIsVentilated(boost::optional< boost::logic::tribool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x1::IfcMaterialLayer::Name() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x1::IfcMaterialLayer::Name() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x1::IfcMaterialLayer::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x1::IfcMaterialLayer::Description() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x1::IfcMaterialLayer::Description() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcMaterialLayer::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x1::IfcMaterialLayer::Category() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x1::IfcMaterialLayer::Category() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcMaterialLayer::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< int > Ifc4x1::IfcMaterialLayer::Priority() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } int v = data_.get_attribute_value(6); return v; } +boost::optional< int > Ifc4x1::IfcMaterialLayer::Priority() const { if(get_attribute_value(6).isNull()) { return boost::none; } int v = get_attribute_value(6); return v; } void Ifc4x1::IfcMaterialLayer::setPriority(boost::optional< int > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x1::IfcMaterialLayerSet::list::ptr Ifc4x1::IfcMaterialLayer::ToMaterialLayerSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[582], 0)->as(); } @@ -11175,74 +11175,74 @@ void Ifc4x1::IfcMaterialLayer::setPriority(boost::optional< int > v) { if (v) {s const IfcParse::entity& Ifc4x1::IfcMaterialLayer::declaration() const { return *((IfcParse::entity*)IFC4X1_types[581]); } const IfcParse::entity& Ifc4x1::IfcMaterialLayer::Class() { return *((IfcParse::entity*)IFC4X1_types[581]); } Ifc4x1::IfcMaterialLayer::IfcMaterialLayer(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x1::IfcMaterialLayer::IfcMaterialLayer(::Ifc4x1::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(storage_t(7))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }; populate_derived(); } +Ifc4x1::IfcMaterialLayer::IfcMaterialLayer(::Ifc4x1::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(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }; populate_derived(); } // Function implementations for IfcMaterialLayerSet -aggregate_of< ::Ifc4x1::IfcMaterialLayer >::ptr Ifc4x1::IfcMaterialLayerSet::MaterialLayers() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x1::IfcMaterialLayer >(); } +aggregate_of< ::Ifc4x1::IfcMaterialLayer >::ptr Ifc4x1::IfcMaterialLayerSet::MaterialLayers() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x1::IfcMaterialLayer >(); } void Ifc4x1::IfcMaterialLayerSet::setMaterialLayers(aggregate_of< ::Ifc4x1::IfcMaterialLayer >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x1::IfcMaterialLayerSet::LayerSetName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x1::IfcMaterialLayerSet::LayerSetName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcMaterialLayerSet::setLayerSetName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x1::IfcMaterialLayerSet::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x1::IfcMaterialLayerSet::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcMaterialLayerSet::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x1::IfcMaterialLayerSet::declaration() const { return *((IfcParse::entity*)IFC4X1_types[582]); } const IfcParse::entity& Ifc4x1::IfcMaterialLayerSet::Class() { return *((IfcParse::entity*)IFC4X1_types[582]); } Ifc4x1::IfcMaterialLayerSet::IfcMaterialLayerSet(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x1::IfcMaterialLayerSet::IfcMaterialLayerSet(aggregate_of< ::Ifc4x1::IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName, boost::optional< std::string > v3_Description) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_MaterialLayers)->generalize()); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } +Ifc4x1::IfcMaterialLayerSet::IfcMaterialLayerSet(aggregate_of< ::Ifc4x1::IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName, boost::optional< std::string > v3_Description) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_MaterialLayers)->generalize()); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } // Function implementations for IfcMaterialLayerSetUsage -::Ifc4x1::IfcMaterialLayerSet* Ifc4x1::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcMaterialLayerSet>(true); } +::Ifc4x1::IfcMaterialLayerSet* Ifc4x1::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcMaterialLayerSet>(true); } void Ifc4x1::IfcMaterialLayerSetUsage::setForLayerSet(::Ifc4x1::IfcMaterialLayerSet* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcLayerSetDirectionEnum::Value Ifc4x1::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4x1::IfcLayerSetDirectionEnum::FromString(data_.get_attribute_value(1)); } +::Ifc4x1::IfcLayerSetDirectionEnum::Value Ifc4x1::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4x1::IfcLayerSetDirectionEnum::FromString(get_attribute_value(1)); } void Ifc4x1::IfcMaterialLayerSetUsage::setLayerSetDirection(::Ifc4x1::IfcLayerSetDirectionEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x1::IfcLayerSetDirectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcDirectionSenseEnum::Value Ifc4x1::IfcMaterialLayerSetUsage::DirectionSense() const { return ::Ifc4x1::IfcDirectionSenseEnum::FromString(data_.get_attribute_value(2)); } +::Ifc4x1::IfcDirectionSenseEnum::Value Ifc4x1::IfcMaterialLayerSetUsage::DirectionSense() const { return ::Ifc4x1::IfcDirectionSenseEnum::FromString(get_attribute_value(2)); } void Ifc4x1::IfcMaterialLayerSetUsage::setDirectionSense(::Ifc4x1::IfcDirectionSenseEnum::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x1::IfcDirectionSenseEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -double Ifc4x1::IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x1::IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { double v = get_attribute_value(3); return v; } void Ifc4x1::IfcMaterialLayerSetUsage::setOffsetFromReferenceLine(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< double > Ifc4x1::IfcMaterialLayerSetUsage::ReferenceExtent() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x1::IfcMaterialLayerSetUsage::ReferenceExtent() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x1::IfcMaterialLayerSetUsage::setReferenceExtent(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x1::IfcMaterialLayerSetUsage::declaration() const { return *((IfcParse::entity*)IFC4X1_types[583]); } const IfcParse::entity& Ifc4x1::IfcMaterialLayerSetUsage::Class() { return *((IfcParse::entity*)IFC4X1_types[583]); } Ifc4x1::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(IfcEntityInstanceData&& e) : IfcMaterialUsageDefinition(std::move(e)) { } -Ifc4x1::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(::Ifc4x1::IfcMaterialLayerSet* v1_ForLayerSet, ::Ifc4x1::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x1::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, boost::optional< double > v5_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_ForLayerSet ? v1_ForLayerSet->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x1::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (EnumerationReference(&::Ifc4x1::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); }; populate_derived(); } +Ifc4x1::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(::Ifc4x1::IfcMaterialLayerSet* v1_ForLayerSet, ::Ifc4x1::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x1::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, boost::optional< double > v5_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_ForLayerSet ? v1_ForLayerSet->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x1::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (EnumerationReference(&::Ifc4x1::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); }; populate_derived(); } // Function implementations for IfcMaterialLayerWithOffsets -::Ifc4x1::IfcLayerSetDirectionEnum::Value Ifc4x1::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4x1::IfcLayerSetDirectionEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x1::IfcLayerSetDirectionEnum::Value Ifc4x1::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4x1::IfcLayerSetDirectionEnum::FromString(get_attribute_value(7)); } void Ifc4x1::IfcMaterialLayerWithOffsets::setOffsetDirection(::Ifc4x1::IfcLayerSetDirectionEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x1::IfcLayerSetDirectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -std::vector< double > /*[1:2]*/ Ifc4x1::IfcMaterialLayerWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = data_.get_attribute_value(8); return v; } +std::vector< double > /*[1:2]*/ Ifc4x1::IfcMaterialLayerWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = get_attribute_value(8); return v; } void Ifc4x1::IfcMaterialLayerWithOffsets::setOffsetValues(std::vector< double > /*[1:2]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x1::IfcMaterialLayerWithOffsets::declaration() const { return *((IfcParse::entity*)IFC4X1_types[584]); } const IfcParse::entity& Ifc4x1::IfcMaterialLayerWithOffsets::Class() { return *((IfcParse::entity*)IFC4X1_types[584]); } Ifc4x1::IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(IfcEntityInstanceData&& e) : IfcMaterialLayer(std::move(e)) { } -Ifc4x1::IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(::Ifc4x1::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, ::Ifc4x1::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) : IfcMaterialLayer(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues));; populate_derived(); } +Ifc4x1::IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(::Ifc4x1::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, ::Ifc4x1::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) : IfcMaterialLayer(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues));; populate_derived(); } // Function implementations for IfcMaterialList -aggregate_of< ::Ifc4x1::IfcMaterial >::ptr Ifc4x1::IfcMaterialList::Materials() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x1::IfcMaterial >(); } +aggregate_of< ::Ifc4x1::IfcMaterial >::ptr Ifc4x1::IfcMaterialList::Materials() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x1::IfcMaterial >(); } void Ifc4x1::IfcMaterialList::setMaterials(aggregate_of< ::Ifc4x1::IfcMaterial >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x1::IfcMaterialList::declaration() const { return *((IfcParse::entity*)IFC4X1_types[585]); } const IfcParse::entity& Ifc4x1::IfcMaterialList::Class() { return *((IfcParse::entity*)IFC4X1_types[585]); } Ifc4x1::IfcMaterialList::IfcMaterialList(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcMaterialList::IfcMaterialList(aggregate_of< ::Ifc4x1::IfcMaterial >::ptr v1_Materials) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Materials)->generalize());; populate_derived(); } +Ifc4x1::IfcMaterialList::IfcMaterialList(aggregate_of< ::Ifc4x1::IfcMaterial >::ptr v1_Materials) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Materials)->generalize());; populate_derived(); } // Function implementations for IfcMaterialProfile -boost::optional< std::string > Ifc4x1::IfcMaterialProfile::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x1::IfcMaterialProfile::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcMaterialProfile::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x1::IfcMaterialProfile::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x1::IfcMaterialProfile::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcMaterialProfile::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x1::IfcMaterial* Ifc4x1::IfcMaterialProfile::Material() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcMaterial>(true); } +::Ifc4x1::IfcMaterial* Ifc4x1::IfcMaterialProfile::Material() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcMaterial>(true); } void Ifc4x1::IfcMaterialProfile::setMaterial(::Ifc4x1::IfcMaterial* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcProfileDef* Ifc4x1::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcProfileDef>(true); } +::Ifc4x1::IfcProfileDef* Ifc4x1::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcProfileDef>(true); } void Ifc4x1::IfcMaterialProfile::setProfile(::Ifc4x1::IfcProfileDef* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< int > Ifc4x1::IfcMaterialProfile::Priority() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x1::IfcMaterialProfile::Priority() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x1::IfcMaterialProfile::setPriority(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x1::IfcMaterialProfile::Category() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x1::IfcMaterialProfile::Category() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcMaterialProfile::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x1::IfcMaterialProfileSet::list::ptr Ifc4x1::IfcMaterialProfile::ToMaterialProfileSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[587], 2)->as(); } @@ -11250,83 +11250,83 @@ void Ifc4x1::IfcMaterialProfile::setCategory(boost::optional< std::string > v) { const IfcParse::entity& Ifc4x1::IfcMaterialProfile::declaration() const { return *((IfcParse::entity*)IFC4X1_types[586]); } const IfcParse::entity& Ifc4x1::IfcMaterialProfile::Class() { return *((IfcParse::entity*)IFC4X1_types[586]); } Ifc4x1::IfcMaterialProfile::IfcMaterialProfile(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x1::IfcMaterialProfile::IfcMaterialProfile(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcMaterial* v3_Material, ::Ifc4x1::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }; populate_derived(); } +Ifc4x1::IfcMaterialProfile::IfcMaterialProfile(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcMaterial* v3_Material, ::Ifc4x1::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }; populate_derived(); } // Function implementations for IfcMaterialProfileSet -boost::optional< std::string > Ifc4x1::IfcMaterialProfileSet::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x1::IfcMaterialProfileSet::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcMaterialProfileSet::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x1::IfcMaterialProfileSet::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x1::IfcMaterialProfileSet::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcMaterialProfileSet::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x1::IfcMaterialProfile >::ptr Ifc4x1::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x1::IfcMaterialProfile >(); } +aggregate_of< ::Ifc4x1::IfcMaterialProfile >::ptr Ifc4x1::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x1::IfcMaterialProfile >(); } void Ifc4x1::IfcMaterialProfileSet::setMaterialProfiles(aggregate_of< ::Ifc4x1::IfcMaterialProfile >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcCompositeProfileDef* Ifc4x1::IfcMaterialProfileSet::CompositeProfile() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcCompositeProfileDef>(true); } +::Ifc4x1::IfcCompositeProfileDef* Ifc4x1::IfcMaterialProfileSet::CompositeProfile() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcCompositeProfileDef>(true); } void Ifc4x1::IfcMaterialProfileSet::setCompositeProfile(::Ifc4x1::IfcCompositeProfileDef* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcMaterialProfileSet::declaration() const { return *((IfcParse::entity*)IFC4X1_types[587]); } const IfcParse::entity& Ifc4x1::IfcMaterialProfileSet::Class() { return *((IfcParse::entity*)IFC4X1_types[587]); } Ifc4x1::IfcMaterialProfileSet::IfcMaterialProfileSet(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x1::IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcMaterialProfile >::ptr v3_MaterialProfiles, ::Ifc4x1::IfcCompositeProfileDef* v4_CompositeProfile) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_MaterialProfiles)->generalize());set_attribute_value(3, v4_CompositeProfile ? v4_CompositeProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcMaterialProfile >::ptr v3_MaterialProfiles, ::Ifc4x1::IfcCompositeProfileDef* v4_CompositeProfile) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_MaterialProfiles)->generalize());set_attribute_value(3, v4_CompositeProfile ? v4_CompositeProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialProfileSetUsage -::Ifc4x1::IfcMaterialProfileSet* Ifc4x1::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcMaterialProfileSet>(true); } +::Ifc4x1::IfcMaterialProfileSet* Ifc4x1::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcMaterialProfileSet>(true); } void Ifc4x1::IfcMaterialProfileSetUsage::setForProfileSet(::Ifc4x1::IfcMaterialProfileSet* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< int > Ifc4x1::IfcMaterialProfileSetUsage::CardinalPoint() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } int v = data_.get_attribute_value(1); return v; } +boost::optional< int > Ifc4x1::IfcMaterialProfileSetUsage::CardinalPoint() const { if(get_attribute_value(1).isNull()) { return boost::none; } int v = get_attribute_value(1); return v; } void Ifc4x1::IfcMaterialProfileSetUsage::setCardinalPoint(boost::optional< int > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x1::IfcMaterialProfileSetUsage::ReferenceExtent() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x1::IfcMaterialProfileSetUsage::ReferenceExtent() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x1::IfcMaterialProfileSetUsage::setReferenceExtent(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x1::IfcMaterialProfileSetUsage::declaration() const { return *((IfcParse::entity*)IFC4X1_types[588]); } const IfcParse::entity& Ifc4x1::IfcMaterialProfileSetUsage::Class() { return *((IfcParse::entity*)IFC4X1_types[588]); } Ifc4x1::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(IfcEntityInstanceData&& e) : IfcMaterialUsageDefinition(std::move(e)) { } -Ifc4x1::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4x1::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }; populate_derived(); } +Ifc4x1::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4x1::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }; populate_derived(); } // Function implementations for IfcMaterialProfileSetUsageTapering -::Ifc4x1::IfcMaterialProfileSet* Ifc4x1::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcMaterialProfileSet>(true); } +::Ifc4x1::IfcMaterialProfileSet* Ifc4x1::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcMaterialProfileSet>(true); } void Ifc4x1::IfcMaterialProfileSetUsageTapering::setForProfileEndSet(::Ifc4x1::IfcMaterialProfileSet* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< int > Ifc4x1::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x1::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x1::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x1::IfcMaterialProfileSetUsageTapering::declaration() const { return *((IfcParse::entity*)IFC4X1_types[589]); } const IfcParse::entity& Ifc4x1::IfcMaterialProfileSetUsageTapering::Class() { return *((IfcParse::entity*)IFC4X1_types[589]); } Ifc4x1::IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(IfcEntityInstanceData&& e) : IfcMaterialProfileSetUsage(std::move(e)) { } -Ifc4x1::IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(::Ifc4x1::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent, ::Ifc4x1::IfcMaterialProfileSet* v4_ForProfileEndSet, boost::optional< int > v5_CardinalEndPoint) : IfcMaterialProfileSetUsage(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, v4_ForProfileEndSet ? v4_ForProfileEndSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); }; populate_derived(); } +Ifc4x1::IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(::Ifc4x1::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent, ::Ifc4x1::IfcMaterialProfileSet* v4_ForProfileEndSet, boost::optional< int > v5_CardinalEndPoint) : IfcMaterialProfileSetUsage(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, v4_ForProfileEndSet ? v4_ForProfileEndSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); }; populate_derived(); } // Function implementations for IfcMaterialProfileWithOffsets -std::vector< double > /*[1:2]*/ Ifc4x1::IfcMaterialProfileWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = data_.get_attribute_value(6); return v; } +std::vector< double > /*[1:2]*/ Ifc4x1::IfcMaterialProfileWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = get_attribute_value(6); return v; } void Ifc4x1::IfcMaterialProfileWithOffsets::setOffsetValues(std::vector< double > /*[1:2]*/ v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x1::IfcMaterialProfileWithOffsets::declaration() const { return *((IfcParse::entity*)IFC4X1_types[590]); } const IfcParse::entity& Ifc4x1::IfcMaterialProfileWithOffsets::Class() { return *((IfcParse::entity*)IFC4X1_types[590]); } Ifc4x1::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(IfcEntityInstanceData&& e) : IfcMaterialProfile(std::move(e)) { } -Ifc4x1::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcMaterial* v3_Material, ::Ifc4x1::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) : IfcMaterialProfile(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues));; populate_derived(); } +Ifc4x1::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcMaterial* v3_Material, ::Ifc4x1::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) : IfcMaterialProfile(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues));; populate_derived(); } // Function implementations for IfcMaterialProperties -::Ifc4x1::IfcMaterialDefinition* Ifc4x1::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcMaterialDefinition>(true); } +::Ifc4x1::IfcMaterialDefinition* Ifc4x1::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcMaterialDefinition>(true); } void Ifc4x1::IfcMaterialProperties::setMaterial(::Ifc4x1::IfcMaterialDefinition* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcMaterialProperties::declaration() const { return *((IfcParse::entity*)IFC4X1_types[591]); } const IfcParse::entity& Ifc4x1::IfcMaterialProperties::Class() { return *((IfcParse::entity*)IFC4X1_types[591]); } Ifc4x1::IfcMaterialProperties::IfcMaterialProperties(IfcEntityInstanceData&& e) : IfcExtendedProperties(std::move(e)) { } -Ifc4x1::IfcMaterialProperties::IfcMaterialProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcProperty >::ptr v3_Properties, ::Ifc4x1::IfcMaterialDefinition* v4_Material) : IfcExtendedProperties(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_Material ? v4_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcMaterialProperties::IfcMaterialProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcProperty >::ptr v3_Properties, ::Ifc4x1::IfcMaterialDefinition* v4_Material) : IfcExtendedProperties(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_Material ? v4_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialRelationship -::Ifc4x1::IfcMaterial* Ifc4x1::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcMaterial>(true); } +::Ifc4x1::IfcMaterial* Ifc4x1::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcMaterial>(true); } void Ifc4x1::IfcMaterialRelationship::setRelatingMaterial(::Ifc4x1::IfcMaterial* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x1::IfcMaterial >::ptr Ifc4x1::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x1::IfcMaterial >(); } +aggregate_of< ::Ifc4x1::IfcMaterial >::ptr Ifc4x1::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x1::IfcMaterial >(); } void Ifc4x1::IfcMaterialRelationship::setRelatedMaterials(aggregate_of< ::Ifc4x1::IfcMaterial >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x1::IfcMaterialRelationship::Expression() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x1::IfcMaterialRelationship::Expression() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcMaterialRelationship::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x1::IfcMaterialRelationship::declaration() const { return *((IfcParse::entity*)IFC4X1_types[592]); } const IfcParse::entity& Ifc4x1::IfcMaterialRelationship::Class() { return *((IfcParse::entity*)IFC4X1_types[592]); } Ifc4x1::IfcMaterialRelationship::IfcMaterialRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x1::IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcMaterial* v3_RelatingMaterial, aggregate_of< ::Ifc4x1::IfcMaterial >::ptr v4_RelatedMaterials, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMaterial ? v3_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedMaterials)->generalize()); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } +Ifc4x1::IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcMaterial* v3_RelatingMaterial, aggregate_of< ::Ifc4x1::IfcMaterial >::ptr v4_RelatedMaterials, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMaterial ? v3_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedMaterials)->generalize()); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } // Function implementations for IfcMaterialUsageDefinition @@ -11335,77 +11335,77 @@ Ifc4x1::IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< std::s const IfcParse::entity& Ifc4x1::IfcMaterialUsageDefinition::declaration() const { return *((IfcParse::entity*)IFC4X1_types[594]); } const IfcParse::entity& Ifc4x1::IfcMaterialUsageDefinition::Class() { return *((IfcParse::entity*)IFC4X1_types[594]); } Ifc4x1::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x1::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcMeasureWithUnit -::Ifc4x1::IfcValue* Ifc4x1::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcValue>(true); } +::Ifc4x1::IfcValue* Ifc4x1::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcValue>(true); } void Ifc4x1::IfcMeasureWithUnit::setValueComponent(::Ifc4x1::IfcValue* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcUnit* Ifc4x1::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcUnit>(true); } +::Ifc4x1::IfcUnit* Ifc4x1::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcUnit>(true); } void Ifc4x1::IfcMeasureWithUnit::setUnitComponent(::Ifc4x1::IfcUnit* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcMeasureWithUnit::declaration() const { return *((IfcParse::entity*)IFC4X1_types[596]); } const IfcParse::entity& Ifc4x1::IfcMeasureWithUnit::Class() { return *((IfcParse::entity*)IFC4X1_types[596]); } Ifc4x1::IfcMeasureWithUnit::IfcMeasureWithUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcMeasureWithUnit::IfcMeasureWithUnit(::Ifc4x1::IfcValue* v1_ValueComponent, ::Ifc4x1::IfcUnit* v2_UnitComponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_ValueComponent ? v1_ValueComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_UnitComponent ? v2_UnitComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcMeasureWithUnit::IfcMeasureWithUnit(::Ifc4x1::IfcValue* v1_ValueComponent, ::Ifc4x1::IfcUnit* v2_UnitComponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_ValueComponent ? v1_ValueComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_UnitComponent ? v2_UnitComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMechanicalFastener -boost::optional< double > Ifc4x1::IfcMechanicalFastener::NominalDiameter() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x1::IfcMechanicalFastener::NominalDiameter() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x1::IfcMechanicalFastener::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x1::IfcMechanicalFastener::NominalLength() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x1::IfcMechanicalFastener::NominalLength() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x1::IfcMechanicalFastener::setNominalLength(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x1::IfcMechanicalFastenerTypeEnum::Value > Ifc4x1::IfcMechanicalFastener::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x1::IfcMechanicalFastenerTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x1::IfcMechanicalFastenerTypeEnum::Value > Ifc4x1::IfcMechanicalFastener::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x1::IfcMechanicalFastenerTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x1::IfcMechanicalFastener::setPredefinedType(boost::optional< ::Ifc4x1::IfcMechanicalFastenerTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x1::IfcMechanicalFastenerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x1::IfcMechanicalFastener::declaration() const { return *((IfcParse::entity*)IFC4X1_types[597]); } const IfcParse::entity& Ifc4x1::IfcMechanicalFastener::Class() { return *((IfcParse::entity*)IFC4X1_types[597]); } Ifc4x1::IfcMechanicalFastener::IfcMechanicalFastener(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x1::IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength, boost::optional< ::Ifc4x1::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength, boost::optional< ::Ifc4x1::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMechanicalFastenerType -::Ifc4x1::IfcMechanicalFastenerTypeEnum::Value Ifc4x1::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x1::IfcMechanicalFastenerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcMechanicalFastenerTypeEnum::Value Ifc4x1::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x1::IfcMechanicalFastenerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcMechanicalFastenerType::setPredefinedType(::Ifc4x1::IfcMechanicalFastenerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcMechanicalFastenerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x1::IfcMechanicalFastenerType::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x1::IfcMechanicalFastenerType::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x1::IfcMechanicalFastenerType::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x1::IfcMechanicalFastenerType::NominalLength() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x1::IfcMechanicalFastenerType::NominalLength() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x1::IfcMechanicalFastenerType::setNominalLength(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x1::IfcMechanicalFastenerType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[598]); } const IfcParse::entity& Ifc4x1::IfcMechanicalFastenerType::Class() { return *((IfcParse::entity*)IFC4X1_types[598]); } Ifc4x1::IfcMechanicalFastenerType::IfcMechanicalFastenerType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x1::IfcMechanicalFastenerType::IfcMechanicalFastenerType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_NominalLength) : IfcElementComponentType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); }; populate_derived(); } +Ifc4x1::IfcMechanicalFastenerType::IfcMechanicalFastenerType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_NominalLength) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); }; populate_derived(); } // Function implementations for IfcMedicalDevice -boost::optional< ::Ifc4x1::IfcMedicalDeviceTypeEnum::Value > Ifc4x1::IfcMedicalDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcMedicalDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcMedicalDeviceTypeEnum::Value > Ifc4x1::IfcMedicalDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcMedicalDevice::setPredefinedType(boost::optional< ::Ifc4x1::IfcMedicalDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcMedicalDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcMedicalDevice::declaration() const { return *((IfcParse::entity*)IFC4X1_types[600]); } const IfcParse::entity& Ifc4x1::IfcMedicalDevice::Class() { return *((IfcParse::entity*)IFC4X1_types[600]); } Ifc4x1::IfcMedicalDevice::IfcMedicalDevice(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x1::IfcMedicalDevice::IfcMedicalDevice(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcMedicalDevice::IfcMedicalDevice(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMedicalDeviceType -::Ifc4x1::IfcMedicalDeviceTypeEnum::Value Ifc4x1::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4x1::IfcMedicalDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcMedicalDeviceTypeEnum::Value Ifc4x1::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4x1::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcMedicalDeviceType::setPredefinedType(::Ifc4x1::IfcMedicalDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcMedicalDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcMedicalDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[601]); } const IfcParse::entity& Ifc4x1::IfcMedicalDeviceType::Class() { return *((IfcParse::entity*)IFC4X1_types[601]); } Ifc4x1::IfcMedicalDeviceType::IfcMedicalDeviceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x1::IfcMedicalDeviceType::IfcMedicalDeviceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcMedicalDeviceType::IfcMedicalDeviceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMember -boost::optional< ::Ifc4x1::IfcMemberTypeEnum::Value > Ifc4x1::IfcMember::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcMemberTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcMemberTypeEnum::Value > Ifc4x1::IfcMember::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcMemberTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcMember::setPredefinedType(boost::optional< ::Ifc4x1::IfcMemberTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcMemberTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcMember::declaration() const { return *((IfcParse::entity*)IFC4X1_types[603]); } const IfcParse::entity& Ifc4x1::IfcMember::Class() { return *((IfcParse::entity*)IFC4X1_types[603]); } Ifc4x1::IfcMember::IfcMember(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x1::IfcMember::IfcMember(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcMemberTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcMember::IfcMember(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcMemberTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMemberStandardCase @@ -11413,33 +11413,33 @@ Ifc4x1::IfcMember::IfcMember(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* const IfcParse::entity& Ifc4x1::IfcMemberStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X1_types[604]); } const IfcParse::entity& Ifc4x1::IfcMemberStandardCase::Class() { return *((IfcParse::entity*)IFC4X1_types[604]); } Ifc4x1::IfcMemberStandardCase::IfcMemberStandardCase(IfcEntityInstanceData&& e) : IfcMember(std::move(e)) { } -Ifc4x1::IfcMemberStandardCase::IfcMemberStandardCase(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcMemberTypeEnum::Value > v9_PredefinedType) : IfcMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcMemberStandardCase::IfcMemberStandardCase(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcMemberTypeEnum::Value > v9_PredefinedType) : IfcMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMemberType -::Ifc4x1::IfcMemberTypeEnum::Value Ifc4x1::IfcMemberType::PredefinedType() const { return ::Ifc4x1::IfcMemberTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcMemberTypeEnum::Value Ifc4x1::IfcMemberType::PredefinedType() const { return ::Ifc4x1::IfcMemberTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcMemberType::setPredefinedType(::Ifc4x1::IfcMemberTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcMemberType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[605]); } const IfcParse::entity& Ifc4x1::IfcMemberType::Class() { return *((IfcParse::entity*)IFC4X1_types[605]); } Ifc4x1::IfcMemberType::IfcMemberType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x1::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcMemberTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcMemberTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMetric -::Ifc4x1::IfcBenchmarkEnum::Value Ifc4x1::IfcMetric::Benchmark() const { return ::Ifc4x1::IfcBenchmarkEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x1::IfcBenchmarkEnum::Value Ifc4x1::IfcMetric::Benchmark() const { return ::Ifc4x1::IfcBenchmarkEnum::FromString(get_attribute_value(7)); } void Ifc4x1::IfcMetric::setBenchmark(::Ifc4x1::IfcBenchmarkEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x1::IfcBenchmarkEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc4x1::IfcMetric::ValueSource() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x1::IfcMetric::ValueSource() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x1::IfcMetric::setValueSource(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x1::IfcMetricValueSelect* Ifc4x1::IfcMetric::DataValue() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x1::IfcMetricValueSelect>(true); } +::Ifc4x1::IfcMetricValueSelect* Ifc4x1::IfcMetric::DataValue() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x1::IfcMetricValueSelect>(true); } void Ifc4x1::IfcMetric::setDataValue(::Ifc4x1::IfcMetricValueSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4x1::IfcReference* Ifc4x1::IfcMetric::ReferencePath() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x1::IfcReference>(true); } +::Ifc4x1::IfcReference* Ifc4x1::IfcMetric::ReferencePath() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x1::IfcReference>(true); } void Ifc4x1::IfcMetric::setReferencePath(::Ifc4x1::IfcReference* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x1::IfcMetric::declaration() const { return *((IfcParse::entity*)IFC4X1_types[607]); } const IfcParse::entity& Ifc4x1::IfcMetric::Class() { return *((IfcParse::entity*)IFC4X1_types[607]); } Ifc4x1::IfcMetric::IfcMetric(IfcEntityInstanceData&& e) : IfcConstraint(std::move(e)) { } -Ifc4x1::IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x1::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, ::Ifc4x1::IfcBenchmarkEnum::Value v8_Benchmark, boost::optional< std::string > v9_ValueSource, ::Ifc4x1::IfcMetricValueSelect* v10_DataValue, ::Ifc4x1::IfcReference* v11_ReferencePath) : IfcConstraint(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, v10_DataValue ? v10_DataValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ReferencePath ? v11_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x1::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, ::Ifc4x1::IfcBenchmarkEnum::Value v8_Benchmark, boost::optional< std::string > v9_ValueSource, ::Ifc4x1::IfcMetricValueSelect* v10_DataValue, ::Ifc4x1::IfcReference* v11_ReferencePath) : IfcConstraint(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, v10_DataValue ? v10_DataValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ReferencePath ? v11_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMirroredProfileDef @@ -11447,52 +11447,52 @@ Ifc4x1::IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::string > const IfcParse::entity& Ifc4x1::IfcMirroredProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X1_types[609]); } const IfcParse::entity& Ifc4x1::IfcMirroredProfileDef::Class() { return *((IfcParse::entity*)IFC4X1_types[609]); } Ifc4x1::IfcMirroredProfileDef::IfcMirroredProfileDef(IfcEntityInstanceData&& e) : IfcDerivedProfileDef(std::move(e)) { } -Ifc4x1::IfcMirroredProfileDef::IfcMirroredProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcProfileDef* v3_ParentProfile, boost::optional< std::string > v5_Label) : IfcDerivedProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } +Ifc4x1::IfcMirroredProfileDef::IfcMirroredProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcProfileDef* v3_ParentProfile, boost::optional< std::string > v5_Label) : IfcDerivedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } // Function implementations for IfcMonetaryUnit -std::string Ifc4x1::IfcMonetaryUnit::Currency() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x1::IfcMonetaryUnit::Currency() const { std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcMonetaryUnit::setCurrency(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x1::IfcMonetaryUnit::declaration() const { return *((IfcParse::entity*)IFC4X1_types[621]); } const IfcParse::entity& Ifc4x1::IfcMonetaryUnit::Class() { return *((IfcParse::entity*)IFC4X1_types[621]); } Ifc4x1::IfcMonetaryUnit::IfcMonetaryUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcMonetaryUnit::IfcMonetaryUnit(std::string v1_Currency) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Currency));; populate_derived(); } +Ifc4x1::IfcMonetaryUnit::IfcMonetaryUnit(std::string v1_Currency) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Currency));; populate_derived(); } // Function implementations for IfcMotorConnection -boost::optional< ::Ifc4x1::IfcMotorConnectionTypeEnum::Value > Ifc4x1::IfcMotorConnection::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcMotorConnectionTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcMotorConnectionTypeEnum::Value > Ifc4x1::IfcMotorConnection::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcMotorConnection::setPredefinedType(boost::optional< ::Ifc4x1::IfcMotorConnectionTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcMotorConnectionTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcMotorConnection::declaration() const { return *((IfcParse::entity*)IFC4X1_types[623]); } const IfcParse::entity& Ifc4x1::IfcMotorConnection::Class() { return *((IfcParse::entity*)IFC4X1_types[623]); } Ifc4x1::IfcMotorConnection::IfcMotorConnection(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x1::IfcMotorConnection::IfcMotorConnection(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcMotorConnection::IfcMotorConnection(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMotorConnectionType -::Ifc4x1::IfcMotorConnectionTypeEnum::Value Ifc4x1::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4x1::IfcMotorConnectionTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcMotorConnectionTypeEnum::Value Ifc4x1::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4x1::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcMotorConnectionType::setPredefinedType(::Ifc4x1::IfcMotorConnectionTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcMotorConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcMotorConnectionType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[624]); } const IfcParse::entity& Ifc4x1::IfcMotorConnectionType::Class() { return *((IfcParse::entity*)IFC4X1_types[624]); } Ifc4x1::IfcMotorConnectionType::IfcMotorConnectionType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x1::IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcNamedUnit -::Ifc4x1::IfcDimensionalExponents* Ifc4x1::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcDimensionalExponents>(true); } +::Ifc4x1::IfcDimensionalExponents* Ifc4x1::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcDimensionalExponents>(true); } void Ifc4x1::IfcNamedUnit::setDimensions(::Ifc4x1::IfcDimensionalExponents* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcUnitEnum::Value Ifc4x1::IfcNamedUnit::UnitType() const { return ::Ifc4x1::IfcUnitEnum::FromString(data_.get_attribute_value(1)); } +::Ifc4x1::IfcUnitEnum::Value Ifc4x1::IfcNamedUnit::UnitType() const { return ::Ifc4x1::IfcUnitEnum::FromString(get_attribute_value(1)); } void Ifc4x1::IfcNamedUnit::setUnitType(::Ifc4x1::IfcUnitEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x1::IfcUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcNamedUnit::declaration() const { return *((IfcParse::entity*)IFC4X1_types[626]); } const IfcParse::entity& Ifc4x1::IfcNamedUnit::Class() { return *((IfcParse::entity*)IFC4X1_types[626]); } Ifc4x1::IfcNamedUnit::IfcNamedUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcNamedUnit::IfcNamedUnit(::Ifc4x1::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x1::IfcUnitEnum::Value v2_UnitType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; populate_derived(); } +Ifc4x1::IfcNamedUnit::IfcNamedUnit(::Ifc4x1::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x1::IfcUnitEnum::Value v2_UnitType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; populate_derived(); } // Function implementations for IfcObject -boost::optional< std::string > Ifc4x1::IfcObject::ObjectType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x1::IfcObject::ObjectType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcObject::setObjectType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } ::Ifc4x1::IfcRelDefinesByObject::list::ptr Ifc4x1::IfcObject::IsDeclaredBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[852], 4)->as(); } @@ -11503,7 +11503,7 @@ void Ifc4x1::IfcObject::setObjectType(boost::optional< std::string > v) { if (v) const IfcParse::entity& Ifc4x1::IfcObject::declaration() const { return *((IfcParse::entity*)IFC4X1_types[631]); } const IfcParse::entity& Ifc4x1::IfcObject::Class() { return *((IfcParse::entity*)IFC4X1_types[631]); } Ifc4x1::IfcObject::IfcObject(IfcEntityInstanceData&& e) : IfcObjectDefinition(std::move(e)) { } -Ifc4x1::IfcObject::IfcObject(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObjectDefinition(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc4x1::IfcObject::IfcObject(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObjectDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcObjectDefinition @@ -11518,7 +11518,7 @@ Ifc4x1::IfcObject::IfcObject(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* const IfcParse::entity& Ifc4x1::IfcObjectDefinition::declaration() const { return *((IfcParse::entity*)IFC4X1_types[632]); } const IfcParse::entity& Ifc4x1::IfcObjectDefinition::Class() { return *((IfcParse::entity*)IFC4X1_types[632]); } Ifc4x1::IfcObjectDefinition::IfcObjectDefinition(IfcEntityInstanceData&& e) : IfcRoot(std::move(e)) { } -Ifc4x1::IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x1::IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcObjectPlacement @@ -11528,81 +11528,81 @@ Ifc4x1::IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x1::IfcObjectPlacement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[635]); } const IfcParse::entity& Ifc4x1::IfcObjectPlacement::Class() { return *((IfcParse::entity*)IFC4X1_types[635]); } Ifc4x1::IfcObjectPlacement::IfcObjectPlacement(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcObjectPlacement::IfcObjectPlacement() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x1::IfcObjectPlacement::IfcObjectPlacement() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcObjective -boost::optional< aggregate_of< ::Ifc4x1::IfcConstraint >::ptr > Ifc4x1::IfcObjective::BenchmarkValues() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x1::IfcConstraint >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcConstraint >::ptr > Ifc4x1::IfcObjective::BenchmarkValues() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x1::IfcConstraint >(); } void Ifc4x1::IfcObjective::setBenchmarkValues(boost::optional< aggregate_of< ::Ifc4x1::IfcConstraint >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x1::IfcLogicalOperatorEnum::Value > Ifc4x1::IfcObjective::LogicalAggregator() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcLogicalOperatorEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcLogicalOperatorEnum::Value > Ifc4x1::IfcObjective::LogicalAggregator() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcLogicalOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcObjective::setLogicalAggregator(boost::optional< ::Ifc4x1::IfcLogicalOperatorEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcLogicalOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -::Ifc4x1::IfcObjectiveEnum::Value Ifc4x1::IfcObjective::ObjectiveQualifier() const { return ::Ifc4x1::IfcObjectiveEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcObjectiveEnum::Value Ifc4x1::IfcObjective::ObjectiveQualifier() const { return ::Ifc4x1::IfcObjectiveEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcObjective::setObjectiveQualifier(::Ifc4x1::IfcObjectiveEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcObjectiveEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x1::IfcObjective::UserDefinedQualifier() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x1::IfcObjective::UserDefinedQualifier() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x1::IfcObjective::setUserDefinedQualifier(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x1::IfcObjective::declaration() const { return *((IfcParse::entity*)IFC4X1_types[633]); } const IfcParse::entity& Ifc4x1::IfcObjective::Class() { return *((IfcParse::entity*)IFC4X1_types[633]); } Ifc4x1::IfcObjective::IfcObjective(IfcEntityInstanceData&& e) : IfcConstraint(std::move(e)) { } -Ifc4x1::IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x1::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, boost::optional< aggregate_of< ::Ifc4x1::IfcConstraint >::ptr > v8_BenchmarkValues, boost::optional< ::Ifc4x1::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x1::IfcObjectiveEnum::Value v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier) : IfcConstraint(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, (*v8_BenchmarkValues)->generalize()); } if (v9_LogicalAggregator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; populate_derived(); } +Ifc4x1::IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x1::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, boost::optional< aggregate_of< ::Ifc4x1::IfcConstraint >::ptr > v8_BenchmarkValues, boost::optional< ::Ifc4x1::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x1::IfcObjectiveEnum::Value v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier) : IfcConstraint(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, (*v8_BenchmarkValues)->generalize()); } if (v9_LogicalAggregator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; populate_derived(); } // Function implementations for IfcOccupant -boost::optional< ::Ifc4x1::IfcOccupantTypeEnum::Value > Ifc4x1::IfcOccupant::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x1::IfcOccupantTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x1::IfcOccupantTypeEnum::Value > Ifc4x1::IfcOccupant::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x1::IfcOccupantTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x1::IfcOccupant::setPredefinedType(boost::optional< ::Ifc4x1::IfcOccupantTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x1::IfcOccupantTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x1::IfcOccupant::declaration() const { return *((IfcParse::entity*)IFC4X1_types[638]); } const IfcParse::entity& Ifc4x1::IfcOccupant::Class() { return *((IfcParse::entity*)IFC4X1_types[638]); } Ifc4x1::IfcOccupant::IfcOccupant(IfcEntityInstanceData&& e) : IfcActor(std::move(e)) { } -Ifc4x1::IfcOccupant::IfcOccupant(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcActorSelect* v6_TheActor, boost::optional< ::Ifc4x1::IfcOccupantTypeEnum::Value > v7_PredefinedType) : IfcActor(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x1::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcOccupant::IfcOccupant(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcActorSelect* v6_TheActor, boost::optional< ::Ifc4x1::IfcOccupantTypeEnum::Value > v7_PredefinedType) : IfcActor(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x1::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOffsetCurve -::Ifc4x1::IfcCurve* Ifc4x1::IfcOffsetCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcCurve>(true); } +::Ifc4x1::IfcCurve* Ifc4x1::IfcOffsetCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcOffsetCurve::setBasisCurve(::Ifc4x1::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x1::IfcOffsetCurve::declaration() const { return *((IfcParse::entity*)IFC4X1_types[640]); } const IfcParse::entity& Ifc4x1::IfcOffsetCurve::Class() { return *((IfcParse::entity*)IFC4X1_types[640]); } Ifc4x1::IfcOffsetCurve::IfcOffsetCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x1::IfcOffsetCurve::IfcOffsetCurve(::Ifc4x1::IfcCurve* v1_BasisCurve) : IfcCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcOffsetCurve::IfcOffsetCurve(::Ifc4x1::IfcCurve* v1_BasisCurve) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcOffsetCurve2D -double Ifc4x1::IfcOffsetCurve2D::Distance() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x1::IfcOffsetCurve2D::Distance() const { double v = get_attribute_value(1); return v; } void Ifc4x1::IfcOffsetCurve2D::setDistance(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::logic::tribool Ifc4x1::IfcOffsetCurve2D::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::logic::tribool Ifc4x1::IfcOffsetCurve2D::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x1::IfcOffsetCurve2D::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x1::IfcOffsetCurve2D::declaration() const { return *((IfcParse::entity*)IFC4X1_types[641]); } const IfcParse::entity& Ifc4x1::IfcOffsetCurve2D::Class() { return *((IfcParse::entity*)IFC4X1_types[641]); } Ifc4x1::IfcOffsetCurve2D::IfcOffsetCurve2D(IfcEntityInstanceData&& e) : IfcOffsetCurve(std::move(e)) { } -Ifc4x1::IfcOffsetCurve2D::IfcOffsetCurve2D(::Ifc4x1::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) : IfcOffsetCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; populate_derived(); } +Ifc4x1::IfcOffsetCurve2D::IfcOffsetCurve2D(::Ifc4x1::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) : IfcOffsetCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; populate_derived(); } // Function implementations for IfcOffsetCurve3D -double Ifc4x1::IfcOffsetCurve3D::Distance() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x1::IfcOffsetCurve3D::Distance() const { double v = get_attribute_value(1); return v; } void Ifc4x1::IfcOffsetCurve3D::setDistance(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::logic::tribool Ifc4x1::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::logic::tribool Ifc4x1::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x1::IfcOffsetCurve3D::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcDirection* Ifc4x1::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcDirection>(true); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcOffsetCurve3D::setRefDirection(::Ifc4x1::IfcDirection* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcOffsetCurve3D::declaration() const { return *((IfcParse::entity*)IFC4X1_types[642]); } const IfcParse::entity& Ifc4x1::IfcOffsetCurve3D::Class() { return *((IfcParse::entity*)IFC4X1_types[642]); } Ifc4x1::IfcOffsetCurve3D::IfcOffsetCurve3D(IfcEntityInstanceData&& e) : IfcOffsetCurve(std::move(e)) { } -Ifc4x1::IfcOffsetCurve3D::IfcOffsetCurve3D(::Ifc4x1::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x1::IfcDirection* v4_RefDirection) : IfcOffsetCurve(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, v4_RefDirection ? v4_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcOffsetCurve3D::IfcOffsetCurve3D(::Ifc4x1::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x1::IfcDirection* v4_RefDirection) : IfcOffsetCurve(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, v4_RefDirection ? v4_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcOffsetCurveByDistances -aggregate_of< ::Ifc4x1::IfcDistanceExpression >::ptr Ifc4x1::IfcOffsetCurveByDistances::OffsetValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x1::IfcDistanceExpression >(); } +aggregate_of< ::Ifc4x1::IfcDistanceExpression >::ptr Ifc4x1::IfcOffsetCurveByDistances::OffsetValues() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x1::IfcDistanceExpression >(); } void Ifc4x1::IfcOffsetCurveByDistances::setOffsetValues(aggregate_of< ::Ifc4x1::IfcDistanceExpression >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x1::IfcOffsetCurveByDistances::Tag() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x1::IfcOffsetCurveByDistances::Tag() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcOffsetCurveByDistances::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x1::IfcOffsetCurveByDistances::declaration() const { return *((IfcParse::entity*)IFC4X1_types[643]); } const IfcParse::entity& Ifc4x1::IfcOffsetCurveByDistances::Class() { return *((IfcParse::entity*)IFC4X1_types[643]); } Ifc4x1::IfcOffsetCurveByDistances::IfcOffsetCurveByDistances(IfcEntityInstanceData&& e) : IfcOffsetCurve(std::move(e)) { } -Ifc4x1::IfcOffsetCurveByDistances::IfcOffsetCurveByDistances(::Ifc4x1::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x1::IfcDistanceExpression >::ptr v2_OffsetValues, boost::optional< std::string > v3_Tag) : IfcOffsetCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_OffsetValues)->generalize()); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; populate_derived(); } +Ifc4x1::IfcOffsetCurveByDistances::IfcOffsetCurveByDistances(::Ifc4x1::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x1::IfcDistanceExpression >::ptr v2_OffsetValues, boost::optional< std::string > v3_Tag) : IfcOffsetCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_OffsetValues)->generalize()); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; populate_derived(); } // Function implementations for IfcOpenShell @@ -11610,10 +11610,10 @@ Ifc4x1::IfcOffsetCurveByDistances::IfcOffsetCurveByDistances(::Ifc4x1::IfcCurve* const IfcParse::entity& Ifc4x1::IfcOpenShell::declaration() const { return *((IfcParse::entity*)IFC4X1_types[647]); } const IfcParse::entity& Ifc4x1::IfcOpenShell::Class() { return *((IfcParse::entity*)IFC4X1_types[647]); } Ifc4x1::IfcOpenShell::IfcOpenShell(IfcEntityInstanceData&& e) : IfcConnectedFaceSet(std::move(e)) { } -Ifc4x1::IfcOpenShell::IfcOpenShell(aggregate_of< ::Ifc4x1::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc4x1::IfcOpenShell::IfcOpenShell(aggregate_of< ::Ifc4x1::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcOpeningElement -boost::optional< ::Ifc4x1::IfcOpeningElementTypeEnum::Value > Ifc4x1::IfcOpeningElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcOpeningElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcOpeningElementTypeEnum::Value > Ifc4x1::IfcOpeningElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcOpeningElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4x1::IfcOpeningElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcOpeningElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x1::IfcRelFillsElement::list::ptr Ifc4x1::IfcOpeningElement::HasFillings() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[856], 4)->as(); } @@ -11621,7 +11621,7 @@ void Ifc4x1::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4x1::Ifc const IfcParse::entity& Ifc4x1::IfcOpeningElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[644]); } const IfcParse::entity& Ifc4x1::IfcOpeningElement::Class() { return *((IfcParse::entity*)IFC4X1_types[644]); } Ifc4x1::IfcOpeningElement::IfcOpeningElement(IfcEntityInstanceData&& e) : IfcFeatureElementSubtraction(std::move(e)) { } -Ifc4x1::IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOpeningStandardCase @@ -11629,18 +11629,18 @@ Ifc4x1::IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, ::Ifc4x1:: const IfcParse::entity& Ifc4x1::IfcOpeningStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X1_types[646]); } const IfcParse::entity& Ifc4x1::IfcOpeningStandardCase::Class() { return *((IfcParse::entity*)IFC4X1_types[646]); } Ifc4x1::IfcOpeningStandardCase::IfcOpeningStandardCase(IfcEntityInstanceData&& e) : IfcOpeningElement(std::move(e)) { } -Ifc4x1::IfcOpeningStandardCase::IfcOpeningStandardCase(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) : IfcOpeningElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcOpeningStandardCase::IfcOpeningStandardCase(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) : IfcOpeningElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOrganization -boost::optional< std::string > Ifc4x1::IfcOrganization::Identification() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x1::IfcOrganization::Identification() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcOrganization::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -std::string Ifc4x1::IfcOrganization::Name() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x1::IfcOrganization::Name() const { std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcOrganization::setName(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x1::IfcOrganization::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x1::IfcOrganization::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcOrganization::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< aggregate_of< ::Ifc4x1::IfcActorRole >::ptr > Ifc4x1::IfcOrganization::Roles() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x1::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcActorRole >::ptr > Ifc4x1::IfcOrganization::Roles() const { if(get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x1::IfcActorRole >(); } void Ifc4x1::IfcOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x1::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(3, (*v)->generalize());} else {unset_attribute_value(3);} } -boost::optional< aggregate_of< ::Ifc4x1::IfcAddress >::ptr > Ifc4x1::IfcOrganization::Addresses() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x1::IfcAddress >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcAddress >::ptr > Ifc4x1::IfcOrganization::Addresses() const { if(get_attribute_value(4).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x1::IfcAddress >(); } void Ifc4x1::IfcOrganization::setAddresses(boost::optional< aggregate_of< ::Ifc4x1::IfcAddress >::ptr > v) { if (v) {set_attribute_value(4, (*v)->generalize());} else {unset_attribute_value(4);} } ::Ifc4x1::IfcOrganizationRelationship::list::ptr Ifc4x1::IfcOrganization::IsRelatedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[649], 3)->as(); } @@ -11650,43 +11650,43 @@ void Ifc4x1::IfcOrganization::setAddresses(boost::optional< aggregate_of< ::Ifc4 const IfcParse::entity& Ifc4x1::IfcOrganization::declaration() const { return *((IfcParse::entity*)IFC4X1_types[648]); } const IfcParse::entity& Ifc4x1::IfcOrganization::Class() { return *((IfcParse::entity*)IFC4X1_types[648]); } Ifc4x1::IfcOrganization::IfcOrganization(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcOrganization::IfcOrganization(boost::optional< std::string > v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc4x1::IfcActorRole >::ptr > v4_Roles, boost::optional< aggregate_of< ::Ifc4x1::IfcAddress >::ptr > v5_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, (*v4_Roles)->generalize()); } if (v5_Addresses) {set_attribute_value(4, (*v5_Addresses)->generalize()); }; populate_derived(); } +Ifc4x1::IfcOrganization::IfcOrganization(boost::optional< std::string > v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc4x1::IfcActorRole >::ptr > v4_Roles, boost::optional< aggregate_of< ::Ifc4x1::IfcAddress >::ptr > v5_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, (*v4_Roles)->generalize()); } if (v5_Addresses) {set_attribute_value(4, (*v5_Addresses)->generalize()); }; populate_derived(); } // Function implementations for IfcOrganizationRelationship -::Ifc4x1::IfcOrganization* Ifc4x1::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcOrganization>(true); } +::Ifc4x1::IfcOrganization* Ifc4x1::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcOrganization>(true); } void Ifc4x1::IfcOrganizationRelationship::setRelatingOrganization(::Ifc4x1::IfcOrganization* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x1::IfcOrganization >::ptr Ifc4x1::IfcOrganizationRelationship::RelatedOrganizations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x1::IfcOrganization >(); } +aggregate_of< ::Ifc4x1::IfcOrganization >::ptr Ifc4x1::IfcOrganizationRelationship::RelatedOrganizations() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x1::IfcOrganization >(); } void Ifc4x1::IfcOrganizationRelationship::setRelatedOrganizations(aggregate_of< ::Ifc4x1::IfcOrganization >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcOrganizationRelationship::declaration() const { return *((IfcParse::entity*)IFC4X1_types[649]); } const IfcParse::entity& Ifc4x1::IfcOrganizationRelationship::Class() { return *((IfcParse::entity*)IFC4X1_types[649]); } Ifc4x1::IfcOrganizationRelationship::IfcOrganizationRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x1::IfcOrganizationRelationship::IfcOrganizationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcOrganization* v3_RelatingOrganization, aggregate_of< ::Ifc4x1::IfcOrganization >::ptr v4_RelatedOrganizations) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingOrganization ? v3_RelatingOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedOrganizations)->generalize());; populate_derived(); } +Ifc4x1::IfcOrganizationRelationship::IfcOrganizationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcOrganization* v3_RelatingOrganization, aggregate_of< ::Ifc4x1::IfcOrganization >::ptr v4_RelatedOrganizations) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingOrganization ? v3_RelatingOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedOrganizations)->generalize());; populate_derived(); } // Function implementations for IfcOrientationExpression -::Ifc4x1::IfcDirection* Ifc4x1::IfcOrientationExpression::LateralAxisDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcDirection>(true); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcOrientationExpression::LateralAxisDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcOrientationExpression::setLateralAxisDirection(::Ifc4x1::IfcDirection* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcDirection* Ifc4x1::IfcOrientationExpression::VerticalAxisDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcDirection>(true); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcOrientationExpression::VerticalAxisDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcOrientationExpression::setVerticalAxisDirection(::Ifc4x1::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcOrientationExpression::declaration() const { return *((IfcParse::entity*)IFC4X1_types[650]); } const IfcParse::entity& Ifc4x1::IfcOrientationExpression::Class() { return *((IfcParse::entity*)IFC4X1_types[650]); } Ifc4x1::IfcOrientationExpression::IfcOrientationExpression(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x1::IfcOrientationExpression::IfcOrientationExpression(::Ifc4x1::IfcDirection* v1_LateralAxisDirection, ::Ifc4x1::IfcDirection* v2_VerticalAxisDirection) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_LateralAxisDirection ? v1_LateralAxisDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_VerticalAxisDirection ? v2_VerticalAxisDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcOrientationExpression::IfcOrientationExpression(::Ifc4x1::IfcDirection* v1_LateralAxisDirection, ::Ifc4x1::IfcDirection* v2_VerticalAxisDirection) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_LateralAxisDirection ? v1_LateralAxisDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_VerticalAxisDirection ? v2_VerticalAxisDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcOrientedEdge -::Ifc4x1::IfcEdge* Ifc4x1::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcEdge>(true); } +::Ifc4x1::IfcEdge* Ifc4x1::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcEdge>(true); } void Ifc4x1::IfcOrientedEdge::setEdgeElement(::Ifc4x1::IfcEdge* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x1::IfcOrientedEdge::Orientation() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x1::IfcOrientedEdge::Orientation() const { bool v = get_attribute_value(3); return v; } void Ifc4x1::IfcOrientedEdge::setOrientation(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcOrientedEdge::declaration() const { return *((IfcParse::entity*)IFC4X1_types[651]); } const IfcParse::entity& Ifc4x1::IfcOrientedEdge::Class() { return *((IfcParse::entity*)IFC4X1_types[651]); } Ifc4x1::IfcOrientedEdge::IfcOrientedEdge(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc4x1::IfcOrientedEdge::IfcOrientedEdge(::Ifc4x1::IfcEdge* v3_EdgeElement, bool v4_Orientation) : IfcEdge(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(2, v3_EdgeElement ? v3_EdgeElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Orientation));; populate_derived(); } +Ifc4x1::IfcOrientedEdge::IfcOrientedEdge(::Ifc4x1::IfcEdge* v3_EdgeElement, bool v4_Orientation) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(2, v3_EdgeElement ? v3_EdgeElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Orientation));; populate_derived(); } // Function implementations for IfcOuterBoundaryCurve @@ -11694,144 +11694,144 @@ Ifc4x1::IfcOrientedEdge::IfcOrientedEdge(::Ifc4x1::IfcEdge* v3_EdgeElement, bool const IfcParse::entity& Ifc4x1::IfcOuterBoundaryCurve::declaration() const { return *((IfcParse::entity*)IFC4X1_types[652]); } const IfcParse::entity& Ifc4x1::IfcOuterBoundaryCurve::Class() { return *((IfcParse::entity*)IFC4X1_types[652]); } Ifc4x1::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(IfcEntityInstanceData&& e) : IfcBoundaryCurve(std::move(e)) { } -Ifc4x1::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(aggregate_of< ::Ifc4x1::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundaryCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x1::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(aggregate_of< ::Ifc4x1::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundaryCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcOutlet -boost::optional< ::Ifc4x1::IfcOutletTypeEnum::Value > Ifc4x1::IfcOutlet::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcOutletTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcOutletTypeEnum::Value > Ifc4x1::IfcOutlet::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcOutletTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcOutlet::setPredefinedType(boost::optional< ::Ifc4x1::IfcOutletTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcOutletTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcOutlet::declaration() const { return *((IfcParse::entity*)IFC4X1_types[653]); } const IfcParse::entity& Ifc4x1::IfcOutlet::Class() { return *((IfcParse::entity*)IFC4X1_types[653]); } Ifc4x1::IfcOutlet::IfcOutlet(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x1::IfcOutlet::IfcOutlet(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcOutletTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcOutlet::IfcOutlet(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcOutletTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOutletType -::Ifc4x1::IfcOutletTypeEnum::Value Ifc4x1::IfcOutletType::PredefinedType() const { return ::Ifc4x1::IfcOutletTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcOutletTypeEnum::Value Ifc4x1::IfcOutletType::PredefinedType() const { return ::Ifc4x1::IfcOutletTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcOutletType::setPredefinedType(::Ifc4x1::IfcOutletTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcOutletTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcOutletType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[654]); } const IfcParse::entity& Ifc4x1::IfcOutletType::Class() { return *((IfcParse::entity*)IFC4X1_types[654]); } Ifc4x1::IfcOutletType::IfcOutletType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x1::IfcOutletType::IfcOutletType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcOutletTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcOutletType::IfcOutletType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcOutletTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcOwnerHistory -::Ifc4x1::IfcPersonAndOrganization* Ifc4x1::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcPersonAndOrganization>(true); } +::Ifc4x1::IfcPersonAndOrganization* Ifc4x1::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcPersonAndOrganization>(true); } void Ifc4x1::IfcOwnerHistory::setOwningUser(::Ifc4x1::IfcPersonAndOrganization* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcApplication* Ifc4x1::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcApplication>(true); } +::Ifc4x1::IfcApplication* Ifc4x1::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcApplication>(true); } void Ifc4x1::IfcOwnerHistory::setOwningApplication(::Ifc4x1::IfcApplication* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< ::Ifc4x1::IfcStateEnum::Value > Ifc4x1::IfcOwnerHistory::State() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x1::IfcStateEnum::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc4x1::IfcStateEnum::Value > Ifc4x1::IfcOwnerHistory::State() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x1::IfcStateEnum::FromString(get_attribute_value(2)); } void Ifc4x1::IfcOwnerHistory::setState(boost::optional< ::Ifc4x1::IfcStateEnum::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc4x1::IfcStateEnum::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -boost::optional< ::Ifc4x1::IfcChangeActionEnum::Value > Ifc4x1::IfcOwnerHistory::ChangeAction() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x1::IfcChangeActionEnum::FromString(data_.get_attribute_value(3)); } +boost::optional< ::Ifc4x1::IfcChangeActionEnum::Value > Ifc4x1::IfcOwnerHistory::ChangeAction() const { if(get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x1::IfcChangeActionEnum::FromString(get_attribute_value(3)); } void Ifc4x1::IfcOwnerHistory::setChangeAction(boost::optional< ::Ifc4x1::IfcChangeActionEnum::Value > v) { if (v) {set_attribute_value(3, EnumerationReference(&::Ifc4x1::IfcChangeActionEnum::Class(), (size_t) *v));} else {unset_attribute_value(3);} } -boost::optional< int > Ifc4x1::IfcOwnerHistory::LastModifiedDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x1::IfcOwnerHistory::LastModifiedDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x1::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x1::IfcPersonAndOrganization* Ifc4x1::IfcOwnerHistory::LastModifyingUser() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcPersonAndOrganization>(true); } +::Ifc4x1::IfcPersonAndOrganization* Ifc4x1::IfcOwnerHistory::LastModifyingUser() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcPersonAndOrganization>(true); } void Ifc4x1::IfcOwnerHistory::setLastModifyingUser(::Ifc4x1::IfcPersonAndOrganization* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x1::IfcApplication* Ifc4x1::IfcOwnerHistory::LastModifyingApplication() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x1::IfcApplication>(true); } +::Ifc4x1::IfcApplication* Ifc4x1::IfcOwnerHistory::LastModifyingApplication() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x1::IfcApplication>(true); } void Ifc4x1::IfcOwnerHistory::setLastModifyingApplication(::Ifc4x1::IfcApplication* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -int Ifc4x1::IfcOwnerHistory::CreationDate() const { int v = data_.get_attribute_value(7); return v; } +int Ifc4x1::IfcOwnerHistory::CreationDate() const { int v = get_attribute_value(7); return v; } void Ifc4x1::IfcOwnerHistory::setCreationDate(int v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x1::IfcOwnerHistory::declaration() const { return *((IfcParse::entity*)IFC4X1_types[656]); } const IfcParse::entity& Ifc4x1::IfcOwnerHistory::Class() { return *((IfcParse::entity*)IFC4X1_types[656]); } Ifc4x1::IfcOwnerHistory::IfcOwnerHistory(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcOwnerHistory::IfcOwnerHistory(::Ifc4x1::IfcPersonAndOrganization* v1_OwningUser, ::Ifc4x1::IfcApplication* v2_OwningApplication, boost::optional< ::Ifc4x1::IfcStateEnum::Value > v3_State, boost::optional< ::Ifc4x1::IfcChangeActionEnum::Value > v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, ::Ifc4x1::IfcPersonAndOrganization* v6_LastModifyingUser, ::Ifc4x1::IfcApplication* v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, v1_OwningUser ? v1_OwningUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OwningApplication ? v2_OwningApplication->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_State) {set_attribute_value(2, (EnumerationReference(&::Ifc4x1::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (EnumerationReference(&::Ifc4x1::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, v6_LastModifyingUser ? v6_LastModifyingUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_LastModifyingApplication ? v7_LastModifyingApplication->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_CreationDate));; populate_derived(); } +Ifc4x1::IfcOwnerHistory::IfcOwnerHistory(::Ifc4x1::IfcPersonAndOrganization* v1_OwningUser, ::Ifc4x1::IfcApplication* v2_OwningApplication, boost::optional< ::Ifc4x1::IfcStateEnum::Value > v3_State, boost::optional< ::Ifc4x1::IfcChangeActionEnum::Value > v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, ::Ifc4x1::IfcPersonAndOrganization* v6_LastModifyingUser, ::Ifc4x1::IfcApplication* v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, v1_OwningUser ? v1_OwningUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OwningApplication ? v2_OwningApplication->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_State) {set_attribute_value(2, (EnumerationReference(&::Ifc4x1::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (EnumerationReference(&::Ifc4x1::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, v6_LastModifyingUser ? v6_LastModifyingUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_LastModifyingApplication ? v7_LastModifyingApplication->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_CreationDate));; populate_derived(); } // Function implementations for IfcParameterizedProfileDef -::Ifc4x1::IfcAxis2Placement2D* Ifc4x1::IfcParameterizedProfileDef::Position() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcAxis2Placement2D>(true); } +::Ifc4x1::IfcAxis2Placement2D* Ifc4x1::IfcParameterizedProfileDef::Position() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcAxis2Placement2D>(true); } void Ifc4x1::IfcParameterizedProfileDef::setPosition(::Ifc4x1::IfcAxis2Placement2D* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x1::IfcParameterizedProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X1_types[657]); } const IfcParse::entity& Ifc4x1::IfcParameterizedProfileDef::Class() { return *((IfcParse::entity*)IFC4X1_types[657]); } Ifc4x1::IfcParameterizedProfileDef::IfcParameterizedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x1::IfcParameterizedProfileDef::IfcParameterizedProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D* v3_Position) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcParameterizedProfileDef::IfcParameterizedProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D* v3_Position) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPath -aggregate_of< ::Ifc4x1::IfcOrientedEdge >::ptr Ifc4x1::IfcPath::EdgeList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x1::IfcOrientedEdge >(); } +aggregate_of< ::Ifc4x1::IfcOrientedEdge >::ptr Ifc4x1::IfcPath::EdgeList() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x1::IfcOrientedEdge >(); } void Ifc4x1::IfcPath::setEdgeList(aggregate_of< ::Ifc4x1::IfcOrientedEdge >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x1::IfcPath::declaration() const { return *((IfcParse::entity*)IFC4X1_types[659]); } const IfcParse::entity& Ifc4x1::IfcPath::Class() { return *((IfcParse::entity*)IFC4X1_types[659]); } Ifc4x1::IfcPath::IfcPath(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x1::IfcPath::IfcPath(aggregate_of< ::Ifc4x1::IfcOrientedEdge >::ptr v1_EdgeList) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } +Ifc4x1::IfcPath::IfcPath(aggregate_of< ::Ifc4x1::IfcOrientedEdge >::ptr v1_EdgeList) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } // Function implementations for IfcPcurve -::Ifc4x1::IfcSurface* Ifc4x1::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcSurface>(true); } +::Ifc4x1::IfcSurface* Ifc4x1::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcSurface>(true); } void Ifc4x1::IfcPcurve::setBasisSurface(::Ifc4x1::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcCurve* Ifc4x1::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcCurve>(true); } +::Ifc4x1::IfcCurve* Ifc4x1::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcPcurve::setReferenceCurve(::Ifc4x1::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcPcurve::declaration() const { return *((IfcParse::entity*)IFC4X1_types[660]); } const IfcParse::entity& Ifc4x1::IfcPcurve::Class() { return *((IfcParse::entity*)IFC4X1_types[660]); } Ifc4x1::IfcPcurve::IfcPcurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x1::IfcPcurve::IfcPcurve(::Ifc4x1::IfcSurface* v1_BasisSurface, ::Ifc4x1::IfcCurve* v2_ReferenceCurve) : IfcCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_ReferenceCurve ? v2_ReferenceCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcPcurve::IfcPcurve(::Ifc4x1::IfcSurface* v1_BasisSurface, ::Ifc4x1::IfcCurve* v2_ReferenceCurve) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_ReferenceCurve ? v2_ReferenceCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPerformanceHistory -std::string Ifc4x1::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = data_.get_attribute_value(6); return v; } +std::string Ifc4x1::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = get_attribute_value(6); return v; } void Ifc4x1::IfcPerformanceHistory::setLifeCyclePhase(std::string v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< ::Ifc4x1::IfcPerformanceHistoryTypeEnum::Value > Ifc4x1::IfcPerformanceHistory::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x1::IfcPerformanceHistoryTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x1::IfcPerformanceHistoryTypeEnum::Value > Ifc4x1::IfcPerformanceHistory::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x1::IfcPerformanceHistoryTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x1::IfcPerformanceHistory::setPredefinedType(boost::optional< ::Ifc4x1::IfcPerformanceHistoryTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x1::IfcPerformanceHistoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x1::IfcPerformanceHistory::declaration() const { return *((IfcParse::entity*)IFC4X1_types[661]); } const IfcParse::entity& Ifc4x1::IfcPerformanceHistory::Class() { return *((IfcParse::entity*)IFC4X1_types[661]); } Ifc4x1::IfcPerformanceHistory::IfcPerformanceHistory(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x1::IfcPerformanceHistory::IfcPerformanceHistory(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, boost::optional< ::Ifc4x1::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) : IfcControl(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcPerformanceHistory::IfcPerformanceHistory(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, boost::optional< ::Ifc4x1::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPermeableCoveringProperties -::Ifc4x1::IfcPermeableCoveringOperationEnum::Value Ifc4x1::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4x1::IfcPermeableCoveringOperationEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x1::IfcPermeableCoveringOperationEnum::Value Ifc4x1::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4x1::IfcPermeableCoveringOperationEnum::FromString(get_attribute_value(4)); } void Ifc4x1::IfcPermeableCoveringProperties::setOperationType(::Ifc4x1::IfcPermeableCoveringOperationEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x1::IfcPermeableCoveringOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcWindowPanelPositionEnum::Value Ifc4x1::IfcPermeableCoveringProperties::PanelPosition() const { return ::Ifc4x1::IfcWindowPanelPositionEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x1::IfcWindowPanelPositionEnum::Value Ifc4x1::IfcPermeableCoveringProperties::PanelPosition() const { return ::Ifc4x1::IfcWindowPanelPositionEnum::FromString(get_attribute_value(5)); } void Ifc4x1::IfcPermeableCoveringProperties::setPanelPosition(::Ifc4x1::IfcWindowPanelPositionEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x1::IfcWindowPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x1::IfcPermeableCoveringProperties::FrameDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x1::IfcPermeableCoveringProperties::FrameDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x1::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x1::IfcPermeableCoveringProperties::FrameThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x1::IfcPermeableCoveringProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x1::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x1::IfcShapeAspect* Ifc4x1::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x1::IfcShapeAspect>(true); } +::Ifc4x1::IfcShapeAspect* Ifc4x1::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x1::IfcShapeAspect>(true); } void Ifc4x1::IfcPermeableCoveringProperties::setShapeAspectStyle(::Ifc4x1::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x1::IfcPermeableCoveringProperties::declaration() const { return *((IfcParse::entity*)IFC4X1_types[664]); } const IfcParse::entity& Ifc4x1::IfcPermeableCoveringProperties::Class() { return *((IfcParse::entity*)IFC4X1_types[664]); } Ifc4x1::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x1::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x1::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x1::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x1::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x1::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPermit -boost::optional< ::Ifc4x1::IfcPermitTypeEnum::Value > Ifc4x1::IfcPermit::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x1::IfcPermitTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x1::IfcPermitTypeEnum::Value > Ifc4x1::IfcPermit::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x1::IfcPermitTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x1::IfcPermit::setPredefinedType(boost::optional< ::Ifc4x1::IfcPermitTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x1::IfcPermitTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x1::IfcPermit::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x1::IfcPermit::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x1::IfcPermit::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x1::IfcPermit::LongDescription() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x1::IfcPermit::LongDescription() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x1::IfcPermit::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcPermit::declaration() const { return *((IfcParse::entity*)IFC4X1_types[665]); } const IfcParse::entity& Ifc4x1::IfcPermit::Class() { return *((IfcParse::entity*)IFC4X1_types[665]); } Ifc4x1::IfcPermit::IfcPermit(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x1::IfcPermit::IfcPermit(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x1::IfcPermitTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x1::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } +Ifc4x1::IfcPermit::IfcPermit(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x1::IfcPermitTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x1::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } // Function implementations for IfcPerson -boost::optional< std::string > Ifc4x1::IfcPerson::Identification() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x1::IfcPerson::Identification() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcPerson::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x1::IfcPerson::FamilyName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x1::IfcPerson::FamilyName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcPerson::setFamilyName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x1::IfcPerson::GivenName() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x1::IfcPerson::GivenName() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcPerson::setGivenName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcPerson::MiddleNames() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcPerson::MiddleNames() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x1::IfcPerson::setMiddleNames(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcPerson::PrefixTitles() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcPerson::PrefixTitles() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x1::IfcPerson::setPrefixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcPerson::SuffixTitles() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(5); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcPerson::SuffixTitles() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(5); return v; } void Ifc4x1::IfcPerson::setSuffixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< aggregate_of< ::Ifc4x1::IfcActorRole >::ptr > Ifc4x1::IfcPerson::Roles() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x1::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcActorRole >::ptr > Ifc4x1::IfcPerson::Roles() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x1::IfcActorRole >(); } void Ifc4x1::IfcPerson::setRoles(boost::optional< aggregate_of< ::Ifc4x1::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x1::IfcAddress >::ptr > Ifc4x1::IfcPerson::Addresses() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x1::IfcAddress >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcAddress >::ptr > Ifc4x1::IfcPerson::Addresses() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x1::IfcAddress >(); } void Ifc4x1::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4x1::IfcAddress >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } ::Ifc4x1::IfcPersonAndOrganization::list::ptr Ifc4x1::IfcPerson::EngagedIn() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[668], 0)->as(); } @@ -11839,42 +11839,42 @@ void Ifc4x1::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4x1::If const IfcParse::entity& Ifc4x1::IfcPerson::declaration() const { return *((IfcParse::entity*)IFC4X1_types[667]); } const IfcParse::entity& Ifc4x1::IfcPerson::Class() { return *((IfcParse::entity*)IFC4X1_types[667]); } Ifc4x1::IfcPerson::IfcPerson(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcPerson::IfcPerson(boost::optional< std::string > v1_Identification, boost::optional< std::string > v2_FamilyName, boost::optional< std::string > v3_GivenName, boost::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, boost::optional< aggregate_of< ::Ifc4x1::IfcActorRole >::ptr > v7_Roles, boost::optional< aggregate_of< ::Ifc4x1::IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, (*v7_Roles)->generalize()); } if (v8_Addresses) {set_attribute_value(7, (*v8_Addresses)->generalize()); }; populate_derived(); } +Ifc4x1::IfcPerson::IfcPerson(boost::optional< std::string > v1_Identification, boost::optional< std::string > v2_FamilyName, boost::optional< std::string > v3_GivenName, boost::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, boost::optional< aggregate_of< ::Ifc4x1::IfcActorRole >::ptr > v7_Roles, boost::optional< aggregate_of< ::Ifc4x1::IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, (*v7_Roles)->generalize()); } if (v8_Addresses) {set_attribute_value(7, (*v8_Addresses)->generalize()); }; populate_derived(); } // Function implementations for IfcPersonAndOrganization -::Ifc4x1::IfcPerson* Ifc4x1::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcPerson>(true); } +::Ifc4x1::IfcPerson* Ifc4x1::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcPerson>(true); } void Ifc4x1::IfcPersonAndOrganization::setThePerson(::Ifc4x1::IfcPerson* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcOrganization* Ifc4x1::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcOrganization>(true); } +::Ifc4x1::IfcOrganization* Ifc4x1::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcOrganization>(true); } void Ifc4x1::IfcPersonAndOrganization::setTheOrganization(::Ifc4x1::IfcOrganization* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< aggregate_of< ::Ifc4x1::IfcActorRole >::ptr > Ifc4x1::IfcPersonAndOrganization::Roles() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x1::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcActorRole >::ptr > Ifc4x1::IfcPersonAndOrganization::Roles() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x1::IfcActorRole >(); } void Ifc4x1::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x1::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x1::IfcPersonAndOrganization::declaration() const { return *((IfcParse::entity*)IFC4X1_types[668]); } const IfcParse::entity& Ifc4x1::IfcPersonAndOrganization::Class() { return *((IfcParse::entity*)IFC4X1_types[668]); } Ifc4x1::IfcPersonAndOrganization::IfcPersonAndOrganization(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcPersonAndOrganization::IfcPersonAndOrganization(::Ifc4x1::IfcPerson* v1_ThePerson, ::Ifc4x1::IfcOrganization* v2_TheOrganization, boost::optional< aggregate_of< ::Ifc4x1::IfcActorRole >::ptr > v3_Roles) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_ThePerson ? v1_ThePerson->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TheOrganization ? v2_TheOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Roles) {set_attribute_value(2, (*v3_Roles)->generalize()); }; populate_derived(); } +Ifc4x1::IfcPersonAndOrganization::IfcPersonAndOrganization(::Ifc4x1::IfcPerson* v1_ThePerson, ::Ifc4x1::IfcOrganization* v2_TheOrganization, boost::optional< aggregate_of< ::Ifc4x1::IfcActorRole >::ptr > v3_Roles) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_ThePerson ? v1_ThePerson->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TheOrganization ? v2_TheOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Roles) {set_attribute_value(2, (*v3_Roles)->generalize()); }; populate_derived(); } // Function implementations for IfcPhysicalComplexQuantity -aggregate_of< ::Ifc4x1::IfcPhysicalQuantity >::ptr Ifc4x1::IfcPhysicalComplexQuantity::HasQuantities() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x1::IfcPhysicalQuantity >(); } +aggregate_of< ::Ifc4x1::IfcPhysicalQuantity >::ptr Ifc4x1::IfcPhysicalComplexQuantity::HasQuantities() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x1::IfcPhysicalQuantity >(); } void Ifc4x1::IfcPhysicalComplexQuantity::setHasQuantities(aggregate_of< ::Ifc4x1::IfcPhysicalQuantity >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -std::string Ifc4x1::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x1::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = get_attribute_value(3); return v; } void Ifc4x1::IfcPhysicalComplexQuantity::setDiscrimination(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x1::IfcPhysicalComplexQuantity::Quality() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x1::IfcPhysicalComplexQuantity::Quality() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcPhysicalComplexQuantity::setQuality(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x1::IfcPhysicalComplexQuantity::Usage() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x1::IfcPhysicalComplexQuantity::Usage() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcPhysicalComplexQuantity::setUsage(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x1::IfcPhysicalComplexQuantity::declaration() const { return *((IfcParse::entity*)IFC4X1_types[670]); } const IfcParse::entity& Ifc4x1::IfcPhysicalComplexQuantity::Class() { return *((IfcParse::entity*)IFC4X1_types[670]); } Ifc4x1::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(IfcEntityInstanceData&& e) : IfcPhysicalQuantity(std::move(e)) { } -Ifc4x1::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcPhysicalQuantity >::ptr v3_HasQuantities, std::string v4_Discrimination, boost::optional< std::string > v5_Quality, boost::optional< std::string > v6_Usage) : IfcPhysicalQuantity(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_HasQuantities)->generalize());set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; populate_derived(); } +Ifc4x1::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcPhysicalQuantity >::ptr v3_HasQuantities, std::string v4_Discrimination, boost::optional< std::string > v5_Quality, boost::optional< std::string > v6_Usage) : IfcPhysicalQuantity(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_HasQuantities)->generalize());set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; populate_derived(); } // Function implementations for IfcPhysicalQuantity -std::string Ifc4x1::IfcPhysicalQuantity::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x1::IfcPhysicalQuantity::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcPhysicalQuantity::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x1::IfcPhysicalQuantity::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x1::IfcPhysicalQuantity::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcPhysicalQuantity::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x1::IfcExternalReferenceRelationship::list::ptr Ifc4x1::IfcPhysicalQuantity::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[394], 3)->as(); } @@ -11883,127 +11883,127 @@ void Ifc4x1::IfcPhysicalQuantity::setDescription(boost::optional< std::string > const IfcParse::entity& Ifc4x1::IfcPhysicalQuantity::declaration() const { return *((IfcParse::entity*)IFC4X1_types[672]); } const IfcParse::entity& Ifc4x1::IfcPhysicalQuantity::Class() { return *((IfcParse::entity*)IFC4X1_types[672]); } Ifc4x1::IfcPhysicalQuantity::IfcPhysicalQuantity(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4x1::IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcPhysicalSimpleQuantity -::Ifc4x1::IfcNamedUnit* Ifc4x1::IfcPhysicalSimpleQuantity::Unit() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcNamedUnit>(true); } +::Ifc4x1::IfcNamedUnit* Ifc4x1::IfcPhysicalSimpleQuantity::Unit() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcNamedUnit>(true); } void Ifc4x1::IfcPhysicalSimpleQuantity::setUnit(::Ifc4x1::IfcNamedUnit* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x1::IfcPhysicalSimpleQuantity::declaration() const { return *((IfcParse::entity*)IFC4X1_types[673]); } const IfcParse::entity& Ifc4x1::IfcPhysicalSimpleQuantity::Class() { return *((IfcParse::entity*)IFC4X1_types[673]); } Ifc4x1::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(IfcEntityInstanceData&& e) : IfcPhysicalQuantity(std::move(e)) { } -Ifc4x1::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPile -boost::optional< ::Ifc4x1::IfcPileTypeEnum::Value > Ifc4x1::IfcPile::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcPileTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcPileTypeEnum::Value > Ifc4x1::IfcPile::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcPileTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcPile::setPredefinedType(boost::optional< ::Ifc4x1::IfcPileTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcPileTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< ::Ifc4x1::IfcPileConstructionEnum::Value > Ifc4x1::IfcPile::ConstructionType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x1::IfcPileConstructionEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x1::IfcPileConstructionEnum::Value > Ifc4x1::IfcPile::ConstructionType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x1::IfcPileConstructionEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcPile::setConstructionType(boost::optional< ::Ifc4x1::IfcPileConstructionEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcPileConstructionEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x1::IfcPile::declaration() const { return *((IfcParse::entity*)IFC4X1_types[674]); } const IfcParse::entity& Ifc4x1::IfcPile::Class() { return *((IfcParse::entity*)IFC4X1_types[674]); } Ifc4x1::IfcPile::IfcPile(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x1::IfcPile::IfcPile(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcPileTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x1::IfcPileConstructionEnum::Value > v10_ConstructionType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; populate_derived(); } +Ifc4x1::IfcPile::IfcPile(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcPileTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x1::IfcPileConstructionEnum::Value > v10_ConstructionType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; populate_derived(); } // Function implementations for IfcPileType -::Ifc4x1::IfcPileTypeEnum::Value Ifc4x1::IfcPileType::PredefinedType() const { return ::Ifc4x1::IfcPileTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcPileTypeEnum::Value Ifc4x1::IfcPileType::PredefinedType() const { return ::Ifc4x1::IfcPileTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcPileType::setPredefinedType(::Ifc4x1::IfcPileTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcPileTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcPileType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[676]); } const IfcParse::entity& Ifc4x1::IfcPileType::Class() { return *((IfcParse::entity*)IFC4X1_types[676]); } Ifc4x1::IfcPileType::IfcPileType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x1::IfcPileType::IfcPileType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcPileTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcPileType::IfcPileType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcPileTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPipeFitting -boost::optional< ::Ifc4x1::IfcPipeFittingTypeEnum::Value > Ifc4x1::IfcPipeFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcPipeFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcPipeFittingTypeEnum::Value > Ifc4x1::IfcPipeFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcPipeFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcPipeFitting::setPredefinedType(boost::optional< ::Ifc4x1::IfcPipeFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcPipeFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcPipeFitting::declaration() const { return *((IfcParse::entity*)IFC4X1_types[678]); } const IfcParse::entity& Ifc4x1::IfcPipeFitting::Class() { return *((IfcParse::entity*)IFC4X1_types[678]); } Ifc4x1::IfcPipeFitting::IfcPipeFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x1::IfcPipeFitting::IfcPipeFitting(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcPipeFitting::IfcPipeFitting(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPipeFittingType -::Ifc4x1::IfcPipeFittingTypeEnum::Value Ifc4x1::IfcPipeFittingType::PredefinedType() const { return ::Ifc4x1::IfcPipeFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcPipeFittingTypeEnum::Value Ifc4x1::IfcPipeFittingType::PredefinedType() const { return ::Ifc4x1::IfcPipeFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcPipeFittingType::setPredefinedType(::Ifc4x1::IfcPipeFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcPipeFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcPipeFittingType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[679]); } const IfcParse::entity& Ifc4x1::IfcPipeFittingType::Class() { return *((IfcParse::entity*)IFC4X1_types[679]); } Ifc4x1::IfcPipeFittingType::IfcPipeFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x1::IfcPipeFittingType::IfcPipeFittingType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcPipeFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcPipeFittingType::IfcPipeFittingType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcPipeFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPipeSegment -boost::optional< ::Ifc4x1::IfcPipeSegmentTypeEnum::Value > Ifc4x1::IfcPipeSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcPipeSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcPipeSegmentTypeEnum::Value > Ifc4x1::IfcPipeSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcPipeSegment::setPredefinedType(boost::optional< ::Ifc4x1::IfcPipeSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcPipeSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcPipeSegment::declaration() const { return *((IfcParse::entity*)IFC4X1_types[681]); } const IfcParse::entity& Ifc4x1::IfcPipeSegment::Class() { return *((IfcParse::entity*)IFC4X1_types[681]); } Ifc4x1::IfcPipeSegment::IfcPipeSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x1::IfcPipeSegment::IfcPipeSegment(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcPipeSegment::IfcPipeSegment(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPipeSegmentType -::Ifc4x1::IfcPipeSegmentTypeEnum::Value Ifc4x1::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4x1::IfcPipeSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcPipeSegmentTypeEnum::Value Ifc4x1::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4x1::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcPipeSegmentType::setPredefinedType(::Ifc4x1::IfcPipeSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcPipeSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcPipeSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[682]); } const IfcParse::entity& Ifc4x1::IfcPipeSegmentType::Class() { return *((IfcParse::entity*)IFC4X1_types[682]); } Ifc4x1::IfcPipeSegmentType::IfcPipeSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x1::IfcPipeSegmentType::IfcPipeSegmentType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcPipeSegmentType::IfcPipeSegmentType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPixelTexture -int Ifc4x1::IfcPixelTexture::Width() const { int v = data_.get_attribute_value(5); return v; } +int Ifc4x1::IfcPixelTexture::Width() const { int v = get_attribute_value(5); return v; } void Ifc4x1::IfcPixelTexture::setWidth(int v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -int Ifc4x1::IfcPixelTexture::Height() const { int v = data_.get_attribute_value(6); return v; } +int Ifc4x1::IfcPixelTexture::Height() const { int v = get_attribute_value(6); return v; } void Ifc4x1::IfcPixelTexture::setHeight(int v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -int Ifc4x1::IfcPixelTexture::ColourComponents() const { int v = data_.get_attribute_value(7); return v; } +int Ifc4x1::IfcPixelTexture::ColourComponents() const { int v = get_attribute_value(7); return v; } void Ifc4x1::IfcPixelTexture::setColourComponents(int v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector< boost::dynamic_bitset<> > /*[1:?]*/ Ifc4x1::IfcPixelTexture::Pixel() const { std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< boost::dynamic_bitset<> > /*[1:?]*/ Ifc4x1::IfcPixelTexture::Pixel() const { std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v = get_attribute_value(8); return v; } void Ifc4x1::IfcPixelTexture::setPixel(std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x1::IfcPixelTexture::declaration() const { return *((IfcParse::entity*)IFC4X1_types[684]); } const IfcParse::entity& Ifc4x1::IfcPixelTexture::Class() { return *((IfcParse::entity*)IFC4X1_types[684]); } Ifc4x1::IfcPixelTexture::IfcPixelTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -Ifc4x1::IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x1::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) : IfcSurfaceTexture(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel));; populate_derived(); } +Ifc4x1::IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x1::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) : IfcSurfaceTexture(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel));; populate_derived(); } // Function implementations for IfcPlacement -::Ifc4x1::IfcCartesianPoint* Ifc4x1::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcCartesianPoint>(true); } +::Ifc4x1::IfcCartesianPoint* Ifc4x1::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcCartesianPoint>(true); } void Ifc4x1::IfcPlacement::setLocation(::Ifc4x1::IfcCartesianPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x1::IfcPlacement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[685]); } const IfcParse::entity& Ifc4x1::IfcPlacement::Class() { return *((IfcParse::entity*)IFC4X1_types[685]); } Ifc4x1::IfcPlacement::IfcPlacement(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x1::IfcPlacement::IfcPlacement(::Ifc4x1::IfcCartesianPoint* v1_Location) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcPlacement::IfcPlacement(::Ifc4x1::IfcCartesianPoint* v1_Location) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlanarBox -::Ifc4x1::IfcAxis2Placement* Ifc4x1::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcAxis2Placement>(true); } +::Ifc4x1::IfcAxis2Placement* Ifc4x1::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcAxis2Placement>(true); } void Ifc4x1::IfcPlanarBox::setPlacement(::Ifc4x1::IfcAxis2Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x1::IfcPlanarBox::declaration() const { return *((IfcParse::entity*)IFC4X1_types[686]); } const IfcParse::entity& Ifc4x1::IfcPlanarBox::Class() { return *((IfcParse::entity*)IFC4X1_types[686]); } Ifc4x1::IfcPlanarBox::IfcPlanarBox(IfcEntityInstanceData&& e) : IfcPlanarExtent(std::move(e)) { } -Ifc4x1::IfcPlanarBox::IfcPlanarBox(double v1_SizeInX, double v2_SizeInY, ::Ifc4x1::IfcAxis2Placement* v3_Placement) : IfcPlanarExtent(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, v3_Placement ? v3_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcPlanarBox::IfcPlanarBox(double v1_SizeInX, double v2_SizeInY, ::Ifc4x1::IfcAxis2Placement* v3_Placement) : IfcPlanarExtent(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, v3_Placement ? v3_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlanarExtent -double Ifc4x1::IfcPlanarExtent::SizeInX() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x1::IfcPlanarExtent::SizeInX() const { double v = get_attribute_value(0); return v; } void Ifc4x1::IfcPlanarExtent::setSizeInX(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc4x1::IfcPlanarExtent::SizeInY() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x1::IfcPlanarExtent::SizeInY() const { double v = get_attribute_value(1); return v; } void Ifc4x1::IfcPlanarExtent::setSizeInY(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcPlanarExtent::declaration() const { return *((IfcParse::entity*)IFC4X1_types[687]); } const IfcParse::entity& Ifc4x1::IfcPlanarExtent::Class() { return *((IfcParse::entity*)IFC4X1_types[687]); } Ifc4x1::IfcPlanarExtent::IfcPlanarExtent(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x1::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeInY) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; populate_derived(); } +Ifc4x1::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeInY) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; populate_derived(); } // Function implementations for IfcPlane @@ -12011,17 +12011,17 @@ Ifc4x1::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeInY) : const IfcParse::entity& Ifc4x1::IfcPlane::declaration() const { return *((IfcParse::entity*)IFC4X1_types[689]); } const IfcParse::entity& Ifc4x1::IfcPlane::Class() { return *((IfcParse::entity*)IFC4X1_types[689]); } Ifc4x1::IfcPlane::IfcPlane(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x1::IfcPlane::IfcPlane(::Ifc4x1::IfcAxis2Placement3D* v1_Position) : IfcElementarySurface(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcPlane::IfcPlane(::Ifc4x1::IfcAxis2Placement3D* v1_Position) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlate -boost::optional< ::Ifc4x1::IfcPlateTypeEnum::Value > Ifc4x1::IfcPlate::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcPlateTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcPlateTypeEnum::Value > Ifc4x1::IfcPlate::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcPlateTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcPlate::setPredefinedType(boost::optional< ::Ifc4x1::IfcPlateTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcPlateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcPlate::declaration() const { return *((IfcParse::entity*)IFC4X1_types[691]); } const IfcParse::entity& Ifc4x1::IfcPlate::Class() { return *((IfcParse::entity*)IFC4X1_types[691]); } Ifc4x1::IfcPlate::IfcPlate(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x1::IfcPlate::IfcPlate(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcPlateTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcPlate::IfcPlate(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcPlateTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPlateStandardCase @@ -12029,17 +12029,17 @@ Ifc4x1::IfcPlate::IfcPlate(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v const IfcParse::entity& Ifc4x1::IfcPlateStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X1_types[692]); } const IfcParse::entity& Ifc4x1::IfcPlateStandardCase::Class() { return *((IfcParse::entity*)IFC4X1_types[692]); } Ifc4x1::IfcPlateStandardCase::IfcPlateStandardCase(IfcEntityInstanceData&& e) : IfcPlate(std::move(e)) { } -Ifc4x1::IfcPlateStandardCase::IfcPlateStandardCase(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcPlateTypeEnum::Value > v9_PredefinedType) : IfcPlate(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcPlateStandardCase::IfcPlateStandardCase(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcPlateTypeEnum::Value > v9_PredefinedType) : IfcPlate(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPlateType -::Ifc4x1::IfcPlateTypeEnum::Value Ifc4x1::IfcPlateType::PredefinedType() const { return ::Ifc4x1::IfcPlateTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcPlateTypeEnum::Value Ifc4x1::IfcPlateType::PredefinedType() const { return ::Ifc4x1::IfcPlateTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcPlateType::setPredefinedType(::Ifc4x1::IfcPlateTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcPlateTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcPlateType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[693]); } const IfcParse::entity& Ifc4x1::IfcPlateType::Class() { return *((IfcParse::entity*)IFC4X1_types[693]); } Ifc4x1::IfcPlateType::IfcPlateType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x1::IfcPlateType::IfcPlateType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcPlateTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcPlateType::IfcPlateType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcPlateTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPoint @@ -12047,79 +12047,79 @@ Ifc4x1::IfcPlateType::IfcPlateType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHi const IfcParse::entity& Ifc4x1::IfcPoint::declaration() const { return *((IfcParse::entity*)IFC4X1_types[695]); } const IfcParse::entity& Ifc4x1::IfcPoint::Class() { return *((IfcParse::entity*)IFC4X1_types[695]); } Ifc4x1::IfcPoint::IfcPoint(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x1::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x1::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPointOnCurve -::Ifc4x1::IfcCurve* Ifc4x1::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcCurve>(true); } +::Ifc4x1::IfcCurve* Ifc4x1::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcPointOnCurve::setBasisCurve(::Ifc4x1::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x1::IfcPointOnCurve::PointParameter() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x1::IfcPointOnCurve::PointParameter() const { double v = get_attribute_value(1); return v; } void Ifc4x1::IfcPointOnCurve::setPointParameter(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcPointOnCurve::declaration() const { return *((IfcParse::entity*)IFC4X1_types[696]); } const IfcParse::entity& Ifc4x1::IfcPointOnCurve::Class() { return *((IfcParse::entity*)IFC4X1_types[696]); } Ifc4x1::IfcPointOnCurve::IfcPointOnCurve(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x1::IfcPointOnCurve::IfcPointOnCurve(::Ifc4x1::IfcCurve* v1_BasisCurve, double v2_PointParameter) : IfcPoint(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameter));; populate_derived(); } +Ifc4x1::IfcPointOnCurve::IfcPointOnCurve(::Ifc4x1::IfcCurve* v1_BasisCurve, double v2_PointParameter) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameter));; populate_derived(); } // Function implementations for IfcPointOnSurface -::Ifc4x1::IfcSurface* Ifc4x1::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcSurface>(true); } +::Ifc4x1::IfcSurface* Ifc4x1::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcSurface>(true); } void Ifc4x1::IfcPointOnSurface::setBasisSurface(::Ifc4x1::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x1::IfcPointOnSurface::PointParameterU() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x1::IfcPointOnSurface::PointParameterU() const { double v = get_attribute_value(1); return v; } void Ifc4x1::IfcPointOnSurface::setPointParameterU(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x1::IfcPointOnSurface::PointParameterV() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x1::IfcPointOnSurface::PointParameterV() const { double v = get_attribute_value(2); return v; } void Ifc4x1::IfcPointOnSurface::setPointParameterV(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x1::IfcPointOnSurface::declaration() const { return *((IfcParse::entity*)IFC4X1_types[697]); } const IfcParse::entity& Ifc4x1::IfcPointOnSurface::Class() { return *((IfcParse::entity*)IFC4X1_types[697]); } Ifc4x1::IfcPointOnSurface::IfcPointOnSurface(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x1::IfcPointOnSurface::IfcPointOnSurface(::Ifc4x1::IfcSurface* v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) : IfcPoint(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; populate_derived(); } +Ifc4x1::IfcPointOnSurface::IfcPointOnSurface(::Ifc4x1::IfcSurface* v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; populate_derived(); } // Function implementations for IfcPolyLoop -aggregate_of< ::Ifc4x1::IfcCartesianPoint >::ptr Ifc4x1::IfcPolyLoop::Polygon() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x1::IfcCartesianPoint >(); } +aggregate_of< ::Ifc4x1::IfcCartesianPoint >::ptr Ifc4x1::IfcPolyLoop::Polygon() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x1::IfcCartesianPoint >(); } void Ifc4x1::IfcPolyLoop::setPolygon(aggregate_of< ::Ifc4x1::IfcCartesianPoint >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x1::IfcPolyLoop::declaration() const { return *((IfcParse::entity*)IFC4X1_types[702]); } const IfcParse::entity& Ifc4x1::IfcPolyLoop::Class() { return *((IfcParse::entity*)IFC4X1_types[702]); } Ifc4x1::IfcPolyLoop::IfcPolyLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc4x1::IfcPolyLoop::IfcPolyLoop(aggregate_of< ::Ifc4x1::IfcCartesianPoint >::ptr v1_Polygon) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Polygon)->generalize());; populate_derived(); } +Ifc4x1::IfcPolyLoop::IfcPolyLoop(aggregate_of< ::Ifc4x1::IfcCartesianPoint >::ptr v1_Polygon) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Polygon)->generalize());; populate_derived(); } // Function implementations for IfcPolygonalBoundedHalfSpace -::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcAxis2Placement3D>(true); } +::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcAxis2Placement3D>(true); } void Ifc4x1::IfcPolygonalBoundedHalfSpace::setPosition(::Ifc4x1::IfcAxis2Placement3D* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcBoundedCurve* Ifc4x1::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcBoundedCurve>(true); } +::Ifc4x1::IfcBoundedCurve* Ifc4x1::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcBoundedCurve>(true); } void Ifc4x1::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(::Ifc4x1::IfcBoundedCurve* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcPolygonalBoundedHalfSpace::declaration() const { return *((IfcParse::entity*)IFC4X1_types[699]); } const IfcParse::entity& Ifc4x1::IfcPolygonalBoundedHalfSpace::Class() { return *((IfcParse::entity*)IFC4X1_types[699]); } Ifc4x1::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(IfcEntityInstanceData&& e) : IfcHalfSpaceSolid(std::move(e)) { } -Ifc4x1::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(::Ifc4x1::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x1::IfcAxis2Placement3D* v3_Position, ::Ifc4x1::IfcBoundedCurve* v4_PolygonalBoundary) : IfcHalfSpaceSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PolygonalBoundary ? v4_PolygonalBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(::Ifc4x1::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x1::IfcAxis2Placement3D* v3_Position, ::Ifc4x1::IfcBoundedCurve* v4_PolygonalBoundary) : IfcHalfSpaceSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PolygonalBoundary ? v4_PolygonalBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPolygonalFaceSet -boost::optional< bool > Ifc4x1::IfcPolygonalFaceSet::Closed() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } bool v = data_.get_attribute_value(1); return v; } +boost::optional< bool > Ifc4x1::IfcPolygonalFaceSet::Closed() const { if(get_attribute_value(1).isNull()) { return boost::none; } bool v = get_attribute_value(1); return v; } void Ifc4x1::IfcPolygonalFaceSet::setClosed(boost::optional< bool > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x1::IfcIndexedPolygonalFace >::ptr Ifc4x1::IfcPolygonalFaceSet::Faces() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x1::IfcIndexedPolygonalFace >(); } +aggregate_of< ::Ifc4x1::IfcIndexedPolygonalFace >::ptr Ifc4x1::IfcPolygonalFaceSet::Faces() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x1::IfcIndexedPolygonalFace >(); } void Ifc4x1::IfcPolygonalFaceSet::setFaces(aggregate_of< ::Ifc4x1::IfcIndexedPolygonalFace >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x1::IfcPolygonalFaceSet::PnIndex() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x1::IfcPolygonalFaceSet::PnIndex() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x1::IfcPolygonalFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x1::IfcPolygonalFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X1_types[700]); } const IfcParse::entity& Ifc4x1::IfcPolygonalFaceSet::Class() { return *((IfcParse::entity*)IFC4X1_types[700]); } Ifc4x1::IfcPolygonalFaceSet::IfcPolygonalFaceSet(IfcEntityInstanceData&& e) : IfcTessellatedFaceSet(std::move(e)) { } -Ifc4x1::IfcPolygonalFaceSet::IfcPolygonalFaceSet(::Ifc4x1::IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v2_Closed, aggregate_of< ::Ifc4x1::IfcIndexedPolygonalFace >::ptr v3_Faces, boost::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) : IfcTessellatedFaceSet(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, (v3_Faces)->generalize()); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); }; populate_derived(); } +Ifc4x1::IfcPolygonalFaceSet::IfcPolygonalFaceSet(::Ifc4x1::IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v2_Closed, aggregate_of< ::Ifc4x1::IfcIndexedPolygonalFace >::ptr v3_Faces, boost::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) : IfcTessellatedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, (v3_Faces)->generalize()); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); }; populate_derived(); } // Function implementations for IfcPolyline -aggregate_of< ::Ifc4x1::IfcCartesianPoint >::ptr Ifc4x1::IfcPolyline::Points() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x1::IfcCartesianPoint >(); } +aggregate_of< ::Ifc4x1::IfcCartesianPoint >::ptr Ifc4x1::IfcPolyline::Points() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x1::IfcCartesianPoint >(); } void Ifc4x1::IfcPolyline::setPoints(aggregate_of< ::Ifc4x1::IfcCartesianPoint >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x1::IfcPolyline::declaration() const { return *((IfcParse::entity*)IFC4X1_types[701]); } const IfcParse::entity& Ifc4x1::IfcPolyline::Class() { return *((IfcParse::entity*)IFC4X1_types[701]); } Ifc4x1::IfcPolyline::IfcPolyline(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x1::IfcPolyline::IfcPolyline(aggregate_of< ::Ifc4x1::IfcCartesianPoint >::ptr v1_Points) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Points)->generalize());; populate_derived(); } +Ifc4x1::IfcPolyline::IfcPolyline(aggregate_of< ::Ifc4x1::IfcCartesianPoint >::ptr v1_Points) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Points)->generalize());; populate_derived(); } // Function implementations for IfcPort @@ -12130,7 +12130,7 @@ Ifc4x1::IfcPolyline::IfcPolyline(aggregate_of< ::Ifc4x1::IfcCartesianPoint >::pt const IfcParse::entity& Ifc4x1::IfcPort::declaration() const { return *((IfcParse::entity*)IFC4X1_types[703]); } const IfcParse::entity& Ifc4x1::IfcPort::Class() { return *((IfcParse::entity*)IFC4X1_types[703]); } Ifc4x1::IfcPort::IfcPort(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x1::IfcPort::IfcPort(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcPort::IfcPort(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPositioningElement @@ -12139,29 +12139,29 @@ Ifc4x1::IfcPort::IfcPort(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_ const IfcParse::entity& Ifc4x1::IfcPositioningElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[704]); } const IfcParse::entity& Ifc4x1::IfcPositioningElement::Class() { return *((IfcParse::entity*)IFC4X1_types[704]); } Ifc4x1::IfcPositioningElement::IfcPositioningElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x1::IfcPositioningElement::IfcPositioningElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcPositioningElement::IfcPositioningElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPostalAddress -boost::optional< std::string > Ifc4x1::IfcPostalAddress::InternalLocation() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x1::IfcPostalAddress::InternalLocation() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x1::IfcPostalAddress::setInternalLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcPostalAddress::AddressLines() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcPostalAddress::AddressLines() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x1::IfcPostalAddress::setAddressLines(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x1::IfcPostalAddress::PostalBox() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x1::IfcPostalAddress::PostalBox() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcPostalAddress::setPostalBox(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x1::IfcPostalAddress::Town() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x1::IfcPostalAddress::Town() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x1::IfcPostalAddress::setTown(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x1::IfcPostalAddress::Region() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x1::IfcPostalAddress::Region() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x1::IfcPostalAddress::setRegion(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x1::IfcPostalAddress::PostalCode() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x1::IfcPostalAddress::PostalCode() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x1::IfcPostalAddress::setPostalCode(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x1::IfcPostalAddress::Country() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x1::IfcPostalAddress::Country() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x1::IfcPostalAddress::setCountry(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x1::IfcPostalAddress::declaration() const { return *((IfcParse::entity*)IFC4X1_types[709]); } const IfcParse::entity& Ifc4x1::IfcPostalAddress::Class() { return *((IfcParse::entity*)IFC4X1_types[709]); } Ifc4x1::IfcPostalAddress::IfcPostalAddress(IfcEntityInstanceData&& e) : IfcAddress(std::move(e)) { } -Ifc4x1::IfcPostalAddress::IfcPostalAddress(boost::optional< ::Ifc4x1::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) : IfcAddress(IfcEntityInstanceData(storage_t(10))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; populate_derived(); } +Ifc4x1::IfcPostalAddress::IfcPostalAddress(boost::optional< ::Ifc4x1::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) : IfcAddress(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; populate_derived(); } // Function implementations for IfcPreDefinedColour @@ -12169,7 +12169,7 @@ Ifc4x1::IfcPostalAddress::IfcPostalAddress(boost::optional< ::Ifc4x1::IfcAddress const IfcParse::entity& Ifc4x1::IfcPreDefinedColour::declaration() const { return *((IfcParse::entity*)IFC4X1_types[711]); } const IfcParse::entity& Ifc4x1::IfcPreDefinedColour::Class() { return *((IfcParse::entity*)IFC4X1_types[711]); } Ifc4x1::IfcPreDefinedColour::IfcPreDefinedColour(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc4x1::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x1::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedCurveFont @@ -12177,17 +12177,17 @@ Ifc4x1::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcPreDe const IfcParse::entity& Ifc4x1::IfcPreDefinedCurveFont::declaration() const { return *((IfcParse::entity*)IFC4X1_types[712]); } const IfcParse::entity& Ifc4x1::IfcPreDefinedCurveFont::Class() { return *((IfcParse::entity*)IFC4X1_types[712]); } Ifc4x1::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc4x1::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x1::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedItem -std::string Ifc4x1::IfcPreDefinedItem::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x1::IfcPreDefinedItem::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcPreDefinedItem::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x1::IfcPreDefinedItem::declaration() const { return *((IfcParse::entity*)IFC4X1_types[713]); } const IfcParse::entity& Ifc4x1::IfcPreDefinedItem::Class() { return *((IfcParse::entity*)IFC4X1_types[713]); } Ifc4x1::IfcPreDefinedItem::IfcPreDefinedItem(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x1::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x1::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedProperties @@ -12195,7 +12195,7 @@ Ifc4x1::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcPresentat const IfcParse::entity& Ifc4x1::IfcPreDefinedProperties::declaration() const { return *((IfcParse::entity*)IFC4X1_types[714]); } const IfcParse::entity& Ifc4x1::IfcPreDefinedProperties::Class() { return *((IfcParse::entity*)IFC4X1_types[714]); } Ifc4x1::IfcPreDefinedProperties::IfcPreDefinedProperties(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x1::IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x1::IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPreDefinedPropertySet @@ -12203,7 +12203,7 @@ Ifc4x1::IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbstract const IfcParse::entity& Ifc4x1::IfcPreDefinedPropertySet::declaration() const { return *((IfcParse::entity*)IFC4X1_types[715]); } const IfcParse::entity& Ifc4x1::IfcPreDefinedPropertySet::Class() { return *((IfcParse::entity*)IFC4X1_types[715]); } Ifc4x1::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc4x1::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x1::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPreDefinedTextFont @@ -12211,7 +12211,7 @@ Ifc4x1::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_Global const IfcParse::entity& Ifc4x1::IfcPreDefinedTextFont::declaration() const { return *((IfcParse::entity*)IFC4X1_types[716]); } const IfcParse::entity& Ifc4x1::IfcPreDefinedTextFont::Class() { return *((IfcParse::entity*)IFC4X1_types[716]); } Ifc4x1::IfcPreDefinedTextFont::IfcPreDefinedTextFont(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc4x1::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x1::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPresentationItem @@ -12219,84 +12219,84 @@ Ifc4x1::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : IfcP const IfcParse::entity& Ifc4x1::IfcPresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X1_types[719]); } const IfcParse::entity& Ifc4x1::IfcPresentationItem::Class() { return *((IfcParse::entity*)IFC4X1_types[719]); } Ifc4x1::IfcPresentationItem::IfcPresentationItem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcPresentationItem::IfcPresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x1::IfcPresentationItem::IfcPresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPresentationLayerAssignment -std::string Ifc4x1::IfcPresentationLayerAssignment::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x1::IfcPresentationLayerAssignment::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcPresentationLayerAssignment::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x1::IfcPresentationLayerAssignment::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x1::IfcPresentationLayerAssignment::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x1::IfcLayeredItem >::ptr Ifc4x1::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x1::IfcLayeredItem >(); } +aggregate_of< ::Ifc4x1::IfcLayeredItem >::ptr Ifc4x1::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x1::IfcLayeredItem >(); } void Ifc4x1::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x1::IfcLayeredItem >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x1::IfcPresentationLayerAssignment::Identifier() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x1::IfcPresentationLayerAssignment::Identifier() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x1::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x1::IfcPresentationLayerAssignment::declaration() const { return *((IfcParse::entity*)IFC4X1_types[720]); } const IfcParse::entity& Ifc4x1::IfcPresentationLayerAssignment::Class() { return *((IfcParse::entity*)IFC4X1_types[720]); } Ifc4x1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; populate_derived(); } +Ifc4x1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; populate_derived(); } // Function implementations for IfcPresentationLayerWithStyle -boost::logic::tribool Ifc4x1::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = data_.get_attribute_value(4); return v; } +boost::logic::tribool Ifc4x1::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = get_attribute_value(4); return v; } void Ifc4x1::IfcPresentationLayerWithStyle::setLayerOn(boost::logic::tribool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::logic::tribool Ifc4x1::IfcPresentationLayerWithStyle::LayerFrozen() const { boost::logic::tribool v = data_.get_attribute_value(5); return v; } +boost::logic::tribool Ifc4x1::IfcPresentationLayerWithStyle::LayerFrozen() const { boost::logic::tribool v = get_attribute_value(5); return v; } void Ifc4x1::IfcPresentationLayerWithStyle::setLayerFrozen(boost::logic::tribool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::logic::tribool Ifc4x1::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = data_.get_attribute_value(6); return v; } +boost::logic::tribool Ifc4x1::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = get_attribute_value(6); return v; } void Ifc4x1::IfcPresentationLayerWithStyle::setLayerBlocked(boost::logic::tribool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -aggregate_of< ::Ifc4x1::IfcPresentationStyle >::ptr Ifc4x1::IfcPresentationLayerWithStyle::LayerStyles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x1::IfcPresentationStyle >(); } +aggregate_of< ::Ifc4x1::IfcPresentationStyle >::ptr Ifc4x1::IfcPresentationLayerWithStyle::LayerStyles() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x1::IfcPresentationStyle >(); } void Ifc4x1::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< ::Ifc4x1::IfcPresentationStyle >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x1::IfcPresentationLayerWithStyle::declaration() const { return *((IfcParse::entity*)IFC4X1_types[721]); } const IfcParse::entity& Ifc4x1::IfcPresentationLayerWithStyle::Class() { return *((IfcParse::entity*)IFC4X1_types[721]); } Ifc4x1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData&& e) : IfcPresentationLayerAssignment(std::move(e)) { } -Ifc4x1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x1::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, (v8_LayerStyles)->generalize());; populate_derived(); } +Ifc4x1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x1::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, (v8_LayerStyles)->generalize());; populate_derived(); } // Function implementations for IfcPresentationStyle -boost::optional< std::string > Ifc4x1::IfcPresentationStyle::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x1::IfcPresentationStyle::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcPresentationStyle::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x1::IfcPresentationStyle::declaration() const { return *((IfcParse::entity*)IFC4X1_types[722]); } const IfcParse::entity& Ifc4x1::IfcPresentationStyle::Class() { return *((IfcParse::entity*)IFC4X1_types[722]); } Ifc4x1::IfcPresentationStyle::IfcPresentationStyle(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x1::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcPresentationStyleAssignment -aggregate_of< ::Ifc4x1::IfcPresentationStyleSelect >::ptr Ifc4x1::IfcPresentationStyleAssignment::Styles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x1::IfcPresentationStyleSelect >(); } +aggregate_of< ::Ifc4x1::IfcPresentationStyleSelect >::ptr Ifc4x1::IfcPresentationStyleAssignment::Styles() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x1::IfcPresentationStyleSelect >(); } void Ifc4x1::IfcPresentationStyleAssignment::setStyles(aggregate_of< ::Ifc4x1::IfcPresentationStyleSelect >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x1::IfcPresentationStyleAssignment::declaration() const { return *((IfcParse::entity*)IFC4X1_types[723]); } const IfcParse::entity& Ifc4x1::IfcPresentationStyleAssignment::Class() { return *((IfcParse::entity*)IFC4X1_types[723]); } Ifc4x1::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of< ::Ifc4x1::IfcPresentationStyleSelect >::ptr v1_Styles) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Styles)->generalize());; populate_derived(); } +Ifc4x1::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of< ::Ifc4x1::IfcPresentationStyleSelect >::ptr v1_Styles) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Styles)->generalize());; populate_derived(); } // Function implementations for IfcProcedure -boost::optional< ::Ifc4x1::IfcProcedureTypeEnum::Value > Ifc4x1::IfcProcedure::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x1::IfcProcedureTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x1::IfcProcedureTypeEnum::Value > Ifc4x1::IfcProcedure::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x1::IfcProcedureTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x1::IfcProcedure::setPredefinedType(boost::optional< ::Ifc4x1::IfcProcedureTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x1::IfcProcedureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x1::IfcProcedure::declaration() const { return *((IfcParse::entity*)IFC4X1_types[726]); } const IfcParse::entity& Ifc4x1::IfcProcedure::Class() { return *((IfcParse::entity*)IFC4X1_types[726]); } Ifc4x1::IfcProcedure::IfcProcedure(IfcEntityInstanceData&& e) : IfcProcess(std::move(e)) { } -Ifc4x1::IfcProcedure::IfcProcedure(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< ::Ifc4x1::IfcProcedureTypeEnum::Value > v8_PredefinedType) : IfcProcess(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcProcedure::IfcProcedure(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< ::Ifc4x1::IfcProcedureTypeEnum::Value > v8_PredefinedType) : IfcProcess(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProcedureType -::Ifc4x1::IfcProcedureTypeEnum::Value Ifc4x1::IfcProcedureType::PredefinedType() const { return ::Ifc4x1::IfcProcedureTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcProcedureTypeEnum::Value Ifc4x1::IfcProcedureType::PredefinedType() const { return ::Ifc4x1::IfcProcedureTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcProcedureType::setPredefinedType(::Ifc4x1::IfcProcedureTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcProcedureTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcProcedureType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[727]); } const IfcParse::entity& Ifc4x1::IfcProcedureType::Class() { return *((IfcParse::entity*)IFC4X1_types[727]); } Ifc4x1::IfcProcedureType::IfcProcedureType(IfcEntityInstanceData&& e) : IfcTypeProcess(std::move(e)) { } -Ifc4x1::IfcProcedureType::IfcProcedureType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x1::IfcProcedureTypeEnum::Value v10_PredefinedType) : IfcTypeProcess(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcProcedureType::IfcProcedureType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x1::IfcProcedureTypeEnum::Value v10_PredefinedType) : IfcTypeProcess(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcProcess -boost::optional< std::string > Ifc4x1::IfcProcess::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x1::IfcProcess::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcProcess::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x1::IfcProcess::LongDescription() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x1::IfcProcess::LongDescription() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x1::IfcProcess::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x1::IfcRelSequence::list::ptr Ifc4x1::IfcProcess::IsPredecessorTo() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[862], 4)->as(); } @@ -12306,12 +12306,12 @@ void Ifc4x1::IfcProcess::setLongDescription(boost::optional< std::string > v) { const IfcParse::entity& Ifc4x1::IfcProcess::declaration() const { return *((IfcParse::entity*)IFC4X1_types[729]); } const IfcParse::entity& Ifc4x1::IfcProcess::Class() { return *((IfcParse::entity*)IFC4X1_types[729]); } Ifc4x1::IfcProcess::IfcProcess(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x1::IfcProcess::IfcProcess(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } +Ifc4x1::IfcProcess::IfcProcess(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } // Function implementations for IfcProduct -::Ifc4x1::IfcObjectPlacement* Ifc4x1::IfcProduct::ObjectPlacement() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcObjectPlacement>(true); } +::Ifc4x1::IfcObjectPlacement* Ifc4x1::IfcProduct::ObjectPlacement() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcObjectPlacement>(true); } void Ifc4x1::IfcProduct::setObjectPlacement(::Ifc4x1::IfcObjectPlacement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x1::IfcProductRepresentation* Ifc4x1::IfcProduct::Representation() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x1::IfcProductRepresentation>(true); } +::Ifc4x1::IfcProductRepresentation* Ifc4x1::IfcProduct::Representation() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x1::IfcProductRepresentation>(true); } void Ifc4x1::IfcProduct::setRepresentation(::Ifc4x1::IfcProductRepresentation* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } ::Ifc4x1::IfcRelAssignsToProduct::list::ptr Ifc4x1::IfcProduct::ReferencedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[827], 6)->as(); } @@ -12319,7 +12319,7 @@ void Ifc4x1::IfcProduct::setRepresentation(::Ifc4x1::IfcProductRepresentation* v const IfcParse::entity& Ifc4x1::IfcProduct::declaration() const { return *((IfcParse::entity*)IFC4X1_types[731]); } const IfcParse::entity& Ifc4x1::IfcProduct::Class() { return *((IfcParse::entity*)IFC4X1_types[731]); } Ifc4x1::IfcProduct::IfcProduct(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x1::IfcProduct::IfcProduct(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation) : IfcObject(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcProduct::IfcProduct(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProductDefinitionShape @@ -12329,26 +12329,26 @@ Ifc4x1::IfcProduct::IfcProduct(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistor const IfcParse::entity& Ifc4x1::IfcProductDefinitionShape::declaration() const { return *((IfcParse::entity*)IFC4X1_types[732]); } const IfcParse::entity& Ifc4x1::IfcProductDefinitionShape::Class() { return *((IfcParse::entity*)IFC4X1_types[732]); } Ifc4x1::IfcProductDefinitionShape::IfcProductDefinitionShape(IfcEntityInstanceData&& e) : IfcProductRepresentation(std::move(e)) { } -Ifc4x1::IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcRepresentation >::ptr v3_Representations) : IfcProductRepresentation(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } +Ifc4x1::IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcRepresentation >::ptr v3_Representations) : IfcProductRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } // Function implementations for IfcProductRepresentation -boost::optional< std::string > Ifc4x1::IfcProductRepresentation::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x1::IfcProductRepresentation::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcProductRepresentation::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x1::IfcProductRepresentation::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x1::IfcProductRepresentation::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcProductRepresentation::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x1::IfcRepresentation >::ptr Ifc4x1::IfcProductRepresentation::Representations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x1::IfcRepresentation >(); } +aggregate_of< ::Ifc4x1::IfcRepresentation >::ptr Ifc4x1::IfcProductRepresentation::Representations() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x1::IfcRepresentation >(); } void Ifc4x1::IfcProductRepresentation::setRepresentations(aggregate_of< ::Ifc4x1::IfcRepresentation >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x1::IfcProductRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X1_types[733]); } const IfcParse::entity& Ifc4x1::IfcProductRepresentation::Class() { return *((IfcParse::entity*)IFC4X1_types[733]); } Ifc4x1::IfcProductRepresentation::IfcProductRepresentation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcProductRepresentation::IfcProductRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcRepresentation >::ptr v3_Representations) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } +Ifc4x1::IfcProductRepresentation::IfcProductRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcRepresentation >::ptr v3_Representations) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } // Function implementations for IfcProfileDef -::Ifc4x1::IfcProfileTypeEnum::Value Ifc4x1::IfcProfileDef::ProfileType() const { return ::Ifc4x1::IfcProfileTypeEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x1::IfcProfileTypeEnum::Value Ifc4x1::IfcProfileDef::ProfileType() const { return ::Ifc4x1::IfcProfileTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x1::IfcProfileDef::setProfileType(::Ifc4x1::IfcProfileTypeEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x1::IfcProfileDef::ProfileName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x1::IfcProfileDef::ProfileName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcProfileDef::setProfileName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x1::IfcExternalReferenceRelationship::list::ptr Ifc4x1::IfcProfileDef::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[394], 3)->as(); } @@ -12357,17 +12357,17 @@ void Ifc4x1::IfcProfileDef::setProfileName(boost::optional< std::string > v) { i const IfcParse::entity& Ifc4x1::IfcProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X1_types[736]); } const IfcParse::entity& Ifc4x1::IfcProfileDef::Class() { return *((IfcParse::entity*)IFC4X1_types[736]); } Ifc4x1::IfcProfileDef::IfcProfileDef(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcProfileDef::IfcProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; populate_derived(); } +Ifc4x1::IfcProfileDef::IfcProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; populate_derived(); } // Function implementations for IfcProfileProperties -::Ifc4x1::IfcProfileDef* Ifc4x1::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcProfileDef>(true); } +::Ifc4x1::IfcProfileDef* Ifc4x1::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcProfileDef>(true); } void Ifc4x1::IfcProfileProperties::setProfileDefinition(::Ifc4x1::IfcProfileDef* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcProfileProperties::declaration() const { return *((IfcParse::entity*)IFC4X1_types[737]); } const IfcParse::entity& Ifc4x1::IfcProfileProperties::Class() { return *((IfcParse::entity*)IFC4X1_types[737]); } Ifc4x1::IfcProfileProperties::IfcProfileProperties(IfcEntityInstanceData&& e) : IfcExtendedProperties(std::move(e)) { } -Ifc4x1::IfcProfileProperties::IfcProfileProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcProperty >::ptr v3_Properties, ::Ifc4x1::IfcProfileDef* v4_ProfileDefinition) : IfcExtendedProperties(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_ProfileDefinition ? v4_ProfileDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcProfileProperties::IfcProfileProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcProperty >::ptr v3_Properties, ::Ifc4x1::IfcProfileDef* v4_ProfileDefinition) : IfcExtendedProperties(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_ProfileDefinition ? v4_ProfileDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProject @@ -12375,7 +12375,7 @@ Ifc4x1::IfcProfileProperties::IfcProfileProperties(boost::optional< std::string const IfcParse::entity& Ifc4x1::IfcProject::declaration() const { return *((IfcParse::entity*)IFC4X1_types[739]); } const IfcParse::entity& Ifc4x1::IfcProject::Class() { return *((IfcParse::entity*)IFC4X1_types[739]); } Ifc4x1::IfcProject::IfcProject(IfcEntityInstanceData&& e) : IfcContext(std::move(e)) { } -Ifc4x1::IfcProject::IfcProject(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x1::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcProject::IfcProject(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x1::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProjectLibrary @@ -12383,50 +12383,50 @@ Ifc4x1::IfcProject::IfcProject(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistor const IfcParse::entity& Ifc4x1::IfcProjectLibrary::declaration() const { return *((IfcParse::entity*)IFC4X1_types[744]); } const IfcParse::entity& Ifc4x1::IfcProjectLibrary::Class() { return *((IfcParse::entity*)IFC4X1_types[744]); } Ifc4x1::IfcProjectLibrary::IfcProjectLibrary(IfcEntityInstanceData&& e) : IfcContext(std::move(e)) { } -Ifc4x1::IfcProjectLibrary::IfcProjectLibrary(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x1::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcProjectLibrary::IfcProjectLibrary(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x1::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProjectOrder -boost::optional< ::Ifc4x1::IfcProjectOrderTypeEnum::Value > Ifc4x1::IfcProjectOrder::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x1::IfcProjectOrderTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x1::IfcProjectOrderTypeEnum::Value > Ifc4x1::IfcProjectOrder::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x1::IfcProjectOrderTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x1::IfcProjectOrder::setPredefinedType(boost::optional< ::Ifc4x1::IfcProjectOrderTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x1::IfcProjectOrderTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x1::IfcProjectOrder::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x1::IfcProjectOrder::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x1::IfcProjectOrder::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x1::IfcProjectOrder::LongDescription() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x1::IfcProjectOrder::LongDescription() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x1::IfcProjectOrder::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcProjectOrder::declaration() const { return *((IfcParse::entity*)IFC4X1_types[745]); } const IfcParse::entity& Ifc4x1::IfcProjectOrder::Class() { return *((IfcParse::entity*)IFC4X1_types[745]); } Ifc4x1::IfcProjectOrder::IfcProjectOrder(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x1::IfcProjectOrder::IfcProjectOrder(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x1::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x1::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } +Ifc4x1::IfcProjectOrder::IfcProjectOrder(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x1::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x1::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } // Function implementations for IfcProjectedCRS -boost::optional< std::string > Ifc4x1::IfcProjectedCRS::MapProjection() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x1::IfcProjectedCRS::MapProjection() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcProjectedCRS::setMapProjection(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x1::IfcProjectedCRS::MapZone() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x1::IfcProjectedCRS::MapZone() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcProjectedCRS::setMapZone(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x1::IfcNamedUnit* Ifc4x1::IfcProjectedCRS::MapUnit() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x1::IfcNamedUnit>(true); } +::Ifc4x1::IfcNamedUnit* Ifc4x1::IfcProjectedCRS::MapUnit() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x1::IfcNamedUnit>(true); } void Ifc4x1::IfcProjectedCRS::setMapUnit(::Ifc4x1::IfcNamedUnit* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x1::IfcProjectedCRS::declaration() const { return *((IfcParse::entity*)IFC4X1_types[740]); } const IfcParse::entity& Ifc4x1::IfcProjectedCRS::Class() { return *((IfcParse::entity*)IFC4X1_types[740]); } Ifc4x1::IfcProjectedCRS::IfcProjectedCRS(IfcEntityInstanceData&& e) : IfcCoordinateReferenceSystem(std::move(e)) { } -Ifc4x1::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, ::Ifc4x1::IfcNamedUnit* v7_MapUnit) : IfcCoordinateReferenceSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, v7_MapUnit ? v7_MapUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::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, ::Ifc4x1::IfcNamedUnit* v7_MapUnit) : IfcCoordinateReferenceSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, v7_MapUnit ? v7_MapUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProjectionElement -boost::optional< ::Ifc4x1::IfcProjectionElementTypeEnum::Value > Ifc4x1::IfcProjectionElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcProjectionElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcProjectionElementTypeEnum::Value > Ifc4x1::IfcProjectionElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcProjectionElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcProjectionElement::setPredefinedType(boost::optional< ::Ifc4x1::IfcProjectionElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcProjectionElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcProjectionElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[742]); } const IfcParse::entity& Ifc4x1::IfcProjectionElement::Class() { return *((IfcParse::entity*)IFC4X1_types[742]); } Ifc4x1::IfcProjectionElement::IfcProjectionElement(IfcEntityInstanceData&& e) : IfcFeatureElementAddition(std::move(e)) { } -Ifc4x1::IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementAddition(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementAddition(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProperty -std::string Ifc4x1::IfcProperty::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x1::IfcProperty::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcProperty::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x1::IfcProperty::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x1::IfcProperty::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcProperty::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x1::IfcPropertySet::list::ptr Ifc4x1::IfcProperty::PartOfPset() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[756], 4)->as(); } @@ -12439,7 +12439,7 @@ void Ifc4x1::IfcProperty::setDescription(boost::optional< std::string > v) { if const IfcParse::entity& Ifc4x1::IfcProperty::declaration() const { return *((IfcParse::entity*)IFC4X1_types[747]); } const IfcParse::entity& Ifc4x1::IfcProperty::Class() { return *((IfcParse::entity*)IFC4X1_types[747]); } Ifc4x1::IfcProperty::IfcProperty(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x1::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4x1::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcPropertyAbstraction @@ -12448,23 +12448,23 @@ Ifc4x1::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std::stri const IfcParse::entity& Ifc4x1::IfcPropertyAbstraction::declaration() const { return *((IfcParse::entity*)IFC4X1_types[748]); } const IfcParse::entity& Ifc4x1::IfcPropertyAbstraction::Class() { return *((IfcParse::entity*)IFC4X1_types[748]); } Ifc4x1::IfcPropertyAbstraction::IfcPropertyAbstraction(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcPropertyAbstraction::IfcPropertyAbstraction() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x1::IfcPropertyAbstraction::IfcPropertyAbstraction() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPropertyBoundedValue -::Ifc4x1::IfcValue* Ifc4x1::IfcPropertyBoundedValue::UpperBoundValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcValue>(true); } +::Ifc4x1::IfcValue* Ifc4x1::IfcPropertyBoundedValue::UpperBoundValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcValue>(true); } void Ifc4x1::IfcPropertyBoundedValue::setUpperBoundValue(::Ifc4x1::IfcValue* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcValue* Ifc4x1::IfcPropertyBoundedValue::LowerBoundValue() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcValue>(true); } +::Ifc4x1::IfcValue* Ifc4x1::IfcPropertyBoundedValue::LowerBoundValue() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcValue>(true); } void Ifc4x1::IfcPropertyBoundedValue::setLowerBoundValue(::Ifc4x1::IfcValue* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x1::IfcUnit* Ifc4x1::IfcPropertyBoundedValue::Unit() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x1::IfcUnit>(true); } +::Ifc4x1::IfcUnit* Ifc4x1::IfcPropertyBoundedValue::Unit() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x1::IfcUnit>(true); } void Ifc4x1::IfcPropertyBoundedValue::setUnit(::Ifc4x1::IfcUnit* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcValue* Ifc4x1::IfcPropertyBoundedValue::SetPointValue() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcValue>(true); } +::Ifc4x1::IfcValue* Ifc4x1::IfcPropertyBoundedValue::SetPointValue() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcValue>(true); } void Ifc4x1::IfcPropertyBoundedValue::setSetPointValue(::Ifc4x1::IfcValue* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x1::IfcPropertyBoundedValue::declaration() const { return *((IfcParse::entity*)IFC4X1_types[749]); } const IfcParse::entity& Ifc4x1::IfcPropertyBoundedValue::Class() { return *((IfcParse::entity*)IFC4X1_types[749]); } Ifc4x1::IfcPropertyBoundedValue::IfcPropertyBoundedValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x1::IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcValue* v3_UpperBoundValue, ::Ifc4x1::IfcValue* v4_LowerBoundValue, ::Ifc4x1::IfcUnit* v5_Unit, ::Ifc4x1::IfcValue* v6_SetPointValue) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_UpperBoundValue ? v3_UpperBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_LowerBoundValue ? v4_LowerBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_Unit ? v5_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_SetPointValue ? v6_SetPointValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcValue* v3_UpperBoundValue, ::Ifc4x1::IfcValue* v4_LowerBoundValue, ::Ifc4x1::IfcUnit* v5_Unit, ::Ifc4x1::IfcValue* v6_SetPointValue) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_UpperBoundValue ? v3_UpperBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_LowerBoundValue ? v4_LowerBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_Unit ? v5_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_SetPointValue ? v6_SetPointValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyDefinition @@ -12474,81 +12474,81 @@ Ifc4x1::IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name, bo const IfcParse::entity& Ifc4x1::IfcPropertyDefinition::declaration() const { return *((IfcParse::entity*)IFC4X1_types[750]); } const IfcParse::entity& Ifc4x1::IfcPropertyDefinition::Class() { return *((IfcParse::entity*)IFC4X1_types[750]); } Ifc4x1::IfcPropertyDefinition::IfcPropertyDefinition(IfcEntityInstanceData&& e) : IfcRoot(std::move(e)) { } -Ifc4x1::IfcPropertyDefinition::IfcPropertyDefinition(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x1::IfcPropertyDefinition::IfcPropertyDefinition(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertyDependencyRelationship -::Ifc4x1::IfcProperty* Ifc4x1::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcProperty>(true); } +::Ifc4x1::IfcProperty* Ifc4x1::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcProperty>(true); } void Ifc4x1::IfcPropertyDependencyRelationship::setDependingProperty(::Ifc4x1::IfcProperty* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcProperty* Ifc4x1::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcProperty>(true); } +::Ifc4x1::IfcProperty* Ifc4x1::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcProperty>(true); } void Ifc4x1::IfcPropertyDependencyRelationship::setDependantProperty(::Ifc4x1::IfcProperty* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x1::IfcPropertyDependencyRelationship::Expression() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x1::IfcPropertyDependencyRelationship::Expression() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x1::IfcPropertyDependencyRelationship::declaration() const { return *((IfcParse::entity*)IFC4X1_types[751]); } const IfcParse::entity& Ifc4x1::IfcPropertyDependencyRelationship::Class() { return *((IfcParse::entity*)IFC4X1_types[751]); } Ifc4x1::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x1::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcProperty* v3_DependingProperty, ::Ifc4x1::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_DependingProperty ? v3_DependingProperty->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_DependantProperty ? v4_DependantProperty->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } +Ifc4x1::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcProperty* v3_DependingProperty, ::Ifc4x1::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_DependingProperty ? v3_DependingProperty->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_DependantProperty ? v4_DependantProperty->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } // Function implementations for IfcPropertyEnumeratedValue -boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > Ifc4x1::IfcPropertyEnumeratedValue::EnumerationValues() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x1::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > Ifc4x1::IfcPropertyEnumeratedValue::EnumerationValues() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x1::IfcValue >(); } void Ifc4x1::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } -::Ifc4x1::IfcPropertyEnumeration* Ifc4x1::IfcPropertyEnumeratedValue::EnumerationReference() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcPropertyEnumeration>(true); } +::Ifc4x1::IfcPropertyEnumeration* Ifc4x1::IfcPropertyEnumeratedValue::EnumerationReference() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcPropertyEnumeration>(true); } void Ifc4x1::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x1::IfcPropertyEnumeration* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcPropertyEnumeratedValue::declaration() const { return *((IfcParse::entity*)IFC4X1_types[752]); } const IfcParse::entity& Ifc4x1::IfcPropertyEnumeratedValue::Class() { return *((IfcParse::entity*)IFC4X1_types[752]); } Ifc4x1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x1::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_EnumerationValues) {set_attribute_value(2, (*v3_EnumerationValues)->generalize()); }set_attribute_value(3, v4_EnumerationReference ? v4_EnumerationReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x1::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_EnumerationValues) {set_attribute_value(2, (*v3_EnumerationValues)->generalize()); }set_attribute_value(3, v4_EnumerationReference ? v4_EnumerationReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyEnumeration -std::string Ifc4x1::IfcPropertyEnumeration::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x1::IfcPropertyEnumeration::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcPropertyEnumeration::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x1::IfcValue >::ptr Ifc4x1::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x1::IfcValue >(); } +aggregate_of< ::Ifc4x1::IfcValue >::ptr Ifc4x1::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x1::IfcValue >(); } void Ifc4x1::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x1::IfcValue >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcUnit* Ifc4x1::IfcPropertyEnumeration::Unit() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcUnit>(true); } +::Ifc4x1::IfcUnit* Ifc4x1::IfcPropertyEnumeration::Unit() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcUnit>(true); } void Ifc4x1::IfcPropertyEnumeration::setUnit(::Ifc4x1::IfcUnit* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x1::IfcPropertyEnumeration::declaration() const { return *((IfcParse::entity*)IFC4X1_types[753]); } const IfcParse::entity& Ifc4x1::IfcPropertyEnumeration::Class() { return *((IfcParse::entity*)IFC4X1_types[753]); } Ifc4x1::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x1::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x1::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x1::IfcUnit* v3_Unit) : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_EnumerationValues)->generalize());set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x1::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x1::IfcUnit* v3_Unit) : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_EnumerationValues)->generalize());set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyListValue -boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > Ifc4x1::IfcPropertyListValue::ListValues() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x1::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > Ifc4x1::IfcPropertyListValue::ListValues() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x1::IfcValue >(); } void Ifc4x1::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } -::Ifc4x1::IfcUnit* Ifc4x1::IfcPropertyListValue::Unit() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcUnit>(true); } +::Ifc4x1::IfcUnit* Ifc4x1::IfcPropertyListValue::Unit() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcUnit>(true); } void Ifc4x1::IfcPropertyListValue::setUnit(::Ifc4x1::IfcUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcPropertyListValue::declaration() const { return *((IfcParse::entity*)IFC4X1_types[754]); } const IfcParse::entity& Ifc4x1::IfcPropertyListValue::Class() { return *((IfcParse::entity*)IFC4X1_types[754]); } Ifc4x1::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x1::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v3_ListValues, ::Ifc4x1::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_ListValues) {set_attribute_value(2, (*v3_ListValues)->generalize()); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v3_ListValues, ::Ifc4x1::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_ListValues) {set_attribute_value(2, (*v3_ListValues)->generalize()); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyReferenceValue -boost::optional< std::string > Ifc4x1::IfcPropertyReferenceValue::UsageName() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x1::IfcPropertyReferenceValue::UsageName() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x1::IfcObjectReferenceSelect* Ifc4x1::IfcPropertyReferenceValue::PropertyReference() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcObjectReferenceSelect>(true); } +::Ifc4x1::IfcObjectReferenceSelect* Ifc4x1::IfcPropertyReferenceValue::PropertyReference() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcObjectReferenceSelect>(true); } void Ifc4x1::IfcPropertyReferenceValue::setPropertyReference(::Ifc4x1::IfcObjectReferenceSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcPropertyReferenceValue::declaration() const { return *((IfcParse::entity*)IFC4X1_types[755]); } const IfcParse::entity& Ifc4x1::IfcPropertyReferenceValue::Class() { return *((IfcParse::entity*)IFC4X1_types[755]); } Ifc4x1::IfcPropertyReferenceValue::IfcPropertyReferenceValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x1::IfcPropertyReferenceValue::IfcPropertyReferenceValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UsageName, ::Ifc4x1::IfcObjectReferenceSelect* v4_PropertyReference) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, v4_PropertyReference ? v4_PropertyReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcPropertyReferenceValue::IfcPropertyReferenceValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UsageName, ::Ifc4x1::IfcObjectReferenceSelect* v4_PropertyReference) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, v4_PropertyReference ? v4_PropertyReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertySet -aggregate_of< ::Ifc4x1::IfcProperty >::ptr Ifc4x1::IfcPropertySet::HasProperties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x1::IfcProperty >(); } +aggregate_of< ::Ifc4x1::IfcProperty >::ptr Ifc4x1::IfcPropertySet::HasProperties() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x1::IfcProperty >(); } void Ifc4x1::IfcPropertySet::setHasProperties(aggregate_of< ::Ifc4x1::IfcProperty >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x1::IfcPropertySet::declaration() const { return *((IfcParse::entity*)IFC4X1_types[756]); } const IfcParse::entity& Ifc4x1::IfcPropertySet::Class() { return *((IfcParse::entity*)IFC4X1_types[756]); } Ifc4x1::IfcPropertySet::IfcPropertySet(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc4x1::IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcProperty >::ptr v5_HasProperties) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_HasProperties)->generalize());; populate_derived(); } +Ifc4x1::IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcProperty >::ptr v5_HasProperties) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_HasProperties)->generalize());; populate_derived(); } // Function implementations for IfcPropertySetDefinition @@ -12559,14 +12559,14 @@ Ifc4x1::IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, ::Ifc4x1::IfcOwn const IfcParse::entity& Ifc4x1::IfcPropertySetDefinition::declaration() const { return *((IfcParse::entity*)IFC4X1_types[757]); } const IfcParse::entity& Ifc4x1::IfcPropertySetDefinition::Class() { return *((IfcParse::entity*)IFC4X1_types[757]); } Ifc4x1::IfcPropertySetDefinition::IfcPropertySetDefinition(IfcEntityInstanceData&& e) : IfcPropertyDefinition(std::move(e)) { } -Ifc4x1::IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x1::IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertySetTemplate -boost::optional< ::Ifc4x1::IfcPropertySetTemplateTypeEnum::Value > Ifc4x1::IfcPropertySetTemplate::TemplateType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x1::IfcPropertySetTemplateTypeEnum::FromString(data_.get_attribute_value(4)); } +boost::optional< ::Ifc4x1::IfcPropertySetTemplateTypeEnum::Value > Ifc4x1::IfcPropertySetTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x1::IfcPropertySetTemplateTypeEnum::FromString(get_attribute_value(4)); } void Ifc4x1::IfcPropertySetTemplate::setTemplateType(boost::optional< ::Ifc4x1::IfcPropertySetTemplateTypeEnum::Value > v) { if (v) {set_attribute_value(4, EnumerationReference(&::Ifc4x1::IfcPropertySetTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x1::IfcPropertySetTemplate::ApplicableEntity() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x1::IfcPropertySetTemplate::ApplicableEntity() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcPropertySetTemplate::setApplicableEntity(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -aggregate_of< ::Ifc4x1::IfcPropertyTemplate >::ptr Ifc4x1::IfcPropertySetTemplate::HasPropertyTemplates() const { aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x1::IfcPropertyTemplate >(); } +aggregate_of< ::Ifc4x1::IfcPropertyTemplate >::ptr Ifc4x1::IfcPropertySetTemplate::HasPropertyTemplates() const { aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x1::IfcPropertyTemplate >(); } void Ifc4x1::IfcPropertySetTemplate::setHasPropertyTemplates(aggregate_of< ::Ifc4x1::IfcPropertyTemplate >::ptr v) { set_attribute_value(6, (v)->generalize());if constexpr (false)unset_attribute_value(6); } ::Ifc4x1::IfcRelDefinesByTemplate::list::ptr Ifc4x1::IfcPropertySetTemplate::Defines() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[854], 5)->as(); } @@ -12574,39 +12574,39 @@ void Ifc4x1::IfcPropertySetTemplate::setHasPropertyTemplates(aggregate_of< ::Ifc const IfcParse::entity& Ifc4x1::IfcPropertySetTemplate::declaration() const { return *((IfcParse::entity*)IFC4X1_types[760]); } const IfcParse::entity& Ifc4x1::IfcPropertySetTemplate::Class() { return *((IfcParse::entity*)IFC4X1_types[760]); } Ifc4x1::IfcPropertySetTemplate::IfcPropertySetTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplateDefinition(std::move(e)) { } -Ifc4x1::IfcPropertySetTemplate::IfcPropertySetTemplate(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x1::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_ApplicableEntity, aggregate_of< ::Ifc4x1::IfcPropertyTemplate >::ptr v7_HasPropertyTemplates) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x1::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, (v7_HasPropertyTemplates)->generalize());; populate_derived(); } +Ifc4x1::IfcPropertySetTemplate::IfcPropertySetTemplate(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x1::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_ApplicableEntity, aggregate_of< ::Ifc4x1::IfcPropertyTemplate >::ptr v7_HasPropertyTemplates) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x1::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, (v7_HasPropertyTemplates)->generalize());; populate_derived(); } // Function implementations for IfcPropertySingleValue -::Ifc4x1::IfcValue* Ifc4x1::IfcPropertySingleValue::NominalValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcValue>(true); } +::Ifc4x1::IfcValue* Ifc4x1::IfcPropertySingleValue::NominalValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcValue>(true); } void Ifc4x1::IfcPropertySingleValue::setNominalValue(::Ifc4x1::IfcValue* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcUnit* Ifc4x1::IfcPropertySingleValue::Unit() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcUnit>(true); } +::Ifc4x1::IfcUnit* Ifc4x1::IfcPropertySingleValue::Unit() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcUnit>(true); } void Ifc4x1::IfcPropertySingleValue::setUnit(::Ifc4x1::IfcUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcPropertySingleValue::declaration() const { return *((IfcParse::entity*)IFC4X1_types[762]); } const IfcParse::entity& Ifc4x1::IfcPropertySingleValue::Class() { return *((IfcParse::entity*)IFC4X1_types[762]); } Ifc4x1::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x1::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcValue* v3_NominalValue, ::Ifc4x1::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_NominalValue ? v3_NominalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcValue* v3_NominalValue, ::Ifc4x1::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_NominalValue ? v3_NominalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyTableValue -boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > Ifc4x1::IfcPropertyTableValue::DefiningValues() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x1::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > Ifc4x1::IfcPropertyTableValue::DefiningValues() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x1::IfcValue >(); } void Ifc4x1::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } -boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > Ifc4x1::IfcPropertyTableValue::DefinedValues() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x1::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > Ifc4x1::IfcPropertyTableValue::DefinedValues() const { if(get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x1::IfcValue >(); } void Ifc4x1::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v) { if (v) {set_attribute_value(3, (*v)->generalize());} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x1::IfcPropertyTableValue::Expression() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x1::IfcPropertyTableValue::Expression() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x1::IfcUnit* Ifc4x1::IfcPropertyTableValue::DefiningUnit() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcUnit>(true); } +::Ifc4x1::IfcUnit* Ifc4x1::IfcPropertyTableValue::DefiningUnit() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcUnit>(true); } void Ifc4x1::IfcPropertyTableValue::setDefiningUnit(::Ifc4x1::IfcUnit* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x1::IfcUnit* Ifc4x1::IfcPropertyTableValue::DefinedUnit() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x1::IfcUnit>(true); } +::Ifc4x1::IfcUnit* Ifc4x1::IfcPropertyTableValue::DefinedUnit() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x1::IfcUnit>(true); } void Ifc4x1::IfcPropertyTableValue::setDefinedUnit(::Ifc4x1::IfcUnit* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< ::Ifc4x1::IfcCurveInterpolationEnum::Value > Ifc4x1::IfcPropertyTableValue::CurveInterpolation() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x1::IfcCurveInterpolationEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x1::IfcCurveInterpolationEnum::Value > Ifc4x1::IfcPropertyTableValue::CurveInterpolation() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x1::IfcCurveInterpolationEnum::FromString(get_attribute_value(7)); } void Ifc4x1::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc4x1::IfcCurveInterpolationEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x1::IfcCurveInterpolationEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x1::IfcPropertyTableValue::declaration() const { return *((IfcParse::entity*)IFC4X1_types[763]); } const IfcParse::entity& Ifc4x1::IfcPropertyTableValue::Class() { return *((IfcParse::entity*)IFC4X1_types[763]); } Ifc4x1::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x1::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x1::IfcUnit* v6_DefiningUnit, ::Ifc4x1::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_DefiningValues) {set_attribute_value(2, (*v3_DefiningValues)->generalize()); } if (v4_DefinedValues) {set_attribute_value(3, (*v4_DefinedValues)->generalize()); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, v6_DefiningUnit ? v6_DefiningUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_DefinedUnit ? v7_DefinedUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_CurveInterpolation) {set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); }; populate_derived(); } +Ifc4x1::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x1::IfcUnit* v6_DefiningUnit, ::Ifc4x1::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_DefiningValues) {set_attribute_value(2, (*v3_DefiningValues)->generalize()); } if (v4_DefinedValues) {set_attribute_value(3, (*v4_DefinedValues)->generalize()); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, v6_DefiningUnit ? v6_DefiningUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_DefinedUnit ? v7_DefinedUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_CurveInterpolation) {set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); }; populate_derived(); } // Function implementations for IfcPropertyTemplate @@ -12616,7 +12616,7 @@ Ifc4x1::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost: const IfcParse::entity& Ifc4x1::IfcPropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X1_types[764]); } const IfcParse::entity& Ifc4x1::IfcPropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X1_types[764]); } Ifc4x1::IfcPropertyTemplate::IfcPropertyTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplateDefinition(std::move(e)) { } -Ifc4x1::IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x1::IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertyTemplateDefinition @@ -12624,115 +12624,115 @@ Ifc4x1::IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x1::IfcPropertyTemplateDefinition::declaration() const { return *((IfcParse::entity*)IFC4X1_types[765]); } const IfcParse::entity& Ifc4x1::IfcPropertyTemplateDefinition::Class() { return *((IfcParse::entity*)IFC4X1_types[765]); } Ifc4x1::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(IfcEntityInstanceData&& e) : IfcPropertyDefinition(std::move(e)) { } -Ifc4x1::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x1::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcProtectiveDevice -boost::optional< ::Ifc4x1::IfcProtectiveDeviceTypeEnum::Value > Ifc4x1::IfcProtectiveDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcProtectiveDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcProtectiveDeviceTypeEnum::Value > Ifc4x1::IfcProtectiveDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcProtectiveDevice::setPredefinedType(boost::optional< ::Ifc4x1::IfcProtectiveDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcProtectiveDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcProtectiveDevice::declaration() const { return *((IfcParse::entity*)IFC4X1_types[766]); } const IfcParse::entity& Ifc4x1::IfcProtectiveDevice::Class() { return *((IfcParse::entity*)IFC4X1_types[766]); } Ifc4x1::IfcProtectiveDevice::IfcProtectiveDevice(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x1::IfcProtectiveDevice::IfcProtectiveDevice(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcProtectiveDevice::IfcProtectiveDevice(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProtectiveDeviceTrippingUnit -boost::optional< ::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x1::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x1::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcProtectiveDeviceTrippingUnit::setPredefinedType(boost::optional< ::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcProtectiveDeviceTrippingUnit::declaration() const { return *((IfcParse::entity*)IFC4X1_types[767]); } const IfcParse::entity& Ifc4x1::IfcProtectiveDeviceTrippingUnit::Class() { return *((IfcParse::entity*)IFC4X1_types[767]); } Ifc4x1::IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x1::IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProtectiveDeviceTrippingUnitType -::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x1::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x1::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcProtectiveDeviceTrippingUnitType::setPredefinedType(::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcProtectiveDeviceTrippingUnitType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[768]); } const IfcParse::entity& Ifc4x1::IfcProtectiveDeviceTrippingUnitType::Class() { return *((IfcParse::entity*)IFC4X1_types[768]); } Ifc4x1::IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x1::IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcProtectiveDeviceType -::Ifc4x1::IfcProtectiveDeviceTypeEnum::Value Ifc4x1::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4x1::IfcProtectiveDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcProtectiveDeviceTypeEnum::Value Ifc4x1::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4x1::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcProtectiveDeviceType::setPredefinedType(::Ifc4x1::IfcProtectiveDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcProtectiveDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcProtectiveDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[770]); } const IfcParse::entity& Ifc4x1::IfcProtectiveDeviceType::Class() { return *((IfcParse::entity*)IFC4X1_types[770]); } Ifc4x1::IfcProtectiveDeviceType::IfcProtectiveDeviceType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x1::IfcProtectiveDeviceType::IfcProtectiveDeviceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcProtectiveDeviceType::IfcProtectiveDeviceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcProxy -::Ifc4x1::IfcObjectTypeEnum::Value Ifc4x1::IfcProxy::ProxyType() const { return ::Ifc4x1::IfcObjectTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x1::IfcObjectTypeEnum::Value Ifc4x1::IfcProxy::ProxyType() const { return ::Ifc4x1::IfcObjectTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x1::IfcProxy::setProxyType(::Ifc4x1::IfcObjectTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x1::IfcObjectTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc4x1::IfcProxy::Tag() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x1::IfcProxy::Tag() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x1::IfcProxy::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcProxy::declaration() const { return *((IfcParse::entity*)IFC4X1_types[772]); } const IfcParse::entity& Ifc4x1::IfcProxy::Class() { return *((IfcParse::entity*)IFC4X1_types[772]); } Ifc4x1::IfcProxy::IfcProxy(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x1::IfcProxy::IfcProxy(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcObjectTypeEnum::Value v8_ProxyType, boost::optional< std::string > v9_Tag) : IfcProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)v8_ProxyType))); if (v9_Tag) {set_attribute_value(8, (*v9_Tag)); }; populate_derived(); } +Ifc4x1::IfcProxy::IfcProxy(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcObjectTypeEnum::Value v8_ProxyType, boost::optional< std::string > v9_Tag) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)v8_ProxyType))); if (v9_Tag) {set_attribute_value(8, (*v9_Tag)); }; populate_derived(); } // Function implementations for IfcPump -boost::optional< ::Ifc4x1::IfcPumpTypeEnum::Value > Ifc4x1::IfcPump::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcPumpTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcPumpTypeEnum::Value > Ifc4x1::IfcPump::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcPumpTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcPump::setPredefinedType(boost::optional< ::Ifc4x1::IfcPumpTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcPumpTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcPump::declaration() const { return *((IfcParse::entity*)IFC4X1_types[773]); } const IfcParse::entity& Ifc4x1::IfcPump::Class() { return *((IfcParse::entity*)IFC4X1_types[773]); } Ifc4x1::IfcPump::IfcPump(IfcEntityInstanceData&& e) : IfcFlowMovingDevice(std::move(e)) { } -Ifc4x1::IfcPump::IfcPump(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcPumpTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcPump::IfcPump(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcPumpTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPumpType -::Ifc4x1::IfcPumpTypeEnum::Value Ifc4x1::IfcPumpType::PredefinedType() const { return ::Ifc4x1::IfcPumpTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcPumpTypeEnum::Value Ifc4x1::IfcPumpType::PredefinedType() const { return ::Ifc4x1::IfcPumpTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcPumpType::setPredefinedType(::Ifc4x1::IfcPumpTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcPumpTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcPumpType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[774]); } const IfcParse::entity& Ifc4x1::IfcPumpType::Class() { return *((IfcParse::entity*)IFC4X1_types[774]); } Ifc4x1::IfcPumpType::IfcPumpType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(e)) { } -Ifc4x1::IfcPumpType::IfcPumpType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcPumpTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcPumpType::IfcPumpType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcPumpTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcQuantityArea -double Ifc4x1::IfcQuantityArea::AreaValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x1::IfcQuantityArea::AreaValue() const { double v = get_attribute_value(3); return v; } void Ifc4x1::IfcQuantityArea::setAreaValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x1::IfcQuantityArea::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x1::IfcQuantityArea::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcQuantityArea::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x1::IfcQuantityArea::declaration() const { return *((IfcParse::entity*)IFC4X1_types[776]); } const IfcParse::entity& Ifc4x1::IfcQuantityArea::Class() { return *((IfcParse::entity*)IFC4X1_types[776]); } Ifc4x1::IfcQuantityArea::IfcQuantityArea(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x1::IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit* v3_Unit, double v4_AreaValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x1::IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit* v3_Unit, double v4_AreaValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityCount -double Ifc4x1::IfcQuantityCount::CountValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x1::IfcQuantityCount::CountValue() const { double v = get_attribute_value(3); return v; } void Ifc4x1::IfcQuantityCount::setCountValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x1::IfcQuantityCount::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x1::IfcQuantityCount::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcQuantityCount::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x1::IfcQuantityCount::declaration() const { return *((IfcParse::entity*)IFC4X1_types[777]); } const IfcParse::entity& Ifc4x1::IfcQuantityCount::Class() { return *((IfcParse::entity*)IFC4X1_types[777]); } Ifc4x1::IfcQuantityCount::IfcQuantityCount(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x1::IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit* v3_Unit, double v4_CountValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x1::IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit* v3_Unit, double v4_CountValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityLength -double Ifc4x1::IfcQuantityLength::LengthValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x1::IfcQuantityLength::LengthValue() const { double v = get_attribute_value(3); return v; } void Ifc4x1::IfcQuantityLength::setLengthValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x1::IfcQuantityLength::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x1::IfcQuantityLength::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcQuantityLength::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x1::IfcQuantityLength::declaration() const { return *((IfcParse::entity*)IFC4X1_types[778]); } const IfcParse::entity& Ifc4x1::IfcQuantityLength::Class() { return *((IfcParse::entity*)IFC4X1_types[778]); } Ifc4x1::IfcQuantityLength::IfcQuantityLength(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x1::IfcQuantityLength::IfcQuantityLength(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit* v3_Unit, double v4_LengthValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x1::IfcQuantityLength::IfcQuantityLength(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit* v3_Unit, double v4_LengthValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantitySet @@ -12740,333 +12740,333 @@ Ifc4x1::IfcQuantityLength::IfcQuantityLength(std::string v1_Name, boost::optiona const IfcParse::entity& Ifc4x1::IfcQuantitySet::declaration() const { return *((IfcParse::entity*)IFC4X1_types[779]); } const IfcParse::entity& Ifc4x1::IfcQuantitySet::Class() { return *((IfcParse::entity*)IFC4X1_types[779]); } Ifc4x1::IfcQuantitySet::IfcQuantitySet(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc4x1::IfcQuantitySet::IfcQuantitySet(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x1::IfcQuantitySet::IfcQuantitySet(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcQuantityTime -double Ifc4x1::IfcQuantityTime::TimeValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x1::IfcQuantityTime::TimeValue() const { double v = get_attribute_value(3); return v; } void Ifc4x1::IfcQuantityTime::setTimeValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x1::IfcQuantityTime::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x1::IfcQuantityTime::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcQuantityTime::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x1::IfcQuantityTime::declaration() const { return *((IfcParse::entity*)IFC4X1_types[780]); } const IfcParse::entity& Ifc4x1::IfcQuantityTime::Class() { return *((IfcParse::entity*)IFC4X1_types[780]); } Ifc4x1::IfcQuantityTime::IfcQuantityTime(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x1::IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit* v3_Unit, double v4_TimeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x1::IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit* v3_Unit, double v4_TimeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityVolume -double Ifc4x1::IfcQuantityVolume::VolumeValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x1::IfcQuantityVolume::VolumeValue() const { double v = get_attribute_value(3); return v; } void Ifc4x1::IfcQuantityVolume::setVolumeValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x1::IfcQuantityVolume::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x1::IfcQuantityVolume::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcQuantityVolume::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x1::IfcQuantityVolume::declaration() const { return *((IfcParse::entity*)IFC4X1_types[781]); } const IfcParse::entity& Ifc4x1::IfcQuantityVolume::Class() { return *((IfcParse::entity*)IFC4X1_types[781]); } Ifc4x1::IfcQuantityVolume::IfcQuantityVolume(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x1::IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit* v3_Unit, double v4_VolumeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x1::IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit* v3_Unit, double v4_VolumeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityWeight -double Ifc4x1::IfcQuantityWeight::WeightValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x1::IfcQuantityWeight::WeightValue() const { double v = get_attribute_value(3); return v; } void Ifc4x1::IfcQuantityWeight::setWeightValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x1::IfcQuantityWeight::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x1::IfcQuantityWeight::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcQuantityWeight::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x1::IfcQuantityWeight::declaration() const { return *((IfcParse::entity*)IFC4X1_types[782]); } const IfcParse::entity& Ifc4x1::IfcQuantityWeight::Class() { return *((IfcParse::entity*)IFC4X1_types[782]); } Ifc4x1::IfcQuantityWeight::IfcQuantityWeight(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x1::IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit* v3_Unit, double v4_WeightValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x1::IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcNamedUnit* v3_Unit, double v4_WeightValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcRailing -boost::optional< ::Ifc4x1::IfcRailingTypeEnum::Value > Ifc4x1::IfcRailing::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcRailingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcRailingTypeEnum::Value > Ifc4x1::IfcRailing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcRailingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcRailing::setPredefinedType(boost::optional< ::Ifc4x1::IfcRailingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcRailingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcRailing::declaration() const { return *((IfcParse::entity*)IFC4X1_types[784]); } const IfcParse::entity& Ifc4x1::IfcRailing::Class() { return *((IfcParse::entity*)IFC4X1_types[784]); } Ifc4x1::IfcRailing::IfcRailing(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x1::IfcRailing::IfcRailing(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcRailingTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcRailing::IfcRailing(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcRailingTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRailingType -::Ifc4x1::IfcRailingTypeEnum::Value Ifc4x1::IfcRailingType::PredefinedType() const { return ::Ifc4x1::IfcRailingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcRailingTypeEnum::Value Ifc4x1::IfcRailingType::PredefinedType() const { return ::Ifc4x1::IfcRailingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcRailingType::setPredefinedType(::Ifc4x1::IfcRailingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcRailingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcRailingType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[785]); } const IfcParse::entity& Ifc4x1::IfcRailingType::Class() { return *((IfcParse::entity*)IFC4X1_types[785]); } Ifc4x1::IfcRailingType::IfcRailingType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x1::IfcRailingType::IfcRailingType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcRailingTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcRailingType::IfcRailingType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcRailingTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRamp -boost::optional< ::Ifc4x1::IfcRampTypeEnum::Value > Ifc4x1::IfcRamp::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcRampTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcRampTypeEnum::Value > Ifc4x1::IfcRamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcRampTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcRamp::setPredefinedType(boost::optional< ::Ifc4x1::IfcRampTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcRampTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcRamp::declaration() const { return *((IfcParse::entity*)IFC4X1_types[787]); } const IfcParse::entity& Ifc4x1::IfcRamp::Class() { return *((IfcParse::entity*)IFC4X1_types[787]); } Ifc4x1::IfcRamp::IfcRamp(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x1::IfcRamp::IfcRamp(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcRampTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcRamp::IfcRamp(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcRampTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRampFlight -boost::optional< ::Ifc4x1::IfcRampFlightTypeEnum::Value > Ifc4x1::IfcRampFlight::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcRampFlightTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcRampFlightTypeEnum::Value > Ifc4x1::IfcRampFlight::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcRampFlightTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcRampFlight::setPredefinedType(boost::optional< ::Ifc4x1::IfcRampFlightTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcRampFlightTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcRampFlight::declaration() const { return *((IfcParse::entity*)IFC4X1_types[788]); } const IfcParse::entity& Ifc4x1::IfcRampFlight::Class() { return *((IfcParse::entity*)IFC4X1_types[788]); } Ifc4x1::IfcRampFlight::IfcRampFlight(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x1::IfcRampFlight::IfcRampFlight(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcRampFlightTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcRampFlight::IfcRampFlight(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcRampFlightTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRampFlightType -::Ifc4x1::IfcRampFlightTypeEnum::Value Ifc4x1::IfcRampFlightType::PredefinedType() const { return ::Ifc4x1::IfcRampFlightTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcRampFlightTypeEnum::Value Ifc4x1::IfcRampFlightType::PredefinedType() const { return ::Ifc4x1::IfcRampFlightTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcRampFlightType::setPredefinedType(::Ifc4x1::IfcRampFlightTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcRampFlightTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcRampFlightType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[789]); } const IfcParse::entity& Ifc4x1::IfcRampFlightType::Class() { return *((IfcParse::entity*)IFC4X1_types[789]); } Ifc4x1::IfcRampFlightType::IfcRampFlightType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x1::IfcRampFlightType::IfcRampFlightType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcRampFlightTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcRampFlightType::IfcRampFlightType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcRampFlightTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRampType -::Ifc4x1::IfcRampTypeEnum::Value Ifc4x1::IfcRampType::PredefinedType() const { return ::Ifc4x1::IfcRampTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcRampTypeEnum::Value Ifc4x1::IfcRampType::PredefinedType() const { return ::Ifc4x1::IfcRampTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcRampType::setPredefinedType(::Ifc4x1::IfcRampTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcRampTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcRampType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[791]); } const IfcParse::entity& Ifc4x1::IfcRampType::Class() { return *((IfcParse::entity*)IFC4X1_types[791]); } Ifc4x1::IfcRampType::IfcRampType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x1::IfcRampType::IfcRampType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcRampTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcRampType::IfcRampType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcRampTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRationalBSplineCurveWithKnots -std::vector< double > /*[2:?]*/ Ifc4x1::IfcRationalBSplineCurveWithKnots::WeightsData() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< double > /*[2:?]*/ Ifc4x1::IfcRationalBSplineCurveWithKnots::WeightsData() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(8); return v; } void Ifc4x1::IfcRationalBSplineCurveWithKnots::setWeightsData(std::vector< double > /*[2:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x1::IfcRationalBSplineCurveWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X1_types[794]); } const IfcParse::entity& Ifc4x1::IfcRationalBSplineCurveWithKnots::Class() { return *((IfcParse::entity*)IFC4X1_types[794]); } Ifc4x1::IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(IfcEntityInstanceData&& e) : IfcBSplineCurveWithKnots(std::move(e)) { } -Ifc4x1::IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x1::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x1::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, ::Ifc4x1::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) : IfcBSplineCurveWithKnots(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData));; populate_derived(); } +Ifc4x1::IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x1::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x1::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, ::Ifc4x1::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) : IfcBSplineCurveWithKnots(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData));; populate_derived(); } // Function implementations for IfcRationalBSplineSurfaceWithKnots -std::vector< std::vector< double > > Ifc4x1::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { std::vector< std::vector< double > > v = data_.get_attribute_value(12); return v; } +std::vector< std::vector< double > > Ifc4x1::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { std::vector< std::vector< double > > v = get_attribute_value(12); return v; } void Ifc4x1::IfcRationalBSplineSurfaceWithKnots::setWeightsData(std::vector< std::vector< double > > v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } const IfcParse::entity& Ifc4x1::IfcRationalBSplineSurfaceWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X1_types[795]); } const IfcParse::entity& Ifc4x1::IfcRationalBSplineSurfaceWithKnots::Class() { return *((IfcParse::entity*)IFC4X1_types[795]); } Ifc4x1::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(IfcEntityInstanceData&& e) : IfcBSplineSurfaceWithKnots(std::move(e)) { } -Ifc4x1::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x1::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x1::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, ::Ifc4x1::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) : IfcBSplineSurfaceWithKnots(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x1::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData));; populate_derived(); } +Ifc4x1::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x1::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x1::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, ::Ifc4x1::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) : IfcBSplineSurfaceWithKnots(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x1::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData));; populate_derived(); } // Function implementations for IfcRectangleHollowProfileDef -double Ifc4x1::IfcRectangleHollowProfileDef::WallThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x1::IfcRectangleHollowProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x1::IfcRectangleHollowProfileDef::setWallThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x1::IfcRectangleHollowProfileDef::InnerFilletRadius() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x1::IfcRectangleHollowProfileDef::InnerFilletRadius() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x1::IfcRectangleHollowProfileDef::setInnerFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x1::IfcRectangleHollowProfileDef::OuterFilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x1::IfcRectangleHollowProfileDef::OuterFilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x1::IfcRectangleHollowProfileDef::setOuterFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x1::IfcRectangleHollowProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X1_types[797]); } const IfcParse::entity& Ifc4x1::IfcRectangleHollowProfileDef::Class() { return *((IfcParse::entity*)IFC4X1_types[797]); } Ifc4x1::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(IfcEntityInstanceData&& e) : IfcRectangleProfileDef(std::move(e)) { } -Ifc4x1::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, boost::optional< double > v7_InnerFilletRadius, boost::optional< double > v8_OuterFilletRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; populate_derived(); } +Ifc4x1::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, boost::optional< double > v7_InnerFilletRadius, boost::optional< double > v8_OuterFilletRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; populate_derived(); } // Function implementations for IfcRectangleProfileDef -double Ifc4x1::IfcRectangleProfileDef::XDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x1::IfcRectangleProfileDef::XDim() const { double v = get_attribute_value(3); return v; } void Ifc4x1::IfcRectangleProfileDef::setXDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x1::IfcRectangleProfileDef::YDim() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x1::IfcRectangleProfileDef::YDim() const { double v = get_attribute_value(4); return v; } void Ifc4x1::IfcRectangleProfileDef::setYDim(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x1::IfcRectangleProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X1_types[798]); } const IfcParse::entity& Ifc4x1::IfcRectangleProfileDef::Class() { return *((IfcParse::entity*)IFC4X1_types[798]); } Ifc4x1::IfcRectangleProfileDef::IfcRectangleProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x1::IfcRectangleProfileDef::IfcRectangleProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; populate_derived(); } +Ifc4x1::IfcRectangleProfileDef::IfcRectangleProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; populate_derived(); } // Function implementations for IfcRectangularPyramid -double Ifc4x1::IfcRectangularPyramid::XLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x1::IfcRectangularPyramid::XLength() const { double v = get_attribute_value(1); return v; } void Ifc4x1::IfcRectangularPyramid::setXLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x1::IfcRectangularPyramid::YLength() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x1::IfcRectangularPyramid::YLength() const { double v = get_attribute_value(2); return v; } void Ifc4x1::IfcRectangularPyramid::setYLength(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x1::IfcRectangularPyramid::Height() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x1::IfcRectangularPyramid::Height() const { double v = get_attribute_value(3); return v; } void Ifc4x1::IfcRectangularPyramid::setHeight(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcRectangularPyramid::declaration() const { return *((IfcParse::entity*)IFC4X1_types[799]); } const IfcParse::entity& Ifc4x1::IfcRectangularPyramid::Class() { return *((IfcParse::entity*)IFC4X1_types[799]); } Ifc4x1::IfcRectangularPyramid::IfcRectangularPyramid(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x1::IfcRectangularPyramid::IfcRectangularPyramid(::Ifc4x1::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; populate_derived(); } +Ifc4x1::IfcRectangularPyramid::IfcRectangularPyramid(::Ifc4x1::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; populate_derived(); } // Function implementations for IfcRectangularTrimmedSurface -::Ifc4x1::IfcSurface* Ifc4x1::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcSurface>(true); } +::Ifc4x1::IfcSurface* Ifc4x1::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcSurface>(true); } void Ifc4x1::IfcRectangularTrimmedSurface::setBasisSurface(::Ifc4x1::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x1::IfcRectangularTrimmedSurface::U1() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x1::IfcRectangularTrimmedSurface::U1() const { double v = get_attribute_value(1); return v; } void Ifc4x1::IfcRectangularTrimmedSurface::setU1(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x1::IfcRectangularTrimmedSurface::V1() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x1::IfcRectangularTrimmedSurface::V1() const { double v = get_attribute_value(2); return v; } void Ifc4x1::IfcRectangularTrimmedSurface::setV1(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x1::IfcRectangularTrimmedSurface::U2() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x1::IfcRectangularTrimmedSurface::U2() const { double v = get_attribute_value(3); return v; } void Ifc4x1::IfcRectangularTrimmedSurface::setU2(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x1::IfcRectangularTrimmedSurface::V2() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x1::IfcRectangularTrimmedSurface::V2() const { double v = get_attribute_value(4); return v; } void Ifc4x1::IfcRectangularTrimmedSurface::setV2(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -bool Ifc4x1::IfcRectangularTrimmedSurface::Usense() const { bool v = data_.get_attribute_value(5); return v; } +bool Ifc4x1::IfcRectangularTrimmedSurface::Usense() const { bool v = get_attribute_value(5); return v; } void Ifc4x1::IfcRectangularTrimmedSurface::setUsense(bool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -bool Ifc4x1::IfcRectangularTrimmedSurface::Vsense() const { bool v = data_.get_attribute_value(6); return v; } +bool Ifc4x1::IfcRectangularTrimmedSurface::Vsense() const { bool v = get_attribute_value(6); return v; } void Ifc4x1::IfcRectangularTrimmedSurface::setVsense(bool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x1::IfcRectangularTrimmedSurface::declaration() const { return *((IfcParse::entity*)IFC4X1_types[800]); } const IfcParse::entity& Ifc4x1::IfcRectangularTrimmedSurface::Class() { return *((IfcParse::entity*)IFC4X1_types[800]); } Ifc4x1::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x1::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(::Ifc4x1::IfcSurface* v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; populate_derived(); } +Ifc4x1::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(::Ifc4x1::IfcSurface* v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; populate_derived(); } // Function implementations for IfcRecurrencePattern -::Ifc4x1::IfcRecurrenceTypeEnum::Value Ifc4x1::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x1::IfcRecurrenceTypeEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x1::IfcRecurrenceTypeEnum::Value Ifc4x1::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x1::IfcRecurrenceTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x1::IfcRecurrencePattern::setRecurrenceType(::Ifc4x1::IfcRecurrenceTypeEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x1::IfcRecurrenceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x1::IfcRecurrencePattern::DayComponent() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x1::IfcRecurrencePattern::DayComponent() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x1::IfcRecurrencePattern::setDayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x1::IfcRecurrencePattern::WeekdayComponent() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x1::IfcRecurrencePattern::WeekdayComponent() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(2); return v; } void Ifc4x1::IfcRecurrencePattern::setWeekdayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x1::IfcRecurrencePattern::MonthComponent() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x1::IfcRecurrencePattern::MonthComponent() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x1::IfcRecurrencePattern::setMonthComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< int > Ifc4x1::IfcRecurrencePattern::Position() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x1::IfcRecurrencePattern::Position() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x1::IfcRecurrencePattern::setPosition(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< int > Ifc4x1::IfcRecurrencePattern::Interval() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } int v = data_.get_attribute_value(5); return v; } +boost::optional< int > Ifc4x1::IfcRecurrencePattern::Interval() const { if(get_attribute_value(5).isNull()) { return boost::none; } int v = get_attribute_value(5); return v; } void Ifc4x1::IfcRecurrencePattern::setInterval(boost::optional< int > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< int > Ifc4x1::IfcRecurrencePattern::Occurrences() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } int v = data_.get_attribute_value(6); return v; } +boost::optional< int > Ifc4x1::IfcRecurrencePattern::Occurrences() const { if(get_attribute_value(6).isNull()) { return boost::none; } int v = get_attribute_value(6); return v; } void Ifc4x1::IfcRecurrencePattern::setOccurrences(boost::optional< int > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x1::IfcTimePeriod >::ptr > Ifc4x1::IfcRecurrencePattern::TimePeriods() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x1::IfcTimePeriod >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcTimePeriod >::ptr > Ifc4x1::IfcRecurrencePattern::TimePeriods() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x1::IfcTimePeriod >(); } void Ifc4x1::IfcRecurrencePattern::setTimePeriods(boost::optional< aggregate_of< ::Ifc4x1::IfcTimePeriod >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x1::IfcRecurrencePattern::declaration() const { return *((IfcParse::entity*)IFC4X1_types[801]); } const IfcParse::entity& Ifc4x1::IfcRecurrencePattern::Class() { return *((IfcParse::entity*)IFC4X1_types[801]); } Ifc4x1::IfcRecurrencePattern::IfcRecurrencePattern(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcRecurrencePattern::IfcRecurrencePattern(::Ifc4x1::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< ::Ifc4x1::IfcTimePeriod >::ptr > v8_TimePeriods) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, (*v8_TimePeriods)->generalize()); }; populate_derived(); } +Ifc4x1::IfcRecurrencePattern::IfcRecurrencePattern(::Ifc4x1::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< ::Ifc4x1::IfcTimePeriod >::ptr > v8_TimePeriods) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, (*v8_TimePeriods)->generalize()); }; populate_derived(); } // Function implementations for IfcReference -boost::optional< std::string > Ifc4x1::IfcReference::TypeIdentifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x1::IfcReference::TypeIdentifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcReference::setTypeIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x1::IfcReference::AttributeIdentifier() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x1::IfcReference::AttributeIdentifier() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcReference::setAttributeIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x1::IfcReference::InstanceName() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x1::IfcReference::InstanceName() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcReference::setInstanceName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x1::IfcReference::ListPositions() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x1::IfcReference::ListPositions() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x1::IfcReference::setListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x1::IfcReference* Ifc4x1::IfcReference::InnerReference() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x1::IfcReference>(true); } +::Ifc4x1::IfcReference* Ifc4x1::IfcReference::InnerReference() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x1::IfcReference>(true); } void Ifc4x1::IfcReference::setInnerReference(::Ifc4x1::IfcReference* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x1::IfcReference::declaration() const { return *((IfcParse::entity*)IFC4X1_types[803]); } const IfcParse::entity& Ifc4x1::IfcReference::Class() { return *((IfcParse::entity*)IFC4X1_types[803]); } Ifc4x1::IfcReference::IfcReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::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, ::Ifc4x1::IfcReference* v5_InnerReference) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, v5_InnerReference ? v5_InnerReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::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, ::Ifc4x1::IfcReference* v5_InnerReference) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, v5_InnerReference ? v5_InnerReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcReferent -boost::optional< ::Ifc4x1::IfcReferentTypeEnum::Value > Ifc4x1::IfcReferent::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x1::IfcReferentTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x1::IfcReferentTypeEnum::Value > Ifc4x1::IfcReferent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x1::IfcReferentTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x1::IfcReferent::setPredefinedType(boost::optional< ::Ifc4x1::IfcReferentTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x1::IfcReferentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x1::IfcReferent::RestartDistance() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x1::IfcReferent::RestartDistance() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x1::IfcReferent::setRestartDistance(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcReferent::declaration() const { return *((IfcParse::entity*)IFC4X1_types[804]); } const IfcParse::entity& Ifc4x1::IfcReferent::Class() { return *((IfcParse::entity*)IFC4X1_types[804]); } Ifc4x1::IfcReferent::IfcReferent(IfcEntityInstanceData&& e) : IfcPositioningElement(std::move(e)) { } -Ifc4x1::IfcReferent::IfcReferent(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x1::IfcReferentTypeEnum::Value > v8_PredefinedType, boost::optional< double > v9_RestartDistance) : IfcPositioningElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_RestartDistance) {set_attribute_value(8, (*v9_RestartDistance)); }; populate_derived(); } +Ifc4x1::IfcReferent::IfcReferent(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x1::IfcReferentTypeEnum::Value > v8_PredefinedType, boost::optional< double > v9_RestartDistance) : IfcPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_RestartDistance) {set_attribute_value(8, (*v9_RestartDistance)); }; populate_derived(); } // Function implementations for IfcRegularTimeSeries -double Ifc4x1::IfcRegularTimeSeries::TimeStep() const { double v = data_.get_attribute_value(8); return v; } +double Ifc4x1::IfcRegularTimeSeries::TimeStep() const { double v = get_attribute_value(8); return v; } void Ifc4x1::IfcRegularTimeSeries::setTimeStep(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -aggregate_of< ::Ifc4x1::IfcTimeSeriesValue >::ptr Ifc4x1::IfcRegularTimeSeries::Values() const { aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x1::IfcTimeSeriesValue >(); } +aggregate_of< ::Ifc4x1::IfcTimeSeriesValue >::ptr Ifc4x1::IfcRegularTimeSeries::Values() const { aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x1::IfcTimeSeriesValue >(); } void Ifc4x1::IfcRegularTimeSeries::setValues(aggregate_of< ::Ifc4x1::IfcTimeSeriesValue >::ptr v) { set_attribute_value(9, (v)->generalize());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcRegularTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X1_types[807]); } const IfcParse::entity& Ifc4x1::IfcRegularTimeSeries::Class() { return *((IfcParse::entity*)IFC4X1_types[807]); } Ifc4x1::IfcRegularTimeSeries::IfcRegularTimeSeries(IfcEntityInstanceData&& e) : IfcTimeSeries(std::move(e)) { } -Ifc4x1::IfcRegularTimeSeries::IfcRegularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x1::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x1::IfcUnit* v8_Unit, double v9_TimeStep, aggregate_of< ::Ifc4x1::IfcTimeSeriesValue >::ptr v10_Values) : IfcTimeSeries(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, (v10_Values)->generalize());; populate_derived(); } +Ifc4x1::IfcRegularTimeSeries::IfcRegularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x1::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x1::IfcUnit* v8_Unit, double v9_TimeStep, aggregate_of< ::Ifc4x1::IfcTimeSeriesValue >::ptr v10_Values) : IfcTimeSeries(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, (v10_Values)->generalize());; populate_derived(); } // Function implementations for IfcReinforcementBarProperties -double Ifc4x1::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x1::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = get_attribute_value(0); return v; } void Ifc4x1::IfcReinforcementBarProperties::setTotalCrossSectionArea(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x1::IfcReinforcementBarProperties::SteelGrade() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x1::IfcReinforcementBarProperties::SteelGrade() const { std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcReinforcementBarProperties::setSteelGrade(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x1::IfcReinforcementBarProperties::BarSurface() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x1::IfcReinforcingBarSurfaceEnum::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x1::IfcReinforcementBarProperties::BarSurface() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x1::IfcReinforcingBarSurfaceEnum::FromString(get_attribute_value(2)); } void Ifc4x1::IfcReinforcementBarProperties::setBarSurface(boost::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc4x1::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x1::IfcReinforcementBarProperties::EffectiveDepth() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x1::IfcReinforcementBarProperties::EffectiveDepth() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x1::IfcReinforcementBarProperties::setEffectiveDepth(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x1::IfcReinforcementBarProperties::NominalBarDiameter() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x1::IfcReinforcementBarProperties::NominalBarDiameter() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x1::IfcReinforcementBarProperties::setNominalBarDiameter(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x1::IfcReinforcementBarProperties::BarCount() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x1::IfcReinforcementBarProperties::BarCount() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x1::IfcReinforcementBarProperties::setBarCount(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x1::IfcReinforcementBarProperties::declaration() const { return *((IfcParse::entity*)IFC4X1_types[808]); } const IfcParse::entity& Ifc4x1::IfcReinforcementBarProperties::Class() { return *((IfcParse::entity*)IFC4X1_types[808]); } Ifc4x1::IfcReinforcementBarProperties::IfcReinforcementBarProperties(IfcEntityInstanceData&& e) : IfcPreDefinedProperties(std::move(e)) { } -Ifc4x1::IfcReinforcementBarProperties::IfcReinforcementBarProperties(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, boost::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, boost::optional< double > v4_EffectiveDepth, boost::optional< double > v5_NominalBarDiameter, boost::optional< double > v6_BarCount) : IfcPreDefinedProperties(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (EnumerationReference(&::Ifc4x1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; populate_derived(); } +Ifc4x1::IfcReinforcementBarProperties::IfcReinforcementBarProperties(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, boost::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, boost::optional< double > v4_EffectiveDepth, boost::optional< double > v5_NominalBarDiameter, boost::optional< double > v6_BarCount) : IfcPreDefinedProperties(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (EnumerationReference(&::Ifc4x1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; populate_derived(); } // Function implementations for IfcReinforcementDefinitionProperties -boost::optional< std::string > Ifc4x1::IfcReinforcementDefinitionProperties::DefinitionType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x1::IfcReinforcementDefinitionProperties::DefinitionType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcReinforcementDefinitionProperties::setDefinitionType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -aggregate_of< ::Ifc4x1::IfcSectionReinforcementProperties >::ptr Ifc4x1::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x1::IfcSectionReinforcementProperties >(); } +aggregate_of< ::Ifc4x1::IfcSectionReinforcementProperties >::ptr Ifc4x1::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x1::IfcSectionReinforcementProperties >(); } void Ifc4x1::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(aggregate_of< ::Ifc4x1::IfcSectionReinforcementProperties >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x1::IfcReinforcementDefinitionProperties::declaration() const { return *((IfcParse::entity*)IFC4X1_types[809]); } const IfcParse::entity& Ifc4x1::IfcReinforcementDefinitionProperties::Class() { return *((IfcParse::entity*)IFC4X1_types[809]); } Ifc4x1::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x1::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_DefinitionType, aggregate_of< ::Ifc4x1::IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, (v6_ReinforcementSectionDefinitions)->generalize());; populate_derived(); } +Ifc4x1::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_DefinitionType, aggregate_of< ::Ifc4x1::IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, (v6_ReinforcementSectionDefinitions)->generalize());; populate_derived(); } // Function implementations for IfcReinforcingBar -boost::optional< double > Ifc4x1::IfcReinforcingBar::NominalDiameter() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x1::IfcReinforcingBar::NominalDiameter() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x1::IfcReinforcingBar::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x1::IfcReinforcingBar::CrossSectionArea() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x1::IfcReinforcingBar::CrossSectionArea() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x1::IfcReinforcingBar::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x1::IfcReinforcingBar::BarLength() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x1::IfcReinforcingBar::BarLength() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x1::IfcReinforcingBar::setBarLength(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< ::Ifc4x1::IfcReinforcingBarTypeEnum::Value > Ifc4x1::IfcReinforcingBar::PredefinedType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x1::IfcReinforcingBarTypeEnum::FromString(data_.get_attribute_value(12)); } +boost::optional< ::Ifc4x1::IfcReinforcingBarTypeEnum::Value > Ifc4x1::IfcReinforcingBar::PredefinedType() const { if(get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x1::IfcReinforcingBarTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x1::IfcReinforcingBar::setPredefinedType(boost::optional< ::Ifc4x1::IfcReinforcingBarTypeEnum::Value > v) { if (v) {set_attribute_value(12, EnumerationReference(&::Ifc4x1::IfcReinforcingBarTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } -boost::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x1::IfcReinforcingBar::BarSurface() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x1::IfcReinforcingBarSurfaceEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x1::IfcReinforcingBar::BarSurface() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x1::IfcReinforcingBarSurfaceEnum::FromString(get_attribute_value(13)); } void Ifc4x1::IfcReinforcingBar::setBarSurface(boost::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x1::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } const IfcParse::entity& Ifc4x1::IfcReinforcingBar::declaration() const { return *((IfcParse::entity*)IFC4X1_types[810]); } const IfcParse::entity& Ifc4x1::IfcReinforcingBar::Class() { return *((IfcParse::entity*)IFC4X1_types[810]); } Ifc4x1::IfcReinforcingBar::IfcReinforcingBar(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x1::IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< double > v10_NominalDiameter, boost::optional< double > v11_CrossSectionArea, boost::optional< double > v12_BarLength, boost::optional< ::Ifc4x1::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, boost::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x1::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; populate_derived(); } +Ifc4x1::IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< double > v10_NominalDiameter, boost::optional< double > v11_CrossSectionArea, boost::optional< double > v12_BarLength, boost::optional< ::Ifc4x1::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, boost::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x1::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; populate_derived(); } // Function implementations for IfcReinforcingBarType -::Ifc4x1::IfcReinforcingBarTypeEnum::Value Ifc4x1::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x1::IfcReinforcingBarTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcReinforcingBarTypeEnum::Value Ifc4x1::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x1::IfcReinforcingBarTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcReinforcingBarType::setPredefinedType(::Ifc4x1::IfcReinforcingBarTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcReinforcingBarTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x1::IfcReinforcingBarType::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x1::IfcReinforcingBarType::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x1::IfcReinforcingBarType::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x1::IfcReinforcingBarType::CrossSectionArea() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x1::IfcReinforcingBarType::CrossSectionArea() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x1::IfcReinforcingBarType::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x1::IfcReinforcingBarType::BarLength() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x1::IfcReinforcingBarType::BarLength() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x1::IfcReinforcingBarType::setBarLength(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x1::IfcReinforcingBarType::BarSurface() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x1::IfcReinforcingBarSurfaceEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x1::IfcReinforcingBarType::BarSurface() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x1::IfcReinforcingBarSurfaceEnum::FromString(get_attribute_value(13)); } void Ifc4x1::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x1::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x1::IfcReinforcingBarType::BendingShapeCode() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x1::IfcReinforcingBarType::BendingShapeCode() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x1::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr > Ifc4x1::IfcReinforcingBarType::BendingParameters() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(15); return es->as< ::Ifc4x1::IfcBendingParameterSelect >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr > Ifc4x1::IfcReinforcingBarType::BendingParameters() const { if(get_attribute_value(15).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(15); return es->as< ::Ifc4x1::IfcBendingParameterSelect >(); } void Ifc4x1::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr > v) { if (v) {set_attribute_value(15, (*v)->generalize());} else {unset_attribute_value(15);} } const IfcParse::entity& Ifc4x1::IfcReinforcingBarType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[813]); } const IfcParse::entity& Ifc4x1::IfcReinforcingBarType::Class() { return *((IfcParse::entity*)IFC4X1_types[813]); } Ifc4x1::IfcReinforcingBarType::IfcReinforcingBarType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x1::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, (*v16_BendingParameters)->generalize()); }; populate_derived(); } +Ifc4x1::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, (*v16_BendingParameters)->generalize()); }; populate_derived(); } // Function implementations for IfcReinforcingElement -boost::optional< std::string > Ifc4x1::IfcReinforcingElement::SteelGrade() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x1::IfcReinforcingElement::SteelGrade() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x1::IfcReinforcingElement::setSteelGrade(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcReinforcingElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[815]); } const IfcParse::entity& Ifc4x1::IfcReinforcingElement::Class() { return *((IfcParse::entity*)IFC4X1_types[815]); } Ifc4x1::IfcReinforcingElement::IfcReinforcingElement(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x1::IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; populate_derived(); } +Ifc4x1::IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; populate_derived(); } // Function implementations for IfcReinforcingElementType @@ -13074,233 +13074,233 @@ Ifc4x1::IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x1::IfcReinforcingElementType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[816]); } const IfcParse::entity& Ifc4x1::IfcReinforcingElementType::Class() { return *((IfcParse::entity*)IFC4X1_types[816]); } Ifc4x1::IfcReinforcingElementType::IfcReinforcingElementType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x1::IfcReinforcingElementType::IfcReinforcingElementType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x1::IfcReinforcingElementType::IfcReinforcingElementType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcReinforcingMesh -boost::optional< double > Ifc4x1::IfcReinforcingMesh::MeshLength() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x1::IfcReinforcingMesh::MeshLength() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x1::IfcReinforcingMesh::setMeshLength(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x1::IfcReinforcingMesh::MeshWidth() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x1::IfcReinforcingMesh::MeshWidth() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x1::IfcReinforcingMesh::setMeshWidth(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x1::IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x1::IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x1::IfcReinforcingMesh::setLongitudinalBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x1::IfcReinforcingMesh::TransverseBarNominalDiameter() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x1::IfcReinforcingMesh::TransverseBarNominalDiameter() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x1::IfcReinforcingMesh::setTransverseBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x1::IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x1::IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x1::IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x1::IfcReinforcingMesh::TransverseBarCrossSectionArea() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x1::IfcReinforcingMesh::TransverseBarCrossSectionArea() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x1::IfcReinforcingMesh::setTransverseBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x1::IfcReinforcingMesh::LongitudinalBarSpacing() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x1::IfcReinforcingMesh::LongitudinalBarSpacing() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x1::IfcReinforcingMesh::setLongitudinalBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x1::IfcReinforcingMesh::TransverseBarSpacing() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x1::IfcReinforcingMesh::TransverseBarSpacing() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x1::IfcReinforcingMesh::setTransverseBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< ::Ifc4x1::IfcReinforcingMeshTypeEnum::Value > Ifc4x1::IfcReinforcingMesh::PredefinedType() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } return ::Ifc4x1::IfcReinforcingMeshTypeEnum::FromString(data_.get_attribute_value(17)); } +boost::optional< ::Ifc4x1::IfcReinforcingMeshTypeEnum::Value > Ifc4x1::IfcReinforcingMesh::PredefinedType() const { if(get_attribute_value(17).isNull()) { return boost::none; } return ::Ifc4x1::IfcReinforcingMeshTypeEnum::FromString(get_attribute_value(17)); } void Ifc4x1::IfcReinforcingMesh::setPredefinedType(boost::optional< ::Ifc4x1::IfcReinforcingMeshTypeEnum::Value > v) { if (v) {set_attribute_value(17, EnumerationReference(&::Ifc4x1::IfcReinforcingMeshTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(17);} } const IfcParse::entity& Ifc4x1::IfcReinforcingMesh::declaration() const { return *((IfcParse::entity*)IFC4X1_types[817]); } const IfcParse::entity& Ifc4x1::IfcReinforcingMesh::Class() { return *((IfcParse::entity*)IFC4X1_types[817]); } Ifc4x1::IfcReinforcingMesh::IfcReinforcingMesh(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x1::IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< 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< ::Ifc4x1::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(18))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (EnumerationReference(&::Ifc4x1::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< 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< ::Ifc4x1::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(18))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (EnumerationReference(&::Ifc4x1::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); }; populate_derived(); } // Function implementations for IfcReinforcingMeshType -::Ifc4x1::IfcReinforcingMeshTypeEnum::Value Ifc4x1::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x1::IfcReinforcingMeshTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcReinforcingMeshTypeEnum::Value Ifc4x1::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x1::IfcReinforcingMeshTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcReinforcingMeshType::setPredefinedType(::Ifc4x1::IfcReinforcingMeshTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcReinforcingMeshTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x1::IfcReinforcingMeshType::MeshLength() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x1::IfcReinforcingMeshType::MeshLength() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x1::IfcReinforcingMeshType::setMeshLength(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x1::IfcReinforcingMeshType::MeshWidth() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x1::IfcReinforcingMeshType::MeshWidth() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x1::IfcReinforcingMeshType::setMeshWidth(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x1::IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x1::IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x1::IfcReinforcingMeshType::setLongitudinalBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x1::IfcReinforcingMeshType::TransverseBarNominalDiameter() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x1::IfcReinforcingMeshType::TransverseBarNominalDiameter() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x1::IfcReinforcingMeshType::setTransverseBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x1::IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x1::IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x1::IfcReinforcingMeshType::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x1::IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x1::IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x1::IfcReinforcingMeshType::setTransverseBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x1::IfcReinforcingMeshType::LongitudinalBarSpacing() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x1::IfcReinforcingMeshType::LongitudinalBarSpacing() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x1::IfcReinforcingMeshType::setLongitudinalBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< double > Ifc4x1::IfcReinforcingMeshType::TransverseBarSpacing() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } double v = data_.get_attribute_value(17); return v; } +boost::optional< double > Ifc4x1::IfcReinforcingMeshType::TransverseBarSpacing() const { if(get_attribute_value(17).isNull()) { return boost::none; } double v = get_attribute_value(17); return v; } void Ifc4x1::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } -boost::optional< std::string > Ifc4x1::IfcReinforcingMeshType::BendingShapeCode() const { if(data_.get_attribute_value(18).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(18); return v; } +boost::optional< std::string > Ifc4x1::IfcReinforcingMeshType::BendingShapeCode() const { if(get_attribute_value(18).isNull()) { return boost::none; } std::string v = get_attribute_value(18); return v; } void Ifc4x1::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { if (v) {set_attribute_value(18, *v);} else {unset_attribute_value(18);} } -boost::optional< aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr > Ifc4x1::IfcReinforcingMeshType::BendingParameters() const { if(data_.get_attribute_value(19).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(19); return es->as< ::Ifc4x1::IfcBendingParameterSelect >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr > Ifc4x1::IfcReinforcingMeshType::BendingParameters() const { if(get_attribute_value(19).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(19); return es->as< ::Ifc4x1::IfcBendingParameterSelect >(); } void Ifc4x1::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr > v) { if (v) {set_attribute_value(19, (*v)->generalize());} else {unset_attribute_value(19);} } const IfcParse::entity& Ifc4x1::IfcReinforcingMeshType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[818]); } const IfcParse::entity& Ifc4x1::IfcReinforcingMeshType::Class() { return *((IfcParse::entity*)IFC4X1_types[818]); } Ifc4x1::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x1::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(20))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, (*v20_BendingParameters)->generalize()); }; populate_derived(); } +Ifc4x1::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x1::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(20))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, (*v20_BendingParameters)->generalize()); }; populate_derived(); } // Function implementations for IfcRelAggregates -::Ifc4x1::IfcObjectDefinition* Ifc4x1::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x1::IfcObjectDefinition>(true); } +::Ifc4x1::IfcObjectDefinition* Ifc4x1::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x1::IfcObjectDefinition>(true); } void Ifc4x1::IfcRelAggregates::setRelatingObject(::Ifc4x1::IfcObjectDefinition* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr Ifc4x1::IfcRelAggregates::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x1::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr Ifc4x1::IfcRelAggregates::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x1::IfcObjectDefinition >(); } void Ifc4x1::IfcRelAggregates::setRelatedObjects(aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x1::IfcRelAggregates::declaration() const { return *((IfcParse::entity*)IFC4X1_types[820]); } const IfcParse::entity& Ifc4x1::IfcRelAggregates::Class() { return *((IfcParse::entity*)IFC4X1_types[820]); } Ifc4x1::IfcRelAggregates::IfcRelAggregates(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x1::IfcRelAggregates::IfcRelAggregates(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } +Ifc4x1::IfcRelAggregates::IfcRelAggregates(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelAssigns -aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr Ifc4x1::IfcRelAssigns::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x1::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr Ifc4x1::IfcRelAssigns::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x1::IfcObjectDefinition >(); } void Ifc4x1::IfcRelAssigns::setRelatedObjects(aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -boost::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > Ifc4x1::IfcRelAssigns::RelatedObjectsType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x1::IfcObjectTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > Ifc4x1::IfcRelAssigns::RelatedObjectsType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x1::IfcObjectTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x1::IfcRelAssigns::setRelatedObjectsType(boost::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x1::IfcObjectTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x1::IfcRelAssigns::declaration() const { return *((IfcParse::entity*)IFC4X1_types[821]); } const IfcParse::entity& Ifc4x1::IfcRelAssigns::Class() { return *((IfcParse::entity*)IFC4X1_types[821]); } Ifc4x1::IfcRelAssigns::IfcRelAssigns(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x1::IfcRelAssigns::IfcRelAssigns(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) : IfcRelationship(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }; populate_derived(); } +Ifc4x1::IfcRelAssigns::IfcRelAssigns(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }; populate_derived(); } // Function implementations for IfcRelAssignsToActor -::Ifc4x1::IfcActor* Ifc4x1::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x1::IfcActor>(true); } +::Ifc4x1::IfcActor* Ifc4x1::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x1::IfcActor>(true); } void Ifc4x1::IfcRelAssignsToActor::setRelatingActor(::Ifc4x1::IfcActor* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x1::IfcActorRole* Ifc4x1::IfcRelAssignsToActor::ActingRole() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x1::IfcActorRole>(true); } +::Ifc4x1::IfcActorRole* Ifc4x1::IfcRelAssignsToActor::ActingRole() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x1::IfcActorRole>(true); } void Ifc4x1::IfcRelAssignsToActor::setActingRole(::Ifc4x1::IfcActorRole* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x1::IfcRelAssignsToActor::declaration() const { return *((IfcParse::entity*)IFC4X1_types[822]); } const IfcParse::entity& Ifc4x1::IfcRelAssignsToActor::Class() { return *((IfcParse::entity*)IFC4X1_types[822]); } Ifc4x1::IfcRelAssignsToActor::IfcRelAssignsToActor(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x1::IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcActor* v7_RelatingActor, ::Ifc4x1::IfcActorRole* v8_ActingRole) : IfcRelAssigns(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingActor ? v7_RelatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_ActingRole ? v8_ActingRole->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcActor* v7_RelatingActor, ::Ifc4x1::IfcActorRole* v8_ActingRole) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingActor ? v7_RelatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_ActingRole ? v8_ActingRole->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToControl -::Ifc4x1::IfcControl* Ifc4x1::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x1::IfcControl>(true); } +::Ifc4x1::IfcControl* Ifc4x1::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x1::IfcControl>(true); } void Ifc4x1::IfcRelAssignsToControl::setRelatingControl(::Ifc4x1::IfcControl* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x1::IfcRelAssignsToControl::declaration() const { return *((IfcParse::entity*)IFC4X1_types[823]); } const IfcParse::entity& Ifc4x1::IfcRelAssignsToControl::Class() { return *((IfcParse::entity*)IFC4X1_types[823]); } Ifc4x1::IfcRelAssignsToControl::IfcRelAssignsToControl(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x1::IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcControl* v7_RelatingControl) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingControl ? v7_RelatingControl->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcControl* v7_RelatingControl) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingControl ? v7_RelatingControl->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToGroup -::Ifc4x1::IfcGroup* Ifc4x1::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x1::IfcGroup>(true); } +::Ifc4x1::IfcGroup* Ifc4x1::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x1::IfcGroup>(true); } void Ifc4x1::IfcRelAssignsToGroup::setRelatingGroup(::Ifc4x1::IfcGroup* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x1::IfcRelAssignsToGroup::declaration() const { return *((IfcParse::entity*)IFC4X1_types[824]); } const IfcParse::entity& Ifc4x1::IfcRelAssignsToGroup::Class() { return *((IfcParse::entity*)IFC4X1_types[824]); } Ifc4x1::IfcRelAssignsToGroup::IfcRelAssignsToGroup(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x1::IfcRelAssignsToGroup::IfcRelAssignsToGroup(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcGroup* v7_RelatingGroup) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcRelAssignsToGroup::IfcRelAssignsToGroup(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcGroup* v7_RelatingGroup) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToGroupByFactor -double Ifc4x1::IfcRelAssignsToGroupByFactor::Factor() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x1::IfcRelAssignsToGroupByFactor::Factor() const { double v = get_attribute_value(7); return v; } void Ifc4x1::IfcRelAssignsToGroupByFactor::setFactor(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x1::IfcRelAssignsToGroupByFactor::declaration() const { return *((IfcParse::entity*)IFC4X1_types[825]); } const IfcParse::entity& Ifc4x1::IfcRelAssignsToGroupByFactor::Class() { return *((IfcParse::entity*)IFC4X1_types[825]); } Ifc4x1::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(IfcEntityInstanceData&& e) : IfcRelAssignsToGroup(std::move(e)) { } -Ifc4x1::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcGroup* v7_RelatingGroup, double v8_Factor) : IfcRelAssignsToGroup(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_Factor));; populate_derived(); } +Ifc4x1::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcGroup* v7_RelatingGroup, double v8_Factor) : IfcRelAssignsToGroup(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_Factor));; populate_derived(); } // Function implementations for IfcRelAssignsToProcess -::Ifc4x1::IfcProcessSelect* Ifc4x1::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x1::IfcProcessSelect>(true); } +::Ifc4x1::IfcProcessSelect* Ifc4x1::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x1::IfcProcessSelect>(true); } void Ifc4x1::IfcRelAssignsToProcess::setRelatingProcess(::Ifc4x1::IfcProcessSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x1::IfcMeasureWithUnit* Ifc4x1::IfcRelAssignsToProcess::QuantityInProcess() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x1::IfcMeasureWithUnit>(true); } +::Ifc4x1::IfcMeasureWithUnit* Ifc4x1::IfcRelAssignsToProcess::QuantityInProcess() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x1::IfcMeasureWithUnit>(true); } void Ifc4x1::IfcRelAssignsToProcess::setQuantityInProcess(::Ifc4x1::IfcMeasureWithUnit* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x1::IfcRelAssignsToProcess::declaration() const { return *((IfcParse::entity*)IFC4X1_types[826]); } const IfcParse::entity& Ifc4x1::IfcRelAssignsToProcess::Class() { return *((IfcParse::entity*)IFC4X1_types[826]); } Ifc4x1::IfcRelAssignsToProcess::IfcRelAssignsToProcess(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x1::IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcProcessSelect* v7_RelatingProcess, ::Ifc4x1::IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProcess ? v7_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_QuantityInProcess ? v8_QuantityInProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcProcessSelect* v7_RelatingProcess, ::Ifc4x1::IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProcess ? v7_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_QuantityInProcess ? v8_QuantityInProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToProduct -::Ifc4x1::IfcProductSelect* Ifc4x1::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x1::IfcProductSelect>(true); } +::Ifc4x1::IfcProductSelect* Ifc4x1::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x1::IfcProductSelect>(true); } void Ifc4x1::IfcRelAssignsToProduct::setRelatingProduct(::Ifc4x1::IfcProductSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x1::IfcRelAssignsToProduct::declaration() const { return *((IfcParse::entity*)IFC4X1_types[827]); } const IfcParse::entity& Ifc4x1::IfcRelAssignsToProduct::Class() { return *((IfcParse::entity*)IFC4X1_types[827]); } Ifc4x1::IfcRelAssignsToProduct::IfcRelAssignsToProduct(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x1::IfcRelAssignsToProduct::IfcRelAssignsToProduct(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcProductSelect* v7_RelatingProduct) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProduct ? v7_RelatingProduct->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcRelAssignsToProduct::IfcRelAssignsToProduct(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcProductSelect* v7_RelatingProduct) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProduct ? v7_RelatingProduct->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToResource -::Ifc4x1::IfcResourceSelect* Ifc4x1::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x1::IfcResourceSelect>(true); } +::Ifc4x1::IfcResourceSelect* Ifc4x1::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x1::IfcResourceSelect>(true); } void Ifc4x1::IfcRelAssignsToResource::setRelatingResource(::Ifc4x1::IfcResourceSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x1::IfcRelAssignsToResource::declaration() const { return *((IfcParse::entity*)IFC4X1_types[828]); } const IfcParse::entity& Ifc4x1::IfcRelAssignsToResource::Class() { return *((IfcParse::entity*)IFC4X1_types[828]); } Ifc4x1::IfcRelAssignsToResource::IfcRelAssignsToResource(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x1::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingResource ? v7_RelatingResource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x1::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingResource ? v7_RelatingResource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociates -aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr Ifc4x1::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x1::IfcDefinitionSelect >(); } +aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr Ifc4x1::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x1::IfcDefinitionSelect >(); } void Ifc4x1::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x1::IfcRelAssociates::declaration() const { return *((IfcParse::entity*)IFC4X1_types[829]); } const IfcParse::entity& Ifc4x1::IfcRelAssociates::Class() { return *((IfcParse::entity*)IFC4X1_types[829]); } Ifc4x1::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x1::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());; populate_derived(); } +Ifc4x1::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelAssociatesApproval -::Ifc4x1::IfcApproval* Ifc4x1::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcApproval>(true); } +::Ifc4x1::IfcApproval* Ifc4x1::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcApproval>(true); } void Ifc4x1::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4x1::IfcApproval* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x1::IfcRelAssociatesApproval::declaration() const { return *((IfcParse::entity*)IFC4X1_types[830]); } const IfcParse::entity& Ifc4x1::IfcRelAssociatesApproval::Class() { return *((IfcParse::entity*)IFC4X1_types[830]); } Ifc4x1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x1::IfcApproval* v6_RelatingApproval) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingApproval ? v6_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x1::IfcApproval* v6_RelatingApproval) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingApproval ? v6_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesClassification -::Ifc4x1::IfcClassificationSelect* Ifc4x1::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcClassificationSelect>(true); } +::Ifc4x1::IfcClassificationSelect* Ifc4x1::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcClassificationSelect>(true); } void Ifc4x1::IfcRelAssociatesClassification::setRelatingClassification(::Ifc4x1::IfcClassificationSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x1::IfcRelAssociatesClassification::declaration() const { return *((IfcParse::entity*)IFC4X1_types[831]); } const IfcParse::entity& Ifc4x1::IfcRelAssociatesClassification::Class() { return *((IfcParse::entity*)IFC4X1_types[831]); } Ifc4x1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x1::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingClassification ? v6_RelatingClassification->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x1::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingClassification ? v6_RelatingClassification->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesConstraint -boost::optional< std::string > Ifc4x1::IfcRelAssociatesConstraint::Intent() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x1::IfcRelAssociatesConstraint::Intent() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcRelAssociatesConstraint::setIntent(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x1::IfcConstraint* Ifc4x1::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x1::IfcConstraint>(true); } +::Ifc4x1::IfcConstraint* Ifc4x1::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x1::IfcConstraint>(true); } void Ifc4x1::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x1::IfcConstraint* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x1::IfcRelAssociatesConstraint::declaration() const { return *((IfcParse::entity*)IFC4X1_types[832]); } const IfcParse::entity& Ifc4x1::IfcRelAssociatesConstraint::Class() { return *((IfcParse::entity*)IFC4X1_types[832]); } Ifc4x1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x1::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, v7_RelatingConstraint ? v7_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x1::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, v7_RelatingConstraint ? v7_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesDocument -::Ifc4x1::IfcDocumentSelect* Ifc4x1::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcDocumentSelect>(true); } +::Ifc4x1::IfcDocumentSelect* Ifc4x1::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcDocumentSelect>(true); } void Ifc4x1::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4x1::IfcDocumentSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x1::IfcRelAssociatesDocument::declaration() const { return *((IfcParse::entity*)IFC4X1_types[833]); } const IfcParse::entity& Ifc4x1::IfcRelAssociatesDocument::Class() { return *((IfcParse::entity*)IFC4X1_types[833]); } Ifc4x1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x1::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingDocument ? v6_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x1::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingDocument ? v6_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesLibrary -::Ifc4x1::IfcLibrarySelect* Ifc4x1::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcLibrarySelect>(true); } +::Ifc4x1::IfcLibrarySelect* Ifc4x1::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcLibrarySelect>(true); } void Ifc4x1::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4x1::IfcLibrarySelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x1::IfcRelAssociatesLibrary::declaration() const { return *((IfcParse::entity*)IFC4X1_types[834]); } const IfcParse::entity& Ifc4x1::IfcRelAssociatesLibrary::Class() { return *((IfcParse::entity*)IFC4X1_types[834]); } Ifc4x1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x1::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingLibrary ? v6_RelatingLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x1::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingLibrary ? v6_RelatingLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesMaterial -::Ifc4x1::IfcMaterialSelect* Ifc4x1::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcMaterialSelect>(true); } +::Ifc4x1::IfcMaterialSelect* Ifc4x1::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcMaterialSelect>(true); } void Ifc4x1::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4x1::IfcMaterialSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x1::IfcRelAssociatesMaterial::declaration() const { return *((IfcParse::entity*)IFC4X1_types[835]); } const IfcParse::entity& Ifc4x1::IfcRelAssociatesMaterial::Class() { return *((IfcParse::entity*)IFC4X1_types[835]); } Ifc4x1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x1::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingMaterial ? v6_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x1::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingMaterial ? v6_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnects @@ -13308,165 +13308,165 @@ Ifc4x1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_Global const IfcParse::entity& Ifc4x1::IfcRelConnects::declaration() const { return *((IfcParse::entity*)IFC4X1_types[837]); } const IfcParse::entity& Ifc4x1::IfcRelConnects::Class() { return *((IfcParse::entity*)IFC4X1_types[837]); } Ifc4x1::IfcRelConnects::IfcRelConnects(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x1::IfcRelConnects::IfcRelConnects(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x1::IfcRelConnects::IfcRelConnects(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRelConnectsElements -::Ifc4x1::IfcConnectionGeometry* Ifc4x1::IfcRelConnectsElements::ConnectionGeometry() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x1::IfcConnectionGeometry>(true); } +::Ifc4x1::IfcConnectionGeometry* Ifc4x1::IfcRelConnectsElements::ConnectionGeometry() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x1::IfcConnectionGeometry>(true); } void Ifc4x1::IfcRelConnectsElements::setConnectionGeometry(::Ifc4x1::IfcConnectionGeometry* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcElement* Ifc4x1::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcElement>(true); } +::Ifc4x1::IfcElement* Ifc4x1::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcElement>(true); } void Ifc4x1::IfcRelConnectsElements::setRelatingElement(::Ifc4x1::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x1::IfcElement* Ifc4x1::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x1::IfcElement>(true); } +::Ifc4x1::IfcElement* Ifc4x1::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x1::IfcElement>(true); } void Ifc4x1::IfcRelConnectsElements::setRelatedElement(::Ifc4x1::IfcElement* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x1::IfcRelConnectsElements::declaration() const { return *((IfcParse::entity*)IFC4X1_types[838]); } const IfcParse::entity& Ifc4x1::IfcRelConnectsElements::Class() { return *((IfcParse::entity*)IFC4X1_types[838]); } Ifc4x1::IfcRelConnectsElements::IfcRelConnectsElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x1::IfcRelConnectsElements::IfcRelConnectsElements(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x1::IfcElement* v6_RelatingElement, ::Ifc4x1::IfcElement* v7_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcRelConnectsElements::IfcRelConnectsElements(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x1::IfcElement* v6_RelatingElement, ::Ifc4x1::IfcElement* v7_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsPathElements -std::vector< int > /*[0:?]*/ Ifc4x1::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = data_.get_attribute_value(7); return v; } +std::vector< int > /*[0:?]*/ Ifc4x1::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(7); return v; } void Ifc4x1::IfcRelConnectsPathElements::setRelatingPriorities(std::vector< int > /*[0:?]*/ v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector< int > /*[0:?]*/ Ifc4x1::IfcRelConnectsPathElements::RelatedPriorities() const { std::vector< int > /*[0:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< int > /*[0:?]*/ Ifc4x1::IfcRelConnectsPathElements::RelatedPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(8); return v; } void Ifc4x1::IfcRelConnectsPathElements::setRelatedPriorities(std::vector< int > /*[0:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc4x1::IfcConnectionTypeEnum::Value Ifc4x1::IfcRelConnectsPathElements::RelatedConnectionType() const { return ::Ifc4x1::IfcConnectionTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcConnectionTypeEnum::Value Ifc4x1::IfcRelConnectsPathElements::RelatedConnectionType() const { return ::Ifc4x1::IfcConnectionTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcRelConnectsPathElements::setRelatedConnectionType(::Ifc4x1::IfcConnectionTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x1::IfcConnectionTypeEnum::Value Ifc4x1::IfcRelConnectsPathElements::RelatingConnectionType() const { return ::Ifc4x1::IfcConnectionTypeEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x1::IfcConnectionTypeEnum::Value Ifc4x1::IfcRelConnectsPathElements::RelatingConnectionType() const { return ::Ifc4x1::IfcConnectionTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x1::IfcRelConnectsPathElements::setRelatingConnectionType(::Ifc4x1::IfcConnectionTypeEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x1::IfcConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x1::IfcRelConnectsPathElements::declaration() const { return *((IfcParse::entity*)IFC4X1_types[839]); } const IfcParse::entity& Ifc4x1::IfcRelConnectsPathElements::Class() { return *((IfcParse::entity*)IFC4X1_types[839]); } Ifc4x1::IfcRelConnectsPathElements::IfcRelConnectsPathElements(IfcEntityInstanceData&& e) : IfcRelConnectsElements(std::move(e)) { } -Ifc4x1::IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x1::IfcElement* v6_RelatingElement, ::Ifc4x1::IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x1::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x1::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; populate_derived(); } +Ifc4x1::IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x1::IfcElement* v6_RelatingElement, ::Ifc4x1::IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x1::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x1::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; populate_derived(); } // Function implementations for IfcRelConnectsPortToElement -::Ifc4x1::IfcPort* Ifc4x1::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x1::IfcPort>(true); } +::Ifc4x1::IfcPort* Ifc4x1::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x1::IfcPort>(true); } void Ifc4x1::IfcRelConnectsPortToElement::setRelatingPort(::Ifc4x1::IfcPort* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcDistributionElement* Ifc4x1::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcDistributionElement>(true); } +::Ifc4x1::IfcDistributionElement* Ifc4x1::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcDistributionElement>(true); } void Ifc4x1::IfcRelConnectsPortToElement::setRelatedElement(::Ifc4x1::IfcDistributionElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x1::IfcRelConnectsPortToElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[841]); } const IfcParse::entity& Ifc4x1::IfcRelConnectsPortToElement::Class() { return *((IfcParse::entity*)IFC4X1_types[841]); } Ifc4x1::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x1::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcPort* v5_RelatingPort, ::Ifc4x1::IfcDistributionElement* v6_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcPort* v5_RelatingPort, ::Ifc4x1::IfcDistributionElement* v6_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsPorts -::Ifc4x1::IfcPort* Ifc4x1::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x1::IfcPort>(true); } +::Ifc4x1::IfcPort* Ifc4x1::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x1::IfcPort>(true); } void Ifc4x1::IfcRelConnectsPorts::setRelatingPort(::Ifc4x1::IfcPort* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcPort* Ifc4x1::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcPort>(true); } +::Ifc4x1::IfcPort* Ifc4x1::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcPort>(true); } void Ifc4x1::IfcRelConnectsPorts::setRelatedPort(::Ifc4x1::IfcPort* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x1::IfcElement* Ifc4x1::IfcRelConnectsPorts::RealizingElement() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x1::IfcElement>(true); } +::Ifc4x1::IfcElement* Ifc4x1::IfcRelConnectsPorts::RealizingElement() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x1::IfcElement>(true); } void Ifc4x1::IfcRelConnectsPorts::setRealizingElement(::Ifc4x1::IfcElement* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x1::IfcRelConnectsPorts::declaration() const { return *((IfcParse::entity*)IFC4X1_types[840]); } const IfcParse::entity& Ifc4x1::IfcRelConnectsPorts::Class() { return *((IfcParse::entity*)IFC4X1_types[840]); } Ifc4x1::IfcRelConnectsPorts::IfcRelConnectsPorts(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x1::IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcPort* v5_RelatingPort, ::Ifc4x1::IfcPort* v6_RelatedPort, ::Ifc4x1::IfcElement* v7_RealizingElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedPort ? v6_RelatedPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RealizingElement ? v7_RealizingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcPort* v5_RelatingPort, ::Ifc4x1::IfcPort* v6_RelatedPort, ::Ifc4x1::IfcElement* v7_RealizingElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedPort ? v6_RelatedPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RealizingElement ? v7_RealizingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsStructuralActivity -::Ifc4x1::IfcStructuralActivityAssignmentSelect* Ifc4x1::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x1::IfcStructuralActivityAssignmentSelect>(true); } +::Ifc4x1::IfcStructuralActivityAssignmentSelect* Ifc4x1::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x1::IfcStructuralActivityAssignmentSelect>(true); } void Ifc4x1::IfcRelConnectsStructuralActivity::setRelatingElement(::Ifc4x1::IfcStructuralActivityAssignmentSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcStructuralActivity* Ifc4x1::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcStructuralActivity>(true); } +::Ifc4x1::IfcStructuralActivity* Ifc4x1::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcStructuralActivity>(true); } void Ifc4x1::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(::Ifc4x1::IfcStructuralActivity* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x1::IfcRelConnectsStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC4X1_types[842]); } const IfcParse::entity& Ifc4x1::IfcRelConnectsStructuralActivity::Class() { return *((IfcParse::entity*)IFC4X1_types[842]); } Ifc4x1::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x1::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcStructuralActivityAssignmentSelect* v5_RelatingElement, ::Ifc4x1::IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralActivity ? v6_RelatedStructuralActivity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcStructuralActivityAssignmentSelect* v5_RelatingElement, ::Ifc4x1::IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralActivity ? v6_RelatedStructuralActivity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsStructuralMember -::Ifc4x1::IfcStructuralMember* Ifc4x1::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x1::IfcStructuralMember>(true); } +::Ifc4x1::IfcStructuralMember* Ifc4x1::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x1::IfcStructuralMember>(true); } void Ifc4x1::IfcRelConnectsStructuralMember::setRelatingStructuralMember(::Ifc4x1::IfcStructuralMember* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcStructuralConnection* Ifc4x1::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcStructuralConnection>(true); } +::Ifc4x1::IfcStructuralConnection* Ifc4x1::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcStructuralConnection>(true); } void Ifc4x1::IfcRelConnectsStructuralMember::setRelatedStructuralConnection(::Ifc4x1::IfcStructuralConnection* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x1::IfcBoundaryCondition* Ifc4x1::IfcRelConnectsStructuralMember::AppliedCondition() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x1::IfcBoundaryCondition>(true); } +::Ifc4x1::IfcBoundaryCondition* Ifc4x1::IfcRelConnectsStructuralMember::AppliedCondition() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x1::IfcBoundaryCondition>(true); } void Ifc4x1::IfcRelConnectsStructuralMember::setAppliedCondition(::Ifc4x1::IfcBoundaryCondition* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x1::IfcStructuralConnectionCondition* Ifc4x1::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x1::IfcStructuralConnectionCondition>(true); } +::Ifc4x1::IfcStructuralConnectionCondition* Ifc4x1::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x1::IfcStructuralConnectionCondition>(true); } void Ifc4x1::IfcRelConnectsStructuralMember::setAdditionalConditions(::Ifc4x1::IfcStructuralConnectionCondition* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc4x1::IfcRelConnectsStructuralMember::SupportedLength() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x1::IfcRelConnectsStructuralMember::SupportedLength() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x1::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x1::IfcAxis2Placement3D>(true); } +::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x1::IfcAxis2Placement3D>(true); } void Ifc4x1::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(::Ifc4x1::IfcAxis2Placement3D* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcRelConnectsStructuralMember::declaration() const { return *((IfcParse::entity*)IFC4X1_types[843]); } const IfcParse::entity& Ifc4x1::IfcRelConnectsStructuralMember::Class() { return *((IfcParse::entity*)IFC4X1_types[843]); } Ifc4x1::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x1::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x1::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x1::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x1::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x1::IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x1::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x1::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x1::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x1::IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsWithEccentricity -::Ifc4x1::IfcConnectionGeometry* Ifc4x1::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x1::IfcConnectionGeometry>(true); } +::Ifc4x1::IfcConnectionGeometry* Ifc4x1::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x1::IfcConnectionGeometry>(true); } void Ifc4x1::IfcRelConnectsWithEccentricity::setConnectionConstraint(::Ifc4x1::IfcConnectionGeometry* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x1::IfcRelConnectsWithEccentricity::declaration() const { return *((IfcParse::entity*)IFC4X1_types[844]); } const IfcParse::entity& Ifc4x1::IfcRelConnectsWithEccentricity::Class() { return *((IfcParse::entity*)IFC4X1_types[844]); } Ifc4x1::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(IfcEntityInstanceData&& e) : IfcRelConnectsStructuralMember(std::move(e)) { } -Ifc4x1::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x1::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x1::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x1::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x1::IfcAxis2Placement3D* v10_ConditionCoordinateSystem, ::Ifc4x1::IfcConnectionGeometry* v11_ConnectionConstraint) : IfcRelConnectsStructuralMember(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ConnectionConstraint ? v11_ConnectionConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x1::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x1::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x1::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x1::IfcAxis2Placement3D* v10_ConditionCoordinateSystem, ::Ifc4x1::IfcConnectionGeometry* v11_ConnectionConstraint) : IfcRelConnectsStructuralMember(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ConnectionConstraint ? v11_ConnectionConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsWithRealizingElements -aggregate_of< ::Ifc4x1::IfcElement >::ptr Ifc4x1::IfcRelConnectsWithRealizingElements::RealizingElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x1::IfcElement >(); } +aggregate_of< ::Ifc4x1::IfcElement >::ptr Ifc4x1::IfcRelConnectsWithRealizingElements::RealizingElements() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x1::IfcElement >(); } void Ifc4x1::IfcRelConnectsWithRealizingElements::setRealizingElements(aggregate_of< ::Ifc4x1::IfcElement >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc4x1::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x1::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x1::IfcRelConnectsWithRealizingElements::setConnectionType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcRelConnectsWithRealizingElements::declaration() const { return *((IfcParse::entity*)IFC4X1_types[845]); } const IfcParse::entity& Ifc4x1::IfcRelConnectsWithRealizingElements::Class() { return *((IfcParse::entity*)IFC4X1_types[845]); } Ifc4x1::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(IfcEntityInstanceData&& e) : IfcRelConnectsElements(std::move(e)) { } -Ifc4x1::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x1::IfcElement* v6_RelatingElement, ::Ifc4x1::IfcElement* v7_RelatedElement, aggregate_of< ::Ifc4x1::IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RealizingElements)->generalize()); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; populate_derived(); } +Ifc4x1::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x1::IfcElement* v6_RelatingElement, ::Ifc4x1::IfcElement* v7_RelatedElement, aggregate_of< ::Ifc4x1::IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RealizingElements)->generalize()); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; populate_derived(); } // Function implementations for IfcRelContainedInSpatialStructure -aggregate_of< ::Ifc4x1::IfcProduct >::ptr Ifc4x1::IfcRelContainedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x1::IfcProduct >(); } +aggregate_of< ::Ifc4x1::IfcProduct >::ptr Ifc4x1::IfcRelContainedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x1::IfcProduct >(); } void Ifc4x1::IfcRelContainedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x1::IfcProduct >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcSpatialElement* Ifc4x1::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcSpatialElement>(true); } +::Ifc4x1::IfcSpatialElement* Ifc4x1::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcSpatialElement>(true); } void Ifc4x1::IfcRelContainedInSpatialStructure::setRelatingStructure(::Ifc4x1::IfcSpatialElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x1::IfcRelContainedInSpatialStructure::declaration() const { return *((IfcParse::entity*)IFC4X1_types[846]); } const IfcParse::entity& Ifc4x1::IfcRelContainedInSpatialStructure::Class() { return *((IfcParse::entity*)IFC4X1_types[846]); } Ifc4x1::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x1::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcProduct >::ptr v5_RelatedElements, ::Ifc4x1::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcProduct >::ptr v5_RelatedElements, ::Ifc4x1::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelCoversBldgElements -::Ifc4x1::IfcElement* Ifc4x1::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x1::IfcElement>(true); } +::Ifc4x1::IfcElement* Ifc4x1::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x1::IfcElement>(true); } void Ifc4x1::IfcRelCoversBldgElements::setRelatingBuildingElement(::Ifc4x1::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x1::IfcCovering >::ptr Ifc4x1::IfcRelCoversBldgElements::RelatedCoverings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x1::IfcCovering >(); } +aggregate_of< ::Ifc4x1::IfcCovering >::ptr Ifc4x1::IfcRelCoversBldgElements::RelatedCoverings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x1::IfcCovering >(); } void Ifc4x1::IfcRelCoversBldgElements::setRelatedCoverings(aggregate_of< ::Ifc4x1::IfcCovering >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x1::IfcRelCoversBldgElements::declaration() const { return *((IfcParse::entity*)IFC4X1_types[847]); } const IfcParse::entity& Ifc4x1::IfcRelCoversBldgElements::Class() { return *((IfcParse::entity*)IFC4X1_types[847]); } Ifc4x1::IfcRelCoversBldgElements::IfcRelCoversBldgElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x1::IfcRelCoversBldgElements::IfcRelCoversBldgElements(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcElement* v5_RelatingBuildingElement, aggregate_of< ::Ifc4x1::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } +Ifc4x1::IfcRelCoversBldgElements::IfcRelCoversBldgElements(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcElement* v5_RelatingBuildingElement, aggregate_of< ::Ifc4x1::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } // Function implementations for IfcRelCoversSpaces -::Ifc4x1::IfcSpace* Ifc4x1::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x1::IfcSpace>(true); } +::Ifc4x1::IfcSpace* Ifc4x1::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x1::IfcSpace>(true); } void Ifc4x1::IfcRelCoversSpaces::setRelatingSpace(::Ifc4x1::IfcSpace* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x1::IfcCovering >::ptr Ifc4x1::IfcRelCoversSpaces::RelatedCoverings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x1::IfcCovering >(); } +aggregate_of< ::Ifc4x1::IfcCovering >::ptr Ifc4x1::IfcRelCoversSpaces::RelatedCoverings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x1::IfcCovering >(); } void Ifc4x1::IfcRelCoversSpaces::setRelatedCoverings(aggregate_of< ::Ifc4x1::IfcCovering >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x1::IfcRelCoversSpaces::declaration() const { return *((IfcParse::entity*)IFC4X1_types[848]); } const IfcParse::entity& Ifc4x1::IfcRelCoversSpaces::Class() { return *((IfcParse::entity*)IFC4X1_types[848]); } Ifc4x1::IfcRelCoversSpaces::IfcRelCoversSpaces(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x1::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcSpace* v5_RelatingSpace, aggregate_of< ::Ifc4x1::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } +Ifc4x1::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcSpace* v5_RelatingSpace, aggregate_of< ::Ifc4x1::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } // Function implementations for IfcRelDeclares -::Ifc4x1::IfcContext* Ifc4x1::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x1::IfcContext>(true); } +::Ifc4x1::IfcContext* Ifc4x1::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x1::IfcContext>(true); } void Ifc4x1::IfcRelDeclares::setRelatingContext(::Ifc4x1::IfcContext* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr Ifc4x1::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x1::IfcDefinitionSelect >(); } +aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr Ifc4x1::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x1::IfcDefinitionSelect >(); } void Ifc4x1::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x1::IfcRelDeclares::declaration() const { return *((IfcParse::entity*)IFC4X1_types[849]); } const IfcParse::entity& Ifc4x1::IfcRelDeclares::Class() { return *((IfcParse::entity*)IFC4X1_types[849]); } Ifc4x1::IfcRelDeclares::IfcRelDeclares(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x1::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingContext ? v5_RelatingContext->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedDefinitions)->generalize());; populate_derived(); } +Ifc4x1::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x1::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingContext ? v5_RelatingContext->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedDefinitions)->generalize());; populate_derived(); } // Function implementations for IfcRelDecomposes @@ -13474,7 +13474,7 @@ Ifc4x1::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x1::IfcOwn const IfcParse::entity& Ifc4x1::IfcRelDecomposes::declaration() const { return *((IfcParse::entity*)IFC4X1_types[850]); } const IfcParse::entity& Ifc4x1::IfcRelDecomposes::Class() { return *((IfcParse::entity*)IFC4X1_types[850]); } Ifc4x1::IfcRelDecomposes::IfcRelDecomposes(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x1::IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x1::IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRelDefines @@ -13482,184 +13482,184 @@ Ifc4x1::IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, ::Ifc4x1::If const IfcParse::entity& Ifc4x1::IfcRelDefines::declaration() const { return *((IfcParse::entity*)IFC4X1_types[851]); } const IfcParse::entity& Ifc4x1::IfcRelDefines::Class() { return *((IfcParse::entity*)IFC4X1_types[851]); } Ifc4x1::IfcRelDefines::IfcRelDefines(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x1::IfcRelDefines::IfcRelDefines(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x1::IfcRelDefines::IfcRelDefines(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRelDefinesByObject -aggregate_of< ::Ifc4x1::IfcObject >::ptr Ifc4x1::IfcRelDefinesByObject::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x1::IfcObject >(); } +aggregate_of< ::Ifc4x1::IfcObject >::ptr Ifc4x1::IfcRelDefinesByObject::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x1::IfcObject >(); } void Ifc4x1::IfcRelDefinesByObject::setRelatedObjects(aggregate_of< ::Ifc4x1::IfcObject >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcObject* Ifc4x1::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcObject>(true); } +::Ifc4x1::IfcObject* Ifc4x1::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcObject>(true); } void Ifc4x1::IfcRelDefinesByObject::setRelatingObject(::Ifc4x1::IfcObject* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x1::IfcRelDefinesByObject::declaration() const { return *((IfcParse::entity*)IFC4X1_types[852]); } const IfcParse::entity& Ifc4x1::IfcRelDefinesByObject::Class() { return *((IfcParse::entity*)IFC4X1_types[852]); } Ifc4x1::IfcRelDefinesByObject::IfcRelDefinesByObject(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x1::IfcRelDefinesByObject::IfcRelDefinesByObject(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x1::IfcObject* v6_RelatingObject) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingObject ? v6_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcRelDefinesByObject::IfcRelDefinesByObject(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x1::IfcObject* v6_RelatingObject) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingObject ? v6_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelDefinesByProperties -aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr Ifc4x1::IfcRelDefinesByProperties::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x1::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr Ifc4x1::IfcRelDefinesByProperties::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x1::IfcObjectDefinition >(); } void Ifc4x1::IfcRelDefinesByProperties::setRelatedObjects(aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcPropertySetDefinitionSelect* Ifc4x1::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcPropertySetDefinitionSelect>(true); } +::Ifc4x1::IfcPropertySetDefinitionSelect* Ifc4x1::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcPropertySetDefinitionSelect>(true); } void Ifc4x1::IfcRelDefinesByProperties::setRelatingPropertyDefinition(::Ifc4x1::IfcPropertySetDefinitionSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x1::IfcRelDefinesByProperties::declaration() const { return *((IfcParse::entity*)IFC4X1_types[853]); } const IfcParse::entity& Ifc4x1::IfcRelDefinesByProperties::Class() { return *((IfcParse::entity*)IFC4X1_types[853]); } Ifc4x1::IfcRelDefinesByProperties::IfcRelDefinesByProperties(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x1::IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v5_RelatedObjects, ::Ifc4x1::IfcPropertySetDefinitionSelect* v6_RelatingPropertyDefinition) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingPropertyDefinition ? v6_RelatingPropertyDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v5_RelatedObjects, ::Ifc4x1::IfcPropertySetDefinitionSelect* v6_RelatingPropertyDefinition) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingPropertyDefinition ? v6_RelatingPropertyDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelDefinesByTemplate -aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr Ifc4x1::IfcRelDefinesByTemplate::RelatedPropertySets() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x1::IfcPropertySetDefinition >(); } +aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr Ifc4x1::IfcRelDefinesByTemplate::RelatedPropertySets() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x1::IfcPropertySetDefinition >(); } void Ifc4x1::IfcRelDefinesByTemplate::setRelatedPropertySets(aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcPropertySetTemplate* Ifc4x1::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcPropertySetTemplate>(true); } +::Ifc4x1::IfcPropertySetTemplate* Ifc4x1::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcPropertySetTemplate>(true); } void Ifc4x1::IfcRelDefinesByTemplate::setRelatingTemplate(::Ifc4x1::IfcPropertySetTemplate* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x1::IfcRelDefinesByTemplate::declaration() const { return *((IfcParse::entity*)IFC4X1_types[854]); } const IfcParse::entity& Ifc4x1::IfcRelDefinesByTemplate::Class() { return *((IfcParse::entity*)IFC4X1_types[854]); } Ifc4x1::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x1::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr v5_RelatedPropertySets, ::Ifc4x1::IfcPropertySetTemplate* v6_RelatingTemplate) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedPropertySets)->generalize());set_attribute_value(5, v6_RelatingTemplate ? v6_RelatingTemplate->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr v5_RelatedPropertySets, ::Ifc4x1::IfcPropertySetTemplate* v6_RelatingTemplate) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedPropertySets)->generalize());set_attribute_value(5, v6_RelatingTemplate ? v6_RelatingTemplate->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelDefinesByType -aggregate_of< ::Ifc4x1::IfcObject >::ptr Ifc4x1::IfcRelDefinesByType::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x1::IfcObject >(); } +aggregate_of< ::Ifc4x1::IfcObject >::ptr Ifc4x1::IfcRelDefinesByType::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x1::IfcObject >(); } void Ifc4x1::IfcRelDefinesByType::setRelatedObjects(aggregate_of< ::Ifc4x1::IfcObject >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcTypeObject* Ifc4x1::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcTypeObject>(true); } +::Ifc4x1::IfcTypeObject* Ifc4x1::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcTypeObject>(true); } void Ifc4x1::IfcRelDefinesByType::setRelatingType(::Ifc4x1::IfcTypeObject* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x1::IfcRelDefinesByType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[855]); } const IfcParse::entity& Ifc4x1::IfcRelDefinesByType::Class() { return *((IfcParse::entity*)IFC4X1_types[855]); } Ifc4x1::IfcRelDefinesByType::IfcRelDefinesByType(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x1::IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x1::IfcTypeObject* v6_RelatingType) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingType ? v6_RelatingType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x1::IfcTypeObject* v6_RelatingType) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingType ? v6_RelatingType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelFillsElement -::Ifc4x1::IfcOpeningElement* Ifc4x1::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x1::IfcOpeningElement>(true); } +::Ifc4x1::IfcOpeningElement* Ifc4x1::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x1::IfcOpeningElement>(true); } void Ifc4x1::IfcRelFillsElement::setRelatingOpeningElement(::Ifc4x1::IfcOpeningElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcElement* Ifc4x1::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcElement>(true); } +::Ifc4x1::IfcElement* Ifc4x1::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcElement>(true); } void Ifc4x1::IfcRelFillsElement::setRelatedBuildingElement(::Ifc4x1::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x1::IfcRelFillsElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[856]); } const IfcParse::entity& Ifc4x1::IfcRelFillsElement::Class() { return *((IfcParse::entity*)IFC4X1_types[856]); } Ifc4x1::IfcRelFillsElement::IfcRelFillsElement(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x1::IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcOpeningElement* v5_RelatingOpeningElement, ::Ifc4x1::IfcElement* v6_RelatedBuildingElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingOpeningElement ? v5_RelatingOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcOpeningElement* v5_RelatingOpeningElement, ::Ifc4x1::IfcElement* v6_RelatedBuildingElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingOpeningElement ? v5_RelatingOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelFlowControlElements -aggregate_of< ::Ifc4x1::IfcDistributionControlElement >::ptr Ifc4x1::IfcRelFlowControlElements::RelatedControlElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x1::IfcDistributionControlElement >(); } +aggregate_of< ::Ifc4x1::IfcDistributionControlElement >::ptr Ifc4x1::IfcRelFlowControlElements::RelatedControlElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x1::IfcDistributionControlElement >(); } void Ifc4x1::IfcRelFlowControlElements::setRelatedControlElements(aggregate_of< ::Ifc4x1::IfcDistributionControlElement >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcDistributionFlowElement* Ifc4x1::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcDistributionFlowElement>(true); } +::Ifc4x1::IfcDistributionFlowElement* Ifc4x1::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcDistributionFlowElement>(true); } void Ifc4x1::IfcRelFlowControlElements::setRelatingFlowElement(::Ifc4x1::IfcDistributionFlowElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x1::IfcRelFlowControlElements::declaration() const { return *((IfcParse::entity*)IFC4X1_types[857]); } const IfcParse::entity& Ifc4x1::IfcRelFlowControlElements::Class() { return *((IfcParse::entity*)IFC4X1_types[857]); } Ifc4x1::IfcRelFlowControlElements::IfcRelFlowControlElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x1::IfcRelFlowControlElements::IfcRelFlowControlElements(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDistributionControlElement >::ptr v5_RelatedControlElements, ::Ifc4x1::IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedControlElements)->generalize());set_attribute_value(5, v6_RelatingFlowElement ? v6_RelatingFlowElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcRelFlowControlElements::IfcRelFlowControlElements(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcDistributionControlElement >::ptr v5_RelatedControlElements, ::Ifc4x1::IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedControlElements)->generalize());set_attribute_value(5, v6_RelatingFlowElement ? v6_RelatingFlowElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelInterferesElements -::Ifc4x1::IfcElement* Ifc4x1::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x1::IfcElement>(true); } +::Ifc4x1::IfcElement* Ifc4x1::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x1::IfcElement>(true); } void Ifc4x1::IfcRelInterferesElements::setRelatingElement(::Ifc4x1::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcElement* Ifc4x1::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcElement>(true); } +::Ifc4x1::IfcElement* Ifc4x1::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcElement>(true); } void Ifc4x1::IfcRelInterferesElements::setRelatedElement(::Ifc4x1::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x1::IfcConnectionGeometry* Ifc4x1::IfcRelInterferesElements::InterferenceGeometry() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x1::IfcConnectionGeometry>(true); } +::Ifc4x1::IfcConnectionGeometry* Ifc4x1::IfcRelInterferesElements::InterferenceGeometry() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x1::IfcConnectionGeometry>(true); } void Ifc4x1::IfcRelInterferesElements::setInterferenceGeometry(::Ifc4x1::IfcConnectionGeometry* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< std::string > Ifc4x1::IfcRelInterferesElements::InterferenceType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x1::IfcRelInterferesElements::InterferenceType() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x1::IfcRelInterferesElements::setInterferenceType(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::logic::tribool Ifc4x1::IfcRelInterferesElements::ImpliedOrder() const { boost::logic::tribool v = data_.get_attribute_value(8); return v; } +boost::logic::tribool Ifc4x1::IfcRelInterferesElements::ImpliedOrder() const { boost::logic::tribool v = get_attribute_value(8); return v; } void Ifc4x1::IfcRelInterferesElements::setImpliedOrder(boost::logic::tribool v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x1::IfcRelInterferesElements::declaration() const { return *((IfcParse::entity*)IFC4X1_types[858]); } const IfcParse::entity& Ifc4x1::IfcRelInterferesElements::Class() { return *((IfcParse::entity*)IFC4X1_types[858]); } Ifc4x1::IfcRelInterferesElements::IfcRelInterferesElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x1::IfcRelInterferesElements::IfcRelInterferesElements(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcElement* v5_RelatingElement, ::Ifc4x1::IfcElement* v6_RelatedElement, ::Ifc4x1::IfcConnectionGeometry* v7_InterferenceGeometry, boost::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder) : IfcRelConnects(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_InterferenceGeometry ? v7_InterferenceGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder));; populate_derived(); } +Ifc4x1::IfcRelInterferesElements::IfcRelInterferesElements(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcElement* v5_RelatingElement, ::Ifc4x1::IfcElement* v6_RelatedElement, ::Ifc4x1::IfcConnectionGeometry* v7_InterferenceGeometry, boost::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_InterferenceGeometry ? v7_InterferenceGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder));; populate_derived(); } // Function implementations for IfcRelNests -::Ifc4x1::IfcObjectDefinition* Ifc4x1::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x1::IfcObjectDefinition>(true); } +::Ifc4x1::IfcObjectDefinition* Ifc4x1::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x1::IfcObjectDefinition>(true); } void Ifc4x1::IfcRelNests::setRelatingObject(::Ifc4x1::IfcObjectDefinition* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr Ifc4x1::IfcRelNests::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x1::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr Ifc4x1::IfcRelNests::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x1::IfcObjectDefinition >(); } void Ifc4x1::IfcRelNests::setRelatedObjects(aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x1::IfcRelNests::declaration() const { return *((IfcParse::entity*)IFC4X1_types[859]); } const IfcParse::entity& Ifc4x1::IfcRelNests::Class() { return *((IfcParse::entity*)IFC4X1_types[859]); } Ifc4x1::IfcRelNests::IfcRelNests(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x1::IfcRelNests::IfcRelNests(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } +Ifc4x1::IfcRelNests::IfcRelNests(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x1::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelProjectsElement -::Ifc4x1::IfcElement* Ifc4x1::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x1::IfcElement>(true); } +::Ifc4x1::IfcElement* Ifc4x1::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x1::IfcElement>(true); } void Ifc4x1::IfcRelProjectsElement::setRelatingElement(::Ifc4x1::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcFeatureElementAddition* Ifc4x1::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcFeatureElementAddition>(true); } +::Ifc4x1::IfcFeatureElementAddition* Ifc4x1::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcFeatureElementAddition>(true); } void Ifc4x1::IfcRelProjectsElement::setRelatedFeatureElement(::Ifc4x1::IfcFeatureElementAddition* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x1::IfcRelProjectsElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[860]); } const IfcParse::entity& Ifc4x1::IfcRelProjectsElement::Class() { return *((IfcParse::entity*)IFC4X1_types[860]); } Ifc4x1::IfcRelProjectsElement::IfcRelProjectsElement(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x1::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcElement* v5_RelatingElement, ::Ifc4x1::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedFeatureElement ? v6_RelatedFeatureElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcElement* v5_RelatingElement, ::Ifc4x1::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedFeatureElement ? v6_RelatedFeatureElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelReferencedInSpatialStructure -aggregate_of< ::Ifc4x1::IfcProduct >::ptr Ifc4x1::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x1::IfcProduct >(); } +aggregate_of< ::Ifc4x1::IfcProduct >::ptr Ifc4x1::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x1::IfcProduct >(); } void Ifc4x1::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x1::IfcProduct >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcSpatialElement* Ifc4x1::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcSpatialElement>(true); } +::Ifc4x1::IfcSpatialElement* Ifc4x1::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcSpatialElement>(true); } void Ifc4x1::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4x1::IfcSpatialElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x1::IfcRelReferencedInSpatialStructure::declaration() const { return *((IfcParse::entity*)IFC4X1_types[861]); } const IfcParse::entity& Ifc4x1::IfcRelReferencedInSpatialStructure::Class() { return *((IfcParse::entity*)IFC4X1_types[861]); } Ifc4x1::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x1::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcProduct >::ptr v5_RelatedElements, ::Ifc4x1::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x1::IfcProduct >::ptr v5_RelatedElements, ::Ifc4x1::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelSequence -::Ifc4x1::IfcProcess* Ifc4x1::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x1::IfcProcess>(true); } +::Ifc4x1::IfcProcess* Ifc4x1::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x1::IfcProcess>(true); } void Ifc4x1::IfcRelSequence::setRelatingProcess(::Ifc4x1::IfcProcess* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcProcess* Ifc4x1::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcProcess>(true); } +::Ifc4x1::IfcProcess* Ifc4x1::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcProcess>(true); } void Ifc4x1::IfcRelSequence::setRelatedProcess(::Ifc4x1::IfcProcess* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x1::IfcLagTime* Ifc4x1::IfcRelSequence::TimeLag() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x1::IfcLagTime>(true); } +::Ifc4x1::IfcLagTime* Ifc4x1::IfcRelSequence::TimeLag() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x1::IfcLagTime>(true); } void Ifc4x1::IfcRelSequence::setTimeLag(::Ifc4x1::IfcLagTime* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< ::Ifc4x1::IfcSequenceEnum::Value > Ifc4x1::IfcRelSequence::SequenceType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x1::IfcSequenceEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x1::IfcSequenceEnum::Value > Ifc4x1::IfcRelSequence::SequenceType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x1::IfcSequenceEnum::FromString(get_attribute_value(7)); } void Ifc4x1::IfcRelSequence::setSequenceType(boost::optional< ::Ifc4x1::IfcSequenceEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x1::IfcSequenceEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x1::IfcRelSequence::UserDefinedSequenceType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x1::IfcRelSequence::UserDefinedSequenceType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x1::IfcRelSequence::setUserDefinedSequenceType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcRelSequence::declaration() const { return *((IfcParse::entity*)IFC4X1_types[862]); } const IfcParse::entity& Ifc4x1::IfcRelSequence::Class() { return *((IfcParse::entity*)IFC4X1_types[862]); } Ifc4x1::IfcRelSequence::IfcRelSequence(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x1::IfcRelSequence::IfcRelSequence(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcProcess* v5_RelatingProcess, ::Ifc4x1::IfcProcess* v6_RelatedProcess, ::Ifc4x1::IfcLagTime* v7_TimeLag, boost::optional< ::Ifc4x1::IfcSequenceEnum::Value > v8_SequenceType, boost::optional< std::string > v9_UserDefinedSequenceType) : IfcRelConnects(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingProcess ? v5_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedProcess ? v6_RelatedProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_TimeLag ? v7_TimeLag->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_SequenceType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); }; populate_derived(); } +Ifc4x1::IfcRelSequence::IfcRelSequence(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcProcess* v5_RelatingProcess, ::Ifc4x1::IfcProcess* v6_RelatedProcess, ::Ifc4x1::IfcLagTime* v7_TimeLag, boost::optional< ::Ifc4x1::IfcSequenceEnum::Value > v8_SequenceType, boost::optional< std::string > v9_UserDefinedSequenceType) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingProcess ? v5_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedProcess ? v6_RelatedProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_TimeLag ? v7_TimeLag->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_SequenceType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); }; populate_derived(); } // Function implementations for IfcRelServicesBuildings -::Ifc4x1::IfcSystem* Ifc4x1::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x1::IfcSystem>(true); } +::Ifc4x1::IfcSystem* Ifc4x1::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x1::IfcSystem>(true); } void Ifc4x1::IfcRelServicesBuildings::setRelatingSystem(::Ifc4x1::IfcSystem* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x1::IfcSpatialElement >::ptr Ifc4x1::IfcRelServicesBuildings::RelatedBuildings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x1::IfcSpatialElement >(); } +aggregate_of< ::Ifc4x1::IfcSpatialElement >::ptr Ifc4x1::IfcRelServicesBuildings::RelatedBuildings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x1::IfcSpatialElement >(); } void Ifc4x1::IfcRelServicesBuildings::setRelatedBuildings(aggregate_of< ::Ifc4x1::IfcSpatialElement >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x1::IfcRelServicesBuildings::declaration() const { return *((IfcParse::entity*)IFC4X1_types[863]); } const IfcParse::entity& Ifc4x1::IfcRelServicesBuildings::Class() { return *((IfcParse::entity*)IFC4X1_types[863]); } Ifc4x1::IfcRelServicesBuildings::IfcRelServicesBuildings(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x1::IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcSystem* v5_RelatingSystem, aggregate_of< ::Ifc4x1::IfcSpatialElement >::ptr v6_RelatedBuildings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSystem ? v5_RelatingSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedBuildings)->generalize());; populate_derived(); } +Ifc4x1::IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcSystem* v5_RelatingSystem, aggregate_of< ::Ifc4x1::IfcSpatialElement >::ptr v6_RelatedBuildings) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSystem ? v5_RelatingSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedBuildings)->generalize());; populate_derived(); } // Function implementations for IfcRelSpaceBoundary -::Ifc4x1::IfcSpaceBoundarySelect* Ifc4x1::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x1::IfcSpaceBoundarySelect>(true); } +::Ifc4x1::IfcSpaceBoundarySelect* Ifc4x1::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x1::IfcSpaceBoundarySelect>(true); } void Ifc4x1::IfcRelSpaceBoundary::setRelatingSpace(::Ifc4x1::IfcSpaceBoundarySelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcElement* Ifc4x1::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcElement>(true); } +::Ifc4x1::IfcElement* Ifc4x1::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcElement>(true); } void Ifc4x1::IfcRelSpaceBoundary::setRelatedBuildingElement(::Ifc4x1::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x1::IfcConnectionGeometry* Ifc4x1::IfcRelSpaceBoundary::ConnectionGeometry() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x1::IfcConnectionGeometry>(true); } +::Ifc4x1::IfcConnectionGeometry* Ifc4x1::IfcRelSpaceBoundary::ConnectionGeometry() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x1::IfcConnectionGeometry>(true); } void Ifc4x1::IfcRelSpaceBoundary::setConnectionGeometry(::Ifc4x1::IfcConnectionGeometry* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x1::IfcPhysicalOrVirtualEnum::Value Ifc4x1::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4x1::IfcPhysicalOrVirtualEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x1::IfcPhysicalOrVirtualEnum::Value Ifc4x1::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4x1::IfcPhysicalOrVirtualEnum::FromString(get_attribute_value(7)); } void Ifc4x1::IfcRelSpaceBoundary::setPhysicalOrVirtualBoundary(::Ifc4x1::IfcPhysicalOrVirtualEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x1::IfcPhysicalOrVirtualEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x1::IfcInternalOrExternalEnum::Value Ifc4x1::IfcRelSpaceBoundary::InternalOrExternalBoundary() const { return ::Ifc4x1::IfcInternalOrExternalEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x1::IfcInternalOrExternalEnum::Value Ifc4x1::IfcRelSpaceBoundary::InternalOrExternalBoundary() const { return ::Ifc4x1::IfcInternalOrExternalEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcRelSpaceBoundary::setInternalOrExternalBoundary(::Ifc4x1::IfcInternalOrExternalEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcInternalOrExternalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x1::IfcRelSpaceBoundary::declaration() const { return *((IfcParse::entity*)IFC4X1_types[864]); } const IfcParse::entity& Ifc4x1::IfcRelSpaceBoundary::Class() { return *((IfcParse::entity*)IFC4X1_types[864]); } Ifc4x1::IfcRelSpaceBoundary::IfcRelSpaceBoundary(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x1::IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x1::IfcElement* v6_RelatedBuildingElement, ::Ifc4x1::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) : IfcRelConnects(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; populate_derived(); } +Ifc4x1::IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x1::IfcElement* v6_RelatedBuildingElement, ::Ifc4x1::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; populate_derived(); } // Function implementations for IfcRelSpaceBoundary1stLevel -::Ifc4x1::IfcRelSpaceBoundary1stLevel* Ifc4x1::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x1::IfcRelSpaceBoundary1stLevel>(true); } +::Ifc4x1::IfcRelSpaceBoundary1stLevel* Ifc4x1::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x1::IfcRelSpaceBoundary1stLevel>(true); } void Ifc4x1::IfcRelSpaceBoundary1stLevel::setParentBoundary(::Ifc4x1::IfcRelSpaceBoundary1stLevel* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } ::Ifc4x1::IfcRelSpaceBoundary1stLevel::list::ptr Ifc4x1::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[865], 9)->as(); } @@ -13667,10 +13667,10 @@ void Ifc4x1::IfcRelSpaceBoundary1stLevel::setParentBoundary(::Ifc4x1::IfcRelSpac const IfcParse::entity& Ifc4x1::IfcRelSpaceBoundary1stLevel::declaration() const { return *((IfcParse::entity*)IFC4X1_types[865]); } const IfcParse::entity& Ifc4x1::IfcRelSpaceBoundary1stLevel::Class() { return *((IfcParse::entity*)IFC4X1_types[865]); } Ifc4x1::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(IfcEntityInstanceData&& e) : IfcRelSpaceBoundary(std::move(e)) { } -Ifc4x1::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x1::IfcElement* v6_RelatedBuildingElement, ::Ifc4x1::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x1::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary) : IfcRelSpaceBoundary(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x1::IfcElement* v6_RelatedBuildingElement, ::Ifc4x1::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x1::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary) : IfcRelSpaceBoundary(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelSpaceBoundary2ndLevel -::Ifc4x1::IfcRelSpaceBoundary2ndLevel* Ifc4x1::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x1::IfcRelSpaceBoundary2ndLevel>(true); } +::Ifc4x1::IfcRelSpaceBoundary2ndLevel* Ifc4x1::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x1::IfcRelSpaceBoundary2ndLevel>(true); } void Ifc4x1::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(::Ifc4x1::IfcRelSpaceBoundary2ndLevel* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } ::Ifc4x1::IfcRelSpaceBoundary2ndLevel::list::ptr Ifc4x1::IfcRelSpaceBoundary2ndLevel::Corresponds() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[866], 10)->as(); } @@ -13678,19 +13678,19 @@ void Ifc4x1::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(::Ifc4x1::Ifc const IfcParse::entity& Ifc4x1::IfcRelSpaceBoundary2ndLevel::declaration() const { return *((IfcParse::entity*)IFC4X1_types[866]); } const IfcParse::entity& Ifc4x1::IfcRelSpaceBoundary2ndLevel::Class() { return *((IfcParse::entity*)IFC4X1_types[866]); } Ifc4x1::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(IfcEntityInstanceData&& e) : IfcRelSpaceBoundary1stLevel(std::move(e)) { } -Ifc4x1::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x1::IfcElement* v6_RelatedBuildingElement, ::Ifc4x1::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x1::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, ::Ifc4x1::IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary) : IfcRelSpaceBoundary1stLevel(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_CorrespondingBoundary ? v11_CorrespondingBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x1::IfcElement* v6_RelatedBuildingElement, ::Ifc4x1::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x1::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, ::Ifc4x1::IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary) : IfcRelSpaceBoundary1stLevel(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_CorrespondingBoundary ? v11_CorrespondingBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelVoidsElement -::Ifc4x1::IfcElement* Ifc4x1::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x1::IfcElement>(true); } +::Ifc4x1::IfcElement* Ifc4x1::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x1::IfcElement>(true); } void Ifc4x1::IfcRelVoidsElement::setRelatingBuildingElement(::Ifc4x1::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcFeatureElementSubtraction* Ifc4x1::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcFeatureElementSubtraction>(true); } +::Ifc4x1::IfcFeatureElementSubtraction* Ifc4x1::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcFeatureElementSubtraction>(true); } void Ifc4x1::IfcRelVoidsElement::setRelatedOpeningElement(::Ifc4x1::IfcFeatureElementSubtraction* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x1::IfcRelVoidsElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[867]); } const IfcParse::entity& Ifc4x1::IfcRelVoidsElement::Class() { return *((IfcParse::entity*)IFC4X1_types[867]); } Ifc4x1::IfcRelVoidsElement::IfcRelVoidsElement(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x1::IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcElement* v5_RelatingBuildingElement, ::Ifc4x1::IfcFeatureElementSubtraction* v6_RelatedOpeningElement) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedOpeningElement ? v6_RelatedOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcElement* v5_RelatingBuildingElement, ::Ifc4x1::IfcFeatureElementSubtraction* v6_RelatedOpeningElement) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedOpeningElement ? v6_RelatedOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelationship @@ -13698,26 +13698,26 @@ Ifc4x1::IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, ::Ifc4x1 const IfcParse::entity& Ifc4x1::IfcRelationship::declaration() const { return *((IfcParse::entity*)IFC4X1_types[836]); } const IfcParse::entity& Ifc4x1::IfcRelationship::Class() { return *((IfcParse::entity*)IFC4X1_types[836]); } Ifc4x1::IfcRelationship::IfcRelationship(IfcEntityInstanceData&& e) : IfcRoot(std::move(e)) { } -Ifc4x1::IfcRelationship::IfcRelationship(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x1::IfcRelationship::IfcRelationship(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcReparametrisedCompositeCurveSegment -double Ifc4x1::IfcReparametrisedCompositeCurveSegment::ParamLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x1::IfcReparametrisedCompositeCurveSegment::ParamLength() const { double v = get_attribute_value(3); return v; } void Ifc4x1::IfcReparametrisedCompositeCurveSegment::setParamLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcReparametrisedCompositeCurveSegment::declaration() const { return *((IfcParse::entity*)IFC4X1_types[868]); } const IfcParse::entity& Ifc4x1::IfcReparametrisedCompositeCurveSegment::Class() { return *((IfcParse::entity*)IFC4X1_types[868]); } Ifc4x1::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(IfcEntityInstanceData&& e) : IfcCompositeCurveSegment(std::move(e)) { } -Ifc4x1::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(::Ifc4x1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x1::IfcCurve* v3_ParentCurve, double v4_ParamLength) : IfcCompositeCurveSegment(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ParamLength));; populate_derived(); } +Ifc4x1::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(::Ifc4x1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x1::IfcCurve* v3_ParentCurve, double v4_ParamLength) : IfcCompositeCurveSegment(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ParamLength));; populate_derived(); } // Function implementations for IfcRepresentation -::Ifc4x1::IfcRepresentationContext* Ifc4x1::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcRepresentationContext>(true); } +::Ifc4x1::IfcRepresentationContext* Ifc4x1::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcRepresentationContext>(true); } void Ifc4x1::IfcRepresentation::setContextOfItems(::Ifc4x1::IfcRepresentationContext* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x1::IfcRepresentation::RepresentationIdentifier() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x1::IfcRepresentation::RepresentationIdentifier() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x1::IfcRepresentation::RepresentationType() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x1::IfcRepresentation::RepresentationType() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcRepresentation::setRepresentationType(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -aggregate_of< ::Ifc4x1::IfcRepresentationItem >::ptr Ifc4x1::IfcRepresentation::Items() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x1::IfcRepresentationItem >(); } +aggregate_of< ::Ifc4x1::IfcRepresentationItem >::ptr Ifc4x1::IfcRepresentation::Items() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x1::IfcRepresentationItem >(); } void Ifc4x1::IfcRepresentation::setItems(aggregate_of< ::Ifc4x1::IfcRepresentationItem >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } ::Ifc4x1::IfcRepresentationMap::list::ptr Ifc4x1::IfcRepresentation::RepresentationMap() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[872], 1)->as(); } @@ -13727,12 +13727,12 @@ void Ifc4x1::IfcRepresentation::setItems(aggregate_of< ::Ifc4x1::IfcRepresentati const IfcParse::entity& Ifc4x1::IfcRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X1_types[869]); } const IfcParse::entity& Ifc4x1::IfcRepresentation::Class() { return *((IfcParse::entity*)IFC4X1_types[869]); } Ifc4x1::IfcRepresentation::IfcRepresentation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcRepresentation::IfcRepresentation(::Ifc4x1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x1::IfcRepresentationItem >::ptr v4_Items) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x1::IfcRepresentation::IfcRepresentation(::Ifc4x1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x1::IfcRepresentationItem >::ptr v4_Items) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcRepresentationContext -boost::optional< std::string > Ifc4x1::IfcRepresentationContext::ContextIdentifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x1::IfcRepresentationContext::ContextIdentifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcRepresentationContext::setContextIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x1::IfcRepresentationContext::ContextType() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x1::IfcRepresentationContext::ContextType() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcRepresentationContext::setContextType(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x1::IfcRepresentation::list::ptr Ifc4x1::IfcRepresentationContext::RepresentationsInContext() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[869], 0)->as(); } @@ -13740,7 +13740,7 @@ void Ifc4x1::IfcRepresentationContext::setContextType(boost::optional< std::stri const IfcParse::entity& Ifc4x1::IfcRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X1_types[870]); } const IfcParse::entity& Ifc4x1::IfcRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X1_types[870]); } Ifc4x1::IfcRepresentationContext::IfcRepresentationContext(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcRepresentationContext::IfcRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; populate_derived(); } +Ifc4x1::IfcRepresentationContext::IfcRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; populate_derived(); } // Function implementations for IfcRepresentationItem @@ -13750,12 +13750,12 @@ Ifc4x1::IfcRepresentationContext::IfcRepresentationContext(boost::optional< std: const IfcParse::entity& Ifc4x1::IfcRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X1_types[871]); } const IfcParse::entity& Ifc4x1::IfcRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X1_types[871]); } Ifc4x1::IfcRepresentationItem::IfcRepresentationItem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x1::IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcRepresentationMap -::Ifc4x1::IfcAxis2Placement* Ifc4x1::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcAxis2Placement>(true); } +::Ifc4x1::IfcAxis2Placement* Ifc4x1::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcAxis2Placement>(true); } void Ifc4x1::IfcRepresentationMap::setMappingOrigin(::Ifc4x1::IfcAxis2Placement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcRepresentation* Ifc4x1::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcRepresentation>(true); } +::Ifc4x1::IfcRepresentation* Ifc4x1::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcRepresentation>(true); } void Ifc4x1::IfcRepresentationMap::setMappedRepresentation(::Ifc4x1::IfcRepresentation* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } ::Ifc4x1::IfcShapeAspect::list::ptr Ifc4x1::IfcRepresentationMap::HasShapeAspects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[915], 4)->as(); } @@ -13764,12 +13764,12 @@ void Ifc4x1::IfcRepresentationMap::setMappedRepresentation(::Ifc4x1::IfcRepresen const IfcParse::entity& Ifc4x1::IfcRepresentationMap::declaration() const { return *((IfcParse::entity*)IFC4X1_types[872]); } const IfcParse::entity& Ifc4x1::IfcRepresentationMap::Class() { return *((IfcParse::entity*)IFC4X1_types[872]); } Ifc4x1::IfcRepresentationMap::IfcRepresentationMap(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcRepresentationMap::IfcRepresentationMap(::Ifc4x1::IfcAxis2Placement* v1_MappingOrigin, ::Ifc4x1::IfcRepresentation* v2_MappedRepresentation) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_MappingOrigin ? v1_MappingOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappedRepresentation ? v2_MappedRepresentation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcRepresentationMap::IfcRepresentationMap(::Ifc4x1::IfcAxis2Placement* v1_MappingOrigin, ::Ifc4x1::IfcRepresentation* v2_MappedRepresentation) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_MappingOrigin ? v1_MappingOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappedRepresentation ? v2_MappedRepresentation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcResource -boost::optional< std::string > Ifc4x1::IfcResource::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x1::IfcResource::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcResource::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x1::IfcResource::LongDescription() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x1::IfcResource::LongDescription() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x1::IfcResource::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x1::IfcRelAssignsToResource::list::ptr Ifc4x1::IfcResource::ResourceOf() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[828], 6)->as(); } @@ -13777,219 +13777,219 @@ void Ifc4x1::IfcResource::setLongDescription(boost::optional< std::string > v) { const IfcParse::entity& Ifc4x1::IfcResource::declaration() const { return *((IfcParse::entity*)IFC4X1_types[873]); } const IfcParse::entity& Ifc4x1::IfcResource::Class() { return *((IfcParse::entity*)IFC4X1_types[873]); } Ifc4x1::IfcResource::IfcResource(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x1::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } +Ifc4x1::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } // Function implementations for IfcResourceApprovalRelationship -aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr Ifc4x1::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x1::IfcResourceObjectSelect >(); } +aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr Ifc4x1::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x1::IfcResourceObjectSelect >(); } void Ifc4x1::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcApproval* Ifc4x1::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcApproval>(true); } +::Ifc4x1::IfcApproval* Ifc4x1::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcApproval>(true); } void Ifc4x1::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x1::IfcApproval* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcResourceApprovalRelationship::declaration() const { return *((IfcParse::entity*)IFC4X1_types[874]); } const IfcParse::entity& Ifc4x1::IfcResourceApprovalRelationship::Class() { return *((IfcParse::entity*)IFC4X1_types[874]); } Ifc4x1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x1::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatedResourceObjects)->generalize());set_attribute_value(3, v4_RelatingApproval ? v4_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x1::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatedResourceObjects)->generalize());set_attribute_value(3, v4_RelatingApproval ? v4_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcResourceConstraintRelationship -::Ifc4x1::IfcConstraint* Ifc4x1::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcConstraint>(true); } +::Ifc4x1::IfcConstraint* Ifc4x1::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcConstraint>(true); } void Ifc4x1::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4x1::IfcConstraint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr Ifc4x1::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x1::IfcResourceObjectSelect >(); } +aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr Ifc4x1::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x1::IfcResourceObjectSelect >(); } void Ifc4x1::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcResourceConstraintRelationship::declaration() const { return *((IfcParse::entity*)IFC4X1_types[875]); } const IfcParse::entity& Ifc4x1::IfcResourceConstraintRelationship::Class() { return *((IfcParse::entity*)IFC4X1_types[875]); } Ifc4x1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingConstraint ? v3_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } +Ifc4x1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x1::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingConstraint ? v3_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } // Function implementations for IfcResourceLevelRelationship -boost::optional< std::string > Ifc4x1::IfcResourceLevelRelationship::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x1::IfcResourceLevelRelationship::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcResourceLevelRelationship::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x1::IfcResourceLevelRelationship::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x1::IfcResourceLevelRelationship::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcResourceLevelRelationship::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x1::IfcResourceLevelRelationship::declaration() const { return *((IfcParse::entity*)IFC4X1_types[876]); } const IfcParse::entity& Ifc4x1::IfcResourceLevelRelationship::Class() { return *((IfcParse::entity*)IFC4X1_types[876]); } Ifc4x1::IfcResourceLevelRelationship::IfcResourceLevelRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcResourceLevelRelationship::IfcResourceLevelRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4x1::IfcResourceLevelRelationship::IfcResourceLevelRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcResourceTime -boost::optional< std::string > Ifc4x1::IfcResourceTime::ScheduleWork() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x1::IfcResourceTime::ScheduleWork() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x1::IfcResourceTime::setScheduleWork(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x1::IfcResourceTime::ScheduleUsage() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x1::IfcResourceTime::ScheduleUsage() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x1::IfcResourceTime::setScheduleUsage(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x1::IfcResourceTime::ScheduleStart() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x1::IfcResourceTime::ScheduleStart() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcResourceTime::setScheduleStart(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x1::IfcResourceTime::ScheduleFinish() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x1::IfcResourceTime::ScheduleFinish() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x1::IfcResourceTime::setScheduleFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x1::IfcResourceTime::ScheduleContour() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x1::IfcResourceTime::ScheduleContour() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x1::IfcResourceTime::setScheduleContour(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x1::IfcResourceTime::LevelingDelay() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x1::IfcResourceTime::LevelingDelay() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x1::IfcResourceTime::setLevelingDelay(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< bool > Ifc4x1::IfcResourceTime::IsOverAllocated() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } bool v = data_.get_attribute_value(9); return v; } +boost::optional< bool > Ifc4x1::IfcResourceTime::IsOverAllocated() const { if(get_attribute_value(9).isNull()) { return boost::none; } bool v = get_attribute_value(9); return v; } void Ifc4x1::IfcResourceTime::setIsOverAllocated(boost::optional< bool > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x1::IfcResourceTime::StatusTime() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x1::IfcResourceTime::StatusTime() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x1::IfcResourceTime::setStatusTime(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< std::string > Ifc4x1::IfcResourceTime::ActualWork() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x1::IfcResourceTime::ActualWork() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x1::IfcResourceTime::setActualWork(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x1::IfcResourceTime::ActualUsage() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x1::IfcResourceTime::ActualUsage() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x1::IfcResourceTime::setActualUsage(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< std::string > Ifc4x1::IfcResourceTime::ActualStart() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(13); return v; } +boost::optional< std::string > Ifc4x1::IfcResourceTime::ActualStart() const { if(get_attribute_value(13).isNull()) { return boost::none; } std::string v = get_attribute_value(13); return v; } void Ifc4x1::IfcResourceTime::setActualStart(boost::optional< std::string > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x1::IfcResourceTime::ActualFinish() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x1::IfcResourceTime::ActualFinish() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x1::IfcResourceTime::setActualFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< std::string > Ifc4x1::IfcResourceTime::RemainingWork() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(15); return v; } +boost::optional< std::string > Ifc4x1::IfcResourceTime::RemainingWork() const { if(get_attribute_value(15).isNull()) { return boost::none; } std::string v = get_attribute_value(15); return v; } void Ifc4x1::IfcResourceTime::setRemainingWork(boost::optional< std::string > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x1::IfcResourceTime::RemainingUsage() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x1::IfcResourceTime::RemainingUsage() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x1::IfcResourceTime::setRemainingUsage(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< double > Ifc4x1::IfcResourceTime::Completion() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } double v = data_.get_attribute_value(17); return v; } +boost::optional< double > Ifc4x1::IfcResourceTime::Completion() const { if(get_attribute_value(17).isNull()) { return boost::none; } double v = get_attribute_value(17); return v; } void Ifc4x1::IfcResourceTime::setCompletion(boost::optional< double > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } const IfcParse::entity& Ifc4x1::IfcResourceTime::declaration() const { return *((IfcParse::entity*)IFC4X1_types[879]); } const IfcParse::entity& Ifc4x1::IfcResourceTime::Class() { return *((IfcParse::entity*)IFC4X1_types[879]); } Ifc4x1::IfcResourceTime::IfcResourceTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x1::IfcResourceTime::IfcResourceTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< std::string > v4_ScheduleWork, boost::optional< double > v5_ScheduleUsage, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_ScheduleContour, boost::optional< std::string > v9_LevelingDelay, boost::optional< bool > v10_IsOverAllocated, boost::optional< std::string > v11_StatusTime, boost::optional< std::string > v12_ActualWork, boost::optional< double > v13_ActualUsage, boost::optional< std::string > v14_ActualStart, boost::optional< std::string > v15_ActualFinish, boost::optional< std::string > v16_RemainingWork, boost::optional< double > v17_RemainingUsage, boost::optional< double > v18_Completion) : IfcSchedulingTime(IfcEntityInstanceData(storage_t(18))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); }; populate_derived(); } +Ifc4x1::IfcResourceTime::IfcResourceTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< std::string > v4_ScheduleWork, boost::optional< double > v5_ScheduleUsage, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_ScheduleContour, boost::optional< std::string > v9_LevelingDelay, boost::optional< bool > v10_IsOverAllocated, boost::optional< std::string > v11_StatusTime, boost::optional< std::string > v12_ActualWork, boost::optional< double > v13_ActualUsage, boost::optional< std::string > v14_ActualStart, boost::optional< std::string > v15_ActualFinish, boost::optional< std::string > v16_RemainingWork, boost::optional< double > v17_RemainingUsage, boost::optional< double > v18_Completion) : IfcSchedulingTime(IfcEntityInstanceData(in_memory_attribute_storage(18))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); }; populate_derived(); } // Function implementations for IfcRevolvedAreaSolid -::Ifc4x1::IfcAxis1Placement* Ifc4x1::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcAxis1Placement>(true); } +::Ifc4x1::IfcAxis1Placement* Ifc4x1::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcAxis1Placement>(true); } void Ifc4x1::IfcRevolvedAreaSolid::setAxis(::Ifc4x1::IfcAxis1Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x1::IfcRevolvedAreaSolid::Angle() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x1::IfcRevolvedAreaSolid::Angle() const { double v = get_attribute_value(3); return v; } void Ifc4x1::IfcRevolvedAreaSolid::setAngle(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcRevolvedAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X1_types[880]); } const IfcParse::entity& Ifc4x1::IfcRevolvedAreaSolid::Class() { return *((IfcParse::entity*)IFC4X1_types[880]); } Ifc4x1::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4x1::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(::Ifc4x1::IfcProfileDef* v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D* v2_Position, ::Ifc4x1::IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));; populate_derived(); } +Ifc4x1::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(::Ifc4x1::IfcProfileDef* v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D* v2_Position, ::Ifc4x1::IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));; populate_derived(); } // Function implementations for IfcRevolvedAreaSolidTapered -::Ifc4x1::IfcProfileDef* Ifc4x1::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x1::IfcProfileDef>(true); } +::Ifc4x1::IfcProfileDef* Ifc4x1::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x1::IfcProfileDef>(true); } void Ifc4x1::IfcRevolvedAreaSolidTapered::setEndSweptArea(::Ifc4x1::IfcProfileDef* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x1::IfcRevolvedAreaSolidTapered::declaration() const { return *((IfcParse::entity*)IFC4X1_types[881]); } const IfcParse::entity& Ifc4x1::IfcRevolvedAreaSolidTapered::Class() { return *((IfcParse::entity*)IFC4X1_types[881]); } Ifc4x1::IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(IfcEntityInstanceData&& e) : IfcRevolvedAreaSolid(std::move(e)) { } -Ifc4x1::IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(::Ifc4x1::IfcProfileDef* v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D* v2_Position, ::Ifc4x1::IfcAxis1Placement* v3_Axis, double v4_Angle, ::Ifc4x1::IfcProfileDef* v5_EndSweptArea) : IfcRevolvedAreaSolid(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(::Ifc4x1::IfcProfileDef* v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D* v2_Position, ::Ifc4x1::IfcAxis1Placement* v3_Axis, double v4_Angle, ::Ifc4x1::IfcProfileDef* v5_EndSweptArea) : IfcRevolvedAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRightCircularCone -double Ifc4x1::IfcRightCircularCone::Height() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x1::IfcRightCircularCone::Height() const { double v = get_attribute_value(1); return v; } void Ifc4x1::IfcRightCircularCone::setHeight(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x1::IfcRightCircularCone::BottomRadius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x1::IfcRightCircularCone::BottomRadius() const { double v = get_attribute_value(2); return v; } void Ifc4x1::IfcRightCircularCone::setBottomRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x1::IfcRightCircularCone::declaration() const { return *((IfcParse::entity*)IFC4X1_types[882]); } const IfcParse::entity& Ifc4x1::IfcRightCircularCone::Class() { return *((IfcParse::entity*)IFC4X1_types[882]); } Ifc4x1::IfcRightCircularCone::IfcRightCircularCone(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x1::IfcRightCircularCone::IfcRightCircularCone(::Ifc4x1::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_BottomRadius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; populate_derived(); } +Ifc4x1::IfcRightCircularCone::IfcRightCircularCone(::Ifc4x1::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_BottomRadius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; populate_derived(); } // Function implementations for IfcRightCircularCylinder -double Ifc4x1::IfcRightCircularCylinder::Height() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x1::IfcRightCircularCylinder::Height() const { double v = get_attribute_value(1); return v; } void Ifc4x1::IfcRightCircularCylinder::setHeight(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x1::IfcRightCircularCylinder::Radius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x1::IfcRightCircularCylinder::Radius() const { double v = get_attribute_value(2); return v; } void Ifc4x1::IfcRightCircularCylinder::setRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x1::IfcRightCircularCylinder::declaration() const { return *((IfcParse::entity*)IFC4X1_types[883]); } const IfcParse::entity& Ifc4x1::IfcRightCircularCylinder::Class() { return *((IfcParse::entity*)IFC4X1_types[883]); } Ifc4x1::IfcRightCircularCylinder::IfcRightCircularCylinder(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x1::IfcRightCircularCylinder::IfcRightCircularCylinder(::Ifc4x1::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; populate_derived(); } +Ifc4x1::IfcRightCircularCylinder::IfcRightCircularCylinder(::Ifc4x1::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; populate_derived(); } // Function implementations for IfcRoof -boost::optional< ::Ifc4x1::IfcRoofTypeEnum::Value > Ifc4x1::IfcRoof::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcRoofTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcRoofTypeEnum::Value > Ifc4x1::IfcRoof::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcRoofTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcRoof::setPredefinedType(boost::optional< ::Ifc4x1::IfcRoofTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcRoofTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcRoof::declaration() const { return *((IfcParse::entity*)IFC4X1_types[885]); } const IfcParse::entity& Ifc4x1::IfcRoof::Class() { return *((IfcParse::entity*)IFC4X1_types[885]); } Ifc4x1::IfcRoof::IfcRoof(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x1::IfcRoof::IfcRoof(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcRoofTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcRoof::IfcRoof(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcRoofTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRoofType -::Ifc4x1::IfcRoofTypeEnum::Value Ifc4x1::IfcRoofType::PredefinedType() const { return ::Ifc4x1::IfcRoofTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcRoofTypeEnum::Value Ifc4x1::IfcRoofType::PredefinedType() const { return ::Ifc4x1::IfcRoofTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcRoofType::setPredefinedType(::Ifc4x1::IfcRoofTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcRoofTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcRoofType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[886]); } const IfcParse::entity& Ifc4x1::IfcRoofType::Class() { return *((IfcParse::entity*)IFC4X1_types[886]); } Ifc4x1::IfcRoofType::IfcRoofType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x1::IfcRoofType::IfcRoofType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcRoofTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcRoofType::IfcRoofType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcRoofTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRoot -std::string Ifc4x1::IfcRoot::GlobalId() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x1::IfcRoot::GlobalId() const { std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcRoot::setGlobalId(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcOwnerHistory* Ifc4x1::IfcRoot::OwnerHistory() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcOwnerHistory>(true); } +::Ifc4x1::IfcOwnerHistory* Ifc4x1::IfcRoot::OwnerHistory() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcOwnerHistory>(true); } void Ifc4x1::IfcRoot::setOwnerHistory(::Ifc4x1::IfcOwnerHistory* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x1::IfcRoot::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x1::IfcRoot::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcRoot::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x1::IfcRoot::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x1::IfcRoot::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x1::IfcRoot::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x1::IfcRoot::declaration() const { return *((IfcParse::entity*)IFC4X1_types[888]); } const IfcParse::entity& Ifc4x1::IfcRoot::Class() { return *((IfcParse::entity*)IFC4X1_types[888]); } Ifc4x1::IfcRoot::IfcRoot(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcRoot::IfcRoot(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x1::IfcRoot::IfcRoot(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRoundedRectangleProfileDef -double Ifc4x1::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x1::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = get_attribute_value(5); return v; } void Ifc4x1::IfcRoundedRectangleProfileDef::setRoundingRadius(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x1::IfcRoundedRectangleProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X1_types[893]); } const IfcParse::entity& Ifc4x1::IfcRoundedRectangleProfileDef::Class() { return *((IfcParse::entity*)IFC4X1_types[893]); } Ifc4x1::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(IfcEntityInstanceData&& e) : IfcRectangleProfileDef(std::move(e)) { } -Ifc4x1::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; populate_derived(); } +Ifc4x1::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; populate_derived(); } // Function implementations for IfcSIUnit -boost::optional< ::Ifc4x1::IfcSIPrefix::Value > Ifc4x1::IfcSIUnit::Prefix() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x1::IfcSIPrefix::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc4x1::IfcSIPrefix::Value > Ifc4x1::IfcSIUnit::Prefix() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x1::IfcSIPrefix::FromString(get_attribute_value(2)); } void Ifc4x1::IfcSIUnit::setPrefix(boost::optional< ::Ifc4x1::IfcSIPrefix::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc4x1::IfcSIPrefix::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -::Ifc4x1::IfcSIUnitName::Value Ifc4x1::IfcSIUnit::Name() const { return ::Ifc4x1::IfcSIUnitName::FromString(data_.get_attribute_value(3)); } +::Ifc4x1::IfcSIUnitName::Value Ifc4x1::IfcSIUnit::Name() const { return ::Ifc4x1::IfcSIUnitName::FromString(get_attribute_value(3)); } void Ifc4x1::IfcSIUnit::setName(::Ifc4x1::IfcSIUnitName::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc4x1::IfcSIUnitName::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcSIUnit::declaration() const { return *((IfcParse::entity*)IFC4X1_types[927]); } const IfcParse::entity& Ifc4x1::IfcSIUnit::Class() { return *((IfcParse::entity*)IFC4X1_types[927]); } Ifc4x1::IfcSIUnit::IfcSIUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -Ifc4x1::IfcSIUnit::IfcSIUnit(::Ifc4x1::IfcUnitEnum::Value v2_UnitType, boost::optional< ::Ifc4x1::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x1::IfcSIUnitName::Value v4_Name) : IfcNamedUnit(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(1, (EnumerationReference(&::Ifc4x1::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (EnumerationReference(&::Ifc4x1::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (EnumerationReference(&::Ifc4x1::IfcSIUnitName::Class(),(size_t)v4_Name)));; populate_derived(); } +Ifc4x1::IfcSIUnit::IfcSIUnit(::Ifc4x1::IfcUnitEnum::Value v2_UnitType, boost::optional< ::Ifc4x1::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x1::IfcSIUnitName::Value v4_Name) : IfcNamedUnit(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(1, (EnumerationReference(&::Ifc4x1::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (EnumerationReference(&::Ifc4x1::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (EnumerationReference(&::Ifc4x1::IfcSIUnitName::Class(),(size_t)v4_Name)));; populate_derived(); } // Function implementations for IfcSanitaryTerminal -boost::optional< ::Ifc4x1::IfcSanitaryTerminalTypeEnum::Value > Ifc4x1::IfcSanitaryTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcSanitaryTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcSanitaryTerminalTypeEnum::Value > Ifc4x1::IfcSanitaryTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcSanitaryTerminal::setPredefinedType(boost::optional< ::Ifc4x1::IfcSanitaryTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcSanitaryTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcSanitaryTerminal::declaration() const { return *((IfcParse::entity*)IFC4X1_types[894]); } const IfcParse::entity& Ifc4x1::IfcSanitaryTerminal::Class() { return *((IfcParse::entity*)IFC4X1_types[894]); } Ifc4x1::IfcSanitaryTerminal::IfcSanitaryTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x1::IfcSanitaryTerminal::IfcSanitaryTerminal(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcSanitaryTerminal::IfcSanitaryTerminal(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSanitaryTerminalType -::Ifc4x1::IfcSanitaryTerminalTypeEnum::Value Ifc4x1::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4x1::IfcSanitaryTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcSanitaryTerminalTypeEnum::Value Ifc4x1::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4x1::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcSanitaryTerminalType::setPredefinedType(::Ifc4x1::IfcSanitaryTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcSanitaryTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcSanitaryTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[895]); } const IfcParse::entity& Ifc4x1::IfcSanitaryTerminalType::Class() { return *((IfcParse::entity*)IFC4X1_types[895]); } Ifc4x1::IfcSanitaryTerminalType::IfcSanitaryTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x1::IfcSanitaryTerminalType::IfcSanitaryTerminalType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcSanitaryTerminalType::IfcSanitaryTerminalType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSchedulingTime -boost::optional< std::string > Ifc4x1::IfcSchedulingTime::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x1::IfcSchedulingTime::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcSchedulingTime::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< ::Ifc4x1::IfcDataOriginEnum::Value > Ifc4x1::IfcSchedulingTime::DataOrigin() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } return ::Ifc4x1::IfcDataOriginEnum::FromString(data_.get_attribute_value(1)); } +boost::optional< ::Ifc4x1::IfcDataOriginEnum::Value > Ifc4x1::IfcSchedulingTime::DataOrigin() const { if(get_attribute_value(1).isNull()) { return boost::none; } return ::Ifc4x1::IfcDataOriginEnum::FromString(get_attribute_value(1)); } void Ifc4x1::IfcSchedulingTime::setDataOrigin(boost::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v) { if (v) {set_attribute_value(1, EnumerationReference(&::Ifc4x1::IfcDataOriginEnum::Class(), (size_t) *v));} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x1::IfcSchedulingTime::UserDefinedDataOrigin() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x1::IfcSchedulingTime::UserDefinedDataOrigin() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcSchedulingTime::setUserDefinedDataOrigin(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x1::IfcSchedulingTime::declaration() const { return *((IfcParse::entity*)IFC4X1_types[897]); } const IfcParse::entity& Ifc4x1::IfcSchedulingTime::Class() { return *((IfcParse::entity*)IFC4X1_types[897]); } Ifc4x1::IfcSchedulingTime::IfcSchedulingTime(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }; populate_derived(); } +Ifc4x1::IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }; populate_derived(); } // Function implementations for IfcSeamCurve @@ -13997,130 +13997,130 @@ Ifc4x1::IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > v1_N const IfcParse::entity& Ifc4x1::IfcSeamCurve::declaration() const { return *((IfcParse::entity*)IFC4X1_types[898]); } const IfcParse::entity& Ifc4x1::IfcSeamCurve::Class() { return *((IfcParse::entity*)IFC4X1_types[898]); } Ifc4x1::IfcSeamCurve::IfcSeamCurve(IfcEntityInstanceData&& e) : IfcSurfaceCurve(std::move(e)) { } -Ifc4x1::IfcSeamCurve::IfcSeamCurve(::Ifc4x1::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x1::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } +Ifc4x1::IfcSeamCurve::IfcSeamCurve(::Ifc4x1::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x1::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcSectionProperties -::Ifc4x1::IfcSectionTypeEnum::Value Ifc4x1::IfcSectionProperties::SectionType() const { return ::Ifc4x1::IfcSectionTypeEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x1::IfcSectionTypeEnum::Value Ifc4x1::IfcSectionProperties::SectionType() const { return ::Ifc4x1::IfcSectionTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x1::IfcSectionProperties::setSectionType(::Ifc4x1::IfcSectionTypeEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x1::IfcSectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcProfileDef* Ifc4x1::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcProfileDef>(true); } +::Ifc4x1::IfcProfileDef* Ifc4x1::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcProfileDef>(true); } void Ifc4x1::IfcSectionProperties::setStartProfile(::Ifc4x1::IfcProfileDef* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcProfileDef* Ifc4x1::IfcSectionProperties::EndProfile() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcProfileDef>(true); } +::Ifc4x1::IfcProfileDef* Ifc4x1::IfcSectionProperties::EndProfile() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcProfileDef>(true); } void Ifc4x1::IfcSectionProperties::setEndProfile(::Ifc4x1::IfcProfileDef* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x1::IfcSectionProperties::declaration() const { return *((IfcParse::entity*)IFC4X1_types[904]); } const IfcParse::entity& Ifc4x1::IfcSectionProperties::Class() { return *((IfcParse::entity*)IFC4X1_types[904]); } Ifc4x1::IfcSectionProperties::IfcSectionProperties(IfcEntityInstanceData&& e) : IfcPreDefinedProperties(std::move(e)) { } -Ifc4x1::IfcSectionProperties::IfcSectionProperties(::Ifc4x1::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x1::IfcProfileDef* v2_StartProfile, ::Ifc4x1::IfcProfileDef* v3_EndProfile) : IfcPreDefinedProperties(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, v2_StartProfile ? v2_StartProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EndProfile ? v3_EndProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcSectionProperties::IfcSectionProperties(::Ifc4x1::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x1::IfcProfileDef* v2_StartProfile, ::Ifc4x1::IfcProfileDef* v3_EndProfile) : IfcPreDefinedProperties(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, v2_StartProfile ? v2_StartProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EndProfile ? v3_EndProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSectionReinforcementProperties -double Ifc4x1::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x1::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = get_attribute_value(0); return v; } void Ifc4x1::IfcSectionReinforcementProperties::setLongitudinalStartPosition(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc4x1::IfcSectionReinforcementProperties::LongitudinalEndPosition() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x1::IfcSectionReinforcementProperties::LongitudinalEndPosition() const { double v = get_attribute_value(1); return v; } void Ifc4x1::IfcSectionReinforcementProperties::setLongitudinalEndPosition(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x1::IfcSectionReinforcementProperties::TransversePosition() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x1::IfcSectionReinforcementProperties::TransversePosition() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x1::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x1::IfcReinforcingBarRoleEnum::Value Ifc4x1::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x1::IfcReinforcingBarRoleEnum::FromString(data_.get_attribute_value(3)); } +::Ifc4x1::IfcReinforcingBarRoleEnum::Value Ifc4x1::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x1::IfcReinforcingBarRoleEnum::FromString(get_attribute_value(3)); } void Ifc4x1::IfcSectionReinforcementProperties::setReinforcementRole(::Ifc4x1::IfcReinforcingBarRoleEnum::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc4x1::IfcReinforcingBarRoleEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } -::Ifc4x1::IfcSectionProperties* Ifc4x1::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x1::IfcSectionProperties>(true); } +::Ifc4x1::IfcSectionProperties* Ifc4x1::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x1::IfcSectionProperties>(true); } void Ifc4x1::IfcSectionReinforcementProperties::setSectionDefinition(::Ifc4x1::IfcSectionProperties* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x1::IfcReinforcementBarProperties >::ptr Ifc4x1::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x1::IfcReinforcementBarProperties >(); } +aggregate_of< ::Ifc4x1::IfcReinforcementBarProperties >::ptr Ifc4x1::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x1::IfcReinforcementBarProperties >(); } void Ifc4x1::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(aggregate_of< ::Ifc4x1::IfcReinforcementBarProperties >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x1::IfcSectionReinforcementProperties::declaration() const { return *((IfcParse::entity*)IFC4X1_types[905]); } const IfcParse::entity& Ifc4x1::IfcSectionReinforcementProperties::Class() { return *((IfcParse::entity*)IFC4X1_types[905]); } Ifc4x1::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(IfcEntityInstanceData&& e) : IfcPreDefinedProperties(std::move(e)) { } -Ifc4x1::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, boost::optional< double > v3_TransversePosition, ::Ifc4x1::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x1::IfcSectionProperties* v5_SectionDefinition, aggregate_of< ::Ifc4x1::IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcPreDefinedProperties(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (EnumerationReference(&::Ifc4x1::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, v5_SectionDefinition ? v5_SectionDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_CrossSectionReinforcementDefinitions)->generalize());; populate_derived(); } +Ifc4x1::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, boost::optional< double > v3_TransversePosition, ::Ifc4x1::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x1::IfcSectionProperties* v5_SectionDefinition, aggregate_of< ::Ifc4x1::IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcPreDefinedProperties(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (EnumerationReference(&::Ifc4x1::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, v5_SectionDefinition ? v5_SectionDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_CrossSectionReinforcementDefinitions)->generalize());; populate_derived(); } // Function implementations for IfcSectionedSolid -::Ifc4x1::IfcCurve* Ifc4x1::IfcSectionedSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcCurve>(true); } +::Ifc4x1::IfcCurve* Ifc4x1::IfcSectionedSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcSectionedSolid::setDirectrix(::Ifc4x1::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x1::IfcProfileDef >::ptr Ifc4x1::IfcSectionedSolid::CrossSections() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x1::IfcProfileDef >(); } +aggregate_of< ::Ifc4x1::IfcProfileDef >::ptr Ifc4x1::IfcSectionedSolid::CrossSections() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x1::IfcProfileDef >(); } void Ifc4x1::IfcSectionedSolid::setCrossSections(aggregate_of< ::Ifc4x1::IfcProfileDef >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcSectionedSolid::declaration() const { return *((IfcParse::entity*)IFC4X1_types[900]); } const IfcParse::entity& Ifc4x1::IfcSectionedSolid::Class() { return *((IfcParse::entity*)IFC4X1_types[900]); } Ifc4x1::IfcSectionedSolid::IfcSectionedSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x1::IfcSectionedSolid::IfcSectionedSolid(::Ifc4x1::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x1::IfcProfileDef >::ptr v2_CrossSections) : IfcSolidModel(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());; populate_derived(); } +Ifc4x1::IfcSectionedSolid::IfcSectionedSolid(::Ifc4x1::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x1::IfcProfileDef >::ptr v2_CrossSections) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());; populate_derived(); } // Function implementations for IfcSectionedSolidHorizontal -aggregate_of< ::Ifc4x1::IfcDistanceExpression >::ptr Ifc4x1::IfcSectionedSolidHorizontal::CrossSectionPositions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x1::IfcDistanceExpression >(); } +aggregate_of< ::Ifc4x1::IfcDistanceExpression >::ptr Ifc4x1::IfcSectionedSolidHorizontal::CrossSectionPositions() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x1::IfcDistanceExpression >(); } void Ifc4x1::IfcSectionedSolidHorizontal::setCrossSectionPositions(aggregate_of< ::Ifc4x1::IfcDistanceExpression >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x1::IfcSectionedSolidHorizontal::FixedAxisVertical() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x1::IfcSectionedSolidHorizontal::FixedAxisVertical() const { bool v = get_attribute_value(3); return v; } void Ifc4x1::IfcSectionedSolidHorizontal::setFixedAxisVertical(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcSectionedSolidHorizontal::declaration() const { return *((IfcParse::entity*)IFC4X1_types[901]); } const IfcParse::entity& Ifc4x1::IfcSectionedSolidHorizontal::Class() { return *((IfcParse::entity*)IFC4X1_types[901]); } Ifc4x1::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(IfcEntityInstanceData&& e) : IfcSectionedSolid(std::move(e)) { } -Ifc4x1::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(::Ifc4x1::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x1::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x1::IfcDistanceExpression >::ptr v3_CrossSectionPositions, bool v4_FixedAxisVertical) : IfcSectionedSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());set_attribute_value(3, (v4_FixedAxisVertical));; populate_derived(); } +Ifc4x1::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(::Ifc4x1::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x1::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x1::IfcDistanceExpression >::ptr v3_CrossSectionPositions, bool v4_FixedAxisVertical) : IfcSectionedSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());set_attribute_value(3, (v4_FixedAxisVertical));; populate_derived(); } // Function implementations for IfcSectionedSpine -::Ifc4x1::IfcCompositeCurve* Ifc4x1::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcCompositeCurve>(true); } +::Ifc4x1::IfcCompositeCurve* Ifc4x1::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcCompositeCurve>(true); } void Ifc4x1::IfcSectionedSpine::setSpineCurve(::Ifc4x1::IfcCompositeCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x1::IfcProfileDef >::ptr Ifc4x1::IfcSectionedSpine::CrossSections() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x1::IfcProfileDef >(); } +aggregate_of< ::Ifc4x1::IfcProfileDef >::ptr Ifc4x1::IfcSectionedSpine::CrossSections() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x1::IfcProfileDef >(); } void Ifc4x1::IfcSectionedSpine::setCrossSections(aggregate_of< ::Ifc4x1::IfcProfileDef >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x1::IfcAxis2Placement3D >::ptr Ifc4x1::IfcSectionedSpine::CrossSectionPositions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x1::IfcAxis2Placement3D >(); } +aggregate_of< ::Ifc4x1::IfcAxis2Placement3D >::ptr Ifc4x1::IfcSectionedSpine::CrossSectionPositions() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x1::IfcAxis2Placement3D >(); } void Ifc4x1::IfcSectionedSpine::setCrossSectionPositions(aggregate_of< ::Ifc4x1::IfcAxis2Placement3D >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x1::IfcSectionedSpine::declaration() const { return *((IfcParse::entity*)IFC4X1_types[902]); } const IfcParse::entity& Ifc4x1::IfcSectionedSpine::Class() { return *((IfcParse::entity*)IFC4X1_types[902]); } Ifc4x1::IfcSectionedSpine::IfcSectionedSpine(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x1::IfcSectionedSpine::IfcSectionedSpine(::Ifc4x1::IfcCompositeCurve* v1_SpineCurve, aggregate_of< ::Ifc4x1::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x1::IfcAxis2Placement3D >::ptr v3_CrossSectionPositions) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_SpineCurve ? v1_SpineCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());; populate_derived(); } +Ifc4x1::IfcSectionedSpine::IfcSectionedSpine(::Ifc4x1::IfcCompositeCurve* v1_SpineCurve, aggregate_of< ::Ifc4x1::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x1::IfcAxis2Placement3D >::ptr v3_CrossSectionPositions) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_SpineCurve ? v1_SpineCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());; populate_derived(); } // Function implementations for IfcSensor -boost::optional< ::Ifc4x1::IfcSensorTypeEnum::Value > Ifc4x1::IfcSensor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcSensorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcSensorTypeEnum::Value > Ifc4x1::IfcSensor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcSensorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcSensor::setPredefinedType(boost::optional< ::Ifc4x1::IfcSensorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcSensorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcSensor::declaration() const { return *((IfcParse::entity*)IFC4X1_types[908]); } const IfcParse::entity& Ifc4x1::IfcSensor::Class() { return *((IfcParse::entity*)IFC4X1_types[908]); } Ifc4x1::IfcSensor::IfcSensor(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x1::IfcSensor::IfcSensor(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcSensorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcSensor::IfcSensor(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcSensorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSensorType -::Ifc4x1::IfcSensorTypeEnum::Value Ifc4x1::IfcSensorType::PredefinedType() const { return ::Ifc4x1::IfcSensorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcSensorTypeEnum::Value Ifc4x1::IfcSensorType::PredefinedType() const { return ::Ifc4x1::IfcSensorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcSensorType::setPredefinedType(::Ifc4x1::IfcSensorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcSensorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcSensorType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[909]); } const IfcParse::entity& Ifc4x1::IfcSensorType::Class() { return *((IfcParse::entity*)IFC4X1_types[909]); } Ifc4x1::IfcSensorType::IfcSensorType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x1::IfcSensorType::IfcSensorType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSensorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcSensorType::IfcSensorType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSensorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcShadingDevice -boost::optional< ::Ifc4x1::IfcShadingDeviceTypeEnum::Value > Ifc4x1::IfcShadingDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcShadingDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcShadingDeviceTypeEnum::Value > Ifc4x1::IfcShadingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcShadingDevice::setPredefinedType(boost::optional< ::Ifc4x1::IfcShadingDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcShadingDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcShadingDevice::declaration() const { return *((IfcParse::entity*)IFC4X1_types[912]); } const IfcParse::entity& Ifc4x1::IfcShadingDevice::Class() { return *((IfcParse::entity*)IFC4X1_types[912]); } Ifc4x1::IfcShadingDevice::IfcShadingDevice(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x1::IfcShadingDevice::IfcShadingDevice(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcShadingDevice::IfcShadingDevice(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcShadingDeviceType -::Ifc4x1::IfcShadingDeviceTypeEnum::Value Ifc4x1::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4x1::IfcShadingDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcShadingDeviceTypeEnum::Value Ifc4x1::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4x1::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcShadingDeviceType::setPredefinedType(::Ifc4x1::IfcShadingDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcShadingDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcShadingDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[913]); } const IfcParse::entity& Ifc4x1::IfcShadingDeviceType::Class() { return *((IfcParse::entity*)IFC4X1_types[913]); } Ifc4x1::IfcShadingDeviceType::IfcShadingDeviceType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x1::IfcShadingDeviceType::IfcShadingDeviceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcShadingDeviceType::IfcShadingDeviceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcShapeAspect -aggregate_of< ::Ifc4x1::IfcShapeModel >::ptr Ifc4x1::IfcShapeAspect::ShapeRepresentations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x1::IfcShapeModel >(); } +aggregate_of< ::Ifc4x1::IfcShapeModel >::ptr Ifc4x1::IfcShapeAspect::ShapeRepresentations() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x1::IfcShapeModel >(); } void Ifc4x1::IfcShapeAspect::setShapeRepresentations(aggregate_of< ::Ifc4x1::IfcShapeModel >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x1::IfcShapeAspect::Name() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x1::IfcShapeAspect::Name() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcShapeAspect::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x1::IfcShapeAspect::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x1::IfcShapeAspect::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcShapeAspect::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::logic::tribool Ifc4x1::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = data_.get_attribute_value(3); return v; } +boost::logic::tribool Ifc4x1::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = get_attribute_value(3); return v; } void Ifc4x1::IfcShapeAspect::setProductDefinitional(boost::logic::tribool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x1::IfcProductRepresentationSelect* Ifc4x1::IfcShapeAspect::PartOfProductDefinitionShape() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x1::IfcProductRepresentationSelect>(true); } +::Ifc4x1::IfcProductRepresentationSelect* Ifc4x1::IfcShapeAspect::PartOfProductDefinitionShape() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x1::IfcProductRepresentationSelect>(true); } void Ifc4x1::IfcShapeAspect::setPartOfProductDefinitionShape(::Ifc4x1::IfcProductRepresentationSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } ::Ifc4x1::IfcExternalReferenceRelationship::list::ptr Ifc4x1::IfcShapeAspect::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[394], 3)->as(); } @@ -14128,7 +14128,7 @@ void Ifc4x1::IfcShapeAspect::setPartOfProductDefinitionShape(::Ifc4x1::IfcProduc const IfcParse::entity& Ifc4x1::IfcShapeAspect::declaration() const { return *((IfcParse::entity*)IFC4X1_types[915]); } const IfcParse::entity& Ifc4x1::IfcShapeAspect::Class() { return *((IfcParse::entity*)IFC4X1_types[915]); } Ifc4x1::IfcShapeAspect::IfcShapeAspect(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcShapeAspect::IfcShapeAspect(aggregate_of< ::Ifc4x1::IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x1::IfcProductRepresentationSelect* v5_PartOfProductDefinitionShape) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_ShapeRepresentations)->generalize()); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, v5_PartOfProductDefinitionShape ? v5_PartOfProductDefinitionShape->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcShapeAspect::IfcShapeAspect(aggregate_of< ::Ifc4x1::IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x1::IfcProductRepresentationSelect* v5_PartOfProductDefinitionShape) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_ShapeRepresentations)->generalize()); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, v5_PartOfProductDefinitionShape ? v5_PartOfProductDefinitionShape->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcShapeModel @@ -14137,7 +14137,7 @@ Ifc4x1::IfcShapeAspect::IfcShapeAspect(aggregate_of< ::Ifc4x1::IfcShapeModel >:: const IfcParse::entity& Ifc4x1::IfcShapeModel::declaration() const { return *((IfcParse::entity*)IFC4X1_types[916]); } const IfcParse::entity& Ifc4x1::IfcShapeModel::Class() { return *((IfcParse::entity*)IFC4X1_types[916]); } Ifc4x1::IfcShapeModel::IfcShapeModel(IfcEntityInstanceData&& e) : IfcRepresentation(std::move(e)) { } -Ifc4x1::IfcShapeModel::IfcShapeModel(::Ifc4x1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x1::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x1::IfcShapeModel::IfcShapeModel(::Ifc4x1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x1::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcShapeRepresentation @@ -14145,17 +14145,17 @@ Ifc4x1::IfcShapeModel::IfcShapeModel(::Ifc4x1::IfcRepresentationContext* v1_Cont const IfcParse::entity& Ifc4x1::IfcShapeRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X1_types[917]); } const IfcParse::entity& Ifc4x1::IfcShapeRepresentation::Class() { return *((IfcParse::entity*)IFC4X1_types[917]); } Ifc4x1::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceData&& e) : IfcShapeModel(std::move(e)) { } -Ifc4x1::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x1::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x1::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x1::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcShellBasedSurfaceModel -aggregate_of< ::Ifc4x1::IfcShell >::ptr Ifc4x1::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x1::IfcShell >(); } +aggregate_of< ::Ifc4x1::IfcShell >::ptr Ifc4x1::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x1::IfcShell >(); } void Ifc4x1::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x1::IfcShell >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x1::IfcShellBasedSurfaceModel::declaration() const { return *((IfcParse::entity*)IFC4X1_types[920]); } const IfcParse::entity& Ifc4x1::IfcShellBasedSurfaceModel::Class() { return *((IfcParse::entity*)IFC4X1_types[920]); } Ifc4x1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x1::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_SbsmBoundary)->generalize());; populate_derived(); } +Ifc4x1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x1::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_SbsmBoundary)->generalize());; populate_derived(); } // Function implementations for IfcSimpleProperty @@ -14163,59 +14163,59 @@ Ifc4x1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc const IfcParse::entity& Ifc4x1::IfcSimpleProperty::declaration() const { return *((IfcParse::entity*)IFC4X1_types[921]); } const IfcParse::entity& Ifc4x1::IfcSimpleProperty::Class() { return *((IfcParse::entity*)IFC4X1_types[921]); } Ifc4x1::IfcSimpleProperty::IfcSimpleProperty(IfcEntityInstanceData&& e) : IfcProperty(std::move(e)) { } -Ifc4x1::IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcProperty(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4x1::IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcProperty(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcSimplePropertyTemplate -boost::optional< ::Ifc4x1::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x1::IfcSimplePropertyTemplate::TemplateType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x1::IfcSimplePropertyTemplateTypeEnum::FromString(data_.get_attribute_value(4)); } +boost::optional< ::Ifc4x1::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x1::IfcSimplePropertyTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x1::IfcSimplePropertyTemplateTypeEnum::FromString(get_attribute_value(4)); } void Ifc4x1::IfcSimplePropertyTemplate::setTemplateType(boost::optional< ::Ifc4x1::IfcSimplePropertyTemplateTypeEnum::Value > v) { if (v) {set_attribute_value(4, EnumerationReference(&::Ifc4x1::IfcSimplePropertyTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x1::IfcSimplePropertyTemplate::PrimaryMeasureType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x1::IfcSimplePropertyTemplate::PrimaryMeasureType() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcSimplePropertyTemplate::setPrimaryMeasureType(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x1::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x1::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x1::IfcSimplePropertyTemplate::setSecondaryMeasureType(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x1::IfcPropertyEnumeration* Ifc4x1::IfcSimplePropertyTemplate::Enumerators() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x1::IfcPropertyEnumeration>(true); } +::Ifc4x1::IfcPropertyEnumeration* Ifc4x1::IfcSimplePropertyTemplate::Enumerators() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x1::IfcPropertyEnumeration>(true); } void Ifc4x1::IfcSimplePropertyTemplate::setEnumerators(::Ifc4x1::IfcPropertyEnumeration* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x1::IfcUnit* Ifc4x1::IfcSimplePropertyTemplate::PrimaryUnit() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x1::IfcUnit>(true); } +::Ifc4x1::IfcUnit* Ifc4x1::IfcSimplePropertyTemplate::PrimaryUnit() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x1::IfcUnit>(true); } void Ifc4x1::IfcSimplePropertyTemplate::setPrimaryUnit(::Ifc4x1::IfcUnit* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -::Ifc4x1::IfcUnit* Ifc4x1::IfcSimplePropertyTemplate::SecondaryUnit() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x1::IfcUnit>(true); } +::Ifc4x1::IfcUnit* Ifc4x1::IfcSimplePropertyTemplate::SecondaryUnit() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x1::IfcUnit>(true); } void Ifc4x1::IfcSimplePropertyTemplate::setSecondaryUnit(::Ifc4x1::IfcUnit* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x1::IfcSimplePropertyTemplate::Expression() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x1::IfcSimplePropertyTemplate::Expression() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x1::IfcSimplePropertyTemplate::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< ::Ifc4x1::IfcStateEnum::Value > Ifc4x1::IfcSimplePropertyTemplate::AccessState() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x1::IfcStateEnum::FromString(data_.get_attribute_value(11)); } +boost::optional< ::Ifc4x1::IfcStateEnum::Value > Ifc4x1::IfcSimplePropertyTemplate::AccessState() const { if(get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x1::IfcStateEnum::FromString(get_attribute_value(11)); } void Ifc4x1::IfcSimplePropertyTemplate::setAccessState(boost::optional< ::Ifc4x1::IfcStateEnum::Value > v) { if (v) {set_attribute_value(11, EnumerationReference(&::Ifc4x1::IfcStateEnum::Class(), (size_t) *v));} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x1::IfcSimplePropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X1_types[922]); } const IfcParse::entity& Ifc4x1::IfcSimplePropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X1_types[922]); } Ifc4x1::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplate(std::move(e)) { } -Ifc4x1::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x1::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_PrimaryMeasureType, boost::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x1::IfcPropertyEnumeration* v8_Enumerators, ::Ifc4x1::IfcUnit* v9_PrimaryUnit, ::Ifc4x1::IfcUnit* v10_SecondaryUnit, boost::optional< std::string > v11_Expression, boost::optional< ::Ifc4x1::IfcStateEnum::Value > v12_AccessState) : IfcPropertyTemplate(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x1::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, v8_Enumerators ? v8_Enumerators->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_PrimaryUnit ? v9_PrimaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_SecondaryUnit ? v10_SecondaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (EnumerationReference(&::Ifc4x1::IfcStateEnum::Class(),(size_t)*v12_AccessState))); }; populate_derived(); } +Ifc4x1::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x1::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_PrimaryMeasureType, boost::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x1::IfcPropertyEnumeration* v8_Enumerators, ::Ifc4x1::IfcUnit* v9_PrimaryUnit, ::Ifc4x1::IfcUnit* v10_SecondaryUnit, boost::optional< std::string > v11_Expression, boost::optional< ::Ifc4x1::IfcStateEnum::Value > v12_AccessState) : IfcPropertyTemplate(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x1::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, v8_Enumerators ? v8_Enumerators->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_PrimaryUnit ? v9_PrimaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_SecondaryUnit ? v10_SecondaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (EnumerationReference(&::Ifc4x1::IfcStateEnum::Class(),(size_t)*v12_AccessState))); }; populate_derived(); } // Function implementations for IfcSite -boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x1::IfcSite::RefLatitude() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = data_.get_attribute_value(9); return v; } +boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x1::IfcSite::RefLatitude() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = get_attribute_value(9); return v; } void Ifc4x1::IfcSite::setRefLatitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x1::IfcSite::RefLongitude() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = data_.get_attribute_value(10); return v; } +boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x1::IfcSite::RefLongitude() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = get_attribute_value(10); return v; } void Ifc4x1::IfcSite::setRefLongitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x1::IfcSite::RefElevation() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x1::IfcSite::RefElevation() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x1::IfcSite::setRefElevation(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x1::IfcSite::LandTitleNumber() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x1::IfcSite::LandTitleNumber() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x1::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4x1::IfcPostalAddress* Ifc4x1::IfcSite::SiteAddress() const { if(data_.get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(13)))->as<::Ifc4x1::IfcPostalAddress>(true); } +::Ifc4x1::IfcPostalAddress* Ifc4x1::IfcSite::SiteAddress() const { if(get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(13)))->as<::Ifc4x1::IfcPostalAddress>(true); } void Ifc4x1::IfcSite::setSiteAddress(::Ifc4x1::IfcPostalAddress* v) { set_attribute_value(13, v->as());if constexpr (false)unset_attribute_value(13); } const IfcParse::entity& Ifc4x1::IfcSite::declaration() const { return *((IfcParse::entity*)IFC4X1_types[926]); } const IfcParse::entity& Ifc4x1::IfcSite::Class() { return *((IfcParse::entity*)IFC4X1_types[926]); } Ifc4x1::IfcSite::IfcSite(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x1::IfcSite::IfcSite(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x1::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, ::Ifc4x1::IfcPostalAddress* v14_SiteAddress) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, v14_SiteAddress ? v14_SiteAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcSite::IfcSite(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x1::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, ::Ifc4x1::IfcPostalAddress* v14_SiteAddress) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, v14_SiteAddress ? v14_SiteAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSlab -boost::optional< ::Ifc4x1::IfcSlabTypeEnum::Value > Ifc4x1::IfcSlab::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcSlabTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcSlabTypeEnum::Value > Ifc4x1::IfcSlab::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcSlabTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcSlab::setPredefinedType(boost::optional< ::Ifc4x1::IfcSlabTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcSlabTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcSlab::declaration() const { return *((IfcParse::entity*)IFC4X1_types[930]); } const IfcParse::entity& Ifc4x1::IfcSlab::Class() { return *((IfcParse::entity*)IFC4X1_types[930]); } Ifc4x1::IfcSlab::IfcSlab(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x1::IfcSlab::IfcSlab(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcSlab::IfcSlab(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSlabElementedCase @@ -14223,7 +14223,7 @@ Ifc4x1::IfcSlab::IfcSlab(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_ const IfcParse::entity& Ifc4x1::IfcSlabElementedCase::declaration() const { return *((IfcParse::entity*)IFC4X1_types[931]); } const IfcParse::entity& Ifc4x1::IfcSlabElementedCase::Class() { return *((IfcParse::entity*)IFC4X1_types[931]); } Ifc4x1::IfcSlabElementedCase::IfcSlabElementedCase(IfcEntityInstanceData&& e) : IfcSlab(std::move(e)) { } -Ifc4x1::IfcSlabElementedCase::IfcSlabElementedCase(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcSlab(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcSlabElementedCase::IfcSlabElementedCase(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcSlab(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSlabStandardCase @@ -14231,51 +14231,51 @@ Ifc4x1::IfcSlabElementedCase::IfcSlabElementedCase(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x1::IfcSlabStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X1_types[932]); } const IfcParse::entity& Ifc4x1::IfcSlabStandardCase::Class() { return *((IfcParse::entity*)IFC4X1_types[932]); } Ifc4x1::IfcSlabStandardCase::IfcSlabStandardCase(IfcEntityInstanceData&& e) : IfcSlab(std::move(e)) { } -Ifc4x1::IfcSlabStandardCase::IfcSlabStandardCase(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcSlab(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcSlabStandardCase::IfcSlabStandardCase(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcSlab(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSlabType -::Ifc4x1::IfcSlabTypeEnum::Value Ifc4x1::IfcSlabType::PredefinedType() const { return ::Ifc4x1::IfcSlabTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcSlabTypeEnum::Value Ifc4x1::IfcSlabType::PredefinedType() const { return ::Ifc4x1::IfcSlabTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcSlabType::setPredefinedType(::Ifc4x1::IfcSlabTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcSlabTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcSlabType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[933]); } const IfcParse::entity& Ifc4x1::IfcSlabType::Class() { return *((IfcParse::entity*)IFC4X1_types[933]); } Ifc4x1::IfcSlabType::IfcSlabType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x1::IfcSlabType::IfcSlabType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSlabTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcSlabType::IfcSlabType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSlabTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSlippageConnectionCondition -boost::optional< double > Ifc4x1::IfcSlippageConnectionCondition::SlippageX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x1::IfcSlippageConnectionCondition::SlippageX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x1::IfcSlippageConnectionCondition::setSlippageX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x1::IfcSlippageConnectionCondition::SlippageY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x1::IfcSlippageConnectionCondition::SlippageY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x1::IfcSlippageConnectionCondition::setSlippageY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x1::IfcSlippageConnectionCondition::SlippageZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x1::IfcSlippageConnectionCondition::SlippageZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x1::IfcSlippageConnectionCondition::setSlippageZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x1::IfcSlippageConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC4X1_types[935]); } const IfcParse::entity& Ifc4x1::IfcSlippageConnectionCondition::Class() { return *((IfcParse::entity*)IFC4X1_types[935]); } Ifc4x1::IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(IfcEntityInstanceData&& e) : IfcStructuralConnectionCondition(std::move(e)) { } -Ifc4x1::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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; populate_derived(); } +Ifc4x1::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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; populate_derived(); } // Function implementations for IfcSolarDevice -boost::optional< ::Ifc4x1::IfcSolarDeviceTypeEnum::Value > Ifc4x1::IfcSolarDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcSolarDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcSolarDeviceTypeEnum::Value > Ifc4x1::IfcSolarDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcSolarDevice::setPredefinedType(boost::optional< ::Ifc4x1::IfcSolarDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcSolarDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcSolarDevice::declaration() const { return *((IfcParse::entity*)IFC4X1_types[936]); } const IfcParse::entity& Ifc4x1::IfcSolarDevice::Class() { return *((IfcParse::entity*)IFC4X1_types[936]); } Ifc4x1::IfcSolarDevice::IfcSolarDevice(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x1::IfcSolarDevice::IfcSolarDevice(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcSolarDevice::IfcSolarDevice(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSolarDeviceType -::Ifc4x1::IfcSolarDeviceTypeEnum::Value Ifc4x1::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4x1::IfcSolarDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcSolarDeviceTypeEnum::Value Ifc4x1::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4x1::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcSolarDeviceType::setPredefinedType(::Ifc4x1::IfcSolarDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcSolarDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcSolarDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[937]); } const IfcParse::entity& Ifc4x1::IfcSolarDeviceType::Class() { return *((IfcParse::entity*)IFC4X1_types[937]); } Ifc4x1::IfcSolarDeviceType::IfcSolarDeviceType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x1::IfcSolarDeviceType::IfcSolarDeviceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcSolarDeviceType::IfcSolarDeviceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSolidModel @@ -14283,12 +14283,12 @@ Ifc4x1::IfcSolarDeviceType::IfcSolarDeviceType(std::string v1_GlobalId, ::Ifc4x1 const IfcParse::entity& Ifc4x1::IfcSolidModel::declaration() const { return *((IfcParse::entity*)IFC4X1_types[940]); } const IfcParse::entity& Ifc4x1::IfcSolidModel::Class() { return *((IfcParse::entity*)IFC4X1_types[940]); } Ifc4x1::IfcSolidModel::IfcSolidModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x1::IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x1::IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcSpace -boost::optional< ::Ifc4x1::IfcSpaceTypeEnum::Value > Ifc4x1::IfcSpace::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x1::IfcSpaceTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x1::IfcSpaceTypeEnum::Value > Ifc4x1::IfcSpace::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x1::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcSpace::setPredefinedType(boost::optional< ::Ifc4x1::IfcSpaceTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcSpaceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x1::IfcSpace::ElevationWithFlooring() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x1::IfcSpace::ElevationWithFlooring() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x1::IfcSpace::setElevationWithFlooring(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } ::Ifc4x1::IfcRelCoversSpaces::list::ptr Ifc4x1::IfcSpace::HasCoverings() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[848], 4)->as(); } @@ -14297,42 +14297,42 @@ void Ifc4x1::IfcSpace::setElevationWithFlooring(boost::optional< double > v) { i const IfcParse::entity& Ifc4x1::IfcSpace::declaration() const { return *((IfcParse::entity*)IFC4X1_types[946]); } const IfcParse::entity& Ifc4x1::IfcSpace::Class() { return *((IfcParse::entity*)IFC4X1_types[946]); } Ifc4x1::IfcSpace::IfcSpace(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x1::IfcSpace::IfcSpace(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x1::IfcSpaceTypeEnum::Value > v10_PredefinedType, boost::optional< double > v11_ElevationWithFlooring) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; populate_derived(); } +Ifc4x1::IfcSpace::IfcSpace(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x1::IfcSpaceTypeEnum::Value > v10_PredefinedType, boost::optional< double > v11_ElevationWithFlooring) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; populate_derived(); } // Function implementations for IfcSpaceHeater -boost::optional< ::Ifc4x1::IfcSpaceHeaterTypeEnum::Value > Ifc4x1::IfcSpaceHeater::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcSpaceHeaterTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcSpaceHeaterTypeEnum::Value > Ifc4x1::IfcSpaceHeater::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcSpaceHeater::setPredefinedType(boost::optional< ::Ifc4x1::IfcSpaceHeaterTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcSpaceHeaterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcSpaceHeater::declaration() const { return *((IfcParse::entity*)IFC4X1_types[948]); } const IfcParse::entity& Ifc4x1::IfcSpaceHeater::Class() { return *((IfcParse::entity*)IFC4X1_types[948]); } Ifc4x1::IfcSpaceHeater::IfcSpaceHeater(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x1::IfcSpaceHeater::IfcSpaceHeater(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcSpaceHeater::IfcSpaceHeater(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSpaceHeaterType -::Ifc4x1::IfcSpaceHeaterTypeEnum::Value Ifc4x1::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4x1::IfcSpaceHeaterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcSpaceHeaterTypeEnum::Value Ifc4x1::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4x1::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcSpaceHeaterType::setPredefinedType(::Ifc4x1::IfcSpaceHeaterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcSpaceHeaterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcSpaceHeaterType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[949]); } const IfcParse::entity& Ifc4x1::IfcSpaceHeaterType::Class() { return *((IfcParse::entity*)IFC4X1_types[949]); } Ifc4x1::IfcSpaceHeaterType::IfcSpaceHeaterType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x1::IfcSpaceHeaterType::IfcSpaceHeaterType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcSpaceHeaterType::IfcSpaceHeaterType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSpaceType -::Ifc4x1::IfcSpaceTypeEnum::Value Ifc4x1::IfcSpaceType::PredefinedType() const { return ::Ifc4x1::IfcSpaceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcSpaceTypeEnum::Value Ifc4x1::IfcSpaceType::PredefinedType() const { return ::Ifc4x1::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcSpaceType::setPredefinedType(::Ifc4x1::IfcSpaceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcSpaceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x1::IfcSpaceType::LongName() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x1::IfcSpaceType::LongName() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x1::IfcSpaceType::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x1::IfcSpaceType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[951]); } const IfcParse::entity& Ifc4x1::IfcSpaceType::Class() { return *((IfcParse::entity*)IFC4X1_types[951]); } Ifc4x1::IfcSpaceType::IfcSpaceType(IfcEntityInstanceData&& e) : IfcSpatialStructureElementType(std::move(e)) { } -Ifc4x1::IfcSpaceType::IfcSpaceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSpaceTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialStructureElementType(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } +Ifc4x1::IfcSpaceType::IfcSpaceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSpaceTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialStructureElementType(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } // Function implementations for IfcSpatialElement -boost::optional< std::string > Ifc4x1::IfcSpatialElement::LongName() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x1::IfcSpatialElement::LongName() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x1::IfcSpatialElement::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } ::Ifc4x1::IfcRelContainedInSpatialStructure::list::ptr Ifc4x1::IfcSpatialElement::ContainsElements() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[846], 5)->as(); } @@ -14342,27 +14342,27 @@ void Ifc4x1::IfcSpatialElement::setLongName(boost::optional< std::string > v) { const IfcParse::entity& Ifc4x1::IfcSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[953]); } const IfcParse::entity& Ifc4x1::IfcSpatialElement::Class() { return *((IfcParse::entity*)IFC4X1_types[953]); } Ifc4x1::IfcSpatialElement::IfcSpatialElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x1::IfcSpatialElement::IfcSpatialElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcProduct(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } +Ifc4x1::IfcSpatialElement::IfcSpatialElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } // Function implementations for IfcSpatialElementType -boost::optional< std::string > Ifc4x1::IfcSpatialElementType::ElementType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x1::IfcSpatialElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x1::IfcSpatialElementType::setElementType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcSpatialElementType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[954]); } const IfcParse::entity& Ifc4x1::IfcSpatialElementType::Class() { return *((IfcParse::entity*)IFC4X1_types[954]); } Ifc4x1::IfcSpatialElementType::IfcSpatialElementType(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(e)) { } -Ifc4x1::IfcSpatialElementType::IfcSpatialElementType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x1::IfcSpatialElementType::IfcSpatialElementType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcSpatialStructureElement -boost::optional< ::Ifc4x1::IfcElementCompositionEnum::Value > Ifc4x1::IfcSpatialStructureElement::CompositionType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcElementCompositionEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcElementCompositionEnum::Value > Ifc4x1::IfcSpatialStructureElement::CompositionType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcElementCompositionEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcSpatialStructureElement::setCompositionType(boost::optional< ::Ifc4x1::IfcElementCompositionEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcElementCompositionEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcSpatialStructureElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[955]); } const IfcParse::entity& Ifc4x1::IfcSpatialStructureElement::Class() { return *((IfcParse::entity*)IFC4X1_types[955]); } Ifc4x1::IfcSpatialStructureElement::IfcSpatialStructureElement(IfcEntityInstanceData&& e) : IfcSpatialElement(std::move(e)) { } -Ifc4x1::IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x1::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } +Ifc4x1::IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x1::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } // Function implementations for IfcSpatialStructureElementType @@ -14370,132 +14370,132 @@ Ifc4x1::IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v1_Gl const IfcParse::entity& Ifc4x1::IfcSpatialStructureElementType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[956]); } const IfcParse::entity& Ifc4x1::IfcSpatialStructureElementType::Class() { return *((IfcParse::entity*)IFC4X1_types[956]); } Ifc4x1::IfcSpatialStructureElementType::IfcSpatialStructureElementType(IfcEntityInstanceData&& e) : IfcSpatialElementType(std::move(e)) { } -Ifc4x1::IfcSpatialStructureElementType::IfcSpatialStructureElementType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcSpatialElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x1::IfcSpatialStructureElementType::IfcSpatialStructureElementType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcSpatialElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcSpatialZone -boost::optional< ::Ifc4x1::IfcSpatialZoneTypeEnum::Value > Ifc4x1::IfcSpatialZone::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcSpatialZoneTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcSpatialZoneTypeEnum::Value > Ifc4x1::IfcSpatialZone::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcSpatialZone::setPredefinedType(boost::optional< ::Ifc4x1::IfcSpatialZoneTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcSpatialZoneTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcSpatialZone::declaration() const { return *((IfcParse::entity*)IFC4X1_types[957]); } const IfcParse::entity& Ifc4x1::IfcSpatialZone::Class() { return *((IfcParse::entity*)IFC4X1_types[957]); } Ifc4x1::IfcSpatialZone::IfcSpatialZone(IfcEntityInstanceData&& e) : IfcSpatialElement(std::move(e)) { } -Ifc4x1::IfcSpatialZone::IfcSpatialZone(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x1::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) : IfcSpatialElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcSpatialZone::IfcSpatialZone(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x1::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) : IfcSpatialElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSpatialZoneType -::Ifc4x1::IfcSpatialZoneTypeEnum::Value Ifc4x1::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x1::IfcSpatialZoneTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcSpatialZoneTypeEnum::Value Ifc4x1::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x1::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcSpatialZoneType::setPredefinedType(::Ifc4x1::IfcSpatialZoneTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcSpatialZoneTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x1::IfcSpatialZoneType::LongName() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x1::IfcSpatialZoneType::LongName() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x1::IfcSpatialZoneType::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x1::IfcSpatialZoneType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[958]); } const IfcParse::entity& Ifc4x1::IfcSpatialZoneType::Class() { return *((IfcParse::entity*)IFC4X1_types[958]); } Ifc4x1::IfcSpatialZoneType::IfcSpatialZoneType(IfcEntityInstanceData&& e) : IfcSpatialElementType(std::move(e)) { } -Ifc4x1::IfcSpatialZoneType::IfcSpatialZoneType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialElementType(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } +Ifc4x1::IfcSpatialZoneType::IfcSpatialZoneType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialElementType(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } // Function implementations for IfcSphere -double Ifc4x1::IfcSphere::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x1::IfcSphere::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x1::IfcSphere::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcSphere::declaration() const { return *((IfcParse::entity*)IFC4X1_types[964]); } const IfcParse::entity& Ifc4x1::IfcSphere::Class() { return *((IfcParse::entity*)IFC4X1_types[964]); } Ifc4x1::IfcSphere::IfcSphere(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x1::IfcSphere::IfcSphere(::Ifc4x1::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x1::IfcSphere::IfcSphere(::Ifc4x1::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcSphericalSurface -double Ifc4x1::IfcSphericalSurface::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x1::IfcSphericalSurface::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x1::IfcSphericalSurface::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcSphericalSurface::declaration() const { return *((IfcParse::entity*)IFC4X1_types[965]); } const IfcParse::entity& Ifc4x1::IfcSphericalSurface::Class() { return *((IfcParse::entity*)IFC4X1_types[965]); } Ifc4x1::IfcSphericalSurface::IfcSphericalSurface(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x1::IfcSphericalSurface::IfcSphericalSurface(::Ifc4x1::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x1::IfcSphericalSurface::IfcSphericalSurface(::Ifc4x1::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcStackTerminal -boost::optional< ::Ifc4x1::IfcStackTerminalTypeEnum::Value > Ifc4x1::IfcStackTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcStackTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcStackTerminalTypeEnum::Value > Ifc4x1::IfcStackTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcStackTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcStackTerminal::setPredefinedType(boost::optional< ::Ifc4x1::IfcStackTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcStackTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcStackTerminal::declaration() const { return *((IfcParse::entity*)IFC4X1_types[966]); } const IfcParse::entity& Ifc4x1::IfcStackTerminal::Class() { return *((IfcParse::entity*)IFC4X1_types[966]); } Ifc4x1::IfcStackTerminal::IfcStackTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x1::IfcStackTerminal::IfcStackTerminal(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcStackTerminal::IfcStackTerminal(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcStackTerminalType -::Ifc4x1::IfcStackTerminalTypeEnum::Value Ifc4x1::IfcStackTerminalType::PredefinedType() const { return ::Ifc4x1::IfcStackTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcStackTerminalTypeEnum::Value Ifc4x1::IfcStackTerminalType::PredefinedType() const { return ::Ifc4x1::IfcStackTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcStackTerminalType::setPredefinedType(::Ifc4x1::IfcStackTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcStackTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcStackTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[967]); } const IfcParse::entity& Ifc4x1::IfcStackTerminalType::Class() { return *((IfcParse::entity*)IFC4X1_types[967]); } Ifc4x1::IfcStackTerminalType::IfcStackTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x1::IfcStackTerminalType::IfcStackTerminalType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcStackTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcStackTerminalType::IfcStackTerminalType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcStackTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStair -boost::optional< ::Ifc4x1::IfcStairTypeEnum::Value > Ifc4x1::IfcStair::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcStairTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcStairTypeEnum::Value > Ifc4x1::IfcStair::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcStairTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcStair::setPredefinedType(boost::optional< ::Ifc4x1::IfcStairTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcStairTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcStair::declaration() const { return *((IfcParse::entity*)IFC4X1_types[969]); } const IfcParse::entity& Ifc4x1::IfcStair::Class() { return *((IfcParse::entity*)IFC4X1_types[969]); } Ifc4x1::IfcStair::IfcStair(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x1::IfcStair::IfcStair(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcStairTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcStair::IfcStair(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcStairTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcStairFlight -boost::optional< int > Ifc4x1::IfcStairFlight::NumberOfRisers() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } int v = data_.get_attribute_value(8); return v; } +boost::optional< int > Ifc4x1::IfcStairFlight::NumberOfRisers() const { if(get_attribute_value(8).isNull()) { return boost::none; } int v = get_attribute_value(8); return v; } void Ifc4x1::IfcStairFlight::setNumberOfRisers(boost::optional< int > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< int > Ifc4x1::IfcStairFlight::NumberOfTreads() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } int v = data_.get_attribute_value(9); return v; } +boost::optional< int > Ifc4x1::IfcStairFlight::NumberOfTreads() const { if(get_attribute_value(9).isNull()) { return boost::none; } int v = get_attribute_value(9); return v; } void Ifc4x1::IfcStairFlight::setNumberOfTreads(boost::optional< int > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x1::IfcStairFlight::RiserHeight() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x1::IfcStairFlight::RiserHeight() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x1::IfcStairFlight::setRiserHeight(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x1::IfcStairFlight::TreadLength() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x1::IfcStairFlight::TreadLength() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x1::IfcStairFlight::setTreadLength(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< ::Ifc4x1::IfcStairFlightTypeEnum::Value > Ifc4x1::IfcStairFlight::PredefinedType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x1::IfcStairFlightTypeEnum::FromString(data_.get_attribute_value(12)); } +boost::optional< ::Ifc4x1::IfcStairFlightTypeEnum::Value > Ifc4x1::IfcStairFlight::PredefinedType() const { if(get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x1::IfcStairFlightTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x1::IfcStairFlight::setPredefinedType(boost::optional< ::Ifc4x1::IfcStairFlightTypeEnum::Value > v) { if (v) {set_attribute_value(12, EnumerationReference(&::Ifc4x1::IfcStairFlightTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x1::IfcStairFlight::declaration() const { return *((IfcParse::entity*)IFC4X1_types[970]); } const IfcParse::entity& Ifc4x1::IfcStairFlight::Class() { return *((IfcParse::entity*)IFC4X1_types[970]); } Ifc4x1::IfcStairFlight::IfcStairFlight(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x1::IfcStairFlight::IfcStairFlight(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRisers, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength, boost::optional< ::Ifc4x1::IfcStairFlightTypeEnum::Value > v13_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x1::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcStairFlight::IfcStairFlight(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRisers, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength, boost::optional< ::Ifc4x1::IfcStairFlightTypeEnum::Value > v13_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x1::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } // Function implementations for IfcStairFlightType -::Ifc4x1::IfcStairFlightTypeEnum::Value Ifc4x1::IfcStairFlightType::PredefinedType() const { return ::Ifc4x1::IfcStairFlightTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcStairFlightTypeEnum::Value Ifc4x1::IfcStairFlightType::PredefinedType() const { return ::Ifc4x1::IfcStairFlightTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcStairFlightType::setPredefinedType(::Ifc4x1::IfcStairFlightTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcStairFlightTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcStairFlightType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[971]); } const IfcParse::entity& Ifc4x1::IfcStairFlightType::Class() { return *((IfcParse::entity*)IFC4X1_types[971]); } Ifc4x1::IfcStairFlightType::IfcStairFlightType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x1::IfcStairFlightType::IfcStairFlightType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcStairFlightTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcStairFlightType::IfcStairFlightType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcStairFlightTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStairType -::Ifc4x1::IfcStairTypeEnum::Value Ifc4x1::IfcStairType::PredefinedType() const { return ::Ifc4x1::IfcStairTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcStairTypeEnum::Value Ifc4x1::IfcStairType::PredefinedType() const { return ::Ifc4x1::IfcStairTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcStairType::setPredefinedType(::Ifc4x1::IfcStairTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcStairTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcStairType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[973]); } const IfcParse::entity& Ifc4x1::IfcStairType::Class() { return *((IfcParse::entity*)IFC4X1_types[973]); } Ifc4x1::IfcStairType::IfcStairType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x1::IfcStairType::IfcStairType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcStairTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcStairType::IfcStairType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcStairTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralAction -boost::optional< bool > Ifc4x1::IfcStructuralAction::DestabilizingLoad() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } bool v = data_.get_attribute_value(9); return v; } +boost::optional< bool > Ifc4x1::IfcStructuralAction::DestabilizingLoad() const { if(get_attribute_value(9).isNull()) { return boost::none; } bool v = get_attribute_value(9); return v; } void Ifc4x1::IfcStructuralAction::setDestabilizingLoad(boost::optional< bool > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x1::IfcStructuralAction::declaration() const { return *((IfcParse::entity*)IFC4X1_types[976]); } const IfcParse::entity& Ifc4x1::IfcStructuralAction::Class() { return *((IfcParse::entity*)IFC4X1_types[976]); } Ifc4x1::IfcStructuralAction::IfcStructuralAction(IfcEntityInstanceData&& e) : IfcStructuralActivity(std::move(e)) { } -Ifc4x1::IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralActivity(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } +Ifc4x1::IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralActivity(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } // Function implementations for IfcStructuralActivity -::Ifc4x1::IfcStructuralLoad* Ifc4x1::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x1::IfcStructuralLoad>(true); } +::Ifc4x1::IfcStructuralLoad* Ifc4x1::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x1::IfcStructuralLoad>(true); } void Ifc4x1::IfcStructuralActivity::setAppliedLoad(::Ifc4x1::IfcStructuralLoad* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x1::IfcGlobalOrLocalEnum::Value Ifc4x1::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x1::IfcGlobalOrLocalEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x1::IfcGlobalOrLocalEnum::Value Ifc4x1::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x1::IfcGlobalOrLocalEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcStructuralActivity::setGlobalOrLocal(::Ifc4x1::IfcGlobalOrLocalEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } ::Ifc4x1::IfcRelConnectsStructuralActivity::list::ptr Ifc4x1::IfcStructuralActivity::AssignedToStructuralItem() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[842], 5)->as(); } @@ -14503,28 +14503,28 @@ void Ifc4x1::IfcStructuralActivity::setGlobalOrLocal(::Ifc4x1::IfcGlobalOrLocalE const IfcParse::entity& Ifc4x1::IfcStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC4X1_types[977]); } const IfcParse::entity& Ifc4x1::IfcStructuralActivity::Class() { return *((IfcParse::entity*)IFC4X1_types[977]); } Ifc4x1::IfcStructuralActivity::IfcStructuralActivity(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x1::IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +Ifc4x1::IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralAnalysisModel -::Ifc4x1::IfcAnalysisModelTypeEnum::Value Ifc4x1::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x1::IfcAnalysisModelTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x1::IfcAnalysisModelTypeEnum::Value Ifc4x1::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x1::IfcAnalysisModelTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x1::IfcStructuralAnalysisModel::setPredefinedType(::Ifc4x1::IfcAnalysisModelTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x1::IfcAnalysisModelTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x1::IfcAxis2Placement3D>(true); } +::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x1::IfcAxis2Placement3D>(true); } void Ifc4x1::IfcStructuralAnalysisModel::setOrientationOf2DPlane(::Ifc4x1::IfcAxis2Placement3D* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< aggregate_of< ::Ifc4x1::IfcStructuralLoadGroup >::ptr > Ifc4x1::IfcStructuralAnalysisModel::LoadedBy() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x1::IfcStructuralLoadGroup >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcStructuralLoadGroup >::ptr > Ifc4x1::IfcStructuralAnalysisModel::LoadedBy() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x1::IfcStructuralLoadGroup >(); } void Ifc4x1::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc4x1::IfcStructuralLoadGroup >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< aggregate_of< ::Ifc4x1::IfcStructuralResultGroup >::ptr > Ifc4x1::IfcStructuralAnalysisModel::HasResults() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x1::IfcStructuralResultGroup >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcStructuralResultGroup >::ptr > Ifc4x1::IfcStructuralAnalysisModel::HasResults() const { if(get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x1::IfcStructuralResultGroup >(); } void Ifc4x1::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc4x1::IfcStructuralResultGroup >::ptr > v) { if (v) {set_attribute_value(8, (*v)->generalize());} else {unset_attribute_value(8);} } -::Ifc4x1::IfcObjectPlacement* Ifc4x1::IfcStructuralAnalysisModel::SharedPlacement() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x1::IfcObjectPlacement>(true); } +::Ifc4x1::IfcObjectPlacement* Ifc4x1::IfcStructuralAnalysisModel::SharedPlacement() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x1::IfcObjectPlacement>(true); } void Ifc4x1::IfcStructuralAnalysisModel::setSharedPlacement(::Ifc4x1::IfcObjectPlacement* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcStructuralAnalysisModel::declaration() const { return *((IfcParse::entity*)IFC4X1_types[979]); } const IfcParse::entity& Ifc4x1::IfcStructuralAnalysisModel::Class() { return *((IfcParse::entity*)IFC4X1_types[979]); } Ifc4x1::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x1::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x1::IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< aggregate_of< ::Ifc4x1::IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< aggregate_of< ::Ifc4x1::IfcStructuralResultGroup >::ptr > v9_HasResults, ::Ifc4x1::IfcObjectPlacement* v10_SharedPlacement) : IfcSystem(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, v7_OrientationOf2DPlane ? v7_OrientationOf2DPlane->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LoadedBy) {set_attribute_value(7, (*v8_LoadedBy)->generalize()); } if (v9_HasResults) {set_attribute_value(8, (*v9_HasResults)->generalize()); }set_attribute_value(9, v10_SharedPlacement ? v10_SharedPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x1::IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< aggregate_of< ::Ifc4x1::IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< aggregate_of< ::Ifc4x1::IfcStructuralResultGroup >::ptr > v9_HasResults, ::Ifc4x1::IfcObjectPlacement* v10_SharedPlacement) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, v7_OrientationOf2DPlane ? v7_OrientationOf2DPlane->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LoadedBy) {set_attribute_value(7, (*v8_LoadedBy)->generalize()); } if (v9_HasResults) {set_attribute_value(8, (*v9_HasResults)->generalize()); }set_attribute_value(9, v10_SharedPlacement ? v10_SharedPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralConnection -::Ifc4x1::IfcBoundaryCondition* Ifc4x1::IfcStructuralConnection::AppliedCondition() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x1::IfcBoundaryCondition>(true); } +::Ifc4x1::IfcBoundaryCondition* Ifc4x1::IfcStructuralConnection::AppliedCondition() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x1::IfcBoundaryCondition>(true); } void Ifc4x1::IfcStructuralConnection::setAppliedCondition(::Ifc4x1::IfcBoundaryCondition* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } ::Ifc4x1::IfcRelConnectsStructuralMember::list::ptr Ifc4x1::IfcStructuralConnection::ConnectsStructuralMembers() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[843], 5)->as(); } @@ -14532,51 +14532,51 @@ void Ifc4x1::IfcStructuralConnection::setAppliedCondition(::Ifc4x1::IfcBoundaryC const IfcParse::entity& Ifc4x1::IfcStructuralConnection::declaration() const { return *((IfcParse::entity*)IFC4X1_types[980]); } const IfcParse::entity& Ifc4x1::IfcStructuralConnection::Class() { return *((IfcParse::entity*)IFC4X1_types[980]); } Ifc4x1::IfcStructuralConnection::IfcStructuralConnection(IfcEntityInstanceData&& e) : IfcStructuralItem(std::move(e)) { } -Ifc4x1::IfcStructuralConnection::IfcStructuralConnection(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralItem(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcStructuralConnection::IfcStructuralConnection(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralItem(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralConnectionCondition -boost::optional< std::string > Ifc4x1::IfcStructuralConnectionCondition::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x1::IfcStructuralConnectionCondition::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcStructuralConnectionCondition::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x1::IfcStructuralConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC4X1_types[981]); } const IfcParse::entity& Ifc4x1::IfcStructuralConnectionCondition::Class() { return *((IfcParse::entity*)IFC4X1_types[981]); } Ifc4x1::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x1::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralCurveAction -boost::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > Ifc4x1::IfcStructuralCurveAction::ProjectedOrTrue() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x1::IfcProjectedOrTrueLengthEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > Ifc4x1::IfcStructuralCurveAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x1::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } void Ifc4x1::IfcStructuralCurveAction::setProjectedOrTrue(boost::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x1::IfcProjectedOrTrueLengthEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value Ifc4x1::IfcStructuralCurveAction::PredefinedType() const { return ::Ifc4x1::IfcStructuralCurveActivityTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value Ifc4x1::IfcStructuralCurveAction::PredefinedType() const { return ::Ifc4x1::IfcStructuralCurveActivityTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x1::IfcStructuralCurveAction::setPredefinedType(::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x1::IfcStructuralCurveAction::declaration() const { return *((IfcParse::entity*)IFC4X1_types[982]); } const IfcParse::entity& Ifc4x1::IfcStructuralCurveAction::Class() { return *((IfcParse::entity*)IFC4X1_types[982]); } Ifc4x1::IfcStructuralCurveAction::IfcStructuralCurveAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -Ifc4x1::IfcStructuralCurveAction::IfcStructuralCurveAction(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcStructuralCurveAction::IfcStructuralCurveAction(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralCurveConnection -::Ifc4x1::IfcDirection* Ifc4x1::IfcStructuralCurveConnection::Axis() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x1::IfcDirection>(true); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcStructuralCurveConnection::Axis() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcStructuralCurveConnection::setAxis(::Ifc4x1::IfcDirection* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x1::IfcStructuralCurveConnection::declaration() const { return *((IfcParse::entity*)IFC4X1_types[984]); } const IfcParse::entity& Ifc4x1::IfcStructuralCurveConnection::Class() { return *((IfcParse::entity*)IFC4X1_types[984]); } Ifc4x1::IfcStructuralCurveConnection::IfcStructuralCurveConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -Ifc4x1::IfcStructuralCurveConnection::IfcStructuralCurveConnection(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x1::IfcDirection* v9_Axis) : IfcStructuralConnection(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcStructuralCurveConnection::IfcStructuralCurveConnection(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x1::IfcDirection* v9_Axis) : IfcStructuralConnection(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralCurveMember -::Ifc4x1::IfcStructuralCurveMemberTypeEnum::Value Ifc4x1::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x1::IfcStructuralCurveMemberTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x1::IfcStructuralCurveMemberTypeEnum::Value Ifc4x1::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x1::IfcStructuralCurveMemberTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x1::IfcStructuralCurveMember::setPredefinedType(::Ifc4x1::IfcStructuralCurveMemberTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x1::IfcStructuralCurveMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x1::IfcDirection* Ifc4x1::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x1::IfcDirection>(true); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcStructuralCurveMember::setAxis(::Ifc4x1::IfcDirection* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x1::IfcStructuralCurveMember::declaration() const { return *((IfcParse::entity*)IFC4X1_types[985]); } const IfcParse::entity& Ifc4x1::IfcStructuralCurveMember::Class() { return *((IfcParse::entity*)IFC4X1_types[985]); } Ifc4x1::IfcStructuralCurveMember::IfcStructuralCurveMember(IfcEntityInstanceData&& e) : IfcStructuralMember(std::move(e)) { } -Ifc4x1::IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x1::IfcDirection* v9_Axis) : IfcStructuralMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x1::IfcDirection* v9_Axis) : IfcStructuralMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralCurveMemberVarying @@ -14584,17 +14584,17 @@ Ifc4x1::IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_Global const IfcParse::entity& Ifc4x1::IfcStructuralCurveMemberVarying::declaration() const { return *((IfcParse::entity*)IFC4X1_types[987]); } const IfcParse::entity& Ifc4x1::IfcStructuralCurveMemberVarying::Class() { return *((IfcParse::entity*)IFC4X1_types[987]); } Ifc4x1::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(IfcEntityInstanceData&& e) : IfcStructuralCurveMember(std::move(e)) { } -Ifc4x1::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x1::IfcDirection* v9_Axis) : IfcStructuralCurveMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x1::IfcDirection* v9_Axis) : IfcStructuralCurveMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralCurveReaction -::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value Ifc4x1::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4x1::IfcStructuralCurveActivityTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value Ifc4x1::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4x1::IfcStructuralCurveActivityTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcStructuralCurveReaction::setPredefinedType(::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcStructuralCurveReaction::declaration() const { return *((IfcParse::entity*)IFC4X1_types[988]); } const IfcParse::entity& Ifc4x1::IfcStructuralCurveReaction::Class() { return *((IfcParse::entity*)IFC4X1_types[988]); } Ifc4x1::IfcStructuralCurveReaction::IfcStructuralCurveReaction(IfcEntityInstanceData&& e) : IfcStructuralReaction(std::move(e)) { } -Ifc4x1::IfcStructuralCurveReaction::IfcStructuralCurveReaction(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcStructuralCurveReaction::IfcStructuralCurveReaction(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralItem @@ -14603,7 +14603,7 @@ Ifc4x1::IfcStructuralCurveReaction::IfcStructuralCurveReaction(std::string v1_Gl const IfcParse::entity& Ifc4x1::IfcStructuralItem::declaration() const { return *((IfcParse::entity*)IFC4X1_types[989]); } const IfcParse::entity& Ifc4x1::IfcStructuralItem::Class() { return *((IfcParse::entity*)IFC4X1_types[989]); } Ifc4x1::IfcStructuralItem::IfcStructuralItem(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x1::IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralLinearAction @@ -14611,50 +14611,50 @@ Ifc4x1::IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, ::Ifc4x1:: const IfcParse::entity& Ifc4x1::IfcStructuralLinearAction::declaration() const { return *((IfcParse::entity*)IFC4X1_types[990]); } const IfcParse::entity& Ifc4x1::IfcStructuralLinearAction::Class() { return *((IfcParse::entity*)IFC4X1_types[990]); } Ifc4x1::IfcStructuralLinearAction::IfcStructuralLinearAction(IfcEntityInstanceData&& e) : IfcStructuralCurveAction(std::move(e)) { } -Ifc4x1::IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralCurveAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralCurveAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralLoad -boost::optional< std::string > Ifc4x1::IfcStructuralLoad::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x1::IfcStructuralLoad::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcStructuralLoad::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x1::IfcStructuralLoad::declaration() const { return *((IfcParse::entity*)IFC4X1_types[991]); } const IfcParse::entity& Ifc4x1::IfcStructuralLoad::Class() { return *((IfcParse::entity*)IFC4X1_types[991]); } Ifc4x1::IfcStructuralLoad::IfcStructuralLoad(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x1::IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralLoadCase -boost::optional< std::vector< double > /*[3:3]*/ > Ifc4x1::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::vector< double > /*[3:3]*/ v = data_.get_attribute_value(10); return v; } +boost::optional< std::vector< double > /*[3:3]*/ > Ifc4x1::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::vector< double > /*[3:3]*/ v = get_attribute_value(10); return v; } void Ifc4x1::IfcStructuralLoadCase::setSelfWeightCoefficients(boost::optional< std::vector< double > /*[3:3]*/ > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x1::IfcStructuralLoadCase::declaration() const { return *((IfcParse::entity*)IFC4X1_types[992]); } const IfcParse::entity& Ifc4x1::IfcStructuralLoadCase::Class() { return *((IfcParse::entity*)IFC4X1_types[992]); } Ifc4x1::IfcStructuralLoadCase::IfcStructuralLoadCase(IfcEntityInstanceData&& e) : IfcStructuralLoadGroup(std::move(e)) { } -Ifc4x1::IfcStructuralLoadCase::IfcStructuralLoadCase(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x1::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(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x1::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); }; populate_derived(); } +Ifc4x1::IfcStructuralLoadCase::IfcStructuralLoadCase(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x1::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(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x1::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); }; populate_derived(); } // Function implementations for IfcStructuralLoadConfiguration -aggregate_of< ::Ifc4x1::IfcStructuralLoadOrResult >::ptr Ifc4x1::IfcStructuralLoadConfiguration::Values() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x1::IfcStructuralLoadOrResult >(); } +aggregate_of< ::Ifc4x1::IfcStructuralLoadOrResult >::ptr Ifc4x1::IfcStructuralLoadConfiguration::Values() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x1::IfcStructuralLoadOrResult >(); } void Ifc4x1::IfcStructuralLoadConfiguration::setValues(aggregate_of< ::Ifc4x1::IfcStructuralLoadOrResult >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::vector< std::vector< double > > > Ifc4x1::IfcStructuralLoadConfiguration::Locations() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< std::vector< double > > v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< std::vector< double > > > Ifc4x1::IfcStructuralLoadConfiguration::Locations() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< std::vector< double > > v = get_attribute_value(2); return v; } void Ifc4x1::IfcStructuralLoadConfiguration::setLocations(boost::optional< std::vector< std::vector< double > > > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x1::IfcStructuralLoadConfiguration::declaration() const { return *((IfcParse::entity*)IFC4X1_types[993]); } const IfcParse::entity& Ifc4x1::IfcStructuralLoadConfiguration::Class() { return *((IfcParse::entity*)IFC4X1_types[993]); } Ifc4x1::IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(IfcEntityInstanceData&& e) : IfcStructuralLoad(std::move(e)) { } -Ifc4x1::IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x1::IfcStructuralLoadOrResult >::ptr v2_Values, boost::optional< std::vector< std::vector< double > > > v3_Locations) : IfcStructuralLoad(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Values)->generalize()); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); }; populate_derived(); } +Ifc4x1::IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x1::IfcStructuralLoadOrResult >::ptr v2_Values, boost::optional< std::vector< std::vector< double > > > v3_Locations) : IfcStructuralLoad(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Values)->generalize()); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); }; populate_derived(); } // Function implementations for IfcStructuralLoadGroup -::Ifc4x1::IfcLoadGroupTypeEnum::Value Ifc4x1::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4x1::IfcLoadGroupTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x1::IfcLoadGroupTypeEnum::Value Ifc4x1::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4x1::IfcLoadGroupTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x1::IfcStructuralLoadGroup::setPredefinedType(::Ifc4x1::IfcLoadGroupTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x1::IfcLoadGroupTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x1::IfcActionTypeEnum::Value Ifc4x1::IfcStructuralLoadGroup::ActionType() const { return ::Ifc4x1::IfcActionTypeEnum::FromString(data_.get_attribute_value(6)); } +::Ifc4x1::IfcActionTypeEnum::Value Ifc4x1::IfcStructuralLoadGroup::ActionType() const { return ::Ifc4x1::IfcActionTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x1::IfcStructuralLoadGroup::setActionType(::Ifc4x1::IfcActionTypeEnum::Value v) { set_attribute_value(6, EnumerationReference(&::Ifc4x1::IfcActionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(6); } -::Ifc4x1::IfcActionSourceTypeEnum::Value Ifc4x1::IfcStructuralLoadGroup::ActionSource() const { return ::Ifc4x1::IfcActionSourceTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x1::IfcActionSourceTypeEnum::Value Ifc4x1::IfcStructuralLoadGroup::ActionSource() const { return ::Ifc4x1::IfcActionSourceTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x1::IfcStructuralLoadGroup::setActionSource(::Ifc4x1::IfcActionSourceTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x1::IfcActionSourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc4x1::IfcStructuralLoadGroup::Coefficient() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x1::IfcStructuralLoadGroup::Coefficient() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x1::IfcStructuralLoadGroup::setCoefficient(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x1::IfcStructuralLoadGroup::Purpose() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x1::IfcStructuralLoadGroup::Purpose() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x1::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } ::Ifc4x1::IfcStructuralResultGroup::list::ptr Ifc4x1::IfcStructuralLoadGroup::SourceOfResultGroup() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[1010], 6)->as(); } @@ -14663,27 +14663,27 @@ void Ifc4x1::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string > v const IfcParse::entity& Ifc4x1::IfcStructuralLoadGroup::declaration() const { return *((IfcParse::entity*)IFC4X1_types[994]); } const IfcParse::entity& Ifc4x1::IfcStructuralLoadGroup::Class() { return *((IfcParse::entity*)IFC4X1_types[994]); } Ifc4x1::IfcStructuralLoadGroup::IfcStructuralLoadGroup(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x1::IfcStructuralLoadGroup::IfcStructuralLoadGroup(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x1::IfcActionSourceTypeEnum::Value v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose) : IfcGroup(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x1::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; populate_derived(); } +Ifc4x1::IfcStructuralLoadGroup::IfcStructuralLoadGroup(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x1::IfcActionSourceTypeEnum::Value v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x1::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; populate_derived(); } // Function implementations for IfcStructuralLoadLinearForce -boost::optional< double > Ifc4x1::IfcStructuralLoadLinearForce::LinearForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x1::IfcStructuralLoadLinearForce::LinearForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x1::IfcStructuralLoadLinearForce::setLinearForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x1::IfcStructuralLoadLinearForce::LinearForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x1::IfcStructuralLoadLinearForce::LinearForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x1::IfcStructuralLoadLinearForce::setLinearForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x1::IfcStructuralLoadLinearForce::LinearForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x1::IfcStructuralLoadLinearForce::LinearForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x1::IfcStructuralLoadLinearForce::setLinearForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x1::IfcStructuralLoadLinearForce::LinearMomentX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x1::IfcStructuralLoadLinearForce::LinearMomentX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x1::IfcStructuralLoadLinearForce::setLinearMomentX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x1::IfcStructuralLoadLinearForce::LinearMomentY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x1::IfcStructuralLoadLinearForce::LinearMomentY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x1::IfcStructuralLoadLinearForce::setLinearMomentY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x1::IfcStructuralLoadLinearForce::LinearMomentZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x1::IfcStructuralLoadLinearForce::LinearMomentZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x1::IfcStructuralLoadLinearForce::setLinearMomentZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x1::IfcStructuralLoadLinearForce::declaration() const { return *((IfcParse::entity*)IFC4X1_types[995]); } const IfcParse::entity& Ifc4x1::IfcStructuralLoadLinearForce::Class() { return *((IfcParse::entity*)IFC4X1_types[995]); } Ifc4x1::IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x1::IfcStructuralLoadLinearForce::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) : IfcStructuralLoadStatic(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; populate_derived(); } +Ifc4x1::IfcStructuralLoadLinearForce::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) : IfcStructuralLoadStatic(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadOrResult @@ -14691,81 +14691,81 @@ Ifc4x1::IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(boost::option const IfcParse::entity& Ifc4x1::IfcStructuralLoadOrResult::declaration() const { return *((IfcParse::entity*)IFC4X1_types[996]); } const IfcParse::entity& Ifc4x1::IfcStructuralLoadOrResult::Class() { return *((IfcParse::entity*)IFC4X1_types[996]); } Ifc4x1::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(IfcEntityInstanceData&& e) : IfcStructuralLoad(std::move(e)) { } -Ifc4x1::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional< std::string > v1_Name) : IfcStructuralLoad(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x1::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional< std::string > v1_Name) : IfcStructuralLoad(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralLoadPlanarForce -boost::optional< double > Ifc4x1::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x1::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x1::IfcStructuralLoadPlanarForce::setPlanarForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x1::IfcStructuralLoadPlanarForce::PlanarForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x1::IfcStructuralLoadPlanarForce::PlanarForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x1::IfcStructuralLoadPlanarForce::setPlanarForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x1::IfcStructuralLoadPlanarForce::PlanarForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x1::IfcStructuralLoadPlanarForce::PlanarForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x1::IfcStructuralLoadPlanarForce::setPlanarForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x1::IfcStructuralLoadPlanarForce::declaration() const { return *((IfcParse::entity*)IFC4X1_types[997]); } const IfcParse::entity& Ifc4x1::IfcStructuralLoadPlanarForce::Class() { return *((IfcParse::entity*)IFC4X1_types[997]); } Ifc4x1::IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x1::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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; populate_derived(); } +Ifc4x1::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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleDisplacement -boost::optional< double > Ifc4x1::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x1::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x1::IfcStructuralLoadSingleDisplacement::setDisplacementX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x1::IfcStructuralLoadSingleDisplacement::DisplacementY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x1::IfcStructuralLoadSingleDisplacement::DisplacementY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x1::IfcStructuralLoadSingleDisplacement::setDisplacementY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x1::IfcStructuralLoadSingleDisplacement::DisplacementZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x1::IfcStructuralLoadSingleDisplacement::DisplacementZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x1::IfcStructuralLoadSingleDisplacement::setDisplacementZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x1::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x1::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x1::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x1::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x1::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x1::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x1::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x1::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x1::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x1::IfcStructuralLoadSingleDisplacement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[998]); } const IfcParse::entity& Ifc4x1::IfcStructuralLoadSingleDisplacement::Class() { return *((IfcParse::entity*)IFC4X1_types[998]); } Ifc4x1::IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x1::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; populate_derived(); } +Ifc4x1::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleDisplacementDistortion -boost::optional< double > Ifc4x1::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x1::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x1::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x1::IfcStructuralLoadSingleDisplacementDistortion::declaration() const { return *((IfcParse::entity*)IFC4X1_types[999]); } const IfcParse::entity& Ifc4x1::IfcStructuralLoadSingleDisplacementDistortion::Class() { return *((IfcParse::entity*)IFC4X1_types[999]); } Ifc4x1::IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDisplacementDistortion(IfcEntityInstanceData&& e) : IfcStructuralLoadSingleDisplacement(std::move(e)) { } -Ifc4x1::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(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; populate_derived(); } +Ifc4x1::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(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleForce -boost::optional< double > Ifc4x1::IfcStructuralLoadSingleForce::ForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x1::IfcStructuralLoadSingleForce::ForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x1::IfcStructuralLoadSingleForce::setForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x1::IfcStructuralLoadSingleForce::ForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x1::IfcStructuralLoadSingleForce::ForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x1::IfcStructuralLoadSingleForce::setForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x1::IfcStructuralLoadSingleForce::ForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x1::IfcStructuralLoadSingleForce::ForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x1::IfcStructuralLoadSingleForce::setForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x1::IfcStructuralLoadSingleForce::MomentX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x1::IfcStructuralLoadSingleForce::MomentX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x1::IfcStructuralLoadSingleForce::setMomentX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x1::IfcStructuralLoadSingleForce::MomentY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x1::IfcStructuralLoadSingleForce::MomentY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x1::IfcStructuralLoadSingleForce::setMomentY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x1::IfcStructuralLoadSingleForce::MomentZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x1::IfcStructuralLoadSingleForce::MomentZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x1::IfcStructuralLoadSingleForce::setMomentZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x1::IfcStructuralLoadSingleForce::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1000]); } const IfcParse::entity& Ifc4x1::IfcStructuralLoadSingleForce::Class() { return *((IfcParse::entity*)IFC4X1_types[1000]); } Ifc4x1::IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x1::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; populate_derived(); } +Ifc4x1::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleForceWarping -boost::optional< double > Ifc4x1::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x1::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x1::IfcStructuralLoadSingleForceWarping::setWarpingMoment(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x1::IfcStructuralLoadSingleForceWarping::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1001]); } const IfcParse::entity& Ifc4x1::IfcStructuralLoadSingleForceWarping::Class() { return *((IfcParse::entity*)IFC4X1_types[1001]); } Ifc4x1::IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWarping(IfcEntityInstanceData&& e) : IfcStructuralLoadSingleForce(std::move(e)) { } -Ifc4x1::IfcStructuralLoadSingleForceWarping::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) : IfcStructuralLoadSingleForce(IfcEntityInstanceData(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; populate_derived(); } +Ifc4x1::IfcStructuralLoadSingleForceWarping::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) : IfcStructuralLoadSingleForce(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; populate_derived(); } // Function implementations for IfcStructuralLoadStatic @@ -14773,21 +14773,21 @@ Ifc4x1::IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWarping const IfcParse::entity& Ifc4x1::IfcStructuralLoadStatic::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1002]); } const IfcParse::entity& Ifc4x1::IfcStructuralLoadStatic::Class() { return *((IfcParse::entity*)IFC4X1_types[1002]); } Ifc4x1::IfcStructuralLoadStatic::IfcStructuralLoadStatic(IfcEntityInstanceData&& e) : IfcStructuralLoadOrResult(std::move(e)) { } -Ifc4x1::IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< std::string > v1_Name) : IfcStructuralLoadOrResult(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x1::IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< std::string > v1_Name) : IfcStructuralLoadOrResult(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralLoadTemperature -boost::optional< double > Ifc4x1::IfcStructuralLoadTemperature::DeltaTConstant() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x1::IfcStructuralLoadTemperature::DeltaTConstant() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x1::IfcStructuralLoadTemperature::setDeltaTConstant(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x1::IfcStructuralLoadTemperature::DeltaTY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x1::IfcStructuralLoadTemperature::DeltaTY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x1::IfcStructuralLoadTemperature::setDeltaTY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x1::IfcStructuralLoadTemperature::DeltaTZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x1::IfcStructuralLoadTemperature::DeltaTZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x1::IfcStructuralLoadTemperature::setDeltaTZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x1::IfcStructuralLoadTemperature::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1003]); } const IfcParse::entity& Ifc4x1::IfcStructuralLoadTemperature::Class() { return *((IfcParse::entity*)IFC4X1_types[1003]); } Ifc4x1::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x1::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::optional< std::string > v1_Name, boost::optional< double > v2_DeltaTConstant, boost::optional< double > v3_DeltaTY, boost::optional< double > v4_DeltaTZ) : IfcStructuralLoadStatic(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); }; populate_derived(); } +Ifc4x1::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::optional< std::string > v1_Name, boost::optional< double > v2_DeltaTConstant, boost::optional< double > v3_DeltaTY, boost::optional< double > v4_DeltaTZ) : IfcStructuralLoadStatic(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); }; populate_derived(); } // Function implementations for IfcStructuralMember @@ -14796,7 +14796,7 @@ Ifc4x1::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::option const IfcParse::entity& Ifc4x1::IfcStructuralMember::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1004]); } const IfcParse::entity& Ifc4x1::IfcStructuralMember::Class() { return *((IfcParse::entity*)IFC4X1_types[1004]); } Ifc4x1::IfcStructuralMember::IfcStructuralMember(IfcEntityInstanceData&& e) : IfcStructuralItem(std::move(e)) { } -Ifc4x1::IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation) : IfcStructuralItem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation) : IfcStructuralItem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralPlanarAction @@ -14804,7 +14804,7 @@ Ifc4x1::IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x1::IfcStructuralPlanarAction::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1005]); } const IfcParse::entity& Ifc4x1::IfcStructuralPlanarAction::Class() { return *((IfcParse::entity*)IFC4X1_types[1005]); } Ifc4x1::IfcStructuralPlanarAction::IfcStructuralPlanarAction(IfcEntityInstanceData&& e) : IfcStructuralSurfaceAction(std::move(e)) { } -Ifc4x1::IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralSurfaceAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralSurfaceAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralPointAction @@ -14812,17 +14812,17 @@ Ifc4x1::IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_Glob const IfcParse::entity& Ifc4x1::IfcStructuralPointAction::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1006]); } const IfcParse::entity& Ifc4x1::IfcStructuralPointAction::Class() { return *((IfcParse::entity*)IFC4X1_types[1006]); } Ifc4x1::IfcStructuralPointAction::IfcStructuralPointAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -Ifc4x1::IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralAction(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } +Ifc4x1::IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralAction(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } // Function implementations for IfcStructuralPointConnection -::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x1::IfcAxis2Placement3D>(true); } +::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x1::IfcAxis2Placement3D>(true); } void Ifc4x1::IfcStructuralPointConnection::setConditionCoordinateSystem(::Ifc4x1::IfcAxis2Placement3D* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x1::IfcStructuralPointConnection::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1007]); } const IfcParse::entity& Ifc4x1::IfcStructuralPointConnection::Class() { return *((IfcParse::entity*)IFC4X1_types[1007]); } Ifc4x1::IfcStructuralPointConnection::IfcStructuralPointConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -Ifc4x1::IfcStructuralPointConnection::IfcStructuralPointConnection(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x1::IfcAxis2Placement3D* v9_ConditionCoordinateSystem) : IfcStructuralConnection(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_ConditionCoordinateSystem ? v9_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcStructuralPointConnection::IfcStructuralPointConnection(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x1::IfcAxis2Placement3D* v9_ConditionCoordinateSystem) : IfcStructuralConnection(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_ConditionCoordinateSystem ? v9_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralPointReaction @@ -14830,7 +14830,7 @@ Ifc4x1::IfcStructuralPointConnection::IfcStructuralPointConnection(std::string v const IfcParse::entity& Ifc4x1::IfcStructuralPointReaction::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1008]); } const IfcParse::entity& Ifc4x1::IfcStructuralPointReaction::Class() { return *((IfcParse::entity*)IFC4X1_types[1008]); } Ifc4x1::IfcStructuralPointReaction::IfcStructuralPointReaction(IfcEntityInstanceData&& e) : IfcStructuralReaction(std::move(e)) { } -Ifc4x1::IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralReaction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +Ifc4x1::IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralReaction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralReaction @@ -14838,14 +14838,14 @@ Ifc4x1::IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v1_Gl const IfcParse::entity& Ifc4x1::IfcStructuralReaction::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1009]); } const IfcParse::entity& Ifc4x1::IfcStructuralReaction::Class() { return *((IfcParse::entity*)IFC4X1_types[1009]); } Ifc4x1::IfcStructuralReaction::IfcStructuralReaction(IfcEntityInstanceData&& e) : IfcStructuralActivity(std::move(e)) { } -Ifc4x1::IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralActivity(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +Ifc4x1::IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralActivity(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralResultGroup -::Ifc4x1::IfcAnalysisTheoryTypeEnum::Value Ifc4x1::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x1::IfcAnalysisTheoryTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x1::IfcAnalysisTheoryTypeEnum::Value Ifc4x1::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x1::IfcAnalysisTheoryTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x1::IfcStructuralResultGroup::setTheoryType(::Ifc4x1::IfcAnalysisTheoryTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x1::IfcAnalysisTheoryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x1::IfcStructuralLoadGroup* Ifc4x1::IfcStructuralResultGroup::ResultForLoadGroup() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x1::IfcStructuralLoadGroup>(true); } +::Ifc4x1::IfcStructuralLoadGroup* Ifc4x1::IfcStructuralResultGroup::ResultForLoadGroup() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x1::IfcStructuralLoadGroup>(true); } void Ifc4x1::IfcStructuralResultGroup::setResultForLoadGroup(::Ifc4x1::IfcStructuralLoadGroup* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -bool Ifc4x1::IfcStructuralResultGroup::IsLinear() const { bool v = data_.get_attribute_value(7); return v; } +bool Ifc4x1::IfcStructuralResultGroup::IsLinear() const { bool v = get_attribute_value(7); return v; } void Ifc4x1::IfcStructuralResultGroup::setIsLinear(bool v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc4x1::IfcStructuralAnalysisModel::list::ptr Ifc4x1::IfcStructuralResultGroup::ResultGroupFor() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[979], 8)->as(); } @@ -14853,19 +14853,19 @@ void Ifc4x1::IfcStructuralResultGroup::setIsLinear(bool v) { set_attribute_value const IfcParse::entity& Ifc4x1::IfcStructuralResultGroup::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1010]); } const IfcParse::entity& Ifc4x1::IfcStructuralResultGroup::Class() { return *((IfcParse::entity*)IFC4X1_types[1010]); } Ifc4x1::IfcStructuralResultGroup::IfcStructuralResultGroup(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x1::IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x1::IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear) : IfcGroup(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, v7_ResultForLoadGroup ? v7_ResultForLoadGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_IsLinear));; populate_derived(); } +Ifc4x1::IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x1::IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, v7_ResultForLoadGroup ? v7_ResultForLoadGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_IsLinear));; populate_derived(); } // Function implementations for IfcStructuralSurfaceAction -boost::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > Ifc4x1::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x1::IfcProjectedOrTrueLengthEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > Ifc4x1::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x1::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } void Ifc4x1::IfcStructuralSurfaceAction::setProjectedOrTrue(boost::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x1::IfcProjectedOrTrueLengthEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x1::IfcStructuralSurfaceAction::PredefinedType() const { return ::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x1::IfcStructuralSurfaceAction::PredefinedType() const { return ::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x1::IfcStructuralSurfaceAction::setPredefinedType(::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x1::IfcStructuralSurfaceAction::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1011]); } const IfcParse::entity& Ifc4x1::IfcStructuralSurfaceAction::Class() { return *((IfcParse::entity*)IFC4X1_types[1011]); } Ifc4x1::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -Ifc4x1::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralSurfaceConnection @@ -14873,19 +14873,19 @@ Ifc4x1::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(std::string v1_Gl const IfcParse::entity& Ifc4x1::IfcStructuralSurfaceConnection::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1013]); } const IfcParse::entity& Ifc4x1::IfcStructuralSurfaceConnection::Class() { return *((IfcParse::entity*)IFC4X1_types[1013]); } Ifc4x1::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -Ifc4x1::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralSurfaceMember -::Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x1::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x1::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x1::IfcStructuralSurfaceMember::setPredefinedType(::Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc4x1::IfcStructuralSurfaceMember::Thickness() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x1::IfcStructuralSurfaceMember::Thickness() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x1::IfcStructuralSurfaceMember::setThickness(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcStructuralSurfaceMember::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1014]); } const IfcParse::entity& Ifc4x1::IfcStructuralSurfaceMember::Class() { return *((IfcParse::entity*)IFC4X1_types[1014]); } Ifc4x1::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(IfcEntityInstanceData&& e) : IfcStructuralMember(std::move(e)) { } -Ifc4x1::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } +Ifc4x1::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } // Function implementations for IfcStructuralSurfaceMemberVarying @@ -14893,17 +14893,17 @@ Ifc4x1::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v1_Gl const IfcParse::entity& Ifc4x1::IfcStructuralSurfaceMemberVarying::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1016]); } const IfcParse::entity& Ifc4x1::IfcStructuralSurfaceMemberVarying::Class() { return *((IfcParse::entity*)IFC4X1_types[1016]); } Ifc4x1::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(IfcEntityInstanceData&& e) : IfcStructuralSurfaceMember(std::move(e)) { } -Ifc4x1::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralSurfaceMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } +Ifc4x1::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralSurfaceMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } // Function implementations for IfcStructuralSurfaceReaction -::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x1::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x1::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcStructuralSurfaceReaction::setPredefinedType(::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcStructuralSurfaceReaction::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1017]); } const IfcParse::entity& Ifc4x1::IfcStructuralSurfaceReaction::Class() { return *((IfcParse::entity*)IFC4X1_types[1017]); } Ifc4x1::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(IfcEntityInstanceData&& e) : IfcStructuralReaction(std::move(e)) { } -Ifc4x1::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, ::Ifc4x1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStyleModel @@ -14911,21 +14911,21 @@ Ifc4x1::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(std::string v const IfcParse::entity& Ifc4x1::IfcStyleModel::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1021]); } const IfcParse::entity& Ifc4x1::IfcStyleModel::Class() { return *((IfcParse::entity*)IFC4X1_types[1021]); } Ifc4x1::IfcStyleModel::IfcStyleModel(IfcEntityInstanceData&& e) : IfcRepresentation(std::move(e)) { } -Ifc4x1::IfcStyleModel::IfcStyleModel(::Ifc4x1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x1::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x1::IfcStyleModel::IfcStyleModel(::Ifc4x1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x1::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcStyledItem -::Ifc4x1::IfcRepresentationItem* Ifc4x1::IfcStyledItem::Item() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcRepresentationItem>(true); } +::Ifc4x1::IfcRepresentationItem* Ifc4x1::IfcStyledItem::Item() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcRepresentationItem>(true); } void Ifc4x1::IfcStyledItem::setItem(::Ifc4x1::IfcRepresentationItem* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x1::IfcStyleAssignmentSelect >::ptr Ifc4x1::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x1::IfcStyleAssignmentSelect >(); } +aggregate_of< ::Ifc4x1::IfcStyleAssignmentSelect >::ptr Ifc4x1::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x1::IfcStyleAssignmentSelect >(); } void Ifc4x1::IfcStyledItem::setStyles(aggregate_of< ::Ifc4x1::IfcStyleAssignmentSelect >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x1::IfcStyledItem::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x1::IfcStyledItem::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcStyledItem::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x1::IfcStyledItem::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1019]); } const IfcParse::entity& Ifc4x1::IfcStyledItem::Class() { return *((IfcParse::entity*)IFC4X1_types[1019]); } Ifc4x1::IfcStyledItem::IfcStyledItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x1::IfcStyledItem::IfcStyledItem(::Ifc4x1::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x1::IfcStyleAssignmentSelect >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x1::IfcStyledItem::IfcStyledItem(::Ifc4x1::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x1::IfcStyleAssignmentSelect >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcStyledRepresentation @@ -14933,37 +14933,37 @@ Ifc4x1::IfcStyledItem::IfcStyledItem(::Ifc4x1::IfcRepresentationItem* v1_Item, a const IfcParse::entity& Ifc4x1::IfcStyledRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1020]); } const IfcParse::entity& Ifc4x1::IfcStyledRepresentation::Class() { return *((IfcParse::entity*)IFC4X1_types[1020]); } Ifc4x1::IfcStyledRepresentation::IfcStyledRepresentation(IfcEntityInstanceData&& e) : IfcStyleModel(std::move(e)) { } -Ifc4x1::IfcStyledRepresentation::IfcStyledRepresentation(::Ifc4x1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x1::IfcRepresentationItem >::ptr v4_Items) : IfcStyleModel(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x1::IfcStyledRepresentation::IfcStyledRepresentation(::Ifc4x1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x1::IfcRepresentationItem >::ptr v4_Items) : IfcStyleModel(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcSubContractResource -boost::optional< ::Ifc4x1::IfcSubContractResourceTypeEnum::Value > Ifc4x1::IfcSubContractResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x1::IfcSubContractResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x1::IfcSubContractResourceTypeEnum::Value > Ifc4x1::IfcSubContractResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x1::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x1::IfcSubContractResource::setPredefinedType(boost::optional< ::Ifc4x1::IfcSubContractResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x1::IfcSubContractResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x1::IfcSubContractResource::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1022]); } const IfcParse::entity& Ifc4x1::IfcSubContractResource::Class() { return *((IfcParse::entity*)IFC4X1_types[1022]); } Ifc4x1::IfcSubContractResource::IfcSubContractResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x1::IfcSubContractResource::IfcSubContractResource(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x1::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcSubContractResource::IfcSubContractResource(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x1::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSubContractResourceType -::Ifc4x1::IfcSubContractResourceTypeEnum::Value Ifc4x1::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4x1::IfcSubContractResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x1::IfcSubContractResourceTypeEnum::Value Ifc4x1::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4x1::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x1::IfcSubContractResourceType::setPredefinedType(::Ifc4x1::IfcSubContractResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x1::IfcSubContractResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x1::IfcSubContractResourceType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1023]); } const IfcParse::entity& Ifc4x1::IfcSubContractResourceType::Class() { return *((IfcParse::entity*)IFC4X1_types[1023]); } Ifc4x1::IfcSubContractResourceType::IfcSubContractResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x1::IfcSubContractResourceType::IfcSubContractResourceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x1::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x1::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcSubContractResourceType::IfcSubContractResourceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x1::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x1::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcSubedge -::Ifc4x1::IfcEdge* Ifc4x1::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcEdge>(true); } +::Ifc4x1::IfcEdge* Ifc4x1::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcEdge>(true); } void Ifc4x1::IfcSubedge::setParentEdge(::Ifc4x1::IfcEdge* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x1::IfcSubedge::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1025]); } const IfcParse::entity& Ifc4x1::IfcSubedge::Class() { return *((IfcParse::entity*)IFC4X1_types[1025]); } Ifc4x1::IfcSubedge::IfcSubedge(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc4x1::IfcSubedge::IfcSubedge(::Ifc4x1::IfcVertex* v1_EdgeStart, ::Ifc4x1::IfcVertex* v2_EdgeEnd, ::Ifc4x1::IfcEdge* v3_ParentEdge) : IfcEdge(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ParentEdge ? v3_ParentEdge->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcSubedge::IfcSubedge(::Ifc4x1::IfcVertex* v1_EdgeStart, ::Ifc4x1::IfcVertex* v2_EdgeEnd, ::Ifc4x1::IfcEdge* v3_ParentEdge) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ParentEdge ? v3_ParentEdge->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurface @@ -14971,178 +14971,178 @@ Ifc4x1::IfcSubedge::IfcSubedge(::Ifc4x1::IfcVertex* v1_EdgeStart, ::Ifc4x1::IfcV const IfcParse::entity& Ifc4x1::IfcSurface::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1026]); } const IfcParse::entity& Ifc4x1::IfcSurface::Class() { return *((IfcParse::entity*)IFC4X1_types[1026]); } Ifc4x1::IfcSurface::IfcSurface(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x1::IfcSurface::IfcSurface() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x1::IfcSurface::IfcSurface() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcSurfaceCurve -::Ifc4x1::IfcCurve* Ifc4x1::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcCurve>(true); } +::Ifc4x1::IfcCurve* Ifc4x1::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcSurfaceCurve::setCurve3D(::Ifc4x1::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x1::IfcPcurve >::ptr Ifc4x1::IfcSurfaceCurve::AssociatedGeometry() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x1::IfcPcurve >(); } +aggregate_of< ::Ifc4x1::IfcPcurve >::ptr Ifc4x1::IfcSurfaceCurve::AssociatedGeometry() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x1::IfcPcurve >(); } void Ifc4x1::IfcSurfaceCurve::setAssociatedGeometry(aggregate_of< ::Ifc4x1::IfcPcurve >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x1::IfcSurfaceCurve::MasterRepresentation() const { return ::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::FromString(data_.get_attribute_value(2)); } +::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x1::IfcSurfaceCurve::MasterRepresentation() const { return ::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::FromString(get_attribute_value(2)); } void Ifc4x1::IfcSurfaceCurve::setMasterRepresentation(::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x1::IfcSurfaceCurve::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1027]); } const IfcParse::entity& Ifc4x1::IfcSurfaceCurve::Class() { return *((IfcParse::entity*)IFC4X1_types[1027]); } Ifc4x1::IfcSurfaceCurve::IfcSurfaceCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x1::IfcSurfaceCurve::IfcSurfaceCurve(::Ifc4x1::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x1::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } +Ifc4x1::IfcSurfaceCurve::IfcSurfaceCurve(::Ifc4x1::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x1::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcSurfaceCurveSweptAreaSolid -::Ifc4x1::IfcCurve* Ifc4x1::IfcSurfaceCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcCurve>(true); } +::Ifc4x1::IfcCurve* Ifc4x1::IfcSurfaceCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcSurfaceCurveSweptAreaSolid::setDirectrix(::Ifc4x1::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4x1::IfcSurfaceCurveSweptAreaSolid::StartParam() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x1::IfcSurfaceCurveSweptAreaSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x1::IfcSurfaceCurveSweptAreaSolid::setStartParam(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x1::IfcSurfaceCurveSweptAreaSolid::EndParam() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x1::IfcSurfaceCurveSweptAreaSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x1::IfcSurfaceCurveSweptAreaSolid::setEndParam(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x1::IfcSurface* Ifc4x1::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcSurface>(true); } +::Ifc4x1::IfcSurface* Ifc4x1::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcSurface>(true); } void Ifc4x1::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(::Ifc4x1::IfcSurface* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x1::IfcSurfaceCurveSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1028]); } const IfcParse::entity& Ifc4x1::IfcSurfaceCurveSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X1_types[1028]); } Ifc4x1::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4x1::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(::Ifc4x1::IfcProfileDef* v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D* v2_Position, ::Ifc4x1::IfcCurve* v3_Directrix, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, ::Ifc4x1::IfcSurface* v6_ReferenceSurface) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }set_attribute_value(5, v6_ReferenceSurface ? v6_ReferenceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(::Ifc4x1::IfcProfileDef* v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D* v2_Position, ::Ifc4x1::IfcCurve* v3_Directrix, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, ::Ifc4x1::IfcSurface* v6_ReferenceSurface) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }set_attribute_value(5, v6_ReferenceSurface ? v6_ReferenceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceFeature -boost::optional< ::Ifc4x1::IfcSurfaceFeatureTypeEnum::Value > Ifc4x1::IfcSurfaceFeature::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcSurfaceFeatureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcSurfaceFeatureTypeEnum::Value > Ifc4x1::IfcSurfaceFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcSurfaceFeatureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcSurfaceFeature::setPredefinedType(boost::optional< ::Ifc4x1::IfcSurfaceFeatureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcSurfaceFeatureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcSurfaceFeature::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1029]); } const IfcParse::entity& Ifc4x1::IfcSurfaceFeature::Class() { return *((IfcParse::entity*)IFC4X1_types[1029]); } Ifc4x1::IfcSurfaceFeature::IfcSurfaceFeature(IfcEntityInstanceData&& e) : IfcFeatureElement(std::move(e)) { } -Ifc4x1::IfcSurfaceFeature::IfcSurfaceFeature(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcSurfaceFeature::IfcSurfaceFeature(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSurfaceOfLinearExtrusion -::Ifc4x1::IfcDirection* Ifc4x1::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcDirection>(true); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcSurfaceOfLinearExtrusion::setExtrudedDirection(::Ifc4x1::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x1::IfcSurfaceOfLinearExtrusion::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x1::IfcSurfaceOfLinearExtrusion::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x1::IfcSurfaceOfLinearExtrusion::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcSurfaceOfLinearExtrusion::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1031]); } const IfcParse::entity& Ifc4x1::IfcSurfaceOfLinearExtrusion::Class() { return *((IfcParse::entity*)IFC4X1_types[1031]); } Ifc4x1::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(IfcEntityInstanceData&& e) : IfcSweptSurface(std::move(e)) { } -Ifc4x1::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(::Ifc4x1::IfcProfileDef* v1_SweptCurve, ::Ifc4x1::IfcAxis2Placement3D* v2_Position, ::Ifc4x1::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } +Ifc4x1::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(::Ifc4x1::IfcProfileDef* v1_SweptCurve, ::Ifc4x1::IfcAxis2Placement3D* v2_Position, ::Ifc4x1::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } // Function implementations for IfcSurfaceOfRevolution -::Ifc4x1::IfcAxis1Placement* Ifc4x1::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcAxis1Placement>(true); } +::Ifc4x1::IfcAxis1Placement* Ifc4x1::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcAxis1Placement>(true); } void Ifc4x1::IfcSurfaceOfRevolution::setAxisPosition(::Ifc4x1::IfcAxis1Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x1::IfcSurfaceOfRevolution::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1032]); } const IfcParse::entity& Ifc4x1::IfcSurfaceOfRevolution::Class() { return *((IfcParse::entity*)IFC4X1_types[1032]); } Ifc4x1::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(IfcEntityInstanceData&& e) : IfcSweptSurface(std::move(e)) { } -Ifc4x1::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(::Ifc4x1::IfcProfileDef* v1_SweptCurve, ::Ifc4x1::IfcAxis2Placement3D* v2_Position, ::Ifc4x1::IfcAxis1Placement* v3_AxisPosition) : IfcSweptSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_AxisPosition ? v3_AxisPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(::Ifc4x1::IfcProfileDef* v1_SweptCurve, ::Ifc4x1::IfcAxis2Placement3D* v2_Position, ::Ifc4x1::IfcAxis1Placement* v3_AxisPosition) : IfcSweptSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_AxisPosition ? v3_AxisPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceReinforcementArea -boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x1::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x1::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } void Ifc4x1::IfcSurfaceReinforcementArea::setSurfaceReinforcement1(boost::optional< std::vector< double > /*[2:3]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x1::IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x1::IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = get_attribute_value(2); return v; } void Ifc4x1::IfcSurfaceReinforcementArea::setSurfaceReinforcement2(boost::optional< std::vector< double > /*[2:3]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x1::IfcSurfaceReinforcementArea::ShearReinforcement() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x1::IfcSurfaceReinforcementArea::ShearReinforcement() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x1::IfcSurfaceReinforcementArea::setShearReinforcement(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x1::IfcSurfaceReinforcementArea::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1034]); } const IfcParse::entity& Ifc4x1::IfcSurfaceReinforcementArea::Class() { return *((IfcParse::entity*)IFC4X1_types[1034]); } Ifc4x1::IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(IfcEntityInstanceData&& e) : IfcStructuralLoadOrResult(std::move(e)) { } -Ifc4x1::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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); }; populate_derived(); } +Ifc4x1::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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); }; populate_derived(); } // Function implementations for IfcSurfaceStyle -::Ifc4x1::IfcSurfaceSide::Value Ifc4x1::IfcSurfaceStyle::Side() const { return ::Ifc4x1::IfcSurfaceSide::FromString(data_.get_attribute_value(1)); } +::Ifc4x1::IfcSurfaceSide::Value Ifc4x1::IfcSurfaceStyle::Side() const { return ::Ifc4x1::IfcSurfaceSide::FromString(get_attribute_value(1)); } void Ifc4x1::IfcSurfaceStyle::setSide(::Ifc4x1::IfcSurfaceSide::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x1::IfcSurfaceSide::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x1::IfcSurfaceStyleElementSelect >::ptr Ifc4x1::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x1::IfcSurfaceStyleElementSelect >(); } +aggregate_of< ::Ifc4x1::IfcSurfaceStyleElementSelect >::ptr Ifc4x1::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x1::IfcSurfaceStyleElementSelect >(); } void Ifc4x1::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x1::IfcSurfaceStyleElementSelect >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x1::IfcSurfaceStyle::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1036]); } const IfcParse::entity& Ifc4x1::IfcSurfaceStyle::Class() { return *((IfcParse::entity*)IFC4X1_types[1036]); } Ifc4x1::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x1::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x1::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (EnumerationReference(&::Ifc4x1::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, (v3_Styles)->generalize());; populate_derived(); } +Ifc4x1::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x1::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (EnumerationReference(&::Ifc4x1::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, (v3_Styles)->generalize());; populate_derived(); } // Function implementations for IfcSurfaceStyleLighting -::Ifc4x1::IfcColourRgb* Ifc4x1::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcColourRgb>(true); } +::Ifc4x1::IfcColourRgb* Ifc4x1::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcColourRgb>(true); } void Ifc4x1::IfcSurfaceStyleLighting::setDiffuseTransmissionColour(::Ifc4x1::IfcColourRgb* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcColourRgb* Ifc4x1::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcColourRgb>(true); } +::Ifc4x1::IfcColourRgb* Ifc4x1::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcColourRgb>(true); } void Ifc4x1::IfcSurfaceStyleLighting::setDiffuseReflectionColour(::Ifc4x1::IfcColourRgb* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcColourRgb* Ifc4x1::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcColourRgb>(true); } +::Ifc4x1::IfcColourRgb* Ifc4x1::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcColourRgb>(true); } void Ifc4x1::IfcSurfaceStyleLighting::setTransmissionColour(::Ifc4x1::IfcColourRgb* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcColourRgb* Ifc4x1::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcColourRgb>(true); } +::Ifc4x1::IfcColourRgb* Ifc4x1::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcColourRgb>(true); } void Ifc4x1::IfcSurfaceStyleLighting::setReflectanceColour(::Ifc4x1::IfcColourRgb* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x1::IfcSurfaceStyleLighting::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1038]); } const IfcParse::entity& Ifc4x1::IfcSurfaceStyleLighting::Class() { return *((IfcParse::entity*)IFC4X1_types[1038]); } Ifc4x1::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x1::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(::Ifc4x1::IfcColourRgb* v1_DiffuseTransmissionColour, ::Ifc4x1::IfcColourRgb* v2_DiffuseReflectionColour, ::Ifc4x1::IfcColourRgb* v3_TransmissionColour, ::Ifc4x1::IfcColourRgb* v4_ReflectanceColour) : IfcPresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_DiffuseTransmissionColour ? v1_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_DiffuseReflectionColour ? v2_DiffuseReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TransmissionColour ? v3_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_ReflectanceColour ? v4_ReflectanceColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(::Ifc4x1::IfcColourRgb* v1_DiffuseTransmissionColour, ::Ifc4x1::IfcColourRgb* v2_DiffuseReflectionColour, ::Ifc4x1::IfcColourRgb* v3_TransmissionColour, ::Ifc4x1::IfcColourRgb* v4_ReflectanceColour) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_DiffuseTransmissionColour ? v1_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_DiffuseReflectionColour ? v2_DiffuseReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TransmissionColour ? v3_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_ReflectanceColour ? v4_ReflectanceColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceStyleRefraction -boost::optional< double > Ifc4x1::IfcSurfaceStyleRefraction::RefractionIndex() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } double v = data_.get_attribute_value(0); return v; } +boost::optional< double > Ifc4x1::IfcSurfaceStyleRefraction::RefractionIndex() const { if(get_attribute_value(0).isNull()) { return boost::none; } double v = get_attribute_value(0); return v; } void Ifc4x1::IfcSurfaceStyleRefraction::setRefractionIndex(boost::optional< double > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< double > Ifc4x1::IfcSurfaceStyleRefraction::DispersionFactor() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x1::IfcSurfaceStyleRefraction::DispersionFactor() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x1::IfcSurfaceStyleRefraction::setDispersionFactor(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x1::IfcSurfaceStyleRefraction::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1039]); } const IfcParse::entity& Ifc4x1::IfcSurfaceStyleRefraction::Class() { return *((IfcParse::entity*)IFC4X1_types[1039]); } Ifc4x1::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x1::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; populate_derived(); } +Ifc4x1::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; populate_derived(); } // Function implementations for IfcSurfaceStyleRendering -::Ifc4x1::IfcColourOrFactor* Ifc4x1::IfcSurfaceStyleRendering::DiffuseColour() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcColourOrFactor>(true); } +::Ifc4x1::IfcColourOrFactor* Ifc4x1::IfcSurfaceStyleRendering::DiffuseColour() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcColourOrFactor>(true); } void Ifc4x1::IfcSurfaceStyleRendering::setDiffuseColour(::Ifc4x1::IfcColourOrFactor* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcColourOrFactor* Ifc4x1::IfcSurfaceStyleRendering::TransmissionColour() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcColourOrFactor>(true); } +::Ifc4x1::IfcColourOrFactor* Ifc4x1::IfcSurfaceStyleRendering::TransmissionColour() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcColourOrFactor>(true); } void Ifc4x1::IfcSurfaceStyleRendering::setTransmissionColour(::Ifc4x1::IfcColourOrFactor* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x1::IfcColourOrFactor* Ifc4x1::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x1::IfcColourOrFactor>(true); } +::Ifc4x1::IfcColourOrFactor* Ifc4x1::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x1::IfcColourOrFactor>(true); } void Ifc4x1::IfcSurfaceStyleRendering::setDiffuseTransmissionColour(::Ifc4x1::IfcColourOrFactor* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcColourOrFactor* Ifc4x1::IfcSurfaceStyleRendering::ReflectionColour() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcColourOrFactor>(true); } +::Ifc4x1::IfcColourOrFactor* Ifc4x1::IfcSurfaceStyleRendering::ReflectionColour() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcColourOrFactor>(true); } void Ifc4x1::IfcSurfaceStyleRendering::setReflectionColour(::Ifc4x1::IfcColourOrFactor* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x1::IfcColourOrFactor* Ifc4x1::IfcSurfaceStyleRendering::SpecularColour() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x1::IfcColourOrFactor>(true); } +::Ifc4x1::IfcColourOrFactor* Ifc4x1::IfcSurfaceStyleRendering::SpecularColour() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x1::IfcColourOrFactor>(true); } void Ifc4x1::IfcSurfaceStyleRendering::setSpecularColour(::Ifc4x1::IfcColourOrFactor* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x1::IfcSpecularHighlightSelect* Ifc4x1::IfcSurfaceStyleRendering::SpecularHighlight() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x1::IfcSpecularHighlightSelect>(true); } +::Ifc4x1::IfcSpecularHighlightSelect* Ifc4x1::IfcSurfaceStyleRendering::SpecularHighlight() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x1::IfcSpecularHighlightSelect>(true); } void Ifc4x1::IfcSurfaceStyleRendering::setSpecularHighlight(::Ifc4x1::IfcSpecularHighlightSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x1::IfcReflectanceMethodEnum::Value Ifc4x1::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4x1::IfcReflectanceMethodEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x1::IfcReflectanceMethodEnum::Value Ifc4x1::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4x1::IfcReflectanceMethodEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcSurfaceStyleRendering::setReflectanceMethod(::Ifc4x1::IfcReflectanceMethodEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcReflectanceMethodEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x1::IfcSurfaceStyleRendering::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1040]); } const IfcParse::entity& Ifc4x1::IfcSurfaceStyleRendering::Class() { return *((IfcParse::entity*)IFC4X1_types[1040]); } Ifc4x1::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcEntityInstanceData&& e) : IfcSurfaceStyleShading(std::move(e)) { } -Ifc4x1::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc4x1::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, ::Ifc4x1::IfcColourOrFactor* v3_DiffuseColour, ::Ifc4x1::IfcColourOrFactor* v4_TransmissionColour, ::Ifc4x1::IfcColourOrFactor* v5_DiffuseTransmissionColour, ::Ifc4x1::IfcColourOrFactor* v6_ReflectionColour, ::Ifc4x1::IfcColourOrFactor* v7_SpecularColour, ::Ifc4x1::IfcSpecularHighlightSelect* v8_SpecularHighlight, ::Ifc4x1::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) : IfcSurfaceStyleShading(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, v3_DiffuseColour ? v3_DiffuseColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TransmissionColour ? v4_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_DiffuseTransmissionColour ? v5_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReflectionColour ? v6_ReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_SpecularColour ? v7_SpecularColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_SpecularHighlight ? v8_SpecularHighlight->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; populate_derived(); } +Ifc4x1::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc4x1::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, ::Ifc4x1::IfcColourOrFactor* v3_DiffuseColour, ::Ifc4x1::IfcColourOrFactor* v4_TransmissionColour, ::Ifc4x1::IfcColourOrFactor* v5_DiffuseTransmissionColour, ::Ifc4x1::IfcColourOrFactor* v6_ReflectionColour, ::Ifc4x1::IfcColourOrFactor* v7_SpecularColour, ::Ifc4x1::IfcSpecularHighlightSelect* v8_SpecularHighlight, ::Ifc4x1::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) : IfcSurfaceStyleShading(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, v3_DiffuseColour ? v3_DiffuseColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TransmissionColour ? v4_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_DiffuseTransmissionColour ? v5_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReflectionColour ? v6_ReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_SpecularColour ? v7_SpecularColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_SpecularHighlight ? v8_SpecularHighlight->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; populate_derived(); } // Function implementations for IfcSurfaceStyleShading -::Ifc4x1::IfcColourRgb* Ifc4x1::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcColourRgb>(true); } +::Ifc4x1::IfcColourRgb* Ifc4x1::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcColourRgb>(true); } void Ifc4x1::IfcSurfaceStyleShading::setSurfaceColour(::Ifc4x1::IfcColourRgb* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< double > Ifc4x1::IfcSurfaceStyleShading::Transparency() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x1::IfcSurfaceStyleShading::Transparency() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x1::IfcSurfaceStyleShading::setTransparency(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x1::IfcSurfaceStyleShading::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1041]); } const IfcParse::entity& Ifc4x1::IfcSurfaceStyleShading::Class() { return *((IfcParse::entity*)IFC4X1_types[1041]); } Ifc4x1::IfcSurfaceStyleShading::IfcSurfaceStyleShading(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x1::IfcSurfaceStyleShading::IfcSurfaceStyleShading(::Ifc4x1::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }; populate_derived(); } +Ifc4x1::IfcSurfaceStyleShading::IfcSurfaceStyleShading(::Ifc4x1::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }; populate_derived(); } // Function implementations for IfcSurfaceStyleWithTextures -aggregate_of< ::Ifc4x1::IfcSurfaceTexture >::ptr Ifc4x1::IfcSurfaceStyleWithTextures::Textures() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x1::IfcSurfaceTexture >(); } +aggregate_of< ::Ifc4x1::IfcSurfaceTexture >::ptr Ifc4x1::IfcSurfaceStyleWithTextures::Textures() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x1::IfcSurfaceTexture >(); } void Ifc4x1::IfcSurfaceStyleWithTextures::setTextures(aggregate_of< ::Ifc4x1::IfcSurfaceTexture >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x1::IfcSurfaceStyleWithTextures::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1042]); } const IfcParse::entity& Ifc4x1::IfcSurfaceStyleWithTextures::Class() { return *((IfcParse::entity*)IFC4X1_types[1042]); } Ifc4x1::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x1::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(aggregate_of< ::Ifc4x1::IfcSurfaceTexture >::ptr v1_Textures) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Textures)->generalize());; populate_derived(); } +Ifc4x1::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(aggregate_of< ::Ifc4x1::IfcSurfaceTexture >::ptr v1_Textures) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Textures)->generalize());; populate_derived(); } // Function implementations for IfcSurfaceTexture -bool Ifc4x1::IfcSurfaceTexture::RepeatS() const { bool v = data_.get_attribute_value(0); return v; } +bool Ifc4x1::IfcSurfaceTexture::RepeatS() const { bool v = get_attribute_value(0); return v; } void Ifc4x1::IfcSurfaceTexture::setRepeatS(bool v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -bool Ifc4x1::IfcSurfaceTexture::RepeatT() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x1::IfcSurfaceTexture::RepeatT() const { bool v = get_attribute_value(1); return v; } void Ifc4x1::IfcSurfaceTexture::setRepeatT(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x1::IfcSurfaceTexture::Mode() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x1::IfcSurfaceTexture::Mode() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcSurfaceTexture::setMode(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x1::IfcCartesianTransformationOperator2D* Ifc4x1::IfcSurfaceTexture::TextureTransform() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcCartesianTransformationOperator2D>(true); } +::Ifc4x1::IfcCartesianTransformationOperator2D* Ifc4x1::IfcSurfaceTexture::TextureTransform() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcCartesianTransformationOperator2D>(true); } void Ifc4x1::IfcSurfaceTexture::setTextureTransform(::Ifc4x1::IfcCartesianTransformationOperator2D* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcSurfaceTexture::Parameter() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcSurfaceTexture::Parameter() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x1::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } ::Ifc4x1::IfcTextureCoordinate::list::ptr Ifc4x1::IfcSurfaceTexture::IsMappedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[1091], 0)->as(); } @@ -15151,79 +15151,79 @@ void Ifc4x1::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std:: const IfcParse::entity& Ifc4x1::IfcSurfaceTexture::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1043]); } const IfcParse::entity& Ifc4x1::IfcSurfaceTexture::Class() { return *((IfcParse::entity*)IFC4X1_types[1043]); } Ifc4x1::IfcSurfaceTexture::IfcSurfaceTexture(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x1::IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x1::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) : IfcPresentationItem(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }; populate_derived(); } +Ifc4x1::IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x1::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }; populate_derived(); } // Function implementations for IfcSweptAreaSolid -::Ifc4x1::IfcProfileDef* Ifc4x1::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcProfileDef>(true); } +::Ifc4x1::IfcProfileDef* Ifc4x1::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcProfileDef>(true); } void Ifc4x1::IfcSweptAreaSolid::setSweptArea(::Ifc4x1::IfcProfileDef* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcSweptAreaSolid::Position() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcAxis2Placement3D>(true); } +::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcSweptAreaSolid::Position() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcAxis2Placement3D>(true); } void Ifc4x1::IfcSweptAreaSolid::setPosition(::Ifc4x1::IfcAxis2Placement3D* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1044]); } const IfcParse::entity& Ifc4x1::IfcSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X1_types[1044]); } Ifc4x1::IfcSweptAreaSolid::IfcSweptAreaSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x1::IfcSweptAreaSolid::IfcSweptAreaSolid(::Ifc4x1::IfcProfileDef* v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D* v2_Position) : IfcSolidModel(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcSweptAreaSolid::IfcSweptAreaSolid(::Ifc4x1::IfcProfileDef* v1_SweptArea, ::Ifc4x1::IfcAxis2Placement3D* v2_Position) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSweptDiskSolid -::Ifc4x1::IfcCurve* Ifc4x1::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcCurve>(true); } +::Ifc4x1::IfcCurve* Ifc4x1::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcSweptDiskSolid::setDirectrix(::Ifc4x1::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x1::IfcSweptDiskSolid::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x1::IfcSweptDiskSolid::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x1::IfcSweptDiskSolid::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x1::IfcSweptDiskSolid::InnerRadius() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x1::IfcSweptDiskSolid::InnerRadius() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x1::IfcSweptDiskSolid::setInnerRadius(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x1::IfcSweptDiskSolid::StartParam() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x1::IfcSweptDiskSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x1::IfcSweptDiskSolid::setStartParam(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x1::IfcSweptDiskSolid::EndParam() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x1::IfcSweptDiskSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x1::IfcSweptDiskSolid::setEndParam(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x1::IfcSweptDiskSolid::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1045]); } const IfcParse::entity& Ifc4x1::IfcSweptDiskSolid::Class() { return *((IfcParse::entity*)IFC4X1_types[1045]); } Ifc4x1::IfcSweptDiskSolid::IfcSweptDiskSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x1::IfcSweptDiskSolid::IfcSweptDiskSolid(::Ifc4x1::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam) : IfcSolidModel(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; populate_derived(); } +Ifc4x1::IfcSweptDiskSolid::IfcSweptDiskSolid(::Ifc4x1::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; populate_derived(); } // Function implementations for IfcSweptDiskSolidPolygonal -boost::optional< double > Ifc4x1::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x1::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x1::IfcSweptDiskSolidPolygonal::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x1::IfcSweptDiskSolidPolygonal::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1046]); } const IfcParse::entity& Ifc4x1::IfcSweptDiskSolidPolygonal::Class() { return *((IfcParse::entity*)IFC4X1_types[1046]); } Ifc4x1::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(IfcEntityInstanceData&& e) : IfcSweptDiskSolid(std::move(e)) { } -Ifc4x1::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(::Ifc4x1::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, boost::optional< double > v6_FilletRadius) : IfcSweptDiskSolid(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); }; populate_derived(); } +Ifc4x1::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(::Ifc4x1::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, boost::optional< double > v6_FilletRadius) : IfcSweptDiskSolid(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); }; populate_derived(); } // Function implementations for IfcSweptSurface -::Ifc4x1::IfcProfileDef* Ifc4x1::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcProfileDef>(true); } +::Ifc4x1::IfcProfileDef* Ifc4x1::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcProfileDef>(true); } void Ifc4x1::IfcSweptSurface::setSweptCurve(::Ifc4x1::IfcProfileDef* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcSweptSurface::Position() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcAxis2Placement3D>(true); } +::Ifc4x1::IfcAxis2Placement3D* Ifc4x1::IfcSweptSurface::Position() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcAxis2Placement3D>(true); } void Ifc4x1::IfcSweptSurface::setPosition(::Ifc4x1::IfcAxis2Placement3D* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcSweptSurface::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1047]); } const IfcParse::entity& Ifc4x1::IfcSweptSurface::Class() { return *((IfcParse::entity*)IFC4X1_types[1047]); } Ifc4x1::IfcSweptSurface::IfcSweptSurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x1::IfcSweptSurface::IfcSweptSurface(::Ifc4x1::IfcProfileDef* v1_SweptCurve, ::Ifc4x1::IfcAxis2Placement3D* v2_Position) : IfcSurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcSweptSurface::IfcSweptSurface(::Ifc4x1::IfcProfileDef* v1_SweptCurve, ::Ifc4x1::IfcAxis2Placement3D* v2_Position) : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSwitchingDevice -boost::optional< ::Ifc4x1::IfcSwitchingDeviceTypeEnum::Value > Ifc4x1::IfcSwitchingDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcSwitchingDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcSwitchingDeviceTypeEnum::Value > Ifc4x1::IfcSwitchingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcSwitchingDevice::setPredefinedType(boost::optional< ::Ifc4x1::IfcSwitchingDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcSwitchingDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcSwitchingDevice::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1048]); } const IfcParse::entity& Ifc4x1::IfcSwitchingDevice::Class() { return *((IfcParse::entity*)IFC4X1_types[1048]); } Ifc4x1::IfcSwitchingDevice::IfcSwitchingDevice(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x1::IfcSwitchingDevice::IfcSwitchingDevice(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcSwitchingDevice::IfcSwitchingDevice(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSwitchingDeviceType -::Ifc4x1::IfcSwitchingDeviceTypeEnum::Value Ifc4x1::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4x1::IfcSwitchingDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcSwitchingDeviceTypeEnum::Value Ifc4x1::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4x1::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcSwitchingDeviceType::setPredefinedType(::Ifc4x1::IfcSwitchingDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcSwitchingDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcSwitchingDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1049]); } const IfcParse::entity& Ifc4x1::IfcSwitchingDeviceType::Class() { return *((IfcParse::entity*)IFC4X1_types[1049]); } Ifc4x1::IfcSwitchingDeviceType::IfcSwitchingDeviceType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x1::IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSystem @@ -15232,284 +15232,284 @@ Ifc4x1::IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_GlobalId, const IfcParse::entity& Ifc4x1::IfcSystem::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1051]); } const IfcParse::entity& Ifc4x1::IfcSystem::Class() { return *((IfcParse::entity*)IFC4X1_types[1051]); } Ifc4x1::IfcSystem::IfcSystem(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x1::IfcSystem::IfcSystem(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcGroup(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc4x1::IfcSystem::IfcSystem(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcSystemFurnitureElement -boost::optional< ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x1::IfcSystemFurnitureElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x1::IfcSystemFurnitureElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcSystemFurnitureElement::setPredefinedType(boost::optional< ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcSystemFurnitureElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1052]); } const IfcParse::entity& Ifc4x1::IfcSystemFurnitureElement::Class() { return *((IfcParse::entity*)IFC4X1_types[1052]); } Ifc4x1::IfcSystemFurnitureElement::IfcSystemFurnitureElement(IfcEntityInstanceData&& e) : IfcFurnishingElement(std::move(e)) { } -Ifc4x1::IfcSystemFurnitureElement::IfcSystemFurnitureElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcSystemFurnitureElement::IfcSystemFurnitureElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSystemFurnitureElementType -boost::optional< ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x1::IfcSystemFurnitureElementType::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x1::IfcSystemFurnitureElementType::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcSystemFurnitureElementType::setPredefinedType(boost::optional< ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x1::IfcSystemFurnitureElementType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1053]); } const IfcParse::entity& Ifc4x1::IfcSystemFurnitureElementType::Class() { return *((IfcParse::entity*)IFC4X1_types[1053]); } Ifc4x1::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(IfcEntityInstanceData&& e) : IfcFurnishingElementType(std::move(e)) { } -Ifc4x1::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< ::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTShapeProfileDef -double Ifc4x1::IfcTShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x1::IfcTShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x1::IfcTShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x1::IfcTShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x1::IfcTShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc4x1::IfcTShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x1::IfcTShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x1::IfcTShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x1::IfcTShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x1::IfcTShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x1::IfcTShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x1::IfcTShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x1::IfcTShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x1::IfcTShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x1::IfcTShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x1::IfcTShapeProfileDef::FlangeEdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x1::IfcTShapeProfileDef::FlangeEdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x1::IfcTShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x1::IfcTShapeProfileDef::WebEdgeRadius() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x1::IfcTShapeProfileDef::WebEdgeRadius() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x1::IfcTShapeProfileDef::setWebEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x1::IfcTShapeProfileDef::WebSlope() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x1::IfcTShapeProfileDef::WebSlope() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x1::IfcTShapeProfileDef::setWebSlope(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x1::IfcTShapeProfileDef::FlangeSlope() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x1::IfcTShapeProfileDef::FlangeSlope() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x1::IfcTShapeProfileDef::setFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x1::IfcTShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1130]); } const IfcParse::entity& Ifc4x1::IfcTShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X1_types[1130]); } Ifc4x1::IfcTShapeProfileDef::IfcTShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x1::IfcTShapeProfileDef::IfcTShapeProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::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(storage_t(12))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); }; populate_derived(); } +Ifc4x1::IfcTShapeProfileDef::IfcTShapeProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::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(in_memory_attribute_storage(12))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); }; populate_derived(); } // Function implementations for IfcTable -boost::optional< std::string > Ifc4x1::IfcTable::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x1::IfcTable::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcTable::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< aggregate_of< ::Ifc4x1::IfcTableRow >::ptr > Ifc4x1::IfcTable::Rows() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x1::IfcTableRow >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcTableRow >::ptr > Ifc4x1::IfcTable::Rows() const { if(get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x1::IfcTableRow >(); } void Ifc4x1::IfcTable::setRows(boost::optional< aggregate_of< ::Ifc4x1::IfcTableRow >::ptr > v) { if (v) {set_attribute_value(1, (*v)->generalize());} else {unset_attribute_value(1);} } -boost::optional< aggregate_of< ::Ifc4x1::IfcTableColumn >::ptr > Ifc4x1::IfcTable::Columns() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x1::IfcTableColumn >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcTableColumn >::ptr > Ifc4x1::IfcTable::Columns() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x1::IfcTableColumn >(); } void Ifc4x1::IfcTable::setColumns(boost::optional< aggregate_of< ::Ifc4x1::IfcTableColumn >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x1::IfcTable::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1055]); } const IfcParse::entity& Ifc4x1::IfcTable::Class() { return *((IfcParse::entity*)IFC4X1_types[1055]); } Ifc4x1::IfcTable::IfcTable(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcTable::IfcTable(boost::optional< std::string > v1_Name, boost::optional< aggregate_of< ::Ifc4x1::IfcTableRow >::ptr > v2_Rows, boost::optional< aggregate_of< ::Ifc4x1::IfcTableColumn >::ptr > v3_Columns) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, (*v2_Rows)->generalize()); } if (v3_Columns) {set_attribute_value(2, (*v3_Columns)->generalize()); }; populate_derived(); } +Ifc4x1::IfcTable::IfcTable(boost::optional< std::string > v1_Name, boost::optional< aggregate_of< ::Ifc4x1::IfcTableRow >::ptr > v2_Rows, boost::optional< aggregate_of< ::Ifc4x1::IfcTableColumn >::ptr > v3_Columns) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, (*v2_Rows)->generalize()); } if (v3_Columns) {set_attribute_value(2, (*v3_Columns)->generalize()); }; populate_derived(); } // Function implementations for IfcTableColumn -boost::optional< std::string > Ifc4x1::IfcTableColumn::Identifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x1::IfcTableColumn::Identifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcTableColumn::setIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x1::IfcTableColumn::Name() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x1::IfcTableColumn::Name() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcTableColumn::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x1::IfcTableColumn::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x1::IfcTableColumn::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcTableColumn::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x1::IfcUnit* Ifc4x1::IfcTableColumn::Unit() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcUnit>(true); } +::Ifc4x1::IfcUnit* Ifc4x1::IfcTableColumn::Unit() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcUnit>(true); } void Ifc4x1::IfcTableColumn::setUnit(::Ifc4x1::IfcUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x1::IfcReference* Ifc4x1::IfcTableColumn::ReferencePath() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x1::IfcReference>(true); } +::Ifc4x1::IfcReference* Ifc4x1::IfcTableColumn::ReferencePath() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x1::IfcReference>(true); } void Ifc4x1::IfcTableColumn::setReferencePath(::Ifc4x1::IfcReference* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x1::IfcTableColumn::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1056]); } const IfcParse::entity& Ifc4x1::IfcTableColumn::Class() { return *((IfcParse::entity*)IFC4X1_types[1056]); } Ifc4x1::IfcTableColumn::IfcTableColumn(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x1::IfcUnit* v4_Unit, ::Ifc4x1::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ReferencePath ? v5_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x1::IfcUnit* v4_Unit, ::Ifc4x1::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ReferencePath ? v5_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTableRow -boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > Ifc4x1::IfcTableRow::RowCells() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x1::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > Ifc4x1::IfcTableRow::RowCells() const { if(get_attribute_value(0).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x1::IfcValue >(); } void Ifc4x1::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v) { if (v) {set_attribute_value(0, (*v)->generalize());} else {unset_attribute_value(0);} } -boost::optional< bool > Ifc4x1::IfcTableRow::IsHeading() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } bool v = data_.get_attribute_value(1); return v; } +boost::optional< bool > Ifc4x1::IfcTableRow::IsHeading() const { if(get_attribute_value(1).isNull()) { return boost::none; } bool v = get_attribute_value(1); return v; } void Ifc4x1::IfcTableRow::setIsHeading(boost::optional< bool > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x1::IfcTableRow::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1057]); } const IfcParse::entity& Ifc4x1::IfcTableRow::Class() { return *((IfcParse::entity*)IFC4X1_types[1057]); } Ifc4x1::IfcTableRow::IfcTableRow(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_RowCells) {set_attribute_value(0, (*v1_RowCells)->generalize()); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); }; populate_derived(); } +Ifc4x1::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x1::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_RowCells) {set_attribute_value(0, (*v1_RowCells)->generalize()); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); }; populate_derived(); } // Function implementations for IfcTank -boost::optional< ::Ifc4x1::IfcTankTypeEnum::Value > Ifc4x1::IfcTank::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcTankTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcTankTypeEnum::Value > Ifc4x1::IfcTank::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcTankTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcTank::setPredefinedType(boost::optional< ::Ifc4x1::IfcTankTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcTankTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcTank::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1058]); } const IfcParse::entity& Ifc4x1::IfcTank::Class() { return *((IfcParse::entity*)IFC4X1_types[1058]); } Ifc4x1::IfcTank::IfcTank(IfcEntityInstanceData&& e) : IfcFlowStorageDevice(std::move(e)) { } -Ifc4x1::IfcTank::IfcTank(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcTankTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcTank::IfcTank(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcTankTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTankType -::Ifc4x1::IfcTankTypeEnum::Value Ifc4x1::IfcTankType::PredefinedType() const { return ::Ifc4x1::IfcTankTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcTankTypeEnum::Value Ifc4x1::IfcTankType::PredefinedType() const { return ::Ifc4x1::IfcTankTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcTankType::setPredefinedType(::Ifc4x1::IfcTankTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcTankTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcTankType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1059]); } const IfcParse::entity& Ifc4x1::IfcTankType::Class() { return *((IfcParse::entity*)IFC4X1_types[1059]); } Ifc4x1::IfcTankType::IfcTankType(IfcEntityInstanceData&& e) : IfcFlowStorageDeviceType(std::move(e)) { } -Ifc4x1::IfcTankType::IfcTankType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTankTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcTankType::IfcTankType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTankTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTask -boost::optional< std::string > Ifc4x1::IfcTask::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x1::IfcTask::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x1::IfcTask::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x1::IfcTask::WorkMethod() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x1::IfcTask::WorkMethod() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x1::IfcTask::setWorkMethod(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -bool Ifc4x1::IfcTask::IsMilestone() const { bool v = data_.get_attribute_value(9); return v; } +bool Ifc4x1::IfcTask::IsMilestone() const { bool v = get_attribute_value(9); return v; } void Ifc4x1::IfcTask::setIsMilestone(bool v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -boost::optional< int > Ifc4x1::IfcTask::Priority() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } int v = data_.get_attribute_value(10); return v; } +boost::optional< int > Ifc4x1::IfcTask::Priority() const { if(get_attribute_value(10).isNull()) { return boost::none; } int v = get_attribute_value(10); return v; } void Ifc4x1::IfcTask::setPriority(boost::optional< int > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4x1::IfcTaskTime* Ifc4x1::IfcTask::TaskTime() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc4x1::IfcTaskTime>(true); } +::Ifc4x1::IfcTaskTime* Ifc4x1::IfcTask::TaskTime() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc4x1::IfcTaskTime>(true); } void Ifc4x1::IfcTask::setTaskTime(::Ifc4x1::IfcTaskTime* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } -boost::optional< ::Ifc4x1::IfcTaskTypeEnum::Value > Ifc4x1::IfcTask::PredefinedType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x1::IfcTaskTypeEnum::FromString(data_.get_attribute_value(12)); } +boost::optional< ::Ifc4x1::IfcTaskTypeEnum::Value > Ifc4x1::IfcTask::PredefinedType() const { if(get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x1::IfcTaskTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x1::IfcTask::setPredefinedType(boost::optional< ::Ifc4x1::IfcTaskTypeEnum::Value > v) { if (v) {set_attribute_value(12, EnumerationReference(&::Ifc4x1::IfcTaskTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x1::IfcTask::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1061]); } const IfcParse::entity& Ifc4x1::IfcTask::Class() { return *((IfcParse::entity*)IFC4X1_types[1061]); } Ifc4x1::IfcTask::IfcTask(IfcEntityInstanceData&& e) : IfcProcess(std::move(e)) { } -Ifc4x1::IfcTask::IfcTask(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, boost::optional< int > v11_Priority, ::Ifc4x1::IfcTaskTime* v12_TaskTime, boost::optional< ::Ifc4x1::IfcTaskTypeEnum::Value > v13_PredefinedType) : IfcProcess(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, v12_TaskTime ? v12_TaskTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x1::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcTask::IfcTask(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, boost::optional< int > v11_Priority, ::Ifc4x1::IfcTaskTime* v12_TaskTime, boost::optional< ::Ifc4x1::IfcTaskTypeEnum::Value > v13_PredefinedType) : IfcProcess(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, v12_TaskTime ? v12_TaskTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x1::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTaskTime -boost::optional< ::Ifc4x1::IfcTaskDurationEnum::Value > Ifc4x1::IfcTaskTime::DurationType() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x1::IfcTaskDurationEnum::FromString(data_.get_attribute_value(3)); } +boost::optional< ::Ifc4x1::IfcTaskDurationEnum::Value > Ifc4x1::IfcTaskTime::DurationType() const { if(get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x1::IfcTaskDurationEnum::FromString(get_attribute_value(3)); } void Ifc4x1::IfcTaskTime::setDurationType(boost::optional< ::Ifc4x1::IfcTaskDurationEnum::Value > v) { if (v) {set_attribute_value(3, EnumerationReference(&::Ifc4x1::IfcTaskDurationEnum::Class(), (size_t) *v));} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x1::IfcTaskTime::ScheduleDuration() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x1::IfcTaskTime::ScheduleDuration() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcTaskTime::setScheduleDuration(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x1::IfcTaskTime::ScheduleStart() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x1::IfcTaskTime::ScheduleStart() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcTaskTime::setScheduleStart(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x1::IfcTaskTime::ScheduleFinish() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x1::IfcTaskTime::ScheduleFinish() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x1::IfcTaskTime::setScheduleFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x1::IfcTaskTime::EarlyStart() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x1::IfcTaskTime::EarlyStart() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x1::IfcTaskTime::setEarlyStart(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x1::IfcTaskTime::EarlyFinish() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x1::IfcTaskTime::EarlyFinish() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x1::IfcTaskTime::setEarlyFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x1::IfcTaskTime::LateStart() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x1::IfcTaskTime::LateStart() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x1::IfcTaskTime::setLateStart(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x1::IfcTaskTime::LateFinish() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x1::IfcTaskTime::LateFinish() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x1::IfcTaskTime::setLateFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< std::string > Ifc4x1::IfcTaskTime::FreeFloat() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x1::IfcTaskTime::FreeFloat() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x1::IfcTaskTime::setFreeFloat(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x1::IfcTaskTime::TotalFloat() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x1::IfcTaskTime::TotalFloat() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x1::IfcTaskTime::setTotalFloat(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< bool > Ifc4x1::IfcTaskTime::IsCritical() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } bool v = data_.get_attribute_value(13); return v; } +boost::optional< bool > Ifc4x1::IfcTaskTime::IsCritical() const { if(get_attribute_value(13).isNull()) { return boost::none; } bool v = get_attribute_value(13); return v; } void Ifc4x1::IfcTaskTime::setIsCritical(boost::optional< bool > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x1::IfcTaskTime::StatusTime() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x1::IfcTaskTime::StatusTime() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x1::IfcTaskTime::setStatusTime(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< std::string > Ifc4x1::IfcTaskTime::ActualDuration() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(15); return v; } +boost::optional< std::string > Ifc4x1::IfcTaskTime::ActualDuration() const { if(get_attribute_value(15).isNull()) { return boost::none; } std::string v = get_attribute_value(15); return v; } void Ifc4x1::IfcTaskTime::setActualDuration(boost::optional< std::string > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< std::string > Ifc4x1::IfcTaskTime::ActualStart() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(16); return v; } +boost::optional< std::string > Ifc4x1::IfcTaskTime::ActualStart() const { if(get_attribute_value(16).isNull()) { return boost::none; } std::string v = get_attribute_value(16); return v; } void Ifc4x1::IfcTaskTime::setActualStart(boost::optional< std::string > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< std::string > Ifc4x1::IfcTaskTime::ActualFinish() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(17); return v; } +boost::optional< std::string > Ifc4x1::IfcTaskTime::ActualFinish() const { if(get_attribute_value(17).isNull()) { return boost::none; } std::string v = get_attribute_value(17); return v; } void Ifc4x1::IfcTaskTime::setActualFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } -boost::optional< std::string > Ifc4x1::IfcTaskTime::RemainingTime() const { if(data_.get_attribute_value(18).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(18); return v; } +boost::optional< std::string > Ifc4x1::IfcTaskTime::RemainingTime() const { if(get_attribute_value(18).isNull()) { return boost::none; } std::string v = get_attribute_value(18); return v; } void Ifc4x1::IfcTaskTime::setRemainingTime(boost::optional< std::string > v) { if (v) {set_attribute_value(18, *v);} else {unset_attribute_value(18);} } -boost::optional< double > Ifc4x1::IfcTaskTime::Completion() const { if(data_.get_attribute_value(19).isNull()) { return boost::none; } double v = data_.get_attribute_value(19); return v; } +boost::optional< double > Ifc4x1::IfcTaskTime::Completion() const { if(get_attribute_value(19).isNull()) { return boost::none; } double v = get_attribute_value(19); return v; } void Ifc4x1::IfcTaskTime::setCompletion(boost::optional< double > v) { if (v) {set_attribute_value(19, *v);} else {unset_attribute_value(19);} } const IfcParse::entity& Ifc4x1::IfcTaskTime::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1063]); } const IfcParse::entity& Ifc4x1::IfcTaskTime::Class() { return *((IfcParse::entity*)IFC4X1_types[1063]); } Ifc4x1::IfcTaskTime::IfcTaskTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x1::IfcTaskTime::IfcTaskTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x1::IfcTaskDurationEnum::Value > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion) : IfcSchedulingTime(IfcEntityInstanceData(storage_t(20))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x1::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }; populate_derived(); } +Ifc4x1::IfcTaskTime::IfcTaskTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x1::IfcTaskDurationEnum::Value > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion) : IfcSchedulingTime(IfcEntityInstanceData(in_memory_attribute_storage(20))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x1::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }; populate_derived(); } // Function implementations for IfcTaskTimeRecurring -::Ifc4x1::IfcRecurrencePattern* Ifc4x1::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(20)))->as<::Ifc4x1::IfcRecurrencePattern>(true); } +::Ifc4x1::IfcRecurrencePattern* Ifc4x1::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(20)))->as<::Ifc4x1::IfcRecurrencePattern>(true); } void Ifc4x1::IfcTaskTimeRecurring::setRecurrence(::Ifc4x1::IfcRecurrencePattern* v) { set_attribute_value(20, v->as());if constexpr (false)unset_attribute_value(20); } const IfcParse::entity& Ifc4x1::IfcTaskTimeRecurring::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1064]); } const IfcParse::entity& Ifc4x1::IfcTaskTimeRecurring::Class() { return *((IfcParse::entity*)IFC4X1_types[1064]); } Ifc4x1::IfcTaskTimeRecurring::IfcTaskTimeRecurring(IfcEntityInstanceData&& e) : IfcTaskTime(std::move(e)) { } -Ifc4x1::IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x1::IfcTaskDurationEnum::Value > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion, ::Ifc4x1::IfcRecurrencePattern* v21_Recurrence) : IfcTaskTime(IfcEntityInstanceData(storage_t(21))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x1::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, v21_Recurrence ? v21_Recurrence->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x1::IfcTaskDurationEnum::Value > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion, ::Ifc4x1::IfcRecurrencePattern* v21_Recurrence) : IfcTaskTime(IfcEntityInstanceData(in_memory_attribute_storage(21))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x1::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, v21_Recurrence ? v21_Recurrence->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTaskType -::Ifc4x1::IfcTaskTypeEnum::Value Ifc4x1::IfcTaskType::PredefinedType() const { return ::Ifc4x1::IfcTaskTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcTaskTypeEnum::Value Ifc4x1::IfcTaskType::PredefinedType() const { return ::Ifc4x1::IfcTaskTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcTaskType::setPredefinedType(::Ifc4x1::IfcTaskTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcTaskTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x1::IfcTaskType::WorkMethod() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x1::IfcTaskType::WorkMethod() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x1::IfcTaskType::setWorkMethod(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x1::IfcTaskType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1065]); } const IfcParse::entity& Ifc4x1::IfcTaskType::Class() { return *((IfcParse::entity*)IFC4X1_types[1065]); } Ifc4x1::IfcTaskType::IfcTaskType(IfcEntityInstanceData&& e) : IfcTypeProcess(std::move(e)) { } -Ifc4x1::IfcTaskType::IfcTaskType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x1::IfcTaskTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_WorkMethod) : IfcTypeProcess(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); }; populate_derived(); } +Ifc4x1::IfcTaskType::IfcTaskType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x1::IfcTaskTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_WorkMethod) : IfcTypeProcess(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); }; populate_derived(); } // Function implementations for IfcTelecomAddress -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcTelecomAddress::TelephoneNumbers() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcTelecomAddress::TelephoneNumbers() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x1::IfcTelecomAddress::setTelephoneNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcTelecomAddress::FacsimileNumbers() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcTelecomAddress::FacsimileNumbers() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x1::IfcTelecomAddress::setFacsimileNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x1::IfcTelecomAddress::PagerNumber() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x1::IfcTelecomAddress::PagerNumber() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcTelecomAddress::setPagerNumber(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcTelecomAddress::ElectronicMailAddresses() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(6); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcTelecomAddress::ElectronicMailAddresses() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(6); return v; } void Ifc4x1::IfcTelecomAddress::setElectronicMailAddresses(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x1::IfcTelecomAddress::WWWHomePageURL() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x1::IfcTelecomAddress::WWWHomePageURL() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x1::IfcTelecomAddress::setWWWHomePageURL(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcTelecomAddress::MessagingIDs() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(8); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x1::IfcTelecomAddress::MessagingIDs() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(8); return v; } void Ifc4x1::IfcTelecomAddress::setMessagingIDs(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcTelecomAddress::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1067]); } const IfcParse::entity& Ifc4x1::IfcTelecomAddress::Class() { return *((IfcParse::entity*)IFC4X1_types[1067]); } Ifc4x1::IfcTelecomAddress::IfcTelecomAddress(IfcEntityInstanceData&& e) : IfcAddress(std::move(e)) { } -Ifc4x1::IfcTelecomAddress::IfcTelecomAddress(boost::optional< ::Ifc4x1::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(storage_t(9))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); }; populate_derived(); } +Ifc4x1::IfcTelecomAddress::IfcTelecomAddress(boost::optional< ::Ifc4x1::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(in_memory_attribute_storage(9))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); }; populate_derived(); } // Function implementations for IfcTendon -boost::optional< ::Ifc4x1::IfcTendonTypeEnum::Value > Ifc4x1::IfcTendon::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x1::IfcTendonTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x1::IfcTendonTypeEnum::Value > Ifc4x1::IfcTendon::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x1::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcTendon::setPredefinedType(boost::optional< ::Ifc4x1::IfcTendonTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcTendonTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x1::IfcTendon::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x1::IfcTendon::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x1::IfcTendon::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x1::IfcTendon::CrossSectionArea() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x1::IfcTendon::CrossSectionArea() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x1::IfcTendon::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x1::IfcTendon::TensionForce() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x1::IfcTendon::TensionForce() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x1::IfcTendon::setTensionForce(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x1::IfcTendon::PreStress() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x1::IfcTendon::PreStress() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x1::IfcTendon::setPreStress(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x1::IfcTendon::FrictionCoefficient() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x1::IfcTendon::FrictionCoefficient() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x1::IfcTendon::setFrictionCoefficient(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x1::IfcTendon::AnchorageSlip() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x1::IfcTendon::AnchorageSlip() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x1::IfcTendon::setAnchorageSlip(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x1::IfcTendon::MinCurvatureRadius() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x1::IfcTendon::MinCurvatureRadius() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x1::IfcTendon::setMinCurvatureRadius(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } const IfcParse::entity& Ifc4x1::IfcTendon::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1070]); } const IfcParse::entity& Ifc4x1::IfcTendon::Class() { return *((IfcParse::entity*)IFC4X1_types[1070]); } Ifc4x1::IfcTendon::IfcTendon(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x1::IfcTendon::IfcTendon(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x1::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(storage_t(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; populate_derived(); } +Ifc4x1::IfcTendon::IfcTendon(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x1::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(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; populate_derived(); } // Function implementations for IfcTendonAnchor -boost::optional< ::Ifc4x1::IfcTendonAnchorTypeEnum::Value > Ifc4x1::IfcTendonAnchor::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x1::IfcTendonAnchorTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x1::IfcTendonAnchorTypeEnum::Value > Ifc4x1::IfcTendonAnchor::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x1::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcTendonAnchor::setPredefinedType(boost::optional< ::Ifc4x1::IfcTendonAnchorTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcTendonAnchorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x1::IfcTendonAnchor::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1071]); } const IfcParse::entity& Ifc4x1::IfcTendonAnchor::Class() { return *((IfcParse::entity*)IFC4X1_types[1071]); } Ifc4x1::IfcTendonAnchor::IfcTendonAnchor(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x1::IfcTendonAnchor::IfcTendonAnchor(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x1::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcTendonAnchor::IfcTendonAnchor(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x1::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTendonAnchorType -::Ifc4x1::IfcTendonAnchorTypeEnum::Value Ifc4x1::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4x1::IfcTendonAnchorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcTendonAnchorTypeEnum::Value Ifc4x1::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4x1::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcTendonAnchorType::setPredefinedType(::Ifc4x1::IfcTendonAnchorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcTendonAnchorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcTendonAnchorType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1072]); } const IfcParse::entity& Ifc4x1::IfcTendonAnchorType::Class() { return *((IfcParse::entity*)IFC4X1_types[1072]); } Ifc4x1::IfcTendonAnchorType::IfcTendonAnchorType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x1::IfcTendonAnchorType::IfcTendonAnchorType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcTendonAnchorType::IfcTendonAnchorType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTendonType -::Ifc4x1::IfcTendonTypeEnum::Value Ifc4x1::IfcTendonType::PredefinedType() const { return ::Ifc4x1::IfcTendonTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcTendonTypeEnum::Value Ifc4x1::IfcTendonType::PredefinedType() const { return ::Ifc4x1::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcTendonType::setPredefinedType(::Ifc4x1::IfcTendonTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcTendonTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x1::IfcTendonType::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x1::IfcTendonType::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x1::IfcTendonType::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x1::IfcTendonType::CrossSectionArea() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x1::IfcTendonType::CrossSectionArea() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x1::IfcTendonType::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x1::IfcTendonType::SheathDiameter() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x1::IfcTendonType::SheathDiameter() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x1::IfcTendonType::setSheathDiameter(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x1::IfcTendonType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1074]); } const IfcParse::entity& Ifc4x1::IfcTendonType::Class() { return *((IfcParse::entity*)IFC4X1_types[1074]); } Ifc4x1::IfcTendonType::IfcTendonType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x1::IfcTendonType::IfcTendonType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTendonTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheathDiameter) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); }; populate_derived(); } +Ifc4x1::IfcTendonType::IfcTendonType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTendonTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheathDiameter) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); }; populate_derived(); } // Function implementations for IfcTessellatedFaceSet -::Ifc4x1::IfcCartesianPointList3D* Ifc4x1::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcCartesianPointList3D>(true); } +::Ifc4x1::IfcCartesianPointList3D* Ifc4x1::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcCartesianPointList3D>(true); } void Ifc4x1::IfcTessellatedFaceSet::setCoordinates(::Ifc4x1::IfcCartesianPointList3D* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } ::Ifc4x1::IfcIndexedColourMap::list::ptr Ifc4x1::IfcTessellatedFaceSet::HasColours() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[493], 0)->as(); } @@ -15518,7 +15518,7 @@ void Ifc4x1::IfcTessellatedFaceSet::setCoordinates(::Ifc4x1::IfcCartesianPointLi const IfcParse::entity& Ifc4x1::IfcTessellatedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1076]); } const IfcParse::entity& Ifc4x1::IfcTessellatedFaceSet::Class() { return *((IfcParse::entity*)IFC4X1_types[1076]); } Ifc4x1::IfcTessellatedFaceSet::IfcTessellatedFaceSet(IfcEntityInstanceData&& e) : IfcTessellatedItem(std::move(e)) { } -Ifc4x1::IfcTessellatedFaceSet::IfcTessellatedFaceSet(::Ifc4x1::IfcCartesianPointList3D* v1_Coordinates) : IfcTessellatedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcTessellatedFaceSet::IfcTessellatedFaceSet(::Ifc4x1::IfcCartesianPointList3D* v1_Coordinates) : IfcTessellatedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTessellatedItem @@ -15526,184 +15526,184 @@ Ifc4x1::IfcTessellatedFaceSet::IfcTessellatedFaceSet(::Ifc4x1::IfcCartesianPoint const IfcParse::entity& Ifc4x1::IfcTessellatedItem::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1077]); } const IfcParse::entity& Ifc4x1::IfcTessellatedItem::Class() { return *((IfcParse::entity*)IFC4X1_types[1077]); } Ifc4x1::IfcTessellatedItem::IfcTessellatedItem(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x1::IfcTessellatedItem::IfcTessellatedItem() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x1::IfcTessellatedItem::IfcTessellatedItem() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcTextLiteral -std::string Ifc4x1::IfcTextLiteral::Literal() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x1::IfcTextLiteral::Literal() const { std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcTextLiteral::setLiteral(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcAxis2Placement* Ifc4x1::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcAxis2Placement>(true); } +::Ifc4x1::IfcAxis2Placement* Ifc4x1::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcAxis2Placement>(true); } void Ifc4x1::IfcTextLiteral::setPlacement(::Ifc4x1::IfcAxis2Placement* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcTextPath::Value Ifc4x1::IfcTextLiteral::Path() const { return ::Ifc4x1::IfcTextPath::FromString(data_.get_attribute_value(2)); } +::Ifc4x1::IfcTextPath::Value Ifc4x1::IfcTextLiteral::Path() const { return ::Ifc4x1::IfcTextPath::FromString(get_attribute_value(2)); } void Ifc4x1::IfcTextLiteral::setPath(::Ifc4x1::IfcTextPath::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x1::IfcTextPath::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x1::IfcTextLiteral::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1083]); } const IfcParse::entity& Ifc4x1::IfcTextLiteral::Class() { return *((IfcParse::entity*)IFC4X1_types[1083]); } Ifc4x1::IfcTextLiteral::IfcTextLiteral(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x1::IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, ::Ifc4x1::IfcAxis2Placement* v2_Placement, ::Ifc4x1::IfcTextPath::Value v3_Path) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x1::IfcTextPath::Class(),(size_t)v3_Path)));; populate_derived(); } +Ifc4x1::IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, ::Ifc4x1::IfcAxis2Placement* v2_Placement, ::Ifc4x1::IfcTextPath::Value v3_Path) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x1::IfcTextPath::Class(),(size_t)v3_Path)));; populate_derived(); } // Function implementations for IfcTextLiteralWithExtent -::Ifc4x1::IfcPlanarExtent* Ifc4x1::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcPlanarExtent>(true); } +::Ifc4x1::IfcPlanarExtent* Ifc4x1::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcPlanarExtent>(true); } void Ifc4x1::IfcTextLiteralWithExtent::setExtent(::Ifc4x1::IfcPlanarExtent* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -std::string Ifc4x1::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = data_.get_attribute_value(4); return v; } +std::string Ifc4x1::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcTextLiteralWithExtent::setBoxAlignment(std::string v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x1::IfcTextLiteralWithExtent::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1084]); } const IfcParse::entity& Ifc4x1::IfcTextLiteralWithExtent::Class() { return *((IfcParse::entity*)IFC4X1_types[1084]); } Ifc4x1::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(IfcEntityInstanceData&& e) : IfcTextLiteral(std::move(e)) { } -Ifc4x1::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(std::string v1_Literal, ::Ifc4x1::IfcAxis2Placement* v2_Placement, ::Ifc4x1::IfcTextPath::Value v3_Path, ::Ifc4x1::IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment) : IfcTextLiteral(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x1::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, v4_Extent ? v4_Extent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_BoxAlignment));; populate_derived(); } +Ifc4x1::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(std::string v1_Literal, ::Ifc4x1::IfcAxis2Placement* v2_Placement, ::Ifc4x1::IfcTextPath::Value v3_Path, ::Ifc4x1::IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment) : IfcTextLiteral(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x1::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, v4_Extent ? v4_Extent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_BoxAlignment));; populate_derived(); } // Function implementations for IfcTextStyle -::Ifc4x1::IfcTextStyleForDefinedFont* Ifc4x1::IfcTextStyle::TextCharacterAppearance() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcTextStyleForDefinedFont>(true); } +::Ifc4x1::IfcTextStyleForDefinedFont* Ifc4x1::IfcTextStyle::TextCharacterAppearance() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcTextStyleForDefinedFont>(true); } void Ifc4x1::IfcTextStyle::setTextCharacterAppearance(::Ifc4x1::IfcTextStyleForDefinedFont* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcTextStyleTextModel* Ifc4x1::IfcTextStyle::TextStyle() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcTextStyleTextModel>(true); } +::Ifc4x1::IfcTextStyleTextModel* Ifc4x1::IfcTextStyle::TextStyle() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcTextStyleTextModel>(true); } void Ifc4x1::IfcTextStyle::setTextStyle(::Ifc4x1::IfcTextStyleTextModel* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x1::IfcTextFontSelect* Ifc4x1::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcTextFontSelect>(true); } +::Ifc4x1::IfcTextFontSelect* Ifc4x1::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcTextFontSelect>(true); } void Ifc4x1::IfcTextStyle::setTextFontStyle(::Ifc4x1::IfcTextFontSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< bool > Ifc4x1::IfcTextStyle::ModelOrDraughting() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } bool v = data_.get_attribute_value(4); return v; } +boost::optional< bool > Ifc4x1::IfcTextStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return boost::none; } bool v = get_attribute_value(4); return v; } void Ifc4x1::IfcTextStyle::setModelOrDraughting(boost::optional< bool > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x1::IfcTextStyle::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1086]); } const IfcParse::entity& Ifc4x1::IfcTextStyle::Class() { return *((IfcParse::entity*)IFC4X1_types[1086]); } Ifc4x1::IfcTextStyle::IfcTextStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x1::IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcTextStyleForDefinedFont* v2_TextCharacterAppearance, ::Ifc4x1::IfcTextStyleTextModel* v3_TextStyle, ::Ifc4x1::IfcTextFontSelect* v4_TextFontStyle, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TextCharacterAppearance ? v2_TextCharacterAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TextStyle ? v3_TextStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TextFontStyle ? v4_TextFontStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } +Ifc4x1::IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, ::Ifc4x1::IfcTextStyleForDefinedFont* v2_TextCharacterAppearance, ::Ifc4x1::IfcTextStyleTextModel* v3_TextStyle, ::Ifc4x1::IfcTextFontSelect* v4_TextFontStyle, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TextCharacterAppearance ? v2_TextCharacterAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TextStyle ? v3_TextStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TextFontStyle ? v4_TextFontStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } // Function implementations for IfcTextStyleFontModel -std::vector< std::string > /*[1:?]*/ Ifc4x1::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +std::vector< std::string > /*[1:?]*/ Ifc4x1::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x1::IfcTextStyleFontModel::setFontFamily(std::vector< std::string > /*[1:?]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x1::IfcTextStyleFontModel::FontStyle() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x1::IfcTextStyleFontModel::FontStyle() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcTextStyleFontModel::setFontStyle(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x1::IfcTextStyleFontModel::FontVariant() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x1::IfcTextStyleFontModel::FontVariant() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x1::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x1::IfcTextStyleFontModel::FontWeight() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x1::IfcTextStyleFontModel::FontWeight() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x1::IfcSizeSelect* Ifc4x1::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x1::IfcSizeSelect>(true); } +::Ifc4x1::IfcSizeSelect* Ifc4x1::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x1::IfcSizeSelect>(true); } void Ifc4x1::IfcTextStyleFontModel::setFontSize(::Ifc4x1::IfcSizeSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x1::IfcTextStyleFontModel::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1087]); } const IfcParse::entity& Ifc4x1::IfcTextStyleFontModel::Class() { return *((IfcParse::entity*)IFC4X1_types[1087]); } Ifc4x1::IfcTextStyleFontModel::IfcTextStyleFontModel(IfcEntityInstanceData&& e) : IfcPreDefinedTextFont(std::move(e)) { } -Ifc4x1::IfcTextStyleFontModel::IfcTextStyleFontModel(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, boost::optional< std::string > v3_FontStyle, boost::optional< std::string > v4_FontVariant, boost::optional< std::string > v5_FontWeight, ::Ifc4x1::IfcSizeSelect* v6_FontSize) : IfcPreDefinedTextFont(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, v6_FontSize ? v6_FontSize->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcTextStyleFontModel::IfcTextStyleFontModel(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, boost::optional< std::string > v3_FontStyle, boost::optional< std::string > v4_FontVariant, boost::optional< std::string > v5_FontWeight, ::Ifc4x1::IfcSizeSelect* v6_FontSize) : IfcPreDefinedTextFont(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, v6_FontSize ? v6_FontSize->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextStyleForDefinedFont -::Ifc4x1::IfcColour* Ifc4x1::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcColour>(true); } +::Ifc4x1::IfcColour* Ifc4x1::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcColour>(true); } void Ifc4x1::IfcTextStyleForDefinedFont::setColour(::Ifc4x1::IfcColour* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x1::IfcColour* Ifc4x1::IfcTextStyleForDefinedFont::BackgroundColour() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x1::IfcColour>(true); } +::Ifc4x1::IfcColour* Ifc4x1::IfcTextStyleForDefinedFont::BackgroundColour() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x1::IfcColour>(true); } void Ifc4x1::IfcTextStyleForDefinedFont::setBackgroundColour(::Ifc4x1::IfcColour* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcTextStyleForDefinedFont::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1088]); } const IfcParse::entity& Ifc4x1::IfcTextStyleForDefinedFont::Class() { return *((IfcParse::entity*)IFC4X1_types[1088]); } Ifc4x1::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x1::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4x1::IfcColour* v1_Colour, ::Ifc4x1::IfcColour* v2_BackgroundColour) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Colour ? v1_Colour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_BackgroundColour ? v2_BackgroundColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4x1::IfcColour* v1_Colour, ::Ifc4x1::IfcColour* v2_BackgroundColour) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Colour ? v1_Colour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_BackgroundColour ? v2_BackgroundColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextStyleTextModel -::Ifc4x1::IfcSizeSelect* Ifc4x1::IfcTextStyleTextModel::TextIndent() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcSizeSelect>(true); } +::Ifc4x1::IfcSizeSelect* Ifc4x1::IfcTextStyleTextModel::TextIndent() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcSizeSelect>(true); } void Ifc4x1::IfcTextStyleTextModel::setTextIndent(::Ifc4x1::IfcSizeSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x1::IfcTextStyleTextModel::TextAlign() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x1::IfcTextStyleTextModel::TextAlign() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x1::IfcTextStyleTextModel::TextDecoration() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x1::IfcTextStyleTextModel::TextDecoration() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x1::IfcSizeSelect* Ifc4x1::IfcTextStyleTextModel::LetterSpacing() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcSizeSelect>(true); } +::Ifc4x1::IfcSizeSelect* Ifc4x1::IfcTextStyleTextModel::LetterSpacing() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcSizeSelect>(true); } void Ifc4x1::IfcTextStyleTextModel::setLetterSpacing(::Ifc4x1::IfcSizeSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x1::IfcSizeSelect* Ifc4x1::IfcTextStyleTextModel::WordSpacing() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x1::IfcSizeSelect>(true); } +::Ifc4x1::IfcSizeSelect* Ifc4x1::IfcTextStyleTextModel::WordSpacing() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x1::IfcSizeSelect>(true); } void Ifc4x1::IfcTextStyleTextModel::setWordSpacing(::Ifc4x1::IfcSizeSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -boost::optional< std::string > Ifc4x1::IfcTextStyleTextModel::TextTransform() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x1::IfcTextStyleTextModel::TextTransform() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x1::IfcSizeSelect* Ifc4x1::IfcTextStyleTextModel::LineHeight() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x1::IfcSizeSelect>(true); } +::Ifc4x1::IfcSizeSelect* Ifc4x1::IfcTextStyleTextModel::LineHeight() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x1::IfcSizeSelect>(true); } void Ifc4x1::IfcTextStyleTextModel::setLineHeight(::Ifc4x1::IfcSizeSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x1::IfcTextStyleTextModel::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1089]); } const IfcParse::entity& Ifc4x1::IfcTextStyleTextModel::Class() { return *((IfcParse::entity*)IFC4X1_types[1089]); } Ifc4x1::IfcTextStyleTextModel::IfcTextStyleTextModel(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x1::IfcTextStyleTextModel::IfcTextStyleTextModel(::Ifc4x1::IfcSizeSelect* v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, ::Ifc4x1::IfcSizeSelect* v4_LetterSpacing, ::Ifc4x1::IfcSizeSelect* v5_WordSpacing, boost::optional< std::string > v6_TextTransform, ::Ifc4x1::IfcSizeSelect* v7_LineHeight) : IfcPresentationItem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, v1_TextIndent ? v1_TextIndent->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, v4_LetterSpacing ? v4_LetterSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_WordSpacing ? v5_WordSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, v7_LineHeight ? v7_LineHeight->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcTextStyleTextModel::IfcTextStyleTextModel(::Ifc4x1::IfcSizeSelect* v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, ::Ifc4x1::IfcSizeSelect* v4_LetterSpacing, ::Ifc4x1::IfcSizeSelect* v5_WordSpacing, boost::optional< std::string > v6_TextTransform, ::Ifc4x1::IfcSizeSelect* v7_LineHeight) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_TextIndent ? v1_TextIndent->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, v4_LetterSpacing ? v4_LetterSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_WordSpacing ? v5_WordSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, v7_LineHeight ? v7_LineHeight->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextureCoordinate -aggregate_of< ::Ifc4x1::IfcSurfaceTexture >::ptr Ifc4x1::IfcTextureCoordinate::Maps() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x1::IfcSurfaceTexture >(); } +aggregate_of< ::Ifc4x1::IfcSurfaceTexture >::ptr Ifc4x1::IfcTextureCoordinate::Maps() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x1::IfcSurfaceTexture >(); } void Ifc4x1::IfcTextureCoordinate::setMaps(aggregate_of< ::Ifc4x1::IfcSurfaceTexture >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x1::IfcTextureCoordinate::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1091]); } const IfcParse::entity& Ifc4x1::IfcTextureCoordinate::Class() { return *((IfcParse::entity*)IFC4X1_types[1091]); } Ifc4x1::IfcTextureCoordinate::IfcTextureCoordinate(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x1::IfcTextureCoordinate::IfcTextureCoordinate(aggregate_of< ::Ifc4x1::IfcSurfaceTexture >::ptr v1_Maps) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Maps)->generalize());; populate_derived(); } +Ifc4x1::IfcTextureCoordinate::IfcTextureCoordinate(aggregate_of< ::Ifc4x1::IfcSurfaceTexture >::ptr v1_Maps) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Maps)->generalize());; populate_derived(); } // Function implementations for IfcTextureCoordinateGenerator -std::string Ifc4x1::IfcTextureCoordinateGenerator::Mode() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x1::IfcTextureCoordinateGenerator::Mode() const { std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcTextureCoordinateGenerator::setMode(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::vector< double > /*[1:?]*/ > Ifc4x1::IfcTextureCoordinateGenerator::Parameter() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< double > /*[1:?]*/ > Ifc4x1::IfcTextureCoordinateGenerator::Parameter() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[1:?]*/ v = get_attribute_value(2); return v; } void Ifc4x1::IfcTextureCoordinateGenerator::setParameter(boost::optional< std::vector< double > /*[1:?]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x1::IfcTextureCoordinateGenerator::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1092]); } const IfcParse::entity& Ifc4x1::IfcTextureCoordinateGenerator::Class() { return *((IfcParse::entity*)IFC4X1_types[1092]); } Ifc4x1::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(IfcEntityInstanceData&& e) : IfcTextureCoordinate(std::move(e)) { } -Ifc4x1::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(aggregate_of< ::Ifc4x1::IfcSurfaceTexture >::ptr v1_Maps, std::string v2_Mode, boost::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) : IfcTextureCoordinate(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); }; populate_derived(); } +Ifc4x1::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(aggregate_of< ::Ifc4x1::IfcSurfaceTexture >::ptr v1_Maps, std::string v2_Mode, boost::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) : IfcTextureCoordinate(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); }; populate_derived(); } // Function implementations for IfcTextureMap -aggregate_of< ::Ifc4x1::IfcTextureVertex >::ptr Ifc4x1::IfcTextureMap::Vertices() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x1::IfcTextureVertex >(); } +aggregate_of< ::Ifc4x1::IfcTextureVertex >::ptr Ifc4x1::IfcTextureMap::Vertices() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x1::IfcTextureVertex >(); } void Ifc4x1::IfcTextureMap::setVertices(aggregate_of< ::Ifc4x1::IfcTextureVertex >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x1::IfcFace* Ifc4x1::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x1::IfcFace>(true); } +::Ifc4x1::IfcFace* Ifc4x1::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x1::IfcFace>(true); } void Ifc4x1::IfcTextureMap::setMappedTo(::Ifc4x1::IfcFace* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x1::IfcTextureMap::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1093]); } const IfcParse::entity& Ifc4x1::IfcTextureMap::Class() { return *((IfcParse::entity*)IFC4X1_types[1093]); } Ifc4x1::IfcTextureMap::IfcTextureMap(IfcEntityInstanceData&& e) : IfcTextureCoordinate(std::move(e)) { } -Ifc4x1::IfcTextureMap::IfcTextureMap(aggregate_of< ::Ifc4x1::IfcSurfaceTexture >::ptr v1_Maps, aggregate_of< ::Ifc4x1::IfcTextureVertex >::ptr v2_Vertices, ::Ifc4x1::IfcFace* v3_MappedTo) : IfcTextureCoordinate(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Vertices)->generalize());set_attribute_value(2, v3_MappedTo ? v3_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcTextureMap::IfcTextureMap(aggregate_of< ::Ifc4x1::IfcSurfaceTexture >::ptr v1_Maps, aggregate_of< ::Ifc4x1::IfcTextureVertex >::ptr v2_Vertices, ::Ifc4x1::IfcFace* v3_MappedTo) : IfcTextureCoordinate(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Vertices)->generalize());set_attribute_value(2, v3_MappedTo ? v3_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextureVertex -std::vector< double > /*[2:2]*/ Ifc4x1::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[2:2]*/ Ifc4x1::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = get_attribute_value(0); return v; } void Ifc4x1::IfcTextureVertex::setCoordinates(std::vector< double > /*[2:2]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x1::IfcTextureVertex::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1094]); } const IfcParse::entity& Ifc4x1::IfcTextureVertex::Class() { return *((IfcParse::entity*)IFC4X1_types[1094]); } Ifc4x1::IfcTextureVertex::IfcTextureVertex(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x1::IfcTextureVertex::IfcTextureVertex(std::vector< double > /*[2:2]*/ v1_Coordinates) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } +Ifc4x1::IfcTextureVertex::IfcTextureVertex(std::vector< double > /*[2:2]*/ v1_Coordinates) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } // Function implementations for IfcTextureVertexList -std::vector< std::vector< double > > Ifc4x1::IfcTextureVertexList::TexCoordsList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x1::IfcTextureVertexList::TexCoordsList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x1::IfcTextureVertexList::setTexCoordsList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x1::IfcTextureVertexList::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1095]); } const IfcParse::entity& Ifc4x1::IfcTextureVertexList::Class() { return *((IfcParse::entity*)IFC4X1_types[1095]); } Ifc4x1::IfcTextureVertexList::IfcTextureVertexList(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x1::IfcTextureVertexList::IfcTextureVertexList(std::vector< std::vector< double > > v1_TexCoordsList) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_TexCoordsList));; populate_derived(); } +Ifc4x1::IfcTextureVertexList::IfcTextureVertexList(std::vector< std::vector< double > > v1_TexCoordsList) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_TexCoordsList));; populate_derived(); } // Function implementations for IfcTimePeriod -std::string Ifc4x1::IfcTimePeriod::StartTime() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x1::IfcTimePeriod::StartTime() const { std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcTimePeriod::setStartTime(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x1::IfcTimePeriod::EndTime() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x1::IfcTimePeriod::EndTime() const { std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcTimePeriod::setEndTime(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcTimePeriod::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1105]); } const IfcParse::entity& Ifc4x1::IfcTimePeriod::Class() { return *((IfcParse::entity*)IFC4X1_types[1105]); } Ifc4x1::IfcTimePeriod::IfcTimePeriod(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcTimePeriod::IfcTimePeriod(std::string v1_StartTime, std::string v2_EndTime) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime));; populate_derived(); } +Ifc4x1::IfcTimePeriod::IfcTimePeriod(std::string v1_StartTime, std::string v2_EndTime) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime));; populate_derived(); } // Function implementations for IfcTimeSeries -std::string Ifc4x1::IfcTimeSeries::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x1::IfcTimeSeries::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x1::IfcTimeSeries::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x1::IfcTimeSeries::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x1::IfcTimeSeries::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x1::IfcTimeSeries::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::string Ifc4x1::IfcTimeSeries::StartTime() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x1::IfcTimeSeries::StartTime() const { std::string v = get_attribute_value(2); return v; } void Ifc4x1::IfcTimeSeries::setStartTime(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::string Ifc4x1::IfcTimeSeries::EndTime() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x1::IfcTimeSeries::EndTime() const { std::string v = get_attribute_value(3); return v; } void Ifc4x1::IfcTimeSeries::setEndTime(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x1::IfcTimeSeriesDataTypeEnum::Value Ifc4x1::IfcTimeSeries::TimeSeriesDataType() const { return ::Ifc4x1::IfcTimeSeriesDataTypeEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x1::IfcTimeSeriesDataTypeEnum::Value Ifc4x1::IfcTimeSeries::TimeSeriesDataType() const { return ::Ifc4x1::IfcTimeSeriesDataTypeEnum::FromString(get_attribute_value(4)); } void Ifc4x1::IfcTimeSeries::setTimeSeriesDataType(::Ifc4x1::IfcTimeSeriesDataTypeEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x1::IfcTimeSeriesDataTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcDataOriginEnum::Value Ifc4x1::IfcTimeSeries::DataOrigin() const { return ::Ifc4x1::IfcDataOriginEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x1::IfcDataOriginEnum::Value Ifc4x1::IfcTimeSeries::DataOrigin() const { return ::Ifc4x1::IfcDataOriginEnum::FromString(get_attribute_value(5)); } void Ifc4x1::IfcTimeSeries::setDataOrigin(::Ifc4x1::IfcDataOriginEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x1::IfcDataOriginEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< std::string > Ifc4x1::IfcTimeSeries::UserDefinedDataOrigin() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x1::IfcTimeSeries::UserDefinedDataOrigin() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x1::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x1::IfcUnit* Ifc4x1::IfcTimeSeries::Unit() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x1::IfcUnit>(true); } +::Ifc4x1::IfcUnit* Ifc4x1::IfcTimeSeries::Unit() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x1::IfcUnit>(true); } void Ifc4x1::IfcTimeSeries::setUnit(::Ifc4x1::IfcUnit* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } ::Ifc4x1::IfcExternalReferenceRelationship::list::ptr Ifc4x1::IfcTimeSeries::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[394], 3)->as(); } @@ -15711,17 +15711,17 @@ void Ifc4x1::IfcTimeSeries::setUnit(::Ifc4x1::IfcUnit* v) { set_attribute_value( const IfcParse::entity& Ifc4x1::IfcTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1106]); } const IfcParse::entity& Ifc4x1::IfcTimeSeries::Class() { return *((IfcParse::entity*)IFC4X1_types[1106]); } Ifc4x1::IfcTimeSeries::IfcTimeSeries(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x1::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x1::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x1::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x1::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTimeSeriesValue -aggregate_of< ::Ifc4x1::IfcValue >::ptr Ifc4x1::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x1::IfcValue >(); } +aggregate_of< ::Ifc4x1::IfcValue >::ptr Ifc4x1::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x1::IfcValue >(); } void Ifc4x1::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x1::IfcValue >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x1::IfcTimeSeriesValue::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1108]); } const IfcParse::entity& Ifc4x1::IfcTimeSeriesValue::Class() { return *((IfcParse::entity*)IFC4X1_types[1108]); } Ifc4x1::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x1::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_ListValues)->generalize());; populate_derived(); } +Ifc4x1::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x1::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_ListValues)->generalize());; populate_derived(); } // Function implementations for IfcTopologicalRepresentationItem @@ -15729,7 +15729,7 @@ Ifc4x1::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x1::IfcValue const IfcParse::entity& Ifc4x1::IfcTopologicalRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1110]); } const IfcParse::entity& Ifc4x1::IfcTopologicalRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X1_types[1110]); } Ifc4x1::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x1::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x1::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcTopologyRepresentation @@ -15737,162 +15737,162 @@ Ifc4x1::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() : I const IfcParse::entity& Ifc4x1::IfcTopologyRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1111]); } const IfcParse::entity& Ifc4x1::IfcTopologyRepresentation::Class() { return *((IfcParse::entity*)IFC4X1_types[1111]); } Ifc4x1::IfcTopologyRepresentation::IfcTopologyRepresentation(IfcEntityInstanceData&& e) : IfcShapeModel(std::move(e)) { } -Ifc4x1::IfcTopologyRepresentation::IfcTopologyRepresentation(::Ifc4x1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x1::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x1::IfcTopologyRepresentation::IfcTopologyRepresentation(::Ifc4x1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x1::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcToroidalSurface -double Ifc4x1::IfcToroidalSurface::MajorRadius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x1::IfcToroidalSurface::MajorRadius() const { double v = get_attribute_value(1); return v; } void Ifc4x1::IfcToroidalSurface::setMajorRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x1::IfcToroidalSurface::MinorRadius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x1::IfcToroidalSurface::MinorRadius() const { double v = get_attribute_value(2); return v; } void Ifc4x1::IfcToroidalSurface::setMinorRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x1::IfcToroidalSurface::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1112]); } const IfcParse::entity& Ifc4x1::IfcToroidalSurface::Class() { return *((IfcParse::entity*)IFC4X1_types[1112]); } Ifc4x1::IfcToroidalSurface::IfcToroidalSurface(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x1::IfcToroidalSurface::IfcToroidalSurface(::Ifc4x1::IfcAxis2Placement3D* v1_Position, double v2_MajorRadius, double v3_MinorRadius) : IfcElementarySurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius));; populate_derived(); } +Ifc4x1::IfcToroidalSurface::IfcToroidalSurface(::Ifc4x1::IfcAxis2Placement3D* v1_Position, double v2_MajorRadius, double v3_MinorRadius) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius));; populate_derived(); } // Function implementations for IfcTransformer -boost::optional< ::Ifc4x1::IfcTransformerTypeEnum::Value > Ifc4x1::IfcTransformer::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcTransformerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcTransformerTypeEnum::Value > Ifc4x1::IfcTransformer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcTransformerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcTransformer::setPredefinedType(boost::optional< ::Ifc4x1::IfcTransformerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcTransformerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcTransformer::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1114]); } const IfcParse::entity& Ifc4x1::IfcTransformer::Class() { return *((IfcParse::entity*)IFC4X1_types[1114]); } Ifc4x1::IfcTransformer::IfcTransformer(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x1::IfcTransformer::IfcTransformer(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcTransformerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcTransformer::IfcTransformer(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcTransformerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTransformerType -::Ifc4x1::IfcTransformerTypeEnum::Value Ifc4x1::IfcTransformerType::PredefinedType() const { return ::Ifc4x1::IfcTransformerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcTransformerTypeEnum::Value Ifc4x1::IfcTransformerType::PredefinedType() const { return ::Ifc4x1::IfcTransformerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcTransformerType::setPredefinedType(::Ifc4x1::IfcTransformerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcTransformerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcTransformerType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1115]); } const IfcParse::entity& Ifc4x1::IfcTransformerType::Class() { return *((IfcParse::entity*)IFC4X1_types[1115]); } Ifc4x1::IfcTransformerType::IfcTransformerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x1::IfcTransformerType::IfcTransformerType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTransformerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcTransformerType::IfcTransformerType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTransformerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTransitionCurveSegment2D -boost::optional< double > Ifc4x1::IfcTransitionCurveSegment2D::StartRadius() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x1::IfcTransitionCurveSegment2D::StartRadius() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x1::IfcTransitionCurveSegment2D::setStartRadius(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x1::IfcTransitionCurveSegment2D::EndRadius() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x1::IfcTransitionCurveSegment2D::EndRadius() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x1::IfcTransitionCurveSegment2D::setEndRadius(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -bool Ifc4x1::IfcTransitionCurveSegment2D::IsStartRadiusCCW() const { bool v = data_.get_attribute_value(5); return v; } +bool Ifc4x1::IfcTransitionCurveSegment2D::IsStartRadiusCCW() const { bool v = get_attribute_value(5); return v; } void Ifc4x1::IfcTransitionCurveSegment2D::setIsStartRadiusCCW(bool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -bool Ifc4x1::IfcTransitionCurveSegment2D::IsEndRadiusCCW() const { bool v = data_.get_attribute_value(6); return v; } +bool Ifc4x1::IfcTransitionCurveSegment2D::IsEndRadiusCCW() const { bool v = get_attribute_value(6); return v; } void Ifc4x1::IfcTransitionCurveSegment2D::setIsEndRadiusCCW(bool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x1::IfcTransitionCurveType::Value Ifc4x1::IfcTransitionCurveSegment2D::TransitionCurveType() const { return ::Ifc4x1::IfcTransitionCurveType::FromString(data_.get_attribute_value(7)); } +::Ifc4x1::IfcTransitionCurveType::Value Ifc4x1::IfcTransitionCurveSegment2D::TransitionCurveType() const { return ::Ifc4x1::IfcTransitionCurveType::FromString(get_attribute_value(7)); } void Ifc4x1::IfcTransitionCurveSegment2D::setTransitionCurveType(::Ifc4x1::IfcTransitionCurveType::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x1::IfcTransitionCurveType::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x1::IfcTransitionCurveSegment2D::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1118]); } const IfcParse::entity& Ifc4x1::IfcTransitionCurveSegment2D::Class() { return *((IfcParse::entity*)IFC4X1_types[1118]); } Ifc4x1::IfcTransitionCurveSegment2D::IfcTransitionCurveSegment2D(IfcEntityInstanceData&& e) : IfcCurveSegment2D(std::move(e)) { } -Ifc4x1::IfcTransitionCurveSegment2D::IfcTransitionCurveSegment2D(::Ifc4x1::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, boost::optional< double > v4_StartRadius, boost::optional< double > v5_EndRadius, bool v6_IsStartRadiusCCW, bool v7_IsEndRadiusCCW, ::Ifc4x1::IfcTransitionCurveType::Value v8_TransitionCurveType) : IfcCurveSegment2D(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, v1_StartPoint ? v1_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength)); if (v4_StartRadius) {set_attribute_value(3, (*v4_StartRadius)); } if (v5_EndRadius) {set_attribute_value(4, (*v5_EndRadius)); }set_attribute_value(5, (v6_IsStartRadiusCCW));set_attribute_value(6, (v7_IsEndRadiusCCW));set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcTransitionCurveType::Class(),(size_t)v8_TransitionCurveType)));; populate_derived(); } +Ifc4x1::IfcTransitionCurveSegment2D::IfcTransitionCurveSegment2D(::Ifc4x1::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, boost::optional< double > v4_StartRadius, boost::optional< double > v5_EndRadius, bool v6_IsStartRadiusCCW, bool v7_IsEndRadiusCCW, ::Ifc4x1::IfcTransitionCurveType::Value v8_TransitionCurveType) : IfcCurveSegment2D(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, v1_StartPoint ? v1_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength)); if (v4_StartRadius) {set_attribute_value(3, (*v4_StartRadius)); } if (v5_EndRadius) {set_attribute_value(4, (*v5_EndRadius)); }set_attribute_value(5, (v6_IsStartRadiusCCW));set_attribute_value(6, (v7_IsEndRadiusCCW));set_attribute_value(7, (EnumerationReference(&::Ifc4x1::IfcTransitionCurveType::Class(),(size_t)v8_TransitionCurveType)));; populate_derived(); } // Function implementations for IfcTransportElement -boost::optional< ::Ifc4x1::IfcTransportElementTypeEnum::Value > Ifc4x1::IfcTransportElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcTransportElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcTransportElementTypeEnum::Value > Ifc4x1::IfcTransportElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcTransportElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcTransportElement::setPredefinedType(boost::optional< ::Ifc4x1::IfcTransportElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcTransportElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcTransportElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1121]); } const IfcParse::entity& Ifc4x1::IfcTransportElement::Class() { return *((IfcParse::entity*)IFC4X1_types[1121]); } Ifc4x1::IfcTransportElement::IfcTransportElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x1::IfcTransportElement::IfcTransportElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcTransportElementTypeEnum::Value > v9_PredefinedType) : IfcElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcTransportElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcTransportElement::IfcTransportElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcTransportElementTypeEnum::Value > v9_PredefinedType) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcTransportElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTransportElementType -::Ifc4x1::IfcTransportElementTypeEnum::Value Ifc4x1::IfcTransportElementType::PredefinedType() const { return ::Ifc4x1::IfcTransportElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcTransportElementTypeEnum::Value Ifc4x1::IfcTransportElementType::PredefinedType() const { return ::Ifc4x1::IfcTransportElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcTransportElementType::setPredefinedType(::Ifc4x1::IfcTransportElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcTransportElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcTransportElementType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1122]); } const IfcParse::entity& Ifc4x1::IfcTransportElementType::Class() { return *((IfcParse::entity*)IFC4X1_types[1122]); } Ifc4x1::IfcTransportElementType::IfcTransportElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x1::IfcTransportElementType::IfcTransportElementType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTransportElementTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcTransportElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcTransportElementType::IfcTransportElementType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTransportElementTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcTransportElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTrapeziumProfileDef -double Ifc4x1::IfcTrapeziumProfileDef::BottomXDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x1::IfcTrapeziumProfileDef::BottomXDim() const { double v = get_attribute_value(3); return v; } void Ifc4x1::IfcTrapeziumProfileDef::setBottomXDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x1::IfcTrapeziumProfileDef::TopXDim() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x1::IfcTrapeziumProfileDef::TopXDim() const { double v = get_attribute_value(4); return v; } void Ifc4x1::IfcTrapeziumProfileDef::setTopXDim(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x1::IfcTrapeziumProfileDef::YDim() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x1::IfcTrapeziumProfileDef::YDim() const { double v = get_attribute_value(5); return v; } void Ifc4x1::IfcTrapeziumProfileDef::setYDim(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x1::IfcTrapeziumProfileDef::TopXOffset() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x1::IfcTrapeziumProfileDef::TopXOffset() const { double v = get_attribute_value(6); return v; } void Ifc4x1::IfcTrapeziumProfileDef::setTopXOffset(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x1::IfcTrapeziumProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1124]); } const IfcParse::entity& Ifc4x1::IfcTrapeziumProfileDef::Class() { return *((IfcParse::entity*)IFC4X1_types[1124]); } Ifc4x1::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x1::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D* v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; populate_derived(); } +Ifc4x1::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::IfcAxis2Placement2D* v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; populate_derived(); } // Function implementations for IfcTriangulatedFaceSet -boost::optional< std::vector< std::vector< double > > > Ifc4x1::IfcTriangulatedFaceSet::Normals() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::vector< double > > v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< std::vector< double > > > Ifc4x1::IfcTriangulatedFaceSet::Normals() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::vector< double > > v = get_attribute_value(1); return v; } void Ifc4x1::IfcTriangulatedFaceSet::setNormals(boost::optional< std::vector< std::vector< double > > > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< bool > Ifc4x1::IfcTriangulatedFaceSet::Closed() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } bool v = data_.get_attribute_value(2); return v; } +boost::optional< bool > Ifc4x1::IfcTriangulatedFaceSet::Closed() const { if(get_attribute_value(2).isNull()) { return boost::none; } bool v = get_attribute_value(2); return v; } void Ifc4x1::IfcTriangulatedFaceSet::setClosed(boost::optional< bool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector< std::vector< int > > Ifc4x1::IfcTriangulatedFaceSet::CoordIndex() const { std::vector< std::vector< int > > v = data_.get_attribute_value(3); return v; } +std::vector< std::vector< int > > Ifc4x1::IfcTriangulatedFaceSet::CoordIndex() const { std::vector< std::vector< int > > v = get_attribute_value(3); return v; } void Ifc4x1::IfcTriangulatedFaceSet::setCoordIndex(std::vector< std::vector< int > > v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x1::IfcTriangulatedFaceSet::PnIndex() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x1::IfcTriangulatedFaceSet::PnIndex() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x1::IfcTriangulatedFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x1::IfcTriangulatedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1125]); } const IfcParse::entity& Ifc4x1::IfcTriangulatedFaceSet::Class() { return *((IfcParse::entity*)IFC4X1_types[1125]); } Ifc4x1::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(IfcEntityInstanceData&& e) : IfcTessellatedFaceSet(std::move(e)) { } -Ifc4x1::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(::Ifc4x1::IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) : IfcTessellatedFaceSet(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }; populate_derived(); } +Ifc4x1::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(::Ifc4x1::IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) : IfcTessellatedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }; populate_derived(); } // Function implementations for IfcTriangulatedIrregularNetwork -std::vector< int > /*[1:?]*/ Ifc4x1::IfcTriangulatedIrregularNetwork::Flags() const { std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(5); return v; } +std::vector< int > /*[1:?]*/ Ifc4x1::IfcTriangulatedIrregularNetwork::Flags() const { std::vector< int > /*[1:?]*/ v = get_attribute_value(5); return v; } void Ifc4x1::IfcTriangulatedIrregularNetwork::setFlags(std::vector< int > /*[1:?]*/ v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x1::IfcTriangulatedIrregularNetwork::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1126]); } const IfcParse::entity& Ifc4x1::IfcTriangulatedIrregularNetwork::Class() { return *((IfcParse::entity*)IFC4X1_types[1126]); } Ifc4x1::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(IfcEntityInstanceData&& e) : IfcTriangulatedFaceSet(std::move(e)) { } -Ifc4x1::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::Ifc4x1::IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) : IfcTriangulatedFaceSet(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags));; populate_derived(); } +Ifc4x1::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::Ifc4x1::IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) : IfcTriangulatedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags));; populate_derived(); } // Function implementations for IfcTrimmedCurve -::Ifc4x1::IfcCurve* Ifc4x1::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcCurve>(true); } +::Ifc4x1::IfcCurve* Ifc4x1::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcCurve>(true); } void Ifc4x1::IfcTrimmedCurve::setBasisCurve(::Ifc4x1::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr Ifc4x1::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x1::IfcTrimmingSelect >(); } +aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr Ifc4x1::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x1::IfcTrimmingSelect >(); } void Ifc4x1::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr Ifc4x1::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x1::IfcTrimmingSelect >(); } +aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr Ifc4x1::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x1::IfcTrimmingSelect >(); } void Ifc4x1::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x1::IfcTrimmedCurve::SenseAgreement() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x1::IfcTrimmedCurve::SenseAgreement() const { bool v = get_attribute_value(3); return v; } void Ifc4x1::IfcTrimmedCurve::setSenseAgreement(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x1::IfcTrimmingPreference::Value Ifc4x1::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x1::IfcTrimmingPreference::FromString(data_.get_attribute_value(4)); } +::Ifc4x1::IfcTrimmingPreference::Value Ifc4x1::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x1::IfcTrimmingPreference::FromString(get_attribute_value(4)); } void Ifc4x1::IfcTrimmedCurve::setMasterRepresentation(::Ifc4x1::IfcTrimmingPreference::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x1::IfcTrimmingPreference::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x1::IfcTrimmedCurve::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1127]); } const IfcParse::entity& Ifc4x1::IfcTrimmedCurve::Class() { return *((IfcParse::entity*)IFC4X1_types[1127]); } Ifc4x1::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x1::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x1::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x1::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Trim1)->generalize());set_attribute_value(2, (v3_Trim2)->generalize());set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (EnumerationReference(&::Ifc4x1::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; populate_derived(); } +Ifc4x1::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x1::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x1::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x1::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Trim1)->generalize());set_attribute_value(2, (v3_Trim2)->generalize());set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (EnumerationReference(&::Ifc4x1::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcTubeBundle -boost::optional< ::Ifc4x1::IfcTubeBundleTypeEnum::Value > Ifc4x1::IfcTubeBundle::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcTubeBundleTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcTubeBundleTypeEnum::Value > Ifc4x1::IfcTubeBundle::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcTubeBundleTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcTubeBundle::setPredefinedType(boost::optional< ::Ifc4x1::IfcTubeBundleTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcTubeBundleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcTubeBundle::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1131]); } const IfcParse::entity& Ifc4x1::IfcTubeBundle::Class() { return *((IfcParse::entity*)IFC4X1_types[1131]); } Ifc4x1::IfcTubeBundle::IfcTubeBundle(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x1::IfcTubeBundle::IfcTubeBundle(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcTubeBundle::IfcTubeBundle(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTubeBundleType -::Ifc4x1::IfcTubeBundleTypeEnum::Value Ifc4x1::IfcTubeBundleType::PredefinedType() const { return ::Ifc4x1::IfcTubeBundleTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcTubeBundleTypeEnum::Value Ifc4x1::IfcTubeBundleType::PredefinedType() const { return ::Ifc4x1::IfcTubeBundleTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcTubeBundleType::setPredefinedType(::Ifc4x1::IfcTubeBundleTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcTubeBundleTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcTubeBundleType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1132]); } const IfcParse::entity& Ifc4x1::IfcTubeBundleType::Class() { return *((IfcParse::entity*)IFC4X1_types[1132]); } Ifc4x1::IfcTubeBundleType::IfcTubeBundleType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x1::IfcTubeBundleType::IfcTubeBundleType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTubeBundleTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcTubeBundleType::IfcTubeBundleType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcTubeBundleTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTypeObject -boost::optional< std::string > Ifc4x1::IfcTypeObject::ApplicableOccurrence() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x1::IfcTypeObject::ApplicableOccurrence() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcTypeObject::setApplicableOccurrence(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > Ifc4x1::IfcTypeObject::HasPropertySets() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x1::IfcPropertySetDefinition >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > Ifc4x1::IfcTypeObject::HasPropertySets() const { if(get_attribute_value(5).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x1::IfcPropertySetDefinition >(); } void Ifc4x1::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v) { if (v) {set_attribute_value(5, (*v)->generalize());} else {unset_attribute_value(5);} } ::Ifc4x1::IfcRelDefinesByType::list::ptr Ifc4x1::IfcTypeObject::Types() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[855], 5)->as(); } @@ -15900,14 +15900,14 @@ void Ifc4x1::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of< :: const IfcParse::entity& Ifc4x1::IfcTypeObject::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1134]); } const IfcParse::entity& Ifc4x1::IfcTypeObject::Class() { return *((IfcParse::entity*)IFC4X1_types[1134]); } Ifc4x1::IfcTypeObject::IfcTypeObject(IfcEntityInstanceData&& e) : IfcObjectDefinition(std::move(e)) { } -Ifc4x1::IfcTypeObject::IfcTypeObject(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets) : IfcObjectDefinition(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); }; populate_derived(); } +Ifc4x1::IfcTypeObject::IfcTypeObject(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets) : IfcObjectDefinition(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); }; populate_derived(); } // Function implementations for IfcTypeProcess -boost::optional< std::string > Ifc4x1::IfcTypeProcess::Identification() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x1::IfcTypeProcess::Identification() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x1::IfcTypeProcess::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x1::IfcTypeProcess::LongDescription() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x1::IfcTypeProcess::LongDescription() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x1::IfcTypeProcess::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x1::IfcTypeProcess::ProcessType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x1::IfcTypeProcess::ProcessType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x1::IfcTypeProcess::setProcessType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } ::Ifc4x1::IfcRelAssignsToProcess::list::ptr Ifc4x1::IfcTypeProcess::OperatesOn() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[826], 6)->as(); } @@ -15915,12 +15915,12 @@ void Ifc4x1::IfcTypeProcess::setProcessType(boost::optional< std::string > v) { const IfcParse::entity& Ifc4x1::IfcTypeProcess::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1135]); } const IfcParse::entity& Ifc4x1::IfcTypeProcess::Class() { return *((IfcParse::entity*)IFC4X1_types[1135]); } Ifc4x1::IfcTypeProcess::IfcTypeProcess(IfcEntityInstanceData&& e) : IfcTypeObject(std::move(e)) { } -Ifc4x1::IfcTypeProcess::IfcTypeProcess(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType) : IfcTypeObject(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }; populate_derived(); } +Ifc4x1::IfcTypeProcess::IfcTypeProcess(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType) : IfcTypeObject(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }; populate_derived(); } // Function implementations for IfcTypeProduct -boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > Ifc4x1::IfcTypeProduct::RepresentationMaps() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x1::IfcRepresentationMap >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > Ifc4x1::IfcTypeProduct::RepresentationMaps() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x1::IfcRepresentationMap >(); } void Ifc4x1::IfcTypeProduct::setRepresentationMaps(boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x1::IfcTypeProduct::Tag() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x1::IfcTypeProduct::Tag() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x1::IfcTypeProduct::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } ::Ifc4x1::IfcRelAssignsToProduct::list::ptr Ifc4x1::IfcTypeProduct::ReferencedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[827], 6)->as(); } @@ -15928,14 +15928,14 @@ void Ifc4x1::IfcTypeProduct::setTag(boost::optional< std::string > v) { if (v) { const IfcParse::entity& Ifc4x1::IfcTypeProduct::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1136]); } const IfcParse::entity& Ifc4x1::IfcTypeProduct::Class() { return *((IfcParse::entity*)IFC4X1_types[1136]); } Ifc4x1::IfcTypeProduct::IfcTypeProduct(IfcEntityInstanceData&& e) : IfcTypeObject(std::move(e)) { } -Ifc4x1::IfcTypeProduct::IfcTypeProduct(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag) : IfcTypeObject(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x1::IfcTypeProduct::IfcTypeProduct(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag) : IfcTypeObject(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcTypeResource -boost::optional< std::string > Ifc4x1::IfcTypeResource::Identification() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x1::IfcTypeResource::Identification() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x1::IfcTypeResource::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x1::IfcTypeResource::LongDescription() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x1::IfcTypeResource::LongDescription() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x1::IfcTypeResource::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x1::IfcTypeResource::ResourceType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x1::IfcTypeResource::ResourceType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x1::IfcTypeResource::setResourceType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } ::Ifc4x1::IfcRelAssignsToResource::list::ptr Ifc4x1::IfcTypeResource::ResourceOf() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X1_types[828], 6)->as(); } @@ -15943,111 +15943,111 @@ void Ifc4x1::IfcTypeResource::setResourceType(boost::optional< std::string > v) const IfcParse::entity& Ifc4x1::IfcTypeResource::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1137]); } const IfcParse::entity& Ifc4x1::IfcTypeResource::Class() { return *((IfcParse::entity*)IFC4X1_types[1137]); } Ifc4x1::IfcTypeResource::IfcTypeResource(IfcEntityInstanceData&& e) : IfcTypeObject(std::move(e)) { } -Ifc4x1::IfcTypeResource::IfcTypeResource(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType) : IfcTypeObject(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); }; populate_derived(); } +Ifc4x1::IfcTypeResource::IfcTypeResource(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType) : IfcTypeObject(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); }; populate_derived(); } // Function implementations for IfcUShapeProfileDef -double Ifc4x1::IfcUShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x1::IfcUShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x1::IfcUShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x1::IfcUShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x1::IfcUShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc4x1::IfcUShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x1::IfcUShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x1::IfcUShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x1::IfcUShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x1::IfcUShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x1::IfcUShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x1::IfcUShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x1::IfcUShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x1::IfcUShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x1::IfcUShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x1::IfcUShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x1::IfcUShapeProfileDef::EdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x1::IfcUShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x1::IfcUShapeProfileDef::FlangeSlope() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x1::IfcUShapeProfileDef::FlangeSlope() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x1::IfcUShapeProfileDef::setFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x1::IfcUShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1148]); } const IfcParse::entity& Ifc4x1::IfcUShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X1_types[1148]); } Ifc4x1::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x1::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::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(storage_t(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } +Ifc4x1::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::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(in_memory_attribute_storage(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } // Function implementations for IfcUnitAssignment -aggregate_of< ::Ifc4x1::IfcUnit >::ptr Ifc4x1::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x1::IfcUnit >(); } +aggregate_of< ::Ifc4x1::IfcUnit >::ptr Ifc4x1::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x1::IfcUnit >(); } void Ifc4x1::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x1::IfcUnit >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x1::IfcUnitAssignment::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1145]); } const IfcParse::entity& Ifc4x1::IfcUnitAssignment::Class() { return *((IfcParse::entity*)IFC4X1_types[1145]); } Ifc4x1::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x1::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Units)->generalize());; populate_derived(); } +Ifc4x1::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x1::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Units)->generalize());; populate_derived(); } // Function implementations for IfcUnitaryControlElement -boost::optional< ::Ifc4x1::IfcUnitaryControlElementTypeEnum::Value > Ifc4x1::IfcUnitaryControlElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcUnitaryControlElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcUnitaryControlElementTypeEnum::Value > Ifc4x1::IfcUnitaryControlElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcUnitaryControlElement::setPredefinedType(boost::optional< ::Ifc4x1::IfcUnitaryControlElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcUnitaryControlElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcUnitaryControlElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1139]); } const IfcParse::entity& Ifc4x1::IfcUnitaryControlElement::Class() { return *((IfcParse::entity*)IFC4X1_types[1139]); } Ifc4x1::IfcUnitaryControlElement::IfcUnitaryControlElement(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x1::IfcUnitaryControlElement::IfcUnitaryControlElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcUnitaryControlElement::IfcUnitaryControlElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcUnitaryControlElementType -::Ifc4x1::IfcUnitaryControlElementTypeEnum::Value Ifc4x1::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4x1::IfcUnitaryControlElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcUnitaryControlElementTypeEnum::Value Ifc4x1::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4x1::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcUnitaryControlElementType::setPredefinedType(::Ifc4x1::IfcUnitaryControlElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcUnitaryControlElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcUnitaryControlElementType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1140]); } const IfcParse::entity& Ifc4x1::IfcUnitaryControlElementType::Class() { return *((IfcParse::entity*)IFC4X1_types[1140]); } Ifc4x1::IfcUnitaryControlElementType::IfcUnitaryControlElementType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x1::IfcUnitaryControlElementType::IfcUnitaryControlElementType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcUnitaryControlElementType::IfcUnitaryControlElementType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcUnitaryEquipment -boost::optional< ::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x1::IfcUnitaryEquipment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcUnitaryEquipmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x1::IfcUnitaryEquipment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcUnitaryEquipment::setPredefinedType(boost::optional< ::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcUnitaryEquipment::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1142]); } const IfcParse::entity& Ifc4x1::IfcUnitaryEquipment::Class() { return *((IfcParse::entity*)IFC4X1_types[1142]); } Ifc4x1::IfcUnitaryEquipment::IfcUnitaryEquipment(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x1::IfcUnitaryEquipment::IfcUnitaryEquipment(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcUnitaryEquipment::IfcUnitaryEquipment(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcUnitaryEquipmentType -::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value Ifc4x1::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4x1::IfcUnitaryEquipmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value Ifc4x1::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4x1::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcUnitaryEquipmentType::setPredefinedType(::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcUnitaryEquipmentType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1143]); } const IfcParse::entity& Ifc4x1::IfcUnitaryEquipmentType::Class() { return *((IfcParse::entity*)IFC4X1_types[1143]); } Ifc4x1::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x1::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcValve -boost::optional< ::Ifc4x1::IfcValveTypeEnum::Value > Ifc4x1::IfcValve::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcValveTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcValveTypeEnum::Value > Ifc4x1::IfcValve::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcValveTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcValve::setPredefinedType(boost::optional< ::Ifc4x1::IfcValveTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcValveTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcValve::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1150]); } const IfcParse::entity& Ifc4x1::IfcValve::Class() { return *((IfcParse::entity*)IFC4X1_types[1150]); } Ifc4x1::IfcValve::IfcValve(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x1::IfcValve::IfcValve(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcValveTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcValve::IfcValve(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcValveTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcValveType -::Ifc4x1::IfcValveTypeEnum::Value Ifc4x1::IfcValveType::PredefinedType() const { return ::Ifc4x1::IfcValveTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcValveTypeEnum::Value Ifc4x1::IfcValveType::PredefinedType() const { return ::Ifc4x1::IfcValveTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcValveType::setPredefinedType(::Ifc4x1::IfcValveTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcValveTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcValveType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1151]); } const IfcParse::entity& Ifc4x1::IfcValveType::Class() { return *((IfcParse::entity*)IFC4X1_types[1151]); } Ifc4x1::IfcValveType::IfcValveType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x1::IfcValveType::IfcValveType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcValveTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcValveType::IfcValveType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcValveTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcVector -::Ifc4x1::IfcDirection* Ifc4x1::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcDirection>(true); } +::Ifc4x1::IfcDirection* Ifc4x1::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcDirection>(true); } void Ifc4x1::IfcVector::setOrientation(::Ifc4x1::IfcDirection* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x1::IfcVector::Magnitude() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x1::IfcVector::Magnitude() const { double v = get_attribute_value(1); return v; } void Ifc4x1::IfcVector::setMagnitude(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcVector::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1154]); } const IfcParse::entity& Ifc4x1::IfcVector::Class() { return *((IfcParse::entity*)IFC4X1_types[1154]); } Ifc4x1::IfcVector::IfcVector(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x1::IfcVector::IfcVector(::Ifc4x1::IfcDirection* v1_Orientation, double v2_Magnitude) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Orientation ? v1_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Magnitude));; populate_derived(); } +Ifc4x1::IfcVector::IfcVector(::Ifc4x1::IfcDirection* v1_Orientation, double v2_Magnitude) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Orientation ? v1_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Magnitude));; populate_derived(); } // Function implementations for IfcVertex @@ -16055,47 +16055,47 @@ Ifc4x1::IfcVector::IfcVector(::Ifc4x1::IfcDirection* v1_Orientation, double v2_M const IfcParse::entity& Ifc4x1::IfcVertex::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1156]); } const IfcParse::entity& Ifc4x1::IfcVertex::Class() { return *((IfcParse::entity*)IFC4X1_types[1156]); } Ifc4x1::IfcVertex::IfcVertex(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x1::IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x1::IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcVertexLoop -::Ifc4x1::IfcVertex* Ifc4x1::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcVertex>(true); } +::Ifc4x1::IfcVertex* Ifc4x1::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcVertex>(true); } void Ifc4x1::IfcVertexLoop::setLoopVertex(::Ifc4x1::IfcVertex* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x1::IfcVertexLoop::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1157]); } const IfcParse::entity& Ifc4x1::IfcVertexLoop::Class() { return *((IfcParse::entity*)IFC4X1_types[1157]); } Ifc4x1::IfcVertexLoop::IfcVertexLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc4x1::IfcVertexLoop::IfcVertexLoop(::Ifc4x1::IfcVertex* v1_LoopVertex) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_LoopVertex ? v1_LoopVertex->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcVertexLoop::IfcVertexLoop(::Ifc4x1::IfcVertex* v1_LoopVertex) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_LoopVertex ? v1_LoopVertex->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcVertexPoint -::Ifc4x1::IfcPoint* Ifc4x1::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x1::IfcPoint>(true); } +::Ifc4x1::IfcPoint* Ifc4x1::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x1::IfcPoint>(true); } void Ifc4x1::IfcVertexPoint::setVertexGeometry(::Ifc4x1::IfcPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x1::IfcVertexPoint::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1158]); } const IfcParse::entity& Ifc4x1::IfcVertexPoint::Class() { return *((IfcParse::entity*)IFC4X1_types[1158]); } Ifc4x1::IfcVertexPoint::IfcVertexPoint(IfcEntityInstanceData&& e) : IfcVertex(std::move(e)) { } -Ifc4x1::IfcVertexPoint::IfcVertexPoint(::Ifc4x1::IfcPoint* v1_VertexGeometry) : IfcVertex(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_VertexGeometry ? v1_VertexGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcVertexPoint::IfcVertexPoint(::Ifc4x1::IfcPoint* v1_VertexGeometry) : IfcVertex(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_VertexGeometry ? v1_VertexGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcVibrationIsolator -boost::optional< ::Ifc4x1::IfcVibrationIsolatorTypeEnum::Value > Ifc4x1::IfcVibrationIsolator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcVibrationIsolatorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcVibrationIsolatorTypeEnum::Value > Ifc4x1::IfcVibrationIsolator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcVibrationIsolator::setPredefinedType(boost::optional< ::Ifc4x1::IfcVibrationIsolatorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcVibrationIsolatorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcVibrationIsolator::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1159]); } const IfcParse::entity& Ifc4x1::IfcVibrationIsolator::Class() { return *((IfcParse::entity*)IFC4X1_types[1159]); } Ifc4x1::IfcVibrationIsolator::IfcVibrationIsolator(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x1::IfcVibrationIsolator::IfcVibrationIsolator(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcVibrationIsolator::IfcVibrationIsolator(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcVibrationIsolatorType -::Ifc4x1::IfcVibrationIsolatorTypeEnum::Value Ifc4x1::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4x1::IfcVibrationIsolatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcVibrationIsolatorTypeEnum::Value Ifc4x1::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4x1::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcVibrationIsolatorType::setPredefinedType(::Ifc4x1::IfcVibrationIsolatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcVibrationIsolatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcVibrationIsolatorType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1160]); } const IfcParse::entity& Ifc4x1::IfcVibrationIsolatorType::Class() { return *((IfcParse::entity*)IFC4X1_types[1160]); } Ifc4x1::IfcVibrationIsolatorType::IfcVibrationIsolatorType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x1::IfcVibrationIsolatorType::IfcVibrationIsolatorType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcVibrationIsolatorType::IfcVibrationIsolatorType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcVirtualElement @@ -16103,39 +16103,39 @@ Ifc4x1::IfcVibrationIsolatorType::IfcVibrationIsolatorType(std::string v1_Global const IfcParse::entity& Ifc4x1::IfcVirtualElement::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1162]); } const IfcParse::entity& Ifc4x1::IfcVirtualElement::Class() { return *((IfcParse::entity*)IFC4X1_types[1162]); } Ifc4x1::IfcVirtualElement::IfcVirtualElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x1::IfcVirtualElement::IfcVirtualElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x1::IfcVirtualElement::IfcVirtualElement(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcVirtualGridIntersection -aggregate_of< ::Ifc4x1::IfcGridAxis >::ptr Ifc4x1::IfcVirtualGridIntersection::IntersectingAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x1::IfcGridAxis >(); } +aggregate_of< ::Ifc4x1::IfcGridAxis >::ptr Ifc4x1::IfcVirtualGridIntersection::IntersectingAxes() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x1::IfcGridAxis >(); } void Ifc4x1::IfcVirtualGridIntersection::setIntersectingAxes(aggregate_of< ::Ifc4x1::IfcGridAxis >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -std::vector< double > /*[2:3]*/ Ifc4x1::IfcVirtualGridIntersection::OffsetDistances() const { std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(1); return v; } +std::vector< double > /*[2:3]*/ Ifc4x1::IfcVirtualGridIntersection::OffsetDistances() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } void Ifc4x1::IfcVirtualGridIntersection::setOffsetDistances(std::vector< double > /*[2:3]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x1::IfcVirtualGridIntersection::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1163]); } const IfcParse::entity& Ifc4x1::IfcVirtualGridIntersection::Class() { return *((IfcParse::entity*)IFC4X1_types[1163]); } Ifc4x1::IfcVirtualGridIntersection::IfcVirtualGridIntersection(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x1::IfcVirtualGridIntersection::IfcVirtualGridIntersection(aggregate_of< ::Ifc4x1::IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_IntersectingAxes)->generalize());set_attribute_value(1, (v2_OffsetDistances));; populate_derived(); } +Ifc4x1::IfcVirtualGridIntersection::IfcVirtualGridIntersection(aggregate_of< ::Ifc4x1::IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_IntersectingAxes)->generalize());set_attribute_value(1, (v2_OffsetDistances));; populate_derived(); } // Function implementations for IfcVoidingFeature -boost::optional< ::Ifc4x1::IfcVoidingFeatureTypeEnum::Value > Ifc4x1::IfcVoidingFeature::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcVoidingFeatureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcVoidingFeatureTypeEnum::Value > Ifc4x1::IfcVoidingFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcVoidingFeatureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcVoidingFeature::setPredefinedType(boost::optional< ::Ifc4x1::IfcVoidingFeatureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcVoidingFeatureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcVoidingFeature::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1164]); } const IfcParse::entity& Ifc4x1::IfcVoidingFeature::Class() { return *((IfcParse::entity*)IFC4X1_types[1164]); } Ifc4x1::IfcVoidingFeature::IfcVoidingFeature(IfcEntityInstanceData&& e) : IfcFeatureElementSubtraction(std::move(e)) { } -Ifc4x1::IfcVoidingFeature::IfcVoidingFeature(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcVoidingFeature::IfcVoidingFeature(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWall -boost::optional< ::Ifc4x1::IfcWallTypeEnum::Value > Ifc4x1::IfcWall::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcWallTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcWallTypeEnum::Value > Ifc4x1::IfcWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcWallTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcWall::setPredefinedType(boost::optional< ::Ifc4x1::IfcWallTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcWallTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcWall::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1168]); } const IfcParse::entity& Ifc4x1::IfcWall::Class() { return *((IfcParse::entity*)IFC4X1_types[1168]); } Ifc4x1::IfcWall::IfcWall(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x1::IfcWall::IfcWall(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcWall::IfcWall(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWallElementedCase @@ -16143,7 +16143,7 @@ Ifc4x1::IfcWall::IfcWall(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_ const IfcParse::entity& Ifc4x1::IfcWallElementedCase::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1169]); } const IfcParse::entity& Ifc4x1::IfcWallElementedCase::Class() { return *((IfcParse::entity*)IFC4X1_types[1169]); } Ifc4x1::IfcWallElementedCase::IfcWallElementedCase(IfcEntityInstanceData&& e) : IfcWall(std::move(e)) { } -Ifc4x1::IfcWallElementedCase::IfcWallElementedCase(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcWall(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcWallElementedCase::IfcWallElementedCase(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcWall(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWallStandardCase @@ -16151,105 +16151,105 @@ Ifc4x1::IfcWallElementedCase::IfcWallElementedCase(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x1::IfcWallStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1170]); } const IfcParse::entity& Ifc4x1::IfcWallStandardCase::Class() { return *((IfcParse::entity*)IFC4X1_types[1170]); } Ifc4x1::IfcWallStandardCase::IfcWallStandardCase(IfcEntityInstanceData&& e) : IfcWall(std::move(e)) { } -Ifc4x1::IfcWallStandardCase::IfcWallStandardCase(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcWall(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcWallStandardCase::IfcWallStandardCase(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcWall(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWallType -::Ifc4x1::IfcWallTypeEnum::Value Ifc4x1::IfcWallType::PredefinedType() const { return ::Ifc4x1::IfcWallTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcWallTypeEnum::Value Ifc4x1::IfcWallType::PredefinedType() const { return ::Ifc4x1::IfcWallTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcWallType::setPredefinedType(::Ifc4x1::IfcWallTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcWallTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcWallType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1171]); } const IfcParse::entity& Ifc4x1::IfcWallType::Class() { return *((IfcParse::entity*)IFC4X1_types[1171]); } Ifc4x1::IfcWallType::IfcWallType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x1::IfcWallType::IfcWallType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcWallTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcWallType::IfcWallType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcWallTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcWasteTerminal -boost::optional< ::Ifc4x1::IfcWasteTerminalTypeEnum::Value > Ifc4x1::IfcWasteTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcWasteTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcWasteTerminalTypeEnum::Value > Ifc4x1::IfcWasteTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcWasteTerminal::setPredefinedType(boost::optional< ::Ifc4x1::IfcWasteTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcWasteTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcWasteTerminal::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1176]); } const IfcParse::entity& Ifc4x1::IfcWasteTerminal::Class() { return *((IfcParse::entity*)IFC4X1_types[1176]); } Ifc4x1::IfcWasteTerminal::IfcWasteTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x1::IfcWasteTerminal::IfcWasteTerminal(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcWasteTerminal::IfcWasteTerminal(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x1::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWasteTerminalType -::Ifc4x1::IfcWasteTerminalTypeEnum::Value Ifc4x1::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4x1::IfcWasteTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcWasteTerminalTypeEnum::Value Ifc4x1::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4x1::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcWasteTerminalType::setPredefinedType(::Ifc4x1::IfcWasteTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcWasteTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x1::IfcWasteTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1177]); } const IfcParse::entity& Ifc4x1::IfcWasteTerminalType::Class() { return *((IfcParse::entity*)IFC4X1_types[1177]); } Ifc4x1::IfcWasteTerminalType::IfcWasteTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x1::IfcWasteTerminalType::IfcWasteTerminalType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x1::IfcWasteTerminalType::IfcWasteTerminalType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcWindow -boost::optional< double > Ifc4x1::IfcWindow::OverallHeight() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x1::IfcWindow::OverallHeight() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x1::IfcWindow::setOverallHeight(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x1::IfcWindow::OverallWidth() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x1::IfcWindow::OverallWidth() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x1::IfcWindow::setOverallWidth(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x1::IfcWindowTypeEnum::Value > Ifc4x1::IfcWindow::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x1::IfcWindowTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x1::IfcWindowTypeEnum::Value > Ifc4x1::IfcWindow::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x1::IfcWindowTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x1::IfcWindow::setPredefinedType(boost::optional< ::Ifc4x1::IfcWindowTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x1::IfcWindowTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -boost::optional< ::Ifc4x1::IfcWindowTypePartitioningEnum::Value > Ifc4x1::IfcWindow::PartitioningType() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x1::IfcWindowTypePartitioningEnum::FromString(data_.get_attribute_value(11)); } +boost::optional< ::Ifc4x1::IfcWindowTypePartitioningEnum::Value > Ifc4x1::IfcWindow::PartitioningType() const { if(get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x1::IfcWindowTypePartitioningEnum::FromString(get_attribute_value(11)); } void Ifc4x1::IfcWindow::setPartitioningType(boost::optional< ::Ifc4x1::IfcWindowTypePartitioningEnum::Value > v) { if (v) {set_attribute_value(11, EnumerationReference(&::Ifc4x1::IfcWindowTypePartitioningEnum::Class(), (size_t) *v));} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x1::IfcWindow::UserDefinedPartitioningType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x1::IfcWindow::UserDefinedPartitioningType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x1::IfcWindow::setUserDefinedPartitioningType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x1::IfcWindow::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1179]); } const IfcParse::entity& Ifc4x1::IfcWindow::Class() { return *((IfcParse::entity*)IFC4X1_types[1179]); } Ifc4x1::IfcWindow::IfcWindow(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x1::IfcWindow::IfcWindow(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x1::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x1::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } +Ifc4x1::IfcWindow::IfcWindow(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x1::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x1::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } // Function implementations for IfcWindowLiningProperties -boost::optional< double > Ifc4x1::IfcWindowLiningProperties::LiningDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x1::IfcWindowLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x1::IfcWindowLiningProperties::setLiningDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x1::IfcWindowLiningProperties::LiningThickness() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x1::IfcWindowLiningProperties::LiningThickness() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x1::IfcWindowLiningProperties::setLiningThickness(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x1::IfcWindowLiningProperties::TransomThickness() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x1::IfcWindowLiningProperties::TransomThickness() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x1::IfcWindowLiningProperties::setTransomThickness(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x1::IfcWindowLiningProperties::MullionThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x1::IfcWindowLiningProperties::MullionThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x1::IfcWindowLiningProperties::setMullionThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x1::IfcWindowLiningProperties::FirstTransomOffset() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x1::IfcWindowLiningProperties::FirstTransomOffset() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x1::IfcWindowLiningProperties::setFirstTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x1::IfcWindowLiningProperties::SecondTransomOffset() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x1::IfcWindowLiningProperties::SecondTransomOffset() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x1::IfcWindowLiningProperties::setSecondTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x1::IfcWindowLiningProperties::FirstMullionOffset() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x1::IfcWindowLiningProperties::FirstMullionOffset() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x1::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x1::IfcWindowLiningProperties::SecondMullionOffset() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x1::IfcWindowLiningProperties::SecondMullionOffset() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x1::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -::Ifc4x1::IfcShapeAspect* Ifc4x1::IfcWindowLiningProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(12).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(12)))->as<::Ifc4x1::IfcShapeAspect>(true); } +::Ifc4x1::IfcShapeAspect* Ifc4x1::IfcWindowLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(12).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(12)))->as<::Ifc4x1::IfcShapeAspect>(true); } void Ifc4x1::IfcWindowLiningProperties::setShapeAspectStyle(::Ifc4x1::IfcShapeAspect* v) { set_attribute_value(12, v->as());if constexpr (false)unset_attribute_value(12); } -boost::optional< double > Ifc4x1::IfcWindowLiningProperties::LiningOffset() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x1::IfcWindowLiningProperties::LiningOffset() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x1::IfcWindowLiningProperties::setLiningOffset(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x1::IfcWindowLiningProperties::LiningToPanelOffsetX() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x1::IfcWindowLiningProperties::LiningToPanelOffsetX() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x1::IfcWindowLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x1::IfcWindowLiningProperties::LiningToPanelOffsetY() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x1::IfcWindowLiningProperties::LiningToPanelOffsetY() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x1::IfcWindowLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } const IfcParse::entity& Ifc4x1::IfcWindowLiningProperties::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1180]); } const IfcParse::entity& Ifc4x1::IfcWindowLiningProperties::Class() { return *((IfcParse::entity*)IFC4X1_types[1180]); } Ifc4x1::IfcWindowLiningProperties::IfcWindowLiningProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x1::IfcWindowLiningProperties::IfcWindowLiningProperties(std::string v1_GlobalId, ::Ifc4x1::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, ::Ifc4x1::IfcShapeAspect* v13_ShapeAspectStyle, boost::optional< double > v14_LiningOffset, boost::optional< double > v15_LiningToPanelOffsetX, boost::optional< double > v16_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, v13_ShapeAspectStyle ? v13_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); }; populate_derived(); } +Ifc4x1::IfcWindowLiningProperties::IfcWindowLiningProperties(std::string v1_GlobalId, ::Ifc4x1::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, ::Ifc4x1::IfcShapeAspect* v13_ShapeAspectStyle, boost::optional< double > v14_LiningOffset, boost::optional< double > v15_LiningToPanelOffsetX, boost::optional< double > v16_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, v13_ShapeAspectStyle ? v13_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); }; populate_derived(); } // Function implementations for IfcWindowPanelProperties -::Ifc4x1::IfcWindowPanelOperationEnum::Value Ifc4x1::IfcWindowPanelProperties::OperationType() const { return ::Ifc4x1::IfcWindowPanelOperationEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x1::IfcWindowPanelOperationEnum::Value Ifc4x1::IfcWindowPanelProperties::OperationType() const { return ::Ifc4x1::IfcWindowPanelOperationEnum::FromString(get_attribute_value(4)); } void Ifc4x1::IfcWindowPanelProperties::setOperationType(::Ifc4x1::IfcWindowPanelOperationEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x1::IfcWindowPanelOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x1::IfcWindowPanelPositionEnum::Value Ifc4x1::IfcWindowPanelProperties::PanelPosition() const { return ::Ifc4x1::IfcWindowPanelPositionEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x1::IfcWindowPanelPositionEnum::Value Ifc4x1::IfcWindowPanelProperties::PanelPosition() const { return ::Ifc4x1::IfcWindowPanelPositionEnum::FromString(get_attribute_value(5)); } void Ifc4x1::IfcWindowPanelProperties::setPanelPosition(::Ifc4x1::IfcWindowPanelPositionEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x1::IfcWindowPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x1::IfcWindowPanelProperties::FrameDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x1::IfcWindowPanelProperties::FrameDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x1::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x1::IfcWindowPanelProperties::FrameThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x1::IfcWindowPanelProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x1::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x1::IfcShapeAspect* Ifc4x1::IfcWindowPanelProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x1::IfcShapeAspect>(true); } +::Ifc4x1::IfcShapeAspect* Ifc4x1::IfcWindowPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x1::IfcShapeAspect>(true); } void Ifc4x1::IfcWindowPanelProperties::setShapeAspectStyle(::Ifc4x1::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x1::IfcWindowPanelProperties::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1183]); } const IfcParse::entity& Ifc4x1::IfcWindowPanelProperties::Class() { return *((IfcParse::entity*)IFC4X1_types[1183]); } Ifc4x1::IfcWindowPanelProperties::IfcWindowPanelProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x1::IfcWindowPanelProperties::IfcWindowPanelProperties(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x1::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x1::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x1::IfcWindowPanelProperties::IfcWindowPanelProperties(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x1::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x1::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x1::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x1::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcWindowStandardCase @@ -16257,137 +16257,137 @@ Ifc4x1::IfcWindowPanelProperties::IfcWindowPanelProperties(std::string v1_Global const IfcParse::entity& Ifc4x1::IfcWindowStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1184]); } const IfcParse::entity& Ifc4x1::IfcWindowStandardCase::Class() { return *((IfcParse::entity*)IFC4X1_types[1184]); } Ifc4x1::IfcWindowStandardCase::IfcWindowStandardCase(IfcEntityInstanceData&& e) : IfcWindow(std::move(e)) { } -Ifc4x1::IfcWindowStandardCase::IfcWindowStandardCase(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x1::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcWindow(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x1::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } +Ifc4x1::IfcWindowStandardCase::IfcWindowStandardCase(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x1::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcWindow(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x1::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } // Function implementations for IfcWindowStyle -::Ifc4x1::IfcWindowStyleConstructionEnum::Value Ifc4x1::IfcWindowStyle::ConstructionType() const { return ::Ifc4x1::IfcWindowStyleConstructionEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x1::IfcWindowStyleConstructionEnum::Value Ifc4x1::IfcWindowStyle::ConstructionType() const { return ::Ifc4x1::IfcWindowStyleConstructionEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcWindowStyle::setConstructionType(::Ifc4x1::IfcWindowStyleConstructionEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcWindowStyleConstructionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc4x1::IfcWindowStyleOperationEnum::Value Ifc4x1::IfcWindowStyle::OperationType() const { return ::Ifc4x1::IfcWindowStyleOperationEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcWindowStyleOperationEnum::Value Ifc4x1::IfcWindowStyle::OperationType() const { return ::Ifc4x1::IfcWindowStyleOperationEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcWindowStyle::setOperationType(::Ifc4x1::IfcWindowStyleOperationEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcWindowStyleOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -bool Ifc4x1::IfcWindowStyle::ParameterTakesPrecedence() const { bool v = data_.get_attribute_value(10); return v; } +bool Ifc4x1::IfcWindowStyle::ParameterTakesPrecedence() const { bool v = get_attribute_value(10); return v; } void Ifc4x1::IfcWindowStyle::setParameterTakesPrecedence(bool v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -bool Ifc4x1::IfcWindowStyle::Sizeable() const { bool v = data_.get_attribute_value(11); return v; } +bool Ifc4x1::IfcWindowStyle::Sizeable() const { bool v = get_attribute_value(11); return v; } void Ifc4x1::IfcWindowStyle::setSizeable(bool v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x1::IfcWindowStyle::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1185]); } const IfcParse::entity& Ifc4x1::IfcWindowStyle::Class() { return *((IfcParse::entity*)IFC4X1_types[1185]); } Ifc4x1::IfcWindowStyle::IfcWindowStyle(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(e)) { } -Ifc4x1::IfcWindowStyle::IfcWindowStyle(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, ::Ifc4x1::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x1::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcWindowStyleConstructionEnum::Class(),(size_t)v9_ConstructionType)));set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcWindowStyleOperationEnum::Class(),(size_t)v10_OperationType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; populate_derived(); } +Ifc4x1::IfcWindowStyle::IfcWindowStyle(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, ::Ifc4x1::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x1::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcWindowStyleConstructionEnum::Class(),(size_t)v9_ConstructionType)));set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcWindowStyleOperationEnum::Class(),(size_t)v10_OperationType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; populate_derived(); } // Function implementations for IfcWindowType -::Ifc4x1::IfcWindowTypeEnum::Value Ifc4x1::IfcWindowType::PredefinedType() const { return ::Ifc4x1::IfcWindowTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x1::IfcWindowTypeEnum::Value Ifc4x1::IfcWindowType::PredefinedType() const { return ::Ifc4x1::IfcWindowTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x1::IfcWindowType::setPredefinedType(::Ifc4x1::IfcWindowTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x1::IfcWindowTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x1::IfcWindowTypePartitioningEnum::Value Ifc4x1::IfcWindowType::PartitioningType() const { return ::Ifc4x1::IfcWindowTypePartitioningEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x1::IfcWindowTypePartitioningEnum::Value Ifc4x1::IfcWindowType::PartitioningType() const { return ::Ifc4x1::IfcWindowTypePartitioningEnum::FromString(get_attribute_value(10)); } void Ifc4x1::IfcWindowType::setPartitioningType(::Ifc4x1::IfcWindowTypePartitioningEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x1::IfcWindowTypePartitioningEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } -boost::optional< bool > Ifc4x1::IfcWindowType::ParameterTakesPrecedence() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } bool v = data_.get_attribute_value(11); return v; } +boost::optional< bool > Ifc4x1::IfcWindowType::ParameterTakesPrecedence() const { if(get_attribute_value(11).isNull()) { return boost::none; } bool v = get_attribute_value(11); return v; } void Ifc4x1::IfcWindowType::setParameterTakesPrecedence(boost::optional< bool > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x1::IfcWindowType::UserDefinedPartitioningType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x1::IfcWindowType::UserDefinedPartitioningType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x1::IfcWindowType::setUserDefinedPartitioningType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x1::IfcWindowType::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1188]); } const IfcParse::entity& Ifc4x1::IfcWindowType::Class() { return *((IfcParse::entity*)IFC4X1_types[1188]); } Ifc4x1::IfcWindowType::IfcWindowType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x1::IfcWindowType::IfcWindowType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x1::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } +Ifc4x1::IfcWindowType::IfcWindowType(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x1::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x1::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x1::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x1::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } // Function implementations for IfcWorkCalendar -boost::optional< aggregate_of< ::Ifc4x1::IfcWorkTime >::ptr > Ifc4x1::IfcWorkCalendar::WorkingTimes() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x1::IfcWorkTime >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcWorkTime >::ptr > Ifc4x1::IfcWorkCalendar::WorkingTimes() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x1::IfcWorkTime >(); } void Ifc4x1::IfcWorkCalendar::setWorkingTimes(boost::optional< aggregate_of< ::Ifc4x1::IfcWorkTime >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x1::IfcWorkTime >::ptr > Ifc4x1::IfcWorkCalendar::ExceptionTimes() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x1::IfcWorkTime >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcWorkTime >::ptr > Ifc4x1::IfcWorkCalendar::ExceptionTimes() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x1::IfcWorkTime >(); } void Ifc4x1::IfcWorkCalendar::setExceptionTimes(boost::optional< aggregate_of< ::Ifc4x1::IfcWorkTime >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x1::IfcWorkCalendarTypeEnum::Value > Ifc4x1::IfcWorkCalendar::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcWorkCalendarTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x1::IfcWorkCalendarTypeEnum::Value > Ifc4x1::IfcWorkCalendar::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x1::IfcWorkCalendarTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x1::IfcWorkCalendar::setPredefinedType(boost::optional< ::Ifc4x1::IfcWorkCalendarTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x1::IfcWorkCalendarTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcWorkCalendar::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1191]); } const IfcParse::entity& Ifc4x1::IfcWorkCalendar::Class() { return *((IfcParse::entity*)IFC4X1_types[1191]); } Ifc4x1::IfcWorkCalendar::IfcWorkCalendar(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x1::IfcWorkCalendar::IfcWorkCalendar(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< aggregate_of< ::Ifc4x1::IfcWorkTime >::ptr > v7_WorkingTimes, boost::optional< aggregate_of< ::Ifc4x1::IfcWorkTime >::ptr > v8_ExceptionTimes, boost::optional< ::Ifc4x1::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, (*v7_WorkingTimes)->generalize()); } if (v8_ExceptionTimes) {set_attribute_value(7, (*v8_ExceptionTimes)->generalize()); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcWorkCalendar::IfcWorkCalendar(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< aggregate_of< ::Ifc4x1::IfcWorkTime >::ptr > v7_WorkingTimes, boost::optional< aggregate_of< ::Ifc4x1::IfcWorkTime >::ptr > v8_ExceptionTimes, boost::optional< ::Ifc4x1::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, (*v7_WorkingTimes)->generalize()); } if (v8_ExceptionTimes) {set_attribute_value(7, (*v8_ExceptionTimes)->generalize()); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x1::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWorkControl -std::string Ifc4x1::IfcWorkControl::CreationDate() const { std::string v = data_.get_attribute_value(6); return v; } +std::string Ifc4x1::IfcWorkControl::CreationDate() const { std::string v = get_attribute_value(6); return v; } void Ifc4x1::IfcWorkControl::setCreationDate(std::string v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< aggregate_of< ::Ifc4x1::IfcPerson >::ptr > Ifc4x1::IfcWorkControl::Creators() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x1::IfcPerson >(); } +boost::optional< aggregate_of< ::Ifc4x1::IfcPerson >::ptr > Ifc4x1::IfcWorkControl::Creators() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x1::IfcPerson >(); } void Ifc4x1::IfcWorkControl::setCreators(boost::optional< aggregate_of< ::Ifc4x1::IfcPerson >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x1::IfcWorkControl::Purpose() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x1::IfcWorkControl::Purpose() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x1::IfcWorkControl::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x1::IfcWorkControl::Duration() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x1::IfcWorkControl::Duration() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x1::IfcWorkControl::setDuration(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x1::IfcWorkControl::TotalFloat() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x1::IfcWorkControl::TotalFloat() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x1::IfcWorkControl::setTotalFloat(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -std::string Ifc4x1::IfcWorkControl::StartTime() const { std::string v = data_.get_attribute_value(11); return v; } +std::string Ifc4x1::IfcWorkControl::StartTime() const { std::string v = get_attribute_value(11); return v; } void Ifc4x1::IfcWorkControl::setStartTime(std::string v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } -boost::optional< std::string > Ifc4x1::IfcWorkControl::FinishTime() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x1::IfcWorkControl::FinishTime() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x1::IfcWorkControl::setFinishTime(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x1::IfcWorkControl::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1193]); } const IfcParse::entity& Ifc4x1::IfcWorkControl::Class() { return *((IfcParse::entity*)IFC4X1_types[1193]); } Ifc4x1::IfcWorkControl::IfcWorkControl(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x1::IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x1::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime) : IfcControl(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); }; populate_derived(); } +Ifc4x1::IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x1::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); }; populate_derived(); } // Function implementations for IfcWorkPlan -boost::optional< ::Ifc4x1::IfcWorkPlanTypeEnum::Value > Ifc4x1::IfcWorkPlan::PredefinedType() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x1::IfcWorkPlanTypeEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x1::IfcWorkPlanTypeEnum::Value > Ifc4x1::IfcWorkPlan::PredefinedType() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x1::IfcWorkPlanTypeEnum::FromString(get_attribute_value(13)); } void Ifc4x1::IfcWorkPlan::setPredefinedType(boost::optional< ::Ifc4x1::IfcWorkPlanTypeEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x1::IfcWorkPlanTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } const IfcParse::entity& Ifc4x1::IfcWorkPlan::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1194]); } const IfcParse::entity& Ifc4x1::IfcWorkPlan::Class() { return *((IfcParse::entity*)IFC4X1_types[1194]); } Ifc4x1::IfcWorkPlan::IfcWorkPlan(IfcEntityInstanceData&& e) : IfcWorkControl(std::move(e)) { } -Ifc4x1::IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x1::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< ::Ifc4x1::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x1::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x1::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< ::Ifc4x1::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x1::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWorkSchedule -boost::optional< ::Ifc4x1::IfcWorkScheduleTypeEnum::Value > Ifc4x1::IfcWorkSchedule::PredefinedType() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x1::IfcWorkScheduleTypeEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x1::IfcWorkScheduleTypeEnum::Value > Ifc4x1::IfcWorkSchedule::PredefinedType() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x1::IfcWorkScheduleTypeEnum::FromString(get_attribute_value(13)); } void Ifc4x1::IfcWorkSchedule::setPredefinedType(boost::optional< ::Ifc4x1::IfcWorkScheduleTypeEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x1::IfcWorkScheduleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } const IfcParse::entity& Ifc4x1::IfcWorkSchedule::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1196]); } const IfcParse::entity& Ifc4x1::IfcWorkSchedule::Class() { return *((IfcParse::entity*)IFC4X1_types[1196]); } Ifc4x1::IfcWorkSchedule::IfcWorkSchedule(IfcEntityInstanceData&& e) : IfcWorkControl(std::move(e)) { } -Ifc4x1::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x1::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< ::Ifc4x1::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x1::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } +Ifc4x1::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x1::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< ::Ifc4x1::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x1::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWorkTime -::Ifc4x1::IfcRecurrencePattern* Ifc4x1::IfcWorkTime::RecurrencePattern() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x1::IfcRecurrencePattern>(true); } +::Ifc4x1::IfcRecurrencePattern* Ifc4x1::IfcWorkTime::RecurrencePattern() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x1::IfcRecurrencePattern>(true); } void Ifc4x1::IfcWorkTime::setRecurrencePattern(::Ifc4x1::IfcRecurrencePattern* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x1::IfcWorkTime::Start() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x1::IfcWorkTime::Start() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x1::IfcWorkTime::setStart(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x1::IfcWorkTime::Finish() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x1::IfcWorkTime::Finish() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcWorkTime::setFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x1::IfcWorkTime::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1198]); } const IfcParse::entity& Ifc4x1::IfcWorkTime::Class() { return *((IfcParse::entity*)IFC4X1_types[1198]); } Ifc4x1::IfcWorkTime::IfcWorkTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x1::IfcWorkTime::IfcWorkTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x1::IfcRecurrencePattern* v4_RecurrencePattern, boost::optional< std::string > v5_Start, boost::optional< std::string > v6_Finish) : IfcSchedulingTime(IfcEntityInstanceData(storage_t(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_RecurrencePattern ? v4_RecurrencePattern->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Start) {set_attribute_value(4, (*v5_Start)); } if (v6_Finish) {set_attribute_value(5, (*v6_Finish)); }; populate_derived(); } +Ifc4x1::IfcWorkTime::IfcWorkTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x1::IfcRecurrencePattern* v4_RecurrencePattern, boost::optional< std::string > v5_Start, boost::optional< std::string > v6_Finish) : IfcSchedulingTime(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_RecurrencePattern ? v4_RecurrencePattern->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Start) {set_attribute_value(4, (*v5_Start)); } if (v6_Finish) {set_attribute_value(5, (*v6_Finish)); }; populate_derived(); } // Function implementations for IfcZShapeProfileDef -double Ifc4x1::IfcZShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x1::IfcZShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x1::IfcZShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x1::IfcZShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x1::IfcZShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc4x1::IfcZShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x1::IfcZShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x1::IfcZShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x1::IfcZShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x1::IfcZShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x1::IfcZShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x1::IfcZShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x1::IfcZShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x1::IfcZShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x1::IfcZShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x1::IfcZShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x1::IfcZShapeProfileDef::EdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x1::IfcZShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x1::IfcZShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1200]); } const IfcParse::entity& Ifc4x1::IfcZShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X1_types[1200]); } Ifc4x1::IfcZShapeProfileDef::IfcZShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x1::IfcZShapeProfileDef::IfcZShapeProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::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(storage_t(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; populate_derived(); } +Ifc4x1::IfcZShapeProfileDef::IfcZShapeProfileDef(::Ifc4x1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x1::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(in_memory_attribute_storage(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; populate_derived(); } // Function implementations for IfcZone -boost::optional< std::string > Ifc4x1::IfcZone::LongName() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x1::IfcZone::LongName() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x1::IfcZone::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x1::IfcZone::declaration() const { return *((IfcParse::entity*)IFC4X1_types[1199]); } const IfcParse::entity& Ifc4x1::IfcZone::Class() { return *((IfcParse::entity*)IFC4X1_types[1199]); } Ifc4x1::IfcZone::IfcZone(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x1::IfcZone::IfcZone(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName) : IfcSystem(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); }; populate_derived(); } +Ifc4x1::IfcZone::IfcZone(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); }; populate_derived(); } diff --git a/src/ifcparse/Ifc4x2.cpp b/src/ifcparse/Ifc4x2.cpp index 96495d023b..36eb9c8cad 100644 --- a/src/ifcparse/Ifc4x2.cpp +++ b/src/ifcparse/Ifc4x2.cpp @@ -63,7 +63,7 @@ Ifc4x2::IfcActionRequestTypeEnum::Value Ifc4x2::IfcActionRequestTypeEnum::FromSt } Ifc4x2::IfcActionRequestTypeEnum::operator Ifc4x2::IfcActionRequestTypeEnum::Value() const { - return (Ifc4x2::IfcActionRequestTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcActionRequestTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcActionSourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[4]); } @@ -90,7 +90,7 @@ Ifc4x2::IfcActionSourceTypeEnum::Value Ifc4x2::IfcActionSourceTypeEnum::FromStri } Ifc4x2::IfcActionSourceTypeEnum::operator Ifc4x2::IfcActionSourceTypeEnum::Value() const { - return (Ifc4x2::IfcActionSourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcActionSourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcActionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[5]); } @@ -117,7 +117,7 @@ Ifc4x2::IfcActionTypeEnum::Value Ifc4x2::IfcActionTypeEnum::FromString(const std } Ifc4x2::IfcActionTypeEnum::operator Ifc4x2::IfcActionTypeEnum::Value() const { - return (Ifc4x2::IfcActionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcActionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcActuatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[11]); } @@ -144,7 +144,7 @@ Ifc4x2::IfcActuatorTypeEnum::Value Ifc4x2::IfcActuatorTypeEnum::FromString(const } Ifc4x2::IfcActuatorTypeEnum::operator Ifc4x2::IfcActuatorTypeEnum::Value() const { - return (Ifc4x2::IfcActuatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcActuatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcAddressTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[13]); } @@ -171,7 +171,7 @@ Ifc4x2::IfcAddressTypeEnum::Value Ifc4x2::IfcAddressTypeEnum::FromString(const s } Ifc4x2::IfcAddressTypeEnum::operator Ifc4x2::IfcAddressTypeEnum::Value() const { - return (Ifc4x2::IfcAddressTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcAddressTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcAirTerminalBoxTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[20]); } @@ -198,7 +198,7 @@ Ifc4x2::IfcAirTerminalBoxTypeEnum::Value Ifc4x2::IfcAirTerminalBoxTypeEnum::From } Ifc4x2::IfcAirTerminalBoxTypeEnum::operator Ifc4x2::IfcAirTerminalBoxTypeEnum::Value() const { - return (Ifc4x2::IfcAirTerminalBoxTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcAirTerminalBoxTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcAirTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[22]); } @@ -225,7 +225,7 @@ Ifc4x2::IfcAirTerminalTypeEnum::Value Ifc4x2::IfcAirTerminalTypeEnum::FromString } Ifc4x2::IfcAirTerminalTypeEnum::operator Ifc4x2::IfcAirTerminalTypeEnum::Value() const { - return (Ifc4x2::IfcAirTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcAirTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[25]); } @@ -252,7 +252,7 @@ Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x2::IfcAirToAirHeatRecoveryTy } Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::operator Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value() const { - return (Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcAlarmTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[28]); } @@ -279,7 +279,7 @@ Ifc4x2::IfcAlarmTypeEnum::Value Ifc4x2::IfcAlarmTypeEnum::FromString(const std:: } Ifc4x2::IfcAlarmTypeEnum::operator Ifc4x2::IfcAlarmTypeEnum::Value() const { - return (Ifc4x2::IfcAlarmTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcAlarmTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcAlignmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[39]); } @@ -306,7 +306,7 @@ Ifc4x2::IfcAlignmentTypeEnum::Value Ifc4x2::IfcAlignmentTypeEnum::FromString(con } Ifc4x2::IfcAlignmentTypeEnum::operator Ifc4x2::IfcAlignmentTypeEnum::Value() const { - return (Ifc4x2::IfcAlignmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcAlignmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcAnalysisModelTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[41]); } @@ -333,7 +333,7 @@ Ifc4x2::IfcAnalysisModelTypeEnum::Value Ifc4x2::IfcAnalysisModelTypeEnum::FromSt } Ifc4x2::IfcAnalysisModelTypeEnum::operator Ifc4x2::IfcAnalysisModelTypeEnum::Value() const { - return (Ifc4x2::IfcAnalysisModelTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcAnalysisModelTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcAnalysisTheoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[42]); } @@ -360,7 +360,7 @@ Ifc4x2::IfcAnalysisTheoryTypeEnum::Value Ifc4x2::IfcAnalysisTheoryTypeEnum::From } Ifc4x2::IfcAnalysisTheoryTypeEnum::operator Ifc4x2::IfcAnalysisTheoryTypeEnum::Value() const { - return (Ifc4x2::IfcAnalysisTheoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcAnalysisTheoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcArithmeticOperatorEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[57]); } @@ -387,7 +387,7 @@ Ifc4x2::IfcArithmeticOperatorEnum::Value Ifc4x2::IfcArithmeticOperatorEnum::From } Ifc4x2::IfcArithmeticOperatorEnum::operator Ifc4x2::IfcArithmeticOperatorEnum::Value() const { - return (Ifc4x2::IfcArithmeticOperatorEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcArithmeticOperatorEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcAssemblyPlaceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[58]); } @@ -414,7 +414,7 @@ Ifc4x2::IfcAssemblyPlaceEnum::Value Ifc4x2::IfcAssemblyPlaceEnum::FromString(con } Ifc4x2::IfcAssemblyPlaceEnum::operator Ifc4x2::IfcAssemblyPlaceEnum::Value() const { - return (Ifc4x2::IfcAssemblyPlaceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcAssemblyPlaceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcAudioVisualApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[63]); } @@ -441,7 +441,7 @@ Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value Ifc4x2::IfcAudioVisualApplianceTy } Ifc4x2::IfcAudioVisualApplianceTypeEnum::operator Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value() const { - return (Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcBSplineCurveForm::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[105]); } @@ -468,7 +468,7 @@ Ifc4x2::IfcBSplineCurveForm::Value Ifc4x2::IfcBSplineCurveForm::FromString(const } Ifc4x2::IfcBSplineCurveForm::operator Ifc4x2::IfcBSplineCurveForm::Value() const { - return (Ifc4x2::IfcBSplineCurveForm::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcBSplineCurveForm::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcBSplineSurfaceForm::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[108]); } @@ -495,7 +495,7 @@ Ifc4x2::IfcBSplineSurfaceForm::Value Ifc4x2::IfcBSplineSurfaceForm::FromString(c } Ifc4x2::IfcBSplineSurfaceForm::operator Ifc4x2::IfcBSplineSurfaceForm::Value() const { - return (Ifc4x2::IfcBSplineSurfaceForm::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcBSplineSurfaceForm::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcBeamTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[71]); } @@ -522,7 +522,7 @@ Ifc4x2::IfcBeamTypeEnum::Value Ifc4x2::IfcBeamTypeEnum::FromString(const std::st } Ifc4x2::IfcBeamTypeEnum::operator Ifc4x2::IfcBeamTypeEnum::Value() const { - return (Ifc4x2::IfcBeamTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcBeamTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcBearingTypeDisplacementEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[74]); } @@ -549,7 +549,7 @@ Ifc4x2::IfcBearingTypeDisplacementEnum::Value Ifc4x2::IfcBearingTypeDisplacement } Ifc4x2::IfcBearingTypeDisplacementEnum::operator Ifc4x2::IfcBearingTypeDisplacementEnum::Value() const { - return (Ifc4x2::IfcBearingTypeDisplacementEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcBearingTypeDisplacementEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcBearingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[75]); } @@ -576,7 +576,7 @@ Ifc4x2::IfcBearingTypeEnum::Value Ifc4x2::IfcBearingTypeEnum::FromString(const s } Ifc4x2::IfcBearingTypeEnum::operator Ifc4x2::IfcBearingTypeEnum::Value() const { - return (Ifc4x2::IfcBearingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcBearingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcBenchmarkEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[76]); } @@ -603,7 +603,7 @@ Ifc4x2::IfcBenchmarkEnum::Value Ifc4x2::IfcBenchmarkEnum::FromString(const std:: } Ifc4x2::IfcBenchmarkEnum::operator Ifc4x2::IfcBenchmarkEnum::Value() const { - return (Ifc4x2::IfcBenchmarkEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcBenchmarkEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcBoilerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[83]); } @@ -630,7 +630,7 @@ Ifc4x2::IfcBoilerTypeEnum::Value Ifc4x2::IfcBoilerTypeEnum::FromString(const std } Ifc4x2::IfcBoilerTypeEnum::operator Ifc4x2::IfcBoilerTypeEnum::Value() const { - return (Ifc4x2::IfcBoilerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcBoilerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcBooleanOperator::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[87]); } @@ -657,7 +657,7 @@ Ifc4x2::IfcBooleanOperator::Value Ifc4x2::IfcBooleanOperator::FromString(const s } Ifc4x2::IfcBooleanOperator::operator Ifc4x2::IfcBooleanOperator::Value() const { - return (Ifc4x2::IfcBooleanOperator::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcBooleanOperator::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcBridgePartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[102]); } @@ -684,7 +684,7 @@ Ifc4x2::IfcBridgePartTypeEnum::Value Ifc4x2::IfcBridgePartTypeEnum::FromString(c } Ifc4x2::IfcBridgePartTypeEnum::operator Ifc4x2::IfcBridgePartTypeEnum::Value() const { - return (Ifc4x2::IfcBridgePartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcBridgePartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcBridgeTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[103]); } @@ -711,7 +711,7 @@ Ifc4x2::IfcBridgeTypeEnum::Value Ifc4x2::IfcBridgeTypeEnum::FromString(const std } Ifc4x2::IfcBridgeTypeEnum::operator Ifc4x2::IfcBridgeTypeEnum::Value() const { - return (Ifc4x2::IfcBridgeTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcBridgeTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcBuildingElementPartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[114]); } @@ -738,7 +738,7 @@ Ifc4x2::IfcBuildingElementPartTypeEnum::Value Ifc4x2::IfcBuildingElementPartType } Ifc4x2::IfcBuildingElementPartTypeEnum::operator Ifc4x2::IfcBuildingElementPartTypeEnum::Value() const { - return (Ifc4x2::IfcBuildingElementPartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcBuildingElementPartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcBuildingElementProxyTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[117]); } @@ -765,7 +765,7 @@ Ifc4x2::IfcBuildingElementProxyTypeEnum::Value Ifc4x2::IfcBuildingElementProxyTy } Ifc4x2::IfcBuildingElementProxyTypeEnum::operator Ifc4x2::IfcBuildingElementProxyTypeEnum::Value() const { - return (Ifc4x2::IfcBuildingElementProxyTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcBuildingElementProxyTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcBuildingSystemTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[121]); } @@ -792,7 +792,7 @@ Ifc4x2::IfcBuildingSystemTypeEnum::Value Ifc4x2::IfcBuildingSystemTypeEnum::From } Ifc4x2::IfcBuildingSystemTypeEnum::operator Ifc4x2::IfcBuildingSystemTypeEnum::Value() const { - return (Ifc4x2::IfcBuildingSystemTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcBuildingSystemTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcBurnerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[124]); } @@ -819,7 +819,7 @@ Ifc4x2::IfcBurnerTypeEnum::Value Ifc4x2::IfcBurnerTypeEnum::FromString(const std } Ifc4x2::IfcBurnerTypeEnum::operator Ifc4x2::IfcBurnerTypeEnum::Value() const { - return (Ifc4x2::IfcBurnerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcBurnerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcCableCarrierFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[127]); } @@ -846,7 +846,7 @@ Ifc4x2::IfcCableCarrierFittingTypeEnum::Value Ifc4x2::IfcCableCarrierFittingType } Ifc4x2::IfcCableCarrierFittingTypeEnum::operator Ifc4x2::IfcCableCarrierFittingTypeEnum::Value() const { - return (Ifc4x2::IfcCableCarrierFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcCableCarrierFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcCableCarrierSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[130]); } @@ -873,7 +873,7 @@ Ifc4x2::IfcCableCarrierSegmentTypeEnum::Value Ifc4x2::IfcCableCarrierSegmentType } Ifc4x2::IfcCableCarrierSegmentTypeEnum::operator Ifc4x2::IfcCableCarrierSegmentTypeEnum::Value() const { - return (Ifc4x2::IfcCableCarrierSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcCableCarrierSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcCableFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[133]); } @@ -900,7 +900,7 @@ Ifc4x2::IfcCableFittingTypeEnum::Value Ifc4x2::IfcCableFittingTypeEnum::FromStri } Ifc4x2::IfcCableFittingTypeEnum::operator Ifc4x2::IfcCableFittingTypeEnum::Value() const { - return (Ifc4x2::IfcCableFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcCableFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcCableSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[136]); } @@ -927,7 +927,7 @@ Ifc4x2::IfcCableSegmentTypeEnum::Value Ifc4x2::IfcCableSegmentTypeEnum::FromStri } Ifc4x2::IfcCableSegmentTypeEnum::operator Ifc4x2::IfcCableSegmentTypeEnum::Value() const { - return (Ifc4x2::IfcCableSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcCableSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcCaissonFoundationTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[139]); } @@ -954,7 +954,7 @@ Ifc4x2::IfcCaissonFoundationTypeEnum::Value Ifc4x2::IfcCaissonFoundationTypeEnum } Ifc4x2::IfcCaissonFoundationTypeEnum::operator Ifc4x2::IfcCaissonFoundationTypeEnum::Value() const { - return (Ifc4x2::IfcCaissonFoundationTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcCaissonFoundationTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcChangeActionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[151]); } @@ -981,7 +981,7 @@ Ifc4x2::IfcChangeActionEnum::Value Ifc4x2::IfcChangeActionEnum::FromString(const } Ifc4x2::IfcChangeActionEnum::operator Ifc4x2::IfcChangeActionEnum::Value() const { - return (Ifc4x2::IfcChangeActionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcChangeActionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcChillerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[154]); } @@ -1008,7 +1008,7 @@ Ifc4x2::IfcChillerTypeEnum::Value Ifc4x2::IfcChillerTypeEnum::FromString(const s } Ifc4x2::IfcChillerTypeEnum::operator Ifc4x2::IfcChillerTypeEnum::Value() const { - return (Ifc4x2::IfcChillerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcChillerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcChimneyTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[157]); } @@ -1035,7 +1035,7 @@ Ifc4x2::IfcChimneyTypeEnum::Value Ifc4x2::IfcChimneyTypeEnum::FromString(const s } Ifc4x2::IfcChimneyTypeEnum::operator Ifc4x2::IfcChimneyTypeEnum::Value() const { - return (Ifc4x2::IfcChimneyTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcChimneyTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcCoilTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[171]); } @@ -1062,7 +1062,7 @@ Ifc4x2::IfcCoilTypeEnum::Value Ifc4x2::IfcCoilTypeEnum::FromString(const std::st } Ifc4x2::IfcCoilTypeEnum::operator Ifc4x2::IfcCoilTypeEnum::Value() const { - return (Ifc4x2::IfcCoilTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcCoilTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcColumnTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[180]); } @@ -1089,7 +1089,7 @@ Ifc4x2::IfcColumnTypeEnum::Value Ifc4x2::IfcColumnTypeEnum::FromString(const std } Ifc4x2::IfcColumnTypeEnum::operator Ifc4x2::IfcColumnTypeEnum::Value() const { - return (Ifc4x2::IfcColumnTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcColumnTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcCommunicationsApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[183]); } @@ -1116,7 +1116,7 @@ Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value Ifc4x2::IfcCommunicationsAppli } Ifc4x2::IfcCommunicationsApplianceTypeEnum::operator Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value() const { - return (Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcComplexPropertyTemplateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[187]); } @@ -1143,7 +1143,7 @@ Ifc4x2::IfcComplexPropertyTemplateTypeEnum::Value Ifc4x2::IfcComplexPropertyTemp } Ifc4x2::IfcComplexPropertyTemplateTypeEnum::operator Ifc4x2::IfcComplexPropertyTemplateTypeEnum::Value() const { - return (Ifc4x2::IfcComplexPropertyTemplateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcComplexPropertyTemplateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcCompressorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[195]); } @@ -1170,7 +1170,7 @@ Ifc4x2::IfcCompressorTypeEnum::Value Ifc4x2::IfcCompressorTypeEnum::FromString(c } Ifc4x2::IfcCompressorTypeEnum::operator Ifc4x2::IfcCompressorTypeEnum::Value() const { - return (Ifc4x2::IfcCompressorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcCompressorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcCondenserTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[198]); } @@ -1197,7 +1197,7 @@ Ifc4x2::IfcCondenserTypeEnum::Value Ifc4x2::IfcCondenserTypeEnum::FromString(con } Ifc4x2::IfcCondenserTypeEnum::operator Ifc4x2::IfcCondenserTypeEnum::Value() const { - return (Ifc4x2::IfcCondenserTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcCondenserTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcConnectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[206]); } @@ -1224,7 +1224,7 @@ Ifc4x2::IfcConnectionTypeEnum::Value Ifc4x2::IfcConnectionTypeEnum::FromString(c } Ifc4x2::IfcConnectionTypeEnum::operator Ifc4x2::IfcConnectionTypeEnum::Value() const { - return (Ifc4x2::IfcConnectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcConnectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcConstraintEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[209]); } @@ -1251,7 +1251,7 @@ Ifc4x2::IfcConstraintEnum::Value Ifc4x2::IfcConstraintEnum::FromString(const std } Ifc4x2::IfcConstraintEnum::operator Ifc4x2::IfcConstraintEnum::Value() const { - return (Ifc4x2::IfcConstraintEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcConstraintEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[212]); } @@ -1278,7 +1278,7 @@ Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x2::IfcConstructionE } Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::operator Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Value() const { - return (Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcConstructionMaterialResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[215]); } @@ -1305,7 +1305,7 @@ Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x2::IfcConstructionMa } Ifc4x2::IfcConstructionMaterialResourceTypeEnum::operator Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Value() const { - return (Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcConstructionProductResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[218]); } @@ -1332,7 +1332,7 @@ Ifc4x2::IfcConstructionProductResourceTypeEnum::Value Ifc4x2::IfcConstructionPro } Ifc4x2::IfcConstructionProductResourceTypeEnum::operator Ifc4x2::IfcConstructionProductResourceTypeEnum::Value() const { - return (Ifc4x2::IfcConstructionProductResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcConstructionProductResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcControllerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[227]); } @@ -1359,7 +1359,7 @@ Ifc4x2::IfcControllerTypeEnum::Value Ifc4x2::IfcControllerTypeEnum::FromString(c } Ifc4x2::IfcControllerTypeEnum::operator Ifc4x2::IfcControllerTypeEnum::Value() const { - return (Ifc4x2::IfcControllerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcControllerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcCooledBeamTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[232]); } @@ -1386,7 +1386,7 @@ Ifc4x2::IfcCooledBeamTypeEnum::Value Ifc4x2::IfcCooledBeamTypeEnum::FromString(c } Ifc4x2::IfcCooledBeamTypeEnum::operator Ifc4x2::IfcCooledBeamTypeEnum::Value() const { - return (Ifc4x2::IfcCooledBeamTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcCooledBeamTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcCoolingTowerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[235]); } @@ -1413,7 +1413,7 @@ Ifc4x2::IfcCoolingTowerTypeEnum::Value Ifc4x2::IfcCoolingTowerTypeEnum::FromStri } Ifc4x2::IfcCoolingTowerTypeEnum::operator Ifc4x2::IfcCoolingTowerTypeEnum::Value() const { - return (Ifc4x2::IfcCoolingTowerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcCoolingTowerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcCostItemTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[240]); } @@ -1440,7 +1440,7 @@ Ifc4x2::IfcCostItemTypeEnum::Value Ifc4x2::IfcCostItemTypeEnum::FromString(const } Ifc4x2::IfcCostItemTypeEnum::operator Ifc4x2::IfcCostItemTypeEnum::Value() const { - return (Ifc4x2::IfcCostItemTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcCostItemTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcCostScheduleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[242]); } @@ -1467,7 +1467,7 @@ Ifc4x2::IfcCostScheduleTypeEnum::Value Ifc4x2::IfcCostScheduleTypeEnum::FromStri } Ifc4x2::IfcCostScheduleTypeEnum::operator Ifc4x2::IfcCostScheduleTypeEnum::Value() const { - return (Ifc4x2::IfcCostScheduleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcCostScheduleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcCoveringTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[247]); } @@ -1494,7 +1494,7 @@ Ifc4x2::IfcCoveringTypeEnum::Value Ifc4x2::IfcCoveringTypeEnum::FromString(const } Ifc4x2::IfcCoveringTypeEnum::operator Ifc4x2::IfcCoveringTypeEnum::Value() const { - return (Ifc4x2::IfcCoveringTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcCoveringTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcCrewResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[250]); } @@ -1521,7 +1521,7 @@ Ifc4x2::IfcCrewResourceTypeEnum::Value Ifc4x2::IfcCrewResourceTypeEnum::FromStri } Ifc4x2::IfcCrewResourceTypeEnum::operator Ifc4x2::IfcCrewResourceTypeEnum::Value() const { - return (Ifc4x2::IfcCrewResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcCrewResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcCurtainWallTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[258]); } @@ -1548,7 +1548,7 @@ Ifc4x2::IfcCurtainWallTypeEnum::Value Ifc4x2::IfcCurtainWallTypeEnum::FromString } Ifc4x2::IfcCurtainWallTypeEnum::operator Ifc4x2::IfcCurtainWallTypeEnum::Value() const { - return (Ifc4x2::IfcCurtainWallTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcCurtainWallTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcCurveInterpolationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[264]); } @@ -1575,7 +1575,7 @@ Ifc4x2::IfcCurveInterpolationEnum::Value Ifc4x2::IfcCurveInterpolationEnum::From } Ifc4x2::IfcCurveInterpolationEnum::operator Ifc4x2::IfcCurveInterpolationEnum::Value() const { - return (Ifc4x2::IfcCurveInterpolationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcCurveInterpolationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcDamperTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[276]); } @@ -1602,7 +1602,7 @@ Ifc4x2::IfcDamperTypeEnum::Value Ifc4x2::IfcDamperTypeEnum::FromString(const std } Ifc4x2::IfcDamperTypeEnum::operator Ifc4x2::IfcDamperTypeEnum::Value() const { - return (Ifc4x2::IfcDamperTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcDamperTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcDataOriginEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[277]); } @@ -1629,7 +1629,7 @@ Ifc4x2::IfcDataOriginEnum::Value Ifc4x2::IfcDataOriginEnum::FromString(const std } Ifc4x2::IfcDataOriginEnum::operator Ifc4x2::IfcDataOriginEnum::Value() const { - return (Ifc4x2::IfcDataOriginEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcDataOriginEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcDerivedUnitEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[289]); } @@ -1656,7 +1656,7 @@ Ifc4x2::IfcDerivedUnitEnum::Value Ifc4x2::IfcDerivedUnitEnum::FromString(const s } Ifc4x2::IfcDerivedUnitEnum::operator Ifc4x2::IfcDerivedUnitEnum::Value() const { - return (Ifc4x2::IfcDerivedUnitEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcDerivedUnitEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcDirectionSenseEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[294]); } @@ -1683,7 +1683,7 @@ Ifc4x2::IfcDirectionSenseEnum::Value Ifc4x2::IfcDirectionSenseEnum::FromString(c } Ifc4x2::IfcDirectionSenseEnum::operator Ifc4x2::IfcDirectionSenseEnum::Value() const { - return (Ifc4x2::IfcDirectionSenseEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcDirectionSenseEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcDiscreteAccessoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[297]); } @@ -1710,7 +1710,7 @@ Ifc4x2::IfcDiscreteAccessoryTypeEnum::Value Ifc4x2::IfcDiscreteAccessoryTypeEnum } Ifc4x2::IfcDiscreteAccessoryTypeEnum::operator Ifc4x2::IfcDiscreteAccessoryTypeEnum::Value() const { - return (Ifc4x2::IfcDiscreteAccessoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcDiscreteAccessoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcDistributionChamberElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[301]); } @@ -1737,7 +1737,7 @@ Ifc4x2::IfcDistributionChamberElementTypeEnum::Value Ifc4x2::IfcDistributionCham } Ifc4x2::IfcDistributionChamberElementTypeEnum::operator Ifc4x2::IfcDistributionChamberElementTypeEnum::Value() const { - return (Ifc4x2::IfcDistributionChamberElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcDistributionChamberElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcDistributionPortTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[310]); } @@ -1764,7 +1764,7 @@ Ifc4x2::IfcDistributionPortTypeEnum::Value Ifc4x2::IfcDistributionPortTypeEnum:: } Ifc4x2::IfcDistributionPortTypeEnum::operator Ifc4x2::IfcDistributionPortTypeEnum::Value() const { - return (Ifc4x2::IfcDistributionPortTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcDistributionPortTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcDistributionSystemEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[312]); } @@ -1791,7 +1791,7 @@ Ifc4x2::IfcDistributionSystemEnum::Value Ifc4x2::IfcDistributionSystemEnum::From } Ifc4x2::IfcDistributionSystemEnum::operator Ifc4x2::IfcDistributionSystemEnum::Value() const { - return (Ifc4x2::IfcDistributionSystemEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcDistributionSystemEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcDocumentConfidentialityEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[313]); } @@ -1818,7 +1818,7 @@ Ifc4x2::IfcDocumentConfidentialityEnum::Value Ifc4x2::IfcDocumentConfidentiality } Ifc4x2::IfcDocumentConfidentialityEnum::operator Ifc4x2::IfcDocumentConfidentialityEnum::Value() const { - return (Ifc4x2::IfcDocumentConfidentialityEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcDocumentConfidentialityEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcDocumentStatusEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[318]); } @@ -1845,7 +1845,7 @@ Ifc4x2::IfcDocumentStatusEnum::Value Ifc4x2::IfcDocumentStatusEnum::FromString(c } Ifc4x2::IfcDocumentStatusEnum::operator Ifc4x2::IfcDocumentStatusEnum::Value() const { - return (Ifc4x2::IfcDocumentStatusEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcDocumentStatusEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcDoorPanelOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[321]); } @@ -1872,7 +1872,7 @@ Ifc4x2::IfcDoorPanelOperationEnum::Value Ifc4x2::IfcDoorPanelOperationEnum::From } Ifc4x2::IfcDoorPanelOperationEnum::operator Ifc4x2::IfcDoorPanelOperationEnum::Value() const { - return (Ifc4x2::IfcDoorPanelOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcDoorPanelOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcDoorPanelPositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[322]); } @@ -1899,7 +1899,7 @@ Ifc4x2::IfcDoorPanelPositionEnum::Value Ifc4x2::IfcDoorPanelPositionEnum::FromSt } Ifc4x2::IfcDoorPanelPositionEnum::operator Ifc4x2::IfcDoorPanelPositionEnum::Value() const { - return (Ifc4x2::IfcDoorPanelPositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcDoorPanelPositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcDoorStyleConstructionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[326]); } @@ -1926,7 +1926,7 @@ Ifc4x2::IfcDoorStyleConstructionEnum::Value Ifc4x2::IfcDoorStyleConstructionEnum } Ifc4x2::IfcDoorStyleConstructionEnum::operator Ifc4x2::IfcDoorStyleConstructionEnum::Value() const { - return (Ifc4x2::IfcDoorStyleConstructionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcDoorStyleConstructionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcDoorStyleOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[327]); } @@ -1953,7 +1953,7 @@ Ifc4x2::IfcDoorStyleOperationEnum::Value Ifc4x2::IfcDoorStyleOperationEnum::From } Ifc4x2::IfcDoorStyleOperationEnum::operator Ifc4x2::IfcDoorStyleOperationEnum::Value() const { - return (Ifc4x2::IfcDoorStyleOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcDoorStyleOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcDoorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[329]); } @@ -1980,7 +1980,7 @@ Ifc4x2::IfcDoorTypeEnum::Value Ifc4x2::IfcDoorTypeEnum::FromString(const std::st } Ifc4x2::IfcDoorTypeEnum::operator Ifc4x2::IfcDoorTypeEnum::Value() const { - return (Ifc4x2::IfcDoorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcDoorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcDoorTypeOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[330]); } @@ -2007,7 +2007,7 @@ Ifc4x2::IfcDoorTypeOperationEnum::Value Ifc4x2::IfcDoorTypeOperationEnum::FromSt } Ifc4x2::IfcDoorTypeOperationEnum::operator Ifc4x2::IfcDoorTypeOperationEnum::Value() const { - return (Ifc4x2::IfcDoorTypeOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcDoorTypeOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcDuctFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[336]); } @@ -2034,7 +2034,7 @@ Ifc4x2::IfcDuctFittingTypeEnum::Value Ifc4x2::IfcDuctFittingTypeEnum::FromString } Ifc4x2::IfcDuctFittingTypeEnum::operator Ifc4x2::IfcDuctFittingTypeEnum::Value() const { - return (Ifc4x2::IfcDuctFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcDuctFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcDuctSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[339]); } @@ -2061,7 +2061,7 @@ Ifc4x2::IfcDuctSegmentTypeEnum::Value Ifc4x2::IfcDuctSegmentTypeEnum::FromString } Ifc4x2::IfcDuctSegmentTypeEnum::operator Ifc4x2::IfcDuctSegmentTypeEnum::Value() const { - return (Ifc4x2::IfcDuctSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcDuctSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcDuctSilencerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[342]); } @@ -2088,7 +2088,7 @@ Ifc4x2::IfcDuctSilencerTypeEnum::Value Ifc4x2::IfcDuctSilencerTypeEnum::FromStri } Ifc4x2::IfcDuctSilencerTypeEnum::operator Ifc4x2::IfcDuctSilencerTypeEnum::Value() const { - return (Ifc4x2::IfcDuctSilencerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcDuctSilencerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcElectricApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[350]); } @@ -2115,7 +2115,7 @@ Ifc4x2::IfcElectricApplianceTypeEnum::Value Ifc4x2::IfcElectricApplianceTypeEnum } Ifc4x2::IfcElectricApplianceTypeEnum::operator Ifc4x2::IfcElectricApplianceTypeEnum::Value() const { - return (Ifc4x2::IfcElectricApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcElectricApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcElectricDistributionBoardTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[357]); } @@ -2142,7 +2142,7 @@ Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value Ifc4x2::IfcElectricDistribut } Ifc4x2::IfcElectricDistributionBoardTypeEnum::operator Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value() const { - return (Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[360]); } @@ -2169,7 +2169,7 @@ Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x2::IfcElectricFlowStora } Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::operator Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value() const { - return (Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcElectricGeneratorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[363]); } @@ -2196,7 +2196,7 @@ Ifc4x2::IfcElectricGeneratorTypeEnum::Value Ifc4x2::IfcElectricGeneratorTypeEnum } Ifc4x2::IfcElectricGeneratorTypeEnum::operator Ifc4x2::IfcElectricGeneratorTypeEnum::Value() const { - return (Ifc4x2::IfcElectricGeneratorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcElectricGeneratorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcElectricMotorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[366]); } @@ -2223,7 +2223,7 @@ Ifc4x2::IfcElectricMotorTypeEnum::Value Ifc4x2::IfcElectricMotorTypeEnum::FromSt } Ifc4x2::IfcElectricMotorTypeEnum::operator Ifc4x2::IfcElectricMotorTypeEnum::Value() const { - return (Ifc4x2::IfcElectricMotorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcElectricMotorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcElectricTimeControlTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[370]); } @@ -2250,7 +2250,7 @@ Ifc4x2::IfcElectricTimeControlTypeEnum::Value Ifc4x2::IfcElectricTimeControlType } Ifc4x2::IfcElectricTimeControlTypeEnum::operator Ifc4x2::IfcElectricTimeControlTypeEnum::Value() const { - return (Ifc4x2::IfcElectricTimeControlTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcElectricTimeControlTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcElementAssemblyTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[376]); } @@ -2277,7 +2277,7 @@ Ifc4x2::IfcElementAssemblyTypeEnum::Value Ifc4x2::IfcElementAssemblyTypeEnum::Fr } Ifc4x2::IfcElementAssemblyTypeEnum::operator Ifc4x2::IfcElementAssemblyTypeEnum::Value() const { - return (Ifc4x2::IfcElementAssemblyTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcElementAssemblyTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcElementCompositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[379]); } @@ -2304,7 +2304,7 @@ Ifc4x2::IfcElementCompositionEnum::Value Ifc4x2::IfcElementCompositionEnum::From } Ifc4x2::IfcElementCompositionEnum::operator Ifc4x2::IfcElementCompositionEnum::Value() const { - return (Ifc4x2::IfcElementCompositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcElementCompositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcEngineTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[389]); } @@ -2331,7 +2331,7 @@ Ifc4x2::IfcEngineTypeEnum::Value Ifc4x2::IfcEngineTypeEnum::FromString(const std } Ifc4x2::IfcEngineTypeEnum::operator Ifc4x2::IfcEngineTypeEnum::Value() const { - return (Ifc4x2::IfcEngineTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcEngineTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcEvaporativeCoolerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[392]); } @@ -2358,7 +2358,7 @@ Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value Ifc4x2::IfcEvaporativeCoolerTypeEnum } Ifc4x2::IfcEvaporativeCoolerTypeEnum::operator Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value() const { - return (Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcEvaporatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[395]); } @@ -2385,7 +2385,7 @@ Ifc4x2::IfcEvaporatorTypeEnum::Value Ifc4x2::IfcEvaporatorTypeEnum::FromString(c } Ifc4x2::IfcEvaporatorTypeEnum::operator Ifc4x2::IfcEvaporatorTypeEnum::Value() const { - return (Ifc4x2::IfcEvaporatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcEvaporatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcEventTriggerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[398]); } @@ -2412,7 +2412,7 @@ Ifc4x2::IfcEventTriggerTypeEnum::Value Ifc4x2::IfcEventTriggerTypeEnum::FromStri } Ifc4x2::IfcEventTriggerTypeEnum::operator Ifc4x2::IfcEventTriggerTypeEnum::Value() const { - return (Ifc4x2::IfcEventTriggerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcEventTriggerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcEventTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[400]); } @@ -2439,7 +2439,7 @@ Ifc4x2::IfcEventTypeEnum::Value Ifc4x2::IfcEventTypeEnum::FromString(const std:: } Ifc4x2::IfcEventTypeEnum::operator Ifc4x2::IfcEventTypeEnum::Value() const { - return (Ifc4x2::IfcEventTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcEventTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcExternalSpatialElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[409]); } @@ -2466,7 +2466,7 @@ Ifc4x2::IfcExternalSpatialElementTypeEnum::Value Ifc4x2::IfcExternalSpatialEleme } Ifc4x2::IfcExternalSpatialElementTypeEnum::operator Ifc4x2::IfcExternalSpatialElementTypeEnum::Value() const { - return (Ifc4x2::IfcExternalSpatialElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcExternalSpatialElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcFanTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[425]); } @@ -2493,7 +2493,7 @@ Ifc4x2::IfcFanTypeEnum::Value Ifc4x2::IfcFanTypeEnum::FromString(const std::stri } Ifc4x2::IfcFanTypeEnum::operator Ifc4x2::IfcFanTypeEnum::Value() const { - return (Ifc4x2::IfcFanTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcFanTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcFastenerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[428]); } @@ -2520,7 +2520,7 @@ Ifc4x2::IfcFastenerTypeEnum::Value Ifc4x2::IfcFastenerTypeEnum::FromString(const } Ifc4x2::IfcFastenerTypeEnum::operator Ifc4x2::IfcFastenerTypeEnum::Value() const { - return (Ifc4x2::IfcFastenerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcFastenerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcFilterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[438]); } @@ -2547,7 +2547,7 @@ Ifc4x2::IfcFilterTypeEnum::Value Ifc4x2::IfcFilterTypeEnum::FromString(const std } Ifc4x2::IfcFilterTypeEnum::operator Ifc4x2::IfcFilterTypeEnum::Value() const { - return (Ifc4x2::IfcFilterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcFilterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcFireSuppressionTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[441]); } @@ -2574,7 +2574,7 @@ Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x2::IfcFireSuppressionTerm } Ifc4x2::IfcFireSuppressionTerminalTypeEnum::operator Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value() const { - return (Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcFlowDirectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[445]); } @@ -2601,7 +2601,7 @@ Ifc4x2::IfcFlowDirectionEnum::Value Ifc4x2::IfcFlowDirectionEnum::FromString(con } Ifc4x2::IfcFlowDirectionEnum::operator Ifc4x2::IfcFlowDirectionEnum::Value() const { - return (Ifc4x2::IfcFlowDirectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcFlowDirectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcFlowInstrumentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[450]); } @@ -2628,7 +2628,7 @@ Ifc4x2::IfcFlowInstrumentTypeEnum::Value Ifc4x2::IfcFlowInstrumentTypeEnum::From } Ifc4x2::IfcFlowInstrumentTypeEnum::operator Ifc4x2::IfcFlowInstrumentTypeEnum::Value() const { - return (Ifc4x2::IfcFlowInstrumentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcFlowInstrumentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcFlowMeterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[453]); } @@ -2655,7 +2655,7 @@ Ifc4x2::IfcFlowMeterTypeEnum::Value Ifc4x2::IfcFlowMeterTypeEnum::FromString(con } Ifc4x2::IfcFlowMeterTypeEnum::operator Ifc4x2::IfcFlowMeterTypeEnum::Value() const { - return (Ifc4x2::IfcFlowMeterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcFlowMeterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcFootingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[469]); } @@ -2682,7 +2682,7 @@ Ifc4x2::IfcFootingTypeEnum::Value Ifc4x2::IfcFootingTypeEnum::FromString(const s } Ifc4x2::IfcFootingTypeEnum::operator Ifc4x2::IfcFootingTypeEnum::Value() const { - return (Ifc4x2::IfcFootingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcFootingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcFurnitureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[476]); } @@ -2709,7 +2709,7 @@ Ifc4x2::IfcFurnitureTypeEnum::Value Ifc4x2::IfcFurnitureTypeEnum::FromString(con } Ifc4x2::IfcFurnitureTypeEnum::operator Ifc4x2::IfcFurnitureTypeEnum::Value() const { - return (Ifc4x2::IfcFurnitureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcFurnitureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcGeographicElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[479]); } @@ -2736,7 +2736,7 @@ Ifc4x2::IfcGeographicElementTypeEnum::Value Ifc4x2::IfcGeographicElementTypeEnum } Ifc4x2::IfcGeographicElementTypeEnum::operator Ifc4x2::IfcGeographicElementTypeEnum::Value() const { - return (Ifc4x2::IfcGeographicElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcGeographicElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcGeometricProjectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[481]); } @@ -2763,7 +2763,7 @@ Ifc4x2::IfcGeometricProjectionEnum::Value Ifc4x2::IfcGeometricProjectionEnum::Fr } Ifc4x2::IfcGeometricProjectionEnum::operator Ifc4x2::IfcGeometricProjectionEnum::Value() const { - return (Ifc4x2::IfcGeometricProjectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcGeometricProjectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcGlobalOrLocalEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[488]); } @@ -2790,7 +2790,7 @@ Ifc4x2::IfcGlobalOrLocalEnum::Value Ifc4x2::IfcGlobalOrLocalEnum::FromString(con } Ifc4x2::IfcGlobalOrLocalEnum::operator Ifc4x2::IfcGlobalOrLocalEnum::Value() const { - return (Ifc4x2::IfcGlobalOrLocalEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcGlobalOrLocalEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcGridTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[493]); } @@ -2817,7 +2817,7 @@ Ifc4x2::IfcGridTypeEnum::Value Ifc4x2::IfcGridTypeEnum::FromString(const std::st } Ifc4x2::IfcGridTypeEnum::operator Ifc4x2::IfcGridTypeEnum::Value() const { - return (Ifc4x2::IfcGridTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcGridTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcHeatExchangerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[499]); } @@ -2844,7 +2844,7 @@ Ifc4x2::IfcHeatExchangerTypeEnum::Value Ifc4x2::IfcHeatExchangerTypeEnum::FromSt } Ifc4x2::IfcHeatExchangerTypeEnum::operator Ifc4x2::IfcHeatExchangerTypeEnum::Value() const { - return (Ifc4x2::IfcHeatExchangerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcHeatExchangerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcHumidifierTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[504]); } @@ -2871,7 +2871,7 @@ Ifc4x2::IfcHumidifierTypeEnum::Value Ifc4x2::IfcHumidifierTypeEnum::FromString(c } Ifc4x2::IfcHumidifierTypeEnum::operator Ifc4x2::IfcHumidifierTypeEnum::Value() const { - return (Ifc4x2::IfcHumidifierTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcHumidifierTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcInterceptorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[519]); } @@ -2898,7 +2898,7 @@ Ifc4x2::IfcInterceptorTypeEnum::Value Ifc4x2::IfcInterceptorTypeEnum::FromString } Ifc4x2::IfcInterceptorTypeEnum::operator Ifc4x2::IfcInterceptorTypeEnum::Value() const { - return (Ifc4x2::IfcInterceptorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcInterceptorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcInternalOrExternalEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[520]); } @@ -2925,7 +2925,7 @@ Ifc4x2::IfcInternalOrExternalEnum::Value Ifc4x2::IfcInternalOrExternalEnum::From } Ifc4x2::IfcInternalOrExternalEnum::operator Ifc4x2::IfcInternalOrExternalEnum::Value() const { - return (Ifc4x2::IfcInternalOrExternalEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcInternalOrExternalEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcInventoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[523]); } @@ -2952,7 +2952,7 @@ Ifc4x2::IfcInventoryTypeEnum::Value Ifc4x2::IfcInventoryTypeEnum::FromString(con } Ifc4x2::IfcInventoryTypeEnum::operator Ifc4x2::IfcInventoryTypeEnum::Value() const { - return (Ifc4x2::IfcInventoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcInventoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcJunctionBoxTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[531]); } @@ -2979,7 +2979,7 @@ Ifc4x2::IfcJunctionBoxTypeEnum::Value Ifc4x2::IfcJunctionBoxTypeEnum::FromString } Ifc4x2::IfcJunctionBoxTypeEnum::operator Ifc4x2::IfcJunctionBoxTypeEnum::Value() const { - return (Ifc4x2::IfcJunctionBoxTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcJunctionBoxTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcKnotType::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[533]); } @@ -3006,7 +3006,7 @@ Ifc4x2::IfcKnotType::Value Ifc4x2::IfcKnotType::FromString(const std::string& s) } Ifc4x2::IfcKnotType::operator Ifc4x2::IfcKnotType::Value() const { - return (Ifc4x2::IfcKnotType::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcKnotType::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcLaborResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[537]); } @@ -3033,7 +3033,7 @@ Ifc4x2::IfcLaborResourceTypeEnum::Value Ifc4x2::IfcLaborResourceTypeEnum::FromSt } Ifc4x2::IfcLaborResourceTypeEnum::operator Ifc4x2::IfcLaborResourceTypeEnum::Value() const { - return (Ifc4x2::IfcLaborResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcLaborResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcLampTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[541]); } @@ -3060,7 +3060,7 @@ Ifc4x2::IfcLampTypeEnum::Value Ifc4x2::IfcLampTypeEnum::FromString(const std::st } Ifc4x2::IfcLampTypeEnum::operator Ifc4x2::IfcLampTypeEnum::Value() const { - return (Ifc4x2::IfcLampTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcLampTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcLayerSetDirectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[544]); } @@ -3087,7 +3087,7 @@ Ifc4x2::IfcLayerSetDirectionEnum::Value Ifc4x2::IfcLayerSetDirectionEnum::FromSt } Ifc4x2::IfcLayerSetDirectionEnum::operator Ifc4x2::IfcLayerSetDirectionEnum::Value() const { - return (Ifc4x2::IfcLayerSetDirectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcLayerSetDirectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcLightDistributionCurveEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[549]); } @@ -3114,7 +3114,7 @@ Ifc4x2::IfcLightDistributionCurveEnum::Value Ifc4x2::IfcLightDistributionCurveEn } Ifc4x2::IfcLightDistributionCurveEnum::operator Ifc4x2::IfcLightDistributionCurveEnum::Value() const { - return (Ifc4x2::IfcLightDistributionCurveEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcLightDistributionCurveEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcLightEmissionSourceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[552]); } @@ -3141,7 +3141,7 @@ Ifc4x2::IfcLightEmissionSourceEnum::Value Ifc4x2::IfcLightEmissionSourceEnum::Fr } Ifc4x2::IfcLightEmissionSourceEnum::operator Ifc4x2::IfcLightEmissionSourceEnum::Value() const { - return (Ifc4x2::IfcLightEmissionSourceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcLightEmissionSourceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcLightFixtureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[555]); } @@ -3168,7 +3168,7 @@ Ifc4x2::IfcLightFixtureTypeEnum::Value Ifc4x2::IfcLightFixtureTypeEnum::FromStri } Ifc4x2::IfcLightFixtureTypeEnum::operator Ifc4x2::IfcLightFixtureTypeEnum::Value() const { - return (Ifc4x2::IfcLightFixtureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcLightFixtureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcLoadGroupTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[572]); } @@ -3195,7 +3195,7 @@ Ifc4x2::IfcLoadGroupTypeEnum::Value Ifc4x2::IfcLoadGroupTypeEnum::FromString(con } Ifc4x2::IfcLoadGroupTypeEnum::operator Ifc4x2::IfcLoadGroupTypeEnum::Value() const { - return (Ifc4x2::IfcLoadGroupTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcLoadGroupTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcLogicalOperatorEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[575]); } @@ -3222,7 +3222,7 @@ Ifc4x2::IfcLogicalOperatorEnum::Value Ifc4x2::IfcLogicalOperatorEnum::FromString } Ifc4x2::IfcLogicalOperatorEnum::operator Ifc4x2::IfcLogicalOperatorEnum::Value() const { - return (Ifc4x2::IfcLogicalOperatorEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcLogicalOperatorEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcMechanicalFastenerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[614]); } @@ -3249,7 +3249,7 @@ Ifc4x2::IfcMechanicalFastenerTypeEnum::Value Ifc4x2::IfcMechanicalFastenerTypeEn } Ifc4x2::IfcMechanicalFastenerTypeEnum::operator Ifc4x2::IfcMechanicalFastenerTypeEnum::Value() const { - return (Ifc4x2::IfcMechanicalFastenerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcMechanicalFastenerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcMedicalDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[617]); } @@ -3276,7 +3276,7 @@ Ifc4x2::IfcMedicalDeviceTypeEnum::Value Ifc4x2::IfcMedicalDeviceTypeEnum::FromSt } Ifc4x2::IfcMedicalDeviceTypeEnum::operator Ifc4x2::IfcMedicalDeviceTypeEnum::Value() const { - return (Ifc4x2::IfcMedicalDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcMedicalDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcMemberTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[621]); } @@ -3303,7 +3303,7 @@ Ifc4x2::IfcMemberTypeEnum::Value Ifc4x2::IfcMemberTypeEnum::FromString(const std } Ifc4x2::IfcMemberTypeEnum::operator Ifc4x2::IfcMemberTypeEnum::Value() const { - return (Ifc4x2::IfcMemberTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcMemberTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcMotorConnectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[640]); } @@ -3330,7 +3330,7 @@ Ifc4x2::IfcMotorConnectionTypeEnum::Value Ifc4x2::IfcMotorConnectionTypeEnum::Fr } Ifc4x2::IfcMotorConnectionTypeEnum::operator Ifc4x2::IfcMotorConnectionTypeEnum::Value() const { - return (Ifc4x2::IfcMotorConnectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcMotorConnectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcNullStyle::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[644]); } @@ -3357,7 +3357,7 @@ Ifc4x2::IfcNullStyle::Value Ifc4x2::IfcNullStyle::FromString(const std::string& } Ifc4x2::IfcNullStyle::operator Ifc4x2::IfcNullStyle::Value() const { - return (Ifc4x2::IfcNullStyle::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcNullStyle::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcObjectTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[652]); } @@ -3384,7 +3384,7 @@ Ifc4x2::IfcObjectTypeEnum::Value Ifc4x2::IfcObjectTypeEnum::FromString(const std } Ifc4x2::IfcObjectTypeEnum::operator Ifc4x2::IfcObjectTypeEnum::Value() const { - return (Ifc4x2::IfcObjectTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcObjectTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcObjectiveEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[649]); } @@ -3411,7 +3411,7 @@ Ifc4x2::IfcObjectiveEnum::Value Ifc4x2::IfcObjectiveEnum::FromString(const std:: } Ifc4x2::IfcObjectiveEnum::operator Ifc4x2::IfcObjectiveEnum::Value() const { - return (Ifc4x2::IfcObjectiveEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcObjectiveEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcOccupantTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[654]); } @@ -3438,7 +3438,7 @@ Ifc4x2::IfcOccupantTypeEnum::Value Ifc4x2::IfcOccupantTypeEnum::FromString(const } Ifc4x2::IfcOccupantTypeEnum::operator Ifc4x2::IfcOccupantTypeEnum::Value() const { - return (Ifc4x2::IfcOccupantTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcOccupantTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcOpeningElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[660]); } @@ -3465,7 +3465,7 @@ Ifc4x2::IfcOpeningElementTypeEnum::Value Ifc4x2::IfcOpeningElementTypeEnum::From } Ifc4x2::IfcOpeningElementTypeEnum::operator Ifc4x2::IfcOpeningElementTypeEnum::Value() const { - return (Ifc4x2::IfcOpeningElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcOpeningElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcOutletTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[670]); } @@ -3492,7 +3492,7 @@ Ifc4x2::IfcOutletTypeEnum::Value Ifc4x2::IfcOutletTypeEnum::FromString(const std } Ifc4x2::IfcOutletTypeEnum::operator Ifc4x2::IfcOutletTypeEnum::Value() const { - return (Ifc4x2::IfcOutletTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcOutletTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcPerformanceHistoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[677]); } @@ -3519,7 +3519,7 @@ Ifc4x2::IfcPerformanceHistoryTypeEnum::Value Ifc4x2::IfcPerformanceHistoryTypeEn } Ifc4x2::IfcPerformanceHistoryTypeEnum::operator Ifc4x2::IfcPerformanceHistoryTypeEnum::Value() const { - return (Ifc4x2::IfcPerformanceHistoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcPerformanceHistoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcPermeableCoveringOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[678]); } @@ -3546,7 +3546,7 @@ Ifc4x2::IfcPermeableCoveringOperationEnum::Value Ifc4x2::IfcPermeableCoveringOpe } Ifc4x2::IfcPermeableCoveringOperationEnum::operator Ifc4x2::IfcPermeableCoveringOperationEnum::Value() const { - return (Ifc4x2::IfcPermeableCoveringOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcPermeableCoveringOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcPermitTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[681]); } @@ -3573,7 +3573,7 @@ Ifc4x2::IfcPermitTypeEnum::Value Ifc4x2::IfcPermitTypeEnum::FromString(const std } Ifc4x2::IfcPermitTypeEnum::operator Ifc4x2::IfcPermitTypeEnum::Value() const { - return (Ifc4x2::IfcPermitTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcPermitTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcPhysicalOrVirtualEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[686]); } @@ -3600,7 +3600,7 @@ Ifc4x2::IfcPhysicalOrVirtualEnum::Value Ifc4x2::IfcPhysicalOrVirtualEnum::FromSt } Ifc4x2::IfcPhysicalOrVirtualEnum::operator Ifc4x2::IfcPhysicalOrVirtualEnum::Value() const { - return (Ifc4x2::IfcPhysicalOrVirtualEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcPhysicalOrVirtualEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcPileConstructionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[690]); } @@ -3627,7 +3627,7 @@ Ifc4x2::IfcPileConstructionEnum::Value Ifc4x2::IfcPileConstructionEnum::FromStri } Ifc4x2::IfcPileConstructionEnum::operator Ifc4x2::IfcPileConstructionEnum::Value() const { - return (Ifc4x2::IfcPileConstructionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcPileConstructionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcPileTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[692]); } @@ -3654,7 +3654,7 @@ Ifc4x2::IfcPileTypeEnum::Value Ifc4x2::IfcPileTypeEnum::FromString(const std::st } Ifc4x2::IfcPileTypeEnum::operator Ifc4x2::IfcPileTypeEnum::Value() const { - return (Ifc4x2::IfcPileTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcPileTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcPipeFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[695]); } @@ -3681,7 +3681,7 @@ Ifc4x2::IfcPipeFittingTypeEnum::Value Ifc4x2::IfcPipeFittingTypeEnum::FromString } Ifc4x2::IfcPipeFittingTypeEnum::operator Ifc4x2::IfcPipeFittingTypeEnum::Value() const { - return (Ifc4x2::IfcPipeFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcPipeFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcPipeSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[698]); } @@ -3708,7 +3708,7 @@ Ifc4x2::IfcPipeSegmentTypeEnum::Value Ifc4x2::IfcPipeSegmentTypeEnum::FromString } Ifc4x2::IfcPipeSegmentTypeEnum::operator Ifc4x2::IfcPipeSegmentTypeEnum::Value() const { - return (Ifc4x2::IfcPipeSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcPipeSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcPlateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[709]); } @@ -3735,7 +3735,7 @@ Ifc4x2::IfcPlateTypeEnum::Value Ifc4x2::IfcPlateTypeEnum::FromString(const std:: } Ifc4x2::IfcPlateTypeEnum::operator Ifc4x2::IfcPlateTypeEnum::Value() const { - return (Ifc4x2::IfcPlateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcPlateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcPreferredSurfaceCurveRepresentation::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[732]); } @@ -3762,7 +3762,7 @@ Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x2::IfcPreferredSurfac } Ifc4x2::IfcPreferredSurfaceCurveRepresentation::operator Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Value() const { - return (Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcProcedureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[743]); } @@ -3789,7 +3789,7 @@ Ifc4x2::IfcProcedureTypeEnum::Value Ifc4x2::IfcProcedureTypeEnum::FromString(con } Ifc4x2::IfcProcedureTypeEnum::operator Ifc4x2::IfcProcedureTypeEnum::Value() const { - return (Ifc4x2::IfcProcedureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcProcedureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcProfileTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[753]); } @@ -3816,7 +3816,7 @@ Ifc4x2::IfcProfileTypeEnum::Value Ifc4x2::IfcProfileTypeEnum::FromString(const s } Ifc4x2::IfcProfileTypeEnum::operator Ifc4x2::IfcProfileTypeEnum::Value() const { - return (Ifc4x2::IfcProfileTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcProfileTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcProjectOrderTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[761]); } @@ -3843,7 +3843,7 @@ Ifc4x2::IfcProjectOrderTypeEnum::Value Ifc4x2::IfcProjectOrderTypeEnum::FromStri } Ifc4x2::IfcProjectOrderTypeEnum::operator Ifc4x2::IfcProjectOrderTypeEnum::Value() const { - return (Ifc4x2::IfcProjectOrderTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcProjectOrderTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcProjectedOrTrueLengthEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[756]); } @@ -3870,7 +3870,7 @@ Ifc4x2::IfcProjectedOrTrueLengthEnum::Value Ifc4x2::IfcProjectedOrTrueLengthEnum } Ifc4x2::IfcProjectedOrTrueLengthEnum::operator Ifc4x2::IfcProjectedOrTrueLengthEnum::Value() const { - return (Ifc4x2::IfcProjectedOrTrueLengthEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcProjectedOrTrueLengthEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcProjectionElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[758]); } @@ -3897,7 +3897,7 @@ Ifc4x2::IfcProjectionElementTypeEnum::Value Ifc4x2::IfcProjectionElementTypeEnum } Ifc4x2::IfcProjectionElementTypeEnum::operator Ifc4x2::IfcProjectionElementTypeEnum::Value() const { - return (Ifc4x2::IfcProjectionElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcProjectionElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcPropertySetTemplateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[776]); } @@ -3924,7 +3924,7 @@ Ifc4x2::IfcPropertySetTemplateTypeEnum::Value Ifc4x2::IfcPropertySetTemplateType } Ifc4x2::IfcPropertySetTemplateTypeEnum::operator Ifc4x2::IfcPropertySetTemplateTypeEnum::Value() const { - return (Ifc4x2::IfcPropertySetTemplateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcPropertySetTemplateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[784]); } @@ -3951,7 +3951,7 @@ Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x2::IfcProtectiveDevi } Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::operator Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value() const { - return (Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcProtectiveDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[786]); } @@ -3978,7 +3978,7 @@ Ifc4x2::IfcProtectiveDeviceTypeEnum::Value Ifc4x2::IfcProtectiveDeviceTypeEnum:: } Ifc4x2::IfcProtectiveDeviceTypeEnum::operator Ifc4x2::IfcProtectiveDeviceTypeEnum::Value() const { - return (Ifc4x2::IfcProtectiveDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcProtectiveDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcPumpTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[790]); } @@ -4005,7 +4005,7 @@ Ifc4x2::IfcPumpTypeEnum::Value Ifc4x2::IfcPumpTypeEnum::FromString(const std::st } Ifc4x2::IfcPumpTypeEnum::operator Ifc4x2::IfcPumpTypeEnum::Value() const { - return (Ifc4x2::IfcPumpTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcPumpTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcRailingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[801]); } @@ -4032,7 +4032,7 @@ Ifc4x2::IfcRailingTypeEnum::Value Ifc4x2::IfcRailingTypeEnum::FromString(const s } Ifc4x2::IfcRailingTypeEnum::operator Ifc4x2::IfcRailingTypeEnum::Value() const { - return (Ifc4x2::IfcRailingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcRailingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcRampFlightTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[805]); } @@ -4059,7 +4059,7 @@ Ifc4x2::IfcRampFlightTypeEnum::Value Ifc4x2::IfcRampFlightTypeEnum::FromString(c } Ifc4x2::IfcRampFlightTypeEnum::operator Ifc4x2::IfcRampFlightTypeEnum::Value() const { - return (Ifc4x2::IfcRampFlightTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcRampFlightTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcRampTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[807]); } @@ -4086,7 +4086,7 @@ Ifc4x2::IfcRampTypeEnum::Value Ifc4x2::IfcRampTypeEnum::FromString(const std::st } Ifc4x2::IfcRampTypeEnum::operator Ifc4x2::IfcRampTypeEnum::Value() const { - return (Ifc4x2::IfcRampTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcRampTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcRecurrenceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[817]); } @@ -4113,7 +4113,7 @@ Ifc4x2::IfcRecurrenceTypeEnum::Value Ifc4x2::IfcRecurrenceTypeEnum::FromString(c } Ifc4x2::IfcRecurrenceTypeEnum::operator Ifc4x2::IfcRecurrenceTypeEnum::Value() const { - return (Ifc4x2::IfcRecurrenceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcRecurrenceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcReferentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[820]); } @@ -4140,7 +4140,7 @@ Ifc4x2::IfcReferentTypeEnum::Value Ifc4x2::IfcReferentTypeEnum::FromString(const } Ifc4x2::IfcReferentTypeEnum::operator Ifc4x2::IfcReferentTypeEnum::Value() const { - return (Ifc4x2::IfcReferentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcReferentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcReflectanceMethodEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[821]); } @@ -4167,7 +4167,7 @@ Ifc4x2::IfcReflectanceMethodEnum::Value Ifc4x2::IfcReflectanceMethodEnum::FromSt } Ifc4x2::IfcReflectanceMethodEnum::operator Ifc4x2::IfcReflectanceMethodEnum::Value() const { - return (Ifc4x2::IfcReflectanceMethodEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcReflectanceMethodEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcReinforcingBarRoleEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[826]); } @@ -4194,7 +4194,7 @@ Ifc4x2::IfcReinforcingBarRoleEnum::Value Ifc4x2::IfcReinforcingBarRoleEnum::From } Ifc4x2::IfcReinforcingBarRoleEnum::operator Ifc4x2::IfcReinforcingBarRoleEnum::Value() const { - return (Ifc4x2::IfcReinforcingBarRoleEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcReinforcingBarRoleEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcReinforcingBarSurfaceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[827]); } @@ -4221,7 +4221,7 @@ Ifc4x2::IfcReinforcingBarSurfaceEnum::Value Ifc4x2::IfcReinforcingBarSurfaceEnum } Ifc4x2::IfcReinforcingBarSurfaceEnum::operator Ifc4x2::IfcReinforcingBarSurfaceEnum::Value() const { - return (Ifc4x2::IfcReinforcingBarSurfaceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcReinforcingBarSurfaceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcReinforcingBarTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[829]); } @@ -4248,7 +4248,7 @@ Ifc4x2::IfcReinforcingBarTypeEnum::Value Ifc4x2::IfcReinforcingBarTypeEnum::From } Ifc4x2::IfcReinforcingBarTypeEnum::operator Ifc4x2::IfcReinforcingBarTypeEnum::Value() const { - return (Ifc4x2::IfcReinforcingBarTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcReinforcingBarTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcReinforcingMeshTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[834]); } @@ -4275,7 +4275,7 @@ Ifc4x2::IfcReinforcingMeshTypeEnum::Value Ifc4x2::IfcReinforcingMeshTypeEnum::Fr } Ifc4x2::IfcReinforcingMeshTypeEnum::operator Ifc4x2::IfcReinforcingMeshTypeEnum::Value() const { - return (Ifc4x2::IfcReinforcingMeshTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcReinforcingMeshTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcRoleEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[900]); } @@ -4302,7 +4302,7 @@ Ifc4x2::IfcRoleEnum::Value Ifc4x2::IfcRoleEnum::FromString(const std::string& s) } Ifc4x2::IfcRoleEnum::operator Ifc4x2::IfcRoleEnum::Value() const { - return (Ifc4x2::IfcRoleEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcRoleEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcRoofTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[903]); } @@ -4329,7 +4329,7 @@ Ifc4x2::IfcRoofTypeEnum::Value Ifc4x2::IfcRoofTypeEnum::FromString(const std::st } Ifc4x2::IfcRoofTypeEnum::operator Ifc4x2::IfcRoofTypeEnum::Value() const { - return (Ifc4x2::IfcRoofTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcRoofTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcSIPrefix::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[941]); } @@ -4356,7 +4356,7 @@ Ifc4x2::IfcSIPrefix::Value Ifc4x2::IfcSIPrefix::FromString(const std::string& s) } Ifc4x2::IfcSIPrefix::operator Ifc4x2::IfcSIPrefix::Value() const { - return (Ifc4x2::IfcSIPrefix::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcSIPrefix::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcSIUnitName::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[944]); } @@ -4383,7 +4383,7 @@ Ifc4x2::IfcSIUnitName::Value Ifc4x2::IfcSIUnitName::FromString(const std::string } Ifc4x2::IfcSIUnitName::operator Ifc4x2::IfcSIUnitName::Value() const { - return (Ifc4x2::IfcSIUnitName::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcSIUnitName::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcSanitaryTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[912]); } @@ -4410,7 +4410,7 @@ Ifc4x2::IfcSanitaryTerminalTypeEnum::Value Ifc4x2::IfcSanitaryTerminalTypeEnum:: } Ifc4x2::IfcSanitaryTerminalTypeEnum::operator Ifc4x2::IfcSanitaryTerminalTypeEnum::Value() const { - return (Ifc4x2::IfcSanitaryTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcSanitaryTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcSectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[922]); } @@ -4437,7 +4437,7 @@ Ifc4x2::IfcSectionTypeEnum::Value Ifc4x2::IfcSectionTypeEnum::FromString(const s } Ifc4x2::IfcSectionTypeEnum::operator Ifc4x2::IfcSectionTypeEnum::Value() const { - return (Ifc4x2::IfcSectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcSectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcSensorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[926]); } @@ -4464,7 +4464,7 @@ Ifc4x2::IfcSensorTypeEnum::Value Ifc4x2::IfcSensorTypeEnum::FromString(const std } Ifc4x2::IfcSensorTypeEnum::operator Ifc4x2::IfcSensorTypeEnum::Value() const { - return (Ifc4x2::IfcSensorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcSensorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcSequenceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[927]); } @@ -4491,7 +4491,7 @@ Ifc4x2::IfcSequenceEnum::Value Ifc4x2::IfcSequenceEnum::FromString(const std::st } Ifc4x2::IfcSequenceEnum::operator Ifc4x2::IfcSequenceEnum::Value() const { - return (Ifc4x2::IfcSequenceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcSequenceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcShadingDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[930]); } @@ -4518,7 +4518,7 @@ Ifc4x2::IfcShadingDeviceTypeEnum::Value Ifc4x2::IfcShadingDeviceTypeEnum::FromSt } Ifc4x2::IfcShadingDeviceTypeEnum::operator Ifc4x2::IfcShadingDeviceTypeEnum::Value() const { - return (Ifc4x2::IfcShadingDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcShadingDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcSimplePropertyTemplateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[939]); } @@ -4545,7 +4545,7 @@ Ifc4x2::IfcSimplePropertyTemplateTypeEnum::Value Ifc4x2::IfcSimplePropertyTempla } Ifc4x2::IfcSimplePropertyTemplateTypeEnum::operator Ifc4x2::IfcSimplePropertyTemplateTypeEnum::Value() const { - return (Ifc4x2::IfcSimplePropertyTemplateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcSimplePropertyTemplateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcSlabTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[950]); } @@ -4572,7 +4572,7 @@ Ifc4x2::IfcSlabTypeEnum::Value Ifc4x2::IfcSlabTypeEnum::FromString(const std::st } Ifc4x2::IfcSlabTypeEnum::operator Ifc4x2::IfcSlabTypeEnum::Value() const { - return (Ifc4x2::IfcSlabTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcSlabTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcSolarDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[954]); } @@ -4599,7 +4599,7 @@ Ifc4x2::IfcSolarDeviceTypeEnum::Value Ifc4x2::IfcSolarDeviceTypeEnum::FromString } Ifc4x2::IfcSolarDeviceTypeEnum::operator Ifc4x2::IfcSolarDeviceTypeEnum::Value() const { - return (Ifc4x2::IfcSolarDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcSolarDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcSpaceHeaterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[966]); } @@ -4626,7 +4626,7 @@ Ifc4x2::IfcSpaceHeaterTypeEnum::Value Ifc4x2::IfcSpaceHeaterTypeEnum::FromString } Ifc4x2::IfcSpaceHeaterTypeEnum::operator Ifc4x2::IfcSpaceHeaterTypeEnum::Value() const { - return (Ifc4x2::IfcSpaceHeaterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcSpaceHeaterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcSpaceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[968]); } @@ -4653,7 +4653,7 @@ Ifc4x2::IfcSpaceTypeEnum::Value Ifc4x2::IfcSpaceTypeEnum::FromString(const std:: } Ifc4x2::IfcSpaceTypeEnum::operator Ifc4x2::IfcSpaceTypeEnum::Value() const { - return (Ifc4x2::IfcSpaceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcSpaceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcSpatialZoneTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[975]); } @@ -4680,7 +4680,7 @@ Ifc4x2::IfcSpatialZoneTypeEnum::Value Ifc4x2::IfcSpatialZoneTypeEnum::FromString } Ifc4x2::IfcSpatialZoneTypeEnum::operator Ifc4x2::IfcSpatialZoneTypeEnum::Value() const { - return (Ifc4x2::IfcSpatialZoneTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcSpatialZoneTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcStackTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[984]); } @@ -4707,7 +4707,7 @@ Ifc4x2::IfcStackTerminalTypeEnum::Value Ifc4x2::IfcStackTerminalTypeEnum::FromSt } Ifc4x2::IfcStackTerminalTypeEnum::operator Ifc4x2::IfcStackTerminalTypeEnum::Value() const { - return (Ifc4x2::IfcStackTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcStackTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcStairFlightTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[988]); } @@ -4734,7 +4734,7 @@ Ifc4x2::IfcStairFlightTypeEnum::Value Ifc4x2::IfcStairFlightTypeEnum::FromString } Ifc4x2::IfcStairFlightTypeEnum::operator Ifc4x2::IfcStairFlightTypeEnum::Value() const { - return (Ifc4x2::IfcStairFlightTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcStairFlightTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcStairTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[990]); } @@ -4761,7 +4761,7 @@ Ifc4x2::IfcStairTypeEnum::Value Ifc4x2::IfcStairTypeEnum::FromString(const std:: } Ifc4x2::IfcStairTypeEnum::operator Ifc4x2::IfcStairTypeEnum::Value() const { - return (Ifc4x2::IfcStairTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcStairTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcStateEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[991]); } @@ -4788,7 +4788,7 @@ Ifc4x2::IfcStateEnum::Value Ifc4x2::IfcStateEnum::FromString(const std::string& } Ifc4x2::IfcStateEnum::operator Ifc4x2::IfcStateEnum::Value() const { - return (Ifc4x2::IfcStateEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcStateEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcStructuralCurveActivityTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[999]); } @@ -4815,7 +4815,7 @@ Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value Ifc4x2::IfcStructuralCurveActi } Ifc4x2::IfcStructuralCurveActivityTypeEnum::operator Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value() const { - return (Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcStructuralCurveMemberTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1002]); } @@ -4842,7 +4842,7 @@ Ifc4x2::IfcStructuralCurveMemberTypeEnum::Value Ifc4x2::IfcStructuralCurveMember } Ifc4x2::IfcStructuralCurveMemberTypeEnum::operator Ifc4x2::IfcStructuralCurveMemberTypeEnum::Value() const { - return (Ifc4x2::IfcStructuralCurveMemberTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcStructuralCurveMemberTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1028]); } @@ -4869,7 +4869,7 @@ Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x2::IfcStructuralSurface } Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::operator Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value() const { - return (Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1031]); } @@ -4896,7 +4896,7 @@ Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x2::IfcStructuralSurfaceMe } Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::operator Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Value() const { - return (Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcSubContractResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1040]); } @@ -4923,7 +4923,7 @@ Ifc4x2::IfcSubContractResourceTypeEnum::Value Ifc4x2::IfcSubContractResourceType } Ifc4x2::IfcSubContractResourceTypeEnum::operator Ifc4x2::IfcSubContractResourceTypeEnum::Value() const { - return (Ifc4x2::IfcSubContractResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcSubContractResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcSurfaceFeatureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1046]); } @@ -4950,7 +4950,7 @@ Ifc4x2::IfcSurfaceFeatureTypeEnum::Value Ifc4x2::IfcSurfaceFeatureTypeEnum::From } Ifc4x2::IfcSurfaceFeatureTypeEnum::operator Ifc4x2::IfcSurfaceFeatureTypeEnum::Value() const { - return (Ifc4x2::IfcSurfaceFeatureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcSurfaceFeatureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcSurfaceSide::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1051]); } @@ -4977,7 +4977,7 @@ Ifc4x2::IfcSurfaceSide::Value Ifc4x2::IfcSurfaceSide::FromString(const std::stri } Ifc4x2::IfcSurfaceSide::operator Ifc4x2::IfcSurfaceSide::Value() const { - return (Ifc4x2::IfcSurfaceSide::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcSurfaceSide::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcSwitchingDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1066]); } @@ -5004,7 +5004,7 @@ Ifc4x2::IfcSwitchingDeviceTypeEnum::Value Ifc4x2::IfcSwitchingDeviceTypeEnum::Fr } Ifc4x2::IfcSwitchingDeviceTypeEnum::operator Ifc4x2::IfcSwitchingDeviceTypeEnum::Value() const { - return (Ifc4x2::IfcSwitchingDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcSwitchingDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcSystemFurnitureElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1070]); } @@ -5031,7 +5031,7 @@ Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value Ifc4x2::IfcSystemFurnitureEleme } Ifc4x2::IfcSystemFurnitureElementTypeEnum::operator Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value() const { - return (Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcTankTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1076]); } @@ -5058,7 +5058,7 @@ Ifc4x2::IfcTankTypeEnum::Value Ifc4x2::IfcTankTypeEnum::FromString(const std::st } Ifc4x2::IfcTankTypeEnum::operator Ifc4x2::IfcTankTypeEnum::Value() const { - return (Ifc4x2::IfcTankTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcTankTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcTaskDurationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1078]); } @@ -5085,7 +5085,7 @@ Ifc4x2::IfcTaskDurationEnum::Value Ifc4x2::IfcTaskDurationEnum::FromString(const } Ifc4x2::IfcTaskDurationEnum::operator Ifc4x2::IfcTaskDurationEnum::Value() const { - return (Ifc4x2::IfcTaskDurationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcTaskDurationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcTaskTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1082]); } @@ -5112,7 +5112,7 @@ Ifc4x2::IfcTaskTypeEnum::Value Ifc4x2::IfcTaskTypeEnum::FromString(const std::st } Ifc4x2::IfcTaskTypeEnum::operator Ifc4x2::IfcTaskTypeEnum::Value() const { - return (Ifc4x2::IfcTaskTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcTaskTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcTendonAnchorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1089]); } @@ -5139,7 +5139,7 @@ Ifc4x2::IfcTendonAnchorTypeEnum::Value Ifc4x2::IfcTendonAnchorTypeEnum::FromStri } Ifc4x2::IfcTendonAnchorTypeEnum::operator Ifc4x2::IfcTendonAnchorTypeEnum::Value() const { - return (Ifc4x2::IfcTendonAnchorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcTendonAnchorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcTendonConduitTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1092]); } @@ -5166,7 +5166,7 @@ Ifc4x2::IfcTendonConduitTypeEnum::Value Ifc4x2::IfcTendonConduitTypeEnum::FromSt } Ifc4x2::IfcTendonConduitTypeEnum::operator Ifc4x2::IfcTendonConduitTypeEnum::Value() const { - return (Ifc4x2::IfcTendonConduitTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcTendonConduitTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcTendonTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1094]); } @@ -5193,7 +5193,7 @@ Ifc4x2::IfcTendonTypeEnum::Value Ifc4x2::IfcTendonTypeEnum::FromString(const std } Ifc4x2::IfcTendonTypeEnum::operator Ifc4x2::IfcTendonTypeEnum::Value() const { - return (Ifc4x2::IfcTendonTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcTendonTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcTextPath::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1104]); } @@ -5220,7 +5220,7 @@ Ifc4x2::IfcTextPath::Value Ifc4x2::IfcTextPath::FromString(const std::string& s) } Ifc4x2::IfcTextPath::operator Ifc4x2::IfcTextPath::Value() const { - return (Ifc4x2::IfcTextPath::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcTextPath::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcTimeSeriesDataTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1126]); } @@ -5247,7 +5247,7 @@ Ifc4x2::IfcTimeSeriesDataTypeEnum::Value Ifc4x2::IfcTimeSeriesDataTypeEnum::From } Ifc4x2::IfcTimeSeriesDataTypeEnum::operator Ifc4x2::IfcTimeSeriesDataTypeEnum::Value() const { - return (Ifc4x2::IfcTimeSeriesDataTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcTimeSeriesDataTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcTransformerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1135]); } @@ -5274,7 +5274,7 @@ Ifc4x2::IfcTransformerTypeEnum::Value Ifc4x2::IfcTransformerTypeEnum::FromString } Ifc4x2::IfcTransformerTypeEnum::operator Ifc4x2::IfcTransformerTypeEnum::Value() const { - return (Ifc4x2::IfcTransformerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcTransformerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcTransitionCode::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1136]); } @@ -5301,7 +5301,7 @@ Ifc4x2::IfcTransitionCode::Value Ifc4x2::IfcTransitionCode::FromString(const std } Ifc4x2::IfcTransitionCode::operator Ifc4x2::IfcTransitionCode::Value() const { - return (Ifc4x2::IfcTransitionCode::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcTransitionCode::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcTransitionCurveType::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1138]); } @@ -5328,7 +5328,7 @@ Ifc4x2::IfcTransitionCurveType::Value Ifc4x2::IfcTransitionCurveType::FromString } Ifc4x2::IfcTransitionCurveType::operator Ifc4x2::IfcTransitionCurveType::Value() const { - return (Ifc4x2::IfcTransitionCurveType::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcTransitionCurveType::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcTransportElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1142]); } @@ -5355,7 +5355,7 @@ Ifc4x2::IfcTransportElementTypeEnum::Value Ifc4x2::IfcTransportElementTypeEnum:: } Ifc4x2::IfcTransportElementTypeEnum::operator Ifc4x2::IfcTransportElementTypeEnum::Value() const { - return (Ifc4x2::IfcTransportElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcTransportElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcTrimmingPreference::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1147]); } @@ -5382,7 +5382,7 @@ Ifc4x2::IfcTrimmingPreference::Value Ifc4x2::IfcTrimmingPreference::FromString(c } Ifc4x2::IfcTrimmingPreference::operator Ifc4x2::IfcTrimmingPreference::Value() const { - return (Ifc4x2::IfcTrimmingPreference::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcTrimmingPreference::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcTubeBundleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1152]); } @@ -5409,7 +5409,7 @@ Ifc4x2::IfcTubeBundleTypeEnum::Value Ifc4x2::IfcTubeBundleTypeEnum::FromString(c } Ifc4x2::IfcTubeBundleTypeEnum::operator Ifc4x2::IfcTubeBundleTypeEnum::Value() const { - return (Ifc4x2::IfcTubeBundleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcTubeBundleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcUnitEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1165]); } @@ -5436,7 +5436,7 @@ Ifc4x2::IfcUnitEnum::Value Ifc4x2::IfcUnitEnum::FromString(const std::string& s) } Ifc4x2::IfcUnitEnum::operator Ifc4x2::IfcUnitEnum::Value() const { - return (Ifc4x2::IfcUnitEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcUnitEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcUnitaryControlElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1160]); } @@ -5463,7 +5463,7 @@ Ifc4x2::IfcUnitaryControlElementTypeEnum::Value Ifc4x2::IfcUnitaryControlElement } Ifc4x2::IfcUnitaryControlElementTypeEnum::operator Ifc4x2::IfcUnitaryControlElementTypeEnum::Value() const { - return (Ifc4x2::IfcUnitaryControlElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcUnitaryControlElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcUnitaryEquipmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1163]); } @@ -5490,7 +5490,7 @@ Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value Ifc4x2::IfcUnitaryEquipmentTypeEnum:: } Ifc4x2::IfcUnitaryEquipmentTypeEnum::operator Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value() const { - return (Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcValveTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1171]); } @@ -5517,7 +5517,7 @@ Ifc4x2::IfcValveTypeEnum::Value Ifc4x2::IfcValveTypeEnum::FromString(const std:: } Ifc4x2::IfcValveTypeEnum::operator Ifc4x2::IfcValveTypeEnum::Value() const { - return (Ifc4x2::IfcValveTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcValveTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcVibrationDamperTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1180]); } @@ -5544,7 +5544,7 @@ Ifc4x2::IfcVibrationDamperTypeEnum::Value Ifc4x2::IfcVibrationDamperTypeEnum::Fr } Ifc4x2::IfcVibrationDamperTypeEnum::operator Ifc4x2::IfcVibrationDamperTypeEnum::Value() const { - return (Ifc4x2::IfcVibrationDamperTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcVibrationDamperTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcVibrationIsolatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1183]); } @@ -5571,7 +5571,7 @@ Ifc4x2::IfcVibrationIsolatorTypeEnum::Value Ifc4x2::IfcVibrationIsolatorTypeEnum } Ifc4x2::IfcVibrationIsolatorTypeEnum::operator Ifc4x2::IfcVibrationIsolatorTypeEnum::Value() const { - return (Ifc4x2::IfcVibrationIsolatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcVibrationIsolatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcVoidingFeatureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1187]); } @@ -5598,7 +5598,7 @@ Ifc4x2::IfcVoidingFeatureTypeEnum::Value Ifc4x2::IfcVoidingFeatureTypeEnum::From } Ifc4x2::IfcVoidingFeatureTypeEnum::operator Ifc4x2::IfcVoidingFeatureTypeEnum::Value() const { - return (Ifc4x2::IfcVoidingFeatureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcVoidingFeatureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcWallTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1194]); } @@ -5625,7 +5625,7 @@ Ifc4x2::IfcWallTypeEnum::Value Ifc4x2::IfcWallTypeEnum::FromString(const std::st } Ifc4x2::IfcWallTypeEnum::operator Ifc4x2::IfcWallTypeEnum::Value() const { - return (Ifc4x2::IfcWallTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcWallTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcWasteTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1200]); } @@ -5652,7 +5652,7 @@ Ifc4x2::IfcWasteTerminalTypeEnum::Value Ifc4x2::IfcWasteTerminalTypeEnum::FromSt } Ifc4x2::IfcWasteTerminalTypeEnum::operator Ifc4x2::IfcWasteTerminalTypeEnum::Value() const { - return (Ifc4x2::IfcWasteTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcWasteTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcWindowPanelOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1203]); } @@ -5679,7 +5679,7 @@ Ifc4x2::IfcWindowPanelOperationEnum::Value Ifc4x2::IfcWindowPanelOperationEnum:: } Ifc4x2::IfcWindowPanelOperationEnum::operator Ifc4x2::IfcWindowPanelOperationEnum::Value() const { - return (Ifc4x2::IfcWindowPanelOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcWindowPanelOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcWindowPanelPositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1204]); } @@ -5706,7 +5706,7 @@ Ifc4x2::IfcWindowPanelPositionEnum::Value Ifc4x2::IfcWindowPanelPositionEnum::Fr } Ifc4x2::IfcWindowPanelPositionEnum::operator Ifc4x2::IfcWindowPanelPositionEnum::Value() const { - return (Ifc4x2::IfcWindowPanelPositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcWindowPanelPositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcWindowStyleConstructionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1208]); } @@ -5733,7 +5733,7 @@ Ifc4x2::IfcWindowStyleConstructionEnum::Value Ifc4x2::IfcWindowStyleConstruction } Ifc4x2::IfcWindowStyleConstructionEnum::operator Ifc4x2::IfcWindowStyleConstructionEnum::Value() const { - return (Ifc4x2::IfcWindowStyleConstructionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcWindowStyleConstructionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcWindowStyleOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1209]); } @@ -5760,7 +5760,7 @@ Ifc4x2::IfcWindowStyleOperationEnum::Value Ifc4x2::IfcWindowStyleOperationEnum:: } Ifc4x2::IfcWindowStyleOperationEnum::operator Ifc4x2::IfcWindowStyleOperationEnum::Value() const { - return (Ifc4x2::IfcWindowStyleOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcWindowStyleOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcWindowTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1211]); } @@ -5787,7 +5787,7 @@ Ifc4x2::IfcWindowTypeEnum::Value Ifc4x2::IfcWindowTypeEnum::FromString(const std } Ifc4x2::IfcWindowTypeEnum::operator Ifc4x2::IfcWindowTypeEnum::Value() const { - return (Ifc4x2::IfcWindowTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcWindowTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcWindowTypePartitioningEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1212]); } @@ -5814,7 +5814,7 @@ Ifc4x2::IfcWindowTypePartitioningEnum::Value Ifc4x2::IfcWindowTypePartitioningEn } Ifc4x2::IfcWindowTypePartitioningEnum::operator Ifc4x2::IfcWindowTypePartitioningEnum::Value() const { - return (Ifc4x2::IfcWindowTypePartitioningEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcWindowTypePartitioningEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcWorkCalendarTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1214]); } @@ -5841,7 +5841,7 @@ Ifc4x2::IfcWorkCalendarTypeEnum::Value Ifc4x2::IfcWorkCalendarTypeEnum::FromStri } Ifc4x2::IfcWorkCalendarTypeEnum::operator Ifc4x2::IfcWorkCalendarTypeEnum::Value() const { - return (Ifc4x2::IfcWorkCalendarTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcWorkCalendarTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcWorkPlanTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1217]); } @@ -5868,7 +5868,7 @@ Ifc4x2::IfcWorkPlanTypeEnum::Value Ifc4x2::IfcWorkPlanTypeEnum::FromString(const } Ifc4x2::IfcWorkPlanTypeEnum::operator Ifc4x2::IfcWorkPlanTypeEnum::Value() const { - return (Ifc4x2::IfcWorkPlanTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcWorkPlanTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x2::IfcWorkScheduleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X2_types[1219]); } @@ -5895,7 +5895,7 @@ Ifc4x2::IfcWorkScheduleTypeEnum::Value Ifc4x2::IfcWorkScheduleTypeEnum::FromStri } Ifc4x2::IfcWorkScheduleTypeEnum::operator Ifc4x2::IfcWorkScheduleTypeEnum::Value() const { - return (Ifc4x2::IfcWorkScheduleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x2::IfcWorkScheduleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::select_type& Ifc4x2::IfcActorSelect::Class() { return *((IfcParse::select_type*)IFC4X2_types[8]); } @@ -6024,928 +6024,928 @@ const IfcParse::type_declaration& Ifc4x2::IfcAbsorbedDoseMeasure::Class() { retu const IfcParse::type_declaration& Ifc4x2::IfcAbsorbedDoseMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[0]); } Ifc4x2::IfcAbsorbedDoseMeasure::IfcAbsorbedDoseMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcAbsorbedDoseMeasure::IfcAbsorbedDoseMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcAbsorbedDoseMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcAbsorbedDoseMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAccelerationMeasure const IfcParse::type_declaration& Ifc4x2::IfcAccelerationMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[1]); } const IfcParse::type_declaration& Ifc4x2::IfcAccelerationMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[1]); } Ifc4x2::IfcAccelerationMeasure::IfcAccelerationMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcAccelerationMeasure::IfcAccelerationMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcAccelerationMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcAccelerationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAmountOfSubstanceMeasure const IfcParse::type_declaration& Ifc4x2::IfcAmountOfSubstanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[40]); } const IfcParse::type_declaration& Ifc4x2::IfcAmountOfSubstanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[40]); } Ifc4x2::IfcAmountOfSubstanceMeasure::IfcAmountOfSubstanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcAmountOfSubstanceMeasure::IfcAmountOfSubstanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcAmountOfSubstanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcAmountOfSubstanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAngularVelocityMeasure const IfcParse::type_declaration& Ifc4x2::IfcAngularVelocityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[43]); } const IfcParse::type_declaration& Ifc4x2::IfcAngularVelocityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[43]); } Ifc4x2::IfcAngularVelocityMeasure::IfcAngularVelocityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcAngularVelocityMeasure::IfcAngularVelocityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcAngularVelocityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcAngularVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcArcIndex const IfcParse::type_declaration& Ifc4x2::IfcArcIndex::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[54]); } const IfcParse::type_declaration& Ifc4x2::IfcArcIndex::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[54]); } Ifc4x2::IfcArcIndex::IfcArcIndex(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcArcIndex::IfcArcIndex(std::vector< int > /*[3:3]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return get_attribute_value(0); } // Function implementations for IfcAreaDensityMeasure const IfcParse::type_declaration& Ifc4x2::IfcAreaDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[55]); } const IfcParse::type_declaration& Ifc4x2::IfcAreaDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[55]); } Ifc4x2::IfcAreaDensityMeasure::IfcAreaDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcAreaDensityMeasure::IfcAreaDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcAreaDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcAreaDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAreaMeasure const IfcParse::type_declaration& Ifc4x2::IfcAreaMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[56]); } const IfcParse::type_declaration& Ifc4x2::IfcAreaMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[56]); } Ifc4x2::IfcAreaMeasure::IfcAreaMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcAreaMeasure::IfcAreaMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcAreaMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcAreaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcBinary const IfcParse::type_declaration& Ifc4x2::IfcBinary::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[78]); } const IfcParse::type_declaration& Ifc4x2::IfcBinary::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[78]); } Ifc4x2::IfcBinary::IfcBinary(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcBinary::IfcBinary(boost::dynamic_bitset<> v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcBinary::operator boost::dynamic_bitset<>() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcBinary::operator boost::dynamic_bitset<>() const { return get_attribute_value(0); } // Function implementations for IfcBoolean const IfcParse::type_declaration& Ifc4x2::IfcBoolean::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[84]); } const IfcParse::type_declaration& Ifc4x2::IfcBoolean::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[84]); } Ifc4x2::IfcBoolean::IfcBoolean(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcBoolean::IfcBoolean(bool v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcBoolean::operator bool() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcBoolean::operator bool() const { return get_attribute_value(0); } // Function implementations for IfcBoxAlignment const IfcParse::type_declaration& Ifc4x2::IfcBoxAlignment::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[98]); } const IfcParse::type_declaration& Ifc4x2::IfcBoxAlignment::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[98]); } Ifc4x2::IfcBoxAlignment::IfcBoxAlignment(IfcEntityInstanceData&& e) : IfcLabel(std::move(e)) { } Ifc4x2::IfcBoxAlignment::IfcBoxAlignment(std::string v) : IfcLabel(v) { } -Ifc4x2::IfcBoxAlignment::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcBoxAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcCardinalPointReference const IfcParse::type_declaration& Ifc4x2::IfcCardinalPointReference::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[140]); } const IfcParse::type_declaration& Ifc4x2::IfcCardinalPointReference::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[140]); } Ifc4x2::IfcCardinalPointReference::IfcCardinalPointReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcCardinalPointReference::IfcCardinalPointReference(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcCardinalPointReference::operator int() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcCardinalPointReference::operator int() const { return get_attribute_value(0); } // Function implementations for IfcComplexNumber const IfcParse::type_declaration& Ifc4x2::IfcComplexNumber::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[184]); } const IfcParse::type_declaration& Ifc4x2::IfcComplexNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[184]); } Ifc4x2::IfcComplexNumber::IfcComplexNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcComplexNumber::IfcComplexNumber(std::vector< double > /*[1:2]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return get_attribute_value(0); } // Function implementations for IfcCompoundPlaneAngleMeasure const IfcParse::type_declaration& Ifc4x2::IfcCompoundPlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[192]); } const IfcParse::type_declaration& Ifc4x2::IfcCompoundPlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[192]); } Ifc4x2::IfcCompoundPlaneAngleMeasure::IfcCompoundPlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcCompoundPlaneAngleMeasure::IfcCompoundPlaneAngleMeasure(std::vector< int > /*[3:4]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return get_attribute_value(0); } // Function implementations for IfcContextDependentMeasure const IfcParse::type_declaration& Ifc4x2::IfcContextDependentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[222]); } const IfcParse::type_declaration& Ifc4x2::IfcContextDependentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[222]); } Ifc4x2::IfcContextDependentMeasure::IfcContextDependentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcContextDependentMeasure::IfcContextDependentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcContextDependentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcContextDependentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCountMeasure const IfcParse::type_declaration& Ifc4x2::IfcCountMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[244]); } const IfcParse::type_declaration& Ifc4x2::IfcCountMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[244]); } Ifc4x2::IfcCountMeasure::IfcCountMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcCountMeasure::IfcCountMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcCountMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcCountMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCurvatureMeasure const IfcParse::type_declaration& Ifc4x2::IfcCurvatureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[259]); } const IfcParse::type_declaration& Ifc4x2::IfcCurvatureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[259]); } Ifc4x2::IfcCurvatureMeasure::IfcCurvatureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcCurvatureMeasure::IfcCurvatureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcCurvatureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcCurvatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDate const IfcParse::type_declaration& Ifc4x2::IfcDate::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[278]); } const IfcParse::type_declaration& Ifc4x2::IfcDate::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[278]); } Ifc4x2::IfcDate::IfcDate(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcDate::IfcDate(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcDate::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcDate::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDateTime const IfcParse::type_declaration& Ifc4x2::IfcDateTime::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[279]); } const IfcParse::type_declaration& Ifc4x2::IfcDateTime::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[279]); } Ifc4x2::IfcDateTime::IfcDateTime(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcDateTime::IfcDateTime(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcDateTime::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcDateTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDayInMonthNumber const IfcParse::type_declaration& Ifc4x2::IfcDayInMonthNumber::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[280]); } const IfcParse::type_declaration& Ifc4x2::IfcDayInMonthNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[280]); } Ifc4x2::IfcDayInMonthNumber::IfcDayInMonthNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcDayInMonthNumber::IfcDayInMonthNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcDayInMonthNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcDayInMonthNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDayInWeekNumber const IfcParse::type_declaration& Ifc4x2::IfcDayInWeekNumber::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[281]); } const IfcParse::type_declaration& Ifc4x2::IfcDayInWeekNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[281]); } Ifc4x2::IfcDayInWeekNumber::IfcDayInWeekNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcDayInWeekNumber::IfcDayInWeekNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcDayInWeekNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcDayInWeekNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDescriptiveMeasure const IfcParse::type_declaration& Ifc4x2::IfcDescriptiveMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[290]); } const IfcParse::type_declaration& Ifc4x2::IfcDescriptiveMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[290]); } Ifc4x2::IfcDescriptiveMeasure::IfcDescriptiveMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcDescriptiveMeasure::IfcDescriptiveMeasure(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcDescriptiveMeasure::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcDescriptiveMeasure::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDimensionCount const IfcParse::type_declaration& Ifc4x2::IfcDimensionCount::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[292]); } const IfcParse::type_declaration& Ifc4x2::IfcDimensionCount::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[292]); } Ifc4x2::IfcDimensionCount::IfcDimensionCount(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcDimensionCount::IfcDimensionCount(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcDimensionCount::operator int() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcDimensionCount::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDoseEquivalentMeasure const IfcParse::type_declaration& Ifc4x2::IfcDoseEquivalentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[331]); } const IfcParse::type_declaration& Ifc4x2::IfcDoseEquivalentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[331]); } Ifc4x2::IfcDoseEquivalentMeasure::IfcDoseEquivalentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcDoseEquivalentMeasure::IfcDoseEquivalentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcDoseEquivalentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcDoseEquivalentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDuration const IfcParse::type_declaration& Ifc4x2::IfcDuration::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[343]); } const IfcParse::type_declaration& Ifc4x2::IfcDuration::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[343]); } Ifc4x2::IfcDuration::IfcDuration(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcDuration::IfcDuration(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcDuration::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcDuration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDynamicViscosityMeasure const IfcParse::type_declaration& Ifc4x2::IfcDynamicViscosityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[344]); } const IfcParse::type_declaration& Ifc4x2::IfcDynamicViscosityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[344]); } Ifc4x2::IfcDynamicViscosityMeasure::IfcDynamicViscosityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcDynamicViscosityMeasure::IfcDynamicViscosityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcDynamicViscosityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcDynamicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCapacitanceMeasure const IfcParse::type_declaration& Ifc4x2::IfcElectricCapacitanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[351]); } const IfcParse::type_declaration& Ifc4x2::IfcElectricCapacitanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[351]); } Ifc4x2::IfcElectricCapacitanceMeasure::IfcElectricCapacitanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcElectricCapacitanceMeasure::IfcElectricCapacitanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcElectricCapacitanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcElectricCapacitanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricChargeMeasure const IfcParse::type_declaration& Ifc4x2::IfcElectricChargeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[352]); } const IfcParse::type_declaration& Ifc4x2::IfcElectricChargeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[352]); } Ifc4x2::IfcElectricChargeMeasure::IfcElectricChargeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcElectricChargeMeasure::IfcElectricChargeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcElectricChargeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcElectricChargeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricConductanceMeasure const IfcParse::type_declaration& Ifc4x2::IfcElectricConductanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[353]); } const IfcParse::type_declaration& Ifc4x2::IfcElectricConductanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[353]); } Ifc4x2::IfcElectricConductanceMeasure::IfcElectricConductanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcElectricConductanceMeasure::IfcElectricConductanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcElectricConductanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcElectricConductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCurrentMeasure const IfcParse::type_declaration& Ifc4x2::IfcElectricCurrentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[354]); } const IfcParse::type_declaration& Ifc4x2::IfcElectricCurrentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[354]); } Ifc4x2::IfcElectricCurrentMeasure::IfcElectricCurrentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcElectricCurrentMeasure::IfcElectricCurrentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcElectricCurrentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcElectricCurrentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricResistanceMeasure const IfcParse::type_declaration& Ifc4x2::IfcElectricResistanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[367]); } const IfcParse::type_declaration& Ifc4x2::IfcElectricResistanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[367]); } Ifc4x2::IfcElectricResistanceMeasure::IfcElectricResistanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcElectricResistanceMeasure::IfcElectricResistanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcElectricResistanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcElectricResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricVoltageMeasure const IfcParse::type_declaration& Ifc4x2::IfcElectricVoltageMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[371]); } const IfcParse::type_declaration& Ifc4x2::IfcElectricVoltageMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[371]); } Ifc4x2::IfcElectricVoltageMeasure::IfcElectricVoltageMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcElectricVoltageMeasure::IfcElectricVoltageMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcElectricVoltageMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcElectricVoltageMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcEnergyMeasure const IfcParse::type_declaration& Ifc4x2::IfcEnergyMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[386]); } const IfcParse::type_declaration& Ifc4x2::IfcEnergyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[386]); } Ifc4x2::IfcEnergyMeasure::IfcEnergyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcEnergyMeasure::IfcEnergyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcEnergyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcEnergyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFontStyle const IfcParse::type_declaration& Ifc4x2::IfcFontStyle::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[464]); } const IfcParse::type_declaration& Ifc4x2::IfcFontStyle::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[464]); } Ifc4x2::IfcFontStyle::IfcFontStyle(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcFontStyle::IfcFontStyle(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcFontStyle::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcFontStyle::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontVariant const IfcParse::type_declaration& Ifc4x2::IfcFontVariant::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[465]); } const IfcParse::type_declaration& Ifc4x2::IfcFontVariant::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[465]); } Ifc4x2::IfcFontVariant::IfcFontVariant(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcFontVariant::IfcFontVariant(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcFontVariant::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcFontVariant::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontWeight const IfcParse::type_declaration& Ifc4x2::IfcFontWeight::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[466]); } const IfcParse::type_declaration& Ifc4x2::IfcFontWeight::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[466]); } Ifc4x2::IfcFontWeight::IfcFontWeight(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcFontWeight::IfcFontWeight(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcFontWeight::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcFontWeight::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcForceMeasure const IfcParse::type_declaration& Ifc4x2::IfcForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[470]); } const IfcParse::type_declaration& Ifc4x2::IfcForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[470]); } Ifc4x2::IfcForceMeasure::IfcForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcForceMeasure::IfcForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFrequencyMeasure const IfcParse::type_declaration& Ifc4x2::IfcFrequencyMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[471]); } const IfcParse::type_declaration& Ifc4x2::IfcFrequencyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[471]); } Ifc4x2::IfcFrequencyMeasure::IfcFrequencyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcFrequencyMeasure::IfcFrequencyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcFrequencyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcGloballyUniqueId const IfcParse::type_declaration& Ifc4x2::IfcGloballyUniqueId::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[487]); } const IfcParse::type_declaration& Ifc4x2::IfcGloballyUniqueId::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[487]); } Ifc4x2::IfcGloballyUniqueId::IfcGloballyUniqueId(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcGloballyUniqueId::IfcGloballyUniqueId(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcGloballyUniqueId::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcGloballyUniqueId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcHeatFluxDensityMeasure const IfcParse::type_declaration& Ifc4x2::IfcHeatFluxDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[500]); } const IfcParse::type_declaration& Ifc4x2::IfcHeatFluxDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[500]); } Ifc4x2::IfcHeatFluxDensityMeasure::IfcHeatFluxDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcHeatFluxDensityMeasure::IfcHeatFluxDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcHeatFluxDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcHeatFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcHeatingValueMeasure const IfcParse::type_declaration& Ifc4x2::IfcHeatingValueMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[501]); } const IfcParse::type_declaration& Ifc4x2::IfcHeatingValueMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[501]); } Ifc4x2::IfcHeatingValueMeasure::IfcHeatingValueMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcHeatingValueMeasure::IfcHeatingValueMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcHeatingValueMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcHeatingValueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIdentifier const IfcParse::type_declaration& Ifc4x2::IfcIdentifier::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[505]); } const IfcParse::type_declaration& Ifc4x2::IfcIdentifier::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[505]); } Ifc4x2::IfcIdentifier::IfcIdentifier(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcIdentifier::IfcIdentifier(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcIdentifier::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcIdentifier::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcIlluminanceMeasure const IfcParse::type_declaration& Ifc4x2::IfcIlluminanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[506]); } const IfcParse::type_declaration& Ifc4x2::IfcIlluminanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[506]); } Ifc4x2::IfcIlluminanceMeasure::IfcIlluminanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcIlluminanceMeasure::IfcIlluminanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcIlluminanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcIlluminanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInductanceMeasure const IfcParse::type_declaration& Ifc4x2::IfcInductanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[514]); } const IfcParse::type_declaration& Ifc4x2::IfcInductanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[514]); } Ifc4x2::IfcInductanceMeasure::IfcInductanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcInductanceMeasure::IfcInductanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcInductanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcInductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInteger const IfcParse::type_declaration& Ifc4x2::IfcInteger::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[515]); } const IfcParse::type_declaration& Ifc4x2::IfcInteger::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[515]); } Ifc4x2::IfcInteger::IfcInteger(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcInteger::IfcInteger(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcInteger::operator int() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIntegerCountRateMeasure const IfcParse::type_declaration& Ifc4x2::IfcIntegerCountRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[516]); } const IfcParse::type_declaration& Ifc4x2::IfcIntegerCountRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[516]); } Ifc4x2::IfcIntegerCountRateMeasure::IfcIntegerCountRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcIntegerCountRateMeasure::IfcIntegerCountRateMeasure(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcIntegerCountRateMeasure::operator int() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcIntegerCountRateMeasure::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIonConcentrationMeasure const IfcParse::type_declaration& Ifc4x2::IfcIonConcentrationMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[524]); } const IfcParse::type_declaration& Ifc4x2::IfcIonConcentrationMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[524]); } Ifc4x2::IfcIonConcentrationMeasure::IfcIonConcentrationMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcIonConcentrationMeasure::IfcIonConcentrationMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcIonConcentrationMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcIonConcentrationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIsothermalMoistureCapacityMeasure const IfcParse::type_declaration& Ifc4x2::IfcIsothermalMoistureCapacityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[528]); } const IfcParse::type_declaration& Ifc4x2::IfcIsothermalMoistureCapacityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[528]); } Ifc4x2::IfcIsothermalMoistureCapacityMeasure::IfcIsothermalMoistureCapacityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcIsothermalMoistureCapacityMeasure::IfcIsothermalMoistureCapacityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcIsothermalMoistureCapacityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcIsothermalMoistureCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcKinematicViscosityMeasure const IfcParse::type_declaration& Ifc4x2::IfcKinematicViscosityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[532]); } const IfcParse::type_declaration& Ifc4x2::IfcKinematicViscosityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[532]); } Ifc4x2::IfcKinematicViscosityMeasure::IfcKinematicViscosityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcKinematicViscosityMeasure::IfcKinematicViscosityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcKinematicViscosityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcKinematicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLabel const IfcParse::type_declaration& Ifc4x2::IfcLabel::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[534]); } const IfcParse::type_declaration& Ifc4x2::IfcLabel::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[534]); } Ifc4x2::IfcLabel::IfcLabel(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcLabel::IfcLabel(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcLabel::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcLabel::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLanguageId const IfcParse::type_declaration& Ifc4x2::IfcLanguageId::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[542]); } const IfcParse::type_declaration& Ifc4x2::IfcLanguageId::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[542]); } Ifc4x2::IfcLanguageId::IfcLanguageId(IfcEntityInstanceData&& e) : IfcIdentifier(std::move(e)) { } Ifc4x2::IfcLanguageId::IfcLanguageId(std::string v) : IfcIdentifier(v) { } -Ifc4x2::IfcLanguageId::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcLanguageId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLengthMeasure const IfcParse::type_declaration& Ifc4x2::IfcLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[545]); } const IfcParse::type_declaration& Ifc4x2::IfcLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[545]); } Ifc4x2::IfcLengthMeasure::IfcLengthMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcLengthMeasure::IfcLengthMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLineIndex const IfcParse::type_declaration& Ifc4x2::IfcLineIndex::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[570]); } const IfcParse::type_declaration& Ifc4x2::IfcLineIndex::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[570]); } Ifc4x2::IfcLineIndex::IfcLineIndex(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcLineIndex::IfcLineIndex(std::vector< int > /*[2:?]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return get_attribute_value(0); } // Function implementations for IfcLinearForceMeasure const IfcParse::type_declaration& Ifc4x2::IfcLinearForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[564]); } const IfcParse::type_declaration& Ifc4x2::IfcLinearForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[564]); } Ifc4x2::IfcLinearForceMeasure::IfcLinearForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcLinearForceMeasure::IfcLinearForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcLinearForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcLinearForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearMomentMeasure const IfcParse::type_declaration& Ifc4x2::IfcLinearMomentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[565]); } const IfcParse::type_declaration& Ifc4x2::IfcLinearMomentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[565]); } Ifc4x2::IfcLinearMomentMeasure::IfcLinearMomentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcLinearMomentMeasure::IfcLinearMomentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcLinearMomentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcLinearMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearStiffnessMeasure const IfcParse::type_declaration& Ifc4x2::IfcLinearStiffnessMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[568]); } const IfcParse::type_declaration& Ifc4x2::IfcLinearStiffnessMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[568]); } Ifc4x2::IfcLinearStiffnessMeasure::IfcLinearStiffnessMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcLinearStiffnessMeasure::IfcLinearStiffnessMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcLinearStiffnessMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcLinearStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearVelocityMeasure const IfcParse::type_declaration& Ifc4x2::IfcLinearVelocityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[569]); } const IfcParse::type_declaration& Ifc4x2::IfcLinearVelocityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[569]); } Ifc4x2::IfcLinearVelocityMeasure::IfcLinearVelocityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcLinearVelocityMeasure::IfcLinearVelocityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcLinearVelocityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcLinearVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLogical const IfcParse::type_declaration& Ifc4x2::IfcLogical::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[574]); } const IfcParse::type_declaration& Ifc4x2::IfcLogical::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[574]); } Ifc4x2::IfcLogical::IfcLogical(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcLogical::IfcLogical(boost::logic::tribool v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcLogical::operator boost::logic::tribool() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcLogical::operator boost::logic::tribool() const { return get_attribute_value(0); } // Function implementations for IfcLuminousFluxMeasure const IfcParse::type_declaration& Ifc4x2::IfcLuminousFluxMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[578]); } const IfcParse::type_declaration& Ifc4x2::IfcLuminousFluxMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[578]); } Ifc4x2::IfcLuminousFluxMeasure::IfcLuminousFluxMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcLuminousFluxMeasure::IfcLuminousFluxMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcLuminousFluxMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcLuminousFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityDistributionMeasure const IfcParse::type_declaration& Ifc4x2::IfcLuminousIntensityDistributionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[579]); } const IfcParse::type_declaration& Ifc4x2::IfcLuminousIntensityDistributionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[579]); } Ifc4x2::IfcLuminousIntensityDistributionMeasure::IfcLuminousIntensityDistributionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcLuminousIntensityDistributionMeasure::IfcLuminousIntensityDistributionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcLuminousIntensityDistributionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcLuminousIntensityDistributionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityMeasure const IfcParse::type_declaration& Ifc4x2::IfcLuminousIntensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[580]); } const IfcParse::type_declaration& Ifc4x2::IfcLuminousIntensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[580]); } Ifc4x2::IfcLuminousIntensityMeasure::IfcLuminousIntensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcLuminousIntensityMeasure::IfcLuminousIntensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcLuminousIntensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcLuminousIntensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxDensityMeasure const IfcParse::type_declaration& Ifc4x2::IfcMagneticFluxDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[581]); } const IfcParse::type_declaration& Ifc4x2::IfcMagneticFluxDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[581]); } Ifc4x2::IfcMagneticFluxDensityMeasure::IfcMagneticFluxDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcMagneticFluxDensityMeasure::IfcMagneticFluxDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcMagneticFluxDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcMagneticFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxMeasure const IfcParse::type_declaration& Ifc4x2::IfcMagneticFluxMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[582]); } const IfcParse::type_declaration& Ifc4x2::IfcMagneticFluxMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[582]); } Ifc4x2::IfcMagneticFluxMeasure::IfcMagneticFluxMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcMagneticFluxMeasure::IfcMagneticFluxMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcMagneticFluxMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcMagneticFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassDensityMeasure const IfcParse::type_declaration& Ifc4x2::IfcMassDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[586]); } const IfcParse::type_declaration& Ifc4x2::IfcMassDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[586]); } Ifc4x2::IfcMassDensityMeasure::IfcMassDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcMassDensityMeasure::IfcMassDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcMassDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcMassDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassFlowRateMeasure const IfcParse::type_declaration& Ifc4x2::IfcMassFlowRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[587]); } const IfcParse::type_declaration& Ifc4x2::IfcMassFlowRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[587]); } Ifc4x2::IfcMassFlowRateMeasure::IfcMassFlowRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcMassFlowRateMeasure::IfcMassFlowRateMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcMassFlowRateMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcMassFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassMeasure const IfcParse::type_declaration& Ifc4x2::IfcMassMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[588]); } const IfcParse::type_declaration& Ifc4x2::IfcMassMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[588]); } Ifc4x2::IfcMassMeasure::IfcMassMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcMassMeasure::IfcMassMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcMassMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassPerLengthMeasure const IfcParse::type_declaration& Ifc4x2::IfcMassPerLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[589]); } const IfcParse::type_declaration& Ifc4x2::IfcMassPerLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[589]); } Ifc4x2::IfcMassPerLengthMeasure::IfcMassPerLengthMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcMassPerLengthMeasure::IfcMassPerLengthMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcMassPerLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcMassPerLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfElasticityMeasure const IfcParse::type_declaration& Ifc4x2::IfcModulusOfElasticityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[625]); } const IfcParse::type_declaration& Ifc4x2::IfcModulusOfElasticityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[625]); } Ifc4x2::IfcModulusOfElasticityMeasure::IfcModulusOfElasticityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcModulusOfElasticityMeasure::IfcModulusOfElasticityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcModulusOfElasticityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcModulusOfElasticityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfLinearSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4x2::IfcModulusOfLinearSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[626]); } const IfcParse::type_declaration& Ifc4x2::IfcModulusOfLinearSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[626]); } Ifc4x2::IfcModulusOfLinearSubgradeReactionMeasure::IfcModulusOfLinearSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcModulusOfLinearSubgradeReactionMeasure::IfcModulusOfLinearSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfRotationalSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4x2::IfcModulusOfRotationalSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[627]); } const IfcParse::type_declaration& Ifc4x2::IfcModulusOfRotationalSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[627]); } Ifc4x2::IfcModulusOfRotationalSubgradeReactionMeasure::IfcModulusOfRotationalSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcModulusOfRotationalSubgradeReactionMeasure::IfcModulusOfRotationalSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4x2::IfcModulusOfSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[629]); } const IfcParse::type_declaration& Ifc4x2::IfcModulusOfSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[629]); } Ifc4x2::IfcModulusOfSubgradeReactionMeasure::IfcModulusOfSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcModulusOfSubgradeReactionMeasure::IfcModulusOfSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcModulusOfSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcModulusOfSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMoistureDiffusivityMeasure const IfcParse::type_declaration& Ifc4x2::IfcMoistureDiffusivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[632]); } const IfcParse::type_declaration& Ifc4x2::IfcMoistureDiffusivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[632]); } Ifc4x2::IfcMoistureDiffusivityMeasure::IfcMoistureDiffusivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcMoistureDiffusivityMeasure::IfcMoistureDiffusivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcMoistureDiffusivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcMoistureDiffusivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMolecularWeightMeasure const IfcParse::type_declaration& Ifc4x2::IfcMolecularWeightMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[633]); } const IfcParse::type_declaration& Ifc4x2::IfcMolecularWeightMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[633]); } Ifc4x2::IfcMolecularWeightMeasure::IfcMolecularWeightMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcMolecularWeightMeasure::IfcMolecularWeightMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcMolecularWeightMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcMolecularWeightMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMomentOfInertiaMeasure const IfcParse::type_declaration& Ifc4x2::IfcMomentOfInertiaMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[634]); } const IfcParse::type_declaration& Ifc4x2::IfcMomentOfInertiaMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[634]); } Ifc4x2::IfcMomentOfInertiaMeasure::IfcMomentOfInertiaMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcMomentOfInertiaMeasure::IfcMomentOfInertiaMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcMomentOfInertiaMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcMomentOfInertiaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonetaryMeasure const IfcParse::type_declaration& Ifc4x2::IfcMonetaryMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[635]); } const IfcParse::type_declaration& Ifc4x2::IfcMonetaryMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[635]); } Ifc4x2::IfcMonetaryMeasure::IfcMonetaryMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcMonetaryMeasure::IfcMonetaryMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcMonetaryMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcMonetaryMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonthInYearNumber const IfcParse::type_declaration& Ifc4x2::IfcMonthInYearNumber::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[637]); } const IfcParse::type_declaration& Ifc4x2::IfcMonthInYearNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[637]); } Ifc4x2::IfcMonthInYearNumber::IfcMonthInYearNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcMonthInYearNumber::IfcMonthInYearNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcMonthInYearNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcMonthInYearNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcNonNegativeLengthMeasure const IfcParse::type_declaration& Ifc4x2::IfcNonNegativeLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[642]); } const IfcParse::type_declaration& Ifc4x2::IfcNonNegativeLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[642]); } Ifc4x2::IfcNonNegativeLengthMeasure::IfcNonNegativeLengthMeasure(IfcEntityInstanceData&& e) : IfcLengthMeasure(std::move(e)) { } Ifc4x2::IfcNonNegativeLengthMeasure::IfcNonNegativeLengthMeasure(double v) : IfcLengthMeasure(v) { } -Ifc4x2::IfcNonNegativeLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcNonNegativeLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNormalisedRatioMeasure const IfcParse::type_declaration& Ifc4x2::IfcNormalisedRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[643]); } const IfcParse::type_declaration& Ifc4x2::IfcNormalisedRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[643]); } Ifc4x2::IfcNormalisedRatioMeasure::IfcNormalisedRatioMeasure(IfcEntityInstanceData&& e) : IfcRatioMeasure(std::move(e)) { } Ifc4x2::IfcNormalisedRatioMeasure::IfcNormalisedRatioMeasure(double v) : IfcRatioMeasure(v) { } -Ifc4x2::IfcNormalisedRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcNormalisedRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNumericMeasure const IfcParse::type_declaration& Ifc4x2::IfcNumericMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[645]); } const IfcParse::type_declaration& Ifc4x2::IfcNumericMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[645]); } Ifc4x2::IfcNumericMeasure::IfcNumericMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcNumericMeasure::IfcNumericMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcNumericMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcNumericMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPHMeasure const IfcParse::type_declaration& Ifc4x2::IfcPHMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[684]); } const IfcParse::type_declaration& Ifc4x2::IfcPHMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[684]); } Ifc4x2::IfcPHMeasure::IfcPHMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcPHMeasure::IfcPHMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcPHMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcPHMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcParameterValue const IfcParse::type_declaration& Ifc4x2::IfcParameterValue::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[673]); } const IfcParse::type_declaration& Ifc4x2::IfcParameterValue::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[673]); } Ifc4x2::IfcParameterValue::IfcParameterValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcParameterValue::IfcParameterValue(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcParameterValue::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcParameterValue::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlanarForceMeasure const IfcParse::type_declaration& Ifc4x2::IfcPlanarForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[703]); } const IfcParse::type_declaration& Ifc4x2::IfcPlanarForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[703]); } Ifc4x2::IfcPlanarForceMeasure::IfcPlanarForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcPlanarForceMeasure::IfcPlanarForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcPlanarForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcPlanarForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlaneAngleMeasure const IfcParse::type_declaration& Ifc4x2::IfcPlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[705]); } const IfcParse::type_declaration& Ifc4x2::IfcPlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[705]); } Ifc4x2::IfcPlaneAngleMeasure::IfcPlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcPlaneAngleMeasure::IfcPlaneAngleMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcPlaneAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcPlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveInteger const IfcParse::type_declaration& Ifc4x2::IfcPositiveInteger::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[720]); } const IfcParse::type_declaration& Ifc4x2::IfcPositiveInteger::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[720]); } Ifc4x2::IfcPositiveInteger::IfcPositiveInteger(IfcEntityInstanceData&& e) : IfcInteger(std::move(e)) { } Ifc4x2::IfcPositiveInteger::IfcPositiveInteger(int v) : IfcInteger(v) { } -Ifc4x2::IfcPositiveInteger::operator int() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcPositiveInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcPositiveLengthMeasure const IfcParse::type_declaration& Ifc4x2::IfcPositiveLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[721]); } const IfcParse::type_declaration& Ifc4x2::IfcPositiveLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[721]); } Ifc4x2::IfcPositiveLengthMeasure::IfcPositiveLengthMeasure(IfcEntityInstanceData&& e) : IfcLengthMeasure(std::move(e)) { } Ifc4x2::IfcPositiveLengthMeasure::IfcPositiveLengthMeasure(double v) : IfcLengthMeasure(v) { } -Ifc4x2::IfcPositiveLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcPositiveLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositivePlaneAngleMeasure const IfcParse::type_declaration& Ifc4x2::IfcPositivePlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[722]); } const IfcParse::type_declaration& Ifc4x2::IfcPositivePlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[722]); } Ifc4x2::IfcPositivePlaneAngleMeasure::IfcPositivePlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcPlaneAngleMeasure(std::move(e)) { } Ifc4x2::IfcPositivePlaneAngleMeasure::IfcPositivePlaneAngleMeasure(double v) : IfcPlaneAngleMeasure(v) { } -Ifc4x2::IfcPositivePlaneAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcPositivePlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveRatioMeasure const IfcParse::type_declaration& Ifc4x2::IfcPositiveRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[723]); } const IfcParse::type_declaration& Ifc4x2::IfcPositiveRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[723]); } Ifc4x2::IfcPositiveRatioMeasure::IfcPositiveRatioMeasure(IfcEntityInstanceData&& e) : IfcRatioMeasure(std::move(e)) { } Ifc4x2::IfcPositiveRatioMeasure::IfcPositiveRatioMeasure(double v) : IfcRatioMeasure(v) { } -Ifc4x2::IfcPositiveRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcPositiveRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPowerMeasure const IfcParse::type_declaration& Ifc4x2::IfcPowerMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[725]); } const IfcParse::type_declaration& Ifc4x2::IfcPowerMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[725]); } Ifc4x2::IfcPowerMeasure::IfcPowerMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcPowerMeasure::IfcPowerMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcPowerMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPresentableText const IfcParse::type_declaration& Ifc4x2::IfcPresentableText::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[733]); } const IfcParse::type_declaration& Ifc4x2::IfcPresentableText::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[733]); } Ifc4x2::IfcPresentableText::IfcPresentableText(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcPresentableText::IfcPresentableText(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcPresentableText::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcPresentableText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcPressureMeasure const IfcParse::type_declaration& Ifc4x2::IfcPressureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[740]); } const IfcParse::type_declaration& Ifc4x2::IfcPressureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[740]); } Ifc4x2::IfcPressureMeasure::IfcPressureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcPressureMeasure::IfcPressureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcPressureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPropertySetDefinitionSet const IfcParse::type_declaration& Ifc4x2::IfcPropertySetDefinitionSet::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[774]); } const IfcParse::type_declaration& Ifc4x2::IfcPropertySetDefinitionSet::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[774]); } Ifc4x2::IfcPropertySetDefinitionSet::IfcPropertySetDefinitionSet(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcPropertySetDefinitionSet::IfcPropertySetDefinitionSet(aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v->generalize()); } -Ifc4x2::IfcPropertySetDefinitionSet::operator aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x2::IfcPropertySetDefinition >(); } +Ifc4x2::IfcPropertySetDefinitionSet::operator aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x2::IfcPropertySetDefinition >(); } // Function implementations for IfcRadioActivityMeasure const IfcParse::type_declaration& Ifc4x2::IfcRadioActivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[798]); } const IfcParse::type_declaration& Ifc4x2::IfcRadioActivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[798]); } Ifc4x2::IfcRadioActivityMeasure::IfcRadioActivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcRadioActivityMeasure::IfcRadioActivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcRadioActivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcRadioActivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRatioMeasure const IfcParse::type_declaration& Ifc4x2::IfcRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[808]); } const IfcParse::type_declaration& Ifc4x2::IfcRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[808]); } Ifc4x2::IfcRatioMeasure::IfcRatioMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcRatioMeasure::IfcRatioMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcReal const IfcParse::type_declaration& Ifc4x2::IfcReal::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[811]); } const IfcParse::type_declaration& Ifc4x2::IfcReal::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[811]); } Ifc4x2::IfcReal::IfcReal(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcReal::IfcReal(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcReal::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcReal::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalFrequencyMeasure const IfcParse::type_declaration& Ifc4x2::IfcRotationalFrequencyMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[905]); } const IfcParse::type_declaration& Ifc4x2::IfcRotationalFrequencyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[905]); } Ifc4x2::IfcRotationalFrequencyMeasure::IfcRotationalFrequencyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcRotationalFrequencyMeasure::IfcRotationalFrequencyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcRotationalFrequencyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcRotationalFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalMassMeasure const IfcParse::type_declaration& Ifc4x2::IfcRotationalMassMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[906]); } const IfcParse::type_declaration& Ifc4x2::IfcRotationalMassMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[906]); } Ifc4x2::IfcRotationalMassMeasure::IfcRotationalMassMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcRotationalMassMeasure::IfcRotationalMassMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcRotationalMassMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcRotationalMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalStiffnessMeasure const IfcParse::type_declaration& Ifc4x2::IfcRotationalStiffnessMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[907]); } const IfcParse::type_declaration& Ifc4x2::IfcRotationalStiffnessMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[907]); } Ifc4x2::IfcRotationalStiffnessMeasure::IfcRotationalStiffnessMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcRotationalStiffnessMeasure::IfcRotationalStiffnessMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcRotationalStiffnessMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcRotationalStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionModulusMeasure const IfcParse::type_declaration& Ifc4x2::IfcSectionModulusMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[919]); } const IfcParse::type_declaration& Ifc4x2::IfcSectionModulusMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[919]); } Ifc4x2::IfcSectionModulusMeasure::IfcSectionModulusMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcSectionModulusMeasure::IfcSectionModulusMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcSectionModulusMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcSectionModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionalAreaIntegralMeasure const IfcParse::type_declaration& Ifc4x2::IfcSectionalAreaIntegralMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[915]); } const IfcParse::type_declaration& Ifc4x2::IfcSectionalAreaIntegralMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[915]); } Ifc4x2::IfcSectionalAreaIntegralMeasure::IfcSectionalAreaIntegralMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcSectionalAreaIntegralMeasure::IfcSectionalAreaIntegralMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcSectionalAreaIntegralMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcSectionalAreaIntegralMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcShearModulusMeasure const IfcParse::type_declaration& Ifc4x2::IfcShearModulusMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[934]); } const IfcParse::type_declaration& Ifc4x2::IfcShearModulusMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[934]); } Ifc4x2::IfcShearModulusMeasure::IfcShearModulusMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcShearModulusMeasure::IfcShearModulusMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcShearModulusMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcShearModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSolidAngleMeasure const IfcParse::type_declaration& Ifc4x2::IfcSolidAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[955]); } const IfcParse::type_declaration& Ifc4x2::IfcSolidAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[955]); } Ifc4x2::IfcSolidAngleMeasure::IfcSolidAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcSolidAngleMeasure::IfcSolidAngleMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcSolidAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcSolidAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerLevelMeasure const IfcParse::type_declaration& Ifc4x2::IfcSoundPowerLevelMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[958]); } const IfcParse::type_declaration& Ifc4x2::IfcSoundPowerLevelMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[958]); } Ifc4x2::IfcSoundPowerLevelMeasure::IfcSoundPowerLevelMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcSoundPowerLevelMeasure::IfcSoundPowerLevelMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcSoundPowerLevelMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcSoundPowerLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerMeasure const IfcParse::type_declaration& Ifc4x2::IfcSoundPowerMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[959]); } const IfcParse::type_declaration& Ifc4x2::IfcSoundPowerMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[959]); } Ifc4x2::IfcSoundPowerMeasure::IfcSoundPowerMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcSoundPowerMeasure::IfcSoundPowerMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcSoundPowerMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcSoundPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureLevelMeasure const IfcParse::type_declaration& Ifc4x2::IfcSoundPressureLevelMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[960]); } const IfcParse::type_declaration& Ifc4x2::IfcSoundPressureLevelMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[960]); } Ifc4x2::IfcSoundPressureLevelMeasure::IfcSoundPressureLevelMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcSoundPressureLevelMeasure::IfcSoundPressureLevelMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcSoundPressureLevelMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcSoundPressureLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureMeasure const IfcParse::type_declaration& Ifc4x2::IfcSoundPressureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[961]); } const IfcParse::type_declaration& Ifc4x2::IfcSoundPressureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[961]); } Ifc4x2::IfcSoundPressureMeasure::IfcSoundPressureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcSoundPressureMeasure::IfcSoundPressureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcSoundPressureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcSoundPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecificHeatCapacityMeasure const IfcParse::type_declaration& Ifc4x2::IfcSpecificHeatCapacityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[976]); } const IfcParse::type_declaration& Ifc4x2::IfcSpecificHeatCapacityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[976]); } Ifc4x2::IfcSpecificHeatCapacityMeasure::IfcSpecificHeatCapacityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcSpecificHeatCapacityMeasure::IfcSpecificHeatCapacityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcSpecificHeatCapacityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcSpecificHeatCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularExponent const IfcParse::type_declaration& Ifc4x2::IfcSpecularExponent::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[977]); } const IfcParse::type_declaration& Ifc4x2::IfcSpecularExponent::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[977]); } Ifc4x2::IfcSpecularExponent::IfcSpecularExponent(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcSpecularExponent::IfcSpecularExponent(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcSpecularExponent::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcSpecularExponent::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularRoughness const IfcParse::type_declaration& Ifc4x2::IfcSpecularRoughness::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[979]); } const IfcParse::type_declaration& Ifc4x2::IfcSpecularRoughness::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[979]); } Ifc4x2::IfcSpecularRoughness::IfcSpecularRoughness(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcSpecularRoughness::IfcSpecularRoughness(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcSpecularRoughness::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcSpecularRoughness::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureGradientMeasure const IfcParse::type_declaration& Ifc4x2::IfcTemperatureGradientMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[1084]); } const IfcParse::type_declaration& Ifc4x2::IfcTemperatureGradientMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[1084]); } Ifc4x2::IfcTemperatureGradientMeasure::IfcTemperatureGradientMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcTemperatureGradientMeasure::IfcTemperatureGradientMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcTemperatureGradientMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcTemperatureGradientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureRateOfChangeMeasure const IfcParse::type_declaration& Ifc4x2::IfcTemperatureRateOfChangeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[1085]); } const IfcParse::type_declaration& Ifc4x2::IfcTemperatureRateOfChangeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[1085]); } Ifc4x2::IfcTemperatureRateOfChangeMeasure::IfcTemperatureRateOfChangeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcTemperatureRateOfChangeMeasure::IfcTemperatureRateOfChangeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcTemperatureRateOfChangeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcTemperatureRateOfChangeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcText const IfcParse::type_declaration& Ifc4x2::IfcText::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[1097]); } const IfcParse::type_declaration& Ifc4x2::IfcText::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[1097]); } Ifc4x2::IfcText::IfcText(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcText::IfcText(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcText::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextAlignment const IfcParse::type_declaration& Ifc4x2::IfcTextAlignment::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[1098]); } const IfcParse::type_declaration& Ifc4x2::IfcTextAlignment::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[1098]); } Ifc4x2::IfcTextAlignment::IfcTextAlignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcTextAlignment::IfcTextAlignment(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcTextAlignment::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcTextAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextDecoration const IfcParse::type_declaration& Ifc4x2::IfcTextDecoration::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[1099]); } const IfcParse::type_declaration& Ifc4x2::IfcTextDecoration::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[1099]); } Ifc4x2::IfcTextDecoration::IfcTextDecoration(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcTextDecoration::IfcTextDecoration(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcTextDecoration::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcTextDecoration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextFontName const IfcParse::type_declaration& Ifc4x2::IfcTextFontName::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[1100]); } const IfcParse::type_declaration& Ifc4x2::IfcTextFontName::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[1100]); } Ifc4x2::IfcTextFontName::IfcTextFontName(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcTextFontName::IfcTextFontName(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcTextFontName::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcTextFontName::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextTransformation const IfcParse::type_declaration& Ifc4x2::IfcTextTransformation::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[1109]); } const IfcParse::type_declaration& Ifc4x2::IfcTextTransformation::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[1109]); } Ifc4x2::IfcTextTransformation::IfcTextTransformation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcTextTransformation::IfcTextTransformation(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcTextTransformation::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcTextTransformation::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcThermalAdmittanceMeasure const IfcParse::type_declaration& Ifc4x2::IfcThermalAdmittanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[1115]); } const IfcParse::type_declaration& Ifc4x2::IfcThermalAdmittanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[1115]); } Ifc4x2::IfcThermalAdmittanceMeasure::IfcThermalAdmittanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcThermalAdmittanceMeasure::IfcThermalAdmittanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcThermalAdmittanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcThermalAdmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalConductivityMeasure const IfcParse::type_declaration& Ifc4x2::IfcThermalConductivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[1116]); } const IfcParse::type_declaration& Ifc4x2::IfcThermalConductivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[1116]); } Ifc4x2::IfcThermalConductivityMeasure::IfcThermalConductivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcThermalConductivityMeasure::IfcThermalConductivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcThermalConductivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcThermalConductivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalExpansionCoefficientMeasure const IfcParse::type_declaration& Ifc4x2::IfcThermalExpansionCoefficientMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[1117]); } const IfcParse::type_declaration& Ifc4x2::IfcThermalExpansionCoefficientMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[1117]); } Ifc4x2::IfcThermalExpansionCoefficientMeasure::IfcThermalExpansionCoefficientMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcThermalExpansionCoefficientMeasure::IfcThermalExpansionCoefficientMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcThermalExpansionCoefficientMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcThermalExpansionCoefficientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalResistanceMeasure const IfcParse::type_declaration& Ifc4x2::IfcThermalResistanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[1118]); } const IfcParse::type_declaration& Ifc4x2::IfcThermalResistanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[1118]); } Ifc4x2::IfcThermalResistanceMeasure::IfcThermalResistanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcThermalResistanceMeasure::IfcThermalResistanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcThermalResistanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcThermalResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalTransmittanceMeasure const IfcParse::type_declaration& Ifc4x2::IfcThermalTransmittanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[1119]); } const IfcParse::type_declaration& Ifc4x2::IfcThermalTransmittanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[1119]); } Ifc4x2::IfcThermalTransmittanceMeasure::IfcThermalTransmittanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcThermalTransmittanceMeasure::IfcThermalTransmittanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcThermalTransmittanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcThermalTransmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermodynamicTemperatureMeasure const IfcParse::type_declaration& Ifc4x2::IfcThermodynamicTemperatureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[1120]); } const IfcParse::type_declaration& Ifc4x2::IfcThermodynamicTemperatureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[1120]); } Ifc4x2::IfcThermodynamicTemperatureMeasure::IfcThermodynamicTemperatureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcThermodynamicTemperatureMeasure::IfcThermodynamicTemperatureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcThermodynamicTemperatureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcThermodynamicTemperatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTime const IfcParse::type_declaration& Ifc4x2::IfcTime::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[1121]); } const IfcParse::type_declaration& Ifc4x2::IfcTime::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[1121]); } Ifc4x2::IfcTime::IfcTime(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcTime::IfcTime(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcTime::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTimeMeasure const IfcParse::type_declaration& Ifc4x2::IfcTimeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[1122]); } const IfcParse::type_declaration& Ifc4x2::IfcTimeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[1122]); } Ifc4x2::IfcTimeMeasure::IfcTimeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcTimeMeasure::IfcTimeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcTimeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcTimeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTimeStamp const IfcParse::type_declaration& Ifc4x2::IfcTimeStamp::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[1128]); } const IfcParse::type_declaration& Ifc4x2::IfcTimeStamp::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[1128]); } Ifc4x2::IfcTimeStamp::IfcTimeStamp(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcTimeStamp::IfcTimeStamp(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcTimeStamp::operator int() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcTimeStamp::operator int() const { return get_attribute_value(0); } // Function implementations for IfcTorqueMeasure const IfcParse::type_declaration& Ifc4x2::IfcTorqueMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[1132]); } const IfcParse::type_declaration& Ifc4x2::IfcTorqueMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[1132]); } Ifc4x2::IfcTorqueMeasure::IfcTorqueMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcTorqueMeasure::IfcTorqueMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcTorqueMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcTorqueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcURIReference const IfcParse::type_declaration& Ifc4x2::IfcURIReference::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[1166]); } const IfcParse::type_declaration& Ifc4x2::IfcURIReference::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[1166]); } Ifc4x2::IfcURIReference::IfcURIReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcURIReference::IfcURIReference(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcURIReference::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcURIReference::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcVaporPermeabilityMeasure const IfcParse::type_declaration& Ifc4x2::IfcVaporPermeabilityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[1172]); } const IfcParse::type_declaration& Ifc4x2::IfcVaporPermeabilityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[1172]); } Ifc4x2::IfcVaporPermeabilityMeasure::IfcVaporPermeabilityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcVaporPermeabilityMeasure::IfcVaporPermeabilityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcVaporPermeabilityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcVaporPermeabilityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumeMeasure const IfcParse::type_declaration& Ifc4x2::IfcVolumeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[1188]); } const IfcParse::type_declaration& Ifc4x2::IfcVolumeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[1188]); } Ifc4x2::IfcVolumeMeasure::IfcVolumeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcVolumeMeasure::IfcVolumeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcVolumeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcVolumeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumetricFlowRateMeasure const IfcParse::type_declaration& Ifc4x2::IfcVolumetricFlowRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[1189]); } const IfcParse::type_declaration& Ifc4x2::IfcVolumetricFlowRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[1189]); } Ifc4x2::IfcVolumetricFlowRateMeasure::IfcVolumetricFlowRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcVolumetricFlowRateMeasure::IfcVolumetricFlowRateMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcVolumetricFlowRateMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcVolumetricFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingConstantMeasure const IfcParse::type_declaration& Ifc4x2::IfcWarpingConstantMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[1195]); } const IfcParse::type_declaration& Ifc4x2::IfcWarpingConstantMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[1195]); } Ifc4x2::IfcWarpingConstantMeasure::IfcWarpingConstantMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcWarpingConstantMeasure::IfcWarpingConstantMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcWarpingConstantMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcWarpingConstantMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingMomentMeasure const IfcParse::type_declaration& Ifc4x2::IfcWarpingMomentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X2_types[1196]); } const IfcParse::type_declaration& Ifc4x2::IfcWarpingMomentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X2_types[1196]); } Ifc4x2::IfcWarpingMomentMeasure::IfcWarpingMomentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x2::IfcWarpingMomentMeasure::IfcWarpingMomentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x2::IfcWarpingMomentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x2::IfcWarpingMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcActionRequest -boost::optional< ::Ifc4x2::IfcActionRequestTypeEnum::Value > Ifc4x2::IfcActionRequest::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x2::IfcActionRequestTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x2::IfcActionRequestTypeEnum::Value > Ifc4x2::IfcActionRequest::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x2::IfcActionRequestTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x2::IfcActionRequest::setPredefinedType(boost::optional< ::Ifc4x2::IfcActionRequestTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x2::IfcActionRequestTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x2::IfcActionRequest::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x2::IfcActionRequest::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x2::IfcActionRequest::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x2::IfcActionRequest::LongDescription() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x2::IfcActionRequest::LongDescription() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x2::IfcActionRequest::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcActionRequest::declaration() const { return *((IfcParse::entity*)IFC4X2_types[2]); } const IfcParse::entity& Ifc4x2::IfcActionRequest::Class() { return *((IfcParse::entity*)IFC4X2_types[2]); } Ifc4x2::IfcActionRequest::IfcActionRequest(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x2::IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x2::IfcActionRequestTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x2::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } +Ifc4x2::IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x2::IfcActionRequestTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x2::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } // Function implementations for IfcActor -::Ifc4x2::IfcActorSelect* Ifc4x2::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcActorSelect>(true); } +::Ifc4x2::IfcActorSelect* Ifc4x2::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcActorSelect>(true); } void Ifc4x2::IfcActor::setTheActor(::Ifc4x2::IfcActorSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc4x2::IfcRelAssignsToActor::list::ptr Ifc4x2::IfcActor::IsActingUpon() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[837], 6)->as(); } @@ -6953,14 +6953,14 @@ void Ifc4x2::IfcActor::setTheActor(::Ifc4x2::IfcActorSelect* v) { set_attribute_ const IfcParse::entity& Ifc4x2::IfcActor::declaration() const { return *((IfcParse::entity*)IFC4X2_types[6]); } const IfcParse::entity& Ifc4x2::IfcActor::Class() { return *((IfcParse::entity*)IFC4X2_types[6]); } Ifc4x2::IfcActor::IfcActor(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x2::IfcActor::IfcActor(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcActorSelect* v6_TheActor) : IfcObject(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcActor::IfcActor(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcActorSelect* v6_TheActor) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcActorRole -::Ifc4x2::IfcRoleEnum::Value Ifc4x2::IfcActorRole::Role() const { return ::Ifc4x2::IfcRoleEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x2::IfcRoleEnum::Value Ifc4x2::IfcActorRole::Role() const { return ::Ifc4x2::IfcRoleEnum::FromString(get_attribute_value(0)); } void Ifc4x2::IfcActorRole::setRole(::Ifc4x2::IfcRoleEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x2::IfcRoleEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x2::IfcActorRole::UserDefinedRole() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x2::IfcActorRole::UserDefinedRole() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcActorRole::setUserDefinedRole(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x2::IfcActorRole::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x2::IfcActorRole::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcActorRole::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x2::IfcExternalReferenceRelationship::list::ptr Ifc4x2::IfcActorRole::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[407], 3)->as(); } @@ -6968,34 +6968,34 @@ void Ifc4x2::IfcActorRole::setDescription(boost::optional< std::string > v) { if const IfcParse::entity& Ifc4x2::IfcActorRole::declaration() const { return *((IfcParse::entity*)IFC4X2_types[7]); } const IfcParse::entity& Ifc4x2::IfcActorRole::Class() { return *((IfcParse::entity*)IFC4X2_types[7]); } Ifc4x2::IfcActorRole::IfcActorRole(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcActorRole::IfcActorRole(::Ifc4x2::IfcRoleEnum::Value v1_Role, boost::optional< std::string > v2_UserDefinedRole, boost::optional< std::string > v3_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } +Ifc4x2::IfcActorRole::IfcActorRole(::Ifc4x2::IfcRoleEnum::Value v1_Role, boost::optional< std::string > v2_UserDefinedRole, boost::optional< std::string > v3_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } // Function implementations for IfcActuator -boost::optional< ::Ifc4x2::IfcActuatorTypeEnum::Value > Ifc4x2::IfcActuator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcActuatorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcActuatorTypeEnum::Value > Ifc4x2::IfcActuator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcActuatorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcActuator::setPredefinedType(boost::optional< ::Ifc4x2::IfcActuatorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcActuatorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcActuator::declaration() const { return *((IfcParse::entity*)IFC4X2_types[9]); } const IfcParse::entity& Ifc4x2::IfcActuator::Class() { return *((IfcParse::entity*)IFC4X2_types[9]); } Ifc4x2::IfcActuator::IfcActuator(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x2::IfcActuator::IfcActuator(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcActuatorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcActuator::IfcActuator(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcActuatorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcActuatorType -::Ifc4x2::IfcActuatorTypeEnum::Value Ifc4x2::IfcActuatorType::PredefinedType() const { return ::Ifc4x2::IfcActuatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcActuatorTypeEnum::Value Ifc4x2::IfcActuatorType::PredefinedType() const { return ::Ifc4x2::IfcActuatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcActuatorType::setPredefinedType(::Ifc4x2::IfcActuatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcActuatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcActuatorType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[10]); } const IfcParse::entity& Ifc4x2::IfcActuatorType::Class() { return *((IfcParse::entity*)IFC4X2_types[10]); } Ifc4x2::IfcActuatorType::IfcActuatorType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x2::IfcActuatorType::IfcActuatorType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcActuatorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcActuatorType::IfcActuatorType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcActuatorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAddress -boost::optional< ::Ifc4x2::IfcAddressTypeEnum::Value > Ifc4x2::IfcAddress::Purpose() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } return ::Ifc4x2::IfcAddressTypeEnum::FromString(data_.get_attribute_value(0)); } +boost::optional< ::Ifc4x2::IfcAddressTypeEnum::Value > Ifc4x2::IfcAddress::Purpose() const { if(get_attribute_value(0).isNull()) { return boost::none; } return ::Ifc4x2::IfcAddressTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x2::IfcAddress::setPurpose(boost::optional< ::Ifc4x2::IfcAddressTypeEnum::Value > v) { if (v) {set_attribute_value(0, EnumerationReference(&::Ifc4x2::IfcAddressTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x2::IfcAddress::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x2::IfcAddress::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcAddress::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x2::IfcAddress::UserDefinedPurpose() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x2::IfcAddress::UserDefinedPurpose() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcAddress::setUserDefinedPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x2::IfcPerson::list::ptr Ifc4x2::IfcAddress::OfPerson() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[682], 7)->as(); } @@ -7004,7 +7004,7 @@ void Ifc4x2::IfcAddress::setUserDefinedPurpose(boost::optional< std::string > v) const IfcParse::entity& Ifc4x2::IfcAddress::declaration() const { return *((IfcParse::entity*)IFC4X2_types[12]); } const IfcParse::entity& Ifc4x2::IfcAddress::Class() { return *((IfcParse::entity*)IFC4X2_types[12]); } Ifc4x2::IfcAddress::IfcAddress(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcAddress::IfcAddress(boost::optional< ::Ifc4x2::IfcAddressTypeEnum::Value > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; populate_derived(); } +Ifc4x2::IfcAddress::IfcAddress(boost::optional< ::Ifc4x2::IfcAddressTypeEnum::Value > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; populate_derived(); } // Function implementations for IfcAdvancedBrep @@ -7012,17 +7012,17 @@ Ifc4x2::IfcAddress::IfcAddress(boost::optional< ::Ifc4x2::IfcAddressTypeEnum::Va const IfcParse::entity& Ifc4x2::IfcAdvancedBrep::declaration() const { return *((IfcParse::entity*)IFC4X2_types[14]); } const IfcParse::entity& Ifc4x2::IfcAdvancedBrep::Class() { return *((IfcParse::entity*)IFC4X2_types[14]); } Ifc4x2::IfcAdvancedBrep::IfcAdvancedBrep(IfcEntityInstanceData&& e) : IfcManifoldSolidBrep(std::move(e)) { } -Ifc4x2::IfcAdvancedBrep::IfcAdvancedBrep(::Ifc4x2::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcAdvancedBrep::IfcAdvancedBrep(::Ifc4x2::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAdvancedBrepWithVoids -aggregate_of< ::Ifc4x2::IfcClosedShell >::ptr Ifc4x2::IfcAdvancedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x2::IfcClosedShell >(); } +aggregate_of< ::Ifc4x2::IfcClosedShell >::ptr Ifc4x2::IfcAdvancedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x2::IfcClosedShell >(); } void Ifc4x2::IfcAdvancedBrepWithVoids::setVoids(aggregate_of< ::Ifc4x2::IfcClosedShell >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcAdvancedBrepWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X2_types[15]); } const IfcParse::entity& Ifc4x2::IfcAdvancedBrepWithVoids::Class() { return *((IfcParse::entity*)IFC4X2_types[15]); } Ifc4x2::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(IfcEntityInstanceData&& e) : IfcAdvancedBrep(std::move(e)) { } -Ifc4x2::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4x2::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x2::IfcClosedShell >::ptr v2_Voids) : IfcAdvancedBrep(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } +Ifc4x2::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4x2::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x2::IfcClosedShell >::ptr v2_Voids) : IfcAdvancedBrep(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } // Function implementations for IfcAdvancedFace @@ -7030,102 +7030,102 @@ Ifc4x2::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4x2::IfcClosedSh const IfcParse::entity& Ifc4x2::IfcAdvancedFace::declaration() const { return *((IfcParse::entity*)IFC4X2_types[16]); } const IfcParse::entity& Ifc4x2::IfcAdvancedFace::Class() { return *((IfcParse::entity*)IFC4X2_types[16]); } Ifc4x2::IfcAdvancedFace::IfcAdvancedFace(IfcEntityInstanceData&& e) : IfcFaceSurface(std::move(e)) { } -Ifc4x2::IfcAdvancedFace::IfcAdvancedFace(aggregate_of< ::Ifc4x2::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x2::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFaceSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } +Ifc4x2::IfcAdvancedFace::IfcAdvancedFace(aggregate_of< ::Ifc4x2::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x2::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFaceSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } // Function implementations for IfcAirTerminal -boost::optional< ::Ifc4x2::IfcAirTerminalTypeEnum::Value > Ifc4x2::IfcAirTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcAirTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcAirTerminalTypeEnum::Value > Ifc4x2::IfcAirTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcAirTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcAirTerminal::setPredefinedType(boost::optional< ::Ifc4x2::IfcAirTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcAirTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcAirTerminal::declaration() const { return *((IfcParse::entity*)IFC4X2_types[17]); } const IfcParse::entity& Ifc4x2::IfcAirTerminal::Class() { return *((IfcParse::entity*)IFC4X2_types[17]); } Ifc4x2::IfcAirTerminal::IfcAirTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x2::IfcAirTerminal::IfcAirTerminal(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcAirTerminal::IfcAirTerminal(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAirTerminalBox -boost::optional< ::Ifc4x2::IfcAirTerminalBoxTypeEnum::Value > Ifc4x2::IfcAirTerminalBox::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcAirTerminalBoxTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcAirTerminalBoxTypeEnum::Value > Ifc4x2::IfcAirTerminalBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcAirTerminalBox::setPredefinedType(boost::optional< ::Ifc4x2::IfcAirTerminalBoxTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcAirTerminalBoxTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcAirTerminalBox::declaration() const { return *((IfcParse::entity*)IFC4X2_types[18]); } const IfcParse::entity& Ifc4x2::IfcAirTerminalBox::Class() { return *((IfcParse::entity*)IFC4X2_types[18]); } Ifc4x2::IfcAirTerminalBox::IfcAirTerminalBox(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x2::IfcAirTerminalBox::IfcAirTerminalBox(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcAirTerminalBox::IfcAirTerminalBox(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAirTerminalBoxType -::Ifc4x2::IfcAirTerminalBoxTypeEnum::Value Ifc4x2::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4x2::IfcAirTerminalBoxTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcAirTerminalBoxTypeEnum::Value Ifc4x2::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4x2::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcAirTerminalBoxType::setPredefinedType(::Ifc4x2::IfcAirTerminalBoxTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcAirTerminalBoxTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcAirTerminalBoxType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[19]); } const IfcParse::entity& Ifc4x2::IfcAirTerminalBoxType::Class() { return *((IfcParse::entity*)IFC4X2_types[19]); } Ifc4x2::IfcAirTerminalBoxType::IfcAirTerminalBoxType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x2::IfcAirTerminalBoxType::IfcAirTerminalBoxType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcAirTerminalBoxType::IfcAirTerminalBoxType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAirTerminalType -::Ifc4x2::IfcAirTerminalTypeEnum::Value Ifc4x2::IfcAirTerminalType::PredefinedType() const { return ::Ifc4x2::IfcAirTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcAirTerminalTypeEnum::Value Ifc4x2::IfcAirTerminalType::PredefinedType() const { return ::Ifc4x2::IfcAirTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcAirTerminalType::setPredefinedType(::Ifc4x2::IfcAirTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcAirTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcAirTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[21]); } const IfcParse::entity& Ifc4x2::IfcAirTerminalType::Class() { return *((IfcParse::entity*)IFC4X2_types[21]); } Ifc4x2::IfcAirTerminalType::IfcAirTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x2::IfcAirTerminalType::IfcAirTerminalType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAirTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcAirTerminalType::IfcAirTerminalType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAirTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAirToAirHeatRecovery -boost::optional< ::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x2::IfcAirToAirHeatRecovery::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x2::IfcAirToAirHeatRecovery::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcAirToAirHeatRecovery::setPredefinedType(boost::optional< ::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcAirToAirHeatRecovery::declaration() const { return *((IfcParse::entity*)IFC4X2_types[23]); } const IfcParse::entity& Ifc4x2::IfcAirToAirHeatRecovery::Class() { return *((IfcParse::entity*)IFC4X2_types[23]); } Ifc4x2::IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x2::IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAirToAirHeatRecoveryType -::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x2::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x2::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcAirToAirHeatRecoveryType::setPredefinedType(::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcAirToAirHeatRecoveryType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[24]); } const IfcParse::entity& Ifc4x2::IfcAirToAirHeatRecoveryType::Class() { return *((IfcParse::entity*)IFC4X2_types[24]); } Ifc4x2::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x2::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlarm -boost::optional< ::Ifc4x2::IfcAlarmTypeEnum::Value > Ifc4x2::IfcAlarm::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcAlarmTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcAlarmTypeEnum::Value > Ifc4x2::IfcAlarm::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcAlarmTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcAlarm::setPredefinedType(boost::optional< ::Ifc4x2::IfcAlarmTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcAlarmTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcAlarm::declaration() const { return *((IfcParse::entity*)IFC4X2_types[26]); } const IfcParse::entity& Ifc4x2::IfcAlarm::Class() { return *((IfcParse::entity*)IFC4X2_types[26]); } Ifc4x2::IfcAlarm::IfcAlarm(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x2::IfcAlarm::IfcAlarm(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcAlarmTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcAlarm::IfcAlarm(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcAlarmTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAlarmType -::Ifc4x2::IfcAlarmTypeEnum::Value Ifc4x2::IfcAlarmType::PredefinedType() const { return ::Ifc4x2::IfcAlarmTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcAlarmTypeEnum::Value Ifc4x2::IfcAlarmType::PredefinedType() const { return ::Ifc4x2::IfcAlarmTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcAlarmType::setPredefinedType(::Ifc4x2::IfcAlarmTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcAlarmTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcAlarmType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[27]); } const IfcParse::entity& Ifc4x2::IfcAlarmType::Class() { return *((IfcParse::entity*)IFC4X2_types[27]); } Ifc4x2::IfcAlarmType::IfcAlarmType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x2::IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAlarmTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAlarmTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlignment -boost::optional< ::Ifc4x2::IfcAlignmentTypeEnum::Value > Ifc4x2::IfcAlignment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcAlignmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcAlignmentTypeEnum::Value > Ifc4x2::IfcAlignment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcAlignmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcAlignment::setPredefinedType(boost::optional< ::Ifc4x2::IfcAlignmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcAlignmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcAlignment::declaration() const { return *((IfcParse::entity*)IFC4X2_types[29]); } const IfcParse::entity& Ifc4x2::IfcAlignment::Class() { return *((IfcParse::entity*)IFC4X2_types[29]); } Ifc4x2::IfcAlignment::IfcAlignment(IfcEntityInstanceData&& e) : IfcLinearPositioningElement(std::move(e)) { } -Ifc4x2::IfcAlignment::IfcAlignment(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcCurve* v8_Axis, boost::optional< ::Ifc4x2::IfcAlignmentTypeEnum::Value > v9_PredefinedType) : IfcLinearPositioningElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_Axis ? v8_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcAlignmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcAlignment::IfcAlignment(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcCurve* v8_Axis, boost::optional< ::Ifc4x2::IfcAlignmentTypeEnum::Value > v9_PredefinedType) : IfcLinearPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_Axis ? v8_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcAlignmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAlignment2DHorizontal -boost::optional< double > Ifc4x2::IfcAlignment2DHorizontal::StartDistAlong() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } double v = data_.get_attribute_value(0); return v; } +boost::optional< double > Ifc4x2::IfcAlignment2DHorizontal::StartDistAlong() const { if(get_attribute_value(0).isNull()) { return boost::none; } double v = get_attribute_value(0); return v; } void Ifc4x2::IfcAlignment2DHorizontal::setStartDistAlong(boost::optional< double > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -aggregate_of< ::Ifc4x2::IfcAlignment2DHorizontalSegment >::ptr Ifc4x2::IfcAlignment2DHorizontal::Segments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x2::IfcAlignment2DHorizontalSegment >(); } +aggregate_of< ::Ifc4x2::IfcAlignment2DHorizontalSegment >::ptr Ifc4x2::IfcAlignment2DHorizontal::Segments() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x2::IfcAlignment2DHorizontalSegment >(); } void Ifc4x2::IfcAlignment2DHorizontal::setSegments(aggregate_of< ::Ifc4x2::IfcAlignment2DHorizontalSegment >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } ::Ifc4x2::IfcAlignmentCurve::list::ptr Ifc4x2::IfcAlignment2DHorizontal::ToAlignmentCurve() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[38], 0)->as(); } @@ -7133,10 +7133,10 @@ void Ifc4x2::IfcAlignment2DHorizontal::setSegments(aggregate_of< ::Ifc4x2::IfcAl const IfcParse::entity& Ifc4x2::IfcAlignment2DHorizontal::declaration() const { return *((IfcParse::entity*)IFC4X2_types[30]); } const IfcParse::entity& Ifc4x2::IfcAlignment2DHorizontal::Class() { return *((IfcParse::entity*)IFC4X2_types[30]); } Ifc4x2::IfcAlignment2DHorizontal::IfcAlignment2DHorizontal(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x2::IfcAlignment2DHorizontal::IfcAlignment2DHorizontal(boost::optional< double > v1_StartDistAlong, aggregate_of< ::Ifc4x2::IfcAlignment2DHorizontalSegment >::ptr v2_Segments) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { if (v1_StartDistAlong) {set_attribute_value(0, (*v1_StartDistAlong)); }set_attribute_value(1, (v2_Segments)->generalize());; populate_derived(); } +Ifc4x2::IfcAlignment2DHorizontal::IfcAlignment2DHorizontal(boost::optional< double > v1_StartDistAlong, aggregate_of< ::Ifc4x2::IfcAlignment2DHorizontalSegment >::ptr v2_Segments) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_StartDistAlong) {set_attribute_value(0, (*v1_StartDistAlong)); }set_attribute_value(1, (v2_Segments)->generalize());; populate_derived(); } // Function implementations for IfcAlignment2DHorizontalSegment -::Ifc4x2::IfcCurveSegment2D* Ifc4x2::IfcAlignment2DHorizontalSegment::CurveGeometry() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcCurveSegment2D>(true); } +::Ifc4x2::IfcCurveSegment2D* Ifc4x2::IfcAlignment2DHorizontalSegment::CurveGeometry() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcCurveSegment2D>(true); } void Ifc4x2::IfcAlignment2DHorizontalSegment::setCurveGeometry(::Ifc4x2::IfcCurveSegment2D* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } ::Ifc4x2::IfcAlignment2DHorizontal::list::ptr Ifc4x2::IfcAlignment2DHorizontalSegment::ToHorizontal() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[30], 1)->as(); } @@ -7144,33 +7144,33 @@ void Ifc4x2::IfcAlignment2DHorizontalSegment::setCurveGeometry(::Ifc4x2::IfcCurv const IfcParse::entity& Ifc4x2::IfcAlignment2DHorizontalSegment::declaration() const { return *((IfcParse::entity*)IFC4X2_types[31]); } const IfcParse::entity& Ifc4x2::IfcAlignment2DHorizontalSegment::Class() { return *((IfcParse::entity*)IFC4X2_types[31]); } Ifc4x2::IfcAlignment2DHorizontalSegment::IfcAlignment2DHorizontalSegment(IfcEntityInstanceData&& e) : IfcAlignment2DSegment(std::move(e)) { } -Ifc4x2::IfcAlignment2DHorizontalSegment::IfcAlignment2DHorizontalSegment(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, ::Ifc4x2::IfcCurveSegment2D* v4_CurveGeometry) : IfcAlignment2DSegment(IfcEntityInstanceData(storage_t(4))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, v4_CurveGeometry ? v4_CurveGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcAlignment2DHorizontalSegment::IfcAlignment2DHorizontalSegment(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, ::Ifc4x2::IfcCurveSegment2D* v4_CurveGeometry) : IfcAlignment2DSegment(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, v4_CurveGeometry ? v4_CurveGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAlignment2DSegment -boost::optional< bool > Ifc4x2::IfcAlignment2DSegment::TangentialContinuity() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } bool v = data_.get_attribute_value(0); return v; } +boost::optional< bool > Ifc4x2::IfcAlignment2DSegment::TangentialContinuity() const { if(get_attribute_value(0).isNull()) { return boost::none; } bool v = get_attribute_value(0); return v; } void Ifc4x2::IfcAlignment2DSegment::setTangentialContinuity(boost::optional< bool > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x2::IfcAlignment2DSegment::StartTag() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x2::IfcAlignment2DSegment::StartTag() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcAlignment2DSegment::setStartTag(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x2::IfcAlignment2DSegment::EndTag() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x2::IfcAlignment2DSegment::EndTag() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcAlignment2DSegment::setEndTag(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x2::IfcAlignment2DSegment::declaration() const { return *((IfcParse::entity*)IFC4X2_types[32]); } const IfcParse::entity& Ifc4x2::IfcAlignment2DSegment::Class() { return *((IfcParse::entity*)IFC4X2_types[32]); } Ifc4x2::IfcAlignment2DSegment::IfcAlignment2DSegment(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x2::IfcAlignment2DSegment::IfcAlignment2DSegment(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }; populate_derived(); } +Ifc4x2::IfcAlignment2DSegment::IfcAlignment2DSegment(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }; populate_derived(); } // Function implementations for IfcAlignment2DVerSegCircularArc -double Ifc4x2::IfcAlignment2DVerSegCircularArc::Radius() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x2::IfcAlignment2DVerSegCircularArc::Radius() const { double v = get_attribute_value(7); return v; } void Ifc4x2::IfcAlignment2DVerSegCircularArc::setRadius(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -bool Ifc4x2::IfcAlignment2DVerSegCircularArc::IsConvex() const { bool v = data_.get_attribute_value(8); return v; } +bool Ifc4x2::IfcAlignment2DVerSegCircularArc::IsConvex() const { bool v = get_attribute_value(8); return v; } void Ifc4x2::IfcAlignment2DVerSegCircularArc::setIsConvex(bool v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x2::IfcAlignment2DVerSegCircularArc::declaration() const { return *((IfcParse::entity*)IFC4X2_types[33]); } const IfcParse::entity& Ifc4x2::IfcAlignment2DVerSegCircularArc::Class() { return *((IfcParse::entity*)IFC4X2_types[33]); } Ifc4x2::IfcAlignment2DVerSegCircularArc::IfcAlignment2DVerSegCircularArc(IfcEntityInstanceData&& e) : IfcAlignment2DVerticalSegment(std::move(e)) { } -Ifc4x2::IfcAlignment2DVerSegCircularArc::IfcAlignment2DVerSegCircularArc(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_Radius, bool v9_IsConvex) : IfcAlignment2DVerticalSegment(IfcEntityInstanceData(storage_t(9))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));set_attribute_value(7, (v8_Radius));set_attribute_value(8, (v9_IsConvex));; populate_derived(); } +Ifc4x2::IfcAlignment2DVerSegCircularArc::IfcAlignment2DVerSegCircularArc(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_Radius, bool v9_IsConvex) : IfcAlignment2DVerticalSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));set_attribute_value(7, (v8_Radius));set_attribute_value(8, (v9_IsConvex));; populate_derived(); } // Function implementations for IfcAlignment2DVerSegLine @@ -7178,22 +7178,22 @@ Ifc4x2::IfcAlignment2DVerSegCircularArc::IfcAlignment2DVerSegCircularArc(boost:: const IfcParse::entity& Ifc4x2::IfcAlignment2DVerSegLine::declaration() const { return *((IfcParse::entity*)IFC4X2_types[34]); } const IfcParse::entity& Ifc4x2::IfcAlignment2DVerSegLine::Class() { return *((IfcParse::entity*)IFC4X2_types[34]); } Ifc4x2::IfcAlignment2DVerSegLine::IfcAlignment2DVerSegLine(IfcEntityInstanceData&& e) : IfcAlignment2DVerticalSegment(std::move(e)) { } -Ifc4x2::IfcAlignment2DVerSegLine::IfcAlignment2DVerSegLine(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient) : IfcAlignment2DVerticalSegment(IfcEntityInstanceData(storage_t(7))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));; populate_derived(); } +Ifc4x2::IfcAlignment2DVerSegLine::IfcAlignment2DVerSegLine(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient) : IfcAlignment2DVerticalSegment(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));; populate_derived(); } // Function implementations for IfcAlignment2DVerSegParabolicArc -double Ifc4x2::IfcAlignment2DVerSegParabolicArc::ParabolaConstant() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x2::IfcAlignment2DVerSegParabolicArc::ParabolaConstant() const { double v = get_attribute_value(7); return v; } void Ifc4x2::IfcAlignment2DVerSegParabolicArc::setParabolaConstant(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -bool Ifc4x2::IfcAlignment2DVerSegParabolicArc::IsConvex() const { bool v = data_.get_attribute_value(8); return v; } +bool Ifc4x2::IfcAlignment2DVerSegParabolicArc::IsConvex() const { bool v = get_attribute_value(8); return v; } void Ifc4x2::IfcAlignment2DVerSegParabolicArc::setIsConvex(bool v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x2::IfcAlignment2DVerSegParabolicArc::declaration() const { return *((IfcParse::entity*)IFC4X2_types[35]); } const IfcParse::entity& Ifc4x2::IfcAlignment2DVerSegParabolicArc::Class() { return *((IfcParse::entity*)IFC4X2_types[35]); } Ifc4x2::IfcAlignment2DVerSegParabolicArc::IfcAlignment2DVerSegParabolicArc(IfcEntityInstanceData&& e) : IfcAlignment2DVerticalSegment(std::move(e)) { } -Ifc4x2::IfcAlignment2DVerSegParabolicArc::IfcAlignment2DVerSegParabolicArc(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_ParabolaConstant, bool v9_IsConvex) : IfcAlignment2DVerticalSegment(IfcEntityInstanceData(storage_t(9))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));set_attribute_value(7, (v8_ParabolaConstant));set_attribute_value(8, (v9_IsConvex));; populate_derived(); } +Ifc4x2::IfcAlignment2DVerSegParabolicArc::IfcAlignment2DVerSegParabolicArc(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_ParabolaConstant, bool v9_IsConvex) : IfcAlignment2DVerticalSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));set_attribute_value(7, (v8_ParabolaConstant));set_attribute_value(8, (v9_IsConvex));; populate_derived(); } // Function implementations for IfcAlignment2DVertical -aggregate_of< ::Ifc4x2::IfcAlignment2DVerticalSegment >::ptr Ifc4x2::IfcAlignment2DVertical::Segments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x2::IfcAlignment2DVerticalSegment >(); } +aggregate_of< ::Ifc4x2::IfcAlignment2DVerticalSegment >::ptr Ifc4x2::IfcAlignment2DVertical::Segments() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x2::IfcAlignment2DVerticalSegment >(); } void Ifc4x2::IfcAlignment2DVertical::setSegments(aggregate_of< ::Ifc4x2::IfcAlignment2DVerticalSegment >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } ::Ifc4x2::IfcAlignmentCurve::list::ptr Ifc4x2::IfcAlignment2DVertical::ToAlignmentCurve() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[38], 1)->as(); } @@ -7201,16 +7201,16 @@ void Ifc4x2::IfcAlignment2DVertical::setSegments(aggregate_of< ::Ifc4x2::IfcAlig const IfcParse::entity& Ifc4x2::IfcAlignment2DVertical::declaration() const { return *((IfcParse::entity*)IFC4X2_types[36]); } const IfcParse::entity& Ifc4x2::IfcAlignment2DVertical::Class() { return *((IfcParse::entity*)IFC4X2_types[36]); } Ifc4x2::IfcAlignment2DVertical::IfcAlignment2DVertical(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x2::IfcAlignment2DVertical::IfcAlignment2DVertical(aggregate_of< ::Ifc4x2::IfcAlignment2DVerticalSegment >::ptr v1_Segments) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Segments)->generalize());; populate_derived(); } +Ifc4x2::IfcAlignment2DVertical::IfcAlignment2DVertical(aggregate_of< ::Ifc4x2::IfcAlignment2DVerticalSegment >::ptr v1_Segments) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Segments)->generalize());; populate_derived(); } // Function implementations for IfcAlignment2DVerticalSegment -double Ifc4x2::IfcAlignment2DVerticalSegment::StartDistAlong() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x2::IfcAlignment2DVerticalSegment::StartDistAlong() const { double v = get_attribute_value(3); return v; } void Ifc4x2::IfcAlignment2DVerticalSegment::setStartDistAlong(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x2::IfcAlignment2DVerticalSegment::HorizontalLength() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x2::IfcAlignment2DVerticalSegment::HorizontalLength() const { double v = get_attribute_value(4); return v; } void Ifc4x2::IfcAlignment2DVerticalSegment::setHorizontalLength(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x2::IfcAlignment2DVerticalSegment::StartHeight() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x2::IfcAlignment2DVerticalSegment::StartHeight() const { double v = get_attribute_value(5); return v; } void Ifc4x2::IfcAlignment2DVerticalSegment::setStartHeight(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x2::IfcAlignment2DVerticalSegment::StartGradient() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x2::IfcAlignment2DVerticalSegment::StartGradient() const { double v = get_attribute_value(6); return v; } void Ifc4x2::IfcAlignment2DVerticalSegment::setStartGradient(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } ::Ifc4x2::IfcAlignment2DVertical::list::ptr Ifc4x2::IfcAlignment2DVerticalSegment::ToVertical() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[36], 0)->as(); } @@ -7218,21 +7218,21 @@ void Ifc4x2::IfcAlignment2DVerticalSegment::setStartGradient(double v) { set_att const IfcParse::entity& Ifc4x2::IfcAlignment2DVerticalSegment::declaration() const { return *((IfcParse::entity*)IFC4X2_types[37]); } const IfcParse::entity& Ifc4x2::IfcAlignment2DVerticalSegment::Class() { return *((IfcParse::entity*)IFC4X2_types[37]); } Ifc4x2::IfcAlignment2DVerticalSegment::IfcAlignment2DVerticalSegment(IfcEntityInstanceData&& e) : IfcAlignment2DSegment(std::move(e)) { } -Ifc4x2::IfcAlignment2DVerticalSegment::IfcAlignment2DVerticalSegment(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient) : IfcAlignment2DSegment(IfcEntityInstanceData(storage_t(7))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));; populate_derived(); } +Ifc4x2::IfcAlignment2DVerticalSegment::IfcAlignment2DVerticalSegment(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient) : IfcAlignment2DSegment(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));; populate_derived(); } // Function implementations for IfcAlignmentCurve -::Ifc4x2::IfcAlignment2DHorizontal* Ifc4x2::IfcAlignmentCurve::Horizontal() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcAlignment2DHorizontal>(true); } +::Ifc4x2::IfcAlignment2DHorizontal* Ifc4x2::IfcAlignmentCurve::Horizontal() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcAlignment2DHorizontal>(true); } void Ifc4x2::IfcAlignmentCurve::setHorizontal(::Ifc4x2::IfcAlignment2DHorizontal* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcAlignment2DVertical* Ifc4x2::IfcAlignmentCurve::Vertical() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcAlignment2DVertical>(true); } +::Ifc4x2::IfcAlignment2DVertical* Ifc4x2::IfcAlignmentCurve::Vertical() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcAlignment2DVertical>(true); } void Ifc4x2::IfcAlignmentCurve::setVertical(::Ifc4x2::IfcAlignment2DVertical* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x2::IfcAlignmentCurve::Tag() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x2::IfcAlignmentCurve::Tag() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcAlignmentCurve::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x2::IfcAlignmentCurve::declaration() const { return *((IfcParse::entity*)IFC4X2_types[38]); } const IfcParse::entity& Ifc4x2::IfcAlignmentCurve::Class() { return *((IfcParse::entity*)IFC4X2_types[38]); } Ifc4x2::IfcAlignmentCurve::IfcAlignmentCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x2::IfcAlignmentCurve::IfcAlignmentCurve(::Ifc4x2::IfcAlignment2DHorizontal* v1_Horizontal, ::Ifc4x2::IfcAlignment2DVertical* v2_Vertical, boost::optional< std::string > v3_Tag) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Horizontal ? v1_Horizontal->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Vertical ? v2_Vertical->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; populate_derived(); } +Ifc4x2::IfcAlignmentCurve::IfcAlignmentCurve(::Ifc4x2::IfcAlignment2DHorizontal* v1_Horizontal, ::Ifc4x2::IfcAlignment2DVertical* v2_Vertical, boost::optional< std::string > v3_Tag) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Horizontal ? v1_Horizontal->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Vertical ? v2_Vertical->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; populate_derived(); } // Function implementations for IfcAnnotation @@ -7241,56 +7241,56 @@ Ifc4x2::IfcAlignmentCurve::IfcAlignmentCurve(::Ifc4x2::IfcAlignment2DHorizontal* const IfcParse::entity& Ifc4x2::IfcAnnotation::declaration() const { return *((IfcParse::entity*)IFC4X2_types[44]); } const IfcParse::entity& Ifc4x2::IfcAnnotation::Class() { return *((IfcParse::entity*)IFC4X2_types[44]); } Ifc4x2::IfcAnnotation::IfcAnnotation(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x2::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAnnotationFillArea -::Ifc4x2::IfcCurve* Ifc4x2::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcCurve>(true); } +::Ifc4x2::IfcCurve* Ifc4x2::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcAnnotationFillArea::setOuterBoundary(::Ifc4x2::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< aggregate_of< ::Ifc4x2::IfcCurve >::ptr > Ifc4x2::IfcAnnotationFillArea::InnerBoundaries() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x2::IfcCurve >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcCurve >::ptr > Ifc4x2::IfcAnnotationFillArea::InnerBoundaries() const { if(get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x2::IfcCurve >(); } void Ifc4x2::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc4x2::IfcCurve >::ptr > v) { if (v) {set_attribute_value(1, (*v)->generalize());} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x2::IfcAnnotationFillArea::declaration() const { return *((IfcParse::entity*)IFC4X2_types[45]); } const IfcParse::entity& Ifc4x2::IfcAnnotationFillArea::Class() { return *((IfcParse::entity*)IFC4X2_types[45]); } Ifc4x2::IfcAnnotationFillArea::IfcAnnotationFillArea(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x2::IfcAnnotationFillArea::IfcAnnotationFillArea(::Ifc4x2::IfcCurve* v1_OuterBoundary, boost::optional< aggregate_of< ::Ifc4x2::IfcCurve >::ptr > v2_InnerBoundaries) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_OuterBoundary ? v1_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_InnerBoundaries) {set_attribute_value(1, (*v2_InnerBoundaries)->generalize()); }; populate_derived(); } +Ifc4x2::IfcAnnotationFillArea::IfcAnnotationFillArea(::Ifc4x2::IfcCurve* v1_OuterBoundary, boost::optional< aggregate_of< ::Ifc4x2::IfcCurve >::ptr > v2_InnerBoundaries) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_OuterBoundary ? v1_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_InnerBoundaries) {set_attribute_value(1, (*v2_InnerBoundaries)->generalize()); }; populate_derived(); } // Function implementations for IfcApplication -::Ifc4x2::IfcOrganization* Ifc4x2::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcOrganization>(true); } +::Ifc4x2::IfcOrganization* Ifc4x2::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcOrganization>(true); } void Ifc4x2::IfcApplication::setApplicationDeveloper(::Ifc4x2::IfcOrganization* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x2::IfcApplication::Version() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x2::IfcApplication::Version() const { std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcApplication::setVersion(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::string Ifc4x2::IfcApplication::ApplicationFullName() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x2::IfcApplication::ApplicationFullName() const { std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcApplication::setApplicationFullName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::string Ifc4x2::IfcApplication::ApplicationIdentifier() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x2::IfcApplication::ApplicationIdentifier() const { std::string v = get_attribute_value(3); return v; } void Ifc4x2::IfcApplication::setApplicationIdentifier(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x2::IfcApplication::declaration() const { return *((IfcParse::entity*)IFC4X2_types[46]); } const IfcParse::entity& Ifc4x2::IfcApplication::Class() { return *((IfcParse::entity*)IFC4X2_types[46]); } Ifc4x2::IfcApplication::IfcApplication(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcApplication::IfcApplication(::Ifc4x2::IfcOrganization* v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ApplicationDeveloper ? v1_ApplicationDeveloper->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; populate_derived(); } +Ifc4x2::IfcApplication::IfcApplication(::Ifc4x2::IfcOrganization* v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ApplicationDeveloper ? v1_ApplicationDeveloper->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; populate_derived(); } // Function implementations for IfcAppliedValue -boost::optional< std::string > Ifc4x2::IfcAppliedValue::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x2::IfcAppliedValue::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcAppliedValue::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x2::IfcAppliedValue::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x2::IfcAppliedValue::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcAppliedValue::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x2::IfcAppliedValueSelect* Ifc4x2::IfcAppliedValue::AppliedValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcAppliedValueSelect>(true); } +::Ifc4x2::IfcAppliedValueSelect* Ifc4x2::IfcAppliedValue::AppliedValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcAppliedValueSelect>(true); } void Ifc4x2::IfcAppliedValue::setAppliedValue(::Ifc4x2::IfcAppliedValueSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcMeasureWithUnit* Ifc4x2::IfcAppliedValue::UnitBasis() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcMeasureWithUnit>(true); } +::Ifc4x2::IfcMeasureWithUnit* Ifc4x2::IfcAppliedValue::UnitBasis() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcMeasureWithUnit>(true); } void Ifc4x2::IfcAppliedValue::setUnitBasis(::Ifc4x2::IfcMeasureWithUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x2::IfcAppliedValue::ApplicableDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x2::IfcAppliedValue::ApplicableDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcAppliedValue::setApplicableDate(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x2::IfcAppliedValue::FixedUntilDate() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x2::IfcAppliedValue::FixedUntilDate() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcAppliedValue::setFixedUntilDate(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x2::IfcAppliedValue::Category() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x2::IfcAppliedValue::Category() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x2::IfcAppliedValue::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x2::IfcAppliedValue::Condition() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x2::IfcAppliedValue::Condition() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x2::IfcAppliedValue::setCondition(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x2::IfcArithmeticOperatorEnum::Value > Ifc4x2::IfcAppliedValue::ArithmeticOperator() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcArithmeticOperatorEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcArithmeticOperatorEnum::Value > Ifc4x2::IfcAppliedValue::ArithmeticOperator() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcArithmeticOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcAppliedValue::setArithmeticOperator(boost::optional< ::Ifc4x2::IfcArithmeticOperatorEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcArithmeticOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > Ifc4x2::IfcAppliedValue::Components() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x2::IfcAppliedValue >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > Ifc4x2::IfcAppliedValue::Components() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x2::IfcAppliedValue >(); } void Ifc4x2::IfcAppliedValue::setComponents(boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } ::Ifc4x2::IfcExternalReferenceRelationship::list::ptr Ifc4x2::IfcAppliedValue::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[407], 3)->as(); } @@ -7298,26 +7298,26 @@ void Ifc4x2::IfcAppliedValue::setComponents(boost::optional< aggregate_of< ::Ifc const IfcParse::entity& Ifc4x2::IfcAppliedValue::declaration() const { return *((IfcParse::entity*)IFC4X2_types[47]); } const IfcParse::entity& Ifc4x2::IfcAppliedValue::Class() { return *((IfcParse::entity*)IFC4X2_types[47]); } Ifc4x2::IfcAppliedValue::IfcAppliedValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x2::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< ::Ifc4x2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v10_Components) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } +Ifc4x2::IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x2::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< ::Ifc4x2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v10_Components) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } // Function implementations for IfcApproval -boost::optional< std::string > Ifc4x2::IfcApproval::Identifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x2::IfcApproval::Identifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcApproval::setIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x2::IfcApproval::Name() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x2::IfcApproval::Name() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcApproval::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x2::IfcApproval::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x2::IfcApproval::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcApproval::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x2::IfcApproval::TimeOfApproval() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x2::IfcApproval::TimeOfApproval() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x2::IfcApproval::setTimeOfApproval(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x2::IfcApproval::Status() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x2::IfcApproval::Status() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcApproval::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x2::IfcApproval::Level() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x2::IfcApproval::Level() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcApproval::setLevel(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x2::IfcApproval::Qualifier() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x2::IfcApproval::Qualifier() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x2::IfcApproval::setQualifier(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x2::IfcActorSelect* Ifc4x2::IfcApproval::RequestingApproval() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x2::IfcActorSelect>(true); } +::Ifc4x2::IfcActorSelect* Ifc4x2::IfcApproval::RequestingApproval() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x2::IfcActorSelect>(true); } void Ifc4x2::IfcApproval::setRequestingApproval(::Ifc4x2::IfcActorSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x2::IfcActorSelect* Ifc4x2::IfcApproval::GivingApproval() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x2::IfcActorSelect>(true); } +::Ifc4x2::IfcActorSelect* Ifc4x2::IfcApproval::GivingApproval() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x2::IfcActorSelect>(true); } void Ifc4x2::IfcApproval::setGivingApproval(::Ifc4x2::IfcActorSelect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } ::Ifc4x2::IfcExternalReferenceRelationship::list::ptr Ifc4x2::IfcApproval::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[407], 3)->as(); } @@ -7329,241 +7329,241 @@ void Ifc4x2::IfcApproval::setGivingApproval(::Ifc4x2::IfcActorSelect* v) { set_a const IfcParse::entity& Ifc4x2::IfcApproval::declaration() const { return *((IfcParse::entity*)IFC4X2_types[49]); } const IfcParse::entity& Ifc4x2::IfcApproval::Class() { return *((IfcParse::entity*)IFC4X2_types[49]); } Ifc4x2::IfcApproval::IfcApproval(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcApproval::IfcApproval(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_TimeOfApproval, boost::optional< std::string > v5_Status, boost::optional< std::string > v6_Level, boost::optional< std::string > v7_Qualifier, ::Ifc4x2::IfcActorSelect* v8_RequestingApproval, ::Ifc4x2::IfcActorSelect* v9_GivingApproval) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(9))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, v8_RequestingApproval ? v8_RequestingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_GivingApproval ? v9_GivingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcApproval::IfcApproval(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_TimeOfApproval, boost::optional< std::string > v5_Status, boost::optional< std::string > v6_Level, boost::optional< std::string > v7_Qualifier, ::Ifc4x2::IfcActorSelect* v8_RequestingApproval, ::Ifc4x2::IfcActorSelect* v9_GivingApproval) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, v8_RequestingApproval ? v8_RequestingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_GivingApproval ? v9_GivingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcApprovalRelationship -::Ifc4x2::IfcApproval* Ifc4x2::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcApproval>(true); } +::Ifc4x2::IfcApproval* Ifc4x2::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcApproval>(true); } void Ifc4x2::IfcApprovalRelationship::setRelatingApproval(::Ifc4x2::IfcApproval* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x2::IfcApproval >::ptr Ifc4x2::IfcApprovalRelationship::RelatedApprovals() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x2::IfcApproval >(); } +aggregate_of< ::Ifc4x2::IfcApproval >::ptr Ifc4x2::IfcApprovalRelationship::RelatedApprovals() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x2::IfcApproval >(); } void Ifc4x2::IfcApprovalRelationship::setRelatedApprovals(aggregate_of< ::Ifc4x2::IfcApproval >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x2::IfcApprovalRelationship::declaration() const { return *((IfcParse::entity*)IFC4X2_types[50]); } const IfcParse::entity& Ifc4x2::IfcApprovalRelationship::Class() { return *((IfcParse::entity*)IFC4X2_types[50]); } Ifc4x2::IfcApprovalRelationship::IfcApprovalRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x2::IfcApprovalRelationship::IfcApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcApproval* v3_RelatingApproval, aggregate_of< ::Ifc4x2::IfcApproval >::ptr v4_RelatedApprovals) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingApproval ? v3_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedApprovals)->generalize());; populate_derived(); } +Ifc4x2::IfcApprovalRelationship::IfcApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcApproval* v3_RelatingApproval, aggregate_of< ::Ifc4x2::IfcApproval >::ptr v4_RelatedApprovals) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingApproval ? v3_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedApprovals)->generalize());; populate_derived(); } // Function implementations for IfcArbitraryClosedProfileDef -::Ifc4x2::IfcCurve* Ifc4x2::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcCurve>(true); } +::Ifc4x2::IfcCurve* Ifc4x2::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcArbitraryClosedProfileDef::setOuterCurve(::Ifc4x2::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x2::IfcArbitraryClosedProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X2_types[51]); } const IfcParse::entity& Ifc4x2::IfcArbitraryClosedProfileDef::Class() { return *((IfcParse::entity*)IFC4X2_types[51]); } Ifc4x2::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x2::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcCurve* v3_OuterCurve) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcCurve* v3_OuterCurve) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcArbitraryOpenProfileDef -::Ifc4x2::IfcBoundedCurve* Ifc4x2::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcBoundedCurve>(true); } +::Ifc4x2::IfcBoundedCurve* Ifc4x2::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcBoundedCurve>(true); } void Ifc4x2::IfcArbitraryOpenProfileDef::setCurve(::Ifc4x2::IfcBoundedCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x2::IfcArbitraryOpenProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X2_types[52]); } const IfcParse::entity& Ifc4x2::IfcArbitraryOpenProfileDef::Class() { return *((IfcParse::entity*)IFC4X2_types[52]); } Ifc4x2::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x2::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcBoundedCurve* v3_Curve) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcBoundedCurve* v3_Curve) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcArbitraryProfileDefWithVoids -aggregate_of< ::Ifc4x2::IfcCurve >::ptr Ifc4x2::IfcArbitraryProfileDefWithVoids::InnerCurves() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x2::IfcCurve >(); } +aggregate_of< ::Ifc4x2::IfcCurve >::ptr Ifc4x2::IfcArbitraryProfileDefWithVoids::InnerCurves() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x2::IfcCurve >(); } void Ifc4x2::IfcArbitraryProfileDefWithVoids::setInnerCurves(aggregate_of< ::Ifc4x2::IfcCurve >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x2::IfcArbitraryProfileDefWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X2_types[53]); } const IfcParse::entity& Ifc4x2::IfcArbitraryProfileDefWithVoids::Class() { return *((IfcParse::entity*)IFC4X2_types[53]); } Ifc4x2::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(IfcEntityInstanceData&& e) : IfcArbitraryClosedProfileDef(std::move(e)) { } -Ifc4x2::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcCurve* v3_OuterCurve, aggregate_of< ::Ifc4x2::IfcCurve >::ptr v4_InnerCurves) : IfcArbitraryClosedProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_InnerCurves)->generalize());; populate_derived(); } +Ifc4x2::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcCurve* v3_OuterCurve, aggregate_of< ::Ifc4x2::IfcCurve >::ptr v4_InnerCurves) : IfcArbitraryClosedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_InnerCurves)->generalize());; populate_derived(); } // Function implementations for IfcAsset -boost::optional< std::string > Ifc4x2::IfcAsset::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x2::IfcAsset::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcAsset::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x2::IfcCostValue* Ifc4x2::IfcAsset::OriginalValue() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x2::IfcCostValue>(true); } +::Ifc4x2::IfcCostValue* Ifc4x2::IfcAsset::OriginalValue() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x2::IfcCostValue>(true); } void Ifc4x2::IfcAsset::setOriginalValue(::Ifc4x2::IfcCostValue* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x2::IfcCostValue* Ifc4x2::IfcAsset::CurrentValue() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x2::IfcCostValue>(true); } +::Ifc4x2::IfcCostValue* Ifc4x2::IfcAsset::CurrentValue() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x2::IfcCostValue>(true); } void Ifc4x2::IfcAsset::setCurrentValue(::Ifc4x2::IfcCostValue* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x2::IfcCostValue* Ifc4x2::IfcAsset::TotalReplacementCost() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x2::IfcCostValue>(true); } +::Ifc4x2::IfcCostValue* Ifc4x2::IfcAsset::TotalReplacementCost() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x2::IfcCostValue>(true); } void Ifc4x2::IfcAsset::setTotalReplacementCost(::Ifc4x2::IfcCostValue* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -::Ifc4x2::IfcActorSelect* Ifc4x2::IfcAsset::Owner() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x2::IfcActorSelect>(true); } +::Ifc4x2::IfcActorSelect* Ifc4x2::IfcAsset::Owner() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x2::IfcActorSelect>(true); } void Ifc4x2::IfcAsset::setOwner(::Ifc4x2::IfcActorSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4x2::IfcActorSelect* Ifc4x2::IfcAsset::User() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x2::IfcActorSelect>(true); } +::Ifc4x2::IfcActorSelect* Ifc4x2::IfcAsset::User() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x2::IfcActorSelect>(true); } void Ifc4x2::IfcAsset::setUser(::Ifc4x2::IfcActorSelect* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } -::Ifc4x2::IfcPerson* Ifc4x2::IfcAsset::ResponsiblePerson() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc4x2::IfcPerson>(true); } +::Ifc4x2::IfcPerson* Ifc4x2::IfcAsset::ResponsiblePerson() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc4x2::IfcPerson>(true); } void Ifc4x2::IfcAsset::setResponsiblePerson(::Ifc4x2::IfcPerson* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } -boost::optional< std::string > Ifc4x2::IfcAsset::IncorporationDate() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x2::IfcAsset::IncorporationDate() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x2::IfcAsset::setIncorporationDate(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4x2::IfcCostValue* Ifc4x2::IfcAsset::DepreciatedValue() const { if(data_.get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(13)))->as<::Ifc4x2::IfcCostValue>(true); } +::Ifc4x2::IfcCostValue* Ifc4x2::IfcAsset::DepreciatedValue() const { if(get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(13)))->as<::Ifc4x2::IfcCostValue>(true); } void Ifc4x2::IfcAsset::setDepreciatedValue(::Ifc4x2::IfcCostValue* v) { set_attribute_value(13, v->as());if constexpr (false)unset_attribute_value(13); } const IfcParse::entity& Ifc4x2::IfcAsset::declaration() const { return *((IfcParse::entity*)IFC4X2_types[59]); } const IfcParse::entity& Ifc4x2::IfcAsset::Class() { return *((IfcParse::entity*)IFC4X2_types[59]); } Ifc4x2::IfcAsset::IfcAsset(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x2::IfcAsset::IfcAsset(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, ::Ifc4x2::IfcCostValue* v7_OriginalValue, ::Ifc4x2::IfcCostValue* v8_CurrentValue, ::Ifc4x2::IfcCostValue* v9_TotalReplacementCost, ::Ifc4x2::IfcActorSelect* v10_Owner, ::Ifc4x2::IfcActorSelect* v11_User, ::Ifc4x2::IfcPerson* v12_ResponsiblePerson, boost::optional< std::string > v13_IncorporationDate, ::Ifc4x2::IfcCostValue* v14_DepreciatedValue) : IfcGroup(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, v7_OriginalValue ? v7_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_CurrentValue ? v8_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_TotalReplacementCost ? v9_TotalReplacementCost->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_Owner ? v10_Owner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_User ? v11_User->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, v12_ResponsiblePerson ? v12_ResponsiblePerson->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, v14_DepreciatedValue ? v14_DepreciatedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcAsset::IfcAsset(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, ::Ifc4x2::IfcCostValue* v7_OriginalValue, ::Ifc4x2::IfcCostValue* v8_CurrentValue, ::Ifc4x2::IfcCostValue* v9_TotalReplacementCost, ::Ifc4x2::IfcActorSelect* v10_Owner, ::Ifc4x2::IfcActorSelect* v11_User, ::Ifc4x2::IfcPerson* v12_ResponsiblePerson, boost::optional< std::string > v13_IncorporationDate, ::Ifc4x2::IfcCostValue* v14_DepreciatedValue) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, v7_OriginalValue ? v7_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_CurrentValue ? v8_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_TotalReplacementCost ? v9_TotalReplacementCost->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_Owner ? v10_Owner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_User ? v11_User->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, v12_ResponsiblePerson ? v12_ResponsiblePerson->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, v14_DepreciatedValue ? v14_DepreciatedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAsymmetricIShapeProfileDef -double Ifc4x2::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x2::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { double v = get_attribute_value(3); return v; } void Ifc4x2::IfcAsymmetricIShapeProfileDef::setBottomFlangeWidth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x2::IfcAsymmetricIShapeProfileDef::OverallDepth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x2::IfcAsymmetricIShapeProfileDef::OverallDepth() const { double v = get_attribute_value(4); return v; } void Ifc4x2::IfcAsymmetricIShapeProfileDef::setOverallDepth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x2::IfcAsymmetricIShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x2::IfcAsymmetricIShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x2::IfcAsymmetricIShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x2::IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x2::IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x2::IfcAsymmetricIShapeProfileDef::setBottomFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x2::IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x2::IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x2::IfcAsymmetricIShapeProfileDef::setBottomFlangeFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -double Ifc4x2::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { double v = data_.get_attribute_value(8); return v; } +double Ifc4x2::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { double v = get_attribute_value(8); return v; } void Ifc4x2::IfcAsymmetricIShapeProfileDef::setTopFlangeWidth(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -boost::optional< double > Ifc4x2::IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x2::IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x2::IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x2::IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x2::IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x2::IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x2::IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x2::IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x2::IfcAsymmetricIShapeProfileDef::setBottomFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x2::IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x2::IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x2::IfcAsymmetricIShapeProfileDef::setBottomFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x2::IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x2::IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x2::IfcAsymmetricIShapeProfileDef::setTopFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x2::IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x2::IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x2::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } const IfcParse::entity& Ifc4x2::IfcAsymmetricIShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X2_types[60]); } const IfcParse::entity& Ifc4x2::IfcAsymmetricIShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X2_types[60]); } Ifc4x2::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x2::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::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(storage_t(15))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); }; populate_derived(); } +Ifc4x2::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::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(in_memory_attribute_storage(15))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); }; populate_derived(); } // Function implementations for IfcAudioVisualAppliance -boost::optional< ::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x2::IfcAudioVisualAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcAudioVisualApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x2::IfcAudioVisualAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcAudioVisualAppliance::setPredefinedType(boost::optional< ::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcAudioVisualAppliance::declaration() const { return *((IfcParse::entity*)IFC4X2_types[61]); } const IfcParse::entity& Ifc4x2::IfcAudioVisualAppliance::Class() { return *((IfcParse::entity*)IFC4X2_types[61]); } Ifc4x2::IfcAudioVisualAppliance::IfcAudioVisualAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x2::IfcAudioVisualAppliance::IfcAudioVisualAppliance(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcAudioVisualAppliance::IfcAudioVisualAppliance(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAudioVisualApplianceType -::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value Ifc4x2::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4x2::IfcAudioVisualApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value Ifc4x2::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4x2::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcAudioVisualApplianceType::setPredefinedType(::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcAudioVisualApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[62]); } const IfcParse::entity& Ifc4x2::IfcAudioVisualApplianceType::Class() { return *((IfcParse::entity*)IFC4X2_types[62]); } Ifc4x2::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x2::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAxis1Placement -::Ifc4x2::IfcDirection* Ifc4x2::IfcAxis1Placement::Axis() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcDirection>(true); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcAxis1Placement::Axis() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcAxis1Placement::setAxis(::Ifc4x2::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcAxis1Placement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[64]); } const IfcParse::entity& Ifc4x2::IfcAxis1Placement::Class() { return *((IfcParse::entity*)IFC4X2_types[64]); } Ifc4x2::IfcAxis1Placement::IfcAxis1Placement(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x2::IfcAxis1Placement::IfcAxis1Placement(::Ifc4x2::IfcCartesianPoint* v1_Location, ::Ifc4x2::IfcDirection* v2_Axis) : IfcPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcAxis1Placement::IfcAxis1Placement(::Ifc4x2::IfcCartesianPoint* v1_Location, ::Ifc4x2::IfcDirection* v2_Axis) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAxis2Placement2D -::Ifc4x2::IfcDirection* Ifc4x2::IfcAxis2Placement2D::RefDirection() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcDirection>(true); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcAxis2Placement2D::RefDirection() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcAxis2Placement2D::setRefDirection(::Ifc4x2::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcAxis2Placement2D::declaration() const { return *((IfcParse::entity*)IFC4X2_types[66]); } const IfcParse::entity& Ifc4x2::IfcAxis2Placement2D::Class() { return *((IfcParse::entity*)IFC4X2_types[66]); } Ifc4x2::IfcAxis2Placement2D::IfcAxis2Placement2D(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x2::IfcAxis2Placement2D::IfcAxis2Placement2D(::Ifc4x2::IfcCartesianPoint* v1_Location, ::Ifc4x2::IfcDirection* v2_RefDirection) : IfcPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RefDirection ? v2_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcAxis2Placement2D::IfcAxis2Placement2D(::Ifc4x2::IfcCartesianPoint* v1_Location, ::Ifc4x2::IfcDirection* v2_RefDirection) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RefDirection ? v2_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAxis2Placement3D -::Ifc4x2::IfcDirection* Ifc4x2::IfcAxis2Placement3D::Axis() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcDirection>(true); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcAxis2Placement3D::Axis() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcAxis2Placement3D::setAxis(::Ifc4x2::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcDirection* Ifc4x2::IfcAxis2Placement3D::RefDirection() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcDirection>(true); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcAxis2Placement3D::RefDirection() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcAxis2Placement3D::setRefDirection(::Ifc4x2::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x2::IfcAxis2Placement3D::declaration() const { return *((IfcParse::entity*)IFC4X2_types[67]); } const IfcParse::entity& Ifc4x2::IfcAxis2Placement3D::Class() { return *((IfcParse::entity*)IFC4X2_types[67]); } Ifc4x2::IfcAxis2Placement3D::IfcAxis2Placement3D(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x2::IfcAxis2Placement3D::IfcAxis2Placement3D(::Ifc4x2::IfcCartesianPoint* v1_Location, ::Ifc4x2::IfcDirection* v2_Axis, ::Ifc4x2::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcAxis2Placement3D::IfcAxis2Placement3D(::Ifc4x2::IfcCartesianPoint* v1_Location, ::Ifc4x2::IfcDirection* v2_Axis, ::Ifc4x2::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBSplineCurve -int Ifc4x2::IfcBSplineCurve::Degree() const { int v = data_.get_attribute_value(0); return v; } +int Ifc4x2::IfcBSplineCurve::Degree() const { int v = get_attribute_value(0); return v; } void Ifc4x2::IfcBSplineCurve::setDegree(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x2::IfcCartesianPoint >::ptr Ifc4x2::IfcBSplineCurve::ControlPointsList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x2::IfcCartesianPoint >(); } +aggregate_of< ::Ifc4x2::IfcCartesianPoint >::ptr Ifc4x2::IfcBSplineCurve::ControlPointsList() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x2::IfcCartesianPoint >(); } void Ifc4x2::IfcBSplineCurve::setControlPointsList(aggregate_of< ::Ifc4x2::IfcCartesianPoint >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcBSplineCurveForm::Value Ifc4x2::IfcBSplineCurve::CurveForm() const { return ::Ifc4x2::IfcBSplineCurveForm::FromString(data_.get_attribute_value(2)); } +::Ifc4x2::IfcBSplineCurveForm::Value Ifc4x2::IfcBSplineCurve::CurveForm() const { return ::Ifc4x2::IfcBSplineCurveForm::FromString(get_attribute_value(2)); } void Ifc4x2::IfcBSplineCurve::setCurveForm(::Ifc4x2::IfcBSplineCurveForm::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x2::IfcBSplineCurveForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -boost::logic::tribool Ifc4x2::IfcBSplineCurve::ClosedCurve() const { boost::logic::tribool v = data_.get_attribute_value(3); return v; } +boost::logic::tribool Ifc4x2::IfcBSplineCurve::ClosedCurve() const { boost::logic::tribool v = get_attribute_value(3); return v; } void Ifc4x2::IfcBSplineCurve::setClosedCurve(boost::logic::tribool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::logic::tribool Ifc4x2::IfcBSplineCurve::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(4); return v; } +boost::logic::tribool Ifc4x2::IfcBSplineCurve::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(4); return v; } void Ifc4x2::IfcBSplineCurve::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x2::IfcBSplineCurve::declaration() const { return *((IfcParse::entity*)IFC4X2_types[104]); } const IfcParse::entity& Ifc4x2::IfcBSplineCurve::Class() { return *((IfcParse::entity*)IFC4X2_types[104]); } Ifc4x2::IfcBSplineCurve::IfcBSplineCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x2::IfcBSplineCurve::IfcBSplineCurve(int v1_Degree, aggregate_of< ::Ifc4x2::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; populate_derived(); } +Ifc4x2::IfcBSplineCurve::IfcBSplineCurve(int v1_Degree, aggregate_of< ::Ifc4x2::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; populate_derived(); } // Function implementations for IfcBSplineCurveWithKnots -std::vector< int > /*[2:?]*/ Ifc4x2::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int > /*[2:?]*/ v = data_.get_attribute_value(5); return v; } +std::vector< int > /*[2:?]*/ Ifc4x2::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(5); return v; } void Ifc4x2::IfcBSplineCurveWithKnots::setKnotMultiplicities(std::vector< int > /*[2:?]*/ v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -std::vector< double > /*[2:?]*/ Ifc4x2::IfcBSplineCurveWithKnots::Knots() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(6); return v; } +std::vector< double > /*[2:?]*/ Ifc4x2::IfcBSplineCurveWithKnots::Knots() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(6); return v; } void Ifc4x2::IfcBSplineCurveWithKnots::setKnots(std::vector< double > /*[2:?]*/ v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x2::IfcKnotType::Value Ifc4x2::IfcBSplineCurveWithKnots::KnotSpec() const { return ::Ifc4x2::IfcKnotType::FromString(data_.get_attribute_value(7)); } +::Ifc4x2::IfcKnotType::Value Ifc4x2::IfcBSplineCurveWithKnots::KnotSpec() const { return ::Ifc4x2::IfcKnotType::FromString(get_attribute_value(7)); } void Ifc4x2::IfcBSplineCurveWithKnots::setKnotSpec(::Ifc4x2::IfcKnotType::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x2::IfcKnotType::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x2::IfcBSplineCurveWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X2_types[106]); } const IfcParse::entity& Ifc4x2::IfcBSplineCurveWithKnots::Class() { return *((IfcParse::entity*)IFC4X2_types[106]); } Ifc4x2::IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(IfcEntityInstanceData&& e) : IfcBSplineCurve(std::move(e)) { } -Ifc4x2::IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x2::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x2::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, ::Ifc4x2::IfcKnotType::Value v8_KnotSpec) : IfcBSplineCurve(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcKnotType::Class(),(size_t)v8_KnotSpec)));; populate_derived(); } +Ifc4x2::IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x2::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x2::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, ::Ifc4x2::IfcKnotType::Value v8_KnotSpec) : IfcBSplineCurve(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcKnotType::Class(),(size_t)v8_KnotSpec)));; populate_derived(); } // Function implementations for IfcBSplineSurface -int Ifc4x2::IfcBSplineSurface::UDegree() const { int v = data_.get_attribute_value(0); return v; } +int Ifc4x2::IfcBSplineSurface::UDegree() const { int v = get_attribute_value(0); return v; } void Ifc4x2::IfcBSplineSurface::setUDegree(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -int Ifc4x2::IfcBSplineSurface::VDegree() const { int v = data_.get_attribute_value(1); return v; } +int Ifc4x2::IfcBSplineSurface::VDegree() const { int v = get_attribute_value(1); return v; } void Ifc4x2::IfcBSplineSurface::setVDegree(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -aggregate_of_aggregate_of< ::Ifc4x2::IfcCartesianPoint >::ptr Ifc4x2::IfcBSplineSurface::ControlPointsList() const { aggregate_of_aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x2::IfcCartesianPoint >(); } +aggregate_of_aggregate_of< ::Ifc4x2::IfcCartesianPoint >::ptr Ifc4x2::IfcBSplineSurface::ControlPointsList() const { aggregate_of_aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x2::IfcCartesianPoint >(); } void Ifc4x2::IfcBSplineSurface::setControlPointsList(aggregate_of_aggregate_of< ::Ifc4x2::IfcCartesianPoint >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcBSplineSurfaceForm::Value Ifc4x2::IfcBSplineSurface::SurfaceForm() const { return ::Ifc4x2::IfcBSplineSurfaceForm::FromString(data_.get_attribute_value(3)); } +::Ifc4x2::IfcBSplineSurfaceForm::Value Ifc4x2::IfcBSplineSurface::SurfaceForm() const { return ::Ifc4x2::IfcBSplineSurfaceForm::FromString(get_attribute_value(3)); } void Ifc4x2::IfcBSplineSurface::setSurfaceForm(::Ifc4x2::IfcBSplineSurfaceForm::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc4x2::IfcBSplineSurfaceForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } -boost::logic::tribool Ifc4x2::IfcBSplineSurface::UClosed() const { boost::logic::tribool v = data_.get_attribute_value(4); return v; } +boost::logic::tribool Ifc4x2::IfcBSplineSurface::UClosed() const { boost::logic::tribool v = get_attribute_value(4); return v; } void Ifc4x2::IfcBSplineSurface::setUClosed(boost::logic::tribool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::logic::tribool Ifc4x2::IfcBSplineSurface::VClosed() const { boost::logic::tribool v = data_.get_attribute_value(5); return v; } +boost::logic::tribool Ifc4x2::IfcBSplineSurface::VClosed() const { boost::logic::tribool v = get_attribute_value(5); return v; } void Ifc4x2::IfcBSplineSurface::setVClosed(boost::logic::tribool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::logic::tribool Ifc4x2::IfcBSplineSurface::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(6); return v; } +boost::logic::tribool Ifc4x2::IfcBSplineSurface::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(6); return v; } void Ifc4x2::IfcBSplineSurface::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x2::IfcBSplineSurface::declaration() const { return *((IfcParse::entity*)IFC4X2_types[107]); } const IfcParse::entity& Ifc4x2::IfcBSplineSurface::Class() { return *((IfcParse::entity*)IFC4X2_types[107]); } Ifc4x2::IfcBSplineSurface::IfcBSplineSurface(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x2::IfcBSplineSurface::IfcBSplineSurface(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x2::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));; populate_derived(); } +Ifc4x2::IfcBSplineSurface::IfcBSplineSurface(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x2::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));; populate_derived(); } // Function implementations for IfcBSplineSurfaceWithKnots -std::vector< int > /*[2:?]*/ Ifc4x2::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int > /*[2:?]*/ v = data_.get_attribute_value(7); return v; } +std::vector< int > /*[2:?]*/ Ifc4x2::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(7); return v; } void Ifc4x2::IfcBSplineSurfaceWithKnots::setUMultiplicities(std::vector< int > /*[2:?]*/ v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector< int > /*[2:?]*/ Ifc4x2::IfcBSplineSurfaceWithKnots::VMultiplicities() const { std::vector< int > /*[2:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< int > /*[2:?]*/ Ifc4x2::IfcBSplineSurfaceWithKnots::VMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(8); return v; } void Ifc4x2::IfcBSplineSurfaceWithKnots::setVMultiplicities(std::vector< int > /*[2:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::vector< double > /*[2:?]*/ Ifc4x2::IfcBSplineSurfaceWithKnots::UKnots() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(9); return v; } +std::vector< double > /*[2:?]*/ Ifc4x2::IfcBSplineSurfaceWithKnots::UKnots() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(9); return v; } void Ifc4x2::IfcBSplineSurfaceWithKnots::setUKnots(std::vector< double > /*[2:?]*/ v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -std::vector< double > /*[2:?]*/ Ifc4x2::IfcBSplineSurfaceWithKnots::VKnots() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(10); return v; } +std::vector< double > /*[2:?]*/ Ifc4x2::IfcBSplineSurfaceWithKnots::VKnots() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(10); return v; } void Ifc4x2::IfcBSplineSurfaceWithKnots::setVKnots(std::vector< double > /*[2:?]*/ v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -::Ifc4x2::IfcKnotType::Value Ifc4x2::IfcBSplineSurfaceWithKnots::KnotSpec() const { return ::Ifc4x2::IfcKnotType::FromString(data_.get_attribute_value(11)); } +::Ifc4x2::IfcKnotType::Value Ifc4x2::IfcBSplineSurfaceWithKnots::KnotSpec() const { return ::Ifc4x2::IfcKnotType::FromString(get_attribute_value(11)); } void Ifc4x2::IfcBSplineSurfaceWithKnots::setKnotSpec(::Ifc4x2::IfcKnotType::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x2::IfcKnotType::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x2::IfcBSplineSurfaceWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X2_types[109]); } const IfcParse::entity& Ifc4x2::IfcBSplineSurfaceWithKnots::Class() { return *((IfcParse::entity*)IFC4X2_types[109]); } Ifc4x2::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(IfcEntityInstanceData&& e) : IfcBSplineSurface(std::move(e)) { } -Ifc4x2::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x2::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x2::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, ::Ifc4x2::IfcKnotType::Value v12_KnotSpec) : IfcBSplineSurface(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x2::IfcKnotType::Class(),(size_t)v12_KnotSpec)));; populate_derived(); } +Ifc4x2::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x2::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x2::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, ::Ifc4x2::IfcKnotType::Value v12_KnotSpec) : IfcBSplineSurface(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x2::IfcKnotType::Class(),(size_t)v12_KnotSpec)));; populate_derived(); } // Function implementations for IfcBeam -boost::optional< ::Ifc4x2::IfcBeamTypeEnum::Value > Ifc4x2::IfcBeam::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcBeamTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcBeamTypeEnum::Value > Ifc4x2::IfcBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcBeamTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcBeam::setPredefinedType(boost::optional< ::Ifc4x2::IfcBeamTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcBeamTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcBeam::declaration() const { return *((IfcParse::entity*)IFC4X2_types[68]); } const IfcParse::entity& Ifc4x2::IfcBeam::Class() { return *((IfcParse::entity*)IFC4X2_types[68]); } Ifc4x2::IfcBeam::IfcBeam(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x2::IfcBeam::IfcBeam(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcBeamTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcBeam::IfcBeam(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcBeamTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBeamStandardCase @@ -7571,83 +7571,83 @@ Ifc4x2::IfcBeam::IfcBeam(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_ const IfcParse::entity& Ifc4x2::IfcBeamStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X2_types[69]); } const IfcParse::entity& Ifc4x2::IfcBeamStandardCase::Class() { return *((IfcParse::entity*)IFC4X2_types[69]); } Ifc4x2::IfcBeamStandardCase::IfcBeamStandardCase(IfcEntityInstanceData&& e) : IfcBeam(std::move(e)) { } -Ifc4x2::IfcBeamStandardCase::IfcBeamStandardCase(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcBeamTypeEnum::Value > v9_PredefinedType) : IfcBeam(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcBeamStandardCase::IfcBeamStandardCase(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcBeamTypeEnum::Value > v9_PredefinedType) : IfcBeam(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBeamType -::Ifc4x2::IfcBeamTypeEnum::Value Ifc4x2::IfcBeamType::PredefinedType() const { return ::Ifc4x2::IfcBeamTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcBeamTypeEnum::Value Ifc4x2::IfcBeamType::PredefinedType() const { return ::Ifc4x2::IfcBeamTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcBeamType::setPredefinedType(::Ifc4x2::IfcBeamTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcBeamTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcBeamType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[70]); } const IfcParse::entity& Ifc4x2::IfcBeamType::Class() { return *((IfcParse::entity*)IFC4X2_types[70]); } Ifc4x2::IfcBeamType::IfcBeamType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x2::IfcBeamType::IfcBeamType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBeamTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcBeamType::IfcBeamType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBeamTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBearing -boost::optional< ::Ifc4x2::IfcBearingTypeEnum::Value > Ifc4x2::IfcBearing::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcBearingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcBearingTypeEnum::Value > Ifc4x2::IfcBearing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcBearingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcBearing::setPredefinedType(boost::optional< ::Ifc4x2::IfcBearingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcBearingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcBearing::declaration() const { return *((IfcParse::entity*)IFC4X2_types[72]); } const IfcParse::entity& Ifc4x2::IfcBearing::Class() { return *((IfcParse::entity*)IFC4X2_types[72]); } Ifc4x2::IfcBearing::IfcBearing(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x2::IfcBearing::IfcBearing(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcBearingTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcBearing::IfcBearing(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcBearingTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBearingType -::Ifc4x2::IfcBearingTypeEnum::Value Ifc4x2::IfcBearingType::PredefinedType() const { return ::Ifc4x2::IfcBearingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcBearingTypeEnum::Value Ifc4x2::IfcBearingType::PredefinedType() const { return ::Ifc4x2::IfcBearingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcBearingType::setPredefinedType(::Ifc4x2::IfcBearingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcBearingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcBearingType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[73]); } const IfcParse::entity& Ifc4x2::IfcBearingType::Class() { return *((IfcParse::entity*)IFC4X2_types[73]); } Ifc4x2::IfcBearingType::IfcBearingType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x2::IfcBearingType::IfcBearingType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBearingTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcBearingType::IfcBearingType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBearingTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBlobTexture -std::string Ifc4x2::IfcBlobTexture::RasterFormat() const { std::string v = data_.get_attribute_value(5); return v; } +std::string Ifc4x2::IfcBlobTexture::RasterFormat() const { std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcBlobTexture::setRasterFormat(std::string v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::dynamic_bitset<> Ifc4x2::IfcBlobTexture::RasterCode() const { boost::dynamic_bitset<> v = data_.get_attribute_value(6); return v; } +boost::dynamic_bitset<> Ifc4x2::IfcBlobTexture::RasterCode() const { boost::dynamic_bitset<> v = get_attribute_value(6); return v; } void Ifc4x2::IfcBlobTexture::setRasterCode(boost::dynamic_bitset<> v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x2::IfcBlobTexture::declaration() const { return *((IfcParse::entity*)IFC4X2_types[79]); } const IfcParse::entity& Ifc4x2::IfcBlobTexture::Class() { return *((IfcParse::entity*)IFC4X2_types[79]); } Ifc4x2::IfcBlobTexture::IfcBlobTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -Ifc4x2::IfcBlobTexture::IfcBlobTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x2::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) : IfcSurfaceTexture(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode));; populate_derived(); } +Ifc4x2::IfcBlobTexture::IfcBlobTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x2::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) : IfcSurfaceTexture(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode));; populate_derived(); } // Function implementations for IfcBlock -double Ifc4x2::IfcBlock::XLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x2::IfcBlock::XLength() const { double v = get_attribute_value(1); return v; } void Ifc4x2::IfcBlock::setXLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x2::IfcBlock::YLength() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x2::IfcBlock::YLength() const { double v = get_attribute_value(2); return v; } void Ifc4x2::IfcBlock::setYLength(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x2::IfcBlock::ZLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x2::IfcBlock::ZLength() const { double v = get_attribute_value(3); return v; } void Ifc4x2::IfcBlock::setZLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x2::IfcBlock::declaration() const { return *((IfcParse::entity*)IFC4X2_types[80]); } const IfcParse::entity& Ifc4x2::IfcBlock::Class() { return *((IfcParse::entity*)IFC4X2_types[80]); } Ifc4x2::IfcBlock::IfcBlock(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x2::IfcBlock::IfcBlock(::Ifc4x2::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; populate_derived(); } +Ifc4x2::IfcBlock::IfcBlock(::Ifc4x2::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; populate_derived(); } // Function implementations for IfcBoiler -boost::optional< ::Ifc4x2::IfcBoilerTypeEnum::Value > Ifc4x2::IfcBoiler::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcBoilerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcBoilerTypeEnum::Value > Ifc4x2::IfcBoiler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcBoilerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcBoiler::setPredefinedType(boost::optional< ::Ifc4x2::IfcBoilerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcBoilerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcBoiler::declaration() const { return *((IfcParse::entity*)IFC4X2_types[81]); } const IfcParse::entity& Ifc4x2::IfcBoiler::Class() { return *((IfcParse::entity*)IFC4X2_types[81]); } Ifc4x2::IfcBoiler::IfcBoiler(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x2::IfcBoiler::IfcBoiler(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcBoilerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcBoiler::IfcBoiler(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcBoilerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBoilerType -::Ifc4x2::IfcBoilerTypeEnum::Value Ifc4x2::IfcBoilerType::PredefinedType() const { return ::Ifc4x2::IfcBoilerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcBoilerTypeEnum::Value Ifc4x2::IfcBoilerType::PredefinedType() const { return ::Ifc4x2::IfcBoilerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcBoilerType::setPredefinedType(::Ifc4x2::IfcBoilerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcBoilerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcBoilerType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[82]); } const IfcParse::entity& Ifc4x2::IfcBoilerType::Class() { return *((IfcParse::entity*)IFC4X2_types[82]); } Ifc4x2::IfcBoilerType::IfcBoilerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x2::IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBoilerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBoilerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBooleanClippingResult @@ -7655,31 +7655,31 @@ Ifc4x2::IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, ::Ifc4x2::IfcOwner const IfcParse::entity& Ifc4x2::IfcBooleanClippingResult::declaration() const { return *((IfcParse::entity*)IFC4X2_types[85]); } const IfcParse::entity& Ifc4x2::IfcBooleanClippingResult::Class() { return *((IfcParse::entity*)IFC4X2_types[85]); } Ifc4x2::IfcBooleanClippingResult::IfcBooleanClippingResult(IfcEntityInstanceData&& e) : IfcBooleanResult(std::move(e)) { } -Ifc4x2::IfcBooleanClippingResult::IfcBooleanClippingResult(::Ifc4x2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x2::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x2::IfcBooleanOperand* v3_SecondOperand) : IfcBooleanResult(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcBooleanClippingResult::IfcBooleanClippingResult(::Ifc4x2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x2::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x2::IfcBooleanOperand* v3_SecondOperand) : IfcBooleanResult(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBooleanResult -::Ifc4x2::IfcBooleanOperator::Value Ifc4x2::IfcBooleanResult::Operator() const { return ::Ifc4x2::IfcBooleanOperator::FromString(data_.get_attribute_value(0)); } +::Ifc4x2::IfcBooleanOperator::Value Ifc4x2::IfcBooleanResult::Operator() const { return ::Ifc4x2::IfcBooleanOperator::FromString(get_attribute_value(0)); } void Ifc4x2::IfcBooleanResult::setOperator(::Ifc4x2::IfcBooleanOperator::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x2::IfcBooleanOperator::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcBooleanOperand* Ifc4x2::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcBooleanOperand>(true); } +::Ifc4x2::IfcBooleanOperand* Ifc4x2::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcBooleanOperand>(true); } void Ifc4x2::IfcBooleanResult::setFirstOperand(::Ifc4x2::IfcBooleanOperand* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcBooleanOperand* Ifc4x2::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcBooleanOperand>(true); } +::Ifc4x2::IfcBooleanOperand* Ifc4x2::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcBooleanOperand>(true); } void Ifc4x2::IfcBooleanResult::setSecondOperand(::Ifc4x2::IfcBooleanOperand* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x2::IfcBooleanResult::declaration() const { return *((IfcParse::entity*)IFC4X2_types[88]); } const IfcParse::entity& Ifc4x2::IfcBooleanResult::Class() { return *((IfcParse::entity*)IFC4X2_types[88]); } Ifc4x2::IfcBooleanResult::IfcBooleanResult(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x2::IfcBooleanResult::IfcBooleanResult(::Ifc4x2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x2::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x2::IfcBooleanOperand* v3_SecondOperand) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcBooleanResult::IfcBooleanResult(::Ifc4x2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x2::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x2::IfcBooleanOperand* v3_SecondOperand) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryCondition -boost::optional< std::string > Ifc4x2::IfcBoundaryCondition::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x2::IfcBoundaryCondition::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcBoundaryCondition::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x2::IfcBoundaryCondition::declaration() const { return *((IfcParse::entity*)IFC4X2_types[89]); } const IfcParse::entity& Ifc4x2::IfcBoundaryCondition::Class() { return *((IfcParse::entity*)IFC4X2_types[89]); } Ifc4x2::IfcBoundaryCondition::IfcBoundaryCondition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x2::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcBoundaryCurve @@ -7687,71 +7687,71 @@ Ifc4x2::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::string const IfcParse::entity& Ifc4x2::IfcBoundaryCurve::declaration() const { return *((IfcParse::entity*)IFC4X2_types[90]); } const IfcParse::entity& Ifc4x2::IfcBoundaryCurve::Class() { return *((IfcParse::entity*)IFC4X2_types[90]); } Ifc4x2::IfcBoundaryCurve::IfcBoundaryCurve(IfcEntityInstanceData&& e) : IfcCompositeCurveOnSurface(std::move(e)) { } -Ifc4x2::IfcBoundaryCurve::IfcBoundaryCurve(aggregate_of< ::Ifc4x2::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurveOnSurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x2::IfcBoundaryCurve::IfcBoundaryCurve(aggregate_of< ::Ifc4x2::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurveOnSurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcBoundaryEdgeCondition -::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } +::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x2::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthX(::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } +::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x2::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthY(::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } +::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x2::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthZ(::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect>(true); } +::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x2::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect>(true); } +::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x2::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect>(true); } +::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x2::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x2::IfcBoundaryEdgeCondition::declaration() const { return *((IfcParse::entity*)IFC4X2_types[91]); } const IfcParse::entity& Ifc4x2::IfcBoundaryEdgeCondition::Class() { return *((IfcParse::entity*)IFC4X2_types[91]); } Ifc4x2::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -Ifc4x2::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect* v2_TranslationalStiffnessByLengthX, ::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect* v3_TranslationalStiffnessByLengthY, ::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect* v4_TranslationalStiffnessByLengthZ, ::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect* v5_RotationalStiffnessByLengthX, ::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect* v6_RotationalStiffnessByLengthY, ::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect* v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByLengthX ? v2_TranslationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByLengthY ? v3_TranslationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByLengthZ ? v4_TranslationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessByLengthX ? v5_RotationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessByLengthY ? v6_RotationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessByLengthZ ? v7_RotationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect* v2_TranslationalStiffnessByLengthX, ::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect* v3_TranslationalStiffnessByLengthY, ::Ifc4x2::IfcModulusOfTranslationalSubgradeReactionSelect* v4_TranslationalStiffnessByLengthZ, ::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect* v5_RotationalStiffnessByLengthX, ::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect* v6_RotationalStiffnessByLengthY, ::Ifc4x2::IfcModulusOfRotationalSubgradeReactionSelect* v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByLengthX ? v2_TranslationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByLengthY ? v3_TranslationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByLengthZ ? v4_TranslationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessByLengthX ? v5_RotationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessByLengthY ? v6_RotationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessByLengthZ ? v7_RotationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryFaceCondition -::Ifc4x2::IfcModulusOfSubgradeReactionSelect* Ifc4x2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcModulusOfSubgradeReactionSelect>(true); } +::Ifc4x2::IfcModulusOfSubgradeReactionSelect* Ifc4x2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x2::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaX(::Ifc4x2::IfcModulusOfSubgradeReactionSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcModulusOfSubgradeReactionSelect* Ifc4x2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcModulusOfSubgradeReactionSelect>(true); } +::Ifc4x2::IfcModulusOfSubgradeReactionSelect* Ifc4x2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x2::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaY(::Ifc4x2::IfcModulusOfSubgradeReactionSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcModulusOfSubgradeReactionSelect* Ifc4x2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcModulusOfSubgradeReactionSelect>(true); } +::Ifc4x2::IfcModulusOfSubgradeReactionSelect* Ifc4x2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x2::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(::Ifc4x2::IfcModulusOfSubgradeReactionSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x2::IfcBoundaryFaceCondition::declaration() const { return *((IfcParse::entity*)IFC4X2_types[92]); } const IfcParse::entity& Ifc4x2::IfcBoundaryFaceCondition::Class() { return *((IfcParse::entity*)IFC4X2_types[92]); } Ifc4x2::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -Ifc4x2::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcModulusOfSubgradeReactionSelect* v2_TranslationalStiffnessByAreaX, ::Ifc4x2::IfcModulusOfSubgradeReactionSelect* v3_TranslationalStiffnessByAreaY, ::Ifc4x2::IfcModulusOfSubgradeReactionSelect* v4_TranslationalStiffnessByAreaZ) : IfcBoundaryCondition(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByAreaX ? v2_TranslationalStiffnessByAreaX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByAreaY ? v3_TranslationalStiffnessByAreaY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByAreaZ ? v4_TranslationalStiffnessByAreaZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcModulusOfSubgradeReactionSelect* v2_TranslationalStiffnessByAreaX, ::Ifc4x2::IfcModulusOfSubgradeReactionSelect* v3_TranslationalStiffnessByAreaY, ::Ifc4x2::IfcModulusOfSubgradeReactionSelect* v4_TranslationalStiffnessByAreaZ) : IfcBoundaryCondition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByAreaX ? v2_TranslationalStiffnessByAreaX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByAreaY ? v3_TranslationalStiffnessByAreaY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByAreaZ ? v4_TranslationalStiffnessByAreaZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryNodeCondition -::Ifc4x2::IfcTranslationalStiffnessSelect* Ifc4x2::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcTranslationalStiffnessSelect>(true); } +::Ifc4x2::IfcTranslationalStiffnessSelect* Ifc4x2::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcTranslationalStiffnessSelect>(true); } void Ifc4x2::IfcBoundaryNodeCondition::setTranslationalStiffnessX(::Ifc4x2::IfcTranslationalStiffnessSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcTranslationalStiffnessSelect* Ifc4x2::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcTranslationalStiffnessSelect>(true); } +::Ifc4x2::IfcTranslationalStiffnessSelect* Ifc4x2::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcTranslationalStiffnessSelect>(true); } void Ifc4x2::IfcBoundaryNodeCondition::setTranslationalStiffnessY(::Ifc4x2::IfcTranslationalStiffnessSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcTranslationalStiffnessSelect* Ifc4x2::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcTranslationalStiffnessSelect>(true); } +::Ifc4x2::IfcTranslationalStiffnessSelect* Ifc4x2::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcTranslationalStiffnessSelect>(true); } void Ifc4x2::IfcBoundaryNodeCondition::setTranslationalStiffnessZ(::Ifc4x2::IfcTranslationalStiffnessSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x2::IfcRotationalStiffnessSelect* Ifc4x2::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcRotationalStiffnessSelect>(true); } +::Ifc4x2::IfcRotationalStiffnessSelect* Ifc4x2::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcRotationalStiffnessSelect>(true); } void Ifc4x2::IfcBoundaryNodeCondition::setRotationalStiffnessX(::Ifc4x2::IfcRotationalStiffnessSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcRotationalStiffnessSelect* Ifc4x2::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcRotationalStiffnessSelect>(true); } +::Ifc4x2::IfcRotationalStiffnessSelect* Ifc4x2::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcRotationalStiffnessSelect>(true); } void Ifc4x2::IfcBoundaryNodeCondition::setRotationalStiffnessY(::Ifc4x2::IfcRotationalStiffnessSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x2::IfcRotationalStiffnessSelect* Ifc4x2::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x2::IfcRotationalStiffnessSelect>(true); } +::Ifc4x2::IfcRotationalStiffnessSelect* Ifc4x2::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x2::IfcRotationalStiffnessSelect>(true); } void Ifc4x2::IfcBoundaryNodeCondition::setRotationalStiffnessZ(::Ifc4x2::IfcRotationalStiffnessSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x2::IfcBoundaryNodeCondition::declaration() const { return *((IfcParse::entity*)IFC4X2_types[93]); } const IfcParse::entity& Ifc4x2::IfcBoundaryNodeCondition::Class() { return *((IfcParse::entity*)IFC4X2_types[93]); } Ifc4x2::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -Ifc4x2::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x2::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x2::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x2::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x2::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x2::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ) : IfcBoundaryCondition(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x2::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x2::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x2::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x2::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x2::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ) : IfcBoundaryCondition(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryNodeConditionWarping -::Ifc4x2::IfcWarpingStiffnessSelect* Ifc4x2::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x2::IfcWarpingStiffnessSelect>(true); } +::Ifc4x2::IfcWarpingStiffnessSelect* Ifc4x2::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x2::IfcWarpingStiffnessSelect>(true); } void Ifc4x2::IfcBoundaryNodeConditionWarping::setWarpingStiffness(::Ifc4x2::IfcWarpingStiffnessSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x2::IfcBoundaryNodeConditionWarping::declaration() const { return *((IfcParse::entity*)IFC4X2_types[94]); } const IfcParse::entity& Ifc4x2::IfcBoundaryNodeConditionWarping::Class() { return *((IfcParse::entity*)IFC4X2_types[94]); } Ifc4x2::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(IfcEntityInstanceData&& e) : IfcBoundaryNodeCondition(std::move(e)) { } -Ifc4x2::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x2::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x2::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x2::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x2::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x2::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ, ::Ifc4x2::IfcWarpingStiffnessSelect* v8_WarpingStiffness) : IfcBoundaryNodeCondition(IfcEntityInstanceData(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_WarpingStiffness ? v8_WarpingStiffness->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x2::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x2::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x2::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x2::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x2::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ, ::Ifc4x2::IfcWarpingStiffnessSelect* v8_WarpingStiffness) : IfcBoundaryNodeCondition(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_WarpingStiffness ? v8_WarpingStiffness->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundedCurve @@ -7760,7 +7760,7 @@ Ifc4x2::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost:: const IfcParse::entity& Ifc4x2::IfcBoundedCurve::declaration() const { return *((IfcParse::entity*)IFC4X2_types[95]); } const IfcParse::entity& Ifc4x2::IfcBoundedCurve::Class() { return *((IfcParse::entity*)IFC4X2_types[95]); } Ifc4x2::IfcBoundedCurve::IfcBoundedCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x2::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x2::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcBoundedSurface @@ -7768,67 +7768,67 @@ Ifc4x2::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData(stor const IfcParse::entity& Ifc4x2::IfcBoundedSurface::declaration() const { return *((IfcParse::entity*)IFC4X2_types[96]); } const IfcParse::entity& Ifc4x2::IfcBoundedSurface::Class() { return *((IfcParse::entity*)IFC4X2_types[96]); } Ifc4x2::IfcBoundedSurface::IfcBoundedSurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x2::IfcBoundedSurface::IfcBoundedSurface() : IfcSurface(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x2::IfcBoundedSurface::IfcBoundedSurface() : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcBoundingBox -::Ifc4x2::IfcCartesianPoint* Ifc4x2::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcCartesianPoint>(true); } +::Ifc4x2::IfcCartesianPoint* Ifc4x2::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcCartesianPoint>(true); } void Ifc4x2::IfcBoundingBox::setCorner(::Ifc4x2::IfcCartesianPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x2::IfcBoundingBox::XDim() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x2::IfcBoundingBox::XDim() const { double v = get_attribute_value(1); return v; } void Ifc4x2::IfcBoundingBox::setXDim(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x2::IfcBoundingBox::YDim() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x2::IfcBoundingBox::YDim() const { double v = get_attribute_value(2); return v; } void Ifc4x2::IfcBoundingBox::setYDim(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x2::IfcBoundingBox::ZDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x2::IfcBoundingBox::ZDim() const { double v = get_attribute_value(3); return v; } void Ifc4x2::IfcBoundingBox::setZDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x2::IfcBoundingBox::declaration() const { return *((IfcParse::entity*)IFC4X2_types[97]); } const IfcParse::entity& Ifc4x2::IfcBoundingBox::Class() { return *((IfcParse::entity*)IFC4X2_types[97]); } Ifc4x2::IfcBoundingBox::IfcBoundingBox(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x2::IfcBoundingBox::IfcBoundingBox(::Ifc4x2::IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Corner ? v1_Corner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; populate_derived(); } +Ifc4x2::IfcBoundingBox::IfcBoundingBox(::Ifc4x2::IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Corner ? v1_Corner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; populate_derived(); } // Function implementations for IfcBoxedHalfSpace -::Ifc4x2::IfcBoundingBox* Ifc4x2::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcBoundingBox>(true); } +::Ifc4x2::IfcBoundingBox* Ifc4x2::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcBoundingBox>(true); } void Ifc4x2::IfcBoxedHalfSpace::setEnclosure(::Ifc4x2::IfcBoundingBox* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x2::IfcBoxedHalfSpace::declaration() const { return *((IfcParse::entity*)IFC4X2_types[99]); } const IfcParse::entity& Ifc4x2::IfcBoxedHalfSpace::Class() { return *((IfcParse::entity*)IFC4X2_types[99]); } Ifc4x2::IfcBoxedHalfSpace::IfcBoxedHalfSpace(IfcEntityInstanceData&& e) : IfcHalfSpaceSolid(std::move(e)) { } -Ifc4x2::IfcBoxedHalfSpace::IfcBoxedHalfSpace(::Ifc4x2::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x2::IfcBoundingBox* v3_Enclosure) : IfcHalfSpaceSolid(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Enclosure ? v3_Enclosure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcBoxedHalfSpace::IfcBoxedHalfSpace(::Ifc4x2::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x2::IfcBoundingBox* v3_Enclosure) : IfcHalfSpaceSolid(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Enclosure ? v3_Enclosure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBridge -boost::optional< ::Ifc4x2::IfcBridgeTypeEnum::Value > Ifc4x2::IfcBridge::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x2::IfcBridgeTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x2::IfcBridgeTypeEnum::Value > Ifc4x2::IfcBridge::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x2::IfcBridgeTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcBridge::setPredefinedType(boost::optional< ::Ifc4x2::IfcBridgeTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcBridgeTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x2::IfcBridge::declaration() const { return *((IfcParse::entity*)IFC4X2_types[100]); } const IfcParse::entity& Ifc4x2::IfcBridge::Class() { return *((IfcParse::entity*)IFC4X2_types[100]); } Ifc4x2::IfcBridge::IfcBridge(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x2::IfcBridge::IfcBridge(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x2::IfcBridgeTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcBridge::IfcBridge(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x2::IfcBridgeTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBridgePart -boost::optional< ::Ifc4x2::IfcBridgePartTypeEnum::Value > Ifc4x2::IfcBridgePart::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x2::IfcBridgePartTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x2::IfcBridgePartTypeEnum::Value > Ifc4x2::IfcBridgePart::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x2::IfcBridgePartTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcBridgePart::setPredefinedType(boost::optional< ::Ifc4x2::IfcBridgePartTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcBridgePartTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x2::IfcBridgePart::declaration() const { return *((IfcParse::entity*)IFC4X2_types[101]); } const IfcParse::entity& Ifc4x2::IfcBridgePart::Class() { return *((IfcParse::entity*)IFC4X2_types[101]); } Ifc4x2::IfcBridgePart::IfcBridgePart(IfcEntityInstanceData&& e) : IfcFacilityPart(std::move(e)) { } -Ifc4x2::IfcBridgePart::IfcBridgePart(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x2::IfcBridgePartTypeEnum::Value > v10_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcBridgePartTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcBridgePart::IfcBridgePart(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x2::IfcBridgePartTypeEnum::Value > v10_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcBridgePartTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBuilding -boost::optional< double > Ifc4x2::IfcBuilding::ElevationOfRefHeight() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x2::IfcBuilding::ElevationOfRefHeight() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x2::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x2::IfcBuilding::ElevationOfTerrain() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x2::IfcBuilding::ElevationOfTerrain() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x2::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4x2::IfcPostalAddress* Ifc4x2::IfcBuilding::BuildingAddress() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc4x2::IfcPostalAddress>(true); } +::Ifc4x2::IfcPostalAddress* Ifc4x2::IfcBuilding::BuildingAddress() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc4x2::IfcPostalAddress>(true); } void Ifc4x2::IfcBuilding::setBuildingAddress(::Ifc4x2::IfcPostalAddress* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x2::IfcBuilding::declaration() const { return *((IfcParse::entity*)IFC4X2_types[110]); } const IfcParse::entity& Ifc4x2::IfcBuilding::Class() { return *((IfcParse::entity*)IFC4X2_types[110]); } Ifc4x2::IfcBuilding::IfcBuilding(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x2::IfcBuilding::IfcBuilding(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, ::Ifc4x2::IfcPostalAddress* v12_BuildingAddress) : IfcFacility(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, v12_BuildingAddress ? v12_BuildingAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcBuilding::IfcBuilding(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, ::Ifc4x2::IfcPostalAddress* v12_BuildingAddress) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, v12_BuildingAddress ? v12_BuildingAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBuildingElement @@ -7836,47 +7836,47 @@ Ifc4x2::IfcBuilding::IfcBuilding(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHist const IfcParse::entity& Ifc4x2::IfcBuildingElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[111]); } const IfcParse::entity& Ifc4x2::IfcBuildingElement::Class() { return *((IfcParse::entity*)IFC4X2_types[111]); } Ifc4x2::IfcBuildingElement::IfcBuildingElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x2::IfcBuildingElement::IfcBuildingElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x2::IfcBuildingElement::IfcBuildingElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcBuildingElementPart -boost::optional< ::Ifc4x2::IfcBuildingElementPartTypeEnum::Value > Ifc4x2::IfcBuildingElementPart::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcBuildingElementPartTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcBuildingElementPartTypeEnum::Value > Ifc4x2::IfcBuildingElementPart::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcBuildingElementPart::setPredefinedType(boost::optional< ::Ifc4x2::IfcBuildingElementPartTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcBuildingElementPartTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcBuildingElementPart::declaration() const { return *((IfcParse::entity*)IFC4X2_types[112]); } const IfcParse::entity& Ifc4x2::IfcBuildingElementPart::Class() { return *((IfcParse::entity*)IFC4X2_types[112]); } Ifc4x2::IfcBuildingElementPart::IfcBuildingElementPart(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x2::IfcBuildingElementPart::IfcBuildingElementPart(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcBuildingElementPart::IfcBuildingElementPart(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBuildingElementPartType -::Ifc4x2::IfcBuildingElementPartTypeEnum::Value Ifc4x2::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4x2::IfcBuildingElementPartTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcBuildingElementPartTypeEnum::Value Ifc4x2::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4x2::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcBuildingElementPartType::setPredefinedType(::Ifc4x2::IfcBuildingElementPartTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcBuildingElementPartTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcBuildingElementPartType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[113]); } const IfcParse::entity& Ifc4x2::IfcBuildingElementPartType::Class() { return *((IfcParse::entity*)IFC4X2_types[113]); } Ifc4x2::IfcBuildingElementPartType::IfcBuildingElementPartType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x2::IfcBuildingElementPartType::IfcBuildingElementPartType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcBuildingElementPartType::IfcBuildingElementPartType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBuildingElementProxy -boost::optional< ::Ifc4x2::IfcBuildingElementProxyTypeEnum::Value > Ifc4x2::IfcBuildingElementProxy::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcBuildingElementProxyTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcBuildingElementProxyTypeEnum::Value > Ifc4x2::IfcBuildingElementProxy::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcBuildingElementProxy::setPredefinedType(boost::optional< ::Ifc4x2::IfcBuildingElementProxyTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcBuildingElementProxyTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcBuildingElementProxy::declaration() const { return *((IfcParse::entity*)IFC4X2_types[115]); } const IfcParse::entity& Ifc4x2::IfcBuildingElementProxy::Class() { return *((IfcParse::entity*)IFC4X2_types[115]); } Ifc4x2::IfcBuildingElementProxy::IfcBuildingElementProxy(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x2::IfcBuildingElementProxy::IfcBuildingElementProxy(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcBuildingElementProxy::IfcBuildingElementProxy(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBuildingElementProxyType -::Ifc4x2::IfcBuildingElementProxyTypeEnum::Value Ifc4x2::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4x2::IfcBuildingElementProxyTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcBuildingElementProxyTypeEnum::Value Ifc4x2::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4x2::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcBuildingElementProxyType::setPredefinedType(::Ifc4x2::IfcBuildingElementProxyTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcBuildingElementProxyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcBuildingElementProxyType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[116]); } const IfcParse::entity& Ifc4x2::IfcBuildingElementProxyType::Class() { return *((IfcParse::entity*)IFC4X2_types[116]); } Ifc4x2::IfcBuildingElementProxyType::IfcBuildingElementProxyType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x2::IfcBuildingElementProxyType::IfcBuildingElementProxyType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcBuildingElementProxyType::IfcBuildingElementProxyType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBuildingElementType @@ -7884,177 +7884,177 @@ Ifc4x2::IfcBuildingElementProxyType::IfcBuildingElementProxyType(std::string v1_ const IfcParse::entity& Ifc4x2::IfcBuildingElementType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[118]); } const IfcParse::entity& Ifc4x2::IfcBuildingElementType::Class() { return *((IfcParse::entity*)IFC4X2_types[118]); } Ifc4x2::IfcBuildingElementType::IfcBuildingElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x2::IfcBuildingElementType::IfcBuildingElementType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x2::IfcBuildingElementType::IfcBuildingElementType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcBuildingStorey -boost::optional< double > Ifc4x2::IfcBuildingStorey::Elevation() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x2::IfcBuildingStorey::Elevation() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x2::IfcBuildingStorey::setElevation(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x2::IfcBuildingStorey::declaration() const { return *((IfcParse::entity*)IFC4X2_types[119]); } const IfcParse::entity& Ifc4x2::IfcBuildingStorey::Class() { return *((IfcParse::entity*)IFC4X2_types[119]); } Ifc4x2::IfcBuildingStorey::IfcBuildingStorey(IfcEntityInstanceData&& e) : IfcFacilityPart(std::move(e)) { } -Ifc4x2::IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_Elevation) : IfcFacilityPart(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; populate_derived(); } +Ifc4x2::IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_Elevation) : IfcFacilityPart(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; populate_derived(); } // Function implementations for IfcBuildingSystem -boost::optional< ::Ifc4x2::IfcBuildingSystemTypeEnum::Value > Ifc4x2::IfcBuildingSystem::PredefinedType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x2::IfcBuildingSystemTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x2::IfcBuildingSystemTypeEnum::Value > Ifc4x2::IfcBuildingSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x2::IfcBuildingSystemTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x2::IfcBuildingSystem::setPredefinedType(boost::optional< ::Ifc4x2::IfcBuildingSystemTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x2::IfcBuildingSystemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x2::IfcBuildingSystem::LongName() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x2::IfcBuildingSystem::LongName() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x2::IfcBuildingSystem::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x2::IfcBuildingSystem::declaration() const { return *((IfcParse::entity*)IFC4X2_types[120]); } const IfcParse::entity& Ifc4x2::IfcBuildingSystem::Class() { return *((IfcParse::entity*)IFC4X2_types[120]); } Ifc4x2::IfcBuildingSystem::IfcBuildingSystem(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x2::IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x2::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } +Ifc4x2::IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x2::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } // Function implementations for IfcBurner -boost::optional< ::Ifc4x2::IfcBurnerTypeEnum::Value > Ifc4x2::IfcBurner::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcBurnerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcBurnerTypeEnum::Value > Ifc4x2::IfcBurner::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcBurnerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcBurner::setPredefinedType(boost::optional< ::Ifc4x2::IfcBurnerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcBurnerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcBurner::declaration() const { return *((IfcParse::entity*)IFC4X2_types[122]); } const IfcParse::entity& Ifc4x2::IfcBurner::Class() { return *((IfcParse::entity*)IFC4X2_types[122]); } Ifc4x2::IfcBurner::IfcBurner(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x2::IfcBurner::IfcBurner(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcBurnerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcBurner::IfcBurner(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcBurnerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBurnerType -::Ifc4x2::IfcBurnerTypeEnum::Value Ifc4x2::IfcBurnerType::PredefinedType() const { return ::Ifc4x2::IfcBurnerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcBurnerTypeEnum::Value Ifc4x2::IfcBurnerType::PredefinedType() const { return ::Ifc4x2::IfcBurnerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcBurnerType::setPredefinedType(::Ifc4x2::IfcBurnerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcBurnerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcBurnerType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[123]); } const IfcParse::entity& Ifc4x2::IfcBurnerType::Class() { return *((IfcParse::entity*)IFC4X2_types[123]); } Ifc4x2::IfcBurnerType::IfcBurnerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x2::IfcBurnerType::IfcBurnerType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBurnerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcBurnerType::IfcBurnerType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcBurnerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCShapeProfileDef -double Ifc4x2::IfcCShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x2::IfcCShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x2::IfcCShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x2::IfcCShapeProfileDef::Width() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x2::IfcCShapeProfileDef::Width() const { double v = get_attribute_value(4); return v; } void Ifc4x2::IfcCShapeProfileDef::setWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x2::IfcCShapeProfileDef::WallThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x2::IfcCShapeProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x2::IfcCShapeProfileDef::setWallThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x2::IfcCShapeProfileDef::Girth() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x2::IfcCShapeProfileDef::Girth() const { double v = get_attribute_value(6); return v; } void Ifc4x2::IfcCShapeProfileDef::setGirth(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x2::IfcCShapeProfileDef::InternalFilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x2::IfcCShapeProfileDef::InternalFilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x2::IfcCShapeProfileDef::setInternalFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x2::IfcCShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X2_types[254]); } const IfcParse::entity& Ifc4x2::IfcCShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X2_types[254]); } Ifc4x2::IfcCShapeProfileDef::IfcCShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x2::IfcCShapeProfileDef::IfcCShapeProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, boost::optional< double > v8_InternalFilletRadius) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); }; populate_derived(); } +Ifc4x2::IfcCShapeProfileDef::IfcCShapeProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, boost::optional< double > v8_InternalFilletRadius) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); }; populate_derived(); } // Function implementations for IfcCableCarrierFitting -boost::optional< ::Ifc4x2::IfcCableCarrierFittingTypeEnum::Value > Ifc4x2::IfcCableCarrierFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcCableCarrierFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcCableCarrierFittingTypeEnum::Value > Ifc4x2::IfcCableCarrierFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcCableCarrierFitting::setPredefinedType(boost::optional< ::Ifc4x2::IfcCableCarrierFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcCableCarrierFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcCableCarrierFitting::declaration() const { return *((IfcParse::entity*)IFC4X2_types[125]); } const IfcParse::entity& Ifc4x2::IfcCableCarrierFitting::Class() { return *((IfcParse::entity*)IFC4X2_types[125]); } Ifc4x2::IfcCableCarrierFitting::IfcCableCarrierFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x2::IfcCableCarrierFitting::IfcCableCarrierFitting(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcCableCarrierFitting::IfcCableCarrierFitting(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableCarrierFittingType -::Ifc4x2::IfcCableCarrierFittingTypeEnum::Value Ifc4x2::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4x2::IfcCableCarrierFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcCableCarrierFittingTypeEnum::Value Ifc4x2::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4x2::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcCableCarrierFittingType::setPredefinedType(::Ifc4x2::IfcCableCarrierFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcCableCarrierFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcCableCarrierFittingType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[126]); } const IfcParse::entity& Ifc4x2::IfcCableCarrierFittingType::Class() { return *((IfcParse::entity*)IFC4X2_types[126]); } Ifc4x2::IfcCableCarrierFittingType::IfcCableCarrierFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x2::IfcCableCarrierFittingType::IfcCableCarrierFittingType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcCableCarrierFittingType::IfcCableCarrierFittingType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCableCarrierSegment -boost::optional< ::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x2::IfcCableCarrierSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcCableCarrierSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x2::IfcCableCarrierSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcCableCarrierSegment::setPredefinedType(boost::optional< ::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcCableCarrierSegment::declaration() const { return *((IfcParse::entity*)IFC4X2_types[128]); } const IfcParse::entity& Ifc4x2::IfcCableCarrierSegment::Class() { return *((IfcParse::entity*)IFC4X2_types[128]); } Ifc4x2::IfcCableCarrierSegment::IfcCableCarrierSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x2::IfcCableCarrierSegment::IfcCableCarrierSegment(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcCableCarrierSegment::IfcCableCarrierSegment(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableCarrierSegmentType -::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Value Ifc4x2::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4x2::IfcCableCarrierSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Value Ifc4x2::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4x2::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcCableCarrierSegmentType::setPredefinedType(::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcCableCarrierSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[129]); } const IfcParse::entity& Ifc4x2::IfcCableCarrierSegmentType::Class() { return *((IfcParse::entity*)IFC4X2_types[129]); } Ifc4x2::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x2::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCableFitting -boost::optional< ::Ifc4x2::IfcCableFittingTypeEnum::Value > Ifc4x2::IfcCableFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcCableFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcCableFittingTypeEnum::Value > Ifc4x2::IfcCableFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcCableFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcCableFitting::setPredefinedType(boost::optional< ::Ifc4x2::IfcCableFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcCableFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcCableFitting::declaration() const { return *((IfcParse::entity*)IFC4X2_types[131]); } const IfcParse::entity& Ifc4x2::IfcCableFitting::Class() { return *((IfcParse::entity*)IFC4X2_types[131]); } Ifc4x2::IfcCableFitting::IfcCableFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x2::IfcCableFitting::IfcCableFitting(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcCableFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcCableFitting::IfcCableFitting(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcCableFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableFittingType -::Ifc4x2::IfcCableFittingTypeEnum::Value Ifc4x2::IfcCableFittingType::PredefinedType() const { return ::Ifc4x2::IfcCableFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcCableFittingTypeEnum::Value Ifc4x2::IfcCableFittingType::PredefinedType() const { return ::Ifc4x2::IfcCableFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcCableFittingType::setPredefinedType(::Ifc4x2::IfcCableFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcCableFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcCableFittingType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[132]); } const IfcParse::entity& Ifc4x2::IfcCableFittingType::Class() { return *((IfcParse::entity*)IFC4X2_types[132]); } Ifc4x2::IfcCableFittingType::IfcCableFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x2::IfcCableFittingType::IfcCableFittingType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCableFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcCableFittingType::IfcCableFittingType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCableFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCableSegment -boost::optional< ::Ifc4x2::IfcCableSegmentTypeEnum::Value > Ifc4x2::IfcCableSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcCableSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcCableSegmentTypeEnum::Value > Ifc4x2::IfcCableSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcCableSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcCableSegment::setPredefinedType(boost::optional< ::Ifc4x2::IfcCableSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcCableSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcCableSegment::declaration() const { return *((IfcParse::entity*)IFC4X2_types[134]); } const IfcParse::entity& Ifc4x2::IfcCableSegment::Class() { return *((IfcParse::entity*)IFC4X2_types[134]); } Ifc4x2::IfcCableSegment::IfcCableSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x2::IfcCableSegment::IfcCableSegment(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcCableSegment::IfcCableSegment(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableSegmentType -::Ifc4x2::IfcCableSegmentTypeEnum::Value Ifc4x2::IfcCableSegmentType::PredefinedType() const { return ::Ifc4x2::IfcCableSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcCableSegmentTypeEnum::Value Ifc4x2::IfcCableSegmentType::PredefinedType() const { return ::Ifc4x2::IfcCableSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcCableSegmentType::setPredefinedType(::Ifc4x2::IfcCableSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcCableSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcCableSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[135]); } const IfcParse::entity& Ifc4x2::IfcCableSegmentType::Class() { return *((IfcParse::entity*)IFC4X2_types[135]); } Ifc4x2::IfcCableSegmentType::IfcCableSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x2::IfcCableSegmentType::IfcCableSegmentType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCableSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcCableSegmentType::IfcCableSegmentType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCableSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCaissonFoundation -boost::optional< ::Ifc4x2::IfcCaissonFoundationTypeEnum::Value > Ifc4x2::IfcCaissonFoundation::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcCaissonFoundationTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcCaissonFoundationTypeEnum::Value > Ifc4x2::IfcCaissonFoundation::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcCaissonFoundation::setPredefinedType(boost::optional< ::Ifc4x2::IfcCaissonFoundationTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcCaissonFoundationTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcCaissonFoundation::declaration() const { return *((IfcParse::entity*)IFC4X2_types[137]); } const IfcParse::entity& Ifc4x2::IfcCaissonFoundation::Class() { return *((IfcParse::entity*)IFC4X2_types[137]); } Ifc4x2::IfcCaissonFoundation::IfcCaissonFoundation(IfcEntityInstanceData&& e) : IfcDeepFoundation(std::move(e)) { } -Ifc4x2::IfcCaissonFoundation::IfcCaissonFoundation(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType) : IfcDeepFoundation(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcCaissonFoundation::IfcCaissonFoundation(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType) : IfcDeepFoundation(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCaissonFoundationType -::Ifc4x2::IfcCaissonFoundationTypeEnum::Value Ifc4x2::IfcCaissonFoundationType::PredefinedType() const { return ::Ifc4x2::IfcCaissonFoundationTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcCaissonFoundationTypeEnum::Value Ifc4x2::IfcCaissonFoundationType::PredefinedType() const { return ::Ifc4x2::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcCaissonFoundationType::setPredefinedType(::Ifc4x2::IfcCaissonFoundationTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcCaissonFoundationTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcCaissonFoundationType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[138]); } const IfcParse::entity& Ifc4x2::IfcCaissonFoundationType::Class() { return *((IfcParse::entity*)IFC4X2_types[138]); } Ifc4x2::IfcCaissonFoundationType::IfcCaissonFoundationType(IfcEntityInstanceData&& e) : IfcDeepFoundationType(std::move(e)) { } -Ifc4x2::IfcCaissonFoundationType::IfcCaissonFoundationType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcCaissonFoundationType::IfcCaissonFoundationType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCartesianPoint -std::vector< double > /*[1:3]*/ Ifc4x2::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[1:3]*/ Ifc4x2::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = get_attribute_value(0); return v; } void Ifc4x2::IfcCartesianPoint::setCoordinates(std::vector< double > /*[1:3]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x2::IfcCartesianPoint::declaration() const { return *((IfcParse::entity*)IFC4X2_types[141]); } const IfcParse::entity& Ifc4x2::IfcCartesianPoint::Class() { return *((IfcParse::entity*)IFC4X2_types[141]); } Ifc4x2::IfcCartesianPoint::IfcCartesianPoint(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x2::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ v1_Coordinates) : IfcPoint(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } +Ifc4x2::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ v1_Coordinates) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } // Function implementations for IfcCartesianPointList @@ -8062,47 +8062,47 @@ Ifc4x2::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ v1_ const IfcParse::entity& Ifc4x2::IfcCartesianPointList::declaration() const { return *((IfcParse::entity*)IFC4X2_types[142]); } const IfcParse::entity& Ifc4x2::IfcCartesianPointList::Class() { return *((IfcParse::entity*)IFC4X2_types[142]); } Ifc4x2::IfcCartesianPointList::IfcCartesianPointList(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x2::IfcCartesianPointList::IfcCartesianPointList() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x2::IfcCartesianPointList::IfcCartesianPointList() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcCartesianPointList2D -std::vector< std::vector< double > > Ifc4x2::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x2::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x2::IfcCartesianPointList2D::setCoordList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcCartesianPointList2D::TagList() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcCartesianPointList2D::TagList() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x2::IfcCartesianPointList2D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x2::IfcCartesianPointList2D::declaration() const { return *((IfcParse::entity*)IFC4X2_types[143]); } const IfcParse::entity& Ifc4x2::IfcCartesianPointList2D::Class() { return *((IfcParse::entity*)IFC4X2_types[143]); } Ifc4x2::IfcCartesianPointList2D::IfcCartesianPointList2D(IfcEntityInstanceData&& e) : IfcCartesianPointList(std::move(e)) { } -Ifc4x2::IfcCartesianPointList2D::IfcCartesianPointList2D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } +Ifc4x2::IfcCartesianPointList2D::IfcCartesianPointList2D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } // Function implementations for IfcCartesianPointList3D -std::vector< std::vector< double > > Ifc4x2::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x2::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x2::IfcCartesianPointList3D::setCoordList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcCartesianPointList3D::TagList() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcCartesianPointList3D::TagList() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x2::IfcCartesianPointList3D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x2::IfcCartesianPointList3D::declaration() const { return *((IfcParse::entity*)IFC4X2_types[144]); } const IfcParse::entity& Ifc4x2::IfcCartesianPointList3D::Class() { return *((IfcParse::entity*)IFC4X2_types[144]); } Ifc4x2::IfcCartesianPointList3D::IfcCartesianPointList3D(IfcEntityInstanceData&& e) : IfcCartesianPointList(std::move(e)) { } -Ifc4x2::IfcCartesianPointList3D::IfcCartesianPointList3D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } +Ifc4x2::IfcCartesianPointList3D::IfcCartesianPointList3D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator -::Ifc4x2::IfcDirection* Ifc4x2::IfcCartesianTransformationOperator::Axis1() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcDirection>(true); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcCartesianTransformationOperator::Axis1() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcCartesianTransformationOperator::setAxis1(::Ifc4x2::IfcDirection* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcDirection* Ifc4x2::IfcCartesianTransformationOperator::Axis2() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcDirection>(true); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcCartesianTransformationOperator::Axis2() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcCartesianTransformationOperator::setAxis2(::Ifc4x2::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcCartesianPoint* Ifc4x2::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcCartesianPoint>(true); } +::Ifc4x2::IfcCartesianPoint* Ifc4x2::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcCartesianPoint>(true); } void Ifc4x2::IfcCartesianTransformationOperator::setLocalOrigin(::Ifc4x2::IfcCartesianPoint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4x2::IfcCartesianTransformationOperator::Scale() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x2::IfcCartesianTransformationOperator::Scale() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x2::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x2::IfcCartesianTransformationOperator::declaration() const { return *((IfcParse::entity*)IFC4X2_types[145]); } const IfcParse::entity& Ifc4x2::IfcCartesianTransformationOperator::Class() { return *((IfcParse::entity*)IFC4X2_types[145]); } Ifc4x2::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x2::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(::Ifc4x2::IfcDirection* v1_Axis1, ::Ifc4x2::IfcDirection* v2_Axis2, ::Ifc4x2::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } +Ifc4x2::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(::Ifc4x2::IfcDirection* v1_Axis1, ::Ifc4x2::IfcDirection* v2_Axis2, ::Ifc4x2::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator2D @@ -8110,131 +8110,131 @@ Ifc4x2::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(: const IfcParse::entity& Ifc4x2::IfcCartesianTransformationOperator2D::declaration() const { return *((IfcParse::entity*)IFC4X2_types[146]); } const IfcParse::entity& Ifc4x2::IfcCartesianTransformationOperator2D::Class() { return *((IfcParse::entity*)IFC4X2_types[146]); } Ifc4x2::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator(std::move(e)) { } -Ifc4x2::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(::Ifc4x2::IfcDirection* v1_Axis1, ::Ifc4x2::IfcDirection* v2_Axis2, ::Ifc4x2::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcCartesianTransformationOperator(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } +Ifc4x2::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(::Ifc4x2::IfcDirection* v1_Axis1, ::Ifc4x2::IfcDirection* v2_Axis2, ::Ifc4x2::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcCartesianTransformationOperator(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator2DnonUniform -boost::optional< double > Ifc4x2::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x2::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x2::IfcCartesianTransformationOperator2DnonUniform::setScale2(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x2::IfcCartesianTransformationOperator2DnonUniform::declaration() const { return *((IfcParse::entity*)IFC4X2_types[147]); } const IfcParse::entity& Ifc4x2::IfcCartesianTransformationOperator2DnonUniform::Class() { return *((IfcParse::entity*)IFC4X2_types[147]); } Ifc4x2::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator2D(std::move(e)) { } -Ifc4x2::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(::Ifc4x2::IfcDirection* v1_Axis1, ::Ifc4x2::IfcDirection* v2_Axis2, ::Ifc4x2::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2) : IfcCartesianTransformationOperator2D(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; populate_derived(); } +Ifc4x2::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(::Ifc4x2::IfcDirection* v1_Axis1, ::Ifc4x2::IfcDirection* v2_Axis2, ::Ifc4x2::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2) : IfcCartesianTransformationOperator2D(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator3D -::Ifc4x2::IfcDirection* Ifc4x2::IfcCartesianTransformationOperator3D::Axis3() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcDirection>(true); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcCartesianTransformationOperator3D::Axis3() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcCartesianTransformationOperator3D::setAxis3(::Ifc4x2::IfcDirection* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x2::IfcCartesianTransformationOperator3D::declaration() const { return *((IfcParse::entity*)IFC4X2_types[148]); } const IfcParse::entity& Ifc4x2::IfcCartesianTransformationOperator3D::Class() { return *((IfcParse::entity*)IFC4X2_types[148]); } Ifc4x2::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator(std::move(e)) { } -Ifc4x2::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(::Ifc4x2::IfcDirection* v1_Axis1, ::Ifc4x2::IfcDirection* v2_Axis2, ::Ifc4x2::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x2::IfcDirection* v5_Axis3) : IfcCartesianTransformationOperator(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(::Ifc4x2::IfcDirection* v1_Axis1, ::Ifc4x2::IfcDirection* v2_Axis2, ::Ifc4x2::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x2::IfcDirection* v5_Axis3) : IfcCartesianTransformationOperator(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator3DnonUniform -boost::optional< double > Ifc4x2::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x2::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x2::IfcCartesianTransformationOperator3DnonUniform::setScale2(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x2::IfcCartesianTransformationOperator3DnonUniform::Scale3() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x2::IfcCartesianTransformationOperator3DnonUniform::Scale3() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x2::IfcCartesianTransformationOperator3DnonUniform::setScale3(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x2::IfcCartesianTransformationOperator3DnonUniform::declaration() const { return *((IfcParse::entity*)IFC4X2_types[149]); } const IfcParse::entity& Ifc4x2::IfcCartesianTransformationOperator3DnonUniform::Class() { return *((IfcParse::entity*)IFC4X2_types[149]); } Ifc4x2::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator3D(std::move(e)) { } -Ifc4x2::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(::Ifc4x2::IfcDirection* v1_Axis1, ::Ifc4x2::IfcDirection* v2_Axis2, ::Ifc4x2::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x2::IfcDirection* v5_Axis3, boost::optional< double > v6_Scale2, boost::optional< double > v7_Scale3) : IfcCartesianTransformationOperator3D(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; populate_derived(); } +Ifc4x2::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(::Ifc4x2::IfcDirection* v1_Axis1, ::Ifc4x2::IfcDirection* v2_Axis2, ::Ifc4x2::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x2::IfcDirection* v5_Axis3, boost::optional< double > v6_Scale2, boost::optional< double > v7_Scale3) : IfcCartesianTransformationOperator3D(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; populate_derived(); } // Function implementations for IfcCenterLineProfileDef -double Ifc4x2::IfcCenterLineProfileDef::Thickness() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x2::IfcCenterLineProfileDef::Thickness() const { double v = get_attribute_value(3); return v; } void Ifc4x2::IfcCenterLineProfileDef::setThickness(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x2::IfcCenterLineProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X2_types[150]); } const IfcParse::entity& Ifc4x2::IfcCenterLineProfileDef::Class() { return *((IfcParse::entity*)IFC4X2_types[150]); } Ifc4x2::IfcCenterLineProfileDef::IfcCenterLineProfileDef(IfcEntityInstanceData&& e) : IfcArbitraryOpenProfileDef(std::move(e)) { } -Ifc4x2::IfcCenterLineProfileDef::IfcCenterLineProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcBoundedCurve* v3_Curve, double v4_Thickness) : IfcArbitraryOpenProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Thickness));; populate_derived(); } +Ifc4x2::IfcCenterLineProfileDef::IfcCenterLineProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcBoundedCurve* v3_Curve, double v4_Thickness) : IfcArbitraryOpenProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Thickness));; populate_derived(); } // Function implementations for IfcChiller -boost::optional< ::Ifc4x2::IfcChillerTypeEnum::Value > Ifc4x2::IfcChiller::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcChillerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcChillerTypeEnum::Value > Ifc4x2::IfcChiller::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcChillerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcChiller::setPredefinedType(boost::optional< ::Ifc4x2::IfcChillerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcChillerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcChiller::declaration() const { return *((IfcParse::entity*)IFC4X2_types[152]); } const IfcParse::entity& Ifc4x2::IfcChiller::Class() { return *((IfcParse::entity*)IFC4X2_types[152]); } Ifc4x2::IfcChiller::IfcChiller(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x2::IfcChiller::IfcChiller(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcChillerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcChiller::IfcChiller(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcChillerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcChillerType -::Ifc4x2::IfcChillerTypeEnum::Value Ifc4x2::IfcChillerType::PredefinedType() const { return ::Ifc4x2::IfcChillerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcChillerTypeEnum::Value Ifc4x2::IfcChillerType::PredefinedType() const { return ::Ifc4x2::IfcChillerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcChillerType::setPredefinedType(::Ifc4x2::IfcChillerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcChillerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcChillerType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[153]); } const IfcParse::entity& Ifc4x2::IfcChillerType::Class() { return *((IfcParse::entity*)IFC4X2_types[153]); } Ifc4x2::IfcChillerType::IfcChillerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x2::IfcChillerType::IfcChillerType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcChillerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcChillerType::IfcChillerType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcChillerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcChimney -boost::optional< ::Ifc4x2::IfcChimneyTypeEnum::Value > Ifc4x2::IfcChimney::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcChimneyTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcChimneyTypeEnum::Value > Ifc4x2::IfcChimney::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcChimneyTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcChimney::setPredefinedType(boost::optional< ::Ifc4x2::IfcChimneyTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcChimneyTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcChimney::declaration() const { return *((IfcParse::entity*)IFC4X2_types[155]); } const IfcParse::entity& Ifc4x2::IfcChimney::Class() { return *((IfcParse::entity*)IFC4X2_types[155]); } Ifc4x2::IfcChimney::IfcChimney(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x2::IfcChimney::IfcChimney(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcChimneyTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcChimney::IfcChimney(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcChimneyTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcChimneyType -::Ifc4x2::IfcChimneyTypeEnum::Value Ifc4x2::IfcChimneyType::PredefinedType() const { return ::Ifc4x2::IfcChimneyTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcChimneyTypeEnum::Value Ifc4x2::IfcChimneyType::PredefinedType() const { return ::Ifc4x2::IfcChimneyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcChimneyType::setPredefinedType(::Ifc4x2::IfcChimneyTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcChimneyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcChimneyType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[156]); } const IfcParse::entity& Ifc4x2::IfcChimneyType::Class() { return *((IfcParse::entity*)IFC4X2_types[156]); } Ifc4x2::IfcChimneyType::IfcChimneyType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x2::IfcChimneyType::IfcChimneyType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcChimneyTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcChimneyType::IfcChimneyType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcChimneyTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCircle -double Ifc4x2::IfcCircle::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x2::IfcCircle::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x2::IfcCircle::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcCircle::declaration() const { return *((IfcParse::entity*)IFC4X2_types[158]); } const IfcParse::entity& Ifc4x2::IfcCircle::Class() { return *((IfcParse::entity*)IFC4X2_types[158]); } Ifc4x2::IfcCircle::IfcCircle(IfcEntityInstanceData&& e) : IfcConic(std::move(e)) { } -Ifc4x2::IfcCircle::IfcCircle(::Ifc4x2::IfcAxis2Placement* v1_Position, double v2_Radius) : IfcConic(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x2::IfcCircle::IfcCircle(::Ifc4x2::IfcAxis2Placement* v1_Position, double v2_Radius) : IfcConic(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcCircleHollowProfileDef -double Ifc4x2::IfcCircleHollowProfileDef::WallThickness() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x2::IfcCircleHollowProfileDef::WallThickness() const { double v = get_attribute_value(4); return v; } void Ifc4x2::IfcCircleHollowProfileDef::setWallThickness(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x2::IfcCircleHollowProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X2_types[159]); } const IfcParse::entity& Ifc4x2::IfcCircleHollowProfileDef::Class() { return *((IfcParse::entity*)IFC4X2_types[159]); } Ifc4x2::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(IfcEntityInstanceData&& e) : IfcCircleProfileDef(std::move(e)) { } -Ifc4x2::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D* v3_Position, double v4_Radius, double v5_WallThickness) : IfcCircleProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; populate_derived(); } +Ifc4x2::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D* v3_Position, double v4_Radius, double v5_WallThickness) : IfcCircleProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; populate_derived(); } // Function implementations for IfcCircleProfileDef -double Ifc4x2::IfcCircleProfileDef::Radius() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x2::IfcCircleProfileDef::Radius() const { double v = get_attribute_value(3); return v; } void Ifc4x2::IfcCircleProfileDef::setRadius(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x2::IfcCircleProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X2_types[160]); } const IfcParse::entity& Ifc4x2::IfcCircleProfileDef::Class() { return *((IfcParse::entity*)IFC4X2_types[160]); } Ifc4x2::IfcCircleProfileDef::IfcCircleProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x2::IfcCircleProfileDef::IfcCircleProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D* v3_Position, double v4_Radius) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));; populate_derived(); } +Ifc4x2::IfcCircleProfileDef::IfcCircleProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D* v3_Position, double v4_Radius) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));; populate_derived(); } // Function implementations for IfcCircularArcSegment2D -double Ifc4x2::IfcCircularArcSegment2D::Radius() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x2::IfcCircularArcSegment2D::Radius() const { double v = get_attribute_value(3); return v; } void Ifc4x2::IfcCircularArcSegment2D::setRadius(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -bool Ifc4x2::IfcCircularArcSegment2D::IsCCW() const { bool v = data_.get_attribute_value(4); return v; } +bool Ifc4x2::IfcCircularArcSegment2D::IsCCW() const { bool v = get_attribute_value(4); return v; } void Ifc4x2::IfcCircularArcSegment2D::setIsCCW(bool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x2::IfcCircularArcSegment2D::declaration() const { return *((IfcParse::entity*)IFC4X2_types[161]); } const IfcParse::entity& Ifc4x2::IfcCircularArcSegment2D::Class() { return *((IfcParse::entity*)IFC4X2_types[161]); } Ifc4x2::IfcCircularArcSegment2D::IfcCircularArcSegment2D(IfcEntityInstanceData&& e) : IfcCurveSegment2D(std::move(e)) { } -Ifc4x2::IfcCircularArcSegment2D::IfcCircularArcSegment2D(::Ifc4x2::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, double v4_Radius, bool v5_IsCCW) : IfcCurveSegment2D(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_StartPoint ? v1_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_IsCCW));; populate_derived(); } +Ifc4x2::IfcCircularArcSegment2D::IfcCircularArcSegment2D(::Ifc4x2::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, double v4_Radius, bool v5_IsCCW) : IfcCurveSegment2D(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_StartPoint ? v1_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_IsCCW));; populate_derived(); } // Function implementations for IfcCivilElement @@ -8242,7 +8242,7 @@ Ifc4x2::IfcCircularArcSegment2D::IfcCircularArcSegment2D(::Ifc4x2::IfcCartesianP const IfcParse::entity& Ifc4x2::IfcCivilElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[162]); } const IfcParse::entity& Ifc4x2::IfcCivilElement::Class() { return *((IfcParse::entity*)IFC4X2_types[162]); } Ifc4x2::IfcCivilElement::IfcCivilElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x2::IfcCivilElement::IfcCivilElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x2::IfcCivilElement::IfcCivilElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcCivilElementType @@ -8250,22 +8250,22 @@ Ifc4x2::IfcCivilElement::IfcCivilElement(std::string v1_GlobalId, ::Ifc4x2::IfcO const IfcParse::entity& Ifc4x2::IfcCivilElementType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[163]); } const IfcParse::entity& Ifc4x2::IfcCivilElementType::Class() { return *((IfcParse::entity*)IFC4X2_types[163]); } Ifc4x2::IfcCivilElementType::IfcCivilElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x2::IfcCivilElementType::IfcCivilElementType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x2::IfcCivilElementType::IfcCivilElementType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcClassification -boost::optional< std::string > Ifc4x2::IfcClassification::Source() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x2::IfcClassification::Source() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcClassification::setSource(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x2::IfcClassification::Edition() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x2::IfcClassification::Edition() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcClassification::setEdition(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x2::IfcClassification::EditionDate() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x2::IfcClassification::EditionDate() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcClassification::setEditionDate(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::string Ifc4x2::IfcClassification::Name() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x2::IfcClassification::Name() const { std::string v = get_attribute_value(3); return v; } void Ifc4x2::IfcClassification::setName(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x2::IfcClassification::Description() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x2::IfcClassification::Description() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcClassification::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x2::IfcClassification::Location() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x2::IfcClassification::Location() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcClassification::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcClassification::ReferenceTokens() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(6); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcClassification::ReferenceTokens() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(6); return v; } void Ifc4x2::IfcClassification::setReferenceTokens(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x2::IfcRelAssociatesClassification::list::ptr Ifc4x2::IfcClassification::ClassificationForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[846], 5)->as(); } @@ -8274,14 +8274,14 @@ void Ifc4x2::IfcClassification::setReferenceTokens(boost::optional< std::vector< const IfcParse::entity& Ifc4x2::IfcClassification::declaration() const { return *((IfcParse::entity*)IFC4X2_types[164]); } const IfcParse::entity& Ifc4x2::IfcClassification::Class() { return *((IfcParse::entity*)IFC4X2_types[164]); } Ifc4x2::IfcClassification::IfcClassification(IfcEntityInstanceData&& e) : IfcExternalInformation(std::move(e)) { } -Ifc4x2::IfcClassification::IfcClassification(boost::optional< std::string > v1_Source, boost::optional< std::string > v2_Edition, boost::optional< std::string > v3_EditionDate, std::string v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Location, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) : IfcExternalInformation(IfcEntityInstanceData(storage_t(7))) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Location) {set_attribute_value(5, (*v6_Location)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); }; populate_derived(); } +Ifc4x2::IfcClassification::IfcClassification(boost::optional< std::string > v1_Source, boost::optional< std::string > v2_Edition, boost::optional< std::string > v3_EditionDate, std::string v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Location, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) : IfcExternalInformation(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Location) {set_attribute_value(5, (*v6_Location)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); }; populate_derived(); } // Function implementations for IfcClassificationReference -::Ifc4x2::IfcClassificationReferenceSelect* Ifc4x2::IfcClassificationReference::ReferencedSource() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcClassificationReferenceSelect>(true); } +::Ifc4x2::IfcClassificationReferenceSelect* Ifc4x2::IfcClassificationReference::ReferencedSource() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcClassificationReferenceSelect>(true); } void Ifc4x2::IfcClassificationReference::setReferencedSource(::Ifc4x2::IfcClassificationReferenceSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x2::IfcClassificationReference::Description() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x2::IfcClassificationReference::Description() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcClassificationReference::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x2::IfcClassificationReference::Sort() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x2::IfcClassificationReference::Sort() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcClassificationReference::setSort(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x2::IfcRelAssociatesClassification::list::ptr Ifc4x2::IfcClassificationReference::ClassificationRefForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[846], 5)->as(); } @@ -8290,7 +8290,7 @@ void Ifc4x2::IfcClassificationReference::setSort(boost::optional< std::string > const IfcParse::entity& Ifc4x2::IfcClassificationReference::declaration() const { return *((IfcParse::entity*)IFC4X2_types[165]); } const IfcParse::entity& Ifc4x2::IfcClassificationReference::Class() { return *((IfcParse::entity*)IFC4X2_types[165]); } Ifc4x2::IfcClassificationReference::IfcClassificationReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x2::IfcClassificationReference::IfcClassificationReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, ::Ifc4x2::IfcClassificationReferenceSelect* v4_ReferencedSource, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Sort) : IfcExternalReference(IfcEntityInstanceData(storage_t(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, v4_ReferencedSource ? v4_ReferencedSource->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); }; populate_derived(); } +Ifc4x2::IfcClassificationReference::IfcClassificationReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, ::Ifc4x2::IfcClassificationReferenceSelect* v4_ReferencedSource, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Sort) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, v4_ReferencedSource ? v4_ReferencedSource->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); }; populate_derived(); } // Function implementations for IfcClosedShell @@ -8298,71 +8298,71 @@ Ifc4x2::IfcClassificationReference::IfcClassificationReference(boost::optional< const IfcParse::entity& Ifc4x2::IfcClosedShell::declaration() const { return *((IfcParse::entity*)IFC4X2_types[168]); } const IfcParse::entity& Ifc4x2::IfcClosedShell::Class() { return *((IfcParse::entity*)IFC4X2_types[168]); } Ifc4x2::IfcClosedShell::IfcClosedShell(IfcEntityInstanceData&& e) : IfcConnectedFaceSet(std::move(e)) { } -Ifc4x2::IfcClosedShell::IfcClosedShell(aggregate_of< ::Ifc4x2::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc4x2::IfcClosedShell::IfcClosedShell(aggregate_of< ::Ifc4x2::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcCoil -boost::optional< ::Ifc4x2::IfcCoilTypeEnum::Value > Ifc4x2::IfcCoil::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcCoilTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcCoilTypeEnum::Value > Ifc4x2::IfcCoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcCoilTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcCoil::setPredefinedType(boost::optional< ::Ifc4x2::IfcCoilTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcCoilTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcCoil::declaration() const { return *((IfcParse::entity*)IFC4X2_types[169]); } const IfcParse::entity& Ifc4x2::IfcCoil::Class() { return *((IfcParse::entity*)IFC4X2_types[169]); } Ifc4x2::IfcCoil::IfcCoil(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x2::IfcCoil::IfcCoil(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcCoilTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcCoil::IfcCoil(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcCoilTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCoilType -::Ifc4x2::IfcCoilTypeEnum::Value Ifc4x2::IfcCoilType::PredefinedType() const { return ::Ifc4x2::IfcCoilTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcCoilTypeEnum::Value Ifc4x2::IfcCoilType::PredefinedType() const { return ::Ifc4x2::IfcCoilTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcCoilType::setPredefinedType(::Ifc4x2::IfcCoilTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcCoilTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcCoilType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[170]); } const IfcParse::entity& Ifc4x2::IfcCoilType::Class() { return *((IfcParse::entity*)IFC4X2_types[170]); } Ifc4x2::IfcCoilType::IfcCoilType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x2::IfcCoilType::IfcCoilType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCoilTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcCoilType::IfcCoilType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCoilTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcColourRgb -double Ifc4x2::IfcColourRgb::Red() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x2::IfcColourRgb::Red() const { double v = get_attribute_value(1); return v; } void Ifc4x2::IfcColourRgb::setRed(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x2::IfcColourRgb::Green() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x2::IfcColourRgb::Green() const { double v = get_attribute_value(2); return v; } void Ifc4x2::IfcColourRgb::setGreen(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x2::IfcColourRgb::Blue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x2::IfcColourRgb::Blue() const { double v = get_attribute_value(3); return v; } void Ifc4x2::IfcColourRgb::setBlue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x2::IfcColourRgb::declaration() const { return *((IfcParse::entity*)IFC4X2_types[174]); } const IfcParse::entity& Ifc4x2::IfcColourRgb::Class() { return *((IfcParse::entity*)IFC4X2_types[174]); } Ifc4x2::IfcColourRgb::IfcColourRgb(IfcEntityInstanceData&& e) : IfcColourSpecification(std::move(e)) { } -Ifc4x2::IfcColourRgb::IfcColourRgb(boost::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) : IfcColourSpecification(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; populate_derived(); } +Ifc4x2::IfcColourRgb::IfcColourRgb(boost::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) : IfcColourSpecification(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; populate_derived(); } // Function implementations for IfcColourRgbList -std::vector< std::vector< double > > Ifc4x2::IfcColourRgbList::ColourList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x2::IfcColourRgbList::ColourList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x2::IfcColourRgbList::setColourList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x2::IfcColourRgbList::declaration() const { return *((IfcParse::entity*)IFC4X2_types[175]); } const IfcParse::entity& Ifc4x2::IfcColourRgbList::Class() { return *((IfcParse::entity*)IFC4X2_types[175]); } Ifc4x2::IfcColourRgbList::IfcColourRgbList(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x2::IfcColourRgbList::IfcColourRgbList(std::vector< std::vector< double > > v1_ColourList) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_ColourList));; populate_derived(); } +Ifc4x2::IfcColourRgbList::IfcColourRgbList(std::vector< std::vector< double > > v1_ColourList) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_ColourList));; populate_derived(); } // Function implementations for IfcColourSpecification -boost::optional< std::string > Ifc4x2::IfcColourSpecification::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x2::IfcColourSpecification::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcColourSpecification::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x2::IfcColourSpecification::declaration() const { return *((IfcParse::entity*)IFC4X2_types[176]); } const IfcParse::entity& Ifc4x2::IfcColourSpecification::Class() { return *((IfcParse::entity*)IFC4X2_types[176]); } Ifc4x2::IfcColourSpecification::IfcColourSpecification(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x2::IfcColourSpecification::IfcColourSpecification(boost::optional< std::string > v1_Name) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x2::IfcColourSpecification::IfcColourSpecification(boost::optional< std::string > v1_Name) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcColumn -boost::optional< ::Ifc4x2::IfcColumnTypeEnum::Value > Ifc4x2::IfcColumn::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcColumnTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcColumnTypeEnum::Value > Ifc4x2::IfcColumn::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcColumnTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcColumn::setPredefinedType(boost::optional< ::Ifc4x2::IfcColumnTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcColumnTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcColumn::declaration() const { return *((IfcParse::entity*)IFC4X2_types[177]); } const IfcParse::entity& Ifc4x2::IfcColumn::Class() { return *((IfcParse::entity*)IFC4X2_types[177]); } Ifc4x2::IfcColumn::IfcColumn(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x2::IfcColumn::IfcColumn(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcColumnTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcColumn::IfcColumn(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcColumnTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcColumnStandardCase @@ -8370,75 +8370,75 @@ Ifc4x2::IfcColumn::IfcColumn(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* const IfcParse::entity& Ifc4x2::IfcColumnStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X2_types[178]); } const IfcParse::entity& Ifc4x2::IfcColumnStandardCase::Class() { return *((IfcParse::entity*)IFC4X2_types[178]); } Ifc4x2::IfcColumnStandardCase::IfcColumnStandardCase(IfcEntityInstanceData&& e) : IfcColumn(std::move(e)) { } -Ifc4x2::IfcColumnStandardCase::IfcColumnStandardCase(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcColumnTypeEnum::Value > v9_PredefinedType) : IfcColumn(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcColumnStandardCase::IfcColumnStandardCase(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcColumnTypeEnum::Value > v9_PredefinedType) : IfcColumn(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcColumnType -::Ifc4x2::IfcColumnTypeEnum::Value Ifc4x2::IfcColumnType::PredefinedType() const { return ::Ifc4x2::IfcColumnTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcColumnTypeEnum::Value Ifc4x2::IfcColumnType::PredefinedType() const { return ::Ifc4x2::IfcColumnTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcColumnType::setPredefinedType(::Ifc4x2::IfcColumnTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcColumnTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcColumnType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[179]); } const IfcParse::entity& Ifc4x2::IfcColumnType::Class() { return *((IfcParse::entity*)IFC4X2_types[179]); } Ifc4x2::IfcColumnType::IfcColumnType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x2::IfcColumnType::IfcColumnType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcColumnTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcColumnType::IfcColumnType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcColumnTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCommunicationsAppliance -boost::optional< ::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x2::IfcCommunicationsAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcCommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x2::IfcCommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcCommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcCommunicationsAppliance::declaration() const { return *((IfcParse::entity*)IFC4X2_types[181]); } const IfcParse::entity& Ifc4x2::IfcCommunicationsAppliance::Class() { return *((IfcParse::entity*)IFC4X2_types[181]); } Ifc4x2::IfcCommunicationsAppliance::IfcCommunicationsAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x2::IfcCommunicationsAppliance::IfcCommunicationsAppliance(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcCommunicationsAppliance::IfcCommunicationsAppliance(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCommunicationsApplianceType -::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value Ifc4x2::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4x2::IfcCommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value Ifc4x2::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4x2::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcCommunicationsApplianceType::setPredefinedType(::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcCommunicationsApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[182]); } const IfcParse::entity& Ifc4x2::IfcCommunicationsApplianceType::Class() { return *((IfcParse::entity*)IFC4X2_types[182]); } Ifc4x2::IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x2::IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcComplexProperty -std::string Ifc4x2::IfcComplexProperty::UsageName() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x2::IfcComplexProperty::UsageName() const { std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcComplexProperty::setUsageName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x2::IfcProperty >::ptr Ifc4x2::IfcComplexProperty::HasProperties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x2::IfcProperty >(); } +aggregate_of< ::Ifc4x2::IfcProperty >::ptr Ifc4x2::IfcComplexProperty::HasProperties() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x2::IfcProperty >(); } void Ifc4x2::IfcComplexProperty::setHasProperties(aggregate_of< ::Ifc4x2::IfcProperty >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x2::IfcComplexProperty::declaration() const { return *((IfcParse::entity*)IFC4X2_types[185]); } const IfcParse::entity& Ifc4x2::IfcComplexProperty::Class() { return *((IfcParse::entity*)IFC4X2_types[185]); } Ifc4x2::IfcComplexProperty::IfcComplexProperty(IfcEntityInstanceData&& e) : IfcProperty(std::move(e)) { } -Ifc4x2::IfcComplexProperty::IfcComplexProperty(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_UsageName, aggregate_of< ::Ifc4x2::IfcProperty >::ptr v4_HasProperties) : IfcProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, (v4_HasProperties)->generalize());; populate_derived(); } +Ifc4x2::IfcComplexProperty::IfcComplexProperty(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_UsageName, aggregate_of< ::Ifc4x2::IfcProperty >::ptr v4_HasProperties) : IfcProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, (v4_HasProperties)->generalize());; populate_derived(); } // Function implementations for IfcComplexPropertyTemplate -boost::optional< std::string > Ifc4x2::IfcComplexPropertyTemplate::UsageName() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x2::IfcComplexPropertyTemplate::UsageName() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcComplexPropertyTemplate::setUsageName(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< ::Ifc4x2::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4x2::IfcComplexPropertyTemplate::TemplateType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x2::IfcComplexPropertyTemplateTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x2::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4x2::IfcComplexPropertyTemplate::TemplateType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x2::IfcComplexPropertyTemplateTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x2::IfcComplexPropertyTemplate::setTemplateType(boost::optional< ::Ifc4x2::IfcComplexPropertyTemplateTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x2::IfcComplexPropertyTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -boost::optional< aggregate_of< ::Ifc4x2::IfcPropertyTemplate >::ptr > Ifc4x2::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x2::IfcPropertyTemplate >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcPropertyTemplate >::ptr > Ifc4x2::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x2::IfcPropertyTemplate >(); } void Ifc4x2::IfcComplexPropertyTemplate::setHasPropertyTemplates(boost::optional< aggregate_of< ::Ifc4x2::IfcPropertyTemplate >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x2::IfcComplexPropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X2_types[186]); } const IfcParse::entity& Ifc4x2::IfcComplexPropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X2_types[186]); } Ifc4x2::IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplate(std::move(e)) { } -Ifc4x2::IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_UsageName, boost::optional< ::Ifc4x2::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertyTemplate >::ptr > v7_HasPropertyTemplates) : IfcPropertyTemplate(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, (*v7_HasPropertyTemplates)->generalize()); }; populate_derived(); } +Ifc4x2::IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_UsageName, boost::optional< ::Ifc4x2::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertyTemplate >::ptr > v7_HasPropertyTemplates) : IfcPropertyTemplate(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, (*v7_HasPropertyTemplates)->generalize()); }; populate_derived(); } // Function implementations for IfcCompositeCurve -aggregate_of< ::Ifc4x2::IfcCompositeCurveSegment >::ptr Ifc4x2::IfcCompositeCurve::Segments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x2::IfcCompositeCurveSegment >(); } +aggregate_of< ::Ifc4x2::IfcCompositeCurveSegment >::ptr Ifc4x2::IfcCompositeCurve::Segments() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x2::IfcCompositeCurveSegment >(); } void Ifc4x2::IfcCompositeCurve::setSegments(aggregate_of< ::Ifc4x2::IfcCompositeCurveSegment >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::logic::tribool Ifc4x2::IfcCompositeCurve::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(1); return v; } +boost::logic::tribool Ifc4x2::IfcCompositeCurve::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(1); return v; } void Ifc4x2::IfcCompositeCurve::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcCompositeCurve::declaration() const { return *((IfcParse::entity*)IFC4X2_types[188]); } const IfcParse::entity& Ifc4x2::IfcCompositeCurve::Class() { return *((IfcParse::entity*)IFC4X2_types[188]); } Ifc4x2::IfcCompositeCurve::IfcCompositeCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x2::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc4x2::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x2::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc4x2::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcCompositeCurveOnSurface @@ -8446,14 +8446,14 @@ Ifc4x2::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc4x2::IfcComposit const IfcParse::entity& Ifc4x2::IfcCompositeCurveOnSurface::declaration() const { return *((IfcParse::entity*)IFC4X2_types[189]); } const IfcParse::entity& Ifc4x2::IfcCompositeCurveOnSurface::Class() { return *((IfcParse::entity*)IFC4X2_types[189]); } Ifc4x2::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(IfcEntityInstanceData&& e) : IfcCompositeCurve(std::move(e)) { } -Ifc4x2::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(aggregate_of< ::Ifc4x2::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x2::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(aggregate_of< ::Ifc4x2::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcCompositeCurveSegment -::Ifc4x2::IfcTransitionCode::Value Ifc4x2::IfcCompositeCurveSegment::Transition() const { return ::Ifc4x2::IfcTransitionCode::FromString(data_.get_attribute_value(0)); } +::Ifc4x2::IfcTransitionCode::Value Ifc4x2::IfcCompositeCurveSegment::Transition() const { return ::Ifc4x2::IfcTransitionCode::FromString(get_attribute_value(0)); } void Ifc4x2::IfcCompositeCurveSegment::setTransition(::Ifc4x2::IfcTransitionCode::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x2::IfcTransitionCode::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -bool Ifc4x2::IfcCompositeCurveSegment::SameSense() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x2::IfcCompositeCurveSegment::SameSense() const { bool v = get_attribute_value(1); return v; } void Ifc4x2::IfcCompositeCurveSegment::setSameSense(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcCurve* Ifc4x2::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcCurve>(true); } +::Ifc4x2::IfcCurve* Ifc4x2::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcCompositeCurveSegment::setParentCurve(::Ifc4x2::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } ::Ifc4x2::IfcCompositeCurve::list::ptr Ifc4x2::IfcCompositeCurveSegment::UsingCurves() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[188], 0)->as(); } @@ -8461,91 +8461,91 @@ void Ifc4x2::IfcCompositeCurveSegment::setParentCurve(::Ifc4x2::IfcCurve* v) { s const IfcParse::entity& Ifc4x2::IfcCompositeCurveSegment::declaration() const { return *((IfcParse::entity*)IFC4X2_types[190]); } const IfcParse::entity& Ifc4x2::IfcCompositeCurveSegment::Class() { return *((IfcParse::entity*)IFC4X2_types[190]); } Ifc4x2::IfcCompositeCurveSegment::IfcCompositeCurveSegment(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x2::IfcCompositeCurveSegment::IfcCompositeCurveSegment(::Ifc4x2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x2::IfcCurve* v3_ParentCurve) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcCompositeCurveSegment::IfcCompositeCurveSegment(::Ifc4x2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x2::IfcCurve* v3_ParentCurve) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCompositeProfileDef -aggregate_of< ::Ifc4x2::IfcProfileDef >::ptr Ifc4x2::IfcCompositeProfileDef::Profiles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x2::IfcProfileDef >(); } +aggregate_of< ::Ifc4x2::IfcProfileDef >::ptr Ifc4x2::IfcCompositeProfileDef::Profiles() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x2::IfcProfileDef >(); } void Ifc4x2::IfcCompositeProfileDef::setProfiles(aggregate_of< ::Ifc4x2::IfcProfileDef >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x2::IfcCompositeProfileDef::Label() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x2::IfcCompositeProfileDef::Label() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x2::IfcCompositeProfileDef::setLabel(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x2::IfcCompositeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X2_types[191]); } const IfcParse::entity& Ifc4x2::IfcCompositeProfileDef::Class() { return *((IfcParse::entity*)IFC4X2_types[191]); } Ifc4x2::IfcCompositeProfileDef::IfcCompositeProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x2::IfcCompositeProfileDef::IfcCompositeProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, aggregate_of< ::Ifc4x2::IfcProfileDef >::ptr v3_Profiles, boost::optional< std::string > v4_Label) : IfcProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Profiles)->generalize()); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; populate_derived(); } +Ifc4x2::IfcCompositeProfileDef::IfcCompositeProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, aggregate_of< ::Ifc4x2::IfcProfileDef >::ptr v3_Profiles, boost::optional< std::string > v4_Label) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Profiles)->generalize()); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; populate_derived(); } // Function implementations for IfcCompressor -boost::optional< ::Ifc4x2::IfcCompressorTypeEnum::Value > Ifc4x2::IfcCompressor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcCompressorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcCompressorTypeEnum::Value > Ifc4x2::IfcCompressor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcCompressorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcCompressor::setPredefinedType(boost::optional< ::Ifc4x2::IfcCompressorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcCompressorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcCompressor::declaration() const { return *((IfcParse::entity*)IFC4X2_types[193]); } const IfcParse::entity& Ifc4x2::IfcCompressor::Class() { return *((IfcParse::entity*)IFC4X2_types[193]); } Ifc4x2::IfcCompressor::IfcCompressor(IfcEntityInstanceData&& e) : IfcFlowMovingDevice(std::move(e)) { } -Ifc4x2::IfcCompressor::IfcCompressor(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcCompressorTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcCompressor::IfcCompressor(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcCompressorTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCompressorType -::Ifc4x2::IfcCompressorTypeEnum::Value Ifc4x2::IfcCompressorType::PredefinedType() const { return ::Ifc4x2::IfcCompressorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcCompressorTypeEnum::Value Ifc4x2::IfcCompressorType::PredefinedType() const { return ::Ifc4x2::IfcCompressorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcCompressorType::setPredefinedType(::Ifc4x2::IfcCompressorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcCompressorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcCompressorType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[194]); } const IfcParse::entity& Ifc4x2::IfcCompressorType::Class() { return *((IfcParse::entity*)IFC4X2_types[194]); } Ifc4x2::IfcCompressorType::IfcCompressorType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(e)) { } -Ifc4x2::IfcCompressorType::IfcCompressorType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCompressorTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcCompressorType::IfcCompressorType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCompressorTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCondenser -boost::optional< ::Ifc4x2::IfcCondenserTypeEnum::Value > Ifc4x2::IfcCondenser::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcCondenserTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcCondenserTypeEnum::Value > Ifc4x2::IfcCondenser::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcCondenserTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcCondenser::setPredefinedType(boost::optional< ::Ifc4x2::IfcCondenserTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcCondenserTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcCondenser::declaration() const { return *((IfcParse::entity*)IFC4X2_types[196]); } const IfcParse::entity& Ifc4x2::IfcCondenser::Class() { return *((IfcParse::entity*)IFC4X2_types[196]); } Ifc4x2::IfcCondenser::IfcCondenser(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x2::IfcCondenser::IfcCondenser(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcCondenserTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcCondenser::IfcCondenser(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcCondenserTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCondenserType -::Ifc4x2::IfcCondenserTypeEnum::Value Ifc4x2::IfcCondenserType::PredefinedType() const { return ::Ifc4x2::IfcCondenserTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcCondenserTypeEnum::Value Ifc4x2::IfcCondenserType::PredefinedType() const { return ::Ifc4x2::IfcCondenserTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcCondenserType::setPredefinedType(::Ifc4x2::IfcCondenserTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcCondenserTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcCondenserType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[197]); } const IfcParse::entity& Ifc4x2::IfcCondenserType::Class() { return *((IfcParse::entity*)IFC4X2_types[197]); } Ifc4x2::IfcCondenserType::IfcCondenserType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x2::IfcCondenserType::IfcCondenserType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCondenserTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcCondenserType::IfcCondenserType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCondenserTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcConic -::Ifc4x2::IfcAxis2Placement* Ifc4x2::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcAxis2Placement>(true); } +::Ifc4x2::IfcAxis2Placement* Ifc4x2::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcAxis2Placement>(true); } void Ifc4x2::IfcConic::setPosition(::Ifc4x2::IfcAxis2Placement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x2::IfcConic::declaration() const { return *((IfcParse::entity*)IFC4X2_types[199]); } const IfcParse::entity& Ifc4x2::IfcConic::Class() { return *((IfcParse::entity*)IFC4X2_types[199]); } Ifc4x2::IfcConic::IfcConic(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x2::IfcConic::IfcConic(::Ifc4x2::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcConic::IfcConic(::Ifc4x2::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectedFaceSet -aggregate_of< ::Ifc4x2::IfcFace >::ptr Ifc4x2::IfcConnectedFaceSet::CfsFaces() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x2::IfcFace >(); } +aggregate_of< ::Ifc4x2::IfcFace >::ptr Ifc4x2::IfcConnectedFaceSet::CfsFaces() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x2::IfcFace >(); } void Ifc4x2::IfcConnectedFaceSet::setCfsFaces(aggregate_of< ::Ifc4x2::IfcFace >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x2::IfcConnectedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X2_types[200]); } const IfcParse::entity& Ifc4x2::IfcConnectedFaceSet::Class() { return *((IfcParse::entity*)IFC4X2_types[200]); } Ifc4x2::IfcConnectedFaceSet::IfcConnectedFaceSet(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x2::IfcConnectedFaceSet::IfcConnectedFaceSet(aggregate_of< ::Ifc4x2::IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc4x2::IfcConnectedFaceSet::IfcConnectedFaceSet(aggregate_of< ::Ifc4x2::IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcConnectionCurveGeometry -::Ifc4x2::IfcCurveOrEdgeCurve* Ifc4x2::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcCurveOrEdgeCurve>(true); } +::Ifc4x2::IfcCurveOrEdgeCurve* Ifc4x2::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcCurveOrEdgeCurve>(true); } void Ifc4x2::IfcConnectionCurveGeometry::setCurveOnRelatingElement(::Ifc4x2::IfcCurveOrEdgeCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcCurveOrEdgeCurve* Ifc4x2::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcCurveOrEdgeCurve>(true); } +::Ifc4x2::IfcCurveOrEdgeCurve* Ifc4x2::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcCurveOrEdgeCurve>(true); } void Ifc4x2::IfcConnectionCurveGeometry::setCurveOnRelatedElement(::Ifc4x2::IfcCurveOrEdgeCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcConnectionCurveGeometry::declaration() const { return *((IfcParse::entity*)IFC4X2_types[201]); } const IfcParse::entity& Ifc4x2::IfcConnectionCurveGeometry::Class() { return *((IfcParse::entity*)IFC4X2_types[201]); } Ifc4x2::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x2::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc4x2::IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, ::Ifc4x2::IfcCurveOrEdgeCurve* v2_CurveOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_CurveOnRelatingElement ? v1_CurveOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_CurveOnRelatedElement ? v2_CurveOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc4x2::IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, ::Ifc4x2::IfcCurveOrEdgeCurve* v2_CurveOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_CurveOnRelatingElement ? v1_CurveOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_CurveOnRelatedElement ? v2_CurveOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionGeometry @@ -8553,72 +8553,72 @@ Ifc4x2::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc4x2::IfcCurv const IfcParse::entity& Ifc4x2::IfcConnectionGeometry::declaration() const { return *((IfcParse::entity*)IFC4X2_types[202]); } const IfcParse::entity& Ifc4x2::IfcConnectionGeometry::Class() { return *((IfcParse::entity*)IFC4X2_types[202]); } Ifc4x2::IfcConnectionGeometry::IfcConnectionGeometry(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x2::IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcConnectionPointEccentricity -boost::optional< double > Ifc4x2::IfcConnectionPointEccentricity::EccentricityInX() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x2::IfcConnectionPointEccentricity::EccentricityInX() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x2::IfcConnectionPointEccentricity::setEccentricityInX(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x2::IfcConnectionPointEccentricity::EccentricityInY() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x2::IfcConnectionPointEccentricity::EccentricityInY() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x2::IfcConnectionPointEccentricity::setEccentricityInY(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x2::IfcConnectionPointEccentricity::EccentricityInZ() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x2::IfcConnectionPointEccentricity::EccentricityInZ() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x2::IfcConnectionPointEccentricity::setEccentricityInZ(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x2::IfcConnectionPointEccentricity::declaration() const { return *((IfcParse::entity*)IFC4X2_types[203]); } const IfcParse::entity& Ifc4x2::IfcConnectionPointEccentricity::Class() { return *((IfcParse::entity*)IFC4X2_types[203]); } Ifc4x2::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcEntityInstanceData&& e) : IfcConnectionPointGeometry(std::move(e)) { } -Ifc4x2::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(::Ifc4x2::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x2::IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; populate_derived(); } +Ifc4x2::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(::Ifc4x2::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x2::IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; populate_derived(); } // Function implementations for IfcConnectionPointGeometry -::Ifc4x2::IfcPointOrVertexPoint* Ifc4x2::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcPointOrVertexPoint>(true); } +::Ifc4x2::IfcPointOrVertexPoint* Ifc4x2::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcPointOrVertexPoint>(true); } void Ifc4x2::IfcConnectionPointGeometry::setPointOnRelatingElement(::Ifc4x2::IfcPointOrVertexPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcPointOrVertexPoint* Ifc4x2::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcPointOrVertexPoint>(true); } +::Ifc4x2::IfcPointOrVertexPoint* Ifc4x2::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcPointOrVertexPoint>(true); } void Ifc4x2::IfcConnectionPointGeometry::setPointOnRelatedElement(::Ifc4x2::IfcPointOrVertexPoint* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcConnectionPointGeometry::declaration() const { return *((IfcParse::entity*)IFC4X2_types[204]); } const IfcParse::entity& Ifc4x2::IfcConnectionPointGeometry::Class() { return *((IfcParse::entity*)IFC4X2_types[204]); } Ifc4x2::IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x2::IfcConnectionPointGeometry::IfcConnectionPointGeometry(::Ifc4x2::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x2::IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcConnectionPointGeometry::IfcConnectionPointGeometry(::Ifc4x2::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x2::IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionSurfaceGeometry -::Ifc4x2::IfcSurfaceOrFaceSurface* Ifc4x2::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcSurfaceOrFaceSurface>(true); } +::Ifc4x2::IfcSurfaceOrFaceSurface* Ifc4x2::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcSurfaceOrFaceSurface>(true); } void Ifc4x2::IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(::Ifc4x2::IfcSurfaceOrFaceSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcSurfaceOrFaceSurface* Ifc4x2::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcSurfaceOrFaceSurface>(true); } +::Ifc4x2::IfcSurfaceOrFaceSurface* Ifc4x2::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcSurfaceOrFaceSurface>(true); } void Ifc4x2::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(::Ifc4x2::IfcSurfaceOrFaceSurface* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcConnectionSurfaceGeometry::declaration() const { return *((IfcParse::entity*)IFC4X2_types[205]); } const IfcParse::entity& Ifc4x2::IfcConnectionSurfaceGeometry::Class() { return *((IfcParse::entity*)IFC4X2_types[205]); } Ifc4x2::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x2::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(::Ifc4x2::IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, ::Ifc4x2::IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SurfaceOnRelatingElement ? v1_SurfaceOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_SurfaceOnRelatedElement ? v2_SurfaceOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(::Ifc4x2::IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, ::Ifc4x2::IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SurfaceOnRelatingElement ? v1_SurfaceOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_SurfaceOnRelatedElement ? v2_SurfaceOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionVolumeGeometry -::Ifc4x2::IfcSolidOrShell* Ifc4x2::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcSolidOrShell>(true); } +::Ifc4x2::IfcSolidOrShell* Ifc4x2::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcSolidOrShell>(true); } void Ifc4x2::IfcConnectionVolumeGeometry::setVolumeOnRelatingElement(::Ifc4x2::IfcSolidOrShell* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcSolidOrShell* Ifc4x2::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcSolidOrShell>(true); } +::Ifc4x2::IfcSolidOrShell* Ifc4x2::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcSolidOrShell>(true); } void Ifc4x2::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(::Ifc4x2::IfcSolidOrShell* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcConnectionVolumeGeometry::declaration() const { return *((IfcParse::entity*)IFC4X2_types[207]); } const IfcParse::entity& Ifc4x2::IfcConnectionVolumeGeometry::Class() { return *((IfcParse::entity*)IFC4X2_types[207]); } Ifc4x2::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x2::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(::Ifc4x2::IfcSolidOrShell* v1_VolumeOnRelatingElement, ::Ifc4x2::IfcSolidOrShell* v2_VolumeOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_VolumeOnRelatingElement ? v1_VolumeOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_VolumeOnRelatedElement ? v2_VolumeOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(::Ifc4x2::IfcSolidOrShell* v1_VolumeOnRelatingElement, ::Ifc4x2::IfcSolidOrShell* v2_VolumeOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_VolumeOnRelatingElement ? v1_VolumeOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_VolumeOnRelatedElement ? v2_VolumeOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConstraint -std::string Ifc4x2::IfcConstraint::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x2::IfcConstraint::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcConstraint::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x2::IfcConstraint::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x2::IfcConstraint::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcConstraint::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x2::IfcConstraintEnum::Value Ifc4x2::IfcConstraint::ConstraintGrade() const { return ::Ifc4x2::IfcConstraintEnum::FromString(data_.get_attribute_value(2)); } +::Ifc4x2::IfcConstraintEnum::Value Ifc4x2::IfcConstraint::ConstraintGrade() const { return ::Ifc4x2::IfcConstraintEnum::FromString(get_attribute_value(2)); } void Ifc4x2::IfcConstraint::setConstraintGrade(::Ifc4x2::IfcConstraintEnum::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x2::IfcConstraintEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x2::IfcConstraint::ConstraintSource() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x2::IfcConstraint::ConstraintSource() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x2::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x2::IfcActorSelect* Ifc4x2::IfcConstraint::CreatingActor() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcActorSelect>(true); } +::Ifc4x2::IfcActorSelect* Ifc4x2::IfcConstraint::CreatingActor() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcActorSelect>(true); } void Ifc4x2::IfcConstraint::setCreatingActor(::Ifc4x2::IfcActorSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -boost::optional< std::string > Ifc4x2::IfcConstraint::CreationTime() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x2::IfcConstraint::CreationTime() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcConstraint::setCreationTime(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x2::IfcConstraint::UserDefinedGrade() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x2::IfcConstraint::UserDefinedGrade() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x2::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x2::IfcExternalReferenceRelationship::list::ptr Ifc4x2::IfcConstraint::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[407], 3)->as(); } @@ -8627,104 +8627,104 @@ void Ifc4x2::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v const IfcParse::entity& Ifc4x2::IfcConstraint::declaration() const { return *((IfcParse::entity*)IFC4X2_types[208]); } const IfcParse::entity& Ifc4x2::IfcConstraint::Class() { return *((IfcParse::entity*)IFC4X2_types[208]); } Ifc4x2::IfcConstraint::IfcConstraint(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x2::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; populate_derived(); } +Ifc4x2::IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x2::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; populate_derived(); } // Function implementations for IfcConstructionEquipmentResource -boost::optional< ::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x2::IfcConstructionEquipmentResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x2::IfcConstructionEquipmentResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x2::IfcConstructionEquipmentResource::setPredefinedType(boost::optional< ::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x2::IfcConstructionEquipmentResource::declaration() const { return *((IfcParse::entity*)IFC4X2_types[210]); } const IfcParse::entity& Ifc4x2::IfcConstructionEquipmentResource::Class() { return *((IfcParse::entity*)IFC4X2_types[210]); } Ifc4x2::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x2::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConstructionEquipmentResourceType -::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x2::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x2::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x2::IfcConstructionEquipmentResourceType::setPredefinedType(::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x2::IfcConstructionEquipmentResourceType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[211]); } const IfcParse::entity& Ifc4x2::IfcConstructionEquipmentResourceType::Class() { return *((IfcParse::entity*)IFC4X2_types[211]); } Ifc4x2::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x2::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcConstructionMaterialResource -boost::optional< ::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x2::IfcConstructionMaterialResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x2::IfcConstructionMaterialResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x2::IfcConstructionMaterialResource::setPredefinedType(boost::optional< ::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x2::IfcConstructionMaterialResource::declaration() const { return *((IfcParse::entity*)IFC4X2_types[213]); } const IfcParse::entity& Ifc4x2::IfcConstructionMaterialResource::Class() { return *((IfcParse::entity*)IFC4X2_types[213]); } Ifc4x2::IfcConstructionMaterialResource::IfcConstructionMaterialResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x2::IfcConstructionMaterialResource::IfcConstructionMaterialResource(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcConstructionMaterialResource::IfcConstructionMaterialResource(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConstructionMaterialResourceType -::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x2::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x2::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x2::IfcConstructionMaterialResourceType::setPredefinedType(::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x2::IfcConstructionMaterialResourceType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[214]); } const IfcParse::entity& Ifc4x2::IfcConstructionMaterialResourceType::Class() { return *((IfcParse::entity*)IFC4X2_types[214]); } Ifc4x2::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x2::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x2::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcConstructionProductResource -boost::optional< ::Ifc4x2::IfcConstructionProductResourceTypeEnum::Value > Ifc4x2::IfcConstructionProductResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x2::IfcConstructionProductResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x2::IfcConstructionProductResourceTypeEnum::Value > Ifc4x2::IfcConstructionProductResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x2::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x2::IfcConstructionProductResource::setPredefinedType(boost::optional< ::Ifc4x2::IfcConstructionProductResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x2::IfcConstructionProductResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x2::IfcConstructionProductResource::declaration() const { return *((IfcParse::entity*)IFC4X2_types[216]); } const IfcParse::entity& Ifc4x2::IfcConstructionProductResource::Class() { return *((IfcParse::entity*)IFC4X2_types[216]); } Ifc4x2::IfcConstructionProductResource::IfcConstructionProductResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x2::IfcConstructionProductResource::IfcConstructionProductResource(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x2::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcConstructionProductResource::IfcConstructionProductResource(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x2::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConstructionProductResourceType -::Ifc4x2::IfcConstructionProductResourceTypeEnum::Value Ifc4x2::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4x2::IfcConstructionProductResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x2::IfcConstructionProductResourceTypeEnum::Value Ifc4x2::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4x2::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x2::IfcConstructionProductResourceType::setPredefinedType(::Ifc4x2::IfcConstructionProductResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x2::IfcConstructionProductResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x2::IfcConstructionProductResourceType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[217]); } const IfcParse::entity& Ifc4x2::IfcConstructionProductResourceType::Class() { return *((IfcParse::entity*)IFC4X2_types[217]); } Ifc4x2::IfcConstructionProductResourceType::IfcConstructionProductResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x2::IfcConstructionProductResourceType::IfcConstructionProductResourceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x2::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x2::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcConstructionProductResourceType::IfcConstructionProductResourceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x2::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x2::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcConstructionResource -::Ifc4x2::IfcResourceTime* Ifc4x2::IfcConstructionResource::Usage() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x2::IfcResourceTime>(true); } +::Ifc4x2::IfcResourceTime* Ifc4x2::IfcConstructionResource::Usage() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x2::IfcResourceTime>(true); } void Ifc4x2::IfcConstructionResource::setUsage(::Ifc4x2::IfcResourceTime* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > Ifc4x2::IfcConstructionResource::BaseCosts() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x2::IfcAppliedValue >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > Ifc4x2::IfcConstructionResource::BaseCosts() const { if(get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x2::IfcAppliedValue >(); } void Ifc4x2::IfcConstructionResource::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v) { if (v) {set_attribute_value(8, (*v)->generalize());} else {unset_attribute_value(8);} } -::Ifc4x2::IfcPhysicalQuantity* Ifc4x2::IfcConstructionResource::BaseQuantity() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x2::IfcPhysicalQuantity>(true); } +::Ifc4x2::IfcPhysicalQuantity* Ifc4x2::IfcConstructionResource::BaseQuantity() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x2::IfcPhysicalQuantity>(true); } void Ifc4x2::IfcConstructionResource::setBaseQuantity(::Ifc4x2::IfcPhysicalQuantity* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcConstructionResource::declaration() const { return *((IfcParse::entity*)IFC4X2_types[219]); } const IfcParse::entity& Ifc4x2::IfcConstructionResource::Class() { return *((IfcParse::entity*)IFC4X2_types[219]); } Ifc4x2::IfcConstructionResource::IfcConstructionResource(IfcEntityInstanceData&& e) : IfcResource(std::move(e)) { } -Ifc4x2::IfcConstructionResource::IfcConstructionResource(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity* v10_BaseQuantity) : IfcResource(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcConstructionResource::IfcConstructionResource(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity* v10_BaseQuantity) : IfcResource(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConstructionResourceType -boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > Ifc4x2::IfcConstructionResourceType::BaseCosts() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x2::IfcAppliedValue >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > Ifc4x2::IfcConstructionResourceType::BaseCosts() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x2::IfcAppliedValue >(); } void Ifc4x2::IfcConstructionResourceType::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -::Ifc4x2::IfcPhysicalQuantity* Ifc4x2::IfcConstructionResourceType::BaseQuantity() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x2::IfcPhysicalQuantity>(true); } +::Ifc4x2::IfcPhysicalQuantity* Ifc4x2::IfcConstructionResourceType::BaseQuantity() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x2::IfcPhysicalQuantity>(true); } void Ifc4x2::IfcConstructionResourceType::setBaseQuantity(::Ifc4x2::IfcPhysicalQuantity* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x2::IfcConstructionResourceType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[220]); } const IfcParse::entity& Ifc4x2::IfcConstructionResourceType::Class() { return *((IfcParse::entity*)IFC4X2_types[220]); } Ifc4x2::IfcConstructionResourceType::IfcConstructionResourceType(IfcEntityInstanceData&& e) : IfcTypeResource(std::move(e)) { } -Ifc4x2::IfcConstructionResourceType::IfcConstructionResourceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity* v11_BaseQuantity) : IfcTypeResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcConstructionResourceType::IfcConstructionResourceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity* v11_BaseQuantity) : IfcTypeResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcContext -boost::optional< std::string > Ifc4x2::IfcContext::ObjectType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x2::IfcContext::ObjectType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcContext::setObjectType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x2::IfcContext::LongName() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x2::IfcContext::LongName() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcContext::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x2::IfcContext::Phase() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x2::IfcContext::Phase() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x2::IfcContext::setPhase(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationContext >::ptr > Ifc4x2::IfcContext::RepresentationContexts() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x2::IfcRepresentationContext >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationContext >::ptr > Ifc4x2::IfcContext::RepresentationContexts() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x2::IfcRepresentationContext >(); } void Ifc4x2::IfcContext::setRepresentationContexts(boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationContext >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -::Ifc4x2::IfcUnitAssignment* Ifc4x2::IfcContext::UnitsInContext() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x2::IfcUnitAssignment>(true); } +::Ifc4x2::IfcUnitAssignment* Ifc4x2::IfcContext::UnitsInContext() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x2::IfcUnitAssignment>(true); } void Ifc4x2::IfcContext::setUnitsInContext(::Ifc4x2::IfcUnitAssignment* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } ::Ifc4x2::IfcRelDefinesByProperties::list::ptr Ifc4x2::IfcContext::IsDefinedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[868], 4)->as(); } @@ -8733,10 +8733,10 @@ void Ifc4x2::IfcContext::setUnitsInContext(::Ifc4x2::IfcUnitAssignment* v) { set const IfcParse::entity& Ifc4x2::IfcContext::declaration() const { return *((IfcParse::entity*)IFC4X2_types[221]); } const IfcParse::entity& Ifc4x2::IfcContext::Class() { return *((IfcParse::entity*)IFC4X2_types[221]); } Ifc4x2::IfcContext::IfcContext(IfcEntityInstanceData&& e) : IfcObjectDefinition(std::move(e)) { } -Ifc4x2::IfcContext::IfcContext(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x2::IfcUnitAssignment* v9_UnitsInContext) : IfcObjectDefinition(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcContext::IfcContext(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x2::IfcUnitAssignment* v9_UnitsInContext) : IfcObjectDefinition(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcContextDependentUnit -std::string Ifc4x2::IfcContextDependentUnit::Name() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x2::IfcContextDependentUnit::Name() const { std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcContextDependentUnit::setName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } ::Ifc4x2::IfcExternalReferenceRelationship::list::ptr Ifc4x2::IfcContextDependentUnit::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[407], 3)->as(); } @@ -8744,10 +8744,10 @@ void Ifc4x2::IfcContextDependentUnit::setName(std::string v) { set_attribute_val const IfcParse::entity& Ifc4x2::IfcContextDependentUnit::declaration() const { return *((IfcParse::entity*)IFC4X2_types[223]); } const IfcParse::entity& Ifc4x2::IfcContextDependentUnit::Class() { return *((IfcParse::entity*)IFC4X2_types[223]); } Ifc4x2::IfcContextDependentUnit::IfcContextDependentUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -Ifc4x2::IfcContextDependentUnit::IfcContextDependentUnit(::Ifc4x2::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) : IfcNamedUnit(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; populate_derived(); } +Ifc4x2::IfcContextDependentUnit::IfcContextDependentUnit(::Ifc4x2::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) : IfcNamedUnit(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; populate_derived(); } // Function implementations for IfcControl -boost::optional< std::string > Ifc4x2::IfcControl::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x2::IfcControl::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcControl::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x2::IfcRelAssignsToControl::list::ptr Ifc4x2::IfcControl::Controls() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[838], 6)->as(); } @@ -8755,32 +8755,32 @@ void Ifc4x2::IfcControl::setIdentification(boost::optional< std::string > v) { i const IfcParse::entity& Ifc4x2::IfcControl::declaration() const { return *((IfcParse::entity*)IFC4X2_types[224]); } const IfcParse::entity& Ifc4x2::IfcControl::Class() { return *((IfcParse::entity*)IFC4X2_types[224]); } Ifc4x2::IfcControl::IfcControl(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x2::IfcControl::IfcControl(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification) : IfcObject(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }; populate_derived(); } +Ifc4x2::IfcControl::IfcControl(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }; populate_derived(); } // Function implementations for IfcController -boost::optional< ::Ifc4x2::IfcControllerTypeEnum::Value > Ifc4x2::IfcController::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcControllerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcControllerTypeEnum::Value > Ifc4x2::IfcController::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcControllerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcController::setPredefinedType(boost::optional< ::Ifc4x2::IfcControllerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcControllerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcController::declaration() const { return *((IfcParse::entity*)IFC4X2_types[225]); } const IfcParse::entity& Ifc4x2::IfcController::Class() { return *((IfcParse::entity*)IFC4X2_types[225]); } Ifc4x2::IfcController::IfcController(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x2::IfcController::IfcController(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcControllerTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcController::IfcController(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcControllerTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcControllerType -::Ifc4x2::IfcControllerTypeEnum::Value Ifc4x2::IfcControllerType::PredefinedType() const { return ::Ifc4x2::IfcControllerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcControllerTypeEnum::Value Ifc4x2::IfcControllerType::PredefinedType() const { return ::Ifc4x2::IfcControllerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcControllerType::setPredefinedType(::Ifc4x2::IfcControllerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcControllerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcControllerType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[226]); } const IfcParse::entity& Ifc4x2::IfcControllerType::Class() { return *((IfcParse::entity*)IFC4X2_types[226]); } Ifc4x2::IfcControllerType::IfcControllerType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x2::IfcControllerType::IfcControllerType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcControllerTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcControllerType::IfcControllerType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcControllerTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcConversionBasedUnit -std::string Ifc4x2::IfcConversionBasedUnit::Name() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x2::IfcConversionBasedUnit::Name() const { std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcConversionBasedUnit::setName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcMeasureWithUnit* Ifc4x2::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcMeasureWithUnit>(true); } +::Ifc4x2::IfcMeasureWithUnit* Ifc4x2::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcMeasureWithUnit>(true); } void Ifc4x2::IfcConversionBasedUnit::setConversionFactor(::Ifc4x2::IfcMeasureWithUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } ::Ifc4x2::IfcExternalReferenceRelationship::list::ptr Ifc4x2::IfcConversionBasedUnit::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[407], 3)->as(); } @@ -8788,78 +8788,78 @@ void Ifc4x2::IfcConversionBasedUnit::setConversionFactor(::Ifc4x2::IfcMeasureWit const IfcParse::entity& Ifc4x2::IfcConversionBasedUnit::declaration() const { return *((IfcParse::entity*)IFC4X2_types[228]); } const IfcParse::entity& Ifc4x2::IfcConversionBasedUnit::Class() { return *((IfcParse::entity*)IFC4X2_types[228]); } Ifc4x2::IfcConversionBasedUnit::IfcConversionBasedUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -Ifc4x2::IfcConversionBasedUnit::IfcConversionBasedUnit(::Ifc4x2::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x2::IfcMeasureWithUnit* v4_ConversionFactor) : IfcNamedUnit(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcConversionBasedUnit::IfcConversionBasedUnit(::Ifc4x2::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x2::IfcMeasureWithUnit* v4_ConversionFactor) : IfcNamedUnit(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConversionBasedUnitWithOffset -double Ifc4x2::IfcConversionBasedUnitWithOffset::ConversionOffset() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x2::IfcConversionBasedUnitWithOffset::ConversionOffset() const { double v = get_attribute_value(4); return v; } void Ifc4x2::IfcConversionBasedUnitWithOffset::setConversionOffset(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x2::IfcConversionBasedUnitWithOffset::declaration() const { return *((IfcParse::entity*)IFC4X2_types[229]); } const IfcParse::entity& Ifc4x2::IfcConversionBasedUnitWithOffset::Class() { return *((IfcParse::entity*)IFC4X2_types[229]); } Ifc4x2::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(IfcEntityInstanceData&& e) : IfcConversionBasedUnit(std::move(e)) { } -Ifc4x2::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(::Ifc4x2::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x2::IfcMeasureWithUnit* v4_ConversionFactor, double v5_ConversionOffset) : IfcConversionBasedUnit(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ConversionOffset));; populate_derived(); } +Ifc4x2::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(::Ifc4x2::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x2::IfcMeasureWithUnit* v4_ConversionFactor, double v5_ConversionOffset) : IfcConversionBasedUnit(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ConversionOffset));; populate_derived(); } // Function implementations for IfcCooledBeam -boost::optional< ::Ifc4x2::IfcCooledBeamTypeEnum::Value > Ifc4x2::IfcCooledBeam::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcCooledBeamTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcCooledBeamTypeEnum::Value > Ifc4x2::IfcCooledBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcCooledBeamTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcCooledBeam::setPredefinedType(boost::optional< ::Ifc4x2::IfcCooledBeamTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcCooledBeamTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcCooledBeam::declaration() const { return *((IfcParse::entity*)IFC4X2_types[230]); } const IfcParse::entity& Ifc4x2::IfcCooledBeam::Class() { return *((IfcParse::entity*)IFC4X2_types[230]); } Ifc4x2::IfcCooledBeam::IfcCooledBeam(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x2::IfcCooledBeam::IfcCooledBeam(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcCooledBeam::IfcCooledBeam(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCooledBeamType -::Ifc4x2::IfcCooledBeamTypeEnum::Value Ifc4x2::IfcCooledBeamType::PredefinedType() const { return ::Ifc4x2::IfcCooledBeamTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcCooledBeamTypeEnum::Value Ifc4x2::IfcCooledBeamType::PredefinedType() const { return ::Ifc4x2::IfcCooledBeamTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcCooledBeamType::setPredefinedType(::Ifc4x2::IfcCooledBeamTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcCooledBeamTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcCooledBeamType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[231]); } const IfcParse::entity& Ifc4x2::IfcCooledBeamType::Class() { return *((IfcParse::entity*)IFC4X2_types[231]); } Ifc4x2::IfcCooledBeamType::IfcCooledBeamType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x2::IfcCooledBeamType::IfcCooledBeamType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCooledBeamTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcCooledBeamType::IfcCooledBeamType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCooledBeamTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCoolingTower -boost::optional< ::Ifc4x2::IfcCoolingTowerTypeEnum::Value > Ifc4x2::IfcCoolingTower::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcCoolingTowerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcCoolingTowerTypeEnum::Value > Ifc4x2::IfcCoolingTower::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcCoolingTower::setPredefinedType(boost::optional< ::Ifc4x2::IfcCoolingTowerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcCoolingTowerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcCoolingTower::declaration() const { return *((IfcParse::entity*)IFC4X2_types[233]); } const IfcParse::entity& Ifc4x2::IfcCoolingTower::Class() { return *((IfcParse::entity*)IFC4X2_types[233]); } Ifc4x2::IfcCoolingTower::IfcCoolingTower(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x2::IfcCoolingTower::IfcCoolingTower(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcCoolingTower::IfcCoolingTower(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCoolingTowerType -::Ifc4x2::IfcCoolingTowerTypeEnum::Value Ifc4x2::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4x2::IfcCoolingTowerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcCoolingTowerTypeEnum::Value Ifc4x2::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4x2::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcCoolingTowerType::setPredefinedType(::Ifc4x2::IfcCoolingTowerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcCoolingTowerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcCoolingTowerType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[234]); } const IfcParse::entity& Ifc4x2::IfcCoolingTowerType::Class() { return *((IfcParse::entity*)IFC4X2_types[234]); } Ifc4x2::IfcCoolingTowerType::IfcCoolingTowerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x2::IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCoordinateOperation -::Ifc4x2::IfcCoordinateReferenceSystemSelect* Ifc4x2::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcCoordinateReferenceSystemSelect>(true); } +::Ifc4x2::IfcCoordinateReferenceSystemSelect* Ifc4x2::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcCoordinateReferenceSystemSelect>(true); } void Ifc4x2::IfcCoordinateOperation::setSourceCRS(::Ifc4x2::IfcCoordinateReferenceSystemSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcCoordinateReferenceSystem* Ifc4x2::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcCoordinateReferenceSystem>(true); } +::Ifc4x2::IfcCoordinateReferenceSystem* Ifc4x2::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcCoordinateReferenceSystem>(true); } void Ifc4x2::IfcCoordinateOperation::setTargetCRS(::Ifc4x2::IfcCoordinateReferenceSystem* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcCoordinateOperation::declaration() const { return *((IfcParse::entity*)IFC4X2_types[236]); } const IfcParse::entity& Ifc4x2::IfcCoordinateOperation::Class() { return *((IfcParse::entity*)IFC4X2_types[236]); } Ifc4x2::IfcCoordinateOperation::IfcCoordinateOperation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcCoordinateOperation::IfcCoordinateOperation(::Ifc4x2::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x2::IfcCoordinateReferenceSystem* v2_TargetCRS) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcCoordinateOperation::IfcCoordinateOperation(::Ifc4x2::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x2::IfcCoordinateReferenceSystem* v2_TargetCRS) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCoordinateReferenceSystem -std::string Ifc4x2::IfcCoordinateReferenceSystem::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x2::IfcCoordinateReferenceSystem::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcCoordinateReferenceSystem::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x2::IfcCoordinateReferenceSystem::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x2::IfcCoordinateReferenceSystem::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcCoordinateReferenceSystem::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x2::IfcCoordinateReferenceSystem::GeodeticDatum() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x2::IfcCoordinateReferenceSystem::GeodeticDatum() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcCoordinateReferenceSystem::setGeodeticDatum(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x2::IfcCoordinateReferenceSystem::VerticalDatum() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x2::IfcCoordinateReferenceSystem::VerticalDatum() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x2::IfcCoordinateReferenceSystem::setVerticalDatum(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } ::Ifc4x2::IfcCoordinateOperation::list::ptr Ifc4x2::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[236], 0)->as(); } @@ -8867,37 +8867,37 @@ void Ifc4x2::IfcCoordinateReferenceSystem::setVerticalDatum(boost::optional< std const IfcParse::entity& Ifc4x2::IfcCoordinateReferenceSystem::declaration() const { return *((IfcParse::entity*)IFC4X2_types[237]); } const IfcParse::entity& Ifc4x2::IfcCoordinateReferenceSystem::Class() { return *((IfcParse::entity*)IFC4X2_types[237]); } Ifc4x2::IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::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(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); }; populate_derived(); } +Ifc4x2::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(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); }; populate_derived(); } // Function implementations for IfcCostItem -boost::optional< ::Ifc4x2::IfcCostItemTypeEnum::Value > Ifc4x2::IfcCostItem::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x2::IfcCostItemTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x2::IfcCostItemTypeEnum::Value > Ifc4x2::IfcCostItem::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x2::IfcCostItemTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x2::IfcCostItem::setPredefinedType(boost::optional< ::Ifc4x2::IfcCostItemTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x2::IfcCostItemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x2::IfcCostValue >::ptr > Ifc4x2::IfcCostItem::CostValues() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x2::IfcCostValue >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcCostValue >::ptr > Ifc4x2::IfcCostItem::CostValues() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x2::IfcCostValue >(); } void Ifc4x2::IfcCostItem::setCostValues(boost::optional< aggregate_of< ::Ifc4x2::IfcCostValue >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< aggregate_of< ::Ifc4x2::IfcPhysicalQuantity >::ptr > Ifc4x2::IfcCostItem::CostQuantities() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x2::IfcPhysicalQuantity >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcPhysicalQuantity >::ptr > Ifc4x2::IfcCostItem::CostQuantities() const { if(get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x2::IfcPhysicalQuantity >(); } void Ifc4x2::IfcCostItem::setCostQuantities(boost::optional< aggregate_of< ::Ifc4x2::IfcPhysicalQuantity >::ptr > v) { if (v) {set_attribute_value(8, (*v)->generalize());} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcCostItem::declaration() const { return *((IfcParse::entity*)IFC4X2_types[239]); } const IfcParse::entity& Ifc4x2::IfcCostItem::Class() { return *((IfcParse::entity*)IFC4X2_types[239]); } Ifc4x2::IfcCostItem::IfcCostItem(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x2::IfcCostItem::IfcCostItem(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x2::IfcCostItemTypeEnum::Value > v7_PredefinedType, boost::optional< aggregate_of< ::Ifc4x2::IfcCostValue >::ptr > v8_CostValues, boost::optional< aggregate_of< ::Ifc4x2::IfcPhysicalQuantity >::ptr > v9_CostQuantities) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x2::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, (*v8_CostValues)->generalize()); } if (v9_CostQuantities) {set_attribute_value(8, (*v9_CostQuantities)->generalize()); }; populate_derived(); } +Ifc4x2::IfcCostItem::IfcCostItem(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x2::IfcCostItemTypeEnum::Value > v7_PredefinedType, boost::optional< aggregate_of< ::Ifc4x2::IfcCostValue >::ptr > v8_CostValues, boost::optional< aggregate_of< ::Ifc4x2::IfcPhysicalQuantity >::ptr > v9_CostQuantities) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x2::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, (*v8_CostValues)->generalize()); } if (v9_CostQuantities) {set_attribute_value(8, (*v9_CostQuantities)->generalize()); }; populate_derived(); } // Function implementations for IfcCostSchedule -boost::optional< ::Ifc4x2::IfcCostScheduleTypeEnum::Value > Ifc4x2::IfcCostSchedule::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x2::IfcCostScheduleTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x2::IfcCostScheduleTypeEnum::Value > Ifc4x2::IfcCostSchedule::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x2::IfcCostScheduleTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x2::IfcCostSchedule::setPredefinedType(boost::optional< ::Ifc4x2::IfcCostScheduleTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x2::IfcCostScheduleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x2::IfcCostSchedule::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x2::IfcCostSchedule::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x2::IfcCostSchedule::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x2::IfcCostSchedule::SubmittedOn() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x2::IfcCostSchedule::SubmittedOn() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x2::IfcCostSchedule::setSubmittedOn(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x2::IfcCostSchedule::UpdateDate() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x2::IfcCostSchedule::UpdateDate() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x2::IfcCostSchedule::setUpdateDate(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x2::IfcCostSchedule::declaration() const { return *((IfcParse::entity*)IFC4X2_types[241]); } const IfcParse::entity& Ifc4x2::IfcCostSchedule::Class() { return *((IfcParse::entity*)IFC4X2_types[241]); } Ifc4x2::IfcCostSchedule::IfcCostSchedule(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x2::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x2::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_SubmittedOn, boost::optional< std::string > v10_UpdateDate) : IfcControl(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x2::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); }; populate_derived(); } +Ifc4x2::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x2::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_SubmittedOn, boost::optional< std::string > v10_UpdateDate) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x2::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); }; populate_derived(); } // Function implementations for IfcCostValue @@ -8905,10 +8905,10 @@ Ifc4x2::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc4x2::IfcO const IfcParse::entity& Ifc4x2::IfcCostValue::declaration() const { return *((IfcParse::entity*)IFC4X2_types[243]); } const IfcParse::entity& Ifc4x2::IfcCostValue::Class() { return *((IfcParse::entity*)IFC4X2_types[243]); } Ifc4x2::IfcCostValue::IfcCostValue(IfcEntityInstanceData&& e) : IfcAppliedValue(std::move(e)) { } -Ifc4x2::IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x2::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< ::Ifc4x2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v10_Components) : IfcAppliedValue(IfcEntityInstanceData(storage_t(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } +Ifc4x2::IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x2::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< ::Ifc4x2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v10_Components) : IfcAppliedValue(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } // Function implementations for IfcCovering -boost::optional< ::Ifc4x2::IfcCoveringTypeEnum::Value > Ifc4x2::IfcCovering::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcCoveringTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcCoveringTypeEnum::Value > Ifc4x2::IfcCovering::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcCoveringTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcCovering::setPredefinedType(boost::optional< ::Ifc4x2::IfcCoveringTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcCoveringTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x2::IfcRelCoversSpaces::list::ptr Ifc4x2::IfcCovering::CoversSpaces() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[863], 5)->as(); } @@ -8917,95 +8917,95 @@ void Ifc4x2::IfcCovering::setPredefinedType(boost::optional< ::Ifc4x2::IfcCoveri const IfcParse::entity& Ifc4x2::IfcCovering::declaration() const { return *((IfcParse::entity*)IFC4X2_types[245]); } const IfcParse::entity& Ifc4x2::IfcCovering::Class() { return *((IfcParse::entity*)IFC4X2_types[245]); } Ifc4x2::IfcCovering::IfcCovering(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x2::IfcCovering::IfcCovering(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcCoveringTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcCovering::IfcCovering(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcCoveringTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCoveringType -::Ifc4x2::IfcCoveringTypeEnum::Value Ifc4x2::IfcCoveringType::PredefinedType() const { return ::Ifc4x2::IfcCoveringTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcCoveringTypeEnum::Value Ifc4x2::IfcCoveringType::PredefinedType() const { return ::Ifc4x2::IfcCoveringTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcCoveringType::setPredefinedType(::Ifc4x2::IfcCoveringTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcCoveringTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcCoveringType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[246]); } const IfcParse::entity& Ifc4x2::IfcCoveringType::Class() { return *((IfcParse::entity*)IFC4X2_types[246]); } Ifc4x2::IfcCoveringType::IfcCoveringType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x2::IfcCoveringType::IfcCoveringType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCoveringTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcCoveringType::IfcCoveringType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCoveringTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCrewResource -boost::optional< ::Ifc4x2::IfcCrewResourceTypeEnum::Value > Ifc4x2::IfcCrewResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x2::IfcCrewResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x2::IfcCrewResourceTypeEnum::Value > Ifc4x2::IfcCrewResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x2::IfcCrewResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x2::IfcCrewResource::setPredefinedType(boost::optional< ::Ifc4x2::IfcCrewResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x2::IfcCrewResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x2::IfcCrewResource::declaration() const { return *((IfcParse::entity*)IFC4X2_types[248]); } const IfcParse::entity& Ifc4x2::IfcCrewResource::Class() { return *((IfcParse::entity*)IFC4X2_types[248]); } Ifc4x2::IfcCrewResource::IfcCrewResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x2::IfcCrewResource::IfcCrewResource(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x2::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcCrewResource::IfcCrewResource(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x2::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCrewResourceType -::Ifc4x2::IfcCrewResourceTypeEnum::Value Ifc4x2::IfcCrewResourceType::PredefinedType() const { return ::Ifc4x2::IfcCrewResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x2::IfcCrewResourceTypeEnum::Value Ifc4x2::IfcCrewResourceType::PredefinedType() const { return ::Ifc4x2::IfcCrewResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x2::IfcCrewResourceType::setPredefinedType(::Ifc4x2::IfcCrewResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x2::IfcCrewResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x2::IfcCrewResourceType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[249]); } const IfcParse::entity& Ifc4x2::IfcCrewResourceType::Class() { return *((IfcParse::entity*)IFC4X2_types[249]); } Ifc4x2::IfcCrewResourceType::IfcCrewResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x2::IfcCrewResourceType::IfcCrewResourceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x2::IfcCrewResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x2::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcCrewResourceType::IfcCrewResourceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x2::IfcCrewResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x2::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcCsgPrimitive3D -::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcAxis2Placement3D>(true); } +::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcAxis2Placement3D>(true); } void Ifc4x2::IfcCsgPrimitive3D::setPosition(::Ifc4x2::IfcAxis2Placement3D* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x2::IfcCsgPrimitive3D::declaration() const { return *((IfcParse::entity*)IFC4X2_types[251]); } const IfcParse::entity& Ifc4x2::IfcCsgPrimitive3D::Class() { return *((IfcParse::entity*)IFC4X2_types[251]); } Ifc4x2::IfcCsgPrimitive3D::IfcCsgPrimitive3D(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x2::IfcCsgPrimitive3D::IfcCsgPrimitive3D(::Ifc4x2::IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcCsgPrimitive3D::IfcCsgPrimitive3D(::Ifc4x2::IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCsgSolid -::Ifc4x2::IfcCsgSelect* Ifc4x2::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcCsgSelect>(true); } +::Ifc4x2::IfcCsgSelect* Ifc4x2::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcCsgSelect>(true); } void Ifc4x2::IfcCsgSolid::setTreeRootExpression(::Ifc4x2::IfcCsgSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x2::IfcCsgSolid::declaration() const { return *((IfcParse::entity*)IFC4X2_types[253]); } const IfcParse::entity& Ifc4x2::IfcCsgSolid::Class() { return *((IfcParse::entity*)IFC4X2_types[253]); } Ifc4x2::IfcCsgSolid::IfcCsgSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x2::IfcCsgSolid::IfcCsgSolid(::Ifc4x2::IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_TreeRootExpression ? v1_TreeRootExpression->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcCsgSolid::IfcCsgSolid(::Ifc4x2::IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_TreeRootExpression ? v1_TreeRootExpression->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCurrencyRelationship -::Ifc4x2::IfcMonetaryUnit* Ifc4x2::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcMonetaryUnit>(true); } +::Ifc4x2::IfcMonetaryUnit* Ifc4x2::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcMonetaryUnit>(true); } void Ifc4x2::IfcCurrencyRelationship::setRelatingMonetaryUnit(::Ifc4x2::IfcMonetaryUnit* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcMonetaryUnit* Ifc4x2::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcMonetaryUnit>(true); } +::Ifc4x2::IfcMonetaryUnit* Ifc4x2::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcMonetaryUnit>(true); } void Ifc4x2::IfcCurrencyRelationship::setRelatedMonetaryUnit(::Ifc4x2::IfcMonetaryUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -double Ifc4x2::IfcCurrencyRelationship::ExchangeRate() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x2::IfcCurrencyRelationship::ExchangeRate() const { double v = get_attribute_value(4); return v; } void Ifc4x2::IfcCurrencyRelationship::setExchangeRate(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< std::string > Ifc4x2::IfcCurrencyRelationship::RateDateTime() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x2::IfcCurrencyRelationship::RateDateTime() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcCurrencyRelationship::setRateDateTime(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x2::IfcLibraryInformation* Ifc4x2::IfcCurrencyRelationship::RateSource() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x2::IfcLibraryInformation>(true); } +::Ifc4x2::IfcLibraryInformation* Ifc4x2::IfcCurrencyRelationship::RateSource() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x2::IfcLibraryInformation>(true); } void Ifc4x2::IfcCurrencyRelationship::setRateSource(::Ifc4x2::IfcLibraryInformation* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x2::IfcCurrencyRelationship::declaration() const { return *((IfcParse::entity*)IFC4X2_types[255]); } const IfcParse::entity& Ifc4x2::IfcCurrencyRelationship::Class() { return *((IfcParse::entity*)IFC4X2_types[255]); } Ifc4x2::IfcCurrencyRelationship::IfcCurrencyRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x2::IfcCurrencyRelationship::IfcCurrencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcMonetaryUnit* v3_RelatingMonetaryUnit, ::Ifc4x2::IfcMonetaryUnit* v4_RelatedMonetaryUnit, double v5_ExchangeRate, boost::optional< std::string > v6_RateDateTime, ::Ifc4x2::IfcLibraryInformation* v7_RateSource) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMonetaryUnit ? v3_RelatingMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_RelatedMonetaryUnit ? v4_RelatedMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, v7_RateSource ? v7_RateSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcCurrencyRelationship::IfcCurrencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcMonetaryUnit* v3_RelatingMonetaryUnit, ::Ifc4x2::IfcMonetaryUnit* v4_RelatedMonetaryUnit, double v5_ExchangeRate, boost::optional< std::string > v6_RateDateTime, ::Ifc4x2::IfcLibraryInformation* v7_RateSource) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMonetaryUnit ? v3_RelatingMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_RelatedMonetaryUnit ? v4_RelatedMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, v7_RateSource ? v7_RateSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCurtainWall -boost::optional< ::Ifc4x2::IfcCurtainWallTypeEnum::Value > Ifc4x2::IfcCurtainWall::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcCurtainWallTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcCurtainWallTypeEnum::Value > Ifc4x2::IfcCurtainWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcCurtainWallTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcCurtainWall::setPredefinedType(boost::optional< ::Ifc4x2::IfcCurtainWallTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcCurtainWallTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcCurtainWall::declaration() const { return *((IfcParse::entity*)IFC4X2_types[256]); } const IfcParse::entity& Ifc4x2::IfcCurtainWall::Class() { return *((IfcParse::entity*)IFC4X2_types[256]); } Ifc4x2::IfcCurtainWall::IfcCurtainWall(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x2::IfcCurtainWall::IfcCurtainWall(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcCurtainWall::IfcCurtainWall(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCurtainWallType -::Ifc4x2::IfcCurtainWallTypeEnum::Value Ifc4x2::IfcCurtainWallType::PredefinedType() const { return ::Ifc4x2::IfcCurtainWallTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcCurtainWallTypeEnum::Value Ifc4x2::IfcCurtainWallType::PredefinedType() const { return ::Ifc4x2::IfcCurtainWallTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcCurtainWallType::setPredefinedType(::Ifc4x2::IfcCurtainWallTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcCurtainWallTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcCurtainWallType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[257]); } const IfcParse::entity& Ifc4x2::IfcCurtainWallType::Class() { return *((IfcParse::entity*)IFC4X2_types[257]); } Ifc4x2::IfcCurtainWallType::IfcCurtainWallType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x2::IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCurtainWallTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcCurtainWallTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCurve @@ -9013,133 +9013,133 @@ Ifc4x2::IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, ::Ifc4x2 const IfcParse::entity& Ifc4x2::IfcCurve::declaration() const { return *((IfcParse::entity*)IFC4X2_types[260]); } const IfcParse::entity& Ifc4x2::IfcCurve::Class() { return *((IfcParse::entity*)IFC4X2_types[260]); } Ifc4x2::IfcCurve::IfcCurve(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x2::IfcCurve::IfcCurve() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x2::IfcCurve::IfcCurve() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcCurveBoundedPlane -::Ifc4x2::IfcPlane* Ifc4x2::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcPlane>(true); } +::Ifc4x2::IfcPlane* Ifc4x2::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcPlane>(true); } void Ifc4x2::IfcCurveBoundedPlane::setBasisSurface(::Ifc4x2::IfcPlane* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcCurve* Ifc4x2::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcCurve>(true); } +::Ifc4x2::IfcCurve* Ifc4x2::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcCurveBoundedPlane::setOuterBoundary(::Ifc4x2::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x2::IfcCurve >::ptr Ifc4x2::IfcCurveBoundedPlane::InnerBoundaries() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x2::IfcCurve >(); } +aggregate_of< ::Ifc4x2::IfcCurve >::ptr Ifc4x2::IfcCurveBoundedPlane::InnerBoundaries() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x2::IfcCurve >(); } void Ifc4x2::IfcCurveBoundedPlane::setInnerBoundaries(aggregate_of< ::Ifc4x2::IfcCurve >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x2::IfcCurveBoundedPlane::declaration() const { return *((IfcParse::entity*)IFC4X2_types[261]); } const IfcParse::entity& Ifc4x2::IfcCurveBoundedPlane::Class() { return *((IfcParse::entity*)IFC4X2_types[261]); } Ifc4x2::IfcCurveBoundedPlane::IfcCurveBoundedPlane(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x2::IfcCurveBoundedPlane::IfcCurveBoundedPlane(::Ifc4x2::IfcPlane* v1_BasisSurface, ::Ifc4x2::IfcCurve* v2_OuterBoundary, aggregate_of< ::Ifc4x2::IfcCurve >::ptr v3_InnerBoundaries) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OuterBoundary ? v2_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_InnerBoundaries)->generalize());; populate_derived(); } +Ifc4x2::IfcCurveBoundedPlane::IfcCurveBoundedPlane(::Ifc4x2::IfcPlane* v1_BasisSurface, ::Ifc4x2::IfcCurve* v2_OuterBoundary, aggregate_of< ::Ifc4x2::IfcCurve >::ptr v3_InnerBoundaries) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OuterBoundary ? v2_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_InnerBoundaries)->generalize());; populate_derived(); } // Function implementations for IfcCurveBoundedSurface -::Ifc4x2::IfcSurface* Ifc4x2::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcSurface>(true); } +::Ifc4x2::IfcSurface* Ifc4x2::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcSurface>(true); } void Ifc4x2::IfcCurveBoundedSurface::setBasisSurface(::Ifc4x2::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x2::IfcBoundaryCurve >::ptr Ifc4x2::IfcCurveBoundedSurface::Boundaries() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x2::IfcBoundaryCurve >(); } +aggregate_of< ::Ifc4x2::IfcBoundaryCurve >::ptr Ifc4x2::IfcCurveBoundedSurface::Boundaries() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x2::IfcBoundaryCurve >(); } void Ifc4x2::IfcCurveBoundedSurface::setBoundaries(aggregate_of< ::Ifc4x2::IfcBoundaryCurve >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -bool Ifc4x2::IfcCurveBoundedSurface::ImplicitOuter() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x2::IfcCurveBoundedSurface::ImplicitOuter() const { bool v = get_attribute_value(2); return v; } void Ifc4x2::IfcCurveBoundedSurface::setImplicitOuter(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x2::IfcCurveBoundedSurface::declaration() const { return *((IfcParse::entity*)IFC4X2_types[262]); } const IfcParse::entity& Ifc4x2::IfcCurveBoundedSurface::Class() { return *((IfcParse::entity*)IFC4X2_types[262]); } Ifc4x2::IfcCurveBoundedSurface::IfcCurveBoundedSurface(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x2::IfcCurveBoundedSurface::IfcCurveBoundedSurface(::Ifc4x2::IfcSurface* v1_BasisSurface, aggregate_of< ::Ifc4x2::IfcBoundaryCurve >::ptr v2_Boundaries, bool v3_ImplicitOuter) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Boundaries)->generalize());set_attribute_value(2, (v3_ImplicitOuter));; populate_derived(); } +Ifc4x2::IfcCurveBoundedSurface::IfcCurveBoundedSurface(::Ifc4x2::IfcSurface* v1_BasisSurface, aggregate_of< ::Ifc4x2::IfcBoundaryCurve >::ptr v2_Boundaries, bool v3_ImplicitOuter) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Boundaries)->generalize());set_attribute_value(2, (v3_ImplicitOuter));; populate_derived(); } // Function implementations for IfcCurveSegment2D -::Ifc4x2::IfcCartesianPoint* Ifc4x2::IfcCurveSegment2D::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcCartesianPoint>(true); } +::Ifc4x2::IfcCartesianPoint* Ifc4x2::IfcCurveSegment2D::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcCartesianPoint>(true); } void Ifc4x2::IfcCurveSegment2D::setStartPoint(::Ifc4x2::IfcCartesianPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x2::IfcCurveSegment2D::StartDirection() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x2::IfcCurveSegment2D::StartDirection() const { double v = get_attribute_value(1); return v; } void Ifc4x2::IfcCurveSegment2D::setStartDirection(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x2::IfcCurveSegment2D::SegmentLength() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x2::IfcCurveSegment2D::SegmentLength() const { double v = get_attribute_value(2); return v; } void Ifc4x2::IfcCurveSegment2D::setSegmentLength(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x2::IfcCurveSegment2D::declaration() const { return *((IfcParse::entity*)IFC4X2_types[267]); } const IfcParse::entity& Ifc4x2::IfcCurveSegment2D::Class() { return *((IfcParse::entity*)IFC4X2_types[267]); } Ifc4x2::IfcCurveSegment2D::IfcCurveSegment2D(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x2::IfcCurveSegment2D::IfcCurveSegment2D(::Ifc4x2::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_StartPoint ? v1_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));; populate_derived(); } +Ifc4x2::IfcCurveSegment2D::IfcCurveSegment2D(::Ifc4x2::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_StartPoint ? v1_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));; populate_derived(); } // Function implementations for IfcCurveStyle -::Ifc4x2::IfcCurveFontOrScaledCurveFontSelect* Ifc4x2::IfcCurveStyle::CurveFont() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcCurveFontOrScaledCurveFontSelect>(true); } +::Ifc4x2::IfcCurveFontOrScaledCurveFontSelect* Ifc4x2::IfcCurveStyle::CurveFont() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcCurveFontOrScaledCurveFontSelect>(true); } void Ifc4x2::IfcCurveStyle::setCurveFont(::Ifc4x2::IfcCurveFontOrScaledCurveFontSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcSizeSelect* Ifc4x2::IfcCurveStyle::CurveWidth() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcSizeSelect>(true); } +::Ifc4x2::IfcSizeSelect* Ifc4x2::IfcCurveStyle::CurveWidth() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcSizeSelect>(true); } void Ifc4x2::IfcCurveStyle::setCurveWidth(::Ifc4x2::IfcSizeSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcColour* Ifc4x2::IfcCurveStyle::CurveColour() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcColour>(true); } +::Ifc4x2::IfcColour* Ifc4x2::IfcCurveStyle::CurveColour() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcColour>(true); } void Ifc4x2::IfcCurveStyle::setCurveColour(::Ifc4x2::IfcColour* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< bool > Ifc4x2::IfcCurveStyle::ModelOrDraughting() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } bool v = data_.get_attribute_value(4); return v; } +boost::optional< bool > Ifc4x2::IfcCurveStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return boost::none; } bool v = get_attribute_value(4); return v; } void Ifc4x2::IfcCurveStyle::setModelOrDraughting(boost::optional< bool > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x2::IfcCurveStyle::declaration() const { return *((IfcParse::entity*)IFC4X2_types[268]); } const IfcParse::entity& Ifc4x2::IfcCurveStyle::Class() { return *((IfcParse::entity*)IFC4X2_types[268]); } Ifc4x2::IfcCurveStyle::IfcCurveStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x2::IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcCurveFontOrScaledCurveFontSelect* v2_CurveFont, ::Ifc4x2::IfcSizeSelect* v3_CurveWidth, ::Ifc4x2::IfcColour* v4_CurveColour, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CurveWidth ? v3_CurveWidth->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_CurveColour ? v4_CurveColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } +Ifc4x2::IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcCurveFontOrScaledCurveFontSelect* v2_CurveFont, ::Ifc4x2::IfcSizeSelect* v3_CurveWidth, ::Ifc4x2::IfcColour* v4_CurveColour, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CurveWidth ? v3_CurveWidth->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_CurveColour ? v4_CurveColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } // Function implementations for IfcCurveStyleFont -boost::optional< std::string > Ifc4x2::IfcCurveStyleFont::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x2::IfcCurveStyleFont::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcCurveStyleFont::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -aggregate_of< ::Ifc4x2::IfcCurveStyleFontPattern >::ptr Ifc4x2::IfcCurveStyleFont::PatternList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x2::IfcCurveStyleFontPattern >(); } +aggregate_of< ::Ifc4x2::IfcCurveStyleFontPattern >::ptr Ifc4x2::IfcCurveStyleFont::PatternList() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x2::IfcCurveStyleFontPattern >(); } void Ifc4x2::IfcCurveStyleFont::setPatternList(aggregate_of< ::Ifc4x2::IfcCurveStyleFontPattern >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcCurveStyleFont::declaration() const { return *((IfcParse::entity*)IFC4X2_types[269]); } const IfcParse::entity& Ifc4x2::IfcCurveStyleFont::Class() { return *((IfcParse::entity*)IFC4X2_types[269]); } Ifc4x2::IfcCurveStyleFont::IfcCurveStyleFont(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x2::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x2::IfcCurveStyleFontPattern >::ptr v2_PatternList) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_PatternList)->generalize());; populate_derived(); } +Ifc4x2::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x2::IfcCurveStyleFontPattern >::ptr v2_PatternList) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_PatternList)->generalize());; populate_derived(); } // Function implementations for IfcCurveStyleFontAndScaling -boost::optional< std::string > Ifc4x2::IfcCurveStyleFontAndScaling::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x2::IfcCurveStyleFontAndScaling::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x2::IfcCurveStyleFontSelect* Ifc4x2::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcCurveStyleFontSelect>(true); } +::Ifc4x2::IfcCurveStyleFontSelect* Ifc4x2::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcCurveStyleFontSelect>(true); } void Ifc4x2::IfcCurveStyleFontAndScaling::setCurveFont(::Ifc4x2::IfcCurveStyleFontSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -double Ifc4x2::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x2::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = get_attribute_value(2); return v; } void Ifc4x2::IfcCurveStyleFontAndScaling::setCurveFontScaling(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x2::IfcCurveStyleFontAndScaling::declaration() const { return *((IfcParse::entity*)IFC4X2_types[270]); } const IfcParse::entity& Ifc4x2::IfcCurveStyleFontAndScaling::Class() { return *((IfcParse::entity*)IFC4X2_types[270]); } Ifc4x2::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x2::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcCurveStyleFontSelect* v2_CurveFont, double v3_CurveFontScaling) : IfcPresentationItem(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_CurveFontScaling));; populate_derived(); } +Ifc4x2::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcCurveStyleFontSelect* v2_CurveFont, double v3_CurveFontScaling) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_CurveFontScaling));; populate_derived(); } // Function implementations for IfcCurveStyleFontPattern -double Ifc4x2::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x2::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = get_attribute_value(0); return v; } void Ifc4x2::IfcCurveStyleFontPattern::setVisibleSegmentLength(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc4x2::IfcCurveStyleFontPattern::InvisibleSegmentLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x2::IfcCurveStyleFontPattern::InvisibleSegmentLength() const { double v = get_attribute_value(1); return v; } void Ifc4x2::IfcCurveStyleFontPattern::setInvisibleSegmentLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcCurveStyleFontPattern::declaration() const { return *((IfcParse::entity*)IFC4X2_types[271]); } const IfcParse::entity& Ifc4x2::IfcCurveStyleFontPattern::Class() { return *((IfcParse::entity*)IFC4X2_types[271]); } Ifc4x2::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x2::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; populate_derived(); } +Ifc4x2::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; populate_derived(); } // Function implementations for IfcCylindricalSurface -double Ifc4x2::IfcCylindricalSurface::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x2::IfcCylindricalSurface::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x2::IfcCylindricalSurface::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcCylindricalSurface::declaration() const { return *((IfcParse::entity*)IFC4X2_types[273]); } const IfcParse::entity& Ifc4x2::IfcCylindricalSurface::Class() { return *((IfcParse::entity*)IFC4X2_types[273]); } Ifc4x2::IfcCylindricalSurface::IfcCylindricalSurface(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x2::IfcCylindricalSurface::IfcCylindricalSurface(::Ifc4x2::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x2::IfcCylindricalSurface::IfcCylindricalSurface(::Ifc4x2::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcDamper -boost::optional< ::Ifc4x2::IfcDamperTypeEnum::Value > Ifc4x2::IfcDamper::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcDamperTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcDamperTypeEnum::Value > Ifc4x2::IfcDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcDamperTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcDamper::setPredefinedType(boost::optional< ::Ifc4x2::IfcDamperTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcDamperTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcDamper::declaration() const { return *((IfcParse::entity*)IFC4X2_types[274]); } const IfcParse::entity& Ifc4x2::IfcDamper::Class() { return *((IfcParse::entity*)IFC4X2_types[274]); } Ifc4x2::IfcDamper::IfcDamper(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x2::IfcDamper::IfcDamper(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcDamperTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcDamper::IfcDamper(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcDamperTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDamperType -::Ifc4x2::IfcDamperTypeEnum::Value Ifc4x2::IfcDamperType::PredefinedType() const { return ::Ifc4x2::IfcDamperTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcDamperTypeEnum::Value Ifc4x2::IfcDamperType::PredefinedType() const { return ::Ifc4x2::IfcDamperTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcDamperType::setPredefinedType(::Ifc4x2::IfcDamperTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcDamperTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcDamperType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[275]); } const IfcParse::entity& Ifc4x2::IfcDamperType::Class() { return *((IfcParse::entity*)IFC4X2_types[275]); } Ifc4x2::IfcDamperType::IfcDamperType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x2::IfcDamperType::IfcDamperType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDamperTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcDamperType::IfcDamperType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDamperTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDeepFoundation @@ -9147,7 +9147,7 @@ Ifc4x2::IfcDamperType::IfcDamperType(std::string v1_GlobalId, ::Ifc4x2::IfcOwner const IfcParse::entity& Ifc4x2::IfcDeepFoundation::declaration() const { return *((IfcParse::entity*)IFC4X2_types[282]); } const IfcParse::entity& Ifc4x2::IfcDeepFoundation::Class() { return *((IfcParse::entity*)IFC4X2_types[282]); } Ifc4x2::IfcDeepFoundation::IfcDeepFoundation(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x2::IfcDeepFoundation::IfcDeepFoundation(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x2::IfcDeepFoundation::IfcDeepFoundation(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDeepFoundationType @@ -9155,137 +9155,137 @@ Ifc4x2::IfcDeepFoundation::IfcDeepFoundation(std::string v1_GlobalId, ::Ifc4x2:: const IfcParse::entity& Ifc4x2::IfcDeepFoundationType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[283]); } const IfcParse::entity& Ifc4x2::IfcDeepFoundationType::Class() { return *((IfcParse::entity*)IFC4X2_types[283]); } Ifc4x2::IfcDeepFoundationType::IfcDeepFoundationType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x2::IfcDeepFoundationType::IfcDeepFoundationType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x2::IfcDeepFoundationType::IfcDeepFoundationType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDerivedProfileDef -::Ifc4x2::IfcProfileDef* Ifc4x2::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcProfileDef>(true); } +::Ifc4x2::IfcProfileDef* Ifc4x2::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcProfileDef>(true); } void Ifc4x2::IfcDerivedProfileDef::setParentProfile(::Ifc4x2::IfcProfileDef* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcCartesianTransformationOperator2D* Ifc4x2::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcCartesianTransformationOperator2D>(true); } +::Ifc4x2::IfcCartesianTransformationOperator2D* Ifc4x2::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcCartesianTransformationOperator2D>(true); } void Ifc4x2::IfcDerivedProfileDef::setOperator(::Ifc4x2::IfcCartesianTransformationOperator2D* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x2::IfcDerivedProfileDef::Label() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x2::IfcDerivedProfileDef::Label() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x2::IfcDerivedProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X2_types[286]); } const IfcParse::entity& Ifc4x2::IfcDerivedProfileDef::Class() { return *((IfcParse::entity*)IFC4X2_types[286]); } Ifc4x2::IfcDerivedProfileDef::IfcDerivedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x2::IfcDerivedProfileDef::IfcDerivedProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcProfileDef* v3_ParentProfile, ::Ifc4x2::IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< std::string > v5_Label) : IfcProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Operator ? v4_Operator->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } +Ifc4x2::IfcDerivedProfileDef::IfcDerivedProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcProfileDef* v3_ParentProfile, ::Ifc4x2::IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< std::string > v5_Label) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Operator ? v4_Operator->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } // Function implementations for IfcDerivedUnit -aggregate_of< ::Ifc4x2::IfcDerivedUnitElement >::ptr Ifc4x2::IfcDerivedUnit::Elements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x2::IfcDerivedUnitElement >(); } +aggregate_of< ::Ifc4x2::IfcDerivedUnitElement >::ptr Ifc4x2::IfcDerivedUnit::Elements() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x2::IfcDerivedUnitElement >(); } void Ifc4x2::IfcDerivedUnit::setElements(aggregate_of< ::Ifc4x2::IfcDerivedUnitElement >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcDerivedUnitEnum::Value Ifc4x2::IfcDerivedUnit::UnitType() const { return ::Ifc4x2::IfcDerivedUnitEnum::FromString(data_.get_attribute_value(1)); } +::Ifc4x2::IfcDerivedUnitEnum::Value Ifc4x2::IfcDerivedUnit::UnitType() const { return ::Ifc4x2::IfcDerivedUnitEnum::FromString(get_attribute_value(1)); } void Ifc4x2::IfcDerivedUnit::setUnitType(::Ifc4x2::IfcDerivedUnitEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x2::IfcDerivedUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x2::IfcDerivedUnit::UserDefinedType() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x2::IfcDerivedUnit::UserDefinedType() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcDerivedUnit::setUserDefinedType(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x2::IfcDerivedUnit::declaration() const { return *((IfcParse::entity*)IFC4X2_types[287]); } const IfcParse::entity& Ifc4x2::IfcDerivedUnit::Class() { return *((IfcParse::entity*)IFC4X2_types[287]); } Ifc4x2::IfcDerivedUnit::IfcDerivedUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcDerivedUnit::IfcDerivedUnit(aggregate_of< ::Ifc4x2::IfcDerivedUnitElement >::ptr v1_Elements, ::Ifc4x2::IfcDerivedUnitEnum::Value v2_UnitType, boost::optional< std::string > v3_UserDefinedType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Elements)->generalize());set_attribute_value(1, (EnumerationReference(&::Ifc4x2::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); }; populate_derived(); } +Ifc4x2::IfcDerivedUnit::IfcDerivedUnit(aggregate_of< ::Ifc4x2::IfcDerivedUnitElement >::ptr v1_Elements, ::Ifc4x2::IfcDerivedUnitEnum::Value v2_UnitType, boost::optional< std::string > v3_UserDefinedType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Elements)->generalize());set_attribute_value(1, (EnumerationReference(&::Ifc4x2::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); }; populate_derived(); } // Function implementations for IfcDerivedUnitElement -::Ifc4x2::IfcNamedUnit* Ifc4x2::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcNamedUnit>(true); } +::Ifc4x2::IfcNamedUnit* Ifc4x2::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcNamedUnit>(true); } void Ifc4x2::IfcDerivedUnitElement::setUnit(::Ifc4x2::IfcNamedUnit* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -int Ifc4x2::IfcDerivedUnitElement::Exponent() const { int v = data_.get_attribute_value(1); return v; } +int Ifc4x2::IfcDerivedUnitElement::Exponent() const { int v = get_attribute_value(1); return v; } void Ifc4x2::IfcDerivedUnitElement::setExponent(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcDerivedUnitElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[288]); } const IfcParse::entity& Ifc4x2::IfcDerivedUnitElement::Class() { return *((IfcParse::entity*)IFC4X2_types[288]); } Ifc4x2::IfcDerivedUnitElement::IfcDerivedUnitElement(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcDerivedUnitElement::IfcDerivedUnitElement(::Ifc4x2::IfcNamedUnit* v1_Unit, int v2_Exponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Unit ? v1_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Exponent));; populate_derived(); } +Ifc4x2::IfcDerivedUnitElement::IfcDerivedUnitElement(::Ifc4x2::IfcNamedUnit* v1_Unit, int v2_Exponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Unit ? v1_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Exponent));; populate_derived(); } // Function implementations for IfcDimensionalExponents -int Ifc4x2::IfcDimensionalExponents::LengthExponent() const { int v = data_.get_attribute_value(0); return v; } +int Ifc4x2::IfcDimensionalExponents::LengthExponent() const { int v = get_attribute_value(0); return v; } void Ifc4x2::IfcDimensionalExponents::setLengthExponent(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -int Ifc4x2::IfcDimensionalExponents::MassExponent() const { int v = data_.get_attribute_value(1); return v; } +int Ifc4x2::IfcDimensionalExponents::MassExponent() const { int v = get_attribute_value(1); return v; } void Ifc4x2::IfcDimensionalExponents::setMassExponent(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -int Ifc4x2::IfcDimensionalExponents::TimeExponent() const { int v = data_.get_attribute_value(2); return v; } +int Ifc4x2::IfcDimensionalExponents::TimeExponent() const { int v = get_attribute_value(2); return v; } void Ifc4x2::IfcDimensionalExponents::setTimeExponent(int v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -int Ifc4x2::IfcDimensionalExponents::ElectricCurrentExponent() const { int v = data_.get_attribute_value(3); return v; } +int Ifc4x2::IfcDimensionalExponents::ElectricCurrentExponent() const { int v = get_attribute_value(3); return v; } void Ifc4x2::IfcDimensionalExponents::setElectricCurrentExponent(int v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -int Ifc4x2::IfcDimensionalExponents::ThermodynamicTemperatureExponent() const { int v = data_.get_attribute_value(4); return v; } +int Ifc4x2::IfcDimensionalExponents::ThermodynamicTemperatureExponent() const { int v = get_attribute_value(4); return v; } void Ifc4x2::IfcDimensionalExponents::setThermodynamicTemperatureExponent(int v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -int Ifc4x2::IfcDimensionalExponents::AmountOfSubstanceExponent() const { int v = data_.get_attribute_value(5); return v; } +int Ifc4x2::IfcDimensionalExponents::AmountOfSubstanceExponent() const { int v = get_attribute_value(5); return v; } void Ifc4x2::IfcDimensionalExponents::setAmountOfSubstanceExponent(int v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -int Ifc4x2::IfcDimensionalExponents::LuminousIntensityExponent() const { int v = data_.get_attribute_value(6); return v; } +int Ifc4x2::IfcDimensionalExponents::LuminousIntensityExponent() const { int v = get_attribute_value(6); return v; } void Ifc4x2::IfcDimensionalExponents::setLuminousIntensityExponent(int v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x2::IfcDimensionalExponents::declaration() const { return *((IfcParse::entity*)IFC4X2_types[291]); } const IfcParse::entity& Ifc4x2::IfcDimensionalExponents::Class() { return *((IfcParse::entity*)IFC4X2_types[291]); } Ifc4x2::IfcDimensionalExponents::IfcDimensionalExponents(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::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(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; populate_derived(); } +Ifc4x2::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(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; populate_derived(); } // Function implementations for IfcDirection -std::vector< double > /*[2:3]*/ Ifc4x2::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[2:3]*/ Ifc4x2::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(0); return v; } void Ifc4x2::IfcDirection::setDirectionRatios(std::vector< double > /*[2:3]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x2::IfcDirection::declaration() const { return *((IfcParse::entity*)IFC4X2_types[293]); } const IfcParse::entity& Ifc4x2::IfcDirection::Class() { return *((IfcParse::entity*)IFC4X2_types[293]); } Ifc4x2::IfcDirection::IfcDirection(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x2::IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionRatios) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_DirectionRatios));; populate_derived(); } +Ifc4x2::IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionRatios) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_DirectionRatios));; populate_derived(); } // Function implementations for IfcDiscreteAccessory -boost::optional< ::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x2::IfcDiscreteAccessory::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcDiscreteAccessoryTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x2::IfcDiscreteAccessory::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcDiscreteAccessory::setPredefinedType(boost::optional< ::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcDiscreteAccessory::declaration() const { return *((IfcParse::entity*)IFC4X2_types[295]); } const IfcParse::entity& Ifc4x2::IfcDiscreteAccessory::Class() { return *((IfcParse::entity*)IFC4X2_types[295]); } Ifc4x2::IfcDiscreteAccessory::IfcDiscreteAccessory(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x2::IfcDiscreteAccessory::IfcDiscreteAccessory(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcDiscreteAccessory::IfcDiscreteAccessory(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDiscreteAccessoryType -::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Value Ifc4x2::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4x2::IfcDiscreteAccessoryTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Value Ifc4x2::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4x2::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcDiscreteAccessoryType::setPredefinedType(::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcDiscreteAccessoryType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[296]); } const IfcParse::entity& Ifc4x2::IfcDiscreteAccessoryType::Class() { return *((IfcParse::entity*)IFC4X2_types[296]); } Ifc4x2::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x2::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDistanceExpression -double Ifc4x2::IfcDistanceExpression::DistanceAlong() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x2::IfcDistanceExpression::DistanceAlong() const { double v = get_attribute_value(0); return v; } void Ifc4x2::IfcDistanceExpression::setDistanceAlong(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< double > Ifc4x2::IfcDistanceExpression::OffsetLateral() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x2::IfcDistanceExpression::OffsetLateral() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x2::IfcDistanceExpression::setOffsetLateral(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x2::IfcDistanceExpression::OffsetVertical() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x2::IfcDistanceExpression::OffsetVertical() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x2::IfcDistanceExpression::setOffsetVertical(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x2::IfcDistanceExpression::OffsetLongitudinal() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x2::IfcDistanceExpression::OffsetLongitudinal() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x2::IfcDistanceExpression::setOffsetLongitudinal(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< bool > Ifc4x2::IfcDistanceExpression::AlongHorizontal() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } bool v = data_.get_attribute_value(4); return v; } +boost::optional< bool > Ifc4x2::IfcDistanceExpression::AlongHorizontal() const { if(get_attribute_value(4).isNull()) { return boost::none; } bool v = get_attribute_value(4); return v; } void Ifc4x2::IfcDistanceExpression::setAlongHorizontal(boost::optional< bool > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x2::IfcDistanceExpression::declaration() const { return *((IfcParse::entity*)IFC4X2_types[298]); } const IfcParse::entity& Ifc4x2::IfcDistanceExpression::Class() { return *((IfcParse::entity*)IFC4X2_types[298]); } Ifc4x2::IfcDistanceExpression::IfcDistanceExpression(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x2::IfcDistanceExpression::IfcDistanceExpression(double v1_DistanceAlong, boost::optional< double > v2_OffsetLateral, boost::optional< double > v3_OffsetVertical, boost::optional< double > v4_OffsetLongitudinal, boost::optional< bool > v5_AlongHorizontal) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_DistanceAlong)); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); } if (v5_AlongHorizontal) {set_attribute_value(4, (*v5_AlongHorizontal)); }; populate_derived(); } +Ifc4x2::IfcDistanceExpression::IfcDistanceExpression(double v1_DistanceAlong, boost::optional< double > v2_OffsetLateral, boost::optional< double > v3_OffsetVertical, boost::optional< double > v4_OffsetLongitudinal, boost::optional< bool > v5_AlongHorizontal) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_DistanceAlong)); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); } if (v5_AlongHorizontal) {set_attribute_value(4, (*v5_AlongHorizontal)); }; populate_derived(); } // Function implementations for IfcDistributionChamberElement -boost::optional< ::Ifc4x2::IfcDistributionChamberElementTypeEnum::Value > Ifc4x2::IfcDistributionChamberElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcDistributionChamberElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcDistributionChamberElementTypeEnum::Value > Ifc4x2::IfcDistributionChamberElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcDistributionChamberElement::setPredefinedType(boost::optional< ::Ifc4x2::IfcDistributionChamberElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcDistributionChamberElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcDistributionChamberElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[299]); } const IfcParse::entity& Ifc4x2::IfcDistributionChamberElement::Class() { return *((IfcParse::entity*)IFC4X2_types[299]); } Ifc4x2::IfcDistributionChamberElement::IfcDistributionChamberElement(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x2::IfcDistributionChamberElement::IfcDistributionChamberElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcDistributionChamberElement::IfcDistributionChamberElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDistributionChamberElementType -::Ifc4x2::IfcDistributionChamberElementTypeEnum::Value Ifc4x2::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4x2::IfcDistributionChamberElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcDistributionChamberElementTypeEnum::Value Ifc4x2::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4x2::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcDistributionChamberElementType::setPredefinedType(::Ifc4x2::IfcDistributionChamberElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcDistributionChamberElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcDistributionChamberElementType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[300]); } const IfcParse::entity& Ifc4x2::IfcDistributionChamberElementType::Class() { return *((IfcParse::entity*)IFC4X2_types[300]); } Ifc4x2::IfcDistributionChamberElementType::IfcDistributionChamberElementType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x2::IfcDistributionChamberElementType::IfcDistributionChamberElementType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcDistributionChamberElementType::IfcDistributionChamberElementType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDistributionCircuit @@ -9293,7 +9293,7 @@ Ifc4x2::IfcDistributionChamberElementType::IfcDistributionChamberElementType(std const IfcParse::entity& Ifc4x2::IfcDistributionCircuit::declaration() const { return *((IfcParse::entity*)IFC4X2_types[302]); } const IfcParse::entity& Ifc4x2::IfcDistributionCircuit::Class() { return *((IfcParse::entity*)IFC4X2_types[302]); } Ifc4x2::IfcDistributionCircuit::IfcDistributionCircuit(IfcEntityInstanceData&& e) : IfcDistributionSystem(std::move(e)) { } -Ifc4x2::IfcDistributionCircuit::IfcDistributionCircuit(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< ::Ifc4x2::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcDistributionSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x2::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcDistributionCircuit::IfcDistributionCircuit(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< ::Ifc4x2::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcDistributionSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x2::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDistributionControlElement @@ -9302,7 +9302,7 @@ Ifc4x2::IfcDistributionCircuit::IfcDistributionCircuit(std::string v1_GlobalId, const IfcParse::entity& Ifc4x2::IfcDistributionControlElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[303]); } const IfcParse::entity& Ifc4x2::IfcDistributionControlElement::Class() { return *((IfcParse::entity*)IFC4X2_types[303]); } Ifc4x2::IfcDistributionControlElement::IfcDistributionControlElement(IfcEntityInstanceData&& e) : IfcDistributionElement(std::move(e)) { } -Ifc4x2::IfcDistributionControlElement::IfcDistributionControlElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x2::IfcDistributionControlElement::IfcDistributionControlElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionControlElementType @@ -9310,7 +9310,7 @@ Ifc4x2::IfcDistributionControlElement::IfcDistributionControlElement(std::string const IfcParse::entity& Ifc4x2::IfcDistributionControlElementType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[304]); } const IfcParse::entity& Ifc4x2::IfcDistributionControlElementType::Class() { return *((IfcParse::entity*)IFC4X2_types[304]); } Ifc4x2::IfcDistributionControlElementType::IfcDistributionControlElementType(IfcEntityInstanceData&& e) : IfcDistributionElementType(std::move(e)) { } -Ifc4x2::IfcDistributionControlElementType::IfcDistributionControlElementType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x2::IfcDistributionControlElementType::IfcDistributionControlElementType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionElement @@ -9319,7 +9319,7 @@ Ifc4x2::IfcDistributionControlElementType::IfcDistributionControlElementType(std const IfcParse::entity& Ifc4x2::IfcDistributionElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[305]); } const IfcParse::entity& Ifc4x2::IfcDistributionElement::Class() { return *((IfcParse::entity*)IFC4X2_types[305]); } Ifc4x2::IfcDistributionElement::IfcDistributionElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x2::IfcDistributionElement::IfcDistributionElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x2::IfcDistributionElement::IfcDistributionElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionElementType @@ -9327,7 +9327,7 @@ Ifc4x2::IfcDistributionElement::IfcDistributionElement(std::string v1_GlobalId, const IfcParse::entity& Ifc4x2::IfcDistributionElementType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[306]); } const IfcParse::entity& Ifc4x2::IfcDistributionElementType::Class() { return *((IfcParse::entity*)IFC4X2_types[306]); } Ifc4x2::IfcDistributionElementType::IfcDistributionElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x2::IfcDistributionElementType::IfcDistributionElementType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x2::IfcDistributionElementType::IfcDistributionElementType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionFlowElement @@ -9336,7 +9336,7 @@ Ifc4x2::IfcDistributionElementType::IfcDistributionElementType(std::string v1_Gl const IfcParse::entity& Ifc4x2::IfcDistributionFlowElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[307]); } const IfcParse::entity& Ifc4x2::IfcDistributionFlowElement::Class() { return *((IfcParse::entity*)IFC4X2_types[307]); } Ifc4x2::IfcDistributionFlowElement::IfcDistributionFlowElement(IfcEntityInstanceData&& e) : IfcDistributionElement(std::move(e)) { } -Ifc4x2::IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x2::IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionFlowElementType @@ -9344,68 +9344,68 @@ Ifc4x2::IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v1_Gl const IfcParse::entity& Ifc4x2::IfcDistributionFlowElementType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[308]); } const IfcParse::entity& Ifc4x2::IfcDistributionFlowElementType::Class() { return *((IfcParse::entity*)IFC4X2_types[308]); } Ifc4x2::IfcDistributionFlowElementType::IfcDistributionFlowElementType(IfcEntityInstanceData&& e) : IfcDistributionElementType(std::move(e)) { } -Ifc4x2::IfcDistributionFlowElementType::IfcDistributionFlowElementType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x2::IfcDistributionFlowElementType::IfcDistributionFlowElementType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionPort -boost::optional< ::Ifc4x2::IfcFlowDirectionEnum::Value > Ifc4x2::IfcDistributionPort::FlowDirection() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x2::IfcFlowDirectionEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x2::IfcFlowDirectionEnum::Value > Ifc4x2::IfcDistributionPort::FlowDirection() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x2::IfcFlowDirectionEnum::FromString(get_attribute_value(7)); } void Ifc4x2::IfcDistributionPort::setFlowDirection(boost::optional< ::Ifc4x2::IfcFlowDirectionEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x2::IfcFlowDirectionEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x2::IfcDistributionPortTypeEnum::Value > Ifc4x2::IfcDistributionPort::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcDistributionPortTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcDistributionPortTypeEnum::Value > Ifc4x2::IfcDistributionPort::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcDistributionPortTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcDistributionPort::setPredefinedType(boost::optional< ::Ifc4x2::IfcDistributionPortTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcDistributionPortTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< ::Ifc4x2::IfcDistributionSystemEnum::Value > Ifc4x2::IfcDistributionPort::SystemType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x2::IfcDistributionSystemEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x2::IfcDistributionSystemEnum::Value > Ifc4x2::IfcDistributionPort::SystemType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x2::IfcDistributionSystemEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcDistributionPort::setSystemType(boost::optional< ::Ifc4x2::IfcDistributionSystemEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcDistributionSystemEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x2::IfcDistributionPort::declaration() const { return *((IfcParse::entity*)IFC4X2_types[309]); } const IfcParse::entity& Ifc4x2::IfcDistributionPort::Class() { return *((IfcParse::entity*)IFC4X2_types[309]); } Ifc4x2::IfcDistributionPort::IfcDistributionPort(IfcEntityInstanceData&& e) : IfcPort(std::move(e)) { } -Ifc4x2::IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x2::IfcFlowDirectionEnum::Value > v8_FlowDirection, boost::optional< ::Ifc4x2::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x2::IfcDistributionSystemEnum::Value > v10_SystemType) : IfcPort(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_FlowDirection) {set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); }; populate_derived(); } +Ifc4x2::IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x2::IfcFlowDirectionEnum::Value > v8_FlowDirection, boost::optional< ::Ifc4x2::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x2::IfcDistributionSystemEnum::Value > v10_SystemType) : IfcPort(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_FlowDirection) {set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); }; populate_derived(); } // Function implementations for IfcDistributionSystem -boost::optional< std::string > Ifc4x2::IfcDistributionSystem::LongName() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x2::IfcDistributionSystem::LongName() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcDistributionSystem::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< ::Ifc4x2::IfcDistributionSystemEnum::Value > Ifc4x2::IfcDistributionSystem::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x2::IfcDistributionSystemEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x2::IfcDistributionSystemEnum::Value > Ifc4x2::IfcDistributionSystem::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x2::IfcDistributionSystemEnum::FromString(get_attribute_value(6)); } void Ifc4x2::IfcDistributionSystem::setPredefinedType(boost::optional< ::Ifc4x2::IfcDistributionSystemEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x2::IfcDistributionSystemEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x2::IfcDistributionSystem::declaration() const { return *((IfcParse::entity*)IFC4X2_types[311]); } const IfcParse::entity& Ifc4x2::IfcDistributionSystem::Class() { return *((IfcParse::entity*)IFC4X2_types[311]); } Ifc4x2::IfcDistributionSystem::IfcDistributionSystem(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x2::IfcDistributionSystem::IfcDistributionSystem(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< ::Ifc4x2::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x2::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcDistributionSystem::IfcDistributionSystem(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< ::Ifc4x2::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x2::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDocumentInformation -std::string Ifc4x2::IfcDocumentInformation::Identification() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x2::IfcDocumentInformation::Identification() const { std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcDocumentInformation::setIdentification(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x2::IfcDocumentInformation::Name() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x2::IfcDocumentInformation::Name() const { std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcDocumentInformation::setName(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x2::IfcDocumentInformation::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x2::IfcDocumentInformation::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcDocumentInformation::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x2::IfcDocumentInformation::Location() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x2::IfcDocumentInformation::Location() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x2::IfcDocumentInformation::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x2::IfcDocumentInformation::Purpose() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x2::IfcDocumentInformation::Purpose() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcDocumentInformation::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x2::IfcDocumentInformation::IntendedUse() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x2::IfcDocumentInformation::IntendedUse() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcDocumentInformation::setIntendedUse(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x2::IfcDocumentInformation::Scope() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x2::IfcDocumentInformation::Scope() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x2::IfcDocumentInformation::setScope(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x2::IfcDocumentInformation::Revision() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x2::IfcDocumentInformation::Revision() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x2::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x2::IfcActorSelect* Ifc4x2::IfcDocumentInformation::DocumentOwner() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x2::IfcActorSelect>(true); } +::Ifc4x2::IfcActorSelect* Ifc4x2::IfcDocumentInformation::DocumentOwner() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x2::IfcActorSelect>(true); } void Ifc4x2::IfcDocumentInformation::setDocumentOwner(::Ifc4x2::IfcActorSelect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -boost::optional< aggregate_of< ::Ifc4x2::IfcActorSelect >::ptr > Ifc4x2::IfcDocumentInformation::Editors() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x2::IfcActorSelect >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcActorSelect >::ptr > Ifc4x2::IfcDocumentInformation::Editors() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x2::IfcActorSelect >(); } void Ifc4x2::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x2::IfcActorSelect >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x2::IfcDocumentInformation::CreationTime() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x2::IfcDocumentInformation::CreationTime() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x2::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< std::string > Ifc4x2::IfcDocumentInformation::LastRevisionTime() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x2::IfcDocumentInformation::LastRevisionTime() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x2::IfcDocumentInformation::setLastRevisionTime(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x2::IfcDocumentInformation::ElectronicFormat() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x2::IfcDocumentInformation::ElectronicFormat() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x2::IfcDocumentInformation::setElectronicFormat(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< std::string > Ifc4x2::IfcDocumentInformation::ValidFrom() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(13); return v; } +boost::optional< std::string > Ifc4x2::IfcDocumentInformation::ValidFrom() const { if(get_attribute_value(13).isNull()) { return boost::none; } std::string v = get_attribute_value(13); return v; } void Ifc4x2::IfcDocumentInformation::setValidFrom(boost::optional< std::string > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x2::IfcDocumentInformation::ValidUntil() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x2::IfcDocumentInformation::ValidUntil() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x2::IfcDocumentInformation::setValidUntil(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< ::Ifc4x2::IfcDocumentConfidentialityEnum::Value > Ifc4x2::IfcDocumentInformation::Confidentiality() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } return ::Ifc4x2::IfcDocumentConfidentialityEnum::FromString(data_.get_attribute_value(15)); } +boost::optional< ::Ifc4x2::IfcDocumentConfidentialityEnum::Value > Ifc4x2::IfcDocumentInformation::Confidentiality() const { if(get_attribute_value(15).isNull()) { return boost::none; } return ::Ifc4x2::IfcDocumentConfidentialityEnum::FromString(get_attribute_value(15)); } void Ifc4x2::IfcDocumentInformation::setConfidentiality(boost::optional< ::Ifc4x2::IfcDocumentConfidentialityEnum::Value > v) { if (v) {set_attribute_value(15, EnumerationReference(&::Ifc4x2::IfcDocumentConfidentialityEnum::Class(), (size_t) *v));} else {unset_attribute_value(15);} } -boost::optional< ::Ifc4x2::IfcDocumentStatusEnum::Value > Ifc4x2::IfcDocumentInformation::Status() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } return ::Ifc4x2::IfcDocumentStatusEnum::FromString(data_.get_attribute_value(16)); } +boost::optional< ::Ifc4x2::IfcDocumentStatusEnum::Value > Ifc4x2::IfcDocumentInformation::Status() const { if(get_attribute_value(16).isNull()) { return boost::none; } return ::Ifc4x2::IfcDocumentStatusEnum::FromString(get_attribute_value(16)); } void Ifc4x2::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x2::IfcDocumentStatusEnum::Value > v) { if (v) {set_attribute_value(16, EnumerationReference(&::Ifc4x2::IfcDocumentStatusEnum::Class(), (size_t) *v));} else {unset_attribute_value(16);} } ::Ifc4x2::IfcRelAssociatesDocument::list::ptr Ifc4x2::IfcDocumentInformation::DocumentInfoForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[848], 5)->as(); } @@ -9416,26 +9416,26 @@ void Ifc4x2::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x2::IfcDoc const IfcParse::entity& Ifc4x2::IfcDocumentInformation::declaration() const { return *((IfcParse::entity*)IFC4X2_types[314]); } const IfcParse::entity& Ifc4x2::IfcDocumentInformation::Class() { return *((IfcParse::entity*)IFC4X2_types[314]); } Ifc4x2::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData&& e) : IfcExternalInformation(std::move(e)) { } -Ifc4x2::IfcDocumentInformation::IfcDocumentInformation(std::string v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_Location, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, ::Ifc4x2::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x2::IfcActorSelect >::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< ::Ifc4x2::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x2::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation(IfcEntityInstanceData(storage_t(17))) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, v9_DocumentOwner ? v9_DocumentOwner->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v10_Editors) {set_attribute_value(9, (*v10_Editors)->generalize()); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (EnumerationReference(&::Ifc4x2::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (EnumerationReference(&::Ifc4x2::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; populate_derived(); } +Ifc4x2::IfcDocumentInformation::IfcDocumentInformation(std::string v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_Location, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, ::Ifc4x2::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x2::IfcActorSelect >::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< ::Ifc4x2::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x2::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation(IfcEntityInstanceData(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, v9_DocumentOwner ? v9_DocumentOwner->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v10_Editors) {set_attribute_value(9, (*v10_Editors)->generalize()); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (EnumerationReference(&::Ifc4x2::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (EnumerationReference(&::Ifc4x2::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; populate_derived(); } // Function implementations for IfcDocumentInformationRelationship -::Ifc4x2::IfcDocumentInformation* Ifc4x2::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcDocumentInformation>(true); } +::Ifc4x2::IfcDocumentInformation* Ifc4x2::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcDocumentInformation>(true); } void Ifc4x2::IfcDocumentInformationRelationship::setRelatingDocument(::Ifc4x2::IfcDocumentInformation* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x2::IfcDocumentInformation >::ptr Ifc4x2::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x2::IfcDocumentInformation >(); } +aggregate_of< ::Ifc4x2::IfcDocumentInformation >::ptr Ifc4x2::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x2::IfcDocumentInformation >(); } void Ifc4x2::IfcDocumentInformationRelationship::setRelatedDocuments(aggregate_of< ::Ifc4x2::IfcDocumentInformation >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x2::IfcDocumentInformationRelationship::RelationshipType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x2::IfcDocumentInformationRelationship::RelationshipType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcDocumentInformationRelationship::setRelationshipType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x2::IfcDocumentInformationRelationship::declaration() const { return *((IfcParse::entity*)IFC4X2_types[315]); } const IfcParse::entity& Ifc4x2::IfcDocumentInformationRelationship::Class() { return *((IfcParse::entity*)IFC4X2_types[315]); } Ifc4x2::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x2::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcDocumentInformation* v3_RelatingDocument, aggregate_of< ::Ifc4x2::IfcDocumentInformation >::ptr v4_RelatedDocuments, boost::optional< std::string > v5_RelationshipType) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingDocument ? v3_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedDocuments)->generalize()); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); }; populate_derived(); } +Ifc4x2::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcDocumentInformation* v3_RelatingDocument, aggregate_of< ::Ifc4x2::IfcDocumentInformation >::ptr v4_RelatedDocuments, boost::optional< std::string > v5_RelationshipType) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingDocument ? v3_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedDocuments)->generalize()); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); }; populate_derived(); } // Function implementations for IfcDocumentReference -boost::optional< std::string > Ifc4x2::IfcDocumentReference::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x2::IfcDocumentReference::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x2::IfcDocumentReference::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x2::IfcDocumentInformation* Ifc4x2::IfcDocumentReference::ReferencedDocument() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcDocumentInformation>(true); } +::Ifc4x2::IfcDocumentInformation* Ifc4x2::IfcDocumentReference::ReferencedDocument() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcDocumentInformation>(true); } void Ifc4x2::IfcDocumentReference::setReferencedDocument(::Ifc4x2::IfcDocumentInformation* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } ::Ifc4x2::IfcRelAssociatesDocument::list::ptr Ifc4x2::IfcDocumentReference::DocumentRefForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[848], 5)->as(); } @@ -9443,77 +9443,77 @@ void Ifc4x2::IfcDocumentReference::setReferencedDocument(::Ifc4x2::IfcDocumentIn const IfcParse::entity& Ifc4x2::IfcDocumentReference::declaration() const { return *((IfcParse::entity*)IFC4X2_types[316]); } const IfcParse::entity& Ifc4x2::IfcDocumentReference::Class() { return *((IfcParse::entity*)IFC4X2_types[316]); } Ifc4x2::IfcDocumentReference::IfcDocumentReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x2::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, ::Ifc4x2::IfcDocumentInformation* v5_ReferencedDocument) : IfcExternalReference(IfcEntityInstanceData(storage_t(5))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ReferencedDocument ? v5_ReferencedDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::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, ::Ifc4x2::IfcDocumentInformation* v5_ReferencedDocument) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ReferencedDocument ? v5_ReferencedDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDoor -boost::optional< double > Ifc4x2::IfcDoor::OverallHeight() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x2::IfcDoor::OverallHeight() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x2::IfcDoor::setOverallHeight(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x2::IfcDoor::OverallWidth() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x2::IfcDoor::OverallWidth() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x2::IfcDoor::setOverallWidth(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x2::IfcDoorTypeEnum::Value > Ifc4x2::IfcDoor::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x2::IfcDoorTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x2::IfcDoorTypeEnum::Value > Ifc4x2::IfcDoor::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x2::IfcDoorTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x2::IfcDoor::setPredefinedType(boost::optional< ::Ifc4x2::IfcDoorTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x2::IfcDoorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -boost::optional< ::Ifc4x2::IfcDoorTypeOperationEnum::Value > Ifc4x2::IfcDoor::OperationType() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x2::IfcDoorTypeOperationEnum::FromString(data_.get_attribute_value(11)); } +boost::optional< ::Ifc4x2::IfcDoorTypeOperationEnum::Value > Ifc4x2::IfcDoor::OperationType() const { if(get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x2::IfcDoorTypeOperationEnum::FromString(get_attribute_value(11)); } void Ifc4x2::IfcDoor::setOperationType(boost::optional< ::Ifc4x2::IfcDoorTypeOperationEnum::Value > v) { if (v) {set_attribute_value(11, EnumerationReference(&::Ifc4x2::IfcDoorTypeOperationEnum::Class(), (size_t) *v));} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x2::IfcDoor::UserDefinedOperationType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x2::IfcDoor::UserDefinedOperationType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x2::IfcDoor::setUserDefinedOperationType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x2::IfcDoor::declaration() const { return *((IfcParse::entity*)IFC4X2_types[319]); } const IfcParse::entity& Ifc4x2::IfcDoor::Class() { return *((IfcParse::entity*)IFC4X2_types[319]); } Ifc4x2::IfcDoor::IfcDoor(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x2::IfcDoor::IfcDoor(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x2::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x2::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x2::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } +Ifc4x2::IfcDoor::IfcDoor(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x2::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x2::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x2::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } // Function implementations for IfcDoorLiningProperties -boost::optional< double > Ifc4x2::IfcDoorLiningProperties::LiningDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x2::IfcDoorLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x2::IfcDoorLiningProperties::setLiningDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x2::IfcDoorLiningProperties::LiningThickness() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x2::IfcDoorLiningProperties::LiningThickness() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x2::IfcDoorLiningProperties::setLiningThickness(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x2::IfcDoorLiningProperties::ThresholdDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x2::IfcDoorLiningProperties::ThresholdDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x2::IfcDoorLiningProperties::setThresholdDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x2::IfcDoorLiningProperties::ThresholdThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x2::IfcDoorLiningProperties::ThresholdThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x2::IfcDoorLiningProperties::setThresholdThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x2::IfcDoorLiningProperties::TransomThickness() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x2::IfcDoorLiningProperties::TransomThickness() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x2::IfcDoorLiningProperties::setTransomThickness(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x2::IfcDoorLiningProperties::TransomOffset() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x2::IfcDoorLiningProperties::TransomOffset() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x2::IfcDoorLiningProperties::setTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x2::IfcDoorLiningProperties::LiningOffset() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x2::IfcDoorLiningProperties::LiningOffset() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x2::IfcDoorLiningProperties::setLiningOffset(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x2::IfcDoorLiningProperties::ThresholdOffset() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x2::IfcDoorLiningProperties::ThresholdOffset() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x2::IfcDoorLiningProperties::setThresholdOffset(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x2::IfcDoorLiningProperties::CasingThickness() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x2::IfcDoorLiningProperties::CasingThickness() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x2::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x2::IfcDoorLiningProperties::CasingDepth() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x2::IfcDoorLiningProperties::CasingDepth() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x2::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -::Ifc4x2::IfcShapeAspect* Ifc4x2::IfcDoorLiningProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(14).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(14)))->as<::Ifc4x2::IfcShapeAspect>(true); } +::Ifc4x2::IfcShapeAspect* Ifc4x2::IfcDoorLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(14).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(14)))->as<::Ifc4x2::IfcShapeAspect>(true); } void Ifc4x2::IfcDoorLiningProperties::setShapeAspectStyle(::Ifc4x2::IfcShapeAspect* v) { set_attribute_value(14, v->as());if constexpr (false)unset_attribute_value(14); } -boost::optional< double > Ifc4x2::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x2::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x2::IfcDoorLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x2::IfcDoorLiningProperties::LiningToPanelOffsetY() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x2::IfcDoorLiningProperties::LiningToPanelOffsetY() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x2::IfcDoorLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } const IfcParse::entity& Ifc4x2::IfcDoorLiningProperties::declaration() const { return *((IfcParse::entity*)IFC4X2_types[320]); } const IfcParse::entity& Ifc4x2::IfcDoorLiningProperties::Class() { return *((IfcParse::entity*)IFC4X2_types[320]); } Ifc4x2::IfcDoorLiningProperties::IfcDoorLiningProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x2::IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_GlobalId, ::Ifc4x2::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, ::Ifc4x2::IfcShapeAspect* v15_ShapeAspectStyle, boost::optional< double > v16_LiningToPanelOffsetX, boost::optional< double > v17_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, v15_ShapeAspectStyle ? v15_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); }; populate_derived(); } +Ifc4x2::IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_GlobalId, ::Ifc4x2::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, ::Ifc4x2::IfcShapeAspect* v15_ShapeAspectStyle, boost::optional< double > v16_LiningToPanelOffsetX, boost::optional< double > v17_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, v15_ShapeAspectStyle ? v15_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); }; populate_derived(); } // Function implementations for IfcDoorPanelProperties -boost::optional< double > Ifc4x2::IfcDoorPanelProperties::PanelDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x2::IfcDoorPanelProperties::PanelDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x2::IfcDoorPanelProperties::setPanelDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x2::IfcDoorPanelOperationEnum::Value Ifc4x2::IfcDoorPanelProperties::PanelOperation() const { return ::Ifc4x2::IfcDoorPanelOperationEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x2::IfcDoorPanelOperationEnum::Value Ifc4x2::IfcDoorPanelProperties::PanelOperation() const { return ::Ifc4x2::IfcDoorPanelOperationEnum::FromString(get_attribute_value(5)); } void Ifc4x2::IfcDoorPanelProperties::setPanelOperation(::Ifc4x2::IfcDoorPanelOperationEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x2::IfcDoorPanelOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x2::IfcDoorPanelProperties::PanelWidth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x2::IfcDoorPanelProperties::PanelWidth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x2::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x2::IfcDoorPanelPositionEnum::Value Ifc4x2::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x2::IfcDoorPanelPositionEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x2::IfcDoorPanelPositionEnum::Value Ifc4x2::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x2::IfcDoorPanelPositionEnum::FromString(get_attribute_value(7)); } void Ifc4x2::IfcDoorPanelProperties::setPanelPosition(::Ifc4x2::IfcDoorPanelPositionEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x2::IfcDoorPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x2::IfcShapeAspect* Ifc4x2::IfcDoorPanelProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x2::IfcShapeAspect>(true); } +::Ifc4x2::IfcShapeAspect* Ifc4x2::IfcDoorPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x2::IfcShapeAspect>(true); } void Ifc4x2::IfcDoorPanelProperties::setShapeAspectStyle(::Ifc4x2::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x2::IfcDoorPanelProperties::declaration() const { return *((IfcParse::entity*)IFC4X2_types[323]); } const IfcParse::entity& Ifc4x2::IfcDoorPanelProperties::Class() { return *((IfcParse::entity*)IFC4X2_types[323]); } Ifc4x2::IfcDoorPanelProperties::IfcDoorPanelProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x2::IfcDoorPanelProperties::IfcDoorPanelProperties(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_PanelDepth, ::Ifc4x2::IfcDoorPanelOperationEnum::Value v6_PanelOperation, boost::optional< double > v7_PanelWidth, ::Ifc4x2::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x2::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcDoorPanelProperties::IfcDoorPanelProperties(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_PanelDepth, ::Ifc4x2::IfcDoorPanelOperationEnum::Value v6_PanelOperation, boost::optional< double > v7_PanelWidth, ::Ifc4x2::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x2::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDoorStandardCase @@ -9521,39 +9521,39 @@ Ifc4x2::IfcDoorPanelProperties::IfcDoorPanelProperties(std::string v1_GlobalId, const IfcParse::entity& Ifc4x2::IfcDoorStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X2_types[324]); } const IfcParse::entity& Ifc4x2::IfcDoorStandardCase::Class() { return *((IfcParse::entity*)IFC4X2_types[324]); } Ifc4x2::IfcDoorStandardCase::IfcDoorStandardCase(IfcEntityInstanceData&& e) : IfcDoor(std::move(e)) { } -Ifc4x2::IfcDoorStandardCase::IfcDoorStandardCase(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x2::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x2::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcDoor(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x2::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } +Ifc4x2::IfcDoorStandardCase::IfcDoorStandardCase(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x2::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x2::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcDoor(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x2::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } // Function implementations for IfcDoorStyle -::Ifc4x2::IfcDoorStyleOperationEnum::Value Ifc4x2::IfcDoorStyle::OperationType() const { return ::Ifc4x2::IfcDoorStyleOperationEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x2::IfcDoorStyleOperationEnum::Value Ifc4x2::IfcDoorStyle::OperationType() const { return ::Ifc4x2::IfcDoorStyleOperationEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcDoorStyle::setOperationType(::Ifc4x2::IfcDoorStyleOperationEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcDoorStyleOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc4x2::IfcDoorStyleConstructionEnum::Value Ifc4x2::IfcDoorStyle::ConstructionType() const { return ::Ifc4x2::IfcDoorStyleConstructionEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcDoorStyleConstructionEnum::Value Ifc4x2::IfcDoorStyle::ConstructionType() const { return ::Ifc4x2::IfcDoorStyleConstructionEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcDoorStyle::setConstructionType(::Ifc4x2::IfcDoorStyleConstructionEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcDoorStyleConstructionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -bool Ifc4x2::IfcDoorStyle::ParameterTakesPrecedence() const { bool v = data_.get_attribute_value(10); return v; } +bool Ifc4x2::IfcDoorStyle::ParameterTakesPrecedence() const { bool v = get_attribute_value(10); return v; } void Ifc4x2::IfcDoorStyle::setParameterTakesPrecedence(bool v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -bool Ifc4x2::IfcDoorStyle::Sizeable() const { bool v = data_.get_attribute_value(11); return v; } +bool Ifc4x2::IfcDoorStyle::Sizeable() const { bool v = get_attribute_value(11); return v; } void Ifc4x2::IfcDoorStyle::setSizeable(bool v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x2::IfcDoorStyle::declaration() const { return *((IfcParse::entity*)IFC4X2_types[325]); } const IfcParse::entity& Ifc4x2::IfcDoorStyle::Class() { return *((IfcParse::entity*)IFC4X2_types[325]); } Ifc4x2::IfcDoorStyle::IfcDoorStyle(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(e)) { } -Ifc4x2::IfcDoorStyle::IfcDoorStyle(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, ::Ifc4x2::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x2::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcDoorStyleOperationEnum::Class(),(size_t)v9_OperationType)));set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcDoorStyleConstructionEnum::Class(),(size_t)v10_ConstructionType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; populate_derived(); } +Ifc4x2::IfcDoorStyle::IfcDoorStyle(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, ::Ifc4x2::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x2::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcDoorStyleOperationEnum::Class(),(size_t)v9_OperationType)));set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcDoorStyleConstructionEnum::Class(),(size_t)v10_ConstructionType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; populate_derived(); } // Function implementations for IfcDoorType -::Ifc4x2::IfcDoorTypeEnum::Value Ifc4x2::IfcDoorType::PredefinedType() const { return ::Ifc4x2::IfcDoorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcDoorTypeEnum::Value Ifc4x2::IfcDoorType::PredefinedType() const { return ::Ifc4x2::IfcDoorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcDoorType::setPredefinedType(::Ifc4x2::IfcDoorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcDoorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x2::IfcDoorTypeOperationEnum::Value Ifc4x2::IfcDoorType::OperationType() const { return ::Ifc4x2::IfcDoorTypeOperationEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x2::IfcDoorTypeOperationEnum::Value Ifc4x2::IfcDoorType::OperationType() const { return ::Ifc4x2::IfcDoorTypeOperationEnum::FromString(get_attribute_value(10)); } void Ifc4x2::IfcDoorType::setOperationType(::Ifc4x2::IfcDoorTypeOperationEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x2::IfcDoorTypeOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } -boost::optional< bool > Ifc4x2::IfcDoorType::ParameterTakesPrecedence() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } bool v = data_.get_attribute_value(11); return v; } +boost::optional< bool > Ifc4x2::IfcDoorType::ParameterTakesPrecedence() const { if(get_attribute_value(11).isNull()) { return boost::none; } bool v = get_attribute_value(11); return v; } void Ifc4x2::IfcDoorType::setParameterTakesPrecedence(boost::optional< bool > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x2::IfcDoorType::UserDefinedOperationType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x2::IfcDoorType::UserDefinedOperationType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x2::IfcDoorType::setUserDefinedOperationType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x2::IfcDoorType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[328]); } const IfcParse::entity& Ifc4x2::IfcDoorType::Class() { return *((IfcParse::entity*)IFC4X2_types[328]); } Ifc4x2::IfcDoorType::IfcDoorType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x2::IfcDoorType::IfcDoorType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x2::IfcDoorTypeOperationEnum::Value v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } +Ifc4x2::IfcDoorType::IfcDoorType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x2::IfcDoorTypeOperationEnum::Value v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } // Function implementations for IfcDraughtingPreDefinedColour @@ -9561,7 +9561,7 @@ Ifc4x2::IfcDoorType::IfcDoorType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHist const IfcParse::entity& Ifc4x2::IfcDraughtingPreDefinedColour::declaration() const { return *((IfcParse::entity*)IFC4X2_types[332]); } const IfcParse::entity& Ifc4x2::IfcDraughtingPreDefinedColour::Class() { return *((IfcParse::entity*)IFC4X2_types[332]); } Ifc4x2::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(IfcEntityInstanceData&& e) : IfcPreDefinedColour(std::move(e)) { } -Ifc4x2::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::string v1_Name) : IfcPreDefinedColour(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x2::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::string v1_Name) : IfcPreDefinedColour(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcDraughtingPreDefinedCurveFont @@ -9569,224 +9569,224 @@ Ifc4x2::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::string const IfcParse::entity& Ifc4x2::IfcDraughtingPreDefinedCurveFont::declaration() const { return *((IfcParse::entity*)IFC4X2_types[333]); } const IfcParse::entity& Ifc4x2::IfcDraughtingPreDefinedCurveFont::Class() { return *((IfcParse::entity*)IFC4X2_types[333]); } Ifc4x2::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(IfcEntityInstanceData&& e) : IfcPreDefinedCurveFont(std::move(e)) { } -Ifc4x2::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedCurveFont(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x2::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedCurveFont(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcDuctFitting -boost::optional< ::Ifc4x2::IfcDuctFittingTypeEnum::Value > Ifc4x2::IfcDuctFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcDuctFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcDuctFittingTypeEnum::Value > Ifc4x2::IfcDuctFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcDuctFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcDuctFitting::setPredefinedType(boost::optional< ::Ifc4x2::IfcDuctFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcDuctFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcDuctFitting::declaration() const { return *((IfcParse::entity*)IFC4X2_types[334]); } const IfcParse::entity& Ifc4x2::IfcDuctFitting::Class() { return *((IfcParse::entity*)IFC4X2_types[334]); } Ifc4x2::IfcDuctFitting::IfcDuctFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x2::IfcDuctFitting::IfcDuctFitting(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcDuctFitting::IfcDuctFitting(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDuctFittingType -::Ifc4x2::IfcDuctFittingTypeEnum::Value Ifc4x2::IfcDuctFittingType::PredefinedType() const { return ::Ifc4x2::IfcDuctFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcDuctFittingTypeEnum::Value Ifc4x2::IfcDuctFittingType::PredefinedType() const { return ::Ifc4x2::IfcDuctFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcDuctFittingType::setPredefinedType(::Ifc4x2::IfcDuctFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcDuctFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcDuctFittingType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[335]); } const IfcParse::entity& Ifc4x2::IfcDuctFittingType::Class() { return *((IfcParse::entity*)IFC4X2_types[335]); } Ifc4x2::IfcDuctFittingType::IfcDuctFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x2::IfcDuctFittingType::IfcDuctFittingType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDuctFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcDuctFittingType::IfcDuctFittingType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDuctFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDuctSegment -boost::optional< ::Ifc4x2::IfcDuctSegmentTypeEnum::Value > Ifc4x2::IfcDuctSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcDuctSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcDuctSegmentTypeEnum::Value > Ifc4x2::IfcDuctSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcDuctSegment::setPredefinedType(boost::optional< ::Ifc4x2::IfcDuctSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcDuctSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcDuctSegment::declaration() const { return *((IfcParse::entity*)IFC4X2_types[337]); } const IfcParse::entity& Ifc4x2::IfcDuctSegment::Class() { return *((IfcParse::entity*)IFC4X2_types[337]); } Ifc4x2::IfcDuctSegment::IfcDuctSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x2::IfcDuctSegment::IfcDuctSegment(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcDuctSegment::IfcDuctSegment(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDuctSegmentType -::Ifc4x2::IfcDuctSegmentTypeEnum::Value Ifc4x2::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4x2::IfcDuctSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcDuctSegmentTypeEnum::Value Ifc4x2::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4x2::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcDuctSegmentType::setPredefinedType(::Ifc4x2::IfcDuctSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcDuctSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcDuctSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[338]); } const IfcParse::entity& Ifc4x2::IfcDuctSegmentType::Class() { return *((IfcParse::entity*)IFC4X2_types[338]); } Ifc4x2::IfcDuctSegmentType::IfcDuctSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x2::IfcDuctSegmentType::IfcDuctSegmentType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcDuctSegmentType::IfcDuctSegmentType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDuctSilencer -boost::optional< ::Ifc4x2::IfcDuctSilencerTypeEnum::Value > Ifc4x2::IfcDuctSilencer::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcDuctSilencerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcDuctSilencerTypeEnum::Value > Ifc4x2::IfcDuctSilencer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcDuctSilencer::setPredefinedType(boost::optional< ::Ifc4x2::IfcDuctSilencerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcDuctSilencerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcDuctSilencer::declaration() const { return *((IfcParse::entity*)IFC4X2_types[340]); } const IfcParse::entity& Ifc4x2::IfcDuctSilencer::Class() { return *((IfcParse::entity*)IFC4X2_types[340]); } Ifc4x2::IfcDuctSilencer::IfcDuctSilencer(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4x2::IfcDuctSilencer::IfcDuctSilencer(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcDuctSilencer::IfcDuctSilencer(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDuctSilencerType -::Ifc4x2::IfcDuctSilencerTypeEnum::Value Ifc4x2::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4x2::IfcDuctSilencerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcDuctSilencerTypeEnum::Value Ifc4x2::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4x2::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcDuctSilencerType::setPredefinedType(::Ifc4x2::IfcDuctSilencerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcDuctSilencerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcDuctSilencerType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[341]); } const IfcParse::entity& Ifc4x2::IfcDuctSilencerType::Class() { return *((IfcParse::entity*)IFC4X2_types[341]); } Ifc4x2::IfcDuctSilencerType::IfcDuctSilencerType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4x2::IfcDuctSilencerType::IfcDuctSilencerType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcDuctSilencerType::IfcDuctSilencerType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEdge -::Ifc4x2::IfcVertex* Ifc4x2::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcVertex>(true); } +::Ifc4x2::IfcVertex* Ifc4x2::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcVertex>(true); } void Ifc4x2::IfcEdge::setEdgeStart(::Ifc4x2::IfcVertex* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcVertex* Ifc4x2::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcVertex>(true); } +::Ifc4x2::IfcVertex* Ifc4x2::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcVertex>(true); } void Ifc4x2::IfcEdge::setEdgeEnd(::Ifc4x2::IfcVertex* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcEdge::declaration() const { return *((IfcParse::entity*)IFC4X2_types[345]); } const IfcParse::entity& Ifc4x2::IfcEdge::Class() { return *((IfcParse::entity*)IFC4X2_types[345]); } Ifc4x2::IfcEdge::IfcEdge(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x2::IfcEdge::IfcEdge(::Ifc4x2::IfcVertex* v1_EdgeStart, ::Ifc4x2::IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcEdge::IfcEdge(::Ifc4x2::IfcVertex* v1_EdgeStart, ::Ifc4x2::IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcEdgeCurve -::Ifc4x2::IfcCurve* Ifc4x2::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcCurve>(true); } +::Ifc4x2::IfcCurve* Ifc4x2::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcEdgeCurve::setEdgeGeometry(::Ifc4x2::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x2::IfcEdgeCurve::SameSense() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x2::IfcEdgeCurve::SameSense() const { bool v = get_attribute_value(3); return v; } void Ifc4x2::IfcEdgeCurve::setSameSense(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x2::IfcEdgeCurve::declaration() const { return *((IfcParse::entity*)IFC4X2_types[346]); } const IfcParse::entity& Ifc4x2::IfcEdgeCurve::Class() { return *((IfcParse::entity*)IFC4X2_types[346]); } Ifc4x2::IfcEdgeCurve::IfcEdgeCurve(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc4x2::IfcEdgeCurve::IfcEdgeCurve(::Ifc4x2::IfcVertex* v1_EdgeStart, ::Ifc4x2::IfcVertex* v2_EdgeEnd, ::Ifc4x2::IfcCurve* v3_EdgeGeometry, bool v4_SameSense) : IfcEdge(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EdgeGeometry ? v3_EdgeGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SameSense));; populate_derived(); } +Ifc4x2::IfcEdgeCurve::IfcEdgeCurve(::Ifc4x2::IfcVertex* v1_EdgeStart, ::Ifc4x2::IfcVertex* v2_EdgeEnd, ::Ifc4x2::IfcCurve* v3_EdgeGeometry, bool v4_SameSense) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EdgeGeometry ? v3_EdgeGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SameSense));; populate_derived(); } // Function implementations for IfcEdgeLoop -aggregate_of< ::Ifc4x2::IfcOrientedEdge >::ptr Ifc4x2::IfcEdgeLoop::EdgeList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x2::IfcOrientedEdge >(); } +aggregate_of< ::Ifc4x2::IfcOrientedEdge >::ptr Ifc4x2::IfcEdgeLoop::EdgeList() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x2::IfcOrientedEdge >(); } void Ifc4x2::IfcEdgeLoop::setEdgeList(aggregate_of< ::Ifc4x2::IfcOrientedEdge >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x2::IfcEdgeLoop::declaration() const { return *((IfcParse::entity*)IFC4X2_types[347]); } const IfcParse::entity& Ifc4x2::IfcEdgeLoop::Class() { return *((IfcParse::entity*)IFC4X2_types[347]); } Ifc4x2::IfcEdgeLoop::IfcEdgeLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc4x2::IfcEdgeLoop::IfcEdgeLoop(aggregate_of< ::Ifc4x2::IfcOrientedEdge >::ptr v1_EdgeList) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } +Ifc4x2::IfcEdgeLoop::IfcEdgeLoop(aggregate_of< ::Ifc4x2::IfcOrientedEdge >::ptr v1_EdgeList) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } // Function implementations for IfcElectricAppliance -boost::optional< ::Ifc4x2::IfcElectricApplianceTypeEnum::Value > Ifc4x2::IfcElectricAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcElectricApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcElectricApplianceTypeEnum::Value > Ifc4x2::IfcElectricAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcElectricAppliance::setPredefinedType(boost::optional< ::Ifc4x2::IfcElectricApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcElectricApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcElectricAppliance::declaration() const { return *((IfcParse::entity*)IFC4X2_types[348]); } const IfcParse::entity& Ifc4x2::IfcElectricAppliance::Class() { return *((IfcParse::entity*)IFC4X2_types[348]); } Ifc4x2::IfcElectricAppliance::IfcElectricAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x2::IfcElectricAppliance::IfcElectricAppliance(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcElectricAppliance::IfcElectricAppliance(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricApplianceType -::Ifc4x2::IfcElectricApplianceTypeEnum::Value Ifc4x2::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4x2::IfcElectricApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcElectricApplianceTypeEnum::Value Ifc4x2::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4x2::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcElectricApplianceType::setPredefinedType(::Ifc4x2::IfcElectricApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcElectricApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcElectricApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[349]); } const IfcParse::entity& Ifc4x2::IfcElectricApplianceType::Class() { return *((IfcParse::entity*)IFC4X2_types[349]); } Ifc4x2::IfcElectricApplianceType::IfcElectricApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x2::IfcElectricApplianceType::IfcElectricApplianceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcElectricApplianceType::IfcElectricApplianceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricDistributionBoard -boost::optional< ::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x2::IfcElectricDistributionBoard::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcElectricDistributionBoardTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x2::IfcElectricDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcElectricDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcElectricDistributionBoard::declaration() const { return *((IfcParse::entity*)IFC4X2_types[355]); } const IfcParse::entity& Ifc4x2::IfcElectricDistributionBoard::Class() { return *((IfcParse::entity*)IFC4X2_types[355]); } Ifc4x2::IfcElectricDistributionBoard::IfcElectricDistributionBoard(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x2::IfcElectricDistributionBoard::IfcElectricDistributionBoard(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcElectricDistributionBoard::IfcElectricDistributionBoard(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricDistributionBoardType -::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value Ifc4x2::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4x2::IfcElectricDistributionBoardTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value Ifc4x2::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4x2::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcElectricDistributionBoardType::setPredefinedType(::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcElectricDistributionBoardType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[356]); } const IfcParse::entity& Ifc4x2::IfcElectricDistributionBoardType::Class() { return *((IfcParse::entity*)IFC4X2_types[356]); } Ifc4x2::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x2::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricFlowStorageDevice -boost::optional< ::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x2::IfcElectricFlowStorageDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x2::IfcElectricFlowStorageDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcElectricFlowStorageDevice::setPredefinedType(boost::optional< ::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcElectricFlowStorageDevice::declaration() const { return *((IfcParse::entity*)IFC4X2_types[358]); } const IfcParse::entity& Ifc4x2::IfcElectricFlowStorageDevice::Class() { return *((IfcParse::entity*)IFC4X2_types[358]); } Ifc4x2::IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(IfcEntityInstanceData&& e) : IfcFlowStorageDevice(std::move(e)) { } -Ifc4x2::IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricFlowStorageDeviceType -::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x2::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x2::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcElectricFlowStorageDeviceType::setPredefinedType(::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcElectricFlowStorageDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[359]); } const IfcParse::entity& Ifc4x2::IfcElectricFlowStorageDeviceType::Class() { return *((IfcParse::entity*)IFC4X2_types[359]); } Ifc4x2::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(IfcEntityInstanceData&& e) : IfcFlowStorageDeviceType(std::move(e)) { } -Ifc4x2::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricGenerator -boost::optional< ::Ifc4x2::IfcElectricGeneratorTypeEnum::Value > Ifc4x2::IfcElectricGenerator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcElectricGeneratorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcElectricGeneratorTypeEnum::Value > Ifc4x2::IfcElectricGenerator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcElectricGenerator::setPredefinedType(boost::optional< ::Ifc4x2::IfcElectricGeneratorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcElectricGeneratorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcElectricGenerator::declaration() const { return *((IfcParse::entity*)IFC4X2_types[361]); } const IfcParse::entity& Ifc4x2::IfcElectricGenerator::Class() { return *((IfcParse::entity*)IFC4X2_types[361]); } Ifc4x2::IfcElectricGenerator::IfcElectricGenerator(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x2::IfcElectricGenerator::IfcElectricGenerator(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcElectricGenerator::IfcElectricGenerator(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricGeneratorType -::Ifc4x2::IfcElectricGeneratorTypeEnum::Value Ifc4x2::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4x2::IfcElectricGeneratorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcElectricGeneratorTypeEnum::Value Ifc4x2::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4x2::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcElectricGeneratorType::setPredefinedType(::Ifc4x2::IfcElectricGeneratorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcElectricGeneratorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcElectricGeneratorType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[362]); } const IfcParse::entity& Ifc4x2::IfcElectricGeneratorType::Class() { return *((IfcParse::entity*)IFC4X2_types[362]); } Ifc4x2::IfcElectricGeneratorType::IfcElectricGeneratorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x2::IfcElectricGeneratorType::IfcElectricGeneratorType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcElectricGeneratorType::IfcElectricGeneratorType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricMotor -boost::optional< ::Ifc4x2::IfcElectricMotorTypeEnum::Value > Ifc4x2::IfcElectricMotor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcElectricMotorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcElectricMotorTypeEnum::Value > Ifc4x2::IfcElectricMotor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcElectricMotorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcElectricMotor::setPredefinedType(boost::optional< ::Ifc4x2::IfcElectricMotorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcElectricMotorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcElectricMotor::declaration() const { return *((IfcParse::entity*)IFC4X2_types[364]); } const IfcParse::entity& Ifc4x2::IfcElectricMotor::Class() { return *((IfcParse::entity*)IFC4X2_types[364]); } Ifc4x2::IfcElectricMotor::IfcElectricMotor(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x2::IfcElectricMotor::IfcElectricMotor(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcElectricMotor::IfcElectricMotor(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricMotorType -::Ifc4x2::IfcElectricMotorTypeEnum::Value Ifc4x2::IfcElectricMotorType::PredefinedType() const { return ::Ifc4x2::IfcElectricMotorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcElectricMotorTypeEnum::Value Ifc4x2::IfcElectricMotorType::PredefinedType() const { return ::Ifc4x2::IfcElectricMotorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcElectricMotorType::setPredefinedType(::Ifc4x2::IfcElectricMotorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcElectricMotorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcElectricMotorType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[365]); } const IfcParse::entity& Ifc4x2::IfcElectricMotorType::Class() { return *((IfcParse::entity*)IFC4X2_types[365]); } Ifc4x2::IfcElectricMotorType::IfcElectricMotorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x2::IfcElectricMotorType::IfcElectricMotorType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricMotorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcElectricMotorType::IfcElectricMotorType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricMotorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricTimeControl -boost::optional< ::Ifc4x2::IfcElectricTimeControlTypeEnum::Value > Ifc4x2::IfcElectricTimeControl::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcElectricTimeControlTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcElectricTimeControlTypeEnum::Value > Ifc4x2::IfcElectricTimeControl::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcElectricTimeControl::setPredefinedType(boost::optional< ::Ifc4x2::IfcElectricTimeControlTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcElectricTimeControlTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcElectricTimeControl::declaration() const { return *((IfcParse::entity*)IFC4X2_types[368]); } const IfcParse::entity& Ifc4x2::IfcElectricTimeControl::Class() { return *((IfcParse::entity*)IFC4X2_types[368]); } Ifc4x2::IfcElectricTimeControl::IfcElectricTimeControl(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x2::IfcElectricTimeControl::IfcElectricTimeControl(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcElectricTimeControl::IfcElectricTimeControl(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricTimeControlType -::Ifc4x2::IfcElectricTimeControlTypeEnum::Value Ifc4x2::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4x2::IfcElectricTimeControlTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcElectricTimeControlTypeEnum::Value Ifc4x2::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4x2::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcElectricTimeControlType::setPredefinedType(::Ifc4x2::IfcElectricTimeControlTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcElectricTimeControlTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcElectricTimeControlType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[369]); } const IfcParse::entity& Ifc4x2::IfcElectricTimeControlType::Class() { return *((IfcParse::entity*)IFC4X2_types[369]); } Ifc4x2::IfcElectricTimeControlType::IfcElectricTimeControlType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x2::IfcElectricTimeControlType::IfcElectricTimeControlType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcElectricTimeControlType::IfcElectricTimeControlType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElement -boost::optional< std::string > Ifc4x2::IfcElement::Tag() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x2::IfcElement::Tag() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x2::IfcElement::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } ::Ifc4x2::IfcRelFillsElement::list::ptr Ifc4x2::IfcElement::FillsVoids() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[871], 5)->as(); } @@ -9805,29 +9805,29 @@ void Ifc4x2::IfcElement::setTag(boost::optional< std::string > v) { if (v) {set_ const IfcParse::entity& Ifc4x2::IfcElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[372]); } const IfcParse::entity& Ifc4x2::IfcElement::Class() { return *((IfcParse::entity*)IFC4X2_types[372]); } Ifc4x2::IfcElement::IfcElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x2::IfcElement::IfcElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcProduct(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x2::IfcElement::IfcElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcElementAssembly -boost::optional< ::Ifc4x2::IfcAssemblyPlaceEnum::Value > Ifc4x2::IfcElementAssembly::AssemblyPlace() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcAssemblyPlaceEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcAssemblyPlaceEnum::Value > Ifc4x2::IfcElementAssembly::AssemblyPlace() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcAssemblyPlaceEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcElementAssembly::setAssemblyPlace(boost::optional< ::Ifc4x2::IfcAssemblyPlaceEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcAssemblyPlaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< ::Ifc4x2::IfcElementAssemblyTypeEnum::Value > Ifc4x2::IfcElementAssembly::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x2::IfcElementAssemblyTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x2::IfcElementAssemblyTypeEnum::Value > Ifc4x2::IfcElementAssembly::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x2::IfcElementAssemblyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcElementAssembly::setPredefinedType(boost::optional< ::Ifc4x2::IfcElementAssemblyTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcElementAssemblyTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x2::IfcElementAssembly::declaration() const { return *((IfcParse::entity*)IFC4X2_types[374]); } const IfcParse::entity& Ifc4x2::IfcElementAssembly::Class() { return *((IfcParse::entity*)IFC4X2_types[374]); } Ifc4x2::IfcElementAssembly::IfcElementAssembly(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x2::IfcElementAssembly::IfcElementAssembly(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, boost::optional< ::Ifc4x2::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) : IfcElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcElementAssembly::IfcElementAssembly(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, boost::optional< ::Ifc4x2::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElementAssemblyType -::Ifc4x2::IfcElementAssemblyTypeEnum::Value Ifc4x2::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4x2::IfcElementAssemblyTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcElementAssemblyTypeEnum::Value Ifc4x2::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4x2::IfcElementAssemblyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcElementAssemblyType::setPredefinedType(::Ifc4x2::IfcElementAssemblyTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcElementAssemblyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcElementAssemblyType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[375]); } const IfcParse::entity& Ifc4x2::IfcElementAssemblyType::Class() { return *((IfcParse::entity*)IFC4X2_types[375]); } Ifc4x2::IfcElementAssemblyType::IfcElementAssemblyType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x2::IfcElementAssemblyType::IfcElementAssemblyType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcElementAssemblyType::IfcElementAssemblyType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElementComponent @@ -9835,7 +9835,7 @@ Ifc4x2::IfcElementAssemblyType::IfcElementAssemblyType(std::string v1_GlobalId, const IfcParse::entity& Ifc4x2::IfcElementComponent::declaration() const { return *((IfcParse::entity*)IFC4X2_types[377]); } const IfcParse::entity& Ifc4x2::IfcElementComponent::Class() { return *((IfcParse::entity*)IFC4X2_types[377]); } Ifc4x2::IfcElementComponent::IfcElementComponent(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x2::IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x2::IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcElementComponentType @@ -9843,63 +9843,63 @@ Ifc4x2::IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x2::IfcElementComponentType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[378]); } const IfcParse::entity& Ifc4x2::IfcElementComponentType::Class() { return *((IfcParse::entity*)IFC4X2_types[378]); } Ifc4x2::IfcElementComponentType::IfcElementComponentType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x2::IfcElementComponentType::IfcElementComponentType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x2::IfcElementComponentType::IfcElementComponentType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcElementQuantity -boost::optional< std::string > Ifc4x2::IfcElementQuantity::MethodOfMeasurement() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x2::IfcElementQuantity::MethodOfMeasurement() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcElementQuantity::setMethodOfMeasurement(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -aggregate_of< ::Ifc4x2::IfcPhysicalQuantity >::ptr Ifc4x2::IfcElementQuantity::Quantities() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x2::IfcPhysicalQuantity >(); } +aggregate_of< ::Ifc4x2::IfcPhysicalQuantity >::ptr Ifc4x2::IfcElementQuantity::Quantities() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x2::IfcPhysicalQuantity >(); } void Ifc4x2::IfcElementQuantity::setQuantities(aggregate_of< ::Ifc4x2::IfcPhysicalQuantity >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x2::IfcElementQuantity::declaration() const { return *((IfcParse::entity*)IFC4X2_types[380]); } const IfcParse::entity& Ifc4x2::IfcElementQuantity::Class() { return *((IfcParse::entity*)IFC4X2_types[380]); } Ifc4x2::IfcElementQuantity::IfcElementQuantity(IfcEntityInstanceData&& e) : IfcQuantitySet(std::move(e)) { } -Ifc4x2::IfcElementQuantity::IfcElementQuantity(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_MethodOfMeasurement, aggregate_of< ::Ifc4x2::IfcPhysicalQuantity >::ptr v6_Quantities) : IfcQuantitySet(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, (v6_Quantities)->generalize());; populate_derived(); } +Ifc4x2::IfcElementQuantity::IfcElementQuantity(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_MethodOfMeasurement, aggregate_of< ::Ifc4x2::IfcPhysicalQuantity >::ptr v6_Quantities) : IfcQuantitySet(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, (v6_Quantities)->generalize());; populate_derived(); } // Function implementations for IfcElementType -boost::optional< std::string > Ifc4x2::IfcElementType::ElementType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x2::IfcElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x2::IfcElementType::setElementType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcElementType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[381]); } const IfcParse::entity& Ifc4x2::IfcElementType::Class() { return *((IfcParse::entity*)IFC4X2_types[381]); } Ifc4x2::IfcElementType::IfcElementType(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(e)) { } -Ifc4x2::IfcElementType::IfcElementType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x2::IfcElementType::IfcElementType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcElementarySurface -::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcAxis2Placement3D>(true); } +::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcAxis2Placement3D>(true); } void Ifc4x2::IfcElementarySurface::setPosition(::Ifc4x2::IfcAxis2Placement3D* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x2::IfcElementarySurface::declaration() const { return *((IfcParse::entity*)IFC4X2_types[373]); } const IfcParse::entity& Ifc4x2::IfcElementarySurface::Class() { return *((IfcParse::entity*)IFC4X2_types[373]); } Ifc4x2::IfcElementarySurface::IfcElementarySurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x2::IfcElementarySurface::IfcElementarySurface(::Ifc4x2::IfcAxis2Placement3D* v1_Position) : IfcSurface(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcElementarySurface::IfcElementarySurface(::Ifc4x2::IfcAxis2Placement3D* v1_Position) : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcEllipse -double Ifc4x2::IfcEllipse::SemiAxis1() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x2::IfcEllipse::SemiAxis1() const { double v = get_attribute_value(1); return v; } void Ifc4x2::IfcEllipse::setSemiAxis1(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x2::IfcEllipse::SemiAxis2() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x2::IfcEllipse::SemiAxis2() const { double v = get_attribute_value(2); return v; } void Ifc4x2::IfcEllipse::setSemiAxis2(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x2::IfcEllipse::declaration() const { return *((IfcParse::entity*)IFC4X2_types[382]); } const IfcParse::entity& Ifc4x2::IfcEllipse::Class() { return *((IfcParse::entity*)IFC4X2_types[382]); } Ifc4x2::IfcEllipse::IfcEllipse(IfcEntityInstanceData&& e) : IfcConic(std::move(e)) { } -Ifc4x2::IfcEllipse::IfcEllipse(::Ifc4x2::IfcAxis2Placement* v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) : IfcConic(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; populate_derived(); } +Ifc4x2::IfcEllipse::IfcEllipse(::Ifc4x2::IfcAxis2Placement* v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) : IfcConic(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; populate_derived(); } // Function implementations for IfcEllipseProfileDef -double Ifc4x2::IfcEllipseProfileDef::SemiAxis1() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x2::IfcEllipseProfileDef::SemiAxis1() const { double v = get_attribute_value(3); return v; } void Ifc4x2::IfcEllipseProfileDef::setSemiAxis1(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x2::IfcEllipseProfileDef::SemiAxis2() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x2::IfcEllipseProfileDef::SemiAxis2() const { double v = get_attribute_value(4); return v; } void Ifc4x2::IfcEllipseProfileDef::setSemiAxis2(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x2::IfcEllipseProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X2_types[383]); } const IfcParse::entity& Ifc4x2::IfcEllipseProfileDef::Class() { return *((IfcParse::entity*)IFC4X2_types[383]); } Ifc4x2::IfcEllipseProfileDef::IfcEllipseProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x2::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D* v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; populate_derived(); } +Ifc4x2::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D* v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; populate_derived(); } // Function implementations for IfcEnergyConversionDevice @@ -9907,7 +9907,7 @@ Ifc4x2::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc4x2::IfcProfileTypeEnum: const IfcParse::entity& Ifc4x2::IfcEnergyConversionDevice::declaration() const { return *((IfcParse::entity*)IFC4X2_types[384]); } const IfcParse::entity& Ifc4x2::IfcEnergyConversionDevice::Class() { return *((IfcParse::entity*)IFC4X2_types[384]); } Ifc4x2::IfcEnergyConversionDevice::IfcEnergyConversionDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x2::IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x2::IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcEnergyConversionDeviceType @@ -9915,127 +9915,127 @@ Ifc4x2::IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_Glob const IfcParse::entity& Ifc4x2::IfcEnergyConversionDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[385]); } const IfcParse::entity& Ifc4x2::IfcEnergyConversionDeviceType::Class() { return *((IfcParse::entity*)IFC4X2_types[385]); } Ifc4x2::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x2::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x2::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcEngine -boost::optional< ::Ifc4x2::IfcEngineTypeEnum::Value > Ifc4x2::IfcEngine::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcEngineTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcEngineTypeEnum::Value > Ifc4x2::IfcEngine::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcEngineTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcEngine::setPredefinedType(boost::optional< ::Ifc4x2::IfcEngineTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcEngineTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcEngine::declaration() const { return *((IfcParse::entity*)IFC4X2_types[387]); } const IfcParse::entity& Ifc4x2::IfcEngine::Class() { return *((IfcParse::entity*)IFC4X2_types[387]); } Ifc4x2::IfcEngine::IfcEngine(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x2::IfcEngine::IfcEngine(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcEngineTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcEngine::IfcEngine(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcEngineTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEngineType -::Ifc4x2::IfcEngineTypeEnum::Value Ifc4x2::IfcEngineType::PredefinedType() const { return ::Ifc4x2::IfcEngineTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcEngineTypeEnum::Value Ifc4x2::IfcEngineType::PredefinedType() const { return ::Ifc4x2::IfcEngineTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcEngineType::setPredefinedType(::Ifc4x2::IfcEngineTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcEngineTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcEngineType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[388]); } const IfcParse::entity& Ifc4x2::IfcEngineType::Class() { return *((IfcParse::entity*)IFC4X2_types[388]); } Ifc4x2::IfcEngineType::IfcEngineType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x2::IfcEngineType::IfcEngineType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcEngineTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcEngineType::IfcEngineType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcEngineTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEvaporativeCooler -boost::optional< ::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x2::IfcEvaporativeCooler::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcEvaporativeCoolerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x2::IfcEvaporativeCooler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcEvaporativeCooler::setPredefinedType(boost::optional< ::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcEvaporativeCooler::declaration() const { return *((IfcParse::entity*)IFC4X2_types[390]); } const IfcParse::entity& Ifc4x2::IfcEvaporativeCooler::Class() { return *((IfcParse::entity*)IFC4X2_types[390]); } Ifc4x2::IfcEvaporativeCooler::IfcEvaporativeCooler(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x2::IfcEvaporativeCooler::IfcEvaporativeCooler(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcEvaporativeCooler::IfcEvaporativeCooler(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEvaporativeCoolerType -::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value Ifc4x2::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4x2::IfcEvaporativeCoolerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value Ifc4x2::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4x2::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcEvaporativeCoolerType::setPredefinedType(::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcEvaporativeCoolerType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[391]); } const IfcParse::entity& Ifc4x2::IfcEvaporativeCoolerType::Class() { return *((IfcParse::entity*)IFC4X2_types[391]); } Ifc4x2::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x2::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEvaporator -boost::optional< ::Ifc4x2::IfcEvaporatorTypeEnum::Value > Ifc4x2::IfcEvaporator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcEvaporatorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcEvaporatorTypeEnum::Value > Ifc4x2::IfcEvaporator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcEvaporatorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcEvaporator::setPredefinedType(boost::optional< ::Ifc4x2::IfcEvaporatorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcEvaporatorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcEvaporator::declaration() const { return *((IfcParse::entity*)IFC4X2_types[393]); } const IfcParse::entity& Ifc4x2::IfcEvaporator::Class() { return *((IfcParse::entity*)IFC4X2_types[393]); } Ifc4x2::IfcEvaporator::IfcEvaporator(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x2::IfcEvaporator::IfcEvaporator(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcEvaporator::IfcEvaporator(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEvaporatorType -::Ifc4x2::IfcEvaporatorTypeEnum::Value Ifc4x2::IfcEvaporatorType::PredefinedType() const { return ::Ifc4x2::IfcEvaporatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcEvaporatorTypeEnum::Value Ifc4x2::IfcEvaporatorType::PredefinedType() const { return ::Ifc4x2::IfcEvaporatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcEvaporatorType::setPredefinedType(::Ifc4x2::IfcEvaporatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcEvaporatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcEvaporatorType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[394]); } const IfcParse::entity& Ifc4x2::IfcEvaporatorType::Class() { return *((IfcParse::entity*)IFC4X2_types[394]); } Ifc4x2::IfcEvaporatorType::IfcEvaporatorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x2::IfcEvaporatorType::IfcEvaporatorType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcEvaporatorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcEvaporatorType::IfcEvaporatorType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcEvaporatorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEvent -boost::optional< ::Ifc4x2::IfcEventTypeEnum::Value > Ifc4x2::IfcEvent::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x2::IfcEventTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x2::IfcEventTypeEnum::Value > Ifc4x2::IfcEvent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x2::IfcEventTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x2::IfcEvent::setPredefinedType(boost::optional< ::Ifc4x2::IfcEventTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x2::IfcEventTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x2::IfcEventTriggerTypeEnum::Value > Ifc4x2::IfcEvent::EventTriggerType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcEventTriggerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcEventTriggerTypeEnum::Value > Ifc4x2::IfcEvent::EventTriggerType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcEventTriggerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcEvent::setEventTriggerType(boost::optional< ::Ifc4x2::IfcEventTriggerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcEventTriggerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x2::IfcEvent::UserDefinedEventTriggerType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x2::IfcEvent::UserDefinedEventTriggerType() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x2::IfcEvent::setUserDefinedEventTriggerType(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -::Ifc4x2::IfcEventTime* Ifc4x2::IfcEvent::EventOccurenceTime() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x2::IfcEventTime>(true); } +::Ifc4x2::IfcEventTime* Ifc4x2::IfcEvent::EventOccurenceTime() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x2::IfcEventTime>(true); } void Ifc4x2::IfcEvent::setEventOccurenceTime(::Ifc4x2::IfcEventTime* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x2::IfcEvent::declaration() const { return *((IfcParse::entity*)IFC4X2_types[396]); } const IfcParse::entity& Ifc4x2::IfcEvent::Class() { return *((IfcParse::entity*)IFC4X2_types[396]); } Ifc4x2::IfcEvent::IfcEvent(IfcEntityInstanceData&& e) : IfcProcess(std::move(e)) { } -Ifc4x2::IfcEvent::IfcEvent(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< ::Ifc4x2::IfcEventTypeEnum::Value > v8_PredefinedType, boost::optional< ::Ifc4x2::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, boost::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x2::IfcEventTime* v11_EventOccurenceTime) : IfcProcess(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, v11_EventOccurenceTime ? v11_EventOccurenceTime->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcEvent::IfcEvent(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< ::Ifc4x2::IfcEventTypeEnum::Value > v8_PredefinedType, boost::optional< ::Ifc4x2::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, boost::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x2::IfcEventTime* v11_EventOccurenceTime) : IfcProcess(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, v11_EventOccurenceTime ? v11_EventOccurenceTime->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcEventTime -boost::optional< std::string > Ifc4x2::IfcEventTime::ActualDate() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x2::IfcEventTime::ActualDate() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x2::IfcEventTime::setActualDate(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x2::IfcEventTime::EarlyDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x2::IfcEventTime::EarlyDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcEventTime::setEarlyDate(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x2::IfcEventTime::LateDate() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x2::IfcEventTime::LateDate() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcEventTime::setLateDate(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x2::IfcEventTime::ScheduleDate() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x2::IfcEventTime::ScheduleDate() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x2::IfcEventTime::setScheduleDate(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x2::IfcEventTime::declaration() const { return *((IfcParse::entity*)IFC4X2_types[397]); } const IfcParse::entity& Ifc4x2::IfcEventTime::Class() { return *((IfcParse::entity*)IFC4X2_types[397]); } Ifc4x2::IfcEventTime::IfcEventTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x2::IfcEventTime::IfcEventTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x2::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); }; populate_derived(); } +Ifc4x2::IfcEventTime::IfcEventTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x2::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); }; populate_derived(); } // Function implementations for IfcEventType -::Ifc4x2::IfcEventTypeEnum::Value Ifc4x2::IfcEventType::PredefinedType() const { return ::Ifc4x2::IfcEventTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcEventTypeEnum::Value Ifc4x2::IfcEventType::PredefinedType() const { return ::Ifc4x2::IfcEventTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcEventType::setPredefinedType(::Ifc4x2::IfcEventTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcEventTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x2::IfcEventTriggerTypeEnum::Value Ifc4x2::IfcEventType::EventTriggerType() const { return ::Ifc4x2::IfcEventTriggerTypeEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x2::IfcEventTriggerTypeEnum::Value Ifc4x2::IfcEventType::EventTriggerType() const { return ::Ifc4x2::IfcEventTriggerTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x2::IfcEventType::setEventTriggerType(::Ifc4x2::IfcEventTriggerTypeEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x2::IfcEventTriggerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } -boost::optional< std::string > Ifc4x2::IfcEventType::UserDefinedEventTriggerType() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x2::IfcEventType::UserDefinedEventTriggerType() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x2::IfcEventType::setUserDefinedEventTriggerType(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x2::IfcEventType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[399]); } const IfcParse::entity& Ifc4x2::IfcEventType::Class() { return *((IfcParse::entity*)IFC4X2_types[399]); } Ifc4x2::IfcEventType::IfcEventType(IfcEntityInstanceData&& e) : IfcTypeProcess(std::move(e)) { } -Ifc4x2::IfcEventType::IfcEventType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x2::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x2::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, boost::optional< std::string > v12_UserDefinedEventTriggerType) : IfcTypeProcess(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); }; populate_derived(); } +Ifc4x2::IfcEventType::IfcEventType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x2::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x2::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, boost::optional< std::string > v12_UserDefinedEventTriggerType) : IfcTypeProcess(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); }; populate_derived(); } // Function implementations for IfcExtendedProperties -boost::optional< std::string > Ifc4x2::IfcExtendedProperties::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x2::IfcExtendedProperties::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcExtendedProperties::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x2::IfcExtendedProperties::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x2::IfcExtendedProperties::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcExtendedProperties::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x2::IfcProperty >::ptr Ifc4x2::IfcExtendedProperties::Properties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x2::IfcProperty >(); } +aggregate_of< ::Ifc4x2::IfcProperty >::ptr Ifc4x2::IfcExtendedProperties::Properties() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x2::IfcProperty >(); } void Ifc4x2::IfcExtendedProperties::setProperties(aggregate_of< ::Ifc4x2::IfcProperty >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x2::IfcExtendedProperties::declaration() const { return *((IfcParse::entity*)IFC4X2_types[401]); } const IfcParse::entity& Ifc4x2::IfcExtendedProperties::Class() { return *((IfcParse::entity*)IFC4X2_types[401]); } Ifc4x2::IfcExtendedProperties::IfcExtendedProperties(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x2::IfcExtendedProperties::IfcExtendedProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcProperty >::ptr v3_Properties) : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());; populate_derived(); } +Ifc4x2::IfcExtendedProperties::IfcExtendedProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcProperty >::ptr v3_Properties) : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());; populate_derived(); } // Function implementations for IfcExternalInformation @@ -10043,14 +10043,14 @@ Ifc4x2::IfcExtendedProperties::IfcExtendedProperties(boost::optional< std::strin const IfcParse::entity& Ifc4x2::IfcExternalInformation::declaration() const { return *((IfcParse::entity*)IFC4X2_types[402]); } const IfcParse::entity& Ifc4x2::IfcExternalInformation::Class() { return *((IfcParse::entity*)IFC4X2_types[402]); } Ifc4x2::IfcExternalInformation::IfcExternalInformation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcExternalInformation::IfcExternalInformation() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x2::IfcExternalInformation::IfcExternalInformation() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcExternalReference -boost::optional< std::string > Ifc4x2::IfcExternalReference::Location() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x2::IfcExternalReference::Location() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcExternalReference::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x2::IfcExternalReference::Identification() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x2::IfcExternalReference::Identification() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcExternalReference::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x2::IfcExternalReference::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x2::IfcExternalReference::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcExternalReference::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x2::IfcExternalReferenceRelationship::list::ptr Ifc4x2::IfcExternalReference::ExternalReferenceForResources() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[407], 2)->as(); } @@ -10058,22 +10058,22 @@ void Ifc4x2::IfcExternalReference::setName(boost::optional< std::string > v) { i const IfcParse::entity& Ifc4x2::IfcExternalReference::declaration() const { return *((IfcParse::entity*)IFC4X2_types[406]); } const IfcParse::entity& Ifc4x2::IfcExternalReference::Class() { return *((IfcParse::entity*)IFC4X2_types[406]); } Ifc4x2::IfcExternalReference::IfcExternalReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcExternalReference::IfcExternalReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x2::IfcExternalReference::IfcExternalReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternalReferenceRelationship -::Ifc4x2::IfcExternalReference* Ifc4x2::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcExternalReference>(true); } +::Ifc4x2::IfcExternalReference* Ifc4x2::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcExternalReference>(true); } void Ifc4x2::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4x2::IfcExternalReference* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr Ifc4x2::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x2::IfcResourceObjectSelect >(); } +aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr Ifc4x2::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x2::IfcResourceObjectSelect >(); } void Ifc4x2::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x2::IfcExternalReferenceRelationship::declaration() const { return *((IfcParse::entity*)IFC4X2_types[407]); } const IfcParse::entity& Ifc4x2::IfcExternalReferenceRelationship::Class() { return *((IfcParse::entity*)IFC4X2_types[407]); } Ifc4x2::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x2::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingReference ? v3_RelatingReference->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } +Ifc4x2::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingReference ? v3_RelatingReference->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } // Function implementations for IfcExternalSpatialElement -boost::optional< ::Ifc4x2::IfcExternalSpatialElementTypeEnum::Value > Ifc4x2::IfcExternalSpatialElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcExternalSpatialElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcExternalSpatialElementTypeEnum::Value > Ifc4x2::IfcExternalSpatialElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcExternalSpatialElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcExternalSpatialElement::setPredefinedType(boost::optional< ::Ifc4x2::IfcExternalSpatialElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcExternalSpatialElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x2::IfcRelSpaceBoundary::list::ptr Ifc4x2::IfcExternalSpatialElement::BoundedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[880], 4)->as(); } @@ -10081,7 +10081,7 @@ void Ifc4x2::IfcExternalSpatialElement::setPredefinedType(boost::optional< ::Ifc const IfcParse::entity& Ifc4x2::IfcExternalSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[408]); } const IfcParse::entity& Ifc4x2::IfcExternalSpatialElement::Class() { return *((IfcParse::entity*)IFC4X2_types[408]); } Ifc4x2::IfcExternalSpatialElement::IfcExternalSpatialElement(IfcEntityInstanceData&& e) : IfcExternalSpatialStructureElement(std::move(e)) { } -Ifc4x2::IfcExternalSpatialElement::IfcExternalSpatialElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x2::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) : IfcExternalSpatialStructureElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcExternalSpatialElement::IfcExternalSpatialElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x2::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) : IfcExternalSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcExternalSpatialStructureElement @@ -10089,7 +10089,7 @@ Ifc4x2::IfcExternalSpatialElement::IfcExternalSpatialElement(std::string v1_Glob const IfcParse::entity& Ifc4x2::IfcExternalSpatialStructureElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[410]); } const IfcParse::entity& Ifc4x2::IfcExternalSpatialStructureElement::Class() { return *((IfcParse::entity*)IFC4X2_types[410]); } Ifc4x2::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(IfcEntityInstanceData&& e) : IfcSpatialElement(std::move(e)) { } -Ifc4x2::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcSpatialElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } +Ifc4x2::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcSpatialElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedHatchStyle @@ -10097,7 +10097,7 @@ Ifc4x2::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(s const IfcParse::entity& Ifc4x2::IfcExternallyDefinedHatchStyle::declaration() const { return *((IfcParse::entity*)IFC4X2_types[403]); } const IfcParse::entity& Ifc4x2::IfcExternallyDefinedHatchStyle::Class() { return *((IfcParse::entity*)IFC4X2_types[403]); } Ifc4x2::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x2::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x2::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedSurfaceStyle @@ -10105,7 +10105,7 @@ Ifc4x2::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::op const IfcParse::entity& Ifc4x2::IfcExternallyDefinedSurfaceStyle::declaration() const { return *((IfcParse::entity*)IFC4X2_types[404]); } const IfcParse::entity& Ifc4x2::IfcExternallyDefinedSurfaceStyle::Class() { return *((IfcParse::entity*)IFC4X2_types[404]); } Ifc4x2::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x2::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x2::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedTextFont @@ -10113,32 +10113,32 @@ Ifc4x2::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost const IfcParse::entity& Ifc4x2::IfcExternallyDefinedTextFont::declaration() const { return *((IfcParse::entity*)IFC4X2_types[405]); } const IfcParse::entity& Ifc4x2::IfcExternallyDefinedTextFont::Class() { return *((IfcParse::entity*)IFC4X2_types[405]); } Ifc4x2::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x2::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x2::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExtrudedAreaSolid -::Ifc4x2::IfcDirection* Ifc4x2::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcDirection>(true); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcExtrudedAreaSolid::setExtrudedDirection(::Ifc4x2::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x2::IfcExtrudedAreaSolid::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x2::IfcExtrudedAreaSolid::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x2::IfcExtrudedAreaSolid::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x2::IfcExtrudedAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X2_types[411]); } const IfcParse::entity& Ifc4x2::IfcExtrudedAreaSolid::Class() { return *((IfcParse::entity*)IFC4X2_types[411]); } Ifc4x2::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4x2::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(::Ifc4x2::IfcProfileDef* v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D* v2_Position, ::Ifc4x2::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } +Ifc4x2::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(::Ifc4x2::IfcProfileDef* v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D* v2_Position, ::Ifc4x2::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } // Function implementations for IfcExtrudedAreaSolidTapered -::Ifc4x2::IfcProfileDef* Ifc4x2::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcProfileDef>(true); } +::Ifc4x2::IfcProfileDef* Ifc4x2::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcProfileDef>(true); } void Ifc4x2::IfcExtrudedAreaSolidTapered::setEndSweptArea(::Ifc4x2::IfcProfileDef* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x2::IfcExtrudedAreaSolidTapered::declaration() const { return *((IfcParse::entity*)IFC4X2_types[412]); } const IfcParse::entity& Ifc4x2::IfcExtrudedAreaSolidTapered::Class() { return *((IfcParse::entity*)IFC4X2_types[412]); } Ifc4x2::IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(IfcEntityInstanceData&& e) : IfcExtrudedAreaSolid(std::move(e)) { } -Ifc4x2::IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(::Ifc4x2::IfcProfileDef* v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D* v2_Position, ::Ifc4x2::IfcDirection* v3_ExtrudedDirection, double v4_Depth, ::Ifc4x2::IfcProfileDef* v5_EndSweptArea) : IfcExtrudedAreaSolid(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(::Ifc4x2::IfcProfileDef* v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D* v2_Position, ::Ifc4x2::IfcDirection* v3_ExtrudedDirection, double v4_Depth, ::Ifc4x2::IfcProfileDef* v5_EndSweptArea) : IfcExtrudedAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcFace -aggregate_of< ::Ifc4x2::IfcFaceBound >::ptr Ifc4x2::IfcFace::Bounds() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x2::IfcFaceBound >(); } +aggregate_of< ::Ifc4x2::IfcFaceBound >::ptr Ifc4x2::IfcFace::Bounds() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x2::IfcFaceBound >(); } void Ifc4x2::IfcFace::setBounds(aggregate_of< ::Ifc4x2::IfcFaceBound >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } ::Ifc4x2::IfcTextureMap::list::ptr Ifc4x2::IfcFace::HasTextureMaps() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[1112], 2)->as(); } @@ -10146,29 +10146,29 @@ void Ifc4x2::IfcFace::setBounds(aggregate_of< ::Ifc4x2::IfcFaceBound >::ptr v) { const IfcParse::entity& Ifc4x2::IfcFace::declaration() const { return *((IfcParse::entity*)IFC4X2_types[413]); } const IfcParse::entity& Ifc4x2::IfcFace::Class() { return *((IfcParse::entity*)IFC4X2_types[413]); } Ifc4x2::IfcFace::IfcFace(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x2::IfcFace::IfcFace(aggregate_of< ::Ifc4x2::IfcFaceBound >::ptr v1_Bounds) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Bounds)->generalize());; populate_derived(); } +Ifc4x2::IfcFace::IfcFace(aggregate_of< ::Ifc4x2::IfcFaceBound >::ptr v1_Bounds) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Bounds)->generalize());; populate_derived(); } // Function implementations for IfcFaceBasedSurfaceModel -aggregate_of< ::Ifc4x2::IfcConnectedFaceSet >::ptr Ifc4x2::IfcFaceBasedSurfaceModel::FbsmFaces() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x2::IfcConnectedFaceSet >(); } +aggregate_of< ::Ifc4x2::IfcConnectedFaceSet >::ptr Ifc4x2::IfcFaceBasedSurfaceModel::FbsmFaces() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x2::IfcConnectedFaceSet >(); } void Ifc4x2::IfcFaceBasedSurfaceModel::setFbsmFaces(aggregate_of< ::Ifc4x2::IfcConnectedFaceSet >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x2::IfcFaceBasedSurfaceModel::declaration() const { return *((IfcParse::entity*)IFC4X2_types[414]); } const IfcParse::entity& Ifc4x2::IfcFaceBasedSurfaceModel::Class() { return *((IfcParse::entity*)IFC4X2_types[414]); } Ifc4x2::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x2::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(aggregate_of< ::Ifc4x2::IfcConnectedFaceSet >::ptr v1_FbsmFaces) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_FbsmFaces)->generalize());; populate_derived(); } +Ifc4x2::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(aggregate_of< ::Ifc4x2::IfcConnectedFaceSet >::ptr v1_FbsmFaces) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_FbsmFaces)->generalize());; populate_derived(); } // Function implementations for IfcFaceBound -::Ifc4x2::IfcLoop* Ifc4x2::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcLoop>(true); } +::Ifc4x2::IfcLoop* Ifc4x2::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcLoop>(true); } void Ifc4x2::IfcFaceBound::setBound(::Ifc4x2::IfcLoop* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -bool Ifc4x2::IfcFaceBound::Orientation() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x2::IfcFaceBound::Orientation() const { bool v = get_attribute_value(1); return v; } void Ifc4x2::IfcFaceBound::setOrientation(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcFaceBound::declaration() const { return *((IfcParse::entity*)IFC4X2_types[415]); } const IfcParse::entity& Ifc4x2::IfcFaceBound::Class() { return *((IfcParse::entity*)IFC4X2_types[415]); } Ifc4x2::IfcFaceBound::IfcFaceBound(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x2::IfcFaceBound::IfcFaceBound(::Ifc4x2::IfcLoop* v1_Bound, bool v2_Orientation) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } +Ifc4x2::IfcFaceBound::IfcFaceBound(::Ifc4x2::IfcLoop* v1_Bound, bool v2_Orientation) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } // Function implementations for IfcFaceOuterBound @@ -10176,19 +10176,19 @@ Ifc4x2::IfcFaceBound::IfcFaceBound(::Ifc4x2::IfcLoop* v1_Bound, bool v2_Orientat const IfcParse::entity& Ifc4x2::IfcFaceOuterBound::declaration() const { return *((IfcParse::entity*)IFC4X2_types[416]); } const IfcParse::entity& Ifc4x2::IfcFaceOuterBound::Class() { return *((IfcParse::entity*)IFC4X2_types[416]); } Ifc4x2::IfcFaceOuterBound::IfcFaceOuterBound(IfcEntityInstanceData&& e) : IfcFaceBound(std::move(e)) { } -Ifc4x2::IfcFaceOuterBound::IfcFaceOuterBound(::Ifc4x2::IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } +Ifc4x2::IfcFaceOuterBound::IfcFaceOuterBound(::Ifc4x2::IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } // Function implementations for IfcFaceSurface -::Ifc4x2::IfcSurface* Ifc4x2::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcSurface>(true); } +::Ifc4x2::IfcSurface* Ifc4x2::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcSurface>(true); } void Ifc4x2::IfcFaceSurface::setFaceSurface(::Ifc4x2::IfcSurface* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -bool Ifc4x2::IfcFaceSurface::SameSense() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x2::IfcFaceSurface::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x2::IfcFaceSurface::setSameSense(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x2::IfcFaceSurface::declaration() const { return *((IfcParse::entity*)IFC4X2_types[417]); } const IfcParse::entity& Ifc4x2::IfcFaceSurface::Class() { return *((IfcParse::entity*)IFC4X2_types[417]); } Ifc4x2::IfcFaceSurface::IfcFaceSurface(IfcEntityInstanceData&& e) : IfcFace(std::move(e)) { } -Ifc4x2::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc4x2::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x2::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFace(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } +Ifc4x2::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc4x2::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x2::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFace(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } // Function implementations for IfcFacetedBrep @@ -10196,17 +10196,17 @@ Ifc4x2::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc4x2::IfcFaceBound >::p const IfcParse::entity& Ifc4x2::IfcFacetedBrep::declaration() const { return *((IfcParse::entity*)IFC4X2_types[418]); } const IfcParse::entity& Ifc4x2::IfcFacetedBrep::Class() { return *((IfcParse::entity*)IFC4X2_types[418]); } Ifc4x2::IfcFacetedBrep::IfcFacetedBrep(IfcEntityInstanceData&& e) : IfcManifoldSolidBrep(std::move(e)) { } -Ifc4x2::IfcFacetedBrep::IfcFacetedBrep(::Ifc4x2::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcFacetedBrep::IfcFacetedBrep(::Ifc4x2::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcFacetedBrepWithVoids -aggregate_of< ::Ifc4x2::IfcClosedShell >::ptr Ifc4x2::IfcFacetedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x2::IfcClosedShell >(); } +aggregate_of< ::Ifc4x2::IfcClosedShell >::ptr Ifc4x2::IfcFacetedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x2::IfcClosedShell >(); } void Ifc4x2::IfcFacetedBrepWithVoids::setVoids(aggregate_of< ::Ifc4x2::IfcClosedShell >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcFacetedBrepWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X2_types[419]); } const IfcParse::entity& Ifc4x2::IfcFacetedBrepWithVoids::Class() { return *((IfcParse::entity*)IFC4X2_types[419]); } Ifc4x2::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(IfcEntityInstanceData&& e) : IfcFacetedBrep(std::move(e)) { } -Ifc4x2::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4x2::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x2::IfcClosedShell >::ptr v2_Voids) : IfcFacetedBrep(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } +Ifc4x2::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4x2::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x2::IfcClosedShell >::ptr v2_Voids) : IfcFacetedBrep(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } // Function implementations for IfcFacility @@ -10214,7 +10214,7 @@ Ifc4x2::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4x2::IfcClosedShel const IfcParse::entity& Ifc4x2::IfcFacility::declaration() const { return *((IfcParse::entity*)IFC4X2_types[420]); } const IfcParse::entity& Ifc4x2::IfcFacility::Class() { return *((IfcParse::entity*)IFC4X2_types[420]); } Ifc4x2::IfcFacility::IfcFacility(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x2::IfcFacility::IfcFacility(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } +Ifc4x2::IfcFacility::IfcFacility(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } // Function implementations for IfcFacilityPart @@ -10222,67 +10222,67 @@ Ifc4x2::IfcFacility::IfcFacility(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHist const IfcParse::entity& Ifc4x2::IfcFacilityPart::declaration() const { return *((IfcParse::entity*)IFC4X2_types[421]); } const IfcParse::entity& Ifc4x2::IfcFacilityPart::Class() { return *((IfcParse::entity*)IFC4X2_types[421]); } Ifc4x2::IfcFacilityPart::IfcFacilityPart(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x2::IfcFacilityPart::IfcFacilityPart(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } +Ifc4x2::IfcFacilityPart::IfcFacilityPart(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } // Function implementations for IfcFailureConnectionCondition -boost::optional< double > Ifc4x2::IfcFailureConnectionCondition::TensionFailureX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x2::IfcFailureConnectionCondition::TensionFailureX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x2::IfcFailureConnectionCondition::setTensionFailureX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x2::IfcFailureConnectionCondition::TensionFailureY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x2::IfcFailureConnectionCondition::TensionFailureY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x2::IfcFailureConnectionCondition::setTensionFailureY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x2::IfcFailureConnectionCondition::TensionFailureZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x2::IfcFailureConnectionCondition::TensionFailureZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x2::IfcFailureConnectionCondition::setTensionFailureZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x2::IfcFailureConnectionCondition::CompressionFailureX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x2::IfcFailureConnectionCondition::CompressionFailureX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x2::IfcFailureConnectionCondition::setCompressionFailureX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x2::IfcFailureConnectionCondition::CompressionFailureY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x2::IfcFailureConnectionCondition::CompressionFailureY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x2::IfcFailureConnectionCondition::setCompressionFailureY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x2::IfcFailureConnectionCondition::CompressionFailureZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x2::IfcFailureConnectionCondition::CompressionFailureZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x2::IfcFailureConnectionCondition::setCompressionFailureZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x2::IfcFailureConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC4X2_types[422]); } const IfcParse::entity& Ifc4x2::IfcFailureConnectionCondition::Class() { return *((IfcParse::entity*)IFC4X2_types[422]); } Ifc4x2::IfcFailureConnectionCondition::IfcFailureConnectionCondition(IfcEntityInstanceData&& e) : IfcStructuralConnectionCondition(std::move(e)) { } -Ifc4x2::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; populate_derived(); } +Ifc4x2::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; populate_derived(); } // Function implementations for IfcFan -boost::optional< ::Ifc4x2::IfcFanTypeEnum::Value > Ifc4x2::IfcFan::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcFanTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcFanTypeEnum::Value > Ifc4x2::IfcFan::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcFanTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcFan::setPredefinedType(boost::optional< ::Ifc4x2::IfcFanTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcFanTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcFan::declaration() const { return *((IfcParse::entity*)IFC4X2_types[423]); } const IfcParse::entity& Ifc4x2::IfcFan::Class() { return *((IfcParse::entity*)IFC4X2_types[423]); } Ifc4x2::IfcFan::IfcFan(IfcEntityInstanceData&& e) : IfcFlowMovingDevice(std::move(e)) { } -Ifc4x2::IfcFan::IfcFan(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcFanTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcFan::IfcFan(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcFanTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFanType -::Ifc4x2::IfcFanTypeEnum::Value Ifc4x2::IfcFanType::PredefinedType() const { return ::Ifc4x2::IfcFanTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcFanTypeEnum::Value Ifc4x2::IfcFanType::PredefinedType() const { return ::Ifc4x2::IfcFanTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcFanType::setPredefinedType(::Ifc4x2::IfcFanTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcFanTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcFanType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[424]); } const IfcParse::entity& Ifc4x2::IfcFanType::Class() { return *((IfcParse::entity*)IFC4X2_types[424]); } Ifc4x2::IfcFanType::IfcFanType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(e)) { } -Ifc4x2::IfcFanType::IfcFanType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFanTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcFanType::IfcFanType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFanTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFastener -boost::optional< ::Ifc4x2::IfcFastenerTypeEnum::Value > Ifc4x2::IfcFastener::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcFastenerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcFastenerTypeEnum::Value > Ifc4x2::IfcFastener::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcFastenerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcFastener::setPredefinedType(boost::optional< ::Ifc4x2::IfcFastenerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcFastenerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcFastener::declaration() const { return *((IfcParse::entity*)IFC4X2_types[426]); } const IfcParse::entity& Ifc4x2::IfcFastener::Class() { return *((IfcParse::entity*)IFC4X2_types[426]); } Ifc4x2::IfcFastener::IfcFastener(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x2::IfcFastener::IfcFastener(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcFastenerTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcFastener::IfcFastener(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcFastenerTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFastenerType -::Ifc4x2::IfcFastenerTypeEnum::Value Ifc4x2::IfcFastenerType::PredefinedType() const { return ::Ifc4x2::IfcFastenerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcFastenerTypeEnum::Value Ifc4x2::IfcFastenerType::PredefinedType() const { return ::Ifc4x2::IfcFastenerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcFastenerType::setPredefinedType(::Ifc4x2::IfcFastenerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcFastenerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcFastenerType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[427]); } const IfcParse::entity& Ifc4x2::IfcFastenerType::Class() { return *((IfcParse::entity*)IFC4X2_types[427]); } Ifc4x2::IfcFastenerType::IfcFastenerType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x2::IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFastenerTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFastenerTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFeatureElement @@ -10290,7 +10290,7 @@ Ifc4x2::IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, ::Ifc4x2::IfcO const IfcParse::entity& Ifc4x2::IfcFeatureElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[429]); } const IfcParse::entity& Ifc4x2::IfcFeatureElement::Class() { return *((IfcParse::entity*)IFC4X2_types[429]); } Ifc4x2::IfcFeatureElement::IfcFeatureElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x2::IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x2::IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFeatureElementAddition @@ -10299,7 +10299,7 @@ Ifc4x2::IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, ::Ifc4x2:: const IfcParse::entity& Ifc4x2::IfcFeatureElementAddition::declaration() const { return *((IfcParse::entity*)IFC4X2_types[430]); } const IfcParse::entity& Ifc4x2::IfcFeatureElementAddition::Class() { return *((IfcParse::entity*)IFC4X2_types[430]); } Ifc4x2::IfcFeatureElementAddition::IfcFeatureElementAddition(IfcEntityInstanceData&& e) : IfcFeatureElement(std::move(e)) { } -Ifc4x2::IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x2::IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFeatureElementSubtraction @@ -10308,107 +10308,107 @@ Ifc4x2::IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_Glob const IfcParse::entity& Ifc4x2::IfcFeatureElementSubtraction::declaration() const { return *((IfcParse::entity*)IFC4X2_types[431]); } const IfcParse::entity& Ifc4x2::IfcFeatureElementSubtraction::Class() { return *((IfcParse::entity*)IFC4X2_types[431]); } Ifc4x2::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntityInstanceData&& e) : IfcFeatureElement(std::move(e)) { } -Ifc4x2::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x2::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFillAreaStyle -aggregate_of< ::Ifc4x2::IfcFillStyleSelect >::ptr Ifc4x2::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x2::IfcFillStyleSelect >(); } +aggregate_of< ::Ifc4x2::IfcFillStyleSelect >::ptr Ifc4x2::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x2::IfcFillStyleSelect >(); } void Ifc4x2::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x2::IfcFillStyleSelect >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< bool > Ifc4x2::IfcFillAreaStyle::ModelorDraughting() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } bool v = data_.get_attribute_value(2); return v; } +boost::optional< bool > Ifc4x2::IfcFillAreaStyle::ModelorDraughting() const { if(get_attribute_value(2).isNull()) { return boost::none; } bool v = get_attribute_value(2); return v; } void Ifc4x2::IfcFillAreaStyle::setModelorDraughting(boost::optional< bool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x2::IfcFillAreaStyle::declaration() const { return *((IfcParse::entity*)IFC4X2_types[432]); } const IfcParse::entity& Ifc4x2::IfcFillAreaStyle::Class() { return *((IfcParse::entity*)IFC4X2_types[432]); } Ifc4x2::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x2::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x2::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_FillStyles)->generalize()); if (v3_ModelorDraughting) {set_attribute_value(2, (*v3_ModelorDraughting)); }; populate_derived(); } +Ifc4x2::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x2::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_FillStyles)->generalize()); if (v3_ModelorDraughting) {set_attribute_value(2, (*v3_ModelorDraughting)); }; populate_derived(); } // Function implementations for IfcFillAreaStyleHatching -::Ifc4x2::IfcCurveStyle* Ifc4x2::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcCurveStyle>(true); } +::Ifc4x2::IfcCurveStyle* Ifc4x2::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcCurveStyle>(true); } void Ifc4x2::IfcFillAreaStyleHatching::setHatchLineAppearance(::Ifc4x2::IfcCurveStyle* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcHatchLineDistanceSelect* Ifc4x2::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcHatchLineDistanceSelect>(true); } +::Ifc4x2::IfcHatchLineDistanceSelect* Ifc4x2::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcHatchLineDistanceSelect>(true); } void Ifc4x2::IfcFillAreaStyleHatching::setStartOfNextHatchLine(::Ifc4x2::IfcHatchLineDistanceSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcCartesianPoint* Ifc4x2::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcCartesianPoint>(true); } +::Ifc4x2::IfcCartesianPoint* Ifc4x2::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcCartesianPoint>(true); } void Ifc4x2::IfcFillAreaStyleHatching::setPointOfReferenceHatchLine(::Ifc4x2::IfcCartesianPoint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcCartesianPoint* Ifc4x2::IfcFillAreaStyleHatching::PatternStart() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcCartesianPoint>(true); } +::Ifc4x2::IfcCartesianPoint* Ifc4x2::IfcFillAreaStyleHatching::PatternStart() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcCartesianPoint>(true); } void Ifc4x2::IfcFillAreaStyleHatching::setPatternStart(::Ifc4x2::IfcCartesianPoint* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -double Ifc4x2::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x2::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = get_attribute_value(4); return v; } void Ifc4x2::IfcFillAreaStyleHatching::setHatchLineAngle(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x2::IfcFillAreaStyleHatching::declaration() const { return *((IfcParse::entity*)IFC4X2_types[433]); } const IfcParse::entity& Ifc4x2::IfcFillAreaStyleHatching::Class() { return *((IfcParse::entity*)IFC4X2_types[433]); } Ifc4x2::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x2::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(::Ifc4x2::IfcCurveStyle* v1_HatchLineAppearance, ::Ifc4x2::IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, ::Ifc4x2::IfcCartesianPoint* v3_PointOfReferenceHatchLine, ::Ifc4x2::IfcCartesianPoint* v4_PatternStart, double v5_HatchLineAngle) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_HatchLineAppearance ? v1_HatchLineAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_StartOfNextHatchLine ? v2_StartOfNextHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PointOfReferenceHatchLine ? v3_PointOfReferenceHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PatternStart ? v4_PatternStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_HatchLineAngle));; populate_derived(); } +Ifc4x2::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(::Ifc4x2::IfcCurveStyle* v1_HatchLineAppearance, ::Ifc4x2::IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, ::Ifc4x2::IfcCartesianPoint* v3_PointOfReferenceHatchLine, ::Ifc4x2::IfcCartesianPoint* v4_PatternStart, double v5_HatchLineAngle) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_HatchLineAppearance ? v1_HatchLineAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_StartOfNextHatchLine ? v2_StartOfNextHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PointOfReferenceHatchLine ? v3_PointOfReferenceHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PatternStart ? v4_PatternStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_HatchLineAngle));; populate_derived(); } // Function implementations for IfcFillAreaStyleTiles -aggregate_of< ::Ifc4x2::IfcVector >::ptr Ifc4x2::IfcFillAreaStyleTiles::TilingPattern() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x2::IfcVector >(); } +aggregate_of< ::Ifc4x2::IfcVector >::ptr Ifc4x2::IfcFillAreaStyleTiles::TilingPattern() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x2::IfcVector >(); } void Ifc4x2::IfcFillAreaStyleTiles::setTilingPattern(aggregate_of< ::Ifc4x2::IfcVector >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x2::IfcStyledItem >::ptr Ifc4x2::IfcFillAreaStyleTiles::Tiles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x2::IfcStyledItem >(); } +aggregate_of< ::Ifc4x2::IfcStyledItem >::ptr Ifc4x2::IfcFillAreaStyleTiles::Tiles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x2::IfcStyledItem >(); } void Ifc4x2::IfcFillAreaStyleTiles::setTiles(aggregate_of< ::Ifc4x2::IfcStyledItem >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -double Ifc4x2::IfcFillAreaStyleTiles::TilingScale() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x2::IfcFillAreaStyleTiles::TilingScale() const { double v = get_attribute_value(2); return v; } void Ifc4x2::IfcFillAreaStyleTiles::setTilingScale(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x2::IfcFillAreaStyleTiles::declaration() const { return *((IfcParse::entity*)IFC4X2_types[434]); } const IfcParse::entity& Ifc4x2::IfcFillAreaStyleTiles::Class() { return *((IfcParse::entity*)IFC4X2_types[434]); } Ifc4x2::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x2::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(aggregate_of< ::Ifc4x2::IfcVector >::ptr v1_TilingPattern, aggregate_of< ::Ifc4x2::IfcStyledItem >::ptr v2_Tiles, double v3_TilingScale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_TilingPattern)->generalize());set_attribute_value(1, (v2_Tiles)->generalize());set_attribute_value(2, (v3_TilingScale));; populate_derived(); } +Ifc4x2::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(aggregate_of< ::Ifc4x2::IfcVector >::ptr v1_TilingPattern, aggregate_of< ::Ifc4x2::IfcStyledItem >::ptr v2_Tiles, double v3_TilingScale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_TilingPattern)->generalize());set_attribute_value(1, (v2_Tiles)->generalize());set_attribute_value(2, (v3_TilingScale));; populate_derived(); } // Function implementations for IfcFilter -boost::optional< ::Ifc4x2::IfcFilterTypeEnum::Value > Ifc4x2::IfcFilter::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcFilterTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcFilterTypeEnum::Value > Ifc4x2::IfcFilter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcFilterTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcFilter::setPredefinedType(boost::optional< ::Ifc4x2::IfcFilterTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcFilterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcFilter::declaration() const { return *((IfcParse::entity*)IFC4X2_types[436]); } const IfcParse::entity& Ifc4x2::IfcFilter::Class() { return *((IfcParse::entity*)IFC4X2_types[436]); } Ifc4x2::IfcFilter::IfcFilter(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4x2::IfcFilter::IfcFilter(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcFilterTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcFilter::IfcFilter(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcFilterTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFilterType -::Ifc4x2::IfcFilterTypeEnum::Value Ifc4x2::IfcFilterType::PredefinedType() const { return ::Ifc4x2::IfcFilterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcFilterTypeEnum::Value Ifc4x2::IfcFilterType::PredefinedType() const { return ::Ifc4x2::IfcFilterTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcFilterType::setPredefinedType(::Ifc4x2::IfcFilterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcFilterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcFilterType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[437]); } const IfcParse::entity& Ifc4x2::IfcFilterType::Class() { return *((IfcParse::entity*)IFC4X2_types[437]); } Ifc4x2::IfcFilterType::IfcFilterType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4x2::IfcFilterType::IfcFilterType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFilterTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcFilterType::IfcFilterType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFilterTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFireSuppressionTerminal -boost::optional< ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x2::IfcFireSuppressionTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x2::IfcFireSuppressionTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcFireSuppressionTerminal::setPredefinedType(boost::optional< ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcFireSuppressionTerminal::declaration() const { return *((IfcParse::entity*)IFC4X2_types[439]); } const IfcParse::entity& Ifc4x2::IfcFireSuppressionTerminal::Class() { return *((IfcParse::entity*)IFC4X2_types[439]); } Ifc4x2::IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x2::IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFireSuppressionTerminalType -::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x2::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x2::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcFireSuppressionTerminalType::setPredefinedType(::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcFireSuppressionTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[440]); } const IfcParse::entity& Ifc4x2::IfcFireSuppressionTerminalType::Class() { return *((IfcParse::entity*)IFC4X2_types[440]); } Ifc4x2::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x2::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFixedReferenceSweptAreaSolid -::Ifc4x2::IfcCurve* Ifc4x2::IfcFixedReferenceSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcCurve>(true); } +::Ifc4x2::IfcCurve* Ifc4x2::IfcFixedReferenceSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcFixedReferenceSweptAreaSolid::setDirectrix(::Ifc4x2::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4x2::IfcFixedReferenceSweptAreaSolid::StartParam() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x2::IfcFixedReferenceSweptAreaSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x2::IfcFixedReferenceSweptAreaSolid::setStartParam(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x2::IfcFixedReferenceSweptAreaSolid::EndParam() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x2::IfcFixedReferenceSweptAreaSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x2::IfcFixedReferenceSweptAreaSolid::setEndParam(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x2::IfcDirection* Ifc4x2::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcDirection>(true); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcFixedReferenceSweptAreaSolid::setFixedReference(::Ifc4x2::IfcDirection* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x2::IfcFixedReferenceSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X2_types[442]); } const IfcParse::entity& Ifc4x2::IfcFixedReferenceSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X2_types[442]); } Ifc4x2::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4x2::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(::Ifc4x2::IfcProfileDef* v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D* v2_Position, ::Ifc4x2::IfcCurve* v3_Directrix, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, ::Ifc4x2::IfcDirection* v6_FixedReference) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }set_attribute_value(5, v6_FixedReference ? v6_FixedReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(::Ifc4x2::IfcProfileDef* v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D* v2_Position, ::Ifc4x2::IfcCurve* v3_Directrix, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, ::Ifc4x2::IfcDirection* v6_FixedReference) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }set_attribute_value(5, v6_FixedReference ? v6_FixedReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcFlowController @@ -10416,7 +10416,7 @@ Ifc4x2::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(::Ifc4x const IfcParse::entity& Ifc4x2::IfcFlowController::declaration() const { return *((IfcParse::entity*)IFC4X2_types[443]); } const IfcParse::entity& Ifc4x2::IfcFlowController::Class() { return *((IfcParse::entity*)IFC4X2_types[443]); } Ifc4x2::IfcFlowController::IfcFlowController(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x2::IfcFlowController::IfcFlowController(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x2::IfcFlowController::IfcFlowController(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowControllerType @@ -10424,7 +10424,7 @@ Ifc4x2::IfcFlowController::IfcFlowController(std::string v1_GlobalId, ::Ifc4x2:: const IfcParse::entity& Ifc4x2::IfcFlowControllerType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[444]); } const IfcParse::entity& Ifc4x2::IfcFlowControllerType::Class() { return *((IfcParse::entity*)IFC4X2_types[444]); } Ifc4x2::IfcFlowControllerType::IfcFlowControllerType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x2::IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x2::IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowFitting @@ -10432,7 +10432,7 @@ Ifc4x2::IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x2::IfcFlowFitting::declaration() const { return *((IfcParse::entity*)IFC4X2_types[446]); } const IfcParse::entity& Ifc4x2::IfcFlowFitting::Class() { return *((IfcParse::entity*)IFC4X2_types[446]); } Ifc4x2::IfcFlowFitting::IfcFlowFitting(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x2::IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x2::IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowFittingType @@ -10440,47 +10440,47 @@ Ifc4x2::IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, ::Ifc4x2::IfcOwn const IfcParse::entity& Ifc4x2::IfcFlowFittingType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[447]); } const IfcParse::entity& Ifc4x2::IfcFlowFittingType::Class() { return *((IfcParse::entity*)IFC4X2_types[447]); } Ifc4x2::IfcFlowFittingType::IfcFlowFittingType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x2::IfcFlowFittingType::IfcFlowFittingType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x2::IfcFlowFittingType::IfcFlowFittingType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowInstrument -boost::optional< ::Ifc4x2::IfcFlowInstrumentTypeEnum::Value > Ifc4x2::IfcFlowInstrument::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcFlowInstrumentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcFlowInstrumentTypeEnum::Value > Ifc4x2::IfcFlowInstrument::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcFlowInstrument::setPredefinedType(boost::optional< ::Ifc4x2::IfcFlowInstrumentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcFlowInstrumentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcFlowInstrument::declaration() const { return *((IfcParse::entity*)IFC4X2_types[448]); } const IfcParse::entity& Ifc4x2::IfcFlowInstrument::Class() { return *((IfcParse::entity*)IFC4X2_types[448]); } Ifc4x2::IfcFlowInstrument::IfcFlowInstrument(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x2::IfcFlowInstrument::IfcFlowInstrument(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcFlowInstrument::IfcFlowInstrument(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFlowInstrumentType -::Ifc4x2::IfcFlowInstrumentTypeEnum::Value Ifc4x2::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4x2::IfcFlowInstrumentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcFlowInstrumentTypeEnum::Value Ifc4x2::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4x2::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcFlowInstrumentType::setPredefinedType(::Ifc4x2::IfcFlowInstrumentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcFlowInstrumentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcFlowInstrumentType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[449]); } const IfcParse::entity& Ifc4x2::IfcFlowInstrumentType::Class() { return *((IfcParse::entity*)IFC4X2_types[449]); } Ifc4x2::IfcFlowInstrumentType::IfcFlowInstrumentType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x2::IfcFlowInstrumentType::IfcFlowInstrumentType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcFlowInstrumentType::IfcFlowInstrumentType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFlowMeter -boost::optional< ::Ifc4x2::IfcFlowMeterTypeEnum::Value > Ifc4x2::IfcFlowMeter::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcFlowMeterTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcFlowMeterTypeEnum::Value > Ifc4x2::IfcFlowMeter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcFlowMeterTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcFlowMeter::setPredefinedType(boost::optional< ::Ifc4x2::IfcFlowMeterTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcFlowMeterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcFlowMeter::declaration() const { return *((IfcParse::entity*)IFC4X2_types[451]); } const IfcParse::entity& Ifc4x2::IfcFlowMeter::Class() { return *((IfcParse::entity*)IFC4X2_types[451]); } Ifc4x2::IfcFlowMeter::IfcFlowMeter(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x2::IfcFlowMeter::IfcFlowMeter(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcFlowMeter::IfcFlowMeter(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFlowMeterType -::Ifc4x2::IfcFlowMeterTypeEnum::Value Ifc4x2::IfcFlowMeterType::PredefinedType() const { return ::Ifc4x2::IfcFlowMeterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcFlowMeterTypeEnum::Value Ifc4x2::IfcFlowMeterType::PredefinedType() const { return ::Ifc4x2::IfcFlowMeterTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcFlowMeterType::setPredefinedType(::Ifc4x2::IfcFlowMeterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcFlowMeterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcFlowMeterType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[452]); } const IfcParse::entity& Ifc4x2::IfcFlowMeterType::Class() { return *((IfcParse::entity*)IFC4X2_types[452]); } Ifc4x2::IfcFlowMeterType::IfcFlowMeterType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x2::IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFlowMeterTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFlowMeterTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFlowMovingDevice @@ -10488,7 +10488,7 @@ Ifc4x2::IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, ::Ifc4x2::If const IfcParse::entity& Ifc4x2::IfcFlowMovingDevice::declaration() const { return *((IfcParse::entity*)IFC4X2_types[454]); } const IfcParse::entity& Ifc4x2::IfcFlowMovingDevice::Class() { return *((IfcParse::entity*)IFC4X2_types[454]); } Ifc4x2::IfcFlowMovingDevice::IfcFlowMovingDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x2::IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x2::IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowMovingDeviceType @@ -10496,7 +10496,7 @@ Ifc4x2::IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x2::IfcFlowMovingDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[455]); } const IfcParse::entity& Ifc4x2::IfcFlowMovingDeviceType::Class() { return *((IfcParse::entity*)IFC4X2_types[455]); } Ifc4x2::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x2::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x2::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowSegment @@ -10504,7 +10504,7 @@ Ifc4x2::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_GlobalId const IfcParse::entity& Ifc4x2::IfcFlowSegment::declaration() const { return *((IfcParse::entity*)IFC4X2_types[456]); } const IfcParse::entity& Ifc4x2::IfcFlowSegment::Class() { return *((IfcParse::entity*)IFC4X2_types[456]); } Ifc4x2::IfcFlowSegment::IfcFlowSegment(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x2::IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x2::IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowSegmentType @@ -10512,7 +10512,7 @@ Ifc4x2::IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, ::Ifc4x2::IfcOwn const IfcParse::entity& Ifc4x2::IfcFlowSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[457]); } const IfcParse::entity& Ifc4x2::IfcFlowSegmentType::Class() { return *((IfcParse::entity*)IFC4X2_types[457]); } Ifc4x2::IfcFlowSegmentType::IfcFlowSegmentType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x2::IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x2::IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowStorageDevice @@ -10520,7 +10520,7 @@ Ifc4x2::IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, ::Ifc4x2 const IfcParse::entity& Ifc4x2::IfcFlowStorageDevice::declaration() const { return *((IfcParse::entity*)IFC4X2_types[458]); } const IfcParse::entity& Ifc4x2::IfcFlowStorageDevice::Class() { return *((IfcParse::entity*)IFC4X2_types[458]); } Ifc4x2::IfcFlowStorageDevice::IfcFlowStorageDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x2::IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x2::IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowStorageDeviceType @@ -10528,7 +10528,7 @@ Ifc4x2::IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x2::IfcFlowStorageDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[459]); } const IfcParse::entity& Ifc4x2::IfcFlowStorageDeviceType::Class() { return *((IfcParse::entity*)IFC4X2_types[459]); } Ifc4x2::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x2::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x2::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowTerminal @@ -10536,7 +10536,7 @@ Ifc4x2::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_Global const IfcParse::entity& Ifc4x2::IfcFlowTerminal::declaration() const { return *((IfcParse::entity*)IFC4X2_types[460]); } const IfcParse::entity& Ifc4x2::IfcFlowTerminal::Class() { return *((IfcParse::entity*)IFC4X2_types[460]); } Ifc4x2::IfcFlowTerminal::IfcFlowTerminal(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x2::IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x2::IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowTerminalType @@ -10544,7 +10544,7 @@ Ifc4x2::IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, ::Ifc4x2::IfcO const IfcParse::entity& Ifc4x2::IfcFlowTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[461]); } const IfcParse::entity& Ifc4x2::IfcFlowTerminalType::Class() { return *((IfcParse::entity*)IFC4X2_types[461]); } Ifc4x2::IfcFlowTerminalType::IfcFlowTerminalType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x2::IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x2::IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowTreatmentDevice @@ -10552,7 +10552,7 @@ Ifc4x2::IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x2::IfcFlowTreatmentDevice::declaration() const { return *((IfcParse::entity*)IFC4X2_types[462]); } const IfcParse::entity& Ifc4x2::IfcFlowTreatmentDevice::Class() { return *((IfcParse::entity*)IFC4X2_types[462]); } Ifc4x2::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x2::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x2::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowTreatmentDeviceType @@ -10560,27 +10560,27 @@ Ifc4x2::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_GlobalId, const IfcParse::entity& Ifc4x2::IfcFlowTreatmentDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[463]); } const IfcParse::entity& Ifc4x2::IfcFlowTreatmentDeviceType::Class() { return *((IfcParse::entity*)IFC4X2_types[463]); } Ifc4x2::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x2::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x2::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFooting -boost::optional< ::Ifc4x2::IfcFootingTypeEnum::Value > Ifc4x2::IfcFooting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcFootingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcFootingTypeEnum::Value > Ifc4x2::IfcFooting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcFootingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcFooting::setPredefinedType(boost::optional< ::Ifc4x2::IfcFootingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcFootingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcFooting::declaration() const { return *((IfcParse::entity*)IFC4X2_types[467]); } const IfcParse::entity& Ifc4x2::IfcFooting::Class() { return *((IfcParse::entity*)IFC4X2_types[467]); } Ifc4x2::IfcFooting::IfcFooting(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x2::IfcFooting::IfcFooting(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcFootingTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcFooting::IfcFooting(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcFootingTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFootingType -::Ifc4x2::IfcFootingTypeEnum::Value Ifc4x2::IfcFootingType::PredefinedType() const { return ::Ifc4x2::IfcFootingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcFootingTypeEnum::Value Ifc4x2::IfcFootingType::PredefinedType() const { return ::Ifc4x2::IfcFootingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcFootingType::setPredefinedType(::Ifc4x2::IfcFootingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcFootingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcFootingType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[468]); } const IfcParse::entity& Ifc4x2::IfcFootingType::Class() { return *((IfcParse::entity*)IFC4X2_types[468]); } Ifc4x2::IfcFootingType::IfcFootingType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x2::IfcFootingType::IfcFootingType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFootingTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcFootingType::IfcFootingType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcFootingTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFurnishingElement @@ -10588,7 +10588,7 @@ Ifc4x2::IfcFootingType::IfcFootingType(std::string v1_GlobalId, ::Ifc4x2::IfcOwn const IfcParse::entity& Ifc4x2::IfcFurnishingElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[472]); } const IfcParse::entity& Ifc4x2::IfcFurnishingElement::Class() { return *((IfcParse::entity*)IFC4X2_types[472]); } Ifc4x2::IfcFurnishingElement::IfcFurnishingElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x2::IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x2::IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFurnishingElementType @@ -10596,49 +10596,49 @@ Ifc4x2::IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x2::IfcFurnishingElementType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[473]); } const IfcParse::entity& Ifc4x2::IfcFurnishingElementType::Class() { return *((IfcParse::entity*)IFC4X2_types[473]); } Ifc4x2::IfcFurnishingElementType::IfcFurnishingElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x2::IfcFurnishingElementType::IfcFurnishingElementType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x2::IfcFurnishingElementType::IfcFurnishingElementType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFurniture -boost::optional< ::Ifc4x2::IfcFurnitureTypeEnum::Value > Ifc4x2::IfcFurniture::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcFurnitureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcFurnitureTypeEnum::Value > Ifc4x2::IfcFurniture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcFurnitureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcFurniture::setPredefinedType(boost::optional< ::Ifc4x2::IfcFurnitureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcFurnitureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcFurniture::declaration() const { return *((IfcParse::entity*)IFC4X2_types[474]); } const IfcParse::entity& Ifc4x2::IfcFurniture::Class() { return *((IfcParse::entity*)IFC4X2_types[474]); } Ifc4x2::IfcFurniture::IfcFurniture(IfcEntityInstanceData&& e) : IfcFurnishingElement(std::move(e)) { } -Ifc4x2::IfcFurniture::IfcFurniture(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcFurnitureTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcFurniture::IfcFurniture(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcFurnitureTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFurnitureType -::Ifc4x2::IfcAssemblyPlaceEnum::Value Ifc4x2::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x2::IfcAssemblyPlaceEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcAssemblyPlaceEnum::Value Ifc4x2::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x2::IfcAssemblyPlaceEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcFurnitureType::setAssemblyPlace(::Ifc4x2::IfcAssemblyPlaceEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcAssemblyPlaceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< ::Ifc4x2::IfcFurnitureTypeEnum::Value > Ifc4x2::IfcFurnitureType::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x2::IfcFurnitureTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x2::IfcFurnitureTypeEnum::Value > Ifc4x2::IfcFurnitureType::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x2::IfcFurnitureTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x2::IfcFurnitureType::setPredefinedType(boost::optional< ::Ifc4x2::IfcFurnitureTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x2::IfcFurnitureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x2::IfcFurnitureType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[475]); } const IfcParse::entity& Ifc4x2::IfcFurnitureType::Class() { return *((IfcParse::entity*)IFC4X2_types[475]); } Ifc4x2::IfcFurnitureType::IfcFurnitureType(IfcEntityInstanceData&& e) : IfcFurnishingElementType(std::move(e)) { } -Ifc4x2::IfcFurnitureType::IfcFurnitureType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, boost::optional< ::Ifc4x2::IfcFurnitureTypeEnum::Value > v11_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcFurnitureType::IfcFurnitureType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, boost::optional< ::Ifc4x2::IfcFurnitureTypeEnum::Value > v11_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGeographicElement -boost::optional< ::Ifc4x2::IfcGeographicElementTypeEnum::Value > Ifc4x2::IfcGeographicElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcGeographicElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcGeographicElementTypeEnum::Value > Ifc4x2::IfcGeographicElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcGeographicElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcGeographicElement::setPredefinedType(boost::optional< ::Ifc4x2::IfcGeographicElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcGeographicElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcGeographicElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[477]); } const IfcParse::entity& Ifc4x2::IfcGeographicElement::Class() { return *((IfcParse::entity*)IFC4X2_types[477]); } Ifc4x2::IfcGeographicElement::IfcGeographicElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x2::IfcGeographicElement::IfcGeographicElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) : IfcElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcGeographicElement::IfcGeographicElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGeographicElementType -::Ifc4x2::IfcGeographicElementTypeEnum::Value Ifc4x2::IfcGeographicElementType::PredefinedType() const { return ::Ifc4x2::IfcGeographicElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcGeographicElementTypeEnum::Value Ifc4x2::IfcGeographicElementType::PredefinedType() const { return ::Ifc4x2::IfcGeographicElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcGeographicElementType::setPredefinedType(::Ifc4x2::IfcGeographicElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcGeographicElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcGeographicElementType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[478]); } const IfcParse::entity& Ifc4x2::IfcGeographicElementType::Class() { return *((IfcParse::entity*)IFC4X2_types[478]); } Ifc4x2::IfcGeographicElementType::IfcGeographicElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x2::IfcGeographicElementType::IfcGeographicElementType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcGeographicElementTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcGeographicElementType::IfcGeographicElementType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcGeographicElementTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcGeometricCurveSet @@ -10646,16 +10646,16 @@ Ifc4x2::IfcGeographicElementType::IfcGeographicElementType(std::string v1_Global const IfcParse::entity& Ifc4x2::IfcGeometricCurveSet::declaration() const { return *((IfcParse::entity*)IFC4X2_types[480]); } const IfcParse::entity& Ifc4x2::IfcGeometricCurveSet::Class() { return *((IfcParse::entity*)IFC4X2_types[480]); } Ifc4x2::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData&& e) : IfcGeometricSet(std::move(e)) { } -Ifc4x2::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x2::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } +Ifc4x2::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x2::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } // Function implementations for IfcGeometricRepresentationContext -int Ifc4x2::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = data_.get_attribute_value(2); return v; } +int Ifc4x2::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = get_attribute_value(2); return v; } void Ifc4x2::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(int v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4x2::IfcGeometricRepresentationContext::Precision() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x2::IfcGeometricRepresentationContext::Precision() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x2::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x2::IfcAxis2Placement* Ifc4x2::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcAxis2Placement>(true); } +::Ifc4x2::IfcAxis2Placement* Ifc4x2::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcAxis2Placement>(true); } void Ifc4x2::IfcGeometricRepresentationContext::setWorldCoordinateSystem(::Ifc4x2::IfcAxis2Placement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcDirection* Ifc4x2::IfcGeometricRepresentationContext::TrueNorth() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcDirection>(true); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcGeometricRepresentationContext::TrueNorth() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcGeometricRepresentationContext::setTrueNorth(::Ifc4x2::IfcDirection* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc4x2::IfcGeometricRepresentationSubContext::list::ptr Ifc4x2::IfcGeometricRepresentationContext::HasSubContexts() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[484], 6)->as(); } @@ -10664,7 +10664,7 @@ void Ifc4x2::IfcGeometricRepresentationContext::setTrueNorth(::Ifc4x2::IfcDirect const IfcParse::entity& Ifc4x2::IfcGeometricRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X2_types[482]); } const IfcParse::entity& Ifc4x2::IfcGeometricRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X2_types[482]); } Ifc4x2::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(IfcEntityInstanceData&& e) : IfcRepresentationContext(std::move(e)) { } -Ifc4x2::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, ::Ifc4x2::IfcAxis2Placement* v5_WorldCoordinateSystem, ::Ifc4x2::IfcDirection* v6_TrueNorth) : IfcRepresentationContext(IfcEntityInstanceData(storage_t(6))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, v5_WorldCoordinateSystem ? v5_WorldCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_TrueNorth ? v6_TrueNorth->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, ::Ifc4x2::IfcAxis2Placement* v5_WorldCoordinateSystem, ::Ifc4x2::IfcDirection* v6_TrueNorth) : IfcRepresentationContext(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, v5_WorldCoordinateSystem ? v5_WorldCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_TrueNorth ? v6_TrueNorth->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcGeometricRepresentationItem @@ -10672,56 +10672,56 @@ Ifc4x2::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boo const IfcParse::entity& Ifc4x2::IfcGeometricRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X2_types[483]); } const IfcParse::entity& Ifc4x2::IfcGeometricRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X2_types[483]); } Ifc4x2::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x2::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x2::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcGeometricRepresentationSubContext -::Ifc4x2::IfcGeometricRepresentationContext* Ifc4x2::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x2::IfcGeometricRepresentationContext>(true); } +::Ifc4x2::IfcGeometricRepresentationContext* Ifc4x2::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x2::IfcGeometricRepresentationContext>(true); } void Ifc4x2::IfcGeometricRepresentationSubContext::setParentContext(::Ifc4x2::IfcGeometricRepresentationContext* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x2::IfcGeometricRepresentationSubContext::TargetScale() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x2::IfcGeometricRepresentationSubContext::TargetScale() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x2::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x2::IfcGeometricProjectionEnum::Value Ifc4x2::IfcGeometricRepresentationSubContext::TargetView() const { return ::Ifc4x2::IfcGeometricProjectionEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x2::IfcGeometricProjectionEnum::Value Ifc4x2::IfcGeometricRepresentationSubContext::TargetView() const { return ::Ifc4x2::IfcGeometricProjectionEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcGeometricRepresentationSubContext::setTargetView(::Ifc4x2::IfcGeometricProjectionEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcGeometricProjectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -boost::optional< std::string > Ifc4x2::IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x2::IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x2::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x2::IfcGeometricRepresentationSubContext::declaration() const { return *((IfcParse::entity*)IFC4X2_types[484]); } const IfcParse::entity& Ifc4x2::IfcGeometricRepresentationSubContext::Class() { return *((IfcParse::entity*)IFC4X2_types[484]); } Ifc4x2::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(IfcEntityInstanceData&& e) : IfcGeometricRepresentationContext(std::move(e)) { } -Ifc4x2::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x2::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x2::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext(IfcEntityInstanceData(storage_t(10))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, v7_ParentContext ? v7_ParentContext->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; populate_derived(); } +Ifc4x2::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x2::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x2::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, v7_ParentContext ? v7_ParentContext->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; populate_derived(); } // Function implementations for IfcGeometricSet -aggregate_of< ::Ifc4x2::IfcGeometricSetSelect >::ptr Ifc4x2::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x2::IfcGeometricSetSelect >(); } +aggregate_of< ::Ifc4x2::IfcGeometricSetSelect >::ptr Ifc4x2::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x2::IfcGeometricSetSelect >(); } void Ifc4x2::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x2::IfcGeometricSetSelect >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x2::IfcGeometricSet::declaration() const { return *((IfcParse::entity*)IFC4X2_types[485]); } const IfcParse::entity& Ifc4x2::IfcGeometricSet::Class() { return *((IfcParse::entity*)IFC4X2_types[485]); } Ifc4x2::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x2::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x2::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } +Ifc4x2::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x2::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } // Function implementations for IfcGrid -aggregate_of< ::Ifc4x2::IfcGridAxis >::ptr Ifc4x2::IfcGrid::UAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x2::IfcGridAxis >(); } +aggregate_of< ::Ifc4x2::IfcGridAxis >::ptr Ifc4x2::IfcGrid::UAxes() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x2::IfcGridAxis >(); } void Ifc4x2::IfcGrid::setUAxes(aggregate_of< ::Ifc4x2::IfcGridAxis >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } -aggregate_of< ::Ifc4x2::IfcGridAxis >::ptr Ifc4x2::IfcGrid::VAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x2::IfcGridAxis >(); } +aggregate_of< ::Ifc4x2::IfcGridAxis >::ptr Ifc4x2::IfcGrid::VAxes() const { aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x2::IfcGridAxis >(); } void Ifc4x2::IfcGrid::setVAxes(aggregate_of< ::Ifc4x2::IfcGridAxis >::ptr v) { set_attribute_value(8, (v)->generalize());if constexpr (false)unset_attribute_value(8); } -boost::optional< aggregate_of< ::Ifc4x2::IfcGridAxis >::ptr > Ifc4x2::IfcGrid::WAxes() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x2::IfcGridAxis >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcGridAxis >::ptr > Ifc4x2::IfcGrid::WAxes() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x2::IfcGridAxis >(); } void Ifc4x2::IfcGrid::setWAxes(boost::optional< aggregate_of< ::Ifc4x2::IfcGridAxis >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x2::IfcGridTypeEnum::Value > Ifc4x2::IfcGrid::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x2::IfcGridTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x2::IfcGridTypeEnum::Value > Ifc4x2::IfcGrid::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x2::IfcGridTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x2::IfcGrid::setPredefinedType(boost::optional< ::Ifc4x2::IfcGridTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x2::IfcGridTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x2::IfcGrid::declaration() const { return *((IfcParse::entity*)IFC4X2_types[489]); } const IfcParse::entity& Ifc4x2::IfcGrid::Class() { return *((IfcParse::entity*)IFC4X2_types[489]); } Ifc4x2::IfcGrid::IfcGrid(IfcEntityInstanceData&& e) : IfcPositioningElement(std::move(e)) { } -Ifc4x2::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, aggregate_of< ::Ifc4x2::IfcGridAxis >::ptr v8_UAxes, aggregate_of< ::Ifc4x2::IfcGridAxis >::ptr v9_VAxes, boost::optional< aggregate_of< ::Ifc4x2::IfcGridAxis >::ptr > v10_WAxes, boost::optional< ::Ifc4x2::IfcGridTypeEnum::Value > v11_PredefinedType) : IfcPositioningElement(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_UAxes)->generalize());set_attribute_value(8, (v9_VAxes)->generalize()); if (v10_WAxes) {set_attribute_value(9, (*v10_WAxes)->generalize()); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, aggregate_of< ::Ifc4x2::IfcGridAxis >::ptr v8_UAxes, aggregate_of< ::Ifc4x2::IfcGridAxis >::ptr v9_VAxes, boost::optional< aggregate_of< ::Ifc4x2::IfcGridAxis >::ptr > v10_WAxes, boost::optional< ::Ifc4x2::IfcGridTypeEnum::Value > v11_PredefinedType) : IfcPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_UAxes)->generalize());set_attribute_value(8, (v9_VAxes)->generalize()); if (v10_WAxes) {set_attribute_value(9, (*v10_WAxes)->generalize()); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGridAxis -boost::optional< std::string > Ifc4x2::IfcGridAxis::AxisTag() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x2::IfcGridAxis::AxisTag() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x2::IfcCurve* Ifc4x2::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcCurve>(true); } +::Ifc4x2::IfcCurve* Ifc4x2::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcGridAxis::setAxisCurve(::Ifc4x2::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -bool Ifc4x2::IfcGridAxis::SameSense() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x2::IfcGridAxis::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x2::IfcGridAxis::setSameSense(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } ::Ifc4x2::IfcGrid::list::ptr Ifc4x2::IfcGridAxis::PartOfW() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[489], 9)->as(); } @@ -10732,19 +10732,19 @@ void Ifc4x2::IfcGridAxis::setSameSense(bool v) { set_attribute_value(2, v);if co const IfcParse::entity& Ifc4x2::IfcGridAxis::declaration() const { return *((IfcParse::entity*)IFC4X2_types[490]); } const IfcParse::entity& Ifc4x2::IfcGridAxis::Class() { return *((IfcParse::entity*)IFC4X2_types[490]); } Ifc4x2::IfcGridAxis::IfcGridAxis(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, ::Ifc4x2::IfcCurve* v2_AxisCurve, bool v3_SameSense) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, v2_AxisCurve ? v2_AxisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } +Ifc4x2::IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, ::Ifc4x2::IfcCurve* v2_AxisCurve, bool v3_SameSense) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, v2_AxisCurve ? v2_AxisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } // Function implementations for IfcGridPlacement -::Ifc4x2::IfcVirtualGridIntersection* Ifc4x2::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcVirtualGridIntersection>(true); } +::Ifc4x2::IfcVirtualGridIntersection* Ifc4x2::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcVirtualGridIntersection>(true); } void Ifc4x2::IfcGridPlacement::setPlacementLocation(::Ifc4x2::IfcVirtualGridIntersection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcGridPlacementDirectionSelect* Ifc4x2::IfcGridPlacement::PlacementRefDirection() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcGridPlacementDirectionSelect>(true); } +::Ifc4x2::IfcGridPlacementDirectionSelect* Ifc4x2::IfcGridPlacement::PlacementRefDirection() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcGridPlacementDirectionSelect>(true); } void Ifc4x2::IfcGridPlacement::setPlacementRefDirection(::Ifc4x2::IfcGridPlacementDirectionSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x2::IfcGridPlacement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[491]); } const IfcParse::entity& Ifc4x2::IfcGridPlacement::Class() { return *((IfcParse::entity*)IFC4X2_types[491]); } Ifc4x2::IfcGridPlacement::IfcGridPlacement(IfcEntityInstanceData&& e) : IfcObjectPlacement(std::move(e)) { } -Ifc4x2::IfcGridPlacement::IfcGridPlacement(::Ifc4x2::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x2::IfcVirtualGridIntersection* v2_PlacementLocation, ::Ifc4x2::IfcGridPlacementDirectionSelect* v3_PlacementRefDirection) : IfcObjectPlacement(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementLocation ? v2_PlacementLocation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PlacementRefDirection ? v3_PlacementRefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcGridPlacement::IfcGridPlacement(::Ifc4x2::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x2::IfcVirtualGridIntersection* v2_PlacementLocation, ::Ifc4x2::IfcGridPlacementDirectionSelect* v3_PlacementRefDirection) : IfcObjectPlacement(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementLocation ? v2_PlacementLocation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PlacementRefDirection ? v3_PlacementRefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcGroup @@ -10753,124 +10753,124 @@ Ifc4x2::IfcGridPlacement::IfcGridPlacement(::Ifc4x2::IfcObjectPlacement* v1_Plac const IfcParse::entity& Ifc4x2::IfcGroup::declaration() const { return *((IfcParse::entity*)IFC4X2_types[494]); } const IfcParse::entity& Ifc4x2::IfcGroup::Class() { return *((IfcParse::entity*)IFC4X2_types[494]); } Ifc4x2::IfcGroup::IfcGroup(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x2::IfcGroup::IfcGroup(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc4x2::IfcGroup::IfcGroup(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcHalfSpaceSolid -::Ifc4x2::IfcSurface* Ifc4x2::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcSurface>(true); } +::Ifc4x2::IfcSurface* Ifc4x2::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcSurface>(true); } void Ifc4x2::IfcHalfSpaceSolid::setBaseSurface(::Ifc4x2::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -bool Ifc4x2::IfcHalfSpaceSolid::AgreementFlag() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x2::IfcHalfSpaceSolid::AgreementFlag() const { bool v = get_attribute_value(1); return v; } void Ifc4x2::IfcHalfSpaceSolid::setAgreementFlag(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcHalfSpaceSolid::declaration() const { return *((IfcParse::entity*)IFC4X2_types[495]); } const IfcParse::entity& Ifc4x2::IfcHalfSpaceSolid::Class() { return *((IfcParse::entity*)IFC4X2_types[495]); } Ifc4x2::IfcHalfSpaceSolid::IfcHalfSpaceSolid(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x2::IfcHalfSpaceSolid::IfcHalfSpaceSolid(::Ifc4x2::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));; populate_derived(); } +Ifc4x2::IfcHalfSpaceSolid::IfcHalfSpaceSolid(::Ifc4x2::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));; populate_derived(); } // Function implementations for IfcHeatExchanger -boost::optional< ::Ifc4x2::IfcHeatExchangerTypeEnum::Value > Ifc4x2::IfcHeatExchanger::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcHeatExchangerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcHeatExchangerTypeEnum::Value > Ifc4x2::IfcHeatExchanger::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcHeatExchanger::setPredefinedType(boost::optional< ::Ifc4x2::IfcHeatExchangerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcHeatExchangerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcHeatExchanger::declaration() const { return *((IfcParse::entity*)IFC4X2_types[497]); } const IfcParse::entity& Ifc4x2::IfcHeatExchanger::Class() { return *((IfcParse::entity*)IFC4X2_types[497]); } Ifc4x2::IfcHeatExchanger::IfcHeatExchanger(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x2::IfcHeatExchanger::IfcHeatExchanger(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcHeatExchanger::IfcHeatExchanger(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcHeatExchangerType -::Ifc4x2::IfcHeatExchangerTypeEnum::Value Ifc4x2::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4x2::IfcHeatExchangerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcHeatExchangerTypeEnum::Value Ifc4x2::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4x2::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcHeatExchangerType::setPredefinedType(::Ifc4x2::IfcHeatExchangerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcHeatExchangerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcHeatExchangerType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[498]); } const IfcParse::entity& Ifc4x2::IfcHeatExchangerType::Class() { return *((IfcParse::entity*)IFC4X2_types[498]); } Ifc4x2::IfcHeatExchangerType::IfcHeatExchangerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x2::IfcHeatExchangerType::IfcHeatExchangerType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcHeatExchangerType::IfcHeatExchangerType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcHumidifier -boost::optional< ::Ifc4x2::IfcHumidifierTypeEnum::Value > Ifc4x2::IfcHumidifier::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcHumidifierTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcHumidifierTypeEnum::Value > Ifc4x2::IfcHumidifier::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcHumidifierTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcHumidifier::setPredefinedType(boost::optional< ::Ifc4x2::IfcHumidifierTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcHumidifierTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcHumidifier::declaration() const { return *((IfcParse::entity*)IFC4X2_types[502]); } const IfcParse::entity& Ifc4x2::IfcHumidifier::Class() { return *((IfcParse::entity*)IFC4X2_types[502]); } Ifc4x2::IfcHumidifier::IfcHumidifier(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x2::IfcHumidifier::IfcHumidifier(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcHumidifierTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcHumidifier::IfcHumidifier(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcHumidifierTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcHumidifierType -::Ifc4x2::IfcHumidifierTypeEnum::Value Ifc4x2::IfcHumidifierType::PredefinedType() const { return ::Ifc4x2::IfcHumidifierTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcHumidifierTypeEnum::Value Ifc4x2::IfcHumidifierType::PredefinedType() const { return ::Ifc4x2::IfcHumidifierTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcHumidifierType::setPredefinedType(::Ifc4x2::IfcHumidifierTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcHumidifierTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcHumidifierType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[503]); } const IfcParse::entity& Ifc4x2::IfcHumidifierType::Class() { return *((IfcParse::entity*)IFC4X2_types[503]); } Ifc4x2::IfcHumidifierType::IfcHumidifierType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x2::IfcHumidifierType::IfcHumidifierType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcHumidifierTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcHumidifierType::IfcHumidifierType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcHumidifierTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcIShapeProfileDef -double Ifc4x2::IfcIShapeProfileDef::OverallWidth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x2::IfcIShapeProfileDef::OverallWidth() const { double v = get_attribute_value(3); return v; } void Ifc4x2::IfcIShapeProfileDef::setOverallWidth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x2::IfcIShapeProfileDef::OverallDepth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x2::IfcIShapeProfileDef::OverallDepth() const { double v = get_attribute_value(4); return v; } void Ifc4x2::IfcIShapeProfileDef::setOverallDepth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x2::IfcIShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x2::IfcIShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x2::IfcIShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x2::IfcIShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x2::IfcIShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x2::IfcIShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x2::IfcIShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x2::IfcIShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x2::IfcIShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x2::IfcIShapeProfileDef::FlangeEdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x2::IfcIShapeProfileDef::FlangeEdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x2::IfcIShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x2::IfcIShapeProfileDef::FlangeSlope() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x2::IfcIShapeProfileDef::FlangeSlope() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x2::IfcIShapeProfileDef::setFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x2::IfcIShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X2_types[527]); } const IfcParse::entity& Ifc4x2::IfcIShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X2_types[527]); } Ifc4x2::IfcIShapeProfileDef::IfcIShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x2::IfcIShapeProfileDef::IfcIShapeProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::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(storage_t(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } +Ifc4x2::IfcIShapeProfileDef::IfcIShapeProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::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(in_memory_attribute_storage(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } // Function implementations for IfcImageTexture -std::string Ifc4x2::IfcImageTexture::URLReference() const { std::string v = data_.get_attribute_value(5); return v; } +std::string Ifc4x2::IfcImageTexture::URLReference() const { std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcImageTexture::setURLReference(std::string v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x2::IfcImageTexture::declaration() const { return *((IfcParse::entity*)IFC4X2_types[507]); } const IfcParse::entity& Ifc4x2::IfcImageTexture::Class() { return *((IfcParse::entity*)IFC4X2_types[507]); } Ifc4x2::IfcImageTexture::IfcImageTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -Ifc4x2::IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x2::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) : IfcSurfaceTexture(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference));; populate_derived(); } +Ifc4x2::IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x2::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) : IfcSurfaceTexture(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference));; populate_derived(); } // Function implementations for IfcIndexedColourMap -::Ifc4x2::IfcTessellatedFaceSet* Ifc4x2::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcTessellatedFaceSet>(true); } +::Ifc4x2::IfcTessellatedFaceSet* Ifc4x2::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcTessellatedFaceSet>(true); } void Ifc4x2::IfcIndexedColourMap::setMappedTo(::Ifc4x2::IfcTessellatedFaceSet* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< double > Ifc4x2::IfcIndexedColourMap::Opacity() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x2::IfcIndexedColourMap::Opacity() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x2::IfcIndexedColourMap::setOpacity(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x2::IfcColourRgbList* Ifc4x2::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcColourRgbList>(true); } +::Ifc4x2::IfcColourRgbList* Ifc4x2::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcColourRgbList>(true); } void Ifc4x2::IfcIndexedColourMap::setColours(::Ifc4x2::IfcColourRgbList* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -std::vector< int > /*[1:?]*/ Ifc4x2::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +std::vector< int > /*[1:?]*/ Ifc4x2::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x2::IfcIndexedColourMap::setColourIndex(std::vector< int > /*[1:?]*/ v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x2::IfcIndexedColourMap::declaration() const { return *((IfcParse::entity*)IFC4X2_types[508]); } const IfcParse::entity& Ifc4x2::IfcIndexedColourMap::Class() { return *((IfcParse::entity*)IFC4X2_types[508]); } Ifc4x2::IfcIndexedColourMap::IfcIndexedColourMap(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x2::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x2::IfcTessellatedFaceSet* v1_MappedTo, boost::optional< double > v2_Opacity, ::Ifc4x2::IfcColourRgbList* v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) : IfcPresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_MappedTo ? v1_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, v3_Colours ? v3_Colours->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ColourIndex));; populate_derived(); } +Ifc4x2::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x2::IfcTessellatedFaceSet* v1_MappedTo, boost::optional< double > v2_Opacity, ::Ifc4x2::IfcColourRgbList* v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_MappedTo ? v1_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, v3_Colours ? v3_Colours->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ColourIndex));; populate_derived(); } // Function implementations for IfcIndexedPolyCurve -::Ifc4x2::IfcCartesianPointList* Ifc4x2::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcCartesianPointList>(true); } +::Ifc4x2::IfcCartesianPointList* Ifc4x2::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcCartesianPointList>(true); } void Ifc4x2::IfcIndexedPolyCurve::setPoints(::Ifc4x2::IfcCartesianPointList* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< aggregate_of< ::Ifc4x2::IfcSegmentIndexSelect >::ptr > Ifc4x2::IfcIndexedPolyCurve::Segments() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x2::IfcSegmentIndexSelect >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcSegmentIndexSelect >::ptr > Ifc4x2::IfcIndexedPolyCurve::Segments() const { if(get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x2::IfcSegmentIndexSelect >(); } void Ifc4x2::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x2::IfcSegmentIndexSelect >::ptr > v) { if (v) {set_attribute_value(1, (*v)->generalize());} else {unset_attribute_value(1);} } -boost::optional< bool > Ifc4x2::IfcIndexedPolyCurve::SelfIntersect() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } bool v = data_.get_attribute_value(2); return v; } +boost::optional< bool > Ifc4x2::IfcIndexedPolyCurve::SelfIntersect() const { if(get_attribute_value(2).isNull()) { return boost::none; } bool v = get_attribute_value(2); return v; } void Ifc4x2::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x2::IfcIndexedPolyCurve::declaration() const { return *((IfcParse::entity*)IFC4X2_types[509]); } const IfcParse::entity& Ifc4x2::IfcIndexedPolyCurve::Class() { return *((IfcParse::entity*)IFC4X2_types[509]); } Ifc4x2::IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x2::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x2::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x2::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Points ? v1_Points->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Segments) {set_attribute_value(1, (*v2_Segments)->generalize()); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); }; populate_derived(); } +Ifc4x2::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x2::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x2::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Points ? v1_Points->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Segments) {set_attribute_value(1, (*v2_Segments)->generalize()); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); }; populate_derived(); } // Function implementations for IfcIndexedPolygonalFace -std::vector< int > /*[3:?]*/ Ifc4x2::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = data_.get_attribute_value(0); return v; } +std::vector< int > /*[3:?]*/ Ifc4x2::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } void Ifc4x2::IfcIndexedPolygonalFace::setCoordIndex(std::vector< int > /*[3:?]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } ::Ifc4x2::IfcPolygonalFaceSet::list::ptr Ifc4x2::IfcIndexedPolygonalFace::ToFaceSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[715], 2)->as(); } @@ -10878,59 +10878,59 @@ void Ifc4x2::IfcIndexedPolygonalFace::setCoordIndex(std::vector< int > /*[3:?]*/ const IfcParse::entity& Ifc4x2::IfcIndexedPolygonalFace::declaration() const { return *((IfcParse::entity*)IFC4X2_types[510]); } const IfcParse::entity& Ifc4x2::IfcIndexedPolygonalFace::Class() { return *((IfcParse::entity*)IFC4X2_types[510]); } Ifc4x2::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(IfcEntityInstanceData&& e) : IfcTessellatedItem(std::move(e)) { } -Ifc4x2::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(std::vector< int > /*[3:?]*/ v1_CoordIndex) : IfcTessellatedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CoordIndex));; populate_derived(); } +Ifc4x2::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(std::vector< int > /*[3:?]*/ v1_CoordIndex) : IfcTessellatedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CoordIndex));; populate_derived(); } // Function implementations for IfcIndexedPolygonalFaceWithVoids -std::vector< std::vector< int > > Ifc4x2::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { std::vector< std::vector< int > > v = data_.get_attribute_value(1); return v; } +std::vector< std::vector< int > > Ifc4x2::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { std::vector< std::vector< int > > v = get_attribute_value(1); return v; } void Ifc4x2::IfcIndexedPolygonalFaceWithVoids::setInnerCoordIndices(std::vector< std::vector< int > > v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcIndexedPolygonalFaceWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X2_types[511]); } const IfcParse::entity& Ifc4x2::IfcIndexedPolygonalFaceWithVoids::Class() { return *((IfcParse::entity*)IFC4X2_types[511]); } Ifc4x2::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(IfcEntityInstanceData&& e) : IfcIndexedPolygonalFace(std::move(e)) { } -Ifc4x2::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) : IfcIndexedPolygonalFace(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices));; populate_derived(); } +Ifc4x2::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) : IfcIndexedPolygonalFace(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices));; populate_derived(); } // Function implementations for IfcIndexedTextureMap -::Ifc4x2::IfcTessellatedFaceSet* Ifc4x2::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcTessellatedFaceSet>(true); } +::Ifc4x2::IfcTessellatedFaceSet* Ifc4x2::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcTessellatedFaceSet>(true); } void Ifc4x2::IfcIndexedTextureMap::setMappedTo(::Ifc4x2::IfcTessellatedFaceSet* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcTextureVertexList* Ifc4x2::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcTextureVertexList>(true); } +::Ifc4x2::IfcTextureVertexList* Ifc4x2::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcTextureVertexList>(true); } void Ifc4x2::IfcIndexedTextureMap::setTexCoords(::Ifc4x2::IfcTextureVertexList* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x2::IfcIndexedTextureMap::declaration() const { return *((IfcParse::entity*)IFC4X2_types[512]); } const IfcParse::entity& Ifc4x2::IfcIndexedTextureMap::Class() { return *((IfcParse::entity*)IFC4X2_types[512]); } Ifc4x2::IfcIndexedTextureMap::IfcIndexedTextureMap(IfcEntityInstanceData&& e) : IfcTextureCoordinate(std::move(e)) { } -Ifc4x2::IfcIndexedTextureMap::IfcIndexedTextureMap(aggregate_of< ::Ifc4x2::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x2::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x2::IfcTextureVertexList* v3_TexCoords) : IfcTextureCoordinate(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcIndexedTextureMap::IfcIndexedTextureMap(aggregate_of< ::Ifc4x2::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x2::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x2::IfcTextureVertexList* v3_TexCoords) : IfcTextureCoordinate(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcIndexedTriangleTextureMap -boost::optional< std::vector< std::vector< int > > > Ifc4x2::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::vector< int > > v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< std::vector< int > > > Ifc4x2::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::vector< int > > v = get_attribute_value(3); return v; } void Ifc4x2::IfcIndexedTriangleTextureMap::setTexCoordIndex(boost::optional< std::vector< std::vector< int > > > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x2::IfcIndexedTriangleTextureMap::declaration() const { return *((IfcParse::entity*)IFC4X2_types[513]); } const IfcParse::entity& Ifc4x2::IfcIndexedTriangleTextureMap::Class() { return *((IfcParse::entity*)IFC4X2_types[513]); } Ifc4x2::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(IfcEntityInstanceData&& e) : IfcIndexedTextureMap(std::move(e)) { } -Ifc4x2::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(aggregate_of< ::Ifc4x2::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x2::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x2::IfcTextureVertexList* v3_TexCoords, boost::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) : IfcIndexedTextureMap(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); }; populate_derived(); } +Ifc4x2::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(aggregate_of< ::Ifc4x2::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x2::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x2::IfcTextureVertexList* v3_TexCoords, boost::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) : IfcIndexedTextureMap(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); }; populate_derived(); } // Function implementations for IfcInterceptor -boost::optional< ::Ifc4x2::IfcInterceptorTypeEnum::Value > Ifc4x2::IfcInterceptor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcInterceptorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcInterceptorTypeEnum::Value > Ifc4x2::IfcInterceptor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcInterceptorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcInterceptor::setPredefinedType(boost::optional< ::Ifc4x2::IfcInterceptorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcInterceptorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcInterceptor::declaration() const { return *((IfcParse::entity*)IFC4X2_types[517]); } const IfcParse::entity& Ifc4x2::IfcInterceptor::Class() { return *((IfcParse::entity*)IFC4X2_types[517]); } Ifc4x2::IfcInterceptor::IfcInterceptor(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4x2::IfcInterceptor::IfcInterceptor(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcInterceptorTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcInterceptor::IfcInterceptor(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcInterceptorTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcInterceptorType -::Ifc4x2::IfcInterceptorTypeEnum::Value Ifc4x2::IfcInterceptorType::PredefinedType() const { return ::Ifc4x2::IfcInterceptorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcInterceptorTypeEnum::Value Ifc4x2::IfcInterceptorType::PredefinedType() const { return ::Ifc4x2::IfcInterceptorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcInterceptorType::setPredefinedType(::Ifc4x2::IfcInterceptorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcInterceptorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcInterceptorType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[518]); } const IfcParse::entity& Ifc4x2::IfcInterceptorType::Class() { return *((IfcParse::entity*)IFC4X2_types[518]); } Ifc4x2::IfcInterceptorType::IfcInterceptorType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4x2::IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcInterceptorTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcInterceptorTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcIntersectionCurve @@ -10938,154 +10938,154 @@ Ifc4x2::IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, ::Ifc4x2 const IfcParse::entity& Ifc4x2::IfcIntersectionCurve::declaration() const { return *((IfcParse::entity*)IFC4X2_types[521]); } const IfcParse::entity& Ifc4x2::IfcIntersectionCurve::Class() { return *((IfcParse::entity*)IFC4X2_types[521]); } Ifc4x2::IfcIntersectionCurve::IfcIntersectionCurve(IfcEntityInstanceData&& e) : IfcSurfaceCurve(std::move(e)) { } -Ifc4x2::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4x2::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x2::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } +Ifc4x2::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4x2::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x2::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcInventory -boost::optional< ::Ifc4x2::IfcInventoryTypeEnum::Value > Ifc4x2::IfcInventory::PredefinedType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x2::IfcInventoryTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x2::IfcInventoryTypeEnum::Value > Ifc4x2::IfcInventory::PredefinedType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x2::IfcInventoryTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x2::IfcInventory::setPredefinedType(boost::optional< ::Ifc4x2::IfcInventoryTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x2::IfcInventoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -::Ifc4x2::IfcActorSelect* Ifc4x2::IfcInventory::Jurisdiction() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x2::IfcActorSelect>(true); } +::Ifc4x2::IfcActorSelect* Ifc4x2::IfcInventory::Jurisdiction() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x2::IfcActorSelect>(true); } void Ifc4x2::IfcInventory::setJurisdiction(::Ifc4x2::IfcActorSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< aggregate_of< ::Ifc4x2::IfcPerson >::ptr > Ifc4x2::IfcInventory::ResponsiblePersons() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x2::IfcPerson >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcPerson >::ptr > Ifc4x2::IfcInventory::ResponsiblePersons() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x2::IfcPerson >(); } void Ifc4x2::IfcInventory::setResponsiblePersons(boost::optional< aggregate_of< ::Ifc4x2::IfcPerson >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x2::IfcInventory::LastUpdateDate() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x2::IfcInventory::LastUpdateDate() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x2::IfcInventory::setLastUpdateDate(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x2::IfcCostValue* Ifc4x2::IfcInventory::CurrentValue() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x2::IfcCostValue>(true); } +::Ifc4x2::IfcCostValue* Ifc4x2::IfcInventory::CurrentValue() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x2::IfcCostValue>(true); } void Ifc4x2::IfcInventory::setCurrentValue(::Ifc4x2::IfcCostValue* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4x2::IfcCostValue* Ifc4x2::IfcInventory::OriginalValue() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x2::IfcCostValue>(true); } +::Ifc4x2::IfcCostValue* Ifc4x2::IfcInventory::OriginalValue() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x2::IfcCostValue>(true); } void Ifc4x2::IfcInventory::setOriginalValue(::Ifc4x2::IfcCostValue* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x2::IfcInventory::declaration() const { return *((IfcParse::entity*)IFC4X2_types[522]); } const IfcParse::entity& Ifc4x2::IfcInventory::Class() { return *((IfcParse::entity*)IFC4X2_types[522]); } Ifc4x2::IfcInventory::IfcInventory(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x2::IfcInventory::IfcInventory(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x2::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x2::IfcActorSelect* v7_Jurisdiction, boost::optional< aggregate_of< ::Ifc4x2::IfcPerson >::ptr > v8_ResponsiblePersons, boost::optional< std::string > v9_LastUpdateDate, ::Ifc4x2::IfcCostValue* v10_CurrentValue, ::Ifc4x2::IfcCostValue* v11_OriginalValue) : IfcGroup(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, v7_Jurisdiction ? v7_Jurisdiction->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_ResponsiblePersons) {set_attribute_value(7, (*v8_ResponsiblePersons)->generalize()); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, v10_CurrentValue ? v10_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_OriginalValue ? v11_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcInventory::IfcInventory(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x2::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x2::IfcActorSelect* v7_Jurisdiction, boost::optional< aggregate_of< ::Ifc4x2::IfcPerson >::ptr > v8_ResponsiblePersons, boost::optional< std::string > v9_LastUpdateDate, ::Ifc4x2::IfcCostValue* v10_CurrentValue, ::Ifc4x2::IfcCostValue* v11_OriginalValue) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, v7_Jurisdiction ? v7_Jurisdiction->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_ResponsiblePersons) {set_attribute_value(7, (*v8_ResponsiblePersons)->generalize()); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, v10_CurrentValue ? v10_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_OriginalValue ? v11_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcIrregularTimeSeries -aggregate_of< ::Ifc4x2::IfcIrregularTimeSeriesValue >::ptr Ifc4x2::IfcIrregularTimeSeries::Values() const { aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x2::IfcIrregularTimeSeriesValue >(); } +aggregate_of< ::Ifc4x2::IfcIrregularTimeSeriesValue >::ptr Ifc4x2::IfcIrregularTimeSeries::Values() const { aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x2::IfcIrregularTimeSeriesValue >(); } void Ifc4x2::IfcIrregularTimeSeries::setValues(aggregate_of< ::Ifc4x2::IfcIrregularTimeSeriesValue >::ptr v) { set_attribute_value(8, (v)->generalize());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x2::IfcIrregularTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X2_types[525]); } const IfcParse::entity& Ifc4x2::IfcIrregularTimeSeries::Class() { return *((IfcParse::entity*)IFC4X2_types[525]); } Ifc4x2::IfcIrregularTimeSeries::IfcIrregularTimeSeries(IfcEntityInstanceData&& e) : IfcTimeSeries(std::move(e)) { } -Ifc4x2::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x2::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x2::IfcUnit* v8_Unit, aggregate_of< ::Ifc4x2::IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_Values)->generalize());; populate_derived(); } +Ifc4x2::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x2::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x2::IfcUnit* v8_Unit, aggregate_of< ::Ifc4x2::IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_Values)->generalize());; populate_derived(); } // Function implementations for IfcIrregularTimeSeriesValue -std::string Ifc4x2::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x2::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcIrregularTimeSeriesValue::setTimeStamp(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x2::IfcValue >::ptr Ifc4x2::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x2::IfcValue >(); } +aggregate_of< ::Ifc4x2::IfcValue >::ptr Ifc4x2::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x2::IfcValue >(); } void Ifc4x2::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x2::IfcValue >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcIrregularTimeSeriesValue::declaration() const { return *((IfcParse::entity*)IFC4X2_types[526]); } const IfcParse::entity& Ifc4x2::IfcIrregularTimeSeriesValue::Class() { return *((IfcParse::entity*)IFC4X2_types[526]); } Ifc4x2::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x2::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, (v2_ListValues)->generalize());; populate_derived(); } +Ifc4x2::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x2::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, (v2_ListValues)->generalize());; populate_derived(); } // Function implementations for IfcJunctionBox -boost::optional< ::Ifc4x2::IfcJunctionBoxTypeEnum::Value > Ifc4x2::IfcJunctionBox::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcJunctionBoxTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcJunctionBoxTypeEnum::Value > Ifc4x2::IfcJunctionBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcJunctionBox::setPredefinedType(boost::optional< ::Ifc4x2::IfcJunctionBoxTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcJunctionBoxTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcJunctionBox::declaration() const { return *((IfcParse::entity*)IFC4X2_types[529]); } const IfcParse::entity& Ifc4x2::IfcJunctionBox::Class() { return *((IfcParse::entity*)IFC4X2_types[529]); } Ifc4x2::IfcJunctionBox::IfcJunctionBox(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x2::IfcJunctionBox::IfcJunctionBox(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcJunctionBox::IfcJunctionBox(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcJunctionBoxType -::Ifc4x2::IfcJunctionBoxTypeEnum::Value Ifc4x2::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4x2::IfcJunctionBoxTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcJunctionBoxTypeEnum::Value Ifc4x2::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4x2::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcJunctionBoxType::setPredefinedType(::Ifc4x2::IfcJunctionBoxTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcJunctionBoxTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcJunctionBoxType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[530]); } const IfcParse::entity& Ifc4x2::IfcJunctionBoxType::Class() { return *((IfcParse::entity*)IFC4X2_types[530]); } Ifc4x2::IfcJunctionBoxType::IfcJunctionBoxType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x2::IfcJunctionBoxType::IfcJunctionBoxType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcJunctionBoxType::IfcJunctionBoxType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLShapeProfileDef -double Ifc4x2::IfcLShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x2::IfcLShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x2::IfcLShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< double > Ifc4x2::IfcLShapeProfileDef::Width() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x2::IfcLShapeProfileDef::Width() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x2::IfcLShapeProfileDef::setWidth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -double Ifc4x2::IfcLShapeProfileDef::Thickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x2::IfcLShapeProfileDef::Thickness() const { double v = get_attribute_value(5); return v; } void Ifc4x2::IfcLShapeProfileDef::setThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x2::IfcLShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x2::IfcLShapeProfileDef::FilletRadius() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x2::IfcLShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x2::IfcLShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x2::IfcLShapeProfileDef::EdgeRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x2::IfcLShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x2::IfcLShapeProfileDef::LegSlope() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x2::IfcLShapeProfileDef::LegSlope() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x2::IfcLShapeProfileDef::setLegSlope(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcLShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X2_types[577]); } const IfcParse::entity& Ifc4x2::IfcLShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X2_types[577]); } Ifc4x2::IfcLShapeProfileDef::IfcLShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x2::IfcLShapeProfileDef::IfcLShapeProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::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(storage_t(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); }; populate_derived(); } +Ifc4x2::IfcLShapeProfileDef::IfcLShapeProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::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(in_memory_attribute_storage(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); }; populate_derived(); } // Function implementations for IfcLaborResource -boost::optional< ::Ifc4x2::IfcLaborResourceTypeEnum::Value > Ifc4x2::IfcLaborResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x2::IfcLaborResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x2::IfcLaborResourceTypeEnum::Value > Ifc4x2::IfcLaborResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x2::IfcLaborResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x2::IfcLaborResource::setPredefinedType(boost::optional< ::Ifc4x2::IfcLaborResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x2::IfcLaborResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x2::IfcLaborResource::declaration() const { return *((IfcParse::entity*)IFC4X2_types[535]); } const IfcParse::entity& Ifc4x2::IfcLaborResource::Class() { return *((IfcParse::entity*)IFC4X2_types[535]); } Ifc4x2::IfcLaborResource::IfcLaborResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x2::IfcLaborResource::IfcLaborResource(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x2::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcLaborResource::IfcLaborResource(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x2::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLaborResourceType -::Ifc4x2::IfcLaborResourceTypeEnum::Value Ifc4x2::IfcLaborResourceType::PredefinedType() const { return ::Ifc4x2::IfcLaborResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x2::IfcLaborResourceTypeEnum::Value Ifc4x2::IfcLaborResourceType::PredefinedType() const { return ::Ifc4x2::IfcLaborResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x2::IfcLaborResourceType::setPredefinedType(::Ifc4x2::IfcLaborResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x2::IfcLaborResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x2::IfcLaborResourceType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[536]); } const IfcParse::entity& Ifc4x2::IfcLaborResourceType::Class() { return *((IfcParse::entity*)IFC4X2_types[536]); } Ifc4x2::IfcLaborResourceType::IfcLaborResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x2::IfcLaborResourceType::IfcLaborResourceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x2::IfcLaborResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x2::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcLaborResourceType::IfcLaborResourceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x2::IfcLaborResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x2::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcLagTime -::Ifc4x2::IfcTimeOrRatioSelect* Ifc4x2::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcTimeOrRatioSelect>(true); } +::Ifc4x2::IfcTimeOrRatioSelect* Ifc4x2::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcTimeOrRatioSelect>(true); } void Ifc4x2::IfcLagTime::setLagValue(::Ifc4x2::IfcTimeOrRatioSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x2::IfcTaskDurationEnum::Value Ifc4x2::IfcLagTime::DurationType() const { return ::Ifc4x2::IfcTaskDurationEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x2::IfcTaskDurationEnum::Value Ifc4x2::IfcLagTime::DurationType() const { return ::Ifc4x2::IfcTaskDurationEnum::FromString(get_attribute_value(4)); } void Ifc4x2::IfcLagTime::setDurationType(::Ifc4x2::IfcTaskDurationEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x2::IfcTaskDurationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x2::IfcLagTime::declaration() const { return *((IfcParse::entity*)IFC4X2_types[538]); } const IfcParse::entity& Ifc4x2::IfcLagTime::Class() { return *((IfcParse::entity*)IFC4X2_types[538]); } Ifc4x2::IfcLagTime::IfcLagTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x2::IfcLagTime::IfcLagTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x2::IfcTimeOrRatioSelect* v4_LagValue, ::Ifc4x2::IfcTaskDurationEnum::Value v5_DurationType) : IfcSchedulingTime(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_LagValue ? v4_LagValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (EnumerationReference(&::Ifc4x2::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType)));; populate_derived(); } +Ifc4x2::IfcLagTime::IfcLagTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x2::IfcTimeOrRatioSelect* v4_LagValue, ::Ifc4x2::IfcTaskDurationEnum::Value v5_DurationType) : IfcSchedulingTime(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_LagValue ? v4_LagValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (EnumerationReference(&::Ifc4x2::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType)));; populate_derived(); } // Function implementations for IfcLamp -boost::optional< ::Ifc4x2::IfcLampTypeEnum::Value > Ifc4x2::IfcLamp::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcLampTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcLampTypeEnum::Value > Ifc4x2::IfcLamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcLampTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcLamp::setPredefinedType(boost::optional< ::Ifc4x2::IfcLampTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcLampTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcLamp::declaration() const { return *((IfcParse::entity*)IFC4X2_types[539]); } const IfcParse::entity& Ifc4x2::IfcLamp::Class() { return *((IfcParse::entity*)IFC4X2_types[539]); } Ifc4x2::IfcLamp::IfcLamp(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x2::IfcLamp::IfcLamp(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcLampTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcLamp::IfcLamp(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcLampTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLampType -::Ifc4x2::IfcLampTypeEnum::Value Ifc4x2::IfcLampType::PredefinedType() const { return ::Ifc4x2::IfcLampTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcLampTypeEnum::Value Ifc4x2::IfcLampType::PredefinedType() const { return ::Ifc4x2::IfcLampTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcLampType::setPredefinedType(::Ifc4x2::IfcLampTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcLampTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcLampType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[540]); } const IfcParse::entity& Ifc4x2::IfcLampType::Class() { return *((IfcParse::entity*)IFC4X2_types[540]); } Ifc4x2::IfcLampType::IfcLampType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x2::IfcLampType::IfcLampType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcLampTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcLampType::IfcLampType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcLampTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLibraryInformation -std::string Ifc4x2::IfcLibraryInformation::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x2::IfcLibraryInformation::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcLibraryInformation::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x2::IfcLibraryInformation::Version() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x2::IfcLibraryInformation::Version() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x2::IfcActorSelect* Ifc4x2::IfcLibraryInformation::Publisher() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcActorSelect>(true); } +::Ifc4x2::IfcActorSelect* Ifc4x2::IfcLibraryInformation::Publisher() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcActorSelect>(true); } void Ifc4x2::IfcLibraryInformation::setPublisher(::Ifc4x2::IfcActorSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x2::IfcLibraryInformation::VersionDate() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x2::IfcLibraryInformation::VersionDate() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x2::IfcLibraryInformation::setVersionDate(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x2::IfcLibraryInformation::Location() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x2::IfcLibraryInformation::Location() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcLibraryInformation::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x2::IfcLibraryInformation::Description() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x2::IfcLibraryInformation::Description() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcLibraryInformation::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x2::IfcRelAssociatesLibrary::list::ptr Ifc4x2::IfcLibraryInformation::LibraryInfoForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[849], 5)->as(); } @@ -11094,14 +11094,14 @@ void Ifc4x2::IfcLibraryInformation::setDescription(boost::optional< std::string const IfcParse::entity& Ifc4x2::IfcLibraryInformation::declaration() const { return *((IfcParse::entity*)IFC4X2_types[546]); } const IfcParse::entity& Ifc4x2::IfcLibraryInformation::Class() { return *((IfcParse::entity*)IFC4X2_types[546]); } Ifc4x2::IfcLibraryInformation::IfcLibraryInformation(IfcEntityInstanceData&& e) : IfcExternalInformation(std::move(e)) { } -Ifc4x2::IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, boost::optional< std::string > v2_Version, ::Ifc4x2::IfcActorSelect* v3_Publisher, boost::optional< std::string > v4_VersionDate, boost::optional< std::string > v5_Location, boost::optional< std::string > v6_Description) : IfcExternalInformation(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, v3_Publisher ? v3_Publisher->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); }; populate_derived(); } +Ifc4x2::IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, boost::optional< std::string > v2_Version, ::Ifc4x2::IfcActorSelect* v3_Publisher, boost::optional< std::string > v4_VersionDate, boost::optional< std::string > v5_Location, boost::optional< std::string > v6_Description) : IfcExternalInformation(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, v3_Publisher ? v3_Publisher->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); }; populate_derived(); } // Function implementations for IfcLibraryReference -boost::optional< std::string > Ifc4x2::IfcLibraryReference::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x2::IfcLibraryReference::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x2::IfcLibraryReference::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x2::IfcLibraryReference::Language() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x2::IfcLibraryReference::Language() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcLibraryReference::setLanguage(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x2::IfcLibraryInformation* Ifc4x2::IfcLibraryReference::ReferencedLibrary() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcLibraryInformation>(true); } +::Ifc4x2::IfcLibraryInformation* Ifc4x2::IfcLibraryReference::ReferencedLibrary() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcLibraryInformation>(true); } void Ifc4x2::IfcLibraryReference::setReferencedLibrary(::Ifc4x2::IfcLibraryInformation* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc4x2::IfcRelAssociatesLibrary::list::ptr Ifc4x2::IfcLibraryReference::LibraryRefForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[849], 5)->as(); } @@ -11109,69 +11109,69 @@ void Ifc4x2::IfcLibraryReference::setReferencedLibrary(::Ifc4x2::IfcLibraryInfor const IfcParse::entity& Ifc4x2::IfcLibraryReference::declaration() const { return *((IfcParse::entity*)IFC4X2_types[547]); } const IfcParse::entity& Ifc4x2::IfcLibraryReference::Class() { return *((IfcParse::entity*)IFC4X2_types[547]); } Ifc4x2::IfcLibraryReference::IfcLibraryReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x2::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, ::Ifc4x2::IfcLibraryInformation* v6_ReferencedLibrary) : IfcExternalReference(IfcEntityInstanceData(storage_t(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, v6_ReferencedLibrary ? v6_ReferencedLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::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, ::Ifc4x2::IfcLibraryInformation* v6_ReferencedLibrary) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, v6_ReferencedLibrary ? v6_ReferencedLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLightDistributionData -double Ifc4x2::IfcLightDistributionData::MainPlaneAngle() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x2::IfcLightDistributionData::MainPlaneAngle() const { double v = get_attribute_value(0); return v; } void Ifc4x2::IfcLightDistributionData::setMainPlaneAngle(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< double > /*[1:?]*/ Ifc4x2::IfcLightDistributionData::SecondaryPlaneAngle() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +std::vector< double > /*[1:?]*/ Ifc4x2::IfcLightDistributionData::SecondaryPlaneAngle() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x2::IfcLightDistributionData::setSecondaryPlaneAngle(std::vector< double > /*[1:?]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector< double > /*[1:?]*/ Ifc4x2::IfcLightDistributionData::LuminousIntensity() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(2); return v; } +std::vector< double > /*[1:?]*/ Ifc4x2::IfcLightDistributionData::LuminousIntensity() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(2); return v; } void Ifc4x2::IfcLightDistributionData::setLuminousIntensity(std::vector< double > /*[1:?]*/ v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x2::IfcLightDistributionData::declaration() const { return *((IfcParse::entity*)IFC4X2_types[550]); } const IfcParse::entity& Ifc4x2::IfcLightDistributionData::Class() { return *((IfcParse::entity*)IFC4X2_types[550]); } Ifc4x2::IfcLightDistributionData::IfcLightDistributionData(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcLightDistributionData::IfcLightDistributionData(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; populate_derived(); } +Ifc4x2::IfcLightDistributionData::IfcLightDistributionData(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; populate_derived(); } // Function implementations for IfcLightFixture -boost::optional< ::Ifc4x2::IfcLightFixtureTypeEnum::Value > Ifc4x2::IfcLightFixture::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcLightFixtureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcLightFixtureTypeEnum::Value > Ifc4x2::IfcLightFixture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcLightFixtureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcLightFixture::setPredefinedType(boost::optional< ::Ifc4x2::IfcLightFixtureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcLightFixtureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcLightFixture::declaration() const { return *((IfcParse::entity*)IFC4X2_types[553]); } const IfcParse::entity& Ifc4x2::IfcLightFixture::Class() { return *((IfcParse::entity*)IFC4X2_types[553]); } Ifc4x2::IfcLightFixture::IfcLightFixture(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x2::IfcLightFixture::IfcLightFixture(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcLightFixture::IfcLightFixture(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLightFixtureType -::Ifc4x2::IfcLightFixtureTypeEnum::Value Ifc4x2::IfcLightFixtureType::PredefinedType() const { return ::Ifc4x2::IfcLightFixtureTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcLightFixtureTypeEnum::Value Ifc4x2::IfcLightFixtureType::PredefinedType() const { return ::Ifc4x2::IfcLightFixtureTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcLightFixtureType::setPredefinedType(::Ifc4x2::IfcLightFixtureTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcLightFixtureTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcLightFixtureType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[554]); } const IfcParse::entity& Ifc4x2::IfcLightFixtureType::Class() { return *((IfcParse::entity*)IFC4X2_types[554]); } Ifc4x2::IfcLightFixtureType::IfcLightFixtureType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x2::IfcLightFixtureType::IfcLightFixtureType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcLightFixtureTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcLightFixtureType::IfcLightFixtureType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcLightFixtureTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLightIntensityDistribution -::Ifc4x2::IfcLightDistributionCurveEnum::Value Ifc4x2::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4x2::IfcLightDistributionCurveEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x2::IfcLightDistributionCurveEnum::Value Ifc4x2::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4x2::IfcLightDistributionCurveEnum::FromString(get_attribute_value(0)); } void Ifc4x2::IfcLightIntensityDistribution::setLightDistributionCurve(::Ifc4x2::IfcLightDistributionCurveEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x2::IfcLightDistributionCurveEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x2::IfcLightDistributionData >::ptr Ifc4x2::IfcLightIntensityDistribution::DistributionData() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x2::IfcLightDistributionData >(); } +aggregate_of< ::Ifc4x2::IfcLightDistributionData >::ptr Ifc4x2::IfcLightIntensityDistribution::DistributionData() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x2::IfcLightDistributionData >(); } void Ifc4x2::IfcLightIntensityDistribution::setDistributionData(aggregate_of< ::Ifc4x2::IfcLightDistributionData >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcLightIntensityDistribution::declaration() const { return *((IfcParse::entity*)IFC4X2_types[556]); } const IfcParse::entity& Ifc4x2::IfcLightIntensityDistribution::Class() { return *((IfcParse::entity*)IFC4X2_types[556]); } Ifc4x2::IfcLightIntensityDistribution::IfcLightIntensityDistribution(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4x2::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, aggregate_of< ::Ifc4x2::IfcLightDistributionData >::ptr v2_DistributionData) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, (v2_DistributionData)->generalize());; populate_derived(); } +Ifc4x2::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4x2::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, aggregate_of< ::Ifc4x2::IfcLightDistributionData >::ptr v2_DistributionData) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, (v2_DistributionData)->generalize());; populate_derived(); } // Function implementations for IfcLightSource -boost::optional< std::string > Ifc4x2::IfcLightSource::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x2::IfcLightSource::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcLightSource::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x2::IfcColourRgb* Ifc4x2::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcColourRgb>(true); } +::Ifc4x2::IfcColourRgb* Ifc4x2::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcColourRgb>(true); } void Ifc4x2::IfcLightSource::setLightColour(::Ifc4x2::IfcColourRgb* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x2::IfcLightSource::AmbientIntensity() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x2::IfcLightSource::AmbientIntensity() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x2::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x2::IfcLightSource::Intensity() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x2::IfcLightSource::Intensity() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x2::IfcLightSource::setIntensity(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x2::IfcLightSource::declaration() const { return *((IfcParse::entity*)IFC4X2_types[557]); } const IfcParse::entity& Ifc4x2::IfcLightSource::Class() { return *((IfcParse::entity*)IFC4X2_types[557]); } Ifc4x2::IfcLightSource::IfcLightSource(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x2::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } +Ifc4x2::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } // Function implementations for IfcLightSourceAmbient @@ -11179,83 +11179,83 @@ Ifc4x2::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Name, : const IfcParse::entity& Ifc4x2::IfcLightSourceAmbient::declaration() const { return *((IfcParse::entity*)IFC4X2_types[558]); } const IfcParse::entity& Ifc4x2::IfcLightSourceAmbient::Class() { return *((IfcParse::entity*)IFC4X2_types[558]); } Ifc4x2::IfcLightSourceAmbient::IfcLightSourceAmbient(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x2::IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcLightSource(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } +Ifc4x2::IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } // Function implementations for IfcLightSourceDirectional -::Ifc4x2::IfcDirection* Ifc4x2::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcDirection>(true); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcLightSourceDirectional::setOrientation(::Ifc4x2::IfcDirection* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x2::IfcLightSourceDirectional::declaration() const { return *((IfcParse::entity*)IFC4X2_types[559]); } const IfcParse::entity& Ifc4x2::IfcLightSourceDirectional::Class() { return *((IfcParse::entity*)IFC4X2_types[559]); } Ifc4x2::IfcLightSourceDirectional::IfcLightSourceDirectional(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x2::IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x2::IfcDirection* v5_Orientation) : IfcLightSource(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Orientation ? v5_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x2::IfcDirection* v5_Orientation) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Orientation ? v5_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLightSourceGoniometric -::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcAxis2Placement3D>(true); } +::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcAxis2Placement3D>(true); } void Ifc4x2::IfcLightSourceGoniometric::setPosition(::Ifc4x2::IfcAxis2Placement3D* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcColourRgb* Ifc4x2::IfcLightSourceGoniometric::ColourAppearance() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcColourRgb>(true); } +::Ifc4x2::IfcColourRgb* Ifc4x2::IfcLightSourceGoniometric::ColourAppearance() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcColourRgb>(true); } void Ifc4x2::IfcLightSourceGoniometric::setColourAppearance(::Ifc4x2::IfcColourRgb* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -double Ifc4x2::IfcLightSourceGoniometric::ColourTemperature() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x2::IfcLightSourceGoniometric::ColourTemperature() const { double v = get_attribute_value(6); return v; } void Ifc4x2::IfcLightSourceGoniometric::setColourTemperature(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -double Ifc4x2::IfcLightSourceGoniometric::LuminousFlux() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x2::IfcLightSourceGoniometric::LuminousFlux() const { double v = get_attribute_value(7); return v; } void Ifc4x2::IfcLightSourceGoniometric::setLuminousFlux(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc4x2::IfcLightEmissionSourceEnum::Value Ifc4x2::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4x2::IfcLightEmissionSourceEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x2::IfcLightEmissionSourceEnum::Value Ifc4x2::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4x2::IfcLightEmissionSourceEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcLightSourceGoniometric::setLightEmissionSource(::Ifc4x2::IfcLightEmissionSourceEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcLightEmissionSourceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc4x2::IfcLightDistributionDataSourceSelect* Ifc4x2::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x2::IfcLightDistributionDataSourceSelect>(true); } +::Ifc4x2::IfcLightDistributionDataSourceSelect* Ifc4x2::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x2::IfcLightDistributionDataSourceSelect>(true); } void Ifc4x2::IfcLightSourceGoniometric::setLightDistributionDataSource(::Ifc4x2::IfcLightDistributionDataSourceSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcLightSourceGoniometric::declaration() const { return *((IfcParse::entity*)IFC4X2_types[560]); } const IfcParse::entity& Ifc4x2::IfcLightSourceGoniometric::Class() { return *((IfcParse::entity*)IFC4X2_types[560]); } Ifc4x2::IfcLightSourceGoniometric::IfcLightSourceGoniometric(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x2::IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x2::IfcAxis2Placement3D* v5_Position, ::Ifc4x2::IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x2::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x2::IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource(IfcEntityInstanceData(storage_t(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ColourAppearance ? v6_ColourAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, v10_LightDistributionDataSource ? v10_LightDistributionDataSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x2::IfcAxis2Placement3D* v5_Position, ::Ifc4x2::IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x2::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x2::IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ColourAppearance ? v6_ColourAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, v10_LightDistributionDataSource ? v10_LightDistributionDataSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLightSourcePositional -::Ifc4x2::IfcCartesianPoint* Ifc4x2::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcCartesianPoint>(true); } +::Ifc4x2::IfcCartesianPoint* Ifc4x2::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcCartesianPoint>(true); } void Ifc4x2::IfcLightSourcePositional::setPosition(::Ifc4x2::IfcCartesianPoint* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -double Ifc4x2::IfcLightSourcePositional::Radius() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x2::IfcLightSourcePositional::Radius() const { double v = get_attribute_value(5); return v; } void Ifc4x2::IfcLightSourcePositional::setRadius(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x2::IfcLightSourcePositional::ConstantAttenuation() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x2::IfcLightSourcePositional::ConstantAttenuation() const { double v = get_attribute_value(6); return v; } void Ifc4x2::IfcLightSourcePositional::setConstantAttenuation(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -double Ifc4x2::IfcLightSourcePositional::DistanceAttenuation() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x2::IfcLightSourcePositional::DistanceAttenuation() const { double v = get_attribute_value(7); return v; } void Ifc4x2::IfcLightSourcePositional::setDistanceAttenuation(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -double Ifc4x2::IfcLightSourcePositional::QuadricAttenuation() const { double v = data_.get_attribute_value(8); return v; } +double Ifc4x2::IfcLightSourcePositional::QuadricAttenuation() const { double v = get_attribute_value(8); return v; } void Ifc4x2::IfcLightSourcePositional::setQuadricAttenuation(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x2::IfcLightSourcePositional::declaration() const { return *((IfcParse::entity*)IFC4X2_types[561]); } const IfcParse::entity& Ifc4x2::IfcLightSourcePositional::Class() { return *((IfcParse::entity*)IFC4X2_types[561]); } Ifc4x2::IfcLightSourcePositional::IfcLightSourcePositional(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x2::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x2::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) : IfcLightSource(IfcEntityInstanceData(storage_t(9))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; populate_derived(); } +Ifc4x2::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x2::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; populate_derived(); } // Function implementations for IfcLightSourceSpot -::Ifc4x2::IfcDirection* Ifc4x2::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x2::IfcDirection>(true); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcLightSourceSpot::setOrientation(::Ifc4x2::IfcDirection* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x2::IfcLightSourceSpot::ConcentrationExponent() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x2::IfcLightSourceSpot::ConcentrationExponent() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x2::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -double Ifc4x2::IfcLightSourceSpot::SpreadAngle() const { double v = data_.get_attribute_value(11); return v; } +double Ifc4x2::IfcLightSourceSpot::SpreadAngle() const { double v = get_attribute_value(11); return v; } void Ifc4x2::IfcLightSourceSpot::setSpreadAngle(double v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } -double Ifc4x2::IfcLightSourceSpot::BeamWidthAngle() const { double v = data_.get_attribute_value(12); return v; } +double Ifc4x2::IfcLightSourceSpot::BeamWidthAngle() const { double v = get_attribute_value(12); return v; } void Ifc4x2::IfcLightSourceSpot::setBeamWidthAngle(double v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } const IfcParse::entity& Ifc4x2::IfcLightSourceSpot::declaration() const { return *((IfcParse::entity*)IFC4X2_types[562]); } const IfcParse::entity& Ifc4x2::IfcLightSourceSpot::Class() { return *((IfcParse::entity*)IFC4X2_types[562]); } Ifc4x2::IfcLightSourceSpot::IfcLightSourceSpot(IfcEntityInstanceData&& e) : IfcLightSourcePositional(std::move(e)) { } -Ifc4x2::IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x2::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x2::IfcDirection* v10_Orientation, boost::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) : IfcLightSourcePositional(IfcEntityInstanceData(storage_t(13))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, v10_Orientation ? v10_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; populate_derived(); } +Ifc4x2::IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x2::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x2::IfcDirection* v10_Orientation, boost::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) : IfcLightSourcePositional(IfcEntityInstanceData(in_memory_attribute_storage(13))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, v10_Orientation ? v10_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; populate_derived(); } // Function implementations for IfcLine -::Ifc4x2::IfcCartesianPoint* Ifc4x2::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcCartesianPoint>(true); } +::Ifc4x2::IfcCartesianPoint* Ifc4x2::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcCartesianPoint>(true); } void Ifc4x2::IfcLine::setPnt(::Ifc4x2::IfcCartesianPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcVector* Ifc4x2::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcVector>(true); } +::Ifc4x2::IfcVector* Ifc4x2::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcVector>(true); } void Ifc4x2::IfcLine::setDir(::Ifc4x2::IfcVector* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcLine::declaration() const { return *((IfcParse::entity*)IFC4X2_types[563]); } const IfcParse::entity& Ifc4x2::IfcLine::Class() { return *((IfcParse::entity*)IFC4X2_types[563]); } Ifc4x2::IfcLine::IfcLine(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x2::IfcLine::IfcLine(::Ifc4x2::IfcCartesianPoint* v1_Pnt, ::Ifc4x2::IfcVector* v2_Dir) : IfcCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Pnt ? v1_Pnt->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Dir ? v2_Dir->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcLine::IfcLine(::Ifc4x2::IfcCartesianPoint* v1_Pnt, ::Ifc4x2::IfcVector* v2_Dir) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Pnt ? v1_Pnt->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Dir ? v2_Dir->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLineSegment2D @@ -11263,43 +11263,43 @@ Ifc4x2::IfcLine::IfcLine(::Ifc4x2::IfcCartesianPoint* v1_Pnt, ::Ifc4x2::IfcVecto const IfcParse::entity& Ifc4x2::IfcLineSegment2D::declaration() const { return *((IfcParse::entity*)IFC4X2_types[571]); } const IfcParse::entity& Ifc4x2::IfcLineSegment2D::Class() { return *((IfcParse::entity*)IFC4X2_types[571]); } Ifc4x2::IfcLineSegment2D::IfcLineSegment2D(IfcEntityInstanceData&& e) : IfcCurveSegment2D(std::move(e)) { } -Ifc4x2::IfcLineSegment2D::IfcLineSegment2D(::Ifc4x2::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) : IfcCurveSegment2D(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_StartPoint ? v1_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));; populate_derived(); } +Ifc4x2::IfcLineSegment2D::IfcLineSegment2D(::Ifc4x2::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) : IfcCurveSegment2D(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_StartPoint ? v1_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));; populate_derived(); } // Function implementations for IfcLinearPlacement -::Ifc4x2::IfcCurve* Ifc4x2::IfcLinearPlacement::PlacementMeasuredAlong() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcCurve>(true); } +::Ifc4x2::IfcCurve* Ifc4x2::IfcLinearPlacement::PlacementMeasuredAlong() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcLinearPlacement::setPlacementMeasuredAlong(::Ifc4x2::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcDistanceExpression* Ifc4x2::IfcLinearPlacement::Distance() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcDistanceExpression>(true); } +::Ifc4x2::IfcDistanceExpression* Ifc4x2::IfcLinearPlacement::Distance() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcDistanceExpression>(true); } void Ifc4x2::IfcLinearPlacement::setDistance(::Ifc4x2::IfcDistanceExpression* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcOrientationExpression* Ifc4x2::IfcLinearPlacement::Orientation() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcOrientationExpression>(true); } +::Ifc4x2::IfcOrientationExpression* Ifc4x2::IfcLinearPlacement::Orientation() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcOrientationExpression>(true); } void Ifc4x2::IfcLinearPlacement::setOrientation(::Ifc4x2::IfcOrientationExpression* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcLinearPlacement::CartesianPosition() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcAxis2Placement3D>(true); } +::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcLinearPlacement::CartesianPosition() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcAxis2Placement3D>(true); } void Ifc4x2::IfcLinearPlacement::setCartesianPosition(::Ifc4x2::IfcAxis2Placement3D* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x2::IfcLinearPlacement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[566]); } const IfcParse::entity& Ifc4x2::IfcLinearPlacement::Class() { return *((IfcParse::entity*)IFC4X2_types[566]); } Ifc4x2::IfcLinearPlacement::IfcLinearPlacement(IfcEntityInstanceData&& e) : IfcObjectPlacement(std::move(e)) { } -Ifc4x2::IfcLinearPlacement::IfcLinearPlacement(::Ifc4x2::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x2::IfcCurve* v2_PlacementMeasuredAlong, ::Ifc4x2::IfcDistanceExpression* v3_Distance, ::Ifc4x2::IfcOrientationExpression* v4_Orientation, ::Ifc4x2::IfcAxis2Placement3D* v5_CartesianPosition) : IfcObjectPlacement(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementMeasuredAlong ? v2_PlacementMeasuredAlong->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Distance ? v3_Distance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Orientation ? v4_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_CartesianPosition ? v5_CartesianPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcLinearPlacement::IfcLinearPlacement(::Ifc4x2::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x2::IfcCurve* v2_PlacementMeasuredAlong, ::Ifc4x2::IfcDistanceExpression* v3_Distance, ::Ifc4x2::IfcOrientationExpression* v4_Orientation, ::Ifc4x2::IfcAxis2Placement3D* v5_CartesianPosition) : IfcObjectPlacement(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementMeasuredAlong ? v2_PlacementMeasuredAlong->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Distance ? v3_Distance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Orientation ? v4_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_CartesianPosition ? v5_CartesianPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLinearPositioningElement -::Ifc4x2::IfcCurve* Ifc4x2::IfcLinearPositioningElement::Axis() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x2::IfcCurve>(true); } +::Ifc4x2::IfcCurve* Ifc4x2::IfcLinearPositioningElement::Axis() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcLinearPositioningElement::setAxis(::Ifc4x2::IfcCurve* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x2::IfcLinearPositioningElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[567]); } const IfcParse::entity& Ifc4x2::IfcLinearPositioningElement::Class() { return *((IfcParse::entity*)IFC4X2_types[567]); } Ifc4x2::IfcLinearPositioningElement::IfcLinearPositioningElement(IfcEntityInstanceData&& e) : IfcPositioningElement(std::move(e)) { } -Ifc4x2::IfcLinearPositioningElement::IfcLinearPositioningElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcCurve* v8_Axis) : IfcPositioningElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_Axis ? v8_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcLinearPositioningElement::IfcLinearPositioningElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcCurve* v8_Axis) : IfcPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_Axis ? v8_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLocalPlacement -::Ifc4x2::IfcAxis2Placement* Ifc4x2::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcAxis2Placement>(true); } +::Ifc4x2::IfcAxis2Placement* Ifc4x2::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcAxis2Placement>(true); } void Ifc4x2::IfcLocalPlacement::setRelativePlacement(::Ifc4x2::IfcAxis2Placement* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcLocalPlacement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[573]); } const IfcParse::entity& Ifc4x2::IfcLocalPlacement::Class() { return *((IfcParse::entity*)IFC4X2_types[573]); } Ifc4x2::IfcLocalPlacement::IfcLocalPlacement(IfcEntityInstanceData&& e) : IfcObjectPlacement(std::move(e)) { } -Ifc4x2::IfcLocalPlacement::IfcLocalPlacement(::Ifc4x2::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x2::IfcAxis2Placement* v2_RelativePlacement) : IfcObjectPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcLocalPlacement::IfcLocalPlacement(::Ifc4x2::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x2::IfcAxis2Placement* v2_RelativePlacement) : IfcObjectPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLoop @@ -11307,56 +11307,56 @@ Ifc4x2::IfcLocalPlacement::IfcLocalPlacement(::Ifc4x2::IfcObjectPlacement* v1_Pl const IfcParse::entity& Ifc4x2::IfcLoop::declaration() const { return *((IfcParse::entity*)IFC4X2_types[576]); } const IfcParse::entity& Ifc4x2::IfcLoop::Class() { return *((IfcParse::entity*)IFC4X2_types[576]); } Ifc4x2::IfcLoop::IfcLoop(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x2::IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x2::IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcManifoldSolidBrep -::Ifc4x2::IfcClosedShell* Ifc4x2::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcClosedShell>(true); } +::Ifc4x2::IfcClosedShell* Ifc4x2::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcClosedShell>(true); } void Ifc4x2::IfcManifoldSolidBrep::setOuter(::Ifc4x2::IfcClosedShell* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x2::IfcManifoldSolidBrep::declaration() const { return *((IfcParse::entity*)IFC4X2_types[583]); } const IfcParse::entity& Ifc4x2::IfcManifoldSolidBrep::Class() { return *((IfcParse::entity*)IFC4X2_types[583]); } Ifc4x2::IfcManifoldSolidBrep::IfcManifoldSolidBrep(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x2::IfcManifoldSolidBrep::IfcManifoldSolidBrep(::Ifc4x2::IfcClosedShell* v1_Outer) : IfcSolidModel(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcManifoldSolidBrep::IfcManifoldSolidBrep(::Ifc4x2::IfcClosedShell* v1_Outer) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMapConversion -double Ifc4x2::IfcMapConversion::Eastings() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x2::IfcMapConversion::Eastings() const { double v = get_attribute_value(2); return v; } void Ifc4x2::IfcMapConversion::setEastings(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x2::IfcMapConversion::Northings() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x2::IfcMapConversion::Northings() const { double v = get_attribute_value(3); return v; } void Ifc4x2::IfcMapConversion::setNorthings(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x2::IfcMapConversion::OrthogonalHeight() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x2::IfcMapConversion::OrthogonalHeight() const { double v = get_attribute_value(4); return v; } void Ifc4x2::IfcMapConversion::setOrthogonalHeight(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< double > Ifc4x2::IfcMapConversion::XAxisAbscissa() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x2::IfcMapConversion::XAxisAbscissa() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x2::IfcMapConversion::setXAxisAbscissa(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x2::IfcMapConversion::XAxisOrdinate() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x2::IfcMapConversion::XAxisOrdinate() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x2::IfcMapConversion::setXAxisOrdinate(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x2::IfcMapConversion::Scale() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x2::IfcMapConversion::Scale() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x2::IfcMapConversion::setScale(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x2::IfcMapConversion::declaration() const { return *((IfcParse::entity*)IFC4X2_types[584]); } const IfcParse::entity& Ifc4x2::IfcMapConversion::Class() { return *((IfcParse::entity*)IFC4X2_types[584]); } Ifc4x2::IfcMapConversion::IfcMapConversion(IfcEntityInstanceData&& e) : IfcCoordinateOperation(std::move(e)) { } -Ifc4x2::IfcMapConversion::IfcMapConversion(::Ifc4x2::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x2::IfcCoordinateReferenceSystem* v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, boost::optional< double > v6_XAxisAbscissa, boost::optional< double > v7_XAxisOrdinate, boost::optional< double > v8_Scale) : IfcCoordinateOperation(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); }; populate_derived(); } +Ifc4x2::IfcMapConversion::IfcMapConversion(::Ifc4x2::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x2::IfcCoordinateReferenceSystem* v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, boost::optional< double > v6_XAxisAbscissa, boost::optional< double > v7_XAxisOrdinate, boost::optional< double > v8_Scale) : IfcCoordinateOperation(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); }; populate_derived(); } // Function implementations for IfcMappedItem -::Ifc4x2::IfcRepresentationMap* Ifc4x2::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcRepresentationMap>(true); } +::Ifc4x2::IfcRepresentationMap* Ifc4x2::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcRepresentationMap>(true); } void Ifc4x2::IfcMappedItem::setMappingSource(::Ifc4x2::IfcRepresentationMap* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcCartesianTransformationOperator* Ifc4x2::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcCartesianTransformationOperator>(true); } +::Ifc4x2::IfcCartesianTransformationOperator* Ifc4x2::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcCartesianTransformationOperator>(true); } void Ifc4x2::IfcMappedItem::setMappingTarget(::Ifc4x2::IfcCartesianTransformationOperator* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcMappedItem::declaration() const { return *((IfcParse::entity*)IFC4X2_types[585]); } const IfcParse::entity& Ifc4x2::IfcMappedItem::Class() { return *((IfcParse::entity*)IFC4X2_types[585]); } Ifc4x2::IfcMappedItem::IfcMappedItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x2::IfcMappedItem::IfcMappedItem(::Ifc4x2::IfcRepresentationMap* v1_MappingSource, ::Ifc4x2::IfcCartesianTransformationOperator* v2_MappingTarget) : IfcRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_MappingSource ? v1_MappingSource->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappingTarget ? v2_MappingTarget->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcMappedItem::IfcMappedItem(::Ifc4x2::IfcRepresentationMap* v1_MappingSource, ::Ifc4x2::IfcCartesianTransformationOperator* v2_MappingTarget) : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_MappingSource ? v1_MappingSource->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappingTarget ? v2_MappingTarget->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterial -std::string Ifc4x2::IfcMaterial::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x2::IfcMaterial::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcMaterial::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x2::IfcMaterial::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x2::IfcMaterial::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcMaterial::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x2::IfcMaterial::Category() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x2::IfcMaterial::Category() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcMaterial::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x2::IfcMaterialDefinitionRepresentation::list::ptr Ifc4x2::IfcMaterial::HasRepresentation() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[595], 3)->as(); } @@ -11366,30 +11366,30 @@ void Ifc4x2::IfcMaterial::setCategory(boost::optional< std::string > v) { if (v) const IfcParse::entity& Ifc4x2::IfcMaterial::declaration() const { return *((IfcParse::entity*)IFC4X2_types[590]); } const IfcParse::entity& Ifc4x2::IfcMaterial::Class() { return *((IfcParse::entity*)IFC4X2_types[590]); } Ifc4x2::IfcMaterial::IfcMaterial(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x2::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); }; populate_derived(); } +Ifc4x2::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); }; populate_derived(); } // Function implementations for IfcMaterialClassificationRelationship -aggregate_of< ::Ifc4x2::IfcClassificationSelect >::ptr Ifc4x2::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x2::IfcClassificationSelect >(); } +aggregate_of< ::Ifc4x2::IfcClassificationSelect >::ptr Ifc4x2::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x2::IfcClassificationSelect >(); } void Ifc4x2::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x2::IfcClassificationSelect >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcMaterial* Ifc4x2::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcMaterial>(true); } +::Ifc4x2::IfcMaterial* Ifc4x2::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcMaterial>(true); } void Ifc4x2::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4x2::IfcMaterial* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcMaterialClassificationRelationship::declaration() const { return *((IfcParse::entity*)IFC4X2_types[591]); } const IfcParse::entity& Ifc4x2::IfcMaterialClassificationRelationship::Class() { return *((IfcParse::entity*)IFC4X2_types[591]); } Ifc4x2::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x2::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x2::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_MaterialClassifications)->generalize());set_attribute_value(1, v2_ClassifiedMaterial ? v2_ClassifiedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x2::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x2::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_MaterialClassifications)->generalize());set_attribute_value(1, v2_ClassifiedMaterial ? v2_ClassifiedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialConstituent -boost::optional< std::string > Ifc4x2::IfcMaterialConstituent::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x2::IfcMaterialConstituent::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcMaterialConstituent::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x2::IfcMaterialConstituent::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x2::IfcMaterialConstituent::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcMaterialConstituent::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x2::IfcMaterial* Ifc4x2::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcMaterial>(true); } +::Ifc4x2::IfcMaterial* Ifc4x2::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcMaterial>(true); } void Ifc4x2::IfcMaterialConstituent::setMaterial(::Ifc4x2::IfcMaterial* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4x2::IfcMaterialConstituent::Fraction() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x2::IfcMaterialConstituent::Fraction() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x2::IfcMaterialConstituent::setFraction(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x2::IfcMaterialConstituent::Category() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x2::IfcMaterialConstituent::Category() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcMaterialConstituent::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } ::Ifc4x2::IfcMaterialConstituentSet::list::ptr Ifc4x2::IfcMaterialConstituent::ToMaterialConstituentSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[593], 2)->as(); } @@ -11397,21 +11397,21 @@ void Ifc4x2::IfcMaterialConstituent::setCategory(boost::optional< std::string > const IfcParse::entity& Ifc4x2::IfcMaterialConstituent::declaration() const { return *((IfcParse::entity*)IFC4X2_types[592]); } const IfcParse::entity& Ifc4x2::IfcMaterialConstituent::Class() { return *((IfcParse::entity*)IFC4X2_types[592]); } Ifc4x2::IfcMaterialConstituent::IfcMaterialConstituent(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x2::IfcMaterialConstituent::IfcMaterialConstituent(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcMaterial* v3_Material, boost::optional< double > v4_Fraction, boost::optional< std::string > v5_Category) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); }; populate_derived(); } +Ifc4x2::IfcMaterialConstituent::IfcMaterialConstituent(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcMaterial* v3_Material, boost::optional< double > v4_Fraction, boost::optional< std::string > v5_Category) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); }; populate_derived(); } // Function implementations for IfcMaterialConstituentSet -boost::optional< std::string > Ifc4x2::IfcMaterialConstituentSet::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x2::IfcMaterialConstituentSet::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcMaterialConstituentSet::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x2::IfcMaterialConstituentSet::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x2::IfcMaterialConstituentSet::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcMaterialConstituentSet::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< aggregate_of< ::Ifc4x2::IfcMaterialConstituent >::ptr > Ifc4x2::IfcMaterialConstituentSet::MaterialConstituents() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x2::IfcMaterialConstituent >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcMaterialConstituent >::ptr > Ifc4x2::IfcMaterialConstituentSet::MaterialConstituents() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x2::IfcMaterialConstituent >(); } void Ifc4x2::IfcMaterialConstituentSet::setMaterialConstituents(boost::optional< aggregate_of< ::Ifc4x2::IfcMaterialConstituent >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x2::IfcMaterialConstituentSet::declaration() const { return *((IfcParse::entity*)IFC4X2_types[593]); } const IfcParse::entity& Ifc4x2::IfcMaterialConstituentSet::Class() { return *((IfcParse::entity*)IFC4X2_types[593]); } Ifc4x2::IfcMaterialConstituentSet::IfcMaterialConstituentSet(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x2::IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x2::IfcMaterialConstituent >::ptr > v3_MaterialConstituents) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, (*v3_MaterialConstituents)->generalize()); }; populate_derived(); } +Ifc4x2::IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x2::IfcMaterialConstituent >::ptr > v3_MaterialConstituents) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, (*v3_MaterialConstituents)->generalize()); }; populate_derived(); } // Function implementations for IfcMaterialDefinition @@ -11422,32 +11422,32 @@ Ifc4x2::IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional< st const IfcParse::entity& Ifc4x2::IfcMaterialDefinition::declaration() const { return *((IfcParse::entity*)IFC4X2_types[594]); } const IfcParse::entity& Ifc4x2::IfcMaterialDefinition::Class() { return *((IfcParse::entity*)IFC4X2_types[594]); } Ifc4x2::IfcMaterialDefinition::IfcMaterialDefinition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcMaterialDefinition::IfcMaterialDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x2::IfcMaterialDefinition::IfcMaterialDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcMaterialDefinitionRepresentation -::Ifc4x2::IfcMaterial* Ifc4x2::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcMaterial>(true); } +::Ifc4x2::IfcMaterial* Ifc4x2::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcMaterial>(true); } void Ifc4x2::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(::Ifc4x2::IfcMaterial* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x2::IfcMaterialDefinitionRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X2_types[595]); } const IfcParse::entity& Ifc4x2::IfcMaterialDefinitionRepresentation::Class() { return *((IfcParse::entity*)IFC4X2_types[595]); } Ifc4x2::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(IfcEntityInstanceData&& e) : IfcProductRepresentation(std::move(e)) { } -Ifc4x2::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcRepresentation >::ptr v3_Representations, ::Ifc4x2::IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());set_attribute_value(3, v4_RepresentedMaterial ? v4_RepresentedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcRepresentation >::ptr v3_Representations, ::Ifc4x2::IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());set_attribute_value(3, v4_RepresentedMaterial ? v4_RepresentedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialLayer -::Ifc4x2::IfcMaterial* Ifc4x2::IfcMaterialLayer::Material() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcMaterial>(true); } +::Ifc4x2::IfcMaterial* Ifc4x2::IfcMaterialLayer::Material() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcMaterial>(true); } void Ifc4x2::IfcMaterialLayer::setMaterial(::Ifc4x2::IfcMaterial* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x2::IfcMaterialLayer::LayerThickness() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x2::IfcMaterialLayer::LayerThickness() const { double v = get_attribute_value(1); return v; } void Ifc4x2::IfcMaterialLayer::setLayerThickness(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< boost::logic::tribool > Ifc4x2::IfcMaterialLayer::IsVentilated() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::optional< boost::logic::tribool > Ifc4x2::IfcMaterialLayer::IsVentilated() const { if(get_attribute_value(2).isNull()) { return boost::none; } boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x2::IfcMaterialLayer::setIsVentilated(boost::optional< boost::logic::tribool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x2::IfcMaterialLayer::Name() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x2::IfcMaterialLayer::Name() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x2::IfcMaterialLayer::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x2::IfcMaterialLayer::Description() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x2::IfcMaterialLayer::Description() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcMaterialLayer::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x2::IfcMaterialLayer::Category() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x2::IfcMaterialLayer::Category() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcMaterialLayer::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< int > Ifc4x2::IfcMaterialLayer::Priority() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } int v = data_.get_attribute_value(6); return v; } +boost::optional< int > Ifc4x2::IfcMaterialLayer::Priority() const { if(get_attribute_value(6).isNull()) { return boost::none; } int v = get_attribute_value(6); return v; } void Ifc4x2::IfcMaterialLayer::setPriority(boost::optional< int > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x2::IfcMaterialLayerSet::list::ptr Ifc4x2::IfcMaterialLayer::ToMaterialLayerSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[597], 0)->as(); } @@ -11455,74 +11455,74 @@ void Ifc4x2::IfcMaterialLayer::setPriority(boost::optional< int > v) { if (v) {s const IfcParse::entity& Ifc4x2::IfcMaterialLayer::declaration() const { return *((IfcParse::entity*)IFC4X2_types[596]); } const IfcParse::entity& Ifc4x2::IfcMaterialLayer::Class() { return *((IfcParse::entity*)IFC4X2_types[596]); } Ifc4x2::IfcMaterialLayer::IfcMaterialLayer(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x2::IfcMaterialLayer::IfcMaterialLayer(::Ifc4x2::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(storage_t(7))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }; populate_derived(); } +Ifc4x2::IfcMaterialLayer::IfcMaterialLayer(::Ifc4x2::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(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }; populate_derived(); } // Function implementations for IfcMaterialLayerSet -aggregate_of< ::Ifc4x2::IfcMaterialLayer >::ptr Ifc4x2::IfcMaterialLayerSet::MaterialLayers() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x2::IfcMaterialLayer >(); } +aggregate_of< ::Ifc4x2::IfcMaterialLayer >::ptr Ifc4x2::IfcMaterialLayerSet::MaterialLayers() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x2::IfcMaterialLayer >(); } void Ifc4x2::IfcMaterialLayerSet::setMaterialLayers(aggregate_of< ::Ifc4x2::IfcMaterialLayer >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x2::IfcMaterialLayerSet::LayerSetName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x2::IfcMaterialLayerSet::LayerSetName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcMaterialLayerSet::setLayerSetName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x2::IfcMaterialLayerSet::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x2::IfcMaterialLayerSet::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcMaterialLayerSet::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x2::IfcMaterialLayerSet::declaration() const { return *((IfcParse::entity*)IFC4X2_types[597]); } const IfcParse::entity& Ifc4x2::IfcMaterialLayerSet::Class() { return *((IfcParse::entity*)IFC4X2_types[597]); } Ifc4x2::IfcMaterialLayerSet::IfcMaterialLayerSet(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x2::IfcMaterialLayerSet::IfcMaterialLayerSet(aggregate_of< ::Ifc4x2::IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName, boost::optional< std::string > v3_Description) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_MaterialLayers)->generalize()); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } +Ifc4x2::IfcMaterialLayerSet::IfcMaterialLayerSet(aggregate_of< ::Ifc4x2::IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName, boost::optional< std::string > v3_Description) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_MaterialLayers)->generalize()); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } // Function implementations for IfcMaterialLayerSetUsage -::Ifc4x2::IfcMaterialLayerSet* Ifc4x2::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcMaterialLayerSet>(true); } +::Ifc4x2::IfcMaterialLayerSet* Ifc4x2::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcMaterialLayerSet>(true); } void Ifc4x2::IfcMaterialLayerSetUsage::setForLayerSet(::Ifc4x2::IfcMaterialLayerSet* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcLayerSetDirectionEnum::Value Ifc4x2::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4x2::IfcLayerSetDirectionEnum::FromString(data_.get_attribute_value(1)); } +::Ifc4x2::IfcLayerSetDirectionEnum::Value Ifc4x2::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4x2::IfcLayerSetDirectionEnum::FromString(get_attribute_value(1)); } void Ifc4x2::IfcMaterialLayerSetUsage::setLayerSetDirection(::Ifc4x2::IfcLayerSetDirectionEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x2::IfcLayerSetDirectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcDirectionSenseEnum::Value Ifc4x2::IfcMaterialLayerSetUsage::DirectionSense() const { return ::Ifc4x2::IfcDirectionSenseEnum::FromString(data_.get_attribute_value(2)); } +::Ifc4x2::IfcDirectionSenseEnum::Value Ifc4x2::IfcMaterialLayerSetUsage::DirectionSense() const { return ::Ifc4x2::IfcDirectionSenseEnum::FromString(get_attribute_value(2)); } void Ifc4x2::IfcMaterialLayerSetUsage::setDirectionSense(::Ifc4x2::IfcDirectionSenseEnum::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x2::IfcDirectionSenseEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -double Ifc4x2::IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x2::IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { double v = get_attribute_value(3); return v; } void Ifc4x2::IfcMaterialLayerSetUsage::setOffsetFromReferenceLine(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< double > Ifc4x2::IfcMaterialLayerSetUsage::ReferenceExtent() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x2::IfcMaterialLayerSetUsage::ReferenceExtent() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x2::IfcMaterialLayerSetUsage::setReferenceExtent(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x2::IfcMaterialLayerSetUsage::declaration() const { return *((IfcParse::entity*)IFC4X2_types[598]); } const IfcParse::entity& Ifc4x2::IfcMaterialLayerSetUsage::Class() { return *((IfcParse::entity*)IFC4X2_types[598]); } Ifc4x2::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(IfcEntityInstanceData&& e) : IfcMaterialUsageDefinition(std::move(e)) { } -Ifc4x2::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(::Ifc4x2::IfcMaterialLayerSet* v1_ForLayerSet, ::Ifc4x2::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x2::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, boost::optional< double > v5_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_ForLayerSet ? v1_ForLayerSet->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x2::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (EnumerationReference(&::Ifc4x2::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); }; populate_derived(); } +Ifc4x2::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(::Ifc4x2::IfcMaterialLayerSet* v1_ForLayerSet, ::Ifc4x2::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x2::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, boost::optional< double > v5_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_ForLayerSet ? v1_ForLayerSet->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x2::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (EnumerationReference(&::Ifc4x2::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); }; populate_derived(); } // Function implementations for IfcMaterialLayerWithOffsets -::Ifc4x2::IfcLayerSetDirectionEnum::Value Ifc4x2::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4x2::IfcLayerSetDirectionEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x2::IfcLayerSetDirectionEnum::Value Ifc4x2::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4x2::IfcLayerSetDirectionEnum::FromString(get_attribute_value(7)); } void Ifc4x2::IfcMaterialLayerWithOffsets::setOffsetDirection(::Ifc4x2::IfcLayerSetDirectionEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x2::IfcLayerSetDirectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -std::vector< double > /*[1:2]*/ Ifc4x2::IfcMaterialLayerWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = data_.get_attribute_value(8); return v; } +std::vector< double > /*[1:2]*/ Ifc4x2::IfcMaterialLayerWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = get_attribute_value(8); return v; } void Ifc4x2::IfcMaterialLayerWithOffsets::setOffsetValues(std::vector< double > /*[1:2]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x2::IfcMaterialLayerWithOffsets::declaration() const { return *((IfcParse::entity*)IFC4X2_types[599]); } const IfcParse::entity& Ifc4x2::IfcMaterialLayerWithOffsets::Class() { return *((IfcParse::entity*)IFC4X2_types[599]); } Ifc4x2::IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(IfcEntityInstanceData&& e) : IfcMaterialLayer(std::move(e)) { } -Ifc4x2::IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(::Ifc4x2::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, ::Ifc4x2::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) : IfcMaterialLayer(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues));; populate_derived(); } +Ifc4x2::IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(::Ifc4x2::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, ::Ifc4x2::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) : IfcMaterialLayer(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues));; populate_derived(); } // Function implementations for IfcMaterialList -aggregate_of< ::Ifc4x2::IfcMaterial >::ptr Ifc4x2::IfcMaterialList::Materials() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x2::IfcMaterial >(); } +aggregate_of< ::Ifc4x2::IfcMaterial >::ptr Ifc4x2::IfcMaterialList::Materials() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x2::IfcMaterial >(); } void Ifc4x2::IfcMaterialList::setMaterials(aggregate_of< ::Ifc4x2::IfcMaterial >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x2::IfcMaterialList::declaration() const { return *((IfcParse::entity*)IFC4X2_types[600]); } const IfcParse::entity& Ifc4x2::IfcMaterialList::Class() { return *((IfcParse::entity*)IFC4X2_types[600]); } Ifc4x2::IfcMaterialList::IfcMaterialList(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcMaterialList::IfcMaterialList(aggregate_of< ::Ifc4x2::IfcMaterial >::ptr v1_Materials) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Materials)->generalize());; populate_derived(); } +Ifc4x2::IfcMaterialList::IfcMaterialList(aggregate_of< ::Ifc4x2::IfcMaterial >::ptr v1_Materials) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Materials)->generalize());; populate_derived(); } // Function implementations for IfcMaterialProfile -boost::optional< std::string > Ifc4x2::IfcMaterialProfile::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x2::IfcMaterialProfile::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcMaterialProfile::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x2::IfcMaterialProfile::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x2::IfcMaterialProfile::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcMaterialProfile::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x2::IfcMaterial* Ifc4x2::IfcMaterialProfile::Material() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcMaterial>(true); } +::Ifc4x2::IfcMaterial* Ifc4x2::IfcMaterialProfile::Material() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcMaterial>(true); } void Ifc4x2::IfcMaterialProfile::setMaterial(::Ifc4x2::IfcMaterial* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcProfileDef* Ifc4x2::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcProfileDef>(true); } +::Ifc4x2::IfcProfileDef* Ifc4x2::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcProfileDef>(true); } void Ifc4x2::IfcMaterialProfile::setProfile(::Ifc4x2::IfcProfileDef* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< int > Ifc4x2::IfcMaterialProfile::Priority() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x2::IfcMaterialProfile::Priority() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x2::IfcMaterialProfile::setPriority(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x2::IfcMaterialProfile::Category() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x2::IfcMaterialProfile::Category() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcMaterialProfile::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x2::IfcMaterialProfileSet::list::ptr Ifc4x2::IfcMaterialProfile::ToMaterialProfileSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[602], 2)->as(); } @@ -11530,83 +11530,83 @@ void Ifc4x2::IfcMaterialProfile::setCategory(boost::optional< std::string > v) { const IfcParse::entity& Ifc4x2::IfcMaterialProfile::declaration() const { return *((IfcParse::entity*)IFC4X2_types[601]); } const IfcParse::entity& Ifc4x2::IfcMaterialProfile::Class() { return *((IfcParse::entity*)IFC4X2_types[601]); } Ifc4x2::IfcMaterialProfile::IfcMaterialProfile(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x2::IfcMaterialProfile::IfcMaterialProfile(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcMaterial* v3_Material, ::Ifc4x2::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }; populate_derived(); } +Ifc4x2::IfcMaterialProfile::IfcMaterialProfile(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcMaterial* v3_Material, ::Ifc4x2::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }; populate_derived(); } // Function implementations for IfcMaterialProfileSet -boost::optional< std::string > Ifc4x2::IfcMaterialProfileSet::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x2::IfcMaterialProfileSet::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcMaterialProfileSet::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x2::IfcMaterialProfileSet::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x2::IfcMaterialProfileSet::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcMaterialProfileSet::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x2::IfcMaterialProfile >::ptr Ifc4x2::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x2::IfcMaterialProfile >(); } +aggregate_of< ::Ifc4x2::IfcMaterialProfile >::ptr Ifc4x2::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x2::IfcMaterialProfile >(); } void Ifc4x2::IfcMaterialProfileSet::setMaterialProfiles(aggregate_of< ::Ifc4x2::IfcMaterialProfile >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcCompositeProfileDef* Ifc4x2::IfcMaterialProfileSet::CompositeProfile() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcCompositeProfileDef>(true); } +::Ifc4x2::IfcCompositeProfileDef* Ifc4x2::IfcMaterialProfileSet::CompositeProfile() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcCompositeProfileDef>(true); } void Ifc4x2::IfcMaterialProfileSet::setCompositeProfile(::Ifc4x2::IfcCompositeProfileDef* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x2::IfcMaterialProfileSet::declaration() const { return *((IfcParse::entity*)IFC4X2_types[602]); } const IfcParse::entity& Ifc4x2::IfcMaterialProfileSet::Class() { return *((IfcParse::entity*)IFC4X2_types[602]); } Ifc4x2::IfcMaterialProfileSet::IfcMaterialProfileSet(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x2::IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcMaterialProfile >::ptr v3_MaterialProfiles, ::Ifc4x2::IfcCompositeProfileDef* v4_CompositeProfile) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_MaterialProfiles)->generalize());set_attribute_value(3, v4_CompositeProfile ? v4_CompositeProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcMaterialProfile >::ptr v3_MaterialProfiles, ::Ifc4x2::IfcCompositeProfileDef* v4_CompositeProfile) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_MaterialProfiles)->generalize());set_attribute_value(3, v4_CompositeProfile ? v4_CompositeProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialProfileSetUsage -::Ifc4x2::IfcMaterialProfileSet* Ifc4x2::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcMaterialProfileSet>(true); } +::Ifc4x2::IfcMaterialProfileSet* Ifc4x2::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcMaterialProfileSet>(true); } void Ifc4x2::IfcMaterialProfileSetUsage::setForProfileSet(::Ifc4x2::IfcMaterialProfileSet* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< int > Ifc4x2::IfcMaterialProfileSetUsage::CardinalPoint() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } int v = data_.get_attribute_value(1); return v; } +boost::optional< int > Ifc4x2::IfcMaterialProfileSetUsage::CardinalPoint() const { if(get_attribute_value(1).isNull()) { return boost::none; } int v = get_attribute_value(1); return v; } void Ifc4x2::IfcMaterialProfileSetUsage::setCardinalPoint(boost::optional< int > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x2::IfcMaterialProfileSetUsage::ReferenceExtent() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x2::IfcMaterialProfileSetUsage::ReferenceExtent() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x2::IfcMaterialProfileSetUsage::setReferenceExtent(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x2::IfcMaterialProfileSetUsage::declaration() const { return *((IfcParse::entity*)IFC4X2_types[603]); } const IfcParse::entity& Ifc4x2::IfcMaterialProfileSetUsage::Class() { return *((IfcParse::entity*)IFC4X2_types[603]); } Ifc4x2::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(IfcEntityInstanceData&& e) : IfcMaterialUsageDefinition(std::move(e)) { } -Ifc4x2::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4x2::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }; populate_derived(); } +Ifc4x2::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4x2::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }; populate_derived(); } // Function implementations for IfcMaterialProfileSetUsageTapering -::Ifc4x2::IfcMaterialProfileSet* Ifc4x2::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcMaterialProfileSet>(true); } +::Ifc4x2::IfcMaterialProfileSet* Ifc4x2::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcMaterialProfileSet>(true); } void Ifc4x2::IfcMaterialProfileSetUsageTapering::setForProfileEndSet(::Ifc4x2::IfcMaterialProfileSet* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< int > Ifc4x2::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x2::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x2::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x2::IfcMaterialProfileSetUsageTapering::declaration() const { return *((IfcParse::entity*)IFC4X2_types[604]); } const IfcParse::entity& Ifc4x2::IfcMaterialProfileSetUsageTapering::Class() { return *((IfcParse::entity*)IFC4X2_types[604]); } Ifc4x2::IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(IfcEntityInstanceData&& e) : IfcMaterialProfileSetUsage(std::move(e)) { } -Ifc4x2::IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(::Ifc4x2::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent, ::Ifc4x2::IfcMaterialProfileSet* v4_ForProfileEndSet, boost::optional< int > v5_CardinalEndPoint) : IfcMaterialProfileSetUsage(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, v4_ForProfileEndSet ? v4_ForProfileEndSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); }; populate_derived(); } +Ifc4x2::IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(::Ifc4x2::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent, ::Ifc4x2::IfcMaterialProfileSet* v4_ForProfileEndSet, boost::optional< int > v5_CardinalEndPoint) : IfcMaterialProfileSetUsage(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, v4_ForProfileEndSet ? v4_ForProfileEndSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); }; populate_derived(); } // Function implementations for IfcMaterialProfileWithOffsets -std::vector< double > /*[1:2]*/ Ifc4x2::IfcMaterialProfileWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = data_.get_attribute_value(6); return v; } +std::vector< double > /*[1:2]*/ Ifc4x2::IfcMaterialProfileWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = get_attribute_value(6); return v; } void Ifc4x2::IfcMaterialProfileWithOffsets::setOffsetValues(std::vector< double > /*[1:2]*/ v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x2::IfcMaterialProfileWithOffsets::declaration() const { return *((IfcParse::entity*)IFC4X2_types[605]); } const IfcParse::entity& Ifc4x2::IfcMaterialProfileWithOffsets::Class() { return *((IfcParse::entity*)IFC4X2_types[605]); } Ifc4x2::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(IfcEntityInstanceData&& e) : IfcMaterialProfile(std::move(e)) { } -Ifc4x2::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcMaterial* v3_Material, ::Ifc4x2::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) : IfcMaterialProfile(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues));; populate_derived(); } +Ifc4x2::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcMaterial* v3_Material, ::Ifc4x2::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) : IfcMaterialProfile(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues));; populate_derived(); } // Function implementations for IfcMaterialProperties -::Ifc4x2::IfcMaterialDefinition* Ifc4x2::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcMaterialDefinition>(true); } +::Ifc4x2::IfcMaterialDefinition* Ifc4x2::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcMaterialDefinition>(true); } void Ifc4x2::IfcMaterialProperties::setMaterial(::Ifc4x2::IfcMaterialDefinition* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x2::IfcMaterialProperties::declaration() const { return *((IfcParse::entity*)IFC4X2_types[606]); } const IfcParse::entity& Ifc4x2::IfcMaterialProperties::Class() { return *((IfcParse::entity*)IFC4X2_types[606]); } Ifc4x2::IfcMaterialProperties::IfcMaterialProperties(IfcEntityInstanceData&& e) : IfcExtendedProperties(std::move(e)) { } -Ifc4x2::IfcMaterialProperties::IfcMaterialProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcProperty >::ptr v3_Properties, ::Ifc4x2::IfcMaterialDefinition* v4_Material) : IfcExtendedProperties(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_Material ? v4_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcMaterialProperties::IfcMaterialProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcProperty >::ptr v3_Properties, ::Ifc4x2::IfcMaterialDefinition* v4_Material) : IfcExtendedProperties(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_Material ? v4_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialRelationship -::Ifc4x2::IfcMaterial* Ifc4x2::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcMaterial>(true); } +::Ifc4x2::IfcMaterial* Ifc4x2::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcMaterial>(true); } void Ifc4x2::IfcMaterialRelationship::setRelatingMaterial(::Ifc4x2::IfcMaterial* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x2::IfcMaterial >::ptr Ifc4x2::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x2::IfcMaterial >(); } +aggregate_of< ::Ifc4x2::IfcMaterial >::ptr Ifc4x2::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x2::IfcMaterial >(); } void Ifc4x2::IfcMaterialRelationship::setRelatedMaterials(aggregate_of< ::Ifc4x2::IfcMaterial >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x2::IfcMaterialRelationship::Expression() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x2::IfcMaterialRelationship::Expression() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcMaterialRelationship::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x2::IfcMaterialRelationship::declaration() const { return *((IfcParse::entity*)IFC4X2_types[607]); } const IfcParse::entity& Ifc4x2::IfcMaterialRelationship::Class() { return *((IfcParse::entity*)IFC4X2_types[607]); } Ifc4x2::IfcMaterialRelationship::IfcMaterialRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x2::IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcMaterial* v3_RelatingMaterial, aggregate_of< ::Ifc4x2::IfcMaterial >::ptr v4_RelatedMaterials, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMaterial ? v3_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedMaterials)->generalize()); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } +Ifc4x2::IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcMaterial* v3_RelatingMaterial, aggregate_of< ::Ifc4x2::IfcMaterial >::ptr v4_RelatedMaterials, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMaterial ? v3_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedMaterials)->generalize()); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } // Function implementations for IfcMaterialUsageDefinition @@ -11615,77 +11615,77 @@ Ifc4x2::IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< std::s const IfcParse::entity& Ifc4x2::IfcMaterialUsageDefinition::declaration() const { return *((IfcParse::entity*)IFC4X2_types[609]); } const IfcParse::entity& Ifc4x2::IfcMaterialUsageDefinition::Class() { return *((IfcParse::entity*)IFC4X2_types[609]); } Ifc4x2::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x2::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcMeasureWithUnit -::Ifc4x2::IfcValue* Ifc4x2::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcValue>(true); } +::Ifc4x2::IfcValue* Ifc4x2::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcValue>(true); } void Ifc4x2::IfcMeasureWithUnit::setValueComponent(::Ifc4x2::IfcValue* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcUnit* Ifc4x2::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcUnit>(true); } +::Ifc4x2::IfcUnit* Ifc4x2::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcUnit>(true); } void Ifc4x2::IfcMeasureWithUnit::setUnitComponent(::Ifc4x2::IfcUnit* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcMeasureWithUnit::declaration() const { return *((IfcParse::entity*)IFC4X2_types[611]); } const IfcParse::entity& Ifc4x2::IfcMeasureWithUnit::Class() { return *((IfcParse::entity*)IFC4X2_types[611]); } Ifc4x2::IfcMeasureWithUnit::IfcMeasureWithUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcMeasureWithUnit::IfcMeasureWithUnit(::Ifc4x2::IfcValue* v1_ValueComponent, ::Ifc4x2::IfcUnit* v2_UnitComponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_ValueComponent ? v1_ValueComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_UnitComponent ? v2_UnitComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcMeasureWithUnit::IfcMeasureWithUnit(::Ifc4x2::IfcValue* v1_ValueComponent, ::Ifc4x2::IfcUnit* v2_UnitComponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_ValueComponent ? v1_ValueComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_UnitComponent ? v2_UnitComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMechanicalFastener -boost::optional< double > Ifc4x2::IfcMechanicalFastener::NominalDiameter() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x2::IfcMechanicalFastener::NominalDiameter() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x2::IfcMechanicalFastener::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x2::IfcMechanicalFastener::NominalLength() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x2::IfcMechanicalFastener::NominalLength() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x2::IfcMechanicalFastener::setNominalLength(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x2::IfcMechanicalFastenerTypeEnum::Value > Ifc4x2::IfcMechanicalFastener::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x2::IfcMechanicalFastenerTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x2::IfcMechanicalFastenerTypeEnum::Value > Ifc4x2::IfcMechanicalFastener::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x2::IfcMechanicalFastenerTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x2::IfcMechanicalFastener::setPredefinedType(boost::optional< ::Ifc4x2::IfcMechanicalFastenerTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x2::IfcMechanicalFastenerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x2::IfcMechanicalFastener::declaration() const { return *((IfcParse::entity*)IFC4X2_types[612]); } const IfcParse::entity& Ifc4x2::IfcMechanicalFastener::Class() { return *((IfcParse::entity*)IFC4X2_types[612]); } Ifc4x2::IfcMechanicalFastener::IfcMechanicalFastener(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x2::IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength, boost::optional< ::Ifc4x2::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength, boost::optional< ::Ifc4x2::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMechanicalFastenerType -::Ifc4x2::IfcMechanicalFastenerTypeEnum::Value Ifc4x2::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x2::IfcMechanicalFastenerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcMechanicalFastenerTypeEnum::Value Ifc4x2::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x2::IfcMechanicalFastenerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcMechanicalFastenerType::setPredefinedType(::Ifc4x2::IfcMechanicalFastenerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcMechanicalFastenerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x2::IfcMechanicalFastenerType::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x2::IfcMechanicalFastenerType::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x2::IfcMechanicalFastenerType::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x2::IfcMechanicalFastenerType::NominalLength() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x2::IfcMechanicalFastenerType::NominalLength() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x2::IfcMechanicalFastenerType::setNominalLength(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x2::IfcMechanicalFastenerType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[613]); } const IfcParse::entity& Ifc4x2::IfcMechanicalFastenerType::Class() { return *((IfcParse::entity*)IFC4X2_types[613]); } Ifc4x2::IfcMechanicalFastenerType::IfcMechanicalFastenerType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x2::IfcMechanicalFastenerType::IfcMechanicalFastenerType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_NominalLength) : IfcElementComponentType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); }; populate_derived(); } +Ifc4x2::IfcMechanicalFastenerType::IfcMechanicalFastenerType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_NominalLength) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); }; populate_derived(); } // Function implementations for IfcMedicalDevice -boost::optional< ::Ifc4x2::IfcMedicalDeviceTypeEnum::Value > Ifc4x2::IfcMedicalDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcMedicalDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcMedicalDeviceTypeEnum::Value > Ifc4x2::IfcMedicalDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcMedicalDevice::setPredefinedType(boost::optional< ::Ifc4x2::IfcMedicalDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcMedicalDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcMedicalDevice::declaration() const { return *((IfcParse::entity*)IFC4X2_types[615]); } const IfcParse::entity& Ifc4x2::IfcMedicalDevice::Class() { return *((IfcParse::entity*)IFC4X2_types[615]); } Ifc4x2::IfcMedicalDevice::IfcMedicalDevice(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x2::IfcMedicalDevice::IfcMedicalDevice(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcMedicalDevice::IfcMedicalDevice(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMedicalDeviceType -::Ifc4x2::IfcMedicalDeviceTypeEnum::Value Ifc4x2::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4x2::IfcMedicalDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcMedicalDeviceTypeEnum::Value Ifc4x2::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4x2::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcMedicalDeviceType::setPredefinedType(::Ifc4x2::IfcMedicalDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcMedicalDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcMedicalDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[616]); } const IfcParse::entity& Ifc4x2::IfcMedicalDeviceType::Class() { return *((IfcParse::entity*)IFC4X2_types[616]); } Ifc4x2::IfcMedicalDeviceType::IfcMedicalDeviceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x2::IfcMedicalDeviceType::IfcMedicalDeviceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcMedicalDeviceType::IfcMedicalDeviceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMember -boost::optional< ::Ifc4x2::IfcMemberTypeEnum::Value > Ifc4x2::IfcMember::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcMemberTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcMemberTypeEnum::Value > Ifc4x2::IfcMember::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcMemberTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcMember::setPredefinedType(boost::optional< ::Ifc4x2::IfcMemberTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcMemberTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcMember::declaration() const { return *((IfcParse::entity*)IFC4X2_types[618]); } const IfcParse::entity& Ifc4x2::IfcMember::Class() { return *((IfcParse::entity*)IFC4X2_types[618]); } Ifc4x2::IfcMember::IfcMember(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x2::IfcMember::IfcMember(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcMemberTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcMember::IfcMember(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcMemberTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMemberStandardCase @@ -11693,33 +11693,33 @@ Ifc4x2::IfcMember::IfcMember(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* const IfcParse::entity& Ifc4x2::IfcMemberStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X2_types[619]); } const IfcParse::entity& Ifc4x2::IfcMemberStandardCase::Class() { return *((IfcParse::entity*)IFC4X2_types[619]); } Ifc4x2::IfcMemberStandardCase::IfcMemberStandardCase(IfcEntityInstanceData&& e) : IfcMember(std::move(e)) { } -Ifc4x2::IfcMemberStandardCase::IfcMemberStandardCase(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcMemberTypeEnum::Value > v9_PredefinedType) : IfcMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcMemberStandardCase::IfcMemberStandardCase(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcMemberTypeEnum::Value > v9_PredefinedType) : IfcMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMemberType -::Ifc4x2::IfcMemberTypeEnum::Value Ifc4x2::IfcMemberType::PredefinedType() const { return ::Ifc4x2::IfcMemberTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcMemberTypeEnum::Value Ifc4x2::IfcMemberType::PredefinedType() const { return ::Ifc4x2::IfcMemberTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcMemberType::setPredefinedType(::Ifc4x2::IfcMemberTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcMemberType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[620]); } const IfcParse::entity& Ifc4x2::IfcMemberType::Class() { return *((IfcParse::entity*)IFC4X2_types[620]); } Ifc4x2::IfcMemberType::IfcMemberType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x2::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcMemberTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcMemberTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMetric -::Ifc4x2::IfcBenchmarkEnum::Value Ifc4x2::IfcMetric::Benchmark() const { return ::Ifc4x2::IfcBenchmarkEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x2::IfcBenchmarkEnum::Value Ifc4x2::IfcMetric::Benchmark() const { return ::Ifc4x2::IfcBenchmarkEnum::FromString(get_attribute_value(7)); } void Ifc4x2::IfcMetric::setBenchmark(::Ifc4x2::IfcBenchmarkEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x2::IfcBenchmarkEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc4x2::IfcMetric::ValueSource() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x2::IfcMetric::ValueSource() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x2::IfcMetric::setValueSource(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x2::IfcMetricValueSelect* Ifc4x2::IfcMetric::DataValue() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x2::IfcMetricValueSelect>(true); } +::Ifc4x2::IfcMetricValueSelect* Ifc4x2::IfcMetric::DataValue() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x2::IfcMetricValueSelect>(true); } void Ifc4x2::IfcMetric::setDataValue(::Ifc4x2::IfcMetricValueSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4x2::IfcReference* Ifc4x2::IfcMetric::ReferencePath() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x2::IfcReference>(true); } +::Ifc4x2::IfcReference* Ifc4x2::IfcMetric::ReferencePath() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x2::IfcReference>(true); } void Ifc4x2::IfcMetric::setReferencePath(::Ifc4x2::IfcReference* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x2::IfcMetric::declaration() const { return *((IfcParse::entity*)IFC4X2_types[622]); } const IfcParse::entity& Ifc4x2::IfcMetric::Class() { return *((IfcParse::entity*)IFC4X2_types[622]); } Ifc4x2::IfcMetric::IfcMetric(IfcEntityInstanceData&& e) : IfcConstraint(std::move(e)) { } -Ifc4x2::IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x2::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, ::Ifc4x2::IfcBenchmarkEnum::Value v8_Benchmark, boost::optional< std::string > v9_ValueSource, ::Ifc4x2::IfcMetricValueSelect* v10_DataValue, ::Ifc4x2::IfcReference* v11_ReferencePath) : IfcConstraint(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, v10_DataValue ? v10_DataValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ReferencePath ? v11_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x2::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, ::Ifc4x2::IfcBenchmarkEnum::Value v8_Benchmark, boost::optional< std::string > v9_ValueSource, ::Ifc4x2::IfcMetricValueSelect* v10_DataValue, ::Ifc4x2::IfcReference* v11_ReferencePath) : IfcConstraint(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, v10_DataValue ? v10_DataValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ReferencePath ? v11_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMirroredProfileDef @@ -11727,52 +11727,52 @@ Ifc4x2::IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::string > const IfcParse::entity& Ifc4x2::IfcMirroredProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X2_types[624]); } const IfcParse::entity& Ifc4x2::IfcMirroredProfileDef::Class() { return *((IfcParse::entity*)IFC4X2_types[624]); } Ifc4x2::IfcMirroredProfileDef::IfcMirroredProfileDef(IfcEntityInstanceData&& e) : IfcDerivedProfileDef(std::move(e)) { } -Ifc4x2::IfcMirroredProfileDef::IfcMirroredProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcProfileDef* v3_ParentProfile, boost::optional< std::string > v5_Label) : IfcDerivedProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } +Ifc4x2::IfcMirroredProfileDef::IfcMirroredProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcProfileDef* v3_ParentProfile, boost::optional< std::string > v5_Label) : IfcDerivedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } // Function implementations for IfcMonetaryUnit -std::string Ifc4x2::IfcMonetaryUnit::Currency() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x2::IfcMonetaryUnit::Currency() const { std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcMonetaryUnit::setCurrency(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x2::IfcMonetaryUnit::declaration() const { return *((IfcParse::entity*)IFC4X2_types[636]); } const IfcParse::entity& Ifc4x2::IfcMonetaryUnit::Class() { return *((IfcParse::entity*)IFC4X2_types[636]); } Ifc4x2::IfcMonetaryUnit::IfcMonetaryUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcMonetaryUnit::IfcMonetaryUnit(std::string v1_Currency) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Currency));; populate_derived(); } +Ifc4x2::IfcMonetaryUnit::IfcMonetaryUnit(std::string v1_Currency) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Currency));; populate_derived(); } // Function implementations for IfcMotorConnection -boost::optional< ::Ifc4x2::IfcMotorConnectionTypeEnum::Value > Ifc4x2::IfcMotorConnection::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcMotorConnectionTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcMotorConnectionTypeEnum::Value > Ifc4x2::IfcMotorConnection::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcMotorConnection::setPredefinedType(boost::optional< ::Ifc4x2::IfcMotorConnectionTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcMotorConnectionTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcMotorConnection::declaration() const { return *((IfcParse::entity*)IFC4X2_types[638]); } const IfcParse::entity& Ifc4x2::IfcMotorConnection::Class() { return *((IfcParse::entity*)IFC4X2_types[638]); } Ifc4x2::IfcMotorConnection::IfcMotorConnection(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x2::IfcMotorConnection::IfcMotorConnection(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcMotorConnection::IfcMotorConnection(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMotorConnectionType -::Ifc4x2::IfcMotorConnectionTypeEnum::Value Ifc4x2::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4x2::IfcMotorConnectionTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcMotorConnectionTypeEnum::Value Ifc4x2::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4x2::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcMotorConnectionType::setPredefinedType(::Ifc4x2::IfcMotorConnectionTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcMotorConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcMotorConnectionType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[639]); } const IfcParse::entity& Ifc4x2::IfcMotorConnectionType::Class() { return *((IfcParse::entity*)IFC4X2_types[639]); } Ifc4x2::IfcMotorConnectionType::IfcMotorConnectionType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x2::IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcNamedUnit -::Ifc4x2::IfcDimensionalExponents* Ifc4x2::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcDimensionalExponents>(true); } +::Ifc4x2::IfcDimensionalExponents* Ifc4x2::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcDimensionalExponents>(true); } void Ifc4x2::IfcNamedUnit::setDimensions(::Ifc4x2::IfcDimensionalExponents* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcUnitEnum::Value Ifc4x2::IfcNamedUnit::UnitType() const { return ::Ifc4x2::IfcUnitEnum::FromString(data_.get_attribute_value(1)); } +::Ifc4x2::IfcUnitEnum::Value Ifc4x2::IfcNamedUnit::UnitType() const { return ::Ifc4x2::IfcUnitEnum::FromString(get_attribute_value(1)); } void Ifc4x2::IfcNamedUnit::setUnitType(::Ifc4x2::IfcUnitEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x2::IfcUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcNamedUnit::declaration() const { return *((IfcParse::entity*)IFC4X2_types[641]); } const IfcParse::entity& Ifc4x2::IfcNamedUnit::Class() { return *((IfcParse::entity*)IFC4X2_types[641]); } Ifc4x2::IfcNamedUnit::IfcNamedUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcNamedUnit::IfcNamedUnit(::Ifc4x2::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x2::IfcUnitEnum::Value v2_UnitType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; populate_derived(); } +Ifc4x2::IfcNamedUnit::IfcNamedUnit(::Ifc4x2::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x2::IfcUnitEnum::Value v2_UnitType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; populate_derived(); } // Function implementations for IfcObject -boost::optional< std::string > Ifc4x2::IfcObject::ObjectType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x2::IfcObject::ObjectType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcObject::setObjectType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } ::Ifc4x2::IfcRelDefinesByObject::list::ptr Ifc4x2::IfcObject::IsDeclaredBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[867], 4)->as(); } @@ -11783,7 +11783,7 @@ void Ifc4x2::IfcObject::setObjectType(boost::optional< std::string > v) { if (v) const IfcParse::entity& Ifc4x2::IfcObject::declaration() const { return *((IfcParse::entity*)IFC4X2_types[646]); } const IfcParse::entity& Ifc4x2::IfcObject::Class() { return *((IfcParse::entity*)IFC4X2_types[646]); } Ifc4x2::IfcObject::IfcObject(IfcEntityInstanceData&& e) : IfcObjectDefinition(std::move(e)) { } -Ifc4x2::IfcObject::IfcObject(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObjectDefinition(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc4x2::IfcObject::IfcObject(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObjectDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcObjectDefinition @@ -11798,10 +11798,10 @@ Ifc4x2::IfcObject::IfcObject(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* const IfcParse::entity& Ifc4x2::IfcObjectDefinition::declaration() const { return *((IfcParse::entity*)IFC4X2_types[647]); } const IfcParse::entity& Ifc4x2::IfcObjectDefinition::Class() { return *((IfcParse::entity*)IFC4X2_types[647]); } Ifc4x2::IfcObjectDefinition::IfcObjectDefinition(IfcEntityInstanceData&& e) : IfcRoot(std::move(e)) { } -Ifc4x2::IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x2::IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcObjectPlacement -::Ifc4x2::IfcObjectPlacement* Ifc4x2::IfcObjectPlacement::PlacementRelTo() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcObjectPlacement>(true); } +::Ifc4x2::IfcObjectPlacement* Ifc4x2::IfcObjectPlacement::PlacementRelTo() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcObjectPlacement>(true); } void Ifc4x2::IfcObjectPlacement::setPlacementRelTo(::Ifc4x2::IfcObjectPlacement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } ::Ifc4x2::IfcProduct::list::ptr Ifc4x2::IfcObjectPlacement::PlacesObject() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[746], 5)->as(); } @@ -11809,81 +11809,81 @@ void Ifc4x2::IfcObjectPlacement::setPlacementRelTo(::Ifc4x2::IfcObjectPlacement* const IfcParse::entity& Ifc4x2::IfcObjectPlacement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[650]); } const IfcParse::entity& Ifc4x2::IfcObjectPlacement::Class() { return *((IfcParse::entity*)IFC4X2_types[650]); } Ifc4x2::IfcObjectPlacement::IfcObjectPlacement(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcObjectPlacement::IfcObjectPlacement(::Ifc4x2::IfcObjectPlacement* v1_PlacementRelTo) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcObjectPlacement::IfcObjectPlacement(::Ifc4x2::IfcObjectPlacement* v1_PlacementRelTo) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcObjective -boost::optional< aggregate_of< ::Ifc4x2::IfcConstraint >::ptr > Ifc4x2::IfcObjective::BenchmarkValues() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x2::IfcConstraint >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcConstraint >::ptr > Ifc4x2::IfcObjective::BenchmarkValues() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x2::IfcConstraint >(); } void Ifc4x2::IfcObjective::setBenchmarkValues(boost::optional< aggregate_of< ::Ifc4x2::IfcConstraint >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x2::IfcLogicalOperatorEnum::Value > Ifc4x2::IfcObjective::LogicalAggregator() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcLogicalOperatorEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcLogicalOperatorEnum::Value > Ifc4x2::IfcObjective::LogicalAggregator() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcLogicalOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcObjective::setLogicalAggregator(boost::optional< ::Ifc4x2::IfcLogicalOperatorEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcLogicalOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -::Ifc4x2::IfcObjectiveEnum::Value Ifc4x2::IfcObjective::ObjectiveQualifier() const { return ::Ifc4x2::IfcObjectiveEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcObjectiveEnum::Value Ifc4x2::IfcObjective::ObjectiveQualifier() const { return ::Ifc4x2::IfcObjectiveEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcObjective::setObjectiveQualifier(::Ifc4x2::IfcObjectiveEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcObjectiveEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x2::IfcObjective::UserDefinedQualifier() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x2::IfcObjective::UserDefinedQualifier() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x2::IfcObjective::setUserDefinedQualifier(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x2::IfcObjective::declaration() const { return *((IfcParse::entity*)IFC4X2_types[648]); } const IfcParse::entity& Ifc4x2::IfcObjective::Class() { return *((IfcParse::entity*)IFC4X2_types[648]); } Ifc4x2::IfcObjective::IfcObjective(IfcEntityInstanceData&& e) : IfcConstraint(std::move(e)) { } -Ifc4x2::IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x2::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, boost::optional< aggregate_of< ::Ifc4x2::IfcConstraint >::ptr > v8_BenchmarkValues, boost::optional< ::Ifc4x2::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x2::IfcObjectiveEnum::Value v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier) : IfcConstraint(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, (*v8_BenchmarkValues)->generalize()); } if (v9_LogicalAggregator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; populate_derived(); } +Ifc4x2::IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x2::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, boost::optional< aggregate_of< ::Ifc4x2::IfcConstraint >::ptr > v8_BenchmarkValues, boost::optional< ::Ifc4x2::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x2::IfcObjectiveEnum::Value v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier) : IfcConstraint(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, (*v8_BenchmarkValues)->generalize()); } if (v9_LogicalAggregator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; populate_derived(); } // Function implementations for IfcOccupant -boost::optional< ::Ifc4x2::IfcOccupantTypeEnum::Value > Ifc4x2::IfcOccupant::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x2::IfcOccupantTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x2::IfcOccupantTypeEnum::Value > Ifc4x2::IfcOccupant::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x2::IfcOccupantTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x2::IfcOccupant::setPredefinedType(boost::optional< ::Ifc4x2::IfcOccupantTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x2::IfcOccupantTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x2::IfcOccupant::declaration() const { return *((IfcParse::entity*)IFC4X2_types[653]); } const IfcParse::entity& Ifc4x2::IfcOccupant::Class() { return *((IfcParse::entity*)IFC4X2_types[653]); } Ifc4x2::IfcOccupant::IfcOccupant(IfcEntityInstanceData&& e) : IfcActor(std::move(e)) { } -Ifc4x2::IfcOccupant::IfcOccupant(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcActorSelect* v6_TheActor, boost::optional< ::Ifc4x2::IfcOccupantTypeEnum::Value > v7_PredefinedType) : IfcActor(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x2::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcOccupant::IfcOccupant(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcActorSelect* v6_TheActor, boost::optional< ::Ifc4x2::IfcOccupantTypeEnum::Value > v7_PredefinedType) : IfcActor(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x2::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOffsetCurve -::Ifc4x2::IfcCurve* Ifc4x2::IfcOffsetCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcCurve>(true); } +::Ifc4x2::IfcCurve* Ifc4x2::IfcOffsetCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcOffsetCurve::setBasisCurve(::Ifc4x2::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x2::IfcOffsetCurve::declaration() const { return *((IfcParse::entity*)IFC4X2_types[655]); } const IfcParse::entity& Ifc4x2::IfcOffsetCurve::Class() { return *((IfcParse::entity*)IFC4X2_types[655]); } Ifc4x2::IfcOffsetCurve::IfcOffsetCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x2::IfcOffsetCurve::IfcOffsetCurve(::Ifc4x2::IfcCurve* v1_BasisCurve) : IfcCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcOffsetCurve::IfcOffsetCurve(::Ifc4x2::IfcCurve* v1_BasisCurve) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcOffsetCurve2D -double Ifc4x2::IfcOffsetCurve2D::Distance() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x2::IfcOffsetCurve2D::Distance() const { double v = get_attribute_value(1); return v; } void Ifc4x2::IfcOffsetCurve2D::setDistance(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::logic::tribool Ifc4x2::IfcOffsetCurve2D::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::logic::tribool Ifc4x2::IfcOffsetCurve2D::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x2::IfcOffsetCurve2D::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x2::IfcOffsetCurve2D::declaration() const { return *((IfcParse::entity*)IFC4X2_types[656]); } const IfcParse::entity& Ifc4x2::IfcOffsetCurve2D::Class() { return *((IfcParse::entity*)IFC4X2_types[656]); } Ifc4x2::IfcOffsetCurve2D::IfcOffsetCurve2D(IfcEntityInstanceData&& e) : IfcOffsetCurve(std::move(e)) { } -Ifc4x2::IfcOffsetCurve2D::IfcOffsetCurve2D(::Ifc4x2::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) : IfcOffsetCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; populate_derived(); } +Ifc4x2::IfcOffsetCurve2D::IfcOffsetCurve2D(::Ifc4x2::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) : IfcOffsetCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; populate_derived(); } // Function implementations for IfcOffsetCurve3D -double Ifc4x2::IfcOffsetCurve3D::Distance() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x2::IfcOffsetCurve3D::Distance() const { double v = get_attribute_value(1); return v; } void Ifc4x2::IfcOffsetCurve3D::setDistance(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::logic::tribool Ifc4x2::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::logic::tribool Ifc4x2::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x2::IfcOffsetCurve3D::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcDirection* Ifc4x2::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcDirection>(true); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcOffsetCurve3D::setRefDirection(::Ifc4x2::IfcDirection* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x2::IfcOffsetCurve3D::declaration() const { return *((IfcParse::entity*)IFC4X2_types[657]); } const IfcParse::entity& Ifc4x2::IfcOffsetCurve3D::Class() { return *((IfcParse::entity*)IFC4X2_types[657]); } Ifc4x2::IfcOffsetCurve3D::IfcOffsetCurve3D(IfcEntityInstanceData&& e) : IfcOffsetCurve(std::move(e)) { } -Ifc4x2::IfcOffsetCurve3D::IfcOffsetCurve3D(::Ifc4x2::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x2::IfcDirection* v4_RefDirection) : IfcOffsetCurve(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, v4_RefDirection ? v4_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcOffsetCurve3D::IfcOffsetCurve3D(::Ifc4x2::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x2::IfcDirection* v4_RefDirection) : IfcOffsetCurve(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, v4_RefDirection ? v4_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcOffsetCurveByDistances -aggregate_of< ::Ifc4x2::IfcDistanceExpression >::ptr Ifc4x2::IfcOffsetCurveByDistances::OffsetValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x2::IfcDistanceExpression >(); } +aggregate_of< ::Ifc4x2::IfcDistanceExpression >::ptr Ifc4x2::IfcOffsetCurveByDistances::OffsetValues() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x2::IfcDistanceExpression >(); } void Ifc4x2::IfcOffsetCurveByDistances::setOffsetValues(aggregate_of< ::Ifc4x2::IfcDistanceExpression >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x2::IfcOffsetCurveByDistances::Tag() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x2::IfcOffsetCurveByDistances::Tag() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcOffsetCurveByDistances::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x2::IfcOffsetCurveByDistances::declaration() const { return *((IfcParse::entity*)IFC4X2_types[658]); } const IfcParse::entity& Ifc4x2::IfcOffsetCurveByDistances::Class() { return *((IfcParse::entity*)IFC4X2_types[658]); } Ifc4x2::IfcOffsetCurveByDistances::IfcOffsetCurveByDistances(IfcEntityInstanceData&& e) : IfcOffsetCurve(std::move(e)) { } -Ifc4x2::IfcOffsetCurveByDistances::IfcOffsetCurveByDistances(::Ifc4x2::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x2::IfcDistanceExpression >::ptr v2_OffsetValues, boost::optional< std::string > v3_Tag) : IfcOffsetCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_OffsetValues)->generalize()); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; populate_derived(); } +Ifc4x2::IfcOffsetCurveByDistances::IfcOffsetCurveByDistances(::Ifc4x2::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x2::IfcDistanceExpression >::ptr v2_OffsetValues, boost::optional< std::string > v3_Tag) : IfcOffsetCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_OffsetValues)->generalize()); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; populate_derived(); } // Function implementations for IfcOpenShell @@ -11891,10 +11891,10 @@ Ifc4x2::IfcOffsetCurveByDistances::IfcOffsetCurveByDistances(::Ifc4x2::IfcCurve* const IfcParse::entity& Ifc4x2::IfcOpenShell::declaration() const { return *((IfcParse::entity*)IFC4X2_types[662]); } const IfcParse::entity& Ifc4x2::IfcOpenShell::Class() { return *((IfcParse::entity*)IFC4X2_types[662]); } Ifc4x2::IfcOpenShell::IfcOpenShell(IfcEntityInstanceData&& e) : IfcConnectedFaceSet(std::move(e)) { } -Ifc4x2::IfcOpenShell::IfcOpenShell(aggregate_of< ::Ifc4x2::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc4x2::IfcOpenShell::IfcOpenShell(aggregate_of< ::Ifc4x2::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcOpeningElement -boost::optional< ::Ifc4x2::IfcOpeningElementTypeEnum::Value > Ifc4x2::IfcOpeningElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcOpeningElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcOpeningElementTypeEnum::Value > Ifc4x2::IfcOpeningElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcOpeningElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4x2::IfcOpeningElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcOpeningElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x2::IfcRelFillsElement::list::ptr Ifc4x2::IfcOpeningElement::HasFillings() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[871], 4)->as(); } @@ -11902,7 +11902,7 @@ void Ifc4x2::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4x2::Ifc const IfcParse::entity& Ifc4x2::IfcOpeningElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[659]); } const IfcParse::entity& Ifc4x2::IfcOpeningElement::Class() { return *((IfcParse::entity*)IFC4X2_types[659]); } Ifc4x2::IfcOpeningElement::IfcOpeningElement(IfcEntityInstanceData&& e) : IfcFeatureElementSubtraction(std::move(e)) { } -Ifc4x2::IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOpeningStandardCase @@ -11910,18 +11910,18 @@ Ifc4x2::IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, ::Ifc4x2:: const IfcParse::entity& Ifc4x2::IfcOpeningStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X2_types[661]); } const IfcParse::entity& Ifc4x2::IfcOpeningStandardCase::Class() { return *((IfcParse::entity*)IFC4X2_types[661]); } Ifc4x2::IfcOpeningStandardCase::IfcOpeningStandardCase(IfcEntityInstanceData&& e) : IfcOpeningElement(std::move(e)) { } -Ifc4x2::IfcOpeningStandardCase::IfcOpeningStandardCase(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) : IfcOpeningElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcOpeningStandardCase::IfcOpeningStandardCase(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) : IfcOpeningElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOrganization -boost::optional< std::string > Ifc4x2::IfcOrganization::Identification() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x2::IfcOrganization::Identification() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcOrganization::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -std::string Ifc4x2::IfcOrganization::Name() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x2::IfcOrganization::Name() const { std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcOrganization::setName(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x2::IfcOrganization::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x2::IfcOrganization::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcOrganization::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< aggregate_of< ::Ifc4x2::IfcActorRole >::ptr > Ifc4x2::IfcOrganization::Roles() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x2::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcActorRole >::ptr > Ifc4x2::IfcOrganization::Roles() const { if(get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x2::IfcActorRole >(); } void Ifc4x2::IfcOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x2::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(3, (*v)->generalize());} else {unset_attribute_value(3);} } -boost::optional< aggregate_of< ::Ifc4x2::IfcAddress >::ptr > Ifc4x2::IfcOrganization::Addresses() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x2::IfcAddress >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcAddress >::ptr > Ifc4x2::IfcOrganization::Addresses() const { if(get_attribute_value(4).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x2::IfcAddress >(); } void Ifc4x2::IfcOrganization::setAddresses(boost::optional< aggregate_of< ::Ifc4x2::IfcAddress >::ptr > v) { if (v) {set_attribute_value(4, (*v)->generalize());} else {unset_attribute_value(4);} } ::Ifc4x2::IfcOrganizationRelationship::list::ptr Ifc4x2::IfcOrganization::IsRelatedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[664], 3)->as(); } @@ -11931,43 +11931,43 @@ void Ifc4x2::IfcOrganization::setAddresses(boost::optional< aggregate_of< ::Ifc4 const IfcParse::entity& Ifc4x2::IfcOrganization::declaration() const { return *((IfcParse::entity*)IFC4X2_types[663]); } const IfcParse::entity& Ifc4x2::IfcOrganization::Class() { return *((IfcParse::entity*)IFC4X2_types[663]); } Ifc4x2::IfcOrganization::IfcOrganization(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcOrganization::IfcOrganization(boost::optional< std::string > v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc4x2::IfcActorRole >::ptr > v4_Roles, boost::optional< aggregate_of< ::Ifc4x2::IfcAddress >::ptr > v5_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, (*v4_Roles)->generalize()); } if (v5_Addresses) {set_attribute_value(4, (*v5_Addresses)->generalize()); }; populate_derived(); } +Ifc4x2::IfcOrganization::IfcOrganization(boost::optional< std::string > v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc4x2::IfcActorRole >::ptr > v4_Roles, boost::optional< aggregate_of< ::Ifc4x2::IfcAddress >::ptr > v5_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, (*v4_Roles)->generalize()); } if (v5_Addresses) {set_attribute_value(4, (*v5_Addresses)->generalize()); }; populate_derived(); } // Function implementations for IfcOrganizationRelationship -::Ifc4x2::IfcOrganization* Ifc4x2::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcOrganization>(true); } +::Ifc4x2::IfcOrganization* Ifc4x2::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcOrganization>(true); } void Ifc4x2::IfcOrganizationRelationship::setRelatingOrganization(::Ifc4x2::IfcOrganization* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x2::IfcOrganization >::ptr Ifc4x2::IfcOrganizationRelationship::RelatedOrganizations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x2::IfcOrganization >(); } +aggregate_of< ::Ifc4x2::IfcOrganization >::ptr Ifc4x2::IfcOrganizationRelationship::RelatedOrganizations() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x2::IfcOrganization >(); } void Ifc4x2::IfcOrganizationRelationship::setRelatedOrganizations(aggregate_of< ::Ifc4x2::IfcOrganization >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x2::IfcOrganizationRelationship::declaration() const { return *((IfcParse::entity*)IFC4X2_types[664]); } const IfcParse::entity& Ifc4x2::IfcOrganizationRelationship::Class() { return *((IfcParse::entity*)IFC4X2_types[664]); } Ifc4x2::IfcOrganizationRelationship::IfcOrganizationRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x2::IfcOrganizationRelationship::IfcOrganizationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcOrganization* v3_RelatingOrganization, aggregate_of< ::Ifc4x2::IfcOrganization >::ptr v4_RelatedOrganizations) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingOrganization ? v3_RelatingOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedOrganizations)->generalize());; populate_derived(); } +Ifc4x2::IfcOrganizationRelationship::IfcOrganizationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcOrganization* v3_RelatingOrganization, aggregate_of< ::Ifc4x2::IfcOrganization >::ptr v4_RelatedOrganizations) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingOrganization ? v3_RelatingOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedOrganizations)->generalize());; populate_derived(); } // Function implementations for IfcOrientationExpression -::Ifc4x2::IfcDirection* Ifc4x2::IfcOrientationExpression::LateralAxisDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcDirection>(true); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcOrientationExpression::LateralAxisDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcOrientationExpression::setLateralAxisDirection(::Ifc4x2::IfcDirection* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcDirection* Ifc4x2::IfcOrientationExpression::VerticalAxisDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcDirection>(true); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcOrientationExpression::VerticalAxisDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcOrientationExpression::setVerticalAxisDirection(::Ifc4x2::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcOrientationExpression::declaration() const { return *((IfcParse::entity*)IFC4X2_types[665]); } const IfcParse::entity& Ifc4x2::IfcOrientationExpression::Class() { return *((IfcParse::entity*)IFC4X2_types[665]); } Ifc4x2::IfcOrientationExpression::IfcOrientationExpression(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x2::IfcOrientationExpression::IfcOrientationExpression(::Ifc4x2::IfcDirection* v1_LateralAxisDirection, ::Ifc4x2::IfcDirection* v2_VerticalAxisDirection) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_LateralAxisDirection ? v1_LateralAxisDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_VerticalAxisDirection ? v2_VerticalAxisDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcOrientationExpression::IfcOrientationExpression(::Ifc4x2::IfcDirection* v1_LateralAxisDirection, ::Ifc4x2::IfcDirection* v2_VerticalAxisDirection) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_LateralAxisDirection ? v1_LateralAxisDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_VerticalAxisDirection ? v2_VerticalAxisDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcOrientedEdge -::Ifc4x2::IfcEdge* Ifc4x2::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcEdge>(true); } +::Ifc4x2::IfcEdge* Ifc4x2::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcEdge>(true); } void Ifc4x2::IfcOrientedEdge::setEdgeElement(::Ifc4x2::IfcEdge* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x2::IfcOrientedEdge::Orientation() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x2::IfcOrientedEdge::Orientation() const { bool v = get_attribute_value(3); return v; } void Ifc4x2::IfcOrientedEdge::setOrientation(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x2::IfcOrientedEdge::declaration() const { return *((IfcParse::entity*)IFC4X2_types[666]); } const IfcParse::entity& Ifc4x2::IfcOrientedEdge::Class() { return *((IfcParse::entity*)IFC4X2_types[666]); } Ifc4x2::IfcOrientedEdge::IfcOrientedEdge(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc4x2::IfcOrientedEdge::IfcOrientedEdge(::Ifc4x2::IfcEdge* v3_EdgeElement, bool v4_Orientation) : IfcEdge(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(2, v3_EdgeElement ? v3_EdgeElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Orientation));; populate_derived(); } +Ifc4x2::IfcOrientedEdge::IfcOrientedEdge(::Ifc4x2::IfcEdge* v3_EdgeElement, bool v4_Orientation) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(2, v3_EdgeElement ? v3_EdgeElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Orientation));; populate_derived(); } // Function implementations for IfcOuterBoundaryCurve @@ -11975,144 +11975,144 @@ Ifc4x2::IfcOrientedEdge::IfcOrientedEdge(::Ifc4x2::IfcEdge* v3_EdgeElement, bool const IfcParse::entity& Ifc4x2::IfcOuterBoundaryCurve::declaration() const { return *((IfcParse::entity*)IFC4X2_types[667]); } const IfcParse::entity& Ifc4x2::IfcOuterBoundaryCurve::Class() { return *((IfcParse::entity*)IFC4X2_types[667]); } Ifc4x2::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(IfcEntityInstanceData&& e) : IfcBoundaryCurve(std::move(e)) { } -Ifc4x2::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(aggregate_of< ::Ifc4x2::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundaryCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x2::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(aggregate_of< ::Ifc4x2::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundaryCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcOutlet -boost::optional< ::Ifc4x2::IfcOutletTypeEnum::Value > Ifc4x2::IfcOutlet::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcOutletTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcOutletTypeEnum::Value > Ifc4x2::IfcOutlet::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcOutletTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcOutlet::setPredefinedType(boost::optional< ::Ifc4x2::IfcOutletTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcOutletTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcOutlet::declaration() const { return *((IfcParse::entity*)IFC4X2_types[668]); } const IfcParse::entity& Ifc4x2::IfcOutlet::Class() { return *((IfcParse::entity*)IFC4X2_types[668]); } Ifc4x2::IfcOutlet::IfcOutlet(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x2::IfcOutlet::IfcOutlet(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcOutletTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcOutlet::IfcOutlet(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcOutletTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOutletType -::Ifc4x2::IfcOutletTypeEnum::Value Ifc4x2::IfcOutletType::PredefinedType() const { return ::Ifc4x2::IfcOutletTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcOutletTypeEnum::Value Ifc4x2::IfcOutletType::PredefinedType() const { return ::Ifc4x2::IfcOutletTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcOutletType::setPredefinedType(::Ifc4x2::IfcOutletTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcOutletTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcOutletType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[669]); } const IfcParse::entity& Ifc4x2::IfcOutletType::Class() { return *((IfcParse::entity*)IFC4X2_types[669]); } Ifc4x2::IfcOutletType::IfcOutletType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x2::IfcOutletType::IfcOutletType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcOutletTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcOutletType::IfcOutletType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcOutletTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcOwnerHistory -::Ifc4x2::IfcPersonAndOrganization* Ifc4x2::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcPersonAndOrganization>(true); } +::Ifc4x2::IfcPersonAndOrganization* Ifc4x2::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcPersonAndOrganization>(true); } void Ifc4x2::IfcOwnerHistory::setOwningUser(::Ifc4x2::IfcPersonAndOrganization* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcApplication* Ifc4x2::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcApplication>(true); } +::Ifc4x2::IfcApplication* Ifc4x2::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcApplication>(true); } void Ifc4x2::IfcOwnerHistory::setOwningApplication(::Ifc4x2::IfcApplication* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< ::Ifc4x2::IfcStateEnum::Value > Ifc4x2::IfcOwnerHistory::State() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x2::IfcStateEnum::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc4x2::IfcStateEnum::Value > Ifc4x2::IfcOwnerHistory::State() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x2::IfcStateEnum::FromString(get_attribute_value(2)); } void Ifc4x2::IfcOwnerHistory::setState(boost::optional< ::Ifc4x2::IfcStateEnum::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc4x2::IfcStateEnum::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -boost::optional< ::Ifc4x2::IfcChangeActionEnum::Value > Ifc4x2::IfcOwnerHistory::ChangeAction() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x2::IfcChangeActionEnum::FromString(data_.get_attribute_value(3)); } +boost::optional< ::Ifc4x2::IfcChangeActionEnum::Value > Ifc4x2::IfcOwnerHistory::ChangeAction() const { if(get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x2::IfcChangeActionEnum::FromString(get_attribute_value(3)); } void Ifc4x2::IfcOwnerHistory::setChangeAction(boost::optional< ::Ifc4x2::IfcChangeActionEnum::Value > v) { if (v) {set_attribute_value(3, EnumerationReference(&::Ifc4x2::IfcChangeActionEnum::Class(), (size_t) *v));} else {unset_attribute_value(3);} } -boost::optional< int > Ifc4x2::IfcOwnerHistory::LastModifiedDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x2::IfcOwnerHistory::LastModifiedDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x2::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x2::IfcPersonAndOrganization* Ifc4x2::IfcOwnerHistory::LastModifyingUser() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcPersonAndOrganization>(true); } +::Ifc4x2::IfcPersonAndOrganization* Ifc4x2::IfcOwnerHistory::LastModifyingUser() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcPersonAndOrganization>(true); } void Ifc4x2::IfcOwnerHistory::setLastModifyingUser(::Ifc4x2::IfcPersonAndOrganization* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x2::IfcApplication* Ifc4x2::IfcOwnerHistory::LastModifyingApplication() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x2::IfcApplication>(true); } +::Ifc4x2::IfcApplication* Ifc4x2::IfcOwnerHistory::LastModifyingApplication() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x2::IfcApplication>(true); } void Ifc4x2::IfcOwnerHistory::setLastModifyingApplication(::Ifc4x2::IfcApplication* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -int Ifc4x2::IfcOwnerHistory::CreationDate() const { int v = data_.get_attribute_value(7); return v; } +int Ifc4x2::IfcOwnerHistory::CreationDate() const { int v = get_attribute_value(7); return v; } void Ifc4x2::IfcOwnerHistory::setCreationDate(int v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x2::IfcOwnerHistory::declaration() const { return *((IfcParse::entity*)IFC4X2_types[671]); } const IfcParse::entity& Ifc4x2::IfcOwnerHistory::Class() { return *((IfcParse::entity*)IFC4X2_types[671]); } Ifc4x2::IfcOwnerHistory::IfcOwnerHistory(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcOwnerHistory::IfcOwnerHistory(::Ifc4x2::IfcPersonAndOrganization* v1_OwningUser, ::Ifc4x2::IfcApplication* v2_OwningApplication, boost::optional< ::Ifc4x2::IfcStateEnum::Value > v3_State, boost::optional< ::Ifc4x2::IfcChangeActionEnum::Value > v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, ::Ifc4x2::IfcPersonAndOrganization* v6_LastModifyingUser, ::Ifc4x2::IfcApplication* v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, v1_OwningUser ? v1_OwningUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OwningApplication ? v2_OwningApplication->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_State) {set_attribute_value(2, (EnumerationReference(&::Ifc4x2::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (EnumerationReference(&::Ifc4x2::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, v6_LastModifyingUser ? v6_LastModifyingUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_LastModifyingApplication ? v7_LastModifyingApplication->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_CreationDate));; populate_derived(); } +Ifc4x2::IfcOwnerHistory::IfcOwnerHistory(::Ifc4x2::IfcPersonAndOrganization* v1_OwningUser, ::Ifc4x2::IfcApplication* v2_OwningApplication, boost::optional< ::Ifc4x2::IfcStateEnum::Value > v3_State, boost::optional< ::Ifc4x2::IfcChangeActionEnum::Value > v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, ::Ifc4x2::IfcPersonAndOrganization* v6_LastModifyingUser, ::Ifc4x2::IfcApplication* v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, v1_OwningUser ? v1_OwningUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OwningApplication ? v2_OwningApplication->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_State) {set_attribute_value(2, (EnumerationReference(&::Ifc4x2::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (EnumerationReference(&::Ifc4x2::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, v6_LastModifyingUser ? v6_LastModifyingUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_LastModifyingApplication ? v7_LastModifyingApplication->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_CreationDate));; populate_derived(); } // Function implementations for IfcParameterizedProfileDef -::Ifc4x2::IfcAxis2Placement2D* Ifc4x2::IfcParameterizedProfileDef::Position() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcAxis2Placement2D>(true); } +::Ifc4x2::IfcAxis2Placement2D* Ifc4x2::IfcParameterizedProfileDef::Position() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcAxis2Placement2D>(true); } void Ifc4x2::IfcParameterizedProfileDef::setPosition(::Ifc4x2::IfcAxis2Placement2D* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x2::IfcParameterizedProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X2_types[672]); } const IfcParse::entity& Ifc4x2::IfcParameterizedProfileDef::Class() { return *((IfcParse::entity*)IFC4X2_types[672]); } Ifc4x2::IfcParameterizedProfileDef::IfcParameterizedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x2::IfcParameterizedProfileDef::IfcParameterizedProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D* v3_Position) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcParameterizedProfileDef::IfcParameterizedProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D* v3_Position) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPath -aggregate_of< ::Ifc4x2::IfcOrientedEdge >::ptr Ifc4x2::IfcPath::EdgeList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x2::IfcOrientedEdge >(); } +aggregate_of< ::Ifc4x2::IfcOrientedEdge >::ptr Ifc4x2::IfcPath::EdgeList() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x2::IfcOrientedEdge >(); } void Ifc4x2::IfcPath::setEdgeList(aggregate_of< ::Ifc4x2::IfcOrientedEdge >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x2::IfcPath::declaration() const { return *((IfcParse::entity*)IFC4X2_types[674]); } const IfcParse::entity& Ifc4x2::IfcPath::Class() { return *((IfcParse::entity*)IFC4X2_types[674]); } Ifc4x2::IfcPath::IfcPath(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x2::IfcPath::IfcPath(aggregate_of< ::Ifc4x2::IfcOrientedEdge >::ptr v1_EdgeList) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } +Ifc4x2::IfcPath::IfcPath(aggregate_of< ::Ifc4x2::IfcOrientedEdge >::ptr v1_EdgeList) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } // Function implementations for IfcPcurve -::Ifc4x2::IfcSurface* Ifc4x2::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcSurface>(true); } +::Ifc4x2::IfcSurface* Ifc4x2::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcSurface>(true); } void Ifc4x2::IfcPcurve::setBasisSurface(::Ifc4x2::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcCurve* Ifc4x2::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcCurve>(true); } +::Ifc4x2::IfcCurve* Ifc4x2::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcPcurve::setReferenceCurve(::Ifc4x2::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcPcurve::declaration() const { return *((IfcParse::entity*)IFC4X2_types[675]); } const IfcParse::entity& Ifc4x2::IfcPcurve::Class() { return *((IfcParse::entity*)IFC4X2_types[675]); } Ifc4x2::IfcPcurve::IfcPcurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x2::IfcPcurve::IfcPcurve(::Ifc4x2::IfcSurface* v1_BasisSurface, ::Ifc4x2::IfcCurve* v2_ReferenceCurve) : IfcCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_ReferenceCurve ? v2_ReferenceCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcPcurve::IfcPcurve(::Ifc4x2::IfcSurface* v1_BasisSurface, ::Ifc4x2::IfcCurve* v2_ReferenceCurve) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_ReferenceCurve ? v2_ReferenceCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPerformanceHistory -std::string Ifc4x2::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = data_.get_attribute_value(6); return v; } +std::string Ifc4x2::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = get_attribute_value(6); return v; } void Ifc4x2::IfcPerformanceHistory::setLifeCyclePhase(std::string v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< ::Ifc4x2::IfcPerformanceHistoryTypeEnum::Value > Ifc4x2::IfcPerformanceHistory::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x2::IfcPerformanceHistoryTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x2::IfcPerformanceHistoryTypeEnum::Value > Ifc4x2::IfcPerformanceHistory::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x2::IfcPerformanceHistoryTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x2::IfcPerformanceHistory::setPredefinedType(boost::optional< ::Ifc4x2::IfcPerformanceHistoryTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x2::IfcPerformanceHistoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x2::IfcPerformanceHistory::declaration() const { return *((IfcParse::entity*)IFC4X2_types[676]); } const IfcParse::entity& Ifc4x2::IfcPerformanceHistory::Class() { return *((IfcParse::entity*)IFC4X2_types[676]); } Ifc4x2::IfcPerformanceHistory::IfcPerformanceHistory(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x2::IfcPerformanceHistory::IfcPerformanceHistory(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, boost::optional< ::Ifc4x2::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) : IfcControl(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcPerformanceHistory::IfcPerformanceHistory(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, boost::optional< ::Ifc4x2::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPermeableCoveringProperties -::Ifc4x2::IfcPermeableCoveringOperationEnum::Value Ifc4x2::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4x2::IfcPermeableCoveringOperationEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x2::IfcPermeableCoveringOperationEnum::Value Ifc4x2::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4x2::IfcPermeableCoveringOperationEnum::FromString(get_attribute_value(4)); } void Ifc4x2::IfcPermeableCoveringProperties::setOperationType(::Ifc4x2::IfcPermeableCoveringOperationEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x2::IfcPermeableCoveringOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcWindowPanelPositionEnum::Value Ifc4x2::IfcPermeableCoveringProperties::PanelPosition() const { return ::Ifc4x2::IfcWindowPanelPositionEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x2::IfcWindowPanelPositionEnum::Value Ifc4x2::IfcPermeableCoveringProperties::PanelPosition() const { return ::Ifc4x2::IfcWindowPanelPositionEnum::FromString(get_attribute_value(5)); } void Ifc4x2::IfcPermeableCoveringProperties::setPanelPosition(::Ifc4x2::IfcWindowPanelPositionEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x2::IfcWindowPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x2::IfcPermeableCoveringProperties::FrameDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x2::IfcPermeableCoveringProperties::FrameDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x2::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x2::IfcPermeableCoveringProperties::FrameThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x2::IfcPermeableCoveringProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x2::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x2::IfcShapeAspect* Ifc4x2::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x2::IfcShapeAspect>(true); } +::Ifc4x2::IfcShapeAspect* Ifc4x2::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x2::IfcShapeAspect>(true); } void Ifc4x2::IfcPermeableCoveringProperties::setShapeAspectStyle(::Ifc4x2::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x2::IfcPermeableCoveringProperties::declaration() const { return *((IfcParse::entity*)IFC4X2_types[679]); } const IfcParse::entity& Ifc4x2::IfcPermeableCoveringProperties::Class() { return *((IfcParse::entity*)IFC4X2_types[679]); } Ifc4x2::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x2::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x2::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x2::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x2::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x2::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPermit -boost::optional< ::Ifc4x2::IfcPermitTypeEnum::Value > Ifc4x2::IfcPermit::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x2::IfcPermitTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x2::IfcPermitTypeEnum::Value > Ifc4x2::IfcPermit::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x2::IfcPermitTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x2::IfcPermit::setPredefinedType(boost::optional< ::Ifc4x2::IfcPermitTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x2::IfcPermitTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x2::IfcPermit::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x2::IfcPermit::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x2::IfcPermit::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x2::IfcPermit::LongDescription() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x2::IfcPermit::LongDescription() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x2::IfcPermit::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcPermit::declaration() const { return *((IfcParse::entity*)IFC4X2_types[680]); } const IfcParse::entity& Ifc4x2::IfcPermit::Class() { return *((IfcParse::entity*)IFC4X2_types[680]); } Ifc4x2::IfcPermit::IfcPermit(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x2::IfcPermit::IfcPermit(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x2::IfcPermitTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x2::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } +Ifc4x2::IfcPermit::IfcPermit(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x2::IfcPermitTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x2::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } // Function implementations for IfcPerson -boost::optional< std::string > Ifc4x2::IfcPerson::Identification() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x2::IfcPerson::Identification() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcPerson::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x2::IfcPerson::FamilyName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x2::IfcPerson::FamilyName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcPerson::setFamilyName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x2::IfcPerson::GivenName() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x2::IfcPerson::GivenName() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcPerson::setGivenName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcPerson::MiddleNames() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcPerson::MiddleNames() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x2::IfcPerson::setMiddleNames(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcPerson::PrefixTitles() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcPerson::PrefixTitles() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x2::IfcPerson::setPrefixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcPerson::SuffixTitles() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(5); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcPerson::SuffixTitles() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(5); return v; } void Ifc4x2::IfcPerson::setSuffixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< aggregate_of< ::Ifc4x2::IfcActorRole >::ptr > Ifc4x2::IfcPerson::Roles() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x2::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcActorRole >::ptr > Ifc4x2::IfcPerson::Roles() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x2::IfcActorRole >(); } void Ifc4x2::IfcPerson::setRoles(boost::optional< aggregate_of< ::Ifc4x2::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x2::IfcAddress >::ptr > Ifc4x2::IfcPerson::Addresses() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x2::IfcAddress >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcAddress >::ptr > Ifc4x2::IfcPerson::Addresses() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x2::IfcAddress >(); } void Ifc4x2::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4x2::IfcAddress >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } ::Ifc4x2::IfcPersonAndOrganization::list::ptr Ifc4x2::IfcPerson::EngagedIn() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[683], 0)->as(); } @@ -12120,42 +12120,42 @@ void Ifc4x2::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4x2::If const IfcParse::entity& Ifc4x2::IfcPerson::declaration() const { return *((IfcParse::entity*)IFC4X2_types[682]); } const IfcParse::entity& Ifc4x2::IfcPerson::Class() { return *((IfcParse::entity*)IFC4X2_types[682]); } Ifc4x2::IfcPerson::IfcPerson(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcPerson::IfcPerson(boost::optional< std::string > v1_Identification, boost::optional< std::string > v2_FamilyName, boost::optional< std::string > v3_GivenName, boost::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, boost::optional< aggregate_of< ::Ifc4x2::IfcActorRole >::ptr > v7_Roles, boost::optional< aggregate_of< ::Ifc4x2::IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, (*v7_Roles)->generalize()); } if (v8_Addresses) {set_attribute_value(7, (*v8_Addresses)->generalize()); }; populate_derived(); } +Ifc4x2::IfcPerson::IfcPerson(boost::optional< std::string > v1_Identification, boost::optional< std::string > v2_FamilyName, boost::optional< std::string > v3_GivenName, boost::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, boost::optional< aggregate_of< ::Ifc4x2::IfcActorRole >::ptr > v7_Roles, boost::optional< aggregate_of< ::Ifc4x2::IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, (*v7_Roles)->generalize()); } if (v8_Addresses) {set_attribute_value(7, (*v8_Addresses)->generalize()); }; populate_derived(); } // Function implementations for IfcPersonAndOrganization -::Ifc4x2::IfcPerson* Ifc4x2::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcPerson>(true); } +::Ifc4x2::IfcPerson* Ifc4x2::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcPerson>(true); } void Ifc4x2::IfcPersonAndOrganization::setThePerson(::Ifc4x2::IfcPerson* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcOrganization* Ifc4x2::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcOrganization>(true); } +::Ifc4x2::IfcOrganization* Ifc4x2::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcOrganization>(true); } void Ifc4x2::IfcPersonAndOrganization::setTheOrganization(::Ifc4x2::IfcOrganization* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< aggregate_of< ::Ifc4x2::IfcActorRole >::ptr > Ifc4x2::IfcPersonAndOrganization::Roles() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x2::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcActorRole >::ptr > Ifc4x2::IfcPersonAndOrganization::Roles() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x2::IfcActorRole >(); } void Ifc4x2::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x2::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x2::IfcPersonAndOrganization::declaration() const { return *((IfcParse::entity*)IFC4X2_types[683]); } const IfcParse::entity& Ifc4x2::IfcPersonAndOrganization::Class() { return *((IfcParse::entity*)IFC4X2_types[683]); } Ifc4x2::IfcPersonAndOrganization::IfcPersonAndOrganization(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcPersonAndOrganization::IfcPersonAndOrganization(::Ifc4x2::IfcPerson* v1_ThePerson, ::Ifc4x2::IfcOrganization* v2_TheOrganization, boost::optional< aggregate_of< ::Ifc4x2::IfcActorRole >::ptr > v3_Roles) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_ThePerson ? v1_ThePerson->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TheOrganization ? v2_TheOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Roles) {set_attribute_value(2, (*v3_Roles)->generalize()); }; populate_derived(); } +Ifc4x2::IfcPersonAndOrganization::IfcPersonAndOrganization(::Ifc4x2::IfcPerson* v1_ThePerson, ::Ifc4x2::IfcOrganization* v2_TheOrganization, boost::optional< aggregate_of< ::Ifc4x2::IfcActorRole >::ptr > v3_Roles) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_ThePerson ? v1_ThePerson->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TheOrganization ? v2_TheOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Roles) {set_attribute_value(2, (*v3_Roles)->generalize()); }; populate_derived(); } // Function implementations for IfcPhysicalComplexQuantity -aggregate_of< ::Ifc4x2::IfcPhysicalQuantity >::ptr Ifc4x2::IfcPhysicalComplexQuantity::HasQuantities() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x2::IfcPhysicalQuantity >(); } +aggregate_of< ::Ifc4x2::IfcPhysicalQuantity >::ptr Ifc4x2::IfcPhysicalComplexQuantity::HasQuantities() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x2::IfcPhysicalQuantity >(); } void Ifc4x2::IfcPhysicalComplexQuantity::setHasQuantities(aggregate_of< ::Ifc4x2::IfcPhysicalQuantity >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -std::string Ifc4x2::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x2::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = get_attribute_value(3); return v; } void Ifc4x2::IfcPhysicalComplexQuantity::setDiscrimination(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x2::IfcPhysicalComplexQuantity::Quality() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x2::IfcPhysicalComplexQuantity::Quality() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcPhysicalComplexQuantity::setQuality(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x2::IfcPhysicalComplexQuantity::Usage() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x2::IfcPhysicalComplexQuantity::Usage() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcPhysicalComplexQuantity::setUsage(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x2::IfcPhysicalComplexQuantity::declaration() const { return *((IfcParse::entity*)IFC4X2_types[685]); } const IfcParse::entity& Ifc4x2::IfcPhysicalComplexQuantity::Class() { return *((IfcParse::entity*)IFC4X2_types[685]); } Ifc4x2::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(IfcEntityInstanceData&& e) : IfcPhysicalQuantity(std::move(e)) { } -Ifc4x2::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcPhysicalQuantity >::ptr v3_HasQuantities, std::string v4_Discrimination, boost::optional< std::string > v5_Quality, boost::optional< std::string > v6_Usage) : IfcPhysicalQuantity(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_HasQuantities)->generalize());set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; populate_derived(); } +Ifc4x2::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcPhysicalQuantity >::ptr v3_HasQuantities, std::string v4_Discrimination, boost::optional< std::string > v5_Quality, boost::optional< std::string > v6_Usage) : IfcPhysicalQuantity(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_HasQuantities)->generalize());set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; populate_derived(); } // Function implementations for IfcPhysicalQuantity -std::string Ifc4x2::IfcPhysicalQuantity::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x2::IfcPhysicalQuantity::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcPhysicalQuantity::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x2::IfcPhysicalQuantity::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x2::IfcPhysicalQuantity::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcPhysicalQuantity::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x2::IfcExternalReferenceRelationship::list::ptr Ifc4x2::IfcPhysicalQuantity::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[407], 3)->as(); } @@ -12164,127 +12164,127 @@ void Ifc4x2::IfcPhysicalQuantity::setDescription(boost::optional< std::string > const IfcParse::entity& Ifc4x2::IfcPhysicalQuantity::declaration() const { return *((IfcParse::entity*)IFC4X2_types[687]); } const IfcParse::entity& Ifc4x2::IfcPhysicalQuantity::Class() { return *((IfcParse::entity*)IFC4X2_types[687]); } Ifc4x2::IfcPhysicalQuantity::IfcPhysicalQuantity(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4x2::IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcPhysicalSimpleQuantity -::Ifc4x2::IfcNamedUnit* Ifc4x2::IfcPhysicalSimpleQuantity::Unit() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcNamedUnit>(true); } +::Ifc4x2::IfcNamedUnit* Ifc4x2::IfcPhysicalSimpleQuantity::Unit() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcNamedUnit>(true); } void Ifc4x2::IfcPhysicalSimpleQuantity::setUnit(::Ifc4x2::IfcNamedUnit* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x2::IfcPhysicalSimpleQuantity::declaration() const { return *((IfcParse::entity*)IFC4X2_types[688]); } const IfcParse::entity& Ifc4x2::IfcPhysicalSimpleQuantity::Class() { return *((IfcParse::entity*)IFC4X2_types[688]); } Ifc4x2::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(IfcEntityInstanceData&& e) : IfcPhysicalQuantity(std::move(e)) { } -Ifc4x2::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPile -boost::optional< ::Ifc4x2::IfcPileTypeEnum::Value > Ifc4x2::IfcPile::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcPileTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcPileTypeEnum::Value > Ifc4x2::IfcPile::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcPileTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcPile::setPredefinedType(boost::optional< ::Ifc4x2::IfcPileTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcPileTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< ::Ifc4x2::IfcPileConstructionEnum::Value > Ifc4x2::IfcPile::ConstructionType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x2::IfcPileConstructionEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x2::IfcPileConstructionEnum::Value > Ifc4x2::IfcPile::ConstructionType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x2::IfcPileConstructionEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcPile::setConstructionType(boost::optional< ::Ifc4x2::IfcPileConstructionEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcPileConstructionEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x2::IfcPile::declaration() const { return *((IfcParse::entity*)IFC4X2_types[689]); } const IfcParse::entity& Ifc4x2::IfcPile::Class() { return *((IfcParse::entity*)IFC4X2_types[689]); } Ifc4x2::IfcPile::IfcPile(IfcEntityInstanceData&& e) : IfcDeepFoundation(std::move(e)) { } -Ifc4x2::IfcPile::IfcPile(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcPileTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x2::IfcPileConstructionEnum::Value > v10_ConstructionType) : IfcDeepFoundation(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; populate_derived(); } +Ifc4x2::IfcPile::IfcPile(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcPileTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x2::IfcPileConstructionEnum::Value > v10_ConstructionType) : IfcDeepFoundation(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; populate_derived(); } // Function implementations for IfcPileType -::Ifc4x2::IfcPileTypeEnum::Value Ifc4x2::IfcPileType::PredefinedType() const { return ::Ifc4x2::IfcPileTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcPileTypeEnum::Value Ifc4x2::IfcPileType::PredefinedType() const { return ::Ifc4x2::IfcPileTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcPileType::setPredefinedType(::Ifc4x2::IfcPileTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcPileTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcPileType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[691]); } const IfcParse::entity& Ifc4x2::IfcPileType::Class() { return *((IfcParse::entity*)IFC4X2_types[691]); } Ifc4x2::IfcPileType::IfcPileType(IfcEntityInstanceData&& e) : IfcDeepFoundationType(std::move(e)) { } -Ifc4x2::IfcPileType::IfcPileType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcPileTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcPileType::IfcPileType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcPileTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPipeFitting -boost::optional< ::Ifc4x2::IfcPipeFittingTypeEnum::Value > Ifc4x2::IfcPipeFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcPipeFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcPipeFittingTypeEnum::Value > Ifc4x2::IfcPipeFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcPipeFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcPipeFitting::setPredefinedType(boost::optional< ::Ifc4x2::IfcPipeFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcPipeFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcPipeFitting::declaration() const { return *((IfcParse::entity*)IFC4X2_types[693]); } const IfcParse::entity& Ifc4x2::IfcPipeFitting::Class() { return *((IfcParse::entity*)IFC4X2_types[693]); } Ifc4x2::IfcPipeFitting::IfcPipeFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x2::IfcPipeFitting::IfcPipeFitting(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcPipeFitting::IfcPipeFitting(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPipeFittingType -::Ifc4x2::IfcPipeFittingTypeEnum::Value Ifc4x2::IfcPipeFittingType::PredefinedType() const { return ::Ifc4x2::IfcPipeFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcPipeFittingTypeEnum::Value Ifc4x2::IfcPipeFittingType::PredefinedType() const { return ::Ifc4x2::IfcPipeFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcPipeFittingType::setPredefinedType(::Ifc4x2::IfcPipeFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcPipeFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcPipeFittingType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[694]); } const IfcParse::entity& Ifc4x2::IfcPipeFittingType::Class() { return *((IfcParse::entity*)IFC4X2_types[694]); } Ifc4x2::IfcPipeFittingType::IfcPipeFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x2::IfcPipeFittingType::IfcPipeFittingType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcPipeFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcPipeFittingType::IfcPipeFittingType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcPipeFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPipeSegment -boost::optional< ::Ifc4x2::IfcPipeSegmentTypeEnum::Value > Ifc4x2::IfcPipeSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcPipeSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcPipeSegmentTypeEnum::Value > Ifc4x2::IfcPipeSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcPipeSegment::setPredefinedType(boost::optional< ::Ifc4x2::IfcPipeSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcPipeSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcPipeSegment::declaration() const { return *((IfcParse::entity*)IFC4X2_types[696]); } const IfcParse::entity& Ifc4x2::IfcPipeSegment::Class() { return *((IfcParse::entity*)IFC4X2_types[696]); } Ifc4x2::IfcPipeSegment::IfcPipeSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x2::IfcPipeSegment::IfcPipeSegment(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcPipeSegment::IfcPipeSegment(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPipeSegmentType -::Ifc4x2::IfcPipeSegmentTypeEnum::Value Ifc4x2::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4x2::IfcPipeSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcPipeSegmentTypeEnum::Value Ifc4x2::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4x2::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcPipeSegmentType::setPredefinedType(::Ifc4x2::IfcPipeSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcPipeSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcPipeSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[697]); } const IfcParse::entity& Ifc4x2::IfcPipeSegmentType::Class() { return *((IfcParse::entity*)IFC4X2_types[697]); } Ifc4x2::IfcPipeSegmentType::IfcPipeSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x2::IfcPipeSegmentType::IfcPipeSegmentType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcPipeSegmentType::IfcPipeSegmentType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPixelTexture -int Ifc4x2::IfcPixelTexture::Width() const { int v = data_.get_attribute_value(5); return v; } +int Ifc4x2::IfcPixelTexture::Width() const { int v = get_attribute_value(5); return v; } void Ifc4x2::IfcPixelTexture::setWidth(int v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -int Ifc4x2::IfcPixelTexture::Height() const { int v = data_.get_attribute_value(6); return v; } +int Ifc4x2::IfcPixelTexture::Height() const { int v = get_attribute_value(6); return v; } void Ifc4x2::IfcPixelTexture::setHeight(int v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -int Ifc4x2::IfcPixelTexture::ColourComponents() const { int v = data_.get_attribute_value(7); return v; } +int Ifc4x2::IfcPixelTexture::ColourComponents() const { int v = get_attribute_value(7); return v; } void Ifc4x2::IfcPixelTexture::setColourComponents(int v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector< boost::dynamic_bitset<> > /*[1:?]*/ Ifc4x2::IfcPixelTexture::Pixel() const { std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< boost::dynamic_bitset<> > /*[1:?]*/ Ifc4x2::IfcPixelTexture::Pixel() const { std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v = get_attribute_value(8); return v; } void Ifc4x2::IfcPixelTexture::setPixel(std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x2::IfcPixelTexture::declaration() const { return *((IfcParse::entity*)IFC4X2_types[699]); } const IfcParse::entity& Ifc4x2::IfcPixelTexture::Class() { return *((IfcParse::entity*)IFC4X2_types[699]); } Ifc4x2::IfcPixelTexture::IfcPixelTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -Ifc4x2::IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x2::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) : IfcSurfaceTexture(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel));; populate_derived(); } +Ifc4x2::IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x2::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) : IfcSurfaceTexture(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel));; populate_derived(); } // Function implementations for IfcPlacement -::Ifc4x2::IfcCartesianPoint* Ifc4x2::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcCartesianPoint>(true); } +::Ifc4x2::IfcCartesianPoint* Ifc4x2::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcCartesianPoint>(true); } void Ifc4x2::IfcPlacement::setLocation(::Ifc4x2::IfcCartesianPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x2::IfcPlacement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[700]); } const IfcParse::entity& Ifc4x2::IfcPlacement::Class() { return *((IfcParse::entity*)IFC4X2_types[700]); } Ifc4x2::IfcPlacement::IfcPlacement(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x2::IfcPlacement::IfcPlacement(::Ifc4x2::IfcCartesianPoint* v1_Location) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcPlacement::IfcPlacement(::Ifc4x2::IfcCartesianPoint* v1_Location) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlanarBox -::Ifc4x2::IfcAxis2Placement* Ifc4x2::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcAxis2Placement>(true); } +::Ifc4x2::IfcAxis2Placement* Ifc4x2::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcAxis2Placement>(true); } void Ifc4x2::IfcPlanarBox::setPlacement(::Ifc4x2::IfcAxis2Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x2::IfcPlanarBox::declaration() const { return *((IfcParse::entity*)IFC4X2_types[701]); } const IfcParse::entity& Ifc4x2::IfcPlanarBox::Class() { return *((IfcParse::entity*)IFC4X2_types[701]); } Ifc4x2::IfcPlanarBox::IfcPlanarBox(IfcEntityInstanceData&& e) : IfcPlanarExtent(std::move(e)) { } -Ifc4x2::IfcPlanarBox::IfcPlanarBox(double v1_SizeInX, double v2_SizeInY, ::Ifc4x2::IfcAxis2Placement* v3_Placement) : IfcPlanarExtent(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, v3_Placement ? v3_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcPlanarBox::IfcPlanarBox(double v1_SizeInX, double v2_SizeInY, ::Ifc4x2::IfcAxis2Placement* v3_Placement) : IfcPlanarExtent(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, v3_Placement ? v3_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlanarExtent -double Ifc4x2::IfcPlanarExtent::SizeInX() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x2::IfcPlanarExtent::SizeInX() const { double v = get_attribute_value(0); return v; } void Ifc4x2::IfcPlanarExtent::setSizeInX(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc4x2::IfcPlanarExtent::SizeInY() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x2::IfcPlanarExtent::SizeInY() const { double v = get_attribute_value(1); return v; } void Ifc4x2::IfcPlanarExtent::setSizeInY(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcPlanarExtent::declaration() const { return *((IfcParse::entity*)IFC4X2_types[702]); } const IfcParse::entity& Ifc4x2::IfcPlanarExtent::Class() { return *((IfcParse::entity*)IFC4X2_types[702]); } Ifc4x2::IfcPlanarExtent::IfcPlanarExtent(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x2::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeInY) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; populate_derived(); } +Ifc4x2::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeInY) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; populate_derived(); } // Function implementations for IfcPlane @@ -12292,17 +12292,17 @@ Ifc4x2::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeInY) : const IfcParse::entity& Ifc4x2::IfcPlane::declaration() const { return *((IfcParse::entity*)IFC4X2_types[704]); } const IfcParse::entity& Ifc4x2::IfcPlane::Class() { return *((IfcParse::entity*)IFC4X2_types[704]); } Ifc4x2::IfcPlane::IfcPlane(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x2::IfcPlane::IfcPlane(::Ifc4x2::IfcAxis2Placement3D* v1_Position) : IfcElementarySurface(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcPlane::IfcPlane(::Ifc4x2::IfcAxis2Placement3D* v1_Position) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlate -boost::optional< ::Ifc4x2::IfcPlateTypeEnum::Value > Ifc4x2::IfcPlate::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcPlateTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcPlateTypeEnum::Value > Ifc4x2::IfcPlate::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcPlateTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcPlate::setPredefinedType(boost::optional< ::Ifc4x2::IfcPlateTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcPlateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcPlate::declaration() const { return *((IfcParse::entity*)IFC4X2_types[706]); } const IfcParse::entity& Ifc4x2::IfcPlate::Class() { return *((IfcParse::entity*)IFC4X2_types[706]); } Ifc4x2::IfcPlate::IfcPlate(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x2::IfcPlate::IfcPlate(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcPlateTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcPlate::IfcPlate(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcPlateTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPlateStandardCase @@ -12310,17 +12310,17 @@ Ifc4x2::IfcPlate::IfcPlate(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v const IfcParse::entity& Ifc4x2::IfcPlateStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X2_types[707]); } const IfcParse::entity& Ifc4x2::IfcPlateStandardCase::Class() { return *((IfcParse::entity*)IFC4X2_types[707]); } Ifc4x2::IfcPlateStandardCase::IfcPlateStandardCase(IfcEntityInstanceData&& e) : IfcPlate(std::move(e)) { } -Ifc4x2::IfcPlateStandardCase::IfcPlateStandardCase(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcPlateTypeEnum::Value > v9_PredefinedType) : IfcPlate(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcPlateStandardCase::IfcPlateStandardCase(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcPlateTypeEnum::Value > v9_PredefinedType) : IfcPlate(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPlateType -::Ifc4x2::IfcPlateTypeEnum::Value Ifc4x2::IfcPlateType::PredefinedType() const { return ::Ifc4x2::IfcPlateTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcPlateTypeEnum::Value Ifc4x2::IfcPlateType::PredefinedType() const { return ::Ifc4x2::IfcPlateTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcPlateType::setPredefinedType(::Ifc4x2::IfcPlateTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcPlateTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcPlateType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[708]); } const IfcParse::entity& Ifc4x2::IfcPlateType::Class() { return *((IfcParse::entity*)IFC4X2_types[708]); } Ifc4x2::IfcPlateType::IfcPlateType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x2::IfcPlateType::IfcPlateType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcPlateTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcPlateType::IfcPlateType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcPlateTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPoint @@ -12328,79 +12328,79 @@ Ifc4x2::IfcPlateType::IfcPlateType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHi const IfcParse::entity& Ifc4x2::IfcPoint::declaration() const { return *((IfcParse::entity*)IFC4X2_types[710]); } const IfcParse::entity& Ifc4x2::IfcPoint::Class() { return *((IfcParse::entity*)IFC4X2_types[710]); } Ifc4x2::IfcPoint::IfcPoint(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x2::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x2::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPointOnCurve -::Ifc4x2::IfcCurve* Ifc4x2::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcCurve>(true); } +::Ifc4x2::IfcCurve* Ifc4x2::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcPointOnCurve::setBasisCurve(::Ifc4x2::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x2::IfcPointOnCurve::PointParameter() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x2::IfcPointOnCurve::PointParameter() const { double v = get_attribute_value(1); return v; } void Ifc4x2::IfcPointOnCurve::setPointParameter(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcPointOnCurve::declaration() const { return *((IfcParse::entity*)IFC4X2_types[711]); } const IfcParse::entity& Ifc4x2::IfcPointOnCurve::Class() { return *((IfcParse::entity*)IFC4X2_types[711]); } Ifc4x2::IfcPointOnCurve::IfcPointOnCurve(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x2::IfcPointOnCurve::IfcPointOnCurve(::Ifc4x2::IfcCurve* v1_BasisCurve, double v2_PointParameter) : IfcPoint(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameter));; populate_derived(); } +Ifc4x2::IfcPointOnCurve::IfcPointOnCurve(::Ifc4x2::IfcCurve* v1_BasisCurve, double v2_PointParameter) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameter));; populate_derived(); } // Function implementations for IfcPointOnSurface -::Ifc4x2::IfcSurface* Ifc4x2::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcSurface>(true); } +::Ifc4x2::IfcSurface* Ifc4x2::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcSurface>(true); } void Ifc4x2::IfcPointOnSurface::setBasisSurface(::Ifc4x2::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x2::IfcPointOnSurface::PointParameterU() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x2::IfcPointOnSurface::PointParameterU() const { double v = get_attribute_value(1); return v; } void Ifc4x2::IfcPointOnSurface::setPointParameterU(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x2::IfcPointOnSurface::PointParameterV() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x2::IfcPointOnSurface::PointParameterV() const { double v = get_attribute_value(2); return v; } void Ifc4x2::IfcPointOnSurface::setPointParameterV(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x2::IfcPointOnSurface::declaration() const { return *((IfcParse::entity*)IFC4X2_types[712]); } const IfcParse::entity& Ifc4x2::IfcPointOnSurface::Class() { return *((IfcParse::entity*)IFC4X2_types[712]); } Ifc4x2::IfcPointOnSurface::IfcPointOnSurface(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x2::IfcPointOnSurface::IfcPointOnSurface(::Ifc4x2::IfcSurface* v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) : IfcPoint(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; populate_derived(); } +Ifc4x2::IfcPointOnSurface::IfcPointOnSurface(::Ifc4x2::IfcSurface* v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; populate_derived(); } // Function implementations for IfcPolyLoop -aggregate_of< ::Ifc4x2::IfcCartesianPoint >::ptr Ifc4x2::IfcPolyLoop::Polygon() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x2::IfcCartesianPoint >(); } +aggregate_of< ::Ifc4x2::IfcCartesianPoint >::ptr Ifc4x2::IfcPolyLoop::Polygon() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x2::IfcCartesianPoint >(); } void Ifc4x2::IfcPolyLoop::setPolygon(aggregate_of< ::Ifc4x2::IfcCartesianPoint >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x2::IfcPolyLoop::declaration() const { return *((IfcParse::entity*)IFC4X2_types[717]); } const IfcParse::entity& Ifc4x2::IfcPolyLoop::Class() { return *((IfcParse::entity*)IFC4X2_types[717]); } Ifc4x2::IfcPolyLoop::IfcPolyLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc4x2::IfcPolyLoop::IfcPolyLoop(aggregate_of< ::Ifc4x2::IfcCartesianPoint >::ptr v1_Polygon) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Polygon)->generalize());; populate_derived(); } +Ifc4x2::IfcPolyLoop::IfcPolyLoop(aggregate_of< ::Ifc4x2::IfcCartesianPoint >::ptr v1_Polygon) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Polygon)->generalize());; populate_derived(); } // Function implementations for IfcPolygonalBoundedHalfSpace -::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcAxis2Placement3D>(true); } +::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcAxis2Placement3D>(true); } void Ifc4x2::IfcPolygonalBoundedHalfSpace::setPosition(::Ifc4x2::IfcAxis2Placement3D* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcBoundedCurve* Ifc4x2::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcBoundedCurve>(true); } +::Ifc4x2::IfcBoundedCurve* Ifc4x2::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcBoundedCurve>(true); } void Ifc4x2::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(::Ifc4x2::IfcBoundedCurve* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x2::IfcPolygonalBoundedHalfSpace::declaration() const { return *((IfcParse::entity*)IFC4X2_types[714]); } const IfcParse::entity& Ifc4x2::IfcPolygonalBoundedHalfSpace::Class() { return *((IfcParse::entity*)IFC4X2_types[714]); } Ifc4x2::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(IfcEntityInstanceData&& e) : IfcHalfSpaceSolid(std::move(e)) { } -Ifc4x2::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(::Ifc4x2::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x2::IfcAxis2Placement3D* v3_Position, ::Ifc4x2::IfcBoundedCurve* v4_PolygonalBoundary) : IfcHalfSpaceSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PolygonalBoundary ? v4_PolygonalBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(::Ifc4x2::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x2::IfcAxis2Placement3D* v3_Position, ::Ifc4x2::IfcBoundedCurve* v4_PolygonalBoundary) : IfcHalfSpaceSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PolygonalBoundary ? v4_PolygonalBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPolygonalFaceSet -boost::optional< bool > Ifc4x2::IfcPolygonalFaceSet::Closed() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } bool v = data_.get_attribute_value(1); return v; } +boost::optional< bool > Ifc4x2::IfcPolygonalFaceSet::Closed() const { if(get_attribute_value(1).isNull()) { return boost::none; } bool v = get_attribute_value(1); return v; } void Ifc4x2::IfcPolygonalFaceSet::setClosed(boost::optional< bool > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x2::IfcIndexedPolygonalFace >::ptr Ifc4x2::IfcPolygonalFaceSet::Faces() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x2::IfcIndexedPolygonalFace >(); } +aggregate_of< ::Ifc4x2::IfcIndexedPolygonalFace >::ptr Ifc4x2::IfcPolygonalFaceSet::Faces() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x2::IfcIndexedPolygonalFace >(); } void Ifc4x2::IfcPolygonalFaceSet::setFaces(aggregate_of< ::Ifc4x2::IfcIndexedPolygonalFace >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x2::IfcPolygonalFaceSet::PnIndex() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x2::IfcPolygonalFaceSet::PnIndex() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x2::IfcPolygonalFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x2::IfcPolygonalFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X2_types[715]); } const IfcParse::entity& Ifc4x2::IfcPolygonalFaceSet::Class() { return *((IfcParse::entity*)IFC4X2_types[715]); } Ifc4x2::IfcPolygonalFaceSet::IfcPolygonalFaceSet(IfcEntityInstanceData&& e) : IfcTessellatedFaceSet(std::move(e)) { } -Ifc4x2::IfcPolygonalFaceSet::IfcPolygonalFaceSet(::Ifc4x2::IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v2_Closed, aggregate_of< ::Ifc4x2::IfcIndexedPolygonalFace >::ptr v3_Faces, boost::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) : IfcTessellatedFaceSet(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, (v3_Faces)->generalize()); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); }; populate_derived(); } +Ifc4x2::IfcPolygonalFaceSet::IfcPolygonalFaceSet(::Ifc4x2::IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v2_Closed, aggregate_of< ::Ifc4x2::IfcIndexedPolygonalFace >::ptr v3_Faces, boost::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) : IfcTessellatedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, (v3_Faces)->generalize()); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); }; populate_derived(); } // Function implementations for IfcPolyline -aggregate_of< ::Ifc4x2::IfcCartesianPoint >::ptr Ifc4x2::IfcPolyline::Points() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x2::IfcCartesianPoint >(); } +aggregate_of< ::Ifc4x2::IfcCartesianPoint >::ptr Ifc4x2::IfcPolyline::Points() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x2::IfcCartesianPoint >(); } void Ifc4x2::IfcPolyline::setPoints(aggregate_of< ::Ifc4x2::IfcCartesianPoint >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x2::IfcPolyline::declaration() const { return *((IfcParse::entity*)IFC4X2_types[716]); } const IfcParse::entity& Ifc4x2::IfcPolyline::Class() { return *((IfcParse::entity*)IFC4X2_types[716]); } Ifc4x2::IfcPolyline::IfcPolyline(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x2::IfcPolyline::IfcPolyline(aggregate_of< ::Ifc4x2::IfcCartesianPoint >::ptr v1_Points) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Points)->generalize());; populate_derived(); } +Ifc4x2::IfcPolyline::IfcPolyline(aggregate_of< ::Ifc4x2::IfcCartesianPoint >::ptr v1_Points) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Points)->generalize());; populate_derived(); } // Function implementations for IfcPort @@ -12411,7 +12411,7 @@ Ifc4x2::IfcPolyline::IfcPolyline(aggregate_of< ::Ifc4x2::IfcCartesianPoint >::pt const IfcParse::entity& Ifc4x2::IfcPort::declaration() const { return *((IfcParse::entity*)IFC4X2_types[718]); } const IfcParse::entity& Ifc4x2::IfcPort::Class() { return *((IfcParse::entity*)IFC4X2_types[718]); } Ifc4x2::IfcPort::IfcPort(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x2::IfcPort::IfcPort(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcPort::IfcPort(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPositioningElement @@ -12421,29 +12421,29 @@ Ifc4x2::IfcPort::IfcPort(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_ const IfcParse::entity& Ifc4x2::IfcPositioningElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[719]); } const IfcParse::entity& Ifc4x2::IfcPositioningElement::Class() { return *((IfcParse::entity*)IFC4X2_types[719]); } Ifc4x2::IfcPositioningElement::IfcPositioningElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x2::IfcPositioningElement::IfcPositioningElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcPositioningElement::IfcPositioningElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPostalAddress -boost::optional< std::string > Ifc4x2::IfcPostalAddress::InternalLocation() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x2::IfcPostalAddress::InternalLocation() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x2::IfcPostalAddress::setInternalLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcPostalAddress::AddressLines() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcPostalAddress::AddressLines() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x2::IfcPostalAddress::setAddressLines(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x2::IfcPostalAddress::PostalBox() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x2::IfcPostalAddress::PostalBox() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcPostalAddress::setPostalBox(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x2::IfcPostalAddress::Town() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x2::IfcPostalAddress::Town() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x2::IfcPostalAddress::setTown(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x2::IfcPostalAddress::Region() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x2::IfcPostalAddress::Region() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x2::IfcPostalAddress::setRegion(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x2::IfcPostalAddress::PostalCode() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x2::IfcPostalAddress::PostalCode() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x2::IfcPostalAddress::setPostalCode(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x2::IfcPostalAddress::Country() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x2::IfcPostalAddress::Country() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x2::IfcPostalAddress::setCountry(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x2::IfcPostalAddress::declaration() const { return *((IfcParse::entity*)IFC4X2_types[724]); } const IfcParse::entity& Ifc4x2::IfcPostalAddress::Class() { return *((IfcParse::entity*)IFC4X2_types[724]); } Ifc4x2::IfcPostalAddress::IfcPostalAddress(IfcEntityInstanceData&& e) : IfcAddress(std::move(e)) { } -Ifc4x2::IfcPostalAddress::IfcPostalAddress(boost::optional< ::Ifc4x2::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) : IfcAddress(IfcEntityInstanceData(storage_t(10))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; populate_derived(); } +Ifc4x2::IfcPostalAddress::IfcPostalAddress(boost::optional< ::Ifc4x2::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) : IfcAddress(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; populate_derived(); } // Function implementations for IfcPreDefinedColour @@ -12451,7 +12451,7 @@ Ifc4x2::IfcPostalAddress::IfcPostalAddress(boost::optional< ::Ifc4x2::IfcAddress const IfcParse::entity& Ifc4x2::IfcPreDefinedColour::declaration() const { return *((IfcParse::entity*)IFC4X2_types[726]); } const IfcParse::entity& Ifc4x2::IfcPreDefinedColour::Class() { return *((IfcParse::entity*)IFC4X2_types[726]); } Ifc4x2::IfcPreDefinedColour::IfcPreDefinedColour(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc4x2::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x2::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedCurveFont @@ -12459,17 +12459,17 @@ Ifc4x2::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcPreDe const IfcParse::entity& Ifc4x2::IfcPreDefinedCurveFont::declaration() const { return *((IfcParse::entity*)IFC4X2_types[727]); } const IfcParse::entity& Ifc4x2::IfcPreDefinedCurveFont::Class() { return *((IfcParse::entity*)IFC4X2_types[727]); } Ifc4x2::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc4x2::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x2::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedItem -std::string Ifc4x2::IfcPreDefinedItem::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x2::IfcPreDefinedItem::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcPreDefinedItem::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x2::IfcPreDefinedItem::declaration() const { return *((IfcParse::entity*)IFC4X2_types[728]); } const IfcParse::entity& Ifc4x2::IfcPreDefinedItem::Class() { return *((IfcParse::entity*)IFC4X2_types[728]); } Ifc4x2::IfcPreDefinedItem::IfcPreDefinedItem(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x2::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x2::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedProperties @@ -12477,7 +12477,7 @@ Ifc4x2::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcPresentat const IfcParse::entity& Ifc4x2::IfcPreDefinedProperties::declaration() const { return *((IfcParse::entity*)IFC4X2_types[729]); } const IfcParse::entity& Ifc4x2::IfcPreDefinedProperties::Class() { return *((IfcParse::entity*)IFC4X2_types[729]); } Ifc4x2::IfcPreDefinedProperties::IfcPreDefinedProperties(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x2::IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x2::IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPreDefinedPropertySet @@ -12485,7 +12485,7 @@ Ifc4x2::IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbstract const IfcParse::entity& Ifc4x2::IfcPreDefinedPropertySet::declaration() const { return *((IfcParse::entity*)IFC4X2_types[730]); } const IfcParse::entity& Ifc4x2::IfcPreDefinedPropertySet::Class() { return *((IfcParse::entity*)IFC4X2_types[730]); } Ifc4x2::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc4x2::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x2::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPreDefinedTextFont @@ -12493,7 +12493,7 @@ Ifc4x2::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_Global const IfcParse::entity& Ifc4x2::IfcPreDefinedTextFont::declaration() const { return *((IfcParse::entity*)IFC4X2_types[731]); } const IfcParse::entity& Ifc4x2::IfcPreDefinedTextFont::Class() { return *((IfcParse::entity*)IFC4X2_types[731]); } Ifc4x2::IfcPreDefinedTextFont::IfcPreDefinedTextFont(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc4x2::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x2::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPresentationItem @@ -12501,84 +12501,84 @@ Ifc4x2::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : IfcP const IfcParse::entity& Ifc4x2::IfcPresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X2_types[734]); } const IfcParse::entity& Ifc4x2::IfcPresentationItem::Class() { return *((IfcParse::entity*)IFC4X2_types[734]); } Ifc4x2::IfcPresentationItem::IfcPresentationItem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcPresentationItem::IfcPresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x2::IfcPresentationItem::IfcPresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPresentationLayerAssignment -std::string Ifc4x2::IfcPresentationLayerAssignment::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x2::IfcPresentationLayerAssignment::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcPresentationLayerAssignment::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x2::IfcPresentationLayerAssignment::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x2::IfcPresentationLayerAssignment::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x2::IfcLayeredItem >::ptr Ifc4x2::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x2::IfcLayeredItem >(); } +aggregate_of< ::Ifc4x2::IfcLayeredItem >::ptr Ifc4x2::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x2::IfcLayeredItem >(); } void Ifc4x2::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x2::IfcLayeredItem >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x2::IfcPresentationLayerAssignment::Identifier() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x2::IfcPresentationLayerAssignment::Identifier() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x2::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x2::IfcPresentationLayerAssignment::declaration() const { return *((IfcParse::entity*)IFC4X2_types[735]); } const IfcParse::entity& Ifc4x2::IfcPresentationLayerAssignment::Class() { return *((IfcParse::entity*)IFC4X2_types[735]); } Ifc4x2::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; populate_derived(); } +Ifc4x2::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; populate_derived(); } // Function implementations for IfcPresentationLayerWithStyle -boost::logic::tribool Ifc4x2::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = data_.get_attribute_value(4); return v; } +boost::logic::tribool Ifc4x2::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = get_attribute_value(4); return v; } void Ifc4x2::IfcPresentationLayerWithStyle::setLayerOn(boost::logic::tribool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::logic::tribool Ifc4x2::IfcPresentationLayerWithStyle::LayerFrozen() const { boost::logic::tribool v = data_.get_attribute_value(5); return v; } +boost::logic::tribool Ifc4x2::IfcPresentationLayerWithStyle::LayerFrozen() const { boost::logic::tribool v = get_attribute_value(5); return v; } void Ifc4x2::IfcPresentationLayerWithStyle::setLayerFrozen(boost::logic::tribool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::logic::tribool Ifc4x2::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = data_.get_attribute_value(6); return v; } +boost::logic::tribool Ifc4x2::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = get_attribute_value(6); return v; } void Ifc4x2::IfcPresentationLayerWithStyle::setLayerBlocked(boost::logic::tribool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -aggregate_of< ::Ifc4x2::IfcPresentationStyle >::ptr Ifc4x2::IfcPresentationLayerWithStyle::LayerStyles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x2::IfcPresentationStyle >(); } +aggregate_of< ::Ifc4x2::IfcPresentationStyle >::ptr Ifc4x2::IfcPresentationLayerWithStyle::LayerStyles() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x2::IfcPresentationStyle >(); } void Ifc4x2::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< ::Ifc4x2::IfcPresentationStyle >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x2::IfcPresentationLayerWithStyle::declaration() const { return *((IfcParse::entity*)IFC4X2_types[736]); } const IfcParse::entity& Ifc4x2::IfcPresentationLayerWithStyle::Class() { return *((IfcParse::entity*)IFC4X2_types[736]); } Ifc4x2::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData&& e) : IfcPresentationLayerAssignment(std::move(e)) { } -Ifc4x2::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x2::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, (v8_LayerStyles)->generalize());; populate_derived(); } +Ifc4x2::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x2::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, (v8_LayerStyles)->generalize());; populate_derived(); } // Function implementations for IfcPresentationStyle -boost::optional< std::string > Ifc4x2::IfcPresentationStyle::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x2::IfcPresentationStyle::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcPresentationStyle::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x2::IfcPresentationStyle::declaration() const { return *((IfcParse::entity*)IFC4X2_types[737]); } const IfcParse::entity& Ifc4x2::IfcPresentationStyle::Class() { return *((IfcParse::entity*)IFC4X2_types[737]); } Ifc4x2::IfcPresentationStyle::IfcPresentationStyle(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x2::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcPresentationStyleAssignment -aggregate_of< ::Ifc4x2::IfcPresentationStyleSelect >::ptr Ifc4x2::IfcPresentationStyleAssignment::Styles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x2::IfcPresentationStyleSelect >(); } +aggregate_of< ::Ifc4x2::IfcPresentationStyleSelect >::ptr Ifc4x2::IfcPresentationStyleAssignment::Styles() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x2::IfcPresentationStyleSelect >(); } void Ifc4x2::IfcPresentationStyleAssignment::setStyles(aggregate_of< ::Ifc4x2::IfcPresentationStyleSelect >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x2::IfcPresentationStyleAssignment::declaration() const { return *((IfcParse::entity*)IFC4X2_types[738]); } const IfcParse::entity& Ifc4x2::IfcPresentationStyleAssignment::Class() { return *((IfcParse::entity*)IFC4X2_types[738]); } Ifc4x2::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of< ::Ifc4x2::IfcPresentationStyleSelect >::ptr v1_Styles) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Styles)->generalize());; populate_derived(); } +Ifc4x2::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of< ::Ifc4x2::IfcPresentationStyleSelect >::ptr v1_Styles) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Styles)->generalize());; populate_derived(); } // Function implementations for IfcProcedure -boost::optional< ::Ifc4x2::IfcProcedureTypeEnum::Value > Ifc4x2::IfcProcedure::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x2::IfcProcedureTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x2::IfcProcedureTypeEnum::Value > Ifc4x2::IfcProcedure::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x2::IfcProcedureTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x2::IfcProcedure::setPredefinedType(boost::optional< ::Ifc4x2::IfcProcedureTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x2::IfcProcedureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x2::IfcProcedure::declaration() const { return *((IfcParse::entity*)IFC4X2_types[741]); } const IfcParse::entity& Ifc4x2::IfcProcedure::Class() { return *((IfcParse::entity*)IFC4X2_types[741]); } Ifc4x2::IfcProcedure::IfcProcedure(IfcEntityInstanceData&& e) : IfcProcess(std::move(e)) { } -Ifc4x2::IfcProcedure::IfcProcedure(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< ::Ifc4x2::IfcProcedureTypeEnum::Value > v8_PredefinedType) : IfcProcess(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcProcedure::IfcProcedure(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< ::Ifc4x2::IfcProcedureTypeEnum::Value > v8_PredefinedType) : IfcProcess(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProcedureType -::Ifc4x2::IfcProcedureTypeEnum::Value Ifc4x2::IfcProcedureType::PredefinedType() const { return ::Ifc4x2::IfcProcedureTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcProcedureTypeEnum::Value Ifc4x2::IfcProcedureType::PredefinedType() const { return ::Ifc4x2::IfcProcedureTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcProcedureType::setPredefinedType(::Ifc4x2::IfcProcedureTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcProcedureTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcProcedureType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[742]); } const IfcParse::entity& Ifc4x2::IfcProcedureType::Class() { return *((IfcParse::entity*)IFC4X2_types[742]); } Ifc4x2::IfcProcedureType::IfcProcedureType(IfcEntityInstanceData&& e) : IfcTypeProcess(std::move(e)) { } -Ifc4x2::IfcProcedureType::IfcProcedureType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x2::IfcProcedureTypeEnum::Value v10_PredefinedType) : IfcTypeProcess(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcProcedureType::IfcProcedureType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x2::IfcProcedureTypeEnum::Value v10_PredefinedType) : IfcTypeProcess(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcProcess -boost::optional< std::string > Ifc4x2::IfcProcess::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x2::IfcProcess::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcProcess::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x2::IfcProcess::LongDescription() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x2::IfcProcess::LongDescription() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x2::IfcProcess::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x2::IfcRelSequence::list::ptr Ifc4x2::IfcProcess::IsPredecessorTo() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[878], 4)->as(); } @@ -12588,12 +12588,12 @@ void Ifc4x2::IfcProcess::setLongDescription(boost::optional< std::string > v) { const IfcParse::entity& Ifc4x2::IfcProcess::declaration() const { return *((IfcParse::entity*)IFC4X2_types[744]); } const IfcParse::entity& Ifc4x2::IfcProcess::Class() { return *((IfcParse::entity*)IFC4X2_types[744]); } Ifc4x2::IfcProcess::IfcProcess(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x2::IfcProcess::IfcProcess(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } +Ifc4x2::IfcProcess::IfcProcess(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } // Function implementations for IfcProduct -::Ifc4x2::IfcObjectPlacement* Ifc4x2::IfcProduct::ObjectPlacement() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcObjectPlacement>(true); } +::Ifc4x2::IfcObjectPlacement* Ifc4x2::IfcProduct::ObjectPlacement() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcObjectPlacement>(true); } void Ifc4x2::IfcProduct::setObjectPlacement(::Ifc4x2::IfcObjectPlacement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x2::IfcProductRepresentation* Ifc4x2::IfcProduct::Representation() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x2::IfcProductRepresentation>(true); } +::Ifc4x2::IfcProductRepresentation* Ifc4x2::IfcProduct::Representation() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x2::IfcProductRepresentation>(true); } void Ifc4x2::IfcProduct::setRepresentation(::Ifc4x2::IfcProductRepresentation* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } ::Ifc4x2::IfcRelAssignsToProduct::list::ptr Ifc4x2::IfcProduct::ReferencedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[842], 6)->as(); } @@ -12602,7 +12602,7 @@ void Ifc4x2::IfcProduct::setRepresentation(::Ifc4x2::IfcProductRepresentation* v const IfcParse::entity& Ifc4x2::IfcProduct::declaration() const { return *((IfcParse::entity*)IFC4X2_types[746]); } const IfcParse::entity& Ifc4x2::IfcProduct::Class() { return *((IfcParse::entity*)IFC4X2_types[746]); } Ifc4x2::IfcProduct::IfcProduct(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x2::IfcProduct::IfcProduct(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation) : IfcObject(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcProduct::IfcProduct(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProductDefinitionShape @@ -12612,26 +12612,26 @@ Ifc4x2::IfcProduct::IfcProduct(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistor const IfcParse::entity& Ifc4x2::IfcProductDefinitionShape::declaration() const { return *((IfcParse::entity*)IFC4X2_types[747]); } const IfcParse::entity& Ifc4x2::IfcProductDefinitionShape::Class() { return *((IfcParse::entity*)IFC4X2_types[747]); } Ifc4x2::IfcProductDefinitionShape::IfcProductDefinitionShape(IfcEntityInstanceData&& e) : IfcProductRepresentation(std::move(e)) { } -Ifc4x2::IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcRepresentation >::ptr v3_Representations) : IfcProductRepresentation(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } +Ifc4x2::IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcRepresentation >::ptr v3_Representations) : IfcProductRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } // Function implementations for IfcProductRepresentation -boost::optional< std::string > Ifc4x2::IfcProductRepresentation::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x2::IfcProductRepresentation::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcProductRepresentation::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x2::IfcProductRepresentation::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x2::IfcProductRepresentation::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcProductRepresentation::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x2::IfcRepresentation >::ptr Ifc4x2::IfcProductRepresentation::Representations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x2::IfcRepresentation >(); } +aggregate_of< ::Ifc4x2::IfcRepresentation >::ptr Ifc4x2::IfcProductRepresentation::Representations() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x2::IfcRepresentation >(); } void Ifc4x2::IfcProductRepresentation::setRepresentations(aggregate_of< ::Ifc4x2::IfcRepresentation >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x2::IfcProductRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X2_types[748]); } const IfcParse::entity& Ifc4x2::IfcProductRepresentation::Class() { return *((IfcParse::entity*)IFC4X2_types[748]); } Ifc4x2::IfcProductRepresentation::IfcProductRepresentation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcProductRepresentation::IfcProductRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcRepresentation >::ptr v3_Representations) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } +Ifc4x2::IfcProductRepresentation::IfcProductRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcRepresentation >::ptr v3_Representations) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } // Function implementations for IfcProfileDef -::Ifc4x2::IfcProfileTypeEnum::Value Ifc4x2::IfcProfileDef::ProfileType() const { return ::Ifc4x2::IfcProfileTypeEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x2::IfcProfileTypeEnum::Value Ifc4x2::IfcProfileDef::ProfileType() const { return ::Ifc4x2::IfcProfileTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x2::IfcProfileDef::setProfileType(::Ifc4x2::IfcProfileTypeEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x2::IfcProfileDef::ProfileName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x2::IfcProfileDef::ProfileName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcProfileDef::setProfileName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x2::IfcExternalReferenceRelationship::list::ptr Ifc4x2::IfcProfileDef::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[407], 3)->as(); } @@ -12640,17 +12640,17 @@ void Ifc4x2::IfcProfileDef::setProfileName(boost::optional< std::string > v) { i const IfcParse::entity& Ifc4x2::IfcProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X2_types[751]); } const IfcParse::entity& Ifc4x2::IfcProfileDef::Class() { return *((IfcParse::entity*)IFC4X2_types[751]); } Ifc4x2::IfcProfileDef::IfcProfileDef(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcProfileDef::IfcProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; populate_derived(); } +Ifc4x2::IfcProfileDef::IfcProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; populate_derived(); } // Function implementations for IfcProfileProperties -::Ifc4x2::IfcProfileDef* Ifc4x2::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcProfileDef>(true); } +::Ifc4x2::IfcProfileDef* Ifc4x2::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcProfileDef>(true); } void Ifc4x2::IfcProfileProperties::setProfileDefinition(::Ifc4x2::IfcProfileDef* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x2::IfcProfileProperties::declaration() const { return *((IfcParse::entity*)IFC4X2_types[752]); } const IfcParse::entity& Ifc4x2::IfcProfileProperties::Class() { return *((IfcParse::entity*)IFC4X2_types[752]); } Ifc4x2::IfcProfileProperties::IfcProfileProperties(IfcEntityInstanceData&& e) : IfcExtendedProperties(std::move(e)) { } -Ifc4x2::IfcProfileProperties::IfcProfileProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcProperty >::ptr v3_Properties, ::Ifc4x2::IfcProfileDef* v4_ProfileDefinition) : IfcExtendedProperties(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_ProfileDefinition ? v4_ProfileDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcProfileProperties::IfcProfileProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcProperty >::ptr v3_Properties, ::Ifc4x2::IfcProfileDef* v4_ProfileDefinition) : IfcExtendedProperties(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_ProfileDefinition ? v4_ProfileDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProject @@ -12658,7 +12658,7 @@ Ifc4x2::IfcProfileProperties::IfcProfileProperties(boost::optional< std::string const IfcParse::entity& Ifc4x2::IfcProject::declaration() const { return *((IfcParse::entity*)IFC4X2_types[754]); } const IfcParse::entity& Ifc4x2::IfcProject::Class() { return *((IfcParse::entity*)IFC4X2_types[754]); } Ifc4x2::IfcProject::IfcProject(IfcEntityInstanceData&& e) : IfcContext(std::move(e)) { } -Ifc4x2::IfcProject::IfcProject(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x2::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcProject::IfcProject(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x2::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProjectLibrary @@ -12666,50 +12666,50 @@ Ifc4x2::IfcProject::IfcProject(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistor const IfcParse::entity& Ifc4x2::IfcProjectLibrary::declaration() const { return *((IfcParse::entity*)IFC4X2_types[759]); } const IfcParse::entity& Ifc4x2::IfcProjectLibrary::Class() { return *((IfcParse::entity*)IFC4X2_types[759]); } Ifc4x2::IfcProjectLibrary::IfcProjectLibrary(IfcEntityInstanceData&& e) : IfcContext(std::move(e)) { } -Ifc4x2::IfcProjectLibrary::IfcProjectLibrary(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x2::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcProjectLibrary::IfcProjectLibrary(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x2::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProjectOrder -boost::optional< ::Ifc4x2::IfcProjectOrderTypeEnum::Value > Ifc4x2::IfcProjectOrder::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x2::IfcProjectOrderTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x2::IfcProjectOrderTypeEnum::Value > Ifc4x2::IfcProjectOrder::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x2::IfcProjectOrderTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x2::IfcProjectOrder::setPredefinedType(boost::optional< ::Ifc4x2::IfcProjectOrderTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x2::IfcProjectOrderTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x2::IfcProjectOrder::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x2::IfcProjectOrder::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x2::IfcProjectOrder::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x2::IfcProjectOrder::LongDescription() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x2::IfcProjectOrder::LongDescription() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x2::IfcProjectOrder::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcProjectOrder::declaration() const { return *((IfcParse::entity*)IFC4X2_types[760]); } const IfcParse::entity& Ifc4x2::IfcProjectOrder::Class() { return *((IfcParse::entity*)IFC4X2_types[760]); } Ifc4x2::IfcProjectOrder::IfcProjectOrder(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x2::IfcProjectOrder::IfcProjectOrder(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x2::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x2::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } +Ifc4x2::IfcProjectOrder::IfcProjectOrder(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x2::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x2::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } // Function implementations for IfcProjectedCRS -boost::optional< std::string > Ifc4x2::IfcProjectedCRS::MapProjection() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x2::IfcProjectedCRS::MapProjection() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcProjectedCRS::setMapProjection(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x2::IfcProjectedCRS::MapZone() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x2::IfcProjectedCRS::MapZone() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcProjectedCRS::setMapZone(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x2::IfcNamedUnit* Ifc4x2::IfcProjectedCRS::MapUnit() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x2::IfcNamedUnit>(true); } +::Ifc4x2::IfcNamedUnit* Ifc4x2::IfcProjectedCRS::MapUnit() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x2::IfcNamedUnit>(true); } void Ifc4x2::IfcProjectedCRS::setMapUnit(::Ifc4x2::IfcNamedUnit* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x2::IfcProjectedCRS::declaration() const { return *((IfcParse::entity*)IFC4X2_types[755]); } const IfcParse::entity& Ifc4x2::IfcProjectedCRS::Class() { return *((IfcParse::entity*)IFC4X2_types[755]); } Ifc4x2::IfcProjectedCRS::IfcProjectedCRS(IfcEntityInstanceData&& e) : IfcCoordinateReferenceSystem(std::move(e)) { } -Ifc4x2::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, ::Ifc4x2::IfcNamedUnit* v7_MapUnit) : IfcCoordinateReferenceSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, v7_MapUnit ? v7_MapUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::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, ::Ifc4x2::IfcNamedUnit* v7_MapUnit) : IfcCoordinateReferenceSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, v7_MapUnit ? v7_MapUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProjectionElement -boost::optional< ::Ifc4x2::IfcProjectionElementTypeEnum::Value > Ifc4x2::IfcProjectionElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcProjectionElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcProjectionElementTypeEnum::Value > Ifc4x2::IfcProjectionElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcProjectionElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcProjectionElement::setPredefinedType(boost::optional< ::Ifc4x2::IfcProjectionElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcProjectionElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcProjectionElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[757]); } const IfcParse::entity& Ifc4x2::IfcProjectionElement::Class() { return *((IfcParse::entity*)IFC4X2_types[757]); } Ifc4x2::IfcProjectionElement::IfcProjectionElement(IfcEntityInstanceData&& e) : IfcFeatureElementAddition(std::move(e)) { } -Ifc4x2::IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementAddition(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementAddition(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProperty -std::string Ifc4x2::IfcProperty::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x2::IfcProperty::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcProperty::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x2::IfcProperty::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x2::IfcProperty::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcProperty::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x2::IfcPropertySet::list::ptr Ifc4x2::IfcProperty::PartOfPset() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[771], 4)->as(); } @@ -12722,7 +12722,7 @@ void Ifc4x2::IfcProperty::setDescription(boost::optional< std::string > v) { if const IfcParse::entity& Ifc4x2::IfcProperty::declaration() const { return *((IfcParse::entity*)IFC4X2_types[762]); } const IfcParse::entity& Ifc4x2::IfcProperty::Class() { return *((IfcParse::entity*)IFC4X2_types[762]); } Ifc4x2::IfcProperty::IfcProperty(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x2::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4x2::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcPropertyAbstraction @@ -12731,23 +12731,23 @@ Ifc4x2::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std::stri const IfcParse::entity& Ifc4x2::IfcPropertyAbstraction::declaration() const { return *((IfcParse::entity*)IFC4X2_types[763]); } const IfcParse::entity& Ifc4x2::IfcPropertyAbstraction::Class() { return *((IfcParse::entity*)IFC4X2_types[763]); } Ifc4x2::IfcPropertyAbstraction::IfcPropertyAbstraction(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcPropertyAbstraction::IfcPropertyAbstraction() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x2::IfcPropertyAbstraction::IfcPropertyAbstraction() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPropertyBoundedValue -::Ifc4x2::IfcValue* Ifc4x2::IfcPropertyBoundedValue::UpperBoundValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcValue>(true); } +::Ifc4x2::IfcValue* Ifc4x2::IfcPropertyBoundedValue::UpperBoundValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcValue>(true); } void Ifc4x2::IfcPropertyBoundedValue::setUpperBoundValue(::Ifc4x2::IfcValue* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcValue* Ifc4x2::IfcPropertyBoundedValue::LowerBoundValue() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcValue>(true); } +::Ifc4x2::IfcValue* Ifc4x2::IfcPropertyBoundedValue::LowerBoundValue() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcValue>(true); } void Ifc4x2::IfcPropertyBoundedValue::setLowerBoundValue(::Ifc4x2::IfcValue* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x2::IfcUnit* Ifc4x2::IfcPropertyBoundedValue::Unit() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcUnit>(true); } +::Ifc4x2::IfcUnit* Ifc4x2::IfcPropertyBoundedValue::Unit() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcUnit>(true); } void Ifc4x2::IfcPropertyBoundedValue::setUnit(::Ifc4x2::IfcUnit* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcValue* Ifc4x2::IfcPropertyBoundedValue::SetPointValue() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcValue>(true); } +::Ifc4x2::IfcValue* Ifc4x2::IfcPropertyBoundedValue::SetPointValue() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcValue>(true); } void Ifc4x2::IfcPropertyBoundedValue::setSetPointValue(::Ifc4x2::IfcValue* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x2::IfcPropertyBoundedValue::declaration() const { return *((IfcParse::entity*)IFC4X2_types[764]); } const IfcParse::entity& Ifc4x2::IfcPropertyBoundedValue::Class() { return *((IfcParse::entity*)IFC4X2_types[764]); } Ifc4x2::IfcPropertyBoundedValue::IfcPropertyBoundedValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x2::IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcValue* v3_UpperBoundValue, ::Ifc4x2::IfcValue* v4_LowerBoundValue, ::Ifc4x2::IfcUnit* v5_Unit, ::Ifc4x2::IfcValue* v6_SetPointValue) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_UpperBoundValue ? v3_UpperBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_LowerBoundValue ? v4_LowerBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_Unit ? v5_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_SetPointValue ? v6_SetPointValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcValue* v3_UpperBoundValue, ::Ifc4x2::IfcValue* v4_LowerBoundValue, ::Ifc4x2::IfcUnit* v5_Unit, ::Ifc4x2::IfcValue* v6_SetPointValue) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_UpperBoundValue ? v3_UpperBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_LowerBoundValue ? v4_LowerBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_Unit ? v5_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_SetPointValue ? v6_SetPointValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyDefinition @@ -12757,81 +12757,81 @@ Ifc4x2::IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name, bo const IfcParse::entity& Ifc4x2::IfcPropertyDefinition::declaration() const { return *((IfcParse::entity*)IFC4X2_types[765]); } const IfcParse::entity& Ifc4x2::IfcPropertyDefinition::Class() { return *((IfcParse::entity*)IFC4X2_types[765]); } Ifc4x2::IfcPropertyDefinition::IfcPropertyDefinition(IfcEntityInstanceData&& e) : IfcRoot(std::move(e)) { } -Ifc4x2::IfcPropertyDefinition::IfcPropertyDefinition(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x2::IfcPropertyDefinition::IfcPropertyDefinition(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertyDependencyRelationship -::Ifc4x2::IfcProperty* Ifc4x2::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcProperty>(true); } +::Ifc4x2::IfcProperty* Ifc4x2::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcProperty>(true); } void Ifc4x2::IfcPropertyDependencyRelationship::setDependingProperty(::Ifc4x2::IfcProperty* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcProperty* Ifc4x2::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcProperty>(true); } +::Ifc4x2::IfcProperty* Ifc4x2::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcProperty>(true); } void Ifc4x2::IfcPropertyDependencyRelationship::setDependantProperty(::Ifc4x2::IfcProperty* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x2::IfcPropertyDependencyRelationship::Expression() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x2::IfcPropertyDependencyRelationship::Expression() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x2::IfcPropertyDependencyRelationship::declaration() const { return *((IfcParse::entity*)IFC4X2_types[766]); } const IfcParse::entity& Ifc4x2::IfcPropertyDependencyRelationship::Class() { return *((IfcParse::entity*)IFC4X2_types[766]); } Ifc4x2::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x2::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcProperty* v3_DependingProperty, ::Ifc4x2::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_DependingProperty ? v3_DependingProperty->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_DependantProperty ? v4_DependantProperty->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } +Ifc4x2::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcProperty* v3_DependingProperty, ::Ifc4x2::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_DependingProperty ? v3_DependingProperty->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_DependantProperty ? v4_DependantProperty->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } // Function implementations for IfcPropertyEnumeratedValue -boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > Ifc4x2::IfcPropertyEnumeratedValue::EnumerationValues() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x2::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > Ifc4x2::IfcPropertyEnumeratedValue::EnumerationValues() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x2::IfcValue >(); } void Ifc4x2::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } -::Ifc4x2::IfcPropertyEnumeration* Ifc4x2::IfcPropertyEnumeratedValue::EnumerationReference() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcPropertyEnumeration>(true); } +::Ifc4x2::IfcPropertyEnumeration* Ifc4x2::IfcPropertyEnumeratedValue::EnumerationReference() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcPropertyEnumeration>(true); } void Ifc4x2::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x2::IfcPropertyEnumeration* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x2::IfcPropertyEnumeratedValue::declaration() const { return *((IfcParse::entity*)IFC4X2_types[767]); } const IfcParse::entity& Ifc4x2::IfcPropertyEnumeratedValue::Class() { return *((IfcParse::entity*)IFC4X2_types[767]); } Ifc4x2::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x2::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x2::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_EnumerationValues) {set_attribute_value(2, (*v3_EnumerationValues)->generalize()); }set_attribute_value(3, v4_EnumerationReference ? v4_EnumerationReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x2::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_EnumerationValues) {set_attribute_value(2, (*v3_EnumerationValues)->generalize()); }set_attribute_value(3, v4_EnumerationReference ? v4_EnumerationReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyEnumeration -std::string Ifc4x2::IfcPropertyEnumeration::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x2::IfcPropertyEnumeration::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcPropertyEnumeration::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x2::IfcValue >::ptr Ifc4x2::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x2::IfcValue >(); } +aggregate_of< ::Ifc4x2::IfcValue >::ptr Ifc4x2::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x2::IfcValue >(); } void Ifc4x2::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x2::IfcValue >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcUnit* Ifc4x2::IfcPropertyEnumeration::Unit() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcUnit>(true); } +::Ifc4x2::IfcUnit* Ifc4x2::IfcPropertyEnumeration::Unit() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcUnit>(true); } void Ifc4x2::IfcPropertyEnumeration::setUnit(::Ifc4x2::IfcUnit* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x2::IfcPropertyEnumeration::declaration() const { return *((IfcParse::entity*)IFC4X2_types[768]); } const IfcParse::entity& Ifc4x2::IfcPropertyEnumeration::Class() { return *((IfcParse::entity*)IFC4X2_types[768]); } Ifc4x2::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x2::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x2::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x2::IfcUnit* v3_Unit) : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_EnumerationValues)->generalize());set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x2::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x2::IfcUnit* v3_Unit) : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_EnumerationValues)->generalize());set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyListValue -boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > Ifc4x2::IfcPropertyListValue::ListValues() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x2::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > Ifc4x2::IfcPropertyListValue::ListValues() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x2::IfcValue >(); } void Ifc4x2::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } -::Ifc4x2::IfcUnit* Ifc4x2::IfcPropertyListValue::Unit() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcUnit>(true); } +::Ifc4x2::IfcUnit* Ifc4x2::IfcPropertyListValue::Unit() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcUnit>(true); } void Ifc4x2::IfcPropertyListValue::setUnit(::Ifc4x2::IfcUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x2::IfcPropertyListValue::declaration() const { return *((IfcParse::entity*)IFC4X2_types[769]); } const IfcParse::entity& Ifc4x2::IfcPropertyListValue::Class() { return *((IfcParse::entity*)IFC4X2_types[769]); } Ifc4x2::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x2::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v3_ListValues, ::Ifc4x2::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_ListValues) {set_attribute_value(2, (*v3_ListValues)->generalize()); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v3_ListValues, ::Ifc4x2::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_ListValues) {set_attribute_value(2, (*v3_ListValues)->generalize()); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyReferenceValue -boost::optional< std::string > Ifc4x2::IfcPropertyReferenceValue::UsageName() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x2::IfcPropertyReferenceValue::UsageName() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x2::IfcObjectReferenceSelect* Ifc4x2::IfcPropertyReferenceValue::PropertyReference() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcObjectReferenceSelect>(true); } +::Ifc4x2::IfcObjectReferenceSelect* Ifc4x2::IfcPropertyReferenceValue::PropertyReference() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcObjectReferenceSelect>(true); } void Ifc4x2::IfcPropertyReferenceValue::setPropertyReference(::Ifc4x2::IfcObjectReferenceSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x2::IfcPropertyReferenceValue::declaration() const { return *((IfcParse::entity*)IFC4X2_types[770]); } const IfcParse::entity& Ifc4x2::IfcPropertyReferenceValue::Class() { return *((IfcParse::entity*)IFC4X2_types[770]); } Ifc4x2::IfcPropertyReferenceValue::IfcPropertyReferenceValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x2::IfcPropertyReferenceValue::IfcPropertyReferenceValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UsageName, ::Ifc4x2::IfcObjectReferenceSelect* v4_PropertyReference) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, v4_PropertyReference ? v4_PropertyReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcPropertyReferenceValue::IfcPropertyReferenceValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UsageName, ::Ifc4x2::IfcObjectReferenceSelect* v4_PropertyReference) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, v4_PropertyReference ? v4_PropertyReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertySet -aggregate_of< ::Ifc4x2::IfcProperty >::ptr Ifc4x2::IfcPropertySet::HasProperties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x2::IfcProperty >(); } +aggregate_of< ::Ifc4x2::IfcProperty >::ptr Ifc4x2::IfcPropertySet::HasProperties() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x2::IfcProperty >(); } void Ifc4x2::IfcPropertySet::setHasProperties(aggregate_of< ::Ifc4x2::IfcProperty >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x2::IfcPropertySet::declaration() const { return *((IfcParse::entity*)IFC4X2_types[771]); } const IfcParse::entity& Ifc4x2::IfcPropertySet::Class() { return *((IfcParse::entity*)IFC4X2_types[771]); } Ifc4x2::IfcPropertySet::IfcPropertySet(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc4x2::IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcProperty >::ptr v5_HasProperties) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_HasProperties)->generalize());; populate_derived(); } +Ifc4x2::IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcProperty >::ptr v5_HasProperties) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_HasProperties)->generalize());; populate_derived(); } // Function implementations for IfcPropertySetDefinition @@ -12842,14 +12842,14 @@ Ifc4x2::IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, ::Ifc4x2::IfcOwn const IfcParse::entity& Ifc4x2::IfcPropertySetDefinition::declaration() const { return *((IfcParse::entity*)IFC4X2_types[772]); } const IfcParse::entity& Ifc4x2::IfcPropertySetDefinition::Class() { return *((IfcParse::entity*)IFC4X2_types[772]); } Ifc4x2::IfcPropertySetDefinition::IfcPropertySetDefinition(IfcEntityInstanceData&& e) : IfcPropertyDefinition(std::move(e)) { } -Ifc4x2::IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x2::IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertySetTemplate -boost::optional< ::Ifc4x2::IfcPropertySetTemplateTypeEnum::Value > Ifc4x2::IfcPropertySetTemplate::TemplateType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x2::IfcPropertySetTemplateTypeEnum::FromString(data_.get_attribute_value(4)); } +boost::optional< ::Ifc4x2::IfcPropertySetTemplateTypeEnum::Value > Ifc4x2::IfcPropertySetTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x2::IfcPropertySetTemplateTypeEnum::FromString(get_attribute_value(4)); } void Ifc4x2::IfcPropertySetTemplate::setTemplateType(boost::optional< ::Ifc4x2::IfcPropertySetTemplateTypeEnum::Value > v) { if (v) {set_attribute_value(4, EnumerationReference(&::Ifc4x2::IfcPropertySetTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x2::IfcPropertySetTemplate::ApplicableEntity() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x2::IfcPropertySetTemplate::ApplicableEntity() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcPropertySetTemplate::setApplicableEntity(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -aggregate_of< ::Ifc4x2::IfcPropertyTemplate >::ptr Ifc4x2::IfcPropertySetTemplate::HasPropertyTemplates() const { aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x2::IfcPropertyTemplate >(); } +aggregate_of< ::Ifc4x2::IfcPropertyTemplate >::ptr Ifc4x2::IfcPropertySetTemplate::HasPropertyTemplates() const { aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x2::IfcPropertyTemplate >(); } void Ifc4x2::IfcPropertySetTemplate::setHasPropertyTemplates(aggregate_of< ::Ifc4x2::IfcPropertyTemplate >::ptr v) { set_attribute_value(6, (v)->generalize());if constexpr (false)unset_attribute_value(6); } ::Ifc4x2::IfcRelDefinesByTemplate::list::ptr Ifc4x2::IfcPropertySetTemplate::Defines() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[869], 5)->as(); } @@ -12857,39 +12857,39 @@ void Ifc4x2::IfcPropertySetTemplate::setHasPropertyTemplates(aggregate_of< ::Ifc const IfcParse::entity& Ifc4x2::IfcPropertySetTemplate::declaration() const { return *((IfcParse::entity*)IFC4X2_types[775]); } const IfcParse::entity& Ifc4x2::IfcPropertySetTemplate::Class() { return *((IfcParse::entity*)IFC4X2_types[775]); } Ifc4x2::IfcPropertySetTemplate::IfcPropertySetTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplateDefinition(std::move(e)) { } -Ifc4x2::IfcPropertySetTemplate::IfcPropertySetTemplate(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x2::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_ApplicableEntity, aggregate_of< ::Ifc4x2::IfcPropertyTemplate >::ptr v7_HasPropertyTemplates) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x2::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, (v7_HasPropertyTemplates)->generalize());; populate_derived(); } +Ifc4x2::IfcPropertySetTemplate::IfcPropertySetTemplate(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x2::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_ApplicableEntity, aggregate_of< ::Ifc4x2::IfcPropertyTemplate >::ptr v7_HasPropertyTemplates) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x2::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, (v7_HasPropertyTemplates)->generalize());; populate_derived(); } // Function implementations for IfcPropertySingleValue -::Ifc4x2::IfcValue* Ifc4x2::IfcPropertySingleValue::NominalValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcValue>(true); } +::Ifc4x2::IfcValue* Ifc4x2::IfcPropertySingleValue::NominalValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcValue>(true); } void Ifc4x2::IfcPropertySingleValue::setNominalValue(::Ifc4x2::IfcValue* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcUnit* Ifc4x2::IfcPropertySingleValue::Unit() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcUnit>(true); } +::Ifc4x2::IfcUnit* Ifc4x2::IfcPropertySingleValue::Unit() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcUnit>(true); } void Ifc4x2::IfcPropertySingleValue::setUnit(::Ifc4x2::IfcUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x2::IfcPropertySingleValue::declaration() const { return *((IfcParse::entity*)IFC4X2_types[777]); } const IfcParse::entity& Ifc4x2::IfcPropertySingleValue::Class() { return *((IfcParse::entity*)IFC4X2_types[777]); } Ifc4x2::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x2::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcValue* v3_NominalValue, ::Ifc4x2::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_NominalValue ? v3_NominalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcValue* v3_NominalValue, ::Ifc4x2::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_NominalValue ? v3_NominalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyTableValue -boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > Ifc4x2::IfcPropertyTableValue::DefiningValues() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x2::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > Ifc4x2::IfcPropertyTableValue::DefiningValues() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x2::IfcValue >(); } void Ifc4x2::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } -boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > Ifc4x2::IfcPropertyTableValue::DefinedValues() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x2::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > Ifc4x2::IfcPropertyTableValue::DefinedValues() const { if(get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x2::IfcValue >(); } void Ifc4x2::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v) { if (v) {set_attribute_value(3, (*v)->generalize());} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x2::IfcPropertyTableValue::Expression() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x2::IfcPropertyTableValue::Expression() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x2::IfcUnit* Ifc4x2::IfcPropertyTableValue::DefiningUnit() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcUnit>(true); } +::Ifc4x2::IfcUnit* Ifc4x2::IfcPropertyTableValue::DefiningUnit() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcUnit>(true); } void Ifc4x2::IfcPropertyTableValue::setDefiningUnit(::Ifc4x2::IfcUnit* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x2::IfcUnit* Ifc4x2::IfcPropertyTableValue::DefinedUnit() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x2::IfcUnit>(true); } +::Ifc4x2::IfcUnit* Ifc4x2::IfcPropertyTableValue::DefinedUnit() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x2::IfcUnit>(true); } void Ifc4x2::IfcPropertyTableValue::setDefinedUnit(::Ifc4x2::IfcUnit* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< ::Ifc4x2::IfcCurveInterpolationEnum::Value > Ifc4x2::IfcPropertyTableValue::CurveInterpolation() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x2::IfcCurveInterpolationEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x2::IfcCurveInterpolationEnum::Value > Ifc4x2::IfcPropertyTableValue::CurveInterpolation() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x2::IfcCurveInterpolationEnum::FromString(get_attribute_value(7)); } void Ifc4x2::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc4x2::IfcCurveInterpolationEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x2::IfcCurveInterpolationEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x2::IfcPropertyTableValue::declaration() const { return *((IfcParse::entity*)IFC4X2_types[778]); } const IfcParse::entity& Ifc4x2::IfcPropertyTableValue::Class() { return *((IfcParse::entity*)IFC4X2_types[778]); } Ifc4x2::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x2::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x2::IfcUnit* v6_DefiningUnit, ::Ifc4x2::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x2::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_DefiningValues) {set_attribute_value(2, (*v3_DefiningValues)->generalize()); } if (v4_DefinedValues) {set_attribute_value(3, (*v4_DefinedValues)->generalize()); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, v6_DefiningUnit ? v6_DefiningUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_DefinedUnit ? v7_DefinedUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_CurveInterpolation) {set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); }; populate_derived(); } +Ifc4x2::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x2::IfcUnit* v6_DefiningUnit, ::Ifc4x2::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x2::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_DefiningValues) {set_attribute_value(2, (*v3_DefiningValues)->generalize()); } if (v4_DefinedValues) {set_attribute_value(3, (*v4_DefinedValues)->generalize()); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, v6_DefiningUnit ? v6_DefiningUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_DefinedUnit ? v7_DefinedUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_CurveInterpolation) {set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); }; populate_derived(); } // Function implementations for IfcPropertyTemplate @@ -12899,7 +12899,7 @@ Ifc4x2::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost: const IfcParse::entity& Ifc4x2::IfcPropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X2_types[779]); } const IfcParse::entity& Ifc4x2::IfcPropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X2_types[779]); } Ifc4x2::IfcPropertyTemplate::IfcPropertyTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplateDefinition(std::move(e)) { } -Ifc4x2::IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x2::IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertyTemplateDefinition @@ -12907,115 +12907,115 @@ Ifc4x2::IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x2::IfcPropertyTemplateDefinition::declaration() const { return *((IfcParse::entity*)IFC4X2_types[780]); } const IfcParse::entity& Ifc4x2::IfcPropertyTemplateDefinition::Class() { return *((IfcParse::entity*)IFC4X2_types[780]); } Ifc4x2::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(IfcEntityInstanceData&& e) : IfcPropertyDefinition(std::move(e)) { } -Ifc4x2::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x2::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcProtectiveDevice -boost::optional< ::Ifc4x2::IfcProtectiveDeviceTypeEnum::Value > Ifc4x2::IfcProtectiveDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcProtectiveDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcProtectiveDeviceTypeEnum::Value > Ifc4x2::IfcProtectiveDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcProtectiveDevice::setPredefinedType(boost::optional< ::Ifc4x2::IfcProtectiveDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcProtectiveDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcProtectiveDevice::declaration() const { return *((IfcParse::entity*)IFC4X2_types[781]); } const IfcParse::entity& Ifc4x2::IfcProtectiveDevice::Class() { return *((IfcParse::entity*)IFC4X2_types[781]); } Ifc4x2::IfcProtectiveDevice::IfcProtectiveDevice(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x2::IfcProtectiveDevice::IfcProtectiveDevice(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcProtectiveDevice::IfcProtectiveDevice(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProtectiveDeviceTrippingUnit -boost::optional< ::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x2::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x2::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcProtectiveDeviceTrippingUnit::setPredefinedType(boost::optional< ::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcProtectiveDeviceTrippingUnit::declaration() const { return *((IfcParse::entity*)IFC4X2_types[782]); } const IfcParse::entity& Ifc4x2::IfcProtectiveDeviceTrippingUnit::Class() { return *((IfcParse::entity*)IFC4X2_types[782]); } Ifc4x2::IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x2::IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProtectiveDeviceTrippingUnitType -::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x2::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x2::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcProtectiveDeviceTrippingUnitType::setPredefinedType(::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcProtectiveDeviceTrippingUnitType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[783]); } const IfcParse::entity& Ifc4x2::IfcProtectiveDeviceTrippingUnitType::Class() { return *((IfcParse::entity*)IFC4X2_types[783]); } Ifc4x2::IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x2::IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcProtectiveDeviceType -::Ifc4x2::IfcProtectiveDeviceTypeEnum::Value Ifc4x2::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4x2::IfcProtectiveDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcProtectiveDeviceTypeEnum::Value Ifc4x2::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4x2::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcProtectiveDeviceType::setPredefinedType(::Ifc4x2::IfcProtectiveDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcProtectiveDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcProtectiveDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[785]); } const IfcParse::entity& Ifc4x2::IfcProtectiveDeviceType::Class() { return *((IfcParse::entity*)IFC4X2_types[785]); } Ifc4x2::IfcProtectiveDeviceType::IfcProtectiveDeviceType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x2::IfcProtectiveDeviceType::IfcProtectiveDeviceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcProtectiveDeviceType::IfcProtectiveDeviceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcProxy -::Ifc4x2::IfcObjectTypeEnum::Value Ifc4x2::IfcProxy::ProxyType() const { return ::Ifc4x2::IfcObjectTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x2::IfcObjectTypeEnum::Value Ifc4x2::IfcProxy::ProxyType() const { return ::Ifc4x2::IfcObjectTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x2::IfcProxy::setProxyType(::Ifc4x2::IfcObjectTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x2::IfcObjectTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc4x2::IfcProxy::Tag() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x2::IfcProxy::Tag() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x2::IfcProxy::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcProxy::declaration() const { return *((IfcParse::entity*)IFC4X2_types[787]); } const IfcParse::entity& Ifc4x2::IfcProxy::Class() { return *((IfcParse::entity*)IFC4X2_types[787]); } Ifc4x2::IfcProxy::IfcProxy(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x2::IfcProxy::IfcProxy(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcObjectTypeEnum::Value v8_ProxyType, boost::optional< std::string > v9_Tag) : IfcProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)v8_ProxyType))); if (v9_Tag) {set_attribute_value(8, (*v9_Tag)); }; populate_derived(); } +Ifc4x2::IfcProxy::IfcProxy(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcObjectTypeEnum::Value v8_ProxyType, boost::optional< std::string > v9_Tag) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)v8_ProxyType))); if (v9_Tag) {set_attribute_value(8, (*v9_Tag)); }; populate_derived(); } // Function implementations for IfcPump -boost::optional< ::Ifc4x2::IfcPumpTypeEnum::Value > Ifc4x2::IfcPump::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcPumpTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcPumpTypeEnum::Value > Ifc4x2::IfcPump::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcPumpTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcPump::setPredefinedType(boost::optional< ::Ifc4x2::IfcPumpTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcPumpTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcPump::declaration() const { return *((IfcParse::entity*)IFC4X2_types[788]); } const IfcParse::entity& Ifc4x2::IfcPump::Class() { return *((IfcParse::entity*)IFC4X2_types[788]); } Ifc4x2::IfcPump::IfcPump(IfcEntityInstanceData&& e) : IfcFlowMovingDevice(std::move(e)) { } -Ifc4x2::IfcPump::IfcPump(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcPumpTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcPump::IfcPump(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcPumpTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPumpType -::Ifc4x2::IfcPumpTypeEnum::Value Ifc4x2::IfcPumpType::PredefinedType() const { return ::Ifc4x2::IfcPumpTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcPumpTypeEnum::Value Ifc4x2::IfcPumpType::PredefinedType() const { return ::Ifc4x2::IfcPumpTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcPumpType::setPredefinedType(::Ifc4x2::IfcPumpTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcPumpTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcPumpType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[789]); } const IfcParse::entity& Ifc4x2::IfcPumpType::Class() { return *((IfcParse::entity*)IFC4X2_types[789]); } Ifc4x2::IfcPumpType::IfcPumpType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(e)) { } -Ifc4x2::IfcPumpType::IfcPumpType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcPumpTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcPumpType::IfcPumpType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcPumpTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcQuantityArea -double Ifc4x2::IfcQuantityArea::AreaValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x2::IfcQuantityArea::AreaValue() const { double v = get_attribute_value(3); return v; } void Ifc4x2::IfcQuantityArea::setAreaValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x2::IfcQuantityArea::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x2::IfcQuantityArea::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcQuantityArea::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x2::IfcQuantityArea::declaration() const { return *((IfcParse::entity*)IFC4X2_types[791]); } const IfcParse::entity& Ifc4x2::IfcQuantityArea::Class() { return *((IfcParse::entity*)IFC4X2_types[791]); } Ifc4x2::IfcQuantityArea::IfcQuantityArea(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x2::IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit* v3_Unit, double v4_AreaValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x2::IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit* v3_Unit, double v4_AreaValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityCount -double Ifc4x2::IfcQuantityCount::CountValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x2::IfcQuantityCount::CountValue() const { double v = get_attribute_value(3); return v; } void Ifc4x2::IfcQuantityCount::setCountValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x2::IfcQuantityCount::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x2::IfcQuantityCount::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcQuantityCount::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x2::IfcQuantityCount::declaration() const { return *((IfcParse::entity*)IFC4X2_types[792]); } const IfcParse::entity& Ifc4x2::IfcQuantityCount::Class() { return *((IfcParse::entity*)IFC4X2_types[792]); } Ifc4x2::IfcQuantityCount::IfcQuantityCount(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x2::IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit* v3_Unit, double v4_CountValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x2::IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit* v3_Unit, double v4_CountValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityLength -double Ifc4x2::IfcQuantityLength::LengthValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x2::IfcQuantityLength::LengthValue() const { double v = get_attribute_value(3); return v; } void Ifc4x2::IfcQuantityLength::setLengthValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x2::IfcQuantityLength::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x2::IfcQuantityLength::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcQuantityLength::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x2::IfcQuantityLength::declaration() const { return *((IfcParse::entity*)IFC4X2_types[793]); } const IfcParse::entity& Ifc4x2::IfcQuantityLength::Class() { return *((IfcParse::entity*)IFC4X2_types[793]); } Ifc4x2::IfcQuantityLength::IfcQuantityLength(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x2::IfcQuantityLength::IfcQuantityLength(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit* v3_Unit, double v4_LengthValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x2::IfcQuantityLength::IfcQuantityLength(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit* v3_Unit, double v4_LengthValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantitySet @@ -13023,333 +13023,333 @@ Ifc4x2::IfcQuantityLength::IfcQuantityLength(std::string v1_Name, boost::optiona const IfcParse::entity& Ifc4x2::IfcQuantitySet::declaration() const { return *((IfcParse::entity*)IFC4X2_types[794]); } const IfcParse::entity& Ifc4x2::IfcQuantitySet::Class() { return *((IfcParse::entity*)IFC4X2_types[794]); } Ifc4x2::IfcQuantitySet::IfcQuantitySet(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc4x2::IfcQuantitySet::IfcQuantitySet(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x2::IfcQuantitySet::IfcQuantitySet(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcQuantityTime -double Ifc4x2::IfcQuantityTime::TimeValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x2::IfcQuantityTime::TimeValue() const { double v = get_attribute_value(3); return v; } void Ifc4x2::IfcQuantityTime::setTimeValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x2::IfcQuantityTime::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x2::IfcQuantityTime::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcQuantityTime::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x2::IfcQuantityTime::declaration() const { return *((IfcParse::entity*)IFC4X2_types[795]); } const IfcParse::entity& Ifc4x2::IfcQuantityTime::Class() { return *((IfcParse::entity*)IFC4X2_types[795]); } Ifc4x2::IfcQuantityTime::IfcQuantityTime(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x2::IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit* v3_Unit, double v4_TimeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x2::IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit* v3_Unit, double v4_TimeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityVolume -double Ifc4x2::IfcQuantityVolume::VolumeValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x2::IfcQuantityVolume::VolumeValue() const { double v = get_attribute_value(3); return v; } void Ifc4x2::IfcQuantityVolume::setVolumeValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x2::IfcQuantityVolume::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x2::IfcQuantityVolume::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcQuantityVolume::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x2::IfcQuantityVolume::declaration() const { return *((IfcParse::entity*)IFC4X2_types[796]); } const IfcParse::entity& Ifc4x2::IfcQuantityVolume::Class() { return *((IfcParse::entity*)IFC4X2_types[796]); } Ifc4x2::IfcQuantityVolume::IfcQuantityVolume(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x2::IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit* v3_Unit, double v4_VolumeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x2::IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit* v3_Unit, double v4_VolumeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityWeight -double Ifc4x2::IfcQuantityWeight::WeightValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x2::IfcQuantityWeight::WeightValue() const { double v = get_attribute_value(3); return v; } void Ifc4x2::IfcQuantityWeight::setWeightValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x2::IfcQuantityWeight::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x2::IfcQuantityWeight::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcQuantityWeight::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x2::IfcQuantityWeight::declaration() const { return *((IfcParse::entity*)IFC4X2_types[797]); } const IfcParse::entity& Ifc4x2::IfcQuantityWeight::Class() { return *((IfcParse::entity*)IFC4X2_types[797]); } Ifc4x2::IfcQuantityWeight::IfcQuantityWeight(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x2::IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit* v3_Unit, double v4_WeightValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x2::IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcNamedUnit* v3_Unit, double v4_WeightValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcRailing -boost::optional< ::Ifc4x2::IfcRailingTypeEnum::Value > Ifc4x2::IfcRailing::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcRailingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcRailingTypeEnum::Value > Ifc4x2::IfcRailing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcRailingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcRailing::setPredefinedType(boost::optional< ::Ifc4x2::IfcRailingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcRailingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcRailing::declaration() const { return *((IfcParse::entity*)IFC4X2_types[799]); } const IfcParse::entity& Ifc4x2::IfcRailing::Class() { return *((IfcParse::entity*)IFC4X2_types[799]); } Ifc4x2::IfcRailing::IfcRailing(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x2::IfcRailing::IfcRailing(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcRailingTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcRailing::IfcRailing(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcRailingTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRailingType -::Ifc4x2::IfcRailingTypeEnum::Value Ifc4x2::IfcRailingType::PredefinedType() const { return ::Ifc4x2::IfcRailingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcRailingTypeEnum::Value Ifc4x2::IfcRailingType::PredefinedType() const { return ::Ifc4x2::IfcRailingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcRailingType::setPredefinedType(::Ifc4x2::IfcRailingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcRailingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcRailingType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[800]); } const IfcParse::entity& Ifc4x2::IfcRailingType::Class() { return *((IfcParse::entity*)IFC4X2_types[800]); } Ifc4x2::IfcRailingType::IfcRailingType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x2::IfcRailingType::IfcRailingType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcRailingTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcRailingType::IfcRailingType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcRailingTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRamp -boost::optional< ::Ifc4x2::IfcRampTypeEnum::Value > Ifc4x2::IfcRamp::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcRampTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcRampTypeEnum::Value > Ifc4x2::IfcRamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcRampTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcRamp::setPredefinedType(boost::optional< ::Ifc4x2::IfcRampTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcRampTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcRamp::declaration() const { return *((IfcParse::entity*)IFC4X2_types[802]); } const IfcParse::entity& Ifc4x2::IfcRamp::Class() { return *((IfcParse::entity*)IFC4X2_types[802]); } Ifc4x2::IfcRamp::IfcRamp(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x2::IfcRamp::IfcRamp(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcRampTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcRamp::IfcRamp(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcRampTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRampFlight -boost::optional< ::Ifc4x2::IfcRampFlightTypeEnum::Value > Ifc4x2::IfcRampFlight::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcRampFlightTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcRampFlightTypeEnum::Value > Ifc4x2::IfcRampFlight::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcRampFlightTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcRampFlight::setPredefinedType(boost::optional< ::Ifc4x2::IfcRampFlightTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcRampFlightTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcRampFlight::declaration() const { return *((IfcParse::entity*)IFC4X2_types[803]); } const IfcParse::entity& Ifc4x2::IfcRampFlight::Class() { return *((IfcParse::entity*)IFC4X2_types[803]); } Ifc4x2::IfcRampFlight::IfcRampFlight(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x2::IfcRampFlight::IfcRampFlight(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcRampFlightTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcRampFlight::IfcRampFlight(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcRampFlightTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRampFlightType -::Ifc4x2::IfcRampFlightTypeEnum::Value Ifc4x2::IfcRampFlightType::PredefinedType() const { return ::Ifc4x2::IfcRampFlightTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcRampFlightTypeEnum::Value Ifc4x2::IfcRampFlightType::PredefinedType() const { return ::Ifc4x2::IfcRampFlightTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcRampFlightType::setPredefinedType(::Ifc4x2::IfcRampFlightTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcRampFlightTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcRampFlightType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[804]); } const IfcParse::entity& Ifc4x2::IfcRampFlightType::Class() { return *((IfcParse::entity*)IFC4X2_types[804]); } Ifc4x2::IfcRampFlightType::IfcRampFlightType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x2::IfcRampFlightType::IfcRampFlightType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcRampFlightTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcRampFlightType::IfcRampFlightType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcRampFlightTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRampType -::Ifc4x2::IfcRampTypeEnum::Value Ifc4x2::IfcRampType::PredefinedType() const { return ::Ifc4x2::IfcRampTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcRampTypeEnum::Value Ifc4x2::IfcRampType::PredefinedType() const { return ::Ifc4x2::IfcRampTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcRampType::setPredefinedType(::Ifc4x2::IfcRampTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcRampTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcRampType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[806]); } const IfcParse::entity& Ifc4x2::IfcRampType::Class() { return *((IfcParse::entity*)IFC4X2_types[806]); } Ifc4x2::IfcRampType::IfcRampType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x2::IfcRampType::IfcRampType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcRampTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcRampType::IfcRampType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcRampTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRationalBSplineCurveWithKnots -std::vector< double > /*[2:?]*/ Ifc4x2::IfcRationalBSplineCurveWithKnots::WeightsData() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< double > /*[2:?]*/ Ifc4x2::IfcRationalBSplineCurveWithKnots::WeightsData() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(8); return v; } void Ifc4x2::IfcRationalBSplineCurveWithKnots::setWeightsData(std::vector< double > /*[2:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x2::IfcRationalBSplineCurveWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X2_types[809]); } const IfcParse::entity& Ifc4x2::IfcRationalBSplineCurveWithKnots::Class() { return *((IfcParse::entity*)IFC4X2_types[809]); } Ifc4x2::IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(IfcEntityInstanceData&& e) : IfcBSplineCurveWithKnots(std::move(e)) { } -Ifc4x2::IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x2::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x2::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, ::Ifc4x2::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) : IfcBSplineCurveWithKnots(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData));; populate_derived(); } +Ifc4x2::IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x2::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x2::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, ::Ifc4x2::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) : IfcBSplineCurveWithKnots(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData));; populate_derived(); } // Function implementations for IfcRationalBSplineSurfaceWithKnots -std::vector< std::vector< double > > Ifc4x2::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { std::vector< std::vector< double > > v = data_.get_attribute_value(12); return v; } +std::vector< std::vector< double > > Ifc4x2::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { std::vector< std::vector< double > > v = get_attribute_value(12); return v; } void Ifc4x2::IfcRationalBSplineSurfaceWithKnots::setWeightsData(std::vector< std::vector< double > > v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } const IfcParse::entity& Ifc4x2::IfcRationalBSplineSurfaceWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X2_types[810]); } const IfcParse::entity& Ifc4x2::IfcRationalBSplineSurfaceWithKnots::Class() { return *((IfcParse::entity*)IFC4X2_types[810]); } Ifc4x2::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(IfcEntityInstanceData&& e) : IfcBSplineSurfaceWithKnots(std::move(e)) { } -Ifc4x2::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x2::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x2::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, ::Ifc4x2::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) : IfcBSplineSurfaceWithKnots(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x2::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData));; populate_derived(); } +Ifc4x2::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x2::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x2::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, ::Ifc4x2::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) : IfcBSplineSurfaceWithKnots(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x2::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData));; populate_derived(); } // Function implementations for IfcRectangleHollowProfileDef -double Ifc4x2::IfcRectangleHollowProfileDef::WallThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x2::IfcRectangleHollowProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x2::IfcRectangleHollowProfileDef::setWallThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x2::IfcRectangleHollowProfileDef::InnerFilletRadius() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x2::IfcRectangleHollowProfileDef::InnerFilletRadius() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x2::IfcRectangleHollowProfileDef::setInnerFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x2::IfcRectangleHollowProfileDef::OuterFilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x2::IfcRectangleHollowProfileDef::OuterFilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x2::IfcRectangleHollowProfileDef::setOuterFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x2::IfcRectangleHollowProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X2_types[812]); } const IfcParse::entity& Ifc4x2::IfcRectangleHollowProfileDef::Class() { return *((IfcParse::entity*)IFC4X2_types[812]); } Ifc4x2::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(IfcEntityInstanceData&& e) : IfcRectangleProfileDef(std::move(e)) { } -Ifc4x2::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, boost::optional< double > v7_InnerFilletRadius, boost::optional< double > v8_OuterFilletRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; populate_derived(); } +Ifc4x2::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, boost::optional< double > v7_InnerFilletRadius, boost::optional< double > v8_OuterFilletRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; populate_derived(); } // Function implementations for IfcRectangleProfileDef -double Ifc4x2::IfcRectangleProfileDef::XDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x2::IfcRectangleProfileDef::XDim() const { double v = get_attribute_value(3); return v; } void Ifc4x2::IfcRectangleProfileDef::setXDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x2::IfcRectangleProfileDef::YDim() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x2::IfcRectangleProfileDef::YDim() const { double v = get_attribute_value(4); return v; } void Ifc4x2::IfcRectangleProfileDef::setYDim(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x2::IfcRectangleProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X2_types[813]); } const IfcParse::entity& Ifc4x2::IfcRectangleProfileDef::Class() { return *((IfcParse::entity*)IFC4X2_types[813]); } Ifc4x2::IfcRectangleProfileDef::IfcRectangleProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x2::IfcRectangleProfileDef::IfcRectangleProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; populate_derived(); } +Ifc4x2::IfcRectangleProfileDef::IfcRectangleProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; populate_derived(); } // Function implementations for IfcRectangularPyramid -double Ifc4x2::IfcRectangularPyramid::XLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x2::IfcRectangularPyramid::XLength() const { double v = get_attribute_value(1); return v; } void Ifc4x2::IfcRectangularPyramid::setXLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x2::IfcRectangularPyramid::YLength() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x2::IfcRectangularPyramid::YLength() const { double v = get_attribute_value(2); return v; } void Ifc4x2::IfcRectangularPyramid::setYLength(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x2::IfcRectangularPyramid::Height() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x2::IfcRectangularPyramid::Height() const { double v = get_attribute_value(3); return v; } void Ifc4x2::IfcRectangularPyramid::setHeight(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x2::IfcRectangularPyramid::declaration() const { return *((IfcParse::entity*)IFC4X2_types[814]); } const IfcParse::entity& Ifc4x2::IfcRectangularPyramid::Class() { return *((IfcParse::entity*)IFC4X2_types[814]); } Ifc4x2::IfcRectangularPyramid::IfcRectangularPyramid(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x2::IfcRectangularPyramid::IfcRectangularPyramid(::Ifc4x2::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; populate_derived(); } +Ifc4x2::IfcRectangularPyramid::IfcRectangularPyramid(::Ifc4x2::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; populate_derived(); } // Function implementations for IfcRectangularTrimmedSurface -::Ifc4x2::IfcSurface* Ifc4x2::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcSurface>(true); } +::Ifc4x2::IfcSurface* Ifc4x2::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcSurface>(true); } void Ifc4x2::IfcRectangularTrimmedSurface::setBasisSurface(::Ifc4x2::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x2::IfcRectangularTrimmedSurface::U1() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x2::IfcRectangularTrimmedSurface::U1() const { double v = get_attribute_value(1); return v; } void Ifc4x2::IfcRectangularTrimmedSurface::setU1(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x2::IfcRectangularTrimmedSurface::V1() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x2::IfcRectangularTrimmedSurface::V1() const { double v = get_attribute_value(2); return v; } void Ifc4x2::IfcRectangularTrimmedSurface::setV1(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x2::IfcRectangularTrimmedSurface::U2() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x2::IfcRectangularTrimmedSurface::U2() const { double v = get_attribute_value(3); return v; } void Ifc4x2::IfcRectangularTrimmedSurface::setU2(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x2::IfcRectangularTrimmedSurface::V2() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x2::IfcRectangularTrimmedSurface::V2() const { double v = get_attribute_value(4); return v; } void Ifc4x2::IfcRectangularTrimmedSurface::setV2(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -bool Ifc4x2::IfcRectangularTrimmedSurface::Usense() const { bool v = data_.get_attribute_value(5); return v; } +bool Ifc4x2::IfcRectangularTrimmedSurface::Usense() const { bool v = get_attribute_value(5); return v; } void Ifc4x2::IfcRectangularTrimmedSurface::setUsense(bool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -bool Ifc4x2::IfcRectangularTrimmedSurface::Vsense() const { bool v = data_.get_attribute_value(6); return v; } +bool Ifc4x2::IfcRectangularTrimmedSurface::Vsense() const { bool v = get_attribute_value(6); return v; } void Ifc4x2::IfcRectangularTrimmedSurface::setVsense(bool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x2::IfcRectangularTrimmedSurface::declaration() const { return *((IfcParse::entity*)IFC4X2_types[815]); } const IfcParse::entity& Ifc4x2::IfcRectangularTrimmedSurface::Class() { return *((IfcParse::entity*)IFC4X2_types[815]); } Ifc4x2::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x2::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(::Ifc4x2::IfcSurface* v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; populate_derived(); } +Ifc4x2::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(::Ifc4x2::IfcSurface* v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; populate_derived(); } // Function implementations for IfcRecurrencePattern -::Ifc4x2::IfcRecurrenceTypeEnum::Value Ifc4x2::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x2::IfcRecurrenceTypeEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x2::IfcRecurrenceTypeEnum::Value Ifc4x2::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x2::IfcRecurrenceTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x2::IfcRecurrencePattern::setRecurrenceType(::Ifc4x2::IfcRecurrenceTypeEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x2::IfcRecurrenceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x2::IfcRecurrencePattern::DayComponent() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x2::IfcRecurrencePattern::DayComponent() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x2::IfcRecurrencePattern::setDayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x2::IfcRecurrencePattern::WeekdayComponent() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x2::IfcRecurrencePattern::WeekdayComponent() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(2); return v; } void Ifc4x2::IfcRecurrencePattern::setWeekdayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x2::IfcRecurrencePattern::MonthComponent() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x2::IfcRecurrencePattern::MonthComponent() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x2::IfcRecurrencePattern::setMonthComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< int > Ifc4x2::IfcRecurrencePattern::Position() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x2::IfcRecurrencePattern::Position() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x2::IfcRecurrencePattern::setPosition(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< int > Ifc4x2::IfcRecurrencePattern::Interval() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } int v = data_.get_attribute_value(5); return v; } +boost::optional< int > Ifc4x2::IfcRecurrencePattern::Interval() const { if(get_attribute_value(5).isNull()) { return boost::none; } int v = get_attribute_value(5); return v; } void Ifc4x2::IfcRecurrencePattern::setInterval(boost::optional< int > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< int > Ifc4x2::IfcRecurrencePattern::Occurrences() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } int v = data_.get_attribute_value(6); return v; } +boost::optional< int > Ifc4x2::IfcRecurrencePattern::Occurrences() const { if(get_attribute_value(6).isNull()) { return boost::none; } int v = get_attribute_value(6); return v; } void Ifc4x2::IfcRecurrencePattern::setOccurrences(boost::optional< int > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x2::IfcTimePeriod >::ptr > Ifc4x2::IfcRecurrencePattern::TimePeriods() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x2::IfcTimePeriod >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcTimePeriod >::ptr > Ifc4x2::IfcRecurrencePattern::TimePeriods() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x2::IfcTimePeriod >(); } void Ifc4x2::IfcRecurrencePattern::setTimePeriods(boost::optional< aggregate_of< ::Ifc4x2::IfcTimePeriod >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x2::IfcRecurrencePattern::declaration() const { return *((IfcParse::entity*)IFC4X2_types[816]); } const IfcParse::entity& Ifc4x2::IfcRecurrencePattern::Class() { return *((IfcParse::entity*)IFC4X2_types[816]); } Ifc4x2::IfcRecurrencePattern::IfcRecurrencePattern(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcRecurrencePattern::IfcRecurrencePattern(::Ifc4x2::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< ::Ifc4x2::IfcTimePeriod >::ptr > v8_TimePeriods) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, (*v8_TimePeriods)->generalize()); }; populate_derived(); } +Ifc4x2::IfcRecurrencePattern::IfcRecurrencePattern(::Ifc4x2::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< ::Ifc4x2::IfcTimePeriod >::ptr > v8_TimePeriods) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, (*v8_TimePeriods)->generalize()); }; populate_derived(); } // Function implementations for IfcReference -boost::optional< std::string > Ifc4x2::IfcReference::TypeIdentifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x2::IfcReference::TypeIdentifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcReference::setTypeIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x2::IfcReference::AttributeIdentifier() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x2::IfcReference::AttributeIdentifier() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcReference::setAttributeIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x2::IfcReference::InstanceName() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x2::IfcReference::InstanceName() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcReference::setInstanceName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x2::IfcReference::ListPositions() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x2::IfcReference::ListPositions() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x2::IfcReference::setListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x2::IfcReference* Ifc4x2::IfcReference::InnerReference() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcReference>(true); } +::Ifc4x2::IfcReference* Ifc4x2::IfcReference::InnerReference() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcReference>(true); } void Ifc4x2::IfcReference::setInnerReference(::Ifc4x2::IfcReference* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x2::IfcReference::declaration() const { return *((IfcParse::entity*)IFC4X2_types[818]); } const IfcParse::entity& Ifc4x2::IfcReference::Class() { return *((IfcParse::entity*)IFC4X2_types[818]); } Ifc4x2::IfcReference::IfcReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::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, ::Ifc4x2::IfcReference* v5_InnerReference) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, v5_InnerReference ? v5_InnerReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::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, ::Ifc4x2::IfcReference* v5_InnerReference) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, v5_InnerReference ? v5_InnerReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcReferent -boost::optional< ::Ifc4x2::IfcReferentTypeEnum::Value > Ifc4x2::IfcReferent::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x2::IfcReferentTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x2::IfcReferentTypeEnum::Value > Ifc4x2::IfcReferent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x2::IfcReferentTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x2::IfcReferent::setPredefinedType(boost::optional< ::Ifc4x2::IfcReferentTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x2::IfcReferentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x2::IfcReferent::RestartDistance() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x2::IfcReferent::RestartDistance() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x2::IfcReferent::setRestartDistance(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcReferent::declaration() const { return *((IfcParse::entity*)IFC4X2_types[819]); } const IfcParse::entity& Ifc4x2::IfcReferent::Class() { return *((IfcParse::entity*)IFC4X2_types[819]); } Ifc4x2::IfcReferent::IfcReferent(IfcEntityInstanceData&& e) : IfcPositioningElement(std::move(e)) { } -Ifc4x2::IfcReferent::IfcReferent(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x2::IfcReferentTypeEnum::Value > v8_PredefinedType, boost::optional< double > v9_RestartDistance) : IfcPositioningElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_RestartDistance) {set_attribute_value(8, (*v9_RestartDistance)); }; populate_derived(); } +Ifc4x2::IfcReferent::IfcReferent(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x2::IfcReferentTypeEnum::Value > v8_PredefinedType, boost::optional< double > v9_RestartDistance) : IfcPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_RestartDistance) {set_attribute_value(8, (*v9_RestartDistance)); }; populate_derived(); } // Function implementations for IfcRegularTimeSeries -double Ifc4x2::IfcRegularTimeSeries::TimeStep() const { double v = data_.get_attribute_value(8); return v; } +double Ifc4x2::IfcRegularTimeSeries::TimeStep() const { double v = get_attribute_value(8); return v; } void Ifc4x2::IfcRegularTimeSeries::setTimeStep(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -aggregate_of< ::Ifc4x2::IfcTimeSeriesValue >::ptr Ifc4x2::IfcRegularTimeSeries::Values() const { aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x2::IfcTimeSeriesValue >(); } +aggregate_of< ::Ifc4x2::IfcTimeSeriesValue >::ptr Ifc4x2::IfcRegularTimeSeries::Values() const { aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x2::IfcTimeSeriesValue >(); } void Ifc4x2::IfcRegularTimeSeries::setValues(aggregate_of< ::Ifc4x2::IfcTimeSeriesValue >::ptr v) { set_attribute_value(9, (v)->generalize());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcRegularTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X2_types[822]); } const IfcParse::entity& Ifc4x2::IfcRegularTimeSeries::Class() { return *((IfcParse::entity*)IFC4X2_types[822]); } Ifc4x2::IfcRegularTimeSeries::IfcRegularTimeSeries(IfcEntityInstanceData&& e) : IfcTimeSeries(std::move(e)) { } -Ifc4x2::IfcRegularTimeSeries::IfcRegularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x2::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x2::IfcUnit* v8_Unit, double v9_TimeStep, aggregate_of< ::Ifc4x2::IfcTimeSeriesValue >::ptr v10_Values) : IfcTimeSeries(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, (v10_Values)->generalize());; populate_derived(); } +Ifc4x2::IfcRegularTimeSeries::IfcRegularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x2::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x2::IfcUnit* v8_Unit, double v9_TimeStep, aggregate_of< ::Ifc4x2::IfcTimeSeriesValue >::ptr v10_Values) : IfcTimeSeries(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, (v10_Values)->generalize());; populate_derived(); } // Function implementations for IfcReinforcementBarProperties -double Ifc4x2::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x2::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = get_attribute_value(0); return v; } void Ifc4x2::IfcReinforcementBarProperties::setTotalCrossSectionArea(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x2::IfcReinforcementBarProperties::SteelGrade() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x2::IfcReinforcementBarProperties::SteelGrade() const { std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcReinforcementBarProperties::setSteelGrade(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > Ifc4x2::IfcReinforcementBarProperties::BarSurface() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x2::IfcReinforcingBarSurfaceEnum::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > Ifc4x2::IfcReinforcementBarProperties::BarSurface() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x2::IfcReinforcingBarSurfaceEnum::FromString(get_attribute_value(2)); } void Ifc4x2::IfcReinforcementBarProperties::setBarSurface(boost::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc4x2::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x2::IfcReinforcementBarProperties::EffectiveDepth() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x2::IfcReinforcementBarProperties::EffectiveDepth() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x2::IfcReinforcementBarProperties::setEffectiveDepth(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x2::IfcReinforcementBarProperties::NominalBarDiameter() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x2::IfcReinforcementBarProperties::NominalBarDiameter() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x2::IfcReinforcementBarProperties::setNominalBarDiameter(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x2::IfcReinforcementBarProperties::BarCount() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x2::IfcReinforcementBarProperties::BarCount() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x2::IfcReinforcementBarProperties::setBarCount(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x2::IfcReinforcementBarProperties::declaration() const { return *((IfcParse::entity*)IFC4X2_types[823]); } const IfcParse::entity& Ifc4x2::IfcReinforcementBarProperties::Class() { return *((IfcParse::entity*)IFC4X2_types[823]); } Ifc4x2::IfcReinforcementBarProperties::IfcReinforcementBarProperties(IfcEntityInstanceData&& e) : IfcPreDefinedProperties(std::move(e)) { } -Ifc4x2::IfcReinforcementBarProperties::IfcReinforcementBarProperties(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, boost::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, boost::optional< double > v4_EffectiveDepth, boost::optional< double > v5_NominalBarDiameter, boost::optional< double > v6_BarCount) : IfcPreDefinedProperties(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (EnumerationReference(&::Ifc4x2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; populate_derived(); } +Ifc4x2::IfcReinforcementBarProperties::IfcReinforcementBarProperties(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, boost::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, boost::optional< double > v4_EffectiveDepth, boost::optional< double > v5_NominalBarDiameter, boost::optional< double > v6_BarCount) : IfcPreDefinedProperties(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (EnumerationReference(&::Ifc4x2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; populate_derived(); } // Function implementations for IfcReinforcementDefinitionProperties -boost::optional< std::string > Ifc4x2::IfcReinforcementDefinitionProperties::DefinitionType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x2::IfcReinforcementDefinitionProperties::DefinitionType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcReinforcementDefinitionProperties::setDefinitionType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -aggregate_of< ::Ifc4x2::IfcSectionReinforcementProperties >::ptr Ifc4x2::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x2::IfcSectionReinforcementProperties >(); } +aggregate_of< ::Ifc4x2::IfcSectionReinforcementProperties >::ptr Ifc4x2::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x2::IfcSectionReinforcementProperties >(); } void Ifc4x2::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(aggregate_of< ::Ifc4x2::IfcSectionReinforcementProperties >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x2::IfcReinforcementDefinitionProperties::declaration() const { return *((IfcParse::entity*)IFC4X2_types[824]); } const IfcParse::entity& Ifc4x2::IfcReinforcementDefinitionProperties::Class() { return *((IfcParse::entity*)IFC4X2_types[824]); } Ifc4x2::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x2::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_DefinitionType, aggregate_of< ::Ifc4x2::IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, (v6_ReinforcementSectionDefinitions)->generalize());; populate_derived(); } +Ifc4x2::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_DefinitionType, aggregate_of< ::Ifc4x2::IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, (v6_ReinforcementSectionDefinitions)->generalize());; populate_derived(); } // Function implementations for IfcReinforcingBar -boost::optional< double > Ifc4x2::IfcReinforcingBar::NominalDiameter() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x2::IfcReinforcingBar::NominalDiameter() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x2::IfcReinforcingBar::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x2::IfcReinforcingBar::CrossSectionArea() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x2::IfcReinforcingBar::CrossSectionArea() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x2::IfcReinforcingBar::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x2::IfcReinforcingBar::BarLength() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x2::IfcReinforcingBar::BarLength() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x2::IfcReinforcingBar::setBarLength(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< ::Ifc4x2::IfcReinforcingBarTypeEnum::Value > Ifc4x2::IfcReinforcingBar::PredefinedType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x2::IfcReinforcingBarTypeEnum::FromString(data_.get_attribute_value(12)); } +boost::optional< ::Ifc4x2::IfcReinforcingBarTypeEnum::Value > Ifc4x2::IfcReinforcingBar::PredefinedType() const { if(get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x2::IfcReinforcingBarTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x2::IfcReinforcingBar::setPredefinedType(boost::optional< ::Ifc4x2::IfcReinforcingBarTypeEnum::Value > v) { if (v) {set_attribute_value(12, EnumerationReference(&::Ifc4x2::IfcReinforcingBarTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } -boost::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > Ifc4x2::IfcReinforcingBar::BarSurface() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x2::IfcReinforcingBarSurfaceEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > Ifc4x2::IfcReinforcingBar::BarSurface() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x2::IfcReinforcingBarSurfaceEnum::FromString(get_attribute_value(13)); } void Ifc4x2::IfcReinforcingBar::setBarSurface(boost::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x2::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } const IfcParse::entity& Ifc4x2::IfcReinforcingBar::declaration() const { return *((IfcParse::entity*)IFC4X2_types[825]); } const IfcParse::entity& Ifc4x2::IfcReinforcingBar::Class() { return *((IfcParse::entity*)IFC4X2_types[825]); } Ifc4x2::IfcReinforcingBar::IfcReinforcingBar(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x2::IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< double > v10_NominalDiameter, boost::optional< double > v11_CrossSectionArea, boost::optional< double > v12_BarLength, boost::optional< ::Ifc4x2::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, boost::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x2::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; populate_derived(); } +Ifc4x2::IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< double > v10_NominalDiameter, boost::optional< double > v11_CrossSectionArea, boost::optional< double > v12_BarLength, boost::optional< ::Ifc4x2::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, boost::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x2::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; populate_derived(); } // Function implementations for IfcReinforcingBarType -::Ifc4x2::IfcReinforcingBarTypeEnum::Value Ifc4x2::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x2::IfcReinforcingBarTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcReinforcingBarTypeEnum::Value Ifc4x2::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x2::IfcReinforcingBarTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcReinforcingBarType::setPredefinedType(::Ifc4x2::IfcReinforcingBarTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcReinforcingBarTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x2::IfcReinforcingBarType::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x2::IfcReinforcingBarType::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x2::IfcReinforcingBarType::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x2::IfcReinforcingBarType::CrossSectionArea() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x2::IfcReinforcingBarType::CrossSectionArea() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x2::IfcReinforcingBarType::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x2::IfcReinforcingBarType::BarLength() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x2::IfcReinforcingBarType::BarLength() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x2::IfcReinforcingBarType::setBarLength(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > Ifc4x2::IfcReinforcingBarType::BarSurface() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x2::IfcReinforcingBarSurfaceEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > Ifc4x2::IfcReinforcingBarType::BarSurface() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x2::IfcReinforcingBarSurfaceEnum::FromString(get_attribute_value(13)); } void Ifc4x2::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x2::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x2::IfcReinforcingBarType::BendingShapeCode() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x2::IfcReinforcingBarType::BendingShapeCode() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x2::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr > Ifc4x2::IfcReinforcingBarType::BendingParameters() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(15); return es->as< ::Ifc4x2::IfcBendingParameterSelect >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr > Ifc4x2::IfcReinforcingBarType::BendingParameters() const { if(get_attribute_value(15).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(15); return es->as< ::Ifc4x2::IfcBendingParameterSelect >(); } void Ifc4x2::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr > v) { if (v) {set_attribute_value(15, (*v)->generalize());} else {unset_attribute_value(15);} } const IfcParse::entity& Ifc4x2::IfcReinforcingBarType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[828]); } const IfcParse::entity& Ifc4x2::IfcReinforcingBarType::Class() { return *((IfcParse::entity*)IFC4X2_types[828]); } Ifc4x2::IfcReinforcingBarType::IfcReinforcingBarType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x2::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, (*v16_BendingParameters)->generalize()); }; populate_derived(); } +Ifc4x2::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, (*v16_BendingParameters)->generalize()); }; populate_derived(); } // Function implementations for IfcReinforcingElement -boost::optional< std::string > Ifc4x2::IfcReinforcingElement::SteelGrade() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x2::IfcReinforcingElement::SteelGrade() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x2::IfcReinforcingElement::setSteelGrade(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcReinforcingElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[830]); } const IfcParse::entity& Ifc4x2::IfcReinforcingElement::Class() { return *((IfcParse::entity*)IFC4X2_types[830]); } Ifc4x2::IfcReinforcingElement::IfcReinforcingElement(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x2::IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; populate_derived(); } +Ifc4x2::IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; populate_derived(); } // Function implementations for IfcReinforcingElementType @@ -13357,233 +13357,233 @@ Ifc4x2::IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x2::IfcReinforcingElementType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[831]); } const IfcParse::entity& Ifc4x2::IfcReinforcingElementType::Class() { return *((IfcParse::entity*)IFC4X2_types[831]); } Ifc4x2::IfcReinforcingElementType::IfcReinforcingElementType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x2::IfcReinforcingElementType::IfcReinforcingElementType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x2::IfcReinforcingElementType::IfcReinforcingElementType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcReinforcingMesh -boost::optional< double > Ifc4x2::IfcReinforcingMesh::MeshLength() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x2::IfcReinforcingMesh::MeshLength() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x2::IfcReinforcingMesh::setMeshLength(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x2::IfcReinforcingMesh::MeshWidth() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x2::IfcReinforcingMesh::MeshWidth() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x2::IfcReinforcingMesh::setMeshWidth(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x2::IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x2::IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x2::IfcReinforcingMesh::setLongitudinalBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x2::IfcReinforcingMesh::TransverseBarNominalDiameter() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x2::IfcReinforcingMesh::TransverseBarNominalDiameter() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x2::IfcReinforcingMesh::setTransverseBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x2::IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x2::IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x2::IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x2::IfcReinforcingMesh::TransverseBarCrossSectionArea() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x2::IfcReinforcingMesh::TransverseBarCrossSectionArea() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x2::IfcReinforcingMesh::setTransverseBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x2::IfcReinforcingMesh::LongitudinalBarSpacing() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x2::IfcReinforcingMesh::LongitudinalBarSpacing() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x2::IfcReinforcingMesh::setLongitudinalBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x2::IfcReinforcingMesh::TransverseBarSpacing() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x2::IfcReinforcingMesh::TransverseBarSpacing() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x2::IfcReinforcingMesh::setTransverseBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< ::Ifc4x2::IfcReinforcingMeshTypeEnum::Value > Ifc4x2::IfcReinforcingMesh::PredefinedType() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } return ::Ifc4x2::IfcReinforcingMeshTypeEnum::FromString(data_.get_attribute_value(17)); } +boost::optional< ::Ifc4x2::IfcReinforcingMeshTypeEnum::Value > Ifc4x2::IfcReinforcingMesh::PredefinedType() const { if(get_attribute_value(17).isNull()) { return boost::none; } return ::Ifc4x2::IfcReinforcingMeshTypeEnum::FromString(get_attribute_value(17)); } void Ifc4x2::IfcReinforcingMesh::setPredefinedType(boost::optional< ::Ifc4x2::IfcReinforcingMeshTypeEnum::Value > v) { if (v) {set_attribute_value(17, EnumerationReference(&::Ifc4x2::IfcReinforcingMeshTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(17);} } const IfcParse::entity& Ifc4x2::IfcReinforcingMesh::declaration() const { return *((IfcParse::entity*)IFC4X2_types[832]); } const IfcParse::entity& Ifc4x2::IfcReinforcingMesh::Class() { return *((IfcParse::entity*)IFC4X2_types[832]); } Ifc4x2::IfcReinforcingMesh::IfcReinforcingMesh(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x2::IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< 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< ::Ifc4x2::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(18))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (EnumerationReference(&::Ifc4x2::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< 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< ::Ifc4x2::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(18))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (EnumerationReference(&::Ifc4x2::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); }; populate_derived(); } // Function implementations for IfcReinforcingMeshType -::Ifc4x2::IfcReinforcingMeshTypeEnum::Value Ifc4x2::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x2::IfcReinforcingMeshTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcReinforcingMeshTypeEnum::Value Ifc4x2::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x2::IfcReinforcingMeshTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcReinforcingMeshType::setPredefinedType(::Ifc4x2::IfcReinforcingMeshTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcReinforcingMeshTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x2::IfcReinforcingMeshType::MeshLength() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x2::IfcReinforcingMeshType::MeshLength() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x2::IfcReinforcingMeshType::setMeshLength(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x2::IfcReinforcingMeshType::MeshWidth() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x2::IfcReinforcingMeshType::MeshWidth() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x2::IfcReinforcingMeshType::setMeshWidth(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x2::IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x2::IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x2::IfcReinforcingMeshType::setLongitudinalBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x2::IfcReinforcingMeshType::TransverseBarNominalDiameter() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x2::IfcReinforcingMeshType::TransverseBarNominalDiameter() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x2::IfcReinforcingMeshType::setTransverseBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x2::IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x2::IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x2::IfcReinforcingMeshType::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x2::IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x2::IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x2::IfcReinforcingMeshType::setTransverseBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x2::IfcReinforcingMeshType::LongitudinalBarSpacing() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x2::IfcReinforcingMeshType::LongitudinalBarSpacing() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x2::IfcReinforcingMeshType::setLongitudinalBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< double > Ifc4x2::IfcReinforcingMeshType::TransverseBarSpacing() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } double v = data_.get_attribute_value(17); return v; } +boost::optional< double > Ifc4x2::IfcReinforcingMeshType::TransverseBarSpacing() const { if(get_attribute_value(17).isNull()) { return boost::none; } double v = get_attribute_value(17); return v; } void Ifc4x2::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } -boost::optional< std::string > Ifc4x2::IfcReinforcingMeshType::BendingShapeCode() const { if(data_.get_attribute_value(18).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(18); return v; } +boost::optional< std::string > Ifc4x2::IfcReinforcingMeshType::BendingShapeCode() const { if(get_attribute_value(18).isNull()) { return boost::none; } std::string v = get_attribute_value(18); return v; } void Ifc4x2::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { if (v) {set_attribute_value(18, *v);} else {unset_attribute_value(18);} } -boost::optional< aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr > Ifc4x2::IfcReinforcingMeshType::BendingParameters() const { if(data_.get_attribute_value(19).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(19); return es->as< ::Ifc4x2::IfcBendingParameterSelect >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr > Ifc4x2::IfcReinforcingMeshType::BendingParameters() const { if(get_attribute_value(19).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(19); return es->as< ::Ifc4x2::IfcBendingParameterSelect >(); } void Ifc4x2::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr > v) { if (v) {set_attribute_value(19, (*v)->generalize());} else {unset_attribute_value(19);} } const IfcParse::entity& Ifc4x2::IfcReinforcingMeshType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[833]); } const IfcParse::entity& Ifc4x2::IfcReinforcingMeshType::Class() { return *((IfcParse::entity*)IFC4X2_types[833]); } Ifc4x2::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x2::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(20))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, (*v20_BendingParameters)->generalize()); }; populate_derived(); } +Ifc4x2::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x2::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(20))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, (*v20_BendingParameters)->generalize()); }; populate_derived(); } // Function implementations for IfcRelAggregates -::Ifc4x2::IfcObjectDefinition* Ifc4x2::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcObjectDefinition>(true); } +::Ifc4x2::IfcObjectDefinition* Ifc4x2::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcObjectDefinition>(true); } void Ifc4x2::IfcRelAggregates::setRelatingObject(::Ifc4x2::IfcObjectDefinition* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr Ifc4x2::IfcRelAggregates::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x2::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr Ifc4x2::IfcRelAggregates::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x2::IfcObjectDefinition >(); } void Ifc4x2::IfcRelAggregates::setRelatedObjects(aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x2::IfcRelAggregates::declaration() const { return *((IfcParse::entity*)IFC4X2_types[835]); } const IfcParse::entity& Ifc4x2::IfcRelAggregates::Class() { return *((IfcParse::entity*)IFC4X2_types[835]); } Ifc4x2::IfcRelAggregates::IfcRelAggregates(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x2::IfcRelAggregates::IfcRelAggregates(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } +Ifc4x2::IfcRelAggregates::IfcRelAggregates(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelAssigns -aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr Ifc4x2::IfcRelAssigns::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x2::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr Ifc4x2::IfcRelAssigns::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x2::IfcObjectDefinition >(); } void Ifc4x2::IfcRelAssigns::setRelatedObjects(aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -boost::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > Ifc4x2::IfcRelAssigns::RelatedObjectsType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x2::IfcObjectTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > Ifc4x2::IfcRelAssigns::RelatedObjectsType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x2::IfcObjectTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x2::IfcRelAssigns::setRelatedObjectsType(boost::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x2::IfcObjectTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x2::IfcRelAssigns::declaration() const { return *((IfcParse::entity*)IFC4X2_types[836]); } const IfcParse::entity& Ifc4x2::IfcRelAssigns::Class() { return *((IfcParse::entity*)IFC4X2_types[836]); } Ifc4x2::IfcRelAssigns::IfcRelAssigns(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x2::IfcRelAssigns::IfcRelAssigns(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) : IfcRelationship(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }; populate_derived(); } +Ifc4x2::IfcRelAssigns::IfcRelAssigns(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }; populate_derived(); } // Function implementations for IfcRelAssignsToActor -::Ifc4x2::IfcActor* Ifc4x2::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x2::IfcActor>(true); } +::Ifc4x2::IfcActor* Ifc4x2::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x2::IfcActor>(true); } void Ifc4x2::IfcRelAssignsToActor::setRelatingActor(::Ifc4x2::IfcActor* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x2::IfcActorRole* Ifc4x2::IfcRelAssignsToActor::ActingRole() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x2::IfcActorRole>(true); } +::Ifc4x2::IfcActorRole* Ifc4x2::IfcRelAssignsToActor::ActingRole() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x2::IfcActorRole>(true); } void Ifc4x2::IfcRelAssignsToActor::setActingRole(::Ifc4x2::IfcActorRole* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x2::IfcRelAssignsToActor::declaration() const { return *((IfcParse::entity*)IFC4X2_types[837]); } const IfcParse::entity& Ifc4x2::IfcRelAssignsToActor::Class() { return *((IfcParse::entity*)IFC4X2_types[837]); } Ifc4x2::IfcRelAssignsToActor::IfcRelAssignsToActor(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x2::IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcActor* v7_RelatingActor, ::Ifc4x2::IfcActorRole* v8_ActingRole) : IfcRelAssigns(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingActor ? v7_RelatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_ActingRole ? v8_ActingRole->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcActor* v7_RelatingActor, ::Ifc4x2::IfcActorRole* v8_ActingRole) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingActor ? v7_RelatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_ActingRole ? v8_ActingRole->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToControl -::Ifc4x2::IfcControl* Ifc4x2::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x2::IfcControl>(true); } +::Ifc4x2::IfcControl* Ifc4x2::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x2::IfcControl>(true); } void Ifc4x2::IfcRelAssignsToControl::setRelatingControl(::Ifc4x2::IfcControl* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x2::IfcRelAssignsToControl::declaration() const { return *((IfcParse::entity*)IFC4X2_types[838]); } const IfcParse::entity& Ifc4x2::IfcRelAssignsToControl::Class() { return *((IfcParse::entity*)IFC4X2_types[838]); } Ifc4x2::IfcRelAssignsToControl::IfcRelAssignsToControl(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x2::IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcControl* v7_RelatingControl) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingControl ? v7_RelatingControl->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcControl* v7_RelatingControl) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingControl ? v7_RelatingControl->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToGroup -::Ifc4x2::IfcGroup* Ifc4x2::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x2::IfcGroup>(true); } +::Ifc4x2::IfcGroup* Ifc4x2::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x2::IfcGroup>(true); } void Ifc4x2::IfcRelAssignsToGroup::setRelatingGroup(::Ifc4x2::IfcGroup* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x2::IfcRelAssignsToGroup::declaration() const { return *((IfcParse::entity*)IFC4X2_types[839]); } const IfcParse::entity& Ifc4x2::IfcRelAssignsToGroup::Class() { return *((IfcParse::entity*)IFC4X2_types[839]); } Ifc4x2::IfcRelAssignsToGroup::IfcRelAssignsToGroup(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x2::IfcRelAssignsToGroup::IfcRelAssignsToGroup(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcGroup* v7_RelatingGroup) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcRelAssignsToGroup::IfcRelAssignsToGroup(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcGroup* v7_RelatingGroup) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToGroupByFactor -double Ifc4x2::IfcRelAssignsToGroupByFactor::Factor() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x2::IfcRelAssignsToGroupByFactor::Factor() const { double v = get_attribute_value(7); return v; } void Ifc4x2::IfcRelAssignsToGroupByFactor::setFactor(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x2::IfcRelAssignsToGroupByFactor::declaration() const { return *((IfcParse::entity*)IFC4X2_types[840]); } const IfcParse::entity& Ifc4x2::IfcRelAssignsToGroupByFactor::Class() { return *((IfcParse::entity*)IFC4X2_types[840]); } Ifc4x2::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(IfcEntityInstanceData&& e) : IfcRelAssignsToGroup(std::move(e)) { } -Ifc4x2::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcGroup* v7_RelatingGroup, double v8_Factor) : IfcRelAssignsToGroup(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_Factor));; populate_derived(); } +Ifc4x2::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcGroup* v7_RelatingGroup, double v8_Factor) : IfcRelAssignsToGroup(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_Factor));; populate_derived(); } // Function implementations for IfcRelAssignsToProcess -::Ifc4x2::IfcProcessSelect* Ifc4x2::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x2::IfcProcessSelect>(true); } +::Ifc4x2::IfcProcessSelect* Ifc4x2::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x2::IfcProcessSelect>(true); } void Ifc4x2::IfcRelAssignsToProcess::setRelatingProcess(::Ifc4x2::IfcProcessSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x2::IfcMeasureWithUnit* Ifc4x2::IfcRelAssignsToProcess::QuantityInProcess() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x2::IfcMeasureWithUnit>(true); } +::Ifc4x2::IfcMeasureWithUnit* Ifc4x2::IfcRelAssignsToProcess::QuantityInProcess() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x2::IfcMeasureWithUnit>(true); } void Ifc4x2::IfcRelAssignsToProcess::setQuantityInProcess(::Ifc4x2::IfcMeasureWithUnit* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x2::IfcRelAssignsToProcess::declaration() const { return *((IfcParse::entity*)IFC4X2_types[841]); } const IfcParse::entity& Ifc4x2::IfcRelAssignsToProcess::Class() { return *((IfcParse::entity*)IFC4X2_types[841]); } Ifc4x2::IfcRelAssignsToProcess::IfcRelAssignsToProcess(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x2::IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcProcessSelect* v7_RelatingProcess, ::Ifc4x2::IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProcess ? v7_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_QuantityInProcess ? v8_QuantityInProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcProcessSelect* v7_RelatingProcess, ::Ifc4x2::IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProcess ? v7_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_QuantityInProcess ? v8_QuantityInProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToProduct -::Ifc4x2::IfcProductSelect* Ifc4x2::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x2::IfcProductSelect>(true); } +::Ifc4x2::IfcProductSelect* Ifc4x2::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x2::IfcProductSelect>(true); } void Ifc4x2::IfcRelAssignsToProduct::setRelatingProduct(::Ifc4x2::IfcProductSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x2::IfcRelAssignsToProduct::declaration() const { return *((IfcParse::entity*)IFC4X2_types[842]); } const IfcParse::entity& Ifc4x2::IfcRelAssignsToProduct::Class() { return *((IfcParse::entity*)IFC4X2_types[842]); } Ifc4x2::IfcRelAssignsToProduct::IfcRelAssignsToProduct(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x2::IfcRelAssignsToProduct::IfcRelAssignsToProduct(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcProductSelect* v7_RelatingProduct) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProduct ? v7_RelatingProduct->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcRelAssignsToProduct::IfcRelAssignsToProduct(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcProductSelect* v7_RelatingProduct) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProduct ? v7_RelatingProduct->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToResource -::Ifc4x2::IfcResourceSelect* Ifc4x2::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x2::IfcResourceSelect>(true); } +::Ifc4x2::IfcResourceSelect* Ifc4x2::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x2::IfcResourceSelect>(true); } void Ifc4x2::IfcRelAssignsToResource::setRelatingResource(::Ifc4x2::IfcResourceSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x2::IfcRelAssignsToResource::declaration() const { return *((IfcParse::entity*)IFC4X2_types[843]); } const IfcParse::entity& Ifc4x2::IfcRelAssignsToResource::Class() { return *((IfcParse::entity*)IFC4X2_types[843]); } Ifc4x2::IfcRelAssignsToResource::IfcRelAssignsToResource(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x2::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingResource ? v7_RelatingResource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x2::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingResource ? v7_RelatingResource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociates -aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr Ifc4x2::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x2::IfcDefinitionSelect >(); } +aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr Ifc4x2::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x2::IfcDefinitionSelect >(); } void Ifc4x2::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x2::IfcRelAssociates::declaration() const { return *((IfcParse::entity*)IFC4X2_types[844]); } const IfcParse::entity& Ifc4x2::IfcRelAssociates::Class() { return *((IfcParse::entity*)IFC4X2_types[844]); } Ifc4x2::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x2::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());; populate_derived(); } +Ifc4x2::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelAssociatesApproval -::Ifc4x2::IfcApproval* Ifc4x2::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcApproval>(true); } +::Ifc4x2::IfcApproval* Ifc4x2::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcApproval>(true); } void Ifc4x2::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4x2::IfcApproval* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x2::IfcRelAssociatesApproval::declaration() const { return *((IfcParse::entity*)IFC4X2_types[845]); } const IfcParse::entity& Ifc4x2::IfcRelAssociatesApproval::Class() { return *((IfcParse::entity*)IFC4X2_types[845]); } Ifc4x2::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x2::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x2::IfcApproval* v6_RelatingApproval) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingApproval ? v6_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x2::IfcApproval* v6_RelatingApproval) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingApproval ? v6_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesClassification -::Ifc4x2::IfcClassificationSelect* Ifc4x2::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcClassificationSelect>(true); } +::Ifc4x2::IfcClassificationSelect* Ifc4x2::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcClassificationSelect>(true); } void Ifc4x2::IfcRelAssociatesClassification::setRelatingClassification(::Ifc4x2::IfcClassificationSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x2::IfcRelAssociatesClassification::declaration() const { return *((IfcParse::entity*)IFC4X2_types[846]); } const IfcParse::entity& Ifc4x2::IfcRelAssociatesClassification::Class() { return *((IfcParse::entity*)IFC4X2_types[846]); } Ifc4x2::IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x2::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x2::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingClassification ? v6_RelatingClassification->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x2::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingClassification ? v6_RelatingClassification->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesConstraint -boost::optional< std::string > Ifc4x2::IfcRelAssociatesConstraint::Intent() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x2::IfcRelAssociatesConstraint::Intent() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcRelAssociatesConstraint::setIntent(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x2::IfcConstraint* Ifc4x2::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x2::IfcConstraint>(true); } +::Ifc4x2::IfcConstraint* Ifc4x2::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x2::IfcConstraint>(true); } void Ifc4x2::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x2::IfcConstraint* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x2::IfcRelAssociatesConstraint::declaration() const { return *((IfcParse::entity*)IFC4X2_types[847]); } const IfcParse::entity& Ifc4x2::IfcRelAssociatesConstraint::Class() { return *((IfcParse::entity*)IFC4X2_types[847]); } Ifc4x2::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x2::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x2::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, v7_RelatingConstraint ? v7_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x2::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, v7_RelatingConstraint ? v7_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesDocument -::Ifc4x2::IfcDocumentSelect* Ifc4x2::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcDocumentSelect>(true); } +::Ifc4x2::IfcDocumentSelect* Ifc4x2::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcDocumentSelect>(true); } void Ifc4x2::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4x2::IfcDocumentSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x2::IfcRelAssociatesDocument::declaration() const { return *((IfcParse::entity*)IFC4X2_types[848]); } const IfcParse::entity& Ifc4x2::IfcRelAssociatesDocument::Class() { return *((IfcParse::entity*)IFC4X2_types[848]); } Ifc4x2::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x2::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x2::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingDocument ? v6_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x2::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingDocument ? v6_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesLibrary -::Ifc4x2::IfcLibrarySelect* Ifc4x2::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcLibrarySelect>(true); } +::Ifc4x2::IfcLibrarySelect* Ifc4x2::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcLibrarySelect>(true); } void Ifc4x2::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4x2::IfcLibrarySelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x2::IfcRelAssociatesLibrary::declaration() const { return *((IfcParse::entity*)IFC4X2_types[849]); } const IfcParse::entity& Ifc4x2::IfcRelAssociatesLibrary::Class() { return *((IfcParse::entity*)IFC4X2_types[849]); } Ifc4x2::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x2::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x2::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingLibrary ? v6_RelatingLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x2::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingLibrary ? v6_RelatingLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesMaterial -::Ifc4x2::IfcMaterialSelect* Ifc4x2::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcMaterialSelect>(true); } +::Ifc4x2::IfcMaterialSelect* Ifc4x2::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcMaterialSelect>(true); } void Ifc4x2::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4x2::IfcMaterialSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x2::IfcRelAssociatesMaterial::declaration() const { return *((IfcParse::entity*)IFC4X2_types[850]); } const IfcParse::entity& Ifc4x2::IfcRelAssociatesMaterial::Class() { return *((IfcParse::entity*)IFC4X2_types[850]); } Ifc4x2::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x2::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x2::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingMaterial ? v6_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x2::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingMaterial ? v6_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnects @@ -13591,165 +13591,165 @@ Ifc4x2::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_Global const IfcParse::entity& Ifc4x2::IfcRelConnects::declaration() const { return *((IfcParse::entity*)IFC4X2_types[852]); } const IfcParse::entity& Ifc4x2::IfcRelConnects::Class() { return *((IfcParse::entity*)IFC4X2_types[852]); } Ifc4x2::IfcRelConnects::IfcRelConnects(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x2::IfcRelConnects::IfcRelConnects(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x2::IfcRelConnects::IfcRelConnects(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRelConnectsElements -::Ifc4x2::IfcConnectionGeometry* Ifc4x2::IfcRelConnectsElements::ConnectionGeometry() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcConnectionGeometry>(true); } +::Ifc4x2::IfcConnectionGeometry* Ifc4x2::IfcRelConnectsElements::ConnectionGeometry() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcConnectionGeometry>(true); } void Ifc4x2::IfcRelConnectsElements::setConnectionGeometry(::Ifc4x2::IfcConnectionGeometry* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcElement* Ifc4x2::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcElement>(true); } +::Ifc4x2::IfcElement* Ifc4x2::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcElement>(true); } void Ifc4x2::IfcRelConnectsElements::setRelatingElement(::Ifc4x2::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x2::IfcElement* Ifc4x2::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x2::IfcElement>(true); } +::Ifc4x2::IfcElement* Ifc4x2::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x2::IfcElement>(true); } void Ifc4x2::IfcRelConnectsElements::setRelatedElement(::Ifc4x2::IfcElement* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x2::IfcRelConnectsElements::declaration() const { return *((IfcParse::entity*)IFC4X2_types[853]); } const IfcParse::entity& Ifc4x2::IfcRelConnectsElements::Class() { return *((IfcParse::entity*)IFC4X2_types[853]); } Ifc4x2::IfcRelConnectsElements::IfcRelConnectsElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x2::IfcRelConnectsElements::IfcRelConnectsElements(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x2::IfcElement* v6_RelatingElement, ::Ifc4x2::IfcElement* v7_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcRelConnectsElements::IfcRelConnectsElements(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x2::IfcElement* v6_RelatingElement, ::Ifc4x2::IfcElement* v7_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsPathElements -std::vector< int > /*[0:?]*/ Ifc4x2::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = data_.get_attribute_value(7); return v; } +std::vector< int > /*[0:?]*/ Ifc4x2::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(7); return v; } void Ifc4x2::IfcRelConnectsPathElements::setRelatingPriorities(std::vector< int > /*[0:?]*/ v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector< int > /*[0:?]*/ Ifc4x2::IfcRelConnectsPathElements::RelatedPriorities() const { std::vector< int > /*[0:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< int > /*[0:?]*/ Ifc4x2::IfcRelConnectsPathElements::RelatedPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(8); return v; } void Ifc4x2::IfcRelConnectsPathElements::setRelatedPriorities(std::vector< int > /*[0:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc4x2::IfcConnectionTypeEnum::Value Ifc4x2::IfcRelConnectsPathElements::RelatedConnectionType() const { return ::Ifc4x2::IfcConnectionTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcConnectionTypeEnum::Value Ifc4x2::IfcRelConnectsPathElements::RelatedConnectionType() const { return ::Ifc4x2::IfcConnectionTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcRelConnectsPathElements::setRelatedConnectionType(::Ifc4x2::IfcConnectionTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x2::IfcConnectionTypeEnum::Value Ifc4x2::IfcRelConnectsPathElements::RelatingConnectionType() const { return ::Ifc4x2::IfcConnectionTypeEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x2::IfcConnectionTypeEnum::Value Ifc4x2::IfcRelConnectsPathElements::RelatingConnectionType() const { return ::Ifc4x2::IfcConnectionTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x2::IfcRelConnectsPathElements::setRelatingConnectionType(::Ifc4x2::IfcConnectionTypeEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x2::IfcConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x2::IfcRelConnectsPathElements::declaration() const { return *((IfcParse::entity*)IFC4X2_types[854]); } const IfcParse::entity& Ifc4x2::IfcRelConnectsPathElements::Class() { return *((IfcParse::entity*)IFC4X2_types[854]); } Ifc4x2::IfcRelConnectsPathElements::IfcRelConnectsPathElements(IfcEntityInstanceData&& e) : IfcRelConnectsElements(std::move(e)) { } -Ifc4x2::IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x2::IfcElement* v6_RelatingElement, ::Ifc4x2::IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x2::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x2::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; populate_derived(); } +Ifc4x2::IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x2::IfcElement* v6_RelatingElement, ::Ifc4x2::IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x2::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x2::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; populate_derived(); } // Function implementations for IfcRelConnectsPortToElement -::Ifc4x2::IfcPort* Ifc4x2::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcPort>(true); } +::Ifc4x2::IfcPort* Ifc4x2::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcPort>(true); } void Ifc4x2::IfcRelConnectsPortToElement::setRelatingPort(::Ifc4x2::IfcPort* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcDistributionElement* Ifc4x2::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcDistributionElement>(true); } +::Ifc4x2::IfcDistributionElement* Ifc4x2::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcDistributionElement>(true); } void Ifc4x2::IfcRelConnectsPortToElement::setRelatedElement(::Ifc4x2::IfcDistributionElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x2::IfcRelConnectsPortToElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[856]); } const IfcParse::entity& Ifc4x2::IfcRelConnectsPortToElement::Class() { return *((IfcParse::entity*)IFC4X2_types[856]); } Ifc4x2::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x2::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcPort* v5_RelatingPort, ::Ifc4x2::IfcDistributionElement* v6_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcPort* v5_RelatingPort, ::Ifc4x2::IfcDistributionElement* v6_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsPorts -::Ifc4x2::IfcPort* Ifc4x2::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcPort>(true); } +::Ifc4x2::IfcPort* Ifc4x2::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcPort>(true); } void Ifc4x2::IfcRelConnectsPorts::setRelatingPort(::Ifc4x2::IfcPort* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcPort* Ifc4x2::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcPort>(true); } +::Ifc4x2::IfcPort* Ifc4x2::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcPort>(true); } void Ifc4x2::IfcRelConnectsPorts::setRelatedPort(::Ifc4x2::IfcPort* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x2::IfcElement* Ifc4x2::IfcRelConnectsPorts::RealizingElement() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x2::IfcElement>(true); } +::Ifc4x2::IfcElement* Ifc4x2::IfcRelConnectsPorts::RealizingElement() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x2::IfcElement>(true); } void Ifc4x2::IfcRelConnectsPorts::setRealizingElement(::Ifc4x2::IfcElement* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x2::IfcRelConnectsPorts::declaration() const { return *((IfcParse::entity*)IFC4X2_types[855]); } const IfcParse::entity& Ifc4x2::IfcRelConnectsPorts::Class() { return *((IfcParse::entity*)IFC4X2_types[855]); } Ifc4x2::IfcRelConnectsPorts::IfcRelConnectsPorts(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x2::IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcPort* v5_RelatingPort, ::Ifc4x2::IfcPort* v6_RelatedPort, ::Ifc4x2::IfcElement* v7_RealizingElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedPort ? v6_RelatedPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RealizingElement ? v7_RealizingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcPort* v5_RelatingPort, ::Ifc4x2::IfcPort* v6_RelatedPort, ::Ifc4x2::IfcElement* v7_RealizingElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedPort ? v6_RelatedPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RealizingElement ? v7_RealizingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsStructuralActivity -::Ifc4x2::IfcStructuralActivityAssignmentSelect* Ifc4x2::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcStructuralActivityAssignmentSelect>(true); } +::Ifc4x2::IfcStructuralActivityAssignmentSelect* Ifc4x2::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcStructuralActivityAssignmentSelect>(true); } void Ifc4x2::IfcRelConnectsStructuralActivity::setRelatingElement(::Ifc4x2::IfcStructuralActivityAssignmentSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcStructuralActivity* Ifc4x2::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcStructuralActivity>(true); } +::Ifc4x2::IfcStructuralActivity* Ifc4x2::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcStructuralActivity>(true); } void Ifc4x2::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(::Ifc4x2::IfcStructuralActivity* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x2::IfcRelConnectsStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC4X2_types[857]); } const IfcParse::entity& Ifc4x2::IfcRelConnectsStructuralActivity::Class() { return *((IfcParse::entity*)IFC4X2_types[857]); } Ifc4x2::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x2::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcStructuralActivityAssignmentSelect* v5_RelatingElement, ::Ifc4x2::IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralActivity ? v6_RelatedStructuralActivity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcStructuralActivityAssignmentSelect* v5_RelatingElement, ::Ifc4x2::IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralActivity ? v6_RelatedStructuralActivity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsStructuralMember -::Ifc4x2::IfcStructuralMember* Ifc4x2::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcStructuralMember>(true); } +::Ifc4x2::IfcStructuralMember* Ifc4x2::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcStructuralMember>(true); } void Ifc4x2::IfcRelConnectsStructuralMember::setRelatingStructuralMember(::Ifc4x2::IfcStructuralMember* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcStructuralConnection* Ifc4x2::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcStructuralConnection>(true); } +::Ifc4x2::IfcStructuralConnection* Ifc4x2::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcStructuralConnection>(true); } void Ifc4x2::IfcRelConnectsStructuralMember::setRelatedStructuralConnection(::Ifc4x2::IfcStructuralConnection* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x2::IfcBoundaryCondition* Ifc4x2::IfcRelConnectsStructuralMember::AppliedCondition() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x2::IfcBoundaryCondition>(true); } +::Ifc4x2::IfcBoundaryCondition* Ifc4x2::IfcRelConnectsStructuralMember::AppliedCondition() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x2::IfcBoundaryCondition>(true); } void Ifc4x2::IfcRelConnectsStructuralMember::setAppliedCondition(::Ifc4x2::IfcBoundaryCondition* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x2::IfcStructuralConnectionCondition* Ifc4x2::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x2::IfcStructuralConnectionCondition>(true); } +::Ifc4x2::IfcStructuralConnectionCondition* Ifc4x2::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x2::IfcStructuralConnectionCondition>(true); } void Ifc4x2::IfcRelConnectsStructuralMember::setAdditionalConditions(::Ifc4x2::IfcStructuralConnectionCondition* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc4x2::IfcRelConnectsStructuralMember::SupportedLength() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x2::IfcRelConnectsStructuralMember::SupportedLength() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x2::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x2::IfcAxis2Placement3D>(true); } +::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x2::IfcAxis2Placement3D>(true); } void Ifc4x2::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(::Ifc4x2::IfcAxis2Placement3D* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcRelConnectsStructuralMember::declaration() const { return *((IfcParse::entity*)IFC4X2_types[858]); } const IfcParse::entity& Ifc4x2::IfcRelConnectsStructuralMember::Class() { return *((IfcParse::entity*)IFC4X2_types[858]); } Ifc4x2::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x2::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x2::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x2::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x2::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x2::IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x2::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x2::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x2::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x2::IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsWithEccentricity -::Ifc4x2::IfcConnectionGeometry* Ifc4x2::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x2::IfcConnectionGeometry>(true); } +::Ifc4x2::IfcConnectionGeometry* Ifc4x2::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x2::IfcConnectionGeometry>(true); } void Ifc4x2::IfcRelConnectsWithEccentricity::setConnectionConstraint(::Ifc4x2::IfcConnectionGeometry* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x2::IfcRelConnectsWithEccentricity::declaration() const { return *((IfcParse::entity*)IFC4X2_types[859]); } const IfcParse::entity& Ifc4x2::IfcRelConnectsWithEccentricity::Class() { return *((IfcParse::entity*)IFC4X2_types[859]); } Ifc4x2::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(IfcEntityInstanceData&& e) : IfcRelConnectsStructuralMember(std::move(e)) { } -Ifc4x2::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x2::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x2::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x2::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x2::IfcAxis2Placement3D* v10_ConditionCoordinateSystem, ::Ifc4x2::IfcConnectionGeometry* v11_ConnectionConstraint) : IfcRelConnectsStructuralMember(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ConnectionConstraint ? v11_ConnectionConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x2::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x2::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x2::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x2::IfcAxis2Placement3D* v10_ConditionCoordinateSystem, ::Ifc4x2::IfcConnectionGeometry* v11_ConnectionConstraint) : IfcRelConnectsStructuralMember(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ConnectionConstraint ? v11_ConnectionConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsWithRealizingElements -aggregate_of< ::Ifc4x2::IfcElement >::ptr Ifc4x2::IfcRelConnectsWithRealizingElements::RealizingElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x2::IfcElement >(); } +aggregate_of< ::Ifc4x2::IfcElement >::ptr Ifc4x2::IfcRelConnectsWithRealizingElements::RealizingElements() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x2::IfcElement >(); } void Ifc4x2::IfcRelConnectsWithRealizingElements::setRealizingElements(aggregate_of< ::Ifc4x2::IfcElement >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc4x2::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x2::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x2::IfcRelConnectsWithRealizingElements::setConnectionType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcRelConnectsWithRealizingElements::declaration() const { return *((IfcParse::entity*)IFC4X2_types[860]); } const IfcParse::entity& Ifc4x2::IfcRelConnectsWithRealizingElements::Class() { return *((IfcParse::entity*)IFC4X2_types[860]); } Ifc4x2::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(IfcEntityInstanceData&& e) : IfcRelConnectsElements(std::move(e)) { } -Ifc4x2::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x2::IfcElement* v6_RelatingElement, ::Ifc4x2::IfcElement* v7_RelatedElement, aggregate_of< ::Ifc4x2::IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RealizingElements)->generalize()); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; populate_derived(); } +Ifc4x2::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x2::IfcElement* v6_RelatingElement, ::Ifc4x2::IfcElement* v7_RelatedElement, aggregate_of< ::Ifc4x2::IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RealizingElements)->generalize()); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; populate_derived(); } // Function implementations for IfcRelContainedInSpatialStructure -aggregate_of< ::Ifc4x2::IfcProduct >::ptr Ifc4x2::IfcRelContainedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x2::IfcProduct >(); } +aggregate_of< ::Ifc4x2::IfcProduct >::ptr Ifc4x2::IfcRelContainedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x2::IfcProduct >(); } void Ifc4x2::IfcRelContainedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x2::IfcProduct >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcSpatialElement* Ifc4x2::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcSpatialElement>(true); } +::Ifc4x2::IfcSpatialElement* Ifc4x2::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcSpatialElement>(true); } void Ifc4x2::IfcRelContainedInSpatialStructure::setRelatingStructure(::Ifc4x2::IfcSpatialElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x2::IfcRelContainedInSpatialStructure::declaration() const { return *((IfcParse::entity*)IFC4X2_types[861]); } const IfcParse::entity& Ifc4x2::IfcRelContainedInSpatialStructure::Class() { return *((IfcParse::entity*)IFC4X2_types[861]); } Ifc4x2::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x2::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcProduct >::ptr v5_RelatedElements, ::Ifc4x2::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcProduct >::ptr v5_RelatedElements, ::Ifc4x2::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelCoversBldgElements -::Ifc4x2::IfcElement* Ifc4x2::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcElement>(true); } +::Ifc4x2::IfcElement* Ifc4x2::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcElement>(true); } void Ifc4x2::IfcRelCoversBldgElements::setRelatingBuildingElement(::Ifc4x2::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x2::IfcCovering >::ptr Ifc4x2::IfcRelCoversBldgElements::RelatedCoverings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x2::IfcCovering >(); } +aggregate_of< ::Ifc4x2::IfcCovering >::ptr Ifc4x2::IfcRelCoversBldgElements::RelatedCoverings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x2::IfcCovering >(); } void Ifc4x2::IfcRelCoversBldgElements::setRelatedCoverings(aggregate_of< ::Ifc4x2::IfcCovering >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x2::IfcRelCoversBldgElements::declaration() const { return *((IfcParse::entity*)IFC4X2_types[862]); } const IfcParse::entity& Ifc4x2::IfcRelCoversBldgElements::Class() { return *((IfcParse::entity*)IFC4X2_types[862]); } Ifc4x2::IfcRelCoversBldgElements::IfcRelCoversBldgElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x2::IfcRelCoversBldgElements::IfcRelCoversBldgElements(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcElement* v5_RelatingBuildingElement, aggregate_of< ::Ifc4x2::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } +Ifc4x2::IfcRelCoversBldgElements::IfcRelCoversBldgElements(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcElement* v5_RelatingBuildingElement, aggregate_of< ::Ifc4x2::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } // Function implementations for IfcRelCoversSpaces -::Ifc4x2::IfcSpace* Ifc4x2::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcSpace>(true); } +::Ifc4x2::IfcSpace* Ifc4x2::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcSpace>(true); } void Ifc4x2::IfcRelCoversSpaces::setRelatingSpace(::Ifc4x2::IfcSpace* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x2::IfcCovering >::ptr Ifc4x2::IfcRelCoversSpaces::RelatedCoverings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x2::IfcCovering >(); } +aggregate_of< ::Ifc4x2::IfcCovering >::ptr Ifc4x2::IfcRelCoversSpaces::RelatedCoverings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x2::IfcCovering >(); } void Ifc4x2::IfcRelCoversSpaces::setRelatedCoverings(aggregate_of< ::Ifc4x2::IfcCovering >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x2::IfcRelCoversSpaces::declaration() const { return *((IfcParse::entity*)IFC4X2_types[863]); } const IfcParse::entity& Ifc4x2::IfcRelCoversSpaces::Class() { return *((IfcParse::entity*)IFC4X2_types[863]); } Ifc4x2::IfcRelCoversSpaces::IfcRelCoversSpaces(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x2::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcSpace* v5_RelatingSpace, aggregate_of< ::Ifc4x2::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } +Ifc4x2::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcSpace* v5_RelatingSpace, aggregate_of< ::Ifc4x2::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } // Function implementations for IfcRelDeclares -::Ifc4x2::IfcContext* Ifc4x2::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcContext>(true); } +::Ifc4x2::IfcContext* Ifc4x2::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcContext>(true); } void Ifc4x2::IfcRelDeclares::setRelatingContext(::Ifc4x2::IfcContext* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr Ifc4x2::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x2::IfcDefinitionSelect >(); } +aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr Ifc4x2::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x2::IfcDefinitionSelect >(); } void Ifc4x2::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x2::IfcRelDeclares::declaration() const { return *((IfcParse::entity*)IFC4X2_types[864]); } const IfcParse::entity& Ifc4x2::IfcRelDeclares::Class() { return *((IfcParse::entity*)IFC4X2_types[864]); } Ifc4x2::IfcRelDeclares::IfcRelDeclares(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x2::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingContext ? v5_RelatingContext->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedDefinitions)->generalize());; populate_derived(); } +Ifc4x2::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x2::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingContext ? v5_RelatingContext->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedDefinitions)->generalize());; populate_derived(); } // Function implementations for IfcRelDecomposes @@ -13757,7 +13757,7 @@ Ifc4x2::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x2::IfcOwn const IfcParse::entity& Ifc4x2::IfcRelDecomposes::declaration() const { return *((IfcParse::entity*)IFC4X2_types[865]); } const IfcParse::entity& Ifc4x2::IfcRelDecomposes::Class() { return *((IfcParse::entity*)IFC4X2_types[865]); } Ifc4x2::IfcRelDecomposes::IfcRelDecomposes(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x2::IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x2::IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRelDefines @@ -13765,196 +13765,196 @@ Ifc4x2::IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, ::Ifc4x2::If const IfcParse::entity& Ifc4x2::IfcRelDefines::declaration() const { return *((IfcParse::entity*)IFC4X2_types[866]); } const IfcParse::entity& Ifc4x2::IfcRelDefines::Class() { return *((IfcParse::entity*)IFC4X2_types[866]); } Ifc4x2::IfcRelDefines::IfcRelDefines(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x2::IfcRelDefines::IfcRelDefines(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x2::IfcRelDefines::IfcRelDefines(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRelDefinesByObject -aggregate_of< ::Ifc4x2::IfcObject >::ptr Ifc4x2::IfcRelDefinesByObject::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x2::IfcObject >(); } +aggregate_of< ::Ifc4x2::IfcObject >::ptr Ifc4x2::IfcRelDefinesByObject::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x2::IfcObject >(); } void Ifc4x2::IfcRelDefinesByObject::setRelatedObjects(aggregate_of< ::Ifc4x2::IfcObject >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcObject* Ifc4x2::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcObject>(true); } +::Ifc4x2::IfcObject* Ifc4x2::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcObject>(true); } void Ifc4x2::IfcRelDefinesByObject::setRelatingObject(::Ifc4x2::IfcObject* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x2::IfcRelDefinesByObject::declaration() const { return *((IfcParse::entity*)IFC4X2_types[867]); } const IfcParse::entity& Ifc4x2::IfcRelDefinesByObject::Class() { return *((IfcParse::entity*)IFC4X2_types[867]); } Ifc4x2::IfcRelDefinesByObject::IfcRelDefinesByObject(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x2::IfcRelDefinesByObject::IfcRelDefinesByObject(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x2::IfcObject* v6_RelatingObject) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingObject ? v6_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcRelDefinesByObject::IfcRelDefinesByObject(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x2::IfcObject* v6_RelatingObject) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingObject ? v6_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelDefinesByProperties -aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr Ifc4x2::IfcRelDefinesByProperties::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x2::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr Ifc4x2::IfcRelDefinesByProperties::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x2::IfcObjectDefinition >(); } void Ifc4x2::IfcRelDefinesByProperties::setRelatedObjects(aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcPropertySetDefinitionSelect* Ifc4x2::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcPropertySetDefinitionSelect>(true); } +::Ifc4x2::IfcPropertySetDefinitionSelect* Ifc4x2::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcPropertySetDefinitionSelect>(true); } void Ifc4x2::IfcRelDefinesByProperties::setRelatingPropertyDefinition(::Ifc4x2::IfcPropertySetDefinitionSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x2::IfcRelDefinesByProperties::declaration() const { return *((IfcParse::entity*)IFC4X2_types[868]); } const IfcParse::entity& Ifc4x2::IfcRelDefinesByProperties::Class() { return *((IfcParse::entity*)IFC4X2_types[868]); } Ifc4x2::IfcRelDefinesByProperties::IfcRelDefinesByProperties(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x2::IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v5_RelatedObjects, ::Ifc4x2::IfcPropertySetDefinitionSelect* v6_RelatingPropertyDefinition) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingPropertyDefinition ? v6_RelatingPropertyDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v5_RelatedObjects, ::Ifc4x2::IfcPropertySetDefinitionSelect* v6_RelatingPropertyDefinition) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingPropertyDefinition ? v6_RelatingPropertyDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelDefinesByTemplate -aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr Ifc4x2::IfcRelDefinesByTemplate::RelatedPropertySets() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x2::IfcPropertySetDefinition >(); } +aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr Ifc4x2::IfcRelDefinesByTemplate::RelatedPropertySets() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x2::IfcPropertySetDefinition >(); } void Ifc4x2::IfcRelDefinesByTemplate::setRelatedPropertySets(aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcPropertySetTemplate* Ifc4x2::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcPropertySetTemplate>(true); } +::Ifc4x2::IfcPropertySetTemplate* Ifc4x2::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcPropertySetTemplate>(true); } void Ifc4x2::IfcRelDefinesByTemplate::setRelatingTemplate(::Ifc4x2::IfcPropertySetTemplate* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x2::IfcRelDefinesByTemplate::declaration() const { return *((IfcParse::entity*)IFC4X2_types[869]); } const IfcParse::entity& Ifc4x2::IfcRelDefinesByTemplate::Class() { return *((IfcParse::entity*)IFC4X2_types[869]); } Ifc4x2::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x2::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr v5_RelatedPropertySets, ::Ifc4x2::IfcPropertySetTemplate* v6_RelatingTemplate) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedPropertySets)->generalize());set_attribute_value(5, v6_RelatingTemplate ? v6_RelatingTemplate->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr v5_RelatedPropertySets, ::Ifc4x2::IfcPropertySetTemplate* v6_RelatingTemplate) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedPropertySets)->generalize());set_attribute_value(5, v6_RelatingTemplate ? v6_RelatingTemplate->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelDefinesByType -aggregate_of< ::Ifc4x2::IfcObject >::ptr Ifc4x2::IfcRelDefinesByType::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x2::IfcObject >(); } +aggregate_of< ::Ifc4x2::IfcObject >::ptr Ifc4x2::IfcRelDefinesByType::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x2::IfcObject >(); } void Ifc4x2::IfcRelDefinesByType::setRelatedObjects(aggregate_of< ::Ifc4x2::IfcObject >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcTypeObject* Ifc4x2::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcTypeObject>(true); } +::Ifc4x2::IfcTypeObject* Ifc4x2::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcTypeObject>(true); } void Ifc4x2::IfcRelDefinesByType::setRelatingType(::Ifc4x2::IfcTypeObject* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x2::IfcRelDefinesByType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[870]); } const IfcParse::entity& Ifc4x2::IfcRelDefinesByType::Class() { return *((IfcParse::entity*)IFC4X2_types[870]); } Ifc4x2::IfcRelDefinesByType::IfcRelDefinesByType(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x2::IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x2::IfcTypeObject* v6_RelatingType) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingType ? v6_RelatingType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x2::IfcTypeObject* v6_RelatingType) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingType ? v6_RelatingType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelFillsElement -::Ifc4x2::IfcOpeningElement* Ifc4x2::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcOpeningElement>(true); } +::Ifc4x2::IfcOpeningElement* Ifc4x2::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcOpeningElement>(true); } void Ifc4x2::IfcRelFillsElement::setRelatingOpeningElement(::Ifc4x2::IfcOpeningElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcElement* Ifc4x2::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcElement>(true); } +::Ifc4x2::IfcElement* Ifc4x2::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcElement>(true); } void Ifc4x2::IfcRelFillsElement::setRelatedBuildingElement(::Ifc4x2::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x2::IfcRelFillsElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[871]); } const IfcParse::entity& Ifc4x2::IfcRelFillsElement::Class() { return *((IfcParse::entity*)IFC4X2_types[871]); } Ifc4x2::IfcRelFillsElement::IfcRelFillsElement(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x2::IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcOpeningElement* v5_RelatingOpeningElement, ::Ifc4x2::IfcElement* v6_RelatedBuildingElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingOpeningElement ? v5_RelatingOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcOpeningElement* v5_RelatingOpeningElement, ::Ifc4x2::IfcElement* v6_RelatedBuildingElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingOpeningElement ? v5_RelatingOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelFlowControlElements -aggregate_of< ::Ifc4x2::IfcDistributionControlElement >::ptr Ifc4x2::IfcRelFlowControlElements::RelatedControlElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x2::IfcDistributionControlElement >(); } +aggregate_of< ::Ifc4x2::IfcDistributionControlElement >::ptr Ifc4x2::IfcRelFlowControlElements::RelatedControlElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x2::IfcDistributionControlElement >(); } void Ifc4x2::IfcRelFlowControlElements::setRelatedControlElements(aggregate_of< ::Ifc4x2::IfcDistributionControlElement >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcDistributionFlowElement* Ifc4x2::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcDistributionFlowElement>(true); } +::Ifc4x2::IfcDistributionFlowElement* Ifc4x2::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcDistributionFlowElement>(true); } void Ifc4x2::IfcRelFlowControlElements::setRelatingFlowElement(::Ifc4x2::IfcDistributionFlowElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x2::IfcRelFlowControlElements::declaration() const { return *((IfcParse::entity*)IFC4X2_types[872]); } const IfcParse::entity& Ifc4x2::IfcRelFlowControlElements::Class() { return *((IfcParse::entity*)IFC4X2_types[872]); } Ifc4x2::IfcRelFlowControlElements::IfcRelFlowControlElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x2::IfcRelFlowControlElements::IfcRelFlowControlElements(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDistributionControlElement >::ptr v5_RelatedControlElements, ::Ifc4x2::IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedControlElements)->generalize());set_attribute_value(5, v6_RelatingFlowElement ? v6_RelatingFlowElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcRelFlowControlElements::IfcRelFlowControlElements(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcDistributionControlElement >::ptr v5_RelatedControlElements, ::Ifc4x2::IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedControlElements)->generalize());set_attribute_value(5, v6_RelatingFlowElement ? v6_RelatingFlowElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelInterferesElements -::Ifc4x2::IfcElement* Ifc4x2::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcElement>(true); } +::Ifc4x2::IfcElement* Ifc4x2::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcElement>(true); } void Ifc4x2::IfcRelInterferesElements::setRelatingElement(::Ifc4x2::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcElement* Ifc4x2::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcElement>(true); } +::Ifc4x2::IfcElement* Ifc4x2::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcElement>(true); } void Ifc4x2::IfcRelInterferesElements::setRelatedElement(::Ifc4x2::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x2::IfcConnectionGeometry* Ifc4x2::IfcRelInterferesElements::InterferenceGeometry() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x2::IfcConnectionGeometry>(true); } +::Ifc4x2::IfcConnectionGeometry* Ifc4x2::IfcRelInterferesElements::InterferenceGeometry() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x2::IfcConnectionGeometry>(true); } void Ifc4x2::IfcRelInterferesElements::setInterferenceGeometry(::Ifc4x2::IfcConnectionGeometry* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< std::string > Ifc4x2::IfcRelInterferesElements::InterferenceType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x2::IfcRelInterferesElements::InterferenceType() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x2::IfcRelInterferesElements::setInterferenceType(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::logic::tribool Ifc4x2::IfcRelInterferesElements::ImpliedOrder() const { boost::logic::tribool v = data_.get_attribute_value(8); return v; } +boost::logic::tribool Ifc4x2::IfcRelInterferesElements::ImpliedOrder() const { boost::logic::tribool v = get_attribute_value(8); return v; } void Ifc4x2::IfcRelInterferesElements::setImpliedOrder(boost::logic::tribool v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x2::IfcRelInterferesElements::declaration() const { return *((IfcParse::entity*)IFC4X2_types[873]); } const IfcParse::entity& Ifc4x2::IfcRelInterferesElements::Class() { return *((IfcParse::entity*)IFC4X2_types[873]); } Ifc4x2::IfcRelInterferesElements::IfcRelInterferesElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x2::IfcRelInterferesElements::IfcRelInterferesElements(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcElement* v5_RelatingElement, ::Ifc4x2::IfcElement* v6_RelatedElement, ::Ifc4x2::IfcConnectionGeometry* v7_InterferenceGeometry, boost::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder) : IfcRelConnects(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_InterferenceGeometry ? v7_InterferenceGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder));; populate_derived(); } +Ifc4x2::IfcRelInterferesElements::IfcRelInterferesElements(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcElement* v5_RelatingElement, ::Ifc4x2::IfcElement* v6_RelatedElement, ::Ifc4x2::IfcConnectionGeometry* v7_InterferenceGeometry, boost::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_InterferenceGeometry ? v7_InterferenceGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder));; populate_derived(); } // Function implementations for IfcRelNests -::Ifc4x2::IfcObjectDefinition* Ifc4x2::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcObjectDefinition>(true); } +::Ifc4x2::IfcObjectDefinition* Ifc4x2::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcObjectDefinition>(true); } void Ifc4x2::IfcRelNests::setRelatingObject(::Ifc4x2::IfcObjectDefinition* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr Ifc4x2::IfcRelNests::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x2::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr Ifc4x2::IfcRelNests::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x2::IfcObjectDefinition >(); } void Ifc4x2::IfcRelNests::setRelatedObjects(aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x2::IfcRelNests::declaration() const { return *((IfcParse::entity*)IFC4X2_types[874]); } const IfcParse::entity& Ifc4x2::IfcRelNests::Class() { return *((IfcParse::entity*)IFC4X2_types[874]); } Ifc4x2::IfcRelNests::IfcRelNests(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x2::IfcRelNests::IfcRelNests(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } +Ifc4x2::IfcRelNests::IfcRelNests(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x2::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelPositions -::Ifc4x2::IfcPositioningElement* Ifc4x2::IfcRelPositions::RelatingPositioningElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcPositioningElement>(true); } +::Ifc4x2::IfcPositioningElement* Ifc4x2::IfcRelPositions::RelatingPositioningElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcPositioningElement>(true); } void Ifc4x2::IfcRelPositions::setRelatingPositioningElement(::Ifc4x2::IfcPositioningElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x2::IfcProduct >::ptr Ifc4x2::IfcRelPositions::RelatedProducts() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x2::IfcProduct >(); } +aggregate_of< ::Ifc4x2::IfcProduct >::ptr Ifc4x2::IfcRelPositions::RelatedProducts() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x2::IfcProduct >(); } void Ifc4x2::IfcRelPositions::setRelatedProducts(aggregate_of< ::Ifc4x2::IfcProduct >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x2::IfcRelPositions::declaration() const { return *((IfcParse::entity*)IFC4X2_types[875]); } const IfcParse::entity& Ifc4x2::IfcRelPositions::Class() { return *((IfcParse::entity*)IFC4X2_types[875]); } Ifc4x2::IfcRelPositions::IfcRelPositions(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x2::IfcRelPositions::IfcRelPositions(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcPositioningElement* v5_RelatingPositioningElement, aggregate_of< ::Ifc4x2::IfcProduct >::ptr v6_RelatedProducts) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPositioningElement ? v5_RelatingPositioningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedProducts)->generalize());; populate_derived(); } +Ifc4x2::IfcRelPositions::IfcRelPositions(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcPositioningElement* v5_RelatingPositioningElement, aggregate_of< ::Ifc4x2::IfcProduct >::ptr v6_RelatedProducts) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPositioningElement ? v5_RelatingPositioningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedProducts)->generalize());; populate_derived(); } // Function implementations for IfcRelProjectsElement -::Ifc4x2::IfcElement* Ifc4x2::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcElement>(true); } +::Ifc4x2::IfcElement* Ifc4x2::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcElement>(true); } void Ifc4x2::IfcRelProjectsElement::setRelatingElement(::Ifc4x2::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcFeatureElementAddition* Ifc4x2::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcFeatureElementAddition>(true); } +::Ifc4x2::IfcFeatureElementAddition* Ifc4x2::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcFeatureElementAddition>(true); } void Ifc4x2::IfcRelProjectsElement::setRelatedFeatureElement(::Ifc4x2::IfcFeatureElementAddition* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x2::IfcRelProjectsElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[876]); } const IfcParse::entity& Ifc4x2::IfcRelProjectsElement::Class() { return *((IfcParse::entity*)IFC4X2_types[876]); } Ifc4x2::IfcRelProjectsElement::IfcRelProjectsElement(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x2::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcElement* v5_RelatingElement, ::Ifc4x2::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedFeatureElement ? v6_RelatedFeatureElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcElement* v5_RelatingElement, ::Ifc4x2::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedFeatureElement ? v6_RelatedFeatureElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelReferencedInSpatialStructure -aggregate_of< ::Ifc4x2::IfcProduct >::ptr Ifc4x2::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x2::IfcProduct >(); } +aggregate_of< ::Ifc4x2::IfcProduct >::ptr Ifc4x2::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x2::IfcProduct >(); } void Ifc4x2::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x2::IfcProduct >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcSpatialElement* Ifc4x2::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcSpatialElement>(true); } +::Ifc4x2::IfcSpatialElement* Ifc4x2::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcSpatialElement>(true); } void Ifc4x2::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4x2::IfcSpatialElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x2::IfcRelReferencedInSpatialStructure::declaration() const { return *((IfcParse::entity*)IFC4X2_types[877]); } const IfcParse::entity& Ifc4x2::IfcRelReferencedInSpatialStructure::Class() { return *((IfcParse::entity*)IFC4X2_types[877]); } Ifc4x2::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x2::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcProduct >::ptr v5_RelatedElements, ::Ifc4x2::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x2::IfcProduct >::ptr v5_RelatedElements, ::Ifc4x2::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelSequence -::Ifc4x2::IfcProcess* Ifc4x2::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcProcess>(true); } +::Ifc4x2::IfcProcess* Ifc4x2::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcProcess>(true); } void Ifc4x2::IfcRelSequence::setRelatingProcess(::Ifc4x2::IfcProcess* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcProcess* Ifc4x2::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcProcess>(true); } +::Ifc4x2::IfcProcess* Ifc4x2::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcProcess>(true); } void Ifc4x2::IfcRelSequence::setRelatedProcess(::Ifc4x2::IfcProcess* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x2::IfcLagTime* Ifc4x2::IfcRelSequence::TimeLag() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x2::IfcLagTime>(true); } +::Ifc4x2::IfcLagTime* Ifc4x2::IfcRelSequence::TimeLag() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x2::IfcLagTime>(true); } void Ifc4x2::IfcRelSequence::setTimeLag(::Ifc4x2::IfcLagTime* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< ::Ifc4x2::IfcSequenceEnum::Value > Ifc4x2::IfcRelSequence::SequenceType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x2::IfcSequenceEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x2::IfcSequenceEnum::Value > Ifc4x2::IfcRelSequence::SequenceType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x2::IfcSequenceEnum::FromString(get_attribute_value(7)); } void Ifc4x2::IfcRelSequence::setSequenceType(boost::optional< ::Ifc4x2::IfcSequenceEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x2::IfcSequenceEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x2::IfcRelSequence::UserDefinedSequenceType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x2::IfcRelSequence::UserDefinedSequenceType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x2::IfcRelSequence::setUserDefinedSequenceType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcRelSequence::declaration() const { return *((IfcParse::entity*)IFC4X2_types[878]); } const IfcParse::entity& Ifc4x2::IfcRelSequence::Class() { return *((IfcParse::entity*)IFC4X2_types[878]); } Ifc4x2::IfcRelSequence::IfcRelSequence(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x2::IfcRelSequence::IfcRelSequence(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcProcess* v5_RelatingProcess, ::Ifc4x2::IfcProcess* v6_RelatedProcess, ::Ifc4x2::IfcLagTime* v7_TimeLag, boost::optional< ::Ifc4x2::IfcSequenceEnum::Value > v8_SequenceType, boost::optional< std::string > v9_UserDefinedSequenceType) : IfcRelConnects(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingProcess ? v5_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedProcess ? v6_RelatedProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_TimeLag ? v7_TimeLag->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_SequenceType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); }; populate_derived(); } +Ifc4x2::IfcRelSequence::IfcRelSequence(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcProcess* v5_RelatingProcess, ::Ifc4x2::IfcProcess* v6_RelatedProcess, ::Ifc4x2::IfcLagTime* v7_TimeLag, boost::optional< ::Ifc4x2::IfcSequenceEnum::Value > v8_SequenceType, boost::optional< std::string > v9_UserDefinedSequenceType) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingProcess ? v5_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedProcess ? v6_RelatedProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_TimeLag ? v7_TimeLag->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_SequenceType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); }; populate_derived(); } // Function implementations for IfcRelServicesBuildings -::Ifc4x2::IfcSystem* Ifc4x2::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcSystem>(true); } +::Ifc4x2::IfcSystem* Ifc4x2::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcSystem>(true); } void Ifc4x2::IfcRelServicesBuildings::setRelatingSystem(::Ifc4x2::IfcSystem* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x2::IfcSpatialElement >::ptr Ifc4x2::IfcRelServicesBuildings::RelatedBuildings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x2::IfcSpatialElement >(); } +aggregate_of< ::Ifc4x2::IfcSpatialElement >::ptr Ifc4x2::IfcRelServicesBuildings::RelatedBuildings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x2::IfcSpatialElement >(); } void Ifc4x2::IfcRelServicesBuildings::setRelatedBuildings(aggregate_of< ::Ifc4x2::IfcSpatialElement >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x2::IfcRelServicesBuildings::declaration() const { return *((IfcParse::entity*)IFC4X2_types[879]); } const IfcParse::entity& Ifc4x2::IfcRelServicesBuildings::Class() { return *((IfcParse::entity*)IFC4X2_types[879]); } Ifc4x2::IfcRelServicesBuildings::IfcRelServicesBuildings(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x2::IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcSystem* v5_RelatingSystem, aggregate_of< ::Ifc4x2::IfcSpatialElement >::ptr v6_RelatedBuildings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSystem ? v5_RelatingSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedBuildings)->generalize());; populate_derived(); } +Ifc4x2::IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcSystem* v5_RelatingSystem, aggregate_of< ::Ifc4x2::IfcSpatialElement >::ptr v6_RelatedBuildings) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSystem ? v5_RelatingSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedBuildings)->generalize());; populate_derived(); } // Function implementations for IfcRelSpaceBoundary -::Ifc4x2::IfcSpaceBoundarySelect* Ifc4x2::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcSpaceBoundarySelect>(true); } +::Ifc4x2::IfcSpaceBoundarySelect* Ifc4x2::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcSpaceBoundarySelect>(true); } void Ifc4x2::IfcRelSpaceBoundary::setRelatingSpace(::Ifc4x2::IfcSpaceBoundarySelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcElement* Ifc4x2::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcElement>(true); } +::Ifc4x2::IfcElement* Ifc4x2::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcElement>(true); } void Ifc4x2::IfcRelSpaceBoundary::setRelatedBuildingElement(::Ifc4x2::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x2::IfcConnectionGeometry* Ifc4x2::IfcRelSpaceBoundary::ConnectionGeometry() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x2::IfcConnectionGeometry>(true); } +::Ifc4x2::IfcConnectionGeometry* Ifc4x2::IfcRelSpaceBoundary::ConnectionGeometry() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x2::IfcConnectionGeometry>(true); } void Ifc4x2::IfcRelSpaceBoundary::setConnectionGeometry(::Ifc4x2::IfcConnectionGeometry* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x2::IfcPhysicalOrVirtualEnum::Value Ifc4x2::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4x2::IfcPhysicalOrVirtualEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x2::IfcPhysicalOrVirtualEnum::Value Ifc4x2::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4x2::IfcPhysicalOrVirtualEnum::FromString(get_attribute_value(7)); } void Ifc4x2::IfcRelSpaceBoundary::setPhysicalOrVirtualBoundary(::Ifc4x2::IfcPhysicalOrVirtualEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x2::IfcPhysicalOrVirtualEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x2::IfcInternalOrExternalEnum::Value Ifc4x2::IfcRelSpaceBoundary::InternalOrExternalBoundary() const { return ::Ifc4x2::IfcInternalOrExternalEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x2::IfcInternalOrExternalEnum::Value Ifc4x2::IfcRelSpaceBoundary::InternalOrExternalBoundary() const { return ::Ifc4x2::IfcInternalOrExternalEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcRelSpaceBoundary::setInternalOrExternalBoundary(::Ifc4x2::IfcInternalOrExternalEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcInternalOrExternalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x2::IfcRelSpaceBoundary::declaration() const { return *((IfcParse::entity*)IFC4X2_types[880]); } const IfcParse::entity& Ifc4x2::IfcRelSpaceBoundary::Class() { return *((IfcParse::entity*)IFC4X2_types[880]); } Ifc4x2::IfcRelSpaceBoundary::IfcRelSpaceBoundary(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x2::IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x2::IfcElement* v6_RelatedBuildingElement, ::Ifc4x2::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) : IfcRelConnects(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; populate_derived(); } +Ifc4x2::IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x2::IfcElement* v6_RelatedBuildingElement, ::Ifc4x2::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; populate_derived(); } // Function implementations for IfcRelSpaceBoundary1stLevel -::Ifc4x2::IfcRelSpaceBoundary1stLevel* Ifc4x2::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x2::IfcRelSpaceBoundary1stLevel>(true); } +::Ifc4x2::IfcRelSpaceBoundary1stLevel* Ifc4x2::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x2::IfcRelSpaceBoundary1stLevel>(true); } void Ifc4x2::IfcRelSpaceBoundary1stLevel::setParentBoundary(::Ifc4x2::IfcRelSpaceBoundary1stLevel* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } ::Ifc4x2::IfcRelSpaceBoundary1stLevel::list::ptr Ifc4x2::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[881], 9)->as(); } @@ -13962,10 +13962,10 @@ void Ifc4x2::IfcRelSpaceBoundary1stLevel::setParentBoundary(::Ifc4x2::IfcRelSpac const IfcParse::entity& Ifc4x2::IfcRelSpaceBoundary1stLevel::declaration() const { return *((IfcParse::entity*)IFC4X2_types[881]); } const IfcParse::entity& Ifc4x2::IfcRelSpaceBoundary1stLevel::Class() { return *((IfcParse::entity*)IFC4X2_types[881]); } Ifc4x2::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(IfcEntityInstanceData&& e) : IfcRelSpaceBoundary(std::move(e)) { } -Ifc4x2::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x2::IfcElement* v6_RelatedBuildingElement, ::Ifc4x2::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x2::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary) : IfcRelSpaceBoundary(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x2::IfcElement* v6_RelatedBuildingElement, ::Ifc4x2::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x2::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary) : IfcRelSpaceBoundary(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelSpaceBoundary2ndLevel -::Ifc4x2::IfcRelSpaceBoundary2ndLevel* Ifc4x2::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x2::IfcRelSpaceBoundary2ndLevel>(true); } +::Ifc4x2::IfcRelSpaceBoundary2ndLevel* Ifc4x2::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x2::IfcRelSpaceBoundary2ndLevel>(true); } void Ifc4x2::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(::Ifc4x2::IfcRelSpaceBoundary2ndLevel* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } ::Ifc4x2::IfcRelSpaceBoundary2ndLevel::list::ptr Ifc4x2::IfcRelSpaceBoundary2ndLevel::Corresponds() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[882], 10)->as(); } @@ -13973,19 +13973,19 @@ void Ifc4x2::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(::Ifc4x2::Ifc const IfcParse::entity& Ifc4x2::IfcRelSpaceBoundary2ndLevel::declaration() const { return *((IfcParse::entity*)IFC4X2_types[882]); } const IfcParse::entity& Ifc4x2::IfcRelSpaceBoundary2ndLevel::Class() { return *((IfcParse::entity*)IFC4X2_types[882]); } Ifc4x2::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(IfcEntityInstanceData&& e) : IfcRelSpaceBoundary1stLevel(std::move(e)) { } -Ifc4x2::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x2::IfcElement* v6_RelatedBuildingElement, ::Ifc4x2::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x2::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, ::Ifc4x2::IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary) : IfcRelSpaceBoundary1stLevel(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_CorrespondingBoundary ? v11_CorrespondingBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x2::IfcElement* v6_RelatedBuildingElement, ::Ifc4x2::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x2::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, ::Ifc4x2::IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary) : IfcRelSpaceBoundary1stLevel(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_CorrespondingBoundary ? v11_CorrespondingBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelVoidsElement -::Ifc4x2::IfcElement* Ifc4x2::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcElement>(true); } +::Ifc4x2::IfcElement* Ifc4x2::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcElement>(true); } void Ifc4x2::IfcRelVoidsElement::setRelatingBuildingElement(::Ifc4x2::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcFeatureElementSubtraction* Ifc4x2::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcFeatureElementSubtraction>(true); } +::Ifc4x2::IfcFeatureElementSubtraction* Ifc4x2::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcFeatureElementSubtraction>(true); } void Ifc4x2::IfcRelVoidsElement::setRelatedOpeningElement(::Ifc4x2::IfcFeatureElementSubtraction* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x2::IfcRelVoidsElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[883]); } const IfcParse::entity& Ifc4x2::IfcRelVoidsElement::Class() { return *((IfcParse::entity*)IFC4X2_types[883]); } Ifc4x2::IfcRelVoidsElement::IfcRelVoidsElement(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x2::IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcElement* v5_RelatingBuildingElement, ::Ifc4x2::IfcFeatureElementSubtraction* v6_RelatedOpeningElement) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedOpeningElement ? v6_RelatedOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcElement* v5_RelatingBuildingElement, ::Ifc4x2::IfcFeatureElementSubtraction* v6_RelatedOpeningElement) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedOpeningElement ? v6_RelatedOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelationship @@ -13993,26 +13993,26 @@ Ifc4x2::IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, ::Ifc4x2 const IfcParse::entity& Ifc4x2::IfcRelationship::declaration() const { return *((IfcParse::entity*)IFC4X2_types[851]); } const IfcParse::entity& Ifc4x2::IfcRelationship::Class() { return *((IfcParse::entity*)IFC4X2_types[851]); } Ifc4x2::IfcRelationship::IfcRelationship(IfcEntityInstanceData&& e) : IfcRoot(std::move(e)) { } -Ifc4x2::IfcRelationship::IfcRelationship(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x2::IfcRelationship::IfcRelationship(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcReparametrisedCompositeCurveSegment -double Ifc4x2::IfcReparametrisedCompositeCurveSegment::ParamLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x2::IfcReparametrisedCompositeCurveSegment::ParamLength() const { double v = get_attribute_value(3); return v; } void Ifc4x2::IfcReparametrisedCompositeCurveSegment::setParamLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x2::IfcReparametrisedCompositeCurveSegment::declaration() const { return *((IfcParse::entity*)IFC4X2_types[884]); } const IfcParse::entity& Ifc4x2::IfcReparametrisedCompositeCurveSegment::Class() { return *((IfcParse::entity*)IFC4X2_types[884]); } Ifc4x2::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(IfcEntityInstanceData&& e) : IfcCompositeCurveSegment(std::move(e)) { } -Ifc4x2::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(::Ifc4x2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x2::IfcCurve* v3_ParentCurve, double v4_ParamLength) : IfcCompositeCurveSegment(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ParamLength));; populate_derived(); } +Ifc4x2::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(::Ifc4x2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x2::IfcCurve* v3_ParentCurve, double v4_ParamLength) : IfcCompositeCurveSegment(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ParamLength));; populate_derived(); } // Function implementations for IfcRepresentation -::Ifc4x2::IfcRepresentationContext* Ifc4x2::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcRepresentationContext>(true); } +::Ifc4x2::IfcRepresentationContext* Ifc4x2::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcRepresentationContext>(true); } void Ifc4x2::IfcRepresentation::setContextOfItems(::Ifc4x2::IfcRepresentationContext* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x2::IfcRepresentation::RepresentationIdentifier() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x2::IfcRepresentation::RepresentationIdentifier() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x2::IfcRepresentation::RepresentationType() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x2::IfcRepresentation::RepresentationType() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcRepresentation::setRepresentationType(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -aggregate_of< ::Ifc4x2::IfcRepresentationItem >::ptr Ifc4x2::IfcRepresentation::Items() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x2::IfcRepresentationItem >(); } +aggregate_of< ::Ifc4x2::IfcRepresentationItem >::ptr Ifc4x2::IfcRepresentation::Items() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x2::IfcRepresentationItem >(); } void Ifc4x2::IfcRepresentation::setItems(aggregate_of< ::Ifc4x2::IfcRepresentationItem >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } ::Ifc4x2::IfcRepresentationMap::list::ptr Ifc4x2::IfcRepresentation::RepresentationMap() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[888], 1)->as(); } @@ -14022,12 +14022,12 @@ void Ifc4x2::IfcRepresentation::setItems(aggregate_of< ::Ifc4x2::IfcRepresentati const IfcParse::entity& Ifc4x2::IfcRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X2_types[885]); } const IfcParse::entity& Ifc4x2::IfcRepresentation::Class() { return *((IfcParse::entity*)IFC4X2_types[885]); } Ifc4x2::IfcRepresentation::IfcRepresentation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcRepresentation::IfcRepresentation(::Ifc4x2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x2::IfcRepresentationItem >::ptr v4_Items) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x2::IfcRepresentation::IfcRepresentation(::Ifc4x2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x2::IfcRepresentationItem >::ptr v4_Items) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcRepresentationContext -boost::optional< std::string > Ifc4x2::IfcRepresentationContext::ContextIdentifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x2::IfcRepresentationContext::ContextIdentifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcRepresentationContext::setContextIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x2::IfcRepresentationContext::ContextType() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x2::IfcRepresentationContext::ContextType() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcRepresentationContext::setContextType(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x2::IfcRepresentation::list::ptr Ifc4x2::IfcRepresentationContext::RepresentationsInContext() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[885], 0)->as(); } @@ -14035,7 +14035,7 @@ void Ifc4x2::IfcRepresentationContext::setContextType(boost::optional< std::stri const IfcParse::entity& Ifc4x2::IfcRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X2_types[886]); } const IfcParse::entity& Ifc4x2::IfcRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X2_types[886]); } Ifc4x2::IfcRepresentationContext::IfcRepresentationContext(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcRepresentationContext::IfcRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; populate_derived(); } +Ifc4x2::IfcRepresentationContext::IfcRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; populate_derived(); } // Function implementations for IfcRepresentationItem @@ -14045,12 +14045,12 @@ Ifc4x2::IfcRepresentationContext::IfcRepresentationContext(boost::optional< std: const IfcParse::entity& Ifc4x2::IfcRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X2_types[887]); } const IfcParse::entity& Ifc4x2::IfcRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X2_types[887]); } Ifc4x2::IfcRepresentationItem::IfcRepresentationItem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x2::IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcRepresentationMap -::Ifc4x2::IfcAxis2Placement* Ifc4x2::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcAxis2Placement>(true); } +::Ifc4x2::IfcAxis2Placement* Ifc4x2::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcAxis2Placement>(true); } void Ifc4x2::IfcRepresentationMap::setMappingOrigin(::Ifc4x2::IfcAxis2Placement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcRepresentation* Ifc4x2::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcRepresentation>(true); } +::Ifc4x2::IfcRepresentation* Ifc4x2::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcRepresentation>(true); } void Ifc4x2::IfcRepresentationMap::setMappedRepresentation(::Ifc4x2::IfcRepresentation* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } ::Ifc4x2::IfcShapeAspect::list::ptr Ifc4x2::IfcRepresentationMap::HasShapeAspects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[931], 4)->as(); } @@ -14059,12 +14059,12 @@ void Ifc4x2::IfcRepresentationMap::setMappedRepresentation(::Ifc4x2::IfcRepresen const IfcParse::entity& Ifc4x2::IfcRepresentationMap::declaration() const { return *((IfcParse::entity*)IFC4X2_types[888]); } const IfcParse::entity& Ifc4x2::IfcRepresentationMap::Class() { return *((IfcParse::entity*)IFC4X2_types[888]); } Ifc4x2::IfcRepresentationMap::IfcRepresentationMap(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcRepresentationMap::IfcRepresentationMap(::Ifc4x2::IfcAxis2Placement* v1_MappingOrigin, ::Ifc4x2::IfcRepresentation* v2_MappedRepresentation) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_MappingOrigin ? v1_MappingOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappedRepresentation ? v2_MappedRepresentation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcRepresentationMap::IfcRepresentationMap(::Ifc4x2::IfcAxis2Placement* v1_MappingOrigin, ::Ifc4x2::IfcRepresentation* v2_MappedRepresentation) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_MappingOrigin ? v1_MappingOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappedRepresentation ? v2_MappedRepresentation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcResource -boost::optional< std::string > Ifc4x2::IfcResource::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x2::IfcResource::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcResource::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x2::IfcResource::LongDescription() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x2::IfcResource::LongDescription() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x2::IfcResource::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x2::IfcRelAssignsToResource::list::ptr Ifc4x2::IfcResource::ResourceOf() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[843], 6)->as(); } @@ -14072,219 +14072,219 @@ void Ifc4x2::IfcResource::setLongDescription(boost::optional< std::string > v) { const IfcParse::entity& Ifc4x2::IfcResource::declaration() const { return *((IfcParse::entity*)IFC4X2_types[889]); } const IfcParse::entity& Ifc4x2::IfcResource::Class() { return *((IfcParse::entity*)IFC4X2_types[889]); } Ifc4x2::IfcResource::IfcResource(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x2::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } +Ifc4x2::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } // Function implementations for IfcResourceApprovalRelationship -aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr Ifc4x2::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x2::IfcResourceObjectSelect >(); } +aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr Ifc4x2::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x2::IfcResourceObjectSelect >(); } void Ifc4x2::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcApproval* Ifc4x2::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcApproval>(true); } +::Ifc4x2::IfcApproval* Ifc4x2::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcApproval>(true); } void Ifc4x2::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x2::IfcApproval* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x2::IfcResourceApprovalRelationship::declaration() const { return *((IfcParse::entity*)IFC4X2_types[890]); } const IfcParse::entity& Ifc4x2::IfcResourceApprovalRelationship::Class() { return *((IfcParse::entity*)IFC4X2_types[890]); } Ifc4x2::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x2::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x2::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatedResourceObjects)->generalize());set_attribute_value(3, v4_RelatingApproval ? v4_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x2::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatedResourceObjects)->generalize());set_attribute_value(3, v4_RelatingApproval ? v4_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcResourceConstraintRelationship -::Ifc4x2::IfcConstraint* Ifc4x2::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcConstraint>(true); } +::Ifc4x2::IfcConstraint* Ifc4x2::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcConstraint>(true); } void Ifc4x2::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4x2::IfcConstraint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr Ifc4x2::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x2::IfcResourceObjectSelect >(); } +aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr Ifc4x2::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x2::IfcResourceObjectSelect >(); } void Ifc4x2::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x2::IfcResourceConstraintRelationship::declaration() const { return *((IfcParse::entity*)IFC4X2_types[891]); } const IfcParse::entity& Ifc4x2::IfcResourceConstraintRelationship::Class() { return *((IfcParse::entity*)IFC4X2_types[891]); } Ifc4x2::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x2::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingConstraint ? v3_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } +Ifc4x2::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x2::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x2::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingConstraint ? v3_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } // Function implementations for IfcResourceLevelRelationship -boost::optional< std::string > Ifc4x2::IfcResourceLevelRelationship::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x2::IfcResourceLevelRelationship::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcResourceLevelRelationship::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x2::IfcResourceLevelRelationship::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x2::IfcResourceLevelRelationship::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcResourceLevelRelationship::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x2::IfcResourceLevelRelationship::declaration() const { return *((IfcParse::entity*)IFC4X2_types[892]); } const IfcParse::entity& Ifc4x2::IfcResourceLevelRelationship::Class() { return *((IfcParse::entity*)IFC4X2_types[892]); } Ifc4x2::IfcResourceLevelRelationship::IfcResourceLevelRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcResourceLevelRelationship::IfcResourceLevelRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4x2::IfcResourceLevelRelationship::IfcResourceLevelRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcResourceTime -boost::optional< std::string > Ifc4x2::IfcResourceTime::ScheduleWork() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x2::IfcResourceTime::ScheduleWork() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x2::IfcResourceTime::setScheduleWork(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x2::IfcResourceTime::ScheduleUsage() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x2::IfcResourceTime::ScheduleUsage() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x2::IfcResourceTime::setScheduleUsage(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x2::IfcResourceTime::ScheduleStart() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x2::IfcResourceTime::ScheduleStart() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcResourceTime::setScheduleStart(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x2::IfcResourceTime::ScheduleFinish() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x2::IfcResourceTime::ScheduleFinish() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x2::IfcResourceTime::setScheduleFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x2::IfcResourceTime::ScheduleContour() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x2::IfcResourceTime::ScheduleContour() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x2::IfcResourceTime::setScheduleContour(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x2::IfcResourceTime::LevelingDelay() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x2::IfcResourceTime::LevelingDelay() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x2::IfcResourceTime::setLevelingDelay(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< bool > Ifc4x2::IfcResourceTime::IsOverAllocated() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } bool v = data_.get_attribute_value(9); return v; } +boost::optional< bool > Ifc4x2::IfcResourceTime::IsOverAllocated() const { if(get_attribute_value(9).isNull()) { return boost::none; } bool v = get_attribute_value(9); return v; } void Ifc4x2::IfcResourceTime::setIsOverAllocated(boost::optional< bool > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x2::IfcResourceTime::StatusTime() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x2::IfcResourceTime::StatusTime() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x2::IfcResourceTime::setStatusTime(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< std::string > Ifc4x2::IfcResourceTime::ActualWork() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x2::IfcResourceTime::ActualWork() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x2::IfcResourceTime::setActualWork(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x2::IfcResourceTime::ActualUsage() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x2::IfcResourceTime::ActualUsage() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x2::IfcResourceTime::setActualUsage(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< std::string > Ifc4x2::IfcResourceTime::ActualStart() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(13); return v; } +boost::optional< std::string > Ifc4x2::IfcResourceTime::ActualStart() const { if(get_attribute_value(13).isNull()) { return boost::none; } std::string v = get_attribute_value(13); return v; } void Ifc4x2::IfcResourceTime::setActualStart(boost::optional< std::string > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x2::IfcResourceTime::ActualFinish() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x2::IfcResourceTime::ActualFinish() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x2::IfcResourceTime::setActualFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< std::string > Ifc4x2::IfcResourceTime::RemainingWork() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(15); return v; } +boost::optional< std::string > Ifc4x2::IfcResourceTime::RemainingWork() const { if(get_attribute_value(15).isNull()) { return boost::none; } std::string v = get_attribute_value(15); return v; } void Ifc4x2::IfcResourceTime::setRemainingWork(boost::optional< std::string > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x2::IfcResourceTime::RemainingUsage() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x2::IfcResourceTime::RemainingUsage() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x2::IfcResourceTime::setRemainingUsage(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< double > Ifc4x2::IfcResourceTime::Completion() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } double v = data_.get_attribute_value(17); return v; } +boost::optional< double > Ifc4x2::IfcResourceTime::Completion() const { if(get_attribute_value(17).isNull()) { return boost::none; } double v = get_attribute_value(17); return v; } void Ifc4x2::IfcResourceTime::setCompletion(boost::optional< double > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } const IfcParse::entity& Ifc4x2::IfcResourceTime::declaration() const { return *((IfcParse::entity*)IFC4X2_types[895]); } const IfcParse::entity& Ifc4x2::IfcResourceTime::Class() { return *((IfcParse::entity*)IFC4X2_types[895]); } Ifc4x2::IfcResourceTime::IfcResourceTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x2::IfcResourceTime::IfcResourceTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< std::string > v4_ScheduleWork, boost::optional< double > v5_ScheduleUsage, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_ScheduleContour, boost::optional< std::string > v9_LevelingDelay, boost::optional< bool > v10_IsOverAllocated, boost::optional< std::string > v11_StatusTime, boost::optional< std::string > v12_ActualWork, boost::optional< double > v13_ActualUsage, boost::optional< std::string > v14_ActualStart, boost::optional< std::string > v15_ActualFinish, boost::optional< std::string > v16_RemainingWork, boost::optional< double > v17_RemainingUsage, boost::optional< double > v18_Completion) : IfcSchedulingTime(IfcEntityInstanceData(storage_t(18))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); }; populate_derived(); } +Ifc4x2::IfcResourceTime::IfcResourceTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< std::string > v4_ScheduleWork, boost::optional< double > v5_ScheduleUsage, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_ScheduleContour, boost::optional< std::string > v9_LevelingDelay, boost::optional< bool > v10_IsOverAllocated, boost::optional< std::string > v11_StatusTime, boost::optional< std::string > v12_ActualWork, boost::optional< double > v13_ActualUsage, boost::optional< std::string > v14_ActualStart, boost::optional< std::string > v15_ActualFinish, boost::optional< std::string > v16_RemainingWork, boost::optional< double > v17_RemainingUsage, boost::optional< double > v18_Completion) : IfcSchedulingTime(IfcEntityInstanceData(in_memory_attribute_storage(18))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); }; populate_derived(); } // Function implementations for IfcRevolvedAreaSolid -::Ifc4x2::IfcAxis1Placement* Ifc4x2::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcAxis1Placement>(true); } +::Ifc4x2::IfcAxis1Placement* Ifc4x2::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcAxis1Placement>(true); } void Ifc4x2::IfcRevolvedAreaSolid::setAxis(::Ifc4x2::IfcAxis1Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x2::IfcRevolvedAreaSolid::Angle() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x2::IfcRevolvedAreaSolid::Angle() const { double v = get_attribute_value(3); return v; } void Ifc4x2::IfcRevolvedAreaSolid::setAngle(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x2::IfcRevolvedAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X2_types[896]); } const IfcParse::entity& Ifc4x2::IfcRevolvedAreaSolid::Class() { return *((IfcParse::entity*)IFC4X2_types[896]); } Ifc4x2::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4x2::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(::Ifc4x2::IfcProfileDef* v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D* v2_Position, ::Ifc4x2::IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));; populate_derived(); } +Ifc4x2::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(::Ifc4x2::IfcProfileDef* v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D* v2_Position, ::Ifc4x2::IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));; populate_derived(); } // Function implementations for IfcRevolvedAreaSolidTapered -::Ifc4x2::IfcProfileDef* Ifc4x2::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcProfileDef>(true); } +::Ifc4x2::IfcProfileDef* Ifc4x2::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcProfileDef>(true); } void Ifc4x2::IfcRevolvedAreaSolidTapered::setEndSweptArea(::Ifc4x2::IfcProfileDef* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x2::IfcRevolvedAreaSolidTapered::declaration() const { return *((IfcParse::entity*)IFC4X2_types[897]); } const IfcParse::entity& Ifc4x2::IfcRevolvedAreaSolidTapered::Class() { return *((IfcParse::entity*)IFC4X2_types[897]); } Ifc4x2::IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(IfcEntityInstanceData&& e) : IfcRevolvedAreaSolid(std::move(e)) { } -Ifc4x2::IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(::Ifc4x2::IfcProfileDef* v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D* v2_Position, ::Ifc4x2::IfcAxis1Placement* v3_Axis, double v4_Angle, ::Ifc4x2::IfcProfileDef* v5_EndSweptArea) : IfcRevolvedAreaSolid(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(::Ifc4x2::IfcProfileDef* v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D* v2_Position, ::Ifc4x2::IfcAxis1Placement* v3_Axis, double v4_Angle, ::Ifc4x2::IfcProfileDef* v5_EndSweptArea) : IfcRevolvedAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRightCircularCone -double Ifc4x2::IfcRightCircularCone::Height() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x2::IfcRightCircularCone::Height() const { double v = get_attribute_value(1); return v; } void Ifc4x2::IfcRightCircularCone::setHeight(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x2::IfcRightCircularCone::BottomRadius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x2::IfcRightCircularCone::BottomRadius() const { double v = get_attribute_value(2); return v; } void Ifc4x2::IfcRightCircularCone::setBottomRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x2::IfcRightCircularCone::declaration() const { return *((IfcParse::entity*)IFC4X2_types[898]); } const IfcParse::entity& Ifc4x2::IfcRightCircularCone::Class() { return *((IfcParse::entity*)IFC4X2_types[898]); } Ifc4x2::IfcRightCircularCone::IfcRightCircularCone(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x2::IfcRightCircularCone::IfcRightCircularCone(::Ifc4x2::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_BottomRadius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; populate_derived(); } +Ifc4x2::IfcRightCircularCone::IfcRightCircularCone(::Ifc4x2::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_BottomRadius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; populate_derived(); } // Function implementations for IfcRightCircularCylinder -double Ifc4x2::IfcRightCircularCylinder::Height() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x2::IfcRightCircularCylinder::Height() const { double v = get_attribute_value(1); return v; } void Ifc4x2::IfcRightCircularCylinder::setHeight(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x2::IfcRightCircularCylinder::Radius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x2::IfcRightCircularCylinder::Radius() const { double v = get_attribute_value(2); return v; } void Ifc4x2::IfcRightCircularCylinder::setRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x2::IfcRightCircularCylinder::declaration() const { return *((IfcParse::entity*)IFC4X2_types[899]); } const IfcParse::entity& Ifc4x2::IfcRightCircularCylinder::Class() { return *((IfcParse::entity*)IFC4X2_types[899]); } Ifc4x2::IfcRightCircularCylinder::IfcRightCircularCylinder(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x2::IfcRightCircularCylinder::IfcRightCircularCylinder(::Ifc4x2::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; populate_derived(); } +Ifc4x2::IfcRightCircularCylinder::IfcRightCircularCylinder(::Ifc4x2::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; populate_derived(); } // Function implementations for IfcRoof -boost::optional< ::Ifc4x2::IfcRoofTypeEnum::Value > Ifc4x2::IfcRoof::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcRoofTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcRoofTypeEnum::Value > Ifc4x2::IfcRoof::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcRoofTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcRoof::setPredefinedType(boost::optional< ::Ifc4x2::IfcRoofTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcRoofTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcRoof::declaration() const { return *((IfcParse::entity*)IFC4X2_types[901]); } const IfcParse::entity& Ifc4x2::IfcRoof::Class() { return *((IfcParse::entity*)IFC4X2_types[901]); } Ifc4x2::IfcRoof::IfcRoof(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x2::IfcRoof::IfcRoof(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcRoofTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcRoof::IfcRoof(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcRoofTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRoofType -::Ifc4x2::IfcRoofTypeEnum::Value Ifc4x2::IfcRoofType::PredefinedType() const { return ::Ifc4x2::IfcRoofTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcRoofTypeEnum::Value Ifc4x2::IfcRoofType::PredefinedType() const { return ::Ifc4x2::IfcRoofTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcRoofType::setPredefinedType(::Ifc4x2::IfcRoofTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcRoofTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcRoofType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[902]); } const IfcParse::entity& Ifc4x2::IfcRoofType::Class() { return *((IfcParse::entity*)IFC4X2_types[902]); } Ifc4x2::IfcRoofType::IfcRoofType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x2::IfcRoofType::IfcRoofType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcRoofTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcRoofType::IfcRoofType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcRoofTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRoot -std::string Ifc4x2::IfcRoot::GlobalId() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x2::IfcRoot::GlobalId() const { std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcRoot::setGlobalId(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcOwnerHistory* Ifc4x2::IfcRoot::OwnerHistory() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcOwnerHistory>(true); } +::Ifc4x2::IfcOwnerHistory* Ifc4x2::IfcRoot::OwnerHistory() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcOwnerHistory>(true); } void Ifc4x2::IfcRoot::setOwnerHistory(::Ifc4x2::IfcOwnerHistory* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x2::IfcRoot::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x2::IfcRoot::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcRoot::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x2::IfcRoot::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x2::IfcRoot::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x2::IfcRoot::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x2::IfcRoot::declaration() const { return *((IfcParse::entity*)IFC4X2_types[904]); } const IfcParse::entity& Ifc4x2::IfcRoot::Class() { return *((IfcParse::entity*)IFC4X2_types[904]); } Ifc4x2::IfcRoot::IfcRoot(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcRoot::IfcRoot(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x2::IfcRoot::IfcRoot(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRoundedRectangleProfileDef -double Ifc4x2::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x2::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = get_attribute_value(5); return v; } void Ifc4x2::IfcRoundedRectangleProfileDef::setRoundingRadius(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x2::IfcRoundedRectangleProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X2_types[909]); } const IfcParse::entity& Ifc4x2::IfcRoundedRectangleProfileDef::Class() { return *((IfcParse::entity*)IFC4X2_types[909]); } Ifc4x2::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(IfcEntityInstanceData&& e) : IfcRectangleProfileDef(std::move(e)) { } -Ifc4x2::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; populate_derived(); } +Ifc4x2::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; populate_derived(); } // Function implementations for IfcSIUnit -boost::optional< ::Ifc4x2::IfcSIPrefix::Value > Ifc4x2::IfcSIUnit::Prefix() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x2::IfcSIPrefix::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc4x2::IfcSIPrefix::Value > Ifc4x2::IfcSIUnit::Prefix() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x2::IfcSIPrefix::FromString(get_attribute_value(2)); } void Ifc4x2::IfcSIUnit::setPrefix(boost::optional< ::Ifc4x2::IfcSIPrefix::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc4x2::IfcSIPrefix::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -::Ifc4x2::IfcSIUnitName::Value Ifc4x2::IfcSIUnit::Name() const { return ::Ifc4x2::IfcSIUnitName::FromString(data_.get_attribute_value(3)); } +::Ifc4x2::IfcSIUnitName::Value Ifc4x2::IfcSIUnit::Name() const { return ::Ifc4x2::IfcSIUnitName::FromString(get_attribute_value(3)); } void Ifc4x2::IfcSIUnit::setName(::Ifc4x2::IfcSIUnitName::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc4x2::IfcSIUnitName::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x2::IfcSIUnit::declaration() const { return *((IfcParse::entity*)IFC4X2_types[943]); } const IfcParse::entity& Ifc4x2::IfcSIUnit::Class() { return *((IfcParse::entity*)IFC4X2_types[943]); } Ifc4x2::IfcSIUnit::IfcSIUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -Ifc4x2::IfcSIUnit::IfcSIUnit(::Ifc4x2::IfcUnitEnum::Value v2_UnitType, boost::optional< ::Ifc4x2::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x2::IfcSIUnitName::Value v4_Name) : IfcNamedUnit(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(1, (EnumerationReference(&::Ifc4x2::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (EnumerationReference(&::Ifc4x2::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (EnumerationReference(&::Ifc4x2::IfcSIUnitName::Class(),(size_t)v4_Name)));; populate_derived(); } +Ifc4x2::IfcSIUnit::IfcSIUnit(::Ifc4x2::IfcUnitEnum::Value v2_UnitType, boost::optional< ::Ifc4x2::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x2::IfcSIUnitName::Value v4_Name) : IfcNamedUnit(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(1, (EnumerationReference(&::Ifc4x2::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (EnumerationReference(&::Ifc4x2::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (EnumerationReference(&::Ifc4x2::IfcSIUnitName::Class(),(size_t)v4_Name)));; populate_derived(); } // Function implementations for IfcSanitaryTerminal -boost::optional< ::Ifc4x2::IfcSanitaryTerminalTypeEnum::Value > Ifc4x2::IfcSanitaryTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcSanitaryTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcSanitaryTerminalTypeEnum::Value > Ifc4x2::IfcSanitaryTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcSanitaryTerminal::setPredefinedType(boost::optional< ::Ifc4x2::IfcSanitaryTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcSanitaryTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcSanitaryTerminal::declaration() const { return *((IfcParse::entity*)IFC4X2_types[910]); } const IfcParse::entity& Ifc4x2::IfcSanitaryTerminal::Class() { return *((IfcParse::entity*)IFC4X2_types[910]); } Ifc4x2::IfcSanitaryTerminal::IfcSanitaryTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x2::IfcSanitaryTerminal::IfcSanitaryTerminal(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcSanitaryTerminal::IfcSanitaryTerminal(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSanitaryTerminalType -::Ifc4x2::IfcSanitaryTerminalTypeEnum::Value Ifc4x2::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4x2::IfcSanitaryTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcSanitaryTerminalTypeEnum::Value Ifc4x2::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4x2::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcSanitaryTerminalType::setPredefinedType(::Ifc4x2::IfcSanitaryTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcSanitaryTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcSanitaryTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[911]); } const IfcParse::entity& Ifc4x2::IfcSanitaryTerminalType::Class() { return *((IfcParse::entity*)IFC4X2_types[911]); } Ifc4x2::IfcSanitaryTerminalType::IfcSanitaryTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x2::IfcSanitaryTerminalType::IfcSanitaryTerminalType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcSanitaryTerminalType::IfcSanitaryTerminalType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSchedulingTime -boost::optional< std::string > Ifc4x2::IfcSchedulingTime::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x2::IfcSchedulingTime::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcSchedulingTime::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< ::Ifc4x2::IfcDataOriginEnum::Value > Ifc4x2::IfcSchedulingTime::DataOrigin() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } return ::Ifc4x2::IfcDataOriginEnum::FromString(data_.get_attribute_value(1)); } +boost::optional< ::Ifc4x2::IfcDataOriginEnum::Value > Ifc4x2::IfcSchedulingTime::DataOrigin() const { if(get_attribute_value(1).isNull()) { return boost::none; } return ::Ifc4x2::IfcDataOriginEnum::FromString(get_attribute_value(1)); } void Ifc4x2::IfcSchedulingTime::setDataOrigin(boost::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v) { if (v) {set_attribute_value(1, EnumerationReference(&::Ifc4x2::IfcDataOriginEnum::Class(), (size_t) *v));} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x2::IfcSchedulingTime::UserDefinedDataOrigin() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x2::IfcSchedulingTime::UserDefinedDataOrigin() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcSchedulingTime::setUserDefinedDataOrigin(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x2::IfcSchedulingTime::declaration() const { return *((IfcParse::entity*)IFC4X2_types[913]); } const IfcParse::entity& Ifc4x2::IfcSchedulingTime::Class() { return *((IfcParse::entity*)IFC4X2_types[913]); } Ifc4x2::IfcSchedulingTime::IfcSchedulingTime(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }; populate_derived(); } +Ifc4x2::IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }; populate_derived(); } // Function implementations for IfcSeamCurve @@ -14292,130 +14292,130 @@ Ifc4x2::IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > v1_N const IfcParse::entity& Ifc4x2::IfcSeamCurve::declaration() const { return *((IfcParse::entity*)IFC4X2_types[914]); } const IfcParse::entity& Ifc4x2::IfcSeamCurve::Class() { return *((IfcParse::entity*)IFC4X2_types[914]); } Ifc4x2::IfcSeamCurve::IfcSeamCurve(IfcEntityInstanceData&& e) : IfcSurfaceCurve(std::move(e)) { } -Ifc4x2::IfcSeamCurve::IfcSeamCurve(::Ifc4x2::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x2::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } +Ifc4x2::IfcSeamCurve::IfcSeamCurve(::Ifc4x2::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x2::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcSectionProperties -::Ifc4x2::IfcSectionTypeEnum::Value Ifc4x2::IfcSectionProperties::SectionType() const { return ::Ifc4x2::IfcSectionTypeEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x2::IfcSectionTypeEnum::Value Ifc4x2::IfcSectionProperties::SectionType() const { return ::Ifc4x2::IfcSectionTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x2::IfcSectionProperties::setSectionType(::Ifc4x2::IfcSectionTypeEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x2::IfcSectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcProfileDef* Ifc4x2::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcProfileDef>(true); } +::Ifc4x2::IfcProfileDef* Ifc4x2::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcProfileDef>(true); } void Ifc4x2::IfcSectionProperties::setStartProfile(::Ifc4x2::IfcProfileDef* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcProfileDef* Ifc4x2::IfcSectionProperties::EndProfile() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcProfileDef>(true); } +::Ifc4x2::IfcProfileDef* Ifc4x2::IfcSectionProperties::EndProfile() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcProfileDef>(true); } void Ifc4x2::IfcSectionProperties::setEndProfile(::Ifc4x2::IfcProfileDef* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x2::IfcSectionProperties::declaration() const { return *((IfcParse::entity*)IFC4X2_types[920]); } const IfcParse::entity& Ifc4x2::IfcSectionProperties::Class() { return *((IfcParse::entity*)IFC4X2_types[920]); } Ifc4x2::IfcSectionProperties::IfcSectionProperties(IfcEntityInstanceData&& e) : IfcPreDefinedProperties(std::move(e)) { } -Ifc4x2::IfcSectionProperties::IfcSectionProperties(::Ifc4x2::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x2::IfcProfileDef* v2_StartProfile, ::Ifc4x2::IfcProfileDef* v3_EndProfile) : IfcPreDefinedProperties(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, v2_StartProfile ? v2_StartProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EndProfile ? v3_EndProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcSectionProperties::IfcSectionProperties(::Ifc4x2::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x2::IfcProfileDef* v2_StartProfile, ::Ifc4x2::IfcProfileDef* v3_EndProfile) : IfcPreDefinedProperties(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, v2_StartProfile ? v2_StartProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EndProfile ? v3_EndProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSectionReinforcementProperties -double Ifc4x2::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x2::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = get_attribute_value(0); return v; } void Ifc4x2::IfcSectionReinforcementProperties::setLongitudinalStartPosition(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc4x2::IfcSectionReinforcementProperties::LongitudinalEndPosition() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x2::IfcSectionReinforcementProperties::LongitudinalEndPosition() const { double v = get_attribute_value(1); return v; } void Ifc4x2::IfcSectionReinforcementProperties::setLongitudinalEndPosition(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x2::IfcSectionReinforcementProperties::TransversePosition() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x2::IfcSectionReinforcementProperties::TransversePosition() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x2::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x2::IfcReinforcingBarRoleEnum::Value Ifc4x2::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x2::IfcReinforcingBarRoleEnum::FromString(data_.get_attribute_value(3)); } +::Ifc4x2::IfcReinforcingBarRoleEnum::Value Ifc4x2::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x2::IfcReinforcingBarRoleEnum::FromString(get_attribute_value(3)); } void Ifc4x2::IfcSectionReinforcementProperties::setReinforcementRole(::Ifc4x2::IfcReinforcingBarRoleEnum::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc4x2::IfcReinforcingBarRoleEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } -::Ifc4x2::IfcSectionProperties* Ifc4x2::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcSectionProperties>(true); } +::Ifc4x2::IfcSectionProperties* Ifc4x2::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcSectionProperties>(true); } void Ifc4x2::IfcSectionReinforcementProperties::setSectionDefinition(::Ifc4x2::IfcSectionProperties* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x2::IfcReinforcementBarProperties >::ptr Ifc4x2::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x2::IfcReinforcementBarProperties >(); } +aggregate_of< ::Ifc4x2::IfcReinforcementBarProperties >::ptr Ifc4x2::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x2::IfcReinforcementBarProperties >(); } void Ifc4x2::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(aggregate_of< ::Ifc4x2::IfcReinforcementBarProperties >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x2::IfcSectionReinforcementProperties::declaration() const { return *((IfcParse::entity*)IFC4X2_types[921]); } const IfcParse::entity& Ifc4x2::IfcSectionReinforcementProperties::Class() { return *((IfcParse::entity*)IFC4X2_types[921]); } Ifc4x2::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(IfcEntityInstanceData&& e) : IfcPreDefinedProperties(std::move(e)) { } -Ifc4x2::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, boost::optional< double > v3_TransversePosition, ::Ifc4x2::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x2::IfcSectionProperties* v5_SectionDefinition, aggregate_of< ::Ifc4x2::IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcPreDefinedProperties(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (EnumerationReference(&::Ifc4x2::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, v5_SectionDefinition ? v5_SectionDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_CrossSectionReinforcementDefinitions)->generalize());; populate_derived(); } +Ifc4x2::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, boost::optional< double > v3_TransversePosition, ::Ifc4x2::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x2::IfcSectionProperties* v5_SectionDefinition, aggregate_of< ::Ifc4x2::IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcPreDefinedProperties(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (EnumerationReference(&::Ifc4x2::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, v5_SectionDefinition ? v5_SectionDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_CrossSectionReinforcementDefinitions)->generalize());; populate_derived(); } // Function implementations for IfcSectionedSolid -::Ifc4x2::IfcCurve* Ifc4x2::IfcSectionedSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcCurve>(true); } +::Ifc4x2::IfcCurve* Ifc4x2::IfcSectionedSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcSectionedSolid::setDirectrix(::Ifc4x2::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x2::IfcProfileDef >::ptr Ifc4x2::IfcSectionedSolid::CrossSections() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x2::IfcProfileDef >(); } +aggregate_of< ::Ifc4x2::IfcProfileDef >::ptr Ifc4x2::IfcSectionedSolid::CrossSections() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x2::IfcProfileDef >(); } void Ifc4x2::IfcSectionedSolid::setCrossSections(aggregate_of< ::Ifc4x2::IfcProfileDef >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcSectionedSolid::declaration() const { return *((IfcParse::entity*)IFC4X2_types[916]); } const IfcParse::entity& Ifc4x2::IfcSectionedSolid::Class() { return *((IfcParse::entity*)IFC4X2_types[916]); } Ifc4x2::IfcSectionedSolid::IfcSectionedSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x2::IfcSectionedSolid::IfcSectionedSolid(::Ifc4x2::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x2::IfcProfileDef >::ptr v2_CrossSections) : IfcSolidModel(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());; populate_derived(); } +Ifc4x2::IfcSectionedSolid::IfcSectionedSolid(::Ifc4x2::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x2::IfcProfileDef >::ptr v2_CrossSections) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());; populate_derived(); } // Function implementations for IfcSectionedSolidHorizontal -aggregate_of< ::Ifc4x2::IfcDistanceExpression >::ptr Ifc4x2::IfcSectionedSolidHorizontal::CrossSectionPositions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x2::IfcDistanceExpression >(); } +aggregate_of< ::Ifc4x2::IfcDistanceExpression >::ptr Ifc4x2::IfcSectionedSolidHorizontal::CrossSectionPositions() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x2::IfcDistanceExpression >(); } void Ifc4x2::IfcSectionedSolidHorizontal::setCrossSectionPositions(aggregate_of< ::Ifc4x2::IfcDistanceExpression >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x2::IfcSectionedSolidHorizontal::FixedAxisVertical() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x2::IfcSectionedSolidHorizontal::FixedAxisVertical() const { bool v = get_attribute_value(3); return v; } void Ifc4x2::IfcSectionedSolidHorizontal::setFixedAxisVertical(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x2::IfcSectionedSolidHorizontal::declaration() const { return *((IfcParse::entity*)IFC4X2_types[917]); } const IfcParse::entity& Ifc4x2::IfcSectionedSolidHorizontal::Class() { return *((IfcParse::entity*)IFC4X2_types[917]); } Ifc4x2::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(IfcEntityInstanceData&& e) : IfcSectionedSolid(std::move(e)) { } -Ifc4x2::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(::Ifc4x2::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x2::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x2::IfcDistanceExpression >::ptr v3_CrossSectionPositions, bool v4_FixedAxisVertical) : IfcSectionedSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());set_attribute_value(3, (v4_FixedAxisVertical));; populate_derived(); } +Ifc4x2::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(::Ifc4x2::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x2::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x2::IfcDistanceExpression >::ptr v3_CrossSectionPositions, bool v4_FixedAxisVertical) : IfcSectionedSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());set_attribute_value(3, (v4_FixedAxisVertical));; populate_derived(); } // Function implementations for IfcSectionedSpine -::Ifc4x2::IfcCompositeCurve* Ifc4x2::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcCompositeCurve>(true); } +::Ifc4x2::IfcCompositeCurve* Ifc4x2::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcCompositeCurve>(true); } void Ifc4x2::IfcSectionedSpine::setSpineCurve(::Ifc4x2::IfcCompositeCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x2::IfcProfileDef >::ptr Ifc4x2::IfcSectionedSpine::CrossSections() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x2::IfcProfileDef >(); } +aggregate_of< ::Ifc4x2::IfcProfileDef >::ptr Ifc4x2::IfcSectionedSpine::CrossSections() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x2::IfcProfileDef >(); } void Ifc4x2::IfcSectionedSpine::setCrossSections(aggregate_of< ::Ifc4x2::IfcProfileDef >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x2::IfcAxis2Placement3D >::ptr Ifc4x2::IfcSectionedSpine::CrossSectionPositions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x2::IfcAxis2Placement3D >(); } +aggregate_of< ::Ifc4x2::IfcAxis2Placement3D >::ptr Ifc4x2::IfcSectionedSpine::CrossSectionPositions() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x2::IfcAxis2Placement3D >(); } void Ifc4x2::IfcSectionedSpine::setCrossSectionPositions(aggregate_of< ::Ifc4x2::IfcAxis2Placement3D >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x2::IfcSectionedSpine::declaration() const { return *((IfcParse::entity*)IFC4X2_types[918]); } const IfcParse::entity& Ifc4x2::IfcSectionedSpine::Class() { return *((IfcParse::entity*)IFC4X2_types[918]); } Ifc4x2::IfcSectionedSpine::IfcSectionedSpine(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x2::IfcSectionedSpine::IfcSectionedSpine(::Ifc4x2::IfcCompositeCurve* v1_SpineCurve, aggregate_of< ::Ifc4x2::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x2::IfcAxis2Placement3D >::ptr v3_CrossSectionPositions) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_SpineCurve ? v1_SpineCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());; populate_derived(); } +Ifc4x2::IfcSectionedSpine::IfcSectionedSpine(::Ifc4x2::IfcCompositeCurve* v1_SpineCurve, aggregate_of< ::Ifc4x2::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x2::IfcAxis2Placement3D >::ptr v3_CrossSectionPositions) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_SpineCurve ? v1_SpineCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());; populate_derived(); } // Function implementations for IfcSensor -boost::optional< ::Ifc4x2::IfcSensorTypeEnum::Value > Ifc4x2::IfcSensor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcSensorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcSensorTypeEnum::Value > Ifc4x2::IfcSensor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcSensorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcSensor::setPredefinedType(boost::optional< ::Ifc4x2::IfcSensorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcSensorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcSensor::declaration() const { return *((IfcParse::entity*)IFC4X2_types[924]); } const IfcParse::entity& Ifc4x2::IfcSensor::Class() { return *((IfcParse::entity*)IFC4X2_types[924]); } Ifc4x2::IfcSensor::IfcSensor(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x2::IfcSensor::IfcSensor(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcSensorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcSensor::IfcSensor(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcSensorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSensorType -::Ifc4x2::IfcSensorTypeEnum::Value Ifc4x2::IfcSensorType::PredefinedType() const { return ::Ifc4x2::IfcSensorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcSensorTypeEnum::Value Ifc4x2::IfcSensorType::PredefinedType() const { return ::Ifc4x2::IfcSensorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcSensorType::setPredefinedType(::Ifc4x2::IfcSensorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcSensorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcSensorType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[925]); } const IfcParse::entity& Ifc4x2::IfcSensorType::Class() { return *((IfcParse::entity*)IFC4X2_types[925]); } Ifc4x2::IfcSensorType::IfcSensorType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x2::IfcSensorType::IfcSensorType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSensorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcSensorType::IfcSensorType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSensorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcShadingDevice -boost::optional< ::Ifc4x2::IfcShadingDeviceTypeEnum::Value > Ifc4x2::IfcShadingDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcShadingDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcShadingDeviceTypeEnum::Value > Ifc4x2::IfcShadingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcShadingDevice::setPredefinedType(boost::optional< ::Ifc4x2::IfcShadingDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcShadingDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcShadingDevice::declaration() const { return *((IfcParse::entity*)IFC4X2_types[928]); } const IfcParse::entity& Ifc4x2::IfcShadingDevice::Class() { return *((IfcParse::entity*)IFC4X2_types[928]); } Ifc4x2::IfcShadingDevice::IfcShadingDevice(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x2::IfcShadingDevice::IfcShadingDevice(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcShadingDevice::IfcShadingDevice(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcShadingDeviceType -::Ifc4x2::IfcShadingDeviceTypeEnum::Value Ifc4x2::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4x2::IfcShadingDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcShadingDeviceTypeEnum::Value Ifc4x2::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4x2::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcShadingDeviceType::setPredefinedType(::Ifc4x2::IfcShadingDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcShadingDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcShadingDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[929]); } const IfcParse::entity& Ifc4x2::IfcShadingDeviceType::Class() { return *((IfcParse::entity*)IFC4X2_types[929]); } Ifc4x2::IfcShadingDeviceType::IfcShadingDeviceType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x2::IfcShadingDeviceType::IfcShadingDeviceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcShadingDeviceType::IfcShadingDeviceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcShapeAspect -aggregate_of< ::Ifc4x2::IfcShapeModel >::ptr Ifc4x2::IfcShapeAspect::ShapeRepresentations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x2::IfcShapeModel >(); } +aggregate_of< ::Ifc4x2::IfcShapeModel >::ptr Ifc4x2::IfcShapeAspect::ShapeRepresentations() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x2::IfcShapeModel >(); } void Ifc4x2::IfcShapeAspect::setShapeRepresentations(aggregate_of< ::Ifc4x2::IfcShapeModel >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x2::IfcShapeAspect::Name() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x2::IfcShapeAspect::Name() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcShapeAspect::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x2::IfcShapeAspect::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x2::IfcShapeAspect::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcShapeAspect::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::logic::tribool Ifc4x2::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = data_.get_attribute_value(3); return v; } +boost::logic::tribool Ifc4x2::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = get_attribute_value(3); return v; } void Ifc4x2::IfcShapeAspect::setProductDefinitional(boost::logic::tribool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x2::IfcProductRepresentationSelect* Ifc4x2::IfcShapeAspect::PartOfProductDefinitionShape() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcProductRepresentationSelect>(true); } +::Ifc4x2::IfcProductRepresentationSelect* Ifc4x2::IfcShapeAspect::PartOfProductDefinitionShape() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcProductRepresentationSelect>(true); } void Ifc4x2::IfcShapeAspect::setPartOfProductDefinitionShape(::Ifc4x2::IfcProductRepresentationSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } ::Ifc4x2::IfcExternalReferenceRelationship::list::ptr Ifc4x2::IfcShapeAspect::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[407], 3)->as(); } @@ -14423,7 +14423,7 @@ void Ifc4x2::IfcShapeAspect::setPartOfProductDefinitionShape(::Ifc4x2::IfcProduc const IfcParse::entity& Ifc4x2::IfcShapeAspect::declaration() const { return *((IfcParse::entity*)IFC4X2_types[931]); } const IfcParse::entity& Ifc4x2::IfcShapeAspect::Class() { return *((IfcParse::entity*)IFC4X2_types[931]); } Ifc4x2::IfcShapeAspect::IfcShapeAspect(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcShapeAspect::IfcShapeAspect(aggregate_of< ::Ifc4x2::IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x2::IfcProductRepresentationSelect* v5_PartOfProductDefinitionShape) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_ShapeRepresentations)->generalize()); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, v5_PartOfProductDefinitionShape ? v5_PartOfProductDefinitionShape->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcShapeAspect::IfcShapeAspect(aggregate_of< ::Ifc4x2::IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x2::IfcProductRepresentationSelect* v5_PartOfProductDefinitionShape) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_ShapeRepresentations)->generalize()); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, v5_PartOfProductDefinitionShape ? v5_PartOfProductDefinitionShape->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcShapeModel @@ -14432,7 +14432,7 @@ Ifc4x2::IfcShapeAspect::IfcShapeAspect(aggregate_of< ::Ifc4x2::IfcShapeModel >:: const IfcParse::entity& Ifc4x2::IfcShapeModel::declaration() const { return *((IfcParse::entity*)IFC4X2_types[932]); } const IfcParse::entity& Ifc4x2::IfcShapeModel::Class() { return *((IfcParse::entity*)IFC4X2_types[932]); } Ifc4x2::IfcShapeModel::IfcShapeModel(IfcEntityInstanceData&& e) : IfcRepresentation(std::move(e)) { } -Ifc4x2::IfcShapeModel::IfcShapeModel(::Ifc4x2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x2::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x2::IfcShapeModel::IfcShapeModel(::Ifc4x2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x2::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcShapeRepresentation @@ -14440,17 +14440,17 @@ Ifc4x2::IfcShapeModel::IfcShapeModel(::Ifc4x2::IfcRepresentationContext* v1_Cont const IfcParse::entity& Ifc4x2::IfcShapeRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X2_types[933]); } const IfcParse::entity& Ifc4x2::IfcShapeRepresentation::Class() { return *((IfcParse::entity*)IFC4X2_types[933]); } Ifc4x2::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceData&& e) : IfcShapeModel(std::move(e)) { } -Ifc4x2::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x2::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x2::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x2::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcShellBasedSurfaceModel -aggregate_of< ::Ifc4x2::IfcShell >::ptr Ifc4x2::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x2::IfcShell >(); } +aggregate_of< ::Ifc4x2::IfcShell >::ptr Ifc4x2::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x2::IfcShell >(); } void Ifc4x2::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x2::IfcShell >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x2::IfcShellBasedSurfaceModel::declaration() const { return *((IfcParse::entity*)IFC4X2_types[936]); } const IfcParse::entity& Ifc4x2::IfcShellBasedSurfaceModel::Class() { return *((IfcParse::entity*)IFC4X2_types[936]); } Ifc4x2::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x2::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x2::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_SbsmBoundary)->generalize());; populate_derived(); } +Ifc4x2::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x2::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_SbsmBoundary)->generalize());; populate_derived(); } // Function implementations for IfcSimpleProperty @@ -14458,59 +14458,59 @@ Ifc4x2::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc const IfcParse::entity& Ifc4x2::IfcSimpleProperty::declaration() const { return *((IfcParse::entity*)IFC4X2_types[937]); } const IfcParse::entity& Ifc4x2::IfcSimpleProperty::Class() { return *((IfcParse::entity*)IFC4X2_types[937]); } Ifc4x2::IfcSimpleProperty::IfcSimpleProperty(IfcEntityInstanceData&& e) : IfcProperty(std::move(e)) { } -Ifc4x2::IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcProperty(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4x2::IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcProperty(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcSimplePropertyTemplate -boost::optional< ::Ifc4x2::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x2::IfcSimplePropertyTemplate::TemplateType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x2::IfcSimplePropertyTemplateTypeEnum::FromString(data_.get_attribute_value(4)); } +boost::optional< ::Ifc4x2::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x2::IfcSimplePropertyTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x2::IfcSimplePropertyTemplateTypeEnum::FromString(get_attribute_value(4)); } void Ifc4x2::IfcSimplePropertyTemplate::setTemplateType(boost::optional< ::Ifc4x2::IfcSimplePropertyTemplateTypeEnum::Value > v) { if (v) {set_attribute_value(4, EnumerationReference(&::Ifc4x2::IfcSimplePropertyTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x2::IfcSimplePropertyTemplate::PrimaryMeasureType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x2::IfcSimplePropertyTemplate::PrimaryMeasureType() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcSimplePropertyTemplate::setPrimaryMeasureType(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x2::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x2::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x2::IfcSimplePropertyTemplate::setSecondaryMeasureType(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x2::IfcPropertyEnumeration* Ifc4x2::IfcSimplePropertyTemplate::Enumerators() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x2::IfcPropertyEnumeration>(true); } +::Ifc4x2::IfcPropertyEnumeration* Ifc4x2::IfcSimplePropertyTemplate::Enumerators() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x2::IfcPropertyEnumeration>(true); } void Ifc4x2::IfcSimplePropertyTemplate::setEnumerators(::Ifc4x2::IfcPropertyEnumeration* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x2::IfcUnit* Ifc4x2::IfcSimplePropertyTemplate::PrimaryUnit() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x2::IfcUnit>(true); } +::Ifc4x2::IfcUnit* Ifc4x2::IfcSimplePropertyTemplate::PrimaryUnit() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x2::IfcUnit>(true); } void Ifc4x2::IfcSimplePropertyTemplate::setPrimaryUnit(::Ifc4x2::IfcUnit* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -::Ifc4x2::IfcUnit* Ifc4x2::IfcSimplePropertyTemplate::SecondaryUnit() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x2::IfcUnit>(true); } +::Ifc4x2::IfcUnit* Ifc4x2::IfcSimplePropertyTemplate::SecondaryUnit() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x2::IfcUnit>(true); } void Ifc4x2::IfcSimplePropertyTemplate::setSecondaryUnit(::Ifc4x2::IfcUnit* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x2::IfcSimplePropertyTemplate::Expression() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x2::IfcSimplePropertyTemplate::Expression() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x2::IfcSimplePropertyTemplate::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< ::Ifc4x2::IfcStateEnum::Value > Ifc4x2::IfcSimplePropertyTemplate::AccessState() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x2::IfcStateEnum::FromString(data_.get_attribute_value(11)); } +boost::optional< ::Ifc4x2::IfcStateEnum::Value > Ifc4x2::IfcSimplePropertyTemplate::AccessState() const { if(get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x2::IfcStateEnum::FromString(get_attribute_value(11)); } void Ifc4x2::IfcSimplePropertyTemplate::setAccessState(boost::optional< ::Ifc4x2::IfcStateEnum::Value > v) { if (v) {set_attribute_value(11, EnumerationReference(&::Ifc4x2::IfcStateEnum::Class(), (size_t) *v));} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x2::IfcSimplePropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X2_types[938]); } const IfcParse::entity& Ifc4x2::IfcSimplePropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X2_types[938]); } Ifc4x2::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplate(std::move(e)) { } -Ifc4x2::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x2::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_PrimaryMeasureType, boost::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x2::IfcPropertyEnumeration* v8_Enumerators, ::Ifc4x2::IfcUnit* v9_PrimaryUnit, ::Ifc4x2::IfcUnit* v10_SecondaryUnit, boost::optional< std::string > v11_Expression, boost::optional< ::Ifc4x2::IfcStateEnum::Value > v12_AccessState) : IfcPropertyTemplate(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x2::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, v8_Enumerators ? v8_Enumerators->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_PrimaryUnit ? v9_PrimaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_SecondaryUnit ? v10_SecondaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (EnumerationReference(&::Ifc4x2::IfcStateEnum::Class(),(size_t)*v12_AccessState))); }; populate_derived(); } +Ifc4x2::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x2::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_PrimaryMeasureType, boost::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x2::IfcPropertyEnumeration* v8_Enumerators, ::Ifc4x2::IfcUnit* v9_PrimaryUnit, ::Ifc4x2::IfcUnit* v10_SecondaryUnit, boost::optional< std::string > v11_Expression, boost::optional< ::Ifc4x2::IfcStateEnum::Value > v12_AccessState) : IfcPropertyTemplate(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x2::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, v8_Enumerators ? v8_Enumerators->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_PrimaryUnit ? v9_PrimaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_SecondaryUnit ? v10_SecondaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (EnumerationReference(&::Ifc4x2::IfcStateEnum::Class(),(size_t)*v12_AccessState))); }; populate_derived(); } // Function implementations for IfcSite -boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x2::IfcSite::RefLatitude() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = data_.get_attribute_value(9); return v; } +boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x2::IfcSite::RefLatitude() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = get_attribute_value(9); return v; } void Ifc4x2::IfcSite::setRefLatitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x2::IfcSite::RefLongitude() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = data_.get_attribute_value(10); return v; } +boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x2::IfcSite::RefLongitude() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = get_attribute_value(10); return v; } void Ifc4x2::IfcSite::setRefLongitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x2::IfcSite::RefElevation() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x2::IfcSite::RefElevation() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x2::IfcSite::setRefElevation(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x2::IfcSite::LandTitleNumber() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x2::IfcSite::LandTitleNumber() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x2::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4x2::IfcPostalAddress* Ifc4x2::IfcSite::SiteAddress() const { if(data_.get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(13)))->as<::Ifc4x2::IfcPostalAddress>(true); } +::Ifc4x2::IfcPostalAddress* Ifc4x2::IfcSite::SiteAddress() const { if(get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(13)))->as<::Ifc4x2::IfcPostalAddress>(true); } void Ifc4x2::IfcSite::setSiteAddress(::Ifc4x2::IfcPostalAddress* v) { set_attribute_value(13, v->as());if constexpr (false)unset_attribute_value(13); } const IfcParse::entity& Ifc4x2::IfcSite::declaration() const { return *((IfcParse::entity*)IFC4X2_types[942]); } const IfcParse::entity& Ifc4x2::IfcSite::Class() { return *((IfcParse::entity*)IFC4X2_types[942]); } Ifc4x2::IfcSite::IfcSite(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x2::IfcSite::IfcSite(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x2::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, ::Ifc4x2::IfcPostalAddress* v14_SiteAddress) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, v14_SiteAddress ? v14_SiteAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcSite::IfcSite(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x2::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, ::Ifc4x2::IfcPostalAddress* v14_SiteAddress) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, v14_SiteAddress ? v14_SiteAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSlab -boost::optional< ::Ifc4x2::IfcSlabTypeEnum::Value > Ifc4x2::IfcSlab::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcSlabTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcSlabTypeEnum::Value > Ifc4x2::IfcSlab::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcSlabTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcSlab::setPredefinedType(boost::optional< ::Ifc4x2::IfcSlabTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcSlabTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcSlab::declaration() const { return *((IfcParse::entity*)IFC4X2_types[946]); } const IfcParse::entity& Ifc4x2::IfcSlab::Class() { return *((IfcParse::entity*)IFC4X2_types[946]); } Ifc4x2::IfcSlab::IfcSlab(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x2::IfcSlab::IfcSlab(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcSlab::IfcSlab(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSlabElementedCase @@ -14518,7 +14518,7 @@ Ifc4x2::IfcSlab::IfcSlab(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_ const IfcParse::entity& Ifc4x2::IfcSlabElementedCase::declaration() const { return *((IfcParse::entity*)IFC4X2_types[947]); } const IfcParse::entity& Ifc4x2::IfcSlabElementedCase::Class() { return *((IfcParse::entity*)IFC4X2_types[947]); } Ifc4x2::IfcSlabElementedCase::IfcSlabElementedCase(IfcEntityInstanceData&& e) : IfcSlab(std::move(e)) { } -Ifc4x2::IfcSlabElementedCase::IfcSlabElementedCase(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcSlab(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcSlabElementedCase::IfcSlabElementedCase(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcSlab(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSlabStandardCase @@ -14526,51 +14526,51 @@ Ifc4x2::IfcSlabElementedCase::IfcSlabElementedCase(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x2::IfcSlabStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X2_types[948]); } const IfcParse::entity& Ifc4x2::IfcSlabStandardCase::Class() { return *((IfcParse::entity*)IFC4X2_types[948]); } Ifc4x2::IfcSlabStandardCase::IfcSlabStandardCase(IfcEntityInstanceData&& e) : IfcSlab(std::move(e)) { } -Ifc4x2::IfcSlabStandardCase::IfcSlabStandardCase(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcSlab(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcSlabStandardCase::IfcSlabStandardCase(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcSlab(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSlabType -::Ifc4x2::IfcSlabTypeEnum::Value Ifc4x2::IfcSlabType::PredefinedType() const { return ::Ifc4x2::IfcSlabTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcSlabTypeEnum::Value Ifc4x2::IfcSlabType::PredefinedType() const { return ::Ifc4x2::IfcSlabTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcSlabType::setPredefinedType(::Ifc4x2::IfcSlabTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcSlabTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcSlabType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[949]); } const IfcParse::entity& Ifc4x2::IfcSlabType::Class() { return *((IfcParse::entity*)IFC4X2_types[949]); } Ifc4x2::IfcSlabType::IfcSlabType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x2::IfcSlabType::IfcSlabType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSlabTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcSlabType::IfcSlabType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSlabTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSlippageConnectionCondition -boost::optional< double > Ifc4x2::IfcSlippageConnectionCondition::SlippageX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x2::IfcSlippageConnectionCondition::SlippageX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x2::IfcSlippageConnectionCondition::setSlippageX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x2::IfcSlippageConnectionCondition::SlippageY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x2::IfcSlippageConnectionCondition::SlippageY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x2::IfcSlippageConnectionCondition::setSlippageY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x2::IfcSlippageConnectionCondition::SlippageZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x2::IfcSlippageConnectionCondition::SlippageZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x2::IfcSlippageConnectionCondition::setSlippageZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x2::IfcSlippageConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC4X2_types[951]); } const IfcParse::entity& Ifc4x2::IfcSlippageConnectionCondition::Class() { return *((IfcParse::entity*)IFC4X2_types[951]); } Ifc4x2::IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(IfcEntityInstanceData&& e) : IfcStructuralConnectionCondition(std::move(e)) { } -Ifc4x2::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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; populate_derived(); } +Ifc4x2::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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; populate_derived(); } // Function implementations for IfcSolarDevice -boost::optional< ::Ifc4x2::IfcSolarDeviceTypeEnum::Value > Ifc4x2::IfcSolarDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcSolarDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcSolarDeviceTypeEnum::Value > Ifc4x2::IfcSolarDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcSolarDevice::setPredefinedType(boost::optional< ::Ifc4x2::IfcSolarDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcSolarDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcSolarDevice::declaration() const { return *((IfcParse::entity*)IFC4X2_types[952]); } const IfcParse::entity& Ifc4x2::IfcSolarDevice::Class() { return *((IfcParse::entity*)IFC4X2_types[952]); } Ifc4x2::IfcSolarDevice::IfcSolarDevice(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x2::IfcSolarDevice::IfcSolarDevice(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcSolarDevice::IfcSolarDevice(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSolarDeviceType -::Ifc4x2::IfcSolarDeviceTypeEnum::Value Ifc4x2::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4x2::IfcSolarDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcSolarDeviceTypeEnum::Value Ifc4x2::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4x2::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcSolarDeviceType::setPredefinedType(::Ifc4x2::IfcSolarDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcSolarDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcSolarDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[953]); } const IfcParse::entity& Ifc4x2::IfcSolarDeviceType::Class() { return *((IfcParse::entity*)IFC4X2_types[953]); } Ifc4x2::IfcSolarDeviceType::IfcSolarDeviceType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x2::IfcSolarDeviceType::IfcSolarDeviceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcSolarDeviceType::IfcSolarDeviceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSolidModel @@ -14578,12 +14578,12 @@ Ifc4x2::IfcSolarDeviceType::IfcSolarDeviceType(std::string v1_GlobalId, ::Ifc4x2 const IfcParse::entity& Ifc4x2::IfcSolidModel::declaration() const { return *((IfcParse::entity*)IFC4X2_types[956]); } const IfcParse::entity& Ifc4x2::IfcSolidModel::Class() { return *((IfcParse::entity*)IFC4X2_types[956]); } Ifc4x2::IfcSolidModel::IfcSolidModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x2::IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x2::IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcSpace -boost::optional< ::Ifc4x2::IfcSpaceTypeEnum::Value > Ifc4x2::IfcSpace::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x2::IfcSpaceTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x2::IfcSpaceTypeEnum::Value > Ifc4x2::IfcSpace::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x2::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcSpace::setPredefinedType(boost::optional< ::Ifc4x2::IfcSpaceTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcSpaceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x2::IfcSpace::ElevationWithFlooring() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x2::IfcSpace::ElevationWithFlooring() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x2::IfcSpace::setElevationWithFlooring(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } ::Ifc4x2::IfcRelCoversSpaces::list::ptr Ifc4x2::IfcSpace::HasCoverings() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[863], 4)->as(); } @@ -14592,42 +14592,42 @@ void Ifc4x2::IfcSpace::setElevationWithFlooring(boost::optional< double > v) { i const IfcParse::entity& Ifc4x2::IfcSpace::declaration() const { return *((IfcParse::entity*)IFC4X2_types[962]); } const IfcParse::entity& Ifc4x2::IfcSpace::Class() { return *((IfcParse::entity*)IFC4X2_types[962]); } Ifc4x2::IfcSpace::IfcSpace(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x2::IfcSpace::IfcSpace(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x2::IfcSpaceTypeEnum::Value > v10_PredefinedType, boost::optional< double > v11_ElevationWithFlooring) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; populate_derived(); } +Ifc4x2::IfcSpace::IfcSpace(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x2::IfcSpaceTypeEnum::Value > v10_PredefinedType, boost::optional< double > v11_ElevationWithFlooring) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; populate_derived(); } // Function implementations for IfcSpaceHeater -boost::optional< ::Ifc4x2::IfcSpaceHeaterTypeEnum::Value > Ifc4x2::IfcSpaceHeater::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcSpaceHeaterTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcSpaceHeaterTypeEnum::Value > Ifc4x2::IfcSpaceHeater::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcSpaceHeater::setPredefinedType(boost::optional< ::Ifc4x2::IfcSpaceHeaterTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcSpaceHeaterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcSpaceHeater::declaration() const { return *((IfcParse::entity*)IFC4X2_types[964]); } const IfcParse::entity& Ifc4x2::IfcSpaceHeater::Class() { return *((IfcParse::entity*)IFC4X2_types[964]); } Ifc4x2::IfcSpaceHeater::IfcSpaceHeater(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x2::IfcSpaceHeater::IfcSpaceHeater(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcSpaceHeater::IfcSpaceHeater(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSpaceHeaterType -::Ifc4x2::IfcSpaceHeaterTypeEnum::Value Ifc4x2::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4x2::IfcSpaceHeaterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcSpaceHeaterTypeEnum::Value Ifc4x2::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4x2::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcSpaceHeaterType::setPredefinedType(::Ifc4x2::IfcSpaceHeaterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcSpaceHeaterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcSpaceHeaterType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[965]); } const IfcParse::entity& Ifc4x2::IfcSpaceHeaterType::Class() { return *((IfcParse::entity*)IFC4X2_types[965]); } Ifc4x2::IfcSpaceHeaterType::IfcSpaceHeaterType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x2::IfcSpaceHeaterType::IfcSpaceHeaterType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcSpaceHeaterType::IfcSpaceHeaterType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSpaceType -::Ifc4x2::IfcSpaceTypeEnum::Value Ifc4x2::IfcSpaceType::PredefinedType() const { return ::Ifc4x2::IfcSpaceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcSpaceTypeEnum::Value Ifc4x2::IfcSpaceType::PredefinedType() const { return ::Ifc4x2::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcSpaceType::setPredefinedType(::Ifc4x2::IfcSpaceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcSpaceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x2::IfcSpaceType::LongName() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x2::IfcSpaceType::LongName() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x2::IfcSpaceType::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x2::IfcSpaceType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[967]); } const IfcParse::entity& Ifc4x2::IfcSpaceType::Class() { return *((IfcParse::entity*)IFC4X2_types[967]); } Ifc4x2::IfcSpaceType::IfcSpaceType(IfcEntityInstanceData&& e) : IfcSpatialStructureElementType(std::move(e)) { } -Ifc4x2::IfcSpaceType::IfcSpaceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSpaceTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialStructureElementType(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } +Ifc4x2::IfcSpaceType::IfcSpaceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSpaceTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialStructureElementType(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } // Function implementations for IfcSpatialElement -boost::optional< std::string > Ifc4x2::IfcSpatialElement::LongName() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x2::IfcSpatialElement::LongName() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x2::IfcSpatialElement::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } ::Ifc4x2::IfcRelContainedInSpatialStructure::list::ptr Ifc4x2::IfcSpatialElement::ContainsElements() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[861], 5)->as(); } @@ -14637,27 +14637,27 @@ void Ifc4x2::IfcSpatialElement::setLongName(boost::optional< std::string > v) { const IfcParse::entity& Ifc4x2::IfcSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[969]); } const IfcParse::entity& Ifc4x2::IfcSpatialElement::Class() { return *((IfcParse::entity*)IFC4X2_types[969]); } Ifc4x2::IfcSpatialElement::IfcSpatialElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x2::IfcSpatialElement::IfcSpatialElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcProduct(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } +Ifc4x2::IfcSpatialElement::IfcSpatialElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } // Function implementations for IfcSpatialElementType -boost::optional< std::string > Ifc4x2::IfcSpatialElementType::ElementType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x2::IfcSpatialElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x2::IfcSpatialElementType::setElementType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcSpatialElementType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[970]); } const IfcParse::entity& Ifc4x2::IfcSpatialElementType::Class() { return *((IfcParse::entity*)IFC4X2_types[970]); } Ifc4x2::IfcSpatialElementType::IfcSpatialElementType(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(e)) { } -Ifc4x2::IfcSpatialElementType::IfcSpatialElementType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x2::IfcSpatialElementType::IfcSpatialElementType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcSpatialStructureElement -boost::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > Ifc4x2::IfcSpatialStructureElement::CompositionType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcElementCompositionEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > Ifc4x2::IfcSpatialStructureElement::CompositionType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcElementCompositionEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcSpatialStructureElement::setCompositionType(boost::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcElementCompositionEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcSpatialStructureElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[971]); } const IfcParse::entity& Ifc4x2::IfcSpatialStructureElement::Class() { return *((IfcParse::entity*)IFC4X2_types[971]); } Ifc4x2::IfcSpatialStructureElement::IfcSpatialStructureElement(IfcEntityInstanceData&& e) : IfcSpatialElement(std::move(e)) { } -Ifc4x2::IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } +Ifc4x2::IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x2::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } // Function implementations for IfcSpatialStructureElementType @@ -14665,132 +14665,132 @@ Ifc4x2::IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v1_Gl const IfcParse::entity& Ifc4x2::IfcSpatialStructureElementType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[972]); } const IfcParse::entity& Ifc4x2::IfcSpatialStructureElementType::Class() { return *((IfcParse::entity*)IFC4X2_types[972]); } Ifc4x2::IfcSpatialStructureElementType::IfcSpatialStructureElementType(IfcEntityInstanceData&& e) : IfcSpatialElementType(std::move(e)) { } -Ifc4x2::IfcSpatialStructureElementType::IfcSpatialStructureElementType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcSpatialElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x2::IfcSpatialStructureElementType::IfcSpatialStructureElementType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcSpatialElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcSpatialZone -boost::optional< ::Ifc4x2::IfcSpatialZoneTypeEnum::Value > Ifc4x2::IfcSpatialZone::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcSpatialZoneTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcSpatialZoneTypeEnum::Value > Ifc4x2::IfcSpatialZone::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcSpatialZone::setPredefinedType(boost::optional< ::Ifc4x2::IfcSpatialZoneTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcSpatialZoneTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcSpatialZone::declaration() const { return *((IfcParse::entity*)IFC4X2_types[973]); } const IfcParse::entity& Ifc4x2::IfcSpatialZone::Class() { return *((IfcParse::entity*)IFC4X2_types[973]); } Ifc4x2::IfcSpatialZone::IfcSpatialZone(IfcEntityInstanceData&& e) : IfcSpatialElement(std::move(e)) { } -Ifc4x2::IfcSpatialZone::IfcSpatialZone(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x2::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) : IfcSpatialElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcSpatialZone::IfcSpatialZone(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x2::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) : IfcSpatialElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSpatialZoneType -::Ifc4x2::IfcSpatialZoneTypeEnum::Value Ifc4x2::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x2::IfcSpatialZoneTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcSpatialZoneTypeEnum::Value Ifc4x2::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x2::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcSpatialZoneType::setPredefinedType(::Ifc4x2::IfcSpatialZoneTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcSpatialZoneTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x2::IfcSpatialZoneType::LongName() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x2::IfcSpatialZoneType::LongName() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x2::IfcSpatialZoneType::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x2::IfcSpatialZoneType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[974]); } const IfcParse::entity& Ifc4x2::IfcSpatialZoneType::Class() { return *((IfcParse::entity*)IFC4X2_types[974]); } Ifc4x2::IfcSpatialZoneType::IfcSpatialZoneType(IfcEntityInstanceData&& e) : IfcSpatialElementType(std::move(e)) { } -Ifc4x2::IfcSpatialZoneType::IfcSpatialZoneType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialElementType(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } +Ifc4x2::IfcSpatialZoneType::IfcSpatialZoneType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialElementType(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } // Function implementations for IfcSphere -double Ifc4x2::IfcSphere::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x2::IfcSphere::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x2::IfcSphere::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcSphere::declaration() const { return *((IfcParse::entity*)IFC4X2_types[980]); } const IfcParse::entity& Ifc4x2::IfcSphere::Class() { return *((IfcParse::entity*)IFC4X2_types[980]); } Ifc4x2::IfcSphere::IfcSphere(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x2::IfcSphere::IfcSphere(::Ifc4x2::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x2::IfcSphere::IfcSphere(::Ifc4x2::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcSphericalSurface -double Ifc4x2::IfcSphericalSurface::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x2::IfcSphericalSurface::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x2::IfcSphericalSurface::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcSphericalSurface::declaration() const { return *((IfcParse::entity*)IFC4X2_types[981]); } const IfcParse::entity& Ifc4x2::IfcSphericalSurface::Class() { return *((IfcParse::entity*)IFC4X2_types[981]); } Ifc4x2::IfcSphericalSurface::IfcSphericalSurface(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x2::IfcSphericalSurface::IfcSphericalSurface(::Ifc4x2::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x2::IfcSphericalSurface::IfcSphericalSurface(::Ifc4x2::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcStackTerminal -boost::optional< ::Ifc4x2::IfcStackTerminalTypeEnum::Value > Ifc4x2::IfcStackTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcStackTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcStackTerminalTypeEnum::Value > Ifc4x2::IfcStackTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcStackTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcStackTerminal::setPredefinedType(boost::optional< ::Ifc4x2::IfcStackTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcStackTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcStackTerminal::declaration() const { return *((IfcParse::entity*)IFC4X2_types[982]); } const IfcParse::entity& Ifc4x2::IfcStackTerminal::Class() { return *((IfcParse::entity*)IFC4X2_types[982]); } Ifc4x2::IfcStackTerminal::IfcStackTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x2::IfcStackTerminal::IfcStackTerminal(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcStackTerminal::IfcStackTerminal(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcStackTerminalType -::Ifc4x2::IfcStackTerminalTypeEnum::Value Ifc4x2::IfcStackTerminalType::PredefinedType() const { return ::Ifc4x2::IfcStackTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcStackTerminalTypeEnum::Value Ifc4x2::IfcStackTerminalType::PredefinedType() const { return ::Ifc4x2::IfcStackTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcStackTerminalType::setPredefinedType(::Ifc4x2::IfcStackTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcStackTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcStackTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[983]); } const IfcParse::entity& Ifc4x2::IfcStackTerminalType::Class() { return *((IfcParse::entity*)IFC4X2_types[983]); } Ifc4x2::IfcStackTerminalType::IfcStackTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x2::IfcStackTerminalType::IfcStackTerminalType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcStackTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcStackTerminalType::IfcStackTerminalType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcStackTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStair -boost::optional< ::Ifc4x2::IfcStairTypeEnum::Value > Ifc4x2::IfcStair::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcStairTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcStairTypeEnum::Value > Ifc4x2::IfcStair::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcStairTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcStair::setPredefinedType(boost::optional< ::Ifc4x2::IfcStairTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcStairTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcStair::declaration() const { return *((IfcParse::entity*)IFC4X2_types[985]); } const IfcParse::entity& Ifc4x2::IfcStair::Class() { return *((IfcParse::entity*)IFC4X2_types[985]); } Ifc4x2::IfcStair::IfcStair(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x2::IfcStair::IfcStair(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcStairTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcStair::IfcStair(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcStairTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcStairFlight -boost::optional< int > Ifc4x2::IfcStairFlight::NumberOfRisers() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } int v = data_.get_attribute_value(8); return v; } +boost::optional< int > Ifc4x2::IfcStairFlight::NumberOfRisers() const { if(get_attribute_value(8).isNull()) { return boost::none; } int v = get_attribute_value(8); return v; } void Ifc4x2::IfcStairFlight::setNumberOfRisers(boost::optional< int > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< int > Ifc4x2::IfcStairFlight::NumberOfTreads() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } int v = data_.get_attribute_value(9); return v; } +boost::optional< int > Ifc4x2::IfcStairFlight::NumberOfTreads() const { if(get_attribute_value(9).isNull()) { return boost::none; } int v = get_attribute_value(9); return v; } void Ifc4x2::IfcStairFlight::setNumberOfTreads(boost::optional< int > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x2::IfcStairFlight::RiserHeight() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x2::IfcStairFlight::RiserHeight() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x2::IfcStairFlight::setRiserHeight(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x2::IfcStairFlight::TreadLength() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x2::IfcStairFlight::TreadLength() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x2::IfcStairFlight::setTreadLength(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< ::Ifc4x2::IfcStairFlightTypeEnum::Value > Ifc4x2::IfcStairFlight::PredefinedType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x2::IfcStairFlightTypeEnum::FromString(data_.get_attribute_value(12)); } +boost::optional< ::Ifc4x2::IfcStairFlightTypeEnum::Value > Ifc4x2::IfcStairFlight::PredefinedType() const { if(get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x2::IfcStairFlightTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x2::IfcStairFlight::setPredefinedType(boost::optional< ::Ifc4x2::IfcStairFlightTypeEnum::Value > v) { if (v) {set_attribute_value(12, EnumerationReference(&::Ifc4x2::IfcStairFlightTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x2::IfcStairFlight::declaration() const { return *((IfcParse::entity*)IFC4X2_types[986]); } const IfcParse::entity& Ifc4x2::IfcStairFlight::Class() { return *((IfcParse::entity*)IFC4X2_types[986]); } Ifc4x2::IfcStairFlight::IfcStairFlight(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x2::IfcStairFlight::IfcStairFlight(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRisers, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength, boost::optional< ::Ifc4x2::IfcStairFlightTypeEnum::Value > v13_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x2::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcStairFlight::IfcStairFlight(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRisers, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength, boost::optional< ::Ifc4x2::IfcStairFlightTypeEnum::Value > v13_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x2::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } // Function implementations for IfcStairFlightType -::Ifc4x2::IfcStairFlightTypeEnum::Value Ifc4x2::IfcStairFlightType::PredefinedType() const { return ::Ifc4x2::IfcStairFlightTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcStairFlightTypeEnum::Value Ifc4x2::IfcStairFlightType::PredefinedType() const { return ::Ifc4x2::IfcStairFlightTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcStairFlightType::setPredefinedType(::Ifc4x2::IfcStairFlightTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcStairFlightTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcStairFlightType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[987]); } const IfcParse::entity& Ifc4x2::IfcStairFlightType::Class() { return *((IfcParse::entity*)IFC4X2_types[987]); } Ifc4x2::IfcStairFlightType::IfcStairFlightType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x2::IfcStairFlightType::IfcStairFlightType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcStairFlightTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcStairFlightType::IfcStairFlightType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcStairFlightTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStairType -::Ifc4x2::IfcStairTypeEnum::Value Ifc4x2::IfcStairType::PredefinedType() const { return ::Ifc4x2::IfcStairTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcStairTypeEnum::Value Ifc4x2::IfcStairType::PredefinedType() const { return ::Ifc4x2::IfcStairTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcStairType::setPredefinedType(::Ifc4x2::IfcStairTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcStairTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcStairType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[989]); } const IfcParse::entity& Ifc4x2::IfcStairType::Class() { return *((IfcParse::entity*)IFC4X2_types[989]); } Ifc4x2::IfcStairType::IfcStairType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x2::IfcStairType::IfcStairType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcStairTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcStairType::IfcStairType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcStairTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralAction -boost::optional< bool > Ifc4x2::IfcStructuralAction::DestabilizingLoad() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } bool v = data_.get_attribute_value(9); return v; } +boost::optional< bool > Ifc4x2::IfcStructuralAction::DestabilizingLoad() const { if(get_attribute_value(9).isNull()) { return boost::none; } bool v = get_attribute_value(9); return v; } void Ifc4x2::IfcStructuralAction::setDestabilizingLoad(boost::optional< bool > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x2::IfcStructuralAction::declaration() const { return *((IfcParse::entity*)IFC4X2_types[992]); } const IfcParse::entity& Ifc4x2::IfcStructuralAction::Class() { return *((IfcParse::entity*)IFC4X2_types[992]); } Ifc4x2::IfcStructuralAction::IfcStructuralAction(IfcEntityInstanceData&& e) : IfcStructuralActivity(std::move(e)) { } -Ifc4x2::IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralActivity(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } +Ifc4x2::IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralActivity(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } // Function implementations for IfcStructuralActivity -::Ifc4x2::IfcStructuralLoad* Ifc4x2::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x2::IfcStructuralLoad>(true); } +::Ifc4x2::IfcStructuralLoad* Ifc4x2::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x2::IfcStructuralLoad>(true); } void Ifc4x2::IfcStructuralActivity::setAppliedLoad(::Ifc4x2::IfcStructuralLoad* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x2::IfcGlobalOrLocalEnum::Value Ifc4x2::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x2::IfcGlobalOrLocalEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x2::IfcGlobalOrLocalEnum::Value Ifc4x2::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x2::IfcGlobalOrLocalEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcStructuralActivity::setGlobalOrLocal(::Ifc4x2::IfcGlobalOrLocalEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } ::Ifc4x2::IfcRelConnectsStructuralActivity::list::ptr Ifc4x2::IfcStructuralActivity::AssignedToStructuralItem() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[857], 5)->as(); } @@ -14798,28 +14798,28 @@ void Ifc4x2::IfcStructuralActivity::setGlobalOrLocal(::Ifc4x2::IfcGlobalOrLocalE const IfcParse::entity& Ifc4x2::IfcStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC4X2_types[993]); } const IfcParse::entity& Ifc4x2::IfcStructuralActivity::Class() { return *((IfcParse::entity*)IFC4X2_types[993]); } Ifc4x2::IfcStructuralActivity::IfcStructuralActivity(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x2::IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +Ifc4x2::IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralAnalysisModel -::Ifc4x2::IfcAnalysisModelTypeEnum::Value Ifc4x2::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x2::IfcAnalysisModelTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x2::IfcAnalysisModelTypeEnum::Value Ifc4x2::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x2::IfcAnalysisModelTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x2::IfcStructuralAnalysisModel::setPredefinedType(::Ifc4x2::IfcAnalysisModelTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x2::IfcAnalysisModelTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x2::IfcAxis2Placement3D>(true); } +::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x2::IfcAxis2Placement3D>(true); } void Ifc4x2::IfcStructuralAnalysisModel::setOrientationOf2DPlane(::Ifc4x2::IfcAxis2Placement3D* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< aggregate_of< ::Ifc4x2::IfcStructuralLoadGroup >::ptr > Ifc4x2::IfcStructuralAnalysisModel::LoadedBy() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x2::IfcStructuralLoadGroup >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcStructuralLoadGroup >::ptr > Ifc4x2::IfcStructuralAnalysisModel::LoadedBy() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x2::IfcStructuralLoadGroup >(); } void Ifc4x2::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc4x2::IfcStructuralLoadGroup >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< aggregate_of< ::Ifc4x2::IfcStructuralResultGroup >::ptr > Ifc4x2::IfcStructuralAnalysisModel::HasResults() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x2::IfcStructuralResultGroup >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcStructuralResultGroup >::ptr > Ifc4x2::IfcStructuralAnalysisModel::HasResults() const { if(get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x2::IfcStructuralResultGroup >(); } void Ifc4x2::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc4x2::IfcStructuralResultGroup >::ptr > v) { if (v) {set_attribute_value(8, (*v)->generalize());} else {unset_attribute_value(8);} } -::Ifc4x2::IfcObjectPlacement* Ifc4x2::IfcStructuralAnalysisModel::SharedPlacement() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x2::IfcObjectPlacement>(true); } +::Ifc4x2::IfcObjectPlacement* Ifc4x2::IfcStructuralAnalysisModel::SharedPlacement() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x2::IfcObjectPlacement>(true); } void Ifc4x2::IfcStructuralAnalysisModel::setSharedPlacement(::Ifc4x2::IfcObjectPlacement* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcStructuralAnalysisModel::declaration() const { return *((IfcParse::entity*)IFC4X2_types[995]); } const IfcParse::entity& Ifc4x2::IfcStructuralAnalysisModel::Class() { return *((IfcParse::entity*)IFC4X2_types[995]); } Ifc4x2::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x2::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x2::IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< aggregate_of< ::Ifc4x2::IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< aggregate_of< ::Ifc4x2::IfcStructuralResultGroup >::ptr > v9_HasResults, ::Ifc4x2::IfcObjectPlacement* v10_SharedPlacement) : IfcSystem(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, v7_OrientationOf2DPlane ? v7_OrientationOf2DPlane->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LoadedBy) {set_attribute_value(7, (*v8_LoadedBy)->generalize()); } if (v9_HasResults) {set_attribute_value(8, (*v9_HasResults)->generalize()); }set_attribute_value(9, v10_SharedPlacement ? v10_SharedPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x2::IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< aggregate_of< ::Ifc4x2::IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< aggregate_of< ::Ifc4x2::IfcStructuralResultGroup >::ptr > v9_HasResults, ::Ifc4x2::IfcObjectPlacement* v10_SharedPlacement) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, v7_OrientationOf2DPlane ? v7_OrientationOf2DPlane->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LoadedBy) {set_attribute_value(7, (*v8_LoadedBy)->generalize()); } if (v9_HasResults) {set_attribute_value(8, (*v9_HasResults)->generalize()); }set_attribute_value(9, v10_SharedPlacement ? v10_SharedPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralConnection -::Ifc4x2::IfcBoundaryCondition* Ifc4x2::IfcStructuralConnection::AppliedCondition() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x2::IfcBoundaryCondition>(true); } +::Ifc4x2::IfcBoundaryCondition* Ifc4x2::IfcStructuralConnection::AppliedCondition() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x2::IfcBoundaryCondition>(true); } void Ifc4x2::IfcStructuralConnection::setAppliedCondition(::Ifc4x2::IfcBoundaryCondition* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } ::Ifc4x2::IfcRelConnectsStructuralMember::list::ptr Ifc4x2::IfcStructuralConnection::ConnectsStructuralMembers() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[858], 5)->as(); } @@ -14827,51 +14827,51 @@ void Ifc4x2::IfcStructuralConnection::setAppliedCondition(::Ifc4x2::IfcBoundaryC const IfcParse::entity& Ifc4x2::IfcStructuralConnection::declaration() const { return *((IfcParse::entity*)IFC4X2_types[996]); } const IfcParse::entity& Ifc4x2::IfcStructuralConnection::Class() { return *((IfcParse::entity*)IFC4X2_types[996]); } Ifc4x2::IfcStructuralConnection::IfcStructuralConnection(IfcEntityInstanceData&& e) : IfcStructuralItem(std::move(e)) { } -Ifc4x2::IfcStructuralConnection::IfcStructuralConnection(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralItem(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcStructuralConnection::IfcStructuralConnection(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralItem(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralConnectionCondition -boost::optional< std::string > Ifc4x2::IfcStructuralConnectionCondition::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x2::IfcStructuralConnectionCondition::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcStructuralConnectionCondition::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x2::IfcStructuralConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC4X2_types[997]); } const IfcParse::entity& Ifc4x2::IfcStructuralConnectionCondition::Class() { return *((IfcParse::entity*)IFC4X2_types[997]); } Ifc4x2::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x2::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralCurveAction -boost::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > Ifc4x2::IfcStructuralCurveAction::ProjectedOrTrue() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x2::IfcProjectedOrTrueLengthEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > Ifc4x2::IfcStructuralCurveAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x2::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } void Ifc4x2::IfcStructuralCurveAction::setProjectedOrTrue(boost::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x2::IfcProjectedOrTrueLengthEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value Ifc4x2::IfcStructuralCurveAction::PredefinedType() const { return ::Ifc4x2::IfcStructuralCurveActivityTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value Ifc4x2::IfcStructuralCurveAction::PredefinedType() const { return ::Ifc4x2::IfcStructuralCurveActivityTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x2::IfcStructuralCurveAction::setPredefinedType(::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x2::IfcStructuralCurveAction::declaration() const { return *((IfcParse::entity*)IFC4X2_types[998]); } const IfcParse::entity& Ifc4x2::IfcStructuralCurveAction::Class() { return *((IfcParse::entity*)IFC4X2_types[998]); } Ifc4x2::IfcStructuralCurveAction::IfcStructuralCurveAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -Ifc4x2::IfcStructuralCurveAction::IfcStructuralCurveAction(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcStructuralCurveAction::IfcStructuralCurveAction(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralCurveConnection -::Ifc4x2::IfcDirection* Ifc4x2::IfcStructuralCurveConnection::Axis() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x2::IfcDirection>(true); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcStructuralCurveConnection::Axis() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcStructuralCurveConnection::setAxis(::Ifc4x2::IfcDirection* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x2::IfcStructuralCurveConnection::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1000]); } const IfcParse::entity& Ifc4x2::IfcStructuralCurveConnection::Class() { return *((IfcParse::entity*)IFC4X2_types[1000]); } Ifc4x2::IfcStructuralCurveConnection::IfcStructuralCurveConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -Ifc4x2::IfcStructuralCurveConnection::IfcStructuralCurveConnection(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x2::IfcDirection* v9_Axis) : IfcStructuralConnection(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcStructuralCurveConnection::IfcStructuralCurveConnection(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x2::IfcDirection* v9_Axis) : IfcStructuralConnection(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralCurveMember -::Ifc4x2::IfcStructuralCurveMemberTypeEnum::Value Ifc4x2::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x2::IfcStructuralCurveMemberTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x2::IfcStructuralCurveMemberTypeEnum::Value Ifc4x2::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x2::IfcStructuralCurveMemberTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x2::IfcStructuralCurveMember::setPredefinedType(::Ifc4x2::IfcStructuralCurveMemberTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x2::IfcStructuralCurveMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x2::IfcDirection* Ifc4x2::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x2::IfcDirection>(true); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcStructuralCurveMember::setAxis(::Ifc4x2::IfcDirection* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x2::IfcStructuralCurveMember::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1001]); } const IfcParse::entity& Ifc4x2::IfcStructuralCurveMember::Class() { return *((IfcParse::entity*)IFC4X2_types[1001]); } Ifc4x2::IfcStructuralCurveMember::IfcStructuralCurveMember(IfcEntityInstanceData&& e) : IfcStructuralMember(std::move(e)) { } -Ifc4x2::IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x2::IfcDirection* v9_Axis) : IfcStructuralMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x2::IfcDirection* v9_Axis) : IfcStructuralMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralCurveMemberVarying @@ -14879,17 +14879,17 @@ Ifc4x2::IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_Global const IfcParse::entity& Ifc4x2::IfcStructuralCurveMemberVarying::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1003]); } const IfcParse::entity& Ifc4x2::IfcStructuralCurveMemberVarying::Class() { return *((IfcParse::entity*)IFC4X2_types[1003]); } Ifc4x2::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(IfcEntityInstanceData&& e) : IfcStructuralCurveMember(std::move(e)) { } -Ifc4x2::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x2::IfcDirection* v9_Axis) : IfcStructuralCurveMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x2::IfcDirection* v9_Axis) : IfcStructuralCurveMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralCurveReaction -::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value Ifc4x2::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4x2::IfcStructuralCurveActivityTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value Ifc4x2::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4x2::IfcStructuralCurveActivityTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcStructuralCurveReaction::setPredefinedType(::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcStructuralCurveReaction::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1004]); } const IfcParse::entity& Ifc4x2::IfcStructuralCurveReaction::Class() { return *((IfcParse::entity*)IFC4X2_types[1004]); } Ifc4x2::IfcStructuralCurveReaction::IfcStructuralCurveReaction(IfcEntityInstanceData&& e) : IfcStructuralReaction(std::move(e)) { } -Ifc4x2::IfcStructuralCurveReaction::IfcStructuralCurveReaction(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcStructuralCurveReaction::IfcStructuralCurveReaction(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralItem @@ -14898,7 +14898,7 @@ Ifc4x2::IfcStructuralCurveReaction::IfcStructuralCurveReaction(std::string v1_Gl const IfcParse::entity& Ifc4x2::IfcStructuralItem::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1005]); } const IfcParse::entity& Ifc4x2::IfcStructuralItem::Class() { return *((IfcParse::entity*)IFC4X2_types[1005]); } Ifc4x2::IfcStructuralItem::IfcStructuralItem(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x2::IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralLinearAction @@ -14906,50 +14906,50 @@ Ifc4x2::IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, ::Ifc4x2:: const IfcParse::entity& Ifc4x2::IfcStructuralLinearAction::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1006]); } const IfcParse::entity& Ifc4x2::IfcStructuralLinearAction::Class() { return *((IfcParse::entity*)IFC4X2_types[1006]); } Ifc4x2::IfcStructuralLinearAction::IfcStructuralLinearAction(IfcEntityInstanceData&& e) : IfcStructuralCurveAction(std::move(e)) { } -Ifc4x2::IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralCurveAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralCurveAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralLoad -boost::optional< std::string > Ifc4x2::IfcStructuralLoad::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x2::IfcStructuralLoad::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcStructuralLoad::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x2::IfcStructuralLoad::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1007]); } const IfcParse::entity& Ifc4x2::IfcStructuralLoad::Class() { return *((IfcParse::entity*)IFC4X2_types[1007]); } Ifc4x2::IfcStructuralLoad::IfcStructuralLoad(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x2::IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralLoadCase -boost::optional< std::vector< double > /*[3:3]*/ > Ifc4x2::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::vector< double > /*[3:3]*/ v = data_.get_attribute_value(10); return v; } +boost::optional< std::vector< double > /*[3:3]*/ > Ifc4x2::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::vector< double > /*[3:3]*/ v = get_attribute_value(10); return v; } void Ifc4x2::IfcStructuralLoadCase::setSelfWeightCoefficients(boost::optional< std::vector< double > /*[3:3]*/ > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x2::IfcStructuralLoadCase::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1008]); } const IfcParse::entity& Ifc4x2::IfcStructuralLoadCase::Class() { return *((IfcParse::entity*)IFC4X2_types[1008]); } Ifc4x2::IfcStructuralLoadCase::IfcStructuralLoadCase(IfcEntityInstanceData&& e) : IfcStructuralLoadGroup(std::move(e)) { } -Ifc4x2::IfcStructuralLoadCase::IfcStructuralLoadCase(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x2::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(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x2::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); }; populate_derived(); } +Ifc4x2::IfcStructuralLoadCase::IfcStructuralLoadCase(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x2::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(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x2::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); }; populate_derived(); } // Function implementations for IfcStructuralLoadConfiguration -aggregate_of< ::Ifc4x2::IfcStructuralLoadOrResult >::ptr Ifc4x2::IfcStructuralLoadConfiguration::Values() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x2::IfcStructuralLoadOrResult >(); } +aggregate_of< ::Ifc4x2::IfcStructuralLoadOrResult >::ptr Ifc4x2::IfcStructuralLoadConfiguration::Values() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x2::IfcStructuralLoadOrResult >(); } void Ifc4x2::IfcStructuralLoadConfiguration::setValues(aggregate_of< ::Ifc4x2::IfcStructuralLoadOrResult >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::vector< std::vector< double > > > Ifc4x2::IfcStructuralLoadConfiguration::Locations() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< std::vector< double > > v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< std::vector< double > > > Ifc4x2::IfcStructuralLoadConfiguration::Locations() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< std::vector< double > > v = get_attribute_value(2); return v; } void Ifc4x2::IfcStructuralLoadConfiguration::setLocations(boost::optional< std::vector< std::vector< double > > > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x2::IfcStructuralLoadConfiguration::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1009]); } const IfcParse::entity& Ifc4x2::IfcStructuralLoadConfiguration::Class() { return *((IfcParse::entity*)IFC4X2_types[1009]); } Ifc4x2::IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(IfcEntityInstanceData&& e) : IfcStructuralLoad(std::move(e)) { } -Ifc4x2::IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x2::IfcStructuralLoadOrResult >::ptr v2_Values, boost::optional< std::vector< std::vector< double > > > v3_Locations) : IfcStructuralLoad(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Values)->generalize()); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); }; populate_derived(); } +Ifc4x2::IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x2::IfcStructuralLoadOrResult >::ptr v2_Values, boost::optional< std::vector< std::vector< double > > > v3_Locations) : IfcStructuralLoad(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Values)->generalize()); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); }; populate_derived(); } // Function implementations for IfcStructuralLoadGroup -::Ifc4x2::IfcLoadGroupTypeEnum::Value Ifc4x2::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4x2::IfcLoadGroupTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x2::IfcLoadGroupTypeEnum::Value Ifc4x2::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4x2::IfcLoadGroupTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x2::IfcStructuralLoadGroup::setPredefinedType(::Ifc4x2::IfcLoadGroupTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x2::IfcLoadGroupTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x2::IfcActionTypeEnum::Value Ifc4x2::IfcStructuralLoadGroup::ActionType() const { return ::Ifc4x2::IfcActionTypeEnum::FromString(data_.get_attribute_value(6)); } +::Ifc4x2::IfcActionTypeEnum::Value Ifc4x2::IfcStructuralLoadGroup::ActionType() const { return ::Ifc4x2::IfcActionTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x2::IfcStructuralLoadGroup::setActionType(::Ifc4x2::IfcActionTypeEnum::Value v) { set_attribute_value(6, EnumerationReference(&::Ifc4x2::IfcActionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(6); } -::Ifc4x2::IfcActionSourceTypeEnum::Value Ifc4x2::IfcStructuralLoadGroup::ActionSource() const { return ::Ifc4x2::IfcActionSourceTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x2::IfcActionSourceTypeEnum::Value Ifc4x2::IfcStructuralLoadGroup::ActionSource() const { return ::Ifc4x2::IfcActionSourceTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x2::IfcStructuralLoadGroup::setActionSource(::Ifc4x2::IfcActionSourceTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x2::IfcActionSourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc4x2::IfcStructuralLoadGroup::Coefficient() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x2::IfcStructuralLoadGroup::Coefficient() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x2::IfcStructuralLoadGroup::setCoefficient(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x2::IfcStructuralLoadGroup::Purpose() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x2::IfcStructuralLoadGroup::Purpose() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x2::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } ::Ifc4x2::IfcStructuralResultGroup::list::ptr Ifc4x2::IfcStructuralLoadGroup::SourceOfResultGroup() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[1026], 6)->as(); } @@ -14958,27 +14958,27 @@ void Ifc4x2::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string > v const IfcParse::entity& Ifc4x2::IfcStructuralLoadGroup::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1010]); } const IfcParse::entity& Ifc4x2::IfcStructuralLoadGroup::Class() { return *((IfcParse::entity*)IFC4X2_types[1010]); } Ifc4x2::IfcStructuralLoadGroup::IfcStructuralLoadGroup(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x2::IfcStructuralLoadGroup::IfcStructuralLoadGroup(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x2::IfcActionSourceTypeEnum::Value v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose) : IfcGroup(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x2::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; populate_derived(); } +Ifc4x2::IfcStructuralLoadGroup::IfcStructuralLoadGroup(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x2::IfcActionSourceTypeEnum::Value v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x2::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; populate_derived(); } // Function implementations for IfcStructuralLoadLinearForce -boost::optional< double > Ifc4x2::IfcStructuralLoadLinearForce::LinearForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x2::IfcStructuralLoadLinearForce::LinearForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x2::IfcStructuralLoadLinearForce::setLinearForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x2::IfcStructuralLoadLinearForce::LinearForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x2::IfcStructuralLoadLinearForce::LinearForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x2::IfcStructuralLoadLinearForce::setLinearForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x2::IfcStructuralLoadLinearForce::LinearForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x2::IfcStructuralLoadLinearForce::LinearForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x2::IfcStructuralLoadLinearForce::setLinearForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x2::IfcStructuralLoadLinearForce::LinearMomentX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x2::IfcStructuralLoadLinearForce::LinearMomentX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x2::IfcStructuralLoadLinearForce::setLinearMomentX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x2::IfcStructuralLoadLinearForce::LinearMomentY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x2::IfcStructuralLoadLinearForce::LinearMomentY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x2::IfcStructuralLoadLinearForce::setLinearMomentY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x2::IfcStructuralLoadLinearForce::LinearMomentZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x2::IfcStructuralLoadLinearForce::LinearMomentZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x2::IfcStructuralLoadLinearForce::setLinearMomentZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x2::IfcStructuralLoadLinearForce::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1011]); } const IfcParse::entity& Ifc4x2::IfcStructuralLoadLinearForce::Class() { return *((IfcParse::entity*)IFC4X2_types[1011]); } Ifc4x2::IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x2::IfcStructuralLoadLinearForce::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) : IfcStructuralLoadStatic(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; populate_derived(); } +Ifc4x2::IfcStructuralLoadLinearForce::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) : IfcStructuralLoadStatic(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadOrResult @@ -14986,81 +14986,81 @@ Ifc4x2::IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(boost::option const IfcParse::entity& Ifc4x2::IfcStructuralLoadOrResult::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1012]); } const IfcParse::entity& Ifc4x2::IfcStructuralLoadOrResult::Class() { return *((IfcParse::entity*)IFC4X2_types[1012]); } Ifc4x2::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(IfcEntityInstanceData&& e) : IfcStructuralLoad(std::move(e)) { } -Ifc4x2::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional< std::string > v1_Name) : IfcStructuralLoad(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x2::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional< std::string > v1_Name) : IfcStructuralLoad(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralLoadPlanarForce -boost::optional< double > Ifc4x2::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x2::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x2::IfcStructuralLoadPlanarForce::setPlanarForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x2::IfcStructuralLoadPlanarForce::PlanarForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x2::IfcStructuralLoadPlanarForce::PlanarForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x2::IfcStructuralLoadPlanarForce::setPlanarForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x2::IfcStructuralLoadPlanarForce::PlanarForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x2::IfcStructuralLoadPlanarForce::PlanarForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x2::IfcStructuralLoadPlanarForce::setPlanarForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x2::IfcStructuralLoadPlanarForce::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1013]); } const IfcParse::entity& Ifc4x2::IfcStructuralLoadPlanarForce::Class() { return *((IfcParse::entity*)IFC4X2_types[1013]); } Ifc4x2::IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x2::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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; populate_derived(); } +Ifc4x2::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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleDisplacement -boost::optional< double > Ifc4x2::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x2::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x2::IfcStructuralLoadSingleDisplacement::setDisplacementX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x2::IfcStructuralLoadSingleDisplacement::DisplacementY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x2::IfcStructuralLoadSingleDisplacement::DisplacementY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x2::IfcStructuralLoadSingleDisplacement::setDisplacementY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x2::IfcStructuralLoadSingleDisplacement::DisplacementZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x2::IfcStructuralLoadSingleDisplacement::DisplacementZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x2::IfcStructuralLoadSingleDisplacement::setDisplacementZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x2::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x2::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x2::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x2::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x2::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x2::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x2::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x2::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x2::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x2::IfcStructuralLoadSingleDisplacement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1014]); } const IfcParse::entity& Ifc4x2::IfcStructuralLoadSingleDisplacement::Class() { return *((IfcParse::entity*)IFC4X2_types[1014]); } Ifc4x2::IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x2::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; populate_derived(); } +Ifc4x2::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleDisplacementDistortion -boost::optional< double > Ifc4x2::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x2::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x2::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x2::IfcStructuralLoadSingleDisplacementDistortion::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1015]); } const IfcParse::entity& Ifc4x2::IfcStructuralLoadSingleDisplacementDistortion::Class() { return *((IfcParse::entity*)IFC4X2_types[1015]); } Ifc4x2::IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDisplacementDistortion(IfcEntityInstanceData&& e) : IfcStructuralLoadSingleDisplacement(std::move(e)) { } -Ifc4x2::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(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; populate_derived(); } +Ifc4x2::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(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleForce -boost::optional< double > Ifc4x2::IfcStructuralLoadSingleForce::ForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x2::IfcStructuralLoadSingleForce::ForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x2::IfcStructuralLoadSingleForce::setForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x2::IfcStructuralLoadSingleForce::ForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x2::IfcStructuralLoadSingleForce::ForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x2::IfcStructuralLoadSingleForce::setForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x2::IfcStructuralLoadSingleForce::ForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x2::IfcStructuralLoadSingleForce::ForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x2::IfcStructuralLoadSingleForce::setForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x2::IfcStructuralLoadSingleForce::MomentX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x2::IfcStructuralLoadSingleForce::MomentX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x2::IfcStructuralLoadSingleForce::setMomentX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x2::IfcStructuralLoadSingleForce::MomentY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x2::IfcStructuralLoadSingleForce::MomentY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x2::IfcStructuralLoadSingleForce::setMomentY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x2::IfcStructuralLoadSingleForce::MomentZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x2::IfcStructuralLoadSingleForce::MomentZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x2::IfcStructuralLoadSingleForce::setMomentZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x2::IfcStructuralLoadSingleForce::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1016]); } const IfcParse::entity& Ifc4x2::IfcStructuralLoadSingleForce::Class() { return *((IfcParse::entity*)IFC4X2_types[1016]); } Ifc4x2::IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x2::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; populate_derived(); } +Ifc4x2::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleForceWarping -boost::optional< double > Ifc4x2::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x2::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x2::IfcStructuralLoadSingleForceWarping::setWarpingMoment(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x2::IfcStructuralLoadSingleForceWarping::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1017]); } const IfcParse::entity& Ifc4x2::IfcStructuralLoadSingleForceWarping::Class() { return *((IfcParse::entity*)IFC4X2_types[1017]); } Ifc4x2::IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWarping(IfcEntityInstanceData&& e) : IfcStructuralLoadSingleForce(std::move(e)) { } -Ifc4x2::IfcStructuralLoadSingleForceWarping::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) : IfcStructuralLoadSingleForce(IfcEntityInstanceData(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; populate_derived(); } +Ifc4x2::IfcStructuralLoadSingleForceWarping::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) : IfcStructuralLoadSingleForce(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; populate_derived(); } // Function implementations for IfcStructuralLoadStatic @@ -15068,21 +15068,21 @@ Ifc4x2::IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWarping const IfcParse::entity& Ifc4x2::IfcStructuralLoadStatic::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1018]); } const IfcParse::entity& Ifc4x2::IfcStructuralLoadStatic::Class() { return *((IfcParse::entity*)IFC4X2_types[1018]); } Ifc4x2::IfcStructuralLoadStatic::IfcStructuralLoadStatic(IfcEntityInstanceData&& e) : IfcStructuralLoadOrResult(std::move(e)) { } -Ifc4x2::IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< std::string > v1_Name) : IfcStructuralLoadOrResult(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x2::IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< std::string > v1_Name) : IfcStructuralLoadOrResult(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralLoadTemperature -boost::optional< double > Ifc4x2::IfcStructuralLoadTemperature::DeltaTConstant() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x2::IfcStructuralLoadTemperature::DeltaTConstant() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x2::IfcStructuralLoadTemperature::setDeltaTConstant(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x2::IfcStructuralLoadTemperature::DeltaTY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x2::IfcStructuralLoadTemperature::DeltaTY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x2::IfcStructuralLoadTemperature::setDeltaTY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x2::IfcStructuralLoadTemperature::DeltaTZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x2::IfcStructuralLoadTemperature::DeltaTZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x2::IfcStructuralLoadTemperature::setDeltaTZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x2::IfcStructuralLoadTemperature::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1019]); } const IfcParse::entity& Ifc4x2::IfcStructuralLoadTemperature::Class() { return *((IfcParse::entity*)IFC4X2_types[1019]); } Ifc4x2::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x2::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::optional< std::string > v1_Name, boost::optional< double > v2_DeltaTConstant, boost::optional< double > v3_DeltaTY, boost::optional< double > v4_DeltaTZ) : IfcStructuralLoadStatic(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); }; populate_derived(); } +Ifc4x2::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::optional< std::string > v1_Name, boost::optional< double > v2_DeltaTConstant, boost::optional< double > v3_DeltaTY, boost::optional< double > v4_DeltaTZ) : IfcStructuralLoadStatic(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); }; populate_derived(); } // Function implementations for IfcStructuralMember @@ -15091,7 +15091,7 @@ Ifc4x2::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::option const IfcParse::entity& Ifc4x2::IfcStructuralMember::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1020]); } const IfcParse::entity& Ifc4x2::IfcStructuralMember::Class() { return *((IfcParse::entity*)IFC4X2_types[1020]); } Ifc4x2::IfcStructuralMember::IfcStructuralMember(IfcEntityInstanceData&& e) : IfcStructuralItem(std::move(e)) { } -Ifc4x2::IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation) : IfcStructuralItem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation) : IfcStructuralItem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralPlanarAction @@ -15099,7 +15099,7 @@ Ifc4x2::IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x2::IfcStructuralPlanarAction::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1021]); } const IfcParse::entity& Ifc4x2::IfcStructuralPlanarAction::Class() { return *((IfcParse::entity*)IFC4X2_types[1021]); } Ifc4x2::IfcStructuralPlanarAction::IfcStructuralPlanarAction(IfcEntityInstanceData&& e) : IfcStructuralSurfaceAction(std::move(e)) { } -Ifc4x2::IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralSurfaceAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralSurfaceAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralPointAction @@ -15107,17 +15107,17 @@ Ifc4x2::IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_Glob const IfcParse::entity& Ifc4x2::IfcStructuralPointAction::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1022]); } const IfcParse::entity& Ifc4x2::IfcStructuralPointAction::Class() { return *((IfcParse::entity*)IFC4X2_types[1022]); } Ifc4x2::IfcStructuralPointAction::IfcStructuralPointAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -Ifc4x2::IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralAction(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } +Ifc4x2::IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralAction(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } // Function implementations for IfcStructuralPointConnection -::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x2::IfcAxis2Placement3D>(true); } +::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x2::IfcAxis2Placement3D>(true); } void Ifc4x2::IfcStructuralPointConnection::setConditionCoordinateSystem(::Ifc4x2::IfcAxis2Placement3D* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x2::IfcStructuralPointConnection::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1023]); } const IfcParse::entity& Ifc4x2::IfcStructuralPointConnection::Class() { return *((IfcParse::entity*)IFC4X2_types[1023]); } Ifc4x2::IfcStructuralPointConnection::IfcStructuralPointConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -Ifc4x2::IfcStructuralPointConnection::IfcStructuralPointConnection(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x2::IfcAxis2Placement3D* v9_ConditionCoordinateSystem) : IfcStructuralConnection(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_ConditionCoordinateSystem ? v9_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcStructuralPointConnection::IfcStructuralPointConnection(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x2::IfcAxis2Placement3D* v9_ConditionCoordinateSystem) : IfcStructuralConnection(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_ConditionCoordinateSystem ? v9_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralPointReaction @@ -15125,7 +15125,7 @@ Ifc4x2::IfcStructuralPointConnection::IfcStructuralPointConnection(std::string v const IfcParse::entity& Ifc4x2::IfcStructuralPointReaction::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1024]); } const IfcParse::entity& Ifc4x2::IfcStructuralPointReaction::Class() { return *((IfcParse::entity*)IFC4X2_types[1024]); } Ifc4x2::IfcStructuralPointReaction::IfcStructuralPointReaction(IfcEntityInstanceData&& e) : IfcStructuralReaction(std::move(e)) { } -Ifc4x2::IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralReaction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +Ifc4x2::IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralReaction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralReaction @@ -15133,14 +15133,14 @@ Ifc4x2::IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v1_Gl const IfcParse::entity& Ifc4x2::IfcStructuralReaction::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1025]); } const IfcParse::entity& Ifc4x2::IfcStructuralReaction::Class() { return *((IfcParse::entity*)IFC4X2_types[1025]); } Ifc4x2::IfcStructuralReaction::IfcStructuralReaction(IfcEntityInstanceData&& e) : IfcStructuralActivity(std::move(e)) { } -Ifc4x2::IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralActivity(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +Ifc4x2::IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralActivity(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralResultGroup -::Ifc4x2::IfcAnalysisTheoryTypeEnum::Value Ifc4x2::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x2::IfcAnalysisTheoryTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x2::IfcAnalysisTheoryTypeEnum::Value Ifc4x2::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x2::IfcAnalysisTheoryTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x2::IfcStructuralResultGroup::setTheoryType(::Ifc4x2::IfcAnalysisTheoryTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x2::IfcAnalysisTheoryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x2::IfcStructuralLoadGroup* Ifc4x2::IfcStructuralResultGroup::ResultForLoadGroup() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x2::IfcStructuralLoadGroup>(true); } +::Ifc4x2::IfcStructuralLoadGroup* Ifc4x2::IfcStructuralResultGroup::ResultForLoadGroup() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x2::IfcStructuralLoadGroup>(true); } void Ifc4x2::IfcStructuralResultGroup::setResultForLoadGroup(::Ifc4x2::IfcStructuralLoadGroup* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -bool Ifc4x2::IfcStructuralResultGroup::IsLinear() const { bool v = data_.get_attribute_value(7); return v; } +bool Ifc4x2::IfcStructuralResultGroup::IsLinear() const { bool v = get_attribute_value(7); return v; } void Ifc4x2::IfcStructuralResultGroup::setIsLinear(bool v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc4x2::IfcStructuralAnalysisModel::list::ptr Ifc4x2::IfcStructuralResultGroup::ResultGroupFor() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[995], 8)->as(); } @@ -15148,19 +15148,19 @@ void Ifc4x2::IfcStructuralResultGroup::setIsLinear(bool v) { set_attribute_value const IfcParse::entity& Ifc4x2::IfcStructuralResultGroup::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1026]); } const IfcParse::entity& Ifc4x2::IfcStructuralResultGroup::Class() { return *((IfcParse::entity*)IFC4X2_types[1026]); } Ifc4x2::IfcStructuralResultGroup::IfcStructuralResultGroup(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x2::IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x2::IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear) : IfcGroup(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, v7_ResultForLoadGroup ? v7_ResultForLoadGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_IsLinear));; populate_derived(); } +Ifc4x2::IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x2::IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, v7_ResultForLoadGroup ? v7_ResultForLoadGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_IsLinear));; populate_derived(); } // Function implementations for IfcStructuralSurfaceAction -boost::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > Ifc4x2::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x2::IfcProjectedOrTrueLengthEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > Ifc4x2::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x2::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } void Ifc4x2::IfcStructuralSurfaceAction::setProjectedOrTrue(boost::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x2::IfcProjectedOrTrueLengthEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x2::IfcStructuralSurfaceAction::PredefinedType() const { return ::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x2::IfcStructuralSurfaceAction::PredefinedType() const { return ::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x2::IfcStructuralSurfaceAction::setPredefinedType(::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x2::IfcStructuralSurfaceAction::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1027]); } const IfcParse::entity& Ifc4x2::IfcStructuralSurfaceAction::Class() { return *((IfcParse::entity*)IFC4X2_types[1027]); } Ifc4x2::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -Ifc4x2::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralSurfaceConnection @@ -15168,19 +15168,19 @@ Ifc4x2::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(std::string v1_Gl const IfcParse::entity& Ifc4x2::IfcStructuralSurfaceConnection::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1029]); } const IfcParse::entity& Ifc4x2::IfcStructuralSurfaceConnection::Class() { return *((IfcParse::entity*)IFC4X2_types[1029]); } Ifc4x2::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -Ifc4x2::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralSurfaceMember -::Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x2::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x2::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x2::IfcStructuralSurfaceMember::setPredefinedType(::Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc4x2::IfcStructuralSurfaceMember::Thickness() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x2::IfcStructuralSurfaceMember::Thickness() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x2::IfcStructuralSurfaceMember::setThickness(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcStructuralSurfaceMember::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1030]); } const IfcParse::entity& Ifc4x2::IfcStructuralSurfaceMember::Class() { return *((IfcParse::entity*)IFC4X2_types[1030]); } Ifc4x2::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(IfcEntityInstanceData&& e) : IfcStructuralMember(std::move(e)) { } -Ifc4x2::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } +Ifc4x2::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } // Function implementations for IfcStructuralSurfaceMemberVarying @@ -15188,17 +15188,17 @@ Ifc4x2::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v1_Gl const IfcParse::entity& Ifc4x2::IfcStructuralSurfaceMemberVarying::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1032]); } const IfcParse::entity& Ifc4x2::IfcStructuralSurfaceMemberVarying::Class() { return *((IfcParse::entity*)IFC4X2_types[1032]); } Ifc4x2::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(IfcEntityInstanceData&& e) : IfcStructuralSurfaceMember(std::move(e)) { } -Ifc4x2::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralSurfaceMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } +Ifc4x2::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralSurfaceMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } // Function implementations for IfcStructuralSurfaceReaction -::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x2::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x2::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcStructuralSurfaceReaction::setPredefinedType(::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcStructuralSurfaceReaction::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1033]); } const IfcParse::entity& Ifc4x2::IfcStructuralSurfaceReaction::Class() { return *((IfcParse::entity*)IFC4X2_types[1033]); } Ifc4x2::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(IfcEntityInstanceData&& e) : IfcStructuralReaction(std::move(e)) { } -Ifc4x2::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, ::Ifc4x2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStyleModel @@ -15206,21 +15206,21 @@ Ifc4x2::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(std::string v const IfcParse::entity& Ifc4x2::IfcStyleModel::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1037]); } const IfcParse::entity& Ifc4x2::IfcStyleModel::Class() { return *((IfcParse::entity*)IFC4X2_types[1037]); } Ifc4x2::IfcStyleModel::IfcStyleModel(IfcEntityInstanceData&& e) : IfcRepresentation(std::move(e)) { } -Ifc4x2::IfcStyleModel::IfcStyleModel(::Ifc4x2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x2::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x2::IfcStyleModel::IfcStyleModel(::Ifc4x2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x2::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcStyledItem -::Ifc4x2::IfcRepresentationItem* Ifc4x2::IfcStyledItem::Item() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcRepresentationItem>(true); } +::Ifc4x2::IfcRepresentationItem* Ifc4x2::IfcStyledItem::Item() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcRepresentationItem>(true); } void Ifc4x2::IfcStyledItem::setItem(::Ifc4x2::IfcRepresentationItem* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x2::IfcStyleAssignmentSelect >::ptr Ifc4x2::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x2::IfcStyleAssignmentSelect >(); } +aggregate_of< ::Ifc4x2::IfcStyleAssignmentSelect >::ptr Ifc4x2::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x2::IfcStyleAssignmentSelect >(); } void Ifc4x2::IfcStyledItem::setStyles(aggregate_of< ::Ifc4x2::IfcStyleAssignmentSelect >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x2::IfcStyledItem::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x2::IfcStyledItem::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcStyledItem::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x2::IfcStyledItem::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1035]); } const IfcParse::entity& Ifc4x2::IfcStyledItem::Class() { return *((IfcParse::entity*)IFC4X2_types[1035]); } Ifc4x2::IfcStyledItem::IfcStyledItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x2::IfcStyledItem::IfcStyledItem(::Ifc4x2::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x2::IfcStyleAssignmentSelect >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x2::IfcStyledItem::IfcStyledItem(::Ifc4x2::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x2::IfcStyleAssignmentSelect >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcStyledRepresentation @@ -15228,37 +15228,37 @@ Ifc4x2::IfcStyledItem::IfcStyledItem(::Ifc4x2::IfcRepresentationItem* v1_Item, a const IfcParse::entity& Ifc4x2::IfcStyledRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1036]); } const IfcParse::entity& Ifc4x2::IfcStyledRepresentation::Class() { return *((IfcParse::entity*)IFC4X2_types[1036]); } Ifc4x2::IfcStyledRepresentation::IfcStyledRepresentation(IfcEntityInstanceData&& e) : IfcStyleModel(std::move(e)) { } -Ifc4x2::IfcStyledRepresentation::IfcStyledRepresentation(::Ifc4x2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x2::IfcRepresentationItem >::ptr v4_Items) : IfcStyleModel(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x2::IfcStyledRepresentation::IfcStyledRepresentation(::Ifc4x2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x2::IfcRepresentationItem >::ptr v4_Items) : IfcStyleModel(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcSubContractResource -boost::optional< ::Ifc4x2::IfcSubContractResourceTypeEnum::Value > Ifc4x2::IfcSubContractResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x2::IfcSubContractResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x2::IfcSubContractResourceTypeEnum::Value > Ifc4x2::IfcSubContractResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x2::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x2::IfcSubContractResource::setPredefinedType(boost::optional< ::Ifc4x2::IfcSubContractResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x2::IfcSubContractResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x2::IfcSubContractResource::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1038]); } const IfcParse::entity& Ifc4x2::IfcSubContractResource::Class() { return *((IfcParse::entity*)IFC4X2_types[1038]); } Ifc4x2::IfcSubContractResource::IfcSubContractResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x2::IfcSubContractResource::IfcSubContractResource(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x2::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcSubContractResource::IfcSubContractResource(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x2::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSubContractResourceType -::Ifc4x2::IfcSubContractResourceTypeEnum::Value Ifc4x2::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4x2::IfcSubContractResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x2::IfcSubContractResourceTypeEnum::Value Ifc4x2::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4x2::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x2::IfcSubContractResourceType::setPredefinedType(::Ifc4x2::IfcSubContractResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x2::IfcSubContractResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x2::IfcSubContractResourceType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1039]); } const IfcParse::entity& Ifc4x2::IfcSubContractResourceType::Class() { return *((IfcParse::entity*)IFC4X2_types[1039]); } Ifc4x2::IfcSubContractResourceType::IfcSubContractResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x2::IfcSubContractResourceType::IfcSubContractResourceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x2::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x2::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcSubContractResourceType::IfcSubContractResourceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x2::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x2::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcSubedge -::Ifc4x2::IfcEdge* Ifc4x2::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcEdge>(true); } +::Ifc4x2::IfcEdge* Ifc4x2::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcEdge>(true); } void Ifc4x2::IfcSubedge::setParentEdge(::Ifc4x2::IfcEdge* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x2::IfcSubedge::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1041]); } const IfcParse::entity& Ifc4x2::IfcSubedge::Class() { return *((IfcParse::entity*)IFC4X2_types[1041]); } Ifc4x2::IfcSubedge::IfcSubedge(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc4x2::IfcSubedge::IfcSubedge(::Ifc4x2::IfcVertex* v1_EdgeStart, ::Ifc4x2::IfcVertex* v2_EdgeEnd, ::Ifc4x2::IfcEdge* v3_ParentEdge) : IfcEdge(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ParentEdge ? v3_ParentEdge->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcSubedge::IfcSubedge(::Ifc4x2::IfcVertex* v1_EdgeStart, ::Ifc4x2::IfcVertex* v2_EdgeEnd, ::Ifc4x2::IfcEdge* v3_ParentEdge) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ParentEdge ? v3_ParentEdge->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurface @@ -15266,178 +15266,178 @@ Ifc4x2::IfcSubedge::IfcSubedge(::Ifc4x2::IfcVertex* v1_EdgeStart, ::Ifc4x2::IfcV const IfcParse::entity& Ifc4x2::IfcSurface::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1042]); } const IfcParse::entity& Ifc4x2::IfcSurface::Class() { return *((IfcParse::entity*)IFC4X2_types[1042]); } Ifc4x2::IfcSurface::IfcSurface(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x2::IfcSurface::IfcSurface() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x2::IfcSurface::IfcSurface() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcSurfaceCurve -::Ifc4x2::IfcCurve* Ifc4x2::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcCurve>(true); } +::Ifc4x2::IfcCurve* Ifc4x2::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcSurfaceCurve::setCurve3D(::Ifc4x2::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x2::IfcPcurve >::ptr Ifc4x2::IfcSurfaceCurve::AssociatedGeometry() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x2::IfcPcurve >(); } +aggregate_of< ::Ifc4x2::IfcPcurve >::ptr Ifc4x2::IfcSurfaceCurve::AssociatedGeometry() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x2::IfcPcurve >(); } void Ifc4x2::IfcSurfaceCurve::setAssociatedGeometry(aggregate_of< ::Ifc4x2::IfcPcurve >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x2::IfcSurfaceCurve::MasterRepresentation() const { return ::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::FromString(data_.get_attribute_value(2)); } +::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x2::IfcSurfaceCurve::MasterRepresentation() const { return ::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::FromString(get_attribute_value(2)); } void Ifc4x2::IfcSurfaceCurve::setMasterRepresentation(::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x2::IfcSurfaceCurve::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1043]); } const IfcParse::entity& Ifc4x2::IfcSurfaceCurve::Class() { return *((IfcParse::entity*)IFC4X2_types[1043]); } Ifc4x2::IfcSurfaceCurve::IfcSurfaceCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x2::IfcSurfaceCurve::IfcSurfaceCurve(::Ifc4x2::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x2::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } +Ifc4x2::IfcSurfaceCurve::IfcSurfaceCurve(::Ifc4x2::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x2::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcSurfaceCurveSweptAreaSolid -::Ifc4x2::IfcCurve* Ifc4x2::IfcSurfaceCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcCurve>(true); } +::Ifc4x2::IfcCurve* Ifc4x2::IfcSurfaceCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcSurfaceCurveSweptAreaSolid::setDirectrix(::Ifc4x2::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4x2::IfcSurfaceCurveSweptAreaSolid::StartParam() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x2::IfcSurfaceCurveSweptAreaSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x2::IfcSurfaceCurveSweptAreaSolid::setStartParam(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x2::IfcSurfaceCurveSweptAreaSolid::EndParam() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x2::IfcSurfaceCurveSweptAreaSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x2::IfcSurfaceCurveSweptAreaSolid::setEndParam(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x2::IfcSurface* Ifc4x2::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcSurface>(true); } +::Ifc4x2::IfcSurface* Ifc4x2::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcSurface>(true); } void Ifc4x2::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(::Ifc4x2::IfcSurface* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x2::IfcSurfaceCurveSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1044]); } const IfcParse::entity& Ifc4x2::IfcSurfaceCurveSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X2_types[1044]); } Ifc4x2::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4x2::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(::Ifc4x2::IfcProfileDef* v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D* v2_Position, ::Ifc4x2::IfcCurve* v3_Directrix, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, ::Ifc4x2::IfcSurface* v6_ReferenceSurface) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }set_attribute_value(5, v6_ReferenceSurface ? v6_ReferenceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(::Ifc4x2::IfcProfileDef* v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D* v2_Position, ::Ifc4x2::IfcCurve* v3_Directrix, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, ::Ifc4x2::IfcSurface* v6_ReferenceSurface) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }set_attribute_value(5, v6_ReferenceSurface ? v6_ReferenceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceFeature -boost::optional< ::Ifc4x2::IfcSurfaceFeatureTypeEnum::Value > Ifc4x2::IfcSurfaceFeature::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcSurfaceFeatureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcSurfaceFeatureTypeEnum::Value > Ifc4x2::IfcSurfaceFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcSurfaceFeatureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcSurfaceFeature::setPredefinedType(boost::optional< ::Ifc4x2::IfcSurfaceFeatureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcSurfaceFeatureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcSurfaceFeature::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1045]); } const IfcParse::entity& Ifc4x2::IfcSurfaceFeature::Class() { return *((IfcParse::entity*)IFC4X2_types[1045]); } Ifc4x2::IfcSurfaceFeature::IfcSurfaceFeature(IfcEntityInstanceData&& e) : IfcFeatureElement(std::move(e)) { } -Ifc4x2::IfcSurfaceFeature::IfcSurfaceFeature(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcSurfaceFeature::IfcSurfaceFeature(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSurfaceOfLinearExtrusion -::Ifc4x2::IfcDirection* Ifc4x2::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcDirection>(true); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcSurfaceOfLinearExtrusion::setExtrudedDirection(::Ifc4x2::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x2::IfcSurfaceOfLinearExtrusion::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x2::IfcSurfaceOfLinearExtrusion::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x2::IfcSurfaceOfLinearExtrusion::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x2::IfcSurfaceOfLinearExtrusion::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1047]); } const IfcParse::entity& Ifc4x2::IfcSurfaceOfLinearExtrusion::Class() { return *((IfcParse::entity*)IFC4X2_types[1047]); } Ifc4x2::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(IfcEntityInstanceData&& e) : IfcSweptSurface(std::move(e)) { } -Ifc4x2::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(::Ifc4x2::IfcProfileDef* v1_SweptCurve, ::Ifc4x2::IfcAxis2Placement3D* v2_Position, ::Ifc4x2::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } +Ifc4x2::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(::Ifc4x2::IfcProfileDef* v1_SweptCurve, ::Ifc4x2::IfcAxis2Placement3D* v2_Position, ::Ifc4x2::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } // Function implementations for IfcSurfaceOfRevolution -::Ifc4x2::IfcAxis1Placement* Ifc4x2::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcAxis1Placement>(true); } +::Ifc4x2::IfcAxis1Placement* Ifc4x2::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcAxis1Placement>(true); } void Ifc4x2::IfcSurfaceOfRevolution::setAxisPosition(::Ifc4x2::IfcAxis1Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x2::IfcSurfaceOfRevolution::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1048]); } const IfcParse::entity& Ifc4x2::IfcSurfaceOfRevolution::Class() { return *((IfcParse::entity*)IFC4X2_types[1048]); } Ifc4x2::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(IfcEntityInstanceData&& e) : IfcSweptSurface(std::move(e)) { } -Ifc4x2::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(::Ifc4x2::IfcProfileDef* v1_SweptCurve, ::Ifc4x2::IfcAxis2Placement3D* v2_Position, ::Ifc4x2::IfcAxis1Placement* v3_AxisPosition) : IfcSweptSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_AxisPosition ? v3_AxisPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(::Ifc4x2::IfcProfileDef* v1_SweptCurve, ::Ifc4x2::IfcAxis2Placement3D* v2_Position, ::Ifc4x2::IfcAxis1Placement* v3_AxisPosition) : IfcSweptSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_AxisPosition ? v3_AxisPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceReinforcementArea -boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x2::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x2::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } void Ifc4x2::IfcSurfaceReinforcementArea::setSurfaceReinforcement1(boost::optional< std::vector< double > /*[2:3]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x2::IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x2::IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = get_attribute_value(2); return v; } void Ifc4x2::IfcSurfaceReinforcementArea::setSurfaceReinforcement2(boost::optional< std::vector< double > /*[2:3]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x2::IfcSurfaceReinforcementArea::ShearReinforcement() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x2::IfcSurfaceReinforcementArea::ShearReinforcement() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x2::IfcSurfaceReinforcementArea::setShearReinforcement(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x2::IfcSurfaceReinforcementArea::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1050]); } const IfcParse::entity& Ifc4x2::IfcSurfaceReinforcementArea::Class() { return *((IfcParse::entity*)IFC4X2_types[1050]); } Ifc4x2::IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(IfcEntityInstanceData&& e) : IfcStructuralLoadOrResult(std::move(e)) { } -Ifc4x2::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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); }; populate_derived(); } +Ifc4x2::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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); }; populate_derived(); } // Function implementations for IfcSurfaceStyle -::Ifc4x2::IfcSurfaceSide::Value Ifc4x2::IfcSurfaceStyle::Side() const { return ::Ifc4x2::IfcSurfaceSide::FromString(data_.get_attribute_value(1)); } +::Ifc4x2::IfcSurfaceSide::Value Ifc4x2::IfcSurfaceStyle::Side() const { return ::Ifc4x2::IfcSurfaceSide::FromString(get_attribute_value(1)); } void Ifc4x2::IfcSurfaceStyle::setSide(::Ifc4x2::IfcSurfaceSide::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x2::IfcSurfaceSide::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x2::IfcSurfaceStyleElementSelect >::ptr Ifc4x2::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x2::IfcSurfaceStyleElementSelect >(); } +aggregate_of< ::Ifc4x2::IfcSurfaceStyleElementSelect >::ptr Ifc4x2::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x2::IfcSurfaceStyleElementSelect >(); } void Ifc4x2::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x2::IfcSurfaceStyleElementSelect >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x2::IfcSurfaceStyle::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1052]); } const IfcParse::entity& Ifc4x2::IfcSurfaceStyle::Class() { return *((IfcParse::entity*)IFC4X2_types[1052]); } Ifc4x2::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x2::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x2::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (EnumerationReference(&::Ifc4x2::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, (v3_Styles)->generalize());; populate_derived(); } +Ifc4x2::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x2::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (EnumerationReference(&::Ifc4x2::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, (v3_Styles)->generalize());; populate_derived(); } // Function implementations for IfcSurfaceStyleLighting -::Ifc4x2::IfcColourRgb* Ifc4x2::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcColourRgb>(true); } +::Ifc4x2::IfcColourRgb* Ifc4x2::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcColourRgb>(true); } void Ifc4x2::IfcSurfaceStyleLighting::setDiffuseTransmissionColour(::Ifc4x2::IfcColourRgb* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcColourRgb* Ifc4x2::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcColourRgb>(true); } +::Ifc4x2::IfcColourRgb* Ifc4x2::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcColourRgb>(true); } void Ifc4x2::IfcSurfaceStyleLighting::setDiffuseReflectionColour(::Ifc4x2::IfcColourRgb* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcColourRgb* Ifc4x2::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcColourRgb>(true); } +::Ifc4x2::IfcColourRgb* Ifc4x2::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcColourRgb>(true); } void Ifc4x2::IfcSurfaceStyleLighting::setTransmissionColour(::Ifc4x2::IfcColourRgb* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcColourRgb* Ifc4x2::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcColourRgb>(true); } +::Ifc4x2::IfcColourRgb* Ifc4x2::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcColourRgb>(true); } void Ifc4x2::IfcSurfaceStyleLighting::setReflectanceColour(::Ifc4x2::IfcColourRgb* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x2::IfcSurfaceStyleLighting::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1054]); } const IfcParse::entity& Ifc4x2::IfcSurfaceStyleLighting::Class() { return *((IfcParse::entity*)IFC4X2_types[1054]); } Ifc4x2::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x2::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(::Ifc4x2::IfcColourRgb* v1_DiffuseTransmissionColour, ::Ifc4x2::IfcColourRgb* v2_DiffuseReflectionColour, ::Ifc4x2::IfcColourRgb* v3_TransmissionColour, ::Ifc4x2::IfcColourRgb* v4_ReflectanceColour) : IfcPresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_DiffuseTransmissionColour ? v1_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_DiffuseReflectionColour ? v2_DiffuseReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TransmissionColour ? v3_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_ReflectanceColour ? v4_ReflectanceColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(::Ifc4x2::IfcColourRgb* v1_DiffuseTransmissionColour, ::Ifc4x2::IfcColourRgb* v2_DiffuseReflectionColour, ::Ifc4x2::IfcColourRgb* v3_TransmissionColour, ::Ifc4x2::IfcColourRgb* v4_ReflectanceColour) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_DiffuseTransmissionColour ? v1_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_DiffuseReflectionColour ? v2_DiffuseReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TransmissionColour ? v3_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_ReflectanceColour ? v4_ReflectanceColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceStyleRefraction -boost::optional< double > Ifc4x2::IfcSurfaceStyleRefraction::RefractionIndex() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } double v = data_.get_attribute_value(0); return v; } +boost::optional< double > Ifc4x2::IfcSurfaceStyleRefraction::RefractionIndex() const { if(get_attribute_value(0).isNull()) { return boost::none; } double v = get_attribute_value(0); return v; } void Ifc4x2::IfcSurfaceStyleRefraction::setRefractionIndex(boost::optional< double > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< double > Ifc4x2::IfcSurfaceStyleRefraction::DispersionFactor() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x2::IfcSurfaceStyleRefraction::DispersionFactor() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x2::IfcSurfaceStyleRefraction::setDispersionFactor(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x2::IfcSurfaceStyleRefraction::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1055]); } const IfcParse::entity& Ifc4x2::IfcSurfaceStyleRefraction::Class() { return *((IfcParse::entity*)IFC4X2_types[1055]); } Ifc4x2::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x2::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; populate_derived(); } +Ifc4x2::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; populate_derived(); } // Function implementations for IfcSurfaceStyleRendering -::Ifc4x2::IfcColourOrFactor* Ifc4x2::IfcSurfaceStyleRendering::DiffuseColour() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcColourOrFactor>(true); } +::Ifc4x2::IfcColourOrFactor* Ifc4x2::IfcSurfaceStyleRendering::DiffuseColour() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcColourOrFactor>(true); } void Ifc4x2::IfcSurfaceStyleRendering::setDiffuseColour(::Ifc4x2::IfcColourOrFactor* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcColourOrFactor* Ifc4x2::IfcSurfaceStyleRendering::TransmissionColour() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcColourOrFactor>(true); } +::Ifc4x2::IfcColourOrFactor* Ifc4x2::IfcSurfaceStyleRendering::TransmissionColour() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcColourOrFactor>(true); } void Ifc4x2::IfcSurfaceStyleRendering::setTransmissionColour(::Ifc4x2::IfcColourOrFactor* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x2::IfcColourOrFactor* Ifc4x2::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcColourOrFactor>(true); } +::Ifc4x2::IfcColourOrFactor* Ifc4x2::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcColourOrFactor>(true); } void Ifc4x2::IfcSurfaceStyleRendering::setDiffuseTransmissionColour(::Ifc4x2::IfcColourOrFactor* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcColourOrFactor* Ifc4x2::IfcSurfaceStyleRendering::ReflectionColour() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcColourOrFactor>(true); } +::Ifc4x2::IfcColourOrFactor* Ifc4x2::IfcSurfaceStyleRendering::ReflectionColour() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcColourOrFactor>(true); } void Ifc4x2::IfcSurfaceStyleRendering::setReflectionColour(::Ifc4x2::IfcColourOrFactor* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x2::IfcColourOrFactor* Ifc4x2::IfcSurfaceStyleRendering::SpecularColour() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x2::IfcColourOrFactor>(true); } +::Ifc4x2::IfcColourOrFactor* Ifc4x2::IfcSurfaceStyleRendering::SpecularColour() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x2::IfcColourOrFactor>(true); } void Ifc4x2::IfcSurfaceStyleRendering::setSpecularColour(::Ifc4x2::IfcColourOrFactor* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x2::IfcSpecularHighlightSelect* Ifc4x2::IfcSurfaceStyleRendering::SpecularHighlight() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x2::IfcSpecularHighlightSelect>(true); } +::Ifc4x2::IfcSpecularHighlightSelect* Ifc4x2::IfcSurfaceStyleRendering::SpecularHighlight() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x2::IfcSpecularHighlightSelect>(true); } void Ifc4x2::IfcSurfaceStyleRendering::setSpecularHighlight(::Ifc4x2::IfcSpecularHighlightSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x2::IfcReflectanceMethodEnum::Value Ifc4x2::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4x2::IfcReflectanceMethodEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x2::IfcReflectanceMethodEnum::Value Ifc4x2::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4x2::IfcReflectanceMethodEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcSurfaceStyleRendering::setReflectanceMethod(::Ifc4x2::IfcReflectanceMethodEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcReflectanceMethodEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x2::IfcSurfaceStyleRendering::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1056]); } const IfcParse::entity& Ifc4x2::IfcSurfaceStyleRendering::Class() { return *((IfcParse::entity*)IFC4X2_types[1056]); } Ifc4x2::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcEntityInstanceData&& e) : IfcSurfaceStyleShading(std::move(e)) { } -Ifc4x2::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc4x2::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, ::Ifc4x2::IfcColourOrFactor* v3_DiffuseColour, ::Ifc4x2::IfcColourOrFactor* v4_TransmissionColour, ::Ifc4x2::IfcColourOrFactor* v5_DiffuseTransmissionColour, ::Ifc4x2::IfcColourOrFactor* v6_ReflectionColour, ::Ifc4x2::IfcColourOrFactor* v7_SpecularColour, ::Ifc4x2::IfcSpecularHighlightSelect* v8_SpecularHighlight, ::Ifc4x2::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) : IfcSurfaceStyleShading(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, v3_DiffuseColour ? v3_DiffuseColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TransmissionColour ? v4_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_DiffuseTransmissionColour ? v5_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReflectionColour ? v6_ReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_SpecularColour ? v7_SpecularColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_SpecularHighlight ? v8_SpecularHighlight->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; populate_derived(); } +Ifc4x2::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc4x2::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, ::Ifc4x2::IfcColourOrFactor* v3_DiffuseColour, ::Ifc4x2::IfcColourOrFactor* v4_TransmissionColour, ::Ifc4x2::IfcColourOrFactor* v5_DiffuseTransmissionColour, ::Ifc4x2::IfcColourOrFactor* v6_ReflectionColour, ::Ifc4x2::IfcColourOrFactor* v7_SpecularColour, ::Ifc4x2::IfcSpecularHighlightSelect* v8_SpecularHighlight, ::Ifc4x2::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) : IfcSurfaceStyleShading(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, v3_DiffuseColour ? v3_DiffuseColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TransmissionColour ? v4_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_DiffuseTransmissionColour ? v5_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReflectionColour ? v6_ReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_SpecularColour ? v7_SpecularColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_SpecularHighlight ? v8_SpecularHighlight->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; populate_derived(); } // Function implementations for IfcSurfaceStyleShading -::Ifc4x2::IfcColourRgb* Ifc4x2::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcColourRgb>(true); } +::Ifc4x2::IfcColourRgb* Ifc4x2::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcColourRgb>(true); } void Ifc4x2::IfcSurfaceStyleShading::setSurfaceColour(::Ifc4x2::IfcColourRgb* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< double > Ifc4x2::IfcSurfaceStyleShading::Transparency() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x2::IfcSurfaceStyleShading::Transparency() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x2::IfcSurfaceStyleShading::setTransparency(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x2::IfcSurfaceStyleShading::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1057]); } const IfcParse::entity& Ifc4x2::IfcSurfaceStyleShading::Class() { return *((IfcParse::entity*)IFC4X2_types[1057]); } Ifc4x2::IfcSurfaceStyleShading::IfcSurfaceStyleShading(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x2::IfcSurfaceStyleShading::IfcSurfaceStyleShading(::Ifc4x2::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }; populate_derived(); } +Ifc4x2::IfcSurfaceStyleShading::IfcSurfaceStyleShading(::Ifc4x2::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }; populate_derived(); } // Function implementations for IfcSurfaceStyleWithTextures -aggregate_of< ::Ifc4x2::IfcSurfaceTexture >::ptr Ifc4x2::IfcSurfaceStyleWithTextures::Textures() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x2::IfcSurfaceTexture >(); } +aggregate_of< ::Ifc4x2::IfcSurfaceTexture >::ptr Ifc4x2::IfcSurfaceStyleWithTextures::Textures() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x2::IfcSurfaceTexture >(); } void Ifc4x2::IfcSurfaceStyleWithTextures::setTextures(aggregate_of< ::Ifc4x2::IfcSurfaceTexture >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x2::IfcSurfaceStyleWithTextures::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1058]); } const IfcParse::entity& Ifc4x2::IfcSurfaceStyleWithTextures::Class() { return *((IfcParse::entity*)IFC4X2_types[1058]); } Ifc4x2::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x2::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(aggregate_of< ::Ifc4x2::IfcSurfaceTexture >::ptr v1_Textures) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Textures)->generalize());; populate_derived(); } +Ifc4x2::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(aggregate_of< ::Ifc4x2::IfcSurfaceTexture >::ptr v1_Textures) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Textures)->generalize());; populate_derived(); } // Function implementations for IfcSurfaceTexture -bool Ifc4x2::IfcSurfaceTexture::RepeatS() const { bool v = data_.get_attribute_value(0); return v; } +bool Ifc4x2::IfcSurfaceTexture::RepeatS() const { bool v = get_attribute_value(0); return v; } void Ifc4x2::IfcSurfaceTexture::setRepeatS(bool v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -bool Ifc4x2::IfcSurfaceTexture::RepeatT() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x2::IfcSurfaceTexture::RepeatT() const { bool v = get_attribute_value(1); return v; } void Ifc4x2::IfcSurfaceTexture::setRepeatT(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x2::IfcSurfaceTexture::Mode() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x2::IfcSurfaceTexture::Mode() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcSurfaceTexture::setMode(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x2::IfcCartesianTransformationOperator2D* Ifc4x2::IfcSurfaceTexture::TextureTransform() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcCartesianTransformationOperator2D>(true); } +::Ifc4x2::IfcCartesianTransformationOperator2D* Ifc4x2::IfcSurfaceTexture::TextureTransform() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcCartesianTransformationOperator2D>(true); } void Ifc4x2::IfcSurfaceTexture::setTextureTransform(::Ifc4x2::IfcCartesianTransformationOperator2D* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcSurfaceTexture::Parameter() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcSurfaceTexture::Parameter() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x2::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } ::Ifc4x2::IfcTextureCoordinate::list::ptr Ifc4x2::IfcSurfaceTexture::IsMappedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[1110], 0)->as(); } @@ -15446,79 +15446,79 @@ void Ifc4x2::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std:: const IfcParse::entity& Ifc4x2::IfcSurfaceTexture::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1059]); } const IfcParse::entity& Ifc4x2::IfcSurfaceTexture::Class() { return *((IfcParse::entity*)IFC4X2_types[1059]); } Ifc4x2::IfcSurfaceTexture::IfcSurfaceTexture(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x2::IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x2::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) : IfcPresentationItem(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }; populate_derived(); } +Ifc4x2::IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x2::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }; populate_derived(); } // Function implementations for IfcSweptAreaSolid -::Ifc4x2::IfcProfileDef* Ifc4x2::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcProfileDef>(true); } +::Ifc4x2::IfcProfileDef* Ifc4x2::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcProfileDef>(true); } void Ifc4x2::IfcSweptAreaSolid::setSweptArea(::Ifc4x2::IfcProfileDef* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcSweptAreaSolid::Position() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcAxis2Placement3D>(true); } +::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcSweptAreaSolid::Position() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcAxis2Placement3D>(true); } void Ifc4x2::IfcSweptAreaSolid::setPosition(::Ifc4x2::IfcAxis2Placement3D* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1060]); } const IfcParse::entity& Ifc4x2::IfcSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X2_types[1060]); } Ifc4x2::IfcSweptAreaSolid::IfcSweptAreaSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x2::IfcSweptAreaSolid::IfcSweptAreaSolid(::Ifc4x2::IfcProfileDef* v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D* v2_Position) : IfcSolidModel(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcSweptAreaSolid::IfcSweptAreaSolid(::Ifc4x2::IfcProfileDef* v1_SweptArea, ::Ifc4x2::IfcAxis2Placement3D* v2_Position) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSweptDiskSolid -::Ifc4x2::IfcCurve* Ifc4x2::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcCurve>(true); } +::Ifc4x2::IfcCurve* Ifc4x2::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcSweptDiskSolid::setDirectrix(::Ifc4x2::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x2::IfcSweptDiskSolid::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x2::IfcSweptDiskSolid::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x2::IfcSweptDiskSolid::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x2::IfcSweptDiskSolid::InnerRadius() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x2::IfcSweptDiskSolid::InnerRadius() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x2::IfcSweptDiskSolid::setInnerRadius(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x2::IfcSweptDiskSolid::StartParam() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x2::IfcSweptDiskSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x2::IfcSweptDiskSolid::setStartParam(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x2::IfcSweptDiskSolid::EndParam() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x2::IfcSweptDiskSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x2::IfcSweptDiskSolid::setEndParam(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x2::IfcSweptDiskSolid::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1061]); } const IfcParse::entity& Ifc4x2::IfcSweptDiskSolid::Class() { return *((IfcParse::entity*)IFC4X2_types[1061]); } Ifc4x2::IfcSweptDiskSolid::IfcSweptDiskSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x2::IfcSweptDiskSolid::IfcSweptDiskSolid(::Ifc4x2::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam) : IfcSolidModel(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; populate_derived(); } +Ifc4x2::IfcSweptDiskSolid::IfcSweptDiskSolid(::Ifc4x2::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; populate_derived(); } // Function implementations for IfcSweptDiskSolidPolygonal -boost::optional< double > Ifc4x2::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x2::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x2::IfcSweptDiskSolidPolygonal::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x2::IfcSweptDiskSolidPolygonal::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1062]); } const IfcParse::entity& Ifc4x2::IfcSweptDiskSolidPolygonal::Class() { return *((IfcParse::entity*)IFC4X2_types[1062]); } Ifc4x2::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(IfcEntityInstanceData&& e) : IfcSweptDiskSolid(std::move(e)) { } -Ifc4x2::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(::Ifc4x2::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, boost::optional< double > v6_FilletRadius) : IfcSweptDiskSolid(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); }; populate_derived(); } +Ifc4x2::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(::Ifc4x2::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, boost::optional< double > v6_FilletRadius) : IfcSweptDiskSolid(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); }; populate_derived(); } // Function implementations for IfcSweptSurface -::Ifc4x2::IfcProfileDef* Ifc4x2::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcProfileDef>(true); } +::Ifc4x2::IfcProfileDef* Ifc4x2::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcProfileDef>(true); } void Ifc4x2::IfcSweptSurface::setSweptCurve(::Ifc4x2::IfcProfileDef* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcSweptSurface::Position() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcAxis2Placement3D>(true); } +::Ifc4x2::IfcAxis2Placement3D* Ifc4x2::IfcSweptSurface::Position() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcAxis2Placement3D>(true); } void Ifc4x2::IfcSweptSurface::setPosition(::Ifc4x2::IfcAxis2Placement3D* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcSweptSurface::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1063]); } const IfcParse::entity& Ifc4x2::IfcSweptSurface::Class() { return *((IfcParse::entity*)IFC4X2_types[1063]); } Ifc4x2::IfcSweptSurface::IfcSweptSurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x2::IfcSweptSurface::IfcSweptSurface(::Ifc4x2::IfcProfileDef* v1_SweptCurve, ::Ifc4x2::IfcAxis2Placement3D* v2_Position) : IfcSurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcSweptSurface::IfcSweptSurface(::Ifc4x2::IfcProfileDef* v1_SweptCurve, ::Ifc4x2::IfcAxis2Placement3D* v2_Position) : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSwitchingDevice -boost::optional< ::Ifc4x2::IfcSwitchingDeviceTypeEnum::Value > Ifc4x2::IfcSwitchingDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcSwitchingDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcSwitchingDeviceTypeEnum::Value > Ifc4x2::IfcSwitchingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcSwitchingDevice::setPredefinedType(boost::optional< ::Ifc4x2::IfcSwitchingDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcSwitchingDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcSwitchingDevice::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1064]); } const IfcParse::entity& Ifc4x2::IfcSwitchingDevice::Class() { return *((IfcParse::entity*)IFC4X2_types[1064]); } Ifc4x2::IfcSwitchingDevice::IfcSwitchingDevice(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x2::IfcSwitchingDevice::IfcSwitchingDevice(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcSwitchingDevice::IfcSwitchingDevice(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSwitchingDeviceType -::Ifc4x2::IfcSwitchingDeviceTypeEnum::Value Ifc4x2::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4x2::IfcSwitchingDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcSwitchingDeviceTypeEnum::Value Ifc4x2::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4x2::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcSwitchingDeviceType::setPredefinedType(::Ifc4x2::IfcSwitchingDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcSwitchingDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcSwitchingDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1065]); } const IfcParse::entity& Ifc4x2::IfcSwitchingDeviceType::Class() { return *((IfcParse::entity*)IFC4X2_types[1065]); } Ifc4x2::IfcSwitchingDeviceType::IfcSwitchingDeviceType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x2::IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSystem @@ -15527,304 +15527,304 @@ Ifc4x2::IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_GlobalId, const IfcParse::entity& Ifc4x2::IfcSystem::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1067]); } const IfcParse::entity& Ifc4x2::IfcSystem::Class() { return *((IfcParse::entity*)IFC4X2_types[1067]); } Ifc4x2::IfcSystem::IfcSystem(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x2::IfcSystem::IfcSystem(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcGroup(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc4x2::IfcSystem::IfcSystem(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcSystemFurnitureElement -boost::optional< ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x2::IfcSystemFurnitureElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x2::IfcSystemFurnitureElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcSystemFurnitureElement::setPredefinedType(boost::optional< ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcSystemFurnitureElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1068]); } const IfcParse::entity& Ifc4x2::IfcSystemFurnitureElement::Class() { return *((IfcParse::entity*)IFC4X2_types[1068]); } Ifc4x2::IfcSystemFurnitureElement::IfcSystemFurnitureElement(IfcEntityInstanceData&& e) : IfcFurnishingElement(std::move(e)) { } -Ifc4x2::IfcSystemFurnitureElement::IfcSystemFurnitureElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcSystemFurnitureElement::IfcSystemFurnitureElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSystemFurnitureElementType -boost::optional< ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x2::IfcSystemFurnitureElementType::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x2::IfcSystemFurnitureElementType::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcSystemFurnitureElementType::setPredefinedType(boost::optional< ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x2::IfcSystemFurnitureElementType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1069]); } const IfcParse::entity& Ifc4x2::IfcSystemFurnitureElementType::Class() { return *((IfcParse::entity*)IFC4X2_types[1069]); } Ifc4x2::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(IfcEntityInstanceData&& e) : IfcFurnishingElementType(std::move(e)) { } -Ifc4x2::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< ::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTShapeProfileDef -double Ifc4x2::IfcTShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x2::IfcTShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x2::IfcTShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x2::IfcTShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x2::IfcTShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc4x2::IfcTShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x2::IfcTShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x2::IfcTShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x2::IfcTShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x2::IfcTShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x2::IfcTShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x2::IfcTShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x2::IfcTShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x2::IfcTShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x2::IfcTShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x2::IfcTShapeProfileDef::FlangeEdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x2::IfcTShapeProfileDef::FlangeEdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x2::IfcTShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x2::IfcTShapeProfileDef::WebEdgeRadius() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x2::IfcTShapeProfileDef::WebEdgeRadius() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x2::IfcTShapeProfileDef::setWebEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x2::IfcTShapeProfileDef::WebSlope() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x2::IfcTShapeProfileDef::WebSlope() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x2::IfcTShapeProfileDef::setWebSlope(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x2::IfcTShapeProfileDef::FlangeSlope() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x2::IfcTShapeProfileDef::FlangeSlope() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x2::IfcTShapeProfileDef::setFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x2::IfcTShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1149]); } const IfcParse::entity& Ifc4x2::IfcTShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X2_types[1149]); } Ifc4x2::IfcTShapeProfileDef::IfcTShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x2::IfcTShapeProfileDef::IfcTShapeProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::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(storage_t(12))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); }; populate_derived(); } +Ifc4x2::IfcTShapeProfileDef::IfcTShapeProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::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(in_memory_attribute_storage(12))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); }; populate_derived(); } // Function implementations for IfcTable -boost::optional< std::string > Ifc4x2::IfcTable::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x2::IfcTable::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcTable::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< aggregate_of< ::Ifc4x2::IfcTableRow >::ptr > Ifc4x2::IfcTable::Rows() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x2::IfcTableRow >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcTableRow >::ptr > Ifc4x2::IfcTable::Rows() const { if(get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x2::IfcTableRow >(); } void Ifc4x2::IfcTable::setRows(boost::optional< aggregate_of< ::Ifc4x2::IfcTableRow >::ptr > v) { if (v) {set_attribute_value(1, (*v)->generalize());} else {unset_attribute_value(1);} } -boost::optional< aggregate_of< ::Ifc4x2::IfcTableColumn >::ptr > Ifc4x2::IfcTable::Columns() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x2::IfcTableColumn >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcTableColumn >::ptr > Ifc4x2::IfcTable::Columns() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x2::IfcTableColumn >(); } void Ifc4x2::IfcTable::setColumns(boost::optional< aggregate_of< ::Ifc4x2::IfcTableColumn >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x2::IfcTable::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1071]); } const IfcParse::entity& Ifc4x2::IfcTable::Class() { return *((IfcParse::entity*)IFC4X2_types[1071]); } Ifc4x2::IfcTable::IfcTable(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcTable::IfcTable(boost::optional< std::string > v1_Name, boost::optional< aggregate_of< ::Ifc4x2::IfcTableRow >::ptr > v2_Rows, boost::optional< aggregate_of< ::Ifc4x2::IfcTableColumn >::ptr > v3_Columns) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, (*v2_Rows)->generalize()); } if (v3_Columns) {set_attribute_value(2, (*v3_Columns)->generalize()); }; populate_derived(); } +Ifc4x2::IfcTable::IfcTable(boost::optional< std::string > v1_Name, boost::optional< aggregate_of< ::Ifc4x2::IfcTableRow >::ptr > v2_Rows, boost::optional< aggregate_of< ::Ifc4x2::IfcTableColumn >::ptr > v3_Columns) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, (*v2_Rows)->generalize()); } if (v3_Columns) {set_attribute_value(2, (*v3_Columns)->generalize()); }; populate_derived(); } // Function implementations for IfcTableColumn -boost::optional< std::string > Ifc4x2::IfcTableColumn::Identifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x2::IfcTableColumn::Identifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcTableColumn::setIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x2::IfcTableColumn::Name() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x2::IfcTableColumn::Name() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcTableColumn::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x2::IfcTableColumn::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x2::IfcTableColumn::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcTableColumn::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x2::IfcUnit* Ifc4x2::IfcTableColumn::Unit() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcUnit>(true); } +::Ifc4x2::IfcUnit* Ifc4x2::IfcTableColumn::Unit() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcUnit>(true); } void Ifc4x2::IfcTableColumn::setUnit(::Ifc4x2::IfcUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x2::IfcReference* Ifc4x2::IfcTableColumn::ReferencePath() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcReference>(true); } +::Ifc4x2::IfcReference* Ifc4x2::IfcTableColumn::ReferencePath() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcReference>(true); } void Ifc4x2::IfcTableColumn::setReferencePath(::Ifc4x2::IfcReference* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x2::IfcTableColumn::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1072]); } const IfcParse::entity& Ifc4x2::IfcTableColumn::Class() { return *((IfcParse::entity*)IFC4X2_types[1072]); } Ifc4x2::IfcTableColumn::IfcTableColumn(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x2::IfcUnit* v4_Unit, ::Ifc4x2::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ReferencePath ? v5_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x2::IfcUnit* v4_Unit, ::Ifc4x2::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ReferencePath ? v5_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTableRow -boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > Ifc4x2::IfcTableRow::RowCells() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x2::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > Ifc4x2::IfcTableRow::RowCells() const { if(get_attribute_value(0).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x2::IfcValue >(); } void Ifc4x2::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v) { if (v) {set_attribute_value(0, (*v)->generalize());} else {unset_attribute_value(0);} } -boost::optional< bool > Ifc4x2::IfcTableRow::IsHeading() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } bool v = data_.get_attribute_value(1); return v; } +boost::optional< bool > Ifc4x2::IfcTableRow::IsHeading() const { if(get_attribute_value(1).isNull()) { return boost::none; } bool v = get_attribute_value(1); return v; } void Ifc4x2::IfcTableRow::setIsHeading(boost::optional< bool > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x2::IfcTableRow::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1073]); } const IfcParse::entity& Ifc4x2::IfcTableRow::Class() { return *((IfcParse::entity*)IFC4X2_types[1073]); } Ifc4x2::IfcTableRow::IfcTableRow(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_RowCells) {set_attribute_value(0, (*v1_RowCells)->generalize()); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); }; populate_derived(); } +Ifc4x2::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x2::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_RowCells) {set_attribute_value(0, (*v1_RowCells)->generalize()); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); }; populate_derived(); } // Function implementations for IfcTank -boost::optional< ::Ifc4x2::IfcTankTypeEnum::Value > Ifc4x2::IfcTank::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcTankTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcTankTypeEnum::Value > Ifc4x2::IfcTank::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcTankTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcTank::setPredefinedType(boost::optional< ::Ifc4x2::IfcTankTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcTankTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcTank::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1074]); } const IfcParse::entity& Ifc4x2::IfcTank::Class() { return *((IfcParse::entity*)IFC4X2_types[1074]); } Ifc4x2::IfcTank::IfcTank(IfcEntityInstanceData&& e) : IfcFlowStorageDevice(std::move(e)) { } -Ifc4x2::IfcTank::IfcTank(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcTankTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcTank::IfcTank(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcTankTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTankType -::Ifc4x2::IfcTankTypeEnum::Value Ifc4x2::IfcTankType::PredefinedType() const { return ::Ifc4x2::IfcTankTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcTankTypeEnum::Value Ifc4x2::IfcTankType::PredefinedType() const { return ::Ifc4x2::IfcTankTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcTankType::setPredefinedType(::Ifc4x2::IfcTankTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcTankTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcTankType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1075]); } const IfcParse::entity& Ifc4x2::IfcTankType::Class() { return *((IfcParse::entity*)IFC4X2_types[1075]); } Ifc4x2::IfcTankType::IfcTankType(IfcEntityInstanceData&& e) : IfcFlowStorageDeviceType(std::move(e)) { } -Ifc4x2::IfcTankType::IfcTankType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTankTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcTankType::IfcTankType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTankTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTask -boost::optional< std::string > Ifc4x2::IfcTask::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x2::IfcTask::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x2::IfcTask::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x2::IfcTask::WorkMethod() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x2::IfcTask::WorkMethod() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x2::IfcTask::setWorkMethod(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -bool Ifc4x2::IfcTask::IsMilestone() const { bool v = data_.get_attribute_value(9); return v; } +bool Ifc4x2::IfcTask::IsMilestone() const { bool v = get_attribute_value(9); return v; } void Ifc4x2::IfcTask::setIsMilestone(bool v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -boost::optional< int > Ifc4x2::IfcTask::Priority() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } int v = data_.get_attribute_value(10); return v; } +boost::optional< int > Ifc4x2::IfcTask::Priority() const { if(get_attribute_value(10).isNull()) { return boost::none; } int v = get_attribute_value(10); return v; } void Ifc4x2::IfcTask::setPriority(boost::optional< int > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4x2::IfcTaskTime* Ifc4x2::IfcTask::TaskTime() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc4x2::IfcTaskTime>(true); } +::Ifc4x2::IfcTaskTime* Ifc4x2::IfcTask::TaskTime() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc4x2::IfcTaskTime>(true); } void Ifc4x2::IfcTask::setTaskTime(::Ifc4x2::IfcTaskTime* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } -boost::optional< ::Ifc4x2::IfcTaskTypeEnum::Value > Ifc4x2::IfcTask::PredefinedType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x2::IfcTaskTypeEnum::FromString(data_.get_attribute_value(12)); } +boost::optional< ::Ifc4x2::IfcTaskTypeEnum::Value > Ifc4x2::IfcTask::PredefinedType() const { if(get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x2::IfcTaskTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x2::IfcTask::setPredefinedType(boost::optional< ::Ifc4x2::IfcTaskTypeEnum::Value > v) { if (v) {set_attribute_value(12, EnumerationReference(&::Ifc4x2::IfcTaskTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x2::IfcTask::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1077]); } const IfcParse::entity& Ifc4x2::IfcTask::Class() { return *((IfcParse::entity*)IFC4X2_types[1077]); } Ifc4x2::IfcTask::IfcTask(IfcEntityInstanceData&& e) : IfcProcess(std::move(e)) { } -Ifc4x2::IfcTask::IfcTask(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, boost::optional< int > v11_Priority, ::Ifc4x2::IfcTaskTime* v12_TaskTime, boost::optional< ::Ifc4x2::IfcTaskTypeEnum::Value > v13_PredefinedType) : IfcProcess(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, v12_TaskTime ? v12_TaskTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x2::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcTask::IfcTask(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, boost::optional< int > v11_Priority, ::Ifc4x2::IfcTaskTime* v12_TaskTime, boost::optional< ::Ifc4x2::IfcTaskTypeEnum::Value > v13_PredefinedType) : IfcProcess(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, v12_TaskTime ? v12_TaskTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x2::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTaskTime -boost::optional< ::Ifc4x2::IfcTaskDurationEnum::Value > Ifc4x2::IfcTaskTime::DurationType() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x2::IfcTaskDurationEnum::FromString(data_.get_attribute_value(3)); } +boost::optional< ::Ifc4x2::IfcTaskDurationEnum::Value > Ifc4x2::IfcTaskTime::DurationType() const { if(get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x2::IfcTaskDurationEnum::FromString(get_attribute_value(3)); } void Ifc4x2::IfcTaskTime::setDurationType(boost::optional< ::Ifc4x2::IfcTaskDurationEnum::Value > v) { if (v) {set_attribute_value(3, EnumerationReference(&::Ifc4x2::IfcTaskDurationEnum::Class(), (size_t) *v));} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x2::IfcTaskTime::ScheduleDuration() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x2::IfcTaskTime::ScheduleDuration() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcTaskTime::setScheduleDuration(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x2::IfcTaskTime::ScheduleStart() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x2::IfcTaskTime::ScheduleStart() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcTaskTime::setScheduleStart(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x2::IfcTaskTime::ScheduleFinish() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x2::IfcTaskTime::ScheduleFinish() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x2::IfcTaskTime::setScheduleFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x2::IfcTaskTime::EarlyStart() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x2::IfcTaskTime::EarlyStart() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x2::IfcTaskTime::setEarlyStart(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x2::IfcTaskTime::EarlyFinish() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x2::IfcTaskTime::EarlyFinish() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x2::IfcTaskTime::setEarlyFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x2::IfcTaskTime::LateStart() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x2::IfcTaskTime::LateStart() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x2::IfcTaskTime::setLateStart(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x2::IfcTaskTime::LateFinish() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x2::IfcTaskTime::LateFinish() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x2::IfcTaskTime::setLateFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< std::string > Ifc4x2::IfcTaskTime::FreeFloat() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x2::IfcTaskTime::FreeFloat() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x2::IfcTaskTime::setFreeFloat(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x2::IfcTaskTime::TotalFloat() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x2::IfcTaskTime::TotalFloat() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x2::IfcTaskTime::setTotalFloat(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< bool > Ifc4x2::IfcTaskTime::IsCritical() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } bool v = data_.get_attribute_value(13); return v; } +boost::optional< bool > Ifc4x2::IfcTaskTime::IsCritical() const { if(get_attribute_value(13).isNull()) { return boost::none; } bool v = get_attribute_value(13); return v; } void Ifc4x2::IfcTaskTime::setIsCritical(boost::optional< bool > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x2::IfcTaskTime::StatusTime() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x2::IfcTaskTime::StatusTime() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x2::IfcTaskTime::setStatusTime(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< std::string > Ifc4x2::IfcTaskTime::ActualDuration() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(15); return v; } +boost::optional< std::string > Ifc4x2::IfcTaskTime::ActualDuration() const { if(get_attribute_value(15).isNull()) { return boost::none; } std::string v = get_attribute_value(15); return v; } void Ifc4x2::IfcTaskTime::setActualDuration(boost::optional< std::string > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< std::string > Ifc4x2::IfcTaskTime::ActualStart() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(16); return v; } +boost::optional< std::string > Ifc4x2::IfcTaskTime::ActualStart() const { if(get_attribute_value(16).isNull()) { return boost::none; } std::string v = get_attribute_value(16); return v; } void Ifc4x2::IfcTaskTime::setActualStart(boost::optional< std::string > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< std::string > Ifc4x2::IfcTaskTime::ActualFinish() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(17); return v; } +boost::optional< std::string > Ifc4x2::IfcTaskTime::ActualFinish() const { if(get_attribute_value(17).isNull()) { return boost::none; } std::string v = get_attribute_value(17); return v; } void Ifc4x2::IfcTaskTime::setActualFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } -boost::optional< std::string > Ifc4x2::IfcTaskTime::RemainingTime() const { if(data_.get_attribute_value(18).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(18); return v; } +boost::optional< std::string > Ifc4x2::IfcTaskTime::RemainingTime() const { if(get_attribute_value(18).isNull()) { return boost::none; } std::string v = get_attribute_value(18); return v; } void Ifc4x2::IfcTaskTime::setRemainingTime(boost::optional< std::string > v) { if (v) {set_attribute_value(18, *v);} else {unset_attribute_value(18);} } -boost::optional< double > Ifc4x2::IfcTaskTime::Completion() const { if(data_.get_attribute_value(19).isNull()) { return boost::none; } double v = data_.get_attribute_value(19); return v; } +boost::optional< double > Ifc4x2::IfcTaskTime::Completion() const { if(get_attribute_value(19).isNull()) { return boost::none; } double v = get_attribute_value(19); return v; } void Ifc4x2::IfcTaskTime::setCompletion(boost::optional< double > v) { if (v) {set_attribute_value(19, *v);} else {unset_attribute_value(19);} } const IfcParse::entity& Ifc4x2::IfcTaskTime::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1079]); } const IfcParse::entity& Ifc4x2::IfcTaskTime::Class() { return *((IfcParse::entity*)IFC4X2_types[1079]); } Ifc4x2::IfcTaskTime::IfcTaskTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x2::IfcTaskTime::IfcTaskTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x2::IfcTaskDurationEnum::Value > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion) : IfcSchedulingTime(IfcEntityInstanceData(storage_t(20))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x2::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }; populate_derived(); } +Ifc4x2::IfcTaskTime::IfcTaskTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x2::IfcTaskDurationEnum::Value > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion) : IfcSchedulingTime(IfcEntityInstanceData(in_memory_attribute_storage(20))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x2::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }; populate_derived(); } // Function implementations for IfcTaskTimeRecurring -::Ifc4x2::IfcRecurrencePattern* Ifc4x2::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(20)))->as<::Ifc4x2::IfcRecurrencePattern>(true); } +::Ifc4x2::IfcRecurrencePattern* Ifc4x2::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(20)))->as<::Ifc4x2::IfcRecurrencePattern>(true); } void Ifc4x2::IfcTaskTimeRecurring::setRecurrence(::Ifc4x2::IfcRecurrencePattern* v) { set_attribute_value(20, v->as());if constexpr (false)unset_attribute_value(20); } const IfcParse::entity& Ifc4x2::IfcTaskTimeRecurring::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1080]); } const IfcParse::entity& Ifc4x2::IfcTaskTimeRecurring::Class() { return *((IfcParse::entity*)IFC4X2_types[1080]); } Ifc4x2::IfcTaskTimeRecurring::IfcTaskTimeRecurring(IfcEntityInstanceData&& e) : IfcTaskTime(std::move(e)) { } -Ifc4x2::IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x2::IfcTaskDurationEnum::Value > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion, ::Ifc4x2::IfcRecurrencePattern* v21_Recurrence) : IfcTaskTime(IfcEntityInstanceData(storage_t(21))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x2::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, v21_Recurrence ? v21_Recurrence->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x2::IfcTaskDurationEnum::Value > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion, ::Ifc4x2::IfcRecurrencePattern* v21_Recurrence) : IfcTaskTime(IfcEntityInstanceData(in_memory_attribute_storage(21))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x2::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, v21_Recurrence ? v21_Recurrence->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTaskType -::Ifc4x2::IfcTaskTypeEnum::Value Ifc4x2::IfcTaskType::PredefinedType() const { return ::Ifc4x2::IfcTaskTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcTaskTypeEnum::Value Ifc4x2::IfcTaskType::PredefinedType() const { return ::Ifc4x2::IfcTaskTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcTaskType::setPredefinedType(::Ifc4x2::IfcTaskTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcTaskTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x2::IfcTaskType::WorkMethod() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x2::IfcTaskType::WorkMethod() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x2::IfcTaskType::setWorkMethod(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x2::IfcTaskType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1081]); } const IfcParse::entity& Ifc4x2::IfcTaskType::Class() { return *((IfcParse::entity*)IFC4X2_types[1081]); } Ifc4x2::IfcTaskType::IfcTaskType(IfcEntityInstanceData&& e) : IfcTypeProcess(std::move(e)) { } -Ifc4x2::IfcTaskType::IfcTaskType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x2::IfcTaskTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_WorkMethod) : IfcTypeProcess(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); }; populate_derived(); } +Ifc4x2::IfcTaskType::IfcTaskType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x2::IfcTaskTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_WorkMethod) : IfcTypeProcess(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); }; populate_derived(); } // Function implementations for IfcTelecomAddress -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcTelecomAddress::TelephoneNumbers() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcTelecomAddress::TelephoneNumbers() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x2::IfcTelecomAddress::setTelephoneNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcTelecomAddress::FacsimileNumbers() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcTelecomAddress::FacsimileNumbers() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x2::IfcTelecomAddress::setFacsimileNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x2::IfcTelecomAddress::PagerNumber() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x2::IfcTelecomAddress::PagerNumber() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcTelecomAddress::setPagerNumber(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcTelecomAddress::ElectronicMailAddresses() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(6); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcTelecomAddress::ElectronicMailAddresses() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(6); return v; } void Ifc4x2::IfcTelecomAddress::setElectronicMailAddresses(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x2::IfcTelecomAddress::WWWHomePageURL() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x2::IfcTelecomAddress::WWWHomePageURL() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x2::IfcTelecomAddress::setWWWHomePageURL(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcTelecomAddress::MessagingIDs() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(8); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x2::IfcTelecomAddress::MessagingIDs() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(8); return v; } void Ifc4x2::IfcTelecomAddress::setMessagingIDs(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcTelecomAddress::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1083]); } const IfcParse::entity& Ifc4x2::IfcTelecomAddress::Class() { return *((IfcParse::entity*)IFC4X2_types[1083]); } Ifc4x2::IfcTelecomAddress::IfcTelecomAddress(IfcEntityInstanceData&& e) : IfcAddress(std::move(e)) { } -Ifc4x2::IfcTelecomAddress::IfcTelecomAddress(boost::optional< ::Ifc4x2::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(storage_t(9))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); }; populate_derived(); } +Ifc4x2::IfcTelecomAddress::IfcTelecomAddress(boost::optional< ::Ifc4x2::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(in_memory_attribute_storage(9))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); }; populate_derived(); } // Function implementations for IfcTendon -boost::optional< ::Ifc4x2::IfcTendonTypeEnum::Value > Ifc4x2::IfcTendon::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x2::IfcTendonTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x2::IfcTendonTypeEnum::Value > Ifc4x2::IfcTendon::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x2::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcTendon::setPredefinedType(boost::optional< ::Ifc4x2::IfcTendonTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcTendonTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x2::IfcTendon::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x2::IfcTendon::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x2::IfcTendon::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x2::IfcTendon::CrossSectionArea() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x2::IfcTendon::CrossSectionArea() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x2::IfcTendon::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x2::IfcTendon::TensionForce() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x2::IfcTendon::TensionForce() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x2::IfcTendon::setTensionForce(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x2::IfcTendon::PreStress() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x2::IfcTendon::PreStress() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x2::IfcTendon::setPreStress(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x2::IfcTendon::FrictionCoefficient() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x2::IfcTendon::FrictionCoefficient() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x2::IfcTendon::setFrictionCoefficient(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x2::IfcTendon::AnchorageSlip() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x2::IfcTendon::AnchorageSlip() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x2::IfcTendon::setAnchorageSlip(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x2::IfcTendon::MinCurvatureRadius() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x2::IfcTendon::MinCurvatureRadius() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x2::IfcTendon::setMinCurvatureRadius(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } const IfcParse::entity& Ifc4x2::IfcTendon::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1086]); } const IfcParse::entity& Ifc4x2::IfcTendon::Class() { return *((IfcParse::entity*)IFC4X2_types[1086]); } Ifc4x2::IfcTendon::IfcTendon(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x2::IfcTendon::IfcTendon(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x2::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(storage_t(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; populate_derived(); } +Ifc4x2::IfcTendon::IfcTendon(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x2::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(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; populate_derived(); } // Function implementations for IfcTendonAnchor -boost::optional< ::Ifc4x2::IfcTendonAnchorTypeEnum::Value > Ifc4x2::IfcTendonAnchor::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x2::IfcTendonAnchorTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x2::IfcTendonAnchorTypeEnum::Value > Ifc4x2::IfcTendonAnchor::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x2::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcTendonAnchor::setPredefinedType(boost::optional< ::Ifc4x2::IfcTendonAnchorTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcTendonAnchorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x2::IfcTendonAnchor::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1087]); } const IfcParse::entity& Ifc4x2::IfcTendonAnchor::Class() { return *((IfcParse::entity*)IFC4X2_types[1087]); } Ifc4x2::IfcTendonAnchor::IfcTendonAnchor(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x2::IfcTendonAnchor::IfcTendonAnchor(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x2::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcTendonAnchor::IfcTendonAnchor(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x2::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTendonAnchorType -::Ifc4x2::IfcTendonAnchorTypeEnum::Value Ifc4x2::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4x2::IfcTendonAnchorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcTendonAnchorTypeEnum::Value Ifc4x2::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4x2::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcTendonAnchorType::setPredefinedType(::Ifc4x2::IfcTendonAnchorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcTendonAnchorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcTendonAnchorType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1088]); } const IfcParse::entity& Ifc4x2::IfcTendonAnchorType::Class() { return *((IfcParse::entity*)IFC4X2_types[1088]); } Ifc4x2::IfcTendonAnchorType::IfcTendonAnchorType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x2::IfcTendonAnchorType::IfcTendonAnchorType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcTendonAnchorType::IfcTendonAnchorType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTendonConduit -::Ifc4x2::IfcTendonConduitTypeEnum::Value Ifc4x2::IfcTendonConduit::PredefinedType() const { return ::Ifc4x2::IfcTendonConduitTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcTendonConduitTypeEnum::Value Ifc4x2::IfcTendonConduit::PredefinedType() const { return ::Ifc4x2::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcTendonConduit::setPredefinedType(::Ifc4x2::IfcTendonConduitTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcTendonConduitTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcTendonConduit::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1090]); } const IfcParse::entity& Ifc4x2::IfcTendonConduit::Class() { return *((IfcParse::entity*)IFC4X2_types[1090]); } Ifc4x2::IfcTendonConduit::IfcTendonConduit(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x2::IfcTendonConduit::IfcTendonConduit(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, ::Ifc4x2::IfcTendonConduitTypeEnum::Value v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcTendonConduit::IfcTendonConduit(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, ::Ifc4x2::IfcTendonConduitTypeEnum::Value v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTendonConduitType -::Ifc4x2::IfcTendonConduitTypeEnum::Value Ifc4x2::IfcTendonConduitType::PredefinedType() const { return ::Ifc4x2::IfcTendonConduitTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcTendonConduitTypeEnum::Value Ifc4x2::IfcTendonConduitType::PredefinedType() const { return ::Ifc4x2::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcTendonConduitType::setPredefinedType(::Ifc4x2::IfcTendonConduitTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcTendonConduitTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcTendonConduitType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1091]); } const IfcParse::entity& Ifc4x2::IfcTendonConduitType::Class() { return *((IfcParse::entity*)IFC4X2_types[1091]); } Ifc4x2::IfcTendonConduitType::IfcTendonConduitType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x2::IfcTendonConduitType::IfcTendonConduitType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTendonConduitTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcTendonConduitType::IfcTendonConduitType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTendonConduitTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTendonType -::Ifc4x2::IfcTendonTypeEnum::Value Ifc4x2::IfcTendonType::PredefinedType() const { return ::Ifc4x2::IfcTendonTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcTendonTypeEnum::Value Ifc4x2::IfcTendonType::PredefinedType() const { return ::Ifc4x2::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcTendonType::setPredefinedType(::Ifc4x2::IfcTendonTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcTendonTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x2::IfcTendonType::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x2::IfcTendonType::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x2::IfcTendonType::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x2::IfcTendonType::CrossSectionArea() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x2::IfcTendonType::CrossSectionArea() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x2::IfcTendonType::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x2::IfcTendonType::SheathDiameter() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x2::IfcTendonType::SheathDiameter() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x2::IfcTendonType::setSheathDiameter(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x2::IfcTendonType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1093]); } const IfcParse::entity& Ifc4x2::IfcTendonType::Class() { return *((IfcParse::entity*)IFC4X2_types[1093]); } Ifc4x2::IfcTendonType::IfcTendonType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x2::IfcTendonType::IfcTendonType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTendonTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheathDiameter) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); }; populate_derived(); } +Ifc4x2::IfcTendonType::IfcTendonType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTendonTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheathDiameter) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); }; populate_derived(); } // Function implementations for IfcTessellatedFaceSet -::Ifc4x2::IfcCartesianPointList3D* Ifc4x2::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcCartesianPointList3D>(true); } +::Ifc4x2::IfcCartesianPointList3D* Ifc4x2::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcCartesianPointList3D>(true); } void Ifc4x2::IfcTessellatedFaceSet::setCoordinates(::Ifc4x2::IfcCartesianPointList3D* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } ::Ifc4x2::IfcIndexedColourMap::list::ptr Ifc4x2::IfcTessellatedFaceSet::HasColours() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[508], 0)->as(); } @@ -15833,7 +15833,7 @@ void Ifc4x2::IfcTessellatedFaceSet::setCoordinates(::Ifc4x2::IfcCartesianPointLi const IfcParse::entity& Ifc4x2::IfcTessellatedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1095]); } const IfcParse::entity& Ifc4x2::IfcTessellatedFaceSet::Class() { return *((IfcParse::entity*)IFC4X2_types[1095]); } Ifc4x2::IfcTessellatedFaceSet::IfcTessellatedFaceSet(IfcEntityInstanceData&& e) : IfcTessellatedItem(std::move(e)) { } -Ifc4x2::IfcTessellatedFaceSet::IfcTessellatedFaceSet(::Ifc4x2::IfcCartesianPointList3D* v1_Coordinates) : IfcTessellatedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcTessellatedFaceSet::IfcTessellatedFaceSet(::Ifc4x2::IfcCartesianPointList3D* v1_Coordinates) : IfcTessellatedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTessellatedItem @@ -15841,184 +15841,184 @@ Ifc4x2::IfcTessellatedFaceSet::IfcTessellatedFaceSet(::Ifc4x2::IfcCartesianPoint const IfcParse::entity& Ifc4x2::IfcTessellatedItem::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1096]); } const IfcParse::entity& Ifc4x2::IfcTessellatedItem::Class() { return *((IfcParse::entity*)IFC4X2_types[1096]); } Ifc4x2::IfcTessellatedItem::IfcTessellatedItem(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x2::IfcTessellatedItem::IfcTessellatedItem() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x2::IfcTessellatedItem::IfcTessellatedItem() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcTextLiteral -std::string Ifc4x2::IfcTextLiteral::Literal() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x2::IfcTextLiteral::Literal() const { std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcTextLiteral::setLiteral(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcAxis2Placement* Ifc4x2::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcAxis2Placement>(true); } +::Ifc4x2::IfcAxis2Placement* Ifc4x2::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcAxis2Placement>(true); } void Ifc4x2::IfcTextLiteral::setPlacement(::Ifc4x2::IfcAxis2Placement* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcTextPath::Value Ifc4x2::IfcTextLiteral::Path() const { return ::Ifc4x2::IfcTextPath::FromString(data_.get_attribute_value(2)); } +::Ifc4x2::IfcTextPath::Value Ifc4x2::IfcTextLiteral::Path() const { return ::Ifc4x2::IfcTextPath::FromString(get_attribute_value(2)); } void Ifc4x2::IfcTextLiteral::setPath(::Ifc4x2::IfcTextPath::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x2::IfcTextPath::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x2::IfcTextLiteral::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1102]); } const IfcParse::entity& Ifc4x2::IfcTextLiteral::Class() { return *((IfcParse::entity*)IFC4X2_types[1102]); } Ifc4x2::IfcTextLiteral::IfcTextLiteral(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x2::IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, ::Ifc4x2::IfcAxis2Placement* v2_Placement, ::Ifc4x2::IfcTextPath::Value v3_Path) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x2::IfcTextPath::Class(),(size_t)v3_Path)));; populate_derived(); } +Ifc4x2::IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, ::Ifc4x2::IfcAxis2Placement* v2_Placement, ::Ifc4x2::IfcTextPath::Value v3_Path) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x2::IfcTextPath::Class(),(size_t)v3_Path)));; populate_derived(); } // Function implementations for IfcTextLiteralWithExtent -::Ifc4x2::IfcPlanarExtent* Ifc4x2::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcPlanarExtent>(true); } +::Ifc4x2::IfcPlanarExtent* Ifc4x2::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcPlanarExtent>(true); } void Ifc4x2::IfcTextLiteralWithExtent::setExtent(::Ifc4x2::IfcPlanarExtent* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -std::string Ifc4x2::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = data_.get_attribute_value(4); return v; } +std::string Ifc4x2::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcTextLiteralWithExtent::setBoxAlignment(std::string v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x2::IfcTextLiteralWithExtent::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1103]); } const IfcParse::entity& Ifc4x2::IfcTextLiteralWithExtent::Class() { return *((IfcParse::entity*)IFC4X2_types[1103]); } Ifc4x2::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(IfcEntityInstanceData&& e) : IfcTextLiteral(std::move(e)) { } -Ifc4x2::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(std::string v1_Literal, ::Ifc4x2::IfcAxis2Placement* v2_Placement, ::Ifc4x2::IfcTextPath::Value v3_Path, ::Ifc4x2::IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment) : IfcTextLiteral(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x2::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, v4_Extent ? v4_Extent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_BoxAlignment));; populate_derived(); } +Ifc4x2::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(std::string v1_Literal, ::Ifc4x2::IfcAxis2Placement* v2_Placement, ::Ifc4x2::IfcTextPath::Value v3_Path, ::Ifc4x2::IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment) : IfcTextLiteral(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x2::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, v4_Extent ? v4_Extent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_BoxAlignment));; populate_derived(); } // Function implementations for IfcTextStyle -::Ifc4x2::IfcTextStyleForDefinedFont* Ifc4x2::IfcTextStyle::TextCharacterAppearance() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcTextStyleForDefinedFont>(true); } +::Ifc4x2::IfcTextStyleForDefinedFont* Ifc4x2::IfcTextStyle::TextCharacterAppearance() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcTextStyleForDefinedFont>(true); } void Ifc4x2::IfcTextStyle::setTextCharacterAppearance(::Ifc4x2::IfcTextStyleForDefinedFont* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcTextStyleTextModel* Ifc4x2::IfcTextStyle::TextStyle() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcTextStyleTextModel>(true); } +::Ifc4x2::IfcTextStyleTextModel* Ifc4x2::IfcTextStyle::TextStyle() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcTextStyleTextModel>(true); } void Ifc4x2::IfcTextStyle::setTextStyle(::Ifc4x2::IfcTextStyleTextModel* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x2::IfcTextFontSelect* Ifc4x2::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcTextFontSelect>(true); } +::Ifc4x2::IfcTextFontSelect* Ifc4x2::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcTextFontSelect>(true); } void Ifc4x2::IfcTextStyle::setTextFontStyle(::Ifc4x2::IfcTextFontSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< bool > Ifc4x2::IfcTextStyle::ModelOrDraughting() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } bool v = data_.get_attribute_value(4); return v; } +boost::optional< bool > Ifc4x2::IfcTextStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return boost::none; } bool v = get_attribute_value(4); return v; } void Ifc4x2::IfcTextStyle::setModelOrDraughting(boost::optional< bool > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x2::IfcTextStyle::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1105]); } const IfcParse::entity& Ifc4x2::IfcTextStyle::Class() { return *((IfcParse::entity*)IFC4X2_types[1105]); } Ifc4x2::IfcTextStyle::IfcTextStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x2::IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcTextStyleForDefinedFont* v2_TextCharacterAppearance, ::Ifc4x2::IfcTextStyleTextModel* v3_TextStyle, ::Ifc4x2::IfcTextFontSelect* v4_TextFontStyle, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TextCharacterAppearance ? v2_TextCharacterAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TextStyle ? v3_TextStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TextFontStyle ? v4_TextFontStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } +Ifc4x2::IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, ::Ifc4x2::IfcTextStyleForDefinedFont* v2_TextCharacterAppearance, ::Ifc4x2::IfcTextStyleTextModel* v3_TextStyle, ::Ifc4x2::IfcTextFontSelect* v4_TextFontStyle, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TextCharacterAppearance ? v2_TextCharacterAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TextStyle ? v3_TextStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TextFontStyle ? v4_TextFontStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } // Function implementations for IfcTextStyleFontModel -std::vector< std::string > /*[1:?]*/ Ifc4x2::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +std::vector< std::string > /*[1:?]*/ Ifc4x2::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x2::IfcTextStyleFontModel::setFontFamily(std::vector< std::string > /*[1:?]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x2::IfcTextStyleFontModel::FontStyle() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x2::IfcTextStyleFontModel::FontStyle() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcTextStyleFontModel::setFontStyle(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x2::IfcTextStyleFontModel::FontVariant() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x2::IfcTextStyleFontModel::FontVariant() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x2::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x2::IfcTextStyleFontModel::FontWeight() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x2::IfcTextStyleFontModel::FontWeight() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x2::IfcSizeSelect* Ifc4x2::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x2::IfcSizeSelect>(true); } +::Ifc4x2::IfcSizeSelect* Ifc4x2::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x2::IfcSizeSelect>(true); } void Ifc4x2::IfcTextStyleFontModel::setFontSize(::Ifc4x2::IfcSizeSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x2::IfcTextStyleFontModel::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1106]); } const IfcParse::entity& Ifc4x2::IfcTextStyleFontModel::Class() { return *((IfcParse::entity*)IFC4X2_types[1106]); } Ifc4x2::IfcTextStyleFontModel::IfcTextStyleFontModel(IfcEntityInstanceData&& e) : IfcPreDefinedTextFont(std::move(e)) { } -Ifc4x2::IfcTextStyleFontModel::IfcTextStyleFontModel(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, boost::optional< std::string > v3_FontStyle, boost::optional< std::string > v4_FontVariant, boost::optional< std::string > v5_FontWeight, ::Ifc4x2::IfcSizeSelect* v6_FontSize) : IfcPreDefinedTextFont(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, v6_FontSize ? v6_FontSize->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcTextStyleFontModel::IfcTextStyleFontModel(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, boost::optional< std::string > v3_FontStyle, boost::optional< std::string > v4_FontVariant, boost::optional< std::string > v5_FontWeight, ::Ifc4x2::IfcSizeSelect* v6_FontSize) : IfcPreDefinedTextFont(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, v6_FontSize ? v6_FontSize->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextStyleForDefinedFont -::Ifc4x2::IfcColour* Ifc4x2::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcColour>(true); } +::Ifc4x2::IfcColour* Ifc4x2::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcColour>(true); } void Ifc4x2::IfcTextStyleForDefinedFont::setColour(::Ifc4x2::IfcColour* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x2::IfcColour* Ifc4x2::IfcTextStyleForDefinedFont::BackgroundColour() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x2::IfcColour>(true); } +::Ifc4x2::IfcColour* Ifc4x2::IfcTextStyleForDefinedFont::BackgroundColour() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x2::IfcColour>(true); } void Ifc4x2::IfcTextStyleForDefinedFont::setBackgroundColour(::Ifc4x2::IfcColour* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcTextStyleForDefinedFont::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1107]); } const IfcParse::entity& Ifc4x2::IfcTextStyleForDefinedFont::Class() { return *((IfcParse::entity*)IFC4X2_types[1107]); } Ifc4x2::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x2::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4x2::IfcColour* v1_Colour, ::Ifc4x2::IfcColour* v2_BackgroundColour) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Colour ? v1_Colour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_BackgroundColour ? v2_BackgroundColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4x2::IfcColour* v1_Colour, ::Ifc4x2::IfcColour* v2_BackgroundColour) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Colour ? v1_Colour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_BackgroundColour ? v2_BackgroundColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextStyleTextModel -::Ifc4x2::IfcSizeSelect* Ifc4x2::IfcTextStyleTextModel::TextIndent() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcSizeSelect>(true); } +::Ifc4x2::IfcSizeSelect* Ifc4x2::IfcTextStyleTextModel::TextIndent() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcSizeSelect>(true); } void Ifc4x2::IfcTextStyleTextModel::setTextIndent(::Ifc4x2::IfcSizeSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x2::IfcTextStyleTextModel::TextAlign() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x2::IfcTextStyleTextModel::TextAlign() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x2::IfcTextStyleTextModel::TextDecoration() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x2::IfcTextStyleTextModel::TextDecoration() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x2::IfcSizeSelect* Ifc4x2::IfcTextStyleTextModel::LetterSpacing() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcSizeSelect>(true); } +::Ifc4x2::IfcSizeSelect* Ifc4x2::IfcTextStyleTextModel::LetterSpacing() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcSizeSelect>(true); } void Ifc4x2::IfcTextStyleTextModel::setLetterSpacing(::Ifc4x2::IfcSizeSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x2::IfcSizeSelect* Ifc4x2::IfcTextStyleTextModel::WordSpacing() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x2::IfcSizeSelect>(true); } +::Ifc4x2::IfcSizeSelect* Ifc4x2::IfcTextStyleTextModel::WordSpacing() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x2::IfcSizeSelect>(true); } void Ifc4x2::IfcTextStyleTextModel::setWordSpacing(::Ifc4x2::IfcSizeSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -boost::optional< std::string > Ifc4x2::IfcTextStyleTextModel::TextTransform() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x2::IfcTextStyleTextModel::TextTransform() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x2::IfcSizeSelect* Ifc4x2::IfcTextStyleTextModel::LineHeight() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x2::IfcSizeSelect>(true); } +::Ifc4x2::IfcSizeSelect* Ifc4x2::IfcTextStyleTextModel::LineHeight() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x2::IfcSizeSelect>(true); } void Ifc4x2::IfcTextStyleTextModel::setLineHeight(::Ifc4x2::IfcSizeSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x2::IfcTextStyleTextModel::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1108]); } const IfcParse::entity& Ifc4x2::IfcTextStyleTextModel::Class() { return *((IfcParse::entity*)IFC4X2_types[1108]); } Ifc4x2::IfcTextStyleTextModel::IfcTextStyleTextModel(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x2::IfcTextStyleTextModel::IfcTextStyleTextModel(::Ifc4x2::IfcSizeSelect* v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, ::Ifc4x2::IfcSizeSelect* v4_LetterSpacing, ::Ifc4x2::IfcSizeSelect* v5_WordSpacing, boost::optional< std::string > v6_TextTransform, ::Ifc4x2::IfcSizeSelect* v7_LineHeight) : IfcPresentationItem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, v1_TextIndent ? v1_TextIndent->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, v4_LetterSpacing ? v4_LetterSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_WordSpacing ? v5_WordSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, v7_LineHeight ? v7_LineHeight->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcTextStyleTextModel::IfcTextStyleTextModel(::Ifc4x2::IfcSizeSelect* v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, ::Ifc4x2::IfcSizeSelect* v4_LetterSpacing, ::Ifc4x2::IfcSizeSelect* v5_WordSpacing, boost::optional< std::string > v6_TextTransform, ::Ifc4x2::IfcSizeSelect* v7_LineHeight) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_TextIndent ? v1_TextIndent->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, v4_LetterSpacing ? v4_LetterSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_WordSpacing ? v5_WordSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, v7_LineHeight ? v7_LineHeight->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextureCoordinate -aggregate_of< ::Ifc4x2::IfcSurfaceTexture >::ptr Ifc4x2::IfcTextureCoordinate::Maps() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x2::IfcSurfaceTexture >(); } +aggregate_of< ::Ifc4x2::IfcSurfaceTexture >::ptr Ifc4x2::IfcTextureCoordinate::Maps() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x2::IfcSurfaceTexture >(); } void Ifc4x2::IfcTextureCoordinate::setMaps(aggregate_of< ::Ifc4x2::IfcSurfaceTexture >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x2::IfcTextureCoordinate::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1110]); } const IfcParse::entity& Ifc4x2::IfcTextureCoordinate::Class() { return *((IfcParse::entity*)IFC4X2_types[1110]); } Ifc4x2::IfcTextureCoordinate::IfcTextureCoordinate(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x2::IfcTextureCoordinate::IfcTextureCoordinate(aggregate_of< ::Ifc4x2::IfcSurfaceTexture >::ptr v1_Maps) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Maps)->generalize());; populate_derived(); } +Ifc4x2::IfcTextureCoordinate::IfcTextureCoordinate(aggregate_of< ::Ifc4x2::IfcSurfaceTexture >::ptr v1_Maps) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Maps)->generalize());; populate_derived(); } // Function implementations for IfcTextureCoordinateGenerator -std::string Ifc4x2::IfcTextureCoordinateGenerator::Mode() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x2::IfcTextureCoordinateGenerator::Mode() const { std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcTextureCoordinateGenerator::setMode(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::vector< double > /*[1:?]*/ > Ifc4x2::IfcTextureCoordinateGenerator::Parameter() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< double > /*[1:?]*/ > Ifc4x2::IfcTextureCoordinateGenerator::Parameter() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[1:?]*/ v = get_attribute_value(2); return v; } void Ifc4x2::IfcTextureCoordinateGenerator::setParameter(boost::optional< std::vector< double > /*[1:?]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x2::IfcTextureCoordinateGenerator::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1111]); } const IfcParse::entity& Ifc4x2::IfcTextureCoordinateGenerator::Class() { return *((IfcParse::entity*)IFC4X2_types[1111]); } Ifc4x2::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(IfcEntityInstanceData&& e) : IfcTextureCoordinate(std::move(e)) { } -Ifc4x2::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(aggregate_of< ::Ifc4x2::IfcSurfaceTexture >::ptr v1_Maps, std::string v2_Mode, boost::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) : IfcTextureCoordinate(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); }; populate_derived(); } +Ifc4x2::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(aggregate_of< ::Ifc4x2::IfcSurfaceTexture >::ptr v1_Maps, std::string v2_Mode, boost::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) : IfcTextureCoordinate(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); }; populate_derived(); } // Function implementations for IfcTextureMap -aggregate_of< ::Ifc4x2::IfcTextureVertex >::ptr Ifc4x2::IfcTextureMap::Vertices() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x2::IfcTextureVertex >(); } +aggregate_of< ::Ifc4x2::IfcTextureVertex >::ptr Ifc4x2::IfcTextureMap::Vertices() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x2::IfcTextureVertex >(); } void Ifc4x2::IfcTextureMap::setVertices(aggregate_of< ::Ifc4x2::IfcTextureVertex >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x2::IfcFace* Ifc4x2::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x2::IfcFace>(true); } +::Ifc4x2::IfcFace* Ifc4x2::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x2::IfcFace>(true); } void Ifc4x2::IfcTextureMap::setMappedTo(::Ifc4x2::IfcFace* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x2::IfcTextureMap::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1112]); } const IfcParse::entity& Ifc4x2::IfcTextureMap::Class() { return *((IfcParse::entity*)IFC4X2_types[1112]); } Ifc4x2::IfcTextureMap::IfcTextureMap(IfcEntityInstanceData&& e) : IfcTextureCoordinate(std::move(e)) { } -Ifc4x2::IfcTextureMap::IfcTextureMap(aggregate_of< ::Ifc4x2::IfcSurfaceTexture >::ptr v1_Maps, aggregate_of< ::Ifc4x2::IfcTextureVertex >::ptr v2_Vertices, ::Ifc4x2::IfcFace* v3_MappedTo) : IfcTextureCoordinate(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Vertices)->generalize());set_attribute_value(2, v3_MappedTo ? v3_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcTextureMap::IfcTextureMap(aggregate_of< ::Ifc4x2::IfcSurfaceTexture >::ptr v1_Maps, aggregate_of< ::Ifc4x2::IfcTextureVertex >::ptr v2_Vertices, ::Ifc4x2::IfcFace* v3_MappedTo) : IfcTextureCoordinate(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Vertices)->generalize());set_attribute_value(2, v3_MappedTo ? v3_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextureVertex -std::vector< double > /*[2:2]*/ Ifc4x2::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[2:2]*/ Ifc4x2::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = get_attribute_value(0); return v; } void Ifc4x2::IfcTextureVertex::setCoordinates(std::vector< double > /*[2:2]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x2::IfcTextureVertex::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1113]); } const IfcParse::entity& Ifc4x2::IfcTextureVertex::Class() { return *((IfcParse::entity*)IFC4X2_types[1113]); } Ifc4x2::IfcTextureVertex::IfcTextureVertex(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x2::IfcTextureVertex::IfcTextureVertex(std::vector< double > /*[2:2]*/ v1_Coordinates) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } +Ifc4x2::IfcTextureVertex::IfcTextureVertex(std::vector< double > /*[2:2]*/ v1_Coordinates) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } // Function implementations for IfcTextureVertexList -std::vector< std::vector< double > > Ifc4x2::IfcTextureVertexList::TexCoordsList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x2::IfcTextureVertexList::TexCoordsList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x2::IfcTextureVertexList::setTexCoordsList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x2::IfcTextureVertexList::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1114]); } const IfcParse::entity& Ifc4x2::IfcTextureVertexList::Class() { return *((IfcParse::entity*)IFC4X2_types[1114]); } Ifc4x2::IfcTextureVertexList::IfcTextureVertexList(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x2::IfcTextureVertexList::IfcTextureVertexList(std::vector< std::vector< double > > v1_TexCoordsList) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_TexCoordsList));; populate_derived(); } +Ifc4x2::IfcTextureVertexList::IfcTextureVertexList(std::vector< std::vector< double > > v1_TexCoordsList) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_TexCoordsList));; populate_derived(); } // Function implementations for IfcTimePeriod -std::string Ifc4x2::IfcTimePeriod::StartTime() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x2::IfcTimePeriod::StartTime() const { std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcTimePeriod::setStartTime(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x2::IfcTimePeriod::EndTime() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x2::IfcTimePeriod::EndTime() const { std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcTimePeriod::setEndTime(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcTimePeriod::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1124]); } const IfcParse::entity& Ifc4x2::IfcTimePeriod::Class() { return *((IfcParse::entity*)IFC4X2_types[1124]); } Ifc4x2::IfcTimePeriod::IfcTimePeriod(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcTimePeriod::IfcTimePeriod(std::string v1_StartTime, std::string v2_EndTime) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime));; populate_derived(); } +Ifc4x2::IfcTimePeriod::IfcTimePeriod(std::string v1_StartTime, std::string v2_EndTime) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime));; populate_derived(); } // Function implementations for IfcTimeSeries -std::string Ifc4x2::IfcTimeSeries::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x2::IfcTimeSeries::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x2::IfcTimeSeries::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x2::IfcTimeSeries::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x2::IfcTimeSeries::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x2::IfcTimeSeries::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::string Ifc4x2::IfcTimeSeries::StartTime() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x2::IfcTimeSeries::StartTime() const { std::string v = get_attribute_value(2); return v; } void Ifc4x2::IfcTimeSeries::setStartTime(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::string Ifc4x2::IfcTimeSeries::EndTime() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x2::IfcTimeSeries::EndTime() const { std::string v = get_attribute_value(3); return v; } void Ifc4x2::IfcTimeSeries::setEndTime(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x2::IfcTimeSeriesDataTypeEnum::Value Ifc4x2::IfcTimeSeries::TimeSeriesDataType() const { return ::Ifc4x2::IfcTimeSeriesDataTypeEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x2::IfcTimeSeriesDataTypeEnum::Value Ifc4x2::IfcTimeSeries::TimeSeriesDataType() const { return ::Ifc4x2::IfcTimeSeriesDataTypeEnum::FromString(get_attribute_value(4)); } void Ifc4x2::IfcTimeSeries::setTimeSeriesDataType(::Ifc4x2::IfcTimeSeriesDataTypeEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x2::IfcTimeSeriesDataTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcDataOriginEnum::Value Ifc4x2::IfcTimeSeries::DataOrigin() const { return ::Ifc4x2::IfcDataOriginEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x2::IfcDataOriginEnum::Value Ifc4x2::IfcTimeSeries::DataOrigin() const { return ::Ifc4x2::IfcDataOriginEnum::FromString(get_attribute_value(5)); } void Ifc4x2::IfcTimeSeries::setDataOrigin(::Ifc4x2::IfcDataOriginEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x2::IfcDataOriginEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< std::string > Ifc4x2::IfcTimeSeries::UserDefinedDataOrigin() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x2::IfcTimeSeries::UserDefinedDataOrigin() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x2::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x2::IfcUnit* Ifc4x2::IfcTimeSeries::Unit() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x2::IfcUnit>(true); } +::Ifc4x2::IfcUnit* Ifc4x2::IfcTimeSeries::Unit() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x2::IfcUnit>(true); } void Ifc4x2::IfcTimeSeries::setUnit(::Ifc4x2::IfcUnit* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } ::Ifc4x2::IfcExternalReferenceRelationship::list::ptr Ifc4x2::IfcTimeSeries::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[407], 3)->as(); } @@ -16026,17 +16026,17 @@ void Ifc4x2::IfcTimeSeries::setUnit(::Ifc4x2::IfcUnit* v) { set_attribute_value( const IfcParse::entity& Ifc4x2::IfcTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1125]); } const IfcParse::entity& Ifc4x2::IfcTimeSeries::Class() { return *((IfcParse::entity*)IFC4X2_types[1125]); } Ifc4x2::IfcTimeSeries::IfcTimeSeries(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x2::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x2::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x2::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x2::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTimeSeriesValue -aggregate_of< ::Ifc4x2::IfcValue >::ptr Ifc4x2::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x2::IfcValue >(); } +aggregate_of< ::Ifc4x2::IfcValue >::ptr Ifc4x2::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x2::IfcValue >(); } void Ifc4x2::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x2::IfcValue >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x2::IfcTimeSeriesValue::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1127]); } const IfcParse::entity& Ifc4x2::IfcTimeSeriesValue::Class() { return *((IfcParse::entity*)IFC4X2_types[1127]); } Ifc4x2::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x2::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_ListValues)->generalize());; populate_derived(); } +Ifc4x2::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x2::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_ListValues)->generalize());; populate_derived(); } // Function implementations for IfcTopologicalRepresentationItem @@ -16044,7 +16044,7 @@ Ifc4x2::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x2::IfcValue const IfcParse::entity& Ifc4x2::IfcTopologicalRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1129]); } const IfcParse::entity& Ifc4x2::IfcTopologicalRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X2_types[1129]); } Ifc4x2::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x2::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x2::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcTopologyRepresentation @@ -16052,162 +16052,162 @@ Ifc4x2::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() : I const IfcParse::entity& Ifc4x2::IfcTopologyRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1130]); } const IfcParse::entity& Ifc4x2::IfcTopologyRepresentation::Class() { return *((IfcParse::entity*)IFC4X2_types[1130]); } Ifc4x2::IfcTopologyRepresentation::IfcTopologyRepresentation(IfcEntityInstanceData&& e) : IfcShapeModel(std::move(e)) { } -Ifc4x2::IfcTopologyRepresentation::IfcTopologyRepresentation(::Ifc4x2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x2::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x2::IfcTopologyRepresentation::IfcTopologyRepresentation(::Ifc4x2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x2::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcToroidalSurface -double Ifc4x2::IfcToroidalSurface::MajorRadius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x2::IfcToroidalSurface::MajorRadius() const { double v = get_attribute_value(1); return v; } void Ifc4x2::IfcToroidalSurface::setMajorRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x2::IfcToroidalSurface::MinorRadius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x2::IfcToroidalSurface::MinorRadius() const { double v = get_attribute_value(2); return v; } void Ifc4x2::IfcToroidalSurface::setMinorRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x2::IfcToroidalSurface::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1131]); } const IfcParse::entity& Ifc4x2::IfcToroidalSurface::Class() { return *((IfcParse::entity*)IFC4X2_types[1131]); } Ifc4x2::IfcToroidalSurface::IfcToroidalSurface(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x2::IfcToroidalSurface::IfcToroidalSurface(::Ifc4x2::IfcAxis2Placement3D* v1_Position, double v2_MajorRadius, double v3_MinorRadius) : IfcElementarySurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius));; populate_derived(); } +Ifc4x2::IfcToroidalSurface::IfcToroidalSurface(::Ifc4x2::IfcAxis2Placement3D* v1_Position, double v2_MajorRadius, double v3_MinorRadius) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius));; populate_derived(); } // Function implementations for IfcTransformer -boost::optional< ::Ifc4x2::IfcTransformerTypeEnum::Value > Ifc4x2::IfcTransformer::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcTransformerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcTransformerTypeEnum::Value > Ifc4x2::IfcTransformer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcTransformerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcTransformer::setPredefinedType(boost::optional< ::Ifc4x2::IfcTransformerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcTransformerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcTransformer::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1133]); } const IfcParse::entity& Ifc4x2::IfcTransformer::Class() { return *((IfcParse::entity*)IFC4X2_types[1133]); } Ifc4x2::IfcTransformer::IfcTransformer(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x2::IfcTransformer::IfcTransformer(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcTransformerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcTransformer::IfcTransformer(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcTransformerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTransformerType -::Ifc4x2::IfcTransformerTypeEnum::Value Ifc4x2::IfcTransformerType::PredefinedType() const { return ::Ifc4x2::IfcTransformerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcTransformerTypeEnum::Value Ifc4x2::IfcTransformerType::PredefinedType() const { return ::Ifc4x2::IfcTransformerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcTransformerType::setPredefinedType(::Ifc4x2::IfcTransformerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcTransformerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcTransformerType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1134]); } const IfcParse::entity& Ifc4x2::IfcTransformerType::Class() { return *((IfcParse::entity*)IFC4X2_types[1134]); } Ifc4x2::IfcTransformerType::IfcTransformerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x2::IfcTransformerType::IfcTransformerType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTransformerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcTransformerType::IfcTransformerType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTransformerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTransitionCurveSegment2D -boost::optional< double > Ifc4x2::IfcTransitionCurveSegment2D::StartRadius() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x2::IfcTransitionCurveSegment2D::StartRadius() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x2::IfcTransitionCurveSegment2D::setStartRadius(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x2::IfcTransitionCurveSegment2D::EndRadius() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x2::IfcTransitionCurveSegment2D::EndRadius() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x2::IfcTransitionCurveSegment2D::setEndRadius(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -bool Ifc4x2::IfcTransitionCurveSegment2D::IsStartRadiusCCW() const { bool v = data_.get_attribute_value(5); return v; } +bool Ifc4x2::IfcTransitionCurveSegment2D::IsStartRadiusCCW() const { bool v = get_attribute_value(5); return v; } void Ifc4x2::IfcTransitionCurveSegment2D::setIsStartRadiusCCW(bool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -bool Ifc4x2::IfcTransitionCurveSegment2D::IsEndRadiusCCW() const { bool v = data_.get_attribute_value(6); return v; } +bool Ifc4x2::IfcTransitionCurveSegment2D::IsEndRadiusCCW() const { bool v = get_attribute_value(6); return v; } void Ifc4x2::IfcTransitionCurveSegment2D::setIsEndRadiusCCW(bool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x2::IfcTransitionCurveType::Value Ifc4x2::IfcTransitionCurveSegment2D::TransitionCurveType() const { return ::Ifc4x2::IfcTransitionCurveType::FromString(data_.get_attribute_value(7)); } +::Ifc4x2::IfcTransitionCurveType::Value Ifc4x2::IfcTransitionCurveSegment2D::TransitionCurveType() const { return ::Ifc4x2::IfcTransitionCurveType::FromString(get_attribute_value(7)); } void Ifc4x2::IfcTransitionCurveSegment2D::setTransitionCurveType(::Ifc4x2::IfcTransitionCurveType::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x2::IfcTransitionCurveType::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x2::IfcTransitionCurveSegment2D::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1137]); } const IfcParse::entity& Ifc4x2::IfcTransitionCurveSegment2D::Class() { return *((IfcParse::entity*)IFC4X2_types[1137]); } Ifc4x2::IfcTransitionCurveSegment2D::IfcTransitionCurveSegment2D(IfcEntityInstanceData&& e) : IfcCurveSegment2D(std::move(e)) { } -Ifc4x2::IfcTransitionCurveSegment2D::IfcTransitionCurveSegment2D(::Ifc4x2::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, boost::optional< double > v4_StartRadius, boost::optional< double > v5_EndRadius, bool v6_IsStartRadiusCCW, bool v7_IsEndRadiusCCW, ::Ifc4x2::IfcTransitionCurveType::Value v8_TransitionCurveType) : IfcCurveSegment2D(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, v1_StartPoint ? v1_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength)); if (v4_StartRadius) {set_attribute_value(3, (*v4_StartRadius)); } if (v5_EndRadius) {set_attribute_value(4, (*v5_EndRadius)); }set_attribute_value(5, (v6_IsStartRadiusCCW));set_attribute_value(6, (v7_IsEndRadiusCCW));set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcTransitionCurveType::Class(),(size_t)v8_TransitionCurveType)));; populate_derived(); } +Ifc4x2::IfcTransitionCurveSegment2D::IfcTransitionCurveSegment2D(::Ifc4x2::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, boost::optional< double > v4_StartRadius, boost::optional< double > v5_EndRadius, bool v6_IsStartRadiusCCW, bool v7_IsEndRadiusCCW, ::Ifc4x2::IfcTransitionCurveType::Value v8_TransitionCurveType) : IfcCurveSegment2D(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, v1_StartPoint ? v1_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength)); if (v4_StartRadius) {set_attribute_value(3, (*v4_StartRadius)); } if (v5_EndRadius) {set_attribute_value(4, (*v5_EndRadius)); }set_attribute_value(5, (v6_IsStartRadiusCCW));set_attribute_value(6, (v7_IsEndRadiusCCW));set_attribute_value(7, (EnumerationReference(&::Ifc4x2::IfcTransitionCurveType::Class(),(size_t)v8_TransitionCurveType)));; populate_derived(); } // Function implementations for IfcTransportElement -boost::optional< ::Ifc4x2::IfcTransportElementTypeEnum::Value > Ifc4x2::IfcTransportElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcTransportElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcTransportElementTypeEnum::Value > Ifc4x2::IfcTransportElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcTransportElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcTransportElement::setPredefinedType(boost::optional< ::Ifc4x2::IfcTransportElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcTransportElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcTransportElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1140]); } const IfcParse::entity& Ifc4x2::IfcTransportElement::Class() { return *((IfcParse::entity*)IFC4X2_types[1140]); } Ifc4x2::IfcTransportElement::IfcTransportElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x2::IfcTransportElement::IfcTransportElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcTransportElementTypeEnum::Value > v9_PredefinedType) : IfcElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcTransportElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcTransportElement::IfcTransportElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcTransportElementTypeEnum::Value > v9_PredefinedType) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcTransportElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTransportElementType -::Ifc4x2::IfcTransportElementTypeEnum::Value Ifc4x2::IfcTransportElementType::PredefinedType() const { return ::Ifc4x2::IfcTransportElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcTransportElementTypeEnum::Value Ifc4x2::IfcTransportElementType::PredefinedType() const { return ::Ifc4x2::IfcTransportElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcTransportElementType::setPredefinedType(::Ifc4x2::IfcTransportElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcTransportElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcTransportElementType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1141]); } const IfcParse::entity& Ifc4x2::IfcTransportElementType::Class() { return *((IfcParse::entity*)IFC4X2_types[1141]); } Ifc4x2::IfcTransportElementType::IfcTransportElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x2::IfcTransportElementType::IfcTransportElementType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTransportElementTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcTransportElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcTransportElementType::IfcTransportElementType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTransportElementTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcTransportElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTrapeziumProfileDef -double Ifc4x2::IfcTrapeziumProfileDef::BottomXDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x2::IfcTrapeziumProfileDef::BottomXDim() const { double v = get_attribute_value(3); return v; } void Ifc4x2::IfcTrapeziumProfileDef::setBottomXDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x2::IfcTrapeziumProfileDef::TopXDim() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x2::IfcTrapeziumProfileDef::TopXDim() const { double v = get_attribute_value(4); return v; } void Ifc4x2::IfcTrapeziumProfileDef::setTopXDim(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x2::IfcTrapeziumProfileDef::YDim() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x2::IfcTrapeziumProfileDef::YDim() const { double v = get_attribute_value(5); return v; } void Ifc4x2::IfcTrapeziumProfileDef::setYDim(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x2::IfcTrapeziumProfileDef::TopXOffset() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x2::IfcTrapeziumProfileDef::TopXOffset() const { double v = get_attribute_value(6); return v; } void Ifc4x2::IfcTrapeziumProfileDef::setTopXOffset(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x2::IfcTrapeziumProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1143]); } const IfcParse::entity& Ifc4x2::IfcTrapeziumProfileDef::Class() { return *((IfcParse::entity*)IFC4X2_types[1143]); } Ifc4x2::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x2::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D* v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; populate_derived(); } +Ifc4x2::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::IfcAxis2Placement2D* v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; populate_derived(); } // Function implementations for IfcTriangulatedFaceSet -boost::optional< std::vector< std::vector< double > > > Ifc4x2::IfcTriangulatedFaceSet::Normals() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::vector< double > > v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< std::vector< double > > > Ifc4x2::IfcTriangulatedFaceSet::Normals() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::vector< double > > v = get_attribute_value(1); return v; } void Ifc4x2::IfcTriangulatedFaceSet::setNormals(boost::optional< std::vector< std::vector< double > > > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< bool > Ifc4x2::IfcTriangulatedFaceSet::Closed() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } bool v = data_.get_attribute_value(2); return v; } +boost::optional< bool > Ifc4x2::IfcTriangulatedFaceSet::Closed() const { if(get_attribute_value(2).isNull()) { return boost::none; } bool v = get_attribute_value(2); return v; } void Ifc4x2::IfcTriangulatedFaceSet::setClosed(boost::optional< bool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector< std::vector< int > > Ifc4x2::IfcTriangulatedFaceSet::CoordIndex() const { std::vector< std::vector< int > > v = data_.get_attribute_value(3); return v; } +std::vector< std::vector< int > > Ifc4x2::IfcTriangulatedFaceSet::CoordIndex() const { std::vector< std::vector< int > > v = get_attribute_value(3); return v; } void Ifc4x2::IfcTriangulatedFaceSet::setCoordIndex(std::vector< std::vector< int > > v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x2::IfcTriangulatedFaceSet::PnIndex() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x2::IfcTriangulatedFaceSet::PnIndex() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x2::IfcTriangulatedFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x2::IfcTriangulatedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1144]); } const IfcParse::entity& Ifc4x2::IfcTriangulatedFaceSet::Class() { return *((IfcParse::entity*)IFC4X2_types[1144]); } Ifc4x2::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(IfcEntityInstanceData&& e) : IfcTessellatedFaceSet(std::move(e)) { } -Ifc4x2::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(::Ifc4x2::IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) : IfcTessellatedFaceSet(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }; populate_derived(); } +Ifc4x2::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(::Ifc4x2::IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) : IfcTessellatedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }; populate_derived(); } // Function implementations for IfcTriangulatedIrregularNetwork -std::vector< int > /*[1:?]*/ Ifc4x2::IfcTriangulatedIrregularNetwork::Flags() const { std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(5); return v; } +std::vector< int > /*[1:?]*/ Ifc4x2::IfcTriangulatedIrregularNetwork::Flags() const { std::vector< int > /*[1:?]*/ v = get_attribute_value(5); return v; } void Ifc4x2::IfcTriangulatedIrregularNetwork::setFlags(std::vector< int > /*[1:?]*/ v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x2::IfcTriangulatedIrregularNetwork::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1145]); } const IfcParse::entity& Ifc4x2::IfcTriangulatedIrregularNetwork::Class() { return *((IfcParse::entity*)IFC4X2_types[1145]); } Ifc4x2::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(IfcEntityInstanceData&& e) : IfcTriangulatedFaceSet(std::move(e)) { } -Ifc4x2::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::Ifc4x2::IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) : IfcTriangulatedFaceSet(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags));; populate_derived(); } +Ifc4x2::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::Ifc4x2::IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) : IfcTriangulatedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags));; populate_derived(); } // Function implementations for IfcTrimmedCurve -::Ifc4x2::IfcCurve* Ifc4x2::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcCurve>(true); } +::Ifc4x2::IfcCurve* Ifc4x2::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcCurve>(true); } void Ifc4x2::IfcTrimmedCurve::setBasisCurve(::Ifc4x2::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr Ifc4x2::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x2::IfcTrimmingSelect >(); } +aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr Ifc4x2::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x2::IfcTrimmingSelect >(); } void Ifc4x2::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr Ifc4x2::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x2::IfcTrimmingSelect >(); } +aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr Ifc4x2::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x2::IfcTrimmingSelect >(); } void Ifc4x2::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x2::IfcTrimmedCurve::SenseAgreement() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x2::IfcTrimmedCurve::SenseAgreement() const { bool v = get_attribute_value(3); return v; } void Ifc4x2::IfcTrimmedCurve::setSenseAgreement(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x2::IfcTrimmingPreference::Value Ifc4x2::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x2::IfcTrimmingPreference::FromString(data_.get_attribute_value(4)); } +::Ifc4x2::IfcTrimmingPreference::Value Ifc4x2::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x2::IfcTrimmingPreference::FromString(get_attribute_value(4)); } void Ifc4x2::IfcTrimmedCurve::setMasterRepresentation(::Ifc4x2::IfcTrimmingPreference::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x2::IfcTrimmingPreference::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x2::IfcTrimmedCurve::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1146]); } const IfcParse::entity& Ifc4x2::IfcTrimmedCurve::Class() { return *((IfcParse::entity*)IFC4X2_types[1146]); } Ifc4x2::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x2::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x2::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x2::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Trim1)->generalize());set_attribute_value(2, (v3_Trim2)->generalize());set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (EnumerationReference(&::Ifc4x2::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; populate_derived(); } +Ifc4x2::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x2::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x2::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x2::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Trim1)->generalize());set_attribute_value(2, (v3_Trim2)->generalize());set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (EnumerationReference(&::Ifc4x2::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcTubeBundle -boost::optional< ::Ifc4x2::IfcTubeBundleTypeEnum::Value > Ifc4x2::IfcTubeBundle::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcTubeBundleTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcTubeBundleTypeEnum::Value > Ifc4x2::IfcTubeBundle::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcTubeBundleTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcTubeBundle::setPredefinedType(boost::optional< ::Ifc4x2::IfcTubeBundleTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcTubeBundleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcTubeBundle::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1150]); } const IfcParse::entity& Ifc4x2::IfcTubeBundle::Class() { return *((IfcParse::entity*)IFC4X2_types[1150]); } Ifc4x2::IfcTubeBundle::IfcTubeBundle(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x2::IfcTubeBundle::IfcTubeBundle(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcTubeBundle::IfcTubeBundle(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTubeBundleType -::Ifc4x2::IfcTubeBundleTypeEnum::Value Ifc4x2::IfcTubeBundleType::PredefinedType() const { return ::Ifc4x2::IfcTubeBundleTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcTubeBundleTypeEnum::Value Ifc4x2::IfcTubeBundleType::PredefinedType() const { return ::Ifc4x2::IfcTubeBundleTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcTubeBundleType::setPredefinedType(::Ifc4x2::IfcTubeBundleTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcTubeBundleTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcTubeBundleType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1151]); } const IfcParse::entity& Ifc4x2::IfcTubeBundleType::Class() { return *((IfcParse::entity*)IFC4X2_types[1151]); } Ifc4x2::IfcTubeBundleType::IfcTubeBundleType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x2::IfcTubeBundleType::IfcTubeBundleType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTubeBundleTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcTubeBundleType::IfcTubeBundleType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcTubeBundleTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTypeObject -boost::optional< std::string > Ifc4x2::IfcTypeObject::ApplicableOccurrence() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x2::IfcTypeObject::ApplicableOccurrence() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcTypeObject::setApplicableOccurrence(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > Ifc4x2::IfcTypeObject::HasPropertySets() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x2::IfcPropertySetDefinition >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > Ifc4x2::IfcTypeObject::HasPropertySets() const { if(get_attribute_value(5).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x2::IfcPropertySetDefinition >(); } void Ifc4x2::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v) { if (v) {set_attribute_value(5, (*v)->generalize());} else {unset_attribute_value(5);} } ::Ifc4x2::IfcRelDefinesByType::list::ptr Ifc4x2::IfcTypeObject::Types() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[870], 5)->as(); } @@ -16215,14 +16215,14 @@ void Ifc4x2::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of< :: const IfcParse::entity& Ifc4x2::IfcTypeObject::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1153]); } const IfcParse::entity& Ifc4x2::IfcTypeObject::Class() { return *((IfcParse::entity*)IFC4X2_types[1153]); } Ifc4x2::IfcTypeObject::IfcTypeObject(IfcEntityInstanceData&& e) : IfcObjectDefinition(std::move(e)) { } -Ifc4x2::IfcTypeObject::IfcTypeObject(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets) : IfcObjectDefinition(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); }; populate_derived(); } +Ifc4x2::IfcTypeObject::IfcTypeObject(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets) : IfcObjectDefinition(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); }; populate_derived(); } // Function implementations for IfcTypeProcess -boost::optional< std::string > Ifc4x2::IfcTypeProcess::Identification() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x2::IfcTypeProcess::Identification() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x2::IfcTypeProcess::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x2::IfcTypeProcess::LongDescription() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x2::IfcTypeProcess::LongDescription() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x2::IfcTypeProcess::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x2::IfcTypeProcess::ProcessType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x2::IfcTypeProcess::ProcessType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x2::IfcTypeProcess::setProcessType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } ::Ifc4x2::IfcRelAssignsToProcess::list::ptr Ifc4x2::IfcTypeProcess::OperatesOn() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[841], 6)->as(); } @@ -16230,12 +16230,12 @@ void Ifc4x2::IfcTypeProcess::setProcessType(boost::optional< std::string > v) { const IfcParse::entity& Ifc4x2::IfcTypeProcess::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1154]); } const IfcParse::entity& Ifc4x2::IfcTypeProcess::Class() { return *((IfcParse::entity*)IFC4X2_types[1154]); } Ifc4x2::IfcTypeProcess::IfcTypeProcess(IfcEntityInstanceData&& e) : IfcTypeObject(std::move(e)) { } -Ifc4x2::IfcTypeProcess::IfcTypeProcess(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType) : IfcTypeObject(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }; populate_derived(); } +Ifc4x2::IfcTypeProcess::IfcTypeProcess(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType) : IfcTypeObject(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }; populate_derived(); } // Function implementations for IfcTypeProduct -boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > Ifc4x2::IfcTypeProduct::RepresentationMaps() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x2::IfcRepresentationMap >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > Ifc4x2::IfcTypeProduct::RepresentationMaps() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x2::IfcRepresentationMap >(); } void Ifc4x2::IfcTypeProduct::setRepresentationMaps(boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x2::IfcTypeProduct::Tag() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x2::IfcTypeProduct::Tag() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x2::IfcTypeProduct::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } ::Ifc4x2::IfcRelAssignsToProduct::list::ptr Ifc4x2::IfcTypeProduct::ReferencedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[842], 6)->as(); } @@ -16243,14 +16243,14 @@ void Ifc4x2::IfcTypeProduct::setTag(boost::optional< std::string > v) { if (v) { const IfcParse::entity& Ifc4x2::IfcTypeProduct::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1155]); } const IfcParse::entity& Ifc4x2::IfcTypeProduct::Class() { return *((IfcParse::entity*)IFC4X2_types[1155]); } Ifc4x2::IfcTypeProduct::IfcTypeProduct(IfcEntityInstanceData&& e) : IfcTypeObject(std::move(e)) { } -Ifc4x2::IfcTypeProduct::IfcTypeProduct(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag) : IfcTypeObject(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x2::IfcTypeProduct::IfcTypeProduct(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag) : IfcTypeObject(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcTypeResource -boost::optional< std::string > Ifc4x2::IfcTypeResource::Identification() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x2::IfcTypeResource::Identification() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x2::IfcTypeResource::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x2::IfcTypeResource::LongDescription() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x2::IfcTypeResource::LongDescription() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x2::IfcTypeResource::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x2::IfcTypeResource::ResourceType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x2::IfcTypeResource::ResourceType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x2::IfcTypeResource::setResourceType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } ::Ifc4x2::IfcRelAssignsToResource::list::ptr Ifc4x2::IfcTypeResource::ResourceOf() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X2_types[843], 6)->as(); } @@ -16258,111 +16258,111 @@ void Ifc4x2::IfcTypeResource::setResourceType(boost::optional< std::string > v) const IfcParse::entity& Ifc4x2::IfcTypeResource::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1156]); } const IfcParse::entity& Ifc4x2::IfcTypeResource::Class() { return *((IfcParse::entity*)IFC4X2_types[1156]); } Ifc4x2::IfcTypeResource::IfcTypeResource(IfcEntityInstanceData&& e) : IfcTypeObject(std::move(e)) { } -Ifc4x2::IfcTypeResource::IfcTypeResource(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType) : IfcTypeObject(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); }; populate_derived(); } +Ifc4x2::IfcTypeResource::IfcTypeResource(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType) : IfcTypeObject(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); }; populate_derived(); } // Function implementations for IfcUShapeProfileDef -double Ifc4x2::IfcUShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x2::IfcUShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x2::IfcUShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x2::IfcUShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x2::IfcUShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc4x2::IfcUShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x2::IfcUShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x2::IfcUShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x2::IfcUShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x2::IfcUShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x2::IfcUShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x2::IfcUShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x2::IfcUShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x2::IfcUShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x2::IfcUShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x2::IfcUShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x2::IfcUShapeProfileDef::EdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x2::IfcUShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x2::IfcUShapeProfileDef::FlangeSlope() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x2::IfcUShapeProfileDef::FlangeSlope() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x2::IfcUShapeProfileDef::setFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x2::IfcUShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1167]); } const IfcParse::entity& Ifc4x2::IfcUShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X2_types[1167]); } Ifc4x2::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x2::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::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(storage_t(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } +Ifc4x2::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::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(in_memory_attribute_storage(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } // Function implementations for IfcUnitAssignment -aggregate_of< ::Ifc4x2::IfcUnit >::ptr Ifc4x2::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x2::IfcUnit >(); } +aggregate_of< ::Ifc4x2::IfcUnit >::ptr Ifc4x2::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x2::IfcUnit >(); } void Ifc4x2::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x2::IfcUnit >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x2::IfcUnitAssignment::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1164]); } const IfcParse::entity& Ifc4x2::IfcUnitAssignment::Class() { return *((IfcParse::entity*)IFC4X2_types[1164]); } Ifc4x2::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x2::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Units)->generalize());; populate_derived(); } +Ifc4x2::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x2::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Units)->generalize());; populate_derived(); } // Function implementations for IfcUnitaryControlElement -boost::optional< ::Ifc4x2::IfcUnitaryControlElementTypeEnum::Value > Ifc4x2::IfcUnitaryControlElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcUnitaryControlElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcUnitaryControlElementTypeEnum::Value > Ifc4x2::IfcUnitaryControlElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcUnitaryControlElement::setPredefinedType(boost::optional< ::Ifc4x2::IfcUnitaryControlElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcUnitaryControlElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcUnitaryControlElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1158]); } const IfcParse::entity& Ifc4x2::IfcUnitaryControlElement::Class() { return *((IfcParse::entity*)IFC4X2_types[1158]); } Ifc4x2::IfcUnitaryControlElement::IfcUnitaryControlElement(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x2::IfcUnitaryControlElement::IfcUnitaryControlElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcUnitaryControlElement::IfcUnitaryControlElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcUnitaryControlElementType -::Ifc4x2::IfcUnitaryControlElementTypeEnum::Value Ifc4x2::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4x2::IfcUnitaryControlElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcUnitaryControlElementTypeEnum::Value Ifc4x2::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4x2::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcUnitaryControlElementType::setPredefinedType(::Ifc4x2::IfcUnitaryControlElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcUnitaryControlElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcUnitaryControlElementType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1159]); } const IfcParse::entity& Ifc4x2::IfcUnitaryControlElementType::Class() { return *((IfcParse::entity*)IFC4X2_types[1159]); } Ifc4x2::IfcUnitaryControlElementType::IfcUnitaryControlElementType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x2::IfcUnitaryControlElementType::IfcUnitaryControlElementType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcUnitaryControlElementType::IfcUnitaryControlElementType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcUnitaryEquipment -boost::optional< ::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x2::IfcUnitaryEquipment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcUnitaryEquipmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x2::IfcUnitaryEquipment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcUnitaryEquipment::setPredefinedType(boost::optional< ::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcUnitaryEquipment::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1161]); } const IfcParse::entity& Ifc4x2::IfcUnitaryEquipment::Class() { return *((IfcParse::entity*)IFC4X2_types[1161]); } Ifc4x2::IfcUnitaryEquipment::IfcUnitaryEquipment(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x2::IfcUnitaryEquipment::IfcUnitaryEquipment(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcUnitaryEquipment::IfcUnitaryEquipment(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcUnitaryEquipmentType -::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value Ifc4x2::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4x2::IfcUnitaryEquipmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value Ifc4x2::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4x2::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcUnitaryEquipmentType::setPredefinedType(::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcUnitaryEquipmentType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1162]); } const IfcParse::entity& Ifc4x2::IfcUnitaryEquipmentType::Class() { return *((IfcParse::entity*)IFC4X2_types[1162]); } Ifc4x2::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x2::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcValve -boost::optional< ::Ifc4x2::IfcValveTypeEnum::Value > Ifc4x2::IfcValve::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcValveTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcValveTypeEnum::Value > Ifc4x2::IfcValve::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcValveTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcValve::setPredefinedType(boost::optional< ::Ifc4x2::IfcValveTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcValveTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcValve::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1169]); } const IfcParse::entity& Ifc4x2::IfcValve::Class() { return *((IfcParse::entity*)IFC4X2_types[1169]); } Ifc4x2::IfcValve::IfcValve(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x2::IfcValve::IfcValve(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcValveTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcValve::IfcValve(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcValveTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcValveType -::Ifc4x2::IfcValveTypeEnum::Value Ifc4x2::IfcValveType::PredefinedType() const { return ::Ifc4x2::IfcValveTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcValveTypeEnum::Value Ifc4x2::IfcValveType::PredefinedType() const { return ::Ifc4x2::IfcValveTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcValveType::setPredefinedType(::Ifc4x2::IfcValveTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcValveTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcValveType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1170]); } const IfcParse::entity& Ifc4x2::IfcValveType::Class() { return *((IfcParse::entity*)IFC4X2_types[1170]); } Ifc4x2::IfcValveType::IfcValveType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x2::IfcValveType::IfcValveType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcValveTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcValveType::IfcValveType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcValveTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcVector -::Ifc4x2::IfcDirection* Ifc4x2::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcDirection>(true); } +::Ifc4x2::IfcDirection* Ifc4x2::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcDirection>(true); } void Ifc4x2::IfcVector::setOrientation(::Ifc4x2::IfcDirection* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x2::IfcVector::Magnitude() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x2::IfcVector::Magnitude() const { double v = get_attribute_value(1); return v; } void Ifc4x2::IfcVector::setMagnitude(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcVector::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1173]); } const IfcParse::entity& Ifc4x2::IfcVector::Class() { return *((IfcParse::entity*)IFC4X2_types[1173]); } Ifc4x2::IfcVector::IfcVector(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x2::IfcVector::IfcVector(::Ifc4x2::IfcDirection* v1_Orientation, double v2_Magnitude) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Orientation ? v1_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Magnitude));; populate_derived(); } +Ifc4x2::IfcVector::IfcVector(::Ifc4x2::IfcDirection* v1_Orientation, double v2_Magnitude) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Orientation ? v1_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Magnitude));; populate_derived(); } // Function implementations for IfcVertex @@ -16370,67 +16370,67 @@ Ifc4x2::IfcVector::IfcVector(::Ifc4x2::IfcDirection* v1_Orientation, double v2_M const IfcParse::entity& Ifc4x2::IfcVertex::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1175]); } const IfcParse::entity& Ifc4x2::IfcVertex::Class() { return *((IfcParse::entity*)IFC4X2_types[1175]); } Ifc4x2::IfcVertex::IfcVertex(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x2::IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x2::IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcVertexLoop -::Ifc4x2::IfcVertex* Ifc4x2::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcVertex>(true); } +::Ifc4x2::IfcVertex* Ifc4x2::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcVertex>(true); } void Ifc4x2::IfcVertexLoop::setLoopVertex(::Ifc4x2::IfcVertex* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x2::IfcVertexLoop::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1176]); } const IfcParse::entity& Ifc4x2::IfcVertexLoop::Class() { return *((IfcParse::entity*)IFC4X2_types[1176]); } Ifc4x2::IfcVertexLoop::IfcVertexLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc4x2::IfcVertexLoop::IfcVertexLoop(::Ifc4x2::IfcVertex* v1_LoopVertex) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_LoopVertex ? v1_LoopVertex->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcVertexLoop::IfcVertexLoop(::Ifc4x2::IfcVertex* v1_LoopVertex) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_LoopVertex ? v1_LoopVertex->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcVertexPoint -::Ifc4x2::IfcPoint* Ifc4x2::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x2::IfcPoint>(true); } +::Ifc4x2::IfcPoint* Ifc4x2::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x2::IfcPoint>(true); } void Ifc4x2::IfcVertexPoint::setVertexGeometry(::Ifc4x2::IfcPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x2::IfcVertexPoint::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1177]); } const IfcParse::entity& Ifc4x2::IfcVertexPoint::Class() { return *((IfcParse::entity*)IFC4X2_types[1177]); } Ifc4x2::IfcVertexPoint::IfcVertexPoint(IfcEntityInstanceData&& e) : IfcVertex(std::move(e)) { } -Ifc4x2::IfcVertexPoint::IfcVertexPoint(::Ifc4x2::IfcPoint* v1_VertexGeometry) : IfcVertex(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_VertexGeometry ? v1_VertexGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcVertexPoint::IfcVertexPoint(::Ifc4x2::IfcPoint* v1_VertexGeometry) : IfcVertex(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_VertexGeometry ? v1_VertexGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcVibrationDamper -boost::optional< ::Ifc4x2::IfcVibrationDamperTypeEnum::Value > Ifc4x2::IfcVibrationDamper::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcVibrationDamperTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcVibrationDamperTypeEnum::Value > Ifc4x2::IfcVibrationDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcVibrationDamperTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcVibrationDamper::setPredefinedType(boost::optional< ::Ifc4x2::IfcVibrationDamperTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcVibrationDamperTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcVibrationDamper::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1178]); } const IfcParse::entity& Ifc4x2::IfcVibrationDamper::Class() { return *((IfcParse::entity*)IFC4X2_types[1178]); } Ifc4x2::IfcVibrationDamper::IfcVibrationDamper(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x2::IfcVibrationDamper::IfcVibrationDamper(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcVibrationDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcVibrationDamper::IfcVibrationDamper(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcVibrationDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcVibrationDamperType -boost::optional< ::Ifc4x2::IfcVibrationDamperTypeEnum::Value > Ifc4x2::IfcVibrationDamperType::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x2::IfcVibrationDamperTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x2::IfcVibrationDamperTypeEnum::Value > Ifc4x2::IfcVibrationDamperType::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x2::IfcVibrationDamperTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcVibrationDamperType::setPredefinedType(boost::optional< ::Ifc4x2::IfcVibrationDamperTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcVibrationDamperTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x2::IfcVibrationDamperType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1179]); } const IfcParse::entity& Ifc4x2::IfcVibrationDamperType::Class() { return *((IfcParse::entity*)IFC4X2_types[1179]); } Ifc4x2::IfcVibrationDamperType::IfcVibrationDamperType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x2::IfcVibrationDamperType::IfcVibrationDamperType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< ::Ifc4x2::IfcVibrationDamperTypeEnum::Value > v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcVibrationDamperTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcVibrationDamperType::IfcVibrationDamperType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< ::Ifc4x2::IfcVibrationDamperTypeEnum::Value > v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcVibrationDamperTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcVibrationIsolator -boost::optional< ::Ifc4x2::IfcVibrationIsolatorTypeEnum::Value > Ifc4x2::IfcVibrationIsolator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcVibrationIsolatorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcVibrationIsolatorTypeEnum::Value > Ifc4x2::IfcVibrationIsolator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcVibrationIsolator::setPredefinedType(boost::optional< ::Ifc4x2::IfcVibrationIsolatorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcVibrationIsolatorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcVibrationIsolator::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1181]); } const IfcParse::entity& Ifc4x2::IfcVibrationIsolator::Class() { return *((IfcParse::entity*)IFC4X2_types[1181]); } Ifc4x2::IfcVibrationIsolator::IfcVibrationIsolator(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x2::IfcVibrationIsolator::IfcVibrationIsolator(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcVibrationIsolator::IfcVibrationIsolator(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcVibrationIsolatorType -::Ifc4x2::IfcVibrationIsolatorTypeEnum::Value Ifc4x2::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4x2::IfcVibrationIsolatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcVibrationIsolatorTypeEnum::Value Ifc4x2::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4x2::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcVibrationIsolatorType::setPredefinedType(::Ifc4x2::IfcVibrationIsolatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcVibrationIsolatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcVibrationIsolatorType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1182]); } const IfcParse::entity& Ifc4x2::IfcVibrationIsolatorType::Class() { return *((IfcParse::entity*)IFC4X2_types[1182]); } Ifc4x2::IfcVibrationIsolatorType::IfcVibrationIsolatorType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x2::IfcVibrationIsolatorType::IfcVibrationIsolatorType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcVibrationIsolatorType::IfcVibrationIsolatorType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcVirtualElement @@ -16438,39 +16438,39 @@ Ifc4x2::IfcVibrationIsolatorType::IfcVibrationIsolatorType(std::string v1_Global const IfcParse::entity& Ifc4x2::IfcVirtualElement::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1184]); } const IfcParse::entity& Ifc4x2::IfcVirtualElement::Class() { return *((IfcParse::entity*)IFC4X2_types[1184]); } Ifc4x2::IfcVirtualElement::IfcVirtualElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x2::IfcVirtualElement::IfcVirtualElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x2::IfcVirtualElement::IfcVirtualElement(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcVirtualGridIntersection -aggregate_of< ::Ifc4x2::IfcGridAxis >::ptr Ifc4x2::IfcVirtualGridIntersection::IntersectingAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x2::IfcGridAxis >(); } +aggregate_of< ::Ifc4x2::IfcGridAxis >::ptr Ifc4x2::IfcVirtualGridIntersection::IntersectingAxes() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x2::IfcGridAxis >(); } void Ifc4x2::IfcVirtualGridIntersection::setIntersectingAxes(aggregate_of< ::Ifc4x2::IfcGridAxis >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -std::vector< double > /*[2:3]*/ Ifc4x2::IfcVirtualGridIntersection::OffsetDistances() const { std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(1); return v; } +std::vector< double > /*[2:3]*/ Ifc4x2::IfcVirtualGridIntersection::OffsetDistances() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } void Ifc4x2::IfcVirtualGridIntersection::setOffsetDistances(std::vector< double > /*[2:3]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x2::IfcVirtualGridIntersection::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1185]); } const IfcParse::entity& Ifc4x2::IfcVirtualGridIntersection::Class() { return *((IfcParse::entity*)IFC4X2_types[1185]); } Ifc4x2::IfcVirtualGridIntersection::IfcVirtualGridIntersection(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x2::IfcVirtualGridIntersection::IfcVirtualGridIntersection(aggregate_of< ::Ifc4x2::IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_IntersectingAxes)->generalize());set_attribute_value(1, (v2_OffsetDistances));; populate_derived(); } +Ifc4x2::IfcVirtualGridIntersection::IfcVirtualGridIntersection(aggregate_of< ::Ifc4x2::IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_IntersectingAxes)->generalize());set_attribute_value(1, (v2_OffsetDistances));; populate_derived(); } // Function implementations for IfcVoidingFeature -boost::optional< ::Ifc4x2::IfcVoidingFeatureTypeEnum::Value > Ifc4x2::IfcVoidingFeature::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcVoidingFeatureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcVoidingFeatureTypeEnum::Value > Ifc4x2::IfcVoidingFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcVoidingFeatureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcVoidingFeature::setPredefinedType(boost::optional< ::Ifc4x2::IfcVoidingFeatureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcVoidingFeatureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcVoidingFeature::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1186]); } const IfcParse::entity& Ifc4x2::IfcVoidingFeature::Class() { return *((IfcParse::entity*)IFC4X2_types[1186]); } Ifc4x2::IfcVoidingFeature::IfcVoidingFeature(IfcEntityInstanceData&& e) : IfcFeatureElementSubtraction(std::move(e)) { } -Ifc4x2::IfcVoidingFeature::IfcVoidingFeature(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcVoidingFeature::IfcVoidingFeature(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWall -boost::optional< ::Ifc4x2::IfcWallTypeEnum::Value > Ifc4x2::IfcWall::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcWallTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcWallTypeEnum::Value > Ifc4x2::IfcWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcWallTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcWall::setPredefinedType(boost::optional< ::Ifc4x2::IfcWallTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcWallTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcWall::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1190]); } const IfcParse::entity& Ifc4x2::IfcWall::Class() { return *((IfcParse::entity*)IFC4X2_types[1190]); } Ifc4x2::IfcWall::IfcWall(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x2::IfcWall::IfcWall(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcWall::IfcWall(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWallElementedCase @@ -16478,7 +16478,7 @@ Ifc4x2::IfcWall::IfcWall(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_ const IfcParse::entity& Ifc4x2::IfcWallElementedCase::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1191]); } const IfcParse::entity& Ifc4x2::IfcWallElementedCase::Class() { return *((IfcParse::entity*)IFC4X2_types[1191]); } Ifc4x2::IfcWallElementedCase::IfcWallElementedCase(IfcEntityInstanceData&& e) : IfcWall(std::move(e)) { } -Ifc4x2::IfcWallElementedCase::IfcWallElementedCase(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcWall(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcWallElementedCase::IfcWallElementedCase(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcWall(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWallStandardCase @@ -16486,105 +16486,105 @@ Ifc4x2::IfcWallElementedCase::IfcWallElementedCase(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x2::IfcWallStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1192]); } const IfcParse::entity& Ifc4x2::IfcWallStandardCase::Class() { return *((IfcParse::entity*)IFC4X2_types[1192]); } Ifc4x2::IfcWallStandardCase::IfcWallStandardCase(IfcEntityInstanceData&& e) : IfcWall(std::move(e)) { } -Ifc4x2::IfcWallStandardCase::IfcWallStandardCase(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcWall(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcWallStandardCase::IfcWallStandardCase(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcWall(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWallType -::Ifc4x2::IfcWallTypeEnum::Value Ifc4x2::IfcWallType::PredefinedType() const { return ::Ifc4x2::IfcWallTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcWallTypeEnum::Value Ifc4x2::IfcWallType::PredefinedType() const { return ::Ifc4x2::IfcWallTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcWallType::setPredefinedType(::Ifc4x2::IfcWallTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcWallTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcWallType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1193]); } const IfcParse::entity& Ifc4x2::IfcWallType::Class() { return *((IfcParse::entity*)IFC4X2_types[1193]); } Ifc4x2::IfcWallType::IfcWallType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x2::IfcWallType::IfcWallType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcWallTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcWallType::IfcWallType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcWallTypeEnum::Value v10_PredefinedType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcWasteTerminal -boost::optional< ::Ifc4x2::IfcWasteTerminalTypeEnum::Value > Ifc4x2::IfcWasteTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcWasteTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcWasteTerminalTypeEnum::Value > Ifc4x2::IfcWasteTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcWasteTerminal::setPredefinedType(boost::optional< ::Ifc4x2::IfcWasteTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcWasteTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcWasteTerminal::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1198]); } const IfcParse::entity& Ifc4x2::IfcWasteTerminal::Class() { return *((IfcParse::entity*)IFC4X2_types[1198]); } Ifc4x2::IfcWasteTerminal::IfcWasteTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x2::IfcWasteTerminal::IfcWasteTerminal(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcWasteTerminal::IfcWasteTerminal(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x2::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWasteTerminalType -::Ifc4x2::IfcWasteTerminalTypeEnum::Value Ifc4x2::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4x2::IfcWasteTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcWasteTerminalTypeEnum::Value Ifc4x2::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4x2::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcWasteTerminalType::setPredefinedType(::Ifc4x2::IfcWasteTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcWasteTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x2::IfcWasteTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1199]); } const IfcParse::entity& Ifc4x2::IfcWasteTerminalType::Class() { return *((IfcParse::entity*)IFC4X2_types[1199]); } Ifc4x2::IfcWasteTerminalType::IfcWasteTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x2::IfcWasteTerminalType::IfcWasteTerminalType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x2::IfcWasteTerminalType::IfcWasteTerminalType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcWindow -boost::optional< double > Ifc4x2::IfcWindow::OverallHeight() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x2::IfcWindow::OverallHeight() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x2::IfcWindow::setOverallHeight(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x2::IfcWindow::OverallWidth() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x2::IfcWindow::OverallWidth() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x2::IfcWindow::setOverallWidth(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x2::IfcWindowTypeEnum::Value > Ifc4x2::IfcWindow::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x2::IfcWindowTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x2::IfcWindowTypeEnum::Value > Ifc4x2::IfcWindow::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x2::IfcWindowTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x2::IfcWindow::setPredefinedType(boost::optional< ::Ifc4x2::IfcWindowTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x2::IfcWindowTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -boost::optional< ::Ifc4x2::IfcWindowTypePartitioningEnum::Value > Ifc4x2::IfcWindow::PartitioningType() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x2::IfcWindowTypePartitioningEnum::FromString(data_.get_attribute_value(11)); } +boost::optional< ::Ifc4x2::IfcWindowTypePartitioningEnum::Value > Ifc4x2::IfcWindow::PartitioningType() const { if(get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x2::IfcWindowTypePartitioningEnum::FromString(get_attribute_value(11)); } void Ifc4x2::IfcWindow::setPartitioningType(boost::optional< ::Ifc4x2::IfcWindowTypePartitioningEnum::Value > v) { if (v) {set_attribute_value(11, EnumerationReference(&::Ifc4x2::IfcWindowTypePartitioningEnum::Class(), (size_t) *v));} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x2::IfcWindow::UserDefinedPartitioningType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x2::IfcWindow::UserDefinedPartitioningType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x2::IfcWindow::setUserDefinedPartitioningType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x2::IfcWindow::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1201]); } const IfcParse::entity& Ifc4x2::IfcWindow::Class() { return *((IfcParse::entity*)IFC4X2_types[1201]); } Ifc4x2::IfcWindow::IfcWindow(IfcEntityInstanceData&& e) : IfcBuildingElement(std::move(e)) { } -Ifc4x2::IfcWindow::IfcWindow(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x2::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x2::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuildingElement(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x2::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } +Ifc4x2::IfcWindow::IfcWindow(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x2::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x2::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuildingElement(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x2::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } // Function implementations for IfcWindowLiningProperties -boost::optional< double > Ifc4x2::IfcWindowLiningProperties::LiningDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x2::IfcWindowLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x2::IfcWindowLiningProperties::setLiningDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x2::IfcWindowLiningProperties::LiningThickness() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x2::IfcWindowLiningProperties::LiningThickness() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x2::IfcWindowLiningProperties::setLiningThickness(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x2::IfcWindowLiningProperties::TransomThickness() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x2::IfcWindowLiningProperties::TransomThickness() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x2::IfcWindowLiningProperties::setTransomThickness(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x2::IfcWindowLiningProperties::MullionThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x2::IfcWindowLiningProperties::MullionThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x2::IfcWindowLiningProperties::setMullionThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x2::IfcWindowLiningProperties::FirstTransomOffset() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x2::IfcWindowLiningProperties::FirstTransomOffset() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x2::IfcWindowLiningProperties::setFirstTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x2::IfcWindowLiningProperties::SecondTransomOffset() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x2::IfcWindowLiningProperties::SecondTransomOffset() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x2::IfcWindowLiningProperties::setSecondTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x2::IfcWindowLiningProperties::FirstMullionOffset() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x2::IfcWindowLiningProperties::FirstMullionOffset() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x2::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x2::IfcWindowLiningProperties::SecondMullionOffset() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x2::IfcWindowLiningProperties::SecondMullionOffset() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x2::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -::Ifc4x2::IfcShapeAspect* Ifc4x2::IfcWindowLiningProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(12).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(12)))->as<::Ifc4x2::IfcShapeAspect>(true); } +::Ifc4x2::IfcShapeAspect* Ifc4x2::IfcWindowLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(12).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(12)))->as<::Ifc4x2::IfcShapeAspect>(true); } void Ifc4x2::IfcWindowLiningProperties::setShapeAspectStyle(::Ifc4x2::IfcShapeAspect* v) { set_attribute_value(12, v->as());if constexpr (false)unset_attribute_value(12); } -boost::optional< double > Ifc4x2::IfcWindowLiningProperties::LiningOffset() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x2::IfcWindowLiningProperties::LiningOffset() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x2::IfcWindowLiningProperties::setLiningOffset(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x2::IfcWindowLiningProperties::LiningToPanelOffsetX() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x2::IfcWindowLiningProperties::LiningToPanelOffsetX() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x2::IfcWindowLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x2::IfcWindowLiningProperties::LiningToPanelOffsetY() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x2::IfcWindowLiningProperties::LiningToPanelOffsetY() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x2::IfcWindowLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } const IfcParse::entity& Ifc4x2::IfcWindowLiningProperties::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1202]); } const IfcParse::entity& Ifc4x2::IfcWindowLiningProperties::Class() { return *((IfcParse::entity*)IFC4X2_types[1202]); } Ifc4x2::IfcWindowLiningProperties::IfcWindowLiningProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x2::IfcWindowLiningProperties::IfcWindowLiningProperties(std::string v1_GlobalId, ::Ifc4x2::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, ::Ifc4x2::IfcShapeAspect* v13_ShapeAspectStyle, boost::optional< double > v14_LiningOffset, boost::optional< double > v15_LiningToPanelOffsetX, boost::optional< double > v16_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, v13_ShapeAspectStyle ? v13_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); }; populate_derived(); } +Ifc4x2::IfcWindowLiningProperties::IfcWindowLiningProperties(std::string v1_GlobalId, ::Ifc4x2::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, ::Ifc4x2::IfcShapeAspect* v13_ShapeAspectStyle, boost::optional< double > v14_LiningOffset, boost::optional< double > v15_LiningToPanelOffsetX, boost::optional< double > v16_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, v13_ShapeAspectStyle ? v13_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); }; populate_derived(); } // Function implementations for IfcWindowPanelProperties -::Ifc4x2::IfcWindowPanelOperationEnum::Value Ifc4x2::IfcWindowPanelProperties::OperationType() const { return ::Ifc4x2::IfcWindowPanelOperationEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x2::IfcWindowPanelOperationEnum::Value Ifc4x2::IfcWindowPanelProperties::OperationType() const { return ::Ifc4x2::IfcWindowPanelOperationEnum::FromString(get_attribute_value(4)); } void Ifc4x2::IfcWindowPanelProperties::setOperationType(::Ifc4x2::IfcWindowPanelOperationEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x2::IfcWindowPanelOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x2::IfcWindowPanelPositionEnum::Value Ifc4x2::IfcWindowPanelProperties::PanelPosition() const { return ::Ifc4x2::IfcWindowPanelPositionEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x2::IfcWindowPanelPositionEnum::Value Ifc4x2::IfcWindowPanelProperties::PanelPosition() const { return ::Ifc4x2::IfcWindowPanelPositionEnum::FromString(get_attribute_value(5)); } void Ifc4x2::IfcWindowPanelProperties::setPanelPosition(::Ifc4x2::IfcWindowPanelPositionEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x2::IfcWindowPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x2::IfcWindowPanelProperties::FrameDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x2::IfcWindowPanelProperties::FrameDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x2::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x2::IfcWindowPanelProperties::FrameThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x2::IfcWindowPanelProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x2::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x2::IfcShapeAspect* Ifc4x2::IfcWindowPanelProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x2::IfcShapeAspect>(true); } +::Ifc4x2::IfcShapeAspect* Ifc4x2::IfcWindowPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x2::IfcShapeAspect>(true); } void Ifc4x2::IfcWindowPanelProperties::setShapeAspectStyle(::Ifc4x2::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x2::IfcWindowPanelProperties::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1205]); } const IfcParse::entity& Ifc4x2::IfcWindowPanelProperties::Class() { return *((IfcParse::entity*)IFC4X2_types[1205]); } Ifc4x2::IfcWindowPanelProperties::IfcWindowPanelProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x2::IfcWindowPanelProperties::IfcWindowPanelProperties(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x2::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x2::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x2::IfcWindowPanelProperties::IfcWindowPanelProperties(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x2::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x2::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x2::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x2::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcWindowStandardCase @@ -16592,137 +16592,137 @@ Ifc4x2::IfcWindowPanelProperties::IfcWindowPanelProperties(std::string v1_Global const IfcParse::entity& Ifc4x2::IfcWindowStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1206]); } const IfcParse::entity& Ifc4x2::IfcWindowStandardCase::Class() { return *((IfcParse::entity*)IFC4X2_types[1206]); } Ifc4x2::IfcWindowStandardCase::IfcWindowStandardCase(IfcEntityInstanceData&& e) : IfcWindow(std::move(e)) { } -Ifc4x2::IfcWindowStandardCase::IfcWindowStandardCase(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x2::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x2::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcWindow(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x2::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } +Ifc4x2::IfcWindowStandardCase::IfcWindowStandardCase(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x2::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x2::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcWindow(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x2::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } // Function implementations for IfcWindowStyle -::Ifc4x2::IfcWindowStyleConstructionEnum::Value Ifc4x2::IfcWindowStyle::ConstructionType() const { return ::Ifc4x2::IfcWindowStyleConstructionEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x2::IfcWindowStyleConstructionEnum::Value Ifc4x2::IfcWindowStyle::ConstructionType() const { return ::Ifc4x2::IfcWindowStyleConstructionEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcWindowStyle::setConstructionType(::Ifc4x2::IfcWindowStyleConstructionEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcWindowStyleConstructionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc4x2::IfcWindowStyleOperationEnum::Value Ifc4x2::IfcWindowStyle::OperationType() const { return ::Ifc4x2::IfcWindowStyleOperationEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcWindowStyleOperationEnum::Value Ifc4x2::IfcWindowStyle::OperationType() const { return ::Ifc4x2::IfcWindowStyleOperationEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcWindowStyle::setOperationType(::Ifc4x2::IfcWindowStyleOperationEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcWindowStyleOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -bool Ifc4x2::IfcWindowStyle::ParameterTakesPrecedence() const { bool v = data_.get_attribute_value(10); return v; } +bool Ifc4x2::IfcWindowStyle::ParameterTakesPrecedence() const { bool v = get_attribute_value(10); return v; } void Ifc4x2::IfcWindowStyle::setParameterTakesPrecedence(bool v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -bool Ifc4x2::IfcWindowStyle::Sizeable() const { bool v = data_.get_attribute_value(11); return v; } +bool Ifc4x2::IfcWindowStyle::Sizeable() const { bool v = get_attribute_value(11); return v; } void Ifc4x2::IfcWindowStyle::setSizeable(bool v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x2::IfcWindowStyle::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1207]); } const IfcParse::entity& Ifc4x2::IfcWindowStyle::Class() { return *((IfcParse::entity*)IFC4X2_types[1207]); } Ifc4x2::IfcWindowStyle::IfcWindowStyle(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(e)) { } -Ifc4x2::IfcWindowStyle::IfcWindowStyle(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, ::Ifc4x2::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x2::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcWindowStyleConstructionEnum::Class(),(size_t)v9_ConstructionType)));set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcWindowStyleOperationEnum::Class(),(size_t)v10_OperationType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; populate_derived(); } +Ifc4x2::IfcWindowStyle::IfcWindowStyle(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, ::Ifc4x2::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x2::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcWindowStyleConstructionEnum::Class(),(size_t)v9_ConstructionType)));set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcWindowStyleOperationEnum::Class(),(size_t)v10_OperationType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; populate_derived(); } // Function implementations for IfcWindowType -::Ifc4x2::IfcWindowTypeEnum::Value Ifc4x2::IfcWindowType::PredefinedType() const { return ::Ifc4x2::IfcWindowTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x2::IfcWindowTypeEnum::Value Ifc4x2::IfcWindowType::PredefinedType() const { return ::Ifc4x2::IfcWindowTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x2::IfcWindowType::setPredefinedType(::Ifc4x2::IfcWindowTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x2::IfcWindowTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x2::IfcWindowTypePartitioningEnum::Value Ifc4x2::IfcWindowType::PartitioningType() const { return ::Ifc4x2::IfcWindowTypePartitioningEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x2::IfcWindowTypePartitioningEnum::Value Ifc4x2::IfcWindowType::PartitioningType() const { return ::Ifc4x2::IfcWindowTypePartitioningEnum::FromString(get_attribute_value(10)); } void Ifc4x2::IfcWindowType::setPartitioningType(::Ifc4x2::IfcWindowTypePartitioningEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x2::IfcWindowTypePartitioningEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } -boost::optional< bool > Ifc4x2::IfcWindowType::ParameterTakesPrecedence() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } bool v = data_.get_attribute_value(11); return v; } +boost::optional< bool > Ifc4x2::IfcWindowType::ParameterTakesPrecedence() const { if(get_attribute_value(11).isNull()) { return boost::none; } bool v = get_attribute_value(11); return v; } void Ifc4x2::IfcWindowType::setParameterTakesPrecedence(boost::optional< bool > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x2::IfcWindowType::UserDefinedPartitioningType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x2::IfcWindowType::UserDefinedPartitioningType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x2::IfcWindowType::setUserDefinedPartitioningType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x2::IfcWindowType::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1210]); } const IfcParse::entity& Ifc4x2::IfcWindowType::Class() { return *((IfcParse::entity*)IFC4X2_types[1210]); } Ifc4x2::IfcWindowType::IfcWindowType(IfcEntityInstanceData&& e) : IfcBuildingElementType(std::move(e)) { } -Ifc4x2::IfcWindowType::IfcWindowType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x2::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuildingElementType(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } +Ifc4x2::IfcWindowType::IfcWindowType(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x2::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x2::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuildingElementType(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x2::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x2::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } // Function implementations for IfcWorkCalendar -boost::optional< aggregate_of< ::Ifc4x2::IfcWorkTime >::ptr > Ifc4x2::IfcWorkCalendar::WorkingTimes() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x2::IfcWorkTime >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcWorkTime >::ptr > Ifc4x2::IfcWorkCalendar::WorkingTimes() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x2::IfcWorkTime >(); } void Ifc4x2::IfcWorkCalendar::setWorkingTimes(boost::optional< aggregate_of< ::Ifc4x2::IfcWorkTime >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x2::IfcWorkTime >::ptr > Ifc4x2::IfcWorkCalendar::ExceptionTimes() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x2::IfcWorkTime >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcWorkTime >::ptr > Ifc4x2::IfcWorkCalendar::ExceptionTimes() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x2::IfcWorkTime >(); } void Ifc4x2::IfcWorkCalendar::setExceptionTimes(boost::optional< aggregate_of< ::Ifc4x2::IfcWorkTime >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x2::IfcWorkCalendarTypeEnum::Value > Ifc4x2::IfcWorkCalendar::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcWorkCalendarTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x2::IfcWorkCalendarTypeEnum::Value > Ifc4x2::IfcWorkCalendar::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x2::IfcWorkCalendarTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x2::IfcWorkCalendar::setPredefinedType(boost::optional< ::Ifc4x2::IfcWorkCalendarTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x2::IfcWorkCalendarTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcWorkCalendar::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1213]); } const IfcParse::entity& Ifc4x2::IfcWorkCalendar::Class() { return *((IfcParse::entity*)IFC4X2_types[1213]); } Ifc4x2::IfcWorkCalendar::IfcWorkCalendar(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x2::IfcWorkCalendar::IfcWorkCalendar(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< aggregate_of< ::Ifc4x2::IfcWorkTime >::ptr > v7_WorkingTimes, boost::optional< aggregate_of< ::Ifc4x2::IfcWorkTime >::ptr > v8_ExceptionTimes, boost::optional< ::Ifc4x2::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, (*v7_WorkingTimes)->generalize()); } if (v8_ExceptionTimes) {set_attribute_value(7, (*v8_ExceptionTimes)->generalize()); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcWorkCalendar::IfcWorkCalendar(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< aggregate_of< ::Ifc4x2::IfcWorkTime >::ptr > v7_WorkingTimes, boost::optional< aggregate_of< ::Ifc4x2::IfcWorkTime >::ptr > v8_ExceptionTimes, boost::optional< ::Ifc4x2::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, (*v7_WorkingTimes)->generalize()); } if (v8_ExceptionTimes) {set_attribute_value(7, (*v8_ExceptionTimes)->generalize()); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x2::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWorkControl -std::string Ifc4x2::IfcWorkControl::CreationDate() const { std::string v = data_.get_attribute_value(6); return v; } +std::string Ifc4x2::IfcWorkControl::CreationDate() const { std::string v = get_attribute_value(6); return v; } void Ifc4x2::IfcWorkControl::setCreationDate(std::string v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< aggregate_of< ::Ifc4x2::IfcPerson >::ptr > Ifc4x2::IfcWorkControl::Creators() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x2::IfcPerson >(); } +boost::optional< aggregate_of< ::Ifc4x2::IfcPerson >::ptr > Ifc4x2::IfcWorkControl::Creators() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x2::IfcPerson >(); } void Ifc4x2::IfcWorkControl::setCreators(boost::optional< aggregate_of< ::Ifc4x2::IfcPerson >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x2::IfcWorkControl::Purpose() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x2::IfcWorkControl::Purpose() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x2::IfcWorkControl::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x2::IfcWorkControl::Duration() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x2::IfcWorkControl::Duration() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x2::IfcWorkControl::setDuration(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x2::IfcWorkControl::TotalFloat() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x2::IfcWorkControl::TotalFloat() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x2::IfcWorkControl::setTotalFloat(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -std::string Ifc4x2::IfcWorkControl::StartTime() const { std::string v = data_.get_attribute_value(11); return v; } +std::string Ifc4x2::IfcWorkControl::StartTime() const { std::string v = get_attribute_value(11); return v; } void Ifc4x2::IfcWorkControl::setStartTime(std::string v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } -boost::optional< std::string > Ifc4x2::IfcWorkControl::FinishTime() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x2::IfcWorkControl::FinishTime() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x2::IfcWorkControl::setFinishTime(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x2::IfcWorkControl::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1215]); } const IfcParse::entity& Ifc4x2::IfcWorkControl::Class() { return *((IfcParse::entity*)IFC4X2_types[1215]); } Ifc4x2::IfcWorkControl::IfcWorkControl(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x2::IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x2::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime) : IfcControl(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); }; populate_derived(); } +Ifc4x2::IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x2::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); }; populate_derived(); } // Function implementations for IfcWorkPlan -boost::optional< ::Ifc4x2::IfcWorkPlanTypeEnum::Value > Ifc4x2::IfcWorkPlan::PredefinedType() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x2::IfcWorkPlanTypeEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x2::IfcWorkPlanTypeEnum::Value > Ifc4x2::IfcWorkPlan::PredefinedType() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x2::IfcWorkPlanTypeEnum::FromString(get_attribute_value(13)); } void Ifc4x2::IfcWorkPlan::setPredefinedType(boost::optional< ::Ifc4x2::IfcWorkPlanTypeEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x2::IfcWorkPlanTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } const IfcParse::entity& Ifc4x2::IfcWorkPlan::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1216]); } const IfcParse::entity& Ifc4x2::IfcWorkPlan::Class() { return *((IfcParse::entity*)IFC4X2_types[1216]); } Ifc4x2::IfcWorkPlan::IfcWorkPlan(IfcEntityInstanceData&& e) : IfcWorkControl(std::move(e)) { } -Ifc4x2::IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x2::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< ::Ifc4x2::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x2::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x2::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< ::Ifc4x2::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x2::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWorkSchedule -boost::optional< ::Ifc4x2::IfcWorkScheduleTypeEnum::Value > Ifc4x2::IfcWorkSchedule::PredefinedType() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x2::IfcWorkScheduleTypeEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x2::IfcWorkScheduleTypeEnum::Value > Ifc4x2::IfcWorkSchedule::PredefinedType() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x2::IfcWorkScheduleTypeEnum::FromString(get_attribute_value(13)); } void Ifc4x2::IfcWorkSchedule::setPredefinedType(boost::optional< ::Ifc4x2::IfcWorkScheduleTypeEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x2::IfcWorkScheduleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } const IfcParse::entity& Ifc4x2::IfcWorkSchedule::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1218]); } const IfcParse::entity& Ifc4x2::IfcWorkSchedule::Class() { return *((IfcParse::entity*)IFC4X2_types[1218]); } Ifc4x2::IfcWorkSchedule::IfcWorkSchedule(IfcEntityInstanceData&& e) : IfcWorkControl(std::move(e)) { } -Ifc4x2::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x2::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< ::Ifc4x2::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x2::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } +Ifc4x2::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x2::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< ::Ifc4x2::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x2::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWorkTime -::Ifc4x2::IfcRecurrencePattern* Ifc4x2::IfcWorkTime::RecurrencePattern() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x2::IfcRecurrencePattern>(true); } +::Ifc4x2::IfcRecurrencePattern* Ifc4x2::IfcWorkTime::RecurrencePattern() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x2::IfcRecurrencePattern>(true); } void Ifc4x2::IfcWorkTime::setRecurrencePattern(::Ifc4x2::IfcRecurrencePattern* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x2::IfcWorkTime::Start() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x2::IfcWorkTime::Start() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x2::IfcWorkTime::setStart(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x2::IfcWorkTime::Finish() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x2::IfcWorkTime::Finish() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcWorkTime::setFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x2::IfcWorkTime::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1220]); } const IfcParse::entity& Ifc4x2::IfcWorkTime::Class() { return *((IfcParse::entity*)IFC4X2_types[1220]); } Ifc4x2::IfcWorkTime::IfcWorkTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x2::IfcWorkTime::IfcWorkTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x2::IfcRecurrencePattern* v4_RecurrencePattern, boost::optional< std::string > v5_Start, boost::optional< std::string > v6_Finish) : IfcSchedulingTime(IfcEntityInstanceData(storage_t(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_RecurrencePattern ? v4_RecurrencePattern->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Start) {set_attribute_value(4, (*v5_Start)); } if (v6_Finish) {set_attribute_value(5, (*v6_Finish)); }; populate_derived(); } +Ifc4x2::IfcWorkTime::IfcWorkTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x2::IfcRecurrencePattern* v4_RecurrencePattern, boost::optional< std::string > v5_Start, boost::optional< std::string > v6_Finish) : IfcSchedulingTime(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_RecurrencePattern ? v4_RecurrencePattern->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Start) {set_attribute_value(4, (*v5_Start)); } if (v6_Finish) {set_attribute_value(5, (*v6_Finish)); }; populate_derived(); } // Function implementations for IfcZShapeProfileDef -double Ifc4x2::IfcZShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x2::IfcZShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x2::IfcZShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x2::IfcZShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x2::IfcZShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc4x2::IfcZShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x2::IfcZShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x2::IfcZShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x2::IfcZShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x2::IfcZShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x2::IfcZShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x2::IfcZShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x2::IfcZShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x2::IfcZShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x2::IfcZShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x2::IfcZShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x2::IfcZShapeProfileDef::EdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x2::IfcZShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x2::IfcZShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1222]); } const IfcParse::entity& Ifc4x2::IfcZShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X2_types[1222]); } Ifc4x2::IfcZShapeProfileDef::IfcZShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x2::IfcZShapeProfileDef::IfcZShapeProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::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(storage_t(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; populate_derived(); } +Ifc4x2::IfcZShapeProfileDef::IfcZShapeProfileDef(::Ifc4x2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x2::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(in_memory_attribute_storage(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; populate_derived(); } // Function implementations for IfcZone -boost::optional< std::string > Ifc4x2::IfcZone::LongName() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x2::IfcZone::LongName() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x2::IfcZone::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x2::IfcZone::declaration() const { return *((IfcParse::entity*)IFC4X2_types[1221]); } const IfcParse::entity& Ifc4x2::IfcZone::Class() { return *((IfcParse::entity*)IFC4X2_types[1221]); } Ifc4x2::IfcZone::IfcZone(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x2::IfcZone::IfcZone(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName) : IfcSystem(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); }; populate_derived(); } +Ifc4x2::IfcZone::IfcZone(std::string v1_GlobalId, ::Ifc4x2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); }; populate_derived(); } diff --git a/src/ifcparse/Ifc4x3.cpp b/src/ifcparse/Ifc4x3.cpp index a0f8b4ba2f..f9917c479a 100644 --- a/src/ifcparse/Ifc4x3.cpp +++ b/src/ifcparse/Ifc4x3.cpp @@ -63,7 +63,7 @@ Ifc4x3::IfcActionRequestTypeEnum::Value Ifc4x3::IfcActionRequestTypeEnum::FromSt } Ifc4x3::IfcActionRequestTypeEnum::operator Ifc4x3::IfcActionRequestTypeEnum::Value() const { - return (Ifc4x3::IfcActionRequestTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcActionRequestTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcActionSourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[4]); } @@ -90,7 +90,7 @@ Ifc4x3::IfcActionSourceTypeEnum::Value Ifc4x3::IfcActionSourceTypeEnum::FromStri } Ifc4x3::IfcActionSourceTypeEnum::operator Ifc4x3::IfcActionSourceTypeEnum::Value() const { - return (Ifc4x3::IfcActionSourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcActionSourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcActionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[5]); } @@ -117,7 +117,7 @@ Ifc4x3::IfcActionTypeEnum::Value Ifc4x3::IfcActionTypeEnum::FromString(const std } Ifc4x3::IfcActionTypeEnum::operator Ifc4x3::IfcActionTypeEnum::Value() const { - return (Ifc4x3::IfcActionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcActionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcActuatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[11]); } @@ -144,7 +144,7 @@ Ifc4x3::IfcActuatorTypeEnum::Value Ifc4x3::IfcActuatorTypeEnum::FromString(const } Ifc4x3::IfcActuatorTypeEnum::operator Ifc4x3::IfcActuatorTypeEnum::Value() const { - return (Ifc4x3::IfcActuatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcActuatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcAddressTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[13]); } @@ -171,7 +171,7 @@ Ifc4x3::IfcAddressTypeEnum::Value Ifc4x3::IfcAddressTypeEnum::FromString(const s } Ifc4x3::IfcAddressTypeEnum::operator Ifc4x3::IfcAddressTypeEnum::Value() const { - return (Ifc4x3::IfcAddressTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcAddressTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcAirTerminalBoxTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[20]); } @@ -198,7 +198,7 @@ Ifc4x3::IfcAirTerminalBoxTypeEnum::Value Ifc4x3::IfcAirTerminalBoxTypeEnum::From } Ifc4x3::IfcAirTerminalBoxTypeEnum::operator Ifc4x3::IfcAirTerminalBoxTypeEnum::Value() const { - return (Ifc4x3::IfcAirTerminalBoxTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcAirTerminalBoxTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcAirTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[22]); } @@ -225,7 +225,7 @@ Ifc4x3::IfcAirTerminalTypeEnum::Value Ifc4x3::IfcAirTerminalTypeEnum::FromString } Ifc4x3::IfcAirTerminalTypeEnum::operator Ifc4x3::IfcAirTerminalTypeEnum::Value() const { - return (Ifc4x3::IfcAirTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcAirTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[25]); } @@ -252,7 +252,7 @@ Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3::IfcAirToAirHeatRecoveryTy } Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::operator Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Value() const { - return (Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcAlarmTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[28]); } @@ -279,7 +279,7 @@ Ifc4x3::IfcAlarmTypeEnum::Value Ifc4x3::IfcAlarmTypeEnum::FromString(const std:: } Ifc4x3::IfcAlarmTypeEnum::operator Ifc4x3::IfcAlarmTypeEnum::Value() const { - return (Ifc4x3::IfcAlarmTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcAlarmTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcAlignmentCantSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[32]); } @@ -306,7 +306,7 @@ Ifc4x3::IfcAlignmentCantSegmentTypeEnum::Value Ifc4x3::IfcAlignmentCantSegmentTy } Ifc4x3::IfcAlignmentCantSegmentTypeEnum::operator Ifc4x3::IfcAlignmentCantSegmentTypeEnum::Value() const { - return (Ifc4x3::IfcAlignmentCantSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcAlignmentCantSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcAlignmentHorizontalSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[35]); } @@ -333,7 +333,7 @@ Ifc4x3::IfcAlignmentHorizontalSegmentTypeEnum::Value Ifc4x3::IfcAlignmentHorizon } Ifc4x3::IfcAlignmentHorizontalSegmentTypeEnum::operator Ifc4x3::IfcAlignmentHorizontalSegmentTypeEnum::Value() const { - return (Ifc4x3::IfcAlignmentHorizontalSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcAlignmentHorizontalSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcAlignmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[38]); } @@ -360,7 +360,7 @@ Ifc4x3::IfcAlignmentTypeEnum::Value Ifc4x3::IfcAlignmentTypeEnum::FromString(con } Ifc4x3::IfcAlignmentTypeEnum::operator Ifc4x3::IfcAlignmentTypeEnum::Value() const { - return (Ifc4x3::IfcAlignmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcAlignmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcAlignmentVerticalSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[41]); } @@ -387,7 +387,7 @@ Ifc4x3::IfcAlignmentVerticalSegmentTypeEnum::Value Ifc4x3::IfcAlignmentVerticalS } Ifc4x3::IfcAlignmentVerticalSegmentTypeEnum::operator Ifc4x3::IfcAlignmentVerticalSegmentTypeEnum::Value() const { - return (Ifc4x3::IfcAlignmentVerticalSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcAlignmentVerticalSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcAnalysisModelTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[43]); } @@ -414,7 +414,7 @@ Ifc4x3::IfcAnalysisModelTypeEnum::Value Ifc4x3::IfcAnalysisModelTypeEnum::FromSt } Ifc4x3::IfcAnalysisModelTypeEnum::operator Ifc4x3::IfcAnalysisModelTypeEnum::Value() const { - return (Ifc4x3::IfcAnalysisModelTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcAnalysisModelTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcAnalysisTheoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[44]); } @@ -441,7 +441,7 @@ Ifc4x3::IfcAnalysisTheoryTypeEnum::Value Ifc4x3::IfcAnalysisTheoryTypeEnum::From } Ifc4x3::IfcAnalysisTheoryTypeEnum::operator Ifc4x3::IfcAnalysisTheoryTypeEnum::Value() const { - return (Ifc4x3::IfcAnalysisTheoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcAnalysisTheoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcAnnotationTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[48]); } @@ -468,7 +468,7 @@ Ifc4x3::IfcAnnotationTypeEnum::Value Ifc4x3::IfcAnnotationTypeEnum::FromString(c } Ifc4x3::IfcAnnotationTypeEnum::operator Ifc4x3::IfcAnnotationTypeEnum::Value() const { - return (Ifc4x3::IfcAnnotationTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcAnnotationTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcArithmeticOperatorEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[60]); } @@ -495,7 +495,7 @@ Ifc4x3::IfcArithmeticOperatorEnum::Value Ifc4x3::IfcArithmeticOperatorEnum::From } Ifc4x3::IfcArithmeticOperatorEnum::operator Ifc4x3::IfcArithmeticOperatorEnum::Value() const { - return (Ifc4x3::IfcArithmeticOperatorEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcArithmeticOperatorEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcAssemblyPlaceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[61]); } @@ -522,7 +522,7 @@ Ifc4x3::IfcAssemblyPlaceEnum::Value Ifc4x3::IfcAssemblyPlaceEnum::FromString(con } Ifc4x3::IfcAssemblyPlaceEnum::operator Ifc4x3::IfcAssemblyPlaceEnum::Value() const { - return (Ifc4x3::IfcAssemblyPlaceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcAssemblyPlaceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcAudioVisualApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[66]); } @@ -549,7 +549,7 @@ Ifc4x3::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3::IfcAudioVisualApplianceTy } Ifc4x3::IfcAudioVisualApplianceTypeEnum::operator Ifc4x3::IfcAudioVisualApplianceTypeEnum::Value() const { - return (Ifc4x3::IfcAudioVisualApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcAudioVisualApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcBSplineCurveForm::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[109]); } @@ -576,7 +576,7 @@ Ifc4x3::IfcBSplineCurveForm::Value Ifc4x3::IfcBSplineCurveForm::FromString(const } Ifc4x3::IfcBSplineCurveForm::operator Ifc4x3::IfcBSplineCurveForm::Value() const { - return (Ifc4x3::IfcBSplineCurveForm::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcBSplineCurveForm::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcBSplineSurfaceForm::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[112]); } @@ -603,7 +603,7 @@ Ifc4x3::IfcBSplineSurfaceForm::Value Ifc4x3::IfcBSplineSurfaceForm::FromString(c } Ifc4x3::IfcBSplineSurfaceForm::operator Ifc4x3::IfcBSplineSurfaceForm::Value() const { - return (Ifc4x3::IfcBSplineSurfaceForm::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcBSplineSurfaceForm::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcBeamTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[74]); } @@ -630,7 +630,7 @@ Ifc4x3::IfcBeamTypeEnum::Value Ifc4x3::IfcBeamTypeEnum::FromString(const std::st } Ifc4x3::IfcBeamTypeEnum::operator Ifc4x3::IfcBeamTypeEnum::Value() const { - return (Ifc4x3::IfcBeamTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcBeamTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcBearingTypeDisplacementEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[77]); } @@ -657,7 +657,7 @@ Ifc4x3::IfcBearingTypeDisplacementEnum::Value Ifc4x3::IfcBearingTypeDisplacement } Ifc4x3::IfcBearingTypeDisplacementEnum::operator Ifc4x3::IfcBearingTypeDisplacementEnum::Value() const { - return (Ifc4x3::IfcBearingTypeDisplacementEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcBearingTypeDisplacementEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcBearingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[78]); } @@ -684,7 +684,7 @@ Ifc4x3::IfcBearingTypeEnum::Value Ifc4x3::IfcBearingTypeEnum::FromString(const s } Ifc4x3::IfcBearingTypeEnum::operator Ifc4x3::IfcBearingTypeEnum::Value() const { - return (Ifc4x3::IfcBearingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcBearingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcBenchmarkEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[79]); } @@ -711,7 +711,7 @@ Ifc4x3::IfcBenchmarkEnum::Value Ifc4x3::IfcBenchmarkEnum::FromString(const std:: } Ifc4x3::IfcBenchmarkEnum::operator Ifc4x3::IfcBenchmarkEnum::Value() const { - return (Ifc4x3::IfcBenchmarkEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcBenchmarkEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcBoilerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[86]); } @@ -738,7 +738,7 @@ Ifc4x3::IfcBoilerTypeEnum::Value Ifc4x3::IfcBoilerTypeEnum::FromString(const std } Ifc4x3::IfcBoilerTypeEnum::operator Ifc4x3::IfcBoilerTypeEnum::Value() const { - return (Ifc4x3::IfcBoilerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcBoilerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcBooleanOperator::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[90]); } @@ -765,7 +765,7 @@ Ifc4x3::IfcBooleanOperator::Value Ifc4x3::IfcBooleanOperator::FromString(const s } Ifc4x3::IfcBooleanOperator::operator Ifc4x3::IfcBooleanOperator::Value() const { - return (Ifc4x3::IfcBooleanOperator::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcBooleanOperator::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcBridgePartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[106]); } @@ -792,7 +792,7 @@ Ifc4x3::IfcBridgePartTypeEnum::Value Ifc4x3::IfcBridgePartTypeEnum::FromString(c } Ifc4x3::IfcBridgePartTypeEnum::operator Ifc4x3::IfcBridgePartTypeEnum::Value() const { - return (Ifc4x3::IfcBridgePartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcBridgePartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcBridgeTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[107]); } @@ -819,7 +819,7 @@ Ifc4x3::IfcBridgeTypeEnum::Value Ifc4x3::IfcBridgeTypeEnum::FromString(const std } Ifc4x3::IfcBridgeTypeEnum::operator Ifc4x3::IfcBridgeTypeEnum::Value() const { - return (Ifc4x3::IfcBridgeTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcBridgeTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcBuildingElementPartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[117]); } @@ -846,7 +846,7 @@ Ifc4x3::IfcBuildingElementPartTypeEnum::Value Ifc4x3::IfcBuildingElementPartType } Ifc4x3::IfcBuildingElementPartTypeEnum::operator Ifc4x3::IfcBuildingElementPartTypeEnum::Value() const { - return (Ifc4x3::IfcBuildingElementPartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcBuildingElementPartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcBuildingElementProxyTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[120]); } @@ -873,7 +873,7 @@ Ifc4x3::IfcBuildingElementProxyTypeEnum::Value Ifc4x3::IfcBuildingElementProxyTy } Ifc4x3::IfcBuildingElementProxyTypeEnum::operator Ifc4x3::IfcBuildingElementProxyTypeEnum::Value() const { - return (Ifc4x3::IfcBuildingElementProxyTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcBuildingElementProxyTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcBuildingSystemTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[123]); } @@ -900,7 +900,7 @@ Ifc4x3::IfcBuildingSystemTypeEnum::Value Ifc4x3::IfcBuildingSystemTypeEnum::From } Ifc4x3::IfcBuildingSystemTypeEnum::operator Ifc4x3::IfcBuildingSystemTypeEnum::Value() const { - return (Ifc4x3::IfcBuildingSystemTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcBuildingSystemTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcBuiltSystemTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[127]); } @@ -927,7 +927,7 @@ Ifc4x3::IfcBuiltSystemTypeEnum::Value Ifc4x3::IfcBuiltSystemTypeEnum::FromString } Ifc4x3::IfcBuiltSystemTypeEnum::operator Ifc4x3::IfcBuiltSystemTypeEnum::Value() const { - return (Ifc4x3::IfcBuiltSystemTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcBuiltSystemTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcBurnerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[130]); } @@ -954,7 +954,7 @@ Ifc4x3::IfcBurnerTypeEnum::Value Ifc4x3::IfcBurnerTypeEnum::FromString(const std } Ifc4x3::IfcBurnerTypeEnum::operator Ifc4x3::IfcBurnerTypeEnum::Value() const { - return (Ifc4x3::IfcBurnerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcBurnerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcCableCarrierFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[133]); } @@ -981,7 +981,7 @@ Ifc4x3::IfcCableCarrierFittingTypeEnum::Value Ifc4x3::IfcCableCarrierFittingType } Ifc4x3::IfcCableCarrierFittingTypeEnum::operator Ifc4x3::IfcCableCarrierFittingTypeEnum::Value() const { - return (Ifc4x3::IfcCableCarrierFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcCableCarrierFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcCableCarrierSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[136]); } @@ -1008,7 +1008,7 @@ Ifc4x3::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3::IfcCableCarrierSegmentType } Ifc4x3::IfcCableCarrierSegmentTypeEnum::operator Ifc4x3::IfcCableCarrierSegmentTypeEnum::Value() const { - return (Ifc4x3::IfcCableCarrierSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcCableCarrierSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcCableFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[139]); } @@ -1035,7 +1035,7 @@ Ifc4x3::IfcCableFittingTypeEnum::Value Ifc4x3::IfcCableFittingTypeEnum::FromStri } Ifc4x3::IfcCableFittingTypeEnum::operator Ifc4x3::IfcCableFittingTypeEnum::Value() const { - return (Ifc4x3::IfcCableFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcCableFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcCableSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[142]); } @@ -1062,7 +1062,7 @@ Ifc4x3::IfcCableSegmentTypeEnum::Value Ifc4x3::IfcCableSegmentTypeEnum::FromStri } Ifc4x3::IfcCableSegmentTypeEnum::operator Ifc4x3::IfcCableSegmentTypeEnum::Value() const { - return (Ifc4x3::IfcCableSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcCableSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcCaissonFoundationTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[145]); } @@ -1089,7 +1089,7 @@ Ifc4x3::IfcCaissonFoundationTypeEnum::Value Ifc4x3::IfcCaissonFoundationTypeEnum } Ifc4x3::IfcCaissonFoundationTypeEnum::operator Ifc4x3::IfcCaissonFoundationTypeEnum::Value() const { - return (Ifc4x3::IfcCaissonFoundationTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcCaissonFoundationTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcChangeActionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[157]); } @@ -1116,7 +1116,7 @@ Ifc4x3::IfcChangeActionEnum::Value Ifc4x3::IfcChangeActionEnum::FromString(const } Ifc4x3::IfcChangeActionEnum::operator Ifc4x3::IfcChangeActionEnum::Value() const { - return (Ifc4x3::IfcChangeActionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcChangeActionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcChillerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[160]); } @@ -1143,7 +1143,7 @@ Ifc4x3::IfcChillerTypeEnum::Value Ifc4x3::IfcChillerTypeEnum::FromString(const s } Ifc4x3::IfcChillerTypeEnum::operator Ifc4x3::IfcChillerTypeEnum::Value() const { - return (Ifc4x3::IfcChillerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcChillerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcChimneyTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[163]); } @@ -1170,7 +1170,7 @@ Ifc4x3::IfcChimneyTypeEnum::Value Ifc4x3::IfcChimneyTypeEnum::FromString(const s } Ifc4x3::IfcChimneyTypeEnum::operator Ifc4x3::IfcChimneyTypeEnum::Value() const { - return (Ifc4x3::IfcChimneyTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcChimneyTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcCoilTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[177]); } @@ -1197,7 +1197,7 @@ Ifc4x3::IfcCoilTypeEnum::Value Ifc4x3::IfcCoilTypeEnum::FromString(const std::st } Ifc4x3::IfcCoilTypeEnum::operator Ifc4x3::IfcCoilTypeEnum::Value() const { - return (Ifc4x3::IfcCoilTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcCoilTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcColumnTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[185]); } @@ -1224,7 +1224,7 @@ Ifc4x3::IfcColumnTypeEnum::Value Ifc4x3::IfcColumnTypeEnum::FromString(const std } Ifc4x3::IfcColumnTypeEnum::operator Ifc4x3::IfcColumnTypeEnum::Value() const { - return (Ifc4x3::IfcColumnTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcColumnTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcCommunicationsApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[188]); } @@ -1251,7 +1251,7 @@ Ifc4x3::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3::IfcCommunicationsAppli } Ifc4x3::IfcCommunicationsApplianceTypeEnum::operator Ifc4x3::IfcCommunicationsApplianceTypeEnum::Value() const { - return (Ifc4x3::IfcCommunicationsApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcCommunicationsApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcComplexPropertyTemplateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[192]); } @@ -1278,7 +1278,7 @@ Ifc4x3::IfcComplexPropertyTemplateTypeEnum::Value Ifc4x3::IfcComplexPropertyTemp } Ifc4x3::IfcComplexPropertyTemplateTypeEnum::operator Ifc4x3::IfcComplexPropertyTemplateTypeEnum::Value() const { - return (Ifc4x3::IfcComplexPropertyTemplateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcComplexPropertyTemplateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcCompressorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[200]); } @@ -1305,7 +1305,7 @@ Ifc4x3::IfcCompressorTypeEnum::Value Ifc4x3::IfcCompressorTypeEnum::FromString(c } Ifc4x3::IfcCompressorTypeEnum::operator Ifc4x3::IfcCompressorTypeEnum::Value() const { - return (Ifc4x3::IfcCompressorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcCompressorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcCondenserTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[203]); } @@ -1332,7 +1332,7 @@ Ifc4x3::IfcCondenserTypeEnum::Value Ifc4x3::IfcCondenserTypeEnum::FromString(con } Ifc4x3::IfcCondenserTypeEnum::operator Ifc4x3::IfcCondenserTypeEnum::Value() const { - return (Ifc4x3::IfcCondenserTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcCondenserTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcConnectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[211]); } @@ -1359,7 +1359,7 @@ Ifc4x3::IfcConnectionTypeEnum::Value Ifc4x3::IfcConnectionTypeEnum::FromString(c } Ifc4x3::IfcConnectionTypeEnum::operator Ifc4x3::IfcConnectionTypeEnum::Value() const { - return (Ifc4x3::IfcConnectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcConnectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcConstraintEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[214]); } @@ -1386,7 +1386,7 @@ Ifc4x3::IfcConstraintEnum::Value Ifc4x3::IfcConstraintEnum::FromString(const std } Ifc4x3::IfcConstraintEnum::operator Ifc4x3::IfcConstraintEnum::Value() const { - return (Ifc4x3::IfcConstraintEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcConstraintEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[217]); } @@ -1413,7 +1413,7 @@ Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3::IfcConstructionE } Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::operator Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Value() const { - return (Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcConstructionMaterialResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[220]); } @@ -1440,7 +1440,7 @@ Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3::IfcConstructionMa } Ifc4x3::IfcConstructionMaterialResourceTypeEnum::operator Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Value() const { - return (Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcConstructionProductResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[223]); } @@ -1467,7 +1467,7 @@ Ifc4x3::IfcConstructionProductResourceTypeEnum::Value Ifc4x3::IfcConstructionPro } Ifc4x3::IfcConstructionProductResourceTypeEnum::operator Ifc4x3::IfcConstructionProductResourceTypeEnum::Value() const { - return (Ifc4x3::IfcConstructionProductResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcConstructionProductResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcControllerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[232]); } @@ -1494,7 +1494,7 @@ Ifc4x3::IfcControllerTypeEnum::Value Ifc4x3::IfcControllerTypeEnum::FromString(c } Ifc4x3::IfcControllerTypeEnum::operator Ifc4x3::IfcControllerTypeEnum::Value() const { - return (Ifc4x3::IfcControllerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcControllerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcConveyorSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[237]); } @@ -1521,7 +1521,7 @@ Ifc4x3::IfcConveyorSegmentTypeEnum::Value Ifc4x3::IfcConveyorSegmentTypeEnum::Fr } Ifc4x3::IfcConveyorSegmentTypeEnum::operator Ifc4x3::IfcConveyorSegmentTypeEnum::Value() const { - return (Ifc4x3::IfcConveyorSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcConveyorSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcCooledBeamTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[240]); } @@ -1548,7 +1548,7 @@ Ifc4x3::IfcCooledBeamTypeEnum::Value Ifc4x3::IfcCooledBeamTypeEnum::FromString(c } Ifc4x3::IfcCooledBeamTypeEnum::operator Ifc4x3::IfcCooledBeamTypeEnum::Value() const { - return (Ifc4x3::IfcCooledBeamTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcCooledBeamTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcCoolingTowerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[243]); } @@ -1575,7 +1575,7 @@ Ifc4x3::IfcCoolingTowerTypeEnum::Value Ifc4x3::IfcCoolingTowerTypeEnum::FromStri } Ifc4x3::IfcCoolingTowerTypeEnum::operator Ifc4x3::IfcCoolingTowerTypeEnum::Value() const { - return (Ifc4x3::IfcCoolingTowerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcCoolingTowerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcCostItemTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[249]); } @@ -1602,7 +1602,7 @@ Ifc4x3::IfcCostItemTypeEnum::Value Ifc4x3::IfcCostItemTypeEnum::FromString(const } Ifc4x3::IfcCostItemTypeEnum::operator Ifc4x3::IfcCostItemTypeEnum::Value() const { - return (Ifc4x3::IfcCostItemTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcCostItemTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcCostScheduleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[251]); } @@ -1629,7 +1629,7 @@ Ifc4x3::IfcCostScheduleTypeEnum::Value Ifc4x3::IfcCostScheduleTypeEnum::FromStri } Ifc4x3::IfcCostScheduleTypeEnum::operator Ifc4x3::IfcCostScheduleTypeEnum::Value() const { - return (Ifc4x3::IfcCostScheduleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcCostScheduleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcCourseTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[256]); } @@ -1656,7 +1656,7 @@ Ifc4x3::IfcCourseTypeEnum::Value Ifc4x3::IfcCourseTypeEnum::FromString(const std } Ifc4x3::IfcCourseTypeEnum::operator Ifc4x3::IfcCourseTypeEnum::Value() const { - return (Ifc4x3::IfcCourseTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcCourseTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcCoveringTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[259]); } @@ -1683,7 +1683,7 @@ Ifc4x3::IfcCoveringTypeEnum::Value Ifc4x3::IfcCoveringTypeEnum::FromString(const } Ifc4x3::IfcCoveringTypeEnum::operator Ifc4x3::IfcCoveringTypeEnum::Value() const { - return (Ifc4x3::IfcCoveringTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcCoveringTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcCrewResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[262]); } @@ -1710,7 +1710,7 @@ Ifc4x3::IfcCrewResourceTypeEnum::Value Ifc4x3::IfcCrewResourceTypeEnum::FromStri } Ifc4x3::IfcCrewResourceTypeEnum::operator Ifc4x3::IfcCrewResourceTypeEnum::Value() const { - return (Ifc4x3::IfcCrewResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcCrewResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcCurtainWallTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[270]); } @@ -1737,7 +1737,7 @@ Ifc4x3::IfcCurtainWallTypeEnum::Value Ifc4x3::IfcCurtainWallTypeEnum::FromString } Ifc4x3::IfcCurtainWallTypeEnum::operator Ifc4x3::IfcCurtainWallTypeEnum::Value() const { - return (Ifc4x3::IfcCurtainWallTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcCurtainWallTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcCurveInterpolationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[276]); } @@ -1764,7 +1764,7 @@ Ifc4x3::IfcCurveInterpolationEnum::Value Ifc4x3::IfcCurveInterpolationEnum::From } Ifc4x3::IfcCurveInterpolationEnum::operator Ifc4x3::IfcCurveInterpolationEnum::Value() const { - return (Ifc4x3::IfcCurveInterpolationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcCurveInterpolationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcDamperTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[289]); } @@ -1791,7 +1791,7 @@ Ifc4x3::IfcDamperTypeEnum::Value Ifc4x3::IfcDamperTypeEnum::FromString(const std } Ifc4x3::IfcDamperTypeEnum::operator Ifc4x3::IfcDamperTypeEnum::Value() const { - return (Ifc4x3::IfcDamperTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcDamperTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcDataOriginEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[290]); } @@ -1818,7 +1818,7 @@ Ifc4x3::IfcDataOriginEnum::Value Ifc4x3::IfcDataOriginEnum::FromString(const std } Ifc4x3::IfcDataOriginEnum::operator Ifc4x3::IfcDataOriginEnum::Value() const { - return (Ifc4x3::IfcDataOriginEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcDataOriginEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcDerivedUnitEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[302]); } @@ -1845,7 +1845,7 @@ Ifc4x3::IfcDerivedUnitEnum::Value Ifc4x3::IfcDerivedUnitEnum::FromString(const s } Ifc4x3::IfcDerivedUnitEnum::operator Ifc4x3::IfcDerivedUnitEnum::Value() const { - return (Ifc4x3::IfcDerivedUnitEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcDerivedUnitEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcDirectionSenseEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[307]); } @@ -1872,7 +1872,7 @@ Ifc4x3::IfcDirectionSenseEnum::Value Ifc4x3::IfcDirectionSenseEnum::FromString(c } Ifc4x3::IfcDirectionSenseEnum::operator Ifc4x3::IfcDirectionSenseEnum::Value() const { - return (Ifc4x3::IfcDirectionSenseEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcDirectionSenseEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcDiscreteAccessoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[312]); } @@ -1899,7 +1899,7 @@ Ifc4x3::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3::IfcDiscreteAccessoryTypeEnum } Ifc4x3::IfcDiscreteAccessoryTypeEnum::operator Ifc4x3::IfcDiscreteAccessoryTypeEnum::Value() const { - return (Ifc4x3::IfcDiscreteAccessoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcDiscreteAccessoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcDistributionBoardTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[315]); } @@ -1926,7 +1926,7 @@ Ifc4x3::IfcDistributionBoardTypeEnum::Value Ifc4x3::IfcDistributionBoardTypeEnum } Ifc4x3::IfcDistributionBoardTypeEnum::operator Ifc4x3::IfcDistributionBoardTypeEnum::Value() const { - return (Ifc4x3::IfcDistributionBoardTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcDistributionBoardTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcDistributionChamberElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[318]); } @@ -1953,7 +1953,7 @@ Ifc4x3::IfcDistributionChamberElementTypeEnum::Value Ifc4x3::IfcDistributionCham } Ifc4x3::IfcDistributionChamberElementTypeEnum::operator Ifc4x3::IfcDistributionChamberElementTypeEnum::Value() const { - return (Ifc4x3::IfcDistributionChamberElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcDistributionChamberElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcDistributionPortTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[327]); } @@ -1980,7 +1980,7 @@ Ifc4x3::IfcDistributionPortTypeEnum::Value Ifc4x3::IfcDistributionPortTypeEnum:: } Ifc4x3::IfcDistributionPortTypeEnum::operator Ifc4x3::IfcDistributionPortTypeEnum::Value() const { - return (Ifc4x3::IfcDistributionPortTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcDistributionPortTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcDistributionSystemEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[329]); } @@ -2007,7 +2007,7 @@ Ifc4x3::IfcDistributionSystemEnum::Value Ifc4x3::IfcDistributionSystemEnum::From } Ifc4x3::IfcDistributionSystemEnum::operator Ifc4x3::IfcDistributionSystemEnum::Value() const { - return (Ifc4x3::IfcDistributionSystemEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcDistributionSystemEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcDocumentConfidentialityEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[330]); } @@ -2034,7 +2034,7 @@ Ifc4x3::IfcDocumentConfidentialityEnum::Value Ifc4x3::IfcDocumentConfidentiality } Ifc4x3::IfcDocumentConfidentialityEnum::operator Ifc4x3::IfcDocumentConfidentialityEnum::Value() const { - return (Ifc4x3::IfcDocumentConfidentialityEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcDocumentConfidentialityEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcDocumentStatusEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[335]); } @@ -2061,7 +2061,7 @@ Ifc4x3::IfcDocumentStatusEnum::Value Ifc4x3::IfcDocumentStatusEnum::FromString(c } Ifc4x3::IfcDocumentStatusEnum::operator Ifc4x3::IfcDocumentStatusEnum::Value() const { - return (Ifc4x3::IfcDocumentStatusEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcDocumentStatusEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcDoorPanelOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[338]); } @@ -2088,7 +2088,7 @@ Ifc4x3::IfcDoorPanelOperationEnum::Value Ifc4x3::IfcDoorPanelOperationEnum::From } Ifc4x3::IfcDoorPanelOperationEnum::operator Ifc4x3::IfcDoorPanelOperationEnum::Value() const { - return (Ifc4x3::IfcDoorPanelOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcDoorPanelOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcDoorPanelPositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[339]); } @@ -2115,7 +2115,7 @@ Ifc4x3::IfcDoorPanelPositionEnum::Value Ifc4x3::IfcDoorPanelPositionEnum::FromSt } Ifc4x3::IfcDoorPanelPositionEnum::operator Ifc4x3::IfcDoorPanelPositionEnum::Value() const { - return (Ifc4x3::IfcDoorPanelPositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcDoorPanelPositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcDoorStyleConstructionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[341]); } @@ -2142,7 +2142,7 @@ Ifc4x3::IfcDoorStyleConstructionEnum::Value Ifc4x3::IfcDoorStyleConstructionEnum } Ifc4x3::IfcDoorStyleConstructionEnum::operator Ifc4x3::IfcDoorStyleConstructionEnum::Value() const { - return (Ifc4x3::IfcDoorStyleConstructionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcDoorStyleConstructionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcDoorStyleOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[342]); } @@ -2169,7 +2169,7 @@ Ifc4x3::IfcDoorStyleOperationEnum::Value Ifc4x3::IfcDoorStyleOperationEnum::From } Ifc4x3::IfcDoorStyleOperationEnum::operator Ifc4x3::IfcDoorStyleOperationEnum::Value() const { - return (Ifc4x3::IfcDoorStyleOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcDoorStyleOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcDoorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[344]); } @@ -2196,7 +2196,7 @@ Ifc4x3::IfcDoorTypeEnum::Value Ifc4x3::IfcDoorTypeEnum::FromString(const std::st } Ifc4x3::IfcDoorTypeEnum::operator Ifc4x3::IfcDoorTypeEnum::Value() const { - return (Ifc4x3::IfcDoorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcDoorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcDoorTypeOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[345]); } @@ -2223,7 +2223,7 @@ Ifc4x3::IfcDoorTypeOperationEnum::Value Ifc4x3::IfcDoorTypeOperationEnum::FromSt } Ifc4x3::IfcDoorTypeOperationEnum::operator Ifc4x3::IfcDoorTypeOperationEnum::Value() const { - return (Ifc4x3::IfcDoorTypeOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcDoorTypeOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcDuctFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[351]); } @@ -2250,7 +2250,7 @@ Ifc4x3::IfcDuctFittingTypeEnum::Value Ifc4x3::IfcDuctFittingTypeEnum::FromString } Ifc4x3::IfcDuctFittingTypeEnum::operator Ifc4x3::IfcDuctFittingTypeEnum::Value() const { - return (Ifc4x3::IfcDuctFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcDuctFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcDuctSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[354]); } @@ -2277,7 +2277,7 @@ Ifc4x3::IfcDuctSegmentTypeEnum::Value Ifc4x3::IfcDuctSegmentTypeEnum::FromString } Ifc4x3::IfcDuctSegmentTypeEnum::operator Ifc4x3::IfcDuctSegmentTypeEnum::Value() const { - return (Ifc4x3::IfcDuctSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcDuctSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcDuctSilencerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[357]); } @@ -2304,7 +2304,7 @@ Ifc4x3::IfcDuctSilencerTypeEnum::Value Ifc4x3::IfcDuctSilencerTypeEnum::FromStri } Ifc4x3::IfcDuctSilencerTypeEnum::operator Ifc4x3::IfcDuctSilencerTypeEnum::Value() const { - return (Ifc4x3::IfcDuctSilencerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcDuctSilencerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcEarthworksCutTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[361]); } @@ -2331,7 +2331,7 @@ Ifc4x3::IfcEarthworksCutTypeEnum::Value Ifc4x3::IfcEarthworksCutTypeEnum::FromSt } Ifc4x3::IfcEarthworksCutTypeEnum::operator Ifc4x3::IfcEarthworksCutTypeEnum::Value() const { - return (Ifc4x3::IfcEarthworksCutTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcEarthworksCutTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcEarthworksFillTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[364]); } @@ -2358,7 +2358,7 @@ Ifc4x3::IfcEarthworksFillTypeEnum::Value Ifc4x3::IfcEarthworksFillTypeEnum::From } Ifc4x3::IfcEarthworksFillTypeEnum::operator Ifc4x3::IfcEarthworksFillTypeEnum::Value() const { - return (Ifc4x3::IfcEarthworksFillTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcEarthworksFillTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcElectricApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[370]); } @@ -2385,7 +2385,7 @@ Ifc4x3::IfcElectricApplianceTypeEnum::Value Ifc4x3::IfcElectricApplianceTypeEnum } Ifc4x3::IfcElectricApplianceTypeEnum::operator Ifc4x3::IfcElectricApplianceTypeEnum::Value() const { - return (Ifc4x3::IfcElectricApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcElectricApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcElectricDistributionBoardTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[377]); } @@ -2412,7 +2412,7 @@ Ifc4x3::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3::IfcElectricDistribut } Ifc4x3::IfcElectricDistributionBoardTypeEnum::operator Ifc4x3::IfcElectricDistributionBoardTypeEnum::Value() const { - return (Ifc4x3::IfcElectricDistributionBoardTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcElectricDistributionBoardTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[380]); } @@ -2439,7 +2439,7 @@ Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3::IfcElectricFlowStora } Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::operator Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Value() const { - return (Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[383]); } @@ -2466,7 +2466,7 @@ Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3::IfcElectricFlowTre } Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::operator Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Value() const { - return (Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcElectricGeneratorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[386]); } @@ -2493,7 +2493,7 @@ Ifc4x3::IfcElectricGeneratorTypeEnum::Value Ifc4x3::IfcElectricGeneratorTypeEnum } Ifc4x3::IfcElectricGeneratorTypeEnum::operator Ifc4x3::IfcElectricGeneratorTypeEnum::Value() const { - return (Ifc4x3::IfcElectricGeneratorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcElectricGeneratorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcElectricMotorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[389]); } @@ -2520,7 +2520,7 @@ Ifc4x3::IfcElectricMotorTypeEnum::Value Ifc4x3::IfcElectricMotorTypeEnum::FromSt } Ifc4x3::IfcElectricMotorTypeEnum::operator Ifc4x3::IfcElectricMotorTypeEnum::Value() const { - return (Ifc4x3::IfcElectricMotorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcElectricMotorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcElectricTimeControlTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[393]); } @@ -2547,7 +2547,7 @@ Ifc4x3::IfcElectricTimeControlTypeEnum::Value Ifc4x3::IfcElectricTimeControlType } Ifc4x3::IfcElectricTimeControlTypeEnum::operator Ifc4x3::IfcElectricTimeControlTypeEnum::Value() const { - return (Ifc4x3::IfcElectricTimeControlTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcElectricTimeControlTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcElementAssemblyTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[399]); } @@ -2574,7 +2574,7 @@ Ifc4x3::IfcElementAssemblyTypeEnum::Value Ifc4x3::IfcElementAssemblyTypeEnum::Fr } Ifc4x3::IfcElementAssemblyTypeEnum::operator Ifc4x3::IfcElementAssemblyTypeEnum::Value() const { - return (Ifc4x3::IfcElementAssemblyTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcElementAssemblyTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcElementCompositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[402]); } @@ -2601,7 +2601,7 @@ Ifc4x3::IfcElementCompositionEnum::Value Ifc4x3::IfcElementCompositionEnum::From } Ifc4x3::IfcElementCompositionEnum::operator Ifc4x3::IfcElementCompositionEnum::Value() const { - return (Ifc4x3::IfcElementCompositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcElementCompositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcEngineTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[412]); } @@ -2628,7 +2628,7 @@ Ifc4x3::IfcEngineTypeEnum::Value Ifc4x3::IfcEngineTypeEnum::FromString(const std } Ifc4x3::IfcEngineTypeEnum::operator Ifc4x3::IfcEngineTypeEnum::Value() const { - return (Ifc4x3::IfcEngineTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcEngineTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcEvaporativeCoolerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[415]); } @@ -2655,7 +2655,7 @@ Ifc4x3::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3::IfcEvaporativeCoolerTypeEnum } Ifc4x3::IfcEvaporativeCoolerTypeEnum::operator Ifc4x3::IfcEvaporativeCoolerTypeEnum::Value() const { - return (Ifc4x3::IfcEvaporativeCoolerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcEvaporativeCoolerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcEvaporatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[418]); } @@ -2682,7 +2682,7 @@ Ifc4x3::IfcEvaporatorTypeEnum::Value Ifc4x3::IfcEvaporatorTypeEnum::FromString(c } Ifc4x3::IfcEvaporatorTypeEnum::operator Ifc4x3::IfcEvaporatorTypeEnum::Value() const { - return (Ifc4x3::IfcEvaporatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcEvaporatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcEventTriggerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[421]); } @@ -2709,7 +2709,7 @@ Ifc4x3::IfcEventTriggerTypeEnum::Value Ifc4x3::IfcEventTriggerTypeEnum::FromStri } Ifc4x3::IfcEventTriggerTypeEnum::operator Ifc4x3::IfcEventTriggerTypeEnum::Value() const { - return (Ifc4x3::IfcEventTriggerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcEventTriggerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcEventTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[423]); } @@ -2736,7 +2736,7 @@ Ifc4x3::IfcEventTypeEnum::Value Ifc4x3::IfcEventTypeEnum::FromString(const std:: } Ifc4x3::IfcEventTypeEnum::operator Ifc4x3::IfcEventTypeEnum::Value() const { - return (Ifc4x3::IfcEventTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcEventTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcExternalSpatialElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[432]); } @@ -2763,7 +2763,7 @@ Ifc4x3::IfcExternalSpatialElementTypeEnum::Value Ifc4x3::IfcExternalSpatialEleme } Ifc4x3::IfcExternalSpatialElementTypeEnum::operator Ifc4x3::IfcExternalSpatialElementTypeEnum::Value() const { - return (Ifc4x3::IfcExternalSpatialElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcExternalSpatialElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcFacilityPartCommonTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[446]); } @@ -2790,7 +2790,7 @@ Ifc4x3::IfcFacilityPartCommonTypeEnum::Value Ifc4x3::IfcFacilityPartCommonTypeEn } Ifc4x3::IfcFacilityPartCommonTypeEnum::operator Ifc4x3::IfcFacilityPartCommonTypeEnum::Value() const { - return (Ifc4x3::IfcFacilityPartCommonTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcFacilityPartCommonTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcFacilityUsageEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[447]); } @@ -2817,7 +2817,7 @@ Ifc4x3::IfcFacilityUsageEnum::Value Ifc4x3::IfcFacilityUsageEnum::FromString(con } Ifc4x3::IfcFacilityUsageEnum::operator Ifc4x3::IfcFacilityUsageEnum::Value() const { - return (Ifc4x3::IfcFacilityUsageEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcFacilityUsageEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcFanTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[451]); } @@ -2844,7 +2844,7 @@ Ifc4x3::IfcFanTypeEnum::Value Ifc4x3::IfcFanTypeEnum::FromString(const std::stri } Ifc4x3::IfcFanTypeEnum::operator Ifc4x3::IfcFanTypeEnum::Value() const { - return (Ifc4x3::IfcFanTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcFanTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcFastenerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[454]); } @@ -2871,7 +2871,7 @@ Ifc4x3::IfcFastenerTypeEnum::Value Ifc4x3::IfcFastenerTypeEnum::FromString(const } Ifc4x3::IfcFastenerTypeEnum::operator Ifc4x3::IfcFastenerTypeEnum::Value() const { - return (Ifc4x3::IfcFastenerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcFastenerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcFilterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[464]); } @@ -2898,7 +2898,7 @@ Ifc4x3::IfcFilterTypeEnum::Value Ifc4x3::IfcFilterTypeEnum::FromString(const std } Ifc4x3::IfcFilterTypeEnum::operator Ifc4x3::IfcFilterTypeEnum::Value() const { - return (Ifc4x3::IfcFilterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcFilterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcFireSuppressionTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[467]); } @@ -2925,7 +2925,7 @@ Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3::IfcFireSuppressionTerm } Ifc4x3::IfcFireSuppressionTerminalTypeEnum::operator Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Value() const { - return (Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcFlowDirectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[471]); } @@ -2952,7 +2952,7 @@ Ifc4x3::IfcFlowDirectionEnum::Value Ifc4x3::IfcFlowDirectionEnum::FromString(con } Ifc4x3::IfcFlowDirectionEnum::operator Ifc4x3::IfcFlowDirectionEnum::Value() const { - return (Ifc4x3::IfcFlowDirectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcFlowDirectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcFlowInstrumentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[476]); } @@ -2979,7 +2979,7 @@ Ifc4x3::IfcFlowInstrumentTypeEnum::Value Ifc4x3::IfcFlowInstrumentTypeEnum::From } Ifc4x3::IfcFlowInstrumentTypeEnum::operator Ifc4x3::IfcFlowInstrumentTypeEnum::Value() const { - return (Ifc4x3::IfcFlowInstrumentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcFlowInstrumentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcFlowMeterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[479]); } @@ -3006,7 +3006,7 @@ Ifc4x3::IfcFlowMeterTypeEnum::Value Ifc4x3::IfcFlowMeterTypeEnum::FromString(con } Ifc4x3::IfcFlowMeterTypeEnum::operator Ifc4x3::IfcFlowMeterTypeEnum::Value() const { - return (Ifc4x3::IfcFlowMeterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcFlowMeterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcFootingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[495]); } @@ -3033,7 +3033,7 @@ Ifc4x3::IfcFootingTypeEnum::Value Ifc4x3::IfcFootingTypeEnum::FromString(const s } Ifc4x3::IfcFootingTypeEnum::operator Ifc4x3::IfcFootingTypeEnum::Value() const { - return (Ifc4x3::IfcFootingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcFootingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcFurnitureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[502]); } @@ -3060,7 +3060,7 @@ Ifc4x3::IfcFurnitureTypeEnum::Value Ifc4x3::IfcFurnitureTypeEnum::FromString(con } Ifc4x3::IfcFurnitureTypeEnum::operator Ifc4x3::IfcFurnitureTypeEnum::Value() const { - return (Ifc4x3::IfcFurnitureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcFurnitureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcGeographicElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[505]); } @@ -3087,7 +3087,7 @@ Ifc4x3::IfcGeographicElementTypeEnum::Value Ifc4x3::IfcGeographicElementTypeEnum } Ifc4x3::IfcGeographicElementTypeEnum::operator Ifc4x3::IfcGeographicElementTypeEnum::Value() const { - return (Ifc4x3::IfcGeographicElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcGeographicElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcGeometricProjectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[507]); } @@ -3114,7 +3114,7 @@ Ifc4x3::IfcGeometricProjectionEnum::Value Ifc4x3::IfcGeometricProjectionEnum::Fr } Ifc4x3::IfcGeometricProjectionEnum::operator Ifc4x3::IfcGeometricProjectionEnum::Value() const { - return (Ifc4x3::IfcGeometricProjectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcGeometricProjectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcGeotechnicalStratumTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[518]); } @@ -3141,7 +3141,7 @@ Ifc4x3::IfcGeotechnicalStratumTypeEnum::Value Ifc4x3::IfcGeotechnicalStratumType } Ifc4x3::IfcGeotechnicalStratumTypeEnum::operator Ifc4x3::IfcGeotechnicalStratumTypeEnum::Value() const { - return (Ifc4x3::IfcGeotechnicalStratumTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcGeotechnicalStratumTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcGlobalOrLocalEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[520]); } @@ -3168,7 +3168,7 @@ Ifc4x3::IfcGlobalOrLocalEnum::Value Ifc4x3::IfcGlobalOrLocalEnum::FromString(con } Ifc4x3::IfcGlobalOrLocalEnum::operator Ifc4x3::IfcGlobalOrLocalEnum::Value() const { - return (Ifc4x3::IfcGlobalOrLocalEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcGlobalOrLocalEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcGridTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[526]); } @@ -3195,7 +3195,7 @@ Ifc4x3::IfcGridTypeEnum::Value Ifc4x3::IfcGridTypeEnum::FromString(const std::st } Ifc4x3::IfcGridTypeEnum::operator Ifc4x3::IfcGridTypeEnum::Value() const { - return (Ifc4x3::IfcGridTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcGridTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcHeatExchangerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[532]); } @@ -3222,7 +3222,7 @@ Ifc4x3::IfcHeatExchangerTypeEnum::Value Ifc4x3::IfcHeatExchangerTypeEnum::FromSt } Ifc4x3::IfcHeatExchangerTypeEnum::operator Ifc4x3::IfcHeatExchangerTypeEnum::Value() const { - return (Ifc4x3::IfcHeatExchangerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcHeatExchangerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcHumidifierTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[537]); } @@ -3249,7 +3249,7 @@ Ifc4x3::IfcHumidifierTypeEnum::Value Ifc4x3::IfcHumidifierTypeEnum::FromString(c } Ifc4x3::IfcHumidifierTypeEnum::operator Ifc4x3::IfcHumidifierTypeEnum::Value() const { - return (Ifc4x3::IfcHumidifierTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcHumidifierTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcImpactProtectionDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[543]); } @@ -3276,7 +3276,7 @@ Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Value Ifc4x3::IfcImpactProtectionDevi } Ifc4x3::IfcImpactProtectionDeviceTypeEnum::operator Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Value() const { - return (Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcInterceptorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[556]); } @@ -3303,7 +3303,7 @@ Ifc4x3::IfcInterceptorTypeEnum::Value Ifc4x3::IfcInterceptorTypeEnum::FromString } Ifc4x3::IfcInterceptorTypeEnum::operator Ifc4x3::IfcInterceptorTypeEnum::Value() const { - return (Ifc4x3::IfcInterceptorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcInterceptorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcInternalOrExternalEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[558]); } @@ -3330,7 +3330,7 @@ Ifc4x3::IfcInternalOrExternalEnum::Value Ifc4x3::IfcInternalOrExternalEnum::From } Ifc4x3::IfcInternalOrExternalEnum::operator Ifc4x3::IfcInternalOrExternalEnum::Value() const { - return (Ifc4x3::IfcInternalOrExternalEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcInternalOrExternalEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcInventoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[561]); } @@ -3357,7 +3357,7 @@ Ifc4x3::IfcInventoryTypeEnum::Value Ifc4x3::IfcInventoryTypeEnum::FromString(con } Ifc4x3::IfcInventoryTypeEnum::operator Ifc4x3::IfcInventoryTypeEnum::Value() const { - return (Ifc4x3::IfcInventoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcInventoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcJunctionBoxTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[569]); } @@ -3384,7 +3384,7 @@ Ifc4x3::IfcJunctionBoxTypeEnum::Value Ifc4x3::IfcJunctionBoxTypeEnum::FromString } Ifc4x3::IfcJunctionBoxTypeEnum::operator Ifc4x3::IfcJunctionBoxTypeEnum::Value() const { - return (Ifc4x3::IfcJunctionBoxTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcJunctionBoxTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcKnotType::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[573]); } @@ -3411,7 +3411,7 @@ Ifc4x3::IfcKnotType::Value Ifc4x3::IfcKnotType::FromString(const std::string& s) } Ifc4x3::IfcKnotType::operator Ifc4x3::IfcKnotType::Value() const { - return (Ifc4x3::IfcKnotType::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcKnotType::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcLaborResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[577]); } @@ -3438,7 +3438,7 @@ Ifc4x3::IfcLaborResourceTypeEnum::Value Ifc4x3::IfcLaborResourceTypeEnum::FromSt } Ifc4x3::IfcLaborResourceTypeEnum::operator Ifc4x3::IfcLaborResourceTypeEnum::Value() const { - return (Ifc4x3::IfcLaborResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcLaborResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcLampTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[581]); } @@ -3465,7 +3465,7 @@ Ifc4x3::IfcLampTypeEnum::Value Ifc4x3::IfcLampTypeEnum::FromString(const std::st } Ifc4x3::IfcLampTypeEnum::operator Ifc4x3::IfcLampTypeEnum::Value() const { - return (Ifc4x3::IfcLampTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcLampTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcLayerSetDirectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[584]); } @@ -3492,7 +3492,7 @@ Ifc4x3::IfcLayerSetDirectionEnum::Value Ifc4x3::IfcLayerSetDirectionEnum::FromSt } Ifc4x3::IfcLayerSetDirectionEnum::operator Ifc4x3::IfcLayerSetDirectionEnum::Value() const { - return (Ifc4x3::IfcLayerSetDirectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcLayerSetDirectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcLightDistributionCurveEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[589]); } @@ -3519,7 +3519,7 @@ Ifc4x3::IfcLightDistributionCurveEnum::Value Ifc4x3::IfcLightDistributionCurveEn } Ifc4x3::IfcLightDistributionCurveEnum::operator Ifc4x3::IfcLightDistributionCurveEnum::Value() const { - return (Ifc4x3::IfcLightDistributionCurveEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcLightDistributionCurveEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcLightEmissionSourceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[592]); } @@ -3546,7 +3546,7 @@ Ifc4x3::IfcLightEmissionSourceEnum::Value Ifc4x3::IfcLightEmissionSourceEnum::Fr } Ifc4x3::IfcLightEmissionSourceEnum::operator Ifc4x3::IfcLightEmissionSourceEnum::Value() const { - return (Ifc4x3::IfcLightEmissionSourceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcLightEmissionSourceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcLightFixtureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[595]); } @@ -3573,7 +3573,7 @@ Ifc4x3::IfcLightFixtureTypeEnum::Value Ifc4x3::IfcLightFixtureTypeEnum::FromStri } Ifc4x3::IfcLightFixtureTypeEnum::operator Ifc4x3::IfcLightFixtureTypeEnum::Value() const { - return (Ifc4x3::IfcLightFixtureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcLightFixtureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcLiquidTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[614]); } @@ -3600,7 +3600,7 @@ Ifc4x3::IfcLiquidTerminalTypeEnum::Value Ifc4x3::IfcLiquidTerminalTypeEnum::From } Ifc4x3::IfcLiquidTerminalTypeEnum::operator Ifc4x3::IfcLiquidTerminalTypeEnum::Value() const { - return (Ifc4x3::IfcLiquidTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcLiquidTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcLoadGroupTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[615]); } @@ -3627,7 +3627,7 @@ Ifc4x3::IfcLoadGroupTypeEnum::Value Ifc4x3::IfcLoadGroupTypeEnum::FromString(con } Ifc4x3::IfcLoadGroupTypeEnum::operator Ifc4x3::IfcLoadGroupTypeEnum::Value() const { - return (Ifc4x3::IfcLoadGroupTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcLoadGroupTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcLogicalOperatorEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[618]); } @@ -3654,7 +3654,7 @@ Ifc4x3::IfcLogicalOperatorEnum::Value Ifc4x3::IfcLogicalOperatorEnum::FromString } Ifc4x3::IfcLogicalOperatorEnum::operator Ifc4x3::IfcLogicalOperatorEnum::Value() const { - return (Ifc4x3::IfcLogicalOperatorEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcLogicalOperatorEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcMarineFacilityTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[630]); } @@ -3681,7 +3681,7 @@ Ifc4x3::IfcMarineFacilityTypeEnum::Value Ifc4x3::IfcMarineFacilityTypeEnum::From } Ifc4x3::IfcMarineFacilityTypeEnum::operator Ifc4x3::IfcMarineFacilityTypeEnum::Value() const { - return (Ifc4x3::IfcMarineFacilityTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcMarineFacilityTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcMarinePartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[632]); } @@ -3708,7 +3708,7 @@ Ifc4x3::IfcMarinePartTypeEnum::Value Ifc4x3::IfcMarinePartTypeEnum::FromString(c } Ifc4x3::IfcMarinePartTypeEnum::operator Ifc4x3::IfcMarinePartTypeEnum::Value() const { - return (Ifc4x3::IfcMarinePartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcMarinePartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcMechanicalFastenerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[661]); } @@ -3735,7 +3735,7 @@ Ifc4x3::IfcMechanicalFastenerTypeEnum::Value Ifc4x3::IfcMechanicalFastenerTypeEn } Ifc4x3::IfcMechanicalFastenerTypeEnum::operator Ifc4x3::IfcMechanicalFastenerTypeEnum::Value() const { - return (Ifc4x3::IfcMechanicalFastenerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcMechanicalFastenerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcMedicalDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[664]); } @@ -3762,7 +3762,7 @@ Ifc4x3::IfcMedicalDeviceTypeEnum::Value Ifc4x3::IfcMedicalDeviceTypeEnum::FromSt } Ifc4x3::IfcMedicalDeviceTypeEnum::operator Ifc4x3::IfcMedicalDeviceTypeEnum::Value() const { - return (Ifc4x3::IfcMedicalDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcMedicalDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcMemberTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[667]); } @@ -3789,7 +3789,7 @@ Ifc4x3::IfcMemberTypeEnum::Value Ifc4x3::IfcMemberTypeEnum::FromString(const std } Ifc4x3::IfcMemberTypeEnum::operator Ifc4x3::IfcMemberTypeEnum::Value() const { - return (Ifc4x3::IfcMemberTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcMemberTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[673]); } @@ -3816,7 +3816,7 @@ Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3::IfcMobileTel } Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::operator Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Value() const { - return (Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcMooringDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[689]); } @@ -3843,7 +3843,7 @@ Ifc4x3::IfcMooringDeviceTypeEnum::Value Ifc4x3::IfcMooringDeviceTypeEnum::FromSt } Ifc4x3::IfcMooringDeviceTypeEnum::operator Ifc4x3::IfcMooringDeviceTypeEnum::Value() const { - return (Ifc4x3::IfcMooringDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcMooringDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcMotorConnectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[692]); } @@ -3870,7 +3870,7 @@ Ifc4x3::IfcMotorConnectionTypeEnum::Value Ifc4x3::IfcMotorConnectionTypeEnum::Fr } Ifc4x3::IfcMotorConnectionTypeEnum::operator Ifc4x3::IfcMotorConnectionTypeEnum::Value() const { - return (Ifc4x3::IfcMotorConnectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcMotorConnectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcNavigationElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[696]); } @@ -3897,7 +3897,7 @@ Ifc4x3::IfcNavigationElementTypeEnum::Value Ifc4x3::IfcNavigationElementTypeEnum } Ifc4x3::IfcNavigationElementTypeEnum::operator Ifc4x3::IfcNavigationElementTypeEnum::Value() const { - return (Ifc4x3::IfcNavigationElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcNavigationElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcObjectTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[706]); } @@ -3924,7 +3924,7 @@ Ifc4x3::IfcObjectTypeEnum::Value Ifc4x3::IfcObjectTypeEnum::FromString(const std } Ifc4x3::IfcObjectTypeEnum::operator Ifc4x3::IfcObjectTypeEnum::Value() const { - return (Ifc4x3::IfcObjectTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcObjectTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcObjectiveEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[703]); } @@ -3951,7 +3951,7 @@ Ifc4x3::IfcObjectiveEnum::Value Ifc4x3::IfcObjectiveEnum::FromString(const std:: } Ifc4x3::IfcObjectiveEnum::operator Ifc4x3::IfcObjectiveEnum::Value() const { - return (Ifc4x3::IfcObjectiveEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcObjectiveEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcOccupantTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[708]); } @@ -3978,7 +3978,7 @@ Ifc4x3::IfcOccupantTypeEnum::Value Ifc4x3::IfcOccupantTypeEnum::FromString(const } Ifc4x3::IfcOccupantTypeEnum::operator Ifc4x3::IfcOccupantTypeEnum::Value() const { - return (Ifc4x3::IfcOccupantTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcOccupantTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcOpeningElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[715]); } @@ -4005,7 +4005,7 @@ Ifc4x3::IfcOpeningElementTypeEnum::Value Ifc4x3::IfcOpeningElementTypeEnum::From } Ifc4x3::IfcOpeningElementTypeEnum::operator Ifc4x3::IfcOpeningElementTypeEnum::Value() const { - return (Ifc4x3::IfcOpeningElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcOpeningElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcOutletTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[723]); } @@ -4032,7 +4032,7 @@ Ifc4x3::IfcOutletTypeEnum::Value Ifc4x3::IfcOutletTypeEnum::FromString(const std } Ifc4x3::IfcOutletTypeEnum::operator Ifc4x3::IfcOutletTypeEnum::Value() const { - return (Ifc4x3::IfcOutletTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcOutletTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcPavementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[730]); } @@ -4059,7 +4059,7 @@ Ifc4x3::IfcPavementTypeEnum::Value Ifc4x3::IfcPavementTypeEnum::FromString(const } Ifc4x3::IfcPavementTypeEnum::operator Ifc4x3::IfcPavementTypeEnum::Value() const { - return (Ifc4x3::IfcPavementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcPavementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcPerformanceHistoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[733]); } @@ -4086,7 +4086,7 @@ Ifc4x3::IfcPerformanceHistoryTypeEnum::Value Ifc4x3::IfcPerformanceHistoryTypeEn } Ifc4x3::IfcPerformanceHistoryTypeEnum::operator Ifc4x3::IfcPerformanceHistoryTypeEnum::Value() const { - return (Ifc4x3::IfcPerformanceHistoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcPerformanceHistoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcPermeableCoveringOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[734]); } @@ -4113,7 +4113,7 @@ Ifc4x3::IfcPermeableCoveringOperationEnum::Value Ifc4x3::IfcPermeableCoveringOpe } Ifc4x3::IfcPermeableCoveringOperationEnum::operator Ifc4x3::IfcPermeableCoveringOperationEnum::Value() const { - return (Ifc4x3::IfcPermeableCoveringOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcPermeableCoveringOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcPermitTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[737]); } @@ -4140,7 +4140,7 @@ Ifc4x3::IfcPermitTypeEnum::Value Ifc4x3::IfcPermitTypeEnum::FromString(const std } Ifc4x3::IfcPermitTypeEnum::operator Ifc4x3::IfcPermitTypeEnum::Value() const { - return (Ifc4x3::IfcPermitTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcPermitTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcPhysicalOrVirtualEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[742]); } @@ -4167,7 +4167,7 @@ Ifc4x3::IfcPhysicalOrVirtualEnum::Value Ifc4x3::IfcPhysicalOrVirtualEnum::FromSt } Ifc4x3::IfcPhysicalOrVirtualEnum::operator Ifc4x3::IfcPhysicalOrVirtualEnum::Value() const { - return (Ifc4x3::IfcPhysicalOrVirtualEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcPhysicalOrVirtualEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcPileConstructionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[746]); } @@ -4194,7 +4194,7 @@ Ifc4x3::IfcPileConstructionEnum::Value Ifc4x3::IfcPileConstructionEnum::FromStri } Ifc4x3::IfcPileConstructionEnum::operator Ifc4x3::IfcPileConstructionEnum::Value() const { - return (Ifc4x3::IfcPileConstructionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcPileConstructionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcPileTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[748]); } @@ -4221,7 +4221,7 @@ Ifc4x3::IfcPileTypeEnum::Value Ifc4x3::IfcPileTypeEnum::FromString(const std::st } Ifc4x3::IfcPileTypeEnum::operator Ifc4x3::IfcPileTypeEnum::Value() const { - return (Ifc4x3::IfcPileTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcPileTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcPipeFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[751]); } @@ -4248,7 +4248,7 @@ Ifc4x3::IfcPipeFittingTypeEnum::Value Ifc4x3::IfcPipeFittingTypeEnum::FromString } Ifc4x3::IfcPipeFittingTypeEnum::operator Ifc4x3::IfcPipeFittingTypeEnum::Value() const { - return (Ifc4x3::IfcPipeFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcPipeFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcPipeSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[754]); } @@ -4275,7 +4275,7 @@ Ifc4x3::IfcPipeSegmentTypeEnum::Value Ifc4x3::IfcPipeSegmentTypeEnum::FromString } Ifc4x3::IfcPipeSegmentTypeEnum::operator Ifc4x3::IfcPipeSegmentTypeEnum::Value() const { - return (Ifc4x3::IfcPipeSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcPipeSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcPlateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[764]); } @@ -4302,7 +4302,7 @@ Ifc4x3::IfcPlateTypeEnum::Value Ifc4x3::IfcPlateTypeEnum::FromString(const std:: } Ifc4x3::IfcPlateTypeEnum::operator Ifc4x3::IfcPlateTypeEnum::Value() const { - return (Ifc4x3::IfcPlateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcPlateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcPreferredSurfaceCurveRepresentation::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[789]); } @@ -4329,7 +4329,7 @@ Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x3::IfcPreferredSurfac } Ifc4x3::IfcPreferredSurfaceCurveRepresentation::operator Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Value() const { - return (Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcProcedureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[798]); } @@ -4356,7 +4356,7 @@ Ifc4x3::IfcProcedureTypeEnum::Value Ifc4x3::IfcProcedureTypeEnum::FromString(con } Ifc4x3::IfcProcedureTypeEnum::operator Ifc4x3::IfcProcedureTypeEnum::Value() const { - return (Ifc4x3::IfcProcedureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcProcedureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcProfileTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[808]); } @@ -4383,7 +4383,7 @@ Ifc4x3::IfcProfileTypeEnum::Value Ifc4x3::IfcProfileTypeEnum::FromString(const s } Ifc4x3::IfcProfileTypeEnum::operator Ifc4x3::IfcProfileTypeEnum::Value() const { - return (Ifc4x3::IfcProfileTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcProfileTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcProjectOrderTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[816]); } @@ -4410,7 +4410,7 @@ Ifc4x3::IfcProjectOrderTypeEnum::Value Ifc4x3::IfcProjectOrderTypeEnum::FromStri } Ifc4x3::IfcProjectOrderTypeEnum::operator Ifc4x3::IfcProjectOrderTypeEnum::Value() const { - return (Ifc4x3::IfcProjectOrderTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcProjectOrderTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcProjectedOrTrueLengthEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[811]); } @@ -4437,7 +4437,7 @@ Ifc4x3::IfcProjectedOrTrueLengthEnum::Value Ifc4x3::IfcProjectedOrTrueLengthEnum } Ifc4x3::IfcProjectedOrTrueLengthEnum::operator Ifc4x3::IfcProjectedOrTrueLengthEnum::Value() const { - return (Ifc4x3::IfcProjectedOrTrueLengthEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcProjectedOrTrueLengthEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcProjectionElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[813]); } @@ -4464,7 +4464,7 @@ Ifc4x3::IfcProjectionElementTypeEnum::Value Ifc4x3::IfcProjectionElementTypeEnum } Ifc4x3::IfcProjectionElementTypeEnum::operator Ifc4x3::IfcProjectionElementTypeEnum::Value() const { - return (Ifc4x3::IfcProjectionElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcProjectionElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcPropertySetTemplateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[831]); } @@ -4491,7 +4491,7 @@ Ifc4x3::IfcPropertySetTemplateTypeEnum::Value Ifc4x3::IfcPropertySetTemplateType } Ifc4x3::IfcPropertySetTemplateTypeEnum::operator Ifc4x3::IfcPropertySetTemplateTypeEnum::Value() const { - return (Ifc4x3::IfcPropertySetTemplateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcPropertySetTemplateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[839]); } @@ -4518,7 +4518,7 @@ Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3::IfcProtectiveDevi } Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::operator Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value() const { - return (Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcProtectiveDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[841]); } @@ -4545,7 +4545,7 @@ Ifc4x3::IfcProtectiveDeviceTypeEnum::Value Ifc4x3::IfcProtectiveDeviceTypeEnum:: } Ifc4x3::IfcProtectiveDeviceTypeEnum::operator Ifc4x3::IfcProtectiveDeviceTypeEnum::Value() const { - return (Ifc4x3::IfcProtectiveDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcProtectiveDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcPumpTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[844]); } @@ -4572,7 +4572,7 @@ Ifc4x3::IfcPumpTypeEnum::Value Ifc4x3::IfcPumpTypeEnum::FromString(const std::st } Ifc4x3::IfcPumpTypeEnum::operator Ifc4x3::IfcPumpTypeEnum::Value() const { - return (Ifc4x3::IfcPumpTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcPumpTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcRailTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[859]); } @@ -4599,7 +4599,7 @@ Ifc4x3::IfcRailTypeEnum::Value Ifc4x3::IfcRailTypeEnum::FromString(const std::st } Ifc4x3::IfcRailTypeEnum::operator Ifc4x3::IfcRailTypeEnum::Value() const { - return (Ifc4x3::IfcRailTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcRailTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcRailingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[857]); } @@ -4626,7 +4626,7 @@ Ifc4x3::IfcRailingTypeEnum::Value Ifc4x3::IfcRailingTypeEnum::FromString(const s } Ifc4x3::IfcRailingTypeEnum::operator Ifc4x3::IfcRailingTypeEnum::Value() const { - return (Ifc4x3::IfcRailingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcRailingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcRailwayPartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[862]); } @@ -4653,7 +4653,7 @@ Ifc4x3::IfcRailwayPartTypeEnum::Value Ifc4x3::IfcRailwayPartTypeEnum::FromString } Ifc4x3::IfcRailwayPartTypeEnum::operator Ifc4x3::IfcRailwayPartTypeEnum::Value() const { - return (Ifc4x3::IfcRailwayPartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcRailwayPartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcRailwayTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[863]); } @@ -4680,7 +4680,7 @@ Ifc4x3::IfcRailwayTypeEnum::Value Ifc4x3::IfcRailwayTypeEnum::FromString(const s } Ifc4x3::IfcRailwayTypeEnum::operator Ifc4x3::IfcRailwayTypeEnum::Value() const { - return (Ifc4x3::IfcRailwayTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcRailwayTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcRampFlightTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[867]); } @@ -4707,7 +4707,7 @@ Ifc4x3::IfcRampFlightTypeEnum::Value Ifc4x3::IfcRampFlightTypeEnum::FromString(c } Ifc4x3::IfcRampFlightTypeEnum::operator Ifc4x3::IfcRampFlightTypeEnum::Value() const { - return (Ifc4x3::IfcRampFlightTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcRampFlightTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcRampTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[869]); } @@ -4734,7 +4734,7 @@ Ifc4x3::IfcRampTypeEnum::Value Ifc4x3::IfcRampTypeEnum::FromString(const std::st } Ifc4x3::IfcRampTypeEnum::operator Ifc4x3::IfcRampTypeEnum::Value() const { - return (Ifc4x3::IfcRampTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcRampTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcRecurrenceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[879]); } @@ -4761,7 +4761,7 @@ Ifc4x3::IfcRecurrenceTypeEnum::Value Ifc4x3::IfcRecurrenceTypeEnum::FromString(c } Ifc4x3::IfcRecurrenceTypeEnum::operator Ifc4x3::IfcRecurrenceTypeEnum::Value() const { - return (Ifc4x3::IfcRecurrenceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcRecurrenceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcReferentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[882]); } @@ -4788,7 +4788,7 @@ Ifc4x3::IfcReferentTypeEnum::Value Ifc4x3::IfcReferentTypeEnum::FromString(const } Ifc4x3::IfcReferentTypeEnum::operator Ifc4x3::IfcReferentTypeEnum::Value() const { - return (Ifc4x3::IfcReferentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcReferentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcReflectanceMethodEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[883]); } @@ -4815,7 +4815,7 @@ Ifc4x3::IfcReflectanceMethodEnum::Value Ifc4x3::IfcReflectanceMethodEnum::FromSt } Ifc4x3::IfcReflectanceMethodEnum::operator Ifc4x3::IfcReflectanceMethodEnum::Value() const { - return (Ifc4x3::IfcReflectanceMethodEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcReflectanceMethodEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcReinforcedSoilTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[886]); } @@ -4842,7 +4842,7 @@ Ifc4x3::IfcReinforcedSoilTypeEnum::Value Ifc4x3::IfcReinforcedSoilTypeEnum::From } Ifc4x3::IfcReinforcedSoilTypeEnum::operator Ifc4x3::IfcReinforcedSoilTypeEnum::Value() const { - return (Ifc4x3::IfcReinforcedSoilTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcReinforcedSoilTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcReinforcingBarRoleEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[890]); } @@ -4869,7 +4869,7 @@ Ifc4x3::IfcReinforcingBarRoleEnum::Value Ifc4x3::IfcReinforcingBarRoleEnum::From } Ifc4x3::IfcReinforcingBarRoleEnum::operator Ifc4x3::IfcReinforcingBarRoleEnum::Value() const { - return (Ifc4x3::IfcReinforcingBarRoleEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcReinforcingBarRoleEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcReinforcingBarSurfaceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[891]); } @@ -4896,7 +4896,7 @@ Ifc4x3::IfcReinforcingBarSurfaceEnum::Value Ifc4x3::IfcReinforcingBarSurfaceEnum } Ifc4x3::IfcReinforcingBarSurfaceEnum::operator Ifc4x3::IfcReinforcingBarSurfaceEnum::Value() const { - return (Ifc4x3::IfcReinforcingBarSurfaceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcReinforcingBarSurfaceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcReinforcingBarTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[893]); } @@ -4923,7 +4923,7 @@ Ifc4x3::IfcReinforcingBarTypeEnum::Value Ifc4x3::IfcReinforcingBarTypeEnum::From } Ifc4x3::IfcReinforcingBarTypeEnum::operator Ifc4x3::IfcReinforcingBarTypeEnum::Value() const { - return (Ifc4x3::IfcReinforcingBarTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcReinforcingBarTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcReinforcingMeshTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[898]); } @@ -4950,7 +4950,7 @@ Ifc4x3::IfcReinforcingMeshTypeEnum::Value Ifc4x3::IfcReinforcingMeshTypeEnum::Fr } Ifc4x3::IfcReinforcingMeshTypeEnum::operator Ifc4x3::IfcReinforcingMeshTypeEnum::Value() const { - return (Ifc4x3::IfcReinforcingMeshTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcReinforcingMeshTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcRoadPartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[968]); } @@ -4977,7 +4977,7 @@ Ifc4x3::IfcRoadPartTypeEnum::Value Ifc4x3::IfcRoadPartTypeEnum::FromString(const } Ifc4x3::IfcRoadPartTypeEnum::operator Ifc4x3::IfcRoadPartTypeEnum::Value() const { - return (Ifc4x3::IfcRoadPartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcRoadPartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcRoadTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[969]); } @@ -5004,7 +5004,7 @@ Ifc4x3::IfcRoadTypeEnum::Value Ifc4x3::IfcRoadTypeEnum::FromString(const std::st } Ifc4x3::IfcRoadTypeEnum::operator Ifc4x3::IfcRoadTypeEnum::Value() const { - return (Ifc4x3::IfcRoadTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcRoadTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcRoleEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[970]); } @@ -5031,7 +5031,7 @@ Ifc4x3::IfcRoleEnum::Value Ifc4x3::IfcRoleEnum::FromString(const std::string& s) } Ifc4x3::IfcRoleEnum::operator Ifc4x3::IfcRoleEnum::Value() const { - return (Ifc4x3::IfcRoleEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcRoleEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcRoofTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[973]); } @@ -5058,7 +5058,7 @@ Ifc4x3::IfcRoofTypeEnum::Value Ifc4x3::IfcRoofTypeEnum::FromString(const std::st } Ifc4x3::IfcRoofTypeEnum::operator Ifc4x3::IfcRoofTypeEnum::Value() const { - return (Ifc4x3::IfcRoofTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcRoofTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcSIPrefix::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1023]); } @@ -5085,7 +5085,7 @@ Ifc4x3::IfcSIPrefix::Value Ifc4x3::IfcSIPrefix::FromString(const std::string& s) } Ifc4x3::IfcSIPrefix::operator Ifc4x3::IfcSIPrefix::Value() const { - return (Ifc4x3::IfcSIPrefix::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcSIPrefix::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcSIUnitName::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1026]); } @@ -5112,7 +5112,7 @@ Ifc4x3::IfcSIUnitName::Value Ifc4x3::IfcSIUnitName::FromString(const std::string } Ifc4x3::IfcSIUnitName::operator Ifc4x3::IfcSIUnitName::Value() const { - return (Ifc4x3::IfcSIUnitName::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcSIUnitName::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcSanitaryTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[982]); } @@ -5139,7 +5139,7 @@ Ifc4x3::IfcSanitaryTerminalTypeEnum::Value Ifc4x3::IfcSanitaryTerminalTypeEnum:: } Ifc4x3::IfcSanitaryTerminalTypeEnum::operator Ifc4x3::IfcSanitaryTerminalTypeEnum::Value() const { - return (Ifc4x3::IfcSanitaryTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcSanitaryTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcSectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[994]); } @@ -5166,7 +5166,7 @@ Ifc4x3::IfcSectionTypeEnum::Value Ifc4x3::IfcSectionTypeEnum::FromString(const s } Ifc4x3::IfcSectionTypeEnum::operator Ifc4x3::IfcSectionTypeEnum::Value() const { - return (Ifc4x3::IfcSectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcSectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcSensorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1000]); } @@ -5193,7 +5193,7 @@ Ifc4x3::IfcSensorTypeEnum::Value Ifc4x3::IfcSensorTypeEnum::FromString(const std } Ifc4x3::IfcSensorTypeEnum::operator Ifc4x3::IfcSensorTypeEnum::Value() const { - return (Ifc4x3::IfcSensorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcSensorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcSequenceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1001]); } @@ -5220,7 +5220,7 @@ Ifc4x3::IfcSequenceEnum::Value Ifc4x3::IfcSequenceEnum::FromString(const std::st } Ifc4x3::IfcSequenceEnum::operator Ifc4x3::IfcSequenceEnum::Value() const { - return (Ifc4x3::IfcSequenceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcSequenceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcShadingDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1005]); } @@ -5247,7 +5247,7 @@ Ifc4x3::IfcShadingDeviceTypeEnum::Value Ifc4x3::IfcShadingDeviceTypeEnum::FromSt } Ifc4x3::IfcShadingDeviceTypeEnum::operator Ifc4x3::IfcShadingDeviceTypeEnum::Value() const { - return (Ifc4x3::IfcShadingDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcShadingDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcSignTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1017]); } @@ -5274,7 +5274,7 @@ Ifc4x3::IfcSignTypeEnum::Value Ifc4x3::IfcSignTypeEnum::FromString(const std::st } Ifc4x3::IfcSignTypeEnum::operator Ifc4x3::IfcSignTypeEnum::Value() const { - return (Ifc4x3::IfcSignTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcSignTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcSignalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1015]); } @@ -5301,7 +5301,7 @@ Ifc4x3::IfcSignalTypeEnum::Value Ifc4x3::IfcSignalTypeEnum::FromString(const std } Ifc4x3::IfcSignalTypeEnum::operator Ifc4x3::IfcSignalTypeEnum::Value() const { - return (Ifc4x3::IfcSignalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcSignalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcSimplePropertyTemplateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1020]); } @@ -5328,7 +5328,7 @@ Ifc4x3::IfcSimplePropertyTemplateTypeEnum::Value Ifc4x3::IfcSimplePropertyTempla } Ifc4x3::IfcSimplePropertyTemplateTypeEnum::operator Ifc4x3::IfcSimplePropertyTemplateTypeEnum::Value() const { - return (Ifc4x3::IfcSimplePropertyTemplateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcSimplePropertyTemplateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcSlabTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1030]); } @@ -5355,7 +5355,7 @@ Ifc4x3::IfcSlabTypeEnum::Value Ifc4x3::IfcSlabTypeEnum::FromString(const std::st } Ifc4x3::IfcSlabTypeEnum::operator Ifc4x3::IfcSlabTypeEnum::Value() const { - return (Ifc4x3::IfcSlabTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcSlabTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcSolarDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1034]); } @@ -5382,7 +5382,7 @@ Ifc4x3::IfcSolarDeviceTypeEnum::Value Ifc4x3::IfcSolarDeviceTypeEnum::FromString } Ifc4x3::IfcSolarDeviceTypeEnum::operator Ifc4x3::IfcSolarDeviceTypeEnum::Value() const { - return (Ifc4x3::IfcSolarDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcSolarDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcSpaceHeaterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1046]); } @@ -5409,7 +5409,7 @@ Ifc4x3::IfcSpaceHeaterTypeEnum::Value Ifc4x3::IfcSpaceHeaterTypeEnum::FromString } Ifc4x3::IfcSpaceHeaterTypeEnum::operator Ifc4x3::IfcSpaceHeaterTypeEnum::Value() const { - return (Ifc4x3::IfcSpaceHeaterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcSpaceHeaterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcSpaceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1048]); } @@ -5436,7 +5436,7 @@ Ifc4x3::IfcSpaceTypeEnum::Value Ifc4x3::IfcSpaceTypeEnum::FromString(const std:: } Ifc4x3::IfcSpaceTypeEnum::operator Ifc4x3::IfcSpaceTypeEnum::Value() const { - return (Ifc4x3::IfcSpaceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcSpaceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcSpatialZoneTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1056]); } @@ -5463,7 +5463,7 @@ Ifc4x3::IfcSpatialZoneTypeEnum::Value Ifc4x3::IfcSpatialZoneTypeEnum::FromString } Ifc4x3::IfcSpatialZoneTypeEnum::operator Ifc4x3::IfcSpatialZoneTypeEnum::Value() const { - return (Ifc4x3::IfcSpatialZoneTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcSpatialZoneTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcStackTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1066]); } @@ -5490,7 +5490,7 @@ Ifc4x3::IfcStackTerminalTypeEnum::Value Ifc4x3::IfcStackTerminalTypeEnum::FromSt } Ifc4x3::IfcStackTerminalTypeEnum::operator Ifc4x3::IfcStackTerminalTypeEnum::Value() const { - return (Ifc4x3::IfcStackTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcStackTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcStairFlightTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1070]); } @@ -5517,7 +5517,7 @@ Ifc4x3::IfcStairFlightTypeEnum::Value Ifc4x3::IfcStairFlightTypeEnum::FromString } Ifc4x3::IfcStairFlightTypeEnum::operator Ifc4x3::IfcStairFlightTypeEnum::Value() const { - return (Ifc4x3::IfcStairFlightTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcStairFlightTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcStairTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1072]); } @@ -5544,7 +5544,7 @@ Ifc4x3::IfcStairTypeEnum::Value Ifc4x3::IfcStairTypeEnum::FromString(const std:: } Ifc4x3::IfcStairTypeEnum::operator Ifc4x3::IfcStairTypeEnum::Value() const { - return (Ifc4x3::IfcStairTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcStairTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcStateEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1073]); } @@ -5571,7 +5571,7 @@ Ifc4x3::IfcStateEnum::Value Ifc4x3::IfcStateEnum::FromString(const std::string& } Ifc4x3::IfcStateEnum::operator Ifc4x3::IfcStateEnum::Value() const { - return (Ifc4x3::IfcStateEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcStateEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcStructuralCurveActivityTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1081]); } @@ -5598,7 +5598,7 @@ Ifc4x3::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3::IfcStructuralCurveActi } Ifc4x3::IfcStructuralCurveActivityTypeEnum::operator Ifc4x3::IfcStructuralCurveActivityTypeEnum::Value() const { - return (Ifc4x3::IfcStructuralCurveActivityTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcStructuralCurveActivityTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcStructuralCurveMemberTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1084]); } @@ -5625,7 +5625,7 @@ Ifc4x3::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3::IfcStructuralCurveMember } Ifc4x3::IfcStructuralCurveMemberTypeEnum::operator Ifc4x3::IfcStructuralCurveMemberTypeEnum::Value() const { - return (Ifc4x3::IfcStructuralCurveMemberTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcStructuralCurveMemberTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1110]); } @@ -5652,7 +5652,7 @@ Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3::IfcStructuralSurface } Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::operator Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Value() const { - return (Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcStructuralSurfaceMemberTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1113]); } @@ -5679,7 +5679,7 @@ Ifc4x3::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3::IfcStructuralSurfaceMe } Ifc4x3::IfcStructuralSurfaceMemberTypeEnum::operator Ifc4x3::IfcStructuralSurfaceMemberTypeEnum::Value() const { - return (Ifc4x3::IfcStructuralSurfaceMemberTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcStructuralSurfaceMemberTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcSubContractResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1121]); } @@ -5706,7 +5706,7 @@ Ifc4x3::IfcSubContractResourceTypeEnum::Value Ifc4x3::IfcSubContractResourceType } Ifc4x3::IfcSubContractResourceTypeEnum::operator Ifc4x3::IfcSubContractResourceTypeEnum::Value() const { - return (Ifc4x3::IfcSubContractResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcSubContractResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcSurfaceFeatureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1127]); } @@ -5733,7 +5733,7 @@ Ifc4x3::IfcSurfaceFeatureTypeEnum::Value Ifc4x3::IfcSurfaceFeatureTypeEnum::From } Ifc4x3::IfcSurfaceFeatureTypeEnum::operator Ifc4x3::IfcSurfaceFeatureTypeEnum::Value() const { - return (Ifc4x3::IfcSurfaceFeatureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcSurfaceFeatureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcSurfaceSide::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1132]); } @@ -5760,7 +5760,7 @@ Ifc4x3::IfcSurfaceSide::Value Ifc4x3::IfcSurfaceSide::FromString(const std::stri } Ifc4x3::IfcSurfaceSide::operator Ifc4x3::IfcSurfaceSide::Value() const { - return (Ifc4x3::IfcSurfaceSide::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcSurfaceSide::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcSwitchingDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1147]); } @@ -5787,7 +5787,7 @@ Ifc4x3::IfcSwitchingDeviceTypeEnum::Value Ifc4x3::IfcSwitchingDeviceTypeEnum::Fr } Ifc4x3::IfcSwitchingDeviceTypeEnum::operator Ifc4x3::IfcSwitchingDeviceTypeEnum::Value() const { - return (Ifc4x3::IfcSwitchingDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcSwitchingDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcSystemFurnitureElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1151]); } @@ -5814,7 +5814,7 @@ Ifc4x3::IfcSystemFurnitureElementTypeEnum::Value Ifc4x3::IfcSystemFurnitureEleme } Ifc4x3::IfcSystemFurnitureElementTypeEnum::operator Ifc4x3::IfcSystemFurnitureElementTypeEnum::Value() const { - return (Ifc4x3::IfcSystemFurnitureElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcSystemFurnitureElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcTankTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1157]); } @@ -5841,7 +5841,7 @@ Ifc4x3::IfcTankTypeEnum::Value Ifc4x3::IfcTankTypeEnum::FromString(const std::st } Ifc4x3::IfcTankTypeEnum::operator Ifc4x3::IfcTankTypeEnum::Value() const { - return (Ifc4x3::IfcTankTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcTankTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcTaskDurationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1159]); } @@ -5868,7 +5868,7 @@ Ifc4x3::IfcTaskDurationEnum::Value Ifc4x3::IfcTaskDurationEnum::FromString(const } Ifc4x3::IfcTaskDurationEnum::operator Ifc4x3::IfcTaskDurationEnum::Value() const { - return (Ifc4x3::IfcTaskDurationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcTaskDurationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcTaskTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1163]); } @@ -5895,7 +5895,7 @@ Ifc4x3::IfcTaskTypeEnum::Value Ifc4x3::IfcTaskTypeEnum::FromString(const std::st } Ifc4x3::IfcTaskTypeEnum::operator Ifc4x3::IfcTaskTypeEnum::Value() const { - return (Ifc4x3::IfcTaskTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcTaskTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcTendonAnchorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1170]); } @@ -5922,7 +5922,7 @@ Ifc4x3::IfcTendonAnchorTypeEnum::Value Ifc4x3::IfcTendonAnchorTypeEnum::FromStri } Ifc4x3::IfcTendonAnchorTypeEnum::operator Ifc4x3::IfcTendonAnchorTypeEnum::Value() const { - return (Ifc4x3::IfcTendonAnchorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcTendonAnchorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcTendonConduitTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1173]); } @@ -5949,7 +5949,7 @@ Ifc4x3::IfcTendonConduitTypeEnum::Value Ifc4x3::IfcTendonConduitTypeEnum::FromSt } Ifc4x3::IfcTendonConduitTypeEnum::operator Ifc4x3::IfcTendonConduitTypeEnum::Value() const { - return (Ifc4x3::IfcTendonConduitTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcTendonConduitTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcTendonTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1175]); } @@ -5976,7 +5976,7 @@ Ifc4x3::IfcTendonTypeEnum::Value Ifc4x3::IfcTendonTypeEnum::FromString(const std } Ifc4x3::IfcTendonTypeEnum::operator Ifc4x3::IfcTendonTypeEnum::Value() const { - return (Ifc4x3::IfcTendonTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcTendonTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcTextPath::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1185]); } @@ -6003,7 +6003,7 @@ Ifc4x3::IfcTextPath::Value Ifc4x3::IfcTextPath::FromString(const std::string& s) } Ifc4x3::IfcTextPath::operator Ifc4x3::IfcTextPath::Value() const { - return (Ifc4x3::IfcTextPath::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcTextPath::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcTimeSeriesDataTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1210]); } @@ -6030,7 +6030,7 @@ Ifc4x3::IfcTimeSeriesDataTypeEnum::Value Ifc4x3::IfcTimeSeriesDataTypeEnum::From } Ifc4x3::IfcTimeSeriesDataTypeEnum::operator Ifc4x3::IfcTimeSeriesDataTypeEnum::Value() const { - return (Ifc4x3::IfcTimeSeriesDataTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcTimeSeriesDataTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcTrackElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1219]); } @@ -6057,7 +6057,7 @@ Ifc4x3::IfcTrackElementTypeEnum::Value Ifc4x3::IfcTrackElementTypeEnum::FromStri } Ifc4x3::IfcTrackElementTypeEnum::operator Ifc4x3::IfcTrackElementTypeEnum::Value() const { - return (Ifc4x3::IfcTrackElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcTrackElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcTransformerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1222]); } @@ -6084,7 +6084,7 @@ Ifc4x3::IfcTransformerTypeEnum::Value Ifc4x3::IfcTransformerTypeEnum::FromString } Ifc4x3::IfcTransformerTypeEnum::operator Ifc4x3::IfcTransformerTypeEnum::Value() const { - return (Ifc4x3::IfcTransformerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcTransformerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcTransitionCode::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1223]); } @@ -6111,7 +6111,7 @@ Ifc4x3::IfcTransitionCode::Value Ifc4x3::IfcTransitionCode::FromString(const std } Ifc4x3::IfcTransitionCode::operator Ifc4x3::IfcTransitionCode::Value() const { - return (Ifc4x3::IfcTransitionCode::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcTransitionCode::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcTransportElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1229]); } @@ -6138,7 +6138,7 @@ Ifc4x3::IfcTransportElementTypeEnum::Value Ifc4x3::IfcTransportElementTypeEnum:: } Ifc4x3::IfcTransportElementTypeEnum::operator Ifc4x3::IfcTransportElementTypeEnum::Value() const { - return (Ifc4x3::IfcTransportElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcTransportElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcTrimmingPreference::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1234]); } @@ -6165,7 +6165,7 @@ Ifc4x3::IfcTrimmingPreference::Value Ifc4x3::IfcTrimmingPreference::FromString(c } Ifc4x3::IfcTrimmingPreference::operator Ifc4x3::IfcTrimmingPreference::Value() const { - return (Ifc4x3::IfcTrimmingPreference::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcTrimmingPreference::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcTubeBundleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1239]); } @@ -6192,7 +6192,7 @@ Ifc4x3::IfcTubeBundleTypeEnum::Value Ifc4x3::IfcTubeBundleTypeEnum::FromString(c } Ifc4x3::IfcTubeBundleTypeEnum::operator Ifc4x3::IfcTubeBundleTypeEnum::Value() const { - return (Ifc4x3::IfcTubeBundleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcTubeBundleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcUnitEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1252]); } @@ -6219,7 +6219,7 @@ Ifc4x3::IfcUnitEnum::Value Ifc4x3::IfcUnitEnum::FromString(const std::string& s) } Ifc4x3::IfcUnitEnum::operator Ifc4x3::IfcUnitEnum::Value() const { - return (Ifc4x3::IfcUnitEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcUnitEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcUnitaryControlElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1247]); } @@ -6246,7 +6246,7 @@ Ifc4x3::IfcUnitaryControlElementTypeEnum::Value Ifc4x3::IfcUnitaryControlElement } Ifc4x3::IfcUnitaryControlElementTypeEnum::operator Ifc4x3::IfcUnitaryControlElementTypeEnum::Value() const { - return (Ifc4x3::IfcUnitaryControlElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcUnitaryControlElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcUnitaryEquipmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1250]); } @@ -6273,7 +6273,7 @@ Ifc4x3::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3::IfcUnitaryEquipmentTypeEnum:: } Ifc4x3::IfcUnitaryEquipmentTypeEnum::operator Ifc4x3::IfcUnitaryEquipmentTypeEnum::Value() const { - return (Ifc4x3::IfcUnitaryEquipmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcUnitaryEquipmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcValveTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1258]); } @@ -6300,7 +6300,7 @@ Ifc4x3::IfcValveTypeEnum::Value Ifc4x3::IfcValveTypeEnum::FromString(const std:: } Ifc4x3::IfcValveTypeEnum::operator Ifc4x3::IfcValveTypeEnum::Value() const { - return (Ifc4x3::IfcValveTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcValveTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcVehicleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1264]); } @@ -6327,7 +6327,7 @@ Ifc4x3::IfcVehicleTypeEnum::Value Ifc4x3::IfcVehicleTypeEnum::FromString(const s } Ifc4x3::IfcVehicleTypeEnum::operator Ifc4x3::IfcVehicleTypeEnum::Value() const { - return (Ifc4x3::IfcVehicleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcVehicleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcVibrationDamperTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1270]); } @@ -6354,7 +6354,7 @@ Ifc4x3::IfcVibrationDamperTypeEnum::Value Ifc4x3::IfcVibrationDamperTypeEnum::Fr } Ifc4x3::IfcVibrationDamperTypeEnum::operator Ifc4x3::IfcVibrationDamperTypeEnum::Value() const { - return (Ifc4x3::IfcVibrationDamperTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcVibrationDamperTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcVibrationIsolatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1273]); } @@ -6381,7 +6381,7 @@ Ifc4x3::IfcVibrationIsolatorTypeEnum::Value Ifc4x3::IfcVibrationIsolatorTypeEnum } Ifc4x3::IfcVibrationIsolatorTypeEnum::operator Ifc4x3::IfcVibrationIsolatorTypeEnum::Value() const { - return (Ifc4x3::IfcVibrationIsolatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcVibrationIsolatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcVirtualElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1275]); } @@ -6408,7 +6408,7 @@ Ifc4x3::IfcVirtualElementTypeEnum::Value Ifc4x3::IfcVirtualElementTypeEnum::From } Ifc4x3::IfcVirtualElementTypeEnum::operator Ifc4x3::IfcVirtualElementTypeEnum::Value() const { - return (Ifc4x3::IfcVirtualElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcVirtualElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcVoidingFeatureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1278]); } @@ -6435,7 +6435,7 @@ Ifc4x3::IfcVoidingFeatureTypeEnum::Value Ifc4x3::IfcVoidingFeatureTypeEnum::From } Ifc4x3::IfcVoidingFeatureTypeEnum::operator Ifc4x3::IfcVoidingFeatureTypeEnum::Value() const { - return (Ifc4x3::IfcVoidingFeatureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcVoidingFeatureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcWallTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1284]); } @@ -6462,7 +6462,7 @@ Ifc4x3::IfcWallTypeEnum::Value Ifc4x3::IfcWallTypeEnum::FromString(const std::st } Ifc4x3::IfcWallTypeEnum::operator Ifc4x3::IfcWallTypeEnum::Value() const { - return (Ifc4x3::IfcWallTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcWallTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcWasteTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1290]); } @@ -6489,7 +6489,7 @@ Ifc4x3::IfcWasteTerminalTypeEnum::Value Ifc4x3::IfcWasteTerminalTypeEnum::FromSt } Ifc4x3::IfcWasteTerminalTypeEnum::operator Ifc4x3::IfcWasteTerminalTypeEnum::Value() const { - return (Ifc4x3::IfcWasteTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcWasteTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcWindowPanelOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1293]); } @@ -6516,7 +6516,7 @@ Ifc4x3::IfcWindowPanelOperationEnum::Value Ifc4x3::IfcWindowPanelOperationEnum:: } Ifc4x3::IfcWindowPanelOperationEnum::operator Ifc4x3::IfcWindowPanelOperationEnum::Value() const { - return (Ifc4x3::IfcWindowPanelOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcWindowPanelOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcWindowPanelPositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1294]); } @@ -6543,7 +6543,7 @@ Ifc4x3::IfcWindowPanelPositionEnum::Value Ifc4x3::IfcWindowPanelPositionEnum::Fr } Ifc4x3::IfcWindowPanelPositionEnum::operator Ifc4x3::IfcWindowPanelPositionEnum::Value() const { - return (Ifc4x3::IfcWindowPanelPositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcWindowPanelPositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcWindowStyleConstructionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1296]); } @@ -6570,7 +6570,7 @@ Ifc4x3::IfcWindowStyleConstructionEnum::Value Ifc4x3::IfcWindowStyleConstruction } Ifc4x3::IfcWindowStyleConstructionEnum::operator Ifc4x3::IfcWindowStyleConstructionEnum::Value() const { - return (Ifc4x3::IfcWindowStyleConstructionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcWindowStyleConstructionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcWindowStyleOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1297]); } @@ -6597,7 +6597,7 @@ Ifc4x3::IfcWindowStyleOperationEnum::Value Ifc4x3::IfcWindowStyleOperationEnum:: } Ifc4x3::IfcWindowStyleOperationEnum::operator Ifc4x3::IfcWindowStyleOperationEnum::Value() const { - return (Ifc4x3::IfcWindowStyleOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcWindowStyleOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcWindowTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1299]); } @@ -6624,7 +6624,7 @@ Ifc4x3::IfcWindowTypeEnum::Value Ifc4x3::IfcWindowTypeEnum::FromString(const std } Ifc4x3::IfcWindowTypeEnum::operator Ifc4x3::IfcWindowTypeEnum::Value() const { - return (Ifc4x3::IfcWindowTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcWindowTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcWindowTypePartitioningEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1300]); } @@ -6651,7 +6651,7 @@ Ifc4x3::IfcWindowTypePartitioningEnum::Value Ifc4x3::IfcWindowTypePartitioningEn } Ifc4x3::IfcWindowTypePartitioningEnum::operator Ifc4x3::IfcWindowTypePartitioningEnum::Value() const { - return (Ifc4x3::IfcWindowTypePartitioningEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcWindowTypePartitioningEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcWorkCalendarTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1302]); } @@ -6678,7 +6678,7 @@ Ifc4x3::IfcWorkCalendarTypeEnum::Value Ifc4x3::IfcWorkCalendarTypeEnum::FromStri } Ifc4x3::IfcWorkCalendarTypeEnum::operator Ifc4x3::IfcWorkCalendarTypeEnum::Value() const { - return (Ifc4x3::IfcWorkCalendarTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcWorkCalendarTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcWorkPlanTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1305]); } @@ -6705,7 +6705,7 @@ Ifc4x3::IfcWorkPlanTypeEnum::Value Ifc4x3::IfcWorkPlanTypeEnum::FromString(const } Ifc4x3::IfcWorkPlanTypeEnum::operator Ifc4x3::IfcWorkPlanTypeEnum::Value() const { - return (Ifc4x3::IfcWorkPlanTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcWorkPlanTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3::IfcWorkScheduleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_types[1307]); } @@ -6732,7 +6732,7 @@ Ifc4x3::IfcWorkScheduleTypeEnum::Value Ifc4x3::IfcWorkScheduleTypeEnum::FromStri } Ifc4x3::IfcWorkScheduleTypeEnum::operator Ifc4x3::IfcWorkScheduleTypeEnum::Value() const { - return (Ifc4x3::IfcWorkScheduleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3::IfcWorkScheduleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::select_type& Ifc4x3::IfcActorSelect::Class() { return *((IfcParse::select_type*)IFC4X3_types[8]); } @@ -6863,928 +6863,928 @@ const IfcParse::type_declaration& Ifc4x3::IfcAbsorbedDoseMeasure::Class() { retu const IfcParse::type_declaration& Ifc4x3::IfcAbsorbedDoseMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[0]); } Ifc4x3::IfcAbsorbedDoseMeasure::IfcAbsorbedDoseMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcAbsorbedDoseMeasure::IfcAbsorbedDoseMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcAbsorbedDoseMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcAbsorbedDoseMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAccelerationMeasure const IfcParse::type_declaration& Ifc4x3::IfcAccelerationMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[1]); } const IfcParse::type_declaration& Ifc4x3::IfcAccelerationMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[1]); } Ifc4x3::IfcAccelerationMeasure::IfcAccelerationMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcAccelerationMeasure::IfcAccelerationMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcAccelerationMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcAccelerationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAmountOfSubstanceMeasure const IfcParse::type_declaration& Ifc4x3::IfcAmountOfSubstanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[42]); } const IfcParse::type_declaration& Ifc4x3::IfcAmountOfSubstanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[42]); } Ifc4x3::IfcAmountOfSubstanceMeasure::IfcAmountOfSubstanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcAmountOfSubstanceMeasure::IfcAmountOfSubstanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcAmountOfSubstanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcAmountOfSubstanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAngularVelocityMeasure const IfcParse::type_declaration& Ifc4x3::IfcAngularVelocityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[45]); } const IfcParse::type_declaration& Ifc4x3::IfcAngularVelocityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[45]); } Ifc4x3::IfcAngularVelocityMeasure::IfcAngularVelocityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcAngularVelocityMeasure::IfcAngularVelocityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcAngularVelocityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcAngularVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcArcIndex const IfcParse::type_declaration& Ifc4x3::IfcArcIndex::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[57]); } const IfcParse::type_declaration& Ifc4x3::IfcArcIndex::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[57]); } Ifc4x3::IfcArcIndex::IfcArcIndex(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcArcIndex::IfcArcIndex(std::vector< int > /*[3:3]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return get_attribute_value(0); } // Function implementations for IfcAreaDensityMeasure const IfcParse::type_declaration& Ifc4x3::IfcAreaDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[58]); } const IfcParse::type_declaration& Ifc4x3::IfcAreaDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[58]); } Ifc4x3::IfcAreaDensityMeasure::IfcAreaDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcAreaDensityMeasure::IfcAreaDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcAreaDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcAreaDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAreaMeasure const IfcParse::type_declaration& Ifc4x3::IfcAreaMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[59]); } const IfcParse::type_declaration& Ifc4x3::IfcAreaMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[59]); } Ifc4x3::IfcAreaMeasure::IfcAreaMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcAreaMeasure::IfcAreaMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcAreaMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcAreaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcBinary const IfcParse::type_declaration& Ifc4x3::IfcBinary::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[81]); } const IfcParse::type_declaration& Ifc4x3::IfcBinary::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[81]); } Ifc4x3::IfcBinary::IfcBinary(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcBinary::IfcBinary(boost::dynamic_bitset<> v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcBinary::operator boost::dynamic_bitset<>() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcBinary::operator boost::dynamic_bitset<>() const { return get_attribute_value(0); } // Function implementations for IfcBoolean const IfcParse::type_declaration& Ifc4x3::IfcBoolean::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[87]); } const IfcParse::type_declaration& Ifc4x3::IfcBoolean::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[87]); } Ifc4x3::IfcBoolean::IfcBoolean(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcBoolean::IfcBoolean(bool v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcBoolean::operator bool() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcBoolean::operator bool() const { return get_attribute_value(0); } // Function implementations for IfcBoxAlignment const IfcParse::type_declaration& Ifc4x3::IfcBoxAlignment::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[102]); } const IfcParse::type_declaration& Ifc4x3::IfcBoxAlignment::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[102]); } Ifc4x3::IfcBoxAlignment::IfcBoxAlignment(IfcEntityInstanceData&& e) : IfcLabel(std::move(e)) { } Ifc4x3::IfcBoxAlignment::IfcBoxAlignment(std::string v) : IfcLabel(v) { } -Ifc4x3::IfcBoxAlignment::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcBoxAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcCardinalPointReference const IfcParse::type_declaration& Ifc4x3::IfcCardinalPointReference::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[146]); } const IfcParse::type_declaration& Ifc4x3::IfcCardinalPointReference::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[146]); } Ifc4x3::IfcCardinalPointReference::IfcCardinalPointReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcCardinalPointReference::IfcCardinalPointReference(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcCardinalPointReference::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcCardinalPointReference::operator int() const { return get_attribute_value(0); } // Function implementations for IfcComplexNumber const IfcParse::type_declaration& Ifc4x3::IfcComplexNumber::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[189]); } const IfcParse::type_declaration& Ifc4x3::IfcComplexNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[189]); } Ifc4x3::IfcComplexNumber::IfcComplexNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcComplexNumber::IfcComplexNumber(std::vector< double > /*[1:2]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return get_attribute_value(0); } // Function implementations for IfcCompoundPlaneAngleMeasure const IfcParse::type_declaration& Ifc4x3::IfcCompoundPlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[197]); } const IfcParse::type_declaration& Ifc4x3::IfcCompoundPlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[197]); } Ifc4x3::IfcCompoundPlaneAngleMeasure::IfcCompoundPlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcCompoundPlaneAngleMeasure::IfcCompoundPlaneAngleMeasure(std::vector< int > /*[3:4]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return get_attribute_value(0); } // Function implementations for IfcContextDependentMeasure const IfcParse::type_declaration& Ifc4x3::IfcContextDependentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[227]); } const IfcParse::type_declaration& Ifc4x3::IfcContextDependentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[227]); } Ifc4x3::IfcContextDependentMeasure::IfcContextDependentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcContextDependentMeasure::IfcContextDependentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcContextDependentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcContextDependentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCountMeasure const IfcParse::type_declaration& Ifc4x3::IfcCountMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[253]); } const IfcParse::type_declaration& Ifc4x3::IfcCountMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[253]); } Ifc4x3::IfcCountMeasure::IfcCountMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcCountMeasure::IfcCountMeasure(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcCountMeasure::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcCountMeasure::operator int() const { return get_attribute_value(0); } // Function implementations for IfcCurvatureMeasure const IfcParse::type_declaration& Ifc4x3::IfcCurvatureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[271]); } const IfcParse::type_declaration& Ifc4x3::IfcCurvatureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[271]); } Ifc4x3::IfcCurvatureMeasure::IfcCurvatureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcCurvatureMeasure::IfcCurvatureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcCurvatureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcCurvatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDate const IfcParse::type_declaration& Ifc4x3::IfcDate::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[291]); } const IfcParse::type_declaration& Ifc4x3::IfcDate::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[291]); } Ifc4x3::IfcDate::IfcDate(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcDate::IfcDate(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcDate::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcDate::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDateTime const IfcParse::type_declaration& Ifc4x3::IfcDateTime::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[292]); } const IfcParse::type_declaration& Ifc4x3::IfcDateTime::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[292]); } Ifc4x3::IfcDateTime::IfcDateTime(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcDateTime::IfcDateTime(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcDateTime::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcDateTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDayInMonthNumber const IfcParse::type_declaration& Ifc4x3::IfcDayInMonthNumber::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[293]); } const IfcParse::type_declaration& Ifc4x3::IfcDayInMonthNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[293]); } Ifc4x3::IfcDayInMonthNumber::IfcDayInMonthNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcDayInMonthNumber::IfcDayInMonthNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcDayInMonthNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcDayInMonthNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDayInWeekNumber const IfcParse::type_declaration& Ifc4x3::IfcDayInWeekNumber::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[294]); } const IfcParse::type_declaration& Ifc4x3::IfcDayInWeekNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[294]); } Ifc4x3::IfcDayInWeekNumber::IfcDayInWeekNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcDayInWeekNumber::IfcDayInWeekNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcDayInWeekNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcDayInWeekNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDescriptiveMeasure const IfcParse::type_declaration& Ifc4x3::IfcDescriptiveMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[303]); } const IfcParse::type_declaration& Ifc4x3::IfcDescriptiveMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[303]); } Ifc4x3::IfcDescriptiveMeasure::IfcDescriptiveMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcDescriptiveMeasure::IfcDescriptiveMeasure(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcDescriptiveMeasure::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcDescriptiveMeasure::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDimensionCount const IfcParse::type_declaration& Ifc4x3::IfcDimensionCount::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[305]); } const IfcParse::type_declaration& Ifc4x3::IfcDimensionCount::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[305]); } Ifc4x3::IfcDimensionCount::IfcDimensionCount(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcDimensionCount::IfcDimensionCount(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcDimensionCount::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcDimensionCount::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDoseEquivalentMeasure const IfcParse::type_declaration& Ifc4x3::IfcDoseEquivalentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[346]); } const IfcParse::type_declaration& Ifc4x3::IfcDoseEquivalentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[346]); } Ifc4x3::IfcDoseEquivalentMeasure::IfcDoseEquivalentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcDoseEquivalentMeasure::IfcDoseEquivalentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcDoseEquivalentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcDoseEquivalentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDuration const IfcParse::type_declaration& Ifc4x3::IfcDuration::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[358]); } const IfcParse::type_declaration& Ifc4x3::IfcDuration::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[358]); } Ifc4x3::IfcDuration::IfcDuration(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcDuration::IfcDuration(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcDuration::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcDuration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDynamicViscosityMeasure const IfcParse::type_declaration& Ifc4x3::IfcDynamicViscosityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[359]); } const IfcParse::type_declaration& Ifc4x3::IfcDynamicViscosityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[359]); } Ifc4x3::IfcDynamicViscosityMeasure::IfcDynamicViscosityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcDynamicViscosityMeasure::IfcDynamicViscosityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcDynamicViscosityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcDynamicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCapacitanceMeasure const IfcParse::type_declaration& Ifc4x3::IfcElectricCapacitanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[371]); } const IfcParse::type_declaration& Ifc4x3::IfcElectricCapacitanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[371]); } Ifc4x3::IfcElectricCapacitanceMeasure::IfcElectricCapacitanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcElectricCapacitanceMeasure::IfcElectricCapacitanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcElectricCapacitanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcElectricCapacitanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricChargeMeasure const IfcParse::type_declaration& Ifc4x3::IfcElectricChargeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[372]); } const IfcParse::type_declaration& Ifc4x3::IfcElectricChargeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[372]); } Ifc4x3::IfcElectricChargeMeasure::IfcElectricChargeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcElectricChargeMeasure::IfcElectricChargeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcElectricChargeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcElectricChargeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricConductanceMeasure const IfcParse::type_declaration& Ifc4x3::IfcElectricConductanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[373]); } const IfcParse::type_declaration& Ifc4x3::IfcElectricConductanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[373]); } Ifc4x3::IfcElectricConductanceMeasure::IfcElectricConductanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcElectricConductanceMeasure::IfcElectricConductanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcElectricConductanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcElectricConductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCurrentMeasure const IfcParse::type_declaration& Ifc4x3::IfcElectricCurrentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[374]); } const IfcParse::type_declaration& Ifc4x3::IfcElectricCurrentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[374]); } Ifc4x3::IfcElectricCurrentMeasure::IfcElectricCurrentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcElectricCurrentMeasure::IfcElectricCurrentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcElectricCurrentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcElectricCurrentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricResistanceMeasure const IfcParse::type_declaration& Ifc4x3::IfcElectricResistanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[390]); } const IfcParse::type_declaration& Ifc4x3::IfcElectricResistanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[390]); } Ifc4x3::IfcElectricResistanceMeasure::IfcElectricResistanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcElectricResistanceMeasure::IfcElectricResistanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcElectricResistanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcElectricResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricVoltageMeasure const IfcParse::type_declaration& Ifc4x3::IfcElectricVoltageMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[394]); } const IfcParse::type_declaration& Ifc4x3::IfcElectricVoltageMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[394]); } Ifc4x3::IfcElectricVoltageMeasure::IfcElectricVoltageMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcElectricVoltageMeasure::IfcElectricVoltageMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcElectricVoltageMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcElectricVoltageMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcEnergyMeasure const IfcParse::type_declaration& Ifc4x3::IfcEnergyMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[409]); } const IfcParse::type_declaration& Ifc4x3::IfcEnergyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[409]); } Ifc4x3::IfcEnergyMeasure::IfcEnergyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcEnergyMeasure::IfcEnergyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcEnergyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcEnergyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFontStyle const IfcParse::type_declaration& Ifc4x3::IfcFontStyle::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[490]); } const IfcParse::type_declaration& Ifc4x3::IfcFontStyle::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[490]); } Ifc4x3::IfcFontStyle::IfcFontStyle(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcFontStyle::IfcFontStyle(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcFontStyle::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcFontStyle::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontVariant const IfcParse::type_declaration& Ifc4x3::IfcFontVariant::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[491]); } const IfcParse::type_declaration& Ifc4x3::IfcFontVariant::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[491]); } Ifc4x3::IfcFontVariant::IfcFontVariant(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcFontVariant::IfcFontVariant(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcFontVariant::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcFontVariant::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontWeight const IfcParse::type_declaration& Ifc4x3::IfcFontWeight::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[492]); } const IfcParse::type_declaration& Ifc4x3::IfcFontWeight::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[492]); } Ifc4x3::IfcFontWeight::IfcFontWeight(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcFontWeight::IfcFontWeight(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcFontWeight::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcFontWeight::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcForceMeasure const IfcParse::type_declaration& Ifc4x3::IfcForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[496]); } const IfcParse::type_declaration& Ifc4x3::IfcForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[496]); } Ifc4x3::IfcForceMeasure::IfcForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcForceMeasure::IfcForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFrequencyMeasure const IfcParse::type_declaration& Ifc4x3::IfcFrequencyMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[497]); } const IfcParse::type_declaration& Ifc4x3::IfcFrequencyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[497]); } Ifc4x3::IfcFrequencyMeasure::IfcFrequencyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcFrequencyMeasure::IfcFrequencyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcFrequencyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcGloballyUniqueId const IfcParse::type_declaration& Ifc4x3::IfcGloballyUniqueId::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[519]); } const IfcParse::type_declaration& Ifc4x3::IfcGloballyUniqueId::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[519]); } Ifc4x3::IfcGloballyUniqueId::IfcGloballyUniqueId(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcGloballyUniqueId::IfcGloballyUniqueId(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcGloballyUniqueId::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcGloballyUniqueId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcHeatFluxDensityMeasure const IfcParse::type_declaration& Ifc4x3::IfcHeatFluxDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[533]); } const IfcParse::type_declaration& Ifc4x3::IfcHeatFluxDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[533]); } Ifc4x3::IfcHeatFluxDensityMeasure::IfcHeatFluxDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcHeatFluxDensityMeasure::IfcHeatFluxDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcHeatFluxDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcHeatFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcHeatingValueMeasure const IfcParse::type_declaration& Ifc4x3::IfcHeatingValueMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[534]); } const IfcParse::type_declaration& Ifc4x3::IfcHeatingValueMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[534]); } Ifc4x3::IfcHeatingValueMeasure::IfcHeatingValueMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcHeatingValueMeasure::IfcHeatingValueMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcHeatingValueMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcHeatingValueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIdentifier const IfcParse::type_declaration& Ifc4x3::IfcIdentifier::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[538]); } const IfcParse::type_declaration& Ifc4x3::IfcIdentifier::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[538]); } Ifc4x3::IfcIdentifier::IfcIdentifier(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcIdentifier::IfcIdentifier(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcIdentifier::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcIdentifier::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcIlluminanceMeasure const IfcParse::type_declaration& Ifc4x3::IfcIlluminanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[539]); } const IfcParse::type_declaration& Ifc4x3::IfcIlluminanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[539]); } Ifc4x3::IfcIlluminanceMeasure::IfcIlluminanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcIlluminanceMeasure::IfcIlluminanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcIlluminanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcIlluminanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInductanceMeasure const IfcParse::type_declaration& Ifc4x3::IfcInductanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[551]); } const IfcParse::type_declaration& Ifc4x3::IfcInductanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[551]); } Ifc4x3::IfcInductanceMeasure::IfcInductanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcInductanceMeasure::IfcInductanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcInductanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcInductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInteger const IfcParse::type_declaration& Ifc4x3::IfcInteger::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[552]); } const IfcParse::type_declaration& Ifc4x3::IfcInteger::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[552]); } Ifc4x3::IfcInteger::IfcInteger(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcInteger::IfcInteger(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcInteger::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIntegerCountRateMeasure const IfcParse::type_declaration& Ifc4x3::IfcIntegerCountRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[553]); } const IfcParse::type_declaration& Ifc4x3::IfcIntegerCountRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[553]); } Ifc4x3::IfcIntegerCountRateMeasure::IfcIntegerCountRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcIntegerCountRateMeasure::IfcIntegerCountRateMeasure(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcIntegerCountRateMeasure::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcIntegerCountRateMeasure::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIonConcentrationMeasure const IfcParse::type_declaration& Ifc4x3::IfcIonConcentrationMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[562]); } const IfcParse::type_declaration& Ifc4x3::IfcIonConcentrationMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[562]); } Ifc4x3::IfcIonConcentrationMeasure::IfcIonConcentrationMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcIonConcentrationMeasure::IfcIonConcentrationMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcIonConcentrationMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcIonConcentrationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIsothermalMoistureCapacityMeasure const IfcParse::type_declaration& Ifc4x3::IfcIsothermalMoistureCapacityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[566]); } const IfcParse::type_declaration& Ifc4x3::IfcIsothermalMoistureCapacityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[566]); } Ifc4x3::IfcIsothermalMoistureCapacityMeasure::IfcIsothermalMoistureCapacityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcIsothermalMoistureCapacityMeasure::IfcIsothermalMoistureCapacityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcIsothermalMoistureCapacityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcIsothermalMoistureCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcKinematicViscosityMeasure const IfcParse::type_declaration& Ifc4x3::IfcKinematicViscosityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[572]); } const IfcParse::type_declaration& Ifc4x3::IfcKinematicViscosityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[572]); } Ifc4x3::IfcKinematicViscosityMeasure::IfcKinematicViscosityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcKinematicViscosityMeasure::IfcKinematicViscosityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcKinematicViscosityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcKinematicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLabel const IfcParse::type_declaration& Ifc4x3::IfcLabel::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[574]); } const IfcParse::type_declaration& Ifc4x3::IfcLabel::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[574]); } Ifc4x3::IfcLabel::IfcLabel(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcLabel::IfcLabel(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcLabel::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcLabel::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLanguageId const IfcParse::type_declaration& Ifc4x3::IfcLanguageId::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[582]); } const IfcParse::type_declaration& Ifc4x3::IfcLanguageId::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[582]); } Ifc4x3::IfcLanguageId::IfcLanguageId(IfcEntityInstanceData&& e) : IfcIdentifier(std::move(e)) { } Ifc4x3::IfcLanguageId::IfcLanguageId(std::string v) : IfcIdentifier(v) { } -Ifc4x3::IfcLanguageId::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcLanguageId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLengthMeasure const IfcParse::type_declaration& Ifc4x3::IfcLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[585]); } const IfcParse::type_declaration& Ifc4x3::IfcLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[585]); } Ifc4x3::IfcLengthMeasure::IfcLengthMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcLengthMeasure::IfcLengthMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLineIndex const IfcParse::type_declaration& Ifc4x3::IfcLineIndex::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[611]); } const IfcParse::type_declaration& Ifc4x3::IfcLineIndex::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[611]); } Ifc4x3::IfcLineIndex::IfcLineIndex(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcLineIndex::IfcLineIndex(std::vector< int > /*[2:?]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return get_attribute_value(0); } // Function implementations for IfcLinearForceMeasure const IfcParse::type_declaration& Ifc4x3::IfcLinearForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[605]); } const IfcParse::type_declaration& Ifc4x3::IfcLinearForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[605]); } Ifc4x3::IfcLinearForceMeasure::IfcLinearForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcLinearForceMeasure::IfcLinearForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcLinearForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcLinearForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearMomentMeasure const IfcParse::type_declaration& Ifc4x3::IfcLinearMomentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[606]); } const IfcParse::type_declaration& Ifc4x3::IfcLinearMomentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[606]); } Ifc4x3::IfcLinearMomentMeasure::IfcLinearMomentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcLinearMomentMeasure::IfcLinearMomentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcLinearMomentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcLinearMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearStiffnessMeasure const IfcParse::type_declaration& Ifc4x3::IfcLinearStiffnessMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[609]); } const IfcParse::type_declaration& Ifc4x3::IfcLinearStiffnessMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[609]); } Ifc4x3::IfcLinearStiffnessMeasure::IfcLinearStiffnessMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcLinearStiffnessMeasure::IfcLinearStiffnessMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcLinearStiffnessMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcLinearStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearVelocityMeasure const IfcParse::type_declaration& Ifc4x3::IfcLinearVelocityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[610]); } const IfcParse::type_declaration& Ifc4x3::IfcLinearVelocityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[610]); } Ifc4x3::IfcLinearVelocityMeasure::IfcLinearVelocityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcLinearVelocityMeasure::IfcLinearVelocityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcLinearVelocityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcLinearVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLogical const IfcParse::type_declaration& Ifc4x3::IfcLogical::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[617]); } const IfcParse::type_declaration& Ifc4x3::IfcLogical::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[617]); } Ifc4x3::IfcLogical::IfcLogical(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcLogical::IfcLogical(boost::logic::tribool v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcLogical::operator boost::logic::tribool() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcLogical::operator boost::logic::tribool() const { return get_attribute_value(0); } // Function implementations for IfcLuminousFluxMeasure const IfcParse::type_declaration& Ifc4x3::IfcLuminousFluxMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[621]); } const IfcParse::type_declaration& Ifc4x3::IfcLuminousFluxMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[621]); } Ifc4x3::IfcLuminousFluxMeasure::IfcLuminousFluxMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcLuminousFluxMeasure::IfcLuminousFluxMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcLuminousFluxMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcLuminousFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityDistributionMeasure const IfcParse::type_declaration& Ifc4x3::IfcLuminousIntensityDistributionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[622]); } const IfcParse::type_declaration& Ifc4x3::IfcLuminousIntensityDistributionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[622]); } Ifc4x3::IfcLuminousIntensityDistributionMeasure::IfcLuminousIntensityDistributionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcLuminousIntensityDistributionMeasure::IfcLuminousIntensityDistributionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcLuminousIntensityDistributionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcLuminousIntensityDistributionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityMeasure const IfcParse::type_declaration& Ifc4x3::IfcLuminousIntensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[623]); } const IfcParse::type_declaration& Ifc4x3::IfcLuminousIntensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[623]); } Ifc4x3::IfcLuminousIntensityMeasure::IfcLuminousIntensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcLuminousIntensityMeasure::IfcLuminousIntensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcLuminousIntensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcLuminousIntensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxDensityMeasure const IfcParse::type_declaration& Ifc4x3::IfcMagneticFluxDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[624]); } const IfcParse::type_declaration& Ifc4x3::IfcMagneticFluxDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[624]); } Ifc4x3::IfcMagneticFluxDensityMeasure::IfcMagneticFluxDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcMagneticFluxDensityMeasure::IfcMagneticFluxDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcMagneticFluxDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcMagneticFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxMeasure const IfcParse::type_declaration& Ifc4x3::IfcMagneticFluxMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[625]); } const IfcParse::type_declaration& Ifc4x3::IfcMagneticFluxMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[625]); } Ifc4x3::IfcMagneticFluxMeasure::IfcMagneticFluxMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcMagneticFluxMeasure::IfcMagneticFluxMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcMagneticFluxMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcMagneticFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassDensityMeasure const IfcParse::type_declaration& Ifc4x3::IfcMassDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[633]); } const IfcParse::type_declaration& Ifc4x3::IfcMassDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[633]); } Ifc4x3::IfcMassDensityMeasure::IfcMassDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcMassDensityMeasure::IfcMassDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcMassDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcMassDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassFlowRateMeasure const IfcParse::type_declaration& Ifc4x3::IfcMassFlowRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[634]); } const IfcParse::type_declaration& Ifc4x3::IfcMassFlowRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[634]); } Ifc4x3::IfcMassFlowRateMeasure::IfcMassFlowRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcMassFlowRateMeasure::IfcMassFlowRateMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcMassFlowRateMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcMassFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassMeasure const IfcParse::type_declaration& Ifc4x3::IfcMassMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[635]); } const IfcParse::type_declaration& Ifc4x3::IfcMassMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[635]); } Ifc4x3::IfcMassMeasure::IfcMassMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcMassMeasure::IfcMassMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcMassMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassPerLengthMeasure const IfcParse::type_declaration& Ifc4x3::IfcMassPerLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[636]); } const IfcParse::type_declaration& Ifc4x3::IfcMassPerLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[636]); } Ifc4x3::IfcMassPerLengthMeasure::IfcMassPerLengthMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcMassPerLengthMeasure::IfcMassPerLengthMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcMassPerLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcMassPerLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfElasticityMeasure const IfcParse::type_declaration& Ifc4x3::IfcModulusOfElasticityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[674]); } const IfcParse::type_declaration& Ifc4x3::IfcModulusOfElasticityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[674]); } Ifc4x3::IfcModulusOfElasticityMeasure::IfcModulusOfElasticityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcModulusOfElasticityMeasure::IfcModulusOfElasticityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcModulusOfElasticityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcModulusOfElasticityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfLinearSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4x3::IfcModulusOfLinearSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[675]); } const IfcParse::type_declaration& Ifc4x3::IfcModulusOfLinearSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[675]); } Ifc4x3::IfcModulusOfLinearSubgradeReactionMeasure::IfcModulusOfLinearSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcModulusOfLinearSubgradeReactionMeasure::IfcModulusOfLinearSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfRotationalSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4x3::IfcModulusOfRotationalSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[676]); } const IfcParse::type_declaration& Ifc4x3::IfcModulusOfRotationalSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[676]); } Ifc4x3::IfcModulusOfRotationalSubgradeReactionMeasure::IfcModulusOfRotationalSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcModulusOfRotationalSubgradeReactionMeasure::IfcModulusOfRotationalSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4x3::IfcModulusOfSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[678]); } const IfcParse::type_declaration& Ifc4x3::IfcModulusOfSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[678]); } Ifc4x3::IfcModulusOfSubgradeReactionMeasure::IfcModulusOfSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcModulusOfSubgradeReactionMeasure::IfcModulusOfSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcModulusOfSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcModulusOfSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMoistureDiffusivityMeasure const IfcParse::type_declaration& Ifc4x3::IfcMoistureDiffusivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[681]); } const IfcParse::type_declaration& Ifc4x3::IfcMoistureDiffusivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[681]); } Ifc4x3::IfcMoistureDiffusivityMeasure::IfcMoistureDiffusivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcMoistureDiffusivityMeasure::IfcMoistureDiffusivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcMoistureDiffusivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcMoistureDiffusivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMolecularWeightMeasure const IfcParse::type_declaration& Ifc4x3::IfcMolecularWeightMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[682]); } const IfcParse::type_declaration& Ifc4x3::IfcMolecularWeightMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[682]); } Ifc4x3::IfcMolecularWeightMeasure::IfcMolecularWeightMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcMolecularWeightMeasure::IfcMolecularWeightMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcMolecularWeightMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcMolecularWeightMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMomentOfInertiaMeasure const IfcParse::type_declaration& Ifc4x3::IfcMomentOfInertiaMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[683]); } const IfcParse::type_declaration& Ifc4x3::IfcMomentOfInertiaMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[683]); } Ifc4x3::IfcMomentOfInertiaMeasure::IfcMomentOfInertiaMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcMomentOfInertiaMeasure::IfcMomentOfInertiaMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcMomentOfInertiaMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcMomentOfInertiaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonetaryMeasure const IfcParse::type_declaration& Ifc4x3::IfcMonetaryMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[684]); } const IfcParse::type_declaration& Ifc4x3::IfcMonetaryMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[684]); } Ifc4x3::IfcMonetaryMeasure::IfcMonetaryMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcMonetaryMeasure::IfcMonetaryMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcMonetaryMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcMonetaryMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonthInYearNumber const IfcParse::type_declaration& Ifc4x3::IfcMonthInYearNumber::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[686]); } const IfcParse::type_declaration& Ifc4x3::IfcMonthInYearNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[686]); } Ifc4x3::IfcMonthInYearNumber::IfcMonthInYearNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcMonthInYearNumber::IfcMonthInYearNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcMonthInYearNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcMonthInYearNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcNonNegativeLengthMeasure const IfcParse::type_declaration& Ifc4x3::IfcNonNegativeLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[697]); } const IfcParse::type_declaration& Ifc4x3::IfcNonNegativeLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[697]); } Ifc4x3::IfcNonNegativeLengthMeasure::IfcNonNegativeLengthMeasure(IfcEntityInstanceData&& e) : IfcLengthMeasure(std::move(e)) { } Ifc4x3::IfcNonNegativeLengthMeasure::IfcNonNegativeLengthMeasure(double v) : IfcLengthMeasure(v) { } -Ifc4x3::IfcNonNegativeLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcNonNegativeLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNormalisedRatioMeasure const IfcParse::type_declaration& Ifc4x3::IfcNormalisedRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[698]); } const IfcParse::type_declaration& Ifc4x3::IfcNormalisedRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[698]); } Ifc4x3::IfcNormalisedRatioMeasure::IfcNormalisedRatioMeasure(IfcEntityInstanceData&& e) : IfcRatioMeasure(std::move(e)) { } Ifc4x3::IfcNormalisedRatioMeasure::IfcNormalisedRatioMeasure(double v) : IfcRatioMeasure(v) { } -Ifc4x3::IfcNormalisedRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcNormalisedRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNumericMeasure const IfcParse::type_declaration& Ifc4x3::IfcNumericMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[699]); } const IfcParse::type_declaration& Ifc4x3::IfcNumericMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[699]); } Ifc4x3::IfcNumericMeasure::IfcNumericMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcNumericMeasure::IfcNumericMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcNumericMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcNumericMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPHMeasure const IfcParse::type_declaration& Ifc4x3::IfcPHMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[740]); } const IfcParse::type_declaration& Ifc4x3::IfcPHMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[740]); } Ifc4x3::IfcPHMeasure::IfcPHMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcPHMeasure::IfcPHMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcPHMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcPHMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcParameterValue const IfcParse::type_declaration& Ifc4x3::IfcParameterValue::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[726]); } const IfcParse::type_declaration& Ifc4x3::IfcParameterValue::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[726]); } Ifc4x3::IfcParameterValue::IfcParameterValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcParameterValue::IfcParameterValue(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcParameterValue::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcParameterValue::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlanarForceMeasure const IfcParse::type_declaration& Ifc4x3::IfcPlanarForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[759]); } const IfcParse::type_declaration& Ifc4x3::IfcPlanarForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[759]); } Ifc4x3::IfcPlanarForceMeasure::IfcPlanarForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcPlanarForceMeasure::IfcPlanarForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcPlanarForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcPlanarForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlaneAngleMeasure const IfcParse::type_declaration& Ifc4x3::IfcPlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[761]); } const IfcParse::type_declaration& Ifc4x3::IfcPlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[761]); } Ifc4x3::IfcPlaneAngleMeasure::IfcPlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcPlaneAngleMeasure::IfcPlaneAngleMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcPlaneAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcPlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveInteger const IfcParse::type_declaration& Ifc4x3::IfcPositiveInteger::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[777]); } const IfcParse::type_declaration& Ifc4x3::IfcPositiveInteger::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[777]); } Ifc4x3::IfcPositiveInteger::IfcPositiveInteger(IfcEntityInstanceData&& e) : IfcInteger(std::move(e)) { } Ifc4x3::IfcPositiveInteger::IfcPositiveInteger(int v) : IfcInteger(v) { } -Ifc4x3::IfcPositiveInteger::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcPositiveInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcPositiveLengthMeasure const IfcParse::type_declaration& Ifc4x3::IfcPositiveLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[778]); } const IfcParse::type_declaration& Ifc4x3::IfcPositiveLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[778]); } Ifc4x3::IfcPositiveLengthMeasure::IfcPositiveLengthMeasure(IfcEntityInstanceData&& e) : IfcLengthMeasure(std::move(e)) { } Ifc4x3::IfcPositiveLengthMeasure::IfcPositiveLengthMeasure(double v) : IfcLengthMeasure(v) { } -Ifc4x3::IfcPositiveLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcPositiveLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositivePlaneAngleMeasure const IfcParse::type_declaration& Ifc4x3::IfcPositivePlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[779]); } const IfcParse::type_declaration& Ifc4x3::IfcPositivePlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[779]); } Ifc4x3::IfcPositivePlaneAngleMeasure::IfcPositivePlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcPlaneAngleMeasure(std::move(e)) { } Ifc4x3::IfcPositivePlaneAngleMeasure::IfcPositivePlaneAngleMeasure(double v) : IfcPlaneAngleMeasure(v) { } -Ifc4x3::IfcPositivePlaneAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcPositivePlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveRatioMeasure const IfcParse::type_declaration& Ifc4x3::IfcPositiveRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[780]); } const IfcParse::type_declaration& Ifc4x3::IfcPositiveRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[780]); } Ifc4x3::IfcPositiveRatioMeasure::IfcPositiveRatioMeasure(IfcEntityInstanceData&& e) : IfcRatioMeasure(std::move(e)) { } Ifc4x3::IfcPositiveRatioMeasure::IfcPositiveRatioMeasure(double v) : IfcRatioMeasure(v) { } -Ifc4x3::IfcPositiveRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcPositiveRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPowerMeasure const IfcParse::type_declaration& Ifc4x3::IfcPowerMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[782]); } const IfcParse::type_declaration& Ifc4x3::IfcPowerMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[782]); } Ifc4x3::IfcPowerMeasure::IfcPowerMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcPowerMeasure::IfcPowerMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcPowerMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPresentableText const IfcParse::type_declaration& Ifc4x3::IfcPresentableText::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[790]); } const IfcParse::type_declaration& Ifc4x3::IfcPresentableText::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[790]); } Ifc4x3::IfcPresentableText::IfcPresentableText(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcPresentableText::IfcPresentableText(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcPresentableText::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcPresentableText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcPressureMeasure const IfcParse::type_declaration& Ifc4x3::IfcPressureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[795]); } const IfcParse::type_declaration& Ifc4x3::IfcPressureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[795]); } Ifc4x3::IfcPressureMeasure::IfcPressureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcPressureMeasure::IfcPressureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcPressureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPropertySetDefinitionSet const IfcParse::type_declaration& Ifc4x3::IfcPropertySetDefinitionSet::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[829]); } const IfcParse::type_declaration& Ifc4x3::IfcPropertySetDefinitionSet::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[829]); } Ifc4x3::IfcPropertySetDefinitionSet::IfcPropertySetDefinitionSet(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcPropertySetDefinitionSet::IfcPropertySetDefinitionSet(aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v->generalize()); } -Ifc4x3::IfcPropertySetDefinitionSet::operator aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3::IfcPropertySetDefinition >(); } +Ifc4x3::IfcPropertySetDefinitionSet::operator aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3::IfcPropertySetDefinition >(); } // Function implementations for IfcRadioActivityMeasure const IfcParse::type_declaration& Ifc4x3::IfcRadioActivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[853]); } const IfcParse::type_declaration& Ifc4x3::IfcRadioActivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[853]); } Ifc4x3::IfcRadioActivityMeasure::IfcRadioActivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcRadioActivityMeasure::IfcRadioActivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcRadioActivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcRadioActivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRatioMeasure const IfcParse::type_declaration& Ifc4x3::IfcRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[870]); } const IfcParse::type_declaration& Ifc4x3::IfcRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[870]); } Ifc4x3::IfcRatioMeasure::IfcRatioMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcRatioMeasure::IfcRatioMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcReal const IfcParse::type_declaration& Ifc4x3::IfcReal::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[873]); } const IfcParse::type_declaration& Ifc4x3::IfcReal::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[873]); } Ifc4x3::IfcReal::IfcReal(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcReal::IfcReal(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcReal::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcReal::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalFrequencyMeasure const IfcParse::type_declaration& Ifc4x3::IfcRotationalFrequencyMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[975]); } const IfcParse::type_declaration& Ifc4x3::IfcRotationalFrequencyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[975]); } Ifc4x3::IfcRotationalFrequencyMeasure::IfcRotationalFrequencyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcRotationalFrequencyMeasure::IfcRotationalFrequencyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcRotationalFrequencyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcRotationalFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalMassMeasure const IfcParse::type_declaration& Ifc4x3::IfcRotationalMassMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[976]); } const IfcParse::type_declaration& Ifc4x3::IfcRotationalMassMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[976]); } Ifc4x3::IfcRotationalMassMeasure::IfcRotationalMassMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcRotationalMassMeasure::IfcRotationalMassMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcRotationalMassMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcRotationalMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalStiffnessMeasure const IfcParse::type_declaration& Ifc4x3::IfcRotationalStiffnessMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[977]); } const IfcParse::type_declaration& Ifc4x3::IfcRotationalStiffnessMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[977]); } Ifc4x3::IfcRotationalStiffnessMeasure::IfcRotationalStiffnessMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcRotationalStiffnessMeasure::IfcRotationalStiffnessMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcRotationalStiffnessMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcRotationalStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionModulusMeasure const IfcParse::type_declaration& Ifc4x3::IfcSectionModulusMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[991]); } const IfcParse::type_declaration& Ifc4x3::IfcSectionModulusMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[991]); } Ifc4x3::IfcSectionModulusMeasure::IfcSectionModulusMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcSectionModulusMeasure::IfcSectionModulusMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcSectionModulusMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcSectionModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionalAreaIntegralMeasure const IfcParse::type_declaration& Ifc4x3::IfcSectionalAreaIntegralMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[986]); } const IfcParse::type_declaration& Ifc4x3::IfcSectionalAreaIntegralMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[986]); } Ifc4x3::IfcSectionalAreaIntegralMeasure::IfcSectionalAreaIntegralMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcSectionalAreaIntegralMeasure::IfcSectionalAreaIntegralMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcSectionalAreaIntegralMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcSectionalAreaIntegralMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcShearModulusMeasure const IfcParse::type_declaration& Ifc4x3::IfcShearModulusMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[1009]); } const IfcParse::type_declaration& Ifc4x3::IfcShearModulusMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[1009]); } Ifc4x3::IfcShearModulusMeasure::IfcShearModulusMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcShearModulusMeasure::IfcShearModulusMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcShearModulusMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcShearModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSolidAngleMeasure const IfcParse::type_declaration& Ifc4x3::IfcSolidAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[1035]); } const IfcParse::type_declaration& Ifc4x3::IfcSolidAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[1035]); } Ifc4x3::IfcSolidAngleMeasure::IfcSolidAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcSolidAngleMeasure::IfcSolidAngleMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcSolidAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcSolidAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerLevelMeasure const IfcParse::type_declaration& Ifc4x3::IfcSoundPowerLevelMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[1038]); } const IfcParse::type_declaration& Ifc4x3::IfcSoundPowerLevelMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[1038]); } Ifc4x3::IfcSoundPowerLevelMeasure::IfcSoundPowerLevelMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcSoundPowerLevelMeasure::IfcSoundPowerLevelMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcSoundPowerLevelMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcSoundPowerLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerMeasure const IfcParse::type_declaration& Ifc4x3::IfcSoundPowerMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[1039]); } const IfcParse::type_declaration& Ifc4x3::IfcSoundPowerMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[1039]); } Ifc4x3::IfcSoundPowerMeasure::IfcSoundPowerMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcSoundPowerMeasure::IfcSoundPowerMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcSoundPowerMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcSoundPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureLevelMeasure const IfcParse::type_declaration& Ifc4x3::IfcSoundPressureLevelMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[1040]); } const IfcParse::type_declaration& Ifc4x3::IfcSoundPressureLevelMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[1040]); } Ifc4x3::IfcSoundPressureLevelMeasure::IfcSoundPressureLevelMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcSoundPressureLevelMeasure::IfcSoundPressureLevelMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcSoundPressureLevelMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcSoundPressureLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureMeasure const IfcParse::type_declaration& Ifc4x3::IfcSoundPressureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[1041]); } const IfcParse::type_declaration& Ifc4x3::IfcSoundPressureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[1041]); } Ifc4x3::IfcSoundPressureMeasure::IfcSoundPressureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcSoundPressureMeasure::IfcSoundPressureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcSoundPressureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcSoundPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecificHeatCapacityMeasure const IfcParse::type_declaration& Ifc4x3::IfcSpecificHeatCapacityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[1057]); } const IfcParse::type_declaration& Ifc4x3::IfcSpecificHeatCapacityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[1057]); } Ifc4x3::IfcSpecificHeatCapacityMeasure::IfcSpecificHeatCapacityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcSpecificHeatCapacityMeasure::IfcSpecificHeatCapacityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcSpecificHeatCapacityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcSpecificHeatCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularExponent const IfcParse::type_declaration& Ifc4x3::IfcSpecularExponent::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[1058]); } const IfcParse::type_declaration& Ifc4x3::IfcSpecularExponent::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[1058]); } Ifc4x3::IfcSpecularExponent::IfcSpecularExponent(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcSpecularExponent::IfcSpecularExponent(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcSpecularExponent::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcSpecularExponent::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularRoughness const IfcParse::type_declaration& Ifc4x3::IfcSpecularRoughness::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[1060]); } const IfcParse::type_declaration& Ifc4x3::IfcSpecularRoughness::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[1060]); } Ifc4x3::IfcSpecularRoughness::IfcSpecularRoughness(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcSpecularRoughness::IfcSpecularRoughness(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcSpecularRoughness::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcSpecularRoughness::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureGradientMeasure const IfcParse::type_declaration& Ifc4x3::IfcTemperatureGradientMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[1165]); } const IfcParse::type_declaration& Ifc4x3::IfcTemperatureGradientMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[1165]); } Ifc4x3::IfcTemperatureGradientMeasure::IfcTemperatureGradientMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcTemperatureGradientMeasure::IfcTemperatureGradientMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcTemperatureGradientMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcTemperatureGradientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureRateOfChangeMeasure const IfcParse::type_declaration& Ifc4x3::IfcTemperatureRateOfChangeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[1166]); } const IfcParse::type_declaration& Ifc4x3::IfcTemperatureRateOfChangeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[1166]); } Ifc4x3::IfcTemperatureRateOfChangeMeasure::IfcTemperatureRateOfChangeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcTemperatureRateOfChangeMeasure::IfcTemperatureRateOfChangeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcTemperatureRateOfChangeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcTemperatureRateOfChangeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcText const IfcParse::type_declaration& Ifc4x3::IfcText::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[1178]); } const IfcParse::type_declaration& Ifc4x3::IfcText::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[1178]); } Ifc4x3::IfcText::IfcText(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcText::IfcText(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcText::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextAlignment const IfcParse::type_declaration& Ifc4x3::IfcTextAlignment::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[1179]); } const IfcParse::type_declaration& Ifc4x3::IfcTextAlignment::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[1179]); } Ifc4x3::IfcTextAlignment::IfcTextAlignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcTextAlignment::IfcTextAlignment(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcTextAlignment::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcTextAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextDecoration const IfcParse::type_declaration& Ifc4x3::IfcTextDecoration::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[1180]); } const IfcParse::type_declaration& Ifc4x3::IfcTextDecoration::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[1180]); } Ifc4x3::IfcTextDecoration::IfcTextDecoration(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcTextDecoration::IfcTextDecoration(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcTextDecoration::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcTextDecoration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextFontName const IfcParse::type_declaration& Ifc4x3::IfcTextFontName::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[1181]); } const IfcParse::type_declaration& Ifc4x3::IfcTextFontName::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[1181]); } Ifc4x3::IfcTextFontName::IfcTextFontName(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcTextFontName::IfcTextFontName(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcTextFontName::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcTextFontName::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextTransformation const IfcParse::type_declaration& Ifc4x3::IfcTextTransformation::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[1190]); } const IfcParse::type_declaration& Ifc4x3::IfcTextTransformation::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[1190]); } Ifc4x3::IfcTextTransformation::IfcTextTransformation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcTextTransformation::IfcTextTransformation(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcTextTransformation::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcTextTransformation::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcThermalAdmittanceMeasure const IfcParse::type_declaration& Ifc4x3::IfcThermalAdmittanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[1198]); } const IfcParse::type_declaration& Ifc4x3::IfcThermalAdmittanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[1198]); } Ifc4x3::IfcThermalAdmittanceMeasure::IfcThermalAdmittanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcThermalAdmittanceMeasure::IfcThermalAdmittanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcThermalAdmittanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcThermalAdmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalConductivityMeasure const IfcParse::type_declaration& Ifc4x3::IfcThermalConductivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[1199]); } const IfcParse::type_declaration& Ifc4x3::IfcThermalConductivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[1199]); } Ifc4x3::IfcThermalConductivityMeasure::IfcThermalConductivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcThermalConductivityMeasure::IfcThermalConductivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcThermalConductivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcThermalConductivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalExpansionCoefficientMeasure const IfcParse::type_declaration& Ifc4x3::IfcThermalExpansionCoefficientMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[1200]); } const IfcParse::type_declaration& Ifc4x3::IfcThermalExpansionCoefficientMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[1200]); } Ifc4x3::IfcThermalExpansionCoefficientMeasure::IfcThermalExpansionCoefficientMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcThermalExpansionCoefficientMeasure::IfcThermalExpansionCoefficientMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcThermalExpansionCoefficientMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcThermalExpansionCoefficientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalResistanceMeasure const IfcParse::type_declaration& Ifc4x3::IfcThermalResistanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[1201]); } const IfcParse::type_declaration& Ifc4x3::IfcThermalResistanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[1201]); } Ifc4x3::IfcThermalResistanceMeasure::IfcThermalResistanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcThermalResistanceMeasure::IfcThermalResistanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcThermalResistanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcThermalResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalTransmittanceMeasure const IfcParse::type_declaration& Ifc4x3::IfcThermalTransmittanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[1202]); } const IfcParse::type_declaration& Ifc4x3::IfcThermalTransmittanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[1202]); } Ifc4x3::IfcThermalTransmittanceMeasure::IfcThermalTransmittanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcThermalTransmittanceMeasure::IfcThermalTransmittanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcThermalTransmittanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcThermalTransmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermodynamicTemperatureMeasure const IfcParse::type_declaration& Ifc4x3::IfcThermodynamicTemperatureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[1203]); } const IfcParse::type_declaration& Ifc4x3::IfcThermodynamicTemperatureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[1203]); } Ifc4x3::IfcThermodynamicTemperatureMeasure::IfcThermodynamicTemperatureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcThermodynamicTemperatureMeasure::IfcThermodynamicTemperatureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcThermodynamicTemperatureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcThermodynamicTemperatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTime const IfcParse::type_declaration& Ifc4x3::IfcTime::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[1205]); } const IfcParse::type_declaration& Ifc4x3::IfcTime::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[1205]); } Ifc4x3::IfcTime::IfcTime(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcTime::IfcTime(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcTime::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTimeMeasure const IfcParse::type_declaration& Ifc4x3::IfcTimeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[1206]); } const IfcParse::type_declaration& Ifc4x3::IfcTimeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[1206]); } Ifc4x3::IfcTimeMeasure::IfcTimeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcTimeMeasure::IfcTimeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcTimeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcTimeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTimeStamp const IfcParse::type_declaration& Ifc4x3::IfcTimeStamp::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[1212]); } const IfcParse::type_declaration& Ifc4x3::IfcTimeStamp::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[1212]); } Ifc4x3::IfcTimeStamp::IfcTimeStamp(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcTimeStamp::IfcTimeStamp(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcTimeStamp::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcTimeStamp::operator int() const { return get_attribute_value(0); } // Function implementations for IfcTorqueMeasure const IfcParse::type_declaration& Ifc4x3::IfcTorqueMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[1216]); } const IfcParse::type_declaration& Ifc4x3::IfcTorqueMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[1216]); } Ifc4x3::IfcTorqueMeasure::IfcTorqueMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcTorqueMeasure::IfcTorqueMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcTorqueMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcTorqueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcURIReference const IfcParse::type_declaration& Ifc4x3::IfcURIReference::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[1253]); } const IfcParse::type_declaration& Ifc4x3::IfcURIReference::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[1253]); } Ifc4x3::IfcURIReference::IfcURIReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcURIReference::IfcURIReference(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcURIReference::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcURIReference::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcVaporPermeabilityMeasure const IfcParse::type_declaration& Ifc4x3::IfcVaporPermeabilityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[1259]); } const IfcParse::type_declaration& Ifc4x3::IfcVaporPermeabilityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[1259]); } Ifc4x3::IfcVaporPermeabilityMeasure::IfcVaporPermeabilityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcVaporPermeabilityMeasure::IfcVaporPermeabilityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcVaporPermeabilityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcVaporPermeabilityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumeMeasure const IfcParse::type_declaration& Ifc4x3::IfcVolumeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[1279]); } const IfcParse::type_declaration& Ifc4x3::IfcVolumeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[1279]); } Ifc4x3::IfcVolumeMeasure::IfcVolumeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcVolumeMeasure::IfcVolumeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcVolumeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcVolumeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumetricFlowRateMeasure const IfcParse::type_declaration& Ifc4x3::IfcVolumetricFlowRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[1280]); } const IfcParse::type_declaration& Ifc4x3::IfcVolumetricFlowRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[1280]); } Ifc4x3::IfcVolumetricFlowRateMeasure::IfcVolumetricFlowRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcVolumetricFlowRateMeasure::IfcVolumetricFlowRateMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcVolumetricFlowRateMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcVolumetricFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingConstantMeasure const IfcParse::type_declaration& Ifc4x3::IfcWarpingConstantMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[1285]); } const IfcParse::type_declaration& Ifc4x3::IfcWarpingConstantMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[1285]); } Ifc4x3::IfcWarpingConstantMeasure::IfcWarpingConstantMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcWarpingConstantMeasure::IfcWarpingConstantMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcWarpingConstantMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcWarpingConstantMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingMomentMeasure const IfcParse::type_declaration& Ifc4x3::IfcWarpingMomentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_types[1286]); } const IfcParse::type_declaration& Ifc4x3::IfcWarpingMomentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_types[1286]); } Ifc4x3::IfcWarpingMomentMeasure::IfcWarpingMomentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3::IfcWarpingMomentMeasure::IfcWarpingMomentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3::IfcWarpingMomentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3::IfcWarpingMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcActionRequest -boost::optional< ::Ifc4x3::IfcActionRequestTypeEnum::Value > Ifc4x3::IfcActionRequest::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3::IfcActionRequestTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3::IfcActionRequestTypeEnum::Value > Ifc4x3::IfcActionRequest::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3::IfcActionRequestTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3::IfcActionRequest::setPredefinedType(boost::optional< ::Ifc4x3::IfcActionRequestTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3::IfcActionRequestTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3::IfcActionRequest::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3::IfcActionRequest::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3::IfcActionRequest::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3::IfcActionRequest::LongDescription() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3::IfcActionRequest::LongDescription() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3::IfcActionRequest::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcActionRequest::declaration() const { return *((IfcParse::entity*)IFC4X3_types[2]); } const IfcParse::entity& Ifc4x3::IfcActionRequest::Class() { return *((IfcParse::entity*)IFC4X3_types[2]); } Ifc4x3::IfcActionRequest::IfcActionRequest(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3::IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3::IfcActionRequestTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } +Ifc4x3::IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3::IfcActionRequestTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } // Function implementations for IfcActor -::Ifc4x3::IfcActorSelect* Ifc4x3::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcActorSelect>(true); } +::Ifc4x3::IfcActorSelect* Ifc4x3::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcActorSelect>(true); } void Ifc4x3::IfcActor::setTheActor(::Ifc4x3::IfcActorSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc4x3::IfcRelAssignsToActor::list::ptr Ifc4x3::IfcActor::IsActingUpon() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[902], 6)->as(); } @@ -7792,14 +7792,14 @@ void Ifc4x3::IfcActor::setTheActor(::Ifc4x3::IfcActorSelect* v) { set_attribute_ const IfcParse::entity& Ifc4x3::IfcActor::declaration() const { return *((IfcParse::entity*)IFC4X3_types[6]); } const IfcParse::entity& Ifc4x3::IfcActor::Class() { return *((IfcParse::entity*)IFC4X3_types[6]); } Ifc4x3::IfcActor::IfcActor(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3::IfcActor::IfcActor(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcActorSelect* v6_TheActor) : IfcObject(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcActor::IfcActor(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcActorSelect* v6_TheActor) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcActorRole -::Ifc4x3::IfcRoleEnum::Value Ifc4x3::IfcActorRole::Role() const { return ::Ifc4x3::IfcRoleEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3::IfcRoleEnum::Value Ifc4x3::IfcActorRole::Role() const { return ::Ifc4x3::IfcRoleEnum::FromString(get_attribute_value(0)); } void Ifc4x3::IfcActorRole::setRole(::Ifc4x3::IfcRoleEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3::IfcRoleEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3::IfcActorRole::UserDefinedRole() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3::IfcActorRole::UserDefinedRole() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcActorRole::setUserDefinedRole(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3::IfcActorRole::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3::IfcActorRole::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3::IfcActorRole::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3::IfcExternalReferenceRelationship::list::ptr Ifc4x3::IfcActorRole::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[430], 3)->as(); } @@ -7807,34 +7807,34 @@ void Ifc4x3::IfcActorRole::setDescription(boost::optional< std::string > v) { if const IfcParse::entity& Ifc4x3::IfcActorRole::declaration() const { return *((IfcParse::entity*)IFC4X3_types[7]); } const IfcParse::entity& Ifc4x3::IfcActorRole::Class() { return *((IfcParse::entity*)IFC4X3_types[7]); } Ifc4x3::IfcActorRole::IfcActorRole(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcActorRole::IfcActorRole(::Ifc4x3::IfcRoleEnum::Value v1_Role, boost::optional< std::string > v2_UserDefinedRole, boost::optional< std::string > v3_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } +Ifc4x3::IfcActorRole::IfcActorRole(::Ifc4x3::IfcRoleEnum::Value v1_Role, boost::optional< std::string > v2_UserDefinedRole, boost::optional< std::string > v3_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } // Function implementations for IfcActuator -boost::optional< ::Ifc4x3::IfcActuatorTypeEnum::Value > Ifc4x3::IfcActuator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcActuatorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcActuatorTypeEnum::Value > Ifc4x3::IfcActuator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcActuatorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcActuator::setPredefinedType(boost::optional< ::Ifc4x3::IfcActuatorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcActuatorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcActuator::declaration() const { return *((IfcParse::entity*)IFC4X3_types[9]); } const IfcParse::entity& Ifc4x3::IfcActuator::Class() { return *((IfcParse::entity*)IFC4X3_types[9]); } Ifc4x3::IfcActuator::IfcActuator(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3::IfcActuator::IfcActuator(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcActuatorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcActuator::IfcActuator(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcActuatorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcActuatorType -::Ifc4x3::IfcActuatorTypeEnum::Value Ifc4x3::IfcActuatorType::PredefinedType() const { return ::Ifc4x3::IfcActuatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcActuatorTypeEnum::Value Ifc4x3::IfcActuatorType::PredefinedType() const { return ::Ifc4x3::IfcActuatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcActuatorType::setPredefinedType(::Ifc4x3::IfcActuatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcActuatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcActuatorType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[10]); } const IfcParse::entity& Ifc4x3::IfcActuatorType::Class() { return *((IfcParse::entity*)IFC4X3_types[10]); } Ifc4x3::IfcActuatorType::IfcActuatorType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3::IfcActuatorType::IfcActuatorType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcActuatorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcActuatorType::IfcActuatorType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcActuatorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAddress -boost::optional< ::Ifc4x3::IfcAddressTypeEnum::Value > Ifc4x3::IfcAddress::Purpose() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } return ::Ifc4x3::IfcAddressTypeEnum::FromString(data_.get_attribute_value(0)); } +boost::optional< ::Ifc4x3::IfcAddressTypeEnum::Value > Ifc4x3::IfcAddress::Purpose() const { if(get_attribute_value(0).isNull()) { return boost::none; } return ::Ifc4x3::IfcAddressTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x3::IfcAddress::setPurpose(boost::optional< ::Ifc4x3::IfcAddressTypeEnum::Value > v) { if (v) {set_attribute_value(0, EnumerationReference(&::Ifc4x3::IfcAddressTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3::IfcAddress::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3::IfcAddress::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcAddress::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3::IfcAddress::UserDefinedPurpose() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3::IfcAddress::UserDefinedPurpose() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3::IfcAddress::setUserDefinedPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3::IfcPerson::list::ptr Ifc4x3::IfcAddress::OfPerson() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[738], 7)->as(); } @@ -7843,7 +7843,7 @@ void Ifc4x3::IfcAddress::setUserDefinedPurpose(boost::optional< std::string > v) const IfcParse::entity& Ifc4x3::IfcAddress::declaration() const { return *((IfcParse::entity*)IFC4X3_types[12]); } const IfcParse::entity& Ifc4x3::IfcAddress::Class() { return *((IfcParse::entity*)IFC4X3_types[12]); } Ifc4x3::IfcAddress::IfcAddress(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcAddress::IfcAddress(boost::optional< ::Ifc4x3::IfcAddressTypeEnum::Value > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; populate_derived(); } +Ifc4x3::IfcAddress::IfcAddress(boost::optional< ::Ifc4x3::IfcAddressTypeEnum::Value > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; populate_derived(); } // Function implementations for IfcAdvancedBrep @@ -7851,17 +7851,17 @@ Ifc4x3::IfcAddress::IfcAddress(boost::optional< ::Ifc4x3::IfcAddressTypeEnum::Va const IfcParse::entity& Ifc4x3::IfcAdvancedBrep::declaration() const { return *((IfcParse::entity*)IFC4X3_types[14]); } const IfcParse::entity& Ifc4x3::IfcAdvancedBrep::Class() { return *((IfcParse::entity*)IFC4X3_types[14]); } Ifc4x3::IfcAdvancedBrep::IfcAdvancedBrep(IfcEntityInstanceData&& e) : IfcManifoldSolidBrep(std::move(e)) { } -Ifc4x3::IfcAdvancedBrep::IfcAdvancedBrep(::Ifc4x3::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcAdvancedBrep::IfcAdvancedBrep(::Ifc4x3::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAdvancedBrepWithVoids -aggregate_of< ::Ifc4x3::IfcClosedShell >::ptr Ifc4x3::IfcAdvancedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3::IfcClosedShell >(); } +aggregate_of< ::Ifc4x3::IfcClosedShell >::ptr Ifc4x3::IfcAdvancedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3::IfcClosedShell >(); } void Ifc4x3::IfcAdvancedBrepWithVoids::setVoids(aggregate_of< ::Ifc4x3::IfcClosedShell >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcAdvancedBrepWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_types[15]); } const IfcParse::entity& Ifc4x3::IfcAdvancedBrepWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_types[15]); } Ifc4x3::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(IfcEntityInstanceData&& e) : IfcAdvancedBrep(std::move(e)) { } -Ifc4x3::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4x3::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3::IfcClosedShell >::ptr v2_Voids) : IfcAdvancedBrep(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } +Ifc4x3::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4x3::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3::IfcClosedShell >::ptr v2_Voids) : IfcAdvancedBrep(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } // Function implementations for IfcAdvancedFace @@ -7869,129 +7869,129 @@ Ifc4x3::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4x3::IfcClosedSh const IfcParse::entity& Ifc4x3::IfcAdvancedFace::declaration() const { return *((IfcParse::entity*)IFC4X3_types[16]); } const IfcParse::entity& Ifc4x3::IfcAdvancedFace::Class() { return *((IfcParse::entity*)IFC4X3_types[16]); } Ifc4x3::IfcAdvancedFace::IfcAdvancedFace(IfcEntityInstanceData&& e) : IfcFaceSurface(std::move(e)) { } -Ifc4x3::IfcAdvancedFace::IfcAdvancedFace(aggregate_of< ::Ifc4x3::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFaceSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } +Ifc4x3::IfcAdvancedFace::IfcAdvancedFace(aggregate_of< ::Ifc4x3::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFaceSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } // Function implementations for IfcAirTerminal -boost::optional< ::Ifc4x3::IfcAirTerminalTypeEnum::Value > Ifc4x3::IfcAirTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcAirTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcAirTerminalTypeEnum::Value > Ifc4x3::IfcAirTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcAirTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcAirTerminal::setPredefinedType(boost::optional< ::Ifc4x3::IfcAirTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcAirTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcAirTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_types[17]); } const IfcParse::entity& Ifc4x3::IfcAirTerminal::Class() { return *((IfcParse::entity*)IFC4X3_types[17]); } Ifc4x3::IfcAirTerminal::IfcAirTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3::IfcAirTerminal::IfcAirTerminal(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcAirTerminal::IfcAirTerminal(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAirTerminalBox -boost::optional< ::Ifc4x3::IfcAirTerminalBoxTypeEnum::Value > Ifc4x3::IfcAirTerminalBox::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcAirTerminalBoxTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcAirTerminalBoxTypeEnum::Value > Ifc4x3::IfcAirTerminalBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcAirTerminalBox::setPredefinedType(boost::optional< ::Ifc4x3::IfcAirTerminalBoxTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcAirTerminalBoxTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcAirTerminalBox::declaration() const { return *((IfcParse::entity*)IFC4X3_types[18]); } const IfcParse::entity& Ifc4x3::IfcAirTerminalBox::Class() { return *((IfcParse::entity*)IFC4X3_types[18]); } Ifc4x3::IfcAirTerminalBox::IfcAirTerminalBox(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3::IfcAirTerminalBox::IfcAirTerminalBox(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcAirTerminalBox::IfcAirTerminalBox(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAirTerminalBoxType -::Ifc4x3::IfcAirTerminalBoxTypeEnum::Value Ifc4x3::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4x3::IfcAirTerminalBoxTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcAirTerminalBoxTypeEnum::Value Ifc4x3::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4x3::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcAirTerminalBoxType::setPredefinedType(::Ifc4x3::IfcAirTerminalBoxTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcAirTerminalBoxTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcAirTerminalBoxType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[19]); } const IfcParse::entity& Ifc4x3::IfcAirTerminalBoxType::Class() { return *((IfcParse::entity*)IFC4X3_types[19]); } Ifc4x3::IfcAirTerminalBoxType::IfcAirTerminalBoxType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3::IfcAirTerminalBoxType::IfcAirTerminalBoxType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcAirTerminalBoxType::IfcAirTerminalBoxType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAirTerminalType -::Ifc4x3::IfcAirTerminalTypeEnum::Value Ifc4x3::IfcAirTerminalType::PredefinedType() const { return ::Ifc4x3::IfcAirTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcAirTerminalTypeEnum::Value Ifc4x3::IfcAirTerminalType::PredefinedType() const { return ::Ifc4x3::IfcAirTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcAirTerminalType::setPredefinedType(::Ifc4x3::IfcAirTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcAirTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcAirTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[21]); } const IfcParse::entity& Ifc4x3::IfcAirTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_types[21]); } Ifc4x3::IfcAirTerminalType::IfcAirTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3::IfcAirTerminalType::IfcAirTerminalType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAirTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcAirTerminalType::IfcAirTerminalType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAirTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAirToAirHeatRecovery -boost::optional< ::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x3::IfcAirToAirHeatRecovery::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x3::IfcAirToAirHeatRecovery::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcAirToAirHeatRecovery::setPredefinedType(boost::optional< ::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcAirToAirHeatRecovery::declaration() const { return *((IfcParse::entity*)IFC4X3_types[23]); } const IfcParse::entity& Ifc4x3::IfcAirToAirHeatRecovery::Class() { return *((IfcParse::entity*)IFC4X3_types[23]); } Ifc4x3::IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3::IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAirToAirHeatRecoveryType -::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcAirToAirHeatRecoveryType::setPredefinedType(::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcAirToAirHeatRecoveryType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[24]); } const IfcParse::entity& Ifc4x3::IfcAirToAirHeatRecoveryType::Class() { return *((IfcParse::entity*)IFC4X3_types[24]); } Ifc4x3::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlarm -boost::optional< ::Ifc4x3::IfcAlarmTypeEnum::Value > Ifc4x3::IfcAlarm::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcAlarmTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcAlarmTypeEnum::Value > Ifc4x3::IfcAlarm::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcAlarmTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcAlarm::setPredefinedType(boost::optional< ::Ifc4x3::IfcAlarmTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcAlarmTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcAlarm::declaration() const { return *((IfcParse::entity*)IFC4X3_types[26]); } const IfcParse::entity& Ifc4x3::IfcAlarm::Class() { return *((IfcParse::entity*)IFC4X3_types[26]); } Ifc4x3::IfcAlarm::IfcAlarm(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3::IfcAlarm::IfcAlarm(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcAlarmTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcAlarm::IfcAlarm(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcAlarmTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAlarmType -::Ifc4x3::IfcAlarmTypeEnum::Value Ifc4x3::IfcAlarmType::PredefinedType() const { return ::Ifc4x3::IfcAlarmTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcAlarmTypeEnum::Value Ifc4x3::IfcAlarmType::PredefinedType() const { return ::Ifc4x3::IfcAlarmTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcAlarmType::setPredefinedType(::Ifc4x3::IfcAlarmTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcAlarmTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcAlarmType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[27]); } const IfcParse::entity& Ifc4x3::IfcAlarmType::Class() { return *((IfcParse::entity*)IFC4X3_types[27]); } Ifc4x3::IfcAlarmType::IfcAlarmType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3::IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAlarmTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAlarmTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlignment -boost::optional< ::Ifc4x3::IfcAlignmentTypeEnum::Value > Ifc4x3::IfcAlignment::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3::IfcAlignmentTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3::IfcAlignmentTypeEnum::Value > Ifc4x3::IfcAlignment::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3::IfcAlignmentTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3::IfcAlignment::setPredefinedType(boost::optional< ::Ifc4x3::IfcAlignmentTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3::IfcAlignmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3::IfcAlignment::declaration() const { return *((IfcParse::entity*)IFC4X3_types[29]); } const IfcParse::entity& Ifc4x3::IfcAlignment::Class() { return *((IfcParse::entity*)IFC4X3_types[29]); } Ifc4x3::IfcAlignment::IfcAlignment(IfcEntityInstanceData&& e) : IfcLinearPositioningElement(std::move(e)) { } -Ifc4x3::IfcAlignment::IfcAlignment(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3::IfcAlignmentTypeEnum::Value > v8_PredefinedType) : IfcLinearPositioningElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcAlignmentTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcAlignment::IfcAlignment(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3::IfcAlignmentTypeEnum::Value > v8_PredefinedType) : IfcLinearPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcAlignmentTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAlignmentCant -double Ifc4x3::IfcAlignmentCant::RailHeadDistance() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x3::IfcAlignmentCant::RailHeadDistance() const { double v = get_attribute_value(7); return v; } void Ifc4x3::IfcAlignmentCant::setRailHeadDistance(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3::IfcAlignmentCant::declaration() const { return *((IfcParse::entity*)IFC4X3_types[30]); } const IfcParse::entity& Ifc4x3::IfcAlignmentCant::Class() { return *((IfcParse::entity*)IFC4X3_types[30]); } Ifc4x3::IfcAlignmentCant::IfcAlignmentCant(IfcEntityInstanceData&& e) : IfcLinearElement(std::move(e)) { } -Ifc4x3::IfcAlignmentCant::IfcAlignmentCant(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, double v8_RailHeadDistance) : IfcLinearElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RailHeadDistance));; populate_derived(); } +Ifc4x3::IfcAlignmentCant::IfcAlignmentCant(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, double v8_RailHeadDistance) : IfcLinearElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RailHeadDistance));; populate_derived(); } // Function implementations for IfcAlignmentCantSegment -double Ifc4x3::IfcAlignmentCantSegment::StartDistAlong() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3::IfcAlignmentCantSegment::StartDistAlong() const { double v = get_attribute_value(2); return v; } void Ifc4x3::IfcAlignmentCantSegment::setStartDistAlong(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3::IfcAlignmentCantSegment::HorizontalLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3::IfcAlignmentCantSegment::HorizontalLength() const { double v = get_attribute_value(3); return v; } void Ifc4x3::IfcAlignmentCantSegment::setHorizontalLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3::IfcAlignmentCantSegment::StartCantLeft() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3::IfcAlignmentCantSegment::StartCantLeft() const { double v = get_attribute_value(4); return v; } void Ifc4x3::IfcAlignmentCantSegment::setStartCantLeft(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< double > Ifc4x3::IfcAlignmentCantSegment::EndCantLeft() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3::IfcAlignmentCantSegment::EndCantLeft() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3::IfcAlignmentCantSegment::setEndCantLeft(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -double Ifc4x3::IfcAlignmentCantSegment::StartCantRight() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3::IfcAlignmentCantSegment::StartCantRight() const { double v = get_attribute_value(6); return v; } void Ifc4x3::IfcAlignmentCantSegment::setStartCantRight(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3::IfcAlignmentCantSegment::EndCantRight() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3::IfcAlignmentCantSegment::EndCantRight() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3::IfcAlignmentCantSegment::setEndCantRight(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3::IfcAlignmentCantSegmentTypeEnum::Value Ifc4x3::IfcAlignmentCantSegment::PredefinedType() const { return ::Ifc4x3::IfcAlignmentCantSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3::IfcAlignmentCantSegmentTypeEnum::Value Ifc4x3::IfcAlignmentCantSegment::PredefinedType() const { return ::Ifc4x3::IfcAlignmentCantSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcAlignmentCantSegment::setPredefinedType(::Ifc4x3::IfcAlignmentCantSegmentTypeEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcAlignmentCantSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3::IfcAlignmentCantSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_types[31]); } const IfcParse::entity& Ifc4x3::IfcAlignmentCantSegment::Class() { return *((IfcParse::entity*)IFC4X3_types[31]); } Ifc4x3::IfcAlignmentCantSegment::IfcAlignmentCantSegment(IfcEntityInstanceData&& e) : IfcAlignmentParameterSegment(std::move(e)) { } -Ifc4x3::IfcAlignmentCantSegment::IfcAlignmentCantSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, boost::optional< double > v6_EndCantLeft, double v7_StartCantRight, boost::optional< double > v8_EndCantRight, ::Ifc4x3::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(storage_t(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartCantLeft)); if (v6_EndCantLeft) {set_attribute_value(5, (*v6_EndCantLeft)); }set_attribute_value(6, (v7_StartCantRight)); if (v8_EndCantRight) {set_attribute_value(7, (*v8_EndCantRight)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcAlignmentCantSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcAlignmentCantSegment::IfcAlignmentCantSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, boost::optional< double > v6_EndCantLeft, double v7_StartCantRight, boost::optional< double > v8_EndCantRight, ::Ifc4x3::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartCantLeft)); if (v6_EndCantLeft) {set_attribute_value(5, (*v6_EndCantLeft)); }set_attribute_value(6, (v7_StartCantRight)); if (v8_EndCantRight) {set_attribute_value(7, (*v8_EndCantRight)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcAlignmentCantSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlignmentHorizontal @@ -7999,51 +7999,51 @@ Ifc4x3::IfcAlignmentCantSegment::IfcAlignmentCantSegment(boost::optional< std::s const IfcParse::entity& Ifc4x3::IfcAlignmentHorizontal::declaration() const { return *((IfcParse::entity*)IFC4X3_types[33]); } const IfcParse::entity& Ifc4x3::IfcAlignmentHorizontal::Class() { return *((IfcParse::entity*)IFC4X3_types[33]); } Ifc4x3::IfcAlignmentHorizontal::IfcAlignmentHorizontal(IfcEntityInstanceData&& e) : IfcLinearElement(std::move(e)) { } -Ifc4x3::IfcAlignmentHorizontal::IfcAlignmentHorizontal(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation) : IfcLinearElement(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcAlignmentHorizontal::IfcAlignmentHorizontal(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation) : IfcLinearElement(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAlignmentHorizontalSegment -::Ifc4x3::IfcCartesianPoint* Ifc4x3::IfcAlignmentHorizontalSegment::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcCartesianPoint>(true); } +::Ifc4x3::IfcCartesianPoint* Ifc4x3::IfcAlignmentHorizontalSegment::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcCartesianPoint>(true); } void Ifc4x3::IfcAlignmentHorizontalSegment::setStartPoint(::Ifc4x3::IfcCartesianPoint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x3::IfcAlignmentHorizontalSegment::StartDirection() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3::IfcAlignmentHorizontalSegment::StartDirection() const { double v = get_attribute_value(3); return v; } void Ifc4x3::IfcAlignmentHorizontalSegment::setStartDirection(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3::IfcAlignmentHorizontalSegment::StartRadiusOfCurvature() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3::IfcAlignmentHorizontalSegment::StartRadiusOfCurvature() const { double v = get_attribute_value(4); return v; } void Ifc4x3::IfcAlignmentHorizontalSegment::setStartRadiusOfCurvature(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3::IfcAlignmentHorizontalSegment::EndRadiusOfCurvature() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3::IfcAlignmentHorizontalSegment::EndRadiusOfCurvature() const { double v = get_attribute_value(5); return v; } void Ifc4x3::IfcAlignmentHorizontalSegment::setEndRadiusOfCurvature(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3::IfcAlignmentHorizontalSegment::SegmentLength() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3::IfcAlignmentHorizontalSegment::SegmentLength() const { double v = get_attribute_value(6); return v; } void Ifc4x3::IfcAlignmentHorizontalSegment::setSegmentLength(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3::IfcAlignmentHorizontalSegment::GravityCenterLineHeight() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3::IfcAlignmentHorizontalSegment::GravityCenterLineHeight() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3::IfcAlignmentHorizontalSegment::setGravityCenterLineHeight(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3::IfcAlignmentHorizontalSegmentTypeEnum::Value Ifc4x3::IfcAlignmentHorizontalSegment::PredefinedType() const { return ::Ifc4x3::IfcAlignmentHorizontalSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3::IfcAlignmentHorizontalSegmentTypeEnum::Value Ifc4x3::IfcAlignmentHorizontalSegment::PredefinedType() const { return ::Ifc4x3::IfcAlignmentHorizontalSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcAlignmentHorizontalSegment::setPredefinedType(::Ifc4x3::IfcAlignmentHorizontalSegmentTypeEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcAlignmentHorizontalSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3::IfcAlignmentHorizontalSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_types[34]); } const IfcParse::entity& Ifc4x3::IfcAlignmentHorizontalSegment::Class() { return *((IfcParse::entity*)IFC4X3_types[34]); } Ifc4x3::IfcAlignmentHorizontalSegment::IfcAlignmentHorizontalSegment(IfcEntityInstanceData&& e) : IfcAlignmentParameterSegment(std::move(e)) { } -Ifc4x3::IfcAlignmentHorizontalSegment::IfcAlignmentHorizontalSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag, ::Ifc4x3::IfcCartesianPoint* v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, boost::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(storage_t(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, v3_StartPoint ? v3_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_StartDirection));set_attribute_value(4, (v5_StartRadiusOfCurvature));set_attribute_value(5, (v6_EndRadiusOfCurvature));set_attribute_value(6, (v7_SegmentLength)); if (v8_GravityCenterLineHeight) {set_attribute_value(7, (*v8_GravityCenterLineHeight)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcAlignmentHorizontalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcAlignmentHorizontalSegment::IfcAlignmentHorizontalSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag, ::Ifc4x3::IfcCartesianPoint* v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, boost::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, v3_StartPoint ? v3_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_StartDirection));set_attribute_value(4, (v5_StartRadiusOfCurvature));set_attribute_value(5, (v6_EndRadiusOfCurvature));set_attribute_value(6, (v7_SegmentLength)); if (v8_GravityCenterLineHeight) {set_attribute_value(7, (*v8_GravityCenterLineHeight)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcAlignmentHorizontalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlignmentParameterSegment -boost::optional< std::string > Ifc4x3::IfcAlignmentParameterSegment::StartTag() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3::IfcAlignmentParameterSegment::StartTag() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcAlignmentParameterSegment::setStartTag(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3::IfcAlignmentParameterSegment::EndTag() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3::IfcAlignmentParameterSegment::EndTag() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcAlignmentParameterSegment::setEndTag(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3::IfcAlignmentParameterSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_types[36]); } const IfcParse::entity& Ifc4x3::IfcAlignmentParameterSegment::Class() { return *((IfcParse::entity*)IFC4X3_types[36]); } Ifc4x3::IfcAlignmentParameterSegment::IfcAlignmentParameterSegment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcAlignmentParameterSegment::IfcAlignmentParameterSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }; populate_derived(); } +Ifc4x3::IfcAlignmentParameterSegment::IfcAlignmentParameterSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }; populate_derived(); } // Function implementations for IfcAlignmentSegment -::Ifc4x3::IfcAlignmentParameterSegment* Ifc4x3::IfcAlignmentSegment::DesignParameters() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3::IfcAlignmentParameterSegment>(true); } +::Ifc4x3::IfcAlignmentParameterSegment* Ifc4x3::IfcAlignmentSegment::DesignParameters() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3::IfcAlignmentParameterSegment>(true); } void Ifc4x3::IfcAlignmentSegment::setDesignParameters(::Ifc4x3::IfcAlignmentParameterSegment* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3::IfcAlignmentSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_types[37]); } const IfcParse::entity& Ifc4x3::IfcAlignmentSegment::Class() { return *((IfcParse::entity*)IFC4X3_types[37]); } Ifc4x3::IfcAlignmentSegment::IfcAlignmentSegment(IfcEntityInstanceData&& e) : IfcLinearElement(std::move(e)) { } -Ifc4x3::IfcAlignmentSegment::IfcAlignmentSegment(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcAlignmentParameterSegment* v8_DesignParameters) : IfcLinearElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_DesignParameters ? v8_DesignParameters->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcAlignmentSegment::IfcAlignmentSegment(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcAlignmentParameterSegment* v8_DesignParameters) : IfcLinearElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_DesignParameters ? v8_DesignParameters->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAlignmentVertical @@ -8051,32 +8051,32 @@ Ifc4x3::IfcAlignmentSegment::IfcAlignmentSegment(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3::IfcAlignmentVertical::declaration() const { return *((IfcParse::entity*)IFC4X3_types[39]); } const IfcParse::entity& Ifc4x3::IfcAlignmentVertical::Class() { return *((IfcParse::entity*)IFC4X3_types[39]); } Ifc4x3::IfcAlignmentVertical::IfcAlignmentVertical(IfcEntityInstanceData&& e) : IfcLinearElement(std::move(e)) { } -Ifc4x3::IfcAlignmentVertical::IfcAlignmentVertical(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation) : IfcLinearElement(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcAlignmentVertical::IfcAlignmentVertical(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation) : IfcLinearElement(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAlignmentVerticalSegment -double Ifc4x3::IfcAlignmentVerticalSegment::StartDistAlong() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3::IfcAlignmentVerticalSegment::StartDistAlong() const { double v = get_attribute_value(2); return v; } void Ifc4x3::IfcAlignmentVerticalSegment::setStartDistAlong(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3::IfcAlignmentVerticalSegment::HorizontalLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3::IfcAlignmentVerticalSegment::HorizontalLength() const { double v = get_attribute_value(3); return v; } void Ifc4x3::IfcAlignmentVerticalSegment::setHorizontalLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3::IfcAlignmentVerticalSegment::StartHeight() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3::IfcAlignmentVerticalSegment::StartHeight() const { double v = get_attribute_value(4); return v; } void Ifc4x3::IfcAlignmentVerticalSegment::setStartHeight(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3::IfcAlignmentVerticalSegment::StartGradient() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3::IfcAlignmentVerticalSegment::StartGradient() const { double v = get_attribute_value(5); return v; } void Ifc4x3::IfcAlignmentVerticalSegment::setStartGradient(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3::IfcAlignmentVerticalSegment::EndGradient() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3::IfcAlignmentVerticalSegment::EndGradient() const { double v = get_attribute_value(6); return v; } void Ifc4x3::IfcAlignmentVerticalSegment::setEndGradient(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3::IfcAlignmentVerticalSegment::RadiusOfCurvature() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3::IfcAlignmentVerticalSegment::RadiusOfCurvature() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3::IfcAlignmentVerticalSegment::setRadiusOfCurvature(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3::IfcAlignmentVerticalSegmentTypeEnum::Value Ifc4x3::IfcAlignmentVerticalSegment::PredefinedType() const { return ::Ifc4x3::IfcAlignmentVerticalSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3::IfcAlignmentVerticalSegmentTypeEnum::Value Ifc4x3::IfcAlignmentVerticalSegment::PredefinedType() const { return ::Ifc4x3::IfcAlignmentVerticalSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcAlignmentVerticalSegment::setPredefinedType(::Ifc4x3::IfcAlignmentVerticalSegmentTypeEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcAlignmentVerticalSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3::IfcAlignmentVerticalSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_types[40]); } const IfcParse::entity& Ifc4x3::IfcAlignmentVerticalSegment::Class() { return *((IfcParse::entity*)IFC4X3_types[40]); } Ifc4x3::IfcAlignmentVerticalSegment::IfcAlignmentVerticalSegment(IfcEntityInstanceData&& e) : IfcAlignmentParameterSegment(std::move(e)) { } -Ifc4x3::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::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(storage_t(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } +Ifc4x3::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::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } // Function implementations for IfcAnnotation -boost::optional< ::Ifc4x3::IfcAnnotationTypeEnum::Value > Ifc4x3::IfcAnnotation::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3::IfcAnnotationTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3::IfcAnnotationTypeEnum::Value > Ifc4x3::IfcAnnotation::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3::IfcAnnotationTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3::IfcAnnotation::setPredefinedType(boost::optional< ::Ifc4x3::IfcAnnotationTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3::IfcAnnotationTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } ::Ifc4x3::IfcRelContainedInSpatialStructure::list::ptr Ifc4x3::IfcAnnotation::ContainedInStructure() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[927], 4)->as(); } @@ -8084,56 +8084,56 @@ void Ifc4x3::IfcAnnotation::setPredefinedType(boost::optional< ::Ifc4x3::IfcAnno const IfcParse::entity& Ifc4x3::IfcAnnotation::declaration() const { return *((IfcParse::entity*)IFC4X3_types[46]); } const IfcParse::entity& Ifc4x3::IfcAnnotation::Class() { return *((IfcParse::entity*)IFC4X3_types[46]); } Ifc4x3::IfcAnnotation::IfcAnnotation(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3::IfcAnnotationTypeEnum::Value > v8_PredefinedType) : IfcProduct(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcAnnotationTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3::IfcAnnotationTypeEnum::Value > v8_PredefinedType) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcAnnotationTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAnnotationFillArea -::Ifc4x3::IfcCurve* Ifc4x3::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcCurve>(true); } +::Ifc4x3::IfcCurve* Ifc4x3::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcCurve>(true); } void Ifc4x3::IfcAnnotationFillArea::setOuterBoundary(::Ifc4x3::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< aggregate_of< ::Ifc4x3::IfcCurve >::ptr > Ifc4x3::IfcAnnotationFillArea::InnerBoundaries() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3::IfcCurve >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcCurve >::ptr > Ifc4x3::IfcAnnotationFillArea::InnerBoundaries() const { if(get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3::IfcCurve >(); } void Ifc4x3::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc4x3::IfcCurve >::ptr > v) { if (v) {set_attribute_value(1, (*v)->generalize());} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3::IfcAnnotationFillArea::declaration() const { return *((IfcParse::entity*)IFC4X3_types[47]); } const IfcParse::entity& Ifc4x3::IfcAnnotationFillArea::Class() { return *((IfcParse::entity*)IFC4X3_types[47]); } Ifc4x3::IfcAnnotationFillArea::IfcAnnotationFillArea(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3::IfcAnnotationFillArea::IfcAnnotationFillArea(::Ifc4x3::IfcCurve* v1_OuterBoundary, boost::optional< aggregate_of< ::Ifc4x3::IfcCurve >::ptr > v2_InnerBoundaries) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_OuterBoundary ? v1_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_InnerBoundaries) {set_attribute_value(1, (*v2_InnerBoundaries)->generalize()); }; populate_derived(); } +Ifc4x3::IfcAnnotationFillArea::IfcAnnotationFillArea(::Ifc4x3::IfcCurve* v1_OuterBoundary, boost::optional< aggregate_of< ::Ifc4x3::IfcCurve >::ptr > v2_InnerBoundaries) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_OuterBoundary ? v1_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_InnerBoundaries) {set_attribute_value(1, (*v2_InnerBoundaries)->generalize()); }; populate_derived(); } // Function implementations for IfcApplication -::Ifc4x3::IfcOrganization* Ifc4x3::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcOrganization>(true); } +::Ifc4x3::IfcOrganization* Ifc4x3::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcOrganization>(true); } void Ifc4x3::IfcApplication::setApplicationDeveloper(::Ifc4x3::IfcOrganization* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x3::IfcApplication::Version() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3::IfcApplication::Version() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcApplication::setVersion(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::string Ifc4x3::IfcApplication::ApplicationFullName() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3::IfcApplication::ApplicationFullName() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3::IfcApplication::setApplicationFullName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::string Ifc4x3::IfcApplication::ApplicationIdentifier() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x3::IfcApplication::ApplicationIdentifier() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3::IfcApplication::setApplicationIdentifier(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcApplication::declaration() const { return *((IfcParse::entity*)IFC4X3_types[49]); } const IfcParse::entity& Ifc4x3::IfcApplication::Class() { return *((IfcParse::entity*)IFC4X3_types[49]); } Ifc4x3::IfcApplication::IfcApplication(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcApplication::IfcApplication(::Ifc4x3::IfcOrganization* v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ApplicationDeveloper ? v1_ApplicationDeveloper->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; populate_derived(); } +Ifc4x3::IfcApplication::IfcApplication(::Ifc4x3::IfcOrganization* v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ApplicationDeveloper ? v1_ApplicationDeveloper->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; populate_derived(); } // Function implementations for IfcAppliedValue -boost::optional< std::string > Ifc4x3::IfcAppliedValue::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3::IfcAppliedValue::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcAppliedValue::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3::IfcAppliedValue::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3::IfcAppliedValue::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcAppliedValue::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3::IfcAppliedValueSelect* Ifc4x3::IfcAppliedValue::AppliedValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcAppliedValueSelect>(true); } +::Ifc4x3::IfcAppliedValueSelect* Ifc4x3::IfcAppliedValue::AppliedValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcAppliedValueSelect>(true); } void Ifc4x3::IfcAppliedValue::setAppliedValue(::Ifc4x3::IfcAppliedValueSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3::IfcMeasureWithUnit* Ifc4x3::IfcAppliedValue::UnitBasis() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcMeasureWithUnit>(true); } +::Ifc4x3::IfcMeasureWithUnit* Ifc4x3::IfcAppliedValue::UnitBasis() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcMeasureWithUnit>(true); } void Ifc4x3::IfcAppliedValue::setUnitBasis(::Ifc4x3::IfcMeasureWithUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3::IfcAppliedValue::ApplicableDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3::IfcAppliedValue::ApplicableDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcAppliedValue::setApplicableDate(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3::IfcAppliedValue::FixedUntilDate() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3::IfcAppliedValue::FixedUntilDate() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3::IfcAppliedValue::setFixedUntilDate(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3::IfcAppliedValue::Category() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3::IfcAppliedValue::Category() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3::IfcAppliedValue::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3::IfcAppliedValue::Condition() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3::IfcAppliedValue::Condition() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3::IfcAppliedValue::setCondition(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3::IfcArithmeticOperatorEnum::Value > Ifc4x3::IfcAppliedValue::ArithmeticOperator() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcArithmeticOperatorEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcArithmeticOperatorEnum::Value > Ifc4x3::IfcAppliedValue::ArithmeticOperator() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcArithmeticOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcAppliedValue::setArithmeticOperator(boost::optional< ::Ifc4x3::IfcArithmeticOperatorEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcArithmeticOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > Ifc4x3::IfcAppliedValue::Components() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3::IfcAppliedValue >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > Ifc4x3::IfcAppliedValue::Components() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3::IfcAppliedValue >(); } void Ifc4x3::IfcAppliedValue::setComponents(boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } ::Ifc4x3::IfcExternalReferenceRelationship::list::ptr Ifc4x3::IfcAppliedValue::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[430], 3)->as(); } @@ -8141,26 +8141,26 @@ void Ifc4x3::IfcAppliedValue::setComponents(boost::optional< aggregate_of< ::Ifc const IfcParse::entity& Ifc4x3::IfcAppliedValue::declaration() const { return *((IfcParse::entity*)IFC4X3_types[50]); } const IfcParse::entity& Ifc4x3::IfcAppliedValue::Class() { return *((IfcParse::entity*)IFC4X3_types[50]); } Ifc4x3::IfcAppliedValue::IfcAppliedValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3::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::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > v10_Components) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } +Ifc4x3::IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3::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::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > v10_Components) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } // Function implementations for IfcApproval -boost::optional< std::string > Ifc4x3::IfcApproval::Identifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3::IfcApproval::Identifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcApproval::setIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3::IfcApproval::Name() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3::IfcApproval::Name() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcApproval::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3::IfcApproval::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3::IfcApproval::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3::IfcApproval::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3::IfcApproval::TimeOfApproval() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3::IfcApproval::TimeOfApproval() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3::IfcApproval::setTimeOfApproval(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3::IfcApproval::Status() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3::IfcApproval::Status() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcApproval::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3::IfcApproval::Level() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3::IfcApproval::Level() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3::IfcApproval::setLevel(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3::IfcApproval::Qualifier() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3::IfcApproval::Qualifier() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3::IfcApproval::setQualifier(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3::IfcActorSelect* Ifc4x3::IfcApproval::RequestingApproval() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3::IfcActorSelect>(true); } +::Ifc4x3::IfcActorSelect* Ifc4x3::IfcApproval::RequestingApproval() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3::IfcActorSelect>(true); } void Ifc4x3::IfcApproval::setRequestingApproval(::Ifc4x3::IfcActorSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3::IfcActorSelect* Ifc4x3::IfcApproval::GivingApproval() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3::IfcActorSelect>(true); } +::Ifc4x3::IfcActorSelect* Ifc4x3::IfcApproval::GivingApproval() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3::IfcActorSelect>(true); } void Ifc4x3::IfcApproval::setGivingApproval(::Ifc4x3::IfcActorSelect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } ::Ifc4x3::IfcExternalReferenceRelationship::list::ptr Ifc4x3::IfcApproval::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[430], 3)->as(); } @@ -8172,329 +8172,329 @@ void Ifc4x3::IfcApproval::setGivingApproval(::Ifc4x3::IfcActorSelect* v) { set_a const IfcParse::entity& Ifc4x3::IfcApproval::declaration() const { return *((IfcParse::entity*)IFC4X3_types[52]); } const IfcParse::entity& Ifc4x3::IfcApproval::Class() { return *((IfcParse::entity*)IFC4X3_types[52]); } Ifc4x3::IfcApproval::IfcApproval(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::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::IfcActorSelect* v8_RequestingApproval, ::Ifc4x3::IfcActorSelect* v9_GivingApproval) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(9))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, v8_RequestingApproval ? v8_RequestingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_GivingApproval ? v9_GivingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::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::IfcActorSelect* v8_RequestingApproval, ::Ifc4x3::IfcActorSelect* v9_GivingApproval) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, v8_RequestingApproval ? v8_RequestingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_GivingApproval ? v9_GivingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcApprovalRelationship -::Ifc4x3::IfcApproval* Ifc4x3::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcApproval>(true); } +::Ifc4x3::IfcApproval* Ifc4x3::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcApproval>(true); } void Ifc4x3::IfcApprovalRelationship::setRelatingApproval(::Ifc4x3::IfcApproval* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3::IfcApproval >::ptr Ifc4x3::IfcApprovalRelationship::RelatedApprovals() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3::IfcApproval >(); } +aggregate_of< ::Ifc4x3::IfcApproval >::ptr Ifc4x3::IfcApprovalRelationship::RelatedApprovals() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3::IfcApproval >(); } void Ifc4x3::IfcApprovalRelationship::setRelatedApprovals(aggregate_of< ::Ifc4x3::IfcApproval >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcApprovalRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_types[53]); } const IfcParse::entity& Ifc4x3::IfcApprovalRelationship::Class() { return *((IfcParse::entity*)IFC4X3_types[53]); } Ifc4x3::IfcApprovalRelationship::IfcApprovalRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3::IfcApprovalRelationship::IfcApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcApproval* v3_RelatingApproval, aggregate_of< ::Ifc4x3::IfcApproval >::ptr v4_RelatedApprovals) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingApproval ? v3_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedApprovals)->generalize());; populate_derived(); } +Ifc4x3::IfcApprovalRelationship::IfcApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcApproval* v3_RelatingApproval, aggregate_of< ::Ifc4x3::IfcApproval >::ptr v4_RelatedApprovals) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingApproval ? v3_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedApprovals)->generalize());; populate_derived(); } // Function implementations for IfcArbitraryClosedProfileDef -::Ifc4x3::IfcCurve* Ifc4x3::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcCurve>(true); } +::Ifc4x3::IfcCurve* Ifc4x3::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcCurve>(true); } void Ifc4x3::IfcArbitraryClosedProfileDef::setOuterCurve(::Ifc4x3::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcArbitraryClosedProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_types[54]); } const IfcParse::entity& Ifc4x3::IfcArbitraryClosedProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_types[54]); } Ifc4x3::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcCurve* v3_OuterCurve) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcCurve* v3_OuterCurve) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcArbitraryOpenProfileDef -::Ifc4x3::IfcBoundedCurve* Ifc4x3::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcBoundedCurve>(true); } +::Ifc4x3::IfcBoundedCurve* Ifc4x3::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcBoundedCurve>(true); } void Ifc4x3::IfcArbitraryOpenProfileDef::setCurve(::Ifc4x3::IfcBoundedCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcArbitraryOpenProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_types[55]); } const IfcParse::entity& Ifc4x3::IfcArbitraryOpenProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_types[55]); } Ifc4x3::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcBoundedCurve* v3_Curve) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcBoundedCurve* v3_Curve) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcArbitraryProfileDefWithVoids -aggregate_of< ::Ifc4x3::IfcCurve >::ptr Ifc4x3::IfcArbitraryProfileDefWithVoids::InnerCurves() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3::IfcCurve >(); } +aggregate_of< ::Ifc4x3::IfcCurve >::ptr Ifc4x3::IfcArbitraryProfileDefWithVoids::InnerCurves() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3::IfcCurve >(); } void Ifc4x3::IfcArbitraryProfileDefWithVoids::setInnerCurves(aggregate_of< ::Ifc4x3::IfcCurve >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcArbitraryProfileDefWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_types[56]); } const IfcParse::entity& Ifc4x3::IfcArbitraryProfileDefWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_types[56]); } Ifc4x3::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(IfcEntityInstanceData&& e) : IfcArbitraryClosedProfileDef(std::move(e)) { } -Ifc4x3::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcCurve* v3_OuterCurve, aggregate_of< ::Ifc4x3::IfcCurve >::ptr v4_InnerCurves) : IfcArbitraryClosedProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_InnerCurves)->generalize());; populate_derived(); } +Ifc4x3::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcCurve* v3_OuterCurve, aggregate_of< ::Ifc4x3::IfcCurve >::ptr v4_InnerCurves) : IfcArbitraryClosedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_InnerCurves)->generalize());; populate_derived(); } // Function implementations for IfcAsset -boost::optional< std::string > Ifc4x3::IfcAsset::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3::IfcAsset::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3::IfcAsset::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3::IfcCostValue* Ifc4x3::IfcAsset::OriginalValue() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3::IfcCostValue>(true); } +::Ifc4x3::IfcCostValue* Ifc4x3::IfcAsset::OriginalValue() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3::IfcCostValue>(true); } void Ifc4x3::IfcAsset::setOriginalValue(::Ifc4x3::IfcCostValue* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3::IfcCostValue* Ifc4x3::IfcAsset::CurrentValue() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3::IfcCostValue>(true); } +::Ifc4x3::IfcCostValue* Ifc4x3::IfcAsset::CurrentValue() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3::IfcCostValue>(true); } void Ifc4x3::IfcAsset::setCurrentValue(::Ifc4x3::IfcCostValue* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3::IfcCostValue* Ifc4x3::IfcAsset::TotalReplacementCost() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3::IfcCostValue>(true); } +::Ifc4x3::IfcCostValue* Ifc4x3::IfcAsset::TotalReplacementCost() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3::IfcCostValue>(true); } void Ifc4x3::IfcAsset::setTotalReplacementCost(::Ifc4x3::IfcCostValue* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -::Ifc4x3::IfcActorSelect* Ifc4x3::IfcAsset::Owner() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3::IfcActorSelect>(true); } +::Ifc4x3::IfcActorSelect* Ifc4x3::IfcAsset::Owner() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3::IfcActorSelect>(true); } void Ifc4x3::IfcAsset::setOwner(::Ifc4x3::IfcActorSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4x3::IfcActorSelect* Ifc4x3::IfcAsset::User() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3::IfcActorSelect>(true); } +::Ifc4x3::IfcActorSelect* Ifc4x3::IfcAsset::User() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3::IfcActorSelect>(true); } void Ifc4x3::IfcAsset::setUser(::Ifc4x3::IfcActorSelect* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } -::Ifc4x3::IfcPerson* Ifc4x3::IfcAsset::ResponsiblePerson() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc4x3::IfcPerson>(true); } +::Ifc4x3::IfcPerson* Ifc4x3::IfcAsset::ResponsiblePerson() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc4x3::IfcPerson>(true); } void Ifc4x3::IfcAsset::setResponsiblePerson(::Ifc4x3::IfcPerson* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } -boost::optional< std::string > Ifc4x3::IfcAsset::IncorporationDate() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3::IfcAsset::IncorporationDate() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3::IfcAsset::setIncorporationDate(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4x3::IfcCostValue* Ifc4x3::IfcAsset::DepreciatedValue() const { if(data_.get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(13)))->as<::Ifc4x3::IfcCostValue>(true); } +::Ifc4x3::IfcCostValue* Ifc4x3::IfcAsset::DepreciatedValue() const { if(get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(13)))->as<::Ifc4x3::IfcCostValue>(true); } void Ifc4x3::IfcAsset::setDepreciatedValue(::Ifc4x3::IfcCostValue* v) { set_attribute_value(13, v->as());if constexpr (false)unset_attribute_value(13); } const IfcParse::entity& Ifc4x3::IfcAsset::declaration() const { return *((IfcParse::entity*)IFC4X3_types[62]); } const IfcParse::entity& Ifc4x3::IfcAsset::Class() { return *((IfcParse::entity*)IFC4X3_types[62]); } Ifc4x3::IfcAsset::IfcAsset(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x3::IfcAsset::IfcAsset(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, ::Ifc4x3::IfcCostValue* v7_OriginalValue, ::Ifc4x3::IfcCostValue* v8_CurrentValue, ::Ifc4x3::IfcCostValue* v9_TotalReplacementCost, ::Ifc4x3::IfcActorSelect* v10_Owner, ::Ifc4x3::IfcActorSelect* v11_User, ::Ifc4x3::IfcPerson* v12_ResponsiblePerson, boost::optional< std::string > v13_IncorporationDate, ::Ifc4x3::IfcCostValue* v14_DepreciatedValue) : IfcGroup(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, v7_OriginalValue ? v7_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_CurrentValue ? v8_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_TotalReplacementCost ? v9_TotalReplacementCost->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_Owner ? v10_Owner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_User ? v11_User->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, v12_ResponsiblePerson ? v12_ResponsiblePerson->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, v14_DepreciatedValue ? v14_DepreciatedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcAsset::IfcAsset(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, ::Ifc4x3::IfcCostValue* v7_OriginalValue, ::Ifc4x3::IfcCostValue* v8_CurrentValue, ::Ifc4x3::IfcCostValue* v9_TotalReplacementCost, ::Ifc4x3::IfcActorSelect* v10_Owner, ::Ifc4x3::IfcActorSelect* v11_User, ::Ifc4x3::IfcPerson* v12_ResponsiblePerson, boost::optional< std::string > v13_IncorporationDate, ::Ifc4x3::IfcCostValue* v14_DepreciatedValue) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, v7_OriginalValue ? v7_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_CurrentValue ? v8_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_TotalReplacementCost ? v9_TotalReplacementCost->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_Owner ? v10_Owner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_User ? v11_User->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, v12_ResponsiblePerson ? v12_ResponsiblePerson->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, v14_DepreciatedValue ? v14_DepreciatedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAsymmetricIShapeProfileDef -double Ifc4x3::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { double v = get_attribute_value(3); return v; } void Ifc4x3::IfcAsymmetricIShapeProfileDef::setBottomFlangeWidth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3::IfcAsymmetricIShapeProfileDef::OverallDepth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3::IfcAsymmetricIShapeProfileDef::OverallDepth() const { double v = get_attribute_value(4); return v; } void Ifc4x3::IfcAsymmetricIShapeProfileDef::setOverallDepth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3::IfcAsymmetricIShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3::IfcAsymmetricIShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3::IfcAsymmetricIShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3::IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3::IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3::IfcAsymmetricIShapeProfileDef::setBottomFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3::IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3::IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3::IfcAsymmetricIShapeProfileDef::setBottomFlangeFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -double Ifc4x3::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { double v = data_.get_attribute_value(8); return v; } +double Ifc4x3::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { double v = get_attribute_value(8); return v; } void Ifc4x3::IfcAsymmetricIShapeProfileDef::setTopFlangeWidth(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -boost::optional< double > Ifc4x3::IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3::IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3::IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3::IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3::IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3::IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3::IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3::IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3::IfcAsymmetricIShapeProfileDef::setBottomFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3::IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3::IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3::IfcAsymmetricIShapeProfileDef::setBottomFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3::IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3::IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3::IfcAsymmetricIShapeProfileDef::setTopFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3::IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3::IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } const IfcParse::entity& Ifc4x3::IfcAsymmetricIShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_types[63]); } const IfcParse::entity& Ifc4x3::IfcAsymmetricIShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_types[63]); } Ifc4x3::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::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(storage_t(15))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); }; populate_derived(); } +Ifc4x3::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::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(in_memory_attribute_storage(15))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); }; populate_derived(); } // Function implementations for IfcAudioVisualAppliance -boost::optional< ::Ifc4x3::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x3::IfcAudioVisualAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcAudioVisualApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x3::IfcAudioVisualAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcAudioVisualAppliance::setPredefinedType(boost::optional< ::Ifc4x3::IfcAudioVisualApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcAudioVisualApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcAudioVisualAppliance::declaration() const { return *((IfcParse::entity*)IFC4X3_types[64]); } const IfcParse::entity& Ifc4x3::IfcAudioVisualAppliance::Class() { return *((IfcParse::entity*)IFC4X3_types[64]); } Ifc4x3::IfcAudioVisualAppliance::IfcAudioVisualAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3::IfcAudioVisualAppliance::IfcAudioVisualAppliance(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcAudioVisualAppliance::IfcAudioVisualAppliance(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAudioVisualApplianceType -::Ifc4x3::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4x3::IfcAudioVisualApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4x3::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcAudioVisualApplianceType::setPredefinedType(::Ifc4x3::IfcAudioVisualApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcAudioVisualApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcAudioVisualApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[65]); } const IfcParse::entity& Ifc4x3::IfcAudioVisualApplianceType::Class() { return *((IfcParse::entity*)IFC4X3_types[65]); } Ifc4x3::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAxis1Placement -::Ifc4x3::IfcDirection* Ifc4x3::IfcAxis1Placement::Axis() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcDirection>(true); } +::Ifc4x3::IfcDirection* Ifc4x3::IfcAxis1Placement::Axis() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcDirection>(true); } void Ifc4x3::IfcAxis1Placement::setAxis(::Ifc4x3::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcAxis1Placement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[67]); } const IfcParse::entity& Ifc4x3::IfcAxis1Placement::Class() { return *((IfcParse::entity*)IFC4X3_types[67]); } Ifc4x3::IfcAxis1Placement::IfcAxis1Placement(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x3::IfcAxis1Placement::IfcAxis1Placement(::Ifc4x3::IfcPoint* v1_Location, ::Ifc4x3::IfcDirection* v2_Axis) : IfcPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcAxis1Placement::IfcAxis1Placement(::Ifc4x3::IfcPoint* v1_Location, ::Ifc4x3::IfcDirection* v2_Axis) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAxis2Placement2D -::Ifc4x3::IfcDirection* Ifc4x3::IfcAxis2Placement2D::RefDirection() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcDirection>(true); } +::Ifc4x3::IfcDirection* Ifc4x3::IfcAxis2Placement2D::RefDirection() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcDirection>(true); } void Ifc4x3::IfcAxis2Placement2D::setRefDirection(::Ifc4x3::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcAxis2Placement2D::declaration() const { return *((IfcParse::entity*)IFC4X3_types[69]); } const IfcParse::entity& Ifc4x3::IfcAxis2Placement2D::Class() { return *((IfcParse::entity*)IFC4X3_types[69]); } Ifc4x3::IfcAxis2Placement2D::IfcAxis2Placement2D(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x3::IfcAxis2Placement2D::IfcAxis2Placement2D(::Ifc4x3::IfcPoint* v1_Location, ::Ifc4x3::IfcDirection* v2_RefDirection) : IfcPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RefDirection ? v2_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcAxis2Placement2D::IfcAxis2Placement2D(::Ifc4x3::IfcPoint* v1_Location, ::Ifc4x3::IfcDirection* v2_RefDirection) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RefDirection ? v2_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAxis2Placement3D -::Ifc4x3::IfcDirection* Ifc4x3::IfcAxis2Placement3D::Axis() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcDirection>(true); } +::Ifc4x3::IfcDirection* Ifc4x3::IfcAxis2Placement3D::Axis() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcDirection>(true); } void Ifc4x3::IfcAxis2Placement3D::setAxis(::Ifc4x3::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3::IfcDirection* Ifc4x3::IfcAxis2Placement3D::RefDirection() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcDirection>(true); } +::Ifc4x3::IfcDirection* Ifc4x3::IfcAxis2Placement3D::RefDirection() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcDirection>(true); } void Ifc4x3::IfcAxis2Placement3D::setRefDirection(::Ifc4x3::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcAxis2Placement3D::declaration() const { return *((IfcParse::entity*)IFC4X3_types[70]); } const IfcParse::entity& Ifc4x3::IfcAxis2Placement3D::Class() { return *((IfcParse::entity*)IFC4X3_types[70]); } Ifc4x3::IfcAxis2Placement3D::IfcAxis2Placement3D(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x3::IfcAxis2Placement3D::IfcAxis2Placement3D(::Ifc4x3::IfcPoint* v1_Location, ::Ifc4x3::IfcDirection* v2_Axis, ::Ifc4x3::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcAxis2Placement3D::IfcAxis2Placement3D(::Ifc4x3::IfcPoint* v1_Location, ::Ifc4x3::IfcDirection* v2_Axis, ::Ifc4x3::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAxis2PlacementLinear -::Ifc4x3::IfcDirection* Ifc4x3::IfcAxis2PlacementLinear::Axis() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcDirection>(true); } +::Ifc4x3::IfcDirection* Ifc4x3::IfcAxis2PlacementLinear::Axis() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcDirection>(true); } void Ifc4x3::IfcAxis2PlacementLinear::setAxis(::Ifc4x3::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3::IfcDirection* Ifc4x3::IfcAxis2PlacementLinear::RefDirection() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcDirection>(true); } +::Ifc4x3::IfcDirection* Ifc4x3::IfcAxis2PlacementLinear::RefDirection() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcDirection>(true); } void Ifc4x3::IfcAxis2PlacementLinear::setRefDirection(::Ifc4x3::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcAxis2PlacementLinear::declaration() const { return *((IfcParse::entity*)IFC4X3_types[71]); } const IfcParse::entity& Ifc4x3::IfcAxis2PlacementLinear::Class() { return *((IfcParse::entity*)IFC4X3_types[71]); } Ifc4x3::IfcAxis2PlacementLinear::IfcAxis2PlacementLinear(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x3::IfcAxis2PlacementLinear::IfcAxis2PlacementLinear(::Ifc4x3::IfcPoint* v1_Location, ::Ifc4x3::IfcDirection* v2_Axis, ::Ifc4x3::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcAxis2PlacementLinear::IfcAxis2PlacementLinear(::Ifc4x3::IfcPoint* v1_Location, ::Ifc4x3::IfcDirection* v2_Axis, ::Ifc4x3::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBSplineCurve -int Ifc4x3::IfcBSplineCurve::Degree() const { int v = data_.get_attribute_value(0); return v; } +int Ifc4x3::IfcBSplineCurve::Degree() const { int v = get_attribute_value(0); return v; } void Ifc4x3::IfcBSplineCurve::setDegree(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3::IfcCartesianPoint >::ptr Ifc4x3::IfcBSplineCurve::ControlPointsList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3::IfcCartesianPoint >(); } +aggregate_of< ::Ifc4x3::IfcCartesianPoint >::ptr Ifc4x3::IfcBSplineCurve::ControlPointsList() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3::IfcCartesianPoint >(); } void Ifc4x3::IfcBSplineCurve::setControlPointsList(aggregate_of< ::Ifc4x3::IfcCartesianPoint >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3::IfcBSplineCurveForm::Value Ifc4x3::IfcBSplineCurve::CurveForm() const { return ::Ifc4x3::IfcBSplineCurveForm::FromString(data_.get_attribute_value(2)); } +::Ifc4x3::IfcBSplineCurveForm::Value Ifc4x3::IfcBSplineCurve::CurveForm() const { return ::Ifc4x3::IfcBSplineCurveForm::FromString(get_attribute_value(2)); } void Ifc4x3::IfcBSplineCurve::setCurveForm(::Ifc4x3::IfcBSplineCurveForm::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3::IfcBSplineCurveForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -boost::logic::tribool Ifc4x3::IfcBSplineCurve::ClosedCurve() const { boost::logic::tribool v = data_.get_attribute_value(3); return v; } +boost::logic::tribool Ifc4x3::IfcBSplineCurve::ClosedCurve() const { boost::logic::tribool v = get_attribute_value(3); return v; } void Ifc4x3::IfcBSplineCurve::setClosedCurve(boost::logic::tribool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::logic::tribool Ifc4x3::IfcBSplineCurve::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(4); return v; } +boost::logic::tribool Ifc4x3::IfcBSplineCurve::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(4); return v; } void Ifc4x3::IfcBSplineCurve::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3::IfcBSplineCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_types[108]); } const IfcParse::entity& Ifc4x3::IfcBSplineCurve::Class() { return *((IfcParse::entity*)IFC4X3_types[108]); } Ifc4x3::IfcBSplineCurve::IfcBSplineCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3::IfcBSplineCurve::IfcBSplineCurve(int v1_Degree, aggregate_of< ::Ifc4x3::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; populate_derived(); } +Ifc4x3::IfcBSplineCurve::IfcBSplineCurve(int v1_Degree, aggregate_of< ::Ifc4x3::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; populate_derived(); } // Function implementations for IfcBSplineCurveWithKnots -std::vector< int > /*[2:?]*/ Ifc4x3::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int > /*[2:?]*/ v = data_.get_attribute_value(5); return v; } +std::vector< int > /*[2:?]*/ Ifc4x3::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3::IfcBSplineCurveWithKnots::setKnotMultiplicities(std::vector< int > /*[2:?]*/ v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -std::vector< double > /*[2:?]*/ Ifc4x3::IfcBSplineCurveWithKnots::Knots() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(6); return v; } +std::vector< double > /*[2:?]*/ Ifc4x3::IfcBSplineCurveWithKnots::Knots() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(6); return v; } void Ifc4x3::IfcBSplineCurveWithKnots::setKnots(std::vector< double > /*[2:?]*/ v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3::IfcKnotType::Value Ifc4x3::IfcBSplineCurveWithKnots::KnotSpec() const { return ::Ifc4x3::IfcKnotType::FromString(data_.get_attribute_value(7)); } +::Ifc4x3::IfcKnotType::Value Ifc4x3::IfcBSplineCurveWithKnots::KnotSpec() const { return ::Ifc4x3::IfcKnotType::FromString(get_attribute_value(7)); } void Ifc4x3::IfcBSplineCurveWithKnots::setKnotSpec(::Ifc4x3::IfcKnotType::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3::IfcKnotType::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3::IfcBSplineCurveWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X3_types[110]); } const IfcParse::entity& Ifc4x3::IfcBSplineCurveWithKnots::Class() { return *((IfcParse::entity*)IFC4X3_types[110]); } Ifc4x3::IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(IfcEntityInstanceData&& e) : IfcBSplineCurve(std::move(e)) { } -Ifc4x3::IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x3::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3::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::IfcKnotType::Value v8_KnotSpec) : IfcBSplineCurve(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcKnotType::Class(),(size_t)v8_KnotSpec)));; populate_derived(); } +Ifc4x3::IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x3::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3::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::IfcKnotType::Value v8_KnotSpec) : IfcBSplineCurve(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcKnotType::Class(),(size_t)v8_KnotSpec)));; populate_derived(); } // Function implementations for IfcBSplineSurface -int Ifc4x3::IfcBSplineSurface::UDegree() const { int v = data_.get_attribute_value(0); return v; } +int Ifc4x3::IfcBSplineSurface::UDegree() const { int v = get_attribute_value(0); return v; } void Ifc4x3::IfcBSplineSurface::setUDegree(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -int Ifc4x3::IfcBSplineSurface::VDegree() const { int v = data_.get_attribute_value(1); return v; } +int Ifc4x3::IfcBSplineSurface::VDegree() const { int v = get_attribute_value(1); return v; } void Ifc4x3::IfcBSplineSurface::setVDegree(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -aggregate_of_aggregate_of< ::Ifc4x3::IfcCartesianPoint >::ptr Ifc4x3::IfcBSplineSurface::ControlPointsList() const { aggregate_of_aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3::IfcCartesianPoint >(); } +aggregate_of_aggregate_of< ::Ifc4x3::IfcCartesianPoint >::ptr Ifc4x3::IfcBSplineSurface::ControlPointsList() const { aggregate_of_aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3::IfcCartesianPoint >(); } void Ifc4x3::IfcBSplineSurface::setControlPointsList(aggregate_of_aggregate_of< ::Ifc4x3::IfcCartesianPoint >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3::IfcBSplineSurfaceForm::Value Ifc4x3::IfcBSplineSurface::SurfaceForm() const { return ::Ifc4x3::IfcBSplineSurfaceForm::FromString(data_.get_attribute_value(3)); } +::Ifc4x3::IfcBSplineSurfaceForm::Value Ifc4x3::IfcBSplineSurface::SurfaceForm() const { return ::Ifc4x3::IfcBSplineSurfaceForm::FromString(get_attribute_value(3)); } void Ifc4x3::IfcBSplineSurface::setSurfaceForm(::Ifc4x3::IfcBSplineSurfaceForm::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc4x3::IfcBSplineSurfaceForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } -boost::logic::tribool Ifc4x3::IfcBSplineSurface::UClosed() const { boost::logic::tribool v = data_.get_attribute_value(4); return v; } +boost::logic::tribool Ifc4x3::IfcBSplineSurface::UClosed() const { boost::logic::tribool v = get_attribute_value(4); return v; } void Ifc4x3::IfcBSplineSurface::setUClosed(boost::logic::tribool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::logic::tribool Ifc4x3::IfcBSplineSurface::VClosed() const { boost::logic::tribool v = data_.get_attribute_value(5); return v; } +boost::logic::tribool Ifc4x3::IfcBSplineSurface::VClosed() const { boost::logic::tribool v = get_attribute_value(5); return v; } void Ifc4x3::IfcBSplineSurface::setVClosed(boost::logic::tribool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::logic::tribool Ifc4x3::IfcBSplineSurface::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(6); return v; } +boost::logic::tribool Ifc4x3::IfcBSplineSurface::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(6); return v; } void Ifc4x3::IfcBSplineSurface::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3::IfcBSplineSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_types[111]); } const IfcParse::entity& Ifc4x3::IfcBSplineSurface::Class() { return *((IfcParse::entity*)IFC4X3_types[111]); } Ifc4x3::IfcBSplineSurface::IfcBSplineSurface(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x3::IfcBSplineSurface::IfcBSplineSurface(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));; populate_derived(); } +Ifc4x3::IfcBSplineSurface::IfcBSplineSurface(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));; populate_derived(); } // Function implementations for IfcBSplineSurfaceWithKnots -std::vector< int > /*[2:?]*/ Ifc4x3::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int > /*[2:?]*/ v = data_.get_attribute_value(7); return v; } +std::vector< int > /*[2:?]*/ Ifc4x3::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(7); return v; } void Ifc4x3::IfcBSplineSurfaceWithKnots::setUMultiplicities(std::vector< int > /*[2:?]*/ v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector< int > /*[2:?]*/ Ifc4x3::IfcBSplineSurfaceWithKnots::VMultiplicities() const { std::vector< int > /*[2:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< int > /*[2:?]*/ Ifc4x3::IfcBSplineSurfaceWithKnots::VMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3::IfcBSplineSurfaceWithKnots::setVMultiplicities(std::vector< int > /*[2:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::vector< double > /*[2:?]*/ Ifc4x3::IfcBSplineSurfaceWithKnots::UKnots() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(9); return v; } +std::vector< double > /*[2:?]*/ Ifc4x3::IfcBSplineSurfaceWithKnots::UKnots() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(9); return v; } void Ifc4x3::IfcBSplineSurfaceWithKnots::setUKnots(std::vector< double > /*[2:?]*/ v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -std::vector< double > /*[2:?]*/ Ifc4x3::IfcBSplineSurfaceWithKnots::VKnots() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(10); return v; } +std::vector< double > /*[2:?]*/ Ifc4x3::IfcBSplineSurfaceWithKnots::VKnots() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(10); return v; } void Ifc4x3::IfcBSplineSurfaceWithKnots::setVKnots(std::vector< double > /*[2:?]*/ v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -::Ifc4x3::IfcKnotType::Value Ifc4x3::IfcBSplineSurfaceWithKnots::KnotSpec() const { return ::Ifc4x3::IfcKnotType::FromString(data_.get_attribute_value(11)); } +::Ifc4x3::IfcKnotType::Value Ifc4x3::IfcBSplineSurfaceWithKnots::KnotSpec() const { return ::Ifc4x3::IfcKnotType::FromString(get_attribute_value(11)); } void Ifc4x3::IfcBSplineSurfaceWithKnots::setKnotSpec(::Ifc4x3::IfcKnotType::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3::IfcKnotType::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3::IfcBSplineSurfaceWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X3_types[113]); } const IfcParse::entity& Ifc4x3::IfcBSplineSurfaceWithKnots::Class() { return *((IfcParse::entity*)IFC4X3_types[113]); } Ifc4x3::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(IfcEntityInstanceData&& e) : IfcBSplineSurface(std::move(e)) { } -Ifc4x3::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3::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::IfcKnotType::Value v12_KnotSpec) : IfcBSplineSurface(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x3::IfcKnotType::Class(),(size_t)v12_KnotSpec)));; populate_derived(); } +Ifc4x3::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3::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::IfcKnotType::Value v12_KnotSpec) : IfcBSplineSurface(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x3::IfcKnotType::Class(),(size_t)v12_KnotSpec)));; populate_derived(); } // Function implementations for IfcBeam -boost::optional< ::Ifc4x3::IfcBeamTypeEnum::Value > Ifc4x3::IfcBeam::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcBeamTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcBeamTypeEnum::Value > Ifc4x3::IfcBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcBeamTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcBeam::setPredefinedType(boost::optional< ::Ifc4x3::IfcBeamTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcBeamTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcBeam::declaration() const { return *((IfcParse::entity*)IFC4X3_types[72]); } const IfcParse::entity& Ifc4x3::IfcBeam::Class() { return *((IfcParse::entity*)IFC4X3_types[72]); } Ifc4x3::IfcBeam::IfcBeam(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3::IfcBeam::IfcBeam(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcBeamTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcBeam::IfcBeam(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcBeamTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBeamType -::Ifc4x3::IfcBeamTypeEnum::Value Ifc4x3::IfcBeamType::PredefinedType() const { return ::Ifc4x3::IfcBeamTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcBeamTypeEnum::Value Ifc4x3::IfcBeamType::PredefinedType() const { return ::Ifc4x3::IfcBeamTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcBeamType::setPredefinedType(::Ifc4x3::IfcBeamTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcBeamTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcBeamType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[73]); } const IfcParse::entity& Ifc4x3::IfcBeamType::Class() { return *((IfcParse::entity*)IFC4X3_types[73]); } Ifc4x3::IfcBeamType::IfcBeamType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3::IfcBeamType::IfcBeamType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBeamTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcBeamType::IfcBeamType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBeamTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBearing -boost::optional< ::Ifc4x3::IfcBearingTypeEnum::Value > Ifc4x3::IfcBearing::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcBearingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcBearingTypeEnum::Value > Ifc4x3::IfcBearing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcBearingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcBearing::setPredefinedType(boost::optional< ::Ifc4x3::IfcBearingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcBearingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcBearing::declaration() const { return *((IfcParse::entity*)IFC4X3_types[75]); } const IfcParse::entity& Ifc4x3::IfcBearing::Class() { return *((IfcParse::entity*)IFC4X3_types[75]); } Ifc4x3::IfcBearing::IfcBearing(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3::IfcBearing::IfcBearing(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcBearingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcBearing::IfcBearing(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcBearingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBearingType -::Ifc4x3::IfcBearingTypeEnum::Value Ifc4x3::IfcBearingType::PredefinedType() const { return ::Ifc4x3::IfcBearingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcBearingTypeEnum::Value Ifc4x3::IfcBearingType::PredefinedType() const { return ::Ifc4x3::IfcBearingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcBearingType::setPredefinedType(::Ifc4x3::IfcBearingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcBearingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcBearingType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[76]); } const IfcParse::entity& Ifc4x3::IfcBearingType::Class() { return *((IfcParse::entity*)IFC4X3_types[76]); } Ifc4x3::IfcBearingType::IfcBearingType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3::IfcBearingType::IfcBearingType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBearingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcBearingType::IfcBearingType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBearingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBlobTexture -std::string Ifc4x3::IfcBlobTexture::RasterFormat() const { std::string v = data_.get_attribute_value(5); return v; } +std::string Ifc4x3::IfcBlobTexture::RasterFormat() const { std::string v = get_attribute_value(5); return v; } void Ifc4x3::IfcBlobTexture::setRasterFormat(std::string v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::dynamic_bitset<> Ifc4x3::IfcBlobTexture::RasterCode() const { boost::dynamic_bitset<> v = data_.get_attribute_value(6); return v; } +boost::dynamic_bitset<> Ifc4x3::IfcBlobTexture::RasterCode() const { boost::dynamic_bitset<> v = get_attribute_value(6); return v; } void Ifc4x3::IfcBlobTexture::setRasterCode(boost::dynamic_bitset<> v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3::IfcBlobTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_types[82]); } const IfcParse::entity& Ifc4x3::IfcBlobTexture::Class() { return *((IfcParse::entity*)IFC4X3_types[82]); } Ifc4x3::IfcBlobTexture::IfcBlobTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -Ifc4x3::IfcBlobTexture::IfcBlobTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) : IfcSurfaceTexture(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode));; populate_derived(); } +Ifc4x3::IfcBlobTexture::IfcBlobTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) : IfcSurfaceTexture(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode));; populate_derived(); } // Function implementations for IfcBlock -double Ifc4x3::IfcBlock::XLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3::IfcBlock::XLength() const { double v = get_attribute_value(1); return v; } void Ifc4x3::IfcBlock::setXLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3::IfcBlock::YLength() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3::IfcBlock::YLength() const { double v = get_attribute_value(2); return v; } void Ifc4x3::IfcBlock::setYLength(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3::IfcBlock::ZLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3::IfcBlock::ZLength() const { double v = get_attribute_value(3); return v; } void Ifc4x3::IfcBlock::setZLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcBlock::declaration() const { return *((IfcParse::entity*)IFC4X3_types[83]); } const IfcParse::entity& Ifc4x3::IfcBlock::Class() { return *((IfcParse::entity*)IFC4X3_types[83]); } Ifc4x3::IfcBlock::IfcBlock(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3::IfcBlock::IfcBlock(::Ifc4x3::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; populate_derived(); } +Ifc4x3::IfcBlock::IfcBlock(::Ifc4x3::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; populate_derived(); } // Function implementations for IfcBoiler -boost::optional< ::Ifc4x3::IfcBoilerTypeEnum::Value > Ifc4x3::IfcBoiler::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcBoilerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcBoilerTypeEnum::Value > Ifc4x3::IfcBoiler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcBoilerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcBoiler::setPredefinedType(boost::optional< ::Ifc4x3::IfcBoilerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcBoilerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcBoiler::declaration() const { return *((IfcParse::entity*)IFC4X3_types[84]); } const IfcParse::entity& Ifc4x3::IfcBoiler::Class() { return *((IfcParse::entity*)IFC4X3_types[84]); } Ifc4x3::IfcBoiler::IfcBoiler(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3::IfcBoiler::IfcBoiler(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcBoilerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcBoiler::IfcBoiler(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcBoilerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBoilerType -::Ifc4x3::IfcBoilerTypeEnum::Value Ifc4x3::IfcBoilerType::PredefinedType() const { return ::Ifc4x3::IfcBoilerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcBoilerTypeEnum::Value Ifc4x3::IfcBoilerType::PredefinedType() const { return ::Ifc4x3::IfcBoilerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcBoilerType::setPredefinedType(::Ifc4x3::IfcBoilerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcBoilerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcBoilerType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[85]); } const IfcParse::entity& Ifc4x3::IfcBoilerType::Class() { return *((IfcParse::entity*)IFC4X3_types[85]); } Ifc4x3::IfcBoilerType::IfcBoilerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3::IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBoilerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBoilerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBooleanClippingResult @@ -8502,21 +8502,21 @@ Ifc4x3::IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, ::Ifc4x3::IfcOwner const IfcParse::entity& Ifc4x3::IfcBooleanClippingResult::declaration() const { return *((IfcParse::entity*)IFC4X3_types[88]); } const IfcParse::entity& Ifc4x3::IfcBooleanClippingResult::Class() { return *((IfcParse::entity*)IFC4X3_types[88]); } Ifc4x3::IfcBooleanClippingResult::IfcBooleanClippingResult(IfcEntityInstanceData&& e) : IfcBooleanResult(std::move(e)) { } -Ifc4x3::IfcBooleanClippingResult::IfcBooleanClippingResult(::Ifc4x3::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x3::IfcBooleanOperand* v3_SecondOperand) : IfcBooleanResult(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcBooleanClippingResult::IfcBooleanClippingResult(::Ifc4x3::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x3::IfcBooleanOperand* v3_SecondOperand) : IfcBooleanResult(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBooleanResult -::Ifc4x3::IfcBooleanOperator::Value Ifc4x3::IfcBooleanResult::Operator() const { return ::Ifc4x3::IfcBooleanOperator::FromString(data_.get_attribute_value(0)); } +::Ifc4x3::IfcBooleanOperator::Value Ifc4x3::IfcBooleanResult::Operator() const { return ::Ifc4x3::IfcBooleanOperator::FromString(get_attribute_value(0)); } void Ifc4x3::IfcBooleanResult::setOperator(::Ifc4x3::IfcBooleanOperator::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3::IfcBooleanOperator::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x3::IfcBooleanOperand* Ifc4x3::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcBooleanOperand>(true); } +::Ifc4x3::IfcBooleanOperand* Ifc4x3::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcBooleanOperand>(true); } void Ifc4x3::IfcBooleanResult::setFirstOperand(::Ifc4x3::IfcBooleanOperand* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3::IfcBooleanOperand* Ifc4x3::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcBooleanOperand>(true); } +::Ifc4x3::IfcBooleanOperand* Ifc4x3::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcBooleanOperand>(true); } void Ifc4x3::IfcBooleanResult::setSecondOperand(::Ifc4x3::IfcBooleanOperand* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcBooleanResult::declaration() const { return *((IfcParse::entity*)IFC4X3_types[91]); } const IfcParse::entity& Ifc4x3::IfcBooleanResult::Class() { return *((IfcParse::entity*)IFC4X3_types[91]); } Ifc4x3::IfcBooleanResult::IfcBooleanResult(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3::IfcBooleanResult::IfcBooleanResult(::Ifc4x3::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x3::IfcBooleanOperand* v3_SecondOperand) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcBooleanResult::IfcBooleanResult(::Ifc4x3::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x3::IfcBooleanOperand* v3_SecondOperand) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBorehole @@ -8524,17 +8524,17 @@ Ifc4x3::IfcBooleanResult::IfcBooleanResult(::Ifc4x3::IfcBooleanOperator::Value v const IfcParse::entity& Ifc4x3::IfcBorehole::declaration() const { return *((IfcParse::entity*)IFC4X3_types[92]); } const IfcParse::entity& Ifc4x3::IfcBorehole::Class() { return *((IfcParse::entity*)IFC4X3_types[92]); } Ifc4x3::IfcBorehole::IfcBorehole(IfcEntityInstanceData&& e) : IfcGeotechnicalAssembly(std::move(e)) { } -Ifc4x3::IfcBorehole::IfcBorehole(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3::IfcBorehole::IfcBorehole(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcBoundaryCondition -boost::optional< std::string > Ifc4x3::IfcBoundaryCondition::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3::IfcBoundaryCondition::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcBoundaryCondition::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3::IfcBoundaryCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_types[93]); } const IfcParse::entity& Ifc4x3::IfcBoundaryCondition::Class() { return *((IfcParse::entity*)IFC4X3_types[93]); } Ifc4x3::IfcBoundaryCondition::IfcBoundaryCondition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcBoundaryCurve @@ -8542,71 +8542,71 @@ Ifc4x3::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::string const IfcParse::entity& Ifc4x3::IfcBoundaryCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_types[94]); } const IfcParse::entity& Ifc4x3::IfcBoundaryCurve::Class() { return *((IfcParse::entity*)IFC4X3_types[94]); } Ifc4x3::IfcBoundaryCurve::IfcBoundaryCurve(IfcEntityInstanceData&& e) : IfcCompositeCurveOnSurface(std::move(e)) { } -Ifc4x3::IfcBoundaryCurve::IfcBoundaryCurve(aggregate_of< ::Ifc4x3::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurveOnSurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x3::IfcBoundaryCurve::IfcBoundaryCurve(aggregate_of< ::Ifc4x3::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurveOnSurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcBoundaryEdgeCondition -::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } +::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthX(::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } +::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthY(::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } +::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthZ(::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcModulusOfRotationalSubgradeReactionSelect>(true); } +::Ifc4x3::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(::Ifc4x3::IfcModulusOfRotationalSubgradeReactionSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcModulusOfRotationalSubgradeReactionSelect>(true); } +::Ifc4x3::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(::Ifc4x3::IfcModulusOfRotationalSubgradeReactionSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3::IfcModulusOfRotationalSubgradeReactionSelect>(true); } +::Ifc4x3::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(::Ifc4x3::IfcModulusOfRotationalSubgradeReactionSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3::IfcBoundaryEdgeCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_types[95]); } const IfcParse::entity& Ifc4x3::IfcBoundaryEdgeCondition::Class() { return *((IfcParse::entity*)IFC4X3_types[95]); } Ifc4x3::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -Ifc4x3::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect* v2_TranslationalStiffnessByLengthX, ::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect* v3_TranslationalStiffnessByLengthY, ::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect* v4_TranslationalStiffnessByLengthZ, ::Ifc4x3::IfcModulusOfRotationalSubgradeReactionSelect* v5_RotationalStiffnessByLengthX, ::Ifc4x3::IfcModulusOfRotationalSubgradeReactionSelect* v6_RotationalStiffnessByLengthY, ::Ifc4x3::IfcModulusOfRotationalSubgradeReactionSelect* v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByLengthX ? v2_TranslationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByLengthY ? v3_TranslationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByLengthZ ? v4_TranslationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessByLengthX ? v5_RotationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessByLengthY ? v6_RotationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessByLengthZ ? v7_RotationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect* v2_TranslationalStiffnessByLengthX, ::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect* v3_TranslationalStiffnessByLengthY, ::Ifc4x3::IfcModulusOfTranslationalSubgradeReactionSelect* v4_TranslationalStiffnessByLengthZ, ::Ifc4x3::IfcModulusOfRotationalSubgradeReactionSelect* v5_RotationalStiffnessByLengthX, ::Ifc4x3::IfcModulusOfRotationalSubgradeReactionSelect* v6_RotationalStiffnessByLengthY, ::Ifc4x3::IfcModulusOfRotationalSubgradeReactionSelect* v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByLengthX ? v2_TranslationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByLengthY ? v3_TranslationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByLengthZ ? v4_TranslationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessByLengthX ? v5_RotationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessByLengthY ? v6_RotationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessByLengthZ ? v7_RotationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryFaceCondition -::Ifc4x3::IfcModulusOfSubgradeReactionSelect* Ifc4x3::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcModulusOfSubgradeReactionSelect>(true); } +::Ifc4x3::IfcModulusOfSubgradeReactionSelect* Ifc4x3::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaX(::Ifc4x3::IfcModulusOfSubgradeReactionSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3::IfcModulusOfSubgradeReactionSelect* Ifc4x3::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcModulusOfSubgradeReactionSelect>(true); } +::Ifc4x3::IfcModulusOfSubgradeReactionSelect* Ifc4x3::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaY(::Ifc4x3::IfcModulusOfSubgradeReactionSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3::IfcModulusOfSubgradeReactionSelect* Ifc4x3::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcModulusOfSubgradeReactionSelect>(true); } +::Ifc4x3::IfcModulusOfSubgradeReactionSelect* Ifc4x3::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(::Ifc4x3::IfcModulusOfSubgradeReactionSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcBoundaryFaceCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_types[96]); } const IfcParse::entity& Ifc4x3::IfcBoundaryFaceCondition::Class() { return *((IfcParse::entity*)IFC4X3_types[96]); } Ifc4x3::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -Ifc4x3::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std::string > v1_Name, ::Ifc4x3::IfcModulusOfSubgradeReactionSelect* v2_TranslationalStiffnessByAreaX, ::Ifc4x3::IfcModulusOfSubgradeReactionSelect* v3_TranslationalStiffnessByAreaY, ::Ifc4x3::IfcModulusOfSubgradeReactionSelect* v4_TranslationalStiffnessByAreaZ) : IfcBoundaryCondition(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByAreaX ? v2_TranslationalStiffnessByAreaX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByAreaY ? v3_TranslationalStiffnessByAreaY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByAreaZ ? v4_TranslationalStiffnessByAreaZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std::string > v1_Name, ::Ifc4x3::IfcModulusOfSubgradeReactionSelect* v2_TranslationalStiffnessByAreaX, ::Ifc4x3::IfcModulusOfSubgradeReactionSelect* v3_TranslationalStiffnessByAreaY, ::Ifc4x3::IfcModulusOfSubgradeReactionSelect* v4_TranslationalStiffnessByAreaZ) : IfcBoundaryCondition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByAreaX ? v2_TranslationalStiffnessByAreaX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByAreaY ? v3_TranslationalStiffnessByAreaY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByAreaZ ? v4_TranslationalStiffnessByAreaZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryNodeCondition -::Ifc4x3::IfcTranslationalStiffnessSelect* Ifc4x3::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcTranslationalStiffnessSelect>(true); } +::Ifc4x3::IfcTranslationalStiffnessSelect* Ifc4x3::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3::IfcBoundaryNodeCondition::setTranslationalStiffnessX(::Ifc4x3::IfcTranslationalStiffnessSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3::IfcTranslationalStiffnessSelect* Ifc4x3::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcTranslationalStiffnessSelect>(true); } +::Ifc4x3::IfcTranslationalStiffnessSelect* Ifc4x3::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3::IfcBoundaryNodeCondition::setTranslationalStiffnessY(::Ifc4x3::IfcTranslationalStiffnessSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3::IfcTranslationalStiffnessSelect* Ifc4x3::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcTranslationalStiffnessSelect>(true); } +::Ifc4x3::IfcTranslationalStiffnessSelect* Ifc4x3::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3::IfcBoundaryNodeCondition::setTranslationalStiffnessZ(::Ifc4x3::IfcTranslationalStiffnessSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3::IfcRotationalStiffnessSelect* Ifc4x3::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcRotationalStiffnessSelect>(true); } +::Ifc4x3::IfcRotationalStiffnessSelect* Ifc4x3::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcRotationalStiffnessSelect>(true); } void Ifc4x3::IfcBoundaryNodeCondition::setRotationalStiffnessX(::Ifc4x3::IfcRotationalStiffnessSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3::IfcRotationalStiffnessSelect* Ifc4x3::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcRotationalStiffnessSelect>(true); } +::Ifc4x3::IfcRotationalStiffnessSelect* Ifc4x3::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcRotationalStiffnessSelect>(true); } void Ifc4x3::IfcBoundaryNodeCondition::setRotationalStiffnessY(::Ifc4x3::IfcRotationalStiffnessSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3::IfcRotationalStiffnessSelect* Ifc4x3::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3::IfcRotationalStiffnessSelect>(true); } +::Ifc4x3::IfcRotationalStiffnessSelect* Ifc4x3::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3::IfcRotationalStiffnessSelect>(true); } void Ifc4x3::IfcBoundaryNodeCondition::setRotationalStiffnessZ(::Ifc4x3::IfcRotationalStiffnessSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3::IfcBoundaryNodeCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_types[97]); } const IfcParse::entity& Ifc4x3::IfcBoundaryNodeCondition::Class() { return *((IfcParse::entity*)IFC4X3_types[97]); } Ifc4x3::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -Ifc4x3::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x3::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x3::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x3::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x3::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x3::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ) : IfcBoundaryCondition(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x3::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x3::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x3::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x3::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x3::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ) : IfcBoundaryCondition(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryNodeConditionWarping -::Ifc4x3::IfcWarpingStiffnessSelect* Ifc4x3::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3::IfcWarpingStiffnessSelect>(true); } +::Ifc4x3::IfcWarpingStiffnessSelect* Ifc4x3::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3::IfcWarpingStiffnessSelect>(true); } void Ifc4x3::IfcBoundaryNodeConditionWarping::setWarpingStiffness(::Ifc4x3::IfcWarpingStiffnessSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3::IfcBoundaryNodeConditionWarping::declaration() const { return *((IfcParse::entity*)IFC4X3_types[98]); } const IfcParse::entity& Ifc4x3::IfcBoundaryNodeConditionWarping::Class() { return *((IfcParse::entity*)IFC4X3_types[98]); } Ifc4x3::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(IfcEntityInstanceData&& e) : IfcBoundaryNodeCondition(std::move(e)) { } -Ifc4x3::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost::optional< std::string > v1_Name, ::Ifc4x3::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x3::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x3::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x3::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x3::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x3::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ, ::Ifc4x3::IfcWarpingStiffnessSelect* v8_WarpingStiffness) : IfcBoundaryNodeCondition(IfcEntityInstanceData(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_WarpingStiffness ? v8_WarpingStiffness->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost::optional< std::string > v1_Name, ::Ifc4x3::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x3::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x3::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x3::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x3::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x3::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ, ::Ifc4x3::IfcWarpingStiffnessSelect* v8_WarpingStiffness) : IfcBoundaryNodeCondition(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_WarpingStiffness ? v8_WarpingStiffness->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundedCurve @@ -8614,7 +8614,7 @@ Ifc4x3::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost:: const IfcParse::entity& Ifc4x3::IfcBoundedCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_types[99]); } const IfcParse::entity& Ifc4x3::IfcBoundedCurve::Class() { return *((IfcParse::entity*)IFC4X3_types[99]); } Ifc4x3::IfcBoundedCurve::IfcBoundedCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcBoundedSurface @@ -8622,129 +8622,129 @@ Ifc4x3::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData(stor const IfcParse::entity& Ifc4x3::IfcBoundedSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_types[100]); } const IfcParse::entity& Ifc4x3::IfcBoundedSurface::Class() { return *((IfcParse::entity*)IFC4X3_types[100]); } Ifc4x3::IfcBoundedSurface::IfcBoundedSurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x3::IfcBoundedSurface::IfcBoundedSurface() : IfcSurface(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3::IfcBoundedSurface::IfcBoundedSurface() : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcBoundingBox -::Ifc4x3::IfcCartesianPoint* Ifc4x3::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcCartesianPoint>(true); } +::Ifc4x3::IfcCartesianPoint* Ifc4x3::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcCartesianPoint>(true); } void Ifc4x3::IfcBoundingBox::setCorner(::Ifc4x3::IfcCartesianPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3::IfcBoundingBox::XDim() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3::IfcBoundingBox::XDim() const { double v = get_attribute_value(1); return v; } void Ifc4x3::IfcBoundingBox::setXDim(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3::IfcBoundingBox::YDim() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3::IfcBoundingBox::YDim() const { double v = get_attribute_value(2); return v; } void Ifc4x3::IfcBoundingBox::setYDim(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3::IfcBoundingBox::ZDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3::IfcBoundingBox::ZDim() const { double v = get_attribute_value(3); return v; } void Ifc4x3::IfcBoundingBox::setZDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcBoundingBox::declaration() const { return *((IfcParse::entity*)IFC4X3_types[101]); } const IfcParse::entity& Ifc4x3::IfcBoundingBox::Class() { return *((IfcParse::entity*)IFC4X3_types[101]); } Ifc4x3::IfcBoundingBox::IfcBoundingBox(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3::IfcBoundingBox::IfcBoundingBox(::Ifc4x3::IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Corner ? v1_Corner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; populate_derived(); } +Ifc4x3::IfcBoundingBox::IfcBoundingBox(::Ifc4x3::IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Corner ? v1_Corner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; populate_derived(); } // Function implementations for IfcBoxedHalfSpace -::Ifc4x3::IfcBoundingBox* Ifc4x3::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcBoundingBox>(true); } +::Ifc4x3::IfcBoundingBox* Ifc4x3::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcBoundingBox>(true); } void Ifc4x3::IfcBoxedHalfSpace::setEnclosure(::Ifc4x3::IfcBoundingBox* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcBoxedHalfSpace::declaration() const { return *((IfcParse::entity*)IFC4X3_types[103]); } const IfcParse::entity& Ifc4x3::IfcBoxedHalfSpace::Class() { return *((IfcParse::entity*)IFC4X3_types[103]); } Ifc4x3::IfcBoxedHalfSpace::IfcBoxedHalfSpace(IfcEntityInstanceData&& e) : IfcHalfSpaceSolid(std::move(e)) { } -Ifc4x3::IfcBoxedHalfSpace::IfcBoxedHalfSpace(::Ifc4x3::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3::IfcBoundingBox* v3_Enclosure) : IfcHalfSpaceSolid(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Enclosure ? v3_Enclosure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcBoxedHalfSpace::IfcBoxedHalfSpace(::Ifc4x3::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3::IfcBoundingBox* v3_Enclosure) : IfcHalfSpaceSolid(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Enclosure ? v3_Enclosure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBridge -boost::optional< ::Ifc4x3::IfcBridgeTypeEnum::Value > Ifc4x3::IfcBridge::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3::IfcBridgeTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3::IfcBridgeTypeEnum::Value > Ifc4x3::IfcBridge::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3::IfcBridgeTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcBridge::setPredefinedType(boost::optional< ::Ifc4x3::IfcBridgeTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcBridgeTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3::IfcBridge::declaration() const { return *((IfcParse::entity*)IFC4X3_types[104]); } const IfcParse::entity& Ifc4x3::IfcBridge::Class() { return *((IfcParse::entity*)IFC4X3_types[104]); } Ifc4x3::IfcBridge::IfcBridge(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x3::IfcBridge::IfcBridge(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3::IfcBridgeTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcBridge::IfcBridge(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3::IfcBridgeTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBridgePart -boost::optional< ::Ifc4x3::IfcBridgePartTypeEnum::Value > Ifc4x3::IfcBridgePart::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcBridgePartTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3::IfcBridgePartTypeEnum::Value > Ifc4x3::IfcBridgePart::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcBridgePartTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3::IfcBridgePart::setPredefinedType(boost::optional< ::Ifc4x3::IfcBridgePartTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3::IfcBridgePartTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3::IfcBridgePart::declaration() const { return *((IfcParse::entity*)IFC4X3_types[105]); } const IfcParse::entity& Ifc4x3::IfcBridgePart::Class() { return *((IfcParse::entity*)IFC4X3_types[105]); } Ifc4x3::IfcBridgePart::IfcBridgePart(IfcEntityInstanceData&& e) : IfcFacilityPart(std::move(e)) { } -Ifc4x3::IfcBridgePart::IfcBridgePart(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3::IfcBridgePartTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcBridgePartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcBridgePart::IfcBridgePart(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3::IfcBridgePartTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcBridgePartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBuilding -boost::optional< double > Ifc4x3::IfcBuilding::ElevationOfRefHeight() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3::IfcBuilding::ElevationOfRefHeight() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3::IfcBuilding::ElevationOfTerrain() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3::IfcBuilding::ElevationOfTerrain() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4x3::IfcPostalAddress* Ifc4x3::IfcBuilding::BuildingAddress() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc4x3::IfcPostalAddress>(true); } +::Ifc4x3::IfcPostalAddress* Ifc4x3::IfcBuilding::BuildingAddress() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc4x3::IfcPostalAddress>(true); } void Ifc4x3::IfcBuilding::setBuildingAddress(::Ifc4x3::IfcPostalAddress* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3::IfcBuilding::declaration() const { return *((IfcParse::entity*)IFC4X3_types[114]); } const IfcParse::entity& Ifc4x3::IfcBuilding::Class() { return *((IfcParse::entity*)IFC4X3_types[114]); } Ifc4x3::IfcBuilding::IfcBuilding(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x3::IfcBuilding::IfcBuilding(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, ::Ifc4x3::IfcPostalAddress* v12_BuildingAddress) : IfcFacility(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, v12_BuildingAddress ? v12_BuildingAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcBuilding::IfcBuilding(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, ::Ifc4x3::IfcPostalAddress* v12_BuildingAddress) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, v12_BuildingAddress ? v12_BuildingAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBuildingElementPart -boost::optional< ::Ifc4x3::IfcBuildingElementPartTypeEnum::Value > Ifc4x3::IfcBuildingElementPart::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcBuildingElementPartTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcBuildingElementPartTypeEnum::Value > Ifc4x3::IfcBuildingElementPart::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcBuildingElementPart::setPredefinedType(boost::optional< ::Ifc4x3::IfcBuildingElementPartTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcBuildingElementPartTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcBuildingElementPart::declaration() const { return *((IfcParse::entity*)IFC4X3_types[115]); } const IfcParse::entity& Ifc4x3::IfcBuildingElementPart::Class() { return *((IfcParse::entity*)IFC4X3_types[115]); } Ifc4x3::IfcBuildingElementPart::IfcBuildingElementPart(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3::IfcBuildingElementPart::IfcBuildingElementPart(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcBuildingElementPart::IfcBuildingElementPart(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBuildingElementPartType -::Ifc4x3::IfcBuildingElementPartTypeEnum::Value Ifc4x3::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4x3::IfcBuildingElementPartTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcBuildingElementPartTypeEnum::Value Ifc4x3::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4x3::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcBuildingElementPartType::setPredefinedType(::Ifc4x3::IfcBuildingElementPartTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcBuildingElementPartTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcBuildingElementPartType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[116]); } const IfcParse::entity& Ifc4x3::IfcBuildingElementPartType::Class() { return *((IfcParse::entity*)IFC4X3_types[116]); } Ifc4x3::IfcBuildingElementPartType::IfcBuildingElementPartType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3::IfcBuildingElementPartType::IfcBuildingElementPartType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcBuildingElementPartType::IfcBuildingElementPartType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBuildingElementProxy -boost::optional< ::Ifc4x3::IfcBuildingElementProxyTypeEnum::Value > Ifc4x3::IfcBuildingElementProxy::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcBuildingElementProxyTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcBuildingElementProxyTypeEnum::Value > Ifc4x3::IfcBuildingElementProxy::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcBuildingElementProxy::setPredefinedType(boost::optional< ::Ifc4x3::IfcBuildingElementProxyTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcBuildingElementProxyTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcBuildingElementProxy::declaration() const { return *((IfcParse::entity*)IFC4X3_types[118]); } const IfcParse::entity& Ifc4x3::IfcBuildingElementProxy::Class() { return *((IfcParse::entity*)IFC4X3_types[118]); } Ifc4x3::IfcBuildingElementProxy::IfcBuildingElementProxy(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3::IfcBuildingElementProxy::IfcBuildingElementProxy(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcBuildingElementProxy::IfcBuildingElementProxy(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBuildingElementProxyType -::Ifc4x3::IfcBuildingElementProxyTypeEnum::Value Ifc4x3::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4x3::IfcBuildingElementProxyTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcBuildingElementProxyTypeEnum::Value Ifc4x3::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4x3::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcBuildingElementProxyType::setPredefinedType(::Ifc4x3::IfcBuildingElementProxyTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcBuildingElementProxyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcBuildingElementProxyType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[119]); } const IfcParse::entity& Ifc4x3::IfcBuildingElementProxyType::Class() { return *((IfcParse::entity*)IFC4X3_types[119]); } Ifc4x3::IfcBuildingElementProxyType::IfcBuildingElementProxyType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3::IfcBuildingElementProxyType::IfcBuildingElementProxyType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcBuildingElementProxyType::IfcBuildingElementProxyType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBuildingStorey -boost::optional< double > Ifc4x3::IfcBuildingStorey::Elevation() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3::IfcBuildingStorey::Elevation() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3::IfcBuildingStorey::setElevation(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3::IfcBuildingStorey::declaration() const { return *((IfcParse::entity*)IFC4X3_types[121]); } const IfcParse::entity& Ifc4x3::IfcBuildingStorey::Class() { return *((IfcParse::entity*)IFC4X3_types[121]); } Ifc4x3::IfcBuildingStorey::IfcBuildingStorey(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x3::IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_Elevation) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; populate_derived(); } +Ifc4x3::IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_Elevation) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; populate_derived(); } // Function implementations for IfcBuildingSystem -boost::optional< ::Ifc4x3::IfcBuildingSystemTypeEnum::Value > Ifc4x3::IfcBuildingSystem::PredefinedType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3::IfcBuildingSystemTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3::IfcBuildingSystemTypeEnum::Value > Ifc4x3::IfcBuildingSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3::IfcBuildingSystemTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3::IfcBuildingSystem::setPredefinedType(boost::optional< ::Ifc4x3::IfcBuildingSystemTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3::IfcBuildingSystemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3::IfcBuildingSystem::LongName() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3::IfcBuildingSystem::LongName() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3::IfcBuildingSystem::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3::IfcBuildingSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_types[122]); } const IfcParse::entity& Ifc4x3::IfcBuildingSystem::Class() { return *((IfcParse::entity*)IFC4X3_types[122]); } Ifc4x3::IfcBuildingSystem::IfcBuildingSystem(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3::IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } +Ifc4x3::IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } // Function implementations for IfcBuiltElement @@ -8752,7 +8752,7 @@ Ifc4x3::IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, ::Ifc4x3:: const IfcParse::entity& Ifc4x3::IfcBuiltElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[124]); } const IfcParse::entity& Ifc4x3::IfcBuiltElement::Class() { return *((IfcParse::entity*)IFC4X3_types[124]); } Ifc4x3::IfcBuiltElement::IfcBuiltElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3::IfcBuiltElement::IfcBuiltElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3::IfcBuiltElement::IfcBuiltElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcBuiltElementType @@ -8760,167 +8760,167 @@ Ifc4x3::IfcBuiltElement::IfcBuiltElement(std::string v1_GlobalId, ::Ifc4x3::IfcO const IfcParse::entity& Ifc4x3::IfcBuiltElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[125]); } const IfcParse::entity& Ifc4x3::IfcBuiltElementType::Class() { return *((IfcParse::entity*)IFC4X3_types[125]); } Ifc4x3::IfcBuiltElementType::IfcBuiltElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3::IfcBuiltElementType::IfcBuiltElementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3::IfcBuiltElementType::IfcBuiltElementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcBuiltSystem -boost::optional< ::Ifc4x3::IfcBuiltSystemTypeEnum::Value > Ifc4x3::IfcBuiltSystem::PredefinedType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3::IfcBuiltSystemTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3::IfcBuiltSystemTypeEnum::Value > Ifc4x3::IfcBuiltSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3::IfcBuiltSystemTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3::IfcBuiltSystem::setPredefinedType(boost::optional< ::Ifc4x3::IfcBuiltSystemTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3::IfcBuiltSystemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3::IfcBuiltSystem::LongName() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3::IfcBuiltSystem::LongName() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3::IfcBuiltSystem::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3::IfcBuiltSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_types[126]); } const IfcParse::entity& Ifc4x3::IfcBuiltSystem::Class() { return *((IfcParse::entity*)IFC4X3_types[126]); } Ifc4x3::IfcBuiltSystem::IfcBuiltSystem(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3::IfcBuiltSystem::IfcBuiltSystem(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcBuiltSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } +Ifc4x3::IfcBuiltSystem::IfcBuiltSystem(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcBuiltSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } // Function implementations for IfcBurner -boost::optional< ::Ifc4x3::IfcBurnerTypeEnum::Value > Ifc4x3::IfcBurner::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcBurnerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcBurnerTypeEnum::Value > Ifc4x3::IfcBurner::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcBurnerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcBurner::setPredefinedType(boost::optional< ::Ifc4x3::IfcBurnerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcBurnerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcBurner::declaration() const { return *((IfcParse::entity*)IFC4X3_types[128]); } const IfcParse::entity& Ifc4x3::IfcBurner::Class() { return *((IfcParse::entity*)IFC4X3_types[128]); } Ifc4x3::IfcBurner::IfcBurner(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3::IfcBurner::IfcBurner(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcBurnerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcBurner::IfcBurner(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcBurnerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBurnerType -::Ifc4x3::IfcBurnerTypeEnum::Value Ifc4x3::IfcBurnerType::PredefinedType() const { return ::Ifc4x3::IfcBurnerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcBurnerTypeEnum::Value Ifc4x3::IfcBurnerType::PredefinedType() const { return ::Ifc4x3::IfcBurnerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcBurnerType::setPredefinedType(::Ifc4x3::IfcBurnerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcBurnerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcBurnerType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[129]); } const IfcParse::entity& Ifc4x3::IfcBurnerType::Class() { return *((IfcParse::entity*)IFC4X3_types[129]); } Ifc4x3::IfcBurnerType::IfcBurnerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3::IfcBurnerType::IfcBurnerType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBurnerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcBurnerType::IfcBurnerType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcBurnerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCShapeProfileDef -double Ifc4x3::IfcCShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3::IfcCShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3::IfcCShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3::IfcCShapeProfileDef::Width() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3::IfcCShapeProfileDef::Width() const { double v = get_attribute_value(4); return v; } void Ifc4x3::IfcCShapeProfileDef::setWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3::IfcCShapeProfileDef::WallThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3::IfcCShapeProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3::IfcCShapeProfileDef::setWallThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3::IfcCShapeProfileDef::Girth() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3::IfcCShapeProfileDef::Girth() const { double v = get_attribute_value(6); return v; } void Ifc4x3::IfcCShapeProfileDef::setGirth(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3::IfcCShapeProfileDef::InternalFilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3::IfcCShapeProfileDef::InternalFilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3::IfcCShapeProfileDef::setInternalFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3::IfcCShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_types[266]); } const IfcParse::entity& Ifc4x3::IfcCShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_types[266]); } Ifc4x3::IfcCShapeProfileDef::IfcCShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3::IfcCShapeProfileDef::IfcCShapeProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, boost::optional< double > v8_InternalFilletRadius) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); }; populate_derived(); } +Ifc4x3::IfcCShapeProfileDef::IfcCShapeProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, boost::optional< double > v8_InternalFilletRadius) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); }; populate_derived(); } // Function implementations for IfcCableCarrierFitting -boost::optional< ::Ifc4x3::IfcCableCarrierFittingTypeEnum::Value > Ifc4x3::IfcCableCarrierFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcCableCarrierFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcCableCarrierFittingTypeEnum::Value > Ifc4x3::IfcCableCarrierFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcCableCarrierFitting::setPredefinedType(boost::optional< ::Ifc4x3::IfcCableCarrierFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcCableCarrierFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcCableCarrierFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_types[131]); } const IfcParse::entity& Ifc4x3::IfcCableCarrierFitting::Class() { return *((IfcParse::entity*)IFC4X3_types[131]); } Ifc4x3::IfcCableCarrierFitting::IfcCableCarrierFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x3::IfcCableCarrierFitting::IfcCableCarrierFitting(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcCableCarrierFitting::IfcCableCarrierFitting(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableCarrierFittingType -::Ifc4x3::IfcCableCarrierFittingTypeEnum::Value Ifc4x3::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4x3::IfcCableCarrierFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcCableCarrierFittingTypeEnum::Value Ifc4x3::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4x3::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcCableCarrierFittingType::setPredefinedType(::Ifc4x3::IfcCableCarrierFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcCableCarrierFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcCableCarrierFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[132]); } const IfcParse::entity& Ifc4x3::IfcCableCarrierFittingType::Class() { return *((IfcParse::entity*)IFC4X3_types[132]); } Ifc4x3::IfcCableCarrierFittingType::IfcCableCarrierFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x3::IfcCableCarrierFittingType::IfcCableCarrierFittingType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcCableCarrierFittingType::IfcCableCarrierFittingType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCableCarrierSegment -boost::optional< ::Ifc4x3::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x3::IfcCableCarrierSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcCableCarrierSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x3::IfcCableCarrierSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcCableCarrierSegment::setPredefinedType(boost::optional< ::Ifc4x3::IfcCableCarrierSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcCableCarrierSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcCableCarrierSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_types[134]); } const IfcParse::entity& Ifc4x3::IfcCableCarrierSegment::Class() { return *((IfcParse::entity*)IFC4X3_types[134]); } Ifc4x3::IfcCableCarrierSegment::IfcCableCarrierSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x3::IfcCableCarrierSegment::IfcCableCarrierSegment(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcCableCarrierSegment::IfcCableCarrierSegment(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableCarrierSegmentType -::Ifc4x3::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4x3::IfcCableCarrierSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4x3::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcCableCarrierSegmentType::setPredefinedType(::Ifc4x3::IfcCableCarrierSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcCableCarrierSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcCableCarrierSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[135]); } const IfcParse::entity& Ifc4x3::IfcCableCarrierSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_types[135]); } Ifc4x3::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x3::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCableFitting -boost::optional< ::Ifc4x3::IfcCableFittingTypeEnum::Value > Ifc4x3::IfcCableFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcCableFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcCableFittingTypeEnum::Value > Ifc4x3::IfcCableFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcCableFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcCableFitting::setPredefinedType(boost::optional< ::Ifc4x3::IfcCableFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcCableFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcCableFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_types[137]); } const IfcParse::entity& Ifc4x3::IfcCableFitting::Class() { return *((IfcParse::entity*)IFC4X3_types[137]); } Ifc4x3::IfcCableFitting::IfcCableFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x3::IfcCableFitting::IfcCableFitting(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcCableFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcCableFitting::IfcCableFitting(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcCableFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableFittingType -::Ifc4x3::IfcCableFittingTypeEnum::Value Ifc4x3::IfcCableFittingType::PredefinedType() const { return ::Ifc4x3::IfcCableFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcCableFittingTypeEnum::Value Ifc4x3::IfcCableFittingType::PredefinedType() const { return ::Ifc4x3::IfcCableFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcCableFittingType::setPredefinedType(::Ifc4x3::IfcCableFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcCableFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcCableFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[138]); } const IfcParse::entity& Ifc4x3::IfcCableFittingType::Class() { return *((IfcParse::entity*)IFC4X3_types[138]); } Ifc4x3::IfcCableFittingType::IfcCableFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x3::IfcCableFittingType::IfcCableFittingType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCableFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcCableFittingType::IfcCableFittingType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCableFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCableSegment -boost::optional< ::Ifc4x3::IfcCableSegmentTypeEnum::Value > Ifc4x3::IfcCableSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcCableSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcCableSegmentTypeEnum::Value > Ifc4x3::IfcCableSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcCableSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcCableSegment::setPredefinedType(boost::optional< ::Ifc4x3::IfcCableSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcCableSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcCableSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_types[140]); } const IfcParse::entity& Ifc4x3::IfcCableSegment::Class() { return *((IfcParse::entity*)IFC4X3_types[140]); } Ifc4x3::IfcCableSegment::IfcCableSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x3::IfcCableSegment::IfcCableSegment(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcCableSegment::IfcCableSegment(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableSegmentType -::Ifc4x3::IfcCableSegmentTypeEnum::Value Ifc4x3::IfcCableSegmentType::PredefinedType() const { return ::Ifc4x3::IfcCableSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcCableSegmentTypeEnum::Value Ifc4x3::IfcCableSegmentType::PredefinedType() const { return ::Ifc4x3::IfcCableSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcCableSegmentType::setPredefinedType(::Ifc4x3::IfcCableSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcCableSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcCableSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[141]); } const IfcParse::entity& Ifc4x3::IfcCableSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_types[141]); } Ifc4x3::IfcCableSegmentType::IfcCableSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x3::IfcCableSegmentType::IfcCableSegmentType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCableSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcCableSegmentType::IfcCableSegmentType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCableSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCaissonFoundation -boost::optional< ::Ifc4x3::IfcCaissonFoundationTypeEnum::Value > Ifc4x3::IfcCaissonFoundation::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcCaissonFoundationTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcCaissonFoundationTypeEnum::Value > Ifc4x3::IfcCaissonFoundation::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcCaissonFoundation::setPredefinedType(boost::optional< ::Ifc4x3::IfcCaissonFoundationTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcCaissonFoundationTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcCaissonFoundation::declaration() const { return *((IfcParse::entity*)IFC4X3_types[143]); } const IfcParse::entity& Ifc4x3::IfcCaissonFoundation::Class() { return *((IfcParse::entity*)IFC4X3_types[143]); } Ifc4x3::IfcCaissonFoundation::IfcCaissonFoundation(IfcEntityInstanceData&& e) : IfcDeepFoundation(std::move(e)) { } -Ifc4x3::IfcCaissonFoundation::IfcCaissonFoundation(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType) : IfcDeepFoundation(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcCaissonFoundation::IfcCaissonFoundation(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType) : IfcDeepFoundation(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCaissonFoundationType -::Ifc4x3::IfcCaissonFoundationTypeEnum::Value Ifc4x3::IfcCaissonFoundationType::PredefinedType() const { return ::Ifc4x3::IfcCaissonFoundationTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcCaissonFoundationTypeEnum::Value Ifc4x3::IfcCaissonFoundationType::PredefinedType() const { return ::Ifc4x3::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcCaissonFoundationType::setPredefinedType(::Ifc4x3::IfcCaissonFoundationTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcCaissonFoundationTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcCaissonFoundationType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[144]); } const IfcParse::entity& Ifc4x3::IfcCaissonFoundationType::Class() { return *((IfcParse::entity*)IFC4X3_types[144]); } Ifc4x3::IfcCaissonFoundationType::IfcCaissonFoundationType(IfcEntityInstanceData&& e) : IfcDeepFoundationType(std::move(e)) { } -Ifc4x3::IfcCaissonFoundationType::IfcCaissonFoundationType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcCaissonFoundationType::IfcCaissonFoundationType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCartesianPoint -std::vector< double > /*[1:3]*/ Ifc4x3::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[1:3]*/ Ifc4x3::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = get_attribute_value(0); return v; } void Ifc4x3::IfcCartesianPoint::setCoordinates(std::vector< double > /*[1:3]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3::IfcCartesianPoint::declaration() const { return *((IfcParse::entity*)IFC4X3_types[147]); } const IfcParse::entity& Ifc4x3::IfcCartesianPoint::Class() { return *((IfcParse::entity*)IFC4X3_types[147]); } Ifc4x3::IfcCartesianPoint::IfcCartesianPoint(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x3::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ v1_Coordinates) : IfcPoint(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } +Ifc4x3::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ v1_Coordinates) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } // Function implementations for IfcCartesianPointList @@ -8928,47 +8928,47 @@ Ifc4x3::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ v1_ const IfcParse::entity& Ifc4x3::IfcCartesianPointList::declaration() const { return *((IfcParse::entity*)IFC4X3_types[148]); } const IfcParse::entity& Ifc4x3::IfcCartesianPointList::Class() { return *((IfcParse::entity*)IFC4X3_types[148]); } Ifc4x3::IfcCartesianPointList::IfcCartesianPointList(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3::IfcCartesianPointList::IfcCartesianPointList() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3::IfcCartesianPointList::IfcCartesianPointList() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcCartesianPointList2D -std::vector< std::vector< double > > Ifc4x3::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x3::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x3::IfcCartesianPointList2D::setCoordList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3::IfcCartesianPointList2D::TagList() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3::IfcCartesianPointList2D::TagList() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3::IfcCartesianPointList2D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3::IfcCartesianPointList2D::declaration() const { return *((IfcParse::entity*)IFC4X3_types[149]); } const IfcParse::entity& Ifc4x3::IfcCartesianPointList2D::Class() { return *((IfcParse::entity*)IFC4X3_types[149]); } Ifc4x3::IfcCartesianPointList2D::IfcCartesianPointList2D(IfcEntityInstanceData&& e) : IfcCartesianPointList(std::move(e)) { } -Ifc4x3::IfcCartesianPointList2D::IfcCartesianPointList2D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } +Ifc4x3::IfcCartesianPointList2D::IfcCartesianPointList2D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } // Function implementations for IfcCartesianPointList3D -std::vector< std::vector< double > > Ifc4x3::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x3::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x3::IfcCartesianPointList3D::setCoordList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3::IfcCartesianPointList3D::TagList() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3::IfcCartesianPointList3D::TagList() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3::IfcCartesianPointList3D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3::IfcCartesianPointList3D::declaration() const { return *((IfcParse::entity*)IFC4X3_types[150]); } const IfcParse::entity& Ifc4x3::IfcCartesianPointList3D::Class() { return *((IfcParse::entity*)IFC4X3_types[150]); } Ifc4x3::IfcCartesianPointList3D::IfcCartesianPointList3D(IfcEntityInstanceData&& e) : IfcCartesianPointList(std::move(e)) { } -Ifc4x3::IfcCartesianPointList3D::IfcCartesianPointList3D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } +Ifc4x3::IfcCartesianPointList3D::IfcCartesianPointList3D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator -::Ifc4x3::IfcDirection* Ifc4x3::IfcCartesianTransformationOperator::Axis1() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcDirection>(true); } +::Ifc4x3::IfcDirection* Ifc4x3::IfcCartesianTransformationOperator::Axis1() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcDirection>(true); } void Ifc4x3::IfcCartesianTransformationOperator::setAxis1(::Ifc4x3::IfcDirection* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3::IfcDirection* Ifc4x3::IfcCartesianTransformationOperator::Axis2() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcDirection>(true); } +::Ifc4x3::IfcDirection* Ifc4x3::IfcCartesianTransformationOperator::Axis2() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcDirection>(true); } void Ifc4x3::IfcCartesianTransformationOperator::setAxis2(::Ifc4x3::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3::IfcCartesianPoint* Ifc4x3::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcCartesianPoint>(true); } +::Ifc4x3::IfcCartesianPoint* Ifc4x3::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcCartesianPoint>(true); } void Ifc4x3::IfcCartesianTransformationOperator::setLocalOrigin(::Ifc4x3::IfcCartesianPoint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4x3::IfcCartesianTransformationOperator::Scale() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3::IfcCartesianTransformationOperator::Scale() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3::IfcCartesianTransformationOperator::declaration() const { return *((IfcParse::entity*)IFC4X3_types[151]); } const IfcParse::entity& Ifc4x3::IfcCartesianTransformationOperator::Class() { return *((IfcParse::entity*)IFC4X3_types[151]); } Ifc4x3::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(::Ifc4x3::IfcDirection* v1_Axis1, ::Ifc4x3::IfcDirection* v2_Axis2, ::Ifc4x3::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } +Ifc4x3::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(::Ifc4x3::IfcDirection* v1_Axis1, ::Ifc4x3::IfcDirection* v2_Axis2, ::Ifc4x3::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator2D @@ -8976,119 +8976,119 @@ Ifc4x3::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(: const IfcParse::entity& Ifc4x3::IfcCartesianTransformationOperator2D::declaration() const { return *((IfcParse::entity*)IFC4X3_types[152]); } const IfcParse::entity& Ifc4x3::IfcCartesianTransformationOperator2D::Class() { return *((IfcParse::entity*)IFC4X3_types[152]); } Ifc4x3::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator(std::move(e)) { } -Ifc4x3::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(::Ifc4x3::IfcDirection* v1_Axis1, ::Ifc4x3::IfcDirection* v2_Axis2, ::Ifc4x3::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcCartesianTransformationOperator(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } +Ifc4x3::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(::Ifc4x3::IfcDirection* v1_Axis1, ::Ifc4x3::IfcDirection* v2_Axis2, ::Ifc4x3::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcCartesianTransformationOperator(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator2DnonUniform -boost::optional< double > Ifc4x3::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3::IfcCartesianTransformationOperator2DnonUniform::setScale2(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3::IfcCartesianTransformationOperator2DnonUniform::declaration() const { return *((IfcParse::entity*)IFC4X3_types[153]); } const IfcParse::entity& Ifc4x3::IfcCartesianTransformationOperator2DnonUniform::Class() { return *((IfcParse::entity*)IFC4X3_types[153]); } Ifc4x3::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator2D(std::move(e)) { } -Ifc4x3::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(::Ifc4x3::IfcDirection* v1_Axis1, ::Ifc4x3::IfcDirection* v2_Axis2, ::Ifc4x3::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2) : IfcCartesianTransformationOperator2D(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; populate_derived(); } +Ifc4x3::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(::Ifc4x3::IfcDirection* v1_Axis1, ::Ifc4x3::IfcDirection* v2_Axis2, ::Ifc4x3::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2) : IfcCartesianTransformationOperator2D(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator3D -::Ifc4x3::IfcDirection* Ifc4x3::IfcCartesianTransformationOperator3D::Axis3() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcDirection>(true); } +::Ifc4x3::IfcDirection* Ifc4x3::IfcCartesianTransformationOperator3D::Axis3() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcDirection>(true); } void Ifc4x3::IfcCartesianTransformationOperator3D::setAxis3(::Ifc4x3::IfcDirection* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3::IfcCartesianTransformationOperator3D::declaration() const { return *((IfcParse::entity*)IFC4X3_types[154]); } const IfcParse::entity& Ifc4x3::IfcCartesianTransformationOperator3D::Class() { return *((IfcParse::entity*)IFC4X3_types[154]); } Ifc4x3::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator(std::move(e)) { } -Ifc4x3::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(::Ifc4x3::IfcDirection* v1_Axis1, ::Ifc4x3::IfcDirection* v2_Axis2, ::Ifc4x3::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x3::IfcDirection* v5_Axis3) : IfcCartesianTransformationOperator(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(::Ifc4x3::IfcDirection* v1_Axis1, ::Ifc4x3::IfcDirection* v2_Axis2, ::Ifc4x3::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x3::IfcDirection* v5_Axis3) : IfcCartesianTransformationOperator(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator3DnonUniform -boost::optional< double > Ifc4x3::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3::IfcCartesianTransformationOperator3DnonUniform::setScale2(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3::IfcCartesianTransformationOperator3DnonUniform::Scale3() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3::IfcCartesianTransformationOperator3DnonUniform::Scale3() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3::IfcCartesianTransformationOperator3DnonUniform::setScale3(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3::IfcCartesianTransformationOperator3DnonUniform::declaration() const { return *((IfcParse::entity*)IFC4X3_types[155]); } const IfcParse::entity& Ifc4x3::IfcCartesianTransformationOperator3DnonUniform::Class() { return *((IfcParse::entity*)IFC4X3_types[155]); } Ifc4x3::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator3D(std::move(e)) { } -Ifc4x3::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(::Ifc4x3::IfcDirection* v1_Axis1, ::Ifc4x3::IfcDirection* v2_Axis2, ::Ifc4x3::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x3::IfcDirection* v5_Axis3, boost::optional< double > v6_Scale2, boost::optional< double > v7_Scale3) : IfcCartesianTransformationOperator3D(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; populate_derived(); } +Ifc4x3::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(::Ifc4x3::IfcDirection* v1_Axis1, ::Ifc4x3::IfcDirection* v2_Axis2, ::Ifc4x3::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x3::IfcDirection* v5_Axis3, boost::optional< double > v6_Scale2, boost::optional< double > v7_Scale3) : IfcCartesianTransformationOperator3D(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; populate_derived(); } // Function implementations for IfcCenterLineProfileDef -double Ifc4x3::IfcCenterLineProfileDef::Thickness() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3::IfcCenterLineProfileDef::Thickness() const { double v = get_attribute_value(3); return v; } void Ifc4x3::IfcCenterLineProfileDef::setThickness(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcCenterLineProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_types[156]); } const IfcParse::entity& Ifc4x3::IfcCenterLineProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_types[156]); } Ifc4x3::IfcCenterLineProfileDef::IfcCenterLineProfileDef(IfcEntityInstanceData&& e) : IfcArbitraryOpenProfileDef(std::move(e)) { } -Ifc4x3::IfcCenterLineProfileDef::IfcCenterLineProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcBoundedCurve* v3_Curve, double v4_Thickness) : IfcArbitraryOpenProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Thickness));; populate_derived(); } +Ifc4x3::IfcCenterLineProfileDef::IfcCenterLineProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcBoundedCurve* v3_Curve, double v4_Thickness) : IfcArbitraryOpenProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Thickness));; populate_derived(); } // Function implementations for IfcChiller -boost::optional< ::Ifc4x3::IfcChillerTypeEnum::Value > Ifc4x3::IfcChiller::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcChillerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcChillerTypeEnum::Value > Ifc4x3::IfcChiller::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcChillerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcChiller::setPredefinedType(boost::optional< ::Ifc4x3::IfcChillerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcChillerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcChiller::declaration() const { return *((IfcParse::entity*)IFC4X3_types[158]); } const IfcParse::entity& Ifc4x3::IfcChiller::Class() { return *((IfcParse::entity*)IFC4X3_types[158]); } Ifc4x3::IfcChiller::IfcChiller(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3::IfcChiller::IfcChiller(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcChillerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcChiller::IfcChiller(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcChillerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcChillerType -::Ifc4x3::IfcChillerTypeEnum::Value Ifc4x3::IfcChillerType::PredefinedType() const { return ::Ifc4x3::IfcChillerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcChillerTypeEnum::Value Ifc4x3::IfcChillerType::PredefinedType() const { return ::Ifc4x3::IfcChillerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcChillerType::setPredefinedType(::Ifc4x3::IfcChillerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcChillerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcChillerType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[159]); } const IfcParse::entity& Ifc4x3::IfcChillerType::Class() { return *((IfcParse::entity*)IFC4X3_types[159]); } Ifc4x3::IfcChillerType::IfcChillerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3::IfcChillerType::IfcChillerType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcChillerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcChillerType::IfcChillerType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcChillerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcChimney -boost::optional< ::Ifc4x3::IfcChimneyTypeEnum::Value > Ifc4x3::IfcChimney::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcChimneyTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcChimneyTypeEnum::Value > Ifc4x3::IfcChimney::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcChimneyTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcChimney::setPredefinedType(boost::optional< ::Ifc4x3::IfcChimneyTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcChimneyTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcChimney::declaration() const { return *((IfcParse::entity*)IFC4X3_types[161]); } const IfcParse::entity& Ifc4x3::IfcChimney::Class() { return *((IfcParse::entity*)IFC4X3_types[161]); } Ifc4x3::IfcChimney::IfcChimney(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3::IfcChimney::IfcChimney(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcChimneyTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcChimney::IfcChimney(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcChimneyTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcChimneyType -::Ifc4x3::IfcChimneyTypeEnum::Value Ifc4x3::IfcChimneyType::PredefinedType() const { return ::Ifc4x3::IfcChimneyTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcChimneyTypeEnum::Value Ifc4x3::IfcChimneyType::PredefinedType() const { return ::Ifc4x3::IfcChimneyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcChimneyType::setPredefinedType(::Ifc4x3::IfcChimneyTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcChimneyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcChimneyType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[162]); } const IfcParse::entity& Ifc4x3::IfcChimneyType::Class() { return *((IfcParse::entity*)IFC4X3_types[162]); } Ifc4x3::IfcChimneyType::IfcChimneyType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3::IfcChimneyType::IfcChimneyType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcChimneyTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcChimneyType::IfcChimneyType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcChimneyTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCircle -double Ifc4x3::IfcCircle::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3::IfcCircle::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3::IfcCircle::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcCircle::declaration() const { return *((IfcParse::entity*)IFC4X3_types[164]); } const IfcParse::entity& Ifc4x3::IfcCircle::Class() { return *((IfcParse::entity*)IFC4X3_types[164]); } Ifc4x3::IfcCircle::IfcCircle(IfcEntityInstanceData&& e) : IfcConic(std::move(e)) { } -Ifc4x3::IfcCircle::IfcCircle(::Ifc4x3::IfcAxis2Placement* v1_Position, double v2_Radius) : IfcConic(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x3::IfcCircle::IfcCircle(::Ifc4x3::IfcAxis2Placement* v1_Position, double v2_Radius) : IfcConic(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcCircleHollowProfileDef -double Ifc4x3::IfcCircleHollowProfileDef::WallThickness() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3::IfcCircleHollowProfileDef::WallThickness() const { double v = get_attribute_value(4); return v; } void Ifc4x3::IfcCircleHollowProfileDef::setWallThickness(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3::IfcCircleHollowProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_types[165]); } const IfcParse::entity& Ifc4x3::IfcCircleHollowProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_types[165]); } Ifc4x3::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(IfcEntityInstanceData&& e) : IfcCircleProfileDef(std::move(e)) { } -Ifc4x3::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D* v3_Position, double v4_Radius, double v5_WallThickness) : IfcCircleProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; populate_derived(); } +Ifc4x3::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D* v3_Position, double v4_Radius, double v5_WallThickness) : IfcCircleProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; populate_derived(); } // Function implementations for IfcCircleProfileDef -double Ifc4x3::IfcCircleProfileDef::Radius() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3::IfcCircleProfileDef::Radius() const { double v = get_attribute_value(3); return v; } void Ifc4x3::IfcCircleProfileDef::setRadius(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcCircleProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_types[166]); } const IfcParse::entity& Ifc4x3::IfcCircleProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_types[166]); } Ifc4x3::IfcCircleProfileDef::IfcCircleProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3::IfcCircleProfileDef::IfcCircleProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D* v3_Position, double v4_Radius) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));; populate_derived(); } +Ifc4x3::IfcCircleProfileDef::IfcCircleProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D* v3_Position, double v4_Radius) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));; populate_derived(); } // Function implementations for IfcCivilElement @@ -9096,7 +9096,7 @@ Ifc4x3::IfcCircleProfileDef::IfcCircleProfileDef(::Ifc4x3::IfcProfileTypeEnum::V const IfcParse::entity& Ifc4x3::IfcCivilElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[167]); } const IfcParse::entity& Ifc4x3::IfcCivilElement::Class() { return *((IfcParse::entity*)IFC4X3_types[167]); } Ifc4x3::IfcCivilElement::IfcCivilElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3::IfcCivilElement::IfcCivilElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3::IfcCivilElement::IfcCivilElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcCivilElementType @@ -9104,22 +9104,22 @@ Ifc4x3::IfcCivilElement::IfcCivilElement(std::string v1_GlobalId, ::Ifc4x3::IfcO const IfcParse::entity& Ifc4x3::IfcCivilElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[168]); } const IfcParse::entity& Ifc4x3::IfcCivilElementType::Class() { return *((IfcParse::entity*)IFC4X3_types[168]); } Ifc4x3::IfcCivilElementType::IfcCivilElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3::IfcCivilElementType::IfcCivilElementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3::IfcCivilElementType::IfcCivilElementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcClassification -boost::optional< std::string > Ifc4x3::IfcClassification::Source() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3::IfcClassification::Source() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcClassification::setSource(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3::IfcClassification::Edition() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3::IfcClassification::Edition() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcClassification::setEdition(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3::IfcClassification::EditionDate() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3::IfcClassification::EditionDate() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3::IfcClassification::setEditionDate(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::string Ifc4x3::IfcClassification::Name() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x3::IfcClassification::Name() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3::IfcClassification::setName(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3::IfcClassification::Description() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3::IfcClassification::Description() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcClassification::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3::IfcClassification::Specification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3::IfcClassification::Specification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3::IfcClassification::setSpecification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3::IfcClassification::ReferenceTokens() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(6); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3::IfcClassification::ReferenceTokens() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(6); return v; } void Ifc4x3::IfcClassification::setReferenceTokens(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3::IfcRelAssociatesClassification::list::ptr Ifc4x3::IfcClassification::ClassificationForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[911], 5)->as(); } @@ -9128,14 +9128,14 @@ void Ifc4x3::IfcClassification::setReferenceTokens(boost::optional< std::vector< const IfcParse::entity& Ifc4x3::IfcClassification::declaration() const { return *((IfcParse::entity*)IFC4X3_types[169]); } const IfcParse::entity& Ifc4x3::IfcClassification::Class() { return *((IfcParse::entity*)IFC4X3_types[169]); } Ifc4x3::IfcClassification::IfcClassification(IfcEntityInstanceData&& e) : IfcExternalInformation(std::move(e)) { } -Ifc4x3::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_Specification, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) : IfcExternalInformation(IfcEntityInstanceData(storage_t(7))) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Specification) {set_attribute_value(5, (*v6_Specification)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); }; populate_derived(); } +Ifc4x3::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_Specification, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) : IfcExternalInformation(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Specification) {set_attribute_value(5, (*v6_Specification)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); }; populate_derived(); } // Function implementations for IfcClassificationReference -::Ifc4x3::IfcClassificationReferenceSelect* Ifc4x3::IfcClassificationReference::ReferencedSource() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcClassificationReferenceSelect>(true); } +::Ifc4x3::IfcClassificationReferenceSelect* Ifc4x3::IfcClassificationReference::ReferencedSource() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcClassificationReferenceSelect>(true); } void Ifc4x3::IfcClassificationReference::setReferencedSource(::Ifc4x3::IfcClassificationReferenceSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3::IfcClassificationReference::Description() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3::IfcClassificationReference::Description() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcClassificationReference::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3::IfcClassificationReference::Sort() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3::IfcClassificationReference::Sort() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3::IfcClassificationReference::setSort(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x3::IfcRelAssociatesClassification::list::ptr Ifc4x3::IfcClassificationReference::ClassificationRefForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[911], 5)->as(); } @@ -9144,7 +9144,7 @@ void Ifc4x3::IfcClassificationReference::setSort(boost::optional< std::string > const IfcParse::entity& Ifc4x3::IfcClassificationReference::declaration() const { return *((IfcParse::entity*)IFC4X3_types[170]); } const IfcParse::entity& Ifc4x3::IfcClassificationReference::Class() { return *((IfcParse::entity*)IFC4X3_types[170]); } Ifc4x3::IfcClassificationReference::IfcClassificationReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3::IfcClassificationReference::IfcClassificationReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, ::Ifc4x3::IfcClassificationReferenceSelect* v4_ReferencedSource, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Sort) : IfcExternalReference(IfcEntityInstanceData(storage_t(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, v4_ReferencedSource ? v4_ReferencedSource->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); }; populate_derived(); } +Ifc4x3::IfcClassificationReference::IfcClassificationReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, ::Ifc4x3::IfcClassificationReferenceSelect* v4_ReferencedSource, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Sort) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, v4_ReferencedSource ? v4_ReferencedSource->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); }; populate_derived(); } // Function implementations for IfcClosedShell @@ -9152,149 +9152,149 @@ Ifc4x3::IfcClassificationReference::IfcClassificationReference(boost::optional< const IfcParse::entity& Ifc4x3::IfcClosedShell::declaration() const { return *((IfcParse::entity*)IFC4X3_types[173]); } const IfcParse::entity& Ifc4x3::IfcClosedShell::Class() { return *((IfcParse::entity*)IFC4X3_types[173]); } Ifc4x3::IfcClosedShell::IfcClosedShell(IfcEntityInstanceData&& e) : IfcConnectedFaceSet(std::move(e)) { } -Ifc4x3::IfcClosedShell::IfcClosedShell(aggregate_of< ::Ifc4x3::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc4x3::IfcClosedShell::IfcClosedShell(aggregate_of< ::Ifc4x3::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcClothoid -double Ifc4x3::IfcClothoid::ClothoidConstant() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3::IfcClothoid::ClothoidConstant() const { double v = get_attribute_value(1); return v; } void Ifc4x3::IfcClothoid::setClothoidConstant(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcClothoid::declaration() const { return *((IfcParse::entity*)IFC4X3_types[174]); } const IfcParse::entity& Ifc4x3::IfcClothoid::Class() { return *((IfcParse::entity*)IFC4X3_types[174]); } Ifc4x3::IfcClothoid::IfcClothoid(IfcEntityInstanceData&& e) : IfcSpiral(std::move(e)) { } -Ifc4x3::IfcClothoid::IfcClothoid(::Ifc4x3::IfcAxis2Placement* v1_Position, double v2_ClothoidConstant) : IfcSpiral(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_ClothoidConstant));; populate_derived(); } +Ifc4x3::IfcClothoid::IfcClothoid(::Ifc4x3::IfcAxis2Placement* v1_Position, double v2_ClothoidConstant) : IfcSpiral(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_ClothoidConstant));; populate_derived(); } // Function implementations for IfcCoil -boost::optional< ::Ifc4x3::IfcCoilTypeEnum::Value > Ifc4x3::IfcCoil::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcCoilTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcCoilTypeEnum::Value > Ifc4x3::IfcCoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcCoilTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcCoil::setPredefinedType(boost::optional< ::Ifc4x3::IfcCoilTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcCoilTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcCoil::declaration() const { return *((IfcParse::entity*)IFC4X3_types[175]); } const IfcParse::entity& Ifc4x3::IfcCoil::Class() { return *((IfcParse::entity*)IFC4X3_types[175]); } Ifc4x3::IfcCoil::IfcCoil(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3::IfcCoil::IfcCoil(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcCoilTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcCoil::IfcCoil(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcCoilTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCoilType -::Ifc4x3::IfcCoilTypeEnum::Value Ifc4x3::IfcCoilType::PredefinedType() const { return ::Ifc4x3::IfcCoilTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcCoilTypeEnum::Value Ifc4x3::IfcCoilType::PredefinedType() const { return ::Ifc4x3::IfcCoilTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcCoilType::setPredefinedType(::Ifc4x3::IfcCoilTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcCoilTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcCoilType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[176]); } const IfcParse::entity& Ifc4x3::IfcCoilType::Class() { return *((IfcParse::entity*)IFC4X3_types[176]); } Ifc4x3::IfcCoilType::IfcCoilType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3::IfcCoilType::IfcCoilType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCoilTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcCoilType::IfcCoilType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCoilTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcColourRgb -double Ifc4x3::IfcColourRgb::Red() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3::IfcColourRgb::Red() const { double v = get_attribute_value(1); return v; } void Ifc4x3::IfcColourRgb::setRed(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3::IfcColourRgb::Green() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3::IfcColourRgb::Green() const { double v = get_attribute_value(2); return v; } void Ifc4x3::IfcColourRgb::setGreen(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3::IfcColourRgb::Blue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3::IfcColourRgb::Blue() const { double v = get_attribute_value(3); return v; } void Ifc4x3::IfcColourRgb::setBlue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcColourRgb::declaration() const { return *((IfcParse::entity*)IFC4X3_types[180]); } const IfcParse::entity& Ifc4x3::IfcColourRgb::Class() { return *((IfcParse::entity*)IFC4X3_types[180]); } Ifc4x3::IfcColourRgb::IfcColourRgb(IfcEntityInstanceData&& e) : IfcColourSpecification(std::move(e)) { } -Ifc4x3::IfcColourRgb::IfcColourRgb(boost::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) : IfcColourSpecification(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; populate_derived(); } +Ifc4x3::IfcColourRgb::IfcColourRgb(boost::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) : IfcColourSpecification(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; populate_derived(); } // Function implementations for IfcColourRgbList -std::vector< std::vector< double > > Ifc4x3::IfcColourRgbList::ColourList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x3::IfcColourRgbList::ColourList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x3::IfcColourRgbList::setColourList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3::IfcColourRgbList::declaration() const { return *((IfcParse::entity*)IFC4X3_types[181]); } const IfcParse::entity& Ifc4x3::IfcColourRgbList::Class() { return *((IfcParse::entity*)IFC4X3_types[181]); } Ifc4x3::IfcColourRgbList::IfcColourRgbList(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3::IfcColourRgbList::IfcColourRgbList(std::vector< std::vector< double > > v1_ColourList) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_ColourList));; populate_derived(); } +Ifc4x3::IfcColourRgbList::IfcColourRgbList(std::vector< std::vector< double > > v1_ColourList) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_ColourList));; populate_derived(); } // Function implementations for IfcColourSpecification -boost::optional< std::string > Ifc4x3::IfcColourSpecification::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3::IfcColourSpecification::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcColourSpecification::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3::IfcColourSpecification::declaration() const { return *((IfcParse::entity*)IFC4X3_types[182]); } const IfcParse::entity& Ifc4x3::IfcColourSpecification::Class() { return *((IfcParse::entity*)IFC4X3_types[182]); } Ifc4x3::IfcColourSpecification::IfcColourSpecification(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3::IfcColourSpecification::IfcColourSpecification(boost::optional< std::string > v1_Name) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3::IfcColourSpecification::IfcColourSpecification(boost::optional< std::string > v1_Name) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcColumn -boost::optional< ::Ifc4x3::IfcColumnTypeEnum::Value > Ifc4x3::IfcColumn::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcColumnTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcColumnTypeEnum::Value > Ifc4x3::IfcColumn::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcColumnTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcColumn::setPredefinedType(boost::optional< ::Ifc4x3::IfcColumnTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcColumnTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcColumn::declaration() const { return *((IfcParse::entity*)IFC4X3_types[183]); } const IfcParse::entity& Ifc4x3::IfcColumn::Class() { return *((IfcParse::entity*)IFC4X3_types[183]); } Ifc4x3::IfcColumn::IfcColumn(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3::IfcColumn::IfcColumn(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcColumnTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcColumn::IfcColumn(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcColumnTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcColumnType -::Ifc4x3::IfcColumnTypeEnum::Value Ifc4x3::IfcColumnType::PredefinedType() const { return ::Ifc4x3::IfcColumnTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcColumnTypeEnum::Value Ifc4x3::IfcColumnType::PredefinedType() const { return ::Ifc4x3::IfcColumnTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcColumnType::setPredefinedType(::Ifc4x3::IfcColumnTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcColumnTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcColumnType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[184]); } const IfcParse::entity& Ifc4x3::IfcColumnType::Class() { return *((IfcParse::entity*)IFC4X3_types[184]); } Ifc4x3::IfcColumnType::IfcColumnType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3::IfcColumnType::IfcColumnType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcColumnTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcColumnType::IfcColumnType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcColumnTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCommunicationsAppliance -boost::optional< ::Ifc4x3::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x3::IfcCommunicationsAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcCommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x3::IfcCommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcCommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x3::IfcCommunicationsApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcCommunicationsApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcCommunicationsAppliance::declaration() const { return *((IfcParse::entity*)IFC4X3_types[186]); } const IfcParse::entity& Ifc4x3::IfcCommunicationsAppliance::Class() { return *((IfcParse::entity*)IFC4X3_types[186]); } Ifc4x3::IfcCommunicationsAppliance::IfcCommunicationsAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3::IfcCommunicationsAppliance::IfcCommunicationsAppliance(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcCommunicationsAppliance::IfcCommunicationsAppliance(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCommunicationsApplianceType -::Ifc4x3::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3::IfcCommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcCommunicationsApplianceType::setPredefinedType(::Ifc4x3::IfcCommunicationsApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcCommunicationsApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcCommunicationsApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[187]); } const IfcParse::entity& Ifc4x3::IfcCommunicationsApplianceType::Class() { return *((IfcParse::entity*)IFC4X3_types[187]); } Ifc4x3::IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3::IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcComplexProperty -std::string Ifc4x3::IfcComplexProperty::UsageName() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3::IfcComplexProperty::UsageName() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3::IfcComplexProperty::setUsageName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3::IfcProperty >::ptr Ifc4x3::IfcComplexProperty::HasProperties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3::IfcProperty >(); } +aggregate_of< ::Ifc4x3::IfcProperty >::ptr Ifc4x3::IfcComplexProperty::HasProperties() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3::IfcProperty >(); } void Ifc4x3::IfcComplexProperty::setHasProperties(aggregate_of< ::Ifc4x3::IfcProperty >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcComplexProperty::declaration() const { return *((IfcParse::entity*)IFC4X3_types[190]); } const IfcParse::entity& Ifc4x3::IfcComplexProperty::Class() { return *((IfcParse::entity*)IFC4X3_types[190]); } Ifc4x3::IfcComplexProperty::IfcComplexProperty(IfcEntityInstanceData&& e) : IfcProperty(std::move(e)) { } -Ifc4x3::IfcComplexProperty::IfcComplexProperty(std::string v1_Name, boost::optional< std::string > v2_Specification, std::string v3_UsageName, aggregate_of< ::Ifc4x3::IfcProperty >::ptr v4_HasProperties) : IfcProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, (v4_HasProperties)->generalize());; populate_derived(); } +Ifc4x3::IfcComplexProperty::IfcComplexProperty(std::string v1_Name, boost::optional< std::string > v2_Specification, std::string v3_UsageName, aggregate_of< ::Ifc4x3::IfcProperty >::ptr v4_HasProperties) : IfcProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, (v4_HasProperties)->generalize());; populate_derived(); } // Function implementations for IfcComplexPropertyTemplate -boost::optional< std::string > Ifc4x3::IfcComplexPropertyTemplate::UsageName() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3::IfcComplexPropertyTemplate::UsageName() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcComplexPropertyTemplate::setUsageName(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< ::Ifc4x3::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4x3::IfcComplexPropertyTemplate::TemplateType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3::IfcComplexPropertyTemplateTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4x3::IfcComplexPropertyTemplate::TemplateType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3::IfcComplexPropertyTemplateTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3::IfcComplexPropertyTemplate::setTemplateType(boost::optional< ::Ifc4x3::IfcComplexPropertyTemplateTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3::IfcComplexPropertyTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -boost::optional< aggregate_of< ::Ifc4x3::IfcPropertyTemplate >::ptr > Ifc4x3::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3::IfcPropertyTemplate >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcPropertyTemplate >::ptr > Ifc4x3::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3::IfcPropertyTemplate >(); } void Ifc4x3::IfcComplexPropertyTemplate::setHasPropertyTemplates(boost::optional< aggregate_of< ::Ifc4x3::IfcPropertyTemplate >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3::IfcComplexPropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_types[191]); } const IfcParse::entity& Ifc4x3::IfcComplexPropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X3_types[191]); } Ifc4x3::IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplate(std::move(e)) { } -Ifc4x3::IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_UsageName, boost::optional< ::Ifc4x3::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertyTemplate >::ptr > v7_HasPropertyTemplates) : IfcPropertyTemplate(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, (*v7_HasPropertyTemplates)->generalize()); }; populate_derived(); } +Ifc4x3::IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_UsageName, boost::optional< ::Ifc4x3::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertyTemplate >::ptr > v7_HasPropertyTemplates) : IfcPropertyTemplate(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, (*v7_HasPropertyTemplates)->generalize()); }; populate_derived(); } // Function implementations for IfcCompositeCurve -aggregate_of< ::Ifc4x3::IfcSegment >::ptr Ifc4x3::IfcCompositeCurve::Segments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3::IfcSegment >(); } +aggregate_of< ::Ifc4x3::IfcSegment >::ptr Ifc4x3::IfcCompositeCurve::Segments() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3::IfcSegment >(); } void Ifc4x3::IfcCompositeCurve::setSegments(aggregate_of< ::Ifc4x3::IfcSegment >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::logic::tribool Ifc4x3::IfcCompositeCurve::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(1); return v; } +boost::logic::tribool Ifc4x3::IfcCompositeCurve::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(1); return v; } void Ifc4x3::IfcCompositeCurve::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcCompositeCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_types[193]); } const IfcParse::entity& Ifc4x3::IfcCompositeCurve::Class() { return *((IfcParse::entity*)IFC4X3_types[193]); } Ifc4x3::IfcCompositeCurve::IfcCompositeCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc4x3::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x3::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc4x3::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcCompositeCurveOnSurface @@ -9302,103 +9302,103 @@ Ifc4x3::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc4x3::IfcSegment const IfcParse::entity& Ifc4x3::IfcCompositeCurveOnSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_types[194]); } const IfcParse::entity& Ifc4x3::IfcCompositeCurveOnSurface::Class() { return *((IfcParse::entity*)IFC4X3_types[194]); } Ifc4x3::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(IfcEntityInstanceData&& e) : IfcCompositeCurve(std::move(e)) { } -Ifc4x3::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(aggregate_of< ::Ifc4x3::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x3::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(aggregate_of< ::Ifc4x3::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcCompositeCurveSegment -bool Ifc4x3::IfcCompositeCurveSegment::SameSense() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x3::IfcCompositeCurveSegment::SameSense() const { bool v = get_attribute_value(1); return v; } void Ifc4x3::IfcCompositeCurveSegment::setSameSense(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3::IfcCurve* Ifc4x3::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcCurve>(true); } +::Ifc4x3::IfcCurve* Ifc4x3::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcCurve>(true); } void Ifc4x3::IfcCompositeCurveSegment::setParentCurve(::Ifc4x3::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcCompositeCurveSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_types[195]); } const IfcParse::entity& Ifc4x3::IfcCompositeCurveSegment::Class() { return *((IfcParse::entity*)IFC4X3_types[195]); } Ifc4x3::IfcCompositeCurveSegment::IfcCompositeCurveSegment(IfcEntityInstanceData&& e) : IfcSegment(std::move(e)) { } -Ifc4x3::IfcCompositeCurveSegment::IfcCompositeCurveSegment(::Ifc4x3::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3::IfcCurve* v3_ParentCurve) : IfcSegment(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcCompositeCurveSegment::IfcCompositeCurveSegment(::Ifc4x3::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3::IfcCurve* v3_ParentCurve) : IfcSegment(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCompositeProfileDef -aggregate_of< ::Ifc4x3::IfcProfileDef >::ptr Ifc4x3::IfcCompositeProfileDef::Profiles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3::IfcProfileDef >(); } +aggregate_of< ::Ifc4x3::IfcProfileDef >::ptr Ifc4x3::IfcCompositeProfileDef::Profiles() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3::IfcProfileDef >(); } void Ifc4x3::IfcCompositeProfileDef::setProfiles(aggregate_of< ::Ifc4x3::IfcProfileDef >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x3::IfcCompositeProfileDef::Label() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3::IfcCompositeProfileDef::Label() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3::IfcCompositeProfileDef::setLabel(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3::IfcCompositeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_types[196]); } const IfcParse::entity& Ifc4x3::IfcCompositeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_types[196]); } Ifc4x3::IfcCompositeProfileDef::IfcCompositeProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3::IfcCompositeProfileDef::IfcCompositeProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, aggregate_of< ::Ifc4x3::IfcProfileDef >::ptr v3_Profiles, boost::optional< std::string > v4_Label) : IfcProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Profiles)->generalize()); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; populate_derived(); } +Ifc4x3::IfcCompositeProfileDef::IfcCompositeProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, aggregate_of< ::Ifc4x3::IfcProfileDef >::ptr v3_Profiles, boost::optional< std::string > v4_Label) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Profiles)->generalize()); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; populate_derived(); } // Function implementations for IfcCompressor -boost::optional< ::Ifc4x3::IfcCompressorTypeEnum::Value > Ifc4x3::IfcCompressor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcCompressorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcCompressorTypeEnum::Value > Ifc4x3::IfcCompressor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcCompressorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcCompressor::setPredefinedType(boost::optional< ::Ifc4x3::IfcCompressorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcCompressorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcCompressor::declaration() const { return *((IfcParse::entity*)IFC4X3_types[198]); } const IfcParse::entity& Ifc4x3::IfcCompressor::Class() { return *((IfcParse::entity*)IFC4X3_types[198]); } Ifc4x3::IfcCompressor::IfcCompressor(IfcEntityInstanceData&& e) : IfcFlowMovingDevice(std::move(e)) { } -Ifc4x3::IfcCompressor::IfcCompressor(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcCompressorTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcCompressor::IfcCompressor(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcCompressorTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCompressorType -::Ifc4x3::IfcCompressorTypeEnum::Value Ifc4x3::IfcCompressorType::PredefinedType() const { return ::Ifc4x3::IfcCompressorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcCompressorTypeEnum::Value Ifc4x3::IfcCompressorType::PredefinedType() const { return ::Ifc4x3::IfcCompressorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcCompressorType::setPredefinedType(::Ifc4x3::IfcCompressorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcCompressorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcCompressorType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[199]); } const IfcParse::entity& Ifc4x3::IfcCompressorType::Class() { return *((IfcParse::entity*)IFC4X3_types[199]); } Ifc4x3::IfcCompressorType::IfcCompressorType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(e)) { } -Ifc4x3::IfcCompressorType::IfcCompressorType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCompressorTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcCompressorType::IfcCompressorType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCompressorTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCondenser -boost::optional< ::Ifc4x3::IfcCondenserTypeEnum::Value > Ifc4x3::IfcCondenser::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcCondenserTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcCondenserTypeEnum::Value > Ifc4x3::IfcCondenser::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcCondenserTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcCondenser::setPredefinedType(boost::optional< ::Ifc4x3::IfcCondenserTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcCondenserTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcCondenser::declaration() const { return *((IfcParse::entity*)IFC4X3_types[201]); } const IfcParse::entity& Ifc4x3::IfcCondenser::Class() { return *((IfcParse::entity*)IFC4X3_types[201]); } Ifc4x3::IfcCondenser::IfcCondenser(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3::IfcCondenser::IfcCondenser(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcCondenserTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcCondenser::IfcCondenser(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcCondenserTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCondenserType -::Ifc4x3::IfcCondenserTypeEnum::Value Ifc4x3::IfcCondenserType::PredefinedType() const { return ::Ifc4x3::IfcCondenserTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcCondenserTypeEnum::Value Ifc4x3::IfcCondenserType::PredefinedType() const { return ::Ifc4x3::IfcCondenserTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcCondenserType::setPredefinedType(::Ifc4x3::IfcCondenserTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcCondenserTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcCondenserType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[202]); } const IfcParse::entity& Ifc4x3::IfcCondenserType::Class() { return *((IfcParse::entity*)IFC4X3_types[202]); } Ifc4x3::IfcCondenserType::IfcCondenserType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3::IfcCondenserType::IfcCondenserType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCondenserTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcCondenserType::IfcCondenserType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCondenserTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcConic -::Ifc4x3::IfcAxis2Placement* Ifc4x3::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcAxis2Placement>(true); } +::Ifc4x3::IfcAxis2Placement* Ifc4x3::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcAxis2Placement>(true); } void Ifc4x3::IfcConic::setPosition(::Ifc4x3::IfcAxis2Placement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3::IfcConic::declaration() const { return *((IfcParse::entity*)IFC4X3_types[204]); } const IfcParse::entity& Ifc4x3::IfcConic::Class() { return *((IfcParse::entity*)IFC4X3_types[204]); } Ifc4x3::IfcConic::IfcConic(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3::IfcConic::IfcConic(::Ifc4x3::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcConic::IfcConic(::Ifc4x3::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectedFaceSet -aggregate_of< ::Ifc4x3::IfcFace >::ptr Ifc4x3::IfcConnectedFaceSet::CfsFaces() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3::IfcFace >(); } +aggregate_of< ::Ifc4x3::IfcFace >::ptr Ifc4x3::IfcConnectedFaceSet::CfsFaces() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3::IfcFace >(); } void Ifc4x3::IfcConnectedFaceSet::setCfsFaces(aggregate_of< ::Ifc4x3::IfcFace >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3::IfcConnectedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_types[205]); } const IfcParse::entity& Ifc4x3::IfcConnectedFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_types[205]); } Ifc4x3::IfcConnectedFaceSet::IfcConnectedFaceSet(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3::IfcConnectedFaceSet::IfcConnectedFaceSet(aggregate_of< ::Ifc4x3::IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc4x3::IfcConnectedFaceSet::IfcConnectedFaceSet(aggregate_of< ::Ifc4x3::IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcConnectionCurveGeometry -::Ifc4x3::IfcCurveOrEdgeCurve* Ifc4x3::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcCurveOrEdgeCurve>(true); } +::Ifc4x3::IfcCurveOrEdgeCurve* Ifc4x3::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcCurveOrEdgeCurve>(true); } void Ifc4x3::IfcConnectionCurveGeometry::setCurveOnRelatingElement(::Ifc4x3::IfcCurveOrEdgeCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3::IfcCurveOrEdgeCurve* Ifc4x3::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcCurveOrEdgeCurve>(true); } +::Ifc4x3::IfcCurveOrEdgeCurve* Ifc4x3::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcCurveOrEdgeCurve>(true); } void Ifc4x3::IfcConnectionCurveGeometry::setCurveOnRelatedElement(::Ifc4x3::IfcCurveOrEdgeCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcConnectionCurveGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_types[206]); } const IfcParse::entity& Ifc4x3::IfcConnectionCurveGeometry::Class() { return *((IfcParse::entity*)IFC4X3_types[206]); } Ifc4x3::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x3::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc4x3::IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, ::Ifc4x3::IfcCurveOrEdgeCurve* v2_CurveOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_CurveOnRelatingElement ? v1_CurveOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_CurveOnRelatedElement ? v2_CurveOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc4x3::IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, ::Ifc4x3::IfcCurveOrEdgeCurve* v2_CurveOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_CurveOnRelatingElement ? v1_CurveOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_CurveOnRelatedElement ? v2_CurveOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionGeometry @@ -9406,72 +9406,72 @@ Ifc4x3::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc4x3::IfcCurv const IfcParse::entity& Ifc4x3::IfcConnectionGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_types[207]); } const IfcParse::entity& Ifc4x3::IfcConnectionGeometry::Class() { return *((IfcParse::entity*)IFC4X3_types[207]); } Ifc4x3::IfcConnectionGeometry::IfcConnectionGeometry(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3::IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcConnectionPointEccentricity -boost::optional< double > Ifc4x3::IfcConnectionPointEccentricity::EccentricityInX() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3::IfcConnectionPointEccentricity::EccentricityInX() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3::IfcConnectionPointEccentricity::setEccentricityInX(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3::IfcConnectionPointEccentricity::EccentricityInY() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3::IfcConnectionPointEccentricity::EccentricityInY() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3::IfcConnectionPointEccentricity::setEccentricityInY(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3::IfcConnectionPointEccentricity::EccentricityInZ() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3::IfcConnectionPointEccentricity::EccentricityInZ() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3::IfcConnectionPointEccentricity::setEccentricityInZ(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3::IfcConnectionPointEccentricity::declaration() const { return *((IfcParse::entity*)IFC4X3_types[208]); } const IfcParse::entity& Ifc4x3::IfcConnectionPointEccentricity::Class() { return *((IfcParse::entity*)IFC4X3_types[208]); } Ifc4x3::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcEntityInstanceData&& e) : IfcConnectionPointGeometry(std::move(e)) { } -Ifc4x3::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(::Ifc4x3::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3::IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; populate_derived(); } +Ifc4x3::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(::Ifc4x3::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3::IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; populate_derived(); } // Function implementations for IfcConnectionPointGeometry -::Ifc4x3::IfcPointOrVertexPoint* Ifc4x3::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcPointOrVertexPoint>(true); } +::Ifc4x3::IfcPointOrVertexPoint* Ifc4x3::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcPointOrVertexPoint>(true); } void Ifc4x3::IfcConnectionPointGeometry::setPointOnRelatingElement(::Ifc4x3::IfcPointOrVertexPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3::IfcPointOrVertexPoint* Ifc4x3::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcPointOrVertexPoint>(true); } +::Ifc4x3::IfcPointOrVertexPoint* Ifc4x3::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcPointOrVertexPoint>(true); } void Ifc4x3::IfcConnectionPointGeometry::setPointOnRelatedElement(::Ifc4x3::IfcPointOrVertexPoint* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcConnectionPointGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_types[209]); } const IfcParse::entity& Ifc4x3::IfcConnectionPointGeometry::Class() { return *((IfcParse::entity*)IFC4X3_types[209]); } Ifc4x3::IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x3::IfcConnectionPointGeometry::IfcConnectionPointGeometry(::Ifc4x3::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3::IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcConnectionPointGeometry::IfcConnectionPointGeometry(::Ifc4x3::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3::IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionSurfaceGeometry -::Ifc4x3::IfcSurfaceOrFaceSurface* Ifc4x3::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcSurfaceOrFaceSurface>(true); } +::Ifc4x3::IfcSurfaceOrFaceSurface* Ifc4x3::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcSurfaceOrFaceSurface>(true); } void Ifc4x3::IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(::Ifc4x3::IfcSurfaceOrFaceSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3::IfcSurfaceOrFaceSurface* Ifc4x3::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcSurfaceOrFaceSurface>(true); } +::Ifc4x3::IfcSurfaceOrFaceSurface* Ifc4x3::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcSurfaceOrFaceSurface>(true); } void Ifc4x3::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(::Ifc4x3::IfcSurfaceOrFaceSurface* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcConnectionSurfaceGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_types[210]); } const IfcParse::entity& Ifc4x3::IfcConnectionSurfaceGeometry::Class() { return *((IfcParse::entity*)IFC4X3_types[210]); } Ifc4x3::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x3::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(::Ifc4x3::IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, ::Ifc4x3::IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SurfaceOnRelatingElement ? v1_SurfaceOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_SurfaceOnRelatedElement ? v2_SurfaceOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(::Ifc4x3::IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, ::Ifc4x3::IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SurfaceOnRelatingElement ? v1_SurfaceOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_SurfaceOnRelatedElement ? v2_SurfaceOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionVolumeGeometry -::Ifc4x3::IfcSolidOrShell* Ifc4x3::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcSolidOrShell>(true); } +::Ifc4x3::IfcSolidOrShell* Ifc4x3::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcSolidOrShell>(true); } void Ifc4x3::IfcConnectionVolumeGeometry::setVolumeOnRelatingElement(::Ifc4x3::IfcSolidOrShell* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3::IfcSolidOrShell* Ifc4x3::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcSolidOrShell>(true); } +::Ifc4x3::IfcSolidOrShell* Ifc4x3::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcSolidOrShell>(true); } void Ifc4x3::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(::Ifc4x3::IfcSolidOrShell* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcConnectionVolumeGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_types[212]); } const IfcParse::entity& Ifc4x3::IfcConnectionVolumeGeometry::Class() { return *((IfcParse::entity*)IFC4X3_types[212]); } Ifc4x3::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x3::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(::Ifc4x3::IfcSolidOrShell* v1_VolumeOnRelatingElement, ::Ifc4x3::IfcSolidOrShell* v2_VolumeOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_VolumeOnRelatingElement ? v1_VolumeOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_VolumeOnRelatedElement ? v2_VolumeOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(::Ifc4x3::IfcSolidOrShell* v1_VolumeOnRelatingElement, ::Ifc4x3::IfcSolidOrShell* v2_VolumeOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_VolumeOnRelatingElement ? v1_VolumeOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_VolumeOnRelatedElement ? v2_VolumeOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConstraint -std::string Ifc4x3::IfcConstraint::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3::IfcConstraint::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcConstraint::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3::IfcConstraint::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3::IfcConstraint::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcConstraint::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3::IfcConstraintEnum::Value Ifc4x3::IfcConstraint::ConstraintGrade() const { return ::Ifc4x3::IfcConstraintEnum::FromString(data_.get_attribute_value(2)); } +::Ifc4x3::IfcConstraintEnum::Value Ifc4x3::IfcConstraint::ConstraintGrade() const { return ::Ifc4x3::IfcConstraintEnum::FromString(get_attribute_value(2)); } void Ifc4x3::IfcConstraint::setConstraintGrade(::Ifc4x3::IfcConstraintEnum::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3::IfcConstraintEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x3::IfcConstraint::ConstraintSource() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3::IfcConstraint::ConstraintSource() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3::IfcActorSelect* Ifc4x3::IfcConstraint::CreatingActor() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcActorSelect>(true); } +::Ifc4x3::IfcActorSelect* Ifc4x3::IfcConstraint::CreatingActor() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcActorSelect>(true); } void Ifc4x3::IfcConstraint::setCreatingActor(::Ifc4x3::IfcActorSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -boost::optional< std::string > Ifc4x3::IfcConstraint::CreationTime() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3::IfcConstraint::CreationTime() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3::IfcConstraint::setCreationTime(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3::IfcConstraint::UserDefinedGrade() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3::IfcConstraint::UserDefinedGrade() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3::IfcExternalReferenceRelationship::list::ptr Ifc4x3::IfcConstraint::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[430], 3)->as(); } @@ -9480,104 +9480,104 @@ void Ifc4x3::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v const IfcParse::entity& Ifc4x3::IfcConstraint::declaration() const { return *((IfcParse::entity*)IFC4X3_types[213]); } const IfcParse::entity& Ifc4x3::IfcConstraint::Class() { return *((IfcParse::entity*)IFC4X3_types[213]); } Ifc4x3::IfcConstraint::IfcConstraint(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; populate_derived(); } +Ifc4x3::IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; populate_derived(); } // Function implementations for IfcConstructionEquipmentResource -boost::optional< ::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x3::IfcConstructionEquipmentResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x3::IfcConstructionEquipmentResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3::IfcConstructionEquipmentResource::setPredefinedType(boost::optional< ::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3::IfcConstructionEquipmentResource::declaration() const { return *((IfcParse::entity*)IFC4X3_types[215]); } const IfcParse::entity& Ifc4x3::IfcConstructionEquipmentResource::Class() { return *((IfcParse::entity*)IFC4X3_types[215]); } Ifc4x3::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConstructionEquipmentResourceType -::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3::IfcConstructionEquipmentResourceType::setPredefinedType(::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3::IfcConstructionEquipmentResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[216]); } const IfcParse::entity& Ifc4x3::IfcConstructionEquipmentResourceType::Class() { return *((IfcParse::entity*)IFC4X3_types[216]); } Ifc4x3::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcConstructionMaterialResource -boost::optional< ::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x3::IfcConstructionMaterialResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x3::IfcConstructionMaterialResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3::IfcConstructionMaterialResource::setPredefinedType(boost::optional< ::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3::IfcConstructionMaterialResource::declaration() const { return *((IfcParse::entity*)IFC4X3_types[218]); } const IfcParse::entity& Ifc4x3::IfcConstructionMaterialResource::Class() { return *((IfcParse::entity*)IFC4X3_types[218]); } Ifc4x3::IfcConstructionMaterialResource::IfcConstructionMaterialResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3::IfcConstructionMaterialResource::IfcConstructionMaterialResource(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcConstructionMaterialResource::IfcConstructionMaterialResource(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConstructionMaterialResourceType -::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3::IfcConstructionMaterialResourceType::setPredefinedType(::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3::IfcConstructionMaterialResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[219]); } const IfcParse::entity& Ifc4x3::IfcConstructionMaterialResourceType::Class() { return *((IfcParse::entity*)IFC4X3_types[219]); } Ifc4x3::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcConstructionProductResource -boost::optional< ::Ifc4x3::IfcConstructionProductResourceTypeEnum::Value > Ifc4x3::IfcConstructionProductResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcConstructionProductResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3::IfcConstructionProductResourceTypeEnum::Value > Ifc4x3::IfcConstructionProductResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3::IfcConstructionProductResource::setPredefinedType(boost::optional< ::Ifc4x3::IfcConstructionProductResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3::IfcConstructionProductResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3::IfcConstructionProductResource::declaration() const { return *((IfcParse::entity*)IFC4X3_types[221]); } const IfcParse::entity& Ifc4x3::IfcConstructionProductResource::Class() { return *((IfcParse::entity*)IFC4X3_types[221]); } Ifc4x3::IfcConstructionProductResource::IfcConstructionProductResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3::IfcConstructionProductResource::IfcConstructionProductResource(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcConstructionProductResource::IfcConstructionProductResource(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConstructionProductResourceType -::Ifc4x3::IfcConstructionProductResourceTypeEnum::Value Ifc4x3::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4x3::IfcConstructionProductResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3::IfcConstructionProductResourceTypeEnum::Value Ifc4x3::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4x3::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3::IfcConstructionProductResourceType::setPredefinedType(::Ifc4x3::IfcConstructionProductResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3::IfcConstructionProductResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3::IfcConstructionProductResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[222]); } const IfcParse::entity& Ifc4x3::IfcConstructionProductResourceType::Class() { return *((IfcParse::entity*)IFC4X3_types[222]); } Ifc4x3::IfcConstructionProductResourceType::IfcConstructionProductResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3::IfcConstructionProductResourceType::IfcConstructionProductResourceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcConstructionProductResourceType::IfcConstructionProductResourceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcConstructionResource -::Ifc4x3::IfcResourceTime* Ifc4x3::IfcConstructionResource::Usage() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3::IfcResourceTime>(true); } +::Ifc4x3::IfcResourceTime* Ifc4x3::IfcConstructionResource::Usage() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3::IfcResourceTime>(true); } void Ifc4x3::IfcConstructionResource::setUsage(::Ifc4x3::IfcResourceTime* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > Ifc4x3::IfcConstructionResource::BaseCosts() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3::IfcAppliedValue >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > Ifc4x3::IfcConstructionResource::BaseCosts() const { if(get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3::IfcAppliedValue >(); } void Ifc4x3::IfcConstructionResource::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > v) { if (v) {set_attribute_value(8, (*v)->generalize());} else {unset_attribute_value(8);} } -::Ifc4x3::IfcPhysicalQuantity* Ifc4x3::IfcConstructionResource::BaseQuantity() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3::IfcPhysicalQuantity>(true); } +::Ifc4x3::IfcPhysicalQuantity* Ifc4x3::IfcConstructionResource::BaseQuantity() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3::IfcPhysicalQuantity>(true); } void Ifc4x3::IfcConstructionResource::setBaseQuantity(::Ifc4x3::IfcPhysicalQuantity* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcConstructionResource::declaration() const { return *((IfcParse::entity*)IFC4X3_types[224]); } const IfcParse::entity& Ifc4x3::IfcConstructionResource::Class() { return *((IfcParse::entity*)IFC4X3_types[224]); } Ifc4x3::IfcConstructionResource::IfcConstructionResource(IfcEntityInstanceData&& e) : IfcResource(std::move(e)) { } -Ifc4x3::IfcConstructionResource::IfcConstructionResource(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity* v10_BaseQuantity) : IfcResource(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcConstructionResource::IfcConstructionResource(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity* v10_BaseQuantity) : IfcResource(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConstructionResourceType -boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > Ifc4x3::IfcConstructionResourceType::BaseCosts() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3::IfcAppliedValue >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > Ifc4x3::IfcConstructionResourceType::BaseCosts() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3::IfcAppliedValue >(); } void Ifc4x3::IfcConstructionResourceType::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -::Ifc4x3::IfcPhysicalQuantity* Ifc4x3::IfcConstructionResourceType::BaseQuantity() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3::IfcPhysicalQuantity>(true); } +::Ifc4x3::IfcPhysicalQuantity* Ifc4x3::IfcConstructionResourceType::BaseQuantity() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3::IfcPhysicalQuantity>(true); } void Ifc4x3::IfcConstructionResourceType::setBaseQuantity(::Ifc4x3::IfcPhysicalQuantity* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3::IfcConstructionResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[225]); } const IfcParse::entity& Ifc4x3::IfcConstructionResourceType::Class() { return *((IfcParse::entity*)IFC4X3_types[225]); } Ifc4x3::IfcConstructionResourceType::IfcConstructionResourceType(IfcEntityInstanceData&& e) : IfcTypeResource(std::move(e)) { } -Ifc4x3::IfcConstructionResourceType::IfcConstructionResourceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity* v11_BaseQuantity) : IfcTypeResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcConstructionResourceType::IfcConstructionResourceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity* v11_BaseQuantity) : IfcTypeResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcContext -boost::optional< std::string > Ifc4x3::IfcContext::ObjectType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3::IfcContext::ObjectType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcContext::setObjectType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3::IfcContext::LongName() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3::IfcContext::LongName() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3::IfcContext::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3::IfcContext::Phase() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3::IfcContext::Phase() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3::IfcContext::setPhase(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationContext >::ptr > Ifc4x3::IfcContext::RepresentationContexts() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3::IfcRepresentationContext >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationContext >::ptr > Ifc4x3::IfcContext::RepresentationContexts() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3::IfcRepresentationContext >(); } void Ifc4x3::IfcContext::setRepresentationContexts(boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationContext >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -::Ifc4x3::IfcUnitAssignment* Ifc4x3::IfcContext::UnitsInContext() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3::IfcUnitAssignment>(true); } +::Ifc4x3::IfcUnitAssignment* Ifc4x3::IfcContext::UnitsInContext() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3::IfcUnitAssignment>(true); } void Ifc4x3::IfcContext::setUnitsInContext(::Ifc4x3::IfcUnitAssignment* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } ::Ifc4x3::IfcRelDefinesByProperties::list::ptr Ifc4x3::IfcContext::IsDefinedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[934], 4)->as(); } @@ -9586,10 +9586,10 @@ void Ifc4x3::IfcContext::setUnitsInContext(::Ifc4x3::IfcUnitAssignment* v) { set const IfcParse::entity& Ifc4x3::IfcContext::declaration() const { return *((IfcParse::entity*)IFC4X3_types[226]); } const IfcParse::entity& Ifc4x3::IfcContext::Class() { return *((IfcParse::entity*)IFC4X3_types[226]); } Ifc4x3::IfcContext::IfcContext(IfcEntityInstanceData&& e) : IfcObjectDefinition(std::move(e)) { } -Ifc4x3::IfcContext::IfcContext(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3::IfcUnitAssignment* v9_UnitsInContext) : IfcObjectDefinition(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcContext::IfcContext(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3::IfcUnitAssignment* v9_UnitsInContext) : IfcObjectDefinition(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcContextDependentUnit -std::string Ifc4x3::IfcContextDependentUnit::Name() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3::IfcContextDependentUnit::Name() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3::IfcContextDependentUnit::setName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } ::Ifc4x3::IfcExternalReferenceRelationship::list::ptr Ifc4x3::IfcContextDependentUnit::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[430], 3)->as(); } @@ -9597,10 +9597,10 @@ void Ifc4x3::IfcContextDependentUnit::setName(std::string v) { set_attribute_val const IfcParse::entity& Ifc4x3::IfcContextDependentUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_types[228]); } const IfcParse::entity& Ifc4x3::IfcContextDependentUnit::Class() { return *((IfcParse::entity*)IFC4X3_types[228]); } Ifc4x3::IfcContextDependentUnit::IfcContextDependentUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -Ifc4x3::IfcContextDependentUnit::IfcContextDependentUnit(::Ifc4x3::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) : IfcNamedUnit(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; populate_derived(); } +Ifc4x3::IfcContextDependentUnit::IfcContextDependentUnit(::Ifc4x3::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) : IfcNamedUnit(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; populate_derived(); } // Function implementations for IfcControl -boost::optional< std::string > Ifc4x3::IfcControl::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3::IfcControl::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3::IfcControl::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x3::IfcRelAssignsToControl::list::ptr Ifc4x3::IfcControl::Controls() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[903], 6)->as(); } @@ -9608,32 +9608,32 @@ void Ifc4x3::IfcControl::setIdentification(boost::optional< std::string > v) { i const IfcParse::entity& Ifc4x3::IfcControl::declaration() const { return *((IfcParse::entity*)IFC4X3_types[229]); } const IfcParse::entity& Ifc4x3::IfcControl::Class() { return *((IfcParse::entity*)IFC4X3_types[229]); } Ifc4x3::IfcControl::IfcControl(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3::IfcControl::IfcControl(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification) : IfcObject(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }; populate_derived(); } +Ifc4x3::IfcControl::IfcControl(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }; populate_derived(); } // Function implementations for IfcController -boost::optional< ::Ifc4x3::IfcControllerTypeEnum::Value > Ifc4x3::IfcController::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcControllerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcControllerTypeEnum::Value > Ifc4x3::IfcController::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcControllerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcController::setPredefinedType(boost::optional< ::Ifc4x3::IfcControllerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcControllerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcController::declaration() const { return *((IfcParse::entity*)IFC4X3_types[230]); } const IfcParse::entity& Ifc4x3::IfcController::Class() { return *((IfcParse::entity*)IFC4X3_types[230]); } Ifc4x3::IfcController::IfcController(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3::IfcController::IfcController(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcControllerTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcController::IfcController(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcControllerTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcControllerType -::Ifc4x3::IfcControllerTypeEnum::Value Ifc4x3::IfcControllerType::PredefinedType() const { return ::Ifc4x3::IfcControllerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcControllerTypeEnum::Value Ifc4x3::IfcControllerType::PredefinedType() const { return ::Ifc4x3::IfcControllerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcControllerType::setPredefinedType(::Ifc4x3::IfcControllerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcControllerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcControllerType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[231]); } const IfcParse::entity& Ifc4x3::IfcControllerType::Class() { return *((IfcParse::entity*)IFC4X3_types[231]); } Ifc4x3::IfcControllerType::IfcControllerType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3::IfcControllerType::IfcControllerType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcControllerTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcControllerType::IfcControllerType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcControllerTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcConversionBasedUnit -std::string Ifc4x3::IfcConversionBasedUnit::Name() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3::IfcConversionBasedUnit::Name() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3::IfcConversionBasedUnit::setName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3::IfcMeasureWithUnit* Ifc4x3::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcMeasureWithUnit>(true); } +::Ifc4x3::IfcMeasureWithUnit* Ifc4x3::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcMeasureWithUnit>(true); } void Ifc4x3::IfcConversionBasedUnit::setConversionFactor(::Ifc4x3::IfcMeasureWithUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } ::Ifc4x3::IfcExternalReferenceRelationship::list::ptr Ifc4x3::IfcConversionBasedUnit::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[430], 3)->as(); } @@ -9641,98 +9641,98 @@ void Ifc4x3::IfcConversionBasedUnit::setConversionFactor(::Ifc4x3::IfcMeasureWit const IfcParse::entity& Ifc4x3::IfcConversionBasedUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_types[233]); } const IfcParse::entity& Ifc4x3::IfcConversionBasedUnit::Class() { return *((IfcParse::entity*)IFC4X3_types[233]); } Ifc4x3::IfcConversionBasedUnit::IfcConversionBasedUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -Ifc4x3::IfcConversionBasedUnit::IfcConversionBasedUnit(::Ifc4x3::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3::IfcMeasureWithUnit* v4_ConversionFactor) : IfcNamedUnit(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcConversionBasedUnit::IfcConversionBasedUnit(::Ifc4x3::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3::IfcMeasureWithUnit* v4_ConversionFactor) : IfcNamedUnit(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConversionBasedUnitWithOffset -double Ifc4x3::IfcConversionBasedUnitWithOffset::ConversionOffset() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3::IfcConversionBasedUnitWithOffset::ConversionOffset() const { double v = get_attribute_value(4); return v; } void Ifc4x3::IfcConversionBasedUnitWithOffset::setConversionOffset(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3::IfcConversionBasedUnitWithOffset::declaration() const { return *((IfcParse::entity*)IFC4X3_types[234]); } const IfcParse::entity& Ifc4x3::IfcConversionBasedUnitWithOffset::Class() { return *((IfcParse::entity*)IFC4X3_types[234]); } Ifc4x3::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(IfcEntityInstanceData&& e) : IfcConversionBasedUnit(std::move(e)) { } -Ifc4x3::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(::Ifc4x3::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3::IfcMeasureWithUnit* v4_ConversionFactor, double v5_ConversionOffset) : IfcConversionBasedUnit(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ConversionOffset));; populate_derived(); } +Ifc4x3::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(::Ifc4x3::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3::IfcMeasureWithUnit* v4_ConversionFactor, double v5_ConversionOffset) : IfcConversionBasedUnit(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ConversionOffset));; populate_derived(); } // Function implementations for IfcConveyorSegment -boost::optional< ::Ifc4x3::IfcConveyorSegmentTypeEnum::Value > Ifc4x3::IfcConveyorSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcConveyorSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcConveyorSegmentTypeEnum::Value > Ifc4x3::IfcConveyorSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcConveyorSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcConveyorSegment::setPredefinedType(boost::optional< ::Ifc4x3::IfcConveyorSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcConveyorSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcConveyorSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_types[235]); } const IfcParse::entity& Ifc4x3::IfcConveyorSegment::Class() { return *((IfcParse::entity*)IFC4X3_types[235]); } Ifc4x3::IfcConveyorSegment::IfcConveyorSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x3::IfcConveyorSegment::IfcConveyorSegment(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcConveyorSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcConveyorSegment::IfcConveyorSegment(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcConveyorSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConveyorSegmentType -::Ifc4x3::IfcConveyorSegmentTypeEnum::Value Ifc4x3::IfcConveyorSegmentType::PredefinedType() const { return ::Ifc4x3::IfcConveyorSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcConveyorSegmentTypeEnum::Value Ifc4x3::IfcConveyorSegmentType::PredefinedType() const { return ::Ifc4x3::IfcConveyorSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcConveyorSegmentType::setPredefinedType(::Ifc4x3::IfcConveyorSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcConveyorSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcConveyorSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[236]); } const IfcParse::entity& Ifc4x3::IfcConveyorSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_types[236]); } Ifc4x3::IfcConveyorSegmentType::IfcConveyorSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x3::IfcConveyorSegmentType::IfcConveyorSegmentType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcConveyorSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcConveyorSegmentType::IfcConveyorSegmentType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcConveyorSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCooledBeam -boost::optional< ::Ifc4x3::IfcCooledBeamTypeEnum::Value > Ifc4x3::IfcCooledBeam::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcCooledBeamTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcCooledBeamTypeEnum::Value > Ifc4x3::IfcCooledBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcCooledBeamTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcCooledBeam::setPredefinedType(boost::optional< ::Ifc4x3::IfcCooledBeamTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcCooledBeamTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcCooledBeam::declaration() const { return *((IfcParse::entity*)IFC4X3_types[238]); } const IfcParse::entity& Ifc4x3::IfcCooledBeam::Class() { return *((IfcParse::entity*)IFC4X3_types[238]); } Ifc4x3::IfcCooledBeam::IfcCooledBeam(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3::IfcCooledBeam::IfcCooledBeam(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcCooledBeam::IfcCooledBeam(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCooledBeamType -::Ifc4x3::IfcCooledBeamTypeEnum::Value Ifc4x3::IfcCooledBeamType::PredefinedType() const { return ::Ifc4x3::IfcCooledBeamTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcCooledBeamTypeEnum::Value Ifc4x3::IfcCooledBeamType::PredefinedType() const { return ::Ifc4x3::IfcCooledBeamTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcCooledBeamType::setPredefinedType(::Ifc4x3::IfcCooledBeamTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcCooledBeamTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcCooledBeamType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[239]); } const IfcParse::entity& Ifc4x3::IfcCooledBeamType::Class() { return *((IfcParse::entity*)IFC4X3_types[239]); } Ifc4x3::IfcCooledBeamType::IfcCooledBeamType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3::IfcCooledBeamType::IfcCooledBeamType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCooledBeamTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcCooledBeamType::IfcCooledBeamType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCooledBeamTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCoolingTower -boost::optional< ::Ifc4x3::IfcCoolingTowerTypeEnum::Value > Ifc4x3::IfcCoolingTower::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcCoolingTowerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcCoolingTowerTypeEnum::Value > Ifc4x3::IfcCoolingTower::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcCoolingTower::setPredefinedType(boost::optional< ::Ifc4x3::IfcCoolingTowerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcCoolingTowerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcCoolingTower::declaration() const { return *((IfcParse::entity*)IFC4X3_types[241]); } const IfcParse::entity& Ifc4x3::IfcCoolingTower::Class() { return *((IfcParse::entity*)IFC4X3_types[241]); } Ifc4x3::IfcCoolingTower::IfcCoolingTower(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3::IfcCoolingTower::IfcCoolingTower(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcCoolingTower::IfcCoolingTower(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCoolingTowerType -::Ifc4x3::IfcCoolingTowerTypeEnum::Value Ifc4x3::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4x3::IfcCoolingTowerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcCoolingTowerTypeEnum::Value Ifc4x3::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4x3::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcCoolingTowerType::setPredefinedType(::Ifc4x3::IfcCoolingTowerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcCoolingTowerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcCoolingTowerType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[242]); } const IfcParse::entity& Ifc4x3::IfcCoolingTowerType::Class() { return *((IfcParse::entity*)IFC4X3_types[242]); } Ifc4x3::IfcCoolingTowerType::IfcCoolingTowerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3::IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCoordinateOperation -::Ifc4x3::IfcCoordinateReferenceSystemSelect* Ifc4x3::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcCoordinateReferenceSystemSelect>(true); } +::Ifc4x3::IfcCoordinateReferenceSystemSelect* Ifc4x3::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcCoordinateReferenceSystemSelect>(true); } void Ifc4x3::IfcCoordinateOperation::setSourceCRS(::Ifc4x3::IfcCoordinateReferenceSystemSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3::IfcCoordinateReferenceSystem* Ifc4x3::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcCoordinateReferenceSystem>(true); } +::Ifc4x3::IfcCoordinateReferenceSystem* Ifc4x3::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcCoordinateReferenceSystem>(true); } void Ifc4x3::IfcCoordinateOperation::setTargetCRS(::Ifc4x3::IfcCoordinateReferenceSystem* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcCoordinateOperation::declaration() const { return *((IfcParse::entity*)IFC4X3_types[244]); } const IfcParse::entity& Ifc4x3::IfcCoordinateOperation::Class() { return *((IfcParse::entity*)IFC4X3_types[244]); } Ifc4x3::IfcCoordinateOperation::IfcCoordinateOperation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcCoordinateOperation::IfcCoordinateOperation(::Ifc4x3::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3::IfcCoordinateReferenceSystem* v2_TargetCRS) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcCoordinateOperation::IfcCoordinateOperation(::Ifc4x3::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3::IfcCoordinateReferenceSystem* v2_TargetCRS) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCoordinateReferenceSystem -std::string Ifc4x3::IfcCoordinateReferenceSystem::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3::IfcCoordinateReferenceSystem::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcCoordinateReferenceSystem::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3::IfcCoordinateReferenceSystem::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3::IfcCoordinateReferenceSystem::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcCoordinateReferenceSystem::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3::IfcCoordinateReferenceSystem::GeodeticDatum() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3::IfcCoordinateReferenceSystem::GeodeticDatum() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3::IfcCoordinateReferenceSystem::setGeodeticDatum(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3::IfcCoordinateReferenceSystem::VerticalDatum() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3::IfcCoordinateReferenceSystem::VerticalDatum() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3::IfcCoordinateReferenceSystem::setVerticalDatum(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } ::Ifc4x3::IfcCoordinateOperation::list::ptr Ifc4x3::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[244], 0)->as(); } @@ -9740,49 +9740,49 @@ void Ifc4x3::IfcCoordinateReferenceSystem::setVerticalDatum(boost::optional< std const IfcParse::entity& Ifc4x3::IfcCoordinateReferenceSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_types[245]); } const IfcParse::entity& Ifc4x3::IfcCoordinateReferenceSystem::Class() { return *((IfcParse::entity*)IFC4X3_types[245]); } Ifc4x3::IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::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(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); }; populate_derived(); } +Ifc4x3::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(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); }; populate_derived(); } // Function implementations for IfcCosineSpiral -double Ifc4x3::IfcCosineSpiral::CosineTerm() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3::IfcCosineSpiral::CosineTerm() const { double v = get_attribute_value(1); return v; } void Ifc4x3::IfcCosineSpiral::setCosineTerm(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3::IfcCosineSpiral::ConstantTerm() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3::IfcCosineSpiral::ConstantTerm() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3::IfcCosineSpiral::setConstantTerm(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3::IfcCosineSpiral::declaration() const { return *((IfcParse::entity*)IFC4X3_types[247]); } const IfcParse::entity& Ifc4x3::IfcCosineSpiral::Class() { return *((IfcParse::entity*)IFC4X3_types[247]); } Ifc4x3::IfcCosineSpiral::IfcCosineSpiral(IfcEntityInstanceData&& e) : IfcSpiral(std::move(e)) { } -Ifc4x3::IfcCosineSpiral::IfcCosineSpiral(::Ifc4x3::IfcAxis2Placement* v1_Position, double v2_CosineTerm, boost::optional< double > v3_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CosineTerm)); if (v3_ConstantTerm) {set_attribute_value(2, (*v3_ConstantTerm)); }; populate_derived(); } +Ifc4x3::IfcCosineSpiral::IfcCosineSpiral(::Ifc4x3::IfcAxis2Placement* v1_Position, double v2_CosineTerm, boost::optional< double > v3_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CosineTerm)); if (v3_ConstantTerm) {set_attribute_value(2, (*v3_ConstantTerm)); }; populate_derived(); } // Function implementations for IfcCostItem -boost::optional< ::Ifc4x3::IfcCostItemTypeEnum::Value > Ifc4x3::IfcCostItem::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3::IfcCostItemTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3::IfcCostItemTypeEnum::Value > Ifc4x3::IfcCostItem::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3::IfcCostItemTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3::IfcCostItem::setPredefinedType(boost::optional< ::Ifc4x3::IfcCostItemTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3::IfcCostItemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3::IfcCostValue >::ptr > Ifc4x3::IfcCostItem::CostValues() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3::IfcCostValue >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcCostValue >::ptr > Ifc4x3::IfcCostItem::CostValues() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3::IfcCostValue >(); } void Ifc4x3::IfcCostItem::setCostValues(boost::optional< aggregate_of< ::Ifc4x3::IfcCostValue >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< aggregate_of< ::Ifc4x3::IfcPhysicalQuantity >::ptr > Ifc4x3::IfcCostItem::CostQuantities() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3::IfcPhysicalQuantity >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcPhysicalQuantity >::ptr > Ifc4x3::IfcCostItem::CostQuantities() const { if(get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3::IfcPhysicalQuantity >(); } void Ifc4x3::IfcCostItem::setCostQuantities(boost::optional< aggregate_of< ::Ifc4x3::IfcPhysicalQuantity >::ptr > v) { if (v) {set_attribute_value(8, (*v)->generalize());} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcCostItem::declaration() const { return *((IfcParse::entity*)IFC4X3_types[248]); } const IfcParse::entity& Ifc4x3::IfcCostItem::Class() { return *((IfcParse::entity*)IFC4X3_types[248]); } Ifc4x3::IfcCostItem::IfcCostItem(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3::IfcCostItem::IfcCostItem(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3::IfcCostItemTypeEnum::Value > v7_PredefinedType, boost::optional< aggregate_of< ::Ifc4x3::IfcCostValue >::ptr > v8_CostValues, boost::optional< aggregate_of< ::Ifc4x3::IfcPhysicalQuantity >::ptr > v9_CostQuantities) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, (*v8_CostValues)->generalize()); } if (v9_CostQuantities) {set_attribute_value(8, (*v9_CostQuantities)->generalize()); }; populate_derived(); } +Ifc4x3::IfcCostItem::IfcCostItem(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3::IfcCostItemTypeEnum::Value > v7_PredefinedType, boost::optional< aggregate_of< ::Ifc4x3::IfcCostValue >::ptr > v8_CostValues, boost::optional< aggregate_of< ::Ifc4x3::IfcPhysicalQuantity >::ptr > v9_CostQuantities) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, (*v8_CostValues)->generalize()); } if (v9_CostQuantities) {set_attribute_value(8, (*v9_CostQuantities)->generalize()); }; populate_derived(); } // Function implementations for IfcCostSchedule -boost::optional< ::Ifc4x3::IfcCostScheduleTypeEnum::Value > Ifc4x3::IfcCostSchedule::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3::IfcCostScheduleTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3::IfcCostScheduleTypeEnum::Value > Ifc4x3::IfcCostSchedule::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3::IfcCostScheduleTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3::IfcCostSchedule::setPredefinedType(boost::optional< ::Ifc4x3::IfcCostScheduleTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3::IfcCostScheduleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3::IfcCostSchedule::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3::IfcCostSchedule::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3::IfcCostSchedule::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3::IfcCostSchedule::SubmittedOn() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3::IfcCostSchedule::SubmittedOn() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3::IfcCostSchedule::setSubmittedOn(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3::IfcCostSchedule::UpdateDate() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3::IfcCostSchedule::UpdateDate() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3::IfcCostSchedule::setUpdateDate(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3::IfcCostSchedule::declaration() const { return *((IfcParse::entity*)IFC4X3_types[250]); } const IfcParse::entity& Ifc4x3::IfcCostSchedule::Class() { return *((IfcParse::entity*)IFC4X3_types[250]); } Ifc4x3::IfcCostSchedule::IfcCostSchedule(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_SubmittedOn, boost::optional< std::string > v10_UpdateDate) : IfcControl(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); }; populate_derived(); } +Ifc4x3::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_SubmittedOn, boost::optional< std::string > v10_UpdateDate) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); }; populate_derived(); } // Function implementations for IfcCostValue @@ -9790,30 +9790,30 @@ Ifc4x3::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc4x3::IfcO const IfcParse::entity& Ifc4x3::IfcCostValue::declaration() const { return *((IfcParse::entity*)IFC4X3_types[252]); } const IfcParse::entity& Ifc4x3::IfcCostValue::Class() { return *((IfcParse::entity*)IFC4X3_types[252]); } Ifc4x3::IfcCostValue::IfcCostValue(IfcEntityInstanceData&& e) : IfcAppliedValue(std::move(e)) { } -Ifc4x3::IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3::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::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > v10_Components) : IfcAppliedValue(IfcEntityInstanceData(storage_t(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } +Ifc4x3::IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3::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::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > v10_Components) : IfcAppliedValue(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } // Function implementations for IfcCourse -boost::optional< ::Ifc4x3::IfcCourseTypeEnum::Value > Ifc4x3::IfcCourse::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcCourseTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcCourseTypeEnum::Value > Ifc4x3::IfcCourse::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcCourseTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcCourse::setPredefinedType(boost::optional< ::Ifc4x3::IfcCourseTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcCourseTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcCourse::declaration() const { return *((IfcParse::entity*)IFC4X3_types[254]); } const IfcParse::entity& Ifc4x3::IfcCourse::Class() { return *((IfcParse::entity*)IFC4X3_types[254]); } Ifc4x3::IfcCourse::IfcCourse(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3::IfcCourse::IfcCourse(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcCourseTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcCourseTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcCourse::IfcCourse(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcCourseTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcCourseTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCourseType -::Ifc4x3::IfcCourseTypeEnum::Value Ifc4x3::IfcCourseType::PredefinedType() const { return ::Ifc4x3::IfcCourseTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcCourseTypeEnum::Value Ifc4x3::IfcCourseType::PredefinedType() const { return ::Ifc4x3::IfcCourseTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcCourseType::setPredefinedType(::Ifc4x3::IfcCourseTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcCourseTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcCourseType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[255]); } const IfcParse::entity& Ifc4x3::IfcCourseType::Class() { return *((IfcParse::entity*)IFC4X3_types[255]); } Ifc4x3::IfcCourseType::IfcCourseType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3::IfcCourseType::IfcCourseType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCourseTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcCourseTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcCourseType::IfcCourseType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCourseTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcCourseTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCovering -boost::optional< ::Ifc4x3::IfcCoveringTypeEnum::Value > Ifc4x3::IfcCovering::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcCoveringTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcCoveringTypeEnum::Value > Ifc4x3::IfcCovering::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcCoveringTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcCovering::setPredefinedType(boost::optional< ::Ifc4x3::IfcCoveringTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcCoveringTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x3::IfcRelCoversSpaces::list::ptr Ifc4x3::IfcCovering::CoversSpaces() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[929], 5)->as(); } @@ -9822,95 +9822,95 @@ void Ifc4x3::IfcCovering::setPredefinedType(boost::optional< ::Ifc4x3::IfcCoveri const IfcParse::entity& Ifc4x3::IfcCovering::declaration() const { return *((IfcParse::entity*)IFC4X3_types[257]); } const IfcParse::entity& Ifc4x3::IfcCovering::Class() { return *((IfcParse::entity*)IFC4X3_types[257]); } Ifc4x3::IfcCovering::IfcCovering(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3::IfcCovering::IfcCovering(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcCoveringTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcCovering::IfcCovering(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcCoveringTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCoveringType -::Ifc4x3::IfcCoveringTypeEnum::Value Ifc4x3::IfcCoveringType::PredefinedType() const { return ::Ifc4x3::IfcCoveringTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcCoveringTypeEnum::Value Ifc4x3::IfcCoveringType::PredefinedType() const { return ::Ifc4x3::IfcCoveringTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcCoveringType::setPredefinedType(::Ifc4x3::IfcCoveringTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcCoveringTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcCoveringType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[258]); } const IfcParse::entity& Ifc4x3::IfcCoveringType::Class() { return *((IfcParse::entity*)IFC4X3_types[258]); } Ifc4x3::IfcCoveringType::IfcCoveringType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3::IfcCoveringType::IfcCoveringType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCoveringTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcCoveringType::IfcCoveringType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCoveringTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCrewResource -boost::optional< ::Ifc4x3::IfcCrewResourceTypeEnum::Value > Ifc4x3::IfcCrewResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcCrewResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3::IfcCrewResourceTypeEnum::Value > Ifc4x3::IfcCrewResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcCrewResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3::IfcCrewResource::setPredefinedType(boost::optional< ::Ifc4x3::IfcCrewResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3::IfcCrewResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3::IfcCrewResource::declaration() const { return *((IfcParse::entity*)IFC4X3_types[260]); } const IfcParse::entity& Ifc4x3::IfcCrewResource::Class() { return *((IfcParse::entity*)IFC4X3_types[260]); } Ifc4x3::IfcCrewResource::IfcCrewResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3::IfcCrewResource::IfcCrewResource(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcCrewResource::IfcCrewResource(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCrewResourceType -::Ifc4x3::IfcCrewResourceTypeEnum::Value Ifc4x3::IfcCrewResourceType::PredefinedType() const { return ::Ifc4x3::IfcCrewResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3::IfcCrewResourceTypeEnum::Value Ifc4x3::IfcCrewResourceType::PredefinedType() const { return ::Ifc4x3::IfcCrewResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3::IfcCrewResourceType::setPredefinedType(::Ifc4x3::IfcCrewResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3::IfcCrewResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3::IfcCrewResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[261]); } const IfcParse::entity& Ifc4x3::IfcCrewResourceType::Class() { return *((IfcParse::entity*)IFC4X3_types[261]); } Ifc4x3::IfcCrewResourceType::IfcCrewResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3::IfcCrewResourceType::IfcCrewResourceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3::IfcCrewResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcCrewResourceType::IfcCrewResourceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3::IfcCrewResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcCsgPrimitive3D -::Ifc4x3::IfcAxis2Placement3D* Ifc4x3::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcAxis2Placement3D>(true); } +::Ifc4x3::IfcAxis2Placement3D* Ifc4x3::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcAxis2Placement3D>(true); } void Ifc4x3::IfcCsgPrimitive3D::setPosition(::Ifc4x3::IfcAxis2Placement3D* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3::IfcCsgPrimitive3D::declaration() const { return *((IfcParse::entity*)IFC4X3_types[263]); } const IfcParse::entity& Ifc4x3::IfcCsgPrimitive3D::Class() { return *((IfcParse::entity*)IFC4X3_types[263]); } Ifc4x3::IfcCsgPrimitive3D::IfcCsgPrimitive3D(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3::IfcCsgPrimitive3D::IfcCsgPrimitive3D(::Ifc4x3::IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcCsgPrimitive3D::IfcCsgPrimitive3D(::Ifc4x3::IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCsgSolid -::Ifc4x3::IfcCsgSelect* Ifc4x3::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcCsgSelect>(true); } +::Ifc4x3::IfcCsgSelect* Ifc4x3::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcCsgSelect>(true); } void Ifc4x3::IfcCsgSolid::setTreeRootExpression(::Ifc4x3::IfcCsgSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3::IfcCsgSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_types[265]); } const IfcParse::entity& Ifc4x3::IfcCsgSolid::Class() { return *((IfcParse::entity*)IFC4X3_types[265]); } Ifc4x3::IfcCsgSolid::IfcCsgSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3::IfcCsgSolid::IfcCsgSolid(::Ifc4x3::IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_TreeRootExpression ? v1_TreeRootExpression->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcCsgSolid::IfcCsgSolid(::Ifc4x3::IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_TreeRootExpression ? v1_TreeRootExpression->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCurrencyRelationship -::Ifc4x3::IfcMonetaryUnit* Ifc4x3::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcMonetaryUnit>(true); } +::Ifc4x3::IfcMonetaryUnit* Ifc4x3::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcMonetaryUnit>(true); } void Ifc4x3::IfcCurrencyRelationship::setRelatingMonetaryUnit(::Ifc4x3::IfcMonetaryUnit* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3::IfcMonetaryUnit* Ifc4x3::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcMonetaryUnit>(true); } +::Ifc4x3::IfcMonetaryUnit* Ifc4x3::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcMonetaryUnit>(true); } void Ifc4x3::IfcCurrencyRelationship::setRelatedMonetaryUnit(::Ifc4x3::IfcMonetaryUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -double Ifc4x3::IfcCurrencyRelationship::ExchangeRate() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3::IfcCurrencyRelationship::ExchangeRate() const { double v = get_attribute_value(4); return v; } void Ifc4x3::IfcCurrencyRelationship::setExchangeRate(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< std::string > Ifc4x3::IfcCurrencyRelationship::RateDateTime() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3::IfcCurrencyRelationship::RateDateTime() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3::IfcCurrencyRelationship::setRateDateTime(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3::IfcLibraryInformation* Ifc4x3::IfcCurrencyRelationship::RateSource() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3::IfcLibraryInformation>(true); } +::Ifc4x3::IfcLibraryInformation* Ifc4x3::IfcCurrencyRelationship::RateSource() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3::IfcLibraryInformation>(true); } void Ifc4x3::IfcCurrencyRelationship::setRateSource(::Ifc4x3::IfcLibraryInformation* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3::IfcCurrencyRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_types[267]); } const IfcParse::entity& Ifc4x3::IfcCurrencyRelationship::Class() { return *((IfcParse::entity*)IFC4X3_types[267]); } Ifc4x3::IfcCurrencyRelationship::IfcCurrencyRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3::IfcCurrencyRelationship::IfcCurrencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcMonetaryUnit* v3_RelatingMonetaryUnit, ::Ifc4x3::IfcMonetaryUnit* v4_RelatedMonetaryUnit, double v5_ExchangeRate, boost::optional< std::string > v6_RateDateTime, ::Ifc4x3::IfcLibraryInformation* v7_RateSource) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMonetaryUnit ? v3_RelatingMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_RelatedMonetaryUnit ? v4_RelatedMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, v7_RateSource ? v7_RateSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcCurrencyRelationship::IfcCurrencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcMonetaryUnit* v3_RelatingMonetaryUnit, ::Ifc4x3::IfcMonetaryUnit* v4_RelatedMonetaryUnit, double v5_ExchangeRate, boost::optional< std::string > v6_RateDateTime, ::Ifc4x3::IfcLibraryInformation* v7_RateSource) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMonetaryUnit ? v3_RelatingMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_RelatedMonetaryUnit ? v4_RelatedMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, v7_RateSource ? v7_RateSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCurtainWall -boost::optional< ::Ifc4x3::IfcCurtainWallTypeEnum::Value > Ifc4x3::IfcCurtainWall::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcCurtainWallTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcCurtainWallTypeEnum::Value > Ifc4x3::IfcCurtainWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcCurtainWallTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcCurtainWall::setPredefinedType(boost::optional< ::Ifc4x3::IfcCurtainWallTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcCurtainWallTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcCurtainWall::declaration() const { return *((IfcParse::entity*)IFC4X3_types[268]); } const IfcParse::entity& Ifc4x3::IfcCurtainWall::Class() { return *((IfcParse::entity*)IFC4X3_types[268]); } Ifc4x3::IfcCurtainWall::IfcCurtainWall(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3::IfcCurtainWall::IfcCurtainWall(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcCurtainWall::IfcCurtainWall(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCurtainWallType -::Ifc4x3::IfcCurtainWallTypeEnum::Value Ifc4x3::IfcCurtainWallType::PredefinedType() const { return ::Ifc4x3::IfcCurtainWallTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcCurtainWallTypeEnum::Value Ifc4x3::IfcCurtainWallType::PredefinedType() const { return ::Ifc4x3::IfcCurtainWallTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcCurtainWallType::setPredefinedType(::Ifc4x3::IfcCurtainWallTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcCurtainWallTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcCurtainWallType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[269]); } const IfcParse::entity& Ifc4x3::IfcCurtainWallType::Class() { return *((IfcParse::entity*)IFC4X3_types[269]); } Ifc4x3::IfcCurtainWallType::IfcCurtainWallType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3::IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCurtainWallTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcCurtainWallTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCurve @@ -9918,135 +9918,135 @@ Ifc4x3::IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, ::Ifc4x3 const IfcParse::entity& Ifc4x3::IfcCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_types[272]); } const IfcParse::entity& Ifc4x3::IfcCurve::Class() { return *((IfcParse::entity*)IFC4X3_types[272]); } Ifc4x3::IfcCurve::IfcCurve(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3::IfcCurve::IfcCurve() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3::IfcCurve::IfcCurve() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcCurveBoundedPlane -::Ifc4x3::IfcPlane* Ifc4x3::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcPlane>(true); } +::Ifc4x3::IfcPlane* Ifc4x3::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcPlane>(true); } void Ifc4x3::IfcCurveBoundedPlane::setBasisSurface(::Ifc4x3::IfcPlane* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3::IfcCurve* Ifc4x3::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcCurve>(true); } +::Ifc4x3::IfcCurve* Ifc4x3::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcCurve>(true); } void Ifc4x3::IfcCurveBoundedPlane::setOuterBoundary(::Ifc4x3::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3::IfcCurve >::ptr Ifc4x3::IfcCurveBoundedPlane::InnerBoundaries() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3::IfcCurve >(); } +aggregate_of< ::Ifc4x3::IfcCurve >::ptr Ifc4x3::IfcCurveBoundedPlane::InnerBoundaries() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3::IfcCurve >(); } void Ifc4x3::IfcCurveBoundedPlane::setInnerBoundaries(aggregate_of< ::Ifc4x3::IfcCurve >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcCurveBoundedPlane::declaration() const { return *((IfcParse::entity*)IFC4X3_types[273]); } const IfcParse::entity& Ifc4x3::IfcCurveBoundedPlane::Class() { return *((IfcParse::entity*)IFC4X3_types[273]); } Ifc4x3::IfcCurveBoundedPlane::IfcCurveBoundedPlane(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x3::IfcCurveBoundedPlane::IfcCurveBoundedPlane(::Ifc4x3::IfcPlane* v1_BasisSurface, ::Ifc4x3::IfcCurve* v2_OuterBoundary, aggregate_of< ::Ifc4x3::IfcCurve >::ptr v3_InnerBoundaries) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OuterBoundary ? v2_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_InnerBoundaries)->generalize());; populate_derived(); } +Ifc4x3::IfcCurveBoundedPlane::IfcCurveBoundedPlane(::Ifc4x3::IfcPlane* v1_BasisSurface, ::Ifc4x3::IfcCurve* v2_OuterBoundary, aggregate_of< ::Ifc4x3::IfcCurve >::ptr v3_InnerBoundaries) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OuterBoundary ? v2_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_InnerBoundaries)->generalize());; populate_derived(); } // Function implementations for IfcCurveBoundedSurface -::Ifc4x3::IfcSurface* Ifc4x3::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcSurface>(true); } +::Ifc4x3::IfcSurface* Ifc4x3::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcSurface>(true); } void Ifc4x3::IfcCurveBoundedSurface::setBasisSurface(::Ifc4x3::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3::IfcBoundaryCurve >::ptr Ifc4x3::IfcCurveBoundedSurface::Boundaries() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3::IfcBoundaryCurve >(); } +aggregate_of< ::Ifc4x3::IfcBoundaryCurve >::ptr Ifc4x3::IfcCurveBoundedSurface::Boundaries() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3::IfcBoundaryCurve >(); } void Ifc4x3::IfcCurveBoundedSurface::setBoundaries(aggregate_of< ::Ifc4x3::IfcBoundaryCurve >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -bool Ifc4x3::IfcCurveBoundedSurface::ImplicitOuter() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x3::IfcCurveBoundedSurface::ImplicitOuter() const { bool v = get_attribute_value(2); return v; } void Ifc4x3::IfcCurveBoundedSurface::setImplicitOuter(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcCurveBoundedSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_types[274]); } const IfcParse::entity& Ifc4x3::IfcCurveBoundedSurface::Class() { return *((IfcParse::entity*)IFC4X3_types[274]); } Ifc4x3::IfcCurveBoundedSurface::IfcCurveBoundedSurface(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x3::IfcCurveBoundedSurface::IfcCurveBoundedSurface(::Ifc4x3::IfcSurface* v1_BasisSurface, aggregate_of< ::Ifc4x3::IfcBoundaryCurve >::ptr v2_Boundaries, bool v3_ImplicitOuter) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Boundaries)->generalize());set_attribute_value(2, (v3_ImplicitOuter));; populate_derived(); } +Ifc4x3::IfcCurveBoundedSurface::IfcCurveBoundedSurface(::Ifc4x3::IfcSurface* v1_BasisSurface, aggregate_of< ::Ifc4x3::IfcBoundaryCurve >::ptr v2_Boundaries, bool v3_ImplicitOuter) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Boundaries)->generalize());set_attribute_value(2, (v3_ImplicitOuter));; populate_derived(); } // Function implementations for IfcCurveSegment -::Ifc4x3::IfcPlacement* Ifc4x3::IfcCurveSegment::Placement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcPlacement>(true); } +::Ifc4x3::IfcPlacement* Ifc4x3::IfcCurveSegment::Placement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcPlacement>(true); } void Ifc4x3::IfcCurveSegment::setPlacement(::Ifc4x3::IfcPlacement* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3::IfcCurveMeasureSelect* Ifc4x3::IfcCurveSegment::SegmentStart() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcCurveMeasureSelect>(true); } +::Ifc4x3::IfcCurveMeasureSelect* Ifc4x3::IfcCurveSegment::SegmentStart() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcCurveMeasureSelect>(true); } void Ifc4x3::IfcCurveSegment::setSegmentStart(::Ifc4x3::IfcCurveMeasureSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3::IfcCurveMeasureSelect* Ifc4x3::IfcCurveSegment::SegmentLength() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcCurveMeasureSelect>(true); } +::Ifc4x3::IfcCurveMeasureSelect* Ifc4x3::IfcCurveSegment::SegmentLength() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcCurveMeasureSelect>(true); } void Ifc4x3::IfcCurveSegment::setSegmentLength(::Ifc4x3::IfcCurveMeasureSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3::IfcCurve* Ifc4x3::IfcCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcCurve>(true); } +::Ifc4x3::IfcCurve* Ifc4x3::IfcCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcCurve>(true); } void Ifc4x3::IfcCurveSegment::setParentCurve(::Ifc4x3::IfcCurve* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3::IfcCurveSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_types[280]); } const IfcParse::entity& Ifc4x3::IfcCurveSegment::Class() { return *((IfcParse::entity*)IFC4X3_types[280]); } Ifc4x3::IfcCurveSegment::IfcCurveSegment(IfcEntityInstanceData&& e) : IfcSegment(std::move(e)) { } -Ifc4x3::IfcCurveSegment::IfcCurveSegment(::Ifc4x3::IfcTransitionCode::Value v1_Transition, ::Ifc4x3::IfcPlacement* v2_Placement, ::Ifc4x3::IfcCurveMeasureSelect* v3_SegmentStart, ::Ifc4x3::IfcCurveMeasureSelect* v4_SegmentLength, ::Ifc4x3::IfcCurve* v5_ParentCurve) : IfcSegment(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SegmentStart ? v3_SegmentStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_SegmentLength ? v4_SegmentLength->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ParentCurve ? v5_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcCurveSegment::IfcCurveSegment(::Ifc4x3::IfcTransitionCode::Value v1_Transition, ::Ifc4x3::IfcPlacement* v2_Placement, ::Ifc4x3::IfcCurveMeasureSelect* v3_SegmentStart, ::Ifc4x3::IfcCurveMeasureSelect* v4_SegmentLength, ::Ifc4x3::IfcCurve* v5_ParentCurve) : IfcSegment(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SegmentStart ? v3_SegmentStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_SegmentLength ? v4_SegmentLength->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ParentCurve ? v5_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCurveStyle -::Ifc4x3::IfcCurveFontOrScaledCurveFontSelect* Ifc4x3::IfcCurveStyle::CurveFont() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcCurveFontOrScaledCurveFontSelect>(true); } +::Ifc4x3::IfcCurveFontOrScaledCurveFontSelect* Ifc4x3::IfcCurveStyle::CurveFont() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcCurveFontOrScaledCurveFontSelect>(true); } void Ifc4x3::IfcCurveStyle::setCurveFont(::Ifc4x3::IfcCurveFontOrScaledCurveFontSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3::IfcSizeSelect* Ifc4x3::IfcCurveStyle::CurveWidth() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcSizeSelect>(true); } +::Ifc4x3::IfcSizeSelect* Ifc4x3::IfcCurveStyle::CurveWidth() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcSizeSelect>(true); } void Ifc4x3::IfcCurveStyle::setCurveWidth(::Ifc4x3::IfcSizeSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3::IfcColour* Ifc4x3::IfcCurveStyle::CurveColour() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcColour>(true); } +::Ifc4x3::IfcColour* Ifc4x3::IfcCurveStyle::CurveColour() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcColour>(true); } void Ifc4x3::IfcCurveStyle::setCurveColour(::Ifc4x3::IfcColour* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< bool > Ifc4x3::IfcCurveStyle::ModelOrDraughting() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } bool v = data_.get_attribute_value(4); return v; } +boost::optional< bool > Ifc4x3::IfcCurveStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return boost::none; } bool v = get_attribute_value(4); return v; } void Ifc4x3::IfcCurveStyle::setModelOrDraughting(boost::optional< bool > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3::IfcCurveStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_types[281]); } const IfcParse::entity& Ifc4x3::IfcCurveStyle::Class() { return *((IfcParse::entity*)IFC4X3_types[281]); } Ifc4x3::IfcCurveStyle::IfcCurveStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x3::IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, ::Ifc4x3::IfcCurveFontOrScaledCurveFontSelect* v2_CurveFont, ::Ifc4x3::IfcSizeSelect* v3_CurveWidth, ::Ifc4x3::IfcColour* v4_CurveColour, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CurveWidth ? v3_CurveWidth->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_CurveColour ? v4_CurveColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } +Ifc4x3::IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, ::Ifc4x3::IfcCurveFontOrScaledCurveFontSelect* v2_CurveFont, ::Ifc4x3::IfcSizeSelect* v3_CurveWidth, ::Ifc4x3::IfcColour* v4_CurveColour, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CurveWidth ? v3_CurveWidth->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_CurveColour ? v4_CurveColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } // Function implementations for IfcCurveStyleFont -boost::optional< std::string > Ifc4x3::IfcCurveStyleFont::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3::IfcCurveStyleFont::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcCurveStyleFont::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -aggregate_of< ::Ifc4x3::IfcCurveStyleFontPattern >::ptr Ifc4x3::IfcCurveStyleFont::PatternList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3::IfcCurveStyleFontPattern >(); } +aggregate_of< ::Ifc4x3::IfcCurveStyleFontPattern >::ptr Ifc4x3::IfcCurveStyleFont::PatternList() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3::IfcCurveStyleFontPattern >(); } void Ifc4x3::IfcCurveStyleFont::setPatternList(aggregate_of< ::Ifc4x3::IfcCurveStyleFontPattern >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcCurveStyleFont::declaration() const { return *((IfcParse::entity*)IFC4X3_types[282]); } const IfcParse::entity& Ifc4x3::IfcCurveStyleFont::Class() { return *((IfcParse::entity*)IFC4X3_types[282]); } Ifc4x3::IfcCurveStyleFont::IfcCurveStyleFont(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3::IfcCurveStyleFontPattern >::ptr v2_PatternList) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_PatternList)->generalize());; populate_derived(); } +Ifc4x3::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3::IfcCurveStyleFontPattern >::ptr v2_PatternList) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_PatternList)->generalize());; populate_derived(); } // Function implementations for IfcCurveStyleFontAndScaling -boost::optional< std::string > Ifc4x3::IfcCurveStyleFontAndScaling::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3::IfcCurveStyleFontAndScaling::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3::IfcCurveStyleFontSelect* Ifc4x3::IfcCurveStyleFontAndScaling::CurveStyleFont() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcCurveStyleFontSelect>(true); } +::Ifc4x3::IfcCurveStyleFontSelect* Ifc4x3::IfcCurveStyleFontAndScaling::CurveStyleFont() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcCurveStyleFontSelect>(true); } void Ifc4x3::IfcCurveStyleFontAndScaling::setCurveStyleFont(::Ifc4x3::IfcCurveStyleFontSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -double Ifc4x3::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = get_attribute_value(2); return v; } void Ifc4x3::IfcCurveStyleFontAndScaling::setCurveFontScaling(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcCurveStyleFontAndScaling::declaration() const { return *((IfcParse::entity*)IFC4X3_types[283]); } const IfcParse::entity& Ifc4x3::IfcCurveStyleFontAndScaling::Class() { return *((IfcParse::entity*)IFC4X3_types[283]); } Ifc4x3::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(boost::optional< std::string > v1_Name, ::Ifc4x3::IfcCurveStyleFontSelect* v2_CurveStyleFont, double v3_CurveFontScaling) : IfcPresentationItem(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveStyleFont ? v2_CurveStyleFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_CurveFontScaling));; populate_derived(); } +Ifc4x3::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(boost::optional< std::string > v1_Name, ::Ifc4x3::IfcCurveStyleFontSelect* v2_CurveStyleFont, double v3_CurveFontScaling) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveStyleFont ? v2_CurveStyleFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_CurveFontScaling));; populate_derived(); } // Function implementations for IfcCurveStyleFontPattern -double Ifc4x3::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = get_attribute_value(0); return v; } void Ifc4x3::IfcCurveStyleFontPattern::setVisibleSegmentLength(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc4x3::IfcCurveStyleFontPattern::InvisibleSegmentLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3::IfcCurveStyleFontPattern::InvisibleSegmentLength() const { double v = get_attribute_value(1); return v; } void Ifc4x3::IfcCurveStyleFontPattern::setInvisibleSegmentLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcCurveStyleFontPattern::declaration() const { return *((IfcParse::entity*)IFC4X3_types[284]); } const IfcParse::entity& Ifc4x3::IfcCurveStyleFontPattern::Class() { return *((IfcParse::entity*)IFC4X3_types[284]); } Ifc4x3::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; populate_derived(); } +Ifc4x3::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; populate_derived(); } // Function implementations for IfcCylindricalSurface -double Ifc4x3::IfcCylindricalSurface::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3::IfcCylindricalSurface::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3::IfcCylindricalSurface::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcCylindricalSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_types[286]); } const IfcParse::entity& Ifc4x3::IfcCylindricalSurface::Class() { return *((IfcParse::entity*)IFC4X3_types[286]); } Ifc4x3::IfcCylindricalSurface::IfcCylindricalSurface(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x3::IfcCylindricalSurface::IfcCylindricalSurface(::Ifc4x3::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x3::IfcCylindricalSurface::IfcCylindricalSurface(::Ifc4x3::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcDamper -boost::optional< ::Ifc4x3::IfcDamperTypeEnum::Value > Ifc4x3::IfcDamper::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcDamperTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcDamperTypeEnum::Value > Ifc4x3::IfcDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcDamperTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcDamper::setPredefinedType(boost::optional< ::Ifc4x3::IfcDamperTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcDamperTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcDamper::declaration() const { return *((IfcParse::entity*)IFC4X3_types[287]); } const IfcParse::entity& Ifc4x3::IfcDamper::Class() { return *((IfcParse::entity*)IFC4X3_types[287]); } Ifc4x3::IfcDamper::IfcDamper(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3::IfcDamper::IfcDamper(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcDamperTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcDamper::IfcDamper(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcDamperTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDamperType -::Ifc4x3::IfcDamperTypeEnum::Value Ifc4x3::IfcDamperType::PredefinedType() const { return ::Ifc4x3::IfcDamperTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcDamperTypeEnum::Value Ifc4x3::IfcDamperType::PredefinedType() const { return ::Ifc4x3::IfcDamperTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcDamperType::setPredefinedType(::Ifc4x3::IfcDamperTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcDamperTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcDamperType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[288]); } const IfcParse::entity& Ifc4x3::IfcDamperType::Class() { return *((IfcParse::entity*)IFC4X3_types[288]); } Ifc4x3::IfcDamperType::IfcDamperType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3::IfcDamperType::IfcDamperType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDamperTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcDamperType::IfcDamperType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDamperTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDeepFoundation @@ -10054,7 +10054,7 @@ Ifc4x3::IfcDamperType::IfcDamperType(std::string v1_GlobalId, ::Ifc4x3::IfcOwner const IfcParse::entity& Ifc4x3::IfcDeepFoundation::declaration() const { return *((IfcParse::entity*)IFC4X3_types[295]); } const IfcParse::entity& Ifc4x3::IfcDeepFoundation::Class() { return *((IfcParse::entity*)IFC4X3_types[295]); } Ifc4x3::IfcDeepFoundation::IfcDeepFoundation(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3::IfcDeepFoundation::IfcDeepFoundation(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuiltElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3::IfcDeepFoundation::IfcDeepFoundation(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDeepFoundationType @@ -10062,95 +10062,95 @@ Ifc4x3::IfcDeepFoundation::IfcDeepFoundation(std::string v1_GlobalId, ::Ifc4x3:: const IfcParse::entity& Ifc4x3::IfcDeepFoundationType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[296]); } const IfcParse::entity& Ifc4x3::IfcDeepFoundationType::Class() { return *((IfcParse::entity*)IFC4X3_types[296]); } Ifc4x3::IfcDeepFoundationType::IfcDeepFoundationType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3::IfcDeepFoundationType::IfcDeepFoundationType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3::IfcDeepFoundationType::IfcDeepFoundationType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDerivedProfileDef -::Ifc4x3::IfcProfileDef* Ifc4x3::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcProfileDef>(true); } +::Ifc4x3::IfcProfileDef* Ifc4x3::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcProfileDef>(true); } void Ifc4x3::IfcDerivedProfileDef::setParentProfile(::Ifc4x3::IfcProfileDef* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3::IfcCartesianTransformationOperator2D* Ifc4x3::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcCartesianTransformationOperator2D>(true); } +::Ifc4x3::IfcCartesianTransformationOperator2D* Ifc4x3::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcCartesianTransformationOperator2D>(true); } void Ifc4x3::IfcDerivedProfileDef::setOperator(::Ifc4x3::IfcCartesianTransformationOperator2D* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3::IfcDerivedProfileDef::Label() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3::IfcDerivedProfileDef::Label() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3::IfcDerivedProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_types[299]); } const IfcParse::entity& Ifc4x3::IfcDerivedProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_types[299]); } Ifc4x3::IfcDerivedProfileDef::IfcDerivedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3::IfcDerivedProfileDef::IfcDerivedProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcProfileDef* v3_ParentProfile, ::Ifc4x3::IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< std::string > v5_Label) : IfcProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Operator ? v4_Operator->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } +Ifc4x3::IfcDerivedProfileDef::IfcDerivedProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcProfileDef* v3_ParentProfile, ::Ifc4x3::IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< std::string > v5_Label) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Operator ? v4_Operator->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } // Function implementations for IfcDerivedUnit -aggregate_of< ::Ifc4x3::IfcDerivedUnitElement >::ptr Ifc4x3::IfcDerivedUnit::Elements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3::IfcDerivedUnitElement >(); } +aggregate_of< ::Ifc4x3::IfcDerivedUnitElement >::ptr Ifc4x3::IfcDerivedUnit::Elements() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3::IfcDerivedUnitElement >(); } void Ifc4x3::IfcDerivedUnit::setElements(aggregate_of< ::Ifc4x3::IfcDerivedUnitElement >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3::IfcDerivedUnitEnum::Value Ifc4x3::IfcDerivedUnit::UnitType() const { return ::Ifc4x3::IfcDerivedUnitEnum::FromString(data_.get_attribute_value(1)); } +::Ifc4x3::IfcDerivedUnitEnum::Value Ifc4x3::IfcDerivedUnit::UnitType() const { return ::Ifc4x3::IfcDerivedUnitEnum::FromString(get_attribute_value(1)); } void Ifc4x3::IfcDerivedUnit::setUnitType(::Ifc4x3::IfcDerivedUnitEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x3::IfcDerivedUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3::IfcDerivedUnit::UserDefinedType() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3::IfcDerivedUnit::UserDefinedType() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3::IfcDerivedUnit::setUserDefinedType(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3::IfcDerivedUnit::Name() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3::IfcDerivedUnit::Name() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3::IfcDerivedUnit::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3::IfcDerivedUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_types[300]); } const IfcParse::entity& Ifc4x3::IfcDerivedUnit::Class() { return *((IfcParse::entity*)IFC4X3_types[300]); } Ifc4x3::IfcDerivedUnit::IfcDerivedUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcDerivedUnit::IfcDerivedUnit(aggregate_of< ::Ifc4x3::IfcDerivedUnitElement >::ptr v1_Elements, ::Ifc4x3::IfcDerivedUnitEnum::Value v2_UnitType, boost::optional< std::string > v3_UserDefinedType, boost::optional< std::string > v4_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Elements)->generalize());set_attribute_value(1, (EnumerationReference(&::Ifc4x3::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); }; populate_derived(); } +Ifc4x3::IfcDerivedUnit::IfcDerivedUnit(aggregate_of< ::Ifc4x3::IfcDerivedUnitElement >::ptr v1_Elements, ::Ifc4x3::IfcDerivedUnitEnum::Value v2_UnitType, boost::optional< std::string > v3_UserDefinedType, boost::optional< std::string > v4_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Elements)->generalize());set_attribute_value(1, (EnumerationReference(&::Ifc4x3::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); }; populate_derived(); } // Function implementations for IfcDerivedUnitElement -::Ifc4x3::IfcNamedUnit* Ifc4x3::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcNamedUnit>(true); } +::Ifc4x3::IfcNamedUnit* Ifc4x3::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcNamedUnit>(true); } void Ifc4x3::IfcDerivedUnitElement::setUnit(::Ifc4x3::IfcNamedUnit* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -int Ifc4x3::IfcDerivedUnitElement::Exponent() const { int v = data_.get_attribute_value(1); return v; } +int Ifc4x3::IfcDerivedUnitElement::Exponent() const { int v = get_attribute_value(1); return v; } void Ifc4x3::IfcDerivedUnitElement::setExponent(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcDerivedUnitElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[301]); } const IfcParse::entity& Ifc4x3::IfcDerivedUnitElement::Class() { return *((IfcParse::entity*)IFC4X3_types[301]); } Ifc4x3::IfcDerivedUnitElement::IfcDerivedUnitElement(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcDerivedUnitElement::IfcDerivedUnitElement(::Ifc4x3::IfcNamedUnit* v1_Unit, int v2_Exponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Unit ? v1_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Exponent));; populate_derived(); } +Ifc4x3::IfcDerivedUnitElement::IfcDerivedUnitElement(::Ifc4x3::IfcNamedUnit* v1_Unit, int v2_Exponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Unit ? v1_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Exponent));; populate_derived(); } // Function implementations for IfcDimensionalExponents -int Ifc4x3::IfcDimensionalExponents::LengthExponent() const { int v = data_.get_attribute_value(0); return v; } +int Ifc4x3::IfcDimensionalExponents::LengthExponent() const { int v = get_attribute_value(0); return v; } void Ifc4x3::IfcDimensionalExponents::setLengthExponent(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -int Ifc4x3::IfcDimensionalExponents::MassExponent() const { int v = data_.get_attribute_value(1); return v; } +int Ifc4x3::IfcDimensionalExponents::MassExponent() const { int v = get_attribute_value(1); return v; } void Ifc4x3::IfcDimensionalExponents::setMassExponent(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -int Ifc4x3::IfcDimensionalExponents::TimeExponent() const { int v = data_.get_attribute_value(2); return v; } +int Ifc4x3::IfcDimensionalExponents::TimeExponent() const { int v = get_attribute_value(2); return v; } void Ifc4x3::IfcDimensionalExponents::setTimeExponent(int v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -int Ifc4x3::IfcDimensionalExponents::ElectricCurrentExponent() const { int v = data_.get_attribute_value(3); return v; } +int Ifc4x3::IfcDimensionalExponents::ElectricCurrentExponent() const { int v = get_attribute_value(3); return v; } void Ifc4x3::IfcDimensionalExponents::setElectricCurrentExponent(int v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -int Ifc4x3::IfcDimensionalExponents::ThermodynamicTemperatureExponent() const { int v = data_.get_attribute_value(4); return v; } +int Ifc4x3::IfcDimensionalExponents::ThermodynamicTemperatureExponent() const { int v = get_attribute_value(4); return v; } void Ifc4x3::IfcDimensionalExponents::setThermodynamicTemperatureExponent(int v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -int Ifc4x3::IfcDimensionalExponents::AmountOfSubstanceExponent() const { int v = data_.get_attribute_value(5); return v; } +int Ifc4x3::IfcDimensionalExponents::AmountOfSubstanceExponent() const { int v = get_attribute_value(5); return v; } void Ifc4x3::IfcDimensionalExponents::setAmountOfSubstanceExponent(int v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -int Ifc4x3::IfcDimensionalExponents::LuminousIntensityExponent() const { int v = data_.get_attribute_value(6); return v; } +int Ifc4x3::IfcDimensionalExponents::LuminousIntensityExponent() const { int v = get_attribute_value(6); return v; } void Ifc4x3::IfcDimensionalExponents::setLuminousIntensityExponent(int v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3::IfcDimensionalExponents::declaration() const { return *((IfcParse::entity*)IFC4X3_types[304]); } const IfcParse::entity& Ifc4x3::IfcDimensionalExponents::Class() { return *((IfcParse::entity*)IFC4X3_types[304]); } Ifc4x3::IfcDimensionalExponents::IfcDimensionalExponents(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::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(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; populate_derived(); } +Ifc4x3::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(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; populate_derived(); } // Function implementations for IfcDirection -std::vector< double > /*[2:3]*/ Ifc4x3::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[2:3]*/ Ifc4x3::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(0); return v; } void Ifc4x3::IfcDirection::setDirectionRatios(std::vector< double > /*[2:3]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3::IfcDirection::declaration() const { return *((IfcParse::entity*)IFC4X3_types[306]); } const IfcParse::entity& Ifc4x3::IfcDirection::Class() { return *((IfcParse::entity*)IFC4X3_types[306]); } Ifc4x3::IfcDirection::IfcDirection(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3::IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionRatios) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_DirectionRatios));; populate_derived(); } +Ifc4x3::IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionRatios) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_DirectionRatios));; populate_derived(); } // Function implementations for IfcDirectrixCurveSweptAreaSolid -::Ifc4x3::IfcCurve* Ifc4x3::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcCurve>(true); } +::Ifc4x3::IfcCurve* Ifc4x3::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcCurve>(true); } void Ifc4x3::IfcDirectrixCurveSweptAreaSolid::setDirectrix(::Ifc4x3::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3::IfcCurveMeasureSelect* Ifc4x3::IfcDirectrixCurveSweptAreaSolid::StartParam() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcCurveMeasureSelect>(true); } +::Ifc4x3::IfcCurveMeasureSelect* Ifc4x3::IfcDirectrixCurveSweptAreaSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcCurveMeasureSelect>(true); } void Ifc4x3::IfcDirectrixCurveSweptAreaSolid::setStartParam(::Ifc4x3::IfcCurveMeasureSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3::IfcCurveMeasureSelect* Ifc4x3::IfcDirectrixCurveSweptAreaSolid::EndParam() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcCurveMeasureSelect>(true); } +::Ifc4x3::IfcCurveMeasureSelect* Ifc4x3::IfcDirectrixCurveSweptAreaSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcCurveMeasureSelect>(true); } void Ifc4x3::IfcDirectrixCurveSweptAreaSolid::setEndParam(::Ifc4x3::IfcCurveMeasureSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3::IfcDirectrixCurveSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_types[308]); } const IfcParse::entity& Ifc4x3::IfcDirectrixCurveSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_types[308]); } Ifc4x3::IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4x3::IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid(::Ifc4x3::IfcProfileDef* v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3::IfcCurve* v3_Directrix, ::Ifc4x3::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3::IfcCurveMeasureSelect* v5_EndParam) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid(::Ifc4x3::IfcProfileDef* v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3::IfcCurve* v3_Directrix, ::Ifc4x3::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3::IfcCurveMeasureSelect* v5_EndParam) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDirectrixDerivedReferenceSweptAreaSolid @@ -10158,67 +10158,67 @@ Ifc4x3::IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid(::Ifc4x const IfcParse::entity& Ifc4x3::IfcDirectrixDerivedReferenceSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_types[309]); } const IfcParse::entity& Ifc4x3::IfcDirectrixDerivedReferenceSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_types[309]); } Ifc4x3::IfcDirectrixDerivedReferenceSweptAreaSolid::IfcDirectrixDerivedReferenceSweptAreaSolid(IfcEntityInstanceData&& e) : IfcFixedReferenceSweptAreaSolid(std::move(e)) { } -Ifc4x3::IfcDirectrixDerivedReferenceSweptAreaSolid::IfcDirectrixDerivedReferenceSweptAreaSolid(::Ifc4x3::IfcProfileDef* v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3::IfcCurve* v3_Directrix, ::Ifc4x3::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3::IfcDirection* v6_FixedReference) : IfcFixedReferenceSweptAreaSolid(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_FixedReference ? v6_FixedReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcDirectrixDerivedReferenceSweptAreaSolid::IfcDirectrixDerivedReferenceSweptAreaSolid(::Ifc4x3::IfcProfileDef* v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3::IfcCurve* v3_Directrix, ::Ifc4x3::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3::IfcDirection* v6_FixedReference) : IfcFixedReferenceSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_FixedReference ? v6_FixedReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDiscreteAccessory -boost::optional< ::Ifc4x3::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x3::IfcDiscreteAccessory::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcDiscreteAccessoryTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x3::IfcDiscreteAccessory::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcDiscreteAccessory::setPredefinedType(boost::optional< ::Ifc4x3::IfcDiscreteAccessoryTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcDiscreteAccessoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcDiscreteAccessory::declaration() const { return *((IfcParse::entity*)IFC4X3_types[310]); } const IfcParse::entity& Ifc4x3::IfcDiscreteAccessory::Class() { return *((IfcParse::entity*)IFC4X3_types[310]); } Ifc4x3::IfcDiscreteAccessory::IfcDiscreteAccessory(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3::IfcDiscreteAccessory::IfcDiscreteAccessory(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcDiscreteAccessory::IfcDiscreteAccessory(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDiscreteAccessoryType -::Ifc4x3::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4x3::IfcDiscreteAccessoryTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4x3::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcDiscreteAccessoryType::setPredefinedType(::Ifc4x3::IfcDiscreteAccessoryTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcDiscreteAccessoryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcDiscreteAccessoryType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[311]); } const IfcParse::entity& Ifc4x3::IfcDiscreteAccessoryType::Class() { return *((IfcParse::entity*)IFC4X3_types[311]); } Ifc4x3::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDistributionBoard -boost::optional< ::Ifc4x3::IfcDistributionBoardTypeEnum::Value > Ifc4x3::IfcDistributionBoard::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcDistributionBoardTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcDistributionBoardTypeEnum::Value > Ifc4x3::IfcDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x3::IfcDistributionBoardTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcDistributionBoardTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcDistributionBoard::declaration() const { return *((IfcParse::entity*)IFC4X3_types[313]); } const IfcParse::entity& Ifc4x3::IfcDistributionBoard::Class() { return *((IfcParse::entity*)IFC4X3_types[313]); } Ifc4x3::IfcDistributionBoard::IfcDistributionBoard(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3::IfcDistributionBoard::IfcDistributionBoard(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcDistributionBoard::IfcDistributionBoard(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDistributionBoardType -::Ifc4x3::IfcDistributionBoardTypeEnum::Value Ifc4x3::IfcDistributionBoardType::PredefinedType() const { return ::Ifc4x3::IfcDistributionBoardTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcDistributionBoardTypeEnum::Value Ifc4x3::IfcDistributionBoardType::PredefinedType() const { return ::Ifc4x3::IfcDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcDistributionBoardType::setPredefinedType(::Ifc4x3::IfcDistributionBoardTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcDistributionBoardTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcDistributionBoardType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[314]); } const IfcParse::entity& Ifc4x3::IfcDistributionBoardType::Class() { return *((IfcParse::entity*)IFC4X3_types[314]); } Ifc4x3::IfcDistributionBoardType::IfcDistributionBoardType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3::IfcDistributionBoardType::IfcDistributionBoardType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcDistributionBoardType::IfcDistributionBoardType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDistributionChamberElement -boost::optional< ::Ifc4x3::IfcDistributionChamberElementTypeEnum::Value > Ifc4x3::IfcDistributionChamberElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcDistributionChamberElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcDistributionChamberElementTypeEnum::Value > Ifc4x3::IfcDistributionChamberElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcDistributionChamberElement::setPredefinedType(boost::optional< ::Ifc4x3::IfcDistributionChamberElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcDistributionChamberElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcDistributionChamberElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[316]); } const IfcParse::entity& Ifc4x3::IfcDistributionChamberElement::Class() { return *((IfcParse::entity*)IFC4X3_types[316]); } Ifc4x3::IfcDistributionChamberElement::IfcDistributionChamberElement(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3::IfcDistributionChamberElement::IfcDistributionChamberElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcDistributionChamberElement::IfcDistributionChamberElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDistributionChamberElementType -::Ifc4x3::IfcDistributionChamberElementTypeEnum::Value Ifc4x3::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4x3::IfcDistributionChamberElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcDistributionChamberElementTypeEnum::Value Ifc4x3::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4x3::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcDistributionChamberElementType::setPredefinedType(::Ifc4x3::IfcDistributionChamberElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcDistributionChamberElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcDistributionChamberElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[317]); } const IfcParse::entity& Ifc4x3::IfcDistributionChamberElementType::Class() { return *((IfcParse::entity*)IFC4X3_types[317]); } Ifc4x3::IfcDistributionChamberElementType::IfcDistributionChamberElementType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3::IfcDistributionChamberElementType::IfcDistributionChamberElementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcDistributionChamberElementType::IfcDistributionChamberElementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDistributionCircuit @@ -10226,7 +10226,7 @@ Ifc4x3::IfcDistributionChamberElementType::IfcDistributionChamberElementType(std const IfcParse::entity& Ifc4x3::IfcDistributionCircuit::declaration() const { return *((IfcParse::entity*)IFC4X3_types[319]); } const IfcParse::entity& Ifc4x3::IfcDistributionCircuit::Class() { return *((IfcParse::entity*)IFC4X3_types[319]); } Ifc4x3::IfcDistributionCircuit::IfcDistributionCircuit(IfcEntityInstanceData&& e) : IfcDistributionSystem(std::move(e)) { } -Ifc4x3::IfcDistributionCircuit::IfcDistributionCircuit(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< ::Ifc4x3::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcDistributionSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcDistributionCircuit::IfcDistributionCircuit(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< ::Ifc4x3::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcDistributionSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDistributionControlElement @@ -10235,7 +10235,7 @@ Ifc4x3::IfcDistributionCircuit::IfcDistributionCircuit(std::string v1_GlobalId, const IfcParse::entity& Ifc4x3::IfcDistributionControlElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[320]); } const IfcParse::entity& Ifc4x3::IfcDistributionControlElement::Class() { return *((IfcParse::entity*)IFC4X3_types[320]); } Ifc4x3::IfcDistributionControlElement::IfcDistributionControlElement(IfcEntityInstanceData&& e) : IfcDistributionElement(std::move(e)) { } -Ifc4x3::IfcDistributionControlElement::IfcDistributionControlElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3::IfcDistributionControlElement::IfcDistributionControlElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionControlElementType @@ -10243,7 +10243,7 @@ Ifc4x3::IfcDistributionControlElement::IfcDistributionControlElement(std::string const IfcParse::entity& Ifc4x3::IfcDistributionControlElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[321]); } const IfcParse::entity& Ifc4x3::IfcDistributionControlElementType::Class() { return *((IfcParse::entity*)IFC4X3_types[321]); } Ifc4x3::IfcDistributionControlElementType::IfcDistributionControlElementType(IfcEntityInstanceData&& e) : IfcDistributionElementType(std::move(e)) { } -Ifc4x3::IfcDistributionControlElementType::IfcDistributionControlElementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3::IfcDistributionControlElementType::IfcDistributionControlElementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionElement @@ -10252,7 +10252,7 @@ Ifc4x3::IfcDistributionControlElementType::IfcDistributionControlElementType(std const IfcParse::entity& Ifc4x3::IfcDistributionElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[322]); } const IfcParse::entity& Ifc4x3::IfcDistributionElement::Class() { return *((IfcParse::entity*)IFC4X3_types[322]); } Ifc4x3::IfcDistributionElement::IfcDistributionElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3::IfcDistributionElement::IfcDistributionElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3::IfcDistributionElement::IfcDistributionElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionElementType @@ -10260,7 +10260,7 @@ Ifc4x3::IfcDistributionElement::IfcDistributionElement(std::string v1_GlobalId, const IfcParse::entity& Ifc4x3::IfcDistributionElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[323]); } const IfcParse::entity& Ifc4x3::IfcDistributionElementType::Class() { return *((IfcParse::entity*)IFC4X3_types[323]); } Ifc4x3::IfcDistributionElementType::IfcDistributionElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3::IfcDistributionElementType::IfcDistributionElementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3::IfcDistributionElementType::IfcDistributionElementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionFlowElement @@ -10269,7 +10269,7 @@ Ifc4x3::IfcDistributionElementType::IfcDistributionElementType(std::string v1_Gl const IfcParse::entity& Ifc4x3::IfcDistributionFlowElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[324]); } const IfcParse::entity& Ifc4x3::IfcDistributionFlowElement::Class() { return *((IfcParse::entity*)IFC4X3_types[324]); } Ifc4x3::IfcDistributionFlowElement::IfcDistributionFlowElement(IfcEntityInstanceData&& e) : IfcDistributionElement(std::move(e)) { } -Ifc4x3::IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3::IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionFlowElementType @@ -10277,68 +10277,68 @@ Ifc4x3::IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v1_Gl const IfcParse::entity& Ifc4x3::IfcDistributionFlowElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[325]); } const IfcParse::entity& Ifc4x3::IfcDistributionFlowElementType::Class() { return *((IfcParse::entity*)IFC4X3_types[325]); } Ifc4x3::IfcDistributionFlowElementType::IfcDistributionFlowElementType(IfcEntityInstanceData&& e) : IfcDistributionElementType(std::move(e)) { } -Ifc4x3::IfcDistributionFlowElementType::IfcDistributionFlowElementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3::IfcDistributionFlowElementType::IfcDistributionFlowElementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionPort -boost::optional< ::Ifc4x3::IfcFlowDirectionEnum::Value > Ifc4x3::IfcDistributionPort::FlowDirection() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3::IfcFlowDirectionEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3::IfcFlowDirectionEnum::Value > Ifc4x3::IfcDistributionPort::FlowDirection() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3::IfcFlowDirectionEnum::FromString(get_attribute_value(7)); } void Ifc4x3::IfcDistributionPort::setFlowDirection(boost::optional< ::Ifc4x3::IfcFlowDirectionEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3::IfcFlowDirectionEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3::IfcDistributionPortTypeEnum::Value > Ifc4x3::IfcDistributionPort::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcDistributionPortTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcDistributionPortTypeEnum::Value > Ifc4x3::IfcDistributionPort::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcDistributionPortTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcDistributionPort::setPredefinedType(boost::optional< ::Ifc4x3::IfcDistributionPortTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcDistributionPortTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< ::Ifc4x3::IfcDistributionSystemEnum::Value > Ifc4x3::IfcDistributionPort::SystemType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3::IfcDistributionSystemEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3::IfcDistributionSystemEnum::Value > Ifc4x3::IfcDistributionPort::SystemType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3::IfcDistributionSystemEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcDistributionPort::setSystemType(boost::optional< ::Ifc4x3::IfcDistributionSystemEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcDistributionSystemEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3::IfcDistributionPort::declaration() const { return *((IfcParse::entity*)IFC4X3_types[326]); } const IfcParse::entity& Ifc4x3::IfcDistributionPort::Class() { return *((IfcParse::entity*)IFC4X3_types[326]); } Ifc4x3::IfcDistributionPort::IfcDistributionPort(IfcEntityInstanceData&& e) : IfcPort(std::move(e)) { } -Ifc4x3::IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3::IfcFlowDirectionEnum::Value > v8_FlowDirection, boost::optional< ::Ifc4x3::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x3::IfcDistributionSystemEnum::Value > v10_SystemType) : IfcPort(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_FlowDirection) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); }; populate_derived(); } +Ifc4x3::IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3::IfcFlowDirectionEnum::Value > v8_FlowDirection, boost::optional< ::Ifc4x3::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x3::IfcDistributionSystemEnum::Value > v10_SystemType) : IfcPort(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_FlowDirection) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); }; populate_derived(); } // Function implementations for IfcDistributionSystem -boost::optional< std::string > Ifc4x3::IfcDistributionSystem::LongName() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3::IfcDistributionSystem::LongName() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3::IfcDistributionSystem::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< ::Ifc4x3::IfcDistributionSystemEnum::Value > Ifc4x3::IfcDistributionSystem::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3::IfcDistributionSystemEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3::IfcDistributionSystemEnum::Value > Ifc4x3::IfcDistributionSystem::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3::IfcDistributionSystemEnum::FromString(get_attribute_value(6)); } void Ifc4x3::IfcDistributionSystem::setPredefinedType(boost::optional< ::Ifc4x3::IfcDistributionSystemEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3::IfcDistributionSystemEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3::IfcDistributionSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_types[328]); } const IfcParse::entity& Ifc4x3::IfcDistributionSystem::Class() { return *((IfcParse::entity*)IFC4X3_types[328]); } Ifc4x3::IfcDistributionSystem::IfcDistributionSystem(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3::IfcDistributionSystem::IfcDistributionSystem(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< ::Ifc4x3::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcDistributionSystem::IfcDistributionSystem(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< ::Ifc4x3::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDocumentInformation -std::string Ifc4x3::IfcDocumentInformation::Identification() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3::IfcDocumentInformation::Identification() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcDocumentInformation::setIdentification(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x3::IfcDocumentInformation::Name() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3::IfcDocumentInformation::Name() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcDocumentInformation::setName(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3::IfcDocumentInformation::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3::IfcDocumentInformation::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3::IfcDocumentInformation::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3::IfcDocumentInformation::Location() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3::IfcDocumentInformation::Location() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3::IfcDocumentInformation::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3::IfcDocumentInformation::Purpose() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3::IfcDocumentInformation::Purpose() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcDocumentInformation::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3::IfcDocumentInformation::IntendedUse() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3::IfcDocumentInformation::IntendedUse() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3::IfcDocumentInformation::setIntendedUse(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3::IfcDocumentInformation::Scope() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3::IfcDocumentInformation::Scope() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3::IfcDocumentInformation::setScope(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3::IfcDocumentInformation::Revision() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3::IfcDocumentInformation::Revision() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3::IfcActorSelect* Ifc4x3::IfcDocumentInformation::DocumentOwner() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3::IfcActorSelect>(true); } +::Ifc4x3::IfcActorSelect* Ifc4x3::IfcDocumentInformation::DocumentOwner() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3::IfcActorSelect>(true); } void Ifc4x3::IfcDocumentInformation::setDocumentOwner(::Ifc4x3::IfcActorSelect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -boost::optional< aggregate_of< ::Ifc4x3::IfcActorSelect >::ptr > Ifc4x3::IfcDocumentInformation::Editors() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3::IfcActorSelect >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcActorSelect >::ptr > Ifc4x3::IfcDocumentInformation::Editors() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3::IfcActorSelect >(); } void Ifc4x3::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x3::IfcActorSelect >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x3::IfcDocumentInformation::CreationTime() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3::IfcDocumentInformation::CreationTime() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< std::string > Ifc4x3::IfcDocumentInformation::LastRevisionTime() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x3::IfcDocumentInformation::LastRevisionTime() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x3::IfcDocumentInformation::setLastRevisionTime(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3::IfcDocumentInformation::ElectronicFormat() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3::IfcDocumentInformation::ElectronicFormat() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3::IfcDocumentInformation::setElectronicFormat(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< std::string > Ifc4x3::IfcDocumentInformation::ValidFrom() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(13); return v; } +boost::optional< std::string > Ifc4x3::IfcDocumentInformation::ValidFrom() const { if(get_attribute_value(13).isNull()) { return boost::none; } std::string v = get_attribute_value(13); return v; } void Ifc4x3::IfcDocumentInformation::setValidFrom(boost::optional< std::string > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x3::IfcDocumentInformation::ValidUntil() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x3::IfcDocumentInformation::ValidUntil() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x3::IfcDocumentInformation::setValidUntil(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< ::Ifc4x3::IfcDocumentConfidentialityEnum::Value > Ifc4x3::IfcDocumentInformation::Confidentiality() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } return ::Ifc4x3::IfcDocumentConfidentialityEnum::FromString(data_.get_attribute_value(15)); } +boost::optional< ::Ifc4x3::IfcDocumentConfidentialityEnum::Value > Ifc4x3::IfcDocumentInformation::Confidentiality() const { if(get_attribute_value(15).isNull()) { return boost::none; } return ::Ifc4x3::IfcDocumentConfidentialityEnum::FromString(get_attribute_value(15)); } void Ifc4x3::IfcDocumentInformation::setConfidentiality(boost::optional< ::Ifc4x3::IfcDocumentConfidentialityEnum::Value > v) { if (v) {set_attribute_value(15, EnumerationReference(&::Ifc4x3::IfcDocumentConfidentialityEnum::Class(), (size_t) *v));} else {unset_attribute_value(15);} } -boost::optional< ::Ifc4x3::IfcDocumentStatusEnum::Value > Ifc4x3::IfcDocumentInformation::Status() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } return ::Ifc4x3::IfcDocumentStatusEnum::FromString(data_.get_attribute_value(16)); } +boost::optional< ::Ifc4x3::IfcDocumentStatusEnum::Value > Ifc4x3::IfcDocumentInformation::Status() const { if(get_attribute_value(16).isNull()) { return boost::none; } return ::Ifc4x3::IfcDocumentStatusEnum::FromString(get_attribute_value(16)); } void Ifc4x3::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3::IfcDocumentStatusEnum::Value > v) { if (v) {set_attribute_value(16, EnumerationReference(&::Ifc4x3::IfcDocumentStatusEnum::Class(), (size_t) *v));} else {unset_attribute_value(16);} } ::Ifc4x3::IfcRelAssociatesDocument::list::ptr Ifc4x3::IfcDocumentInformation::DocumentInfoForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[913], 5)->as(); } @@ -10349,26 +10349,26 @@ void Ifc4x3::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3::IfcDoc const IfcParse::entity& Ifc4x3::IfcDocumentInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_types[331]); } const IfcParse::entity& Ifc4x3::IfcDocumentInformation::Class() { return *((IfcParse::entity*)IFC4X3_types[331]); } Ifc4x3::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData&& e) : IfcExternalInformation(std::move(e)) { } -Ifc4x3::IfcDocumentInformation::IfcDocumentInformation(std::string v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_Location, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, ::Ifc4x3::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3::IfcActorSelect >::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< ::Ifc4x3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation(IfcEntityInstanceData(storage_t(17))) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, v9_DocumentOwner ? v9_DocumentOwner->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v10_Editors) {set_attribute_value(9, (*v10_Editors)->generalize()); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (EnumerationReference(&::Ifc4x3::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (EnumerationReference(&::Ifc4x3::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; populate_derived(); } +Ifc4x3::IfcDocumentInformation::IfcDocumentInformation(std::string v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_Location, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, ::Ifc4x3::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3::IfcActorSelect >::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< ::Ifc4x3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation(IfcEntityInstanceData(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, v9_DocumentOwner ? v9_DocumentOwner->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v10_Editors) {set_attribute_value(9, (*v10_Editors)->generalize()); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (EnumerationReference(&::Ifc4x3::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (EnumerationReference(&::Ifc4x3::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; populate_derived(); } // Function implementations for IfcDocumentInformationRelationship -::Ifc4x3::IfcDocumentInformation* Ifc4x3::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcDocumentInformation>(true); } +::Ifc4x3::IfcDocumentInformation* Ifc4x3::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcDocumentInformation>(true); } void Ifc4x3::IfcDocumentInformationRelationship::setRelatingDocument(::Ifc4x3::IfcDocumentInformation* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3::IfcDocumentInformation >::ptr Ifc4x3::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3::IfcDocumentInformation >(); } +aggregate_of< ::Ifc4x3::IfcDocumentInformation >::ptr Ifc4x3::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3::IfcDocumentInformation >(); } void Ifc4x3::IfcDocumentInformationRelationship::setRelatedDocuments(aggregate_of< ::Ifc4x3::IfcDocumentInformation >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3::IfcDocumentInformationRelationship::RelationshipType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3::IfcDocumentInformationRelationship::RelationshipType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcDocumentInformationRelationship::setRelationshipType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3::IfcDocumentInformationRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_types[332]); } const IfcParse::entity& Ifc4x3::IfcDocumentInformationRelationship::Class() { return *((IfcParse::entity*)IFC4X3_types[332]); } Ifc4x3::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcDocumentInformation* v3_RelatingDocument, aggregate_of< ::Ifc4x3::IfcDocumentInformation >::ptr v4_RelatedDocuments, boost::optional< std::string > v5_RelationshipType) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingDocument ? v3_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedDocuments)->generalize()); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); }; populate_derived(); } +Ifc4x3::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcDocumentInformation* v3_RelatingDocument, aggregate_of< ::Ifc4x3::IfcDocumentInformation >::ptr v4_RelatedDocuments, boost::optional< std::string > v5_RelationshipType) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingDocument ? v3_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedDocuments)->generalize()); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); }; populate_derived(); } // Function implementations for IfcDocumentReference -boost::optional< std::string > Ifc4x3::IfcDocumentReference::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3::IfcDocumentReference::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3::IfcDocumentReference::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3::IfcDocumentInformation* Ifc4x3::IfcDocumentReference::ReferencedDocument() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcDocumentInformation>(true); } +::Ifc4x3::IfcDocumentInformation* Ifc4x3::IfcDocumentReference::ReferencedDocument() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcDocumentInformation>(true); } void Ifc4x3::IfcDocumentReference::setReferencedDocument(::Ifc4x3::IfcDocumentInformation* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } ::Ifc4x3::IfcRelAssociatesDocument::list::ptr Ifc4x3::IfcDocumentReference::DocumentRefForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[913], 5)->as(); } @@ -10376,93 +10376,93 @@ void Ifc4x3::IfcDocumentReference::setReferencedDocument(::Ifc4x3::IfcDocumentIn const IfcParse::entity& Ifc4x3::IfcDocumentReference::declaration() const { return *((IfcParse::entity*)IFC4X3_types[333]); } const IfcParse::entity& Ifc4x3::IfcDocumentReference::Class() { return *((IfcParse::entity*)IFC4X3_types[333]); } Ifc4x3::IfcDocumentReference::IfcDocumentReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3::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::IfcDocumentInformation* v5_ReferencedDocument) : IfcExternalReference(IfcEntityInstanceData(storage_t(5))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ReferencedDocument ? v5_ReferencedDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::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::IfcDocumentInformation* v5_ReferencedDocument) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ReferencedDocument ? v5_ReferencedDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDoor -boost::optional< double > Ifc4x3::IfcDoor::OverallHeight() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3::IfcDoor::OverallHeight() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3::IfcDoor::setOverallHeight(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3::IfcDoor::OverallWidth() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3::IfcDoor::OverallWidth() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3::IfcDoor::setOverallWidth(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x3::IfcDoorTypeEnum::Value > Ifc4x3::IfcDoor::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcDoorTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3::IfcDoorTypeEnum::Value > Ifc4x3::IfcDoor::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcDoorTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3::IfcDoor::setPredefinedType(boost::optional< ::Ifc4x3::IfcDoorTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3::IfcDoorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -boost::optional< ::Ifc4x3::IfcDoorTypeOperationEnum::Value > Ifc4x3::IfcDoor::OperationType() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3::IfcDoorTypeOperationEnum::FromString(data_.get_attribute_value(11)); } +boost::optional< ::Ifc4x3::IfcDoorTypeOperationEnum::Value > Ifc4x3::IfcDoor::OperationType() const { if(get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3::IfcDoorTypeOperationEnum::FromString(get_attribute_value(11)); } void Ifc4x3::IfcDoor::setOperationType(boost::optional< ::Ifc4x3::IfcDoorTypeOperationEnum::Value > v) { if (v) {set_attribute_value(11, EnumerationReference(&::Ifc4x3::IfcDoorTypeOperationEnum::Class(), (size_t) *v));} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3::IfcDoor::UserDefinedOperationType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3::IfcDoor::UserDefinedOperationType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3::IfcDoor::setUserDefinedOperationType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3::IfcDoor::declaration() const { return *((IfcParse::entity*)IFC4X3_types[336]); } const IfcParse::entity& Ifc4x3::IfcDoor::Class() { return *((IfcParse::entity*)IFC4X3_types[336]); } Ifc4x3::IfcDoor::IfcDoor(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3::IfcDoor::IfcDoor(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } +Ifc4x3::IfcDoor::IfcDoor(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } // Function implementations for IfcDoorLiningProperties -boost::optional< double > Ifc4x3::IfcDoorLiningProperties::LiningDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3::IfcDoorLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3::IfcDoorLiningProperties::setLiningDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3::IfcDoorLiningProperties::LiningThickness() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3::IfcDoorLiningProperties::LiningThickness() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3::IfcDoorLiningProperties::setLiningThickness(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3::IfcDoorLiningProperties::ThresholdDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3::IfcDoorLiningProperties::ThresholdDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3::IfcDoorLiningProperties::setThresholdDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3::IfcDoorLiningProperties::ThresholdThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3::IfcDoorLiningProperties::ThresholdThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3::IfcDoorLiningProperties::setThresholdThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3::IfcDoorLiningProperties::TransomThickness() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3::IfcDoorLiningProperties::TransomThickness() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3::IfcDoorLiningProperties::setTransomThickness(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3::IfcDoorLiningProperties::TransomOffset() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3::IfcDoorLiningProperties::TransomOffset() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3::IfcDoorLiningProperties::setTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3::IfcDoorLiningProperties::LiningOffset() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3::IfcDoorLiningProperties::LiningOffset() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3::IfcDoorLiningProperties::setLiningOffset(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3::IfcDoorLiningProperties::ThresholdOffset() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3::IfcDoorLiningProperties::ThresholdOffset() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3::IfcDoorLiningProperties::setThresholdOffset(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3::IfcDoorLiningProperties::CasingThickness() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3::IfcDoorLiningProperties::CasingThickness() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3::IfcDoorLiningProperties::CasingDepth() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3::IfcDoorLiningProperties::CasingDepth() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -::Ifc4x3::IfcShapeAspect* Ifc4x3::IfcDoorLiningProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(14).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(14)))->as<::Ifc4x3::IfcShapeAspect>(true); } +::Ifc4x3::IfcShapeAspect* Ifc4x3::IfcDoorLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(14).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(14)))->as<::Ifc4x3::IfcShapeAspect>(true); } void Ifc4x3::IfcDoorLiningProperties::setShapeAspectStyle(::Ifc4x3::IfcShapeAspect* v) { set_attribute_value(14, v->as());if constexpr (false)unset_attribute_value(14); } -boost::optional< double > Ifc4x3::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3::IfcDoorLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3::IfcDoorLiningProperties::LiningToPanelOffsetY() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3::IfcDoorLiningProperties::LiningToPanelOffsetY() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3::IfcDoorLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } const IfcParse::entity& Ifc4x3::IfcDoorLiningProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_types[337]); } const IfcParse::entity& Ifc4x3::IfcDoorLiningProperties::Class() { return *((IfcParse::entity*)IFC4X3_types[337]); } Ifc4x3::IfcDoorLiningProperties::IfcDoorLiningProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3::IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_GlobalId, ::Ifc4x3::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::IfcShapeAspect* v15_ShapeAspectStyle, boost::optional< double > v16_LiningToPanelOffsetX, boost::optional< double > v17_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, v15_ShapeAspectStyle ? v15_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); }; populate_derived(); } +Ifc4x3::IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_GlobalId, ::Ifc4x3::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::IfcShapeAspect* v15_ShapeAspectStyle, boost::optional< double > v16_LiningToPanelOffsetX, boost::optional< double > v17_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, v15_ShapeAspectStyle ? v15_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); }; populate_derived(); } // Function implementations for IfcDoorPanelProperties -boost::optional< double > Ifc4x3::IfcDoorPanelProperties::PanelDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3::IfcDoorPanelProperties::PanelDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3::IfcDoorPanelProperties::setPanelDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3::IfcDoorPanelOperationEnum::Value Ifc4x3::IfcDoorPanelProperties::PanelOperation() const { return ::Ifc4x3::IfcDoorPanelOperationEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3::IfcDoorPanelOperationEnum::Value Ifc4x3::IfcDoorPanelProperties::PanelOperation() const { return ::Ifc4x3::IfcDoorPanelOperationEnum::FromString(get_attribute_value(5)); } void Ifc4x3::IfcDoorPanelProperties::setPanelOperation(::Ifc4x3::IfcDoorPanelOperationEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3::IfcDoorPanelOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3::IfcDoorPanelProperties::PanelWidth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3::IfcDoorPanelProperties::PanelWidth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3::IfcDoorPanelPositionEnum::Value Ifc4x3::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x3::IfcDoorPanelPositionEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3::IfcDoorPanelPositionEnum::Value Ifc4x3::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x3::IfcDoorPanelPositionEnum::FromString(get_attribute_value(7)); } void Ifc4x3::IfcDoorPanelProperties::setPanelPosition(::Ifc4x3::IfcDoorPanelPositionEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3::IfcDoorPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x3::IfcShapeAspect* Ifc4x3::IfcDoorPanelProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3::IfcShapeAspect>(true); } +::Ifc4x3::IfcShapeAspect* Ifc4x3::IfcDoorPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3::IfcShapeAspect>(true); } void Ifc4x3::IfcDoorPanelProperties::setShapeAspectStyle(::Ifc4x3::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3::IfcDoorPanelProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_types[340]); } const IfcParse::entity& Ifc4x3::IfcDoorPanelProperties::Class() { return *((IfcParse::entity*)IFC4X3_types[340]); } Ifc4x3::IfcDoorPanelProperties::IfcDoorPanelProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3::IfcDoorPanelProperties::IfcDoorPanelProperties(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_PanelDepth, ::Ifc4x3::IfcDoorPanelOperationEnum::Value v6_PanelOperation, boost::optional< double > v7_PanelWidth, ::Ifc4x3::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcDoorPanelProperties::IfcDoorPanelProperties(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_PanelDepth, ::Ifc4x3::IfcDoorPanelOperationEnum::Value v6_PanelOperation, boost::optional< double > v7_PanelWidth, ::Ifc4x3::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDoorType -::Ifc4x3::IfcDoorTypeEnum::Value Ifc4x3::IfcDoorType::PredefinedType() const { return ::Ifc4x3::IfcDoorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcDoorTypeEnum::Value Ifc4x3::IfcDoorType::PredefinedType() const { return ::Ifc4x3::IfcDoorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcDoorType::setPredefinedType(::Ifc4x3::IfcDoorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcDoorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x3::IfcDoorTypeOperationEnum::Value Ifc4x3::IfcDoorType::OperationType() const { return ::Ifc4x3::IfcDoorTypeOperationEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3::IfcDoorTypeOperationEnum::Value Ifc4x3::IfcDoorType::OperationType() const { return ::Ifc4x3::IfcDoorTypeOperationEnum::FromString(get_attribute_value(10)); } void Ifc4x3::IfcDoorType::setOperationType(::Ifc4x3::IfcDoorTypeOperationEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3::IfcDoorTypeOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } -boost::optional< bool > Ifc4x3::IfcDoorType::ParameterTakesPrecedence() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } bool v = data_.get_attribute_value(11); return v; } +boost::optional< bool > Ifc4x3::IfcDoorType::ParameterTakesPrecedence() const { if(get_attribute_value(11).isNull()) { return boost::none; } bool v = get_attribute_value(11); return v; } void Ifc4x3::IfcDoorType::setParameterTakesPrecedence(boost::optional< bool > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3::IfcDoorType::UserDefinedOperationType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3::IfcDoorType::UserDefinedOperationType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3::IfcDoorType::setUserDefinedOperationType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3::IfcDoorType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[343]); } const IfcParse::entity& Ifc4x3::IfcDoorType::Class() { return *((IfcParse::entity*)IFC4X3_types[343]); } Ifc4x3::IfcDoorType::IfcDoorType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3::IfcDoorType::IfcDoorType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3::IfcDoorTypeOperationEnum::Value v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } +Ifc4x3::IfcDoorType::IfcDoorType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3::IfcDoorTypeOperationEnum::Value v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } // Function implementations for IfcDraughtingPreDefinedColour @@ -10470,7 +10470,7 @@ Ifc4x3::IfcDoorType::IfcDoorType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHist const IfcParse::entity& Ifc4x3::IfcDraughtingPreDefinedColour::declaration() const { return *((IfcParse::entity*)IFC4X3_types[347]); } const IfcParse::entity& Ifc4x3::IfcDraughtingPreDefinedColour::Class() { return *((IfcParse::entity*)IFC4X3_types[347]); } Ifc4x3::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(IfcEntityInstanceData&& e) : IfcPreDefinedColour(std::move(e)) { } -Ifc4x3::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::string v1_Name) : IfcPreDefinedColour(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::string v1_Name) : IfcPreDefinedColour(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcDraughtingPreDefinedCurveFont @@ -10478,77 +10478,77 @@ Ifc4x3::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::string const IfcParse::entity& Ifc4x3::IfcDraughtingPreDefinedCurveFont::declaration() const { return *((IfcParse::entity*)IFC4X3_types[348]); } const IfcParse::entity& Ifc4x3::IfcDraughtingPreDefinedCurveFont::Class() { return *((IfcParse::entity*)IFC4X3_types[348]); } Ifc4x3::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(IfcEntityInstanceData&& e) : IfcPreDefinedCurveFont(std::move(e)) { } -Ifc4x3::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedCurveFont(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedCurveFont(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcDuctFitting -boost::optional< ::Ifc4x3::IfcDuctFittingTypeEnum::Value > Ifc4x3::IfcDuctFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcDuctFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcDuctFittingTypeEnum::Value > Ifc4x3::IfcDuctFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcDuctFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcDuctFitting::setPredefinedType(boost::optional< ::Ifc4x3::IfcDuctFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcDuctFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcDuctFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_types[349]); } const IfcParse::entity& Ifc4x3::IfcDuctFitting::Class() { return *((IfcParse::entity*)IFC4X3_types[349]); } Ifc4x3::IfcDuctFitting::IfcDuctFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x3::IfcDuctFitting::IfcDuctFitting(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcDuctFitting::IfcDuctFitting(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDuctFittingType -::Ifc4x3::IfcDuctFittingTypeEnum::Value Ifc4x3::IfcDuctFittingType::PredefinedType() const { return ::Ifc4x3::IfcDuctFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcDuctFittingTypeEnum::Value Ifc4x3::IfcDuctFittingType::PredefinedType() const { return ::Ifc4x3::IfcDuctFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcDuctFittingType::setPredefinedType(::Ifc4x3::IfcDuctFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcDuctFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcDuctFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[350]); } const IfcParse::entity& Ifc4x3::IfcDuctFittingType::Class() { return *((IfcParse::entity*)IFC4X3_types[350]); } Ifc4x3::IfcDuctFittingType::IfcDuctFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x3::IfcDuctFittingType::IfcDuctFittingType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDuctFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcDuctFittingType::IfcDuctFittingType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDuctFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDuctSegment -boost::optional< ::Ifc4x3::IfcDuctSegmentTypeEnum::Value > Ifc4x3::IfcDuctSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcDuctSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcDuctSegmentTypeEnum::Value > Ifc4x3::IfcDuctSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcDuctSegment::setPredefinedType(boost::optional< ::Ifc4x3::IfcDuctSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcDuctSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcDuctSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_types[352]); } const IfcParse::entity& Ifc4x3::IfcDuctSegment::Class() { return *((IfcParse::entity*)IFC4X3_types[352]); } Ifc4x3::IfcDuctSegment::IfcDuctSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x3::IfcDuctSegment::IfcDuctSegment(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcDuctSegment::IfcDuctSegment(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDuctSegmentType -::Ifc4x3::IfcDuctSegmentTypeEnum::Value Ifc4x3::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4x3::IfcDuctSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcDuctSegmentTypeEnum::Value Ifc4x3::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4x3::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcDuctSegmentType::setPredefinedType(::Ifc4x3::IfcDuctSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcDuctSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcDuctSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[353]); } const IfcParse::entity& Ifc4x3::IfcDuctSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_types[353]); } Ifc4x3::IfcDuctSegmentType::IfcDuctSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x3::IfcDuctSegmentType::IfcDuctSegmentType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcDuctSegmentType::IfcDuctSegmentType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDuctSilencer -boost::optional< ::Ifc4x3::IfcDuctSilencerTypeEnum::Value > Ifc4x3::IfcDuctSilencer::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcDuctSilencerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcDuctSilencerTypeEnum::Value > Ifc4x3::IfcDuctSilencer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcDuctSilencer::setPredefinedType(boost::optional< ::Ifc4x3::IfcDuctSilencerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcDuctSilencerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcDuctSilencer::declaration() const { return *((IfcParse::entity*)IFC4X3_types[355]); } const IfcParse::entity& Ifc4x3::IfcDuctSilencer::Class() { return *((IfcParse::entity*)IFC4X3_types[355]); } Ifc4x3::IfcDuctSilencer::IfcDuctSilencer(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4x3::IfcDuctSilencer::IfcDuctSilencer(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcDuctSilencer::IfcDuctSilencer(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDuctSilencerType -::Ifc4x3::IfcDuctSilencerTypeEnum::Value Ifc4x3::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4x3::IfcDuctSilencerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcDuctSilencerTypeEnum::Value Ifc4x3::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4x3::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcDuctSilencerType::setPredefinedType(::Ifc4x3::IfcDuctSilencerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcDuctSilencerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcDuctSilencerType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[356]); } const IfcParse::entity& Ifc4x3::IfcDuctSilencerType::Class() { return *((IfcParse::entity*)IFC4X3_types[356]); } Ifc4x3::IfcDuctSilencerType::IfcDuctSilencerType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4x3::IfcDuctSilencerType::IfcDuctSilencerType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcDuctSilencerType::IfcDuctSilencerType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEarthworksCut -boost::optional< ::Ifc4x3::IfcEarthworksCutTypeEnum::Value > Ifc4x3::IfcEarthworksCut::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcEarthworksCutTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcEarthworksCutTypeEnum::Value > Ifc4x3::IfcEarthworksCut::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcEarthworksCutTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcEarthworksCut::setPredefinedType(boost::optional< ::Ifc4x3::IfcEarthworksCutTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcEarthworksCutTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcEarthworksCut::declaration() const { return *((IfcParse::entity*)IFC4X3_types[360]); } const IfcParse::entity& Ifc4x3::IfcEarthworksCut::Class() { return *((IfcParse::entity*)IFC4X3_types[360]); } Ifc4x3::IfcEarthworksCut::IfcEarthworksCut(IfcEntityInstanceData&& e) : IfcFeatureElementSubtraction(std::move(e)) { } -Ifc4x3::IfcEarthworksCut::IfcEarthworksCut(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcEarthworksCutTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcEarthworksCut::IfcEarthworksCut(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcEarthworksCutTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEarthworksElement @@ -10556,194 +10556,194 @@ Ifc4x3::IfcEarthworksCut::IfcEarthworksCut(std::string v1_GlobalId, ::Ifc4x3::If const IfcParse::entity& Ifc4x3::IfcEarthworksElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[362]); } const IfcParse::entity& Ifc4x3::IfcEarthworksElement::Class() { return *((IfcParse::entity*)IFC4X3_types[362]); } Ifc4x3::IfcEarthworksElement::IfcEarthworksElement(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3::IfcEarthworksElement::IfcEarthworksElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuiltElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3::IfcEarthworksElement::IfcEarthworksElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcEarthworksFill -boost::optional< ::Ifc4x3::IfcEarthworksFillTypeEnum::Value > Ifc4x3::IfcEarthworksFill::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcEarthworksFillTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcEarthworksFillTypeEnum::Value > Ifc4x3::IfcEarthworksFill::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcEarthworksFillTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcEarthworksFill::setPredefinedType(boost::optional< ::Ifc4x3::IfcEarthworksFillTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcEarthworksFillTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcEarthworksFill::declaration() const { return *((IfcParse::entity*)IFC4X3_types[363]); } const IfcParse::entity& Ifc4x3::IfcEarthworksFill::Class() { return *((IfcParse::entity*)IFC4X3_types[363]); } Ifc4x3::IfcEarthworksFill::IfcEarthworksFill(IfcEntityInstanceData&& e) : IfcEarthworksElement(std::move(e)) { } -Ifc4x3::IfcEarthworksFill::IfcEarthworksFill(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType) : IfcEarthworksElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcEarthworksFillTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcEarthworksFill::IfcEarthworksFill(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType) : IfcEarthworksElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcEarthworksFillTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEdge -::Ifc4x3::IfcVertex* Ifc4x3::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcVertex>(true); } +::Ifc4x3::IfcVertex* Ifc4x3::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcVertex>(true); } void Ifc4x3::IfcEdge::setEdgeStart(::Ifc4x3::IfcVertex* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3::IfcVertex* Ifc4x3::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcVertex>(true); } +::Ifc4x3::IfcVertex* Ifc4x3::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcVertex>(true); } void Ifc4x3::IfcEdge::setEdgeEnd(::Ifc4x3::IfcVertex* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcEdge::declaration() const { return *((IfcParse::entity*)IFC4X3_types[365]); } const IfcParse::entity& Ifc4x3::IfcEdge::Class() { return *((IfcParse::entity*)IFC4X3_types[365]); } Ifc4x3::IfcEdge::IfcEdge(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3::IfcEdge::IfcEdge(::Ifc4x3::IfcVertex* v1_EdgeStart, ::Ifc4x3::IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcEdge::IfcEdge(::Ifc4x3::IfcVertex* v1_EdgeStart, ::Ifc4x3::IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcEdgeCurve -::Ifc4x3::IfcCurve* Ifc4x3::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcCurve>(true); } +::Ifc4x3::IfcCurve* Ifc4x3::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcCurve>(true); } void Ifc4x3::IfcEdgeCurve::setEdgeGeometry(::Ifc4x3::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x3::IfcEdgeCurve::SameSense() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x3::IfcEdgeCurve::SameSense() const { bool v = get_attribute_value(3); return v; } void Ifc4x3::IfcEdgeCurve::setSameSense(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcEdgeCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_types[366]); } const IfcParse::entity& Ifc4x3::IfcEdgeCurve::Class() { return *((IfcParse::entity*)IFC4X3_types[366]); } Ifc4x3::IfcEdgeCurve::IfcEdgeCurve(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc4x3::IfcEdgeCurve::IfcEdgeCurve(::Ifc4x3::IfcVertex* v1_EdgeStart, ::Ifc4x3::IfcVertex* v2_EdgeEnd, ::Ifc4x3::IfcCurve* v3_EdgeGeometry, bool v4_SameSense) : IfcEdge(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EdgeGeometry ? v3_EdgeGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SameSense));; populate_derived(); } +Ifc4x3::IfcEdgeCurve::IfcEdgeCurve(::Ifc4x3::IfcVertex* v1_EdgeStart, ::Ifc4x3::IfcVertex* v2_EdgeEnd, ::Ifc4x3::IfcCurve* v3_EdgeGeometry, bool v4_SameSense) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EdgeGeometry ? v3_EdgeGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SameSense));; populate_derived(); } // Function implementations for IfcEdgeLoop -aggregate_of< ::Ifc4x3::IfcOrientedEdge >::ptr Ifc4x3::IfcEdgeLoop::EdgeList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3::IfcOrientedEdge >(); } +aggregate_of< ::Ifc4x3::IfcOrientedEdge >::ptr Ifc4x3::IfcEdgeLoop::EdgeList() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3::IfcOrientedEdge >(); } void Ifc4x3::IfcEdgeLoop::setEdgeList(aggregate_of< ::Ifc4x3::IfcOrientedEdge >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3::IfcEdgeLoop::declaration() const { return *((IfcParse::entity*)IFC4X3_types[367]); } const IfcParse::entity& Ifc4x3::IfcEdgeLoop::Class() { return *((IfcParse::entity*)IFC4X3_types[367]); } Ifc4x3::IfcEdgeLoop::IfcEdgeLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc4x3::IfcEdgeLoop::IfcEdgeLoop(aggregate_of< ::Ifc4x3::IfcOrientedEdge >::ptr v1_EdgeList) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } +Ifc4x3::IfcEdgeLoop::IfcEdgeLoop(aggregate_of< ::Ifc4x3::IfcOrientedEdge >::ptr v1_EdgeList) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } // Function implementations for IfcElectricAppliance -boost::optional< ::Ifc4x3::IfcElectricApplianceTypeEnum::Value > Ifc4x3::IfcElectricAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcElectricApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcElectricApplianceTypeEnum::Value > Ifc4x3::IfcElectricAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcElectricAppliance::setPredefinedType(boost::optional< ::Ifc4x3::IfcElectricApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcElectricApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcElectricAppliance::declaration() const { return *((IfcParse::entity*)IFC4X3_types[368]); } const IfcParse::entity& Ifc4x3::IfcElectricAppliance::Class() { return *((IfcParse::entity*)IFC4X3_types[368]); } Ifc4x3::IfcElectricAppliance::IfcElectricAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3::IfcElectricAppliance::IfcElectricAppliance(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcElectricAppliance::IfcElectricAppliance(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricApplianceType -::Ifc4x3::IfcElectricApplianceTypeEnum::Value Ifc4x3::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4x3::IfcElectricApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcElectricApplianceTypeEnum::Value Ifc4x3::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4x3::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcElectricApplianceType::setPredefinedType(::Ifc4x3::IfcElectricApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcElectricApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcElectricApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[369]); } const IfcParse::entity& Ifc4x3::IfcElectricApplianceType::Class() { return *((IfcParse::entity*)IFC4X3_types[369]); } Ifc4x3::IfcElectricApplianceType::IfcElectricApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3::IfcElectricApplianceType::IfcElectricApplianceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcElectricApplianceType::IfcElectricApplianceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricDistributionBoard -boost::optional< ::Ifc4x3::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x3::IfcElectricDistributionBoard::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcElectricDistributionBoardTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x3::IfcElectricDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcElectricDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x3::IfcElectricDistributionBoardTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcElectricDistributionBoardTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcElectricDistributionBoard::declaration() const { return *((IfcParse::entity*)IFC4X3_types[375]); } const IfcParse::entity& Ifc4x3::IfcElectricDistributionBoard::Class() { return *((IfcParse::entity*)IFC4X3_types[375]); } Ifc4x3::IfcElectricDistributionBoard::IfcElectricDistributionBoard(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3::IfcElectricDistributionBoard::IfcElectricDistributionBoard(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcElectricDistributionBoard::IfcElectricDistributionBoard(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricDistributionBoardType -::Ifc4x3::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4x3::IfcElectricDistributionBoardTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4x3::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcElectricDistributionBoardType::setPredefinedType(::Ifc4x3::IfcElectricDistributionBoardTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcElectricDistributionBoardTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcElectricDistributionBoardType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[376]); } const IfcParse::entity& Ifc4x3::IfcElectricDistributionBoardType::Class() { return *((IfcParse::entity*)IFC4X3_types[376]); } Ifc4x3::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricFlowStorageDevice -boost::optional< ::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x3::IfcElectricFlowStorageDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x3::IfcElectricFlowStorageDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcElectricFlowStorageDevice::setPredefinedType(boost::optional< ::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcElectricFlowStorageDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_types[378]); } const IfcParse::entity& Ifc4x3::IfcElectricFlowStorageDevice::Class() { return *((IfcParse::entity*)IFC4X3_types[378]); } Ifc4x3::IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(IfcEntityInstanceData&& e) : IfcFlowStorageDevice(std::move(e)) { } -Ifc4x3::IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricFlowStorageDeviceType -::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcElectricFlowStorageDeviceType::setPredefinedType(::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcElectricFlowStorageDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[379]); } const IfcParse::entity& Ifc4x3::IfcElectricFlowStorageDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_types[379]); } Ifc4x3::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(IfcEntityInstanceData&& e) : IfcFlowStorageDeviceType(std::move(e)) { } -Ifc4x3::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricFlowTreatmentDevice -boost::optional< ::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Value > Ifc4x3::IfcElectricFlowTreatmentDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Value > Ifc4x3::IfcElectricFlowTreatmentDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcElectricFlowTreatmentDevice::setPredefinedType(boost::optional< ::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcElectricFlowTreatmentDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_types[381]); } const IfcParse::entity& Ifc4x3::IfcElectricFlowTreatmentDevice::Class() { return *((IfcParse::entity*)IFC4X3_types[381]); } Ifc4x3::IfcElectricFlowTreatmentDevice::IfcElectricFlowTreatmentDevice(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4x3::IfcElectricFlowTreatmentDevice::IfcElectricFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcElectricFlowTreatmentDevice::IfcElectricFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricFlowTreatmentDeviceType -::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3::IfcElectricFlowTreatmentDeviceType::PredefinedType() const { return ::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3::IfcElectricFlowTreatmentDeviceType::PredefinedType() const { return ::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcElectricFlowTreatmentDeviceType::setPredefinedType(::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcElectricFlowTreatmentDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[382]); } const IfcParse::entity& Ifc4x3::IfcElectricFlowTreatmentDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_types[382]); } Ifc4x3::IfcElectricFlowTreatmentDeviceType::IfcElectricFlowTreatmentDeviceType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4x3::IfcElectricFlowTreatmentDeviceType::IfcElectricFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcElectricFlowTreatmentDeviceType::IfcElectricFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricGenerator -boost::optional< ::Ifc4x3::IfcElectricGeneratorTypeEnum::Value > Ifc4x3::IfcElectricGenerator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcElectricGeneratorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcElectricGeneratorTypeEnum::Value > Ifc4x3::IfcElectricGenerator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcElectricGenerator::setPredefinedType(boost::optional< ::Ifc4x3::IfcElectricGeneratorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcElectricGeneratorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcElectricGenerator::declaration() const { return *((IfcParse::entity*)IFC4X3_types[384]); } const IfcParse::entity& Ifc4x3::IfcElectricGenerator::Class() { return *((IfcParse::entity*)IFC4X3_types[384]); } Ifc4x3::IfcElectricGenerator::IfcElectricGenerator(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3::IfcElectricGenerator::IfcElectricGenerator(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcElectricGenerator::IfcElectricGenerator(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricGeneratorType -::Ifc4x3::IfcElectricGeneratorTypeEnum::Value Ifc4x3::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4x3::IfcElectricGeneratorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcElectricGeneratorTypeEnum::Value Ifc4x3::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4x3::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcElectricGeneratorType::setPredefinedType(::Ifc4x3::IfcElectricGeneratorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcElectricGeneratorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcElectricGeneratorType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[385]); } const IfcParse::entity& Ifc4x3::IfcElectricGeneratorType::Class() { return *((IfcParse::entity*)IFC4X3_types[385]); } Ifc4x3::IfcElectricGeneratorType::IfcElectricGeneratorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3::IfcElectricGeneratorType::IfcElectricGeneratorType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcElectricGeneratorType::IfcElectricGeneratorType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricMotor -boost::optional< ::Ifc4x3::IfcElectricMotorTypeEnum::Value > Ifc4x3::IfcElectricMotor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcElectricMotorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcElectricMotorTypeEnum::Value > Ifc4x3::IfcElectricMotor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcElectricMotorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcElectricMotor::setPredefinedType(boost::optional< ::Ifc4x3::IfcElectricMotorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcElectricMotorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcElectricMotor::declaration() const { return *((IfcParse::entity*)IFC4X3_types[387]); } const IfcParse::entity& Ifc4x3::IfcElectricMotor::Class() { return *((IfcParse::entity*)IFC4X3_types[387]); } Ifc4x3::IfcElectricMotor::IfcElectricMotor(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3::IfcElectricMotor::IfcElectricMotor(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcElectricMotor::IfcElectricMotor(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricMotorType -::Ifc4x3::IfcElectricMotorTypeEnum::Value Ifc4x3::IfcElectricMotorType::PredefinedType() const { return ::Ifc4x3::IfcElectricMotorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcElectricMotorTypeEnum::Value Ifc4x3::IfcElectricMotorType::PredefinedType() const { return ::Ifc4x3::IfcElectricMotorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcElectricMotorType::setPredefinedType(::Ifc4x3::IfcElectricMotorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcElectricMotorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcElectricMotorType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[388]); } const IfcParse::entity& Ifc4x3::IfcElectricMotorType::Class() { return *((IfcParse::entity*)IFC4X3_types[388]); } Ifc4x3::IfcElectricMotorType::IfcElectricMotorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3::IfcElectricMotorType::IfcElectricMotorType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricMotorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcElectricMotorType::IfcElectricMotorType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricMotorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricTimeControl -boost::optional< ::Ifc4x3::IfcElectricTimeControlTypeEnum::Value > Ifc4x3::IfcElectricTimeControl::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcElectricTimeControlTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcElectricTimeControlTypeEnum::Value > Ifc4x3::IfcElectricTimeControl::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcElectricTimeControl::setPredefinedType(boost::optional< ::Ifc4x3::IfcElectricTimeControlTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcElectricTimeControlTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcElectricTimeControl::declaration() const { return *((IfcParse::entity*)IFC4X3_types[391]); } const IfcParse::entity& Ifc4x3::IfcElectricTimeControl::Class() { return *((IfcParse::entity*)IFC4X3_types[391]); } Ifc4x3::IfcElectricTimeControl::IfcElectricTimeControl(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3::IfcElectricTimeControl::IfcElectricTimeControl(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcElectricTimeControl::IfcElectricTimeControl(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricTimeControlType -::Ifc4x3::IfcElectricTimeControlTypeEnum::Value Ifc4x3::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4x3::IfcElectricTimeControlTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcElectricTimeControlTypeEnum::Value Ifc4x3::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4x3::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcElectricTimeControlType::setPredefinedType(::Ifc4x3::IfcElectricTimeControlTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcElectricTimeControlTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcElectricTimeControlType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[392]); } const IfcParse::entity& Ifc4x3::IfcElectricTimeControlType::Class() { return *((IfcParse::entity*)IFC4X3_types[392]); } Ifc4x3::IfcElectricTimeControlType::IfcElectricTimeControlType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3::IfcElectricTimeControlType::IfcElectricTimeControlType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcElectricTimeControlType::IfcElectricTimeControlType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElement -boost::optional< std::string > Ifc4x3::IfcElement::Tag() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3::IfcElement::Tag() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3::IfcElement::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } ::Ifc4x3::IfcRelFillsElement::list::ptr Ifc4x3::IfcElement::FillsVoids() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[937], 5)->as(); } @@ -10762,29 +10762,29 @@ void Ifc4x3::IfcElement::setTag(boost::optional< std::string > v) { if (v) {set_ const IfcParse::entity& Ifc4x3::IfcElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[395]); } const IfcParse::entity& Ifc4x3::IfcElement::Class() { return *((IfcParse::entity*)IFC4X3_types[395]); } Ifc4x3::IfcElement::IfcElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3::IfcElement::IfcElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcProduct(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3::IfcElement::IfcElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcElementAssembly -boost::optional< ::Ifc4x3::IfcAssemblyPlaceEnum::Value > Ifc4x3::IfcElementAssembly::AssemblyPlace() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcAssemblyPlaceEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcAssemblyPlaceEnum::Value > Ifc4x3::IfcElementAssembly::AssemblyPlace() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcAssemblyPlaceEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcElementAssembly::setAssemblyPlace(boost::optional< ::Ifc4x3::IfcAssemblyPlaceEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcAssemblyPlaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< ::Ifc4x3::IfcElementAssemblyTypeEnum::Value > Ifc4x3::IfcElementAssembly::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3::IfcElementAssemblyTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3::IfcElementAssemblyTypeEnum::Value > Ifc4x3::IfcElementAssembly::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3::IfcElementAssemblyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcElementAssembly::setPredefinedType(boost::optional< ::Ifc4x3::IfcElementAssemblyTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcElementAssemblyTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3::IfcElementAssembly::declaration() const { return *((IfcParse::entity*)IFC4X3_types[397]); } const IfcParse::entity& Ifc4x3::IfcElementAssembly::Class() { return *((IfcParse::entity*)IFC4X3_types[397]); } Ifc4x3::IfcElementAssembly::IfcElementAssembly(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3::IfcElementAssembly::IfcElementAssembly(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, boost::optional< ::Ifc4x3::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) : IfcElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcElementAssembly::IfcElementAssembly(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, boost::optional< ::Ifc4x3::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElementAssemblyType -::Ifc4x3::IfcElementAssemblyTypeEnum::Value Ifc4x3::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4x3::IfcElementAssemblyTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcElementAssemblyTypeEnum::Value Ifc4x3::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4x3::IfcElementAssemblyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcElementAssemblyType::setPredefinedType(::Ifc4x3::IfcElementAssemblyTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcElementAssemblyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcElementAssemblyType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[398]); } const IfcParse::entity& Ifc4x3::IfcElementAssemblyType::Class() { return *((IfcParse::entity*)IFC4X3_types[398]); } Ifc4x3::IfcElementAssemblyType::IfcElementAssemblyType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3::IfcElementAssemblyType::IfcElementAssemblyType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcElementAssemblyType::IfcElementAssemblyType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElementComponent @@ -10792,7 +10792,7 @@ Ifc4x3::IfcElementAssemblyType::IfcElementAssemblyType(std::string v1_GlobalId, const IfcParse::entity& Ifc4x3::IfcElementComponent::declaration() const { return *((IfcParse::entity*)IFC4X3_types[400]); } const IfcParse::entity& Ifc4x3::IfcElementComponent::Class() { return *((IfcParse::entity*)IFC4X3_types[400]); } Ifc4x3::IfcElementComponent::IfcElementComponent(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3::IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3::IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcElementComponentType @@ -10800,63 +10800,63 @@ Ifc4x3::IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3::IfcElementComponentType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[401]); } const IfcParse::entity& Ifc4x3::IfcElementComponentType::Class() { return *((IfcParse::entity*)IFC4X3_types[401]); } Ifc4x3::IfcElementComponentType::IfcElementComponentType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3::IfcElementComponentType::IfcElementComponentType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3::IfcElementComponentType::IfcElementComponentType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcElementQuantity -boost::optional< std::string > Ifc4x3::IfcElementQuantity::MethodOfMeasurement() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3::IfcElementQuantity::MethodOfMeasurement() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcElementQuantity::setMethodOfMeasurement(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -aggregate_of< ::Ifc4x3::IfcPhysicalQuantity >::ptr Ifc4x3::IfcElementQuantity::Quantities() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3::IfcPhysicalQuantity >(); } +aggregate_of< ::Ifc4x3::IfcPhysicalQuantity >::ptr Ifc4x3::IfcElementQuantity::Quantities() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3::IfcPhysicalQuantity >(); } void Ifc4x3::IfcElementQuantity::setQuantities(aggregate_of< ::Ifc4x3::IfcPhysicalQuantity >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcElementQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_types[403]); } const IfcParse::entity& Ifc4x3::IfcElementQuantity::Class() { return *((IfcParse::entity*)IFC4X3_types[403]); } Ifc4x3::IfcElementQuantity::IfcElementQuantity(IfcEntityInstanceData&& e) : IfcQuantitySet(std::move(e)) { } -Ifc4x3::IfcElementQuantity::IfcElementQuantity(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_MethodOfMeasurement, aggregate_of< ::Ifc4x3::IfcPhysicalQuantity >::ptr v6_Quantities) : IfcQuantitySet(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, (v6_Quantities)->generalize());; populate_derived(); } +Ifc4x3::IfcElementQuantity::IfcElementQuantity(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_MethodOfMeasurement, aggregate_of< ::Ifc4x3::IfcPhysicalQuantity >::ptr v6_Quantities) : IfcQuantitySet(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, (v6_Quantities)->generalize());; populate_derived(); } // Function implementations for IfcElementType -boost::optional< std::string > Ifc4x3::IfcElementType::ElementType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3::IfcElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3::IfcElementType::setElementType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[404]); } const IfcParse::entity& Ifc4x3::IfcElementType::Class() { return *((IfcParse::entity*)IFC4X3_types[404]); } Ifc4x3::IfcElementType::IfcElementType(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(e)) { } -Ifc4x3::IfcElementType::IfcElementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3::IfcElementType::IfcElementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcElementarySurface -::Ifc4x3::IfcAxis2Placement3D* Ifc4x3::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcAxis2Placement3D>(true); } +::Ifc4x3::IfcAxis2Placement3D* Ifc4x3::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcAxis2Placement3D>(true); } void Ifc4x3::IfcElementarySurface::setPosition(::Ifc4x3::IfcAxis2Placement3D* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3::IfcElementarySurface::declaration() const { return *((IfcParse::entity*)IFC4X3_types[396]); } const IfcParse::entity& Ifc4x3::IfcElementarySurface::Class() { return *((IfcParse::entity*)IFC4X3_types[396]); } Ifc4x3::IfcElementarySurface::IfcElementarySurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x3::IfcElementarySurface::IfcElementarySurface(::Ifc4x3::IfcAxis2Placement3D* v1_Position) : IfcSurface(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcElementarySurface::IfcElementarySurface(::Ifc4x3::IfcAxis2Placement3D* v1_Position) : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcEllipse -double Ifc4x3::IfcEllipse::SemiAxis1() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3::IfcEllipse::SemiAxis1() const { double v = get_attribute_value(1); return v; } void Ifc4x3::IfcEllipse::setSemiAxis1(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3::IfcEllipse::SemiAxis2() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3::IfcEllipse::SemiAxis2() const { double v = get_attribute_value(2); return v; } void Ifc4x3::IfcEllipse::setSemiAxis2(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcEllipse::declaration() const { return *((IfcParse::entity*)IFC4X3_types[405]); } const IfcParse::entity& Ifc4x3::IfcEllipse::Class() { return *((IfcParse::entity*)IFC4X3_types[405]); } Ifc4x3::IfcEllipse::IfcEllipse(IfcEntityInstanceData&& e) : IfcConic(std::move(e)) { } -Ifc4x3::IfcEllipse::IfcEllipse(::Ifc4x3::IfcAxis2Placement* v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) : IfcConic(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; populate_derived(); } +Ifc4x3::IfcEllipse::IfcEllipse(::Ifc4x3::IfcAxis2Placement* v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) : IfcConic(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; populate_derived(); } // Function implementations for IfcEllipseProfileDef -double Ifc4x3::IfcEllipseProfileDef::SemiAxis1() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3::IfcEllipseProfileDef::SemiAxis1() const { double v = get_attribute_value(3); return v; } void Ifc4x3::IfcEllipseProfileDef::setSemiAxis1(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3::IfcEllipseProfileDef::SemiAxis2() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3::IfcEllipseProfileDef::SemiAxis2() const { double v = get_attribute_value(4); return v; } void Ifc4x3::IfcEllipseProfileDef::setSemiAxis2(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3::IfcEllipseProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_types[406]); } const IfcParse::entity& Ifc4x3::IfcEllipseProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_types[406]); } Ifc4x3::IfcEllipseProfileDef::IfcEllipseProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D* v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; populate_derived(); } +Ifc4x3::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D* v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; populate_derived(); } // Function implementations for IfcEnergyConversionDevice @@ -10864,7 +10864,7 @@ Ifc4x3::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc4x3::IfcProfileTypeEnum: const IfcParse::entity& Ifc4x3::IfcEnergyConversionDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_types[407]); } const IfcParse::entity& Ifc4x3::IfcEnergyConversionDevice::Class() { return *((IfcParse::entity*)IFC4X3_types[407]); } Ifc4x3::IfcEnergyConversionDevice::IfcEnergyConversionDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3::IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3::IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcEnergyConversionDeviceType @@ -10872,127 +10872,127 @@ Ifc4x3::IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_Glob const IfcParse::entity& Ifc4x3::IfcEnergyConversionDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[408]); } const IfcParse::entity& Ifc4x3::IfcEnergyConversionDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_types[408]); } Ifc4x3::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcEngine -boost::optional< ::Ifc4x3::IfcEngineTypeEnum::Value > Ifc4x3::IfcEngine::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcEngineTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcEngineTypeEnum::Value > Ifc4x3::IfcEngine::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcEngineTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcEngine::setPredefinedType(boost::optional< ::Ifc4x3::IfcEngineTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcEngineTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcEngine::declaration() const { return *((IfcParse::entity*)IFC4X3_types[410]); } const IfcParse::entity& Ifc4x3::IfcEngine::Class() { return *((IfcParse::entity*)IFC4X3_types[410]); } Ifc4x3::IfcEngine::IfcEngine(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3::IfcEngine::IfcEngine(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcEngineTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcEngine::IfcEngine(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcEngineTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEngineType -::Ifc4x3::IfcEngineTypeEnum::Value Ifc4x3::IfcEngineType::PredefinedType() const { return ::Ifc4x3::IfcEngineTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcEngineTypeEnum::Value Ifc4x3::IfcEngineType::PredefinedType() const { return ::Ifc4x3::IfcEngineTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcEngineType::setPredefinedType(::Ifc4x3::IfcEngineTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcEngineTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcEngineType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[411]); } const IfcParse::entity& Ifc4x3::IfcEngineType::Class() { return *((IfcParse::entity*)IFC4X3_types[411]); } Ifc4x3::IfcEngineType::IfcEngineType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3::IfcEngineType::IfcEngineType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcEngineTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcEngineType::IfcEngineType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcEngineTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEvaporativeCooler -boost::optional< ::Ifc4x3::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x3::IfcEvaporativeCooler::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcEvaporativeCoolerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x3::IfcEvaporativeCooler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcEvaporativeCooler::setPredefinedType(boost::optional< ::Ifc4x3::IfcEvaporativeCoolerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcEvaporativeCoolerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcEvaporativeCooler::declaration() const { return *((IfcParse::entity*)IFC4X3_types[413]); } const IfcParse::entity& Ifc4x3::IfcEvaporativeCooler::Class() { return *((IfcParse::entity*)IFC4X3_types[413]); } Ifc4x3::IfcEvaporativeCooler::IfcEvaporativeCooler(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3::IfcEvaporativeCooler::IfcEvaporativeCooler(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcEvaporativeCooler::IfcEvaporativeCooler(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEvaporativeCoolerType -::Ifc4x3::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4x3::IfcEvaporativeCoolerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4x3::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcEvaporativeCoolerType::setPredefinedType(::Ifc4x3::IfcEvaporativeCoolerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcEvaporativeCoolerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcEvaporativeCoolerType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[414]); } const IfcParse::entity& Ifc4x3::IfcEvaporativeCoolerType::Class() { return *((IfcParse::entity*)IFC4X3_types[414]); } Ifc4x3::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEvaporator -boost::optional< ::Ifc4x3::IfcEvaporatorTypeEnum::Value > Ifc4x3::IfcEvaporator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcEvaporatorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcEvaporatorTypeEnum::Value > Ifc4x3::IfcEvaporator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcEvaporatorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcEvaporator::setPredefinedType(boost::optional< ::Ifc4x3::IfcEvaporatorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcEvaporatorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcEvaporator::declaration() const { return *((IfcParse::entity*)IFC4X3_types[416]); } const IfcParse::entity& Ifc4x3::IfcEvaporator::Class() { return *((IfcParse::entity*)IFC4X3_types[416]); } Ifc4x3::IfcEvaporator::IfcEvaporator(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3::IfcEvaporator::IfcEvaporator(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcEvaporator::IfcEvaporator(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEvaporatorType -::Ifc4x3::IfcEvaporatorTypeEnum::Value Ifc4x3::IfcEvaporatorType::PredefinedType() const { return ::Ifc4x3::IfcEvaporatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcEvaporatorTypeEnum::Value Ifc4x3::IfcEvaporatorType::PredefinedType() const { return ::Ifc4x3::IfcEvaporatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcEvaporatorType::setPredefinedType(::Ifc4x3::IfcEvaporatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcEvaporatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcEvaporatorType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[417]); } const IfcParse::entity& Ifc4x3::IfcEvaporatorType::Class() { return *((IfcParse::entity*)IFC4X3_types[417]); } Ifc4x3::IfcEvaporatorType::IfcEvaporatorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3::IfcEvaporatorType::IfcEvaporatorType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcEvaporatorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcEvaporatorType::IfcEvaporatorType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcEvaporatorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEvent -boost::optional< ::Ifc4x3::IfcEventTypeEnum::Value > Ifc4x3::IfcEvent::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3::IfcEventTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3::IfcEventTypeEnum::Value > Ifc4x3::IfcEvent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3::IfcEventTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3::IfcEvent::setPredefinedType(boost::optional< ::Ifc4x3::IfcEventTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3::IfcEventTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3::IfcEventTriggerTypeEnum::Value > Ifc4x3::IfcEvent::EventTriggerType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcEventTriggerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcEventTriggerTypeEnum::Value > Ifc4x3::IfcEvent::EventTriggerType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcEventTriggerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcEvent::setEventTriggerType(boost::optional< ::Ifc4x3::IfcEventTriggerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcEventTriggerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3::IfcEvent::UserDefinedEventTriggerType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3::IfcEvent::UserDefinedEventTriggerType() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3::IfcEvent::setUserDefinedEventTriggerType(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -::Ifc4x3::IfcEventTime* Ifc4x3::IfcEvent::EventOccurenceTime() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3::IfcEventTime>(true); } +::Ifc4x3::IfcEventTime* Ifc4x3::IfcEvent::EventOccurenceTime() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3::IfcEventTime>(true); } void Ifc4x3::IfcEvent::setEventOccurenceTime(::Ifc4x3::IfcEventTime* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3::IfcEvent::declaration() const { return *((IfcParse::entity*)IFC4X3_types[419]); } const IfcParse::entity& Ifc4x3::IfcEvent::Class() { return *((IfcParse::entity*)IFC4X3_types[419]); } Ifc4x3::IfcEvent::IfcEvent(IfcEntityInstanceData&& e) : IfcProcess(std::move(e)) { } -Ifc4x3::IfcEvent::IfcEvent(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< ::Ifc4x3::IfcEventTypeEnum::Value > v8_PredefinedType, boost::optional< ::Ifc4x3::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, boost::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3::IfcEventTime* v11_EventOccurenceTime) : IfcProcess(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, v11_EventOccurenceTime ? v11_EventOccurenceTime->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcEvent::IfcEvent(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< ::Ifc4x3::IfcEventTypeEnum::Value > v8_PredefinedType, boost::optional< ::Ifc4x3::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, boost::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3::IfcEventTime* v11_EventOccurenceTime) : IfcProcess(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, v11_EventOccurenceTime ? v11_EventOccurenceTime->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcEventTime -boost::optional< std::string > Ifc4x3::IfcEventTime::ActualDate() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3::IfcEventTime::ActualDate() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3::IfcEventTime::setActualDate(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3::IfcEventTime::EarlyDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3::IfcEventTime::EarlyDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcEventTime::setEarlyDate(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3::IfcEventTime::LateDate() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3::IfcEventTime::LateDate() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3::IfcEventTime::setLateDate(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3::IfcEventTime::ScheduleDate() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3::IfcEventTime::ScheduleDate() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3::IfcEventTime::setScheduleDate(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3::IfcEventTime::declaration() const { return *((IfcParse::entity*)IFC4X3_types[420]); } const IfcParse::entity& Ifc4x3::IfcEventTime::Class() { return *((IfcParse::entity*)IFC4X3_types[420]); } Ifc4x3::IfcEventTime::IfcEventTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x3::IfcEventTime::IfcEventTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); }; populate_derived(); } +Ifc4x3::IfcEventTime::IfcEventTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); }; populate_derived(); } // Function implementations for IfcEventType -::Ifc4x3::IfcEventTypeEnum::Value Ifc4x3::IfcEventType::PredefinedType() const { return ::Ifc4x3::IfcEventTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcEventTypeEnum::Value Ifc4x3::IfcEventType::PredefinedType() const { return ::Ifc4x3::IfcEventTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcEventType::setPredefinedType(::Ifc4x3::IfcEventTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcEventTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x3::IfcEventTriggerTypeEnum::Value Ifc4x3::IfcEventType::EventTriggerType() const { return ::Ifc4x3::IfcEventTriggerTypeEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3::IfcEventTriggerTypeEnum::Value Ifc4x3::IfcEventType::EventTriggerType() const { return ::Ifc4x3::IfcEventTriggerTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3::IfcEventType::setEventTriggerType(::Ifc4x3::IfcEventTriggerTypeEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3::IfcEventTriggerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } -boost::optional< std::string > Ifc4x3::IfcEventType::UserDefinedEventTriggerType() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x3::IfcEventType::UserDefinedEventTriggerType() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x3::IfcEventType::setUserDefinedEventTriggerType(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x3::IfcEventType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[422]); } const IfcParse::entity& Ifc4x3::IfcEventType::Class() { return *((IfcParse::entity*)IFC4X3_types[422]); } Ifc4x3::IfcEventType::IfcEventType(IfcEntityInstanceData&& e) : IfcTypeProcess(std::move(e)) { } -Ifc4x3::IfcEventType::IfcEventType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, boost::optional< std::string > v12_UserDefinedEventTriggerType) : IfcTypeProcess(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); }; populate_derived(); } +Ifc4x3::IfcEventType::IfcEventType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, boost::optional< std::string > v12_UserDefinedEventTriggerType) : IfcTypeProcess(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); }; populate_derived(); } // Function implementations for IfcExtendedProperties -boost::optional< std::string > Ifc4x3::IfcExtendedProperties::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3::IfcExtendedProperties::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcExtendedProperties::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3::IfcExtendedProperties::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3::IfcExtendedProperties::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcExtendedProperties::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3::IfcProperty >::ptr Ifc4x3::IfcExtendedProperties::Properties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3::IfcProperty >(); } +aggregate_of< ::Ifc4x3::IfcProperty >::ptr Ifc4x3::IfcExtendedProperties::Properties() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3::IfcProperty >(); } void Ifc4x3::IfcExtendedProperties::setProperties(aggregate_of< ::Ifc4x3::IfcProperty >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcExtendedProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_types[424]); } const IfcParse::entity& Ifc4x3::IfcExtendedProperties::Class() { return *((IfcParse::entity*)IFC4X3_types[424]); } Ifc4x3::IfcExtendedProperties::IfcExtendedProperties(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x3::IfcExtendedProperties::IfcExtendedProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3::IfcProperty >::ptr v3_Properties) : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());; populate_derived(); } +Ifc4x3::IfcExtendedProperties::IfcExtendedProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3::IfcProperty >::ptr v3_Properties) : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());; populate_derived(); } // Function implementations for IfcExternalInformation @@ -11000,14 +11000,14 @@ Ifc4x3::IfcExtendedProperties::IfcExtendedProperties(boost::optional< std::strin const IfcParse::entity& Ifc4x3::IfcExternalInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_types[425]); } const IfcParse::entity& Ifc4x3::IfcExternalInformation::Class() { return *((IfcParse::entity*)IFC4X3_types[425]); } Ifc4x3::IfcExternalInformation::IfcExternalInformation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcExternalInformation::IfcExternalInformation() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3::IfcExternalInformation::IfcExternalInformation() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcExternalReference -boost::optional< std::string > Ifc4x3::IfcExternalReference::Location() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3::IfcExternalReference::Location() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcExternalReference::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3::IfcExternalReference::Identification() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3::IfcExternalReference::Identification() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcExternalReference::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3::IfcExternalReference::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3::IfcExternalReference::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3::IfcExternalReference::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3::IfcExternalReferenceRelationship::list::ptr Ifc4x3::IfcExternalReference::ExternalReferenceForResources() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[430], 2)->as(); } @@ -11015,22 +11015,22 @@ void Ifc4x3::IfcExternalReference::setName(boost::optional< std::string > v) { i const IfcParse::entity& Ifc4x3::IfcExternalReference::declaration() const { return *((IfcParse::entity*)IFC4X3_types[429]); } const IfcParse::entity& Ifc4x3::IfcExternalReference::Class() { return *((IfcParse::entity*)IFC4X3_types[429]); } Ifc4x3::IfcExternalReference::IfcExternalReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcExternalReference::IfcExternalReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3::IfcExternalReference::IfcExternalReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternalReferenceRelationship -::Ifc4x3::IfcExternalReference* Ifc4x3::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcExternalReference>(true); } +::Ifc4x3::IfcExternalReference* Ifc4x3::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcExternalReference>(true); } void Ifc4x3::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4x3::IfcExternalReference* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr Ifc4x3::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3::IfcResourceObjectSelect >(); } +aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr Ifc4x3::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3::IfcResourceObjectSelect >(); } void Ifc4x3::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcExternalReferenceRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_types[430]); } const IfcParse::entity& Ifc4x3::IfcExternalReferenceRelationship::Class() { return *((IfcParse::entity*)IFC4X3_types[430]); } Ifc4x3::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingReference ? v3_RelatingReference->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } +Ifc4x3::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingReference ? v3_RelatingReference->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } // Function implementations for IfcExternalSpatialElement -boost::optional< ::Ifc4x3::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3::IfcExternalSpatialElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcExternalSpatialElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3::IfcExternalSpatialElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcExternalSpatialElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcExternalSpatialElement::setPredefinedType(boost::optional< ::Ifc4x3::IfcExternalSpatialElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcExternalSpatialElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x3::IfcRelSpaceBoundary::list::ptr Ifc4x3::IfcExternalSpatialElement::BoundedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[946], 4)->as(); } @@ -11038,7 +11038,7 @@ void Ifc4x3::IfcExternalSpatialElement::setPredefinedType(boost::optional< ::Ifc const IfcParse::entity& Ifc4x3::IfcExternalSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[431]); } const IfcParse::entity& Ifc4x3::IfcExternalSpatialElement::Class() { return *((IfcParse::entity*)IFC4X3_types[431]); } Ifc4x3::IfcExternalSpatialElement::IfcExternalSpatialElement(IfcEntityInstanceData&& e) : IfcExternalSpatialStructureElement(std::move(e)) { } -Ifc4x3::IfcExternalSpatialElement::IfcExternalSpatialElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) : IfcExternalSpatialStructureElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcExternalSpatialElement::IfcExternalSpatialElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) : IfcExternalSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcExternalSpatialStructureElement @@ -11046,7 +11046,7 @@ Ifc4x3::IfcExternalSpatialElement::IfcExternalSpatialElement(std::string v1_Glob const IfcParse::entity& Ifc4x3::IfcExternalSpatialStructureElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[433]); } const IfcParse::entity& Ifc4x3::IfcExternalSpatialStructureElement::Class() { return *((IfcParse::entity*)IFC4X3_types[433]); } Ifc4x3::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(IfcEntityInstanceData&& e) : IfcSpatialElement(std::move(e)) { } -Ifc4x3::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcSpatialElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } +Ifc4x3::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcSpatialElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedHatchStyle @@ -11054,7 +11054,7 @@ Ifc4x3::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(s const IfcParse::entity& Ifc4x3::IfcExternallyDefinedHatchStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_types[426]); } const IfcParse::entity& Ifc4x3::IfcExternallyDefinedHatchStyle::Class() { return *((IfcParse::entity*)IFC4X3_types[426]); } Ifc4x3::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedSurfaceStyle @@ -11062,7 +11062,7 @@ Ifc4x3::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::op const IfcParse::entity& Ifc4x3::IfcExternallyDefinedSurfaceStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_types[427]); } const IfcParse::entity& Ifc4x3::IfcExternallyDefinedSurfaceStyle::Class() { return *((IfcParse::entity*)IFC4X3_types[427]); } Ifc4x3::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedTextFont @@ -11070,32 +11070,32 @@ Ifc4x3::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost const IfcParse::entity& Ifc4x3::IfcExternallyDefinedTextFont::declaration() const { return *((IfcParse::entity*)IFC4X3_types[428]); } const IfcParse::entity& Ifc4x3::IfcExternallyDefinedTextFont::Class() { return *((IfcParse::entity*)IFC4X3_types[428]); } Ifc4x3::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExtrudedAreaSolid -::Ifc4x3::IfcDirection* Ifc4x3::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcDirection>(true); } +::Ifc4x3::IfcDirection* Ifc4x3::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcDirection>(true); } void Ifc4x3::IfcExtrudedAreaSolid::setExtrudedDirection(::Ifc4x3::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x3::IfcExtrudedAreaSolid::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3::IfcExtrudedAreaSolid::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3::IfcExtrudedAreaSolid::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcExtrudedAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_types[434]); } const IfcParse::entity& Ifc4x3::IfcExtrudedAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_types[434]); } Ifc4x3::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4x3::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(::Ifc4x3::IfcProfileDef* v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } +Ifc4x3::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(::Ifc4x3::IfcProfileDef* v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } // Function implementations for IfcExtrudedAreaSolidTapered -::Ifc4x3::IfcProfileDef* Ifc4x3::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcProfileDef>(true); } +::Ifc4x3::IfcProfileDef* Ifc4x3::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcProfileDef>(true); } void Ifc4x3::IfcExtrudedAreaSolidTapered::setEndSweptArea(::Ifc4x3::IfcProfileDef* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3::IfcExtrudedAreaSolidTapered::declaration() const { return *((IfcParse::entity*)IFC4X3_types[435]); } const IfcParse::entity& Ifc4x3::IfcExtrudedAreaSolidTapered::Class() { return *((IfcParse::entity*)IFC4X3_types[435]); } Ifc4x3::IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(IfcEntityInstanceData&& e) : IfcExtrudedAreaSolid(std::move(e)) { } -Ifc4x3::IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(::Ifc4x3::IfcProfileDef* v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3::IfcDirection* v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3::IfcProfileDef* v5_EndSweptArea) : IfcExtrudedAreaSolid(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(::Ifc4x3::IfcProfileDef* v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3::IfcDirection* v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3::IfcProfileDef* v5_EndSweptArea) : IfcExtrudedAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcFace -aggregate_of< ::Ifc4x3::IfcFaceBound >::ptr Ifc4x3::IfcFace::Bounds() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3::IfcFaceBound >(); } +aggregate_of< ::Ifc4x3::IfcFaceBound >::ptr Ifc4x3::IfcFace::Bounds() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3::IfcFaceBound >(); } void Ifc4x3::IfcFace::setBounds(aggregate_of< ::Ifc4x3::IfcFaceBound >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } ::Ifc4x3::IfcTextureMap::list::ptr Ifc4x3::IfcFace::HasTextureMaps() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[1195], 2)->as(); } @@ -11103,29 +11103,29 @@ void Ifc4x3::IfcFace::setBounds(aggregate_of< ::Ifc4x3::IfcFaceBound >::ptr v) { const IfcParse::entity& Ifc4x3::IfcFace::declaration() const { return *((IfcParse::entity*)IFC4X3_types[436]); } const IfcParse::entity& Ifc4x3::IfcFace::Class() { return *((IfcParse::entity*)IFC4X3_types[436]); } Ifc4x3::IfcFace::IfcFace(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3::IfcFace::IfcFace(aggregate_of< ::Ifc4x3::IfcFaceBound >::ptr v1_Bounds) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Bounds)->generalize());; populate_derived(); } +Ifc4x3::IfcFace::IfcFace(aggregate_of< ::Ifc4x3::IfcFaceBound >::ptr v1_Bounds) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Bounds)->generalize());; populate_derived(); } // Function implementations for IfcFaceBasedSurfaceModel -aggregate_of< ::Ifc4x3::IfcConnectedFaceSet >::ptr Ifc4x3::IfcFaceBasedSurfaceModel::FbsmFaces() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3::IfcConnectedFaceSet >(); } +aggregate_of< ::Ifc4x3::IfcConnectedFaceSet >::ptr Ifc4x3::IfcFaceBasedSurfaceModel::FbsmFaces() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3::IfcConnectedFaceSet >(); } void Ifc4x3::IfcFaceBasedSurfaceModel::setFbsmFaces(aggregate_of< ::Ifc4x3::IfcConnectedFaceSet >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3::IfcFaceBasedSurfaceModel::declaration() const { return *((IfcParse::entity*)IFC4X3_types[437]); } const IfcParse::entity& Ifc4x3::IfcFaceBasedSurfaceModel::Class() { return *((IfcParse::entity*)IFC4X3_types[437]); } Ifc4x3::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(aggregate_of< ::Ifc4x3::IfcConnectedFaceSet >::ptr v1_FbsmFaces) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_FbsmFaces)->generalize());; populate_derived(); } +Ifc4x3::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(aggregate_of< ::Ifc4x3::IfcConnectedFaceSet >::ptr v1_FbsmFaces) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_FbsmFaces)->generalize());; populate_derived(); } // Function implementations for IfcFaceBound -::Ifc4x3::IfcLoop* Ifc4x3::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcLoop>(true); } +::Ifc4x3::IfcLoop* Ifc4x3::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcLoop>(true); } void Ifc4x3::IfcFaceBound::setBound(::Ifc4x3::IfcLoop* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -bool Ifc4x3::IfcFaceBound::Orientation() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x3::IfcFaceBound::Orientation() const { bool v = get_attribute_value(1); return v; } void Ifc4x3::IfcFaceBound::setOrientation(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcFaceBound::declaration() const { return *((IfcParse::entity*)IFC4X3_types[438]); } const IfcParse::entity& Ifc4x3::IfcFaceBound::Class() { return *((IfcParse::entity*)IFC4X3_types[438]); } Ifc4x3::IfcFaceBound::IfcFaceBound(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3::IfcFaceBound::IfcFaceBound(::Ifc4x3::IfcLoop* v1_Bound, bool v2_Orientation) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } +Ifc4x3::IfcFaceBound::IfcFaceBound(::Ifc4x3::IfcLoop* v1_Bound, bool v2_Orientation) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } // Function implementations for IfcFaceOuterBound @@ -11133,19 +11133,19 @@ Ifc4x3::IfcFaceBound::IfcFaceBound(::Ifc4x3::IfcLoop* v1_Bound, bool v2_Orientat const IfcParse::entity& Ifc4x3::IfcFaceOuterBound::declaration() const { return *((IfcParse::entity*)IFC4X3_types[439]); } const IfcParse::entity& Ifc4x3::IfcFaceOuterBound::Class() { return *((IfcParse::entity*)IFC4X3_types[439]); } Ifc4x3::IfcFaceOuterBound::IfcFaceOuterBound(IfcEntityInstanceData&& e) : IfcFaceBound(std::move(e)) { } -Ifc4x3::IfcFaceOuterBound::IfcFaceOuterBound(::Ifc4x3::IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } +Ifc4x3::IfcFaceOuterBound::IfcFaceOuterBound(::Ifc4x3::IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } // Function implementations for IfcFaceSurface -::Ifc4x3::IfcSurface* Ifc4x3::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcSurface>(true); } +::Ifc4x3::IfcSurface* Ifc4x3::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcSurface>(true); } void Ifc4x3::IfcFaceSurface::setFaceSurface(::Ifc4x3::IfcSurface* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -bool Ifc4x3::IfcFaceSurface::SameSense() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x3::IfcFaceSurface::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x3::IfcFaceSurface::setSameSense(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcFaceSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_types[440]); } const IfcParse::entity& Ifc4x3::IfcFaceSurface::Class() { return *((IfcParse::entity*)IFC4X3_types[440]); } Ifc4x3::IfcFaceSurface::IfcFaceSurface(IfcEntityInstanceData&& e) : IfcFace(std::move(e)) { } -Ifc4x3::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc4x3::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFace(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } +Ifc4x3::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc4x3::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFace(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } // Function implementations for IfcFacetedBrep @@ -11153,17 +11153,17 @@ Ifc4x3::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc4x3::IfcFaceBound >::p const IfcParse::entity& Ifc4x3::IfcFacetedBrep::declaration() const { return *((IfcParse::entity*)IFC4X3_types[441]); } const IfcParse::entity& Ifc4x3::IfcFacetedBrep::Class() { return *((IfcParse::entity*)IFC4X3_types[441]); } Ifc4x3::IfcFacetedBrep::IfcFacetedBrep(IfcEntityInstanceData&& e) : IfcManifoldSolidBrep(std::move(e)) { } -Ifc4x3::IfcFacetedBrep::IfcFacetedBrep(::Ifc4x3::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcFacetedBrep::IfcFacetedBrep(::Ifc4x3::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcFacetedBrepWithVoids -aggregate_of< ::Ifc4x3::IfcClosedShell >::ptr Ifc4x3::IfcFacetedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3::IfcClosedShell >(); } +aggregate_of< ::Ifc4x3::IfcClosedShell >::ptr Ifc4x3::IfcFacetedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3::IfcClosedShell >(); } void Ifc4x3::IfcFacetedBrepWithVoids::setVoids(aggregate_of< ::Ifc4x3::IfcClosedShell >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcFacetedBrepWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_types[442]); } const IfcParse::entity& Ifc4x3::IfcFacetedBrepWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_types[442]); } Ifc4x3::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(IfcEntityInstanceData&& e) : IfcFacetedBrep(std::move(e)) { } -Ifc4x3::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4x3::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3::IfcClosedShell >::ptr v2_Voids) : IfcFacetedBrep(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } +Ifc4x3::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4x3::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3::IfcClosedShell >::ptr v2_Voids) : IfcFacetedBrep(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } // Function implementations for IfcFacility @@ -11171,87 +11171,87 @@ Ifc4x3::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4x3::IfcClosedShel const IfcParse::entity& Ifc4x3::IfcFacility::declaration() const { return *((IfcParse::entity*)IFC4X3_types[443]); } const IfcParse::entity& Ifc4x3::IfcFacility::Class() { return *((IfcParse::entity*)IFC4X3_types[443]); } Ifc4x3::IfcFacility::IfcFacility(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x3::IfcFacility::IfcFacility(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } +Ifc4x3::IfcFacility::IfcFacility(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } // Function implementations for IfcFacilityPart -::Ifc4x3::IfcFacilityUsageEnum::Value Ifc4x3::IfcFacilityPart::UsageType() const { return ::Ifc4x3::IfcFacilityUsageEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcFacilityUsageEnum::Value Ifc4x3::IfcFacilityPart::UsageType() const { return ::Ifc4x3::IfcFacilityUsageEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcFacilityPart::setUsageType(::Ifc4x3::IfcFacilityUsageEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcFacilityUsageEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcFacilityPart::declaration() const { return *((IfcParse::entity*)IFC4X3_types[444]); } const IfcParse::entity& Ifc4x3::IfcFacilityPart::Class() { return *((IfcParse::entity*)IFC4X3_types[444]); } Ifc4x3::IfcFacilityPart::IfcFacilityPart(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x3::IfcFacilityPart::IfcFacilityPart(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType)));; populate_derived(); } +Ifc4x3::IfcFacilityPart::IfcFacilityPart(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType)));; populate_derived(); } // Function implementations for IfcFacilityPartCommon -boost::optional< ::Ifc4x3::IfcFacilityPartCommonTypeEnum::Value > Ifc4x3::IfcFacilityPartCommon::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcFacilityPartCommonTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3::IfcFacilityPartCommonTypeEnum::Value > Ifc4x3::IfcFacilityPartCommon::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcFacilityPartCommonTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3::IfcFacilityPartCommon::setPredefinedType(boost::optional< ::Ifc4x3::IfcFacilityPartCommonTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3::IfcFacilityPartCommonTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3::IfcFacilityPartCommon::declaration() const { return *((IfcParse::entity*)IFC4X3_types[445]); } const IfcParse::entity& Ifc4x3::IfcFacilityPartCommon::Class() { return *((IfcParse::entity*)IFC4X3_types[445]); } Ifc4x3::IfcFacilityPartCommon::IfcFacilityPartCommon(IfcEntityInstanceData&& e) : IfcFacilityPart(std::move(e)) { } -Ifc4x3::IfcFacilityPartCommon::IfcFacilityPartCommon(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3::IfcFacilityPartCommonTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcFacilityPartCommonTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcFacilityPartCommon::IfcFacilityPartCommon(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3::IfcFacilityPartCommonTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcFacilityPartCommonTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFailureConnectionCondition -boost::optional< double > Ifc4x3::IfcFailureConnectionCondition::TensionFailureX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3::IfcFailureConnectionCondition::TensionFailureX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3::IfcFailureConnectionCondition::setTensionFailureX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3::IfcFailureConnectionCondition::TensionFailureY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3::IfcFailureConnectionCondition::TensionFailureY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3::IfcFailureConnectionCondition::setTensionFailureY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3::IfcFailureConnectionCondition::TensionFailureZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3::IfcFailureConnectionCondition::TensionFailureZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3::IfcFailureConnectionCondition::setTensionFailureZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3::IfcFailureConnectionCondition::CompressionFailureX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3::IfcFailureConnectionCondition::CompressionFailureX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3::IfcFailureConnectionCondition::setCompressionFailureX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3::IfcFailureConnectionCondition::CompressionFailureY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3::IfcFailureConnectionCondition::CompressionFailureY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3::IfcFailureConnectionCondition::setCompressionFailureY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3::IfcFailureConnectionCondition::CompressionFailureZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3::IfcFailureConnectionCondition::CompressionFailureZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3::IfcFailureConnectionCondition::setCompressionFailureZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3::IfcFailureConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_types[448]); } const IfcParse::entity& Ifc4x3::IfcFailureConnectionCondition::Class() { return *((IfcParse::entity*)IFC4X3_types[448]); } Ifc4x3::IfcFailureConnectionCondition::IfcFailureConnectionCondition(IfcEntityInstanceData&& e) : IfcStructuralConnectionCondition(std::move(e)) { } -Ifc4x3::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; populate_derived(); } +Ifc4x3::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; populate_derived(); } // Function implementations for IfcFan -boost::optional< ::Ifc4x3::IfcFanTypeEnum::Value > Ifc4x3::IfcFan::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcFanTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcFanTypeEnum::Value > Ifc4x3::IfcFan::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcFanTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcFan::setPredefinedType(boost::optional< ::Ifc4x3::IfcFanTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcFanTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcFan::declaration() const { return *((IfcParse::entity*)IFC4X3_types[449]); } const IfcParse::entity& Ifc4x3::IfcFan::Class() { return *((IfcParse::entity*)IFC4X3_types[449]); } Ifc4x3::IfcFan::IfcFan(IfcEntityInstanceData&& e) : IfcFlowMovingDevice(std::move(e)) { } -Ifc4x3::IfcFan::IfcFan(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcFanTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcFan::IfcFan(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcFanTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFanType -::Ifc4x3::IfcFanTypeEnum::Value Ifc4x3::IfcFanType::PredefinedType() const { return ::Ifc4x3::IfcFanTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcFanTypeEnum::Value Ifc4x3::IfcFanType::PredefinedType() const { return ::Ifc4x3::IfcFanTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcFanType::setPredefinedType(::Ifc4x3::IfcFanTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcFanTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcFanType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[450]); } const IfcParse::entity& Ifc4x3::IfcFanType::Class() { return *((IfcParse::entity*)IFC4X3_types[450]); } Ifc4x3::IfcFanType::IfcFanType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(e)) { } -Ifc4x3::IfcFanType::IfcFanType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFanTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcFanType::IfcFanType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFanTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFastener -boost::optional< ::Ifc4x3::IfcFastenerTypeEnum::Value > Ifc4x3::IfcFastener::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcFastenerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcFastenerTypeEnum::Value > Ifc4x3::IfcFastener::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcFastenerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcFastener::setPredefinedType(boost::optional< ::Ifc4x3::IfcFastenerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcFastenerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcFastener::declaration() const { return *((IfcParse::entity*)IFC4X3_types[452]); } const IfcParse::entity& Ifc4x3::IfcFastener::Class() { return *((IfcParse::entity*)IFC4X3_types[452]); } Ifc4x3::IfcFastener::IfcFastener(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3::IfcFastener::IfcFastener(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcFastenerTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcFastener::IfcFastener(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcFastenerTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFastenerType -::Ifc4x3::IfcFastenerTypeEnum::Value Ifc4x3::IfcFastenerType::PredefinedType() const { return ::Ifc4x3::IfcFastenerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcFastenerTypeEnum::Value Ifc4x3::IfcFastenerType::PredefinedType() const { return ::Ifc4x3::IfcFastenerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcFastenerType::setPredefinedType(::Ifc4x3::IfcFastenerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcFastenerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcFastenerType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[453]); } const IfcParse::entity& Ifc4x3::IfcFastenerType::Class() { return *((IfcParse::entity*)IFC4X3_types[453]); } Ifc4x3::IfcFastenerType::IfcFastenerType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3::IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFastenerTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFastenerTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFeatureElement @@ -11259,7 +11259,7 @@ Ifc4x3::IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, ::Ifc4x3::IfcO const IfcParse::entity& Ifc4x3::IfcFeatureElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[455]); } const IfcParse::entity& Ifc4x3::IfcFeatureElement::Class() { return *((IfcParse::entity*)IFC4X3_types[455]); } Ifc4x3::IfcFeatureElement::IfcFeatureElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3::IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3::IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFeatureElementAddition @@ -11268,7 +11268,7 @@ Ifc4x3::IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, ::Ifc4x3:: const IfcParse::entity& Ifc4x3::IfcFeatureElementAddition::declaration() const { return *((IfcParse::entity*)IFC4X3_types[456]); } const IfcParse::entity& Ifc4x3::IfcFeatureElementAddition::Class() { return *((IfcParse::entity*)IFC4X3_types[456]); } Ifc4x3::IfcFeatureElementAddition::IfcFeatureElementAddition(IfcEntityInstanceData&& e) : IfcFeatureElement(std::move(e)) { } -Ifc4x3::IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3::IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFeatureElementSubtraction @@ -11277,101 +11277,101 @@ Ifc4x3::IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_Glob const IfcParse::entity& Ifc4x3::IfcFeatureElementSubtraction::declaration() const { return *((IfcParse::entity*)IFC4X3_types[457]); } const IfcParse::entity& Ifc4x3::IfcFeatureElementSubtraction::Class() { return *((IfcParse::entity*)IFC4X3_types[457]); } Ifc4x3::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntityInstanceData&& e) : IfcFeatureElement(std::move(e)) { } -Ifc4x3::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFillAreaStyle -aggregate_of< ::Ifc4x3::IfcFillStyleSelect >::ptr Ifc4x3::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3::IfcFillStyleSelect >(); } +aggregate_of< ::Ifc4x3::IfcFillStyleSelect >::ptr Ifc4x3::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3::IfcFillStyleSelect >(); } void Ifc4x3::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x3::IfcFillStyleSelect >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< bool > Ifc4x3::IfcFillAreaStyle::ModelOrDraughting() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } bool v = data_.get_attribute_value(2); return v; } +boost::optional< bool > Ifc4x3::IfcFillAreaStyle::ModelOrDraughting() const { if(get_attribute_value(2).isNull()) { return boost::none; } bool v = get_attribute_value(2); return v; } void Ifc4x3::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3::IfcFillAreaStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_types[458]); } const IfcParse::entity& Ifc4x3::IfcFillAreaStyle::Class() { return *((IfcParse::entity*)IFC4X3_types[458]); } Ifc4x3::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x3::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_FillStyles)->generalize()); if (v3_ModelOrDraughting) {set_attribute_value(2, (*v3_ModelOrDraughting)); }; populate_derived(); } +Ifc4x3::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_FillStyles)->generalize()); if (v3_ModelOrDraughting) {set_attribute_value(2, (*v3_ModelOrDraughting)); }; populate_derived(); } // Function implementations for IfcFillAreaStyleHatching -::Ifc4x3::IfcCurveStyle* Ifc4x3::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcCurveStyle>(true); } +::Ifc4x3::IfcCurveStyle* Ifc4x3::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcCurveStyle>(true); } void Ifc4x3::IfcFillAreaStyleHatching::setHatchLineAppearance(::Ifc4x3::IfcCurveStyle* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3::IfcHatchLineDistanceSelect* Ifc4x3::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcHatchLineDistanceSelect>(true); } +::Ifc4x3::IfcHatchLineDistanceSelect* Ifc4x3::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcHatchLineDistanceSelect>(true); } void Ifc4x3::IfcFillAreaStyleHatching::setStartOfNextHatchLine(::Ifc4x3::IfcHatchLineDistanceSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3::IfcCartesianPoint* Ifc4x3::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcCartesianPoint>(true); } +::Ifc4x3::IfcCartesianPoint* Ifc4x3::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcCartesianPoint>(true); } void Ifc4x3::IfcFillAreaStyleHatching::setPointOfReferenceHatchLine(::Ifc4x3::IfcCartesianPoint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3::IfcCartesianPoint* Ifc4x3::IfcFillAreaStyleHatching::PatternStart() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcCartesianPoint>(true); } +::Ifc4x3::IfcCartesianPoint* Ifc4x3::IfcFillAreaStyleHatching::PatternStart() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcCartesianPoint>(true); } void Ifc4x3::IfcFillAreaStyleHatching::setPatternStart(::Ifc4x3::IfcCartesianPoint* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -double Ifc4x3::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = get_attribute_value(4); return v; } void Ifc4x3::IfcFillAreaStyleHatching::setHatchLineAngle(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3::IfcFillAreaStyleHatching::declaration() const { return *((IfcParse::entity*)IFC4X3_types[459]); } const IfcParse::entity& Ifc4x3::IfcFillAreaStyleHatching::Class() { return *((IfcParse::entity*)IFC4X3_types[459]); } Ifc4x3::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(::Ifc4x3::IfcCurveStyle* v1_HatchLineAppearance, ::Ifc4x3::IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, ::Ifc4x3::IfcCartesianPoint* v3_PointOfReferenceHatchLine, ::Ifc4x3::IfcCartesianPoint* v4_PatternStart, double v5_HatchLineAngle) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_HatchLineAppearance ? v1_HatchLineAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_StartOfNextHatchLine ? v2_StartOfNextHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PointOfReferenceHatchLine ? v3_PointOfReferenceHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PatternStart ? v4_PatternStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_HatchLineAngle));; populate_derived(); } +Ifc4x3::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(::Ifc4x3::IfcCurveStyle* v1_HatchLineAppearance, ::Ifc4x3::IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, ::Ifc4x3::IfcCartesianPoint* v3_PointOfReferenceHatchLine, ::Ifc4x3::IfcCartesianPoint* v4_PatternStart, double v5_HatchLineAngle) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_HatchLineAppearance ? v1_HatchLineAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_StartOfNextHatchLine ? v2_StartOfNextHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PointOfReferenceHatchLine ? v3_PointOfReferenceHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PatternStart ? v4_PatternStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_HatchLineAngle));; populate_derived(); } // Function implementations for IfcFillAreaStyleTiles -aggregate_of< ::Ifc4x3::IfcVector >::ptr Ifc4x3::IfcFillAreaStyleTiles::TilingPattern() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3::IfcVector >(); } +aggregate_of< ::Ifc4x3::IfcVector >::ptr Ifc4x3::IfcFillAreaStyleTiles::TilingPattern() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3::IfcVector >(); } void Ifc4x3::IfcFillAreaStyleTiles::setTilingPattern(aggregate_of< ::Ifc4x3::IfcVector >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3::IfcStyledItem >::ptr Ifc4x3::IfcFillAreaStyleTiles::Tiles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3::IfcStyledItem >(); } +aggregate_of< ::Ifc4x3::IfcStyledItem >::ptr Ifc4x3::IfcFillAreaStyleTiles::Tiles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3::IfcStyledItem >(); } void Ifc4x3::IfcFillAreaStyleTiles::setTiles(aggregate_of< ::Ifc4x3::IfcStyledItem >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -double Ifc4x3::IfcFillAreaStyleTiles::TilingScale() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3::IfcFillAreaStyleTiles::TilingScale() const { double v = get_attribute_value(2); return v; } void Ifc4x3::IfcFillAreaStyleTiles::setTilingScale(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcFillAreaStyleTiles::declaration() const { return *((IfcParse::entity*)IFC4X3_types[460]); } const IfcParse::entity& Ifc4x3::IfcFillAreaStyleTiles::Class() { return *((IfcParse::entity*)IFC4X3_types[460]); } Ifc4x3::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(aggregate_of< ::Ifc4x3::IfcVector >::ptr v1_TilingPattern, aggregate_of< ::Ifc4x3::IfcStyledItem >::ptr v2_Tiles, double v3_TilingScale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_TilingPattern)->generalize());set_attribute_value(1, (v2_Tiles)->generalize());set_attribute_value(2, (v3_TilingScale));; populate_derived(); } +Ifc4x3::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(aggregate_of< ::Ifc4x3::IfcVector >::ptr v1_TilingPattern, aggregate_of< ::Ifc4x3::IfcStyledItem >::ptr v2_Tiles, double v3_TilingScale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_TilingPattern)->generalize());set_attribute_value(1, (v2_Tiles)->generalize());set_attribute_value(2, (v3_TilingScale));; populate_derived(); } // Function implementations for IfcFilter -boost::optional< ::Ifc4x3::IfcFilterTypeEnum::Value > Ifc4x3::IfcFilter::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcFilterTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcFilterTypeEnum::Value > Ifc4x3::IfcFilter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcFilterTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcFilter::setPredefinedType(boost::optional< ::Ifc4x3::IfcFilterTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcFilterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcFilter::declaration() const { return *((IfcParse::entity*)IFC4X3_types[462]); } const IfcParse::entity& Ifc4x3::IfcFilter::Class() { return *((IfcParse::entity*)IFC4X3_types[462]); } Ifc4x3::IfcFilter::IfcFilter(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4x3::IfcFilter::IfcFilter(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcFilterTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcFilter::IfcFilter(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcFilterTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFilterType -::Ifc4x3::IfcFilterTypeEnum::Value Ifc4x3::IfcFilterType::PredefinedType() const { return ::Ifc4x3::IfcFilterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcFilterTypeEnum::Value Ifc4x3::IfcFilterType::PredefinedType() const { return ::Ifc4x3::IfcFilterTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcFilterType::setPredefinedType(::Ifc4x3::IfcFilterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcFilterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcFilterType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[463]); } const IfcParse::entity& Ifc4x3::IfcFilterType::Class() { return *((IfcParse::entity*)IFC4X3_types[463]); } Ifc4x3::IfcFilterType::IfcFilterType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4x3::IfcFilterType::IfcFilterType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFilterTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcFilterType::IfcFilterType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFilterTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFireSuppressionTerminal -boost::optional< ::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x3::IfcFireSuppressionTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x3::IfcFireSuppressionTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcFireSuppressionTerminal::setPredefinedType(boost::optional< ::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcFireSuppressionTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_types[465]); } const IfcParse::entity& Ifc4x3::IfcFireSuppressionTerminal::Class() { return *((IfcParse::entity*)IFC4X3_types[465]); } Ifc4x3::IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3::IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFireSuppressionTerminalType -::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcFireSuppressionTerminalType::setPredefinedType(::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcFireSuppressionTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[466]); } const IfcParse::entity& Ifc4x3::IfcFireSuppressionTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_types[466]); } Ifc4x3::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFixedReferenceSweptAreaSolid -::Ifc4x3::IfcDirection* Ifc4x3::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcDirection>(true); } +::Ifc4x3::IfcDirection* Ifc4x3::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcDirection>(true); } void Ifc4x3::IfcFixedReferenceSweptAreaSolid::setFixedReference(::Ifc4x3::IfcDirection* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcFixedReferenceSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_types[468]); } const IfcParse::entity& Ifc4x3::IfcFixedReferenceSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_types[468]); } Ifc4x3::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(IfcEntityInstanceData&& e) : IfcDirectrixCurveSweptAreaSolid(std::move(e)) { } -Ifc4x3::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(::Ifc4x3::IfcProfileDef* v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3::IfcCurve* v3_Directrix, ::Ifc4x3::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3::IfcDirection* v6_FixedReference) : IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_FixedReference ? v6_FixedReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(::Ifc4x3::IfcProfileDef* v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3::IfcCurve* v3_Directrix, ::Ifc4x3::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3::IfcDirection* v6_FixedReference) : IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_FixedReference ? v6_FixedReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcFlowController @@ -11379,7 +11379,7 @@ Ifc4x3::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(::Ifc4x const IfcParse::entity& Ifc4x3::IfcFlowController::declaration() const { return *((IfcParse::entity*)IFC4X3_types[469]); } const IfcParse::entity& Ifc4x3::IfcFlowController::Class() { return *((IfcParse::entity*)IFC4X3_types[469]); } Ifc4x3::IfcFlowController::IfcFlowController(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3::IfcFlowController::IfcFlowController(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3::IfcFlowController::IfcFlowController(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowControllerType @@ -11387,7 +11387,7 @@ Ifc4x3::IfcFlowController::IfcFlowController(std::string v1_GlobalId, ::Ifc4x3:: const IfcParse::entity& Ifc4x3::IfcFlowControllerType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[470]); } const IfcParse::entity& Ifc4x3::IfcFlowControllerType::Class() { return *((IfcParse::entity*)IFC4X3_types[470]); } Ifc4x3::IfcFlowControllerType::IfcFlowControllerType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3::IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3::IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowFitting @@ -11395,7 +11395,7 @@ Ifc4x3::IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x3::IfcFlowFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_types[472]); } const IfcParse::entity& Ifc4x3::IfcFlowFitting::Class() { return *((IfcParse::entity*)IFC4X3_types[472]); } Ifc4x3::IfcFlowFitting::IfcFlowFitting(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3::IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3::IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowFittingType @@ -11403,47 +11403,47 @@ Ifc4x3::IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, ::Ifc4x3::IfcOwn const IfcParse::entity& Ifc4x3::IfcFlowFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[473]); } const IfcParse::entity& Ifc4x3::IfcFlowFittingType::Class() { return *((IfcParse::entity*)IFC4X3_types[473]); } Ifc4x3::IfcFlowFittingType::IfcFlowFittingType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3::IfcFlowFittingType::IfcFlowFittingType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3::IfcFlowFittingType::IfcFlowFittingType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowInstrument -boost::optional< ::Ifc4x3::IfcFlowInstrumentTypeEnum::Value > Ifc4x3::IfcFlowInstrument::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcFlowInstrumentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcFlowInstrumentTypeEnum::Value > Ifc4x3::IfcFlowInstrument::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcFlowInstrument::setPredefinedType(boost::optional< ::Ifc4x3::IfcFlowInstrumentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcFlowInstrumentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcFlowInstrument::declaration() const { return *((IfcParse::entity*)IFC4X3_types[474]); } const IfcParse::entity& Ifc4x3::IfcFlowInstrument::Class() { return *((IfcParse::entity*)IFC4X3_types[474]); } Ifc4x3::IfcFlowInstrument::IfcFlowInstrument(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3::IfcFlowInstrument::IfcFlowInstrument(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcFlowInstrument::IfcFlowInstrument(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFlowInstrumentType -::Ifc4x3::IfcFlowInstrumentTypeEnum::Value Ifc4x3::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4x3::IfcFlowInstrumentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcFlowInstrumentTypeEnum::Value Ifc4x3::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4x3::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcFlowInstrumentType::setPredefinedType(::Ifc4x3::IfcFlowInstrumentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcFlowInstrumentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcFlowInstrumentType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[475]); } const IfcParse::entity& Ifc4x3::IfcFlowInstrumentType::Class() { return *((IfcParse::entity*)IFC4X3_types[475]); } Ifc4x3::IfcFlowInstrumentType::IfcFlowInstrumentType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3::IfcFlowInstrumentType::IfcFlowInstrumentType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcFlowInstrumentType::IfcFlowInstrumentType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFlowMeter -boost::optional< ::Ifc4x3::IfcFlowMeterTypeEnum::Value > Ifc4x3::IfcFlowMeter::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcFlowMeterTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcFlowMeterTypeEnum::Value > Ifc4x3::IfcFlowMeter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcFlowMeterTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcFlowMeter::setPredefinedType(boost::optional< ::Ifc4x3::IfcFlowMeterTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcFlowMeterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcFlowMeter::declaration() const { return *((IfcParse::entity*)IFC4X3_types[477]); } const IfcParse::entity& Ifc4x3::IfcFlowMeter::Class() { return *((IfcParse::entity*)IFC4X3_types[477]); } Ifc4x3::IfcFlowMeter::IfcFlowMeter(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3::IfcFlowMeter::IfcFlowMeter(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcFlowMeter::IfcFlowMeter(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFlowMeterType -::Ifc4x3::IfcFlowMeterTypeEnum::Value Ifc4x3::IfcFlowMeterType::PredefinedType() const { return ::Ifc4x3::IfcFlowMeterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcFlowMeterTypeEnum::Value Ifc4x3::IfcFlowMeterType::PredefinedType() const { return ::Ifc4x3::IfcFlowMeterTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcFlowMeterType::setPredefinedType(::Ifc4x3::IfcFlowMeterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcFlowMeterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcFlowMeterType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[478]); } const IfcParse::entity& Ifc4x3::IfcFlowMeterType::Class() { return *((IfcParse::entity*)IFC4X3_types[478]); } Ifc4x3::IfcFlowMeterType::IfcFlowMeterType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3::IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFlowMeterTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFlowMeterTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFlowMovingDevice @@ -11451,7 +11451,7 @@ Ifc4x3::IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, ::Ifc4x3::If const IfcParse::entity& Ifc4x3::IfcFlowMovingDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_types[480]); } const IfcParse::entity& Ifc4x3::IfcFlowMovingDevice::Class() { return *((IfcParse::entity*)IFC4X3_types[480]); } Ifc4x3::IfcFlowMovingDevice::IfcFlowMovingDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3::IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3::IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowMovingDeviceType @@ -11459,7 +11459,7 @@ Ifc4x3::IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3::IfcFlowMovingDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[481]); } const IfcParse::entity& Ifc4x3::IfcFlowMovingDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_types[481]); } Ifc4x3::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowSegment @@ -11467,7 +11467,7 @@ Ifc4x3::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_GlobalId const IfcParse::entity& Ifc4x3::IfcFlowSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_types[482]); } const IfcParse::entity& Ifc4x3::IfcFlowSegment::Class() { return *((IfcParse::entity*)IFC4X3_types[482]); } Ifc4x3::IfcFlowSegment::IfcFlowSegment(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3::IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3::IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowSegmentType @@ -11475,7 +11475,7 @@ Ifc4x3::IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, ::Ifc4x3::IfcOwn const IfcParse::entity& Ifc4x3::IfcFlowSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[483]); } const IfcParse::entity& Ifc4x3::IfcFlowSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_types[483]); } Ifc4x3::IfcFlowSegmentType::IfcFlowSegmentType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3::IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3::IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowStorageDevice @@ -11483,7 +11483,7 @@ Ifc4x3::IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, ::Ifc4x3 const IfcParse::entity& Ifc4x3::IfcFlowStorageDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_types[484]); } const IfcParse::entity& Ifc4x3::IfcFlowStorageDevice::Class() { return *((IfcParse::entity*)IFC4X3_types[484]); } Ifc4x3::IfcFlowStorageDevice::IfcFlowStorageDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3::IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3::IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowStorageDeviceType @@ -11491,7 +11491,7 @@ Ifc4x3::IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x3::IfcFlowStorageDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[485]); } const IfcParse::entity& Ifc4x3::IfcFlowStorageDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_types[485]); } Ifc4x3::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowTerminal @@ -11499,7 +11499,7 @@ Ifc4x3::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_Global const IfcParse::entity& Ifc4x3::IfcFlowTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_types[486]); } const IfcParse::entity& Ifc4x3::IfcFlowTerminal::Class() { return *((IfcParse::entity*)IFC4X3_types[486]); } Ifc4x3::IfcFlowTerminal::IfcFlowTerminal(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3::IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3::IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowTerminalType @@ -11507,7 +11507,7 @@ Ifc4x3::IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, ::Ifc4x3::IfcO const IfcParse::entity& Ifc4x3::IfcFlowTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[487]); } const IfcParse::entity& Ifc4x3::IfcFlowTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_types[487]); } Ifc4x3::IfcFlowTerminalType::IfcFlowTerminalType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3::IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3::IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowTreatmentDevice @@ -11515,7 +11515,7 @@ Ifc4x3::IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3::IfcFlowTreatmentDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_types[488]); } const IfcParse::entity& Ifc4x3::IfcFlowTreatmentDevice::Class() { return *((IfcParse::entity*)IFC4X3_types[488]); } Ifc4x3::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowTreatmentDeviceType @@ -11523,27 +11523,27 @@ Ifc4x3::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_GlobalId, const IfcParse::entity& Ifc4x3::IfcFlowTreatmentDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[489]); } const IfcParse::entity& Ifc4x3::IfcFlowTreatmentDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_types[489]); } Ifc4x3::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFooting -boost::optional< ::Ifc4x3::IfcFootingTypeEnum::Value > Ifc4x3::IfcFooting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcFootingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcFootingTypeEnum::Value > Ifc4x3::IfcFooting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcFootingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcFooting::setPredefinedType(boost::optional< ::Ifc4x3::IfcFootingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcFootingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcFooting::declaration() const { return *((IfcParse::entity*)IFC4X3_types[493]); } const IfcParse::entity& Ifc4x3::IfcFooting::Class() { return *((IfcParse::entity*)IFC4X3_types[493]); } Ifc4x3::IfcFooting::IfcFooting(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3::IfcFooting::IfcFooting(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcFootingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcFooting::IfcFooting(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcFootingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFootingType -::Ifc4x3::IfcFootingTypeEnum::Value Ifc4x3::IfcFootingType::PredefinedType() const { return ::Ifc4x3::IfcFootingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcFootingTypeEnum::Value Ifc4x3::IfcFootingType::PredefinedType() const { return ::Ifc4x3::IfcFootingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcFootingType::setPredefinedType(::Ifc4x3::IfcFootingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcFootingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcFootingType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[494]); } const IfcParse::entity& Ifc4x3::IfcFootingType::Class() { return *((IfcParse::entity*)IFC4X3_types[494]); } Ifc4x3::IfcFootingType::IfcFootingType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3::IfcFootingType::IfcFootingType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFootingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcFootingType::IfcFootingType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcFootingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFurnishingElement @@ -11551,7 +11551,7 @@ Ifc4x3::IfcFootingType::IfcFootingType(std::string v1_GlobalId, ::Ifc4x3::IfcOwn const IfcParse::entity& Ifc4x3::IfcFurnishingElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[498]); } const IfcParse::entity& Ifc4x3::IfcFurnishingElement::Class() { return *((IfcParse::entity*)IFC4X3_types[498]); } Ifc4x3::IfcFurnishingElement::IfcFurnishingElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3::IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3::IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFurnishingElementType @@ -11559,49 +11559,49 @@ Ifc4x3::IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x3::IfcFurnishingElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[499]); } const IfcParse::entity& Ifc4x3::IfcFurnishingElementType::Class() { return *((IfcParse::entity*)IFC4X3_types[499]); } Ifc4x3::IfcFurnishingElementType::IfcFurnishingElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3::IfcFurnishingElementType::IfcFurnishingElementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3::IfcFurnishingElementType::IfcFurnishingElementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFurniture -boost::optional< ::Ifc4x3::IfcFurnitureTypeEnum::Value > Ifc4x3::IfcFurniture::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcFurnitureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcFurnitureTypeEnum::Value > Ifc4x3::IfcFurniture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcFurnitureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcFurniture::setPredefinedType(boost::optional< ::Ifc4x3::IfcFurnitureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcFurnitureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcFurniture::declaration() const { return *((IfcParse::entity*)IFC4X3_types[500]); } const IfcParse::entity& Ifc4x3::IfcFurniture::Class() { return *((IfcParse::entity*)IFC4X3_types[500]); } Ifc4x3::IfcFurniture::IfcFurniture(IfcEntityInstanceData&& e) : IfcFurnishingElement(std::move(e)) { } -Ifc4x3::IfcFurniture::IfcFurniture(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcFurnitureTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcFurniture::IfcFurniture(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcFurnitureTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFurnitureType -::Ifc4x3::IfcAssemblyPlaceEnum::Value Ifc4x3::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x3::IfcAssemblyPlaceEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcAssemblyPlaceEnum::Value Ifc4x3::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x3::IfcAssemblyPlaceEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcFurnitureType::setAssemblyPlace(::Ifc4x3::IfcAssemblyPlaceEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcAssemblyPlaceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< ::Ifc4x3::IfcFurnitureTypeEnum::Value > Ifc4x3::IfcFurnitureType::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcFurnitureTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3::IfcFurnitureTypeEnum::Value > Ifc4x3::IfcFurnitureType::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcFurnitureTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3::IfcFurnitureType::setPredefinedType(boost::optional< ::Ifc4x3::IfcFurnitureTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3::IfcFurnitureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3::IfcFurnitureType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[501]); } const IfcParse::entity& Ifc4x3::IfcFurnitureType::Class() { return *((IfcParse::entity*)IFC4X3_types[501]); } Ifc4x3::IfcFurnitureType::IfcFurnitureType(IfcEntityInstanceData&& e) : IfcFurnishingElementType(std::move(e)) { } -Ifc4x3::IfcFurnitureType::IfcFurnitureType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, boost::optional< ::Ifc4x3::IfcFurnitureTypeEnum::Value > v11_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcFurnitureType::IfcFurnitureType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, boost::optional< ::Ifc4x3::IfcFurnitureTypeEnum::Value > v11_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGeographicElement -boost::optional< ::Ifc4x3::IfcGeographicElementTypeEnum::Value > Ifc4x3::IfcGeographicElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcGeographicElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcGeographicElementTypeEnum::Value > Ifc4x3::IfcGeographicElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcGeographicElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcGeographicElement::setPredefinedType(boost::optional< ::Ifc4x3::IfcGeographicElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcGeographicElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcGeographicElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[503]); } const IfcParse::entity& Ifc4x3::IfcGeographicElement::Class() { return *((IfcParse::entity*)IFC4X3_types[503]); } Ifc4x3::IfcGeographicElement::IfcGeographicElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3::IfcGeographicElement::IfcGeographicElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) : IfcElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcGeographicElement::IfcGeographicElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGeographicElementType -::Ifc4x3::IfcGeographicElementTypeEnum::Value Ifc4x3::IfcGeographicElementType::PredefinedType() const { return ::Ifc4x3::IfcGeographicElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcGeographicElementTypeEnum::Value Ifc4x3::IfcGeographicElementType::PredefinedType() const { return ::Ifc4x3::IfcGeographicElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcGeographicElementType::setPredefinedType(::Ifc4x3::IfcGeographicElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcGeographicElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcGeographicElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[504]); } const IfcParse::entity& Ifc4x3::IfcGeographicElementType::Class() { return *((IfcParse::entity*)IFC4X3_types[504]); } Ifc4x3::IfcGeographicElementType::IfcGeographicElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3::IfcGeographicElementType::IfcGeographicElementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcGeographicElementTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcGeographicElementType::IfcGeographicElementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcGeographicElementTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcGeometricCurveSet @@ -11609,16 +11609,16 @@ Ifc4x3::IfcGeographicElementType::IfcGeographicElementType(std::string v1_Global const IfcParse::entity& Ifc4x3::IfcGeometricCurveSet::declaration() const { return *((IfcParse::entity*)IFC4X3_types[506]); } const IfcParse::entity& Ifc4x3::IfcGeometricCurveSet::Class() { return *((IfcParse::entity*)IFC4X3_types[506]); } Ifc4x3::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData&& e) : IfcGeometricSet(std::move(e)) { } -Ifc4x3::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } +Ifc4x3::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } // Function implementations for IfcGeometricRepresentationContext -int Ifc4x3::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = data_.get_attribute_value(2); return v; } +int Ifc4x3::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = get_attribute_value(2); return v; } void Ifc4x3::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(int v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4x3::IfcGeometricRepresentationContext::Precision() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3::IfcGeometricRepresentationContext::Precision() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3::IfcAxis2Placement* Ifc4x3::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcAxis2Placement>(true); } +::Ifc4x3::IfcAxis2Placement* Ifc4x3::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcAxis2Placement>(true); } void Ifc4x3::IfcGeometricRepresentationContext::setWorldCoordinateSystem(::Ifc4x3::IfcAxis2Placement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3::IfcDirection* Ifc4x3::IfcGeometricRepresentationContext::TrueNorth() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcDirection>(true); } +::Ifc4x3::IfcDirection* Ifc4x3::IfcGeometricRepresentationContext::TrueNorth() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcDirection>(true); } void Ifc4x3::IfcGeometricRepresentationContext::setTrueNorth(::Ifc4x3::IfcDirection* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc4x3::IfcGeometricRepresentationSubContext::list::ptr Ifc4x3::IfcGeometricRepresentationContext::HasSubContexts() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[510], 6)->as(); } @@ -11627,7 +11627,7 @@ void Ifc4x3::IfcGeometricRepresentationContext::setTrueNorth(::Ifc4x3::IfcDirect const IfcParse::entity& Ifc4x3::IfcGeometricRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X3_types[508]); } const IfcParse::entity& Ifc4x3::IfcGeometricRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X3_types[508]); } Ifc4x3::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(IfcEntityInstanceData&& e) : IfcRepresentationContext(std::move(e)) { } -Ifc4x3::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, ::Ifc4x3::IfcAxis2Placement* v5_WorldCoordinateSystem, ::Ifc4x3::IfcDirection* v6_TrueNorth) : IfcRepresentationContext(IfcEntityInstanceData(storage_t(6))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, v5_WorldCoordinateSystem ? v5_WorldCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_TrueNorth ? v6_TrueNorth->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, ::Ifc4x3::IfcAxis2Placement* v5_WorldCoordinateSystem, ::Ifc4x3::IfcDirection* v6_TrueNorth) : IfcRepresentationContext(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, v5_WorldCoordinateSystem ? v5_WorldCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_TrueNorth ? v6_TrueNorth->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcGeometricRepresentationItem @@ -11635,33 +11635,33 @@ Ifc4x3::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boo const IfcParse::entity& Ifc4x3::IfcGeometricRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_types[509]); } const IfcParse::entity& Ifc4x3::IfcGeometricRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_types[509]); } Ifc4x3::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x3::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcGeometricRepresentationSubContext -::Ifc4x3::IfcGeometricRepresentationContext* Ifc4x3::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3::IfcGeometricRepresentationContext>(true); } +::Ifc4x3::IfcGeometricRepresentationContext* Ifc4x3::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3::IfcGeometricRepresentationContext>(true); } void Ifc4x3::IfcGeometricRepresentationSubContext::setParentContext(::Ifc4x3::IfcGeometricRepresentationContext* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3::IfcGeometricRepresentationSubContext::TargetScale() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3::IfcGeometricRepresentationSubContext::TargetScale() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3::IfcGeometricProjectionEnum::Value Ifc4x3::IfcGeometricRepresentationSubContext::TargetView() const { return ::Ifc4x3::IfcGeometricProjectionEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3::IfcGeometricProjectionEnum::Value Ifc4x3::IfcGeometricRepresentationSubContext::TargetView() const { return ::Ifc4x3::IfcGeometricProjectionEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcGeometricRepresentationSubContext::setTargetView(::Ifc4x3::IfcGeometricProjectionEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcGeometricProjectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -boost::optional< std::string > Ifc4x3::IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3::IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3::IfcGeometricRepresentationSubContext::declaration() const { return *((IfcParse::entity*)IFC4X3_types[510]); } const IfcParse::entity& Ifc4x3::IfcGeometricRepresentationSubContext::Class() { return *((IfcParse::entity*)IFC4X3_types[510]); } Ifc4x3::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(IfcEntityInstanceData&& e) : IfcGeometricRepresentationContext(std::move(e)) { } -Ifc4x3::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x3::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x3::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext(IfcEntityInstanceData(storage_t(10))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, v7_ParentContext ? v7_ParentContext->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; populate_derived(); } +Ifc4x3::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x3::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x3::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, v7_ParentContext ? v7_ParentContext->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; populate_derived(); } // Function implementations for IfcGeometricSet -aggregate_of< ::Ifc4x3::IfcGeometricSetSelect >::ptr Ifc4x3::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3::IfcGeometricSetSelect >(); } +aggregate_of< ::Ifc4x3::IfcGeometricSetSelect >::ptr Ifc4x3::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3::IfcGeometricSetSelect >(); } void Ifc4x3::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x3::IfcGeometricSetSelect >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3::IfcGeometricSet::declaration() const { return *((IfcParse::entity*)IFC4X3_types[511]); } const IfcParse::entity& Ifc4x3::IfcGeometricSet::Class() { return *((IfcParse::entity*)IFC4X3_types[511]); } Ifc4x3::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } +Ifc4x3::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } // Function implementations for IfcGeomodel @@ -11669,7 +11669,7 @@ Ifc4x3::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3::IfcGeometricSet const IfcParse::entity& Ifc4x3::IfcGeomodel::declaration() const { return *((IfcParse::entity*)IFC4X3_types[513]); } const IfcParse::entity& Ifc4x3::IfcGeomodel::Class() { return *((IfcParse::entity*)IFC4X3_types[513]); } Ifc4x3::IfcGeomodel::IfcGeomodel(IfcEntityInstanceData&& e) : IfcGeotechnicalAssembly(std::move(e)) { } -Ifc4x3::IfcGeomodel::IfcGeomodel(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3::IfcGeomodel::IfcGeomodel(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGeoslice @@ -11677,7 +11677,7 @@ Ifc4x3::IfcGeomodel::IfcGeomodel(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHist const IfcParse::entity& Ifc4x3::IfcGeoslice::declaration() const { return *((IfcParse::entity*)IFC4X3_types[514]); } const IfcParse::entity& Ifc4x3::IfcGeoslice::Class() { return *((IfcParse::entity*)IFC4X3_types[514]); } Ifc4x3::IfcGeoslice::IfcGeoslice(IfcEntityInstanceData&& e) : IfcGeotechnicalAssembly(std::move(e)) { } -Ifc4x3::IfcGeoslice::IfcGeoslice(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3::IfcGeoslice::IfcGeoslice(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGeotechnicalAssembly @@ -11685,7 +11685,7 @@ Ifc4x3::IfcGeoslice::IfcGeoslice(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHist const IfcParse::entity& Ifc4x3::IfcGeotechnicalAssembly::declaration() const { return *((IfcParse::entity*)IFC4X3_types[515]); } const IfcParse::entity& Ifc4x3::IfcGeotechnicalAssembly::Class() { return *((IfcParse::entity*)IFC4X3_types[515]); } Ifc4x3::IfcGeotechnicalAssembly::IfcGeotechnicalAssembly(IfcEntityInstanceData&& e) : IfcGeotechnicalElement(std::move(e)) { } -Ifc4x3::IfcGeotechnicalAssembly::IfcGeotechnicalAssembly(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3::IfcGeotechnicalAssembly::IfcGeotechnicalAssembly(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGeotechnicalElement @@ -11693,52 +11693,52 @@ Ifc4x3::IfcGeotechnicalAssembly::IfcGeotechnicalAssembly(std::string v1_GlobalId const IfcParse::entity& Ifc4x3::IfcGeotechnicalElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[516]); } const IfcParse::entity& Ifc4x3::IfcGeotechnicalElement::Class() { return *((IfcParse::entity*)IFC4X3_types[516]); } Ifc4x3::IfcGeotechnicalElement::IfcGeotechnicalElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3::IfcGeotechnicalElement::IfcGeotechnicalElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3::IfcGeotechnicalElement::IfcGeotechnicalElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGeotechnicalStratum -boost::optional< ::Ifc4x3::IfcGeotechnicalStratumTypeEnum::Value > Ifc4x3::IfcGeotechnicalStratum::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcGeotechnicalStratumTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcGeotechnicalStratumTypeEnum::Value > Ifc4x3::IfcGeotechnicalStratum::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcGeotechnicalStratumTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcGeotechnicalStratum::setPredefinedType(boost::optional< ::Ifc4x3::IfcGeotechnicalStratumTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcGeotechnicalStratumTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcGeotechnicalStratum::declaration() const { return *((IfcParse::entity*)IFC4X3_types[517]); } const IfcParse::entity& Ifc4x3::IfcGeotechnicalStratum::Class() { return *((IfcParse::entity*)IFC4X3_types[517]); } Ifc4x3::IfcGeotechnicalStratum::IfcGeotechnicalStratum(IfcEntityInstanceData&& e) : IfcGeotechnicalElement(std::move(e)) { } -Ifc4x3::IfcGeotechnicalStratum::IfcGeotechnicalStratum(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcGeotechnicalStratumTypeEnum::Value > v9_PredefinedType) : IfcGeotechnicalElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcGeotechnicalStratumTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcGeotechnicalStratum::IfcGeotechnicalStratum(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcGeotechnicalStratumTypeEnum::Value > v9_PredefinedType) : IfcGeotechnicalElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcGeotechnicalStratumTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGradientCurve -::Ifc4x3::IfcBoundedCurve* Ifc4x3::IfcGradientCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcBoundedCurve>(true); } +::Ifc4x3::IfcBoundedCurve* Ifc4x3::IfcGradientCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcBoundedCurve>(true); } void Ifc4x3::IfcGradientCurve::setBaseCurve(::Ifc4x3::IfcBoundedCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3::IfcPlacement* Ifc4x3::IfcGradientCurve::EndPoint() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcPlacement>(true); } +::Ifc4x3::IfcPlacement* Ifc4x3::IfcGradientCurve::EndPoint() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcPlacement>(true); } void Ifc4x3::IfcGradientCurve::setEndPoint(::Ifc4x3::IfcPlacement* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcGradientCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_types[521]); } const IfcParse::entity& Ifc4x3::IfcGradientCurve::Class() { return *((IfcParse::entity*)IFC4X3_types[521]); } Ifc4x3::IfcGradientCurve::IfcGradientCurve(IfcEntityInstanceData&& e) : IfcCompositeCurve(std::move(e)) { } -Ifc4x3::IfcGradientCurve::IfcGradientCurve(aggregate_of< ::Ifc4x3::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3::IfcBoundedCurve* v3_BaseCurve, ::Ifc4x3::IfcPlacement* v4_EndPoint) : IfcCompositeCurve(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, v3_BaseCurve ? v3_BaseCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_EndPoint ? v4_EndPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcGradientCurve::IfcGradientCurve(aggregate_of< ::Ifc4x3::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3::IfcBoundedCurve* v3_BaseCurve, ::Ifc4x3::IfcPlacement* v4_EndPoint) : IfcCompositeCurve(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, v3_BaseCurve ? v3_BaseCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_EndPoint ? v4_EndPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcGrid -aggregate_of< ::Ifc4x3::IfcGridAxis >::ptr Ifc4x3::IfcGrid::UAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3::IfcGridAxis >(); } +aggregate_of< ::Ifc4x3::IfcGridAxis >::ptr Ifc4x3::IfcGrid::UAxes() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3::IfcGridAxis >(); } void Ifc4x3::IfcGrid::setUAxes(aggregate_of< ::Ifc4x3::IfcGridAxis >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } -aggregate_of< ::Ifc4x3::IfcGridAxis >::ptr Ifc4x3::IfcGrid::VAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3::IfcGridAxis >(); } +aggregate_of< ::Ifc4x3::IfcGridAxis >::ptr Ifc4x3::IfcGrid::VAxes() const { aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3::IfcGridAxis >(); } void Ifc4x3::IfcGrid::setVAxes(aggregate_of< ::Ifc4x3::IfcGridAxis >::ptr v) { set_attribute_value(8, (v)->generalize());if constexpr (false)unset_attribute_value(8); } -boost::optional< aggregate_of< ::Ifc4x3::IfcGridAxis >::ptr > Ifc4x3::IfcGrid::WAxes() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3::IfcGridAxis >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcGridAxis >::ptr > Ifc4x3::IfcGrid::WAxes() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3::IfcGridAxis >(); } void Ifc4x3::IfcGrid::setWAxes(boost::optional< aggregate_of< ::Ifc4x3::IfcGridAxis >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x3::IfcGridTypeEnum::Value > Ifc4x3::IfcGrid::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcGridTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3::IfcGridTypeEnum::Value > Ifc4x3::IfcGrid::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcGridTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3::IfcGrid::setPredefinedType(boost::optional< ::Ifc4x3::IfcGridTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3::IfcGridTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3::IfcGrid::declaration() const { return *((IfcParse::entity*)IFC4X3_types[522]); } const IfcParse::entity& Ifc4x3::IfcGrid::Class() { return *((IfcParse::entity*)IFC4X3_types[522]); } Ifc4x3::IfcGrid::IfcGrid(IfcEntityInstanceData&& e) : IfcPositioningElement(std::move(e)) { } -Ifc4x3::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, aggregate_of< ::Ifc4x3::IfcGridAxis >::ptr v8_UAxes, aggregate_of< ::Ifc4x3::IfcGridAxis >::ptr v9_VAxes, boost::optional< aggregate_of< ::Ifc4x3::IfcGridAxis >::ptr > v10_WAxes, boost::optional< ::Ifc4x3::IfcGridTypeEnum::Value > v11_PredefinedType) : IfcPositioningElement(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_UAxes)->generalize());set_attribute_value(8, (v9_VAxes)->generalize()); if (v10_WAxes) {set_attribute_value(9, (*v10_WAxes)->generalize()); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, aggregate_of< ::Ifc4x3::IfcGridAxis >::ptr v8_UAxes, aggregate_of< ::Ifc4x3::IfcGridAxis >::ptr v9_VAxes, boost::optional< aggregate_of< ::Ifc4x3::IfcGridAxis >::ptr > v10_WAxes, boost::optional< ::Ifc4x3::IfcGridTypeEnum::Value > v11_PredefinedType) : IfcPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_UAxes)->generalize());set_attribute_value(8, (v9_VAxes)->generalize()); if (v10_WAxes) {set_attribute_value(9, (*v10_WAxes)->generalize()); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGridAxis -boost::optional< std::string > Ifc4x3::IfcGridAxis::AxisTag() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3::IfcGridAxis::AxisTag() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3::IfcCurve* Ifc4x3::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcCurve>(true); } +::Ifc4x3::IfcCurve* Ifc4x3::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcCurve>(true); } void Ifc4x3::IfcGridAxis::setAxisCurve(::Ifc4x3::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -bool Ifc4x3::IfcGridAxis::SameSense() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x3::IfcGridAxis::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x3::IfcGridAxis::setSameSense(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } ::Ifc4x3::IfcGrid::list::ptr Ifc4x3::IfcGridAxis::PartOfW() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[522], 9)->as(); } @@ -11749,19 +11749,19 @@ void Ifc4x3::IfcGridAxis::setSameSense(bool v) { set_attribute_value(2, v);if co const IfcParse::entity& Ifc4x3::IfcGridAxis::declaration() const { return *((IfcParse::entity*)IFC4X3_types[523]); } const IfcParse::entity& Ifc4x3::IfcGridAxis::Class() { return *((IfcParse::entity*)IFC4X3_types[523]); } Ifc4x3::IfcGridAxis::IfcGridAxis(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, ::Ifc4x3::IfcCurve* v2_AxisCurve, bool v3_SameSense) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, v2_AxisCurve ? v2_AxisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } +Ifc4x3::IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, ::Ifc4x3::IfcCurve* v2_AxisCurve, bool v3_SameSense) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, v2_AxisCurve ? v2_AxisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } // Function implementations for IfcGridPlacement -::Ifc4x3::IfcVirtualGridIntersection* Ifc4x3::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcVirtualGridIntersection>(true); } +::Ifc4x3::IfcVirtualGridIntersection* Ifc4x3::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcVirtualGridIntersection>(true); } void Ifc4x3::IfcGridPlacement::setPlacementLocation(::Ifc4x3::IfcVirtualGridIntersection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3::IfcGridPlacementDirectionSelect* Ifc4x3::IfcGridPlacement::PlacementRefDirection() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcGridPlacementDirectionSelect>(true); } +::Ifc4x3::IfcGridPlacementDirectionSelect* Ifc4x3::IfcGridPlacement::PlacementRefDirection() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcGridPlacementDirectionSelect>(true); } void Ifc4x3::IfcGridPlacement::setPlacementRefDirection(::Ifc4x3::IfcGridPlacementDirectionSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcGridPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[524]); } const IfcParse::entity& Ifc4x3::IfcGridPlacement::Class() { return *((IfcParse::entity*)IFC4X3_types[524]); } Ifc4x3::IfcGridPlacement::IfcGridPlacement(IfcEntityInstanceData&& e) : IfcObjectPlacement(std::move(e)) { } -Ifc4x3::IfcGridPlacement::IfcGridPlacement(::Ifc4x3::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3::IfcVirtualGridIntersection* v2_PlacementLocation, ::Ifc4x3::IfcGridPlacementDirectionSelect* v3_PlacementRefDirection) : IfcObjectPlacement(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementLocation ? v2_PlacementLocation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PlacementRefDirection ? v3_PlacementRefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcGridPlacement::IfcGridPlacement(::Ifc4x3::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3::IfcVirtualGridIntersection* v2_PlacementLocation, ::Ifc4x3::IfcGridPlacementDirectionSelect* v3_PlacementRefDirection) : IfcObjectPlacement(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementLocation ? v2_PlacementLocation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PlacementRefDirection ? v3_PlacementRefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcGroup @@ -11771,144 +11771,144 @@ Ifc4x3::IfcGridPlacement::IfcGridPlacement(::Ifc4x3::IfcObjectPlacement* v1_Plac const IfcParse::entity& Ifc4x3::IfcGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_types[527]); } const IfcParse::entity& Ifc4x3::IfcGroup::Class() { return *((IfcParse::entity*)IFC4X3_types[527]); } Ifc4x3::IfcGroup::IfcGroup(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3::IfcGroup::IfcGroup(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc4x3::IfcGroup::IfcGroup(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcHalfSpaceSolid -::Ifc4x3::IfcSurface* Ifc4x3::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcSurface>(true); } +::Ifc4x3::IfcSurface* Ifc4x3::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcSurface>(true); } void Ifc4x3::IfcHalfSpaceSolid::setBaseSurface(::Ifc4x3::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -bool Ifc4x3::IfcHalfSpaceSolid::AgreementFlag() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x3::IfcHalfSpaceSolid::AgreementFlag() const { bool v = get_attribute_value(1); return v; } void Ifc4x3::IfcHalfSpaceSolid::setAgreementFlag(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcHalfSpaceSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_types[528]); } const IfcParse::entity& Ifc4x3::IfcHalfSpaceSolid::Class() { return *((IfcParse::entity*)IFC4X3_types[528]); } Ifc4x3::IfcHalfSpaceSolid::IfcHalfSpaceSolid(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3::IfcHalfSpaceSolid::IfcHalfSpaceSolid(::Ifc4x3::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));; populate_derived(); } +Ifc4x3::IfcHalfSpaceSolid::IfcHalfSpaceSolid(::Ifc4x3::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));; populate_derived(); } // Function implementations for IfcHeatExchanger -boost::optional< ::Ifc4x3::IfcHeatExchangerTypeEnum::Value > Ifc4x3::IfcHeatExchanger::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcHeatExchangerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcHeatExchangerTypeEnum::Value > Ifc4x3::IfcHeatExchanger::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcHeatExchanger::setPredefinedType(boost::optional< ::Ifc4x3::IfcHeatExchangerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcHeatExchangerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcHeatExchanger::declaration() const { return *((IfcParse::entity*)IFC4X3_types[530]); } const IfcParse::entity& Ifc4x3::IfcHeatExchanger::Class() { return *((IfcParse::entity*)IFC4X3_types[530]); } Ifc4x3::IfcHeatExchanger::IfcHeatExchanger(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3::IfcHeatExchanger::IfcHeatExchanger(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcHeatExchanger::IfcHeatExchanger(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcHeatExchangerType -::Ifc4x3::IfcHeatExchangerTypeEnum::Value Ifc4x3::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4x3::IfcHeatExchangerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcHeatExchangerTypeEnum::Value Ifc4x3::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4x3::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcHeatExchangerType::setPredefinedType(::Ifc4x3::IfcHeatExchangerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcHeatExchangerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcHeatExchangerType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[531]); } const IfcParse::entity& Ifc4x3::IfcHeatExchangerType::Class() { return *((IfcParse::entity*)IFC4X3_types[531]); } Ifc4x3::IfcHeatExchangerType::IfcHeatExchangerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3::IfcHeatExchangerType::IfcHeatExchangerType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcHeatExchangerType::IfcHeatExchangerType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcHumidifier -boost::optional< ::Ifc4x3::IfcHumidifierTypeEnum::Value > Ifc4x3::IfcHumidifier::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcHumidifierTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcHumidifierTypeEnum::Value > Ifc4x3::IfcHumidifier::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcHumidifierTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcHumidifier::setPredefinedType(boost::optional< ::Ifc4x3::IfcHumidifierTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcHumidifierTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcHumidifier::declaration() const { return *((IfcParse::entity*)IFC4X3_types[535]); } const IfcParse::entity& Ifc4x3::IfcHumidifier::Class() { return *((IfcParse::entity*)IFC4X3_types[535]); } Ifc4x3::IfcHumidifier::IfcHumidifier(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3::IfcHumidifier::IfcHumidifier(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcHumidifierTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcHumidifier::IfcHumidifier(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcHumidifierTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcHumidifierType -::Ifc4x3::IfcHumidifierTypeEnum::Value Ifc4x3::IfcHumidifierType::PredefinedType() const { return ::Ifc4x3::IfcHumidifierTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcHumidifierTypeEnum::Value Ifc4x3::IfcHumidifierType::PredefinedType() const { return ::Ifc4x3::IfcHumidifierTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcHumidifierType::setPredefinedType(::Ifc4x3::IfcHumidifierTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcHumidifierTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcHumidifierType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[536]); } const IfcParse::entity& Ifc4x3::IfcHumidifierType::Class() { return *((IfcParse::entity*)IFC4X3_types[536]); } Ifc4x3::IfcHumidifierType::IfcHumidifierType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3::IfcHumidifierType::IfcHumidifierType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcHumidifierTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcHumidifierType::IfcHumidifierType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcHumidifierTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcIShapeProfileDef -double Ifc4x3::IfcIShapeProfileDef::OverallWidth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3::IfcIShapeProfileDef::OverallWidth() const { double v = get_attribute_value(3); return v; } void Ifc4x3::IfcIShapeProfileDef::setOverallWidth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3::IfcIShapeProfileDef::OverallDepth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3::IfcIShapeProfileDef::OverallDepth() const { double v = get_attribute_value(4); return v; } void Ifc4x3::IfcIShapeProfileDef::setOverallDepth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3::IfcIShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3::IfcIShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3::IfcIShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3::IfcIShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3::IfcIShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3::IfcIShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3::IfcIShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3::IfcIShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3::IfcIShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3::IfcIShapeProfileDef::FlangeEdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3::IfcIShapeProfileDef::FlangeEdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3::IfcIShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3::IfcIShapeProfileDef::FlangeSlope() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3::IfcIShapeProfileDef::FlangeSlope() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3::IfcIShapeProfileDef::setFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3::IfcIShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_types[565]); } const IfcParse::entity& Ifc4x3::IfcIShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_types[565]); } Ifc4x3::IfcIShapeProfileDef::IfcIShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3::IfcIShapeProfileDef::IfcIShapeProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::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(storage_t(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } +Ifc4x3::IfcIShapeProfileDef::IfcIShapeProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::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(in_memory_attribute_storage(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } // Function implementations for IfcImageTexture -std::string Ifc4x3::IfcImageTexture::URLReference() const { std::string v = data_.get_attribute_value(5); return v; } +std::string Ifc4x3::IfcImageTexture::URLReference() const { std::string v = get_attribute_value(5); return v; } void Ifc4x3::IfcImageTexture::setURLReference(std::string v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcImageTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_types[540]); } const IfcParse::entity& Ifc4x3::IfcImageTexture::Class() { return *((IfcParse::entity*)IFC4X3_types[540]); } Ifc4x3::IfcImageTexture::IfcImageTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -Ifc4x3::IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) : IfcSurfaceTexture(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference));; populate_derived(); } +Ifc4x3::IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) : IfcSurfaceTexture(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference));; populate_derived(); } // Function implementations for IfcImpactProtectionDevice -boost::optional< ::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Value > Ifc4x3::IfcImpactProtectionDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Value > Ifc4x3::IfcImpactProtectionDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcImpactProtectionDevice::setPredefinedType(boost::optional< ::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcImpactProtectionDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_types[541]); } const IfcParse::entity& Ifc4x3::IfcImpactProtectionDevice::Class() { return *((IfcParse::entity*)IFC4X3_types[541]); } Ifc4x3::IfcImpactProtectionDevice::IfcImpactProtectionDevice(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3::IfcImpactProtectionDevice::IfcImpactProtectionDevice(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcImpactProtectionDevice::IfcImpactProtectionDevice(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcImpactProtectionDeviceType -::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Value Ifc4x3::IfcImpactProtectionDeviceType::PredefinedType() const { return ::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Value Ifc4x3::IfcImpactProtectionDeviceType::PredefinedType() const { return ::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcImpactProtectionDeviceType::setPredefinedType(::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcImpactProtectionDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[542]); } const IfcParse::entity& Ifc4x3::IfcImpactProtectionDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_types[542]); } Ifc4x3::IfcImpactProtectionDeviceType::IfcImpactProtectionDeviceType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3::IfcImpactProtectionDeviceType::IfcImpactProtectionDeviceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcImpactProtectionDeviceType::IfcImpactProtectionDeviceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcImpactProtectionDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcIndexedColourMap -::Ifc4x3::IfcTessellatedFaceSet* Ifc4x3::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcTessellatedFaceSet>(true); } +::Ifc4x3::IfcTessellatedFaceSet* Ifc4x3::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcTessellatedFaceSet>(true); } void Ifc4x3::IfcIndexedColourMap::setMappedTo(::Ifc4x3::IfcTessellatedFaceSet* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< double > Ifc4x3::IfcIndexedColourMap::Opacity() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3::IfcIndexedColourMap::Opacity() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3::IfcIndexedColourMap::setOpacity(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3::IfcColourRgbList* Ifc4x3::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcColourRgbList>(true); } +::Ifc4x3::IfcColourRgbList* Ifc4x3::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcColourRgbList>(true); } void Ifc4x3::IfcIndexedColourMap::setColours(::Ifc4x3::IfcColourRgbList* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -std::vector< int > /*[1:?]*/ Ifc4x3::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +std::vector< int > /*[1:?]*/ Ifc4x3::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3::IfcIndexedColourMap::setColourIndex(std::vector< int > /*[1:?]*/ v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcIndexedColourMap::declaration() const { return *((IfcParse::entity*)IFC4X3_types[544]); } const IfcParse::entity& Ifc4x3::IfcIndexedColourMap::Class() { return *((IfcParse::entity*)IFC4X3_types[544]); } Ifc4x3::IfcIndexedColourMap::IfcIndexedColourMap(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3::IfcTessellatedFaceSet* v1_MappedTo, boost::optional< double > v2_Opacity, ::Ifc4x3::IfcColourRgbList* v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) : IfcPresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_MappedTo ? v1_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, v3_Colours ? v3_Colours->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ColourIndex));; populate_derived(); } +Ifc4x3::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3::IfcTessellatedFaceSet* v1_MappedTo, boost::optional< double > v2_Opacity, ::Ifc4x3::IfcColourRgbList* v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_MappedTo ? v1_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, v3_Colours ? v3_Colours->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ColourIndex));; populate_derived(); } // Function implementations for IfcIndexedPolyCurve -::Ifc4x3::IfcCartesianPointList* Ifc4x3::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcCartesianPointList>(true); } +::Ifc4x3::IfcCartesianPointList* Ifc4x3::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcCartesianPointList>(true); } void Ifc4x3::IfcIndexedPolyCurve::setPoints(::Ifc4x3::IfcCartesianPointList* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< aggregate_of< ::Ifc4x3::IfcSegmentIndexSelect >::ptr > Ifc4x3::IfcIndexedPolyCurve::Segments() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3::IfcSegmentIndexSelect >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcSegmentIndexSelect >::ptr > Ifc4x3::IfcIndexedPolyCurve::Segments() const { if(get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3::IfcSegmentIndexSelect >(); } void Ifc4x3::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x3::IfcSegmentIndexSelect >::ptr > v) { if (v) {set_attribute_value(1, (*v)->generalize());} else {unset_attribute_value(1);} } -boost::logic::tribool Ifc4x3::IfcIndexedPolyCurve::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::logic::tribool Ifc4x3::IfcIndexedPolyCurve::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x3::IfcIndexedPolyCurve::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcIndexedPolyCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_types[545]); } const IfcParse::entity& Ifc4x3::IfcIndexedPolyCurve::Class() { return *((IfcParse::entity*)IFC4X3_types[545]); } Ifc4x3::IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::logic::tribool v3_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Points ? v1_Points->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Segments) {set_attribute_value(1, (*v2_Segments)->generalize()); }set_attribute_value(2, (v3_SelfIntersect));; populate_derived(); } +Ifc4x3::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::logic::tribool v3_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Points ? v1_Points->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Segments) {set_attribute_value(1, (*v2_Segments)->generalize()); }set_attribute_value(2, (v3_SelfIntersect));; populate_derived(); } // Function implementations for IfcIndexedPolygonalFace -std::vector< int > /*[3:?]*/ Ifc4x3::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = data_.get_attribute_value(0); return v; } +std::vector< int > /*[3:?]*/ Ifc4x3::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } void Ifc4x3::IfcIndexedPolygonalFace::setCoordIndex(std::vector< int > /*[3:?]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } ::Ifc4x3::IfcPolygonalFaceSet::list::ptr Ifc4x3::IfcIndexedPolygonalFace::ToFaceSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[771], 2)->as(); } @@ -11917,69 +11917,69 @@ void Ifc4x3::IfcIndexedPolygonalFace::setCoordIndex(std::vector< int > /*[3:?]*/ const IfcParse::entity& Ifc4x3::IfcIndexedPolygonalFace::declaration() const { return *((IfcParse::entity*)IFC4X3_types[546]); } const IfcParse::entity& Ifc4x3::IfcIndexedPolygonalFace::Class() { return *((IfcParse::entity*)IFC4X3_types[546]); } Ifc4x3::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(IfcEntityInstanceData&& e) : IfcTessellatedItem(std::move(e)) { } -Ifc4x3::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(std::vector< int > /*[3:?]*/ v1_CoordIndex) : IfcTessellatedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CoordIndex));; populate_derived(); } +Ifc4x3::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(std::vector< int > /*[3:?]*/ v1_CoordIndex) : IfcTessellatedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CoordIndex));; populate_derived(); } // Function implementations for IfcIndexedPolygonalFaceWithVoids -std::vector< std::vector< int > > Ifc4x3::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { std::vector< std::vector< int > > v = data_.get_attribute_value(1); return v; } +std::vector< std::vector< int > > Ifc4x3::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { std::vector< std::vector< int > > v = get_attribute_value(1); return v; } void Ifc4x3::IfcIndexedPolygonalFaceWithVoids::setInnerCoordIndices(std::vector< std::vector< int > > v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcIndexedPolygonalFaceWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_types[547]); } const IfcParse::entity& Ifc4x3::IfcIndexedPolygonalFaceWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_types[547]); } Ifc4x3::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(IfcEntityInstanceData&& e) : IfcIndexedPolygonalFace(std::move(e)) { } -Ifc4x3::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) : IfcIndexedPolygonalFace(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices));; populate_derived(); } +Ifc4x3::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) : IfcIndexedPolygonalFace(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices));; populate_derived(); } // Function implementations for IfcIndexedPolygonalTextureMap -aggregate_of< ::Ifc4x3::IfcTextureCoordinateIndices >::ptr Ifc4x3::IfcIndexedPolygonalTextureMap::TexCoordIndices() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3::IfcTextureCoordinateIndices >(); } +aggregate_of< ::Ifc4x3::IfcTextureCoordinateIndices >::ptr Ifc4x3::IfcIndexedPolygonalTextureMap::TexCoordIndices() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3::IfcTextureCoordinateIndices >(); } void Ifc4x3::IfcIndexedPolygonalTextureMap::setTexCoordIndices(aggregate_of< ::Ifc4x3::IfcTextureCoordinateIndices >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcIndexedPolygonalTextureMap::declaration() const { return *((IfcParse::entity*)IFC4X3_types[548]); } const IfcParse::entity& Ifc4x3::IfcIndexedPolygonalTextureMap::Class() { return *((IfcParse::entity*)IFC4X3_types[548]); } Ifc4x3::IfcIndexedPolygonalTextureMap::IfcIndexedPolygonalTextureMap(IfcEntityInstanceData&& e) : IfcIndexedTextureMap(std::move(e)) { } -Ifc4x3::IfcIndexedPolygonalTextureMap::IfcIndexedPolygonalTextureMap(aggregate_of< ::Ifc4x3::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3::IfcTextureVertexList* v3_TexCoords, aggregate_of< ::Ifc4x3::IfcTextureCoordinateIndices >::ptr v4_TexCoordIndices) : IfcIndexedTextureMap(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_TexCoordIndices)->generalize());; populate_derived(); } +Ifc4x3::IfcIndexedPolygonalTextureMap::IfcIndexedPolygonalTextureMap(aggregate_of< ::Ifc4x3::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3::IfcTextureVertexList* v3_TexCoords, aggregate_of< ::Ifc4x3::IfcTextureCoordinateIndices >::ptr v4_TexCoordIndices) : IfcIndexedTextureMap(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_TexCoordIndices)->generalize());; populate_derived(); } // Function implementations for IfcIndexedTextureMap -::Ifc4x3::IfcTessellatedFaceSet* Ifc4x3::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcTessellatedFaceSet>(true); } +::Ifc4x3::IfcTessellatedFaceSet* Ifc4x3::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcTessellatedFaceSet>(true); } void Ifc4x3::IfcIndexedTextureMap::setMappedTo(::Ifc4x3::IfcTessellatedFaceSet* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3::IfcTextureVertexList* Ifc4x3::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcTextureVertexList>(true); } +::Ifc4x3::IfcTextureVertexList* Ifc4x3::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcTextureVertexList>(true); } void Ifc4x3::IfcIndexedTextureMap::setTexCoords(::Ifc4x3::IfcTextureVertexList* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcIndexedTextureMap::declaration() const { return *((IfcParse::entity*)IFC4X3_types[549]); } const IfcParse::entity& Ifc4x3::IfcIndexedTextureMap::Class() { return *((IfcParse::entity*)IFC4X3_types[549]); } Ifc4x3::IfcIndexedTextureMap::IfcIndexedTextureMap(IfcEntityInstanceData&& e) : IfcTextureCoordinate(std::move(e)) { } -Ifc4x3::IfcIndexedTextureMap::IfcIndexedTextureMap(aggregate_of< ::Ifc4x3::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3::IfcTextureVertexList* v3_TexCoords) : IfcTextureCoordinate(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcIndexedTextureMap::IfcIndexedTextureMap(aggregate_of< ::Ifc4x3::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3::IfcTextureVertexList* v3_TexCoords) : IfcTextureCoordinate(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcIndexedTriangleTextureMap -boost::optional< std::vector< std::vector< int > > > Ifc4x3::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::vector< int > > v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< std::vector< int > > > Ifc4x3::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::vector< int > > v = get_attribute_value(3); return v; } void Ifc4x3::IfcIndexedTriangleTextureMap::setTexCoordIndex(boost::optional< std::vector< std::vector< int > > > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3::IfcIndexedTriangleTextureMap::declaration() const { return *((IfcParse::entity*)IFC4X3_types[550]); } const IfcParse::entity& Ifc4x3::IfcIndexedTriangleTextureMap::Class() { return *((IfcParse::entity*)IFC4X3_types[550]); } Ifc4x3::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(IfcEntityInstanceData&& e) : IfcIndexedTextureMap(std::move(e)) { } -Ifc4x3::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(aggregate_of< ::Ifc4x3::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3::IfcTextureVertexList* v3_TexCoords, boost::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) : IfcIndexedTextureMap(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); }; populate_derived(); } +Ifc4x3::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(aggregate_of< ::Ifc4x3::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3::IfcTextureVertexList* v3_TexCoords, boost::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) : IfcIndexedTextureMap(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); }; populate_derived(); } // Function implementations for IfcInterceptor -boost::optional< ::Ifc4x3::IfcInterceptorTypeEnum::Value > Ifc4x3::IfcInterceptor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcInterceptorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcInterceptorTypeEnum::Value > Ifc4x3::IfcInterceptor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcInterceptorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcInterceptor::setPredefinedType(boost::optional< ::Ifc4x3::IfcInterceptorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcInterceptorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcInterceptor::declaration() const { return *((IfcParse::entity*)IFC4X3_types[554]); } const IfcParse::entity& Ifc4x3::IfcInterceptor::Class() { return *((IfcParse::entity*)IFC4X3_types[554]); } Ifc4x3::IfcInterceptor::IfcInterceptor(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4x3::IfcInterceptor::IfcInterceptor(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcInterceptorTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcInterceptor::IfcInterceptor(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcInterceptorTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcInterceptorType -::Ifc4x3::IfcInterceptorTypeEnum::Value Ifc4x3::IfcInterceptorType::PredefinedType() const { return ::Ifc4x3::IfcInterceptorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcInterceptorTypeEnum::Value Ifc4x3::IfcInterceptorType::PredefinedType() const { return ::Ifc4x3::IfcInterceptorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcInterceptorType::setPredefinedType(::Ifc4x3::IfcInterceptorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcInterceptorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcInterceptorType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[555]); } const IfcParse::entity& Ifc4x3::IfcInterceptorType::Class() { return *((IfcParse::entity*)IFC4X3_types[555]); } Ifc4x3::IfcInterceptorType::IfcInterceptorType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4x3::IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcInterceptorTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcInterceptorTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcIntersectionCurve @@ -11987,174 +11987,174 @@ Ifc4x3::IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, ::Ifc4x3 const IfcParse::entity& Ifc4x3::IfcIntersectionCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_types[559]); } const IfcParse::entity& Ifc4x3::IfcIntersectionCurve::Class() { return *((IfcParse::entity*)IFC4X3_types[559]); } Ifc4x3::IfcIntersectionCurve::IfcIntersectionCurve(IfcEntityInstanceData&& e) : IfcSurfaceCurve(std::move(e)) { } -Ifc4x3::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4x3::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } +Ifc4x3::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4x3::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcInventory -boost::optional< ::Ifc4x3::IfcInventoryTypeEnum::Value > Ifc4x3::IfcInventory::PredefinedType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3::IfcInventoryTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3::IfcInventoryTypeEnum::Value > Ifc4x3::IfcInventory::PredefinedType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3::IfcInventoryTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3::IfcInventory::setPredefinedType(boost::optional< ::Ifc4x3::IfcInventoryTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3::IfcInventoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -::Ifc4x3::IfcActorSelect* Ifc4x3::IfcInventory::Jurisdiction() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3::IfcActorSelect>(true); } +::Ifc4x3::IfcActorSelect* Ifc4x3::IfcInventory::Jurisdiction() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3::IfcActorSelect>(true); } void Ifc4x3::IfcInventory::setJurisdiction(::Ifc4x3::IfcActorSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< aggregate_of< ::Ifc4x3::IfcPerson >::ptr > Ifc4x3::IfcInventory::ResponsiblePersons() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3::IfcPerson >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcPerson >::ptr > Ifc4x3::IfcInventory::ResponsiblePersons() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3::IfcPerson >(); } void Ifc4x3::IfcInventory::setResponsiblePersons(boost::optional< aggregate_of< ::Ifc4x3::IfcPerson >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3::IfcInventory::LastUpdateDate() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3::IfcInventory::LastUpdateDate() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3::IfcInventory::setLastUpdateDate(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3::IfcCostValue* Ifc4x3::IfcInventory::CurrentValue() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3::IfcCostValue>(true); } +::Ifc4x3::IfcCostValue* Ifc4x3::IfcInventory::CurrentValue() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3::IfcCostValue>(true); } void Ifc4x3::IfcInventory::setCurrentValue(::Ifc4x3::IfcCostValue* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4x3::IfcCostValue* Ifc4x3::IfcInventory::OriginalValue() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3::IfcCostValue>(true); } +::Ifc4x3::IfcCostValue* Ifc4x3::IfcInventory::OriginalValue() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3::IfcCostValue>(true); } void Ifc4x3::IfcInventory::setOriginalValue(::Ifc4x3::IfcCostValue* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3::IfcInventory::declaration() const { return *((IfcParse::entity*)IFC4X3_types[560]); } const IfcParse::entity& Ifc4x3::IfcInventory::Class() { return *((IfcParse::entity*)IFC4X3_types[560]); } Ifc4x3::IfcInventory::IfcInventory(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x3::IfcInventory::IfcInventory(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3::IfcActorSelect* v7_Jurisdiction, boost::optional< aggregate_of< ::Ifc4x3::IfcPerson >::ptr > v8_ResponsiblePersons, boost::optional< std::string > v9_LastUpdateDate, ::Ifc4x3::IfcCostValue* v10_CurrentValue, ::Ifc4x3::IfcCostValue* v11_OriginalValue) : IfcGroup(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, v7_Jurisdiction ? v7_Jurisdiction->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_ResponsiblePersons) {set_attribute_value(7, (*v8_ResponsiblePersons)->generalize()); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, v10_CurrentValue ? v10_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_OriginalValue ? v11_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcInventory::IfcInventory(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3::IfcActorSelect* v7_Jurisdiction, boost::optional< aggregate_of< ::Ifc4x3::IfcPerson >::ptr > v8_ResponsiblePersons, boost::optional< std::string > v9_LastUpdateDate, ::Ifc4x3::IfcCostValue* v10_CurrentValue, ::Ifc4x3::IfcCostValue* v11_OriginalValue) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, v7_Jurisdiction ? v7_Jurisdiction->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_ResponsiblePersons) {set_attribute_value(7, (*v8_ResponsiblePersons)->generalize()); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, v10_CurrentValue ? v10_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_OriginalValue ? v11_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcIrregularTimeSeries -aggregate_of< ::Ifc4x3::IfcIrregularTimeSeriesValue >::ptr Ifc4x3::IfcIrregularTimeSeries::Values() const { aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3::IfcIrregularTimeSeriesValue >(); } +aggregate_of< ::Ifc4x3::IfcIrregularTimeSeriesValue >::ptr Ifc4x3::IfcIrregularTimeSeries::Values() const { aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3::IfcIrregularTimeSeriesValue >(); } void Ifc4x3::IfcIrregularTimeSeries::setValues(aggregate_of< ::Ifc4x3::IfcIrregularTimeSeriesValue >::ptr v) { set_attribute_value(8, (v)->generalize());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3::IfcIrregularTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X3_types[563]); } const IfcParse::entity& Ifc4x3::IfcIrregularTimeSeries::Class() { return *((IfcParse::entity*)IFC4X3_types[563]); } Ifc4x3::IfcIrregularTimeSeries::IfcIrregularTimeSeries(IfcEntityInstanceData&& e) : IfcTimeSeries(std::move(e)) { } -Ifc4x3::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3::IfcUnit* v8_Unit, aggregate_of< ::Ifc4x3::IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_Values)->generalize());; populate_derived(); } +Ifc4x3::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3::IfcUnit* v8_Unit, aggregate_of< ::Ifc4x3::IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_Values)->generalize());; populate_derived(); } // Function implementations for IfcIrregularTimeSeriesValue -std::string Ifc4x3::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcIrregularTimeSeriesValue::setTimeStamp(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3::IfcValue >::ptr Ifc4x3::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3::IfcValue >(); } +aggregate_of< ::Ifc4x3::IfcValue >::ptr Ifc4x3::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3::IfcValue >(); } void Ifc4x3::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3::IfcValue >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcIrregularTimeSeriesValue::declaration() const { return *((IfcParse::entity*)IFC4X3_types[564]); } const IfcParse::entity& Ifc4x3::IfcIrregularTimeSeriesValue::Class() { return *((IfcParse::entity*)IFC4X3_types[564]); } Ifc4x3::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, (v2_ListValues)->generalize());; populate_derived(); } +Ifc4x3::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, (v2_ListValues)->generalize());; populate_derived(); } // Function implementations for IfcJunctionBox -boost::optional< ::Ifc4x3::IfcJunctionBoxTypeEnum::Value > Ifc4x3::IfcJunctionBox::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcJunctionBoxTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcJunctionBoxTypeEnum::Value > Ifc4x3::IfcJunctionBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcJunctionBox::setPredefinedType(boost::optional< ::Ifc4x3::IfcJunctionBoxTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcJunctionBoxTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcJunctionBox::declaration() const { return *((IfcParse::entity*)IFC4X3_types[567]); } const IfcParse::entity& Ifc4x3::IfcJunctionBox::Class() { return *((IfcParse::entity*)IFC4X3_types[567]); } Ifc4x3::IfcJunctionBox::IfcJunctionBox(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x3::IfcJunctionBox::IfcJunctionBox(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcJunctionBox::IfcJunctionBox(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcJunctionBoxType -::Ifc4x3::IfcJunctionBoxTypeEnum::Value Ifc4x3::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4x3::IfcJunctionBoxTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcJunctionBoxTypeEnum::Value Ifc4x3::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4x3::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcJunctionBoxType::setPredefinedType(::Ifc4x3::IfcJunctionBoxTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcJunctionBoxTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcJunctionBoxType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[568]); } const IfcParse::entity& Ifc4x3::IfcJunctionBoxType::Class() { return *((IfcParse::entity*)IFC4X3_types[568]); } Ifc4x3::IfcJunctionBoxType::IfcJunctionBoxType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x3::IfcJunctionBoxType::IfcJunctionBoxType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcJunctionBoxType::IfcJunctionBoxType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcKerb -bool Ifc4x3::IfcKerb::Mountable() const { bool v = data_.get_attribute_value(8); return v; } +bool Ifc4x3::IfcKerb::Mountable() const { bool v = get_attribute_value(8); return v; } void Ifc4x3::IfcKerb::setMountable(bool v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3::IfcKerb::declaration() const { return *((IfcParse::entity*)IFC4X3_types[570]); } const IfcParse::entity& Ifc4x3::IfcKerb::Class() { return *((IfcParse::entity*)IFC4X3_types[570]); } Ifc4x3::IfcKerb::IfcKerb(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3::IfcKerb::IfcKerb(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, bool v9_Mountable) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_Mountable));; populate_derived(); } +Ifc4x3::IfcKerb::IfcKerb(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, bool v9_Mountable) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_Mountable));; populate_derived(); } // Function implementations for IfcKerbType -bool Ifc4x3::IfcKerbType::Mountable() const { bool v = data_.get_attribute_value(9); return v; } +bool Ifc4x3::IfcKerbType::Mountable() const { bool v = get_attribute_value(9); return v; } void Ifc4x3::IfcKerbType::setMountable(bool v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcKerbType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[571]); } const IfcParse::entity& Ifc4x3::IfcKerbType::Class() { return *((IfcParse::entity*)IFC4X3_types[571]); } Ifc4x3::IfcKerbType::IfcKerbType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3::IfcKerbType::IfcKerbType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, bool v10_Mountable) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_Mountable));; populate_derived(); } +Ifc4x3::IfcKerbType::IfcKerbType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, bool v10_Mountable) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_Mountable));; populate_derived(); } // Function implementations for IfcLShapeProfileDef -double Ifc4x3::IfcLShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3::IfcLShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3::IfcLShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< double > Ifc4x3::IfcLShapeProfileDef::Width() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3::IfcLShapeProfileDef::Width() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3::IfcLShapeProfileDef::setWidth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -double Ifc4x3::IfcLShapeProfileDef::Thickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3::IfcLShapeProfileDef::Thickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3::IfcLShapeProfileDef::setThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3::IfcLShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3::IfcLShapeProfileDef::FilletRadius() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3::IfcLShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3::IfcLShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3::IfcLShapeProfileDef::EdgeRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3::IfcLShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3::IfcLShapeProfileDef::LegSlope() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3::IfcLShapeProfileDef::LegSlope() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3::IfcLShapeProfileDef::setLegSlope(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcLShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_types[620]); } const IfcParse::entity& Ifc4x3::IfcLShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_types[620]); } Ifc4x3::IfcLShapeProfileDef::IfcLShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3::IfcLShapeProfileDef::IfcLShapeProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::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(storage_t(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); }; populate_derived(); } +Ifc4x3::IfcLShapeProfileDef::IfcLShapeProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::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(in_memory_attribute_storage(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); }; populate_derived(); } // Function implementations for IfcLaborResource -boost::optional< ::Ifc4x3::IfcLaborResourceTypeEnum::Value > Ifc4x3::IfcLaborResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcLaborResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3::IfcLaborResourceTypeEnum::Value > Ifc4x3::IfcLaborResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcLaborResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3::IfcLaborResource::setPredefinedType(boost::optional< ::Ifc4x3::IfcLaborResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3::IfcLaborResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3::IfcLaborResource::declaration() const { return *((IfcParse::entity*)IFC4X3_types[575]); } const IfcParse::entity& Ifc4x3::IfcLaborResource::Class() { return *((IfcParse::entity*)IFC4X3_types[575]); } Ifc4x3::IfcLaborResource::IfcLaborResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3::IfcLaborResource::IfcLaborResource(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcLaborResource::IfcLaborResource(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLaborResourceType -::Ifc4x3::IfcLaborResourceTypeEnum::Value Ifc4x3::IfcLaborResourceType::PredefinedType() const { return ::Ifc4x3::IfcLaborResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3::IfcLaborResourceTypeEnum::Value Ifc4x3::IfcLaborResourceType::PredefinedType() const { return ::Ifc4x3::IfcLaborResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3::IfcLaborResourceType::setPredefinedType(::Ifc4x3::IfcLaborResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3::IfcLaborResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3::IfcLaborResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[576]); } const IfcParse::entity& Ifc4x3::IfcLaborResourceType::Class() { return *((IfcParse::entity*)IFC4X3_types[576]); } Ifc4x3::IfcLaborResourceType::IfcLaborResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3::IfcLaborResourceType::IfcLaborResourceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3::IfcLaborResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcLaborResourceType::IfcLaborResourceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3::IfcLaborResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcLagTime -::Ifc4x3::IfcTimeOrRatioSelect* Ifc4x3::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcTimeOrRatioSelect>(true); } +::Ifc4x3::IfcTimeOrRatioSelect* Ifc4x3::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcTimeOrRatioSelect>(true); } void Ifc4x3::IfcLagTime::setLagValue(::Ifc4x3::IfcTimeOrRatioSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3::IfcTaskDurationEnum::Value Ifc4x3::IfcLagTime::DurationType() const { return ::Ifc4x3::IfcTaskDurationEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x3::IfcTaskDurationEnum::Value Ifc4x3::IfcLagTime::DurationType() const { return ::Ifc4x3::IfcTaskDurationEnum::FromString(get_attribute_value(4)); } void Ifc4x3::IfcLagTime::setDurationType(::Ifc4x3::IfcTaskDurationEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3::IfcTaskDurationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3::IfcLagTime::declaration() const { return *((IfcParse::entity*)IFC4X3_types[578]); } const IfcParse::entity& Ifc4x3::IfcLagTime::Class() { return *((IfcParse::entity*)IFC4X3_types[578]); } Ifc4x3::IfcLagTime::IfcLagTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x3::IfcLagTime::IfcLagTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3::IfcTimeOrRatioSelect* v4_LagValue, ::Ifc4x3::IfcTaskDurationEnum::Value v5_DurationType) : IfcSchedulingTime(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_LagValue ? v4_LagValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (EnumerationReference(&::Ifc4x3::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType)));; populate_derived(); } +Ifc4x3::IfcLagTime::IfcLagTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3::IfcTimeOrRatioSelect* v4_LagValue, ::Ifc4x3::IfcTaskDurationEnum::Value v5_DurationType) : IfcSchedulingTime(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_LagValue ? v4_LagValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (EnumerationReference(&::Ifc4x3::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType)));; populate_derived(); } // Function implementations for IfcLamp -boost::optional< ::Ifc4x3::IfcLampTypeEnum::Value > Ifc4x3::IfcLamp::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcLampTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcLampTypeEnum::Value > Ifc4x3::IfcLamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcLampTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcLamp::setPredefinedType(boost::optional< ::Ifc4x3::IfcLampTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcLampTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcLamp::declaration() const { return *((IfcParse::entity*)IFC4X3_types[579]); } const IfcParse::entity& Ifc4x3::IfcLamp::Class() { return *((IfcParse::entity*)IFC4X3_types[579]); } Ifc4x3::IfcLamp::IfcLamp(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3::IfcLamp::IfcLamp(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcLampTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcLamp::IfcLamp(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcLampTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLampType -::Ifc4x3::IfcLampTypeEnum::Value Ifc4x3::IfcLampType::PredefinedType() const { return ::Ifc4x3::IfcLampTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcLampTypeEnum::Value Ifc4x3::IfcLampType::PredefinedType() const { return ::Ifc4x3::IfcLampTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcLampType::setPredefinedType(::Ifc4x3::IfcLampTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcLampTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcLampType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[580]); } const IfcParse::entity& Ifc4x3::IfcLampType::Class() { return *((IfcParse::entity*)IFC4X3_types[580]); } Ifc4x3::IfcLampType::IfcLampType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3::IfcLampType::IfcLampType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcLampTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcLampType::IfcLampType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcLampTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLibraryInformation -std::string Ifc4x3::IfcLibraryInformation::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3::IfcLibraryInformation::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcLibraryInformation::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3::IfcLibraryInformation::Version() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3::IfcLibraryInformation::Version() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3::IfcActorSelect* Ifc4x3::IfcLibraryInformation::Publisher() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcActorSelect>(true); } +::Ifc4x3::IfcActorSelect* Ifc4x3::IfcLibraryInformation::Publisher() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcActorSelect>(true); } void Ifc4x3::IfcLibraryInformation::setPublisher(::Ifc4x3::IfcActorSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x3::IfcLibraryInformation::VersionDate() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3::IfcLibraryInformation::VersionDate() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3::IfcLibraryInformation::setVersionDate(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3::IfcLibraryInformation::Location() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3::IfcLibraryInformation::Location() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcLibraryInformation::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3::IfcLibraryInformation::Description() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3::IfcLibraryInformation::Description() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3::IfcLibraryInformation::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x3::IfcRelAssociatesLibrary::list::ptr Ifc4x3::IfcLibraryInformation::LibraryInfoForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[914], 5)->as(); } @@ -12163,14 +12163,14 @@ void Ifc4x3::IfcLibraryInformation::setDescription(boost::optional< std::string const IfcParse::entity& Ifc4x3::IfcLibraryInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_types[586]); } const IfcParse::entity& Ifc4x3::IfcLibraryInformation::Class() { return *((IfcParse::entity*)IFC4X3_types[586]); } Ifc4x3::IfcLibraryInformation::IfcLibraryInformation(IfcEntityInstanceData&& e) : IfcExternalInformation(std::move(e)) { } -Ifc4x3::IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, boost::optional< std::string > v2_Version, ::Ifc4x3::IfcActorSelect* v3_Publisher, boost::optional< std::string > v4_VersionDate, boost::optional< std::string > v5_Location, boost::optional< std::string > v6_Description) : IfcExternalInformation(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, v3_Publisher ? v3_Publisher->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); }; populate_derived(); } +Ifc4x3::IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, boost::optional< std::string > v2_Version, ::Ifc4x3::IfcActorSelect* v3_Publisher, boost::optional< std::string > v4_VersionDate, boost::optional< std::string > v5_Location, boost::optional< std::string > v6_Description) : IfcExternalInformation(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, v3_Publisher ? v3_Publisher->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); }; populate_derived(); } // Function implementations for IfcLibraryReference -boost::optional< std::string > Ifc4x3::IfcLibraryReference::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3::IfcLibraryReference::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3::IfcLibraryReference::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3::IfcLibraryReference::Language() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3::IfcLibraryReference::Language() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcLibraryReference::setLanguage(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3::IfcLibraryInformation* Ifc4x3::IfcLibraryReference::ReferencedLibrary() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcLibraryInformation>(true); } +::Ifc4x3::IfcLibraryInformation* Ifc4x3::IfcLibraryReference::ReferencedLibrary() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcLibraryInformation>(true); } void Ifc4x3::IfcLibraryReference::setReferencedLibrary(::Ifc4x3::IfcLibraryInformation* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc4x3::IfcRelAssociatesLibrary::list::ptr Ifc4x3::IfcLibraryReference::LibraryRefForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[914], 5)->as(); } @@ -12178,69 +12178,69 @@ void Ifc4x3::IfcLibraryReference::setReferencedLibrary(::Ifc4x3::IfcLibraryInfor const IfcParse::entity& Ifc4x3::IfcLibraryReference::declaration() const { return *((IfcParse::entity*)IFC4X3_types[587]); } const IfcParse::entity& Ifc4x3::IfcLibraryReference::Class() { return *((IfcParse::entity*)IFC4X3_types[587]); } Ifc4x3::IfcLibraryReference::IfcLibraryReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3::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::IfcLibraryInformation* v6_ReferencedLibrary) : IfcExternalReference(IfcEntityInstanceData(storage_t(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, v6_ReferencedLibrary ? v6_ReferencedLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::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::IfcLibraryInformation* v6_ReferencedLibrary) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, v6_ReferencedLibrary ? v6_ReferencedLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLightDistributionData -double Ifc4x3::IfcLightDistributionData::MainPlaneAngle() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3::IfcLightDistributionData::MainPlaneAngle() const { double v = get_attribute_value(0); return v; } void Ifc4x3::IfcLightDistributionData::setMainPlaneAngle(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< double > /*[1:?]*/ Ifc4x3::IfcLightDistributionData::SecondaryPlaneAngle() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +std::vector< double > /*[1:?]*/ Ifc4x3::IfcLightDistributionData::SecondaryPlaneAngle() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3::IfcLightDistributionData::setSecondaryPlaneAngle(std::vector< double > /*[1:?]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector< double > /*[1:?]*/ Ifc4x3::IfcLightDistributionData::LuminousIntensity() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(2); return v; } +std::vector< double > /*[1:?]*/ Ifc4x3::IfcLightDistributionData::LuminousIntensity() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(2); return v; } void Ifc4x3::IfcLightDistributionData::setLuminousIntensity(std::vector< double > /*[1:?]*/ v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcLightDistributionData::declaration() const { return *((IfcParse::entity*)IFC4X3_types[590]); } const IfcParse::entity& Ifc4x3::IfcLightDistributionData::Class() { return *((IfcParse::entity*)IFC4X3_types[590]); } Ifc4x3::IfcLightDistributionData::IfcLightDistributionData(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcLightDistributionData::IfcLightDistributionData(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; populate_derived(); } +Ifc4x3::IfcLightDistributionData::IfcLightDistributionData(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; populate_derived(); } // Function implementations for IfcLightFixture -boost::optional< ::Ifc4x3::IfcLightFixtureTypeEnum::Value > Ifc4x3::IfcLightFixture::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcLightFixtureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcLightFixtureTypeEnum::Value > Ifc4x3::IfcLightFixture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcLightFixtureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcLightFixture::setPredefinedType(boost::optional< ::Ifc4x3::IfcLightFixtureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcLightFixtureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcLightFixture::declaration() const { return *((IfcParse::entity*)IFC4X3_types[593]); } const IfcParse::entity& Ifc4x3::IfcLightFixture::Class() { return *((IfcParse::entity*)IFC4X3_types[593]); } Ifc4x3::IfcLightFixture::IfcLightFixture(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3::IfcLightFixture::IfcLightFixture(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcLightFixture::IfcLightFixture(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLightFixtureType -::Ifc4x3::IfcLightFixtureTypeEnum::Value Ifc4x3::IfcLightFixtureType::PredefinedType() const { return ::Ifc4x3::IfcLightFixtureTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcLightFixtureTypeEnum::Value Ifc4x3::IfcLightFixtureType::PredefinedType() const { return ::Ifc4x3::IfcLightFixtureTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcLightFixtureType::setPredefinedType(::Ifc4x3::IfcLightFixtureTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcLightFixtureTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcLightFixtureType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[594]); } const IfcParse::entity& Ifc4x3::IfcLightFixtureType::Class() { return *((IfcParse::entity*)IFC4X3_types[594]); } Ifc4x3::IfcLightFixtureType::IfcLightFixtureType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3::IfcLightFixtureType::IfcLightFixtureType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcLightFixtureTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcLightFixtureType::IfcLightFixtureType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcLightFixtureTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLightIntensityDistribution -::Ifc4x3::IfcLightDistributionCurveEnum::Value Ifc4x3::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4x3::IfcLightDistributionCurveEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3::IfcLightDistributionCurveEnum::Value Ifc4x3::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4x3::IfcLightDistributionCurveEnum::FromString(get_attribute_value(0)); } void Ifc4x3::IfcLightIntensityDistribution::setLightDistributionCurve(::Ifc4x3::IfcLightDistributionCurveEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3::IfcLightDistributionCurveEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3::IfcLightDistributionData >::ptr Ifc4x3::IfcLightIntensityDistribution::DistributionData() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3::IfcLightDistributionData >(); } +aggregate_of< ::Ifc4x3::IfcLightDistributionData >::ptr Ifc4x3::IfcLightIntensityDistribution::DistributionData() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3::IfcLightDistributionData >(); } void Ifc4x3::IfcLightIntensityDistribution::setDistributionData(aggregate_of< ::Ifc4x3::IfcLightDistributionData >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcLightIntensityDistribution::declaration() const { return *((IfcParse::entity*)IFC4X3_types[596]); } const IfcParse::entity& Ifc4x3::IfcLightIntensityDistribution::Class() { return *((IfcParse::entity*)IFC4X3_types[596]); } Ifc4x3::IfcLightIntensityDistribution::IfcLightIntensityDistribution(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4x3::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, aggregate_of< ::Ifc4x3::IfcLightDistributionData >::ptr v2_DistributionData) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, (v2_DistributionData)->generalize());; populate_derived(); } +Ifc4x3::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4x3::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, aggregate_of< ::Ifc4x3::IfcLightDistributionData >::ptr v2_DistributionData) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, (v2_DistributionData)->generalize());; populate_derived(); } // Function implementations for IfcLightSource -boost::optional< std::string > Ifc4x3::IfcLightSource::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3::IfcLightSource::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcLightSource::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3::IfcColourRgb* Ifc4x3::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcColourRgb>(true); } +::Ifc4x3::IfcColourRgb* Ifc4x3::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcColourRgb>(true); } void Ifc4x3::IfcLightSource::setLightColour(::Ifc4x3::IfcColourRgb* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3::IfcLightSource::AmbientIntensity() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3::IfcLightSource::AmbientIntensity() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3::IfcLightSource::Intensity() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3::IfcLightSource::Intensity() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3::IfcLightSource::setIntensity(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3::IfcLightSource::declaration() const { return *((IfcParse::entity*)IFC4X3_types[597]); } const IfcParse::entity& Ifc4x3::IfcLightSource::Class() { return *((IfcParse::entity*)IFC4X3_types[597]); } Ifc4x3::IfcLightSource::IfcLightSource(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } +Ifc4x3::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } // Function implementations for IfcLightSourceAmbient @@ -12248,83 +12248,83 @@ Ifc4x3::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Name, : const IfcParse::entity& Ifc4x3::IfcLightSourceAmbient::declaration() const { return *((IfcParse::entity*)IFC4X3_types[598]); } const IfcParse::entity& Ifc4x3::IfcLightSourceAmbient::Class() { return *((IfcParse::entity*)IFC4X3_types[598]); } Ifc4x3::IfcLightSourceAmbient::IfcLightSourceAmbient(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x3::IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcLightSource(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } +Ifc4x3::IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } // Function implementations for IfcLightSourceDirectional -::Ifc4x3::IfcDirection* Ifc4x3::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcDirection>(true); } +::Ifc4x3::IfcDirection* Ifc4x3::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcDirection>(true); } void Ifc4x3::IfcLightSourceDirectional::setOrientation(::Ifc4x3::IfcDirection* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3::IfcLightSourceDirectional::declaration() const { return *((IfcParse::entity*)IFC4X3_types[599]); } const IfcParse::entity& Ifc4x3::IfcLightSourceDirectional::Class() { return *((IfcParse::entity*)IFC4X3_types[599]); } Ifc4x3::IfcLightSourceDirectional::IfcLightSourceDirectional(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x3::IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3::IfcDirection* v5_Orientation) : IfcLightSource(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Orientation ? v5_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3::IfcDirection* v5_Orientation) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Orientation ? v5_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLightSourceGoniometric -::Ifc4x3::IfcAxis2Placement3D* Ifc4x3::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcAxis2Placement3D>(true); } +::Ifc4x3::IfcAxis2Placement3D* Ifc4x3::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcAxis2Placement3D>(true); } void Ifc4x3::IfcLightSourceGoniometric::setPosition(::Ifc4x3::IfcAxis2Placement3D* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3::IfcColourRgb* Ifc4x3::IfcLightSourceGoniometric::ColourAppearance() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcColourRgb>(true); } +::Ifc4x3::IfcColourRgb* Ifc4x3::IfcLightSourceGoniometric::ColourAppearance() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcColourRgb>(true); } void Ifc4x3::IfcLightSourceGoniometric::setColourAppearance(::Ifc4x3::IfcColourRgb* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -double Ifc4x3::IfcLightSourceGoniometric::ColourTemperature() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3::IfcLightSourceGoniometric::ColourTemperature() const { double v = get_attribute_value(6); return v; } void Ifc4x3::IfcLightSourceGoniometric::setColourTemperature(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -double Ifc4x3::IfcLightSourceGoniometric::LuminousFlux() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x3::IfcLightSourceGoniometric::LuminousFlux() const { double v = get_attribute_value(7); return v; } void Ifc4x3::IfcLightSourceGoniometric::setLuminousFlux(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc4x3::IfcLightEmissionSourceEnum::Value Ifc4x3::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4x3::IfcLightEmissionSourceEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3::IfcLightEmissionSourceEnum::Value Ifc4x3::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4x3::IfcLightEmissionSourceEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcLightSourceGoniometric::setLightEmissionSource(::Ifc4x3::IfcLightEmissionSourceEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcLightEmissionSourceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc4x3::IfcLightDistributionDataSourceSelect* Ifc4x3::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3::IfcLightDistributionDataSourceSelect>(true); } +::Ifc4x3::IfcLightDistributionDataSourceSelect* Ifc4x3::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3::IfcLightDistributionDataSourceSelect>(true); } void Ifc4x3::IfcLightSourceGoniometric::setLightDistributionDataSource(::Ifc4x3::IfcLightDistributionDataSourceSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcLightSourceGoniometric::declaration() const { return *((IfcParse::entity*)IFC4X3_types[600]); } const IfcParse::entity& Ifc4x3::IfcLightSourceGoniometric::Class() { return *((IfcParse::entity*)IFC4X3_types[600]); } Ifc4x3::IfcLightSourceGoniometric::IfcLightSourceGoniometric(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x3::IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3::IfcAxis2Placement3D* v5_Position, ::Ifc4x3::IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3::IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource(IfcEntityInstanceData(storage_t(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ColourAppearance ? v6_ColourAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, v10_LightDistributionDataSource ? v10_LightDistributionDataSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3::IfcAxis2Placement3D* v5_Position, ::Ifc4x3::IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3::IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ColourAppearance ? v6_ColourAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, v10_LightDistributionDataSource ? v10_LightDistributionDataSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLightSourcePositional -::Ifc4x3::IfcCartesianPoint* Ifc4x3::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcCartesianPoint>(true); } +::Ifc4x3::IfcCartesianPoint* Ifc4x3::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcCartesianPoint>(true); } void Ifc4x3::IfcLightSourcePositional::setPosition(::Ifc4x3::IfcCartesianPoint* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -double Ifc4x3::IfcLightSourcePositional::Radius() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3::IfcLightSourcePositional::Radius() const { double v = get_attribute_value(5); return v; } void Ifc4x3::IfcLightSourcePositional::setRadius(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3::IfcLightSourcePositional::ConstantAttenuation() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3::IfcLightSourcePositional::ConstantAttenuation() const { double v = get_attribute_value(6); return v; } void Ifc4x3::IfcLightSourcePositional::setConstantAttenuation(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -double Ifc4x3::IfcLightSourcePositional::DistanceAttenuation() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x3::IfcLightSourcePositional::DistanceAttenuation() const { double v = get_attribute_value(7); return v; } void Ifc4x3::IfcLightSourcePositional::setDistanceAttenuation(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -double Ifc4x3::IfcLightSourcePositional::QuadricAttenuation() const { double v = data_.get_attribute_value(8); return v; } +double Ifc4x3::IfcLightSourcePositional::QuadricAttenuation() const { double v = get_attribute_value(8); return v; } void Ifc4x3::IfcLightSourcePositional::setQuadricAttenuation(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3::IfcLightSourcePositional::declaration() const { return *((IfcParse::entity*)IFC4X3_types[601]); } const IfcParse::entity& Ifc4x3::IfcLightSourcePositional::Class() { return *((IfcParse::entity*)IFC4X3_types[601]); } Ifc4x3::IfcLightSourcePositional::IfcLightSourcePositional(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x3::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) : IfcLightSource(IfcEntityInstanceData(storage_t(9))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; populate_derived(); } +Ifc4x3::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; populate_derived(); } // Function implementations for IfcLightSourceSpot -::Ifc4x3::IfcDirection* Ifc4x3::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3::IfcDirection>(true); } +::Ifc4x3::IfcDirection* Ifc4x3::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3::IfcDirection>(true); } void Ifc4x3::IfcLightSourceSpot::setOrientation(::Ifc4x3::IfcDirection* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3::IfcLightSourceSpot::ConcentrationExponent() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3::IfcLightSourceSpot::ConcentrationExponent() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -double Ifc4x3::IfcLightSourceSpot::SpreadAngle() const { double v = data_.get_attribute_value(11); return v; } +double Ifc4x3::IfcLightSourceSpot::SpreadAngle() const { double v = get_attribute_value(11); return v; } void Ifc4x3::IfcLightSourceSpot::setSpreadAngle(double v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } -double Ifc4x3::IfcLightSourceSpot::BeamWidthAngle() const { double v = data_.get_attribute_value(12); return v; } +double Ifc4x3::IfcLightSourceSpot::BeamWidthAngle() const { double v = get_attribute_value(12); return v; } void Ifc4x3::IfcLightSourceSpot::setBeamWidthAngle(double v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } const IfcParse::entity& Ifc4x3::IfcLightSourceSpot::declaration() const { return *((IfcParse::entity*)IFC4X3_types[602]); } const IfcParse::entity& Ifc4x3::IfcLightSourceSpot::Class() { return *((IfcParse::entity*)IFC4X3_types[602]); } Ifc4x3::IfcLightSourceSpot::IfcLightSourceSpot(IfcEntityInstanceData&& e) : IfcLightSourcePositional(std::move(e)) { } -Ifc4x3::IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3::IfcDirection* v10_Orientation, boost::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) : IfcLightSourcePositional(IfcEntityInstanceData(storage_t(13))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, v10_Orientation ? v10_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; populate_derived(); } +Ifc4x3::IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< std::string > v1_Name, ::Ifc4x3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3::IfcDirection* v10_Orientation, boost::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) : IfcLightSourcePositional(IfcEntityInstanceData(in_memory_attribute_storage(13))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, v10_Orientation ? v10_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; populate_derived(); } // Function implementations for IfcLine -::Ifc4x3::IfcCartesianPoint* Ifc4x3::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcCartesianPoint>(true); } +::Ifc4x3::IfcCartesianPoint* Ifc4x3::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcCartesianPoint>(true); } void Ifc4x3::IfcLine::setPnt(::Ifc4x3::IfcCartesianPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3::IfcVector* Ifc4x3::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcVector>(true); } +::Ifc4x3::IfcVector* Ifc4x3::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcVector>(true); } void Ifc4x3::IfcLine::setDir(::Ifc4x3::IfcVector* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcLine::declaration() const { return *((IfcParse::entity*)IFC4X3_types[603]); } const IfcParse::entity& Ifc4x3::IfcLine::Class() { return *((IfcParse::entity*)IFC4X3_types[603]); } Ifc4x3::IfcLine::IfcLine(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3::IfcLine::IfcLine(::Ifc4x3::IfcCartesianPoint* v1_Pnt, ::Ifc4x3::IfcVector* v2_Dir) : IfcCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Pnt ? v1_Pnt->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Dir ? v2_Dir->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcLine::IfcLine(::Ifc4x3::IfcCartesianPoint* v1_Pnt, ::Ifc4x3::IfcVector* v2_Dir) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Pnt ? v1_Pnt->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Dir ? v2_Dir->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLinearElement @@ -12332,19 +12332,19 @@ Ifc4x3::IfcLine::IfcLine(::Ifc4x3::IfcCartesianPoint* v1_Pnt, ::Ifc4x3::IfcVecto const IfcParse::entity& Ifc4x3::IfcLinearElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[604]); } const IfcParse::entity& Ifc4x3::IfcLinearElement::Class() { return *((IfcParse::entity*)IFC4X3_types[604]); } Ifc4x3::IfcLinearElement::IfcLinearElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3::IfcLinearElement::IfcLinearElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcLinearElement::IfcLinearElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLinearPlacement -::Ifc4x3::IfcAxis2PlacementLinear* Ifc4x3::IfcLinearPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcAxis2PlacementLinear>(true); } +::Ifc4x3::IfcAxis2PlacementLinear* Ifc4x3::IfcLinearPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcAxis2PlacementLinear>(true); } void Ifc4x3::IfcLinearPlacement::setRelativePlacement(::Ifc4x3::IfcAxis2PlacementLinear* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3::IfcAxis2Placement3D* Ifc4x3::IfcLinearPlacement::CartesianPosition() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcAxis2Placement3D>(true); } +::Ifc4x3::IfcAxis2Placement3D* Ifc4x3::IfcLinearPlacement::CartesianPosition() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcAxis2Placement3D>(true); } void Ifc4x3::IfcLinearPlacement::setCartesianPosition(::Ifc4x3::IfcAxis2Placement3D* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcLinearPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[607]); } const IfcParse::entity& Ifc4x3::IfcLinearPlacement::Class() { return *((IfcParse::entity*)IFC4X3_types[607]); } Ifc4x3::IfcLinearPlacement::IfcLinearPlacement(IfcEntityInstanceData&& e) : IfcObjectPlacement(std::move(e)) { } -Ifc4x3::IfcLinearPlacement::IfcLinearPlacement(::Ifc4x3::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3::IfcAxis2PlacementLinear* v2_RelativePlacement, ::Ifc4x3::IfcAxis2Placement3D* v3_CartesianPosition) : IfcObjectPlacement(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CartesianPosition ? v3_CartesianPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcLinearPlacement::IfcLinearPlacement(::Ifc4x3::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3::IfcAxis2PlacementLinear* v2_RelativePlacement, ::Ifc4x3::IfcAxis2Placement3D* v3_CartesianPosition) : IfcObjectPlacement(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CartesianPosition ? v3_CartesianPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLinearPositioningElement @@ -12352,37 +12352,37 @@ Ifc4x3::IfcLinearPlacement::IfcLinearPlacement(::Ifc4x3::IfcObjectPlacement* v1_ const IfcParse::entity& Ifc4x3::IfcLinearPositioningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[608]); } const IfcParse::entity& Ifc4x3::IfcLinearPositioningElement::Class() { return *((IfcParse::entity*)IFC4X3_types[608]); } Ifc4x3::IfcLinearPositioningElement::IfcLinearPositioningElement(IfcEntityInstanceData&& e) : IfcPositioningElement(std::move(e)) { } -Ifc4x3::IfcLinearPositioningElement::IfcLinearPositioningElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation) : IfcPositioningElement(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcLinearPositioningElement::IfcLinearPositioningElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation) : IfcPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLiquidTerminal -boost::optional< ::Ifc4x3::IfcLiquidTerminalTypeEnum::Value > Ifc4x3::IfcLiquidTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcLiquidTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcLiquidTerminalTypeEnum::Value > Ifc4x3::IfcLiquidTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcLiquidTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcLiquidTerminal::setPredefinedType(boost::optional< ::Ifc4x3::IfcLiquidTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcLiquidTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcLiquidTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_types[612]); } const IfcParse::entity& Ifc4x3::IfcLiquidTerminal::Class() { return *((IfcParse::entity*)IFC4X3_types[612]); } Ifc4x3::IfcLiquidTerminal::IfcLiquidTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3::IfcLiquidTerminal::IfcLiquidTerminal(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcLiquidTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcLiquidTerminal::IfcLiquidTerminal(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcLiquidTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLiquidTerminalType -::Ifc4x3::IfcLiquidTerminalTypeEnum::Value Ifc4x3::IfcLiquidTerminalType::PredefinedType() const { return ::Ifc4x3::IfcLiquidTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcLiquidTerminalTypeEnum::Value Ifc4x3::IfcLiquidTerminalType::PredefinedType() const { return ::Ifc4x3::IfcLiquidTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcLiquidTerminalType::setPredefinedType(::Ifc4x3::IfcLiquidTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcLiquidTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcLiquidTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[613]); } const IfcParse::entity& Ifc4x3::IfcLiquidTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_types[613]); } Ifc4x3::IfcLiquidTerminalType::IfcLiquidTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3::IfcLiquidTerminalType::IfcLiquidTerminalType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcLiquidTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcLiquidTerminalType::IfcLiquidTerminalType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcLiquidTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLocalPlacement -::Ifc4x3::IfcAxis2Placement* Ifc4x3::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcAxis2Placement>(true); } +::Ifc4x3::IfcAxis2Placement* Ifc4x3::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcAxis2Placement>(true); } void Ifc4x3::IfcLocalPlacement::setRelativePlacement(::Ifc4x3::IfcAxis2Placement* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcLocalPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[616]); } const IfcParse::entity& Ifc4x3::IfcLocalPlacement::Class() { return *((IfcParse::entity*)IFC4X3_types[616]); } Ifc4x3::IfcLocalPlacement::IfcLocalPlacement(IfcEntityInstanceData&& e) : IfcObjectPlacement(std::move(e)) { } -Ifc4x3::IfcLocalPlacement::IfcLocalPlacement(::Ifc4x3::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3::IfcAxis2Placement* v2_RelativePlacement) : IfcObjectPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcLocalPlacement::IfcLocalPlacement(::Ifc4x3::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3::IfcAxis2Placement* v2_RelativePlacement) : IfcObjectPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLoop @@ -12390,80 +12390,80 @@ Ifc4x3::IfcLocalPlacement::IfcLocalPlacement(::Ifc4x3::IfcObjectPlacement* v1_Pl const IfcParse::entity& Ifc4x3::IfcLoop::declaration() const { return *((IfcParse::entity*)IFC4X3_types[619]); } const IfcParse::entity& Ifc4x3::IfcLoop::Class() { return *((IfcParse::entity*)IFC4X3_types[619]); } Ifc4x3::IfcLoop::IfcLoop(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3::IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3::IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcManifoldSolidBrep -::Ifc4x3::IfcClosedShell* Ifc4x3::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcClosedShell>(true); } +::Ifc4x3::IfcClosedShell* Ifc4x3::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcClosedShell>(true); } void Ifc4x3::IfcManifoldSolidBrep::setOuter(::Ifc4x3::IfcClosedShell* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3::IfcManifoldSolidBrep::declaration() const { return *((IfcParse::entity*)IFC4X3_types[626]); } const IfcParse::entity& Ifc4x3::IfcManifoldSolidBrep::Class() { return *((IfcParse::entity*)IFC4X3_types[626]); } Ifc4x3::IfcManifoldSolidBrep::IfcManifoldSolidBrep(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3::IfcManifoldSolidBrep::IfcManifoldSolidBrep(::Ifc4x3::IfcClosedShell* v1_Outer) : IfcSolidModel(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcManifoldSolidBrep::IfcManifoldSolidBrep(::Ifc4x3::IfcClosedShell* v1_Outer) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMapConversion -double Ifc4x3::IfcMapConversion::Eastings() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3::IfcMapConversion::Eastings() const { double v = get_attribute_value(2); return v; } void Ifc4x3::IfcMapConversion::setEastings(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3::IfcMapConversion::Northings() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3::IfcMapConversion::Northings() const { double v = get_attribute_value(3); return v; } void Ifc4x3::IfcMapConversion::setNorthings(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3::IfcMapConversion::OrthogonalHeight() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3::IfcMapConversion::OrthogonalHeight() const { double v = get_attribute_value(4); return v; } void Ifc4x3::IfcMapConversion::setOrthogonalHeight(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< double > Ifc4x3::IfcMapConversion::XAxisAbscissa() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3::IfcMapConversion::XAxisAbscissa() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3::IfcMapConversion::setXAxisAbscissa(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3::IfcMapConversion::XAxisOrdinate() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3::IfcMapConversion::XAxisOrdinate() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3::IfcMapConversion::setXAxisOrdinate(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3::IfcMapConversion::Scale() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3::IfcMapConversion::Scale() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3::IfcMapConversion::setScale(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3::IfcMapConversion::ScaleY() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3::IfcMapConversion::ScaleY() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3::IfcMapConversion::setScaleY(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3::IfcMapConversion::ScaleZ() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3::IfcMapConversion::ScaleZ() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3::IfcMapConversion::setScaleZ(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3::IfcMapConversion::declaration() const { return *((IfcParse::entity*)IFC4X3_types[627]); } const IfcParse::entity& Ifc4x3::IfcMapConversion::Class() { return *((IfcParse::entity*)IFC4X3_types[627]); } Ifc4x3::IfcMapConversion::IfcMapConversion(IfcEntityInstanceData&& e) : IfcCoordinateOperation(std::move(e)) { } -Ifc4x3::IfcMapConversion::IfcMapConversion(::Ifc4x3::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3::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(storage_t(10))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); } if (v9_ScaleY) {set_attribute_value(8, (*v9_ScaleY)); } if (v10_ScaleZ) {set_attribute_value(9, (*v10_ScaleZ)); }; populate_derived(); } +Ifc4x3::IfcMapConversion::IfcMapConversion(::Ifc4x3::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3::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(in_memory_attribute_storage(10))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); } if (v9_ScaleY) {set_attribute_value(8, (*v9_ScaleY)); } if (v10_ScaleZ) {set_attribute_value(9, (*v10_ScaleZ)); }; populate_derived(); } // Function implementations for IfcMappedItem -::Ifc4x3::IfcRepresentationMap* Ifc4x3::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcRepresentationMap>(true); } +::Ifc4x3::IfcRepresentationMap* Ifc4x3::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcRepresentationMap>(true); } void Ifc4x3::IfcMappedItem::setMappingSource(::Ifc4x3::IfcRepresentationMap* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3::IfcCartesianTransformationOperator* Ifc4x3::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcCartesianTransformationOperator>(true); } +::Ifc4x3::IfcCartesianTransformationOperator* Ifc4x3::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcCartesianTransformationOperator>(true); } void Ifc4x3::IfcMappedItem::setMappingTarget(::Ifc4x3::IfcCartesianTransformationOperator* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcMappedItem::declaration() const { return *((IfcParse::entity*)IFC4X3_types[628]); } const IfcParse::entity& Ifc4x3::IfcMappedItem::Class() { return *((IfcParse::entity*)IFC4X3_types[628]); } Ifc4x3::IfcMappedItem::IfcMappedItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x3::IfcMappedItem::IfcMappedItem(::Ifc4x3::IfcRepresentationMap* v1_MappingSource, ::Ifc4x3::IfcCartesianTransformationOperator* v2_MappingTarget) : IfcRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_MappingSource ? v1_MappingSource->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappingTarget ? v2_MappingTarget->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcMappedItem::IfcMappedItem(::Ifc4x3::IfcRepresentationMap* v1_MappingSource, ::Ifc4x3::IfcCartesianTransformationOperator* v2_MappingTarget) : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_MappingSource ? v1_MappingSource->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappingTarget ? v2_MappingTarget->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMarineFacility -boost::optional< ::Ifc4x3::IfcMarineFacilityTypeEnum::Value > Ifc4x3::IfcMarineFacility::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3::IfcMarineFacilityTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3::IfcMarineFacilityTypeEnum::Value > Ifc4x3::IfcMarineFacility::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3::IfcMarineFacilityTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcMarineFacility::setPredefinedType(boost::optional< ::Ifc4x3::IfcMarineFacilityTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcMarineFacilityTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3::IfcMarineFacility::declaration() const { return *((IfcParse::entity*)IFC4X3_types[629]); } const IfcParse::entity& Ifc4x3::IfcMarineFacility::Class() { return *((IfcParse::entity*)IFC4X3_types[629]); } Ifc4x3::IfcMarineFacility::IfcMarineFacility(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x3::IfcMarineFacility::IfcMarineFacility(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcMarineFacilityTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcMarineFacility::IfcMarineFacility(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcMarineFacilityTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMarinePart -boost::optional< ::Ifc4x3::IfcMarinePartTypeEnum::Value > Ifc4x3::IfcMarinePart::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcMarinePartTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3::IfcMarinePartTypeEnum::Value > Ifc4x3::IfcMarinePart::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcMarinePartTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3::IfcMarinePart::setPredefinedType(boost::optional< ::Ifc4x3::IfcMarinePartTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3::IfcMarinePartTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3::IfcMarinePart::declaration() const { return *((IfcParse::entity*)IFC4X3_types[631]); } const IfcParse::entity& Ifc4x3::IfcMarinePart::Class() { return *((IfcParse::entity*)IFC4X3_types[631]); } Ifc4x3::IfcMarinePart::IfcMarinePart(IfcEntityInstanceData&& e) : IfcFacilityPart(std::move(e)) { } -Ifc4x3::IfcMarinePart::IfcMarinePart(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3::IfcMarinePartTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcMarinePartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcMarinePart::IfcMarinePart(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3::IfcMarinePartTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcMarinePartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMaterial -std::string Ifc4x3::IfcMaterial::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3::IfcMaterial::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcMaterial::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3::IfcMaterial::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3::IfcMaterial::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcMaterial::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3::IfcMaterial::Category() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3::IfcMaterial::Category() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3::IfcMaterial::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3::IfcMaterialDefinitionRepresentation::list::ptr Ifc4x3::IfcMaterial::HasRepresentation() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[642], 3)->as(); } @@ -12473,30 +12473,30 @@ void Ifc4x3::IfcMaterial::setCategory(boost::optional< std::string > v) { if (v) const IfcParse::entity& Ifc4x3::IfcMaterial::declaration() const { return *((IfcParse::entity*)IFC4X3_types[637]); } const IfcParse::entity& Ifc4x3::IfcMaterial::Class() { return *((IfcParse::entity*)IFC4X3_types[637]); } Ifc4x3::IfcMaterial::IfcMaterial(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); }; populate_derived(); } +Ifc4x3::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); }; populate_derived(); } // Function implementations for IfcMaterialClassificationRelationship -aggregate_of< ::Ifc4x3::IfcClassificationSelect >::ptr Ifc4x3::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3::IfcClassificationSelect >(); } +aggregate_of< ::Ifc4x3::IfcClassificationSelect >::ptr Ifc4x3::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3::IfcClassificationSelect >(); } void Ifc4x3::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x3::IfcClassificationSelect >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3::IfcMaterial* Ifc4x3::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcMaterial>(true); } +::Ifc4x3::IfcMaterial* Ifc4x3::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcMaterial>(true); } void Ifc4x3::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4x3::IfcMaterial* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcMaterialClassificationRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_types[638]); } const IfcParse::entity& Ifc4x3::IfcMaterialClassificationRelationship::Class() { return *((IfcParse::entity*)IFC4X3_types[638]); } Ifc4x3::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_MaterialClassifications)->generalize());set_attribute_value(1, v2_ClassifiedMaterial ? v2_ClassifiedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_MaterialClassifications)->generalize());set_attribute_value(1, v2_ClassifiedMaterial ? v2_ClassifiedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialConstituent -boost::optional< std::string > Ifc4x3::IfcMaterialConstituent::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3::IfcMaterialConstituent::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcMaterialConstituent::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3::IfcMaterialConstituent::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3::IfcMaterialConstituent::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcMaterialConstituent::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3::IfcMaterial* Ifc4x3::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcMaterial>(true); } +::Ifc4x3::IfcMaterial* Ifc4x3::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcMaterial>(true); } void Ifc4x3::IfcMaterialConstituent::setMaterial(::Ifc4x3::IfcMaterial* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4x3::IfcMaterialConstituent::Fraction() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3::IfcMaterialConstituent::Fraction() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3::IfcMaterialConstituent::setFraction(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3::IfcMaterialConstituent::Category() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3::IfcMaterialConstituent::Category() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcMaterialConstituent::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } ::Ifc4x3::IfcMaterialConstituentSet::list::ptr Ifc4x3::IfcMaterialConstituent::ToMaterialConstituentSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[640], 2)->as(); } @@ -12504,21 +12504,21 @@ void Ifc4x3::IfcMaterialConstituent::setCategory(boost::optional< std::string > const IfcParse::entity& Ifc4x3::IfcMaterialConstituent::declaration() const { return *((IfcParse::entity*)IFC4X3_types[639]); } const IfcParse::entity& Ifc4x3::IfcMaterialConstituent::Class() { return *((IfcParse::entity*)IFC4X3_types[639]); } Ifc4x3::IfcMaterialConstituent::IfcMaterialConstituent(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3::IfcMaterialConstituent::IfcMaterialConstituent(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcMaterial* v3_Material, boost::optional< double > v4_Fraction, boost::optional< std::string > v5_Category) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); }; populate_derived(); } +Ifc4x3::IfcMaterialConstituent::IfcMaterialConstituent(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcMaterial* v3_Material, boost::optional< double > v4_Fraction, boost::optional< std::string > v5_Category) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); }; populate_derived(); } // Function implementations for IfcMaterialConstituentSet -boost::optional< std::string > Ifc4x3::IfcMaterialConstituentSet::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3::IfcMaterialConstituentSet::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcMaterialConstituentSet::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3::IfcMaterialConstituentSet::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3::IfcMaterialConstituentSet::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcMaterialConstituentSet::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< aggregate_of< ::Ifc4x3::IfcMaterialConstituent >::ptr > Ifc4x3::IfcMaterialConstituentSet::MaterialConstituents() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3::IfcMaterialConstituent >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcMaterialConstituent >::ptr > Ifc4x3::IfcMaterialConstituentSet::MaterialConstituents() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3::IfcMaterialConstituent >(); } void Ifc4x3::IfcMaterialConstituentSet::setMaterialConstituents(boost::optional< aggregate_of< ::Ifc4x3::IfcMaterialConstituent >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3::IfcMaterialConstituentSet::declaration() const { return *((IfcParse::entity*)IFC4X3_types[640]); } const IfcParse::entity& Ifc4x3::IfcMaterialConstituentSet::Class() { return *((IfcParse::entity*)IFC4X3_types[640]); } Ifc4x3::IfcMaterialConstituentSet::IfcMaterialConstituentSet(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3::IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3::IfcMaterialConstituent >::ptr > v3_MaterialConstituents) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, (*v3_MaterialConstituents)->generalize()); }; populate_derived(); } +Ifc4x3::IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3::IfcMaterialConstituent >::ptr > v3_MaterialConstituents) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, (*v3_MaterialConstituents)->generalize()); }; populate_derived(); } // Function implementations for IfcMaterialDefinition @@ -12529,32 +12529,32 @@ Ifc4x3::IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional< st const IfcParse::entity& Ifc4x3::IfcMaterialDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_types[641]); } const IfcParse::entity& Ifc4x3::IfcMaterialDefinition::Class() { return *((IfcParse::entity*)IFC4X3_types[641]); } Ifc4x3::IfcMaterialDefinition::IfcMaterialDefinition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcMaterialDefinition::IfcMaterialDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3::IfcMaterialDefinition::IfcMaterialDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcMaterialDefinitionRepresentation -::Ifc4x3::IfcMaterial* Ifc4x3::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcMaterial>(true); } +::Ifc4x3::IfcMaterial* Ifc4x3::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcMaterial>(true); } void Ifc4x3::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(::Ifc4x3::IfcMaterial* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcMaterialDefinitionRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_types[642]); } const IfcParse::entity& Ifc4x3::IfcMaterialDefinitionRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_types[642]); } Ifc4x3::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(IfcEntityInstanceData&& e) : IfcProductRepresentation(std::move(e)) { } -Ifc4x3::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3::IfcRepresentation >::ptr v3_Representations, ::Ifc4x3::IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());set_attribute_value(3, v4_RepresentedMaterial ? v4_RepresentedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3::IfcRepresentation >::ptr v3_Representations, ::Ifc4x3::IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());set_attribute_value(3, v4_RepresentedMaterial ? v4_RepresentedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialLayer -::Ifc4x3::IfcMaterial* Ifc4x3::IfcMaterialLayer::Material() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcMaterial>(true); } +::Ifc4x3::IfcMaterial* Ifc4x3::IfcMaterialLayer::Material() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcMaterial>(true); } void Ifc4x3::IfcMaterialLayer::setMaterial(::Ifc4x3::IfcMaterial* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3::IfcMaterialLayer::LayerThickness() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3::IfcMaterialLayer::LayerThickness() const { double v = get_attribute_value(1); return v; } void Ifc4x3::IfcMaterialLayer::setLayerThickness(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< boost::logic::tribool > Ifc4x3::IfcMaterialLayer::IsVentilated() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::optional< boost::logic::tribool > Ifc4x3::IfcMaterialLayer::IsVentilated() const { if(get_attribute_value(2).isNull()) { return boost::none; } boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x3::IfcMaterialLayer::setIsVentilated(boost::optional< boost::logic::tribool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3::IfcMaterialLayer::Name() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3::IfcMaterialLayer::Name() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3::IfcMaterialLayer::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3::IfcMaterialLayer::Description() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3::IfcMaterialLayer::Description() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcMaterialLayer::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3::IfcMaterialLayer::Category() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3::IfcMaterialLayer::Category() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3::IfcMaterialLayer::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< int > Ifc4x3::IfcMaterialLayer::Priority() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } int v = data_.get_attribute_value(6); return v; } +boost::optional< int > Ifc4x3::IfcMaterialLayer::Priority() const { if(get_attribute_value(6).isNull()) { return boost::none; } int v = get_attribute_value(6); return v; } void Ifc4x3::IfcMaterialLayer::setPriority(boost::optional< int > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3::IfcMaterialLayerSet::list::ptr Ifc4x3::IfcMaterialLayer::ToMaterialLayerSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[644], 0)->as(); } @@ -12562,74 +12562,74 @@ void Ifc4x3::IfcMaterialLayer::setPriority(boost::optional< int > v) { if (v) {s const IfcParse::entity& Ifc4x3::IfcMaterialLayer::declaration() const { return *((IfcParse::entity*)IFC4X3_types[643]); } const IfcParse::entity& Ifc4x3::IfcMaterialLayer::Class() { return *((IfcParse::entity*)IFC4X3_types[643]); } Ifc4x3::IfcMaterialLayer::IfcMaterialLayer(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3::IfcMaterialLayer::IfcMaterialLayer(::Ifc4x3::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(storage_t(7))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }; populate_derived(); } +Ifc4x3::IfcMaterialLayer::IfcMaterialLayer(::Ifc4x3::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(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }; populate_derived(); } // Function implementations for IfcMaterialLayerSet -aggregate_of< ::Ifc4x3::IfcMaterialLayer >::ptr Ifc4x3::IfcMaterialLayerSet::MaterialLayers() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3::IfcMaterialLayer >(); } +aggregate_of< ::Ifc4x3::IfcMaterialLayer >::ptr Ifc4x3::IfcMaterialLayerSet::MaterialLayers() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3::IfcMaterialLayer >(); } void Ifc4x3::IfcMaterialLayerSet::setMaterialLayers(aggregate_of< ::Ifc4x3::IfcMaterialLayer >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3::IfcMaterialLayerSet::LayerSetName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3::IfcMaterialLayerSet::LayerSetName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcMaterialLayerSet::setLayerSetName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3::IfcMaterialLayerSet::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3::IfcMaterialLayerSet::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3::IfcMaterialLayerSet::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3::IfcMaterialLayerSet::declaration() const { return *((IfcParse::entity*)IFC4X3_types[644]); } const IfcParse::entity& Ifc4x3::IfcMaterialLayerSet::Class() { return *((IfcParse::entity*)IFC4X3_types[644]); } Ifc4x3::IfcMaterialLayerSet::IfcMaterialLayerSet(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3::IfcMaterialLayerSet::IfcMaterialLayerSet(aggregate_of< ::Ifc4x3::IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName, boost::optional< std::string > v3_Description) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_MaterialLayers)->generalize()); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } +Ifc4x3::IfcMaterialLayerSet::IfcMaterialLayerSet(aggregate_of< ::Ifc4x3::IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName, boost::optional< std::string > v3_Description) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_MaterialLayers)->generalize()); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } // Function implementations for IfcMaterialLayerSetUsage -::Ifc4x3::IfcMaterialLayerSet* Ifc4x3::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcMaterialLayerSet>(true); } +::Ifc4x3::IfcMaterialLayerSet* Ifc4x3::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcMaterialLayerSet>(true); } void Ifc4x3::IfcMaterialLayerSetUsage::setForLayerSet(::Ifc4x3::IfcMaterialLayerSet* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3::IfcLayerSetDirectionEnum::Value Ifc4x3::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4x3::IfcLayerSetDirectionEnum::FromString(data_.get_attribute_value(1)); } +::Ifc4x3::IfcLayerSetDirectionEnum::Value Ifc4x3::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4x3::IfcLayerSetDirectionEnum::FromString(get_attribute_value(1)); } void Ifc4x3::IfcMaterialLayerSetUsage::setLayerSetDirection(::Ifc4x3::IfcLayerSetDirectionEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x3::IfcLayerSetDirectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -::Ifc4x3::IfcDirectionSenseEnum::Value Ifc4x3::IfcMaterialLayerSetUsage::DirectionSense() const { return ::Ifc4x3::IfcDirectionSenseEnum::FromString(data_.get_attribute_value(2)); } +::Ifc4x3::IfcDirectionSenseEnum::Value Ifc4x3::IfcMaterialLayerSetUsage::DirectionSense() const { return ::Ifc4x3::IfcDirectionSenseEnum::FromString(get_attribute_value(2)); } void Ifc4x3::IfcMaterialLayerSetUsage::setDirectionSense(::Ifc4x3::IfcDirectionSenseEnum::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3::IfcDirectionSenseEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -double Ifc4x3::IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3::IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { double v = get_attribute_value(3); return v; } void Ifc4x3::IfcMaterialLayerSetUsage::setOffsetFromReferenceLine(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< double > Ifc4x3::IfcMaterialLayerSetUsage::ReferenceExtent() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3::IfcMaterialLayerSetUsage::ReferenceExtent() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3::IfcMaterialLayerSetUsage::setReferenceExtent(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3::IfcMaterialLayerSetUsage::declaration() const { return *((IfcParse::entity*)IFC4X3_types[645]); } const IfcParse::entity& Ifc4x3::IfcMaterialLayerSetUsage::Class() { return *((IfcParse::entity*)IFC4X3_types[645]); } Ifc4x3::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(IfcEntityInstanceData&& e) : IfcMaterialUsageDefinition(std::move(e)) { } -Ifc4x3::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(::Ifc4x3::IfcMaterialLayerSet* v1_ForLayerSet, ::Ifc4x3::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, boost::optional< double > v5_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_ForLayerSet ? v1_ForLayerSet->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (EnumerationReference(&::Ifc4x3::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); }; populate_derived(); } +Ifc4x3::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(::Ifc4x3::IfcMaterialLayerSet* v1_ForLayerSet, ::Ifc4x3::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, boost::optional< double > v5_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_ForLayerSet ? v1_ForLayerSet->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (EnumerationReference(&::Ifc4x3::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); }; populate_derived(); } // Function implementations for IfcMaterialLayerWithOffsets -::Ifc4x3::IfcLayerSetDirectionEnum::Value Ifc4x3::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4x3::IfcLayerSetDirectionEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3::IfcLayerSetDirectionEnum::Value Ifc4x3::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4x3::IfcLayerSetDirectionEnum::FromString(get_attribute_value(7)); } void Ifc4x3::IfcMaterialLayerWithOffsets::setOffsetDirection(::Ifc4x3::IfcLayerSetDirectionEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3::IfcLayerSetDirectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -std::vector< double > /*[1:2]*/ Ifc4x3::IfcMaterialLayerWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = data_.get_attribute_value(8); return v; } +std::vector< double > /*[1:2]*/ Ifc4x3::IfcMaterialLayerWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = get_attribute_value(8); return v; } void Ifc4x3::IfcMaterialLayerWithOffsets::setOffsetValues(std::vector< double > /*[1:2]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3::IfcMaterialLayerWithOffsets::declaration() const { return *((IfcParse::entity*)IFC4X3_types[646]); } const IfcParse::entity& Ifc4x3::IfcMaterialLayerWithOffsets::Class() { return *((IfcParse::entity*)IFC4X3_types[646]); } Ifc4x3::IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(IfcEntityInstanceData&& e) : IfcMaterialLayer(std::move(e)) { } -Ifc4x3::IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(::Ifc4x3::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::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) : IfcMaterialLayer(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues));; populate_derived(); } +Ifc4x3::IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(::Ifc4x3::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::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) : IfcMaterialLayer(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues));; populate_derived(); } // Function implementations for IfcMaterialList -aggregate_of< ::Ifc4x3::IfcMaterial >::ptr Ifc4x3::IfcMaterialList::Materials() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3::IfcMaterial >(); } +aggregate_of< ::Ifc4x3::IfcMaterial >::ptr Ifc4x3::IfcMaterialList::Materials() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3::IfcMaterial >(); } void Ifc4x3::IfcMaterialList::setMaterials(aggregate_of< ::Ifc4x3::IfcMaterial >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3::IfcMaterialList::declaration() const { return *((IfcParse::entity*)IFC4X3_types[647]); } const IfcParse::entity& Ifc4x3::IfcMaterialList::Class() { return *((IfcParse::entity*)IFC4X3_types[647]); } Ifc4x3::IfcMaterialList::IfcMaterialList(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcMaterialList::IfcMaterialList(aggregate_of< ::Ifc4x3::IfcMaterial >::ptr v1_Materials) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Materials)->generalize());; populate_derived(); } +Ifc4x3::IfcMaterialList::IfcMaterialList(aggregate_of< ::Ifc4x3::IfcMaterial >::ptr v1_Materials) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Materials)->generalize());; populate_derived(); } // Function implementations for IfcMaterialProfile -boost::optional< std::string > Ifc4x3::IfcMaterialProfile::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3::IfcMaterialProfile::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcMaterialProfile::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3::IfcMaterialProfile::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3::IfcMaterialProfile::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcMaterialProfile::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3::IfcMaterial* Ifc4x3::IfcMaterialProfile::Material() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcMaterial>(true); } +::Ifc4x3::IfcMaterial* Ifc4x3::IfcMaterialProfile::Material() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcMaterial>(true); } void Ifc4x3::IfcMaterialProfile::setMaterial(::Ifc4x3::IfcMaterial* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3::IfcProfileDef* Ifc4x3::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcProfileDef>(true); } +::Ifc4x3::IfcProfileDef* Ifc4x3::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcProfileDef>(true); } void Ifc4x3::IfcMaterialProfile::setProfile(::Ifc4x3::IfcProfileDef* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< int > Ifc4x3::IfcMaterialProfile::Priority() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x3::IfcMaterialProfile::Priority() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x3::IfcMaterialProfile::setPriority(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3::IfcMaterialProfile::Category() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3::IfcMaterialProfile::Category() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3::IfcMaterialProfile::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x3::IfcMaterialProfileSet::list::ptr Ifc4x3::IfcMaterialProfile::ToMaterialProfileSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[649], 2)->as(); } @@ -12637,83 +12637,83 @@ void Ifc4x3::IfcMaterialProfile::setCategory(boost::optional< std::string > v) { const IfcParse::entity& Ifc4x3::IfcMaterialProfile::declaration() const { return *((IfcParse::entity*)IFC4X3_types[648]); } const IfcParse::entity& Ifc4x3::IfcMaterialProfile::Class() { return *((IfcParse::entity*)IFC4X3_types[648]); } Ifc4x3::IfcMaterialProfile::IfcMaterialProfile(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3::IfcMaterialProfile::IfcMaterialProfile(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcMaterial* v3_Material, ::Ifc4x3::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }; populate_derived(); } +Ifc4x3::IfcMaterialProfile::IfcMaterialProfile(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcMaterial* v3_Material, ::Ifc4x3::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }; populate_derived(); } // Function implementations for IfcMaterialProfileSet -boost::optional< std::string > Ifc4x3::IfcMaterialProfileSet::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3::IfcMaterialProfileSet::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcMaterialProfileSet::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3::IfcMaterialProfileSet::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3::IfcMaterialProfileSet::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcMaterialProfileSet::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3::IfcMaterialProfile >::ptr Ifc4x3::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3::IfcMaterialProfile >(); } +aggregate_of< ::Ifc4x3::IfcMaterialProfile >::ptr Ifc4x3::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3::IfcMaterialProfile >(); } void Ifc4x3::IfcMaterialProfileSet::setMaterialProfiles(aggregate_of< ::Ifc4x3::IfcMaterialProfile >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3::IfcCompositeProfileDef* Ifc4x3::IfcMaterialProfileSet::CompositeProfile() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcCompositeProfileDef>(true); } +::Ifc4x3::IfcCompositeProfileDef* Ifc4x3::IfcMaterialProfileSet::CompositeProfile() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcCompositeProfileDef>(true); } void Ifc4x3::IfcMaterialProfileSet::setCompositeProfile(::Ifc4x3::IfcCompositeProfileDef* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcMaterialProfileSet::declaration() const { return *((IfcParse::entity*)IFC4X3_types[649]); } const IfcParse::entity& Ifc4x3::IfcMaterialProfileSet::Class() { return *((IfcParse::entity*)IFC4X3_types[649]); } Ifc4x3::IfcMaterialProfileSet::IfcMaterialProfileSet(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3::IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3::IfcMaterialProfile >::ptr v3_MaterialProfiles, ::Ifc4x3::IfcCompositeProfileDef* v4_CompositeProfile) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_MaterialProfiles)->generalize());set_attribute_value(3, v4_CompositeProfile ? v4_CompositeProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3::IfcMaterialProfile >::ptr v3_MaterialProfiles, ::Ifc4x3::IfcCompositeProfileDef* v4_CompositeProfile) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_MaterialProfiles)->generalize());set_attribute_value(3, v4_CompositeProfile ? v4_CompositeProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialProfileSetUsage -::Ifc4x3::IfcMaterialProfileSet* Ifc4x3::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcMaterialProfileSet>(true); } +::Ifc4x3::IfcMaterialProfileSet* Ifc4x3::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcMaterialProfileSet>(true); } void Ifc4x3::IfcMaterialProfileSetUsage::setForProfileSet(::Ifc4x3::IfcMaterialProfileSet* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< int > Ifc4x3::IfcMaterialProfileSetUsage::CardinalPoint() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } int v = data_.get_attribute_value(1); return v; } +boost::optional< int > Ifc4x3::IfcMaterialProfileSetUsage::CardinalPoint() const { if(get_attribute_value(1).isNull()) { return boost::none; } int v = get_attribute_value(1); return v; } void Ifc4x3::IfcMaterialProfileSetUsage::setCardinalPoint(boost::optional< int > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3::IfcMaterialProfileSetUsage::ReferenceExtent() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3::IfcMaterialProfileSetUsage::ReferenceExtent() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3::IfcMaterialProfileSetUsage::setReferenceExtent(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3::IfcMaterialProfileSetUsage::declaration() const { return *((IfcParse::entity*)IFC4X3_types[650]); } const IfcParse::entity& Ifc4x3::IfcMaterialProfileSetUsage::Class() { return *((IfcParse::entity*)IFC4X3_types[650]); } Ifc4x3::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(IfcEntityInstanceData&& e) : IfcMaterialUsageDefinition(std::move(e)) { } -Ifc4x3::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4x3::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }; populate_derived(); } +Ifc4x3::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4x3::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }; populate_derived(); } // Function implementations for IfcMaterialProfileSetUsageTapering -::Ifc4x3::IfcMaterialProfileSet* Ifc4x3::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcMaterialProfileSet>(true); } +::Ifc4x3::IfcMaterialProfileSet* Ifc4x3::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcMaterialProfileSet>(true); } void Ifc4x3::IfcMaterialProfileSetUsageTapering::setForProfileEndSet(::Ifc4x3::IfcMaterialProfileSet* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< int > Ifc4x3::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x3::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x3::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3::IfcMaterialProfileSetUsageTapering::declaration() const { return *((IfcParse::entity*)IFC4X3_types[651]); } const IfcParse::entity& Ifc4x3::IfcMaterialProfileSetUsageTapering::Class() { return *((IfcParse::entity*)IFC4X3_types[651]); } Ifc4x3::IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(IfcEntityInstanceData&& e) : IfcMaterialProfileSetUsage(std::move(e)) { } -Ifc4x3::IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(::Ifc4x3::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent, ::Ifc4x3::IfcMaterialProfileSet* v4_ForProfileEndSet, boost::optional< int > v5_CardinalEndPoint) : IfcMaterialProfileSetUsage(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, v4_ForProfileEndSet ? v4_ForProfileEndSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); }; populate_derived(); } +Ifc4x3::IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(::Ifc4x3::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent, ::Ifc4x3::IfcMaterialProfileSet* v4_ForProfileEndSet, boost::optional< int > v5_CardinalEndPoint) : IfcMaterialProfileSetUsage(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, v4_ForProfileEndSet ? v4_ForProfileEndSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); }; populate_derived(); } // Function implementations for IfcMaterialProfileWithOffsets -std::vector< double > /*[1:2]*/ Ifc4x3::IfcMaterialProfileWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = data_.get_attribute_value(6); return v; } +std::vector< double > /*[1:2]*/ Ifc4x3::IfcMaterialProfileWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = get_attribute_value(6); return v; } void Ifc4x3::IfcMaterialProfileWithOffsets::setOffsetValues(std::vector< double > /*[1:2]*/ v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3::IfcMaterialProfileWithOffsets::declaration() const { return *((IfcParse::entity*)IFC4X3_types[652]); } const IfcParse::entity& Ifc4x3::IfcMaterialProfileWithOffsets::Class() { return *((IfcParse::entity*)IFC4X3_types[652]); } Ifc4x3::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(IfcEntityInstanceData&& e) : IfcMaterialProfile(std::move(e)) { } -Ifc4x3::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcMaterial* v3_Material, ::Ifc4x3::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) : IfcMaterialProfile(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues));; populate_derived(); } +Ifc4x3::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcMaterial* v3_Material, ::Ifc4x3::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) : IfcMaterialProfile(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues));; populate_derived(); } // Function implementations for IfcMaterialProperties -::Ifc4x3::IfcMaterialDefinition* Ifc4x3::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcMaterialDefinition>(true); } +::Ifc4x3::IfcMaterialDefinition* Ifc4x3::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcMaterialDefinition>(true); } void Ifc4x3::IfcMaterialProperties::setMaterial(::Ifc4x3::IfcMaterialDefinition* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcMaterialProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_types[653]); } const IfcParse::entity& Ifc4x3::IfcMaterialProperties::Class() { return *((IfcParse::entity*)IFC4X3_types[653]); } Ifc4x3::IfcMaterialProperties::IfcMaterialProperties(IfcEntityInstanceData&& e) : IfcExtendedProperties(std::move(e)) { } -Ifc4x3::IfcMaterialProperties::IfcMaterialProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3::IfcProperty >::ptr v3_Properties, ::Ifc4x3::IfcMaterialDefinition* v4_Material) : IfcExtendedProperties(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_Material ? v4_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcMaterialProperties::IfcMaterialProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3::IfcProperty >::ptr v3_Properties, ::Ifc4x3::IfcMaterialDefinition* v4_Material) : IfcExtendedProperties(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_Material ? v4_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialRelationship -::Ifc4x3::IfcMaterial* Ifc4x3::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcMaterial>(true); } +::Ifc4x3::IfcMaterial* Ifc4x3::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcMaterial>(true); } void Ifc4x3::IfcMaterialRelationship::setRelatingMaterial(::Ifc4x3::IfcMaterial* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3::IfcMaterial >::ptr Ifc4x3::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3::IfcMaterial >(); } +aggregate_of< ::Ifc4x3::IfcMaterial >::ptr Ifc4x3::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3::IfcMaterial >(); } void Ifc4x3::IfcMaterialRelationship::setRelatedMaterials(aggregate_of< ::Ifc4x3::IfcMaterial >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3::IfcMaterialRelationship::MaterialExpression() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3::IfcMaterialRelationship::MaterialExpression() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcMaterialRelationship::setMaterialExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3::IfcMaterialRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_types[654]); } const IfcParse::entity& Ifc4x3::IfcMaterialRelationship::Class() { return *((IfcParse::entity*)IFC4X3_types[654]); } Ifc4x3::IfcMaterialRelationship::IfcMaterialRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3::IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcMaterial* v3_RelatingMaterial, aggregate_of< ::Ifc4x3::IfcMaterial >::ptr v4_RelatedMaterials, boost::optional< std::string > v5_MaterialExpression) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMaterial ? v3_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedMaterials)->generalize()); if (v5_MaterialExpression) {set_attribute_value(4, (*v5_MaterialExpression)); }; populate_derived(); } +Ifc4x3::IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcMaterial* v3_RelatingMaterial, aggregate_of< ::Ifc4x3::IfcMaterial >::ptr v4_RelatedMaterials, boost::optional< std::string > v5_MaterialExpression) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMaterial ? v3_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedMaterials)->generalize()); if (v5_MaterialExpression) {set_attribute_value(4, (*v5_MaterialExpression)); }; populate_derived(); } // Function implementations for IfcMaterialUsageDefinition @@ -12722,103 +12722,103 @@ Ifc4x3::IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< std::s const IfcParse::entity& Ifc4x3::IfcMaterialUsageDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_types[656]); } const IfcParse::entity& Ifc4x3::IfcMaterialUsageDefinition::Class() { return *((IfcParse::entity*)IFC4X3_types[656]); } Ifc4x3::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcMeasureWithUnit -::Ifc4x3::IfcValue* Ifc4x3::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcValue>(true); } +::Ifc4x3::IfcValue* Ifc4x3::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcValue>(true); } void Ifc4x3::IfcMeasureWithUnit::setValueComponent(::Ifc4x3::IfcValue* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3::IfcUnit* Ifc4x3::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcUnit>(true); } +::Ifc4x3::IfcUnit* Ifc4x3::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcUnit>(true); } void Ifc4x3::IfcMeasureWithUnit::setUnitComponent(::Ifc4x3::IfcUnit* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcMeasureWithUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_types[658]); } const IfcParse::entity& Ifc4x3::IfcMeasureWithUnit::Class() { return *((IfcParse::entity*)IFC4X3_types[658]); } Ifc4x3::IfcMeasureWithUnit::IfcMeasureWithUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcMeasureWithUnit::IfcMeasureWithUnit(::Ifc4x3::IfcValue* v1_ValueComponent, ::Ifc4x3::IfcUnit* v2_UnitComponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_ValueComponent ? v1_ValueComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_UnitComponent ? v2_UnitComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcMeasureWithUnit::IfcMeasureWithUnit(::Ifc4x3::IfcValue* v1_ValueComponent, ::Ifc4x3::IfcUnit* v2_UnitComponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_ValueComponent ? v1_ValueComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_UnitComponent ? v2_UnitComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMechanicalFastener -boost::optional< double > Ifc4x3::IfcMechanicalFastener::NominalDiameter() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3::IfcMechanicalFastener::NominalDiameter() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3::IfcMechanicalFastener::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3::IfcMechanicalFastener::NominalLength() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3::IfcMechanicalFastener::NominalLength() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3::IfcMechanicalFastener::setNominalLength(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x3::IfcMechanicalFastenerTypeEnum::Value > Ifc4x3::IfcMechanicalFastener::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcMechanicalFastenerTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3::IfcMechanicalFastenerTypeEnum::Value > Ifc4x3::IfcMechanicalFastener::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcMechanicalFastenerTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3::IfcMechanicalFastener::setPredefinedType(boost::optional< ::Ifc4x3::IfcMechanicalFastenerTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3::IfcMechanicalFastenerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3::IfcMechanicalFastener::declaration() const { return *((IfcParse::entity*)IFC4X3_types[659]); } const IfcParse::entity& Ifc4x3::IfcMechanicalFastener::Class() { return *((IfcParse::entity*)IFC4X3_types[659]); } Ifc4x3::IfcMechanicalFastener::IfcMechanicalFastener(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3::IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength, boost::optional< ::Ifc4x3::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength, boost::optional< ::Ifc4x3::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMechanicalFastenerType -::Ifc4x3::IfcMechanicalFastenerTypeEnum::Value Ifc4x3::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x3::IfcMechanicalFastenerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcMechanicalFastenerTypeEnum::Value Ifc4x3::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x3::IfcMechanicalFastenerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcMechanicalFastenerType::setPredefinedType(::Ifc4x3::IfcMechanicalFastenerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcMechanicalFastenerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3::IfcMechanicalFastenerType::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3::IfcMechanicalFastenerType::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3::IfcMechanicalFastenerType::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3::IfcMechanicalFastenerType::NominalLength() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3::IfcMechanicalFastenerType::NominalLength() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3::IfcMechanicalFastenerType::setNominalLength(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x3::IfcMechanicalFastenerType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[660]); } const IfcParse::entity& Ifc4x3::IfcMechanicalFastenerType::Class() { return *((IfcParse::entity*)IFC4X3_types[660]); } Ifc4x3::IfcMechanicalFastenerType::IfcMechanicalFastenerType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3::IfcMechanicalFastenerType::IfcMechanicalFastenerType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_NominalLength) : IfcElementComponentType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); }; populate_derived(); } +Ifc4x3::IfcMechanicalFastenerType::IfcMechanicalFastenerType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_NominalLength) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); }; populate_derived(); } // Function implementations for IfcMedicalDevice -boost::optional< ::Ifc4x3::IfcMedicalDeviceTypeEnum::Value > Ifc4x3::IfcMedicalDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcMedicalDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcMedicalDeviceTypeEnum::Value > Ifc4x3::IfcMedicalDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcMedicalDevice::setPredefinedType(boost::optional< ::Ifc4x3::IfcMedicalDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcMedicalDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcMedicalDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_types[662]); } const IfcParse::entity& Ifc4x3::IfcMedicalDevice::Class() { return *((IfcParse::entity*)IFC4X3_types[662]); } Ifc4x3::IfcMedicalDevice::IfcMedicalDevice(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3::IfcMedicalDevice::IfcMedicalDevice(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcMedicalDevice::IfcMedicalDevice(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMedicalDeviceType -::Ifc4x3::IfcMedicalDeviceTypeEnum::Value Ifc4x3::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4x3::IfcMedicalDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcMedicalDeviceTypeEnum::Value Ifc4x3::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4x3::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcMedicalDeviceType::setPredefinedType(::Ifc4x3::IfcMedicalDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcMedicalDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcMedicalDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[663]); } const IfcParse::entity& Ifc4x3::IfcMedicalDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_types[663]); } Ifc4x3::IfcMedicalDeviceType::IfcMedicalDeviceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3::IfcMedicalDeviceType::IfcMedicalDeviceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcMedicalDeviceType::IfcMedicalDeviceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMember -boost::optional< ::Ifc4x3::IfcMemberTypeEnum::Value > Ifc4x3::IfcMember::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcMemberTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcMemberTypeEnum::Value > Ifc4x3::IfcMember::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcMemberTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcMember::setPredefinedType(boost::optional< ::Ifc4x3::IfcMemberTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcMemberTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcMember::declaration() const { return *((IfcParse::entity*)IFC4X3_types[665]); } const IfcParse::entity& Ifc4x3::IfcMember::Class() { return *((IfcParse::entity*)IFC4X3_types[665]); } Ifc4x3::IfcMember::IfcMember(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3::IfcMember::IfcMember(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcMemberTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcMember::IfcMember(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcMemberTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMemberType -::Ifc4x3::IfcMemberTypeEnum::Value Ifc4x3::IfcMemberType::PredefinedType() const { return ::Ifc4x3::IfcMemberTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcMemberTypeEnum::Value Ifc4x3::IfcMemberType::PredefinedType() const { return ::Ifc4x3::IfcMemberTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcMemberType::setPredefinedType(::Ifc4x3::IfcMemberTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcMemberType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[666]); } const IfcParse::entity& Ifc4x3::IfcMemberType::Class() { return *((IfcParse::entity*)IFC4X3_types[666]); } Ifc4x3::IfcMemberType::IfcMemberType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMemberTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMemberTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMetric -::Ifc4x3::IfcBenchmarkEnum::Value Ifc4x3::IfcMetric::Benchmark() const { return ::Ifc4x3::IfcBenchmarkEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3::IfcBenchmarkEnum::Value Ifc4x3::IfcMetric::Benchmark() const { return ::Ifc4x3::IfcBenchmarkEnum::FromString(get_attribute_value(7)); } void Ifc4x3::IfcMetric::setBenchmark(::Ifc4x3::IfcBenchmarkEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3::IfcBenchmarkEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc4x3::IfcMetric::ValueSource() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3::IfcMetric::ValueSource() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3::IfcMetric::setValueSource(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3::IfcMetricValueSelect* Ifc4x3::IfcMetric::DataValue() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3::IfcMetricValueSelect>(true); } +::Ifc4x3::IfcMetricValueSelect* Ifc4x3::IfcMetric::DataValue() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3::IfcMetricValueSelect>(true); } void Ifc4x3::IfcMetric::setDataValue(::Ifc4x3::IfcMetricValueSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4x3::IfcReference* Ifc4x3::IfcMetric::ReferencePath() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3::IfcReference>(true); } +::Ifc4x3::IfcReference* Ifc4x3::IfcMetric::ReferencePath() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3::IfcReference>(true); } void Ifc4x3::IfcMetric::setReferencePath(::Ifc4x3::IfcReference* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3::IfcMetric::declaration() const { return *((IfcParse::entity*)IFC4X3_types[668]); } const IfcParse::entity& Ifc4x3::IfcMetric::Class() { return *((IfcParse::entity*)IFC4X3_types[668]); } Ifc4x3::IfcMetric::IfcMetric(IfcEntityInstanceData&& e) : IfcConstraint(std::move(e)) { } -Ifc4x3::IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3::IfcBenchmarkEnum::Value v8_Benchmark, boost::optional< std::string > v9_ValueSource, ::Ifc4x3::IfcMetricValueSelect* v10_DataValue, ::Ifc4x3::IfcReference* v11_ReferencePath) : IfcConstraint(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, v10_DataValue ? v10_DataValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ReferencePath ? v11_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3::IfcBenchmarkEnum::Value v8_Benchmark, boost::optional< std::string > v9_ValueSource, ::Ifc4x3::IfcMetricValueSelect* v10_DataValue, ::Ifc4x3::IfcReference* v11_ReferencePath) : IfcConstraint(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, v10_DataValue ? v10_DataValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ReferencePath ? v11_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMirroredProfileDef @@ -12826,112 +12826,112 @@ Ifc4x3::IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::string > const IfcParse::entity& Ifc4x3::IfcMirroredProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_types[670]); } const IfcParse::entity& Ifc4x3::IfcMirroredProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_types[670]); } Ifc4x3::IfcMirroredProfileDef::IfcMirroredProfileDef(IfcEntityInstanceData&& e) : IfcDerivedProfileDef(std::move(e)) { } -Ifc4x3::IfcMirroredProfileDef::IfcMirroredProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcProfileDef* v3_ParentProfile, boost::optional< std::string > v5_Label) : IfcDerivedProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } +Ifc4x3::IfcMirroredProfileDef::IfcMirroredProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcProfileDef* v3_ParentProfile, boost::optional< std::string > v5_Label) : IfcDerivedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } // Function implementations for IfcMobileTelecommunicationsAppliance -boost::optional< ::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Value > Ifc4x3::IfcMobileTelecommunicationsAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Value > Ifc4x3::IfcMobileTelecommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcMobileTelecommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcMobileTelecommunicationsAppliance::declaration() const { return *((IfcParse::entity*)IFC4X3_types[671]); } const IfcParse::entity& Ifc4x3::IfcMobileTelecommunicationsAppliance::Class() { return *((IfcParse::entity*)IFC4X3_types[671]); } Ifc4x3::IfcMobileTelecommunicationsAppliance::IfcMobileTelecommunicationsAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3::IfcMobileTelecommunicationsAppliance::IfcMobileTelecommunicationsAppliance(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcMobileTelecommunicationsAppliance::IfcMobileTelecommunicationsAppliance(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMobileTelecommunicationsApplianceType -::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3::IfcMobileTelecommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3::IfcMobileTelecommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcMobileTelecommunicationsApplianceType::setPredefinedType(::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcMobileTelecommunicationsApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[672]); } const IfcParse::entity& Ifc4x3::IfcMobileTelecommunicationsApplianceType::Class() { return *((IfcParse::entity*)IFC4X3_types[672]); } Ifc4x3::IfcMobileTelecommunicationsApplianceType::IfcMobileTelecommunicationsApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3::IfcMobileTelecommunicationsApplianceType::IfcMobileTelecommunicationsApplianceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcMobileTelecommunicationsApplianceType::IfcMobileTelecommunicationsApplianceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMonetaryUnit -std::string Ifc4x3::IfcMonetaryUnit::Currency() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3::IfcMonetaryUnit::Currency() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcMonetaryUnit::setCurrency(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3::IfcMonetaryUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_types[685]); } const IfcParse::entity& Ifc4x3::IfcMonetaryUnit::Class() { return *((IfcParse::entity*)IFC4X3_types[685]); } Ifc4x3::IfcMonetaryUnit::IfcMonetaryUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcMonetaryUnit::IfcMonetaryUnit(std::string v1_Currency) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Currency));; populate_derived(); } +Ifc4x3::IfcMonetaryUnit::IfcMonetaryUnit(std::string v1_Currency) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Currency));; populate_derived(); } // Function implementations for IfcMooringDevice -boost::optional< ::Ifc4x3::IfcMooringDeviceTypeEnum::Value > Ifc4x3::IfcMooringDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcMooringDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcMooringDeviceTypeEnum::Value > Ifc4x3::IfcMooringDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcMooringDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcMooringDevice::setPredefinedType(boost::optional< ::Ifc4x3::IfcMooringDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcMooringDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcMooringDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_types[687]); } const IfcParse::entity& Ifc4x3::IfcMooringDevice::Class() { return *((IfcParse::entity*)IFC4X3_types[687]); } Ifc4x3::IfcMooringDevice::IfcMooringDevice(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3::IfcMooringDevice::IfcMooringDevice(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcMooringDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcMooringDevice::IfcMooringDevice(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcMooringDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMooringDeviceType -::Ifc4x3::IfcMooringDeviceTypeEnum::Value Ifc4x3::IfcMooringDeviceType::PredefinedType() const { return ::Ifc4x3::IfcMooringDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcMooringDeviceTypeEnum::Value Ifc4x3::IfcMooringDeviceType::PredefinedType() const { return ::Ifc4x3::IfcMooringDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcMooringDeviceType::setPredefinedType(::Ifc4x3::IfcMooringDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcMooringDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcMooringDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[688]); } const IfcParse::entity& Ifc4x3::IfcMooringDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_types[688]); } Ifc4x3::IfcMooringDeviceType::IfcMooringDeviceType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3::IfcMooringDeviceType::IfcMooringDeviceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMooringDeviceTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcMooringDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcMooringDeviceType::IfcMooringDeviceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMooringDeviceTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcMooringDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMotorConnection -boost::optional< ::Ifc4x3::IfcMotorConnectionTypeEnum::Value > Ifc4x3::IfcMotorConnection::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcMotorConnectionTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcMotorConnectionTypeEnum::Value > Ifc4x3::IfcMotorConnection::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcMotorConnection::setPredefinedType(boost::optional< ::Ifc4x3::IfcMotorConnectionTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcMotorConnectionTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcMotorConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_types[690]); } const IfcParse::entity& Ifc4x3::IfcMotorConnection::Class() { return *((IfcParse::entity*)IFC4X3_types[690]); } Ifc4x3::IfcMotorConnection::IfcMotorConnection(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3::IfcMotorConnection::IfcMotorConnection(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcMotorConnection::IfcMotorConnection(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMotorConnectionType -::Ifc4x3::IfcMotorConnectionTypeEnum::Value Ifc4x3::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4x3::IfcMotorConnectionTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcMotorConnectionTypeEnum::Value Ifc4x3::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4x3::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcMotorConnectionType::setPredefinedType(::Ifc4x3::IfcMotorConnectionTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcMotorConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcMotorConnectionType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[691]); } const IfcParse::entity& Ifc4x3::IfcMotorConnectionType::Class() { return *((IfcParse::entity*)IFC4X3_types[691]); } Ifc4x3::IfcMotorConnectionType::IfcMotorConnectionType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3::IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcNamedUnit -::Ifc4x3::IfcDimensionalExponents* Ifc4x3::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcDimensionalExponents>(true); } +::Ifc4x3::IfcDimensionalExponents* Ifc4x3::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcDimensionalExponents>(true); } void Ifc4x3::IfcNamedUnit::setDimensions(::Ifc4x3::IfcDimensionalExponents* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3::IfcUnitEnum::Value Ifc4x3::IfcNamedUnit::UnitType() const { return ::Ifc4x3::IfcUnitEnum::FromString(data_.get_attribute_value(1)); } +::Ifc4x3::IfcUnitEnum::Value Ifc4x3::IfcNamedUnit::UnitType() const { return ::Ifc4x3::IfcUnitEnum::FromString(get_attribute_value(1)); } void Ifc4x3::IfcNamedUnit::setUnitType(::Ifc4x3::IfcUnitEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x3::IfcUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcNamedUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_types[693]); } const IfcParse::entity& Ifc4x3::IfcNamedUnit::Class() { return *((IfcParse::entity*)IFC4X3_types[693]); } Ifc4x3::IfcNamedUnit::IfcNamedUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcNamedUnit::IfcNamedUnit(::Ifc4x3::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3::IfcUnitEnum::Value v2_UnitType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; populate_derived(); } +Ifc4x3::IfcNamedUnit::IfcNamedUnit(::Ifc4x3::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3::IfcUnitEnum::Value v2_UnitType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; populate_derived(); } // Function implementations for IfcNavigationElement -boost::optional< ::Ifc4x3::IfcNavigationElementTypeEnum::Value > Ifc4x3::IfcNavigationElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcNavigationElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcNavigationElementTypeEnum::Value > Ifc4x3::IfcNavigationElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcNavigationElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcNavigationElement::setPredefinedType(boost::optional< ::Ifc4x3::IfcNavigationElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcNavigationElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcNavigationElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[694]); } const IfcParse::entity& Ifc4x3::IfcNavigationElement::Class() { return *((IfcParse::entity*)IFC4X3_types[694]); } Ifc4x3::IfcNavigationElement::IfcNavigationElement(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3::IfcNavigationElement::IfcNavigationElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcNavigationElementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcNavigationElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcNavigationElement::IfcNavigationElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcNavigationElementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcNavigationElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcNavigationElementType -::Ifc4x3::IfcNavigationElementTypeEnum::Value Ifc4x3::IfcNavigationElementType::PredefinedType() const { return ::Ifc4x3::IfcNavigationElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcNavigationElementTypeEnum::Value Ifc4x3::IfcNavigationElementType::PredefinedType() const { return ::Ifc4x3::IfcNavigationElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcNavigationElementType::setPredefinedType(::Ifc4x3::IfcNavigationElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcNavigationElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcNavigationElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[695]); } const IfcParse::entity& Ifc4x3::IfcNavigationElementType::Class() { return *((IfcParse::entity*)IFC4X3_types[695]); } Ifc4x3::IfcNavigationElementType::IfcNavigationElementType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3::IfcNavigationElementType::IfcNavigationElementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcNavigationElementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcNavigationElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcNavigationElementType::IfcNavigationElementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcNavigationElementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcNavigationElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcObject -boost::optional< std::string > Ifc4x3::IfcObject::ObjectType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3::IfcObject::ObjectType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcObject::setObjectType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } ::Ifc4x3::IfcRelDefinesByObject::list::ptr Ifc4x3::IfcObject::IsDeclaredBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[933], 4)->as(); } @@ -12942,7 +12942,7 @@ void Ifc4x3::IfcObject::setObjectType(boost::optional< std::string > v) { if (v) const IfcParse::entity& Ifc4x3::IfcObject::declaration() const { return *((IfcParse::entity*)IFC4X3_types[700]); } const IfcParse::entity& Ifc4x3::IfcObject::Class() { return *((IfcParse::entity*)IFC4X3_types[700]); } Ifc4x3::IfcObject::IfcObject(IfcEntityInstanceData&& e) : IfcObjectDefinition(std::move(e)) { } -Ifc4x3::IfcObject::IfcObject(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObjectDefinition(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc4x3::IfcObject::IfcObject(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObjectDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcObjectDefinition @@ -12957,10 +12957,10 @@ Ifc4x3::IfcObject::IfcObject(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* const IfcParse::entity& Ifc4x3::IfcObjectDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_types[701]); } const IfcParse::entity& Ifc4x3::IfcObjectDefinition::Class() { return *((IfcParse::entity*)IFC4X3_types[701]); } Ifc4x3::IfcObjectDefinition::IfcObjectDefinition(IfcEntityInstanceData&& e) : IfcRoot(std::move(e)) { } -Ifc4x3::IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3::IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcObjectPlacement -::Ifc4x3::IfcObjectPlacement* Ifc4x3::IfcObjectPlacement::PlacementRelTo() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcObjectPlacement>(true); } +::Ifc4x3::IfcObjectPlacement* Ifc4x3::IfcObjectPlacement::PlacementRelTo() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcObjectPlacement>(true); } void Ifc4x3::IfcObjectPlacement::setPlacementRelTo(::Ifc4x3::IfcObjectPlacement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } ::Ifc4x3::IfcProduct::list::ptr Ifc4x3::IfcObjectPlacement::PlacesObject() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[801], 5)->as(); } @@ -12969,99 +12969,99 @@ void Ifc4x3::IfcObjectPlacement::setPlacementRelTo(::Ifc4x3::IfcObjectPlacement* const IfcParse::entity& Ifc4x3::IfcObjectPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[704]); } const IfcParse::entity& Ifc4x3::IfcObjectPlacement::Class() { return *((IfcParse::entity*)IFC4X3_types[704]); } Ifc4x3::IfcObjectPlacement::IfcObjectPlacement(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcObjectPlacement::IfcObjectPlacement(::Ifc4x3::IfcObjectPlacement* v1_PlacementRelTo) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcObjectPlacement::IfcObjectPlacement(::Ifc4x3::IfcObjectPlacement* v1_PlacementRelTo) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcObjective -boost::optional< aggregate_of< ::Ifc4x3::IfcConstraint >::ptr > Ifc4x3::IfcObjective::BenchmarkValues() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3::IfcConstraint >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcConstraint >::ptr > Ifc4x3::IfcObjective::BenchmarkValues() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3::IfcConstraint >(); } void Ifc4x3::IfcObjective::setBenchmarkValues(boost::optional< aggregate_of< ::Ifc4x3::IfcConstraint >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3::IfcLogicalOperatorEnum::Value > Ifc4x3::IfcObjective::LogicalAggregator() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcLogicalOperatorEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcLogicalOperatorEnum::Value > Ifc4x3::IfcObjective::LogicalAggregator() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcLogicalOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcObjective::setLogicalAggregator(boost::optional< ::Ifc4x3::IfcLogicalOperatorEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcLogicalOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -::Ifc4x3::IfcObjectiveEnum::Value Ifc4x3::IfcObjective::ObjectiveQualifier() const { return ::Ifc4x3::IfcObjectiveEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcObjectiveEnum::Value Ifc4x3::IfcObjective::ObjectiveQualifier() const { return ::Ifc4x3::IfcObjectiveEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcObjective::setObjectiveQualifier(::Ifc4x3::IfcObjectiveEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcObjectiveEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3::IfcObjective::UserDefinedQualifier() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3::IfcObjective::UserDefinedQualifier() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3::IfcObjective::setUserDefinedQualifier(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3::IfcObjective::declaration() const { return *((IfcParse::entity*)IFC4X3_types[702]); } const IfcParse::entity& Ifc4x3::IfcObjective::Class() { return *((IfcParse::entity*)IFC4X3_types[702]); } Ifc4x3::IfcObjective::IfcObjective(IfcEntityInstanceData&& e) : IfcConstraint(std::move(e)) { } -Ifc4x3::IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, boost::optional< aggregate_of< ::Ifc4x3::IfcConstraint >::ptr > v8_BenchmarkValues, boost::optional< ::Ifc4x3::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3::IfcObjectiveEnum::Value v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier) : IfcConstraint(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, (*v8_BenchmarkValues)->generalize()); } if (v9_LogicalAggregator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; populate_derived(); } +Ifc4x3::IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, boost::optional< aggregate_of< ::Ifc4x3::IfcConstraint >::ptr > v8_BenchmarkValues, boost::optional< ::Ifc4x3::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3::IfcObjectiveEnum::Value v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier) : IfcConstraint(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, (*v8_BenchmarkValues)->generalize()); } if (v9_LogicalAggregator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; populate_derived(); } // Function implementations for IfcOccupant -boost::optional< ::Ifc4x3::IfcOccupantTypeEnum::Value > Ifc4x3::IfcOccupant::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3::IfcOccupantTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3::IfcOccupantTypeEnum::Value > Ifc4x3::IfcOccupant::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3::IfcOccupantTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3::IfcOccupant::setPredefinedType(boost::optional< ::Ifc4x3::IfcOccupantTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3::IfcOccupantTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3::IfcOccupant::declaration() const { return *((IfcParse::entity*)IFC4X3_types[707]); } const IfcParse::entity& Ifc4x3::IfcOccupant::Class() { return *((IfcParse::entity*)IFC4X3_types[707]); } Ifc4x3::IfcOccupant::IfcOccupant(IfcEntityInstanceData&& e) : IfcActor(std::move(e)) { } -Ifc4x3::IfcOccupant::IfcOccupant(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcActorSelect* v6_TheActor, boost::optional< ::Ifc4x3::IfcOccupantTypeEnum::Value > v7_PredefinedType) : IfcActor(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcOccupant::IfcOccupant(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcActorSelect* v6_TheActor, boost::optional< ::Ifc4x3::IfcOccupantTypeEnum::Value > v7_PredefinedType) : IfcActor(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOffsetCurve -::Ifc4x3::IfcCurve* Ifc4x3::IfcOffsetCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcCurve>(true); } +::Ifc4x3::IfcCurve* Ifc4x3::IfcOffsetCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcCurve>(true); } void Ifc4x3::IfcOffsetCurve::setBasisCurve(::Ifc4x3::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3::IfcOffsetCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_types[709]); } const IfcParse::entity& Ifc4x3::IfcOffsetCurve::Class() { return *((IfcParse::entity*)IFC4X3_types[709]); } Ifc4x3::IfcOffsetCurve::IfcOffsetCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3::IfcOffsetCurve::IfcOffsetCurve(::Ifc4x3::IfcCurve* v1_BasisCurve) : IfcCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcOffsetCurve::IfcOffsetCurve(::Ifc4x3::IfcCurve* v1_BasisCurve) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcOffsetCurve2D -double Ifc4x3::IfcOffsetCurve2D::Distance() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3::IfcOffsetCurve2D::Distance() const { double v = get_attribute_value(1); return v; } void Ifc4x3::IfcOffsetCurve2D::setDistance(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::logic::tribool Ifc4x3::IfcOffsetCurve2D::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::logic::tribool Ifc4x3::IfcOffsetCurve2D::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x3::IfcOffsetCurve2D::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcOffsetCurve2D::declaration() const { return *((IfcParse::entity*)IFC4X3_types[710]); } const IfcParse::entity& Ifc4x3::IfcOffsetCurve2D::Class() { return *((IfcParse::entity*)IFC4X3_types[710]); } Ifc4x3::IfcOffsetCurve2D::IfcOffsetCurve2D(IfcEntityInstanceData&& e) : IfcOffsetCurve(std::move(e)) { } -Ifc4x3::IfcOffsetCurve2D::IfcOffsetCurve2D(::Ifc4x3::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) : IfcOffsetCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; populate_derived(); } +Ifc4x3::IfcOffsetCurve2D::IfcOffsetCurve2D(::Ifc4x3::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) : IfcOffsetCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; populate_derived(); } // Function implementations for IfcOffsetCurve3D -double Ifc4x3::IfcOffsetCurve3D::Distance() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3::IfcOffsetCurve3D::Distance() const { double v = get_attribute_value(1); return v; } void Ifc4x3::IfcOffsetCurve3D::setDistance(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::logic::tribool Ifc4x3::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::logic::tribool Ifc4x3::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x3::IfcOffsetCurve3D::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3::IfcDirection* Ifc4x3::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcDirection>(true); } +::Ifc4x3::IfcDirection* Ifc4x3::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcDirection>(true); } void Ifc4x3::IfcOffsetCurve3D::setRefDirection(::Ifc4x3::IfcDirection* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcOffsetCurve3D::declaration() const { return *((IfcParse::entity*)IFC4X3_types[711]); } const IfcParse::entity& Ifc4x3::IfcOffsetCurve3D::Class() { return *((IfcParse::entity*)IFC4X3_types[711]); } Ifc4x3::IfcOffsetCurve3D::IfcOffsetCurve3D(IfcEntityInstanceData&& e) : IfcOffsetCurve(std::move(e)) { } -Ifc4x3::IfcOffsetCurve3D::IfcOffsetCurve3D(::Ifc4x3::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3::IfcDirection* v4_RefDirection) : IfcOffsetCurve(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, v4_RefDirection ? v4_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcOffsetCurve3D::IfcOffsetCurve3D(::Ifc4x3::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3::IfcDirection* v4_RefDirection) : IfcOffsetCurve(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, v4_RefDirection ? v4_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcOffsetCurveByDistances -aggregate_of< ::Ifc4x3::IfcPointByDistanceExpression >::ptr Ifc4x3::IfcOffsetCurveByDistances::OffsetValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3::IfcPointByDistanceExpression >(); } +aggregate_of< ::Ifc4x3::IfcPointByDistanceExpression >::ptr Ifc4x3::IfcOffsetCurveByDistances::OffsetValues() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3::IfcPointByDistanceExpression >(); } void Ifc4x3::IfcOffsetCurveByDistances::setOffsetValues(aggregate_of< ::Ifc4x3::IfcPointByDistanceExpression >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3::IfcOffsetCurveByDistances::Tag() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3::IfcOffsetCurveByDistances::Tag() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3::IfcOffsetCurveByDistances::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3::IfcOffsetCurveByDistances::declaration() const { return *((IfcParse::entity*)IFC4X3_types[712]); } const IfcParse::entity& Ifc4x3::IfcOffsetCurveByDistances::Class() { return *((IfcParse::entity*)IFC4X3_types[712]); } Ifc4x3::IfcOffsetCurveByDistances::IfcOffsetCurveByDistances(IfcEntityInstanceData&& e) : IfcOffsetCurve(std::move(e)) { } -Ifc4x3::IfcOffsetCurveByDistances::IfcOffsetCurveByDistances(::Ifc4x3::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3::IfcPointByDistanceExpression >::ptr v2_OffsetValues, boost::optional< std::string > v3_Tag) : IfcOffsetCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_OffsetValues)->generalize()); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; populate_derived(); } +Ifc4x3::IfcOffsetCurveByDistances::IfcOffsetCurveByDistances(::Ifc4x3::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3::IfcPointByDistanceExpression >::ptr v2_OffsetValues, boost::optional< std::string > v3_Tag) : IfcOffsetCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_OffsetValues)->generalize()); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; populate_derived(); } // Function implementations for IfcOpenCrossProfileDef -bool Ifc4x3::IfcOpenCrossProfileDef::HorizontalWidths() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x3::IfcOpenCrossProfileDef::HorizontalWidths() const { bool v = get_attribute_value(2); return v; } void Ifc4x3::IfcOpenCrossProfileDef::setHorizontalWidths(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< double > /*[1:?]*/ Ifc4x3::IfcOpenCrossProfileDef::Widths() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +std::vector< double > /*[1:?]*/ Ifc4x3::IfcOpenCrossProfileDef::Widths() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3::IfcOpenCrossProfileDef::setWidths(std::vector< double > /*[1:?]*/ v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -std::vector< double > /*[1:?]*/ Ifc4x3::IfcOpenCrossProfileDef::Slopes() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +std::vector< double > /*[1:?]*/ Ifc4x3::IfcOpenCrossProfileDef::Slopes() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3::IfcOpenCrossProfileDef::setSlopes(std::vector< double > /*[1:?]*/ v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< std::vector< std::string > /*[2:?]*/ > Ifc4x3::IfcOpenCrossProfileDef::Tags() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[2:?]*/ v = data_.get_attribute_value(5); return v; } +boost::optional< std::vector< std::string > /*[2:?]*/ > Ifc4x3::IfcOpenCrossProfileDef::Tags() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[2:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3::IfcOpenCrossProfileDef::setTags(boost::optional< std::vector< std::string > /*[2:?]*/ > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3::IfcCartesianPoint* Ifc4x3::IfcOpenCrossProfileDef::OffsetPoint() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3::IfcCartesianPoint>(true); } +::Ifc4x3::IfcCartesianPoint* Ifc4x3::IfcOpenCrossProfileDef::OffsetPoint() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3::IfcCartesianPoint>(true); } void Ifc4x3::IfcOpenCrossProfileDef::setOffsetPoint(::Ifc4x3::IfcCartesianPoint* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3::IfcOpenCrossProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_types[713]); } const IfcParse::entity& Ifc4x3::IfcOpenCrossProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_types[713]); } Ifc4x3::IfcOpenCrossProfileDef::IfcOpenCrossProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3::IfcOpenCrossProfileDef::IfcOpenCrossProfileDef(::Ifc4x3::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, ::Ifc4x3::IfcCartesianPoint* v7_OffsetPoint) : IfcProfileDef(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_HorizontalWidths));set_attribute_value(3, (v4_Widths));set_attribute_value(4, (v5_Slopes)); if (v6_Tags) {set_attribute_value(5, (*v6_Tags)); }set_attribute_value(6, v7_OffsetPoint ? v7_OffsetPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcOpenCrossProfileDef::IfcOpenCrossProfileDef(::Ifc4x3::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, ::Ifc4x3::IfcCartesianPoint* v7_OffsetPoint) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_HorizontalWidths));set_attribute_value(3, (v4_Widths));set_attribute_value(4, (v5_Slopes)); if (v6_Tags) {set_attribute_value(5, (*v6_Tags)); }set_attribute_value(6, v7_OffsetPoint ? v7_OffsetPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcOpenShell @@ -13069,10 +13069,10 @@ Ifc4x3::IfcOpenCrossProfileDef::IfcOpenCrossProfileDef(::Ifc4x3::IfcProfileTypeE const IfcParse::entity& Ifc4x3::IfcOpenShell::declaration() const { return *((IfcParse::entity*)IFC4X3_types[716]); } const IfcParse::entity& Ifc4x3::IfcOpenShell::Class() { return *((IfcParse::entity*)IFC4X3_types[716]); } Ifc4x3::IfcOpenShell::IfcOpenShell(IfcEntityInstanceData&& e) : IfcConnectedFaceSet(std::move(e)) { } -Ifc4x3::IfcOpenShell::IfcOpenShell(aggregate_of< ::Ifc4x3::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc4x3::IfcOpenShell::IfcOpenShell(aggregate_of< ::Ifc4x3::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcOpeningElement -boost::optional< ::Ifc4x3::IfcOpeningElementTypeEnum::Value > Ifc4x3::IfcOpeningElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcOpeningElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcOpeningElementTypeEnum::Value > Ifc4x3::IfcOpeningElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcOpeningElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4x3::IfcOpeningElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcOpeningElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x3::IfcRelFillsElement::list::ptr Ifc4x3::IfcOpeningElement::HasFillings() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[937], 4)->as(); } @@ -13080,18 +13080,18 @@ void Ifc4x3::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4x3::Ifc const IfcParse::entity& Ifc4x3::IfcOpeningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[714]); } const IfcParse::entity& Ifc4x3::IfcOpeningElement::Class() { return *((IfcParse::entity*)IFC4X3_types[714]); } Ifc4x3::IfcOpeningElement::IfcOpeningElement(IfcEntityInstanceData&& e) : IfcFeatureElementSubtraction(std::move(e)) { } -Ifc4x3::IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOrganization -boost::optional< std::string > Ifc4x3::IfcOrganization::Identification() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3::IfcOrganization::Identification() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcOrganization::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -std::string Ifc4x3::IfcOrganization::Name() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3::IfcOrganization::Name() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcOrganization::setName(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3::IfcOrganization::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3::IfcOrganization::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3::IfcOrganization::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< aggregate_of< ::Ifc4x3::IfcActorRole >::ptr > Ifc4x3::IfcOrganization::Roles() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcActorRole >::ptr > Ifc4x3::IfcOrganization::Roles() const { if(get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3::IfcActorRole >(); } void Ifc4x3::IfcOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(3, (*v)->generalize());} else {unset_attribute_value(3);} } -boost::optional< aggregate_of< ::Ifc4x3::IfcAddress >::ptr > Ifc4x3::IfcOrganization::Addresses() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3::IfcAddress >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcAddress >::ptr > Ifc4x3::IfcOrganization::Addresses() const { if(get_attribute_value(4).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3::IfcAddress >(); } void Ifc4x3::IfcOrganization::setAddresses(boost::optional< aggregate_of< ::Ifc4x3::IfcAddress >::ptr > v) { if (v) {set_attribute_value(4, (*v)->generalize());} else {unset_attribute_value(4);} } ::Ifc4x3::IfcOrganizationRelationship::list::ptr Ifc4x3::IfcOrganization::IsRelatedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[718], 3)->as(); } @@ -13101,31 +13101,31 @@ void Ifc4x3::IfcOrganization::setAddresses(boost::optional< aggregate_of< ::Ifc4 const IfcParse::entity& Ifc4x3::IfcOrganization::declaration() const { return *((IfcParse::entity*)IFC4X3_types[717]); } const IfcParse::entity& Ifc4x3::IfcOrganization::Class() { return *((IfcParse::entity*)IFC4X3_types[717]); } Ifc4x3::IfcOrganization::IfcOrganization(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcOrganization::IfcOrganization(boost::optional< std::string > v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc4x3::IfcActorRole >::ptr > v4_Roles, boost::optional< aggregate_of< ::Ifc4x3::IfcAddress >::ptr > v5_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, (*v4_Roles)->generalize()); } if (v5_Addresses) {set_attribute_value(4, (*v5_Addresses)->generalize()); }; populate_derived(); } +Ifc4x3::IfcOrganization::IfcOrganization(boost::optional< std::string > v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc4x3::IfcActorRole >::ptr > v4_Roles, boost::optional< aggregate_of< ::Ifc4x3::IfcAddress >::ptr > v5_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, (*v4_Roles)->generalize()); } if (v5_Addresses) {set_attribute_value(4, (*v5_Addresses)->generalize()); }; populate_derived(); } // Function implementations for IfcOrganizationRelationship -::Ifc4x3::IfcOrganization* Ifc4x3::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcOrganization>(true); } +::Ifc4x3::IfcOrganization* Ifc4x3::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcOrganization>(true); } void Ifc4x3::IfcOrganizationRelationship::setRelatingOrganization(::Ifc4x3::IfcOrganization* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3::IfcOrganization >::ptr Ifc4x3::IfcOrganizationRelationship::RelatedOrganizations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3::IfcOrganization >(); } +aggregate_of< ::Ifc4x3::IfcOrganization >::ptr Ifc4x3::IfcOrganizationRelationship::RelatedOrganizations() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3::IfcOrganization >(); } void Ifc4x3::IfcOrganizationRelationship::setRelatedOrganizations(aggregate_of< ::Ifc4x3::IfcOrganization >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcOrganizationRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_types[718]); } const IfcParse::entity& Ifc4x3::IfcOrganizationRelationship::Class() { return *((IfcParse::entity*)IFC4X3_types[718]); } Ifc4x3::IfcOrganizationRelationship::IfcOrganizationRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3::IfcOrganizationRelationship::IfcOrganizationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcOrganization* v3_RelatingOrganization, aggregate_of< ::Ifc4x3::IfcOrganization >::ptr v4_RelatedOrganizations) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingOrganization ? v3_RelatingOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedOrganizations)->generalize());; populate_derived(); } +Ifc4x3::IfcOrganizationRelationship::IfcOrganizationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcOrganization* v3_RelatingOrganization, aggregate_of< ::Ifc4x3::IfcOrganization >::ptr v4_RelatedOrganizations) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingOrganization ? v3_RelatingOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedOrganizations)->generalize());; populate_derived(); } // Function implementations for IfcOrientedEdge -::Ifc4x3::IfcEdge* Ifc4x3::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcEdge>(true); } +::Ifc4x3::IfcEdge* Ifc4x3::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcEdge>(true); } void Ifc4x3::IfcOrientedEdge::setEdgeElement(::Ifc4x3::IfcEdge* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x3::IfcOrientedEdge::Orientation() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x3::IfcOrientedEdge::Orientation() const { bool v = get_attribute_value(3); return v; } void Ifc4x3::IfcOrientedEdge::setOrientation(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcOrientedEdge::declaration() const { return *((IfcParse::entity*)IFC4X3_types[719]); } const IfcParse::entity& Ifc4x3::IfcOrientedEdge::Class() { return *((IfcParse::entity*)IFC4X3_types[719]); } Ifc4x3::IfcOrientedEdge::IfcOrientedEdge(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc4x3::IfcOrientedEdge::IfcOrientedEdge(::Ifc4x3::IfcEdge* v3_EdgeElement, bool v4_Orientation) : IfcEdge(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(2, v3_EdgeElement ? v3_EdgeElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Orientation));; populate_derived(); } +Ifc4x3::IfcOrientedEdge::IfcOrientedEdge(::Ifc4x3::IfcEdge* v3_EdgeElement, bool v4_Orientation) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(2, v3_EdgeElement ? v3_EdgeElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Orientation));; populate_derived(); } // Function implementations for IfcOuterBoundaryCurve @@ -13133,164 +13133,164 @@ Ifc4x3::IfcOrientedEdge::IfcOrientedEdge(::Ifc4x3::IfcEdge* v3_EdgeElement, bool const IfcParse::entity& Ifc4x3::IfcOuterBoundaryCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_types[720]); } const IfcParse::entity& Ifc4x3::IfcOuterBoundaryCurve::Class() { return *((IfcParse::entity*)IFC4X3_types[720]); } Ifc4x3::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(IfcEntityInstanceData&& e) : IfcBoundaryCurve(std::move(e)) { } -Ifc4x3::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(aggregate_of< ::Ifc4x3::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundaryCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x3::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(aggregate_of< ::Ifc4x3::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundaryCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcOutlet -boost::optional< ::Ifc4x3::IfcOutletTypeEnum::Value > Ifc4x3::IfcOutlet::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcOutletTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcOutletTypeEnum::Value > Ifc4x3::IfcOutlet::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcOutletTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcOutlet::setPredefinedType(boost::optional< ::Ifc4x3::IfcOutletTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcOutletTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcOutlet::declaration() const { return *((IfcParse::entity*)IFC4X3_types[721]); } const IfcParse::entity& Ifc4x3::IfcOutlet::Class() { return *((IfcParse::entity*)IFC4X3_types[721]); } Ifc4x3::IfcOutlet::IfcOutlet(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3::IfcOutlet::IfcOutlet(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcOutletTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcOutlet::IfcOutlet(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcOutletTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOutletType -::Ifc4x3::IfcOutletTypeEnum::Value Ifc4x3::IfcOutletType::PredefinedType() const { return ::Ifc4x3::IfcOutletTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcOutletTypeEnum::Value Ifc4x3::IfcOutletType::PredefinedType() const { return ::Ifc4x3::IfcOutletTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcOutletType::setPredefinedType(::Ifc4x3::IfcOutletTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcOutletTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcOutletType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[722]); } const IfcParse::entity& Ifc4x3::IfcOutletType::Class() { return *((IfcParse::entity*)IFC4X3_types[722]); } Ifc4x3::IfcOutletType::IfcOutletType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3::IfcOutletType::IfcOutletType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcOutletTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcOutletType::IfcOutletType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcOutletTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcOwnerHistory -::Ifc4x3::IfcPersonAndOrganization* Ifc4x3::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcPersonAndOrganization>(true); } +::Ifc4x3::IfcPersonAndOrganization* Ifc4x3::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcPersonAndOrganization>(true); } void Ifc4x3::IfcOwnerHistory::setOwningUser(::Ifc4x3::IfcPersonAndOrganization* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3::IfcApplication* Ifc4x3::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcApplication>(true); } +::Ifc4x3::IfcApplication* Ifc4x3::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcApplication>(true); } void Ifc4x3::IfcOwnerHistory::setOwningApplication(::Ifc4x3::IfcApplication* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< ::Ifc4x3::IfcStateEnum::Value > Ifc4x3::IfcOwnerHistory::State() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3::IfcStateEnum::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc4x3::IfcStateEnum::Value > Ifc4x3::IfcOwnerHistory::State() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3::IfcStateEnum::FromString(get_attribute_value(2)); } void Ifc4x3::IfcOwnerHistory::setState(boost::optional< ::Ifc4x3::IfcStateEnum::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc4x3::IfcStateEnum::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -boost::optional< ::Ifc4x3::IfcChangeActionEnum::Value > Ifc4x3::IfcOwnerHistory::ChangeAction() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x3::IfcChangeActionEnum::FromString(data_.get_attribute_value(3)); } +boost::optional< ::Ifc4x3::IfcChangeActionEnum::Value > Ifc4x3::IfcOwnerHistory::ChangeAction() const { if(get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x3::IfcChangeActionEnum::FromString(get_attribute_value(3)); } void Ifc4x3::IfcOwnerHistory::setChangeAction(boost::optional< ::Ifc4x3::IfcChangeActionEnum::Value > v) { if (v) {set_attribute_value(3, EnumerationReference(&::Ifc4x3::IfcChangeActionEnum::Class(), (size_t) *v));} else {unset_attribute_value(3);} } -boost::optional< int > Ifc4x3::IfcOwnerHistory::LastModifiedDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x3::IfcOwnerHistory::LastModifiedDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x3::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3::IfcPersonAndOrganization* Ifc4x3::IfcOwnerHistory::LastModifyingUser() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcPersonAndOrganization>(true); } +::Ifc4x3::IfcPersonAndOrganization* Ifc4x3::IfcOwnerHistory::LastModifyingUser() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcPersonAndOrganization>(true); } void Ifc4x3::IfcOwnerHistory::setLastModifyingUser(::Ifc4x3::IfcPersonAndOrganization* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3::IfcApplication* Ifc4x3::IfcOwnerHistory::LastModifyingApplication() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3::IfcApplication>(true); } +::Ifc4x3::IfcApplication* Ifc4x3::IfcOwnerHistory::LastModifyingApplication() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3::IfcApplication>(true); } void Ifc4x3::IfcOwnerHistory::setLastModifyingApplication(::Ifc4x3::IfcApplication* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -int Ifc4x3::IfcOwnerHistory::CreationDate() const { int v = data_.get_attribute_value(7); return v; } +int Ifc4x3::IfcOwnerHistory::CreationDate() const { int v = get_attribute_value(7); return v; } void Ifc4x3::IfcOwnerHistory::setCreationDate(int v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3::IfcOwnerHistory::declaration() const { return *((IfcParse::entity*)IFC4X3_types[724]); } const IfcParse::entity& Ifc4x3::IfcOwnerHistory::Class() { return *((IfcParse::entity*)IFC4X3_types[724]); } Ifc4x3::IfcOwnerHistory::IfcOwnerHistory(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcOwnerHistory::IfcOwnerHistory(::Ifc4x3::IfcPersonAndOrganization* v1_OwningUser, ::Ifc4x3::IfcApplication* v2_OwningApplication, boost::optional< ::Ifc4x3::IfcStateEnum::Value > v3_State, boost::optional< ::Ifc4x3::IfcChangeActionEnum::Value > v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, ::Ifc4x3::IfcPersonAndOrganization* v6_LastModifyingUser, ::Ifc4x3::IfcApplication* v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, v1_OwningUser ? v1_OwningUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OwningApplication ? v2_OwningApplication->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_State) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, v6_LastModifyingUser ? v6_LastModifyingUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_LastModifyingApplication ? v7_LastModifyingApplication->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_CreationDate));; populate_derived(); } +Ifc4x3::IfcOwnerHistory::IfcOwnerHistory(::Ifc4x3::IfcPersonAndOrganization* v1_OwningUser, ::Ifc4x3::IfcApplication* v2_OwningApplication, boost::optional< ::Ifc4x3::IfcStateEnum::Value > v3_State, boost::optional< ::Ifc4x3::IfcChangeActionEnum::Value > v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, ::Ifc4x3::IfcPersonAndOrganization* v6_LastModifyingUser, ::Ifc4x3::IfcApplication* v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, v1_OwningUser ? v1_OwningUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OwningApplication ? v2_OwningApplication->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_State) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, v6_LastModifyingUser ? v6_LastModifyingUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_LastModifyingApplication ? v7_LastModifyingApplication->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_CreationDate));; populate_derived(); } // Function implementations for IfcParameterizedProfileDef -::Ifc4x3::IfcAxis2Placement2D* Ifc4x3::IfcParameterizedProfileDef::Position() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcAxis2Placement2D>(true); } +::Ifc4x3::IfcAxis2Placement2D* Ifc4x3::IfcParameterizedProfileDef::Position() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcAxis2Placement2D>(true); } void Ifc4x3::IfcParameterizedProfileDef::setPosition(::Ifc4x3::IfcAxis2Placement2D* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcParameterizedProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_types[725]); } const IfcParse::entity& Ifc4x3::IfcParameterizedProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_types[725]); } Ifc4x3::IfcParameterizedProfileDef::IfcParameterizedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3::IfcParameterizedProfileDef::IfcParameterizedProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D* v3_Position) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcParameterizedProfileDef::IfcParameterizedProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D* v3_Position) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPath -aggregate_of< ::Ifc4x3::IfcOrientedEdge >::ptr Ifc4x3::IfcPath::EdgeList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3::IfcOrientedEdge >(); } +aggregate_of< ::Ifc4x3::IfcOrientedEdge >::ptr Ifc4x3::IfcPath::EdgeList() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3::IfcOrientedEdge >(); } void Ifc4x3::IfcPath::setEdgeList(aggregate_of< ::Ifc4x3::IfcOrientedEdge >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3::IfcPath::declaration() const { return *((IfcParse::entity*)IFC4X3_types[727]); } const IfcParse::entity& Ifc4x3::IfcPath::Class() { return *((IfcParse::entity*)IFC4X3_types[727]); } Ifc4x3::IfcPath::IfcPath(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3::IfcPath::IfcPath(aggregate_of< ::Ifc4x3::IfcOrientedEdge >::ptr v1_EdgeList) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } +Ifc4x3::IfcPath::IfcPath(aggregate_of< ::Ifc4x3::IfcOrientedEdge >::ptr v1_EdgeList) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } // Function implementations for IfcPavement -boost::optional< ::Ifc4x3::IfcPavementTypeEnum::Value > Ifc4x3::IfcPavement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcPavementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcPavementTypeEnum::Value > Ifc4x3::IfcPavement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcPavementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcPavement::setPredefinedType(boost::optional< ::Ifc4x3::IfcPavementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcPavementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcPavement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[728]); } const IfcParse::entity& Ifc4x3::IfcPavement::Class() { return *((IfcParse::entity*)IFC4X3_types[728]); } Ifc4x3::IfcPavement::IfcPavement(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3::IfcPavement::IfcPavement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcPavementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcPavementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcPavement::IfcPavement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcPavementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcPavementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPavementType -::Ifc4x3::IfcPavementTypeEnum::Value Ifc4x3::IfcPavementType::PredefinedType() const { return ::Ifc4x3::IfcPavementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcPavementTypeEnum::Value Ifc4x3::IfcPavementType::PredefinedType() const { return ::Ifc4x3::IfcPavementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcPavementType::setPredefinedType(::Ifc4x3::IfcPavementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcPavementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcPavementType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[729]); } const IfcParse::entity& Ifc4x3::IfcPavementType::Class() { return *((IfcParse::entity*)IFC4X3_types[729]); } Ifc4x3::IfcPavementType::IfcPavementType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3::IfcPavementType::IfcPavementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPavementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcPavementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcPavementType::IfcPavementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPavementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcPavementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPcurve -::Ifc4x3::IfcSurface* Ifc4x3::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcSurface>(true); } +::Ifc4x3::IfcSurface* Ifc4x3::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcSurface>(true); } void Ifc4x3::IfcPcurve::setBasisSurface(::Ifc4x3::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3::IfcCurve* Ifc4x3::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcCurve>(true); } +::Ifc4x3::IfcCurve* Ifc4x3::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcCurve>(true); } void Ifc4x3::IfcPcurve::setReferenceCurve(::Ifc4x3::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcPcurve::declaration() const { return *((IfcParse::entity*)IFC4X3_types[731]); } const IfcParse::entity& Ifc4x3::IfcPcurve::Class() { return *((IfcParse::entity*)IFC4X3_types[731]); } Ifc4x3::IfcPcurve::IfcPcurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3::IfcPcurve::IfcPcurve(::Ifc4x3::IfcSurface* v1_BasisSurface, ::Ifc4x3::IfcCurve* v2_ReferenceCurve) : IfcCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_ReferenceCurve ? v2_ReferenceCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcPcurve::IfcPcurve(::Ifc4x3::IfcSurface* v1_BasisSurface, ::Ifc4x3::IfcCurve* v2_ReferenceCurve) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_ReferenceCurve ? v2_ReferenceCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPerformanceHistory -std::string Ifc4x3::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = data_.get_attribute_value(6); return v; } +std::string Ifc4x3::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = get_attribute_value(6); return v; } void Ifc4x3::IfcPerformanceHistory::setLifeCyclePhase(std::string v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< ::Ifc4x3::IfcPerformanceHistoryTypeEnum::Value > Ifc4x3::IfcPerformanceHistory::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3::IfcPerformanceHistoryTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3::IfcPerformanceHistoryTypeEnum::Value > Ifc4x3::IfcPerformanceHistory::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3::IfcPerformanceHistoryTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3::IfcPerformanceHistory::setPredefinedType(boost::optional< ::Ifc4x3::IfcPerformanceHistoryTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3::IfcPerformanceHistoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3::IfcPerformanceHistory::declaration() const { return *((IfcParse::entity*)IFC4X3_types[732]); } const IfcParse::entity& Ifc4x3::IfcPerformanceHistory::Class() { return *((IfcParse::entity*)IFC4X3_types[732]); } Ifc4x3::IfcPerformanceHistory::IfcPerformanceHistory(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3::IfcPerformanceHistory::IfcPerformanceHistory(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, boost::optional< ::Ifc4x3::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) : IfcControl(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcPerformanceHistory::IfcPerformanceHistory(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, boost::optional< ::Ifc4x3::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPermeableCoveringProperties -::Ifc4x3::IfcPermeableCoveringOperationEnum::Value Ifc4x3::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4x3::IfcPermeableCoveringOperationEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x3::IfcPermeableCoveringOperationEnum::Value Ifc4x3::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4x3::IfcPermeableCoveringOperationEnum::FromString(get_attribute_value(4)); } void Ifc4x3::IfcPermeableCoveringProperties::setOperationType(::Ifc4x3::IfcPermeableCoveringOperationEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3::IfcPermeableCoveringOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3::IfcWindowPanelPositionEnum::Value Ifc4x3::IfcPermeableCoveringProperties::PanelPosition() const { return ::Ifc4x3::IfcWindowPanelPositionEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3::IfcWindowPanelPositionEnum::Value Ifc4x3::IfcPermeableCoveringProperties::PanelPosition() const { return ::Ifc4x3::IfcWindowPanelPositionEnum::FromString(get_attribute_value(5)); } void Ifc4x3::IfcPermeableCoveringProperties::setPanelPosition(::Ifc4x3::IfcWindowPanelPositionEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3::IfcWindowPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3::IfcPermeableCoveringProperties::FrameDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3::IfcPermeableCoveringProperties::FrameDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3::IfcPermeableCoveringProperties::FrameThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3::IfcPermeableCoveringProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3::IfcShapeAspect* Ifc4x3::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3::IfcShapeAspect>(true); } +::Ifc4x3::IfcShapeAspect* Ifc4x3::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3::IfcShapeAspect>(true); } void Ifc4x3::IfcPermeableCoveringProperties::setShapeAspectStyle(::Ifc4x3::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3::IfcPermeableCoveringProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_types[735]); } const IfcParse::entity& Ifc4x3::IfcPermeableCoveringProperties::Class() { return *((IfcParse::entity*)IFC4X3_types[735]); } Ifc4x3::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x3::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x3::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x3::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x3::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPermit -boost::optional< ::Ifc4x3::IfcPermitTypeEnum::Value > Ifc4x3::IfcPermit::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3::IfcPermitTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3::IfcPermitTypeEnum::Value > Ifc4x3::IfcPermit::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3::IfcPermitTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3::IfcPermit::setPredefinedType(boost::optional< ::Ifc4x3::IfcPermitTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3::IfcPermitTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3::IfcPermit::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3::IfcPermit::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3::IfcPermit::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3::IfcPermit::LongDescription() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3::IfcPermit::LongDescription() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3::IfcPermit::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcPermit::declaration() const { return *((IfcParse::entity*)IFC4X3_types[736]); } const IfcParse::entity& Ifc4x3::IfcPermit::Class() { return *((IfcParse::entity*)IFC4X3_types[736]); } Ifc4x3::IfcPermit::IfcPermit(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3::IfcPermit::IfcPermit(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3::IfcPermitTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } +Ifc4x3::IfcPermit::IfcPermit(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3::IfcPermitTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } // Function implementations for IfcPerson -boost::optional< std::string > Ifc4x3::IfcPerson::Identification() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3::IfcPerson::Identification() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcPerson::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3::IfcPerson::FamilyName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3::IfcPerson::FamilyName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcPerson::setFamilyName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3::IfcPerson::GivenName() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3::IfcPerson::GivenName() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3::IfcPerson::setGivenName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3::IfcPerson::MiddleNames() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3::IfcPerson::MiddleNames() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3::IfcPerson::setMiddleNames(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3::IfcPerson::PrefixTitles() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3::IfcPerson::PrefixTitles() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3::IfcPerson::setPrefixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3::IfcPerson::SuffixTitles() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(5); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3::IfcPerson::SuffixTitles() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3::IfcPerson::setSuffixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< aggregate_of< ::Ifc4x3::IfcActorRole >::ptr > Ifc4x3::IfcPerson::Roles() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcActorRole >::ptr > Ifc4x3::IfcPerson::Roles() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3::IfcActorRole >(); } void Ifc4x3::IfcPerson::setRoles(boost::optional< aggregate_of< ::Ifc4x3::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3::IfcAddress >::ptr > Ifc4x3::IfcPerson::Addresses() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3::IfcAddress >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcAddress >::ptr > Ifc4x3::IfcPerson::Addresses() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3::IfcAddress >(); } void Ifc4x3::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4x3::IfcAddress >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } ::Ifc4x3::IfcPersonAndOrganization::list::ptr Ifc4x3::IfcPerson::EngagedIn() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[739], 0)->as(); } @@ -13298,42 +13298,42 @@ void Ifc4x3::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4x3::If const IfcParse::entity& Ifc4x3::IfcPerson::declaration() const { return *((IfcParse::entity*)IFC4X3_types[738]); } const IfcParse::entity& Ifc4x3::IfcPerson::Class() { return *((IfcParse::entity*)IFC4X3_types[738]); } Ifc4x3::IfcPerson::IfcPerson(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::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::IfcActorRole >::ptr > v7_Roles, boost::optional< aggregate_of< ::Ifc4x3::IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, (*v7_Roles)->generalize()); } if (v8_Addresses) {set_attribute_value(7, (*v8_Addresses)->generalize()); }; populate_derived(); } +Ifc4x3::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::IfcActorRole >::ptr > v7_Roles, boost::optional< aggregate_of< ::Ifc4x3::IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, (*v7_Roles)->generalize()); } if (v8_Addresses) {set_attribute_value(7, (*v8_Addresses)->generalize()); }; populate_derived(); } // Function implementations for IfcPersonAndOrganization -::Ifc4x3::IfcPerson* Ifc4x3::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcPerson>(true); } +::Ifc4x3::IfcPerson* Ifc4x3::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcPerson>(true); } void Ifc4x3::IfcPersonAndOrganization::setThePerson(::Ifc4x3::IfcPerson* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3::IfcOrganization* Ifc4x3::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcOrganization>(true); } +::Ifc4x3::IfcOrganization* Ifc4x3::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcOrganization>(true); } void Ifc4x3::IfcPersonAndOrganization::setTheOrganization(::Ifc4x3::IfcOrganization* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< aggregate_of< ::Ifc4x3::IfcActorRole >::ptr > Ifc4x3::IfcPersonAndOrganization::Roles() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcActorRole >::ptr > Ifc4x3::IfcPersonAndOrganization::Roles() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3::IfcActorRole >(); } void Ifc4x3::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3::IfcPersonAndOrganization::declaration() const { return *((IfcParse::entity*)IFC4X3_types[739]); } const IfcParse::entity& Ifc4x3::IfcPersonAndOrganization::Class() { return *((IfcParse::entity*)IFC4X3_types[739]); } Ifc4x3::IfcPersonAndOrganization::IfcPersonAndOrganization(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcPersonAndOrganization::IfcPersonAndOrganization(::Ifc4x3::IfcPerson* v1_ThePerson, ::Ifc4x3::IfcOrganization* v2_TheOrganization, boost::optional< aggregate_of< ::Ifc4x3::IfcActorRole >::ptr > v3_Roles) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_ThePerson ? v1_ThePerson->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TheOrganization ? v2_TheOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Roles) {set_attribute_value(2, (*v3_Roles)->generalize()); }; populate_derived(); } +Ifc4x3::IfcPersonAndOrganization::IfcPersonAndOrganization(::Ifc4x3::IfcPerson* v1_ThePerson, ::Ifc4x3::IfcOrganization* v2_TheOrganization, boost::optional< aggregate_of< ::Ifc4x3::IfcActorRole >::ptr > v3_Roles) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_ThePerson ? v1_ThePerson->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TheOrganization ? v2_TheOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Roles) {set_attribute_value(2, (*v3_Roles)->generalize()); }; populate_derived(); } // Function implementations for IfcPhysicalComplexQuantity -aggregate_of< ::Ifc4x3::IfcPhysicalQuantity >::ptr Ifc4x3::IfcPhysicalComplexQuantity::HasQuantities() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3::IfcPhysicalQuantity >(); } +aggregate_of< ::Ifc4x3::IfcPhysicalQuantity >::ptr Ifc4x3::IfcPhysicalComplexQuantity::HasQuantities() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3::IfcPhysicalQuantity >(); } void Ifc4x3::IfcPhysicalComplexQuantity::setHasQuantities(aggregate_of< ::Ifc4x3::IfcPhysicalQuantity >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -std::string Ifc4x3::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x3::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3::IfcPhysicalComplexQuantity::setDiscrimination(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3::IfcPhysicalComplexQuantity::Quality() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3::IfcPhysicalComplexQuantity::Quality() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcPhysicalComplexQuantity::setQuality(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3::IfcPhysicalComplexQuantity::Usage() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3::IfcPhysicalComplexQuantity::Usage() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3::IfcPhysicalComplexQuantity::setUsage(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3::IfcPhysicalComplexQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_types[741]); } const IfcParse::entity& Ifc4x3::IfcPhysicalComplexQuantity::Class() { return *((IfcParse::entity*)IFC4X3_types[741]); } Ifc4x3::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(IfcEntityInstanceData&& e) : IfcPhysicalQuantity(std::move(e)) { } -Ifc4x3::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3::IfcPhysicalQuantity >::ptr v3_HasQuantities, std::string v4_Discrimination, boost::optional< std::string > v5_Quality, boost::optional< std::string > v6_Usage) : IfcPhysicalQuantity(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_HasQuantities)->generalize());set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; populate_derived(); } +Ifc4x3::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3::IfcPhysicalQuantity >::ptr v3_HasQuantities, std::string v4_Discrimination, boost::optional< std::string > v5_Quality, boost::optional< std::string > v6_Usage) : IfcPhysicalQuantity(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_HasQuantities)->generalize());set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; populate_derived(); } // Function implementations for IfcPhysicalQuantity -std::string Ifc4x3::IfcPhysicalQuantity::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3::IfcPhysicalQuantity::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcPhysicalQuantity::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3::IfcPhysicalQuantity::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3::IfcPhysicalQuantity::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcPhysicalQuantity::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x3::IfcExternalReferenceRelationship::list::ptr Ifc4x3::IfcPhysicalQuantity::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[430], 3)->as(); } @@ -13342,127 +13342,127 @@ void Ifc4x3::IfcPhysicalQuantity::setDescription(boost::optional< std::string > const IfcParse::entity& Ifc4x3::IfcPhysicalQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_types[743]); } const IfcParse::entity& Ifc4x3::IfcPhysicalQuantity::Class() { return *((IfcParse::entity*)IFC4X3_types[743]); } Ifc4x3::IfcPhysicalQuantity::IfcPhysicalQuantity(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4x3::IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcPhysicalSimpleQuantity -::Ifc4x3::IfcNamedUnit* Ifc4x3::IfcPhysicalSimpleQuantity::Unit() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcNamedUnit>(true); } +::Ifc4x3::IfcNamedUnit* Ifc4x3::IfcPhysicalSimpleQuantity::Unit() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcNamedUnit>(true); } void Ifc4x3::IfcPhysicalSimpleQuantity::setUnit(::Ifc4x3::IfcNamedUnit* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcPhysicalSimpleQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_types[744]); } const IfcParse::entity& Ifc4x3::IfcPhysicalSimpleQuantity::Class() { return *((IfcParse::entity*)IFC4X3_types[744]); } Ifc4x3::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(IfcEntityInstanceData&& e) : IfcPhysicalQuantity(std::move(e)) { } -Ifc4x3::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPile -boost::optional< ::Ifc4x3::IfcPileTypeEnum::Value > Ifc4x3::IfcPile::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcPileTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcPileTypeEnum::Value > Ifc4x3::IfcPile::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcPileTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcPile::setPredefinedType(boost::optional< ::Ifc4x3::IfcPileTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcPileTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< ::Ifc4x3::IfcPileConstructionEnum::Value > Ifc4x3::IfcPile::ConstructionType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3::IfcPileConstructionEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3::IfcPileConstructionEnum::Value > Ifc4x3::IfcPile::ConstructionType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3::IfcPileConstructionEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcPile::setConstructionType(boost::optional< ::Ifc4x3::IfcPileConstructionEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcPileConstructionEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3::IfcPile::declaration() const { return *((IfcParse::entity*)IFC4X3_types[745]); } const IfcParse::entity& Ifc4x3::IfcPile::Class() { return *((IfcParse::entity*)IFC4X3_types[745]); } Ifc4x3::IfcPile::IfcPile(IfcEntityInstanceData&& e) : IfcDeepFoundation(std::move(e)) { } -Ifc4x3::IfcPile::IfcPile(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcPileTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x3::IfcPileConstructionEnum::Value > v10_ConstructionType) : IfcDeepFoundation(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; populate_derived(); } +Ifc4x3::IfcPile::IfcPile(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcPileTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x3::IfcPileConstructionEnum::Value > v10_ConstructionType) : IfcDeepFoundation(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; populate_derived(); } // Function implementations for IfcPileType -::Ifc4x3::IfcPileTypeEnum::Value Ifc4x3::IfcPileType::PredefinedType() const { return ::Ifc4x3::IfcPileTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcPileTypeEnum::Value Ifc4x3::IfcPileType::PredefinedType() const { return ::Ifc4x3::IfcPileTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcPileType::setPredefinedType(::Ifc4x3::IfcPileTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcPileTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcPileType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[747]); } const IfcParse::entity& Ifc4x3::IfcPileType::Class() { return *((IfcParse::entity*)IFC4X3_types[747]); } Ifc4x3::IfcPileType::IfcPileType(IfcEntityInstanceData&& e) : IfcDeepFoundationType(std::move(e)) { } -Ifc4x3::IfcPileType::IfcPileType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPileTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcPileType::IfcPileType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPileTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPipeFitting -boost::optional< ::Ifc4x3::IfcPipeFittingTypeEnum::Value > Ifc4x3::IfcPipeFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcPipeFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcPipeFittingTypeEnum::Value > Ifc4x3::IfcPipeFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcPipeFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcPipeFitting::setPredefinedType(boost::optional< ::Ifc4x3::IfcPipeFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcPipeFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcPipeFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_types[749]); } const IfcParse::entity& Ifc4x3::IfcPipeFitting::Class() { return *((IfcParse::entity*)IFC4X3_types[749]); } Ifc4x3::IfcPipeFitting::IfcPipeFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x3::IfcPipeFitting::IfcPipeFitting(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcPipeFitting::IfcPipeFitting(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPipeFittingType -::Ifc4x3::IfcPipeFittingTypeEnum::Value Ifc4x3::IfcPipeFittingType::PredefinedType() const { return ::Ifc4x3::IfcPipeFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcPipeFittingTypeEnum::Value Ifc4x3::IfcPipeFittingType::PredefinedType() const { return ::Ifc4x3::IfcPipeFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcPipeFittingType::setPredefinedType(::Ifc4x3::IfcPipeFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcPipeFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcPipeFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[750]); } const IfcParse::entity& Ifc4x3::IfcPipeFittingType::Class() { return *((IfcParse::entity*)IFC4X3_types[750]); } Ifc4x3::IfcPipeFittingType::IfcPipeFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x3::IfcPipeFittingType::IfcPipeFittingType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPipeFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcPipeFittingType::IfcPipeFittingType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPipeFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPipeSegment -boost::optional< ::Ifc4x3::IfcPipeSegmentTypeEnum::Value > Ifc4x3::IfcPipeSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcPipeSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcPipeSegmentTypeEnum::Value > Ifc4x3::IfcPipeSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcPipeSegment::setPredefinedType(boost::optional< ::Ifc4x3::IfcPipeSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcPipeSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcPipeSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_types[752]); } const IfcParse::entity& Ifc4x3::IfcPipeSegment::Class() { return *((IfcParse::entity*)IFC4X3_types[752]); } Ifc4x3::IfcPipeSegment::IfcPipeSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x3::IfcPipeSegment::IfcPipeSegment(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcPipeSegment::IfcPipeSegment(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPipeSegmentType -::Ifc4x3::IfcPipeSegmentTypeEnum::Value Ifc4x3::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4x3::IfcPipeSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcPipeSegmentTypeEnum::Value Ifc4x3::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4x3::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcPipeSegmentType::setPredefinedType(::Ifc4x3::IfcPipeSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcPipeSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcPipeSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[753]); } const IfcParse::entity& Ifc4x3::IfcPipeSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_types[753]); } Ifc4x3::IfcPipeSegmentType::IfcPipeSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x3::IfcPipeSegmentType::IfcPipeSegmentType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcPipeSegmentType::IfcPipeSegmentType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPixelTexture -int Ifc4x3::IfcPixelTexture::Width() const { int v = data_.get_attribute_value(5); return v; } +int Ifc4x3::IfcPixelTexture::Width() const { int v = get_attribute_value(5); return v; } void Ifc4x3::IfcPixelTexture::setWidth(int v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -int Ifc4x3::IfcPixelTexture::Height() const { int v = data_.get_attribute_value(6); return v; } +int Ifc4x3::IfcPixelTexture::Height() const { int v = get_attribute_value(6); return v; } void Ifc4x3::IfcPixelTexture::setHeight(int v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -int Ifc4x3::IfcPixelTexture::ColourComponents() const { int v = data_.get_attribute_value(7); return v; } +int Ifc4x3::IfcPixelTexture::ColourComponents() const { int v = get_attribute_value(7); return v; } void Ifc4x3::IfcPixelTexture::setColourComponents(int v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector< boost::dynamic_bitset<> > /*[1:?]*/ Ifc4x3::IfcPixelTexture::Pixel() const { std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< boost::dynamic_bitset<> > /*[1:?]*/ Ifc4x3::IfcPixelTexture::Pixel() const { std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3::IfcPixelTexture::setPixel(std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3::IfcPixelTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_types[755]); } const IfcParse::entity& Ifc4x3::IfcPixelTexture::Class() { return *((IfcParse::entity*)IFC4X3_types[755]); } Ifc4x3::IfcPixelTexture::IfcPixelTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -Ifc4x3::IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3::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(storage_t(9))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel));; populate_derived(); } +Ifc4x3::IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3::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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel));; populate_derived(); } // Function implementations for IfcPlacement -::Ifc4x3::IfcPoint* Ifc4x3::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcPoint>(true); } +::Ifc4x3::IfcPoint* Ifc4x3::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcPoint>(true); } void Ifc4x3::IfcPlacement::setLocation(::Ifc4x3::IfcPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3::IfcPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[756]); } const IfcParse::entity& Ifc4x3::IfcPlacement::Class() { return *((IfcParse::entity*)IFC4X3_types[756]); } Ifc4x3::IfcPlacement::IfcPlacement(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3::IfcPlacement::IfcPlacement(::Ifc4x3::IfcPoint* v1_Location) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcPlacement::IfcPlacement(::Ifc4x3::IfcPoint* v1_Location) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlanarBox -::Ifc4x3::IfcAxis2Placement* Ifc4x3::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcAxis2Placement>(true); } +::Ifc4x3::IfcAxis2Placement* Ifc4x3::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcAxis2Placement>(true); } void Ifc4x3::IfcPlanarBox::setPlacement(::Ifc4x3::IfcAxis2Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcPlanarBox::declaration() const { return *((IfcParse::entity*)IFC4X3_types[757]); } const IfcParse::entity& Ifc4x3::IfcPlanarBox::Class() { return *((IfcParse::entity*)IFC4X3_types[757]); } Ifc4x3::IfcPlanarBox::IfcPlanarBox(IfcEntityInstanceData&& e) : IfcPlanarExtent(std::move(e)) { } -Ifc4x3::IfcPlanarBox::IfcPlanarBox(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3::IfcAxis2Placement* v3_Placement) : IfcPlanarExtent(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, v3_Placement ? v3_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcPlanarBox::IfcPlanarBox(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3::IfcAxis2Placement* v3_Placement) : IfcPlanarExtent(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, v3_Placement ? v3_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlanarExtent -double Ifc4x3::IfcPlanarExtent::SizeInX() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3::IfcPlanarExtent::SizeInX() const { double v = get_attribute_value(0); return v; } void Ifc4x3::IfcPlanarExtent::setSizeInX(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc4x3::IfcPlanarExtent::SizeInY() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3::IfcPlanarExtent::SizeInY() const { double v = get_attribute_value(1); return v; } void Ifc4x3::IfcPlanarExtent::setSizeInY(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcPlanarExtent::declaration() const { return *((IfcParse::entity*)IFC4X3_types[758]); } const IfcParse::entity& Ifc4x3::IfcPlanarExtent::Class() { return *((IfcParse::entity*)IFC4X3_types[758]); } Ifc4x3::IfcPlanarExtent::IfcPlanarExtent(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeInY) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; populate_derived(); } +Ifc4x3::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeInY) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; populate_derived(); } // Function implementations for IfcPlane @@ -13470,27 +13470,27 @@ Ifc4x3::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeInY) : const IfcParse::entity& Ifc4x3::IfcPlane::declaration() const { return *((IfcParse::entity*)IFC4X3_types[760]); } const IfcParse::entity& Ifc4x3::IfcPlane::Class() { return *((IfcParse::entity*)IFC4X3_types[760]); } Ifc4x3::IfcPlane::IfcPlane(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x3::IfcPlane::IfcPlane(::Ifc4x3::IfcAxis2Placement3D* v1_Position) : IfcElementarySurface(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcPlane::IfcPlane(::Ifc4x3::IfcAxis2Placement3D* v1_Position) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlate -boost::optional< ::Ifc4x3::IfcPlateTypeEnum::Value > Ifc4x3::IfcPlate::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcPlateTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcPlateTypeEnum::Value > Ifc4x3::IfcPlate::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcPlateTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcPlate::setPredefinedType(boost::optional< ::Ifc4x3::IfcPlateTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcPlateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcPlate::declaration() const { return *((IfcParse::entity*)IFC4X3_types[762]); } const IfcParse::entity& Ifc4x3::IfcPlate::Class() { return *((IfcParse::entity*)IFC4X3_types[762]); } Ifc4x3::IfcPlate::IfcPlate(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3::IfcPlate::IfcPlate(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcPlateTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcPlate::IfcPlate(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcPlateTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPlateType -::Ifc4x3::IfcPlateTypeEnum::Value Ifc4x3::IfcPlateType::PredefinedType() const { return ::Ifc4x3::IfcPlateTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcPlateTypeEnum::Value Ifc4x3::IfcPlateType::PredefinedType() const { return ::Ifc4x3::IfcPlateTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcPlateType::setPredefinedType(::Ifc4x3::IfcPlateTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcPlateTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcPlateType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[763]); } const IfcParse::entity& Ifc4x3::IfcPlateType::Class() { return *((IfcParse::entity*)IFC4X3_types[763]); } Ifc4x3::IfcPlateType::IfcPlateType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3::IfcPlateType::IfcPlateType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPlateTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcPlateType::IfcPlateType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPlateTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPoint @@ -13498,111 +13498,111 @@ Ifc4x3::IfcPlateType::IfcPlateType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHi const IfcParse::entity& Ifc4x3::IfcPoint::declaration() const { return *((IfcParse::entity*)IFC4X3_types[765]); } const IfcParse::entity& Ifc4x3::IfcPoint::Class() { return *((IfcParse::entity*)IFC4X3_types[765]); } Ifc4x3::IfcPoint::IfcPoint(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPointByDistanceExpression -::Ifc4x3::IfcCurveMeasureSelect* Ifc4x3::IfcPointByDistanceExpression::DistanceAlong() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcCurveMeasureSelect>(true); } +::Ifc4x3::IfcCurveMeasureSelect* Ifc4x3::IfcPointByDistanceExpression::DistanceAlong() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcCurveMeasureSelect>(true); } void Ifc4x3::IfcPointByDistanceExpression::setDistanceAlong(::Ifc4x3::IfcCurveMeasureSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< double > Ifc4x3::IfcPointByDistanceExpression::OffsetLateral() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3::IfcPointByDistanceExpression::OffsetLateral() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3::IfcPointByDistanceExpression::setOffsetLateral(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3::IfcPointByDistanceExpression::OffsetVertical() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3::IfcPointByDistanceExpression::OffsetVertical() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3::IfcPointByDistanceExpression::setOffsetVertical(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3::IfcPointByDistanceExpression::OffsetLongitudinal() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3::IfcPointByDistanceExpression::OffsetLongitudinal() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3::IfcPointByDistanceExpression::setOffsetLongitudinal(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3::IfcCurve* Ifc4x3::IfcPointByDistanceExpression::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcCurve>(true); } +::Ifc4x3::IfcCurve* Ifc4x3::IfcPointByDistanceExpression::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcCurve>(true); } void Ifc4x3::IfcPointByDistanceExpression::setBasisCurve(::Ifc4x3::IfcCurve* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3::IfcPointByDistanceExpression::declaration() const { return *((IfcParse::entity*)IFC4X3_types[766]); } const IfcParse::entity& Ifc4x3::IfcPointByDistanceExpression::Class() { return *((IfcParse::entity*)IFC4X3_types[766]); } Ifc4x3::IfcPointByDistanceExpression::IfcPointByDistanceExpression(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x3::IfcPointByDistanceExpression::IfcPointByDistanceExpression(::Ifc4x3::IfcCurveMeasureSelect* v1_DistanceAlong, boost::optional< double > v2_OffsetLateral, boost::optional< double > v3_OffsetVertical, boost::optional< double > v4_OffsetLongitudinal, ::Ifc4x3::IfcCurve* v5_BasisCurve) : IfcPoint(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_DistanceAlong ? v1_DistanceAlong->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); }set_attribute_value(4, v5_BasisCurve ? v5_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcPointByDistanceExpression::IfcPointByDistanceExpression(::Ifc4x3::IfcCurveMeasureSelect* v1_DistanceAlong, boost::optional< double > v2_OffsetLateral, boost::optional< double > v3_OffsetVertical, boost::optional< double > v4_OffsetLongitudinal, ::Ifc4x3::IfcCurve* v5_BasisCurve) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_DistanceAlong ? v1_DistanceAlong->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); }set_attribute_value(4, v5_BasisCurve ? v5_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPointOnCurve -::Ifc4x3::IfcCurve* Ifc4x3::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcCurve>(true); } +::Ifc4x3::IfcCurve* Ifc4x3::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcCurve>(true); } void Ifc4x3::IfcPointOnCurve::setBasisCurve(::Ifc4x3::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3::IfcPointOnCurve::PointParameter() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3::IfcPointOnCurve::PointParameter() const { double v = get_attribute_value(1); return v; } void Ifc4x3::IfcPointOnCurve::setPointParameter(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcPointOnCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_types[767]); } const IfcParse::entity& Ifc4x3::IfcPointOnCurve::Class() { return *((IfcParse::entity*)IFC4X3_types[767]); } Ifc4x3::IfcPointOnCurve::IfcPointOnCurve(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x3::IfcPointOnCurve::IfcPointOnCurve(::Ifc4x3::IfcCurve* v1_BasisCurve, double v2_PointParameter) : IfcPoint(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameter));; populate_derived(); } +Ifc4x3::IfcPointOnCurve::IfcPointOnCurve(::Ifc4x3::IfcCurve* v1_BasisCurve, double v2_PointParameter) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameter));; populate_derived(); } // Function implementations for IfcPointOnSurface -::Ifc4x3::IfcSurface* Ifc4x3::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcSurface>(true); } +::Ifc4x3::IfcSurface* Ifc4x3::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcSurface>(true); } void Ifc4x3::IfcPointOnSurface::setBasisSurface(::Ifc4x3::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3::IfcPointOnSurface::PointParameterU() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3::IfcPointOnSurface::PointParameterU() const { double v = get_attribute_value(1); return v; } void Ifc4x3::IfcPointOnSurface::setPointParameterU(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3::IfcPointOnSurface::PointParameterV() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3::IfcPointOnSurface::PointParameterV() const { double v = get_attribute_value(2); return v; } void Ifc4x3::IfcPointOnSurface::setPointParameterV(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcPointOnSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_types[768]); } const IfcParse::entity& Ifc4x3::IfcPointOnSurface::Class() { return *((IfcParse::entity*)IFC4X3_types[768]); } Ifc4x3::IfcPointOnSurface::IfcPointOnSurface(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x3::IfcPointOnSurface::IfcPointOnSurface(::Ifc4x3::IfcSurface* v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) : IfcPoint(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; populate_derived(); } +Ifc4x3::IfcPointOnSurface::IfcPointOnSurface(::Ifc4x3::IfcSurface* v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; populate_derived(); } // Function implementations for IfcPolyLoop -aggregate_of< ::Ifc4x3::IfcCartesianPoint >::ptr Ifc4x3::IfcPolyLoop::Polygon() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3::IfcCartesianPoint >(); } +aggregate_of< ::Ifc4x3::IfcCartesianPoint >::ptr Ifc4x3::IfcPolyLoop::Polygon() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3::IfcCartesianPoint >(); } void Ifc4x3::IfcPolyLoop::setPolygon(aggregate_of< ::Ifc4x3::IfcCartesianPoint >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3::IfcPolyLoop::declaration() const { return *((IfcParse::entity*)IFC4X3_types[773]); } const IfcParse::entity& Ifc4x3::IfcPolyLoop::Class() { return *((IfcParse::entity*)IFC4X3_types[773]); } Ifc4x3::IfcPolyLoop::IfcPolyLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc4x3::IfcPolyLoop::IfcPolyLoop(aggregate_of< ::Ifc4x3::IfcCartesianPoint >::ptr v1_Polygon) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Polygon)->generalize());; populate_derived(); } +Ifc4x3::IfcPolyLoop::IfcPolyLoop(aggregate_of< ::Ifc4x3::IfcCartesianPoint >::ptr v1_Polygon) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Polygon)->generalize());; populate_derived(); } // Function implementations for IfcPolygonalBoundedHalfSpace -::Ifc4x3::IfcAxis2Placement3D* Ifc4x3::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcAxis2Placement3D>(true); } +::Ifc4x3::IfcAxis2Placement3D* Ifc4x3::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcAxis2Placement3D>(true); } void Ifc4x3::IfcPolygonalBoundedHalfSpace::setPosition(::Ifc4x3::IfcAxis2Placement3D* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3::IfcBoundedCurve* Ifc4x3::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcBoundedCurve>(true); } +::Ifc4x3::IfcBoundedCurve* Ifc4x3::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcBoundedCurve>(true); } void Ifc4x3::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(::Ifc4x3::IfcBoundedCurve* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcPolygonalBoundedHalfSpace::declaration() const { return *((IfcParse::entity*)IFC4X3_types[770]); } const IfcParse::entity& Ifc4x3::IfcPolygonalBoundedHalfSpace::Class() { return *((IfcParse::entity*)IFC4X3_types[770]); } Ifc4x3::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(IfcEntityInstanceData&& e) : IfcHalfSpaceSolid(std::move(e)) { } -Ifc4x3::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(::Ifc4x3::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3::IfcAxis2Placement3D* v3_Position, ::Ifc4x3::IfcBoundedCurve* v4_PolygonalBoundary) : IfcHalfSpaceSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PolygonalBoundary ? v4_PolygonalBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(::Ifc4x3::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3::IfcAxis2Placement3D* v3_Position, ::Ifc4x3::IfcBoundedCurve* v4_PolygonalBoundary) : IfcHalfSpaceSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PolygonalBoundary ? v4_PolygonalBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPolygonalFaceSet -aggregate_of< ::Ifc4x3::IfcIndexedPolygonalFace >::ptr Ifc4x3::IfcPolygonalFaceSet::Faces() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3::IfcIndexedPolygonalFace >(); } +aggregate_of< ::Ifc4x3::IfcIndexedPolygonalFace >::ptr Ifc4x3::IfcPolygonalFaceSet::Faces() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3::IfcIndexedPolygonalFace >(); } void Ifc4x3::IfcPolygonalFaceSet::setFaces(aggregate_of< ::Ifc4x3::IfcIndexedPolygonalFace >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3::IfcPolygonalFaceSet::PnIndex() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3::IfcPolygonalFaceSet::PnIndex() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3::IfcPolygonalFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3::IfcPolygonalFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_types[771]); } const IfcParse::entity& Ifc4x3::IfcPolygonalFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_types[771]); } Ifc4x3::IfcPolygonalFaceSet::IfcPolygonalFaceSet(IfcEntityInstanceData&& e) : IfcTessellatedFaceSet(std::move(e)) { } -Ifc4x3::IfcPolygonalFaceSet::IfcPolygonalFaceSet(::Ifc4x3::IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v2_Closed, aggregate_of< ::Ifc4x3::IfcIndexedPolygonalFace >::ptr v3_Faces, boost::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) : IfcTessellatedFaceSet(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, (v3_Faces)->generalize()); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); }; populate_derived(); } +Ifc4x3::IfcPolygonalFaceSet::IfcPolygonalFaceSet(::Ifc4x3::IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v2_Closed, aggregate_of< ::Ifc4x3::IfcIndexedPolygonalFace >::ptr v3_Faces, boost::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) : IfcTessellatedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, (v3_Faces)->generalize()); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); }; populate_derived(); } // Function implementations for IfcPolyline -aggregate_of< ::Ifc4x3::IfcCartesianPoint >::ptr Ifc4x3::IfcPolyline::Points() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3::IfcCartesianPoint >(); } +aggregate_of< ::Ifc4x3::IfcCartesianPoint >::ptr Ifc4x3::IfcPolyline::Points() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3::IfcCartesianPoint >(); } void Ifc4x3::IfcPolyline::setPoints(aggregate_of< ::Ifc4x3::IfcCartesianPoint >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3::IfcPolyline::declaration() const { return *((IfcParse::entity*)IFC4X3_types[772]); } const IfcParse::entity& Ifc4x3::IfcPolyline::Class() { return *((IfcParse::entity*)IFC4X3_types[772]); } Ifc4x3::IfcPolyline::IfcPolyline(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3::IfcPolyline::IfcPolyline(aggregate_of< ::Ifc4x3::IfcCartesianPoint >::ptr v1_Points) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Points)->generalize());; populate_derived(); } +Ifc4x3::IfcPolyline::IfcPolyline(aggregate_of< ::Ifc4x3::IfcCartesianPoint >::ptr v1_Points) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Points)->generalize());; populate_derived(); } // Function implementations for IfcPolynomialCurve -::Ifc4x3::IfcPlacement* Ifc4x3::IfcPolynomialCurve::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcPlacement>(true); } +::Ifc4x3::IfcPlacement* Ifc4x3::IfcPolynomialCurve::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcPlacement>(true); } void Ifc4x3::IfcPolynomialCurve::setPosition(::Ifc4x3::IfcPlacement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3::IfcPolynomialCurve::CoefficientsX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3::IfcPolynomialCurve::CoefficientsX() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3::IfcPolynomialCurve::setCoefficientsX(boost::optional< std::vector< double > /*[2:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3::IfcPolynomialCurve::CoefficientsY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3::IfcPolynomialCurve::CoefficientsY() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = get_attribute_value(2); return v; } void Ifc4x3::IfcPolynomialCurve::setCoefficientsY(boost::optional< std::vector< double > /*[2:?]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3::IfcPolynomialCurve::CoefficientsZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3::IfcPolynomialCurve::CoefficientsZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3::IfcPolynomialCurve::setCoefficientsZ(boost::optional< std::vector< double > /*[2:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3::IfcPolynomialCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_types[774]); } const IfcParse::entity& Ifc4x3::IfcPolynomialCurve::Class() { return *((IfcParse::entity*)IFC4X3_types[774]); } Ifc4x3::IfcPolynomialCurve::IfcPolynomialCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3::IfcPolynomialCurve::IfcPolynomialCurve(::Ifc4x3::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) : IfcCurve(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CoefficientsX) {set_attribute_value(1, (*v2_CoefficientsX)); } if (v3_CoefficientsY) {set_attribute_value(2, (*v3_CoefficientsY)); } if (v4_CoefficientsZ) {set_attribute_value(3, (*v4_CoefficientsZ)); }; populate_derived(); } +Ifc4x3::IfcPolynomialCurve::IfcPolynomialCurve(::Ifc4x3::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) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CoefficientsX) {set_attribute_value(1, (*v2_CoefficientsX)); } if (v3_CoefficientsY) {set_attribute_value(2, (*v3_CoefficientsY)); } if (v4_CoefficientsZ) {set_attribute_value(3, (*v4_CoefficientsZ)); }; populate_derived(); } // Function implementations for IfcPort @@ -13613,7 +13613,7 @@ Ifc4x3::IfcPolynomialCurve::IfcPolynomialCurve(::Ifc4x3::IfcPlacement* v1_Positi const IfcParse::entity& Ifc4x3::IfcPort::declaration() const { return *((IfcParse::entity*)IFC4X3_types[775]); } const IfcParse::entity& Ifc4x3::IfcPort::Class() { return *((IfcParse::entity*)IFC4X3_types[775]); } Ifc4x3::IfcPort::IfcPort(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3::IfcPort::IfcPort(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcPort::IfcPort(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPositioningElement @@ -13623,29 +13623,29 @@ Ifc4x3::IfcPort::IfcPort(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_ const IfcParse::entity& Ifc4x3::IfcPositioningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[776]); } const IfcParse::entity& Ifc4x3::IfcPositioningElement::Class() { return *((IfcParse::entity*)IFC4X3_types[776]); } Ifc4x3::IfcPositioningElement::IfcPositioningElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3::IfcPositioningElement::IfcPositioningElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcPositioningElement::IfcPositioningElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPostalAddress -boost::optional< std::string > Ifc4x3::IfcPostalAddress::InternalLocation() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3::IfcPostalAddress::InternalLocation() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3::IfcPostalAddress::setInternalLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3::IfcPostalAddress::AddressLines() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3::IfcPostalAddress::AddressLines() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3::IfcPostalAddress::setAddressLines(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3::IfcPostalAddress::PostalBox() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3::IfcPostalAddress::PostalBox() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3::IfcPostalAddress::setPostalBox(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3::IfcPostalAddress::Town() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3::IfcPostalAddress::Town() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3::IfcPostalAddress::setTown(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3::IfcPostalAddress::Region() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3::IfcPostalAddress::Region() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3::IfcPostalAddress::setRegion(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3::IfcPostalAddress::PostalCode() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3::IfcPostalAddress::PostalCode() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3::IfcPostalAddress::setPostalCode(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3::IfcPostalAddress::Country() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3::IfcPostalAddress::Country() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3::IfcPostalAddress::setCountry(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3::IfcPostalAddress::declaration() const { return *((IfcParse::entity*)IFC4X3_types[781]); } const IfcParse::entity& Ifc4x3::IfcPostalAddress::Class() { return *((IfcParse::entity*)IFC4X3_types[781]); } Ifc4x3::IfcPostalAddress::IfcPostalAddress(IfcEntityInstanceData&& e) : IfcAddress(std::move(e)) { } -Ifc4x3::IfcPostalAddress::IfcPostalAddress(boost::optional< ::Ifc4x3::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) : IfcAddress(IfcEntityInstanceData(storage_t(10))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; populate_derived(); } +Ifc4x3::IfcPostalAddress::IfcPostalAddress(boost::optional< ::Ifc4x3::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) : IfcAddress(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; populate_derived(); } // Function implementations for IfcPreDefinedColour @@ -13653,7 +13653,7 @@ Ifc4x3::IfcPostalAddress::IfcPostalAddress(boost::optional< ::Ifc4x3::IfcAddress const IfcParse::entity& Ifc4x3::IfcPreDefinedColour::declaration() const { return *((IfcParse::entity*)IFC4X3_types[783]); } const IfcParse::entity& Ifc4x3::IfcPreDefinedColour::Class() { return *((IfcParse::entity*)IFC4X3_types[783]); } Ifc4x3::IfcPreDefinedColour::IfcPreDefinedColour(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc4x3::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedCurveFont @@ -13661,17 +13661,17 @@ Ifc4x3::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcPreDe const IfcParse::entity& Ifc4x3::IfcPreDefinedCurveFont::declaration() const { return *((IfcParse::entity*)IFC4X3_types[784]); } const IfcParse::entity& Ifc4x3::IfcPreDefinedCurveFont::Class() { return *((IfcParse::entity*)IFC4X3_types[784]); } Ifc4x3::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc4x3::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedItem -std::string Ifc4x3::IfcPreDefinedItem::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3::IfcPreDefinedItem::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcPreDefinedItem::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3::IfcPreDefinedItem::declaration() const { return *((IfcParse::entity*)IFC4X3_types[785]); } const IfcParse::entity& Ifc4x3::IfcPreDefinedItem::Class() { return *((IfcParse::entity*)IFC4X3_types[785]); } Ifc4x3::IfcPreDefinedItem::IfcPreDefinedItem(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedProperties @@ -13679,7 +13679,7 @@ Ifc4x3::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcPresentat const IfcParse::entity& Ifc4x3::IfcPreDefinedProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_types[786]); } const IfcParse::entity& Ifc4x3::IfcPreDefinedProperties::Class() { return *((IfcParse::entity*)IFC4X3_types[786]); } Ifc4x3::IfcPreDefinedProperties::IfcPreDefinedProperties(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x3::IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3::IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPreDefinedPropertySet @@ -13687,7 +13687,7 @@ Ifc4x3::IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbstract const IfcParse::entity& Ifc4x3::IfcPreDefinedPropertySet::declaration() const { return *((IfcParse::entity*)IFC4X3_types[787]); } const IfcParse::entity& Ifc4x3::IfcPreDefinedPropertySet::Class() { return *((IfcParse::entity*)IFC4X3_types[787]); } Ifc4x3::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc4x3::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPreDefinedTextFont @@ -13695,7 +13695,7 @@ Ifc4x3::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_Global const IfcParse::entity& Ifc4x3::IfcPreDefinedTextFont::declaration() const { return *((IfcParse::entity*)IFC4X3_types[788]); } const IfcParse::entity& Ifc4x3::IfcPreDefinedTextFont::Class() { return *((IfcParse::entity*)IFC4X3_types[788]); } Ifc4x3::IfcPreDefinedTextFont::IfcPreDefinedTextFont(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc4x3::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPresentationItem @@ -13703,74 +13703,74 @@ Ifc4x3::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : IfcP const IfcParse::entity& Ifc4x3::IfcPresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_types[791]); } const IfcParse::entity& Ifc4x3::IfcPresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_types[791]); } Ifc4x3::IfcPresentationItem::IfcPresentationItem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcPresentationItem::IfcPresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3::IfcPresentationItem::IfcPresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPresentationLayerAssignment -std::string Ifc4x3::IfcPresentationLayerAssignment::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3::IfcPresentationLayerAssignment::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcPresentationLayerAssignment::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3::IfcPresentationLayerAssignment::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3::IfcPresentationLayerAssignment::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3::IfcLayeredItem >::ptr Ifc4x3::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3::IfcLayeredItem >(); } +aggregate_of< ::Ifc4x3::IfcLayeredItem >::ptr Ifc4x3::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3::IfcLayeredItem >(); } void Ifc4x3::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x3::IfcLayeredItem >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x3::IfcPresentationLayerAssignment::Identifier() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3::IfcPresentationLayerAssignment::Identifier() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3::IfcPresentationLayerAssignment::declaration() const { return *((IfcParse::entity*)IFC4X3_types[792]); } const IfcParse::entity& Ifc4x3::IfcPresentationLayerAssignment::Class() { return *((IfcParse::entity*)IFC4X3_types[792]); } Ifc4x3::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; populate_derived(); } +Ifc4x3::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; populate_derived(); } // Function implementations for IfcPresentationLayerWithStyle -boost::logic::tribool Ifc4x3::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = data_.get_attribute_value(4); return v; } +boost::logic::tribool Ifc4x3::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = get_attribute_value(4); return v; } void Ifc4x3::IfcPresentationLayerWithStyle::setLayerOn(boost::logic::tribool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::logic::tribool Ifc4x3::IfcPresentationLayerWithStyle::LayerFrozen() const { boost::logic::tribool v = data_.get_attribute_value(5); return v; } +boost::logic::tribool Ifc4x3::IfcPresentationLayerWithStyle::LayerFrozen() const { boost::logic::tribool v = get_attribute_value(5); return v; } void Ifc4x3::IfcPresentationLayerWithStyle::setLayerFrozen(boost::logic::tribool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::logic::tribool Ifc4x3::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = data_.get_attribute_value(6); return v; } +boost::logic::tribool Ifc4x3::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = get_attribute_value(6); return v; } void Ifc4x3::IfcPresentationLayerWithStyle::setLayerBlocked(boost::logic::tribool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -aggregate_of< ::Ifc4x3::IfcPresentationStyle >::ptr Ifc4x3::IfcPresentationLayerWithStyle::LayerStyles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3::IfcPresentationStyle >(); } +aggregate_of< ::Ifc4x3::IfcPresentationStyle >::ptr Ifc4x3::IfcPresentationLayerWithStyle::LayerStyles() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3::IfcPresentationStyle >(); } void Ifc4x3::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< ::Ifc4x3::IfcPresentationStyle >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3::IfcPresentationLayerWithStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_types[793]); } const IfcParse::entity& Ifc4x3::IfcPresentationLayerWithStyle::Class() { return *((IfcParse::entity*)IFC4X3_types[793]); } Ifc4x3::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData&& e) : IfcPresentationLayerAssignment(std::move(e)) { } -Ifc4x3::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, (v8_LayerStyles)->generalize());; populate_derived(); } +Ifc4x3::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, (v8_LayerStyles)->generalize());; populate_derived(); } // Function implementations for IfcPresentationStyle -boost::optional< std::string > Ifc4x3::IfcPresentationStyle::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3::IfcPresentationStyle::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcPresentationStyle::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3::IfcPresentationStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_types[794]); } const IfcParse::entity& Ifc4x3::IfcPresentationStyle::Class() { return *((IfcParse::entity*)IFC4X3_types[794]); } Ifc4x3::IfcPresentationStyle::IfcPresentationStyle(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcProcedure -boost::optional< ::Ifc4x3::IfcProcedureTypeEnum::Value > Ifc4x3::IfcProcedure::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3::IfcProcedureTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3::IfcProcedureTypeEnum::Value > Ifc4x3::IfcProcedure::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3::IfcProcedureTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3::IfcProcedure::setPredefinedType(boost::optional< ::Ifc4x3::IfcProcedureTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3::IfcProcedureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3::IfcProcedure::declaration() const { return *((IfcParse::entity*)IFC4X3_types[796]); } const IfcParse::entity& Ifc4x3::IfcProcedure::Class() { return *((IfcParse::entity*)IFC4X3_types[796]); } Ifc4x3::IfcProcedure::IfcProcedure(IfcEntityInstanceData&& e) : IfcProcess(std::move(e)) { } -Ifc4x3::IfcProcedure::IfcProcedure(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< ::Ifc4x3::IfcProcedureTypeEnum::Value > v8_PredefinedType) : IfcProcess(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcProcedure::IfcProcedure(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< ::Ifc4x3::IfcProcedureTypeEnum::Value > v8_PredefinedType) : IfcProcess(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProcedureType -::Ifc4x3::IfcProcedureTypeEnum::Value Ifc4x3::IfcProcedureType::PredefinedType() const { return ::Ifc4x3::IfcProcedureTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcProcedureTypeEnum::Value Ifc4x3::IfcProcedureType::PredefinedType() const { return ::Ifc4x3::IfcProcedureTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcProcedureType::setPredefinedType(::Ifc4x3::IfcProcedureTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcProcedureTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcProcedureType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[797]); } const IfcParse::entity& Ifc4x3::IfcProcedureType::Class() { return *((IfcParse::entity*)IFC4X3_types[797]); } Ifc4x3::IfcProcedureType::IfcProcedureType(IfcEntityInstanceData&& e) : IfcTypeProcess(std::move(e)) { } -Ifc4x3::IfcProcedureType::IfcProcedureType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3::IfcProcedureTypeEnum::Value v10_PredefinedType) : IfcTypeProcess(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcProcedureType::IfcProcedureType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3::IfcProcedureTypeEnum::Value v10_PredefinedType) : IfcTypeProcess(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcProcess -boost::optional< std::string > Ifc4x3::IfcProcess::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3::IfcProcess::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3::IfcProcess::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3::IfcProcess::LongDescription() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3::IfcProcess::LongDescription() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3::IfcProcess::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3::IfcRelSequence::list::ptr Ifc4x3::IfcProcess::IsPredecessorTo() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[944], 4)->as(); } @@ -13780,12 +13780,12 @@ void Ifc4x3::IfcProcess::setLongDescription(boost::optional< std::string > v) { const IfcParse::entity& Ifc4x3::IfcProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_types[799]); } const IfcParse::entity& Ifc4x3::IfcProcess::Class() { return *((IfcParse::entity*)IFC4X3_types[799]); } Ifc4x3::IfcProcess::IfcProcess(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3::IfcProcess::IfcProcess(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } +Ifc4x3::IfcProcess::IfcProcess(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } // Function implementations for IfcProduct -::Ifc4x3::IfcObjectPlacement* Ifc4x3::IfcProduct::ObjectPlacement() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcObjectPlacement>(true); } +::Ifc4x3::IfcObjectPlacement* Ifc4x3::IfcProduct::ObjectPlacement() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcObjectPlacement>(true); } void Ifc4x3::IfcProduct::setObjectPlacement(::Ifc4x3::IfcObjectPlacement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3::IfcProductRepresentation* Ifc4x3::IfcProduct::Representation() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3::IfcProductRepresentation>(true); } +::Ifc4x3::IfcProductRepresentation* Ifc4x3::IfcProduct::Representation() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3::IfcProductRepresentation>(true); } void Ifc4x3::IfcProduct::setRepresentation(::Ifc4x3::IfcProductRepresentation* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } ::Ifc4x3::IfcRelAssignsToProduct::list::ptr Ifc4x3::IfcProduct::ReferencedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[907], 6)->as(); } @@ -13795,7 +13795,7 @@ void Ifc4x3::IfcProduct::setRepresentation(::Ifc4x3::IfcProductRepresentation* v const IfcParse::entity& Ifc4x3::IfcProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_types[801]); } const IfcParse::entity& Ifc4x3::IfcProduct::Class() { return *((IfcParse::entity*)IFC4X3_types[801]); } Ifc4x3::IfcProduct::IfcProduct(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3::IfcProduct::IfcProduct(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation) : IfcObject(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcProduct::IfcProduct(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProductDefinitionShape @@ -13805,26 +13805,26 @@ Ifc4x3::IfcProduct::IfcProduct(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistor const IfcParse::entity& Ifc4x3::IfcProductDefinitionShape::declaration() const { return *((IfcParse::entity*)IFC4X3_types[802]); } const IfcParse::entity& Ifc4x3::IfcProductDefinitionShape::Class() { return *((IfcParse::entity*)IFC4X3_types[802]); } Ifc4x3::IfcProductDefinitionShape::IfcProductDefinitionShape(IfcEntityInstanceData&& e) : IfcProductRepresentation(std::move(e)) { } -Ifc4x3::IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3::IfcRepresentation >::ptr v3_Representations) : IfcProductRepresentation(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } +Ifc4x3::IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3::IfcRepresentation >::ptr v3_Representations) : IfcProductRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } // Function implementations for IfcProductRepresentation -boost::optional< std::string > Ifc4x3::IfcProductRepresentation::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3::IfcProductRepresentation::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcProductRepresentation::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3::IfcProductRepresentation::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3::IfcProductRepresentation::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcProductRepresentation::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3::IfcRepresentation >::ptr Ifc4x3::IfcProductRepresentation::Representations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3::IfcRepresentation >(); } +aggregate_of< ::Ifc4x3::IfcRepresentation >::ptr Ifc4x3::IfcProductRepresentation::Representations() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3::IfcRepresentation >(); } void Ifc4x3::IfcProductRepresentation::setRepresentations(aggregate_of< ::Ifc4x3::IfcRepresentation >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcProductRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_types[803]); } const IfcParse::entity& Ifc4x3::IfcProductRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_types[803]); } Ifc4x3::IfcProductRepresentation::IfcProductRepresentation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcProductRepresentation::IfcProductRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3::IfcRepresentation >::ptr v3_Representations) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } +Ifc4x3::IfcProductRepresentation::IfcProductRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3::IfcRepresentation >::ptr v3_Representations) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } // Function implementations for IfcProfileDef -::Ifc4x3::IfcProfileTypeEnum::Value Ifc4x3::IfcProfileDef::ProfileType() const { return ::Ifc4x3::IfcProfileTypeEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3::IfcProfileTypeEnum::Value Ifc4x3::IfcProfileDef::ProfileType() const { return ::Ifc4x3::IfcProfileTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x3::IfcProfileDef::setProfileType(::Ifc4x3::IfcProfileTypeEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3::IfcProfileDef::ProfileName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3::IfcProfileDef::ProfileName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcProfileDef::setProfileName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x3::IfcExternalReferenceRelationship::list::ptr Ifc4x3::IfcProfileDef::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[430], 3)->as(); } @@ -13833,17 +13833,17 @@ void Ifc4x3::IfcProfileDef::setProfileName(boost::optional< std::string > v) { i const IfcParse::entity& Ifc4x3::IfcProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_types[806]); } const IfcParse::entity& Ifc4x3::IfcProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_types[806]); } Ifc4x3::IfcProfileDef::IfcProfileDef(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcProfileDef::IfcProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; populate_derived(); } +Ifc4x3::IfcProfileDef::IfcProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; populate_derived(); } // Function implementations for IfcProfileProperties -::Ifc4x3::IfcProfileDef* Ifc4x3::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcProfileDef>(true); } +::Ifc4x3::IfcProfileDef* Ifc4x3::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcProfileDef>(true); } void Ifc4x3::IfcProfileProperties::setProfileDefinition(::Ifc4x3::IfcProfileDef* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcProfileProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_types[807]); } const IfcParse::entity& Ifc4x3::IfcProfileProperties::Class() { return *((IfcParse::entity*)IFC4X3_types[807]); } Ifc4x3::IfcProfileProperties::IfcProfileProperties(IfcEntityInstanceData&& e) : IfcExtendedProperties(std::move(e)) { } -Ifc4x3::IfcProfileProperties::IfcProfileProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3::IfcProperty >::ptr v3_Properties, ::Ifc4x3::IfcProfileDef* v4_ProfileDefinition) : IfcExtendedProperties(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_ProfileDefinition ? v4_ProfileDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcProfileProperties::IfcProfileProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3::IfcProperty >::ptr v3_Properties, ::Ifc4x3::IfcProfileDef* v4_ProfileDefinition) : IfcExtendedProperties(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_ProfileDefinition ? v4_ProfileDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProject @@ -13851,7 +13851,7 @@ Ifc4x3::IfcProfileProperties::IfcProfileProperties(boost::optional< std::string const IfcParse::entity& Ifc4x3::IfcProject::declaration() const { return *((IfcParse::entity*)IFC4X3_types[809]); } const IfcParse::entity& Ifc4x3::IfcProject::Class() { return *((IfcParse::entity*)IFC4X3_types[809]); } Ifc4x3::IfcProject::IfcProject(IfcEntityInstanceData&& e) : IfcContext(std::move(e)) { } -Ifc4x3::IfcProject::IfcProject(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcProject::IfcProject(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProjectLibrary @@ -13859,50 +13859,50 @@ Ifc4x3::IfcProject::IfcProject(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistor const IfcParse::entity& Ifc4x3::IfcProjectLibrary::declaration() const { return *((IfcParse::entity*)IFC4X3_types[814]); } const IfcParse::entity& Ifc4x3::IfcProjectLibrary::Class() { return *((IfcParse::entity*)IFC4X3_types[814]); } Ifc4x3::IfcProjectLibrary::IfcProjectLibrary(IfcEntityInstanceData&& e) : IfcContext(std::move(e)) { } -Ifc4x3::IfcProjectLibrary::IfcProjectLibrary(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcProjectLibrary::IfcProjectLibrary(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProjectOrder -boost::optional< ::Ifc4x3::IfcProjectOrderTypeEnum::Value > Ifc4x3::IfcProjectOrder::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3::IfcProjectOrderTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3::IfcProjectOrderTypeEnum::Value > Ifc4x3::IfcProjectOrder::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3::IfcProjectOrderTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3::IfcProjectOrder::setPredefinedType(boost::optional< ::Ifc4x3::IfcProjectOrderTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3::IfcProjectOrderTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3::IfcProjectOrder::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3::IfcProjectOrder::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3::IfcProjectOrder::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3::IfcProjectOrder::LongDescription() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3::IfcProjectOrder::LongDescription() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3::IfcProjectOrder::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcProjectOrder::declaration() const { return *((IfcParse::entity*)IFC4X3_types[815]); } const IfcParse::entity& Ifc4x3::IfcProjectOrder::Class() { return *((IfcParse::entity*)IFC4X3_types[815]); } Ifc4x3::IfcProjectOrder::IfcProjectOrder(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3::IfcProjectOrder::IfcProjectOrder(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } +Ifc4x3::IfcProjectOrder::IfcProjectOrder(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } // Function implementations for IfcProjectedCRS -boost::optional< std::string > Ifc4x3::IfcProjectedCRS::MapProjection() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3::IfcProjectedCRS::MapProjection() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcProjectedCRS::setMapProjection(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3::IfcProjectedCRS::MapZone() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3::IfcProjectedCRS::MapZone() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3::IfcProjectedCRS::setMapZone(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3::IfcNamedUnit* Ifc4x3::IfcProjectedCRS::MapUnit() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3::IfcNamedUnit>(true); } +::Ifc4x3::IfcNamedUnit* Ifc4x3::IfcProjectedCRS::MapUnit() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3::IfcNamedUnit>(true); } void Ifc4x3::IfcProjectedCRS::setMapUnit(::Ifc4x3::IfcNamedUnit* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3::IfcProjectedCRS::declaration() const { return *((IfcParse::entity*)IFC4X3_types[810]); } const IfcParse::entity& Ifc4x3::IfcProjectedCRS::Class() { return *((IfcParse::entity*)IFC4X3_types[810]); } Ifc4x3::IfcProjectedCRS::IfcProjectedCRS(IfcEntityInstanceData&& e) : IfcCoordinateReferenceSystem(std::move(e)) { } -Ifc4x3::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::IfcNamedUnit* v7_MapUnit) : IfcCoordinateReferenceSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, v7_MapUnit ? v7_MapUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::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::IfcNamedUnit* v7_MapUnit) : IfcCoordinateReferenceSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, v7_MapUnit ? v7_MapUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProjectionElement -boost::optional< ::Ifc4x3::IfcProjectionElementTypeEnum::Value > Ifc4x3::IfcProjectionElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcProjectionElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcProjectionElementTypeEnum::Value > Ifc4x3::IfcProjectionElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcProjectionElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcProjectionElement::setPredefinedType(boost::optional< ::Ifc4x3::IfcProjectionElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcProjectionElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcProjectionElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[812]); } const IfcParse::entity& Ifc4x3::IfcProjectionElement::Class() { return *((IfcParse::entity*)IFC4X3_types[812]); } Ifc4x3::IfcProjectionElement::IfcProjectionElement(IfcEntityInstanceData&& e) : IfcFeatureElementAddition(std::move(e)) { } -Ifc4x3::IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementAddition(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementAddition(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProperty -std::string Ifc4x3::IfcProperty::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3::IfcProperty::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcProperty::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3::IfcProperty::Specification() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3::IfcProperty::Specification() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcProperty::setSpecification(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x3::IfcPropertySet::list::ptr Ifc4x3::IfcProperty::PartOfPset() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[826], 4)->as(); } @@ -13915,7 +13915,7 @@ void Ifc4x3::IfcProperty::setSpecification(boost::optional< std::string > v) { i const IfcParse::entity& Ifc4x3::IfcProperty::declaration() const { return *((IfcParse::entity*)IFC4X3_types[817]); } const IfcParse::entity& Ifc4x3::IfcProperty::Class() { return *((IfcParse::entity*)IFC4X3_types[817]); } Ifc4x3::IfcProperty::IfcProperty(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x3::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std::string > v2_Specification) : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }; populate_derived(); } +Ifc4x3::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std::string > v2_Specification) : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }; populate_derived(); } // Function implementations for IfcPropertyAbstraction @@ -13924,23 +13924,23 @@ Ifc4x3::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std::stri const IfcParse::entity& Ifc4x3::IfcPropertyAbstraction::declaration() const { return *((IfcParse::entity*)IFC4X3_types[818]); } const IfcParse::entity& Ifc4x3::IfcPropertyAbstraction::Class() { return *((IfcParse::entity*)IFC4X3_types[818]); } Ifc4x3::IfcPropertyAbstraction::IfcPropertyAbstraction(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcPropertyAbstraction::IfcPropertyAbstraction() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3::IfcPropertyAbstraction::IfcPropertyAbstraction() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPropertyBoundedValue -::Ifc4x3::IfcValue* Ifc4x3::IfcPropertyBoundedValue::UpperBoundValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcValue>(true); } +::Ifc4x3::IfcValue* Ifc4x3::IfcPropertyBoundedValue::UpperBoundValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcValue>(true); } void Ifc4x3::IfcPropertyBoundedValue::setUpperBoundValue(::Ifc4x3::IfcValue* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3::IfcValue* Ifc4x3::IfcPropertyBoundedValue::LowerBoundValue() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcValue>(true); } +::Ifc4x3::IfcValue* Ifc4x3::IfcPropertyBoundedValue::LowerBoundValue() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcValue>(true); } void Ifc4x3::IfcPropertyBoundedValue::setLowerBoundValue(::Ifc4x3::IfcValue* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3::IfcUnit* Ifc4x3::IfcPropertyBoundedValue::Unit() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcUnit>(true); } +::Ifc4x3::IfcUnit* Ifc4x3::IfcPropertyBoundedValue::Unit() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcUnit>(true); } void Ifc4x3::IfcPropertyBoundedValue::setUnit(::Ifc4x3::IfcUnit* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3::IfcValue* Ifc4x3::IfcPropertyBoundedValue::SetPointValue() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcValue>(true); } +::Ifc4x3::IfcValue* Ifc4x3::IfcPropertyBoundedValue::SetPointValue() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcValue>(true); } void Ifc4x3::IfcPropertyBoundedValue::setSetPointValue(::Ifc4x3::IfcValue* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcPropertyBoundedValue::declaration() const { return *((IfcParse::entity*)IFC4X3_types[819]); } const IfcParse::entity& Ifc4x3::IfcPropertyBoundedValue::Class() { return *((IfcParse::entity*)IFC4X3_types[819]); } Ifc4x3::IfcPropertyBoundedValue::IfcPropertyBoundedValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3::IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name, boost::optional< std::string > v2_Specification, ::Ifc4x3::IfcValue* v3_UpperBoundValue, ::Ifc4x3::IfcValue* v4_LowerBoundValue, ::Ifc4x3::IfcUnit* v5_Unit, ::Ifc4x3::IfcValue* v6_SetPointValue) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, v3_UpperBoundValue ? v3_UpperBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_LowerBoundValue ? v4_LowerBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_Unit ? v5_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_SetPointValue ? v6_SetPointValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name, boost::optional< std::string > v2_Specification, ::Ifc4x3::IfcValue* v3_UpperBoundValue, ::Ifc4x3::IfcValue* v4_LowerBoundValue, ::Ifc4x3::IfcUnit* v5_Unit, ::Ifc4x3::IfcValue* v6_SetPointValue) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, v3_UpperBoundValue ? v3_UpperBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_LowerBoundValue ? v4_LowerBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_Unit ? v5_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_SetPointValue ? v6_SetPointValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyDefinition @@ -13950,81 +13950,81 @@ Ifc4x3::IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name, bo const IfcParse::entity& Ifc4x3::IfcPropertyDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_types[820]); } const IfcParse::entity& Ifc4x3::IfcPropertyDefinition::Class() { return *((IfcParse::entity*)IFC4X3_types[820]); } Ifc4x3::IfcPropertyDefinition::IfcPropertyDefinition(IfcEntityInstanceData&& e) : IfcRoot(std::move(e)) { } -Ifc4x3::IfcPropertyDefinition::IfcPropertyDefinition(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3::IfcPropertyDefinition::IfcPropertyDefinition(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertyDependencyRelationship -::Ifc4x3::IfcProperty* Ifc4x3::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcProperty>(true); } +::Ifc4x3::IfcProperty* Ifc4x3::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcProperty>(true); } void Ifc4x3::IfcPropertyDependencyRelationship::setDependingProperty(::Ifc4x3::IfcProperty* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3::IfcProperty* Ifc4x3::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcProperty>(true); } +::Ifc4x3::IfcProperty* Ifc4x3::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcProperty>(true); } void Ifc4x3::IfcPropertyDependencyRelationship::setDependantProperty(::Ifc4x3::IfcProperty* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3::IfcPropertyDependencyRelationship::Expression() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3::IfcPropertyDependencyRelationship::Expression() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3::IfcPropertyDependencyRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_types[821]); } const IfcParse::entity& Ifc4x3::IfcPropertyDependencyRelationship::Class() { return *((IfcParse::entity*)IFC4X3_types[821]); } Ifc4x3::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcProperty* v3_DependingProperty, ::Ifc4x3::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_DependingProperty ? v3_DependingProperty->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_DependantProperty ? v4_DependantProperty->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } +Ifc4x3::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcProperty* v3_DependingProperty, ::Ifc4x3::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_DependingProperty ? v3_DependingProperty->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_DependantProperty ? v4_DependantProperty->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } // Function implementations for IfcPropertyEnumeratedValue -boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > Ifc4x3::IfcPropertyEnumeratedValue::EnumerationValues() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > Ifc4x3::IfcPropertyEnumeratedValue::EnumerationValues() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3::IfcValue >(); } void Ifc4x3::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } -::Ifc4x3::IfcPropertyEnumeration* Ifc4x3::IfcPropertyEnumeratedValue::EnumerationReference() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcPropertyEnumeration>(true); } +::Ifc4x3::IfcPropertyEnumeration* Ifc4x3::IfcPropertyEnumeratedValue::EnumerationReference() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcPropertyEnumeration>(true); } void Ifc4x3::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3::IfcPropertyEnumeration* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcPropertyEnumeratedValue::declaration() const { return *((IfcParse::entity*)IFC4X3_types[822]); } const IfcParse::entity& Ifc4x3::IfcPropertyEnumeratedValue::Class() { return *((IfcParse::entity*)IFC4X3_types[822]); } Ifc4x3::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_EnumerationValues) {set_attribute_value(2, (*v3_EnumerationValues)->generalize()); }set_attribute_value(3, v4_EnumerationReference ? v4_EnumerationReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_EnumerationValues) {set_attribute_value(2, (*v3_EnumerationValues)->generalize()); }set_attribute_value(3, v4_EnumerationReference ? v4_EnumerationReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyEnumeration -std::string Ifc4x3::IfcPropertyEnumeration::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3::IfcPropertyEnumeration::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcPropertyEnumeration::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3::IfcValue >::ptr Ifc4x3::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3::IfcValue >(); } +aggregate_of< ::Ifc4x3::IfcValue >::ptr Ifc4x3::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3::IfcValue >(); } void Ifc4x3::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x3::IfcValue >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3::IfcUnit* Ifc4x3::IfcPropertyEnumeration::Unit() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcUnit>(true); } +::Ifc4x3::IfcUnit* Ifc4x3::IfcPropertyEnumeration::Unit() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcUnit>(true); } void Ifc4x3::IfcPropertyEnumeration::setUnit(::Ifc4x3::IfcUnit* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcPropertyEnumeration::declaration() const { return *((IfcParse::entity*)IFC4X3_types[823]); } const IfcParse::entity& Ifc4x3::IfcPropertyEnumeration::Class() { return *((IfcParse::entity*)IFC4X3_types[823]); } Ifc4x3::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x3::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3::IfcUnit* v3_Unit) : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_EnumerationValues)->generalize());set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3::IfcUnit* v3_Unit) : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_EnumerationValues)->generalize());set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyListValue -boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > Ifc4x3::IfcPropertyListValue::ListValues() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > Ifc4x3::IfcPropertyListValue::ListValues() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3::IfcValue >(); } void Ifc4x3::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } -::Ifc4x3::IfcUnit* Ifc4x3::IfcPropertyListValue::Unit() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcUnit>(true); } +::Ifc4x3::IfcUnit* Ifc4x3::IfcPropertyListValue::Unit() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcUnit>(true); } void Ifc4x3::IfcPropertyListValue::setUnit(::Ifc4x3::IfcUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcPropertyListValue::declaration() const { return *((IfcParse::entity*)IFC4X3_types[824]); } const IfcParse::entity& Ifc4x3::IfcPropertyListValue::Class() { return *((IfcParse::entity*)IFC4X3_types[824]); } Ifc4x3::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v3_ListValues, ::Ifc4x3::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_ListValues) {set_attribute_value(2, (*v3_ListValues)->generalize()); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v3_ListValues, ::Ifc4x3::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_ListValues) {set_attribute_value(2, (*v3_ListValues)->generalize()); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyReferenceValue -boost::optional< std::string > Ifc4x3::IfcPropertyReferenceValue::UsageName() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3::IfcPropertyReferenceValue::UsageName() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3::IfcObjectReferenceSelect* Ifc4x3::IfcPropertyReferenceValue::PropertyReference() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcObjectReferenceSelect>(true); } +::Ifc4x3::IfcObjectReferenceSelect* Ifc4x3::IfcPropertyReferenceValue::PropertyReference() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcObjectReferenceSelect>(true); } void Ifc4x3::IfcPropertyReferenceValue::setPropertyReference(::Ifc4x3::IfcObjectReferenceSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcPropertyReferenceValue::declaration() const { return *((IfcParse::entity*)IFC4X3_types[825]); } const IfcParse::entity& Ifc4x3::IfcPropertyReferenceValue::Class() { return *((IfcParse::entity*)IFC4X3_types[825]); } Ifc4x3::IfcPropertyReferenceValue::IfcPropertyReferenceValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3::IfcPropertyReferenceValue::IfcPropertyReferenceValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< std::string > v3_UsageName, ::Ifc4x3::IfcObjectReferenceSelect* v4_PropertyReference) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, v4_PropertyReference ? v4_PropertyReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcPropertyReferenceValue::IfcPropertyReferenceValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< std::string > v3_UsageName, ::Ifc4x3::IfcObjectReferenceSelect* v4_PropertyReference) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, v4_PropertyReference ? v4_PropertyReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertySet -aggregate_of< ::Ifc4x3::IfcProperty >::ptr Ifc4x3::IfcPropertySet::HasProperties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3::IfcProperty >(); } +aggregate_of< ::Ifc4x3::IfcProperty >::ptr Ifc4x3::IfcPropertySet::HasProperties() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3::IfcProperty >(); } void Ifc4x3::IfcPropertySet::setHasProperties(aggregate_of< ::Ifc4x3::IfcProperty >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3::IfcPropertySet::declaration() const { return *((IfcParse::entity*)IFC4X3_types[826]); } const IfcParse::entity& Ifc4x3::IfcPropertySet::Class() { return *((IfcParse::entity*)IFC4X3_types[826]); } Ifc4x3::IfcPropertySet::IfcPropertySet(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc4x3::IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcProperty >::ptr v5_HasProperties) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_HasProperties)->generalize());; populate_derived(); } +Ifc4x3::IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcProperty >::ptr v5_HasProperties) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_HasProperties)->generalize());; populate_derived(); } // Function implementations for IfcPropertySetDefinition @@ -14035,14 +14035,14 @@ Ifc4x3::IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, ::Ifc4x3::IfcOwn const IfcParse::entity& Ifc4x3::IfcPropertySetDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_types[827]); } const IfcParse::entity& Ifc4x3::IfcPropertySetDefinition::Class() { return *((IfcParse::entity*)IFC4X3_types[827]); } Ifc4x3::IfcPropertySetDefinition::IfcPropertySetDefinition(IfcEntityInstanceData&& e) : IfcPropertyDefinition(std::move(e)) { } -Ifc4x3::IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3::IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertySetTemplate -boost::optional< ::Ifc4x3::IfcPropertySetTemplateTypeEnum::Value > Ifc4x3::IfcPropertySetTemplate::TemplateType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x3::IfcPropertySetTemplateTypeEnum::FromString(data_.get_attribute_value(4)); } +boost::optional< ::Ifc4x3::IfcPropertySetTemplateTypeEnum::Value > Ifc4x3::IfcPropertySetTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x3::IfcPropertySetTemplateTypeEnum::FromString(get_attribute_value(4)); } void Ifc4x3::IfcPropertySetTemplate::setTemplateType(boost::optional< ::Ifc4x3::IfcPropertySetTemplateTypeEnum::Value > v) { if (v) {set_attribute_value(4, EnumerationReference(&::Ifc4x3::IfcPropertySetTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3::IfcPropertySetTemplate::ApplicableEntity() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3::IfcPropertySetTemplate::ApplicableEntity() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3::IfcPropertySetTemplate::setApplicableEntity(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -aggregate_of< ::Ifc4x3::IfcPropertyTemplate >::ptr Ifc4x3::IfcPropertySetTemplate::HasPropertyTemplates() const { aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3::IfcPropertyTemplate >(); } +aggregate_of< ::Ifc4x3::IfcPropertyTemplate >::ptr Ifc4x3::IfcPropertySetTemplate::HasPropertyTemplates() const { aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3::IfcPropertyTemplate >(); } void Ifc4x3::IfcPropertySetTemplate::setHasPropertyTemplates(aggregate_of< ::Ifc4x3::IfcPropertyTemplate >::ptr v) { set_attribute_value(6, (v)->generalize());if constexpr (false)unset_attribute_value(6); } ::Ifc4x3::IfcRelDefinesByTemplate::list::ptr Ifc4x3::IfcPropertySetTemplate::Defines() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[935], 5)->as(); } @@ -14050,39 +14050,39 @@ void Ifc4x3::IfcPropertySetTemplate::setHasPropertyTemplates(aggregate_of< ::Ifc const IfcParse::entity& Ifc4x3::IfcPropertySetTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_types[830]); } const IfcParse::entity& Ifc4x3::IfcPropertySetTemplate::Class() { return *((IfcParse::entity*)IFC4X3_types[830]); } Ifc4x3::IfcPropertySetTemplate::IfcPropertySetTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplateDefinition(std::move(e)) { } -Ifc4x3::IfcPropertySetTemplate::IfcPropertySetTemplate(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x3::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_ApplicableEntity, aggregate_of< ::Ifc4x3::IfcPropertyTemplate >::ptr v7_HasPropertyTemplates) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x3::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, (v7_HasPropertyTemplates)->generalize());; populate_derived(); } +Ifc4x3::IfcPropertySetTemplate::IfcPropertySetTemplate(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x3::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_ApplicableEntity, aggregate_of< ::Ifc4x3::IfcPropertyTemplate >::ptr v7_HasPropertyTemplates) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x3::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, (v7_HasPropertyTemplates)->generalize());; populate_derived(); } // Function implementations for IfcPropertySingleValue -::Ifc4x3::IfcValue* Ifc4x3::IfcPropertySingleValue::NominalValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcValue>(true); } +::Ifc4x3::IfcValue* Ifc4x3::IfcPropertySingleValue::NominalValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcValue>(true); } void Ifc4x3::IfcPropertySingleValue::setNominalValue(::Ifc4x3::IfcValue* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3::IfcUnit* Ifc4x3::IfcPropertySingleValue::Unit() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcUnit>(true); } +::Ifc4x3::IfcUnit* Ifc4x3::IfcPropertySingleValue::Unit() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcUnit>(true); } void Ifc4x3::IfcPropertySingleValue::setUnit(::Ifc4x3::IfcUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcPropertySingleValue::declaration() const { return *((IfcParse::entity*)IFC4X3_types[832]); } const IfcParse::entity& Ifc4x3::IfcPropertySingleValue::Class() { return *((IfcParse::entity*)IFC4X3_types[832]); } Ifc4x3::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Specification, ::Ifc4x3::IfcValue* v3_NominalValue, ::Ifc4x3::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, v3_NominalValue ? v3_NominalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Specification, ::Ifc4x3::IfcValue* v3_NominalValue, ::Ifc4x3::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, v3_NominalValue ? v3_NominalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyTableValue -boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > Ifc4x3::IfcPropertyTableValue::DefiningValues() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > Ifc4x3::IfcPropertyTableValue::DefiningValues() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3::IfcValue >(); } void Ifc4x3::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } -boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > Ifc4x3::IfcPropertyTableValue::DefinedValues() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > Ifc4x3::IfcPropertyTableValue::DefinedValues() const { if(get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3::IfcValue >(); } void Ifc4x3::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v) { if (v) {set_attribute_value(3, (*v)->generalize());} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3::IfcPropertyTableValue::Expression() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3::IfcPropertyTableValue::Expression() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3::IfcUnit* Ifc4x3::IfcPropertyTableValue::DefiningUnit() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcUnit>(true); } +::Ifc4x3::IfcUnit* Ifc4x3::IfcPropertyTableValue::DefiningUnit() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcUnit>(true); } void Ifc4x3::IfcPropertyTableValue::setDefiningUnit(::Ifc4x3::IfcUnit* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3::IfcUnit* Ifc4x3::IfcPropertyTableValue::DefinedUnit() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3::IfcUnit>(true); } +::Ifc4x3::IfcUnit* Ifc4x3::IfcPropertyTableValue::DefinedUnit() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3::IfcUnit>(true); } void Ifc4x3::IfcPropertyTableValue::setDefinedUnit(::Ifc4x3::IfcUnit* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< ::Ifc4x3::IfcCurveInterpolationEnum::Value > Ifc4x3::IfcPropertyTableValue::CurveInterpolation() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3::IfcCurveInterpolationEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3::IfcCurveInterpolationEnum::Value > Ifc4x3::IfcPropertyTableValue::CurveInterpolation() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3::IfcCurveInterpolationEnum::FromString(get_attribute_value(7)); } void Ifc4x3::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc4x3::IfcCurveInterpolationEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3::IfcCurveInterpolationEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3::IfcPropertyTableValue::declaration() const { return *((IfcParse::entity*)IFC4X3_types[833]); } const IfcParse::entity& Ifc4x3::IfcPropertyTableValue::Class() { return *((IfcParse::entity*)IFC4X3_types[833]); } Ifc4x3::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3::IfcUnit* v6_DefiningUnit, ::Ifc4x3::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_DefiningValues) {set_attribute_value(2, (*v3_DefiningValues)->generalize()); } if (v4_DefinedValues) {set_attribute_value(3, (*v4_DefinedValues)->generalize()); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, v6_DefiningUnit ? v6_DefiningUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_DefinedUnit ? v7_DefinedUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_CurveInterpolation) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); }; populate_derived(); } +Ifc4x3::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3::IfcUnit* v6_DefiningUnit, ::Ifc4x3::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_DefiningValues) {set_attribute_value(2, (*v3_DefiningValues)->generalize()); } if (v4_DefinedValues) {set_attribute_value(3, (*v4_DefinedValues)->generalize()); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, v6_DefiningUnit ? v6_DefiningUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_DefinedUnit ? v7_DefinedUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_CurveInterpolation) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); }; populate_derived(); } // Function implementations for IfcPropertyTemplate @@ -14092,7 +14092,7 @@ Ifc4x3::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost: const IfcParse::entity& Ifc4x3::IfcPropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_types[834]); } const IfcParse::entity& Ifc4x3::IfcPropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X3_types[834]); } Ifc4x3::IfcPropertyTemplate::IfcPropertyTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplateDefinition(std::move(e)) { } -Ifc4x3::IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3::IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertyTemplateDefinition @@ -14100,115 +14100,115 @@ Ifc4x3::IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3::IfcPropertyTemplateDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_types[835]); } const IfcParse::entity& Ifc4x3::IfcPropertyTemplateDefinition::Class() { return *((IfcParse::entity*)IFC4X3_types[835]); } Ifc4x3::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(IfcEntityInstanceData&& e) : IfcPropertyDefinition(std::move(e)) { } -Ifc4x3::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcProtectiveDevice -boost::optional< ::Ifc4x3::IfcProtectiveDeviceTypeEnum::Value > Ifc4x3::IfcProtectiveDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcProtectiveDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcProtectiveDeviceTypeEnum::Value > Ifc4x3::IfcProtectiveDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcProtectiveDevice::setPredefinedType(boost::optional< ::Ifc4x3::IfcProtectiveDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcProtectiveDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcProtectiveDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_types[836]); } const IfcParse::entity& Ifc4x3::IfcProtectiveDevice::Class() { return *((IfcParse::entity*)IFC4X3_types[836]); } Ifc4x3::IfcProtectiveDevice::IfcProtectiveDevice(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3::IfcProtectiveDevice::IfcProtectiveDevice(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcProtectiveDevice::IfcProtectiveDevice(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProtectiveDeviceTrippingUnit -boost::optional< ::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x3::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x3::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcProtectiveDeviceTrippingUnit::setPredefinedType(boost::optional< ::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcProtectiveDeviceTrippingUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_types[837]); } const IfcParse::entity& Ifc4x3::IfcProtectiveDeviceTrippingUnit::Class() { return *((IfcParse::entity*)IFC4X3_types[837]); } Ifc4x3::IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3::IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProtectiveDeviceTrippingUnitType -::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcProtectiveDeviceTrippingUnitType::setPredefinedType(::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcProtectiveDeviceTrippingUnitType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[838]); } const IfcParse::entity& Ifc4x3::IfcProtectiveDeviceTrippingUnitType::Class() { return *((IfcParse::entity*)IFC4X3_types[838]); } Ifc4x3::IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3::IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcProtectiveDeviceType -::Ifc4x3::IfcProtectiveDeviceTypeEnum::Value Ifc4x3::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4x3::IfcProtectiveDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcProtectiveDeviceTypeEnum::Value Ifc4x3::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4x3::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcProtectiveDeviceType::setPredefinedType(::Ifc4x3::IfcProtectiveDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcProtectiveDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcProtectiveDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[840]); } const IfcParse::entity& Ifc4x3::IfcProtectiveDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_types[840]); } Ifc4x3::IfcProtectiveDeviceType::IfcProtectiveDeviceType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3::IfcProtectiveDeviceType::IfcProtectiveDeviceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcProtectiveDeviceType::IfcProtectiveDeviceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPump -boost::optional< ::Ifc4x3::IfcPumpTypeEnum::Value > Ifc4x3::IfcPump::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcPumpTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcPumpTypeEnum::Value > Ifc4x3::IfcPump::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcPumpTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcPump::setPredefinedType(boost::optional< ::Ifc4x3::IfcPumpTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcPumpTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcPump::declaration() const { return *((IfcParse::entity*)IFC4X3_types[842]); } const IfcParse::entity& Ifc4x3::IfcPump::Class() { return *((IfcParse::entity*)IFC4X3_types[842]); } Ifc4x3::IfcPump::IfcPump(IfcEntityInstanceData&& e) : IfcFlowMovingDevice(std::move(e)) { } -Ifc4x3::IfcPump::IfcPump(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcPumpTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcPump::IfcPump(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcPumpTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPumpType -::Ifc4x3::IfcPumpTypeEnum::Value Ifc4x3::IfcPumpType::PredefinedType() const { return ::Ifc4x3::IfcPumpTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcPumpTypeEnum::Value Ifc4x3::IfcPumpType::PredefinedType() const { return ::Ifc4x3::IfcPumpTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcPumpType::setPredefinedType(::Ifc4x3::IfcPumpTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcPumpTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcPumpType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[843]); } const IfcParse::entity& Ifc4x3::IfcPumpType::Class() { return *((IfcParse::entity*)IFC4X3_types[843]); } Ifc4x3::IfcPumpType::IfcPumpType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(e)) { } -Ifc4x3::IfcPumpType::IfcPumpType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPumpTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcPumpType::IfcPumpType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcPumpTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcQuantityArea -double Ifc4x3::IfcQuantityArea::AreaValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3::IfcQuantityArea::AreaValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3::IfcQuantityArea::setAreaValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3::IfcQuantityArea::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3::IfcQuantityArea::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcQuantityArea::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3::IfcQuantityArea::declaration() const { return *((IfcParse::entity*)IFC4X3_types[845]); } const IfcParse::entity& Ifc4x3::IfcQuantityArea::Class() { return *((IfcParse::entity*)IFC4X3_types[845]); } Ifc4x3::IfcQuantityArea::IfcQuantityArea(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3::IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit* v3_Unit, double v4_AreaValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3::IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit* v3_Unit, double v4_AreaValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityCount -int Ifc4x3::IfcQuantityCount::CountValue() const { int v = data_.get_attribute_value(3); return v; } +int Ifc4x3::IfcQuantityCount::CountValue() const { int v = get_attribute_value(3); return v; } void Ifc4x3::IfcQuantityCount::setCountValue(int v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3::IfcQuantityCount::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3::IfcQuantityCount::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcQuantityCount::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3::IfcQuantityCount::declaration() const { return *((IfcParse::entity*)IFC4X3_types[846]); } const IfcParse::entity& Ifc4x3::IfcQuantityCount::Class() { return *((IfcParse::entity*)IFC4X3_types[846]); } Ifc4x3::IfcQuantityCount::IfcQuantityCount(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3::IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit* v3_Unit, int v4_CountValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3::IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit* v3_Unit, int v4_CountValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityLength -double Ifc4x3::IfcQuantityLength::LengthValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3::IfcQuantityLength::LengthValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3::IfcQuantityLength::setLengthValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3::IfcQuantityLength::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3::IfcQuantityLength::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcQuantityLength::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3::IfcQuantityLength::declaration() const { return *((IfcParse::entity*)IFC4X3_types[847]); } const IfcParse::entity& Ifc4x3::IfcQuantityLength::Class() { return *((IfcParse::entity*)IFC4X3_types[847]); } Ifc4x3::IfcQuantityLength::IfcQuantityLength(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3::IfcQuantityLength::IfcQuantityLength(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit* v3_Unit, double v4_LengthValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3::IfcQuantityLength::IfcQuantityLength(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit* v3_Unit, double v4_LengthValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityNumber -double Ifc4x3::IfcQuantityNumber::NumberValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3::IfcQuantityNumber::NumberValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3::IfcQuantityNumber::setNumberValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3::IfcQuantityNumber::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3::IfcQuantityNumber::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcQuantityNumber::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3::IfcQuantityNumber::declaration() const { return *((IfcParse::entity*)IFC4X3_types[848]); } const IfcParse::entity& Ifc4x3::IfcQuantityNumber::Class() { return *((IfcParse::entity*)IFC4X3_types[848]); } Ifc4x3::IfcQuantityNumber::IfcQuantityNumber(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3::IfcQuantityNumber::IfcQuantityNumber(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit* v3_Unit, double v4_NumberValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_NumberValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3::IfcQuantityNumber::IfcQuantityNumber(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit* v3_Unit, double v4_NumberValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_NumberValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantitySet @@ -14216,381 +14216,381 @@ Ifc4x3::IfcQuantityNumber::IfcQuantityNumber(std::string v1_Name, boost::optiona const IfcParse::entity& Ifc4x3::IfcQuantitySet::declaration() const { return *((IfcParse::entity*)IFC4X3_types[849]); } const IfcParse::entity& Ifc4x3::IfcQuantitySet::Class() { return *((IfcParse::entity*)IFC4X3_types[849]); } Ifc4x3::IfcQuantitySet::IfcQuantitySet(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc4x3::IfcQuantitySet::IfcQuantitySet(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3::IfcQuantitySet::IfcQuantitySet(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcQuantityTime -double Ifc4x3::IfcQuantityTime::TimeValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3::IfcQuantityTime::TimeValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3::IfcQuantityTime::setTimeValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3::IfcQuantityTime::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3::IfcQuantityTime::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcQuantityTime::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3::IfcQuantityTime::declaration() const { return *((IfcParse::entity*)IFC4X3_types[850]); } const IfcParse::entity& Ifc4x3::IfcQuantityTime::Class() { return *((IfcParse::entity*)IFC4X3_types[850]); } Ifc4x3::IfcQuantityTime::IfcQuantityTime(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3::IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit* v3_Unit, double v4_TimeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3::IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit* v3_Unit, double v4_TimeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityVolume -double Ifc4x3::IfcQuantityVolume::VolumeValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3::IfcQuantityVolume::VolumeValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3::IfcQuantityVolume::setVolumeValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3::IfcQuantityVolume::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3::IfcQuantityVolume::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcQuantityVolume::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3::IfcQuantityVolume::declaration() const { return *((IfcParse::entity*)IFC4X3_types[851]); } const IfcParse::entity& Ifc4x3::IfcQuantityVolume::Class() { return *((IfcParse::entity*)IFC4X3_types[851]); } Ifc4x3::IfcQuantityVolume::IfcQuantityVolume(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3::IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit* v3_Unit, double v4_VolumeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3::IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit* v3_Unit, double v4_VolumeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityWeight -double Ifc4x3::IfcQuantityWeight::WeightValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3::IfcQuantityWeight::WeightValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3::IfcQuantityWeight::setWeightValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3::IfcQuantityWeight::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3::IfcQuantityWeight::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcQuantityWeight::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3::IfcQuantityWeight::declaration() const { return *((IfcParse::entity*)IFC4X3_types[852]); } const IfcParse::entity& Ifc4x3::IfcQuantityWeight::Class() { return *((IfcParse::entity*)IFC4X3_types[852]); } Ifc4x3::IfcQuantityWeight::IfcQuantityWeight(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3::IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit* v3_Unit, double v4_WeightValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3::IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcNamedUnit* v3_Unit, double v4_WeightValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcRail -boost::optional< ::Ifc4x3::IfcRailTypeEnum::Value > Ifc4x3::IfcRail::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcRailTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcRailTypeEnum::Value > Ifc4x3::IfcRail::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcRailTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcRail::setPredefinedType(boost::optional< ::Ifc4x3::IfcRailTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcRailTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcRail::declaration() const { return *((IfcParse::entity*)IFC4X3_types[854]); } const IfcParse::entity& Ifc4x3::IfcRail::Class() { return *((IfcParse::entity*)IFC4X3_types[854]); } Ifc4x3::IfcRail::IfcRail(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3::IfcRail::IfcRail(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcRailTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcRailTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcRail::IfcRail(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcRailTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcRailTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRailType -::Ifc4x3::IfcRailTypeEnum::Value Ifc4x3::IfcRailType::PredefinedType() const { return ::Ifc4x3::IfcRailTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcRailTypeEnum::Value Ifc4x3::IfcRailType::PredefinedType() const { return ::Ifc4x3::IfcRailTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcRailType::setPredefinedType(::Ifc4x3::IfcRailTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcRailTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcRailType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[858]); } const IfcParse::entity& Ifc4x3::IfcRailType::Class() { return *((IfcParse::entity*)IFC4X3_types[858]); } Ifc4x3::IfcRailType::IfcRailType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3::IfcRailType::IfcRailType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcRailTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcRailTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcRailType::IfcRailType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcRailTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcRailTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRailing -boost::optional< ::Ifc4x3::IfcRailingTypeEnum::Value > Ifc4x3::IfcRailing::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcRailingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcRailingTypeEnum::Value > Ifc4x3::IfcRailing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcRailingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcRailing::setPredefinedType(boost::optional< ::Ifc4x3::IfcRailingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcRailingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcRailing::declaration() const { return *((IfcParse::entity*)IFC4X3_types[855]); } const IfcParse::entity& Ifc4x3::IfcRailing::Class() { return *((IfcParse::entity*)IFC4X3_types[855]); } Ifc4x3::IfcRailing::IfcRailing(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3::IfcRailing::IfcRailing(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcRailingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcRailing::IfcRailing(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcRailingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRailingType -::Ifc4x3::IfcRailingTypeEnum::Value Ifc4x3::IfcRailingType::PredefinedType() const { return ::Ifc4x3::IfcRailingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcRailingTypeEnum::Value Ifc4x3::IfcRailingType::PredefinedType() const { return ::Ifc4x3::IfcRailingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcRailingType::setPredefinedType(::Ifc4x3::IfcRailingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcRailingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcRailingType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[856]); } const IfcParse::entity& Ifc4x3::IfcRailingType::Class() { return *((IfcParse::entity*)IFC4X3_types[856]); } Ifc4x3::IfcRailingType::IfcRailingType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3::IfcRailingType::IfcRailingType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcRailingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcRailingType::IfcRailingType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcRailingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRailway -boost::optional< ::Ifc4x3::IfcRailwayTypeEnum::Value > Ifc4x3::IfcRailway::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3::IfcRailwayTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3::IfcRailwayTypeEnum::Value > Ifc4x3::IfcRailway::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3::IfcRailwayTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcRailway::setPredefinedType(boost::optional< ::Ifc4x3::IfcRailwayTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcRailwayTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3::IfcRailway::declaration() const { return *((IfcParse::entity*)IFC4X3_types[860]); } const IfcParse::entity& Ifc4x3::IfcRailway::Class() { return *((IfcParse::entity*)IFC4X3_types[860]); } Ifc4x3::IfcRailway::IfcRailway(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x3::IfcRailway::IfcRailway(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3::IfcRailwayTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcRailwayTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcRailway::IfcRailway(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3::IfcRailwayTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcRailwayTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRailwayPart -boost::optional< ::Ifc4x3::IfcRailwayPartTypeEnum::Value > Ifc4x3::IfcRailwayPart::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcRailwayPartTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3::IfcRailwayPartTypeEnum::Value > Ifc4x3::IfcRailwayPart::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcRailwayPartTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3::IfcRailwayPart::setPredefinedType(boost::optional< ::Ifc4x3::IfcRailwayPartTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3::IfcRailwayPartTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3::IfcRailwayPart::declaration() const { return *((IfcParse::entity*)IFC4X3_types[861]); } const IfcParse::entity& Ifc4x3::IfcRailwayPart::Class() { return *((IfcParse::entity*)IFC4X3_types[861]); } Ifc4x3::IfcRailwayPart::IfcRailwayPart(IfcEntityInstanceData&& e) : IfcFacilityPart(std::move(e)) { } -Ifc4x3::IfcRailwayPart::IfcRailwayPart(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3::IfcRailwayPartTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcRailwayPartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcRailwayPart::IfcRailwayPart(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3::IfcRailwayPartTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcRailwayPartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRamp -boost::optional< ::Ifc4x3::IfcRampTypeEnum::Value > Ifc4x3::IfcRamp::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcRampTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcRampTypeEnum::Value > Ifc4x3::IfcRamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcRampTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcRamp::setPredefinedType(boost::optional< ::Ifc4x3::IfcRampTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcRampTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcRamp::declaration() const { return *((IfcParse::entity*)IFC4X3_types[864]); } const IfcParse::entity& Ifc4x3::IfcRamp::Class() { return *((IfcParse::entity*)IFC4X3_types[864]); } Ifc4x3::IfcRamp::IfcRamp(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3::IfcRamp::IfcRamp(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcRampTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcRamp::IfcRamp(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcRampTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRampFlight -boost::optional< ::Ifc4x3::IfcRampFlightTypeEnum::Value > Ifc4x3::IfcRampFlight::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcRampFlightTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcRampFlightTypeEnum::Value > Ifc4x3::IfcRampFlight::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcRampFlightTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcRampFlight::setPredefinedType(boost::optional< ::Ifc4x3::IfcRampFlightTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcRampFlightTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcRampFlight::declaration() const { return *((IfcParse::entity*)IFC4X3_types[865]); } const IfcParse::entity& Ifc4x3::IfcRampFlight::Class() { return *((IfcParse::entity*)IFC4X3_types[865]); } Ifc4x3::IfcRampFlight::IfcRampFlight(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3::IfcRampFlight::IfcRampFlight(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcRampFlightTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcRampFlight::IfcRampFlight(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcRampFlightTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRampFlightType -::Ifc4x3::IfcRampFlightTypeEnum::Value Ifc4x3::IfcRampFlightType::PredefinedType() const { return ::Ifc4x3::IfcRampFlightTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcRampFlightTypeEnum::Value Ifc4x3::IfcRampFlightType::PredefinedType() const { return ::Ifc4x3::IfcRampFlightTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcRampFlightType::setPredefinedType(::Ifc4x3::IfcRampFlightTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcRampFlightTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcRampFlightType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[866]); } const IfcParse::entity& Ifc4x3::IfcRampFlightType::Class() { return *((IfcParse::entity*)IFC4X3_types[866]); } Ifc4x3::IfcRampFlightType::IfcRampFlightType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3::IfcRampFlightType::IfcRampFlightType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcRampFlightTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcRampFlightType::IfcRampFlightType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcRampFlightTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRampType -::Ifc4x3::IfcRampTypeEnum::Value Ifc4x3::IfcRampType::PredefinedType() const { return ::Ifc4x3::IfcRampTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcRampTypeEnum::Value Ifc4x3::IfcRampType::PredefinedType() const { return ::Ifc4x3::IfcRampTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcRampType::setPredefinedType(::Ifc4x3::IfcRampTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcRampTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcRampType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[868]); } const IfcParse::entity& Ifc4x3::IfcRampType::Class() { return *((IfcParse::entity*)IFC4X3_types[868]); } Ifc4x3::IfcRampType::IfcRampType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3::IfcRampType::IfcRampType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcRampTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcRampType::IfcRampType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcRampTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRationalBSplineCurveWithKnots -std::vector< double > /*[2:?]*/ Ifc4x3::IfcRationalBSplineCurveWithKnots::WeightsData() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< double > /*[2:?]*/ Ifc4x3::IfcRationalBSplineCurveWithKnots::WeightsData() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3::IfcRationalBSplineCurveWithKnots::setWeightsData(std::vector< double > /*[2:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3::IfcRationalBSplineCurveWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X3_types[871]); } const IfcParse::entity& Ifc4x3::IfcRationalBSplineCurveWithKnots::Class() { return *((IfcParse::entity*)IFC4X3_types[871]); } Ifc4x3::IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(IfcEntityInstanceData&& e) : IfcBSplineCurveWithKnots(std::move(e)) { } -Ifc4x3::IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x3::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3::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::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) : IfcBSplineCurveWithKnots(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData));; populate_derived(); } +Ifc4x3::IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x3::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3::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::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) : IfcBSplineCurveWithKnots(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData));; populate_derived(); } // Function implementations for IfcRationalBSplineSurfaceWithKnots -std::vector< std::vector< double > > Ifc4x3::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { std::vector< std::vector< double > > v = data_.get_attribute_value(12); return v; } +std::vector< std::vector< double > > Ifc4x3::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { std::vector< std::vector< double > > v = get_attribute_value(12); return v; } void Ifc4x3::IfcRationalBSplineSurfaceWithKnots::setWeightsData(std::vector< std::vector< double > > v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } const IfcParse::entity& Ifc4x3::IfcRationalBSplineSurfaceWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X3_types[872]); } const IfcParse::entity& Ifc4x3::IfcRationalBSplineSurfaceWithKnots::Class() { return *((IfcParse::entity*)IFC4X3_types[872]); } Ifc4x3::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(IfcEntityInstanceData&& e) : IfcBSplineSurfaceWithKnots(std::move(e)) { } -Ifc4x3::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3::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::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) : IfcBSplineSurfaceWithKnots(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x3::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData));; populate_derived(); } +Ifc4x3::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3::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::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) : IfcBSplineSurfaceWithKnots(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x3::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData));; populate_derived(); } // Function implementations for IfcRectangleHollowProfileDef -double Ifc4x3::IfcRectangleHollowProfileDef::WallThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3::IfcRectangleHollowProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3::IfcRectangleHollowProfileDef::setWallThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3::IfcRectangleHollowProfileDef::InnerFilletRadius() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3::IfcRectangleHollowProfileDef::InnerFilletRadius() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3::IfcRectangleHollowProfileDef::setInnerFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3::IfcRectangleHollowProfileDef::OuterFilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3::IfcRectangleHollowProfileDef::OuterFilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3::IfcRectangleHollowProfileDef::setOuterFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3::IfcRectangleHollowProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_types[874]); } const IfcParse::entity& Ifc4x3::IfcRectangleHollowProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_types[874]); } Ifc4x3::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(IfcEntityInstanceData&& e) : IfcRectangleProfileDef(std::move(e)) { } -Ifc4x3::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, boost::optional< double > v7_InnerFilletRadius, boost::optional< double > v8_OuterFilletRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; populate_derived(); } +Ifc4x3::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, boost::optional< double > v7_InnerFilletRadius, boost::optional< double > v8_OuterFilletRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; populate_derived(); } // Function implementations for IfcRectangleProfileDef -double Ifc4x3::IfcRectangleProfileDef::XDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3::IfcRectangleProfileDef::XDim() const { double v = get_attribute_value(3); return v; } void Ifc4x3::IfcRectangleProfileDef::setXDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3::IfcRectangleProfileDef::YDim() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3::IfcRectangleProfileDef::YDim() const { double v = get_attribute_value(4); return v; } void Ifc4x3::IfcRectangleProfileDef::setYDim(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3::IfcRectangleProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_types[875]); } const IfcParse::entity& Ifc4x3::IfcRectangleProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_types[875]); } Ifc4x3::IfcRectangleProfileDef::IfcRectangleProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3::IfcRectangleProfileDef::IfcRectangleProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; populate_derived(); } +Ifc4x3::IfcRectangleProfileDef::IfcRectangleProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; populate_derived(); } // Function implementations for IfcRectangularPyramid -double Ifc4x3::IfcRectangularPyramid::XLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3::IfcRectangularPyramid::XLength() const { double v = get_attribute_value(1); return v; } void Ifc4x3::IfcRectangularPyramid::setXLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3::IfcRectangularPyramid::YLength() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3::IfcRectangularPyramid::YLength() const { double v = get_attribute_value(2); return v; } void Ifc4x3::IfcRectangularPyramid::setYLength(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3::IfcRectangularPyramid::Height() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3::IfcRectangularPyramid::Height() const { double v = get_attribute_value(3); return v; } void Ifc4x3::IfcRectangularPyramid::setHeight(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcRectangularPyramid::declaration() const { return *((IfcParse::entity*)IFC4X3_types[876]); } const IfcParse::entity& Ifc4x3::IfcRectangularPyramid::Class() { return *((IfcParse::entity*)IFC4X3_types[876]); } Ifc4x3::IfcRectangularPyramid::IfcRectangularPyramid(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3::IfcRectangularPyramid::IfcRectangularPyramid(::Ifc4x3::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; populate_derived(); } +Ifc4x3::IfcRectangularPyramid::IfcRectangularPyramid(::Ifc4x3::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; populate_derived(); } // Function implementations for IfcRectangularTrimmedSurface -::Ifc4x3::IfcSurface* Ifc4x3::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcSurface>(true); } +::Ifc4x3::IfcSurface* Ifc4x3::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcSurface>(true); } void Ifc4x3::IfcRectangularTrimmedSurface::setBasisSurface(::Ifc4x3::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3::IfcRectangularTrimmedSurface::U1() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3::IfcRectangularTrimmedSurface::U1() const { double v = get_attribute_value(1); return v; } void Ifc4x3::IfcRectangularTrimmedSurface::setU1(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3::IfcRectangularTrimmedSurface::V1() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3::IfcRectangularTrimmedSurface::V1() const { double v = get_attribute_value(2); return v; } void Ifc4x3::IfcRectangularTrimmedSurface::setV1(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3::IfcRectangularTrimmedSurface::U2() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3::IfcRectangularTrimmedSurface::U2() const { double v = get_attribute_value(3); return v; } void Ifc4x3::IfcRectangularTrimmedSurface::setU2(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3::IfcRectangularTrimmedSurface::V2() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3::IfcRectangularTrimmedSurface::V2() const { double v = get_attribute_value(4); return v; } void Ifc4x3::IfcRectangularTrimmedSurface::setV2(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -bool Ifc4x3::IfcRectangularTrimmedSurface::Usense() const { bool v = data_.get_attribute_value(5); return v; } +bool Ifc4x3::IfcRectangularTrimmedSurface::Usense() const { bool v = get_attribute_value(5); return v; } void Ifc4x3::IfcRectangularTrimmedSurface::setUsense(bool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -bool Ifc4x3::IfcRectangularTrimmedSurface::Vsense() const { bool v = data_.get_attribute_value(6); return v; } +bool Ifc4x3::IfcRectangularTrimmedSurface::Vsense() const { bool v = get_attribute_value(6); return v; } void Ifc4x3::IfcRectangularTrimmedSurface::setVsense(bool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3::IfcRectangularTrimmedSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_types[877]); } const IfcParse::entity& Ifc4x3::IfcRectangularTrimmedSurface::Class() { return *((IfcParse::entity*)IFC4X3_types[877]); } Ifc4x3::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x3::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(::Ifc4x3::IfcSurface* v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; populate_derived(); } +Ifc4x3::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(::Ifc4x3::IfcSurface* v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; populate_derived(); } // Function implementations for IfcRecurrencePattern -::Ifc4x3::IfcRecurrenceTypeEnum::Value Ifc4x3::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x3::IfcRecurrenceTypeEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3::IfcRecurrenceTypeEnum::Value Ifc4x3::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x3::IfcRecurrenceTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x3::IfcRecurrencePattern::setRecurrenceType(::Ifc4x3::IfcRecurrenceTypeEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3::IfcRecurrenceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3::IfcRecurrencePattern::DayComponent() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3::IfcRecurrencePattern::DayComponent() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3::IfcRecurrencePattern::setDayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3::IfcRecurrencePattern::WeekdayComponent() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3::IfcRecurrencePattern::WeekdayComponent() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(2); return v; } void Ifc4x3::IfcRecurrencePattern::setWeekdayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3::IfcRecurrencePattern::MonthComponent() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3::IfcRecurrencePattern::MonthComponent() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3::IfcRecurrencePattern::setMonthComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< int > Ifc4x3::IfcRecurrencePattern::Position() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x3::IfcRecurrencePattern::Position() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x3::IfcRecurrencePattern::setPosition(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< int > Ifc4x3::IfcRecurrencePattern::Interval() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } int v = data_.get_attribute_value(5); return v; } +boost::optional< int > Ifc4x3::IfcRecurrencePattern::Interval() const { if(get_attribute_value(5).isNull()) { return boost::none; } int v = get_attribute_value(5); return v; } void Ifc4x3::IfcRecurrencePattern::setInterval(boost::optional< int > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< int > Ifc4x3::IfcRecurrencePattern::Occurrences() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } int v = data_.get_attribute_value(6); return v; } +boost::optional< int > Ifc4x3::IfcRecurrencePattern::Occurrences() const { if(get_attribute_value(6).isNull()) { return boost::none; } int v = get_attribute_value(6); return v; } void Ifc4x3::IfcRecurrencePattern::setOccurrences(boost::optional< int > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3::IfcTimePeriod >::ptr > Ifc4x3::IfcRecurrencePattern::TimePeriods() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3::IfcTimePeriod >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcTimePeriod >::ptr > Ifc4x3::IfcRecurrencePattern::TimePeriods() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3::IfcTimePeriod >(); } void Ifc4x3::IfcRecurrencePattern::setTimePeriods(boost::optional< aggregate_of< ::Ifc4x3::IfcTimePeriod >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3::IfcRecurrencePattern::declaration() const { return *((IfcParse::entity*)IFC4X3_types[878]); } const IfcParse::entity& Ifc4x3::IfcRecurrencePattern::Class() { return *((IfcParse::entity*)IFC4X3_types[878]); } Ifc4x3::IfcRecurrencePattern::IfcRecurrencePattern(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcRecurrencePattern::IfcRecurrencePattern(::Ifc4x3::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::IfcTimePeriod >::ptr > v8_TimePeriods) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, (*v8_TimePeriods)->generalize()); }; populate_derived(); } +Ifc4x3::IfcRecurrencePattern::IfcRecurrencePattern(::Ifc4x3::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::IfcTimePeriod >::ptr > v8_TimePeriods) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, (*v8_TimePeriods)->generalize()); }; populate_derived(); } // Function implementations for IfcReference -boost::optional< std::string > Ifc4x3::IfcReference::TypeIdentifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3::IfcReference::TypeIdentifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcReference::setTypeIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3::IfcReference::AttributeIdentifier() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3::IfcReference::AttributeIdentifier() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcReference::setAttributeIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3::IfcReference::InstanceName() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3::IfcReference::InstanceName() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3::IfcReference::setInstanceName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3::IfcReference::ListPositions() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3::IfcReference::ListPositions() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3::IfcReference::setListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3::IfcReference* Ifc4x3::IfcReference::InnerReference() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcReference>(true); } +::Ifc4x3::IfcReference* Ifc4x3::IfcReference::InnerReference() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcReference>(true); } void Ifc4x3::IfcReference::setInnerReference(::Ifc4x3::IfcReference* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3::IfcReference::declaration() const { return *((IfcParse::entity*)IFC4X3_types[880]); } const IfcParse::entity& Ifc4x3::IfcReference::Class() { return *((IfcParse::entity*)IFC4X3_types[880]); } Ifc4x3::IfcReference::IfcReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::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::IfcReference* v5_InnerReference) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, v5_InnerReference ? v5_InnerReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::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::IfcReference* v5_InnerReference) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, v5_InnerReference ? v5_InnerReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcReferent -boost::optional< ::Ifc4x3::IfcReferentTypeEnum::Value > Ifc4x3::IfcReferent::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3::IfcReferentTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3::IfcReferentTypeEnum::Value > Ifc4x3::IfcReferent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3::IfcReferentTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3::IfcReferent::setPredefinedType(boost::optional< ::Ifc4x3::IfcReferentTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3::IfcReferentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3::IfcReferent::declaration() const { return *((IfcParse::entity*)IFC4X3_types[881]); } const IfcParse::entity& Ifc4x3::IfcReferent::Class() { return *((IfcParse::entity*)IFC4X3_types[881]); } Ifc4x3::IfcReferent::IfcReferent(IfcEntityInstanceData&& e) : IfcPositioningElement(std::move(e)) { } -Ifc4x3::IfcReferent::IfcReferent(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3::IfcReferentTypeEnum::Value > v8_PredefinedType) : IfcPositioningElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcReferent::IfcReferent(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3::IfcReferentTypeEnum::Value > v8_PredefinedType) : IfcPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRegularTimeSeries -double Ifc4x3::IfcRegularTimeSeries::TimeStep() const { double v = data_.get_attribute_value(8); return v; } +double Ifc4x3::IfcRegularTimeSeries::TimeStep() const { double v = get_attribute_value(8); return v; } void Ifc4x3::IfcRegularTimeSeries::setTimeStep(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -aggregate_of< ::Ifc4x3::IfcTimeSeriesValue >::ptr Ifc4x3::IfcRegularTimeSeries::Values() const { aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3::IfcTimeSeriesValue >(); } +aggregate_of< ::Ifc4x3::IfcTimeSeriesValue >::ptr Ifc4x3::IfcRegularTimeSeries::Values() const { aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3::IfcTimeSeriesValue >(); } void Ifc4x3::IfcRegularTimeSeries::setValues(aggregate_of< ::Ifc4x3::IfcTimeSeriesValue >::ptr v) { set_attribute_value(9, (v)->generalize());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcRegularTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X3_types[884]); } const IfcParse::entity& Ifc4x3::IfcRegularTimeSeries::Class() { return *((IfcParse::entity*)IFC4X3_types[884]); } Ifc4x3::IfcRegularTimeSeries::IfcRegularTimeSeries(IfcEntityInstanceData&& e) : IfcTimeSeries(std::move(e)) { } -Ifc4x3::IfcRegularTimeSeries::IfcRegularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3::IfcUnit* v8_Unit, double v9_TimeStep, aggregate_of< ::Ifc4x3::IfcTimeSeriesValue >::ptr v10_Values) : IfcTimeSeries(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, (v10_Values)->generalize());; populate_derived(); } +Ifc4x3::IfcRegularTimeSeries::IfcRegularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3::IfcUnit* v8_Unit, double v9_TimeStep, aggregate_of< ::Ifc4x3::IfcTimeSeriesValue >::ptr v10_Values) : IfcTimeSeries(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, (v10_Values)->generalize());; populate_derived(); } // Function implementations for IfcReinforcedSoil -boost::optional< ::Ifc4x3::IfcReinforcedSoilTypeEnum::Value > Ifc4x3::IfcReinforcedSoil::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcReinforcedSoilTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcReinforcedSoilTypeEnum::Value > Ifc4x3::IfcReinforcedSoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcReinforcedSoilTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcReinforcedSoil::setPredefinedType(boost::optional< ::Ifc4x3::IfcReinforcedSoilTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcReinforcedSoilTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcReinforcedSoil::declaration() const { return *((IfcParse::entity*)IFC4X3_types[885]); } const IfcParse::entity& Ifc4x3::IfcReinforcedSoil::Class() { return *((IfcParse::entity*)IFC4X3_types[885]); } Ifc4x3::IfcReinforcedSoil::IfcReinforcedSoil(IfcEntityInstanceData&& e) : IfcEarthworksElement(std::move(e)) { } -Ifc4x3::IfcReinforcedSoil::IfcReinforcedSoil(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType) : IfcEarthworksElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcReinforcedSoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcReinforcedSoil::IfcReinforcedSoil(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType) : IfcEarthworksElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcReinforcedSoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcReinforcementBarProperties -double Ifc4x3::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = get_attribute_value(0); return v; } void Ifc4x3::IfcReinforcementBarProperties::setTotalCrossSectionArea(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x3::IfcReinforcementBarProperties::SteelGrade() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3::IfcReinforcementBarProperties::SteelGrade() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcReinforcementBarProperties::setSteelGrade(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3::IfcReinforcementBarProperties::BarSurface() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3::IfcReinforcingBarSurfaceEnum::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3::IfcReinforcementBarProperties::BarSurface() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3::IfcReinforcingBarSurfaceEnum::FromString(get_attribute_value(2)); } void Ifc4x3::IfcReinforcementBarProperties::setBarSurface(boost::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc4x3::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3::IfcReinforcementBarProperties::EffectiveDepth() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3::IfcReinforcementBarProperties::EffectiveDepth() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3::IfcReinforcementBarProperties::setEffectiveDepth(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3::IfcReinforcementBarProperties::NominalBarDiameter() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3::IfcReinforcementBarProperties::NominalBarDiameter() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3::IfcReinforcementBarProperties::setNominalBarDiameter(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< int > Ifc4x3::IfcReinforcementBarProperties::BarCount() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } int v = data_.get_attribute_value(5); return v; } +boost::optional< int > Ifc4x3::IfcReinforcementBarProperties::BarCount() const { if(get_attribute_value(5).isNull()) { return boost::none; } int v = get_attribute_value(5); return v; } void Ifc4x3::IfcReinforcementBarProperties::setBarCount(boost::optional< int > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3::IfcReinforcementBarProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_types[887]); } const IfcParse::entity& Ifc4x3::IfcReinforcementBarProperties::Class() { return *((IfcParse::entity*)IFC4X3_types[887]); } Ifc4x3::IfcReinforcementBarProperties::IfcReinforcementBarProperties(IfcEntityInstanceData&& e) : IfcPreDefinedProperties(std::move(e)) { } -Ifc4x3::IfcReinforcementBarProperties::IfcReinforcementBarProperties(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, boost::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, boost::optional< double > v4_EffectiveDepth, boost::optional< double > v5_NominalBarDiameter, boost::optional< int > v6_BarCount) : IfcPreDefinedProperties(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; populate_derived(); } +Ifc4x3::IfcReinforcementBarProperties::IfcReinforcementBarProperties(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, boost::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, boost::optional< double > v4_EffectiveDepth, boost::optional< double > v5_NominalBarDiameter, boost::optional< int > v6_BarCount) : IfcPreDefinedProperties(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; populate_derived(); } // Function implementations for IfcReinforcementDefinitionProperties -boost::optional< std::string > Ifc4x3::IfcReinforcementDefinitionProperties::DefinitionType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3::IfcReinforcementDefinitionProperties::DefinitionType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcReinforcementDefinitionProperties::setDefinitionType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -aggregate_of< ::Ifc4x3::IfcSectionReinforcementProperties >::ptr Ifc4x3::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3::IfcSectionReinforcementProperties >(); } +aggregate_of< ::Ifc4x3::IfcSectionReinforcementProperties >::ptr Ifc4x3::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3::IfcSectionReinforcementProperties >(); } void Ifc4x3::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(aggregate_of< ::Ifc4x3::IfcSectionReinforcementProperties >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcReinforcementDefinitionProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_types[888]); } const IfcParse::entity& Ifc4x3::IfcReinforcementDefinitionProperties::Class() { return *((IfcParse::entity*)IFC4X3_types[888]); } Ifc4x3::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_DefinitionType, aggregate_of< ::Ifc4x3::IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, (v6_ReinforcementSectionDefinitions)->generalize());; populate_derived(); } +Ifc4x3::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_DefinitionType, aggregate_of< ::Ifc4x3::IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, (v6_ReinforcementSectionDefinitions)->generalize());; populate_derived(); } // Function implementations for IfcReinforcingBar -boost::optional< double > Ifc4x3::IfcReinforcingBar::NominalDiameter() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3::IfcReinforcingBar::NominalDiameter() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3::IfcReinforcingBar::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3::IfcReinforcingBar::CrossSectionArea() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3::IfcReinforcingBar::CrossSectionArea() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3::IfcReinforcingBar::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3::IfcReinforcingBar::BarLength() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3::IfcReinforcingBar::BarLength() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3::IfcReinforcingBar::setBarLength(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< ::Ifc4x3::IfcReinforcingBarTypeEnum::Value > Ifc4x3::IfcReinforcingBar::PredefinedType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3::IfcReinforcingBarTypeEnum::FromString(data_.get_attribute_value(12)); } +boost::optional< ::Ifc4x3::IfcReinforcingBarTypeEnum::Value > Ifc4x3::IfcReinforcingBar::PredefinedType() const { if(get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3::IfcReinforcingBarTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x3::IfcReinforcingBar::setPredefinedType(boost::optional< ::Ifc4x3::IfcReinforcingBarTypeEnum::Value > v) { if (v) {set_attribute_value(12, EnumerationReference(&::Ifc4x3::IfcReinforcingBarTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } -boost::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3::IfcReinforcingBar::BarSurface() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3::IfcReinforcingBarSurfaceEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3::IfcReinforcingBar::BarSurface() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3::IfcReinforcingBarSurfaceEnum::FromString(get_attribute_value(13)); } void Ifc4x3::IfcReinforcingBar::setBarSurface(boost::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x3::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } const IfcParse::entity& Ifc4x3::IfcReinforcingBar::declaration() const { return *((IfcParse::entity*)IFC4X3_types[889]); } const IfcParse::entity& Ifc4x3::IfcReinforcingBar::Class() { return *((IfcParse::entity*)IFC4X3_types[889]); } Ifc4x3::IfcReinforcingBar::IfcReinforcingBar(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x3::IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< double > v10_NominalDiameter, boost::optional< double > v11_CrossSectionArea, boost::optional< double > v12_BarLength, boost::optional< ::Ifc4x3::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, boost::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; populate_derived(); } +Ifc4x3::IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< double > v10_NominalDiameter, boost::optional< double > v11_CrossSectionArea, boost::optional< double > v12_BarLength, boost::optional< ::Ifc4x3::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, boost::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; populate_derived(); } // Function implementations for IfcReinforcingBarType -::Ifc4x3::IfcReinforcingBarTypeEnum::Value Ifc4x3::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x3::IfcReinforcingBarTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcReinforcingBarTypeEnum::Value Ifc4x3::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x3::IfcReinforcingBarTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcReinforcingBarType::setPredefinedType(::Ifc4x3::IfcReinforcingBarTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcReinforcingBarTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3::IfcReinforcingBarType::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3::IfcReinforcingBarType::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3::IfcReinforcingBarType::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3::IfcReinforcingBarType::CrossSectionArea() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3::IfcReinforcingBarType::CrossSectionArea() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3::IfcReinforcingBarType::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3::IfcReinforcingBarType::BarLength() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3::IfcReinforcingBarType::BarLength() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3::IfcReinforcingBarType::setBarLength(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3::IfcReinforcingBarType::BarSurface() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3::IfcReinforcingBarSurfaceEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3::IfcReinforcingBarType::BarSurface() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3::IfcReinforcingBarSurfaceEnum::FromString(get_attribute_value(13)); } void Ifc4x3::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x3::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x3::IfcReinforcingBarType::BendingShapeCode() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x3::IfcReinforcingBarType::BendingShapeCode() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x3::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< aggregate_of< ::Ifc4x3::IfcBendingParameterSelect >::ptr > Ifc4x3::IfcReinforcingBarType::BendingParameters() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(15); return es->as< ::Ifc4x3::IfcBendingParameterSelect >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcBendingParameterSelect >::ptr > Ifc4x3::IfcReinforcingBarType::BendingParameters() const { if(get_attribute_value(15).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(15); return es->as< ::Ifc4x3::IfcBendingParameterSelect >(); } void Ifc4x3::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3::IfcBendingParameterSelect >::ptr > v) { if (v) {set_attribute_value(15, (*v)->generalize());} else {unset_attribute_value(15);} } const IfcParse::entity& Ifc4x3::IfcReinforcingBarType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[892]); } const IfcParse::entity& Ifc4x3::IfcReinforcingBarType::Class() { return *((IfcParse::entity*)IFC4X3_types[892]); } Ifc4x3::IfcReinforcingBarType::IfcReinforcingBarType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x3::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, (*v16_BendingParameters)->generalize()); }; populate_derived(); } +Ifc4x3::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, (*v16_BendingParameters)->generalize()); }; populate_derived(); } // Function implementations for IfcReinforcingElement -boost::optional< std::string > Ifc4x3::IfcReinforcingElement::SteelGrade() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3::IfcReinforcingElement::SteelGrade() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3::IfcReinforcingElement::setSteelGrade(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcReinforcingElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[894]); } const IfcParse::entity& Ifc4x3::IfcReinforcingElement::Class() { return *((IfcParse::entity*)IFC4X3_types[894]); } Ifc4x3::IfcReinforcingElement::IfcReinforcingElement(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3::IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; populate_derived(); } +Ifc4x3::IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; populate_derived(); } // Function implementations for IfcReinforcingElementType @@ -14598,255 +14598,255 @@ Ifc4x3::IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x3::IfcReinforcingElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[895]); } const IfcParse::entity& Ifc4x3::IfcReinforcingElementType::Class() { return *((IfcParse::entity*)IFC4X3_types[895]); } Ifc4x3::IfcReinforcingElementType::IfcReinforcingElementType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3::IfcReinforcingElementType::IfcReinforcingElementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3::IfcReinforcingElementType::IfcReinforcingElementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcReinforcingMesh -boost::optional< double > Ifc4x3::IfcReinforcingMesh::MeshLength() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3::IfcReinforcingMesh::MeshLength() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3::IfcReinforcingMesh::setMeshLength(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3::IfcReinforcingMesh::MeshWidth() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3::IfcReinforcingMesh::MeshWidth() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3::IfcReinforcingMesh::setMeshWidth(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3::IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3::IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3::IfcReinforcingMesh::setLongitudinalBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3::IfcReinforcingMesh::TransverseBarNominalDiameter() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3::IfcReinforcingMesh::TransverseBarNominalDiameter() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3::IfcReinforcingMesh::setTransverseBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3::IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3::IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3::IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3::IfcReinforcingMesh::TransverseBarCrossSectionArea() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3::IfcReinforcingMesh::TransverseBarCrossSectionArea() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3::IfcReinforcingMesh::setTransverseBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x3::IfcReinforcingMesh::LongitudinalBarSpacing() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3::IfcReinforcingMesh::LongitudinalBarSpacing() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3::IfcReinforcingMesh::setLongitudinalBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3::IfcReinforcingMesh::TransverseBarSpacing() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3::IfcReinforcingMesh::TransverseBarSpacing() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3::IfcReinforcingMesh::setTransverseBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< ::Ifc4x3::IfcReinforcingMeshTypeEnum::Value > Ifc4x3::IfcReinforcingMesh::PredefinedType() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } return ::Ifc4x3::IfcReinforcingMeshTypeEnum::FromString(data_.get_attribute_value(17)); } +boost::optional< ::Ifc4x3::IfcReinforcingMeshTypeEnum::Value > Ifc4x3::IfcReinforcingMesh::PredefinedType() const { if(get_attribute_value(17).isNull()) { return boost::none; } return ::Ifc4x3::IfcReinforcingMeshTypeEnum::FromString(get_attribute_value(17)); } void Ifc4x3::IfcReinforcingMesh::setPredefinedType(boost::optional< ::Ifc4x3::IfcReinforcingMeshTypeEnum::Value > v) { if (v) {set_attribute_value(17, EnumerationReference(&::Ifc4x3::IfcReinforcingMeshTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(17);} } const IfcParse::entity& Ifc4x3::IfcReinforcingMesh::declaration() const { return *((IfcParse::entity*)IFC4X3_types[896]); } const IfcParse::entity& Ifc4x3::IfcReinforcingMesh::Class() { return *((IfcParse::entity*)IFC4X3_types[896]); } Ifc4x3::IfcReinforcingMesh::IfcReinforcingMesh(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x3::IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, 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::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(18))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (EnumerationReference(&::Ifc4x3::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, 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::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(18))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (EnumerationReference(&::Ifc4x3::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); }; populate_derived(); } // Function implementations for IfcReinforcingMeshType -::Ifc4x3::IfcReinforcingMeshTypeEnum::Value Ifc4x3::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x3::IfcReinforcingMeshTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcReinforcingMeshTypeEnum::Value Ifc4x3::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x3::IfcReinforcingMeshTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcReinforcingMeshType::setPredefinedType(::Ifc4x3::IfcReinforcingMeshTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcReinforcingMeshTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3::IfcReinforcingMeshType::MeshLength() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3::IfcReinforcingMeshType::MeshLength() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3::IfcReinforcingMeshType::setMeshLength(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3::IfcReinforcingMeshType::MeshWidth() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3::IfcReinforcingMeshType::MeshWidth() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3::IfcReinforcingMeshType::setMeshWidth(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3::IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3::IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3::IfcReinforcingMeshType::setLongitudinalBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3::IfcReinforcingMeshType::TransverseBarNominalDiameter() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3::IfcReinforcingMeshType::TransverseBarNominalDiameter() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3::IfcReinforcingMeshType::setTransverseBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3::IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3::IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3::IfcReinforcingMeshType::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x3::IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3::IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3::IfcReinforcingMeshType::setTransverseBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3::IfcReinforcingMeshType::LongitudinalBarSpacing() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3::IfcReinforcingMeshType::LongitudinalBarSpacing() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3::IfcReinforcingMeshType::setLongitudinalBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< double > Ifc4x3::IfcReinforcingMeshType::TransverseBarSpacing() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } double v = data_.get_attribute_value(17); return v; } +boost::optional< double > Ifc4x3::IfcReinforcingMeshType::TransverseBarSpacing() const { if(get_attribute_value(17).isNull()) { return boost::none; } double v = get_attribute_value(17); return v; } void Ifc4x3::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } -boost::optional< std::string > Ifc4x3::IfcReinforcingMeshType::BendingShapeCode() const { if(data_.get_attribute_value(18).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(18); return v; } +boost::optional< std::string > Ifc4x3::IfcReinforcingMeshType::BendingShapeCode() const { if(get_attribute_value(18).isNull()) { return boost::none; } std::string v = get_attribute_value(18); return v; } void Ifc4x3::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { if (v) {set_attribute_value(18, *v);} else {unset_attribute_value(18);} } -boost::optional< aggregate_of< ::Ifc4x3::IfcBendingParameterSelect >::ptr > Ifc4x3::IfcReinforcingMeshType::BendingParameters() const { if(data_.get_attribute_value(19).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(19); return es->as< ::Ifc4x3::IfcBendingParameterSelect >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcBendingParameterSelect >::ptr > Ifc4x3::IfcReinforcingMeshType::BendingParameters() const { if(get_attribute_value(19).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(19); return es->as< ::Ifc4x3::IfcBendingParameterSelect >(); } void Ifc4x3::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3::IfcBendingParameterSelect >::ptr > v) { if (v) {set_attribute_value(19, (*v)->generalize());} else {unset_attribute_value(19);} } const IfcParse::entity& Ifc4x3::IfcReinforcingMeshType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[897]); } const IfcParse::entity& Ifc4x3::IfcReinforcingMeshType::Class() { return *((IfcParse::entity*)IFC4X3_types[897]); } Ifc4x3::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x3::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(20))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, (*v20_BendingParameters)->generalize()); }; populate_derived(); } +Ifc4x3::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(20))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, (*v20_BendingParameters)->generalize()); }; populate_derived(); } // Function implementations for IfcRelAdheresToElement -::Ifc4x3::IfcElement* Ifc4x3::IfcRelAdheresToElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcElement>(true); } +::Ifc4x3::IfcElement* Ifc4x3::IfcRelAdheresToElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcElement>(true); } void Ifc4x3::IfcRelAdheresToElement::setRelatingElement(::Ifc4x3::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3::IfcSurfaceFeature >::ptr Ifc4x3::IfcRelAdheresToElement::RelatedSurfaceFeatures() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3::IfcSurfaceFeature >(); } +aggregate_of< ::Ifc4x3::IfcSurfaceFeature >::ptr Ifc4x3::IfcRelAdheresToElement::RelatedSurfaceFeatures() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3::IfcSurfaceFeature >(); } void Ifc4x3::IfcRelAdheresToElement::setRelatedSurfaceFeatures(aggregate_of< ::Ifc4x3::IfcSurfaceFeature >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcRelAdheresToElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[899]); } const IfcParse::entity& Ifc4x3::IfcRelAdheresToElement::Class() { return *((IfcParse::entity*)IFC4X3_types[899]); } Ifc4x3::IfcRelAdheresToElement::IfcRelAdheresToElement(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x3::IfcRelAdheresToElement::IfcRelAdheresToElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcElement* v5_RelatingElement, aggregate_of< ::Ifc4x3::IfcSurfaceFeature >::ptr v6_RelatedSurfaceFeatures) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedSurfaceFeatures)->generalize());; populate_derived(); } +Ifc4x3::IfcRelAdheresToElement::IfcRelAdheresToElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcElement* v5_RelatingElement, aggregate_of< ::Ifc4x3::IfcSurfaceFeature >::ptr v6_RelatedSurfaceFeatures) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedSurfaceFeatures)->generalize());; populate_derived(); } // Function implementations for IfcRelAggregates -::Ifc4x3::IfcObjectDefinition* Ifc4x3::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcObjectDefinition>(true); } +::Ifc4x3::IfcObjectDefinition* Ifc4x3::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcObjectDefinition>(true); } void Ifc4x3::IfcRelAggregates::setRelatingObject(::Ifc4x3::IfcObjectDefinition* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr Ifc4x3::IfcRelAggregates::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr Ifc4x3::IfcRelAggregates::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3::IfcObjectDefinition >(); } void Ifc4x3::IfcRelAggregates::setRelatedObjects(aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcRelAggregates::declaration() const { return *((IfcParse::entity*)IFC4X3_types[900]); } const IfcParse::entity& Ifc4x3::IfcRelAggregates::Class() { return *((IfcParse::entity*)IFC4X3_types[900]); } Ifc4x3::IfcRelAggregates::IfcRelAggregates(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x3::IfcRelAggregates::IfcRelAggregates(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } +Ifc4x3::IfcRelAggregates::IfcRelAggregates(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelAssigns -aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr Ifc4x3::IfcRelAssigns::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr Ifc4x3::IfcRelAssigns::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3::IfcObjectDefinition >(); } void Ifc4x3::IfcRelAssigns::setRelatedObjects(aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -boost::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > Ifc4x3::IfcRelAssigns::RelatedObjectsType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3::IfcObjectTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > Ifc4x3::IfcRelAssigns::RelatedObjectsType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3::IfcObjectTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3::IfcRelAssigns::setRelatedObjectsType(boost::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3::IfcObjectTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3::IfcRelAssigns::declaration() const { return *((IfcParse::entity*)IFC4X3_types[901]); } const IfcParse::entity& Ifc4x3::IfcRelAssigns::Class() { return *((IfcParse::entity*)IFC4X3_types[901]); } Ifc4x3::IfcRelAssigns::IfcRelAssigns(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3::IfcRelAssigns::IfcRelAssigns(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) : IfcRelationship(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }; populate_derived(); } +Ifc4x3::IfcRelAssigns::IfcRelAssigns(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }; populate_derived(); } // Function implementations for IfcRelAssignsToActor -::Ifc4x3::IfcActor* Ifc4x3::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3::IfcActor>(true); } +::Ifc4x3::IfcActor* Ifc4x3::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3::IfcActor>(true); } void Ifc4x3::IfcRelAssignsToActor::setRelatingActor(::Ifc4x3::IfcActor* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3::IfcActorRole* Ifc4x3::IfcRelAssignsToActor::ActingRole() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3::IfcActorRole>(true); } +::Ifc4x3::IfcActorRole* Ifc4x3::IfcRelAssignsToActor::ActingRole() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3::IfcActorRole>(true); } void Ifc4x3::IfcRelAssignsToActor::setActingRole(::Ifc4x3::IfcActorRole* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3::IfcRelAssignsToActor::declaration() const { return *((IfcParse::entity*)IFC4X3_types[902]); } const IfcParse::entity& Ifc4x3::IfcRelAssignsToActor::Class() { return *((IfcParse::entity*)IFC4X3_types[902]); } Ifc4x3::IfcRelAssignsToActor::IfcRelAssignsToActor(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3::IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcActor* v7_RelatingActor, ::Ifc4x3::IfcActorRole* v8_ActingRole) : IfcRelAssigns(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingActor ? v7_RelatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_ActingRole ? v8_ActingRole->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcActor* v7_RelatingActor, ::Ifc4x3::IfcActorRole* v8_ActingRole) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingActor ? v7_RelatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_ActingRole ? v8_ActingRole->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToControl -::Ifc4x3::IfcControl* Ifc4x3::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3::IfcControl>(true); } +::Ifc4x3::IfcControl* Ifc4x3::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3::IfcControl>(true); } void Ifc4x3::IfcRelAssignsToControl::setRelatingControl(::Ifc4x3::IfcControl* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3::IfcRelAssignsToControl::declaration() const { return *((IfcParse::entity*)IFC4X3_types[903]); } const IfcParse::entity& Ifc4x3::IfcRelAssignsToControl::Class() { return *((IfcParse::entity*)IFC4X3_types[903]); } Ifc4x3::IfcRelAssignsToControl::IfcRelAssignsToControl(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3::IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcControl* v7_RelatingControl) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingControl ? v7_RelatingControl->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcControl* v7_RelatingControl) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingControl ? v7_RelatingControl->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToGroup -::Ifc4x3::IfcGroup* Ifc4x3::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3::IfcGroup>(true); } +::Ifc4x3::IfcGroup* Ifc4x3::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3::IfcGroup>(true); } void Ifc4x3::IfcRelAssignsToGroup::setRelatingGroup(::Ifc4x3::IfcGroup* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3::IfcRelAssignsToGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_types[904]); } const IfcParse::entity& Ifc4x3::IfcRelAssignsToGroup::Class() { return *((IfcParse::entity*)IFC4X3_types[904]); } Ifc4x3::IfcRelAssignsToGroup::IfcRelAssignsToGroup(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3::IfcRelAssignsToGroup::IfcRelAssignsToGroup(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcGroup* v7_RelatingGroup) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcRelAssignsToGroup::IfcRelAssignsToGroup(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcGroup* v7_RelatingGroup) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToGroupByFactor -double Ifc4x3::IfcRelAssignsToGroupByFactor::Factor() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x3::IfcRelAssignsToGroupByFactor::Factor() const { double v = get_attribute_value(7); return v; } void Ifc4x3::IfcRelAssignsToGroupByFactor::setFactor(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3::IfcRelAssignsToGroupByFactor::declaration() const { return *((IfcParse::entity*)IFC4X3_types[905]); } const IfcParse::entity& Ifc4x3::IfcRelAssignsToGroupByFactor::Class() { return *((IfcParse::entity*)IFC4X3_types[905]); } Ifc4x3::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(IfcEntityInstanceData&& e) : IfcRelAssignsToGroup(std::move(e)) { } -Ifc4x3::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcGroup* v7_RelatingGroup, double v8_Factor) : IfcRelAssignsToGroup(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_Factor));; populate_derived(); } +Ifc4x3::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcGroup* v7_RelatingGroup, double v8_Factor) : IfcRelAssignsToGroup(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_Factor));; populate_derived(); } // Function implementations for IfcRelAssignsToProcess -::Ifc4x3::IfcProcessSelect* Ifc4x3::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3::IfcProcessSelect>(true); } +::Ifc4x3::IfcProcessSelect* Ifc4x3::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3::IfcProcessSelect>(true); } void Ifc4x3::IfcRelAssignsToProcess::setRelatingProcess(::Ifc4x3::IfcProcessSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3::IfcMeasureWithUnit* Ifc4x3::IfcRelAssignsToProcess::QuantityInProcess() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3::IfcMeasureWithUnit>(true); } +::Ifc4x3::IfcMeasureWithUnit* Ifc4x3::IfcRelAssignsToProcess::QuantityInProcess() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3::IfcMeasureWithUnit>(true); } void Ifc4x3::IfcRelAssignsToProcess::setQuantityInProcess(::Ifc4x3::IfcMeasureWithUnit* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3::IfcRelAssignsToProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_types[906]); } const IfcParse::entity& Ifc4x3::IfcRelAssignsToProcess::Class() { return *((IfcParse::entity*)IFC4X3_types[906]); } Ifc4x3::IfcRelAssignsToProcess::IfcRelAssignsToProcess(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3::IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcProcessSelect* v7_RelatingProcess, ::Ifc4x3::IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProcess ? v7_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_QuantityInProcess ? v8_QuantityInProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcProcessSelect* v7_RelatingProcess, ::Ifc4x3::IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProcess ? v7_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_QuantityInProcess ? v8_QuantityInProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToProduct -::Ifc4x3::IfcProductSelect* Ifc4x3::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3::IfcProductSelect>(true); } +::Ifc4x3::IfcProductSelect* Ifc4x3::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3::IfcProductSelect>(true); } void Ifc4x3::IfcRelAssignsToProduct::setRelatingProduct(::Ifc4x3::IfcProductSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3::IfcRelAssignsToProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_types[907]); } const IfcParse::entity& Ifc4x3::IfcRelAssignsToProduct::Class() { return *((IfcParse::entity*)IFC4X3_types[907]); } Ifc4x3::IfcRelAssignsToProduct::IfcRelAssignsToProduct(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3::IfcRelAssignsToProduct::IfcRelAssignsToProduct(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcProductSelect* v7_RelatingProduct) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProduct ? v7_RelatingProduct->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcRelAssignsToProduct::IfcRelAssignsToProduct(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcProductSelect* v7_RelatingProduct) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProduct ? v7_RelatingProduct->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToResource -::Ifc4x3::IfcResourceSelect* Ifc4x3::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3::IfcResourceSelect>(true); } +::Ifc4x3::IfcResourceSelect* Ifc4x3::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3::IfcResourceSelect>(true); } void Ifc4x3::IfcRelAssignsToResource::setRelatingResource(::Ifc4x3::IfcResourceSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3::IfcRelAssignsToResource::declaration() const { return *((IfcParse::entity*)IFC4X3_types[908]); } const IfcParse::entity& Ifc4x3::IfcRelAssignsToResource::Class() { return *((IfcParse::entity*)IFC4X3_types[908]); } Ifc4x3::IfcRelAssignsToResource::IfcRelAssignsToResource(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingResource ? v7_RelatingResource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingResource ? v7_RelatingResource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociates -aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr Ifc4x3::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3::IfcDefinitionSelect >(); } +aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr Ifc4x3::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3::IfcDefinitionSelect >(); } void Ifc4x3::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3::IfcRelAssociates::declaration() const { return *((IfcParse::entity*)IFC4X3_types[909]); } const IfcParse::entity& Ifc4x3::IfcRelAssociates::Class() { return *((IfcParse::entity*)IFC4X3_types[909]); } Ifc4x3::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());; populate_derived(); } +Ifc4x3::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelAssociatesApproval -::Ifc4x3::IfcApproval* Ifc4x3::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcApproval>(true); } +::Ifc4x3::IfcApproval* Ifc4x3::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcApproval>(true); } void Ifc4x3::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4x3::IfcApproval* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcRelAssociatesApproval::declaration() const { return *((IfcParse::entity*)IFC4X3_types[910]); } const IfcParse::entity& Ifc4x3::IfcRelAssociatesApproval::Class() { return *((IfcParse::entity*)IFC4X3_types[910]); } Ifc4x3::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcApproval* v6_RelatingApproval) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingApproval ? v6_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcApproval* v6_RelatingApproval) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingApproval ? v6_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesClassification -::Ifc4x3::IfcClassificationSelect* Ifc4x3::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcClassificationSelect>(true); } +::Ifc4x3::IfcClassificationSelect* Ifc4x3::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcClassificationSelect>(true); } void Ifc4x3::IfcRelAssociatesClassification::setRelatingClassification(::Ifc4x3::IfcClassificationSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcRelAssociatesClassification::declaration() const { return *((IfcParse::entity*)IFC4X3_types[911]); } const IfcParse::entity& Ifc4x3::IfcRelAssociatesClassification::Class() { return *((IfcParse::entity*)IFC4X3_types[911]); } Ifc4x3::IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingClassification ? v6_RelatingClassification->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingClassification ? v6_RelatingClassification->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesConstraint -boost::optional< std::string > Ifc4x3::IfcRelAssociatesConstraint::Intent() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3::IfcRelAssociatesConstraint::Intent() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3::IfcRelAssociatesConstraint::setIntent(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3::IfcConstraint* Ifc4x3::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3::IfcConstraint>(true); } +::Ifc4x3::IfcConstraint* Ifc4x3::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3::IfcConstraint>(true); } void Ifc4x3::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x3::IfcConstraint* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3::IfcRelAssociatesConstraint::declaration() const { return *((IfcParse::entity*)IFC4X3_types[912]); } const IfcParse::entity& Ifc4x3::IfcRelAssociatesConstraint::Class() { return *((IfcParse::entity*)IFC4X3_types[912]); } Ifc4x3::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, v7_RelatingConstraint ? v7_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, v7_RelatingConstraint ? v7_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesDocument -::Ifc4x3::IfcDocumentSelect* Ifc4x3::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcDocumentSelect>(true); } +::Ifc4x3::IfcDocumentSelect* Ifc4x3::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcDocumentSelect>(true); } void Ifc4x3::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4x3::IfcDocumentSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcRelAssociatesDocument::declaration() const { return *((IfcParse::entity*)IFC4X3_types[913]); } const IfcParse::entity& Ifc4x3::IfcRelAssociatesDocument::Class() { return *((IfcParse::entity*)IFC4X3_types[913]); } Ifc4x3::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingDocument ? v6_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingDocument ? v6_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesLibrary -::Ifc4x3::IfcLibrarySelect* Ifc4x3::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcLibrarySelect>(true); } +::Ifc4x3::IfcLibrarySelect* Ifc4x3::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcLibrarySelect>(true); } void Ifc4x3::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4x3::IfcLibrarySelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcRelAssociatesLibrary::declaration() const { return *((IfcParse::entity*)IFC4X3_types[914]); } const IfcParse::entity& Ifc4x3::IfcRelAssociatesLibrary::Class() { return *((IfcParse::entity*)IFC4X3_types[914]); } Ifc4x3::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingLibrary ? v6_RelatingLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingLibrary ? v6_RelatingLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesMaterial -::Ifc4x3::IfcMaterialSelect* Ifc4x3::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcMaterialSelect>(true); } +::Ifc4x3::IfcMaterialSelect* Ifc4x3::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcMaterialSelect>(true); } void Ifc4x3::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4x3::IfcMaterialSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcRelAssociatesMaterial::declaration() const { return *((IfcParse::entity*)IFC4X3_types[915]); } const IfcParse::entity& Ifc4x3::IfcRelAssociatesMaterial::Class() { return *((IfcParse::entity*)IFC4X3_types[915]); } Ifc4x3::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingMaterial ? v6_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingMaterial ? v6_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesProfileDef -::Ifc4x3::IfcProfileDef* Ifc4x3::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcProfileDef>(true); } +::Ifc4x3::IfcProfileDef* Ifc4x3::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcProfileDef>(true); } void Ifc4x3::IfcRelAssociatesProfileDef::setRelatingProfileDef(::Ifc4x3::IfcProfileDef* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcRelAssociatesProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_types[916]); } const IfcParse::entity& Ifc4x3::IfcRelAssociatesProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_types[916]); } Ifc4x3::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingProfileDef ? v6_RelatingProfileDef->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingProfileDef ? v6_RelatingProfileDef->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnects @@ -14854,165 +14854,165 @@ Ifc4x3::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_Gl const IfcParse::entity& Ifc4x3::IfcRelConnects::declaration() const { return *((IfcParse::entity*)IFC4X3_types[918]); } const IfcParse::entity& Ifc4x3::IfcRelConnects::Class() { return *((IfcParse::entity*)IFC4X3_types[918]); } Ifc4x3::IfcRelConnects::IfcRelConnects(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3::IfcRelConnects::IfcRelConnects(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3::IfcRelConnects::IfcRelConnects(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRelConnectsElements -::Ifc4x3::IfcConnectionGeometry* Ifc4x3::IfcRelConnectsElements::ConnectionGeometry() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcConnectionGeometry>(true); } +::Ifc4x3::IfcConnectionGeometry* Ifc4x3::IfcRelConnectsElements::ConnectionGeometry() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcConnectionGeometry>(true); } void Ifc4x3::IfcRelConnectsElements::setConnectionGeometry(::Ifc4x3::IfcConnectionGeometry* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3::IfcElement* Ifc4x3::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcElement>(true); } +::Ifc4x3::IfcElement* Ifc4x3::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcElement>(true); } void Ifc4x3::IfcRelConnectsElements::setRelatingElement(::Ifc4x3::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3::IfcElement* Ifc4x3::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3::IfcElement>(true); } +::Ifc4x3::IfcElement* Ifc4x3::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3::IfcElement>(true); } void Ifc4x3::IfcRelConnectsElements::setRelatedElement(::Ifc4x3::IfcElement* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3::IfcRelConnectsElements::declaration() const { return *((IfcParse::entity*)IFC4X3_types[919]); } const IfcParse::entity& Ifc4x3::IfcRelConnectsElements::Class() { return *((IfcParse::entity*)IFC4X3_types[919]); } Ifc4x3::IfcRelConnectsElements::IfcRelConnectsElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3::IfcRelConnectsElements::IfcRelConnectsElements(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3::IfcElement* v6_RelatingElement, ::Ifc4x3::IfcElement* v7_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcRelConnectsElements::IfcRelConnectsElements(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3::IfcElement* v6_RelatingElement, ::Ifc4x3::IfcElement* v7_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsPathElements -std::vector< int > /*[0:?]*/ Ifc4x3::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = data_.get_attribute_value(7); return v; } +std::vector< int > /*[0:?]*/ Ifc4x3::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(7); return v; } void Ifc4x3::IfcRelConnectsPathElements::setRelatingPriorities(std::vector< int > /*[0:?]*/ v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector< int > /*[0:?]*/ Ifc4x3::IfcRelConnectsPathElements::RelatedPriorities() const { std::vector< int > /*[0:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< int > /*[0:?]*/ Ifc4x3::IfcRelConnectsPathElements::RelatedPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3::IfcRelConnectsPathElements::setRelatedPriorities(std::vector< int > /*[0:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc4x3::IfcConnectionTypeEnum::Value Ifc4x3::IfcRelConnectsPathElements::RelatedConnectionType() const { return ::Ifc4x3::IfcConnectionTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcConnectionTypeEnum::Value Ifc4x3::IfcRelConnectsPathElements::RelatedConnectionType() const { return ::Ifc4x3::IfcConnectionTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcRelConnectsPathElements::setRelatedConnectionType(::Ifc4x3::IfcConnectionTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x3::IfcConnectionTypeEnum::Value Ifc4x3::IfcRelConnectsPathElements::RelatingConnectionType() const { return ::Ifc4x3::IfcConnectionTypeEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3::IfcConnectionTypeEnum::Value Ifc4x3::IfcRelConnectsPathElements::RelatingConnectionType() const { return ::Ifc4x3::IfcConnectionTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3::IfcRelConnectsPathElements::setRelatingConnectionType(::Ifc4x3::IfcConnectionTypeEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3::IfcConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3::IfcRelConnectsPathElements::declaration() const { return *((IfcParse::entity*)IFC4X3_types[920]); } const IfcParse::entity& Ifc4x3::IfcRelConnectsPathElements::Class() { return *((IfcParse::entity*)IFC4X3_types[920]); } Ifc4x3::IfcRelConnectsPathElements::IfcRelConnectsPathElements(IfcEntityInstanceData&& e) : IfcRelConnectsElements(std::move(e)) { } -Ifc4x3::IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3::IfcElement* v6_RelatingElement, ::Ifc4x3::IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; populate_derived(); } +Ifc4x3::IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3::IfcElement* v6_RelatingElement, ::Ifc4x3::IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; populate_derived(); } // Function implementations for IfcRelConnectsPortToElement -::Ifc4x3::IfcPort* Ifc4x3::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcPort>(true); } +::Ifc4x3::IfcPort* Ifc4x3::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcPort>(true); } void Ifc4x3::IfcRelConnectsPortToElement::setRelatingPort(::Ifc4x3::IfcPort* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3::IfcDistributionElement* Ifc4x3::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcDistributionElement>(true); } +::Ifc4x3::IfcDistributionElement* Ifc4x3::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcDistributionElement>(true); } void Ifc4x3::IfcRelConnectsPortToElement::setRelatedElement(::Ifc4x3::IfcDistributionElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcRelConnectsPortToElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[922]); } const IfcParse::entity& Ifc4x3::IfcRelConnectsPortToElement::Class() { return *((IfcParse::entity*)IFC4X3_types[922]); } Ifc4x3::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcPort* v5_RelatingPort, ::Ifc4x3::IfcDistributionElement* v6_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcPort* v5_RelatingPort, ::Ifc4x3::IfcDistributionElement* v6_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsPorts -::Ifc4x3::IfcPort* Ifc4x3::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcPort>(true); } +::Ifc4x3::IfcPort* Ifc4x3::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcPort>(true); } void Ifc4x3::IfcRelConnectsPorts::setRelatingPort(::Ifc4x3::IfcPort* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3::IfcPort* Ifc4x3::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcPort>(true); } +::Ifc4x3::IfcPort* Ifc4x3::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcPort>(true); } void Ifc4x3::IfcRelConnectsPorts::setRelatedPort(::Ifc4x3::IfcPort* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3::IfcElement* Ifc4x3::IfcRelConnectsPorts::RealizingElement() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3::IfcElement>(true); } +::Ifc4x3::IfcElement* Ifc4x3::IfcRelConnectsPorts::RealizingElement() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3::IfcElement>(true); } void Ifc4x3::IfcRelConnectsPorts::setRealizingElement(::Ifc4x3::IfcElement* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3::IfcRelConnectsPorts::declaration() const { return *((IfcParse::entity*)IFC4X3_types[921]); } const IfcParse::entity& Ifc4x3::IfcRelConnectsPorts::Class() { return *((IfcParse::entity*)IFC4X3_types[921]); } Ifc4x3::IfcRelConnectsPorts::IfcRelConnectsPorts(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3::IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcPort* v5_RelatingPort, ::Ifc4x3::IfcPort* v6_RelatedPort, ::Ifc4x3::IfcElement* v7_RealizingElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedPort ? v6_RelatedPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RealizingElement ? v7_RealizingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcPort* v5_RelatingPort, ::Ifc4x3::IfcPort* v6_RelatedPort, ::Ifc4x3::IfcElement* v7_RealizingElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedPort ? v6_RelatedPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RealizingElement ? v7_RealizingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsStructuralActivity -::Ifc4x3::IfcStructuralActivityAssignmentSelect* Ifc4x3::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcStructuralActivityAssignmentSelect>(true); } +::Ifc4x3::IfcStructuralActivityAssignmentSelect* Ifc4x3::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcStructuralActivityAssignmentSelect>(true); } void Ifc4x3::IfcRelConnectsStructuralActivity::setRelatingElement(::Ifc4x3::IfcStructuralActivityAssignmentSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3::IfcStructuralActivity* Ifc4x3::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcStructuralActivity>(true); } +::Ifc4x3::IfcStructuralActivity* Ifc4x3::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcStructuralActivity>(true); } void Ifc4x3::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(::Ifc4x3::IfcStructuralActivity* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcRelConnectsStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC4X3_types[923]); } const IfcParse::entity& Ifc4x3::IfcRelConnectsStructuralActivity::Class() { return *((IfcParse::entity*)IFC4X3_types[923]); } Ifc4x3::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcStructuralActivityAssignmentSelect* v5_RelatingElement, ::Ifc4x3::IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralActivity ? v6_RelatedStructuralActivity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcStructuralActivityAssignmentSelect* v5_RelatingElement, ::Ifc4x3::IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralActivity ? v6_RelatedStructuralActivity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsStructuralMember -::Ifc4x3::IfcStructuralMember* Ifc4x3::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcStructuralMember>(true); } +::Ifc4x3::IfcStructuralMember* Ifc4x3::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcStructuralMember>(true); } void Ifc4x3::IfcRelConnectsStructuralMember::setRelatingStructuralMember(::Ifc4x3::IfcStructuralMember* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3::IfcStructuralConnection* Ifc4x3::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcStructuralConnection>(true); } +::Ifc4x3::IfcStructuralConnection* Ifc4x3::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcStructuralConnection>(true); } void Ifc4x3::IfcRelConnectsStructuralMember::setRelatedStructuralConnection(::Ifc4x3::IfcStructuralConnection* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3::IfcBoundaryCondition* Ifc4x3::IfcRelConnectsStructuralMember::AppliedCondition() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3::IfcBoundaryCondition>(true); } +::Ifc4x3::IfcBoundaryCondition* Ifc4x3::IfcRelConnectsStructuralMember::AppliedCondition() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3::IfcBoundaryCondition>(true); } void Ifc4x3::IfcRelConnectsStructuralMember::setAppliedCondition(::Ifc4x3::IfcBoundaryCondition* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3::IfcStructuralConnectionCondition* Ifc4x3::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3::IfcStructuralConnectionCondition>(true); } +::Ifc4x3::IfcStructuralConnectionCondition* Ifc4x3::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3::IfcStructuralConnectionCondition>(true); } void Ifc4x3::IfcRelConnectsStructuralMember::setAdditionalConditions(::Ifc4x3::IfcStructuralConnectionCondition* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc4x3::IfcRelConnectsStructuralMember::SupportedLength() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3::IfcRelConnectsStructuralMember::SupportedLength() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3::IfcAxis2Placement3D* Ifc4x3::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3::IfcAxis2Placement3D>(true); } +::Ifc4x3::IfcAxis2Placement3D* Ifc4x3::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3::IfcAxis2Placement3D>(true); } void Ifc4x3::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(::Ifc4x3::IfcAxis2Placement3D* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcRelConnectsStructuralMember::declaration() const { return *((IfcParse::entity*)IFC4X3_types[924]); } const IfcParse::entity& Ifc4x3::IfcRelConnectsStructuralMember::Class() { return *((IfcParse::entity*)IFC4X3_types[924]); } Ifc4x3::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x3::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x3::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x3::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x3::IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x3::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x3::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x3::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x3::IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsWithEccentricity -::Ifc4x3::IfcConnectionGeometry* Ifc4x3::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3::IfcConnectionGeometry>(true); } +::Ifc4x3::IfcConnectionGeometry* Ifc4x3::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3::IfcConnectionGeometry>(true); } void Ifc4x3::IfcRelConnectsWithEccentricity::setConnectionConstraint(::Ifc4x3::IfcConnectionGeometry* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3::IfcRelConnectsWithEccentricity::declaration() const { return *((IfcParse::entity*)IFC4X3_types[925]); } const IfcParse::entity& Ifc4x3::IfcRelConnectsWithEccentricity::Class() { return *((IfcParse::entity*)IFC4X3_types[925]); } Ifc4x3::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(IfcEntityInstanceData&& e) : IfcRelConnectsStructuralMember(std::move(e)) { } -Ifc4x3::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x3::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x3::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x3::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x3::IfcAxis2Placement3D* v10_ConditionCoordinateSystem, ::Ifc4x3::IfcConnectionGeometry* v11_ConnectionConstraint) : IfcRelConnectsStructuralMember(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ConnectionConstraint ? v11_ConnectionConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x3::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x3::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x3::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x3::IfcAxis2Placement3D* v10_ConditionCoordinateSystem, ::Ifc4x3::IfcConnectionGeometry* v11_ConnectionConstraint) : IfcRelConnectsStructuralMember(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ConnectionConstraint ? v11_ConnectionConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsWithRealizingElements -aggregate_of< ::Ifc4x3::IfcElement >::ptr Ifc4x3::IfcRelConnectsWithRealizingElements::RealizingElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3::IfcElement >(); } +aggregate_of< ::Ifc4x3::IfcElement >::ptr Ifc4x3::IfcRelConnectsWithRealizingElements::RealizingElements() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3::IfcElement >(); } void Ifc4x3::IfcRelConnectsWithRealizingElements::setRealizingElements(aggregate_of< ::Ifc4x3::IfcElement >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc4x3::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3::IfcRelConnectsWithRealizingElements::setConnectionType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcRelConnectsWithRealizingElements::declaration() const { return *((IfcParse::entity*)IFC4X3_types[926]); } const IfcParse::entity& Ifc4x3::IfcRelConnectsWithRealizingElements::Class() { return *((IfcParse::entity*)IFC4X3_types[926]); } Ifc4x3::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(IfcEntityInstanceData&& e) : IfcRelConnectsElements(std::move(e)) { } -Ifc4x3::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3::IfcElement* v6_RelatingElement, ::Ifc4x3::IfcElement* v7_RelatedElement, aggregate_of< ::Ifc4x3::IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RealizingElements)->generalize()); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; populate_derived(); } +Ifc4x3::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3::IfcElement* v6_RelatingElement, ::Ifc4x3::IfcElement* v7_RelatedElement, aggregate_of< ::Ifc4x3::IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RealizingElements)->generalize()); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; populate_derived(); } // Function implementations for IfcRelContainedInSpatialStructure -aggregate_of< ::Ifc4x3::IfcProduct >::ptr Ifc4x3::IfcRelContainedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3::IfcProduct >(); } +aggregate_of< ::Ifc4x3::IfcProduct >::ptr Ifc4x3::IfcRelContainedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3::IfcProduct >(); } void Ifc4x3::IfcRelContainedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3::IfcProduct >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3::IfcSpatialElement* Ifc4x3::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcSpatialElement>(true); } +::Ifc4x3::IfcSpatialElement* Ifc4x3::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcSpatialElement>(true); } void Ifc4x3::IfcRelContainedInSpatialStructure::setRelatingStructure(::Ifc4x3::IfcSpatialElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcRelContainedInSpatialStructure::declaration() const { return *((IfcParse::entity*)IFC4X3_types[927]); } const IfcParse::entity& Ifc4x3::IfcRelContainedInSpatialStructure::Class() { return *((IfcParse::entity*)IFC4X3_types[927]); } Ifc4x3::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcProduct >::ptr v5_RelatedElements, ::Ifc4x3::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcProduct >::ptr v5_RelatedElements, ::Ifc4x3::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelCoversBldgElements -::Ifc4x3::IfcElement* Ifc4x3::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcElement>(true); } +::Ifc4x3::IfcElement* Ifc4x3::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcElement>(true); } void Ifc4x3::IfcRelCoversBldgElements::setRelatingBuildingElement(::Ifc4x3::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3::IfcCovering >::ptr Ifc4x3::IfcRelCoversBldgElements::RelatedCoverings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3::IfcCovering >(); } +aggregate_of< ::Ifc4x3::IfcCovering >::ptr Ifc4x3::IfcRelCoversBldgElements::RelatedCoverings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3::IfcCovering >(); } void Ifc4x3::IfcRelCoversBldgElements::setRelatedCoverings(aggregate_of< ::Ifc4x3::IfcCovering >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcRelCoversBldgElements::declaration() const { return *((IfcParse::entity*)IFC4X3_types[928]); } const IfcParse::entity& Ifc4x3::IfcRelCoversBldgElements::Class() { return *((IfcParse::entity*)IFC4X3_types[928]); } Ifc4x3::IfcRelCoversBldgElements::IfcRelCoversBldgElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3::IfcRelCoversBldgElements::IfcRelCoversBldgElements(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcElement* v5_RelatingBuildingElement, aggregate_of< ::Ifc4x3::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } +Ifc4x3::IfcRelCoversBldgElements::IfcRelCoversBldgElements(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcElement* v5_RelatingBuildingElement, aggregate_of< ::Ifc4x3::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } // Function implementations for IfcRelCoversSpaces -::Ifc4x3::IfcSpace* Ifc4x3::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcSpace>(true); } +::Ifc4x3::IfcSpace* Ifc4x3::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcSpace>(true); } void Ifc4x3::IfcRelCoversSpaces::setRelatingSpace(::Ifc4x3::IfcSpace* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3::IfcCovering >::ptr Ifc4x3::IfcRelCoversSpaces::RelatedCoverings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3::IfcCovering >(); } +aggregate_of< ::Ifc4x3::IfcCovering >::ptr Ifc4x3::IfcRelCoversSpaces::RelatedCoverings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3::IfcCovering >(); } void Ifc4x3::IfcRelCoversSpaces::setRelatedCoverings(aggregate_of< ::Ifc4x3::IfcCovering >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcRelCoversSpaces::declaration() const { return *((IfcParse::entity*)IFC4X3_types[929]); } const IfcParse::entity& Ifc4x3::IfcRelCoversSpaces::Class() { return *((IfcParse::entity*)IFC4X3_types[929]); } Ifc4x3::IfcRelCoversSpaces::IfcRelCoversSpaces(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcSpace* v5_RelatingSpace, aggregate_of< ::Ifc4x3::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } +Ifc4x3::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcSpace* v5_RelatingSpace, aggregate_of< ::Ifc4x3::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } // Function implementations for IfcRelDeclares -::Ifc4x3::IfcContext* Ifc4x3::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcContext>(true); } +::Ifc4x3::IfcContext* Ifc4x3::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcContext>(true); } void Ifc4x3::IfcRelDeclares::setRelatingContext(::Ifc4x3::IfcContext* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr Ifc4x3::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3::IfcDefinitionSelect >(); } +aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr Ifc4x3::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3::IfcDefinitionSelect >(); } void Ifc4x3::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcRelDeclares::declaration() const { return *((IfcParse::entity*)IFC4X3_types[930]); } const IfcParse::entity& Ifc4x3::IfcRelDeclares::Class() { return *((IfcParse::entity*)IFC4X3_types[930]); } Ifc4x3::IfcRelDeclares::IfcRelDeclares(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingContext ? v5_RelatingContext->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedDefinitions)->generalize());; populate_derived(); } +Ifc4x3::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingContext ? v5_RelatingContext->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedDefinitions)->generalize());; populate_derived(); } // Function implementations for IfcRelDecomposes @@ -15020,7 +15020,7 @@ Ifc4x3::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3::IfcOwn const IfcParse::entity& Ifc4x3::IfcRelDecomposes::declaration() const { return *((IfcParse::entity*)IFC4X3_types[931]); } const IfcParse::entity& Ifc4x3::IfcRelDecomposes::Class() { return *((IfcParse::entity*)IFC4X3_types[931]); } Ifc4x3::IfcRelDecomposes::IfcRelDecomposes(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3::IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3::IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRelDefines @@ -15028,198 +15028,198 @@ Ifc4x3::IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, ::Ifc4x3::If const IfcParse::entity& Ifc4x3::IfcRelDefines::declaration() const { return *((IfcParse::entity*)IFC4X3_types[932]); } const IfcParse::entity& Ifc4x3::IfcRelDefines::Class() { return *((IfcParse::entity*)IFC4X3_types[932]); } Ifc4x3::IfcRelDefines::IfcRelDefines(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3::IfcRelDefines::IfcRelDefines(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3::IfcRelDefines::IfcRelDefines(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRelDefinesByObject -aggregate_of< ::Ifc4x3::IfcObject >::ptr Ifc4x3::IfcRelDefinesByObject::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3::IfcObject >(); } +aggregate_of< ::Ifc4x3::IfcObject >::ptr Ifc4x3::IfcRelDefinesByObject::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3::IfcObject >(); } void Ifc4x3::IfcRelDefinesByObject::setRelatedObjects(aggregate_of< ::Ifc4x3::IfcObject >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3::IfcObject* Ifc4x3::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcObject>(true); } +::Ifc4x3::IfcObject* Ifc4x3::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcObject>(true); } void Ifc4x3::IfcRelDefinesByObject::setRelatingObject(::Ifc4x3::IfcObject* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcRelDefinesByObject::declaration() const { return *((IfcParse::entity*)IFC4X3_types[933]); } const IfcParse::entity& Ifc4x3::IfcRelDefinesByObject::Class() { return *((IfcParse::entity*)IFC4X3_types[933]); } Ifc4x3::IfcRelDefinesByObject::IfcRelDefinesByObject(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x3::IfcRelDefinesByObject::IfcRelDefinesByObject(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3::IfcObject* v6_RelatingObject) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingObject ? v6_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcRelDefinesByObject::IfcRelDefinesByObject(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3::IfcObject* v6_RelatingObject) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingObject ? v6_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelDefinesByProperties -aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr Ifc4x3::IfcRelDefinesByProperties::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr Ifc4x3::IfcRelDefinesByProperties::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3::IfcObjectDefinition >(); } void Ifc4x3::IfcRelDefinesByProperties::setRelatedObjects(aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3::IfcPropertySetDefinitionSelect* Ifc4x3::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcPropertySetDefinitionSelect>(true); } +::Ifc4x3::IfcPropertySetDefinitionSelect* Ifc4x3::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcPropertySetDefinitionSelect>(true); } void Ifc4x3::IfcRelDefinesByProperties::setRelatingPropertyDefinition(::Ifc4x3::IfcPropertySetDefinitionSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcRelDefinesByProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_types[934]); } const IfcParse::entity& Ifc4x3::IfcRelDefinesByProperties::Class() { return *((IfcParse::entity*)IFC4X3_types[934]); } Ifc4x3::IfcRelDefinesByProperties::IfcRelDefinesByProperties(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x3::IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr v5_RelatedObjects, ::Ifc4x3::IfcPropertySetDefinitionSelect* v6_RelatingPropertyDefinition) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingPropertyDefinition ? v6_RelatingPropertyDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr v5_RelatedObjects, ::Ifc4x3::IfcPropertySetDefinitionSelect* v6_RelatingPropertyDefinition) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingPropertyDefinition ? v6_RelatingPropertyDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelDefinesByTemplate -aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr Ifc4x3::IfcRelDefinesByTemplate::RelatedPropertySets() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3::IfcPropertySetDefinition >(); } +aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr Ifc4x3::IfcRelDefinesByTemplate::RelatedPropertySets() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3::IfcPropertySetDefinition >(); } void Ifc4x3::IfcRelDefinesByTemplate::setRelatedPropertySets(aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3::IfcPropertySetTemplate* Ifc4x3::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcPropertySetTemplate>(true); } +::Ifc4x3::IfcPropertySetTemplate* Ifc4x3::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcPropertySetTemplate>(true); } void Ifc4x3::IfcRelDefinesByTemplate::setRelatingTemplate(::Ifc4x3::IfcPropertySetTemplate* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcRelDefinesByTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_types[935]); } const IfcParse::entity& Ifc4x3::IfcRelDefinesByTemplate::Class() { return *((IfcParse::entity*)IFC4X3_types[935]); } Ifc4x3::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x3::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr v5_RelatedPropertySets, ::Ifc4x3::IfcPropertySetTemplate* v6_RelatingTemplate) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedPropertySets)->generalize());set_attribute_value(5, v6_RelatingTemplate ? v6_RelatingTemplate->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr v5_RelatedPropertySets, ::Ifc4x3::IfcPropertySetTemplate* v6_RelatingTemplate) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedPropertySets)->generalize());set_attribute_value(5, v6_RelatingTemplate ? v6_RelatingTemplate->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelDefinesByType -aggregate_of< ::Ifc4x3::IfcObject >::ptr Ifc4x3::IfcRelDefinesByType::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3::IfcObject >(); } +aggregate_of< ::Ifc4x3::IfcObject >::ptr Ifc4x3::IfcRelDefinesByType::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3::IfcObject >(); } void Ifc4x3::IfcRelDefinesByType::setRelatedObjects(aggregate_of< ::Ifc4x3::IfcObject >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3::IfcTypeObject* Ifc4x3::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcTypeObject>(true); } +::Ifc4x3::IfcTypeObject* Ifc4x3::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcTypeObject>(true); } void Ifc4x3::IfcRelDefinesByType::setRelatingType(::Ifc4x3::IfcTypeObject* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcRelDefinesByType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[936]); } const IfcParse::entity& Ifc4x3::IfcRelDefinesByType::Class() { return *((IfcParse::entity*)IFC4X3_types[936]); } Ifc4x3::IfcRelDefinesByType::IfcRelDefinesByType(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x3::IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3::IfcTypeObject* v6_RelatingType) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingType ? v6_RelatingType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3::IfcTypeObject* v6_RelatingType) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingType ? v6_RelatingType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelFillsElement -::Ifc4x3::IfcOpeningElement* Ifc4x3::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcOpeningElement>(true); } +::Ifc4x3::IfcOpeningElement* Ifc4x3::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcOpeningElement>(true); } void Ifc4x3::IfcRelFillsElement::setRelatingOpeningElement(::Ifc4x3::IfcOpeningElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3::IfcElement* Ifc4x3::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcElement>(true); } +::Ifc4x3::IfcElement* Ifc4x3::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcElement>(true); } void Ifc4x3::IfcRelFillsElement::setRelatedBuildingElement(::Ifc4x3::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcRelFillsElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[937]); } const IfcParse::entity& Ifc4x3::IfcRelFillsElement::Class() { return *((IfcParse::entity*)IFC4X3_types[937]); } Ifc4x3::IfcRelFillsElement::IfcRelFillsElement(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3::IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcOpeningElement* v5_RelatingOpeningElement, ::Ifc4x3::IfcElement* v6_RelatedBuildingElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingOpeningElement ? v5_RelatingOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcOpeningElement* v5_RelatingOpeningElement, ::Ifc4x3::IfcElement* v6_RelatedBuildingElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingOpeningElement ? v5_RelatingOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelFlowControlElements -aggregate_of< ::Ifc4x3::IfcDistributionControlElement >::ptr Ifc4x3::IfcRelFlowControlElements::RelatedControlElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3::IfcDistributionControlElement >(); } +aggregate_of< ::Ifc4x3::IfcDistributionControlElement >::ptr Ifc4x3::IfcRelFlowControlElements::RelatedControlElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3::IfcDistributionControlElement >(); } void Ifc4x3::IfcRelFlowControlElements::setRelatedControlElements(aggregate_of< ::Ifc4x3::IfcDistributionControlElement >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3::IfcDistributionFlowElement* Ifc4x3::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcDistributionFlowElement>(true); } +::Ifc4x3::IfcDistributionFlowElement* Ifc4x3::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcDistributionFlowElement>(true); } void Ifc4x3::IfcRelFlowControlElements::setRelatingFlowElement(::Ifc4x3::IfcDistributionFlowElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcRelFlowControlElements::declaration() const { return *((IfcParse::entity*)IFC4X3_types[938]); } const IfcParse::entity& Ifc4x3::IfcRelFlowControlElements::Class() { return *((IfcParse::entity*)IFC4X3_types[938]); } Ifc4x3::IfcRelFlowControlElements::IfcRelFlowControlElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3::IfcRelFlowControlElements::IfcRelFlowControlElements(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDistributionControlElement >::ptr v5_RelatedControlElements, ::Ifc4x3::IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedControlElements)->generalize());set_attribute_value(5, v6_RelatingFlowElement ? v6_RelatingFlowElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcRelFlowControlElements::IfcRelFlowControlElements(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcDistributionControlElement >::ptr v5_RelatedControlElements, ::Ifc4x3::IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedControlElements)->generalize());set_attribute_value(5, v6_RelatingFlowElement ? v6_RelatingFlowElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelInterferesElements -::Ifc4x3::IfcInterferenceSelect* Ifc4x3::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcInterferenceSelect>(true); } +::Ifc4x3::IfcInterferenceSelect* Ifc4x3::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcInterferenceSelect>(true); } void Ifc4x3::IfcRelInterferesElements::setRelatingElement(::Ifc4x3::IfcInterferenceSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3::IfcInterferenceSelect* Ifc4x3::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcInterferenceSelect>(true); } +::Ifc4x3::IfcInterferenceSelect* Ifc4x3::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcInterferenceSelect>(true); } void Ifc4x3::IfcRelInterferesElements::setRelatedElement(::Ifc4x3::IfcInterferenceSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3::IfcConnectionGeometry* Ifc4x3::IfcRelInterferesElements::InterferenceGeometry() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3::IfcConnectionGeometry>(true); } +::Ifc4x3::IfcConnectionGeometry* Ifc4x3::IfcRelInterferesElements::InterferenceGeometry() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3::IfcConnectionGeometry>(true); } void Ifc4x3::IfcRelInterferesElements::setInterferenceGeometry(::Ifc4x3::IfcConnectionGeometry* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3::IfcSpatialZone* Ifc4x3::IfcRelInterferesElements::InterferenceSpace() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3::IfcSpatialZone>(true); } +::Ifc4x3::IfcSpatialZone* Ifc4x3::IfcRelInterferesElements::InterferenceSpace() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3::IfcSpatialZone>(true); } void Ifc4x3::IfcRelInterferesElements::setInterferenceSpace(::Ifc4x3::IfcSpatialZone* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc4x3::IfcRelInterferesElements::InterferenceType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3::IfcRelInterferesElements::InterferenceType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3::IfcRelInterferesElements::setInterferenceType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::logic::tribool Ifc4x3::IfcRelInterferesElements::ImpliedOrder() const { boost::logic::tribool v = data_.get_attribute_value(9); return v; } +boost::logic::tribool Ifc4x3::IfcRelInterferesElements::ImpliedOrder() const { boost::logic::tribool v = get_attribute_value(9); return v; } void Ifc4x3::IfcRelInterferesElements::setImpliedOrder(boost::logic::tribool v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcRelInterferesElements::declaration() const { return *((IfcParse::entity*)IFC4X3_types[939]); } const IfcParse::entity& Ifc4x3::IfcRelInterferesElements::Class() { return *((IfcParse::entity*)IFC4X3_types[939]); } Ifc4x3::IfcRelInterferesElements::IfcRelInterferesElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3::IfcRelInterferesElements::IfcRelInterferesElements(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcInterferenceSelect* v5_RelatingElement, ::Ifc4x3::IfcInterferenceSelect* v6_RelatedElement, ::Ifc4x3::IfcConnectionGeometry* v7_InterferenceGeometry, ::Ifc4x3::IfcSpatialZone* v8_InterferenceSpace, boost::optional< std::string > v9_InterferenceType, boost::logic::tribool v10_ImpliedOrder) : IfcRelConnects(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_InterferenceGeometry ? v7_InterferenceGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_InterferenceSpace ? v8_InterferenceSpace->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_InterferenceType) {set_attribute_value(8, (*v9_InterferenceType)); }set_attribute_value(9, (v10_ImpliedOrder));; populate_derived(); } +Ifc4x3::IfcRelInterferesElements::IfcRelInterferesElements(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcInterferenceSelect* v5_RelatingElement, ::Ifc4x3::IfcInterferenceSelect* v6_RelatedElement, ::Ifc4x3::IfcConnectionGeometry* v7_InterferenceGeometry, ::Ifc4x3::IfcSpatialZone* v8_InterferenceSpace, boost::optional< std::string > v9_InterferenceType, boost::logic::tribool v10_ImpliedOrder) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_InterferenceGeometry ? v7_InterferenceGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_InterferenceSpace ? v8_InterferenceSpace->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_InterferenceType) {set_attribute_value(8, (*v9_InterferenceType)); }set_attribute_value(9, (v10_ImpliedOrder));; populate_derived(); } // Function implementations for IfcRelNests -::Ifc4x3::IfcObjectDefinition* Ifc4x3::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcObjectDefinition>(true); } +::Ifc4x3::IfcObjectDefinition* Ifc4x3::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcObjectDefinition>(true); } void Ifc4x3::IfcRelNests::setRelatingObject(::Ifc4x3::IfcObjectDefinition* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr Ifc4x3::IfcRelNests::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr Ifc4x3::IfcRelNests::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3::IfcObjectDefinition >(); } void Ifc4x3::IfcRelNests::setRelatedObjects(aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcRelNests::declaration() const { return *((IfcParse::entity*)IFC4X3_types[940]); } const IfcParse::entity& Ifc4x3::IfcRelNests::Class() { return *((IfcParse::entity*)IFC4X3_types[940]); } Ifc4x3::IfcRelNests::IfcRelNests(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x3::IfcRelNests::IfcRelNests(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } +Ifc4x3::IfcRelNests::IfcRelNests(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x3::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelPositions -::Ifc4x3::IfcPositioningElement* Ifc4x3::IfcRelPositions::RelatingPositioningElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcPositioningElement>(true); } +::Ifc4x3::IfcPositioningElement* Ifc4x3::IfcRelPositions::RelatingPositioningElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcPositioningElement>(true); } void Ifc4x3::IfcRelPositions::setRelatingPositioningElement(::Ifc4x3::IfcPositioningElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3::IfcProduct >::ptr Ifc4x3::IfcRelPositions::RelatedProducts() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3::IfcProduct >(); } +aggregate_of< ::Ifc4x3::IfcProduct >::ptr Ifc4x3::IfcRelPositions::RelatedProducts() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3::IfcProduct >(); } void Ifc4x3::IfcRelPositions::setRelatedProducts(aggregate_of< ::Ifc4x3::IfcProduct >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcRelPositions::declaration() const { return *((IfcParse::entity*)IFC4X3_types[941]); } const IfcParse::entity& Ifc4x3::IfcRelPositions::Class() { return *((IfcParse::entity*)IFC4X3_types[941]); } Ifc4x3::IfcRelPositions::IfcRelPositions(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3::IfcRelPositions::IfcRelPositions(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcPositioningElement* v5_RelatingPositioningElement, aggregate_of< ::Ifc4x3::IfcProduct >::ptr v6_RelatedProducts) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPositioningElement ? v5_RelatingPositioningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedProducts)->generalize());; populate_derived(); } +Ifc4x3::IfcRelPositions::IfcRelPositions(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcPositioningElement* v5_RelatingPositioningElement, aggregate_of< ::Ifc4x3::IfcProduct >::ptr v6_RelatedProducts) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPositioningElement ? v5_RelatingPositioningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedProducts)->generalize());; populate_derived(); } // Function implementations for IfcRelProjectsElement -::Ifc4x3::IfcElement* Ifc4x3::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcElement>(true); } +::Ifc4x3::IfcElement* Ifc4x3::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcElement>(true); } void Ifc4x3::IfcRelProjectsElement::setRelatingElement(::Ifc4x3::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3::IfcFeatureElementAddition* Ifc4x3::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcFeatureElementAddition>(true); } +::Ifc4x3::IfcFeatureElementAddition* Ifc4x3::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcFeatureElementAddition>(true); } void Ifc4x3::IfcRelProjectsElement::setRelatedFeatureElement(::Ifc4x3::IfcFeatureElementAddition* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcRelProjectsElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[942]); } const IfcParse::entity& Ifc4x3::IfcRelProjectsElement::Class() { return *((IfcParse::entity*)IFC4X3_types[942]); } Ifc4x3::IfcRelProjectsElement::IfcRelProjectsElement(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x3::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcElement* v5_RelatingElement, ::Ifc4x3::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedFeatureElement ? v6_RelatedFeatureElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcElement* v5_RelatingElement, ::Ifc4x3::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedFeatureElement ? v6_RelatedFeatureElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelReferencedInSpatialStructure -aggregate_of< ::Ifc4x3::IfcSpatialReferenceSelect >::ptr Ifc4x3::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3::IfcSpatialReferenceSelect >(); } +aggregate_of< ::Ifc4x3::IfcSpatialReferenceSelect >::ptr Ifc4x3::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3::IfcSpatialReferenceSelect >(); } void Ifc4x3::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3::IfcSpatialReferenceSelect >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3::IfcSpatialElement* Ifc4x3::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcSpatialElement>(true); } +::Ifc4x3::IfcSpatialElement* Ifc4x3::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcSpatialElement>(true); } void Ifc4x3::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4x3::IfcSpatialElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcRelReferencedInSpatialStructure::declaration() const { return *((IfcParse::entity*)IFC4X3_types[943]); } const IfcParse::entity& Ifc4x3::IfcRelReferencedInSpatialStructure::Class() { return *((IfcParse::entity*)IFC4X3_types[943]); } Ifc4x3::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelSequence -::Ifc4x3::IfcProcess* Ifc4x3::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcProcess>(true); } +::Ifc4x3::IfcProcess* Ifc4x3::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcProcess>(true); } void Ifc4x3::IfcRelSequence::setRelatingProcess(::Ifc4x3::IfcProcess* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3::IfcProcess* Ifc4x3::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcProcess>(true); } +::Ifc4x3::IfcProcess* Ifc4x3::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcProcess>(true); } void Ifc4x3::IfcRelSequence::setRelatedProcess(::Ifc4x3::IfcProcess* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3::IfcLagTime* Ifc4x3::IfcRelSequence::TimeLag() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3::IfcLagTime>(true); } +::Ifc4x3::IfcLagTime* Ifc4x3::IfcRelSequence::TimeLag() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3::IfcLagTime>(true); } void Ifc4x3::IfcRelSequence::setTimeLag(::Ifc4x3::IfcLagTime* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< ::Ifc4x3::IfcSequenceEnum::Value > Ifc4x3::IfcRelSequence::SequenceType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3::IfcSequenceEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3::IfcSequenceEnum::Value > Ifc4x3::IfcRelSequence::SequenceType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3::IfcSequenceEnum::FromString(get_attribute_value(7)); } void Ifc4x3::IfcRelSequence::setSequenceType(boost::optional< ::Ifc4x3::IfcSequenceEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3::IfcSequenceEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3::IfcRelSequence::UserDefinedSequenceType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3::IfcRelSequence::UserDefinedSequenceType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3::IfcRelSequence::setUserDefinedSequenceType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcRelSequence::declaration() const { return *((IfcParse::entity*)IFC4X3_types[944]); } const IfcParse::entity& Ifc4x3::IfcRelSequence::Class() { return *((IfcParse::entity*)IFC4X3_types[944]); } Ifc4x3::IfcRelSequence::IfcRelSequence(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3::IfcRelSequence::IfcRelSequence(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcProcess* v5_RelatingProcess, ::Ifc4x3::IfcProcess* v6_RelatedProcess, ::Ifc4x3::IfcLagTime* v7_TimeLag, boost::optional< ::Ifc4x3::IfcSequenceEnum::Value > v8_SequenceType, boost::optional< std::string > v9_UserDefinedSequenceType) : IfcRelConnects(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingProcess ? v5_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedProcess ? v6_RelatedProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_TimeLag ? v7_TimeLag->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_SequenceType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); }; populate_derived(); } +Ifc4x3::IfcRelSequence::IfcRelSequence(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcProcess* v5_RelatingProcess, ::Ifc4x3::IfcProcess* v6_RelatedProcess, ::Ifc4x3::IfcLagTime* v7_TimeLag, boost::optional< ::Ifc4x3::IfcSequenceEnum::Value > v8_SequenceType, boost::optional< std::string > v9_UserDefinedSequenceType) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingProcess ? v5_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedProcess ? v6_RelatedProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_TimeLag ? v7_TimeLag->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_SequenceType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); }; populate_derived(); } // Function implementations for IfcRelServicesBuildings -::Ifc4x3::IfcSystem* Ifc4x3::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcSystem>(true); } +::Ifc4x3::IfcSystem* Ifc4x3::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcSystem>(true); } void Ifc4x3::IfcRelServicesBuildings::setRelatingSystem(::Ifc4x3::IfcSystem* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3::IfcSpatialElement >::ptr Ifc4x3::IfcRelServicesBuildings::RelatedBuildings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3::IfcSpatialElement >(); } +aggregate_of< ::Ifc4x3::IfcSpatialElement >::ptr Ifc4x3::IfcRelServicesBuildings::RelatedBuildings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3::IfcSpatialElement >(); } void Ifc4x3::IfcRelServicesBuildings::setRelatedBuildings(aggregate_of< ::Ifc4x3::IfcSpatialElement >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcRelServicesBuildings::declaration() const { return *((IfcParse::entity*)IFC4X3_types[945]); } const IfcParse::entity& Ifc4x3::IfcRelServicesBuildings::Class() { return *((IfcParse::entity*)IFC4X3_types[945]); } Ifc4x3::IfcRelServicesBuildings::IfcRelServicesBuildings(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3::IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcSystem* v5_RelatingSystem, aggregate_of< ::Ifc4x3::IfcSpatialElement >::ptr v6_RelatedBuildings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSystem ? v5_RelatingSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedBuildings)->generalize());; populate_derived(); } +Ifc4x3::IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcSystem* v5_RelatingSystem, aggregate_of< ::Ifc4x3::IfcSpatialElement >::ptr v6_RelatedBuildings) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSystem ? v5_RelatingSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedBuildings)->generalize());; populate_derived(); } // Function implementations for IfcRelSpaceBoundary -::Ifc4x3::IfcSpaceBoundarySelect* Ifc4x3::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcSpaceBoundarySelect>(true); } +::Ifc4x3::IfcSpaceBoundarySelect* Ifc4x3::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcSpaceBoundarySelect>(true); } void Ifc4x3::IfcRelSpaceBoundary::setRelatingSpace(::Ifc4x3::IfcSpaceBoundarySelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3::IfcElement* Ifc4x3::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcElement>(true); } +::Ifc4x3::IfcElement* Ifc4x3::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcElement>(true); } void Ifc4x3::IfcRelSpaceBoundary::setRelatedBuildingElement(::Ifc4x3::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3::IfcConnectionGeometry* Ifc4x3::IfcRelSpaceBoundary::ConnectionGeometry() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3::IfcConnectionGeometry>(true); } +::Ifc4x3::IfcConnectionGeometry* Ifc4x3::IfcRelSpaceBoundary::ConnectionGeometry() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3::IfcConnectionGeometry>(true); } void Ifc4x3::IfcRelSpaceBoundary::setConnectionGeometry(::Ifc4x3::IfcConnectionGeometry* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3::IfcPhysicalOrVirtualEnum::Value Ifc4x3::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4x3::IfcPhysicalOrVirtualEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3::IfcPhysicalOrVirtualEnum::Value Ifc4x3::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4x3::IfcPhysicalOrVirtualEnum::FromString(get_attribute_value(7)); } void Ifc4x3::IfcRelSpaceBoundary::setPhysicalOrVirtualBoundary(::Ifc4x3::IfcPhysicalOrVirtualEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3::IfcPhysicalOrVirtualEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x3::IfcInternalOrExternalEnum::Value Ifc4x3::IfcRelSpaceBoundary::InternalOrExternalBoundary() const { return ::Ifc4x3::IfcInternalOrExternalEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3::IfcInternalOrExternalEnum::Value Ifc4x3::IfcRelSpaceBoundary::InternalOrExternalBoundary() const { return ::Ifc4x3::IfcInternalOrExternalEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcRelSpaceBoundary::setInternalOrExternalBoundary(::Ifc4x3::IfcInternalOrExternalEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcInternalOrExternalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3::IfcRelSpaceBoundary::declaration() const { return *((IfcParse::entity*)IFC4X3_types[946]); } const IfcParse::entity& Ifc4x3::IfcRelSpaceBoundary::Class() { return *((IfcParse::entity*)IFC4X3_types[946]); } Ifc4x3::IfcRelSpaceBoundary::IfcRelSpaceBoundary(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3::IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) : IfcRelConnects(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; populate_derived(); } +Ifc4x3::IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; populate_derived(); } // Function implementations for IfcRelSpaceBoundary1stLevel -::Ifc4x3::IfcRelSpaceBoundary1stLevel* Ifc4x3::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3::IfcRelSpaceBoundary1stLevel>(true); } +::Ifc4x3::IfcRelSpaceBoundary1stLevel* Ifc4x3::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3::IfcRelSpaceBoundary1stLevel>(true); } void Ifc4x3::IfcRelSpaceBoundary1stLevel::setParentBoundary(::Ifc4x3::IfcRelSpaceBoundary1stLevel* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } ::Ifc4x3::IfcRelSpaceBoundary1stLevel::list::ptr Ifc4x3::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[947], 9)->as(); } @@ -15227,10 +15227,10 @@ void Ifc4x3::IfcRelSpaceBoundary1stLevel::setParentBoundary(::Ifc4x3::IfcRelSpac const IfcParse::entity& Ifc4x3::IfcRelSpaceBoundary1stLevel::declaration() const { return *((IfcParse::entity*)IFC4X3_types[947]); } const IfcParse::entity& Ifc4x3::IfcRelSpaceBoundary1stLevel::Class() { return *((IfcParse::entity*)IFC4X3_types[947]); } Ifc4x3::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(IfcEntityInstanceData&& e) : IfcRelSpaceBoundary(std::move(e)) { } -Ifc4x3::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary) : IfcRelSpaceBoundary(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary) : IfcRelSpaceBoundary(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelSpaceBoundary2ndLevel -::Ifc4x3::IfcRelSpaceBoundary2ndLevel* Ifc4x3::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3::IfcRelSpaceBoundary2ndLevel>(true); } +::Ifc4x3::IfcRelSpaceBoundary2ndLevel* Ifc4x3::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3::IfcRelSpaceBoundary2ndLevel>(true); } void Ifc4x3::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(::Ifc4x3::IfcRelSpaceBoundary2ndLevel* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } ::Ifc4x3::IfcRelSpaceBoundary2ndLevel::list::ptr Ifc4x3::IfcRelSpaceBoundary2ndLevel::Corresponds() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[948], 10)->as(); } @@ -15238,19 +15238,19 @@ void Ifc4x3::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(::Ifc4x3::Ifc const IfcParse::entity& Ifc4x3::IfcRelSpaceBoundary2ndLevel::declaration() const { return *((IfcParse::entity*)IFC4X3_types[948]); } const IfcParse::entity& Ifc4x3::IfcRelSpaceBoundary2ndLevel::Class() { return *((IfcParse::entity*)IFC4X3_types[948]); } Ifc4x3::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(IfcEntityInstanceData&& e) : IfcRelSpaceBoundary1stLevel(std::move(e)) { } -Ifc4x3::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, ::Ifc4x3::IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary) : IfcRelSpaceBoundary1stLevel(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_CorrespondingBoundary ? v11_CorrespondingBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, ::Ifc4x3::IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary) : IfcRelSpaceBoundary1stLevel(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_CorrespondingBoundary ? v11_CorrespondingBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelVoidsElement -::Ifc4x3::IfcElement* Ifc4x3::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcElement>(true); } +::Ifc4x3::IfcElement* Ifc4x3::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcElement>(true); } void Ifc4x3::IfcRelVoidsElement::setRelatingBuildingElement(::Ifc4x3::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3::IfcFeatureElementSubtraction* Ifc4x3::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcFeatureElementSubtraction>(true); } +::Ifc4x3::IfcFeatureElementSubtraction* Ifc4x3::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcFeatureElementSubtraction>(true); } void Ifc4x3::IfcRelVoidsElement::setRelatedOpeningElement(::Ifc4x3::IfcFeatureElementSubtraction* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcRelVoidsElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[949]); } const IfcParse::entity& Ifc4x3::IfcRelVoidsElement::Class() { return *((IfcParse::entity*)IFC4X3_types[949]); } Ifc4x3::IfcRelVoidsElement::IfcRelVoidsElement(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x3::IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcElement* v5_RelatingBuildingElement, ::Ifc4x3::IfcFeatureElementSubtraction* v6_RelatedOpeningElement) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedOpeningElement ? v6_RelatedOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcElement* v5_RelatingBuildingElement, ::Ifc4x3::IfcFeatureElementSubtraction* v6_RelatedOpeningElement) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedOpeningElement ? v6_RelatedOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelationship @@ -15258,26 +15258,26 @@ Ifc4x3::IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, ::Ifc4x3 const IfcParse::entity& Ifc4x3::IfcRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_types[917]); } const IfcParse::entity& Ifc4x3::IfcRelationship::Class() { return *((IfcParse::entity*)IFC4X3_types[917]); } Ifc4x3::IfcRelationship::IfcRelationship(IfcEntityInstanceData&& e) : IfcRoot(std::move(e)) { } -Ifc4x3::IfcRelationship::IfcRelationship(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3::IfcRelationship::IfcRelationship(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcReparametrisedCompositeCurveSegment -double Ifc4x3::IfcReparametrisedCompositeCurveSegment::ParamLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3::IfcReparametrisedCompositeCurveSegment::ParamLength() const { double v = get_attribute_value(3); return v; } void Ifc4x3::IfcReparametrisedCompositeCurveSegment::setParamLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcReparametrisedCompositeCurveSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_types[950]); } const IfcParse::entity& Ifc4x3::IfcReparametrisedCompositeCurveSegment::Class() { return *((IfcParse::entity*)IFC4X3_types[950]); } Ifc4x3::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(IfcEntityInstanceData&& e) : IfcCompositeCurveSegment(std::move(e)) { } -Ifc4x3::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(::Ifc4x3::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3::IfcCurve* v3_ParentCurve, double v4_ParamLength) : IfcCompositeCurveSegment(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ParamLength));; populate_derived(); } +Ifc4x3::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(::Ifc4x3::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3::IfcCurve* v3_ParentCurve, double v4_ParamLength) : IfcCompositeCurveSegment(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ParamLength));; populate_derived(); } // Function implementations for IfcRepresentation -::Ifc4x3::IfcRepresentationContext* Ifc4x3::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcRepresentationContext>(true); } +::Ifc4x3::IfcRepresentationContext* Ifc4x3::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcRepresentationContext>(true); } void Ifc4x3::IfcRepresentation::setContextOfItems(::Ifc4x3::IfcRepresentationContext* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3::IfcRepresentation::RepresentationIdentifier() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3::IfcRepresentation::RepresentationIdentifier() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3::IfcRepresentation::RepresentationType() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3::IfcRepresentation::RepresentationType() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3::IfcRepresentation::setRepresentationType(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -aggregate_of< ::Ifc4x3::IfcRepresentationItem >::ptr Ifc4x3::IfcRepresentation::Items() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3::IfcRepresentationItem >(); } +aggregate_of< ::Ifc4x3::IfcRepresentationItem >::ptr Ifc4x3::IfcRepresentation::Items() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3::IfcRepresentationItem >(); } void Ifc4x3::IfcRepresentation::setItems(aggregate_of< ::Ifc4x3::IfcRepresentationItem >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } ::Ifc4x3::IfcRepresentationMap::list::ptr Ifc4x3::IfcRepresentation::RepresentationMap() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[954], 1)->as(); } @@ -15287,12 +15287,12 @@ void Ifc4x3::IfcRepresentation::setItems(aggregate_of< ::Ifc4x3::IfcRepresentati const IfcParse::entity& Ifc4x3::IfcRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_types[951]); } const IfcParse::entity& Ifc4x3::IfcRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_types[951]); } Ifc4x3::IfcRepresentation::IfcRepresentation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcRepresentation::IfcRepresentation(::Ifc4x3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3::IfcRepresentationItem >::ptr v4_Items) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3::IfcRepresentation::IfcRepresentation(::Ifc4x3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3::IfcRepresentationItem >::ptr v4_Items) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcRepresentationContext -boost::optional< std::string > Ifc4x3::IfcRepresentationContext::ContextIdentifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3::IfcRepresentationContext::ContextIdentifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcRepresentationContext::setContextIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3::IfcRepresentationContext::ContextType() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3::IfcRepresentationContext::ContextType() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcRepresentationContext::setContextType(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x3::IfcRepresentation::list::ptr Ifc4x3::IfcRepresentationContext::RepresentationsInContext() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[951], 0)->as(); } @@ -15300,7 +15300,7 @@ void Ifc4x3::IfcRepresentationContext::setContextType(boost::optional< std::stri const IfcParse::entity& Ifc4x3::IfcRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X3_types[952]); } const IfcParse::entity& Ifc4x3::IfcRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X3_types[952]); } Ifc4x3::IfcRepresentationContext::IfcRepresentationContext(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcRepresentationContext::IfcRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; populate_derived(); } +Ifc4x3::IfcRepresentationContext::IfcRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; populate_derived(); } // Function implementations for IfcRepresentationItem @@ -15310,12 +15310,12 @@ Ifc4x3::IfcRepresentationContext::IfcRepresentationContext(boost::optional< std: const IfcParse::entity& Ifc4x3::IfcRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_types[953]); } const IfcParse::entity& Ifc4x3::IfcRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_types[953]); } Ifc4x3::IfcRepresentationItem::IfcRepresentationItem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3::IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcRepresentationMap -::Ifc4x3::IfcAxis2Placement* Ifc4x3::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcAxis2Placement>(true); } +::Ifc4x3::IfcAxis2Placement* Ifc4x3::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcAxis2Placement>(true); } void Ifc4x3::IfcRepresentationMap::setMappingOrigin(::Ifc4x3::IfcAxis2Placement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3::IfcRepresentation* Ifc4x3::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcRepresentation>(true); } +::Ifc4x3::IfcRepresentation* Ifc4x3::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcRepresentation>(true); } void Ifc4x3::IfcRepresentationMap::setMappedRepresentation(::Ifc4x3::IfcRepresentation* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } ::Ifc4x3::IfcShapeAspect::list::ptr Ifc4x3::IfcRepresentationMap::HasShapeAspects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[1006], 4)->as(); } @@ -15324,12 +15324,12 @@ void Ifc4x3::IfcRepresentationMap::setMappedRepresentation(::Ifc4x3::IfcRepresen const IfcParse::entity& Ifc4x3::IfcRepresentationMap::declaration() const { return *((IfcParse::entity*)IFC4X3_types[954]); } const IfcParse::entity& Ifc4x3::IfcRepresentationMap::Class() { return *((IfcParse::entity*)IFC4X3_types[954]); } Ifc4x3::IfcRepresentationMap::IfcRepresentationMap(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcRepresentationMap::IfcRepresentationMap(::Ifc4x3::IfcAxis2Placement* v1_MappingOrigin, ::Ifc4x3::IfcRepresentation* v2_MappedRepresentation) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_MappingOrigin ? v1_MappingOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappedRepresentation ? v2_MappedRepresentation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcRepresentationMap::IfcRepresentationMap(::Ifc4x3::IfcAxis2Placement* v1_MappingOrigin, ::Ifc4x3::IfcRepresentation* v2_MappedRepresentation) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_MappingOrigin ? v1_MappingOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappedRepresentation ? v2_MappedRepresentation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcResource -boost::optional< std::string > Ifc4x3::IfcResource::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3::IfcResource::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3::IfcResource::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3::IfcResource::LongDescription() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3::IfcResource::LongDescription() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3::IfcResource::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3::IfcRelAssignsToResource::list::ptr Ifc4x3::IfcResource::ResourceOf() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[908], 6)->as(); } @@ -15337,239 +15337,239 @@ void Ifc4x3::IfcResource::setLongDescription(boost::optional< std::string > v) { const IfcParse::entity& Ifc4x3::IfcResource::declaration() const { return *((IfcParse::entity*)IFC4X3_types[955]); } const IfcParse::entity& Ifc4x3::IfcResource::Class() { return *((IfcParse::entity*)IFC4X3_types[955]); } Ifc4x3::IfcResource::IfcResource(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } +Ifc4x3::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } // Function implementations for IfcResourceApprovalRelationship -aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr Ifc4x3::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3::IfcResourceObjectSelect >(); } +aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr Ifc4x3::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3::IfcResourceObjectSelect >(); } void Ifc4x3::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3::IfcApproval* Ifc4x3::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcApproval>(true); } +::Ifc4x3::IfcApproval* Ifc4x3::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcApproval>(true); } void Ifc4x3::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3::IfcApproval* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcResourceApprovalRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_types[956]); } const IfcParse::entity& Ifc4x3::IfcResourceApprovalRelationship::Class() { return *((IfcParse::entity*)IFC4X3_types[956]); } Ifc4x3::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatedResourceObjects)->generalize());set_attribute_value(3, v4_RelatingApproval ? v4_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatedResourceObjects)->generalize());set_attribute_value(3, v4_RelatingApproval ? v4_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcResourceConstraintRelationship -::Ifc4x3::IfcConstraint* Ifc4x3::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcConstraint>(true); } +::Ifc4x3::IfcConstraint* Ifc4x3::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcConstraint>(true); } void Ifc4x3::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4x3::IfcConstraint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr Ifc4x3::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3::IfcResourceObjectSelect >(); } +aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr Ifc4x3::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3::IfcResourceObjectSelect >(); } void Ifc4x3::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcResourceConstraintRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_types[957]); } const IfcParse::entity& Ifc4x3::IfcResourceConstraintRelationship::Class() { return *((IfcParse::entity*)IFC4X3_types[957]); } Ifc4x3::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingConstraint ? v3_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } +Ifc4x3::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingConstraint ? v3_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } // Function implementations for IfcResourceLevelRelationship -boost::optional< std::string > Ifc4x3::IfcResourceLevelRelationship::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3::IfcResourceLevelRelationship::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcResourceLevelRelationship::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3::IfcResourceLevelRelationship::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3::IfcResourceLevelRelationship::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcResourceLevelRelationship::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3::IfcResourceLevelRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_types[958]); } const IfcParse::entity& Ifc4x3::IfcResourceLevelRelationship::Class() { return *((IfcParse::entity*)IFC4X3_types[958]); } Ifc4x3::IfcResourceLevelRelationship::IfcResourceLevelRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcResourceLevelRelationship::IfcResourceLevelRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4x3::IfcResourceLevelRelationship::IfcResourceLevelRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcResourceTime -boost::optional< std::string > Ifc4x3::IfcResourceTime::ScheduleWork() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3::IfcResourceTime::ScheduleWork() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3::IfcResourceTime::setScheduleWork(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3::IfcResourceTime::ScheduleUsage() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3::IfcResourceTime::ScheduleUsage() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3::IfcResourceTime::setScheduleUsage(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3::IfcResourceTime::ScheduleStart() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3::IfcResourceTime::ScheduleStart() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3::IfcResourceTime::setScheduleStart(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3::IfcResourceTime::ScheduleFinish() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3::IfcResourceTime::ScheduleFinish() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3::IfcResourceTime::setScheduleFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3::IfcResourceTime::ScheduleContour() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3::IfcResourceTime::ScheduleContour() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3::IfcResourceTime::setScheduleContour(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3::IfcResourceTime::LevelingDelay() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3::IfcResourceTime::LevelingDelay() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3::IfcResourceTime::setLevelingDelay(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< bool > Ifc4x3::IfcResourceTime::IsOverAllocated() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } bool v = data_.get_attribute_value(9); return v; } +boost::optional< bool > Ifc4x3::IfcResourceTime::IsOverAllocated() const { if(get_attribute_value(9).isNull()) { return boost::none; } bool v = get_attribute_value(9); return v; } void Ifc4x3::IfcResourceTime::setIsOverAllocated(boost::optional< bool > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x3::IfcResourceTime::StatusTime() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3::IfcResourceTime::StatusTime() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3::IfcResourceTime::setStatusTime(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< std::string > Ifc4x3::IfcResourceTime::ActualWork() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x3::IfcResourceTime::ActualWork() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x3::IfcResourceTime::setActualWork(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3::IfcResourceTime::ActualUsage() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3::IfcResourceTime::ActualUsage() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3::IfcResourceTime::setActualUsage(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< std::string > Ifc4x3::IfcResourceTime::ActualStart() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(13); return v; } +boost::optional< std::string > Ifc4x3::IfcResourceTime::ActualStart() const { if(get_attribute_value(13).isNull()) { return boost::none; } std::string v = get_attribute_value(13); return v; } void Ifc4x3::IfcResourceTime::setActualStart(boost::optional< std::string > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x3::IfcResourceTime::ActualFinish() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x3::IfcResourceTime::ActualFinish() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x3::IfcResourceTime::setActualFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< std::string > Ifc4x3::IfcResourceTime::RemainingWork() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(15); return v; } +boost::optional< std::string > Ifc4x3::IfcResourceTime::RemainingWork() const { if(get_attribute_value(15).isNull()) { return boost::none; } std::string v = get_attribute_value(15); return v; } void Ifc4x3::IfcResourceTime::setRemainingWork(boost::optional< std::string > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3::IfcResourceTime::RemainingUsage() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3::IfcResourceTime::RemainingUsage() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3::IfcResourceTime::setRemainingUsage(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< double > Ifc4x3::IfcResourceTime::Completion() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } double v = data_.get_attribute_value(17); return v; } +boost::optional< double > Ifc4x3::IfcResourceTime::Completion() const { if(get_attribute_value(17).isNull()) { return boost::none; } double v = get_attribute_value(17); return v; } void Ifc4x3::IfcResourceTime::setCompletion(boost::optional< double > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } const IfcParse::entity& Ifc4x3::IfcResourceTime::declaration() const { return *((IfcParse::entity*)IFC4X3_types[961]); } const IfcParse::entity& Ifc4x3::IfcResourceTime::Class() { return *((IfcParse::entity*)IFC4X3_types[961]); } Ifc4x3::IfcResourceTime::IfcResourceTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x3::IfcResourceTime::IfcResourceTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3::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(storage_t(18))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); }; populate_derived(); } +Ifc4x3::IfcResourceTime::IfcResourceTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3::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(in_memory_attribute_storage(18))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); }; populate_derived(); } // Function implementations for IfcRevolvedAreaSolid -::Ifc4x3::IfcAxis1Placement* Ifc4x3::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcAxis1Placement>(true); } +::Ifc4x3::IfcAxis1Placement* Ifc4x3::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcAxis1Placement>(true); } void Ifc4x3::IfcRevolvedAreaSolid::setAxis(::Ifc4x3::IfcAxis1Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x3::IfcRevolvedAreaSolid::Angle() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3::IfcRevolvedAreaSolid::Angle() const { double v = get_attribute_value(3); return v; } void Ifc4x3::IfcRevolvedAreaSolid::setAngle(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcRevolvedAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_types[962]); } const IfcParse::entity& Ifc4x3::IfcRevolvedAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_types[962]); } Ifc4x3::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4x3::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(::Ifc4x3::IfcProfileDef* v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3::IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));; populate_derived(); } +Ifc4x3::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(::Ifc4x3::IfcProfileDef* v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3::IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));; populate_derived(); } // Function implementations for IfcRevolvedAreaSolidTapered -::Ifc4x3::IfcProfileDef* Ifc4x3::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcProfileDef>(true); } +::Ifc4x3::IfcProfileDef* Ifc4x3::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcProfileDef>(true); } void Ifc4x3::IfcRevolvedAreaSolidTapered::setEndSweptArea(::Ifc4x3::IfcProfileDef* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3::IfcRevolvedAreaSolidTapered::declaration() const { return *((IfcParse::entity*)IFC4X3_types[963]); } const IfcParse::entity& Ifc4x3::IfcRevolvedAreaSolidTapered::Class() { return *((IfcParse::entity*)IFC4X3_types[963]); } Ifc4x3::IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(IfcEntityInstanceData&& e) : IfcRevolvedAreaSolid(std::move(e)) { } -Ifc4x3::IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(::Ifc4x3::IfcProfileDef* v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3::IfcAxis1Placement* v3_Axis, double v4_Angle, ::Ifc4x3::IfcProfileDef* v5_EndSweptArea) : IfcRevolvedAreaSolid(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(::Ifc4x3::IfcProfileDef* v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3::IfcAxis1Placement* v3_Axis, double v4_Angle, ::Ifc4x3::IfcProfileDef* v5_EndSweptArea) : IfcRevolvedAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRightCircularCone -double Ifc4x3::IfcRightCircularCone::Height() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3::IfcRightCircularCone::Height() const { double v = get_attribute_value(1); return v; } void Ifc4x3::IfcRightCircularCone::setHeight(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3::IfcRightCircularCone::BottomRadius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3::IfcRightCircularCone::BottomRadius() const { double v = get_attribute_value(2); return v; } void Ifc4x3::IfcRightCircularCone::setBottomRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcRightCircularCone::declaration() const { return *((IfcParse::entity*)IFC4X3_types[964]); } const IfcParse::entity& Ifc4x3::IfcRightCircularCone::Class() { return *((IfcParse::entity*)IFC4X3_types[964]); } Ifc4x3::IfcRightCircularCone::IfcRightCircularCone(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3::IfcRightCircularCone::IfcRightCircularCone(::Ifc4x3::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_BottomRadius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; populate_derived(); } +Ifc4x3::IfcRightCircularCone::IfcRightCircularCone(::Ifc4x3::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_BottomRadius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; populate_derived(); } // Function implementations for IfcRightCircularCylinder -double Ifc4x3::IfcRightCircularCylinder::Height() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3::IfcRightCircularCylinder::Height() const { double v = get_attribute_value(1); return v; } void Ifc4x3::IfcRightCircularCylinder::setHeight(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3::IfcRightCircularCylinder::Radius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3::IfcRightCircularCylinder::Radius() const { double v = get_attribute_value(2); return v; } void Ifc4x3::IfcRightCircularCylinder::setRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcRightCircularCylinder::declaration() const { return *((IfcParse::entity*)IFC4X3_types[965]); } const IfcParse::entity& Ifc4x3::IfcRightCircularCylinder::Class() { return *((IfcParse::entity*)IFC4X3_types[965]); } Ifc4x3::IfcRightCircularCylinder::IfcRightCircularCylinder(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3::IfcRightCircularCylinder::IfcRightCircularCylinder(::Ifc4x3::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; populate_derived(); } +Ifc4x3::IfcRightCircularCylinder::IfcRightCircularCylinder(::Ifc4x3::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; populate_derived(); } // Function implementations for IfcRoad -boost::optional< ::Ifc4x3::IfcRoadTypeEnum::Value > Ifc4x3::IfcRoad::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3::IfcRoadTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3::IfcRoadTypeEnum::Value > Ifc4x3::IfcRoad::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3::IfcRoadTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcRoad::setPredefinedType(boost::optional< ::Ifc4x3::IfcRoadTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcRoadTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3::IfcRoad::declaration() const { return *((IfcParse::entity*)IFC4X3_types[966]); } const IfcParse::entity& Ifc4x3::IfcRoad::Class() { return *((IfcParse::entity*)IFC4X3_types[966]); } Ifc4x3::IfcRoad::IfcRoad(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x3::IfcRoad::IfcRoad(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3::IfcRoadTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcRoadTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcRoad::IfcRoad(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3::IfcRoadTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcRoadTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRoadPart -boost::optional< ::Ifc4x3::IfcRoadPartTypeEnum::Value > Ifc4x3::IfcRoadPart::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcRoadPartTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3::IfcRoadPartTypeEnum::Value > Ifc4x3::IfcRoadPart::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcRoadPartTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3::IfcRoadPart::setPredefinedType(boost::optional< ::Ifc4x3::IfcRoadPartTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3::IfcRoadPartTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3::IfcRoadPart::declaration() const { return *((IfcParse::entity*)IFC4X3_types[967]); } const IfcParse::entity& Ifc4x3::IfcRoadPart::Class() { return *((IfcParse::entity*)IFC4X3_types[967]); } Ifc4x3::IfcRoadPart::IfcRoadPart(IfcEntityInstanceData&& e) : IfcFacilityPart(std::move(e)) { } -Ifc4x3::IfcRoadPart::IfcRoadPart(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3::IfcRoadPartTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcRoadPartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcRoadPart::IfcRoadPart(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3::IfcRoadPartTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcRoadPartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRoof -boost::optional< ::Ifc4x3::IfcRoofTypeEnum::Value > Ifc4x3::IfcRoof::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcRoofTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcRoofTypeEnum::Value > Ifc4x3::IfcRoof::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcRoofTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcRoof::setPredefinedType(boost::optional< ::Ifc4x3::IfcRoofTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcRoofTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcRoof::declaration() const { return *((IfcParse::entity*)IFC4X3_types[971]); } const IfcParse::entity& Ifc4x3::IfcRoof::Class() { return *((IfcParse::entity*)IFC4X3_types[971]); } Ifc4x3::IfcRoof::IfcRoof(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3::IfcRoof::IfcRoof(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcRoofTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcRoof::IfcRoof(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcRoofTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRoofType -::Ifc4x3::IfcRoofTypeEnum::Value Ifc4x3::IfcRoofType::PredefinedType() const { return ::Ifc4x3::IfcRoofTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcRoofTypeEnum::Value Ifc4x3::IfcRoofType::PredefinedType() const { return ::Ifc4x3::IfcRoofTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcRoofType::setPredefinedType(::Ifc4x3::IfcRoofTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcRoofTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcRoofType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[972]); } const IfcParse::entity& Ifc4x3::IfcRoofType::Class() { return *((IfcParse::entity*)IFC4X3_types[972]); } Ifc4x3::IfcRoofType::IfcRoofType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3::IfcRoofType::IfcRoofType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcRoofTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcRoofType::IfcRoofType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcRoofTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRoot -std::string Ifc4x3::IfcRoot::GlobalId() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3::IfcRoot::GlobalId() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcRoot::setGlobalId(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3::IfcOwnerHistory* Ifc4x3::IfcRoot::OwnerHistory() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcOwnerHistory>(true); } +::Ifc4x3::IfcOwnerHistory* Ifc4x3::IfcRoot::OwnerHistory() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcOwnerHistory>(true); } void Ifc4x3::IfcRoot::setOwnerHistory(::Ifc4x3::IfcOwnerHistory* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3::IfcRoot::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3::IfcRoot::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3::IfcRoot::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3::IfcRoot::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3::IfcRoot::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3::IfcRoot::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3::IfcRoot::declaration() const { return *((IfcParse::entity*)IFC4X3_types[974]); } const IfcParse::entity& Ifc4x3::IfcRoot::Class() { return *((IfcParse::entity*)IFC4X3_types[974]); } Ifc4x3::IfcRoot::IfcRoot(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcRoot::IfcRoot(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3::IfcRoot::IfcRoot(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRoundedRectangleProfileDef -double Ifc4x3::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = get_attribute_value(5); return v; } void Ifc4x3::IfcRoundedRectangleProfileDef::setRoundingRadius(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcRoundedRectangleProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_types[979]); } const IfcParse::entity& Ifc4x3::IfcRoundedRectangleProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_types[979]); } Ifc4x3::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(IfcEntityInstanceData&& e) : IfcRectangleProfileDef(std::move(e)) { } -Ifc4x3::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; populate_derived(); } +Ifc4x3::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; populate_derived(); } // Function implementations for IfcSIUnit -boost::optional< ::Ifc4x3::IfcSIPrefix::Value > Ifc4x3::IfcSIUnit::Prefix() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3::IfcSIPrefix::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc4x3::IfcSIPrefix::Value > Ifc4x3::IfcSIUnit::Prefix() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3::IfcSIPrefix::FromString(get_attribute_value(2)); } void Ifc4x3::IfcSIUnit::setPrefix(boost::optional< ::Ifc4x3::IfcSIPrefix::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc4x3::IfcSIPrefix::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -::Ifc4x3::IfcSIUnitName::Value Ifc4x3::IfcSIUnit::Name() const { return ::Ifc4x3::IfcSIUnitName::FromString(data_.get_attribute_value(3)); } +::Ifc4x3::IfcSIUnitName::Value Ifc4x3::IfcSIUnit::Name() const { return ::Ifc4x3::IfcSIUnitName::FromString(get_attribute_value(3)); } void Ifc4x3::IfcSIUnit::setName(::Ifc4x3::IfcSIUnitName::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc4x3::IfcSIUnitName::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcSIUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1025]); } const IfcParse::entity& Ifc4x3::IfcSIUnit::Class() { return *((IfcParse::entity*)IFC4X3_types[1025]); } Ifc4x3::IfcSIUnit::IfcSIUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -Ifc4x3::IfcSIUnit::IfcSIUnit(::Ifc4x3::IfcUnitEnum::Value v2_UnitType, boost::optional< ::Ifc4x3::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3::IfcSIUnitName::Value v4_Name) : IfcNamedUnit(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(1, (EnumerationReference(&::Ifc4x3::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (EnumerationReference(&::Ifc4x3::IfcSIUnitName::Class(),(size_t)v4_Name)));; populate_derived(); } +Ifc4x3::IfcSIUnit::IfcSIUnit(::Ifc4x3::IfcUnitEnum::Value v2_UnitType, boost::optional< ::Ifc4x3::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3::IfcSIUnitName::Value v4_Name) : IfcNamedUnit(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(1, (EnumerationReference(&::Ifc4x3::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (EnumerationReference(&::Ifc4x3::IfcSIUnitName::Class(),(size_t)v4_Name)));; populate_derived(); } // Function implementations for IfcSanitaryTerminal -boost::optional< ::Ifc4x3::IfcSanitaryTerminalTypeEnum::Value > Ifc4x3::IfcSanitaryTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcSanitaryTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcSanitaryTerminalTypeEnum::Value > Ifc4x3::IfcSanitaryTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcSanitaryTerminal::setPredefinedType(boost::optional< ::Ifc4x3::IfcSanitaryTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcSanitaryTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcSanitaryTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_types[980]); } const IfcParse::entity& Ifc4x3::IfcSanitaryTerminal::Class() { return *((IfcParse::entity*)IFC4X3_types[980]); } Ifc4x3::IfcSanitaryTerminal::IfcSanitaryTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3::IfcSanitaryTerminal::IfcSanitaryTerminal(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcSanitaryTerminal::IfcSanitaryTerminal(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSanitaryTerminalType -::Ifc4x3::IfcSanitaryTerminalTypeEnum::Value Ifc4x3::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4x3::IfcSanitaryTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcSanitaryTerminalTypeEnum::Value Ifc4x3::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4x3::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcSanitaryTerminalType::setPredefinedType(::Ifc4x3::IfcSanitaryTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcSanitaryTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcSanitaryTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[981]); } const IfcParse::entity& Ifc4x3::IfcSanitaryTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_types[981]); } Ifc4x3::IfcSanitaryTerminalType::IfcSanitaryTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3::IfcSanitaryTerminalType::IfcSanitaryTerminalType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcSanitaryTerminalType::IfcSanitaryTerminalType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSchedulingTime -boost::optional< std::string > Ifc4x3::IfcSchedulingTime::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3::IfcSchedulingTime::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcSchedulingTime::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< ::Ifc4x3::IfcDataOriginEnum::Value > Ifc4x3::IfcSchedulingTime::DataOrigin() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } return ::Ifc4x3::IfcDataOriginEnum::FromString(data_.get_attribute_value(1)); } +boost::optional< ::Ifc4x3::IfcDataOriginEnum::Value > Ifc4x3::IfcSchedulingTime::DataOrigin() const { if(get_attribute_value(1).isNull()) { return boost::none; } return ::Ifc4x3::IfcDataOriginEnum::FromString(get_attribute_value(1)); } void Ifc4x3::IfcSchedulingTime::setDataOrigin(boost::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v) { if (v) {set_attribute_value(1, EnumerationReference(&::Ifc4x3::IfcDataOriginEnum::Class(), (size_t) *v));} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3::IfcSchedulingTime::UserDefinedDataOrigin() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3::IfcSchedulingTime::UserDefinedDataOrigin() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3::IfcSchedulingTime::setUserDefinedDataOrigin(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3::IfcSchedulingTime::declaration() const { return *((IfcParse::entity*)IFC4X3_types[983]); } const IfcParse::entity& Ifc4x3::IfcSchedulingTime::Class() { return *((IfcParse::entity*)IFC4X3_types[983]); } Ifc4x3::IfcSchedulingTime::IfcSchedulingTime(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }; populate_derived(); } +Ifc4x3::IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }; populate_derived(); } // Function implementations for IfcSeamCurve @@ -15577,108 +15577,108 @@ Ifc4x3::IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > v1_N const IfcParse::entity& Ifc4x3::IfcSeamCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_types[984]); } const IfcParse::entity& Ifc4x3::IfcSeamCurve::Class() { return *((IfcParse::entity*)IFC4X3_types[984]); } Ifc4x3::IfcSeamCurve::IfcSeamCurve(IfcEntityInstanceData&& e) : IfcSurfaceCurve(std::move(e)) { } -Ifc4x3::IfcSeamCurve::IfcSeamCurve(::Ifc4x3::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } +Ifc4x3::IfcSeamCurve::IfcSeamCurve(::Ifc4x3::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcSecondOrderPolynomialSpiral -double Ifc4x3::IfcSecondOrderPolynomialSpiral::QuadraticTerm() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3::IfcSecondOrderPolynomialSpiral::QuadraticTerm() const { double v = get_attribute_value(1); return v; } void Ifc4x3::IfcSecondOrderPolynomialSpiral::setQuadraticTerm(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3::IfcSecondOrderPolynomialSpiral::LinearTerm() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3::IfcSecondOrderPolynomialSpiral::LinearTerm() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3::IfcSecondOrderPolynomialSpiral::setLinearTerm(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3::IfcSecondOrderPolynomialSpiral::ConstantTerm() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3::IfcSecondOrderPolynomialSpiral::ConstantTerm() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3::IfcSecondOrderPolynomialSpiral::setConstantTerm(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3::IfcSecondOrderPolynomialSpiral::declaration() const { return *((IfcParse::entity*)IFC4X3_types[985]); } const IfcParse::entity& Ifc4x3::IfcSecondOrderPolynomialSpiral::Class() { return *((IfcParse::entity*)IFC4X3_types[985]); } Ifc4x3::IfcSecondOrderPolynomialSpiral::IfcSecondOrderPolynomialSpiral(IfcEntityInstanceData&& e) : IfcSpiral(std::move(e)) { } -Ifc4x3::IfcSecondOrderPolynomialSpiral::IfcSecondOrderPolynomialSpiral(::Ifc4x3::IfcAxis2Placement* v1_Position, double v2_QuadraticTerm, boost::optional< double > v3_LinearTerm, boost::optional< double > v4_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_QuadraticTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); }; populate_derived(); } +Ifc4x3::IfcSecondOrderPolynomialSpiral::IfcSecondOrderPolynomialSpiral(::Ifc4x3::IfcAxis2Placement* v1_Position, double v2_QuadraticTerm, boost::optional< double > v3_LinearTerm, boost::optional< double > v4_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_QuadraticTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); }; populate_derived(); } // Function implementations for IfcSectionProperties -::Ifc4x3::IfcSectionTypeEnum::Value Ifc4x3::IfcSectionProperties::SectionType() const { return ::Ifc4x3::IfcSectionTypeEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3::IfcSectionTypeEnum::Value Ifc4x3::IfcSectionProperties::SectionType() const { return ::Ifc4x3::IfcSectionTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x3::IfcSectionProperties::setSectionType(::Ifc4x3::IfcSectionTypeEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3::IfcSectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x3::IfcProfileDef* Ifc4x3::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcProfileDef>(true); } +::Ifc4x3::IfcProfileDef* Ifc4x3::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcProfileDef>(true); } void Ifc4x3::IfcSectionProperties::setStartProfile(::Ifc4x3::IfcProfileDef* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3::IfcProfileDef* Ifc4x3::IfcSectionProperties::EndProfile() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcProfileDef>(true); } +::Ifc4x3::IfcProfileDef* Ifc4x3::IfcSectionProperties::EndProfile() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcProfileDef>(true); } void Ifc4x3::IfcSectionProperties::setEndProfile(::Ifc4x3::IfcProfileDef* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcSectionProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_types[992]); } const IfcParse::entity& Ifc4x3::IfcSectionProperties::Class() { return *((IfcParse::entity*)IFC4X3_types[992]); } Ifc4x3::IfcSectionProperties::IfcSectionProperties(IfcEntityInstanceData&& e) : IfcPreDefinedProperties(std::move(e)) { } -Ifc4x3::IfcSectionProperties::IfcSectionProperties(::Ifc4x3::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3::IfcProfileDef* v2_StartProfile, ::Ifc4x3::IfcProfileDef* v3_EndProfile) : IfcPreDefinedProperties(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, v2_StartProfile ? v2_StartProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EndProfile ? v3_EndProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcSectionProperties::IfcSectionProperties(::Ifc4x3::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3::IfcProfileDef* v2_StartProfile, ::Ifc4x3::IfcProfileDef* v3_EndProfile) : IfcPreDefinedProperties(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, v2_StartProfile ? v2_StartProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EndProfile ? v3_EndProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSectionReinforcementProperties -double Ifc4x3::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = get_attribute_value(0); return v; } void Ifc4x3::IfcSectionReinforcementProperties::setLongitudinalStartPosition(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc4x3::IfcSectionReinforcementProperties::LongitudinalEndPosition() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3::IfcSectionReinforcementProperties::LongitudinalEndPosition() const { double v = get_attribute_value(1); return v; } void Ifc4x3::IfcSectionReinforcementProperties::setLongitudinalEndPosition(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3::IfcSectionReinforcementProperties::TransversePosition() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3::IfcSectionReinforcementProperties::TransversePosition() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3::IfcReinforcingBarRoleEnum::Value Ifc4x3::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x3::IfcReinforcingBarRoleEnum::FromString(data_.get_attribute_value(3)); } +::Ifc4x3::IfcReinforcingBarRoleEnum::Value Ifc4x3::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x3::IfcReinforcingBarRoleEnum::FromString(get_attribute_value(3)); } void Ifc4x3::IfcSectionReinforcementProperties::setReinforcementRole(::Ifc4x3::IfcReinforcingBarRoleEnum::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc4x3::IfcReinforcingBarRoleEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } -::Ifc4x3::IfcSectionProperties* Ifc4x3::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcSectionProperties>(true); } +::Ifc4x3::IfcSectionProperties* Ifc4x3::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcSectionProperties>(true); } void Ifc4x3::IfcSectionReinforcementProperties::setSectionDefinition(::Ifc4x3::IfcSectionProperties* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3::IfcReinforcementBarProperties >::ptr Ifc4x3::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3::IfcReinforcementBarProperties >(); } +aggregate_of< ::Ifc4x3::IfcReinforcementBarProperties >::ptr Ifc4x3::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3::IfcReinforcementBarProperties >(); } void Ifc4x3::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(aggregate_of< ::Ifc4x3::IfcReinforcementBarProperties >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcSectionReinforcementProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_types[993]); } const IfcParse::entity& Ifc4x3::IfcSectionReinforcementProperties::Class() { return *((IfcParse::entity*)IFC4X3_types[993]); } Ifc4x3::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(IfcEntityInstanceData&& e) : IfcPreDefinedProperties(std::move(e)) { } -Ifc4x3::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, boost::optional< double > v3_TransversePosition, ::Ifc4x3::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3::IfcSectionProperties* v5_SectionDefinition, aggregate_of< ::Ifc4x3::IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcPreDefinedProperties(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (EnumerationReference(&::Ifc4x3::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, v5_SectionDefinition ? v5_SectionDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_CrossSectionReinforcementDefinitions)->generalize());; populate_derived(); } +Ifc4x3::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, boost::optional< double > v3_TransversePosition, ::Ifc4x3::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3::IfcSectionProperties* v5_SectionDefinition, aggregate_of< ::Ifc4x3::IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcPreDefinedProperties(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (EnumerationReference(&::Ifc4x3::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, v5_SectionDefinition ? v5_SectionDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_CrossSectionReinforcementDefinitions)->generalize());; populate_derived(); } // Function implementations for IfcSectionedSolid -::Ifc4x3::IfcCurve* Ifc4x3::IfcSectionedSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcCurve>(true); } +::Ifc4x3::IfcCurve* Ifc4x3::IfcSectionedSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcCurve>(true); } void Ifc4x3::IfcSectionedSolid::setDirectrix(::Ifc4x3::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3::IfcProfileDef >::ptr Ifc4x3::IfcSectionedSolid::CrossSections() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3::IfcProfileDef >(); } +aggregate_of< ::Ifc4x3::IfcProfileDef >::ptr Ifc4x3::IfcSectionedSolid::CrossSections() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3::IfcProfileDef >(); } void Ifc4x3::IfcSectionedSolid::setCrossSections(aggregate_of< ::Ifc4x3::IfcProfileDef >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcSectionedSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_types[987]); } const IfcParse::entity& Ifc4x3::IfcSectionedSolid::Class() { return *((IfcParse::entity*)IFC4X3_types[987]); } Ifc4x3::IfcSectionedSolid::IfcSectionedSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3::IfcSectionedSolid::IfcSectionedSolid(::Ifc4x3::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3::IfcProfileDef >::ptr v2_CrossSections) : IfcSolidModel(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());; populate_derived(); } +Ifc4x3::IfcSectionedSolid::IfcSectionedSolid(::Ifc4x3::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3::IfcProfileDef >::ptr v2_CrossSections) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());; populate_derived(); } // Function implementations for IfcSectionedSolidHorizontal -aggregate_of< ::Ifc4x3::IfcAxis2PlacementLinear >::ptr Ifc4x3::IfcSectionedSolidHorizontal::CrossSectionPositions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3::IfcAxis2PlacementLinear >(); } +aggregate_of< ::Ifc4x3::IfcAxis2PlacementLinear >::ptr Ifc4x3::IfcSectionedSolidHorizontal::CrossSectionPositions() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3::IfcAxis2PlacementLinear >(); } void Ifc4x3::IfcSectionedSolidHorizontal::setCrossSectionPositions(aggregate_of< ::Ifc4x3::IfcAxis2PlacementLinear >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcSectionedSolidHorizontal::declaration() const { return *((IfcParse::entity*)IFC4X3_types[988]); } const IfcParse::entity& Ifc4x3::IfcSectionedSolidHorizontal::Class() { return *((IfcParse::entity*)IFC4X3_types[988]); } Ifc4x3::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(IfcEntityInstanceData&& e) : IfcSectionedSolid(std::move(e)) { } -Ifc4x3::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(::Ifc4x3::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3::IfcAxis2PlacementLinear >::ptr v3_CrossSectionPositions) : IfcSectionedSolid(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());; populate_derived(); } +Ifc4x3::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(::Ifc4x3::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3::IfcAxis2PlacementLinear >::ptr v3_CrossSectionPositions) : IfcSectionedSolid(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());; populate_derived(); } // Function implementations for IfcSectionedSpine -::Ifc4x3::IfcCompositeCurve* Ifc4x3::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcCompositeCurve>(true); } +::Ifc4x3::IfcCompositeCurve* Ifc4x3::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcCompositeCurve>(true); } void Ifc4x3::IfcSectionedSpine::setSpineCurve(::Ifc4x3::IfcCompositeCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3::IfcProfileDef >::ptr Ifc4x3::IfcSectionedSpine::CrossSections() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3::IfcProfileDef >(); } +aggregate_of< ::Ifc4x3::IfcProfileDef >::ptr Ifc4x3::IfcSectionedSpine::CrossSections() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3::IfcProfileDef >(); } void Ifc4x3::IfcSectionedSpine::setCrossSections(aggregate_of< ::Ifc4x3::IfcProfileDef >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3::IfcAxis2Placement3D >::ptr Ifc4x3::IfcSectionedSpine::CrossSectionPositions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3::IfcAxis2Placement3D >(); } +aggregate_of< ::Ifc4x3::IfcAxis2Placement3D >::ptr Ifc4x3::IfcSectionedSpine::CrossSectionPositions() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3::IfcAxis2Placement3D >(); } void Ifc4x3::IfcSectionedSpine::setCrossSectionPositions(aggregate_of< ::Ifc4x3::IfcAxis2Placement3D >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcSectionedSpine::declaration() const { return *((IfcParse::entity*)IFC4X3_types[989]); } const IfcParse::entity& Ifc4x3::IfcSectionedSpine::Class() { return *((IfcParse::entity*)IFC4X3_types[989]); } Ifc4x3::IfcSectionedSpine::IfcSectionedSpine(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3::IfcSectionedSpine::IfcSectionedSpine(::Ifc4x3::IfcCompositeCurve* v1_SpineCurve, aggregate_of< ::Ifc4x3::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3::IfcAxis2Placement3D >::ptr v3_CrossSectionPositions) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_SpineCurve ? v1_SpineCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());; populate_derived(); } +Ifc4x3::IfcSectionedSpine::IfcSectionedSpine(::Ifc4x3::IfcCompositeCurve* v1_SpineCurve, aggregate_of< ::Ifc4x3::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3::IfcAxis2Placement3D >::ptr v3_CrossSectionPositions) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_SpineCurve ? v1_SpineCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());; populate_derived(); } // Function implementations for IfcSectionedSurface -::Ifc4x3::IfcCurve* Ifc4x3::IfcSectionedSurface::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcCurve>(true); } +::Ifc4x3::IfcCurve* Ifc4x3::IfcSectionedSurface::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcCurve>(true); } void Ifc4x3::IfcSectionedSurface::setDirectrix(::Ifc4x3::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3::IfcAxis2PlacementLinear >::ptr Ifc4x3::IfcSectionedSurface::CrossSectionPositions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3::IfcAxis2PlacementLinear >(); } +aggregate_of< ::Ifc4x3::IfcAxis2PlacementLinear >::ptr Ifc4x3::IfcSectionedSurface::CrossSectionPositions() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3::IfcAxis2PlacementLinear >(); } void Ifc4x3::IfcSectionedSurface::setCrossSectionPositions(aggregate_of< ::Ifc4x3::IfcAxis2PlacementLinear >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3::IfcProfileDef >::ptr Ifc4x3::IfcSectionedSurface::CrossSections() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3::IfcProfileDef >(); } +aggregate_of< ::Ifc4x3::IfcProfileDef >::ptr Ifc4x3::IfcSectionedSurface::CrossSections() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3::IfcProfileDef >(); } void Ifc4x3::IfcSectionedSurface::setCrossSections(aggregate_of< ::Ifc4x3::IfcProfileDef >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcSectionedSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_types[990]); } const IfcParse::entity& Ifc4x3::IfcSectionedSurface::Class() { return *((IfcParse::entity*)IFC4X3_types[990]); } Ifc4x3::IfcSectionedSurface::IfcSectionedSurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x3::IfcSectionedSurface::IfcSectionedSurface(::Ifc4x3::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3::IfcAxis2PlacementLinear >::ptr v2_CrossSectionPositions, aggregate_of< ::Ifc4x3::IfcProfileDef >::ptr v3_CrossSections) : IfcSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSectionPositions)->generalize());set_attribute_value(2, (v3_CrossSections)->generalize());; populate_derived(); } +Ifc4x3::IfcSectionedSurface::IfcSectionedSurface(::Ifc4x3::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3::IfcAxis2PlacementLinear >::ptr v2_CrossSectionPositions, aggregate_of< ::Ifc4x3::IfcProfileDef >::ptr v3_CrossSections) : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSectionPositions)->generalize());set_attribute_value(2, (v3_CrossSections)->generalize());; populate_derived(); } // Function implementations for IfcSegment -::Ifc4x3::IfcTransitionCode::Value Ifc4x3::IfcSegment::Transition() const { return ::Ifc4x3::IfcTransitionCode::FromString(data_.get_attribute_value(0)); } +::Ifc4x3::IfcTransitionCode::Value Ifc4x3::IfcSegment::Transition() const { return ::Ifc4x3::IfcTransitionCode::FromString(get_attribute_value(0)); } void Ifc4x3::IfcSegment::setTransition(::Ifc4x3::IfcTransitionCode::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3::IfcTransitionCode::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } ::Ifc4x3::IfcCompositeCurve::list::ptr Ifc4x3::IfcSegment::UsingCurves() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[193], 0)->as(); } @@ -15686,94 +15686,94 @@ void Ifc4x3::IfcSegment::setTransition(::Ifc4x3::IfcTransitionCode::Value v) { s const IfcParse::entity& Ifc4x3::IfcSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_types[995]); } const IfcParse::entity& Ifc4x3::IfcSegment::Class() { return *((IfcParse::entity*)IFC4X3_types[995]); } Ifc4x3::IfcSegment::IfcSegment(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3::IfcSegment::IfcSegment(::Ifc4x3::IfcTransitionCode::Value v1_Transition) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcTransitionCode::Class(),(size_t)v1_Transition)));; populate_derived(); } +Ifc4x3::IfcSegment::IfcSegment(::Ifc4x3::IfcTransitionCode::Value v1_Transition) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcTransitionCode::Class(),(size_t)v1_Transition)));; populate_derived(); } // Function implementations for IfcSegmentedReferenceCurve -::Ifc4x3::IfcBoundedCurve* Ifc4x3::IfcSegmentedReferenceCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcBoundedCurve>(true); } +::Ifc4x3::IfcBoundedCurve* Ifc4x3::IfcSegmentedReferenceCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcBoundedCurve>(true); } void Ifc4x3::IfcSegmentedReferenceCurve::setBaseCurve(::Ifc4x3::IfcBoundedCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3::IfcPlacement* Ifc4x3::IfcSegmentedReferenceCurve::EndPoint() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcPlacement>(true); } +::Ifc4x3::IfcPlacement* Ifc4x3::IfcSegmentedReferenceCurve::EndPoint() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcPlacement>(true); } void Ifc4x3::IfcSegmentedReferenceCurve::setEndPoint(::Ifc4x3::IfcPlacement* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcSegmentedReferenceCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_types[996]); } const IfcParse::entity& Ifc4x3::IfcSegmentedReferenceCurve::Class() { return *((IfcParse::entity*)IFC4X3_types[996]); } Ifc4x3::IfcSegmentedReferenceCurve::IfcSegmentedReferenceCurve(IfcEntityInstanceData&& e) : IfcCompositeCurve(std::move(e)) { } -Ifc4x3::IfcSegmentedReferenceCurve::IfcSegmentedReferenceCurve(aggregate_of< ::Ifc4x3::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3::IfcBoundedCurve* v3_BaseCurve, ::Ifc4x3::IfcPlacement* v4_EndPoint) : IfcCompositeCurve(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, v3_BaseCurve ? v3_BaseCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_EndPoint ? v4_EndPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcSegmentedReferenceCurve::IfcSegmentedReferenceCurve(aggregate_of< ::Ifc4x3::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3::IfcBoundedCurve* v3_BaseCurve, ::Ifc4x3::IfcPlacement* v4_EndPoint) : IfcCompositeCurve(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, v3_BaseCurve ? v3_BaseCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_EndPoint ? v4_EndPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSensor -boost::optional< ::Ifc4x3::IfcSensorTypeEnum::Value > Ifc4x3::IfcSensor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcSensorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcSensorTypeEnum::Value > Ifc4x3::IfcSensor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcSensorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcSensor::setPredefinedType(boost::optional< ::Ifc4x3::IfcSensorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcSensorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcSensor::declaration() const { return *((IfcParse::entity*)IFC4X3_types[998]); } const IfcParse::entity& Ifc4x3::IfcSensor::Class() { return *((IfcParse::entity*)IFC4X3_types[998]); } Ifc4x3::IfcSensor::IfcSensor(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3::IfcSensor::IfcSensor(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcSensorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcSensor::IfcSensor(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcSensorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSensorType -::Ifc4x3::IfcSensorTypeEnum::Value Ifc4x3::IfcSensorType::PredefinedType() const { return ::Ifc4x3::IfcSensorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcSensorTypeEnum::Value Ifc4x3::IfcSensorType::PredefinedType() const { return ::Ifc4x3::IfcSensorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcSensorType::setPredefinedType(::Ifc4x3::IfcSensorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcSensorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcSensorType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[999]); } const IfcParse::entity& Ifc4x3::IfcSensorType::Class() { return *((IfcParse::entity*)IFC4X3_types[999]); } Ifc4x3::IfcSensorType::IfcSensorType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3::IfcSensorType::IfcSensorType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSensorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcSensorType::IfcSensorType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSensorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSeventhOrderPolynomialSpiral -double Ifc4x3::IfcSeventhOrderPolynomialSpiral::SepticTerm() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3::IfcSeventhOrderPolynomialSpiral::SepticTerm() const { double v = get_attribute_value(1); return v; } void Ifc4x3::IfcSeventhOrderPolynomialSpiral::setSepticTerm(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3::IfcSeventhOrderPolynomialSpiral::SexticTerm() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3::IfcSeventhOrderPolynomialSpiral::SexticTerm() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3::IfcSeventhOrderPolynomialSpiral::setSexticTerm(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3::IfcSeventhOrderPolynomialSpiral::QuinticTerm() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3::IfcSeventhOrderPolynomialSpiral::QuinticTerm() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3::IfcSeventhOrderPolynomialSpiral::setQuinticTerm(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3::IfcSeventhOrderPolynomialSpiral::QuarticTerm() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3::IfcSeventhOrderPolynomialSpiral::QuarticTerm() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3::IfcSeventhOrderPolynomialSpiral::setQuarticTerm(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3::IfcSeventhOrderPolynomialSpiral::CubicTerm() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3::IfcSeventhOrderPolynomialSpiral::CubicTerm() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3::IfcSeventhOrderPolynomialSpiral::setCubicTerm(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3::IfcSeventhOrderPolynomialSpiral::QuadraticTerm() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3::IfcSeventhOrderPolynomialSpiral::QuadraticTerm() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3::IfcSeventhOrderPolynomialSpiral::setQuadraticTerm(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3::IfcSeventhOrderPolynomialSpiral::LinearTerm() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3::IfcSeventhOrderPolynomialSpiral::LinearTerm() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3::IfcSeventhOrderPolynomialSpiral::setLinearTerm(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3::IfcSeventhOrderPolynomialSpiral::ConstantTerm() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3::IfcSeventhOrderPolynomialSpiral::ConstantTerm() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3::IfcSeventhOrderPolynomialSpiral::setConstantTerm(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcSeventhOrderPolynomialSpiral::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1002]); } const IfcParse::entity& Ifc4x3::IfcSeventhOrderPolynomialSpiral::Class() { return *((IfcParse::entity*)IFC4X3_types[1002]); } Ifc4x3::IfcSeventhOrderPolynomialSpiral::IfcSeventhOrderPolynomialSpiral(IfcEntityInstanceData&& e) : IfcSpiral(std::move(e)) { } -Ifc4x3::IfcSeventhOrderPolynomialSpiral::IfcSeventhOrderPolynomialSpiral(::Ifc4x3::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(storage_t(9))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SepticTerm)); if (v3_SexticTerm) {set_attribute_value(2, (*v3_SexticTerm)); } if (v4_QuinticTerm) {set_attribute_value(3, (*v4_QuinticTerm)); } if (v5_QuarticTerm) {set_attribute_value(4, (*v5_QuarticTerm)); } if (v6_CubicTerm) {set_attribute_value(5, (*v6_CubicTerm)); } if (v7_QuadraticTerm) {set_attribute_value(6, (*v7_QuadraticTerm)); } if (v8_LinearTerm) {set_attribute_value(7, (*v8_LinearTerm)); } if (v9_ConstantTerm) {set_attribute_value(8, (*v9_ConstantTerm)); }; populate_derived(); } +Ifc4x3::IfcSeventhOrderPolynomialSpiral::IfcSeventhOrderPolynomialSpiral(::Ifc4x3::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(in_memory_attribute_storage(9))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SepticTerm)); if (v3_SexticTerm) {set_attribute_value(2, (*v3_SexticTerm)); } if (v4_QuinticTerm) {set_attribute_value(3, (*v4_QuinticTerm)); } if (v5_QuarticTerm) {set_attribute_value(4, (*v5_QuarticTerm)); } if (v6_CubicTerm) {set_attribute_value(5, (*v6_CubicTerm)); } if (v7_QuadraticTerm) {set_attribute_value(6, (*v7_QuadraticTerm)); } if (v8_LinearTerm) {set_attribute_value(7, (*v8_LinearTerm)); } if (v9_ConstantTerm) {set_attribute_value(8, (*v9_ConstantTerm)); }; populate_derived(); } // Function implementations for IfcShadingDevice -boost::optional< ::Ifc4x3::IfcShadingDeviceTypeEnum::Value > Ifc4x3::IfcShadingDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcShadingDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcShadingDeviceTypeEnum::Value > Ifc4x3::IfcShadingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcShadingDevice::setPredefinedType(boost::optional< ::Ifc4x3::IfcShadingDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcShadingDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcShadingDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1003]); } const IfcParse::entity& Ifc4x3::IfcShadingDevice::Class() { return *((IfcParse::entity*)IFC4X3_types[1003]); } Ifc4x3::IfcShadingDevice::IfcShadingDevice(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3::IfcShadingDevice::IfcShadingDevice(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcShadingDevice::IfcShadingDevice(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcShadingDeviceType -::Ifc4x3::IfcShadingDeviceTypeEnum::Value Ifc4x3::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4x3::IfcShadingDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcShadingDeviceTypeEnum::Value Ifc4x3::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4x3::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcShadingDeviceType::setPredefinedType(::Ifc4x3::IfcShadingDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcShadingDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcShadingDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1004]); } const IfcParse::entity& Ifc4x3::IfcShadingDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_types[1004]); } Ifc4x3::IfcShadingDeviceType::IfcShadingDeviceType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3::IfcShadingDeviceType::IfcShadingDeviceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcShadingDeviceType::IfcShadingDeviceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcShapeAspect -aggregate_of< ::Ifc4x3::IfcShapeModel >::ptr Ifc4x3::IfcShapeAspect::ShapeRepresentations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3::IfcShapeModel >(); } +aggregate_of< ::Ifc4x3::IfcShapeModel >::ptr Ifc4x3::IfcShapeAspect::ShapeRepresentations() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3::IfcShapeModel >(); } void Ifc4x3::IfcShapeAspect::setShapeRepresentations(aggregate_of< ::Ifc4x3::IfcShapeModel >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3::IfcShapeAspect::Name() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3::IfcShapeAspect::Name() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcShapeAspect::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3::IfcShapeAspect::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3::IfcShapeAspect::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3::IfcShapeAspect::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::logic::tribool Ifc4x3::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = data_.get_attribute_value(3); return v; } +boost::logic::tribool Ifc4x3::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = get_attribute_value(3); return v; } void Ifc4x3::IfcShapeAspect::setProductDefinitional(boost::logic::tribool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3::IfcProductRepresentationSelect* Ifc4x3::IfcShapeAspect::PartOfProductDefinitionShape() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcProductRepresentationSelect>(true); } +::Ifc4x3::IfcProductRepresentationSelect* Ifc4x3::IfcShapeAspect::PartOfProductDefinitionShape() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcProductRepresentationSelect>(true); } void Ifc4x3::IfcShapeAspect::setPartOfProductDefinitionShape(::Ifc4x3::IfcProductRepresentationSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } ::Ifc4x3::IfcExternalReferenceRelationship::list::ptr Ifc4x3::IfcShapeAspect::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[430], 3)->as(); } @@ -15781,7 +15781,7 @@ void Ifc4x3::IfcShapeAspect::setPartOfProductDefinitionShape(::Ifc4x3::IfcProduc const IfcParse::entity& Ifc4x3::IfcShapeAspect::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1006]); } const IfcParse::entity& Ifc4x3::IfcShapeAspect::Class() { return *((IfcParse::entity*)IFC4X3_types[1006]); } Ifc4x3::IfcShapeAspect::IfcShapeAspect(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcShapeAspect::IfcShapeAspect(aggregate_of< ::Ifc4x3::IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3::IfcProductRepresentationSelect* v5_PartOfProductDefinitionShape) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_ShapeRepresentations)->generalize()); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, v5_PartOfProductDefinitionShape ? v5_PartOfProductDefinitionShape->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcShapeAspect::IfcShapeAspect(aggregate_of< ::Ifc4x3::IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3::IfcProductRepresentationSelect* v5_PartOfProductDefinitionShape) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_ShapeRepresentations)->generalize()); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, v5_PartOfProductDefinitionShape ? v5_PartOfProductDefinitionShape->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcShapeModel @@ -15790,7 +15790,7 @@ Ifc4x3::IfcShapeAspect::IfcShapeAspect(aggregate_of< ::Ifc4x3::IfcShapeModel >:: const IfcParse::entity& Ifc4x3::IfcShapeModel::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1007]); } const IfcParse::entity& Ifc4x3::IfcShapeModel::Class() { return *((IfcParse::entity*)IFC4X3_types[1007]); } Ifc4x3::IfcShapeModel::IfcShapeModel(IfcEntityInstanceData&& e) : IfcRepresentation(std::move(e)) { } -Ifc4x3::IfcShapeModel::IfcShapeModel(::Ifc4x3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3::IfcShapeModel::IfcShapeModel(::Ifc4x3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcShapeRepresentation @@ -15798,57 +15798,57 @@ Ifc4x3::IfcShapeModel::IfcShapeModel(::Ifc4x3::IfcRepresentationContext* v1_Cont const IfcParse::entity& Ifc4x3::IfcShapeRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1008]); } const IfcParse::entity& Ifc4x3::IfcShapeRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_types[1008]); } Ifc4x3::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceData&& e) : IfcShapeModel(std::move(e)) { } -Ifc4x3::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcShellBasedSurfaceModel -aggregate_of< ::Ifc4x3::IfcShell >::ptr Ifc4x3::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3::IfcShell >(); } +aggregate_of< ::Ifc4x3::IfcShell >::ptr Ifc4x3::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3::IfcShell >(); } void Ifc4x3::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x3::IfcShell >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3::IfcShellBasedSurfaceModel::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1011]); } const IfcParse::entity& Ifc4x3::IfcShellBasedSurfaceModel::Class() { return *((IfcParse::entity*)IFC4X3_types[1011]); } Ifc4x3::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_SbsmBoundary)->generalize());; populate_derived(); } +Ifc4x3::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_SbsmBoundary)->generalize());; populate_derived(); } // Function implementations for IfcSign -boost::optional< ::Ifc4x3::IfcSignTypeEnum::Value > Ifc4x3::IfcSign::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcSignTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcSignTypeEnum::Value > Ifc4x3::IfcSign::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcSignTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcSign::setPredefinedType(boost::optional< ::Ifc4x3::IfcSignTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcSignTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcSign::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1012]); } const IfcParse::entity& Ifc4x3::IfcSign::Class() { return *((IfcParse::entity*)IFC4X3_types[1012]); } Ifc4x3::IfcSign::IfcSign(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3::IfcSign::IfcSign(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcSignTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcSignTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcSign::IfcSign(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcSignTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcSignTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSignType -::Ifc4x3::IfcSignTypeEnum::Value Ifc4x3::IfcSignType::PredefinedType() const { return ::Ifc4x3::IfcSignTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcSignTypeEnum::Value Ifc4x3::IfcSignType::PredefinedType() const { return ::Ifc4x3::IfcSignTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcSignType::setPredefinedType(::Ifc4x3::IfcSignTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcSignTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcSignType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1016]); } const IfcParse::entity& Ifc4x3::IfcSignType::Class() { return *((IfcParse::entity*)IFC4X3_types[1016]); } Ifc4x3::IfcSignType::IfcSignType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3::IfcSignType::IfcSignType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSignTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcSignTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcSignType::IfcSignType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSignTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcSignTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSignal -boost::optional< ::Ifc4x3::IfcSignalTypeEnum::Value > Ifc4x3::IfcSignal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcSignalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcSignalTypeEnum::Value > Ifc4x3::IfcSignal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcSignalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcSignal::setPredefinedType(boost::optional< ::Ifc4x3::IfcSignalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcSignalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcSignal::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1013]); } const IfcParse::entity& Ifc4x3::IfcSignal::Class() { return *((IfcParse::entity*)IFC4X3_types[1013]); } Ifc4x3::IfcSignal::IfcSignal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3::IfcSignal::IfcSignal(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcSignalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcSignalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcSignal::IfcSignal(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcSignalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcSignalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSignalType -::Ifc4x3::IfcSignalTypeEnum::Value Ifc4x3::IfcSignalType::PredefinedType() const { return ::Ifc4x3::IfcSignalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcSignalTypeEnum::Value Ifc4x3::IfcSignalType::PredefinedType() const { return ::Ifc4x3::IfcSignalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcSignalType::setPredefinedType(::Ifc4x3::IfcSignalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcSignalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcSignalType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1014]); } const IfcParse::entity& Ifc4x3::IfcSignalType::Class() { return *((IfcParse::entity*)IFC4X3_types[1014]); } Ifc4x3::IfcSignalType::IfcSignalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3::IfcSignalType::IfcSignalType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSignalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcSignalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcSignalType::IfcSignalType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSignalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcSignalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSimpleProperty @@ -15856,117 +15856,117 @@ Ifc4x3::IfcSignalType::IfcSignalType(std::string v1_GlobalId, ::Ifc4x3::IfcOwner const IfcParse::entity& Ifc4x3::IfcSimpleProperty::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1018]); } const IfcParse::entity& Ifc4x3::IfcSimpleProperty::Class() { return *((IfcParse::entity*)IFC4X3_types[1018]); } Ifc4x3::IfcSimpleProperty::IfcSimpleProperty(IfcEntityInstanceData&& e) : IfcProperty(std::move(e)) { } -Ifc4x3::IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::optional< std::string > v2_Specification) : IfcProperty(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }; populate_derived(); } +Ifc4x3::IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::optional< std::string > v2_Specification) : IfcProperty(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }; populate_derived(); } // Function implementations for IfcSimplePropertyTemplate -boost::optional< ::Ifc4x3::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x3::IfcSimplePropertyTemplate::TemplateType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x3::IfcSimplePropertyTemplateTypeEnum::FromString(data_.get_attribute_value(4)); } +boost::optional< ::Ifc4x3::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x3::IfcSimplePropertyTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x3::IfcSimplePropertyTemplateTypeEnum::FromString(get_attribute_value(4)); } void Ifc4x3::IfcSimplePropertyTemplate::setTemplateType(boost::optional< ::Ifc4x3::IfcSimplePropertyTemplateTypeEnum::Value > v) { if (v) {set_attribute_value(4, EnumerationReference(&::Ifc4x3::IfcSimplePropertyTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3::IfcSimplePropertyTemplate::PrimaryMeasureType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3::IfcSimplePropertyTemplate::PrimaryMeasureType() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3::IfcSimplePropertyTemplate::setPrimaryMeasureType(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3::IfcSimplePropertyTemplate::setSecondaryMeasureType(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3::IfcPropertyEnumeration* Ifc4x3::IfcSimplePropertyTemplate::Enumerators() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3::IfcPropertyEnumeration>(true); } +::Ifc4x3::IfcPropertyEnumeration* Ifc4x3::IfcSimplePropertyTemplate::Enumerators() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3::IfcPropertyEnumeration>(true); } void Ifc4x3::IfcSimplePropertyTemplate::setEnumerators(::Ifc4x3::IfcPropertyEnumeration* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3::IfcUnit* Ifc4x3::IfcSimplePropertyTemplate::PrimaryUnit() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3::IfcUnit>(true); } +::Ifc4x3::IfcUnit* Ifc4x3::IfcSimplePropertyTemplate::PrimaryUnit() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3::IfcUnit>(true); } void Ifc4x3::IfcSimplePropertyTemplate::setPrimaryUnit(::Ifc4x3::IfcUnit* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -::Ifc4x3::IfcUnit* Ifc4x3::IfcSimplePropertyTemplate::SecondaryUnit() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3::IfcUnit>(true); } +::Ifc4x3::IfcUnit* Ifc4x3::IfcSimplePropertyTemplate::SecondaryUnit() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3::IfcUnit>(true); } void Ifc4x3::IfcSimplePropertyTemplate::setSecondaryUnit(::Ifc4x3::IfcUnit* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3::IfcSimplePropertyTemplate::Expression() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3::IfcSimplePropertyTemplate::Expression() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3::IfcSimplePropertyTemplate::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< ::Ifc4x3::IfcStateEnum::Value > Ifc4x3::IfcSimplePropertyTemplate::AccessState() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3::IfcStateEnum::FromString(data_.get_attribute_value(11)); } +boost::optional< ::Ifc4x3::IfcStateEnum::Value > Ifc4x3::IfcSimplePropertyTemplate::AccessState() const { if(get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3::IfcStateEnum::FromString(get_attribute_value(11)); } void Ifc4x3::IfcSimplePropertyTemplate::setAccessState(boost::optional< ::Ifc4x3::IfcStateEnum::Value > v) { if (v) {set_attribute_value(11, EnumerationReference(&::Ifc4x3::IfcStateEnum::Class(), (size_t) *v));} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x3::IfcSimplePropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1019]); } const IfcParse::entity& Ifc4x3::IfcSimplePropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X3_types[1019]); } Ifc4x3::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplate(std::move(e)) { } -Ifc4x3::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x3::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_PrimaryMeasureType, boost::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3::IfcPropertyEnumeration* v8_Enumerators, ::Ifc4x3::IfcUnit* v9_PrimaryUnit, ::Ifc4x3::IfcUnit* v10_SecondaryUnit, boost::optional< std::string > v11_Expression, boost::optional< ::Ifc4x3::IfcStateEnum::Value > v12_AccessState) : IfcPropertyTemplate(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x3::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, v8_Enumerators ? v8_Enumerators->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_PrimaryUnit ? v9_PrimaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_SecondaryUnit ? v10_SecondaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3::IfcStateEnum::Class(),(size_t)*v12_AccessState))); }; populate_derived(); } +Ifc4x3::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x3::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_PrimaryMeasureType, boost::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3::IfcPropertyEnumeration* v8_Enumerators, ::Ifc4x3::IfcUnit* v9_PrimaryUnit, ::Ifc4x3::IfcUnit* v10_SecondaryUnit, boost::optional< std::string > v11_Expression, boost::optional< ::Ifc4x3::IfcStateEnum::Value > v12_AccessState) : IfcPropertyTemplate(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x3::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, v8_Enumerators ? v8_Enumerators->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_PrimaryUnit ? v9_PrimaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_SecondaryUnit ? v10_SecondaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3::IfcStateEnum::Class(),(size_t)*v12_AccessState))); }; populate_derived(); } // Function implementations for IfcSineSpiral -double Ifc4x3::IfcSineSpiral::SineTerm() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3::IfcSineSpiral::SineTerm() const { double v = get_attribute_value(1); return v; } void Ifc4x3::IfcSineSpiral::setSineTerm(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3::IfcSineSpiral::LinearTerm() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3::IfcSineSpiral::LinearTerm() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3::IfcSineSpiral::setLinearTerm(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3::IfcSineSpiral::ConstantTerm() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3::IfcSineSpiral::ConstantTerm() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3::IfcSineSpiral::setConstantTerm(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3::IfcSineSpiral::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1022]); } const IfcParse::entity& Ifc4x3::IfcSineSpiral::Class() { return *((IfcParse::entity*)IFC4X3_types[1022]); } Ifc4x3::IfcSineSpiral::IfcSineSpiral(IfcEntityInstanceData&& e) : IfcSpiral(std::move(e)) { } -Ifc4x3::IfcSineSpiral::IfcSineSpiral(::Ifc4x3::IfcAxis2Placement* v1_Position, double v2_SineTerm, boost::optional< double > v3_LinearTerm, boost::optional< double > v4_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SineTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); }; populate_derived(); } +Ifc4x3::IfcSineSpiral::IfcSineSpiral(::Ifc4x3::IfcAxis2Placement* v1_Position, double v2_SineTerm, boost::optional< double > v3_LinearTerm, boost::optional< double > v4_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SineTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); }; populate_derived(); } // Function implementations for IfcSite -boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3::IfcSite::RefLatitude() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = data_.get_attribute_value(9); return v; } +boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3::IfcSite::RefLatitude() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = get_attribute_value(9); return v; } void Ifc4x3::IfcSite::setRefLatitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3::IfcSite::RefLongitude() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = data_.get_attribute_value(10); return v; } +boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3::IfcSite::RefLongitude() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = get_attribute_value(10); return v; } void Ifc4x3::IfcSite::setRefLongitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3::IfcSite::RefElevation() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3::IfcSite::RefElevation() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3::IfcSite::setRefElevation(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3::IfcSite::LandTitleNumber() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3::IfcSite::LandTitleNumber() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4x3::IfcPostalAddress* Ifc4x3::IfcSite::SiteAddress() const { if(data_.get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(13)))->as<::Ifc4x3::IfcPostalAddress>(true); } +::Ifc4x3::IfcPostalAddress* Ifc4x3::IfcSite::SiteAddress() const { if(get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(13)))->as<::Ifc4x3::IfcPostalAddress>(true); } void Ifc4x3::IfcSite::setSiteAddress(::Ifc4x3::IfcPostalAddress* v) { set_attribute_value(13, v->as());if constexpr (false)unset_attribute_value(13); } const IfcParse::entity& Ifc4x3::IfcSite::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1024]); } const IfcParse::entity& Ifc4x3::IfcSite::Class() { return *((IfcParse::entity*)IFC4X3_types[1024]); } Ifc4x3::IfcSite::IfcSite(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x3::IfcSite::IfcSite(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::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::IfcPostalAddress* v14_SiteAddress) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, v14_SiteAddress ? v14_SiteAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcSite::IfcSite(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::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::IfcPostalAddress* v14_SiteAddress) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, v14_SiteAddress ? v14_SiteAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSlab -boost::optional< ::Ifc4x3::IfcSlabTypeEnum::Value > Ifc4x3::IfcSlab::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcSlabTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcSlabTypeEnum::Value > Ifc4x3::IfcSlab::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcSlabTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcSlab::setPredefinedType(boost::optional< ::Ifc4x3::IfcSlabTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcSlabTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcSlab::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1028]); } const IfcParse::entity& Ifc4x3::IfcSlab::Class() { return *((IfcParse::entity*)IFC4X3_types[1028]); } Ifc4x3::IfcSlab::IfcSlab(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3::IfcSlab::IfcSlab(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcSlab::IfcSlab(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSlabType -::Ifc4x3::IfcSlabTypeEnum::Value Ifc4x3::IfcSlabType::PredefinedType() const { return ::Ifc4x3::IfcSlabTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcSlabTypeEnum::Value Ifc4x3::IfcSlabType::PredefinedType() const { return ::Ifc4x3::IfcSlabTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcSlabType::setPredefinedType(::Ifc4x3::IfcSlabTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcSlabTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcSlabType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1029]); } const IfcParse::entity& Ifc4x3::IfcSlabType::Class() { return *((IfcParse::entity*)IFC4X3_types[1029]); } Ifc4x3::IfcSlabType::IfcSlabType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3::IfcSlabType::IfcSlabType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSlabTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcSlabType::IfcSlabType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSlabTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSlippageConnectionCondition -boost::optional< double > Ifc4x3::IfcSlippageConnectionCondition::SlippageX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3::IfcSlippageConnectionCondition::SlippageX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3::IfcSlippageConnectionCondition::setSlippageX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3::IfcSlippageConnectionCondition::SlippageY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3::IfcSlippageConnectionCondition::SlippageY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3::IfcSlippageConnectionCondition::setSlippageY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3::IfcSlippageConnectionCondition::SlippageZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3::IfcSlippageConnectionCondition::SlippageZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3::IfcSlippageConnectionCondition::setSlippageZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3::IfcSlippageConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1031]); } const IfcParse::entity& Ifc4x3::IfcSlippageConnectionCondition::Class() { return *((IfcParse::entity*)IFC4X3_types[1031]); } Ifc4x3::IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(IfcEntityInstanceData&& e) : IfcStructuralConnectionCondition(std::move(e)) { } -Ifc4x3::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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; populate_derived(); } +Ifc4x3::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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; populate_derived(); } // Function implementations for IfcSolarDevice -boost::optional< ::Ifc4x3::IfcSolarDeviceTypeEnum::Value > Ifc4x3::IfcSolarDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcSolarDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcSolarDeviceTypeEnum::Value > Ifc4x3::IfcSolarDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcSolarDevice::setPredefinedType(boost::optional< ::Ifc4x3::IfcSolarDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcSolarDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcSolarDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1032]); } const IfcParse::entity& Ifc4x3::IfcSolarDevice::Class() { return *((IfcParse::entity*)IFC4X3_types[1032]); } Ifc4x3::IfcSolarDevice::IfcSolarDevice(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3::IfcSolarDevice::IfcSolarDevice(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcSolarDevice::IfcSolarDevice(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSolarDeviceType -::Ifc4x3::IfcSolarDeviceTypeEnum::Value Ifc4x3::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4x3::IfcSolarDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcSolarDeviceTypeEnum::Value Ifc4x3::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4x3::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcSolarDeviceType::setPredefinedType(::Ifc4x3::IfcSolarDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcSolarDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcSolarDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1033]); } const IfcParse::entity& Ifc4x3::IfcSolarDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_types[1033]); } Ifc4x3::IfcSolarDeviceType::IfcSolarDeviceType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3::IfcSolarDeviceType::IfcSolarDeviceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcSolarDeviceType::IfcSolarDeviceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSolidModel @@ -15974,12 +15974,12 @@ Ifc4x3::IfcSolarDeviceType::IfcSolarDeviceType(std::string v1_GlobalId, ::Ifc4x3 const IfcParse::entity& Ifc4x3::IfcSolidModel::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1036]); } const IfcParse::entity& Ifc4x3::IfcSolidModel::Class() { return *((IfcParse::entity*)IFC4X3_types[1036]); } Ifc4x3::IfcSolidModel::IfcSolidModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3::IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3::IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcSpace -boost::optional< ::Ifc4x3::IfcSpaceTypeEnum::Value > Ifc4x3::IfcSpace::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3::IfcSpaceTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3::IfcSpaceTypeEnum::Value > Ifc4x3::IfcSpace::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcSpace::setPredefinedType(boost::optional< ::Ifc4x3::IfcSpaceTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcSpaceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3::IfcSpace::ElevationWithFlooring() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3::IfcSpace::ElevationWithFlooring() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3::IfcSpace::setElevationWithFlooring(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } ::Ifc4x3::IfcRelCoversSpaces::list::ptr Ifc4x3::IfcSpace::HasCoverings() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[929], 4)->as(); } @@ -15988,42 +15988,42 @@ void Ifc4x3::IfcSpace::setElevationWithFlooring(boost::optional< double > v) { i const IfcParse::entity& Ifc4x3::IfcSpace::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1042]); } const IfcParse::entity& Ifc4x3::IfcSpace::Class() { return *((IfcParse::entity*)IFC4X3_types[1042]); } Ifc4x3::IfcSpace::IfcSpace(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x3::IfcSpace::IfcSpace(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3::IfcSpaceTypeEnum::Value > v10_PredefinedType, boost::optional< double > v11_ElevationWithFlooring) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; populate_derived(); } +Ifc4x3::IfcSpace::IfcSpace(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3::IfcSpaceTypeEnum::Value > v10_PredefinedType, boost::optional< double > v11_ElevationWithFlooring) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; populate_derived(); } // Function implementations for IfcSpaceHeater -boost::optional< ::Ifc4x3::IfcSpaceHeaterTypeEnum::Value > Ifc4x3::IfcSpaceHeater::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcSpaceHeaterTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcSpaceHeaterTypeEnum::Value > Ifc4x3::IfcSpaceHeater::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcSpaceHeater::setPredefinedType(boost::optional< ::Ifc4x3::IfcSpaceHeaterTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcSpaceHeaterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcSpaceHeater::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1044]); } const IfcParse::entity& Ifc4x3::IfcSpaceHeater::Class() { return *((IfcParse::entity*)IFC4X3_types[1044]); } Ifc4x3::IfcSpaceHeater::IfcSpaceHeater(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3::IfcSpaceHeater::IfcSpaceHeater(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcSpaceHeater::IfcSpaceHeater(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSpaceHeaterType -::Ifc4x3::IfcSpaceHeaterTypeEnum::Value Ifc4x3::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4x3::IfcSpaceHeaterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcSpaceHeaterTypeEnum::Value Ifc4x3::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4x3::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcSpaceHeaterType::setPredefinedType(::Ifc4x3::IfcSpaceHeaterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcSpaceHeaterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcSpaceHeaterType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1045]); } const IfcParse::entity& Ifc4x3::IfcSpaceHeaterType::Class() { return *((IfcParse::entity*)IFC4X3_types[1045]); } Ifc4x3::IfcSpaceHeaterType::IfcSpaceHeaterType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3::IfcSpaceHeaterType::IfcSpaceHeaterType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcSpaceHeaterType::IfcSpaceHeaterType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSpaceType -::Ifc4x3::IfcSpaceTypeEnum::Value Ifc4x3::IfcSpaceType::PredefinedType() const { return ::Ifc4x3::IfcSpaceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcSpaceTypeEnum::Value Ifc4x3::IfcSpaceType::PredefinedType() const { return ::Ifc4x3::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcSpaceType::setPredefinedType(::Ifc4x3::IfcSpaceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcSpaceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3::IfcSpaceType::LongName() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3::IfcSpaceType::LongName() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3::IfcSpaceType::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3::IfcSpaceType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1047]); } const IfcParse::entity& Ifc4x3::IfcSpaceType::Class() { return *((IfcParse::entity*)IFC4X3_types[1047]); } Ifc4x3::IfcSpaceType::IfcSpaceType(IfcEntityInstanceData&& e) : IfcSpatialStructureElementType(std::move(e)) { } -Ifc4x3::IfcSpaceType::IfcSpaceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSpaceTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialStructureElementType(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } +Ifc4x3::IfcSpaceType::IfcSpaceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSpaceTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialStructureElementType(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } // Function implementations for IfcSpatialElement -boost::optional< std::string > Ifc4x3::IfcSpatialElement::LongName() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3::IfcSpatialElement::LongName() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3::IfcSpatialElement::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } ::Ifc4x3::IfcRelContainedInSpatialStructure::list::ptr Ifc4x3::IfcSpatialElement::ContainsElements() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[927], 5)->as(); } @@ -16035,27 +16035,27 @@ void Ifc4x3::IfcSpatialElement::setLongName(boost::optional< std::string > v) { const IfcParse::entity& Ifc4x3::IfcSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1049]); } const IfcParse::entity& Ifc4x3::IfcSpatialElement::Class() { return *((IfcParse::entity*)IFC4X3_types[1049]); } Ifc4x3::IfcSpatialElement::IfcSpatialElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3::IfcSpatialElement::IfcSpatialElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcProduct(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } +Ifc4x3::IfcSpatialElement::IfcSpatialElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } // Function implementations for IfcSpatialElementType -boost::optional< std::string > Ifc4x3::IfcSpatialElementType::ElementType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3::IfcSpatialElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3::IfcSpatialElementType::setElementType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcSpatialElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1050]); } const IfcParse::entity& Ifc4x3::IfcSpatialElementType::Class() { return *((IfcParse::entity*)IFC4X3_types[1050]); } Ifc4x3::IfcSpatialElementType::IfcSpatialElementType(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(e)) { } -Ifc4x3::IfcSpatialElementType::IfcSpatialElementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3::IfcSpatialElementType::IfcSpatialElementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcSpatialStructureElement -boost::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > Ifc4x3::IfcSpatialStructureElement::CompositionType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcElementCompositionEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > Ifc4x3::IfcSpatialStructureElement::CompositionType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcElementCompositionEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcSpatialStructureElement::setCompositionType(boost::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcElementCompositionEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcSpatialStructureElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1052]); } const IfcParse::entity& Ifc4x3::IfcSpatialStructureElement::Class() { return *((IfcParse::entity*)IFC4X3_types[1052]); } Ifc4x3::IfcSpatialStructureElement::IfcSpatialStructureElement(IfcEntityInstanceData&& e) : IfcSpatialElement(std::move(e)) { } -Ifc4x3::IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } +Ifc4x3::IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } // Function implementations for IfcSpatialStructureElementType @@ -16063,142 +16063,142 @@ Ifc4x3::IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v1_Gl const IfcParse::entity& Ifc4x3::IfcSpatialStructureElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1053]); } const IfcParse::entity& Ifc4x3::IfcSpatialStructureElementType::Class() { return *((IfcParse::entity*)IFC4X3_types[1053]); } Ifc4x3::IfcSpatialStructureElementType::IfcSpatialStructureElementType(IfcEntityInstanceData&& e) : IfcSpatialElementType(std::move(e)) { } -Ifc4x3::IfcSpatialStructureElementType::IfcSpatialStructureElementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcSpatialElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3::IfcSpatialStructureElementType::IfcSpatialStructureElementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcSpatialElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcSpatialZone -boost::optional< ::Ifc4x3::IfcSpatialZoneTypeEnum::Value > Ifc4x3::IfcSpatialZone::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcSpatialZoneTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcSpatialZoneTypeEnum::Value > Ifc4x3::IfcSpatialZone::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcSpatialZone::setPredefinedType(boost::optional< ::Ifc4x3::IfcSpatialZoneTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcSpatialZoneTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcSpatialZone::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1054]); } const IfcParse::entity& Ifc4x3::IfcSpatialZone::Class() { return *((IfcParse::entity*)IFC4X3_types[1054]); } Ifc4x3::IfcSpatialZone::IfcSpatialZone(IfcEntityInstanceData&& e) : IfcSpatialElement(std::move(e)) { } -Ifc4x3::IfcSpatialZone::IfcSpatialZone(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) : IfcSpatialElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcSpatialZone::IfcSpatialZone(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) : IfcSpatialElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSpatialZoneType -::Ifc4x3::IfcSpatialZoneTypeEnum::Value Ifc4x3::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x3::IfcSpatialZoneTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcSpatialZoneTypeEnum::Value Ifc4x3::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x3::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcSpatialZoneType::setPredefinedType(::Ifc4x3::IfcSpatialZoneTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcSpatialZoneTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3::IfcSpatialZoneType::LongName() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3::IfcSpatialZoneType::LongName() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3::IfcSpatialZoneType::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3::IfcSpatialZoneType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1055]); } const IfcParse::entity& Ifc4x3::IfcSpatialZoneType::Class() { return *((IfcParse::entity*)IFC4X3_types[1055]); } Ifc4x3::IfcSpatialZoneType::IfcSpatialZoneType(IfcEntityInstanceData&& e) : IfcSpatialElementType(std::move(e)) { } -Ifc4x3::IfcSpatialZoneType::IfcSpatialZoneType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialElementType(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } +Ifc4x3::IfcSpatialZoneType::IfcSpatialZoneType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialElementType(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } // Function implementations for IfcSphere -double Ifc4x3::IfcSphere::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3::IfcSphere::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3::IfcSphere::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcSphere::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1061]); } const IfcParse::entity& Ifc4x3::IfcSphere::Class() { return *((IfcParse::entity*)IFC4X3_types[1061]); } Ifc4x3::IfcSphere::IfcSphere(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3::IfcSphere::IfcSphere(::Ifc4x3::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x3::IfcSphere::IfcSphere(::Ifc4x3::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcSphericalSurface -double Ifc4x3::IfcSphericalSurface::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3::IfcSphericalSurface::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3::IfcSphericalSurface::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcSphericalSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1062]); } const IfcParse::entity& Ifc4x3::IfcSphericalSurface::Class() { return *((IfcParse::entity*)IFC4X3_types[1062]); } Ifc4x3::IfcSphericalSurface::IfcSphericalSurface(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x3::IfcSphericalSurface::IfcSphericalSurface(::Ifc4x3::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x3::IfcSphericalSurface::IfcSphericalSurface(::Ifc4x3::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcSpiral -::Ifc4x3::IfcAxis2Placement* Ifc4x3::IfcSpiral::Position() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcAxis2Placement>(true); } +::Ifc4x3::IfcAxis2Placement* Ifc4x3::IfcSpiral::Position() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcAxis2Placement>(true); } void Ifc4x3::IfcSpiral::setPosition(::Ifc4x3::IfcAxis2Placement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3::IfcSpiral::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1063]); } const IfcParse::entity& Ifc4x3::IfcSpiral::Class() { return *((IfcParse::entity*)IFC4X3_types[1063]); } Ifc4x3::IfcSpiral::IfcSpiral(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3::IfcSpiral::IfcSpiral(::Ifc4x3::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcSpiral::IfcSpiral(::Ifc4x3::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStackTerminal -boost::optional< ::Ifc4x3::IfcStackTerminalTypeEnum::Value > Ifc4x3::IfcStackTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcStackTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcStackTerminalTypeEnum::Value > Ifc4x3::IfcStackTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcStackTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcStackTerminal::setPredefinedType(boost::optional< ::Ifc4x3::IfcStackTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcStackTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcStackTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1064]); } const IfcParse::entity& Ifc4x3::IfcStackTerminal::Class() { return *((IfcParse::entity*)IFC4X3_types[1064]); } Ifc4x3::IfcStackTerminal::IfcStackTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3::IfcStackTerminal::IfcStackTerminal(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcStackTerminal::IfcStackTerminal(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcStackTerminalType -::Ifc4x3::IfcStackTerminalTypeEnum::Value Ifc4x3::IfcStackTerminalType::PredefinedType() const { return ::Ifc4x3::IfcStackTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcStackTerminalTypeEnum::Value Ifc4x3::IfcStackTerminalType::PredefinedType() const { return ::Ifc4x3::IfcStackTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcStackTerminalType::setPredefinedType(::Ifc4x3::IfcStackTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcStackTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcStackTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1065]); } const IfcParse::entity& Ifc4x3::IfcStackTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_types[1065]); } Ifc4x3::IfcStackTerminalType::IfcStackTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3::IfcStackTerminalType::IfcStackTerminalType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcStackTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcStackTerminalType::IfcStackTerminalType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcStackTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStair -boost::optional< ::Ifc4x3::IfcStairTypeEnum::Value > Ifc4x3::IfcStair::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcStairTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcStairTypeEnum::Value > Ifc4x3::IfcStair::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcStairTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcStair::setPredefinedType(boost::optional< ::Ifc4x3::IfcStairTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcStairTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcStair::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1067]); } const IfcParse::entity& Ifc4x3::IfcStair::Class() { return *((IfcParse::entity*)IFC4X3_types[1067]); } Ifc4x3::IfcStair::IfcStair(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3::IfcStair::IfcStair(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcStairTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcStair::IfcStair(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcStairTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcStairFlight -boost::optional< int > Ifc4x3::IfcStairFlight::NumberOfRisers() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } int v = data_.get_attribute_value(8); return v; } +boost::optional< int > Ifc4x3::IfcStairFlight::NumberOfRisers() const { if(get_attribute_value(8).isNull()) { return boost::none; } int v = get_attribute_value(8); return v; } void Ifc4x3::IfcStairFlight::setNumberOfRisers(boost::optional< int > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< int > Ifc4x3::IfcStairFlight::NumberOfTreads() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } int v = data_.get_attribute_value(9); return v; } +boost::optional< int > Ifc4x3::IfcStairFlight::NumberOfTreads() const { if(get_attribute_value(9).isNull()) { return boost::none; } int v = get_attribute_value(9); return v; } void Ifc4x3::IfcStairFlight::setNumberOfTreads(boost::optional< int > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3::IfcStairFlight::RiserHeight() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3::IfcStairFlight::RiserHeight() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3::IfcStairFlight::setRiserHeight(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3::IfcStairFlight::TreadLength() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3::IfcStairFlight::TreadLength() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3::IfcStairFlight::setTreadLength(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< ::Ifc4x3::IfcStairFlightTypeEnum::Value > Ifc4x3::IfcStairFlight::PredefinedType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3::IfcStairFlightTypeEnum::FromString(data_.get_attribute_value(12)); } +boost::optional< ::Ifc4x3::IfcStairFlightTypeEnum::Value > Ifc4x3::IfcStairFlight::PredefinedType() const { if(get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3::IfcStairFlightTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x3::IfcStairFlight::setPredefinedType(boost::optional< ::Ifc4x3::IfcStairFlightTypeEnum::Value > v) { if (v) {set_attribute_value(12, EnumerationReference(&::Ifc4x3::IfcStairFlightTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3::IfcStairFlight::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1068]); } const IfcParse::entity& Ifc4x3::IfcStairFlight::Class() { return *((IfcParse::entity*)IFC4X3_types[1068]); } Ifc4x3::IfcStairFlight::IfcStairFlight(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3::IfcStairFlight::IfcStairFlight(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRisers, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength, boost::optional< ::Ifc4x3::IfcStairFlightTypeEnum::Value > v13_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcStairFlight::IfcStairFlight(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRisers, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength, boost::optional< ::Ifc4x3::IfcStairFlightTypeEnum::Value > v13_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } // Function implementations for IfcStairFlightType -::Ifc4x3::IfcStairFlightTypeEnum::Value Ifc4x3::IfcStairFlightType::PredefinedType() const { return ::Ifc4x3::IfcStairFlightTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcStairFlightTypeEnum::Value Ifc4x3::IfcStairFlightType::PredefinedType() const { return ::Ifc4x3::IfcStairFlightTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcStairFlightType::setPredefinedType(::Ifc4x3::IfcStairFlightTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcStairFlightTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcStairFlightType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1069]); } const IfcParse::entity& Ifc4x3::IfcStairFlightType::Class() { return *((IfcParse::entity*)IFC4X3_types[1069]); } Ifc4x3::IfcStairFlightType::IfcStairFlightType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3::IfcStairFlightType::IfcStairFlightType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcStairFlightTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcStairFlightType::IfcStairFlightType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcStairFlightTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStairType -::Ifc4x3::IfcStairTypeEnum::Value Ifc4x3::IfcStairType::PredefinedType() const { return ::Ifc4x3::IfcStairTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcStairTypeEnum::Value Ifc4x3::IfcStairType::PredefinedType() const { return ::Ifc4x3::IfcStairTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcStairType::setPredefinedType(::Ifc4x3::IfcStairTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcStairTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcStairType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1071]); } const IfcParse::entity& Ifc4x3::IfcStairType::Class() { return *((IfcParse::entity*)IFC4X3_types[1071]); } Ifc4x3::IfcStairType::IfcStairType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3::IfcStairType::IfcStairType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcStairTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcStairType::IfcStairType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcStairTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralAction -boost::optional< bool > Ifc4x3::IfcStructuralAction::DestabilizingLoad() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } bool v = data_.get_attribute_value(9); return v; } +boost::optional< bool > Ifc4x3::IfcStructuralAction::DestabilizingLoad() const { if(get_attribute_value(9).isNull()) { return boost::none; } bool v = get_attribute_value(9); return v; } void Ifc4x3::IfcStructuralAction::setDestabilizingLoad(boost::optional< bool > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3::IfcStructuralAction::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1074]); } const IfcParse::entity& Ifc4x3::IfcStructuralAction::Class() { return *((IfcParse::entity*)IFC4X3_types[1074]); } Ifc4x3::IfcStructuralAction::IfcStructuralAction(IfcEntityInstanceData&& e) : IfcStructuralActivity(std::move(e)) { } -Ifc4x3::IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralActivity(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } +Ifc4x3::IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralActivity(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } // Function implementations for IfcStructuralActivity -::Ifc4x3::IfcStructuralLoad* Ifc4x3::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3::IfcStructuralLoad>(true); } +::Ifc4x3::IfcStructuralLoad* Ifc4x3::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3::IfcStructuralLoad>(true); } void Ifc4x3::IfcStructuralActivity::setAppliedLoad(::Ifc4x3::IfcStructuralLoad* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3::IfcGlobalOrLocalEnum::Value Ifc4x3::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x3::IfcGlobalOrLocalEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3::IfcGlobalOrLocalEnum::Value Ifc4x3::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x3::IfcGlobalOrLocalEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcStructuralActivity::setGlobalOrLocal(::Ifc4x3::IfcGlobalOrLocalEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } ::Ifc4x3::IfcRelConnectsStructuralActivity::list::ptr Ifc4x3::IfcStructuralActivity::AssignedToStructuralItem() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[923], 5)->as(); } @@ -16206,28 +16206,28 @@ void Ifc4x3::IfcStructuralActivity::setGlobalOrLocal(::Ifc4x3::IfcGlobalOrLocalE const IfcParse::entity& Ifc4x3::IfcStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1075]); } const IfcParse::entity& Ifc4x3::IfcStructuralActivity::Class() { return *((IfcParse::entity*)IFC4X3_types[1075]); } Ifc4x3::IfcStructuralActivity::IfcStructuralActivity(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3::IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +Ifc4x3::IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralAnalysisModel -::Ifc4x3::IfcAnalysisModelTypeEnum::Value Ifc4x3::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x3::IfcAnalysisModelTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3::IfcAnalysisModelTypeEnum::Value Ifc4x3::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x3::IfcAnalysisModelTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3::IfcStructuralAnalysisModel::setPredefinedType(::Ifc4x3::IfcAnalysisModelTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3::IfcAnalysisModelTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x3::IfcAxis2Placement3D* Ifc4x3::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3::IfcAxis2Placement3D>(true); } +::Ifc4x3::IfcAxis2Placement3D* Ifc4x3::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3::IfcAxis2Placement3D>(true); } void Ifc4x3::IfcStructuralAnalysisModel::setOrientationOf2DPlane(::Ifc4x3::IfcAxis2Placement3D* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< aggregate_of< ::Ifc4x3::IfcStructuralLoadGroup >::ptr > Ifc4x3::IfcStructuralAnalysisModel::LoadedBy() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3::IfcStructuralLoadGroup >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcStructuralLoadGroup >::ptr > Ifc4x3::IfcStructuralAnalysisModel::LoadedBy() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3::IfcStructuralLoadGroup >(); } void Ifc4x3::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc4x3::IfcStructuralLoadGroup >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< aggregate_of< ::Ifc4x3::IfcStructuralResultGroup >::ptr > Ifc4x3::IfcStructuralAnalysisModel::HasResults() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3::IfcStructuralResultGroup >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcStructuralResultGroup >::ptr > Ifc4x3::IfcStructuralAnalysisModel::HasResults() const { if(get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3::IfcStructuralResultGroup >(); } void Ifc4x3::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc4x3::IfcStructuralResultGroup >::ptr > v) { if (v) {set_attribute_value(8, (*v)->generalize());} else {unset_attribute_value(8);} } -::Ifc4x3::IfcObjectPlacement* Ifc4x3::IfcStructuralAnalysisModel::SharedPlacement() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3::IfcObjectPlacement>(true); } +::Ifc4x3::IfcObjectPlacement* Ifc4x3::IfcStructuralAnalysisModel::SharedPlacement() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3::IfcObjectPlacement>(true); } void Ifc4x3::IfcStructuralAnalysisModel::setSharedPlacement(::Ifc4x3::IfcObjectPlacement* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcStructuralAnalysisModel::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1077]); } const IfcParse::entity& Ifc4x3::IfcStructuralAnalysisModel::Class() { return *((IfcParse::entity*)IFC4X3_types[1077]); } Ifc4x3::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3::IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< aggregate_of< ::Ifc4x3::IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< aggregate_of< ::Ifc4x3::IfcStructuralResultGroup >::ptr > v9_HasResults, ::Ifc4x3::IfcObjectPlacement* v10_SharedPlacement) : IfcSystem(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, v7_OrientationOf2DPlane ? v7_OrientationOf2DPlane->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LoadedBy) {set_attribute_value(7, (*v8_LoadedBy)->generalize()); } if (v9_HasResults) {set_attribute_value(8, (*v9_HasResults)->generalize()); }set_attribute_value(9, v10_SharedPlacement ? v10_SharedPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3::IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< aggregate_of< ::Ifc4x3::IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< aggregate_of< ::Ifc4x3::IfcStructuralResultGroup >::ptr > v9_HasResults, ::Ifc4x3::IfcObjectPlacement* v10_SharedPlacement) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, v7_OrientationOf2DPlane ? v7_OrientationOf2DPlane->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LoadedBy) {set_attribute_value(7, (*v8_LoadedBy)->generalize()); } if (v9_HasResults) {set_attribute_value(8, (*v9_HasResults)->generalize()); }set_attribute_value(9, v10_SharedPlacement ? v10_SharedPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralConnection -::Ifc4x3::IfcBoundaryCondition* Ifc4x3::IfcStructuralConnection::AppliedCondition() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3::IfcBoundaryCondition>(true); } +::Ifc4x3::IfcBoundaryCondition* Ifc4x3::IfcStructuralConnection::AppliedCondition() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3::IfcBoundaryCondition>(true); } void Ifc4x3::IfcStructuralConnection::setAppliedCondition(::Ifc4x3::IfcBoundaryCondition* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } ::Ifc4x3::IfcRelConnectsStructuralMember::list::ptr Ifc4x3::IfcStructuralConnection::ConnectsStructuralMembers() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[924], 5)->as(); } @@ -16235,51 +16235,51 @@ void Ifc4x3::IfcStructuralConnection::setAppliedCondition(::Ifc4x3::IfcBoundaryC const IfcParse::entity& Ifc4x3::IfcStructuralConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1078]); } const IfcParse::entity& Ifc4x3::IfcStructuralConnection::Class() { return *((IfcParse::entity*)IFC4X3_types[1078]); } Ifc4x3::IfcStructuralConnection::IfcStructuralConnection(IfcEntityInstanceData&& e) : IfcStructuralItem(std::move(e)) { } -Ifc4x3::IfcStructuralConnection::IfcStructuralConnection(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralItem(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcStructuralConnection::IfcStructuralConnection(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralItem(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralConnectionCondition -boost::optional< std::string > Ifc4x3::IfcStructuralConnectionCondition::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3::IfcStructuralConnectionCondition::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcStructuralConnectionCondition::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3::IfcStructuralConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1079]); } const IfcParse::entity& Ifc4x3::IfcStructuralConnectionCondition::Class() { return *((IfcParse::entity*)IFC4X3_types[1079]); } Ifc4x3::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralCurveAction -boost::optional< ::Ifc4x3::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3::IfcStructuralCurveAction::ProjectedOrTrue() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcProjectedOrTrueLengthEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3::IfcStructuralCurveAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } void Ifc4x3::IfcStructuralCurveAction::setProjectedOrTrue(boost::optional< ::Ifc4x3::IfcProjectedOrTrueLengthEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3::IfcProjectedOrTrueLengthEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3::IfcStructuralCurveAction::PredefinedType() const { return ::Ifc4x3::IfcStructuralCurveActivityTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3::IfcStructuralCurveAction::PredefinedType() const { return ::Ifc4x3::IfcStructuralCurveActivityTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3::IfcStructuralCurveAction::setPredefinedType(::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3::IfcStructuralCurveAction::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1080]); } const IfcParse::entity& Ifc4x3::IfcStructuralCurveAction::Class() { return *((IfcParse::entity*)IFC4X3_types[1080]); } Ifc4x3::IfcStructuralCurveAction::IfcStructuralCurveAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -Ifc4x3::IfcStructuralCurveAction::IfcStructuralCurveAction(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcStructuralCurveAction::IfcStructuralCurveAction(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralCurveConnection -::Ifc4x3::IfcDirection* Ifc4x3::IfcStructuralCurveConnection::AxisDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3::IfcDirection>(true); } +::Ifc4x3::IfcDirection* Ifc4x3::IfcStructuralCurveConnection::AxisDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3::IfcDirection>(true); } void Ifc4x3::IfcStructuralCurveConnection::setAxisDirection(::Ifc4x3::IfcDirection* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3::IfcStructuralCurveConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1082]); } const IfcParse::entity& Ifc4x3::IfcStructuralCurveConnection::Class() { return *((IfcParse::entity*)IFC4X3_types[1082]); } Ifc4x3::IfcStructuralCurveConnection::IfcStructuralCurveConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -Ifc4x3::IfcStructuralCurveConnection::IfcStructuralCurveConnection(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x3::IfcDirection* v9_AxisDirection) : IfcStructuralConnection(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_AxisDirection ? v9_AxisDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcStructuralCurveConnection::IfcStructuralCurveConnection(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x3::IfcDirection* v9_AxisDirection) : IfcStructuralConnection(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_AxisDirection ? v9_AxisDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralCurveMember -::Ifc4x3::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x3::IfcStructuralCurveMemberTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x3::IfcStructuralCurveMemberTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3::IfcStructuralCurveMember::setPredefinedType(::Ifc4x3::IfcStructuralCurveMemberTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3::IfcStructuralCurveMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x3::IfcDirection* Ifc4x3::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3::IfcDirection>(true); } +::Ifc4x3::IfcDirection* Ifc4x3::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3::IfcDirection>(true); } void Ifc4x3::IfcStructuralCurveMember::setAxis(::Ifc4x3::IfcDirection* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3::IfcStructuralCurveMember::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1083]); } const IfcParse::entity& Ifc4x3::IfcStructuralCurveMember::Class() { return *((IfcParse::entity*)IFC4X3_types[1083]); } Ifc4x3::IfcStructuralCurveMember::IfcStructuralCurveMember(IfcEntityInstanceData&& e) : IfcStructuralMember(std::move(e)) { } -Ifc4x3::IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3::IfcDirection* v9_Axis) : IfcStructuralMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3::IfcDirection* v9_Axis) : IfcStructuralMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralCurveMemberVarying @@ -16287,17 +16287,17 @@ Ifc4x3::IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_Global const IfcParse::entity& Ifc4x3::IfcStructuralCurveMemberVarying::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1085]); } const IfcParse::entity& Ifc4x3::IfcStructuralCurveMemberVarying::Class() { return *((IfcParse::entity*)IFC4X3_types[1085]); } Ifc4x3::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(IfcEntityInstanceData&& e) : IfcStructuralCurveMember(std::move(e)) { } -Ifc4x3::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3::IfcDirection* v9_Axis) : IfcStructuralCurveMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3::IfcDirection* v9_Axis) : IfcStructuralCurveMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralCurveReaction -::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4x3::IfcStructuralCurveActivityTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4x3::IfcStructuralCurveActivityTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcStructuralCurveReaction::setPredefinedType(::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcStructuralCurveReaction::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1086]); } const IfcParse::entity& Ifc4x3::IfcStructuralCurveReaction::Class() { return *((IfcParse::entity*)IFC4X3_types[1086]); } Ifc4x3::IfcStructuralCurveReaction::IfcStructuralCurveReaction(IfcEntityInstanceData&& e) : IfcStructuralReaction(std::move(e)) { } -Ifc4x3::IfcStructuralCurveReaction::IfcStructuralCurveReaction(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcStructuralCurveReaction::IfcStructuralCurveReaction(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralItem @@ -16306,7 +16306,7 @@ Ifc4x3::IfcStructuralCurveReaction::IfcStructuralCurveReaction(std::string v1_Gl const IfcParse::entity& Ifc4x3::IfcStructuralItem::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1087]); } const IfcParse::entity& Ifc4x3::IfcStructuralItem::Class() { return *((IfcParse::entity*)IFC4X3_types[1087]); } Ifc4x3::IfcStructuralItem::IfcStructuralItem(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3::IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralLinearAction @@ -16314,50 +16314,50 @@ Ifc4x3::IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, ::Ifc4x3:: const IfcParse::entity& Ifc4x3::IfcStructuralLinearAction::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1088]); } const IfcParse::entity& Ifc4x3::IfcStructuralLinearAction::Class() { return *((IfcParse::entity*)IFC4X3_types[1088]); } Ifc4x3::IfcStructuralLinearAction::IfcStructuralLinearAction(IfcEntityInstanceData&& e) : IfcStructuralCurveAction(std::move(e)) { } -Ifc4x3::IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralCurveAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralCurveAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralLoad -boost::optional< std::string > Ifc4x3::IfcStructuralLoad::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3::IfcStructuralLoad::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcStructuralLoad::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3::IfcStructuralLoad::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1089]); } const IfcParse::entity& Ifc4x3::IfcStructuralLoad::Class() { return *((IfcParse::entity*)IFC4X3_types[1089]); } Ifc4x3::IfcStructuralLoad::IfcStructuralLoad(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3::IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralLoadCase -boost::optional< std::vector< double > /*[3:3]*/ > Ifc4x3::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::vector< double > /*[3:3]*/ v = data_.get_attribute_value(10); return v; } +boost::optional< std::vector< double > /*[3:3]*/ > Ifc4x3::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::vector< double > /*[3:3]*/ v = get_attribute_value(10); return v; } void Ifc4x3::IfcStructuralLoadCase::setSelfWeightCoefficients(boost::optional< std::vector< double > /*[3:3]*/ > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3::IfcStructuralLoadCase::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1090]); } const IfcParse::entity& Ifc4x3::IfcStructuralLoadCase::Class() { return *((IfcParse::entity*)IFC4X3_types[1090]); } Ifc4x3::IfcStructuralLoadCase::IfcStructuralLoadCase(IfcEntityInstanceData&& e) : IfcStructuralLoadGroup(std::move(e)) { } -Ifc4x3::IfcStructuralLoadCase::IfcStructuralLoadCase(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3::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(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x3::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); }; populate_derived(); } +Ifc4x3::IfcStructuralLoadCase::IfcStructuralLoadCase(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3::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(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x3::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); }; populate_derived(); } // Function implementations for IfcStructuralLoadConfiguration -aggregate_of< ::Ifc4x3::IfcStructuralLoadOrResult >::ptr Ifc4x3::IfcStructuralLoadConfiguration::Values() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3::IfcStructuralLoadOrResult >(); } +aggregate_of< ::Ifc4x3::IfcStructuralLoadOrResult >::ptr Ifc4x3::IfcStructuralLoadConfiguration::Values() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3::IfcStructuralLoadOrResult >(); } void Ifc4x3::IfcStructuralLoadConfiguration::setValues(aggregate_of< ::Ifc4x3::IfcStructuralLoadOrResult >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::vector< std::vector< double > > > Ifc4x3::IfcStructuralLoadConfiguration::Locations() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< std::vector< double > > v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< std::vector< double > > > Ifc4x3::IfcStructuralLoadConfiguration::Locations() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< std::vector< double > > v = get_attribute_value(2); return v; } void Ifc4x3::IfcStructuralLoadConfiguration::setLocations(boost::optional< std::vector< std::vector< double > > > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3::IfcStructuralLoadConfiguration::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1091]); } const IfcParse::entity& Ifc4x3::IfcStructuralLoadConfiguration::Class() { return *((IfcParse::entity*)IFC4X3_types[1091]); } Ifc4x3::IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(IfcEntityInstanceData&& e) : IfcStructuralLoad(std::move(e)) { } -Ifc4x3::IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3::IfcStructuralLoadOrResult >::ptr v2_Values, boost::optional< std::vector< std::vector< double > > > v3_Locations) : IfcStructuralLoad(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Values)->generalize()); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); }; populate_derived(); } +Ifc4x3::IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3::IfcStructuralLoadOrResult >::ptr v2_Values, boost::optional< std::vector< std::vector< double > > > v3_Locations) : IfcStructuralLoad(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Values)->generalize()); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); }; populate_derived(); } // Function implementations for IfcStructuralLoadGroup -::Ifc4x3::IfcLoadGroupTypeEnum::Value Ifc4x3::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4x3::IfcLoadGroupTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3::IfcLoadGroupTypeEnum::Value Ifc4x3::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4x3::IfcLoadGroupTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3::IfcStructuralLoadGroup::setPredefinedType(::Ifc4x3::IfcLoadGroupTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3::IfcLoadGroupTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x3::IfcActionTypeEnum::Value Ifc4x3::IfcStructuralLoadGroup::ActionType() const { return ::Ifc4x3::IfcActionTypeEnum::FromString(data_.get_attribute_value(6)); } +::Ifc4x3::IfcActionTypeEnum::Value Ifc4x3::IfcStructuralLoadGroup::ActionType() const { return ::Ifc4x3::IfcActionTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3::IfcStructuralLoadGroup::setActionType(::Ifc4x3::IfcActionTypeEnum::Value v) { set_attribute_value(6, EnumerationReference(&::Ifc4x3::IfcActionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(6); } -::Ifc4x3::IfcActionSourceTypeEnum::Value Ifc4x3::IfcStructuralLoadGroup::ActionSource() const { return ::Ifc4x3::IfcActionSourceTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3::IfcActionSourceTypeEnum::Value Ifc4x3::IfcStructuralLoadGroup::ActionSource() const { return ::Ifc4x3::IfcActionSourceTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3::IfcStructuralLoadGroup::setActionSource(::Ifc4x3::IfcActionSourceTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3::IfcActionSourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc4x3::IfcStructuralLoadGroup::Coefficient() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3::IfcStructuralLoadGroup::Coefficient() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3::IfcStructuralLoadGroup::setCoefficient(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3::IfcStructuralLoadGroup::Purpose() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3::IfcStructuralLoadGroup::Purpose() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } ::Ifc4x3::IfcStructuralResultGroup::list::ptr Ifc4x3::IfcStructuralLoadGroup::SourceOfResultGroup() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[1108], 6)->as(); } @@ -16366,27 +16366,27 @@ void Ifc4x3::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string > v const IfcParse::entity& Ifc4x3::IfcStructuralLoadGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1092]); } const IfcParse::entity& Ifc4x3::IfcStructuralLoadGroup::Class() { return *((IfcParse::entity*)IFC4X3_types[1092]); } Ifc4x3::IfcStructuralLoadGroup::IfcStructuralLoadGroup(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x3::IfcStructuralLoadGroup::IfcStructuralLoadGroup(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3::IfcActionSourceTypeEnum::Value v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose) : IfcGroup(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x3::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; populate_derived(); } +Ifc4x3::IfcStructuralLoadGroup::IfcStructuralLoadGroup(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3::IfcActionSourceTypeEnum::Value v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x3::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; populate_derived(); } // Function implementations for IfcStructuralLoadLinearForce -boost::optional< double > Ifc4x3::IfcStructuralLoadLinearForce::LinearForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3::IfcStructuralLoadLinearForce::LinearForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3::IfcStructuralLoadLinearForce::setLinearForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3::IfcStructuralLoadLinearForce::LinearForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3::IfcStructuralLoadLinearForce::LinearForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3::IfcStructuralLoadLinearForce::setLinearForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3::IfcStructuralLoadLinearForce::LinearForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3::IfcStructuralLoadLinearForce::LinearForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3::IfcStructuralLoadLinearForce::setLinearForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3::IfcStructuralLoadLinearForce::LinearMomentX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3::IfcStructuralLoadLinearForce::LinearMomentX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3::IfcStructuralLoadLinearForce::setLinearMomentX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3::IfcStructuralLoadLinearForce::LinearMomentY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3::IfcStructuralLoadLinearForce::LinearMomentY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3::IfcStructuralLoadLinearForce::setLinearMomentY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3::IfcStructuralLoadLinearForce::LinearMomentZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3::IfcStructuralLoadLinearForce::LinearMomentZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3::IfcStructuralLoadLinearForce::setLinearMomentZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3::IfcStructuralLoadLinearForce::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1093]); } const IfcParse::entity& Ifc4x3::IfcStructuralLoadLinearForce::Class() { return *((IfcParse::entity*)IFC4X3_types[1093]); } Ifc4x3::IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3::IfcStructuralLoadLinearForce::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) : IfcStructuralLoadStatic(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; populate_derived(); } +Ifc4x3::IfcStructuralLoadLinearForce::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) : IfcStructuralLoadStatic(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadOrResult @@ -16394,81 +16394,81 @@ Ifc4x3::IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(boost::option const IfcParse::entity& Ifc4x3::IfcStructuralLoadOrResult::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1094]); } const IfcParse::entity& Ifc4x3::IfcStructuralLoadOrResult::Class() { return *((IfcParse::entity*)IFC4X3_types[1094]); } Ifc4x3::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(IfcEntityInstanceData&& e) : IfcStructuralLoad(std::move(e)) { } -Ifc4x3::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional< std::string > v1_Name) : IfcStructuralLoad(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional< std::string > v1_Name) : IfcStructuralLoad(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralLoadPlanarForce -boost::optional< double > Ifc4x3::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3::IfcStructuralLoadPlanarForce::setPlanarForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3::IfcStructuralLoadPlanarForce::PlanarForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3::IfcStructuralLoadPlanarForce::PlanarForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3::IfcStructuralLoadPlanarForce::setPlanarForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3::IfcStructuralLoadPlanarForce::PlanarForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3::IfcStructuralLoadPlanarForce::PlanarForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3::IfcStructuralLoadPlanarForce::setPlanarForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3::IfcStructuralLoadPlanarForce::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1095]); } const IfcParse::entity& Ifc4x3::IfcStructuralLoadPlanarForce::Class() { return *((IfcParse::entity*)IFC4X3_types[1095]); } Ifc4x3::IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3::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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; populate_derived(); } +Ifc4x3::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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleDisplacement -boost::optional< double > Ifc4x3::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3::IfcStructuralLoadSingleDisplacement::setDisplacementX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3::IfcStructuralLoadSingleDisplacement::DisplacementY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3::IfcStructuralLoadSingleDisplacement::DisplacementY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3::IfcStructuralLoadSingleDisplacement::setDisplacementY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3::IfcStructuralLoadSingleDisplacement::DisplacementZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3::IfcStructuralLoadSingleDisplacement::DisplacementZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3::IfcStructuralLoadSingleDisplacement::setDisplacementZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3::IfcStructuralLoadSingleDisplacement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1096]); } const IfcParse::entity& Ifc4x3::IfcStructuralLoadSingleDisplacement::Class() { return *((IfcParse::entity*)IFC4X3_types[1096]); } Ifc4x3::IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; populate_derived(); } +Ifc4x3::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleDisplacementDistortion -boost::optional< double > Ifc4x3::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3::IfcStructuralLoadSingleDisplacementDistortion::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1097]); } const IfcParse::entity& Ifc4x3::IfcStructuralLoadSingleDisplacementDistortion::Class() { return *((IfcParse::entity*)IFC4X3_types[1097]); } Ifc4x3::IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDisplacementDistortion(IfcEntityInstanceData&& e) : IfcStructuralLoadSingleDisplacement(std::move(e)) { } -Ifc4x3::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(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; populate_derived(); } +Ifc4x3::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(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleForce -boost::optional< double > Ifc4x3::IfcStructuralLoadSingleForce::ForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3::IfcStructuralLoadSingleForce::ForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3::IfcStructuralLoadSingleForce::setForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3::IfcStructuralLoadSingleForce::ForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3::IfcStructuralLoadSingleForce::ForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3::IfcStructuralLoadSingleForce::setForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3::IfcStructuralLoadSingleForce::ForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3::IfcStructuralLoadSingleForce::ForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3::IfcStructuralLoadSingleForce::setForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3::IfcStructuralLoadSingleForce::MomentX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3::IfcStructuralLoadSingleForce::MomentX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3::IfcStructuralLoadSingleForce::setMomentX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3::IfcStructuralLoadSingleForce::MomentY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3::IfcStructuralLoadSingleForce::MomentY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3::IfcStructuralLoadSingleForce::setMomentY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3::IfcStructuralLoadSingleForce::MomentZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3::IfcStructuralLoadSingleForce::MomentZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3::IfcStructuralLoadSingleForce::setMomentZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3::IfcStructuralLoadSingleForce::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1098]); } const IfcParse::entity& Ifc4x3::IfcStructuralLoadSingleForce::Class() { return *((IfcParse::entity*)IFC4X3_types[1098]); } Ifc4x3::IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; populate_derived(); } +Ifc4x3::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleForceWarping -boost::optional< double > Ifc4x3::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3::IfcStructuralLoadSingleForceWarping::setWarpingMoment(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3::IfcStructuralLoadSingleForceWarping::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1099]); } const IfcParse::entity& Ifc4x3::IfcStructuralLoadSingleForceWarping::Class() { return *((IfcParse::entity*)IFC4X3_types[1099]); } Ifc4x3::IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWarping(IfcEntityInstanceData&& e) : IfcStructuralLoadSingleForce(std::move(e)) { } -Ifc4x3::IfcStructuralLoadSingleForceWarping::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) : IfcStructuralLoadSingleForce(IfcEntityInstanceData(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; populate_derived(); } +Ifc4x3::IfcStructuralLoadSingleForceWarping::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) : IfcStructuralLoadSingleForce(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; populate_derived(); } // Function implementations for IfcStructuralLoadStatic @@ -16476,21 +16476,21 @@ Ifc4x3::IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWarping const IfcParse::entity& Ifc4x3::IfcStructuralLoadStatic::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1100]); } const IfcParse::entity& Ifc4x3::IfcStructuralLoadStatic::Class() { return *((IfcParse::entity*)IFC4X3_types[1100]); } Ifc4x3::IfcStructuralLoadStatic::IfcStructuralLoadStatic(IfcEntityInstanceData&& e) : IfcStructuralLoadOrResult(std::move(e)) { } -Ifc4x3::IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< std::string > v1_Name) : IfcStructuralLoadOrResult(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3::IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< std::string > v1_Name) : IfcStructuralLoadOrResult(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralLoadTemperature -boost::optional< double > Ifc4x3::IfcStructuralLoadTemperature::DeltaTConstant() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3::IfcStructuralLoadTemperature::DeltaTConstant() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3::IfcStructuralLoadTemperature::setDeltaTConstant(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3::IfcStructuralLoadTemperature::DeltaTY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3::IfcStructuralLoadTemperature::DeltaTY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3::IfcStructuralLoadTemperature::setDeltaTY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3::IfcStructuralLoadTemperature::DeltaTZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3::IfcStructuralLoadTemperature::DeltaTZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3::IfcStructuralLoadTemperature::setDeltaTZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3::IfcStructuralLoadTemperature::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1101]); } const IfcParse::entity& Ifc4x3::IfcStructuralLoadTemperature::Class() { return *((IfcParse::entity*)IFC4X3_types[1101]); } Ifc4x3::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::optional< std::string > v1_Name, boost::optional< double > v2_DeltaTConstant, boost::optional< double > v3_DeltaTY, boost::optional< double > v4_DeltaTZ) : IfcStructuralLoadStatic(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); }; populate_derived(); } +Ifc4x3::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::optional< std::string > v1_Name, boost::optional< double > v2_DeltaTConstant, boost::optional< double > v3_DeltaTY, boost::optional< double > v4_DeltaTZ) : IfcStructuralLoadStatic(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); }; populate_derived(); } // Function implementations for IfcStructuralMember @@ -16499,7 +16499,7 @@ Ifc4x3::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::option const IfcParse::entity& Ifc4x3::IfcStructuralMember::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1102]); } const IfcParse::entity& Ifc4x3::IfcStructuralMember::Class() { return *((IfcParse::entity*)IFC4X3_types[1102]); } Ifc4x3::IfcStructuralMember::IfcStructuralMember(IfcEntityInstanceData&& e) : IfcStructuralItem(std::move(e)) { } -Ifc4x3::IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation) : IfcStructuralItem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation) : IfcStructuralItem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralPlanarAction @@ -16507,7 +16507,7 @@ Ifc4x3::IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3::IfcStructuralPlanarAction::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1103]); } const IfcParse::entity& Ifc4x3::IfcStructuralPlanarAction::Class() { return *((IfcParse::entity*)IFC4X3_types[1103]); } Ifc4x3::IfcStructuralPlanarAction::IfcStructuralPlanarAction(IfcEntityInstanceData&& e) : IfcStructuralSurfaceAction(std::move(e)) { } -Ifc4x3::IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralSurfaceAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralSurfaceAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralPointAction @@ -16515,17 +16515,17 @@ Ifc4x3::IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_Glob const IfcParse::entity& Ifc4x3::IfcStructuralPointAction::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1104]); } const IfcParse::entity& Ifc4x3::IfcStructuralPointAction::Class() { return *((IfcParse::entity*)IFC4X3_types[1104]); } Ifc4x3::IfcStructuralPointAction::IfcStructuralPointAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -Ifc4x3::IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralAction(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } +Ifc4x3::IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralAction(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } // Function implementations for IfcStructuralPointConnection -::Ifc4x3::IfcAxis2Placement3D* Ifc4x3::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3::IfcAxis2Placement3D>(true); } +::Ifc4x3::IfcAxis2Placement3D* Ifc4x3::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3::IfcAxis2Placement3D>(true); } void Ifc4x3::IfcStructuralPointConnection::setConditionCoordinateSystem(::Ifc4x3::IfcAxis2Placement3D* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3::IfcStructuralPointConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1105]); } const IfcParse::entity& Ifc4x3::IfcStructuralPointConnection::Class() { return *((IfcParse::entity*)IFC4X3_types[1105]); } Ifc4x3::IfcStructuralPointConnection::IfcStructuralPointConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -Ifc4x3::IfcStructuralPointConnection::IfcStructuralPointConnection(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x3::IfcAxis2Placement3D* v9_ConditionCoordinateSystem) : IfcStructuralConnection(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_ConditionCoordinateSystem ? v9_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcStructuralPointConnection::IfcStructuralPointConnection(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x3::IfcAxis2Placement3D* v9_ConditionCoordinateSystem) : IfcStructuralConnection(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_ConditionCoordinateSystem ? v9_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralPointReaction @@ -16533,7 +16533,7 @@ Ifc4x3::IfcStructuralPointConnection::IfcStructuralPointConnection(std::string v const IfcParse::entity& Ifc4x3::IfcStructuralPointReaction::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1106]); } const IfcParse::entity& Ifc4x3::IfcStructuralPointReaction::Class() { return *((IfcParse::entity*)IFC4X3_types[1106]); } Ifc4x3::IfcStructuralPointReaction::IfcStructuralPointReaction(IfcEntityInstanceData&& e) : IfcStructuralReaction(std::move(e)) { } -Ifc4x3::IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralReaction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +Ifc4x3::IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralReaction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralReaction @@ -16541,14 +16541,14 @@ Ifc4x3::IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v1_Gl const IfcParse::entity& Ifc4x3::IfcStructuralReaction::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1107]); } const IfcParse::entity& Ifc4x3::IfcStructuralReaction::Class() { return *((IfcParse::entity*)IFC4X3_types[1107]); } Ifc4x3::IfcStructuralReaction::IfcStructuralReaction(IfcEntityInstanceData&& e) : IfcStructuralActivity(std::move(e)) { } -Ifc4x3::IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralActivity(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +Ifc4x3::IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralActivity(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralResultGroup -::Ifc4x3::IfcAnalysisTheoryTypeEnum::Value Ifc4x3::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x3::IfcAnalysisTheoryTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3::IfcAnalysisTheoryTypeEnum::Value Ifc4x3::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x3::IfcAnalysisTheoryTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3::IfcStructuralResultGroup::setTheoryType(::Ifc4x3::IfcAnalysisTheoryTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3::IfcAnalysisTheoryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x3::IfcStructuralLoadGroup* Ifc4x3::IfcStructuralResultGroup::ResultForLoadGroup() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3::IfcStructuralLoadGroup>(true); } +::Ifc4x3::IfcStructuralLoadGroup* Ifc4x3::IfcStructuralResultGroup::ResultForLoadGroup() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3::IfcStructuralLoadGroup>(true); } void Ifc4x3::IfcStructuralResultGroup::setResultForLoadGroup(::Ifc4x3::IfcStructuralLoadGroup* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -bool Ifc4x3::IfcStructuralResultGroup::IsLinear() const { bool v = data_.get_attribute_value(7); return v; } +bool Ifc4x3::IfcStructuralResultGroup::IsLinear() const { bool v = get_attribute_value(7); return v; } void Ifc4x3::IfcStructuralResultGroup::setIsLinear(bool v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc4x3::IfcStructuralAnalysisModel::list::ptr Ifc4x3::IfcStructuralResultGroup::ResultGroupFor() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[1077], 8)->as(); } @@ -16556,19 +16556,19 @@ void Ifc4x3::IfcStructuralResultGroup::setIsLinear(bool v) { set_attribute_value const IfcParse::entity& Ifc4x3::IfcStructuralResultGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1108]); } const IfcParse::entity& Ifc4x3::IfcStructuralResultGroup::Class() { return *((IfcParse::entity*)IFC4X3_types[1108]); } Ifc4x3::IfcStructuralResultGroup::IfcStructuralResultGroup(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x3::IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3::IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear) : IfcGroup(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, v7_ResultForLoadGroup ? v7_ResultForLoadGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_IsLinear));; populate_derived(); } +Ifc4x3::IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3::IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, v7_ResultForLoadGroup ? v7_ResultForLoadGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_IsLinear));; populate_derived(); } // Function implementations for IfcStructuralSurfaceAction -boost::optional< ::Ifc4x3::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcProjectedOrTrueLengthEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } void Ifc4x3::IfcStructuralSurfaceAction::setProjectedOrTrue(boost::optional< ::Ifc4x3::IfcProjectedOrTrueLengthEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3::IfcProjectedOrTrueLengthEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3::IfcStructuralSurfaceAction::PredefinedType() const { return ::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3::IfcStructuralSurfaceAction::PredefinedType() const { return ::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3::IfcStructuralSurfaceAction::setPredefinedType(::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3::IfcStructuralSurfaceAction::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1109]); } const IfcParse::entity& Ifc4x3::IfcStructuralSurfaceAction::Class() { return *((IfcParse::entity*)IFC4X3_types[1109]); } Ifc4x3::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -Ifc4x3::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralSurfaceConnection @@ -16576,19 +16576,19 @@ Ifc4x3::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(std::string v1_Gl const IfcParse::entity& Ifc4x3::IfcStructuralSurfaceConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1111]); } const IfcParse::entity& Ifc4x3::IfcStructuralSurfaceConnection::Class() { return *((IfcParse::entity*)IFC4X3_types[1111]); } Ifc4x3::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -Ifc4x3::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralSurfaceMember -::Ifc4x3::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x3::IfcStructuralSurfaceMemberTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x3::IfcStructuralSurfaceMemberTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3::IfcStructuralSurfaceMember::setPredefinedType(::Ifc4x3::IfcStructuralSurfaceMemberTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3::IfcStructuralSurfaceMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc4x3::IfcStructuralSurfaceMember::Thickness() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3::IfcStructuralSurfaceMember::Thickness() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3::IfcStructuralSurfaceMember::setThickness(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcStructuralSurfaceMember::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1112]); } const IfcParse::entity& Ifc4x3::IfcStructuralSurfaceMember::Class() { return *((IfcParse::entity*)IFC4X3_types[1112]); } Ifc4x3::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(IfcEntityInstanceData&& e) : IfcStructuralMember(std::move(e)) { } -Ifc4x3::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } +Ifc4x3::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } // Function implementations for IfcStructuralSurfaceMemberVarying @@ -16596,17 +16596,17 @@ Ifc4x3::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v1_Gl const IfcParse::entity& Ifc4x3::IfcStructuralSurfaceMemberVarying::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1114]); } const IfcParse::entity& Ifc4x3::IfcStructuralSurfaceMemberVarying::Class() { return *((IfcParse::entity*)IFC4X3_types[1114]); } Ifc4x3::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(IfcEntityInstanceData&& e) : IfcStructuralSurfaceMember(std::move(e)) { } -Ifc4x3::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralSurfaceMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } +Ifc4x3::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralSurfaceMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } // Function implementations for IfcStructuralSurfaceReaction -::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcStructuralSurfaceReaction::setPredefinedType(::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcStructuralSurfaceReaction::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1115]); } const IfcParse::entity& Ifc4x3::IfcStructuralSurfaceReaction::Class() { return *((IfcParse::entity*)IFC4X3_types[1115]); } Ifc4x3::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(IfcEntityInstanceData&& e) : IfcStructuralReaction(std::move(e)) { } -Ifc4x3::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, ::Ifc4x3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStyleModel @@ -16614,21 +16614,21 @@ Ifc4x3::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(std::string v const IfcParse::entity& Ifc4x3::IfcStyleModel::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1118]); } const IfcParse::entity& Ifc4x3::IfcStyleModel::Class() { return *((IfcParse::entity*)IFC4X3_types[1118]); } Ifc4x3::IfcStyleModel::IfcStyleModel(IfcEntityInstanceData&& e) : IfcRepresentation(std::move(e)) { } -Ifc4x3::IfcStyleModel::IfcStyleModel(::Ifc4x3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3::IfcStyleModel::IfcStyleModel(::Ifc4x3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcStyledItem -::Ifc4x3::IfcRepresentationItem* Ifc4x3::IfcStyledItem::Item() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcRepresentationItem>(true); } +::Ifc4x3::IfcRepresentationItem* Ifc4x3::IfcStyledItem::Item() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcRepresentationItem>(true); } void Ifc4x3::IfcStyledItem::setItem(::Ifc4x3::IfcRepresentationItem* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3::IfcPresentationStyle >::ptr Ifc4x3::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3::IfcPresentationStyle >(); } +aggregate_of< ::Ifc4x3::IfcPresentationStyle >::ptr Ifc4x3::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3::IfcPresentationStyle >(); } void Ifc4x3::IfcStyledItem::setStyles(aggregate_of< ::Ifc4x3::IfcPresentationStyle >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3::IfcStyledItem::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3::IfcStyledItem::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3::IfcStyledItem::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3::IfcStyledItem::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1116]); } const IfcParse::entity& Ifc4x3::IfcStyledItem::Class() { return *((IfcParse::entity*)IFC4X3_types[1116]); } Ifc4x3::IfcStyledItem::IfcStyledItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x3::IfcStyledItem::IfcStyledItem(::Ifc4x3::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x3::IfcPresentationStyle >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3::IfcStyledItem::IfcStyledItem(::Ifc4x3::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x3::IfcPresentationStyle >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcStyledRepresentation @@ -16636,37 +16636,37 @@ Ifc4x3::IfcStyledItem::IfcStyledItem(::Ifc4x3::IfcRepresentationItem* v1_Item, a const IfcParse::entity& Ifc4x3::IfcStyledRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1117]); } const IfcParse::entity& Ifc4x3::IfcStyledRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_types[1117]); } Ifc4x3::IfcStyledRepresentation::IfcStyledRepresentation(IfcEntityInstanceData&& e) : IfcStyleModel(std::move(e)) { } -Ifc4x3::IfcStyledRepresentation::IfcStyledRepresentation(::Ifc4x3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3::IfcRepresentationItem >::ptr v4_Items) : IfcStyleModel(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3::IfcStyledRepresentation::IfcStyledRepresentation(::Ifc4x3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3::IfcRepresentationItem >::ptr v4_Items) : IfcStyleModel(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcSubContractResource -boost::optional< ::Ifc4x3::IfcSubContractResourceTypeEnum::Value > Ifc4x3::IfcSubContractResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcSubContractResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3::IfcSubContractResourceTypeEnum::Value > Ifc4x3::IfcSubContractResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3::IfcSubContractResource::setPredefinedType(boost::optional< ::Ifc4x3::IfcSubContractResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3::IfcSubContractResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3::IfcSubContractResource::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1119]); } const IfcParse::entity& Ifc4x3::IfcSubContractResource::Class() { return *((IfcParse::entity*)IFC4X3_types[1119]); } Ifc4x3::IfcSubContractResource::IfcSubContractResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3::IfcSubContractResource::IfcSubContractResource(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcSubContractResource::IfcSubContractResource(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSubContractResourceType -::Ifc4x3::IfcSubContractResourceTypeEnum::Value Ifc4x3::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4x3::IfcSubContractResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3::IfcSubContractResourceTypeEnum::Value Ifc4x3::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4x3::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3::IfcSubContractResourceType::setPredefinedType(::Ifc4x3::IfcSubContractResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3::IfcSubContractResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3::IfcSubContractResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1120]); } const IfcParse::entity& Ifc4x3::IfcSubContractResourceType::Class() { return *((IfcParse::entity*)IFC4X3_types[1120]); } Ifc4x3::IfcSubContractResourceType::IfcSubContractResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3::IfcSubContractResourceType::IfcSubContractResourceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcSubContractResourceType::IfcSubContractResourceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcSubedge -::Ifc4x3::IfcEdge* Ifc4x3::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcEdge>(true); } +::Ifc4x3::IfcEdge* Ifc4x3::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcEdge>(true); } void Ifc4x3::IfcSubedge::setParentEdge(::Ifc4x3::IfcEdge* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcSubedge::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1122]); } const IfcParse::entity& Ifc4x3::IfcSubedge::Class() { return *((IfcParse::entity*)IFC4X3_types[1122]); } Ifc4x3::IfcSubedge::IfcSubedge(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc4x3::IfcSubedge::IfcSubedge(::Ifc4x3::IfcVertex* v1_EdgeStart, ::Ifc4x3::IfcVertex* v2_EdgeEnd, ::Ifc4x3::IfcEdge* v3_ParentEdge) : IfcEdge(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ParentEdge ? v3_ParentEdge->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcSubedge::IfcSubedge(::Ifc4x3::IfcVertex* v1_EdgeStart, ::Ifc4x3::IfcVertex* v2_EdgeEnd, ::Ifc4x3::IfcEdge* v3_ParentEdge) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ParentEdge ? v3_ParentEdge->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurface @@ -16674,34 +16674,34 @@ Ifc4x3::IfcSubedge::IfcSubedge(::Ifc4x3::IfcVertex* v1_EdgeStart, ::Ifc4x3::IfcV const IfcParse::entity& Ifc4x3::IfcSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1123]); } const IfcParse::entity& Ifc4x3::IfcSurface::Class() { return *((IfcParse::entity*)IFC4X3_types[1123]); } Ifc4x3::IfcSurface::IfcSurface(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3::IfcSurface::IfcSurface() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3::IfcSurface::IfcSurface() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcSurfaceCurve -::Ifc4x3::IfcCurve* Ifc4x3::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcCurve>(true); } +::Ifc4x3::IfcCurve* Ifc4x3::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcCurve>(true); } void Ifc4x3::IfcSurfaceCurve::setCurve3D(::Ifc4x3::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3::IfcPcurve >::ptr Ifc4x3::IfcSurfaceCurve::AssociatedGeometry() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3::IfcPcurve >(); } +aggregate_of< ::Ifc4x3::IfcPcurve >::ptr Ifc4x3::IfcSurfaceCurve::AssociatedGeometry() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3::IfcPcurve >(); } void Ifc4x3::IfcSurfaceCurve::setAssociatedGeometry(aggregate_of< ::Ifc4x3::IfcPcurve >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x3::IfcSurfaceCurve::MasterRepresentation() const { return ::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::FromString(data_.get_attribute_value(2)); } +::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x3::IfcSurfaceCurve::MasterRepresentation() const { return ::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::FromString(get_attribute_value(2)); } void Ifc4x3::IfcSurfaceCurve::setMasterRepresentation(::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcSurfaceCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1124]); } const IfcParse::entity& Ifc4x3::IfcSurfaceCurve::Class() { return *((IfcParse::entity*)IFC4X3_types[1124]); } Ifc4x3::IfcSurfaceCurve::IfcSurfaceCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3::IfcSurfaceCurve::IfcSurfaceCurve(::Ifc4x3::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } +Ifc4x3::IfcSurfaceCurve::IfcSurfaceCurve(::Ifc4x3::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcSurfaceCurveSweptAreaSolid -::Ifc4x3::IfcSurface* Ifc4x3::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcSurface>(true); } +::Ifc4x3::IfcSurface* Ifc4x3::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcSurface>(true); } void Ifc4x3::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(::Ifc4x3::IfcSurface* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcSurfaceCurveSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1125]); } const IfcParse::entity& Ifc4x3::IfcSurfaceCurveSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_types[1125]); } Ifc4x3::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(IfcEntityInstanceData&& e) : IfcDirectrixCurveSweptAreaSolid(std::move(e)) { } -Ifc4x3::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(::Ifc4x3::IfcProfileDef* v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3::IfcCurve* v3_Directrix, ::Ifc4x3::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3::IfcSurface* v6_ReferenceSurface) : IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReferenceSurface ? v6_ReferenceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(::Ifc4x3::IfcProfileDef* v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3::IfcCurve* v3_Directrix, ::Ifc4x3::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3::IfcSurface* v6_ReferenceSurface) : IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReferenceSurface ? v6_ReferenceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceFeature -boost::optional< ::Ifc4x3::IfcSurfaceFeatureTypeEnum::Value > Ifc4x3::IfcSurfaceFeature::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcSurfaceFeatureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcSurfaceFeatureTypeEnum::Value > Ifc4x3::IfcSurfaceFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcSurfaceFeatureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcSurfaceFeature::setPredefinedType(boost::optional< ::Ifc4x3::IfcSurfaceFeatureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcSurfaceFeatureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x3::IfcRelAdheresToElement::list::ptr Ifc4x3::IfcSurfaceFeature::AdheresToElement() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[899], 5)->as(); } @@ -16709,138 +16709,138 @@ void Ifc4x3::IfcSurfaceFeature::setPredefinedType(boost::optional< ::Ifc4x3::Ifc const IfcParse::entity& Ifc4x3::IfcSurfaceFeature::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1126]); } const IfcParse::entity& Ifc4x3::IfcSurfaceFeature::Class() { return *((IfcParse::entity*)IFC4X3_types[1126]); } Ifc4x3::IfcSurfaceFeature::IfcSurfaceFeature(IfcEntityInstanceData&& e) : IfcFeatureElement(std::move(e)) { } -Ifc4x3::IfcSurfaceFeature::IfcSurfaceFeature(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcSurfaceFeature::IfcSurfaceFeature(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSurfaceOfLinearExtrusion -::Ifc4x3::IfcDirection* Ifc4x3::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcDirection>(true); } +::Ifc4x3::IfcDirection* Ifc4x3::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcDirection>(true); } void Ifc4x3::IfcSurfaceOfLinearExtrusion::setExtrudedDirection(::Ifc4x3::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x3::IfcSurfaceOfLinearExtrusion::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3::IfcSurfaceOfLinearExtrusion::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3::IfcSurfaceOfLinearExtrusion::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcSurfaceOfLinearExtrusion::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1128]); } const IfcParse::entity& Ifc4x3::IfcSurfaceOfLinearExtrusion::Class() { return *((IfcParse::entity*)IFC4X3_types[1128]); } Ifc4x3::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(IfcEntityInstanceData&& e) : IfcSweptSurface(std::move(e)) { } -Ifc4x3::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(::Ifc4x3::IfcProfileDef* v1_SweptCurve, ::Ifc4x3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } +Ifc4x3::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(::Ifc4x3::IfcProfileDef* v1_SweptCurve, ::Ifc4x3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } // Function implementations for IfcSurfaceOfRevolution -::Ifc4x3::IfcAxis1Placement* Ifc4x3::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcAxis1Placement>(true); } +::Ifc4x3::IfcAxis1Placement* Ifc4x3::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcAxis1Placement>(true); } void Ifc4x3::IfcSurfaceOfRevolution::setAxisPosition(::Ifc4x3::IfcAxis1Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcSurfaceOfRevolution::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1129]); } const IfcParse::entity& Ifc4x3::IfcSurfaceOfRevolution::Class() { return *((IfcParse::entity*)IFC4X3_types[1129]); } Ifc4x3::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(IfcEntityInstanceData&& e) : IfcSweptSurface(std::move(e)) { } -Ifc4x3::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(::Ifc4x3::IfcProfileDef* v1_SweptCurve, ::Ifc4x3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3::IfcAxis1Placement* v3_AxisPosition) : IfcSweptSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_AxisPosition ? v3_AxisPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(::Ifc4x3::IfcProfileDef* v1_SweptCurve, ::Ifc4x3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3::IfcAxis1Placement* v3_AxisPosition) : IfcSweptSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_AxisPosition ? v3_AxisPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceReinforcementArea -boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } void Ifc4x3::IfcSurfaceReinforcementArea::setSurfaceReinforcement1(boost::optional< std::vector< double > /*[2:3]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3::IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3::IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = get_attribute_value(2); return v; } void Ifc4x3::IfcSurfaceReinforcementArea::setSurfaceReinforcement2(boost::optional< std::vector< double > /*[2:3]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3::IfcSurfaceReinforcementArea::ShearReinforcement() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3::IfcSurfaceReinforcementArea::ShearReinforcement() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3::IfcSurfaceReinforcementArea::setShearReinforcement(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3::IfcSurfaceReinforcementArea::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1131]); } const IfcParse::entity& Ifc4x3::IfcSurfaceReinforcementArea::Class() { return *((IfcParse::entity*)IFC4X3_types[1131]); } Ifc4x3::IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(IfcEntityInstanceData&& e) : IfcStructuralLoadOrResult(std::move(e)) { } -Ifc4x3::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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); }; populate_derived(); } +Ifc4x3::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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); }; populate_derived(); } // Function implementations for IfcSurfaceStyle -::Ifc4x3::IfcSurfaceSide::Value Ifc4x3::IfcSurfaceStyle::Side() const { return ::Ifc4x3::IfcSurfaceSide::FromString(data_.get_attribute_value(1)); } +::Ifc4x3::IfcSurfaceSide::Value Ifc4x3::IfcSurfaceStyle::Side() const { return ::Ifc4x3::IfcSurfaceSide::FromString(get_attribute_value(1)); } void Ifc4x3::IfcSurfaceStyle::setSide(::Ifc4x3::IfcSurfaceSide::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x3::IfcSurfaceSide::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3::IfcSurfaceStyleElementSelect >::ptr Ifc4x3::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3::IfcSurfaceStyleElementSelect >(); } +aggregate_of< ::Ifc4x3::IfcSurfaceStyleElementSelect >::ptr Ifc4x3::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3::IfcSurfaceStyleElementSelect >(); } void Ifc4x3::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x3::IfcSurfaceStyleElementSelect >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcSurfaceStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1133]); } const IfcParse::entity& Ifc4x3::IfcSurfaceStyle::Class() { return *((IfcParse::entity*)IFC4X3_types[1133]); } Ifc4x3::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x3::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (EnumerationReference(&::Ifc4x3::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, (v3_Styles)->generalize());; populate_derived(); } +Ifc4x3::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (EnumerationReference(&::Ifc4x3::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, (v3_Styles)->generalize());; populate_derived(); } // Function implementations for IfcSurfaceStyleLighting -::Ifc4x3::IfcColourRgb* Ifc4x3::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcColourRgb>(true); } +::Ifc4x3::IfcColourRgb* Ifc4x3::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcColourRgb>(true); } void Ifc4x3::IfcSurfaceStyleLighting::setDiffuseTransmissionColour(::Ifc4x3::IfcColourRgb* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3::IfcColourRgb* Ifc4x3::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcColourRgb>(true); } +::Ifc4x3::IfcColourRgb* Ifc4x3::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcColourRgb>(true); } void Ifc4x3::IfcSurfaceStyleLighting::setDiffuseReflectionColour(::Ifc4x3::IfcColourRgb* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3::IfcColourRgb* Ifc4x3::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcColourRgb>(true); } +::Ifc4x3::IfcColourRgb* Ifc4x3::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcColourRgb>(true); } void Ifc4x3::IfcSurfaceStyleLighting::setTransmissionColour(::Ifc4x3::IfcColourRgb* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3::IfcColourRgb* Ifc4x3::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcColourRgb>(true); } +::Ifc4x3::IfcColourRgb* Ifc4x3::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcColourRgb>(true); } void Ifc4x3::IfcSurfaceStyleLighting::setReflectanceColour(::Ifc4x3::IfcColourRgb* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3::IfcSurfaceStyleLighting::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1135]); } const IfcParse::entity& Ifc4x3::IfcSurfaceStyleLighting::Class() { return *((IfcParse::entity*)IFC4X3_types[1135]); } Ifc4x3::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(::Ifc4x3::IfcColourRgb* v1_DiffuseTransmissionColour, ::Ifc4x3::IfcColourRgb* v2_DiffuseReflectionColour, ::Ifc4x3::IfcColourRgb* v3_TransmissionColour, ::Ifc4x3::IfcColourRgb* v4_ReflectanceColour) : IfcPresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_DiffuseTransmissionColour ? v1_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_DiffuseReflectionColour ? v2_DiffuseReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TransmissionColour ? v3_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_ReflectanceColour ? v4_ReflectanceColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(::Ifc4x3::IfcColourRgb* v1_DiffuseTransmissionColour, ::Ifc4x3::IfcColourRgb* v2_DiffuseReflectionColour, ::Ifc4x3::IfcColourRgb* v3_TransmissionColour, ::Ifc4x3::IfcColourRgb* v4_ReflectanceColour) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_DiffuseTransmissionColour ? v1_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_DiffuseReflectionColour ? v2_DiffuseReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TransmissionColour ? v3_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_ReflectanceColour ? v4_ReflectanceColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceStyleRefraction -boost::optional< double > Ifc4x3::IfcSurfaceStyleRefraction::RefractionIndex() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } double v = data_.get_attribute_value(0); return v; } +boost::optional< double > Ifc4x3::IfcSurfaceStyleRefraction::RefractionIndex() const { if(get_attribute_value(0).isNull()) { return boost::none; } double v = get_attribute_value(0); return v; } void Ifc4x3::IfcSurfaceStyleRefraction::setRefractionIndex(boost::optional< double > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< double > Ifc4x3::IfcSurfaceStyleRefraction::DispersionFactor() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3::IfcSurfaceStyleRefraction::DispersionFactor() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3::IfcSurfaceStyleRefraction::setDispersionFactor(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3::IfcSurfaceStyleRefraction::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1136]); } const IfcParse::entity& Ifc4x3::IfcSurfaceStyleRefraction::Class() { return *((IfcParse::entity*)IFC4X3_types[1136]); } Ifc4x3::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; populate_derived(); } +Ifc4x3::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; populate_derived(); } // Function implementations for IfcSurfaceStyleRendering -::Ifc4x3::IfcColourOrFactor* Ifc4x3::IfcSurfaceStyleRendering::DiffuseColour() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcColourOrFactor>(true); } +::Ifc4x3::IfcColourOrFactor* Ifc4x3::IfcSurfaceStyleRendering::DiffuseColour() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcColourOrFactor>(true); } void Ifc4x3::IfcSurfaceStyleRendering::setDiffuseColour(::Ifc4x3::IfcColourOrFactor* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3::IfcColourOrFactor* Ifc4x3::IfcSurfaceStyleRendering::TransmissionColour() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcColourOrFactor>(true); } +::Ifc4x3::IfcColourOrFactor* Ifc4x3::IfcSurfaceStyleRendering::TransmissionColour() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcColourOrFactor>(true); } void Ifc4x3::IfcSurfaceStyleRendering::setTransmissionColour(::Ifc4x3::IfcColourOrFactor* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3::IfcColourOrFactor* Ifc4x3::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcColourOrFactor>(true); } +::Ifc4x3::IfcColourOrFactor* Ifc4x3::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcColourOrFactor>(true); } void Ifc4x3::IfcSurfaceStyleRendering::setDiffuseTransmissionColour(::Ifc4x3::IfcColourOrFactor* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3::IfcColourOrFactor* Ifc4x3::IfcSurfaceStyleRendering::ReflectionColour() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcColourOrFactor>(true); } +::Ifc4x3::IfcColourOrFactor* Ifc4x3::IfcSurfaceStyleRendering::ReflectionColour() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcColourOrFactor>(true); } void Ifc4x3::IfcSurfaceStyleRendering::setReflectionColour(::Ifc4x3::IfcColourOrFactor* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3::IfcColourOrFactor* Ifc4x3::IfcSurfaceStyleRendering::SpecularColour() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3::IfcColourOrFactor>(true); } +::Ifc4x3::IfcColourOrFactor* Ifc4x3::IfcSurfaceStyleRendering::SpecularColour() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3::IfcColourOrFactor>(true); } void Ifc4x3::IfcSurfaceStyleRendering::setSpecularColour(::Ifc4x3::IfcColourOrFactor* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3::IfcSpecularHighlightSelect* Ifc4x3::IfcSurfaceStyleRendering::SpecularHighlight() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3::IfcSpecularHighlightSelect>(true); } +::Ifc4x3::IfcSpecularHighlightSelect* Ifc4x3::IfcSurfaceStyleRendering::SpecularHighlight() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3::IfcSpecularHighlightSelect>(true); } void Ifc4x3::IfcSurfaceStyleRendering::setSpecularHighlight(::Ifc4x3::IfcSpecularHighlightSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3::IfcReflectanceMethodEnum::Value Ifc4x3::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4x3::IfcReflectanceMethodEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3::IfcReflectanceMethodEnum::Value Ifc4x3::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4x3::IfcReflectanceMethodEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcSurfaceStyleRendering::setReflectanceMethod(::Ifc4x3::IfcReflectanceMethodEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcReflectanceMethodEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3::IfcSurfaceStyleRendering::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1137]); } const IfcParse::entity& Ifc4x3::IfcSurfaceStyleRendering::Class() { return *((IfcParse::entity*)IFC4X3_types[1137]); } Ifc4x3::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcEntityInstanceData&& e) : IfcSurfaceStyleShading(std::move(e)) { } -Ifc4x3::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc4x3::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, ::Ifc4x3::IfcColourOrFactor* v3_DiffuseColour, ::Ifc4x3::IfcColourOrFactor* v4_TransmissionColour, ::Ifc4x3::IfcColourOrFactor* v5_DiffuseTransmissionColour, ::Ifc4x3::IfcColourOrFactor* v6_ReflectionColour, ::Ifc4x3::IfcColourOrFactor* v7_SpecularColour, ::Ifc4x3::IfcSpecularHighlightSelect* v8_SpecularHighlight, ::Ifc4x3::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) : IfcSurfaceStyleShading(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, v3_DiffuseColour ? v3_DiffuseColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TransmissionColour ? v4_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_DiffuseTransmissionColour ? v5_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReflectionColour ? v6_ReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_SpecularColour ? v7_SpecularColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_SpecularHighlight ? v8_SpecularHighlight->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; populate_derived(); } +Ifc4x3::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc4x3::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, ::Ifc4x3::IfcColourOrFactor* v3_DiffuseColour, ::Ifc4x3::IfcColourOrFactor* v4_TransmissionColour, ::Ifc4x3::IfcColourOrFactor* v5_DiffuseTransmissionColour, ::Ifc4x3::IfcColourOrFactor* v6_ReflectionColour, ::Ifc4x3::IfcColourOrFactor* v7_SpecularColour, ::Ifc4x3::IfcSpecularHighlightSelect* v8_SpecularHighlight, ::Ifc4x3::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) : IfcSurfaceStyleShading(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, v3_DiffuseColour ? v3_DiffuseColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TransmissionColour ? v4_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_DiffuseTransmissionColour ? v5_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReflectionColour ? v6_ReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_SpecularColour ? v7_SpecularColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_SpecularHighlight ? v8_SpecularHighlight->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; populate_derived(); } // Function implementations for IfcSurfaceStyleShading -::Ifc4x3::IfcColourRgb* Ifc4x3::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcColourRgb>(true); } +::Ifc4x3::IfcColourRgb* Ifc4x3::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcColourRgb>(true); } void Ifc4x3::IfcSurfaceStyleShading::setSurfaceColour(::Ifc4x3::IfcColourRgb* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< double > Ifc4x3::IfcSurfaceStyleShading::Transparency() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3::IfcSurfaceStyleShading::Transparency() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3::IfcSurfaceStyleShading::setTransparency(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3::IfcSurfaceStyleShading::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1138]); } const IfcParse::entity& Ifc4x3::IfcSurfaceStyleShading::Class() { return *((IfcParse::entity*)IFC4X3_types[1138]); } Ifc4x3::IfcSurfaceStyleShading::IfcSurfaceStyleShading(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3::IfcSurfaceStyleShading::IfcSurfaceStyleShading(::Ifc4x3::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }; populate_derived(); } +Ifc4x3::IfcSurfaceStyleShading::IfcSurfaceStyleShading(::Ifc4x3::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }; populate_derived(); } // Function implementations for IfcSurfaceStyleWithTextures -aggregate_of< ::Ifc4x3::IfcSurfaceTexture >::ptr Ifc4x3::IfcSurfaceStyleWithTextures::Textures() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3::IfcSurfaceTexture >(); } +aggregate_of< ::Ifc4x3::IfcSurfaceTexture >::ptr Ifc4x3::IfcSurfaceStyleWithTextures::Textures() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3::IfcSurfaceTexture >(); } void Ifc4x3::IfcSurfaceStyleWithTextures::setTextures(aggregate_of< ::Ifc4x3::IfcSurfaceTexture >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3::IfcSurfaceStyleWithTextures::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1139]); } const IfcParse::entity& Ifc4x3::IfcSurfaceStyleWithTextures::Class() { return *((IfcParse::entity*)IFC4X3_types[1139]); } Ifc4x3::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(aggregate_of< ::Ifc4x3::IfcSurfaceTexture >::ptr v1_Textures) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Textures)->generalize());; populate_derived(); } +Ifc4x3::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(aggregate_of< ::Ifc4x3::IfcSurfaceTexture >::ptr v1_Textures) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Textures)->generalize());; populate_derived(); } // Function implementations for IfcSurfaceTexture -bool Ifc4x3::IfcSurfaceTexture::RepeatS() const { bool v = data_.get_attribute_value(0); return v; } +bool Ifc4x3::IfcSurfaceTexture::RepeatS() const { bool v = get_attribute_value(0); return v; } void Ifc4x3::IfcSurfaceTexture::setRepeatS(bool v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -bool Ifc4x3::IfcSurfaceTexture::RepeatT() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x3::IfcSurfaceTexture::RepeatT() const { bool v = get_attribute_value(1); return v; } void Ifc4x3::IfcSurfaceTexture::setRepeatT(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3::IfcSurfaceTexture::Mode() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3::IfcSurfaceTexture::Mode() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3::IfcSurfaceTexture::setMode(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3::IfcCartesianTransformationOperator2D* Ifc4x3::IfcSurfaceTexture::TextureTransform() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcCartesianTransformationOperator2D>(true); } +::Ifc4x3::IfcCartesianTransformationOperator2D* Ifc4x3::IfcSurfaceTexture::TextureTransform() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcCartesianTransformationOperator2D>(true); } void Ifc4x3::IfcSurfaceTexture::setTextureTransform(::Ifc4x3::IfcCartesianTransformationOperator2D* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3::IfcSurfaceTexture::Parameter() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3::IfcSurfaceTexture::Parameter() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } ::Ifc4x3::IfcTextureCoordinate::list::ptr Ifc4x3::IfcSurfaceTexture::IsMappedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[1191], 0)->as(); } @@ -16849,79 +16849,79 @@ void Ifc4x3::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std:: const IfcParse::entity& Ifc4x3::IfcSurfaceTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1140]); } const IfcParse::entity& Ifc4x3::IfcSurfaceTexture::Class() { return *((IfcParse::entity*)IFC4X3_types[1140]); } Ifc4x3::IfcSurfaceTexture::IfcSurfaceTexture(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3::IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) : IfcPresentationItem(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }; populate_derived(); } +Ifc4x3::IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }; populate_derived(); } // Function implementations for IfcSweptAreaSolid -::Ifc4x3::IfcProfileDef* Ifc4x3::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcProfileDef>(true); } +::Ifc4x3::IfcProfileDef* Ifc4x3::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcProfileDef>(true); } void Ifc4x3::IfcSweptAreaSolid::setSweptArea(::Ifc4x3::IfcProfileDef* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3::IfcAxis2Placement3D* Ifc4x3::IfcSweptAreaSolid::Position() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcAxis2Placement3D>(true); } +::Ifc4x3::IfcAxis2Placement3D* Ifc4x3::IfcSweptAreaSolid::Position() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcAxis2Placement3D>(true); } void Ifc4x3::IfcSweptAreaSolid::setPosition(::Ifc4x3::IfcAxis2Placement3D* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1141]); } const IfcParse::entity& Ifc4x3::IfcSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_types[1141]); } Ifc4x3::IfcSweptAreaSolid::IfcSweptAreaSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3::IfcSweptAreaSolid::IfcSweptAreaSolid(::Ifc4x3::IfcProfileDef* v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D* v2_Position) : IfcSolidModel(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcSweptAreaSolid::IfcSweptAreaSolid(::Ifc4x3::IfcProfileDef* v1_SweptArea, ::Ifc4x3::IfcAxis2Placement3D* v2_Position) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSweptDiskSolid -::Ifc4x3::IfcCurve* Ifc4x3::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcCurve>(true); } +::Ifc4x3::IfcCurve* Ifc4x3::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcCurve>(true); } void Ifc4x3::IfcSweptDiskSolid::setDirectrix(::Ifc4x3::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3::IfcSweptDiskSolid::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3::IfcSweptDiskSolid::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3::IfcSweptDiskSolid::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3::IfcSweptDiskSolid::InnerRadius() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3::IfcSweptDiskSolid::InnerRadius() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3::IfcSweptDiskSolid::setInnerRadius(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3::IfcSweptDiskSolid::StartParam() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3::IfcSweptDiskSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3::IfcSweptDiskSolid::setStartParam(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3::IfcSweptDiskSolid::EndParam() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3::IfcSweptDiskSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3::IfcSweptDiskSolid::setEndParam(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3::IfcSweptDiskSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1142]); } const IfcParse::entity& Ifc4x3::IfcSweptDiskSolid::Class() { return *((IfcParse::entity*)IFC4X3_types[1142]); } Ifc4x3::IfcSweptDiskSolid::IfcSweptDiskSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3::IfcSweptDiskSolid::IfcSweptDiskSolid(::Ifc4x3::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam) : IfcSolidModel(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; populate_derived(); } +Ifc4x3::IfcSweptDiskSolid::IfcSweptDiskSolid(::Ifc4x3::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; populate_derived(); } // Function implementations for IfcSweptDiskSolidPolygonal -boost::optional< double > Ifc4x3::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3::IfcSweptDiskSolidPolygonal::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3::IfcSweptDiskSolidPolygonal::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1143]); } const IfcParse::entity& Ifc4x3::IfcSweptDiskSolidPolygonal::Class() { return *((IfcParse::entity*)IFC4X3_types[1143]); } Ifc4x3::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(IfcEntityInstanceData&& e) : IfcSweptDiskSolid(std::move(e)) { } -Ifc4x3::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(::Ifc4x3::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(storage_t(6))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); }; populate_derived(); } +Ifc4x3::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(::Ifc4x3::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(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); }; populate_derived(); } // Function implementations for IfcSweptSurface -::Ifc4x3::IfcProfileDef* Ifc4x3::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcProfileDef>(true); } +::Ifc4x3::IfcProfileDef* Ifc4x3::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcProfileDef>(true); } void Ifc4x3::IfcSweptSurface::setSweptCurve(::Ifc4x3::IfcProfileDef* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3::IfcAxis2Placement3D* Ifc4x3::IfcSweptSurface::Position() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcAxis2Placement3D>(true); } +::Ifc4x3::IfcAxis2Placement3D* Ifc4x3::IfcSweptSurface::Position() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcAxis2Placement3D>(true); } void Ifc4x3::IfcSweptSurface::setPosition(::Ifc4x3::IfcAxis2Placement3D* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcSweptSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1144]); } const IfcParse::entity& Ifc4x3::IfcSweptSurface::Class() { return *((IfcParse::entity*)IFC4X3_types[1144]); } Ifc4x3::IfcSweptSurface::IfcSweptSurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x3::IfcSweptSurface::IfcSweptSurface(::Ifc4x3::IfcProfileDef* v1_SweptCurve, ::Ifc4x3::IfcAxis2Placement3D* v2_Position) : IfcSurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcSweptSurface::IfcSweptSurface(::Ifc4x3::IfcProfileDef* v1_SweptCurve, ::Ifc4x3::IfcAxis2Placement3D* v2_Position) : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSwitchingDevice -boost::optional< ::Ifc4x3::IfcSwitchingDeviceTypeEnum::Value > Ifc4x3::IfcSwitchingDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcSwitchingDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcSwitchingDeviceTypeEnum::Value > Ifc4x3::IfcSwitchingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcSwitchingDevice::setPredefinedType(boost::optional< ::Ifc4x3::IfcSwitchingDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcSwitchingDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcSwitchingDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1145]); } const IfcParse::entity& Ifc4x3::IfcSwitchingDevice::Class() { return *((IfcParse::entity*)IFC4X3_types[1145]); } Ifc4x3::IfcSwitchingDevice::IfcSwitchingDevice(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3::IfcSwitchingDevice::IfcSwitchingDevice(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcSwitchingDevice::IfcSwitchingDevice(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSwitchingDeviceType -::Ifc4x3::IfcSwitchingDeviceTypeEnum::Value Ifc4x3::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4x3::IfcSwitchingDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcSwitchingDeviceTypeEnum::Value Ifc4x3::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4x3::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcSwitchingDeviceType::setPredefinedType(::Ifc4x3::IfcSwitchingDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcSwitchingDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcSwitchingDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1146]); } const IfcParse::entity& Ifc4x3::IfcSwitchingDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_types[1146]); } Ifc4x3::IfcSwitchingDeviceType::IfcSwitchingDeviceType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3::IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSystem @@ -16931,306 +16931,306 @@ Ifc4x3::IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_GlobalId, const IfcParse::entity& Ifc4x3::IfcSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1148]); } const IfcParse::entity& Ifc4x3::IfcSystem::Class() { return *((IfcParse::entity*)IFC4X3_types[1148]); } Ifc4x3::IfcSystem::IfcSystem(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x3::IfcSystem::IfcSystem(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcGroup(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc4x3::IfcSystem::IfcSystem(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcSystemFurnitureElement -boost::optional< ::Ifc4x3::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3::IfcSystemFurnitureElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcSystemFurnitureElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3::IfcSystemFurnitureElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcSystemFurnitureElement::setPredefinedType(boost::optional< ::Ifc4x3::IfcSystemFurnitureElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcSystemFurnitureElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcSystemFurnitureElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1149]); } const IfcParse::entity& Ifc4x3::IfcSystemFurnitureElement::Class() { return *((IfcParse::entity*)IFC4X3_types[1149]); } Ifc4x3::IfcSystemFurnitureElement::IfcSystemFurnitureElement(IfcEntityInstanceData&& e) : IfcFurnishingElement(std::move(e)) { } -Ifc4x3::IfcSystemFurnitureElement::IfcSystemFurnitureElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcSystemFurnitureElement::IfcSystemFurnitureElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSystemFurnitureElementType -boost::optional< ::Ifc4x3::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3::IfcSystemFurnitureElementType::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3::IfcSystemFurnitureElementTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3::IfcSystemFurnitureElementType::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcSystemFurnitureElementType::setPredefinedType(boost::optional< ::Ifc4x3::IfcSystemFurnitureElementTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcSystemFurnitureElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3::IfcSystemFurnitureElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1150]); } const IfcParse::entity& Ifc4x3::IfcSystemFurnitureElementType::Class() { return *((IfcParse::entity*)IFC4X3_types[1150]); } Ifc4x3::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(IfcEntityInstanceData&& e) : IfcFurnishingElementType(std::move(e)) { } -Ifc4x3::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< ::Ifc4x3::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< ::Ifc4x3::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTShapeProfileDef -double Ifc4x3::IfcTShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3::IfcTShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3::IfcTShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3::IfcTShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3::IfcTShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc4x3::IfcTShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3::IfcTShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3::IfcTShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3::IfcTShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3::IfcTShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3::IfcTShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3::IfcTShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3::IfcTShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3::IfcTShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3::IfcTShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3::IfcTShapeProfileDef::FlangeEdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3::IfcTShapeProfileDef::FlangeEdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3::IfcTShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3::IfcTShapeProfileDef::WebEdgeRadius() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3::IfcTShapeProfileDef::WebEdgeRadius() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3::IfcTShapeProfileDef::setWebEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3::IfcTShapeProfileDef::WebSlope() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3::IfcTShapeProfileDef::WebSlope() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3::IfcTShapeProfileDef::setWebSlope(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3::IfcTShapeProfileDef::FlangeSlope() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3::IfcTShapeProfileDef::FlangeSlope() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3::IfcTShapeProfileDef::setFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x3::IfcTShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1236]); } const IfcParse::entity& Ifc4x3::IfcTShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_types[1236]); } Ifc4x3::IfcTShapeProfileDef::IfcTShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3::IfcTShapeProfileDef::IfcTShapeProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_FlangeEdgeRadius, boost::optional< double > v10_WebEdgeRadius, boost::optional< double > v11_WebSlope, boost::optional< double > v12_FlangeSlope) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); }; populate_derived(); } +Ifc4x3::IfcTShapeProfileDef::IfcTShapeProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_FlangeEdgeRadius, boost::optional< double > v10_WebEdgeRadius, boost::optional< double > v11_WebSlope, boost::optional< double > v12_FlangeSlope) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); }; populate_derived(); } // Function implementations for IfcTable -boost::optional< std::string > Ifc4x3::IfcTable::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3::IfcTable::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcTable::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< aggregate_of< ::Ifc4x3::IfcTableRow >::ptr > Ifc4x3::IfcTable::Rows() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3::IfcTableRow >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcTableRow >::ptr > Ifc4x3::IfcTable::Rows() const { if(get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3::IfcTableRow >(); } void Ifc4x3::IfcTable::setRows(boost::optional< aggregate_of< ::Ifc4x3::IfcTableRow >::ptr > v) { if (v) {set_attribute_value(1, (*v)->generalize());} else {unset_attribute_value(1);} } -boost::optional< aggregate_of< ::Ifc4x3::IfcTableColumn >::ptr > Ifc4x3::IfcTable::Columns() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3::IfcTableColumn >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcTableColumn >::ptr > Ifc4x3::IfcTable::Columns() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3::IfcTableColumn >(); } void Ifc4x3::IfcTable::setColumns(boost::optional< aggregate_of< ::Ifc4x3::IfcTableColumn >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3::IfcTable::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1152]); } const IfcParse::entity& Ifc4x3::IfcTable::Class() { return *((IfcParse::entity*)IFC4X3_types[1152]); } Ifc4x3::IfcTable::IfcTable(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcTable::IfcTable(boost::optional< std::string > v1_Name, boost::optional< aggregate_of< ::Ifc4x3::IfcTableRow >::ptr > v2_Rows, boost::optional< aggregate_of< ::Ifc4x3::IfcTableColumn >::ptr > v3_Columns) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, (*v2_Rows)->generalize()); } if (v3_Columns) {set_attribute_value(2, (*v3_Columns)->generalize()); }; populate_derived(); } +Ifc4x3::IfcTable::IfcTable(boost::optional< std::string > v1_Name, boost::optional< aggregate_of< ::Ifc4x3::IfcTableRow >::ptr > v2_Rows, boost::optional< aggregate_of< ::Ifc4x3::IfcTableColumn >::ptr > v3_Columns) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, (*v2_Rows)->generalize()); } if (v3_Columns) {set_attribute_value(2, (*v3_Columns)->generalize()); }; populate_derived(); } // Function implementations for IfcTableColumn -boost::optional< std::string > Ifc4x3::IfcTableColumn::Identifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3::IfcTableColumn::Identifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcTableColumn::setIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3::IfcTableColumn::Name() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3::IfcTableColumn::Name() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcTableColumn::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3::IfcTableColumn::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3::IfcTableColumn::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3::IfcTableColumn::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3::IfcUnit* Ifc4x3::IfcTableColumn::Unit() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcUnit>(true); } +::Ifc4x3::IfcUnit* Ifc4x3::IfcTableColumn::Unit() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcUnit>(true); } void Ifc4x3::IfcTableColumn::setUnit(::Ifc4x3::IfcUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3::IfcReference* Ifc4x3::IfcTableColumn::ReferencePath() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcReference>(true); } +::Ifc4x3::IfcReference* Ifc4x3::IfcTableColumn::ReferencePath() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcReference>(true); } void Ifc4x3::IfcTableColumn::setReferencePath(::Ifc4x3::IfcReference* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3::IfcTableColumn::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1153]); } const IfcParse::entity& Ifc4x3::IfcTableColumn::Class() { return *((IfcParse::entity*)IFC4X3_types[1153]); } Ifc4x3::IfcTableColumn::IfcTableColumn(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x3::IfcUnit* v4_Unit, ::Ifc4x3::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ReferencePath ? v5_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x3::IfcUnit* v4_Unit, ::Ifc4x3::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ReferencePath ? v5_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTableRow -boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > Ifc4x3::IfcTableRow::RowCells() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > Ifc4x3::IfcTableRow::RowCells() const { if(get_attribute_value(0).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3::IfcValue >(); } void Ifc4x3::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v) { if (v) {set_attribute_value(0, (*v)->generalize());} else {unset_attribute_value(0);} } -boost::optional< bool > Ifc4x3::IfcTableRow::IsHeading() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } bool v = data_.get_attribute_value(1); return v; } +boost::optional< bool > Ifc4x3::IfcTableRow::IsHeading() const { if(get_attribute_value(1).isNull()) { return boost::none; } bool v = get_attribute_value(1); return v; } void Ifc4x3::IfcTableRow::setIsHeading(boost::optional< bool > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3::IfcTableRow::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1154]); } const IfcParse::entity& Ifc4x3::IfcTableRow::Class() { return *((IfcParse::entity*)IFC4X3_types[1154]); } Ifc4x3::IfcTableRow::IfcTableRow(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_RowCells) {set_attribute_value(0, (*v1_RowCells)->generalize()); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); }; populate_derived(); } +Ifc4x3::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_RowCells) {set_attribute_value(0, (*v1_RowCells)->generalize()); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); }; populate_derived(); } // Function implementations for IfcTank -boost::optional< ::Ifc4x3::IfcTankTypeEnum::Value > Ifc4x3::IfcTank::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcTankTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcTankTypeEnum::Value > Ifc4x3::IfcTank::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcTankTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcTank::setPredefinedType(boost::optional< ::Ifc4x3::IfcTankTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcTankTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcTank::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1155]); } const IfcParse::entity& Ifc4x3::IfcTank::Class() { return *((IfcParse::entity*)IFC4X3_types[1155]); } Ifc4x3::IfcTank::IfcTank(IfcEntityInstanceData&& e) : IfcFlowStorageDevice(std::move(e)) { } -Ifc4x3::IfcTank::IfcTank(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcTankTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcTank::IfcTank(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcTankTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTankType -::Ifc4x3::IfcTankTypeEnum::Value Ifc4x3::IfcTankType::PredefinedType() const { return ::Ifc4x3::IfcTankTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcTankTypeEnum::Value Ifc4x3::IfcTankType::PredefinedType() const { return ::Ifc4x3::IfcTankTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcTankType::setPredefinedType(::Ifc4x3::IfcTankTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcTankTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcTankType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1156]); } const IfcParse::entity& Ifc4x3::IfcTankType::Class() { return *((IfcParse::entity*)IFC4X3_types[1156]); } Ifc4x3::IfcTankType::IfcTankType(IfcEntityInstanceData&& e) : IfcFlowStorageDeviceType(std::move(e)) { } -Ifc4x3::IfcTankType::IfcTankType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTankTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcTankType::IfcTankType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTankTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTask -boost::optional< std::string > Ifc4x3::IfcTask::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3::IfcTask::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3::IfcTask::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3::IfcTask::WorkMethod() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3::IfcTask::WorkMethod() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3::IfcTask::setWorkMethod(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -bool Ifc4x3::IfcTask::IsMilestone() const { bool v = data_.get_attribute_value(9); return v; } +bool Ifc4x3::IfcTask::IsMilestone() const { bool v = get_attribute_value(9); return v; } void Ifc4x3::IfcTask::setIsMilestone(bool v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -boost::optional< int > Ifc4x3::IfcTask::Priority() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } int v = data_.get_attribute_value(10); return v; } +boost::optional< int > Ifc4x3::IfcTask::Priority() const { if(get_attribute_value(10).isNull()) { return boost::none; } int v = get_attribute_value(10); return v; } void Ifc4x3::IfcTask::setPriority(boost::optional< int > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4x3::IfcTaskTime* Ifc4x3::IfcTask::TaskTime() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc4x3::IfcTaskTime>(true); } +::Ifc4x3::IfcTaskTime* Ifc4x3::IfcTask::TaskTime() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc4x3::IfcTaskTime>(true); } void Ifc4x3::IfcTask::setTaskTime(::Ifc4x3::IfcTaskTime* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } -boost::optional< ::Ifc4x3::IfcTaskTypeEnum::Value > Ifc4x3::IfcTask::PredefinedType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3::IfcTaskTypeEnum::FromString(data_.get_attribute_value(12)); } +boost::optional< ::Ifc4x3::IfcTaskTypeEnum::Value > Ifc4x3::IfcTask::PredefinedType() const { if(get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3::IfcTaskTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x3::IfcTask::setPredefinedType(boost::optional< ::Ifc4x3::IfcTaskTypeEnum::Value > v) { if (v) {set_attribute_value(12, EnumerationReference(&::Ifc4x3::IfcTaskTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3::IfcTask::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1158]); } const IfcParse::entity& Ifc4x3::IfcTask::Class() { return *((IfcParse::entity*)IFC4X3_types[1158]); } Ifc4x3::IfcTask::IfcTask(IfcEntityInstanceData&& e) : IfcProcess(std::move(e)) { } -Ifc4x3::IfcTask::IfcTask(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, boost::optional< int > v11_Priority, ::Ifc4x3::IfcTaskTime* v12_TaskTime, boost::optional< ::Ifc4x3::IfcTaskTypeEnum::Value > v13_PredefinedType) : IfcProcess(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, v12_TaskTime ? v12_TaskTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcTask::IfcTask(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, boost::optional< int > v11_Priority, ::Ifc4x3::IfcTaskTime* v12_TaskTime, boost::optional< ::Ifc4x3::IfcTaskTypeEnum::Value > v13_PredefinedType) : IfcProcess(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, v12_TaskTime ? v12_TaskTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTaskTime -boost::optional< ::Ifc4x3::IfcTaskDurationEnum::Value > Ifc4x3::IfcTaskTime::DurationType() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x3::IfcTaskDurationEnum::FromString(data_.get_attribute_value(3)); } +boost::optional< ::Ifc4x3::IfcTaskDurationEnum::Value > Ifc4x3::IfcTaskTime::DurationType() const { if(get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x3::IfcTaskDurationEnum::FromString(get_attribute_value(3)); } void Ifc4x3::IfcTaskTime::setDurationType(boost::optional< ::Ifc4x3::IfcTaskDurationEnum::Value > v) { if (v) {set_attribute_value(3, EnumerationReference(&::Ifc4x3::IfcTaskDurationEnum::Class(), (size_t) *v));} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3::IfcTaskTime::ScheduleDuration() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3::IfcTaskTime::ScheduleDuration() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcTaskTime::setScheduleDuration(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3::IfcTaskTime::ScheduleStart() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3::IfcTaskTime::ScheduleStart() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3::IfcTaskTime::setScheduleStart(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3::IfcTaskTime::ScheduleFinish() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3::IfcTaskTime::ScheduleFinish() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3::IfcTaskTime::setScheduleFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3::IfcTaskTime::EarlyStart() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3::IfcTaskTime::EarlyStart() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3::IfcTaskTime::setEarlyStart(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3::IfcTaskTime::EarlyFinish() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3::IfcTaskTime::EarlyFinish() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3::IfcTaskTime::setEarlyFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3::IfcTaskTime::LateStart() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3::IfcTaskTime::LateStart() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3::IfcTaskTime::setLateStart(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x3::IfcTaskTime::LateFinish() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3::IfcTaskTime::LateFinish() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3::IfcTaskTime::setLateFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< std::string > Ifc4x3::IfcTaskTime::FreeFloat() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x3::IfcTaskTime::FreeFloat() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x3::IfcTaskTime::setFreeFloat(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3::IfcTaskTime::TotalFloat() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3::IfcTaskTime::TotalFloat() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3::IfcTaskTime::setTotalFloat(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< bool > Ifc4x3::IfcTaskTime::IsCritical() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } bool v = data_.get_attribute_value(13); return v; } +boost::optional< bool > Ifc4x3::IfcTaskTime::IsCritical() const { if(get_attribute_value(13).isNull()) { return boost::none; } bool v = get_attribute_value(13); return v; } void Ifc4x3::IfcTaskTime::setIsCritical(boost::optional< bool > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x3::IfcTaskTime::StatusTime() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x3::IfcTaskTime::StatusTime() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x3::IfcTaskTime::setStatusTime(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< std::string > Ifc4x3::IfcTaskTime::ActualDuration() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(15); return v; } +boost::optional< std::string > Ifc4x3::IfcTaskTime::ActualDuration() const { if(get_attribute_value(15).isNull()) { return boost::none; } std::string v = get_attribute_value(15); return v; } void Ifc4x3::IfcTaskTime::setActualDuration(boost::optional< std::string > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< std::string > Ifc4x3::IfcTaskTime::ActualStart() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(16); return v; } +boost::optional< std::string > Ifc4x3::IfcTaskTime::ActualStart() const { if(get_attribute_value(16).isNull()) { return boost::none; } std::string v = get_attribute_value(16); return v; } void Ifc4x3::IfcTaskTime::setActualStart(boost::optional< std::string > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< std::string > Ifc4x3::IfcTaskTime::ActualFinish() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(17); return v; } +boost::optional< std::string > Ifc4x3::IfcTaskTime::ActualFinish() const { if(get_attribute_value(17).isNull()) { return boost::none; } std::string v = get_attribute_value(17); return v; } void Ifc4x3::IfcTaskTime::setActualFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } -boost::optional< std::string > Ifc4x3::IfcTaskTime::RemainingTime() const { if(data_.get_attribute_value(18).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(18); return v; } +boost::optional< std::string > Ifc4x3::IfcTaskTime::RemainingTime() const { if(get_attribute_value(18).isNull()) { return boost::none; } std::string v = get_attribute_value(18); return v; } void Ifc4x3::IfcTaskTime::setRemainingTime(boost::optional< std::string > v) { if (v) {set_attribute_value(18, *v);} else {unset_attribute_value(18);} } -boost::optional< double > Ifc4x3::IfcTaskTime::Completion() const { if(data_.get_attribute_value(19).isNull()) { return boost::none; } double v = data_.get_attribute_value(19); return v; } +boost::optional< double > Ifc4x3::IfcTaskTime::Completion() const { if(get_attribute_value(19).isNull()) { return boost::none; } double v = get_attribute_value(19); return v; } void Ifc4x3::IfcTaskTime::setCompletion(boost::optional< double > v) { if (v) {set_attribute_value(19, *v);} else {unset_attribute_value(19);} } const IfcParse::entity& Ifc4x3::IfcTaskTime::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1160]); } const IfcParse::entity& Ifc4x3::IfcTaskTime::Class() { return *((IfcParse::entity*)IFC4X3_types[1160]); } Ifc4x3::IfcTaskTime::IfcTaskTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x3::IfcTaskTime::IfcTaskTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x3::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(storage_t(20))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }; populate_derived(); } +Ifc4x3::IfcTaskTime::IfcTaskTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x3::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(in_memory_attribute_storage(20))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }; populate_derived(); } // Function implementations for IfcTaskTimeRecurring -::Ifc4x3::IfcRecurrencePattern* Ifc4x3::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(20)))->as<::Ifc4x3::IfcRecurrencePattern>(true); } +::Ifc4x3::IfcRecurrencePattern* Ifc4x3::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(20)))->as<::Ifc4x3::IfcRecurrencePattern>(true); } void Ifc4x3::IfcTaskTimeRecurring::setRecurrence(::Ifc4x3::IfcRecurrencePattern* v) { set_attribute_value(20, v->as());if constexpr (false)unset_attribute_value(20); } const IfcParse::entity& Ifc4x3::IfcTaskTimeRecurring::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1161]); } const IfcParse::entity& Ifc4x3::IfcTaskTimeRecurring::Class() { return *((IfcParse::entity*)IFC4X3_types[1161]); } Ifc4x3::IfcTaskTimeRecurring::IfcTaskTimeRecurring(IfcEntityInstanceData&& e) : IfcTaskTime(std::move(e)) { } -Ifc4x3::IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x3::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::IfcRecurrencePattern* v21_Recurrence) : IfcTaskTime(IfcEntityInstanceData(storage_t(21))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, v21_Recurrence ? v21_Recurrence->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x3::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::IfcRecurrencePattern* v21_Recurrence) : IfcTaskTime(IfcEntityInstanceData(in_memory_attribute_storage(21))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, v21_Recurrence ? v21_Recurrence->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTaskType -::Ifc4x3::IfcTaskTypeEnum::Value Ifc4x3::IfcTaskType::PredefinedType() const { return ::Ifc4x3::IfcTaskTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcTaskTypeEnum::Value Ifc4x3::IfcTaskType::PredefinedType() const { return ::Ifc4x3::IfcTaskTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcTaskType::setPredefinedType(::Ifc4x3::IfcTaskTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcTaskTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3::IfcTaskType::WorkMethod() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3::IfcTaskType::WorkMethod() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3::IfcTaskType::setWorkMethod(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3::IfcTaskType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1162]); } const IfcParse::entity& Ifc4x3::IfcTaskType::Class() { return *((IfcParse::entity*)IFC4X3_types[1162]); } Ifc4x3::IfcTaskType::IfcTaskType(IfcEntityInstanceData&& e) : IfcTypeProcess(std::move(e)) { } -Ifc4x3::IfcTaskType::IfcTaskType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3::IfcTaskTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_WorkMethod) : IfcTypeProcess(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); }; populate_derived(); } +Ifc4x3::IfcTaskType::IfcTaskType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3::IfcTaskTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_WorkMethod) : IfcTypeProcess(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); }; populate_derived(); } // Function implementations for IfcTelecomAddress -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3::IfcTelecomAddress::TelephoneNumbers() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3::IfcTelecomAddress::TelephoneNumbers() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3::IfcTelecomAddress::setTelephoneNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3::IfcTelecomAddress::FacsimileNumbers() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3::IfcTelecomAddress::FacsimileNumbers() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3::IfcTelecomAddress::setFacsimileNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3::IfcTelecomAddress::PagerNumber() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3::IfcTelecomAddress::PagerNumber() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3::IfcTelecomAddress::setPagerNumber(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3::IfcTelecomAddress::ElectronicMailAddresses() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(6); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3::IfcTelecomAddress::ElectronicMailAddresses() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(6); return v; } void Ifc4x3::IfcTelecomAddress::setElectronicMailAddresses(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3::IfcTelecomAddress::WWWHomePageURL() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3::IfcTelecomAddress::WWWHomePageURL() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3::IfcTelecomAddress::setWWWHomePageURL(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3::IfcTelecomAddress::MessagingIDs() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(8); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3::IfcTelecomAddress::MessagingIDs() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3::IfcTelecomAddress::setMessagingIDs(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcTelecomAddress::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1164]); } const IfcParse::entity& Ifc4x3::IfcTelecomAddress::Class() { return *((IfcParse::entity*)IFC4X3_types[1164]); } Ifc4x3::IfcTelecomAddress::IfcTelecomAddress(IfcEntityInstanceData&& e) : IfcAddress(std::move(e)) { } -Ifc4x3::IfcTelecomAddress::IfcTelecomAddress(boost::optional< ::Ifc4x3::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(storage_t(9))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); }; populate_derived(); } +Ifc4x3::IfcTelecomAddress::IfcTelecomAddress(boost::optional< ::Ifc4x3::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(in_memory_attribute_storage(9))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); }; populate_derived(); } // Function implementations for IfcTendon -boost::optional< ::Ifc4x3::IfcTendonTypeEnum::Value > Ifc4x3::IfcTendon::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3::IfcTendonTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3::IfcTendonTypeEnum::Value > Ifc4x3::IfcTendon::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcTendon::setPredefinedType(boost::optional< ::Ifc4x3::IfcTendonTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcTendonTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3::IfcTendon::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3::IfcTendon::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3::IfcTendon::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3::IfcTendon::CrossSectionArea() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3::IfcTendon::CrossSectionArea() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3::IfcTendon::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3::IfcTendon::TensionForce() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3::IfcTendon::TensionForce() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3::IfcTendon::setTensionForce(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3::IfcTendon::PreStress() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3::IfcTendon::PreStress() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3::IfcTendon::setPreStress(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3::IfcTendon::FrictionCoefficient() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3::IfcTendon::FrictionCoefficient() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3::IfcTendon::setFrictionCoefficient(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x3::IfcTendon::AnchorageSlip() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3::IfcTendon::AnchorageSlip() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3::IfcTendon::setAnchorageSlip(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3::IfcTendon::MinCurvatureRadius() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3::IfcTendon::MinCurvatureRadius() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3::IfcTendon::setMinCurvatureRadius(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } const IfcParse::entity& Ifc4x3::IfcTendon::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1167]); } const IfcParse::entity& Ifc4x3::IfcTendon::Class() { return *((IfcParse::entity*)IFC4X3_types[1167]); } Ifc4x3::IfcTendon::IfcTendon(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x3::IfcTendon::IfcTendon(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x3::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(storage_t(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; populate_derived(); } +Ifc4x3::IfcTendon::IfcTendon(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x3::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(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; populate_derived(); } // Function implementations for IfcTendonAnchor -boost::optional< ::Ifc4x3::IfcTendonAnchorTypeEnum::Value > Ifc4x3::IfcTendonAnchor::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3::IfcTendonAnchorTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3::IfcTendonAnchorTypeEnum::Value > Ifc4x3::IfcTendonAnchor::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcTendonAnchor::setPredefinedType(boost::optional< ::Ifc4x3::IfcTendonAnchorTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcTendonAnchorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3::IfcTendonAnchor::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1168]); } const IfcParse::entity& Ifc4x3::IfcTendonAnchor::Class() { return *((IfcParse::entity*)IFC4X3_types[1168]); } Ifc4x3::IfcTendonAnchor::IfcTendonAnchor(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x3::IfcTendonAnchor::IfcTendonAnchor(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x3::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcTendonAnchor::IfcTendonAnchor(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x3::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTendonAnchorType -::Ifc4x3::IfcTendonAnchorTypeEnum::Value Ifc4x3::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4x3::IfcTendonAnchorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcTendonAnchorTypeEnum::Value Ifc4x3::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4x3::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcTendonAnchorType::setPredefinedType(::Ifc4x3::IfcTendonAnchorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcTendonAnchorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcTendonAnchorType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1169]); } const IfcParse::entity& Ifc4x3::IfcTendonAnchorType::Class() { return *((IfcParse::entity*)IFC4X3_types[1169]); } Ifc4x3::IfcTendonAnchorType::IfcTendonAnchorType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x3::IfcTendonAnchorType::IfcTendonAnchorType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcTendonAnchorType::IfcTendonAnchorType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTendonConduit -::Ifc4x3::IfcTendonConduitTypeEnum::Value Ifc4x3::IfcTendonConduit::PredefinedType() const { return ::Ifc4x3::IfcTendonConduitTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcTendonConduitTypeEnum::Value Ifc4x3::IfcTendonConduit::PredefinedType() const { return ::Ifc4x3::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcTendonConduit::setPredefinedType(::Ifc4x3::IfcTendonConduitTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcTendonConduitTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcTendonConduit::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1171]); } const IfcParse::entity& Ifc4x3::IfcTendonConduit::Class() { return *((IfcParse::entity*)IFC4X3_types[1171]); } Ifc4x3::IfcTendonConduit::IfcTendonConduit(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x3::IfcTendonConduit::IfcTendonConduit(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, ::Ifc4x3::IfcTendonConduitTypeEnum::Value v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcTendonConduit::IfcTendonConduit(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, ::Ifc4x3::IfcTendonConduitTypeEnum::Value v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTendonConduitType -::Ifc4x3::IfcTendonConduitTypeEnum::Value Ifc4x3::IfcTendonConduitType::PredefinedType() const { return ::Ifc4x3::IfcTendonConduitTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcTendonConduitTypeEnum::Value Ifc4x3::IfcTendonConduitType::PredefinedType() const { return ::Ifc4x3::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcTendonConduitType::setPredefinedType(::Ifc4x3::IfcTendonConduitTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcTendonConduitTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcTendonConduitType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1172]); } const IfcParse::entity& Ifc4x3::IfcTendonConduitType::Class() { return *((IfcParse::entity*)IFC4X3_types[1172]); } Ifc4x3::IfcTendonConduitType::IfcTendonConduitType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x3::IfcTendonConduitType::IfcTendonConduitType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTendonConduitTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcTendonConduitType::IfcTendonConduitType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTendonConduitTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTendonType -::Ifc4x3::IfcTendonTypeEnum::Value Ifc4x3::IfcTendonType::PredefinedType() const { return ::Ifc4x3::IfcTendonTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcTendonTypeEnum::Value Ifc4x3::IfcTendonType::PredefinedType() const { return ::Ifc4x3::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcTendonType::setPredefinedType(::Ifc4x3::IfcTendonTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcTendonTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3::IfcTendonType::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3::IfcTendonType::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3::IfcTendonType::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3::IfcTendonType::CrossSectionArea() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3::IfcTendonType::CrossSectionArea() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3::IfcTendonType::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3::IfcTendonType::SheathDiameter() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3::IfcTendonType::SheathDiameter() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3::IfcTendonType::setSheathDiameter(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3::IfcTendonType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1174]); } const IfcParse::entity& Ifc4x3::IfcTendonType::Class() { return *((IfcParse::entity*)IFC4X3_types[1174]); } Ifc4x3::IfcTendonType::IfcTendonType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x3::IfcTendonType::IfcTendonType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTendonTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheathDiameter) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); }; populate_derived(); } +Ifc4x3::IfcTendonType::IfcTendonType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTendonTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheathDiameter) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); }; populate_derived(); } // Function implementations for IfcTessellatedFaceSet -::Ifc4x3::IfcCartesianPointList3D* Ifc4x3::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcCartesianPointList3D>(true); } +::Ifc4x3::IfcCartesianPointList3D* Ifc4x3::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcCartesianPointList3D>(true); } void Ifc4x3::IfcTessellatedFaceSet::setCoordinates(::Ifc4x3::IfcCartesianPointList3D* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< bool > Ifc4x3::IfcTessellatedFaceSet::Closed() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } bool v = data_.get_attribute_value(1); return v; } +boost::optional< bool > Ifc4x3::IfcTessellatedFaceSet::Closed() const { if(get_attribute_value(1).isNull()) { return boost::none; } bool v = get_attribute_value(1); return v; } void Ifc4x3::IfcTessellatedFaceSet::setClosed(boost::optional< bool > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x3::IfcIndexedColourMap::list::ptr Ifc4x3::IfcTessellatedFaceSet::HasColours() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[544], 0)->as(); } @@ -17239,7 +17239,7 @@ void Ifc4x3::IfcTessellatedFaceSet::setClosed(boost::optional< bool > v) { if (v const IfcParse::entity& Ifc4x3::IfcTessellatedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1176]); } const IfcParse::entity& Ifc4x3::IfcTessellatedFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_types[1176]); } Ifc4x3::IfcTessellatedFaceSet::IfcTessellatedFaceSet(IfcEntityInstanceData&& e) : IfcTessellatedItem(std::move(e)) { } -Ifc4x3::IfcTessellatedFaceSet::IfcTessellatedFaceSet(::Ifc4x3::IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v2_Closed) : IfcTessellatedItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }; populate_derived(); } +Ifc4x3::IfcTessellatedFaceSet::IfcTessellatedFaceSet(::Ifc4x3::IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v2_Closed) : IfcTessellatedItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }; populate_derived(); } // Function implementations for IfcTessellatedItem @@ -17247,128 +17247,128 @@ Ifc4x3::IfcTessellatedFaceSet::IfcTessellatedFaceSet(::Ifc4x3::IfcCartesianPoint const IfcParse::entity& Ifc4x3::IfcTessellatedItem::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1177]); } const IfcParse::entity& Ifc4x3::IfcTessellatedItem::Class() { return *((IfcParse::entity*)IFC4X3_types[1177]); } Ifc4x3::IfcTessellatedItem::IfcTessellatedItem(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3::IfcTessellatedItem::IfcTessellatedItem() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3::IfcTessellatedItem::IfcTessellatedItem() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcTextLiteral -std::string Ifc4x3::IfcTextLiteral::Literal() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3::IfcTextLiteral::Literal() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcTextLiteral::setLiteral(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3::IfcAxis2Placement* Ifc4x3::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcAxis2Placement>(true); } +::Ifc4x3::IfcAxis2Placement* Ifc4x3::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcAxis2Placement>(true); } void Ifc4x3::IfcTextLiteral::setPlacement(::Ifc4x3::IfcAxis2Placement* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3::IfcTextPath::Value Ifc4x3::IfcTextLiteral::Path() const { return ::Ifc4x3::IfcTextPath::FromString(data_.get_attribute_value(2)); } +::Ifc4x3::IfcTextPath::Value Ifc4x3::IfcTextLiteral::Path() const { return ::Ifc4x3::IfcTextPath::FromString(get_attribute_value(2)); } void Ifc4x3::IfcTextLiteral::setPath(::Ifc4x3::IfcTextPath::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3::IfcTextPath::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcTextLiteral::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1183]); } const IfcParse::entity& Ifc4x3::IfcTextLiteral::Class() { return *((IfcParse::entity*)IFC4X3_types[1183]); } Ifc4x3::IfcTextLiteral::IfcTextLiteral(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3::IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, ::Ifc4x3::IfcAxis2Placement* v2_Placement, ::Ifc4x3::IfcTextPath::Value v3_Path) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x3::IfcTextPath::Class(),(size_t)v3_Path)));; populate_derived(); } +Ifc4x3::IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, ::Ifc4x3::IfcAxis2Placement* v2_Placement, ::Ifc4x3::IfcTextPath::Value v3_Path) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x3::IfcTextPath::Class(),(size_t)v3_Path)));; populate_derived(); } // Function implementations for IfcTextLiteralWithExtent -::Ifc4x3::IfcPlanarExtent* Ifc4x3::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcPlanarExtent>(true); } +::Ifc4x3::IfcPlanarExtent* Ifc4x3::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcPlanarExtent>(true); } void Ifc4x3::IfcTextLiteralWithExtent::setExtent(::Ifc4x3::IfcPlanarExtent* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -std::string Ifc4x3::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = data_.get_attribute_value(4); return v; } +std::string Ifc4x3::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcTextLiteralWithExtent::setBoxAlignment(std::string v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3::IfcTextLiteralWithExtent::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1184]); } const IfcParse::entity& Ifc4x3::IfcTextLiteralWithExtent::Class() { return *((IfcParse::entity*)IFC4X3_types[1184]); } Ifc4x3::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(IfcEntityInstanceData&& e) : IfcTextLiteral(std::move(e)) { } -Ifc4x3::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(std::string v1_Literal, ::Ifc4x3::IfcAxis2Placement* v2_Placement, ::Ifc4x3::IfcTextPath::Value v3_Path, ::Ifc4x3::IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment) : IfcTextLiteral(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x3::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, v4_Extent ? v4_Extent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_BoxAlignment));; populate_derived(); } +Ifc4x3::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(std::string v1_Literal, ::Ifc4x3::IfcAxis2Placement* v2_Placement, ::Ifc4x3::IfcTextPath::Value v3_Path, ::Ifc4x3::IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment) : IfcTextLiteral(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x3::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, v4_Extent ? v4_Extent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_BoxAlignment));; populate_derived(); } // Function implementations for IfcTextStyle -::Ifc4x3::IfcTextStyleForDefinedFont* Ifc4x3::IfcTextStyle::TextCharacterAppearance() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcTextStyleForDefinedFont>(true); } +::Ifc4x3::IfcTextStyleForDefinedFont* Ifc4x3::IfcTextStyle::TextCharacterAppearance() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcTextStyleForDefinedFont>(true); } void Ifc4x3::IfcTextStyle::setTextCharacterAppearance(::Ifc4x3::IfcTextStyleForDefinedFont* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3::IfcTextStyleTextModel* Ifc4x3::IfcTextStyle::TextStyle() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcTextStyleTextModel>(true); } +::Ifc4x3::IfcTextStyleTextModel* Ifc4x3::IfcTextStyle::TextStyle() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcTextStyleTextModel>(true); } void Ifc4x3::IfcTextStyle::setTextStyle(::Ifc4x3::IfcTextStyleTextModel* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3::IfcTextFontSelect* Ifc4x3::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcTextFontSelect>(true); } +::Ifc4x3::IfcTextFontSelect* Ifc4x3::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcTextFontSelect>(true); } void Ifc4x3::IfcTextStyle::setTextFontStyle(::Ifc4x3::IfcTextFontSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< bool > Ifc4x3::IfcTextStyle::ModelOrDraughting() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } bool v = data_.get_attribute_value(4); return v; } +boost::optional< bool > Ifc4x3::IfcTextStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return boost::none; } bool v = get_attribute_value(4); return v; } void Ifc4x3::IfcTextStyle::setModelOrDraughting(boost::optional< bool > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3::IfcTextStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1186]); } const IfcParse::entity& Ifc4x3::IfcTextStyle::Class() { return *((IfcParse::entity*)IFC4X3_types[1186]); } Ifc4x3::IfcTextStyle::IfcTextStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x3::IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, ::Ifc4x3::IfcTextStyleForDefinedFont* v2_TextCharacterAppearance, ::Ifc4x3::IfcTextStyleTextModel* v3_TextStyle, ::Ifc4x3::IfcTextFontSelect* v4_TextFontStyle, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TextCharacterAppearance ? v2_TextCharacterAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TextStyle ? v3_TextStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TextFontStyle ? v4_TextFontStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } +Ifc4x3::IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, ::Ifc4x3::IfcTextStyleForDefinedFont* v2_TextCharacterAppearance, ::Ifc4x3::IfcTextStyleTextModel* v3_TextStyle, ::Ifc4x3::IfcTextFontSelect* v4_TextFontStyle, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TextCharacterAppearance ? v2_TextCharacterAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TextStyle ? v3_TextStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TextFontStyle ? v4_TextFontStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } // Function implementations for IfcTextStyleFontModel -std::vector< std::string > /*[1:?]*/ Ifc4x3::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +std::vector< std::string > /*[1:?]*/ Ifc4x3::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3::IfcTextStyleFontModel::setFontFamily(std::vector< std::string > /*[1:?]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3::IfcTextStyleFontModel::FontStyle() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3::IfcTextStyleFontModel::FontStyle() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3::IfcTextStyleFontModel::setFontStyle(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3::IfcTextStyleFontModel::FontVariant() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3::IfcTextStyleFontModel::FontVariant() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3::IfcTextStyleFontModel::FontWeight() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3::IfcTextStyleFontModel::FontWeight() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3::IfcSizeSelect* Ifc4x3::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3::IfcSizeSelect>(true); } +::Ifc4x3::IfcSizeSelect* Ifc4x3::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3::IfcSizeSelect>(true); } void Ifc4x3::IfcTextStyleFontModel::setFontSize(::Ifc4x3::IfcSizeSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcTextStyleFontModel::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1187]); } const IfcParse::entity& Ifc4x3::IfcTextStyleFontModel::Class() { return *((IfcParse::entity*)IFC4X3_types[1187]); } Ifc4x3::IfcTextStyleFontModel::IfcTextStyleFontModel(IfcEntityInstanceData&& e) : IfcPreDefinedTextFont(std::move(e)) { } -Ifc4x3::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::IfcSizeSelect* v6_FontSize) : IfcPreDefinedTextFont(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, v6_FontSize ? v6_FontSize->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::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::IfcSizeSelect* v6_FontSize) : IfcPreDefinedTextFont(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, v6_FontSize ? v6_FontSize->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextStyleForDefinedFont -::Ifc4x3::IfcColour* Ifc4x3::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcColour>(true); } +::Ifc4x3::IfcColour* Ifc4x3::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcColour>(true); } void Ifc4x3::IfcTextStyleForDefinedFont::setColour(::Ifc4x3::IfcColour* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3::IfcColour* Ifc4x3::IfcTextStyleForDefinedFont::BackgroundColour() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcColour>(true); } +::Ifc4x3::IfcColour* Ifc4x3::IfcTextStyleForDefinedFont::BackgroundColour() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcColour>(true); } void Ifc4x3::IfcTextStyleForDefinedFont::setBackgroundColour(::Ifc4x3::IfcColour* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcTextStyleForDefinedFont::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1188]); } const IfcParse::entity& Ifc4x3::IfcTextStyleForDefinedFont::Class() { return *((IfcParse::entity*)IFC4X3_types[1188]); } Ifc4x3::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4x3::IfcColour* v1_Colour, ::Ifc4x3::IfcColour* v2_BackgroundColour) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Colour ? v1_Colour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_BackgroundColour ? v2_BackgroundColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4x3::IfcColour* v1_Colour, ::Ifc4x3::IfcColour* v2_BackgroundColour) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Colour ? v1_Colour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_BackgroundColour ? v2_BackgroundColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextStyleTextModel -::Ifc4x3::IfcSizeSelect* Ifc4x3::IfcTextStyleTextModel::TextIndent() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcSizeSelect>(true); } +::Ifc4x3::IfcSizeSelect* Ifc4x3::IfcTextStyleTextModel::TextIndent() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcSizeSelect>(true); } void Ifc4x3::IfcTextStyleTextModel::setTextIndent(::Ifc4x3::IfcSizeSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3::IfcTextStyleTextModel::TextAlign() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3::IfcTextStyleTextModel::TextAlign() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3::IfcTextStyleTextModel::TextDecoration() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3::IfcTextStyleTextModel::TextDecoration() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3::IfcSizeSelect* Ifc4x3::IfcTextStyleTextModel::LetterSpacing() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcSizeSelect>(true); } +::Ifc4x3::IfcSizeSelect* Ifc4x3::IfcTextStyleTextModel::LetterSpacing() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcSizeSelect>(true); } void Ifc4x3::IfcTextStyleTextModel::setLetterSpacing(::Ifc4x3::IfcSizeSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3::IfcSizeSelect* Ifc4x3::IfcTextStyleTextModel::WordSpacing() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3::IfcSizeSelect>(true); } +::Ifc4x3::IfcSizeSelect* Ifc4x3::IfcTextStyleTextModel::WordSpacing() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3::IfcSizeSelect>(true); } void Ifc4x3::IfcTextStyleTextModel::setWordSpacing(::Ifc4x3::IfcSizeSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -boost::optional< std::string > Ifc4x3::IfcTextStyleTextModel::TextTransform() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3::IfcTextStyleTextModel::TextTransform() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3::IfcSizeSelect* Ifc4x3::IfcTextStyleTextModel::LineHeight() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3::IfcSizeSelect>(true); } +::Ifc4x3::IfcSizeSelect* Ifc4x3::IfcTextStyleTextModel::LineHeight() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3::IfcSizeSelect>(true); } void Ifc4x3::IfcTextStyleTextModel::setLineHeight(::Ifc4x3::IfcSizeSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3::IfcTextStyleTextModel::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1189]); } const IfcParse::entity& Ifc4x3::IfcTextStyleTextModel::Class() { return *((IfcParse::entity*)IFC4X3_types[1189]); } Ifc4x3::IfcTextStyleTextModel::IfcTextStyleTextModel(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3::IfcTextStyleTextModel::IfcTextStyleTextModel(::Ifc4x3::IfcSizeSelect* v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, ::Ifc4x3::IfcSizeSelect* v4_LetterSpacing, ::Ifc4x3::IfcSizeSelect* v5_WordSpacing, boost::optional< std::string > v6_TextTransform, ::Ifc4x3::IfcSizeSelect* v7_LineHeight) : IfcPresentationItem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, v1_TextIndent ? v1_TextIndent->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, v4_LetterSpacing ? v4_LetterSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_WordSpacing ? v5_WordSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, v7_LineHeight ? v7_LineHeight->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcTextStyleTextModel::IfcTextStyleTextModel(::Ifc4x3::IfcSizeSelect* v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, ::Ifc4x3::IfcSizeSelect* v4_LetterSpacing, ::Ifc4x3::IfcSizeSelect* v5_WordSpacing, boost::optional< std::string > v6_TextTransform, ::Ifc4x3::IfcSizeSelect* v7_LineHeight) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_TextIndent ? v1_TextIndent->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, v4_LetterSpacing ? v4_LetterSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_WordSpacing ? v5_WordSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, v7_LineHeight ? v7_LineHeight->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextureCoordinate -aggregate_of< ::Ifc4x3::IfcSurfaceTexture >::ptr Ifc4x3::IfcTextureCoordinate::Maps() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3::IfcSurfaceTexture >(); } +aggregate_of< ::Ifc4x3::IfcSurfaceTexture >::ptr Ifc4x3::IfcTextureCoordinate::Maps() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3::IfcSurfaceTexture >(); } void Ifc4x3::IfcTextureCoordinate::setMaps(aggregate_of< ::Ifc4x3::IfcSurfaceTexture >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3::IfcTextureCoordinate::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1191]); } const IfcParse::entity& Ifc4x3::IfcTextureCoordinate::Class() { return *((IfcParse::entity*)IFC4X3_types[1191]); } Ifc4x3::IfcTextureCoordinate::IfcTextureCoordinate(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3::IfcTextureCoordinate::IfcTextureCoordinate(aggregate_of< ::Ifc4x3::IfcSurfaceTexture >::ptr v1_Maps) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Maps)->generalize());; populate_derived(); } +Ifc4x3::IfcTextureCoordinate::IfcTextureCoordinate(aggregate_of< ::Ifc4x3::IfcSurfaceTexture >::ptr v1_Maps) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Maps)->generalize());; populate_derived(); } // Function implementations for IfcTextureCoordinateGenerator -std::string Ifc4x3::IfcTextureCoordinateGenerator::Mode() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3::IfcTextureCoordinateGenerator::Mode() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcTextureCoordinateGenerator::setMode(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::vector< double > /*[1:?]*/ > Ifc4x3::IfcTextureCoordinateGenerator::Parameter() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< double > /*[1:?]*/ > Ifc4x3::IfcTextureCoordinateGenerator::Parameter() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[1:?]*/ v = get_attribute_value(2); return v; } void Ifc4x3::IfcTextureCoordinateGenerator::setParameter(boost::optional< std::vector< double > /*[1:?]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3::IfcTextureCoordinateGenerator::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1192]); } const IfcParse::entity& Ifc4x3::IfcTextureCoordinateGenerator::Class() { return *((IfcParse::entity*)IFC4X3_types[1192]); } Ifc4x3::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(IfcEntityInstanceData&& e) : IfcTextureCoordinate(std::move(e)) { } -Ifc4x3::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(aggregate_of< ::Ifc4x3::IfcSurfaceTexture >::ptr v1_Maps, std::string v2_Mode, boost::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) : IfcTextureCoordinate(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); }; populate_derived(); } +Ifc4x3::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(aggregate_of< ::Ifc4x3::IfcSurfaceTexture >::ptr v1_Maps, std::string v2_Mode, boost::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) : IfcTextureCoordinate(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); }; populate_derived(); } // Function implementations for IfcTextureCoordinateIndices -std::vector< int > /*[3:?]*/ Ifc4x3::IfcTextureCoordinateIndices::TexCoordIndex() const { std::vector< int > /*[3:?]*/ v = data_.get_attribute_value(0); return v; } +std::vector< int > /*[3:?]*/ Ifc4x3::IfcTextureCoordinateIndices::TexCoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } void Ifc4x3::IfcTextureCoordinateIndices::setTexCoordIndex(std::vector< int > /*[3:?]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3::IfcIndexedPolygonalFace* Ifc4x3::IfcTextureCoordinateIndices::TexCoordsOf() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3::IfcIndexedPolygonalFace>(true); } +::Ifc4x3::IfcIndexedPolygonalFace* Ifc4x3::IfcTextureCoordinateIndices::TexCoordsOf() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3::IfcIndexedPolygonalFace>(true); } void Ifc4x3::IfcTextureCoordinateIndices::setTexCoordsOf(::Ifc4x3::IfcIndexedPolygonalFace* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } ::Ifc4x3::IfcIndexedPolygonalTextureMap::list::ptr Ifc4x3::IfcTextureCoordinateIndices::ToTexMap() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[548], 3)->as(); } @@ -17376,94 +17376,94 @@ void Ifc4x3::IfcTextureCoordinateIndices::setTexCoordsOf(::Ifc4x3::IfcIndexedPol const IfcParse::entity& Ifc4x3::IfcTextureCoordinateIndices::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1193]); } const IfcParse::entity& Ifc4x3::IfcTextureCoordinateIndices::Class() { return *((IfcParse::entity*)IFC4X3_types[1193]); } Ifc4x3::IfcTextureCoordinateIndices::IfcTextureCoordinateIndices(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcTextureCoordinateIndices::IfcTextureCoordinateIndices(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3::IfcIndexedPolygonalFace* v2_TexCoordsOf) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_TexCoordIndex));set_attribute_value(1, v2_TexCoordsOf ? v2_TexCoordsOf->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcTextureCoordinateIndices::IfcTextureCoordinateIndices(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3::IfcIndexedPolygonalFace* v2_TexCoordsOf) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_TexCoordIndex));set_attribute_value(1, v2_TexCoordsOf ? v2_TexCoordsOf->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextureCoordinateIndicesWithVoids -std::vector< std::vector< int > > Ifc4x3::IfcTextureCoordinateIndicesWithVoids::InnerTexCoordIndices() const { std::vector< std::vector< int > > v = data_.get_attribute_value(2); return v; } +std::vector< std::vector< int > > Ifc4x3::IfcTextureCoordinateIndicesWithVoids::InnerTexCoordIndices() const { std::vector< std::vector< int > > v = get_attribute_value(2); return v; } void Ifc4x3::IfcTextureCoordinateIndicesWithVoids::setInnerTexCoordIndices(std::vector< std::vector< int > > v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcTextureCoordinateIndicesWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1194]); } const IfcParse::entity& Ifc4x3::IfcTextureCoordinateIndicesWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_types[1194]); } Ifc4x3::IfcTextureCoordinateIndicesWithVoids::IfcTextureCoordinateIndicesWithVoids(IfcEntityInstanceData&& e) : IfcTextureCoordinateIndices(std::move(e)) { } -Ifc4x3::IfcTextureCoordinateIndicesWithVoids::IfcTextureCoordinateIndicesWithVoids(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3::IfcIndexedPolygonalFace* v2_TexCoordsOf, std::vector< std::vector< int > > v3_InnerTexCoordIndices) : IfcTextureCoordinateIndices(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_TexCoordIndex));set_attribute_value(1, v2_TexCoordsOf ? v2_TexCoordsOf->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_InnerTexCoordIndices));; populate_derived(); } +Ifc4x3::IfcTextureCoordinateIndicesWithVoids::IfcTextureCoordinateIndicesWithVoids(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3::IfcIndexedPolygonalFace* v2_TexCoordsOf, std::vector< std::vector< int > > v3_InnerTexCoordIndices) : IfcTextureCoordinateIndices(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_TexCoordIndex));set_attribute_value(1, v2_TexCoordsOf ? v2_TexCoordsOf->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_InnerTexCoordIndices));; populate_derived(); } // Function implementations for IfcTextureMap -aggregate_of< ::Ifc4x3::IfcTextureVertex >::ptr Ifc4x3::IfcTextureMap::Vertices() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3::IfcTextureVertex >(); } +aggregate_of< ::Ifc4x3::IfcTextureVertex >::ptr Ifc4x3::IfcTextureMap::Vertices() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3::IfcTextureVertex >(); } void Ifc4x3::IfcTextureMap::setVertices(aggregate_of< ::Ifc4x3::IfcTextureVertex >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3::IfcFace* Ifc4x3::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3::IfcFace>(true); } +::Ifc4x3::IfcFace* Ifc4x3::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3::IfcFace>(true); } void Ifc4x3::IfcTextureMap::setMappedTo(::Ifc4x3::IfcFace* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcTextureMap::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1195]); } const IfcParse::entity& Ifc4x3::IfcTextureMap::Class() { return *((IfcParse::entity*)IFC4X3_types[1195]); } Ifc4x3::IfcTextureMap::IfcTextureMap(IfcEntityInstanceData&& e) : IfcTextureCoordinate(std::move(e)) { } -Ifc4x3::IfcTextureMap::IfcTextureMap(aggregate_of< ::Ifc4x3::IfcSurfaceTexture >::ptr v1_Maps, aggregate_of< ::Ifc4x3::IfcTextureVertex >::ptr v2_Vertices, ::Ifc4x3::IfcFace* v3_MappedTo) : IfcTextureCoordinate(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Vertices)->generalize());set_attribute_value(2, v3_MappedTo ? v3_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcTextureMap::IfcTextureMap(aggregate_of< ::Ifc4x3::IfcSurfaceTexture >::ptr v1_Maps, aggregate_of< ::Ifc4x3::IfcTextureVertex >::ptr v2_Vertices, ::Ifc4x3::IfcFace* v3_MappedTo) : IfcTextureCoordinate(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Vertices)->generalize());set_attribute_value(2, v3_MappedTo ? v3_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextureVertex -std::vector< double > /*[2:2]*/ Ifc4x3::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[2:2]*/ Ifc4x3::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = get_attribute_value(0); return v; } void Ifc4x3::IfcTextureVertex::setCoordinates(std::vector< double > /*[2:2]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3::IfcTextureVertex::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1196]); } const IfcParse::entity& Ifc4x3::IfcTextureVertex::Class() { return *((IfcParse::entity*)IFC4X3_types[1196]); } Ifc4x3::IfcTextureVertex::IfcTextureVertex(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3::IfcTextureVertex::IfcTextureVertex(std::vector< double > /*[2:2]*/ v1_Coordinates) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } +Ifc4x3::IfcTextureVertex::IfcTextureVertex(std::vector< double > /*[2:2]*/ v1_Coordinates) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } // Function implementations for IfcTextureVertexList -std::vector< std::vector< double > > Ifc4x3::IfcTextureVertexList::TexCoordsList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x3::IfcTextureVertexList::TexCoordsList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x3::IfcTextureVertexList::setTexCoordsList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3::IfcTextureVertexList::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1197]); } const IfcParse::entity& Ifc4x3::IfcTextureVertexList::Class() { return *((IfcParse::entity*)IFC4X3_types[1197]); } Ifc4x3::IfcTextureVertexList::IfcTextureVertexList(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3::IfcTextureVertexList::IfcTextureVertexList(std::vector< std::vector< double > > v1_TexCoordsList) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_TexCoordsList));; populate_derived(); } +Ifc4x3::IfcTextureVertexList::IfcTextureVertexList(std::vector< std::vector< double > > v1_TexCoordsList) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_TexCoordsList));; populate_derived(); } // Function implementations for IfcThirdOrderPolynomialSpiral -double Ifc4x3::IfcThirdOrderPolynomialSpiral::CubicTerm() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3::IfcThirdOrderPolynomialSpiral::CubicTerm() const { double v = get_attribute_value(1); return v; } void Ifc4x3::IfcThirdOrderPolynomialSpiral::setCubicTerm(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3::IfcThirdOrderPolynomialSpiral::QuadraticTerm() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3::IfcThirdOrderPolynomialSpiral::QuadraticTerm() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3::IfcThirdOrderPolynomialSpiral::setQuadraticTerm(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3::IfcThirdOrderPolynomialSpiral::LinearTerm() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3::IfcThirdOrderPolynomialSpiral::LinearTerm() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3::IfcThirdOrderPolynomialSpiral::setLinearTerm(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3::IfcThirdOrderPolynomialSpiral::ConstantTerm() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3::IfcThirdOrderPolynomialSpiral::ConstantTerm() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3::IfcThirdOrderPolynomialSpiral::setConstantTerm(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3::IfcThirdOrderPolynomialSpiral::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1204]); } const IfcParse::entity& Ifc4x3::IfcThirdOrderPolynomialSpiral::Class() { return *((IfcParse::entity*)IFC4X3_types[1204]); } Ifc4x3::IfcThirdOrderPolynomialSpiral::IfcThirdOrderPolynomialSpiral(IfcEntityInstanceData&& e) : IfcSpiral(std::move(e)) { } -Ifc4x3::IfcThirdOrderPolynomialSpiral::IfcThirdOrderPolynomialSpiral(::Ifc4x3::IfcAxis2Placement* v1_Position, double v2_CubicTerm, boost::optional< double > v3_QuadraticTerm, boost::optional< double > v4_LinearTerm, boost::optional< double > v5_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CubicTerm)); if (v3_QuadraticTerm) {set_attribute_value(2, (*v3_QuadraticTerm)); } if (v4_LinearTerm) {set_attribute_value(3, (*v4_LinearTerm)); } if (v5_ConstantTerm) {set_attribute_value(4, (*v5_ConstantTerm)); }; populate_derived(); } +Ifc4x3::IfcThirdOrderPolynomialSpiral::IfcThirdOrderPolynomialSpiral(::Ifc4x3::IfcAxis2Placement* v1_Position, double v2_CubicTerm, boost::optional< double > v3_QuadraticTerm, boost::optional< double > v4_LinearTerm, boost::optional< double > v5_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CubicTerm)); if (v3_QuadraticTerm) {set_attribute_value(2, (*v3_QuadraticTerm)); } if (v4_LinearTerm) {set_attribute_value(3, (*v4_LinearTerm)); } if (v5_ConstantTerm) {set_attribute_value(4, (*v5_ConstantTerm)); }; populate_derived(); } // Function implementations for IfcTimePeriod -std::string Ifc4x3::IfcTimePeriod::StartTime() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3::IfcTimePeriod::StartTime() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcTimePeriod::setStartTime(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x3::IfcTimePeriod::EndTime() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3::IfcTimePeriod::EndTime() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcTimePeriod::setEndTime(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcTimePeriod::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1208]); } const IfcParse::entity& Ifc4x3::IfcTimePeriod::Class() { return *((IfcParse::entity*)IFC4X3_types[1208]); } Ifc4x3::IfcTimePeriod::IfcTimePeriod(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcTimePeriod::IfcTimePeriod(std::string v1_StartTime, std::string v2_EndTime) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime));; populate_derived(); } +Ifc4x3::IfcTimePeriod::IfcTimePeriod(std::string v1_StartTime, std::string v2_EndTime) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime));; populate_derived(); } // Function implementations for IfcTimeSeries -std::string Ifc4x3::IfcTimeSeries::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3::IfcTimeSeries::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3::IfcTimeSeries::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3::IfcTimeSeries::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3::IfcTimeSeries::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3::IfcTimeSeries::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::string Ifc4x3::IfcTimeSeries::StartTime() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3::IfcTimeSeries::StartTime() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3::IfcTimeSeries::setStartTime(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::string Ifc4x3::IfcTimeSeries::EndTime() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x3::IfcTimeSeries::EndTime() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3::IfcTimeSeries::setEndTime(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3::IfcTimeSeriesDataTypeEnum::Value Ifc4x3::IfcTimeSeries::TimeSeriesDataType() const { return ::Ifc4x3::IfcTimeSeriesDataTypeEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x3::IfcTimeSeriesDataTypeEnum::Value Ifc4x3::IfcTimeSeries::TimeSeriesDataType() const { return ::Ifc4x3::IfcTimeSeriesDataTypeEnum::FromString(get_attribute_value(4)); } void Ifc4x3::IfcTimeSeries::setTimeSeriesDataType(::Ifc4x3::IfcTimeSeriesDataTypeEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3::IfcTimeSeriesDataTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3::IfcDataOriginEnum::Value Ifc4x3::IfcTimeSeries::DataOrigin() const { return ::Ifc4x3::IfcDataOriginEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3::IfcDataOriginEnum::Value Ifc4x3::IfcTimeSeries::DataOrigin() const { return ::Ifc4x3::IfcDataOriginEnum::FromString(get_attribute_value(5)); } void Ifc4x3::IfcTimeSeries::setDataOrigin(::Ifc4x3::IfcDataOriginEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3::IfcDataOriginEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< std::string > Ifc4x3::IfcTimeSeries::UserDefinedDataOrigin() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3::IfcTimeSeries::UserDefinedDataOrigin() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3::IfcUnit* Ifc4x3::IfcTimeSeries::Unit() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3::IfcUnit>(true); } +::Ifc4x3::IfcUnit* Ifc4x3::IfcTimeSeries::Unit() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3::IfcUnit>(true); } void Ifc4x3::IfcTimeSeries::setUnit(::Ifc4x3::IfcUnit* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } ::Ifc4x3::IfcExternalReferenceRelationship::list::ptr Ifc4x3::IfcTimeSeries::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[430], 3)->as(); } @@ -17471,17 +17471,17 @@ void Ifc4x3::IfcTimeSeries::setUnit(::Ifc4x3::IfcUnit* v) { set_attribute_value( const IfcParse::entity& Ifc4x3::IfcTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1209]); } const IfcParse::entity& Ifc4x3::IfcTimeSeries::Class() { return *((IfcParse::entity*)IFC4X3_types[1209]); } Ifc4x3::IfcTimeSeries::IfcTimeSeries(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTimeSeriesValue -aggregate_of< ::Ifc4x3::IfcValue >::ptr Ifc4x3::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3::IfcValue >(); } +aggregate_of< ::Ifc4x3::IfcValue >::ptr Ifc4x3::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3::IfcValue >(); } void Ifc4x3::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3::IfcValue >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3::IfcTimeSeriesValue::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1211]); } const IfcParse::entity& Ifc4x3::IfcTimeSeriesValue::Class() { return *((IfcParse::entity*)IFC4X3_types[1211]); } Ifc4x3::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_ListValues)->generalize());; populate_derived(); } +Ifc4x3::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_ListValues)->generalize());; populate_derived(); } // Function implementations for IfcTopologicalRepresentationItem @@ -17489,7 +17489,7 @@ Ifc4x3::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3::IfcValue const IfcParse::entity& Ifc4x3::IfcTopologicalRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1213]); } const IfcParse::entity& Ifc4x3::IfcTopologicalRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_types[1213]); } Ifc4x3::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x3::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcTopologyRepresentation @@ -17497,79 +17497,79 @@ Ifc4x3::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() : I const IfcParse::entity& Ifc4x3::IfcTopologyRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1214]); } const IfcParse::entity& Ifc4x3::IfcTopologyRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_types[1214]); } Ifc4x3::IfcTopologyRepresentation::IfcTopologyRepresentation(IfcEntityInstanceData&& e) : IfcShapeModel(std::move(e)) { } -Ifc4x3::IfcTopologyRepresentation::IfcTopologyRepresentation(::Ifc4x3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3::IfcTopologyRepresentation::IfcTopologyRepresentation(::Ifc4x3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcToroidalSurface -double Ifc4x3::IfcToroidalSurface::MajorRadius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3::IfcToroidalSurface::MajorRadius() const { double v = get_attribute_value(1); return v; } void Ifc4x3::IfcToroidalSurface::setMajorRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3::IfcToroidalSurface::MinorRadius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3::IfcToroidalSurface::MinorRadius() const { double v = get_attribute_value(2); return v; } void Ifc4x3::IfcToroidalSurface::setMinorRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3::IfcToroidalSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1215]); } const IfcParse::entity& Ifc4x3::IfcToroidalSurface::Class() { return *((IfcParse::entity*)IFC4X3_types[1215]); } Ifc4x3::IfcToroidalSurface::IfcToroidalSurface(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x3::IfcToroidalSurface::IfcToroidalSurface(::Ifc4x3::IfcAxis2Placement3D* v1_Position, double v2_MajorRadius, double v3_MinorRadius) : IfcElementarySurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius));; populate_derived(); } +Ifc4x3::IfcToroidalSurface::IfcToroidalSurface(::Ifc4x3::IfcAxis2Placement3D* v1_Position, double v2_MajorRadius, double v3_MinorRadius) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius));; populate_derived(); } // Function implementations for IfcTrackElement -boost::optional< ::Ifc4x3::IfcTrackElementTypeEnum::Value > Ifc4x3::IfcTrackElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcTrackElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcTrackElementTypeEnum::Value > Ifc4x3::IfcTrackElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcTrackElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcTrackElement::setPredefinedType(boost::optional< ::Ifc4x3::IfcTrackElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcTrackElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcTrackElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1217]); } const IfcParse::entity& Ifc4x3::IfcTrackElement::Class() { return *((IfcParse::entity*)IFC4X3_types[1217]); } Ifc4x3::IfcTrackElement::IfcTrackElement(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3::IfcTrackElement::IfcTrackElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcTrackElementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcTrackElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcTrackElement::IfcTrackElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcTrackElementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcTrackElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTrackElementType -::Ifc4x3::IfcTrackElementTypeEnum::Value Ifc4x3::IfcTrackElementType::PredefinedType() const { return ::Ifc4x3::IfcTrackElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcTrackElementTypeEnum::Value Ifc4x3::IfcTrackElementType::PredefinedType() const { return ::Ifc4x3::IfcTrackElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcTrackElementType::setPredefinedType(::Ifc4x3::IfcTrackElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcTrackElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcTrackElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1218]); } const IfcParse::entity& Ifc4x3::IfcTrackElementType::Class() { return *((IfcParse::entity*)IFC4X3_types[1218]); } Ifc4x3::IfcTrackElementType::IfcTrackElementType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3::IfcTrackElementType::IfcTrackElementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTrackElementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcTrackElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcTrackElementType::IfcTrackElementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTrackElementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcTrackElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTransformer -boost::optional< ::Ifc4x3::IfcTransformerTypeEnum::Value > Ifc4x3::IfcTransformer::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcTransformerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcTransformerTypeEnum::Value > Ifc4x3::IfcTransformer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcTransformerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcTransformer::setPredefinedType(boost::optional< ::Ifc4x3::IfcTransformerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcTransformerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcTransformer::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1220]); } const IfcParse::entity& Ifc4x3::IfcTransformer::Class() { return *((IfcParse::entity*)IFC4X3_types[1220]); } Ifc4x3::IfcTransformer::IfcTransformer(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3::IfcTransformer::IfcTransformer(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcTransformerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcTransformer::IfcTransformer(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcTransformerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTransformerType -::Ifc4x3::IfcTransformerTypeEnum::Value Ifc4x3::IfcTransformerType::PredefinedType() const { return ::Ifc4x3::IfcTransformerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcTransformerTypeEnum::Value Ifc4x3::IfcTransformerType::PredefinedType() const { return ::Ifc4x3::IfcTransformerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcTransformerType::setPredefinedType(::Ifc4x3::IfcTransformerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcTransformerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcTransformerType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1221]); } const IfcParse::entity& Ifc4x3::IfcTransformerType::Class() { return *((IfcParse::entity*)IFC4X3_types[1221]); } Ifc4x3::IfcTransformerType::IfcTransformerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3::IfcTransformerType::IfcTransformerType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTransformerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcTransformerType::IfcTransformerType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTransformerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTransportElement -boost::optional< ::Ifc4x3::IfcTransportElementTypeEnum::Value > Ifc4x3::IfcTransportElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcTransportElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcTransportElementTypeEnum::Value > Ifc4x3::IfcTransportElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcTransportElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcTransportElement::setPredefinedType(boost::optional< ::Ifc4x3::IfcTransportElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcTransportElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcTransportElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1227]); } const IfcParse::entity& Ifc4x3::IfcTransportElement::Class() { return *((IfcParse::entity*)IFC4X3_types[1227]); } Ifc4x3::IfcTransportElement::IfcTransportElement(IfcEntityInstanceData&& e) : IfcTransportationDevice(std::move(e)) { } -Ifc4x3::IfcTransportElement::IfcTransportElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcTransportElementTypeEnum::Value > v9_PredefinedType) : IfcTransportationDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcTransportElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcTransportElement::IfcTransportElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcTransportElementTypeEnum::Value > v9_PredefinedType) : IfcTransportationDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcTransportElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTransportElementType -::Ifc4x3::IfcTransportElementTypeEnum::Value Ifc4x3::IfcTransportElementType::PredefinedType() const { return ::Ifc4x3::IfcTransportElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcTransportElementTypeEnum::Value Ifc4x3::IfcTransportElementType::PredefinedType() const { return ::Ifc4x3::IfcTransportElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcTransportElementType::setPredefinedType(::Ifc4x3::IfcTransportElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcTransportElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcTransportElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1228]); } const IfcParse::entity& Ifc4x3::IfcTransportElementType::Class() { return *((IfcParse::entity*)IFC4X3_types[1228]); } Ifc4x3::IfcTransportElementType::IfcTransportElementType(IfcEntityInstanceData&& e) : IfcTransportationDeviceType(std::move(e)) { } -Ifc4x3::IfcTransportElementType::IfcTransportElementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTransportElementTypeEnum::Value v10_PredefinedType) : IfcTransportationDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcTransportElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcTransportElementType::IfcTransportElementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTransportElementTypeEnum::Value v10_PredefinedType) : IfcTransportationDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcTransportElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTransportationDevice @@ -17577,7 +17577,7 @@ Ifc4x3::IfcTransportElementType::IfcTransportElementType(std::string v1_GlobalId const IfcParse::entity& Ifc4x3::IfcTransportationDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1225]); } const IfcParse::entity& Ifc4x3::IfcTransportationDevice::Class() { return *((IfcParse::entity*)IFC4X3_types[1225]); } Ifc4x3::IfcTransportationDevice::IfcTransportationDevice(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3::IfcTransportationDevice::IfcTransportationDevice(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3::IfcTransportationDevice::IfcTransportationDevice(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcTransportationDeviceType @@ -17585,90 +17585,90 @@ Ifc4x3::IfcTransportationDevice::IfcTransportationDevice(std::string v1_GlobalId const IfcParse::entity& Ifc4x3::IfcTransportationDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1226]); } const IfcParse::entity& Ifc4x3::IfcTransportationDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_types[1226]); } Ifc4x3::IfcTransportationDeviceType::IfcTransportationDeviceType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3::IfcTransportationDeviceType::IfcTransportationDeviceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3::IfcTransportationDeviceType::IfcTransportationDeviceType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcTrapeziumProfileDef -double Ifc4x3::IfcTrapeziumProfileDef::BottomXDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3::IfcTrapeziumProfileDef::BottomXDim() const { double v = get_attribute_value(3); return v; } void Ifc4x3::IfcTrapeziumProfileDef::setBottomXDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3::IfcTrapeziumProfileDef::TopXDim() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3::IfcTrapeziumProfileDef::TopXDim() const { double v = get_attribute_value(4); return v; } void Ifc4x3::IfcTrapeziumProfileDef::setTopXDim(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3::IfcTrapeziumProfileDef::YDim() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3::IfcTrapeziumProfileDef::YDim() const { double v = get_attribute_value(5); return v; } void Ifc4x3::IfcTrapeziumProfileDef::setYDim(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3::IfcTrapeziumProfileDef::TopXOffset() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3::IfcTrapeziumProfileDef::TopXOffset() const { double v = get_attribute_value(6); return v; } void Ifc4x3::IfcTrapeziumProfileDef::setTopXOffset(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3::IfcTrapeziumProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1230]); } const IfcParse::entity& Ifc4x3::IfcTrapeziumProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_types[1230]); } Ifc4x3::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D* v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; populate_derived(); } +Ifc4x3::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D* v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; populate_derived(); } // Function implementations for IfcTriangulatedFaceSet -boost::optional< std::vector< std::vector< double > > > Ifc4x3::IfcTriangulatedFaceSet::Normals() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< std::vector< double > > v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< std::vector< double > > > Ifc4x3::IfcTriangulatedFaceSet::Normals() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< std::vector< double > > v = get_attribute_value(2); return v; } void Ifc4x3::IfcTriangulatedFaceSet::setNormals(boost::optional< std::vector< std::vector< double > > > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector< std::vector< int > > Ifc4x3::IfcTriangulatedFaceSet::CoordIndex() const { std::vector< std::vector< int > > v = data_.get_attribute_value(3); return v; } +std::vector< std::vector< int > > Ifc4x3::IfcTriangulatedFaceSet::CoordIndex() const { std::vector< std::vector< int > > v = get_attribute_value(3); return v; } void Ifc4x3::IfcTriangulatedFaceSet::setCoordIndex(std::vector< std::vector< int > > v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3::IfcTriangulatedFaceSet::PnIndex() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3::IfcTriangulatedFaceSet::PnIndex() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3::IfcTriangulatedFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3::IfcTriangulatedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1231]); } const IfcParse::entity& Ifc4x3::IfcTriangulatedFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_types[1231]); } Ifc4x3::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(IfcEntityInstanceData&& e) : IfcTessellatedFaceSet(std::move(e)) { } -Ifc4x3::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(::Ifc4x3::IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v2_Closed, boost::optional< std::vector< std::vector< double > > > v3_Normals, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) : IfcTessellatedFaceSet(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); } if (v3_Normals) {set_attribute_value(2, (*v3_Normals)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }; populate_derived(); } +Ifc4x3::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(::Ifc4x3::IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v2_Closed, boost::optional< std::vector< std::vector< double > > > v3_Normals, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) : IfcTessellatedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); } if (v3_Normals) {set_attribute_value(2, (*v3_Normals)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }; populate_derived(); } // Function implementations for IfcTriangulatedIrregularNetwork -std::vector< int > /*[1:?]*/ Ifc4x3::IfcTriangulatedIrregularNetwork::Flags() const { std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(5); return v; } +std::vector< int > /*[1:?]*/ Ifc4x3::IfcTriangulatedIrregularNetwork::Flags() const { std::vector< int > /*[1:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3::IfcTriangulatedIrregularNetwork::setFlags(std::vector< int > /*[1:?]*/ v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3::IfcTriangulatedIrregularNetwork::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1232]); } const IfcParse::entity& Ifc4x3::IfcTriangulatedIrregularNetwork::Class() { return *((IfcParse::entity*)IFC4X3_types[1232]); } Ifc4x3::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(IfcEntityInstanceData&& e) : IfcTriangulatedFaceSet(std::move(e)) { } -Ifc4x3::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::Ifc4x3::IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v2_Closed, boost::optional< std::vector< std::vector< double > > > v3_Normals, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) : IfcTriangulatedFaceSet(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); } if (v3_Normals) {set_attribute_value(2, (*v3_Normals)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags));; populate_derived(); } +Ifc4x3::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::Ifc4x3::IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v2_Closed, boost::optional< std::vector< std::vector< double > > > v3_Normals, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) : IfcTriangulatedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); } if (v3_Normals) {set_attribute_value(2, (*v3_Normals)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags));; populate_derived(); } // Function implementations for IfcTrimmedCurve -::Ifc4x3::IfcCurve* Ifc4x3::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcCurve>(true); } +::Ifc4x3::IfcCurve* Ifc4x3::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcCurve>(true); } void Ifc4x3::IfcTrimmedCurve::setBasisCurve(::Ifc4x3::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3::IfcTrimmingSelect >::ptr Ifc4x3::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3::IfcTrimmingSelect >(); } +aggregate_of< ::Ifc4x3::IfcTrimmingSelect >::ptr Ifc4x3::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3::IfcTrimmingSelect >(); } void Ifc4x3::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x3::IfcTrimmingSelect >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3::IfcTrimmingSelect >::ptr Ifc4x3::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3::IfcTrimmingSelect >(); } +aggregate_of< ::Ifc4x3::IfcTrimmingSelect >::ptr Ifc4x3::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3::IfcTrimmingSelect >(); } void Ifc4x3::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x3::IfcTrimmingSelect >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x3::IfcTrimmedCurve::SenseAgreement() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x3::IfcTrimmedCurve::SenseAgreement() const { bool v = get_attribute_value(3); return v; } void Ifc4x3::IfcTrimmedCurve::setSenseAgreement(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3::IfcTrimmingPreference::Value Ifc4x3::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3::IfcTrimmingPreference::FromString(data_.get_attribute_value(4)); } +::Ifc4x3::IfcTrimmingPreference::Value Ifc4x3::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3::IfcTrimmingPreference::FromString(get_attribute_value(4)); } void Ifc4x3::IfcTrimmedCurve::setMasterRepresentation(::Ifc4x3::IfcTrimmingPreference::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3::IfcTrimmingPreference::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3::IfcTrimmedCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1233]); } const IfcParse::entity& Ifc4x3::IfcTrimmedCurve::Class() { return *((IfcParse::entity*)IFC4X3_types[1233]); } Ifc4x3::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Trim1)->generalize());set_attribute_value(2, (v3_Trim2)->generalize());set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (EnumerationReference(&::Ifc4x3::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; populate_derived(); } +Ifc4x3::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Trim1)->generalize());set_attribute_value(2, (v3_Trim2)->generalize());set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (EnumerationReference(&::Ifc4x3::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcTubeBundle -boost::optional< ::Ifc4x3::IfcTubeBundleTypeEnum::Value > Ifc4x3::IfcTubeBundle::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcTubeBundleTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcTubeBundleTypeEnum::Value > Ifc4x3::IfcTubeBundle::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcTubeBundleTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcTubeBundle::setPredefinedType(boost::optional< ::Ifc4x3::IfcTubeBundleTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcTubeBundleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcTubeBundle::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1237]); } const IfcParse::entity& Ifc4x3::IfcTubeBundle::Class() { return *((IfcParse::entity*)IFC4X3_types[1237]); } Ifc4x3::IfcTubeBundle::IfcTubeBundle(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3::IfcTubeBundle::IfcTubeBundle(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcTubeBundle::IfcTubeBundle(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTubeBundleType -::Ifc4x3::IfcTubeBundleTypeEnum::Value Ifc4x3::IfcTubeBundleType::PredefinedType() const { return ::Ifc4x3::IfcTubeBundleTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcTubeBundleTypeEnum::Value Ifc4x3::IfcTubeBundleType::PredefinedType() const { return ::Ifc4x3::IfcTubeBundleTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcTubeBundleType::setPredefinedType(::Ifc4x3::IfcTubeBundleTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcTubeBundleTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcTubeBundleType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1238]); } const IfcParse::entity& Ifc4x3::IfcTubeBundleType::Class() { return *((IfcParse::entity*)IFC4X3_types[1238]); } Ifc4x3::IfcTubeBundleType::IfcTubeBundleType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3::IfcTubeBundleType::IfcTubeBundleType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTubeBundleTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcTubeBundleType::IfcTubeBundleType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcTubeBundleTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTypeObject -boost::optional< std::string > Ifc4x3::IfcTypeObject::ApplicableOccurrence() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3::IfcTypeObject::ApplicableOccurrence() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcTypeObject::setApplicableOccurrence(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > Ifc4x3::IfcTypeObject::HasPropertySets() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3::IfcPropertySetDefinition >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > Ifc4x3::IfcTypeObject::HasPropertySets() const { if(get_attribute_value(5).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3::IfcPropertySetDefinition >(); } void Ifc4x3::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v) { if (v) {set_attribute_value(5, (*v)->generalize());} else {unset_attribute_value(5);} } ::Ifc4x3::IfcRelDefinesByType::list::ptr Ifc4x3::IfcTypeObject::Types() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[936], 5)->as(); } @@ -17676,14 +17676,14 @@ void Ifc4x3::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of< :: const IfcParse::entity& Ifc4x3::IfcTypeObject::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1240]); } const IfcParse::entity& Ifc4x3::IfcTypeObject::Class() { return *((IfcParse::entity*)IFC4X3_types[1240]); } Ifc4x3::IfcTypeObject::IfcTypeObject(IfcEntityInstanceData&& e) : IfcObjectDefinition(std::move(e)) { } -Ifc4x3::IfcTypeObject::IfcTypeObject(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets) : IfcObjectDefinition(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); }; populate_derived(); } +Ifc4x3::IfcTypeObject::IfcTypeObject(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets) : IfcObjectDefinition(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); }; populate_derived(); } // Function implementations for IfcTypeProcess -boost::optional< std::string > Ifc4x3::IfcTypeProcess::Identification() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3::IfcTypeProcess::Identification() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3::IfcTypeProcess::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3::IfcTypeProcess::LongDescription() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3::IfcTypeProcess::LongDescription() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3::IfcTypeProcess::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3::IfcTypeProcess::ProcessType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3::IfcTypeProcess::ProcessType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3::IfcTypeProcess::setProcessType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } ::Ifc4x3::IfcRelAssignsToProcess::list::ptr Ifc4x3::IfcTypeProcess::OperatesOn() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[906], 6)->as(); } @@ -17691,12 +17691,12 @@ void Ifc4x3::IfcTypeProcess::setProcessType(boost::optional< std::string > v) { const IfcParse::entity& Ifc4x3::IfcTypeProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1241]); } const IfcParse::entity& Ifc4x3::IfcTypeProcess::Class() { return *((IfcParse::entity*)IFC4X3_types[1241]); } Ifc4x3::IfcTypeProcess::IfcTypeProcess(IfcEntityInstanceData&& e) : IfcTypeObject(std::move(e)) { } -Ifc4x3::IfcTypeProcess::IfcTypeProcess(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType) : IfcTypeObject(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }; populate_derived(); } +Ifc4x3::IfcTypeProcess::IfcTypeProcess(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType) : IfcTypeObject(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }; populate_derived(); } // Function implementations for IfcTypeProduct -boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > Ifc4x3::IfcTypeProduct::RepresentationMaps() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3::IfcRepresentationMap >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > Ifc4x3::IfcTypeProduct::RepresentationMaps() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3::IfcRepresentationMap >(); } void Ifc4x3::IfcTypeProduct::setRepresentationMaps(boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3::IfcTypeProduct::Tag() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3::IfcTypeProduct::Tag() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3::IfcTypeProduct::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } ::Ifc4x3::IfcRelAssignsToProduct::list::ptr Ifc4x3::IfcTypeProduct::ReferencedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[907], 6)->as(); } @@ -17704,14 +17704,14 @@ void Ifc4x3::IfcTypeProduct::setTag(boost::optional< std::string > v) { if (v) { const IfcParse::entity& Ifc4x3::IfcTypeProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1242]); } const IfcParse::entity& Ifc4x3::IfcTypeProduct::Class() { return *((IfcParse::entity*)IFC4X3_types[1242]); } Ifc4x3::IfcTypeProduct::IfcTypeProduct(IfcEntityInstanceData&& e) : IfcTypeObject(std::move(e)) { } -Ifc4x3::IfcTypeProduct::IfcTypeProduct(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag) : IfcTypeObject(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3::IfcTypeProduct::IfcTypeProduct(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag) : IfcTypeObject(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcTypeResource -boost::optional< std::string > Ifc4x3::IfcTypeResource::Identification() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3::IfcTypeResource::Identification() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3::IfcTypeResource::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3::IfcTypeResource::LongDescription() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3::IfcTypeResource::LongDescription() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3::IfcTypeResource::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3::IfcTypeResource::ResourceType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3::IfcTypeResource::ResourceType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3::IfcTypeResource::setResourceType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } ::Ifc4x3::IfcRelAssignsToResource::list::ptr Ifc4x3::IfcTypeResource::ResourceOf() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_types[908], 6)->as(); } @@ -17719,131 +17719,131 @@ void Ifc4x3::IfcTypeResource::setResourceType(boost::optional< std::string > v) const IfcParse::entity& Ifc4x3::IfcTypeResource::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1243]); } const IfcParse::entity& Ifc4x3::IfcTypeResource::Class() { return *((IfcParse::entity*)IFC4X3_types[1243]); } Ifc4x3::IfcTypeResource::IfcTypeResource(IfcEntityInstanceData&& e) : IfcTypeObject(std::move(e)) { } -Ifc4x3::IfcTypeResource::IfcTypeResource(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType) : IfcTypeObject(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); }; populate_derived(); } +Ifc4x3::IfcTypeResource::IfcTypeResource(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType) : IfcTypeObject(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); }; populate_derived(); } // Function implementations for IfcUShapeProfileDef -double Ifc4x3::IfcUShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3::IfcUShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3::IfcUShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3::IfcUShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3::IfcUShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc4x3::IfcUShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3::IfcUShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3::IfcUShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3::IfcUShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3::IfcUShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3::IfcUShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3::IfcUShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3::IfcUShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3::IfcUShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3::IfcUShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3::IfcUShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3::IfcUShapeProfileDef::EdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3::IfcUShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3::IfcUShapeProfileDef::FlangeSlope() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3::IfcUShapeProfileDef::FlangeSlope() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3::IfcUShapeProfileDef::setFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3::IfcUShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1254]); } const IfcParse::entity& Ifc4x3::IfcUShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_types[1254]); } Ifc4x3::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_EdgeRadius, boost::optional< double > v10_FlangeSlope) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } +Ifc4x3::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_EdgeRadius, boost::optional< double > v10_FlangeSlope) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } // Function implementations for IfcUnitAssignment -aggregate_of< ::Ifc4x3::IfcUnit >::ptr Ifc4x3::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3::IfcUnit >(); } +aggregate_of< ::Ifc4x3::IfcUnit >::ptr Ifc4x3::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3::IfcUnit >(); } void Ifc4x3::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x3::IfcUnit >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3::IfcUnitAssignment::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1251]); } const IfcParse::entity& Ifc4x3::IfcUnitAssignment::Class() { return *((IfcParse::entity*)IFC4X3_types[1251]); } Ifc4x3::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Units)->generalize());; populate_derived(); } +Ifc4x3::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Units)->generalize());; populate_derived(); } // Function implementations for IfcUnitaryControlElement -boost::optional< ::Ifc4x3::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3::IfcUnitaryControlElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcUnitaryControlElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3::IfcUnitaryControlElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcUnitaryControlElement::setPredefinedType(boost::optional< ::Ifc4x3::IfcUnitaryControlElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcUnitaryControlElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcUnitaryControlElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1245]); } const IfcParse::entity& Ifc4x3::IfcUnitaryControlElement::Class() { return *((IfcParse::entity*)IFC4X3_types[1245]); } Ifc4x3::IfcUnitaryControlElement::IfcUnitaryControlElement(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3::IfcUnitaryControlElement::IfcUnitaryControlElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcUnitaryControlElement::IfcUnitaryControlElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcUnitaryControlElementType -::Ifc4x3::IfcUnitaryControlElementTypeEnum::Value Ifc4x3::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4x3::IfcUnitaryControlElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcUnitaryControlElementTypeEnum::Value Ifc4x3::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4x3::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcUnitaryControlElementType::setPredefinedType(::Ifc4x3::IfcUnitaryControlElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcUnitaryControlElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcUnitaryControlElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1246]); } const IfcParse::entity& Ifc4x3::IfcUnitaryControlElementType::Class() { return *((IfcParse::entity*)IFC4X3_types[1246]); } Ifc4x3::IfcUnitaryControlElementType::IfcUnitaryControlElementType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3::IfcUnitaryControlElementType::IfcUnitaryControlElementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcUnitaryControlElementType::IfcUnitaryControlElementType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcUnitaryEquipment -boost::optional< ::Ifc4x3::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x3::IfcUnitaryEquipment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcUnitaryEquipmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x3::IfcUnitaryEquipment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcUnitaryEquipment::setPredefinedType(boost::optional< ::Ifc4x3::IfcUnitaryEquipmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcUnitaryEquipmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcUnitaryEquipment::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1248]); } const IfcParse::entity& Ifc4x3::IfcUnitaryEquipment::Class() { return *((IfcParse::entity*)IFC4X3_types[1248]); } Ifc4x3::IfcUnitaryEquipment::IfcUnitaryEquipment(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3::IfcUnitaryEquipment::IfcUnitaryEquipment(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcUnitaryEquipment::IfcUnitaryEquipment(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcUnitaryEquipmentType -::Ifc4x3::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4x3::IfcUnitaryEquipmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4x3::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcUnitaryEquipmentType::setPredefinedType(::Ifc4x3::IfcUnitaryEquipmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcUnitaryEquipmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcUnitaryEquipmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1249]); } const IfcParse::entity& Ifc4x3::IfcUnitaryEquipmentType::Class() { return *((IfcParse::entity*)IFC4X3_types[1249]); } Ifc4x3::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcValve -boost::optional< ::Ifc4x3::IfcValveTypeEnum::Value > Ifc4x3::IfcValve::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcValveTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcValveTypeEnum::Value > Ifc4x3::IfcValve::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcValveTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcValve::setPredefinedType(boost::optional< ::Ifc4x3::IfcValveTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcValveTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcValve::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1256]); } const IfcParse::entity& Ifc4x3::IfcValve::Class() { return *((IfcParse::entity*)IFC4X3_types[1256]); } Ifc4x3::IfcValve::IfcValve(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3::IfcValve::IfcValve(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcValveTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcValve::IfcValve(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcValveTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcValveType -::Ifc4x3::IfcValveTypeEnum::Value Ifc4x3::IfcValveType::PredefinedType() const { return ::Ifc4x3::IfcValveTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcValveTypeEnum::Value Ifc4x3::IfcValveType::PredefinedType() const { return ::Ifc4x3::IfcValveTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcValveType::setPredefinedType(::Ifc4x3::IfcValveTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcValveTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcValveType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1257]); } const IfcParse::entity& Ifc4x3::IfcValveType::Class() { return *((IfcParse::entity*)IFC4X3_types[1257]); } Ifc4x3::IfcValveType::IfcValveType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3::IfcValveType::IfcValveType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcValveTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcValveType::IfcValveType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcValveTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcVector -::Ifc4x3::IfcDirection* Ifc4x3::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcDirection>(true); } +::Ifc4x3::IfcDirection* Ifc4x3::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcDirection>(true); } void Ifc4x3::IfcVector::setOrientation(::Ifc4x3::IfcDirection* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3::IfcVector::Magnitude() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3::IfcVector::Magnitude() const { double v = get_attribute_value(1); return v; } void Ifc4x3::IfcVector::setMagnitude(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcVector::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1260]); } const IfcParse::entity& Ifc4x3::IfcVector::Class() { return *((IfcParse::entity*)IFC4X3_types[1260]); } Ifc4x3::IfcVector::IfcVector(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3::IfcVector::IfcVector(::Ifc4x3::IfcDirection* v1_Orientation, double v2_Magnitude) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Orientation ? v1_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Magnitude));; populate_derived(); } +Ifc4x3::IfcVector::IfcVector(::Ifc4x3::IfcDirection* v1_Orientation, double v2_Magnitude) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Orientation ? v1_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Magnitude));; populate_derived(); } // Function implementations for IfcVehicle -boost::optional< ::Ifc4x3::IfcVehicleTypeEnum::Value > Ifc4x3::IfcVehicle::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcVehicleTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcVehicleTypeEnum::Value > Ifc4x3::IfcVehicle::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcVehicleTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcVehicle::setPredefinedType(boost::optional< ::Ifc4x3::IfcVehicleTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcVehicleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcVehicle::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1262]); } const IfcParse::entity& Ifc4x3::IfcVehicle::Class() { return *((IfcParse::entity*)IFC4X3_types[1262]); } Ifc4x3::IfcVehicle::IfcVehicle(IfcEntityInstanceData&& e) : IfcTransportationDevice(std::move(e)) { } -Ifc4x3::IfcVehicle::IfcVehicle(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcVehicleTypeEnum::Value > v9_PredefinedType) : IfcTransportationDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcVehicleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcVehicle::IfcVehicle(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcVehicleTypeEnum::Value > v9_PredefinedType) : IfcTransportationDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcVehicleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcVehicleType -::Ifc4x3::IfcVehicleTypeEnum::Value Ifc4x3::IfcVehicleType::PredefinedType() const { return ::Ifc4x3::IfcVehicleTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcVehicleTypeEnum::Value Ifc4x3::IfcVehicleType::PredefinedType() const { return ::Ifc4x3::IfcVehicleTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcVehicleType::setPredefinedType(::Ifc4x3::IfcVehicleTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcVehicleTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcVehicleType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1263]); } const IfcParse::entity& Ifc4x3::IfcVehicleType::Class() { return *((IfcParse::entity*)IFC4X3_types[1263]); } Ifc4x3::IfcVehicleType::IfcVehicleType(IfcEntityInstanceData&& e) : IfcTransportationDeviceType(std::move(e)) { } -Ifc4x3::IfcVehicleType::IfcVehicleType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcVehicleTypeEnum::Value v10_PredefinedType) : IfcTransportationDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcVehicleTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcVehicleType::IfcVehicleType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcVehicleTypeEnum::Value v10_PredefinedType) : IfcTransportationDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcVehicleTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcVertex @@ -17851,109 +17851,109 @@ Ifc4x3::IfcVehicleType::IfcVehicleType(std::string v1_GlobalId, ::Ifc4x3::IfcOwn const IfcParse::entity& Ifc4x3::IfcVertex::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1265]); } const IfcParse::entity& Ifc4x3::IfcVertex::Class() { return *((IfcParse::entity*)IFC4X3_types[1265]); } Ifc4x3::IfcVertex::IfcVertex(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3::IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3::IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcVertexLoop -::Ifc4x3::IfcVertex* Ifc4x3::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcVertex>(true); } +::Ifc4x3::IfcVertex* Ifc4x3::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcVertex>(true); } void Ifc4x3::IfcVertexLoop::setLoopVertex(::Ifc4x3::IfcVertex* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3::IfcVertexLoop::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1266]); } const IfcParse::entity& Ifc4x3::IfcVertexLoop::Class() { return *((IfcParse::entity*)IFC4X3_types[1266]); } Ifc4x3::IfcVertexLoop::IfcVertexLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc4x3::IfcVertexLoop::IfcVertexLoop(::Ifc4x3::IfcVertex* v1_LoopVertex) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_LoopVertex ? v1_LoopVertex->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcVertexLoop::IfcVertexLoop(::Ifc4x3::IfcVertex* v1_LoopVertex) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_LoopVertex ? v1_LoopVertex->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcVertexPoint -::Ifc4x3::IfcPoint* Ifc4x3::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3::IfcPoint>(true); } +::Ifc4x3::IfcPoint* Ifc4x3::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3::IfcPoint>(true); } void Ifc4x3::IfcVertexPoint::setVertexGeometry(::Ifc4x3::IfcPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3::IfcVertexPoint::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1267]); } const IfcParse::entity& Ifc4x3::IfcVertexPoint::Class() { return *((IfcParse::entity*)IFC4X3_types[1267]); } Ifc4x3::IfcVertexPoint::IfcVertexPoint(IfcEntityInstanceData&& e) : IfcVertex(std::move(e)) { } -Ifc4x3::IfcVertexPoint::IfcVertexPoint(::Ifc4x3::IfcPoint* v1_VertexGeometry) : IfcVertex(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_VertexGeometry ? v1_VertexGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcVertexPoint::IfcVertexPoint(::Ifc4x3::IfcPoint* v1_VertexGeometry) : IfcVertex(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_VertexGeometry ? v1_VertexGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcVibrationDamper -boost::optional< ::Ifc4x3::IfcDamperTypeEnum::Value > Ifc4x3::IfcVibrationDamper::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcDamperTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcDamperTypeEnum::Value > Ifc4x3::IfcVibrationDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcDamperTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcVibrationDamper::setPredefinedType(boost::optional< ::Ifc4x3::IfcDamperTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcDamperTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcVibrationDamper::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1268]); } const IfcParse::entity& Ifc4x3::IfcVibrationDamper::Class() { return *((IfcParse::entity*)IFC4X3_types[1268]); } Ifc4x3::IfcVibrationDamper::IfcVibrationDamper(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3::IfcVibrationDamper::IfcVibrationDamper(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcDamperTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcVibrationDamper::IfcVibrationDamper(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcDamperTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcVibrationDamperType -::Ifc4x3::IfcVibrationDamperTypeEnum::Value Ifc4x3::IfcVibrationDamperType::PredefinedType() const { return ::Ifc4x3::IfcVibrationDamperTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcVibrationDamperTypeEnum::Value Ifc4x3::IfcVibrationDamperType::PredefinedType() const { return ::Ifc4x3::IfcVibrationDamperTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcVibrationDamperType::setPredefinedType(::Ifc4x3::IfcVibrationDamperTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcVibrationDamperTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcVibrationDamperType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1269]); } const IfcParse::entity& Ifc4x3::IfcVibrationDamperType::Class() { return *((IfcParse::entity*)IFC4X3_types[1269]); } Ifc4x3::IfcVibrationDamperType::IfcVibrationDamperType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3::IfcVibrationDamperType::IfcVibrationDamperType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcVibrationDamperTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcVibrationDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcVibrationDamperType::IfcVibrationDamperType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcVibrationDamperTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcVibrationDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcVibrationIsolator -boost::optional< ::Ifc4x3::IfcVibrationIsolatorTypeEnum::Value > Ifc4x3::IfcVibrationIsolator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcVibrationIsolatorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcVibrationIsolatorTypeEnum::Value > Ifc4x3::IfcVibrationIsolator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcVibrationIsolator::setPredefinedType(boost::optional< ::Ifc4x3::IfcVibrationIsolatorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcVibrationIsolatorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcVibrationIsolator::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1271]); } const IfcParse::entity& Ifc4x3::IfcVibrationIsolator::Class() { return *((IfcParse::entity*)IFC4X3_types[1271]); } Ifc4x3::IfcVibrationIsolator::IfcVibrationIsolator(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3::IfcVibrationIsolator::IfcVibrationIsolator(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcVibrationIsolator::IfcVibrationIsolator(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcVibrationIsolatorType -::Ifc4x3::IfcVibrationIsolatorTypeEnum::Value Ifc4x3::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4x3::IfcVibrationIsolatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcVibrationIsolatorTypeEnum::Value Ifc4x3::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4x3::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcVibrationIsolatorType::setPredefinedType(::Ifc4x3::IfcVibrationIsolatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcVibrationIsolatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcVibrationIsolatorType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1272]); } const IfcParse::entity& Ifc4x3::IfcVibrationIsolatorType::Class() { return *((IfcParse::entity*)IFC4X3_types[1272]); } Ifc4x3::IfcVibrationIsolatorType::IfcVibrationIsolatorType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3::IfcVibrationIsolatorType::IfcVibrationIsolatorType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcVibrationIsolatorType::IfcVibrationIsolatorType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcVirtualElement -boost::optional< ::Ifc4x3::IfcVirtualElementTypeEnum::Value > Ifc4x3::IfcVirtualElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcVirtualElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcVirtualElementTypeEnum::Value > Ifc4x3::IfcVirtualElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcVirtualElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcVirtualElement::setPredefinedType(boost::optional< ::Ifc4x3::IfcVirtualElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcVirtualElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcVirtualElement::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1274]); } const IfcParse::entity& Ifc4x3::IfcVirtualElement::Class() { return *((IfcParse::entity*)IFC4X3_types[1274]); } Ifc4x3::IfcVirtualElement::IfcVirtualElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3::IfcVirtualElement::IfcVirtualElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcVirtualElementTypeEnum::Value > v9_PredefinedType) : IfcElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcVirtualElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcVirtualElement::IfcVirtualElement(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcVirtualElementTypeEnum::Value > v9_PredefinedType) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcVirtualElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcVirtualGridIntersection -aggregate_of< ::Ifc4x3::IfcGridAxis >::ptr Ifc4x3::IfcVirtualGridIntersection::IntersectingAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3::IfcGridAxis >(); } +aggregate_of< ::Ifc4x3::IfcGridAxis >::ptr Ifc4x3::IfcVirtualGridIntersection::IntersectingAxes() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3::IfcGridAxis >(); } void Ifc4x3::IfcVirtualGridIntersection::setIntersectingAxes(aggregate_of< ::Ifc4x3::IfcGridAxis >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -std::vector< double > /*[2:3]*/ Ifc4x3::IfcVirtualGridIntersection::OffsetDistances() const { std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(1); return v; } +std::vector< double > /*[2:3]*/ Ifc4x3::IfcVirtualGridIntersection::OffsetDistances() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } void Ifc4x3::IfcVirtualGridIntersection::setOffsetDistances(std::vector< double > /*[2:3]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3::IfcVirtualGridIntersection::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1276]); } const IfcParse::entity& Ifc4x3::IfcVirtualGridIntersection::Class() { return *((IfcParse::entity*)IFC4X3_types[1276]); } Ifc4x3::IfcVirtualGridIntersection::IfcVirtualGridIntersection(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3::IfcVirtualGridIntersection::IfcVirtualGridIntersection(aggregate_of< ::Ifc4x3::IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_IntersectingAxes)->generalize());set_attribute_value(1, (v2_OffsetDistances));; populate_derived(); } +Ifc4x3::IfcVirtualGridIntersection::IfcVirtualGridIntersection(aggregate_of< ::Ifc4x3::IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_IntersectingAxes)->generalize());set_attribute_value(1, (v2_OffsetDistances));; populate_derived(); } // Function implementations for IfcVoidingFeature -boost::optional< ::Ifc4x3::IfcVoidingFeatureTypeEnum::Value > Ifc4x3::IfcVoidingFeature::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcVoidingFeatureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcVoidingFeatureTypeEnum::Value > Ifc4x3::IfcVoidingFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcVoidingFeatureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcVoidingFeature::setPredefinedType(boost::optional< ::Ifc4x3::IfcVoidingFeatureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcVoidingFeatureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcVoidingFeature::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1277]); } const IfcParse::entity& Ifc4x3::IfcVoidingFeature::Class() { return *((IfcParse::entity*)IFC4X3_types[1277]); } Ifc4x3::IfcVoidingFeature::IfcVoidingFeature(IfcEntityInstanceData&& e) : IfcFeatureElementSubtraction(std::move(e)) { } -Ifc4x3::IfcVoidingFeature::IfcVoidingFeature(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcVoidingFeature::IfcVoidingFeature(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWall -boost::optional< ::Ifc4x3::IfcWallTypeEnum::Value > Ifc4x3::IfcWall::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcWallTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcWallTypeEnum::Value > Ifc4x3::IfcWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcWallTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcWall::setPredefinedType(boost::optional< ::Ifc4x3::IfcWallTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcWallTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcWall::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1281]); } const IfcParse::entity& Ifc4x3::IfcWall::Class() { return *((IfcParse::entity*)IFC4X3_types[1281]); } Ifc4x3::IfcWall::IfcWall(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3::IfcWall::IfcWall(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcWall::IfcWall(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWallStandardCase @@ -17961,219 +17961,219 @@ Ifc4x3::IfcWall::IfcWall(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_ const IfcParse::entity& Ifc4x3::IfcWallStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1282]); } const IfcParse::entity& Ifc4x3::IfcWallStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_types[1282]); } Ifc4x3::IfcWallStandardCase::IfcWallStandardCase(IfcEntityInstanceData&& e) : IfcWall(std::move(e)) { } -Ifc4x3::IfcWallStandardCase::IfcWallStandardCase(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcWall(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcWallStandardCase::IfcWallStandardCase(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcWall(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWallType -::Ifc4x3::IfcWallTypeEnum::Value Ifc4x3::IfcWallType::PredefinedType() const { return ::Ifc4x3::IfcWallTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcWallTypeEnum::Value Ifc4x3::IfcWallType::PredefinedType() const { return ::Ifc4x3::IfcWallTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcWallType::setPredefinedType(::Ifc4x3::IfcWallTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcWallTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcWallType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1283]); } const IfcParse::entity& Ifc4x3::IfcWallType::Class() { return *((IfcParse::entity*)IFC4X3_types[1283]); } Ifc4x3::IfcWallType::IfcWallType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3::IfcWallType::IfcWallType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcWallTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcWallType::IfcWallType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcWallTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcWasteTerminal -boost::optional< ::Ifc4x3::IfcWasteTerminalTypeEnum::Value > Ifc4x3::IfcWasteTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcWasteTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcWasteTerminalTypeEnum::Value > Ifc4x3::IfcWasteTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcWasteTerminal::setPredefinedType(boost::optional< ::Ifc4x3::IfcWasteTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcWasteTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcWasteTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1288]); } const IfcParse::entity& Ifc4x3::IfcWasteTerminal::Class() { return *((IfcParse::entity*)IFC4X3_types[1288]); } Ifc4x3::IfcWasteTerminal::IfcWasteTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3::IfcWasteTerminal::IfcWasteTerminal(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcWasteTerminal::IfcWasteTerminal(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWasteTerminalType -::Ifc4x3::IfcWasteTerminalTypeEnum::Value Ifc4x3::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4x3::IfcWasteTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcWasteTerminalTypeEnum::Value Ifc4x3::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4x3::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcWasteTerminalType::setPredefinedType(::Ifc4x3::IfcWasteTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcWasteTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3::IfcWasteTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1289]); } const IfcParse::entity& Ifc4x3::IfcWasteTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_types[1289]); } Ifc4x3::IfcWasteTerminalType::IfcWasteTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3::IfcWasteTerminalType::IfcWasteTerminalType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3::IfcWasteTerminalType::IfcWasteTerminalType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcWindow -boost::optional< double > Ifc4x3::IfcWindow::OverallHeight() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3::IfcWindow::OverallHeight() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3::IfcWindow::setOverallHeight(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3::IfcWindow::OverallWidth() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3::IfcWindow::OverallWidth() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3::IfcWindow::setOverallWidth(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x3::IfcWindowTypeEnum::Value > Ifc4x3::IfcWindow::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcWindowTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3::IfcWindowTypeEnum::Value > Ifc4x3::IfcWindow::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3::IfcWindowTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3::IfcWindow::setPredefinedType(boost::optional< ::Ifc4x3::IfcWindowTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3::IfcWindowTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -boost::optional< ::Ifc4x3::IfcWindowTypePartitioningEnum::Value > Ifc4x3::IfcWindow::PartitioningType() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3::IfcWindowTypePartitioningEnum::FromString(data_.get_attribute_value(11)); } +boost::optional< ::Ifc4x3::IfcWindowTypePartitioningEnum::Value > Ifc4x3::IfcWindow::PartitioningType() const { if(get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3::IfcWindowTypePartitioningEnum::FromString(get_attribute_value(11)); } void Ifc4x3::IfcWindow::setPartitioningType(boost::optional< ::Ifc4x3::IfcWindowTypePartitioningEnum::Value > v) { if (v) {set_attribute_value(11, EnumerationReference(&::Ifc4x3::IfcWindowTypePartitioningEnum::Class(), (size_t) *v));} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3::IfcWindow::UserDefinedPartitioningType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3::IfcWindow::UserDefinedPartitioningType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3::IfcWindow::setUserDefinedPartitioningType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3::IfcWindow::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1291]); } const IfcParse::entity& Ifc4x3::IfcWindow::Class() { return *((IfcParse::entity*)IFC4X3_types[1291]); } Ifc4x3::IfcWindow::IfcWindow(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3::IfcWindow::IfcWindow(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } +Ifc4x3::IfcWindow::IfcWindow(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } // Function implementations for IfcWindowLiningProperties -boost::optional< double > Ifc4x3::IfcWindowLiningProperties::LiningDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3::IfcWindowLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3::IfcWindowLiningProperties::setLiningDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3::IfcWindowLiningProperties::LiningThickness() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3::IfcWindowLiningProperties::LiningThickness() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3::IfcWindowLiningProperties::setLiningThickness(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3::IfcWindowLiningProperties::TransomThickness() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3::IfcWindowLiningProperties::TransomThickness() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3::IfcWindowLiningProperties::setTransomThickness(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3::IfcWindowLiningProperties::MullionThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3::IfcWindowLiningProperties::MullionThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3::IfcWindowLiningProperties::setMullionThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3::IfcWindowLiningProperties::FirstTransomOffset() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3::IfcWindowLiningProperties::FirstTransomOffset() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3::IfcWindowLiningProperties::setFirstTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3::IfcWindowLiningProperties::SecondTransomOffset() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3::IfcWindowLiningProperties::SecondTransomOffset() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3::IfcWindowLiningProperties::setSecondTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3::IfcWindowLiningProperties::FirstMullionOffset() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3::IfcWindowLiningProperties::FirstMullionOffset() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3::IfcWindowLiningProperties::SecondMullionOffset() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3::IfcWindowLiningProperties::SecondMullionOffset() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -::Ifc4x3::IfcShapeAspect* Ifc4x3::IfcWindowLiningProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(12).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(12)))->as<::Ifc4x3::IfcShapeAspect>(true); } +::Ifc4x3::IfcShapeAspect* Ifc4x3::IfcWindowLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(12).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(12)))->as<::Ifc4x3::IfcShapeAspect>(true); } void Ifc4x3::IfcWindowLiningProperties::setShapeAspectStyle(::Ifc4x3::IfcShapeAspect* v) { set_attribute_value(12, v->as());if constexpr (false)unset_attribute_value(12); } -boost::optional< double > Ifc4x3::IfcWindowLiningProperties::LiningOffset() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3::IfcWindowLiningProperties::LiningOffset() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3::IfcWindowLiningProperties::setLiningOffset(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3::IfcWindowLiningProperties::LiningToPanelOffsetX() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3::IfcWindowLiningProperties::LiningToPanelOffsetX() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3::IfcWindowLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x3::IfcWindowLiningProperties::LiningToPanelOffsetY() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3::IfcWindowLiningProperties::LiningToPanelOffsetY() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3::IfcWindowLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } const IfcParse::entity& Ifc4x3::IfcWindowLiningProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1292]); } const IfcParse::entity& Ifc4x3::IfcWindowLiningProperties::Class() { return *((IfcParse::entity*)IFC4X3_types[1292]); } Ifc4x3::IfcWindowLiningProperties::IfcWindowLiningProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3::IfcWindowLiningProperties::IfcWindowLiningProperties(std::string v1_GlobalId, ::Ifc4x3::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::IfcShapeAspect* v13_ShapeAspectStyle, boost::optional< double > v14_LiningOffset, boost::optional< double > v15_LiningToPanelOffsetX, boost::optional< double > v16_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, v13_ShapeAspectStyle ? v13_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); }; populate_derived(); } +Ifc4x3::IfcWindowLiningProperties::IfcWindowLiningProperties(std::string v1_GlobalId, ::Ifc4x3::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::IfcShapeAspect* v13_ShapeAspectStyle, boost::optional< double > v14_LiningOffset, boost::optional< double > v15_LiningToPanelOffsetX, boost::optional< double > v16_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, v13_ShapeAspectStyle ? v13_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); }; populate_derived(); } // Function implementations for IfcWindowPanelProperties -::Ifc4x3::IfcWindowPanelOperationEnum::Value Ifc4x3::IfcWindowPanelProperties::OperationType() const { return ::Ifc4x3::IfcWindowPanelOperationEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x3::IfcWindowPanelOperationEnum::Value Ifc4x3::IfcWindowPanelProperties::OperationType() const { return ::Ifc4x3::IfcWindowPanelOperationEnum::FromString(get_attribute_value(4)); } void Ifc4x3::IfcWindowPanelProperties::setOperationType(::Ifc4x3::IfcWindowPanelOperationEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3::IfcWindowPanelOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3::IfcWindowPanelPositionEnum::Value Ifc4x3::IfcWindowPanelProperties::PanelPosition() const { return ::Ifc4x3::IfcWindowPanelPositionEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3::IfcWindowPanelPositionEnum::Value Ifc4x3::IfcWindowPanelProperties::PanelPosition() const { return ::Ifc4x3::IfcWindowPanelPositionEnum::FromString(get_attribute_value(5)); } void Ifc4x3::IfcWindowPanelProperties::setPanelPosition(::Ifc4x3::IfcWindowPanelPositionEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3::IfcWindowPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3::IfcWindowPanelProperties::FrameDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3::IfcWindowPanelProperties::FrameDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3::IfcWindowPanelProperties::FrameThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3::IfcWindowPanelProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3::IfcShapeAspect* Ifc4x3::IfcWindowPanelProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3::IfcShapeAspect>(true); } +::Ifc4x3::IfcShapeAspect* Ifc4x3::IfcWindowPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3::IfcShapeAspect>(true); } void Ifc4x3::IfcWindowPanelProperties::setShapeAspectStyle(::Ifc4x3::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3::IfcWindowPanelProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1295]); } const IfcParse::entity& Ifc4x3::IfcWindowPanelProperties::Class() { return *((IfcParse::entity*)IFC4X3_types[1295]); } Ifc4x3::IfcWindowPanelProperties::IfcWindowPanelProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3::IfcWindowPanelProperties::IfcWindowPanelProperties(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x3::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x3::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3::IfcWindowPanelProperties::IfcWindowPanelProperties(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x3::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x3::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcWindowType -::Ifc4x3::IfcWindowTypeEnum::Value Ifc4x3::IfcWindowType::PredefinedType() const { return ::Ifc4x3::IfcWindowTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3::IfcWindowTypeEnum::Value Ifc4x3::IfcWindowType::PredefinedType() const { return ::Ifc4x3::IfcWindowTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3::IfcWindowType::setPredefinedType(::Ifc4x3::IfcWindowTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3::IfcWindowTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x3::IfcWindowTypePartitioningEnum::Value Ifc4x3::IfcWindowType::PartitioningType() const { return ::Ifc4x3::IfcWindowTypePartitioningEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3::IfcWindowTypePartitioningEnum::Value Ifc4x3::IfcWindowType::PartitioningType() const { return ::Ifc4x3::IfcWindowTypePartitioningEnum::FromString(get_attribute_value(10)); } void Ifc4x3::IfcWindowType::setPartitioningType(::Ifc4x3::IfcWindowTypePartitioningEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3::IfcWindowTypePartitioningEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } -boost::optional< bool > Ifc4x3::IfcWindowType::ParameterTakesPrecedence() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } bool v = data_.get_attribute_value(11); return v; } +boost::optional< bool > Ifc4x3::IfcWindowType::ParameterTakesPrecedence() const { if(get_attribute_value(11).isNull()) { return boost::none; } bool v = get_attribute_value(11); return v; } void Ifc4x3::IfcWindowType::setParameterTakesPrecedence(boost::optional< bool > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3::IfcWindowType::UserDefinedPartitioningType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3::IfcWindowType::UserDefinedPartitioningType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3::IfcWindowType::setUserDefinedPartitioningType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3::IfcWindowType::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1298]); } const IfcParse::entity& Ifc4x3::IfcWindowType::Class() { return *((IfcParse::entity*)IFC4X3_types[1298]); } Ifc4x3::IfcWindowType::IfcWindowType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3::IfcWindowType::IfcWindowType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } +Ifc4x3::IfcWindowType::IfcWindowType(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } // Function implementations for IfcWorkCalendar -boost::optional< aggregate_of< ::Ifc4x3::IfcWorkTime >::ptr > Ifc4x3::IfcWorkCalendar::WorkingTimes() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3::IfcWorkTime >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcWorkTime >::ptr > Ifc4x3::IfcWorkCalendar::WorkingTimes() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3::IfcWorkTime >(); } void Ifc4x3::IfcWorkCalendar::setWorkingTimes(boost::optional< aggregate_of< ::Ifc4x3::IfcWorkTime >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3::IfcWorkTime >::ptr > Ifc4x3::IfcWorkCalendar::ExceptionTimes() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3::IfcWorkTime >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcWorkTime >::ptr > Ifc4x3::IfcWorkCalendar::ExceptionTimes() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3::IfcWorkTime >(); } void Ifc4x3::IfcWorkCalendar::setExceptionTimes(boost::optional< aggregate_of< ::Ifc4x3::IfcWorkTime >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3::IfcWorkCalendarTypeEnum::Value > Ifc4x3::IfcWorkCalendar::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcWorkCalendarTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3::IfcWorkCalendarTypeEnum::Value > Ifc4x3::IfcWorkCalendar::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3::IfcWorkCalendarTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3::IfcWorkCalendar::setPredefinedType(boost::optional< ::Ifc4x3::IfcWorkCalendarTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3::IfcWorkCalendarTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcWorkCalendar::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1301]); } const IfcParse::entity& Ifc4x3::IfcWorkCalendar::Class() { return *((IfcParse::entity*)IFC4X3_types[1301]); } Ifc4x3::IfcWorkCalendar::IfcWorkCalendar(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3::IfcWorkCalendar::IfcWorkCalendar(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< aggregate_of< ::Ifc4x3::IfcWorkTime >::ptr > v7_WorkingTimes, boost::optional< aggregate_of< ::Ifc4x3::IfcWorkTime >::ptr > v8_ExceptionTimes, boost::optional< ::Ifc4x3::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, (*v7_WorkingTimes)->generalize()); } if (v8_ExceptionTimes) {set_attribute_value(7, (*v8_ExceptionTimes)->generalize()); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcWorkCalendar::IfcWorkCalendar(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< aggregate_of< ::Ifc4x3::IfcWorkTime >::ptr > v7_WorkingTimes, boost::optional< aggregate_of< ::Ifc4x3::IfcWorkTime >::ptr > v8_ExceptionTimes, boost::optional< ::Ifc4x3::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, (*v7_WorkingTimes)->generalize()); } if (v8_ExceptionTimes) {set_attribute_value(7, (*v8_ExceptionTimes)->generalize()); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWorkControl -std::string Ifc4x3::IfcWorkControl::CreationDate() const { std::string v = data_.get_attribute_value(6); return v; } +std::string Ifc4x3::IfcWorkControl::CreationDate() const { std::string v = get_attribute_value(6); return v; } void Ifc4x3::IfcWorkControl::setCreationDate(std::string v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< aggregate_of< ::Ifc4x3::IfcPerson >::ptr > Ifc4x3::IfcWorkControl::Creators() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3::IfcPerson >(); } +boost::optional< aggregate_of< ::Ifc4x3::IfcPerson >::ptr > Ifc4x3::IfcWorkControl::Creators() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3::IfcPerson >(); } void Ifc4x3::IfcWorkControl::setCreators(boost::optional< aggregate_of< ::Ifc4x3::IfcPerson >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3::IfcWorkControl::Purpose() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3::IfcWorkControl::Purpose() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3::IfcWorkControl::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3::IfcWorkControl::Duration() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3::IfcWorkControl::Duration() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3::IfcWorkControl::setDuration(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x3::IfcWorkControl::TotalFloat() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3::IfcWorkControl::TotalFloat() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3::IfcWorkControl::setTotalFloat(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -std::string Ifc4x3::IfcWorkControl::StartTime() const { std::string v = data_.get_attribute_value(11); return v; } +std::string Ifc4x3::IfcWorkControl::StartTime() const { std::string v = get_attribute_value(11); return v; } void Ifc4x3::IfcWorkControl::setStartTime(std::string v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } -boost::optional< std::string > Ifc4x3::IfcWorkControl::FinishTime() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3::IfcWorkControl::FinishTime() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3::IfcWorkControl::setFinishTime(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3::IfcWorkControl::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1303]); } const IfcParse::entity& Ifc4x3::IfcWorkControl::Class() { return *((IfcParse::entity*)IFC4X3_types[1303]); } Ifc4x3::IfcWorkControl::IfcWorkControl(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3::IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x3::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(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); }; populate_derived(); } +Ifc4x3::IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x3::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(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); }; populate_derived(); } // Function implementations for IfcWorkPlan -boost::optional< ::Ifc4x3::IfcWorkPlanTypeEnum::Value > Ifc4x3::IfcWorkPlan::PredefinedType() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3::IfcWorkPlanTypeEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x3::IfcWorkPlanTypeEnum::Value > Ifc4x3::IfcWorkPlan::PredefinedType() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3::IfcWorkPlanTypeEnum::FromString(get_attribute_value(13)); } void Ifc4x3::IfcWorkPlan::setPredefinedType(boost::optional< ::Ifc4x3::IfcWorkPlanTypeEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x3::IfcWorkPlanTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } const IfcParse::entity& Ifc4x3::IfcWorkPlan::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1304]); } const IfcParse::entity& Ifc4x3::IfcWorkPlan::Class() { return *((IfcParse::entity*)IFC4X3_types[1304]); } Ifc4x3::IfcWorkPlan::IfcWorkPlan(IfcEntityInstanceData&& e) : IfcWorkControl(std::move(e)) { } -Ifc4x3::IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x3::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::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x3::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::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWorkSchedule -boost::optional< ::Ifc4x3::IfcWorkScheduleTypeEnum::Value > Ifc4x3::IfcWorkSchedule::PredefinedType() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3::IfcWorkScheduleTypeEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x3::IfcWorkScheduleTypeEnum::Value > Ifc4x3::IfcWorkSchedule::PredefinedType() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3::IfcWorkScheduleTypeEnum::FromString(get_attribute_value(13)); } void Ifc4x3::IfcWorkSchedule::setPredefinedType(boost::optional< ::Ifc4x3::IfcWorkScheduleTypeEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x3::IfcWorkScheduleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } const IfcParse::entity& Ifc4x3::IfcWorkSchedule::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1306]); } const IfcParse::entity& Ifc4x3::IfcWorkSchedule::Class() { return *((IfcParse::entity*)IFC4X3_types[1306]); } Ifc4x3::IfcWorkSchedule::IfcWorkSchedule(IfcEntityInstanceData&& e) : IfcWorkControl(std::move(e)) { } -Ifc4x3::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x3::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::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } +Ifc4x3::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x3::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::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWorkTime -::Ifc4x3::IfcRecurrencePattern* Ifc4x3::IfcWorkTime::RecurrencePattern() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3::IfcRecurrencePattern>(true); } +::Ifc4x3::IfcRecurrencePattern* Ifc4x3::IfcWorkTime::RecurrencePattern() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3::IfcRecurrencePattern>(true); } void Ifc4x3::IfcWorkTime::setRecurrencePattern(::Ifc4x3::IfcRecurrencePattern* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3::IfcWorkTime::StartDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3::IfcWorkTime::StartDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3::IfcWorkTime::setStartDate(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3::IfcWorkTime::FinishDate() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3::IfcWorkTime::FinishDate() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3::IfcWorkTime::setFinishDate(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3::IfcWorkTime::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1308]); } const IfcParse::entity& Ifc4x3::IfcWorkTime::Class() { return *((IfcParse::entity*)IFC4X3_types[1308]); } Ifc4x3::IfcWorkTime::IfcWorkTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x3::IfcWorkTime::IfcWorkTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3::IfcRecurrencePattern* v4_RecurrencePattern, boost::optional< std::string > v5_StartDate, boost::optional< std::string > v6_FinishDate) : IfcSchedulingTime(IfcEntityInstanceData(storage_t(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_RecurrencePattern ? v4_RecurrencePattern->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_StartDate) {set_attribute_value(4, (*v5_StartDate)); } if (v6_FinishDate) {set_attribute_value(5, (*v6_FinishDate)); }; populate_derived(); } +Ifc4x3::IfcWorkTime::IfcWorkTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3::IfcRecurrencePattern* v4_RecurrencePattern, boost::optional< std::string > v5_StartDate, boost::optional< std::string > v6_FinishDate) : IfcSchedulingTime(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_RecurrencePattern ? v4_RecurrencePattern->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_StartDate) {set_attribute_value(4, (*v5_StartDate)); } if (v6_FinishDate) {set_attribute_value(5, (*v6_FinishDate)); }; populate_derived(); } // Function implementations for IfcZShapeProfileDef -double Ifc4x3::IfcZShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3::IfcZShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3::IfcZShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3::IfcZShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3::IfcZShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc4x3::IfcZShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3::IfcZShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3::IfcZShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3::IfcZShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3::IfcZShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3::IfcZShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3::IfcZShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3::IfcZShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3::IfcZShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3::IfcZShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3::IfcZShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3::IfcZShapeProfileDef::EdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3::IfcZShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3::IfcZShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1310]); } const IfcParse::entity& Ifc4x3::IfcZShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_types[1310]); } Ifc4x3::IfcZShapeProfileDef::IfcZShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3::IfcZShapeProfileDef::IfcZShapeProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_EdgeRadius) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; populate_derived(); } +Ifc4x3::IfcZShapeProfileDef::IfcZShapeProfileDef(::Ifc4x3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_FlangeWidth, double v6_WebThickness, double v7_FlangeThickness, boost::optional< double > v8_FilletRadius, boost::optional< double > v9_EdgeRadius) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; populate_derived(); } // Function implementations for IfcZone -boost::optional< std::string > Ifc4x3::IfcZone::LongName() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3::IfcZone::LongName() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3::IfcZone::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3::IfcZone::declaration() const { return *((IfcParse::entity*)IFC4X3_types[1309]); } const IfcParse::entity& Ifc4x3::IfcZone::Class() { return *((IfcParse::entity*)IFC4X3_types[1309]); } Ifc4x3::IfcZone::IfcZone(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3::IfcZone::IfcZone(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName) : IfcSystem(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); }; populate_derived(); } +Ifc4x3::IfcZone::IfcZone(std::string v1_GlobalId, ::Ifc4x3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); }; populate_derived(); } diff --git a/src/ifcparse/Ifc4x3_add1.cpp b/src/ifcparse/Ifc4x3_add1.cpp index 9b2ac5103a..d8e62f1150 100644 --- a/src/ifcparse/Ifc4x3_add1.cpp +++ b/src/ifcparse/Ifc4x3_add1.cpp @@ -63,7 +63,7 @@ Ifc4x3_add1::IfcActionRequestTypeEnum::Value Ifc4x3_add1::IfcActionRequestTypeEn } Ifc4x3_add1::IfcActionRequestTypeEnum::operator Ifc4x3_add1::IfcActionRequestTypeEnum::Value() const { - return (Ifc4x3_add1::IfcActionRequestTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcActionRequestTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcActionSourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[4]); } @@ -90,7 +90,7 @@ Ifc4x3_add1::IfcActionSourceTypeEnum::Value Ifc4x3_add1::IfcActionSourceTypeEnum } Ifc4x3_add1::IfcActionSourceTypeEnum::operator Ifc4x3_add1::IfcActionSourceTypeEnum::Value() const { - return (Ifc4x3_add1::IfcActionSourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcActionSourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcActionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[5]); } @@ -117,7 +117,7 @@ Ifc4x3_add1::IfcActionTypeEnum::Value Ifc4x3_add1::IfcActionTypeEnum::FromString } Ifc4x3_add1::IfcActionTypeEnum::operator Ifc4x3_add1::IfcActionTypeEnum::Value() const { - return (Ifc4x3_add1::IfcActionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcActionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcActuatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[11]); } @@ -144,7 +144,7 @@ Ifc4x3_add1::IfcActuatorTypeEnum::Value Ifc4x3_add1::IfcActuatorTypeEnum::FromSt } Ifc4x3_add1::IfcActuatorTypeEnum::operator Ifc4x3_add1::IfcActuatorTypeEnum::Value() const { - return (Ifc4x3_add1::IfcActuatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcActuatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcAddressTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[13]); } @@ -171,7 +171,7 @@ Ifc4x3_add1::IfcAddressTypeEnum::Value Ifc4x3_add1::IfcAddressTypeEnum::FromStri } Ifc4x3_add1::IfcAddressTypeEnum::operator Ifc4x3_add1::IfcAddressTypeEnum::Value() const { - return (Ifc4x3_add1::IfcAddressTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcAddressTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[20]); } @@ -198,7 +198,7 @@ Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Value Ifc4x3_add1::IfcAirTerminalBoxType } Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::operator Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Value() const { - return (Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcAirTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[22]); } @@ -225,7 +225,7 @@ Ifc4x3_add1::IfcAirTerminalTypeEnum::Value Ifc4x3_add1::IfcAirTerminalTypeEnum:: } Ifc4x3_add1::IfcAirTerminalTypeEnum::operator Ifc4x3_add1::IfcAirTerminalTypeEnum::Value() const { - return (Ifc4x3_add1::IfcAirTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcAirTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[25]); } @@ -252,7 +252,7 @@ Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3_add1::IfcAirToAirHeat } Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::operator Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Value() const { - return (Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcAlarmTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[28]); } @@ -279,7 +279,7 @@ Ifc4x3_add1::IfcAlarmTypeEnum::Value Ifc4x3_add1::IfcAlarmTypeEnum::FromString(c } Ifc4x3_add1::IfcAlarmTypeEnum::operator Ifc4x3_add1::IfcAlarmTypeEnum::Value() const { - return (Ifc4x3_add1::IfcAlarmTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcAlarmTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcAlignmentCantSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[32]); } @@ -306,7 +306,7 @@ Ifc4x3_add1::IfcAlignmentCantSegmentTypeEnum::Value Ifc4x3_add1::IfcAlignmentCan } Ifc4x3_add1::IfcAlignmentCantSegmentTypeEnum::operator Ifc4x3_add1::IfcAlignmentCantSegmentTypeEnum::Value() const { - return (Ifc4x3_add1::IfcAlignmentCantSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcAlignmentCantSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcAlignmentHorizontalSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[35]); } @@ -333,7 +333,7 @@ Ifc4x3_add1::IfcAlignmentHorizontalSegmentTypeEnum::Value Ifc4x3_add1::IfcAlignm } Ifc4x3_add1::IfcAlignmentHorizontalSegmentTypeEnum::operator Ifc4x3_add1::IfcAlignmentHorizontalSegmentTypeEnum::Value() const { - return (Ifc4x3_add1::IfcAlignmentHorizontalSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcAlignmentHorizontalSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcAlignmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[38]); } @@ -360,7 +360,7 @@ Ifc4x3_add1::IfcAlignmentTypeEnum::Value Ifc4x3_add1::IfcAlignmentTypeEnum::From } Ifc4x3_add1::IfcAlignmentTypeEnum::operator Ifc4x3_add1::IfcAlignmentTypeEnum::Value() const { - return (Ifc4x3_add1::IfcAlignmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcAlignmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcAlignmentVerticalSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[41]); } @@ -387,7 +387,7 @@ Ifc4x3_add1::IfcAlignmentVerticalSegmentTypeEnum::Value Ifc4x3_add1::IfcAlignmen } Ifc4x3_add1::IfcAlignmentVerticalSegmentTypeEnum::operator Ifc4x3_add1::IfcAlignmentVerticalSegmentTypeEnum::Value() const { - return (Ifc4x3_add1::IfcAlignmentVerticalSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcAlignmentVerticalSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcAnalysisModelTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[43]); } @@ -414,7 +414,7 @@ Ifc4x3_add1::IfcAnalysisModelTypeEnum::Value Ifc4x3_add1::IfcAnalysisModelTypeEn } Ifc4x3_add1::IfcAnalysisModelTypeEnum::operator Ifc4x3_add1::IfcAnalysisModelTypeEnum::Value() const { - return (Ifc4x3_add1::IfcAnalysisModelTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcAnalysisModelTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcAnalysisTheoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[44]); } @@ -441,7 +441,7 @@ Ifc4x3_add1::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_add1::IfcAnalysisTheoryType } Ifc4x3_add1::IfcAnalysisTheoryTypeEnum::operator Ifc4x3_add1::IfcAnalysisTheoryTypeEnum::Value() const { - return (Ifc4x3_add1::IfcAnalysisTheoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcAnalysisTheoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcAnnotationTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[48]); } @@ -468,7 +468,7 @@ Ifc4x3_add1::IfcAnnotationTypeEnum::Value Ifc4x3_add1::IfcAnnotationTypeEnum::Fr } Ifc4x3_add1::IfcAnnotationTypeEnum::operator Ifc4x3_add1::IfcAnnotationTypeEnum::Value() const { - return (Ifc4x3_add1::IfcAnnotationTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcAnnotationTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcArithmeticOperatorEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[60]); } @@ -495,7 +495,7 @@ Ifc4x3_add1::IfcArithmeticOperatorEnum::Value Ifc4x3_add1::IfcArithmeticOperator } Ifc4x3_add1::IfcArithmeticOperatorEnum::operator Ifc4x3_add1::IfcArithmeticOperatorEnum::Value() const { - return (Ifc4x3_add1::IfcArithmeticOperatorEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcArithmeticOperatorEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcAssemblyPlaceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[61]); } @@ -522,7 +522,7 @@ Ifc4x3_add1::IfcAssemblyPlaceEnum::Value Ifc4x3_add1::IfcAssemblyPlaceEnum::From } Ifc4x3_add1::IfcAssemblyPlaceEnum::operator Ifc4x3_add1::IfcAssemblyPlaceEnum::Value() const { - return (Ifc4x3_add1::IfcAssemblyPlaceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcAssemblyPlaceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[66]); } @@ -549,7 +549,7 @@ Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3_add1::IfcAudioVisualA } Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::operator Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Value() const { - return (Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcBSplineCurveForm::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[108]); } @@ -576,7 +576,7 @@ Ifc4x3_add1::IfcBSplineCurveForm::Value Ifc4x3_add1::IfcBSplineCurveForm::FromSt } Ifc4x3_add1::IfcBSplineCurveForm::operator Ifc4x3_add1::IfcBSplineCurveForm::Value() const { - return (Ifc4x3_add1::IfcBSplineCurveForm::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcBSplineCurveForm::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcBSplineSurfaceForm::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[111]); } @@ -603,7 +603,7 @@ Ifc4x3_add1::IfcBSplineSurfaceForm::Value Ifc4x3_add1::IfcBSplineSurfaceForm::Fr } Ifc4x3_add1::IfcBSplineSurfaceForm::operator Ifc4x3_add1::IfcBSplineSurfaceForm::Value() const { - return (Ifc4x3_add1::IfcBSplineSurfaceForm::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcBSplineSurfaceForm::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcBeamTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[74]); } @@ -630,7 +630,7 @@ Ifc4x3_add1::IfcBeamTypeEnum::Value Ifc4x3_add1::IfcBeamTypeEnum::FromString(con } Ifc4x3_add1::IfcBeamTypeEnum::operator Ifc4x3_add1::IfcBeamTypeEnum::Value() const { - return (Ifc4x3_add1::IfcBeamTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcBeamTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcBearingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[77]); } @@ -657,7 +657,7 @@ Ifc4x3_add1::IfcBearingTypeEnum::Value Ifc4x3_add1::IfcBearingTypeEnum::FromStri } Ifc4x3_add1::IfcBearingTypeEnum::operator Ifc4x3_add1::IfcBearingTypeEnum::Value() const { - return (Ifc4x3_add1::IfcBearingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcBearingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcBenchmarkEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[78]); } @@ -684,7 +684,7 @@ Ifc4x3_add1::IfcBenchmarkEnum::Value Ifc4x3_add1::IfcBenchmarkEnum::FromString(c } Ifc4x3_add1::IfcBenchmarkEnum::operator Ifc4x3_add1::IfcBenchmarkEnum::Value() const { - return (Ifc4x3_add1::IfcBenchmarkEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcBenchmarkEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcBoilerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[85]); } @@ -711,7 +711,7 @@ Ifc4x3_add1::IfcBoilerTypeEnum::Value Ifc4x3_add1::IfcBoilerTypeEnum::FromString } Ifc4x3_add1::IfcBoilerTypeEnum::operator Ifc4x3_add1::IfcBoilerTypeEnum::Value() const { - return (Ifc4x3_add1::IfcBoilerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcBoilerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcBooleanOperator::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[89]); } @@ -738,7 +738,7 @@ Ifc4x3_add1::IfcBooleanOperator::Value Ifc4x3_add1::IfcBooleanOperator::FromStri } Ifc4x3_add1::IfcBooleanOperator::operator Ifc4x3_add1::IfcBooleanOperator::Value() const { - return (Ifc4x3_add1::IfcBooleanOperator::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcBooleanOperator::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcBridgePartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[105]); } @@ -765,7 +765,7 @@ Ifc4x3_add1::IfcBridgePartTypeEnum::Value Ifc4x3_add1::IfcBridgePartTypeEnum::Fr } Ifc4x3_add1::IfcBridgePartTypeEnum::operator Ifc4x3_add1::IfcBridgePartTypeEnum::Value() const { - return (Ifc4x3_add1::IfcBridgePartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcBridgePartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcBridgeTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[106]); } @@ -792,7 +792,7 @@ Ifc4x3_add1::IfcBridgeTypeEnum::Value Ifc4x3_add1::IfcBridgeTypeEnum::FromString } Ifc4x3_add1::IfcBridgeTypeEnum::operator Ifc4x3_add1::IfcBridgeTypeEnum::Value() const { - return (Ifc4x3_add1::IfcBridgeTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcBridgeTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcBuildingElementPartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[116]); } @@ -819,7 +819,7 @@ Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Value Ifc4x3_add1::IfcBuildingEleme } Ifc4x3_add1::IfcBuildingElementPartTypeEnum::operator Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Value() const { - return (Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[119]); } @@ -846,7 +846,7 @@ Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Value Ifc4x3_add1::IfcBuildingElem } Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::operator Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Value() const { - return (Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcBuildingSystemTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[122]); } @@ -873,7 +873,7 @@ Ifc4x3_add1::IfcBuildingSystemTypeEnum::Value Ifc4x3_add1::IfcBuildingSystemType } Ifc4x3_add1::IfcBuildingSystemTypeEnum::operator Ifc4x3_add1::IfcBuildingSystemTypeEnum::Value() const { - return (Ifc4x3_add1::IfcBuildingSystemTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcBuildingSystemTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcBuiltSystemTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[126]); } @@ -900,7 +900,7 @@ Ifc4x3_add1::IfcBuiltSystemTypeEnum::Value Ifc4x3_add1::IfcBuiltSystemTypeEnum:: } Ifc4x3_add1::IfcBuiltSystemTypeEnum::operator Ifc4x3_add1::IfcBuiltSystemTypeEnum::Value() const { - return (Ifc4x3_add1::IfcBuiltSystemTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcBuiltSystemTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcBurnerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[129]); } @@ -927,7 +927,7 @@ Ifc4x3_add1::IfcBurnerTypeEnum::Value Ifc4x3_add1::IfcBurnerTypeEnum::FromString } Ifc4x3_add1::IfcBurnerTypeEnum::operator Ifc4x3_add1::IfcBurnerTypeEnum::Value() const { - return (Ifc4x3_add1::IfcBurnerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcBurnerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[132]); } @@ -954,7 +954,7 @@ Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Value Ifc4x3_add1::IfcCableCarrierF } Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::operator Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Value() const { - return (Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[135]); } @@ -981,7 +981,7 @@ Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3_add1::IfcCableCarrierS } Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::operator Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Value() const { - return (Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcCableFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[138]); } @@ -1008,7 +1008,7 @@ Ifc4x3_add1::IfcCableFittingTypeEnum::Value Ifc4x3_add1::IfcCableFittingTypeEnum } Ifc4x3_add1::IfcCableFittingTypeEnum::operator Ifc4x3_add1::IfcCableFittingTypeEnum::Value() const { - return (Ifc4x3_add1::IfcCableFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcCableFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcCableSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[141]); } @@ -1035,7 +1035,7 @@ Ifc4x3_add1::IfcCableSegmentTypeEnum::Value Ifc4x3_add1::IfcCableSegmentTypeEnum } Ifc4x3_add1::IfcCableSegmentTypeEnum::operator Ifc4x3_add1::IfcCableSegmentTypeEnum::Value() const { - return (Ifc4x3_add1::IfcCableSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcCableSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcCaissonFoundationTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[144]); } @@ -1062,7 +1062,7 @@ Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Value Ifc4x3_add1::IfcCaissonFoundati } Ifc4x3_add1::IfcCaissonFoundationTypeEnum::operator Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Value() const { - return (Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcChangeActionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[156]); } @@ -1089,7 +1089,7 @@ Ifc4x3_add1::IfcChangeActionEnum::Value Ifc4x3_add1::IfcChangeActionEnum::FromSt } Ifc4x3_add1::IfcChangeActionEnum::operator Ifc4x3_add1::IfcChangeActionEnum::Value() const { - return (Ifc4x3_add1::IfcChangeActionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcChangeActionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcChillerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[159]); } @@ -1116,7 +1116,7 @@ Ifc4x3_add1::IfcChillerTypeEnum::Value Ifc4x3_add1::IfcChillerTypeEnum::FromStri } Ifc4x3_add1::IfcChillerTypeEnum::operator Ifc4x3_add1::IfcChillerTypeEnum::Value() const { - return (Ifc4x3_add1::IfcChillerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcChillerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcChimneyTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[162]); } @@ -1143,7 +1143,7 @@ Ifc4x3_add1::IfcChimneyTypeEnum::Value Ifc4x3_add1::IfcChimneyTypeEnum::FromStri } Ifc4x3_add1::IfcChimneyTypeEnum::operator Ifc4x3_add1::IfcChimneyTypeEnum::Value() const { - return (Ifc4x3_add1::IfcChimneyTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcChimneyTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcCoilTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[176]); } @@ -1170,7 +1170,7 @@ Ifc4x3_add1::IfcCoilTypeEnum::Value Ifc4x3_add1::IfcCoilTypeEnum::FromString(con } Ifc4x3_add1::IfcCoilTypeEnum::operator Ifc4x3_add1::IfcCoilTypeEnum::Value() const { - return (Ifc4x3_add1::IfcCoilTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcCoilTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcColumnTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[184]); } @@ -1197,7 +1197,7 @@ Ifc4x3_add1::IfcColumnTypeEnum::Value Ifc4x3_add1::IfcColumnTypeEnum::FromString } Ifc4x3_add1::IfcColumnTypeEnum::operator Ifc4x3_add1::IfcColumnTypeEnum::Value() const { - return (Ifc4x3_add1::IfcColumnTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcColumnTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[187]); } @@ -1224,7 +1224,7 @@ Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3_add1::IfcCommunica } Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::operator Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Value() const { - return (Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcComplexPropertyTemplateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[191]); } @@ -1251,7 +1251,7 @@ Ifc4x3_add1::IfcComplexPropertyTemplateTypeEnum::Value Ifc4x3_add1::IfcComplexPr } Ifc4x3_add1::IfcComplexPropertyTemplateTypeEnum::operator Ifc4x3_add1::IfcComplexPropertyTemplateTypeEnum::Value() const { - return (Ifc4x3_add1::IfcComplexPropertyTemplateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcComplexPropertyTemplateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcCompressorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[199]); } @@ -1278,7 +1278,7 @@ Ifc4x3_add1::IfcCompressorTypeEnum::Value Ifc4x3_add1::IfcCompressorTypeEnum::Fr } Ifc4x3_add1::IfcCompressorTypeEnum::operator Ifc4x3_add1::IfcCompressorTypeEnum::Value() const { - return (Ifc4x3_add1::IfcCompressorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcCompressorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcCondenserTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[202]); } @@ -1305,7 +1305,7 @@ Ifc4x3_add1::IfcCondenserTypeEnum::Value Ifc4x3_add1::IfcCondenserTypeEnum::From } Ifc4x3_add1::IfcCondenserTypeEnum::operator Ifc4x3_add1::IfcCondenserTypeEnum::Value() const { - return (Ifc4x3_add1::IfcCondenserTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcCondenserTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcConnectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[210]); } @@ -1332,7 +1332,7 @@ Ifc4x3_add1::IfcConnectionTypeEnum::Value Ifc4x3_add1::IfcConnectionTypeEnum::Fr } Ifc4x3_add1::IfcConnectionTypeEnum::operator Ifc4x3_add1::IfcConnectionTypeEnum::Value() const { - return (Ifc4x3_add1::IfcConnectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcConnectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcConstraintEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[213]); } @@ -1359,7 +1359,7 @@ Ifc4x3_add1::IfcConstraintEnum::Value Ifc4x3_add1::IfcConstraintEnum::FromString } Ifc4x3_add1::IfcConstraintEnum::operator Ifc4x3_add1::IfcConstraintEnum::Value() const { - return (Ifc4x3_add1::IfcConstraintEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcConstraintEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[216]); } @@ -1386,7 +1386,7 @@ Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3_add1::IfcCon } Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::operator Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Value() const { - return (Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[219]); } @@ -1413,7 +1413,7 @@ Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3_add1::IfcCons } Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::operator Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Value() const { - return (Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[222]); } @@ -1440,7 +1440,7 @@ Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Value Ifc4x3_add1::IfcConst } Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::operator Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Value() const { - return (Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcControllerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[231]); } @@ -1467,7 +1467,7 @@ Ifc4x3_add1::IfcControllerTypeEnum::Value Ifc4x3_add1::IfcControllerTypeEnum::Fr } Ifc4x3_add1::IfcControllerTypeEnum::operator Ifc4x3_add1::IfcControllerTypeEnum::Value() const { - return (Ifc4x3_add1::IfcControllerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcControllerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcConveyorSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[236]); } @@ -1494,7 +1494,7 @@ Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Value Ifc4x3_add1::IfcConveyorSegmentTy } Ifc4x3_add1::IfcConveyorSegmentTypeEnum::operator Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Value() const { - return (Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcCooledBeamTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[239]); } @@ -1521,7 +1521,7 @@ Ifc4x3_add1::IfcCooledBeamTypeEnum::Value Ifc4x3_add1::IfcCooledBeamTypeEnum::Fr } Ifc4x3_add1::IfcCooledBeamTypeEnum::operator Ifc4x3_add1::IfcCooledBeamTypeEnum::Value() const { - return (Ifc4x3_add1::IfcCooledBeamTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcCooledBeamTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcCoolingTowerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[242]); } @@ -1548,7 +1548,7 @@ Ifc4x3_add1::IfcCoolingTowerTypeEnum::Value Ifc4x3_add1::IfcCoolingTowerTypeEnum } Ifc4x3_add1::IfcCoolingTowerTypeEnum::operator Ifc4x3_add1::IfcCoolingTowerTypeEnum::Value() const { - return (Ifc4x3_add1::IfcCoolingTowerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcCoolingTowerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcCostItemTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[248]); } @@ -1575,7 +1575,7 @@ Ifc4x3_add1::IfcCostItemTypeEnum::Value Ifc4x3_add1::IfcCostItemTypeEnum::FromSt } Ifc4x3_add1::IfcCostItemTypeEnum::operator Ifc4x3_add1::IfcCostItemTypeEnum::Value() const { - return (Ifc4x3_add1::IfcCostItemTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcCostItemTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcCostScheduleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[250]); } @@ -1602,7 +1602,7 @@ Ifc4x3_add1::IfcCostScheduleTypeEnum::Value Ifc4x3_add1::IfcCostScheduleTypeEnum } Ifc4x3_add1::IfcCostScheduleTypeEnum::operator Ifc4x3_add1::IfcCostScheduleTypeEnum::Value() const { - return (Ifc4x3_add1::IfcCostScheduleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcCostScheduleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcCourseTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[255]); } @@ -1629,7 +1629,7 @@ Ifc4x3_add1::IfcCourseTypeEnum::Value Ifc4x3_add1::IfcCourseTypeEnum::FromString } Ifc4x3_add1::IfcCourseTypeEnum::operator Ifc4x3_add1::IfcCourseTypeEnum::Value() const { - return (Ifc4x3_add1::IfcCourseTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcCourseTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcCoveringTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[258]); } @@ -1656,7 +1656,7 @@ Ifc4x3_add1::IfcCoveringTypeEnum::Value Ifc4x3_add1::IfcCoveringTypeEnum::FromSt } Ifc4x3_add1::IfcCoveringTypeEnum::operator Ifc4x3_add1::IfcCoveringTypeEnum::Value() const { - return (Ifc4x3_add1::IfcCoveringTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcCoveringTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcCrewResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[261]); } @@ -1683,7 +1683,7 @@ Ifc4x3_add1::IfcCrewResourceTypeEnum::Value Ifc4x3_add1::IfcCrewResourceTypeEnum } Ifc4x3_add1::IfcCrewResourceTypeEnum::operator Ifc4x3_add1::IfcCrewResourceTypeEnum::Value() const { - return (Ifc4x3_add1::IfcCrewResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcCrewResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcCurtainWallTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[269]); } @@ -1710,7 +1710,7 @@ Ifc4x3_add1::IfcCurtainWallTypeEnum::Value Ifc4x3_add1::IfcCurtainWallTypeEnum:: } Ifc4x3_add1::IfcCurtainWallTypeEnum::operator Ifc4x3_add1::IfcCurtainWallTypeEnum::Value() const { - return (Ifc4x3_add1::IfcCurtainWallTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcCurtainWallTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcCurveInterpolationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[275]); } @@ -1737,7 +1737,7 @@ Ifc4x3_add1::IfcCurveInterpolationEnum::Value Ifc4x3_add1::IfcCurveInterpolation } Ifc4x3_add1::IfcCurveInterpolationEnum::operator Ifc4x3_add1::IfcCurveInterpolationEnum::Value() const { - return (Ifc4x3_add1::IfcCurveInterpolationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcCurveInterpolationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcDamperTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[288]); } @@ -1764,7 +1764,7 @@ Ifc4x3_add1::IfcDamperTypeEnum::Value Ifc4x3_add1::IfcDamperTypeEnum::FromString } Ifc4x3_add1::IfcDamperTypeEnum::operator Ifc4x3_add1::IfcDamperTypeEnum::Value() const { - return (Ifc4x3_add1::IfcDamperTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcDamperTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcDataOriginEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[289]); } @@ -1791,7 +1791,7 @@ Ifc4x3_add1::IfcDataOriginEnum::Value Ifc4x3_add1::IfcDataOriginEnum::FromString } Ifc4x3_add1::IfcDataOriginEnum::operator Ifc4x3_add1::IfcDataOriginEnum::Value() const { - return (Ifc4x3_add1::IfcDataOriginEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcDataOriginEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcDerivedUnitEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[301]); } @@ -1818,7 +1818,7 @@ Ifc4x3_add1::IfcDerivedUnitEnum::Value Ifc4x3_add1::IfcDerivedUnitEnum::FromStri } Ifc4x3_add1::IfcDerivedUnitEnum::operator Ifc4x3_add1::IfcDerivedUnitEnum::Value() const { - return (Ifc4x3_add1::IfcDerivedUnitEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcDerivedUnitEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcDirectionSenseEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[306]); } @@ -1845,7 +1845,7 @@ Ifc4x3_add1::IfcDirectionSenseEnum::Value Ifc4x3_add1::IfcDirectionSenseEnum::Fr } Ifc4x3_add1::IfcDirectionSenseEnum::operator Ifc4x3_add1::IfcDirectionSenseEnum::Value() const { - return (Ifc4x3_add1::IfcDirectionSenseEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcDirectionSenseEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[311]); } @@ -1872,7 +1872,7 @@ Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3_add1::IfcDiscreteAccesso } Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::operator Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Value() const { - return (Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcDistributionBoardTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[314]); } @@ -1899,7 +1899,7 @@ Ifc4x3_add1::IfcDistributionBoardTypeEnum::Value Ifc4x3_add1::IfcDistributionBoa } Ifc4x3_add1::IfcDistributionBoardTypeEnum::operator Ifc4x3_add1::IfcDistributionBoardTypeEnum::Value() const { - return (Ifc4x3_add1::IfcDistributionBoardTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcDistributionBoardTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[317]); } @@ -1926,7 +1926,7 @@ Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Value Ifc4x3_add1::IfcDistri } Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::operator Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Value() const { - return (Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcDistributionPortTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[326]); } @@ -1953,7 +1953,7 @@ Ifc4x3_add1::IfcDistributionPortTypeEnum::Value Ifc4x3_add1::IfcDistributionPort } Ifc4x3_add1::IfcDistributionPortTypeEnum::operator Ifc4x3_add1::IfcDistributionPortTypeEnum::Value() const { - return (Ifc4x3_add1::IfcDistributionPortTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcDistributionPortTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcDistributionSystemEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[328]); } @@ -1980,7 +1980,7 @@ Ifc4x3_add1::IfcDistributionSystemEnum::Value Ifc4x3_add1::IfcDistributionSystem } Ifc4x3_add1::IfcDistributionSystemEnum::operator Ifc4x3_add1::IfcDistributionSystemEnum::Value() const { - return (Ifc4x3_add1::IfcDistributionSystemEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcDistributionSystemEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcDocumentConfidentialityEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[329]); } @@ -2007,7 +2007,7 @@ Ifc4x3_add1::IfcDocumentConfidentialityEnum::Value Ifc4x3_add1::IfcDocumentConfi } Ifc4x3_add1::IfcDocumentConfidentialityEnum::operator Ifc4x3_add1::IfcDocumentConfidentialityEnum::Value() const { - return (Ifc4x3_add1::IfcDocumentConfidentialityEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcDocumentConfidentialityEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcDocumentStatusEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[334]); } @@ -2034,7 +2034,7 @@ Ifc4x3_add1::IfcDocumentStatusEnum::Value Ifc4x3_add1::IfcDocumentStatusEnum::Fr } Ifc4x3_add1::IfcDocumentStatusEnum::operator Ifc4x3_add1::IfcDocumentStatusEnum::Value() const { - return (Ifc4x3_add1::IfcDocumentStatusEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcDocumentStatusEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcDoorPanelOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[337]); } @@ -2061,7 +2061,7 @@ Ifc4x3_add1::IfcDoorPanelOperationEnum::Value Ifc4x3_add1::IfcDoorPanelOperation } Ifc4x3_add1::IfcDoorPanelOperationEnum::operator Ifc4x3_add1::IfcDoorPanelOperationEnum::Value() const { - return (Ifc4x3_add1::IfcDoorPanelOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcDoorPanelOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcDoorPanelPositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[338]); } @@ -2088,7 +2088,7 @@ Ifc4x3_add1::IfcDoorPanelPositionEnum::Value Ifc4x3_add1::IfcDoorPanelPositionEn } Ifc4x3_add1::IfcDoorPanelPositionEnum::operator Ifc4x3_add1::IfcDoorPanelPositionEnum::Value() const { - return (Ifc4x3_add1::IfcDoorPanelPositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcDoorPanelPositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcDoorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[341]); } @@ -2115,7 +2115,7 @@ Ifc4x3_add1::IfcDoorTypeEnum::Value Ifc4x3_add1::IfcDoorTypeEnum::FromString(con } Ifc4x3_add1::IfcDoorTypeEnum::operator Ifc4x3_add1::IfcDoorTypeEnum::Value() const { - return (Ifc4x3_add1::IfcDoorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcDoorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcDoorTypeOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[342]); } @@ -2142,7 +2142,7 @@ Ifc4x3_add1::IfcDoorTypeOperationEnum::Value Ifc4x3_add1::IfcDoorTypeOperationEn } Ifc4x3_add1::IfcDoorTypeOperationEnum::operator Ifc4x3_add1::IfcDoorTypeOperationEnum::Value() const { - return (Ifc4x3_add1::IfcDoorTypeOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcDoorTypeOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcDuctFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[348]); } @@ -2169,7 +2169,7 @@ Ifc4x3_add1::IfcDuctFittingTypeEnum::Value Ifc4x3_add1::IfcDuctFittingTypeEnum:: } Ifc4x3_add1::IfcDuctFittingTypeEnum::operator Ifc4x3_add1::IfcDuctFittingTypeEnum::Value() const { - return (Ifc4x3_add1::IfcDuctFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcDuctFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcDuctSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[351]); } @@ -2196,7 +2196,7 @@ Ifc4x3_add1::IfcDuctSegmentTypeEnum::Value Ifc4x3_add1::IfcDuctSegmentTypeEnum:: } Ifc4x3_add1::IfcDuctSegmentTypeEnum::operator Ifc4x3_add1::IfcDuctSegmentTypeEnum::Value() const { - return (Ifc4x3_add1::IfcDuctSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcDuctSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcDuctSilencerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[354]); } @@ -2223,7 +2223,7 @@ Ifc4x3_add1::IfcDuctSilencerTypeEnum::Value Ifc4x3_add1::IfcDuctSilencerTypeEnum } Ifc4x3_add1::IfcDuctSilencerTypeEnum::operator Ifc4x3_add1::IfcDuctSilencerTypeEnum::Value() const { - return (Ifc4x3_add1::IfcDuctSilencerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcDuctSilencerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcEarthworksCutTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[358]); } @@ -2250,7 +2250,7 @@ Ifc4x3_add1::IfcEarthworksCutTypeEnum::Value Ifc4x3_add1::IfcEarthworksCutTypeEn } Ifc4x3_add1::IfcEarthworksCutTypeEnum::operator Ifc4x3_add1::IfcEarthworksCutTypeEnum::Value() const { - return (Ifc4x3_add1::IfcEarthworksCutTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcEarthworksCutTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcEarthworksFillTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[361]); } @@ -2277,7 +2277,7 @@ Ifc4x3_add1::IfcEarthworksFillTypeEnum::Value Ifc4x3_add1::IfcEarthworksFillType } Ifc4x3_add1::IfcEarthworksFillTypeEnum::operator Ifc4x3_add1::IfcEarthworksFillTypeEnum::Value() const { - return (Ifc4x3_add1::IfcEarthworksFillTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcEarthworksFillTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcElectricApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[367]); } @@ -2304,7 +2304,7 @@ Ifc4x3_add1::IfcElectricApplianceTypeEnum::Value Ifc4x3_add1::IfcElectricApplian } Ifc4x3_add1::IfcElectricApplianceTypeEnum::operator Ifc4x3_add1::IfcElectricApplianceTypeEnum::Value() const { - return (Ifc4x3_add1::IfcElectricApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcElectricApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[374]); } @@ -2331,7 +2331,7 @@ Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3_add1::IfcElectri } Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::operator Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Value() const { - return (Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[377]); } @@ -2358,7 +2358,7 @@ Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3_add1::IfcElectri } Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::operator Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Value() const { - return (Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[380]); } @@ -2385,7 +2385,7 @@ Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3_add1::IfcElect } Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::operator Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Value() const { - return (Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcElectricGeneratorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[383]); } @@ -2412,7 +2412,7 @@ Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Value Ifc4x3_add1::IfcElectricGenerat } Ifc4x3_add1::IfcElectricGeneratorTypeEnum::operator Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Value() const { - return (Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcElectricMotorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[386]); } @@ -2439,7 +2439,7 @@ Ifc4x3_add1::IfcElectricMotorTypeEnum::Value Ifc4x3_add1::IfcElectricMotorTypeEn } Ifc4x3_add1::IfcElectricMotorTypeEnum::operator Ifc4x3_add1::IfcElectricMotorTypeEnum::Value() const { - return (Ifc4x3_add1::IfcElectricMotorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcElectricMotorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcElectricTimeControlTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[390]); } @@ -2466,7 +2466,7 @@ Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Value Ifc4x3_add1::IfcElectricTimeC } Ifc4x3_add1::IfcElectricTimeControlTypeEnum::operator Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Value() const { - return (Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcElementAssemblyTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[396]); } @@ -2493,7 +2493,7 @@ Ifc4x3_add1::IfcElementAssemblyTypeEnum::Value Ifc4x3_add1::IfcElementAssemblyTy } Ifc4x3_add1::IfcElementAssemblyTypeEnum::operator Ifc4x3_add1::IfcElementAssemblyTypeEnum::Value() const { - return (Ifc4x3_add1::IfcElementAssemblyTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcElementAssemblyTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcElementCompositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[399]); } @@ -2520,7 +2520,7 @@ Ifc4x3_add1::IfcElementCompositionEnum::Value Ifc4x3_add1::IfcElementComposition } Ifc4x3_add1::IfcElementCompositionEnum::operator Ifc4x3_add1::IfcElementCompositionEnum::Value() const { - return (Ifc4x3_add1::IfcElementCompositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcElementCompositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcEngineTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[409]); } @@ -2547,7 +2547,7 @@ Ifc4x3_add1::IfcEngineTypeEnum::Value Ifc4x3_add1::IfcEngineTypeEnum::FromString } Ifc4x3_add1::IfcEngineTypeEnum::operator Ifc4x3_add1::IfcEngineTypeEnum::Value() const { - return (Ifc4x3_add1::IfcEngineTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcEngineTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[412]); } @@ -2574,7 +2574,7 @@ Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3_add1::IfcEvaporativeCool } Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::operator Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Value() const { - return (Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcEvaporatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[415]); } @@ -2601,7 +2601,7 @@ Ifc4x3_add1::IfcEvaporatorTypeEnum::Value Ifc4x3_add1::IfcEvaporatorTypeEnum::Fr } Ifc4x3_add1::IfcEvaporatorTypeEnum::operator Ifc4x3_add1::IfcEvaporatorTypeEnum::Value() const { - return (Ifc4x3_add1::IfcEvaporatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcEvaporatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcEventTriggerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[418]); } @@ -2628,7 +2628,7 @@ Ifc4x3_add1::IfcEventTriggerTypeEnum::Value Ifc4x3_add1::IfcEventTriggerTypeEnum } Ifc4x3_add1::IfcEventTriggerTypeEnum::operator Ifc4x3_add1::IfcEventTriggerTypeEnum::Value() const { - return (Ifc4x3_add1::IfcEventTriggerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcEventTriggerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcEventTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[420]); } @@ -2655,7 +2655,7 @@ Ifc4x3_add1::IfcEventTypeEnum::Value Ifc4x3_add1::IfcEventTypeEnum::FromString(c } Ifc4x3_add1::IfcEventTypeEnum::operator Ifc4x3_add1::IfcEventTypeEnum::Value() const { - return (Ifc4x3_add1::IfcEventTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcEventTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcExternalSpatialElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[429]); } @@ -2682,7 +2682,7 @@ Ifc4x3_add1::IfcExternalSpatialElementTypeEnum::Value Ifc4x3_add1::IfcExternalSp } Ifc4x3_add1::IfcExternalSpatialElementTypeEnum::operator Ifc4x3_add1::IfcExternalSpatialElementTypeEnum::Value() const { - return (Ifc4x3_add1::IfcExternalSpatialElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcExternalSpatialElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcFacilityPartCommonTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[443]); } @@ -2709,7 +2709,7 @@ Ifc4x3_add1::IfcFacilityPartCommonTypeEnum::Value Ifc4x3_add1::IfcFacilityPartCo } Ifc4x3_add1::IfcFacilityPartCommonTypeEnum::operator Ifc4x3_add1::IfcFacilityPartCommonTypeEnum::Value() const { - return (Ifc4x3_add1::IfcFacilityPartCommonTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcFacilityPartCommonTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcFacilityUsageEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[444]); } @@ -2736,7 +2736,7 @@ Ifc4x3_add1::IfcFacilityUsageEnum::Value Ifc4x3_add1::IfcFacilityUsageEnum::From } Ifc4x3_add1::IfcFacilityUsageEnum::operator Ifc4x3_add1::IfcFacilityUsageEnum::Value() const { - return (Ifc4x3_add1::IfcFacilityUsageEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcFacilityUsageEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcFanTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[448]); } @@ -2763,7 +2763,7 @@ Ifc4x3_add1::IfcFanTypeEnum::Value Ifc4x3_add1::IfcFanTypeEnum::FromString(const } Ifc4x3_add1::IfcFanTypeEnum::operator Ifc4x3_add1::IfcFanTypeEnum::Value() const { - return (Ifc4x3_add1::IfcFanTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcFanTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcFastenerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[451]); } @@ -2790,7 +2790,7 @@ Ifc4x3_add1::IfcFastenerTypeEnum::Value Ifc4x3_add1::IfcFastenerTypeEnum::FromSt } Ifc4x3_add1::IfcFastenerTypeEnum::operator Ifc4x3_add1::IfcFastenerTypeEnum::Value() const { - return (Ifc4x3_add1::IfcFastenerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcFastenerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcFilterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[461]); } @@ -2817,7 +2817,7 @@ Ifc4x3_add1::IfcFilterTypeEnum::Value Ifc4x3_add1::IfcFilterTypeEnum::FromString } Ifc4x3_add1::IfcFilterTypeEnum::operator Ifc4x3_add1::IfcFilterTypeEnum::Value() const { - return (Ifc4x3_add1::IfcFilterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcFilterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[464]); } @@ -2844,7 +2844,7 @@ Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3_add1::IfcFireSuppr } Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::operator Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Value() const { - return (Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcFlowDirectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[468]); } @@ -2871,7 +2871,7 @@ Ifc4x3_add1::IfcFlowDirectionEnum::Value Ifc4x3_add1::IfcFlowDirectionEnum::From } Ifc4x3_add1::IfcFlowDirectionEnum::operator Ifc4x3_add1::IfcFlowDirectionEnum::Value() const { - return (Ifc4x3_add1::IfcFlowDirectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcFlowDirectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcFlowInstrumentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[473]); } @@ -2898,7 +2898,7 @@ Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Value Ifc4x3_add1::IfcFlowInstrumentType } Ifc4x3_add1::IfcFlowInstrumentTypeEnum::operator Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Value() const { - return (Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcFlowMeterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[476]); } @@ -2925,7 +2925,7 @@ Ifc4x3_add1::IfcFlowMeterTypeEnum::Value Ifc4x3_add1::IfcFlowMeterTypeEnum::From } Ifc4x3_add1::IfcFlowMeterTypeEnum::operator Ifc4x3_add1::IfcFlowMeterTypeEnum::Value() const { - return (Ifc4x3_add1::IfcFlowMeterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcFlowMeterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcFootingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[492]); } @@ -2952,7 +2952,7 @@ Ifc4x3_add1::IfcFootingTypeEnum::Value Ifc4x3_add1::IfcFootingTypeEnum::FromStri } Ifc4x3_add1::IfcFootingTypeEnum::operator Ifc4x3_add1::IfcFootingTypeEnum::Value() const { - return (Ifc4x3_add1::IfcFootingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcFootingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcFurnitureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[499]); } @@ -2979,7 +2979,7 @@ Ifc4x3_add1::IfcFurnitureTypeEnum::Value Ifc4x3_add1::IfcFurnitureTypeEnum::From } Ifc4x3_add1::IfcFurnitureTypeEnum::operator Ifc4x3_add1::IfcFurnitureTypeEnum::Value() const { - return (Ifc4x3_add1::IfcFurnitureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcFurnitureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcGeographicElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[503]); } @@ -3006,7 +3006,7 @@ Ifc4x3_add1::IfcGeographicElementTypeEnum::Value Ifc4x3_add1::IfcGeographicEleme } Ifc4x3_add1::IfcGeographicElementTypeEnum::operator Ifc4x3_add1::IfcGeographicElementTypeEnum::Value() const { - return (Ifc4x3_add1::IfcGeographicElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcGeographicElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcGeometricProjectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[505]); } @@ -3033,7 +3033,7 @@ Ifc4x3_add1::IfcGeometricProjectionEnum::Value Ifc4x3_add1::IfcGeometricProjecti } Ifc4x3_add1::IfcGeometricProjectionEnum::operator Ifc4x3_add1::IfcGeometricProjectionEnum::Value() const { - return (Ifc4x3_add1::IfcGeometricProjectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcGeometricProjectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcGeotechnicalStratumTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[516]); } @@ -3060,7 +3060,7 @@ Ifc4x3_add1::IfcGeotechnicalStratumTypeEnum::Value Ifc4x3_add1::IfcGeotechnicalS } Ifc4x3_add1::IfcGeotechnicalStratumTypeEnum::operator Ifc4x3_add1::IfcGeotechnicalStratumTypeEnum::Value() const { - return (Ifc4x3_add1::IfcGeotechnicalStratumTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcGeotechnicalStratumTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcGlobalOrLocalEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[518]); } @@ -3087,7 +3087,7 @@ Ifc4x3_add1::IfcGlobalOrLocalEnum::Value Ifc4x3_add1::IfcGlobalOrLocalEnum::From } Ifc4x3_add1::IfcGlobalOrLocalEnum::operator Ifc4x3_add1::IfcGlobalOrLocalEnum::Value() const { - return (Ifc4x3_add1::IfcGlobalOrLocalEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcGlobalOrLocalEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcGridTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[524]); } @@ -3114,7 +3114,7 @@ Ifc4x3_add1::IfcGridTypeEnum::Value Ifc4x3_add1::IfcGridTypeEnum::FromString(con } Ifc4x3_add1::IfcGridTypeEnum::operator Ifc4x3_add1::IfcGridTypeEnum::Value() const { - return (Ifc4x3_add1::IfcGridTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcGridTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcHeatExchangerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[530]); } @@ -3141,7 +3141,7 @@ Ifc4x3_add1::IfcHeatExchangerTypeEnum::Value Ifc4x3_add1::IfcHeatExchangerTypeEn } Ifc4x3_add1::IfcHeatExchangerTypeEnum::operator Ifc4x3_add1::IfcHeatExchangerTypeEnum::Value() const { - return (Ifc4x3_add1::IfcHeatExchangerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcHeatExchangerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcHumidifierTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[535]); } @@ -3168,7 +3168,7 @@ Ifc4x3_add1::IfcHumidifierTypeEnum::Value Ifc4x3_add1::IfcHumidifierTypeEnum::Fr } Ifc4x3_add1::IfcHumidifierTypeEnum::operator Ifc4x3_add1::IfcHumidifierTypeEnum::Value() const { - return (Ifc4x3_add1::IfcHumidifierTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcHumidifierTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[541]); } @@ -3195,7 +3195,7 @@ Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Value Ifc4x3_add1::IfcImpactProt } Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::operator Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Value() const { - return (Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcInterceptorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[554]); } @@ -3222,7 +3222,7 @@ Ifc4x3_add1::IfcInterceptorTypeEnum::Value Ifc4x3_add1::IfcInterceptorTypeEnum:: } Ifc4x3_add1::IfcInterceptorTypeEnum::operator Ifc4x3_add1::IfcInterceptorTypeEnum::Value() const { - return (Ifc4x3_add1::IfcInterceptorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcInterceptorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcInternalOrExternalEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[556]); } @@ -3249,7 +3249,7 @@ Ifc4x3_add1::IfcInternalOrExternalEnum::Value Ifc4x3_add1::IfcInternalOrExternal } Ifc4x3_add1::IfcInternalOrExternalEnum::operator Ifc4x3_add1::IfcInternalOrExternalEnum::Value() const { - return (Ifc4x3_add1::IfcInternalOrExternalEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcInternalOrExternalEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcInventoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[559]); } @@ -3276,7 +3276,7 @@ Ifc4x3_add1::IfcInventoryTypeEnum::Value Ifc4x3_add1::IfcInventoryTypeEnum::From } Ifc4x3_add1::IfcInventoryTypeEnum::operator Ifc4x3_add1::IfcInventoryTypeEnum::Value() const { - return (Ifc4x3_add1::IfcInventoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcInventoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcJunctionBoxTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[567]); } @@ -3303,7 +3303,7 @@ Ifc4x3_add1::IfcJunctionBoxTypeEnum::Value Ifc4x3_add1::IfcJunctionBoxTypeEnum:: } Ifc4x3_add1::IfcJunctionBoxTypeEnum::operator Ifc4x3_add1::IfcJunctionBoxTypeEnum::Value() const { - return (Ifc4x3_add1::IfcJunctionBoxTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcJunctionBoxTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcKerbTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[570]); } @@ -3330,7 +3330,7 @@ Ifc4x3_add1::IfcKerbTypeEnum::Value Ifc4x3_add1::IfcKerbTypeEnum::FromString(con } Ifc4x3_add1::IfcKerbTypeEnum::operator Ifc4x3_add1::IfcKerbTypeEnum::Value() const { - return (Ifc4x3_add1::IfcKerbTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcKerbTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcKnotType::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[572]); } @@ -3357,7 +3357,7 @@ Ifc4x3_add1::IfcKnotType::Value Ifc4x3_add1::IfcKnotType::FromString(const std:: } Ifc4x3_add1::IfcKnotType::operator Ifc4x3_add1::IfcKnotType::Value() const { - return (Ifc4x3_add1::IfcKnotType::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcKnotType::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcLaborResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[576]); } @@ -3384,7 +3384,7 @@ Ifc4x3_add1::IfcLaborResourceTypeEnum::Value Ifc4x3_add1::IfcLaborResourceTypeEn } Ifc4x3_add1::IfcLaborResourceTypeEnum::operator Ifc4x3_add1::IfcLaborResourceTypeEnum::Value() const { - return (Ifc4x3_add1::IfcLaborResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcLaborResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcLampTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[580]); } @@ -3411,7 +3411,7 @@ Ifc4x3_add1::IfcLampTypeEnum::Value Ifc4x3_add1::IfcLampTypeEnum::FromString(con } Ifc4x3_add1::IfcLampTypeEnum::operator Ifc4x3_add1::IfcLampTypeEnum::Value() const { - return (Ifc4x3_add1::IfcLampTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcLampTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcLayerSetDirectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[583]); } @@ -3438,7 +3438,7 @@ Ifc4x3_add1::IfcLayerSetDirectionEnum::Value Ifc4x3_add1::IfcLayerSetDirectionEn } Ifc4x3_add1::IfcLayerSetDirectionEnum::operator Ifc4x3_add1::IfcLayerSetDirectionEnum::Value() const { - return (Ifc4x3_add1::IfcLayerSetDirectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcLayerSetDirectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcLightDistributionCurveEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[588]); } @@ -3465,7 +3465,7 @@ Ifc4x3_add1::IfcLightDistributionCurveEnum::Value Ifc4x3_add1::IfcLightDistribut } Ifc4x3_add1::IfcLightDistributionCurveEnum::operator Ifc4x3_add1::IfcLightDistributionCurveEnum::Value() const { - return (Ifc4x3_add1::IfcLightDistributionCurveEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcLightDistributionCurveEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcLightEmissionSourceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[591]); } @@ -3492,7 +3492,7 @@ Ifc4x3_add1::IfcLightEmissionSourceEnum::Value Ifc4x3_add1::IfcLightEmissionSour } Ifc4x3_add1::IfcLightEmissionSourceEnum::operator Ifc4x3_add1::IfcLightEmissionSourceEnum::Value() const { - return (Ifc4x3_add1::IfcLightEmissionSourceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcLightEmissionSourceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcLightFixtureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[594]); } @@ -3519,7 +3519,7 @@ Ifc4x3_add1::IfcLightFixtureTypeEnum::Value Ifc4x3_add1::IfcLightFixtureTypeEnum } Ifc4x3_add1::IfcLightFixtureTypeEnum::operator Ifc4x3_add1::IfcLightFixtureTypeEnum::Value() const { - return (Ifc4x3_add1::IfcLightFixtureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcLightFixtureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcLiquidTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[613]); } @@ -3546,7 +3546,7 @@ Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Value Ifc4x3_add1::IfcLiquidTerminalType } Ifc4x3_add1::IfcLiquidTerminalTypeEnum::operator Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Value() const { - return (Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcLoadGroupTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[614]); } @@ -3573,7 +3573,7 @@ Ifc4x3_add1::IfcLoadGroupTypeEnum::Value Ifc4x3_add1::IfcLoadGroupTypeEnum::From } Ifc4x3_add1::IfcLoadGroupTypeEnum::operator Ifc4x3_add1::IfcLoadGroupTypeEnum::Value() const { - return (Ifc4x3_add1::IfcLoadGroupTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcLoadGroupTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcLogicalOperatorEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[617]); } @@ -3600,7 +3600,7 @@ Ifc4x3_add1::IfcLogicalOperatorEnum::Value Ifc4x3_add1::IfcLogicalOperatorEnum:: } Ifc4x3_add1::IfcLogicalOperatorEnum::operator Ifc4x3_add1::IfcLogicalOperatorEnum::Value() const { - return (Ifc4x3_add1::IfcLogicalOperatorEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcLogicalOperatorEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcMarineFacilityTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[630]); } @@ -3627,7 +3627,7 @@ Ifc4x3_add1::IfcMarineFacilityTypeEnum::Value Ifc4x3_add1::IfcMarineFacilityType } Ifc4x3_add1::IfcMarineFacilityTypeEnum::operator Ifc4x3_add1::IfcMarineFacilityTypeEnum::Value() const { - return (Ifc4x3_add1::IfcMarineFacilityTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcMarineFacilityTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcMarinePartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[632]); } @@ -3654,7 +3654,7 @@ Ifc4x3_add1::IfcMarinePartTypeEnum::Value Ifc4x3_add1::IfcMarinePartTypeEnum::Fr } Ifc4x3_add1::IfcMarinePartTypeEnum::operator Ifc4x3_add1::IfcMarinePartTypeEnum::Value() const { - return (Ifc4x3_add1::IfcMarinePartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcMarinePartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[661]); } @@ -3681,7 +3681,7 @@ Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_add1::IfcMechanicalFast } Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::operator Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::Value() const { - return (Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcMedicalDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[664]); } @@ -3708,7 +3708,7 @@ Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Value Ifc4x3_add1::IfcMedicalDeviceTypeEn } Ifc4x3_add1::IfcMedicalDeviceTypeEnum::operator Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Value() const { - return (Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcMemberTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[667]); } @@ -3735,7 +3735,7 @@ Ifc4x3_add1::IfcMemberTypeEnum::Value Ifc4x3_add1::IfcMemberTypeEnum::FromString } Ifc4x3_add1::IfcMemberTypeEnum::operator Ifc4x3_add1::IfcMemberTypeEnum::Value() const { - return (Ifc4x3_add1::IfcMemberTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcMemberTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[673]); } @@ -3762,7 +3762,7 @@ Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3_add1::If } Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::operator Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Value() const { - return (Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcMooringDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[689]); } @@ -3789,7 +3789,7 @@ Ifc4x3_add1::IfcMooringDeviceTypeEnum::Value Ifc4x3_add1::IfcMooringDeviceTypeEn } Ifc4x3_add1::IfcMooringDeviceTypeEnum::operator Ifc4x3_add1::IfcMooringDeviceTypeEnum::Value() const { - return (Ifc4x3_add1::IfcMooringDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcMooringDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcMotorConnectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[692]); } @@ -3816,7 +3816,7 @@ Ifc4x3_add1::IfcMotorConnectionTypeEnum::Value Ifc4x3_add1::IfcMotorConnectionTy } Ifc4x3_add1::IfcMotorConnectionTypeEnum::operator Ifc4x3_add1::IfcMotorConnectionTypeEnum::Value() const { - return (Ifc4x3_add1::IfcMotorConnectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcMotorConnectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcNavigationElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[696]); } @@ -3843,7 +3843,7 @@ Ifc4x3_add1::IfcNavigationElementTypeEnum::Value Ifc4x3_add1::IfcNavigationEleme } Ifc4x3_add1::IfcNavigationElementTypeEnum::operator Ifc4x3_add1::IfcNavigationElementTypeEnum::Value() const { - return (Ifc4x3_add1::IfcNavigationElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcNavigationElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcObjectiveEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[703]); } @@ -3870,7 +3870,7 @@ Ifc4x3_add1::IfcObjectiveEnum::Value Ifc4x3_add1::IfcObjectiveEnum::FromString(c } Ifc4x3_add1::IfcObjectiveEnum::operator Ifc4x3_add1::IfcObjectiveEnum::Value() const { - return (Ifc4x3_add1::IfcObjectiveEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcObjectiveEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcOccupantTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[707]); } @@ -3897,7 +3897,7 @@ Ifc4x3_add1::IfcOccupantTypeEnum::Value Ifc4x3_add1::IfcOccupantTypeEnum::FromSt } Ifc4x3_add1::IfcOccupantTypeEnum::operator Ifc4x3_add1::IfcOccupantTypeEnum::Value() const { - return (Ifc4x3_add1::IfcOccupantTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcOccupantTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcOpeningElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[714]); } @@ -3924,7 +3924,7 @@ Ifc4x3_add1::IfcOpeningElementTypeEnum::Value Ifc4x3_add1::IfcOpeningElementType } Ifc4x3_add1::IfcOpeningElementTypeEnum::operator Ifc4x3_add1::IfcOpeningElementTypeEnum::Value() const { - return (Ifc4x3_add1::IfcOpeningElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcOpeningElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcOutletTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[722]); } @@ -3951,7 +3951,7 @@ Ifc4x3_add1::IfcOutletTypeEnum::Value Ifc4x3_add1::IfcOutletTypeEnum::FromString } Ifc4x3_add1::IfcOutletTypeEnum::operator Ifc4x3_add1::IfcOutletTypeEnum::Value() const { - return (Ifc4x3_add1::IfcOutletTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcOutletTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcPavementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[729]); } @@ -3978,7 +3978,7 @@ Ifc4x3_add1::IfcPavementTypeEnum::Value Ifc4x3_add1::IfcPavementTypeEnum::FromSt } Ifc4x3_add1::IfcPavementTypeEnum::operator Ifc4x3_add1::IfcPavementTypeEnum::Value() const { - return (Ifc4x3_add1::IfcPavementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcPavementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcPerformanceHistoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[732]); } @@ -4005,7 +4005,7 @@ Ifc4x3_add1::IfcPerformanceHistoryTypeEnum::Value Ifc4x3_add1::IfcPerformanceHis } Ifc4x3_add1::IfcPerformanceHistoryTypeEnum::operator Ifc4x3_add1::IfcPerformanceHistoryTypeEnum::Value() const { - return (Ifc4x3_add1::IfcPerformanceHistoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcPerformanceHistoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcPermeableCoveringOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[733]); } @@ -4032,7 +4032,7 @@ Ifc4x3_add1::IfcPermeableCoveringOperationEnum::Value Ifc4x3_add1::IfcPermeableC } Ifc4x3_add1::IfcPermeableCoveringOperationEnum::operator Ifc4x3_add1::IfcPermeableCoveringOperationEnum::Value() const { - return (Ifc4x3_add1::IfcPermeableCoveringOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcPermeableCoveringOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcPermitTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[736]); } @@ -4059,7 +4059,7 @@ Ifc4x3_add1::IfcPermitTypeEnum::Value Ifc4x3_add1::IfcPermitTypeEnum::FromString } Ifc4x3_add1::IfcPermitTypeEnum::operator Ifc4x3_add1::IfcPermitTypeEnum::Value() const { - return (Ifc4x3_add1::IfcPermitTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcPermitTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcPhysicalOrVirtualEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[741]); } @@ -4086,7 +4086,7 @@ Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Value Ifc4x3_add1::IfcPhysicalOrVirtualEn } Ifc4x3_add1::IfcPhysicalOrVirtualEnum::operator Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Value() const { - return (Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcPileConstructionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[745]); } @@ -4113,7 +4113,7 @@ Ifc4x3_add1::IfcPileConstructionEnum::Value Ifc4x3_add1::IfcPileConstructionEnum } Ifc4x3_add1::IfcPileConstructionEnum::operator Ifc4x3_add1::IfcPileConstructionEnum::Value() const { - return (Ifc4x3_add1::IfcPileConstructionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcPileConstructionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcPileTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[747]); } @@ -4140,7 +4140,7 @@ Ifc4x3_add1::IfcPileTypeEnum::Value Ifc4x3_add1::IfcPileTypeEnum::FromString(con } Ifc4x3_add1::IfcPileTypeEnum::operator Ifc4x3_add1::IfcPileTypeEnum::Value() const { - return (Ifc4x3_add1::IfcPileTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcPileTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcPipeFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[750]); } @@ -4167,7 +4167,7 @@ Ifc4x3_add1::IfcPipeFittingTypeEnum::Value Ifc4x3_add1::IfcPipeFittingTypeEnum:: } Ifc4x3_add1::IfcPipeFittingTypeEnum::operator Ifc4x3_add1::IfcPipeFittingTypeEnum::Value() const { - return (Ifc4x3_add1::IfcPipeFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcPipeFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcPipeSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[753]); } @@ -4194,7 +4194,7 @@ Ifc4x3_add1::IfcPipeSegmentTypeEnum::Value Ifc4x3_add1::IfcPipeSegmentTypeEnum:: } Ifc4x3_add1::IfcPipeSegmentTypeEnum::operator Ifc4x3_add1::IfcPipeSegmentTypeEnum::Value() const { - return (Ifc4x3_add1::IfcPipeSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcPipeSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcPlateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[763]); } @@ -4221,7 +4221,7 @@ Ifc4x3_add1::IfcPlateTypeEnum::Value Ifc4x3_add1::IfcPlateTypeEnum::FromString(c } Ifc4x3_add1::IfcPlateTypeEnum::operator Ifc4x3_add1::IfcPlateTypeEnum::Value() const { - return (Ifc4x3_add1::IfcPlateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcPlateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[788]); } @@ -4248,7 +4248,7 @@ Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x3_add1::IfcPrefe } Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::operator Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Value() const { - return (Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcProcedureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[797]); } @@ -4275,7 +4275,7 @@ Ifc4x3_add1::IfcProcedureTypeEnum::Value Ifc4x3_add1::IfcProcedureTypeEnum::From } Ifc4x3_add1::IfcProcedureTypeEnum::operator Ifc4x3_add1::IfcProcedureTypeEnum::Value() const { - return (Ifc4x3_add1::IfcProcedureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcProcedureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcProfileTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[807]); } @@ -4302,7 +4302,7 @@ Ifc4x3_add1::IfcProfileTypeEnum::Value Ifc4x3_add1::IfcProfileTypeEnum::FromStri } Ifc4x3_add1::IfcProfileTypeEnum::operator Ifc4x3_add1::IfcProfileTypeEnum::Value() const { - return (Ifc4x3_add1::IfcProfileTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcProfileTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcProjectOrderTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[815]); } @@ -4329,7 +4329,7 @@ Ifc4x3_add1::IfcProjectOrderTypeEnum::Value Ifc4x3_add1::IfcProjectOrderTypeEnum } Ifc4x3_add1::IfcProjectOrderTypeEnum::operator Ifc4x3_add1::IfcProjectOrderTypeEnum::Value() const { - return (Ifc4x3_add1::IfcProjectOrderTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcProjectOrderTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[810]); } @@ -4356,7 +4356,7 @@ Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value Ifc4x3_add1::IfcProjectedOrTrue } Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::operator Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value() const { - return (Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcProjectionElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[812]); } @@ -4383,7 +4383,7 @@ Ifc4x3_add1::IfcProjectionElementTypeEnum::Value Ifc4x3_add1::IfcProjectionEleme } Ifc4x3_add1::IfcProjectionElementTypeEnum::operator Ifc4x3_add1::IfcProjectionElementTypeEnum::Value() const { - return (Ifc4x3_add1::IfcProjectionElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcProjectionElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcPropertySetTemplateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[830]); } @@ -4410,7 +4410,7 @@ Ifc4x3_add1::IfcPropertySetTemplateTypeEnum::Value Ifc4x3_add1::IfcPropertySetTe } Ifc4x3_add1::IfcPropertySetTemplateTypeEnum::operator Ifc4x3_add1::IfcPropertySetTemplateTypeEnum::Value() const { - return (Ifc4x3_add1::IfcPropertySetTemplateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcPropertySetTemplateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[838]); } @@ -4437,7 +4437,7 @@ Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3_add1::IfcProt } Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::operator Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value() const { - return (Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[840]); } @@ -4464,7 +4464,7 @@ Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Value Ifc4x3_add1::IfcProtectiveDevice } Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::operator Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Value() const { - return (Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcPumpTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[843]); } @@ -4491,7 +4491,7 @@ Ifc4x3_add1::IfcPumpTypeEnum::Value Ifc4x3_add1::IfcPumpTypeEnum::FromString(con } Ifc4x3_add1::IfcPumpTypeEnum::operator Ifc4x3_add1::IfcPumpTypeEnum::Value() const { - return (Ifc4x3_add1::IfcPumpTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcPumpTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcRailTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[858]); } @@ -4518,7 +4518,7 @@ Ifc4x3_add1::IfcRailTypeEnum::Value Ifc4x3_add1::IfcRailTypeEnum::FromString(con } Ifc4x3_add1::IfcRailTypeEnum::operator Ifc4x3_add1::IfcRailTypeEnum::Value() const { - return (Ifc4x3_add1::IfcRailTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcRailTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcRailingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[856]); } @@ -4545,7 +4545,7 @@ Ifc4x3_add1::IfcRailingTypeEnum::Value Ifc4x3_add1::IfcRailingTypeEnum::FromStri } Ifc4x3_add1::IfcRailingTypeEnum::operator Ifc4x3_add1::IfcRailingTypeEnum::Value() const { - return (Ifc4x3_add1::IfcRailingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcRailingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcRailwayPartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[861]); } @@ -4572,7 +4572,7 @@ Ifc4x3_add1::IfcRailwayPartTypeEnum::Value Ifc4x3_add1::IfcRailwayPartTypeEnum:: } Ifc4x3_add1::IfcRailwayPartTypeEnum::operator Ifc4x3_add1::IfcRailwayPartTypeEnum::Value() const { - return (Ifc4x3_add1::IfcRailwayPartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcRailwayPartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcRailwayTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[862]); } @@ -4599,7 +4599,7 @@ Ifc4x3_add1::IfcRailwayTypeEnum::Value Ifc4x3_add1::IfcRailwayTypeEnum::FromStri } Ifc4x3_add1::IfcRailwayTypeEnum::operator Ifc4x3_add1::IfcRailwayTypeEnum::Value() const { - return (Ifc4x3_add1::IfcRailwayTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcRailwayTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcRampFlightTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[866]); } @@ -4626,7 +4626,7 @@ Ifc4x3_add1::IfcRampFlightTypeEnum::Value Ifc4x3_add1::IfcRampFlightTypeEnum::Fr } Ifc4x3_add1::IfcRampFlightTypeEnum::operator Ifc4x3_add1::IfcRampFlightTypeEnum::Value() const { - return (Ifc4x3_add1::IfcRampFlightTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcRampFlightTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcRampTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[868]); } @@ -4653,7 +4653,7 @@ Ifc4x3_add1::IfcRampTypeEnum::Value Ifc4x3_add1::IfcRampTypeEnum::FromString(con } Ifc4x3_add1::IfcRampTypeEnum::operator Ifc4x3_add1::IfcRampTypeEnum::Value() const { - return (Ifc4x3_add1::IfcRampTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcRampTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcRecurrenceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[878]); } @@ -4680,7 +4680,7 @@ Ifc4x3_add1::IfcRecurrenceTypeEnum::Value Ifc4x3_add1::IfcRecurrenceTypeEnum::Fr } Ifc4x3_add1::IfcRecurrenceTypeEnum::operator Ifc4x3_add1::IfcRecurrenceTypeEnum::Value() const { - return (Ifc4x3_add1::IfcRecurrenceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcRecurrenceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcReferentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[881]); } @@ -4707,7 +4707,7 @@ Ifc4x3_add1::IfcReferentTypeEnum::Value Ifc4x3_add1::IfcReferentTypeEnum::FromSt } Ifc4x3_add1::IfcReferentTypeEnum::operator Ifc4x3_add1::IfcReferentTypeEnum::Value() const { - return (Ifc4x3_add1::IfcReferentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcReferentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcReflectanceMethodEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[882]); } @@ -4734,7 +4734,7 @@ Ifc4x3_add1::IfcReflectanceMethodEnum::Value Ifc4x3_add1::IfcReflectanceMethodEn } Ifc4x3_add1::IfcReflectanceMethodEnum::operator Ifc4x3_add1::IfcReflectanceMethodEnum::Value() const { - return (Ifc4x3_add1::IfcReflectanceMethodEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcReflectanceMethodEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcReinforcedSoilTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[885]); } @@ -4761,7 +4761,7 @@ Ifc4x3_add1::IfcReinforcedSoilTypeEnum::Value Ifc4x3_add1::IfcReinforcedSoilType } Ifc4x3_add1::IfcReinforcedSoilTypeEnum::operator Ifc4x3_add1::IfcReinforcedSoilTypeEnum::Value() const { - return (Ifc4x3_add1::IfcReinforcedSoilTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcReinforcedSoilTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcReinforcingBarRoleEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[889]); } @@ -4788,7 +4788,7 @@ Ifc4x3_add1::IfcReinforcingBarRoleEnum::Value Ifc4x3_add1::IfcReinforcingBarRole } Ifc4x3_add1::IfcReinforcingBarRoleEnum::operator Ifc4x3_add1::IfcReinforcingBarRoleEnum::Value() const { - return (Ifc4x3_add1::IfcReinforcingBarRoleEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcReinforcingBarRoleEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[890]); } @@ -4815,7 +4815,7 @@ Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value Ifc4x3_add1::IfcReinforcingBarS } Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::operator Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value() const { - return (Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcReinforcingBarTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[892]); } @@ -4842,7 +4842,7 @@ Ifc4x3_add1::IfcReinforcingBarTypeEnum::Value Ifc4x3_add1::IfcReinforcingBarType } Ifc4x3_add1::IfcReinforcingBarTypeEnum::operator Ifc4x3_add1::IfcReinforcingBarTypeEnum::Value() const { - return (Ifc4x3_add1::IfcReinforcingBarTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcReinforcingBarTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcReinforcingMeshTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[897]); } @@ -4869,7 +4869,7 @@ Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Value Ifc4x3_add1::IfcReinforcingMeshTy } Ifc4x3_add1::IfcReinforcingMeshTypeEnum::operator Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Value() const { - return (Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcRoadPartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[968]); } @@ -4896,7 +4896,7 @@ Ifc4x3_add1::IfcRoadPartTypeEnum::Value Ifc4x3_add1::IfcRoadPartTypeEnum::FromSt } Ifc4x3_add1::IfcRoadPartTypeEnum::operator Ifc4x3_add1::IfcRoadPartTypeEnum::Value() const { - return (Ifc4x3_add1::IfcRoadPartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcRoadPartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcRoadTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[969]); } @@ -4923,7 +4923,7 @@ Ifc4x3_add1::IfcRoadTypeEnum::Value Ifc4x3_add1::IfcRoadTypeEnum::FromString(con } Ifc4x3_add1::IfcRoadTypeEnum::operator Ifc4x3_add1::IfcRoadTypeEnum::Value() const { - return (Ifc4x3_add1::IfcRoadTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcRoadTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcRoleEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[970]); } @@ -4950,7 +4950,7 @@ Ifc4x3_add1::IfcRoleEnum::Value Ifc4x3_add1::IfcRoleEnum::FromString(const std:: } Ifc4x3_add1::IfcRoleEnum::operator Ifc4x3_add1::IfcRoleEnum::Value() const { - return (Ifc4x3_add1::IfcRoleEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcRoleEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcRoofTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[973]); } @@ -4977,7 +4977,7 @@ Ifc4x3_add1::IfcRoofTypeEnum::Value Ifc4x3_add1::IfcRoofTypeEnum::FromString(con } Ifc4x3_add1::IfcRoofTypeEnum::operator Ifc4x3_add1::IfcRoofTypeEnum::Value() const { - return (Ifc4x3_add1::IfcRoofTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcRoofTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcSIPrefix::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1023]); } @@ -5004,7 +5004,7 @@ Ifc4x3_add1::IfcSIPrefix::Value Ifc4x3_add1::IfcSIPrefix::FromString(const std:: } Ifc4x3_add1::IfcSIPrefix::operator Ifc4x3_add1::IfcSIPrefix::Value() const { - return (Ifc4x3_add1::IfcSIPrefix::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcSIPrefix::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcSIUnitName::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1026]); } @@ -5031,7 +5031,7 @@ Ifc4x3_add1::IfcSIUnitName::Value Ifc4x3_add1::IfcSIUnitName::FromString(const s } Ifc4x3_add1::IfcSIUnitName::operator Ifc4x3_add1::IfcSIUnitName::Value() const { - return (Ifc4x3_add1::IfcSIUnitName::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcSIUnitName::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[982]); } @@ -5058,7 +5058,7 @@ Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Value Ifc4x3_add1::IfcSanitaryTerminal } Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::operator Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Value() const { - return (Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcSectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[994]); } @@ -5085,7 +5085,7 @@ Ifc4x3_add1::IfcSectionTypeEnum::Value Ifc4x3_add1::IfcSectionTypeEnum::FromStri } Ifc4x3_add1::IfcSectionTypeEnum::operator Ifc4x3_add1::IfcSectionTypeEnum::Value() const { - return (Ifc4x3_add1::IfcSectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcSectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcSensorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1000]); } @@ -5112,7 +5112,7 @@ Ifc4x3_add1::IfcSensorTypeEnum::Value Ifc4x3_add1::IfcSensorTypeEnum::FromString } Ifc4x3_add1::IfcSensorTypeEnum::operator Ifc4x3_add1::IfcSensorTypeEnum::Value() const { - return (Ifc4x3_add1::IfcSensorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcSensorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcSequenceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1001]); } @@ -5139,7 +5139,7 @@ Ifc4x3_add1::IfcSequenceEnum::Value Ifc4x3_add1::IfcSequenceEnum::FromString(con } Ifc4x3_add1::IfcSequenceEnum::operator Ifc4x3_add1::IfcSequenceEnum::Value() const { - return (Ifc4x3_add1::IfcSequenceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcSequenceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcShadingDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1005]); } @@ -5166,7 +5166,7 @@ Ifc4x3_add1::IfcShadingDeviceTypeEnum::Value Ifc4x3_add1::IfcShadingDeviceTypeEn } Ifc4x3_add1::IfcShadingDeviceTypeEnum::operator Ifc4x3_add1::IfcShadingDeviceTypeEnum::Value() const { - return (Ifc4x3_add1::IfcShadingDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcShadingDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcSignTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1017]); } @@ -5193,7 +5193,7 @@ Ifc4x3_add1::IfcSignTypeEnum::Value Ifc4x3_add1::IfcSignTypeEnum::FromString(con } Ifc4x3_add1::IfcSignTypeEnum::operator Ifc4x3_add1::IfcSignTypeEnum::Value() const { - return (Ifc4x3_add1::IfcSignTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcSignTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcSignalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1015]); } @@ -5220,7 +5220,7 @@ Ifc4x3_add1::IfcSignalTypeEnum::Value Ifc4x3_add1::IfcSignalTypeEnum::FromString } Ifc4x3_add1::IfcSignalTypeEnum::operator Ifc4x3_add1::IfcSignalTypeEnum::Value() const { - return (Ifc4x3_add1::IfcSignalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcSignalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcSimplePropertyTemplateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1020]); } @@ -5247,7 +5247,7 @@ Ifc4x3_add1::IfcSimplePropertyTemplateTypeEnum::Value Ifc4x3_add1::IfcSimpleProp } Ifc4x3_add1::IfcSimplePropertyTemplateTypeEnum::operator Ifc4x3_add1::IfcSimplePropertyTemplateTypeEnum::Value() const { - return (Ifc4x3_add1::IfcSimplePropertyTemplateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcSimplePropertyTemplateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcSlabTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1030]); } @@ -5274,7 +5274,7 @@ Ifc4x3_add1::IfcSlabTypeEnum::Value Ifc4x3_add1::IfcSlabTypeEnum::FromString(con } Ifc4x3_add1::IfcSlabTypeEnum::operator Ifc4x3_add1::IfcSlabTypeEnum::Value() const { - return (Ifc4x3_add1::IfcSlabTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcSlabTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcSolarDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1034]); } @@ -5301,7 +5301,7 @@ Ifc4x3_add1::IfcSolarDeviceTypeEnum::Value Ifc4x3_add1::IfcSolarDeviceTypeEnum:: } Ifc4x3_add1::IfcSolarDeviceTypeEnum::operator Ifc4x3_add1::IfcSolarDeviceTypeEnum::Value() const { - return (Ifc4x3_add1::IfcSolarDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcSolarDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcSpaceHeaterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1046]); } @@ -5328,7 +5328,7 @@ Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Value Ifc4x3_add1::IfcSpaceHeaterTypeEnum:: } Ifc4x3_add1::IfcSpaceHeaterTypeEnum::operator Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Value() const { - return (Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcSpaceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1048]); } @@ -5355,7 +5355,7 @@ Ifc4x3_add1::IfcSpaceTypeEnum::Value Ifc4x3_add1::IfcSpaceTypeEnum::FromString(c } Ifc4x3_add1::IfcSpaceTypeEnum::operator Ifc4x3_add1::IfcSpaceTypeEnum::Value() const { - return (Ifc4x3_add1::IfcSpaceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcSpaceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcSpatialZoneTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1056]); } @@ -5382,7 +5382,7 @@ Ifc4x3_add1::IfcSpatialZoneTypeEnum::Value Ifc4x3_add1::IfcSpatialZoneTypeEnum:: } Ifc4x3_add1::IfcSpatialZoneTypeEnum::operator Ifc4x3_add1::IfcSpatialZoneTypeEnum::Value() const { - return (Ifc4x3_add1::IfcSpatialZoneTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcSpatialZoneTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcStackTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1066]); } @@ -5409,7 +5409,7 @@ Ifc4x3_add1::IfcStackTerminalTypeEnum::Value Ifc4x3_add1::IfcStackTerminalTypeEn } Ifc4x3_add1::IfcStackTerminalTypeEnum::operator Ifc4x3_add1::IfcStackTerminalTypeEnum::Value() const { - return (Ifc4x3_add1::IfcStackTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcStackTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcStairFlightTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1070]); } @@ -5436,7 +5436,7 @@ Ifc4x3_add1::IfcStairFlightTypeEnum::Value Ifc4x3_add1::IfcStairFlightTypeEnum:: } Ifc4x3_add1::IfcStairFlightTypeEnum::operator Ifc4x3_add1::IfcStairFlightTypeEnum::Value() const { - return (Ifc4x3_add1::IfcStairFlightTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcStairFlightTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcStairTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1072]); } @@ -5463,7 +5463,7 @@ Ifc4x3_add1::IfcStairTypeEnum::Value Ifc4x3_add1::IfcStairTypeEnum::FromString(c } Ifc4x3_add1::IfcStairTypeEnum::operator Ifc4x3_add1::IfcStairTypeEnum::Value() const { - return (Ifc4x3_add1::IfcStairTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcStairTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcStateEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1073]); } @@ -5490,7 +5490,7 @@ Ifc4x3_add1::IfcStateEnum::Value Ifc4x3_add1::IfcStateEnum::FromString(const std } Ifc4x3_add1::IfcStateEnum::operator Ifc4x3_add1::IfcStateEnum::Value() const { - return (Ifc4x3_add1::IfcStateEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcStateEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1082]); } @@ -5517,7 +5517,7 @@ Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_add1::IfcStructura } Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::operator Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Value() const { - return (Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcStructuralCurveMemberTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1085]); } @@ -5544,7 +5544,7 @@ Ifc4x3_add1::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_add1::IfcStructuralC } Ifc4x3_add1::IfcStructuralCurveMemberTypeEnum::operator Ifc4x3_add1::IfcStructuralCurveMemberTypeEnum::Value() const { - return (Ifc4x3_add1::IfcStructuralCurveMemberTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcStructuralCurveMemberTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1111]); } @@ -5571,7 +5571,7 @@ Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_add1::IfcStructu } Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::operator Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Value() const { - return (Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcStructuralSurfaceMemberTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1114]); } @@ -5598,7 +5598,7 @@ Ifc4x3_add1::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_add1::IfcStructura } Ifc4x3_add1::IfcStructuralSurfaceMemberTypeEnum::operator Ifc4x3_add1::IfcStructuralSurfaceMemberTypeEnum::Value() const { - return (Ifc4x3_add1::IfcStructuralSurfaceMemberTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcStructuralSurfaceMemberTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcSubContractResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1122]); } @@ -5625,7 +5625,7 @@ Ifc4x3_add1::IfcSubContractResourceTypeEnum::Value Ifc4x3_add1::IfcSubContractRe } Ifc4x3_add1::IfcSubContractResourceTypeEnum::operator Ifc4x3_add1::IfcSubContractResourceTypeEnum::Value() const { - return (Ifc4x3_add1::IfcSubContractResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcSubContractResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcSurfaceFeatureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1128]); } @@ -5652,7 +5652,7 @@ Ifc4x3_add1::IfcSurfaceFeatureTypeEnum::Value Ifc4x3_add1::IfcSurfaceFeatureType } Ifc4x3_add1::IfcSurfaceFeatureTypeEnum::operator Ifc4x3_add1::IfcSurfaceFeatureTypeEnum::Value() const { - return (Ifc4x3_add1::IfcSurfaceFeatureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcSurfaceFeatureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcSurfaceSide::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1133]); } @@ -5679,7 +5679,7 @@ Ifc4x3_add1::IfcSurfaceSide::Value Ifc4x3_add1::IfcSurfaceSide::FromString(const } Ifc4x3_add1::IfcSurfaceSide::operator Ifc4x3_add1::IfcSurfaceSide::Value() const { - return (Ifc4x3_add1::IfcSurfaceSide::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcSurfaceSide::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1148]); } @@ -5706,7 +5706,7 @@ Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Value Ifc4x3_add1::IfcSwitchingDeviceTy } Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::operator Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Value() const { - return (Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1152]); } @@ -5733,7 +5733,7 @@ Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Value Ifc4x3_add1::IfcSystemFurn } Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::operator Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Value() const { - return (Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcTankTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1158]); } @@ -5760,7 +5760,7 @@ Ifc4x3_add1::IfcTankTypeEnum::Value Ifc4x3_add1::IfcTankTypeEnum::FromString(con } Ifc4x3_add1::IfcTankTypeEnum::operator Ifc4x3_add1::IfcTankTypeEnum::Value() const { - return (Ifc4x3_add1::IfcTankTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcTankTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcTaskDurationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1160]); } @@ -5787,7 +5787,7 @@ Ifc4x3_add1::IfcTaskDurationEnum::Value Ifc4x3_add1::IfcTaskDurationEnum::FromSt } Ifc4x3_add1::IfcTaskDurationEnum::operator Ifc4x3_add1::IfcTaskDurationEnum::Value() const { - return (Ifc4x3_add1::IfcTaskDurationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcTaskDurationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcTaskTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1164]); } @@ -5814,7 +5814,7 @@ Ifc4x3_add1::IfcTaskTypeEnum::Value Ifc4x3_add1::IfcTaskTypeEnum::FromString(con } Ifc4x3_add1::IfcTaskTypeEnum::operator Ifc4x3_add1::IfcTaskTypeEnum::Value() const { - return (Ifc4x3_add1::IfcTaskTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcTaskTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcTendonAnchorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1171]); } @@ -5841,7 +5841,7 @@ Ifc4x3_add1::IfcTendonAnchorTypeEnum::Value Ifc4x3_add1::IfcTendonAnchorTypeEnum } Ifc4x3_add1::IfcTendonAnchorTypeEnum::operator Ifc4x3_add1::IfcTendonAnchorTypeEnum::Value() const { - return (Ifc4x3_add1::IfcTendonAnchorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcTendonAnchorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcTendonConduitTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1174]); } @@ -5868,7 +5868,7 @@ Ifc4x3_add1::IfcTendonConduitTypeEnum::Value Ifc4x3_add1::IfcTendonConduitTypeEn } Ifc4x3_add1::IfcTendonConduitTypeEnum::operator Ifc4x3_add1::IfcTendonConduitTypeEnum::Value() const { - return (Ifc4x3_add1::IfcTendonConduitTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcTendonConduitTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcTendonTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1176]); } @@ -5895,7 +5895,7 @@ Ifc4x3_add1::IfcTendonTypeEnum::Value Ifc4x3_add1::IfcTendonTypeEnum::FromString } Ifc4x3_add1::IfcTendonTypeEnum::operator Ifc4x3_add1::IfcTendonTypeEnum::Value() const { - return (Ifc4x3_add1::IfcTendonTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcTendonTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcTextPath::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1186]); } @@ -5922,7 +5922,7 @@ Ifc4x3_add1::IfcTextPath::Value Ifc4x3_add1::IfcTextPath::FromString(const std:: } Ifc4x3_add1::IfcTextPath::operator Ifc4x3_add1::IfcTextPath::Value() const { - return (Ifc4x3_add1::IfcTextPath::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcTextPath::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1211]); } @@ -5949,7 +5949,7 @@ Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Value Ifc4x3_add1::IfcTimeSeriesDataType } Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::operator Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Value() const { - return (Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcTrackElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1220]); } @@ -5976,7 +5976,7 @@ Ifc4x3_add1::IfcTrackElementTypeEnum::Value Ifc4x3_add1::IfcTrackElementTypeEnum } Ifc4x3_add1::IfcTrackElementTypeEnum::operator Ifc4x3_add1::IfcTrackElementTypeEnum::Value() const { - return (Ifc4x3_add1::IfcTrackElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcTrackElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcTransformerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1223]); } @@ -6003,7 +6003,7 @@ Ifc4x3_add1::IfcTransformerTypeEnum::Value Ifc4x3_add1::IfcTransformerTypeEnum:: } Ifc4x3_add1::IfcTransformerTypeEnum::operator Ifc4x3_add1::IfcTransformerTypeEnum::Value() const { - return (Ifc4x3_add1::IfcTransformerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcTransformerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcTransitionCode::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1224]); } @@ -6030,7 +6030,7 @@ Ifc4x3_add1::IfcTransitionCode::Value Ifc4x3_add1::IfcTransitionCode::FromString } Ifc4x3_add1::IfcTransitionCode::operator Ifc4x3_add1::IfcTransitionCode::Value() const { - return (Ifc4x3_add1::IfcTransitionCode::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcTransitionCode::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcTransportElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1230]); } @@ -6057,7 +6057,7 @@ Ifc4x3_add1::IfcTransportElementTypeEnum::Value Ifc4x3_add1::IfcTransportElement } Ifc4x3_add1::IfcTransportElementTypeEnum::operator Ifc4x3_add1::IfcTransportElementTypeEnum::Value() const { - return (Ifc4x3_add1::IfcTransportElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcTransportElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcTrimmingPreference::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1235]); } @@ -6084,7 +6084,7 @@ Ifc4x3_add1::IfcTrimmingPreference::Value Ifc4x3_add1::IfcTrimmingPreference::Fr } Ifc4x3_add1::IfcTrimmingPreference::operator Ifc4x3_add1::IfcTrimmingPreference::Value() const { - return (Ifc4x3_add1::IfcTrimmingPreference::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcTrimmingPreference::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcTubeBundleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1240]); } @@ -6111,7 +6111,7 @@ Ifc4x3_add1::IfcTubeBundleTypeEnum::Value Ifc4x3_add1::IfcTubeBundleTypeEnum::Fr } Ifc4x3_add1::IfcTubeBundleTypeEnum::operator Ifc4x3_add1::IfcTubeBundleTypeEnum::Value() const { - return (Ifc4x3_add1::IfcTubeBundleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcTubeBundleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcUnitEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1253]); } @@ -6138,7 +6138,7 @@ Ifc4x3_add1::IfcUnitEnum::Value Ifc4x3_add1::IfcUnitEnum::FromString(const std:: } Ifc4x3_add1::IfcUnitEnum::operator Ifc4x3_add1::IfcUnitEnum::Value() const { - return (Ifc4x3_add1::IfcUnitEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcUnitEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1248]); } @@ -6165,7 +6165,7 @@ Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Value Ifc4x3_add1::IfcUnitaryCont } Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::operator Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Value() const { - return (Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1251]); } @@ -6192,7 +6192,7 @@ Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3_add1::IfcUnitaryEquipment } Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::operator Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Value() const { - return (Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcValveTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1259]); } @@ -6219,7 +6219,7 @@ Ifc4x3_add1::IfcValveTypeEnum::Value Ifc4x3_add1::IfcValveTypeEnum::FromString(c } Ifc4x3_add1::IfcValveTypeEnum::operator Ifc4x3_add1::IfcValveTypeEnum::Value() const { - return (Ifc4x3_add1::IfcValveTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcValveTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcVehicleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1265]); } @@ -6246,7 +6246,7 @@ Ifc4x3_add1::IfcVehicleTypeEnum::Value Ifc4x3_add1::IfcVehicleTypeEnum::FromStri } Ifc4x3_add1::IfcVehicleTypeEnum::operator Ifc4x3_add1::IfcVehicleTypeEnum::Value() const { - return (Ifc4x3_add1::IfcVehicleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcVehicleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcVibrationDamperTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1271]); } @@ -6273,7 +6273,7 @@ Ifc4x3_add1::IfcVibrationDamperTypeEnum::Value Ifc4x3_add1::IfcVibrationDamperTy } Ifc4x3_add1::IfcVibrationDamperTypeEnum::operator Ifc4x3_add1::IfcVibrationDamperTypeEnum::Value() const { - return (Ifc4x3_add1::IfcVibrationDamperTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcVibrationDamperTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1274]); } @@ -6300,7 +6300,7 @@ Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Value Ifc4x3_add1::IfcVibrationIsolat } Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::operator Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Value() const { - return (Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcVirtualElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1276]); } @@ -6327,7 +6327,7 @@ Ifc4x3_add1::IfcVirtualElementTypeEnum::Value Ifc4x3_add1::IfcVirtualElementType } Ifc4x3_add1::IfcVirtualElementTypeEnum::operator Ifc4x3_add1::IfcVirtualElementTypeEnum::Value() const { - return (Ifc4x3_add1::IfcVirtualElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcVirtualElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcVoidingFeatureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1279]); } @@ -6354,7 +6354,7 @@ Ifc4x3_add1::IfcVoidingFeatureTypeEnum::Value Ifc4x3_add1::IfcVoidingFeatureType } Ifc4x3_add1::IfcVoidingFeatureTypeEnum::operator Ifc4x3_add1::IfcVoidingFeatureTypeEnum::Value() const { - return (Ifc4x3_add1::IfcVoidingFeatureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcVoidingFeatureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcWallTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1285]); } @@ -6381,7 +6381,7 @@ Ifc4x3_add1::IfcWallTypeEnum::Value Ifc4x3_add1::IfcWallTypeEnum::FromString(con } Ifc4x3_add1::IfcWallTypeEnum::operator Ifc4x3_add1::IfcWallTypeEnum::Value() const { - return (Ifc4x3_add1::IfcWallTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcWallTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcWasteTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1291]); } @@ -6408,7 +6408,7 @@ Ifc4x3_add1::IfcWasteTerminalTypeEnum::Value Ifc4x3_add1::IfcWasteTerminalTypeEn } Ifc4x3_add1::IfcWasteTerminalTypeEnum::operator Ifc4x3_add1::IfcWasteTerminalTypeEnum::Value() const { - return (Ifc4x3_add1::IfcWasteTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcWasteTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcWindowPanelOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1296]); } @@ -6435,7 +6435,7 @@ Ifc4x3_add1::IfcWindowPanelOperationEnum::Value Ifc4x3_add1::IfcWindowPanelOpera } Ifc4x3_add1::IfcWindowPanelOperationEnum::operator Ifc4x3_add1::IfcWindowPanelOperationEnum::Value() const { - return (Ifc4x3_add1::IfcWindowPanelOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcWindowPanelOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcWindowPanelPositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1297]); } @@ -6462,7 +6462,7 @@ Ifc4x3_add1::IfcWindowPanelPositionEnum::Value Ifc4x3_add1::IfcWindowPanelPositi } Ifc4x3_add1::IfcWindowPanelPositionEnum::operator Ifc4x3_add1::IfcWindowPanelPositionEnum::Value() const { - return (Ifc4x3_add1::IfcWindowPanelPositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcWindowPanelPositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcWindowTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1300]); } @@ -6489,7 +6489,7 @@ Ifc4x3_add1::IfcWindowTypeEnum::Value Ifc4x3_add1::IfcWindowTypeEnum::FromString } Ifc4x3_add1::IfcWindowTypeEnum::operator Ifc4x3_add1::IfcWindowTypeEnum::Value() const { - return (Ifc4x3_add1::IfcWindowTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcWindowTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcWindowTypePartitioningEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1301]); } @@ -6516,7 +6516,7 @@ Ifc4x3_add1::IfcWindowTypePartitioningEnum::Value Ifc4x3_add1::IfcWindowTypePart } Ifc4x3_add1::IfcWindowTypePartitioningEnum::operator Ifc4x3_add1::IfcWindowTypePartitioningEnum::Value() const { - return (Ifc4x3_add1::IfcWindowTypePartitioningEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcWindowTypePartitioningEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcWorkCalendarTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1303]); } @@ -6543,7 +6543,7 @@ Ifc4x3_add1::IfcWorkCalendarTypeEnum::Value Ifc4x3_add1::IfcWorkCalendarTypeEnum } Ifc4x3_add1::IfcWorkCalendarTypeEnum::operator Ifc4x3_add1::IfcWorkCalendarTypeEnum::Value() const { - return (Ifc4x3_add1::IfcWorkCalendarTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcWorkCalendarTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcWorkPlanTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1306]); } @@ -6570,7 +6570,7 @@ Ifc4x3_add1::IfcWorkPlanTypeEnum::Value Ifc4x3_add1::IfcWorkPlanTypeEnum::FromSt } Ifc4x3_add1::IfcWorkPlanTypeEnum::operator Ifc4x3_add1::IfcWorkPlanTypeEnum::Value() const { - return (Ifc4x3_add1::IfcWorkPlanTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcWorkPlanTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add1::IfcWorkScheduleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD1_types[1308]); } @@ -6597,7 +6597,7 @@ Ifc4x3_add1::IfcWorkScheduleTypeEnum::Value Ifc4x3_add1::IfcWorkScheduleTypeEnum } Ifc4x3_add1::IfcWorkScheduleTypeEnum::operator Ifc4x3_add1::IfcWorkScheduleTypeEnum::Value() const { - return (Ifc4x3_add1::IfcWorkScheduleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add1::IfcWorkScheduleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::select_type& Ifc4x3_add1::IfcActorSelect::Class() { return *((IfcParse::select_type*)IFC4X3_ADD1_types[8]); } @@ -6728,942 +6728,942 @@ const IfcParse::type_declaration& Ifc4x3_add1::IfcAbsorbedDoseMeasure::Class() { const IfcParse::type_declaration& Ifc4x3_add1::IfcAbsorbedDoseMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[0]); } Ifc4x3_add1::IfcAbsorbedDoseMeasure::IfcAbsorbedDoseMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcAbsorbedDoseMeasure::IfcAbsorbedDoseMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcAbsorbedDoseMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcAbsorbedDoseMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAccelerationMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcAccelerationMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcAccelerationMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1]); } Ifc4x3_add1::IfcAccelerationMeasure::IfcAccelerationMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcAccelerationMeasure::IfcAccelerationMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcAccelerationMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcAccelerationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAmountOfSubstanceMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcAmountOfSubstanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[42]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcAmountOfSubstanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[42]); } Ifc4x3_add1::IfcAmountOfSubstanceMeasure::IfcAmountOfSubstanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcAmountOfSubstanceMeasure::IfcAmountOfSubstanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcAmountOfSubstanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcAmountOfSubstanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAngularVelocityMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcAngularVelocityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[45]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcAngularVelocityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[45]); } Ifc4x3_add1::IfcAngularVelocityMeasure::IfcAngularVelocityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcAngularVelocityMeasure::IfcAngularVelocityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcAngularVelocityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcAngularVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcArcIndex const IfcParse::type_declaration& Ifc4x3_add1::IfcArcIndex::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[57]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcArcIndex::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[57]); } Ifc4x3_add1::IfcArcIndex::IfcArcIndex(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcArcIndex::IfcArcIndex(std::vector< int > /*[3:3]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return get_attribute_value(0); } // Function implementations for IfcAreaDensityMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcAreaDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[58]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcAreaDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[58]); } Ifc4x3_add1::IfcAreaDensityMeasure::IfcAreaDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcAreaDensityMeasure::IfcAreaDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcAreaDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcAreaDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAreaMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcAreaMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[59]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcAreaMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[59]); } Ifc4x3_add1::IfcAreaMeasure::IfcAreaMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcAreaMeasure::IfcAreaMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcAreaMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcAreaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcBinary const IfcParse::type_declaration& Ifc4x3_add1::IfcBinary::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[80]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcBinary::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[80]); } Ifc4x3_add1::IfcBinary::IfcBinary(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcBinary::IfcBinary(boost::dynamic_bitset<> v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcBinary::operator boost::dynamic_bitset<>() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcBinary::operator boost::dynamic_bitset<>() const { return get_attribute_value(0); } // Function implementations for IfcBoolean const IfcParse::type_declaration& Ifc4x3_add1::IfcBoolean::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[86]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcBoolean::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[86]); } Ifc4x3_add1::IfcBoolean::IfcBoolean(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcBoolean::IfcBoolean(bool v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcBoolean::operator bool() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcBoolean::operator bool() const { return get_attribute_value(0); } // Function implementations for IfcBoxAlignment const IfcParse::type_declaration& Ifc4x3_add1::IfcBoxAlignment::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[101]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcBoxAlignment::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[101]); } Ifc4x3_add1::IfcBoxAlignment::IfcBoxAlignment(IfcEntityInstanceData&& e) : IfcLabel(std::move(e)) { } Ifc4x3_add1::IfcBoxAlignment::IfcBoxAlignment(std::string v) : IfcLabel(v) { } -Ifc4x3_add1::IfcBoxAlignment::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcBoxAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcCardinalPointReference const IfcParse::type_declaration& Ifc4x3_add1::IfcCardinalPointReference::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[145]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcCardinalPointReference::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[145]); } Ifc4x3_add1::IfcCardinalPointReference::IfcCardinalPointReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcCardinalPointReference::IfcCardinalPointReference(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcCardinalPointReference::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcCardinalPointReference::operator int() const { return get_attribute_value(0); } // Function implementations for IfcComplexNumber const IfcParse::type_declaration& Ifc4x3_add1::IfcComplexNumber::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[188]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcComplexNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[188]); } Ifc4x3_add1::IfcComplexNumber::IfcComplexNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcComplexNumber::IfcComplexNumber(std::vector< double > /*[1:2]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return get_attribute_value(0); } // Function implementations for IfcCompoundPlaneAngleMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcCompoundPlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[196]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcCompoundPlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[196]); } Ifc4x3_add1::IfcCompoundPlaneAngleMeasure::IfcCompoundPlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcCompoundPlaneAngleMeasure::IfcCompoundPlaneAngleMeasure(std::vector< int > /*[3:4]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return get_attribute_value(0); } // Function implementations for IfcContextDependentMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcContextDependentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[226]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcContextDependentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[226]); } Ifc4x3_add1::IfcContextDependentMeasure::IfcContextDependentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcContextDependentMeasure::IfcContextDependentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcContextDependentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcContextDependentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCountMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcCountMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[252]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcCountMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[252]); } Ifc4x3_add1::IfcCountMeasure::IfcCountMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcCountMeasure::IfcCountMeasure(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcCountMeasure::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcCountMeasure::operator int() const { return get_attribute_value(0); } // Function implementations for IfcCurvatureMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcCurvatureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[270]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcCurvatureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[270]); } Ifc4x3_add1::IfcCurvatureMeasure::IfcCurvatureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcCurvatureMeasure::IfcCurvatureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcCurvatureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcCurvatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDate const IfcParse::type_declaration& Ifc4x3_add1::IfcDate::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[290]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcDate::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[290]); } Ifc4x3_add1::IfcDate::IfcDate(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcDate::IfcDate(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcDate::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcDate::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDateTime const IfcParse::type_declaration& Ifc4x3_add1::IfcDateTime::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[291]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcDateTime::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[291]); } Ifc4x3_add1::IfcDateTime::IfcDateTime(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcDateTime::IfcDateTime(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcDateTime::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcDateTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDayInMonthNumber const IfcParse::type_declaration& Ifc4x3_add1::IfcDayInMonthNumber::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[292]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcDayInMonthNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[292]); } Ifc4x3_add1::IfcDayInMonthNumber::IfcDayInMonthNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcDayInMonthNumber::IfcDayInMonthNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcDayInMonthNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcDayInMonthNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDayInWeekNumber const IfcParse::type_declaration& Ifc4x3_add1::IfcDayInWeekNumber::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[293]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcDayInWeekNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[293]); } Ifc4x3_add1::IfcDayInWeekNumber::IfcDayInWeekNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcDayInWeekNumber::IfcDayInWeekNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcDayInWeekNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcDayInWeekNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDescriptiveMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcDescriptiveMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[302]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcDescriptiveMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[302]); } Ifc4x3_add1::IfcDescriptiveMeasure::IfcDescriptiveMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcDescriptiveMeasure::IfcDescriptiveMeasure(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcDescriptiveMeasure::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcDescriptiveMeasure::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDimensionCount const IfcParse::type_declaration& Ifc4x3_add1::IfcDimensionCount::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[304]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcDimensionCount::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[304]); } Ifc4x3_add1::IfcDimensionCount::IfcDimensionCount(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcDimensionCount::IfcDimensionCount(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcDimensionCount::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcDimensionCount::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDoseEquivalentMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcDoseEquivalentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[343]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcDoseEquivalentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[343]); } Ifc4x3_add1::IfcDoseEquivalentMeasure::IfcDoseEquivalentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcDoseEquivalentMeasure::IfcDoseEquivalentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcDoseEquivalentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcDoseEquivalentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDuration const IfcParse::type_declaration& Ifc4x3_add1::IfcDuration::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[355]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcDuration::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[355]); } Ifc4x3_add1::IfcDuration::IfcDuration(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcDuration::IfcDuration(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcDuration::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcDuration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDynamicViscosityMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcDynamicViscosityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[356]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcDynamicViscosityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[356]); } Ifc4x3_add1::IfcDynamicViscosityMeasure::IfcDynamicViscosityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcDynamicViscosityMeasure::IfcDynamicViscosityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcDynamicViscosityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcDynamicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCapacitanceMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcElectricCapacitanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[368]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcElectricCapacitanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[368]); } Ifc4x3_add1::IfcElectricCapacitanceMeasure::IfcElectricCapacitanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcElectricCapacitanceMeasure::IfcElectricCapacitanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcElectricCapacitanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcElectricCapacitanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricChargeMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcElectricChargeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[369]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcElectricChargeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[369]); } Ifc4x3_add1::IfcElectricChargeMeasure::IfcElectricChargeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcElectricChargeMeasure::IfcElectricChargeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcElectricChargeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcElectricChargeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricConductanceMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcElectricConductanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[370]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcElectricConductanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[370]); } Ifc4x3_add1::IfcElectricConductanceMeasure::IfcElectricConductanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcElectricConductanceMeasure::IfcElectricConductanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcElectricConductanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcElectricConductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCurrentMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcElectricCurrentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[371]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcElectricCurrentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[371]); } Ifc4x3_add1::IfcElectricCurrentMeasure::IfcElectricCurrentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcElectricCurrentMeasure::IfcElectricCurrentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcElectricCurrentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcElectricCurrentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricResistanceMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcElectricResistanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[387]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcElectricResistanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[387]); } Ifc4x3_add1::IfcElectricResistanceMeasure::IfcElectricResistanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcElectricResistanceMeasure::IfcElectricResistanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcElectricResistanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcElectricResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricVoltageMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcElectricVoltageMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[391]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcElectricVoltageMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[391]); } Ifc4x3_add1::IfcElectricVoltageMeasure::IfcElectricVoltageMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcElectricVoltageMeasure::IfcElectricVoltageMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcElectricVoltageMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcElectricVoltageMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcEnergyMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcEnergyMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[406]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcEnergyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[406]); } Ifc4x3_add1::IfcEnergyMeasure::IfcEnergyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcEnergyMeasure::IfcEnergyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcEnergyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcEnergyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFontStyle const IfcParse::type_declaration& Ifc4x3_add1::IfcFontStyle::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[487]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcFontStyle::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[487]); } Ifc4x3_add1::IfcFontStyle::IfcFontStyle(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcFontStyle::IfcFontStyle(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcFontStyle::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcFontStyle::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontVariant const IfcParse::type_declaration& Ifc4x3_add1::IfcFontVariant::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[488]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcFontVariant::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[488]); } Ifc4x3_add1::IfcFontVariant::IfcFontVariant(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcFontVariant::IfcFontVariant(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcFontVariant::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcFontVariant::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontWeight const IfcParse::type_declaration& Ifc4x3_add1::IfcFontWeight::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[489]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcFontWeight::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[489]); } Ifc4x3_add1::IfcFontWeight::IfcFontWeight(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcFontWeight::IfcFontWeight(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcFontWeight::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcFontWeight::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcForceMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[493]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[493]); } Ifc4x3_add1::IfcForceMeasure::IfcForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcForceMeasure::IfcForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFrequencyMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcFrequencyMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[494]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcFrequencyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[494]); } Ifc4x3_add1::IfcFrequencyMeasure::IfcFrequencyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcFrequencyMeasure::IfcFrequencyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcFrequencyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcGloballyUniqueId const IfcParse::type_declaration& Ifc4x3_add1::IfcGloballyUniqueId::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[517]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcGloballyUniqueId::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[517]); } Ifc4x3_add1::IfcGloballyUniqueId::IfcGloballyUniqueId(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcGloballyUniqueId::IfcGloballyUniqueId(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcGloballyUniqueId::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcGloballyUniqueId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcHeatFluxDensityMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcHeatFluxDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[531]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcHeatFluxDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[531]); } Ifc4x3_add1::IfcHeatFluxDensityMeasure::IfcHeatFluxDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcHeatFluxDensityMeasure::IfcHeatFluxDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcHeatFluxDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcHeatFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcHeatingValueMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcHeatingValueMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[532]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcHeatingValueMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[532]); } Ifc4x3_add1::IfcHeatingValueMeasure::IfcHeatingValueMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcHeatingValueMeasure::IfcHeatingValueMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcHeatingValueMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcHeatingValueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIdentifier const IfcParse::type_declaration& Ifc4x3_add1::IfcIdentifier::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[536]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcIdentifier::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[536]); } Ifc4x3_add1::IfcIdentifier::IfcIdentifier(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcIdentifier::IfcIdentifier(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcIdentifier::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcIdentifier::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcIlluminanceMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcIlluminanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[537]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcIlluminanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[537]); } Ifc4x3_add1::IfcIlluminanceMeasure::IfcIlluminanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcIlluminanceMeasure::IfcIlluminanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcIlluminanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcIlluminanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInductanceMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcInductanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[549]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcInductanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[549]); } Ifc4x3_add1::IfcInductanceMeasure::IfcInductanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcInductanceMeasure::IfcInductanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcInductanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcInductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInteger const IfcParse::type_declaration& Ifc4x3_add1::IfcInteger::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[550]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcInteger::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[550]); } Ifc4x3_add1::IfcInteger::IfcInteger(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcInteger::IfcInteger(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcInteger::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIntegerCountRateMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcIntegerCountRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[551]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcIntegerCountRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[551]); } Ifc4x3_add1::IfcIntegerCountRateMeasure::IfcIntegerCountRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcIntegerCountRateMeasure::IfcIntegerCountRateMeasure(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcIntegerCountRateMeasure::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcIntegerCountRateMeasure::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIonConcentrationMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcIonConcentrationMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[560]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcIonConcentrationMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[560]); } Ifc4x3_add1::IfcIonConcentrationMeasure::IfcIonConcentrationMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcIonConcentrationMeasure::IfcIonConcentrationMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcIonConcentrationMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcIonConcentrationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIsothermalMoistureCapacityMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcIsothermalMoistureCapacityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[564]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcIsothermalMoistureCapacityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[564]); } Ifc4x3_add1::IfcIsothermalMoistureCapacityMeasure::IfcIsothermalMoistureCapacityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcIsothermalMoistureCapacityMeasure::IfcIsothermalMoistureCapacityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcIsothermalMoistureCapacityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcIsothermalMoistureCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcKinematicViscosityMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcKinematicViscosityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[571]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcKinematicViscosityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[571]); } Ifc4x3_add1::IfcKinematicViscosityMeasure::IfcKinematicViscosityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcKinematicViscosityMeasure::IfcKinematicViscosityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcKinematicViscosityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcKinematicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLabel const IfcParse::type_declaration& Ifc4x3_add1::IfcLabel::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[573]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcLabel::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[573]); } Ifc4x3_add1::IfcLabel::IfcLabel(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcLabel::IfcLabel(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcLabel::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcLabel::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLanguageId const IfcParse::type_declaration& Ifc4x3_add1::IfcLanguageId::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[581]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcLanguageId::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[581]); } Ifc4x3_add1::IfcLanguageId::IfcLanguageId(IfcEntityInstanceData&& e) : IfcIdentifier(std::move(e)) { } Ifc4x3_add1::IfcLanguageId::IfcLanguageId(std::string v) : IfcIdentifier(v) { } -Ifc4x3_add1::IfcLanguageId::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcLanguageId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLengthMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[584]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[584]); } Ifc4x3_add1::IfcLengthMeasure::IfcLengthMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcLengthMeasure::IfcLengthMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLineIndex const IfcParse::type_declaration& Ifc4x3_add1::IfcLineIndex::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[610]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcLineIndex::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[610]); } Ifc4x3_add1::IfcLineIndex::IfcLineIndex(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcLineIndex::IfcLineIndex(std::vector< int > /*[2:?]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return get_attribute_value(0); } // Function implementations for IfcLinearForceMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcLinearForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[604]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcLinearForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[604]); } Ifc4x3_add1::IfcLinearForceMeasure::IfcLinearForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcLinearForceMeasure::IfcLinearForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcLinearForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcLinearForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearMomentMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcLinearMomentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[605]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcLinearMomentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[605]); } Ifc4x3_add1::IfcLinearMomentMeasure::IfcLinearMomentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcLinearMomentMeasure::IfcLinearMomentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcLinearMomentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcLinearMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearStiffnessMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcLinearStiffnessMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[608]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcLinearStiffnessMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[608]); } Ifc4x3_add1::IfcLinearStiffnessMeasure::IfcLinearStiffnessMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcLinearStiffnessMeasure::IfcLinearStiffnessMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcLinearStiffnessMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcLinearStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearVelocityMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcLinearVelocityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[609]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcLinearVelocityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[609]); } Ifc4x3_add1::IfcLinearVelocityMeasure::IfcLinearVelocityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcLinearVelocityMeasure::IfcLinearVelocityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcLinearVelocityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcLinearVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLogical const IfcParse::type_declaration& Ifc4x3_add1::IfcLogical::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[616]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcLogical::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[616]); } Ifc4x3_add1::IfcLogical::IfcLogical(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcLogical::IfcLogical(boost::logic::tribool v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcLogical::operator boost::logic::tribool() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcLogical::operator boost::logic::tribool() const { return get_attribute_value(0); } // Function implementations for IfcLuminousFluxMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcLuminousFluxMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[620]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcLuminousFluxMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[620]); } Ifc4x3_add1::IfcLuminousFluxMeasure::IfcLuminousFluxMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcLuminousFluxMeasure::IfcLuminousFluxMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcLuminousFluxMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcLuminousFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityDistributionMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcLuminousIntensityDistributionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[621]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcLuminousIntensityDistributionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[621]); } Ifc4x3_add1::IfcLuminousIntensityDistributionMeasure::IfcLuminousIntensityDistributionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcLuminousIntensityDistributionMeasure::IfcLuminousIntensityDistributionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcLuminousIntensityDistributionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcLuminousIntensityDistributionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcLuminousIntensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[622]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcLuminousIntensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[622]); } Ifc4x3_add1::IfcLuminousIntensityMeasure::IfcLuminousIntensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcLuminousIntensityMeasure::IfcLuminousIntensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcLuminousIntensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcLuminousIntensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxDensityMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcMagneticFluxDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[623]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcMagneticFluxDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[623]); } Ifc4x3_add1::IfcMagneticFluxDensityMeasure::IfcMagneticFluxDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcMagneticFluxDensityMeasure::IfcMagneticFluxDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcMagneticFluxDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcMagneticFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcMagneticFluxMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[624]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcMagneticFluxMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[624]); } Ifc4x3_add1::IfcMagneticFluxMeasure::IfcMagneticFluxMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcMagneticFluxMeasure::IfcMagneticFluxMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcMagneticFluxMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcMagneticFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassDensityMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcMassDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[633]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcMassDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[633]); } Ifc4x3_add1::IfcMassDensityMeasure::IfcMassDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcMassDensityMeasure::IfcMassDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcMassDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcMassDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassFlowRateMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcMassFlowRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[634]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcMassFlowRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[634]); } Ifc4x3_add1::IfcMassFlowRateMeasure::IfcMassFlowRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcMassFlowRateMeasure::IfcMassFlowRateMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcMassFlowRateMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcMassFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcMassMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[635]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcMassMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[635]); } Ifc4x3_add1::IfcMassMeasure::IfcMassMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcMassMeasure::IfcMassMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcMassMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassPerLengthMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcMassPerLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[636]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcMassPerLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[636]); } Ifc4x3_add1::IfcMassPerLengthMeasure::IfcMassPerLengthMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcMassPerLengthMeasure::IfcMassPerLengthMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcMassPerLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcMassPerLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfElasticityMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcModulusOfElasticityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[674]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcModulusOfElasticityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[674]); } Ifc4x3_add1::IfcModulusOfElasticityMeasure::IfcModulusOfElasticityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcModulusOfElasticityMeasure::IfcModulusOfElasticityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcModulusOfElasticityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcModulusOfElasticityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfLinearSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcModulusOfLinearSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[675]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcModulusOfLinearSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[675]); } Ifc4x3_add1::IfcModulusOfLinearSubgradeReactionMeasure::IfcModulusOfLinearSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcModulusOfLinearSubgradeReactionMeasure::IfcModulusOfLinearSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfRotationalSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[676]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[676]); } Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionMeasure::IfcModulusOfRotationalSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionMeasure::IfcModulusOfRotationalSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcModulusOfSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[678]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcModulusOfSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[678]); } Ifc4x3_add1::IfcModulusOfSubgradeReactionMeasure::IfcModulusOfSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcModulusOfSubgradeReactionMeasure::IfcModulusOfSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcModulusOfSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcModulusOfSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMoistureDiffusivityMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcMoistureDiffusivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[681]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcMoistureDiffusivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[681]); } Ifc4x3_add1::IfcMoistureDiffusivityMeasure::IfcMoistureDiffusivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcMoistureDiffusivityMeasure::IfcMoistureDiffusivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcMoistureDiffusivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcMoistureDiffusivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMolecularWeightMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcMolecularWeightMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[682]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcMolecularWeightMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[682]); } Ifc4x3_add1::IfcMolecularWeightMeasure::IfcMolecularWeightMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcMolecularWeightMeasure::IfcMolecularWeightMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcMolecularWeightMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcMolecularWeightMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMomentOfInertiaMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcMomentOfInertiaMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[683]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcMomentOfInertiaMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[683]); } Ifc4x3_add1::IfcMomentOfInertiaMeasure::IfcMomentOfInertiaMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcMomentOfInertiaMeasure::IfcMomentOfInertiaMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcMomentOfInertiaMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcMomentOfInertiaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonetaryMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcMonetaryMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[684]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcMonetaryMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[684]); } Ifc4x3_add1::IfcMonetaryMeasure::IfcMonetaryMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcMonetaryMeasure::IfcMonetaryMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcMonetaryMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcMonetaryMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonthInYearNumber const IfcParse::type_declaration& Ifc4x3_add1::IfcMonthInYearNumber::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[686]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcMonthInYearNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[686]); } Ifc4x3_add1::IfcMonthInYearNumber::IfcMonthInYearNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcMonthInYearNumber::IfcMonthInYearNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcMonthInYearNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcMonthInYearNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcNonNegativeLengthMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcNonNegativeLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[697]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcNonNegativeLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[697]); } Ifc4x3_add1::IfcNonNegativeLengthMeasure::IfcNonNegativeLengthMeasure(IfcEntityInstanceData&& e) : IfcLengthMeasure(std::move(e)) { } Ifc4x3_add1::IfcNonNegativeLengthMeasure::IfcNonNegativeLengthMeasure(double v) : IfcLengthMeasure(v) { } -Ifc4x3_add1::IfcNonNegativeLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcNonNegativeLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNormalisedRatioMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcNormalisedRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[698]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcNormalisedRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[698]); } Ifc4x3_add1::IfcNormalisedRatioMeasure::IfcNormalisedRatioMeasure(IfcEntityInstanceData&& e) : IfcRatioMeasure(std::move(e)) { } Ifc4x3_add1::IfcNormalisedRatioMeasure::IfcNormalisedRatioMeasure(double v) : IfcRatioMeasure(v) { } -Ifc4x3_add1::IfcNormalisedRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcNormalisedRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNumericMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcNumericMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[699]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcNumericMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[699]); } Ifc4x3_add1::IfcNumericMeasure::IfcNumericMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcNumericMeasure::IfcNumericMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcNumericMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcNumericMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPHMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcPHMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[739]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcPHMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[739]); } Ifc4x3_add1::IfcPHMeasure::IfcPHMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcPHMeasure::IfcPHMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcPHMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcPHMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcParameterValue const IfcParse::type_declaration& Ifc4x3_add1::IfcParameterValue::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[725]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcParameterValue::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[725]); } Ifc4x3_add1::IfcParameterValue::IfcParameterValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcParameterValue::IfcParameterValue(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcParameterValue::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcParameterValue::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlanarForceMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcPlanarForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[758]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcPlanarForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[758]); } Ifc4x3_add1::IfcPlanarForceMeasure::IfcPlanarForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcPlanarForceMeasure::IfcPlanarForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcPlanarForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcPlanarForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlaneAngleMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcPlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[760]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcPlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[760]); } Ifc4x3_add1::IfcPlaneAngleMeasure::IfcPlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcPlaneAngleMeasure::IfcPlaneAngleMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcPlaneAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcPlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveInteger const IfcParse::type_declaration& Ifc4x3_add1::IfcPositiveInteger::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[776]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcPositiveInteger::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[776]); } Ifc4x3_add1::IfcPositiveInteger::IfcPositiveInteger(IfcEntityInstanceData&& e) : IfcInteger(std::move(e)) { } Ifc4x3_add1::IfcPositiveInteger::IfcPositiveInteger(int v) : IfcInteger(v) { } -Ifc4x3_add1::IfcPositiveInteger::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcPositiveInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcPositiveLengthMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcPositiveLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[777]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcPositiveLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[777]); } Ifc4x3_add1::IfcPositiveLengthMeasure::IfcPositiveLengthMeasure(IfcEntityInstanceData&& e) : IfcLengthMeasure(std::move(e)) { } Ifc4x3_add1::IfcPositiveLengthMeasure::IfcPositiveLengthMeasure(double v) : IfcLengthMeasure(v) { } -Ifc4x3_add1::IfcPositiveLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcPositiveLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositivePlaneAngleMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcPositivePlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[778]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcPositivePlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[778]); } Ifc4x3_add1::IfcPositivePlaneAngleMeasure::IfcPositivePlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcPlaneAngleMeasure(std::move(e)) { } Ifc4x3_add1::IfcPositivePlaneAngleMeasure::IfcPositivePlaneAngleMeasure(double v) : IfcPlaneAngleMeasure(v) { } -Ifc4x3_add1::IfcPositivePlaneAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcPositivePlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveRatioMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcPositiveRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[779]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcPositiveRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[779]); } Ifc4x3_add1::IfcPositiveRatioMeasure::IfcPositiveRatioMeasure(IfcEntityInstanceData&& e) : IfcRatioMeasure(std::move(e)) { } Ifc4x3_add1::IfcPositiveRatioMeasure::IfcPositiveRatioMeasure(double v) : IfcRatioMeasure(v) { } -Ifc4x3_add1::IfcPositiveRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcPositiveRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPowerMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcPowerMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[781]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcPowerMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[781]); } Ifc4x3_add1::IfcPowerMeasure::IfcPowerMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcPowerMeasure::IfcPowerMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcPowerMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPresentableText const IfcParse::type_declaration& Ifc4x3_add1::IfcPresentableText::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[789]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcPresentableText::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[789]); } Ifc4x3_add1::IfcPresentableText::IfcPresentableText(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcPresentableText::IfcPresentableText(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcPresentableText::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcPresentableText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcPressureMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcPressureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[794]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcPressureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[794]); } Ifc4x3_add1::IfcPressureMeasure::IfcPressureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcPressureMeasure::IfcPressureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcPressureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPropertySetDefinitionSet const IfcParse::type_declaration& Ifc4x3_add1::IfcPropertySetDefinitionSet::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[828]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcPropertySetDefinitionSet::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[828]); } Ifc4x3_add1::IfcPropertySetDefinitionSet::IfcPropertySetDefinitionSet(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcPropertySetDefinitionSet::IfcPropertySetDefinitionSet(aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v->generalize()); } -Ifc4x3_add1::IfcPropertySetDefinitionSet::operator aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcPropertySetDefinition >(); } +Ifc4x3_add1::IfcPropertySetDefinitionSet::operator aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcPropertySetDefinition >(); } // Function implementations for IfcRadioActivityMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcRadioActivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[852]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcRadioActivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[852]); } Ifc4x3_add1::IfcRadioActivityMeasure::IfcRadioActivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcRadioActivityMeasure::IfcRadioActivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcRadioActivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcRadioActivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRatioMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[869]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[869]); } Ifc4x3_add1::IfcRatioMeasure::IfcRatioMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcRatioMeasure::IfcRatioMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcReal const IfcParse::type_declaration& Ifc4x3_add1::IfcReal::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[872]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcReal::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[872]); } Ifc4x3_add1::IfcReal::IfcReal(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcReal::IfcReal(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcReal::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcReal::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalFrequencyMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcRotationalFrequencyMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[975]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcRotationalFrequencyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[975]); } Ifc4x3_add1::IfcRotationalFrequencyMeasure::IfcRotationalFrequencyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcRotationalFrequencyMeasure::IfcRotationalFrequencyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcRotationalFrequencyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcRotationalFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalMassMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcRotationalMassMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[976]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcRotationalMassMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[976]); } Ifc4x3_add1::IfcRotationalMassMeasure::IfcRotationalMassMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcRotationalMassMeasure::IfcRotationalMassMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcRotationalMassMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcRotationalMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalStiffnessMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcRotationalStiffnessMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[977]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcRotationalStiffnessMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[977]); } Ifc4x3_add1::IfcRotationalStiffnessMeasure::IfcRotationalStiffnessMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcRotationalStiffnessMeasure::IfcRotationalStiffnessMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcRotationalStiffnessMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcRotationalStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionModulusMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcSectionModulusMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[991]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcSectionModulusMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[991]); } Ifc4x3_add1::IfcSectionModulusMeasure::IfcSectionModulusMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcSectionModulusMeasure::IfcSectionModulusMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcSectionModulusMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcSectionModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionalAreaIntegralMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcSectionalAreaIntegralMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[986]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcSectionalAreaIntegralMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[986]); } Ifc4x3_add1::IfcSectionalAreaIntegralMeasure::IfcSectionalAreaIntegralMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcSectionalAreaIntegralMeasure::IfcSectionalAreaIntegralMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcSectionalAreaIntegralMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcSectionalAreaIntegralMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcShearModulusMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcShearModulusMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1009]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcShearModulusMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1009]); } Ifc4x3_add1::IfcShearModulusMeasure::IfcShearModulusMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcShearModulusMeasure::IfcShearModulusMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcShearModulusMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcShearModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSolidAngleMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcSolidAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1035]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcSolidAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1035]); } Ifc4x3_add1::IfcSolidAngleMeasure::IfcSolidAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcSolidAngleMeasure::IfcSolidAngleMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcSolidAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcSolidAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerLevelMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcSoundPowerLevelMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1038]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcSoundPowerLevelMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1038]); } Ifc4x3_add1::IfcSoundPowerLevelMeasure::IfcSoundPowerLevelMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcSoundPowerLevelMeasure::IfcSoundPowerLevelMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcSoundPowerLevelMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcSoundPowerLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcSoundPowerMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1039]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcSoundPowerMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1039]); } Ifc4x3_add1::IfcSoundPowerMeasure::IfcSoundPowerMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcSoundPowerMeasure::IfcSoundPowerMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcSoundPowerMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcSoundPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureLevelMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcSoundPressureLevelMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1040]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcSoundPressureLevelMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1040]); } Ifc4x3_add1::IfcSoundPressureLevelMeasure::IfcSoundPressureLevelMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcSoundPressureLevelMeasure::IfcSoundPressureLevelMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcSoundPressureLevelMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcSoundPressureLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcSoundPressureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1041]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcSoundPressureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1041]); } Ifc4x3_add1::IfcSoundPressureMeasure::IfcSoundPressureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcSoundPressureMeasure::IfcSoundPressureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcSoundPressureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcSoundPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecificHeatCapacityMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcSpecificHeatCapacityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1057]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcSpecificHeatCapacityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1057]); } Ifc4x3_add1::IfcSpecificHeatCapacityMeasure::IfcSpecificHeatCapacityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcSpecificHeatCapacityMeasure::IfcSpecificHeatCapacityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcSpecificHeatCapacityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcSpecificHeatCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularExponent const IfcParse::type_declaration& Ifc4x3_add1::IfcSpecularExponent::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1058]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcSpecularExponent::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1058]); } Ifc4x3_add1::IfcSpecularExponent::IfcSpecularExponent(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcSpecularExponent::IfcSpecularExponent(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcSpecularExponent::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcSpecularExponent::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularRoughness const IfcParse::type_declaration& Ifc4x3_add1::IfcSpecularRoughness::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1060]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcSpecularRoughness::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1060]); } Ifc4x3_add1::IfcSpecularRoughness::IfcSpecularRoughness(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcSpecularRoughness::IfcSpecularRoughness(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcSpecularRoughness::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcSpecularRoughness::operator double() const { return get_attribute_value(0); } // Function implementations for IfcStrippedOptional const IfcParse::type_declaration& Ifc4x3_add1::IfcStrippedOptional::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1074]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcStrippedOptional::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1074]); } Ifc4x3_add1::IfcStrippedOptional::IfcStrippedOptional(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcStrippedOptional::IfcStrippedOptional(bool v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcStrippedOptional::operator bool() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcStrippedOptional::operator bool() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureGradientMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcTemperatureGradientMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1166]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcTemperatureGradientMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1166]); } Ifc4x3_add1::IfcTemperatureGradientMeasure::IfcTemperatureGradientMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcTemperatureGradientMeasure::IfcTemperatureGradientMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcTemperatureGradientMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcTemperatureGradientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureRateOfChangeMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcTemperatureRateOfChangeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1167]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcTemperatureRateOfChangeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1167]); } Ifc4x3_add1::IfcTemperatureRateOfChangeMeasure::IfcTemperatureRateOfChangeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcTemperatureRateOfChangeMeasure::IfcTemperatureRateOfChangeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcTemperatureRateOfChangeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcTemperatureRateOfChangeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcText const IfcParse::type_declaration& Ifc4x3_add1::IfcText::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1179]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcText::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1179]); } Ifc4x3_add1::IfcText::IfcText(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcText::IfcText(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcText::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextAlignment const IfcParse::type_declaration& Ifc4x3_add1::IfcTextAlignment::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1180]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcTextAlignment::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1180]); } Ifc4x3_add1::IfcTextAlignment::IfcTextAlignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcTextAlignment::IfcTextAlignment(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcTextAlignment::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcTextAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextDecoration const IfcParse::type_declaration& Ifc4x3_add1::IfcTextDecoration::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1181]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcTextDecoration::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1181]); } Ifc4x3_add1::IfcTextDecoration::IfcTextDecoration(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcTextDecoration::IfcTextDecoration(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcTextDecoration::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcTextDecoration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextFontName const IfcParse::type_declaration& Ifc4x3_add1::IfcTextFontName::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1182]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcTextFontName::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1182]); } Ifc4x3_add1::IfcTextFontName::IfcTextFontName(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcTextFontName::IfcTextFontName(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcTextFontName::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcTextFontName::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextTransformation const IfcParse::type_declaration& Ifc4x3_add1::IfcTextTransformation::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1191]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcTextTransformation::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1191]); } Ifc4x3_add1::IfcTextTransformation::IfcTextTransformation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcTextTransformation::IfcTextTransformation(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcTextTransformation::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcTextTransformation::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcThermalAdmittanceMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcThermalAdmittanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1199]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcThermalAdmittanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1199]); } Ifc4x3_add1::IfcThermalAdmittanceMeasure::IfcThermalAdmittanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcThermalAdmittanceMeasure::IfcThermalAdmittanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcThermalAdmittanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcThermalAdmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalConductivityMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcThermalConductivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1200]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcThermalConductivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1200]); } Ifc4x3_add1::IfcThermalConductivityMeasure::IfcThermalConductivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcThermalConductivityMeasure::IfcThermalConductivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcThermalConductivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcThermalConductivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalExpansionCoefficientMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcThermalExpansionCoefficientMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1201]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcThermalExpansionCoefficientMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1201]); } Ifc4x3_add1::IfcThermalExpansionCoefficientMeasure::IfcThermalExpansionCoefficientMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcThermalExpansionCoefficientMeasure::IfcThermalExpansionCoefficientMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcThermalExpansionCoefficientMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcThermalExpansionCoefficientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalResistanceMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcThermalResistanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1202]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcThermalResistanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1202]); } Ifc4x3_add1::IfcThermalResistanceMeasure::IfcThermalResistanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcThermalResistanceMeasure::IfcThermalResistanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcThermalResistanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcThermalResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalTransmittanceMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcThermalTransmittanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1203]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcThermalTransmittanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1203]); } Ifc4x3_add1::IfcThermalTransmittanceMeasure::IfcThermalTransmittanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcThermalTransmittanceMeasure::IfcThermalTransmittanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcThermalTransmittanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcThermalTransmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermodynamicTemperatureMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcThermodynamicTemperatureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1204]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcThermodynamicTemperatureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1204]); } Ifc4x3_add1::IfcThermodynamicTemperatureMeasure::IfcThermodynamicTemperatureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcThermodynamicTemperatureMeasure::IfcThermodynamicTemperatureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcThermodynamicTemperatureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcThermodynamicTemperatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTime const IfcParse::type_declaration& Ifc4x3_add1::IfcTime::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1206]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcTime::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1206]); } Ifc4x3_add1::IfcTime::IfcTime(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcTime::IfcTime(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcTime::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTimeMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcTimeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1207]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcTimeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1207]); } Ifc4x3_add1::IfcTimeMeasure::IfcTimeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcTimeMeasure::IfcTimeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcTimeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcTimeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTimeStamp const IfcParse::type_declaration& Ifc4x3_add1::IfcTimeStamp::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1213]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcTimeStamp::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1213]); } Ifc4x3_add1::IfcTimeStamp::IfcTimeStamp(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcTimeStamp::IfcTimeStamp(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcTimeStamp::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcTimeStamp::operator int() const { return get_attribute_value(0); } // Function implementations for IfcTorqueMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcTorqueMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1217]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcTorqueMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1217]); } Ifc4x3_add1::IfcTorqueMeasure::IfcTorqueMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcTorqueMeasure::IfcTorqueMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcTorqueMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcTorqueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcURIReference const IfcParse::type_declaration& Ifc4x3_add1::IfcURIReference::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1254]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcURIReference::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1254]); } Ifc4x3_add1::IfcURIReference::IfcURIReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcURIReference::IfcURIReference(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcURIReference::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcURIReference::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcVaporPermeabilityMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcVaporPermeabilityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1260]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcVaporPermeabilityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1260]); } Ifc4x3_add1::IfcVaporPermeabilityMeasure::IfcVaporPermeabilityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcVaporPermeabilityMeasure::IfcVaporPermeabilityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcVaporPermeabilityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcVaporPermeabilityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumeMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcVolumeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1280]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcVolumeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1280]); } Ifc4x3_add1::IfcVolumeMeasure::IfcVolumeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcVolumeMeasure::IfcVolumeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcVolumeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcVolumeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumetricFlowRateMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcVolumetricFlowRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1281]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcVolumetricFlowRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1281]); } Ifc4x3_add1::IfcVolumetricFlowRateMeasure::IfcVolumetricFlowRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcVolumetricFlowRateMeasure::IfcVolumetricFlowRateMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcVolumetricFlowRateMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcVolumetricFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingConstantMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcWarpingConstantMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1286]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcWarpingConstantMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1286]); } Ifc4x3_add1::IfcWarpingConstantMeasure::IfcWarpingConstantMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcWarpingConstantMeasure::IfcWarpingConstantMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcWarpingConstantMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcWarpingConstantMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingMomentMeasure const IfcParse::type_declaration& Ifc4x3_add1::IfcWarpingMomentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1287]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcWarpingMomentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1287]); } Ifc4x3_add1::IfcWarpingMomentMeasure::IfcWarpingMomentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcWarpingMomentMeasure::IfcWarpingMomentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcWarpingMomentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcWarpingMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWellKnownTextLiteral const IfcParse::type_declaration& Ifc4x3_add1::IfcWellKnownTextLiteral::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1293]); } const IfcParse::type_declaration& Ifc4x3_add1::IfcWellKnownTextLiteral::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD1_types[1293]); } Ifc4x3_add1::IfcWellKnownTextLiteral::IfcWellKnownTextLiteral(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add1::IfcWellKnownTextLiteral::IfcWellKnownTextLiteral(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add1::IfcWellKnownTextLiteral::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add1::IfcWellKnownTextLiteral::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcActionRequest -boost::optional< ::Ifc4x3_add1::IfcActionRequestTypeEnum::Value > Ifc4x3_add1::IfcActionRequest::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcActionRequestTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_add1::IfcActionRequestTypeEnum::Value > Ifc4x3_add1::IfcActionRequest::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcActionRequestTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_add1::IfcActionRequest::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcActionRequestTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_add1::IfcActionRequestTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_add1::IfcActionRequest::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcActionRequest::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcActionRequest::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_add1::IfcActionRequest::LongDescription() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcActionRequest::LongDescription() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcActionRequest::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcActionRequest::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[2]); } const IfcParse::entity& Ifc4x3_add1::IfcActionRequest::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[2]); } Ifc4x3_add1::IfcActionRequest::IfcActionRequest(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_add1::IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcActionRequestTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add1::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } +Ifc4x3_add1::IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcActionRequestTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add1::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } // Function implementations for IfcActor -::Ifc4x3_add1::IfcActorSelect* Ifc4x3_add1::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcActorSelect>(true); } +::Ifc4x3_add1::IfcActorSelect* Ifc4x3_add1::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcActorSelect>(true); } void Ifc4x3_add1::IfcActor::setTheActor(::Ifc4x3_add1::IfcActorSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc4x3_add1::IfcRelAssignsToActor::list::ptr Ifc4x3_add1::IfcActor::IsActingUpon() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[901], 6)->as(); } @@ -7671,14 +7671,14 @@ void Ifc4x3_add1::IfcActor::setTheActor(::Ifc4x3_add1::IfcActorSelect* v) { set_ const IfcParse::entity& Ifc4x3_add1::IfcActor::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[6]); } const IfcParse::entity& Ifc4x3_add1::IfcActor::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[6]); } Ifc4x3_add1::IfcActor::IfcActor(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_add1::IfcActor::IfcActor(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcActorSelect* v6_TheActor) : IfcObject(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcActor::IfcActor(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcActorSelect* v6_TheActor) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcActorRole -::Ifc4x3_add1::IfcRoleEnum::Value Ifc4x3_add1::IfcActorRole::Role() const { return ::Ifc4x3_add1::IfcRoleEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_add1::IfcRoleEnum::Value Ifc4x3_add1::IfcActorRole::Role() const { return ::Ifc4x3_add1::IfcRoleEnum::FromString(get_attribute_value(0)); } void Ifc4x3_add1::IfcActorRole::setRole(::Ifc4x3_add1::IfcRoleEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_add1::IfcRoleEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_add1::IfcActorRole::UserDefinedRole() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcActorRole::UserDefinedRole() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcActorRole::setUserDefinedRole(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_add1::IfcActorRole::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcActorRole::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcActorRole::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3_add1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_add1::IfcActorRole::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[427], 3)->as(); } @@ -7686,34 +7686,34 @@ void Ifc4x3_add1::IfcActorRole::setDescription(boost::optional< std::string > v) const IfcParse::entity& Ifc4x3_add1::IfcActorRole::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[7]); } const IfcParse::entity& Ifc4x3_add1::IfcActorRole::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[7]); } Ifc4x3_add1::IfcActorRole::IfcActorRole(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcActorRole::IfcActorRole(::Ifc4x3_add1::IfcRoleEnum::Value v1_Role, boost::optional< std::string > v2_UserDefinedRole, boost::optional< std::string > v3_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } +Ifc4x3_add1::IfcActorRole::IfcActorRole(::Ifc4x3_add1::IfcRoleEnum::Value v1_Role, boost::optional< std::string > v2_UserDefinedRole, boost::optional< std::string > v3_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } // Function implementations for IfcActuator -boost::optional< ::Ifc4x3_add1::IfcActuatorTypeEnum::Value > Ifc4x3_add1::IfcActuator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcActuatorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcActuatorTypeEnum::Value > Ifc4x3_add1::IfcActuator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcActuatorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcActuator::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcActuatorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcActuatorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcActuator::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[9]); } const IfcParse::entity& Ifc4x3_add1::IfcActuator::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[9]); } Ifc4x3_add1::IfcActuator::IfcActuator(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_add1::IfcActuator::IfcActuator(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcActuatorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcActuator::IfcActuator(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcActuatorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcActuatorType -::Ifc4x3_add1::IfcActuatorTypeEnum::Value Ifc4x3_add1::IfcActuatorType::PredefinedType() const { return ::Ifc4x3_add1::IfcActuatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcActuatorTypeEnum::Value Ifc4x3_add1::IfcActuatorType::PredefinedType() const { return ::Ifc4x3_add1::IfcActuatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcActuatorType::setPredefinedType(::Ifc4x3_add1::IfcActuatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcActuatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcActuatorType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[10]); } const IfcParse::entity& Ifc4x3_add1::IfcActuatorType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[10]); } Ifc4x3_add1::IfcActuatorType::IfcActuatorType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_add1::IfcActuatorType::IfcActuatorType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcActuatorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcActuatorType::IfcActuatorType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcActuatorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAddress -boost::optional< ::Ifc4x3_add1::IfcAddressTypeEnum::Value > Ifc4x3_add1::IfcAddress::Purpose() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcAddressTypeEnum::FromString(data_.get_attribute_value(0)); } +boost::optional< ::Ifc4x3_add1::IfcAddressTypeEnum::Value > Ifc4x3_add1::IfcAddress::Purpose() const { if(get_attribute_value(0).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcAddressTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x3_add1::IfcAddress::setPurpose(boost::optional< ::Ifc4x3_add1::IfcAddressTypeEnum::Value > v) { if (v) {set_attribute_value(0, EnumerationReference(&::Ifc4x3_add1::IfcAddressTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add1::IfcAddress::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcAddress::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcAddress::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_add1::IfcAddress::UserDefinedPurpose() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcAddress::UserDefinedPurpose() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcAddress::setUserDefinedPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3_add1::IfcPerson::list::ptr Ifc4x3_add1::IfcAddress::OfPerson() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[737], 7)->as(); } @@ -7722,7 +7722,7 @@ void Ifc4x3_add1::IfcAddress::setUserDefinedPurpose(boost::optional< std::string const IfcParse::entity& Ifc4x3_add1::IfcAddress::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[12]); } const IfcParse::entity& Ifc4x3_add1::IfcAddress::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[12]); } Ifc4x3_add1::IfcAddress::IfcAddress(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcAddress::IfcAddress(boost::optional< ::Ifc4x3_add1::IfcAddressTypeEnum::Value > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; populate_derived(); } +Ifc4x3_add1::IfcAddress::IfcAddress(boost::optional< ::Ifc4x3_add1::IfcAddressTypeEnum::Value > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; populate_derived(); } // Function implementations for IfcAdvancedBrep @@ -7730,17 +7730,17 @@ Ifc4x3_add1::IfcAddress::IfcAddress(boost::optional< ::Ifc4x3_add1::IfcAddressTy const IfcParse::entity& Ifc4x3_add1::IfcAdvancedBrep::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[14]); } const IfcParse::entity& Ifc4x3_add1::IfcAdvancedBrep::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[14]); } Ifc4x3_add1::IfcAdvancedBrep::IfcAdvancedBrep(IfcEntityInstanceData&& e) : IfcManifoldSolidBrep(std::move(e)) { } -Ifc4x3_add1::IfcAdvancedBrep::IfcAdvancedBrep(::Ifc4x3_add1::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcAdvancedBrep::IfcAdvancedBrep(::Ifc4x3_add1::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAdvancedBrepWithVoids -aggregate_of< ::Ifc4x3_add1::IfcClosedShell >::ptr Ifc4x3_add1::IfcAdvancedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcClosedShell >(); } +aggregate_of< ::Ifc4x3_add1::IfcClosedShell >::ptr Ifc4x3_add1::IfcAdvancedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcClosedShell >(); } void Ifc4x3_add1::IfcAdvancedBrepWithVoids::setVoids(aggregate_of< ::Ifc4x3_add1::IfcClosedShell >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcAdvancedBrepWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[15]); } const IfcParse::entity& Ifc4x3_add1::IfcAdvancedBrepWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[15]); } Ifc4x3_add1::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(IfcEntityInstanceData&& e) : IfcAdvancedBrep(std::move(e)) { } -Ifc4x3_add1::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4x3_add1::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3_add1::IfcClosedShell >::ptr v2_Voids) : IfcAdvancedBrep(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4x3_add1::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3_add1::IfcClosedShell >::ptr v2_Voids) : IfcAdvancedBrep(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } // Function implementations for IfcAdvancedFace @@ -7748,129 +7748,129 @@ Ifc4x3_add1::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4x3_add1::I const IfcParse::entity& Ifc4x3_add1::IfcAdvancedFace::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[16]); } const IfcParse::entity& Ifc4x3_add1::IfcAdvancedFace::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[16]); } Ifc4x3_add1::IfcAdvancedFace::IfcAdvancedFace(IfcEntityInstanceData&& e) : IfcFaceSurface(std::move(e)) { } -Ifc4x3_add1::IfcAdvancedFace::IfcAdvancedFace(aggregate_of< ::Ifc4x3_add1::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_add1::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFaceSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } +Ifc4x3_add1::IfcAdvancedFace::IfcAdvancedFace(aggregate_of< ::Ifc4x3_add1::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_add1::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFaceSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } // Function implementations for IfcAirTerminal -boost::optional< ::Ifc4x3_add1::IfcAirTerminalTypeEnum::Value > Ifc4x3_add1::IfcAirTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcAirTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcAirTerminalTypeEnum::Value > Ifc4x3_add1::IfcAirTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcAirTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcAirTerminal::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcAirTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcAirTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcAirTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[17]); } const IfcParse::entity& Ifc4x3_add1::IfcAirTerminal::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[17]); } Ifc4x3_add1::IfcAirTerminal::IfcAirTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_add1::IfcAirTerminal::IfcAirTerminal(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcAirTerminal::IfcAirTerminal(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAirTerminalBox -boost::optional< ::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Value > Ifc4x3_add1::IfcAirTerminalBox::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Value > Ifc4x3_add1::IfcAirTerminalBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcAirTerminalBox::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcAirTerminalBox::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[18]); } const IfcParse::entity& Ifc4x3_add1::IfcAirTerminalBox::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[18]); } Ifc4x3_add1::IfcAirTerminalBox::IfcAirTerminalBox(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_add1::IfcAirTerminalBox::IfcAirTerminalBox(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcAirTerminalBox::IfcAirTerminalBox(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAirTerminalBoxType -::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Value Ifc4x3_add1::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Value Ifc4x3_add1::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcAirTerminalBoxType::setPredefinedType(::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcAirTerminalBoxType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[19]); } const IfcParse::entity& Ifc4x3_add1::IfcAirTerminalBoxType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[19]); } Ifc4x3_add1::IfcAirTerminalBoxType::IfcAirTerminalBoxType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_add1::IfcAirTerminalBoxType::IfcAirTerminalBoxType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcAirTerminalBoxType::IfcAirTerminalBoxType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAirTerminalType -::Ifc4x3_add1::IfcAirTerminalTypeEnum::Value Ifc4x3_add1::IfcAirTerminalType::PredefinedType() const { return ::Ifc4x3_add1::IfcAirTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcAirTerminalTypeEnum::Value Ifc4x3_add1::IfcAirTerminalType::PredefinedType() const { return ::Ifc4x3_add1::IfcAirTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcAirTerminalType::setPredefinedType(::Ifc4x3_add1::IfcAirTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcAirTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcAirTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[21]); } const IfcParse::entity& Ifc4x3_add1::IfcAirTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[21]); } Ifc4x3_add1::IfcAirTerminalType::IfcAirTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_add1::IfcAirTerminalType::IfcAirTerminalType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAirTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcAirTerminalType::IfcAirTerminalType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAirTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAirToAirHeatRecovery -boost::optional< ::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x3_add1::IfcAirToAirHeatRecovery::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x3_add1::IfcAirToAirHeatRecovery::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcAirToAirHeatRecovery::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcAirToAirHeatRecovery::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[23]); } const IfcParse::entity& Ifc4x3_add1::IfcAirToAirHeatRecovery::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[23]); } Ifc4x3_add1::IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add1::IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAirToAirHeatRecoveryType -::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3_add1::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3_add1::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcAirToAirHeatRecoveryType::setPredefinedType(::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcAirToAirHeatRecoveryType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[24]); } const IfcParse::entity& Ifc4x3_add1::IfcAirToAirHeatRecoveryType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[24]); } Ifc4x3_add1::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add1::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlarm -boost::optional< ::Ifc4x3_add1::IfcAlarmTypeEnum::Value > Ifc4x3_add1::IfcAlarm::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcAlarmTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcAlarmTypeEnum::Value > Ifc4x3_add1::IfcAlarm::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcAlarmTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcAlarm::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcAlarmTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcAlarmTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcAlarm::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[26]); } const IfcParse::entity& Ifc4x3_add1::IfcAlarm::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[26]); } Ifc4x3_add1::IfcAlarm::IfcAlarm(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_add1::IfcAlarm::IfcAlarm(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcAlarmTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcAlarm::IfcAlarm(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcAlarmTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAlarmType -::Ifc4x3_add1::IfcAlarmTypeEnum::Value Ifc4x3_add1::IfcAlarmType::PredefinedType() const { return ::Ifc4x3_add1::IfcAlarmTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcAlarmTypeEnum::Value Ifc4x3_add1::IfcAlarmType::PredefinedType() const { return ::Ifc4x3_add1::IfcAlarmTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcAlarmType::setPredefinedType(::Ifc4x3_add1::IfcAlarmTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcAlarmTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcAlarmType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[27]); } const IfcParse::entity& Ifc4x3_add1::IfcAlarmType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[27]); } Ifc4x3_add1::IfcAlarmType::IfcAlarmType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_add1::IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAlarmTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAlarmTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlignment -boost::optional< ::Ifc4x3_add1::IfcAlignmentTypeEnum::Value > Ifc4x3_add1::IfcAlignment::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcAlignmentTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_add1::IfcAlignmentTypeEnum::Value > Ifc4x3_add1::IfcAlignment::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcAlignmentTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add1::IfcAlignment::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcAlignmentTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_add1::IfcAlignmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_add1::IfcAlignment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[29]); } const IfcParse::entity& Ifc4x3_add1::IfcAlignment::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[29]); } Ifc4x3_add1::IfcAlignment::IfcAlignment(IfcEntityInstanceData&& e) : IfcLinearPositioningElement(std::move(e)) { } -Ifc4x3_add1::IfcAlignment::IfcAlignment(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_add1::IfcAlignmentTypeEnum::Value > v8_PredefinedType) : IfcLinearPositioningElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcAlignmentTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcAlignment::IfcAlignment(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_add1::IfcAlignmentTypeEnum::Value > v8_PredefinedType) : IfcLinearPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcAlignmentTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAlignmentCant -double Ifc4x3_add1::IfcAlignmentCant::RailHeadDistance() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x3_add1::IfcAlignmentCant::RailHeadDistance() const { double v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcAlignmentCant::setRailHeadDistance(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_add1::IfcAlignmentCant::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[30]); } const IfcParse::entity& Ifc4x3_add1::IfcAlignmentCant::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[30]); } Ifc4x3_add1::IfcAlignmentCant::IfcAlignmentCant(IfcEntityInstanceData&& e) : IfcLinearElement(std::move(e)) { } -Ifc4x3_add1::IfcAlignmentCant::IfcAlignmentCant(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, double v8_RailHeadDistance) : IfcLinearElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RailHeadDistance));; populate_derived(); } +Ifc4x3_add1::IfcAlignmentCant::IfcAlignmentCant(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, double v8_RailHeadDistance) : IfcLinearElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RailHeadDistance));; populate_derived(); } // Function implementations for IfcAlignmentCantSegment -double Ifc4x3_add1::IfcAlignmentCantSegment::StartDistAlong() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_add1::IfcAlignmentCantSegment::StartDistAlong() const { double v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcAlignmentCantSegment::setStartDistAlong(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_add1::IfcAlignmentCantSegment::HorizontalLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add1::IfcAlignmentCantSegment::HorizontalLength() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcAlignmentCantSegment::setHorizontalLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_add1::IfcAlignmentCantSegment::StartCantLeft() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add1::IfcAlignmentCantSegment::StartCantLeft() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcAlignmentCantSegment::setStartCantLeft(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< double > Ifc4x3_add1::IfcAlignmentCantSegment::EndCantLeft() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_add1::IfcAlignmentCantSegment::EndCantLeft() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcAlignmentCantSegment::setEndCantLeft(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -double Ifc4x3_add1::IfcAlignmentCantSegment::StartCantRight() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_add1::IfcAlignmentCantSegment::StartCantRight() const { double v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcAlignmentCantSegment::setStartCantRight(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_add1::IfcAlignmentCantSegment::EndCantRight() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add1::IfcAlignmentCantSegment::EndCantRight() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcAlignmentCantSegment::setEndCantRight(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_add1::IfcAlignmentCantSegmentTypeEnum::Value Ifc4x3_add1::IfcAlignmentCantSegment::PredefinedType() const { return ::Ifc4x3_add1::IfcAlignmentCantSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_add1::IfcAlignmentCantSegmentTypeEnum::Value Ifc4x3_add1::IfcAlignmentCantSegment::PredefinedType() const { return ::Ifc4x3_add1::IfcAlignmentCantSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcAlignmentCantSegment::setPredefinedType(::Ifc4x3_add1::IfcAlignmentCantSegmentTypeEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcAlignmentCantSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_add1::IfcAlignmentCantSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[31]); } const IfcParse::entity& Ifc4x3_add1::IfcAlignmentCantSegment::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[31]); } Ifc4x3_add1::IfcAlignmentCantSegment::IfcAlignmentCantSegment(IfcEntityInstanceData&& e) : IfcAlignmentParameterSegment(std::move(e)) { } -Ifc4x3_add1::IfcAlignmentCantSegment::IfcAlignmentCantSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, boost::optional< double > v6_EndCantLeft, double v7_StartCantRight, boost::optional< double > v8_EndCantRight, ::Ifc4x3_add1::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(storage_t(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartCantLeft)); if (v6_EndCantLeft) {set_attribute_value(5, (*v6_EndCantLeft)); }set_attribute_value(6, (v7_StartCantRight)); if (v8_EndCantRight) {set_attribute_value(7, (*v8_EndCantRight)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcAlignmentCantSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcAlignmentCantSegment::IfcAlignmentCantSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, boost::optional< double > v6_EndCantLeft, double v7_StartCantRight, boost::optional< double > v8_EndCantRight, ::Ifc4x3_add1::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartCantLeft)); if (v6_EndCantLeft) {set_attribute_value(5, (*v6_EndCantLeft)); }set_attribute_value(6, (v7_StartCantRight)); if (v8_EndCantRight) {set_attribute_value(7, (*v8_EndCantRight)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcAlignmentCantSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlignmentHorizontal @@ -7878,51 +7878,51 @@ Ifc4x3_add1::IfcAlignmentCantSegment::IfcAlignmentCantSegment(boost::optional< s const IfcParse::entity& Ifc4x3_add1::IfcAlignmentHorizontal::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[33]); } const IfcParse::entity& Ifc4x3_add1::IfcAlignmentHorizontal::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[33]); } Ifc4x3_add1::IfcAlignmentHorizontal::IfcAlignmentHorizontal(IfcEntityInstanceData&& e) : IfcLinearElement(std::move(e)) { } -Ifc4x3_add1::IfcAlignmentHorizontal::IfcAlignmentHorizontal(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation) : IfcLinearElement(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcAlignmentHorizontal::IfcAlignmentHorizontal(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation) : IfcLinearElement(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAlignmentHorizontalSegment -::Ifc4x3_add1::IfcCartesianPoint* Ifc4x3_add1::IfcAlignmentHorizontalSegment::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcCartesianPoint>(true); } +::Ifc4x3_add1::IfcCartesianPoint* Ifc4x3_add1::IfcAlignmentHorizontalSegment::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcCartesianPoint>(true); } void Ifc4x3_add1::IfcAlignmentHorizontalSegment::setStartPoint(::Ifc4x3_add1::IfcCartesianPoint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_add1::IfcAlignmentHorizontalSegment::StartDirection() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add1::IfcAlignmentHorizontalSegment::StartDirection() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcAlignmentHorizontalSegment::setStartDirection(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_add1::IfcAlignmentHorizontalSegment::StartRadiusOfCurvature() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add1::IfcAlignmentHorizontalSegment::StartRadiusOfCurvature() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcAlignmentHorizontalSegment::setStartRadiusOfCurvature(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_add1::IfcAlignmentHorizontalSegment::EndRadiusOfCurvature() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_add1::IfcAlignmentHorizontalSegment::EndRadiusOfCurvature() const { double v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcAlignmentHorizontalSegment::setEndRadiusOfCurvature(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_add1::IfcAlignmentHorizontalSegment::SegmentLength() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_add1::IfcAlignmentHorizontalSegment::SegmentLength() const { double v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcAlignmentHorizontalSegment::setSegmentLength(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_add1::IfcAlignmentHorizontalSegment::GravityCenterLineHeight() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add1::IfcAlignmentHorizontalSegment::GravityCenterLineHeight() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcAlignmentHorizontalSegment::setGravityCenterLineHeight(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_add1::IfcAlignmentHorizontalSegmentTypeEnum::Value Ifc4x3_add1::IfcAlignmentHorizontalSegment::PredefinedType() const { return ::Ifc4x3_add1::IfcAlignmentHorizontalSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_add1::IfcAlignmentHorizontalSegmentTypeEnum::Value Ifc4x3_add1::IfcAlignmentHorizontalSegment::PredefinedType() const { return ::Ifc4x3_add1::IfcAlignmentHorizontalSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcAlignmentHorizontalSegment::setPredefinedType(::Ifc4x3_add1::IfcAlignmentHorizontalSegmentTypeEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcAlignmentHorizontalSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_add1::IfcAlignmentHorizontalSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[34]); } const IfcParse::entity& Ifc4x3_add1::IfcAlignmentHorizontalSegment::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[34]); } Ifc4x3_add1::IfcAlignmentHorizontalSegment::IfcAlignmentHorizontalSegment(IfcEntityInstanceData&& e) : IfcAlignmentParameterSegment(std::move(e)) { } -Ifc4x3_add1::IfcAlignmentHorizontalSegment::IfcAlignmentHorizontalSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag, ::Ifc4x3_add1::IfcCartesianPoint* v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, boost::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_add1::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(storage_t(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, v3_StartPoint ? v3_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_StartDirection));set_attribute_value(4, (v5_StartRadiusOfCurvature));set_attribute_value(5, (v6_EndRadiusOfCurvature));set_attribute_value(6, (v7_SegmentLength)); if (v8_GravityCenterLineHeight) {set_attribute_value(7, (*v8_GravityCenterLineHeight)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcAlignmentHorizontalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcAlignmentHorizontalSegment::IfcAlignmentHorizontalSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag, ::Ifc4x3_add1::IfcCartesianPoint* v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, boost::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_add1::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, v3_StartPoint ? v3_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_StartDirection));set_attribute_value(4, (v5_StartRadiusOfCurvature));set_attribute_value(5, (v6_EndRadiusOfCurvature));set_attribute_value(6, (v7_SegmentLength)); if (v8_GravityCenterLineHeight) {set_attribute_value(7, (*v8_GravityCenterLineHeight)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcAlignmentHorizontalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlignmentParameterSegment -boost::optional< std::string > Ifc4x3_add1::IfcAlignmentParameterSegment::StartTag() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcAlignmentParameterSegment::StartTag() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcAlignmentParameterSegment::setStartTag(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add1::IfcAlignmentParameterSegment::EndTag() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcAlignmentParameterSegment::EndTag() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcAlignmentParameterSegment::setEndTag(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_add1::IfcAlignmentParameterSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[36]); } const IfcParse::entity& Ifc4x3_add1::IfcAlignmentParameterSegment::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[36]); } Ifc4x3_add1::IfcAlignmentParameterSegment::IfcAlignmentParameterSegment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcAlignmentParameterSegment::IfcAlignmentParameterSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }; populate_derived(); } +Ifc4x3_add1::IfcAlignmentParameterSegment::IfcAlignmentParameterSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }; populate_derived(); } // Function implementations for IfcAlignmentSegment -::Ifc4x3_add1::IfcAlignmentParameterSegment* Ifc4x3_add1::IfcAlignmentSegment::DesignParameters() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_add1::IfcAlignmentParameterSegment>(true); } +::Ifc4x3_add1::IfcAlignmentParameterSegment* Ifc4x3_add1::IfcAlignmentSegment::DesignParameters() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_add1::IfcAlignmentParameterSegment>(true); } void Ifc4x3_add1::IfcAlignmentSegment::setDesignParameters(::Ifc4x3_add1::IfcAlignmentParameterSegment* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_add1::IfcAlignmentSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[37]); } const IfcParse::entity& Ifc4x3_add1::IfcAlignmentSegment::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[37]); } Ifc4x3_add1::IfcAlignmentSegment::IfcAlignmentSegment(IfcEntityInstanceData&& e) : IfcLinearElement(std::move(e)) { } -Ifc4x3_add1::IfcAlignmentSegment::IfcAlignmentSegment(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcAlignmentParameterSegment* v8_DesignParameters) : IfcLinearElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_DesignParameters ? v8_DesignParameters->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcAlignmentSegment::IfcAlignmentSegment(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcAlignmentParameterSegment* v8_DesignParameters) : IfcLinearElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_DesignParameters ? v8_DesignParameters->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAlignmentVertical @@ -7930,32 +7930,32 @@ Ifc4x3_add1::IfcAlignmentSegment::IfcAlignmentSegment(std::string v1_GlobalId, : const IfcParse::entity& Ifc4x3_add1::IfcAlignmentVertical::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[39]); } const IfcParse::entity& Ifc4x3_add1::IfcAlignmentVertical::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[39]); } Ifc4x3_add1::IfcAlignmentVertical::IfcAlignmentVertical(IfcEntityInstanceData&& e) : IfcLinearElement(std::move(e)) { } -Ifc4x3_add1::IfcAlignmentVertical::IfcAlignmentVertical(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation) : IfcLinearElement(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcAlignmentVertical::IfcAlignmentVertical(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation) : IfcLinearElement(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAlignmentVerticalSegment -double Ifc4x3_add1::IfcAlignmentVerticalSegment::StartDistAlong() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_add1::IfcAlignmentVerticalSegment::StartDistAlong() const { double v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcAlignmentVerticalSegment::setStartDistAlong(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_add1::IfcAlignmentVerticalSegment::HorizontalLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add1::IfcAlignmentVerticalSegment::HorizontalLength() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcAlignmentVerticalSegment::setHorizontalLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_add1::IfcAlignmentVerticalSegment::StartHeight() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add1::IfcAlignmentVerticalSegment::StartHeight() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcAlignmentVerticalSegment::setStartHeight(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_add1::IfcAlignmentVerticalSegment::StartGradient() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_add1::IfcAlignmentVerticalSegment::StartGradient() const { double v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcAlignmentVerticalSegment::setStartGradient(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_add1::IfcAlignmentVerticalSegment::EndGradient() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_add1::IfcAlignmentVerticalSegment::EndGradient() const { double v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcAlignmentVerticalSegment::setEndGradient(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_add1::IfcAlignmentVerticalSegment::RadiusOfCurvature() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add1::IfcAlignmentVerticalSegment::RadiusOfCurvature() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcAlignmentVerticalSegment::setRadiusOfCurvature(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_add1::IfcAlignmentVerticalSegmentTypeEnum::Value Ifc4x3_add1::IfcAlignmentVerticalSegment::PredefinedType() const { return ::Ifc4x3_add1::IfcAlignmentVerticalSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_add1::IfcAlignmentVerticalSegmentTypeEnum::Value Ifc4x3_add1::IfcAlignmentVerticalSegment::PredefinedType() const { return ::Ifc4x3_add1::IfcAlignmentVerticalSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcAlignmentVerticalSegment::setPredefinedType(::Ifc4x3_add1::IfcAlignmentVerticalSegmentTypeEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcAlignmentVerticalSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_add1::IfcAlignmentVerticalSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[40]); } const IfcParse::entity& Ifc4x3_add1::IfcAlignmentVerticalSegment::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[40]); } Ifc4x3_add1::IfcAlignmentVerticalSegment::IfcAlignmentVerticalSegment(IfcEntityInstanceData&& e) : IfcAlignmentParameterSegment(std::move(e)) { } -Ifc4x3_add1::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_add1::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(storage_t(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::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_add1::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } // Function implementations for IfcAnnotation -boost::optional< ::Ifc4x3_add1::IfcAnnotationTypeEnum::Value > Ifc4x3_add1::IfcAnnotation::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcAnnotationTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_add1::IfcAnnotationTypeEnum::Value > Ifc4x3_add1::IfcAnnotation::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcAnnotationTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add1::IfcAnnotation::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcAnnotationTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_add1::IfcAnnotationTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } ::Ifc4x3_add1::IfcRelContainedInSpatialStructure::list::ptr Ifc4x3_add1::IfcAnnotation::ContainedInStructure() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[926], 4)->as(); } @@ -7963,56 +7963,56 @@ void Ifc4x3_add1::IfcAnnotation::setPredefinedType(boost::optional< ::Ifc4x3_add const IfcParse::entity& Ifc4x3_add1::IfcAnnotation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[46]); } const IfcParse::entity& Ifc4x3_add1::IfcAnnotation::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[46]); } Ifc4x3_add1::IfcAnnotation::IfcAnnotation(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_add1::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_add1::IfcAnnotationTypeEnum::Value > v8_PredefinedType) : IfcProduct(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcAnnotationTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_add1::IfcAnnotationTypeEnum::Value > v8_PredefinedType) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcAnnotationTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAnnotationFillArea -::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCurve>(true); } +::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCurve>(true); } void Ifc4x3_add1::IfcAnnotationFillArea::setOuterBoundary(::Ifc4x3_add1::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcCurve >::ptr > Ifc4x3_add1::IfcAnnotationFillArea::InnerBoundaries() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcCurve >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcCurve >::ptr > Ifc4x3_add1::IfcAnnotationFillArea::InnerBoundaries() const { if(get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcCurve >(); } void Ifc4x3_add1::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcCurve >::ptr > v) { if (v) {set_attribute_value(1, (*v)->generalize());} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_add1::IfcAnnotationFillArea::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[47]); } const IfcParse::entity& Ifc4x3_add1::IfcAnnotationFillArea::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[47]); } Ifc4x3_add1::IfcAnnotationFillArea::IfcAnnotationFillArea(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcAnnotationFillArea::IfcAnnotationFillArea(::Ifc4x3_add1::IfcCurve* v1_OuterBoundary, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcCurve >::ptr > v2_InnerBoundaries) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_OuterBoundary ? v1_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_InnerBoundaries) {set_attribute_value(1, (*v2_InnerBoundaries)->generalize()); }; populate_derived(); } +Ifc4x3_add1::IfcAnnotationFillArea::IfcAnnotationFillArea(::Ifc4x3_add1::IfcCurve* v1_OuterBoundary, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcCurve >::ptr > v2_InnerBoundaries) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_OuterBoundary ? v1_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_InnerBoundaries) {set_attribute_value(1, (*v2_InnerBoundaries)->generalize()); }; populate_derived(); } // Function implementations for IfcApplication -::Ifc4x3_add1::IfcOrganization* Ifc4x3_add1::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcOrganization>(true); } +::Ifc4x3_add1::IfcOrganization* Ifc4x3_add1::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcOrganization>(true); } void Ifc4x3_add1::IfcApplication::setApplicationDeveloper(::Ifc4x3_add1::IfcOrganization* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x3_add1::IfcApplication::Version() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_add1::IfcApplication::Version() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcApplication::setVersion(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::string Ifc4x3_add1::IfcApplication::ApplicationFullName() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3_add1::IfcApplication::ApplicationFullName() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcApplication::setApplicationFullName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::string Ifc4x3_add1::IfcApplication::ApplicationIdentifier() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x3_add1::IfcApplication::ApplicationIdentifier() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcApplication::setApplicationIdentifier(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcApplication::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[49]); } const IfcParse::entity& Ifc4x3_add1::IfcApplication::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[49]); } Ifc4x3_add1::IfcApplication::IfcApplication(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcApplication::IfcApplication(::Ifc4x3_add1::IfcOrganization* v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ApplicationDeveloper ? v1_ApplicationDeveloper->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; populate_derived(); } +Ifc4x3_add1::IfcApplication::IfcApplication(::Ifc4x3_add1::IfcOrganization* v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ApplicationDeveloper ? v1_ApplicationDeveloper->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; populate_derived(); } // Function implementations for IfcAppliedValue -boost::optional< std::string > Ifc4x3_add1::IfcAppliedValue::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcAppliedValue::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcAppliedValue::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add1::IfcAppliedValue::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcAppliedValue::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcAppliedValue::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_add1::IfcAppliedValueSelect* Ifc4x3_add1::IfcAppliedValue::AppliedValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcAppliedValueSelect>(true); } +::Ifc4x3_add1::IfcAppliedValueSelect* Ifc4x3_add1::IfcAppliedValue::AppliedValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcAppliedValueSelect>(true); } void Ifc4x3_add1::IfcAppliedValue::setAppliedValue(::Ifc4x3_add1::IfcAppliedValueSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add1::IfcMeasureWithUnit* Ifc4x3_add1::IfcAppliedValue::UnitBasis() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcMeasureWithUnit>(true); } +::Ifc4x3_add1::IfcMeasureWithUnit* Ifc4x3_add1::IfcAppliedValue::UnitBasis() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcMeasureWithUnit>(true); } void Ifc4x3_add1::IfcAppliedValue::setUnitBasis(::Ifc4x3_add1::IfcMeasureWithUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_add1::IfcAppliedValue::ApplicableDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcAppliedValue::ApplicableDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcAppliedValue::setApplicableDate(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add1::IfcAppliedValue::FixedUntilDate() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcAppliedValue::FixedUntilDate() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcAppliedValue::setFixedUntilDate(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_add1::IfcAppliedValue::Category() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcAppliedValue::Category() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcAppliedValue::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_add1::IfcAppliedValue::Condition() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcAppliedValue::Condition() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcAppliedValue::setCondition(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3_add1::IfcArithmeticOperatorEnum::Value > Ifc4x3_add1::IfcAppliedValue::ArithmeticOperator() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcArithmeticOperatorEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcArithmeticOperatorEnum::Value > Ifc4x3_add1::IfcAppliedValue::ArithmeticOperator() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcArithmeticOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcAppliedValue::setArithmeticOperator(boost::optional< ::Ifc4x3_add1::IfcArithmeticOperatorEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcArithmeticOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAppliedValue >::ptr > Ifc4x3_add1::IfcAppliedValue::Components() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3_add1::IfcAppliedValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAppliedValue >::ptr > Ifc4x3_add1::IfcAppliedValue::Components() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3_add1::IfcAppliedValue >(); } void Ifc4x3_add1::IfcAppliedValue::setComponents(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAppliedValue >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } ::Ifc4x3_add1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_add1::IfcAppliedValue::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[427], 3)->as(); } @@ -8020,26 +8020,26 @@ void Ifc4x3_add1::IfcAppliedValue::setComponents(boost::optional< aggregate_of< const IfcParse::entity& Ifc4x3_add1::IfcAppliedValue::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[50]); } const IfcParse::entity& Ifc4x3_add1::IfcAppliedValue::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[50]); } Ifc4x3_add1::IfcAppliedValue::IfcAppliedValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3_add1::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_add1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAppliedValue >::ptr > v10_Components) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } +Ifc4x3_add1::IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3_add1::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_add1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAppliedValue >::ptr > v10_Components) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } // Function implementations for IfcApproval -boost::optional< std::string > Ifc4x3_add1::IfcApproval::Identifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcApproval::Identifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcApproval::setIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add1::IfcApproval::Name() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcApproval::Name() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcApproval::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_add1::IfcApproval::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcApproval::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcApproval::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_add1::IfcApproval::TimeOfApproval() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcApproval::TimeOfApproval() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcApproval::setTimeOfApproval(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_add1::IfcApproval::Status() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcApproval::Status() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcApproval::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add1::IfcApproval::Level() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcApproval::Level() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcApproval::setLevel(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_add1::IfcApproval::Qualifier() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcApproval::Qualifier() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcApproval::setQualifier(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_add1::IfcActorSelect* Ifc4x3_add1::IfcApproval::RequestingApproval() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_add1::IfcActorSelect>(true); } +::Ifc4x3_add1::IfcActorSelect* Ifc4x3_add1::IfcApproval::RequestingApproval() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_add1::IfcActorSelect>(true); } void Ifc4x3_add1::IfcApproval::setRequestingApproval(::Ifc4x3_add1::IfcActorSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_add1::IfcActorSelect* Ifc4x3_add1::IfcApproval::GivingApproval() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_add1::IfcActorSelect>(true); } +::Ifc4x3_add1::IfcActorSelect* Ifc4x3_add1::IfcApproval::GivingApproval() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_add1::IfcActorSelect>(true); } void Ifc4x3_add1::IfcApproval::setGivingApproval(::Ifc4x3_add1::IfcActorSelect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } ::Ifc4x3_add1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_add1::IfcApproval::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[427], 3)->as(); } @@ -8051,329 +8051,329 @@ void Ifc4x3_add1::IfcApproval::setGivingApproval(::Ifc4x3_add1::IfcActorSelect* const IfcParse::entity& Ifc4x3_add1::IfcApproval::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[52]); } const IfcParse::entity& Ifc4x3_add1::IfcApproval::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[52]); } Ifc4x3_add1::IfcApproval::IfcApproval(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::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_add1::IfcActorSelect* v8_RequestingApproval, ::Ifc4x3_add1::IfcActorSelect* v9_GivingApproval) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(9))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, v8_RequestingApproval ? v8_RequestingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_GivingApproval ? v9_GivingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::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_add1::IfcActorSelect* v8_RequestingApproval, ::Ifc4x3_add1::IfcActorSelect* v9_GivingApproval) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, v8_RequestingApproval ? v8_RequestingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_GivingApproval ? v9_GivingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcApprovalRelationship -::Ifc4x3_add1::IfcApproval* Ifc4x3_add1::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcApproval>(true); } +::Ifc4x3_add1::IfcApproval* Ifc4x3_add1::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcApproval>(true); } void Ifc4x3_add1::IfcApprovalRelationship::setRelatingApproval(::Ifc4x3_add1::IfcApproval* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_add1::IfcApproval >::ptr Ifc4x3_add1::IfcApprovalRelationship::RelatedApprovals() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_add1::IfcApproval >(); } +aggregate_of< ::Ifc4x3_add1::IfcApproval >::ptr Ifc4x3_add1::IfcApprovalRelationship::RelatedApprovals() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_add1::IfcApproval >(); } void Ifc4x3_add1::IfcApprovalRelationship::setRelatedApprovals(aggregate_of< ::Ifc4x3_add1::IfcApproval >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcApprovalRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[53]); } const IfcParse::entity& Ifc4x3_add1::IfcApprovalRelationship::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[53]); } Ifc4x3_add1::IfcApprovalRelationship::IfcApprovalRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_add1::IfcApprovalRelationship::IfcApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcApproval* v3_RelatingApproval, aggregate_of< ::Ifc4x3_add1::IfcApproval >::ptr v4_RelatedApprovals) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingApproval ? v3_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedApprovals)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcApprovalRelationship::IfcApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcApproval* v3_RelatingApproval, aggregate_of< ::Ifc4x3_add1::IfcApproval >::ptr v4_RelatedApprovals) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingApproval ? v3_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedApprovals)->generalize());; populate_derived(); } // Function implementations for IfcArbitraryClosedProfileDef -::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcCurve>(true); } +::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcCurve>(true); } void Ifc4x3_add1::IfcArbitraryClosedProfileDef::setOuterCurve(::Ifc4x3_add1::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcArbitraryClosedProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[54]); } const IfcParse::entity& Ifc4x3_add1::IfcArbitraryClosedProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[54]); } Ifc4x3_add1::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_add1::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcCurve* v3_OuterCurve) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcCurve* v3_OuterCurve) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcArbitraryOpenProfileDef -::Ifc4x3_add1::IfcBoundedCurve* Ifc4x3_add1::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcBoundedCurve>(true); } +::Ifc4x3_add1::IfcBoundedCurve* Ifc4x3_add1::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcBoundedCurve>(true); } void Ifc4x3_add1::IfcArbitraryOpenProfileDef::setCurve(::Ifc4x3_add1::IfcBoundedCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcArbitraryOpenProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[55]); } const IfcParse::entity& Ifc4x3_add1::IfcArbitraryOpenProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[55]); } Ifc4x3_add1::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_add1::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcBoundedCurve* v3_Curve) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcBoundedCurve* v3_Curve) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcArbitraryProfileDefWithVoids -aggregate_of< ::Ifc4x3_add1::IfcCurve >::ptr Ifc4x3_add1::IfcArbitraryProfileDefWithVoids::InnerCurves() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_add1::IfcCurve >(); } +aggregate_of< ::Ifc4x3_add1::IfcCurve >::ptr Ifc4x3_add1::IfcArbitraryProfileDefWithVoids::InnerCurves() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_add1::IfcCurve >(); } void Ifc4x3_add1::IfcArbitraryProfileDefWithVoids::setInnerCurves(aggregate_of< ::Ifc4x3_add1::IfcCurve >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcArbitraryProfileDefWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[56]); } const IfcParse::entity& Ifc4x3_add1::IfcArbitraryProfileDefWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[56]); } Ifc4x3_add1::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(IfcEntityInstanceData&& e) : IfcArbitraryClosedProfileDef(std::move(e)) { } -Ifc4x3_add1::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcCurve* v3_OuterCurve, aggregate_of< ::Ifc4x3_add1::IfcCurve >::ptr v4_InnerCurves) : IfcArbitraryClosedProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_InnerCurves)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcCurve* v3_OuterCurve, aggregate_of< ::Ifc4x3_add1::IfcCurve >::ptr v4_InnerCurves) : IfcArbitraryClosedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_InnerCurves)->generalize());; populate_derived(); } // Function implementations for IfcAsset -boost::optional< std::string > Ifc4x3_add1::IfcAsset::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcAsset::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcAsset::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_add1::IfcCostValue* Ifc4x3_add1::IfcAsset::OriginalValue() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add1::IfcCostValue>(true); } +::Ifc4x3_add1::IfcCostValue* Ifc4x3_add1::IfcAsset::OriginalValue() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add1::IfcCostValue>(true); } void Ifc4x3_add1::IfcAsset::setOriginalValue(::Ifc4x3_add1::IfcCostValue* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_add1::IfcCostValue* Ifc4x3_add1::IfcAsset::CurrentValue() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_add1::IfcCostValue>(true); } +::Ifc4x3_add1::IfcCostValue* Ifc4x3_add1::IfcAsset::CurrentValue() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_add1::IfcCostValue>(true); } void Ifc4x3_add1::IfcAsset::setCurrentValue(::Ifc4x3_add1::IfcCostValue* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_add1::IfcCostValue* Ifc4x3_add1::IfcAsset::TotalReplacementCost() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_add1::IfcCostValue>(true); } +::Ifc4x3_add1::IfcCostValue* Ifc4x3_add1::IfcAsset::TotalReplacementCost() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_add1::IfcCostValue>(true); } void Ifc4x3_add1::IfcAsset::setTotalReplacementCost(::Ifc4x3_add1::IfcCostValue* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_add1::IfcActorSelect* Ifc4x3_add1::IfcAsset::Owner() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_add1::IfcActorSelect>(true); } +::Ifc4x3_add1::IfcActorSelect* Ifc4x3_add1::IfcAsset::Owner() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_add1::IfcActorSelect>(true); } void Ifc4x3_add1::IfcAsset::setOwner(::Ifc4x3_add1::IfcActorSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_add1::IfcActorSelect* Ifc4x3_add1::IfcAsset::User() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_add1::IfcActorSelect>(true); } +::Ifc4x3_add1::IfcActorSelect* Ifc4x3_add1::IfcAsset::User() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_add1::IfcActorSelect>(true); } void Ifc4x3_add1::IfcAsset::setUser(::Ifc4x3_add1::IfcActorSelect* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } -::Ifc4x3_add1::IfcPerson* Ifc4x3_add1::IfcAsset::ResponsiblePerson() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc4x3_add1::IfcPerson>(true); } +::Ifc4x3_add1::IfcPerson* Ifc4x3_add1::IfcAsset::ResponsiblePerson() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc4x3_add1::IfcPerson>(true); } void Ifc4x3_add1::IfcAsset::setResponsiblePerson(::Ifc4x3_add1::IfcPerson* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } -boost::optional< std::string > Ifc4x3_add1::IfcAsset::IncorporationDate() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcAsset::IncorporationDate() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_add1::IfcAsset::setIncorporationDate(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4x3_add1::IfcCostValue* Ifc4x3_add1::IfcAsset::DepreciatedValue() const { if(data_.get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(13)))->as<::Ifc4x3_add1::IfcCostValue>(true); } +::Ifc4x3_add1::IfcCostValue* Ifc4x3_add1::IfcAsset::DepreciatedValue() const { if(get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(13)))->as<::Ifc4x3_add1::IfcCostValue>(true); } void Ifc4x3_add1::IfcAsset::setDepreciatedValue(::Ifc4x3_add1::IfcCostValue* v) { set_attribute_value(13, v->as());if constexpr (false)unset_attribute_value(13); } const IfcParse::entity& Ifc4x3_add1::IfcAsset::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[62]); } const IfcParse::entity& Ifc4x3_add1::IfcAsset::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[62]); } Ifc4x3_add1::IfcAsset::IfcAsset(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x3_add1::IfcAsset::IfcAsset(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcCostValue* v7_OriginalValue, ::Ifc4x3_add1::IfcCostValue* v8_CurrentValue, ::Ifc4x3_add1::IfcCostValue* v9_TotalReplacementCost, ::Ifc4x3_add1::IfcActorSelect* v10_Owner, ::Ifc4x3_add1::IfcActorSelect* v11_User, ::Ifc4x3_add1::IfcPerson* v12_ResponsiblePerson, boost::optional< std::string > v13_IncorporationDate, ::Ifc4x3_add1::IfcCostValue* v14_DepreciatedValue) : IfcGroup(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, v7_OriginalValue ? v7_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_CurrentValue ? v8_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_TotalReplacementCost ? v9_TotalReplacementCost->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_Owner ? v10_Owner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_User ? v11_User->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, v12_ResponsiblePerson ? v12_ResponsiblePerson->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, v14_DepreciatedValue ? v14_DepreciatedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcAsset::IfcAsset(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcCostValue* v7_OriginalValue, ::Ifc4x3_add1::IfcCostValue* v8_CurrentValue, ::Ifc4x3_add1::IfcCostValue* v9_TotalReplacementCost, ::Ifc4x3_add1::IfcActorSelect* v10_Owner, ::Ifc4x3_add1::IfcActorSelect* v11_User, ::Ifc4x3_add1::IfcPerson* v12_ResponsiblePerson, boost::optional< std::string > v13_IncorporationDate, ::Ifc4x3_add1::IfcCostValue* v14_DepreciatedValue) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, v7_OriginalValue ? v7_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_CurrentValue ? v8_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_TotalReplacementCost ? v9_TotalReplacementCost->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_Owner ? v10_Owner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_User ? v11_User->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, v12_ResponsiblePerson ? v12_ResponsiblePerson->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, v14_DepreciatedValue ? v14_DepreciatedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAsymmetricIShapeProfileDef -double Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::setBottomFlangeWidth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::OverallDepth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::OverallDepth() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::setOverallDepth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::setBottomFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::setBottomFlangeFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -double Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { double v = data_.get_attribute_value(8); return v; } +double Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { double v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::setTopFlangeWidth(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -boost::optional< double > Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::setBottomFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::setBottomFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::setTopFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } const IfcParse::entity& Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[63]); } const IfcParse::entity& Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[63]); } Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::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(storage_t(15))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); }; populate_derived(); } +Ifc4x3_add1::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::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(in_memory_attribute_storage(15))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); }; populate_derived(); } // Function implementations for IfcAudioVisualAppliance -boost::optional< ::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x3_add1::IfcAudioVisualAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x3_add1::IfcAudioVisualAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcAudioVisualAppliance::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcAudioVisualAppliance::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[64]); } const IfcParse::entity& Ifc4x3_add1::IfcAudioVisualAppliance::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[64]); } Ifc4x3_add1::IfcAudioVisualAppliance::IfcAudioVisualAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_add1::IfcAudioVisualAppliance::IfcAudioVisualAppliance(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcAudioVisualAppliance::IfcAudioVisualAppliance(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAudioVisualApplianceType -::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3_add1::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3_add1::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcAudioVisualApplianceType::setPredefinedType(::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcAudioVisualApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[65]); } const IfcParse::entity& Ifc4x3_add1::IfcAudioVisualApplianceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[65]); } Ifc4x3_add1::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_add1::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAxis1Placement -::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcAxis1Placement::Axis() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcDirection>(true); } +::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcAxis1Placement::Axis() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcDirection>(true); } void Ifc4x3_add1::IfcAxis1Placement::setAxis(::Ifc4x3_add1::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcAxis1Placement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[67]); } const IfcParse::entity& Ifc4x3_add1::IfcAxis1Placement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[67]); } Ifc4x3_add1::IfcAxis1Placement::IfcAxis1Placement(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x3_add1::IfcAxis1Placement::IfcAxis1Placement(::Ifc4x3_add1::IfcPoint* v1_Location, ::Ifc4x3_add1::IfcDirection* v2_Axis) : IfcPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcAxis1Placement::IfcAxis1Placement(::Ifc4x3_add1::IfcPoint* v1_Location, ::Ifc4x3_add1::IfcDirection* v2_Axis) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAxis2Placement2D -::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcAxis2Placement2D::RefDirection() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcDirection>(true); } +::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcAxis2Placement2D::RefDirection() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcDirection>(true); } void Ifc4x3_add1::IfcAxis2Placement2D::setRefDirection(::Ifc4x3_add1::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcAxis2Placement2D::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[69]); } const IfcParse::entity& Ifc4x3_add1::IfcAxis2Placement2D::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[69]); } Ifc4x3_add1::IfcAxis2Placement2D::IfcAxis2Placement2D(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x3_add1::IfcAxis2Placement2D::IfcAxis2Placement2D(::Ifc4x3_add1::IfcPoint* v1_Location, ::Ifc4x3_add1::IfcDirection* v2_RefDirection) : IfcPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RefDirection ? v2_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcAxis2Placement2D::IfcAxis2Placement2D(::Ifc4x3_add1::IfcPoint* v1_Location, ::Ifc4x3_add1::IfcDirection* v2_RefDirection) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RefDirection ? v2_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAxis2Placement3D -::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcAxis2Placement3D::Axis() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcDirection>(true); } +::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcAxis2Placement3D::Axis() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcDirection>(true); } void Ifc4x3_add1::IfcAxis2Placement3D::setAxis(::Ifc4x3_add1::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcAxis2Placement3D::RefDirection() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcDirection>(true); } +::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcAxis2Placement3D::RefDirection() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcDirection>(true); } void Ifc4x3_add1::IfcAxis2Placement3D::setRefDirection(::Ifc4x3_add1::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcAxis2Placement3D::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[70]); } const IfcParse::entity& Ifc4x3_add1::IfcAxis2Placement3D::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[70]); } Ifc4x3_add1::IfcAxis2Placement3D::IfcAxis2Placement3D(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x3_add1::IfcAxis2Placement3D::IfcAxis2Placement3D(::Ifc4x3_add1::IfcPoint* v1_Location, ::Ifc4x3_add1::IfcDirection* v2_Axis, ::Ifc4x3_add1::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcAxis2Placement3D::IfcAxis2Placement3D(::Ifc4x3_add1::IfcPoint* v1_Location, ::Ifc4x3_add1::IfcDirection* v2_Axis, ::Ifc4x3_add1::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAxis2PlacementLinear -::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcAxis2PlacementLinear::Axis() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcDirection>(true); } +::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcAxis2PlacementLinear::Axis() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcDirection>(true); } void Ifc4x3_add1::IfcAxis2PlacementLinear::setAxis(::Ifc4x3_add1::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcAxis2PlacementLinear::RefDirection() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcDirection>(true); } +::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcAxis2PlacementLinear::RefDirection() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcDirection>(true); } void Ifc4x3_add1::IfcAxis2PlacementLinear::setRefDirection(::Ifc4x3_add1::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcAxis2PlacementLinear::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[71]); } const IfcParse::entity& Ifc4x3_add1::IfcAxis2PlacementLinear::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[71]); } Ifc4x3_add1::IfcAxis2PlacementLinear::IfcAxis2PlacementLinear(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x3_add1::IfcAxis2PlacementLinear::IfcAxis2PlacementLinear(::Ifc4x3_add1::IfcPoint* v1_Location, ::Ifc4x3_add1::IfcDirection* v2_Axis, ::Ifc4x3_add1::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcAxis2PlacementLinear::IfcAxis2PlacementLinear(::Ifc4x3_add1::IfcPoint* v1_Location, ::Ifc4x3_add1::IfcDirection* v2_Axis, ::Ifc4x3_add1::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBSplineCurve -int Ifc4x3_add1::IfcBSplineCurve::Degree() const { int v = data_.get_attribute_value(0); return v; } +int Ifc4x3_add1::IfcBSplineCurve::Degree() const { int v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcBSplineCurve::setDegree(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_add1::IfcCartesianPoint >::ptr Ifc4x3_add1::IfcBSplineCurve::ControlPointsList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcCartesianPoint >(); } +aggregate_of< ::Ifc4x3_add1::IfcCartesianPoint >::ptr Ifc4x3_add1::IfcBSplineCurve::ControlPointsList() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcCartesianPoint >(); } void Ifc4x3_add1::IfcBSplineCurve::setControlPointsList(aggregate_of< ::Ifc4x3_add1::IfcCartesianPoint >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add1::IfcBSplineCurveForm::Value Ifc4x3_add1::IfcBSplineCurve::CurveForm() const { return ::Ifc4x3_add1::IfcBSplineCurveForm::FromString(data_.get_attribute_value(2)); } +::Ifc4x3_add1::IfcBSplineCurveForm::Value Ifc4x3_add1::IfcBSplineCurve::CurveForm() const { return ::Ifc4x3_add1::IfcBSplineCurveForm::FromString(get_attribute_value(2)); } void Ifc4x3_add1::IfcBSplineCurve::setCurveForm(::Ifc4x3_add1::IfcBSplineCurveForm::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3_add1::IfcBSplineCurveForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -boost::logic::tribool Ifc4x3_add1::IfcBSplineCurve::ClosedCurve() const { boost::logic::tribool v = data_.get_attribute_value(3); return v; } +boost::logic::tribool Ifc4x3_add1::IfcBSplineCurve::ClosedCurve() const { boost::logic::tribool v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcBSplineCurve::setClosedCurve(boost::logic::tribool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::logic::tribool Ifc4x3_add1::IfcBSplineCurve::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(4); return v; } +boost::logic::tribool Ifc4x3_add1::IfcBSplineCurve::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcBSplineCurve::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add1::IfcBSplineCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[107]); } const IfcParse::entity& Ifc4x3_add1::IfcBSplineCurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[107]); } Ifc4x3_add1::IfcBSplineCurve::IfcBSplineCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_add1::IfcBSplineCurve::IfcBSplineCurve(int v1_Degree, aggregate_of< ::Ifc4x3_add1::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_add1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; populate_derived(); } +Ifc4x3_add1::IfcBSplineCurve::IfcBSplineCurve(int v1_Degree, aggregate_of< ::Ifc4x3_add1::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_add1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; populate_derived(); } // Function implementations for IfcBSplineCurveWithKnots -std::vector< int > /*[2:?]*/ Ifc4x3_add1::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int > /*[2:?]*/ v = data_.get_attribute_value(5); return v; } +std::vector< int > /*[2:?]*/ Ifc4x3_add1::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcBSplineCurveWithKnots::setKnotMultiplicities(std::vector< int > /*[2:?]*/ v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -std::vector< double > /*[2:?]*/ Ifc4x3_add1::IfcBSplineCurveWithKnots::Knots() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(6); return v; } +std::vector< double > /*[2:?]*/ Ifc4x3_add1::IfcBSplineCurveWithKnots::Knots() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcBSplineCurveWithKnots::setKnots(std::vector< double > /*[2:?]*/ v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_add1::IfcKnotType::Value Ifc4x3_add1::IfcBSplineCurveWithKnots::KnotSpec() const { return ::Ifc4x3_add1::IfcKnotType::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_add1::IfcKnotType::Value Ifc4x3_add1::IfcBSplineCurveWithKnots::KnotSpec() const { return ::Ifc4x3_add1::IfcKnotType::FromString(get_attribute_value(7)); } void Ifc4x3_add1::IfcBSplineCurveWithKnots::setKnotSpec(::Ifc4x3_add1::IfcKnotType::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_add1::IfcKnotType::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_add1::IfcBSplineCurveWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[109]); } const IfcParse::entity& Ifc4x3_add1::IfcBSplineCurveWithKnots::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[109]); } Ifc4x3_add1::IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(IfcEntityInstanceData&& e) : IfcBSplineCurve(std::move(e)) { } -Ifc4x3_add1::IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x3_add1::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_add1::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_add1::IfcKnotType::Value v8_KnotSpec) : IfcBSplineCurve(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcKnotType::Class(),(size_t)v8_KnotSpec)));; populate_derived(); } +Ifc4x3_add1::IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x3_add1::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_add1::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_add1::IfcKnotType::Value v8_KnotSpec) : IfcBSplineCurve(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcKnotType::Class(),(size_t)v8_KnotSpec)));; populate_derived(); } // Function implementations for IfcBSplineSurface -int Ifc4x3_add1::IfcBSplineSurface::UDegree() const { int v = data_.get_attribute_value(0); return v; } +int Ifc4x3_add1::IfcBSplineSurface::UDegree() const { int v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcBSplineSurface::setUDegree(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -int Ifc4x3_add1::IfcBSplineSurface::VDegree() const { int v = data_.get_attribute_value(1); return v; } +int Ifc4x3_add1::IfcBSplineSurface::VDegree() const { int v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcBSplineSurface::setVDegree(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -aggregate_of_aggregate_of< ::Ifc4x3_add1::IfcCartesianPoint >::ptr Ifc4x3_add1::IfcBSplineSurface::ControlPointsList() const { aggregate_of_aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcCartesianPoint >(); } +aggregate_of_aggregate_of< ::Ifc4x3_add1::IfcCartesianPoint >::ptr Ifc4x3_add1::IfcBSplineSurface::ControlPointsList() const { aggregate_of_aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcCartesianPoint >(); } void Ifc4x3_add1::IfcBSplineSurface::setControlPointsList(aggregate_of_aggregate_of< ::Ifc4x3_add1::IfcCartesianPoint >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add1::IfcBSplineSurfaceForm::Value Ifc4x3_add1::IfcBSplineSurface::SurfaceForm() const { return ::Ifc4x3_add1::IfcBSplineSurfaceForm::FromString(data_.get_attribute_value(3)); } +::Ifc4x3_add1::IfcBSplineSurfaceForm::Value Ifc4x3_add1::IfcBSplineSurface::SurfaceForm() const { return ::Ifc4x3_add1::IfcBSplineSurfaceForm::FromString(get_attribute_value(3)); } void Ifc4x3_add1::IfcBSplineSurface::setSurfaceForm(::Ifc4x3_add1::IfcBSplineSurfaceForm::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc4x3_add1::IfcBSplineSurfaceForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } -boost::logic::tribool Ifc4x3_add1::IfcBSplineSurface::UClosed() const { boost::logic::tribool v = data_.get_attribute_value(4); return v; } +boost::logic::tribool Ifc4x3_add1::IfcBSplineSurface::UClosed() const { boost::logic::tribool v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcBSplineSurface::setUClosed(boost::logic::tribool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::logic::tribool Ifc4x3_add1::IfcBSplineSurface::VClosed() const { boost::logic::tribool v = data_.get_attribute_value(5); return v; } +boost::logic::tribool Ifc4x3_add1::IfcBSplineSurface::VClosed() const { boost::logic::tribool v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcBSplineSurface::setVClosed(boost::logic::tribool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::logic::tribool Ifc4x3_add1::IfcBSplineSurface::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(6); return v; } +boost::logic::tribool Ifc4x3_add1::IfcBSplineSurface::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcBSplineSurface::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add1::IfcBSplineSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[110]); } const IfcParse::entity& Ifc4x3_add1::IfcBSplineSurface::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[110]); } Ifc4x3_add1::IfcBSplineSurface::IfcBSplineSurface(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x3_add1::IfcBSplineSurface::IfcBSplineSurface(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_add1::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_add1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_add1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));; populate_derived(); } +Ifc4x3_add1::IfcBSplineSurface::IfcBSplineSurface(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_add1::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_add1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_add1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));; populate_derived(); } // Function implementations for IfcBSplineSurfaceWithKnots -std::vector< int > /*[2:?]*/ Ifc4x3_add1::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int > /*[2:?]*/ v = data_.get_attribute_value(7); return v; } +std::vector< int > /*[2:?]*/ Ifc4x3_add1::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcBSplineSurfaceWithKnots::setUMultiplicities(std::vector< int > /*[2:?]*/ v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector< int > /*[2:?]*/ Ifc4x3_add1::IfcBSplineSurfaceWithKnots::VMultiplicities() const { std::vector< int > /*[2:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< int > /*[2:?]*/ Ifc4x3_add1::IfcBSplineSurfaceWithKnots::VMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcBSplineSurfaceWithKnots::setVMultiplicities(std::vector< int > /*[2:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::vector< double > /*[2:?]*/ Ifc4x3_add1::IfcBSplineSurfaceWithKnots::UKnots() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(9); return v; } +std::vector< double > /*[2:?]*/ Ifc4x3_add1::IfcBSplineSurfaceWithKnots::UKnots() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(9); return v; } void Ifc4x3_add1::IfcBSplineSurfaceWithKnots::setUKnots(std::vector< double > /*[2:?]*/ v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -std::vector< double > /*[2:?]*/ Ifc4x3_add1::IfcBSplineSurfaceWithKnots::VKnots() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(10); return v; } +std::vector< double > /*[2:?]*/ Ifc4x3_add1::IfcBSplineSurfaceWithKnots::VKnots() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(10); return v; } void Ifc4x3_add1::IfcBSplineSurfaceWithKnots::setVKnots(std::vector< double > /*[2:?]*/ v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -::Ifc4x3_add1::IfcKnotType::Value Ifc4x3_add1::IfcBSplineSurfaceWithKnots::KnotSpec() const { return ::Ifc4x3_add1::IfcKnotType::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_add1::IfcKnotType::Value Ifc4x3_add1::IfcBSplineSurfaceWithKnots::KnotSpec() const { return ::Ifc4x3_add1::IfcKnotType::FromString(get_attribute_value(11)); } void Ifc4x3_add1::IfcBSplineSurfaceWithKnots::setKnotSpec(::Ifc4x3_add1::IfcKnotType::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_add1::IfcKnotType::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_add1::IfcBSplineSurfaceWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[112]); } const IfcParse::entity& Ifc4x3_add1::IfcBSplineSurfaceWithKnots::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[112]); } Ifc4x3_add1::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(IfcEntityInstanceData&& e) : IfcBSplineSurface(std::move(e)) { } -Ifc4x3_add1::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_add1::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_add1::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_add1::IfcKnotType::Value v12_KnotSpec) : IfcBSplineSurface(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_add1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add1::IfcKnotType::Class(),(size_t)v12_KnotSpec)));; populate_derived(); } +Ifc4x3_add1::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_add1::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_add1::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_add1::IfcKnotType::Value v12_KnotSpec) : IfcBSplineSurface(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_add1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add1::IfcKnotType::Class(),(size_t)v12_KnotSpec)));; populate_derived(); } // Function implementations for IfcBeam -boost::optional< ::Ifc4x3_add1::IfcBeamTypeEnum::Value > Ifc4x3_add1::IfcBeam::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcBeamTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcBeamTypeEnum::Value > Ifc4x3_add1::IfcBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcBeamTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcBeam::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcBeamTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcBeamTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcBeam::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[72]); } const IfcParse::entity& Ifc4x3_add1::IfcBeam::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[72]); } Ifc4x3_add1::IfcBeam::IfcBeam(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add1::IfcBeam::IfcBeam(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcBeamTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcBeam::IfcBeam(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcBeamTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBeamType -::Ifc4x3_add1::IfcBeamTypeEnum::Value Ifc4x3_add1::IfcBeamType::PredefinedType() const { return ::Ifc4x3_add1::IfcBeamTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcBeamTypeEnum::Value Ifc4x3_add1::IfcBeamType::PredefinedType() const { return ::Ifc4x3_add1::IfcBeamTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcBeamType::setPredefinedType(::Ifc4x3_add1::IfcBeamTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcBeamTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcBeamType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[73]); } const IfcParse::entity& Ifc4x3_add1::IfcBeamType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[73]); } Ifc4x3_add1::IfcBeamType::IfcBeamType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add1::IfcBeamType::IfcBeamType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBeamTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcBeamType::IfcBeamType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBeamTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBearing -boost::optional< ::Ifc4x3_add1::IfcBearingTypeEnum::Value > Ifc4x3_add1::IfcBearing::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcBearingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcBearingTypeEnum::Value > Ifc4x3_add1::IfcBearing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcBearingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcBearing::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcBearingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcBearingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcBearing::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[75]); } const IfcParse::entity& Ifc4x3_add1::IfcBearing::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[75]); } Ifc4x3_add1::IfcBearing::IfcBearing(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add1::IfcBearing::IfcBearing(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcBearingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcBearing::IfcBearing(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcBearingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBearingType -::Ifc4x3_add1::IfcBearingTypeEnum::Value Ifc4x3_add1::IfcBearingType::PredefinedType() const { return ::Ifc4x3_add1::IfcBearingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcBearingTypeEnum::Value Ifc4x3_add1::IfcBearingType::PredefinedType() const { return ::Ifc4x3_add1::IfcBearingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcBearingType::setPredefinedType(::Ifc4x3_add1::IfcBearingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcBearingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcBearingType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[76]); } const IfcParse::entity& Ifc4x3_add1::IfcBearingType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[76]); } Ifc4x3_add1::IfcBearingType::IfcBearingType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add1::IfcBearingType::IfcBearingType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBearingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcBearingType::IfcBearingType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBearingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBlobTexture -std::string Ifc4x3_add1::IfcBlobTexture::RasterFormat() const { std::string v = data_.get_attribute_value(5); return v; } +std::string Ifc4x3_add1::IfcBlobTexture::RasterFormat() const { std::string v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcBlobTexture::setRasterFormat(std::string v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::dynamic_bitset<> Ifc4x3_add1::IfcBlobTexture::RasterCode() const { boost::dynamic_bitset<> v = data_.get_attribute_value(6); return v; } +boost::dynamic_bitset<> Ifc4x3_add1::IfcBlobTexture::RasterCode() const { boost::dynamic_bitset<> v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcBlobTexture::setRasterCode(boost::dynamic_bitset<> v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add1::IfcBlobTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[81]); } const IfcParse::entity& Ifc4x3_add1::IfcBlobTexture::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[81]); } Ifc4x3_add1::IfcBlobTexture::IfcBlobTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -Ifc4x3_add1::IfcBlobTexture::IfcBlobTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_add1::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) : IfcSurfaceTexture(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode));; populate_derived(); } +Ifc4x3_add1::IfcBlobTexture::IfcBlobTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_add1::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) : IfcSurfaceTexture(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode));; populate_derived(); } // Function implementations for IfcBlock -double Ifc4x3_add1::IfcBlock::XLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add1::IfcBlock::XLength() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcBlock::setXLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_add1::IfcBlock::YLength() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_add1::IfcBlock::YLength() const { double v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcBlock::setYLength(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_add1::IfcBlock::ZLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add1::IfcBlock::ZLength() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcBlock::setZLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcBlock::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[82]); } const IfcParse::entity& Ifc4x3_add1::IfcBlock::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[82]); } Ifc4x3_add1::IfcBlock::IfcBlock(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3_add1::IfcBlock::IfcBlock(::Ifc4x3_add1::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; populate_derived(); } +Ifc4x3_add1::IfcBlock::IfcBlock(::Ifc4x3_add1::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; populate_derived(); } // Function implementations for IfcBoiler -boost::optional< ::Ifc4x3_add1::IfcBoilerTypeEnum::Value > Ifc4x3_add1::IfcBoiler::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcBoilerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcBoilerTypeEnum::Value > Ifc4x3_add1::IfcBoiler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcBoilerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcBoiler::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcBoilerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcBoilerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcBoiler::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[83]); } const IfcParse::entity& Ifc4x3_add1::IfcBoiler::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[83]); } Ifc4x3_add1::IfcBoiler::IfcBoiler(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add1::IfcBoiler::IfcBoiler(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcBoilerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcBoiler::IfcBoiler(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcBoilerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBoilerType -::Ifc4x3_add1::IfcBoilerTypeEnum::Value Ifc4x3_add1::IfcBoilerType::PredefinedType() const { return ::Ifc4x3_add1::IfcBoilerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcBoilerTypeEnum::Value Ifc4x3_add1::IfcBoilerType::PredefinedType() const { return ::Ifc4x3_add1::IfcBoilerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcBoilerType::setPredefinedType(::Ifc4x3_add1::IfcBoilerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcBoilerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcBoilerType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[84]); } const IfcParse::entity& Ifc4x3_add1::IfcBoilerType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[84]); } Ifc4x3_add1::IfcBoilerType::IfcBoilerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add1::IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBoilerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBoilerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBooleanClippingResult @@ -8381,21 +8381,21 @@ Ifc4x3_add1::IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, ::Ifc4x3_add1 const IfcParse::entity& Ifc4x3_add1::IfcBooleanClippingResult::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[87]); } const IfcParse::entity& Ifc4x3_add1::IfcBooleanClippingResult::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[87]); } Ifc4x3_add1::IfcBooleanClippingResult::IfcBooleanClippingResult(IfcEntityInstanceData&& e) : IfcBooleanResult(std::move(e)) { } -Ifc4x3_add1::IfcBooleanClippingResult::IfcBooleanClippingResult(::Ifc4x3_add1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_add1::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x3_add1::IfcBooleanOperand* v3_SecondOperand) : IfcBooleanResult(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcBooleanClippingResult::IfcBooleanClippingResult(::Ifc4x3_add1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_add1::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x3_add1::IfcBooleanOperand* v3_SecondOperand) : IfcBooleanResult(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBooleanResult -::Ifc4x3_add1::IfcBooleanOperator::Value Ifc4x3_add1::IfcBooleanResult::Operator() const { return ::Ifc4x3_add1::IfcBooleanOperator::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_add1::IfcBooleanOperator::Value Ifc4x3_add1::IfcBooleanResult::Operator() const { return ::Ifc4x3_add1::IfcBooleanOperator::FromString(get_attribute_value(0)); } void Ifc4x3_add1::IfcBooleanResult::setOperator(::Ifc4x3_add1::IfcBooleanOperator::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_add1::IfcBooleanOperator::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add1::IfcBooleanOperand* Ifc4x3_add1::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcBooleanOperand>(true); } +::Ifc4x3_add1::IfcBooleanOperand* Ifc4x3_add1::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcBooleanOperand>(true); } void Ifc4x3_add1::IfcBooleanResult::setFirstOperand(::Ifc4x3_add1::IfcBooleanOperand* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add1::IfcBooleanOperand* Ifc4x3_add1::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcBooleanOperand>(true); } +::Ifc4x3_add1::IfcBooleanOperand* Ifc4x3_add1::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcBooleanOperand>(true); } void Ifc4x3_add1::IfcBooleanResult::setSecondOperand(::Ifc4x3_add1::IfcBooleanOperand* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcBooleanResult::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[90]); } const IfcParse::entity& Ifc4x3_add1::IfcBooleanResult::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[90]); } Ifc4x3_add1::IfcBooleanResult::IfcBooleanResult(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcBooleanResult::IfcBooleanResult(::Ifc4x3_add1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_add1::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x3_add1::IfcBooleanOperand* v3_SecondOperand) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcBooleanResult::IfcBooleanResult(::Ifc4x3_add1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_add1::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x3_add1::IfcBooleanOperand* v3_SecondOperand) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBorehole @@ -8403,17 +8403,17 @@ Ifc4x3_add1::IfcBooleanResult::IfcBooleanResult(::Ifc4x3_add1::IfcBooleanOperato const IfcParse::entity& Ifc4x3_add1::IfcBorehole::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[91]); } const IfcParse::entity& Ifc4x3_add1::IfcBorehole::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[91]); } Ifc4x3_add1::IfcBorehole::IfcBorehole(IfcEntityInstanceData&& e) : IfcGeotechnicalAssembly(std::move(e)) { } -Ifc4x3_add1::IfcBorehole::IfcBorehole(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add1::IfcBorehole::IfcBorehole(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcBoundaryCondition -boost::optional< std::string > Ifc4x3_add1::IfcBoundaryCondition::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcBoundaryCondition::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcBoundaryCondition::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3_add1::IfcBoundaryCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[92]); } const IfcParse::entity& Ifc4x3_add1::IfcBoundaryCondition::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[92]); } Ifc4x3_add1::IfcBoundaryCondition::IfcBoundaryCondition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_add1::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcBoundaryCurve @@ -8421,71 +8421,71 @@ Ifc4x3_add1::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::st const IfcParse::entity& Ifc4x3_add1::IfcBoundaryCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[93]); } const IfcParse::entity& Ifc4x3_add1::IfcBoundaryCurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[93]); } Ifc4x3_add1::IfcBoundaryCurve::IfcBoundaryCurve(IfcEntityInstanceData&& e) : IfcCompositeCurveOnSurface(std::move(e)) { } -Ifc4x3_add1::IfcBoundaryCurve::IfcBoundaryCurve(aggregate_of< ::Ifc4x3_add1::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurveOnSurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x3_add1::IfcBoundaryCurve::IfcBoundaryCurve(aggregate_of< ::Ifc4x3_add1::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurveOnSurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcBoundaryEdgeCondition -::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_add1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } +::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_add1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3_add1::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthX(::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_add1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } +::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_add1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3_add1::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthY(::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_add1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } +::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_add1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3_add1::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthZ(::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_add1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionSelect>(true); } +::Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_add1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3_add1::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(::Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_add1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionSelect>(true); } +::Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_add1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3_add1::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(::Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_add1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionSelect>(true); } +::Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_add1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3_add1::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(::Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add1::IfcBoundaryEdgeCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[94]); } const IfcParse::entity& Ifc4x3_add1::IfcBoundaryEdgeCondition::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[94]); } Ifc4x3_add1::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -Ifc4x3_add1::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect* v2_TranslationalStiffnessByLengthX, ::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect* v3_TranslationalStiffnessByLengthY, ::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect* v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionSelect* v5_RotationalStiffnessByLengthX, ::Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionSelect* v6_RotationalStiffnessByLengthY, ::Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionSelect* v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByLengthX ? v2_TranslationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByLengthY ? v3_TranslationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByLengthZ ? v4_TranslationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessByLengthX ? v5_RotationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessByLengthY ? v6_RotationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessByLengthZ ? v7_RotationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect* v2_TranslationalStiffnessByLengthX, ::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect* v3_TranslationalStiffnessByLengthY, ::Ifc4x3_add1::IfcModulusOfTranslationalSubgradeReactionSelect* v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionSelect* v5_RotationalStiffnessByLengthX, ::Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionSelect* v6_RotationalStiffnessByLengthY, ::Ifc4x3_add1::IfcModulusOfRotationalSubgradeReactionSelect* v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByLengthX ? v2_TranslationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByLengthY ? v3_TranslationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByLengthZ ? v4_TranslationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessByLengthX ? v5_RotationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessByLengthY ? v6_RotationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessByLengthZ ? v7_RotationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryFaceCondition -::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect* Ifc4x3_add1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect>(true); } +::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect* Ifc4x3_add1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3_add1::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaX(::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect* Ifc4x3_add1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect>(true); } +::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect* Ifc4x3_add1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3_add1::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaY(::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect* Ifc4x3_add1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect>(true); } +::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect* Ifc4x3_add1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3_add1::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcBoundaryFaceCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[95]); } const IfcParse::entity& Ifc4x3_add1::IfcBoundaryFaceCondition::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[95]); } Ifc4x3_add1::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -Ifc4x3_add1::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect* v2_TranslationalStiffnessByAreaX, ::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect* v3_TranslationalStiffnessByAreaY, ::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect* v4_TranslationalStiffnessByAreaZ) : IfcBoundaryCondition(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByAreaX ? v2_TranslationalStiffnessByAreaX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByAreaY ? v3_TranslationalStiffnessByAreaY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByAreaZ ? v4_TranslationalStiffnessByAreaZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect* v2_TranslationalStiffnessByAreaX, ::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect* v3_TranslationalStiffnessByAreaY, ::Ifc4x3_add1::IfcModulusOfSubgradeReactionSelect* v4_TranslationalStiffnessByAreaZ) : IfcBoundaryCondition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByAreaX ? v2_TranslationalStiffnessByAreaX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByAreaY ? v3_TranslationalStiffnessByAreaY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByAreaZ ? v4_TranslationalStiffnessByAreaZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryNodeCondition -::Ifc4x3_add1::IfcTranslationalStiffnessSelect* Ifc4x3_add1::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcTranslationalStiffnessSelect>(true); } +::Ifc4x3_add1::IfcTranslationalStiffnessSelect* Ifc4x3_add1::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3_add1::IfcBoundaryNodeCondition::setTranslationalStiffnessX(::Ifc4x3_add1::IfcTranslationalStiffnessSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add1::IfcTranslationalStiffnessSelect* Ifc4x3_add1::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcTranslationalStiffnessSelect>(true); } +::Ifc4x3_add1::IfcTranslationalStiffnessSelect* Ifc4x3_add1::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3_add1::IfcBoundaryNodeCondition::setTranslationalStiffnessY(::Ifc4x3_add1::IfcTranslationalStiffnessSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add1::IfcTranslationalStiffnessSelect* Ifc4x3_add1::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcTranslationalStiffnessSelect>(true); } +::Ifc4x3_add1::IfcTranslationalStiffnessSelect* Ifc4x3_add1::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3_add1::IfcBoundaryNodeCondition::setTranslationalStiffnessZ(::Ifc4x3_add1::IfcTranslationalStiffnessSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add1::IfcRotationalStiffnessSelect* Ifc4x3_add1::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcRotationalStiffnessSelect>(true); } +::Ifc4x3_add1::IfcRotationalStiffnessSelect* Ifc4x3_add1::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcRotationalStiffnessSelect>(true); } void Ifc4x3_add1::IfcBoundaryNodeCondition::setRotationalStiffnessX(::Ifc4x3_add1::IfcRotationalStiffnessSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add1::IfcRotationalStiffnessSelect* Ifc4x3_add1::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcRotationalStiffnessSelect>(true); } +::Ifc4x3_add1::IfcRotationalStiffnessSelect* Ifc4x3_add1::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcRotationalStiffnessSelect>(true); } void Ifc4x3_add1::IfcBoundaryNodeCondition::setRotationalStiffnessY(::Ifc4x3_add1::IfcRotationalStiffnessSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add1::IfcRotationalStiffnessSelect* Ifc4x3_add1::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add1::IfcRotationalStiffnessSelect>(true); } +::Ifc4x3_add1::IfcRotationalStiffnessSelect* Ifc4x3_add1::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add1::IfcRotationalStiffnessSelect>(true); } void Ifc4x3_add1::IfcBoundaryNodeCondition::setRotationalStiffnessZ(::Ifc4x3_add1::IfcRotationalStiffnessSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add1::IfcBoundaryNodeCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[96]); } const IfcParse::entity& Ifc4x3_add1::IfcBoundaryNodeCondition::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[96]); } Ifc4x3_add1::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -Ifc4x3_add1::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x3_add1::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x3_add1::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x3_add1::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ) : IfcBoundaryCondition(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x3_add1::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x3_add1::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x3_add1::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ) : IfcBoundaryCondition(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryNodeConditionWarping -::Ifc4x3_add1::IfcWarpingStiffnessSelect* Ifc4x3_add1::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_add1::IfcWarpingStiffnessSelect>(true); } +::Ifc4x3_add1::IfcWarpingStiffnessSelect* Ifc4x3_add1::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_add1::IfcWarpingStiffnessSelect>(true); } void Ifc4x3_add1::IfcBoundaryNodeConditionWarping::setWarpingStiffness(::Ifc4x3_add1::IfcWarpingStiffnessSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_add1::IfcBoundaryNodeConditionWarping::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[97]); } const IfcParse::entity& Ifc4x3_add1::IfcBoundaryNodeConditionWarping::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[97]); } Ifc4x3_add1::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(IfcEntityInstanceData&& e) : IfcBoundaryNodeCondition(std::move(e)) { } -Ifc4x3_add1::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x3_add1::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x3_add1::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x3_add1::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ, ::Ifc4x3_add1::IfcWarpingStiffnessSelect* v8_WarpingStiffness) : IfcBoundaryNodeCondition(IfcEntityInstanceData(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_WarpingStiffness ? v8_WarpingStiffness->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x3_add1::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x3_add1::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x3_add1::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x3_add1::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ, ::Ifc4x3_add1::IfcWarpingStiffnessSelect* v8_WarpingStiffness) : IfcBoundaryNodeCondition(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_WarpingStiffness ? v8_WarpingStiffness->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundedCurve @@ -8493,7 +8493,7 @@ Ifc4x3_add1::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(bo const IfcParse::entity& Ifc4x3_add1::IfcBoundedCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[98]); } const IfcParse::entity& Ifc4x3_add1::IfcBoundedCurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[98]); } Ifc4x3_add1::IfcBoundedCurve::IfcBoundedCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_add1::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add1::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcBoundedSurface @@ -8501,129 +8501,129 @@ Ifc4x3_add1::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData const IfcParse::entity& Ifc4x3_add1::IfcBoundedSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[99]); } const IfcParse::entity& Ifc4x3_add1::IfcBoundedSurface::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[99]); } Ifc4x3_add1::IfcBoundedSurface::IfcBoundedSurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x3_add1::IfcBoundedSurface::IfcBoundedSurface() : IfcSurface(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add1::IfcBoundedSurface::IfcBoundedSurface() : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcBoundingBox -::Ifc4x3_add1::IfcCartesianPoint* Ifc4x3_add1::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCartesianPoint>(true); } +::Ifc4x3_add1::IfcCartesianPoint* Ifc4x3_add1::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCartesianPoint>(true); } void Ifc4x3_add1::IfcBoundingBox::setCorner(::Ifc4x3_add1::IfcCartesianPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_add1::IfcBoundingBox::XDim() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add1::IfcBoundingBox::XDim() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcBoundingBox::setXDim(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_add1::IfcBoundingBox::YDim() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_add1::IfcBoundingBox::YDim() const { double v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcBoundingBox::setYDim(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_add1::IfcBoundingBox::ZDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add1::IfcBoundingBox::ZDim() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcBoundingBox::setZDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcBoundingBox::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[100]); } const IfcParse::entity& Ifc4x3_add1::IfcBoundingBox::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[100]); } Ifc4x3_add1::IfcBoundingBox::IfcBoundingBox(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcBoundingBox::IfcBoundingBox(::Ifc4x3_add1::IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Corner ? v1_Corner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; populate_derived(); } +Ifc4x3_add1::IfcBoundingBox::IfcBoundingBox(::Ifc4x3_add1::IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Corner ? v1_Corner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; populate_derived(); } // Function implementations for IfcBoxedHalfSpace -::Ifc4x3_add1::IfcBoundingBox* Ifc4x3_add1::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcBoundingBox>(true); } +::Ifc4x3_add1::IfcBoundingBox* Ifc4x3_add1::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcBoundingBox>(true); } void Ifc4x3_add1::IfcBoxedHalfSpace::setEnclosure(::Ifc4x3_add1::IfcBoundingBox* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcBoxedHalfSpace::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[102]); } const IfcParse::entity& Ifc4x3_add1::IfcBoxedHalfSpace::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[102]); } Ifc4x3_add1::IfcBoxedHalfSpace::IfcBoxedHalfSpace(IfcEntityInstanceData&& e) : IfcHalfSpaceSolid(std::move(e)) { } -Ifc4x3_add1::IfcBoxedHalfSpace::IfcBoxedHalfSpace(::Ifc4x3_add1::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_add1::IfcBoundingBox* v3_Enclosure) : IfcHalfSpaceSolid(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Enclosure ? v3_Enclosure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcBoxedHalfSpace::IfcBoxedHalfSpace(::Ifc4x3_add1::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_add1::IfcBoundingBox* v3_Enclosure) : IfcHalfSpaceSolid(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Enclosure ? v3_Enclosure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBridge -boost::optional< ::Ifc4x3_add1::IfcBridgeTypeEnum::Value > Ifc4x3_add1::IfcBridge::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcBridgeTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_add1::IfcBridgeTypeEnum::Value > Ifc4x3_add1::IfcBridge::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcBridgeTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcBridge::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcBridgeTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcBridgeTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_add1::IfcBridge::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[103]); } const IfcParse::entity& Ifc4x3_add1::IfcBridge::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[103]); } Ifc4x3_add1::IfcBridge::IfcBridge(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x3_add1::IfcBridge::IfcBridge(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_add1::IfcBridgeTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcBridge::IfcBridge(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_add1::IfcBridgeTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBridgePart -boost::optional< ::Ifc4x3_add1::IfcBridgePartTypeEnum::Value > Ifc4x3_add1::IfcBridgePart::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcBridgePartTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add1::IfcBridgePartTypeEnum::Value > Ifc4x3_add1::IfcBridgePart::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcBridgePartTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add1::IfcBridgePart::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcBridgePartTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add1::IfcBridgePartTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add1::IfcBridgePart::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[104]); } const IfcParse::entity& Ifc4x3_add1::IfcBridgePart::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[104]); } Ifc4x3_add1::IfcBridgePart::IfcBridgePart(IfcEntityInstanceData&& e) : IfcFacilityPart(std::move(e)) { } -Ifc4x3_add1::IfcBridgePart::IfcBridgePart(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3_add1::IfcBridgePartTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcBridgePartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcBridgePart::IfcBridgePart(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3_add1::IfcBridgePartTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcBridgePartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBuilding -boost::optional< double > Ifc4x3_add1::IfcBuilding::ElevationOfRefHeight() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_add1::IfcBuilding::ElevationOfRefHeight() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_add1::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_add1::IfcBuilding::ElevationOfTerrain() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_add1::IfcBuilding::ElevationOfTerrain() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_add1::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4x3_add1::IfcPostalAddress* Ifc4x3_add1::IfcBuilding::BuildingAddress() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc4x3_add1::IfcPostalAddress>(true); } +::Ifc4x3_add1::IfcPostalAddress* Ifc4x3_add1::IfcBuilding::BuildingAddress() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc4x3_add1::IfcPostalAddress>(true); } void Ifc4x3_add1::IfcBuilding::setBuildingAddress(::Ifc4x3_add1::IfcPostalAddress* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_add1::IfcBuilding::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[113]); } const IfcParse::entity& Ifc4x3_add1::IfcBuilding::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[113]); } Ifc4x3_add1::IfcBuilding::IfcBuilding(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x3_add1::IfcBuilding::IfcBuilding(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_add1::IfcPostalAddress* v12_BuildingAddress) : IfcFacility(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, v12_BuildingAddress ? v12_BuildingAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcBuilding::IfcBuilding(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_add1::IfcPostalAddress* v12_BuildingAddress) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, v12_BuildingAddress ? v12_BuildingAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBuildingElementPart -boost::optional< ::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Value > Ifc4x3_add1::IfcBuildingElementPart::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Value > Ifc4x3_add1::IfcBuildingElementPart::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcBuildingElementPart::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcBuildingElementPart::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[114]); } const IfcParse::entity& Ifc4x3_add1::IfcBuildingElementPart::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[114]); } Ifc4x3_add1::IfcBuildingElementPart::IfcBuildingElementPart(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_add1::IfcBuildingElementPart::IfcBuildingElementPart(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcBuildingElementPart::IfcBuildingElementPart(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBuildingElementPartType -::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Value Ifc4x3_add1::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Value Ifc4x3_add1::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcBuildingElementPartType::setPredefinedType(::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcBuildingElementPartType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[115]); } const IfcParse::entity& Ifc4x3_add1::IfcBuildingElementPartType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[115]); } Ifc4x3_add1::IfcBuildingElementPartType::IfcBuildingElementPartType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_add1::IfcBuildingElementPartType::IfcBuildingElementPartType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcBuildingElementPartType::IfcBuildingElementPartType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBuildingElementProxy -boost::optional< ::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Value > Ifc4x3_add1::IfcBuildingElementProxy::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Value > Ifc4x3_add1::IfcBuildingElementProxy::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcBuildingElementProxy::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcBuildingElementProxy::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[117]); } const IfcParse::entity& Ifc4x3_add1::IfcBuildingElementProxy::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[117]); } Ifc4x3_add1::IfcBuildingElementProxy::IfcBuildingElementProxy(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add1::IfcBuildingElementProxy::IfcBuildingElementProxy(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcBuildingElementProxy::IfcBuildingElementProxy(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBuildingElementProxyType -::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Value Ifc4x3_add1::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Value Ifc4x3_add1::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcBuildingElementProxyType::setPredefinedType(::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcBuildingElementProxyType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[118]); } const IfcParse::entity& Ifc4x3_add1::IfcBuildingElementProxyType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[118]); } Ifc4x3_add1::IfcBuildingElementProxyType::IfcBuildingElementProxyType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add1::IfcBuildingElementProxyType::IfcBuildingElementProxyType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcBuildingElementProxyType::IfcBuildingElementProxyType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBuildingStorey -boost::optional< double > Ifc4x3_add1::IfcBuildingStorey::Elevation() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_add1::IfcBuildingStorey::Elevation() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_add1::IfcBuildingStorey::setElevation(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_add1::IfcBuildingStorey::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[120]); } const IfcParse::entity& Ifc4x3_add1::IfcBuildingStorey::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[120]); } Ifc4x3_add1::IfcBuildingStorey::IfcBuildingStorey(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x3_add1::IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_Elevation) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; populate_derived(); } +Ifc4x3_add1::IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_Elevation) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; populate_derived(); } // Function implementations for IfcBuildingSystem -boost::optional< ::Ifc4x3_add1::IfcBuildingSystemTypeEnum::Value > Ifc4x3_add1::IfcBuildingSystem::PredefinedType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcBuildingSystemTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3_add1::IfcBuildingSystemTypeEnum::Value > Ifc4x3_add1::IfcBuildingSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcBuildingSystemTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_add1::IfcBuildingSystem::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcBuildingSystemTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3_add1::IfcBuildingSystemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_add1::IfcBuildingSystem::LongName() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcBuildingSystem::LongName() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcBuildingSystem::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_add1::IfcBuildingSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[121]); } const IfcParse::entity& Ifc4x3_add1::IfcBuildingSystem::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[121]); } Ifc4x3_add1::IfcBuildingSystem::IfcBuildingSystem(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3_add1::IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_add1::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add1::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } +Ifc4x3_add1::IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_add1::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add1::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } // Function implementations for IfcBuiltElement @@ -8631,7 +8631,7 @@ Ifc4x3_add1::IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, ::Ifc const IfcParse::entity& Ifc4x3_add1::IfcBuiltElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[123]); } const IfcParse::entity& Ifc4x3_add1::IfcBuiltElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[123]); } Ifc4x3_add1::IfcBuiltElement::IfcBuiltElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_add1::IfcBuiltElement::IfcBuiltElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add1::IfcBuiltElement::IfcBuiltElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcBuiltElementType @@ -8639,167 +8639,167 @@ Ifc4x3_add1::IfcBuiltElement::IfcBuiltElement(std::string v1_GlobalId, ::Ifc4x3_ const IfcParse::entity& Ifc4x3_add1::IfcBuiltElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[124]); } const IfcParse::entity& Ifc4x3_add1::IfcBuiltElementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[124]); } Ifc4x3_add1::IfcBuiltElementType::IfcBuiltElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_add1::IfcBuiltElementType::IfcBuiltElementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add1::IfcBuiltElementType::IfcBuiltElementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcBuiltSystem -boost::optional< ::Ifc4x3_add1::IfcBuiltSystemTypeEnum::Value > Ifc4x3_add1::IfcBuiltSystem::PredefinedType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcBuiltSystemTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3_add1::IfcBuiltSystemTypeEnum::Value > Ifc4x3_add1::IfcBuiltSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcBuiltSystemTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_add1::IfcBuiltSystem::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcBuiltSystemTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3_add1::IfcBuiltSystemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_add1::IfcBuiltSystem::LongName() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcBuiltSystem::LongName() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcBuiltSystem::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_add1::IfcBuiltSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[125]); } const IfcParse::entity& Ifc4x3_add1::IfcBuiltSystem::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[125]); } Ifc4x3_add1::IfcBuiltSystem::IfcBuiltSystem(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3_add1::IfcBuiltSystem::IfcBuiltSystem(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_add1::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add1::IfcBuiltSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } +Ifc4x3_add1::IfcBuiltSystem::IfcBuiltSystem(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_add1::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add1::IfcBuiltSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } // Function implementations for IfcBurner -boost::optional< ::Ifc4x3_add1::IfcBurnerTypeEnum::Value > Ifc4x3_add1::IfcBurner::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcBurnerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcBurnerTypeEnum::Value > Ifc4x3_add1::IfcBurner::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcBurnerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcBurner::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcBurnerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcBurnerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcBurner::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[127]); } const IfcParse::entity& Ifc4x3_add1::IfcBurner::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[127]); } Ifc4x3_add1::IfcBurner::IfcBurner(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add1::IfcBurner::IfcBurner(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcBurnerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcBurner::IfcBurner(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcBurnerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBurnerType -::Ifc4x3_add1::IfcBurnerTypeEnum::Value Ifc4x3_add1::IfcBurnerType::PredefinedType() const { return ::Ifc4x3_add1::IfcBurnerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcBurnerTypeEnum::Value Ifc4x3_add1::IfcBurnerType::PredefinedType() const { return ::Ifc4x3_add1::IfcBurnerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcBurnerType::setPredefinedType(::Ifc4x3_add1::IfcBurnerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcBurnerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcBurnerType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[128]); } const IfcParse::entity& Ifc4x3_add1::IfcBurnerType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[128]); } Ifc4x3_add1::IfcBurnerType::IfcBurnerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add1::IfcBurnerType::IfcBurnerType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBurnerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcBurnerType::IfcBurnerType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcBurnerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCShapeProfileDef -double Ifc4x3_add1::IfcCShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add1::IfcCShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcCShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_add1::IfcCShapeProfileDef::Width() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add1::IfcCShapeProfileDef::Width() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcCShapeProfileDef::setWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_add1::IfcCShapeProfileDef::WallThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_add1::IfcCShapeProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcCShapeProfileDef::setWallThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_add1::IfcCShapeProfileDef::Girth() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_add1::IfcCShapeProfileDef::Girth() const { double v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcCShapeProfileDef::setGirth(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_add1::IfcCShapeProfileDef::InternalFilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add1::IfcCShapeProfileDef::InternalFilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcCShapeProfileDef::setInternalFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_add1::IfcCShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[265]); } const IfcParse::entity& Ifc4x3_add1::IfcCShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[265]); } Ifc4x3_add1::IfcCShapeProfileDef::IfcCShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_add1::IfcCShapeProfileDef::IfcCShapeProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, boost::optional< double > v8_InternalFilletRadius) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); }; populate_derived(); } +Ifc4x3_add1::IfcCShapeProfileDef::IfcCShapeProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, boost::optional< double > v8_InternalFilletRadius) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); }; populate_derived(); } // Function implementations for IfcCableCarrierFitting -boost::optional< ::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Value > Ifc4x3_add1::IfcCableCarrierFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Value > Ifc4x3_add1::IfcCableCarrierFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcCableCarrierFitting::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcCableCarrierFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[130]); } const IfcParse::entity& Ifc4x3_add1::IfcCableCarrierFitting::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[130]); } Ifc4x3_add1::IfcCableCarrierFitting::IfcCableCarrierFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x3_add1::IfcCableCarrierFitting::IfcCableCarrierFitting(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcCableCarrierFitting::IfcCableCarrierFitting(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableCarrierFittingType -::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Value Ifc4x3_add1::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Value Ifc4x3_add1::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcCableCarrierFittingType::setPredefinedType(::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcCableCarrierFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[131]); } const IfcParse::entity& Ifc4x3_add1::IfcCableCarrierFittingType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[131]); } Ifc4x3_add1::IfcCableCarrierFittingType::IfcCableCarrierFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x3_add1::IfcCableCarrierFittingType::IfcCableCarrierFittingType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcCableCarrierFittingType::IfcCableCarrierFittingType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCableCarrierSegment -boost::optional< ::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x3_add1::IfcCableCarrierSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x3_add1::IfcCableCarrierSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcCableCarrierSegment::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcCableCarrierSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[133]); } const IfcParse::entity& Ifc4x3_add1::IfcCableCarrierSegment::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[133]); } Ifc4x3_add1::IfcCableCarrierSegment::IfcCableCarrierSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x3_add1::IfcCableCarrierSegment::IfcCableCarrierSegment(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcCableCarrierSegment::IfcCableCarrierSegment(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableCarrierSegmentType -::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3_add1::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3_add1::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcCableCarrierSegmentType::setPredefinedType(::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcCableCarrierSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[134]); } const IfcParse::entity& Ifc4x3_add1::IfcCableCarrierSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[134]); } Ifc4x3_add1::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x3_add1::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCableFitting -boost::optional< ::Ifc4x3_add1::IfcCableFittingTypeEnum::Value > Ifc4x3_add1::IfcCableFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCableFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcCableFittingTypeEnum::Value > Ifc4x3_add1::IfcCableFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCableFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcCableFitting::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcCableFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcCableFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcCableFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[136]); } const IfcParse::entity& Ifc4x3_add1::IfcCableFitting::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[136]); } Ifc4x3_add1::IfcCableFitting::IfcCableFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x3_add1::IfcCableFitting::IfcCableFitting(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcCableFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcCableFitting::IfcCableFitting(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcCableFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableFittingType -::Ifc4x3_add1::IfcCableFittingTypeEnum::Value Ifc4x3_add1::IfcCableFittingType::PredefinedType() const { return ::Ifc4x3_add1::IfcCableFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcCableFittingTypeEnum::Value Ifc4x3_add1::IfcCableFittingType::PredefinedType() const { return ::Ifc4x3_add1::IfcCableFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcCableFittingType::setPredefinedType(::Ifc4x3_add1::IfcCableFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcCableFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcCableFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[137]); } const IfcParse::entity& Ifc4x3_add1::IfcCableFittingType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[137]); } Ifc4x3_add1::IfcCableFittingType::IfcCableFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x3_add1::IfcCableFittingType::IfcCableFittingType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCableFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcCableFittingType::IfcCableFittingType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCableFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCableSegment -boost::optional< ::Ifc4x3_add1::IfcCableSegmentTypeEnum::Value > Ifc4x3_add1::IfcCableSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCableSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcCableSegmentTypeEnum::Value > Ifc4x3_add1::IfcCableSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCableSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcCableSegment::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcCableSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcCableSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcCableSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[139]); } const IfcParse::entity& Ifc4x3_add1::IfcCableSegment::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[139]); } Ifc4x3_add1::IfcCableSegment::IfcCableSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x3_add1::IfcCableSegment::IfcCableSegment(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcCableSegment::IfcCableSegment(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableSegmentType -::Ifc4x3_add1::IfcCableSegmentTypeEnum::Value Ifc4x3_add1::IfcCableSegmentType::PredefinedType() const { return ::Ifc4x3_add1::IfcCableSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcCableSegmentTypeEnum::Value Ifc4x3_add1::IfcCableSegmentType::PredefinedType() const { return ::Ifc4x3_add1::IfcCableSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcCableSegmentType::setPredefinedType(::Ifc4x3_add1::IfcCableSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcCableSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcCableSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[140]); } const IfcParse::entity& Ifc4x3_add1::IfcCableSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[140]); } Ifc4x3_add1::IfcCableSegmentType::IfcCableSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x3_add1::IfcCableSegmentType::IfcCableSegmentType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCableSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcCableSegmentType::IfcCableSegmentType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCableSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCaissonFoundation -boost::optional< ::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Value > Ifc4x3_add1::IfcCaissonFoundation::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Value > Ifc4x3_add1::IfcCaissonFoundation::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcCaissonFoundation::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcCaissonFoundation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[142]); } const IfcParse::entity& Ifc4x3_add1::IfcCaissonFoundation::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[142]); } Ifc4x3_add1::IfcCaissonFoundation::IfcCaissonFoundation(IfcEntityInstanceData&& e) : IfcDeepFoundation(std::move(e)) { } -Ifc4x3_add1::IfcCaissonFoundation::IfcCaissonFoundation(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType) : IfcDeepFoundation(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcCaissonFoundation::IfcCaissonFoundation(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType) : IfcDeepFoundation(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCaissonFoundationType -::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Value Ifc4x3_add1::IfcCaissonFoundationType::PredefinedType() const { return ::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Value Ifc4x3_add1::IfcCaissonFoundationType::PredefinedType() const { return ::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcCaissonFoundationType::setPredefinedType(::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcCaissonFoundationType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[143]); } const IfcParse::entity& Ifc4x3_add1::IfcCaissonFoundationType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[143]); } Ifc4x3_add1::IfcCaissonFoundationType::IfcCaissonFoundationType(IfcEntityInstanceData&& e) : IfcDeepFoundationType(std::move(e)) { } -Ifc4x3_add1::IfcCaissonFoundationType::IfcCaissonFoundationType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcCaissonFoundationType::IfcCaissonFoundationType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCartesianPoint -std::vector< double > /*[1:3]*/ Ifc4x3_add1::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[1:3]*/ Ifc4x3_add1::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcCartesianPoint::setCoordinates(std::vector< double > /*[1:3]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add1::IfcCartesianPoint::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[146]); } const IfcParse::entity& Ifc4x3_add1::IfcCartesianPoint::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[146]); } Ifc4x3_add1::IfcCartesianPoint::IfcCartesianPoint(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x3_add1::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ v1_Coordinates) : IfcPoint(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } +Ifc4x3_add1::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ v1_Coordinates) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } // Function implementations for IfcCartesianPointList @@ -8807,47 +8807,47 @@ Ifc4x3_add1::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]* const IfcParse::entity& Ifc4x3_add1::IfcCartesianPointList::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[147]); } const IfcParse::entity& Ifc4x3_add1::IfcCartesianPointList::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[147]); } Ifc4x3_add1::IfcCartesianPointList::IfcCartesianPointList(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcCartesianPointList::IfcCartesianPointList() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add1::IfcCartesianPointList::IfcCartesianPointList() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcCartesianPointList2D -std::vector< std::vector< double > > Ifc4x3_add1::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x3_add1::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcCartesianPointList2D::setCoordList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add1::IfcCartesianPointList2D::TagList() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add1::IfcCartesianPointList2D::TagList() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcCartesianPointList2D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_add1::IfcCartesianPointList2D::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[148]); } const IfcParse::entity& Ifc4x3_add1::IfcCartesianPointList2D::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[148]); } Ifc4x3_add1::IfcCartesianPointList2D::IfcCartesianPointList2D(IfcEntityInstanceData&& e) : IfcCartesianPointList(std::move(e)) { } -Ifc4x3_add1::IfcCartesianPointList2D::IfcCartesianPointList2D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } +Ifc4x3_add1::IfcCartesianPointList2D::IfcCartesianPointList2D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } // Function implementations for IfcCartesianPointList3D -std::vector< std::vector< double > > Ifc4x3_add1::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x3_add1::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcCartesianPointList3D::setCoordList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add1::IfcCartesianPointList3D::TagList() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add1::IfcCartesianPointList3D::TagList() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcCartesianPointList3D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_add1::IfcCartesianPointList3D::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[149]); } const IfcParse::entity& Ifc4x3_add1::IfcCartesianPointList3D::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[149]); } Ifc4x3_add1::IfcCartesianPointList3D::IfcCartesianPointList3D(IfcEntityInstanceData&& e) : IfcCartesianPointList(std::move(e)) { } -Ifc4x3_add1::IfcCartesianPointList3D::IfcCartesianPointList3D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } +Ifc4x3_add1::IfcCartesianPointList3D::IfcCartesianPointList3D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator -::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcCartesianTransformationOperator::Axis1() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcDirection>(true); } +::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcCartesianTransformationOperator::Axis1() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcDirection>(true); } void Ifc4x3_add1::IfcCartesianTransformationOperator::setAxis1(::Ifc4x3_add1::IfcDirection* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcCartesianTransformationOperator::Axis2() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcDirection>(true); } +::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcCartesianTransformationOperator::Axis2() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcDirection>(true); } void Ifc4x3_add1::IfcCartesianTransformationOperator::setAxis2(::Ifc4x3_add1::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add1::IfcCartesianPoint* Ifc4x3_add1::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcCartesianPoint>(true); } +::Ifc4x3_add1::IfcCartesianPoint* Ifc4x3_add1::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcCartesianPoint>(true); } void Ifc4x3_add1::IfcCartesianTransformationOperator::setLocalOrigin(::Ifc4x3_add1::IfcCartesianPoint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4x3_add1::IfcCartesianTransformationOperator::Scale() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add1::IfcCartesianTransformationOperator::Scale() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_add1::IfcCartesianTransformationOperator::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[150]); } const IfcParse::entity& Ifc4x3_add1::IfcCartesianTransformationOperator::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[150]); } Ifc4x3_add1::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(::Ifc4x3_add1::IfcDirection* v1_Axis1, ::Ifc4x3_add1::IfcDirection* v2_Axis2, ::Ifc4x3_add1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } +Ifc4x3_add1::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(::Ifc4x3_add1::IfcDirection* v1_Axis1, ::Ifc4x3_add1::IfcDirection* v2_Axis2, ::Ifc4x3_add1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator2D @@ -8855,119 +8855,119 @@ Ifc4x3_add1::IfcCartesianTransformationOperator::IfcCartesianTransformationOpera const IfcParse::entity& Ifc4x3_add1::IfcCartesianTransformationOperator2D::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[151]); } const IfcParse::entity& Ifc4x3_add1::IfcCartesianTransformationOperator2D::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[151]); } Ifc4x3_add1::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator(std::move(e)) { } -Ifc4x3_add1::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(::Ifc4x3_add1::IfcDirection* v1_Axis1, ::Ifc4x3_add1::IfcDirection* v2_Axis2, ::Ifc4x3_add1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcCartesianTransformationOperator(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } +Ifc4x3_add1::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(::Ifc4x3_add1::IfcDirection* v1_Axis1, ::Ifc4x3_add1::IfcDirection* v2_Axis2, ::Ifc4x3_add1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcCartesianTransformationOperator(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator2DnonUniform -boost::optional< double > Ifc4x3_add1::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_add1::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcCartesianTransformationOperator2DnonUniform::setScale2(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add1::IfcCartesianTransformationOperator2DnonUniform::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[152]); } const IfcParse::entity& Ifc4x3_add1::IfcCartesianTransformationOperator2DnonUniform::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[152]); } Ifc4x3_add1::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator2D(std::move(e)) { } -Ifc4x3_add1::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(::Ifc4x3_add1::IfcDirection* v1_Axis1, ::Ifc4x3_add1::IfcDirection* v2_Axis2, ::Ifc4x3_add1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2) : IfcCartesianTransformationOperator2D(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; populate_derived(); } +Ifc4x3_add1::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(::Ifc4x3_add1::IfcDirection* v1_Axis1, ::Ifc4x3_add1::IfcDirection* v2_Axis2, ::Ifc4x3_add1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2) : IfcCartesianTransformationOperator2D(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator3D -::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcCartesianTransformationOperator3D::Axis3() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcDirection>(true); } +::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcCartesianTransformationOperator3D::Axis3() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcDirection>(true); } void Ifc4x3_add1::IfcCartesianTransformationOperator3D::setAxis3(::Ifc4x3_add1::IfcDirection* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add1::IfcCartesianTransformationOperator3D::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[153]); } const IfcParse::entity& Ifc4x3_add1::IfcCartesianTransformationOperator3D::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[153]); } Ifc4x3_add1::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator(std::move(e)) { } -Ifc4x3_add1::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(::Ifc4x3_add1::IfcDirection* v1_Axis1, ::Ifc4x3_add1::IfcDirection* v2_Axis2, ::Ifc4x3_add1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x3_add1::IfcDirection* v5_Axis3) : IfcCartesianTransformationOperator(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(::Ifc4x3_add1::IfcDirection* v1_Axis1, ::Ifc4x3_add1::IfcDirection* v2_Axis2, ::Ifc4x3_add1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x3_add1::IfcDirection* v5_Axis3) : IfcCartesianTransformationOperator(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator3DnonUniform -boost::optional< double > Ifc4x3_add1::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_add1::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcCartesianTransformationOperator3DnonUniform::setScale2(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_add1::IfcCartesianTransformationOperator3DnonUniform::Scale3() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_add1::IfcCartesianTransformationOperator3DnonUniform::Scale3() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcCartesianTransformationOperator3DnonUniform::setScale3(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_add1::IfcCartesianTransformationOperator3DnonUniform::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[154]); } const IfcParse::entity& Ifc4x3_add1::IfcCartesianTransformationOperator3DnonUniform::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[154]); } Ifc4x3_add1::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator3D(std::move(e)) { } -Ifc4x3_add1::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(::Ifc4x3_add1::IfcDirection* v1_Axis1, ::Ifc4x3_add1::IfcDirection* v2_Axis2, ::Ifc4x3_add1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x3_add1::IfcDirection* v5_Axis3, boost::optional< double > v6_Scale2, boost::optional< double > v7_Scale3) : IfcCartesianTransformationOperator3D(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; populate_derived(); } +Ifc4x3_add1::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(::Ifc4x3_add1::IfcDirection* v1_Axis1, ::Ifc4x3_add1::IfcDirection* v2_Axis2, ::Ifc4x3_add1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x3_add1::IfcDirection* v5_Axis3, boost::optional< double > v6_Scale2, boost::optional< double > v7_Scale3) : IfcCartesianTransformationOperator3D(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; populate_derived(); } // Function implementations for IfcCenterLineProfileDef -double Ifc4x3_add1::IfcCenterLineProfileDef::Thickness() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add1::IfcCenterLineProfileDef::Thickness() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcCenterLineProfileDef::setThickness(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcCenterLineProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[155]); } const IfcParse::entity& Ifc4x3_add1::IfcCenterLineProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[155]); } Ifc4x3_add1::IfcCenterLineProfileDef::IfcCenterLineProfileDef(IfcEntityInstanceData&& e) : IfcArbitraryOpenProfileDef(std::move(e)) { } -Ifc4x3_add1::IfcCenterLineProfileDef::IfcCenterLineProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcBoundedCurve* v3_Curve, double v4_Thickness) : IfcArbitraryOpenProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Thickness));; populate_derived(); } +Ifc4x3_add1::IfcCenterLineProfileDef::IfcCenterLineProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcBoundedCurve* v3_Curve, double v4_Thickness) : IfcArbitraryOpenProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Thickness));; populate_derived(); } // Function implementations for IfcChiller -boost::optional< ::Ifc4x3_add1::IfcChillerTypeEnum::Value > Ifc4x3_add1::IfcChiller::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcChillerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcChillerTypeEnum::Value > Ifc4x3_add1::IfcChiller::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcChillerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcChiller::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcChillerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcChillerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcChiller::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[157]); } const IfcParse::entity& Ifc4x3_add1::IfcChiller::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[157]); } Ifc4x3_add1::IfcChiller::IfcChiller(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add1::IfcChiller::IfcChiller(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcChillerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcChiller::IfcChiller(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcChillerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcChillerType -::Ifc4x3_add1::IfcChillerTypeEnum::Value Ifc4x3_add1::IfcChillerType::PredefinedType() const { return ::Ifc4x3_add1::IfcChillerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcChillerTypeEnum::Value Ifc4x3_add1::IfcChillerType::PredefinedType() const { return ::Ifc4x3_add1::IfcChillerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcChillerType::setPredefinedType(::Ifc4x3_add1::IfcChillerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcChillerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcChillerType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[158]); } const IfcParse::entity& Ifc4x3_add1::IfcChillerType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[158]); } Ifc4x3_add1::IfcChillerType::IfcChillerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add1::IfcChillerType::IfcChillerType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcChillerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcChillerType::IfcChillerType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcChillerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcChimney -boost::optional< ::Ifc4x3_add1::IfcChimneyTypeEnum::Value > Ifc4x3_add1::IfcChimney::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcChimneyTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcChimneyTypeEnum::Value > Ifc4x3_add1::IfcChimney::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcChimneyTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcChimney::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcChimneyTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcChimneyTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcChimney::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[160]); } const IfcParse::entity& Ifc4x3_add1::IfcChimney::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[160]); } Ifc4x3_add1::IfcChimney::IfcChimney(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add1::IfcChimney::IfcChimney(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcChimneyTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcChimney::IfcChimney(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcChimneyTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcChimneyType -::Ifc4x3_add1::IfcChimneyTypeEnum::Value Ifc4x3_add1::IfcChimneyType::PredefinedType() const { return ::Ifc4x3_add1::IfcChimneyTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcChimneyTypeEnum::Value Ifc4x3_add1::IfcChimneyType::PredefinedType() const { return ::Ifc4x3_add1::IfcChimneyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcChimneyType::setPredefinedType(::Ifc4x3_add1::IfcChimneyTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcChimneyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcChimneyType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[161]); } const IfcParse::entity& Ifc4x3_add1::IfcChimneyType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[161]); } Ifc4x3_add1::IfcChimneyType::IfcChimneyType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add1::IfcChimneyType::IfcChimneyType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcChimneyTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcChimneyType::IfcChimneyType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcChimneyTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCircle -double Ifc4x3_add1::IfcCircle::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add1::IfcCircle::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcCircle::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcCircle::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[163]); } const IfcParse::entity& Ifc4x3_add1::IfcCircle::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[163]); } Ifc4x3_add1::IfcCircle::IfcCircle(IfcEntityInstanceData&& e) : IfcConic(std::move(e)) { } -Ifc4x3_add1::IfcCircle::IfcCircle(::Ifc4x3_add1::IfcAxis2Placement* v1_Position, double v2_Radius) : IfcConic(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x3_add1::IfcCircle::IfcCircle(::Ifc4x3_add1::IfcAxis2Placement* v1_Position, double v2_Radius) : IfcConic(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcCircleHollowProfileDef -double Ifc4x3_add1::IfcCircleHollowProfileDef::WallThickness() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add1::IfcCircleHollowProfileDef::WallThickness() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcCircleHollowProfileDef::setWallThickness(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add1::IfcCircleHollowProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[164]); } const IfcParse::entity& Ifc4x3_add1::IfcCircleHollowProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[164]); } Ifc4x3_add1::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(IfcEntityInstanceData&& e) : IfcCircleProfileDef(std::move(e)) { } -Ifc4x3_add1::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D* v3_Position, double v4_Radius, double v5_WallThickness) : IfcCircleProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; populate_derived(); } +Ifc4x3_add1::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D* v3_Position, double v4_Radius, double v5_WallThickness) : IfcCircleProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; populate_derived(); } // Function implementations for IfcCircleProfileDef -double Ifc4x3_add1::IfcCircleProfileDef::Radius() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add1::IfcCircleProfileDef::Radius() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcCircleProfileDef::setRadius(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcCircleProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[165]); } const IfcParse::entity& Ifc4x3_add1::IfcCircleProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[165]); } Ifc4x3_add1::IfcCircleProfileDef::IfcCircleProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_add1::IfcCircleProfileDef::IfcCircleProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D* v3_Position, double v4_Radius) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));; populate_derived(); } +Ifc4x3_add1::IfcCircleProfileDef::IfcCircleProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D* v3_Position, double v4_Radius) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));; populate_derived(); } // Function implementations for IfcCivilElement @@ -8975,7 +8975,7 @@ Ifc4x3_add1::IfcCircleProfileDef::IfcCircleProfileDef(::Ifc4x3_add1::IfcProfileT const IfcParse::entity& Ifc4x3_add1::IfcCivilElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[166]); } const IfcParse::entity& Ifc4x3_add1::IfcCivilElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[166]); } Ifc4x3_add1::IfcCivilElement::IfcCivilElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_add1::IfcCivilElement::IfcCivilElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add1::IfcCivilElement::IfcCivilElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcCivilElementType @@ -8983,22 +8983,22 @@ Ifc4x3_add1::IfcCivilElement::IfcCivilElement(std::string v1_GlobalId, ::Ifc4x3_ const IfcParse::entity& Ifc4x3_add1::IfcCivilElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[167]); } const IfcParse::entity& Ifc4x3_add1::IfcCivilElementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[167]); } Ifc4x3_add1::IfcCivilElementType::IfcCivilElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_add1::IfcCivilElementType::IfcCivilElementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add1::IfcCivilElementType::IfcCivilElementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcClassification -boost::optional< std::string > Ifc4x3_add1::IfcClassification::Source() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcClassification::Source() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcClassification::setSource(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add1::IfcClassification::Edition() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcClassification::Edition() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcClassification::setEdition(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_add1::IfcClassification::EditionDate() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcClassification::EditionDate() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcClassification::setEditionDate(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::string Ifc4x3_add1::IfcClassification::Name() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x3_add1::IfcClassification::Name() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcClassification::setName(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_add1::IfcClassification::Description() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcClassification::Description() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcClassification::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add1::IfcClassification::Specification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcClassification::Specification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcClassification::setSpecification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add1::IfcClassification::ReferenceTokens() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(6); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add1::IfcClassification::ReferenceTokens() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcClassification::setReferenceTokens(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_add1::IfcRelAssociatesClassification::list::ptr Ifc4x3_add1::IfcClassification::ClassificationForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[910], 5)->as(); } @@ -9007,14 +9007,14 @@ void Ifc4x3_add1::IfcClassification::setReferenceTokens(boost::optional< std::ve const IfcParse::entity& Ifc4x3_add1::IfcClassification::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[168]); } const IfcParse::entity& Ifc4x3_add1::IfcClassification::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[168]); } Ifc4x3_add1::IfcClassification::IfcClassification(IfcEntityInstanceData&& e) : IfcExternalInformation(std::move(e)) { } -Ifc4x3_add1::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_Specification, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) : IfcExternalInformation(IfcEntityInstanceData(storage_t(7))) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Specification) {set_attribute_value(5, (*v6_Specification)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); }; populate_derived(); } +Ifc4x3_add1::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_Specification, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) : IfcExternalInformation(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Specification) {set_attribute_value(5, (*v6_Specification)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); }; populate_derived(); } // Function implementations for IfcClassificationReference -::Ifc4x3_add1::IfcClassificationReferenceSelect* Ifc4x3_add1::IfcClassificationReference::ReferencedSource() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcClassificationReferenceSelect>(true); } +::Ifc4x3_add1::IfcClassificationReferenceSelect* Ifc4x3_add1::IfcClassificationReference::ReferencedSource() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcClassificationReferenceSelect>(true); } void Ifc4x3_add1::IfcClassificationReference::setReferencedSource(::Ifc4x3_add1::IfcClassificationReferenceSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_add1::IfcClassificationReference::Description() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcClassificationReference::Description() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcClassificationReference::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add1::IfcClassificationReference::Sort() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcClassificationReference::Sort() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcClassificationReference::setSort(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x3_add1::IfcRelAssociatesClassification::list::ptr Ifc4x3_add1::IfcClassificationReference::ClassificationRefForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[910], 5)->as(); } @@ -9023,7 +9023,7 @@ void Ifc4x3_add1::IfcClassificationReference::setSort(boost::optional< std::stri const IfcParse::entity& Ifc4x3_add1::IfcClassificationReference::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[169]); } const IfcParse::entity& Ifc4x3_add1::IfcClassificationReference::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[169]); } Ifc4x3_add1::IfcClassificationReference::IfcClassificationReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_add1::IfcClassificationReference::IfcClassificationReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, ::Ifc4x3_add1::IfcClassificationReferenceSelect* v4_ReferencedSource, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Sort) : IfcExternalReference(IfcEntityInstanceData(storage_t(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, v4_ReferencedSource ? v4_ReferencedSource->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); }; populate_derived(); } +Ifc4x3_add1::IfcClassificationReference::IfcClassificationReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, ::Ifc4x3_add1::IfcClassificationReferenceSelect* v4_ReferencedSource, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Sort) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, v4_ReferencedSource ? v4_ReferencedSource->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); }; populate_derived(); } // Function implementations for IfcClosedShell @@ -9031,149 +9031,149 @@ Ifc4x3_add1::IfcClassificationReference::IfcClassificationReference(boost::optio const IfcParse::entity& Ifc4x3_add1::IfcClosedShell::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[172]); } const IfcParse::entity& Ifc4x3_add1::IfcClosedShell::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[172]); } Ifc4x3_add1::IfcClosedShell::IfcClosedShell(IfcEntityInstanceData&& e) : IfcConnectedFaceSet(std::move(e)) { } -Ifc4x3_add1::IfcClosedShell::IfcClosedShell(aggregate_of< ::Ifc4x3_add1::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcClosedShell::IfcClosedShell(aggregate_of< ::Ifc4x3_add1::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcClothoid -double Ifc4x3_add1::IfcClothoid::ClothoidConstant() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add1::IfcClothoid::ClothoidConstant() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcClothoid::setClothoidConstant(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcClothoid::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[173]); } const IfcParse::entity& Ifc4x3_add1::IfcClothoid::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[173]); } Ifc4x3_add1::IfcClothoid::IfcClothoid(IfcEntityInstanceData&& e) : IfcSpiral(std::move(e)) { } -Ifc4x3_add1::IfcClothoid::IfcClothoid(::Ifc4x3_add1::IfcAxis2Placement* v1_Position, double v2_ClothoidConstant) : IfcSpiral(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_ClothoidConstant));; populate_derived(); } +Ifc4x3_add1::IfcClothoid::IfcClothoid(::Ifc4x3_add1::IfcAxis2Placement* v1_Position, double v2_ClothoidConstant) : IfcSpiral(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_ClothoidConstant));; populate_derived(); } // Function implementations for IfcCoil -boost::optional< ::Ifc4x3_add1::IfcCoilTypeEnum::Value > Ifc4x3_add1::IfcCoil::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCoilTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcCoilTypeEnum::Value > Ifc4x3_add1::IfcCoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCoilTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcCoil::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcCoilTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcCoilTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcCoil::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[174]); } const IfcParse::entity& Ifc4x3_add1::IfcCoil::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[174]); } Ifc4x3_add1::IfcCoil::IfcCoil(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add1::IfcCoil::IfcCoil(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcCoilTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcCoil::IfcCoil(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcCoilTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCoilType -::Ifc4x3_add1::IfcCoilTypeEnum::Value Ifc4x3_add1::IfcCoilType::PredefinedType() const { return ::Ifc4x3_add1::IfcCoilTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcCoilTypeEnum::Value Ifc4x3_add1::IfcCoilType::PredefinedType() const { return ::Ifc4x3_add1::IfcCoilTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcCoilType::setPredefinedType(::Ifc4x3_add1::IfcCoilTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcCoilTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcCoilType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[175]); } const IfcParse::entity& Ifc4x3_add1::IfcCoilType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[175]); } Ifc4x3_add1::IfcCoilType::IfcCoilType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add1::IfcCoilType::IfcCoilType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCoilTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcCoilType::IfcCoilType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCoilTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcColourRgb -double Ifc4x3_add1::IfcColourRgb::Red() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add1::IfcColourRgb::Red() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcColourRgb::setRed(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_add1::IfcColourRgb::Green() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_add1::IfcColourRgb::Green() const { double v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcColourRgb::setGreen(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_add1::IfcColourRgb::Blue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add1::IfcColourRgb::Blue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcColourRgb::setBlue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcColourRgb::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[179]); } const IfcParse::entity& Ifc4x3_add1::IfcColourRgb::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[179]); } Ifc4x3_add1::IfcColourRgb::IfcColourRgb(IfcEntityInstanceData&& e) : IfcColourSpecification(std::move(e)) { } -Ifc4x3_add1::IfcColourRgb::IfcColourRgb(boost::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) : IfcColourSpecification(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; populate_derived(); } +Ifc4x3_add1::IfcColourRgb::IfcColourRgb(boost::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) : IfcColourSpecification(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; populate_derived(); } // Function implementations for IfcColourRgbList -std::vector< std::vector< double > > Ifc4x3_add1::IfcColourRgbList::ColourList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x3_add1::IfcColourRgbList::ColourList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcColourRgbList::setColourList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add1::IfcColourRgbList::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[180]); } const IfcParse::entity& Ifc4x3_add1::IfcColourRgbList::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[180]); } Ifc4x3_add1::IfcColourRgbList::IfcColourRgbList(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcColourRgbList::IfcColourRgbList(std::vector< std::vector< double > > v1_ColourList) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_ColourList));; populate_derived(); } +Ifc4x3_add1::IfcColourRgbList::IfcColourRgbList(std::vector< std::vector< double > > v1_ColourList) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_ColourList));; populate_derived(); } // Function implementations for IfcColourSpecification -boost::optional< std::string > Ifc4x3_add1::IfcColourSpecification::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcColourSpecification::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcColourSpecification::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3_add1::IfcColourSpecification::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[181]); } const IfcParse::entity& Ifc4x3_add1::IfcColourSpecification::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[181]); } Ifc4x3_add1::IfcColourSpecification::IfcColourSpecification(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcColourSpecification::IfcColourSpecification(boost::optional< std::string > v1_Name) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_add1::IfcColourSpecification::IfcColourSpecification(boost::optional< std::string > v1_Name) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcColumn -boost::optional< ::Ifc4x3_add1::IfcColumnTypeEnum::Value > Ifc4x3_add1::IfcColumn::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcColumnTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcColumnTypeEnum::Value > Ifc4x3_add1::IfcColumn::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcColumnTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcColumn::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcColumnTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcColumnTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcColumn::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[182]); } const IfcParse::entity& Ifc4x3_add1::IfcColumn::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[182]); } Ifc4x3_add1::IfcColumn::IfcColumn(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add1::IfcColumn::IfcColumn(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcColumnTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcColumn::IfcColumn(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcColumnTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcColumnType -::Ifc4x3_add1::IfcColumnTypeEnum::Value Ifc4x3_add1::IfcColumnType::PredefinedType() const { return ::Ifc4x3_add1::IfcColumnTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcColumnTypeEnum::Value Ifc4x3_add1::IfcColumnType::PredefinedType() const { return ::Ifc4x3_add1::IfcColumnTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcColumnType::setPredefinedType(::Ifc4x3_add1::IfcColumnTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcColumnTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcColumnType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[183]); } const IfcParse::entity& Ifc4x3_add1::IfcColumnType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[183]); } Ifc4x3_add1::IfcColumnType::IfcColumnType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add1::IfcColumnType::IfcColumnType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcColumnTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcColumnType::IfcColumnType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcColumnTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCommunicationsAppliance -boost::optional< ::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x3_add1::IfcCommunicationsAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x3_add1::IfcCommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcCommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcCommunicationsAppliance::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[185]); } const IfcParse::entity& Ifc4x3_add1::IfcCommunicationsAppliance::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[185]); } Ifc4x3_add1::IfcCommunicationsAppliance::IfcCommunicationsAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_add1::IfcCommunicationsAppliance::IfcCommunicationsAppliance(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcCommunicationsAppliance::IfcCommunicationsAppliance(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCommunicationsApplianceType -::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3_add1::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3_add1::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcCommunicationsApplianceType::setPredefinedType(::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcCommunicationsApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[186]); } const IfcParse::entity& Ifc4x3_add1::IfcCommunicationsApplianceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[186]); } Ifc4x3_add1::IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_add1::IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcComplexProperty -std::string Ifc4x3_add1::IfcComplexProperty::UsageName() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3_add1::IfcComplexProperty::UsageName() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcComplexProperty::setUsageName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_add1::IfcProperty >::ptr Ifc4x3_add1::IfcComplexProperty::HasProperties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_add1::IfcProperty >(); } +aggregate_of< ::Ifc4x3_add1::IfcProperty >::ptr Ifc4x3_add1::IfcComplexProperty::HasProperties() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_add1::IfcProperty >(); } void Ifc4x3_add1::IfcComplexProperty::setHasProperties(aggregate_of< ::Ifc4x3_add1::IfcProperty >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcComplexProperty::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[189]); } const IfcParse::entity& Ifc4x3_add1::IfcComplexProperty::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[189]); } Ifc4x3_add1::IfcComplexProperty::IfcComplexProperty(IfcEntityInstanceData&& e) : IfcProperty(std::move(e)) { } -Ifc4x3_add1::IfcComplexProperty::IfcComplexProperty(std::string v1_Name, boost::optional< std::string > v2_Specification, std::string v3_UsageName, aggregate_of< ::Ifc4x3_add1::IfcProperty >::ptr v4_HasProperties) : IfcProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, (v4_HasProperties)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcComplexProperty::IfcComplexProperty(std::string v1_Name, boost::optional< std::string > v2_Specification, std::string v3_UsageName, aggregate_of< ::Ifc4x3_add1::IfcProperty >::ptr v4_HasProperties) : IfcProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, (v4_HasProperties)->generalize());; populate_derived(); } // Function implementations for IfcComplexPropertyTemplate -boost::optional< std::string > Ifc4x3_add1::IfcComplexPropertyTemplate::UsageName() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcComplexPropertyTemplate::UsageName() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcComplexPropertyTemplate::setUsageName(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< ::Ifc4x3_add1::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4x3_add1::IfcComplexPropertyTemplate::TemplateType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcComplexPropertyTemplateTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3_add1::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4x3_add1::IfcComplexPropertyTemplate::TemplateType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcComplexPropertyTemplateTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_add1::IfcComplexPropertyTemplate::setTemplateType(boost::optional< ::Ifc4x3_add1::IfcComplexPropertyTemplateTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3_add1::IfcComplexPropertyTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertyTemplate >::ptr > Ifc4x3_add1::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3_add1::IfcPropertyTemplate >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertyTemplate >::ptr > Ifc4x3_add1::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3_add1::IfcPropertyTemplate >(); } void Ifc4x3_add1::IfcComplexPropertyTemplate::setHasPropertyTemplates(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertyTemplate >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_add1::IfcComplexPropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[190]); } const IfcParse::entity& Ifc4x3_add1::IfcComplexPropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[190]); } Ifc4x3_add1::IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplate(std::move(e)) { } -Ifc4x3_add1::IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_UsageName, boost::optional< ::Ifc4x3_add1::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertyTemplate >::ptr > v7_HasPropertyTemplates) : IfcPropertyTemplate(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add1::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, (*v7_HasPropertyTemplates)->generalize()); }; populate_derived(); } +Ifc4x3_add1::IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_UsageName, boost::optional< ::Ifc4x3_add1::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertyTemplate >::ptr > v7_HasPropertyTemplates) : IfcPropertyTemplate(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add1::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, (*v7_HasPropertyTemplates)->generalize()); }; populate_derived(); } // Function implementations for IfcCompositeCurve -aggregate_of< ::Ifc4x3_add1::IfcSegment >::ptr Ifc4x3_add1::IfcCompositeCurve::Segments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcSegment >(); } +aggregate_of< ::Ifc4x3_add1::IfcSegment >::ptr Ifc4x3_add1::IfcCompositeCurve::Segments() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcSegment >(); } void Ifc4x3_add1::IfcCompositeCurve::setSegments(aggregate_of< ::Ifc4x3_add1::IfcSegment >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::logic::tribool Ifc4x3_add1::IfcCompositeCurve::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(1); return v; } +boost::logic::tribool Ifc4x3_add1::IfcCompositeCurve::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcCompositeCurve::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcCompositeCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[192]); } const IfcParse::entity& Ifc4x3_add1::IfcCompositeCurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[192]); } Ifc4x3_add1::IfcCompositeCurve::IfcCompositeCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_add1::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc4x3_add1::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x3_add1::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc4x3_add1::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcCompositeCurveOnSurface @@ -9181,103 +9181,103 @@ Ifc4x3_add1::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc4x3_add1::I const IfcParse::entity& Ifc4x3_add1::IfcCompositeCurveOnSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[193]); } const IfcParse::entity& Ifc4x3_add1::IfcCompositeCurveOnSurface::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[193]); } Ifc4x3_add1::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(IfcEntityInstanceData&& e) : IfcCompositeCurve(std::move(e)) { } -Ifc4x3_add1::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(aggregate_of< ::Ifc4x3_add1::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x3_add1::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(aggregate_of< ::Ifc4x3_add1::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcCompositeCurveSegment -bool Ifc4x3_add1::IfcCompositeCurveSegment::SameSense() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x3_add1::IfcCompositeCurveSegment::SameSense() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcCompositeCurveSegment::setSameSense(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcCurve>(true); } +::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcCurve>(true); } void Ifc4x3_add1::IfcCompositeCurveSegment::setParentCurve(::Ifc4x3_add1::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcCompositeCurveSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[194]); } const IfcParse::entity& Ifc4x3_add1::IfcCompositeCurveSegment::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[194]); } Ifc4x3_add1::IfcCompositeCurveSegment::IfcCompositeCurveSegment(IfcEntityInstanceData&& e) : IfcSegment(std::move(e)) { } -Ifc4x3_add1::IfcCompositeCurveSegment::IfcCompositeCurveSegment(::Ifc4x3_add1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_add1::IfcCurve* v3_ParentCurve) : IfcSegment(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcCompositeCurveSegment::IfcCompositeCurveSegment(::Ifc4x3_add1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_add1::IfcCurve* v3_ParentCurve) : IfcSegment(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCompositeProfileDef -aggregate_of< ::Ifc4x3_add1::IfcProfileDef >::ptr Ifc4x3_add1::IfcCompositeProfileDef::Profiles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcProfileDef >(); } +aggregate_of< ::Ifc4x3_add1::IfcProfileDef >::ptr Ifc4x3_add1::IfcCompositeProfileDef::Profiles() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcProfileDef >(); } void Ifc4x3_add1::IfcCompositeProfileDef::setProfiles(aggregate_of< ::Ifc4x3_add1::IfcProfileDef >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x3_add1::IfcCompositeProfileDef::Label() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcCompositeProfileDef::Label() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcCompositeProfileDef::setLabel(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_add1::IfcCompositeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[195]); } const IfcParse::entity& Ifc4x3_add1::IfcCompositeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[195]); } Ifc4x3_add1::IfcCompositeProfileDef::IfcCompositeProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_add1::IfcCompositeProfileDef::IfcCompositeProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, aggregate_of< ::Ifc4x3_add1::IfcProfileDef >::ptr v3_Profiles, boost::optional< std::string > v4_Label) : IfcProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Profiles)->generalize()); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; populate_derived(); } +Ifc4x3_add1::IfcCompositeProfileDef::IfcCompositeProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, aggregate_of< ::Ifc4x3_add1::IfcProfileDef >::ptr v3_Profiles, boost::optional< std::string > v4_Label) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Profiles)->generalize()); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; populate_derived(); } // Function implementations for IfcCompressor -boost::optional< ::Ifc4x3_add1::IfcCompressorTypeEnum::Value > Ifc4x3_add1::IfcCompressor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCompressorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcCompressorTypeEnum::Value > Ifc4x3_add1::IfcCompressor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCompressorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcCompressor::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcCompressorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcCompressorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcCompressor::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[197]); } const IfcParse::entity& Ifc4x3_add1::IfcCompressor::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[197]); } Ifc4x3_add1::IfcCompressor::IfcCompressor(IfcEntityInstanceData&& e) : IfcFlowMovingDevice(std::move(e)) { } -Ifc4x3_add1::IfcCompressor::IfcCompressor(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcCompressorTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcCompressor::IfcCompressor(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcCompressorTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCompressorType -::Ifc4x3_add1::IfcCompressorTypeEnum::Value Ifc4x3_add1::IfcCompressorType::PredefinedType() const { return ::Ifc4x3_add1::IfcCompressorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcCompressorTypeEnum::Value Ifc4x3_add1::IfcCompressorType::PredefinedType() const { return ::Ifc4x3_add1::IfcCompressorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcCompressorType::setPredefinedType(::Ifc4x3_add1::IfcCompressorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcCompressorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcCompressorType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[198]); } const IfcParse::entity& Ifc4x3_add1::IfcCompressorType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[198]); } Ifc4x3_add1::IfcCompressorType::IfcCompressorType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(e)) { } -Ifc4x3_add1::IfcCompressorType::IfcCompressorType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCompressorTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcCompressorType::IfcCompressorType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCompressorTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCondenser -boost::optional< ::Ifc4x3_add1::IfcCondenserTypeEnum::Value > Ifc4x3_add1::IfcCondenser::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCondenserTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcCondenserTypeEnum::Value > Ifc4x3_add1::IfcCondenser::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCondenserTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcCondenser::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcCondenserTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcCondenserTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcCondenser::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[200]); } const IfcParse::entity& Ifc4x3_add1::IfcCondenser::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[200]); } Ifc4x3_add1::IfcCondenser::IfcCondenser(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add1::IfcCondenser::IfcCondenser(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcCondenserTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcCondenser::IfcCondenser(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcCondenserTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCondenserType -::Ifc4x3_add1::IfcCondenserTypeEnum::Value Ifc4x3_add1::IfcCondenserType::PredefinedType() const { return ::Ifc4x3_add1::IfcCondenserTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcCondenserTypeEnum::Value Ifc4x3_add1::IfcCondenserType::PredefinedType() const { return ::Ifc4x3_add1::IfcCondenserTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcCondenserType::setPredefinedType(::Ifc4x3_add1::IfcCondenserTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcCondenserTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcCondenserType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[201]); } const IfcParse::entity& Ifc4x3_add1::IfcCondenserType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[201]); } Ifc4x3_add1::IfcCondenserType::IfcCondenserType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add1::IfcCondenserType::IfcCondenserType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCondenserTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcCondenserType::IfcCondenserType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCondenserTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcConic -::Ifc4x3_add1::IfcAxis2Placement* Ifc4x3_add1::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcAxis2Placement>(true); } +::Ifc4x3_add1::IfcAxis2Placement* Ifc4x3_add1::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcAxis2Placement>(true); } void Ifc4x3_add1::IfcConic::setPosition(::Ifc4x3_add1::IfcAxis2Placement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add1::IfcConic::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[203]); } const IfcParse::entity& Ifc4x3_add1::IfcConic::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[203]); } Ifc4x3_add1::IfcConic::IfcConic(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_add1::IfcConic::IfcConic(::Ifc4x3_add1::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcConic::IfcConic(::Ifc4x3_add1::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectedFaceSet -aggregate_of< ::Ifc4x3_add1::IfcFace >::ptr Ifc4x3_add1::IfcConnectedFaceSet::CfsFaces() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcFace >(); } +aggregate_of< ::Ifc4x3_add1::IfcFace >::ptr Ifc4x3_add1::IfcConnectedFaceSet::CfsFaces() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcFace >(); } void Ifc4x3_add1::IfcConnectedFaceSet::setCfsFaces(aggregate_of< ::Ifc4x3_add1::IfcFace >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add1::IfcConnectedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[204]); } const IfcParse::entity& Ifc4x3_add1::IfcConnectedFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[204]); } Ifc4x3_add1::IfcConnectedFaceSet::IfcConnectedFaceSet(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcConnectedFaceSet::IfcConnectedFaceSet(aggregate_of< ::Ifc4x3_add1::IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcConnectedFaceSet::IfcConnectedFaceSet(aggregate_of< ::Ifc4x3_add1::IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcConnectionCurveGeometry -::Ifc4x3_add1::IfcCurveOrEdgeCurve* Ifc4x3_add1::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCurveOrEdgeCurve>(true); } +::Ifc4x3_add1::IfcCurveOrEdgeCurve* Ifc4x3_add1::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCurveOrEdgeCurve>(true); } void Ifc4x3_add1::IfcConnectionCurveGeometry::setCurveOnRelatingElement(::Ifc4x3_add1::IfcCurveOrEdgeCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add1::IfcCurveOrEdgeCurve* Ifc4x3_add1::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcCurveOrEdgeCurve>(true); } +::Ifc4x3_add1::IfcCurveOrEdgeCurve* Ifc4x3_add1::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcCurveOrEdgeCurve>(true); } void Ifc4x3_add1::IfcConnectionCurveGeometry::setCurveOnRelatedElement(::Ifc4x3_add1::IfcCurveOrEdgeCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcConnectionCurveGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[205]); } const IfcParse::entity& Ifc4x3_add1::IfcConnectionCurveGeometry::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[205]); } Ifc4x3_add1::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x3_add1::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc4x3_add1::IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, ::Ifc4x3_add1::IfcCurveOrEdgeCurve* v2_CurveOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_CurveOnRelatingElement ? v1_CurveOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_CurveOnRelatedElement ? v2_CurveOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc4x3_add1::IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, ::Ifc4x3_add1::IfcCurveOrEdgeCurve* v2_CurveOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_CurveOnRelatingElement ? v1_CurveOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_CurveOnRelatedElement ? v2_CurveOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionGeometry @@ -9285,72 +9285,72 @@ Ifc4x3_add1::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc4x3_add const IfcParse::entity& Ifc4x3_add1::IfcConnectionGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[206]); } const IfcParse::entity& Ifc4x3_add1::IfcConnectionGeometry::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[206]); } Ifc4x3_add1::IfcConnectionGeometry::IfcConnectionGeometry(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add1::IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcConnectionPointEccentricity -boost::optional< double > Ifc4x3_add1::IfcConnectionPointEccentricity::EccentricityInX() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add1::IfcConnectionPointEccentricity::EccentricityInX() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcConnectionPointEccentricity::setEccentricityInX(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_add1::IfcConnectionPointEccentricity::EccentricityInY() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add1::IfcConnectionPointEccentricity::EccentricityInY() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcConnectionPointEccentricity::setEccentricityInY(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_add1::IfcConnectionPointEccentricity::EccentricityInZ() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_add1::IfcConnectionPointEccentricity::EccentricityInZ() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcConnectionPointEccentricity::setEccentricityInZ(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add1::IfcConnectionPointEccentricity::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[207]); } const IfcParse::entity& Ifc4x3_add1::IfcConnectionPointEccentricity::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[207]); } Ifc4x3_add1::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcEntityInstanceData&& e) : IfcConnectionPointGeometry(std::move(e)) { } -Ifc4x3_add1::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(::Ifc4x3_add1::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3_add1::IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; populate_derived(); } +Ifc4x3_add1::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(::Ifc4x3_add1::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3_add1::IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; populate_derived(); } // Function implementations for IfcConnectionPointGeometry -::Ifc4x3_add1::IfcPointOrVertexPoint* Ifc4x3_add1::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcPointOrVertexPoint>(true); } +::Ifc4x3_add1::IfcPointOrVertexPoint* Ifc4x3_add1::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcPointOrVertexPoint>(true); } void Ifc4x3_add1::IfcConnectionPointGeometry::setPointOnRelatingElement(::Ifc4x3_add1::IfcPointOrVertexPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add1::IfcPointOrVertexPoint* Ifc4x3_add1::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcPointOrVertexPoint>(true); } +::Ifc4x3_add1::IfcPointOrVertexPoint* Ifc4x3_add1::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcPointOrVertexPoint>(true); } void Ifc4x3_add1::IfcConnectionPointGeometry::setPointOnRelatedElement(::Ifc4x3_add1::IfcPointOrVertexPoint* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcConnectionPointGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[208]); } const IfcParse::entity& Ifc4x3_add1::IfcConnectionPointGeometry::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[208]); } Ifc4x3_add1::IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x3_add1::IfcConnectionPointGeometry::IfcConnectionPointGeometry(::Ifc4x3_add1::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3_add1::IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcConnectionPointGeometry::IfcConnectionPointGeometry(::Ifc4x3_add1::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3_add1::IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionSurfaceGeometry -::Ifc4x3_add1::IfcSurfaceOrFaceSurface* Ifc4x3_add1::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcSurfaceOrFaceSurface>(true); } +::Ifc4x3_add1::IfcSurfaceOrFaceSurface* Ifc4x3_add1::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcSurfaceOrFaceSurface>(true); } void Ifc4x3_add1::IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(::Ifc4x3_add1::IfcSurfaceOrFaceSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add1::IfcSurfaceOrFaceSurface* Ifc4x3_add1::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcSurfaceOrFaceSurface>(true); } +::Ifc4x3_add1::IfcSurfaceOrFaceSurface* Ifc4x3_add1::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcSurfaceOrFaceSurface>(true); } void Ifc4x3_add1::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(::Ifc4x3_add1::IfcSurfaceOrFaceSurface* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcConnectionSurfaceGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[209]); } const IfcParse::entity& Ifc4x3_add1::IfcConnectionSurfaceGeometry::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[209]); } Ifc4x3_add1::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x3_add1::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(::Ifc4x3_add1::IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, ::Ifc4x3_add1::IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SurfaceOnRelatingElement ? v1_SurfaceOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_SurfaceOnRelatedElement ? v2_SurfaceOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(::Ifc4x3_add1::IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, ::Ifc4x3_add1::IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SurfaceOnRelatingElement ? v1_SurfaceOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_SurfaceOnRelatedElement ? v2_SurfaceOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionVolumeGeometry -::Ifc4x3_add1::IfcSolidOrShell* Ifc4x3_add1::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcSolidOrShell>(true); } +::Ifc4x3_add1::IfcSolidOrShell* Ifc4x3_add1::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcSolidOrShell>(true); } void Ifc4x3_add1::IfcConnectionVolumeGeometry::setVolumeOnRelatingElement(::Ifc4x3_add1::IfcSolidOrShell* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add1::IfcSolidOrShell* Ifc4x3_add1::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcSolidOrShell>(true); } +::Ifc4x3_add1::IfcSolidOrShell* Ifc4x3_add1::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcSolidOrShell>(true); } void Ifc4x3_add1::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(::Ifc4x3_add1::IfcSolidOrShell* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcConnectionVolumeGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[211]); } const IfcParse::entity& Ifc4x3_add1::IfcConnectionVolumeGeometry::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[211]); } Ifc4x3_add1::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x3_add1::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(::Ifc4x3_add1::IfcSolidOrShell* v1_VolumeOnRelatingElement, ::Ifc4x3_add1::IfcSolidOrShell* v2_VolumeOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_VolumeOnRelatingElement ? v1_VolumeOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_VolumeOnRelatedElement ? v2_VolumeOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(::Ifc4x3_add1::IfcSolidOrShell* v1_VolumeOnRelatingElement, ::Ifc4x3_add1::IfcSolidOrShell* v2_VolumeOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_VolumeOnRelatingElement ? v1_VolumeOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_VolumeOnRelatedElement ? v2_VolumeOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConstraint -std::string Ifc4x3_add1::IfcConstraint::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_add1::IfcConstraint::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcConstraint::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_add1::IfcConstraint::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcConstraint::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcConstraint::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_add1::IfcConstraintEnum::Value Ifc4x3_add1::IfcConstraint::ConstraintGrade() const { return ::Ifc4x3_add1::IfcConstraintEnum::FromString(data_.get_attribute_value(2)); } +::Ifc4x3_add1::IfcConstraintEnum::Value Ifc4x3_add1::IfcConstraint::ConstraintGrade() const { return ::Ifc4x3_add1::IfcConstraintEnum::FromString(get_attribute_value(2)); } void Ifc4x3_add1::IfcConstraint::setConstraintGrade(::Ifc4x3_add1::IfcConstraintEnum::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3_add1::IfcConstraintEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x3_add1::IfcConstraint::ConstraintSource() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcConstraint::ConstraintSource() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_add1::IfcActorSelect* Ifc4x3_add1::IfcConstraint::CreatingActor() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcActorSelect>(true); } +::Ifc4x3_add1::IfcActorSelect* Ifc4x3_add1::IfcConstraint::CreatingActor() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcActorSelect>(true); } void Ifc4x3_add1::IfcConstraint::setCreatingActor(::Ifc4x3_add1::IfcActorSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -boost::optional< std::string > Ifc4x3_add1::IfcConstraint::CreationTime() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcConstraint::CreationTime() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcConstraint::setCreationTime(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_add1::IfcConstraint::UserDefinedGrade() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcConstraint::UserDefinedGrade() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_add1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_add1::IfcConstraint::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[427], 3)->as(); } @@ -9359,104 +9359,104 @@ void Ifc4x3_add1::IfcConstraint::setUserDefinedGrade(boost::optional< std::strin const IfcParse::entity& Ifc4x3_add1::IfcConstraint::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[212]); } const IfcParse::entity& Ifc4x3_add1::IfcConstraint::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[212]); } Ifc4x3_add1::IfcConstraint::IfcConstraint(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add1::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; populate_derived(); } +Ifc4x3_add1::IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add1::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; populate_derived(); } // Function implementations for IfcConstructionEquipmentResource -boost::optional< ::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x3_add1::IfcConstructionEquipmentResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x3_add1::IfcConstructionEquipmentResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add1::IfcConstructionEquipmentResource::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add1::IfcConstructionEquipmentResource::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[214]); } const IfcParse::entity& Ifc4x3_add1::IfcConstructionEquipmentResource::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[214]); } Ifc4x3_add1::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_add1::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConstructionEquipmentResourceType -::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3_add1::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3_add1::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_add1::IfcConstructionEquipmentResourceType::setPredefinedType(::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_add1::IfcConstructionEquipmentResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[215]); } const IfcParse::entity& Ifc4x3_add1::IfcConstructionEquipmentResourceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[215]); } Ifc4x3_add1::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_add1::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::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_add1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::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_add1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add1::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcConstructionMaterialResource -boost::optional< ::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x3_add1::IfcConstructionMaterialResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x3_add1::IfcConstructionMaterialResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add1::IfcConstructionMaterialResource::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add1::IfcConstructionMaterialResource::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[217]); } const IfcParse::entity& Ifc4x3_add1::IfcConstructionMaterialResource::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[217]); } Ifc4x3_add1::IfcConstructionMaterialResource::IfcConstructionMaterialResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_add1::IfcConstructionMaterialResource::IfcConstructionMaterialResource(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcConstructionMaterialResource::IfcConstructionMaterialResource(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConstructionMaterialResourceType -::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3_add1::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3_add1::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_add1::IfcConstructionMaterialResourceType::setPredefinedType(::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_add1::IfcConstructionMaterialResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[218]); } const IfcParse::entity& Ifc4x3_add1::IfcConstructionMaterialResourceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[218]); } Ifc4x3_add1::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_add1::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::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_add1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::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_add1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add1::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcConstructionProductResource -boost::optional< ::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Value > Ifc4x3_add1::IfcConstructionProductResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Value > Ifc4x3_add1::IfcConstructionProductResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add1::IfcConstructionProductResource::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add1::IfcConstructionProductResource::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[220]); } const IfcParse::entity& Ifc4x3_add1::IfcConstructionProductResource::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[220]); } Ifc4x3_add1::IfcConstructionProductResource::IfcConstructionProductResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_add1::IfcConstructionProductResource::IfcConstructionProductResource(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcConstructionProductResource::IfcConstructionProductResource(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConstructionProductResourceType -::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Value Ifc4x3_add1::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Value Ifc4x3_add1::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_add1::IfcConstructionProductResourceType::setPredefinedType(::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_add1::IfcConstructionProductResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[221]); } const IfcParse::entity& Ifc4x3_add1::IfcConstructionProductResourceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[221]); } Ifc4x3_add1::IfcConstructionProductResourceType::IfcConstructionProductResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_add1::IfcConstructionProductResourceType::IfcConstructionProductResourceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::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_add1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcConstructionProductResourceType::IfcConstructionProductResourceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::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_add1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add1::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcConstructionResource -::Ifc4x3_add1::IfcResourceTime* Ifc4x3_add1::IfcConstructionResource::Usage() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_add1::IfcResourceTime>(true); } +::Ifc4x3_add1::IfcResourceTime* Ifc4x3_add1::IfcConstructionResource::Usage() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_add1::IfcResourceTime>(true); } void Ifc4x3_add1::IfcConstructionResource::setUsage(::Ifc4x3_add1::IfcResourceTime* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAppliedValue >::ptr > Ifc4x3_add1::IfcConstructionResource::BaseCosts() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_add1::IfcAppliedValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAppliedValue >::ptr > Ifc4x3_add1::IfcConstructionResource::BaseCosts() const { if(get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_add1::IfcAppliedValue >(); } void Ifc4x3_add1::IfcConstructionResource::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAppliedValue >::ptr > v) { if (v) {set_attribute_value(8, (*v)->generalize());} else {unset_attribute_value(8);} } -::Ifc4x3_add1::IfcPhysicalQuantity* Ifc4x3_add1::IfcConstructionResource::BaseQuantity() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_add1::IfcPhysicalQuantity>(true); } +::Ifc4x3_add1::IfcPhysicalQuantity* Ifc4x3_add1::IfcConstructionResource::BaseQuantity() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_add1::IfcPhysicalQuantity>(true); } void Ifc4x3_add1::IfcConstructionResource::setBaseQuantity(::Ifc4x3_add1::IfcPhysicalQuantity* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcConstructionResource::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[223]); } const IfcParse::entity& Ifc4x3_add1::IfcConstructionResource::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[223]); } Ifc4x3_add1::IfcConstructionResource::IfcConstructionResource(IfcEntityInstanceData&& e) : IfcResource(std::move(e)) { } -Ifc4x3_add1::IfcConstructionResource::IfcConstructionResource(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity* v10_BaseQuantity) : IfcResource(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcConstructionResource::IfcConstructionResource(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity* v10_BaseQuantity) : IfcResource(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConstructionResourceType -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAppliedValue >::ptr > Ifc4x3_add1::IfcConstructionResourceType::BaseCosts() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3_add1::IfcAppliedValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAppliedValue >::ptr > Ifc4x3_add1::IfcConstructionResourceType::BaseCosts() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3_add1::IfcAppliedValue >(); } void Ifc4x3_add1::IfcConstructionResourceType::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAppliedValue >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -::Ifc4x3_add1::IfcPhysicalQuantity* Ifc4x3_add1::IfcConstructionResourceType::BaseQuantity() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_add1::IfcPhysicalQuantity>(true); } +::Ifc4x3_add1::IfcPhysicalQuantity* Ifc4x3_add1::IfcConstructionResourceType::BaseQuantity() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_add1::IfcPhysicalQuantity>(true); } void Ifc4x3_add1::IfcConstructionResourceType::setBaseQuantity(::Ifc4x3_add1::IfcPhysicalQuantity* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_add1::IfcConstructionResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[224]); } const IfcParse::entity& Ifc4x3_add1::IfcConstructionResourceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[224]); } Ifc4x3_add1::IfcConstructionResourceType::IfcConstructionResourceType(IfcEntityInstanceData&& e) : IfcTypeResource(std::move(e)) { } -Ifc4x3_add1::IfcConstructionResourceType::IfcConstructionResourceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::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_add1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity* v11_BaseQuantity) : IfcTypeResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcConstructionResourceType::IfcConstructionResourceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::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_add1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity* v11_BaseQuantity) : IfcTypeResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcContext -boost::optional< std::string > Ifc4x3_add1::IfcContext::ObjectType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcContext::ObjectType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcContext::setObjectType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add1::IfcContext::LongName() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcContext::LongName() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcContext::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_add1::IfcContext::Phase() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcContext::Phase() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcContext::setPhase(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationContext >::ptr > Ifc4x3_add1::IfcContext::RepresentationContexts() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_add1::IfcRepresentationContext >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationContext >::ptr > Ifc4x3_add1::IfcContext::RepresentationContexts() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_add1::IfcRepresentationContext >(); } void Ifc4x3_add1::IfcContext::setRepresentationContexts(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationContext >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -::Ifc4x3_add1::IfcUnitAssignment* Ifc4x3_add1::IfcContext::UnitsInContext() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_add1::IfcUnitAssignment>(true); } +::Ifc4x3_add1::IfcUnitAssignment* Ifc4x3_add1::IfcContext::UnitsInContext() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_add1::IfcUnitAssignment>(true); } void Ifc4x3_add1::IfcContext::setUnitsInContext(::Ifc4x3_add1::IfcUnitAssignment* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } ::Ifc4x3_add1::IfcRelDefinesByProperties::list::ptr Ifc4x3_add1::IfcContext::IsDefinedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[933], 4)->as(); } @@ -9465,10 +9465,10 @@ void Ifc4x3_add1::IfcContext::setUnitsInContext(::Ifc4x3_add1::IfcUnitAssignment const IfcParse::entity& Ifc4x3_add1::IfcContext::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[225]); } const IfcParse::entity& Ifc4x3_add1::IfcContext::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[225]); } Ifc4x3_add1::IfcContext::IfcContext(IfcEntityInstanceData&& e) : IfcObjectDefinition(std::move(e)) { } -Ifc4x3_add1::IfcContext::IfcContext(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_add1::IfcUnitAssignment* v9_UnitsInContext) : IfcObjectDefinition(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcContext::IfcContext(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_add1::IfcUnitAssignment* v9_UnitsInContext) : IfcObjectDefinition(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcContextDependentUnit -std::string Ifc4x3_add1::IfcContextDependentUnit::Name() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3_add1::IfcContextDependentUnit::Name() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcContextDependentUnit::setName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } ::Ifc4x3_add1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_add1::IfcContextDependentUnit::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[427], 3)->as(); } @@ -9476,10 +9476,10 @@ void Ifc4x3_add1::IfcContextDependentUnit::setName(std::string v) { set_attribut const IfcParse::entity& Ifc4x3_add1::IfcContextDependentUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[227]); } const IfcParse::entity& Ifc4x3_add1::IfcContextDependentUnit::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[227]); } Ifc4x3_add1::IfcContextDependentUnit::IfcContextDependentUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -Ifc4x3_add1::IfcContextDependentUnit::IfcContextDependentUnit(::Ifc4x3_add1::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_add1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) : IfcNamedUnit(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; populate_derived(); } +Ifc4x3_add1::IfcContextDependentUnit::IfcContextDependentUnit(::Ifc4x3_add1::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_add1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) : IfcNamedUnit(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; populate_derived(); } // Function implementations for IfcControl -boost::optional< std::string > Ifc4x3_add1::IfcControl::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcControl::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcControl::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x3_add1::IfcRelAssignsToControl::list::ptr Ifc4x3_add1::IfcControl::Controls() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[902], 6)->as(); } @@ -9487,32 +9487,32 @@ void Ifc4x3_add1::IfcControl::setIdentification(boost::optional< std::string > v const IfcParse::entity& Ifc4x3_add1::IfcControl::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[228]); } const IfcParse::entity& Ifc4x3_add1::IfcControl::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[228]); } Ifc4x3_add1::IfcControl::IfcControl(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_add1::IfcControl::IfcControl(std::string v1_GlobalId, ::Ifc4x3_add1::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(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }; populate_derived(); } +Ifc4x3_add1::IfcControl::IfcControl(std::string v1_GlobalId, ::Ifc4x3_add1::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(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }; populate_derived(); } // Function implementations for IfcController -boost::optional< ::Ifc4x3_add1::IfcControllerTypeEnum::Value > Ifc4x3_add1::IfcController::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcControllerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcControllerTypeEnum::Value > Ifc4x3_add1::IfcController::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcControllerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcController::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcControllerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcControllerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcController::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[229]); } const IfcParse::entity& Ifc4x3_add1::IfcController::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[229]); } Ifc4x3_add1::IfcController::IfcController(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_add1::IfcController::IfcController(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcControllerTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcController::IfcController(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcControllerTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcControllerType -::Ifc4x3_add1::IfcControllerTypeEnum::Value Ifc4x3_add1::IfcControllerType::PredefinedType() const { return ::Ifc4x3_add1::IfcControllerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcControllerTypeEnum::Value Ifc4x3_add1::IfcControllerType::PredefinedType() const { return ::Ifc4x3_add1::IfcControllerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcControllerType::setPredefinedType(::Ifc4x3_add1::IfcControllerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcControllerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcControllerType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[230]); } const IfcParse::entity& Ifc4x3_add1::IfcControllerType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[230]); } Ifc4x3_add1::IfcControllerType::IfcControllerType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_add1::IfcControllerType::IfcControllerType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcControllerTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcControllerType::IfcControllerType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcControllerTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcConversionBasedUnit -std::string Ifc4x3_add1::IfcConversionBasedUnit::Name() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3_add1::IfcConversionBasedUnit::Name() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcConversionBasedUnit::setName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add1::IfcMeasureWithUnit* Ifc4x3_add1::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcMeasureWithUnit>(true); } +::Ifc4x3_add1::IfcMeasureWithUnit* Ifc4x3_add1::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcMeasureWithUnit>(true); } void Ifc4x3_add1::IfcConversionBasedUnit::setConversionFactor(::Ifc4x3_add1::IfcMeasureWithUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } ::Ifc4x3_add1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_add1::IfcConversionBasedUnit::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[427], 3)->as(); } @@ -9520,94 +9520,94 @@ void Ifc4x3_add1::IfcConversionBasedUnit::setConversionFactor(::Ifc4x3_add1::Ifc const IfcParse::entity& Ifc4x3_add1::IfcConversionBasedUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[232]); } const IfcParse::entity& Ifc4x3_add1::IfcConversionBasedUnit::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[232]); } Ifc4x3_add1::IfcConversionBasedUnit::IfcConversionBasedUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -Ifc4x3_add1::IfcConversionBasedUnit::IfcConversionBasedUnit(::Ifc4x3_add1::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_add1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_add1::IfcMeasureWithUnit* v4_ConversionFactor) : IfcNamedUnit(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcConversionBasedUnit::IfcConversionBasedUnit(::Ifc4x3_add1::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_add1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_add1::IfcMeasureWithUnit* v4_ConversionFactor) : IfcNamedUnit(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConversionBasedUnitWithOffset -double Ifc4x3_add1::IfcConversionBasedUnitWithOffset::ConversionOffset() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add1::IfcConversionBasedUnitWithOffset::ConversionOffset() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcConversionBasedUnitWithOffset::setConversionOffset(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add1::IfcConversionBasedUnitWithOffset::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[233]); } const IfcParse::entity& Ifc4x3_add1::IfcConversionBasedUnitWithOffset::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[233]); } Ifc4x3_add1::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(IfcEntityInstanceData&& e) : IfcConversionBasedUnit(std::move(e)) { } -Ifc4x3_add1::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(::Ifc4x3_add1::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_add1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_add1::IfcMeasureWithUnit* v4_ConversionFactor, double v5_ConversionOffset) : IfcConversionBasedUnit(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ConversionOffset));; populate_derived(); } +Ifc4x3_add1::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(::Ifc4x3_add1::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_add1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_add1::IfcMeasureWithUnit* v4_ConversionFactor, double v5_ConversionOffset) : IfcConversionBasedUnit(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ConversionOffset));; populate_derived(); } // Function implementations for IfcConveyorSegment -boost::optional< ::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Value > Ifc4x3_add1::IfcConveyorSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Value > Ifc4x3_add1::IfcConveyorSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcConveyorSegment::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcConveyorSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[234]); } const IfcParse::entity& Ifc4x3_add1::IfcConveyorSegment::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[234]); } Ifc4x3_add1::IfcConveyorSegment::IfcConveyorSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x3_add1::IfcConveyorSegment::IfcConveyorSegment(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcConveyorSegment::IfcConveyorSegment(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConveyorSegmentType -::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Value Ifc4x3_add1::IfcConveyorSegmentType::PredefinedType() const { return ::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Value Ifc4x3_add1::IfcConveyorSegmentType::PredefinedType() const { return ::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcConveyorSegmentType::setPredefinedType(::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcConveyorSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[235]); } const IfcParse::entity& Ifc4x3_add1::IfcConveyorSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[235]); } Ifc4x3_add1::IfcConveyorSegmentType::IfcConveyorSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x3_add1::IfcConveyorSegmentType::IfcConveyorSegmentType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcConveyorSegmentType::IfcConveyorSegmentType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcConveyorSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCooledBeam -boost::optional< ::Ifc4x3_add1::IfcCooledBeamTypeEnum::Value > Ifc4x3_add1::IfcCooledBeam::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCooledBeamTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcCooledBeamTypeEnum::Value > Ifc4x3_add1::IfcCooledBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCooledBeamTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcCooledBeam::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcCooledBeamTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcCooledBeamTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcCooledBeam::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[237]); } const IfcParse::entity& Ifc4x3_add1::IfcCooledBeam::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[237]); } Ifc4x3_add1::IfcCooledBeam::IfcCooledBeam(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add1::IfcCooledBeam::IfcCooledBeam(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcCooledBeam::IfcCooledBeam(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCooledBeamType -::Ifc4x3_add1::IfcCooledBeamTypeEnum::Value Ifc4x3_add1::IfcCooledBeamType::PredefinedType() const { return ::Ifc4x3_add1::IfcCooledBeamTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcCooledBeamTypeEnum::Value Ifc4x3_add1::IfcCooledBeamType::PredefinedType() const { return ::Ifc4x3_add1::IfcCooledBeamTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcCooledBeamType::setPredefinedType(::Ifc4x3_add1::IfcCooledBeamTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcCooledBeamTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcCooledBeamType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[238]); } const IfcParse::entity& Ifc4x3_add1::IfcCooledBeamType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[238]); } Ifc4x3_add1::IfcCooledBeamType::IfcCooledBeamType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add1::IfcCooledBeamType::IfcCooledBeamType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCooledBeamTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcCooledBeamType::IfcCooledBeamType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCooledBeamTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCoolingTower -boost::optional< ::Ifc4x3_add1::IfcCoolingTowerTypeEnum::Value > Ifc4x3_add1::IfcCoolingTower::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCoolingTowerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcCoolingTowerTypeEnum::Value > Ifc4x3_add1::IfcCoolingTower::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcCoolingTower::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcCoolingTowerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcCoolingTowerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcCoolingTower::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[240]); } const IfcParse::entity& Ifc4x3_add1::IfcCoolingTower::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[240]); } Ifc4x3_add1::IfcCoolingTower::IfcCoolingTower(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add1::IfcCoolingTower::IfcCoolingTower(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcCoolingTower::IfcCoolingTower(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCoolingTowerType -::Ifc4x3_add1::IfcCoolingTowerTypeEnum::Value Ifc4x3_add1::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4x3_add1::IfcCoolingTowerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcCoolingTowerTypeEnum::Value Ifc4x3_add1::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4x3_add1::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcCoolingTowerType::setPredefinedType(::Ifc4x3_add1::IfcCoolingTowerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcCoolingTowerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcCoolingTowerType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[241]); } const IfcParse::entity& Ifc4x3_add1::IfcCoolingTowerType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[241]); } Ifc4x3_add1::IfcCoolingTowerType::IfcCoolingTowerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add1::IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCoordinateOperation -::Ifc4x3_add1::IfcCoordinateReferenceSystemSelect* Ifc4x3_add1::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCoordinateReferenceSystemSelect>(true); } +::Ifc4x3_add1::IfcCoordinateReferenceSystemSelect* Ifc4x3_add1::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCoordinateReferenceSystemSelect>(true); } void Ifc4x3_add1::IfcCoordinateOperation::setSourceCRS(::Ifc4x3_add1::IfcCoordinateReferenceSystemSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add1::IfcCoordinateReferenceSystem* Ifc4x3_add1::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcCoordinateReferenceSystem>(true); } +::Ifc4x3_add1::IfcCoordinateReferenceSystem* Ifc4x3_add1::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcCoordinateReferenceSystem>(true); } void Ifc4x3_add1::IfcCoordinateOperation::setTargetCRS(::Ifc4x3_add1::IfcCoordinateReferenceSystem* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcCoordinateOperation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[243]); } const IfcParse::entity& Ifc4x3_add1::IfcCoordinateOperation::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[243]); } Ifc4x3_add1::IfcCoordinateOperation::IfcCoordinateOperation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcCoordinateOperation::IfcCoordinateOperation(::Ifc4x3_add1::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_add1::IfcCoordinateReferenceSystem* v2_TargetCRS) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcCoordinateOperation::IfcCoordinateOperation(::Ifc4x3_add1::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_add1::IfcCoordinateReferenceSystem* v2_TargetCRS) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCoordinateReferenceSystem -boost::optional< std::string > Ifc4x3_add1::IfcCoordinateReferenceSystem::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcCoordinateReferenceSystem::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcCoordinateReferenceSystem::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add1::IfcCoordinateReferenceSystem::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcCoordinateReferenceSystem::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcCoordinateReferenceSystem::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x3_add1::IfcCoordinateOperation::list::ptr Ifc4x3_add1::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[243], 0)->as(); } @@ -9616,49 +9616,49 @@ void Ifc4x3_add1::IfcCoordinateReferenceSystem::setDescription(boost::optional< const IfcParse::entity& Ifc4x3_add1::IfcCoordinateReferenceSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[244]); } const IfcParse::entity& Ifc4x3_add1::IfcCoordinateReferenceSystem::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[244]); } Ifc4x3_add1::IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4x3_add1::IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcCosineSpiral -double Ifc4x3_add1::IfcCosineSpiral::CosineTerm() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add1::IfcCosineSpiral::CosineTerm() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcCosineSpiral::setCosineTerm(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_add1::IfcCosineSpiral::ConstantTerm() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add1::IfcCosineSpiral::ConstantTerm() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcCosineSpiral::setConstantTerm(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_add1::IfcCosineSpiral::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[246]); } const IfcParse::entity& Ifc4x3_add1::IfcCosineSpiral::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[246]); } Ifc4x3_add1::IfcCosineSpiral::IfcCosineSpiral(IfcEntityInstanceData&& e) : IfcSpiral(std::move(e)) { } -Ifc4x3_add1::IfcCosineSpiral::IfcCosineSpiral(::Ifc4x3_add1::IfcAxis2Placement* v1_Position, double v2_CosineTerm, boost::optional< double > v3_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CosineTerm)); if (v3_ConstantTerm) {set_attribute_value(2, (*v3_ConstantTerm)); }; populate_derived(); } +Ifc4x3_add1::IfcCosineSpiral::IfcCosineSpiral(::Ifc4x3_add1::IfcAxis2Placement* v1_Position, double v2_CosineTerm, boost::optional< double > v3_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CosineTerm)); if (v3_ConstantTerm) {set_attribute_value(2, (*v3_ConstantTerm)); }; populate_derived(); } // Function implementations for IfcCostItem -boost::optional< ::Ifc4x3_add1::IfcCostItemTypeEnum::Value > Ifc4x3_add1::IfcCostItem::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCostItemTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_add1::IfcCostItemTypeEnum::Value > Ifc4x3_add1::IfcCostItem::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCostItemTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_add1::IfcCostItem::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcCostItemTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_add1::IfcCostItemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcCostValue >::ptr > Ifc4x3_add1::IfcCostItem::CostValues() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_add1::IfcCostValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcCostValue >::ptr > Ifc4x3_add1::IfcCostItem::CostValues() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_add1::IfcCostValue >(); } void Ifc4x3_add1::IfcCostItem::setCostValues(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcCostValue >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPhysicalQuantity >::ptr > Ifc4x3_add1::IfcCostItem::CostQuantities() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_add1::IfcPhysicalQuantity >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPhysicalQuantity >::ptr > Ifc4x3_add1::IfcCostItem::CostQuantities() const { if(get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_add1::IfcPhysicalQuantity >(); } void Ifc4x3_add1::IfcCostItem::setCostQuantities(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPhysicalQuantity >::ptr > v) { if (v) {set_attribute_value(8, (*v)->generalize());} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcCostItem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[247]); } const IfcParse::entity& Ifc4x3_add1::IfcCostItem::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[247]); } Ifc4x3_add1::IfcCostItem::IfcCostItem(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_add1::IfcCostItem::IfcCostItem(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcCostItemTypeEnum::Value > v7_PredefinedType, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcCostValue >::ptr > v8_CostValues, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPhysicalQuantity >::ptr > v9_CostQuantities) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add1::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, (*v8_CostValues)->generalize()); } if (v9_CostQuantities) {set_attribute_value(8, (*v9_CostQuantities)->generalize()); }; populate_derived(); } +Ifc4x3_add1::IfcCostItem::IfcCostItem(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcCostItemTypeEnum::Value > v7_PredefinedType, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcCostValue >::ptr > v8_CostValues, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPhysicalQuantity >::ptr > v9_CostQuantities) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add1::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, (*v8_CostValues)->generalize()); } if (v9_CostQuantities) {set_attribute_value(8, (*v9_CostQuantities)->generalize()); }; populate_derived(); } // Function implementations for IfcCostSchedule -boost::optional< ::Ifc4x3_add1::IfcCostScheduleTypeEnum::Value > Ifc4x3_add1::IfcCostSchedule::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCostScheduleTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_add1::IfcCostScheduleTypeEnum::Value > Ifc4x3_add1::IfcCostSchedule::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCostScheduleTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_add1::IfcCostSchedule::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcCostScheduleTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_add1::IfcCostScheduleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_add1::IfcCostSchedule::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcCostSchedule::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcCostSchedule::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_add1::IfcCostSchedule::SubmittedOn() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcCostSchedule::SubmittedOn() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcCostSchedule::setSubmittedOn(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_add1::IfcCostSchedule::UpdateDate() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcCostSchedule::UpdateDate() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_add1::IfcCostSchedule::setUpdateDate(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_add1::IfcCostSchedule::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[249]); } const IfcParse::entity& Ifc4x3_add1::IfcCostSchedule::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[249]); } Ifc4x3_add1::IfcCostSchedule::IfcCostSchedule(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_add1::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_SubmittedOn, boost::optional< std::string > v10_UpdateDate) : IfcControl(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add1::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); }; populate_derived(); } +Ifc4x3_add1::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_SubmittedOn, boost::optional< std::string > v10_UpdateDate) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add1::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); }; populate_derived(); } // Function implementations for IfcCostValue @@ -9666,30 +9666,30 @@ Ifc4x3_add1::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc4x3_ const IfcParse::entity& Ifc4x3_add1::IfcCostValue::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[251]); } const IfcParse::entity& Ifc4x3_add1::IfcCostValue::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[251]); } Ifc4x3_add1::IfcCostValue::IfcCostValue(IfcEntityInstanceData&& e) : IfcAppliedValue(std::move(e)) { } -Ifc4x3_add1::IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3_add1::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_add1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAppliedValue >::ptr > v10_Components) : IfcAppliedValue(IfcEntityInstanceData(storage_t(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } +Ifc4x3_add1::IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3_add1::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_add1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAppliedValue >::ptr > v10_Components) : IfcAppliedValue(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } // Function implementations for IfcCourse -boost::optional< ::Ifc4x3_add1::IfcCourseTypeEnum::Value > Ifc4x3_add1::IfcCourse::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCourseTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcCourseTypeEnum::Value > Ifc4x3_add1::IfcCourse::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCourseTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcCourse::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcCourseTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcCourseTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcCourse::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[253]); } const IfcParse::entity& Ifc4x3_add1::IfcCourse::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[253]); } Ifc4x3_add1::IfcCourse::IfcCourse(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add1::IfcCourse::IfcCourse(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcCourseTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcCourseTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcCourse::IfcCourse(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcCourseTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcCourseTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCourseType -::Ifc4x3_add1::IfcCourseTypeEnum::Value Ifc4x3_add1::IfcCourseType::PredefinedType() const { return ::Ifc4x3_add1::IfcCourseTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcCourseTypeEnum::Value Ifc4x3_add1::IfcCourseType::PredefinedType() const { return ::Ifc4x3_add1::IfcCourseTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcCourseType::setPredefinedType(::Ifc4x3_add1::IfcCourseTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcCourseTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcCourseType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[254]); } const IfcParse::entity& Ifc4x3_add1::IfcCourseType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[254]); } Ifc4x3_add1::IfcCourseType::IfcCourseType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add1::IfcCourseType::IfcCourseType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCourseTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcCourseTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcCourseType::IfcCourseType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCourseTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcCourseTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCovering -boost::optional< ::Ifc4x3_add1::IfcCoveringTypeEnum::Value > Ifc4x3_add1::IfcCovering::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCoveringTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcCoveringTypeEnum::Value > Ifc4x3_add1::IfcCovering::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCoveringTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcCovering::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcCoveringTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcCoveringTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x3_add1::IfcRelCoversSpaces::list::ptr Ifc4x3_add1::IfcCovering::CoversSpaces() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[928], 5)->as(); } @@ -9698,95 +9698,95 @@ void Ifc4x3_add1::IfcCovering::setPredefinedType(boost::optional< ::Ifc4x3_add1: const IfcParse::entity& Ifc4x3_add1::IfcCovering::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[256]); } const IfcParse::entity& Ifc4x3_add1::IfcCovering::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[256]); } Ifc4x3_add1::IfcCovering::IfcCovering(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add1::IfcCovering::IfcCovering(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcCoveringTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcCovering::IfcCovering(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcCoveringTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCoveringType -::Ifc4x3_add1::IfcCoveringTypeEnum::Value Ifc4x3_add1::IfcCoveringType::PredefinedType() const { return ::Ifc4x3_add1::IfcCoveringTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcCoveringTypeEnum::Value Ifc4x3_add1::IfcCoveringType::PredefinedType() const { return ::Ifc4x3_add1::IfcCoveringTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcCoveringType::setPredefinedType(::Ifc4x3_add1::IfcCoveringTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcCoveringTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcCoveringType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[257]); } const IfcParse::entity& Ifc4x3_add1::IfcCoveringType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[257]); } Ifc4x3_add1::IfcCoveringType::IfcCoveringType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add1::IfcCoveringType::IfcCoveringType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCoveringTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcCoveringType::IfcCoveringType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCoveringTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCrewResource -boost::optional< ::Ifc4x3_add1::IfcCrewResourceTypeEnum::Value > Ifc4x3_add1::IfcCrewResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCrewResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add1::IfcCrewResourceTypeEnum::Value > Ifc4x3_add1::IfcCrewResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCrewResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add1::IfcCrewResource::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcCrewResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add1::IfcCrewResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add1::IfcCrewResource::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[259]); } const IfcParse::entity& Ifc4x3_add1::IfcCrewResource::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[259]); } Ifc4x3_add1::IfcCrewResource::IfcCrewResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_add1::IfcCrewResource::IfcCrewResource(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_add1::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcCrewResource::IfcCrewResource(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_add1::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCrewResourceType -::Ifc4x3_add1::IfcCrewResourceTypeEnum::Value Ifc4x3_add1::IfcCrewResourceType::PredefinedType() const { return ::Ifc4x3_add1::IfcCrewResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_add1::IfcCrewResourceTypeEnum::Value Ifc4x3_add1::IfcCrewResourceType::PredefinedType() const { return ::Ifc4x3_add1::IfcCrewResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_add1::IfcCrewResourceType::setPredefinedType(::Ifc4x3_add1::IfcCrewResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_add1::IfcCrewResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_add1::IfcCrewResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[260]); } const IfcParse::entity& Ifc4x3_add1::IfcCrewResourceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[260]); } Ifc4x3_add1::IfcCrewResourceType::IfcCrewResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_add1::IfcCrewResourceType::IfcCrewResourceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::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_add1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_add1::IfcCrewResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add1::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcCrewResourceType::IfcCrewResourceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::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_add1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_add1::IfcCrewResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add1::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcCsgPrimitive3D -::Ifc4x3_add1::IfcAxis2Placement3D* Ifc4x3_add1::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcAxis2Placement3D>(true); } +::Ifc4x3_add1::IfcAxis2Placement3D* Ifc4x3_add1::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcAxis2Placement3D>(true); } void Ifc4x3_add1::IfcCsgPrimitive3D::setPosition(::Ifc4x3_add1::IfcAxis2Placement3D* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add1::IfcCsgPrimitive3D::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[262]); } const IfcParse::entity& Ifc4x3_add1::IfcCsgPrimitive3D::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[262]); } Ifc4x3_add1::IfcCsgPrimitive3D::IfcCsgPrimitive3D(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcCsgPrimitive3D::IfcCsgPrimitive3D(::Ifc4x3_add1::IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcCsgPrimitive3D::IfcCsgPrimitive3D(::Ifc4x3_add1::IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCsgSolid -::Ifc4x3_add1::IfcCsgSelect* Ifc4x3_add1::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCsgSelect>(true); } +::Ifc4x3_add1::IfcCsgSelect* Ifc4x3_add1::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCsgSelect>(true); } void Ifc4x3_add1::IfcCsgSolid::setTreeRootExpression(::Ifc4x3_add1::IfcCsgSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add1::IfcCsgSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[264]); } const IfcParse::entity& Ifc4x3_add1::IfcCsgSolid::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[264]); } Ifc4x3_add1::IfcCsgSolid::IfcCsgSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3_add1::IfcCsgSolid::IfcCsgSolid(::Ifc4x3_add1::IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_TreeRootExpression ? v1_TreeRootExpression->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcCsgSolid::IfcCsgSolid(::Ifc4x3_add1::IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_TreeRootExpression ? v1_TreeRootExpression->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCurrencyRelationship -::Ifc4x3_add1::IfcMonetaryUnit* Ifc4x3_add1::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcMonetaryUnit>(true); } +::Ifc4x3_add1::IfcMonetaryUnit* Ifc4x3_add1::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcMonetaryUnit>(true); } void Ifc4x3_add1::IfcCurrencyRelationship::setRelatingMonetaryUnit(::Ifc4x3_add1::IfcMonetaryUnit* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add1::IfcMonetaryUnit* Ifc4x3_add1::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcMonetaryUnit>(true); } +::Ifc4x3_add1::IfcMonetaryUnit* Ifc4x3_add1::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcMonetaryUnit>(true); } void Ifc4x3_add1::IfcCurrencyRelationship::setRelatedMonetaryUnit(::Ifc4x3_add1::IfcMonetaryUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_add1::IfcCurrencyRelationship::ExchangeRate() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add1::IfcCurrencyRelationship::ExchangeRate() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcCurrencyRelationship::setExchangeRate(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< std::string > Ifc4x3_add1::IfcCurrencyRelationship::RateDateTime() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcCurrencyRelationship::RateDateTime() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcCurrencyRelationship::setRateDateTime(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_add1::IfcLibraryInformation* Ifc4x3_add1::IfcCurrencyRelationship::RateSource() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add1::IfcLibraryInformation>(true); } +::Ifc4x3_add1::IfcLibraryInformation* Ifc4x3_add1::IfcCurrencyRelationship::RateSource() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add1::IfcLibraryInformation>(true); } void Ifc4x3_add1::IfcCurrencyRelationship::setRateSource(::Ifc4x3_add1::IfcLibraryInformation* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add1::IfcCurrencyRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[266]); } const IfcParse::entity& Ifc4x3_add1::IfcCurrencyRelationship::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[266]); } Ifc4x3_add1::IfcCurrencyRelationship::IfcCurrencyRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_add1::IfcCurrencyRelationship::IfcCurrencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcMonetaryUnit* v3_RelatingMonetaryUnit, ::Ifc4x3_add1::IfcMonetaryUnit* v4_RelatedMonetaryUnit, double v5_ExchangeRate, boost::optional< std::string > v6_RateDateTime, ::Ifc4x3_add1::IfcLibraryInformation* v7_RateSource) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMonetaryUnit ? v3_RelatingMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_RelatedMonetaryUnit ? v4_RelatedMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, v7_RateSource ? v7_RateSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcCurrencyRelationship::IfcCurrencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcMonetaryUnit* v3_RelatingMonetaryUnit, ::Ifc4x3_add1::IfcMonetaryUnit* v4_RelatedMonetaryUnit, double v5_ExchangeRate, boost::optional< std::string > v6_RateDateTime, ::Ifc4x3_add1::IfcLibraryInformation* v7_RateSource) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMonetaryUnit ? v3_RelatingMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_RelatedMonetaryUnit ? v4_RelatedMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, v7_RateSource ? v7_RateSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCurtainWall -boost::optional< ::Ifc4x3_add1::IfcCurtainWallTypeEnum::Value > Ifc4x3_add1::IfcCurtainWall::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCurtainWallTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcCurtainWallTypeEnum::Value > Ifc4x3_add1::IfcCurtainWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCurtainWallTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcCurtainWall::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcCurtainWallTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcCurtainWallTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcCurtainWall::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[267]); } const IfcParse::entity& Ifc4x3_add1::IfcCurtainWall::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[267]); } Ifc4x3_add1::IfcCurtainWall::IfcCurtainWall(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add1::IfcCurtainWall::IfcCurtainWall(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcCurtainWall::IfcCurtainWall(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCurtainWallType -::Ifc4x3_add1::IfcCurtainWallTypeEnum::Value Ifc4x3_add1::IfcCurtainWallType::PredefinedType() const { return ::Ifc4x3_add1::IfcCurtainWallTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcCurtainWallTypeEnum::Value Ifc4x3_add1::IfcCurtainWallType::PredefinedType() const { return ::Ifc4x3_add1::IfcCurtainWallTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcCurtainWallType::setPredefinedType(::Ifc4x3_add1::IfcCurtainWallTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcCurtainWallTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcCurtainWallType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[268]); } const IfcParse::entity& Ifc4x3_add1::IfcCurtainWallType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[268]); } Ifc4x3_add1::IfcCurtainWallType::IfcCurtainWallType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add1::IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCurtainWallTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcCurtainWallTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCurve @@ -9794,135 +9794,135 @@ Ifc4x3_add1::IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, ::I const IfcParse::entity& Ifc4x3_add1::IfcCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[271]); } const IfcParse::entity& Ifc4x3_add1::IfcCurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[271]); } Ifc4x3_add1::IfcCurve::IfcCurve(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcCurve::IfcCurve() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add1::IfcCurve::IfcCurve() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcCurveBoundedPlane -::Ifc4x3_add1::IfcPlane* Ifc4x3_add1::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcPlane>(true); } +::Ifc4x3_add1::IfcPlane* Ifc4x3_add1::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcPlane>(true); } void Ifc4x3_add1::IfcCurveBoundedPlane::setBasisSurface(::Ifc4x3_add1::IfcPlane* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcCurve>(true); } +::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcCurve>(true); } void Ifc4x3_add1::IfcCurveBoundedPlane::setOuterBoundary(::Ifc4x3_add1::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3_add1::IfcCurve >::ptr Ifc4x3_add1::IfcCurveBoundedPlane::InnerBoundaries() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcCurve >(); } +aggregate_of< ::Ifc4x3_add1::IfcCurve >::ptr Ifc4x3_add1::IfcCurveBoundedPlane::InnerBoundaries() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcCurve >(); } void Ifc4x3_add1::IfcCurveBoundedPlane::setInnerBoundaries(aggregate_of< ::Ifc4x3_add1::IfcCurve >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcCurveBoundedPlane::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[272]); } const IfcParse::entity& Ifc4x3_add1::IfcCurveBoundedPlane::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[272]); } Ifc4x3_add1::IfcCurveBoundedPlane::IfcCurveBoundedPlane(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x3_add1::IfcCurveBoundedPlane::IfcCurveBoundedPlane(::Ifc4x3_add1::IfcPlane* v1_BasisSurface, ::Ifc4x3_add1::IfcCurve* v2_OuterBoundary, aggregate_of< ::Ifc4x3_add1::IfcCurve >::ptr v3_InnerBoundaries) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OuterBoundary ? v2_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_InnerBoundaries)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcCurveBoundedPlane::IfcCurveBoundedPlane(::Ifc4x3_add1::IfcPlane* v1_BasisSurface, ::Ifc4x3_add1::IfcCurve* v2_OuterBoundary, aggregate_of< ::Ifc4x3_add1::IfcCurve >::ptr v3_InnerBoundaries) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OuterBoundary ? v2_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_InnerBoundaries)->generalize());; populate_derived(); } // Function implementations for IfcCurveBoundedSurface -::Ifc4x3_add1::IfcSurface* Ifc4x3_add1::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcSurface>(true); } +::Ifc4x3_add1::IfcSurface* Ifc4x3_add1::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcSurface>(true); } void Ifc4x3_add1::IfcCurveBoundedSurface::setBasisSurface(::Ifc4x3_add1::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_add1::IfcBoundaryCurve >::ptr Ifc4x3_add1::IfcCurveBoundedSurface::Boundaries() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcBoundaryCurve >(); } +aggregate_of< ::Ifc4x3_add1::IfcBoundaryCurve >::ptr Ifc4x3_add1::IfcCurveBoundedSurface::Boundaries() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcBoundaryCurve >(); } void Ifc4x3_add1::IfcCurveBoundedSurface::setBoundaries(aggregate_of< ::Ifc4x3_add1::IfcBoundaryCurve >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -bool Ifc4x3_add1::IfcCurveBoundedSurface::ImplicitOuter() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x3_add1::IfcCurveBoundedSurface::ImplicitOuter() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcCurveBoundedSurface::setImplicitOuter(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcCurveBoundedSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[273]); } const IfcParse::entity& Ifc4x3_add1::IfcCurveBoundedSurface::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[273]); } Ifc4x3_add1::IfcCurveBoundedSurface::IfcCurveBoundedSurface(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x3_add1::IfcCurveBoundedSurface::IfcCurveBoundedSurface(::Ifc4x3_add1::IfcSurface* v1_BasisSurface, aggregate_of< ::Ifc4x3_add1::IfcBoundaryCurve >::ptr v2_Boundaries, bool v3_ImplicitOuter) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Boundaries)->generalize());set_attribute_value(2, (v3_ImplicitOuter));; populate_derived(); } +Ifc4x3_add1::IfcCurveBoundedSurface::IfcCurveBoundedSurface(::Ifc4x3_add1::IfcSurface* v1_BasisSurface, aggregate_of< ::Ifc4x3_add1::IfcBoundaryCurve >::ptr v2_Boundaries, bool v3_ImplicitOuter) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Boundaries)->generalize());set_attribute_value(2, (v3_ImplicitOuter));; populate_derived(); } // Function implementations for IfcCurveSegment -::Ifc4x3_add1::IfcPlacement* Ifc4x3_add1::IfcCurveSegment::Placement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcPlacement>(true); } +::Ifc4x3_add1::IfcPlacement* Ifc4x3_add1::IfcCurveSegment::Placement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcPlacement>(true); } void Ifc4x3_add1::IfcCurveSegment::setPlacement(::Ifc4x3_add1::IfcPlacement* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add1::IfcCurveMeasureSelect* Ifc4x3_add1::IfcCurveSegment::SegmentStart() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcCurveMeasureSelect>(true); } +::Ifc4x3_add1::IfcCurveMeasureSelect* Ifc4x3_add1::IfcCurveSegment::SegmentStart() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcCurveMeasureSelect>(true); } void Ifc4x3_add1::IfcCurveSegment::setSegmentStart(::Ifc4x3_add1::IfcCurveMeasureSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add1::IfcCurveMeasureSelect* Ifc4x3_add1::IfcCurveSegment::SegmentLength() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcCurveMeasureSelect>(true); } +::Ifc4x3_add1::IfcCurveMeasureSelect* Ifc4x3_add1::IfcCurveSegment::SegmentLength() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcCurveMeasureSelect>(true); } void Ifc4x3_add1::IfcCurveSegment::setSegmentLength(::Ifc4x3_add1::IfcCurveMeasureSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcCurve>(true); } +::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcCurve>(true); } void Ifc4x3_add1::IfcCurveSegment::setParentCurve(::Ifc4x3_add1::IfcCurve* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add1::IfcCurveSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[279]); } const IfcParse::entity& Ifc4x3_add1::IfcCurveSegment::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[279]); } Ifc4x3_add1::IfcCurveSegment::IfcCurveSegment(IfcEntityInstanceData&& e) : IfcSegment(std::move(e)) { } -Ifc4x3_add1::IfcCurveSegment::IfcCurveSegment(::Ifc4x3_add1::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_add1::IfcPlacement* v2_Placement, ::Ifc4x3_add1::IfcCurveMeasureSelect* v3_SegmentStart, ::Ifc4x3_add1::IfcCurveMeasureSelect* v4_SegmentLength, ::Ifc4x3_add1::IfcCurve* v5_ParentCurve) : IfcSegment(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SegmentStart ? v3_SegmentStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_SegmentLength ? v4_SegmentLength->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ParentCurve ? v5_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcCurveSegment::IfcCurveSegment(::Ifc4x3_add1::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_add1::IfcPlacement* v2_Placement, ::Ifc4x3_add1::IfcCurveMeasureSelect* v3_SegmentStart, ::Ifc4x3_add1::IfcCurveMeasureSelect* v4_SegmentLength, ::Ifc4x3_add1::IfcCurve* v5_ParentCurve) : IfcSegment(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SegmentStart ? v3_SegmentStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_SegmentLength ? v4_SegmentLength->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ParentCurve ? v5_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCurveStyle -::Ifc4x3_add1::IfcCurveFontOrScaledCurveFontSelect* Ifc4x3_add1::IfcCurveStyle::CurveFont() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcCurveFontOrScaledCurveFontSelect>(true); } +::Ifc4x3_add1::IfcCurveFontOrScaledCurveFontSelect* Ifc4x3_add1::IfcCurveStyle::CurveFont() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcCurveFontOrScaledCurveFontSelect>(true); } void Ifc4x3_add1::IfcCurveStyle::setCurveFont(::Ifc4x3_add1::IfcCurveFontOrScaledCurveFontSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add1::IfcSizeSelect* Ifc4x3_add1::IfcCurveStyle::CurveWidth() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcSizeSelect>(true); } +::Ifc4x3_add1::IfcSizeSelect* Ifc4x3_add1::IfcCurveStyle::CurveWidth() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcSizeSelect>(true); } void Ifc4x3_add1::IfcCurveStyle::setCurveWidth(::Ifc4x3_add1::IfcSizeSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add1::IfcColour* Ifc4x3_add1::IfcCurveStyle::CurveColour() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcColour>(true); } +::Ifc4x3_add1::IfcColour* Ifc4x3_add1::IfcCurveStyle::CurveColour() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcColour>(true); } void Ifc4x3_add1::IfcCurveStyle::setCurveColour(::Ifc4x3_add1::IfcColour* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< bool > Ifc4x3_add1::IfcCurveStyle::ModelOrDraughting() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } bool v = data_.get_attribute_value(4); return v; } +boost::optional< bool > Ifc4x3_add1::IfcCurveStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return boost::none; } bool v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcCurveStyle::setModelOrDraughting(boost::optional< bool > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add1::IfcCurveStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[280]); } const IfcParse::entity& Ifc4x3_add1::IfcCurveStyle::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[280]); } Ifc4x3_add1::IfcCurveStyle::IfcCurveStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x3_add1::IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcCurveFontOrScaledCurveFontSelect* v2_CurveFont, ::Ifc4x3_add1::IfcSizeSelect* v3_CurveWidth, ::Ifc4x3_add1::IfcColour* v4_CurveColour, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CurveWidth ? v3_CurveWidth->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_CurveColour ? v4_CurveColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } +Ifc4x3_add1::IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcCurveFontOrScaledCurveFontSelect* v2_CurveFont, ::Ifc4x3_add1::IfcSizeSelect* v3_CurveWidth, ::Ifc4x3_add1::IfcColour* v4_CurveColour, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CurveWidth ? v3_CurveWidth->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_CurveColour ? v4_CurveColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } // Function implementations for IfcCurveStyleFont -boost::optional< std::string > Ifc4x3_add1::IfcCurveStyleFont::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcCurveStyleFont::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcCurveStyleFont::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -aggregate_of< ::Ifc4x3_add1::IfcCurveStyleFontPattern >::ptr Ifc4x3_add1::IfcCurveStyleFont::PatternList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcCurveStyleFontPattern >(); } +aggregate_of< ::Ifc4x3_add1::IfcCurveStyleFontPattern >::ptr Ifc4x3_add1::IfcCurveStyleFont::PatternList() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcCurveStyleFontPattern >(); } void Ifc4x3_add1::IfcCurveStyleFont::setPatternList(aggregate_of< ::Ifc4x3_add1::IfcCurveStyleFontPattern >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcCurveStyleFont::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[281]); } const IfcParse::entity& Ifc4x3_add1::IfcCurveStyleFont::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[281]); } Ifc4x3_add1::IfcCurveStyleFont::IfcCurveStyleFont(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_add1::IfcCurveStyleFontPattern >::ptr v2_PatternList) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_PatternList)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_add1::IfcCurveStyleFontPattern >::ptr v2_PatternList) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_PatternList)->generalize());; populate_derived(); } // Function implementations for IfcCurveStyleFontAndScaling -boost::optional< std::string > Ifc4x3_add1::IfcCurveStyleFontAndScaling::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcCurveStyleFontAndScaling::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_add1::IfcCurveStyleFontSelect* Ifc4x3_add1::IfcCurveStyleFontAndScaling::CurveStyleFont() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcCurveStyleFontSelect>(true); } +::Ifc4x3_add1::IfcCurveStyleFontSelect* Ifc4x3_add1::IfcCurveStyleFontAndScaling::CurveStyleFont() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcCurveStyleFontSelect>(true); } void Ifc4x3_add1::IfcCurveStyleFontAndScaling::setCurveStyleFont(::Ifc4x3_add1::IfcCurveStyleFontSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_add1::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_add1::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcCurveStyleFontAndScaling::setCurveFontScaling(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcCurveStyleFontAndScaling::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[282]); } const IfcParse::entity& Ifc4x3_add1::IfcCurveStyleFontAndScaling::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[282]); } Ifc4x3_add1::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(boost::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcCurveStyleFontSelect* v2_CurveStyleFont, double v3_CurveFontScaling) : IfcPresentationItem(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveStyleFont ? v2_CurveStyleFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_CurveFontScaling));; populate_derived(); } +Ifc4x3_add1::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(boost::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcCurveStyleFontSelect* v2_CurveStyleFont, double v3_CurveFontScaling) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveStyleFont ? v2_CurveStyleFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_CurveFontScaling));; populate_derived(); } // Function implementations for IfcCurveStyleFontPattern -double Ifc4x3_add1::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_add1::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcCurveStyleFontPattern::setVisibleSegmentLength(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_add1::IfcCurveStyleFontPattern::InvisibleSegmentLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add1::IfcCurveStyleFontPattern::InvisibleSegmentLength() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcCurveStyleFontPattern::setInvisibleSegmentLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcCurveStyleFontPattern::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[283]); } const IfcParse::entity& Ifc4x3_add1::IfcCurveStyleFontPattern::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[283]); } Ifc4x3_add1::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; populate_derived(); } +Ifc4x3_add1::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; populate_derived(); } // Function implementations for IfcCylindricalSurface -double Ifc4x3_add1::IfcCylindricalSurface::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add1::IfcCylindricalSurface::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcCylindricalSurface::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcCylindricalSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[285]); } const IfcParse::entity& Ifc4x3_add1::IfcCylindricalSurface::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[285]); } Ifc4x3_add1::IfcCylindricalSurface::IfcCylindricalSurface(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x3_add1::IfcCylindricalSurface::IfcCylindricalSurface(::Ifc4x3_add1::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x3_add1::IfcCylindricalSurface::IfcCylindricalSurface(::Ifc4x3_add1::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcDamper -boost::optional< ::Ifc4x3_add1::IfcDamperTypeEnum::Value > Ifc4x3_add1::IfcDamper::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcDamperTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcDamperTypeEnum::Value > Ifc4x3_add1::IfcDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcDamperTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcDamper::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcDamperTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcDamperTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcDamper::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[286]); } const IfcParse::entity& Ifc4x3_add1::IfcDamper::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[286]); } Ifc4x3_add1::IfcDamper::IfcDamper(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_add1::IfcDamper::IfcDamper(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcDamperTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcDamper::IfcDamper(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcDamperTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDamperType -::Ifc4x3_add1::IfcDamperTypeEnum::Value Ifc4x3_add1::IfcDamperType::PredefinedType() const { return ::Ifc4x3_add1::IfcDamperTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcDamperTypeEnum::Value Ifc4x3_add1::IfcDamperType::PredefinedType() const { return ::Ifc4x3_add1::IfcDamperTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcDamperType::setPredefinedType(::Ifc4x3_add1::IfcDamperTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcDamperTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcDamperType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[287]); } const IfcParse::entity& Ifc4x3_add1::IfcDamperType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[287]); } Ifc4x3_add1::IfcDamperType::IfcDamperType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_add1::IfcDamperType::IfcDamperType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDamperTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcDamperType::IfcDamperType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDamperTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDeepFoundation @@ -9930,7 +9930,7 @@ Ifc4x3_add1::IfcDamperType::IfcDamperType(std::string v1_GlobalId, ::Ifc4x3_add1 const IfcParse::entity& Ifc4x3_add1::IfcDeepFoundation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[294]); } const IfcParse::entity& Ifc4x3_add1::IfcDeepFoundation::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[294]); } Ifc4x3_add1::IfcDeepFoundation::IfcDeepFoundation(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add1::IfcDeepFoundation::IfcDeepFoundation(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuiltElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add1::IfcDeepFoundation::IfcDeepFoundation(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDeepFoundationType @@ -9938,95 +9938,95 @@ Ifc4x3_add1::IfcDeepFoundation::IfcDeepFoundation(std::string v1_GlobalId, ::Ifc const IfcParse::entity& Ifc4x3_add1::IfcDeepFoundationType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[295]); } const IfcParse::entity& Ifc4x3_add1::IfcDeepFoundationType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[295]); } Ifc4x3_add1::IfcDeepFoundationType::IfcDeepFoundationType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add1::IfcDeepFoundationType::IfcDeepFoundationType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add1::IfcDeepFoundationType::IfcDeepFoundationType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDerivedProfileDef -::Ifc4x3_add1::IfcProfileDef* Ifc4x3_add1::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcProfileDef>(true); } +::Ifc4x3_add1::IfcProfileDef* Ifc4x3_add1::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcProfileDef>(true); } void Ifc4x3_add1::IfcDerivedProfileDef::setParentProfile(::Ifc4x3_add1::IfcProfileDef* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add1::IfcCartesianTransformationOperator2D* Ifc4x3_add1::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcCartesianTransformationOperator2D>(true); } +::Ifc4x3_add1::IfcCartesianTransformationOperator2D* Ifc4x3_add1::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcCartesianTransformationOperator2D>(true); } void Ifc4x3_add1::IfcDerivedProfileDef::setOperator(::Ifc4x3_add1::IfcCartesianTransformationOperator2D* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_add1::IfcDerivedProfileDef::Label() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcDerivedProfileDef::Label() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add1::IfcDerivedProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[298]); } const IfcParse::entity& Ifc4x3_add1::IfcDerivedProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[298]); } Ifc4x3_add1::IfcDerivedProfileDef::IfcDerivedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_add1::IfcDerivedProfileDef::IfcDerivedProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcProfileDef* v3_ParentProfile, ::Ifc4x3_add1::IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< std::string > v5_Label) : IfcProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Operator ? v4_Operator->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } +Ifc4x3_add1::IfcDerivedProfileDef::IfcDerivedProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcProfileDef* v3_ParentProfile, ::Ifc4x3_add1::IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< std::string > v5_Label) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Operator ? v4_Operator->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } // Function implementations for IfcDerivedUnit -aggregate_of< ::Ifc4x3_add1::IfcDerivedUnitElement >::ptr Ifc4x3_add1::IfcDerivedUnit::Elements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcDerivedUnitElement >(); } +aggregate_of< ::Ifc4x3_add1::IfcDerivedUnitElement >::ptr Ifc4x3_add1::IfcDerivedUnit::Elements() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcDerivedUnitElement >(); } void Ifc4x3_add1::IfcDerivedUnit::setElements(aggregate_of< ::Ifc4x3_add1::IfcDerivedUnitElement >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add1::IfcDerivedUnitEnum::Value Ifc4x3_add1::IfcDerivedUnit::UnitType() const { return ::Ifc4x3_add1::IfcDerivedUnitEnum::FromString(data_.get_attribute_value(1)); } +::Ifc4x3_add1::IfcDerivedUnitEnum::Value Ifc4x3_add1::IfcDerivedUnit::UnitType() const { return ::Ifc4x3_add1::IfcDerivedUnitEnum::FromString(get_attribute_value(1)); } void Ifc4x3_add1::IfcDerivedUnit::setUnitType(::Ifc4x3_add1::IfcDerivedUnitEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x3_add1::IfcDerivedUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_add1::IfcDerivedUnit::UserDefinedType() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcDerivedUnit::UserDefinedType() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcDerivedUnit::setUserDefinedType(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_add1::IfcDerivedUnit::Name() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcDerivedUnit::Name() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcDerivedUnit::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_add1::IfcDerivedUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[299]); } const IfcParse::entity& Ifc4x3_add1::IfcDerivedUnit::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[299]); } Ifc4x3_add1::IfcDerivedUnit::IfcDerivedUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcDerivedUnit::IfcDerivedUnit(aggregate_of< ::Ifc4x3_add1::IfcDerivedUnitElement >::ptr v1_Elements, ::Ifc4x3_add1::IfcDerivedUnitEnum::Value v2_UnitType, boost::optional< std::string > v3_UserDefinedType, boost::optional< std::string > v4_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Elements)->generalize());set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add1::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); }; populate_derived(); } +Ifc4x3_add1::IfcDerivedUnit::IfcDerivedUnit(aggregate_of< ::Ifc4x3_add1::IfcDerivedUnitElement >::ptr v1_Elements, ::Ifc4x3_add1::IfcDerivedUnitEnum::Value v2_UnitType, boost::optional< std::string > v3_UserDefinedType, boost::optional< std::string > v4_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Elements)->generalize());set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add1::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); }; populate_derived(); } // Function implementations for IfcDerivedUnitElement -::Ifc4x3_add1::IfcNamedUnit* Ifc4x3_add1::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcNamedUnit>(true); } +::Ifc4x3_add1::IfcNamedUnit* Ifc4x3_add1::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcNamedUnit>(true); } void Ifc4x3_add1::IfcDerivedUnitElement::setUnit(::Ifc4x3_add1::IfcNamedUnit* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -int Ifc4x3_add1::IfcDerivedUnitElement::Exponent() const { int v = data_.get_attribute_value(1); return v; } +int Ifc4x3_add1::IfcDerivedUnitElement::Exponent() const { int v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcDerivedUnitElement::setExponent(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcDerivedUnitElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[300]); } const IfcParse::entity& Ifc4x3_add1::IfcDerivedUnitElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[300]); } Ifc4x3_add1::IfcDerivedUnitElement::IfcDerivedUnitElement(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcDerivedUnitElement::IfcDerivedUnitElement(::Ifc4x3_add1::IfcNamedUnit* v1_Unit, int v2_Exponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Unit ? v1_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Exponent));; populate_derived(); } +Ifc4x3_add1::IfcDerivedUnitElement::IfcDerivedUnitElement(::Ifc4x3_add1::IfcNamedUnit* v1_Unit, int v2_Exponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Unit ? v1_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Exponent));; populate_derived(); } // Function implementations for IfcDimensionalExponents -int Ifc4x3_add1::IfcDimensionalExponents::LengthExponent() const { int v = data_.get_attribute_value(0); return v; } +int Ifc4x3_add1::IfcDimensionalExponents::LengthExponent() const { int v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcDimensionalExponents::setLengthExponent(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -int Ifc4x3_add1::IfcDimensionalExponents::MassExponent() const { int v = data_.get_attribute_value(1); return v; } +int Ifc4x3_add1::IfcDimensionalExponents::MassExponent() const { int v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcDimensionalExponents::setMassExponent(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -int Ifc4x3_add1::IfcDimensionalExponents::TimeExponent() const { int v = data_.get_attribute_value(2); return v; } +int Ifc4x3_add1::IfcDimensionalExponents::TimeExponent() const { int v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcDimensionalExponents::setTimeExponent(int v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -int Ifc4x3_add1::IfcDimensionalExponents::ElectricCurrentExponent() const { int v = data_.get_attribute_value(3); return v; } +int Ifc4x3_add1::IfcDimensionalExponents::ElectricCurrentExponent() const { int v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcDimensionalExponents::setElectricCurrentExponent(int v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -int Ifc4x3_add1::IfcDimensionalExponents::ThermodynamicTemperatureExponent() const { int v = data_.get_attribute_value(4); return v; } +int Ifc4x3_add1::IfcDimensionalExponents::ThermodynamicTemperatureExponent() const { int v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcDimensionalExponents::setThermodynamicTemperatureExponent(int v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -int Ifc4x3_add1::IfcDimensionalExponents::AmountOfSubstanceExponent() const { int v = data_.get_attribute_value(5); return v; } +int Ifc4x3_add1::IfcDimensionalExponents::AmountOfSubstanceExponent() const { int v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcDimensionalExponents::setAmountOfSubstanceExponent(int v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -int Ifc4x3_add1::IfcDimensionalExponents::LuminousIntensityExponent() const { int v = data_.get_attribute_value(6); return v; } +int Ifc4x3_add1::IfcDimensionalExponents::LuminousIntensityExponent() const { int v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcDimensionalExponents::setLuminousIntensityExponent(int v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add1::IfcDimensionalExponents::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[303]); } const IfcParse::entity& Ifc4x3_add1::IfcDimensionalExponents::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[303]); } Ifc4x3_add1::IfcDimensionalExponents::IfcDimensionalExponents(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::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(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; populate_derived(); } +Ifc4x3_add1::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(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; populate_derived(); } // Function implementations for IfcDirection -std::vector< double > /*[2:3]*/ Ifc4x3_add1::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[2:3]*/ Ifc4x3_add1::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcDirection::setDirectionRatios(std::vector< double > /*[2:3]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add1::IfcDirection::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[305]); } const IfcParse::entity& Ifc4x3_add1::IfcDirection::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[305]); } Ifc4x3_add1::IfcDirection::IfcDirection(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionRatios) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_DirectionRatios));; populate_derived(); } +Ifc4x3_add1::IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionRatios) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_DirectionRatios));; populate_derived(); } // Function implementations for IfcDirectrixCurveSweptAreaSolid -::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcCurve>(true); } +::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcCurve>(true); } void Ifc4x3_add1::IfcDirectrixCurveSweptAreaSolid::setDirectrix(::Ifc4x3_add1::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add1::IfcCurveMeasureSelect* Ifc4x3_add1::IfcDirectrixCurveSweptAreaSolid::StartParam() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcCurveMeasureSelect>(true); } +::Ifc4x3_add1::IfcCurveMeasureSelect* Ifc4x3_add1::IfcDirectrixCurveSweptAreaSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcCurveMeasureSelect>(true); } void Ifc4x3_add1::IfcDirectrixCurveSweptAreaSolid::setStartParam(::Ifc4x3_add1::IfcCurveMeasureSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add1::IfcCurveMeasureSelect* Ifc4x3_add1::IfcDirectrixCurveSweptAreaSolid::EndParam() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcCurveMeasureSelect>(true); } +::Ifc4x3_add1::IfcCurveMeasureSelect* Ifc4x3_add1::IfcDirectrixCurveSweptAreaSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcCurveMeasureSelect>(true); } void Ifc4x3_add1::IfcDirectrixCurveSweptAreaSolid::setEndParam(::Ifc4x3_add1::IfcCurveMeasureSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add1::IfcDirectrixCurveSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[307]); } const IfcParse::entity& Ifc4x3_add1::IfcDirectrixCurveSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[307]); } Ifc4x3_add1::IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4x3_add1::IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid(::Ifc4x3_add1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add1::IfcCurve* v3_Directrix, ::Ifc4x3_add1::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_add1::IfcCurveMeasureSelect* v5_EndParam) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid(::Ifc4x3_add1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add1::IfcCurve* v3_Directrix, ::Ifc4x3_add1::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_add1::IfcCurveMeasureSelect* v5_EndParam) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDirectrixDerivedReferenceSweptAreaSolid @@ -10034,67 +10034,67 @@ Ifc4x3_add1::IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid(:: const IfcParse::entity& Ifc4x3_add1::IfcDirectrixDerivedReferenceSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[308]); } const IfcParse::entity& Ifc4x3_add1::IfcDirectrixDerivedReferenceSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[308]); } Ifc4x3_add1::IfcDirectrixDerivedReferenceSweptAreaSolid::IfcDirectrixDerivedReferenceSweptAreaSolid(IfcEntityInstanceData&& e) : IfcFixedReferenceSweptAreaSolid(std::move(e)) { } -Ifc4x3_add1::IfcDirectrixDerivedReferenceSweptAreaSolid::IfcDirectrixDerivedReferenceSweptAreaSolid(::Ifc4x3_add1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add1::IfcCurve* v3_Directrix, ::Ifc4x3_add1::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_add1::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3_add1::IfcDirection* v6_FixedReference) : IfcFixedReferenceSweptAreaSolid(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_FixedReference ? v6_FixedReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcDirectrixDerivedReferenceSweptAreaSolid::IfcDirectrixDerivedReferenceSweptAreaSolid(::Ifc4x3_add1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add1::IfcCurve* v3_Directrix, ::Ifc4x3_add1::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_add1::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3_add1::IfcDirection* v6_FixedReference) : IfcFixedReferenceSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_FixedReference ? v6_FixedReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDiscreteAccessory -boost::optional< ::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x3_add1::IfcDiscreteAccessory::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x3_add1::IfcDiscreteAccessory::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcDiscreteAccessory::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcDiscreteAccessory::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[309]); } const IfcParse::entity& Ifc4x3_add1::IfcDiscreteAccessory::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[309]); } Ifc4x3_add1::IfcDiscreteAccessory::IfcDiscreteAccessory(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_add1::IfcDiscreteAccessory::IfcDiscreteAccessory(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcDiscreteAccessory::IfcDiscreteAccessory(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDiscreteAccessoryType -::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3_add1::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3_add1::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcDiscreteAccessoryType::setPredefinedType(::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcDiscreteAccessoryType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[310]); } const IfcParse::entity& Ifc4x3_add1::IfcDiscreteAccessoryType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[310]); } Ifc4x3_add1::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_add1::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDistributionBoard -boost::optional< ::Ifc4x3_add1::IfcDistributionBoardTypeEnum::Value > Ifc4x3_add1::IfcDistributionBoard::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcDistributionBoardTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcDistributionBoardTypeEnum::Value > Ifc4x3_add1::IfcDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcDistributionBoardTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcDistributionBoardTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcDistributionBoard::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[312]); } const IfcParse::entity& Ifc4x3_add1::IfcDistributionBoard::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[312]); } Ifc4x3_add1::IfcDistributionBoard::IfcDistributionBoard(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_add1::IfcDistributionBoard::IfcDistributionBoard(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcDistributionBoard::IfcDistributionBoard(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDistributionBoardType -::Ifc4x3_add1::IfcDistributionBoardTypeEnum::Value Ifc4x3_add1::IfcDistributionBoardType::PredefinedType() const { return ::Ifc4x3_add1::IfcDistributionBoardTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcDistributionBoardTypeEnum::Value Ifc4x3_add1::IfcDistributionBoardType::PredefinedType() const { return ::Ifc4x3_add1::IfcDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcDistributionBoardType::setPredefinedType(::Ifc4x3_add1::IfcDistributionBoardTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcDistributionBoardTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcDistributionBoardType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[313]); } const IfcParse::entity& Ifc4x3_add1::IfcDistributionBoardType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[313]); } Ifc4x3_add1::IfcDistributionBoardType::IfcDistributionBoardType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_add1::IfcDistributionBoardType::IfcDistributionBoardType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcDistributionBoardType::IfcDistributionBoardType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDistributionChamberElement -boost::optional< ::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Value > Ifc4x3_add1::IfcDistributionChamberElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Value > Ifc4x3_add1::IfcDistributionChamberElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcDistributionChamberElement::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcDistributionChamberElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[315]); } const IfcParse::entity& Ifc4x3_add1::IfcDistributionChamberElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[315]); } Ifc4x3_add1::IfcDistributionChamberElement::IfcDistributionChamberElement(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_add1::IfcDistributionChamberElement::IfcDistributionChamberElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcDistributionChamberElement::IfcDistributionChamberElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDistributionChamberElementType -::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Value Ifc4x3_add1::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Value Ifc4x3_add1::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcDistributionChamberElementType::setPredefinedType(::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcDistributionChamberElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[316]); } const IfcParse::entity& Ifc4x3_add1::IfcDistributionChamberElementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[316]); } Ifc4x3_add1::IfcDistributionChamberElementType::IfcDistributionChamberElementType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_add1::IfcDistributionChamberElementType::IfcDistributionChamberElementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcDistributionChamberElementType::IfcDistributionChamberElementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDistributionCircuit @@ -10102,7 +10102,7 @@ Ifc4x3_add1::IfcDistributionChamberElementType::IfcDistributionChamberElementTyp const IfcParse::entity& Ifc4x3_add1::IfcDistributionCircuit::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[318]); } const IfcParse::entity& Ifc4x3_add1::IfcDistributionCircuit::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[318]); } Ifc4x3_add1::IfcDistributionCircuit::IfcDistributionCircuit(IfcEntityInstanceData&& e) : IfcDistributionSystem(std::move(e)) { } -Ifc4x3_add1::IfcDistributionCircuit::IfcDistributionCircuit(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcDistributionSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add1::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcDistributionCircuit::IfcDistributionCircuit(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcDistributionSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add1::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDistributionControlElement @@ -10111,7 +10111,7 @@ Ifc4x3_add1::IfcDistributionCircuit::IfcDistributionCircuit(std::string v1_Globa const IfcParse::entity& Ifc4x3_add1::IfcDistributionControlElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[319]); } const IfcParse::entity& Ifc4x3_add1::IfcDistributionControlElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[319]); } Ifc4x3_add1::IfcDistributionControlElement::IfcDistributionControlElement(IfcEntityInstanceData&& e) : IfcDistributionElement(std::move(e)) { } -Ifc4x3_add1::IfcDistributionControlElement::IfcDistributionControlElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add1::IfcDistributionControlElement::IfcDistributionControlElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionControlElementType @@ -10119,7 +10119,7 @@ Ifc4x3_add1::IfcDistributionControlElement::IfcDistributionControlElement(std::s const IfcParse::entity& Ifc4x3_add1::IfcDistributionControlElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[320]); } const IfcParse::entity& Ifc4x3_add1::IfcDistributionControlElementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[320]); } Ifc4x3_add1::IfcDistributionControlElementType::IfcDistributionControlElementType(IfcEntityInstanceData&& e) : IfcDistributionElementType(std::move(e)) { } -Ifc4x3_add1::IfcDistributionControlElementType::IfcDistributionControlElementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add1::IfcDistributionControlElementType::IfcDistributionControlElementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionElement @@ -10128,7 +10128,7 @@ Ifc4x3_add1::IfcDistributionControlElementType::IfcDistributionControlElementTyp const IfcParse::entity& Ifc4x3_add1::IfcDistributionElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[321]); } const IfcParse::entity& Ifc4x3_add1::IfcDistributionElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[321]); } Ifc4x3_add1::IfcDistributionElement::IfcDistributionElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_add1::IfcDistributionElement::IfcDistributionElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add1::IfcDistributionElement::IfcDistributionElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionElementType @@ -10136,7 +10136,7 @@ Ifc4x3_add1::IfcDistributionElement::IfcDistributionElement(std::string v1_Globa const IfcParse::entity& Ifc4x3_add1::IfcDistributionElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[322]); } const IfcParse::entity& Ifc4x3_add1::IfcDistributionElementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[322]); } Ifc4x3_add1::IfcDistributionElementType::IfcDistributionElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_add1::IfcDistributionElementType::IfcDistributionElementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add1::IfcDistributionElementType::IfcDistributionElementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionFlowElement @@ -10145,7 +10145,7 @@ Ifc4x3_add1::IfcDistributionElementType::IfcDistributionElementType(std::string const IfcParse::entity& Ifc4x3_add1::IfcDistributionFlowElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[323]); } const IfcParse::entity& Ifc4x3_add1::IfcDistributionFlowElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[323]); } Ifc4x3_add1::IfcDistributionFlowElement::IfcDistributionFlowElement(IfcEntityInstanceData&& e) : IfcDistributionElement(std::move(e)) { } -Ifc4x3_add1::IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add1::IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionFlowElementType @@ -10153,68 +10153,68 @@ Ifc4x3_add1::IfcDistributionFlowElement::IfcDistributionFlowElement(std::string const IfcParse::entity& Ifc4x3_add1::IfcDistributionFlowElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[324]); } const IfcParse::entity& Ifc4x3_add1::IfcDistributionFlowElementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[324]); } Ifc4x3_add1::IfcDistributionFlowElementType::IfcDistributionFlowElementType(IfcEntityInstanceData&& e) : IfcDistributionElementType(std::move(e)) { } -Ifc4x3_add1::IfcDistributionFlowElementType::IfcDistributionFlowElementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add1::IfcDistributionFlowElementType::IfcDistributionFlowElementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionPort -boost::optional< ::Ifc4x3_add1::IfcFlowDirectionEnum::Value > Ifc4x3_add1::IfcDistributionPort::FlowDirection() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcFlowDirectionEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_add1::IfcFlowDirectionEnum::Value > Ifc4x3_add1::IfcDistributionPort::FlowDirection() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcFlowDirectionEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add1::IfcDistributionPort::setFlowDirection(boost::optional< ::Ifc4x3_add1::IfcFlowDirectionEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_add1::IfcFlowDirectionEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3_add1::IfcDistributionPortTypeEnum::Value > Ifc4x3_add1::IfcDistributionPort::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcDistributionPortTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcDistributionPortTypeEnum::Value > Ifc4x3_add1::IfcDistributionPort::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcDistributionPortTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcDistributionPort::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcDistributionPortTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcDistributionPortTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< ::Ifc4x3_add1::IfcDistributionSystemEnum::Value > Ifc4x3_add1::IfcDistributionPort::SystemType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcDistributionSystemEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_add1::IfcDistributionSystemEnum::Value > Ifc4x3_add1::IfcDistributionPort::SystemType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcDistributionSystemEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcDistributionPort::setSystemType(boost::optional< ::Ifc4x3_add1::IfcDistributionSystemEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcDistributionSystemEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_add1::IfcDistributionPort::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[325]); } const IfcParse::entity& Ifc4x3_add1::IfcDistributionPort::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[325]); } Ifc4x3_add1::IfcDistributionPort::IfcDistributionPort(IfcEntityInstanceData&& e) : IfcPort(std::move(e)) { } -Ifc4x3_add1::IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_add1::IfcFlowDirectionEnum::Value > v8_FlowDirection, boost::optional< ::Ifc4x3_add1::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x3_add1::IfcDistributionSystemEnum::Value > v10_SystemType) : IfcPort(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_FlowDirection) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); }; populate_derived(); } +Ifc4x3_add1::IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_add1::IfcFlowDirectionEnum::Value > v8_FlowDirection, boost::optional< ::Ifc4x3_add1::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x3_add1::IfcDistributionSystemEnum::Value > v10_SystemType) : IfcPort(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_FlowDirection) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); }; populate_derived(); } // Function implementations for IfcDistributionSystem -boost::optional< std::string > Ifc4x3_add1::IfcDistributionSystem::LongName() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcDistributionSystem::LongName() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcDistributionSystem::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< ::Ifc4x3_add1::IfcDistributionSystemEnum::Value > Ifc4x3_add1::IfcDistributionSystem::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcDistributionSystemEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_add1::IfcDistributionSystemEnum::Value > Ifc4x3_add1::IfcDistributionSystem::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcDistributionSystemEnum::FromString(get_attribute_value(6)); } void Ifc4x3_add1::IfcDistributionSystem::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcDistributionSystemEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_add1::IfcDistributionSystemEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_add1::IfcDistributionSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[327]); } const IfcParse::entity& Ifc4x3_add1::IfcDistributionSystem::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[327]); } Ifc4x3_add1::IfcDistributionSystem::IfcDistributionSystem(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3_add1::IfcDistributionSystem::IfcDistributionSystem(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add1::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcDistributionSystem::IfcDistributionSystem(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add1::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDocumentInformation -std::string Ifc4x3_add1::IfcDocumentInformation::Identification() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_add1::IfcDocumentInformation::Identification() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcDocumentInformation::setIdentification(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x3_add1::IfcDocumentInformation::Name() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_add1::IfcDocumentInformation::Name() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcDocumentInformation::setName(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_add1::IfcDocumentInformation::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcDocumentInformation::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcDocumentInformation::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_add1::IfcDocumentInformation::Location() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcDocumentInformation::Location() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcDocumentInformation::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_add1::IfcDocumentInformation::Purpose() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcDocumentInformation::Purpose() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcDocumentInformation::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add1::IfcDocumentInformation::IntendedUse() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcDocumentInformation::IntendedUse() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcDocumentInformation::setIntendedUse(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_add1::IfcDocumentInformation::Scope() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcDocumentInformation::Scope() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcDocumentInformation::setScope(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_add1::IfcDocumentInformation::Revision() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcDocumentInformation::Revision() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_add1::IfcActorSelect* Ifc4x3_add1::IfcDocumentInformation::DocumentOwner() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_add1::IfcActorSelect>(true); } +::Ifc4x3_add1::IfcActorSelect* Ifc4x3_add1::IfcDocumentInformation::DocumentOwner() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_add1::IfcActorSelect>(true); } void Ifc4x3_add1::IfcDocumentInformation::setDocumentOwner(::Ifc4x3_add1::IfcActorSelect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcActorSelect >::ptr > Ifc4x3_add1::IfcDocumentInformation::Editors() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3_add1::IfcActorSelect >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcActorSelect >::ptr > Ifc4x3_add1::IfcDocumentInformation::Editors() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3_add1::IfcActorSelect >(); } void Ifc4x3_add1::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcActorSelect >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x3_add1::IfcDocumentInformation::CreationTime() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcDocumentInformation::CreationTime() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_add1::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< std::string > Ifc4x3_add1::IfcDocumentInformation::LastRevisionTime() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcDocumentInformation::LastRevisionTime() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x3_add1::IfcDocumentInformation::setLastRevisionTime(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_add1::IfcDocumentInformation::ElectronicFormat() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcDocumentInformation::ElectronicFormat() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_add1::IfcDocumentInformation::setElectronicFormat(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< std::string > Ifc4x3_add1::IfcDocumentInformation::ValidFrom() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(13); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcDocumentInformation::ValidFrom() const { if(get_attribute_value(13).isNull()) { return boost::none; } std::string v = get_attribute_value(13); return v; } void Ifc4x3_add1::IfcDocumentInformation::setValidFrom(boost::optional< std::string > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x3_add1::IfcDocumentInformation::ValidUntil() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcDocumentInformation::ValidUntil() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x3_add1::IfcDocumentInformation::setValidUntil(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< ::Ifc4x3_add1::IfcDocumentConfidentialityEnum::Value > Ifc4x3_add1::IfcDocumentInformation::Confidentiality() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcDocumentConfidentialityEnum::FromString(data_.get_attribute_value(15)); } +boost::optional< ::Ifc4x3_add1::IfcDocumentConfidentialityEnum::Value > Ifc4x3_add1::IfcDocumentInformation::Confidentiality() const { if(get_attribute_value(15).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcDocumentConfidentialityEnum::FromString(get_attribute_value(15)); } void Ifc4x3_add1::IfcDocumentInformation::setConfidentiality(boost::optional< ::Ifc4x3_add1::IfcDocumentConfidentialityEnum::Value > v) { if (v) {set_attribute_value(15, EnumerationReference(&::Ifc4x3_add1::IfcDocumentConfidentialityEnum::Class(), (size_t) *v));} else {unset_attribute_value(15);} } -boost::optional< ::Ifc4x3_add1::IfcDocumentStatusEnum::Value > Ifc4x3_add1::IfcDocumentInformation::Status() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcDocumentStatusEnum::FromString(data_.get_attribute_value(16)); } +boost::optional< ::Ifc4x3_add1::IfcDocumentStatusEnum::Value > Ifc4x3_add1::IfcDocumentInformation::Status() const { if(get_attribute_value(16).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcDocumentStatusEnum::FromString(get_attribute_value(16)); } void Ifc4x3_add1::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3_add1::IfcDocumentStatusEnum::Value > v) { if (v) {set_attribute_value(16, EnumerationReference(&::Ifc4x3_add1::IfcDocumentStatusEnum::Class(), (size_t) *v));} else {unset_attribute_value(16);} } ::Ifc4x3_add1::IfcRelAssociatesDocument::list::ptr Ifc4x3_add1::IfcDocumentInformation::DocumentInfoForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[912], 5)->as(); } @@ -10225,26 +10225,26 @@ void Ifc4x3_add1::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3_ad const IfcParse::entity& Ifc4x3_add1::IfcDocumentInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[330]); } const IfcParse::entity& Ifc4x3_add1::IfcDocumentInformation::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[330]); } Ifc4x3_add1::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData&& e) : IfcExternalInformation(std::move(e)) { } -Ifc4x3_add1::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_add1::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcActorSelect >::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< ::Ifc4x3_add1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_add1::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation(IfcEntityInstanceData(storage_t(17))) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, v9_DocumentOwner ? v9_DocumentOwner->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v10_Editors) {set_attribute_value(9, (*v10_Editors)->generalize()); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (EnumerationReference(&::Ifc4x3_add1::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (EnumerationReference(&::Ifc4x3_add1::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; populate_derived(); } +Ifc4x3_add1::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_add1::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcActorSelect >::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< ::Ifc4x3_add1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_add1::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation(IfcEntityInstanceData(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, v9_DocumentOwner ? v9_DocumentOwner->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v10_Editors) {set_attribute_value(9, (*v10_Editors)->generalize()); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (EnumerationReference(&::Ifc4x3_add1::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (EnumerationReference(&::Ifc4x3_add1::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; populate_derived(); } // Function implementations for IfcDocumentInformationRelationship -::Ifc4x3_add1::IfcDocumentInformation* Ifc4x3_add1::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcDocumentInformation>(true); } +::Ifc4x3_add1::IfcDocumentInformation* Ifc4x3_add1::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcDocumentInformation>(true); } void Ifc4x3_add1::IfcDocumentInformationRelationship::setRelatingDocument(::Ifc4x3_add1::IfcDocumentInformation* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_add1::IfcDocumentInformation >::ptr Ifc4x3_add1::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_add1::IfcDocumentInformation >(); } +aggregate_of< ::Ifc4x3_add1::IfcDocumentInformation >::ptr Ifc4x3_add1::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_add1::IfcDocumentInformation >(); } void Ifc4x3_add1::IfcDocumentInformationRelationship::setRelatedDocuments(aggregate_of< ::Ifc4x3_add1::IfcDocumentInformation >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_add1::IfcDocumentInformationRelationship::RelationshipType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcDocumentInformationRelationship::RelationshipType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcDocumentInformationRelationship::setRelationshipType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add1::IfcDocumentInformationRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[331]); } const IfcParse::entity& Ifc4x3_add1::IfcDocumentInformationRelationship::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[331]); } Ifc4x3_add1::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_add1::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcDocumentInformation* v3_RelatingDocument, aggregate_of< ::Ifc4x3_add1::IfcDocumentInformation >::ptr v4_RelatedDocuments, boost::optional< std::string > v5_RelationshipType) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingDocument ? v3_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedDocuments)->generalize()); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); }; populate_derived(); } +Ifc4x3_add1::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcDocumentInformation* v3_RelatingDocument, aggregate_of< ::Ifc4x3_add1::IfcDocumentInformation >::ptr v4_RelatedDocuments, boost::optional< std::string > v5_RelationshipType) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingDocument ? v3_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedDocuments)->generalize()); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); }; populate_derived(); } // Function implementations for IfcDocumentReference -boost::optional< std::string > Ifc4x3_add1::IfcDocumentReference::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcDocumentReference::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcDocumentReference::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_add1::IfcDocumentInformation* Ifc4x3_add1::IfcDocumentReference::ReferencedDocument() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcDocumentInformation>(true); } +::Ifc4x3_add1::IfcDocumentInformation* Ifc4x3_add1::IfcDocumentReference::ReferencedDocument() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcDocumentInformation>(true); } void Ifc4x3_add1::IfcDocumentReference::setReferencedDocument(::Ifc4x3_add1::IfcDocumentInformation* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } ::Ifc4x3_add1::IfcRelAssociatesDocument::list::ptr Ifc4x3_add1::IfcDocumentReference::DocumentRefForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[912], 5)->as(); } @@ -10252,93 +10252,93 @@ void Ifc4x3_add1::IfcDocumentReference::setReferencedDocument(::Ifc4x3_add1::Ifc const IfcParse::entity& Ifc4x3_add1::IfcDocumentReference::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[332]); } const IfcParse::entity& Ifc4x3_add1::IfcDocumentReference::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[332]); } Ifc4x3_add1::IfcDocumentReference::IfcDocumentReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_add1::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_add1::IfcDocumentInformation* v5_ReferencedDocument) : IfcExternalReference(IfcEntityInstanceData(storage_t(5))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ReferencedDocument ? v5_ReferencedDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::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_add1::IfcDocumentInformation* v5_ReferencedDocument) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ReferencedDocument ? v5_ReferencedDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDoor -boost::optional< double > Ifc4x3_add1::IfcDoor::OverallHeight() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_add1::IfcDoor::OverallHeight() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcDoor::setOverallHeight(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_add1::IfcDoor::OverallWidth() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_add1::IfcDoor::OverallWidth() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_add1::IfcDoor::setOverallWidth(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x3_add1::IfcDoorTypeEnum::Value > Ifc4x3_add1::IfcDoor::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcDoorTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add1::IfcDoorTypeEnum::Value > Ifc4x3_add1::IfcDoor::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcDoorTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add1::IfcDoor::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcDoorTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add1::IfcDoorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -boost::optional< ::Ifc4x3_add1::IfcDoorTypeOperationEnum::Value > Ifc4x3_add1::IfcDoor::OperationType() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcDoorTypeOperationEnum::FromString(data_.get_attribute_value(11)); } +boost::optional< ::Ifc4x3_add1::IfcDoorTypeOperationEnum::Value > Ifc4x3_add1::IfcDoor::OperationType() const { if(get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcDoorTypeOperationEnum::FromString(get_attribute_value(11)); } void Ifc4x3_add1::IfcDoor::setOperationType(boost::optional< ::Ifc4x3_add1::IfcDoorTypeOperationEnum::Value > v) { if (v) {set_attribute_value(11, EnumerationReference(&::Ifc4x3_add1::IfcDoorTypeOperationEnum::Class(), (size_t) *v));} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_add1::IfcDoor::UserDefinedOperationType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcDoor::UserDefinedOperationType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_add1::IfcDoor::setUserDefinedOperationType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_add1::IfcDoor::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[335]); } const IfcParse::entity& Ifc4x3_add1::IfcDoor::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[335]); } Ifc4x3_add1::IfcDoor::IfcDoor(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add1::IfcDoor::IfcDoor(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_add1::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_add1::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add1::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } +Ifc4x3_add1::IfcDoor::IfcDoor(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_add1::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_add1::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add1::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } // Function implementations for IfcDoorLiningProperties -boost::optional< double > Ifc4x3_add1::IfcDoorLiningProperties::LiningDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_add1::IfcDoorLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcDoorLiningProperties::setLiningDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_add1::IfcDoorLiningProperties::LiningThickness() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_add1::IfcDoorLiningProperties::LiningThickness() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcDoorLiningProperties::setLiningThickness(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_add1::IfcDoorLiningProperties::ThresholdDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_add1::IfcDoorLiningProperties::ThresholdDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcDoorLiningProperties::setThresholdDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_add1::IfcDoorLiningProperties::ThresholdThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add1::IfcDoorLiningProperties::ThresholdThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcDoorLiningProperties::setThresholdThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_add1::IfcDoorLiningProperties::TransomThickness() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_add1::IfcDoorLiningProperties::TransomThickness() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcDoorLiningProperties::setTransomThickness(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_add1::IfcDoorLiningProperties::TransomOffset() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_add1::IfcDoorLiningProperties::TransomOffset() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_add1::IfcDoorLiningProperties::setTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_add1::IfcDoorLiningProperties::LiningOffset() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_add1::IfcDoorLiningProperties::LiningOffset() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_add1::IfcDoorLiningProperties::setLiningOffset(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_add1::IfcDoorLiningProperties::ThresholdOffset() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_add1::IfcDoorLiningProperties::ThresholdOffset() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_add1::IfcDoorLiningProperties::setThresholdOffset(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_add1::IfcDoorLiningProperties::CasingThickness() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_add1::IfcDoorLiningProperties::CasingThickness() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_add1::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3_add1::IfcDoorLiningProperties::CasingDepth() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_add1::IfcDoorLiningProperties::CasingDepth() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_add1::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -::Ifc4x3_add1::IfcShapeAspect* Ifc4x3_add1::IfcDoorLiningProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(14).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(14)))->as<::Ifc4x3_add1::IfcShapeAspect>(true); } +::Ifc4x3_add1::IfcShapeAspect* Ifc4x3_add1::IfcDoorLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(14).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(14)))->as<::Ifc4x3_add1::IfcShapeAspect>(true); } void Ifc4x3_add1::IfcDoorLiningProperties::setShapeAspectStyle(::Ifc4x3_add1::IfcShapeAspect* v) { set_attribute_value(14, v->as());if constexpr (false)unset_attribute_value(14); } -boost::optional< double > Ifc4x3_add1::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3_add1::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3_add1::IfcDoorLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3_add1::IfcDoorLiningProperties::LiningToPanelOffsetY() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3_add1::IfcDoorLiningProperties::LiningToPanelOffsetY() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3_add1::IfcDoorLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } const IfcParse::entity& Ifc4x3_add1::IfcDoorLiningProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[336]); } const IfcParse::entity& Ifc4x3_add1::IfcDoorLiningProperties::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[336]); } Ifc4x3_add1::IfcDoorLiningProperties::IfcDoorLiningProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_add1::IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcShapeAspect* v15_ShapeAspectStyle, boost::optional< double > v16_LiningToPanelOffsetX, boost::optional< double > v17_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, v15_ShapeAspectStyle ? v15_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); }; populate_derived(); } +Ifc4x3_add1::IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcShapeAspect* v15_ShapeAspectStyle, boost::optional< double > v16_LiningToPanelOffsetX, boost::optional< double > v17_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, v15_ShapeAspectStyle ? v15_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); }; populate_derived(); } // Function implementations for IfcDoorPanelProperties -boost::optional< double > Ifc4x3_add1::IfcDoorPanelProperties::PanelDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_add1::IfcDoorPanelProperties::PanelDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcDoorPanelProperties::setPanelDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_add1::IfcDoorPanelOperationEnum::Value Ifc4x3_add1::IfcDoorPanelProperties::PanelOperation() const { return ::Ifc4x3_add1::IfcDoorPanelOperationEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_add1::IfcDoorPanelOperationEnum::Value Ifc4x3_add1::IfcDoorPanelProperties::PanelOperation() const { return ::Ifc4x3_add1::IfcDoorPanelOperationEnum::FromString(get_attribute_value(5)); } void Ifc4x3_add1::IfcDoorPanelProperties::setPanelOperation(::Ifc4x3_add1::IfcDoorPanelOperationEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_add1::IfcDoorPanelOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_add1::IfcDoorPanelProperties::PanelWidth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_add1::IfcDoorPanelProperties::PanelWidth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_add1::IfcDoorPanelPositionEnum::Value Ifc4x3_add1::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x3_add1::IfcDoorPanelPositionEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_add1::IfcDoorPanelPositionEnum::Value Ifc4x3_add1::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x3_add1::IfcDoorPanelPositionEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add1::IfcDoorPanelProperties::setPanelPosition(::Ifc4x3_add1::IfcDoorPanelPositionEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_add1::IfcDoorPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_add1::IfcShapeAspect* Ifc4x3_add1::IfcDoorPanelProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_add1::IfcShapeAspect>(true); } +::Ifc4x3_add1::IfcShapeAspect* Ifc4x3_add1::IfcDoorPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_add1::IfcShapeAspect>(true); } void Ifc4x3_add1::IfcDoorPanelProperties::setShapeAspectStyle(::Ifc4x3_add1::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_add1::IfcDoorPanelProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[339]); } const IfcParse::entity& Ifc4x3_add1::IfcDoorPanelProperties::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[339]); } Ifc4x3_add1::IfcDoorPanelProperties::IfcDoorPanelProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_add1::IfcDoorPanelProperties::IfcDoorPanelProperties(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_PanelDepth, ::Ifc4x3_add1::IfcDoorPanelOperationEnum::Value v6_PanelOperation, boost::optional< double > v7_PanelWidth, ::Ifc4x3_add1::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_add1::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add1::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcDoorPanelProperties::IfcDoorPanelProperties(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_PanelDepth, ::Ifc4x3_add1::IfcDoorPanelOperationEnum::Value v6_PanelOperation, boost::optional< double > v7_PanelWidth, ::Ifc4x3_add1::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_add1::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add1::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDoorType -::Ifc4x3_add1::IfcDoorTypeEnum::Value Ifc4x3_add1::IfcDoorType::PredefinedType() const { return ::Ifc4x3_add1::IfcDoorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcDoorTypeEnum::Value Ifc4x3_add1::IfcDoorType::PredefinedType() const { return ::Ifc4x3_add1::IfcDoorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcDoorType::setPredefinedType(::Ifc4x3_add1::IfcDoorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcDoorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_add1::IfcDoorTypeOperationEnum::Value Ifc4x3_add1::IfcDoorType::OperationType() const { return ::Ifc4x3_add1::IfcDoorTypeOperationEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3_add1::IfcDoorTypeOperationEnum::Value Ifc4x3_add1::IfcDoorType::OperationType() const { return ::Ifc4x3_add1::IfcDoorTypeOperationEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add1::IfcDoorType::setOperationType(::Ifc4x3_add1::IfcDoorTypeOperationEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3_add1::IfcDoorTypeOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } -boost::optional< bool > Ifc4x3_add1::IfcDoorType::ParameterTakesPrecedence() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } bool v = data_.get_attribute_value(11); return v; } +boost::optional< bool > Ifc4x3_add1::IfcDoorType::ParameterTakesPrecedence() const { if(get_attribute_value(11).isNull()) { return boost::none; } bool v = get_attribute_value(11); return v; } void Ifc4x3_add1::IfcDoorType::setParameterTakesPrecedence(boost::optional< bool > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_add1::IfcDoorType::UserDefinedOperationType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcDoorType::UserDefinedOperationType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_add1::IfcDoorType::setUserDefinedOperationType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_add1::IfcDoorType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[340]); } const IfcParse::entity& Ifc4x3_add1::IfcDoorType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[340]); } Ifc4x3_add1::IfcDoorType::IfcDoorType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add1::IfcDoorType::IfcDoorType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add1::IfcDoorTypeOperationEnum::Value v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } +Ifc4x3_add1::IfcDoorType::IfcDoorType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add1::IfcDoorTypeOperationEnum::Value v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } // Function implementations for IfcDraughtingPreDefinedColour @@ -10346,7 +10346,7 @@ Ifc4x3_add1::IfcDoorType::IfcDoorType(std::string v1_GlobalId, ::Ifc4x3_add1::If const IfcParse::entity& Ifc4x3_add1::IfcDraughtingPreDefinedColour::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[344]); } const IfcParse::entity& Ifc4x3_add1::IfcDraughtingPreDefinedColour::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[344]); } Ifc4x3_add1::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(IfcEntityInstanceData&& e) : IfcPreDefinedColour(std::move(e)) { } -Ifc4x3_add1::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::string v1_Name) : IfcPreDefinedColour(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_add1::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::string v1_Name) : IfcPreDefinedColour(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcDraughtingPreDefinedCurveFont @@ -10354,77 +10354,77 @@ Ifc4x3_add1::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::s const IfcParse::entity& Ifc4x3_add1::IfcDraughtingPreDefinedCurveFont::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[345]); } const IfcParse::entity& Ifc4x3_add1::IfcDraughtingPreDefinedCurveFont::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[345]); } Ifc4x3_add1::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(IfcEntityInstanceData&& e) : IfcPreDefinedCurveFont(std::move(e)) { } -Ifc4x3_add1::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedCurveFont(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_add1::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedCurveFont(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcDuctFitting -boost::optional< ::Ifc4x3_add1::IfcDuctFittingTypeEnum::Value > Ifc4x3_add1::IfcDuctFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcDuctFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcDuctFittingTypeEnum::Value > Ifc4x3_add1::IfcDuctFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcDuctFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcDuctFitting::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcDuctFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcDuctFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcDuctFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[346]); } const IfcParse::entity& Ifc4x3_add1::IfcDuctFitting::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[346]); } Ifc4x3_add1::IfcDuctFitting::IfcDuctFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x3_add1::IfcDuctFitting::IfcDuctFitting(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcDuctFitting::IfcDuctFitting(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDuctFittingType -::Ifc4x3_add1::IfcDuctFittingTypeEnum::Value Ifc4x3_add1::IfcDuctFittingType::PredefinedType() const { return ::Ifc4x3_add1::IfcDuctFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcDuctFittingTypeEnum::Value Ifc4x3_add1::IfcDuctFittingType::PredefinedType() const { return ::Ifc4x3_add1::IfcDuctFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcDuctFittingType::setPredefinedType(::Ifc4x3_add1::IfcDuctFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcDuctFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcDuctFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[347]); } const IfcParse::entity& Ifc4x3_add1::IfcDuctFittingType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[347]); } Ifc4x3_add1::IfcDuctFittingType::IfcDuctFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x3_add1::IfcDuctFittingType::IfcDuctFittingType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDuctFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcDuctFittingType::IfcDuctFittingType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDuctFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDuctSegment -boost::optional< ::Ifc4x3_add1::IfcDuctSegmentTypeEnum::Value > Ifc4x3_add1::IfcDuctSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcDuctSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcDuctSegmentTypeEnum::Value > Ifc4x3_add1::IfcDuctSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcDuctSegment::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcDuctSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcDuctSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcDuctSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[349]); } const IfcParse::entity& Ifc4x3_add1::IfcDuctSegment::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[349]); } Ifc4x3_add1::IfcDuctSegment::IfcDuctSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x3_add1::IfcDuctSegment::IfcDuctSegment(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcDuctSegment::IfcDuctSegment(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDuctSegmentType -::Ifc4x3_add1::IfcDuctSegmentTypeEnum::Value Ifc4x3_add1::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4x3_add1::IfcDuctSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcDuctSegmentTypeEnum::Value Ifc4x3_add1::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4x3_add1::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcDuctSegmentType::setPredefinedType(::Ifc4x3_add1::IfcDuctSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcDuctSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcDuctSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[350]); } const IfcParse::entity& Ifc4x3_add1::IfcDuctSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[350]); } Ifc4x3_add1::IfcDuctSegmentType::IfcDuctSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x3_add1::IfcDuctSegmentType::IfcDuctSegmentType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcDuctSegmentType::IfcDuctSegmentType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDuctSilencer -boost::optional< ::Ifc4x3_add1::IfcDuctSilencerTypeEnum::Value > Ifc4x3_add1::IfcDuctSilencer::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcDuctSilencerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcDuctSilencerTypeEnum::Value > Ifc4x3_add1::IfcDuctSilencer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcDuctSilencer::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcDuctSilencerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcDuctSilencerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcDuctSilencer::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[352]); } const IfcParse::entity& Ifc4x3_add1::IfcDuctSilencer::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[352]); } Ifc4x3_add1::IfcDuctSilencer::IfcDuctSilencer(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4x3_add1::IfcDuctSilencer::IfcDuctSilencer(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcDuctSilencer::IfcDuctSilencer(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDuctSilencerType -::Ifc4x3_add1::IfcDuctSilencerTypeEnum::Value Ifc4x3_add1::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4x3_add1::IfcDuctSilencerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcDuctSilencerTypeEnum::Value Ifc4x3_add1::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4x3_add1::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcDuctSilencerType::setPredefinedType(::Ifc4x3_add1::IfcDuctSilencerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcDuctSilencerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcDuctSilencerType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[353]); } const IfcParse::entity& Ifc4x3_add1::IfcDuctSilencerType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[353]); } Ifc4x3_add1::IfcDuctSilencerType::IfcDuctSilencerType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4x3_add1::IfcDuctSilencerType::IfcDuctSilencerType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcDuctSilencerType::IfcDuctSilencerType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEarthworksCut -boost::optional< ::Ifc4x3_add1::IfcEarthworksCutTypeEnum::Value > Ifc4x3_add1::IfcEarthworksCut::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcEarthworksCutTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcEarthworksCutTypeEnum::Value > Ifc4x3_add1::IfcEarthworksCut::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcEarthworksCutTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcEarthworksCut::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcEarthworksCutTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcEarthworksCutTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcEarthworksCut::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[357]); } const IfcParse::entity& Ifc4x3_add1::IfcEarthworksCut::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[357]); } Ifc4x3_add1::IfcEarthworksCut::IfcEarthworksCut(IfcEntityInstanceData&& e) : IfcFeatureElementSubtraction(std::move(e)) { } -Ifc4x3_add1::IfcEarthworksCut::IfcEarthworksCut(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcEarthworksCutTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcEarthworksCut::IfcEarthworksCut(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcEarthworksCutTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEarthworksElement @@ -10432,194 +10432,194 @@ Ifc4x3_add1::IfcEarthworksCut::IfcEarthworksCut(std::string v1_GlobalId, ::Ifc4x const IfcParse::entity& Ifc4x3_add1::IfcEarthworksElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[359]); } const IfcParse::entity& Ifc4x3_add1::IfcEarthworksElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[359]); } Ifc4x3_add1::IfcEarthworksElement::IfcEarthworksElement(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add1::IfcEarthworksElement::IfcEarthworksElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuiltElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add1::IfcEarthworksElement::IfcEarthworksElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcEarthworksFill -boost::optional< ::Ifc4x3_add1::IfcEarthworksFillTypeEnum::Value > Ifc4x3_add1::IfcEarthworksFill::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcEarthworksFillTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcEarthworksFillTypeEnum::Value > Ifc4x3_add1::IfcEarthworksFill::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcEarthworksFillTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcEarthworksFill::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcEarthworksFillTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcEarthworksFillTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcEarthworksFill::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[360]); } const IfcParse::entity& Ifc4x3_add1::IfcEarthworksFill::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[360]); } Ifc4x3_add1::IfcEarthworksFill::IfcEarthworksFill(IfcEntityInstanceData&& e) : IfcEarthworksElement(std::move(e)) { } -Ifc4x3_add1::IfcEarthworksFill::IfcEarthworksFill(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType) : IfcEarthworksElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcEarthworksFillTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcEarthworksFill::IfcEarthworksFill(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType) : IfcEarthworksElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcEarthworksFillTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEdge -::Ifc4x3_add1::IfcVertex* Ifc4x3_add1::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcVertex>(true); } +::Ifc4x3_add1::IfcVertex* Ifc4x3_add1::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcVertex>(true); } void Ifc4x3_add1::IfcEdge::setEdgeStart(::Ifc4x3_add1::IfcVertex* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add1::IfcVertex* Ifc4x3_add1::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcVertex>(true); } +::Ifc4x3_add1::IfcVertex* Ifc4x3_add1::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcVertex>(true); } void Ifc4x3_add1::IfcEdge::setEdgeEnd(::Ifc4x3_add1::IfcVertex* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcEdge::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[362]); } const IfcParse::entity& Ifc4x3_add1::IfcEdge::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[362]); } Ifc4x3_add1::IfcEdge::IfcEdge(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcEdge::IfcEdge(::Ifc4x3_add1::IfcVertex* v1_EdgeStart, ::Ifc4x3_add1::IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcEdge::IfcEdge(::Ifc4x3_add1::IfcVertex* v1_EdgeStart, ::Ifc4x3_add1::IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcEdgeCurve -::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcCurve>(true); } +::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcCurve>(true); } void Ifc4x3_add1::IfcEdgeCurve::setEdgeGeometry(::Ifc4x3_add1::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x3_add1::IfcEdgeCurve::SameSense() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x3_add1::IfcEdgeCurve::SameSense() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcEdgeCurve::setSameSense(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcEdgeCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[363]); } const IfcParse::entity& Ifc4x3_add1::IfcEdgeCurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[363]); } Ifc4x3_add1::IfcEdgeCurve::IfcEdgeCurve(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc4x3_add1::IfcEdgeCurve::IfcEdgeCurve(::Ifc4x3_add1::IfcVertex* v1_EdgeStart, ::Ifc4x3_add1::IfcVertex* v2_EdgeEnd, ::Ifc4x3_add1::IfcCurve* v3_EdgeGeometry, bool v4_SameSense) : IfcEdge(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EdgeGeometry ? v3_EdgeGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SameSense));; populate_derived(); } +Ifc4x3_add1::IfcEdgeCurve::IfcEdgeCurve(::Ifc4x3_add1::IfcVertex* v1_EdgeStart, ::Ifc4x3_add1::IfcVertex* v2_EdgeEnd, ::Ifc4x3_add1::IfcCurve* v3_EdgeGeometry, bool v4_SameSense) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EdgeGeometry ? v3_EdgeGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SameSense));; populate_derived(); } // Function implementations for IfcEdgeLoop -aggregate_of< ::Ifc4x3_add1::IfcOrientedEdge >::ptr Ifc4x3_add1::IfcEdgeLoop::EdgeList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcOrientedEdge >(); } +aggregate_of< ::Ifc4x3_add1::IfcOrientedEdge >::ptr Ifc4x3_add1::IfcEdgeLoop::EdgeList() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcOrientedEdge >(); } void Ifc4x3_add1::IfcEdgeLoop::setEdgeList(aggregate_of< ::Ifc4x3_add1::IfcOrientedEdge >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add1::IfcEdgeLoop::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[364]); } const IfcParse::entity& Ifc4x3_add1::IfcEdgeLoop::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[364]); } Ifc4x3_add1::IfcEdgeLoop::IfcEdgeLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc4x3_add1::IfcEdgeLoop::IfcEdgeLoop(aggregate_of< ::Ifc4x3_add1::IfcOrientedEdge >::ptr v1_EdgeList) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcEdgeLoop::IfcEdgeLoop(aggregate_of< ::Ifc4x3_add1::IfcOrientedEdge >::ptr v1_EdgeList) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } // Function implementations for IfcElectricAppliance -boost::optional< ::Ifc4x3_add1::IfcElectricApplianceTypeEnum::Value > Ifc4x3_add1::IfcElectricAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcElectricApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcElectricApplianceTypeEnum::Value > Ifc4x3_add1::IfcElectricAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcElectricAppliance::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcElectricApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcElectricApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcElectricAppliance::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[365]); } const IfcParse::entity& Ifc4x3_add1::IfcElectricAppliance::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[365]); } Ifc4x3_add1::IfcElectricAppliance::IfcElectricAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_add1::IfcElectricAppliance::IfcElectricAppliance(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcElectricAppliance::IfcElectricAppliance(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricApplianceType -::Ifc4x3_add1::IfcElectricApplianceTypeEnum::Value Ifc4x3_add1::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4x3_add1::IfcElectricApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcElectricApplianceTypeEnum::Value Ifc4x3_add1::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4x3_add1::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcElectricApplianceType::setPredefinedType(::Ifc4x3_add1::IfcElectricApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcElectricApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcElectricApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[366]); } const IfcParse::entity& Ifc4x3_add1::IfcElectricApplianceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[366]); } Ifc4x3_add1::IfcElectricApplianceType::IfcElectricApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_add1::IfcElectricApplianceType::IfcElectricApplianceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcElectricApplianceType::IfcElectricApplianceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricDistributionBoard -boost::optional< ::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x3_add1::IfcElectricDistributionBoard::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x3_add1::IfcElectricDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcElectricDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcElectricDistributionBoard::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[372]); } const IfcParse::entity& Ifc4x3_add1::IfcElectricDistributionBoard::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[372]); } Ifc4x3_add1::IfcElectricDistributionBoard::IfcElectricDistributionBoard(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_add1::IfcElectricDistributionBoard::IfcElectricDistributionBoard(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcElectricDistributionBoard::IfcElectricDistributionBoard(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricDistributionBoardType -::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3_add1::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3_add1::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcElectricDistributionBoardType::setPredefinedType(::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcElectricDistributionBoardType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[373]); } const IfcParse::entity& Ifc4x3_add1::IfcElectricDistributionBoardType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[373]); } Ifc4x3_add1::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_add1::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricFlowStorageDevice -boost::optional< ::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x3_add1::IfcElectricFlowStorageDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x3_add1::IfcElectricFlowStorageDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcElectricFlowStorageDevice::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcElectricFlowStorageDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[375]); } const IfcParse::entity& Ifc4x3_add1::IfcElectricFlowStorageDevice::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[375]); } Ifc4x3_add1::IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(IfcEntityInstanceData&& e) : IfcFlowStorageDevice(std::move(e)) { } -Ifc4x3_add1::IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricFlowStorageDeviceType -::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3_add1::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3_add1::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcElectricFlowStorageDeviceType::setPredefinedType(::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcElectricFlowStorageDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[376]); } const IfcParse::entity& Ifc4x3_add1::IfcElectricFlowStorageDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[376]); } Ifc4x3_add1::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(IfcEntityInstanceData&& e) : IfcFlowStorageDeviceType(std::move(e)) { } -Ifc4x3_add1::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricFlowTreatmentDevice -boost::optional< ::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > Ifc4x3_add1::IfcElectricFlowTreatmentDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > Ifc4x3_add1::IfcElectricFlowTreatmentDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcElectricFlowTreatmentDevice::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcElectricFlowTreatmentDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[378]); } const IfcParse::entity& Ifc4x3_add1::IfcElectricFlowTreatmentDevice::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[378]); } Ifc4x3_add1::IfcElectricFlowTreatmentDevice::IfcElectricFlowTreatmentDevice(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4x3_add1::IfcElectricFlowTreatmentDevice::IfcElectricFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcElectricFlowTreatmentDevice::IfcElectricFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricFlowTreatmentDeviceType -::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3_add1::IfcElectricFlowTreatmentDeviceType::PredefinedType() const { return ::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3_add1::IfcElectricFlowTreatmentDeviceType::PredefinedType() const { return ::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcElectricFlowTreatmentDeviceType::setPredefinedType(::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcElectricFlowTreatmentDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[379]); } const IfcParse::entity& Ifc4x3_add1::IfcElectricFlowTreatmentDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[379]); } Ifc4x3_add1::IfcElectricFlowTreatmentDeviceType::IfcElectricFlowTreatmentDeviceType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4x3_add1::IfcElectricFlowTreatmentDeviceType::IfcElectricFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcElectricFlowTreatmentDeviceType::IfcElectricFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricGenerator -boost::optional< ::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Value > Ifc4x3_add1::IfcElectricGenerator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Value > Ifc4x3_add1::IfcElectricGenerator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcElectricGenerator::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcElectricGenerator::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[381]); } const IfcParse::entity& Ifc4x3_add1::IfcElectricGenerator::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[381]); } Ifc4x3_add1::IfcElectricGenerator::IfcElectricGenerator(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add1::IfcElectricGenerator::IfcElectricGenerator(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcElectricGenerator::IfcElectricGenerator(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricGeneratorType -::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Value Ifc4x3_add1::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Value Ifc4x3_add1::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcElectricGeneratorType::setPredefinedType(::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcElectricGeneratorType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[382]); } const IfcParse::entity& Ifc4x3_add1::IfcElectricGeneratorType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[382]); } Ifc4x3_add1::IfcElectricGeneratorType::IfcElectricGeneratorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add1::IfcElectricGeneratorType::IfcElectricGeneratorType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcElectricGeneratorType::IfcElectricGeneratorType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricMotor -boost::optional< ::Ifc4x3_add1::IfcElectricMotorTypeEnum::Value > Ifc4x3_add1::IfcElectricMotor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcElectricMotorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcElectricMotorTypeEnum::Value > Ifc4x3_add1::IfcElectricMotor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcElectricMotorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcElectricMotor::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcElectricMotorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcElectricMotorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcElectricMotor::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[384]); } const IfcParse::entity& Ifc4x3_add1::IfcElectricMotor::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[384]); } Ifc4x3_add1::IfcElectricMotor::IfcElectricMotor(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add1::IfcElectricMotor::IfcElectricMotor(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcElectricMotor::IfcElectricMotor(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricMotorType -::Ifc4x3_add1::IfcElectricMotorTypeEnum::Value Ifc4x3_add1::IfcElectricMotorType::PredefinedType() const { return ::Ifc4x3_add1::IfcElectricMotorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcElectricMotorTypeEnum::Value Ifc4x3_add1::IfcElectricMotorType::PredefinedType() const { return ::Ifc4x3_add1::IfcElectricMotorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcElectricMotorType::setPredefinedType(::Ifc4x3_add1::IfcElectricMotorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcElectricMotorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcElectricMotorType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[385]); } const IfcParse::entity& Ifc4x3_add1::IfcElectricMotorType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[385]); } Ifc4x3_add1::IfcElectricMotorType::IfcElectricMotorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add1::IfcElectricMotorType::IfcElectricMotorType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricMotorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcElectricMotorType::IfcElectricMotorType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricMotorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricTimeControl -boost::optional< ::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Value > Ifc4x3_add1::IfcElectricTimeControl::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Value > Ifc4x3_add1::IfcElectricTimeControl::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcElectricTimeControl::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcElectricTimeControl::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[388]); } const IfcParse::entity& Ifc4x3_add1::IfcElectricTimeControl::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[388]); } Ifc4x3_add1::IfcElectricTimeControl::IfcElectricTimeControl(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_add1::IfcElectricTimeControl::IfcElectricTimeControl(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcElectricTimeControl::IfcElectricTimeControl(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricTimeControlType -::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Value Ifc4x3_add1::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Value Ifc4x3_add1::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcElectricTimeControlType::setPredefinedType(::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcElectricTimeControlType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[389]); } const IfcParse::entity& Ifc4x3_add1::IfcElectricTimeControlType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[389]); } Ifc4x3_add1::IfcElectricTimeControlType::IfcElectricTimeControlType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_add1::IfcElectricTimeControlType::IfcElectricTimeControlType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcElectricTimeControlType::IfcElectricTimeControlType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElement -boost::optional< std::string > Ifc4x3_add1::IfcElement::Tag() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcElement::Tag() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcElement::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } ::Ifc4x3_add1::IfcRelFillsElement::list::ptr Ifc4x3_add1::IfcElement::FillsVoids() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[936], 5)->as(); } @@ -10638,29 +10638,29 @@ void Ifc4x3_add1::IfcElement::setTag(boost::optional< std::string > v) { if (v) const IfcParse::entity& Ifc4x3_add1::IfcElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[392]); } const IfcParse::entity& Ifc4x3_add1::IfcElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[392]); } Ifc4x3_add1::IfcElement::IfcElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_add1::IfcElement::IfcElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcProduct(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add1::IfcElement::IfcElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcElementAssembly -boost::optional< ::Ifc4x3_add1::IfcAssemblyPlaceEnum::Value > Ifc4x3_add1::IfcElementAssembly::AssemblyPlace() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcAssemblyPlaceEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcAssemblyPlaceEnum::Value > Ifc4x3_add1::IfcElementAssembly::AssemblyPlace() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcAssemblyPlaceEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcElementAssembly::setAssemblyPlace(boost::optional< ::Ifc4x3_add1::IfcAssemblyPlaceEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcAssemblyPlaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< ::Ifc4x3_add1::IfcElementAssemblyTypeEnum::Value > Ifc4x3_add1::IfcElementAssembly::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcElementAssemblyTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_add1::IfcElementAssemblyTypeEnum::Value > Ifc4x3_add1::IfcElementAssembly::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcElementAssemblyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcElementAssembly::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcElementAssemblyTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcElementAssemblyTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_add1::IfcElementAssembly::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[394]); } const IfcParse::entity& Ifc4x3_add1::IfcElementAssembly::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[394]); } Ifc4x3_add1::IfcElementAssembly::IfcElementAssembly(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_add1::IfcElementAssembly::IfcElementAssembly(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, boost::optional< ::Ifc4x3_add1::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) : IfcElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcElementAssembly::IfcElementAssembly(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, boost::optional< ::Ifc4x3_add1::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElementAssemblyType -::Ifc4x3_add1::IfcElementAssemblyTypeEnum::Value Ifc4x3_add1::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4x3_add1::IfcElementAssemblyTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcElementAssemblyTypeEnum::Value Ifc4x3_add1::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4x3_add1::IfcElementAssemblyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcElementAssemblyType::setPredefinedType(::Ifc4x3_add1::IfcElementAssemblyTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcElementAssemblyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcElementAssemblyType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[395]); } const IfcParse::entity& Ifc4x3_add1::IfcElementAssemblyType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[395]); } Ifc4x3_add1::IfcElementAssemblyType::IfcElementAssemblyType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_add1::IfcElementAssemblyType::IfcElementAssemblyType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcElementAssemblyType::IfcElementAssemblyType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElementComponent @@ -10668,7 +10668,7 @@ Ifc4x3_add1::IfcElementAssemblyType::IfcElementAssemblyType(std::string v1_Globa const IfcParse::entity& Ifc4x3_add1::IfcElementComponent::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[397]); } const IfcParse::entity& Ifc4x3_add1::IfcElementComponent::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[397]); } Ifc4x3_add1::IfcElementComponent::IfcElementComponent(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_add1::IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add1::IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcElementComponentType @@ -10676,63 +10676,63 @@ Ifc4x3_add1::IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, : const IfcParse::entity& Ifc4x3_add1::IfcElementComponentType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[398]); } const IfcParse::entity& Ifc4x3_add1::IfcElementComponentType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[398]); } Ifc4x3_add1::IfcElementComponentType::IfcElementComponentType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_add1::IfcElementComponentType::IfcElementComponentType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add1::IfcElementComponentType::IfcElementComponentType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcElementQuantity -boost::optional< std::string > Ifc4x3_add1::IfcElementQuantity::MethodOfMeasurement() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcElementQuantity::MethodOfMeasurement() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcElementQuantity::setMethodOfMeasurement(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -aggregate_of< ::Ifc4x3_add1::IfcPhysicalQuantity >::ptr Ifc4x3_add1::IfcElementQuantity::Quantities() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_add1::IfcPhysicalQuantity >(); } +aggregate_of< ::Ifc4x3_add1::IfcPhysicalQuantity >::ptr Ifc4x3_add1::IfcElementQuantity::Quantities() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_add1::IfcPhysicalQuantity >(); } void Ifc4x3_add1::IfcElementQuantity::setQuantities(aggregate_of< ::Ifc4x3_add1::IfcPhysicalQuantity >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcElementQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[400]); } const IfcParse::entity& Ifc4x3_add1::IfcElementQuantity::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[400]); } Ifc4x3_add1::IfcElementQuantity::IfcElementQuantity(IfcEntityInstanceData&& e) : IfcQuantitySet(std::move(e)) { } -Ifc4x3_add1::IfcElementQuantity::IfcElementQuantity(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_MethodOfMeasurement, aggregate_of< ::Ifc4x3_add1::IfcPhysicalQuantity >::ptr v6_Quantities) : IfcQuantitySet(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, (v6_Quantities)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcElementQuantity::IfcElementQuantity(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_MethodOfMeasurement, aggregate_of< ::Ifc4x3_add1::IfcPhysicalQuantity >::ptr v6_Quantities) : IfcQuantitySet(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, (v6_Quantities)->generalize());; populate_derived(); } // Function implementations for IfcElementType -boost::optional< std::string > Ifc4x3_add1::IfcElementType::ElementType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcElementType::setElementType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[401]); } const IfcParse::entity& Ifc4x3_add1::IfcElementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[401]); } Ifc4x3_add1::IfcElementType::IfcElementType(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(e)) { } -Ifc4x3_add1::IfcElementType::IfcElementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add1::IfcElementType::IfcElementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcElementarySurface -::Ifc4x3_add1::IfcAxis2Placement3D* Ifc4x3_add1::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcAxis2Placement3D>(true); } +::Ifc4x3_add1::IfcAxis2Placement3D* Ifc4x3_add1::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcAxis2Placement3D>(true); } void Ifc4x3_add1::IfcElementarySurface::setPosition(::Ifc4x3_add1::IfcAxis2Placement3D* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add1::IfcElementarySurface::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[393]); } const IfcParse::entity& Ifc4x3_add1::IfcElementarySurface::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[393]); } Ifc4x3_add1::IfcElementarySurface::IfcElementarySurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x3_add1::IfcElementarySurface::IfcElementarySurface(::Ifc4x3_add1::IfcAxis2Placement3D* v1_Position) : IfcSurface(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcElementarySurface::IfcElementarySurface(::Ifc4x3_add1::IfcAxis2Placement3D* v1_Position) : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcEllipse -double Ifc4x3_add1::IfcEllipse::SemiAxis1() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add1::IfcEllipse::SemiAxis1() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcEllipse::setSemiAxis1(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_add1::IfcEllipse::SemiAxis2() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_add1::IfcEllipse::SemiAxis2() const { double v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcEllipse::setSemiAxis2(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcEllipse::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[402]); } const IfcParse::entity& Ifc4x3_add1::IfcEllipse::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[402]); } Ifc4x3_add1::IfcEllipse::IfcEllipse(IfcEntityInstanceData&& e) : IfcConic(std::move(e)) { } -Ifc4x3_add1::IfcEllipse::IfcEllipse(::Ifc4x3_add1::IfcAxis2Placement* v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) : IfcConic(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; populate_derived(); } +Ifc4x3_add1::IfcEllipse::IfcEllipse(::Ifc4x3_add1::IfcAxis2Placement* v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) : IfcConic(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; populate_derived(); } // Function implementations for IfcEllipseProfileDef -double Ifc4x3_add1::IfcEllipseProfileDef::SemiAxis1() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add1::IfcEllipseProfileDef::SemiAxis1() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcEllipseProfileDef::setSemiAxis1(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_add1::IfcEllipseProfileDef::SemiAxis2() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add1::IfcEllipseProfileDef::SemiAxis2() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcEllipseProfileDef::setSemiAxis2(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add1::IfcEllipseProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[403]); } const IfcParse::entity& Ifc4x3_add1::IfcEllipseProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[403]); } Ifc4x3_add1::IfcEllipseProfileDef::IfcEllipseProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_add1::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D* v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; populate_derived(); } +Ifc4x3_add1::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D* v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; populate_derived(); } // Function implementations for IfcEnergyConversionDevice @@ -10740,7 +10740,7 @@ Ifc4x3_add1::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc4x3_add1::IfcProfil const IfcParse::entity& Ifc4x3_add1::IfcEnergyConversionDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[404]); } const IfcParse::entity& Ifc4x3_add1::IfcEnergyConversionDevice::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[404]); } Ifc4x3_add1::IfcEnergyConversionDevice::IfcEnergyConversionDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_add1::IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add1::IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcEnergyConversionDeviceType @@ -10748,127 +10748,127 @@ Ifc4x3_add1::IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1 const IfcParse::entity& Ifc4x3_add1::IfcEnergyConversionDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[405]); } const IfcParse::entity& Ifc4x3_add1::IfcEnergyConversionDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[405]); } Ifc4x3_add1::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_add1::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add1::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcEngine -boost::optional< ::Ifc4x3_add1::IfcEngineTypeEnum::Value > Ifc4x3_add1::IfcEngine::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcEngineTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcEngineTypeEnum::Value > Ifc4x3_add1::IfcEngine::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcEngineTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcEngine::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcEngineTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcEngineTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcEngine::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[407]); } const IfcParse::entity& Ifc4x3_add1::IfcEngine::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[407]); } Ifc4x3_add1::IfcEngine::IfcEngine(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add1::IfcEngine::IfcEngine(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcEngineTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcEngine::IfcEngine(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcEngineTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEngineType -::Ifc4x3_add1::IfcEngineTypeEnum::Value Ifc4x3_add1::IfcEngineType::PredefinedType() const { return ::Ifc4x3_add1::IfcEngineTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcEngineTypeEnum::Value Ifc4x3_add1::IfcEngineType::PredefinedType() const { return ::Ifc4x3_add1::IfcEngineTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcEngineType::setPredefinedType(::Ifc4x3_add1::IfcEngineTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcEngineTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcEngineType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[408]); } const IfcParse::entity& Ifc4x3_add1::IfcEngineType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[408]); } Ifc4x3_add1::IfcEngineType::IfcEngineType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add1::IfcEngineType::IfcEngineType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcEngineTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcEngineType::IfcEngineType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcEngineTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEvaporativeCooler -boost::optional< ::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x3_add1::IfcEvaporativeCooler::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x3_add1::IfcEvaporativeCooler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcEvaporativeCooler::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcEvaporativeCooler::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[410]); } const IfcParse::entity& Ifc4x3_add1::IfcEvaporativeCooler::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[410]); } Ifc4x3_add1::IfcEvaporativeCooler::IfcEvaporativeCooler(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add1::IfcEvaporativeCooler::IfcEvaporativeCooler(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcEvaporativeCooler::IfcEvaporativeCooler(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEvaporativeCoolerType -::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3_add1::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3_add1::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcEvaporativeCoolerType::setPredefinedType(::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcEvaporativeCoolerType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[411]); } const IfcParse::entity& Ifc4x3_add1::IfcEvaporativeCoolerType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[411]); } Ifc4x3_add1::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add1::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEvaporator -boost::optional< ::Ifc4x3_add1::IfcEvaporatorTypeEnum::Value > Ifc4x3_add1::IfcEvaporator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcEvaporatorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcEvaporatorTypeEnum::Value > Ifc4x3_add1::IfcEvaporator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcEvaporatorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcEvaporator::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcEvaporatorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcEvaporatorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcEvaporator::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[413]); } const IfcParse::entity& Ifc4x3_add1::IfcEvaporator::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[413]); } Ifc4x3_add1::IfcEvaporator::IfcEvaporator(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add1::IfcEvaporator::IfcEvaporator(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcEvaporator::IfcEvaporator(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEvaporatorType -::Ifc4x3_add1::IfcEvaporatorTypeEnum::Value Ifc4x3_add1::IfcEvaporatorType::PredefinedType() const { return ::Ifc4x3_add1::IfcEvaporatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcEvaporatorTypeEnum::Value Ifc4x3_add1::IfcEvaporatorType::PredefinedType() const { return ::Ifc4x3_add1::IfcEvaporatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcEvaporatorType::setPredefinedType(::Ifc4x3_add1::IfcEvaporatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcEvaporatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcEvaporatorType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[414]); } const IfcParse::entity& Ifc4x3_add1::IfcEvaporatorType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[414]); } Ifc4x3_add1::IfcEvaporatorType::IfcEvaporatorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add1::IfcEvaporatorType::IfcEvaporatorType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcEvaporatorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcEvaporatorType::IfcEvaporatorType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcEvaporatorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEvent -boost::optional< ::Ifc4x3_add1::IfcEventTypeEnum::Value > Ifc4x3_add1::IfcEvent::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcEventTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_add1::IfcEventTypeEnum::Value > Ifc4x3_add1::IfcEvent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcEventTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add1::IfcEvent::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcEventTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_add1::IfcEventTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3_add1::IfcEventTriggerTypeEnum::Value > Ifc4x3_add1::IfcEvent::EventTriggerType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcEventTriggerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcEventTriggerTypeEnum::Value > Ifc4x3_add1::IfcEvent::EventTriggerType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcEventTriggerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcEvent::setEventTriggerType(boost::optional< ::Ifc4x3_add1::IfcEventTriggerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcEventTriggerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_add1::IfcEvent::UserDefinedEventTriggerType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcEvent::UserDefinedEventTriggerType() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_add1::IfcEvent::setUserDefinedEventTriggerType(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -::Ifc4x3_add1::IfcEventTime* Ifc4x3_add1::IfcEvent::EventOccurenceTime() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_add1::IfcEventTime>(true); } +::Ifc4x3_add1::IfcEventTime* Ifc4x3_add1::IfcEvent::EventOccurenceTime() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_add1::IfcEventTime>(true); } void Ifc4x3_add1::IfcEvent::setEventOccurenceTime(::Ifc4x3_add1::IfcEventTime* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_add1::IfcEvent::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[416]); } const IfcParse::entity& Ifc4x3_add1::IfcEvent::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[416]); } Ifc4x3_add1::IfcEvent::IfcEvent(IfcEntityInstanceData&& e) : IfcProcess(std::move(e)) { } -Ifc4x3_add1::IfcEvent::IfcEvent(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcEventTypeEnum::Value > v8_PredefinedType, boost::optional< ::Ifc4x3_add1::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, boost::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_add1::IfcEventTime* v11_EventOccurenceTime) : IfcProcess(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, v11_EventOccurenceTime ? v11_EventOccurenceTime->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcEvent::IfcEvent(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcEventTypeEnum::Value > v8_PredefinedType, boost::optional< ::Ifc4x3_add1::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, boost::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_add1::IfcEventTime* v11_EventOccurenceTime) : IfcProcess(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, v11_EventOccurenceTime ? v11_EventOccurenceTime->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcEventTime -boost::optional< std::string > Ifc4x3_add1::IfcEventTime::ActualDate() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcEventTime::ActualDate() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcEventTime::setActualDate(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_add1::IfcEventTime::EarlyDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcEventTime::EarlyDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcEventTime::setEarlyDate(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add1::IfcEventTime::LateDate() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcEventTime::LateDate() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcEventTime::setLateDate(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_add1::IfcEventTime::ScheduleDate() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcEventTime::ScheduleDate() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcEventTime::setScheduleDate(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_add1::IfcEventTime::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[417]); } const IfcParse::entity& Ifc4x3_add1::IfcEventTime::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[417]); } Ifc4x3_add1::IfcEventTime::IfcEventTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x3_add1::IfcEventTime::IfcEventTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_add1::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); }; populate_derived(); } +Ifc4x3_add1::IfcEventTime::IfcEventTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_add1::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); }; populate_derived(); } // Function implementations for IfcEventType -::Ifc4x3_add1::IfcEventTypeEnum::Value Ifc4x3_add1::IfcEventType::PredefinedType() const { return ::Ifc4x3_add1::IfcEventTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcEventTypeEnum::Value Ifc4x3_add1::IfcEventType::PredefinedType() const { return ::Ifc4x3_add1::IfcEventTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcEventType::setPredefinedType(::Ifc4x3_add1::IfcEventTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcEventTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_add1::IfcEventTriggerTypeEnum::Value Ifc4x3_add1::IfcEventType::EventTriggerType() const { return ::Ifc4x3_add1::IfcEventTriggerTypeEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3_add1::IfcEventTriggerTypeEnum::Value Ifc4x3_add1::IfcEventType::EventTriggerType() const { return ::Ifc4x3_add1::IfcEventTriggerTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add1::IfcEventType::setEventTriggerType(::Ifc4x3_add1::IfcEventTriggerTypeEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3_add1::IfcEventTriggerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } -boost::optional< std::string > Ifc4x3_add1::IfcEventType::UserDefinedEventTriggerType() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcEventType::UserDefinedEventTriggerType() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x3_add1::IfcEventType::setUserDefinedEventTriggerType(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x3_add1::IfcEventType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[419]); } const IfcParse::entity& Ifc4x3_add1::IfcEventType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[419]); } Ifc4x3_add1::IfcEventType::IfcEventType(IfcEntityInstanceData&& e) : IfcTypeProcess(std::move(e)) { } -Ifc4x3_add1::IfcEventType::IfcEventType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_add1::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add1::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, boost::optional< std::string > v12_UserDefinedEventTriggerType) : IfcTypeProcess(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); }; populate_derived(); } +Ifc4x3_add1::IfcEventType::IfcEventType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_add1::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add1::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, boost::optional< std::string > v12_UserDefinedEventTriggerType) : IfcTypeProcess(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); }; populate_derived(); } // Function implementations for IfcExtendedProperties -boost::optional< std::string > Ifc4x3_add1::IfcExtendedProperties::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcExtendedProperties::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcExtendedProperties::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add1::IfcExtendedProperties::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcExtendedProperties::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcExtendedProperties::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3_add1::IfcProperty >::ptr Ifc4x3_add1::IfcExtendedProperties::Properties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcProperty >(); } +aggregate_of< ::Ifc4x3_add1::IfcProperty >::ptr Ifc4x3_add1::IfcExtendedProperties::Properties() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcProperty >(); } void Ifc4x3_add1::IfcExtendedProperties::setProperties(aggregate_of< ::Ifc4x3_add1::IfcProperty >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcExtendedProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[421]); } const IfcParse::entity& Ifc4x3_add1::IfcExtendedProperties::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[421]); } Ifc4x3_add1::IfcExtendedProperties::IfcExtendedProperties(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x3_add1::IfcExtendedProperties::IfcExtendedProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add1::IfcProperty >::ptr v3_Properties) : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcExtendedProperties::IfcExtendedProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add1::IfcProperty >::ptr v3_Properties) : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());; populate_derived(); } // Function implementations for IfcExternalInformation @@ -10876,14 +10876,14 @@ Ifc4x3_add1::IfcExtendedProperties::IfcExtendedProperties(boost::optional< std:: const IfcParse::entity& Ifc4x3_add1::IfcExternalInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[422]); } const IfcParse::entity& Ifc4x3_add1::IfcExternalInformation::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[422]); } Ifc4x3_add1::IfcExternalInformation::IfcExternalInformation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcExternalInformation::IfcExternalInformation() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add1::IfcExternalInformation::IfcExternalInformation() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcExternalReference -boost::optional< std::string > Ifc4x3_add1::IfcExternalReference::Location() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcExternalReference::Location() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcExternalReference::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add1::IfcExternalReference::Identification() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcExternalReference::Identification() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcExternalReference::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_add1::IfcExternalReference::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcExternalReference::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcExternalReference::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3_add1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_add1::IfcExternalReference::ExternalReferenceForResources() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[427], 2)->as(); } @@ -10891,22 +10891,22 @@ void Ifc4x3_add1::IfcExternalReference::setName(boost::optional< std::string > v const IfcParse::entity& Ifc4x3_add1::IfcExternalReference::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[426]); } const IfcParse::entity& Ifc4x3_add1::IfcExternalReference::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[426]); } Ifc4x3_add1::IfcExternalReference::IfcExternalReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcExternalReference::IfcExternalReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3_add1::IfcExternalReference::IfcExternalReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternalReferenceRelationship -::Ifc4x3_add1::IfcExternalReference* Ifc4x3_add1::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcExternalReference>(true); } +::Ifc4x3_add1::IfcExternalReference* Ifc4x3_add1::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcExternalReference>(true); } void Ifc4x3_add1::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4x3_add1::IfcExternalReference* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr Ifc4x3_add1::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_add1::IfcResourceObjectSelect >(); } +aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr Ifc4x3_add1::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_add1::IfcResourceObjectSelect >(); } void Ifc4x3_add1::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcExternalReferenceRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[427]); } const IfcParse::entity& Ifc4x3_add1::IfcExternalReferenceRelationship::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[427]); } Ifc4x3_add1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_add1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingReference ? v3_RelatingReference->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingReference ? v3_RelatingReference->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } // Function implementations for IfcExternalSpatialElement -boost::optional< ::Ifc4x3_add1::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_add1::IfcExternalSpatialElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcExternalSpatialElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_add1::IfcExternalSpatialElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcExternalSpatialElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcExternalSpatialElement::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcExternalSpatialElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcExternalSpatialElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x3_add1::IfcRelSpaceBoundary::list::ptr Ifc4x3_add1::IfcExternalSpatialElement::BoundedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[945], 4)->as(); } @@ -10914,7 +10914,7 @@ void Ifc4x3_add1::IfcExternalSpatialElement::setPredefinedType(boost::optional< const IfcParse::entity& Ifc4x3_add1::IfcExternalSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[428]); } const IfcParse::entity& Ifc4x3_add1::IfcExternalSpatialElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[428]); } Ifc4x3_add1::IfcExternalSpatialElement::IfcExternalSpatialElement(IfcEntityInstanceData&& e) : IfcExternalSpatialStructureElement(std::move(e)) { } -Ifc4x3_add1::IfcExternalSpatialElement::IfcExternalSpatialElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) : IfcExternalSpatialStructureElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcExternalSpatialElement::IfcExternalSpatialElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) : IfcExternalSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcExternalSpatialStructureElement @@ -10922,7 +10922,7 @@ Ifc4x3_add1::IfcExternalSpatialElement::IfcExternalSpatialElement(std::string v1 const IfcParse::entity& Ifc4x3_add1::IfcExternalSpatialStructureElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[430]); } const IfcParse::entity& Ifc4x3_add1::IfcExternalSpatialStructureElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[430]); } Ifc4x3_add1::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(IfcEntityInstanceData&& e) : IfcSpatialElement(std::move(e)) { } -Ifc4x3_add1::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcSpatialElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } +Ifc4x3_add1::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcSpatialElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedHatchStyle @@ -10930,7 +10930,7 @@ Ifc4x3_add1::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElem const IfcParse::entity& Ifc4x3_add1::IfcExternallyDefinedHatchStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[423]); } const IfcParse::entity& Ifc4x3_add1::IfcExternallyDefinedHatchStyle::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[423]); } Ifc4x3_add1::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_add1::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3_add1::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedSurfaceStyle @@ -10938,7 +10938,7 @@ Ifc4x3_add1::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boos const IfcParse::entity& Ifc4x3_add1::IfcExternallyDefinedSurfaceStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[424]); } const IfcParse::entity& Ifc4x3_add1::IfcExternallyDefinedSurfaceStyle::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[424]); } Ifc4x3_add1::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_add1::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3_add1::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedTextFont @@ -10946,32 +10946,32 @@ Ifc4x3_add1::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle( const IfcParse::entity& Ifc4x3_add1::IfcExternallyDefinedTextFont::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[425]); } const IfcParse::entity& Ifc4x3_add1::IfcExternallyDefinedTextFont::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[425]); } Ifc4x3_add1::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_add1::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3_add1::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExtrudedAreaSolid -::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcDirection>(true); } +::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcDirection>(true); } void Ifc4x3_add1::IfcExtrudedAreaSolid::setExtrudedDirection(::Ifc4x3_add1::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_add1::IfcExtrudedAreaSolid::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add1::IfcExtrudedAreaSolid::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcExtrudedAreaSolid::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcExtrudedAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[431]); } const IfcParse::entity& Ifc4x3_add1::IfcExtrudedAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[431]); } Ifc4x3_add1::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4x3_add1::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(::Ifc4x3_add1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add1::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } +Ifc4x3_add1::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(::Ifc4x3_add1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add1::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } // Function implementations for IfcExtrudedAreaSolidTapered -::Ifc4x3_add1::IfcProfileDef* Ifc4x3_add1::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcProfileDef>(true); } +::Ifc4x3_add1::IfcProfileDef* Ifc4x3_add1::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcProfileDef>(true); } void Ifc4x3_add1::IfcExtrudedAreaSolidTapered::setEndSweptArea(::Ifc4x3_add1::IfcProfileDef* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add1::IfcExtrudedAreaSolidTapered::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[432]); } const IfcParse::entity& Ifc4x3_add1::IfcExtrudedAreaSolidTapered::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[432]); } Ifc4x3_add1::IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(IfcEntityInstanceData&& e) : IfcExtrudedAreaSolid(std::move(e)) { } -Ifc4x3_add1::IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(::Ifc4x3_add1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add1::IfcDirection* v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_add1::IfcProfileDef* v5_EndSweptArea) : IfcExtrudedAreaSolid(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(::Ifc4x3_add1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add1::IfcDirection* v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_add1::IfcProfileDef* v5_EndSweptArea) : IfcExtrudedAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcFace -aggregate_of< ::Ifc4x3_add1::IfcFaceBound >::ptr Ifc4x3_add1::IfcFace::Bounds() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcFaceBound >(); } +aggregate_of< ::Ifc4x3_add1::IfcFaceBound >::ptr Ifc4x3_add1::IfcFace::Bounds() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcFaceBound >(); } void Ifc4x3_add1::IfcFace::setBounds(aggregate_of< ::Ifc4x3_add1::IfcFaceBound >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_add1::IfcTextureMap::list::ptr Ifc4x3_add1::IfcFace::HasTextureMaps() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[1196], 2)->as(); } @@ -10979,29 +10979,29 @@ void Ifc4x3_add1::IfcFace::setBounds(aggregate_of< ::Ifc4x3_add1::IfcFaceBound > const IfcParse::entity& Ifc4x3_add1::IfcFace::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[433]); } const IfcParse::entity& Ifc4x3_add1::IfcFace::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[433]); } Ifc4x3_add1::IfcFace::IfcFace(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcFace::IfcFace(aggregate_of< ::Ifc4x3_add1::IfcFaceBound >::ptr v1_Bounds) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Bounds)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcFace::IfcFace(aggregate_of< ::Ifc4x3_add1::IfcFaceBound >::ptr v1_Bounds) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Bounds)->generalize());; populate_derived(); } // Function implementations for IfcFaceBasedSurfaceModel -aggregate_of< ::Ifc4x3_add1::IfcConnectedFaceSet >::ptr Ifc4x3_add1::IfcFaceBasedSurfaceModel::FbsmFaces() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcConnectedFaceSet >(); } +aggregate_of< ::Ifc4x3_add1::IfcConnectedFaceSet >::ptr Ifc4x3_add1::IfcFaceBasedSurfaceModel::FbsmFaces() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcConnectedFaceSet >(); } void Ifc4x3_add1::IfcFaceBasedSurfaceModel::setFbsmFaces(aggregate_of< ::Ifc4x3_add1::IfcConnectedFaceSet >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add1::IfcFaceBasedSurfaceModel::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[434]); } const IfcParse::entity& Ifc4x3_add1::IfcFaceBasedSurfaceModel::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[434]); } Ifc4x3_add1::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(aggregate_of< ::Ifc4x3_add1::IfcConnectedFaceSet >::ptr v1_FbsmFaces) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_FbsmFaces)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(aggregate_of< ::Ifc4x3_add1::IfcConnectedFaceSet >::ptr v1_FbsmFaces) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_FbsmFaces)->generalize());; populate_derived(); } // Function implementations for IfcFaceBound -::Ifc4x3_add1::IfcLoop* Ifc4x3_add1::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcLoop>(true); } +::Ifc4x3_add1::IfcLoop* Ifc4x3_add1::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcLoop>(true); } void Ifc4x3_add1::IfcFaceBound::setBound(::Ifc4x3_add1::IfcLoop* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -bool Ifc4x3_add1::IfcFaceBound::Orientation() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x3_add1::IfcFaceBound::Orientation() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcFaceBound::setOrientation(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcFaceBound::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[435]); } const IfcParse::entity& Ifc4x3_add1::IfcFaceBound::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[435]); } Ifc4x3_add1::IfcFaceBound::IfcFaceBound(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcFaceBound::IfcFaceBound(::Ifc4x3_add1::IfcLoop* v1_Bound, bool v2_Orientation) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } +Ifc4x3_add1::IfcFaceBound::IfcFaceBound(::Ifc4x3_add1::IfcLoop* v1_Bound, bool v2_Orientation) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } // Function implementations for IfcFaceOuterBound @@ -11009,19 +11009,19 @@ Ifc4x3_add1::IfcFaceBound::IfcFaceBound(::Ifc4x3_add1::IfcLoop* v1_Bound, bool v const IfcParse::entity& Ifc4x3_add1::IfcFaceOuterBound::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[436]); } const IfcParse::entity& Ifc4x3_add1::IfcFaceOuterBound::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[436]); } Ifc4x3_add1::IfcFaceOuterBound::IfcFaceOuterBound(IfcEntityInstanceData&& e) : IfcFaceBound(std::move(e)) { } -Ifc4x3_add1::IfcFaceOuterBound::IfcFaceOuterBound(::Ifc4x3_add1::IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } +Ifc4x3_add1::IfcFaceOuterBound::IfcFaceOuterBound(::Ifc4x3_add1::IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } // Function implementations for IfcFaceSurface -::Ifc4x3_add1::IfcSurface* Ifc4x3_add1::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcSurface>(true); } +::Ifc4x3_add1::IfcSurface* Ifc4x3_add1::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcSurface>(true); } void Ifc4x3_add1::IfcFaceSurface::setFaceSurface(::Ifc4x3_add1::IfcSurface* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -bool Ifc4x3_add1::IfcFaceSurface::SameSense() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x3_add1::IfcFaceSurface::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcFaceSurface::setSameSense(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcFaceSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[437]); } const IfcParse::entity& Ifc4x3_add1::IfcFaceSurface::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[437]); } Ifc4x3_add1::IfcFaceSurface::IfcFaceSurface(IfcEntityInstanceData&& e) : IfcFace(std::move(e)) { } -Ifc4x3_add1::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc4x3_add1::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_add1::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFace(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } +Ifc4x3_add1::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc4x3_add1::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_add1::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFace(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } // Function implementations for IfcFacetedBrep @@ -11029,17 +11029,17 @@ Ifc4x3_add1::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc4x3_add1::IfcFace const IfcParse::entity& Ifc4x3_add1::IfcFacetedBrep::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[438]); } const IfcParse::entity& Ifc4x3_add1::IfcFacetedBrep::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[438]); } Ifc4x3_add1::IfcFacetedBrep::IfcFacetedBrep(IfcEntityInstanceData&& e) : IfcManifoldSolidBrep(std::move(e)) { } -Ifc4x3_add1::IfcFacetedBrep::IfcFacetedBrep(::Ifc4x3_add1::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcFacetedBrep::IfcFacetedBrep(::Ifc4x3_add1::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcFacetedBrepWithVoids -aggregate_of< ::Ifc4x3_add1::IfcClosedShell >::ptr Ifc4x3_add1::IfcFacetedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcClosedShell >(); } +aggregate_of< ::Ifc4x3_add1::IfcClosedShell >::ptr Ifc4x3_add1::IfcFacetedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcClosedShell >(); } void Ifc4x3_add1::IfcFacetedBrepWithVoids::setVoids(aggregate_of< ::Ifc4x3_add1::IfcClosedShell >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcFacetedBrepWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[439]); } const IfcParse::entity& Ifc4x3_add1::IfcFacetedBrepWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[439]); } Ifc4x3_add1::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(IfcEntityInstanceData&& e) : IfcFacetedBrep(std::move(e)) { } -Ifc4x3_add1::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4x3_add1::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3_add1::IfcClosedShell >::ptr v2_Voids) : IfcFacetedBrep(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4x3_add1::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3_add1::IfcClosedShell >::ptr v2_Voids) : IfcFacetedBrep(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } // Function implementations for IfcFacility @@ -11047,87 +11047,87 @@ Ifc4x3_add1::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4x3_add1::Ifc const IfcParse::entity& Ifc4x3_add1::IfcFacility::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[440]); } const IfcParse::entity& Ifc4x3_add1::IfcFacility::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[440]); } Ifc4x3_add1::IfcFacility::IfcFacility(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x3_add1::IfcFacility::IfcFacility(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } +Ifc4x3_add1::IfcFacility::IfcFacility(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } // Function implementations for IfcFacilityPart -::Ifc4x3_add1::IfcFacilityUsageEnum::Value Ifc4x3_add1::IfcFacilityPart::UsageType() const { return ::Ifc4x3_add1::IfcFacilityUsageEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcFacilityUsageEnum::Value Ifc4x3_add1::IfcFacilityPart::UsageType() const { return ::Ifc4x3_add1::IfcFacilityUsageEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcFacilityPart::setUsageType(::Ifc4x3_add1::IfcFacilityUsageEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcFacilityUsageEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcFacilityPart::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[441]); } const IfcParse::entity& Ifc4x3_add1::IfcFacilityPart::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[441]); } Ifc4x3_add1::IfcFacilityPart::IfcFacilityPart(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x3_add1::IfcFacilityPart::IfcFacilityPart(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType)));; populate_derived(); } +Ifc4x3_add1::IfcFacilityPart::IfcFacilityPart(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType)));; populate_derived(); } // Function implementations for IfcFacilityPartCommon -boost::optional< ::Ifc4x3_add1::IfcFacilityPartCommonTypeEnum::Value > Ifc4x3_add1::IfcFacilityPartCommon::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcFacilityPartCommonTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add1::IfcFacilityPartCommonTypeEnum::Value > Ifc4x3_add1::IfcFacilityPartCommon::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcFacilityPartCommonTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add1::IfcFacilityPartCommon::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcFacilityPartCommonTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add1::IfcFacilityPartCommonTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add1::IfcFacilityPartCommon::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[442]); } const IfcParse::entity& Ifc4x3_add1::IfcFacilityPartCommon::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[442]); } Ifc4x3_add1::IfcFacilityPartCommon::IfcFacilityPartCommon(IfcEntityInstanceData&& e) : IfcFacilityPart(std::move(e)) { } -Ifc4x3_add1::IfcFacilityPartCommon::IfcFacilityPartCommon(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3_add1::IfcFacilityPartCommonTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcFacilityPartCommonTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcFacilityPartCommon::IfcFacilityPartCommon(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3_add1::IfcFacilityPartCommonTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcFacilityPartCommonTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFailureConnectionCondition -boost::optional< double > Ifc4x3_add1::IfcFailureConnectionCondition::TensionFailureX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_add1::IfcFailureConnectionCondition::TensionFailureX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcFailureConnectionCondition::setTensionFailureX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_add1::IfcFailureConnectionCondition::TensionFailureY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add1::IfcFailureConnectionCondition::TensionFailureY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcFailureConnectionCondition::setTensionFailureY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_add1::IfcFailureConnectionCondition::TensionFailureZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add1::IfcFailureConnectionCondition::TensionFailureZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcFailureConnectionCondition::setTensionFailureZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_add1::IfcFailureConnectionCondition::CompressionFailureX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_add1::IfcFailureConnectionCondition::CompressionFailureX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcFailureConnectionCondition::setCompressionFailureX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_add1::IfcFailureConnectionCondition::CompressionFailureY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_add1::IfcFailureConnectionCondition::CompressionFailureY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcFailureConnectionCondition::setCompressionFailureY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_add1::IfcFailureConnectionCondition::CompressionFailureZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_add1::IfcFailureConnectionCondition::CompressionFailureZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcFailureConnectionCondition::setCompressionFailureZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_add1::IfcFailureConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[445]); } const IfcParse::entity& Ifc4x3_add1::IfcFailureConnectionCondition::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[445]); } Ifc4x3_add1::IfcFailureConnectionCondition::IfcFailureConnectionCondition(IfcEntityInstanceData&& e) : IfcStructuralConnectionCondition(std::move(e)) { } -Ifc4x3_add1::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; populate_derived(); } +Ifc4x3_add1::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; populate_derived(); } // Function implementations for IfcFan -boost::optional< ::Ifc4x3_add1::IfcFanTypeEnum::Value > Ifc4x3_add1::IfcFan::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcFanTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcFanTypeEnum::Value > Ifc4x3_add1::IfcFan::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcFanTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcFan::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcFanTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcFanTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcFan::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[446]); } const IfcParse::entity& Ifc4x3_add1::IfcFan::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[446]); } Ifc4x3_add1::IfcFan::IfcFan(IfcEntityInstanceData&& e) : IfcFlowMovingDevice(std::move(e)) { } -Ifc4x3_add1::IfcFan::IfcFan(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcFanTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcFan::IfcFan(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcFanTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFanType -::Ifc4x3_add1::IfcFanTypeEnum::Value Ifc4x3_add1::IfcFanType::PredefinedType() const { return ::Ifc4x3_add1::IfcFanTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcFanTypeEnum::Value Ifc4x3_add1::IfcFanType::PredefinedType() const { return ::Ifc4x3_add1::IfcFanTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcFanType::setPredefinedType(::Ifc4x3_add1::IfcFanTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcFanTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcFanType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[447]); } const IfcParse::entity& Ifc4x3_add1::IfcFanType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[447]); } Ifc4x3_add1::IfcFanType::IfcFanType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(e)) { } -Ifc4x3_add1::IfcFanType::IfcFanType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFanTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcFanType::IfcFanType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFanTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFastener -boost::optional< ::Ifc4x3_add1::IfcFastenerTypeEnum::Value > Ifc4x3_add1::IfcFastener::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcFastenerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcFastenerTypeEnum::Value > Ifc4x3_add1::IfcFastener::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcFastenerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcFastener::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcFastenerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcFastenerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcFastener::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[449]); } const IfcParse::entity& Ifc4x3_add1::IfcFastener::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[449]); } Ifc4x3_add1::IfcFastener::IfcFastener(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_add1::IfcFastener::IfcFastener(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcFastenerTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcFastener::IfcFastener(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcFastenerTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFastenerType -::Ifc4x3_add1::IfcFastenerTypeEnum::Value Ifc4x3_add1::IfcFastenerType::PredefinedType() const { return ::Ifc4x3_add1::IfcFastenerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcFastenerTypeEnum::Value Ifc4x3_add1::IfcFastenerType::PredefinedType() const { return ::Ifc4x3_add1::IfcFastenerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcFastenerType::setPredefinedType(::Ifc4x3_add1::IfcFastenerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcFastenerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcFastenerType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[450]); } const IfcParse::entity& Ifc4x3_add1::IfcFastenerType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[450]); } Ifc4x3_add1::IfcFastenerType::IfcFastenerType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_add1::IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFastenerTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFastenerTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFeatureElement @@ -11135,7 +11135,7 @@ Ifc4x3_add1::IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, ::Ifc4x3_ const IfcParse::entity& Ifc4x3_add1::IfcFeatureElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[452]); } const IfcParse::entity& Ifc4x3_add1::IfcFeatureElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[452]); } Ifc4x3_add1::IfcFeatureElement::IfcFeatureElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_add1::IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add1::IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFeatureElementAddition @@ -11144,7 +11144,7 @@ Ifc4x3_add1::IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, ::Ifc const IfcParse::entity& Ifc4x3_add1::IfcFeatureElementAddition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[453]); } const IfcParse::entity& Ifc4x3_add1::IfcFeatureElementAddition::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[453]); } Ifc4x3_add1::IfcFeatureElementAddition::IfcFeatureElementAddition(IfcEntityInstanceData&& e) : IfcFeatureElement(std::move(e)) { } -Ifc4x3_add1::IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add1::IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFeatureElementSubtraction @@ -11153,101 +11153,101 @@ Ifc4x3_add1::IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1 const IfcParse::entity& Ifc4x3_add1::IfcFeatureElementSubtraction::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[454]); } const IfcParse::entity& Ifc4x3_add1::IfcFeatureElementSubtraction::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[454]); } Ifc4x3_add1::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntityInstanceData&& e) : IfcFeatureElement(std::move(e)) { } -Ifc4x3_add1::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add1::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFillAreaStyle -aggregate_of< ::Ifc4x3_add1::IfcFillStyleSelect >::ptr Ifc4x3_add1::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcFillStyleSelect >(); } +aggregate_of< ::Ifc4x3_add1::IfcFillStyleSelect >::ptr Ifc4x3_add1::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcFillStyleSelect >(); } void Ifc4x3_add1::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x3_add1::IfcFillStyleSelect >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< bool > Ifc4x3_add1::IfcFillAreaStyle::ModelOrDraughting() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } bool v = data_.get_attribute_value(2); return v; } +boost::optional< bool > Ifc4x3_add1::IfcFillAreaStyle::ModelOrDraughting() const { if(get_attribute_value(2).isNull()) { return boost::none; } bool v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_add1::IfcFillAreaStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[455]); } const IfcParse::entity& Ifc4x3_add1::IfcFillAreaStyle::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[455]); } Ifc4x3_add1::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x3_add1::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_add1::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_FillStyles)->generalize()); if (v3_ModelOrDraughting) {set_attribute_value(2, (*v3_ModelOrDraughting)); }; populate_derived(); } +Ifc4x3_add1::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_add1::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_FillStyles)->generalize()); if (v3_ModelOrDraughting) {set_attribute_value(2, (*v3_ModelOrDraughting)); }; populate_derived(); } // Function implementations for IfcFillAreaStyleHatching -::Ifc4x3_add1::IfcCurveStyle* Ifc4x3_add1::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCurveStyle>(true); } +::Ifc4x3_add1::IfcCurveStyle* Ifc4x3_add1::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCurveStyle>(true); } void Ifc4x3_add1::IfcFillAreaStyleHatching::setHatchLineAppearance(::Ifc4x3_add1::IfcCurveStyle* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add1::IfcHatchLineDistanceSelect* Ifc4x3_add1::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcHatchLineDistanceSelect>(true); } +::Ifc4x3_add1::IfcHatchLineDistanceSelect* Ifc4x3_add1::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcHatchLineDistanceSelect>(true); } void Ifc4x3_add1::IfcFillAreaStyleHatching::setStartOfNextHatchLine(::Ifc4x3_add1::IfcHatchLineDistanceSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add1::IfcCartesianPoint* Ifc4x3_add1::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcCartesianPoint>(true); } +::Ifc4x3_add1::IfcCartesianPoint* Ifc4x3_add1::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcCartesianPoint>(true); } void Ifc4x3_add1::IfcFillAreaStyleHatching::setPointOfReferenceHatchLine(::Ifc4x3_add1::IfcCartesianPoint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add1::IfcCartesianPoint* Ifc4x3_add1::IfcFillAreaStyleHatching::PatternStart() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcCartesianPoint>(true); } +::Ifc4x3_add1::IfcCartesianPoint* Ifc4x3_add1::IfcFillAreaStyleHatching::PatternStart() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcCartesianPoint>(true); } void Ifc4x3_add1::IfcFillAreaStyleHatching::setPatternStart(::Ifc4x3_add1::IfcCartesianPoint* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_add1::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add1::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcFillAreaStyleHatching::setHatchLineAngle(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add1::IfcFillAreaStyleHatching::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[456]); } const IfcParse::entity& Ifc4x3_add1::IfcFillAreaStyleHatching::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[456]); } Ifc4x3_add1::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(::Ifc4x3_add1::IfcCurveStyle* v1_HatchLineAppearance, ::Ifc4x3_add1::IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, ::Ifc4x3_add1::IfcCartesianPoint* v3_PointOfReferenceHatchLine, ::Ifc4x3_add1::IfcCartesianPoint* v4_PatternStart, double v5_HatchLineAngle) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_HatchLineAppearance ? v1_HatchLineAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_StartOfNextHatchLine ? v2_StartOfNextHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PointOfReferenceHatchLine ? v3_PointOfReferenceHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PatternStart ? v4_PatternStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_HatchLineAngle));; populate_derived(); } +Ifc4x3_add1::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(::Ifc4x3_add1::IfcCurveStyle* v1_HatchLineAppearance, ::Ifc4x3_add1::IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, ::Ifc4x3_add1::IfcCartesianPoint* v3_PointOfReferenceHatchLine, ::Ifc4x3_add1::IfcCartesianPoint* v4_PatternStart, double v5_HatchLineAngle) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_HatchLineAppearance ? v1_HatchLineAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_StartOfNextHatchLine ? v2_StartOfNextHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PointOfReferenceHatchLine ? v3_PointOfReferenceHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PatternStart ? v4_PatternStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_HatchLineAngle));; populate_derived(); } // Function implementations for IfcFillAreaStyleTiles -aggregate_of< ::Ifc4x3_add1::IfcVector >::ptr Ifc4x3_add1::IfcFillAreaStyleTiles::TilingPattern() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcVector >(); } +aggregate_of< ::Ifc4x3_add1::IfcVector >::ptr Ifc4x3_add1::IfcFillAreaStyleTiles::TilingPattern() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcVector >(); } void Ifc4x3_add1::IfcFillAreaStyleTiles::setTilingPattern(aggregate_of< ::Ifc4x3_add1::IfcVector >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_add1::IfcStyledItem >::ptr Ifc4x3_add1::IfcFillAreaStyleTiles::Tiles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcStyledItem >(); } +aggregate_of< ::Ifc4x3_add1::IfcStyledItem >::ptr Ifc4x3_add1::IfcFillAreaStyleTiles::Tiles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcStyledItem >(); } void Ifc4x3_add1::IfcFillAreaStyleTiles::setTiles(aggregate_of< ::Ifc4x3_add1::IfcStyledItem >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_add1::IfcFillAreaStyleTiles::TilingScale() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_add1::IfcFillAreaStyleTiles::TilingScale() const { double v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcFillAreaStyleTiles::setTilingScale(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcFillAreaStyleTiles::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[457]); } const IfcParse::entity& Ifc4x3_add1::IfcFillAreaStyleTiles::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[457]); } Ifc4x3_add1::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(aggregate_of< ::Ifc4x3_add1::IfcVector >::ptr v1_TilingPattern, aggregate_of< ::Ifc4x3_add1::IfcStyledItem >::ptr v2_Tiles, double v3_TilingScale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_TilingPattern)->generalize());set_attribute_value(1, (v2_Tiles)->generalize());set_attribute_value(2, (v3_TilingScale));; populate_derived(); } +Ifc4x3_add1::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(aggregate_of< ::Ifc4x3_add1::IfcVector >::ptr v1_TilingPattern, aggregate_of< ::Ifc4x3_add1::IfcStyledItem >::ptr v2_Tiles, double v3_TilingScale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_TilingPattern)->generalize());set_attribute_value(1, (v2_Tiles)->generalize());set_attribute_value(2, (v3_TilingScale));; populate_derived(); } // Function implementations for IfcFilter -boost::optional< ::Ifc4x3_add1::IfcFilterTypeEnum::Value > Ifc4x3_add1::IfcFilter::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcFilterTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcFilterTypeEnum::Value > Ifc4x3_add1::IfcFilter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcFilterTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcFilter::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcFilterTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcFilterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcFilter::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[459]); } const IfcParse::entity& Ifc4x3_add1::IfcFilter::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[459]); } Ifc4x3_add1::IfcFilter::IfcFilter(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4x3_add1::IfcFilter::IfcFilter(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcFilterTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcFilter::IfcFilter(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcFilterTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFilterType -::Ifc4x3_add1::IfcFilterTypeEnum::Value Ifc4x3_add1::IfcFilterType::PredefinedType() const { return ::Ifc4x3_add1::IfcFilterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcFilterTypeEnum::Value Ifc4x3_add1::IfcFilterType::PredefinedType() const { return ::Ifc4x3_add1::IfcFilterTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcFilterType::setPredefinedType(::Ifc4x3_add1::IfcFilterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcFilterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcFilterType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[460]); } const IfcParse::entity& Ifc4x3_add1::IfcFilterType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[460]); } Ifc4x3_add1::IfcFilterType::IfcFilterType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4x3_add1::IfcFilterType::IfcFilterType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFilterTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcFilterType::IfcFilterType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFilterTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFireSuppressionTerminal -boost::optional< ::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x3_add1::IfcFireSuppressionTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x3_add1::IfcFireSuppressionTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcFireSuppressionTerminal::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcFireSuppressionTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[462]); } const IfcParse::entity& Ifc4x3_add1::IfcFireSuppressionTerminal::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[462]); } Ifc4x3_add1::IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_add1::IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFireSuppressionTerminalType -::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3_add1::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3_add1::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcFireSuppressionTerminalType::setPredefinedType(::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcFireSuppressionTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[463]); } const IfcParse::entity& Ifc4x3_add1::IfcFireSuppressionTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[463]); } Ifc4x3_add1::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_add1::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFixedReferenceSweptAreaSolid -::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcDirection>(true); } +::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcDirection>(true); } void Ifc4x3_add1::IfcFixedReferenceSweptAreaSolid::setFixedReference(::Ifc4x3_add1::IfcDirection* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcFixedReferenceSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[465]); } const IfcParse::entity& Ifc4x3_add1::IfcFixedReferenceSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[465]); } Ifc4x3_add1::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(IfcEntityInstanceData&& e) : IfcDirectrixCurveSweptAreaSolid(std::move(e)) { } -Ifc4x3_add1::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(::Ifc4x3_add1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add1::IfcCurve* v3_Directrix, ::Ifc4x3_add1::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_add1::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3_add1::IfcDirection* v6_FixedReference) : IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_FixedReference ? v6_FixedReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(::Ifc4x3_add1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add1::IfcCurve* v3_Directrix, ::Ifc4x3_add1::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_add1::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3_add1::IfcDirection* v6_FixedReference) : IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_FixedReference ? v6_FixedReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcFlowController @@ -11255,7 +11255,7 @@ Ifc4x3_add1::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(:: const IfcParse::entity& Ifc4x3_add1::IfcFlowController::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[466]); } const IfcParse::entity& Ifc4x3_add1::IfcFlowController::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[466]); } Ifc4x3_add1::IfcFlowController::IfcFlowController(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_add1::IfcFlowController::IfcFlowController(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add1::IfcFlowController::IfcFlowController(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowControllerType @@ -11263,7 +11263,7 @@ Ifc4x3_add1::IfcFlowController::IfcFlowController(std::string v1_GlobalId, ::Ifc const IfcParse::entity& Ifc4x3_add1::IfcFlowControllerType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[467]); } const IfcParse::entity& Ifc4x3_add1::IfcFlowControllerType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[467]); } Ifc4x3_add1::IfcFlowControllerType::IfcFlowControllerType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_add1::IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add1::IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowFitting @@ -11271,7 +11271,7 @@ Ifc4x3_add1::IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalI const IfcParse::entity& Ifc4x3_add1::IfcFlowFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[469]); } const IfcParse::entity& Ifc4x3_add1::IfcFlowFitting::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[469]); } Ifc4x3_add1::IfcFlowFitting::IfcFlowFitting(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_add1::IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add1::IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowFittingType @@ -11279,47 +11279,47 @@ Ifc4x3_add1::IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, ::Ifc4x3_ad const IfcParse::entity& Ifc4x3_add1::IfcFlowFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[470]); } const IfcParse::entity& Ifc4x3_add1::IfcFlowFittingType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[470]); } Ifc4x3_add1::IfcFlowFittingType::IfcFlowFittingType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_add1::IfcFlowFittingType::IfcFlowFittingType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add1::IfcFlowFittingType::IfcFlowFittingType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowInstrument -boost::optional< ::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Value > Ifc4x3_add1::IfcFlowInstrument::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Value > Ifc4x3_add1::IfcFlowInstrument::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcFlowInstrument::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcFlowInstrument::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[471]); } const IfcParse::entity& Ifc4x3_add1::IfcFlowInstrument::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[471]); } Ifc4x3_add1::IfcFlowInstrument::IfcFlowInstrument(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_add1::IfcFlowInstrument::IfcFlowInstrument(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcFlowInstrument::IfcFlowInstrument(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFlowInstrumentType -::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Value Ifc4x3_add1::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Value Ifc4x3_add1::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcFlowInstrumentType::setPredefinedType(::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcFlowInstrumentType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[472]); } const IfcParse::entity& Ifc4x3_add1::IfcFlowInstrumentType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[472]); } Ifc4x3_add1::IfcFlowInstrumentType::IfcFlowInstrumentType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_add1::IfcFlowInstrumentType::IfcFlowInstrumentType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcFlowInstrumentType::IfcFlowInstrumentType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFlowMeter -boost::optional< ::Ifc4x3_add1::IfcFlowMeterTypeEnum::Value > Ifc4x3_add1::IfcFlowMeter::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcFlowMeterTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcFlowMeterTypeEnum::Value > Ifc4x3_add1::IfcFlowMeter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcFlowMeterTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcFlowMeter::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcFlowMeterTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcFlowMeterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcFlowMeter::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[474]); } const IfcParse::entity& Ifc4x3_add1::IfcFlowMeter::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[474]); } Ifc4x3_add1::IfcFlowMeter::IfcFlowMeter(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_add1::IfcFlowMeter::IfcFlowMeter(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcFlowMeter::IfcFlowMeter(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFlowMeterType -::Ifc4x3_add1::IfcFlowMeterTypeEnum::Value Ifc4x3_add1::IfcFlowMeterType::PredefinedType() const { return ::Ifc4x3_add1::IfcFlowMeterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcFlowMeterTypeEnum::Value Ifc4x3_add1::IfcFlowMeterType::PredefinedType() const { return ::Ifc4x3_add1::IfcFlowMeterTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcFlowMeterType::setPredefinedType(::Ifc4x3_add1::IfcFlowMeterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcFlowMeterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcFlowMeterType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[475]); } const IfcParse::entity& Ifc4x3_add1::IfcFlowMeterType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[475]); } Ifc4x3_add1::IfcFlowMeterType::IfcFlowMeterType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_add1::IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFlowMeterTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFlowMeterTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFlowMovingDevice @@ -11327,7 +11327,7 @@ Ifc4x3_add1::IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, ::Ifc4x const IfcParse::entity& Ifc4x3_add1::IfcFlowMovingDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[477]); } const IfcParse::entity& Ifc4x3_add1::IfcFlowMovingDevice::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[477]); } Ifc4x3_add1::IfcFlowMovingDevice::IfcFlowMovingDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_add1::IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add1::IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowMovingDeviceType @@ -11335,7 +11335,7 @@ Ifc4x3_add1::IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, : const IfcParse::entity& Ifc4x3_add1::IfcFlowMovingDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[478]); } const IfcParse::entity& Ifc4x3_add1::IfcFlowMovingDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[478]); } Ifc4x3_add1::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_add1::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add1::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowSegment @@ -11343,7 +11343,7 @@ Ifc4x3_add1::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_Glo const IfcParse::entity& Ifc4x3_add1::IfcFlowSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[479]); } const IfcParse::entity& Ifc4x3_add1::IfcFlowSegment::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[479]); } Ifc4x3_add1::IfcFlowSegment::IfcFlowSegment(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_add1::IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add1::IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowSegmentType @@ -11351,7 +11351,7 @@ Ifc4x3_add1::IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, ::Ifc4x3_ad const IfcParse::entity& Ifc4x3_add1::IfcFlowSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[480]); } const IfcParse::entity& Ifc4x3_add1::IfcFlowSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[480]); } Ifc4x3_add1::IfcFlowSegmentType::IfcFlowSegmentType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_add1::IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add1::IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowStorageDevice @@ -11359,7 +11359,7 @@ Ifc4x3_add1::IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, ::I const IfcParse::entity& Ifc4x3_add1::IfcFlowStorageDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[481]); } const IfcParse::entity& Ifc4x3_add1::IfcFlowStorageDevice::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[481]); } Ifc4x3_add1::IfcFlowStorageDevice::IfcFlowStorageDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_add1::IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add1::IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowStorageDeviceType @@ -11367,7 +11367,7 @@ Ifc4x3_add1::IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, const IfcParse::entity& Ifc4x3_add1::IfcFlowStorageDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[482]); } const IfcParse::entity& Ifc4x3_add1::IfcFlowStorageDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[482]); } Ifc4x3_add1::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_add1::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add1::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowTerminal @@ -11375,7 +11375,7 @@ Ifc4x3_add1::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_G const IfcParse::entity& Ifc4x3_add1::IfcFlowTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[483]); } const IfcParse::entity& Ifc4x3_add1::IfcFlowTerminal::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[483]); } Ifc4x3_add1::IfcFlowTerminal::IfcFlowTerminal(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_add1::IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add1::IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowTerminalType @@ -11383,7 +11383,7 @@ Ifc4x3_add1::IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, ::Ifc4x3_ const IfcParse::entity& Ifc4x3_add1::IfcFlowTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[484]); } const IfcParse::entity& Ifc4x3_add1::IfcFlowTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[484]); } Ifc4x3_add1::IfcFlowTerminalType::IfcFlowTerminalType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_add1::IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add1::IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowTreatmentDevice @@ -11391,7 +11391,7 @@ Ifc4x3_add1::IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, : const IfcParse::entity& Ifc4x3_add1::IfcFlowTreatmentDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[485]); } const IfcParse::entity& Ifc4x3_add1::IfcFlowTreatmentDevice::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[485]); } Ifc4x3_add1::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_add1::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add1::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowTreatmentDeviceType @@ -11399,27 +11399,27 @@ Ifc4x3_add1::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_Globa const IfcParse::entity& Ifc4x3_add1::IfcFlowTreatmentDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[486]); } const IfcParse::entity& Ifc4x3_add1::IfcFlowTreatmentDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[486]); } Ifc4x3_add1::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_add1::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add1::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFooting -boost::optional< ::Ifc4x3_add1::IfcFootingTypeEnum::Value > Ifc4x3_add1::IfcFooting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcFootingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcFootingTypeEnum::Value > Ifc4x3_add1::IfcFooting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcFootingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcFooting::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcFootingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcFootingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcFooting::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[490]); } const IfcParse::entity& Ifc4x3_add1::IfcFooting::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[490]); } Ifc4x3_add1::IfcFooting::IfcFooting(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add1::IfcFooting::IfcFooting(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcFootingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcFooting::IfcFooting(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcFootingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFootingType -::Ifc4x3_add1::IfcFootingTypeEnum::Value Ifc4x3_add1::IfcFootingType::PredefinedType() const { return ::Ifc4x3_add1::IfcFootingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcFootingTypeEnum::Value Ifc4x3_add1::IfcFootingType::PredefinedType() const { return ::Ifc4x3_add1::IfcFootingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcFootingType::setPredefinedType(::Ifc4x3_add1::IfcFootingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcFootingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcFootingType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[491]); } const IfcParse::entity& Ifc4x3_add1::IfcFootingType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[491]); } Ifc4x3_add1::IfcFootingType::IfcFootingType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add1::IfcFootingType::IfcFootingType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFootingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcFootingType::IfcFootingType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcFootingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFurnishingElement @@ -11427,7 +11427,7 @@ Ifc4x3_add1::IfcFootingType::IfcFootingType(std::string v1_GlobalId, ::Ifc4x3_ad const IfcParse::entity& Ifc4x3_add1::IfcFurnishingElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[495]); } const IfcParse::entity& Ifc4x3_add1::IfcFurnishingElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[495]); } Ifc4x3_add1::IfcFurnishingElement::IfcFurnishingElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_add1::IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add1::IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFurnishingElementType @@ -11435,63 +11435,63 @@ Ifc4x3_add1::IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, const IfcParse::entity& Ifc4x3_add1::IfcFurnishingElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[496]); } const IfcParse::entity& Ifc4x3_add1::IfcFurnishingElementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[496]); } Ifc4x3_add1::IfcFurnishingElementType::IfcFurnishingElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_add1::IfcFurnishingElementType::IfcFurnishingElementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add1::IfcFurnishingElementType::IfcFurnishingElementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFurniture -boost::optional< ::Ifc4x3_add1::IfcFurnitureTypeEnum::Value > Ifc4x3_add1::IfcFurniture::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcFurnitureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcFurnitureTypeEnum::Value > Ifc4x3_add1::IfcFurniture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcFurnitureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcFurniture::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcFurnitureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcFurnitureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcFurniture::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[497]); } const IfcParse::entity& Ifc4x3_add1::IfcFurniture::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[497]); } Ifc4x3_add1::IfcFurniture::IfcFurniture(IfcEntityInstanceData&& e) : IfcFurnishingElement(std::move(e)) { } -Ifc4x3_add1::IfcFurniture::IfcFurniture(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcFurnitureTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcFurniture::IfcFurniture(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcFurnitureTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFurnitureType -::Ifc4x3_add1::IfcAssemblyPlaceEnum::Value Ifc4x3_add1::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x3_add1::IfcAssemblyPlaceEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcAssemblyPlaceEnum::Value Ifc4x3_add1::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x3_add1::IfcAssemblyPlaceEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcFurnitureType::setAssemblyPlace(::Ifc4x3_add1::IfcAssemblyPlaceEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcAssemblyPlaceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< ::Ifc4x3_add1::IfcFurnitureTypeEnum::Value > Ifc4x3_add1::IfcFurnitureType::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcFurnitureTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add1::IfcFurnitureTypeEnum::Value > Ifc4x3_add1::IfcFurnitureType::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcFurnitureTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add1::IfcFurnitureType::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcFurnitureTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add1::IfcFurnitureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add1::IfcFurnitureType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[498]); } const IfcParse::entity& Ifc4x3_add1::IfcFurnitureType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[498]); } Ifc4x3_add1::IfcFurnitureType::IfcFurnitureType(IfcEntityInstanceData&& e) : IfcFurnishingElementType(std::move(e)) { } -Ifc4x3_add1::IfcFurnitureType::IfcFurnitureType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, boost::optional< ::Ifc4x3_add1::IfcFurnitureTypeEnum::Value > v11_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcFurnitureType::IfcFurnitureType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, boost::optional< ::Ifc4x3_add1::IfcFurnitureTypeEnum::Value > v11_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGeographicCRS -boost::optional< std::string > Ifc4x3_add1::IfcGeographicCRS::GeodeticDatum() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcGeographicCRS::GeodeticDatum() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcGeographicCRS::setGeodeticDatum(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_add1::IfcGeographicCRS::PrimeMeridian() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcGeographicCRS::PrimeMeridian() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcGeographicCRS::setPrimeMeridian(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_add1::IfcNamedUnit* Ifc4x3_add1::IfcGeographicCRS::Unit() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcNamedUnit>(true); } +::Ifc4x3_add1::IfcNamedUnit* Ifc4x3_add1::IfcGeographicCRS::Unit() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcNamedUnit>(true); } void Ifc4x3_add1::IfcGeographicCRS::setUnit(::Ifc4x3_add1::IfcNamedUnit* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add1::IfcGeographicCRS::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[500]); } const IfcParse::entity& Ifc4x3_add1::IfcGeographicCRS::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[500]); } Ifc4x3_add1::IfcGeographicCRS::IfcGeographicCRS(IfcEntityInstanceData&& e) : IfcCoordinateReferenceSystem(std::move(e)) { } -Ifc4x3_add1::IfcGeographicCRS::IfcGeographicCRS(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_GeodeticDatum, boost::optional< std::string > v4_PrimeMeridian, ::Ifc4x3_add1::IfcNamedUnit* v5_Unit) : IfcCoordinateReferenceSystem(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_PrimeMeridian) {set_attribute_value(3, (*v4_PrimeMeridian)); }set_attribute_value(4, v5_Unit ? v5_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcGeographicCRS::IfcGeographicCRS(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_GeodeticDatum, boost::optional< std::string > v4_PrimeMeridian, ::Ifc4x3_add1::IfcNamedUnit* v5_Unit) : IfcCoordinateReferenceSystem(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_PrimeMeridian) {set_attribute_value(3, (*v4_PrimeMeridian)); }set_attribute_value(4, v5_Unit ? v5_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcGeographicElement -boost::optional< ::Ifc4x3_add1::IfcGeographicElementTypeEnum::Value > Ifc4x3_add1::IfcGeographicElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcGeographicElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcGeographicElementTypeEnum::Value > Ifc4x3_add1::IfcGeographicElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcGeographicElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcGeographicElement::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcGeographicElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcGeographicElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcGeographicElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[501]); } const IfcParse::entity& Ifc4x3_add1::IfcGeographicElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[501]); } Ifc4x3_add1::IfcGeographicElement::IfcGeographicElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_add1::IfcGeographicElement::IfcGeographicElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) : IfcElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcGeographicElement::IfcGeographicElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGeographicElementType -::Ifc4x3_add1::IfcGeographicElementTypeEnum::Value Ifc4x3_add1::IfcGeographicElementType::PredefinedType() const { return ::Ifc4x3_add1::IfcGeographicElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcGeographicElementTypeEnum::Value Ifc4x3_add1::IfcGeographicElementType::PredefinedType() const { return ::Ifc4x3_add1::IfcGeographicElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcGeographicElementType::setPredefinedType(::Ifc4x3_add1::IfcGeographicElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcGeographicElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcGeographicElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[502]); } const IfcParse::entity& Ifc4x3_add1::IfcGeographicElementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[502]); } Ifc4x3_add1::IfcGeographicElementType::IfcGeographicElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_add1::IfcGeographicElementType::IfcGeographicElementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcGeographicElementTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcGeographicElementType::IfcGeographicElementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcGeographicElementTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcGeometricCurveSet @@ -11499,16 +11499,16 @@ Ifc4x3_add1::IfcGeographicElementType::IfcGeographicElementType(std::string v1_G const IfcParse::entity& Ifc4x3_add1::IfcGeometricCurveSet::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[504]); } const IfcParse::entity& Ifc4x3_add1::IfcGeometricCurveSet::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[504]); } Ifc4x3_add1::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData&& e) : IfcGeometricSet(std::move(e)) { } -Ifc4x3_add1::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3_add1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3_add1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } // Function implementations for IfcGeometricRepresentationContext -int Ifc4x3_add1::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = data_.get_attribute_value(2); return v; } +int Ifc4x3_add1::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(int v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4x3_add1::IfcGeometricRepresentationContext::Precision() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add1::IfcGeometricRepresentationContext::Precision() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_add1::IfcAxis2Placement* Ifc4x3_add1::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcAxis2Placement>(true); } +::Ifc4x3_add1::IfcAxis2Placement* Ifc4x3_add1::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcAxis2Placement>(true); } void Ifc4x3_add1::IfcGeometricRepresentationContext::setWorldCoordinateSystem(::Ifc4x3_add1::IfcAxis2Placement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcGeometricRepresentationContext::TrueNorth() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcDirection>(true); } +::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcGeometricRepresentationContext::TrueNorth() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcDirection>(true); } void Ifc4x3_add1::IfcGeometricRepresentationContext::setTrueNorth(::Ifc4x3_add1::IfcDirection* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc4x3_add1::IfcGeometricRepresentationSubContext::list::ptr Ifc4x3_add1::IfcGeometricRepresentationContext::HasSubContexts() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[508], 6)->as(); } @@ -11517,7 +11517,7 @@ void Ifc4x3_add1::IfcGeometricRepresentationContext::setTrueNorth(::Ifc4x3_add1: const IfcParse::entity& Ifc4x3_add1::IfcGeometricRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[506]); } const IfcParse::entity& Ifc4x3_add1::IfcGeometricRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[506]); } Ifc4x3_add1::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(IfcEntityInstanceData&& e) : IfcRepresentationContext(std::move(e)) { } -Ifc4x3_add1::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, ::Ifc4x3_add1::IfcAxis2Placement* v5_WorldCoordinateSystem, ::Ifc4x3_add1::IfcDirection* v6_TrueNorth) : IfcRepresentationContext(IfcEntityInstanceData(storage_t(6))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, v5_WorldCoordinateSystem ? v5_WorldCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_TrueNorth ? v6_TrueNorth->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, ::Ifc4x3_add1::IfcAxis2Placement* v5_WorldCoordinateSystem, ::Ifc4x3_add1::IfcDirection* v6_TrueNorth) : IfcRepresentationContext(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, v5_WorldCoordinateSystem ? v5_WorldCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_TrueNorth ? v6_TrueNorth->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcGeometricRepresentationItem @@ -11525,33 +11525,33 @@ Ifc4x3_add1::IfcGeometricRepresentationContext::IfcGeometricRepresentationContex const IfcParse::entity& Ifc4x3_add1::IfcGeometricRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[507]); } const IfcParse::entity& Ifc4x3_add1::IfcGeometricRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[507]); } Ifc4x3_add1::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add1::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcGeometricRepresentationSubContext -::Ifc4x3_add1::IfcGeometricRepresentationContext* Ifc4x3_add1::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add1::IfcGeometricRepresentationContext>(true); } +::Ifc4x3_add1::IfcGeometricRepresentationContext* Ifc4x3_add1::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add1::IfcGeometricRepresentationContext>(true); } void Ifc4x3_add1::IfcGeometricRepresentationSubContext::setParentContext(::Ifc4x3_add1::IfcGeometricRepresentationContext* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_add1::IfcGeometricRepresentationSubContext::TargetScale() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add1::IfcGeometricRepresentationSubContext::TargetScale() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_add1::IfcGeometricProjectionEnum::Value Ifc4x3_add1::IfcGeometricRepresentationSubContext::TargetView() const { return ::Ifc4x3_add1::IfcGeometricProjectionEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_add1::IfcGeometricProjectionEnum::Value Ifc4x3_add1::IfcGeometricRepresentationSubContext::TargetView() const { return ::Ifc4x3_add1::IfcGeometricProjectionEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcGeometricRepresentationSubContext::setTargetView(::Ifc4x3_add1::IfcGeometricProjectionEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcGeometricProjectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -boost::optional< std::string > Ifc4x3_add1::IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_add1::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_add1::IfcGeometricRepresentationSubContext::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[508]); } const IfcParse::entity& Ifc4x3_add1::IfcGeometricRepresentationSubContext::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[508]); } Ifc4x3_add1::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(IfcEntityInstanceData&& e) : IfcGeometricRepresentationContext(std::move(e)) { } -Ifc4x3_add1::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x3_add1::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x3_add1::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext(IfcEntityInstanceData(storage_t(10))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, v7_ParentContext ? v7_ParentContext->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; populate_derived(); } +Ifc4x3_add1::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x3_add1::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x3_add1::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, v7_ParentContext ? v7_ParentContext->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; populate_derived(); } // Function implementations for IfcGeometricSet -aggregate_of< ::Ifc4x3_add1::IfcGeometricSetSelect >::ptr Ifc4x3_add1::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcGeometricSetSelect >(); } +aggregate_of< ::Ifc4x3_add1::IfcGeometricSetSelect >::ptr Ifc4x3_add1::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcGeometricSetSelect >(); } void Ifc4x3_add1::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x3_add1::IfcGeometricSetSelect >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add1::IfcGeometricSet::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[509]); } const IfcParse::entity& Ifc4x3_add1::IfcGeometricSet::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[509]); } Ifc4x3_add1::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_add1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_add1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } // Function implementations for IfcGeomodel @@ -11559,7 +11559,7 @@ Ifc4x3_add1::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_add1::IfcGe const IfcParse::entity& Ifc4x3_add1::IfcGeomodel::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[511]); } const IfcParse::entity& Ifc4x3_add1::IfcGeomodel::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[511]); } Ifc4x3_add1::IfcGeomodel::IfcGeomodel(IfcEntityInstanceData&& e) : IfcGeotechnicalAssembly(std::move(e)) { } -Ifc4x3_add1::IfcGeomodel::IfcGeomodel(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add1::IfcGeomodel::IfcGeomodel(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGeoslice @@ -11567,7 +11567,7 @@ Ifc4x3_add1::IfcGeomodel::IfcGeomodel(std::string v1_GlobalId, ::Ifc4x3_add1::If const IfcParse::entity& Ifc4x3_add1::IfcGeoslice::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[512]); } const IfcParse::entity& Ifc4x3_add1::IfcGeoslice::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[512]); } Ifc4x3_add1::IfcGeoslice::IfcGeoslice(IfcEntityInstanceData&& e) : IfcGeotechnicalAssembly(std::move(e)) { } -Ifc4x3_add1::IfcGeoslice::IfcGeoslice(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add1::IfcGeoslice::IfcGeoslice(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGeotechnicalAssembly @@ -11575,7 +11575,7 @@ Ifc4x3_add1::IfcGeoslice::IfcGeoslice(std::string v1_GlobalId, ::Ifc4x3_add1::If const IfcParse::entity& Ifc4x3_add1::IfcGeotechnicalAssembly::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[513]); } const IfcParse::entity& Ifc4x3_add1::IfcGeotechnicalAssembly::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[513]); } Ifc4x3_add1::IfcGeotechnicalAssembly::IfcGeotechnicalAssembly(IfcEntityInstanceData&& e) : IfcGeotechnicalElement(std::move(e)) { } -Ifc4x3_add1::IfcGeotechnicalAssembly::IfcGeotechnicalAssembly(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add1::IfcGeotechnicalAssembly::IfcGeotechnicalAssembly(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGeotechnicalElement @@ -11583,52 +11583,52 @@ Ifc4x3_add1::IfcGeotechnicalAssembly::IfcGeotechnicalAssembly(std::string v1_Glo const IfcParse::entity& Ifc4x3_add1::IfcGeotechnicalElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[514]); } const IfcParse::entity& Ifc4x3_add1::IfcGeotechnicalElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[514]); } Ifc4x3_add1::IfcGeotechnicalElement::IfcGeotechnicalElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_add1::IfcGeotechnicalElement::IfcGeotechnicalElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add1::IfcGeotechnicalElement::IfcGeotechnicalElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGeotechnicalStratum -boost::optional< ::Ifc4x3_add1::IfcGeotechnicalStratumTypeEnum::Value > Ifc4x3_add1::IfcGeotechnicalStratum::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcGeotechnicalStratumTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcGeotechnicalStratumTypeEnum::Value > Ifc4x3_add1::IfcGeotechnicalStratum::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcGeotechnicalStratumTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcGeotechnicalStratum::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcGeotechnicalStratumTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcGeotechnicalStratumTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcGeotechnicalStratum::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[515]); } const IfcParse::entity& Ifc4x3_add1::IfcGeotechnicalStratum::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[515]); } Ifc4x3_add1::IfcGeotechnicalStratum::IfcGeotechnicalStratum(IfcEntityInstanceData&& e) : IfcGeotechnicalElement(std::move(e)) { } -Ifc4x3_add1::IfcGeotechnicalStratum::IfcGeotechnicalStratum(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcGeotechnicalStratumTypeEnum::Value > v9_PredefinedType) : IfcGeotechnicalElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcGeotechnicalStratumTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcGeotechnicalStratum::IfcGeotechnicalStratum(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcGeotechnicalStratumTypeEnum::Value > v9_PredefinedType) : IfcGeotechnicalElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcGeotechnicalStratumTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGradientCurve -::Ifc4x3_add1::IfcBoundedCurve* Ifc4x3_add1::IfcGradientCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcBoundedCurve>(true); } +::Ifc4x3_add1::IfcBoundedCurve* Ifc4x3_add1::IfcGradientCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcBoundedCurve>(true); } void Ifc4x3_add1::IfcGradientCurve::setBaseCurve(::Ifc4x3_add1::IfcBoundedCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add1::IfcPlacement* Ifc4x3_add1::IfcGradientCurve::EndPoint() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcPlacement>(true); } +::Ifc4x3_add1::IfcPlacement* Ifc4x3_add1::IfcGradientCurve::EndPoint() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcPlacement>(true); } void Ifc4x3_add1::IfcGradientCurve::setEndPoint(::Ifc4x3_add1::IfcPlacement* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcGradientCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[519]); } const IfcParse::entity& Ifc4x3_add1::IfcGradientCurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[519]); } Ifc4x3_add1::IfcGradientCurve::IfcGradientCurve(IfcEntityInstanceData&& e) : IfcCompositeCurve(std::move(e)) { } -Ifc4x3_add1::IfcGradientCurve::IfcGradientCurve(aggregate_of< ::Ifc4x3_add1::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_add1::IfcBoundedCurve* v3_BaseCurve, ::Ifc4x3_add1::IfcPlacement* v4_EndPoint) : IfcCompositeCurve(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, v3_BaseCurve ? v3_BaseCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_EndPoint ? v4_EndPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcGradientCurve::IfcGradientCurve(aggregate_of< ::Ifc4x3_add1::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_add1::IfcBoundedCurve* v3_BaseCurve, ::Ifc4x3_add1::IfcPlacement* v4_EndPoint) : IfcCompositeCurve(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, v3_BaseCurve ? v3_BaseCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_EndPoint ? v4_EndPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcGrid -aggregate_of< ::Ifc4x3_add1::IfcGridAxis >::ptr Ifc4x3_add1::IfcGrid::UAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_add1::IfcGridAxis >(); } +aggregate_of< ::Ifc4x3_add1::IfcGridAxis >::ptr Ifc4x3_add1::IfcGrid::UAxes() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_add1::IfcGridAxis >(); } void Ifc4x3_add1::IfcGrid::setUAxes(aggregate_of< ::Ifc4x3_add1::IfcGridAxis >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } -aggregate_of< ::Ifc4x3_add1::IfcGridAxis >::ptr Ifc4x3_add1::IfcGrid::VAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_add1::IfcGridAxis >(); } +aggregate_of< ::Ifc4x3_add1::IfcGridAxis >::ptr Ifc4x3_add1::IfcGrid::VAxes() const { aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_add1::IfcGridAxis >(); } void Ifc4x3_add1::IfcGrid::setVAxes(aggregate_of< ::Ifc4x3_add1::IfcGridAxis >::ptr v) { set_attribute_value(8, (v)->generalize());if constexpr (false)unset_attribute_value(8); } -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcGridAxis >::ptr > Ifc4x3_add1::IfcGrid::WAxes() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3_add1::IfcGridAxis >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcGridAxis >::ptr > Ifc4x3_add1::IfcGrid::WAxes() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3_add1::IfcGridAxis >(); } void Ifc4x3_add1::IfcGrid::setWAxes(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcGridAxis >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x3_add1::IfcGridTypeEnum::Value > Ifc4x3_add1::IfcGrid::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcGridTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add1::IfcGridTypeEnum::Value > Ifc4x3_add1::IfcGrid::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcGridTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add1::IfcGrid::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcGridTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add1::IfcGridTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add1::IfcGrid::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[520]); } const IfcParse::entity& Ifc4x3_add1::IfcGrid::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[520]); } Ifc4x3_add1::IfcGrid::IfcGrid(IfcEntityInstanceData&& e) : IfcPositioningElement(std::move(e)) { } -Ifc4x3_add1::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, aggregate_of< ::Ifc4x3_add1::IfcGridAxis >::ptr v8_UAxes, aggregate_of< ::Ifc4x3_add1::IfcGridAxis >::ptr v9_VAxes, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcGridAxis >::ptr > v10_WAxes, boost::optional< ::Ifc4x3_add1::IfcGridTypeEnum::Value > v11_PredefinedType) : IfcPositioningElement(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_UAxes)->generalize());set_attribute_value(8, (v9_VAxes)->generalize()); if (v10_WAxes) {set_attribute_value(9, (*v10_WAxes)->generalize()); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, aggregate_of< ::Ifc4x3_add1::IfcGridAxis >::ptr v8_UAxes, aggregate_of< ::Ifc4x3_add1::IfcGridAxis >::ptr v9_VAxes, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcGridAxis >::ptr > v10_WAxes, boost::optional< ::Ifc4x3_add1::IfcGridTypeEnum::Value > v11_PredefinedType) : IfcPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_UAxes)->generalize());set_attribute_value(8, (v9_VAxes)->generalize()); if (v10_WAxes) {set_attribute_value(9, (*v10_WAxes)->generalize()); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGridAxis -boost::optional< std::string > Ifc4x3_add1::IfcGridAxis::AxisTag() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcGridAxis::AxisTag() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcCurve>(true); } +::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcCurve>(true); } void Ifc4x3_add1::IfcGridAxis::setAxisCurve(::Ifc4x3_add1::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -bool Ifc4x3_add1::IfcGridAxis::SameSense() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x3_add1::IfcGridAxis::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcGridAxis::setSameSense(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } ::Ifc4x3_add1::IfcGrid::list::ptr Ifc4x3_add1::IfcGridAxis::PartOfW() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[520], 9)->as(); } @@ -11639,19 +11639,19 @@ void Ifc4x3_add1::IfcGridAxis::setSameSense(bool v) { set_attribute_value(2, v); const IfcParse::entity& Ifc4x3_add1::IfcGridAxis::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[521]); } const IfcParse::entity& Ifc4x3_add1::IfcGridAxis::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[521]); } Ifc4x3_add1::IfcGridAxis::IfcGridAxis(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, ::Ifc4x3_add1::IfcCurve* v2_AxisCurve, bool v3_SameSense) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, v2_AxisCurve ? v2_AxisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } +Ifc4x3_add1::IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, ::Ifc4x3_add1::IfcCurve* v2_AxisCurve, bool v3_SameSense) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, v2_AxisCurve ? v2_AxisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } // Function implementations for IfcGridPlacement -::Ifc4x3_add1::IfcVirtualGridIntersection* Ifc4x3_add1::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcVirtualGridIntersection>(true); } +::Ifc4x3_add1::IfcVirtualGridIntersection* Ifc4x3_add1::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcVirtualGridIntersection>(true); } void Ifc4x3_add1::IfcGridPlacement::setPlacementLocation(::Ifc4x3_add1::IfcVirtualGridIntersection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add1::IfcGridPlacementDirectionSelect* Ifc4x3_add1::IfcGridPlacement::PlacementRefDirection() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcGridPlacementDirectionSelect>(true); } +::Ifc4x3_add1::IfcGridPlacementDirectionSelect* Ifc4x3_add1::IfcGridPlacement::PlacementRefDirection() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcGridPlacementDirectionSelect>(true); } void Ifc4x3_add1::IfcGridPlacement::setPlacementRefDirection(::Ifc4x3_add1::IfcGridPlacementDirectionSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcGridPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[522]); } const IfcParse::entity& Ifc4x3_add1::IfcGridPlacement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[522]); } Ifc4x3_add1::IfcGridPlacement::IfcGridPlacement(IfcEntityInstanceData&& e) : IfcObjectPlacement(std::move(e)) { } -Ifc4x3_add1::IfcGridPlacement::IfcGridPlacement(::Ifc4x3_add1::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_add1::IfcVirtualGridIntersection* v2_PlacementLocation, ::Ifc4x3_add1::IfcGridPlacementDirectionSelect* v3_PlacementRefDirection) : IfcObjectPlacement(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementLocation ? v2_PlacementLocation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PlacementRefDirection ? v3_PlacementRefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcGridPlacement::IfcGridPlacement(::Ifc4x3_add1::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_add1::IfcVirtualGridIntersection* v2_PlacementLocation, ::Ifc4x3_add1::IfcGridPlacementDirectionSelect* v3_PlacementRefDirection) : IfcObjectPlacement(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementLocation ? v2_PlacementLocation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PlacementRefDirection ? v3_PlacementRefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcGroup @@ -11661,144 +11661,144 @@ Ifc4x3_add1::IfcGridPlacement::IfcGridPlacement(::Ifc4x3_add1::IfcObjectPlacemen const IfcParse::entity& Ifc4x3_add1::IfcGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[525]); } const IfcParse::entity& Ifc4x3_add1::IfcGroup::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[525]); } Ifc4x3_add1::IfcGroup::IfcGroup(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_add1::IfcGroup::IfcGroup(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc4x3_add1::IfcGroup::IfcGroup(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcHalfSpaceSolid -::Ifc4x3_add1::IfcSurface* Ifc4x3_add1::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcSurface>(true); } +::Ifc4x3_add1::IfcSurface* Ifc4x3_add1::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcSurface>(true); } void Ifc4x3_add1::IfcHalfSpaceSolid::setBaseSurface(::Ifc4x3_add1::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -bool Ifc4x3_add1::IfcHalfSpaceSolid::AgreementFlag() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x3_add1::IfcHalfSpaceSolid::AgreementFlag() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcHalfSpaceSolid::setAgreementFlag(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcHalfSpaceSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[526]); } const IfcParse::entity& Ifc4x3_add1::IfcHalfSpaceSolid::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[526]); } Ifc4x3_add1::IfcHalfSpaceSolid::IfcHalfSpaceSolid(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcHalfSpaceSolid::IfcHalfSpaceSolid(::Ifc4x3_add1::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));; populate_derived(); } +Ifc4x3_add1::IfcHalfSpaceSolid::IfcHalfSpaceSolid(::Ifc4x3_add1::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));; populate_derived(); } // Function implementations for IfcHeatExchanger -boost::optional< ::Ifc4x3_add1::IfcHeatExchangerTypeEnum::Value > Ifc4x3_add1::IfcHeatExchanger::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcHeatExchangerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcHeatExchangerTypeEnum::Value > Ifc4x3_add1::IfcHeatExchanger::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcHeatExchanger::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcHeatExchangerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcHeatExchangerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcHeatExchanger::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[528]); } const IfcParse::entity& Ifc4x3_add1::IfcHeatExchanger::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[528]); } Ifc4x3_add1::IfcHeatExchanger::IfcHeatExchanger(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add1::IfcHeatExchanger::IfcHeatExchanger(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcHeatExchanger::IfcHeatExchanger(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcHeatExchangerType -::Ifc4x3_add1::IfcHeatExchangerTypeEnum::Value Ifc4x3_add1::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4x3_add1::IfcHeatExchangerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcHeatExchangerTypeEnum::Value Ifc4x3_add1::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4x3_add1::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcHeatExchangerType::setPredefinedType(::Ifc4x3_add1::IfcHeatExchangerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcHeatExchangerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcHeatExchangerType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[529]); } const IfcParse::entity& Ifc4x3_add1::IfcHeatExchangerType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[529]); } Ifc4x3_add1::IfcHeatExchangerType::IfcHeatExchangerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add1::IfcHeatExchangerType::IfcHeatExchangerType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcHeatExchangerType::IfcHeatExchangerType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcHumidifier -boost::optional< ::Ifc4x3_add1::IfcHumidifierTypeEnum::Value > Ifc4x3_add1::IfcHumidifier::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcHumidifierTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcHumidifierTypeEnum::Value > Ifc4x3_add1::IfcHumidifier::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcHumidifierTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcHumidifier::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcHumidifierTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcHumidifierTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcHumidifier::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[533]); } const IfcParse::entity& Ifc4x3_add1::IfcHumidifier::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[533]); } Ifc4x3_add1::IfcHumidifier::IfcHumidifier(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add1::IfcHumidifier::IfcHumidifier(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcHumidifierTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcHumidifier::IfcHumidifier(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcHumidifierTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcHumidifierType -::Ifc4x3_add1::IfcHumidifierTypeEnum::Value Ifc4x3_add1::IfcHumidifierType::PredefinedType() const { return ::Ifc4x3_add1::IfcHumidifierTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcHumidifierTypeEnum::Value Ifc4x3_add1::IfcHumidifierType::PredefinedType() const { return ::Ifc4x3_add1::IfcHumidifierTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcHumidifierType::setPredefinedType(::Ifc4x3_add1::IfcHumidifierTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcHumidifierTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcHumidifierType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[534]); } const IfcParse::entity& Ifc4x3_add1::IfcHumidifierType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[534]); } Ifc4x3_add1::IfcHumidifierType::IfcHumidifierType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add1::IfcHumidifierType::IfcHumidifierType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcHumidifierTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcHumidifierType::IfcHumidifierType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcHumidifierTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcIShapeProfileDef -double Ifc4x3_add1::IfcIShapeProfileDef::OverallWidth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add1::IfcIShapeProfileDef::OverallWidth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcIShapeProfileDef::setOverallWidth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_add1::IfcIShapeProfileDef::OverallDepth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add1::IfcIShapeProfileDef::OverallDepth() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcIShapeProfileDef::setOverallDepth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_add1::IfcIShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_add1::IfcIShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcIShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_add1::IfcIShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_add1::IfcIShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcIShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_add1::IfcIShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add1::IfcIShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcIShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_add1::IfcIShapeProfileDef::FlangeEdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_add1::IfcIShapeProfileDef::FlangeEdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcIShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_add1::IfcIShapeProfileDef::FlangeSlope() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_add1::IfcIShapeProfileDef::FlangeSlope() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_add1::IfcIShapeProfileDef::setFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_add1::IfcIShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[563]); } const IfcParse::entity& Ifc4x3_add1::IfcIShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[563]); } Ifc4x3_add1::IfcIShapeProfileDef::IfcIShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_add1::IfcIShapeProfileDef::IfcIShapeProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::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(storage_t(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } +Ifc4x3_add1::IfcIShapeProfileDef::IfcIShapeProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::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(in_memory_attribute_storage(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } // Function implementations for IfcImageTexture -std::string Ifc4x3_add1::IfcImageTexture::URLReference() const { std::string v = data_.get_attribute_value(5); return v; } +std::string Ifc4x3_add1::IfcImageTexture::URLReference() const { std::string v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcImageTexture::setURLReference(std::string v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcImageTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[538]); } const IfcParse::entity& Ifc4x3_add1::IfcImageTexture::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[538]); } Ifc4x3_add1::IfcImageTexture::IfcImageTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -Ifc4x3_add1::IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_add1::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) : IfcSurfaceTexture(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference));; populate_derived(); } +Ifc4x3_add1::IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_add1::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) : IfcSurfaceTexture(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference));; populate_derived(); } // Function implementations for IfcImpactProtectionDevice -boost::optional< ::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Value > Ifc4x3_add1::IfcImpactProtectionDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Value > Ifc4x3_add1::IfcImpactProtectionDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcImpactProtectionDevice::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcImpactProtectionDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[539]); } const IfcParse::entity& Ifc4x3_add1::IfcImpactProtectionDevice::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[539]); } Ifc4x3_add1::IfcImpactProtectionDevice::IfcImpactProtectionDevice(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_add1::IfcImpactProtectionDevice::IfcImpactProtectionDevice(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcImpactProtectionDevice::IfcImpactProtectionDevice(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcImpactProtectionDeviceType -::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Value Ifc4x3_add1::IfcImpactProtectionDeviceType::PredefinedType() const { return ::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Value Ifc4x3_add1::IfcImpactProtectionDeviceType::PredefinedType() const { return ::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcImpactProtectionDeviceType::setPredefinedType(::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcImpactProtectionDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[540]); } const IfcParse::entity& Ifc4x3_add1::IfcImpactProtectionDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[540]); } Ifc4x3_add1::IfcImpactProtectionDeviceType::IfcImpactProtectionDeviceType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_add1::IfcImpactProtectionDeviceType::IfcImpactProtectionDeviceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcImpactProtectionDeviceType::IfcImpactProtectionDeviceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcImpactProtectionDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcIndexedColourMap -::Ifc4x3_add1::IfcTessellatedFaceSet* Ifc4x3_add1::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcTessellatedFaceSet>(true); } +::Ifc4x3_add1::IfcTessellatedFaceSet* Ifc4x3_add1::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcTessellatedFaceSet>(true); } void Ifc4x3_add1::IfcIndexedColourMap::setMappedTo(::Ifc4x3_add1::IfcTessellatedFaceSet* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< double > Ifc4x3_add1::IfcIndexedColourMap::Opacity() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_add1::IfcIndexedColourMap::Opacity() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcIndexedColourMap::setOpacity(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_add1::IfcColourRgbList* Ifc4x3_add1::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcColourRgbList>(true); } +::Ifc4x3_add1::IfcColourRgbList* Ifc4x3_add1::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcColourRgbList>(true); } void Ifc4x3_add1::IfcIndexedColourMap::setColours(::Ifc4x3_add1::IfcColourRgbList* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -std::vector< int > /*[1:?]*/ Ifc4x3_add1::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +std::vector< int > /*[1:?]*/ Ifc4x3_add1::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcIndexedColourMap::setColourIndex(std::vector< int > /*[1:?]*/ v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcIndexedColourMap::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[542]); } const IfcParse::entity& Ifc4x3_add1::IfcIndexedColourMap::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[542]); } Ifc4x3_add1::IfcIndexedColourMap::IfcIndexedColourMap(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3_add1::IfcTessellatedFaceSet* v1_MappedTo, boost::optional< double > v2_Opacity, ::Ifc4x3_add1::IfcColourRgbList* v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) : IfcPresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_MappedTo ? v1_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, v3_Colours ? v3_Colours->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ColourIndex));; populate_derived(); } +Ifc4x3_add1::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3_add1::IfcTessellatedFaceSet* v1_MappedTo, boost::optional< double > v2_Opacity, ::Ifc4x3_add1::IfcColourRgbList* v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_MappedTo ? v1_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, v3_Colours ? v3_Colours->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ColourIndex));; populate_derived(); } // Function implementations for IfcIndexedPolyCurve -::Ifc4x3_add1::IfcCartesianPointList* Ifc4x3_add1::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCartesianPointList>(true); } +::Ifc4x3_add1::IfcCartesianPointList* Ifc4x3_add1::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCartesianPointList>(true); } void Ifc4x3_add1::IfcIndexedPolyCurve::setPoints(::Ifc4x3_add1::IfcCartesianPointList* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcSegmentIndexSelect >::ptr > Ifc4x3_add1::IfcIndexedPolyCurve::Segments() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcSegmentIndexSelect >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcSegmentIndexSelect >::ptr > Ifc4x3_add1::IfcIndexedPolyCurve::Segments() const { if(get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcSegmentIndexSelect >(); } void Ifc4x3_add1::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcSegmentIndexSelect >::ptr > v) { if (v) {set_attribute_value(1, (*v)->generalize());} else {unset_attribute_value(1);} } -boost::optional< bool > Ifc4x3_add1::IfcIndexedPolyCurve::SelfIntersect() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } bool v = data_.get_attribute_value(2); return v; } +boost::optional< bool > Ifc4x3_add1::IfcIndexedPolyCurve::SelfIntersect() const { if(get_attribute_value(2).isNull()) { return boost::none; } bool v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_add1::IfcIndexedPolyCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[543]); } const IfcParse::entity& Ifc4x3_add1::IfcIndexedPolyCurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[543]); } Ifc4x3_add1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_add1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_add1::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Points ? v1_Points->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Segments) {set_attribute_value(1, (*v2_Segments)->generalize()); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); }; populate_derived(); } +Ifc4x3_add1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_add1::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Points ? v1_Points->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Segments) {set_attribute_value(1, (*v2_Segments)->generalize()); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); }; populate_derived(); } // Function implementations for IfcIndexedPolygonalFace -std::vector< int > /*[3:?]*/ Ifc4x3_add1::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = data_.get_attribute_value(0); return v; } +std::vector< int > /*[3:?]*/ Ifc4x3_add1::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcIndexedPolygonalFace::setCoordIndex(std::vector< int > /*[3:?]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_add1::IfcPolygonalFaceSet::list::ptr Ifc4x3_add1::IfcIndexedPolygonalFace::ToFaceSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[770], 2)->as(); } @@ -11807,69 +11807,69 @@ void Ifc4x3_add1::IfcIndexedPolygonalFace::setCoordIndex(std::vector< int > /*[3 const IfcParse::entity& Ifc4x3_add1::IfcIndexedPolygonalFace::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[544]); } const IfcParse::entity& Ifc4x3_add1::IfcIndexedPolygonalFace::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[544]); } Ifc4x3_add1::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(IfcEntityInstanceData&& e) : IfcTessellatedItem(std::move(e)) { } -Ifc4x3_add1::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(std::vector< int > /*[3:?]*/ v1_CoordIndex) : IfcTessellatedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CoordIndex));; populate_derived(); } +Ifc4x3_add1::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(std::vector< int > /*[3:?]*/ v1_CoordIndex) : IfcTessellatedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CoordIndex));; populate_derived(); } // Function implementations for IfcIndexedPolygonalFaceWithVoids -std::vector< std::vector< int > > Ifc4x3_add1::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { std::vector< std::vector< int > > v = data_.get_attribute_value(1); return v; } +std::vector< std::vector< int > > Ifc4x3_add1::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { std::vector< std::vector< int > > v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcIndexedPolygonalFaceWithVoids::setInnerCoordIndices(std::vector< std::vector< int > > v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcIndexedPolygonalFaceWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[545]); } const IfcParse::entity& Ifc4x3_add1::IfcIndexedPolygonalFaceWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[545]); } Ifc4x3_add1::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(IfcEntityInstanceData&& e) : IfcIndexedPolygonalFace(std::move(e)) { } -Ifc4x3_add1::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) : IfcIndexedPolygonalFace(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices));; populate_derived(); } +Ifc4x3_add1::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) : IfcIndexedPolygonalFace(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices));; populate_derived(); } // Function implementations for IfcIndexedPolygonalTextureMap -aggregate_of< ::Ifc4x3_add1::IfcTextureCoordinateIndices >::ptr Ifc4x3_add1::IfcIndexedPolygonalTextureMap::TexCoordIndices() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_add1::IfcTextureCoordinateIndices >(); } +aggregate_of< ::Ifc4x3_add1::IfcTextureCoordinateIndices >::ptr Ifc4x3_add1::IfcIndexedPolygonalTextureMap::TexCoordIndices() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_add1::IfcTextureCoordinateIndices >(); } void Ifc4x3_add1::IfcIndexedPolygonalTextureMap::setTexCoordIndices(aggregate_of< ::Ifc4x3_add1::IfcTextureCoordinateIndices >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcIndexedPolygonalTextureMap::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[546]); } const IfcParse::entity& Ifc4x3_add1::IfcIndexedPolygonalTextureMap::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[546]); } Ifc4x3_add1::IfcIndexedPolygonalTextureMap::IfcIndexedPolygonalTextureMap(IfcEntityInstanceData&& e) : IfcIndexedTextureMap(std::move(e)) { } -Ifc4x3_add1::IfcIndexedPolygonalTextureMap::IfcIndexedPolygonalTextureMap(aggregate_of< ::Ifc4x3_add1::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_add1::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_add1::IfcTextureVertexList* v3_TexCoords, aggregate_of< ::Ifc4x3_add1::IfcTextureCoordinateIndices >::ptr v4_TexCoordIndices) : IfcIndexedTextureMap(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_TexCoordIndices)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcIndexedPolygonalTextureMap::IfcIndexedPolygonalTextureMap(aggregate_of< ::Ifc4x3_add1::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_add1::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_add1::IfcTextureVertexList* v3_TexCoords, aggregate_of< ::Ifc4x3_add1::IfcTextureCoordinateIndices >::ptr v4_TexCoordIndices) : IfcIndexedTextureMap(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_TexCoordIndices)->generalize());; populate_derived(); } // Function implementations for IfcIndexedTextureMap -::Ifc4x3_add1::IfcTessellatedFaceSet* Ifc4x3_add1::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcTessellatedFaceSet>(true); } +::Ifc4x3_add1::IfcTessellatedFaceSet* Ifc4x3_add1::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcTessellatedFaceSet>(true); } void Ifc4x3_add1::IfcIndexedTextureMap::setMappedTo(::Ifc4x3_add1::IfcTessellatedFaceSet* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add1::IfcTextureVertexList* Ifc4x3_add1::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcTextureVertexList>(true); } +::Ifc4x3_add1::IfcTextureVertexList* Ifc4x3_add1::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcTextureVertexList>(true); } void Ifc4x3_add1::IfcIndexedTextureMap::setTexCoords(::Ifc4x3_add1::IfcTextureVertexList* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcIndexedTextureMap::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[547]); } const IfcParse::entity& Ifc4x3_add1::IfcIndexedTextureMap::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[547]); } Ifc4x3_add1::IfcIndexedTextureMap::IfcIndexedTextureMap(IfcEntityInstanceData&& e) : IfcTextureCoordinate(std::move(e)) { } -Ifc4x3_add1::IfcIndexedTextureMap::IfcIndexedTextureMap(aggregate_of< ::Ifc4x3_add1::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_add1::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_add1::IfcTextureVertexList* v3_TexCoords) : IfcTextureCoordinate(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcIndexedTextureMap::IfcIndexedTextureMap(aggregate_of< ::Ifc4x3_add1::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_add1::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_add1::IfcTextureVertexList* v3_TexCoords) : IfcTextureCoordinate(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcIndexedTriangleTextureMap -boost::optional< std::vector< std::vector< int > > > Ifc4x3_add1::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::vector< int > > v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< std::vector< int > > > Ifc4x3_add1::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::vector< int > > v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcIndexedTriangleTextureMap::setTexCoordIndex(boost::optional< std::vector< std::vector< int > > > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_add1::IfcIndexedTriangleTextureMap::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[548]); } const IfcParse::entity& Ifc4x3_add1::IfcIndexedTriangleTextureMap::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[548]); } Ifc4x3_add1::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(IfcEntityInstanceData&& e) : IfcIndexedTextureMap(std::move(e)) { } -Ifc4x3_add1::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(aggregate_of< ::Ifc4x3_add1::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_add1::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_add1::IfcTextureVertexList* v3_TexCoords, boost::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) : IfcIndexedTextureMap(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); }; populate_derived(); } +Ifc4x3_add1::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(aggregate_of< ::Ifc4x3_add1::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_add1::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_add1::IfcTextureVertexList* v3_TexCoords, boost::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) : IfcIndexedTextureMap(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); }; populate_derived(); } // Function implementations for IfcInterceptor -boost::optional< ::Ifc4x3_add1::IfcInterceptorTypeEnum::Value > Ifc4x3_add1::IfcInterceptor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcInterceptorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcInterceptorTypeEnum::Value > Ifc4x3_add1::IfcInterceptor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcInterceptorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcInterceptor::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcInterceptorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcInterceptorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcInterceptor::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[552]); } const IfcParse::entity& Ifc4x3_add1::IfcInterceptor::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[552]); } Ifc4x3_add1::IfcInterceptor::IfcInterceptor(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4x3_add1::IfcInterceptor::IfcInterceptor(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcInterceptorTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcInterceptor::IfcInterceptor(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcInterceptorTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcInterceptorType -::Ifc4x3_add1::IfcInterceptorTypeEnum::Value Ifc4x3_add1::IfcInterceptorType::PredefinedType() const { return ::Ifc4x3_add1::IfcInterceptorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcInterceptorTypeEnum::Value Ifc4x3_add1::IfcInterceptorType::PredefinedType() const { return ::Ifc4x3_add1::IfcInterceptorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcInterceptorType::setPredefinedType(::Ifc4x3_add1::IfcInterceptorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcInterceptorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcInterceptorType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[553]); } const IfcParse::entity& Ifc4x3_add1::IfcInterceptorType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[553]); } Ifc4x3_add1::IfcInterceptorType::IfcInterceptorType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4x3_add1::IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcInterceptorTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcInterceptorTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcIntersectionCurve @@ -11877,174 +11877,174 @@ Ifc4x3_add1::IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, ::I const IfcParse::entity& Ifc4x3_add1::IfcIntersectionCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[557]); } const IfcParse::entity& Ifc4x3_add1::IfcIntersectionCurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[557]); } Ifc4x3_add1::IfcIntersectionCurve::IfcIntersectionCurve(IfcEntityInstanceData&& e) : IfcSurfaceCurve(std::move(e)) { } -Ifc4x3_add1::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4x3_add1::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_add1::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } +Ifc4x3_add1::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4x3_add1::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_add1::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcInventory -boost::optional< ::Ifc4x3_add1::IfcInventoryTypeEnum::Value > Ifc4x3_add1::IfcInventory::PredefinedType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcInventoryTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3_add1::IfcInventoryTypeEnum::Value > Ifc4x3_add1::IfcInventory::PredefinedType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcInventoryTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_add1::IfcInventory::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcInventoryTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3_add1::IfcInventoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -::Ifc4x3_add1::IfcActorSelect* Ifc4x3_add1::IfcInventory::Jurisdiction() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add1::IfcActorSelect>(true); } +::Ifc4x3_add1::IfcActorSelect* Ifc4x3_add1::IfcInventory::Jurisdiction() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add1::IfcActorSelect>(true); } void Ifc4x3_add1::IfcInventory::setJurisdiction(::Ifc4x3_add1::IfcActorSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPerson >::ptr > Ifc4x3_add1::IfcInventory::ResponsiblePersons() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_add1::IfcPerson >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPerson >::ptr > Ifc4x3_add1::IfcInventory::ResponsiblePersons() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_add1::IfcPerson >(); } void Ifc4x3_add1::IfcInventory::setResponsiblePersons(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPerson >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_add1::IfcInventory::LastUpdateDate() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcInventory::LastUpdateDate() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcInventory::setLastUpdateDate(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_add1::IfcCostValue* Ifc4x3_add1::IfcInventory::CurrentValue() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_add1::IfcCostValue>(true); } +::Ifc4x3_add1::IfcCostValue* Ifc4x3_add1::IfcInventory::CurrentValue() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_add1::IfcCostValue>(true); } void Ifc4x3_add1::IfcInventory::setCurrentValue(::Ifc4x3_add1::IfcCostValue* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_add1::IfcCostValue* Ifc4x3_add1::IfcInventory::OriginalValue() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_add1::IfcCostValue>(true); } +::Ifc4x3_add1::IfcCostValue* Ifc4x3_add1::IfcInventory::OriginalValue() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_add1::IfcCostValue>(true); } void Ifc4x3_add1::IfcInventory::setOriginalValue(::Ifc4x3_add1::IfcCostValue* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_add1::IfcInventory::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[558]); } const IfcParse::entity& Ifc4x3_add1::IfcInventory::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[558]); } Ifc4x3_add1::IfcInventory::IfcInventory(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x3_add1::IfcInventory::IfcInventory(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_add1::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_add1::IfcActorSelect* v7_Jurisdiction, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPerson >::ptr > v8_ResponsiblePersons, boost::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_add1::IfcCostValue* v10_CurrentValue, ::Ifc4x3_add1::IfcCostValue* v11_OriginalValue) : IfcGroup(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add1::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, v7_Jurisdiction ? v7_Jurisdiction->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_ResponsiblePersons) {set_attribute_value(7, (*v8_ResponsiblePersons)->generalize()); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, v10_CurrentValue ? v10_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_OriginalValue ? v11_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcInventory::IfcInventory(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_add1::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_add1::IfcActorSelect* v7_Jurisdiction, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPerson >::ptr > v8_ResponsiblePersons, boost::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_add1::IfcCostValue* v10_CurrentValue, ::Ifc4x3_add1::IfcCostValue* v11_OriginalValue) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add1::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, v7_Jurisdiction ? v7_Jurisdiction->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_ResponsiblePersons) {set_attribute_value(7, (*v8_ResponsiblePersons)->generalize()); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, v10_CurrentValue ? v10_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_OriginalValue ? v11_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcIrregularTimeSeries -aggregate_of< ::Ifc4x3_add1::IfcIrregularTimeSeriesValue >::ptr Ifc4x3_add1::IfcIrregularTimeSeries::Values() const { aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_add1::IfcIrregularTimeSeriesValue >(); } +aggregate_of< ::Ifc4x3_add1::IfcIrregularTimeSeriesValue >::ptr Ifc4x3_add1::IfcIrregularTimeSeries::Values() const { aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_add1::IfcIrregularTimeSeriesValue >(); } void Ifc4x3_add1::IfcIrregularTimeSeries::setValues(aggregate_of< ::Ifc4x3_add1::IfcIrregularTimeSeriesValue >::ptr v) { set_attribute_value(8, (v)->generalize());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_add1::IfcIrregularTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[561]); } const IfcParse::entity& Ifc4x3_add1::IfcIrregularTimeSeries::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[561]); } Ifc4x3_add1::IfcIrregularTimeSeries::IfcIrregularTimeSeries(IfcEntityInstanceData&& e) : IfcTimeSeries(std::move(e)) { } -Ifc4x3_add1::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add1::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add1::IfcUnit* v8_Unit, aggregate_of< ::Ifc4x3_add1::IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_Values)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add1::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add1::IfcUnit* v8_Unit, aggregate_of< ::Ifc4x3_add1::IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_Values)->generalize());; populate_derived(); } // Function implementations for IfcIrregularTimeSeriesValue -std::string Ifc4x3_add1::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_add1::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcIrregularTimeSeriesValue::setTimeStamp(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr Ifc4x3_add1::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcValue >(); } +aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr Ifc4x3_add1::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcValue >(); } void Ifc4x3_add1::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcIrregularTimeSeriesValue::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[562]); } const IfcParse::entity& Ifc4x3_add1::IfcIrregularTimeSeriesValue::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[562]); } Ifc4x3_add1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, (v2_ListValues)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, (v2_ListValues)->generalize());; populate_derived(); } // Function implementations for IfcJunctionBox -boost::optional< ::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Value > Ifc4x3_add1::IfcJunctionBox::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcJunctionBoxTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Value > Ifc4x3_add1::IfcJunctionBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcJunctionBox::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcJunctionBox::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[565]); } const IfcParse::entity& Ifc4x3_add1::IfcJunctionBox::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[565]); } Ifc4x3_add1::IfcJunctionBox::IfcJunctionBox(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x3_add1::IfcJunctionBox::IfcJunctionBox(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcJunctionBox::IfcJunctionBox(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcJunctionBoxType -::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Value Ifc4x3_add1::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4x3_add1::IfcJunctionBoxTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Value Ifc4x3_add1::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4x3_add1::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcJunctionBoxType::setPredefinedType(::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcJunctionBoxType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[566]); } const IfcParse::entity& Ifc4x3_add1::IfcJunctionBoxType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[566]); } Ifc4x3_add1::IfcJunctionBoxType::IfcJunctionBoxType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x3_add1::IfcJunctionBoxType::IfcJunctionBoxType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcJunctionBoxType::IfcJunctionBoxType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcKerb -boost::optional< ::Ifc4x3_add1::IfcKerbTypeEnum::Value > Ifc4x3_add1::IfcKerb::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcKerbTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcKerbTypeEnum::Value > Ifc4x3_add1::IfcKerb::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcKerbTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcKerb::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcKerbTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcKerbTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcKerb::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[568]); } const IfcParse::entity& Ifc4x3_add1::IfcKerb::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[568]); } Ifc4x3_add1::IfcKerb::IfcKerb(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add1::IfcKerb::IfcKerb(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcKerbTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcKerbTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcKerb::IfcKerb(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcKerbTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcKerbTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcKerbType -::Ifc4x3_add1::IfcKerbTypeEnum::Value Ifc4x3_add1::IfcKerbType::PredefinedType() const { return ::Ifc4x3_add1::IfcKerbTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcKerbTypeEnum::Value Ifc4x3_add1::IfcKerbType::PredefinedType() const { return ::Ifc4x3_add1::IfcKerbTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcKerbType::setPredefinedType(::Ifc4x3_add1::IfcKerbTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcKerbTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcKerbType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[569]); } const IfcParse::entity& Ifc4x3_add1::IfcKerbType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[569]); } Ifc4x3_add1::IfcKerbType::IfcKerbType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add1::IfcKerbType::IfcKerbType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcKerbTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcKerbTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcKerbType::IfcKerbType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcKerbTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcKerbTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLShapeProfileDef -double Ifc4x3_add1::IfcLShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add1::IfcLShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcLShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< double > Ifc4x3_add1::IfcLShapeProfileDef::Width() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_add1::IfcLShapeProfileDef::Width() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcLShapeProfileDef::setWidth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -double Ifc4x3_add1::IfcLShapeProfileDef::Thickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_add1::IfcLShapeProfileDef::Thickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcLShapeProfileDef::setThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_add1::IfcLShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_add1::IfcLShapeProfileDef::FilletRadius() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcLShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_add1::IfcLShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add1::IfcLShapeProfileDef::EdgeRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcLShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_add1::IfcLShapeProfileDef::LegSlope() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_add1::IfcLShapeProfileDef::LegSlope() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcLShapeProfileDef::setLegSlope(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcLShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[619]); } const IfcParse::entity& Ifc4x3_add1::IfcLShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[619]); } Ifc4x3_add1::IfcLShapeProfileDef::IfcLShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_add1::IfcLShapeProfileDef::IfcLShapeProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::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(storage_t(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); }; populate_derived(); } +Ifc4x3_add1::IfcLShapeProfileDef::IfcLShapeProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::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(in_memory_attribute_storage(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); }; populate_derived(); } // Function implementations for IfcLaborResource -boost::optional< ::Ifc4x3_add1::IfcLaborResourceTypeEnum::Value > Ifc4x3_add1::IfcLaborResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcLaborResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add1::IfcLaborResourceTypeEnum::Value > Ifc4x3_add1::IfcLaborResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcLaborResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add1::IfcLaborResource::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcLaborResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add1::IfcLaborResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add1::IfcLaborResource::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[574]); } const IfcParse::entity& Ifc4x3_add1::IfcLaborResource::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[574]); } Ifc4x3_add1::IfcLaborResource::IfcLaborResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_add1::IfcLaborResource::IfcLaborResource(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_add1::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcLaborResource::IfcLaborResource(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_add1::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLaborResourceType -::Ifc4x3_add1::IfcLaborResourceTypeEnum::Value Ifc4x3_add1::IfcLaborResourceType::PredefinedType() const { return ::Ifc4x3_add1::IfcLaborResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_add1::IfcLaborResourceTypeEnum::Value Ifc4x3_add1::IfcLaborResourceType::PredefinedType() const { return ::Ifc4x3_add1::IfcLaborResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_add1::IfcLaborResourceType::setPredefinedType(::Ifc4x3_add1::IfcLaborResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_add1::IfcLaborResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_add1::IfcLaborResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[575]); } const IfcParse::entity& Ifc4x3_add1::IfcLaborResourceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[575]); } Ifc4x3_add1::IfcLaborResourceType::IfcLaborResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_add1::IfcLaborResourceType::IfcLaborResourceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::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_add1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_add1::IfcLaborResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add1::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcLaborResourceType::IfcLaborResourceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::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_add1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_add1::IfcLaborResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add1::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcLagTime -::Ifc4x3_add1::IfcTimeOrRatioSelect* Ifc4x3_add1::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcTimeOrRatioSelect>(true); } +::Ifc4x3_add1::IfcTimeOrRatioSelect* Ifc4x3_add1::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcTimeOrRatioSelect>(true); } void Ifc4x3_add1::IfcLagTime::setLagValue(::Ifc4x3_add1::IfcTimeOrRatioSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add1::IfcTaskDurationEnum::Value Ifc4x3_add1::IfcLagTime::DurationType() const { return ::Ifc4x3_add1::IfcTaskDurationEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x3_add1::IfcTaskDurationEnum::Value Ifc4x3_add1::IfcLagTime::DurationType() const { return ::Ifc4x3_add1::IfcTaskDurationEnum::FromString(get_attribute_value(4)); } void Ifc4x3_add1::IfcLagTime::setDurationType(::Ifc4x3_add1::IfcTaskDurationEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3_add1::IfcTaskDurationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add1::IfcLagTime::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[577]); } const IfcParse::entity& Ifc4x3_add1::IfcLagTime::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[577]); } Ifc4x3_add1::IfcLagTime::IfcLagTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x3_add1::IfcLagTime::IfcLagTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_add1::IfcTimeOrRatioSelect* v4_LagValue, ::Ifc4x3_add1::IfcTaskDurationEnum::Value v5_DurationType) : IfcSchedulingTime(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_LagValue ? v4_LagValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add1::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType)));; populate_derived(); } +Ifc4x3_add1::IfcLagTime::IfcLagTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_add1::IfcTimeOrRatioSelect* v4_LagValue, ::Ifc4x3_add1::IfcTaskDurationEnum::Value v5_DurationType) : IfcSchedulingTime(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_LagValue ? v4_LagValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add1::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType)));; populate_derived(); } // Function implementations for IfcLamp -boost::optional< ::Ifc4x3_add1::IfcLampTypeEnum::Value > Ifc4x3_add1::IfcLamp::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcLampTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcLampTypeEnum::Value > Ifc4x3_add1::IfcLamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcLampTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcLamp::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcLampTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcLampTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcLamp::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[578]); } const IfcParse::entity& Ifc4x3_add1::IfcLamp::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[578]); } Ifc4x3_add1::IfcLamp::IfcLamp(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_add1::IfcLamp::IfcLamp(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcLampTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcLamp::IfcLamp(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcLampTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLampType -::Ifc4x3_add1::IfcLampTypeEnum::Value Ifc4x3_add1::IfcLampType::PredefinedType() const { return ::Ifc4x3_add1::IfcLampTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcLampTypeEnum::Value Ifc4x3_add1::IfcLampType::PredefinedType() const { return ::Ifc4x3_add1::IfcLampTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcLampType::setPredefinedType(::Ifc4x3_add1::IfcLampTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcLampTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcLampType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[579]); } const IfcParse::entity& Ifc4x3_add1::IfcLampType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[579]); } Ifc4x3_add1::IfcLampType::IfcLampType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_add1::IfcLampType::IfcLampType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcLampTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcLampType::IfcLampType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcLampTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLibraryInformation -std::string Ifc4x3_add1::IfcLibraryInformation::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_add1::IfcLibraryInformation::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcLibraryInformation::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_add1::IfcLibraryInformation::Version() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcLibraryInformation::Version() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_add1::IfcActorSelect* Ifc4x3_add1::IfcLibraryInformation::Publisher() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcActorSelect>(true); } +::Ifc4x3_add1::IfcActorSelect* Ifc4x3_add1::IfcLibraryInformation::Publisher() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcActorSelect>(true); } void Ifc4x3_add1::IfcLibraryInformation::setPublisher(::Ifc4x3_add1::IfcActorSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x3_add1::IfcLibraryInformation::VersionDate() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcLibraryInformation::VersionDate() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcLibraryInformation::setVersionDate(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_add1::IfcLibraryInformation::Location() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcLibraryInformation::Location() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcLibraryInformation::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add1::IfcLibraryInformation::Description() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcLibraryInformation::Description() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcLibraryInformation::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x3_add1::IfcRelAssociatesLibrary::list::ptr Ifc4x3_add1::IfcLibraryInformation::LibraryInfoForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[913], 5)->as(); } @@ -12053,14 +12053,14 @@ void Ifc4x3_add1::IfcLibraryInformation::setDescription(boost::optional< std::st const IfcParse::entity& Ifc4x3_add1::IfcLibraryInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[585]); } const IfcParse::entity& Ifc4x3_add1::IfcLibraryInformation::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[585]); } Ifc4x3_add1::IfcLibraryInformation::IfcLibraryInformation(IfcEntityInstanceData&& e) : IfcExternalInformation(std::move(e)) { } -Ifc4x3_add1::IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, boost::optional< std::string > v2_Version, ::Ifc4x3_add1::IfcActorSelect* v3_Publisher, boost::optional< std::string > v4_VersionDate, boost::optional< std::string > v5_Location, boost::optional< std::string > v6_Description) : IfcExternalInformation(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, v3_Publisher ? v3_Publisher->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); }; populate_derived(); } +Ifc4x3_add1::IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, boost::optional< std::string > v2_Version, ::Ifc4x3_add1::IfcActorSelect* v3_Publisher, boost::optional< std::string > v4_VersionDate, boost::optional< std::string > v5_Location, boost::optional< std::string > v6_Description) : IfcExternalInformation(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, v3_Publisher ? v3_Publisher->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); }; populate_derived(); } // Function implementations for IfcLibraryReference -boost::optional< std::string > Ifc4x3_add1::IfcLibraryReference::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcLibraryReference::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcLibraryReference::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_add1::IfcLibraryReference::Language() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcLibraryReference::Language() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcLibraryReference::setLanguage(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_add1::IfcLibraryInformation* Ifc4x3_add1::IfcLibraryReference::ReferencedLibrary() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcLibraryInformation>(true); } +::Ifc4x3_add1::IfcLibraryInformation* Ifc4x3_add1::IfcLibraryReference::ReferencedLibrary() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcLibraryInformation>(true); } void Ifc4x3_add1::IfcLibraryReference::setReferencedLibrary(::Ifc4x3_add1::IfcLibraryInformation* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc4x3_add1::IfcRelAssociatesLibrary::list::ptr Ifc4x3_add1::IfcLibraryReference::LibraryRefForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[913], 5)->as(); } @@ -12068,69 +12068,69 @@ void Ifc4x3_add1::IfcLibraryReference::setReferencedLibrary(::Ifc4x3_add1::IfcLi const IfcParse::entity& Ifc4x3_add1::IfcLibraryReference::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[586]); } const IfcParse::entity& Ifc4x3_add1::IfcLibraryReference::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[586]); } Ifc4x3_add1::IfcLibraryReference::IfcLibraryReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_add1::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_add1::IfcLibraryInformation* v6_ReferencedLibrary) : IfcExternalReference(IfcEntityInstanceData(storage_t(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, v6_ReferencedLibrary ? v6_ReferencedLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::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_add1::IfcLibraryInformation* v6_ReferencedLibrary) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, v6_ReferencedLibrary ? v6_ReferencedLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLightDistributionData -double Ifc4x3_add1::IfcLightDistributionData::MainPlaneAngle() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_add1::IfcLightDistributionData::MainPlaneAngle() const { double v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcLightDistributionData::setMainPlaneAngle(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< double > /*[1:?]*/ Ifc4x3_add1::IfcLightDistributionData::SecondaryPlaneAngle() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +std::vector< double > /*[1:?]*/ Ifc4x3_add1::IfcLightDistributionData::SecondaryPlaneAngle() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcLightDistributionData::setSecondaryPlaneAngle(std::vector< double > /*[1:?]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector< double > /*[1:?]*/ Ifc4x3_add1::IfcLightDistributionData::LuminousIntensity() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(2); return v; } +std::vector< double > /*[1:?]*/ Ifc4x3_add1::IfcLightDistributionData::LuminousIntensity() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcLightDistributionData::setLuminousIntensity(std::vector< double > /*[1:?]*/ v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcLightDistributionData::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[589]); } const IfcParse::entity& Ifc4x3_add1::IfcLightDistributionData::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[589]); } Ifc4x3_add1::IfcLightDistributionData::IfcLightDistributionData(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcLightDistributionData::IfcLightDistributionData(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; populate_derived(); } +Ifc4x3_add1::IfcLightDistributionData::IfcLightDistributionData(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; populate_derived(); } // Function implementations for IfcLightFixture -boost::optional< ::Ifc4x3_add1::IfcLightFixtureTypeEnum::Value > Ifc4x3_add1::IfcLightFixture::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcLightFixtureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcLightFixtureTypeEnum::Value > Ifc4x3_add1::IfcLightFixture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcLightFixtureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcLightFixture::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcLightFixtureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcLightFixtureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcLightFixture::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[592]); } const IfcParse::entity& Ifc4x3_add1::IfcLightFixture::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[592]); } Ifc4x3_add1::IfcLightFixture::IfcLightFixture(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_add1::IfcLightFixture::IfcLightFixture(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcLightFixture::IfcLightFixture(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLightFixtureType -::Ifc4x3_add1::IfcLightFixtureTypeEnum::Value Ifc4x3_add1::IfcLightFixtureType::PredefinedType() const { return ::Ifc4x3_add1::IfcLightFixtureTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcLightFixtureTypeEnum::Value Ifc4x3_add1::IfcLightFixtureType::PredefinedType() const { return ::Ifc4x3_add1::IfcLightFixtureTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcLightFixtureType::setPredefinedType(::Ifc4x3_add1::IfcLightFixtureTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcLightFixtureTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcLightFixtureType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[593]); } const IfcParse::entity& Ifc4x3_add1::IfcLightFixtureType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[593]); } Ifc4x3_add1::IfcLightFixtureType::IfcLightFixtureType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_add1::IfcLightFixtureType::IfcLightFixtureType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcLightFixtureTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcLightFixtureType::IfcLightFixtureType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcLightFixtureTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLightIntensityDistribution -::Ifc4x3_add1::IfcLightDistributionCurveEnum::Value Ifc4x3_add1::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4x3_add1::IfcLightDistributionCurveEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_add1::IfcLightDistributionCurveEnum::Value Ifc4x3_add1::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4x3_add1::IfcLightDistributionCurveEnum::FromString(get_attribute_value(0)); } void Ifc4x3_add1::IfcLightIntensityDistribution::setLightDistributionCurve(::Ifc4x3_add1::IfcLightDistributionCurveEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_add1::IfcLightDistributionCurveEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_add1::IfcLightDistributionData >::ptr Ifc4x3_add1::IfcLightIntensityDistribution::DistributionData() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcLightDistributionData >(); } +aggregate_of< ::Ifc4x3_add1::IfcLightDistributionData >::ptr Ifc4x3_add1::IfcLightIntensityDistribution::DistributionData() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcLightDistributionData >(); } void Ifc4x3_add1::IfcLightIntensityDistribution::setDistributionData(aggregate_of< ::Ifc4x3_add1::IfcLightDistributionData >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcLightIntensityDistribution::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[595]); } const IfcParse::entity& Ifc4x3_add1::IfcLightIntensityDistribution::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[595]); } Ifc4x3_add1::IfcLightIntensityDistribution::IfcLightIntensityDistribution(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4x3_add1::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, aggregate_of< ::Ifc4x3_add1::IfcLightDistributionData >::ptr v2_DistributionData) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, (v2_DistributionData)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4x3_add1::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, aggregate_of< ::Ifc4x3_add1::IfcLightDistributionData >::ptr v2_DistributionData) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, (v2_DistributionData)->generalize());; populate_derived(); } // Function implementations for IfcLightSource -boost::optional< std::string > Ifc4x3_add1::IfcLightSource::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcLightSource::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcLightSource::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_add1::IfcColourRgb* Ifc4x3_add1::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcColourRgb>(true); } +::Ifc4x3_add1::IfcColourRgb* Ifc4x3_add1::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcColourRgb>(true); } void Ifc4x3_add1::IfcLightSource::setLightColour(::Ifc4x3_add1::IfcColourRgb* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_add1::IfcLightSource::AmbientIntensity() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add1::IfcLightSource::AmbientIntensity() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_add1::IfcLightSource::Intensity() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add1::IfcLightSource::Intensity() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcLightSource::setIntensity(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_add1::IfcLightSource::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[596]); } const IfcParse::entity& Ifc4x3_add1::IfcLightSource::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[596]); } Ifc4x3_add1::IfcLightSource::IfcLightSource(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } +Ifc4x3_add1::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } // Function implementations for IfcLightSourceAmbient @@ -12138,83 +12138,83 @@ Ifc4x3_add1::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Na const IfcParse::entity& Ifc4x3_add1::IfcLightSourceAmbient::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[597]); } const IfcParse::entity& Ifc4x3_add1::IfcLightSourceAmbient::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[597]); } Ifc4x3_add1::IfcLightSourceAmbient::IfcLightSourceAmbient(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x3_add1::IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcLightSource(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } +Ifc4x3_add1::IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } // Function implementations for IfcLightSourceDirectional -::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcDirection>(true); } +::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcDirection>(true); } void Ifc4x3_add1::IfcLightSourceDirectional::setOrientation(::Ifc4x3_add1::IfcDirection* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add1::IfcLightSourceDirectional::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[598]); } const IfcParse::entity& Ifc4x3_add1::IfcLightSourceDirectional::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[598]); } Ifc4x3_add1::IfcLightSourceDirectional::IfcLightSourceDirectional(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x3_add1::IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_add1::IfcDirection* v5_Orientation) : IfcLightSource(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Orientation ? v5_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_add1::IfcDirection* v5_Orientation) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Orientation ? v5_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLightSourceGoniometric -::Ifc4x3_add1::IfcAxis2Placement3D* Ifc4x3_add1::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcAxis2Placement3D>(true); } +::Ifc4x3_add1::IfcAxis2Placement3D* Ifc4x3_add1::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcAxis2Placement3D>(true); } void Ifc4x3_add1::IfcLightSourceGoniometric::setPosition(::Ifc4x3_add1::IfcAxis2Placement3D* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add1::IfcColourRgb* Ifc4x3_add1::IfcLightSourceGoniometric::ColourAppearance() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcColourRgb>(true); } +::Ifc4x3_add1::IfcColourRgb* Ifc4x3_add1::IfcLightSourceGoniometric::ColourAppearance() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcColourRgb>(true); } void Ifc4x3_add1::IfcLightSourceGoniometric::setColourAppearance(::Ifc4x3_add1::IfcColourRgb* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_add1::IfcLightSourceGoniometric::ColourTemperature() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_add1::IfcLightSourceGoniometric::ColourTemperature() const { double v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcLightSourceGoniometric::setColourTemperature(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -double Ifc4x3_add1::IfcLightSourceGoniometric::LuminousFlux() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x3_add1::IfcLightSourceGoniometric::LuminousFlux() const { double v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcLightSourceGoniometric::setLuminousFlux(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_add1::IfcLightEmissionSourceEnum::Value Ifc4x3_add1::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4x3_add1::IfcLightEmissionSourceEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_add1::IfcLightEmissionSourceEnum::Value Ifc4x3_add1::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4x3_add1::IfcLightEmissionSourceEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcLightSourceGoniometric::setLightEmissionSource(::Ifc4x3_add1::IfcLightEmissionSourceEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcLightEmissionSourceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_add1::IfcLightDistributionDataSourceSelect* Ifc4x3_add1::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_add1::IfcLightDistributionDataSourceSelect>(true); } +::Ifc4x3_add1::IfcLightDistributionDataSourceSelect* Ifc4x3_add1::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_add1::IfcLightDistributionDataSourceSelect>(true); } void Ifc4x3_add1::IfcLightSourceGoniometric::setLightDistributionDataSource(::Ifc4x3_add1::IfcLightDistributionDataSourceSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcLightSourceGoniometric::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[599]); } const IfcParse::entity& Ifc4x3_add1::IfcLightSourceGoniometric::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[599]); } Ifc4x3_add1::IfcLightSourceGoniometric::IfcLightSourceGoniometric(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x3_add1::IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_add1::IfcAxis2Placement3D* v5_Position, ::Ifc4x3_add1::IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_add1::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_add1::IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource(IfcEntityInstanceData(storage_t(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ColourAppearance ? v6_ColourAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, v10_LightDistributionDataSource ? v10_LightDistributionDataSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_add1::IfcAxis2Placement3D* v5_Position, ::Ifc4x3_add1::IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_add1::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_add1::IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ColourAppearance ? v6_ColourAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, v10_LightDistributionDataSource ? v10_LightDistributionDataSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLightSourcePositional -::Ifc4x3_add1::IfcCartesianPoint* Ifc4x3_add1::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcCartesianPoint>(true); } +::Ifc4x3_add1::IfcCartesianPoint* Ifc4x3_add1::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcCartesianPoint>(true); } void Ifc4x3_add1::IfcLightSourcePositional::setPosition(::Ifc4x3_add1::IfcCartesianPoint* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_add1::IfcLightSourcePositional::Radius() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_add1::IfcLightSourcePositional::Radius() const { double v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcLightSourcePositional::setRadius(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_add1::IfcLightSourcePositional::ConstantAttenuation() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_add1::IfcLightSourcePositional::ConstantAttenuation() const { double v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcLightSourcePositional::setConstantAttenuation(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -double Ifc4x3_add1::IfcLightSourcePositional::DistanceAttenuation() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x3_add1::IfcLightSourcePositional::DistanceAttenuation() const { double v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcLightSourcePositional::setDistanceAttenuation(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -double Ifc4x3_add1::IfcLightSourcePositional::QuadricAttenuation() const { double v = data_.get_attribute_value(8); return v; } +double Ifc4x3_add1::IfcLightSourcePositional::QuadricAttenuation() const { double v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcLightSourcePositional::setQuadricAttenuation(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_add1::IfcLightSourcePositional::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[600]); } const IfcParse::entity& Ifc4x3_add1::IfcLightSourcePositional::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[600]); } Ifc4x3_add1::IfcLightSourcePositional::IfcLightSourcePositional(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x3_add1::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_add1::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) : IfcLightSource(IfcEntityInstanceData(storage_t(9))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; populate_derived(); } +Ifc4x3_add1::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_add1::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; populate_derived(); } // Function implementations for IfcLightSourceSpot -::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_add1::IfcDirection>(true); } +::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_add1::IfcDirection>(true); } void Ifc4x3_add1::IfcLightSourceSpot::setOrientation(::Ifc4x3_add1::IfcDirection* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3_add1::IfcLightSourceSpot::ConcentrationExponent() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_add1::IfcLightSourceSpot::ConcentrationExponent() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_add1::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -double Ifc4x3_add1::IfcLightSourceSpot::SpreadAngle() const { double v = data_.get_attribute_value(11); return v; } +double Ifc4x3_add1::IfcLightSourceSpot::SpreadAngle() const { double v = get_attribute_value(11); return v; } void Ifc4x3_add1::IfcLightSourceSpot::setSpreadAngle(double v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } -double Ifc4x3_add1::IfcLightSourceSpot::BeamWidthAngle() const { double v = data_.get_attribute_value(12); return v; } +double Ifc4x3_add1::IfcLightSourceSpot::BeamWidthAngle() const { double v = get_attribute_value(12); return v; } void Ifc4x3_add1::IfcLightSourceSpot::setBeamWidthAngle(double v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } const IfcParse::entity& Ifc4x3_add1::IfcLightSourceSpot::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[601]); } const IfcParse::entity& Ifc4x3_add1::IfcLightSourceSpot::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[601]); } Ifc4x3_add1::IfcLightSourceSpot::IfcLightSourceSpot(IfcEntityInstanceData&& e) : IfcLightSourcePositional(std::move(e)) { } -Ifc4x3_add1::IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_add1::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_add1::IfcDirection* v10_Orientation, boost::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) : IfcLightSourcePositional(IfcEntityInstanceData(storage_t(13))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, v10_Orientation ? v10_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; populate_derived(); } +Ifc4x3_add1::IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_add1::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_add1::IfcDirection* v10_Orientation, boost::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) : IfcLightSourcePositional(IfcEntityInstanceData(in_memory_attribute_storage(13))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, v10_Orientation ? v10_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; populate_derived(); } // Function implementations for IfcLine -::Ifc4x3_add1::IfcCartesianPoint* Ifc4x3_add1::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCartesianPoint>(true); } +::Ifc4x3_add1::IfcCartesianPoint* Ifc4x3_add1::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCartesianPoint>(true); } void Ifc4x3_add1::IfcLine::setPnt(::Ifc4x3_add1::IfcCartesianPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add1::IfcVector* Ifc4x3_add1::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcVector>(true); } +::Ifc4x3_add1::IfcVector* Ifc4x3_add1::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcVector>(true); } void Ifc4x3_add1::IfcLine::setDir(::Ifc4x3_add1::IfcVector* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcLine::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[602]); } const IfcParse::entity& Ifc4x3_add1::IfcLine::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[602]); } Ifc4x3_add1::IfcLine::IfcLine(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_add1::IfcLine::IfcLine(::Ifc4x3_add1::IfcCartesianPoint* v1_Pnt, ::Ifc4x3_add1::IfcVector* v2_Dir) : IfcCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Pnt ? v1_Pnt->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Dir ? v2_Dir->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcLine::IfcLine(::Ifc4x3_add1::IfcCartesianPoint* v1_Pnt, ::Ifc4x3_add1::IfcVector* v2_Dir) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Pnt ? v1_Pnt->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Dir ? v2_Dir->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLinearElement @@ -12222,19 +12222,19 @@ Ifc4x3_add1::IfcLine::IfcLine(::Ifc4x3_add1::IfcCartesianPoint* v1_Pnt, ::Ifc4x3 const IfcParse::entity& Ifc4x3_add1::IfcLinearElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[603]); } const IfcParse::entity& Ifc4x3_add1::IfcLinearElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[603]); } Ifc4x3_add1::IfcLinearElement::IfcLinearElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_add1::IfcLinearElement::IfcLinearElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcLinearElement::IfcLinearElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLinearPlacement -::Ifc4x3_add1::IfcAxis2PlacementLinear* Ifc4x3_add1::IfcLinearPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcAxis2PlacementLinear>(true); } +::Ifc4x3_add1::IfcAxis2PlacementLinear* Ifc4x3_add1::IfcLinearPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcAxis2PlacementLinear>(true); } void Ifc4x3_add1::IfcLinearPlacement::setRelativePlacement(::Ifc4x3_add1::IfcAxis2PlacementLinear* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add1::IfcAxis2Placement3D* Ifc4x3_add1::IfcLinearPlacement::CartesianPosition() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcAxis2Placement3D>(true); } +::Ifc4x3_add1::IfcAxis2Placement3D* Ifc4x3_add1::IfcLinearPlacement::CartesianPosition() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcAxis2Placement3D>(true); } void Ifc4x3_add1::IfcLinearPlacement::setCartesianPosition(::Ifc4x3_add1::IfcAxis2Placement3D* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcLinearPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[606]); } const IfcParse::entity& Ifc4x3_add1::IfcLinearPlacement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[606]); } Ifc4x3_add1::IfcLinearPlacement::IfcLinearPlacement(IfcEntityInstanceData&& e) : IfcObjectPlacement(std::move(e)) { } -Ifc4x3_add1::IfcLinearPlacement::IfcLinearPlacement(::Ifc4x3_add1::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_add1::IfcAxis2PlacementLinear* v2_RelativePlacement, ::Ifc4x3_add1::IfcAxis2Placement3D* v3_CartesianPosition) : IfcObjectPlacement(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CartesianPosition ? v3_CartesianPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcLinearPlacement::IfcLinearPlacement(::Ifc4x3_add1::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_add1::IfcAxis2PlacementLinear* v2_RelativePlacement, ::Ifc4x3_add1::IfcAxis2Placement3D* v3_CartesianPosition) : IfcObjectPlacement(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CartesianPosition ? v3_CartesianPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLinearPositioningElement @@ -12242,37 +12242,37 @@ Ifc4x3_add1::IfcLinearPlacement::IfcLinearPlacement(::Ifc4x3_add1::IfcObjectPlac const IfcParse::entity& Ifc4x3_add1::IfcLinearPositioningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[607]); } const IfcParse::entity& Ifc4x3_add1::IfcLinearPositioningElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[607]); } Ifc4x3_add1::IfcLinearPositioningElement::IfcLinearPositioningElement(IfcEntityInstanceData&& e) : IfcPositioningElement(std::move(e)) { } -Ifc4x3_add1::IfcLinearPositioningElement::IfcLinearPositioningElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation) : IfcPositioningElement(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcLinearPositioningElement::IfcLinearPositioningElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation) : IfcPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLiquidTerminal -boost::optional< ::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Value > Ifc4x3_add1::IfcLiquidTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Value > Ifc4x3_add1::IfcLiquidTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcLiquidTerminal::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcLiquidTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[611]); } const IfcParse::entity& Ifc4x3_add1::IfcLiquidTerminal::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[611]); } Ifc4x3_add1::IfcLiquidTerminal::IfcLiquidTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_add1::IfcLiquidTerminal::IfcLiquidTerminal(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcLiquidTerminal::IfcLiquidTerminal(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLiquidTerminalType -::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Value Ifc4x3_add1::IfcLiquidTerminalType::PredefinedType() const { return ::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Value Ifc4x3_add1::IfcLiquidTerminalType::PredefinedType() const { return ::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcLiquidTerminalType::setPredefinedType(::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcLiquidTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[612]); } const IfcParse::entity& Ifc4x3_add1::IfcLiquidTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[612]); } Ifc4x3_add1::IfcLiquidTerminalType::IfcLiquidTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_add1::IfcLiquidTerminalType::IfcLiquidTerminalType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcLiquidTerminalType::IfcLiquidTerminalType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcLiquidTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLocalPlacement -::Ifc4x3_add1::IfcAxis2Placement* Ifc4x3_add1::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcAxis2Placement>(true); } +::Ifc4x3_add1::IfcAxis2Placement* Ifc4x3_add1::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcAxis2Placement>(true); } void Ifc4x3_add1::IfcLocalPlacement::setRelativePlacement(::Ifc4x3_add1::IfcAxis2Placement* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcLocalPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[615]); } const IfcParse::entity& Ifc4x3_add1::IfcLocalPlacement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[615]); } Ifc4x3_add1::IfcLocalPlacement::IfcLocalPlacement(IfcEntityInstanceData&& e) : IfcObjectPlacement(std::move(e)) { } -Ifc4x3_add1::IfcLocalPlacement::IfcLocalPlacement(::Ifc4x3_add1::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_add1::IfcAxis2Placement* v2_RelativePlacement) : IfcObjectPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcLocalPlacement::IfcLocalPlacement(::Ifc4x3_add1::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_add1::IfcAxis2Placement* v2_RelativePlacement) : IfcObjectPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLoop @@ -12280,90 +12280,90 @@ Ifc4x3_add1::IfcLocalPlacement::IfcLocalPlacement(::Ifc4x3_add1::IfcObjectPlacem const IfcParse::entity& Ifc4x3_add1::IfcLoop::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[618]); } const IfcParse::entity& Ifc4x3_add1::IfcLoop::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[618]); } Ifc4x3_add1::IfcLoop::IfcLoop(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add1::IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcManifoldSolidBrep -::Ifc4x3_add1::IfcClosedShell* Ifc4x3_add1::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcClosedShell>(true); } +::Ifc4x3_add1::IfcClosedShell* Ifc4x3_add1::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcClosedShell>(true); } void Ifc4x3_add1::IfcManifoldSolidBrep::setOuter(::Ifc4x3_add1::IfcClosedShell* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add1::IfcManifoldSolidBrep::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[625]); } const IfcParse::entity& Ifc4x3_add1::IfcManifoldSolidBrep::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[625]); } Ifc4x3_add1::IfcManifoldSolidBrep::IfcManifoldSolidBrep(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3_add1::IfcManifoldSolidBrep::IfcManifoldSolidBrep(::Ifc4x3_add1::IfcClosedShell* v1_Outer) : IfcSolidModel(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcManifoldSolidBrep::IfcManifoldSolidBrep(::Ifc4x3_add1::IfcClosedShell* v1_Outer) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMapConversion -double Ifc4x3_add1::IfcMapConversion::Eastings() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_add1::IfcMapConversion::Eastings() const { double v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcMapConversion::setEastings(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_add1::IfcMapConversion::Northings() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add1::IfcMapConversion::Northings() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcMapConversion::setNorthings(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_add1::IfcMapConversion::OrthogonalHeight() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add1::IfcMapConversion::OrthogonalHeight() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcMapConversion::setOrthogonalHeight(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< double > Ifc4x3_add1::IfcMapConversion::XAxisAbscissa() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_add1::IfcMapConversion::XAxisAbscissa() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcMapConversion::setXAxisAbscissa(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_add1::IfcMapConversion::XAxisOrdinate() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_add1::IfcMapConversion::XAxisOrdinate() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcMapConversion::setXAxisOrdinate(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_add1::IfcMapConversion::Scale() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add1::IfcMapConversion::Scale() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcMapConversion::setScale(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_add1::IfcMapConversion::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[626]); } const IfcParse::entity& Ifc4x3_add1::IfcMapConversion::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[626]); } Ifc4x3_add1::IfcMapConversion::IfcMapConversion(IfcEntityInstanceData&& e) : IfcCoordinateOperation(std::move(e)) { } -Ifc4x3_add1::IfcMapConversion::IfcMapConversion(::Ifc4x3_add1::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_add1::IfcCoordinateReferenceSystem* v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, boost::optional< double > v6_XAxisAbscissa, boost::optional< double > v7_XAxisOrdinate, boost::optional< double > v8_Scale) : IfcCoordinateOperation(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); }; populate_derived(); } +Ifc4x3_add1::IfcMapConversion::IfcMapConversion(::Ifc4x3_add1::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_add1::IfcCoordinateReferenceSystem* v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, boost::optional< double > v6_XAxisAbscissa, boost::optional< double > v7_XAxisOrdinate, boost::optional< double > v8_Scale) : IfcCoordinateOperation(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); }; populate_derived(); } // Function implementations for IfcMapConversionScaled -double Ifc4x3_add1::IfcMapConversionScaled::ScaleX() const { double v = data_.get_attribute_value(8); return v; } +double Ifc4x3_add1::IfcMapConversionScaled::ScaleX() const { double v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcMapConversionScaled::setScaleX(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -double Ifc4x3_add1::IfcMapConversionScaled::ScaleY() const { double v = data_.get_attribute_value(9); return v; } +double Ifc4x3_add1::IfcMapConversionScaled::ScaleY() const { double v = get_attribute_value(9); return v; } void Ifc4x3_add1::IfcMapConversionScaled::setScaleY(double v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -double Ifc4x3_add1::IfcMapConversionScaled::ScaleZ() const { double v = data_.get_attribute_value(10); return v; } +double Ifc4x3_add1::IfcMapConversionScaled::ScaleZ() const { double v = get_attribute_value(10); return v; } void Ifc4x3_add1::IfcMapConversionScaled::setScaleZ(double v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_add1::IfcMapConversionScaled::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[627]); } const IfcParse::entity& Ifc4x3_add1::IfcMapConversionScaled::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[627]); } Ifc4x3_add1::IfcMapConversionScaled::IfcMapConversionScaled(IfcEntityInstanceData&& e) : IfcMapConversion(std::move(e)) { } -Ifc4x3_add1::IfcMapConversionScaled::IfcMapConversionScaled(::Ifc4x3_add1::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_add1::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, double v9_ScaleX, double v10_ScaleY, double v11_ScaleZ) : IfcMapConversion(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); }set_attribute_value(8, (v9_ScaleX));set_attribute_value(9, (v10_ScaleY));set_attribute_value(10, (v11_ScaleZ));; populate_derived(); } +Ifc4x3_add1::IfcMapConversionScaled::IfcMapConversionScaled(::Ifc4x3_add1::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_add1::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, double v9_ScaleX, double v10_ScaleY, double v11_ScaleZ) : IfcMapConversion(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); }set_attribute_value(8, (v9_ScaleX));set_attribute_value(9, (v10_ScaleY));set_attribute_value(10, (v11_ScaleZ));; populate_derived(); } // Function implementations for IfcMappedItem -::Ifc4x3_add1::IfcRepresentationMap* Ifc4x3_add1::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcRepresentationMap>(true); } +::Ifc4x3_add1::IfcRepresentationMap* Ifc4x3_add1::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcRepresentationMap>(true); } void Ifc4x3_add1::IfcMappedItem::setMappingSource(::Ifc4x3_add1::IfcRepresentationMap* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add1::IfcCartesianTransformationOperator* Ifc4x3_add1::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcCartesianTransformationOperator>(true); } +::Ifc4x3_add1::IfcCartesianTransformationOperator* Ifc4x3_add1::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcCartesianTransformationOperator>(true); } void Ifc4x3_add1::IfcMappedItem::setMappingTarget(::Ifc4x3_add1::IfcCartesianTransformationOperator* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcMappedItem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[628]); } const IfcParse::entity& Ifc4x3_add1::IfcMappedItem::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[628]); } Ifc4x3_add1::IfcMappedItem::IfcMappedItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcMappedItem::IfcMappedItem(::Ifc4x3_add1::IfcRepresentationMap* v1_MappingSource, ::Ifc4x3_add1::IfcCartesianTransformationOperator* v2_MappingTarget) : IfcRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_MappingSource ? v1_MappingSource->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappingTarget ? v2_MappingTarget->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcMappedItem::IfcMappedItem(::Ifc4x3_add1::IfcRepresentationMap* v1_MappingSource, ::Ifc4x3_add1::IfcCartesianTransformationOperator* v2_MappingTarget) : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_MappingSource ? v1_MappingSource->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappingTarget ? v2_MappingTarget->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMarineFacility -boost::optional< ::Ifc4x3_add1::IfcMarineFacilityTypeEnum::Value > Ifc4x3_add1::IfcMarineFacility::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcMarineFacilityTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_add1::IfcMarineFacilityTypeEnum::Value > Ifc4x3_add1::IfcMarineFacility::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcMarineFacilityTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcMarineFacility::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcMarineFacilityTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcMarineFacilityTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_add1::IfcMarineFacility::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[629]); } const IfcParse::entity& Ifc4x3_add1::IfcMarineFacility::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[629]); } Ifc4x3_add1::IfcMarineFacility::IfcMarineFacility(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x3_add1::IfcMarineFacility::IfcMarineFacility(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_add1::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcMarineFacilityTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcMarineFacility::IfcMarineFacility(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_add1::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcMarineFacilityTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMarinePart -boost::optional< ::Ifc4x3_add1::IfcMarinePartTypeEnum::Value > Ifc4x3_add1::IfcMarinePart::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcMarinePartTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add1::IfcMarinePartTypeEnum::Value > Ifc4x3_add1::IfcMarinePart::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcMarinePartTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add1::IfcMarinePart::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcMarinePartTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add1::IfcMarinePartTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add1::IfcMarinePart::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[631]); } const IfcParse::entity& Ifc4x3_add1::IfcMarinePart::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[631]); } Ifc4x3_add1::IfcMarinePart::IfcMarinePart(IfcEntityInstanceData&& e) : IfcFacilityPart(std::move(e)) { } -Ifc4x3_add1::IfcMarinePart::IfcMarinePart(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3_add1::IfcMarinePartTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcMarinePartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcMarinePart::IfcMarinePart(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3_add1::IfcMarinePartTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcMarinePartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMaterial -std::string Ifc4x3_add1::IfcMaterial::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_add1::IfcMaterial::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcMaterial::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_add1::IfcMaterial::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcMaterial::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcMaterial::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_add1::IfcMaterial::Category() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcMaterial::Category() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcMaterial::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3_add1::IfcMaterialDefinitionRepresentation::list::ptr Ifc4x3_add1::IfcMaterial::HasRepresentation() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[642], 3)->as(); } @@ -12373,30 +12373,30 @@ void Ifc4x3_add1::IfcMaterial::setCategory(boost::optional< std::string > v) { i const IfcParse::entity& Ifc4x3_add1::IfcMaterial::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[637]); } const IfcParse::entity& Ifc4x3_add1::IfcMaterial::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[637]); } Ifc4x3_add1::IfcMaterial::IfcMaterial(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_add1::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); }; populate_derived(); } +Ifc4x3_add1::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); }; populate_derived(); } // Function implementations for IfcMaterialClassificationRelationship -aggregate_of< ::Ifc4x3_add1::IfcClassificationSelect >::ptr Ifc4x3_add1::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcClassificationSelect >(); } +aggregate_of< ::Ifc4x3_add1::IfcClassificationSelect >::ptr Ifc4x3_add1::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcClassificationSelect >(); } void Ifc4x3_add1::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x3_add1::IfcClassificationSelect >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add1::IfcMaterial* Ifc4x3_add1::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcMaterial>(true); } +::Ifc4x3_add1::IfcMaterial* Ifc4x3_add1::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcMaterial>(true); } void Ifc4x3_add1::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4x3_add1::IfcMaterial* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcMaterialClassificationRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[638]); } const IfcParse::entity& Ifc4x3_add1::IfcMaterialClassificationRelationship::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[638]); } Ifc4x3_add1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3_add1::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_add1::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_MaterialClassifications)->generalize());set_attribute_value(1, v2_ClassifiedMaterial ? v2_ClassifiedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3_add1::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_add1::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_MaterialClassifications)->generalize());set_attribute_value(1, v2_ClassifiedMaterial ? v2_ClassifiedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialConstituent -boost::optional< std::string > Ifc4x3_add1::IfcMaterialConstituent::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcMaterialConstituent::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcMaterialConstituent::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add1::IfcMaterialConstituent::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcMaterialConstituent::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcMaterialConstituent::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_add1::IfcMaterial* Ifc4x3_add1::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcMaterial>(true); } +::Ifc4x3_add1::IfcMaterial* Ifc4x3_add1::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcMaterial>(true); } void Ifc4x3_add1::IfcMaterialConstituent::setMaterial(::Ifc4x3_add1::IfcMaterial* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4x3_add1::IfcMaterialConstituent::Fraction() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add1::IfcMaterialConstituent::Fraction() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcMaterialConstituent::setFraction(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_add1::IfcMaterialConstituent::Category() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcMaterialConstituent::Category() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcMaterialConstituent::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } ::Ifc4x3_add1::IfcMaterialConstituentSet::list::ptr Ifc4x3_add1::IfcMaterialConstituent::ToMaterialConstituentSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[640], 2)->as(); } @@ -12404,21 +12404,21 @@ void Ifc4x3_add1::IfcMaterialConstituent::setCategory(boost::optional< std::stri const IfcParse::entity& Ifc4x3_add1::IfcMaterialConstituent::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[639]); } const IfcParse::entity& Ifc4x3_add1::IfcMaterialConstituent::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[639]); } Ifc4x3_add1::IfcMaterialConstituent::IfcMaterialConstituent(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_add1::IfcMaterialConstituent::IfcMaterialConstituent(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcMaterial* v3_Material, boost::optional< double > v4_Fraction, boost::optional< std::string > v5_Category) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); }; populate_derived(); } +Ifc4x3_add1::IfcMaterialConstituent::IfcMaterialConstituent(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcMaterial* v3_Material, boost::optional< double > v4_Fraction, boost::optional< std::string > v5_Category) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); }; populate_derived(); } // Function implementations for IfcMaterialConstituentSet -boost::optional< std::string > Ifc4x3_add1::IfcMaterialConstituentSet::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcMaterialConstituentSet::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcMaterialConstituentSet::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add1::IfcMaterialConstituentSet::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcMaterialConstituentSet::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcMaterialConstituentSet::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcMaterialConstituent >::ptr > Ifc4x3_add1::IfcMaterialConstituentSet::MaterialConstituents() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcMaterialConstituent >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcMaterialConstituent >::ptr > Ifc4x3_add1::IfcMaterialConstituentSet::MaterialConstituents() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcMaterialConstituent >(); } void Ifc4x3_add1::IfcMaterialConstituentSet::setMaterialConstituents(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcMaterialConstituent >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_add1::IfcMaterialConstituentSet::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[640]); } const IfcParse::entity& Ifc4x3_add1::IfcMaterialConstituentSet::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[640]); } Ifc4x3_add1::IfcMaterialConstituentSet::IfcMaterialConstituentSet(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_add1::IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcMaterialConstituent >::ptr > v3_MaterialConstituents) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, (*v3_MaterialConstituents)->generalize()); }; populate_derived(); } +Ifc4x3_add1::IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcMaterialConstituent >::ptr > v3_MaterialConstituents) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, (*v3_MaterialConstituents)->generalize()); }; populate_derived(); } // Function implementations for IfcMaterialDefinition @@ -12429,32 +12429,32 @@ Ifc4x3_add1::IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optiona const IfcParse::entity& Ifc4x3_add1::IfcMaterialDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[641]); } const IfcParse::entity& Ifc4x3_add1::IfcMaterialDefinition::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[641]); } Ifc4x3_add1::IfcMaterialDefinition::IfcMaterialDefinition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcMaterialDefinition::IfcMaterialDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add1::IfcMaterialDefinition::IfcMaterialDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcMaterialDefinitionRepresentation -::Ifc4x3_add1::IfcMaterial* Ifc4x3_add1::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcMaterial>(true); } +::Ifc4x3_add1::IfcMaterial* Ifc4x3_add1::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcMaterial>(true); } void Ifc4x3_add1::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(::Ifc4x3_add1::IfcMaterial* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcMaterialDefinitionRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[642]); } const IfcParse::entity& Ifc4x3_add1::IfcMaterialDefinitionRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[642]); } Ifc4x3_add1::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(IfcEntityInstanceData&& e) : IfcProductRepresentation(std::move(e)) { } -Ifc4x3_add1::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add1::IfcRepresentation >::ptr v3_Representations, ::Ifc4x3_add1::IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());set_attribute_value(3, v4_RepresentedMaterial ? v4_RepresentedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add1::IfcRepresentation >::ptr v3_Representations, ::Ifc4x3_add1::IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());set_attribute_value(3, v4_RepresentedMaterial ? v4_RepresentedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialLayer -::Ifc4x3_add1::IfcMaterial* Ifc4x3_add1::IfcMaterialLayer::Material() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcMaterial>(true); } +::Ifc4x3_add1::IfcMaterial* Ifc4x3_add1::IfcMaterialLayer::Material() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcMaterial>(true); } void Ifc4x3_add1::IfcMaterialLayer::setMaterial(::Ifc4x3_add1::IfcMaterial* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_add1::IfcMaterialLayer::LayerThickness() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add1::IfcMaterialLayer::LayerThickness() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcMaterialLayer::setLayerThickness(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< boost::logic::tribool > Ifc4x3_add1::IfcMaterialLayer::IsVentilated() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::optional< boost::logic::tribool > Ifc4x3_add1::IfcMaterialLayer::IsVentilated() const { if(get_attribute_value(2).isNull()) { return boost::none; } boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcMaterialLayer::setIsVentilated(boost::optional< boost::logic::tribool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_add1::IfcMaterialLayer::Name() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcMaterialLayer::Name() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcMaterialLayer::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_add1::IfcMaterialLayer::Description() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcMaterialLayer::Description() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcMaterialLayer::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add1::IfcMaterialLayer::Category() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcMaterialLayer::Category() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcMaterialLayer::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< int > Ifc4x3_add1::IfcMaterialLayer::Priority() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } int v = data_.get_attribute_value(6); return v; } +boost::optional< int > Ifc4x3_add1::IfcMaterialLayer::Priority() const { if(get_attribute_value(6).isNull()) { return boost::none; } int v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcMaterialLayer::setPriority(boost::optional< int > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_add1::IfcMaterialLayerSet::list::ptr Ifc4x3_add1::IfcMaterialLayer::ToMaterialLayerSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[644], 0)->as(); } @@ -12462,74 +12462,74 @@ void Ifc4x3_add1::IfcMaterialLayer::setPriority(boost::optional< int > v) { if ( const IfcParse::entity& Ifc4x3_add1::IfcMaterialLayer::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[643]); } const IfcParse::entity& Ifc4x3_add1::IfcMaterialLayer::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[643]); } Ifc4x3_add1::IfcMaterialLayer::IfcMaterialLayer(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_add1::IfcMaterialLayer::IfcMaterialLayer(::Ifc4x3_add1::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(storage_t(7))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }; populate_derived(); } +Ifc4x3_add1::IfcMaterialLayer::IfcMaterialLayer(::Ifc4x3_add1::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(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }; populate_derived(); } // Function implementations for IfcMaterialLayerSet -aggregate_of< ::Ifc4x3_add1::IfcMaterialLayer >::ptr Ifc4x3_add1::IfcMaterialLayerSet::MaterialLayers() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcMaterialLayer >(); } +aggregate_of< ::Ifc4x3_add1::IfcMaterialLayer >::ptr Ifc4x3_add1::IfcMaterialLayerSet::MaterialLayers() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcMaterialLayer >(); } void Ifc4x3_add1::IfcMaterialLayerSet::setMaterialLayers(aggregate_of< ::Ifc4x3_add1::IfcMaterialLayer >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_add1::IfcMaterialLayerSet::LayerSetName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcMaterialLayerSet::LayerSetName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcMaterialLayerSet::setLayerSetName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_add1::IfcMaterialLayerSet::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcMaterialLayerSet::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcMaterialLayerSet::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_add1::IfcMaterialLayerSet::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[644]); } const IfcParse::entity& Ifc4x3_add1::IfcMaterialLayerSet::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[644]); } Ifc4x3_add1::IfcMaterialLayerSet::IfcMaterialLayerSet(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_add1::IfcMaterialLayerSet::IfcMaterialLayerSet(aggregate_of< ::Ifc4x3_add1::IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName, boost::optional< std::string > v3_Description) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_MaterialLayers)->generalize()); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } +Ifc4x3_add1::IfcMaterialLayerSet::IfcMaterialLayerSet(aggregate_of< ::Ifc4x3_add1::IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName, boost::optional< std::string > v3_Description) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_MaterialLayers)->generalize()); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } // Function implementations for IfcMaterialLayerSetUsage -::Ifc4x3_add1::IfcMaterialLayerSet* Ifc4x3_add1::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcMaterialLayerSet>(true); } +::Ifc4x3_add1::IfcMaterialLayerSet* Ifc4x3_add1::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcMaterialLayerSet>(true); } void Ifc4x3_add1::IfcMaterialLayerSetUsage::setForLayerSet(::Ifc4x3_add1::IfcMaterialLayerSet* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add1::IfcLayerSetDirectionEnum::Value Ifc4x3_add1::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4x3_add1::IfcLayerSetDirectionEnum::FromString(data_.get_attribute_value(1)); } +::Ifc4x3_add1::IfcLayerSetDirectionEnum::Value Ifc4x3_add1::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4x3_add1::IfcLayerSetDirectionEnum::FromString(get_attribute_value(1)); } void Ifc4x3_add1::IfcMaterialLayerSetUsage::setLayerSetDirection(::Ifc4x3_add1::IfcLayerSetDirectionEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x3_add1::IfcLayerSetDirectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add1::IfcDirectionSenseEnum::Value Ifc4x3_add1::IfcMaterialLayerSetUsage::DirectionSense() const { return ::Ifc4x3_add1::IfcDirectionSenseEnum::FromString(data_.get_attribute_value(2)); } +::Ifc4x3_add1::IfcDirectionSenseEnum::Value Ifc4x3_add1::IfcMaterialLayerSetUsage::DirectionSense() const { return ::Ifc4x3_add1::IfcDirectionSenseEnum::FromString(get_attribute_value(2)); } void Ifc4x3_add1::IfcMaterialLayerSetUsage::setDirectionSense(::Ifc4x3_add1::IfcDirectionSenseEnum::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3_add1::IfcDirectionSenseEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_add1::IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add1::IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcMaterialLayerSetUsage::setOffsetFromReferenceLine(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< double > Ifc4x3_add1::IfcMaterialLayerSetUsage::ReferenceExtent() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_add1::IfcMaterialLayerSetUsage::ReferenceExtent() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcMaterialLayerSetUsage::setReferenceExtent(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add1::IfcMaterialLayerSetUsage::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[645]); } const IfcParse::entity& Ifc4x3_add1::IfcMaterialLayerSetUsage::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[645]); } Ifc4x3_add1::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(IfcEntityInstanceData&& e) : IfcMaterialUsageDefinition(std::move(e)) { } -Ifc4x3_add1::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(::Ifc4x3_add1::IfcMaterialLayerSet* v1_ForLayerSet, ::Ifc4x3_add1::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_add1::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, boost::optional< double > v5_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_ForLayerSet ? v1_ForLayerSet->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add1::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add1::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); }; populate_derived(); } +Ifc4x3_add1::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(::Ifc4x3_add1::IfcMaterialLayerSet* v1_ForLayerSet, ::Ifc4x3_add1::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_add1::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, boost::optional< double > v5_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_ForLayerSet ? v1_ForLayerSet->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add1::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add1::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); }; populate_derived(); } // Function implementations for IfcMaterialLayerWithOffsets -::Ifc4x3_add1::IfcLayerSetDirectionEnum::Value Ifc4x3_add1::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4x3_add1::IfcLayerSetDirectionEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_add1::IfcLayerSetDirectionEnum::Value Ifc4x3_add1::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4x3_add1::IfcLayerSetDirectionEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add1::IfcMaterialLayerWithOffsets::setOffsetDirection(::Ifc4x3_add1::IfcLayerSetDirectionEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_add1::IfcLayerSetDirectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -std::vector< double > /*[1:2]*/ Ifc4x3_add1::IfcMaterialLayerWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = data_.get_attribute_value(8); return v; } +std::vector< double > /*[1:2]*/ Ifc4x3_add1::IfcMaterialLayerWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcMaterialLayerWithOffsets::setOffsetValues(std::vector< double > /*[1:2]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_add1::IfcMaterialLayerWithOffsets::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[646]); } const IfcParse::entity& Ifc4x3_add1::IfcMaterialLayerWithOffsets::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[646]); } Ifc4x3_add1::IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(IfcEntityInstanceData&& e) : IfcMaterialLayer(std::move(e)) { } -Ifc4x3_add1::IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(::Ifc4x3_add1::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_add1::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) : IfcMaterialLayer(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues));; populate_derived(); } +Ifc4x3_add1::IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(::Ifc4x3_add1::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_add1::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) : IfcMaterialLayer(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues));; populate_derived(); } // Function implementations for IfcMaterialList -aggregate_of< ::Ifc4x3_add1::IfcMaterial >::ptr Ifc4x3_add1::IfcMaterialList::Materials() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcMaterial >(); } +aggregate_of< ::Ifc4x3_add1::IfcMaterial >::ptr Ifc4x3_add1::IfcMaterialList::Materials() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcMaterial >(); } void Ifc4x3_add1::IfcMaterialList::setMaterials(aggregate_of< ::Ifc4x3_add1::IfcMaterial >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add1::IfcMaterialList::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[647]); } const IfcParse::entity& Ifc4x3_add1::IfcMaterialList::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[647]); } Ifc4x3_add1::IfcMaterialList::IfcMaterialList(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcMaterialList::IfcMaterialList(aggregate_of< ::Ifc4x3_add1::IfcMaterial >::ptr v1_Materials) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Materials)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcMaterialList::IfcMaterialList(aggregate_of< ::Ifc4x3_add1::IfcMaterial >::ptr v1_Materials) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Materials)->generalize());; populate_derived(); } // Function implementations for IfcMaterialProfile -boost::optional< std::string > Ifc4x3_add1::IfcMaterialProfile::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcMaterialProfile::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcMaterialProfile::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add1::IfcMaterialProfile::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcMaterialProfile::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcMaterialProfile::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_add1::IfcMaterial* Ifc4x3_add1::IfcMaterialProfile::Material() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcMaterial>(true); } +::Ifc4x3_add1::IfcMaterial* Ifc4x3_add1::IfcMaterialProfile::Material() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcMaterial>(true); } void Ifc4x3_add1::IfcMaterialProfile::setMaterial(::Ifc4x3_add1::IfcMaterial* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add1::IfcProfileDef* Ifc4x3_add1::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcProfileDef>(true); } +::Ifc4x3_add1::IfcProfileDef* Ifc4x3_add1::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcProfileDef>(true); } void Ifc4x3_add1::IfcMaterialProfile::setProfile(::Ifc4x3_add1::IfcProfileDef* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< int > Ifc4x3_add1::IfcMaterialProfile::Priority() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x3_add1::IfcMaterialProfile::Priority() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcMaterialProfile::setPriority(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add1::IfcMaterialProfile::Category() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcMaterialProfile::Category() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcMaterialProfile::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x3_add1::IfcMaterialProfileSet::list::ptr Ifc4x3_add1::IfcMaterialProfile::ToMaterialProfileSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[649], 2)->as(); } @@ -12537,83 +12537,83 @@ void Ifc4x3_add1::IfcMaterialProfile::setCategory(boost::optional< std::string > const IfcParse::entity& Ifc4x3_add1::IfcMaterialProfile::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[648]); } const IfcParse::entity& Ifc4x3_add1::IfcMaterialProfile::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[648]); } Ifc4x3_add1::IfcMaterialProfile::IfcMaterialProfile(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_add1::IfcMaterialProfile::IfcMaterialProfile(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcMaterial* v3_Material, ::Ifc4x3_add1::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }; populate_derived(); } +Ifc4x3_add1::IfcMaterialProfile::IfcMaterialProfile(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcMaterial* v3_Material, ::Ifc4x3_add1::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }; populate_derived(); } // Function implementations for IfcMaterialProfileSet -boost::optional< std::string > Ifc4x3_add1::IfcMaterialProfileSet::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcMaterialProfileSet::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcMaterialProfileSet::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add1::IfcMaterialProfileSet::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcMaterialProfileSet::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcMaterialProfileSet::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3_add1::IfcMaterialProfile >::ptr Ifc4x3_add1::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcMaterialProfile >(); } +aggregate_of< ::Ifc4x3_add1::IfcMaterialProfile >::ptr Ifc4x3_add1::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcMaterialProfile >(); } void Ifc4x3_add1::IfcMaterialProfileSet::setMaterialProfiles(aggregate_of< ::Ifc4x3_add1::IfcMaterialProfile >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add1::IfcCompositeProfileDef* Ifc4x3_add1::IfcMaterialProfileSet::CompositeProfile() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcCompositeProfileDef>(true); } +::Ifc4x3_add1::IfcCompositeProfileDef* Ifc4x3_add1::IfcMaterialProfileSet::CompositeProfile() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcCompositeProfileDef>(true); } void Ifc4x3_add1::IfcMaterialProfileSet::setCompositeProfile(::Ifc4x3_add1::IfcCompositeProfileDef* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcMaterialProfileSet::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[649]); } const IfcParse::entity& Ifc4x3_add1::IfcMaterialProfileSet::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[649]); } Ifc4x3_add1::IfcMaterialProfileSet::IfcMaterialProfileSet(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_add1::IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add1::IfcMaterialProfile >::ptr v3_MaterialProfiles, ::Ifc4x3_add1::IfcCompositeProfileDef* v4_CompositeProfile) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_MaterialProfiles)->generalize());set_attribute_value(3, v4_CompositeProfile ? v4_CompositeProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add1::IfcMaterialProfile >::ptr v3_MaterialProfiles, ::Ifc4x3_add1::IfcCompositeProfileDef* v4_CompositeProfile) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_MaterialProfiles)->generalize());set_attribute_value(3, v4_CompositeProfile ? v4_CompositeProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialProfileSetUsage -::Ifc4x3_add1::IfcMaterialProfileSet* Ifc4x3_add1::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcMaterialProfileSet>(true); } +::Ifc4x3_add1::IfcMaterialProfileSet* Ifc4x3_add1::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcMaterialProfileSet>(true); } void Ifc4x3_add1::IfcMaterialProfileSetUsage::setForProfileSet(::Ifc4x3_add1::IfcMaterialProfileSet* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< int > Ifc4x3_add1::IfcMaterialProfileSetUsage::CardinalPoint() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } int v = data_.get_attribute_value(1); return v; } +boost::optional< int > Ifc4x3_add1::IfcMaterialProfileSetUsage::CardinalPoint() const { if(get_attribute_value(1).isNull()) { return boost::none; } int v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcMaterialProfileSetUsage::setCardinalPoint(boost::optional< int > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_add1::IfcMaterialProfileSetUsage::ReferenceExtent() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add1::IfcMaterialProfileSetUsage::ReferenceExtent() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcMaterialProfileSetUsage::setReferenceExtent(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_add1::IfcMaterialProfileSetUsage::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[650]); } const IfcParse::entity& Ifc4x3_add1::IfcMaterialProfileSetUsage::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[650]); } Ifc4x3_add1::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(IfcEntityInstanceData&& e) : IfcMaterialUsageDefinition(std::move(e)) { } -Ifc4x3_add1::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4x3_add1::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }; populate_derived(); } +Ifc4x3_add1::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4x3_add1::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }; populate_derived(); } // Function implementations for IfcMaterialProfileSetUsageTapering -::Ifc4x3_add1::IfcMaterialProfileSet* Ifc4x3_add1::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcMaterialProfileSet>(true); } +::Ifc4x3_add1::IfcMaterialProfileSet* Ifc4x3_add1::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcMaterialProfileSet>(true); } void Ifc4x3_add1::IfcMaterialProfileSetUsageTapering::setForProfileEndSet(::Ifc4x3_add1::IfcMaterialProfileSet* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< int > Ifc4x3_add1::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x3_add1::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add1::IfcMaterialProfileSetUsageTapering::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[651]); } const IfcParse::entity& Ifc4x3_add1::IfcMaterialProfileSetUsageTapering::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[651]); } Ifc4x3_add1::IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(IfcEntityInstanceData&& e) : IfcMaterialProfileSetUsage(std::move(e)) { } -Ifc4x3_add1::IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(::Ifc4x3_add1::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent, ::Ifc4x3_add1::IfcMaterialProfileSet* v4_ForProfileEndSet, boost::optional< int > v5_CardinalEndPoint) : IfcMaterialProfileSetUsage(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, v4_ForProfileEndSet ? v4_ForProfileEndSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); }; populate_derived(); } +Ifc4x3_add1::IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(::Ifc4x3_add1::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent, ::Ifc4x3_add1::IfcMaterialProfileSet* v4_ForProfileEndSet, boost::optional< int > v5_CardinalEndPoint) : IfcMaterialProfileSetUsage(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, v4_ForProfileEndSet ? v4_ForProfileEndSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); }; populate_derived(); } // Function implementations for IfcMaterialProfileWithOffsets -std::vector< double > /*[1:2]*/ Ifc4x3_add1::IfcMaterialProfileWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = data_.get_attribute_value(6); return v; } +std::vector< double > /*[1:2]*/ Ifc4x3_add1::IfcMaterialProfileWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcMaterialProfileWithOffsets::setOffsetValues(std::vector< double > /*[1:2]*/ v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add1::IfcMaterialProfileWithOffsets::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[652]); } const IfcParse::entity& Ifc4x3_add1::IfcMaterialProfileWithOffsets::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[652]); } Ifc4x3_add1::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(IfcEntityInstanceData&& e) : IfcMaterialProfile(std::move(e)) { } -Ifc4x3_add1::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcMaterial* v3_Material, ::Ifc4x3_add1::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) : IfcMaterialProfile(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues));; populate_derived(); } +Ifc4x3_add1::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcMaterial* v3_Material, ::Ifc4x3_add1::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) : IfcMaterialProfile(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues));; populate_derived(); } // Function implementations for IfcMaterialProperties -::Ifc4x3_add1::IfcMaterialDefinition* Ifc4x3_add1::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcMaterialDefinition>(true); } +::Ifc4x3_add1::IfcMaterialDefinition* Ifc4x3_add1::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcMaterialDefinition>(true); } void Ifc4x3_add1::IfcMaterialProperties::setMaterial(::Ifc4x3_add1::IfcMaterialDefinition* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcMaterialProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[653]); } const IfcParse::entity& Ifc4x3_add1::IfcMaterialProperties::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[653]); } Ifc4x3_add1::IfcMaterialProperties::IfcMaterialProperties(IfcEntityInstanceData&& e) : IfcExtendedProperties(std::move(e)) { } -Ifc4x3_add1::IfcMaterialProperties::IfcMaterialProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add1::IfcProperty >::ptr v3_Properties, ::Ifc4x3_add1::IfcMaterialDefinition* v4_Material) : IfcExtendedProperties(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_Material ? v4_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcMaterialProperties::IfcMaterialProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add1::IfcProperty >::ptr v3_Properties, ::Ifc4x3_add1::IfcMaterialDefinition* v4_Material) : IfcExtendedProperties(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_Material ? v4_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialRelationship -::Ifc4x3_add1::IfcMaterial* Ifc4x3_add1::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcMaterial>(true); } +::Ifc4x3_add1::IfcMaterial* Ifc4x3_add1::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcMaterial>(true); } void Ifc4x3_add1::IfcMaterialRelationship::setRelatingMaterial(::Ifc4x3_add1::IfcMaterial* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_add1::IfcMaterial >::ptr Ifc4x3_add1::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_add1::IfcMaterial >(); } +aggregate_of< ::Ifc4x3_add1::IfcMaterial >::ptr Ifc4x3_add1::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_add1::IfcMaterial >(); } void Ifc4x3_add1::IfcMaterialRelationship::setRelatedMaterials(aggregate_of< ::Ifc4x3_add1::IfcMaterial >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_add1::IfcMaterialRelationship::MaterialExpression() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcMaterialRelationship::MaterialExpression() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcMaterialRelationship::setMaterialExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add1::IfcMaterialRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[654]); } const IfcParse::entity& Ifc4x3_add1::IfcMaterialRelationship::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[654]); } Ifc4x3_add1::IfcMaterialRelationship::IfcMaterialRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_add1::IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcMaterial* v3_RelatingMaterial, aggregate_of< ::Ifc4x3_add1::IfcMaterial >::ptr v4_RelatedMaterials, boost::optional< std::string > v5_MaterialExpression) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMaterial ? v3_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedMaterials)->generalize()); if (v5_MaterialExpression) {set_attribute_value(4, (*v5_MaterialExpression)); }; populate_derived(); } +Ifc4x3_add1::IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcMaterial* v3_RelatingMaterial, aggregate_of< ::Ifc4x3_add1::IfcMaterial >::ptr v4_RelatedMaterials, boost::optional< std::string > v5_MaterialExpression) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMaterial ? v3_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedMaterials)->generalize()); if (v5_MaterialExpression) {set_attribute_value(4, (*v5_MaterialExpression)); }; populate_derived(); } // Function implementations for IfcMaterialUsageDefinition @@ -12622,103 +12622,103 @@ Ifc4x3_add1::IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< s const IfcParse::entity& Ifc4x3_add1::IfcMaterialUsageDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[656]); } const IfcParse::entity& Ifc4x3_add1::IfcMaterialUsageDefinition::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[656]); } Ifc4x3_add1::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add1::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcMeasureWithUnit -::Ifc4x3_add1::IfcValue* Ifc4x3_add1::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcValue>(true); } +::Ifc4x3_add1::IfcValue* Ifc4x3_add1::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcValue>(true); } void Ifc4x3_add1::IfcMeasureWithUnit::setValueComponent(::Ifc4x3_add1::IfcValue* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add1::IfcUnit* Ifc4x3_add1::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcUnit>(true); } +::Ifc4x3_add1::IfcUnit* Ifc4x3_add1::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcUnit>(true); } void Ifc4x3_add1::IfcMeasureWithUnit::setUnitComponent(::Ifc4x3_add1::IfcUnit* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcMeasureWithUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[658]); } const IfcParse::entity& Ifc4x3_add1::IfcMeasureWithUnit::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[658]); } Ifc4x3_add1::IfcMeasureWithUnit::IfcMeasureWithUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcMeasureWithUnit::IfcMeasureWithUnit(::Ifc4x3_add1::IfcValue* v1_ValueComponent, ::Ifc4x3_add1::IfcUnit* v2_UnitComponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_ValueComponent ? v1_ValueComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_UnitComponent ? v2_UnitComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcMeasureWithUnit::IfcMeasureWithUnit(::Ifc4x3_add1::IfcValue* v1_ValueComponent, ::Ifc4x3_add1::IfcUnit* v2_UnitComponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_ValueComponent ? v1_ValueComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_UnitComponent ? v2_UnitComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMechanicalFastener -boost::optional< double > Ifc4x3_add1::IfcMechanicalFastener::NominalDiameter() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_add1::IfcMechanicalFastener::NominalDiameter() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcMechanicalFastener::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_add1::IfcMechanicalFastener::NominalLength() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_add1::IfcMechanicalFastener::NominalLength() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_add1::IfcMechanicalFastener::setNominalLength(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::Value > Ifc4x3_add1::IfcMechanicalFastener::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::Value > Ifc4x3_add1::IfcMechanicalFastener::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add1::IfcMechanicalFastener::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add1::IfcMechanicalFastener::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[659]); } const IfcParse::entity& Ifc4x3_add1::IfcMechanicalFastener::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[659]); } Ifc4x3_add1::IfcMechanicalFastener::IfcMechanicalFastener(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_add1::IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength, boost::optional< ::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength, boost::optional< ::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMechanicalFastenerType -::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_add1::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_add1::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcMechanicalFastenerType::setPredefinedType(::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3_add1::IfcMechanicalFastenerType::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_add1::IfcMechanicalFastenerType::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_add1::IfcMechanicalFastenerType::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_add1::IfcMechanicalFastenerType::NominalLength() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_add1::IfcMechanicalFastenerType::NominalLength() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_add1::IfcMechanicalFastenerType::setNominalLength(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x3_add1::IfcMechanicalFastenerType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[660]); } const IfcParse::entity& Ifc4x3_add1::IfcMechanicalFastenerType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[660]); } Ifc4x3_add1::IfcMechanicalFastenerType::IfcMechanicalFastenerType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_add1::IfcMechanicalFastenerType::IfcMechanicalFastenerType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_NominalLength) : IfcElementComponentType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); }; populate_derived(); } +Ifc4x3_add1::IfcMechanicalFastenerType::IfcMechanicalFastenerType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_NominalLength) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); }; populate_derived(); } // Function implementations for IfcMedicalDevice -boost::optional< ::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Value > Ifc4x3_add1::IfcMedicalDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Value > Ifc4x3_add1::IfcMedicalDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcMedicalDevice::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcMedicalDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[662]); } const IfcParse::entity& Ifc4x3_add1::IfcMedicalDevice::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[662]); } Ifc4x3_add1::IfcMedicalDevice::IfcMedicalDevice(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_add1::IfcMedicalDevice::IfcMedicalDevice(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcMedicalDevice::IfcMedicalDevice(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMedicalDeviceType -::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Value Ifc4x3_add1::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Value Ifc4x3_add1::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcMedicalDeviceType::setPredefinedType(::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcMedicalDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[663]); } const IfcParse::entity& Ifc4x3_add1::IfcMedicalDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[663]); } Ifc4x3_add1::IfcMedicalDeviceType::IfcMedicalDeviceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_add1::IfcMedicalDeviceType::IfcMedicalDeviceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcMedicalDeviceType::IfcMedicalDeviceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMember -boost::optional< ::Ifc4x3_add1::IfcMemberTypeEnum::Value > Ifc4x3_add1::IfcMember::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcMemberTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcMemberTypeEnum::Value > Ifc4x3_add1::IfcMember::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcMemberTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcMember::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcMemberTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcMemberTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcMember::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[665]); } const IfcParse::entity& Ifc4x3_add1::IfcMember::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[665]); } Ifc4x3_add1::IfcMember::IfcMember(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add1::IfcMember::IfcMember(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcMemberTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcMember::IfcMember(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcMemberTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMemberType -::Ifc4x3_add1::IfcMemberTypeEnum::Value Ifc4x3_add1::IfcMemberType::PredefinedType() const { return ::Ifc4x3_add1::IfcMemberTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcMemberTypeEnum::Value Ifc4x3_add1::IfcMemberType::PredefinedType() const { return ::Ifc4x3_add1::IfcMemberTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcMemberType::setPredefinedType(::Ifc4x3_add1::IfcMemberTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcMemberType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[666]); } const IfcParse::entity& Ifc4x3_add1::IfcMemberType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[666]); } Ifc4x3_add1::IfcMemberType::IfcMemberType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add1::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMemberTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMemberTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMetric -::Ifc4x3_add1::IfcBenchmarkEnum::Value Ifc4x3_add1::IfcMetric::Benchmark() const { return ::Ifc4x3_add1::IfcBenchmarkEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_add1::IfcBenchmarkEnum::Value Ifc4x3_add1::IfcMetric::Benchmark() const { return ::Ifc4x3_add1::IfcBenchmarkEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add1::IfcMetric::setBenchmark(::Ifc4x3_add1::IfcBenchmarkEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_add1::IfcBenchmarkEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc4x3_add1::IfcMetric::ValueSource() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcMetric::ValueSource() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcMetric::setValueSource(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_add1::IfcMetricValueSelect* Ifc4x3_add1::IfcMetric::DataValue() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_add1::IfcMetricValueSelect>(true); } +::Ifc4x3_add1::IfcMetricValueSelect* Ifc4x3_add1::IfcMetric::DataValue() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_add1::IfcMetricValueSelect>(true); } void Ifc4x3_add1::IfcMetric::setDataValue(::Ifc4x3_add1::IfcMetricValueSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_add1::IfcReference* Ifc4x3_add1::IfcMetric::ReferencePath() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_add1::IfcReference>(true); } +::Ifc4x3_add1::IfcReference* Ifc4x3_add1::IfcMetric::ReferencePath() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_add1::IfcReference>(true); } void Ifc4x3_add1::IfcMetric::setReferencePath(::Ifc4x3_add1::IfcReference* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_add1::IfcMetric::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[668]); } const IfcParse::entity& Ifc4x3_add1::IfcMetric::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[668]); } Ifc4x3_add1::IfcMetric::IfcMetric(IfcEntityInstanceData&& e) : IfcConstraint(std::move(e)) { } -Ifc4x3_add1::IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add1::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_add1::IfcBenchmarkEnum::Value v8_Benchmark, boost::optional< std::string > v9_ValueSource, ::Ifc4x3_add1::IfcMetricValueSelect* v10_DataValue, ::Ifc4x3_add1::IfcReference* v11_ReferencePath) : IfcConstraint(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, v10_DataValue ? v10_DataValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ReferencePath ? v11_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add1::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_add1::IfcBenchmarkEnum::Value v8_Benchmark, boost::optional< std::string > v9_ValueSource, ::Ifc4x3_add1::IfcMetricValueSelect* v10_DataValue, ::Ifc4x3_add1::IfcReference* v11_ReferencePath) : IfcConstraint(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, v10_DataValue ? v10_DataValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ReferencePath ? v11_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMirroredProfileDef @@ -12726,112 +12726,112 @@ Ifc4x3_add1::IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::str const IfcParse::entity& Ifc4x3_add1::IfcMirroredProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[670]); } const IfcParse::entity& Ifc4x3_add1::IfcMirroredProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[670]); } Ifc4x3_add1::IfcMirroredProfileDef::IfcMirroredProfileDef(IfcEntityInstanceData&& e) : IfcDerivedProfileDef(std::move(e)) { } -Ifc4x3_add1::IfcMirroredProfileDef::IfcMirroredProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcProfileDef* v3_ParentProfile, boost::optional< std::string > v5_Label) : IfcDerivedProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } +Ifc4x3_add1::IfcMirroredProfileDef::IfcMirroredProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcProfileDef* v3_ParentProfile, boost::optional< std::string > v5_Label) : IfcDerivedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } // Function implementations for IfcMobileTelecommunicationsAppliance -boost::optional< ::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > Ifc4x3_add1::IfcMobileTelecommunicationsAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > Ifc4x3_add1::IfcMobileTelecommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcMobileTelecommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcMobileTelecommunicationsAppliance::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[671]); } const IfcParse::entity& Ifc4x3_add1::IfcMobileTelecommunicationsAppliance::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[671]); } Ifc4x3_add1::IfcMobileTelecommunicationsAppliance::IfcMobileTelecommunicationsAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_add1::IfcMobileTelecommunicationsAppliance::IfcMobileTelecommunicationsAppliance(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcMobileTelecommunicationsAppliance::IfcMobileTelecommunicationsAppliance(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMobileTelecommunicationsApplianceType -::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3_add1::IfcMobileTelecommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3_add1::IfcMobileTelecommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcMobileTelecommunicationsApplianceType::setPredefinedType(::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcMobileTelecommunicationsApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[672]); } const IfcParse::entity& Ifc4x3_add1::IfcMobileTelecommunicationsApplianceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[672]); } Ifc4x3_add1::IfcMobileTelecommunicationsApplianceType::IfcMobileTelecommunicationsApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_add1::IfcMobileTelecommunicationsApplianceType::IfcMobileTelecommunicationsApplianceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcMobileTelecommunicationsApplianceType::IfcMobileTelecommunicationsApplianceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMonetaryUnit -std::string Ifc4x3_add1::IfcMonetaryUnit::Currency() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_add1::IfcMonetaryUnit::Currency() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcMonetaryUnit::setCurrency(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add1::IfcMonetaryUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[685]); } const IfcParse::entity& Ifc4x3_add1::IfcMonetaryUnit::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[685]); } Ifc4x3_add1::IfcMonetaryUnit::IfcMonetaryUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcMonetaryUnit::IfcMonetaryUnit(std::string v1_Currency) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Currency));; populate_derived(); } +Ifc4x3_add1::IfcMonetaryUnit::IfcMonetaryUnit(std::string v1_Currency) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Currency));; populate_derived(); } // Function implementations for IfcMooringDevice -boost::optional< ::Ifc4x3_add1::IfcMooringDeviceTypeEnum::Value > Ifc4x3_add1::IfcMooringDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcMooringDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcMooringDeviceTypeEnum::Value > Ifc4x3_add1::IfcMooringDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcMooringDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcMooringDevice::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcMooringDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcMooringDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcMooringDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[687]); } const IfcParse::entity& Ifc4x3_add1::IfcMooringDevice::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[687]); } Ifc4x3_add1::IfcMooringDevice::IfcMooringDevice(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add1::IfcMooringDevice::IfcMooringDevice(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcMooringDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcMooringDevice::IfcMooringDevice(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcMooringDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMooringDeviceType -::Ifc4x3_add1::IfcMooringDeviceTypeEnum::Value Ifc4x3_add1::IfcMooringDeviceType::PredefinedType() const { return ::Ifc4x3_add1::IfcMooringDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcMooringDeviceTypeEnum::Value Ifc4x3_add1::IfcMooringDeviceType::PredefinedType() const { return ::Ifc4x3_add1::IfcMooringDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcMooringDeviceType::setPredefinedType(::Ifc4x3_add1::IfcMooringDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcMooringDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcMooringDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[688]); } const IfcParse::entity& Ifc4x3_add1::IfcMooringDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[688]); } Ifc4x3_add1::IfcMooringDeviceType::IfcMooringDeviceType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add1::IfcMooringDeviceType::IfcMooringDeviceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMooringDeviceTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcMooringDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcMooringDeviceType::IfcMooringDeviceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMooringDeviceTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcMooringDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMotorConnection -boost::optional< ::Ifc4x3_add1::IfcMotorConnectionTypeEnum::Value > Ifc4x3_add1::IfcMotorConnection::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcMotorConnectionTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcMotorConnectionTypeEnum::Value > Ifc4x3_add1::IfcMotorConnection::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcMotorConnection::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcMotorConnectionTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcMotorConnectionTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcMotorConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[690]); } const IfcParse::entity& Ifc4x3_add1::IfcMotorConnection::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[690]); } Ifc4x3_add1::IfcMotorConnection::IfcMotorConnection(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add1::IfcMotorConnection::IfcMotorConnection(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcMotorConnection::IfcMotorConnection(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMotorConnectionType -::Ifc4x3_add1::IfcMotorConnectionTypeEnum::Value Ifc4x3_add1::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4x3_add1::IfcMotorConnectionTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcMotorConnectionTypeEnum::Value Ifc4x3_add1::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4x3_add1::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcMotorConnectionType::setPredefinedType(::Ifc4x3_add1::IfcMotorConnectionTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcMotorConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcMotorConnectionType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[691]); } const IfcParse::entity& Ifc4x3_add1::IfcMotorConnectionType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[691]); } Ifc4x3_add1::IfcMotorConnectionType::IfcMotorConnectionType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add1::IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcNamedUnit -::Ifc4x3_add1::IfcDimensionalExponents* Ifc4x3_add1::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcDimensionalExponents>(true); } +::Ifc4x3_add1::IfcDimensionalExponents* Ifc4x3_add1::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcDimensionalExponents>(true); } void Ifc4x3_add1::IfcNamedUnit::setDimensions(::Ifc4x3_add1::IfcDimensionalExponents* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add1::IfcUnitEnum::Value Ifc4x3_add1::IfcNamedUnit::UnitType() const { return ::Ifc4x3_add1::IfcUnitEnum::FromString(data_.get_attribute_value(1)); } +::Ifc4x3_add1::IfcUnitEnum::Value Ifc4x3_add1::IfcNamedUnit::UnitType() const { return ::Ifc4x3_add1::IfcUnitEnum::FromString(get_attribute_value(1)); } void Ifc4x3_add1::IfcNamedUnit::setUnitType(::Ifc4x3_add1::IfcUnitEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x3_add1::IfcUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcNamedUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[693]); } const IfcParse::entity& Ifc4x3_add1::IfcNamedUnit::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[693]); } Ifc4x3_add1::IfcNamedUnit::IfcNamedUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcNamedUnit::IfcNamedUnit(::Ifc4x3_add1::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_add1::IfcUnitEnum::Value v2_UnitType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; populate_derived(); } +Ifc4x3_add1::IfcNamedUnit::IfcNamedUnit(::Ifc4x3_add1::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_add1::IfcUnitEnum::Value v2_UnitType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; populate_derived(); } // Function implementations for IfcNavigationElement -boost::optional< ::Ifc4x3_add1::IfcNavigationElementTypeEnum::Value > Ifc4x3_add1::IfcNavigationElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcNavigationElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcNavigationElementTypeEnum::Value > Ifc4x3_add1::IfcNavigationElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcNavigationElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcNavigationElement::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcNavigationElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcNavigationElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcNavigationElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[694]); } const IfcParse::entity& Ifc4x3_add1::IfcNavigationElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[694]); } Ifc4x3_add1::IfcNavigationElement::IfcNavigationElement(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add1::IfcNavigationElement::IfcNavigationElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcNavigationElementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcNavigationElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcNavigationElement::IfcNavigationElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcNavigationElementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcNavigationElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcNavigationElementType -::Ifc4x3_add1::IfcNavigationElementTypeEnum::Value Ifc4x3_add1::IfcNavigationElementType::PredefinedType() const { return ::Ifc4x3_add1::IfcNavigationElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcNavigationElementTypeEnum::Value Ifc4x3_add1::IfcNavigationElementType::PredefinedType() const { return ::Ifc4x3_add1::IfcNavigationElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcNavigationElementType::setPredefinedType(::Ifc4x3_add1::IfcNavigationElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcNavigationElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcNavigationElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[695]); } const IfcParse::entity& Ifc4x3_add1::IfcNavigationElementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[695]); } Ifc4x3_add1::IfcNavigationElementType::IfcNavigationElementType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add1::IfcNavigationElementType::IfcNavigationElementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcNavigationElementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcNavigationElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcNavigationElementType::IfcNavigationElementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcNavigationElementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcNavigationElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcObject -boost::optional< std::string > Ifc4x3_add1::IfcObject::ObjectType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcObject::ObjectType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcObject::setObjectType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } ::Ifc4x3_add1::IfcRelDefinesByObject::list::ptr Ifc4x3_add1::IfcObject::IsDeclaredBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[932], 4)->as(); } @@ -12842,7 +12842,7 @@ void Ifc4x3_add1::IfcObject::setObjectType(boost::optional< std::string > v) { i const IfcParse::entity& Ifc4x3_add1::IfcObject::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[700]); } const IfcParse::entity& Ifc4x3_add1::IfcObject::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[700]); } Ifc4x3_add1::IfcObject::IfcObject(IfcEntityInstanceData&& e) : IfcObjectDefinition(std::move(e)) { } -Ifc4x3_add1::IfcObject::IfcObject(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObjectDefinition(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc4x3_add1::IfcObject::IfcObject(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObjectDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcObjectDefinition @@ -12857,10 +12857,10 @@ Ifc4x3_add1::IfcObject::IfcObject(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwn const IfcParse::entity& Ifc4x3_add1::IfcObjectDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[701]); } const IfcParse::entity& Ifc4x3_add1::IfcObjectDefinition::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[701]); } Ifc4x3_add1::IfcObjectDefinition::IfcObjectDefinition(IfcEntityInstanceData&& e) : IfcRoot(std::move(e)) { } -Ifc4x3_add1::IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_add1::IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcObjectPlacement -::Ifc4x3_add1::IfcObjectPlacement* Ifc4x3_add1::IfcObjectPlacement::PlacementRelTo() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcObjectPlacement>(true); } +::Ifc4x3_add1::IfcObjectPlacement* Ifc4x3_add1::IfcObjectPlacement::PlacementRelTo() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcObjectPlacement>(true); } void Ifc4x3_add1::IfcObjectPlacement::setPlacementRelTo(::Ifc4x3_add1::IfcObjectPlacement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_add1::IfcProduct::list::ptr Ifc4x3_add1::IfcObjectPlacement::PlacesObject() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[800], 5)->as(); } @@ -12869,99 +12869,99 @@ void Ifc4x3_add1::IfcObjectPlacement::setPlacementRelTo(::Ifc4x3_add1::IfcObject const IfcParse::entity& Ifc4x3_add1::IfcObjectPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[704]); } const IfcParse::entity& Ifc4x3_add1::IfcObjectPlacement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[704]); } Ifc4x3_add1::IfcObjectPlacement::IfcObjectPlacement(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcObjectPlacement::IfcObjectPlacement(::Ifc4x3_add1::IfcObjectPlacement* v1_PlacementRelTo) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcObjectPlacement::IfcObjectPlacement(::Ifc4x3_add1::IfcObjectPlacement* v1_PlacementRelTo) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcObjective -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcConstraint >::ptr > Ifc4x3_add1::IfcObjective::BenchmarkValues() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_add1::IfcConstraint >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcConstraint >::ptr > Ifc4x3_add1::IfcObjective::BenchmarkValues() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_add1::IfcConstraint >(); } void Ifc4x3_add1::IfcObjective::setBenchmarkValues(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcConstraint >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3_add1::IfcLogicalOperatorEnum::Value > Ifc4x3_add1::IfcObjective::LogicalAggregator() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcLogicalOperatorEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcLogicalOperatorEnum::Value > Ifc4x3_add1::IfcObjective::LogicalAggregator() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcLogicalOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcObjective::setLogicalAggregator(boost::optional< ::Ifc4x3_add1::IfcLogicalOperatorEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcLogicalOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -::Ifc4x3_add1::IfcObjectiveEnum::Value Ifc4x3_add1::IfcObjective::ObjectiveQualifier() const { return ::Ifc4x3_add1::IfcObjectiveEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcObjectiveEnum::Value Ifc4x3_add1::IfcObjective::ObjectiveQualifier() const { return ::Ifc4x3_add1::IfcObjectiveEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcObjective::setObjectiveQualifier(::Ifc4x3_add1::IfcObjectiveEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcObjectiveEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3_add1::IfcObjective::UserDefinedQualifier() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcObjective::UserDefinedQualifier() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_add1::IfcObjective::setUserDefinedQualifier(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add1::IfcObjective::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[702]); } const IfcParse::entity& Ifc4x3_add1::IfcObjective::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[702]); } Ifc4x3_add1::IfcObjective::IfcObjective(IfcEntityInstanceData&& e) : IfcConstraint(std::move(e)) { } -Ifc4x3_add1::IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add1::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcConstraint >::ptr > v8_BenchmarkValues, boost::optional< ::Ifc4x3_add1::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_add1::IfcObjectiveEnum::Value v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier) : IfcConstraint(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, (*v8_BenchmarkValues)->generalize()); } if (v9_LogicalAggregator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; populate_derived(); } +Ifc4x3_add1::IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add1::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcConstraint >::ptr > v8_BenchmarkValues, boost::optional< ::Ifc4x3_add1::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_add1::IfcObjectiveEnum::Value v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier) : IfcConstraint(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, (*v8_BenchmarkValues)->generalize()); } if (v9_LogicalAggregator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; populate_derived(); } // Function implementations for IfcOccupant -boost::optional< ::Ifc4x3_add1::IfcOccupantTypeEnum::Value > Ifc4x3_add1::IfcOccupant::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcOccupantTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_add1::IfcOccupantTypeEnum::Value > Ifc4x3_add1::IfcOccupant::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcOccupantTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_add1::IfcOccupant::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcOccupantTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_add1::IfcOccupantTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_add1::IfcOccupant::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[706]); } const IfcParse::entity& Ifc4x3_add1::IfcOccupant::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[706]); } Ifc4x3_add1::IfcOccupant::IfcOccupant(IfcEntityInstanceData&& e) : IfcActor(std::move(e)) { } -Ifc4x3_add1::IfcOccupant::IfcOccupant(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcActorSelect* v6_TheActor, boost::optional< ::Ifc4x3_add1::IfcOccupantTypeEnum::Value > v7_PredefinedType) : IfcActor(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add1::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcOccupant::IfcOccupant(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcActorSelect* v6_TheActor, boost::optional< ::Ifc4x3_add1::IfcOccupantTypeEnum::Value > v7_PredefinedType) : IfcActor(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add1::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOffsetCurve -::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcOffsetCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCurve>(true); } +::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcOffsetCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCurve>(true); } void Ifc4x3_add1::IfcOffsetCurve::setBasisCurve(::Ifc4x3_add1::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add1::IfcOffsetCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[708]); } const IfcParse::entity& Ifc4x3_add1::IfcOffsetCurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[708]); } Ifc4x3_add1::IfcOffsetCurve::IfcOffsetCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_add1::IfcOffsetCurve::IfcOffsetCurve(::Ifc4x3_add1::IfcCurve* v1_BasisCurve) : IfcCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcOffsetCurve::IfcOffsetCurve(::Ifc4x3_add1::IfcCurve* v1_BasisCurve) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcOffsetCurve2D -double Ifc4x3_add1::IfcOffsetCurve2D::Distance() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add1::IfcOffsetCurve2D::Distance() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcOffsetCurve2D::setDistance(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::logic::tribool Ifc4x3_add1::IfcOffsetCurve2D::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::logic::tribool Ifc4x3_add1::IfcOffsetCurve2D::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcOffsetCurve2D::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcOffsetCurve2D::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[709]); } const IfcParse::entity& Ifc4x3_add1::IfcOffsetCurve2D::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[709]); } Ifc4x3_add1::IfcOffsetCurve2D::IfcOffsetCurve2D(IfcEntityInstanceData&& e) : IfcOffsetCurve(std::move(e)) { } -Ifc4x3_add1::IfcOffsetCurve2D::IfcOffsetCurve2D(::Ifc4x3_add1::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) : IfcOffsetCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; populate_derived(); } +Ifc4x3_add1::IfcOffsetCurve2D::IfcOffsetCurve2D(::Ifc4x3_add1::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) : IfcOffsetCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; populate_derived(); } // Function implementations for IfcOffsetCurve3D -double Ifc4x3_add1::IfcOffsetCurve3D::Distance() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add1::IfcOffsetCurve3D::Distance() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcOffsetCurve3D::setDistance(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::logic::tribool Ifc4x3_add1::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::logic::tribool Ifc4x3_add1::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcOffsetCurve3D::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcDirection>(true); } +::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcDirection>(true); } void Ifc4x3_add1::IfcOffsetCurve3D::setRefDirection(::Ifc4x3_add1::IfcDirection* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcOffsetCurve3D::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[710]); } const IfcParse::entity& Ifc4x3_add1::IfcOffsetCurve3D::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[710]); } Ifc4x3_add1::IfcOffsetCurve3D::IfcOffsetCurve3D(IfcEntityInstanceData&& e) : IfcOffsetCurve(std::move(e)) { } -Ifc4x3_add1::IfcOffsetCurve3D::IfcOffsetCurve3D(::Ifc4x3_add1::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_add1::IfcDirection* v4_RefDirection) : IfcOffsetCurve(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, v4_RefDirection ? v4_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcOffsetCurve3D::IfcOffsetCurve3D(::Ifc4x3_add1::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_add1::IfcDirection* v4_RefDirection) : IfcOffsetCurve(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, v4_RefDirection ? v4_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcOffsetCurveByDistances -aggregate_of< ::Ifc4x3_add1::IfcPointByDistanceExpression >::ptr Ifc4x3_add1::IfcOffsetCurveByDistances::OffsetValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcPointByDistanceExpression >(); } +aggregate_of< ::Ifc4x3_add1::IfcPointByDistanceExpression >::ptr Ifc4x3_add1::IfcOffsetCurveByDistances::OffsetValues() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcPointByDistanceExpression >(); } void Ifc4x3_add1::IfcOffsetCurveByDistances::setOffsetValues(aggregate_of< ::Ifc4x3_add1::IfcPointByDistanceExpression >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_add1::IfcOffsetCurveByDistances::Tag() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcOffsetCurveByDistances::Tag() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcOffsetCurveByDistances::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_add1::IfcOffsetCurveByDistances::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[711]); } const IfcParse::entity& Ifc4x3_add1::IfcOffsetCurveByDistances::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[711]); } Ifc4x3_add1::IfcOffsetCurveByDistances::IfcOffsetCurveByDistances(IfcEntityInstanceData&& e) : IfcOffsetCurve(std::move(e)) { } -Ifc4x3_add1::IfcOffsetCurveByDistances::IfcOffsetCurveByDistances(::Ifc4x3_add1::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_add1::IfcPointByDistanceExpression >::ptr v2_OffsetValues, boost::optional< std::string > v3_Tag) : IfcOffsetCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_OffsetValues)->generalize()); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; populate_derived(); } +Ifc4x3_add1::IfcOffsetCurveByDistances::IfcOffsetCurveByDistances(::Ifc4x3_add1::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_add1::IfcPointByDistanceExpression >::ptr v2_OffsetValues, boost::optional< std::string > v3_Tag) : IfcOffsetCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_OffsetValues)->generalize()); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; populate_derived(); } // Function implementations for IfcOpenCrossProfileDef -bool Ifc4x3_add1::IfcOpenCrossProfileDef::HorizontalWidths() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x3_add1::IfcOpenCrossProfileDef::HorizontalWidths() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcOpenCrossProfileDef::setHorizontalWidths(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< double > /*[1:?]*/ Ifc4x3_add1::IfcOpenCrossProfileDef::Widths() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +std::vector< double > /*[1:?]*/ Ifc4x3_add1::IfcOpenCrossProfileDef::Widths() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcOpenCrossProfileDef::setWidths(std::vector< double > /*[1:?]*/ v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -std::vector< double > /*[1:?]*/ Ifc4x3_add1::IfcOpenCrossProfileDef::Slopes() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +std::vector< double > /*[1:?]*/ Ifc4x3_add1::IfcOpenCrossProfileDef::Slopes() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcOpenCrossProfileDef::setSlopes(std::vector< double > /*[1:?]*/ v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< std::vector< std::string > /*[2:?]*/ > Ifc4x3_add1::IfcOpenCrossProfileDef::Tags() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[2:?]*/ v = data_.get_attribute_value(5); return v; } +boost::optional< std::vector< std::string > /*[2:?]*/ > Ifc4x3_add1::IfcOpenCrossProfileDef::Tags() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[2:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcOpenCrossProfileDef::setTags(boost::optional< std::vector< std::string > /*[2:?]*/ > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_add1::IfcCartesianPoint* Ifc4x3_add1::IfcOpenCrossProfileDef::OffsetPoint() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add1::IfcCartesianPoint>(true); } +::Ifc4x3_add1::IfcCartesianPoint* Ifc4x3_add1::IfcOpenCrossProfileDef::OffsetPoint() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add1::IfcCartesianPoint>(true); } void Ifc4x3_add1::IfcOpenCrossProfileDef::setOffsetPoint(::Ifc4x3_add1::IfcCartesianPoint* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add1::IfcOpenCrossProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[712]); } const IfcParse::entity& Ifc4x3_add1::IfcOpenCrossProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[712]); } Ifc4x3_add1::IfcOpenCrossProfileDef::IfcOpenCrossProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_add1::IfcOpenCrossProfileDef::IfcOpenCrossProfileDef(::Ifc4x3_add1::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, ::Ifc4x3_add1::IfcCartesianPoint* v7_OffsetPoint) : IfcProfileDef(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_HorizontalWidths));set_attribute_value(3, (v4_Widths));set_attribute_value(4, (v5_Slopes)); if (v6_Tags) {set_attribute_value(5, (*v6_Tags)); }set_attribute_value(6, v7_OffsetPoint ? v7_OffsetPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcOpenCrossProfileDef::IfcOpenCrossProfileDef(::Ifc4x3_add1::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, ::Ifc4x3_add1::IfcCartesianPoint* v7_OffsetPoint) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_HorizontalWidths));set_attribute_value(3, (v4_Widths));set_attribute_value(4, (v5_Slopes)); if (v6_Tags) {set_attribute_value(5, (*v6_Tags)); }set_attribute_value(6, v7_OffsetPoint ? v7_OffsetPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcOpenShell @@ -12969,10 +12969,10 @@ Ifc4x3_add1::IfcOpenCrossProfileDef::IfcOpenCrossProfileDef(::Ifc4x3_add1::IfcPr const IfcParse::entity& Ifc4x3_add1::IfcOpenShell::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[715]); } const IfcParse::entity& Ifc4x3_add1::IfcOpenShell::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[715]); } Ifc4x3_add1::IfcOpenShell::IfcOpenShell(IfcEntityInstanceData&& e) : IfcConnectedFaceSet(std::move(e)) { } -Ifc4x3_add1::IfcOpenShell::IfcOpenShell(aggregate_of< ::Ifc4x3_add1::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcOpenShell::IfcOpenShell(aggregate_of< ::Ifc4x3_add1::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcOpeningElement -boost::optional< ::Ifc4x3_add1::IfcOpeningElementTypeEnum::Value > Ifc4x3_add1::IfcOpeningElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcOpeningElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcOpeningElementTypeEnum::Value > Ifc4x3_add1::IfcOpeningElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcOpeningElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcOpeningElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcOpeningElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x3_add1::IfcRelFillsElement::list::ptr Ifc4x3_add1::IfcOpeningElement::HasFillings() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[936], 4)->as(); } @@ -12980,18 +12980,18 @@ void Ifc4x3_add1::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4x3 const IfcParse::entity& Ifc4x3_add1::IfcOpeningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[713]); } const IfcParse::entity& Ifc4x3_add1::IfcOpeningElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[713]); } Ifc4x3_add1::IfcOpeningElement::IfcOpeningElement(IfcEntityInstanceData&& e) : IfcFeatureElementSubtraction(std::move(e)) { } -Ifc4x3_add1::IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOrganization -boost::optional< std::string > Ifc4x3_add1::IfcOrganization::Identification() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcOrganization::Identification() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcOrganization::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -std::string Ifc4x3_add1::IfcOrganization::Name() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_add1::IfcOrganization::Name() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcOrganization::setName(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_add1::IfcOrganization::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcOrganization::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcOrganization::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcActorRole >::ptr > Ifc4x3_add1::IfcOrganization::Roles() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_add1::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcActorRole >::ptr > Ifc4x3_add1::IfcOrganization::Roles() const { if(get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_add1::IfcActorRole >(); } void Ifc4x3_add1::IfcOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(3, (*v)->generalize());} else {unset_attribute_value(3);} } -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAddress >::ptr > Ifc4x3_add1::IfcOrganization::Addresses() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_add1::IfcAddress >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAddress >::ptr > Ifc4x3_add1::IfcOrganization::Addresses() const { if(get_attribute_value(4).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_add1::IfcAddress >(); } void Ifc4x3_add1::IfcOrganization::setAddresses(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAddress >::ptr > v) { if (v) {set_attribute_value(4, (*v)->generalize());} else {unset_attribute_value(4);} } ::Ifc4x3_add1::IfcOrganizationRelationship::list::ptr Ifc4x3_add1::IfcOrganization::IsRelatedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[717], 3)->as(); } @@ -13001,31 +13001,31 @@ void Ifc4x3_add1::IfcOrganization::setAddresses(boost::optional< aggregate_of< : const IfcParse::entity& Ifc4x3_add1::IfcOrganization::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[716]); } const IfcParse::entity& Ifc4x3_add1::IfcOrganization::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[716]); } Ifc4x3_add1::IfcOrganization::IfcOrganization(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcOrganization::IfcOrganization(boost::optional< std::string > v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcActorRole >::ptr > v4_Roles, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAddress >::ptr > v5_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, (*v4_Roles)->generalize()); } if (v5_Addresses) {set_attribute_value(4, (*v5_Addresses)->generalize()); }; populate_derived(); } +Ifc4x3_add1::IfcOrganization::IfcOrganization(boost::optional< std::string > v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcActorRole >::ptr > v4_Roles, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAddress >::ptr > v5_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, (*v4_Roles)->generalize()); } if (v5_Addresses) {set_attribute_value(4, (*v5_Addresses)->generalize()); }; populate_derived(); } // Function implementations for IfcOrganizationRelationship -::Ifc4x3_add1::IfcOrganization* Ifc4x3_add1::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcOrganization>(true); } +::Ifc4x3_add1::IfcOrganization* Ifc4x3_add1::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcOrganization>(true); } void Ifc4x3_add1::IfcOrganizationRelationship::setRelatingOrganization(::Ifc4x3_add1::IfcOrganization* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_add1::IfcOrganization >::ptr Ifc4x3_add1::IfcOrganizationRelationship::RelatedOrganizations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_add1::IfcOrganization >(); } +aggregate_of< ::Ifc4x3_add1::IfcOrganization >::ptr Ifc4x3_add1::IfcOrganizationRelationship::RelatedOrganizations() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_add1::IfcOrganization >(); } void Ifc4x3_add1::IfcOrganizationRelationship::setRelatedOrganizations(aggregate_of< ::Ifc4x3_add1::IfcOrganization >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcOrganizationRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[717]); } const IfcParse::entity& Ifc4x3_add1::IfcOrganizationRelationship::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[717]); } Ifc4x3_add1::IfcOrganizationRelationship::IfcOrganizationRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_add1::IfcOrganizationRelationship::IfcOrganizationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcOrganization* v3_RelatingOrganization, aggregate_of< ::Ifc4x3_add1::IfcOrganization >::ptr v4_RelatedOrganizations) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingOrganization ? v3_RelatingOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedOrganizations)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcOrganizationRelationship::IfcOrganizationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcOrganization* v3_RelatingOrganization, aggregate_of< ::Ifc4x3_add1::IfcOrganization >::ptr v4_RelatedOrganizations) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingOrganization ? v3_RelatingOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedOrganizations)->generalize());; populate_derived(); } // Function implementations for IfcOrientedEdge -::Ifc4x3_add1::IfcEdge* Ifc4x3_add1::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcEdge>(true); } +::Ifc4x3_add1::IfcEdge* Ifc4x3_add1::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcEdge>(true); } void Ifc4x3_add1::IfcOrientedEdge::setEdgeElement(::Ifc4x3_add1::IfcEdge* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x3_add1::IfcOrientedEdge::Orientation() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x3_add1::IfcOrientedEdge::Orientation() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcOrientedEdge::setOrientation(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcOrientedEdge::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[718]); } const IfcParse::entity& Ifc4x3_add1::IfcOrientedEdge::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[718]); } Ifc4x3_add1::IfcOrientedEdge::IfcOrientedEdge(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc4x3_add1::IfcOrientedEdge::IfcOrientedEdge(::Ifc4x3_add1::IfcEdge* v3_EdgeElement, bool v4_Orientation) : IfcEdge(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(2, v3_EdgeElement ? v3_EdgeElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Orientation));; populate_derived(); } +Ifc4x3_add1::IfcOrientedEdge::IfcOrientedEdge(::Ifc4x3_add1::IfcEdge* v3_EdgeElement, bool v4_Orientation) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(2, v3_EdgeElement ? v3_EdgeElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Orientation));; populate_derived(); } // Function implementations for IfcOuterBoundaryCurve @@ -13033,164 +13033,164 @@ Ifc4x3_add1::IfcOrientedEdge::IfcOrientedEdge(::Ifc4x3_add1::IfcEdge* v3_EdgeEle const IfcParse::entity& Ifc4x3_add1::IfcOuterBoundaryCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[719]); } const IfcParse::entity& Ifc4x3_add1::IfcOuterBoundaryCurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[719]); } Ifc4x3_add1::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(IfcEntityInstanceData&& e) : IfcBoundaryCurve(std::move(e)) { } -Ifc4x3_add1::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(aggregate_of< ::Ifc4x3_add1::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundaryCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x3_add1::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(aggregate_of< ::Ifc4x3_add1::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundaryCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcOutlet -boost::optional< ::Ifc4x3_add1::IfcOutletTypeEnum::Value > Ifc4x3_add1::IfcOutlet::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcOutletTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcOutletTypeEnum::Value > Ifc4x3_add1::IfcOutlet::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcOutletTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcOutlet::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcOutletTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcOutletTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcOutlet::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[720]); } const IfcParse::entity& Ifc4x3_add1::IfcOutlet::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[720]); } Ifc4x3_add1::IfcOutlet::IfcOutlet(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_add1::IfcOutlet::IfcOutlet(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcOutletTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcOutlet::IfcOutlet(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcOutletTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOutletType -::Ifc4x3_add1::IfcOutletTypeEnum::Value Ifc4x3_add1::IfcOutletType::PredefinedType() const { return ::Ifc4x3_add1::IfcOutletTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcOutletTypeEnum::Value Ifc4x3_add1::IfcOutletType::PredefinedType() const { return ::Ifc4x3_add1::IfcOutletTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcOutletType::setPredefinedType(::Ifc4x3_add1::IfcOutletTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcOutletTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcOutletType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[721]); } const IfcParse::entity& Ifc4x3_add1::IfcOutletType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[721]); } Ifc4x3_add1::IfcOutletType::IfcOutletType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_add1::IfcOutletType::IfcOutletType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcOutletTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcOutletType::IfcOutletType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcOutletTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcOwnerHistory -::Ifc4x3_add1::IfcPersonAndOrganization* Ifc4x3_add1::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcPersonAndOrganization>(true); } +::Ifc4x3_add1::IfcPersonAndOrganization* Ifc4x3_add1::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcPersonAndOrganization>(true); } void Ifc4x3_add1::IfcOwnerHistory::setOwningUser(::Ifc4x3_add1::IfcPersonAndOrganization* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add1::IfcApplication* Ifc4x3_add1::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcApplication>(true); } +::Ifc4x3_add1::IfcApplication* Ifc4x3_add1::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcApplication>(true); } void Ifc4x3_add1::IfcOwnerHistory::setOwningApplication(::Ifc4x3_add1::IfcApplication* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< ::Ifc4x3_add1::IfcStateEnum::Value > Ifc4x3_add1::IfcOwnerHistory::State() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcStateEnum::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc4x3_add1::IfcStateEnum::Value > Ifc4x3_add1::IfcOwnerHistory::State() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcStateEnum::FromString(get_attribute_value(2)); } void Ifc4x3_add1::IfcOwnerHistory::setState(boost::optional< ::Ifc4x3_add1::IfcStateEnum::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc4x3_add1::IfcStateEnum::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -boost::optional< ::Ifc4x3_add1::IfcChangeActionEnum::Value > Ifc4x3_add1::IfcOwnerHistory::ChangeAction() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcChangeActionEnum::FromString(data_.get_attribute_value(3)); } +boost::optional< ::Ifc4x3_add1::IfcChangeActionEnum::Value > Ifc4x3_add1::IfcOwnerHistory::ChangeAction() const { if(get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcChangeActionEnum::FromString(get_attribute_value(3)); } void Ifc4x3_add1::IfcOwnerHistory::setChangeAction(boost::optional< ::Ifc4x3_add1::IfcChangeActionEnum::Value > v) { if (v) {set_attribute_value(3, EnumerationReference(&::Ifc4x3_add1::IfcChangeActionEnum::Class(), (size_t) *v));} else {unset_attribute_value(3);} } -boost::optional< int > Ifc4x3_add1::IfcOwnerHistory::LastModifiedDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x3_add1::IfcOwnerHistory::LastModifiedDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_add1::IfcPersonAndOrganization* Ifc4x3_add1::IfcOwnerHistory::LastModifyingUser() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcPersonAndOrganization>(true); } +::Ifc4x3_add1::IfcPersonAndOrganization* Ifc4x3_add1::IfcOwnerHistory::LastModifyingUser() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcPersonAndOrganization>(true); } void Ifc4x3_add1::IfcOwnerHistory::setLastModifyingUser(::Ifc4x3_add1::IfcPersonAndOrganization* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add1::IfcApplication* Ifc4x3_add1::IfcOwnerHistory::LastModifyingApplication() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add1::IfcApplication>(true); } +::Ifc4x3_add1::IfcApplication* Ifc4x3_add1::IfcOwnerHistory::LastModifyingApplication() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add1::IfcApplication>(true); } void Ifc4x3_add1::IfcOwnerHistory::setLastModifyingApplication(::Ifc4x3_add1::IfcApplication* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -int Ifc4x3_add1::IfcOwnerHistory::CreationDate() const { int v = data_.get_attribute_value(7); return v; } +int Ifc4x3_add1::IfcOwnerHistory::CreationDate() const { int v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcOwnerHistory::setCreationDate(int v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_add1::IfcOwnerHistory::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[723]); } const IfcParse::entity& Ifc4x3_add1::IfcOwnerHistory::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[723]); } Ifc4x3_add1::IfcOwnerHistory::IfcOwnerHistory(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcOwnerHistory::IfcOwnerHistory(::Ifc4x3_add1::IfcPersonAndOrganization* v1_OwningUser, ::Ifc4x3_add1::IfcApplication* v2_OwningApplication, boost::optional< ::Ifc4x3_add1::IfcStateEnum::Value > v3_State, boost::optional< ::Ifc4x3_add1::IfcChangeActionEnum::Value > v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, ::Ifc4x3_add1::IfcPersonAndOrganization* v6_LastModifyingUser, ::Ifc4x3_add1::IfcApplication* v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, v1_OwningUser ? v1_OwningUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OwningApplication ? v2_OwningApplication->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_State) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add1::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_add1::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, v6_LastModifyingUser ? v6_LastModifyingUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_LastModifyingApplication ? v7_LastModifyingApplication->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_CreationDate));; populate_derived(); } +Ifc4x3_add1::IfcOwnerHistory::IfcOwnerHistory(::Ifc4x3_add1::IfcPersonAndOrganization* v1_OwningUser, ::Ifc4x3_add1::IfcApplication* v2_OwningApplication, boost::optional< ::Ifc4x3_add1::IfcStateEnum::Value > v3_State, boost::optional< ::Ifc4x3_add1::IfcChangeActionEnum::Value > v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, ::Ifc4x3_add1::IfcPersonAndOrganization* v6_LastModifyingUser, ::Ifc4x3_add1::IfcApplication* v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, v1_OwningUser ? v1_OwningUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OwningApplication ? v2_OwningApplication->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_State) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add1::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_add1::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, v6_LastModifyingUser ? v6_LastModifyingUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_LastModifyingApplication ? v7_LastModifyingApplication->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_CreationDate));; populate_derived(); } // Function implementations for IfcParameterizedProfileDef -::Ifc4x3_add1::IfcAxis2Placement2D* Ifc4x3_add1::IfcParameterizedProfileDef::Position() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcAxis2Placement2D>(true); } +::Ifc4x3_add1::IfcAxis2Placement2D* Ifc4x3_add1::IfcParameterizedProfileDef::Position() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcAxis2Placement2D>(true); } void Ifc4x3_add1::IfcParameterizedProfileDef::setPosition(::Ifc4x3_add1::IfcAxis2Placement2D* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcParameterizedProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[724]); } const IfcParse::entity& Ifc4x3_add1::IfcParameterizedProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[724]); } Ifc4x3_add1::IfcParameterizedProfileDef::IfcParameterizedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_add1::IfcParameterizedProfileDef::IfcParameterizedProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D* v3_Position) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcParameterizedProfileDef::IfcParameterizedProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D* v3_Position) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPath -aggregate_of< ::Ifc4x3_add1::IfcOrientedEdge >::ptr Ifc4x3_add1::IfcPath::EdgeList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcOrientedEdge >(); } +aggregate_of< ::Ifc4x3_add1::IfcOrientedEdge >::ptr Ifc4x3_add1::IfcPath::EdgeList() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcOrientedEdge >(); } void Ifc4x3_add1::IfcPath::setEdgeList(aggregate_of< ::Ifc4x3_add1::IfcOrientedEdge >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add1::IfcPath::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[726]); } const IfcParse::entity& Ifc4x3_add1::IfcPath::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[726]); } Ifc4x3_add1::IfcPath::IfcPath(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcPath::IfcPath(aggregate_of< ::Ifc4x3_add1::IfcOrientedEdge >::ptr v1_EdgeList) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcPath::IfcPath(aggregate_of< ::Ifc4x3_add1::IfcOrientedEdge >::ptr v1_EdgeList) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } // Function implementations for IfcPavement -boost::optional< ::Ifc4x3_add1::IfcPavementTypeEnum::Value > Ifc4x3_add1::IfcPavement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcPavementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcPavementTypeEnum::Value > Ifc4x3_add1::IfcPavement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcPavementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcPavement::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcPavementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcPavementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcPavement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[727]); } const IfcParse::entity& Ifc4x3_add1::IfcPavement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[727]); } Ifc4x3_add1::IfcPavement::IfcPavement(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add1::IfcPavement::IfcPavement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcPavementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcPavementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcPavement::IfcPavement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcPavementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcPavementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPavementType -::Ifc4x3_add1::IfcPavementTypeEnum::Value Ifc4x3_add1::IfcPavementType::PredefinedType() const { return ::Ifc4x3_add1::IfcPavementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcPavementTypeEnum::Value Ifc4x3_add1::IfcPavementType::PredefinedType() const { return ::Ifc4x3_add1::IfcPavementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcPavementType::setPredefinedType(::Ifc4x3_add1::IfcPavementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcPavementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcPavementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[728]); } const IfcParse::entity& Ifc4x3_add1::IfcPavementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[728]); } Ifc4x3_add1::IfcPavementType::IfcPavementType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add1::IfcPavementType::IfcPavementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPavementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcPavementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcPavementType::IfcPavementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPavementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcPavementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPcurve -::Ifc4x3_add1::IfcSurface* Ifc4x3_add1::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcSurface>(true); } +::Ifc4x3_add1::IfcSurface* Ifc4x3_add1::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcSurface>(true); } void Ifc4x3_add1::IfcPcurve::setBasisSurface(::Ifc4x3_add1::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcCurve>(true); } +::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcCurve>(true); } void Ifc4x3_add1::IfcPcurve::setReferenceCurve(::Ifc4x3_add1::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcPcurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[730]); } const IfcParse::entity& Ifc4x3_add1::IfcPcurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[730]); } Ifc4x3_add1::IfcPcurve::IfcPcurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_add1::IfcPcurve::IfcPcurve(::Ifc4x3_add1::IfcSurface* v1_BasisSurface, ::Ifc4x3_add1::IfcCurve* v2_ReferenceCurve) : IfcCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_ReferenceCurve ? v2_ReferenceCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcPcurve::IfcPcurve(::Ifc4x3_add1::IfcSurface* v1_BasisSurface, ::Ifc4x3_add1::IfcCurve* v2_ReferenceCurve) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_ReferenceCurve ? v2_ReferenceCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPerformanceHistory -std::string Ifc4x3_add1::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = data_.get_attribute_value(6); return v; } +std::string Ifc4x3_add1::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcPerformanceHistory::setLifeCyclePhase(std::string v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< ::Ifc4x3_add1::IfcPerformanceHistoryTypeEnum::Value > Ifc4x3_add1::IfcPerformanceHistory::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcPerformanceHistoryTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_add1::IfcPerformanceHistoryTypeEnum::Value > Ifc4x3_add1::IfcPerformanceHistory::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcPerformanceHistoryTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add1::IfcPerformanceHistory::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcPerformanceHistoryTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_add1::IfcPerformanceHistoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_add1::IfcPerformanceHistory::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[731]); } const IfcParse::entity& Ifc4x3_add1::IfcPerformanceHistory::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[731]); } Ifc4x3_add1::IfcPerformanceHistory::IfcPerformanceHistory(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_add1::IfcPerformanceHistory::IfcPerformanceHistory(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) : IfcControl(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcPerformanceHistory::IfcPerformanceHistory(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPermeableCoveringProperties -::Ifc4x3_add1::IfcPermeableCoveringOperationEnum::Value Ifc4x3_add1::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4x3_add1::IfcPermeableCoveringOperationEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x3_add1::IfcPermeableCoveringOperationEnum::Value Ifc4x3_add1::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4x3_add1::IfcPermeableCoveringOperationEnum::FromString(get_attribute_value(4)); } void Ifc4x3_add1::IfcPermeableCoveringProperties::setOperationType(::Ifc4x3_add1::IfcPermeableCoveringOperationEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3_add1::IfcPermeableCoveringOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add1::IfcWindowPanelPositionEnum::Value Ifc4x3_add1::IfcPermeableCoveringProperties::PanelPosition() const { return ::Ifc4x3_add1::IfcWindowPanelPositionEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_add1::IfcWindowPanelPositionEnum::Value Ifc4x3_add1::IfcPermeableCoveringProperties::PanelPosition() const { return ::Ifc4x3_add1::IfcWindowPanelPositionEnum::FromString(get_attribute_value(5)); } void Ifc4x3_add1::IfcPermeableCoveringProperties::setPanelPosition(::Ifc4x3_add1::IfcWindowPanelPositionEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_add1::IfcWindowPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_add1::IfcPermeableCoveringProperties::FrameDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_add1::IfcPermeableCoveringProperties::FrameDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_add1::IfcPermeableCoveringProperties::FrameThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add1::IfcPermeableCoveringProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_add1::IfcShapeAspect* Ifc4x3_add1::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_add1::IfcShapeAspect>(true); } +::Ifc4x3_add1::IfcShapeAspect* Ifc4x3_add1::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_add1::IfcShapeAspect>(true); } void Ifc4x3_add1::IfcPermeableCoveringProperties::setShapeAspectStyle(::Ifc4x3_add1::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_add1::IfcPermeableCoveringProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[734]); } const IfcParse::entity& Ifc4x3_add1::IfcPermeableCoveringProperties::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[734]); } Ifc4x3_add1::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_add1::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_add1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x3_add1::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add1::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add1::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_add1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x3_add1::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add1::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add1::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPermit -boost::optional< ::Ifc4x3_add1::IfcPermitTypeEnum::Value > Ifc4x3_add1::IfcPermit::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcPermitTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_add1::IfcPermitTypeEnum::Value > Ifc4x3_add1::IfcPermit::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcPermitTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_add1::IfcPermit::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcPermitTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_add1::IfcPermitTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_add1::IfcPermit::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcPermit::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcPermit::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_add1::IfcPermit::LongDescription() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcPermit::LongDescription() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcPermit::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcPermit::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[735]); } const IfcParse::entity& Ifc4x3_add1::IfcPermit::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[735]); } Ifc4x3_add1::IfcPermit::IfcPermit(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_add1::IfcPermit::IfcPermit(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcPermitTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add1::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } +Ifc4x3_add1::IfcPermit::IfcPermit(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcPermitTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add1::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } // Function implementations for IfcPerson -boost::optional< std::string > Ifc4x3_add1::IfcPerson::Identification() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcPerson::Identification() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcPerson::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add1::IfcPerson::FamilyName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcPerson::FamilyName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcPerson::setFamilyName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_add1::IfcPerson::GivenName() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcPerson::GivenName() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcPerson::setGivenName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add1::IfcPerson::MiddleNames() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add1::IfcPerson::MiddleNames() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcPerson::setMiddleNames(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add1::IfcPerson::PrefixTitles() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add1::IfcPerson::PrefixTitles() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcPerson::setPrefixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add1::IfcPerson::SuffixTitles() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(5); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add1::IfcPerson::SuffixTitles() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcPerson::setSuffixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcActorRole >::ptr > Ifc4x3_add1::IfcPerson::Roles() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3_add1::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcActorRole >::ptr > Ifc4x3_add1::IfcPerson::Roles() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3_add1::IfcActorRole >(); } void Ifc4x3_add1::IfcPerson::setRoles(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAddress >::ptr > Ifc4x3_add1::IfcPerson::Addresses() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_add1::IfcAddress >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAddress >::ptr > Ifc4x3_add1::IfcPerson::Addresses() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_add1::IfcAddress >(); } void Ifc4x3_add1::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAddress >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } ::Ifc4x3_add1::IfcPersonAndOrganization::list::ptr Ifc4x3_add1::IfcPerson::EngagedIn() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[738], 0)->as(); } @@ -13198,42 +13198,42 @@ void Ifc4x3_add1::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4x const IfcParse::entity& Ifc4x3_add1::IfcPerson::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[737]); } const IfcParse::entity& Ifc4x3_add1::IfcPerson::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[737]); } Ifc4x3_add1::IfcPerson::IfcPerson(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::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_add1::IfcActorRole >::ptr > v7_Roles, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, (*v7_Roles)->generalize()); } if (v8_Addresses) {set_attribute_value(7, (*v8_Addresses)->generalize()); }; populate_derived(); } +Ifc4x3_add1::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_add1::IfcActorRole >::ptr > v7_Roles, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, (*v7_Roles)->generalize()); } if (v8_Addresses) {set_attribute_value(7, (*v8_Addresses)->generalize()); }; populate_derived(); } // Function implementations for IfcPersonAndOrganization -::Ifc4x3_add1::IfcPerson* Ifc4x3_add1::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcPerson>(true); } +::Ifc4x3_add1::IfcPerson* Ifc4x3_add1::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcPerson>(true); } void Ifc4x3_add1::IfcPersonAndOrganization::setThePerson(::Ifc4x3_add1::IfcPerson* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add1::IfcOrganization* Ifc4x3_add1::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcOrganization>(true); } +::Ifc4x3_add1::IfcOrganization* Ifc4x3_add1::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcOrganization>(true); } void Ifc4x3_add1::IfcPersonAndOrganization::setTheOrganization(::Ifc4x3_add1::IfcOrganization* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcActorRole >::ptr > Ifc4x3_add1::IfcPersonAndOrganization::Roles() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcActorRole >::ptr > Ifc4x3_add1::IfcPersonAndOrganization::Roles() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcActorRole >(); } void Ifc4x3_add1::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_add1::IfcPersonAndOrganization::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[738]); } const IfcParse::entity& Ifc4x3_add1::IfcPersonAndOrganization::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[738]); } Ifc4x3_add1::IfcPersonAndOrganization::IfcPersonAndOrganization(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcPersonAndOrganization::IfcPersonAndOrganization(::Ifc4x3_add1::IfcPerson* v1_ThePerson, ::Ifc4x3_add1::IfcOrganization* v2_TheOrganization, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcActorRole >::ptr > v3_Roles) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_ThePerson ? v1_ThePerson->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TheOrganization ? v2_TheOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Roles) {set_attribute_value(2, (*v3_Roles)->generalize()); }; populate_derived(); } +Ifc4x3_add1::IfcPersonAndOrganization::IfcPersonAndOrganization(::Ifc4x3_add1::IfcPerson* v1_ThePerson, ::Ifc4x3_add1::IfcOrganization* v2_TheOrganization, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcActorRole >::ptr > v3_Roles) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_ThePerson ? v1_ThePerson->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TheOrganization ? v2_TheOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Roles) {set_attribute_value(2, (*v3_Roles)->generalize()); }; populate_derived(); } // Function implementations for IfcPhysicalComplexQuantity -aggregate_of< ::Ifc4x3_add1::IfcPhysicalQuantity >::ptr Ifc4x3_add1::IfcPhysicalComplexQuantity::HasQuantities() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcPhysicalQuantity >(); } +aggregate_of< ::Ifc4x3_add1::IfcPhysicalQuantity >::ptr Ifc4x3_add1::IfcPhysicalComplexQuantity::HasQuantities() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcPhysicalQuantity >(); } void Ifc4x3_add1::IfcPhysicalComplexQuantity::setHasQuantities(aggregate_of< ::Ifc4x3_add1::IfcPhysicalQuantity >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -std::string Ifc4x3_add1::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x3_add1::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcPhysicalComplexQuantity::setDiscrimination(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_add1::IfcPhysicalComplexQuantity::Quality() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcPhysicalComplexQuantity::Quality() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcPhysicalComplexQuantity::setQuality(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add1::IfcPhysicalComplexQuantity::Usage() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcPhysicalComplexQuantity::Usage() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcPhysicalComplexQuantity::setUsage(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_add1::IfcPhysicalComplexQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[740]); } const IfcParse::entity& Ifc4x3_add1::IfcPhysicalComplexQuantity::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[740]); } Ifc4x3_add1::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(IfcEntityInstanceData&& e) : IfcPhysicalQuantity(std::move(e)) { } -Ifc4x3_add1::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add1::IfcPhysicalQuantity >::ptr v3_HasQuantities, std::string v4_Discrimination, boost::optional< std::string > v5_Quality, boost::optional< std::string > v6_Usage) : IfcPhysicalQuantity(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_HasQuantities)->generalize());set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; populate_derived(); } +Ifc4x3_add1::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add1::IfcPhysicalQuantity >::ptr v3_HasQuantities, std::string v4_Discrimination, boost::optional< std::string > v5_Quality, boost::optional< std::string > v6_Usage) : IfcPhysicalQuantity(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_HasQuantities)->generalize());set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; populate_derived(); } // Function implementations for IfcPhysicalQuantity -std::string Ifc4x3_add1::IfcPhysicalQuantity::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_add1::IfcPhysicalQuantity::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcPhysicalQuantity::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_add1::IfcPhysicalQuantity::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcPhysicalQuantity::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcPhysicalQuantity::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x3_add1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_add1::IfcPhysicalQuantity::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[427], 3)->as(); } @@ -13242,127 +13242,127 @@ void Ifc4x3_add1::IfcPhysicalQuantity::setDescription(boost::optional< std::stri const IfcParse::entity& Ifc4x3_add1::IfcPhysicalQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[742]); } const IfcParse::entity& Ifc4x3_add1::IfcPhysicalQuantity::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[742]); } Ifc4x3_add1::IfcPhysicalQuantity::IfcPhysicalQuantity(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4x3_add1::IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcPhysicalSimpleQuantity -::Ifc4x3_add1::IfcNamedUnit* Ifc4x3_add1::IfcPhysicalSimpleQuantity::Unit() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcNamedUnit>(true); } +::Ifc4x3_add1::IfcNamedUnit* Ifc4x3_add1::IfcPhysicalSimpleQuantity::Unit() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcNamedUnit>(true); } void Ifc4x3_add1::IfcPhysicalSimpleQuantity::setUnit(::Ifc4x3_add1::IfcNamedUnit* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcPhysicalSimpleQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[743]); } const IfcParse::entity& Ifc4x3_add1::IfcPhysicalSimpleQuantity::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[743]); } Ifc4x3_add1::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(IfcEntityInstanceData&& e) : IfcPhysicalQuantity(std::move(e)) { } -Ifc4x3_add1::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPile -boost::optional< ::Ifc4x3_add1::IfcPileTypeEnum::Value > Ifc4x3_add1::IfcPile::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcPileTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcPileTypeEnum::Value > Ifc4x3_add1::IfcPile::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcPileTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcPile::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcPileTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcPileTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< ::Ifc4x3_add1::IfcPileConstructionEnum::Value > Ifc4x3_add1::IfcPile::ConstructionType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcPileConstructionEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_add1::IfcPileConstructionEnum::Value > Ifc4x3_add1::IfcPile::ConstructionType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcPileConstructionEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcPile::setConstructionType(boost::optional< ::Ifc4x3_add1::IfcPileConstructionEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcPileConstructionEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_add1::IfcPile::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[744]); } const IfcParse::entity& Ifc4x3_add1::IfcPile::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[744]); } Ifc4x3_add1::IfcPile::IfcPile(IfcEntityInstanceData&& e) : IfcDeepFoundation(std::move(e)) { } -Ifc4x3_add1::IfcPile::IfcPile(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcPileTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x3_add1::IfcPileConstructionEnum::Value > v10_ConstructionType) : IfcDeepFoundation(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; populate_derived(); } +Ifc4x3_add1::IfcPile::IfcPile(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcPileTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x3_add1::IfcPileConstructionEnum::Value > v10_ConstructionType) : IfcDeepFoundation(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; populate_derived(); } // Function implementations for IfcPileType -::Ifc4x3_add1::IfcPileTypeEnum::Value Ifc4x3_add1::IfcPileType::PredefinedType() const { return ::Ifc4x3_add1::IfcPileTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcPileTypeEnum::Value Ifc4x3_add1::IfcPileType::PredefinedType() const { return ::Ifc4x3_add1::IfcPileTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcPileType::setPredefinedType(::Ifc4x3_add1::IfcPileTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcPileTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcPileType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[746]); } const IfcParse::entity& Ifc4x3_add1::IfcPileType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[746]); } Ifc4x3_add1::IfcPileType::IfcPileType(IfcEntityInstanceData&& e) : IfcDeepFoundationType(std::move(e)) { } -Ifc4x3_add1::IfcPileType::IfcPileType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPileTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcPileType::IfcPileType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPileTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPipeFitting -boost::optional< ::Ifc4x3_add1::IfcPipeFittingTypeEnum::Value > Ifc4x3_add1::IfcPipeFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcPipeFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcPipeFittingTypeEnum::Value > Ifc4x3_add1::IfcPipeFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcPipeFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcPipeFitting::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcPipeFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcPipeFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcPipeFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[748]); } const IfcParse::entity& Ifc4x3_add1::IfcPipeFitting::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[748]); } Ifc4x3_add1::IfcPipeFitting::IfcPipeFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x3_add1::IfcPipeFitting::IfcPipeFitting(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcPipeFitting::IfcPipeFitting(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPipeFittingType -::Ifc4x3_add1::IfcPipeFittingTypeEnum::Value Ifc4x3_add1::IfcPipeFittingType::PredefinedType() const { return ::Ifc4x3_add1::IfcPipeFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcPipeFittingTypeEnum::Value Ifc4x3_add1::IfcPipeFittingType::PredefinedType() const { return ::Ifc4x3_add1::IfcPipeFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcPipeFittingType::setPredefinedType(::Ifc4x3_add1::IfcPipeFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcPipeFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcPipeFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[749]); } const IfcParse::entity& Ifc4x3_add1::IfcPipeFittingType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[749]); } Ifc4x3_add1::IfcPipeFittingType::IfcPipeFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x3_add1::IfcPipeFittingType::IfcPipeFittingType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPipeFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcPipeFittingType::IfcPipeFittingType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPipeFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPipeSegment -boost::optional< ::Ifc4x3_add1::IfcPipeSegmentTypeEnum::Value > Ifc4x3_add1::IfcPipeSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcPipeSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcPipeSegmentTypeEnum::Value > Ifc4x3_add1::IfcPipeSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcPipeSegment::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcPipeSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcPipeSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcPipeSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[751]); } const IfcParse::entity& Ifc4x3_add1::IfcPipeSegment::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[751]); } Ifc4x3_add1::IfcPipeSegment::IfcPipeSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x3_add1::IfcPipeSegment::IfcPipeSegment(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcPipeSegment::IfcPipeSegment(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPipeSegmentType -::Ifc4x3_add1::IfcPipeSegmentTypeEnum::Value Ifc4x3_add1::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4x3_add1::IfcPipeSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcPipeSegmentTypeEnum::Value Ifc4x3_add1::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4x3_add1::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcPipeSegmentType::setPredefinedType(::Ifc4x3_add1::IfcPipeSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcPipeSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcPipeSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[752]); } const IfcParse::entity& Ifc4x3_add1::IfcPipeSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[752]); } Ifc4x3_add1::IfcPipeSegmentType::IfcPipeSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x3_add1::IfcPipeSegmentType::IfcPipeSegmentType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcPipeSegmentType::IfcPipeSegmentType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPixelTexture -int Ifc4x3_add1::IfcPixelTexture::Width() const { int v = data_.get_attribute_value(5); return v; } +int Ifc4x3_add1::IfcPixelTexture::Width() const { int v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcPixelTexture::setWidth(int v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -int Ifc4x3_add1::IfcPixelTexture::Height() const { int v = data_.get_attribute_value(6); return v; } +int Ifc4x3_add1::IfcPixelTexture::Height() const { int v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcPixelTexture::setHeight(int v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -int Ifc4x3_add1::IfcPixelTexture::ColourComponents() const { int v = data_.get_attribute_value(7); return v; } +int Ifc4x3_add1::IfcPixelTexture::ColourComponents() const { int v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcPixelTexture::setColourComponents(int v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector< boost::dynamic_bitset<> > /*[1:?]*/ Ifc4x3_add1::IfcPixelTexture::Pixel() const { std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< boost::dynamic_bitset<> > /*[1:?]*/ Ifc4x3_add1::IfcPixelTexture::Pixel() const { std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcPixelTexture::setPixel(std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_add1::IfcPixelTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[754]); } const IfcParse::entity& Ifc4x3_add1::IfcPixelTexture::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[754]); } Ifc4x3_add1::IfcPixelTexture::IfcPixelTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -Ifc4x3_add1::IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_add1::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(storage_t(9))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel));; populate_derived(); } +Ifc4x3_add1::IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_add1::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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel));; populate_derived(); } // Function implementations for IfcPlacement -::Ifc4x3_add1::IfcPoint* Ifc4x3_add1::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcPoint>(true); } +::Ifc4x3_add1::IfcPoint* Ifc4x3_add1::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcPoint>(true); } void Ifc4x3_add1::IfcPlacement::setLocation(::Ifc4x3_add1::IfcPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add1::IfcPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[755]); } const IfcParse::entity& Ifc4x3_add1::IfcPlacement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[755]); } Ifc4x3_add1::IfcPlacement::IfcPlacement(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcPlacement::IfcPlacement(::Ifc4x3_add1::IfcPoint* v1_Location) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcPlacement::IfcPlacement(::Ifc4x3_add1::IfcPoint* v1_Location) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlanarBox -::Ifc4x3_add1::IfcAxis2Placement* Ifc4x3_add1::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcAxis2Placement>(true); } +::Ifc4x3_add1::IfcAxis2Placement* Ifc4x3_add1::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcAxis2Placement>(true); } void Ifc4x3_add1::IfcPlanarBox::setPlacement(::Ifc4x3_add1::IfcAxis2Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcPlanarBox::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[756]); } const IfcParse::entity& Ifc4x3_add1::IfcPlanarBox::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[756]); } Ifc4x3_add1::IfcPlanarBox::IfcPlanarBox(IfcEntityInstanceData&& e) : IfcPlanarExtent(std::move(e)) { } -Ifc4x3_add1::IfcPlanarBox::IfcPlanarBox(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_add1::IfcAxis2Placement* v3_Placement) : IfcPlanarExtent(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, v3_Placement ? v3_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcPlanarBox::IfcPlanarBox(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_add1::IfcAxis2Placement* v3_Placement) : IfcPlanarExtent(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, v3_Placement ? v3_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlanarExtent -double Ifc4x3_add1::IfcPlanarExtent::SizeInX() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_add1::IfcPlanarExtent::SizeInX() const { double v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcPlanarExtent::setSizeInX(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_add1::IfcPlanarExtent::SizeInY() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add1::IfcPlanarExtent::SizeInY() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcPlanarExtent::setSizeInY(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcPlanarExtent::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[757]); } const IfcParse::entity& Ifc4x3_add1::IfcPlanarExtent::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[757]); } Ifc4x3_add1::IfcPlanarExtent::IfcPlanarExtent(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeInY) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; populate_derived(); } +Ifc4x3_add1::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeInY) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; populate_derived(); } // Function implementations for IfcPlane @@ -13370,27 +13370,27 @@ Ifc4x3_add1::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeI const IfcParse::entity& Ifc4x3_add1::IfcPlane::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[759]); } const IfcParse::entity& Ifc4x3_add1::IfcPlane::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[759]); } Ifc4x3_add1::IfcPlane::IfcPlane(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x3_add1::IfcPlane::IfcPlane(::Ifc4x3_add1::IfcAxis2Placement3D* v1_Position) : IfcElementarySurface(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcPlane::IfcPlane(::Ifc4x3_add1::IfcAxis2Placement3D* v1_Position) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlate -boost::optional< ::Ifc4x3_add1::IfcPlateTypeEnum::Value > Ifc4x3_add1::IfcPlate::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcPlateTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcPlateTypeEnum::Value > Ifc4x3_add1::IfcPlate::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcPlateTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcPlate::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcPlateTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcPlateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcPlate::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[761]); } const IfcParse::entity& Ifc4x3_add1::IfcPlate::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[761]); } Ifc4x3_add1::IfcPlate::IfcPlate(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add1::IfcPlate::IfcPlate(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcPlateTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcPlate::IfcPlate(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcPlateTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPlateType -::Ifc4x3_add1::IfcPlateTypeEnum::Value Ifc4x3_add1::IfcPlateType::PredefinedType() const { return ::Ifc4x3_add1::IfcPlateTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcPlateTypeEnum::Value Ifc4x3_add1::IfcPlateType::PredefinedType() const { return ::Ifc4x3_add1::IfcPlateTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcPlateType::setPredefinedType(::Ifc4x3_add1::IfcPlateTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcPlateTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcPlateType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[762]); } const IfcParse::entity& Ifc4x3_add1::IfcPlateType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[762]); } Ifc4x3_add1::IfcPlateType::IfcPlateType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add1::IfcPlateType::IfcPlateType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPlateTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcPlateType::IfcPlateType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPlateTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPoint @@ -13398,113 +13398,113 @@ Ifc4x3_add1::IfcPlateType::IfcPlateType(std::string v1_GlobalId, ::Ifc4x3_add1:: const IfcParse::entity& Ifc4x3_add1::IfcPoint::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[764]); } const IfcParse::entity& Ifc4x3_add1::IfcPoint::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[764]); } Ifc4x3_add1::IfcPoint::IfcPoint(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add1::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPointByDistanceExpression -::Ifc4x3_add1::IfcCurveMeasureSelect* Ifc4x3_add1::IfcPointByDistanceExpression::DistanceAlong() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCurveMeasureSelect>(true); } +::Ifc4x3_add1::IfcCurveMeasureSelect* Ifc4x3_add1::IfcPointByDistanceExpression::DistanceAlong() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCurveMeasureSelect>(true); } void Ifc4x3_add1::IfcPointByDistanceExpression::setDistanceAlong(::Ifc4x3_add1::IfcCurveMeasureSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< double > Ifc4x3_add1::IfcPointByDistanceExpression::OffsetLateral() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_add1::IfcPointByDistanceExpression::OffsetLateral() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcPointByDistanceExpression::setOffsetLateral(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_add1::IfcPointByDistanceExpression::OffsetVertical() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add1::IfcPointByDistanceExpression::OffsetVertical() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcPointByDistanceExpression::setOffsetVertical(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_add1::IfcPointByDistanceExpression::OffsetLongitudinal() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add1::IfcPointByDistanceExpression::OffsetLongitudinal() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcPointByDistanceExpression::setOffsetLongitudinal(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcPointByDistanceExpression::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcCurve>(true); } +::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcPointByDistanceExpression::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcCurve>(true); } void Ifc4x3_add1::IfcPointByDistanceExpression::setBasisCurve(::Ifc4x3_add1::IfcCurve* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add1::IfcPointByDistanceExpression::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[765]); } const IfcParse::entity& Ifc4x3_add1::IfcPointByDistanceExpression::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[765]); } Ifc4x3_add1::IfcPointByDistanceExpression::IfcPointByDistanceExpression(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x3_add1::IfcPointByDistanceExpression::IfcPointByDistanceExpression(::Ifc4x3_add1::IfcCurveMeasureSelect* v1_DistanceAlong, boost::optional< double > v2_OffsetLateral, boost::optional< double > v3_OffsetVertical, boost::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_add1::IfcCurve* v5_BasisCurve) : IfcPoint(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_DistanceAlong ? v1_DistanceAlong->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); }set_attribute_value(4, v5_BasisCurve ? v5_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcPointByDistanceExpression::IfcPointByDistanceExpression(::Ifc4x3_add1::IfcCurveMeasureSelect* v1_DistanceAlong, boost::optional< double > v2_OffsetLateral, boost::optional< double > v3_OffsetVertical, boost::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_add1::IfcCurve* v5_BasisCurve) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_DistanceAlong ? v1_DistanceAlong->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); }set_attribute_value(4, v5_BasisCurve ? v5_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPointOnCurve -::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCurve>(true); } +::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCurve>(true); } void Ifc4x3_add1::IfcPointOnCurve::setBasisCurve(::Ifc4x3_add1::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_add1::IfcPointOnCurve::PointParameter() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add1::IfcPointOnCurve::PointParameter() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcPointOnCurve::setPointParameter(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcPointOnCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[766]); } const IfcParse::entity& Ifc4x3_add1::IfcPointOnCurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[766]); } Ifc4x3_add1::IfcPointOnCurve::IfcPointOnCurve(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x3_add1::IfcPointOnCurve::IfcPointOnCurve(::Ifc4x3_add1::IfcCurve* v1_BasisCurve, double v2_PointParameter) : IfcPoint(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameter));; populate_derived(); } +Ifc4x3_add1::IfcPointOnCurve::IfcPointOnCurve(::Ifc4x3_add1::IfcCurve* v1_BasisCurve, double v2_PointParameter) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameter));; populate_derived(); } // Function implementations for IfcPointOnSurface -::Ifc4x3_add1::IfcSurface* Ifc4x3_add1::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcSurface>(true); } +::Ifc4x3_add1::IfcSurface* Ifc4x3_add1::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcSurface>(true); } void Ifc4x3_add1::IfcPointOnSurface::setBasisSurface(::Ifc4x3_add1::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_add1::IfcPointOnSurface::PointParameterU() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add1::IfcPointOnSurface::PointParameterU() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcPointOnSurface::setPointParameterU(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_add1::IfcPointOnSurface::PointParameterV() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_add1::IfcPointOnSurface::PointParameterV() const { double v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcPointOnSurface::setPointParameterV(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcPointOnSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[767]); } const IfcParse::entity& Ifc4x3_add1::IfcPointOnSurface::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[767]); } Ifc4x3_add1::IfcPointOnSurface::IfcPointOnSurface(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x3_add1::IfcPointOnSurface::IfcPointOnSurface(::Ifc4x3_add1::IfcSurface* v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) : IfcPoint(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; populate_derived(); } +Ifc4x3_add1::IfcPointOnSurface::IfcPointOnSurface(::Ifc4x3_add1::IfcSurface* v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; populate_derived(); } // Function implementations for IfcPolyLoop -aggregate_of< ::Ifc4x3_add1::IfcCartesianPoint >::ptr Ifc4x3_add1::IfcPolyLoop::Polygon() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcCartesianPoint >(); } +aggregate_of< ::Ifc4x3_add1::IfcCartesianPoint >::ptr Ifc4x3_add1::IfcPolyLoop::Polygon() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcCartesianPoint >(); } void Ifc4x3_add1::IfcPolyLoop::setPolygon(aggregate_of< ::Ifc4x3_add1::IfcCartesianPoint >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add1::IfcPolyLoop::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[772]); } const IfcParse::entity& Ifc4x3_add1::IfcPolyLoop::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[772]); } Ifc4x3_add1::IfcPolyLoop::IfcPolyLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc4x3_add1::IfcPolyLoop::IfcPolyLoop(aggregate_of< ::Ifc4x3_add1::IfcCartesianPoint >::ptr v1_Polygon) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Polygon)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcPolyLoop::IfcPolyLoop(aggregate_of< ::Ifc4x3_add1::IfcCartesianPoint >::ptr v1_Polygon) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Polygon)->generalize());; populate_derived(); } // Function implementations for IfcPolygonalBoundedHalfSpace -::Ifc4x3_add1::IfcAxis2Placement3D* Ifc4x3_add1::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcAxis2Placement3D>(true); } +::Ifc4x3_add1::IfcAxis2Placement3D* Ifc4x3_add1::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcAxis2Placement3D>(true); } void Ifc4x3_add1::IfcPolygonalBoundedHalfSpace::setPosition(::Ifc4x3_add1::IfcAxis2Placement3D* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add1::IfcBoundedCurve* Ifc4x3_add1::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcBoundedCurve>(true); } +::Ifc4x3_add1::IfcBoundedCurve* Ifc4x3_add1::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcBoundedCurve>(true); } void Ifc4x3_add1::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(::Ifc4x3_add1::IfcBoundedCurve* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcPolygonalBoundedHalfSpace::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[769]); } const IfcParse::entity& Ifc4x3_add1::IfcPolygonalBoundedHalfSpace::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[769]); } Ifc4x3_add1::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(IfcEntityInstanceData&& e) : IfcHalfSpaceSolid(std::move(e)) { } -Ifc4x3_add1::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(::Ifc4x3_add1::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_add1::IfcAxis2Placement3D* v3_Position, ::Ifc4x3_add1::IfcBoundedCurve* v4_PolygonalBoundary) : IfcHalfSpaceSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PolygonalBoundary ? v4_PolygonalBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(::Ifc4x3_add1::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_add1::IfcAxis2Placement3D* v3_Position, ::Ifc4x3_add1::IfcBoundedCurve* v4_PolygonalBoundary) : IfcHalfSpaceSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PolygonalBoundary ? v4_PolygonalBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPolygonalFaceSet -boost::optional< bool > Ifc4x3_add1::IfcPolygonalFaceSet::Closed() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } bool v = data_.get_attribute_value(1); return v; } +boost::optional< bool > Ifc4x3_add1::IfcPolygonalFaceSet::Closed() const { if(get_attribute_value(1).isNull()) { return boost::none; } bool v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcPolygonalFaceSet::setClosed(boost::optional< bool > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3_add1::IfcIndexedPolygonalFace >::ptr Ifc4x3_add1::IfcPolygonalFaceSet::Faces() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcIndexedPolygonalFace >(); } +aggregate_of< ::Ifc4x3_add1::IfcIndexedPolygonalFace >::ptr Ifc4x3_add1::IfcPolygonalFaceSet::Faces() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcIndexedPolygonalFace >(); } void Ifc4x3_add1::IfcPolygonalFaceSet::setFaces(aggregate_of< ::Ifc4x3_add1::IfcIndexedPolygonalFace >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_add1::IfcPolygonalFaceSet::PnIndex() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_add1::IfcPolygonalFaceSet::PnIndex() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcPolygonalFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_add1::IfcPolygonalFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[770]); } const IfcParse::entity& Ifc4x3_add1::IfcPolygonalFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[770]); } Ifc4x3_add1::IfcPolygonalFaceSet::IfcPolygonalFaceSet(IfcEntityInstanceData&& e) : IfcTessellatedFaceSet(std::move(e)) { } -Ifc4x3_add1::IfcPolygonalFaceSet::IfcPolygonalFaceSet(::Ifc4x3_add1::IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v2_Closed, aggregate_of< ::Ifc4x3_add1::IfcIndexedPolygonalFace >::ptr v3_Faces, boost::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) : IfcTessellatedFaceSet(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, (v3_Faces)->generalize()); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); }; populate_derived(); } +Ifc4x3_add1::IfcPolygonalFaceSet::IfcPolygonalFaceSet(::Ifc4x3_add1::IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v2_Closed, aggregate_of< ::Ifc4x3_add1::IfcIndexedPolygonalFace >::ptr v3_Faces, boost::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) : IfcTessellatedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, (v3_Faces)->generalize()); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); }; populate_derived(); } // Function implementations for IfcPolyline -aggregate_of< ::Ifc4x3_add1::IfcCartesianPoint >::ptr Ifc4x3_add1::IfcPolyline::Points() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcCartesianPoint >(); } +aggregate_of< ::Ifc4x3_add1::IfcCartesianPoint >::ptr Ifc4x3_add1::IfcPolyline::Points() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcCartesianPoint >(); } void Ifc4x3_add1::IfcPolyline::setPoints(aggregate_of< ::Ifc4x3_add1::IfcCartesianPoint >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add1::IfcPolyline::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[771]); } const IfcParse::entity& Ifc4x3_add1::IfcPolyline::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[771]); } Ifc4x3_add1::IfcPolyline::IfcPolyline(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_add1::IfcPolyline::IfcPolyline(aggregate_of< ::Ifc4x3_add1::IfcCartesianPoint >::ptr v1_Points) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Points)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcPolyline::IfcPolyline(aggregate_of< ::Ifc4x3_add1::IfcCartesianPoint >::ptr v1_Points) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Points)->generalize());; populate_derived(); } // Function implementations for IfcPolynomialCurve -::Ifc4x3_add1::IfcPlacement* Ifc4x3_add1::IfcPolynomialCurve::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcPlacement>(true); } +::Ifc4x3_add1::IfcPlacement* Ifc4x3_add1::IfcPolynomialCurve::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcPlacement>(true); } void Ifc4x3_add1::IfcPolynomialCurve::setPosition(::Ifc4x3_add1::IfcPlacement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_add1::IfcPolynomialCurve::CoefficientsX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_add1::IfcPolynomialCurve::CoefficientsX() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcPolynomialCurve::setCoefficientsX(boost::optional< std::vector< double > /*[2:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_add1::IfcPolynomialCurve::CoefficientsY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_add1::IfcPolynomialCurve::CoefficientsY() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcPolynomialCurve::setCoefficientsY(boost::optional< std::vector< double > /*[2:?]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_add1::IfcPolynomialCurve::CoefficientsZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_add1::IfcPolynomialCurve::CoefficientsZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcPolynomialCurve::setCoefficientsZ(boost::optional< std::vector< double > /*[2:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_add1::IfcPolynomialCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[773]); } const IfcParse::entity& Ifc4x3_add1::IfcPolynomialCurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[773]); } Ifc4x3_add1::IfcPolynomialCurve::IfcPolynomialCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_add1::IfcPolynomialCurve::IfcPolynomialCurve(::Ifc4x3_add1::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) : IfcCurve(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CoefficientsX) {set_attribute_value(1, (*v2_CoefficientsX)); } if (v3_CoefficientsY) {set_attribute_value(2, (*v3_CoefficientsY)); } if (v4_CoefficientsZ) {set_attribute_value(3, (*v4_CoefficientsZ)); }; populate_derived(); } +Ifc4x3_add1::IfcPolynomialCurve::IfcPolynomialCurve(::Ifc4x3_add1::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) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CoefficientsX) {set_attribute_value(1, (*v2_CoefficientsX)); } if (v3_CoefficientsY) {set_attribute_value(2, (*v3_CoefficientsY)); } if (v4_CoefficientsZ) {set_attribute_value(3, (*v4_CoefficientsZ)); }; populate_derived(); } // Function implementations for IfcPort @@ -13515,7 +13515,7 @@ Ifc4x3_add1::IfcPolynomialCurve::IfcPolynomialCurve(::Ifc4x3_add1::IfcPlacement* const IfcParse::entity& Ifc4x3_add1::IfcPort::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[774]); } const IfcParse::entity& Ifc4x3_add1::IfcPort::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[774]); } Ifc4x3_add1::IfcPort::IfcPort(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_add1::IfcPort::IfcPort(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcPort::IfcPort(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPositioningElement @@ -13525,29 +13525,29 @@ Ifc4x3_add1::IfcPort::IfcPort(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHi const IfcParse::entity& Ifc4x3_add1::IfcPositioningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[775]); } const IfcParse::entity& Ifc4x3_add1::IfcPositioningElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[775]); } Ifc4x3_add1::IfcPositioningElement::IfcPositioningElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_add1::IfcPositioningElement::IfcPositioningElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcPositioningElement::IfcPositioningElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPostalAddress -boost::optional< std::string > Ifc4x3_add1::IfcPostalAddress::InternalLocation() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcPostalAddress::InternalLocation() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcPostalAddress::setInternalLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add1::IfcPostalAddress::AddressLines() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add1::IfcPostalAddress::AddressLines() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcPostalAddress::setAddressLines(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add1::IfcPostalAddress::PostalBox() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcPostalAddress::PostalBox() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcPostalAddress::setPostalBox(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_add1::IfcPostalAddress::Town() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcPostalAddress::Town() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcPostalAddress::setTown(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_add1::IfcPostalAddress::Region() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcPostalAddress::Region() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcPostalAddress::setRegion(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_add1::IfcPostalAddress::PostalCode() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcPostalAddress::PostalCode() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcPostalAddress::setPostalCode(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_add1::IfcPostalAddress::Country() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcPostalAddress::Country() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_add1::IfcPostalAddress::setCountry(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_add1::IfcPostalAddress::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[780]); } const IfcParse::entity& Ifc4x3_add1::IfcPostalAddress::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[780]); } Ifc4x3_add1::IfcPostalAddress::IfcPostalAddress(IfcEntityInstanceData&& e) : IfcAddress(std::move(e)) { } -Ifc4x3_add1::IfcPostalAddress::IfcPostalAddress(boost::optional< ::Ifc4x3_add1::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) : IfcAddress(IfcEntityInstanceData(storage_t(10))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; populate_derived(); } +Ifc4x3_add1::IfcPostalAddress::IfcPostalAddress(boost::optional< ::Ifc4x3_add1::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) : IfcAddress(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; populate_derived(); } // Function implementations for IfcPreDefinedColour @@ -13555,7 +13555,7 @@ Ifc4x3_add1::IfcPostalAddress::IfcPostalAddress(boost::optional< ::Ifc4x3_add1:: const IfcParse::entity& Ifc4x3_add1::IfcPreDefinedColour::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[782]); } const IfcParse::entity& Ifc4x3_add1::IfcPreDefinedColour::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[782]); } Ifc4x3_add1::IfcPreDefinedColour::IfcPreDefinedColour(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc4x3_add1::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_add1::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedCurveFont @@ -13563,17 +13563,17 @@ Ifc4x3_add1::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : Ifc const IfcParse::entity& Ifc4x3_add1::IfcPreDefinedCurveFont::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[783]); } const IfcParse::entity& Ifc4x3_add1::IfcPreDefinedCurveFont::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[783]); } Ifc4x3_add1::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc4x3_add1::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_add1::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedItem -std::string Ifc4x3_add1::IfcPreDefinedItem::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_add1::IfcPreDefinedItem::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcPreDefinedItem::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add1::IfcPreDefinedItem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[784]); } const IfcParse::entity& Ifc4x3_add1::IfcPreDefinedItem::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[784]); } Ifc4x3_add1::IfcPreDefinedItem::IfcPreDefinedItem(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_add1::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedProperties @@ -13581,7 +13581,7 @@ Ifc4x3_add1::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcPres const IfcParse::entity& Ifc4x3_add1::IfcPreDefinedProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[785]); } const IfcParse::entity& Ifc4x3_add1::IfcPreDefinedProperties::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[785]); } Ifc4x3_add1::IfcPreDefinedProperties::IfcPreDefinedProperties(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x3_add1::IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add1::IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPreDefinedPropertySet @@ -13589,7 +13589,7 @@ Ifc4x3_add1::IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbs const IfcParse::entity& Ifc4x3_add1::IfcPreDefinedPropertySet::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[786]); } const IfcParse::entity& Ifc4x3_add1::IfcPreDefinedPropertySet::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[786]); } Ifc4x3_add1::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc4x3_add1::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_add1::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPreDefinedTextFont @@ -13597,7 +13597,7 @@ Ifc4x3_add1::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_G const IfcParse::entity& Ifc4x3_add1::IfcPreDefinedTextFont::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[787]); } const IfcParse::entity& Ifc4x3_add1::IfcPreDefinedTextFont::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[787]); } Ifc4x3_add1::IfcPreDefinedTextFont::IfcPreDefinedTextFont(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc4x3_add1::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_add1::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPresentationItem @@ -13605,74 +13605,74 @@ Ifc4x3_add1::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : const IfcParse::entity& Ifc4x3_add1::IfcPresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[790]); } const IfcParse::entity& Ifc4x3_add1::IfcPresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[790]); } Ifc4x3_add1::IfcPresentationItem::IfcPresentationItem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcPresentationItem::IfcPresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add1::IfcPresentationItem::IfcPresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPresentationLayerAssignment -std::string Ifc4x3_add1::IfcPresentationLayerAssignment::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_add1::IfcPresentationLayerAssignment::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcPresentationLayerAssignment::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_add1::IfcPresentationLayerAssignment::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcPresentationLayerAssignment::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3_add1::IfcLayeredItem >::ptr Ifc4x3_add1::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcLayeredItem >(); } +aggregate_of< ::Ifc4x3_add1::IfcLayeredItem >::ptr Ifc4x3_add1::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcLayeredItem >(); } void Ifc4x3_add1::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x3_add1::IfcLayeredItem >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x3_add1::IfcPresentationLayerAssignment::Identifier() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcPresentationLayerAssignment::Identifier() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_add1::IfcPresentationLayerAssignment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[791]); } const IfcParse::entity& Ifc4x3_add1::IfcPresentationLayerAssignment::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[791]); } Ifc4x3_add1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; populate_derived(); } +Ifc4x3_add1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; populate_derived(); } // Function implementations for IfcPresentationLayerWithStyle -boost::logic::tribool Ifc4x3_add1::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = data_.get_attribute_value(4); return v; } +boost::logic::tribool Ifc4x3_add1::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcPresentationLayerWithStyle::setLayerOn(boost::logic::tribool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::logic::tribool Ifc4x3_add1::IfcPresentationLayerWithStyle::LayerFrozen() const { boost::logic::tribool v = data_.get_attribute_value(5); return v; } +boost::logic::tribool Ifc4x3_add1::IfcPresentationLayerWithStyle::LayerFrozen() const { boost::logic::tribool v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcPresentationLayerWithStyle::setLayerFrozen(boost::logic::tribool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::logic::tribool Ifc4x3_add1::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = data_.get_attribute_value(6); return v; } +boost::logic::tribool Ifc4x3_add1::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcPresentationLayerWithStyle::setLayerBlocked(boost::logic::tribool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -aggregate_of< ::Ifc4x3_add1::IfcPresentationStyle >::ptr Ifc4x3_add1::IfcPresentationLayerWithStyle::LayerStyles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_add1::IfcPresentationStyle >(); } +aggregate_of< ::Ifc4x3_add1::IfcPresentationStyle >::ptr Ifc4x3_add1::IfcPresentationLayerWithStyle::LayerStyles() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_add1::IfcPresentationStyle >(); } void Ifc4x3_add1::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< ::Ifc4x3_add1::IfcPresentationStyle >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_add1::IfcPresentationLayerWithStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[792]); } const IfcParse::entity& Ifc4x3_add1::IfcPresentationLayerWithStyle::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[792]); } Ifc4x3_add1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData&& e) : IfcPresentationLayerAssignment(std::move(e)) { } -Ifc4x3_add1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_add1::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, (v8_LayerStyles)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_add1::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, (v8_LayerStyles)->generalize());; populate_derived(); } // Function implementations for IfcPresentationStyle -boost::optional< std::string > Ifc4x3_add1::IfcPresentationStyle::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcPresentationStyle::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcPresentationStyle::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3_add1::IfcPresentationStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[793]); } const IfcParse::entity& Ifc4x3_add1::IfcPresentationStyle::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[793]); } Ifc4x3_add1::IfcPresentationStyle::IfcPresentationStyle(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_add1::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcProcedure -boost::optional< ::Ifc4x3_add1::IfcProcedureTypeEnum::Value > Ifc4x3_add1::IfcProcedure::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcProcedureTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_add1::IfcProcedureTypeEnum::Value > Ifc4x3_add1::IfcProcedure::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcProcedureTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add1::IfcProcedure::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcProcedureTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_add1::IfcProcedureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_add1::IfcProcedure::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[795]); } const IfcParse::entity& Ifc4x3_add1::IfcProcedure::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[795]); } Ifc4x3_add1::IfcProcedure::IfcProcedure(IfcEntityInstanceData&& e) : IfcProcess(std::move(e)) { } -Ifc4x3_add1::IfcProcedure::IfcProcedure(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcProcedureTypeEnum::Value > v8_PredefinedType) : IfcProcess(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcProcedure::IfcProcedure(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcProcedureTypeEnum::Value > v8_PredefinedType) : IfcProcess(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProcedureType -::Ifc4x3_add1::IfcProcedureTypeEnum::Value Ifc4x3_add1::IfcProcedureType::PredefinedType() const { return ::Ifc4x3_add1::IfcProcedureTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcProcedureTypeEnum::Value Ifc4x3_add1::IfcProcedureType::PredefinedType() const { return ::Ifc4x3_add1::IfcProcedureTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcProcedureType::setPredefinedType(::Ifc4x3_add1::IfcProcedureTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcProcedureTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcProcedureType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[796]); } const IfcParse::entity& Ifc4x3_add1::IfcProcedureType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[796]); } Ifc4x3_add1::IfcProcedureType::IfcProcedureType(IfcEntityInstanceData&& e) : IfcTypeProcess(std::move(e)) { } -Ifc4x3_add1::IfcProcedureType::IfcProcedureType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_add1::IfcProcedureTypeEnum::Value v10_PredefinedType) : IfcTypeProcess(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcProcedureType::IfcProcedureType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_add1::IfcProcedureTypeEnum::Value v10_PredefinedType) : IfcTypeProcess(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcProcess -boost::optional< std::string > Ifc4x3_add1::IfcProcess::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcProcess::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcProcess::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_add1::IfcProcess::LongDescription() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcProcess::LongDescription() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcProcess::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_add1::IfcRelSequence::list::ptr Ifc4x3_add1::IfcProcess::IsPredecessorTo() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[943], 4)->as(); } @@ -13682,12 +13682,12 @@ void Ifc4x3_add1::IfcProcess::setLongDescription(boost::optional< std::string > const IfcParse::entity& Ifc4x3_add1::IfcProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[798]); } const IfcParse::entity& Ifc4x3_add1::IfcProcess::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[798]); } Ifc4x3_add1::IfcProcess::IfcProcess(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_add1::IfcProcess::IfcProcess(std::string v1_GlobalId, ::Ifc4x3_add1::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(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } +Ifc4x3_add1::IfcProcess::IfcProcess(std::string v1_GlobalId, ::Ifc4x3_add1::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(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } // Function implementations for IfcProduct -::Ifc4x3_add1::IfcObjectPlacement* Ifc4x3_add1::IfcProduct::ObjectPlacement() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcObjectPlacement>(true); } +::Ifc4x3_add1::IfcObjectPlacement* Ifc4x3_add1::IfcProduct::ObjectPlacement() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcObjectPlacement>(true); } void Ifc4x3_add1::IfcProduct::setObjectPlacement(::Ifc4x3_add1::IfcObjectPlacement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add1::IfcProductRepresentation* Ifc4x3_add1::IfcProduct::Representation() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add1::IfcProductRepresentation>(true); } +::Ifc4x3_add1::IfcProductRepresentation* Ifc4x3_add1::IfcProduct::Representation() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add1::IfcProductRepresentation>(true); } void Ifc4x3_add1::IfcProduct::setRepresentation(::Ifc4x3_add1::IfcProductRepresentation* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } ::Ifc4x3_add1::IfcRelAssignsToProduct::list::ptr Ifc4x3_add1::IfcProduct::ReferencedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[906], 6)->as(); } @@ -13697,7 +13697,7 @@ void Ifc4x3_add1::IfcProduct::setRepresentation(::Ifc4x3_add1::IfcProductReprese const IfcParse::entity& Ifc4x3_add1::IfcProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[800]); } const IfcParse::entity& Ifc4x3_add1::IfcProduct::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[800]); } Ifc4x3_add1::IfcProduct::IfcProduct(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_add1::IfcProduct::IfcProduct(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation) : IfcObject(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcProduct::IfcProduct(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProductDefinitionShape @@ -13707,26 +13707,26 @@ Ifc4x3_add1::IfcProduct::IfcProduct(std::string v1_GlobalId, ::Ifc4x3_add1::IfcO const IfcParse::entity& Ifc4x3_add1::IfcProductDefinitionShape::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[801]); } const IfcParse::entity& Ifc4x3_add1::IfcProductDefinitionShape::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[801]); } Ifc4x3_add1::IfcProductDefinitionShape::IfcProductDefinitionShape(IfcEntityInstanceData&& e) : IfcProductRepresentation(std::move(e)) { } -Ifc4x3_add1::IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add1::IfcRepresentation >::ptr v3_Representations) : IfcProductRepresentation(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add1::IfcRepresentation >::ptr v3_Representations) : IfcProductRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } // Function implementations for IfcProductRepresentation -boost::optional< std::string > Ifc4x3_add1::IfcProductRepresentation::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcProductRepresentation::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcProductRepresentation::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add1::IfcProductRepresentation::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcProductRepresentation::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcProductRepresentation::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3_add1::IfcRepresentation >::ptr Ifc4x3_add1::IfcProductRepresentation::Representations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcRepresentation >(); } +aggregate_of< ::Ifc4x3_add1::IfcRepresentation >::ptr Ifc4x3_add1::IfcProductRepresentation::Representations() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcRepresentation >(); } void Ifc4x3_add1::IfcProductRepresentation::setRepresentations(aggregate_of< ::Ifc4x3_add1::IfcRepresentation >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcProductRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[802]); } const IfcParse::entity& Ifc4x3_add1::IfcProductRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[802]); } Ifc4x3_add1::IfcProductRepresentation::IfcProductRepresentation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcProductRepresentation::IfcProductRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add1::IfcRepresentation >::ptr v3_Representations) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcProductRepresentation::IfcProductRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add1::IfcRepresentation >::ptr v3_Representations) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } // Function implementations for IfcProfileDef -::Ifc4x3_add1::IfcProfileTypeEnum::Value Ifc4x3_add1::IfcProfileDef::ProfileType() const { return ::Ifc4x3_add1::IfcProfileTypeEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_add1::IfcProfileTypeEnum::Value Ifc4x3_add1::IfcProfileDef::ProfileType() const { return ::Ifc4x3_add1::IfcProfileTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x3_add1::IfcProfileDef::setProfileType(::Ifc4x3_add1::IfcProfileTypeEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_add1::IfcProfileDef::ProfileName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcProfileDef::ProfileName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcProfileDef::setProfileName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x3_add1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_add1::IfcProfileDef::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[427], 3)->as(); } @@ -13735,17 +13735,17 @@ void Ifc4x3_add1::IfcProfileDef::setProfileName(boost::optional< std::string > v const IfcParse::entity& Ifc4x3_add1::IfcProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[805]); } const IfcParse::entity& Ifc4x3_add1::IfcProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[805]); } Ifc4x3_add1::IfcProfileDef::IfcProfileDef(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcProfileDef::IfcProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; populate_derived(); } +Ifc4x3_add1::IfcProfileDef::IfcProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; populate_derived(); } // Function implementations for IfcProfileProperties -::Ifc4x3_add1::IfcProfileDef* Ifc4x3_add1::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcProfileDef>(true); } +::Ifc4x3_add1::IfcProfileDef* Ifc4x3_add1::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcProfileDef>(true); } void Ifc4x3_add1::IfcProfileProperties::setProfileDefinition(::Ifc4x3_add1::IfcProfileDef* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcProfileProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[806]); } const IfcParse::entity& Ifc4x3_add1::IfcProfileProperties::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[806]); } Ifc4x3_add1::IfcProfileProperties::IfcProfileProperties(IfcEntityInstanceData&& e) : IfcExtendedProperties(std::move(e)) { } -Ifc4x3_add1::IfcProfileProperties::IfcProfileProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add1::IfcProperty >::ptr v3_Properties, ::Ifc4x3_add1::IfcProfileDef* v4_ProfileDefinition) : IfcExtendedProperties(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_ProfileDefinition ? v4_ProfileDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcProfileProperties::IfcProfileProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add1::IfcProperty >::ptr v3_Properties, ::Ifc4x3_add1::IfcProfileDef* v4_ProfileDefinition) : IfcExtendedProperties(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_ProfileDefinition ? v4_ProfileDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProject @@ -13753,7 +13753,7 @@ Ifc4x3_add1::IfcProfileProperties::IfcProfileProperties(boost::optional< std::st const IfcParse::entity& Ifc4x3_add1::IfcProject::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[808]); } const IfcParse::entity& Ifc4x3_add1::IfcProject::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[808]); } Ifc4x3_add1::IfcProject::IfcProject(IfcEntityInstanceData&& e) : IfcContext(std::move(e)) { } -Ifc4x3_add1::IfcProject::IfcProject(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_add1::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcProject::IfcProject(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_add1::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProjectLibrary @@ -13761,54 +13761,54 @@ Ifc4x3_add1::IfcProject::IfcProject(std::string v1_GlobalId, ::Ifc4x3_add1::IfcO const IfcParse::entity& Ifc4x3_add1::IfcProjectLibrary::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[813]); } const IfcParse::entity& Ifc4x3_add1::IfcProjectLibrary::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[813]); } Ifc4x3_add1::IfcProjectLibrary::IfcProjectLibrary(IfcEntityInstanceData&& e) : IfcContext(std::move(e)) { } -Ifc4x3_add1::IfcProjectLibrary::IfcProjectLibrary(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_add1::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcProjectLibrary::IfcProjectLibrary(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_add1::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProjectOrder -boost::optional< ::Ifc4x3_add1::IfcProjectOrderTypeEnum::Value > Ifc4x3_add1::IfcProjectOrder::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcProjectOrderTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_add1::IfcProjectOrderTypeEnum::Value > Ifc4x3_add1::IfcProjectOrder::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcProjectOrderTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_add1::IfcProjectOrder::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcProjectOrderTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_add1::IfcProjectOrderTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_add1::IfcProjectOrder::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcProjectOrder::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcProjectOrder::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_add1::IfcProjectOrder::LongDescription() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcProjectOrder::LongDescription() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcProjectOrder::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcProjectOrder::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[814]); } const IfcParse::entity& Ifc4x3_add1::IfcProjectOrder::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[814]); } Ifc4x3_add1::IfcProjectOrder::IfcProjectOrder(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_add1::IfcProjectOrder::IfcProjectOrder(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add1::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } +Ifc4x3_add1::IfcProjectOrder::IfcProjectOrder(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add1::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } // Function implementations for IfcProjectedCRS -boost::optional< std::string > Ifc4x3_add1::IfcProjectedCRS::GeodeticDatum() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcProjectedCRS::GeodeticDatum() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcProjectedCRS::setGeodeticDatum(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_add1::IfcProjectedCRS::VerticalDatum() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcProjectedCRS::VerticalDatum() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcProjectedCRS::setVerticalDatum(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_add1::IfcProjectedCRS::MapProjection() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcProjectedCRS::MapProjection() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcProjectedCRS::setMapProjection(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add1::IfcProjectedCRS::MapZone() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcProjectedCRS::MapZone() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcProjectedCRS::setMapZone(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_add1::IfcNamedUnit* Ifc4x3_add1::IfcProjectedCRS::MapUnit() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add1::IfcNamedUnit>(true); } +::Ifc4x3_add1::IfcNamedUnit* Ifc4x3_add1::IfcProjectedCRS::MapUnit() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add1::IfcNamedUnit>(true); } void Ifc4x3_add1::IfcProjectedCRS::setMapUnit(::Ifc4x3_add1::IfcNamedUnit* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add1::IfcProjectedCRS::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[809]); } const IfcParse::entity& Ifc4x3_add1::IfcProjectedCRS::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[809]); } Ifc4x3_add1::IfcProjectedCRS::IfcProjectedCRS(IfcEntityInstanceData&& e) : IfcCoordinateReferenceSystem(std::move(e)) { } -Ifc4x3_add1::IfcProjectedCRS::IfcProjectedCRS(boost::optional< 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_add1::IfcNamedUnit* v7_MapUnit) : IfcCoordinateReferenceSystem(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, v7_MapUnit ? v7_MapUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcProjectedCRS::IfcProjectedCRS(boost::optional< 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_add1::IfcNamedUnit* v7_MapUnit) : IfcCoordinateReferenceSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, v7_MapUnit ? v7_MapUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProjectionElement -boost::optional< ::Ifc4x3_add1::IfcProjectionElementTypeEnum::Value > Ifc4x3_add1::IfcProjectionElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcProjectionElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcProjectionElementTypeEnum::Value > Ifc4x3_add1::IfcProjectionElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcProjectionElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcProjectionElement::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcProjectionElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcProjectionElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcProjectionElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[811]); } const IfcParse::entity& Ifc4x3_add1::IfcProjectionElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[811]); } Ifc4x3_add1::IfcProjectionElement::IfcProjectionElement(IfcEntityInstanceData&& e) : IfcFeatureElementAddition(std::move(e)) { } -Ifc4x3_add1::IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementAddition(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementAddition(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProperty -std::string Ifc4x3_add1::IfcProperty::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_add1::IfcProperty::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcProperty::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_add1::IfcProperty::Specification() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcProperty::Specification() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcProperty::setSpecification(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x3_add1::IfcPropertySet::list::ptr Ifc4x3_add1::IfcProperty::PartOfPset() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[825], 4)->as(); } @@ -13821,7 +13821,7 @@ void Ifc4x3_add1::IfcProperty::setSpecification(boost::optional< std::string > v const IfcParse::entity& Ifc4x3_add1::IfcProperty::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[816]); } const IfcParse::entity& Ifc4x3_add1::IfcProperty::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[816]); } Ifc4x3_add1::IfcProperty::IfcProperty(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x3_add1::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std::string > v2_Specification) : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }; populate_derived(); } +Ifc4x3_add1::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std::string > v2_Specification) : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }; populate_derived(); } // Function implementations for IfcPropertyAbstraction @@ -13830,23 +13830,23 @@ Ifc4x3_add1::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std: const IfcParse::entity& Ifc4x3_add1::IfcPropertyAbstraction::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[817]); } const IfcParse::entity& Ifc4x3_add1::IfcPropertyAbstraction::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[817]); } Ifc4x3_add1::IfcPropertyAbstraction::IfcPropertyAbstraction(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcPropertyAbstraction::IfcPropertyAbstraction() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add1::IfcPropertyAbstraction::IfcPropertyAbstraction() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPropertyBoundedValue -::Ifc4x3_add1::IfcValue* Ifc4x3_add1::IfcPropertyBoundedValue::UpperBoundValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcValue>(true); } +::Ifc4x3_add1::IfcValue* Ifc4x3_add1::IfcPropertyBoundedValue::UpperBoundValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcValue>(true); } void Ifc4x3_add1::IfcPropertyBoundedValue::setUpperBoundValue(::Ifc4x3_add1::IfcValue* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add1::IfcValue* Ifc4x3_add1::IfcPropertyBoundedValue::LowerBoundValue() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcValue>(true); } +::Ifc4x3_add1::IfcValue* Ifc4x3_add1::IfcPropertyBoundedValue::LowerBoundValue() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcValue>(true); } void Ifc4x3_add1::IfcPropertyBoundedValue::setLowerBoundValue(::Ifc4x3_add1::IfcValue* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add1::IfcUnit* Ifc4x3_add1::IfcPropertyBoundedValue::Unit() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcUnit>(true); } +::Ifc4x3_add1::IfcUnit* Ifc4x3_add1::IfcPropertyBoundedValue::Unit() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcUnit>(true); } void Ifc4x3_add1::IfcPropertyBoundedValue::setUnit(::Ifc4x3_add1::IfcUnit* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add1::IfcValue* Ifc4x3_add1::IfcPropertyBoundedValue::SetPointValue() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcValue>(true); } +::Ifc4x3_add1::IfcValue* Ifc4x3_add1::IfcPropertyBoundedValue::SetPointValue() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcValue>(true); } void Ifc4x3_add1::IfcPropertyBoundedValue::setSetPointValue(::Ifc4x3_add1::IfcValue* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcPropertyBoundedValue::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[818]); } const IfcParse::entity& Ifc4x3_add1::IfcPropertyBoundedValue::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[818]); } Ifc4x3_add1::IfcPropertyBoundedValue::IfcPropertyBoundedValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_add1::IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name, boost::optional< std::string > v2_Specification, ::Ifc4x3_add1::IfcValue* v3_UpperBoundValue, ::Ifc4x3_add1::IfcValue* v4_LowerBoundValue, ::Ifc4x3_add1::IfcUnit* v5_Unit, ::Ifc4x3_add1::IfcValue* v6_SetPointValue) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, v3_UpperBoundValue ? v3_UpperBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_LowerBoundValue ? v4_LowerBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_Unit ? v5_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_SetPointValue ? v6_SetPointValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name, boost::optional< std::string > v2_Specification, ::Ifc4x3_add1::IfcValue* v3_UpperBoundValue, ::Ifc4x3_add1::IfcValue* v4_LowerBoundValue, ::Ifc4x3_add1::IfcUnit* v5_Unit, ::Ifc4x3_add1::IfcValue* v6_SetPointValue) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, v3_UpperBoundValue ? v3_UpperBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_LowerBoundValue ? v4_LowerBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_Unit ? v5_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_SetPointValue ? v6_SetPointValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyDefinition @@ -13856,81 +13856,81 @@ Ifc4x3_add1::IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Nam const IfcParse::entity& Ifc4x3_add1::IfcPropertyDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[819]); } const IfcParse::entity& Ifc4x3_add1::IfcPropertyDefinition::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[819]); } Ifc4x3_add1::IfcPropertyDefinition::IfcPropertyDefinition(IfcEntityInstanceData&& e) : IfcRoot(std::move(e)) { } -Ifc4x3_add1::IfcPropertyDefinition::IfcPropertyDefinition(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_add1::IfcPropertyDefinition::IfcPropertyDefinition(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertyDependencyRelationship -::Ifc4x3_add1::IfcProperty* Ifc4x3_add1::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcProperty>(true); } +::Ifc4x3_add1::IfcProperty* Ifc4x3_add1::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcProperty>(true); } void Ifc4x3_add1::IfcPropertyDependencyRelationship::setDependingProperty(::Ifc4x3_add1::IfcProperty* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add1::IfcProperty* Ifc4x3_add1::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcProperty>(true); } +::Ifc4x3_add1::IfcProperty* Ifc4x3_add1::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcProperty>(true); } void Ifc4x3_add1::IfcPropertyDependencyRelationship::setDependantProperty(::Ifc4x3_add1::IfcProperty* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_add1::IfcPropertyDependencyRelationship::Expression() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcPropertyDependencyRelationship::Expression() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add1::IfcPropertyDependencyRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[820]); } const IfcParse::entity& Ifc4x3_add1::IfcPropertyDependencyRelationship::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[820]); } Ifc4x3_add1::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_add1::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcProperty* v3_DependingProperty, ::Ifc4x3_add1::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_DependingProperty ? v3_DependingProperty->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_DependantProperty ? v4_DependantProperty->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } +Ifc4x3_add1::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcProperty* v3_DependingProperty, ::Ifc4x3_add1::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_DependingProperty ? v3_DependingProperty->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_DependantProperty ? v4_DependantProperty->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } // Function implementations for IfcPropertyEnumeratedValue -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > Ifc4x3_add1::IfcPropertyEnumeratedValue::EnumerationValues() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > Ifc4x3_add1::IfcPropertyEnumeratedValue::EnumerationValues() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcValue >(); } void Ifc4x3_add1::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } -::Ifc4x3_add1::IfcPropertyEnumeration* Ifc4x3_add1::IfcPropertyEnumeratedValue::EnumerationReference() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcPropertyEnumeration>(true); } +::Ifc4x3_add1::IfcPropertyEnumeration* Ifc4x3_add1::IfcPropertyEnumeratedValue::EnumerationReference() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcPropertyEnumeration>(true); } void Ifc4x3_add1::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_add1::IfcPropertyEnumeration* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcPropertyEnumeratedValue::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[821]); } const IfcParse::entity& Ifc4x3_add1::IfcPropertyEnumeratedValue::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[821]); } Ifc4x3_add1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_add1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_add1::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_EnumerationValues) {set_attribute_value(2, (*v3_EnumerationValues)->generalize()); }set_attribute_value(3, v4_EnumerationReference ? v4_EnumerationReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_add1::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_EnumerationValues) {set_attribute_value(2, (*v3_EnumerationValues)->generalize()); }set_attribute_value(3, v4_EnumerationReference ? v4_EnumerationReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyEnumeration -std::string Ifc4x3_add1::IfcPropertyEnumeration::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_add1::IfcPropertyEnumeration::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcPropertyEnumeration::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr Ifc4x3_add1::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcValue >(); } +aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr Ifc4x3_add1::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcValue >(); } void Ifc4x3_add1::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add1::IfcUnit* Ifc4x3_add1::IfcPropertyEnumeration::Unit() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcUnit>(true); } +::Ifc4x3_add1::IfcUnit* Ifc4x3_add1::IfcPropertyEnumeration::Unit() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcUnit>(true); } void Ifc4x3_add1::IfcPropertyEnumeration::setUnit(::Ifc4x3_add1::IfcUnit* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcPropertyEnumeration::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[822]); } const IfcParse::entity& Ifc4x3_add1::IfcPropertyEnumeration::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[822]); } Ifc4x3_add1::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x3_add1::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_add1::IfcUnit* v3_Unit) : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_EnumerationValues)->generalize());set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_add1::IfcUnit* v3_Unit) : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_EnumerationValues)->generalize());set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyListValue -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > Ifc4x3_add1::IfcPropertyListValue::ListValues() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > Ifc4x3_add1::IfcPropertyListValue::ListValues() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcValue >(); } void Ifc4x3_add1::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } -::Ifc4x3_add1::IfcUnit* Ifc4x3_add1::IfcPropertyListValue::Unit() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcUnit>(true); } +::Ifc4x3_add1::IfcUnit* Ifc4x3_add1::IfcPropertyListValue::Unit() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcUnit>(true); } void Ifc4x3_add1::IfcPropertyListValue::setUnit(::Ifc4x3_add1::IfcUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcPropertyListValue::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[823]); } const IfcParse::entity& Ifc4x3_add1::IfcPropertyListValue::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[823]); } Ifc4x3_add1::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_add1::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_add1::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_ListValues) {set_attribute_value(2, (*v3_ListValues)->generalize()); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_add1::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_ListValues) {set_attribute_value(2, (*v3_ListValues)->generalize()); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyReferenceValue -boost::optional< std::string > Ifc4x3_add1::IfcPropertyReferenceValue::UsageName() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcPropertyReferenceValue::UsageName() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_add1::IfcObjectReferenceSelect* Ifc4x3_add1::IfcPropertyReferenceValue::PropertyReference() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcObjectReferenceSelect>(true); } +::Ifc4x3_add1::IfcObjectReferenceSelect* Ifc4x3_add1::IfcPropertyReferenceValue::PropertyReference() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcObjectReferenceSelect>(true); } void Ifc4x3_add1::IfcPropertyReferenceValue::setPropertyReference(::Ifc4x3_add1::IfcObjectReferenceSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcPropertyReferenceValue::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[824]); } const IfcParse::entity& Ifc4x3_add1::IfcPropertyReferenceValue::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[824]); } Ifc4x3_add1::IfcPropertyReferenceValue::IfcPropertyReferenceValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_add1::IfcPropertyReferenceValue::IfcPropertyReferenceValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< std::string > v3_UsageName, ::Ifc4x3_add1::IfcObjectReferenceSelect* v4_PropertyReference) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, v4_PropertyReference ? v4_PropertyReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcPropertyReferenceValue::IfcPropertyReferenceValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< std::string > v3_UsageName, ::Ifc4x3_add1::IfcObjectReferenceSelect* v4_PropertyReference) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, v4_PropertyReference ? v4_PropertyReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertySet -aggregate_of< ::Ifc4x3_add1::IfcProperty >::ptr Ifc4x3_add1::IfcPropertySet::HasProperties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_add1::IfcProperty >(); } +aggregate_of< ::Ifc4x3_add1::IfcProperty >::ptr Ifc4x3_add1::IfcPropertySet::HasProperties() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_add1::IfcProperty >(); } void Ifc4x3_add1::IfcPropertySet::setHasProperties(aggregate_of< ::Ifc4x3_add1::IfcProperty >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add1::IfcPropertySet::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[825]); } const IfcParse::entity& Ifc4x3_add1::IfcPropertySet::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[825]); } Ifc4x3_add1::IfcPropertySet::IfcPropertySet(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc4x3_add1::IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcProperty >::ptr v5_HasProperties) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_HasProperties)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcProperty >::ptr v5_HasProperties) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_HasProperties)->generalize());; populate_derived(); } // Function implementations for IfcPropertySetDefinition @@ -13941,14 +13941,14 @@ Ifc4x3_add1::IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, ::Ifc4x3_ad const IfcParse::entity& Ifc4x3_add1::IfcPropertySetDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[826]); } const IfcParse::entity& Ifc4x3_add1::IfcPropertySetDefinition::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[826]); } Ifc4x3_add1::IfcPropertySetDefinition::IfcPropertySetDefinition(IfcEntityInstanceData&& e) : IfcPropertyDefinition(std::move(e)) { } -Ifc4x3_add1::IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_add1::IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertySetTemplate -boost::optional< ::Ifc4x3_add1::IfcPropertySetTemplateTypeEnum::Value > Ifc4x3_add1::IfcPropertySetTemplate::TemplateType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcPropertySetTemplateTypeEnum::FromString(data_.get_attribute_value(4)); } +boost::optional< ::Ifc4x3_add1::IfcPropertySetTemplateTypeEnum::Value > Ifc4x3_add1::IfcPropertySetTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcPropertySetTemplateTypeEnum::FromString(get_attribute_value(4)); } void Ifc4x3_add1::IfcPropertySetTemplate::setTemplateType(boost::optional< ::Ifc4x3_add1::IfcPropertySetTemplateTypeEnum::Value > v) { if (v) {set_attribute_value(4, EnumerationReference(&::Ifc4x3_add1::IfcPropertySetTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add1::IfcPropertySetTemplate::ApplicableEntity() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcPropertySetTemplate::ApplicableEntity() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcPropertySetTemplate::setApplicableEntity(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -aggregate_of< ::Ifc4x3_add1::IfcPropertyTemplate >::ptr Ifc4x3_add1::IfcPropertySetTemplate::HasPropertyTemplates() const { aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3_add1::IfcPropertyTemplate >(); } +aggregate_of< ::Ifc4x3_add1::IfcPropertyTemplate >::ptr Ifc4x3_add1::IfcPropertySetTemplate::HasPropertyTemplates() const { aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3_add1::IfcPropertyTemplate >(); } void Ifc4x3_add1::IfcPropertySetTemplate::setHasPropertyTemplates(aggregate_of< ::Ifc4x3_add1::IfcPropertyTemplate >::ptr v) { set_attribute_value(6, (v)->generalize());if constexpr (false)unset_attribute_value(6); } ::Ifc4x3_add1::IfcRelDefinesByTemplate::list::ptr Ifc4x3_add1::IfcPropertySetTemplate::Defines() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[934], 5)->as(); } @@ -13956,39 +13956,39 @@ void Ifc4x3_add1::IfcPropertySetTemplate::setHasPropertyTemplates(aggregate_of< const IfcParse::entity& Ifc4x3_add1::IfcPropertySetTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[829]); } const IfcParse::entity& Ifc4x3_add1::IfcPropertySetTemplate::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[829]); } Ifc4x3_add1::IfcPropertySetTemplate::IfcPropertySetTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplateDefinition(std::move(e)) { } -Ifc4x3_add1::IfcPropertySetTemplate::IfcPropertySetTemplate(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x3_add1::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_ApplicableEntity, aggregate_of< ::Ifc4x3_add1::IfcPropertyTemplate >::ptr v7_HasPropertyTemplates) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add1::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, (v7_HasPropertyTemplates)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcPropertySetTemplate::IfcPropertySetTemplate(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x3_add1::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_ApplicableEntity, aggregate_of< ::Ifc4x3_add1::IfcPropertyTemplate >::ptr v7_HasPropertyTemplates) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add1::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, (v7_HasPropertyTemplates)->generalize());; populate_derived(); } // Function implementations for IfcPropertySingleValue -::Ifc4x3_add1::IfcValue* Ifc4x3_add1::IfcPropertySingleValue::NominalValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcValue>(true); } +::Ifc4x3_add1::IfcValue* Ifc4x3_add1::IfcPropertySingleValue::NominalValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcValue>(true); } void Ifc4x3_add1::IfcPropertySingleValue::setNominalValue(::Ifc4x3_add1::IfcValue* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add1::IfcUnit* Ifc4x3_add1::IfcPropertySingleValue::Unit() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcUnit>(true); } +::Ifc4x3_add1::IfcUnit* Ifc4x3_add1::IfcPropertySingleValue::Unit() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcUnit>(true); } void Ifc4x3_add1::IfcPropertySingleValue::setUnit(::Ifc4x3_add1::IfcUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcPropertySingleValue::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[831]); } const IfcParse::entity& Ifc4x3_add1::IfcPropertySingleValue::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[831]); } Ifc4x3_add1::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_add1::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Specification, ::Ifc4x3_add1::IfcValue* v3_NominalValue, ::Ifc4x3_add1::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, v3_NominalValue ? v3_NominalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Specification, ::Ifc4x3_add1::IfcValue* v3_NominalValue, ::Ifc4x3_add1::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, v3_NominalValue ? v3_NominalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyTableValue -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > Ifc4x3_add1::IfcPropertyTableValue::DefiningValues() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > Ifc4x3_add1::IfcPropertyTableValue::DefiningValues() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcValue >(); } void Ifc4x3_add1::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > Ifc4x3_add1::IfcPropertyTableValue::DefinedValues() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_add1::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > Ifc4x3_add1::IfcPropertyTableValue::DefinedValues() const { if(get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_add1::IfcValue >(); } void Ifc4x3_add1::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v) { if (v) {set_attribute_value(3, (*v)->generalize());} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_add1::IfcPropertyTableValue::Expression() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcPropertyTableValue::Expression() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_add1::IfcUnit* Ifc4x3_add1::IfcPropertyTableValue::DefiningUnit() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcUnit>(true); } +::Ifc4x3_add1::IfcUnit* Ifc4x3_add1::IfcPropertyTableValue::DefiningUnit() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcUnit>(true); } void Ifc4x3_add1::IfcPropertyTableValue::setDefiningUnit(::Ifc4x3_add1::IfcUnit* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add1::IfcUnit* Ifc4x3_add1::IfcPropertyTableValue::DefinedUnit() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add1::IfcUnit>(true); } +::Ifc4x3_add1::IfcUnit* Ifc4x3_add1::IfcPropertyTableValue::DefinedUnit() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add1::IfcUnit>(true); } void Ifc4x3_add1::IfcPropertyTableValue::setDefinedUnit(::Ifc4x3_add1::IfcUnit* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< ::Ifc4x3_add1::IfcCurveInterpolationEnum::Value > Ifc4x3_add1::IfcPropertyTableValue::CurveInterpolation() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCurveInterpolationEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_add1::IfcCurveInterpolationEnum::Value > Ifc4x3_add1::IfcPropertyTableValue::CurveInterpolation() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcCurveInterpolationEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add1::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc4x3_add1::IfcCurveInterpolationEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_add1::IfcCurveInterpolationEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_add1::IfcPropertyTableValue::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[832]); } const IfcParse::entity& Ifc4x3_add1::IfcPropertyTableValue::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[832]); } Ifc4x3_add1::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_add1::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_add1::IfcUnit* v6_DefiningUnit, ::Ifc4x3_add1::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_add1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_DefiningValues) {set_attribute_value(2, (*v3_DefiningValues)->generalize()); } if (v4_DefinedValues) {set_attribute_value(3, (*v4_DefinedValues)->generalize()); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, v6_DefiningUnit ? v6_DefiningUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_DefinedUnit ? v7_DefinedUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_CurveInterpolation) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); }; populate_derived(); } +Ifc4x3_add1::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_add1::IfcUnit* v6_DefiningUnit, ::Ifc4x3_add1::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_add1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_DefiningValues) {set_attribute_value(2, (*v3_DefiningValues)->generalize()); } if (v4_DefinedValues) {set_attribute_value(3, (*v4_DefinedValues)->generalize()); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, v6_DefiningUnit ? v6_DefiningUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_DefinedUnit ? v7_DefinedUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_CurveInterpolation) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); }; populate_derived(); } // Function implementations for IfcPropertyTemplate @@ -13998,7 +13998,7 @@ Ifc4x3_add1::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, b const IfcParse::entity& Ifc4x3_add1::IfcPropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[833]); } const IfcParse::entity& Ifc4x3_add1::IfcPropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[833]); } Ifc4x3_add1::IfcPropertyTemplate::IfcPropertyTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplateDefinition(std::move(e)) { } -Ifc4x3_add1::IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_add1::IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertyTemplateDefinition @@ -14006,115 +14006,115 @@ Ifc4x3_add1::IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, : const IfcParse::entity& Ifc4x3_add1::IfcPropertyTemplateDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[834]); } const IfcParse::entity& Ifc4x3_add1::IfcPropertyTemplateDefinition::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[834]); } Ifc4x3_add1::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(IfcEntityInstanceData&& e) : IfcPropertyDefinition(std::move(e)) { } -Ifc4x3_add1::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_add1::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcProtectiveDevice -boost::optional< ::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Value > Ifc4x3_add1::IfcProtectiveDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Value > Ifc4x3_add1::IfcProtectiveDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcProtectiveDevice::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcProtectiveDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[835]); } const IfcParse::entity& Ifc4x3_add1::IfcProtectiveDevice::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[835]); } Ifc4x3_add1::IfcProtectiveDevice::IfcProtectiveDevice(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_add1::IfcProtectiveDevice::IfcProtectiveDevice(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcProtectiveDevice::IfcProtectiveDevice(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProtectiveDeviceTrippingUnit -boost::optional< ::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x3_add1::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x3_add1::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcProtectiveDeviceTrippingUnit::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcProtectiveDeviceTrippingUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[836]); } const IfcParse::entity& Ifc4x3_add1::IfcProtectiveDeviceTrippingUnit::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[836]); } Ifc4x3_add1::IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_add1::IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProtectiveDeviceTrippingUnitType -::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitType::setPredefinedType(::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[837]); } const IfcParse::entity& Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[837]); } Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcProtectiveDeviceType -::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Value Ifc4x3_add1::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Value Ifc4x3_add1::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcProtectiveDeviceType::setPredefinedType(::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcProtectiveDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[839]); } const IfcParse::entity& Ifc4x3_add1::IfcProtectiveDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[839]); } Ifc4x3_add1::IfcProtectiveDeviceType::IfcProtectiveDeviceType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_add1::IfcProtectiveDeviceType::IfcProtectiveDeviceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcProtectiveDeviceType::IfcProtectiveDeviceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPump -boost::optional< ::Ifc4x3_add1::IfcPumpTypeEnum::Value > Ifc4x3_add1::IfcPump::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcPumpTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcPumpTypeEnum::Value > Ifc4x3_add1::IfcPump::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcPumpTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcPump::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcPumpTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcPumpTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcPump::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[841]); } const IfcParse::entity& Ifc4x3_add1::IfcPump::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[841]); } Ifc4x3_add1::IfcPump::IfcPump(IfcEntityInstanceData&& e) : IfcFlowMovingDevice(std::move(e)) { } -Ifc4x3_add1::IfcPump::IfcPump(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcPumpTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcPump::IfcPump(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcPumpTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPumpType -::Ifc4x3_add1::IfcPumpTypeEnum::Value Ifc4x3_add1::IfcPumpType::PredefinedType() const { return ::Ifc4x3_add1::IfcPumpTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcPumpTypeEnum::Value Ifc4x3_add1::IfcPumpType::PredefinedType() const { return ::Ifc4x3_add1::IfcPumpTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcPumpType::setPredefinedType(::Ifc4x3_add1::IfcPumpTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcPumpTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcPumpType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[842]); } const IfcParse::entity& Ifc4x3_add1::IfcPumpType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[842]); } Ifc4x3_add1::IfcPumpType::IfcPumpType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(e)) { } -Ifc4x3_add1::IfcPumpType::IfcPumpType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPumpTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcPumpType::IfcPumpType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcPumpTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcQuantityArea -double Ifc4x3_add1::IfcQuantityArea::AreaValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add1::IfcQuantityArea::AreaValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcQuantityArea::setAreaValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_add1::IfcQuantityArea::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcQuantityArea::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcQuantityArea::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add1::IfcQuantityArea::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[844]); } const IfcParse::entity& Ifc4x3_add1::IfcQuantityArea::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[844]); } Ifc4x3_add1::IfcQuantityArea::IfcQuantityArea(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_add1::IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit* v3_Unit, double v4_AreaValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_add1::IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit* v3_Unit, double v4_AreaValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityCount -int Ifc4x3_add1::IfcQuantityCount::CountValue() const { int v = data_.get_attribute_value(3); return v; } +int Ifc4x3_add1::IfcQuantityCount::CountValue() const { int v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcQuantityCount::setCountValue(int v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_add1::IfcQuantityCount::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcQuantityCount::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcQuantityCount::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add1::IfcQuantityCount::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[845]); } const IfcParse::entity& Ifc4x3_add1::IfcQuantityCount::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[845]); } Ifc4x3_add1::IfcQuantityCount::IfcQuantityCount(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_add1::IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit* v3_Unit, int v4_CountValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_add1::IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit* v3_Unit, int v4_CountValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityLength -double Ifc4x3_add1::IfcQuantityLength::LengthValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add1::IfcQuantityLength::LengthValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcQuantityLength::setLengthValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_add1::IfcQuantityLength::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcQuantityLength::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcQuantityLength::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add1::IfcQuantityLength::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[846]); } const IfcParse::entity& Ifc4x3_add1::IfcQuantityLength::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[846]); } Ifc4x3_add1::IfcQuantityLength::IfcQuantityLength(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_add1::IfcQuantityLength::IfcQuantityLength(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit* v3_Unit, double v4_LengthValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_add1::IfcQuantityLength::IfcQuantityLength(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit* v3_Unit, double v4_LengthValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityNumber -double Ifc4x3_add1::IfcQuantityNumber::NumberValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add1::IfcQuantityNumber::NumberValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcQuantityNumber::setNumberValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_add1::IfcQuantityNumber::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcQuantityNumber::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcQuantityNumber::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add1::IfcQuantityNumber::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[847]); } const IfcParse::entity& Ifc4x3_add1::IfcQuantityNumber::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[847]); } Ifc4x3_add1::IfcQuantityNumber::IfcQuantityNumber(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_add1::IfcQuantityNumber::IfcQuantityNumber(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit* v3_Unit, double v4_NumberValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_NumberValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_add1::IfcQuantityNumber::IfcQuantityNumber(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit* v3_Unit, double v4_NumberValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_NumberValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantitySet @@ -14122,381 +14122,381 @@ Ifc4x3_add1::IfcQuantityNumber::IfcQuantityNumber(std::string v1_Name, boost::op const IfcParse::entity& Ifc4x3_add1::IfcQuantitySet::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[848]); } const IfcParse::entity& Ifc4x3_add1::IfcQuantitySet::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[848]); } Ifc4x3_add1::IfcQuantitySet::IfcQuantitySet(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc4x3_add1::IfcQuantitySet::IfcQuantitySet(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_add1::IfcQuantitySet::IfcQuantitySet(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcQuantityTime -double Ifc4x3_add1::IfcQuantityTime::TimeValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add1::IfcQuantityTime::TimeValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcQuantityTime::setTimeValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_add1::IfcQuantityTime::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcQuantityTime::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcQuantityTime::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add1::IfcQuantityTime::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[849]); } const IfcParse::entity& Ifc4x3_add1::IfcQuantityTime::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[849]); } Ifc4x3_add1::IfcQuantityTime::IfcQuantityTime(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_add1::IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit* v3_Unit, double v4_TimeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_add1::IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit* v3_Unit, double v4_TimeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityVolume -double Ifc4x3_add1::IfcQuantityVolume::VolumeValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add1::IfcQuantityVolume::VolumeValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcQuantityVolume::setVolumeValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_add1::IfcQuantityVolume::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcQuantityVolume::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcQuantityVolume::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add1::IfcQuantityVolume::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[850]); } const IfcParse::entity& Ifc4x3_add1::IfcQuantityVolume::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[850]); } Ifc4x3_add1::IfcQuantityVolume::IfcQuantityVolume(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_add1::IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit* v3_Unit, double v4_VolumeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_add1::IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit* v3_Unit, double v4_VolumeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityWeight -double Ifc4x3_add1::IfcQuantityWeight::WeightValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add1::IfcQuantityWeight::WeightValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcQuantityWeight::setWeightValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_add1::IfcQuantityWeight::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcQuantityWeight::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcQuantityWeight::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add1::IfcQuantityWeight::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[851]); } const IfcParse::entity& Ifc4x3_add1::IfcQuantityWeight::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[851]); } Ifc4x3_add1::IfcQuantityWeight::IfcQuantityWeight(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_add1::IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit* v3_Unit, double v4_WeightValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_add1::IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcNamedUnit* v3_Unit, double v4_WeightValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcRail -boost::optional< ::Ifc4x3_add1::IfcRailTypeEnum::Value > Ifc4x3_add1::IfcRail::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcRailTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcRailTypeEnum::Value > Ifc4x3_add1::IfcRail::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcRailTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcRail::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcRailTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcRailTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcRail::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[853]); } const IfcParse::entity& Ifc4x3_add1::IfcRail::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[853]); } Ifc4x3_add1::IfcRail::IfcRail(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add1::IfcRail::IfcRail(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcRailTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcRailTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcRail::IfcRail(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcRailTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcRailTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRailType -::Ifc4x3_add1::IfcRailTypeEnum::Value Ifc4x3_add1::IfcRailType::PredefinedType() const { return ::Ifc4x3_add1::IfcRailTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcRailTypeEnum::Value Ifc4x3_add1::IfcRailType::PredefinedType() const { return ::Ifc4x3_add1::IfcRailTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcRailType::setPredefinedType(::Ifc4x3_add1::IfcRailTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcRailTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcRailType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[857]); } const IfcParse::entity& Ifc4x3_add1::IfcRailType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[857]); } Ifc4x3_add1::IfcRailType::IfcRailType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add1::IfcRailType::IfcRailType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcRailTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcRailTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcRailType::IfcRailType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcRailTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcRailTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRailing -boost::optional< ::Ifc4x3_add1::IfcRailingTypeEnum::Value > Ifc4x3_add1::IfcRailing::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcRailingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcRailingTypeEnum::Value > Ifc4x3_add1::IfcRailing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcRailingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcRailing::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcRailingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcRailingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcRailing::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[854]); } const IfcParse::entity& Ifc4x3_add1::IfcRailing::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[854]); } Ifc4x3_add1::IfcRailing::IfcRailing(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add1::IfcRailing::IfcRailing(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcRailingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcRailing::IfcRailing(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcRailingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRailingType -::Ifc4x3_add1::IfcRailingTypeEnum::Value Ifc4x3_add1::IfcRailingType::PredefinedType() const { return ::Ifc4x3_add1::IfcRailingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcRailingTypeEnum::Value Ifc4x3_add1::IfcRailingType::PredefinedType() const { return ::Ifc4x3_add1::IfcRailingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcRailingType::setPredefinedType(::Ifc4x3_add1::IfcRailingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcRailingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcRailingType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[855]); } const IfcParse::entity& Ifc4x3_add1::IfcRailingType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[855]); } Ifc4x3_add1::IfcRailingType::IfcRailingType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add1::IfcRailingType::IfcRailingType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcRailingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcRailingType::IfcRailingType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcRailingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRailway -boost::optional< ::Ifc4x3_add1::IfcRailwayTypeEnum::Value > Ifc4x3_add1::IfcRailway::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcRailwayTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_add1::IfcRailwayTypeEnum::Value > Ifc4x3_add1::IfcRailway::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcRailwayTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcRailway::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcRailwayTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcRailwayTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_add1::IfcRailway::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[859]); } const IfcParse::entity& Ifc4x3_add1::IfcRailway::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[859]); } Ifc4x3_add1::IfcRailway::IfcRailway(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x3_add1::IfcRailway::IfcRailway(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_add1::IfcRailwayTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcRailwayTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcRailway::IfcRailway(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_add1::IfcRailwayTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcRailwayTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRailwayPart -boost::optional< ::Ifc4x3_add1::IfcRailwayPartTypeEnum::Value > Ifc4x3_add1::IfcRailwayPart::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcRailwayPartTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add1::IfcRailwayPartTypeEnum::Value > Ifc4x3_add1::IfcRailwayPart::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcRailwayPartTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add1::IfcRailwayPart::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcRailwayPartTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add1::IfcRailwayPartTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add1::IfcRailwayPart::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[860]); } const IfcParse::entity& Ifc4x3_add1::IfcRailwayPart::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[860]); } Ifc4x3_add1::IfcRailwayPart::IfcRailwayPart(IfcEntityInstanceData&& e) : IfcFacilityPart(std::move(e)) { } -Ifc4x3_add1::IfcRailwayPart::IfcRailwayPart(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3_add1::IfcRailwayPartTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcRailwayPartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcRailwayPart::IfcRailwayPart(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3_add1::IfcRailwayPartTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcRailwayPartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRamp -boost::optional< ::Ifc4x3_add1::IfcRampTypeEnum::Value > Ifc4x3_add1::IfcRamp::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcRampTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcRampTypeEnum::Value > Ifc4x3_add1::IfcRamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcRampTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcRamp::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcRampTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcRampTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcRamp::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[863]); } const IfcParse::entity& Ifc4x3_add1::IfcRamp::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[863]); } Ifc4x3_add1::IfcRamp::IfcRamp(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add1::IfcRamp::IfcRamp(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcRampTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcRamp::IfcRamp(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcRampTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRampFlight -boost::optional< ::Ifc4x3_add1::IfcRampFlightTypeEnum::Value > Ifc4x3_add1::IfcRampFlight::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcRampFlightTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcRampFlightTypeEnum::Value > Ifc4x3_add1::IfcRampFlight::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcRampFlightTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcRampFlight::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcRampFlightTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcRampFlightTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcRampFlight::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[864]); } const IfcParse::entity& Ifc4x3_add1::IfcRampFlight::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[864]); } Ifc4x3_add1::IfcRampFlight::IfcRampFlight(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add1::IfcRampFlight::IfcRampFlight(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcRampFlightTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcRampFlight::IfcRampFlight(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcRampFlightTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRampFlightType -::Ifc4x3_add1::IfcRampFlightTypeEnum::Value Ifc4x3_add1::IfcRampFlightType::PredefinedType() const { return ::Ifc4x3_add1::IfcRampFlightTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcRampFlightTypeEnum::Value Ifc4x3_add1::IfcRampFlightType::PredefinedType() const { return ::Ifc4x3_add1::IfcRampFlightTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcRampFlightType::setPredefinedType(::Ifc4x3_add1::IfcRampFlightTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcRampFlightTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcRampFlightType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[865]); } const IfcParse::entity& Ifc4x3_add1::IfcRampFlightType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[865]); } Ifc4x3_add1::IfcRampFlightType::IfcRampFlightType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add1::IfcRampFlightType::IfcRampFlightType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcRampFlightTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcRampFlightType::IfcRampFlightType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcRampFlightTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRampType -::Ifc4x3_add1::IfcRampTypeEnum::Value Ifc4x3_add1::IfcRampType::PredefinedType() const { return ::Ifc4x3_add1::IfcRampTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcRampTypeEnum::Value Ifc4x3_add1::IfcRampType::PredefinedType() const { return ::Ifc4x3_add1::IfcRampTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcRampType::setPredefinedType(::Ifc4x3_add1::IfcRampTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcRampTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcRampType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[867]); } const IfcParse::entity& Ifc4x3_add1::IfcRampType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[867]); } Ifc4x3_add1::IfcRampType::IfcRampType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add1::IfcRampType::IfcRampType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcRampTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcRampType::IfcRampType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcRampTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRationalBSplineCurveWithKnots -std::vector< double > /*[2:?]*/ Ifc4x3_add1::IfcRationalBSplineCurveWithKnots::WeightsData() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< double > /*[2:?]*/ Ifc4x3_add1::IfcRationalBSplineCurveWithKnots::WeightsData() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcRationalBSplineCurveWithKnots::setWeightsData(std::vector< double > /*[2:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_add1::IfcRationalBSplineCurveWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[870]); } const IfcParse::entity& Ifc4x3_add1::IfcRationalBSplineCurveWithKnots::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[870]); } Ifc4x3_add1::IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(IfcEntityInstanceData&& e) : IfcBSplineCurveWithKnots(std::move(e)) { } -Ifc4x3_add1::IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x3_add1::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_add1::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_add1::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) : IfcBSplineCurveWithKnots(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData));; populate_derived(); } +Ifc4x3_add1::IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x3_add1::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_add1::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_add1::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) : IfcBSplineCurveWithKnots(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData));; populate_derived(); } // Function implementations for IfcRationalBSplineSurfaceWithKnots -std::vector< std::vector< double > > Ifc4x3_add1::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { std::vector< std::vector< double > > v = data_.get_attribute_value(12); return v; } +std::vector< std::vector< double > > Ifc4x3_add1::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { std::vector< std::vector< double > > v = get_attribute_value(12); return v; } void Ifc4x3_add1::IfcRationalBSplineSurfaceWithKnots::setWeightsData(std::vector< std::vector< double > > v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } const IfcParse::entity& Ifc4x3_add1::IfcRationalBSplineSurfaceWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[871]); } const IfcParse::entity& Ifc4x3_add1::IfcRationalBSplineSurfaceWithKnots::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[871]); } Ifc4x3_add1::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(IfcEntityInstanceData&& e) : IfcBSplineSurfaceWithKnots(std::move(e)) { } -Ifc4x3_add1::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_add1::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_add1::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_add1::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) : IfcBSplineSurfaceWithKnots(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_add1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add1::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData));; populate_derived(); } +Ifc4x3_add1::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_add1::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_add1::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_add1::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) : IfcBSplineSurfaceWithKnots(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_add1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add1::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData));; populate_derived(); } // Function implementations for IfcRectangleHollowProfileDef -double Ifc4x3_add1::IfcRectangleHollowProfileDef::WallThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_add1::IfcRectangleHollowProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcRectangleHollowProfileDef::setWallThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_add1::IfcRectangleHollowProfileDef::InnerFilletRadius() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_add1::IfcRectangleHollowProfileDef::InnerFilletRadius() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcRectangleHollowProfileDef::setInnerFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_add1::IfcRectangleHollowProfileDef::OuterFilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add1::IfcRectangleHollowProfileDef::OuterFilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcRectangleHollowProfileDef::setOuterFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_add1::IfcRectangleHollowProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[873]); } const IfcParse::entity& Ifc4x3_add1::IfcRectangleHollowProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[873]); } Ifc4x3_add1::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(IfcEntityInstanceData&& e) : IfcRectangleProfileDef(std::move(e)) { } -Ifc4x3_add1::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, boost::optional< double > v7_InnerFilletRadius, boost::optional< double > v8_OuterFilletRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; populate_derived(); } +Ifc4x3_add1::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, boost::optional< double > v7_InnerFilletRadius, boost::optional< double > v8_OuterFilletRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; populate_derived(); } // Function implementations for IfcRectangleProfileDef -double Ifc4x3_add1::IfcRectangleProfileDef::XDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add1::IfcRectangleProfileDef::XDim() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcRectangleProfileDef::setXDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_add1::IfcRectangleProfileDef::YDim() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add1::IfcRectangleProfileDef::YDim() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcRectangleProfileDef::setYDim(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add1::IfcRectangleProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[874]); } const IfcParse::entity& Ifc4x3_add1::IfcRectangleProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[874]); } Ifc4x3_add1::IfcRectangleProfileDef::IfcRectangleProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_add1::IfcRectangleProfileDef::IfcRectangleProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; populate_derived(); } +Ifc4x3_add1::IfcRectangleProfileDef::IfcRectangleProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; populate_derived(); } // Function implementations for IfcRectangularPyramid -double Ifc4x3_add1::IfcRectangularPyramid::XLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add1::IfcRectangularPyramid::XLength() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcRectangularPyramid::setXLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_add1::IfcRectangularPyramid::YLength() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_add1::IfcRectangularPyramid::YLength() const { double v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcRectangularPyramid::setYLength(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_add1::IfcRectangularPyramid::Height() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add1::IfcRectangularPyramid::Height() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcRectangularPyramid::setHeight(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcRectangularPyramid::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[875]); } const IfcParse::entity& Ifc4x3_add1::IfcRectangularPyramid::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[875]); } Ifc4x3_add1::IfcRectangularPyramid::IfcRectangularPyramid(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3_add1::IfcRectangularPyramid::IfcRectangularPyramid(::Ifc4x3_add1::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; populate_derived(); } +Ifc4x3_add1::IfcRectangularPyramid::IfcRectangularPyramid(::Ifc4x3_add1::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; populate_derived(); } // Function implementations for IfcRectangularTrimmedSurface -::Ifc4x3_add1::IfcSurface* Ifc4x3_add1::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcSurface>(true); } +::Ifc4x3_add1::IfcSurface* Ifc4x3_add1::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcSurface>(true); } void Ifc4x3_add1::IfcRectangularTrimmedSurface::setBasisSurface(::Ifc4x3_add1::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_add1::IfcRectangularTrimmedSurface::U1() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add1::IfcRectangularTrimmedSurface::U1() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcRectangularTrimmedSurface::setU1(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_add1::IfcRectangularTrimmedSurface::V1() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_add1::IfcRectangularTrimmedSurface::V1() const { double v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcRectangularTrimmedSurface::setV1(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_add1::IfcRectangularTrimmedSurface::U2() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add1::IfcRectangularTrimmedSurface::U2() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcRectangularTrimmedSurface::setU2(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_add1::IfcRectangularTrimmedSurface::V2() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add1::IfcRectangularTrimmedSurface::V2() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcRectangularTrimmedSurface::setV2(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -bool Ifc4x3_add1::IfcRectangularTrimmedSurface::Usense() const { bool v = data_.get_attribute_value(5); return v; } +bool Ifc4x3_add1::IfcRectangularTrimmedSurface::Usense() const { bool v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcRectangularTrimmedSurface::setUsense(bool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -bool Ifc4x3_add1::IfcRectangularTrimmedSurface::Vsense() const { bool v = data_.get_attribute_value(6); return v; } +bool Ifc4x3_add1::IfcRectangularTrimmedSurface::Vsense() const { bool v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcRectangularTrimmedSurface::setVsense(bool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add1::IfcRectangularTrimmedSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[876]); } const IfcParse::entity& Ifc4x3_add1::IfcRectangularTrimmedSurface::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[876]); } Ifc4x3_add1::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x3_add1::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(::Ifc4x3_add1::IfcSurface* v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; populate_derived(); } +Ifc4x3_add1::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(::Ifc4x3_add1::IfcSurface* v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; populate_derived(); } // Function implementations for IfcRecurrencePattern -::Ifc4x3_add1::IfcRecurrenceTypeEnum::Value Ifc4x3_add1::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x3_add1::IfcRecurrenceTypeEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_add1::IfcRecurrenceTypeEnum::Value Ifc4x3_add1::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x3_add1::IfcRecurrenceTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x3_add1::IfcRecurrencePattern::setRecurrenceType(::Ifc4x3_add1::IfcRecurrenceTypeEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_add1::IfcRecurrenceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_add1::IfcRecurrencePattern::DayComponent() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_add1::IfcRecurrencePattern::DayComponent() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcRecurrencePattern::setDayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_add1::IfcRecurrencePattern::WeekdayComponent() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_add1::IfcRecurrencePattern::WeekdayComponent() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcRecurrencePattern::setWeekdayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_add1::IfcRecurrencePattern::MonthComponent() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_add1::IfcRecurrencePattern::MonthComponent() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcRecurrencePattern::setMonthComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< int > Ifc4x3_add1::IfcRecurrencePattern::Position() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x3_add1::IfcRecurrencePattern::Position() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcRecurrencePattern::setPosition(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< int > Ifc4x3_add1::IfcRecurrencePattern::Interval() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } int v = data_.get_attribute_value(5); return v; } +boost::optional< int > Ifc4x3_add1::IfcRecurrencePattern::Interval() const { if(get_attribute_value(5).isNull()) { return boost::none; } int v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcRecurrencePattern::setInterval(boost::optional< int > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< int > Ifc4x3_add1::IfcRecurrencePattern::Occurrences() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } int v = data_.get_attribute_value(6); return v; } +boost::optional< int > Ifc4x3_add1::IfcRecurrencePattern::Occurrences() const { if(get_attribute_value(6).isNull()) { return boost::none; } int v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcRecurrencePattern::setOccurrences(boost::optional< int > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcTimePeriod >::ptr > Ifc4x3_add1::IfcRecurrencePattern::TimePeriods() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_add1::IfcTimePeriod >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcTimePeriod >::ptr > Ifc4x3_add1::IfcRecurrencePattern::TimePeriods() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_add1::IfcTimePeriod >(); } void Ifc4x3_add1::IfcRecurrencePattern::setTimePeriods(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcTimePeriod >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_add1::IfcRecurrencePattern::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[877]); } const IfcParse::entity& Ifc4x3_add1::IfcRecurrencePattern::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[877]); } Ifc4x3_add1::IfcRecurrencePattern::IfcRecurrencePattern(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcRecurrencePattern::IfcRecurrencePattern(::Ifc4x3_add1::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_add1::IfcTimePeriod >::ptr > v8_TimePeriods) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, (*v8_TimePeriods)->generalize()); }; populate_derived(); } +Ifc4x3_add1::IfcRecurrencePattern::IfcRecurrencePattern(::Ifc4x3_add1::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_add1::IfcTimePeriod >::ptr > v8_TimePeriods) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, (*v8_TimePeriods)->generalize()); }; populate_derived(); } // Function implementations for IfcReference -boost::optional< std::string > Ifc4x3_add1::IfcReference::TypeIdentifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcReference::TypeIdentifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcReference::setTypeIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add1::IfcReference::AttributeIdentifier() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcReference::AttributeIdentifier() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcReference::setAttributeIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_add1::IfcReference::InstanceName() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcReference::InstanceName() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcReference::setInstanceName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_add1::IfcReference::ListPositions() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_add1::IfcReference::ListPositions() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcReference::setListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_add1::IfcReference* Ifc4x3_add1::IfcReference::InnerReference() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcReference>(true); } +::Ifc4x3_add1::IfcReference* Ifc4x3_add1::IfcReference::InnerReference() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcReference>(true); } void Ifc4x3_add1::IfcReference::setInnerReference(::Ifc4x3_add1::IfcReference* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add1::IfcReference::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[879]); } const IfcParse::entity& Ifc4x3_add1::IfcReference::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[879]); } Ifc4x3_add1::IfcReference::IfcReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::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_add1::IfcReference* v5_InnerReference) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, v5_InnerReference ? v5_InnerReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::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_add1::IfcReference* v5_InnerReference) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, v5_InnerReference ? v5_InnerReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcReferent -boost::optional< ::Ifc4x3_add1::IfcReferentTypeEnum::Value > Ifc4x3_add1::IfcReferent::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcReferentTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_add1::IfcReferentTypeEnum::Value > Ifc4x3_add1::IfcReferent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcReferentTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add1::IfcReferent::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcReferentTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_add1::IfcReferentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_add1::IfcReferent::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[880]); } const IfcParse::entity& Ifc4x3_add1::IfcReferent::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[880]); } Ifc4x3_add1::IfcReferent::IfcReferent(IfcEntityInstanceData&& e) : IfcPositioningElement(std::move(e)) { } -Ifc4x3_add1::IfcReferent::IfcReferent(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_add1::IfcReferentTypeEnum::Value > v8_PredefinedType) : IfcPositioningElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcReferent::IfcReferent(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_add1::IfcReferentTypeEnum::Value > v8_PredefinedType) : IfcPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRegularTimeSeries -double Ifc4x3_add1::IfcRegularTimeSeries::TimeStep() const { double v = data_.get_attribute_value(8); return v; } +double Ifc4x3_add1::IfcRegularTimeSeries::TimeStep() const { double v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcRegularTimeSeries::setTimeStep(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -aggregate_of< ::Ifc4x3_add1::IfcTimeSeriesValue >::ptr Ifc4x3_add1::IfcRegularTimeSeries::Values() const { aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3_add1::IfcTimeSeriesValue >(); } +aggregate_of< ::Ifc4x3_add1::IfcTimeSeriesValue >::ptr Ifc4x3_add1::IfcRegularTimeSeries::Values() const { aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3_add1::IfcTimeSeriesValue >(); } void Ifc4x3_add1::IfcRegularTimeSeries::setValues(aggregate_of< ::Ifc4x3_add1::IfcTimeSeriesValue >::ptr v) { set_attribute_value(9, (v)->generalize());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcRegularTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[883]); } const IfcParse::entity& Ifc4x3_add1::IfcRegularTimeSeries::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[883]); } Ifc4x3_add1::IfcRegularTimeSeries::IfcRegularTimeSeries(IfcEntityInstanceData&& e) : IfcTimeSeries(std::move(e)) { } -Ifc4x3_add1::IfcRegularTimeSeries::IfcRegularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add1::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add1::IfcUnit* v8_Unit, double v9_TimeStep, aggregate_of< ::Ifc4x3_add1::IfcTimeSeriesValue >::ptr v10_Values) : IfcTimeSeries(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, (v10_Values)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcRegularTimeSeries::IfcRegularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add1::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add1::IfcUnit* v8_Unit, double v9_TimeStep, aggregate_of< ::Ifc4x3_add1::IfcTimeSeriesValue >::ptr v10_Values) : IfcTimeSeries(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, (v10_Values)->generalize());; populate_derived(); } // Function implementations for IfcReinforcedSoil -boost::optional< ::Ifc4x3_add1::IfcReinforcedSoilTypeEnum::Value > Ifc4x3_add1::IfcReinforcedSoil::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcReinforcedSoilTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcReinforcedSoilTypeEnum::Value > Ifc4x3_add1::IfcReinforcedSoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcReinforcedSoilTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcReinforcedSoil::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcReinforcedSoilTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcReinforcedSoilTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcReinforcedSoil::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[884]); } const IfcParse::entity& Ifc4x3_add1::IfcReinforcedSoil::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[884]); } Ifc4x3_add1::IfcReinforcedSoil::IfcReinforcedSoil(IfcEntityInstanceData&& e) : IfcEarthworksElement(std::move(e)) { } -Ifc4x3_add1::IfcReinforcedSoil::IfcReinforcedSoil(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType) : IfcEarthworksElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcReinforcedSoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcReinforcedSoil::IfcReinforcedSoil(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType) : IfcEarthworksElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcReinforcedSoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcReinforcementBarProperties -double Ifc4x3_add1::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_add1::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcReinforcementBarProperties::setTotalCrossSectionArea(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x3_add1::IfcReinforcementBarProperties::SteelGrade() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_add1::IfcReinforcementBarProperties::SteelGrade() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcReinforcementBarProperties::setSteelGrade(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_add1::IfcReinforcementBarProperties::BarSurface() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_add1::IfcReinforcementBarProperties::BarSurface() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::FromString(get_attribute_value(2)); } void Ifc4x3_add1::IfcReinforcementBarProperties::setBarSurface(boost::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_add1::IfcReinforcementBarProperties::EffectiveDepth() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add1::IfcReinforcementBarProperties::EffectiveDepth() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcReinforcementBarProperties::setEffectiveDepth(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_add1::IfcReinforcementBarProperties::NominalBarDiameter() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_add1::IfcReinforcementBarProperties::NominalBarDiameter() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcReinforcementBarProperties::setNominalBarDiameter(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< int > Ifc4x3_add1::IfcReinforcementBarProperties::BarCount() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } int v = data_.get_attribute_value(5); return v; } +boost::optional< int > Ifc4x3_add1::IfcReinforcementBarProperties::BarCount() const { if(get_attribute_value(5).isNull()) { return boost::none; } int v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcReinforcementBarProperties::setBarCount(boost::optional< int > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_add1::IfcReinforcementBarProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[886]); } const IfcParse::entity& Ifc4x3_add1::IfcReinforcementBarProperties::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[886]); } Ifc4x3_add1::IfcReinforcementBarProperties::IfcReinforcementBarProperties(IfcEntityInstanceData&& e) : IfcPreDefinedProperties(std::move(e)) { } -Ifc4x3_add1::IfcReinforcementBarProperties::IfcReinforcementBarProperties(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, boost::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, boost::optional< double > v4_EffectiveDepth, boost::optional< double > v5_NominalBarDiameter, boost::optional< int > v6_BarCount) : IfcPreDefinedProperties(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; populate_derived(); } +Ifc4x3_add1::IfcReinforcementBarProperties::IfcReinforcementBarProperties(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, boost::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, boost::optional< double > v4_EffectiveDepth, boost::optional< double > v5_NominalBarDiameter, boost::optional< int > v6_BarCount) : IfcPreDefinedProperties(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; populate_derived(); } // Function implementations for IfcReinforcementDefinitionProperties -boost::optional< std::string > Ifc4x3_add1::IfcReinforcementDefinitionProperties::DefinitionType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcReinforcementDefinitionProperties::DefinitionType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcReinforcementDefinitionProperties::setDefinitionType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -aggregate_of< ::Ifc4x3_add1::IfcSectionReinforcementProperties >::ptr Ifc4x3_add1::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_add1::IfcSectionReinforcementProperties >(); } +aggregate_of< ::Ifc4x3_add1::IfcSectionReinforcementProperties >::ptr Ifc4x3_add1::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_add1::IfcSectionReinforcementProperties >(); } void Ifc4x3_add1::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(aggregate_of< ::Ifc4x3_add1::IfcSectionReinforcementProperties >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcReinforcementDefinitionProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[887]); } const IfcParse::entity& Ifc4x3_add1::IfcReinforcementDefinitionProperties::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[887]); } Ifc4x3_add1::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_add1::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_DefinitionType, aggregate_of< ::Ifc4x3_add1::IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, (v6_ReinforcementSectionDefinitions)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_DefinitionType, aggregate_of< ::Ifc4x3_add1::IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, (v6_ReinforcementSectionDefinitions)->generalize());; populate_derived(); } // Function implementations for IfcReinforcingBar -boost::optional< double > Ifc4x3_add1::IfcReinforcingBar::NominalDiameter() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_add1::IfcReinforcingBar::NominalDiameter() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_add1::IfcReinforcingBar::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_add1::IfcReinforcingBar::CrossSectionArea() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_add1::IfcReinforcingBar::CrossSectionArea() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_add1::IfcReinforcingBar::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_add1::IfcReinforcingBar::BarLength() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_add1::IfcReinforcingBar::BarLength() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_add1::IfcReinforcingBar::setBarLength(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< ::Ifc4x3_add1::IfcReinforcingBarTypeEnum::Value > Ifc4x3_add1::IfcReinforcingBar::PredefinedType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcReinforcingBarTypeEnum::FromString(data_.get_attribute_value(12)); } +boost::optional< ::Ifc4x3_add1::IfcReinforcingBarTypeEnum::Value > Ifc4x3_add1::IfcReinforcingBar::PredefinedType() const { if(get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcReinforcingBarTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x3_add1::IfcReinforcingBar::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcReinforcingBarTypeEnum::Value > v) { if (v) {set_attribute_value(12, EnumerationReference(&::Ifc4x3_add1::IfcReinforcingBarTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } -boost::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_add1::IfcReinforcingBar::BarSurface() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_add1::IfcReinforcingBar::BarSurface() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::FromString(get_attribute_value(13)); } void Ifc4x3_add1::IfcReinforcingBar::setBarSurface(boost::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } const IfcParse::entity& Ifc4x3_add1::IfcReinforcingBar::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[888]); } const IfcParse::entity& Ifc4x3_add1::IfcReinforcingBar::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[888]); } Ifc4x3_add1::IfcReinforcingBar::IfcReinforcingBar(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x3_add1::IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::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_add1::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, boost::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_add1::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; populate_derived(); } +Ifc4x3_add1::IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::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_add1::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, boost::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_add1::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; populate_derived(); } // Function implementations for IfcReinforcingBarType -::Ifc4x3_add1::IfcReinforcingBarTypeEnum::Value Ifc4x3_add1::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x3_add1::IfcReinforcingBarTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcReinforcingBarTypeEnum::Value Ifc4x3_add1::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x3_add1::IfcReinforcingBarTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcReinforcingBarType::setPredefinedType(::Ifc4x3_add1::IfcReinforcingBarTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcReinforcingBarTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3_add1::IfcReinforcingBarType::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_add1::IfcReinforcingBarType::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_add1::IfcReinforcingBarType::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_add1::IfcReinforcingBarType::CrossSectionArea() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_add1::IfcReinforcingBarType::CrossSectionArea() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_add1::IfcReinforcingBarType::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_add1::IfcReinforcingBarType::BarLength() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_add1::IfcReinforcingBarType::BarLength() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_add1::IfcReinforcingBarType::setBarLength(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_add1::IfcReinforcingBarType::BarSurface() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_add1::IfcReinforcingBarType::BarSurface() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::FromString(get_attribute_value(13)); } void Ifc4x3_add1::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x3_add1::IfcReinforcingBarType::BendingShapeCode() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcReinforcingBarType::BendingShapeCode() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x3_add1::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr > Ifc4x3_add1::IfcReinforcingBarType::BendingParameters() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(15); return es->as< ::Ifc4x3_add1::IfcBendingParameterSelect >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr > Ifc4x3_add1::IfcReinforcingBarType::BendingParameters() const { if(get_attribute_value(15).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(15); return es->as< ::Ifc4x3_add1::IfcBendingParameterSelect >(); } void Ifc4x3_add1::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr > v) { if (v) {set_attribute_value(15, (*v)->generalize());} else {unset_attribute_value(15);} } const IfcParse::entity& Ifc4x3_add1::IfcReinforcingBarType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[891]); } const IfcParse::entity& Ifc4x3_add1::IfcReinforcingBarType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[891]); } Ifc4x3_add1::IfcReinforcingBarType::IfcReinforcingBarType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x3_add1::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, (*v16_BendingParameters)->generalize()); }; populate_derived(); } +Ifc4x3_add1::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_add1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, (*v16_BendingParameters)->generalize()); }; populate_derived(); } // Function implementations for IfcReinforcingElement -boost::optional< std::string > Ifc4x3_add1::IfcReinforcingElement::SteelGrade() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcReinforcingElement::SteelGrade() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcReinforcingElement::setSteelGrade(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcReinforcingElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[893]); } const IfcParse::entity& Ifc4x3_add1::IfcReinforcingElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[893]); } Ifc4x3_add1::IfcReinforcingElement::IfcReinforcingElement(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_add1::IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; populate_derived(); } +Ifc4x3_add1::IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; populate_derived(); } // Function implementations for IfcReinforcingElementType @@ -14504,255 +14504,255 @@ Ifc4x3_add1::IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalI const IfcParse::entity& Ifc4x3_add1::IfcReinforcingElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[894]); } const IfcParse::entity& Ifc4x3_add1::IfcReinforcingElementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[894]); } Ifc4x3_add1::IfcReinforcingElementType::IfcReinforcingElementType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_add1::IfcReinforcingElementType::IfcReinforcingElementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add1::IfcReinforcingElementType::IfcReinforcingElementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcReinforcingMesh -boost::optional< double > Ifc4x3_add1::IfcReinforcingMesh::MeshLength() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_add1::IfcReinforcingMesh::MeshLength() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_add1::IfcReinforcingMesh::setMeshLength(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_add1::IfcReinforcingMesh::MeshWidth() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_add1::IfcReinforcingMesh::MeshWidth() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_add1::IfcReinforcingMesh::setMeshWidth(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_add1::IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_add1::IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_add1::IfcReinforcingMesh::setLongitudinalBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_add1::IfcReinforcingMesh::TransverseBarNominalDiameter() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_add1::IfcReinforcingMesh::TransverseBarNominalDiameter() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_add1::IfcReinforcingMesh::setTransverseBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3_add1::IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_add1::IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_add1::IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3_add1::IfcReinforcingMesh::TransverseBarCrossSectionArea() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3_add1::IfcReinforcingMesh::TransverseBarCrossSectionArea() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3_add1::IfcReinforcingMesh::setTransverseBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x3_add1::IfcReinforcingMesh::LongitudinalBarSpacing() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3_add1::IfcReinforcingMesh::LongitudinalBarSpacing() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3_add1::IfcReinforcingMesh::setLongitudinalBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3_add1::IfcReinforcingMesh::TransverseBarSpacing() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3_add1::IfcReinforcingMesh::TransverseBarSpacing() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3_add1::IfcReinforcingMesh::setTransverseBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< ::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Value > Ifc4x3_add1::IfcReinforcingMesh::PredefinedType() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::FromString(data_.get_attribute_value(17)); } +boost::optional< ::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Value > Ifc4x3_add1::IfcReinforcingMesh::PredefinedType() const { if(get_attribute_value(17).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::FromString(get_attribute_value(17)); } void Ifc4x3_add1::IfcReinforcingMesh::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Value > v) { if (v) {set_attribute_value(17, EnumerationReference(&::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(17);} } const IfcParse::entity& Ifc4x3_add1::IfcReinforcingMesh::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[895]); } const IfcParse::entity& Ifc4x3_add1::IfcReinforcingMesh::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[895]); } Ifc4x3_add1::IfcReinforcingMesh::IfcReinforcingMesh(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x3_add1::IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::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_add1::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(18))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (EnumerationReference(&::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::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_add1::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(18))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (EnumerationReference(&::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); }; populate_derived(); } // Function implementations for IfcReinforcingMeshType -::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Value Ifc4x3_add1::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Value Ifc4x3_add1::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcReinforcingMeshType::setPredefinedType(::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3_add1::IfcReinforcingMeshType::MeshLength() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_add1::IfcReinforcingMeshType::MeshLength() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_add1::IfcReinforcingMeshType::setMeshLength(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_add1::IfcReinforcingMeshType::MeshWidth() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_add1::IfcReinforcingMeshType::MeshWidth() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_add1::IfcReinforcingMeshType::setMeshWidth(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_add1::IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_add1::IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_add1::IfcReinforcingMeshType::setLongitudinalBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3_add1::IfcReinforcingMeshType::TransverseBarNominalDiameter() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_add1::IfcReinforcingMeshType::TransverseBarNominalDiameter() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_add1::IfcReinforcingMeshType::setTransverseBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3_add1::IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3_add1::IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3_add1::IfcReinforcingMeshType::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x3_add1::IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3_add1::IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3_add1::IfcReinforcingMeshType::setTransverseBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3_add1::IfcReinforcingMeshType::LongitudinalBarSpacing() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3_add1::IfcReinforcingMeshType::LongitudinalBarSpacing() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3_add1::IfcReinforcingMeshType::setLongitudinalBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< double > Ifc4x3_add1::IfcReinforcingMeshType::TransverseBarSpacing() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } double v = data_.get_attribute_value(17); return v; } +boost::optional< double > Ifc4x3_add1::IfcReinforcingMeshType::TransverseBarSpacing() const { if(get_attribute_value(17).isNull()) { return boost::none; } double v = get_attribute_value(17); return v; } void Ifc4x3_add1::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } -boost::optional< std::string > Ifc4x3_add1::IfcReinforcingMeshType::BendingShapeCode() const { if(data_.get_attribute_value(18).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(18); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcReinforcingMeshType::BendingShapeCode() const { if(get_attribute_value(18).isNull()) { return boost::none; } std::string v = get_attribute_value(18); return v; } void Ifc4x3_add1::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { if (v) {set_attribute_value(18, *v);} else {unset_attribute_value(18);} } -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr > Ifc4x3_add1::IfcReinforcingMeshType::BendingParameters() const { if(data_.get_attribute_value(19).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(19); return es->as< ::Ifc4x3_add1::IfcBendingParameterSelect >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr > Ifc4x3_add1::IfcReinforcingMeshType::BendingParameters() const { if(get_attribute_value(19).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(19); return es->as< ::Ifc4x3_add1::IfcBendingParameterSelect >(); } void Ifc4x3_add1::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr > v) { if (v) {set_attribute_value(19, (*v)->generalize());} else {unset_attribute_value(19);} } const IfcParse::entity& Ifc4x3_add1::IfcReinforcingMeshType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[896]); } const IfcParse::entity& Ifc4x3_add1::IfcReinforcingMeshType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[896]); } Ifc4x3_add1::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x3_add1::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(20))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, (*v20_BendingParameters)->generalize()); }; populate_derived(); } +Ifc4x3_add1::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(20))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, (*v20_BendingParameters)->generalize()); }; populate_derived(); } // Function implementations for IfcRelAdheresToElement -::Ifc4x3_add1::IfcElement* Ifc4x3_add1::IfcRelAdheresToElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcElement>(true); } +::Ifc4x3_add1::IfcElement* Ifc4x3_add1::IfcRelAdheresToElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcElement>(true); } void Ifc4x3_add1::IfcRelAdheresToElement::setRelatingElement(::Ifc4x3_add1::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_add1::IfcSurfaceFeature >::ptr Ifc4x3_add1::IfcRelAdheresToElement::RelatedSurfaceFeatures() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_add1::IfcSurfaceFeature >(); } +aggregate_of< ::Ifc4x3_add1::IfcSurfaceFeature >::ptr Ifc4x3_add1::IfcRelAdheresToElement::RelatedSurfaceFeatures() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_add1::IfcSurfaceFeature >(); } void Ifc4x3_add1::IfcRelAdheresToElement::setRelatedSurfaceFeatures(aggregate_of< ::Ifc4x3_add1::IfcSurfaceFeature >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcRelAdheresToElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[898]); } const IfcParse::entity& Ifc4x3_add1::IfcRelAdheresToElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[898]); } Ifc4x3_add1::IfcRelAdheresToElement::IfcRelAdheresToElement(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x3_add1::IfcRelAdheresToElement::IfcRelAdheresToElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcElement* v5_RelatingElement, aggregate_of< ::Ifc4x3_add1::IfcSurfaceFeature >::ptr v6_RelatedSurfaceFeatures) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedSurfaceFeatures)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcRelAdheresToElement::IfcRelAdheresToElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcElement* v5_RelatingElement, aggregate_of< ::Ifc4x3_add1::IfcSurfaceFeature >::ptr v6_RelatedSurfaceFeatures) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedSurfaceFeatures)->generalize());; populate_derived(); } // Function implementations for IfcRelAggregates -::Ifc4x3_add1::IfcObjectDefinition* Ifc4x3_add1::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcObjectDefinition>(true); } +::Ifc4x3_add1::IfcObjectDefinition* Ifc4x3_add1::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcObjectDefinition>(true); } void Ifc4x3_add1::IfcRelAggregates::setRelatingObject(::Ifc4x3_add1::IfcObjectDefinition* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr Ifc4x3_add1::IfcRelAggregates::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_add1::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr Ifc4x3_add1::IfcRelAggregates::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_add1::IfcObjectDefinition >(); } void Ifc4x3_add1::IfcRelAggregates::setRelatedObjects(aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcRelAggregates::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[899]); } const IfcParse::entity& Ifc4x3_add1::IfcRelAggregates::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[899]); } Ifc4x3_add1::IfcRelAggregates::IfcRelAggregates(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x3_add1::IfcRelAggregates::IfcRelAggregates(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcRelAggregates::IfcRelAggregates(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelAssigns -aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr Ifc4x3_add1::IfcRelAssigns::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_add1::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr Ifc4x3_add1::IfcRelAssigns::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_add1::IfcObjectDefinition >(); } void Ifc4x3_add1::IfcRelAssigns::setRelatedObjects(aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -boost::optional< bool > Ifc4x3_add1::IfcRelAssigns::RelatedObjectsType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } bool v = data_.get_attribute_value(5); return v; } +boost::optional< bool > Ifc4x3_add1::IfcRelAssigns::RelatedObjectsType() const { if(get_attribute_value(5).isNull()) { return boost::none; } bool v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcRelAssigns::setRelatedObjectsType(boost::optional< bool > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_add1::IfcRelAssigns::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[900]); } const IfcParse::entity& Ifc4x3_add1::IfcRelAssigns::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[900]); } Ifc4x3_add1::IfcRelAssigns::IfcRelAssigns(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_add1::IfcRelAssigns::IfcRelAssigns(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType) : IfcRelationship(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }; populate_derived(); } +Ifc4x3_add1::IfcRelAssigns::IfcRelAssigns(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }; populate_derived(); } // Function implementations for IfcRelAssignsToActor -::Ifc4x3_add1::IfcActor* Ifc4x3_add1::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add1::IfcActor>(true); } +::Ifc4x3_add1::IfcActor* Ifc4x3_add1::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add1::IfcActor>(true); } void Ifc4x3_add1::IfcRelAssignsToActor::setRelatingActor(::Ifc4x3_add1::IfcActor* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_add1::IfcActorRole* Ifc4x3_add1::IfcRelAssignsToActor::ActingRole() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_add1::IfcActorRole>(true); } +::Ifc4x3_add1::IfcActorRole* Ifc4x3_add1::IfcRelAssignsToActor::ActingRole() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_add1::IfcActorRole>(true); } void Ifc4x3_add1::IfcRelAssignsToActor::setActingRole(::Ifc4x3_add1::IfcActorRole* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_add1::IfcRelAssignsToActor::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[901]); } const IfcParse::entity& Ifc4x3_add1::IfcRelAssignsToActor::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[901]); } Ifc4x3_add1::IfcRelAssignsToActor::IfcRelAssignsToActor(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_add1::IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcActor* v7_RelatingActor, ::Ifc4x3_add1::IfcActorRole* v8_ActingRole) : IfcRelAssigns(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingActor ? v7_RelatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_ActingRole ? v8_ActingRole->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcActor* v7_RelatingActor, ::Ifc4x3_add1::IfcActorRole* v8_ActingRole) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingActor ? v7_RelatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_ActingRole ? v8_ActingRole->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToControl -::Ifc4x3_add1::IfcControl* Ifc4x3_add1::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add1::IfcControl>(true); } +::Ifc4x3_add1::IfcControl* Ifc4x3_add1::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add1::IfcControl>(true); } void Ifc4x3_add1::IfcRelAssignsToControl::setRelatingControl(::Ifc4x3_add1::IfcControl* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add1::IfcRelAssignsToControl::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[902]); } const IfcParse::entity& Ifc4x3_add1::IfcRelAssignsToControl::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[902]); } Ifc4x3_add1::IfcRelAssignsToControl::IfcRelAssignsToControl(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_add1::IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcControl* v7_RelatingControl) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingControl ? v7_RelatingControl->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcControl* v7_RelatingControl) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingControl ? v7_RelatingControl->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToGroup -::Ifc4x3_add1::IfcGroup* Ifc4x3_add1::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add1::IfcGroup>(true); } +::Ifc4x3_add1::IfcGroup* Ifc4x3_add1::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add1::IfcGroup>(true); } void Ifc4x3_add1::IfcRelAssignsToGroup::setRelatingGroup(::Ifc4x3_add1::IfcGroup* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add1::IfcRelAssignsToGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[903]); } const IfcParse::entity& Ifc4x3_add1::IfcRelAssignsToGroup::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[903]); } Ifc4x3_add1::IfcRelAssignsToGroup::IfcRelAssignsToGroup(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_add1::IfcRelAssignsToGroup::IfcRelAssignsToGroup(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcGroup* v7_RelatingGroup) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcRelAssignsToGroup::IfcRelAssignsToGroup(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcGroup* v7_RelatingGroup) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToGroupByFactor -double Ifc4x3_add1::IfcRelAssignsToGroupByFactor::Factor() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x3_add1::IfcRelAssignsToGroupByFactor::Factor() const { double v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcRelAssignsToGroupByFactor::setFactor(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_add1::IfcRelAssignsToGroupByFactor::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[904]); } const IfcParse::entity& Ifc4x3_add1::IfcRelAssignsToGroupByFactor::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[904]); } Ifc4x3_add1::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(IfcEntityInstanceData&& e) : IfcRelAssignsToGroup(std::move(e)) { } -Ifc4x3_add1::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcGroup* v7_RelatingGroup, double v8_Factor) : IfcRelAssignsToGroup(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_Factor));; populate_derived(); } +Ifc4x3_add1::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcGroup* v7_RelatingGroup, double v8_Factor) : IfcRelAssignsToGroup(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_Factor));; populate_derived(); } // Function implementations for IfcRelAssignsToProcess -::Ifc4x3_add1::IfcProcessSelect* Ifc4x3_add1::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add1::IfcProcessSelect>(true); } +::Ifc4x3_add1::IfcProcessSelect* Ifc4x3_add1::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add1::IfcProcessSelect>(true); } void Ifc4x3_add1::IfcRelAssignsToProcess::setRelatingProcess(::Ifc4x3_add1::IfcProcessSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_add1::IfcMeasureWithUnit* Ifc4x3_add1::IfcRelAssignsToProcess::QuantityInProcess() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_add1::IfcMeasureWithUnit>(true); } +::Ifc4x3_add1::IfcMeasureWithUnit* Ifc4x3_add1::IfcRelAssignsToProcess::QuantityInProcess() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_add1::IfcMeasureWithUnit>(true); } void Ifc4x3_add1::IfcRelAssignsToProcess::setQuantityInProcess(::Ifc4x3_add1::IfcMeasureWithUnit* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_add1::IfcRelAssignsToProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[905]); } const IfcParse::entity& Ifc4x3_add1::IfcRelAssignsToProcess::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[905]); } Ifc4x3_add1::IfcRelAssignsToProcess::IfcRelAssignsToProcess(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_add1::IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcProcessSelect* v7_RelatingProcess, ::Ifc4x3_add1::IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingProcess ? v7_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_QuantityInProcess ? v8_QuantityInProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcProcessSelect* v7_RelatingProcess, ::Ifc4x3_add1::IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingProcess ? v7_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_QuantityInProcess ? v8_QuantityInProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToProduct -::Ifc4x3_add1::IfcProductSelect* Ifc4x3_add1::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add1::IfcProductSelect>(true); } +::Ifc4x3_add1::IfcProductSelect* Ifc4x3_add1::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add1::IfcProductSelect>(true); } void Ifc4x3_add1::IfcRelAssignsToProduct::setRelatingProduct(::Ifc4x3_add1::IfcProductSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add1::IfcRelAssignsToProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[906]); } const IfcParse::entity& Ifc4x3_add1::IfcRelAssignsToProduct::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[906]); } Ifc4x3_add1::IfcRelAssignsToProduct::IfcRelAssignsToProduct(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_add1::IfcRelAssignsToProduct::IfcRelAssignsToProduct(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcProductSelect* v7_RelatingProduct) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingProduct ? v7_RelatingProduct->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcRelAssignsToProduct::IfcRelAssignsToProduct(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcProductSelect* v7_RelatingProduct) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingProduct ? v7_RelatingProduct->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToResource -::Ifc4x3_add1::IfcResourceSelect* Ifc4x3_add1::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add1::IfcResourceSelect>(true); } +::Ifc4x3_add1::IfcResourceSelect* Ifc4x3_add1::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add1::IfcResourceSelect>(true); } void Ifc4x3_add1::IfcRelAssignsToResource::setRelatingResource(::Ifc4x3_add1::IfcResourceSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add1::IfcRelAssignsToResource::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[907]); } const IfcParse::entity& Ifc4x3_add1::IfcRelAssignsToResource::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[907]); } Ifc4x3_add1::IfcRelAssignsToResource::IfcRelAssignsToResource(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_add1::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingResource ? v7_RelatingResource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add1::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingResource ? v7_RelatingResource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociates -aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr Ifc4x3_add1::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_add1::IfcDefinitionSelect >(); } +aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr Ifc4x3_add1::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_add1::IfcDefinitionSelect >(); } void Ifc4x3_add1::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add1::IfcRelAssociates::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[908]); } const IfcParse::entity& Ifc4x3_add1::IfcRelAssociates::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[908]); } Ifc4x3_add1::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_add1::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelAssociatesApproval -::Ifc4x3_add1::IfcApproval* Ifc4x3_add1::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcApproval>(true); } +::Ifc4x3_add1::IfcApproval* Ifc4x3_add1::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcApproval>(true); } void Ifc4x3_add1::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4x3_add1::IfcApproval* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesApproval::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[909]); } const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesApproval::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[909]); } Ifc4x3_add1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_add1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcApproval* v6_RelatingApproval) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingApproval ? v6_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcApproval* v6_RelatingApproval) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingApproval ? v6_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesClassification -::Ifc4x3_add1::IfcClassificationSelect* Ifc4x3_add1::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcClassificationSelect>(true); } +::Ifc4x3_add1::IfcClassificationSelect* Ifc4x3_add1::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcClassificationSelect>(true); } void Ifc4x3_add1::IfcRelAssociatesClassification::setRelatingClassification(::Ifc4x3_add1::IfcClassificationSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesClassification::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[910]); } const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesClassification::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[910]); } Ifc4x3_add1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_add1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingClassification ? v6_RelatingClassification->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingClassification ? v6_RelatingClassification->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesConstraint -boost::optional< std::string > Ifc4x3_add1::IfcRelAssociatesConstraint::Intent() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcRelAssociatesConstraint::Intent() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcRelAssociatesConstraint::setIntent(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_add1::IfcConstraint* Ifc4x3_add1::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add1::IfcConstraint>(true); } +::Ifc4x3_add1::IfcConstraint* Ifc4x3_add1::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add1::IfcConstraint>(true); } void Ifc4x3_add1::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x3_add1::IfcConstraint* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesConstraint::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[911]); } const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesConstraint::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[911]); } Ifc4x3_add1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_add1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_add1::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, v7_RelatingConstraint ? v7_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_add1::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, v7_RelatingConstraint ? v7_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesDocument -::Ifc4x3_add1::IfcDocumentSelect* Ifc4x3_add1::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcDocumentSelect>(true); } +::Ifc4x3_add1::IfcDocumentSelect* Ifc4x3_add1::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcDocumentSelect>(true); } void Ifc4x3_add1::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4x3_add1::IfcDocumentSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesDocument::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[912]); } const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesDocument::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[912]); } Ifc4x3_add1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_add1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingDocument ? v6_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingDocument ? v6_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesLibrary -::Ifc4x3_add1::IfcLibrarySelect* Ifc4x3_add1::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcLibrarySelect>(true); } +::Ifc4x3_add1::IfcLibrarySelect* Ifc4x3_add1::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcLibrarySelect>(true); } void Ifc4x3_add1::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4x3_add1::IfcLibrarySelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesLibrary::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[913]); } const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesLibrary::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[913]); } Ifc4x3_add1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_add1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingLibrary ? v6_RelatingLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingLibrary ? v6_RelatingLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesMaterial -::Ifc4x3_add1::IfcMaterialSelect* Ifc4x3_add1::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcMaterialSelect>(true); } +::Ifc4x3_add1::IfcMaterialSelect* Ifc4x3_add1::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcMaterialSelect>(true); } void Ifc4x3_add1::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4x3_add1::IfcMaterialSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesMaterial::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[914]); } const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesMaterial::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[914]); } Ifc4x3_add1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_add1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingMaterial ? v6_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingMaterial ? v6_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesProfileDef -::Ifc4x3_add1::IfcProfileDef* Ifc4x3_add1::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcProfileDef>(true); } +::Ifc4x3_add1::IfcProfileDef* Ifc4x3_add1::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcProfileDef>(true); } void Ifc4x3_add1::IfcRelAssociatesProfileDef::setRelatingProfileDef(::Ifc4x3_add1::IfcProfileDef* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[915]); } const IfcParse::entity& Ifc4x3_add1::IfcRelAssociatesProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[915]); } Ifc4x3_add1::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_add1::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingProfileDef ? v6_RelatingProfileDef->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingProfileDef ? v6_RelatingProfileDef->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnects @@ -14760,165 +14760,165 @@ Ifc4x3_add1::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string const IfcParse::entity& Ifc4x3_add1::IfcRelConnects::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[917]); } const IfcParse::entity& Ifc4x3_add1::IfcRelConnects::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[917]); } Ifc4x3_add1::IfcRelConnects::IfcRelConnects(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_add1::IfcRelConnects::IfcRelConnects(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_add1::IfcRelConnects::IfcRelConnects(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRelConnectsElements -::Ifc4x3_add1::IfcConnectionGeometry* Ifc4x3_add1::IfcRelConnectsElements::ConnectionGeometry() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcConnectionGeometry>(true); } +::Ifc4x3_add1::IfcConnectionGeometry* Ifc4x3_add1::IfcRelConnectsElements::ConnectionGeometry() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcConnectionGeometry>(true); } void Ifc4x3_add1::IfcRelConnectsElements::setConnectionGeometry(::Ifc4x3_add1::IfcConnectionGeometry* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add1::IfcElement* Ifc4x3_add1::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcElement>(true); } +::Ifc4x3_add1::IfcElement* Ifc4x3_add1::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcElement>(true); } void Ifc4x3_add1::IfcRelConnectsElements::setRelatingElement(::Ifc4x3_add1::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add1::IfcElement* Ifc4x3_add1::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add1::IfcElement>(true); } +::Ifc4x3_add1::IfcElement* Ifc4x3_add1::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add1::IfcElement>(true); } void Ifc4x3_add1::IfcRelConnectsElements::setRelatedElement(::Ifc4x3_add1::IfcElement* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add1::IfcRelConnectsElements::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[918]); } const IfcParse::entity& Ifc4x3_add1::IfcRelConnectsElements::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[918]); } Ifc4x3_add1::IfcRelConnectsElements::IfcRelConnectsElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_add1::IfcRelConnectsElements::IfcRelConnectsElements(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_add1::IfcElement* v6_RelatingElement, ::Ifc4x3_add1::IfcElement* v7_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcRelConnectsElements::IfcRelConnectsElements(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_add1::IfcElement* v6_RelatingElement, ::Ifc4x3_add1::IfcElement* v7_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsPathElements -std::vector< int > /*[0:?]*/ Ifc4x3_add1::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = data_.get_attribute_value(7); return v; } +std::vector< int > /*[0:?]*/ Ifc4x3_add1::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcRelConnectsPathElements::setRelatingPriorities(std::vector< int > /*[0:?]*/ v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector< int > /*[0:?]*/ Ifc4x3_add1::IfcRelConnectsPathElements::RelatedPriorities() const { std::vector< int > /*[0:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< int > /*[0:?]*/ Ifc4x3_add1::IfcRelConnectsPathElements::RelatedPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcRelConnectsPathElements::setRelatedPriorities(std::vector< int > /*[0:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_add1::IfcConnectionTypeEnum::Value Ifc4x3_add1::IfcRelConnectsPathElements::RelatedConnectionType() const { return ::Ifc4x3_add1::IfcConnectionTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcConnectionTypeEnum::Value Ifc4x3_add1::IfcRelConnectsPathElements::RelatedConnectionType() const { return ::Ifc4x3_add1::IfcConnectionTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcRelConnectsPathElements::setRelatedConnectionType(::Ifc4x3_add1::IfcConnectionTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_add1::IfcConnectionTypeEnum::Value Ifc4x3_add1::IfcRelConnectsPathElements::RelatingConnectionType() const { return ::Ifc4x3_add1::IfcConnectionTypeEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3_add1::IfcConnectionTypeEnum::Value Ifc4x3_add1::IfcRelConnectsPathElements::RelatingConnectionType() const { return ::Ifc4x3_add1::IfcConnectionTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add1::IfcRelConnectsPathElements::setRelatingConnectionType(::Ifc4x3_add1::IfcConnectionTypeEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3_add1::IfcConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_add1::IfcRelConnectsPathElements::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[919]); } const IfcParse::entity& Ifc4x3_add1::IfcRelConnectsPathElements::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[919]); } Ifc4x3_add1::IfcRelConnectsPathElements::IfcRelConnectsPathElements(IfcEntityInstanceData&& e) : IfcRelConnectsElements(std::move(e)) { } -Ifc4x3_add1::IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_add1::IfcElement* v6_RelatingElement, ::Ifc4x3_add1::IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_add1::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_add1::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; populate_derived(); } +Ifc4x3_add1::IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_add1::IfcElement* v6_RelatingElement, ::Ifc4x3_add1::IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_add1::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_add1::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; populate_derived(); } // Function implementations for IfcRelConnectsPortToElement -::Ifc4x3_add1::IfcPort* Ifc4x3_add1::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcPort>(true); } +::Ifc4x3_add1::IfcPort* Ifc4x3_add1::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcPort>(true); } void Ifc4x3_add1::IfcRelConnectsPortToElement::setRelatingPort(::Ifc4x3_add1::IfcPort* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add1::IfcDistributionElement* Ifc4x3_add1::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcDistributionElement>(true); } +::Ifc4x3_add1::IfcDistributionElement* Ifc4x3_add1::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcDistributionElement>(true); } void Ifc4x3_add1::IfcRelConnectsPortToElement::setRelatedElement(::Ifc4x3_add1::IfcDistributionElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcRelConnectsPortToElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[921]); } const IfcParse::entity& Ifc4x3_add1::IfcRelConnectsPortToElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[921]); } Ifc4x3_add1::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_add1::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcPort* v5_RelatingPort, ::Ifc4x3_add1::IfcDistributionElement* v6_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcPort* v5_RelatingPort, ::Ifc4x3_add1::IfcDistributionElement* v6_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsPorts -::Ifc4x3_add1::IfcPort* Ifc4x3_add1::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcPort>(true); } +::Ifc4x3_add1::IfcPort* Ifc4x3_add1::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcPort>(true); } void Ifc4x3_add1::IfcRelConnectsPorts::setRelatingPort(::Ifc4x3_add1::IfcPort* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add1::IfcPort* Ifc4x3_add1::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcPort>(true); } +::Ifc4x3_add1::IfcPort* Ifc4x3_add1::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcPort>(true); } void Ifc4x3_add1::IfcRelConnectsPorts::setRelatedPort(::Ifc4x3_add1::IfcPort* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add1::IfcElement* Ifc4x3_add1::IfcRelConnectsPorts::RealizingElement() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add1::IfcElement>(true); } +::Ifc4x3_add1::IfcElement* Ifc4x3_add1::IfcRelConnectsPorts::RealizingElement() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add1::IfcElement>(true); } void Ifc4x3_add1::IfcRelConnectsPorts::setRealizingElement(::Ifc4x3_add1::IfcElement* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add1::IfcRelConnectsPorts::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[920]); } const IfcParse::entity& Ifc4x3_add1::IfcRelConnectsPorts::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[920]); } Ifc4x3_add1::IfcRelConnectsPorts::IfcRelConnectsPorts(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_add1::IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcPort* v5_RelatingPort, ::Ifc4x3_add1::IfcPort* v6_RelatedPort, ::Ifc4x3_add1::IfcElement* v7_RealizingElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedPort ? v6_RelatedPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RealizingElement ? v7_RealizingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcPort* v5_RelatingPort, ::Ifc4x3_add1::IfcPort* v6_RelatedPort, ::Ifc4x3_add1::IfcElement* v7_RealizingElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedPort ? v6_RelatedPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RealizingElement ? v7_RealizingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsStructuralActivity -::Ifc4x3_add1::IfcStructuralActivityAssignmentSelect* Ifc4x3_add1::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcStructuralActivityAssignmentSelect>(true); } +::Ifc4x3_add1::IfcStructuralActivityAssignmentSelect* Ifc4x3_add1::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcStructuralActivityAssignmentSelect>(true); } void Ifc4x3_add1::IfcRelConnectsStructuralActivity::setRelatingElement(::Ifc4x3_add1::IfcStructuralActivityAssignmentSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add1::IfcStructuralActivity* Ifc4x3_add1::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcStructuralActivity>(true); } +::Ifc4x3_add1::IfcStructuralActivity* Ifc4x3_add1::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcStructuralActivity>(true); } void Ifc4x3_add1::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(::Ifc4x3_add1::IfcStructuralActivity* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcRelConnectsStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[922]); } const IfcParse::entity& Ifc4x3_add1::IfcRelConnectsStructuralActivity::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[922]); } Ifc4x3_add1::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_add1::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcStructuralActivityAssignmentSelect* v5_RelatingElement, ::Ifc4x3_add1::IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralActivity ? v6_RelatedStructuralActivity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcStructuralActivityAssignmentSelect* v5_RelatingElement, ::Ifc4x3_add1::IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralActivity ? v6_RelatedStructuralActivity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsStructuralMember -::Ifc4x3_add1::IfcStructuralMember* Ifc4x3_add1::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcStructuralMember>(true); } +::Ifc4x3_add1::IfcStructuralMember* Ifc4x3_add1::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcStructuralMember>(true); } void Ifc4x3_add1::IfcRelConnectsStructuralMember::setRelatingStructuralMember(::Ifc4x3_add1::IfcStructuralMember* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add1::IfcStructuralConnection* Ifc4x3_add1::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcStructuralConnection>(true); } +::Ifc4x3_add1::IfcStructuralConnection* Ifc4x3_add1::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcStructuralConnection>(true); } void Ifc4x3_add1::IfcRelConnectsStructuralMember::setRelatedStructuralConnection(::Ifc4x3_add1::IfcStructuralConnection* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add1::IfcBoundaryCondition* Ifc4x3_add1::IfcRelConnectsStructuralMember::AppliedCondition() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add1::IfcBoundaryCondition>(true); } +::Ifc4x3_add1::IfcBoundaryCondition* Ifc4x3_add1::IfcRelConnectsStructuralMember::AppliedCondition() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add1::IfcBoundaryCondition>(true); } void Ifc4x3_add1::IfcRelConnectsStructuralMember::setAppliedCondition(::Ifc4x3_add1::IfcBoundaryCondition* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_add1::IfcStructuralConnectionCondition* Ifc4x3_add1::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_add1::IfcStructuralConnectionCondition>(true); } +::Ifc4x3_add1::IfcStructuralConnectionCondition* Ifc4x3_add1::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_add1::IfcStructuralConnectionCondition>(true); } void Ifc4x3_add1::IfcRelConnectsStructuralMember::setAdditionalConditions(::Ifc4x3_add1::IfcStructuralConnectionCondition* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc4x3_add1::IfcRelConnectsStructuralMember::SupportedLength() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_add1::IfcRelConnectsStructuralMember::SupportedLength() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_add1::IfcAxis2Placement3D* Ifc4x3_add1::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_add1::IfcAxis2Placement3D>(true); } +::Ifc4x3_add1::IfcAxis2Placement3D* Ifc4x3_add1::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_add1::IfcAxis2Placement3D>(true); } void Ifc4x3_add1::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(::Ifc4x3_add1::IfcAxis2Placement3D* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcRelConnectsStructuralMember::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[923]); } const IfcParse::entity& Ifc4x3_add1::IfcRelConnectsStructuralMember::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[923]); } Ifc4x3_add1::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_add1::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x3_add1::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x3_add1::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x3_add1::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x3_add1::IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x3_add1::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x3_add1::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x3_add1::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x3_add1::IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsWithEccentricity -::Ifc4x3_add1::IfcConnectionGeometry* Ifc4x3_add1::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_add1::IfcConnectionGeometry>(true); } +::Ifc4x3_add1::IfcConnectionGeometry* Ifc4x3_add1::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_add1::IfcConnectionGeometry>(true); } void Ifc4x3_add1::IfcRelConnectsWithEccentricity::setConnectionConstraint(::Ifc4x3_add1::IfcConnectionGeometry* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_add1::IfcRelConnectsWithEccentricity::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[924]); } const IfcParse::entity& Ifc4x3_add1::IfcRelConnectsWithEccentricity::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[924]); } Ifc4x3_add1::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(IfcEntityInstanceData&& e) : IfcRelConnectsStructuralMember(std::move(e)) { } -Ifc4x3_add1::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x3_add1::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x3_add1::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x3_add1::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x3_add1::IfcAxis2Placement3D* v10_ConditionCoordinateSystem, ::Ifc4x3_add1::IfcConnectionGeometry* v11_ConnectionConstraint) : IfcRelConnectsStructuralMember(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ConnectionConstraint ? v11_ConnectionConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x3_add1::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x3_add1::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x3_add1::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x3_add1::IfcAxis2Placement3D* v10_ConditionCoordinateSystem, ::Ifc4x3_add1::IfcConnectionGeometry* v11_ConnectionConstraint) : IfcRelConnectsStructuralMember(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ConnectionConstraint ? v11_ConnectionConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsWithRealizingElements -aggregate_of< ::Ifc4x3_add1::IfcElement >::ptr Ifc4x3_add1::IfcRelConnectsWithRealizingElements::RealizingElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_add1::IfcElement >(); } +aggregate_of< ::Ifc4x3_add1::IfcElement >::ptr Ifc4x3_add1::IfcRelConnectsWithRealizingElements::RealizingElements() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_add1::IfcElement >(); } void Ifc4x3_add1::IfcRelConnectsWithRealizingElements::setRealizingElements(aggregate_of< ::Ifc4x3_add1::IfcElement >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc4x3_add1::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcRelConnectsWithRealizingElements::setConnectionType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcRelConnectsWithRealizingElements::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[925]); } const IfcParse::entity& Ifc4x3_add1::IfcRelConnectsWithRealizingElements::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[925]); } Ifc4x3_add1::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(IfcEntityInstanceData&& e) : IfcRelConnectsElements(std::move(e)) { } -Ifc4x3_add1::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_add1::IfcElement* v6_RelatingElement, ::Ifc4x3_add1::IfcElement* v7_RelatedElement, aggregate_of< ::Ifc4x3_add1::IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RealizingElements)->generalize()); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; populate_derived(); } +Ifc4x3_add1::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_add1::IfcElement* v6_RelatingElement, ::Ifc4x3_add1::IfcElement* v7_RelatedElement, aggregate_of< ::Ifc4x3_add1::IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RealizingElements)->generalize()); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; populate_derived(); } // Function implementations for IfcRelContainedInSpatialStructure -aggregate_of< ::Ifc4x3_add1::IfcProduct >::ptr Ifc4x3_add1::IfcRelContainedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_add1::IfcProduct >(); } +aggregate_of< ::Ifc4x3_add1::IfcProduct >::ptr Ifc4x3_add1::IfcRelContainedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_add1::IfcProduct >(); } void Ifc4x3_add1::IfcRelContainedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_add1::IfcProduct >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add1::IfcSpatialElement* Ifc4x3_add1::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcSpatialElement>(true); } +::Ifc4x3_add1::IfcSpatialElement* Ifc4x3_add1::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcSpatialElement>(true); } void Ifc4x3_add1::IfcRelContainedInSpatialStructure::setRelatingStructure(::Ifc4x3_add1::IfcSpatialElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcRelContainedInSpatialStructure::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[926]); } const IfcParse::entity& Ifc4x3_add1::IfcRelContainedInSpatialStructure::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[926]); } Ifc4x3_add1::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_add1::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcProduct >::ptr v5_RelatedElements, ::Ifc4x3_add1::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcProduct >::ptr v5_RelatedElements, ::Ifc4x3_add1::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelCoversBldgElements -::Ifc4x3_add1::IfcElement* Ifc4x3_add1::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcElement>(true); } +::Ifc4x3_add1::IfcElement* Ifc4x3_add1::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcElement>(true); } void Ifc4x3_add1::IfcRelCoversBldgElements::setRelatingBuildingElement(::Ifc4x3_add1::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_add1::IfcCovering >::ptr Ifc4x3_add1::IfcRelCoversBldgElements::RelatedCoverings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_add1::IfcCovering >(); } +aggregate_of< ::Ifc4x3_add1::IfcCovering >::ptr Ifc4x3_add1::IfcRelCoversBldgElements::RelatedCoverings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_add1::IfcCovering >(); } void Ifc4x3_add1::IfcRelCoversBldgElements::setRelatedCoverings(aggregate_of< ::Ifc4x3_add1::IfcCovering >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcRelCoversBldgElements::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[927]); } const IfcParse::entity& Ifc4x3_add1::IfcRelCoversBldgElements::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[927]); } Ifc4x3_add1::IfcRelCoversBldgElements::IfcRelCoversBldgElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_add1::IfcRelCoversBldgElements::IfcRelCoversBldgElements(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcElement* v5_RelatingBuildingElement, aggregate_of< ::Ifc4x3_add1::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcRelCoversBldgElements::IfcRelCoversBldgElements(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcElement* v5_RelatingBuildingElement, aggregate_of< ::Ifc4x3_add1::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } // Function implementations for IfcRelCoversSpaces -::Ifc4x3_add1::IfcSpace* Ifc4x3_add1::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcSpace>(true); } +::Ifc4x3_add1::IfcSpace* Ifc4x3_add1::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcSpace>(true); } void Ifc4x3_add1::IfcRelCoversSpaces::setRelatingSpace(::Ifc4x3_add1::IfcSpace* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_add1::IfcCovering >::ptr Ifc4x3_add1::IfcRelCoversSpaces::RelatedCoverings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_add1::IfcCovering >(); } +aggregate_of< ::Ifc4x3_add1::IfcCovering >::ptr Ifc4x3_add1::IfcRelCoversSpaces::RelatedCoverings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_add1::IfcCovering >(); } void Ifc4x3_add1::IfcRelCoversSpaces::setRelatedCoverings(aggregate_of< ::Ifc4x3_add1::IfcCovering >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcRelCoversSpaces::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[928]); } const IfcParse::entity& Ifc4x3_add1::IfcRelCoversSpaces::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[928]); } Ifc4x3_add1::IfcRelCoversSpaces::IfcRelCoversSpaces(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_add1::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcSpace* v5_RelatingSpace, aggregate_of< ::Ifc4x3_add1::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcSpace* v5_RelatingSpace, aggregate_of< ::Ifc4x3_add1::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } // Function implementations for IfcRelDeclares -::Ifc4x3_add1::IfcContext* Ifc4x3_add1::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcContext>(true); } +::Ifc4x3_add1::IfcContext* Ifc4x3_add1::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcContext>(true); } void Ifc4x3_add1::IfcRelDeclares::setRelatingContext(::Ifc4x3_add1::IfcContext* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr Ifc4x3_add1::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_add1::IfcDefinitionSelect >(); } +aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr Ifc4x3_add1::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_add1::IfcDefinitionSelect >(); } void Ifc4x3_add1::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcRelDeclares::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[929]); } const IfcParse::entity& Ifc4x3_add1::IfcRelDeclares::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[929]); } Ifc4x3_add1::IfcRelDeclares::IfcRelDeclares(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_add1::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingContext ? v5_RelatingContext->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedDefinitions)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_add1::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingContext ? v5_RelatingContext->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedDefinitions)->generalize());; populate_derived(); } // Function implementations for IfcRelDecomposes @@ -14926,7 +14926,7 @@ Ifc4x3_add1::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_ad const IfcParse::entity& Ifc4x3_add1::IfcRelDecomposes::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[930]); } const IfcParse::entity& Ifc4x3_add1::IfcRelDecomposes::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[930]); } Ifc4x3_add1::IfcRelDecomposes::IfcRelDecomposes(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_add1::IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_add1::IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRelDefines @@ -14934,198 +14934,198 @@ Ifc4x3_add1::IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, ::Ifc4x const IfcParse::entity& Ifc4x3_add1::IfcRelDefines::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[931]); } const IfcParse::entity& Ifc4x3_add1::IfcRelDefines::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[931]); } Ifc4x3_add1::IfcRelDefines::IfcRelDefines(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_add1::IfcRelDefines::IfcRelDefines(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_add1::IfcRelDefines::IfcRelDefines(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRelDefinesByObject -aggregate_of< ::Ifc4x3_add1::IfcObject >::ptr Ifc4x3_add1::IfcRelDefinesByObject::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_add1::IfcObject >(); } +aggregate_of< ::Ifc4x3_add1::IfcObject >::ptr Ifc4x3_add1::IfcRelDefinesByObject::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_add1::IfcObject >(); } void Ifc4x3_add1::IfcRelDefinesByObject::setRelatedObjects(aggregate_of< ::Ifc4x3_add1::IfcObject >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add1::IfcObject* Ifc4x3_add1::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcObject>(true); } +::Ifc4x3_add1::IfcObject* Ifc4x3_add1::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcObject>(true); } void Ifc4x3_add1::IfcRelDefinesByObject::setRelatingObject(::Ifc4x3_add1::IfcObject* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcRelDefinesByObject::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[932]); } const IfcParse::entity& Ifc4x3_add1::IfcRelDefinesByObject::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[932]); } Ifc4x3_add1::IfcRelDefinesByObject::IfcRelDefinesByObject(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x3_add1::IfcRelDefinesByObject::IfcRelDefinesByObject(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcObject* v6_RelatingObject) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingObject ? v6_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcRelDefinesByObject::IfcRelDefinesByObject(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcObject* v6_RelatingObject) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingObject ? v6_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelDefinesByProperties -aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr Ifc4x3_add1::IfcRelDefinesByProperties::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_add1::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr Ifc4x3_add1::IfcRelDefinesByProperties::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_add1::IfcObjectDefinition >(); } void Ifc4x3_add1::IfcRelDefinesByProperties::setRelatedObjects(aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add1::IfcPropertySetDefinitionSelect* Ifc4x3_add1::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcPropertySetDefinitionSelect>(true); } +::Ifc4x3_add1::IfcPropertySetDefinitionSelect* Ifc4x3_add1::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcPropertySetDefinitionSelect>(true); } void Ifc4x3_add1::IfcRelDefinesByProperties::setRelatingPropertyDefinition(::Ifc4x3_add1::IfcPropertySetDefinitionSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcRelDefinesByProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[933]); } const IfcParse::entity& Ifc4x3_add1::IfcRelDefinesByProperties::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[933]); } Ifc4x3_add1::IfcRelDefinesByProperties::IfcRelDefinesByProperties(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x3_add1::IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcPropertySetDefinitionSelect* v6_RelatingPropertyDefinition) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingPropertyDefinition ? v6_RelatingPropertyDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcPropertySetDefinitionSelect* v6_RelatingPropertyDefinition) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingPropertyDefinition ? v6_RelatingPropertyDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelDefinesByTemplate -aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr Ifc4x3_add1::IfcRelDefinesByTemplate::RelatedPropertySets() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_add1::IfcPropertySetDefinition >(); } +aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr Ifc4x3_add1::IfcRelDefinesByTemplate::RelatedPropertySets() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_add1::IfcPropertySetDefinition >(); } void Ifc4x3_add1::IfcRelDefinesByTemplate::setRelatedPropertySets(aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add1::IfcPropertySetTemplate* Ifc4x3_add1::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcPropertySetTemplate>(true); } +::Ifc4x3_add1::IfcPropertySetTemplate* Ifc4x3_add1::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcPropertySetTemplate>(true); } void Ifc4x3_add1::IfcRelDefinesByTemplate::setRelatingTemplate(::Ifc4x3_add1::IfcPropertySetTemplate* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcRelDefinesByTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[934]); } const IfcParse::entity& Ifc4x3_add1::IfcRelDefinesByTemplate::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[934]); } Ifc4x3_add1::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x3_add1::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr v5_RelatedPropertySets, ::Ifc4x3_add1::IfcPropertySetTemplate* v6_RelatingTemplate) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedPropertySets)->generalize());set_attribute_value(5, v6_RelatingTemplate ? v6_RelatingTemplate->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr v5_RelatedPropertySets, ::Ifc4x3_add1::IfcPropertySetTemplate* v6_RelatingTemplate) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedPropertySets)->generalize());set_attribute_value(5, v6_RelatingTemplate ? v6_RelatingTemplate->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelDefinesByType -aggregate_of< ::Ifc4x3_add1::IfcObject >::ptr Ifc4x3_add1::IfcRelDefinesByType::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_add1::IfcObject >(); } +aggregate_of< ::Ifc4x3_add1::IfcObject >::ptr Ifc4x3_add1::IfcRelDefinesByType::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_add1::IfcObject >(); } void Ifc4x3_add1::IfcRelDefinesByType::setRelatedObjects(aggregate_of< ::Ifc4x3_add1::IfcObject >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add1::IfcTypeObject* Ifc4x3_add1::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcTypeObject>(true); } +::Ifc4x3_add1::IfcTypeObject* Ifc4x3_add1::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcTypeObject>(true); } void Ifc4x3_add1::IfcRelDefinesByType::setRelatingType(::Ifc4x3_add1::IfcTypeObject* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcRelDefinesByType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[935]); } const IfcParse::entity& Ifc4x3_add1::IfcRelDefinesByType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[935]); } Ifc4x3_add1::IfcRelDefinesByType::IfcRelDefinesByType(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x3_add1::IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcTypeObject* v6_RelatingType) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingType ? v6_RelatingType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3_add1::IfcTypeObject* v6_RelatingType) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingType ? v6_RelatingType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelFillsElement -::Ifc4x3_add1::IfcOpeningElement* Ifc4x3_add1::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcOpeningElement>(true); } +::Ifc4x3_add1::IfcOpeningElement* Ifc4x3_add1::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcOpeningElement>(true); } void Ifc4x3_add1::IfcRelFillsElement::setRelatingOpeningElement(::Ifc4x3_add1::IfcOpeningElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add1::IfcElement* Ifc4x3_add1::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcElement>(true); } +::Ifc4x3_add1::IfcElement* Ifc4x3_add1::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcElement>(true); } void Ifc4x3_add1::IfcRelFillsElement::setRelatedBuildingElement(::Ifc4x3_add1::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcRelFillsElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[936]); } const IfcParse::entity& Ifc4x3_add1::IfcRelFillsElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[936]); } Ifc4x3_add1::IfcRelFillsElement::IfcRelFillsElement(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_add1::IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcOpeningElement* v5_RelatingOpeningElement, ::Ifc4x3_add1::IfcElement* v6_RelatedBuildingElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingOpeningElement ? v5_RelatingOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcOpeningElement* v5_RelatingOpeningElement, ::Ifc4x3_add1::IfcElement* v6_RelatedBuildingElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingOpeningElement ? v5_RelatingOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelFlowControlElements -aggregate_of< ::Ifc4x3_add1::IfcDistributionControlElement >::ptr Ifc4x3_add1::IfcRelFlowControlElements::RelatedControlElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_add1::IfcDistributionControlElement >(); } +aggregate_of< ::Ifc4x3_add1::IfcDistributionControlElement >::ptr Ifc4x3_add1::IfcRelFlowControlElements::RelatedControlElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_add1::IfcDistributionControlElement >(); } void Ifc4x3_add1::IfcRelFlowControlElements::setRelatedControlElements(aggregate_of< ::Ifc4x3_add1::IfcDistributionControlElement >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add1::IfcDistributionFlowElement* Ifc4x3_add1::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcDistributionFlowElement>(true); } +::Ifc4x3_add1::IfcDistributionFlowElement* Ifc4x3_add1::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcDistributionFlowElement>(true); } void Ifc4x3_add1::IfcRelFlowControlElements::setRelatingFlowElement(::Ifc4x3_add1::IfcDistributionFlowElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcRelFlowControlElements::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[937]); } const IfcParse::entity& Ifc4x3_add1::IfcRelFlowControlElements::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[937]); } Ifc4x3_add1::IfcRelFlowControlElements::IfcRelFlowControlElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_add1::IfcRelFlowControlElements::IfcRelFlowControlElements(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDistributionControlElement >::ptr v5_RelatedControlElements, ::Ifc4x3_add1::IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedControlElements)->generalize());set_attribute_value(5, v6_RelatingFlowElement ? v6_RelatingFlowElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcRelFlowControlElements::IfcRelFlowControlElements(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcDistributionControlElement >::ptr v5_RelatedControlElements, ::Ifc4x3_add1::IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedControlElements)->generalize());set_attribute_value(5, v6_RelatingFlowElement ? v6_RelatingFlowElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelInterferesElements -::Ifc4x3_add1::IfcInterferenceSelect* Ifc4x3_add1::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcInterferenceSelect>(true); } +::Ifc4x3_add1::IfcInterferenceSelect* Ifc4x3_add1::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcInterferenceSelect>(true); } void Ifc4x3_add1::IfcRelInterferesElements::setRelatingElement(::Ifc4x3_add1::IfcInterferenceSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add1::IfcInterferenceSelect* Ifc4x3_add1::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcInterferenceSelect>(true); } +::Ifc4x3_add1::IfcInterferenceSelect* Ifc4x3_add1::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcInterferenceSelect>(true); } void Ifc4x3_add1::IfcRelInterferesElements::setRelatedElement(::Ifc4x3_add1::IfcInterferenceSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add1::IfcConnectionGeometry* Ifc4x3_add1::IfcRelInterferesElements::InterferenceGeometry() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add1::IfcConnectionGeometry>(true); } +::Ifc4x3_add1::IfcConnectionGeometry* Ifc4x3_add1::IfcRelInterferesElements::InterferenceGeometry() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add1::IfcConnectionGeometry>(true); } void Ifc4x3_add1::IfcRelInterferesElements::setInterferenceGeometry(::Ifc4x3_add1::IfcConnectionGeometry* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< std::string > Ifc4x3_add1::IfcRelInterferesElements::InterferenceType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcRelInterferesElements::InterferenceType() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcRelInterferesElements::setInterferenceType(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::logic::tribool Ifc4x3_add1::IfcRelInterferesElements::ImpliedOrder() const { boost::logic::tribool v = data_.get_attribute_value(8); return v; } +boost::logic::tribool Ifc4x3_add1::IfcRelInterferesElements::ImpliedOrder() const { boost::logic::tribool v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcRelInterferesElements::setImpliedOrder(boost::logic::tribool v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_add1::IfcSpatialZone* Ifc4x3_add1::IfcRelInterferesElements::InterferenceSpace() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_add1::IfcSpatialZone>(true); } +::Ifc4x3_add1::IfcSpatialZone* Ifc4x3_add1::IfcRelInterferesElements::InterferenceSpace() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_add1::IfcSpatialZone>(true); } void Ifc4x3_add1::IfcRelInterferesElements::setInterferenceSpace(::Ifc4x3_add1::IfcSpatialZone* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcRelInterferesElements::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[938]); } const IfcParse::entity& Ifc4x3_add1::IfcRelInterferesElements::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[938]); } Ifc4x3_add1::IfcRelInterferesElements::IfcRelInterferesElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_add1::IfcRelInterferesElements::IfcRelInterferesElements(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcInterferenceSelect* v5_RelatingElement, ::Ifc4x3_add1::IfcInterferenceSelect* v6_RelatedElement, ::Ifc4x3_add1::IfcConnectionGeometry* v7_InterferenceGeometry, boost::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder, ::Ifc4x3_add1::IfcSpatialZone* v10_InterferenceSpace) : IfcRelConnects(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_InterferenceGeometry ? v7_InterferenceGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder));set_attribute_value(9, v10_InterferenceSpace ? v10_InterferenceSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcRelInterferesElements::IfcRelInterferesElements(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcInterferenceSelect* v5_RelatingElement, ::Ifc4x3_add1::IfcInterferenceSelect* v6_RelatedElement, ::Ifc4x3_add1::IfcConnectionGeometry* v7_InterferenceGeometry, boost::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder, ::Ifc4x3_add1::IfcSpatialZone* v10_InterferenceSpace) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_InterferenceGeometry ? v7_InterferenceGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder));set_attribute_value(9, v10_InterferenceSpace ? v10_InterferenceSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelNests -::Ifc4x3_add1::IfcObjectDefinition* Ifc4x3_add1::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcObjectDefinition>(true); } +::Ifc4x3_add1::IfcObjectDefinition* Ifc4x3_add1::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcObjectDefinition>(true); } void Ifc4x3_add1::IfcRelNests::setRelatingObject(::Ifc4x3_add1::IfcObjectDefinition* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr Ifc4x3_add1::IfcRelNests::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_add1::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr Ifc4x3_add1::IfcRelNests::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_add1::IfcObjectDefinition >(); } void Ifc4x3_add1::IfcRelNests::setRelatedObjects(aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcRelNests::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[939]); } const IfcParse::entity& Ifc4x3_add1::IfcRelNests::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[939]); } Ifc4x3_add1::IfcRelNests::IfcRelNests(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x3_add1::IfcRelNests::IfcRelNests(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcRelNests::IfcRelNests(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x3_add1::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelPositions -::Ifc4x3_add1::IfcPositioningElement* Ifc4x3_add1::IfcRelPositions::RelatingPositioningElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcPositioningElement>(true); } +::Ifc4x3_add1::IfcPositioningElement* Ifc4x3_add1::IfcRelPositions::RelatingPositioningElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcPositioningElement>(true); } void Ifc4x3_add1::IfcRelPositions::setRelatingPositioningElement(::Ifc4x3_add1::IfcPositioningElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_add1::IfcProduct >::ptr Ifc4x3_add1::IfcRelPositions::RelatedProducts() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_add1::IfcProduct >(); } +aggregate_of< ::Ifc4x3_add1::IfcProduct >::ptr Ifc4x3_add1::IfcRelPositions::RelatedProducts() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_add1::IfcProduct >(); } void Ifc4x3_add1::IfcRelPositions::setRelatedProducts(aggregate_of< ::Ifc4x3_add1::IfcProduct >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcRelPositions::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[940]); } const IfcParse::entity& Ifc4x3_add1::IfcRelPositions::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[940]); } Ifc4x3_add1::IfcRelPositions::IfcRelPositions(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_add1::IfcRelPositions::IfcRelPositions(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcPositioningElement* v5_RelatingPositioningElement, aggregate_of< ::Ifc4x3_add1::IfcProduct >::ptr v6_RelatedProducts) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPositioningElement ? v5_RelatingPositioningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedProducts)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcRelPositions::IfcRelPositions(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcPositioningElement* v5_RelatingPositioningElement, aggregate_of< ::Ifc4x3_add1::IfcProduct >::ptr v6_RelatedProducts) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPositioningElement ? v5_RelatingPositioningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedProducts)->generalize());; populate_derived(); } // Function implementations for IfcRelProjectsElement -::Ifc4x3_add1::IfcElement* Ifc4x3_add1::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcElement>(true); } +::Ifc4x3_add1::IfcElement* Ifc4x3_add1::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcElement>(true); } void Ifc4x3_add1::IfcRelProjectsElement::setRelatingElement(::Ifc4x3_add1::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add1::IfcFeatureElementAddition* Ifc4x3_add1::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcFeatureElementAddition>(true); } +::Ifc4x3_add1::IfcFeatureElementAddition* Ifc4x3_add1::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcFeatureElementAddition>(true); } void Ifc4x3_add1::IfcRelProjectsElement::setRelatedFeatureElement(::Ifc4x3_add1::IfcFeatureElementAddition* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcRelProjectsElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[941]); } const IfcParse::entity& Ifc4x3_add1::IfcRelProjectsElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[941]); } Ifc4x3_add1::IfcRelProjectsElement::IfcRelProjectsElement(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x3_add1::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcElement* v5_RelatingElement, ::Ifc4x3_add1::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedFeatureElement ? v6_RelatedFeatureElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcElement* v5_RelatingElement, ::Ifc4x3_add1::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedFeatureElement ? v6_RelatedFeatureElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelReferencedInSpatialStructure -aggregate_of< ::Ifc4x3_add1::IfcSpatialReferenceSelect >::ptr Ifc4x3_add1::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_add1::IfcSpatialReferenceSelect >(); } +aggregate_of< ::Ifc4x3_add1::IfcSpatialReferenceSelect >::ptr Ifc4x3_add1::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_add1::IfcSpatialReferenceSelect >(); } void Ifc4x3_add1::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_add1::IfcSpatialReferenceSelect >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add1::IfcSpatialElement* Ifc4x3_add1::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcSpatialElement>(true); } +::Ifc4x3_add1::IfcSpatialElement* Ifc4x3_add1::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcSpatialElement>(true); } void Ifc4x3_add1::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4x3_add1::IfcSpatialElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcRelReferencedInSpatialStructure::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[942]); } const IfcParse::entity& Ifc4x3_add1::IfcRelReferencedInSpatialStructure::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[942]); } Ifc4x3_add1::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_add1::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_add1::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add1::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_add1::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelSequence -::Ifc4x3_add1::IfcProcess* Ifc4x3_add1::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcProcess>(true); } +::Ifc4x3_add1::IfcProcess* Ifc4x3_add1::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcProcess>(true); } void Ifc4x3_add1::IfcRelSequence::setRelatingProcess(::Ifc4x3_add1::IfcProcess* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add1::IfcProcess* Ifc4x3_add1::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcProcess>(true); } +::Ifc4x3_add1::IfcProcess* Ifc4x3_add1::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcProcess>(true); } void Ifc4x3_add1::IfcRelSequence::setRelatedProcess(::Ifc4x3_add1::IfcProcess* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add1::IfcLagTime* Ifc4x3_add1::IfcRelSequence::TimeLag() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add1::IfcLagTime>(true); } +::Ifc4x3_add1::IfcLagTime* Ifc4x3_add1::IfcRelSequence::TimeLag() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add1::IfcLagTime>(true); } void Ifc4x3_add1::IfcRelSequence::setTimeLag(::Ifc4x3_add1::IfcLagTime* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< ::Ifc4x3_add1::IfcSequenceEnum::Value > Ifc4x3_add1::IfcRelSequence::SequenceType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSequenceEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_add1::IfcSequenceEnum::Value > Ifc4x3_add1::IfcRelSequence::SequenceType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSequenceEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add1::IfcRelSequence::setSequenceType(boost::optional< ::Ifc4x3_add1::IfcSequenceEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_add1::IfcSequenceEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_add1::IfcRelSequence::UserDefinedSequenceType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcRelSequence::UserDefinedSequenceType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcRelSequence::setUserDefinedSequenceType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcRelSequence::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[943]); } const IfcParse::entity& Ifc4x3_add1::IfcRelSequence::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[943]); } Ifc4x3_add1::IfcRelSequence::IfcRelSequence(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_add1::IfcRelSequence::IfcRelSequence(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcProcess* v5_RelatingProcess, ::Ifc4x3_add1::IfcProcess* v6_RelatedProcess, ::Ifc4x3_add1::IfcLagTime* v7_TimeLag, boost::optional< ::Ifc4x3_add1::IfcSequenceEnum::Value > v8_SequenceType, boost::optional< std::string > v9_UserDefinedSequenceType) : IfcRelConnects(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingProcess ? v5_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedProcess ? v6_RelatedProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_TimeLag ? v7_TimeLag->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_SequenceType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); }; populate_derived(); } +Ifc4x3_add1::IfcRelSequence::IfcRelSequence(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcProcess* v5_RelatingProcess, ::Ifc4x3_add1::IfcProcess* v6_RelatedProcess, ::Ifc4x3_add1::IfcLagTime* v7_TimeLag, boost::optional< ::Ifc4x3_add1::IfcSequenceEnum::Value > v8_SequenceType, boost::optional< std::string > v9_UserDefinedSequenceType) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingProcess ? v5_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedProcess ? v6_RelatedProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_TimeLag ? v7_TimeLag->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_SequenceType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); }; populate_derived(); } // Function implementations for IfcRelServicesBuildings -::Ifc4x3_add1::IfcSystem* Ifc4x3_add1::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcSystem>(true); } +::Ifc4x3_add1::IfcSystem* Ifc4x3_add1::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcSystem>(true); } void Ifc4x3_add1::IfcRelServicesBuildings::setRelatingSystem(::Ifc4x3_add1::IfcSystem* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_add1::IfcSpatialElement >::ptr Ifc4x3_add1::IfcRelServicesBuildings::RelatedBuildings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_add1::IfcSpatialElement >(); } +aggregate_of< ::Ifc4x3_add1::IfcSpatialElement >::ptr Ifc4x3_add1::IfcRelServicesBuildings::RelatedBuildings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_add1::IfcSpatialElement >(); } void Ifc4x3_add1::IfcRelServicesBuildings::setRelatedBuildings(aggregate_of< ::Ifc4x3_add1::IfcSpatialElement >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcRelServicesBuildings::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[944]); } const IfcParse::entity& Ifc4x3_add1::IfcRelServicesBuildings::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[944]); } Ifc4x3_add1::IfcRelServicesBuildings::IfcRelServicesBuildings(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_add1::IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcSystem* v5_RelatingSystem, aggregate_of< ::Ifc4x3_add1::IfcSpatialElement >::ptr v6_RelatedBuildings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSystem ? v5_RelatingSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedBuildings)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcSystem* v5_RelatingSystem, aggregate_of< ::Ifc4x3_add1::IfcSpatialElement >::ptr v6_RelatedBuildings) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSystem ? v5_RelatingSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedBuildings)->generalize());; populate_derived(); } // Function implementations for IfcRelSpaceBoundary -::Ifc4x3_add1::IfcSpaceBoundarySelect* Ifc4x3_add1::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcSpaceBoundarySelect>(true); } +::Ifc4x3_add1::IfcSpaceBoundarySelect* Ifc4x3_add1::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcSpaceBoundarySelect>(true); } void Ifc4x3_add1::IfcRelSpaceBoundary::setRelatingSpace(::Ifc4x3_add1::IfcSpaceBoundarySelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add1::IfcElement* Ifc4x3_add1::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcElement>(true); } +::Ifc4x3_add1::IfcElement* Ifc4x3_add1::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcElement>(true); } void Ifc4x3_add1::IfcRelSpaceBoundary::setRelatedBuildingElement(::Ifc4x3_add1::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add1::IfcConnectionGeometry* Ifc4x3_add1::IfcRelSpaceBoundary::ConnectionGeometry() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add1::IfcConnectionGeometry>(true); } +::Ifc4x3_add1::IfcConnectionGeometry* Ifc4x3_add1::IfcRelSpaceBoundary::ConnectionGeometry() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add1::IfcConnectionGeometry>(true); } void Ifc4x3_add1::IfcRelSpaceBoundary::setConnectionGeometry(::Ifc4x3_add1::IfcConnectionGeometry* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Value Ifc4x3_add1::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Value Ifc4x3_add1::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add1::IfcRelSpaceBoundary::setPhysicalOrVirtualBoundary(::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_add1::IfcInternalOrExternalEnum::Value Ifc4x3_add1::IfcRelSpaceBoundary::InternalOrExternalBoundary() const { return ::Ifc4x3_add1::IfcInternalOrExternalEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_add1::IfcInternalOrExternalEnum::Value Ifc4x3_add1::IfcRelSpaceBoundary::InternalOrExternalBoundary() const { return ::Ifc4x3_add1::IfcInternalOrExternalEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcRelSpaceBoundary::setInternalOrExternalBoundary(::Ifc4x3_add1::IfcInternalOrExternalEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcInternalOrExternalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_add1::IfcRelSpaceBoundary::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[945]); } const IfcParse::entity& Ifc4x3_add1::IfcRelSpaceBoundary::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[945]); } Ifc4x3_add1::IfcRelSpaceBoundary::IfcRelSpaceBoundary(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_add1::IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_add1::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_add1::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) : IfcRelConnects(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; populate_derived(); } +Ifc4x3_add1::IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_add1::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_add1::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; populate_derived(); } // Function implementations for IfcRelSpaceBoundary1stLevel -::Ifc4x3_add1::IfcRelSpaceBoundary1stLevel* Ifc4x3_add1::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_add1::IfcRelSpaceBoundary1stLevel>(true); } +::Ifc4x3_add1::IfcRelSpaceBoundary1stLevel* Ifc4x3_add1::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_add1::IfcRelSpaceBoundary1stLevel>(true); } void Ifc4x3_add1::IfcRelSpaceBoundary1stLevel::setParentBoundary(::Ifc4x3_add1::IfcRelSpaceBoundary1stLevel* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } ::Ifc4x3_add1::IfcRelSpaceBoundary1stLevel::list::ptr Ifc4x3_add1::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[946], 9)->as(); } @@ -15133,10 +15133,10 @@ void Ifc4x3_add1::IfcRelSpaceBoundary1stLevel::setParentBoundary(::Ifc4x3_add1:: const IfcParse::entity& Ifc4x3_add1::IfcRelSpaceBoundary1stLevel::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[946]); } const IfcParse::entity& Ifc4x3_add1::IfcRelSpaceBoundary1stLevel::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[946]); } Ifc4x3_add1::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(IfcEntityInstanceData&& e) : IfcRelSpaceBoundary(std::move(e)) { } -Ifc4x3_add1::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_add1::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_add1::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_add1::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary) : IfcRelSpaceBoundary(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_add1::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_add1::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_add1::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary) : IfcRelSpaceBoundary(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelSpaceBoundary2ndLevel -::Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel* Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel>(true); } +::Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel* Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel>(true); } void Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(::Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } ::Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel::list::ptr Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel::Corresponds() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[947], 10)->as(); } @@ -15144,19 +15144,19 @@ void Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(::Ifc4x3 const IfcParse::entity& Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[947]); } const IfcParse::entity& Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[947]); } Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(IfcEntityInstanceData&& e) : IfcRelSpaceBoundary1stLevel(std::move(e)) { } -Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_add1::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_add1::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_add1::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, ::Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary) : IfcRelSpaceBoundary1stLevel(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_CorrespondingBoundary ? v11_CorrespondingBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_add1::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_add1::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_add1::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, ::Ifc4x3_add1::IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary) : IfcRelSpaceBoundary1stLevel(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_CorrespondingBoundary ? v11_CorrespondingBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelVoidsElement -::Ifc4x3_add1::IfcElement* Ifc4x3_add1::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcElement>(true); } +::Ifc4x3_add1::IfcElement* Ifc4x3_add1::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcElement>(true); } void Ifc4x3_add1::IfcRelVoidsElement::setRelatingBuildingElement(::Ifc4x3_add1::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add1::IfcFeatureElementSubtraction* Ifc4x3_add1::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcFeatureElementSubtraction>(true); } +::Ifc4x3_add1::IfcFeatureElementSubtraction* Ifc4x3_add1::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcFeatureElementSubtraction>(true); } void Ifc4x3_add1::IfcRelVoidsElement::setRelatedOpeningElement(::Ifc4x3_add1::IfcFeatureElementSubtraction* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcRelVoidsElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[948]); } const IfcParse::entity& Ifc4x3_add1::IfcRelVoidsElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[948]); } Ifc4x3_add1::IfcRelVoidsElement::IfcRelVoidsElement(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x3_add1::IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcElement* v5_RelatingBuildingElement, ::Ifc4x3_add1::IfcFeatureElementSubtraction* v6_RelatedOpeningElement) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedOpeningElement ? v6_RelatedOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcElement* v5_RelatingBuildingElement, ::Ifc4x3_add1::IfcFeatureElementSubtraction* v6_RelatedOpeningElement) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedOpeningElement ? v6_RelatedOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelationship @@ -15164,26 +15164,26 @@ Ifc4x3_add1::IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, ::I const IfcParse::entity& Ifc4x3_add1::IfcRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[916]); } const IfcParse::entity& Ifc4x3_add1::IfcRelationship::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[916]); } Ifc4x3_add1::IfcRelationship::IfcRelationship(IfcEntityInstanceData&& e) : IfcRoot(std::move(e)) { } -Ifc4x3_add1::IfcRelationship::IfcRelationship(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_add1::IfcRelationship::IfcRelationship(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcReparametrisedCompositeCurveSegment -double Ifc4x3_add1::IfcReparametrisedCompositeCurveSegment::ParamLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add1::IfcReparametrisedCompositeCurveSegment::ParamLength() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcReparametrisedCompositeCurveSegment::setParamLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcReparametrisedCompositeCurveSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[949]); } const IfcParse::entity& Ifc4x3_add1::IfcReparametrisedCompositeCurveSegment::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[949]); } Ifc4x3_add1::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(IfcEntityInstanceData&& e) : IfcCompositeCurveSegment(std::move(e)) { } -Ifc4x3_add1::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(::Ifc4x3_add1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_add1::IfcCurve* v3_ParentCurve, double v4_ParamLength) : IfcCompositeCurveSegment(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ParamLength));; populate_derived(); } +Ifc4x3_add1::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(::Ifc4x3_add1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_add1::IfcCurve* v3_ParentCurve, double v4_ParamLength) : IfcCompositeCurveSegment(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ParamLength));; populate_derived(); } // Function implementations for IfcRepresentation -::Ifc4x3_add1::IfcRepresentationContext* Ifc4x3_add1::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcRepresentationContext>(true); } +::Ifc4x3_add1::IfcRepresentationContext* Ifc4x3_add1::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcRepresentationContext>(true); } void Ifc4x3_add1::IfcRepresentation::setContextOfItems(::Ifc4x3_add1::IfcRepresentationContext* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_add1::IfcRepresentation::RepresentationIdentifier() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcRepresentation::RepresentationIdentifier() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_add1::IfcRepresentation::RepresentationType() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcRepresentation::RepresentationType() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcRepresentation::setRepresentationType(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -aggregate_of< ::Ifc4x3_add1::IfcRepresentationItem >::ptr Ifc4x3_add1::IfcRepresentation::Items() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_add1::IfcRepresentationItem >(); } +aggregate_of< ::Ifc4x3_add1::IfcRepresentationItem >::ptr Ifc4x3_add1::IfcRepresentation::Items() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_add1::IfcRepresentationItem >(); } void Ifc4x3_add1::IfcRepresentation::setItems(aggregate_of< ::Ifc4x3_add1::IfcRepresentationItem >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } ::Ifc4x3_add1::IfcRepresentationMap::list::ptr Ifc4x3_add1::IfcRepresentation::RepresentationMap() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[953], 1)->as(); } @@ -15193,12 +15193,12 @@ void Ifc4x3_add1::IfcRepresentation::setItems(aggregate_of< ::Ifc4x3_add1::IfcRe const IfcParse::entity& Ifc4x3_add1::IfcRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[950]); } const IfcParse::entity& Ifc4x3_add1::IfcRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[950]); } Ifc4x3_add1::IfcRepresentation::IfcRepresentation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcRepresentation::IfcRepresentation(::Ifc4x3_add1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_add1::IfcRepresentationItem >::ptr v4_Items) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcRepresentation::IfcRepresentation(::Ifc4x3_add1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_add1::IfcRepresentationItem >::ptr v4_Items) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcRepresentationContext -boost::optional< std::string > Ifc4x3_add1::IfcRepresentationContext::ContextIdentifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcRepresentationContext::ContextIdentifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcRepresentationContext::setContextIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add1::IfcRepresentationContext::ContextType() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcRepresentationContext::ContextType() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcRepresentationContext::setContextType(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x3_add1::IfcRepresentation::list::ptr Ifc4x3_add1::IfcRepresentationContext::RepresentationsInContext() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[950], 0)->as(); } @@ -15206,7 +15206,7 @@ void Ifc4x3_add1::IfcRepresentationContext::setContextType(boost::optional< std: const IfcParse::entity& Ifc4x3_add1::IfcRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[951]); } const IfcParse::entity& Ifc4x3_add1::IfcRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[951]); } Ifc4x3_add1::IfcRepresentationContext::IfcRepresentationContext(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcRepresentationContext::IfcRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; populate_derived(); } +Ifc4x3_add1::IfcRepresentationContext::IfcRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; populate_derived(); } // Function implementations for IfcRepresentationItem @@ -15216,12 +15216,12 @@ Ifc4x3_add1::IfcRepresentationContext::IfcRepresentationContext(boost::optional< const IfcParse::entity& Ifc4x3_add1::IfcRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[952]); } const IfcParse::entity& Ifc4x3_add1::IfcRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[952]); } Ifc4x3_add1::IfcRepresentationItem::IfcRepresentationItem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add1::IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcRepresentationMap -::Ifc4x3_add1::IfcAxis2Placement* Ifc4x3_add1::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcAxis2Placement>(true); } +::Ifc4x3_add1::IfcAxis2Placement* Ifc4x3_add1::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcAxis2Placement>(true); } void Ifc4x3_add1::IfcRepresentationMap::setMappingOrigin(::Ifc4x3_add1::IfcAxis2Placement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add1::IfcRepresentation* Ifc4x3_add1::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcRepresentation>(true); } +::Ifc4x3_add1::IfcRepresentation* Ifc4x3_add1::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcRepresentation>(true); } void Ifc4x3_add1::IfcRepresentationMap::setMappedRepresentation(::Ifc4x3_add1::IfcRepresentation* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } ::Ifc4x3_add1::IfcShapeAspect::list::ptr Ifc4x3_add1::IfcRepresentationMap::HasShapeAspects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[1006], 4)->as(); } @@ -15230,12 +15230,12 @@ void Ifc4x3_add1::IfcRepresentationMap::setMappedRepresentation(::Ifc4x3_add1::I const IfcParse::entity& Ifc4x3_add1::IfcRepresentationMap::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[953]); } const IfcParse::entity& Ifc4x3_add1::IfcRepresentationMap::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[953]); } Ifc4x3_add1::IfcRepresentationMap::IfcRepresentationMap(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcRepresentationMap::IfcRepresentationMap(::Ifc4x3_add1::IfcAxis2Placement* v1_MappingOrigin, ::Ifc4x3_add1::IfcRepresentation* v2_MappedRepresentation) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_MappingOrigin ? v1_MappingOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappedRepresentation ? v2_MappedRepresentation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcRepresentationMap::IfcRepresentationMap(::Ifc4x3_add1::IfcAxis2Placement* v1_MappingOrigin, ::Ifc4x3_add1::IfcRepresentation* v2_MappedRepresentation) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_MappingOrigin ? v1_MappingOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappedRepresentation ? v2_MappedRepresentation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcResource -boost::optional< std::string > Ifc4x3_add1::IfcResource::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcResource::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcResource::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_add1::IfcResource::LongDescription() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcResource::LongDescription() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcResource::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_add1::IfcRelAssignsToResource::list::ptr Ifc4x3_add1::IfcResource::ResourceOf() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[907], 6)->as(); } @@ -15243,253 +15243,253 @@ void Ifc4x3_add1::IfcResource::setLongDescription(boost::optional< std::string > const IfcParse::entity& Ifc4x3_add1::IfcResource::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[954]); } const IfcParse::entity& Ifc4x3_add1::IfcResource::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[954]); } Ifc4x3_add1::IfcResource::IfcResource(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_add1::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x3_add1::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(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } +Ifc4x3_add1::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x3_add1::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(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } // Function implementations for IfcResourceApprovalRelationship -aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr Ifc4x3_add1::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcResourceObjectSelect >(); } +aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr Ifc4x3_add1::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcResourceObjectSelect >(); } void Ifc4x3_add1::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add1::IfcApproval* Ifc4x3_add1::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcApproval>(true); } +::Ifc4x3_add1::IfcApproval* Ifc4x3_add1::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcApproval>(true); } void Ifc4x3_add1::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_add1::IfcApproval* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcResourceApprovalRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[955]); } const IfcParse::entity& Ifc4x3_add1::IfcResourceApprovalRelationship::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[955]); } Ifc4x3_add1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_add1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_add1::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatedResourceObjects)->generalize());set_attribute_value(3, v4_RelatingApproval ? v4_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_add1::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatedResourceObjects)->generalize());set_attribute_value(3, v4_RelatingApproval ? v4_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcResourceConstraintRelationship -::Ifc4x3_add1::IfcConstraint* Ifc4x3_add1::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcConstraint>(true); } +::Ifc4x3_add1::IfcConstraint* Ifc4x3_add1::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcConstraint>(true); } void Ifc4x3_add1::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4x3_add1::IfcConstraint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr Ifc4x3_add1::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_add1::IfcResourceObjectSelect >(); } +aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr Ifc4x3_add1::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_add1::IfcResourceObjectSelect >(); } void Ifc4x3_add1::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcResourceConstraintRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[956]); } const IfcParse::entity& Ifc4x3_add1::IfcResourceConstraintRelationship::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[956]); } Ifc4x3_add1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_add1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingConstraint ? v3_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add1::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_add1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingConstraint ? v3_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } // Function implementations for IfcResourceLevelRelationship -boost::optional< std::string > Ifc4x3_add1::IfcResourceLevelRelationship::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcResourceLevelRelationship::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcResourceLevelRelationship::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add1::IfcResourceLevelRelationship::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcResourceLevelRelationship::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcResourceLevelRelationship::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_add1::IfcResourceLevelRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[957]); } const IfcParse::entity& Ifc4x3_add1::IfcResourceLevelRelationship::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[957]); } Ifc4x3_add1::IfcResourceLevelRelationship::IfcResourceLevelRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcResourceLevelRelationship::IfcResourceLevelRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4x3_add1::IfcResourceLevelRelationship::IfcResourceLevelRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcResourceTime -boost::optional< std::string > Ifc4x3_add1::IfcResourceTime::ScheduleWork() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcResourceTime::ScheduleWork() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcResourceTime::setScheduleWork(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_add1::IfcResourceTime::ScheduleUsage() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_add1::IfcResourceTime::ScheduleUsage() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcResourceTime::setScheduleUsage(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add1::IfcResourceTime::ScheduleStart() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcResourceTime::ScheduleStart() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcResourceTime::setScheduleStart(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_add1::IfcResourceTime::ScheduleFinish() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcResourceTime::ScheduleFinish() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcResourceTime::setScheduleFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_add1::IfcResourceTime::ScheduleContour() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcResourceTime::ScheduleContour() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcResourceTime::setScheduleContour(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_add1::IfcResourceTime::LevelingDelay() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcResourceTime::LevelingDelay() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcResourceTime::setLevelingDelay(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< bool > Ifc4x3_add1::IfcResourceTime::IsOverAllocated() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } bool v = data_.get_attribute_value(9); return v; } +boost::optional< bool > Ifc4x3_add1::IfcResourceTime::IsOverAllocated() const { if(get_attribute_value(9).isNull()) { return boost::none; } bool v = get_attribute_value(9); return v; } void Ifc4x3_add1::IfcResourceTime::setIsOverAllocated(boost::optional< bool > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x3_add1::IfcResourceTime::StatusTime() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcResourceTime::StatusTime() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_add1::IfcResourceTime::setStatusTime(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< std::string > Ifc4x3_add1::IfcResourceTime::ActualWork() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcResourceTime::ActualWork() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x3_add1::IfcResourceTime::setActualWork(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_add1::IfcResourceTime::ActualUsage() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_add1::IfcResourceTime::ActualUsage() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_add1::IfcResourceTime::setActualUsage(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< std::string > Ifc4x3_add1::IfcResourceTime::ActualStart() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(13); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcResourceTime::ActualStart() const { if(get_attribute_value(13).isNull()) { return boost::none; } std::string v = get_attribute_value(13); return v; } void Ifc4x3_add1::IfcResourceTime::setActualStart(boost::optional< std::string > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x3_add1::IfcResourceTime::ActualFinish() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcResourceTime::ActualFinish() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x3_add1::IfcResourceTime::setActualFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< std::string > Ifc4x3_add1::IfcResourceTime::RemainingWork() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(15); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcResourceTime::RemainingWork() const { if(get_attribute_value(15).isNull()) { return boost::none; } std::string v = get_attribute_value(15); return v; } void Ifc4x3_add1::IfcResourceTime::setRemainingWork(boost::optional< std::string > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3_add1::IfcResourceTime::RemainingUsage() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3_add1::IfcResourceTime::RemainingUsage() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3_add1::IfcResourceTime::setRemainingUsage(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< double > Ifc4x3_add1::IfcResourceTime::Completion() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } double v = data_.get_attribute_value(17); return v; } +boost::optional< double > Ifc4x3_add1::IfcResourceTime::Completion() const { if(get_attribute_value(17).isNull()) { return boost::none; } double v = get_attribute_value(17); return v; } void Ifc4x3_add1::IfcResourceTime::setCompletion(boost::optional< double > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } const IfcParse::entity& Ifc4x3_add1::IfcResourceTime::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[960]); } const IfcParse::entity& Ifc4x3_add1::IfcResourceTime::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[960]); } Ifc4x3_add1::IfcResourceTime::IfcResourceTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x3_add1::IfcResourceTime::IfcResourceTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_add1::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(storage_t(18))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); }; populate_derived(); } +Ifc4x3_add1::IfcResourceTime::IfcResourceTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_add1::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(in_memory_attribute_storage(18))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); }; populate_derived(); } // Function implementations for IfcRevolvedAreaSolid -::Ifc4x3_add1::IfcAxis1Placement* Ifc4x3_add1::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcAxis1Placement>(true); } +::Ifc4x3_add1::IfcAxis1Placement* Ifc4x3_add1::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcAxis1Placement>(true); } void Ifc4x3_add1::IfcRevolvedAreaSolid::setAxis(::Ifc4x3_add1::IfcAxis1Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_add1::IfcRevolvedAreaSolid::Angle() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add1::IfcRevolvedAreaSolid::Angle() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcRevolvedAreaSolid::setAngle(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcRevolvedAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[961]); } const IfcParse::entity& Ifc4x3_add1::IfcRevolvedAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[961]); } Ifc4x3_add1::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4x3_add1::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(::Ifc4x3_add1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add1::IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));; populate_derived(); } +Ifc4x3_add1::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(::Ifc4x3_add1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add1::IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));; populate_derived(); } // Function implementations for IfcRevolvedAreaSolidTapered -::Ifc4x3_add1::IfcProfileDef* Ifc4x3_add1::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcProfileDef>(true); } +::Ifc4x3_add1::IfcProfileDef* Ifc4x3_add1::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcProfileDef>(true); } void Ifc4x3_add1::IfcRevolvedAreaSolidTapered::setEndSweptArea(::Ifc4x3_add1::IfcProfileDef* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add1::IfcRevolvedAreaSolidTapered::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[962]); } const IfcParse::entity& Ifc4x3_add1::IfcRevolvedAreaSolidTapered::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[962]); } Ifc4x3_add1::IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(IfcEntityInstanceData&& e) : IfcRevolvedAreaSolid(std::move(e)) { } -Ifc4x3_add1::IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(::Ifc4x3_add1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add1::IfcAxis1Placement* v3_Axis, double v4_Angle, ::Ifc4x3_add1::IfcProfileDef* v5_EndSweptArea) : IfcRevolvedAreaSolid(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(::Ifc4x3_add1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add1::IfcAxis1Placement* v3_Axis, double v4_Angle, ::Ifc4x3_add1::IfcProfileDef* v5_EndSweptArea) : IfcRevolvedAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRightCircularCone -double Ifc4x3_add1::IfcRightCircularCone::Height() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add1::IfcRightCircularCone::Height() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcRightCircularCone::setHeight(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_add1::IfcRightCircularCone::BottomRadius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_add1::IfcRightCircularCone::BottomRadius() const { double v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcRightCircularCone::setBottomRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcRightCircularCone::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[963]); } const IfcParse::entity& Ifc4x3_add1::IfcRightCircularCone::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[963]); } Ifc4x3_add1::IfcRightCircularCone::IfcRightCircularCone(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3_add1::IfcRightCircularCone::IfcRightCircularCone(::Ifc4x3_add1::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_BottomRadius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; populate_derived(); } +Ifc4x3_add1::IfcRightCircularCone::IfcRightCircularCone(::Ifc4x3_add1::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_BottomRadius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; populate_derived(); } // Function implementations for IfcRightCircularCylinder -double Ifc4x3_add1::IfcRightCircularCylinder::Height() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add1::IfcRightCircularCylinder::Height() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcRightCircularCylinder::setHeight(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_add1::IfcRightCircularCylinder::Radius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_add1::IfcRightCircularCylinder::Radius() const { double v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcRightCircularCylinder::setRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcRightCircularCylinder::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[964]); } const IfcParse::entity& Ifc4x3_add1::IfcRightCircularCylinder::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[964]); } Ifc4x3_add1::IfcRightCircularCylinder::IfcRightCircularCylinder(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3_add1::IfcRightCircularCylinder::IfcRightCircularCylinder(::Ifc4x3_add1::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; populate_derived(); } +Ifc4x3_add1::IfcRightCircularCylinder::IfcRightCircularCylinder(::Ifc4x3_add1::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; populate_derived(); } // Function implementations for IfcRigidOperation -::Ifc4x3_add1::IfcMeasureValue* Ifc4x3_add1::IfcRigidOperation::FirstCoordinate() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcMeasureValue>(true); } +::Ifc4x3_add1::IfcMeasureValue* Ifc4x3_add1::IfcRigidOperation::FirstCoordinate() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcMeasureValue>(true); } void Ifc4x3_add1::IfcRigidOperation::setFirstCoordinate(::Ifc4x3_add1::IfcMeasureValue* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add1::IfcMeasureValue* Ifc4x3_add1::IfcRigidOperation::SecondCoordinate() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcMeasureValue>(true); } +::Ifc4x3_add1::IfcMeasureValue* Ifc4x3_add1::IfcRigidOperation::SecondCoordinate() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcMeasureValue>(true); } void Ifc4x3_add1::IfcRigidOperation::setSecondCoordinate(::Ifc4x3_add1::IfcMeasureValue* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_add1::IfcRigidOperation::Height() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add1::IfcRigidOperation::Height() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcRigidOperation::setHeight(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add1::IfcRigidOperation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[965]); } const IfcParse::entity& Ifc4x3_add1::IfcRigidOperation::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[965]); } Ifc4x3_add1::IfcRigidOperation::IfcRigidOperation(IfcEntityInstanceData&& e) : IfcCoordinateOperation(std::move(e)) { } -Ifc4x3_add1::IfcRigidOperation::IfcRigidOperation(::Ifc4x3_add1::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_add1::IfcCoordinateReferenceSystem* v2_TargetCRS, ::Ifc4x3_add1::IfcMeasureValue* v3_FirstCoordinate, ::Ifc4x3_add1::IfcMeasureValue* v4_SecondCoordinate, double v5_Height) : IfcCoordinateOperation(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_FirstCoordinate ? v3_FirstCoordinate->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_SecondCoordinate ? v4_SecondCoordinate->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_Height));; populate_derived(); } +Ifc4x3_add1::IfcRigidOperation::IfcRigidOperation(::Ifc4x3_add1::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_add1::IfcCoordinateReferenceSystem* v2_TargetCRS, ::Ifc4x3_add1::IfcMeasureValue* v3_FirstCoordinate, ::Ifc4x3_add1::IfcMeasureValue* v4_SecondCoordinate, double v5_Height) : IfcCoordinateOperation(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_FirstCoordinate ? v3_FirstCoordinate->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_SecondCoordinate ? v4_SecondCoordinate->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_Height));; populate_derived(); } // Function implementations for IfcRoad -boost::optional< ::Ifc4x3_add1::IfcRoadTypeEnum::Value > Ifc4x3_add1::IfcRoad::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcRoadTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_add1::IfcRoadTypeEnum::Value > Ifc4x3_add1::IfcRoad::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcRoadTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcRoad::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcRoadTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcRoadTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_add1::IfcRoad::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[966]); } const IfcParse::entity& Ifc4x3_add1::IfcRoad::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[966]); } Ifc4x3_add1::IfcRoad::IfcRoad(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x3_add1::IfcRoad::IfcRoad(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_add1::IfcRoadTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcRoadTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcRoad::IfcRoad(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_add1::IfcRoadTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcRoadTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRoadPart -boost::optional< ::Ifc4x3_add1::IfcRoadPartTypeEnum::Value > Ifc4x3_add1::IfcRoadPart::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcRoadPartTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add1::IfcRoadPartTypeEnum::Value > Ifc4x3_add1::IfcRoadPart::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcRoadPartTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add1::IfcRoadPart::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcRoadPartTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add1::IfcRoadPartTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add1::IfcRoadPart::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[967]); } const IfcParse::entity& Ifc4x3_add1::IfcRoadPart::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[967]); } Ifc4x3_add1::IfcRoadPart::IfcRoadPart(IfcEntityInstanceData&& e) : IfcFacilityPart(std::move(e)) { } -Ifc4x3_add1::IfcRoadPart::IfcRoadPart(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3_add1::IfcRoadPartTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcRoadPartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcRoadPart::IfcRoadPart(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add1::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3_add1::IfcRoadPartTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcRoadPartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRoof -boost::optional< ::Ifc4x3_add1::IfcRoofTypeEnum::Value > Ifc4x3_add1::IfcRoof::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcRoofTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcRoofTypeEnum::Value > Ifc4x3_add1::IfcRoof::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcRoofTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcRoof::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcRoofTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcRoofTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcRoof::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[971]); } const IfcParse::entity& Ifc4x3_add1::IfcRoof::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[971]); } Ifc4x3_add1::IfcRoof::IfcRoof(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add1::IfcRoof::IfcRoof(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcRoofTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcRoof::IfcRoof(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcRoofTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRoofType -::Ifc4x3_add1::IfcRoofTypeEnum::Value Ifc4x3_add1::IfcRoofType::PredefinedType() const { return ::Ifc4x3_add1::IfcRoofTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcRoofTypeEnum::Value Ifc4x3_add1::IfcRoofType::PredefinedType() const { return ::Ifc4x3_add1::IfcRoofTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcRoofType::setPredefinedType(::Ifc4x3_add1::IfcRoofTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcRoofTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcRoofType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[972]); } const IfcParse::entity& Ifc4x3_add1::IfcRoofType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[972]); } Ifc4x3_add1::IfcRoofType::IfcRoofType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add1::IfcRoofType::IfcRoofType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcRoofTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcRoofType::IfcRoofType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcRoofTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRoot -std::string Ifc4x3_add1::IfcRoot::GlobalId() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_add1::IfcRoot::GlobalId() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcRoot::setGlobalId(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add1::IfcOwnerHistory* Ifc4x3_add1::IfcRoot::OwnerHistory() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcOwnerHistory>(true); } +::Ifc4x3_add1::IfcOwnerHistory* Ifc4x3_add1::IfcRoot::OwnerHistory() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcOwnerHistory>(true); } void Ifc4x3_add1::IfcRoot::setOwnerHistory(::Ifc4x3_add1::IfcOwnerHistory* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_add1::IfcRoot::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcRoot::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcRoot::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_add1::IfcRoot::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcRoot::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcRoot::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_add1::IfcRoot::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[974]); } const IfcParse::entity& Ifc4x3_add1::IfcRoot::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[974]); } Ifc4x3_add1::IfcRoot::IfcRoot(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcRoot::IfcRoot(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_add1::IfcRoot::IfcRoot(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRoundedRectangleProfileDef -double Ifc4x3_add1::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_add1::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcRoundedRectangleProfileDef::setRoundingRadius(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcRoundedRectangleProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[979]); } const IfcParse::entity& Ifc4x3_add1::IfcRoundedRectangleProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[979]); } Ifc4x3_add1::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(IfcEntityInstanceData&& e) : IfcRectangleProfileDef(std::move(e)) { } -Ifc4x3_add1::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; populate_derived(); } +Ifc4x3_add1::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; populate_derived(); } // Function implementations for IfcSIUnit -boost::optional< ::Ifc4x3_add1::IfcSIPrefix::Value > Ifc4x3_add1::IfcSIUnit::Prefix() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSIPrefix::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc4x3_add1::IfcSIPrefix::Value > Ifc4x3_add1::IfcSIUnit::Prefix() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSIPrefix::FromString(get_attribute_value(2)); } void Ifc4x3_add1::IfcSIUnit::setPrefix(boost::optional< ::Ifc4x3_add1::IfcSIPrefix::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc4x3_add1::IfcSIPrefix::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -::Ifc4x3_add1::IfcSIUnitName::Value Ifc4x3_add1::IfcSIUnit::Name() const { return ::Ifc4x3_add1::IfcSIUnitName::FromString(data_.get_attribute_value(3)); } +::Ifc4x3_add1::IfcSIUnitName::Value Ifc4x3_add1::IfcSIUnit::Name() const { return ::Ifc4x3_add1::IfcSIUnitName::FromString(get_attribute_value(3)); } void Ifc4x3_add1::IfcSIUnit::setName(::Ifc4x3_add1::IfcSIUnitName::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc4x3_add1::IfcSIUnitName::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcSIUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1025]); } const IfcParse::entity& Ifc4x3_add1::IfcSIUnit::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1025]); } Ifc4x3_add1::IfcSIUnit::IfcSIUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -Ifc4x3_add1::IfcSIUnit::IfcSIUnit(::Ifc4x3_add1::IfcUnitEnum::Value v2_UnitType, boost::optional< ::Ifc4x3_add1::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_add1::IfcSIUnitName::Value v4_Name) : IfcNamedUnit(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add1::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add1::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (EnumerationReference(&::Ifc4x3_add1::IfcSIUnitName::Class(),(size_t)v4_Name)));; populate_derived(); } +Ifc4x3_add1::IfcSIUnit::IfcSIUnit(::Ifc4x3_add1::IfcUnitEnum::Value v2_UnitType, boost::optional< ::Ifc4x3_add1::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_add1::IfcSIUnitName::Value v4_Name) : IfcNamedUnit(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add1::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add1::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (EnumerationReference(&::Ifc4x3_add1::IfcSIUnitName::Class(),(size_t)v4_Name)));; populate_derived(); } // Function implementations for IfcSanitaryTerminal -boost::optional< ::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Value > Ifc4x3_add1::IfcSanitaryTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Value > Ifc4x3_add1::IfcSanitaryTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcSanitaryTerminal::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcSanitaryTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[980]); } const IfcParse::entity& Ifc4x3_add1::IfcSanitaryTerminal::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[980]); } Ifc4x3_add1::IfcSanitaryTerminal::IfcSanitaryTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_add1::IfcSanitaryTerminal::IfcSanitaryTerminal(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcSanitaryTerminal::IfcSanitaryTerminal(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSanitaryTerminalType -::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Value Ifc4x3_add1::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Value Ifc4x3_add1::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcSanitaryTerminalType::setPredefinedType(::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcSanitaryTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[981]); } const IfcParse::entity& Ifc4x3_add1::IfcSanitaryTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[981]); } Ifc4x3_add1::IfcSanitaryTerminalType::IfcSanitaryTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_add1::IfcSanitaryTerminalType::IfcSanitaryTerminalType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcSanitaryTerminalType::IfcSanitaryTerminalType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSchedulingTime -boost::optional< std::string > Ifc4x3_add1::IfcSchedulingTime::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcSchedulingTime::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcSchedulingTime::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > Ifc4x3_add1::IfcSchedulingTime::DataOrigin() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcDataOriginEnum::FromString(data_.get_attribute_value(1)); } +boost::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > Ifc4x3_add1::IfcSchedulingTime::DataOrigin() const { if(get_attribute_value(1).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcDataOriginEnum::FromString(get_attribute_value(1)); } void Ifc4x3_add1::IfcSchedulingTime::setDataOrigin(boost::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v) { if (v) {set_attribute_value(1, EnumerationReference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(), (size_t) *v));} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_add1::IfcSchedulingTime::UserDefinedDataOrigin() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcSchedulingTime::UserDefinedDataOrigin() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcSchedulingTime::setUserDefinedDataOrigin(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_add1::IfcSchedulingTime::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[983]); } const IfcParse::entity& Ifc4x3_add1::IfcSchedulingTime::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[983]); } Ifc4x3_add1::IfcSchedulingTime::IfcSchedulingTime(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }; populate_derived(); } +Ifc4x3_add1::IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }; populate_derived(); } // Function implementations for IfcSeamCurve @@ -15497,108 +15497,108 @@ Ifc4x3_add1::IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > const IfcParse::entity& Ifc4x3_add1::IfcSeamCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[984]); } const IfcParse::entity& Ifc4x3_add1::IfcSeamCurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[984]); } Ifc4x3_add1::IfcSeamCurve::IfcSeamCurve(IfcEntityInstanceData&& e) : IfcSurfaceCurve(std::move(e)) { } -Ifc4x3_add1::IfcSeamCurve::IfcSeamCurve(::Ifc4x3_add1::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_add1::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } +Ifc4x3_add1::IfcSeamCurve::IfcSeamCurve(::Ifc4x3_add1::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_add1::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcSecondOrderPolynomialSpiral -double Ifc4x3_add1::IfcSecondOrderPolynomialSpiral::QuadraticTerm() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add1::IfcSecondOrderPolynomialSpiral::QuadraticTerm() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcSecondOrderPolynomialSpiral::setQuadraticTerm(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_add1::IfcSecondOrderPolynomialSpiral::LinearTerm() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add1::IfcSecondOrderPolynomialSpiral::LinearTerm() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcSecondOrderPolynomialSpiral::setLinearTerm(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_add1::IfcSecondOrderPolynomialSpiral::ConstantTerm() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add1::IfcSecondOrderPolynomialSpiral::ConstantTerm() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcSecondOrderPolynomialSpiral::setConstantTerm(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_add1::IfcSecondOrderPolynomialSpiral::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[985]); } const IfcParse::entity& Ifc4x3_add1::IfcSecondOrderPolynomialSpiral::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[985]); } Ifc4x3_add1::IfcSecondOrderPolynomialSpiral::IfcSecondOrderPolynomialSpiral(IfcEntityInstanceData&& e) : IfcSpiral(std::move(e)) { } -Ifc4x3_add1::IfcSecondOrderPolynomialSpiral::IfcSecondOrderPolynomialSpiral(::Ifc4x3_add1::IfcAxis2Placement* v1_Position, double v2_QuadraticTerm, boost::optional< double > v3_LinearTerm, boost::optional< double > v4_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_QuadraticTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); }; populate_derived(); } +Ifc4x3_add1::IfcSecondOrderPolynomialSpiral::IfcSecondOrderPolynomialSpiral(::Ifc4x3_add1::IfcAxis2Placement* v1_Position, double v2_QuadraticTerm, boost::optional< double > v3_LinearTerm, boost::optional< double > v4_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_QuadraticTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); }; populate_derived(); } // Function implementations for IfcSectionProperties -::Ifc4x3_add1::IfcSectionTypeEnum::Value Ifc4x3_add1::IfcSectionProperties::SectionType() const { return ::Ifc4x3_add1::IfcSectionTypeEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_add1::IfcSectionTypeEnum::Value Ifc4x3_add1::IfcSectionProperties::SectionType() const { return ::Ifc4x3_add1::IfcSectionTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x3_add1::IfcSectionProperties::setSectionType(::Ifc4x3_add1::IfcSectionTypeEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_add1::IfcSectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add1::IfcProfileDef* Ifc4x3_add1::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcProfileDef>(true); } +::Ifc4x3_add1::IfcProfileDef* Ifc4x3_add1::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcProfileDef>(true); } void Ifc4x3_add1::IfcSectionProperties::setStartProfile(::Ifc4x3_add1::IfcProfileDef* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add1::IfcProfileDef* Ifc4x3_add1::IfcSectionProperties::EndProfile() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcProfileDef>(true); } +::Ifc4x3_add1::IfcProfileDef* Ifc4x3_add1::IfcSectionProperties::EndProfile() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcProfileDef>(true); } void Ifc4x3_add1::IfcSectionProperties::setEndProfile(::Ifc4x3_add1::IfcProfileDef* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcSectionProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[992]); } const IfcParse::entity& Ifc4x3_add1::IfcSectionProperties::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[992]); } Ifc4x3_add1::IfcSectionProperties::IfcSectionProperties(IfcEntityInstanceData&& e) : IfcPreDefinedProperties(std::move(e)) { } -Ifc4x3_add1::IfcSectionProperties::IfcSectionProperties(::Ifc4x3_add1::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_add1::IfcProfileDef* v2_StartProfile, ::Ifc4x3_add1::IfcProfileDef* v3_EndProfile) : IfcPreDefinedProperties(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, v2_StartProfile ? v2_StartProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EndProfile ? v3_EndProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcSectionProperties::IfcSectionProperties(::Ifc4x3_add1::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_add1::IfcProfileDef* v2_StartProfile, ::Ifc4x3_add1::IfcProfileDef* v3_EndProfile) : IfcPreDefinedProperties(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, v2_StartProfile ? v2_StartProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EndProfile ? v3_EndProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSectionReinforcementProperties -double Ifc4x3_add1::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_add1::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcSectionReinforcementProperties::setLongitudinalStartPosition(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_add1::IfcSectionReinforcementProperties::LongitudinalEndPosition() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add1::IfcSectionReinforcementProperties::LongitudinalEndPosition() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcSectionReinforcementProperties::setLongitudinalEndPosition(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_add1::IfcSectionReinforcementProperties::TransversePosition() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add1::IfcSectionReinforcementProperties::TransversePosition() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_add1::IfcReinforcingBarRoleEnum::Value Ifc4x3_add1::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x3_add1::IfcReinforcingBarRoleEnum::FromString(data_.get_attribute_value(3)); } +::Ifc4x3_add1::IfcReinforcingBarRoleEnum::Value Ifc4x3_add1::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x3_add1::IfcReinforcingBarRoleEnum::FromString(get_attribute_value(3)); } void Ifc4x3_add1::IfcSectionReinforcementProperties::setReinforcementRole(::Ifc4x3_add1::IfcReinforcingBarRoleEnum::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc4x3_add1::IfcReinforcingBarRoleEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add1::IfcSectionProperties* Ifc4x3_add1::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcSectionProperties>(true); } +::Ifc4x3_add1::IfcSectionProperties* Ifc4x3_add1::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcSectionProperties>(true); } void Ifc4x3_add1::IfcSectionReinforcementProperties::setSectionDefinition(::Ifc4x3_add1::IfcSectionProperties* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_add1::IfcReinforcementBarProperties >::ptr Ifc4x3_add1::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_add1::IfcReinforcementBarProperties >(); } +aggregate_of< ::Ifc4x3_add1::IfcReinforcementBarProperties >::ptr Ifc4x3_add1::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_add1::IfcReinforcementBarProperties >(); } void Ifc4x3_add1::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(aggregate_of< ::Ifc4x3_add1::IfcReinforcementBarProperties >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcSectionReinforcementProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[993]); } const IfcParse::entity& Ifc4x3_add1::IfcSectionReinforcementProperties::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[993]); } Ifc4x3_add1::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(IfcEntityInstanceData&& e) : IfcPreDefinedProperties(std::move(e)) { } -Ifc4x3_add1::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, boost::optional< double > v3_TransversePosition, ::Ifc4x3_add1::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_add1::IfcSectionProperties* v5_SectionDefinition, aggregate_of< ::Ifc4x3_add1::IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcPreDefinedProperties(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (EnumerationReference(&::Ifc4x3_add1::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, v5_SectionDefinition ? v5_SectionDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_CrossSectionReinforcementDefinitions)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, boost::optional< double > v3_TransversePosition, ::Ifc4x3_add1::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_add1::IfcSectionProperties* v5_SectionDefinition, aggregate_of< ::Ifc4x3_add1::IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcPreDefinedProperties(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (EnumerationReference(&::Ifc4x3_add1::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, v5_SectionDefinition ? v5_SectionDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_CrossSectionReinforcementDefinitions)->generalize());; populate_derived(); } // Function implementations for IfcSectionedSolid -::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcSectionedSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCurve>(true); } +::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcSectionedSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCurve>(true); } void Ifc4x3_add1::IfcSectionedSolid::setDirectrix(::Ifc4x3_add1::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_add1::IfcProfileDef >::ptr Ifc4x3_add1::IfcSectionedSolid::CrossSections() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcProfileDef >(); } +aggregate_of< ::Ifc4x3_add1::IfcProfileDef >::ptr Ifc4x3_add1::IfcSectionedSolid::CrossSections() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcProfileDef >(); } void Ifc4x3_add1::IfcSectionedSolid::setCrossSections(aggregate_of< ::Ifc4x3_add1::IfcProfileDef >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcSectionedSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[987]); } const IfcParse::entity& Ifc4x3_add1::IfcSectionedSolid::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[987]); } Ifc4x3_add1::IfcSectionedSolid::IfcSectionedSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3_add1::IfcSectionedSolid::IfcSectionedSolid(::Ifc4x3_add1::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_add1::IfcProfileDef >::ptr v2_CrossSections) : IfcSolidModel(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcSectionedSolid::IfcSectionedSolid(::Ifc4x3_add1::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_add1::IfcProfileDef >::ptr v2_CrossSections) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());; populate_derived(); } // Function implementations for IfcSectionedSolidHorizontal -aggregate_of< ::Ifc4x3_add1::IfcAxis2PlacementLinear >::ptr Ifc4x3_add1::IfcSectionedSolidHorizontal::CrossSectionPositions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcAxis2PlacementLinear >(); } +aggregate_of< ::Ifc4x3_add1::IfcAxis2PlacementLinear >::ptr Ifc4x3_add1::IfcSectionedSolidHorizontal::CrossSectionPositions() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcAxis2PlacementLinear >(); } void Ifc4x3_add1::IfcSectionedSolidHorizontal::setCrossSectionPositions(aggregate_of< ::Ifc4x3_add1::IfcAxis2PlacementLinear >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcSectionedSolidHorizontal::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[988]); } const IfcParse::entity& Ifc4x3_add1::IfcSectionedSolidHorizontal::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[988]); } Ifc4x3_add1::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(IfcEntityInstanceData&& e) : IfcSectionedSolid(std::move(e)) { } -Ifc4x3_add1::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(::Ifc4x3_add1::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_add1::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3_add1::IfcAxis2PlacementLinear >::ptr v3_CrossSectionPositions) : IfcSectionedSolid(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(::Ifc4x3_add1::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_add1::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3_add1::IfcAxis2PlacementLinear >::ptr v3_CrossSectionPositions) : IfcSectionedSolid(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());; populate_derived(); } // Function implementations for IfcSectionedSpine -::Ifc4x3_add1::IfcCompositeCurve* Ifc4x3_add1::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCompositeCurve>(true); } +::Ifc4x3_add1::IfcCompositeCurve* Ifc4x3_add1::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCompositeCurve>(true); } void Ifc4x3_add1::IfcSectionedSpine::setSpineCurve(::Ifc4x3_add1::IfcCompositeCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_add1::IfcProfileDef >::ptr Ifc4x3_add1::IfcSectionedSpine::CrossSections() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcProfileDef >(); } +aggregate_of< ::Ifc4x3_add1::IfcProfileDef >::ptr Ifc4x3_add1::IfcSectionedSpine::CrossSections() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcProfileDef >(); } void Ifc4x3_add1::IfcSectionedSpine::setCrossSections(aggregate_of< ::Ifc4x3_add1::IfcProfileDef >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3_add1::IfcAxis2Placement3D >::ptr Ifc4x3_add1::IfcSectionedSpine::CrossSectionPositions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcAxis2Placement3D >(); } +aggregate_of< ::Ifc4x3_add1::IfcAxis2Placement3D >::ptr Ifc4x3_add1::IfcSectionedSpine::CrossSectionPositions() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcAxis2Placement3D >(); } void Ifc4x3_add1::IfcSectionedSpine::setCrossSectionPositions(aggregate_of< ::Ifc4x3_add1::IfcAxis2Placement3D >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcSectionedSpine::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[989]); } const IfcParse::entity& Ifc4x3_add1::IfcSectionedSpine::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[989]); } Ifc4x3_add1::IfcSectionedSpine::IfcSectionedSpine(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcSectionedSpine::IfcSectionedSpine(::Ifc4x3_add1::IfcCompositeCurve* v1_SpineCurve, aggregate_of< ::Ifc4x3_add1::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3_add1::IfcAxis2Placement3D >::ptr v3_CrossSectionPositions) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_SpineCurve ? v1_SpineCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcSectionedSpine::IfcSectionedSpine(::Ifc4x3_add1::IfcCompositeCurve* v1_SpineCurve, aggregate_of< ::Ifc4x3_add1::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3_add1::IfcAxis2Placement3D >::ptr v3_CrossSectionPositions) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_SpineCurve ? v1_SpineCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());; populate_derived(); } // Function implementations for IfcSectionedSurface -::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcSectionedSurface::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCurve>(true); } +::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcSectionedSurface::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCurve>(true); } void Ifc4x3_add1::IfcSectionedSurface::setDirectrix(::Ifc4x3_add1::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_add1::IfcAxis2PlacementLinear >::ptr Ifc4x3_add1::IfcSectionedSurface::CrossSectionPositions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcAxis2PlacementLinear >(); } +aggregate_of< ::Ifc4x3_add1::IfcAxis2PlacementLinear >::ptr Ifc4x3_add1::IfcSectionedSurface::CrossSectionPositions() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcAxis2PlacementLinear >(); } void Ifc4x3_add1::IfcSectionedSurface::setCrossSectionPositions(aggregate_of< ::Ifc4x3_add1::IfcAxis2PlacementLinear >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3_add1::IfcProfileDef >::ptr Ifc4x3_add1::IfcSectionedSurface::CrossSections() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcProfileDef >(); } +aggregate_of< ::Ifc4x3_add1::IfcProfileDef >::ptr Ifc4x3_add1::IfcSectionedSurface::CrossSections() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcProfileDef >(); } void Ifc4x3_add1::IfcSectionedSurface::setCrossSections(aggregate_of< ::Ifc4x3_add1::IfcProfileDef >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcSectionedSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[990]); } const IfcParse::entity& Ifc4x3_add1::IfcSectionedSurface::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[990]); } Ifc4x3_add1::IfcSectionedSurface::IfcSectionedSurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x3_add1::IfcSectionedSurface::IfcSectionedSurface(::Ifc4x3_add1::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_add1::IfcAxis2PlacementLinear >::ptr v2_CrossSectionPositions, aggregate_of< ::Ifc4x3_add1::IfcProfileDef >::ptr v3_CrossSections) : IfcSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSectionPositions)->generalize());set_attribute_value(2, (v3_CrossSections)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcSectionedSurface::IfcSectionedSurface(::Ifc4x3_add1::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_add1::IfcAxis2PlacementLinear >::ptr v2_CrossSectionPositions, aggregate_of< ::Ifc4x3_add1::IfcProfileDef >::ptr v3_CrossSections) : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSectionPositions)->generalize());set_attribute_value(2, (v3_CrossSections)->generalize());; populate_derived(); } // Function implementations for IfcSegment -::Ifc4x3_add1::IfcTransitionCode::Value Ifc4x3_add1::IfcSegment::Transition() const { return ::Ifc4x3_add1::IfcTransitionCode::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_add1::IfcTransitionCode::Value Ifc4x3_add1::IfcSegment::Transition() const { return ::Ifc4x3_add1::IfcTransitionCode::FromString(get_attribute_value(0)); } void Ifc4x3_add1::IfcSegment::setTransition(::Ifc4x3_add1::IfcTransitionCode::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_add1::IfcTransitionCode::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_add1::IfcCompositeCurve::list::ptr Ifc4x3_add1::IfcSegment::UsingCurves() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[192], 0)->as(); } @@ -15606,94 +15606,94 @@ void Ifc4x3_add1::IfcSegment::setTransition(::Ifc4x3_add1::IfcTransitionCode::Va const IfcParse::entity& Ifc4x3_add1::IfcSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[995]); } const IfcParse::entity& Ifc4x3_add1::IfcSegment::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[995]); } Ifc4x3_add1::IfcSegment::IfcSegment(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcSegment::IfcSegment(::Ifc4x3_add1::IfcTransitionCode::Value v1_Transition) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcTransitionCode::Class(),(size_t)v1_Transition)));; populate_derived(); } +Ifc4x3_add1::IfcSegment::IfcSegment(::Ifc4x3_add1::IfcTransitionCode::Value v1_Transition) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcTransitionCode::Class(),(size_t)v1_Transition)));; populate_derived(); } // Function implementations for IfcSegmentedReferenceCurve -::Ifc4x3_add1::IfcBoundedCurve* Ifc4x3_add1::IfcSegmentedReferenceCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcBoundedCurve>(true); } +::Ifc4x3_add1::IfcBoundedCurve* Ifc4x3_add1::IfcSegmentedReferenceCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcBoundedCurve>(true); } void Ifc4x3_add1::IfcSegmentedReferenceCurve::setBaseCurve(::Ifc4x3_add1::IfcBoundedCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add1::IfcPlacement* Ifc4x3_add1::IfcSegmentedReferenceCurve::EndPoint() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcPlacement>(true); } +::Ifc4x3_add1::IfcPlacement* Ifc4x3_add1::IfcSegmentedReferenceCurve::EndPoint() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcPlacement>(true); } void Ifc4x3_add1::IfcSegmentedReferenceCurve::setEndPoint(::Ifc4x3_add1::IfcPlacement* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcSegmentedReferenceCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[996]); } const IfcParse::entity& Ifc4x3_add1::IfcSegmentedReferenceCurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[996]); } Ifc4x3_add1::IfcSegmentedReferenceCurve::IfcSegmentedReferenceCurve(IfcEntityInstanceData&& e) : IfcCompositeCurve(std::move(e)) { } -Ifc4x3_add1::IfcSegmentedReferenceCurve::IfcSegmentedReferenceCurve(aggregate_of< ::Ifc4x3_add1::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_add1::IfcBoundedCurve* v3_BaseCurve, ::Ifc4x3_add1::IfcPlacement* v4_EndPoint) : IfcCompositeCurve(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, v3_BaseCurve ? v3_BaseCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_EndPoint ? v4_EndPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcSegmentedReferenceCurve::IfcSegmentedReferenceCurve(aggregate_of< ::Ifc4x3_add1::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_add1::IfcBoundedCurve* v3_BaseCurve, ::Ifc4x3_add1::IfcPlacement* v4_EndPoint) : IfcCompositeCurve(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, v3_BaseCurve ? v3_BaseCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_EndPoint ? v4_EndPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSensor -boost::optional< ::Ifc4x3_add1::IfcSensorTypeEnum::Value > Ifc4x3_add1::IfcSensor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSensorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcSensorTypeEnum::Value > Ifc4x3_add1::IfcSensor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSensorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcSensor::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcSensorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcSensorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcSensor::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[998]); } const IfcParse::entity& Ifc4x3_add1::IfcSensor::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[998]); } Ifc4x3_add1::IfcSensor::IfcSensor(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_add1::IfcSensor::IfcSensor(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcSensorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcSensor::IfcSensor(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcSensorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSensorType -::Ifc4x3_add1::IfcSensorTypeEnum::Value Ifc4x3_add1::IfcSensorType::PredefinedType() const { return ::Ifc4x3_add1::IfcSensorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcSensorTypeEnum::Value Ifc4x3_add1::IfcSensorType::PredefinedType() const { return ::Ifc4x3_add1::IfcSensorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcSensorType::setPredefinedType(::Ifc4x3_add1::IfcSensorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcSensorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcSensorType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[999]); } const IfcParse::entity& Ifc4x3_add1::IfcSensorType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[999]); } Ifc4x3_add1::IfcSensorType::IfcSensorType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_add1::IfcSensorType::IfcSensorType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSensorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcSensorType::IfcSensorType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSensorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSeventhOrderPolynomialSpiral -double Ifc4x3_add1::IfcSeventhOrderPolynomialSpiral::SepticTerm() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add1::IfcSeventhOrderPolynomialSpiral::SepticTerm() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcSeventhOrderPolynomialSpiral::setSepticTerm(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_add1::IfcSeventhOrderPolynomialSpiral::SexticTerm() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add1::IfcSeventhOrderPolynomialSpiral::SexticTerm() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcSeventhOrderPolynomialSpiral::setSexticTerm(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_add1::IfcSeventhOrderPolynomialSpiral::QuinticTerm() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add1::IfcSeventhOrderPolynomialSpiral::QuinticTerm() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcSeventhOrderPolynomialSpiral::setQuinticTerm(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_add1::IfcSeventhOrderPolynomialSpiral::QuarticTerm() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_add1::IfcSeventhOrderPolynomialSpiral::QuarticTerm() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcSeventhOrderPolynomialSpiral::setQuarticTerm(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_add1::IfcSeventhOrderPolynomialSpiral::CubicTerm() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_add1::IfcSeventhOrderPolynomialSpiral::CubicTerm() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcSeventhOrderPolynomialSpiral::setCubicTerm(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_add1::IfcSeventhOrderPolynomialSpiral::QuadraticTerm() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_add1::IfcSeventhOrderPolynomialSpiral::QuadraticTerm() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcSeventhOrderPolynomialSpiral::setQuadraticTerm(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_add1::IfcSeventhOrderPolynomialSpiral::LinearTerm() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add1::IfcSeventhOrderPolynomialSpiral::LinearTerm() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcSeventhOrderPolynomialSpiral::setLinearTerm(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_add1::IfcSeventhOrderPolynomialSpiral::ConstantTerm() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_add1::IfcSeventhOrderPolynomialSpiral::ConstantTerm() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcSeventhOrderPolynomialSpiral::setConstantTerm(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcSeventhOrderPolynomialSpiral::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1002]); } const IfcParse::entity& Ifc4x3_add1::IfcSeventhOrderPolynomialSpiral::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1002]); } Ifc4x3_add1::IfcSeventhOrderPolynomialSpiral::IfcSeventhOrderPolynomialSpiral(IfcEntityInstanceData&& e) : IfcSpiral(std::move(e)) { } -Ifc4x3_add1::IfcSeventhOrderPolynomialSpiral::IfcSeventhOrderPolynomialSpiral(::Ifc4x3_add1::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(storage_t(9))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SepticTerm)); if (v3_SexticTerm) {set_attribute_value(2, (*v3_SexticTerm)); } if (v4_QuinticTerm) {set_attribute_value(3, (*v4_QuinticTerm)); } if (v5_QuarticTerm) {set_attribute_value(4, (*v5_QuarticTerm)); } if (v6_CubicTerm) {set_attribute_value(5, (*v6_CubicTerm)); } if (v7_QuadraticTerm) {set_attribute_value(6, (*v7_QuadraticTerm)); } if (v8_LinearTerm) {set_attribute_value(7, (*v8_LinearTerm)); } if (v9_ConstantTerm) {set_attribute_value(8, (*v9_ConstantTerm)); }; populate_derived(); } +Ifc4x3_add1::IfcSeventhOrderPolynomialSpiral::IfcSeventhOrderPolynomialSpiral(::Ifc4x3_add1::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(in_memory_attribute_storage(9))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SepticTerm)); if (v3_SexticTerm) {set_attribute_value(2, (*v3_SexticTerm)); } if (v4_QuinticTerm) {set_attribute_value(3, (*v4_QuinticTerm)); } if (v5_QuarticTerm) {set_attribute_value(4, (*v5_QuarticTerm)); } if (v6_CubicTerm) {set_attribute_value(5, (*v6_CubicTerm)); } if (v7_QuadraticTerm) {set_attribute_value(6, (*v7_QuadraticTerm)); } if (v8_LinearTerm) {set_attribute_value(7, (*v8_LinearTerm)); } if (v9_ConstantTerm) {set_attribute_value(8, (*v9_ConstantTerm)); }; populate_derived(); } // Function implementations for IfcShadingDevice -boost::optional< ::Ifc4x3_add1::IfcShadingDeviceTypeEnum::Value > Ifc4x3_add1::IfcShadingDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcShadingDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcShadingDeviceTypeEnum::Value > Ifc4x3_add1::IfcShadingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcShadingDevice::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcShadingDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcShadingDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcShadingDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1003]); } const IfcParse::entity& Ifc4x3_add1::IfcShadingDevice::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1003]); } Ifc4x3_add1::IfcShadingDevice::IfcShadingDevice(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add1::IfcShadingDevice::IfcShadingDevice(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcShadingDevice::IfcShadingDevice(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcShadingDeviceType -::Ifc4x3_add1::IfcShadingDeviceTypeEnum::Value Ifc4x3_add1::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4x3_add1::IfcShadingDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcShadingDeviceTypeEnum::Value Ifc4x3_add1::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4x3_add1::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcShadingDeviceType::setPredefinedType(::Ifc4x3_add1::IfcShadingDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcShadingDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcShadingDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1004]); } const IfcParse::entity& Ifc4x3_add1::IfcShadingDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1004]); } Ifc4x3_add1::IfcShadingDeviceType::IfcShadingDeviceType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add1::IfcShadingDeviceType::IfcShadingDeviceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcShadingDeviceType::IfcShadingDeviceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcShapeAspect -aggregate_of< ::Ifc4x3_add1::IfcShapeModel >::ptr Ifc4x3_add1::IfcShapeAspect::ShapeRepresentations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcShapeModel >(); } +aggregate_of< ::Ifc4x3_add1::IfcShapeModel >::ptr Ifc4x3_add1::IfcShapeAspect::ShapeRepresentations() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcShapeModel >(); } void Ifc4x3_add1::IfcShapeAspect::setShapeRepresentations(aggregate_of< ::Ifc4x3_add1::IfcShapeModel >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_add1::IfcShapeAspect::Name() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcShapeAspect::Name() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcShapeAspect::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_add1::IfcShapeAspect::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcShapeAspect::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcShapeAspect::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::logic::tribool Ifc4x3_add1::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = data_.get_attribute_value(3); return v; } +boost::logic::tribool Ifc4x3_add1::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcShapeAspect::setProductDefinitional(boost::logic::tribool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add1::IfcProductRepresentationSelect* Ifc4x3_add1::IfcShapeAspect::PartOfProductDefinitionShape() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcProductRepresentationSelect>(true); } +::Ifc4x3_add1::IfcProductRepresentationSelect* Ifc4x3_add1::IfcShapeAspect::PartOfProductDefinitionShape() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcProductRepresentationSelect>(true); } void Ifc4x3_add1::IfcShapeAspect::setPartOfProductDefinitionShape(::Ifc4x3_add1::IfcProductRepresentationSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } ::Ifc4x3_add1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_add1::IfcShapeAspect::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[427], 3)->as(); } @@ -15701,7 +15701,7 @@ void Ifc4x3_add1::IfcShapeAspect::setPartOfProductDefinitionShape(::Ifc4x3_add1: const IfcParse::entity& Ifc4x3_add1::IfcShapeAspect::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1006]); } const IfcParse::entity& Ifc4x3_add1::IfcShapeAspect::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1006]); } Ifc4x3_add1::IfcShapeAspect::IfcShapeAspect(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcShapeAspect::IfcShapeAspect(aggregate_of< ::Ifc4x3_add1::IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_add1::IfcProductRepresentationSelect* v5_PartOfProductDefinitionShape) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_ShapeRepresentations)->generalize()); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, v5_PartOfProductDefinitionShape ? v5_PartOfProductDefinitionShape->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcShapeAspect::IfcShapeAspect(aggregate_of< ::Ifc4x3_add1::IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_add1::IfcProductRepresentationSelect* v5_PartOfProductDefinitionShape) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_ShapeRepresentations)->generalize()); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, v5_PartOfProductDefinitionShape ? v5_PartOfProductDefinitionShape->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcShapeModel @@ -15710,7 +15710,7 @@ Ifc4x3_add1::IfcShapeAspect::IfcShapeAspect(aggregate_of< ::Ifc4x3_add1::IfcShap const IfcParse::entity& Ifc4x3_add1::IfcShapeModel::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1007]); } const IfcParse::entity& Ifc4x3_add1::IfcShapeModel::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1007]); } Ifc4x3_add1::IfcShapeModel::IfcShapeModel(IfcEntityInstanceData&& e) : IfcRepresentation(std::move(e)) { } -Ifc4x3_add1::IfcShapeModel::IfcShapeModel(::Ifc4x3_add1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_add1::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcShapeModel::IfcShapeModel(::Ifc4x3_add1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_add1::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcShapeRepresentation @@ -15718,57 +15718,57 @@ Ifc4x3_add1::IfcShapeModel::IfcShapeModel(::Ifc4x3_add1::IfcRepresentationContex const IfcParse::entity& Ifc4x3_add1::IfcShapeRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1008]); } const IfcParse::entity& Ifc4x3_add1::IfcShapeRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1008]); } Ifc4x3_add1::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceData&& e) : IfcShapeModel(std::move(e)) { } -Ifc4x3_add1::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x3_add1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_add1::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x3_add1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_add1::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcShellBasedSurfaceModel -aggregate_of< ::Ifc4x3_add1::IfcShell >::ptr Ifc4x3_add1::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcShell >(); } +aggregate_of< ::Ifc4x3_add1::IfcShell >::ptr Ifc4x3_add1::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcShell >(); } void Ifc4x3_add1::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x3_add1::IfcShell >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add1::IfcShellBasedSurfaceModel::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1011]); } const IfcParse::entity& Ifc4x3_add1::IfcShellBasedSurfaceModel::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1011]); } Ifc4x3_add1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3_add1::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_SbsmBoundary)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3_add1::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_SbsmBoundary)->generalize());; populate_derived(); } // Function implementations for IfcSign -boost::optional< ::Ifc4x3_add1::IfcSignTypeEnum::Value > Ifc4x3_add1::IfcSign::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSignTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcSignTypeEnum::Value > Ifc4x3_add1::IfcSign::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSignTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcSign::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcSignTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcSignTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcSign::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1012]); } const IfcParse::entity& Ifc4x3_add1::IfcSign::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1012]); } Ifc4x3_add1::IfcSign::IfcSign(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_add1::IfcSign::IfcSign(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcSignTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcSignTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcSign::IfcSign(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcSignTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcSignTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSignType -::Ifc4x3_add1::IfcSignTypeEnum::Value Ifc4x3_add1::IfcSignType::PredefinedType() const { return ::Ifc4x3_add1::IfcSignTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcSignTypeEnum::Value Ifc4x3_add1::IfcSignType::PredefinedType() const { return ::Ifc4x3_add1::IfcSignTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcSignType::setPredefinedType(::Ifc4x3_add1::IfcSignTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcSignTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcSignType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1016]); } const IfcParse::entity& Ifc4x3_add1::IfcSignType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1016]); } Ifc4x3_add1::IfcSignType::IfcSignType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_add1::IfcSignType::IfcSignType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSignTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcSignTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcSignType::IfcSignType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSignTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcSignTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSignal -boost::optional< ::Ifc4x3_add1::IfcSignalTypeEnum::Value > Ifc4x3_add1::IfcSignal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSignalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcSignalTypeEnum::Value > Ifc4x3_add1::IfcSignal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSignalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcSignal::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcSignalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcSignalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcSignal::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1013]); } const IfcParse::entity& Ifc4x3_add1::IfcSignal::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1013]); } Ifc4x3_add1::IfcSignal::IfcSignal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_add1::IfcSignal::IfcSignal(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcSignalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcSignalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcSignal::IfcSignal(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcSignalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcSignalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSignalType -::Ifc4x3_add1::IfcSignalTypeEnum::Value Ifc4x3_add1::IfcSignalType::PredefinedType() const { return ::Ifc4x3_add1::IfcSignalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcSignalTypeEnum::Value Ifc4x3_add1::IfcSignalType::PredefinedType() const { return ::Ifc4x3_add1::IfcSignalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcSignalType::setPredefinedType(::Ifc4x3_add1::IfcSignalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcSignalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcSignalType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1014]); } const IfcParse::entity& Ifc4x3_add1::IfcSignalType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1014]); } Ifc4x3_add1::IfcSignalType::IfcSignalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_add1::IfcSignalType::IfcSignalType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSignalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcSignalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcSignalType::IfcSignalType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSignalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcSignalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSimpleProperty @@ -15776,117 +15776,117 @@ Ifc4x3_add1::IfcSignalType::IfcSignalType(std::string v1_GlobalId, ::Ifc4x3_add1 const IfcParse::entity& Ifc4x3_add1::IfcSimpleProperty::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1018]); } const IfcParse::entity& Ifc4x3_add1::IfcSimpleProperty::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1018]); } Ifc4x3_add1::IfcSimpleProperty::IfcSimpleProperty(IfcEntityInstanceData&& e) : IfcProperty(std::move(e)) { } -Ifc4x3_add1::IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::optional< std::string > v2_Specification) : IfcProperty(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }; populate_derived(); } +Ifc4x3_add1::IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::optional< std::string > v2_Specification) : IfcProperty(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }; populate_derived(); } // Function implementations for IfcSimplePropertyTemplate -boost::optional< ::Ifc4x3_add1::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x3_add1::IfcSimplePropertyTemplate::TemplateType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSimplePropertyTemplateTypeEnum::FromString(data_.get_attribute_value(4)); } +boost::optional< ::Ifc4x3_add1::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x3_add1::IfcSimplePropertyTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSimplePropertyTemplateTypeEnum::FromString(get_attribute_value(4)); } void Ifc4x3_add1::IfcSimplePropertyTemplate::setTemplateType(boost::optional< ::Ifc4x3_add1::IfcSimplePropertyTemplateTypeEnum::Value > v) { if (v) {set_attribute_value(4, EnumerationReference(&::Ifc4x3_add1::IfcSimplePropertyTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add1::IfcSimplePropertyTemplate::PrimaryMeasureType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcSimplePropertyTemplate::PrimaryMeasureType() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcSimplePropertyTemplate::setPrimaryMeasureType(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_add1::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcSimplePropertyTemplate::setSecondaryMeasureType(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_add1::IfcPropertyEnumeration* Ifc4x3_add1::IfcSimplePropertyTemplate::Enumerators() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_add1::IfcPropertyEnumeration>(true); } +::Ifc4x3_add1::IfcPropertyEnumeration* Ifc4x3_add1::IfcSimplePropertyTemplate::Enumerators() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_add1::IfcPropertyEnumeration>(true); } void Ifc4x3_add1::IfcSimplePropertyTemplate::setEnumerators(::Ifc4x3_add1::IfcPropertyEnumeration* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_add1::IfcUnit* Ifc4x3_add1::IfcSimplePropertyTemplate::PrimaryUnit() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_add1::IfcUnit>(true); } +::Ifc4x3_add1::IfcUnit* Ifc4x3_add1::IfcSimplePropertyTemplate::PrimaryUnit() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_add1::IfcUnit>(true); } void Ifc4x3_add1::IfcSimplePropertyTemplate::setPrimaryUnit(::Ifc4x3_add1::IfcUnit* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_add1::IfcUnit* Ifc4x3_add1::IfcSimplePropertyTemplate::SecondaryUnit() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_add1::IfcUnit>(true); } +::Ifc4x3_add1::IfcUnit* Ifc4x3_add1::IfcSimplePropertyTemplate::SecondaryUnit() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_add1::IfcUnit>(true); } void Ifc4x3_add1::IfcSimplePropertyTemplate::setSecondaryUnit(::Ifc4x3_add1::IfcUnit* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3_add1::IfcSimplePropertyTemplate::Expression() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcSimplePropertyTemplate::Expression() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_add1::IfcSimplePropertyTemplate::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< ::Ifc4x3_add1::IfcStateEnum::Value > Ifc4x3_add1::IfcSimplePropertyTemplate::AccessState() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcStateEnum::FromString(data_.get_attribute_value(11)); } +boost::optional< ::Ifc4x3_add1::IfcStateEnum::Value > Ifc4x3_add1::IfcSimplePropertyTemplate::AccessState() const { if(get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcStateEnum::FromString(get_attribute_value(11)); } void Ifc4x3_add1::IfcSimplePropertyTemplate::setAccessState(boost::optional< ::Ifc4x3_add1::IfcStateEnum::Value > v) { if (v) {set_attribute_value(11, EnumerationReference(&::Ifc4x3_add1::IfcStateEnum::Class(), (size_t) *v));} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x3_add1::IfcSimplePropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1019]); } const IfcParse::entity& Ifc4x3_add1::IfcSimplePropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1019]); } Ifc4x3_add1::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplate(std::move(e)) { } -Ifc4x3_add1::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x3_add1::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_PrimaryMeasureType, boost::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_add1::IfcPropertyEnumeration* v8_Enumerators, ::Ifc4x3_add1::IfcUnit* v9_PrimaryUnit, ::Ifc4x3_add1::IfcUnit* v10_SecondaryUnit, boost::optional< std::string > v11_Expression, boost::optional< ::Ifc4x3_add1::IfcStateEnum::Value > v12_AccessState) : IfcPropertyTemplate(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add1::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, v8_Enumerators ? v8_Enumerators->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_PrimaryUnit ? v9_PrimaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_SecondaryUnit ? v10_SecondaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add1::IfcStateEnum::Class(),(size_t)*v12_AccessState))); }; populate_derived(); } +Ifc4x3_add1::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x3_add1::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_PrimaryMeasureType, boost::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_add1::IfcPropertyEnumeration* v8_Enumerators, ::Ifc4x3_add1::IfcUnit* v9_PrimaryUnit, ::Ifc4x3_add1::IfcUnit* v10_SecondaryUnit, boost::optional< std::string > v11_Expression, boost::optional< ::Ifc4x3_add1::IfcStateEnum::Value > v12_AccessState) : IfcPropertyTemplate(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add1::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, v8_Enumerators ? v8_Enumerators->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_PrimaryUnit ? v9_PrimaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_SecondaryUnit ? v10_SecondaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add1::IfcStateEnum::Class(),(size_t)*v12_AccessState))); }; populate_derived(); } // Function implementations for IfcSineSpiral -double Ifc4x3_add1::IfcSineSpiral::SineTerm() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add1::IfcSineSpiral::SineTerm() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcSineSpiral::setSineTerm(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_add1::IfcSineSpiral::LinearTerm() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add1::IfcSineSpiral::LinearTerm() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcSineSpiral::setLinearTerm(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_add1::IfcSineSpiral::ConstantTerm() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add1::IfcSineSpiral::ConstantTerm() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcSineSpiral::setConstantTerm(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_add1::IfcSineSpiral::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1022]); } const IfcParse::entity& Ifc4x3_add1::IfcSineSpiral::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1022]); } Ifc4x3_add1::IfcSineSpiral::IfcSineSpiral(IfcEntityInstanceData&& e) : IfcSpiral(std::move(e)) { } -Ifc4x3_add1::IfcSineSpiral::IfcSineSpiral(::Ifc4x3_add1::IfcAxis2Placement* v1_Position, double v2_SineTerm, boost::optional< double > v3_LinearTerm, boost::optional< double > v4_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SineTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); }; populate_derived(); } +Ifc4x3_add1::IfcSineSpiral::IfcSineSpiral(::Ifc4x3_add1::IfcAxis2Placement* v1_Position, double v2_SineTerm, boost::optional< double > v3_LinearTerm, boost::optional< double > v4_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SineTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); }; populate_derived(); } // Function implementations for IfcSite -boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_add1::IfcSite::RefLatitude() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = data_.get_attribute_value(9); return v; } +boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_add1::IfcSite::RefLatitude() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = get_attribute_value(9); return v; } void Ifc4x3_add1::IfcSite::setRefLatitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_add1::IfcSite::RefLongitude() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = data_.get_attribute_value(10); return v; } +boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_add1::IfcSite::RefLongitude() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = get_attribute_value(10); return v; } void Ifc4x3_add1::IfcSite::setRefLongitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_add1::IfcSite::RefElevation() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_add1::IfcSite::RefElevation() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_add1::IfcSite::setRefElevation(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_add1::IfcSite::LandTitleNumber() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcSite::LandTitleNumber() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_add1::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4x3_add1::IfcPostalAddress* Ifc4x3_add1::IfcSite::SiteAddress() const { if(data_.get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(13)))->as<::Ifc4x3_add1::IfcPostalAddress>(true); } +::Ifc4x3_add1::IfcPostalAddress* Ifc4x3_add1::IfcSite::SiteAddress() const { if(get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(13)))->as<::Ifc4x3_add1::IfcPostalAddress>(true); } void Ifc4x3_add1::IfcSite::setSiteAddress(::Ifc4x3_add1::IfcPostalAddress* v) { set_attribute_value(13, v->as());if constexpr (false)unset_attribute_value(13); } const IfcParse::entity& Ifc4x3_add1::IfcSite::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1024]); } const IfcParse::entity& Ifc4x3_add1::IfcSite::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1024]); } Ifc4x3_add1::IfcSite::IfcSite(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x3_add1::IfcSite::IfcSite(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::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_add1::IfcPostalAddress* v14_SiteAddress) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, v14_SiteAddress ? v14_SiteAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcSite::IfcSite(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::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_add1::IfcPostalAddress* v14_SiteAddress) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, v14_SiteAddress ? v14_SiteAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSlab -boost::optional< ::Ifc4x3_add1::IfcSlabTypeEnum::Value > Ifc4x3_add1::IfcSlab::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSlabTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcSlabTypeEnum::Value > Ifc4x3_add1::IfcSlab::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSlabTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcSlab::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcSlabTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcSlabTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcSlab::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1028]); } const IfcParse::entity& Ifc4x3_add1::IfcSlab::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1028]); } Ifc4x3_add1::IfcSlab::IfcSlab(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add1::IfcSlab::IfcSlab(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcSlab::IfcSlab(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSlabType -::Ifc4x3_add1::IfcSlabTypeEnum::Value Ifc4x3_add1::IfcSlabType::PredefinedType() const { return ::Ifc4x3_add1::IfcSlabTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcSlabTypeEnum::Value Ifc4x3_add1::IfcSlabType::PredefinedType() const { return ::Ifc4x3_add1::IfcSlabTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcSlabType::setPredefinedType(::Ifc4x3_add1::IfcSlabTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcSlabTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcSlabType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1029]); } const IfcParse::entity& Ifc4x3_add1::IfcSlabType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1029]); } Ifc4x3_add1::IfcSlabType::IfcSlabType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add1::IfcSlabType::IfcSlabType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSlabTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcSlabType::IfcSlabType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSlabTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSlippageConnectionCondition -boost::optional< double > Ifc4x3_add1::IfcSlippageConnectionCondition::SlippageX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_add1::IfcSlippageConnectionCondition::SlippageX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcSlippageConnectionCondition::setSlippageX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_add1::IfcSlippageConnectionCondition::SlippageY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add1::IfcSlippageConnectionCondition::SlippageY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcSlippageConnectionCondition::setSlippageY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_add1::IfcSlippageConnectionCondition::SlippageZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add1::IfcSlippageConnectionCondition::SlippageZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcSlippageConnectionCondition::setSlippageZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_add1::IfcSlippageConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1031]); } const IfcParse::entity& Ifc4x3_add1::IfcSlippageConnectionCondition::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1031]); } Ifc4x3_add1::IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(IfcEntityInstanceData&& e) : IfcStructuralConnectionCondition(std::move(e)) { } -Ifc4x3_add1::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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; populate_derived(); } +Ifc4x3_add1::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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; populate_derived(); } // Function implementations for IfcSolarDevice -boost::optional< ::Ifc4x3_add1::IfcSolarDeviceTypeEnum::Value > Ifc4x3_add1::IfcSolarDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSolarDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcSolarDeviceTypeEnum::Value > Ifc4x3_add1::IfcSolarDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcSolarDevice::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcSolarDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcSolarDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcSolarDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1032]); } const IfcParse::entity& Ifc4x3_add1::IfcSolarDevice::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1032]); } Ifc4x3_add1::IfcSolarDevice::IfcSolarDevice(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add1::IfcSolarDevice::IfcSolarDevice(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcSolarDevice::IfcSolarDevice(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSolarDeviceType -::Ifc4x3_add1::IfcSolarDeviceTypeEnum::Value Ifc4x3_add1::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4x3_add1::IfcSolarDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcSolarDeviceTypeEnum::Value Ifc4x3_add1::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4x3_add1::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcSolarDeviceType::setPredefinedType(::Ifc4x3_add1::IfcSolarDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcSolarDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcSolarDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1033]); } const IfcParse::entity& Ifc4x3_add1::IfcSolarDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1033]); } Ifc4x3_add1::IfcSolarDeviceType::IfcSolarDeviceType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add1::IfcSolarDeviceType::IfcSolarDeviceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcSolarDeviceType::IfcSolarDeviceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSolidModel @@ -15894,12 +15894,12 @@ Ifc4x3_add1::IfcSolarDeviceType::IfcSolarDeviceType(std::string v1_GlobalId, ::I const IfcParse::entity& Ifc4x3_add1::IfcSolidModel::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1036]); } const IfcParse::entity& Ifc4x3_add1::IfcSolidModel::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1036]); } Ifc4x3_add1::IfcSolidModel::IfcSolidModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add1::IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcSpace -boost::optional< ::Ifc4x3_add1::IfcSpaceTypeEnum::Value > Ifc4x3_add1::IfcSpace::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSpaceTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_add1::IfcSpaceTypeEnum::Value > Ifc4x3_add1::IfcSpace::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcSpace::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcSpaceTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcSpaceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_add1::IfcSpace::ElevationWithFlooring() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_add1::IfcSpace::ElevationWithFlooring() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_add1::IfcSpace::setElevationWithFlooring(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } ::Ifc4x3_add1::IfcRelCoversSpaces::list::ptr Ifc4x3_add1::IfcSpace::HasCoverings() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[928], 4)->as(); } @@ -15908,42 +15908,42 @@ void Ifc4x3_add1::IfcSpace::setElevationWithFlooring(boost::optional< double > v const IfcParse::entity& Ifc4x3_add1::IfcSpace::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1042]); } const IfcParse::entity& Ifc4x3_add1::IfcSpace::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1042]); } Ifc4x3_add1::IfcSpace::IfcSpace(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x3_add1::IfcSpace::IfcSpace(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_add1::IfcSpaceTypeEnum::Value > v10_PredefinedType, boost::optional< double > v11_ElevationWithFlooring) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; populate_derived(); } +Ifc4x3_add1::IfcSpace::IfcSpace(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_add1::IfcSpaceTypeEnum::Value > v10_PredefinedType, boost::optional< double > v11_ElevationWithFlooring) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; populate_derived(); } // Function implementations for IfcSpaceHeater -boost::optional< ::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Value > Ifc4x3_add1::IfcSpaceHeater::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Value > Ifc4x3_add1::IfcSpaceHeater::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcSpaceHeater::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcSpaceHeater::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1044]); } const IfcParse::entity& Ifc4x3_add1::IfcSpaceHeater::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1044]); } Ifc4x3_add1::IfcSpaceHeater::IfcSpaceHeater(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_add1::IfcSpaceHeater::IfcSpaceHeater(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcSpaceHeater::IfcSpaceHeater(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSpaceHeaterType -::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Value Ifc4x3_add1::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Value Ifc4x3_add1::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcSpaceHeaterType::setPredefinedType(::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcSpaceHeaterType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1045]); } const IfcParse::entity& Ifc4x3_add1::IfcSpaceHeaterType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1045]); } Ifc4x3_add1::IfcSpaceHeaterType::IfcSpaceHeaterType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_add1::IfcSpaceHeaterType::IfcSpaceHeaterType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcSpaceHeaterType::IfcSpaceHeaterType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSpaceType -::Ifc4x3_add1::IfcSpaceTypeEnum::Value Ifc4x3_add1::IfcSpaceType::PredefinedType() const { return ::Ifc4x3_add1::IfcSpaceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcSpaceTypeEnum::Value Ifc4x3_add1::IfcSpaceType::PredefinedType() const { return ::Ifc4x3_add1::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcSpaceType::setPredefinedType(::Ifc4x3_add1::IfcSpaceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcSpaceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3_add1::IfcSpaceType::LongName() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcSpaceType::LongName() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_add1::IfcSpaceType::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add1::IfcSpaceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1047]); } const IfcParse::entity& Ifc4x3_add1::IfcSpaceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1047]); } Ifc4x3_add1::IfcSpaceType::IfcSpaceType(IfcEntityInstanceData&& e) : IfcSpatialStructureElementType(std::move(e)) { } -Ifc4x3_add1::IfcSpaceType::IfcSpaceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSpaceTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialStructureElementType(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } +Ifc4x3_add1::IfcSpaceType::IfcSpaceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSpaceTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialStructureElementType(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } // Function implementations for IfcSpatialElement -boost::optional< std::string > Ifc4x3_add1::IfcSpatialElement::LongName() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcSpatialElement::LongName() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcSpatialElement::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } ::Ifc4x3_add1::IfcRelContainedInSpatialStructure::list::ptr Ifc4x3_add1::IfcSpatialElement::ContainsElements() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[926], 5)->as(); } @@ -15955,27 +15955,27 @@ void Ifc4x3_add1::IfcSpatialElement::setLongName(boost::optional< std::string > const IfcParse::entity& Ifc4x3_add1::IfcSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1049]); } const IfcParse::entity& Ifc4x3_add1::IfcSpatialElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1049]); } Ifc4x3_add1::IfcSpatialElement::IfcSpatialElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_add1::IfcSpatialElement::IfcSpatialElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcProduct(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } +Ifc4x3_add1::IfcSpatialElement::IfcSpatialElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } // Function implementations for IfcSpatialElementType -boost::optional< std::string > Ifc4x3_add1::IfcSpatialElementType::ElementType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcSpatialElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcSpatialElementType::setElementType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcSpatialElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1050]); } const IfcParse::entity& Ifc4x3_add1::IfcSpatialElementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1050]); } Ifc4x3_add1::IfcSpatialElementType::IfcSpatialElementType(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(e)) { } -Ifc4x3_add1::IfcSpatialElementType::IfcSpatialElementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add1::IfcSpatialElementType::IfcSpatialElementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcSpatialStructureElement -boost::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > Ifc4x3_add1::IfcSpatialStructureElement::CompositionType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcElementCompositionEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > Ifc4x3_add1::IfcSpatialStructureElement::CompositionType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcElementCompositionEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcSpatialStructureElement::setCompositionType(boost::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcSpatialStructureElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1052]); } const IfcParse::entity& Ifc4x3_add1::IfcSpatialStructureElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1052]); } Ifc4x3_add1::IfcSpatialStructureElement::IfcSpatialStructureElement(IfcEntityInstanceData&& e) : IfcSpatialElement(std::move(e)) { } -Ifc4x3_add1::IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } +Ifc4x3_add1::IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } // Function implementations for IfcSpatialStructureElementType @@ -15983,142 +15983,142 @@ Ifc4x3_add1::IfcSpatialStructureElement::IfcSpatialStructureElement(std::string const IfcParse::entity& Ifc4x3_add1::IfcSpatialStructureElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1053]); } const IfcParse::entity& Ifc4x3_add1::IfcSpatialStructureElementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1053]); } Ifc4x3_add1::IfcSpatialStructureElementType::IfcSpatialStructureElementType(IfcEntityInstanceData&& e) : IfcSpatialElementType(std::move(e)) { } -Ifc4x3_add1::IfcSpatialStructureElementType::IfcSpatialStructureElementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcSpatialElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add1::IfcSpatialStructureElementType::IfcSpatialStructureElementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcSpatialElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcSpatialZone -boost::optional< ::Ifc4x3_add1::IfcSpatialZoneTypeEnum::Value > Ifc4x3_add1::IfcSpatialZone::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSpatialZoneTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcSpatialZoneTypeEnum::Value > Ifc4x3_add1::IfcSpatialZone::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcSpatialZone::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcSpatialZoneTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcSpatialZoneTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcSpatialZone::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1054]); } const IfcParse::entity& Ifc4x3_add1::IfcSpatialZone::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1054]); } Ifc4x3_add1::IfcSpatialZone::IfcSpatialZone(IfcEntityInstanceData&& e) : IfcSpatialElement(std::move(e)) { } -Ifc4x3_add1::IfcSpatialZone::IfcSpatialZone(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) : IfcSpatialElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcSpatialZone::IfcSpatialZone(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add1::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) : IfcSpatialElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSpatialZoneType -::Ifc4x3_add1::IfcSpatialZoneTypeEnum::Value Ifc4x3_add1::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x3_add1::IfcSpatialZoneTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcSpatialZoneTypeEnum::Value Ifc4x3_add1::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x3_add1::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcSpatialZoneType::setPredefinedType(::Ifc4x3_add1::IfcSpatialZoneTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcSpatialZoneTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3_add1::IfcSpatialZoneType::LongName() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcSpatialZoneType::LongName() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_add1::IfcSpatialZoneType::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add1::IfcSpatialZoneType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1055]); } const IfcParse::entity& Ifc4x3_add1::IfcSpatialZoneType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1055]); } Ifc4x3_add1::IfcSpatialZoneType::IfcSpatialZoneType(IfcEntityInstanceData&& e) : IfcSpatialElementType(std::move(e)) { } -Ifc4x3_add1::IfcSpatialZoneType::IfcSpatialZoneType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialElementType(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } +Ifc4x3_add1::IfcSpatialZoneType::IfcSpatialZoneType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialElementType(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } // Function implementations for IfcSphere -double Ifc4x3_add1::IfcSphere::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add1::IfcSphere::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcSphere::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcSphere::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1061]); } const IfcParse::entity& Ifc4x3_add1::IfcSphere::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1061]); } Ifc4x3_add1::IfcSphere::IfcSphere(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3_add1::IfcSphere::IfcSphere(::Ifc4x3_add1::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x3_add1::IfcSphere::IfcSphere(::Ifc4x3_add1::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcSphericalSurface -double Ifc4x3_add1::IfcSphericalSurface::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add1::IfcSphericalSurface::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcSphericalSurface::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcSphericalSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1062]); } const IfcParse::entity& Ifc4x3_add1::IfcSphericalSurface::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1062]); } Ifc4x3_add1::IfcSphericalSurface::IfcSphericalSurface(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x3_add1::IfcSphericalSurface::IfcSphericalSurface(::Ifc4x3_add1::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x3_add1::IfcSphericalSurface::IfcSphericalSurface(::Ifc4x3_add1::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcSpiral -::Ifc4x3_add1::IfcAxis2Placement* Ifc4x3_add1::IfcSpiral::Position() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcAxis2Placement>(true); } +::Ifc4x3_add1::IfcAxis2Placement* Ifc4x3_add1::IfcSpiral::Position() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcAxis2Placement>(true); } void Ifc4x3_add1::IfcSpiral::setPosition(::Ifc4x3_add1::IfcAxis2Placement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add1::IfcSpiral::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1063]); } const IfcParse::entity& Ifc4x3_add1::IfcSpiral::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1063]); } Ifc4x3_add1::IfcSpiral::IfcSpiral(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_add1::IfcSpiral::IfcSpiral(::Ifc4x3_add1::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcSpiral::IfcSpiral(::Ifc4x3_add1::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStackTerminal -boost::optional< ::Ifc4x3_add1::IfcStackTerminalTypeEnum::Value > Ifc4x3_add1::IfcStackTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcStackTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcStackTerminalTypeEnum::Value > Ifc4x3_add1::IfcStackTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcStackTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcStackTerminal::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcStackTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcStackTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcStackTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1064]); } const IfcParse::entity& Ifc4x3_add1::IfcStackTerminal::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1064]); } Ifc4x3_add1::IfcStackTerminal::IfcStackTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_add1::IfcStackTerminal::IfcStackTerminal(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcStackTerminal::IfcStackTerminal(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcStackTerminalType -::Ifc4x3_add1::IfcStackTerminalTypeEnum::Value Ifc4x3_add1::IfcStackTerminalType::PredefinedType() const { return ::Ifc4x3_add1::IfcStackTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcStackTerminalTypeEnum::Value Ifc4x3_add1::IfcStackTerminalType::PredefinedType() const { return ::Ifc4x3_add1::IfcStackTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcStackTerminalType::setPredefinedType(::Ifc4x3_add1::IfcStackTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcStackTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcStackTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1065]); } const IfcParse::entity& Ifc4x3_add1::IfcStackTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1065]); } Ifc4x3_add1::IfcStackTerminalType::IfcStackTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_add1::IfcStackTerminalType::IfcStackTerminalType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcStackTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcStackTerminalType::IfcStackTerminalType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcStackTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStair -boost::optional< ::Ifc4x3_add1::IfcStairTypeEnum::Value > Ifc4x3_add1::IfcStair::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcStairTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcStairTypeEnum::Value > Ifc4x3_add1::IfcStair::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcStairTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcStair::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcStairTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcStairTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcStair::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1067]); } const IfcParse::entity& Ifc4x3_add1::IfcStair::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1067]); } Ifc4x3_add1::IfcStair::IfcStair(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add1::IfcStair::IfcStair(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcStairTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcStair::IfcStair(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcStairTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcStairFlight -boost::optional< int > Ifc4x3_add1::IfcStairFlight::NumberOfRisers() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } int v = data_.get_attribute_value(8); return v; } +boost::optional< int > Ifc4x3_add1::IfcStairFlight::NumberOfRisers() const { if(get_attribute_value(8).isNull()) { return boost::none; } int v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcStairFlight::setNumberOfRisers(boost::optional< int > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< int > Ifc4x3_add1::IfcStairFlight::NumberOfTreads() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } int v = data_.get_attribute_value(9); return v; } +boost::optional< int > Ifc4x3_add1::IfcStairFlight::NumberOfTreads() const { if(get_attribute_value(9).isNull()) { return boost::none; } int v = get_attribute_value(9); return v; } void Ifc4x3_add1::IfcStairFlight::setNumberOfTreads(boost::optional< int > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_add1::IfcStairFlight::RiserHeight() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_add1::IfcStairFlight::RiserHeight() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_add1::IfcStairFlight::setRiserHeight(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_add1::IfcStairFlight::TreadLength() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_add1::IfcStairFlight::TreadLength() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_add1::IfcStairFlight::setTreadLength(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< ::Ifc4x3_add1::IfcStairFlightTypeEnum::Value > Ifc4x3_add1::IfcStairFlight::PredefinedType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcStairFlightTypeEnum::FromString(data_.get_attribute_value(12)); } +boost::optional< ::Ifc4x3_add1::IfcStairFlightTypeEnum::Value > Ifc4x3_add1::IfcStairFlight::PredefinedType() const { if(get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcStairFlightTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x3_add1::IfcStairFlight::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcStairFlightTypeEnum::Value > v) { if (v) {set_attribute_value(12, EnumerationReference(&::Ifc4x3_add1::IfcStairFlightTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_add1::IfcStairFlight::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1068]); } const IfcParse::entity& Ifc4x3_add1::IfcStairFlight::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1068]); } Ifc4x3_add1::IfcStairFlight::IfcStairFlight(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add1::IfcStairFlight::IfcStairFlight(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::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_add1::IfcStairFlightTypeEnum::Value > v13_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_add1::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcStairFlight::IfcStairFlight(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::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_add1::IfcStairFlightTypeEnum::Value > v13_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_add1::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } // Function implementations for IfcStairFlightType -::Ifc4x3_add1::IfcStairFlightTypeEnum::Value Ifc4x3_add1::IfcStairFlightType::PredefinedType() const { return ::Ifc4x3_add1::IfcStairFlightTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcStairFlightTypeEnum::Value Ifc4x3_add1::IfcStairFlightType::PredefinedType() const { return ::Ifc4x3_add1::IfcStairFlightTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcStairFlightType::setPredefinedType(::Ifc4x3_add1::IfcStairFlightTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcStairFlightTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcStairFlightType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1069]); } const IfcParse::entity& Ifc4x3_add1::IfcStairFlightType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1069]); } Ifc4x3_add1::IfcStairFlightType::IfcStairFlightType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add1::IfcStairFlightType::IfcStairFlightType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcStairFlightTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcStairFlightType::IfcStairFlightType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcStairFlightTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStairType -::Ifc4x3_add1::IfcStairTypeEnum::Value Ifc4x3_add1::IfcStairType::PredefinedType() const { return ::Ifc4x3_add1::IfcStairTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcStairTypeEnum::Value Ifc4x3_add1::IfcStairType::PredefinedType() const { return ::Ifc4x3_add1::IfcStairTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcStairType::setPredefinedType(::Ifc4x3_add1::IfcStairTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcStairTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcStairType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1071]); } const IfcParse::entity& Ifc4x3_add1::IfcStairType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1071]); } Ifc4x3_add1::IfcStairType::IfcStairType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add1::IfcStairType::IfcStairType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcStairTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcStairType::IfcStairType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcStairTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralAction -boost::optional< bool > Ifc4x3_add1::IfcStructuralAction::DestabilizingLoad() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } bool v = data_.get_attribute_value(9); return v; } +boost::optional< bool > Ifc4x3_add1::IfcStructuralAction::DestabilizingLoad() const { if(get_attribute_value(9).isNull()) { return boost::none; } bool v = get_attribute_value(9); return v; } void Ifc4x3_add1::IfcStructuralAction::setDestabilizingLoad(boost::optional< bool > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_add1::IfcStructuralAction::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1075]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralAction::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1075]); } Ifc4x3_add1::IfcStructuralAction::IfcStructuralAction(IfcEntityInstanceData&& e) : IfcStructuralActivity(std::move(e)) { } -Ifc4x3_add1::IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralActivity(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } +Ifc4x3_add1::IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralActivity(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } // Function implementations for IfcStructuralActivity -::Ifc4x3_add1::IfcStructuralLoad* Ifc4x3_add1::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_add1::IfcStructuralLoad>(true); } +::Ifc4x3_add1::IfcStructuralLoad* Ifc4x3_add1::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_add1::IfcStructuralLoad>(true); } void Ifc4x3_add1::IfcStructuralActivity::setAppliedLoad(::Ifc4x3_add1::IfcStructuralLoad* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value Ifc4x3_add1::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x3_add1::IfcGlobalOrLocalEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value Ifc4x3_add1::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x3_add1::IfcGlobalOrLocalEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcStructuralActivity::setGlobalOrLocal(::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } ::Ifc4x3_add1::IfcRelConnectsStructuralActivity::list::ptr Ifc4x3_add1::IfcStructuralActivity::AssignedToStructuralItem() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[922], 5)->as(); } @@ -16126,28 +16126,28 @@ void Ifc4x3_add1::IfcStructuralActivity::setGlobalOrLocal(::Ifc4x3_add1::IfcGlob const IfcParse::entity& Ifc4x3_add1::IfcStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1076]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralActivity::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1076]); } Ifc4x3_add1::IfcStructuralActivity::IfcStructuralActivity(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_add1::IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +Ifc4x3_add1::IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralAnalysisModel -::Ifc4x3_add1::IfcAnalysisModelTypeEnum::Value Ifc4x3_add1::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x3_add1::IfcAnalysisModelTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_add1::IfcAnalysisModelTypeEnum::Value Ifc4x3_add1::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x3_add1::IfcAnalysisModelTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_add1::IfcStructuralAnalysisModel::setPredefinedType(::Ifc4x3_add1::IfcAnalysisModelTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_add1::IfcAnalysisModelTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add1::IfcAxis2Placement3D* Ifc4x3_add1::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add1::IfcAxis2Placement3D>(true); } +::Ifc4x3_add1::IfcAxis2Placement3D* Ifc4x3_add1::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add1::IfcAxis2Placement3D>(true); } void Ifc4x3_add1::IfcStructuralAnalysisModel::setOrientationOf2DPlane(::Ifc4x3_add1::IfcAxis2Placement3D* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcStructuralLoadGroup >::ptr > Ifc4x3_add1::IfcStructuralAnalysisModel::LoadedBy() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_add1::IfcStructuralLoadGroup >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcStructuralLoadGroup >::ptr > Ifc4x3_add1::IfcStructuralAnalysisModel::LoadedBy() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_add1::IfcStructuralLoadGroup >(); } void Ifc4x3_add1::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcStructuralLoadGroup >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcStructuralResultGroup >::ptr > Ifc4x3_add1::IfcStructuralAnalysisModel::HasResults() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_add1::IfcStructuralResultGroup >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcStructuralResultGroup >::ptr > Ifc4x3_add1::IfcStructuralAnalysisModel::HasResults() const { if(get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_add1::IfcStructuralResultGroup >(); } void Ifc4x3_add1::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcStructuralResultGroup >::ptr > v) { if (v) {set_attribute_value(8, (*v)->generalize());} else {unset_attribute_value(8);} } -::Ifc4x3_add1::IfcObjectPlacement* Ifc4x3_add1::IfcStructuralAnalysisModel::SharedPlacement() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_add1::IfcObjectPlacement>(true); } +::Ifc4x3_add1::IfcObjectPlacement* Ifc4x3_add1::IfcStructuralAnalysisModel::SharedPlacement() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_add1::IfcObjectPlacement>(true); } void Ifc4x3_add1::IfcStructuralAnalysisModel::setSharedPlacement(::Ifc4x3_add1::IfcObjectPlacement* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralAnalysisModel::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1078]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralAnalysisModel::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1078]); } Ifc4x3_add1::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3_add1::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add1::IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcStructuralResultGroup >::ptr > v9_HasResults, ::Ifc4x3_add1::IfcObjectPlacement* v10_SharedPlacement) : IfcSystem(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add1::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, v7_OrientationOf2DPlane ? v7_OrientationOf2DPlane->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LoadedBy) {set_attribute_value(7, (*v8_LoadedBy)->generalize()); } if (v9_HasResults) {set_attribute_value(8, (*v9_HasResults)->generalize()); }set_attribute_value(9, v10_SharedPlacement ? v10_SharedPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add1::IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcStructuralResultGroup >::ptr > v9_HasResults, ::Ifc4x3_add1::IfcObjectPlacement* v10_SharedPlacement) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add1::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, v7_OrientationOf2DPlane ? v7_OrientationOf2DPlane->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LoadedBy) {set_attribute_value(7, (*v8_LoadedBy)->generalize()); } if (v9_HasResults) {set_attribute_value(8, (*v9_HasResults)->generalize()); }set_attribute_value(9, v10_SharedPlacement ? v10_SharedPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralConnection -::Ifc4x3_add1::IfcBoundaryCondition* Ifc4x3_add1::IfcStructuralConnection::AppliedCondition() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_add1::IfcBoundaryCondition>(true); } +::Ifc4x3_add1::IfcBoundaryCondition* Ifc4x3_add1::IfcStructuralConnection::AppliedCondition() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_add1::IfcBoundaryCondition>(true); } void Ifc4x3_add1::IfcStructuralConnection::setAppliedCondition(::Ifc4x3_add1::IfcBoundaryCondition* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_add1::IfcRelConnectsStructuralMember::list::ptr Ifc4x3_add1::IfcStructuralConnection::ConnectsStructuralMembers() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[923], 5)->as(); } @@ -16155,51 +16155,51 @@ void Ifc4x3_add1::IfcStructuralConnection::setAppliedCondition(::Ifc4x3_add1::If const IfcParse::entity& Ifc4x3_add1::IfcStructuralConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1079]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralConnection::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1079]); } Ifc4x3_add1::IfcStructuralConnection::IfcStructuralConnection(IfcEntityInstanceData&& e) : IfcStructuralItem(std::move(e)) { } -Ifc4x3_add1::IfcStructuralConnection::IfcStructuralConnection(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralItem(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcStructuralConnection::IfcStructuralConnection(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralItem(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralConnectionCondition -boost::optional< std::string > Ifc4x3_add1::IfcStructuralConnectionCondition::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcStructuralConnectionCondition::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcStructuralConnectionCondition::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3_add1::IfcStructuralConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1080]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralConnectionCondition::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1080]); } Ifc4x3_add1::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_add1::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralCurveAction -boost::optional< ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_add1::IfcStructuralCurveAction::ProjectedOrTrue() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_add1::IfcStructuralCurveAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add1::IfcStructuralCurveAction::setProjectedOrTrue(boost::optional< ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_add1::IfcStructuralCurveAction::PredefinedType() const { return ::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_add1::IfcStructuralCurveAction::PredefinedType() const { return ::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_add1::IfcStructuralCurveAction::setPredefinedType(::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralCurveAction::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1081]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralCurveAction::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1081]); } Ifc4x3_add1::IfcStructuralCurveAction::IfcStructuralCurveAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -Ifc4x3_add1::IfcStructuralCurveAction::IfcStructuralCurveAction(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcStructuralCurveAction::IfcStructuralCurveAction(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralCurveConnection -::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcStructuralCurveConnection::AxisDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_add1::IfcDirection>(true); } +::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcStructuralCurveConnection::AxisDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_add1::IfcDirection>(true); } void Ifc4x3_add1::IfcStructuralCurveConnection::setAxisDirection(::Ifc4x3_add1::IfcDirection* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralCurveConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1083]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralCurveConnection::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1083]); } Ifc4x3_add1::IfcStructuralCurveConnection::IfcStructuralCurveConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -Ifc4x3_add1::IfcStructuralCurveConnection::IfcStructuralCurveConnection(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x3_add1::IfcDirection* v9_AxisDirection) : IfcStructuralConnection(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_AxisDirection ? v9_AxisDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcStructuralCurveConnection::IfcStructuralCurveConnection(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x3_add1::IfcDirection* v9_AxisDirection) : IfcStructuralConnection(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_AxisDirection ? v9_AxisDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralCurveMember -::Ifc4x3_add1::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_add1::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x3_add1::IfcStructuralCurveMemberTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_add1::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_add1::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x3_add1::IfcStructuralCurveMemberTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add1::IfcStructuralCurveMember::setPredefinedType(::Ifc4x3_add1::IfcStructuralCurveMemberTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_add1::IfcStructuralCurveMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_add1::IfcDirection>(true); } +::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_add1::IfcDirection>(true); } void Ifc4x3_add1::IfcStructuralCurveMember::setAxis(::Ifc4x3_add1::IfcDirection* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralCurveMember::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1084]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralCurveMember::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1084]); } Ifc4x3_add1::IfcStructuralCurveMember::IfcStructuralCurveMember(IfcEntityInstanceData&& e) : IfcStructuralMember(std::move(e)) { } -Ifc4x3_add1::IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_add1::IfcDirection* v9_Axis) : IfcStructuralMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_add1::IfcDirection* v9_Axis) : IfcStructuralMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralCurveMemberVarying @@ -16207,17 +16207,17 @@ Ifc4x3_add1::IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_G const IfcParse::entity& Ifc4x3_add1::IfcStructuralCurveMemberVarying::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1086]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralCurveMemberVarying::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1086]); } Ifc4x3_add1::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(IfcEntityInstanceData&& e) : IfcStructuralCurveMember(std::move(e)) { } -Ifc4x3_add1::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_add1::IfcDirection* v9_Axis) : IfcStructuralCurveMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_add1::IfcDirection* v9_Axis) : IfcStructuralCurveMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralCurveReaction -::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_add1::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_add1::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcStructuralCurveReaction::setPredefinedType(::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralCurveReaction::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1087]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralCurveReaction::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1087]); } Ifc4x3_add1::IfcStructuralCurveReaction::IfcStructuralCurveReaction(IfcEntityInstanceData&& e) : IfcStructuralReaction(std::move(e)) { } -Ifc4x3_add1::IfcStructuralCurveReaction::IfcStructuralCurveReaction(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcStructuralCurveReaction::IfcStructuralCurveReaction(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralItem @@ -16226,7 +16226,7 @@ Ifc4x3_add1::IfcStructuralCurveReaction::IfcStructuralCurveReaction(std::string const IfcParse::entity& Ifc4x3_add1::IfcStructuralItem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1088]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralItem::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1088]); } Ifc4x3_add1::IfcStructuralItem::IfcStructuralItem(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_add1::IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralLinearAction @@ -16234,50 +16234,50 @@ Ifc4x3_add1::IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, ::Ifc const IfcParse::entity& Ifc4x3_add1::IfcStructuralLinearAction::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1089]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralLinearAction::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1089]); } Ifc4x3_add1::IfcStructuralLinearAction::IfcStructuralLinearAction(IfcEntityInstanceData&& e) : IfcStructuralCurveAction(std::move(e)) { } -Ifc4x3_add1::IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralCurveAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralCurveAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralLoad -boost::optional< std::string > Ifc4x3_add1::IfcStructuralLoad::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcStructuralLoad::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcStructuralLoad::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3_add1::IfcStructuralLoad::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1090]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralLoad::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1090]); } Ifc4x3_add1::IfcStructuralLoad::IfcStructuralLoad(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_add1::IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralLoadCase -boost::optional< std::vector< double > /*[3:3]*/ > Ifc4x3_add1::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::vector< double > /*[3:3]*/ v = data_.get_attribute_value(10); return v; } +boost::optional< std::vector< double > /*[3:3]*/ > Ifc4x3_add1::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::vector< double > /*[3:3]*/ v = get_attribute_value(10); return v; } void Ifc4x3_add1::IfcStructuralLoadCase::setSelfWeightCoefficients(boost::optional< std::vector< double > /*[3:3]*/ > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add1::IfcStructuralLoadCase::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1091]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralLoadCase::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1091]); } Ifc4x3_add1::IfcStructuralLoadCase::IfcStructuralLoadCase(IfcEntityInstanceData&& e) : IfcStructuralLoadGroup(std::move(e)) { } -Ifc4x3_add1::IfcStructuralLoadCase::IfcStructuralLoadCase(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_add1::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(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add1::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add1::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); }; populate_derived(); } +Ifc4x3_add1::IfcStructuralLoadCase::IfcStructuralLoadCase(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_add1::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(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add1::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add1::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); }; populate_derived(); } // Function implementations for IfcStructuralLoadConfiguration -aggregate_of< ::Ifc4x3_add1::IfcStructuralLoadOrResult >::ptr Ifc4x3_add1::IfcStructuralLoadConfiguration::Values() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcStructuralLoadOrResult >(); } +aggregate_of< ::Ifc4x3_add1::IfcStructuralLoadOrResult >::ptr Ifc4x3_add1::IfcStructuralLoadConfiguration::Values() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcStructuralLoadOrResult >(); } void Ifc4x3_add1::IfcStructuralLoadConfiguration::setValues(aggregate_of< ::Ifc4x3_add1::IfcStructuralLoadOrResult >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::vector< std::vector< double > > > Ifc4x3_add1::IfcStructuralLoadConfiguration::Locations() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< std::vector< double > > v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< std::vector< double > > > Ifc4x3_add1::IfcStructuralLoadConfiguration::Locations() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< std::vector< double > > v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcStructuralLoadConfiguration::setLocations(boost::optional< std::vector< std::vector< double > > > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_add1::IfcStructuralLoadConfiguration::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1092]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralLoadConfiguration::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1092]); } Ifc4x3_add1::IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(IfcEntityInstanceData&& e) : IfcStructuralLoad(std::move(e)) { } -Ifc4x3_add1::IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_add1::IfcStructuralLoadOrResult >::ptr v2_Values, boost::optional< std::vector< std::vector< double > > > v3_Locations) : IfcStructuralLoad(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Values)->generalize()); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); }; populate_derived(); } +Ifc4x3_add1::IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_add1::IfcStructuralLoadOrResult >::ptr v2_Values, boost::optional< std::vector< std::vector< double > > > v3_Locations) : IfcStructuralLoad(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Values)->generalize()); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); }; populate_derived(); } // Function implementations for IfcStructuralLoadGroup -::Ifc4x3_add1::IfcLoadGroupTypeEnum::Value Ifc4x3_add1::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4x3_add1::IfcLoadGroupTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_add1::IfcLoadGroupTypeEnum::Value Ifc4x3_add1::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4x3_add1::IfcLoadGroupTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_add1::IfcStructuralLoadGroup::setPredefinedType(::Ifc4x3_add1::IfcLoadGroupTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_add1::IfcLoadGroupTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add1::IfcActionTypeEnum::Value Ifc4x3_add1::IfcStructuralLoadGroup::ActionType() const { return ::Ifc4x3_add1::IfcActionTypeEnum::FromString(data_.get_attribute_value(6)); } +::Ifc4x3_add1::IfcActionTypeEnum::Value Ifc4x3_add1::IfcStructuralLoadGroup::ActionType() const { return ::Ifc4x3_add1::IfcActionTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_add1::IfcStructuralLoadGroup::setActionType(::Ifc4x3_add1::IfcActionTypeEnum::Value v) { set_attribute_value(6, EnumerationReference(&::Ifc4x3_add1::IfcActionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_add1::IfcActionSourceTypeEnum::Value Ifc4x3_add1::IfcStructuralLoadGroup::ActionSource() const { return ::Ifc4x3_add1::IfcActionSourceTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_add1::IfcActionSourceTypeEnum::Value Ifc4x3_add1::IfcStructuralLoadGroup::ActionSource() const { return ::Ifc4x3_add1::IfcActionSourceTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add1::IfcStructuralLoadGroup::setActionSource(::Ifc4x3_add1::IfcActionSourceTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_add1::IfcActionSourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc4x3_add1::IfcStructuralLoadGroup::Coefficient() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_add1::IfcStructuralLoadGroup::Coefficient() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcStructuralLoadGroup::setCoefficient(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_add1::IfcStructuralLoadGroup::Purpose() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcStructuralLoadGroup::Purpose() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_add1::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } ::Ifc4x3_add1::IfcStructuralResultGroup::list::ptr Ifc4x3_add1::IfcStructuralLoadGroup::SourceOfResultGroup() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[1109], 6)->as(); } @@ -16286,27 +16286,27 @@ void Ifc4x3_add1::IfcStructuralLoadGroup::setPurpose(boost::optional< std::strin const IfcParse::entity& Ifc4x3_add1::IfcStructuralLoadGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1093]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralLoadGroup::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1093]); } Ifc4x3_add1::IfcStructuralLoadGroup::IfcStructuralLoadGroup(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x3_add1::IfcStructuralLoadGroup::IfcStructuralLoadGroup(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_add1::IfcActionSourceTypeEnum::Value v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose) : IfcGroup(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add1::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add1::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; populate_derived(); } +Ifc4x3_add1::IfcStructuralLoadGroup::IfcStructuralLoadGroup(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_add1::IfcActionSourceTypeEnum::Value v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add1::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add1::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; populate_derived(); } // Function implementations for IfcStructuralLoadLinearForce -boost::optional< double > Ifc4x3_add1::IfcStructuralLoadLinearForce::LinearForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_add1::IfcStructuralLoadLinearForce::LinearForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcStructuralLoadLinearForce::setLinearForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_add1::IfcStructuralLoadLinearForce::LinearForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add1::IfcStructuralLoadLinearForce::LinearForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcStructuralLoadLinearForce::setLinearForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_add1::IfcStructuralLoadLinearForce::LinearForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add1::IfcStructuralLoadLinearForce::LinearForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcStructuralLoadLinearForce::setLinearForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_add1::IfcStructuralLoadLinearForce::LinearMomentX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_add1::IfcStructuralLoadLinearForce::LinearMomentX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcStructuralLoadLinearForce::setLinearMomentX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_add1::IfcStructuralLoadLinearForce::LinearMomentY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_add1::IfcStructuralLoadLinearForce::LinearMomentY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcStructuralLoadLinearForce::setLinearMomentY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_add1::IfcStructuralLoadLinearForce::LinearMomentZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_add1::IfcStructuralLoadLinearForce::LinearMomentZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcStructuralLoadLinearForce::setLinearMomentZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_add1::IfcStructuralLoadLinearForce::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1094]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralLoadLinearForce::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1094]); } Ifc4x3_add1::IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3_add1::IfcStructuralLoadLinearForce::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) : IfcStructuralLoadStatic(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; populate_derived(); } +Ifc4x3_add1::IfcStructuralLoadLinearForce::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) : IfcStructuralLoadStatic(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadOrResult @@ -16314,81 +16314,81 @@ Ifc4x3_add1::IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(boost::o const IfcParse::entity& Ifc4x3_add1::IfcStructuralLoadOrResult::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1095]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralLoadOrResult::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1095]); } Ifc4x3_add1::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(IfcEntityInstanceData&& e) : IfcStructuralLoad(std::move(e)) { } -Ifc4x3_add1::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional< std::string > v1_Name) : IfcStructuralLoad(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_add1::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional< std::string > v1_Name) : IfcStructuralLoad(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralLoadPlanarForce -boost::optional< double > Ifc4x3_add1::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_add1::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcStructuralLoadPlanarForce::setPlanarForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_add1::IfcStructuralLoadPlanarForce::PlanarForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add1::IfcStructuralLoadPlanarForce::PlanarForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcStructuralLoadPlanarForce::setPlanarForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_add1::IfcStructuralLoadPlanarForce::PlanarForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add1::IfcStructuralLoadPlanarForce::PlanarForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcStructuralLoadPlanarForce::setPlanarForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_add1::IfcStructuralLoadPlanarForce::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1096]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralLoadPlanarForce::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1096]); } Ifc4x3_add1::IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3_add1::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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; populate_derived(); } +Ifc4x3_add1::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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleDisplacement -boost::optional< double > Ifc4x3_add1::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_add1::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcStructuralLoadSingleDisplacement::setDisplacementX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_add1::IfcStructuralLoadSingleDisplacement::DisplacementY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add1::IfcStructuralLoadSingleDisplacement::DisplacementY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcStructuralLoadSingleDisplacement::setDisplacementY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_add1::IfcStructuralLoadSingleDisplacement::DisplacementZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add1::IfcStructuralLoadSingleDisplacement::DisplacementZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcStructuralLoadSingleDisplacement::setDisplacementZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_add1::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_add1::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_add1::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_add1::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_add1::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_add1::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_add1::IfcStructuralLoadSingleDisplacement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1097]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralLoadSingleDisplacement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1097]); } Ifc4x3_add1::IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3_add1::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; populate_derived(); } +Ifc4x3_add1::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleDisplacementDistortion -boost::optional< double > Ifc4x3_add1::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add1::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_add1::IfcStructuralLoadSingleDisplacementDistortion::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1098]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralLoadSingleDisplacementDistortion::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1098]); } Ifc4x3_add1::IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDisplacementDistortion(IfcEntityInstanceData&& e) : IfcStructuralLoadSingleDisplacement(std::move(e)) { } -Ifc4x3_add1::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(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; populate_derived(); } +Ifc4x3_add1::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(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleForce -boost::optional< double > Ifc4x3_add1::IfcStructuralLoadSingleForce::ForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_add1::IfcStructuralLoadSingleForce::ForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcStructuralLoadSingleForce::setForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_add1::IfcStructuralLoadSingleForce::ForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add1::IfcStructuralLoadSingleForce::ForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcStructuralLoadSingleForce::setForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_add1::IfcStructuralLoadSingleForce::ForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add1::IfcStructuralLoadSingleForce::ForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcStructuralLoadSingleForce::setForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_add1::IfcStructuralLoadSingleForce::MomentX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_add1::IfcStructuralLoadSingleForce::MomentX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcStructuralLoadSingleForce::setMomentX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_add1::IfcStructuralLoadSingleForce::MomentY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_add1::IfcStructuralLoadSingleForce::MomentY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcStructuralLoadSingleForce::setMomentY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_add1::IfcStructuralLoadSingleForce::MomentZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_add1::IfcStructuralLoadSingleForce::MomentZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcStructuralLoadSingleForce::setMomentZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_add1::IfcStructuralLoadSingleForce::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1099]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralLoadSingleForce::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1099]); } Ifc4x3_add1::IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3_add1::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; populate_derived(); } +Ifc4x3_add1::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleForceWarping -boost::optional< double > Ifc4x3_add1::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add1::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcStructuralLoadSingleForceWarping::setWarpingMoment(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_add1::IfcStructuralLoadSingleForceWarping::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1100]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralLoadSingleForceWarping::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1100]); } Ifc4x3_add1::IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWarping(IfcEntityInstanceData&& e) : IfcStructuralLoadSingleForce(std::move(e)) { } -Ifc4x3_add1::IfcStructuralLoadSingleForceWarping::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) : IfcStructuralLoadSingleForce(IfcEntityInstanceData(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; populate_derived(); } +Ifc4x3_add1::IfcStructuralLoadSingleForceWarping::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) : IfcStructuralLoadSingleForce(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; populate_derived(); } // Function implementations for IfcStructuralLoadStatic @@ -16396,21 +16396,21 @@ Ifc4x3_add1::IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWa const IfcParse::entity& Ifc4x3_add1::IfcStructuralLoadStatic::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1101]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralLoadStatic::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1101]); } Ifc4x3_add1::IfcStructuralLoadStatic::IfcStructuralLoadStatic(IfcEntityInstanceData&& e) : IfcStructuralLoadOrResult(std::move(e)) { } -Ifc4x3_add1::IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< std::string > v1_Name) : IfcStructuralLoadOrResult(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_add1::IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< std::string > v1_Name) : IfcStructuralLoadOrResult(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralLoadTemperature -boost::optional< double > Ifc4x3_add1::IfcStructuralLoadTemperature::DeltaTConstant() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_add1::IfcStructuralLoadTemperature::DeltaTConstant() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcStructuralLoadTemperature::setDeltaTConstant(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_add1::IfcStructuralLoadTemperature::DeltaTY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add1::IfcStructuralLoadTemperature::DeltaTY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcStructuralLoadTemperature::setDeltaTY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_add1::IfcStructuralLoadTemperature::DeltaTZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add1::IfcStructuralLoadTemperature::DeltaTZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcStructuralLoadTemperature::setDeltaTZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_add1::IfcStructuralLoadTemperature::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1102]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralLoadTemperature::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1102]); } Ifc4x3_add1::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3_add1::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::optional< std::string > v1_Name, boost::optional< double > v2_DeltaTConstant, boost::optional< double > v3_DeltaTY, boost::optional< double > v4_DeltaTZ) : IfcStructuralLoadStatic(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); }; populate_derived(); } +Ifc4x3_add1::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::optional< std::string > v1_Name, boost::optional< double > v2_DeltaTConstant, boost::optional< double > v3_DeltaTY, boost::optional< double > v4_DeltaTZ) : IfcStructuralLoadStatic(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); }; populate_derived(); } // Function implementations for IfcStructuralMember @@ -16419,7 +16419,7 @@ Ifc4x3_add1::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::o const IfcParse::entity& Ifc4x3_add1::IfcStructuralMember::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1103]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralMember::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1103]); } Ifc4x3_add1::IfcStructuralMember::IfcStructuralMember(IfcEntityInstanceData&& e) : IfcStructuralItem(std::move(e)) { } -Ifc4x3_add1::IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation) : IfcStructuralItem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation) : IfcStructuralItem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralPlanarAction @@ -16427,7 +16427,7 @@ Ifc4x3_add1::IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, : const IfcParse::entity& Ifc4x3_add1::IfcStructuralPlanarAction::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1104]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralPlanarAction::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1104]); } Ifc4x3_add1::IfcStructuralPlanarAction::IfcStructuralPlanarAction(IfcEntityInstanceData&& e) : IfcStructuralSurfaceAction(std::move(e)) { } -Ifc4x3_add1::IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralSurfaceAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralSurfaceAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralPointAction @@ -16435,17 +16435,17 @@ Ifc4x3_add1::IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1 const IfcParse::entity& Ifc4x3_add1::IfcStructuralPointAction::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1105]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralPointAction::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1105]); } Ifc4x3_add1::IfcStructuralPointAction::IfcStructuralPointAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -Ifc4x3_add1::IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralAction(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } +Ifc4x3_add1::IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralAction(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } // Function implementations for IfcStructuralPointConnection -::Ifc4x3_add1::IfcAxis2Placement3D* Ifc4x3_add1::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_add1::IfcAxis2Placement3D>(true); } +::Ifc4x3_add1::IfcAxis2Placement3D* Ifc4x3_add1::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_add1::IfcAxis2Placement3D>(true); } void Ifc4x3_add1::IfcStructuralPointConnection::setConditionCoordinateSystem(::Ifc4x3_add1::IfcAxis2Placement3D* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralPointConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1106]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralPointConnection::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1106]); } Ifc4x3_add1::IfcStructuralPointConnection::IfcStructuralPointConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -Ifc4x3_add1::IfcStructuralPointConnection::IfcStructuralPointConnection(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x3_add1::IfcAxis2Placement3D* v9_ConditionCoordinateSystem) : IfcStructuralConnection(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_ConditionCoordinateSystem ? v9_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcStructuralPointConnection::IfcStructuralPointConnection(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x3_add1::IfcAxis2Placement3D* v9_ConditionCoordinateSystem) : IfcStructuralConnection(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_ConditionCoordinateSystem ? v9_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralPointReaction @@ -16453,7 +16453,7 @@ Ifc4x3_add1::IfcStructuralPointConnection::IfcStructuralPointConnection(std::str const IfcParse::entity& Ifc4x3_add1::IfcStructuralPointReaction::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1107]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralPointReaction::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1107]); } Ifc4x3_add1::IfcStructuralPointReaction::IfcStructuralPointReaction(IfcEntityInstanceData&& e) : IfcStructuralReaction(std::move(e)) { } -Ifc4x3_add1::IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralReaction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +Ifc4x3_add1::IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralReaction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralReaction @@ -16461,14 +16461,14 @@ Ifc4x3_add1::IfcStructuralPointReaction::IfcStructuralPointReaction(std::string const IfcParse::entity& Ifc4x3_add1::IfcStructuralReaction::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1108]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralReaction::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1108]); } Ifc4x3_add1::IfcStructuralReaction::IfcStructuralReaction(IfcEntityInstanceData&& e) : IfcStructuralActivity(std::move(e)) { } -Ifc4x3_add1::IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralActivity(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +Ifc4x3_add1::IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralActivity(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralResultGroup -::Ifc4x3_add1::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_add1::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x3_add1::IfcAnalysisTheoryTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_add1::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_add1::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x3_add1::IfcAnalysisTheoryTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_add1::IfcStructuralResultGroup::setTheoryType(::Ifc4x3_add1::IfcAnalysisTheoryTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_add1::IfcAnalysisTheoryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add1::IfcStructuralLoadGroup* Ifc4x3_add1::IfcStructuralResultGroup::ResultForLoadGroup() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add1::IfcStructuralLoadGroup>(true); } +::Ifc4x3_add1::IfcStructuralLoadGroup* Ifc4x3_add1::IfcStructuralResultGroup::ResultForLoadGroup() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add1::IfcStructuralLoadGroup>(true); } void Ifc4x3_add1::IfcStructuralResultGroup::setResultForLoadGroup(::Ifc4x3_add1::IfcStructuralLoadGroup* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -bool Ifc4x3_add1::IfcStructuralResultGroup::IsLinear() const { bool v = data_.get_attribute_value(7); return v; } +bool Ifc4x3_add1::IfcStructuralResultGroup::IsLinear() const { bool v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcStructuralResultGroup::setIsLinear(bool v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_add1::IfcStructuralAnalysisModel::list::ptr Ifc4x3_add1::IfcStructuralResultGroup::ResultGroupFor() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[1078], 8)->as(); } @@ -16476,19 +16476,19 @@ void Ifc4x3_add1::IfcStructuralResultGroup::setIsLinear(bool v) { set_attribute_ const IfcParse::entity& Ifc4x3_add1::IfcStructuralResultGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1109]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralResultGroup::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1109]); } Ifc4x3_add1::IfcStructuralResultGroup::IfcStructuralResultGroup(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x3_add1::IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_add1::IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear) : IfcGroup(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add1::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, v7_ResultForLoadGroup ? v7_ResultForLoadGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_IsLinear));; populate_derived(); } +Ifc4x3_add1::IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_add1::IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add1::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, v7_ResultForLoadGroup ? v7_ResultForLoadGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_IsLinear));; populate_derived(); } // Function implementations for IfcStructuralSurfaceAction -boost::optional< ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_add1::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_add1::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add1::IfcStructuralSurfaceAction::setProjectedOrTrue(boost::optional< ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_add1::IfcStructuralSurfaceAction::PredefinedType() const { return ::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_add1::IfcStructuralSurfaceAction::PredefinedType() const { return ::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_add1::IfcStructuralSurfaceAction::setPredefinedType(::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralSurfaceAction::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1110]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralSurfaceAction::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1110]); } Ifc4x3_add1::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -Ifc4x3_add1::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralSurfaceConnection @@ -16496,19 +16496,19 @@ Ifc4x3_add1::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(std::string const IfcParse::entity& Ifc4x3_add1::IfcStructuralSurfaceConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1112]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralSurfaceConnection::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1112]); } Ifc4x3_add1::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -Ifc4x3_add1::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralSurfaceMember -::Ifc4x3_add1::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_add1::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x3_add1::IfcStructuralSurfaceMemberTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_add1::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_add1::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x3_add1::IfcStructuralSurfaceMemberTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add1::IfcStructuralSurfaceMember::setPredefinedType(::Ifc4x3_add1::IfcStructuralSurfaceMemberTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_add1::IfcStructuralSurfaceMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc4x3_add1::IfcStructuralSurfaceMember::Thickness() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_add1::IfcStructuralSurfaceMember::Thickness() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcStructuralSurfaceMember::setThickness(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcStructuralSurfaceMember::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1113]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralSurfaceMember::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1113]); } Ifc4x3_add1::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(IfcEntityInstanceData&& e) : IfcStructuralMember(std::move(e)) { } -Ifc4x3_add1::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } +Ifc4x3_add1::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } // Function implementations for IfcStructuralSurfaceMemberVarying @@ -16516,17 +16516,17 @@ Ifc4x3_add1::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string const IfcParse::entity& Ifc4x3_add1::IfcStructuralSurfaceMemberVarying::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1115]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralSurfaceMemberVarying::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1115]); } Ifc4x3_add1::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(IfcEntityInstanceData&& e) : IfcStructuralSurfaceMember(std::move(e)) { } -Ifc4x3_add1::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralSurfaceMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } +Ifc4x3_add1::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralSurfaceMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add1::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } // Function implementations for IfcStructuralSurfaceReaction -::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_add1::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_add1::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcStructuralSurfaceReaction::setPredefinedType(::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralSurfaceReaction::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1116]); } const IfcParse::entity& Ifc4x3_add1::IfcStructuralSurfaceReaction::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1116]); } Ifc4x3_add1::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(IfcEntityInstanceData&& e) : IfcStructuralReaction(std::move(e)) { } -Ifc4x3_add1::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStyleModel @@ -16534,21 +16534,21 @@ Ifc4x3_add1::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(std::str const IfcParse::entity& Ifc4x3_add1::IfcStyleModel::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1119]); } const IfcParse::entity& Ifc4x3_add1::IfcStyleModel::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1119]); } Ifc4x3_add1::IfcStyleModel::IfcStyleModel(IfcEntityInstanceData&& e) : IfcRepresentation(std::move(e)) { } -Ifc4x3_add1::IfcStyleModel::IfcStyleModel(::Ifc4x3_add1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_add1::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcStyleModel::IfcStyleModel(::Ifc4x3_add1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_add1::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcStyledItem -::Ifc4x3_add1::IfcRepresentationItem* Ifc4x3_add1::IfcStyledItem::Item() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcRepresentationItem>(true); } +::Ifc4x3_add1::IfcRepresentationItem* Ifc4x3_add1::IfcStyledItem::Item() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcRepresentationItem>(true); } void Ifc4x3_add1::IfcStyledItem::setItem(::Ifc4x3_add1::IfcRepresentationItem* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_add1::IfcPresentationStyle >::ptr Ifc4x3_add1::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcPresentationStyle >(); } +aggregate_of< ::Ifc4x3_add1::IfcPresentationStyle >::ptr Ifc4x3_add1::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcPresentationStyle >(); } void Ifc4x3_add1::IfcStyledItem::setStyles(aggregate_of< ::Ifc4x3_add1::IfcPresentationStyle >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_add1::IfcStyledItem::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcStyledItem::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcStyledItem::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_add1::IfcStyledItem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1117]); } const IfcParse::entity& Ifc4x3_add1::IfcStyledItem::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1117]); } Ifc4x3_add1::IfcStyledItem::IfcStyledItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcStyledItem::IfcStyledItem(::Ifc4x3_add1::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x3_add1::IfcPresentationStyle >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3_add1::IfcStyledItem::IfcStyledItem(::Ifc4x3_add1::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x3_add1::IfcPresentationStyle >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcStyledRepresentation @@ -16556,37 +16556,37 @@ Ifc4x3_add1::IfcStyledItem::IfcStyledItem(::Ifc4x3_add1::IfcRepresentationItem* const IfcParse::entity& Ifc4x3_add1::IfcStyledRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1118]); } const IfcParse::entity& Ifc4x3_add1::IfcStyledRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1118]); } Ifc4x3_add1::IfcStyledRepresentation::IfcStyledRepresentation(IfcEntityInstanceData&& e) : IfcStyleModel(std::move(e)) { } -Ifc4x3_add1::IfcStyledRepresentation::IfcStyledRepresentation(::Ifc4x3_add1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_add1::IfcRepresentationItem >::ptr v4_Items) : IfcStyleModel(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcStyledRepresentation::IfcStyledRepresentation(::Ifc4x3_add1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_add1::IfcRepresentationItem >::ptr v4_Items) : IfcStyleModel(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcSubContractResource -boost::optional< ::Ifc4x3_add1::IfcSubContractResourceTypeEnum::Value > Ifc4x3_add1::IfcSubContractResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSubContractResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add1::IfcSubContractResourceTypeEnum::Value > Ifc4x3_add1::IfcSubContractResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add1::IfcSubContractResource::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcSubContractResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add1::IfcSubContractResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add1::IfcSubContractResource::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1120]); } const IfcParse::entity& Ifc4x3_add1::IfcSubContractResource::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1120]); } Ifc4x3_add1::IfcSubContractResource::IfcSubContractResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_add1::IfcSubContractResource::IfcSubContractResource(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_add1::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcSubContractResource::IfcSubContractResource(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_add1::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSubContractResourceType -::Ifc4x3_add1::IfcSubContractResourceTypeEnum::Value Ifc4x3_add1::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4x3_add1::IfcSubContractResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_add1::IfcSubContractResourceTypeEnum::Value Ifc4x3_add1::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4x3_add1::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_add1::IfcSubContractResourceType::setPredefinedType(::Ifc4x3_add1::IfcSubContractResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_add1::IfcSubContractResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_add1::IfcSubContractResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1121]); } const IfcParse::entity& Ifc4x3_add1::IfcSubContractResourceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1121]); } Ifc4x3_add1::IfcSubContractResourceType::IfcSubContractResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_add1::IfcSubContractResourceType::IfcSubContractResourceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::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_add1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_add1::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add1::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcSubContractResourceType::IfcSubContractResourceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::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_add1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_add1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_add1::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add1::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcSubedge -::Ifc4x3_add1::IfcEdge* Ifc4x3_add1::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcEdge>(true); } +::Ifc4x3_add1::IfcEdge* Ifc4x3_add1::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcEdge>(true); } void Ifc4x3_add1::IfcSubedge::setParentEdge(::Ifc4x3_add1::IfcEdge* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcSubedge::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1123]); } const IfcParse::entity& Ifc4x3_add1::IfcSubedge::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1123]); } Ifc4x3_add1::IfcSubedge::IfcSubedge(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc4x3_add1::IfcSubedge::IfcSubedge(::Ifc4x3_add1::IfcVertex* v1_EdgeStart, ::Ifc4x3_add1::IfcVertex* v2_EdgeEnd, ::Ifc4x3_add1::IfcEdge* v3_ParentEdge) : IfcEdge(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ParentEdge ? v3_ParentEdge->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcSubedge::IfcSubedge(::Ifc4x3_add1::IfcVertex* v1_EdgeStart, ::Ifc4x3_add1::IfcVertex* v2_EdgeEnd, ::Ifc4x3_add1::IfcEdge* v3_ParentEdge) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ParentEdge ? v3_ParentEdge->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurface @@ -16594,34 +16594,34 @@ Ifc4x3_add1::IfcSubedge::IfcSubedge(::Ifc4x3_add1::IfcVertex* v1_EdgeStart, ::If const IfcParse::entity& Ifc4x3_add1::IfcSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1124]); } const IfcParse::entity& Ifc4x3_add1::IfcSurface::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1124]); } Ifc4x3_add1::IfcSurface::IfcSurface(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcSurface::IfcSurface() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add1::IfcSurface::IfcSurface() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcSurfaceCurve -::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCurve>(true); } +::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCurve>(true); } void Ifc4x3_add1::IfcSurfaceCurve::setCurve3D(::Ifc4x3_add1::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_add1::IfcPcurve >::ptr Ifc4x3_add1::IfcSurfaceCurve::AssociatedGeometry() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcPcurve >(); } +aggregate_of< ::Ifc4x3_add1::IfcPcurve >::ptr Ifc4x3_add1::IfcSurfaceCurve::AssociatedGeometry() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcPcurve >(); } void Ifc4x3_add1::IfcSurfaceCurve::setAssociatedGeometry(aggregate_of< ::Ifc4x3_add1::IfcPcurve >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x3_add1::IfcSurfaceCurve::MasterRepresentation() const { return ::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::FromString(data_.get_attribute_value(2)); } +::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x3_add1::IfcSurfaceCurve::MasterRepresentation() const { return ::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::FromString(get_attribute_value(2)); } void Ifc4x3_add1::IfcSurfaceCurve::setMasterRepresentation(::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcSurfaceCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1125]); } const IfcParse::entity& Ifc4x3_add1::IfcSurfaceCurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1125]); } Ifc4x3_add1::IfcSurfaceCurve::IfcSurfaceCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_add1::IfcSurfaceCurve::IfcSurfaceCurve(::Ifc4x3_add1::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_add1::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } +Ifc4x3_add1::IfcSurfaceCurve::IfcSurfaceCurve(::Ifc4x3_add1::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_add1::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcSurfaceCurveSweptAreaSolid -::Ifc4x3_add1::IfcSurface* Ifc4x3_add1::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcSurface>(true); } +::Ifc4x3_add1::IfcSurface* Ifc4x3_add1::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcSurface>(true); } void Ifc4x3_add1::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(::Ifc4x3_add1::IfcSurface* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcSurfaceCurveSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1126]); } const IfcParse::entity& Ifc4x3_add1::IfcSurfaceCurveSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1126]); } Ifc4x3_add1::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(IfcEntityInstanceData&& e) : IfcDirectrixCurveSweptAreaSolid(std::move(e)) { } -Ifc4x3_add1::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(::Ifc4x3_add1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add1::IfcCurve* v3_Directrix, ::Ifc4x3_add1::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_add1::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3_add1::IfcSurface* v6_ReferenceSurface) : IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReferenceSurface ? v6_ReferenceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(::Ifc4x3_add1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add1::IfcCurve* v3_Directrix, ::Ifc4x3_add1::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_add1::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3_add1::IfcSurface* v6_ReferenceSurface) : IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReferenceSurface ? v6_ReferenceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceFeature -boost::optional< ::Ifc4x3_add1::IfcSurfaceFeatureTypeEnum::Value > Ifc4x3_add1::IfcSurfaceFeature::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSurfaceFeatureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcSurfaceFeatureTypeEnum::Value > Ifc4x3_add1::IfcSurfaceFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSurfaceFeatureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcSurfaceFeature::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcSurfaceFeatureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcSurfaceFeatureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x3_add1::IfcRelAdheresToElement::list::ptr Ifc4x3_add1::IfcSurfaceFeature::AdheresToElement() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[898], 5)->as(); } @@ -16629,138 +16629,138 @@ void Ifc4x3_add1::IfcSurfaceFeature::setPredefinedType(boost::optional< ::Ifc4x3 const IfcParse::entity& Ifc4x3_add1::IfcSurfaceFeature::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1127]); } const IfcParse::entity& Ifc4x3_add1::IfcSurfaceFeature::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1127]); } Ifc4x3_add1::IfcSurfaceFeature::IfcSurfaceFeature(IfcEntityInstanceData&& e) : IfcFeatureElement(std::move(e)) { } -Ifc4x3_add1::IfcSurfaceFeature::IfcSurfaceFeature(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcSurfaceFeature::IfcSurfaceFeature(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSurfaceOfLinearExtrusion -::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcDirection>(true); } +::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcDirection>(true); } void Ifc4x3_add1::IfcSurfaceOfLinearExtrusion::setExtrudedDirection(::Ifc4x3_add1::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_add1::IfcSurfaceOfLinearExtrusion::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add1::IfcSurfaceOfLinearExtrusion::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcSurfaceOfLinearExtrusion::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcSurfaceOfLinearExtrusion::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1129]); } const IfcParse::entity& Ifc4x3_add1::IfcSurfaceOfLinearExtrusion::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1129]); } Ifc4x3_add1::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(IfcEntityInstanceData&& e) : IfcSweptSurface(std::move(e)) { } -Ifc4x3_add1::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(::Ifc4x3_add1::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_add1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add1::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } +Ifc4x3_add1::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(::Ifc4x3_add1::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_add1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add1::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } // Function implementations for IfcSurfaceOfRevolution -::Ifc4x3_add1::IfcAxis1Placement* Ifc4x3_add1::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcAxis1Placement>(true); } +::Ifc4x3_add1::IfcAxis1Placement* Ifc4x3_add1::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcAxis1Placement>(true); } void Ifc4x3_add1::IfcSurfaceOfRevolution::setAxisPosition(::Ifc4x3_add1::IfcAxis1Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcSurfaceOfRevolution::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1130]); } const IfcParse::entity& Ifc4x3_add1::IfcSurfaceOfRevolution::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1130]); } Ifc4x3_add1::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(IfcEntityInstanceData&& e) : IfcSweptSurface(std::move(e)) { } -Ifc4x3_add1::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(::Ifc4x3_add1::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_add1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add1::IfcAxis1Placement* v3_AxisPosition) : IfcSweptSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_AxisPosition ? v3_AxisPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(::Ifc4x3_add1::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_add1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add1::IfcAxis1Placement* v3_AxisPosition) : IfcSweptSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_AxisPosition ? v3_AxisPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceReinforcementArea -boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_add1::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_add1::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcSurfaceReinforcementArea::setSurfaceReinforcement1(boost::optional< std::vector< double > /*[2:3]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_add1::IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_add1::IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcSurfaceReinforcementArea::setSurfaceReinforcement2(boost::optional< std::vector< double > /*[2:3]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_add1::IfcSurfaceReinforcementArea::ShearReinforcement() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add1::IfcSurfaceReinforcementArea::ShearReinforcement() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcSurfaceReinforcementArea::setShearReinforcement(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_add1::IfcSurfaceReinforcementArea::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1132]); } const IfcParse::entity& Ifc4x3_add1::IfcSurfaceReinforcementArea::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1132]); } Ifc4x3_add1::IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(IfcEntityInstanceData&& e) : IfcStructuralLoadOrResult(std::move(e)) { } -Ifc4x3_add1::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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); }; populate_derived(); } +Ifc4x3_add1::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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); }; populate_derived(); } // Function implementations for IfcSurfaceStyle -::Ifc4x3_add1::IfcSurfaceSide::Value Ifc4x3_add1::IfcSurfaceStyle::Side() const { return ::Ifc4x3_add1::IfcSurfaceSide::FromString(data_.get_attribute_value(1)); } +::Ifc4x3_add1::IfcSurfaceSide::Value Ifc4x3_add1::IfcSurfaceStyle::Side() const { return ::Ifc4x3_add1::IfcSurfaceSide::FromString(get_attribute_value(1)); } void Ifc4x3_add1::IfcSurfaceStyle::setSide(::Ifc4x3_add1::IfcSurfaceSide::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x3_add1::IfcSurfaceSide::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3_add1::IfcSurfaceStyleElementSelect >::ptr Ifc4x3_add1::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcSurfaceStyleElementSelect >(); } +aggregate_of< ::Ifc4x3_add1::IfcSurfaceStyleElementSelect >::ptr Ifc4x3_add1::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcSurfaceStyleElementSelect >(); } void Ifc4x3_add1::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x3_add1::IfcSurfaceStyleElementSelect >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcSurfaceStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1134]); } const IfcParse::entity& Ifc4x3_add1::IfcSurfaceStyle::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1134]); } Ifc4x3_add1::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x3_add1::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_add1::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add1::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, (v3_Styles)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_add1::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add1::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, (v3_Styles)->generalize());; populate_derived(); } // Function implementations for IfcSurfaceStyleLighting -::Ifc4x3_add1::IfcColourRgb* Ifc4x3_add1::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcColourRgb>(true); } +::Ifc4x3_add1::IfcColourRgb* Ifc4x3_add1::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcColourRgb>(true); } void Ifc4x3_add1::IfcSurfaceStyleLighting::setDiffuseTransmissionColour(::Ifc4x3_add1::IfcColourRgb* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add1::IfcColourRgb* Ifc4x3_add1::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcColourRgb>(true); } +::Ifc4x3_add1::IfcColourRgb* Ifc4x3_add1::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcColourRgb>(true); } void Ifc4x3_add1::IfcSurfaceStyleLighting::setDiffuseReflectionColour(::Ifc4x3_add1::IfcColourRgb* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add1::IfcColourRgb* Ifc4x3_add1::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcColourRgb>(true); } +::Ifc4x3_add1::IfcColourRgb* Ifc4x3_add1::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcColourRgb>(true); } void Ifc4x3_add1::IfcSurfaceStyleLighting::setTransmissionColour(::Ifc4x3_add1::IfcColourRgb* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add1::IfcColourRgb* Ifc4x3_add1::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcColourRgb>(true); } +::Ifc4x3_add1::IfcColourRgb* Ifc4x3_add1::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcColourRgb>(true); } void Ifc4x3_add1::IfcSurfaceStyleLighting::setReflectanceColour(::Ifc4x3_add1::IfcColourRgb* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add1::IfcSurfaceStyleLighting::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1136]); } const IfcParse::entity& Ifc4x3_add1::IfcSurfaceStyleLighting::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1136]); } Ifc4x3_add1::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(::Ifc4x3_add1::IfcColourRgb* v1_DiffuseTransmissionColour, ::Ifc4x3_add1::IfcColourRgb* v2_DiffuseReflectionColour, ::Ifc4x3_add1::IfcColourRgb* v3_TransmissionColour, ::Ifc4x3_add1::IfcColourRgb* v4_ReflectanceColour) : IfcPresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_DiffuseTransmissionColour ? v1_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_DiffuseReflectionColour ? v2_DiffuseReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TransmissionColour ? v3_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_ReflectanceColour ? v4_ReflectanceColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(::Ifc4x3_add1::IfcColourRgb* v1_DiffuseTransmissionColour, ::Ifc4x3_add1::IfcColourRgb* v2_DiffuseReflectionColour, ::Ifc4x3_add1::IfcColourRgb* v3_TransmissionColour, ::Ifc4x3_add1::IfcColourRgb* v4_ReflectanceColour) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_DiffuseTransmissionColour ? v1_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_DiffuseReflectionColour ? v2_DiffuseReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TransmissionColour ? v3_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_ReflectanceColour ? v4_ReflectanceColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceStyleRefraction -boost::optional< double > Ifc4x3_add1::IfcSurfaceStyleRefraction::RefractionIndex() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } double v = data_.get_attribute_value(0); return v; } +boost::optional< double > Ifc4x3_add1::IfcSurfaceStyleRefraction::RefractionIndex() const { if(get_attribute_value(0).isNull()) { return boost::none; } double v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcSurfaceStyleRefraction::setRefractionIndex(boost::optional< double > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< double > Ifc4x3_add1::IfcSurfaceStyleRefraction::DispersionFactor() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_add1::IfcSurfaceStyleRefraction::DispersionFactor() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcSurfaceStyleRefraction::setDispersionFactor(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_add1::IfcSurfaceStyleRefraction::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1137]); } const IfcParse::entity& Ifc4x3_add1::IfcSurfaceStyleRefraction::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1137]); } Ifc4x3_add1::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; populate_derived(); } +Ifc4x3_add1::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; populate_derived(); } // Function implementations for IfcSurfaceStyleRendering -::Ifc4x3_add1::IfcColourOrFactor* Ifc4x3_add1::IfcSurfaceStyleRendering::DiffuseColour() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcColourOrFactor>(true); } +::Ifc4x3_add1::IfcColourOrFactor* Ifc4x3_add1::IfcSurfaceStyleRendering::DiffuseColour() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcColourOrFactor>(true); } void Ifc4x3_add1::IfcSurfaceStyleRendering::setDiffuseColour(::Ifc4x3_add1::IfcColourOrFactor* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add1::IfcColourOrFactor* Ifc4x3_add1::IfcSurfaceStyleRendering::TransmissionColour() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcColourOrFactor>(true); } +::Ifc4x3_add1::IfcColourOrFactor* Ifc4x3_add1::IfcSurfaceStyleRendering::TransmissionColour() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcColourOrFactor>(true); } void Ifc4x3_add1::IfcSurfaceStyleRendering::setTransmissionColour(::Ifc4x3_add1::IfcColourOrFactor* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add1::IfcColourOrFactor* Ifc4x3_add1::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcColourOrFactor>(true); } +::Ifc4x3_add1::IfcColourOrFactor* Ifc4x3_add1::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcColourOrFactor>(true); } void Ifc4x3_add1::IfcSurfaceStyleRendering::setDiffuseTransmissionColour(::Ifc4x3_add1::IfcColourOrFactor* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add1::IfcColourOrFactor* Ifc4x3_add1::IfcSurfaceStyleRendering::ReflectionColour() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcColourOrFactor>(true); } +::Ifc4x3_add1::IfcColourOrFactor* Ifc4x3_add1::IfcSurfaceStyleRendering::ReflectionColour() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcColourOrFactor>(true); } void Ifc4x3_add1::IfcSurfaceStyleRendering::setReflectionColour(::Ifc4x3_add1::IfcColourOrFactor* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add1::IfcColourOrFactor* Ifc4x3_add1::IfcSurfaceStyleRendering::SpecularColour() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add1::IfcColourOrFactor>(true); } +::Ifc4x3_add1::IfcColourOrFactor* Ifc4x3_add1::IfcSurfaceStyleRendering::SpecularColour() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add1::IfcColourOrFactor>(true); } void Ifc4x3_add1::IfcSurfaceStyleRendering::setSpecularColour(::Ifc4x3_add1::IfcColourOrFactor* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_add1::IfcSpecularHighlightSelect* Ifc4x3_add1::IfcSurfaceStyleRendering::SpecularHighlight() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_add1::IfcSpecularHighlightSelect>(true); } +::Ifc4x3_add1::IfcSpecularHighlightSelect* Ifc4x3_add1::IfcSurfaceStyleRendering::SpecularHighlight() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_add1::IfcSpecularHighlightSelect>(true); } void Ifc4x3_add1::IfcSurfaceStyleRendering::setSpecularHighlight(::Ifc4x3_add1::IfcSpecularHighlightSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_add1::IfcReflectanceMethodEnum::Value Ifc4x3_add1::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4x3_add1::IfcReflectanceMethodEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_add1::IfcReflectanceMethodEnum::Value Ifc4x3_add1::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4x3_add1::IfcReflectanceMethodEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcSurfaceStyleRendering::setReflectanceMethod(::Ifc4x3_add1::IfcReflectanceMethodEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcReflectanceMethodEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_add1::IfcSurfaceStyleRendering::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1138]); } const IfcParse::entity& Ifc4x3_add1::IfcSurfaceStyleRendering::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1138]); } Ifc4x3_add1::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcEntityInstanceData&& e) : IfcSurfaceStyleShading(std::move(e)) { } -Ifc4x3_add1::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc4x3_add1::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, ::Ifc4x3_add1::IfcColourOrFactor* v3_DiffuseColour, ::Ifc4x3_add1::IfcColourOrFactor* v4_TransmissionColour, ::Ifc4x3_add1::IfcColourOrFactor* v5_DiffuseTransmissionColour, ::Ifc4x3_add1::IfcColourOrFactor* v6_ReflectionColour, ::Ifc4x3_add1::IfcColourOrFactor* v7_SpecularColour, ::Ifc4x3_add1::IfcSpecularHighlightSelect* v8_SpecularHighlight, ::Ifc4x3_add1::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) : IfcSurfaceStyleShading(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, v3_DiffuseColour ? v3_DiffuseColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TransmissionColour ? v4_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_DiffuseTransmissionColour ? v5_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReflectionColour ? v6_ReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_SpecularColour ? v7_SpecularColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_SpecularHighlight ? v8_SpecularHighlight->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; populate_derived(); } +Ifc4x3_add1::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc4x3_add1::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, ::Ifc4x3_add1::IfcColourOrFactor* v3_DiffuseColour, ::Ifc4x3_add1::IfcColourOrFactor* v4_TransmissionColour, ::Ifc4x3_add1::IfcColourOrFactor* v5_DiffuseTransmissionColour, ::Ifc4x3_add1::IfcColourOrFactor* v6_ReflectionColour, ::Ifc4x3_add1::IfcColourOrFactor* v7_SpecularColour, ::Ifc4x3_add1::IfcSpecularHighlightSelect* v8_SpecularHighlight, ::Ifc4x3_add1::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) : IfcSurfaceStyleShading(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, v3_DiffuseColour ? v3_DiffuseColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TransmissionColour ? v4_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_DiffuseTransmissionColour ? v5_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReflectionColour ? v6_ReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_SpecularColour ? v7_SpecularColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_SpecularHighlight ? v8_SpecularHighlight->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; populate_derived(); } // Function implementations for IfcSurfaceStyleShading -::Ifc4x3_add1::IfcColourRgb* Ifc4x3_add1::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcColourRgb>(true); } +::Ifc4x3_add1::IfcColourRgb* Ifc4x3_add1::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcColourRgb>(true); } void Ifc4x3_add1::IfcSurfaceStyleShading::setSurfaceColour(::Ifc4x3_add1::IfcColourRgb* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< double > Ifc4x3_add1::IfcSurfaceStyleShading::Transparency() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_add1::IfcSurfaceStyleShading::Transparency() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcSurfaceStyleShading::setTransparency(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_add1::IfcSurfaceStyleShading::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1139]); } const IfcParse::entity& Ifc4x3_add1::IfcSurfaceStyleShading::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1139]); } Ifc4x3_add1::IfcSurfaceStyleShading::IfcSurfaceStyleShading(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcSurfaceStyleShading::IfcSurfaceStyleShading(::Ifc4x3_add1::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }; populate_derived(); } +Ifc4x3_add1::IfcSurfaceStyleShading::IfcSurfaceStyleShading(::Ifc4x3_add1::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }; populate_derived(); } // Function implementations for IfcSurfaceStyleWithTextures -aggregate_of< ::Ifc4x3_add1::IfcSurfaceTexture >::ptr Ifc4x3_add1::IfcSurfaceStyleWithTextures::Textures() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcSurfaceTexture >(); } +aggregate_of< ::Ifc4x3_add1::IfcSurfaceTexture >::ptr Ifc4x3_add1::IfcSurfaceStyleWithTextures::Textures() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcSurfaceTexture >(); } void Ifc4x3_add1::IfcSurfaceStyleWithTextures::setTextures(aggregate_of< ::Ifc4x3_add1::IfcSurfaceTexture >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add1::IfcSurfaceStyleWithTextures::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1140]); } const IfcParse::entity& Ifc4x3_add1::IfcSurfaceStyleWithTextures::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1140]); } Ifc4x3_add1::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(aggregate_of< ::Ifc4x3_add1::IfcSurfaceTexture >::ptr v1_Textures) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Textures)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(aggregate_of< ::Ifc4x3_add1::IfcSurfaceTexture >::ptr v1_Textures) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Textures)->generalize());; populate_derived(); } // Function implementations for IfcSurfaceTexture -bool Ifc4x3_add1::IfcSurfaceTexture::RepeatS() const { bool v = data_.get_attribute_value(0); return v; } +bool Ifc4x3_add1::IfcSurfaceTexture::RepeatS() const { bool v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcSurfaceTexture::setRepeatS(bool v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -bool Ifc4x3_add1::IfcSurfaceTexture::RepeatT() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x3_add1::IfcSurfaceTexture::RepeatT() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcSurfaceTexture::setRepeatT(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_add1::IfcSurfaceTexture::Mode() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcSurfaceTexture::Mode() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcSurfaceTexture::setMode(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_add1::IfcCartesianTransformationOperator2D* Ifc4x3_add1::IfcSurfaceTexture::TextureTransform() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcCartesianTransformationOperator2D>(true); } +::Ifc4x3_add1::IfcCartesianTransformationOperator2D* Ifc4x3_add1::IfcSurfaceTexture::TextureTransform() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcCartesianTransformationOperator2D>(true); } void Ifc4x3_add1::IfcSurfaceTexture::setTextureTransform(::Ifc4x3_add1::IfcCartesianTransformationOperator2D* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add1::IfcSurfaceTexture::Parameter() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add1::IfcSurfaceTexture::Parameter() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } ::Ifc4x3_add1::IfcTextureCoordinate::list::ptr Ifc4x3_add1::IfcSurfaceTexture::IsMappedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[1192], 0)->as(); } @@ -16769,79 +16769,79 @@ void Ifc4x3_add1::IfcSurfaceTexture::setParameter(boost::optional< std::vector< const IfcParse::entity& Ifc4x3_add1::IfcSurfaceTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1141]); } const IfcParse::entity& Ifc4x3_add1::IfcSurfaceTexture::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1141]); } Ifc4x3_add1::IfcSurfaceTexture::IfcSurfaceTexture(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_add1::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) : IfcPresentationItem(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }; populate_derived(); } +Ifc4x3_add1::IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_add1::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }; populate_derived(); } // Function implementations for IfcSweptAreaSolid -::Ifc4x3_add1::IfcProfileDef* Ifc4x3_add1::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcProfileDef>(true); } +::Ifc4x3_add1::IfcProfileDef* Ifc4x3_add1::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcProfileDef>(true); } void Ifc4x3_add1::IfcSweptAreaSolid::setSweptArea(::Ifc4x3_add1::IfcProfileDef* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add1::IfcAxis2Placement3D* Ifc4x3_add1::IfcSweptAreaSolid::Position() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcAxis2Placement3D>(true); } +::Ifc4x3_add1::IfcAxis2Placement3D* Ifc4x3_add1::IfcSweptAreaSolid::Position() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcAxis2Placement3D>(true); } void Ifc4x3_add1::IfcSweptAreaSolid::setPosition(::Ifc4x3_add1::IfcAxis2Placement3D* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1142]); } const IfcParse::entity& Ifc4x3_add1::IfcSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1142]); } Ifc4x3_add1::IfcSweptAreaSolid::IfcSweptAreaSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3_add1::IfcSweptAreaSolid::IfcSweptAreaSolid(::Ifc4x3_add1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D* v2_Position) : IfcSolidModel(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcSweptAreaSolid::IfcSweptAreaSolid(::Ifc4x3_add1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add1::IfcAxis2Placement3D* v2_Position) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSweptDiskSolid -::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCurve>(true); } +::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCurve>(true); } void Ifc4x3_add1::IfcSweptDiskSolid::setDirectrix(::Ifc4x3_add1::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_add1::IfcSweptDiskSolid::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add1::IfcSweptDiskSolid::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcSweptDiskSolid::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_add1::IfcSweptDiskSolid::InnerRadius() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add1::IfcSweptDiskSolid::InnerRadius() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcSweptDiskSolid::setInnerRadius(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_add1::IfcSweptDiskSolid::StartParam() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add1::IfcSweptDiskSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcSweptDiskSolid::setStartParam(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_add1::IfcSweptDiskSolid::EndParam() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_add1::IfcSweptDiskSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcSweptDiskSolid::setEndParam(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add1::IfcSweptDiskSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1143]); } const IfcParse::entity& Ifc4x3_add1::IfcSweptDiskSolid::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1143]); } Ifc4x3_add1::IfcSweptDiskSolid::IfcSweptDiskSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3_add1::IfcSweptDiskSolid::IfcSweptDiskSolid(::Ifc4x3_add1::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam) : IfcSolidModel(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; populate_derived(); } +Ifc4x3_add1::IfcSweptDiskSolid::IfcSweptDiskSolid(::Ifc4x3_add1::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; populate_derived(); } // Function implementations for IfcSweptDiskSolidPolygonal -boost::optional< double > Ifc4x3_add1::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_add1::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcSweptDiskSolidPolygonal::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_add1::IfcSweptDiskSolidPolygonal::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1144]); } const IfcParse::entity& Ifc4x3_add1::IfcSweptDiskSolidPolygonal::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1144]); } Ifc4x3_add1::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(IfcEntityInstanceData&& e) : IfcSweptDiskSolid(std::move(e)) { } -Ifc4x3_add1::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(::Ifc4x3_add1::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(storage_t(6))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); }; populate_derived(); } +Ifc4x3_add1::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(::Ifc4x3_add1::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(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); }; populate_derived(); } // Function implementations for IfcSweptSurface -::Ifc4x3_add1::IfcProfileDef* Ifc4x3_add1::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcProfileDef>(true); } +::Ifc4x3_add1::IfcProfileDef* Ifc4x3_add1::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcProfileDef>(true); } void Ifc4x3_add1::IfcSweptSurface::setSweptCurve(::Ifc4x3_add1::IfcProfileDef* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add1::IfcAxis2Placement3D* Ifc4x3_add1::IfcSweptSurface::Position() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcAxis2Placement3D>(true); } +::Ifc4x3_add1::IfcAxis2Placement3D* Ifc4x3_add1::IfcSweptSurface::Position() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcAxis2Placement3D>(true); } void Ifc4x3_add1::IfcSweptSurface::setPosition(::Ifc4x3_add1::IfcAxis2Placement3D* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcSweptSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1145]); } const IfcParse::entity& Ifc4x3_add1::IfcSweptSurface::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1145]); } Ifc4x3_add1::IfcSweptSurface::IfcSweptSurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x3_add1::IfcSweptSurface::IfcSweptSurface(::Ifc4x3_add1::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_add1::IfcAxis2Placement3D* v2_Position) : IfcSurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcSweptSurface::IfcSweptSurface(::Ifc4x3_add1::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_add1::IfcAxis2Placement3D* v2_Position) : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSwitchingDevice -boost::optional< ::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Value > Ifc4x3_add1::IfcSwitchingDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Value > Ifc4x3_add1::IfcSwitchingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcSwitchingDevice::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcSwitchingDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1146]); } const IfcParse::entity& Ifc4x3_add1::IfcSwitchingDevice::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1146]); } Ifc4x3_add1::IfcSwitchingDevice::IfcSwitchingDevice(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_add1::IfcSwitchingDevice::IfcSwitchingDevice(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcSwitchingDevice::IfcSwitchingDevice(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSwitchingDeviceType -::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Value Ifc4x3_add1::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Value Ifc4x3_add1::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcSwitchingDeviceType::setPredefinedType(::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcSwitchingDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1147]); } const IfcParse::entity& Ifc4x3_add1::IfcSwitchingDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1147]); } Ifc4x3_add1::IfcSwitchingDeviceType::IfcSwitchingDeviceType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_add1::IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSystem @@ -16851,304 +16851,304 @@ Ifc4x3_add1::IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_Globa const IfcParse::entity& Ifc4x3_add1::IfcSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1149]); } const IfcParse::entity& Ifc4x3_add1::IfcSystem::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1149]); } Ifc4x3_add1::IfcSystem::IfcSystem(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x3_add1::IfcSystem::IfcSystem(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcGroup(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc4x3_add1::IfcSystem::IfcSystem(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcSystemFurnitureElement -boost::optional< ::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_add1::IfcSystemFurnitureElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_add1::IfcSystemFurnitureElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcSystemFurnitureElement::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcSystemFurnitureElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1150]); } const IfcParse::entity& Ifc4x3_add1::IfcSystemFurnitureElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1150]); } Ifc4x3_add1::IfcSystemFurnitureElement::IfcSystemFurnitureElement(IfcEntityInstanceData&& e) : IfcFurnishingElement(std::move(e)) { } -Ifc4x3_add1::IfcSystemFurnitureElement::IfcSystemFurnitureElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcSystemFurnitureElement::IfcSystemFurnitureElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSystemFurnitureElementType -boost::optional< ::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_add1::IfcSystemFurnitureElementType::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_add1::IfcSystemFurnitureElementType::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcSystemFurnitureElementType::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_add1::IfcSystemFurnitureElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1151]); } const IfcParse::entity& Ifc4x3_add1::IfcSystemFurnitureElementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1151]); } Ifc4x3_add1::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(IfcEntityInstanceData&& e) : IfcFurnishingElementType(std::move(e)) { } -Ifc4x3_add1::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< ::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< ::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTShapeProfileDef -double Ifc4x3_add1::IfcTShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add1::IfcTShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcTShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_add1::IfcTShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add1::IfcTShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcTShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_add1::IfcTShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_add1::IfcTShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcTShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_add1::IfcTShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_add1::IfcTShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcTShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_add1::IfcTShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add1::IfcTShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcTShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_add1::IfcTShapeProfileDef::FlangeEdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_add1::IfcTShapeProfileDef::FlangeEdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcTShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_add1::IfcTShapeProfileDef::WebEdgeRadius() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_add1::IfcTShapeProfileDef::WebEdgeRadius() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_add1::IfcTShapeProfileDef::setWebEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_add1::IfcTShapeProfileDef::WebSlope() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_add1::IfcTShapeProfileDef::WebSlope() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_add1::IfcTShapeProfileDef::setWebSlope(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_add1::IfcTShapeProfileDef::FlangeSlope() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_add1::IfcTShapeProfileDef::FlangeSlope() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_add1::IfcTShapeProfileDef::setFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x3_add1::IfcTShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1237]); } const IfcParse::entity& Ifc4x3_add1::IfcTShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1237]); } Ifc4x3_add1::IfcTShapeProfileDef::IfcTShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_add1::IfcTShapeProfileDef::IfcTShapeProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::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(storage_t(12))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); }; populate_derived(); } +Ifc4x3_add1::IfcTShapeProfileDef::IfcTShapeProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::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(in_memory_attribute_storage(12))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); }; populate_derived(); } // Function implementations for IfcTable -boost::optional< std::string > Ifc4x3_add1::IfcTable::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTable::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcTable::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcTableRow >::ptr > Ifc4x3_add1::IfcTable::Rows() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcTableRow >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcTableRow >::ptr > Ifc4x3_add1::IfcTable::Rows() const { if(get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcTableRow >(); } void Ifc4x3_add1::IfcTable::setRows(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcTableRow >::ptr > v) { if (v) {set_attribute_value(1, (*v)->generalize());} else {unset_attribute_value(1);} } -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcTableColumn >::ptr > Ifc4x3_add1::IfcTable::Columns() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcTableColumn >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcTableColumn >::ptr > Ifc4x3_add1::IfcTable::Columns() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcTableColumn >(); } void Ifc4x3_add1::IfcTable::setColumns(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcTableColumn >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_add1::IfcTable::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1153]); } const IfcParse::entity& Ifc4x3_add1::IfcTable::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1153]); } Ifc4x3_add1::IfcTable::IfcTable(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcTable::IfcTable(boost::optional< std::string > v1_Name, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcTableRow >::ptr > v2_Rows, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcTableColumn >::ptr > v3_Columns) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, (*v2_Rows)->generalize()); } if (v3_Columns) {set_attribute_value(2, (*v3_Columns)->generalize()); }; populate_derived(); } +Ifc4x3_add1::IfcTable::IfcTable(boost::optional< std::string > v1_Name, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcTableRow >::ptr > v2_Rows, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcTableColumn >::ptr > v3_Columns) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, (*v2_Rows)->generalize()); } if (v3_Columns) {set_attribute_value(2, (*v3_Columns)->generalize()); }; populate_derived(); } // Function implementations for IfcTableColumn -boost::optional< std::string > Ifc4x3_add1::IfcTableColumn::Identifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTableColumn::Identifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcTableColumn::setIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add1::IfcTableColumn::Name() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTableColumn::Name() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcTableColumn::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_add1::IfcTableColumn::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTableColumn::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcTableColumn::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_add1::IfcUnit* Ifc4x3_add1::IfcTableColumn::Unit() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcUnit>(true); } +::Ifc4x3_add1::IfcUnit* Ifc4x3_add1::IfcTableColumn::Unit() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcUnit>(true); } void Ifc4x3_add1::IfcTableColumn::setUnit(::Ifc4x3_add1::IfcUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add1::IfcReference* Ifc4x3_add1::IfcTableColumn::ReferencePath() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcReference>(true); } +::Ifc4x3_add1::IfcReference* Ifc4x3_add1::IfcTableColumn::ReferencePath() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcReference>(true); } void Ifc4x3_add1::IfcTableColumn::setReferencePath(::Ifc4x3_add1::IfcReference* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add1::IfcTableColumn::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1154]); } const IfcParse::entity& Ifc4x3_add1::IfcTableColumn::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1154]); } Ifc4x3_add1::IfcTableColumn::IfcTableColumn(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x3_add1::IfcUnit* v4_Unit, ::Ifc4x3_add1::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ReferencePath ? v5_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x3_add1::IfcUnit* v4_Unit, ::Ifc4x3_add1::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ReferencePath ? v5_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTableRow -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > Ifc4x3_add1::IfcTableRow::RowCells() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > Ifc4x3_add1::IfcTableRow::RowCells() const { if(get_attribute_value(0).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcValue >(); } void Ifc4x3_add1::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v) { if (v) {set_attribute_value(0, (*v)->generalize());} else {unset_attribute_value(0);} } -boost::optional< bool > Ifc4x3_add1::IfcTableRow::IsHeading() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } bool v = data_.get_attribute_value(1); return v; } +boost::optional< bool > Ifc4x3_add1::IfcTableRow::IsHeading() const { if(get_attribute_value(1).isNull()) { return boost::none; } bool v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcTableRow::setIsHeading(boost::optional< bool > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_add1::IfcTableRow::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1155]); } const IfcParse::entity& Ifc4x3_add1::IfcTableRow::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1155]); } Ifc4x3_add1::IfcTableRow::IfcTableRow(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_RowCells) {set_attribute_value(0, (*v1_RowCells)->generalize()); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); }; populate_derived(); } +Ifc4x3_add1::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_RowCells) {set_attribute_value(0, (*v1_RowCells)->generalize()); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); }; populate_derived(); } // Function implementations for IfcTank -boost::optional< ::Ifc4x3_add1::IfcTankTypeEnum::Value > Ifc4x3_add1::IfcTank::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcTankTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcTankTypeEnum::Value > Ifc4x3_add1::IfcTank::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcTankTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcTank::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcTankTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcTankTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcTank::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1156]); } const IfcParse::entity& Ifc4x3_add1::IfcTank::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1156]); } Ifc4x3_add1::IfcTank::IfcTank(IfcEntityInstanceData&& e) : IfcFlowStorageDevice(std::move(e)) { } -Ifc4x3_add1::IfcTank::IfcTank(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcTankTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcTank::IfcTank(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcTankTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTankType -::Ifc4x3_add1::IfcTankTypeEnum::Value Ifc4x3_add1::IfcTankType::PredefinedType() const { return ::Ifc4x3_add1::IfcTankTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcTankTypeEnum::Value Ifc4x3_add1::IfcTankType::PredefinedType() const { return ::Ifc4x3_add1::IfcTankTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcTankType::setPredefinedType(::Ifc4x3_add1::IfcTankTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcTankTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcTankType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1157]); } const IfcParse::entity& Ifc4x3_add1::IfcTankType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1157]); } Ifc4x3_add1::IfcTankType::IfcTankType(IfcEntityInstanceData&& e) : IfcFlowStorageDeviceType(std::move(e)) { } -Ifc4x3_add1::IfcTankType::IfcTankType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTankTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcTankType::IfcTankType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTankTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTask -boost::optional< std::string > Ifc4x3_add1::IfcTask::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTask::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcTask::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_add1::IfcTask::WorkMethod() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTask::WorkMethod() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcTask::setWorkMethod(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -bool Ifc4x3_add1::IfcTask::IsMilestone() const { bool v = data_.get_attribute_value(9); return v; } +bool Ifc4x3_add1::IfcTask::IsMilestone() const { bool v = get_attribute_value(9); return v; } void Ifc4x3_add1::IfcTask::setIsMilestone(bool v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -boost::optional< int > Ifc4x3_add1::IfcTask::Priority() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } int v = data_.get_attribute_value(10); return v; } +boost::optional< int > Ifc4x3_add1::IfcTask::Priority() const { if(get_attribute_value(10).isNull()) { return boost::none; } int v = get_attribute_value(10); return v; } void Ifc4x3_add1::IfcTask::setPriority(boost::optional< int > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4x3_add1::IfcTaskTime* Ifc4x3_add1::IfcTask::TaskTime() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc4x3_add1::IfcTaskTime>(true); } +::Ifc4x3_add1::IfcTaskTime* Ifc4x3_add1::IfcTask::TaskTime() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc4x3_add1::IfcTaskTime>(true); } void Ifc4x3_add1::IfcTask::setTaskTime(::Ifc4x3_add1::IfcTaskTime* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } -boost::optional< ::Ifc4x3_add1::IfcTaskTypeEnum::Value > Ifc4x3_add1::IfcTask::PredefinedType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcTaskTypeEnum::FromString(data_.get_attribute_value(12)); } +boost::optional< ::Ifc4x3_add1::IfcTaskTypeEnum::Value > Ifc4x3_add1::IfcTask::PredefinedType() const { if(get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcTaskTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x3_add1::IfcTask::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcTaskTypeEnum::Value > v) { if (v) {set_attribute_value(12, EnumerationReference(&::Ifc4x3_add1::IfcTaskTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_add1::IfcTask::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1159]); } const IfcParse::entity& Ifc4x3_add1::IfcTask::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1159]); } Ifc4x3_add1::IfcTask::IfcTask(IfcEntityInstanceData&& e) : IfcProcess(std::move(e)) { } -Ifc4x3_add1::IfcTask::IfcTask(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcTaskTime* v12_TaskTime, boost::optional< ::Ifc4x3_add1::IfcTaskTypeEnum::Value > v13_PredefinedType) : IfcProcess(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, v12_TaskTime ? v12_TaskTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_add1::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcTask::IfcTask(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcTaskTime* v12_TaskTime, boost::optional< ::Ifc4x3_add1::IfcTaskTypeEnum::Value > v13_PredefinedType) : IfcProcess(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, v12_TaskTime ? v12_TaskTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_add1::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTaskTime -boost::optional< ::Ifc4x3_add1::IfcTaskDurationEnum::Value > Ifc4x3_add1::IfcTaskTime::DurationType() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcTaskDurationEnum::FromString(data_.get_attribute_value(3)); } +boost::optional< ::Ifc4x3_add1::IfcTaskDurationEnum::Value > Ifc4x3_add1::IfcTaskTime::DurationType() const { if(get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcTaskDurationEnum::FromString(get_attribute_value(3)); } void Ifc4x3_add1::IfcTaskTime::setDurationType(boost::optional< ::Ifc4x3_add1::IfcTaskDurationEnum::Value > v) { if (v) {set_attribute_value(3, EnumerationReference(&::Ifc4x3_add1::IfcTaskDurationEnum::Class(), (size_t) *v));} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_add1::IfcTaskTime::ScheduleDuration() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTaskTime::ScheduleDuration() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcTaskTime::setScheduleDuration(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add1::IfcTaskTime::ScheduleStart() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTaskTime::ScheduleStart() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcTaskTime::setScheduleStart(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_add1::IfcTaskTime::ScheduleFinish() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTaskTime::ScheduleFinish() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcTaskTime::setScheduleFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_add1::IfcTaskTime::EarlyStart() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTaskTime::EarlyStart() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcTaskTime::setEarlyStart(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_add1::IfcTaskTime::EarlyFinish() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTaskTime::EarlyFinish() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcTaskTime::setEarlyFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_add1::IfcTaskTime::LateStart() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTaskTime::LateStart() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_add1::IfcTaskTime::setLateStart(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x3_add1::IfcTaskTime::LateFinish() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTaskTime::LateFinish() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_add1::IfcTaskTime::setLateFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< std::string > Ifc4x3_add1::IfcTaskTime::FreeFloat() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTaskTime::FreeFloat() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x3_add1::IfcTaskTime::setFreeFloat(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_add1::IfcTaskTime::TotalFloat() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTaskTime::TotalFloat() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_add1::IfcTaskTime::setTotalFloat(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< bool > Ifc4x3_add1::IfcTaskTime::IsCritical() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } bool v = data_.get_attribute_value(13); return v; } +boost::optional< bool > Ifc4x3_add1::IfcTaskTime::IsCritical() const { if(get_attribute_value(13).isNull()) { return boost::none; } bool v = get_attribute_value(13); return v; } void Ifc4x3_add1::IfcTaskTime::setIsCritical(boost::optional< bool > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x3_add1::IfcTaskTime::StatusTime() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTaskTime::StatusTime() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x3_add1::IfcTaskTime::setStatusTime(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< std::string > Ifc4x3_add1::IfcTaskTime::ActualDuration() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(15); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTaskTime::ActualDuration() const { if(get_attribute_value(15).isNull()) { return boost::none; } std::string v = get_attribute_value(15); return v; } void Ifc4x3_add1::IfcTaskTime::setActualDuration(boost::optional< std::string > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< std::string > Ifc4x3_add1::IfcTaskTime::ActualStart() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(16); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTaskTime::ActualStart() const { if(get_attribute_value(16).isNull()) { return boost::none; } std::string v = get_attribute_value(16); return v; } void Ifc4x3_add1::IfcTaskTime::setActualStart(boost::optional< std::string > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< std::string > Ifc4x3_add1::IfcTaskTime::ActualFinish() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(17); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTaskTime::ActualFinish() const { if(get_attribute_value(17).isNull()) { return boost::none; } std::string v = get_attribute_value(17); return v; } void Ifc4x3_add1::IfcTaskTime::setActualFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } -boost::optional< std::string > Ifc4x3_add1::IfcTaskTime::RemainingTime() const { if(data_.get_attribute_value(18).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(18); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTaskTime::RemainingTime() const { if(get_attribute_value(18).isNull()) { return boost::none; } std::string v = get_attribute_value(18); return v; } void Ifc4x3_add1::IfcTaskTime::setRemainingTime(boost::optional< std::string > v) { if (v) {set_attribute_value(18, *v);} else {unset_attribute_value(18);} } -boost::optional< double > Ifc4x3_add1::IfcTaskTime::Completion() const { if(data_.get_attribute_value(19).isNull()) { return boost::none; } double v = data_.get_attribute_value(19); return v; } +boost::optional< double > Ifc4x3_add1::IfcTaskTime::Completion() const { if(get_attribute_value(19).isNull()) { return boost::none; } double v = get_attribute_value(19); return v; } void Ifc4x3_add1::IfcTaskTime::setCompletion(boost::optional< double > v) { if (v) {set_attribute_value(19, *v);} else {unset_attribute_value(19);} } const IfcParse::entity& Ifc4x3_add1::IfcTaskTime::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1161]); } const IfcParse::entity& Ifc4x3_add1::IfcTaskTime::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1161]); } Ifc4x3_add1::IfcTaskTime::IfcTaskTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x3_add1::IfcTaskTime::IfcTaskTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x3_add1::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(storage_t(20))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_add1::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }; populate_derived(); } +Ifc4x3_add1::IfcTaskTime::IfcTaskTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x3_add1::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(in_memory_attribute_storage(20))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_add1::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }; populate_derived(); } // Function implementations for IfcTaskTimeRecurring -::Ifc4x3_add1::IfcRecurrencePattern* Ifc4x3_add1::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(20)))->as<::Ifc4x3_add1::IfcRecurrencePattern>(true); } +::Ifc4x3_add1::IfcRecurrencePattern* Ifc4x3_add1::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(20)))->as<::Ifc4x3_add1::IfcRecurrencePattern>(true); } void Ifc4x3_add1::IfcTaskTimeRecurring::setRecurrence(::Ifc4x3_add1::IfcRecurrencePattern* v) { set_attribute_value(20, v->as());if constexpr (false)unset_attribute_value(20); } const IfcParse::entity& Ifc4x3_add1::IfcTaskTimeRecurring::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1162]); } const IfcParse::entity& Ifc4x3_add1::IfcTaskTimeRecurring::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1162]); } Ifc4x3_add1::IfcTaskTimeRecurring::IfcTaskTimeRecurring(IfcEntityInstanceData&& e) : IfcTaskTime(std::move(e)) { } -Ifc4x3_add1::IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x3_add1::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_add1::IfcRecurrencePattern* v21_Recurrence) : IfcTaskTime(IfcEntityInstanceData(storage_t(21))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_add1::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, v21_Recurrence ? v21_Recurrence->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x3_add1::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_add1::IfcRecurrencePattern* v21_Recurrence) : IfcTaskTime(IfcEntityInstanceData(in_memory_attribute_storage(21))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_add1::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, v21_Recurrence ? v21_Recurrence->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTaskType -::Ifc4x3_add1::IfcTaskTypeEnum::Value Ifc4x3_add1::IfcTaskType::PredefinedType() const { return ::Ifc4x3_add1::IfcTaskTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcTaskTypeEnum::Value Ifc4x3_add1::IfcTaskType::PredefinedType() const { return ::Ifc4x3_add1::IfcTaskTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcTaskType::setPredefinedType(::Ifc4x3_add1::IfcTaskTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcTaskTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3_add1::IfcTaskType::WorkMethod() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTaskType::WorkMethod() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_add1::IfcTaskType::setWorkMethod(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add1::IfcTaskType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1163]); } const IfcParse::entity& Ifc4x3_add1::IfcTaskType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1163]); } Ifc4x3_add1::IfcTaskType::IfcTaskType(IfcEntityInstanceData&& e) : IfcTypeProcess(std::move(e)) { } -Ifc4x3_add1::IfcTaskType::IfcTaskType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_add1::IfcTaskTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_WorkMethod) : IfcTypeProcess(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); }; populate_derived(); } +Ifc4x3_add1::IfcTaskType::IfcTaskType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_add1::IfcTaskTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_WorkMethod) : IfcTypeProcess(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); }; populate_derived(); } // Function implementations for IfcTelecomAddress -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add1::IfcTelecomAddress::TelephoneNumbers() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add1::IfcTelecomAddress::TelephoneNumbers() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcTelecomAddress::setTelephoneNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add1::IfcTelecomAddress::FacsimileNumbers() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add1::IfcTelecomAddress::FacsimileNumbers() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcTelecomAddress::setFacsimileNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add1::IfcTelecomAddress::PagerNumber() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTelecomAddress::PagerNumber() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcTelecomAddress::setPagerNumber(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add1::IfcTelecomAddress::ElectronicMailAddresses() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(6); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add1::IfcTelecomAddress::ElectronicMailAddresses() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcTelecomAddress::setElectronicMailAddresses(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_add1::IfcTelecomAddress::WWWHomePageURL() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTelecomAddress::WWWHomePageURL() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcTelecomAddress::setWWWHomePageURL(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add1::IfcTelecomAddress::MessagingIDs() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(8); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add1::IfcTelecomAddress::MessagingIDs() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcTelecomAddress::setMessagingIDs(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcTelecomAddress::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1165]); } const IfcParse::entity& Ifc4x3_add1::IfcTelecomAddress::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1165]); } Ifc4x3_add1::IfcTelecomAddress::IfcTelecomAddress(IfcEntityInstanceData&& e) : IfcAddress(std::move(e)) { } -Ifc4x3_add1::IfcTelecomAddress::IfcTelecomAddress(boost::optional< ::Ifc4x3_add1::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(storage_t(9))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); }; populate_derived(); } +Ifc4x3_add1::IfcTelecomAddress::IfcTelecomAddress(boost::optional< ::Ifc4x3_add1::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(in_memory_attribute_storage(9))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); }; populate_derived(); } // Function implementations for IfcTendon -boost::optional< ::Ifc4x3_add1::IfcTendonTypeEnum::Value > Ifc4x3_add1::IfcTendon::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcTendonTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_add1::IfcTendonTypeEnum::Value > Ifc4x3_add1::IfcTendon::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcTendon::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcTendonTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcTendonTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_add1::IfcTendon::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_add1::IfcTendon::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_add1::IfcTendon::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_add1::IfcTendon::CrossSectionArea() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_add1::IfcTendon::CrossSectionArea() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_add1::IfcTendon::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_add1::IfcTendon::TensionForce() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_add1::IfcTendon::TensionForce() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_add1::IfcTendon::setTensionForce(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3_add1::IfcTendon::PreStress() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_add1::IfcTendon::PreStress() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_add1::IfcTendon::setPreStress(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3_add1::IfcTendon::FrictionCoefficient() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3_add1::IfcTendon::FrictionCoefficient() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3_add1::IfcTendon::setFrictionCoefficient(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x3_add1::IfcTendon::AnchorageSlip() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3_add1::IfcTendon::AnchorageSlip() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3_add1::IfcTendon::setAnchorageSlip(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3_add1::IfcTendon::MinCurvatureRadius() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3_add1::IfcTendon::MinCurvatureRadius() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3_add1::IfcTendon::setMinCurvatureRadius(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } const IfcParse::entity& Ifc4x3_add1::IfcTendon::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1168]); } const IfcParse::entity& Ifc4x3_add1::IfcTendon::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1168]); } Ifc4x3_add1::IfcTendon::IfcTendon(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x3_add1::IfcTendon::IfcTendon(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x3_add1::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(storage_t(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; populate_derived(); } +Ifc4x3_add1::IfcTendon::IfcTendon(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x3_add1::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(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; populate_derived(); } // Function implementations for IfcTendonAnchor -boost::optional< ::Ifc4x3_add1::IfcTendonAnchorTypeEnum::Value > Ifc4x3_add1::IfcTendonAnchor::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcTendonAnchorTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_add1::IfcTendonAnchorTypeEnum::Value > Ifc4x3_add1::IfcTendonAnchor::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcTendonAnchor::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcTendonAnchorTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcTendonAnchorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_add1::IfcTendonAnchor::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1169]); } const IfcParse::entity& Ifc4x3_add1::IfcTendonAnchor::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1169]); } Ifc4x3_add1::IfcTendonAnchor::IfcTendonAnchor(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x3_add1::IfcTendonAnchor::IfcTendonAnchor(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x3_add1::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcTendonAnchor::IfcTendonAnchor(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x3_add1::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTendonAnchorType -::Ifc4x3_add1::IfcTendonAnchorTypeEnum::Value Ifc4x3_add1::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4x3_add1::IfcTendonAnchorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcTendonAnchorTypeEnum::Value Ifc4x3_add1::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4x3_add1::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcTendonAnchorType::setPredefinedType(::Ifc4x3_add1::IfcTendonAnchorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcTendonAnchorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcTendonAnchorType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1170]); } const IfcParse::entity& Ifc4x3_add1::IfcTendonAnchorType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1170]); } Ifc4x3_add1::IfcTendonAnchorType::IfcTendonAnchorType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x3_add1::IfcTendonAnchorType::IfcTendonAnchorType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcTendonAnchorType::IfcTendonAnchorType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTendonConduit -::Ifc4x3_add1::IfcTendonConduitTypeEnum::Value Ifc4x3_add1::IfcTendonConduit::PredefinedType() const { return ::Ifc4x3_add1::IfcTendonConduitTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcTendonConduitTypeEnum::Value Ifc4x3_add1::IfcTendonConduit::PredefinedType() const { return ::Ifc4x3_add1::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcTendonConduit::setPredefinedType(::Ifc4x3_add1::IfcTendonConduitTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcTendonConduitTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcTendonConduit::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1172]); } const IfcParse::entity& Ifc4x3_add1::IfcTendonConduit::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1172]); } Ifc4x3_add1::IfcTendonConduit::IfcTendonConduit(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x3_add1::IfcTendonConduit::IfcTendonConduit(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, ::Ifc4x3_add1::IfcTendonConduitTypeEnum::Value v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcTendonConduit::IfcTendonConduit(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, ::Ifc4x3_add1::IfcTendonConduitTypeEnum::Value v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTendonConduitType -::Ifc4x3_add1::IfcTendonConduitTypeEnum::Value Ifc4x3_add1::IfcTendonConduitType::PredefinedType() const { return ::Ifc4x3_add1::IfcTendonConduitTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcTendonConduitTypeEnum::Value Ifc4x3_add1::IfcTendonConduitType::PredefinedType() const { return ::Ifc4x3_add1::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcTendonConduitType::setPredefinedType(::Ifc4x3_add1::IfcTendonConduitTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcTendonConduitTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcTendonConduitType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1173]); } const IfcParse::entity& Ifc4x3_add1::IfcTendonConduitType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1173]); } Ifc4x3_add1::IfcTendonConduitType::IfcTendonConduitType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x3_add1::IfcTendonConduitType::IfcTendonConduitType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTendonConduitTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcTendonConduitType::IfcTendonConduitType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTendonConduitTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTendonType -::Ifc4x3_add1::IfcTendonTypeEnum::Value Ifc4x3_add1::IfcTendonType::PredefinedType() const { return ::Ifc4x3_add1::IfcTendonTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcTendonTypeEnum::Value Ifc4x3_add1::IfcTendonType::PredefinedType() const { return ::Ifc4x3_add1::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcTendonType::setPredefinedType(::Ifc4x3_add1::IfcTendonTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcTendonTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3_add1::IfcTendonType::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_add1::IfcTendonType::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_add1::IfcTendonType::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_add1::IfcTendonType::CrossSectionArea() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_add1::IfcTendonType::CrossSectionArea() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_add1::IfcTendonType::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_add1::IfcTendonType::SheathDiameter() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_add1::IfcTendonType::SheathDiameter() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_add1::IfcTendonType::setSheathDiameter(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_add1::IfcTendonType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1175]); } const IfcParse::entity& Ifc4x3_add1::IfcTendonType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1175]); } Ifc4x3_add1::IfcTendonType::IfcTendonType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x3_add1::IfcTendonType::IfcTendonType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTendonTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheathDiameter) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); }; populate_derived(); } +Ifc4x3_add1::IfcTendonType::IfcTendonType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTendonTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheathDiameter) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); }; populate_derived(); } // Function implementations for IfcTessellatedFaceSet -::Ifc4x3_add1::IfcCartesianPointList3D* Ifc4x3_add1::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCartesianPointList3D>(true); } +::Ifc4x3_add1::IfcCartesianPointList3D* Ifc4x3_add1::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCartesianPointList3D>(true); } void Ifc4x3_add1::IfcTessellatedFaceSet::setCoordinates(::Ifc4x3_add1::IfcCartesianPointList3D* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_add1::IfcIndexedColourMap::list::ptr Ifc4x3_add1::IfcTessellatedFaceSet::HasColours() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[542], 0)->as(); } @@ -17157,7 +17157,7 @@ void Ifc4x3_add1::IfcTessellatedFaceSet::setCoordinates(::Ifc4x3_add1::IfcCartes const IfcParse::entity& Ifc4x3_add1::IfcTessellatedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1177]); } const IfcParse::entity& Ifc4x3_add1::IfcTessellatedFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1177]); } Ifc4x3_add1::IfcTessellatedFaceSet::IfcTessellatedFaceSet(IfcEntityInstanceData&& e) : IfcTessellatedItem(std::move(e)) { } -Ifc4x3_add1::IfcTessellatedFaceSet::IfcTessellatedFaceSet(::Ifc4x3_add1::IfcCartesianPointList3D* v1_Coordinates) : IfcTessellatedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcTessellatedFaceSet::IfcTessellatedFaceSet(::Ifc4x3_add1::IfcCartesianPointList3D* v1_Coordinates) : IfcTessellatedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTessellatedItem @@ -17165,128 +17165,128 @@ Ifc4x3_add1::IfcTessellatedFaceSet::IfcTessellatedFaceSet(::Ifc4x3_add1::IfcCart const IfcParse::entity& Ifc4x3_add1::IfcTessellatedItem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1178]); } const IfcParse::entity& Ifc4x3_add1::IfcTessellatedItem::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1178]); } Ifc4x3_add1::IfcTessellatedItem::IfcTessellatedItem(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcTessellatedItem::IfcTessellatedItem() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add1::IfcTessellatedItem::IfcTessellatedItem() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcTextLiteral -std::string Ifc4x3_add1::IfcTextLiteral::Literal() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_add1::IfcTextLiteral::Literal() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcTextLiteral::setLiteral(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add1::IfcAxis2Placement* Ifc4x3_add1::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcAxis2Placement>(true); } +::Ifc4x3_add1::IfcAxis2Placement* Ifc4x3_add1::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcAxis2Placement>(true); } void Ifc4x3_add1::IfcTextLiteral::setPlacement(::Ifc4x3_add1::IfcAxis2Placement* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add1::IfcTextPath::Value Ifc4x3_add1::IfcTextLiteral::Path() const { return ::Ifc4x3_add1::IfcTextPath::FromString(data_.get_attribute_value(2)); } +::Ifc4x3_add1::IfcTextPath::Value Ifc4x3_add1::IfcTextLiteral::Path() const { return ::Ifc4x3_add1::IfcTextPath::FromString(get_attribute_value(2)); } void Ifc4x3_add1::IfcTextLiteral::setPath(::Ifc4x3_add1::IfcTextPath::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3_add1::IfcTextPath::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcTextLiteral::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1184]); } const IfcParse::entity& Ifc4x3_add1::IfcTextLiteral::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1184]); } Ifc4x3_add1::IfcTextLiteral::IfcTextLiteral(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, ::Ifc4x3_add1::IfcAxis2Placement* v2_Placement, ::Ifc4x3_add1::IfcTextPath::Value v3_Path) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add1::IfcTextPath::Class(),(size_t)v3_Path)));; populate_derived(); } +Ifc4x3_add1::IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, ::Ifc4x3_add1::IfcAxis2Placement* v2_Placement, ::Ifc4x3_add1::IfcTextPath::Value v3_Path) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add1::IfcTextPath::Class(),(size_t)v3_Path)));; populate_derived(); } // Function implementations for IfcTextLiteralWithExtent -::Ifc4x3_add1::IfcPlanarExtent* Ifc4x3_add1::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcPlanarExtent>(true); } +::Ifc4x3_add1::IfcPlanarExtent* Ifc4x3_add1::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcPlanarExtent>(true); } void Ifc4x3_add1::IfcTextLiteralWithExtent::setExtent(::Ifc4x3_add1::IfcPlanarExtent* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -std::string Ifc4x3_add1::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = data_.get_attribute_value(4); return v; } +std::string Ifc4x3_add1::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcTextLiteralWithExtent::setBoxAlignment(std::string v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add1::IfcTextLiteralWithExtent::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1185]); } const IfcParse::entity& Ifc4x3_add1::IfcTextLiteralWithExtent::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1185]); } Ifc4x3_add1::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(IfcEntityInstanceData&& e) : IfcTextLiteral(std::move(e)) { } -Ifc4x3_add1::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(std::string v1_Literal, ::Ifc4x3_add1::IfcAxis2Placement* v2_Placement, ::Ifc4x3_add1::IfcTextPath::Value v3_Path, ::Ifc4x3_add1::IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment) : IfcTextLiteral(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add1::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, v4_Extent ? v4_Extent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_BoxAlignment));; populate_derived(); } +Ifc4x3_add1::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(std::string v1_Literal, ::Ifc4x3_add1::IfcAxis2Placement* v2_Placement, ::Ifc4x3_add1::IfcTextPath::Value v3_Path, ::Ifc4x3_add1::IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment) : IfcTextLiteral(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add1::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, v4_Extent ? v4_Extent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_BoxAlignment));; populate_derived(); } // Function implementations for IfcTextStyle -::Ifc4x3_add1::IfcTextStyleForDefinedFont* Ifc4x3_add1::IfcTextStyle::TextCharacterAppearance() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcTextStyleForDefinedFont>(true); } +::Ifc4x3_add1::IfcTextStyleForDefinedFont* Ifc4x3_add1::IfcTextStyle::TextCharacterAppearance() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcTextStyleForDefinedFont>(true); } void Ifc4x3_add1::IfcTextStyle::setTextCharacterAppearance(::Ifc4x3_add1::IfcTextStyleForDefinedFont* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add1::IfcTextStyleTextModel* Ifc4x3_add1::IfcTextStyle::TextStyle() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcTextStyleTextModel>(true); } +::Ifc4x3_add1::IfcTextStyleTextModel* Ifc4x3_add1::IfcTextStyle::TextStyle() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcTextStyleTextModel>(true); } void Ifc4x3_add1::IfcTextStyle::setTextStyle(::Ifc4x3_add1::IfcTextStyleTextModel* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add1::IfcTextFontSelect* Ifc4x3_add1::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcTextFontSelect>(true); } +::Ifc4x3_add1::IfcTextFontSelect* Ifc4x3_add1::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcTextFontSelect>(true); } void Ifc4x3_add1::IfcTextStyle::setTextFontStyle(::Ifc4x3_add1::IfcTextFontSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< bool > Ifc4x3_add1::IfcTextStyle::ModelOrDraughting() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } bool v = data_.get_attribute_value(4); return v; } +boost::optional< bool > Ifc4x3_add1::IfcTextStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return boost::none; } bool v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcTextStyle::setModelOrDraughting(boost::optional< bool > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add1::IfcTextStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1187]); } const IfcParse::entity& Ifc4x3_add1::IfcTextStyle::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1187]); } Ifc4x3_add1::IfcTextStyle::IfcTextStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x3_add1::IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcTextStyleForDefinedFont* v2_TextCharacterAppearance, ::Ifc4x3_add1::IfcTextStyleTextModel* v3_TextStyle, ::Ifc4x3_add1::IfcTextFontSelect* v4_TextFontStyle, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TextCharacterAppearance ? v2_TextCharacterAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TextStyle ? v3_TextStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TextFontStyle ? v4_TextFontStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } +Ifc4x3_add1::IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_add1::IfcTextStyleForDefinedFont* v2_TextCharacterAppearance, ::Ifc4x3_add1::IfcTextStyleTextModel* v3_TextStyle, ::Ifc4x3_add1::IfcTextFontSelect* v4_TextFontStyle, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TextCharacterAppearance ? v2_TextCharacterAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TextStyle ? v3_TextStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TextFontStyle ? v4_TextFontStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } // Function implementations for IfcTextStyleFontModel -std::vector< std::string > /*[1:?]*/ Ifc4x3_add1::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +std::vector< std::string > /*[1:?]*/ Ifc4x3_add1::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcTextStyleFontModel::setFontFamily(std::vector< std::string > /*[1:?]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_add1::IfcTextStyleFontModel::FontStyle() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTextStyleFontModel::FontStyle() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcTextStyleFontModel::setFontStyle(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_add1::IfcTextStyleFontModel::FontVariant() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTextStyleFontModel::FontVariant() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_add1::IfcTextStyleFontModel::FontWeight() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTextStyleFontModel::FontWeight() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_add1::IfcSizeSelect* Ifc4x3_add1::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add1::IfcSizeSelect>(true); } +::Ifc4x3_add1::IfcSizeSelect* Ifc4x3_add1::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add1::IfcSizeSelect>(true); } void Ifc4x3_add1::IfcTextStyleFontModel::setFontSize(::Ifc4x3_add1::IfcSizeSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcTextStyleFontModel::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1188]); } const IfcParse::entity& Ifc4x3_add1::IfcTextStyleFontModel::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1188]); } Ifc4x3_add1::IfcTextStyleFontModel::IfcTextStyleFontModel(IfcEntityInstanceData&& e) : IfcPreDefinedTextFont(std::move(e)) { } -Ifc4x3_add1::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_add1::IfcSizeSelect* v6_FontSize) : IfcPreDefinedTextFont(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, v6_FontSize ? v6_FontSize->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::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_add1::IfcSizeSelect* v6_FontSize) : IfcPreDefinedTextFont(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, v6_FontSize ? v6_FontSize->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextStyleForDefinedFont -::Ifc4x3_add1::IfcColour* Ifc4x3_add1::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcColour>(true); } +::Ifc4x3_add1::IfcColour* Ifc4x3_add1::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcColour>(true); } void Ifc4x3_add1::IfcTextStyleForDefinedFont::setColour(::Ifc4x3_add1::IfcColour* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add1::IfcColour* Ifc4x3_add1::IfcTextStyleForDefinedFont::BackgroundColour() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcColour>(true); } +::Ifc4x3_add1::IfcColour* Ifc4x3_add1::IfcTextStyleForDefinedFont::BackgroundColour() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcColour>(true); } void Ifc4x3_add1::IfcTextStyleForDefinedFont::setBackgroundColour(::Ifc4x3_add1::IfcColour* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcTextStyleForDefinedFont::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1189]); } const IfcParse::entity& Ifc4x3_add1::IfcTextStyleForDefinedFont::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1189]); } Ifc4x3_add1::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4x3_add1::IfcColour* v1_Colour, ::Ifc4x3_add1::IfcColour* v2_BackgroundColour) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Colour ? v1_Colour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_BackgroundColour ? v2_BackgroundColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4x3_add1::IfcColour* v1_Colour, ::Ifc4x3_add1::IfcColour* v2_BackgroundColour) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Colour ? v1_Colour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_BackgroundColour ? v2_BackgroundColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextStyleTextModel -::Ifc4x3_add1::IfcSizeSelect* Ifc4x3_add1::IfcTextStyleTextModel::TextIndent() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcSizeSelect>(true); } +::Ifc4x3_add1::IfcSizeSelect* Ifc4x3_add1::IfcTextStyleTextModel::TextIndent() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcSizeSelect>(true); } void Ifc4x3_add1::IfcTextStyleTextModel::setTextIndent(::Ifc4x3_add1::IfcSizeSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_add1::IfcTextStyleTextModel::TextAlign() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTextStyleTextModel::TextAlign() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_add1::IfcTextStyleTextModel::TextDecoration() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTextStyleTextModel::TextDecoration() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_add1::IfcSizeSelect* Ifc4x3_add1::IfcTextStyleTextModel::LetterSpacing() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcSizeSelect>(true); } +::Ifc4x3_add1::IfcSizeSelect* Ifc4x3_add1::IfcTextStyleTextModel::LetterSpacing() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcSizeSelect>(true); } void Ifc4x3_add1::IfcTextStyleTextModel::setLetterSpacing(::Ifc4x3_add1::IfcSizeSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add1::IfcSizeSelect* Ifc4x3_add1::IfcTextStyleTextModel::WordSpacing() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add1::IfcSizeSelect>(true); } +::Ifc4x3_add1::IfcSizeSelect* Ifc4x3_add1::IfcTextStyleTextModel::WordSpacing() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add1::IfcSizeSelect>(true); } void Ifc4x3_add1::IfcTextStyleTextModel::setWordSpacing(::Ifc4x3_add1::IfcSizeSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -boost::optional< std::string > Ifc4x3_add1::IfcTextStyleTextModel::TextTransform() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTextStyleTextModel::TextTransform() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_add1::IfcSizeSelect* Ifc4x3_add1::IfcTextStyleTextModel::LineHeight() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add1::IfcSizeSelect>(true); } +::Ifc4x3_add1::IfcSizeSelect* Ifc4x3_add1::IfcTextStyleTextModel::LineHeight() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add1::IfcSizeSelect>(true); } void Ifc4x3_add1::IfcTextStyleTextModel::setLineHeight(::Ifc4x3_add1::IfcSizeSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add1::IfcTextStyleTextModel::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1190]); } const IfcParse::entity& Ifc4x3_add1::IfcTextStyleTextModel::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1190]); } Ifc4x3_add1::IfcTextStyleTextModel::IfcTextStyleTextModel(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcTextStyleTextModel::IfcTextStyleTextModel(::Ifc4x3_add1::IfcSizeSelect* v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, ::Ifc4x3_add1::IfcSizeSelect* v4_LetterSpacing, ::Ifc4x3_add1::IfcSizeSelect* v5_WordSpacing, boost::optional< std::string > v6_TextTransform, ::Ifc4x3_add1::IfcSizeSelect* v7_LineHeight) : IfcPresentationItem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, v1_TextIndent ? v1_TextIndent->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, v4_LetterSpacing ? v4_LetterSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_WordSpacing ? v5_WordSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, v7_LineHeight ? v7_LineHeight->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcTextStyleTextModel::IfcTextStyleTextModel(::Ifc4x3_add1::IfcSizeSelect* v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, ::Ifc4x3_add1::IfcSizeSelect* v4_LetterSpacing, ::Ifc4x3_add1::IfcSizeSelect* v5_WordSpacing, boost::optional< std::string > v6_TextTransform, ::Ifc4x3_add1::IfcSizeSelect* v7_LineHeight) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_TextIndent ? v1_TextIndent->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, v4_LetterSpacing ? v4_LetterSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_WordSpacing ? v5_WordSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, v7_LineHeight ? v7_LineHeight->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextureCoordinate -aggregate_of< ::Ifc4x3_add1::IfcSurfaceTexture >::ptr Ifc4x3_add1::IfcTextureCoordinate::Maps() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcSurfaceTexture >(); } +aggregate_of< ::Ifc4x3_add1::IfcSurfaceTexture >::ptr Ifc4x3_add1::IfcTextureCoordinate::Maps() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcSurfaceTexture >(); } void Ifc4x3_add1::IfcTextureCoordinate::setMaps(aggregate_of< ::Ifc4x3_add1::IfcSurfaceTexture >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add1::IfcTextureCoordinate::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1192]); } const IfcParse::entity& Ifc4x3_add1::IfcTextureCoordinate::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1192]); } Ifc4x3_add1::IfcTextureCoordinate::IfcTextureCoordinate(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcTextureCoordinate::IfcTextureCoordinate(aggregate_of< ::Ifc4x3_add1::IfcSurfaceTexture >::ptr v1_Maps) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Maps)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcTextureCoordinate::IfcTextureCoordinate(aggregate_of< ::Ifc4x3_add1::IfcSurfaceTexture >::ptr v1_Maps) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Maps)->generalize());; populate_derived(); } // Function implementations for IfcTextureCoordinateGenerator -std::string Ifc4x3_add1::IfcTextureCoordinateGenerator::Mode() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_add1::IfcTextureCoordinateGenerator::Mode() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcTextureCoordinateGenerator::setMode(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::vector< double > /*[1:?]*/ > Ifc4x3_add1::IfcTextureCoordinateGenerator::Parameter() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< double > /*[1:?]*/ > Ifc4x3_add1::IfcTextureCoordinateGenerator::Parameter() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[1:?]*/ v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcTextureCoordinateGenerator::setParameter(boost::optional< std::vector< double > /*[1:?]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_add1::IfcTextureCoordinateGenerator::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1193]); } const IfcParse::entity& Ifc4x3_add1::IfcTextureCoordinateGenerator::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1193]); } Ifc4x3_add1::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(IfcEntityInstanceData&& e) : IfcTextureCoordinate(std::move(e)) { } -Ifc4x3_add1::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(aggregate_of< ::Ifc4x3_add1::IfcSurfaceTexture >::ptr v1_Maps, std::string v2_Mode, boost::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) : IfcTextureCoordinate(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); }; populate_derived(); } +Ifc4x3_add1::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(aggregate_of< ::Ifc4x3_add1::IfcSurfaceTexture >::ptr v1_Maps, std::string v2_Mode, boost::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) : IfcTextureCoordinate(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); }; populate_derived(); } // Function implementations for IfcTextureCoordinateIndices -std::vector< int > /*[3:?]*/ Ifc4x3_add1::IfcTextureCoordinateIndices::TexCoordIndex() const { std::vector< int > /*[3:?]*/ v = data_.get_attribute_value(0); return v; } +std::vector< int > /*[3:?]*/ Ifc4x3_add1::IfcTextureCoordinateIndices::TexCoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcTextureCoordinateIndices::setTexCoordIndex(std::vector< int > /*[3:?]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add1::IfcIndexedPolygonalFace* Ifc4x3_add1::IfcTextureCoordinateIndices::TexCoordsOf() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcIndexedPolygonalFace>(true); } +::Ifc4x3_add1::IfcIndexedPolygonalFace* Ifc4x3_add1::IfcTextureCoordinateIndices::TexCoordsOf() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcIndexedPolygonalFace>(true); } void Ifc4x3_add1::IfcTextureCoordinateIndices::setTexCoordsOf(::Ifc4x3_add1::IfcIndexedPolygonalFace* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } ::Ifc4x3_add1::IfcIndexedPolygonalTextureMap::list::ptr Ifc4x3_add1::IfcTextureCoordinateIndices::ToTexMap() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[546], 3)->as(); } @@ -17294,94 +17294,94 @@ void Ifc4x3_add1::IfcTextureCoordinateIndices::setTexCoordsOf(::Ifc4x3_add1::Ifc const IfcParse::entity& Ifc4x3_add1::IfcTextureCoordinateIndices::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1194]); } const IfcParse::entity& Ifc4x3_add1::IfcTextureCoordinateIndices::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1194]); } Ifc4x3_add1::IfcTextureCoordinateIndices::IfcTextureCoordinateIndices(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcTextureCoordinateIndices::IfcTextureCoordinateIndices(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_add1::IfcIndexedPolygonalFace* v2_TexCoordsOf) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_TexCoordIndex));set_attribute_value(1, v2_TexCoordsOf ? v2_TexCoordsOf->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcTextureCoordinateIndices::IfcTextureCoordinateIndices(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_add1::IfcIndexedPolygonalFace* v2_TexCoordsOf) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_TexCoordIndex));set_attribute_value(1, v2_TexCoordsOf ? v2_TexCoordsOf->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextureCoordinateIndicesWithVoids -std::vector< std::vector< int > > Ifc4x3_add1::IfcTextureCoordinateIndicesWithVoids::InnerTexCoordIndices() const { std::vector< std::vector< int > > v = data_.get_attribute_value(2); return v; } +std::vector< std::vector< int > > Ifc4x3_add1::IfcTextureCoordinateIndicesWithVoids::InnerTexCoordIndices() const { std::vector< std::vector< int > > v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcTextureCoordinateIndicesWithVoids::setInnerTexCoordIndices(std::vector< std::vector< int > > v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcTextureCoordinateIndicesWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1195]); } const IfcParse::entity& Ifc4x3_add1::IfcTextureCoordinateIndicesWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1195]); } Ifc4x3_add1::IfcTextureCoordinateIndicesWithVoids::IfcTextureCoordinateIndicesWithVoids(IfcEntityInstanceData&& e) : IfcTextureCoordinateIndices(std::move(e)) { } -Ifc4x3_add1::IfcTextureCoordinateIndicesWithVoids::IfcTextureCoordinateIndicesWithVoids(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_add1::IfcIndexedPolygonalFace* v2_TexCoordsOf, std::vector< std::vector< int > > v3_InnerTexCoordIndices) : IfcTextureCoordinateIndices(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_TexCoordIndex));set_attribute_value(1, v2_TexCoordsOf ? v2_TexCoordsOf->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_InnerTexCoordIndices));; populate_derived(); } +Ifc4x3_add1::IfcTextureCoordinateIndicesWithVoids::IfcTextureCoordinateIndicesWithVoids(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_add1::IfcIndexedPolygonalFace* v2_TexCoordsOf, std::vector< std::vector< int > > v3_InnerTexCoordIndices) : IfcTextureCoordinateIndices(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_TexCoordIndex));set_attribute_value(1, v2_TexCoordsOf ? v2_TexCoordsOf->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_InnerTexCoordIndices));; populate_derived(); } // Function implementations for IfcTextureMap -aggregate_of< ::Ifc4x3_add1::IfcTextureVertex >::ptr Ifc4x3_add1::IfcTextureMap::Vertices() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcTextureVertex >(); } +aggregate_of< ::Ifc4x3_add1::IfcTextureVertex >::ptr Ifc4x3_add1::IfcTextureMap::Vertices() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcTextureVertex >(); } void Ifc4x3_add1::IfcTextureMap::setVertices(aggregate_of< ::Ifc4x3_add1::IfcTextureVertex >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add1::IfcFace* Ifc4x3_add1::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add1::IfcFace>(true); } +::Ifc4x3_add1::IfcFace* Ifc4x3_add1::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add1::IfcFace>(true); } void Ifc4x3_add1::IfcTextureMap::setMappedTo(::Ifc4x3_add1::IfcFace* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcTextureMap::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1196]); } const IfcParse::entity& Ifc4x3_add1::IfcTextureMap::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1196]); } Ifc4x3_add1::IfcTextureMap::IfcTextureMap(IfcEntityInstanceData&& e) : IfcTextureCoordinate(std::move(e)) { } -Ifc4x3_add1::IfcTextureMap::IfcTextureMap(aggregate_of< ::Ifc4x3_add1::IfcSurfaceTexture >::ptr v1_Maps, aggregate_of< ::Ifc4x3_add1::IfcTextureVertex >::ptr v2_Vertices, ::Ifc4x3_add1::IfcFace* v3_MappedTo) : IfcTextureCoordinate(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Vertices)->generalize());set_attribute_value(2, v3_MappedTo ? v3_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcTextureMap::IfcTextureMap(aggregate_of< ::Ifc4x3_add1::IfcSurfaceTexture >::ptr v1_Maps, aggregate_of< ::Ifc4x3_add1::IfcTextureVertex >::ptr v2_Vertices, ::Ifc4x3_add1::IfcFace* v3_MappedTo) : IfcTextureCoordinate(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Vertices)->generalize());set_attribute_value(2, v3_MappedTo ? v3_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextureVertex -std::vector< double > /*[2:2]*/ Ifc4x3_add1::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[2:2]*/ Ifc4x3_add1::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcTextureVertex::setCoordinates(std::vector< double > /*[2:2]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add1::IfcTextureVertex::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1197]); } const IfcParse::entity& Ifc4x3_add1::IfcTextureVertex::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1197]); } Ifc4x3_add1::IfcTextureVertex::IfcTextureVertex(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcTextureVertex::IfcTextureVertex(std::vector< double > /*[2:2]*/ v1_Coordinates) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } +Ifc4x3_add1::IfcTextureVertex::IfcTextureVertex(std::vector< double > /*[2:2]*/ v1_Coordinates) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } // Function implementations for IfcTextureVertexList -std::vector< std::vector< double > > Ifc4x3_add1::IfcTextureVertexList::TexCoordsList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x3_add1::IfcTextureVertexList::TexCoordsList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcTextureVertexList::setTexCoordsList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add1::IfcTextureVertexList::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1198]); } const IfcParse::entity& Ifc4x3_add1::IfcTextureVertexList::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1198]); } Ifc4x3_add1::IfcTextureVertexList::IfcTextureVertexList(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcTextureVertexList::IfcTextureVertexList(std::vector< std::vector< double > > v1_TexCoordsList) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_TexCoordsList));; populate_derived(); } +Ifc4x3_add1::IfcTextureVertexList::IfcTextureVertexList(std::vector< std::vector< double > > v1_TexCoordsList) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_TexCoordsList));; populate_derived(); } // Function implementations for IfcThirdOrderPolynomialSpiral -double Ifc4x3_add1::IfcThirdOrderPolynomialSpiral::CubicTerm() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add1::IfcThirdOrderPolynomialSpiral::CubicTerm() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcThirdOrderPolynomialSpiral::setCubicTerm(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_add1::IfcThirdOrderPolynomialSpiral::QuadraticTerm() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add1::IfcThirdOrderPolynomialSpiral::QuadraticTerm() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcThirdOrderPolynomialSpiral::setQuadraticTerm(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_add1::IfcThirdOrderPolynomialSpiral::LinearTerm() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add1::IfcThirdOrderPolynomialSpiral::LinearTerm() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcThirdOrderPolynomialSpiral::setLinearTerm(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_add1::IfcThirdOrderPolynomialSpiral::ConstantTerm() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_add1::IfcThirdOrderPolynomialSpiral::ConstantTerm() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcThirdOrderPolynomialSpiral::setConstantTerm(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add1::IfcThirdOrderPolynomialSpiral::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1205]); } const IfcParse::entity& Ifc4x3_add1::IfcThirdOrderPolynomialSpiral::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1205]); } Ifc4x3_add1::IfcThirdOrderPolynomialSpiral::IfcThirdOrderPolynomialSpiral(IfcEntityInstanceData&& e) : IfcSpiral(std::move(e)) { } -Ifc4x3_add1::IfcThirdOrderPolynomialSpiral::IfcThirdOrderPolynomialSpiral(::Ifc4x3_add1::IfcAxis2Placement* v1_Position, double v2_CubicTerm, boost::optional< double > v3_QuadraticTerm, boost::optional< double > v4_LinearTerm, boost::optional< double > v5_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CubicTerm)); if (v3_QuadraticTerm) {set_attribute_value(2, (*v3_QuadraticTerm)); } if (v4_LinearTerm) {set_attribute_value(3, (*v4_LinearTerm)); } if (v5_ConstantTerm) {set_attribute_value(4, (*v5_ConstantTerm)); }; populate_derived(); } +Ifc4x3_add1::IfcThirdOrderPolynomialSpiral::IfcThirdOrderPolynomialSpiral(::Ifc4x3_add1::IfcAxis2Placement* v1_Position, double v2_CubicTerm, boost::optional< double > v3_QuadraticTerm, boost::optional< double > v4_LinearTerm, boost::optional< double > v5_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CubicTerm)); if (v3_QuadraticTerm) {set_attribute_value(2, (*v3_QuadraticTerm)); } if (v4_LinearTerm) {set_attribute_value(3, (*v4_LinearTerm)); } if (v5_ConstantTerm) {set_attribute_value(4, (*v5_ConstantTerm)); }; populate_derived(); } // Function implementations for IfcTimePeriod -std::string Ifc4x3_add1::IfcTimePeriod::StartTime() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_add1::IfcTimePeriod::StartTime() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcTimePeriod::setStartTime(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x3_add1::IfcTimePeriod::EndTime() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_add1::IfcTimePeriod::EndTime() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcTimePeriod::setEndTime(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcTimePeriod::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1209]); } const IfcParse::entity& Ifc4x3_add1::IfcTimePeriod::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1209]); } Ifc4x3_add1::IfcTimePeriod::IfcTimePeriod(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcTimePeriod::IfcTimePeriod(std::string v1_StartTime, std::string v2_EndTime) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime));; populate_derived(); } +Ifc4x3_add1::IfcTimePeriod::IfcTimePeriod(std::string v1_StartTime, std::string v2_EndTime) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime));; populate_derived(); } // Function implementations for IfcTimeSeries -std::string Ifc4x3_add1::IfcTimeSeries::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_add1::IfcTimeSeries::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcTimeSeries::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_add1::IfcTimeSeries::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTimeSeries::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcTimeSeries::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::string Ifc4x3_add1::IfcTimeSeries::StartTime() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3_add1::IfcTimeSeries::StartTime() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcTimeSeries::setStartTime(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::string Ifc4x3_add1::IfcTimeSeries::EndTime() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x3_add1::IfcTimeSeries::EndTime() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcTimeSeries::setEndTime(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Value Ifc4x3_add1::IfcTimeSeries::TimeSeriesDataType() const { return ::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Value Ifc4x3_add1::IfcTimeSeries::TimeSeriesDataType() const { return ::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::FromString(get_attribute_value(4)); } void Ifc4x3_add1::IfcTimeSeries::setTimeSeriesDataType(::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add1::IfcDataOriginEnum::Value Ifc4x3_add1::IfcTimeSeries::DataOrigin() const { return ::Ifc4x3_add1::IfcDataOriginEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_add1::IfcDataOriginEnum::Value Ifc4x3_add1::IfcTimeSeries::DataOrigin() const { return ::Ifc4x3_add1::IfcDataOriginEnum::FromString(get_attribute_value(5)); } void Ifc4x3_add1::IfcTimeSeries::setDataOrigin(::Ifc4x3_add1::IfcDataOriginEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< std::string > Ifc4x3_add1::IfcTimeSeries::UserDefinedDataOrigin() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTimeSeries::UserDefinedDataOrigin() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_add1::IfcUnit* Ifc4x3_add1::IfcTimeSeries::Unit() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_add1::IfcUnit>(true); } +::Ifc4x3_add1::IfcUnit* Ifc4x3_add1::IfcTimeSeries::Unit() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_add1::IfcUnit>(true); } void Ifc4x3_add1::IfcTimeSeries::setUnit(::Ifc4x3_add1::IfcUnit* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_add1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_add1::IfcTimeSeries::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[427], 3)->as(); } @@ -17389,17 +17389,17 @@ void Ifc4x3_add1::IfcTimeSeries::setUnit(::Ifc4x3_add1::IfcUnit* v) { set_attrib const IfcParse::entity& Ifc4x3_add1::IfcTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1210]); } const IfcParse::entity& Ifc4x3_add1::IfcTimeSeries::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1210]); } Ifc4x3_add1::IfcTimeSeries::IfcTimeSeries(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add1::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add1::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add1::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add1::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTimeSeriesValue -aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr Ifc4x3_add1::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcValue >(); } +aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr Ifc4x3_add1::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcValue >(); } void Ifc4x3_add1::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add1::IfcTimeSeriesValue::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1212]); } const IfcParse::entity& Ifc4x3_add1::IfcTimeSeriesValue::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1212]); } Ifc4x3_add1::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_ListValues)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_add1::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_ListValues)->generalize());; populate_derived(); } // Function implementations for IfcTopologicalRepresentationItem @@ -17407,7 +17407,7 @@ Ifc4x3_add1::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_add1: const IfcParse::entity& Ifc4x3_add1::IfcTopologicalRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1214]); } const IfcParse::entity& Ifc4x3_add1::IfcTopologicalRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1214]); } Ifc4x3_add1::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add1::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcTopologyRepresentation @@ -17415,79 +17415,79 @@ Ifc4x3_add1::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem( const IfcParse::entity& Ifc4x3_add1::IfcTopologyRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1215]); } const IfcParse::entity& Ifc4x3_add1::IfcTopologyRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1215]); } Ifc4x3_add1::IfcTopologyRepresentation::IfcTopologyRepresentation(IfcEntityInstanceData&& e) : IfcShapeModel(std::move(e)) { } -Ifc4x3_add1::IfcTopologyRepresentation::IfcTopologyRepresentation(::Ifc4x3_add1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_add1::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcTopologyRepresentation::IfcTopologyRepresentation(::Ifc4x3_add1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_add1::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcToroidalSurface -double Ifc4x3_add1::IfcToroidalSurface::MajorRadius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add1::IfcToroidalSurface::MajorRadius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcToroidalSurface::setMajorRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_add1::IfcToroidalSurface::MinorRadius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_add1::IfcToroidalSurface::MinorRadius() const { double v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcToroidalSurface::setMinorRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add1::IfcToroidalSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1216]); } const IfcParse::entity& Ifc4x3_add1::IfcToroidalSurface::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1216]); } Ifc4x3_add1::IfcToroidalSurface::IfcToroidalSurface(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x3_add1::IfcToroidalSurface::IfcToroidalSurface(::Ifc4x3_add1::IfcAxis2Placement3D* v1_Position, double v2_MajorRadius, double v3_MinorRadius) : IfcElementarySurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius));; populate_derived(); } +Ifc4x3_add1::IfcToroidalSurface::IfcToroidalSurface(::Ifc4x3_add1::IfcAxis2Placement3D* v1_Position, double v2_MajorRadius, double v3_MinorRadius) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius));; populate_derived(); } // Function implementations for IfcTrackElement -boost::optional< ::Ifc4x3_add1::IfcTrackElementTypeEnum::Value > Ifc4x3_add1::IfcTrackElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcTrackElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcTrackElementTypeEnum::Value > Ifc4x3_add1::IfcTrackElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcTrackElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcTrackElement::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcTrackElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcTrackElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcTrackElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1218]); } const IfcParse::entity& Ifc4x3_add1::IfcTrackElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1218]); } Ifc4x3_add1::IfcTrackElement::IfcTrackElement(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add1::IfcTrackElement::IfcTrackElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcTrackElementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcTrackElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcTrackElement::IfcTrackElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcTrackElementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcTrackElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTrackElementType -::Ifc4x3_add1::IfcTrackElementTypeEnum::Value Ifc4x3_add1::IfcTrackElementType::PredefinedType() const { return ::Ifc4x3_add1::IfcTrackElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcTrackElementTypeEnum::Value Ifc4x3_add1::IfcTrackElementType::PredefinedType() const { return ::Ifc4x3_add1::IfcTrackElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcTrackElementType::setPredefinedType(::Ifc4x3_add1::IfcTrackElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcTrackElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcTrackElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1219]); } const IfcParse::entity& Ifc4x3_add1::IfcTrackElementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1219]); } Ifc4x3_add1::IfcTrackElementType::IfcTrackElementType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add1::IfcTrackElementType::IfcTrackElementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTrackElementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcTrackElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcTrackElementType::IfcTrackElementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTrackElementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcTrackElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTransformer -boost::optional< ::Ifc4x3_add1::IfcTransformerTypeEnum::Value > Ifc4x3_add1::IfcTransformer::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcTransformerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcTransformerTypeEnum::Value > Ifc4x3_add1::IfcTransformer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcTransformerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcTransformer::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcTransformerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcTransformerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcTransformer::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1221]); } const IfcParse::entity& Ifc4x3_add1::IfcTransformer::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1221]); } Ifc4x3_add1::IfcTransformer::IfcTransformer(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add1::IfcTransformer::IfcTransformer(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcTransformerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcTransformer::IfcTransformer(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcTransformerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTransformerType -::Ifc4x3_add1::IfcTransformerTypeEnum::Value Ifc4x3_add1::IfcTransformerType::PredefinedType() const { return ::Ifc4x3_add1::IfcTransformerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcTransformerTypeEnum::Value Ifc4x3_add1::IfcTransformerType::PredefinedType() const { return ::Ifc4x3_add1::IfcTransformerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcTransformerType::setPredefinedType(::Ifc4x3_add1::IfcTransformerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcTransformerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcTransformerType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1222]); } const IfcParse::entity& Ifc4x3_add1::IfcTransformerType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1222]); } Ifc4x3_add1::IfcTransformerType::IfcTransformerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add1::IfcTransformerType::IfcTransformerType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTransformerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcTransformerType::IfcTransformerType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTransformerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTransportElement -boost::optional< ::Ifc4x3_add1::IfcTransportElementTypeEnum::Value > Ifc4x3_add1::IfcTransportElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcTransportElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcTransportElementTypeEnum::Value > Ifc4x3_add1::IfcTransportElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcTransportElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcTransportElement::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcTransportElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcTransportElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcTransportElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1228]); } const IfcParse::entity& Ifc4x3_add1::IfcTransportElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1228]); } Ifc4x3_add1::IfcTransportElement::IfcTransportElement(IfcEntityInstanceData&& e) : IfcTransportationDevice(std::move(e)) { } -Ifc4x3_add1::IfcTransportElement::IfcTransportElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcTransportElementTypeEnum::Value > v9_PredefinedType) : IfcTransportationDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcTransportElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcTransportElement::IfcTransportElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcTransportElementTypeEnum::Value > v9_PredefinedType) : IfcTransportationDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcTransportElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTransportElementType -::Ifc4x3_add1::IfcTransportElementTypeEnum::Value Ifc4x3_add1::IfcTransportElementType::PredefinedType() const { return ::Ifc4x3_add1::IfcTransportElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcTransportElementTypeEnum::Value Ifc4x3_add1::IfcTransportElementType::PredefinedType() const { return ::Ifc4x3_add1::IfcTransportElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcTransportElementType::setPredefinedType(::Ifc4x3_add1::IfcTransportElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcTransportElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcTransportElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1229]); } const IfcParse::entity& Ifc4x3_add1::IfcTransportElementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1229]); } Ifc4x3_add1::IfcTransportElementType::IfcTransportElementType(IfcEntityInstanceData&& e) : IfcTransportationDeviceType(std::move(e)) { } -Ifc4x3_add1::IfcTransportElementType::IfcTransportElementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTransportElementTypeEnum::Value v10_PredefinedType) : IfcTransportationDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcTransportElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcTransportElementType::IfcTransportElementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTransportElementTypeEnum::Value v10_PredefinedType) : IfcTransportationDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcTransportElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTransportationDevice @@ -17495,7 +17495,7 @@ Ifc4x3_add1::IfcTransportElementType::IfcTransportElementType(std::string v1_Glo const IfcParse::entity& Ifc4x3_add1::IfcTransportationDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1226]); } const IfcParse::entity& Ifc4x3_add1::IfcTransportationDevice::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1226]); } Ifc4x3_add1::IfcTransportationDevice::IfcTransportationDevice(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_add1::IfcTransportationDevice::IfcTransportationDevice(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add1::IfcTransportationDevice::IfcTransportationDevice(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcTransportationDeviceType @@ -17503,92 +17503,92 @@ Ifc4x3_add1::IfcTransportationDevice::IfcTransportationDevice(std::string v1_Glo const IfcParse::entity& Ifc4x3_add1::IfcTransportationDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1227]); } const IfcParse::entity& Ifc4x3_add1::IfcTransportationDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1227]); } Ifc4x3_add1::IfcTransportationDeviceType::IfcTransportationDeviceType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_add1::IfcTransportationDeviceType::IfcTransportationDeviceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add1::IfcTransportationDeviceType::IfcTransportationDeviceType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcTrapeziumProfileDef -double Ifc4x3_add1::IfcTrapeziumProfileDef::BottomXDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add1::IfcTrapeziumProfileDef::BottomXDim() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcTrapeziumProfileDef::setBottomXDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_add1::IfcTrapeziumProfileDef::TopXDim() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add1::IfcTrapeziumProfileDef::TopXDim() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcTrapeziumProfileDef::setTopXDim(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_add1::IfcTrapeziumProfileDef::YDim() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_add1::IfcTrapeziumProfileDef::YDim() const { double v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcTrapeziumProfileDef::setYDim(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_add1::IfcTrapeziumProfileDef::TopXOffset() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_add1::IfcTrapeziumProfileDef::TopXOffset() const { double v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcTrapeziumProfileDef::setTopXOffset(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add1::IfcTrapeziumProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1231]); } const IfcParse::entity& Ifc4x3_add1::IfcTrapeziumProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1231]); } Ifc4x3_add1::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_add1::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D* v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; populate_derived(); } +Ifc4x3_add1::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::IfcAxis2Placement2D* v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; populate_derived(); } // Function implementations for IfcTriangulatedFaceSet -boost::optional< std::vector< std::vector< double > > > Ifc4x3_add1::IfcTriangulatedFaceSet::Normals() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::vector< double > > v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< std::vector< double > > > Ifc4x3_add1::IfcTriangulatedFaceSet::Normals() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::vector< double > > v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcTriangulatedFaceSet::setNormals(boost::optional< std::vector< std::vector< double > > > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< bool > Ifc4x3_add1::IfcTriangulatedFaceSet::Closed() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } bool v = data_.get_attribute_value(2); return v; } +boost::optional< bool > Ifc4x3_add1::IfcTriangulatedFaceSet::Closed() const { if(get_attribute_value(2).isNull()) { return boost::none; } bool v = get_attribute_value(2); return v; } void Ifc4x3_add1::IfcTriangulatedFaceSet::setClosed(boost::optional< bool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector< std::vector< int > > Ifc4x3_add1::IfcTriangulatedFaceSet::CoordIndex() const { std::vector< std::vector< int > > v = data_.get_attribute_value(3); return v; } +std::vector< std::vector< int > > Ifc4x3_add1::IfcTriangulatedFaceSet::CoordIndex() const { std::vector< std::vector< int > > v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcTriangulatedFaceSet::setCoordIndex(std::vector< std::vector< int > > v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_add1::IfcTriangulatedFaceSet::PnIndex() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_add1::IfcTriangulatedFaceSet::PnIndex() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcTriangulatedFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add1::IfcTriangulatedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1232]); } const IfcParse::entity& Ifc4x3_add1::IfcTriangulatedFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1232]); } Ifc4x3_add1::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(IfcEntityInstanceData&& e) : IfcTessellatedFaceSet(std::move(e)) { } -Ifc4x3_add1::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(::Ifc4x3_add1::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(storage_t(5))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }; populate_derived(); } +Ifc4x3_add1::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(::Ifc4x3_add1::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(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }; populate_derived(); } // Function implementations for IfcTriangulatedIrregularNetwork -std::vector< int > /*[1:?]*/ Ifc4x3_add1::IfcTriangulatedIrregularNetwork::Flags() const { std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(5); return v; } +std::vector< int > /*[1:?]*/ Ifc4x3_add1::IfcTriangulatedIrregularNetwork::Flags() const { std::vector< int > /*[1:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcTriangulatedIrregularNetwork::setFlags(std::vector< int > /*[1:?]*/ v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add1::IfcTriangulatedIrregularNetwork::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1233]); } const IfcParse::entity& Ifc4x3_add1::IfcTriangulatedIrregularNetwork::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1233]); } Ifc4x3_add1::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(IfcEntityInstanceData&& e) : IfcTriangulatedFaceSet(std::move(e)) { } -Ifc4x3_add1::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::Ifc4x3_add1::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(storage_t(6))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags));; populate_derived(); } +Ifc4x3_add1::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::Ifc4x3_add1::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(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags));; populate_derived(); } // Function implementations for IfcTrimmedCurve -::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCurve>(true); } +::Ifc4x3_add1::IfcCurve* Ifc4x3_add1::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcCurve>(true); } void Ifc4x3_add1::IfcTrimmedCurve::setBasisCurve(::Ifc4x3_add1::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr Ifc4x3_add1::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcTrimmingSelect >(); } +aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr Ifc4x3_add1::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add1::IfcTrimmingSelect >(); } void Ifc4x3_add1::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr Ifc4x3_add1::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcTrimmingSelect >(); } +aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr Ifc4x3_add1::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add1::IfcTrimmingSelect >(); } void Ifc4x3_add1::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x3_add1::IfcTrimmedCurve::SenseAgreement() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x3_add1::IfcTrimmedCurve::SenseAgreement() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcTrimmedCurve::setSenseAgreement(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add1::IfcTrimmingPreference::Value Ifc4x3_add1::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3_add1::IfcTrimmingPreference::FromString(data_.get_attribute_value(4)); } +::Ifc4x3_add1::IfcTrimmingPreference::Value Ifc4x3_add1::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3_add1::IfcTrimmingPreference::FromString(get_attribute_value(4)); } void Ifc4x3_add1::IfcTrimmedCurve::setMasterRepresentation(::Ifc4x3_add1::IfcTrimmingPreference::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3_add1::IfcTrimmingPreference::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add1::IfcTrimmedCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1234]); } const IfcParse::entity& Ifc4x3_add1::IfcTrimmedCurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1234]); } Ifc4x3_add1::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_add1::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_add1::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_add1::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Trim1)->generalize());set_attribute_value(2, (v3_Trim2)->generalize());set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add1::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; populate_derived(); } +Ifc4x3_add1::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_add1::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_add1::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_add1::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Trim1)->generalize());set_attribute_value(2, (v3_Trim2)->generalize());set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add1::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcTubeBundle -boost::optional< ::Ifc4x3_add1::IfcTubeBundleTypeEnum::Value > Ifc4x3_add1::IfcTubeBundle::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcTubeBundleTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcTubeBundleTypeEnum::Value > Ifc4x3_add1::IfcTubeBundle::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcTubeBundleTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcTubeBundle::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcTubeBundleTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcTubeBundleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcTubeBundle::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1238]); } const IfcParse::entity& Ifc4x3_add1::IfcTubeBundle::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1238]); } Ifc4x3_add1::IfcTubeBundle::IfcTubeBundle(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add1::IfcTubeBundle::IfcTubeBundle(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcTubeBundle::IfcTubeBundle(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTubeBundleType -::Ifc4x3_add1::IfcTubeBundleTypeEnum::Value Ifc4x3_add1::IfcTubeBundleType::PredefinedType() const { return ::Ifc4x3_add1::IfcTubeBundleTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcTubeBundleTypeEnum::Value Ifc4x3_add1::IfcTubeBundleType::PredefinedType() const { return ::Ifc4x3_add1::IfcTubeBundleTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcTubeBundleType::setPredefinedType(::Ifc4x3_add1::IfcTubeBundleTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcTubeBundleTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcTubeBundleType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1239]); } const IfcParse::entity& Ifc4x3_add1::IfcTubeBundleType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1239]); } Ifc4x3_add1::IfcTubeBundleType::IfcTubeBundleType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add1::IfcTubeBundleType::IfcTubeBundleType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTubeBundleTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcTubeBundleType::IfcTubeBundleType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcTubeBundleTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTypeObject -boost::optional< std::string > Ifc4x3_add1::IfcTypeObject::ApplicableOccurrence() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTypeObject::ApplicableOccurrence() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcTypeObject::setApplicableOccurrence(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > Ifc4x3_add1::IfcTypeObject::HasPropertySets() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_add1::IfcPropertySetDefinition >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > Ifc4x3_add1::IfcTypeObject::HasPropertySets() const { if(get_attribute_value(5).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_add1::IfcPropertySetDefinition >(); } void Ifc4x3_add1::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v) { if (v) {set_attribute_value(5, (*v)->generalize());} else {unset_attribute_value(5);} } ::Ifc4x3_add1::IfcRelDefinesByType::list::ptr Ifc4x3_add1::IfcTypeObject::Types() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[935], 5)->as(); } @@ -17596,14 +17596,14 @@ void Ifc4x3_add1::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_o const IfcParse::entity& Ifc4x3_add1::IfcTypeObject::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1241]); } const IfcParse::entity& Ifc4x3_add1::IfcTypeObject::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1241]); } Ifc4x3_add1::IfcTypeObject::IfcTypeObject(IfcEntityInstanceData&& e) : IfcObjectDefinition(std::move(e)) { } -Ifc4x3_add1::IfcTypeObject::IfcTypeObject(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets) : IfcObjectDefinition(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); }; populate_derived(); } +Ifc4x3_add1::IfcTypeObject::IfcTypeObject(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets) : IfcObjectDefinition(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); }; populate_derived(); } // Function implementations for IfcTypeProcess -boost::optional< std::string > Ifc4x3_add1::IfcTypeProcess::Identification() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTypeProcess::Identification() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcTypeProcess::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_add1::IfcTypeProcess::LongDescription() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTypeProcess::LongDescription() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcTypeProcess::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_add1::IfcTypeProcess::ProcessType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTypeProcess::ProcessType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcTypeProcess::setProcessType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } ::Ifc4x3_add1::IfcRelAssignsToProcess::list::ptr Ifc4x3_add1::IfcTypeProcess::OperatesOn() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[905], 6)->as(); } @@ -17611,12 +17611,12 @@ void Ifc4x3_add1::IfcTypeProcess::setProcessType(boost::optional< std::string > const IfcParse::entity& Ifc4x3_add1::IfcTypeProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1242]); } const IfcParse::entity& Ifc4x3_add1::IfcTypeProcess::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1242]); } Ifc4x3_add1::IfcTypeProcess::IfcTypeProcess(IfcEntityInstanceData&& e) : IfcTypeObject(std::move(e)) { } -Ifc4x3_add1::IfcTypeProcess::IfcTypeProcess(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType) : IfcTypeObject(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }; populate_derived(); } +Ifc4x3_add1::IfcTypeProcess::IfcTypeProcess(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType) : IfcTypeObject(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }; populate_derived(); } // Function implementations for IfcTypeProduct -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > Ifc4x3_add1::IfcTypeProduct::RepresentationMaps() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3_add1::IfcRepresentationMap >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > Ifc4x3_add1::IfcTypeProduct::RepresentationMaps() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3_add1::IfcRepresentationMap >(); } void Ifc4x3_add1::IfcTypeProduct::setRepresentationMaps(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_add1::IfcTypeProduct::Tag() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTypeProduct::Tag() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcTypeProduct::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } ::Ifc4x3_add1::IfcRelAssignsToProduct::list::ptr Ifc4x3_add1::IfcTypeProduct::ReferencedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[906], 6)->as(); } @@ -17624,14 +17624,14 @@ void Ifc4x3_add1::IfcTypeProduct::setTag(boost::optional< std::string > v) { if const IfcParse::entity& Ifc4x3_add1::IfcTypeProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1243]); } const IfcParse::entity& Ifc4x3_add1::IfcTypeProduct::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1243]); } Ifc4x3_add1::IfcTypeProduct::IfcTypeProduct(IfcEntityInstanceData&& e) : IfcTypeObject(std::move(e)) { } -Ifc4x3_add1::IfcTypeProduct::IfcTypeProduct(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag) : IfcTypeObject(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add1::IfcTypeProduct::IfcTypeProduct(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag) : IfcTypeObject(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcTypeResource -boost::optional< std::string > Ifc4x3_add1::IfcTypeResource::Identification() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTypeResource::Identification() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcTypeResource::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_add1::IfcTypeResource::LongDescription() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTypeResource::LongDescription() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcTypeResource::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_add1::IfcTypeResource::ResourceType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcTypeResource::ResourceType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcTypeResource::setResourceType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } ::Ifc4x3_add1::IfcRelAssignsToResource::list::ptr Ifc4x3_add1::IfcTypeResource::ResourceOf() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD1_types[907], 6)->as(); } @@ -17639,131 +17639,131 @@ void Ifc4x3_add1::IfcTypeResource::setResourceType(boost::optional< std::string const IfcParse::entity& Ifc4x3_add1::IfcTypeResource::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1244]); } const IfcParse::entity& Ifc4x3_add1::IfcTypeResource::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1244]); } Ifc4x3_add1::IfcTypeResource::IfcTypeResource(IfcEntityInstanceData&& e) : IfcTypeObject(std::move(e)) { } -Ifc4x3_add1::IfcTypeResource::IfcTypeResource(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType) : IfcTypeObject(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); }; populate_derived(); } +Ifc4x3_add1::IfcTypeResource::IfcTypeResource(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType) : IfcTypeObject(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); }; populate_derived(); } // Function implementations for IfcUShapeProfileDef -double Ifc4x3_add1::IfcUShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add1::IfcUShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcUShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_add1::IfcUShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add1::IfcUShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcUShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_add1::IfcUShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_add1::IfcUShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcUShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_add1::IfcUShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_add1::IfcUShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcUShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_add1::IfcUShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add1::IfcUShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcUShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_add1::IfcUShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_add1::IfcUShapeProfileDef::EdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcUShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_add1::IfcUShapeProfileDef::FlangeSlope() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_add1::IfcUShapeProfileDef::FlangeSlope() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_add1::IfcUShapeProfileDef::setFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_add1::IfcUShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1255]); } const IfcParse::entity& Ifc4x3_add1::IfcUShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1255]); } Ifc4x3_add1::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_add1::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::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(storage_t(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } +Ifc4x3_add1::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::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(in_memory_attribute_storage(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } // Function implementations for IfcUnitAssignment -aggregate_of< ::Ifc4x3_add1::IfcUnit >::ptr Ifc4x3_add1::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcUnit >(); } +aggregate_of< ::Ifc4x3_add1::IfcUnit >::ptr Ifc4x3_add1::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcUnit >(); } void Ifc4x3_add1::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x3_add1::IfcUnit >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add1::IfcUnitAssignment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1252]); } const IfcParse::entity& Ifc4x3_add1::IfcUnitAssignment::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1252]); } Ifc4x3_add1::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3_add1::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Units)->generalize());; populate_derived(); } +Ifc4x3_add1::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3_add1::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Units)->generalize());; populate_derived(); } // Function implementations for IfcUnitaryControlElement -boost::optional< ::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_add1::IfcUnitaryControlElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_add1::IfcUnitaryControlElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcUnitaryControlElement::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcUnitaryControlElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1246]); } const IfcParse::entity& Ifc4x3_add1::IfcUnitaryControlElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1246]); } Ifc4x3_add1::IfcUnitaryControlElement::IfcUnitaryControlElement(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_add1::IfcUnitaryControlElement::IfcUnitaryControlElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcUnitaryControlElement::IfcUnitaryControlElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcUnitaryControlElementType -::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Value Ifc4x3_add1::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Value Ifc4x3_add1::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcUnitaryControlElementType::setPredefinedType(::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcUnitaryControlElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1247]); } const IfcParse::entity& Ifc4x3_add1::IfcUnitaryControlElementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1247]); } Ifc4x3_add1::IfcUnitaryControlElementType::IfcUnitaryControlElementType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_add1::IfcUnitaryControlElementType::IfcUnitaryControlElementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcUnitaryControlElementType::IfcUnitaryControlElementType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcUnitaryEquipment -boost::optional< ::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x3_add1::IfcUnitaryEquipment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x3_add1::IfcUnitaryEquipment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcUnitaryEquipment::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcUnitaryEquipment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1249]); } const IfcParse::entity& Ifc4x3_add1::IfcUnitaryEquipment::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1249]); } Ifc4x3_add1::IfcUnitaryEquipment::IfcUnitaryEquipment(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add1::IfcUnitaryEquipment::IfcUnitaryEquipment(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcUnitaryEquipment::IfcUnitaryEquipment(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcUnitaryEquipmentType -::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3_add1::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3_add1::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcUnitaryEquipmentType::setPredefinedType(::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcUnitaryEquipmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1250]); } const IfcParse::entity& Ifc4x3_add1::IfcUnitaryEquipmentType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1250]); } Ifc4x3_add1::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add1::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcValve -boost::optional< ::Ifc4x3_add1::IfcValveTypeEnum::Value > Ifc4x3_add1::IfcValve::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcValveTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcValveTypeEnum::Value > Ifc4x3_add1::IfcValve::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcValveTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcValve::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcValveTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcValveTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcValve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1257]); } const IfcParse::entity& Ifc4x3_add1::IfcValve::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1257]); } Ifc4x3_add1::IfcValve::IfcValve(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_add1::IfcValve::IfcValve(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcValveTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcValve::IfcValve(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcValveTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcValveType -::Ifc4x3_add1::IfcValveTypeEnum::Value Ifc4x3_add1::IfcValveType::PredefinedType() const { return ::Ifc4x3_add1::IfcValveTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcValveTypeEnum::Value Ifc4x3_add1::IfcValveType::PredefinedType() const { return ::Ifc4x3_add1::IfcValveTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcValveType::setPredefinedType(::Ifc4x3_add1::IfcValveTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcValveTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcValveType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1258]); } const IfcParse::entity& Ifc4x3_add1::IfcValveType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1258]); } Ifc4x3_add1::IfcValveType::IfcValveType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_add1::IfcValveType::IfcValveType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcValveTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcValveType::IfcValveType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcValveTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcVector -::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcDirection>(true); } +::Ifc4x3_add1::IfcDirection* Ifc4x3_add1::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcDirection>(true); } void Ifc4x3_add1::IfcVector::setOrientation(::Ifc4x3_add1::IfcDirection* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_add1::IfcVector::Magnitude() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add1::IfcVector::Magnitude() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcVector::setMagnitude(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcVector::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1261]); } const IfcParse::entity& Ifc4x3_add1::IfcVector::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1261]); } Ifc4x3_add1::IfcVector::IfcVector(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcVector::IfcVector(::Ifc4x3_add1::IfcDirection* v1_Orientation, double v2_Magnitude) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Orientation ? v1_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Magnitude));; populate_derived(); } +Ifc4x3_add1::IfcVector::IfcVector(::Ifc4x3_add1::IfcDirection* v1_Orientation, double v2_Magnitude) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Orientation ? v1_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Magnitude));; populate_derived(); } // Function implementations for IfcVehicle -boost::optional< ::Ifc4x3_add1::IfcVehicleTypeEnum::Value > Ifc4x3_add1::IfcVehicle::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcVehicleTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcVehicleTypeEnum::Value > Ifc4x3_add1::IfcVehicle::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcVehicleTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcVehicle::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcVehicleTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcVehicleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcVehicle::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1263]); } const IfcParse::entity& Ifc4x3_add1::IfcVehicle::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1263]); } Ifc4x3_add1::IfcVehicle::IfcVehicle(IfcEntityInstanceData&& e) : IfcTransportationDevice(std::move(e)) { } -Ifc4x3_add1::IfcVehicle::IfcVehicle(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcVehicleTypeEnum::Value > v9_PredefinedType) : IfcTransportationDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcVehicleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcVehicle::IfcVehicle(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcVehicleTypeEnum::Value > v9_PredefinedType) : IfcTransportationDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcVehicleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcVehicleType -::Ifc4x3_add1::IfcVehicleTypeEnum::Value Ifc4x3_add1::IfcVehicleType::PredefinedType() const { return ::Ifc4x3_add1::IfcVehicleTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcVehicleTypeEnum::Value Ifc4x3_add1::IfcVehicleType::PredefinedType() const { return ::Ifc4x3_add1::IfcVehicleTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcVehicleType::setPredefinedType(::Ifc4x3_add1::IfcVehicleTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcVehicleTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcVehicleType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1264]); } const IfcParse::entity& Ifc4x3_add1::IfcVehicleType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1264]); } Ifc4x3_add1::IfcVehicleType::IfcVehicleType(IfcEntityInstanceData&& e) : IfcTransportationDeviceType(std::move(e)) { } -Ifc4x3_add1::IfcVehicleType::IfcVehicleType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcVehicleTypeEnum::Value v10_PredefinedType) : IfcTransportationDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcVehicleTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcVehicleType::IfcVehicleType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcVehicleTypeEnum::Value v10_PredefinedType) : IfcTransportationDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcVehicleTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcVertex @@ -17771,109 +17771,109 @@ Ifc4x3_add1::IfcVehicleType::IfcVehicleType(std::string v1_GlobalId, ::Ifc4x3_ad const IfcParse::entity& Ifc4x3_add1::IfcVertex::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1266]); } const IfcParse::entity& Ifc4x3_add1::IfcVertex::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1266]); } Ifc4x3_add1::IfcVertex::IfcVertex(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_add1::IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add1::IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcVertexLoop -::Ifc4x3_add1::IfcVertex* Ifc4x3_add1::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcVertex>(true); } +::Ifc4x3_add1::IfcVertex* Ifc4x3_add1::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcVertex>(true); } void Ifc4x3_add1::IfcVertexLoop::setLoopVertex(::Ifc4x3_add1::IfcVertex* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add1::IfcVertexLoop::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1267]); } const IfcParse::entity& Ifc4x3_add1::IfcVertexLoop::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1267]); } Ifc4x3_add1::IfcVertexLoop::IfcVertexLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc4x3_add1::IfcVertexLoop::IfcVertexLoop(::Ifc4x3_add1::IfcVertex* v1_LoopVertex) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_LoopVertex ? v1_LoopVertex->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcVertexLoop::IfcVertexLoop(::Ifc4x3_add1::IfcVertex* v1_LoopVertex) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_LoopVertex ? v1_LoopVertex->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcVertexPoint -::Ifc4x3_add1::IfcPoint* Ifc4x3_add1::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add1::IfcPoint>(true); } +::Ifc4x3_add1::IfcPoint* Ifc4x3_add1::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add1::IfcPoint>(true); } void Ifc4x3_add1::IfcVertexPoint::setVertexGeometry(::Ifc4x3_add1::IfcPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add1::IfcVertexPoint::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1268]); } const IfcParse::entity& Ifc4x3_add1::IfcVertexPoint::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1268]); } Ifc4x3_add1::IfcVertexPoint::IfcVertexPoint(IfcEntityInstanceData&& e) : IfcVertex(std::move(e)) { } -Ifc4x3_add1::IfcVertexPoint::IfcVertexPoint(::Ifc4x3_add1::IfcPoint* v1_VertexGeometry) : IfcVertex(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_VertexGeometry ? v1_VertexGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcVertexPoint::IfcVertexPoint(::Ifc4x3_add1::IfcPoint* v1_VertexGeometry) : IfcVertex(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_VertexGeometry ? v1_VertexGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcVibrationDamper -boost::optional< ::Ifc4x3_add1::IfcVibrationDamperTypeEnum::Value > Ifc4x3_add1::IfcVibrationDamper::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcVibrationDamperTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcVibrationDamperTypeEnum::Value > Ifc4x3_add1::IfcVibrationDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcVibrationDamperTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcVibrationDamper::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcVibrationDamperTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcVibrationDamperTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcVibrationDamper::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1269]); } const IfcParse::entity& Ifc4x3_add1::IfcVibrationDamper::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1269]); } Ifc4x3_add1::IfcVibrationDamper::IfcVibrationDamper(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_add1::IfcVibrationDamper::IfcVibrationDamper(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcVibrationDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcVibrationDamper::IfcVibrationDamper(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcVibrationDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcVibrationDamperType -::Ifc4x3_add1::IfcVibrationDamperTypeEnum::Value Ifc4x3_add1::IfcVibrationDamperType::PredefinedType() const { return ::Ifc4x3_add1::IfcVibrationDamperTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcVibrationDamperTypeEnum::Value Ifc4x3_add1::IfcVibrationDamperType::PredefinedType() const { return ::Ifc4x3_add1::IfcVibrationDamperTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcVibrationDamperType::setPredefinedType(::Ifc4x3_add1::IfcVibrationDamperTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcVibrationDamperTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcVibrationDamperType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1270]); } const IfcParse::entity& Ifc4x3_add1::IfcVibrationDamperType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1270]); } Ifc4x3_add1::IfcVibrationDamperType::IfcVibrationDamperType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_add1::IfcVibrationDamperType::IfcVibrationDamperType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcVibrationDamperTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcVibrationDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcVibrationDamperType::IfcVibrationDamperType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcVibrationDamperTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcVibrationDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcVibrationIsolator -boost::optional< ::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Value > Ifc4x3_add1::IfcVibrationIsolator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Value > Ifc4x3_add1::IfcVibrationIsolator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcVibrationIsolator::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcVibrationIsolator::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1272]); } const IfcParse::entity& Ifc4x3_add1::IfcVibrationIsolator::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1272]); } Ifc4x3_add1::IfcVibrationIsolator::IfcVibrationIsolator(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_add1::IfcVibrationIsolator::IfcVibrationIsolator(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcVibrationIsolator::IfcVibrationIsolator(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcVibrationIsolatorType -::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Value Ifc4x3_add1::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Value Ifc4x3_add1::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcVibrationIsolatorType::setPredefinedType(::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcVibrationIsolatorType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1273]); } const IfcParse::entity& Ifc4x3_add1::IfcVibrationIsolatorType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1273]); } Ifc4x3_add1::IfcVibrationIsolatorType::IfcVibrationIsolatorType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_add1::IfcVibrationIsolatorType::IfcVibrationIsolatorType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcVibrationIsolatorType::IfcVibrationIsolatorType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcVirtualElement -boost::optional< ::Ifc4x3_add1::IfcVirtualElementTypeEnum::Value > Ifc4x3_add1::IfcVirtualElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcVirtualElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcVirtualElementTypeEnum::Value > Ifc4x3_add1::IfcVirtualElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcVirtualElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcVirtualElement::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcVirtualElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcVirtualElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcVirtualElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1275]); } const IfcParse::entity& Ifc4x3_add1::IfcVirtualElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1275]); } Ifc4x3_add1::IfcVirtualElement::IfcVirtualElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_add1::IfcVirtualElement::IfcVirtualElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcVirtualElementTypeEnum::Value > v9_PredefinedType) : IfcElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcVirtualElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcVirtualElement::IfcVirtualElement(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcVirtualElementTypeEnum::Value > v9_PredefinedType) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcVirtualElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcVirtualGridIntersection -aggregate_of< ::Ifc4x3_add1::IfcGridAxis >::ptr Ifc4x3_add1::IfcVirtualGridIntersection::IntersectingAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcGridAxis >(); } +aggregate_of< ::Ifc4x3_add1::IfcGridAxis >::ptr Ifc4x3_add1::IfcVirtualGridIntersection::IntersectingAxes() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add1::IfcGridAxis >(); } void Ifc4x3_add1::IfcVirtualGridIntersection::setIntersectingAxes(aggregate_of< ::Ifc4x3_add1::IfcGridAxis >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -std::vector< double > /*[2:3]*/ Ifc4x3_add1::IfcVirtualGridIntersection::OffsetDistances() const { std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(1); return v; } +std::vector< double > /*[2:3]*/ Ifc4x3_add1::IfcVirtualGridIntersection::OffsetDistances() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } void Ifc4x3_add1::IfcVirtualGridIntersection::setOffsetDistances(std::vector< double > /*[2:3]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcVirtualGridIntersection::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1277]); } const IfcParse::entity& Ifc4x3_add1::IfcVirtualGridIntersection::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1277]); } Ifc4x3_add1::IfcVirtualGridIntersection::IfcVirtualGridIntersection(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcVirtualGridIntersection::IfcVirtualGridIntersection(aggregate_of< ::Ifc4x3_add1::IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_IntersectingAxes)->generalize());set_attribute_value(1, (v2_OffsetDistances));; populate_derived(); } +Ifc4x3_add1::IfcVirtualGridIntersection::IfcVirtualGridIntersection(aggregate_of< ::Ifc4x3_add1::IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_IntersectingAxes)->generalize());set_attribute_value(1, (v2_OffsetDistances));; populate_derived(); } // Function implementations for IfcVoidingFeature -boost::optional< ::Ifc4x3_add1::IfcVoidingFeatureTypeEnum::Value > Ifc4x3_add1::IfcVoidingFeature::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcVoidingFeatureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcVoidingFeatureTypeEnum::Value > Ifc4x3_add1::IfcVoidingFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcVoidingFeatureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcVoidingFeature::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcVoidingFeatureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcVoidingFeatureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcVoidingFeature::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1278]); } const IfcParse::entity& Ifc4x3_add1::IfcVoidingFeature::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1278]); } Ifc4x3_add1::IfcVoidingFeature::IfcVoidingFeature(IfcEntityInstanceData&& e) : IfcFeatureElementSubtraction(std::move(e)) { } -Ifc4x3_add1::IfcVoidingFeature::IfcVoidingFeature(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcVoidingFeature::IfcVoidingFeature(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWall -boost::optional< ::Ifc4x3_add1::IfcWallTypeEnum::Value > Ifc4x3_add1::IfcWall::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcWallTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcWallTypeEnum::Value > Ifc4x3_add1::IfcWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcWallTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcWall::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcWallTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcWallTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcWall::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1282]); } const IfcParse::entity& Ifc4x3_add1::IfcWall::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1282]); } Ifc4x3_add1::IfcWall::IfcWall(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add1::IfcWall::IfcWall(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcWall::IfcWall(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWallStandardCase @@ -17881,231 +17881,231 @@ Ifc4x3_add1::IfcWall::IfcWall(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHi const IfcParse::entity& Ifc4x3_add1::IfcWallStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1283]); } const IfcParse::entity& Ifc4x3_add1::IfcWallStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1283]); } Ifc4x3_add1::IfcWallStandardCase::IfcWallStandardCase(IfcEntityInstanceData&& e) : IfcWall(std::move(e)) { } -Ifc4x3_add1::IfcWallStandardCase::IfcWallStandardCase(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcWall(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcWallStandardCase::IfcWallStandardCase(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcWall(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWallType -::Ifc4x3_add1::IfcWallTypeEnum::Value Ifc4x3_add1::IfcWallType::PredefinedType() const { return ::Ifc4x3_add1::IfcWallTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcWallTypeEnum::Value Ifc4x3_add1::IfcWallType::PredefinedType() const { return ::Ifc4x3_add1::IfcWallTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcWallType::setPredefinedType(::Ifc4x3_add1::IfcWallTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcWallTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcWallType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1284]); } const IfcParse::entity& Ifc4x3_add1::IfcWallType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1284]); } Ifc4x3_add1::IfcWallType::IfcWallType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add1::IfcWallType::IfcWallType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcWallTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcWallType::IfcWallType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcWallTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcWasteTerminal -boost::optional< ::Ifc4x3_add1::IfcWasteTerminalTypeEnum::Value > Ifc4x3_add1::IfcWasteTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcWasteTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcWasteTerminalTypeEnum::Value > Ifc4x3_add1::IfcWasteTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcWasteTerminal::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcWasteTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcWasteTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcWasteTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1289]); } const IfcParse::entity& Ifc4x3_add1::IfcWasteTerminal::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1289]); } Ifc4x3_add1::IfcWasteTerminal::IfcWasteTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_add1::IfcWasteTerminal::IfcWasteTerminal(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcWasteTerminal::IfcWasteTerminal(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add1::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWasteTerminalType -::Ifc4x3_add1::IfcWasteTerminalTypeEnum::Value Ifc4x3_add1::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4x3_add1::IfcWasteTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcWasteTerminalTypeEnum::Value Ifc4x3_add1::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4x3_add1::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcWasteTerminalType::setPredefinedType(::Ifc4x3_add1::IfcWasteTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcWasteTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add1::IfcWasteTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1290]); } const IfcParse::entity& Ifc4x3_add1::IfcWasteTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1290]); } Ifc4x3_add1::IfcWasteTerminalType::IfcWasteTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_add1::IfcWasteTerminalType::IfcWasteTerminalType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add1::IfcWasteTerminalType::IfcWasteTerminalType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcWellKnownText -std::string Ifc4x3_add1::IfcWellKnownText::WellKnownText() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_add1::IfcWellKnownText::WellKnownText() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_add1::IfcWellKnownText::setWellKnownText(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add1::IfcCoordinateReferenceSystem* Ifc4x3_add1::IfcWellKnownText::CoordinateReferenceSystem() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add1::IfcCoordinateReferenceSystem>(true); } +::Ifc4x3_add1::IfcCoordinateReferenceSystem* Ifc4x3_add1::IfcWellKnownText::CoordinateReferenceSystem() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add1::IfcCoordinateReferenceSystem>(true); } void Ifc4x3_add1::IfcWellKnownText::setCoordinateReferenceSystem(::Ifc4x3_add1::IfcCoordinateReferenceSystem* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add1::IfcWellKnownText::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1292]); } const IfcParse::entity& Ifc4x3_add1::IfcWellKnownText::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1292]); } Ifc4x3_add1::IfcWellKnownText::IfcWellKnownText(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add1::IfcWellKnownText::IfcWellKnownText(std::string v1_WellKnownText, ::Ifc4x3_add1::IfcCoordinateReferenceSystem* v2_CoordinateReferenceSystem) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_WellKnownText));set_attribute_value(1, v2_CoordinateReferenceSystem ? v2_CoordinateReferenceSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcWellKnownText::IfcWellKnownText(std::string v1_WellKnownText, ::Ifc4x3_add1::IfcCoordinateReferenceSystem* v2_CoordinateReferenceSystem) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_WellKnownText));set_attribute_value(1, v2_CoordinateReferenceSystem ? v2_CoordinateReferenceSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcWindow -boost::optional< double > Ifc4x3_add1::IfcWindow::OverallHeight() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_add1::IfcWindow::OverallHeight() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcWindow::setOverallHeight(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_add1::IfcWindow::OverallWidth() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_add1::IfcWindow::OverallWidth() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_add1::IfcWindow::setOverallWidth(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x3_add1::IfcWindowTypeEnum::Value > Ifc4x3_add1::IfcWindow::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcWindowTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add1::IfcWindowTypeEnum::Value > Ifc4x3_add1::IfcWindow::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcWindowTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add1::IfcWindow::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcWindowTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add1::IfcWindowTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -boost::optional< ::Ifc4x3_add1::IfcWindowTypePartitioningEnum::Value > Ifc4x3_add1::IfcWindow::PartitioningType() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcWindowTypePartitioningEnum::FromString(data_.get_attribute_value(11)); } +boost::optional< ::Ifc4x3_add1::IfcWindowTypePartitioningEnum::Value > Ifc4x3_add1::IfcWindow::PartitioningType() const { if(get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcWindowTypePartitioningEnum::FromString(get_attribute_value(11)); } void Ifc4x3_add1::IfcWindow::setPartitioningType(boost::optional< ::Ifc4x3_add1::IfcWindowTypePartitioningEnum::Value > v) { if (v) {set_attribute_value(11, EnumerationReference(&::Ifc4x3_add1::IfcWindowTypePartitioningEnum::Class(), (size_t) *v));} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_add1::IfcWindow::UserDefinedPartitioningType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcWindow::UserDefinedPartitioningType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_add1::IfcWindow::setUserDefinedPartitioningType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_add1::IfcWindow::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1294]); } const IfcParse::entity& Ifc4x3_add1::IfcWindow::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1294]); } Ifc4x3_add1::IfcWindow::IfcWindow(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add1::IfcWindow::IfcWindow(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_add1::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_add1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add1::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } +Ifc4x3_add1::IfcWindow::IfcWindow(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_add1::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_add1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add1::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } // Function implementations for IfcWindowLiningProperties -boost::optional< double > Ifc4x3_add1::IfcWindowLiningProperties::LiningDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_add1::IfcWindowLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcWindowLiningProperties::setLiningDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_add1::IfcWindowLiningProperties::LiningThickness() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_add1::IfcWindowLiningProperties::LiningThickness() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcWindowLiningProperties::setLiningThickness(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_add1::IfcWindowLiningProperties::TransomThickness() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_add1::IfcWindowLiningProperties::TransomThickness() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcWindowLiningProperties::setTransomThickness(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_add1::IfcWindowLiningProperties::MullionThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add1::IfcWindowLiningProperties::MullionThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcWindowLiningProperties::setMullionThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_add1::IfcWindowLiningProperties::FirstTransomOffset() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_add1::IfcWindowLiningProperties::FirstTransomOffset() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcWindowLiningProperties::setFirstTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_add1::IfcWindowLiningProperties::SecondTransomOffset() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_add1::IfcWindowLiningProperties::SecondTransomOffset() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_add1::IfcWindowLiningProperties::setSecondTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_add1::IfcWindowLiningProperties::FirstMullionOffset() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_add1::IfcWindowLiningProperties::FirstMullionOffset() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_add1::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_add1::IfcWindowLiningProperties::SecondMullionOffset() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_add1::IfcWindowLiningProperties::SecondMullionOffset() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_add1::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -::Ifc4x3_add1::IfcShapeAspect* Ifc4x3_add1::IfcWindowLiningProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(12).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(12)))->as<::Ifc4x3_add1::IfcShapeAspect>(true); } +::Ifc4x3_add1::IfcShapeAspect* Ifc4x3_add1::IfcWindowLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(12).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(12)))->as<::Ifc4x3_add1::IfcShapeAspect>(true); } void Ifc4x3_add1::IfcWindowLiningProperties::setShapeAspectStyle(::Ifc4x3_add1::IfcShapeAspect* v) { set_attribute_value(12, v->as());if constexpr (false)unset_attribute_value(12); } -boost::optional< double > Ifc4x3_add1::IfcWindowLiningProperties::LiningOffset() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_add1::IfcWindowLiningProperties::LiningOffset() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_add1::IfcWindowLiningProperties::setLiningOffset(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3_add1::IfcWindowLiningProperties::LiningToPanelOffsetX() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3_add1::IfcWindowLiningProperties::LiningToPanelOffsetX() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3_add1::IfcWindowLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x3_add1::IfcWindowLiningProperties::LiningToPanelOffsetY() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3_add1::IfcWindowLiningProperties::LiningToPanelOffsetY() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3_add1::IfcWindowLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } const IfcParse::entity& Ifc4x3_add1::IfcWindowLiningProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1295]); } const IfcParse::entity& Ifc4x3_add1::IfcWindowLiningProperties::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1295]); } Ifc4x3_add1::IfcWindowLiningProperties::IfcWindowLiningProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_add1::IfcWindowLiningProperties::IfcWindowLiningProperties(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcShapeAspect* v13_ShapeAspectStyle, boost::optional< double > v14_LiningOffset, boost::optional< double > v15_LiningToPanelOffsetX, boost::optional< double > v16_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, v13_ShapeAspectStyle ? v13_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); }; populate_derived(); } +Ifc4x3_add1::IfcWindowLiningProperties::IfcWindowLiningProperties(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcShapeAspect* v13_ShapeAspectStyle, boost::optional< double > v14_LiningOffset, boost::optional< double > v15_LiningToPanelOffsetX, boost::optional< double > v16_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, v13_ShapeAspectStyle ? v13_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); }; populate_derived(); } // Function implementations for IfcWindowPanelProperties -::Ifc4x3_add1::IfcWindowPanelOperationEnum::Value Ifc4x3_add1::IfcWindowPanelProperties::OperationType() const { return ::Ifc4x3_add1::IfcWindowPanelOperationEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x3_add1::IfcWindowPanelOperationEnum::Value Ifc4x3_add1::IfcWindowPanelProperties::OperationType() const { return ::Ifc4x3_add1::IfcWindowPanelOperationEnum::FromString(get_attribute_value(4)); } void Ifc4x3_add1::IfcWindowPanelProperties::setOperationType(::Ifc4x3_add1::IfcWindowPanelOperationEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3_add1::IfcWindowPanelOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add1::IfcWindowPanelPositionEnum::Value Ifc4x3_add1::IfcWindowPanelProperties::PanelPosition() const { return ::Ifc4x3_add1::IfcWindowPanelPositionEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_add1::IfcWindowPanelPositionEnum::Value Ifc4x3_add1::IfcWindowPanelProperties::PanelPosition() const { return ::Ifc4x3_add1::IfcWindowPanelPositionEnum::FromString(get_attribute_value(5)); } void Ifc4x3_add1::IfcWindowPanelProperties::setPanelPosition(::Ifc4x3_add1::IfcWindowPanelPositionEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_add1::IfcWindowPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_add1::IfcWindowPanelProperties::FrameDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_add1::IfcWindowPanelProperties::FrameDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_add1::IfcWindowPanelProperties::FrameThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add1::IfcWindowPanelProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_add1::IfcShapeAspect* Ifc4x3_add1::IfcWindowPanelProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_add1::IfcShapeAspect>(true); } +::Ifc4x3_add1::IfcShapeAspect* Ifc4x3_add1::IfcWindowPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_add1::IfcShapeAspect>(true); } void Ifc4x3_add1::IfcWindowPanelProperties::setShapeAspectStyle(::Ifc4x3_add1::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_add1::IfcWindowPanelProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1298]); } const IfcParse::entity& Ifc4x3_add1::IfcWindowPanelProperties::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1298]); } Ifc4x3_add1::IfcWindowPanelProperties::IfcWindowPanelProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_add1::IfcWindowPanelProperties::IfcWindowPanelProperties(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_add1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x3_add1::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add1::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add1::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add1::IfcWindowPanelProperties::IfcWindowPanelProperties(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add1::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_add1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x3_add1::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add1::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add1::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcWindowType -::Ifc4x3_add1::IfcWindowTypeEnum::Value Ifc4x3_add1::IfcWindowType::PredefinedType() const { return ::Ifc4x3_add1::IfcWindowTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add1::IfcWindowTypeEnum::Value Ifc4x3_add1::IfcWindowType::PredefinedType() const { return ::Ifc4x3_add1::IfcWindowTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add1::IfcWindowType::setPredefinedType(::Ifc4x3_add1::IfcWindowTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add1::IfcWindowTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_add1::IfcWindowTypePartitioningEnum::Value Ifc4x3_add1::IfcWindowType::PartitioningType() const { return ::Ifc4x3_add1::IfcWindowTypePartitioningEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3_add1::IfcWindowTypePartitioningEnum::Value Ifc4x3_add1::IfcWindowType::PartitioningType() const { return ::Ifc4x3_add1::IfcWindowTypePartitioningEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add1::IfcWindowType::setPartitioningType(::Ifc4x3_add1::IfcWindowTypePartitioningEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3_add1::IfcWindowTypePartitioningEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } -boost::optional< bool > Ifc4x3_add1::IfcWindowType::ParameterTakesPrecedence() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } bool v = data_.get_attribute_value(11); return v; } +boost::optional< bool > Ifc4x3_add1::IfcWindowType::ParameterTakesPrecedence() const { if(get_attribute_value(11).isNull()) { return boost::none; } bool v = get_attribute_value(11); return v; } void Ifc4x3_add1::IfcWindowType::setParameterTakesPrecedence(boost::optional< bool > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_add1::IfcWindowType::UserDefinedPartitioningType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcWindowType::UserDefinedPartitioningType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_add1::IfcWindowType::setUserDefinedPartitioningType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_add1::IfcWindowType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1299]); } const IfcParse::entity& Ifc4x3_add1::IfcWindowType::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1299]); } Ifc4x3_add1::IfcWindowType::IfcWindowType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add1::IfcWindowType::IfcWindowType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add1::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } +Ifc4x3_add1::IfcWindowType::IfcWindowType(std::string v1_GlobalId, ::Ifc4x3_add1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add1::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add1::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add1::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add1::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } // Function implementations for IfcWorkCalendar -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcWorkTime >::ptr > Ifc4x3_add1::IfcWorkCalendar::WorkingTimes() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3_add1::IfcWorkTime >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcWorkTime >::ptr > Ifc4x3_add1::IfcWorkCalendar::WorkingTimes() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3_add1::IfcWorkTime >(); } void Ifc4x3_add1::IfcWorkCalendar::setWorkingTimes(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcWorkTime >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcWorkTime >::ptr > Ifc4x3_add1::IfcWorkCalendar::ExceptionTimes() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_add1::IfcWorkTime >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcWorkTime >::ptr > Ifc4x3_add1::IfcWorkCalendar::ExceptionTimes() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_add1::IfcWorkTime >(); } void Ifc4x3_add1::IfcWorkCalendar::setExceptionTimes(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcWorkTime >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3_add1::IfcWorkCalendarTypeEnum::Value > Ifc4x3_add1::IfcWorkCalendar::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcWorkCalendarTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add1::IfcWorkCalendarTypeEnum::Value > Ifc4x3_add1::IfcWorkCalendar::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcWorkCalendarTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add1::IfcWorkCalendar::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcWorkCalendarTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add1::IfcWorkCalendarTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcWorkCalendar::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1302]); } const IfcParse::entity& Ifc4x3_add1::IfcWorkCalendar::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1302]); } Ifc4x3_add1::IfcWorkCalendar::IfcWorkCalendar(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_add1::IfcWorkCalendar::IfcWorkCalendar(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcWorkTime >::ptr > v7_WorkingTimes, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcWorkTime >::ptr > v8_ExceptionTimes, boost::optional< ::Ifc4x3_add1::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, (*v7_WorkingTimes)->generalize()); } if (v8_ExceptionTimes) {set_attribute_value(7, (*v8_ExceptionTimes)->generalize()); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcWorkCalendar::IfcWorkCalendar(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::IfcWorkTime >::ptr > v7_WorkingTimes, boost::optional< aggregate_of< ::Ifc4x3_add1::IfcWorkTime >::ptr > v8_ExceptionTimes, boost::optional< ::Ifc4x3_add1::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, (*v7_WorkingTimes)->generalize()); } if (v8_ExceptionTimes) {set_attribute_value(7, (*v8_ExceptionTimes)->generalize()); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add1::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWorkControl -std::string Ifc4x3_add1::IfcWorkControl::CreationDate() const { std::string v = data_.get_attribute_value(6); return v; } +std::string Ifc4x3_add1::IfcWorkControl::CreationDate() const { std::string v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcWorkControl::setCreationDate(std::string v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPerson >::ptr > Ifc4x3_add1::IfcWorkControl::Creators() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_add1::IfcPerson >(); } +boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPerson >::ptr > Ifc4x3_add1::IfcWorkControl::Creators() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_add1::IfcPerson >(); } void Ifc4x3_add1::IfcWorkControl::setCreators(boost::optional< aggregate_of< ::Ifc4x3_add1::IfcPerson >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_add1::IfcWorkControl::Purpose() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcWorkControl::Purpose() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcWorkControl::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_add1::IfcWorkControl::Duration() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcWorkControl::Duration() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_add1::IfcWorkControl::setDuration(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x3_add1::IfcWorkControl::TotalFloat() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcWorkControl::TotalFloat() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_add1::IfcWorkControl::setTotalFloat(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -std::string Ifc4x3_add1::IfcWorkControl::StartTime() const { std::string v = data_.get_attribute_value(11); return v; } +std::string Ifc4x3_add1::IfcWorkControl::StartTime() const { std::string v = get_attribute_value(11); return v; } void Ifc4x3_add1::IfcWorkControl::setStartTime(std::string v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } -boost::optional< std::string > Ifc4x3_add1::IfcWorkControl::FinishTime() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcWorkControl::FinishTime() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_add1::IfcWorkControl::setFinishTime(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_add1::IfcWorkControl::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1304]); } const IfcParse::entity& Ifc4x3_add1::IfcWorkControl::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1304]); } Ifc4x3_add1::IfcWorkControl::IfcWorkControl(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_add1::IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::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(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); }; populate_derived(); } +Ifc4x3_add1::IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::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(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); }; populate_derived(); } // Function implementations for IfcWorkPlan -boost::optional< ::Ifc4x3_add1::IfcWorkPlanTypeEnum::Value > Ifc4x3_add1::IfcWorkPlan::PredefinedType() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcWorkPlanTypeEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x3_add1::IfcWorkPlanTypeEnum::Value > Ifc4x3_add1::IfcWorkPlan::PredefinedType() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcWorkPlanTypeEnum::FromString(get_attribute_value(13)); } void Ifc4x3_add1::IfcWorkPlan::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcWorkPlanTypeEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x3_add1::IfcWorkPlanTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } const IfcParse::entity& Ifc4x3_add1::IfcWorkPlan::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1305]); } const IfcParse::entity& Ifc4x3_add1::IfcWorkPlan::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1305]); } Ifc4x3_add1::IfcWorkPlan::IfcWorkPlan(IfcEntityInstanceData&& e) : IfcWorkControl(std::move(e)) { } -Ifc4x3_add1::IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::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_add1::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_add1::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::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_add1::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_add1::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWorkSchedule -boost::optional< ::Ifc4x3_add1::IfcWorkScheduleTypeEnum::Value > Ifc4x3_add1::IfcWorkSchedule::PredefinedType() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcWorkScheduleTypeEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x3_add1::IfcWorkScheduleTypeEnum::Value > Ifc4x3_add1::IfcWorkSchedule::PredefinedType() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_add1::IfcWorkScheduleTypeEnum::FromString(get_attribute_value(13)); } void Ifc4x3_add1::IfcWorkSchedule::setPredefinedType(boost::optional< ::Ifc4x3_add1::IfcWorkScheduleTypeEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x3_add1::IfcWorkScheduleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } const IfcParse::entity& Ifc4x3_add1::IfcWorkSchedule::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1307]); } const IfcParse::entity& Ifc4x3_add1::IfcWorkSchedule::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1307]); } Ifc4x3_add1::IfcWorkSchedule::IfcWorkSchedule(IfcEntityInstanceData&& e) : IfcWorkControl(std::move(e)) { } -Ifc4x3_add1::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::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_add1::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_add1::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } +Ifc4x3_add1::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc4x3_add1::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_add1::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_add1::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_add1::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWorkTime -::Ifc4x3_add1::IfcRecurrencePattern* Ifc4x3_add1::IfcWorkTime::RecurrencePattern() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add1::IfcRecurrencePattern>(true); } +::Ifc4x3_add1::IfcRecurrencePattern* Ifc4x3_add1::IfcWorkTime::RecurrencePattern() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add1::IfcRecurrencePattern>(true); } void Ifc4x3_add1::IfcWorkTime::setRecurrencePattern(::Ifc4x3_add1::IfcRecurrencePattern* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_add1::IfcWorkTime::StartDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcWorkTime::StartDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcWorkTime::setStartDate(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add1::IfcWorkTime::FinishDate() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcWorkTime::FinishDate() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcWorkTime::setFinishDate(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_add1::IfcWorkTime::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1309]); } const IfcParse::entity& Ifc4x3_add1::IfcWorkTime::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1309]); } Ifc4x3_add1::IfcWorkTime::IfcWorkTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x3_add1::IfcWorkTime::IfcWorkTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_add1::IfcRecurrencePattern* v4_RecurrencePattern, boost::optional< std::string > v5_StartDate, boost::optional< std::string > v6_FinishDate) : IfcSchedulingTime(IfcEntityInstanceData(storage_t(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_RecurrencePattern ? v4_RecurrencePattern->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_StartDate) {set_attribute_value(4, (*v5_StartDate)); } if (v6_FinishDate) {set_attribute_value(5, (*v6_FinishDate)); }; populate_derived(); } +Ifc4x3_add1::IfcWorkTime::IfcWorkTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_add1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_add1::IfcRecurrencePattern* v4_RecurrencePattern, boost::optional< std::string > v5_StartDate, boost::optional< std::string > v6_FinishDate) : IfcSchedulingTime(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_RecurrencePattern ? v4_RecurrencePattern->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_StartDate) {set_attribute_value(4, (*v5_StartDate)); } if (v6_FinishDate) {set_attribute_value(5, (*v6_FinishDate)); }; populate_derived(); } // Function implementations for IfcZShapeProfileDef -double Ifc4x3_add1::IfcZShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add1::IfcZShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add1::IfcZShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_add1::IfcZShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add1::IfcZShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add1::IfcZShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_add1::IfcZShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_add1::IfcZShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcZShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_add1::IfcZShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_add1::IfcZShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3_add1::IfcZShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_add1::IfcZShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add1::IfcZShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add1::IfcZShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_add1::IfcZShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_add1::IfcZShapeProfileDef::EdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_add1::IfcZShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add1::IfcZShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1311]); } const IfcParse::entity& Ifc4x3_add1::IfcZShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1311]); } Ifc4x3_add1::IfcZShapeProfileDef::IfcZShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_add1::IfcZShapeProfileDef::IfcZShapeProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::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(storage_t(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; populate_derived(); } +Ifc4x3_add1::IfcZShapeProfileDef::IfcZShapeProfileDef(::Ifc4x3_add1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add1::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(in_memory_attribute_storage(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; populate_derived(); } // Function implementations for IfcZone -boost::optional< std::string > Ifc4x3_add1::IfcZone::LongName() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add1::IfcZone::LongName() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add1::IfcZone::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_add1::IfcZone::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD1_types[1310]); } const IfcParse::entity& Ifc4x3_add1::IfcZone::Class() { return *((IfcParse::entity*)IFC4X3_ADD1_types[1310]); } Ifc4x3_add1::IfcZone::IfcZone(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3_add1::IfcZone::IfcZone(std::string v1_GlobalId, ::Ifc4x3_add1::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) : IfcSystem(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); }; populate_derived(); } +Ifc4x3_add1::IfcZone::IfcZone(std::string v1_GlobalId, ::Ifc4x3_add1::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) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); }; populate_derived(); } diff --git a/src/ifcparse/Ifc4x3_add2.cpp b/src/ifcparse/Ifc4x3_add2.cpp index 9afa4996e8..c77e3b3883 100644 --- a/src/ifcparse/Ifc4x3_add2.cpp +++ b/src/ifcparse/Ifc4x3_add2.cpp @@ -63,7 +63,7 @@ Ifc4x3_add2::IfcActionRequestTypeEnum::Value Ifc4x3_add2::IfcActionRequestTypeEn } Ifc4x3_add2::IfcActionRequestTypeEnum::operator Ifc4x3_add2::IfcActionRequestTypeEnum::Value() const { - return (Ifc4x3_add2::IfcActionRequestTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcActionRequestTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcActionSourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[4]); } @@ -90,7 +90,7 @@ Ifc4x3_add2::IfcActionSourceTypeEnum::Value Ifc4x3_add2::IfcActionSourceTypeEnum } Ifc4x3_add2::IfcActionSourceTypeEnum::operator Ifc4x3_add2::IfcActionSourceTypeEnum::Value() const { - return (Ifc4x3_add2::IfcActionSourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcActionSourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcActionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[5]); } @@ -117,7 +117,7 @@ Ifc4x3_add2::IfcActionTypeEnum::Value Ifc4x3_add2::IfcActionTypeEnum::FromString } Ifc4x3_add2::IfcActionTypeEnum::operator Ifc4x3_add2::IfcActionTypeEnum::Value() const { - return (Ifc4x3_add2::IfcActionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcActionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcActuatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[11]); } @@ -144,7 +144,7 @@ Ifc4x3_add2::IfcActuatorTypeEnum::Value Ifc4x3_add2::IfcActuatorTypeEnum::FromSt } Ifc4x3_add2::IfcActuatorTypeEnum::operator Ifc4x3_add2::IfcActuatorTypeEnum::Value() const { - return (Ifc4x3_add2::IfcActuatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcActuatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcAddressTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[13]); } @@ -171,7 +171,7 @@ Ifc4x3_add2::IfcAddressTypeEnum::Value Ifc4x3_add2::IfcAddressTypeEnum::FromStri } Ifc4x3_add2::IfcAddressTypeEnum::operator Ifc4x3_add2::IfcAddressTypeEnum::Value() const { - return (Ifc4x3_add2::IfcAddressTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcAddressTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[20]); } @@ -198,7 +198,7 @@ Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Value Ifc4x3_add2::IfcAirTerminalBoxType } Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::operator Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Value() const { - return (Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcAirTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[22]); } @@ -225,7 +225,7 @@ Ifc4x3_add2::IfcAirTerminalTypeEnum::Value Ifc4x3_add2::IfcAirTerminalTypeEnum:: } Ifc4x3_add2::IfcAirTerminalTypeEnum::operator Ifc4x3_add2::IfcAirTerminalTypeEnum::Value() const { - return (Ifc4x3_add2::IfcAirTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcAirTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[25]); } @@ -252,7 +252,7 @@ Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3_add2::IfcAirToAirHeat } Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::operator Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Value() const { - return (Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcAlarmTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[28]); } @@ -279,7 +279,7 @@ Ifc4x3_add2::IfcAlarmTypeEnum::Value Ifc4x3_add2::IfcAlarmTypeEnum::FromString(c } Ifc4x3_add2::IfcAlarmTypeEnum::operator Ifc4x3_add2::IfcAlarmTypeEnum::Value() const { - return (Ifc4x3_add2::IfcAlarmTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcAlarmTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcAlignmentCantSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[32]); } @@ -306,7 +306,7 @@ Ifc4x3_add2::IfcAlignmentCantSegmentTypeEnum::Value Ifc4x3_add2::IfcAlignmentCan } Ifc4x3_add2::IfcAlignmentCantSegmentTypeEnum::operator Ifc4x3_add2::IfcAlignmentCantSegmentTypeEnum::Value() const { - return (Ifc4x3_add2::IfcAlignmentCantSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcAlignmentCantSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcAlignmentHorizontalSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[35]); } @@ -333,7 +333,7 @@ Ifc4x3_add2::IfcAlignmentHorizontalSegmentTypeEnum::Value Ifc4x3_add2::IfcAlignm } Ifc4x3_add2::IfcAlignmentHorizontalSegmentTypeEnum::operator Ifc4x3_add2::IfcAlignmentHorizontalSegmentTypeEnum::Value() const { - return (Ifc4x3_add2::IfcAlignmentHorizontalSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcAlignmentHorizontalSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcAlignmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[38]); } @@ -360,7 +360,7 @@ Ifc4x3_add2::IfcAlignmentTypeEnum::Value Ifc4x3_add2::IfcAlignmentTypeEnum::From } Ifc4x3_add2::IfcAlignmentTypeEnum::operator Ifc4x3_add2::IfcAlignmentTypeEnum::Value() const { - return (Ifc4x3_add2::IfcAlignmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcAlignmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcAlignmentVerticalSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[41]); } @@ -387,7 +387,7 @@ Ifc4x3_add2::IfcAlignmentVerticalSegmentTypeEnum::Value Ifc4x3_add2::IfcAlignmen } Ifc4x3_add2::IfcAlignmentVerticalSegmentTypeEnum::operator Ifc4x3_add2::IfcAlignmentVerticalSegmentTypeEnum::Value() const { - return (Ifc4x3_add2::IfcAlignmentVerticalSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcAlignmentVerticalSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcAnalysisModelTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[43]); } @@ -414,7 +414,7 @@ Ifc4x3_add2::IfcAnalysisModelTypeEnum::Value Ifc4x3_add2::IfcAnalysisModelTypeEn } Ifc4x3_add2::IfcAnalysisModelTypeEnum::operator Ifc4x3_add2::IfcAnalysisModelTypeEnum::Value() const { - return (Ifc4x3_add2::IfcAnalysisModelTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcAnalysisModelTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcAnalysisTheoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[44]); } @@ -441,7 +441,7 @@ Ifc4x3_add2::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_add2::IfcAnalysisTheoryType } Ifc4x3_add2::IfcAnalysisTheoryTypeEnum::operator Ifc4x3_add2::IfcAnalysisTheoryTypeEnum::Value() const { - return (Ifc4x3_add2::IfcAnalysisTheoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcAnalysisTheoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcAnnotationTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[48]); } @@ -468,7 +468,7 @@ Ifc4x3_add2::IfcAnnotationTypeEnum::Value Ifc4x3_add2::IfcAnnotationTypeEnum::Fr } Ifc4x3_add2::IfcAnnotationTypeEnum::operator Ifc4x3_add2::IfcAnnotationTypeEnum::Value() const { - return (Ifc4x3_add2::IfcAnnotationTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcAnnotationTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcArithmeticOperatorEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[60]); } @@ -495,7 +495,7 @@ Ifc4x3_add2::IfcArithmeticOperatorEnum::Value Ifc4x3_add2::IfcArithmeticOperator } Ifc4x3_add2::IfcArithmeticOperatorEnum::operator Ifc4x3_add2::IfcArithmeticOperatorEnum::Value() const { - return (Ifc4x3_add2::IfcArithmeticOperatorEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcArithmeticOperatorEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcAssemblyPlaceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[61]); } @@ -522,7 +522,7 @@ Ifc4x3_add2::IfcAssemblyPlaceEnum::Value Ifc4x3_add2::IfcAssemblyPlaceEnum::From } Ifc4x3_add2::IfcAssemblyPlaceEnum::operator Ifc4x3_add2::IfcAssemblyPlaceEnum::Value() const { - return (Ifc4x3_add2::IfcAssemblyPlaceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcAssemblyPlaceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[66]); } @@ -549,7 +549,7 @@ Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3_add2::IfcAudioVisualA } Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::operator Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Value() const { - return (Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcBSplineCurveForm::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[108]); } @@ -576,7 +576,7 @@ Ifc4x3_add2::IfcBSplineCurveForm::Value Ifc4x3_add2::IfcBSplineCurveForm::FromSt } Ifc4x3_add2::IfcBSplineCurveForm::operator Ifc4x3_add2::IfcBSplineCurveForm::Value() const { - return (Ifc4x3_add2::IfcBSplineCurveForm::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcBSplineCurveForm::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcBSplineSurfaceForm::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[111]); } @@ -603,7 +603,7 @@ Ifc4x3_add2::IfcBSplineSurfaceForm::Value Ifc4x3_add2::IfcBSplineSurfaceForm::Fr } Ifc4x3_add2::IfcBSplineSurfaceForm::operator Ifc4x3_add2::IfcBSplineSurfaceForm::Value() const { - return (Ifc4x3_add2::IfcBSplineSurfaceForm::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcBSplineSurfaceForm::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcBeamTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[74]); } @@ -630,7 +630,7 @@ Ifc4x3_add2::IfcBeamTypeEnum::Value Ifc4x3_add2::IfcBeamTypeEnum::FromString(con } Ifc4x3_add2::IfcBeamTypeEnum::operator Ifc4x3_add2::IfcBeamTypeEnum::Value() const { - return (Ifc4x3_add2::IfcBeamTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcBeamTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcBearingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[77]); } @@ -657,7 +657,7 @@ Ifc4x3_add2::IfcBearingTypeEnum::Value Ifc4x3_add2::IfcBearingTypeEnum::FromStri } Ifc4x3_add2::IfcBearingTypeEnum::operator Ifc4x3_add2::IfcBearingTypeEnum::Value() const { - return (Ifc4x3_add2::IfcBearingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcBearingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcBenchmarkEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[78]); } @@ -684,7 +684,7 @@ Ifc4x3_add2::IfcBenchmarkEnum::Value Ifc4x3_add2::IfcBenchmarkEnum::FromString(c } Ifc4x3_add2::IfcBenchmarkEnum::operator Ifc4x3_add2::IfcBenchmarkEnum::Value() const { - return (Ifc4x3_add2::IfcBenchmarkEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcBenchmarkEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcBoilerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[85]); } @@ -711,7 +711,7 @@ Ifc4x3_add2::IfcBoilerTypeEnum::Value Ifc4x3_add2::IfcBoilerTypeEnum::FromString } Ifc4x3_add2::IfcBoilerTypeEnum::operator Ifc4x3_add2::IfcBoilerTypeEnum::Value() const { - return (Ifc4x3_add2::IfcBoilerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcBoilerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcBooleanOperator::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[89]); } @@ -738,7 +738,7 @@ Ifc4x3_add2::IfcBooleanOperator::Value Ifc4x3_add2::IfcBooleanOperator::FromStri } Ifc4x3_add2::IfcBooleanOperator::operator Ifc4x3_add2::IfcBooleanOperator::Value() const { - return (Ifc4x3_add2::IfcBooleanOperator::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcBooleanOperator::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcBridgePartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[105]); } @@ -765,7 +765,7 @@ Ifc4x3_add2::IfcBridgePartTypeEnum::Value Ifc4x3_add2::IfcBridgePartTypeEnum::Fr } Ifc4x3_add2::IfcBridgePartTypeEnum::operator Ifc4x3_add2::IfcBridgePartTypeEnum::Value() const { - return (Ifc4x3_add2::IfcBridgePartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcBridgePartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcBridgeTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[106]); } @@ -792,7 +792,7 @@ Ifc4x3_add2::IfcBridgeTypeEnum::Value Ifc4x3_add2::IfcBridgeTypeEnum::FromString } Ifc4x3_add2::IfcBridgeTypeEnum::operator Ifc4x3_add2::IfcBridgeTypeEnum::Value() const { - return (Ifc4x3_add2::IfcBridgeTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcBridgeTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcBuildingElementPartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[116]); } @@ -819,7 +819,7 @@ Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Value Ifc4x3_add2::IfcBuildingEleme } Ifc4x3_add2::IfcBuildingElementPartTypeEnum::operator Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Value() const { - return (Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[119]); } @@ -846,7 +846,7 @@ Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Value Ifc4x3_add2::IfcBuildingElem } Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::operator Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Value() const { - return (Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcBuildingSystemTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[122]); } @@ -873,7 +873,7 @@ Ifc4x3_add2::IfcBuildingSystemTypeEnum::Value Ifc4x3_add2::IfcBuildingSystemType } Ifc4x3_add2::IfcBuildingSystemTypeEnum::operator Ifc4x3_add2::IfcBuildingSystemTypeEnum::Value() const { - return (Ifc4x3_add2::IfcBuildingSystemTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcBuildingSystemTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcBuiltSystemTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[126]); } @@ -900,7 +900,7 @@ Ifc4x3_add2::IfcBuiltSystemTypeEnum::Value Ifc4x3_add2::IfcBuiltSystemTypeEnum:: } Ifc4x3_add2::IfcBuiltSystemTypeEnum::operator Ifc4x3_add2::IfcBuiltSystemTypeEnum::Value() const { - return (Ifc4x3_add2::IfcBuiltSystemTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcBuiltSystemTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcBurnerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[129]); } @@ -927,7 +927,7 @@ Ifc4x3_add2::IfcBurnerTypeEnum::Value Ifc4x3_add2::IfcBurnerTypeEnum::FromString } Ifc4x3_add2::IfcBurnerTypeEnum::operator Ifc4x3_add2::IfcBurnerTypeEnum::Value() const { - return (Ifc4x3_add2::IfcBurnerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcBurnerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[132]); } @@ -954,7 +954,7 @@ Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Value Ifc4x3_add2::IfcCableCarrierF } Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::operator Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Value() const { - return (Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[135]); } @@ -981,7 +981,7 @@ Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3_add2::IfcCableCarrierS } Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::operator Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Value() const { - return (Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcCableFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[138]); } @@ -1008,7 +1008,7 @@ Ifc4x3_add2::IfcCableFittingTypeEnum::Value Ifc4x3_add2::IfcCableFittingTypeEnum } Ifc4x3_add2::IfcCableFittingTypeEnum::operator Ifc4x3_add2::IfcCableFittingTypeEnum::Value() const { - return (Ifc4x3_add2::IfcCableFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcCableFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcCableSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[141]); } @@ -1035,7 +1035,7 @@ Ifc4x3_add2::IfcCableSegmentTypeEnum::Value Ifc4x3_add2::IfcCableSegmentTypeEnum } Ifc4x3_add2::IfcCableSegmentTypeEnum::operator Ifc4x3_add2::IfcCableSegmentTypeEnum::Value() const { - return (Ifc4x3_add2::IfcCableSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcCableSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcCaissonFoundationTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[144]); } @@ -1062,7 +1062,7 @@ Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Value Ifc4x3_add2::IfcCaissonFoundati } Ifc4x3_add2::IfcCaissonFoundationTypeEnum::operator Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Value() const { - return (Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcChangeActionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[156]); } @@ -1089,7 +1089,7 @@ Ifc4x3_add2::IfcChangeActionEnum::Value Ifc4x3_add2::IfcChangeActionEnum::FromSt } Ifc4x3_add2::IfcChangeActionEnum::operator Ifc4x3_add2::IfcChangeActionEnum::Value() const { - return (Ifc4x3_add2::IfcChangeActionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcChangeActionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcChillerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[159]); } @@ -1116,7 +1116,7 @@ Ifc4x3_add2::IfcChillerTypeEnum::Value Ifc4x3_add2::IfcChillerTypeEnum::FromStri } Ifc4x3_add2::IfcChillerTypeEnum::operator Ifc4x3_add2::IfcChillerTypeEnum::Value() const { - return (Ifc4x3_add2::IfcChillerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcChillerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcChimneyTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[162]); } @@ -1143,7 +1143,7 @@ Ifc4x3_add2::IfcChimneyTypeEnum::Value Ifc4x3_add2::IfcChimneyTypeEnum::FromStri } Ifc4x3_add2::IfcChimneyTypeEnum::operator Ifc4x3_add2::IfcChimneyTypeEnum::Value() const { - return (Ifc4x3_add2::IfcChimneyTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcChimneyTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcCoilTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[176]); } @@ -1170,7 +1170,7 @@ Ifc4x3_add2::IfcCoilTypeEnum::Value Ifc4x3_add2::IfcCoilTypeEnum::FromString(con } Ifc4x3_add2::IfcCoilTypeEnum::operator Ifc4x3_add2::IfcCoilTypeEnum::Value() const { - return (Ifc4x3_add2::IfcCoilTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcCoilTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcColumnTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[184]); } @@ -1197,7 +1197,7 @@ Ifc4x3_add2::IfcColumnTypeEnum::Value Ifc4x3_add2::IfcColumnTypeEnum::FromString } Ifc4x3_add2::IfcColumnTypeEnum::operator Ifc4x3_add2::IfcColumnTypeEnum::Value() const { - return (Ifc4x3_add2::IfcColumnTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcColumnTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[187]); } @@ -1224,7 +1224,7 @@ Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3_add2::IfcCommunica } Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::operator Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Value() const { - return (Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcComplexPropertyTemplateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[191]); } @@ -1251,7 +1251,7 @@ Ifc4x3_add2::IfcComplexPropertyTemplateTypeEnum::Value Ifc4x3_add2::IfcComplexPr } Ifc4x3_add2::IfcComplexPropertyTemplateTypeEnum::operator Ifc4x3_add2::IfcComplexPropertyTemplateTypeEnum::Value() const { - return (Ifc4x3_add2::IfcComplexPropertyTemplateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcComplexPropertyTemplateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcCompressorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[199]); } @@ -1278,7 +1278,7 @@ Ifc4x3_add2::IfcCompressorTypeEnum::Value Ifc4x3_add2::IfcCompressorTypeEnum::Fr } Ifc4x3_add2::IfcCompressorTypeEnum::operator Ifc4x3_add2::IfcCompressorTypeEnum::Value() const { - return (Ifc4x3_add2::IfcCompressorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcCompressorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcCondenserTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[202]); } @@ -1305,7 +1305,7 @@ Ifc4x3_add2::IfcCondenserTypeEnum::Value Ifc4x3_add2::IfcCondenserTypeEnum::From } Ifc4x3_add2::IfcCondenserTypeEnum::operator Ifc4x3_add2::IfcCondenserTypeEnum::Value() const { - return (Ifc4x3_add2::IfcCondenserTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcCondenserTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcConnectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[210]); } @@ -1332,7 +1332,7 @@ Ifc4x3_add2::IfcConnectionTypeEnum::Value Ifc4x3_add2::IfcConnectionTypeEnum::Fr } Ifc4x3_add2::IfcConnectionTypeEnum::operator Ifc4x3_add2::IfcConnectionTypeEnum::Value() const { - return (Ifc4x3_add2::IfcConnectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcConnectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcConstraintEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[213]); } @@ -1359,7 +1359,7 @@ Ifc4x3_add2::IfcConstraintEnum::Value Ifc4x3_add2::IfcConstraintEnum::FromString } Ifc4x3_add2::IfcConstraintEnum::operator Ifc4x3_add2::IfcConstraintEnum::Value() const { - return (Ifc4x3_add2::IfcConstraintEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcConstraintEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[216]); } @@ -1386,7 +1386,7 @@ Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3_add2::IfcCon } Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::operator Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Value() const { - return (Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[219]); } @@ -1413,7 +1413,7 @@ Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3_add2::IfcCons } Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::operator Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Value() const { - return (Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[222]); } @@ -1440,7 +1440,7 @@ Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Value Ifc4x3_add2::IfcConst } Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::operator Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Value() const { - return (Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcControllerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[231]); } @@ -1467,7 +1467,7 @@ Ifc4x3_add2::IfcControllerTypeEnum::Value Ifc4x3_add2::IfcControllerTypeEnum::Fr } Ifc4x3_add2::IfcControllerTypeEnum::operator Ifc4x3_add2::IfcControllerTypeEnum::Value() const { - return (Ifc4x3_add2::IfcControllerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcControllerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcConveyorSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[236]); } @@ -1494,7 +1494,7 @@ Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Value Ifc4x3_add2::IfcConveyorSegmentTy } Ifc4x3_add2::IfcConveyorSegmentTypeEnum::operator Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Value() const { - return (Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcCooledBeamTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[239]); } @@ -1521,7 +1521,7 @@ Ifc4x3_add2::IfcCooledBeamTypeEnum::Value Ifc4x3_add2::IfcCooledBeamTypeEnum::Fr } Ifc4x3_add2::IfcCooledBeamTypeEnum::operator Ifc4x3_add2::IfcCooledBeamTypeEnum::Value() const { - return (Ifc4x3_add2::IfcCooledBeamTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcCooledBeamTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcCoolingTowerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[242]); } @@ -1548,7 +1548,7 @@ Ifc4x3_add2::IfcCoolingTowerTypeEnum::Value Ifc4x3_add2::IfcCoolingTowerTypeEnum } Ifc4x3_add2::IfcCoolingTowerTypeEnum::operator Ifc4x3_add2::IfcCoolingTowerTypeEnum::Value() const { - return (Ifc4x3_add2::IfcCoolingTowerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcCoolingTowerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcCostItemTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[248]); } @@ -1575,7 +1575,7 @@ Ifc4x3_add2::IfcCostItemTypeEnum::Value Ifc4x3_add2::IfcCostItemTypeEnum::FromSt } Ifc4x3_add2::IfcCostItemTypeEnum::operator Ifc4x3_add2::IfcCostItemTypeEnum::Value() const { - return (Ifc4x3_add2::IfcCostItemTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcCostItemTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcCostScheduleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[250]); } @@ -1602,7 +1602,7 @@ Ifc4x3_add2::IfcCostScheduleTypeEnum::Value Ifc4x3_add2::IfcCostScheduleTypeEnum } Ifc4x3_add2::IfcCostScheduleTypeEnum::operator Ifc4x3_add2::IfcCostScheduleTypeEnum::Value() const { - return (Ifc4x3_add2::IfcCostScheduleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcCostScheduleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcCourseTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[255]); } @@ -1629,7 +1629,7 @@ Ifc4x3_add2::IfcCourseTypeEnum::Value Ifc4x3_add2::IfcCourseTypeEnum::FromString } Ifc4x3_add2::IfcCourseTypeEnum::operator Ifc4x3_add2::IfcCourseTypeEnum::Value() const { - return (Ifc4x3_add2::IfcCourseTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcCourseTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcCoveringTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[258]); } @@ -1656,7 +1656,7 @@ Ifc4x3_add2::IfcCoveringTypeEnum::Value Ifc4x3_add2::IfcCoveringTypeEnum::FromSt } Ifc4x3_add2::IfcCoveringTypeEnum::operator Ifc4x3_add2::IfcCoveringTypeEnum::Value() const { - return (Ifc4x3_add2::IfcCoveringTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcCoveringTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcCrewResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[261]); } @@ -1683,7 +1683,7 @@ Ifc4x3_add2::IfcCrewResourceTypeEnum::Value Ifc4x3_add2::IfcCrewResourceTypeEnum } Ifc4x3_add2::IfcCrewResourceTypeEnum::operator Ifc4x3_add2::IfcCrewResourceTypeEnum::Value() const { - return (Ifc4x3_add2::IfcCrewResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcCrewResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcCurtainWallTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[269]); } @@ -1710,7 +1710,7 @@ Ifc4x3_add2::IfcCurtainWallTypeEnum::Value Ifc4x3_add2::IfcCurtainWallTypeEnum:: } Ifc4x3_add2::IfcCurtainWallTypeEnum::operator Ifc4x3_add2::IfcCurtainWallTypeEnum::Value() const { - return (Ifc4x3_add2::IfcCurtainWallTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcCurtainWallTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcCurveInterpolationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[275]); } @@ -1737,7 +1737,7 @@ Ifc4x3_add2::IfcCurveInterpolationEnum::Value Ifc4x3_add2::IfcCurveInterpolation } Ifc4x3_add2::IfcCurveInterpolationEnum::operator Ifc4x3_add2::IfcCurveInterpolationEnum::Value() const { - return (Ifc4x3_add2::IfcCurveInterpolationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcCurveInterpolationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcDamperTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[288]); } @@ -1764,7 +1764,7 @@ Ifc4x3_add2::IfcDamperTypeEnum::Value Ifc4x3_add2::IfcDamperTypeEnum::FromString } Ifc4x3_add2::IfcDamperTypeEnum::operator Ifc4x3_add2::IfcDamperTypeEnum::Value() const { - return (Ifc4x3_add2::IfcDamperTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcDamperTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcDataOriginEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[289]); } @@ -1791,7 +1791,7 @@ Ifc4x3_add2::IfcDataOriginEnum::Value Ifc4x3_add2::IfcDataOriginEnum::FromString } Ifc4x3_add2::IfcDataOriginEnum::operator Ifc4x3_add2::IfcDataOriginEnum::Value() const { - return (Ifc4x3_add2::IfcDataOriginEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcDataOriginEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcDerivedUnitEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[301]); } @@ -1818,7 +1818,7 @@ Ifc4x3_add2::IfcDerivedUnitEnum::Value Ifc4x3_add2::IfcDerivedUnitEnum::FromStri } Ifc4x3_add2::IfcDerivedUnitEnum::operator Ifc4x3_add2::IfcDerivedUnitEnum::Value() const { - return (Ifc4x3_add2::IfcDerivedUnitEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcDerivedUnitEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcDirectionSenseEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[306]); } @@ -1845,7 +1845,7 @@ Ifc4x3_add2::IfcDirectionSenseEnum::Value Ifc4x3_add2::IfcDirectionSenseEnum::Fr } Ifc4x3_add2::IfcDirectionSenseEnum::operator Ifc4x3_add2::IfcDirectionSenseEnum::Value() const { - return (Ifc4x3_add2::IfcDirectionSenseEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcDirectionSenseEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[311]); } @@ -1872,7 +1872,7 @@ Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3_add2::IfcDiscreteAccesso } Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::operator Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Value() const { - return (Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcDistributionBoardTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[314]); } @@ -1899,7 +1899,7 @@ Ifc4x3_add2::IfcDistributionBoardTypeEnum::Value Ifc4x3_add2::IfcDistributionBoa } Ifc4x3_add2::IfcDistributionBoardTypeEnum::operator Ifc4x3_add2::IfcDistributionBoardTypeEnum::Value() const { - return (Ifc4x3_add2::IfcDistributionBoardTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcDistributionBoardTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[317]); } @@ -1926,7 +1926,7 @@ Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Value Ifc4x3_add2::IfcDistri } Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::operator Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Value() const { - return (Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcDistributionPortTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[326]); } @@ -1953,7 +1953,7 @@ Ifc4x3_add2::IfcDistributionPortTypeEnum::Value Ifc4x3_add2::IfcDistributionPort } Ifc4x3_add2::IfcDistributionPortTypeEnum::operator Ifc4x3_add2::IfcDistributionPortTypeEnum::Value() const { - return (Ifc4x3_add2::IfcDistributionPortTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcDistributionPortTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcDistributionSystemEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[328]); } @@ -1980,7 +1980,7 @@ Ifc4x3_add2::IfcDistributionSystemEnum::Value Ifc4x3_add2::IfcDistributionSystem } Ifc4x3_add2::IfcDistributionSystemEnum::operator Ifc4x3_add2::IfcDistributionSystemEnum::Value() const { - return (Ifc4x3_add2::IfcDistributionSystemEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcDistributionSystemEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcDocumentConfidentialityEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[329]); } @@ -2007,7 +2007,7 @@ Ifc4x3_add2::IfcDocumentConfidentialityEnum::Value Ifc4x3_add2::IfcDocumentConfi } Ifc4x3_add2::IfcDocumentConfidentialityEnum::operator Ifc4x3_add2::IfcDocumentConfidentialityEnum::Value() const { - return (Ifc4x3_add2::IfcDocumentConfidentialityEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcDocumentConfidentialityEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcDocumentStatusEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[334]); } @@ -2034,7 +2034,7 @@ Ifc4x3_add2::IfcDocumentStatusEnum::Value Ifc4x3_add2::IfcDocumentStatusEnum::Fr } Ifc4x3_add2::IfcDocumentStatusEnum::operator Ifc4x3_add2::IfcDocumentStatusEnum::Value() const { - return (Ifc4x3_add2::IfcDocumentStatusEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcDocumentStatusEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcDoorPanelOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[337]); } @@ -2061,7 +2061,7 @@ Ifc4x3_add2::IfcDoorPanelOperationEnum::Value Ifc4x3_add2::IfcDoorPanelOperation } Ifc4x3_add2::IfcDoorPanelOperationEnum::operator Ifc4x3_add2::IfcDoorPanelOperationEnum::Value() const { - return (Ifc4x3_add2::IfcDoorPanelOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcDoorPanelOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcDoorPanelPositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[338]); } @@ -2088,7 +2088,7 @@ Ifc4x3_add2::IfcDoorPanelPositionEnum::Value Ifc4x3_add2::IfcDoorPanelPositionEn } Ifc4x3_add2::IfcDoorPanelPositionEnum::operator Ifc4x3_add2::IfcDoorPanelPositionEnum::Value() const { - return (Ifc4x3_add2::IfcDoorPanelPositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcDoorPanelPositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcDoorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[341]); } @@ -2115,7 +2115,7 @@ Ifc4x3_add2::IfcDoorTypeEnum::Value Ifc4x3_add2::IfcDoorTypeEnum::FromString(con } Ifc4x3_add2::IfcDoorTypeEnum::operator Ifc4x3_add2::IfcDoorTypeEnum::Value() const { - return (Ifc4x3_add2::IfcDoorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcDoorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcDoorTypeOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[342]); } @@ -2142,7 +2142,7 @@ Ifc4x3_add2::IfcDoorTypeOperationEnum::Value Ifc4x3_add2::IfcDoorTypeOperationEn } Ifc4x3_add2::IfcDoorTypeOperationEnum::operator Ifc4x3_add2::IfcDoorTypeOperationEnum::Value() const { - return (Ifc4x3_add2::IfcDoorTypeOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcDoorTypeOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcDuctFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[348]); } @@ -2169,7 +2169,7 @@ Ifc4x3_add2::IfcDuctFittingTypeEnum::Value Ifc4x3_add2::IfcDuctFittingTypeEnum:: } Ifc4x3_add2::IfcDuctFittingTypeEnum::operator Ifc4x3_add2::IfcDuctFittingTypeEnum::Value() const { - return (Ifc4x3_add2::IfcDuctFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcDuctFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcDuctSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[351]); } @@ -2196,7 +2196,7 @@ Ifc4x3_add2::IfcDuctSegmentTypeEnum::Value Ifc4x3_add2::IfcDuctSegmentTypeEnum:: } Ifc4x3_add2::IfcDuctSegmentTypeEnum::operator Ifc4x3_add2::IfcDuctSegmentTypeEnum::Value() const { - return (Ifc4x3_add2::IfcDuctSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcDuctSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcDuctSilencerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[354]); } @@ -2223,7 +2223,7 @@ Ifc4x3_add2::IfcDuctSilencerTypeEnum::Value Ifc4x3_add2::IfcDuctSilencerTypeEnum } Ifc4x3_add2::IfcDuctSilencerTypeEnum::operator Ifc4x3_add2::IfcDuctSilencerTypeEnum::Value() const { - return (Ifc4x3_add2::IfcDuctSilencerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcDuctSilencerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcEarthworksCutTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[358]); } @@ -2250,7 +2250,7 @@ Ifc4x3_add2::IfcEarthworksCutTypeEnum::Value Ifc4x3_add2::IfcEarthworksCutTypeEn } Ifc4x3_add2::IfcEarthworksCutTypeEnum::operator Ifc4x3_add2::IfcEarthworksCutTypeEnum::Value() const { - return (Ifc4x3_add2::IfcEarthworksCutTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcEarthworksCutTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcEarthworksFillTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[361]); } @@ -2277,7 +2277,7 @@ Ifc4x3_add2::IfcEarthworksFillTypeEnum::Value Ifc4x3_add2::IfcEarthworksFillType } Ifc4x3_add2::IfcEarthworksFillTypeEnum::operator Ifc4x3_add2::IfcEarthworksFillTypeEnum::Value() const { - return (Ifc4x3_add2::IfcEarthworksFillTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcEarthworksFillTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcElectricApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[367]); } @@ -2304,7 +2304,7 @@ Ifc4x3_add2::IfcElectricApplianceTypeEnum::Value Ifc4x3_add2::IfcElectricApplian } Ifc4x3_add2::IfcElectricApplianceTypeEnum::operator Ifc4x3_add2::IfcElectricApplianceTypeEnum::Value() const { - return (Ifc4x3_add2::IfcElectricApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcElectricApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[374]); } @@ -2331,7 +2331,7 @@ Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3_add2::IfcElectri } Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::operator Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Value() const { - return (Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[377]); } @@ -2358,7 +2358,7 @@ Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3_add2::IfcElectri } Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::operator Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Value() const { - return (Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[380]); } @@ -2385,7 +2385,7 @@ Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3_add2::IfcElect } Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::operator Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Value() const { - return (Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcElectricGeneratorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[383]); } @@ -2412,7 +2412,7 @@ Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Value Ifc4x3_add2::IfcElectricGenerat } Ifc4x3_add2::IfcElectricGeneratorTypeEnum::operator Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Value() const { - return (Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcElectricMotorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[386]); } @@ -2439,7 +2439,7 @@ Ifc4x3_add2::IfcElectricMotorTypeEnum::Value Ifc4x3_add2::IfcElectricMotorTypeEn } Ifc4x3_add2::IfcElectricMotorTypeEnum::operator Ifc4x3_add2::IfcElectricMotorTypeEnum::Value() const { - return (Ifc4x3_add2::IfcElectricMotorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcElectricMotorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcElectricTimeControlTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[390]); } @@ -2466,7 +2466,7 @@ Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Value Ifc4x3_add2::IfcElectricTimeC } Ifc4x3_add2::IfcElectricTimeControlTypeEnum::operator Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Value() const { - return (Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcElementAssemblyTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[396]); } @@ -2493,7 +2493,7 @@ Ifc4x3_add2::IfcElementAssemblyTypeEnum::Value Ifc4x3_add2::IfcElementAssemblyTy } Ifc4x3_add2::IfcElementAssemblyTypeEnum::operator Ifc4x3_add2::IfcElementAssemblyTypeEnum::Value() const { - return (Ifc4x3_add2::IfcElementAssemblyTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcElementAssemblyTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcElementCompositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[399]); } @@ -2520,7 +2520,7 @@ Ifc4x3_add2::IfcElementCompositionEnum::Value Ifc4x3_add2::IfcElementComposition } Ifc4x3_add2::IfcElementCompositionEnum::operator Ifc4x3_add2::IfcElementCompositionEnum::Value() const { - return (Ifc4x3_add2::IfcElementCompositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcElementCompositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcEngineTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[409]); } @@ -2547,7 +2547,7 @@ Ifc4x3_add2::IfcEngineTypeEnum::Value Ifc4x3_add2::IfcEngineTypeEnum::FromString } Ifc4x3_add2::IfcEngineTypeEnum::operator Ifc4x3_add2::IfcEngineTypeEnum::Value() const { - return (Ifc4x3_add2::IfcEngineTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcEngineTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[412]); } @@ -2574,7 +2574,7 @@ Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3_add2::IfcEvaporativeCool } Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::operator Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Value() const { - return (Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcEvaporatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[415]); } @@ -2601,7 +2601,7 @@ Ifc4x3_add2::IfcEvaporatorTypeEnum::Value Ifc4x3_add2::IfcEvaporatorTypeEnum::Fr } Ifc4x3_add2::IfcEvaporatorTypeEnum::operator Ifc4x3_add2::IfcEvaporatorTypeEnum::Value() const { - return (Ifc4x3_add2::IfcEvaporatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcEvaporatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcEventTriggerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[418]); } @@ -2628,7 +2628,7 @@ Ifc4x3_add2::IfcEventTriggerTypeEnum::Value Ifc4x3_add2::IfcEventTriggerTypeEnum } Ifc4x3_add2::IfcEventTriggerTypeEnum::operator Ifc4x3_add2::IfcEventTriggerTypeEnum::Value() const { - return (Ifc4x3_add2::IfcEventTriggerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcEventTriggerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcEventTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[420]); } @@ -2655,7 +2655,7 @@ Ifc4x3_add2::IfcEventTypeEnum::Value Ifc4x3_add2::IfcEventTypeEnum::FromString(c } Ifc4x3_add2::IfcEventTypeEnum::operator Ifc4x3_add2::IfcEventTypeEnum::Value() const { - return (Ifc4x3_add2::IfcEventTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcEventTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcExternalSpatialElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[429]); } @@ -2682,7 +2682,7 @@ Ifc4x3_add2::IfcExternalSpatialElementTypeEnum::Value Ifc4x3_add2::IfcExternalSp } Ifc4x3_add2::IfcExternalSpatialElementTypeEnum::operator Ifc4x3_add2::IfcExternalSpatialElementTypeEnum::Value() const { - return (Ifc4x3_add2::IfcExternalSpatialElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcExternalSpatialElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcFacilityPartCommonTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[443]); } @@ -2709,7 +2709,7 @@ Ifc4x3_add2::IfcFacilityPartCommonTypeEnum::Value Ifc4x3_add2::IfcFacilityPartCo } Ifc4x3_add2::IfcFacilityPartCommonTypeEnum::operator Ifc4x3_add2::IfcFacilityPartCommonTypeEnum::Value() const { - return (Ifc4x3_add2::IfcFacilityPartCommonTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcFacilityPartCommonTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcFacilityUsageEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[444]); } @@ -2736,7 +2736,7 @@ Ifc4x3_add2::IfcFacilityUsageEnum::Value Ifc4x3_add2::IfcFacilityUsageEnum::From } Ifc4x3_add2::IfcFacilityUsageEnum::operator Ifc4x3_add2::IfcFacilityUsageEnum::Value() const { - return (Ifc4x3_add2::IfcFacilityUsageEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcFacilityUsageEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcFanTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[448]); } @@ -2763,7 +2763,7 @@ Ifc4x3_add2::IfcFanTypeEnum::Value Ifc4x3_add2::IfcFanTypeEnum::FromString(const } Ifc4x3_add2::IfcFanTypeEnum::operator Ifc4x3_add2::IfcFanTypeEnum::Value() const { - return (Ifc4x3_add2::IfcFanTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcFanTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcFastenerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[451]); } @@ -2790,7 +2790,7 @@ Ifc4x3_add2::IfcFastenerTypeEnum::Value Ifc4x3_add2::IfcFastenerTypeEnum::FromSt } Ifc4x3_add2::IfcFastenerTypeEnum::operator Ifc4x3_add2::IfcFastenerTypeEnum::Value() const { - return (Ifc4x3_add2::IfcFastenerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcFastenerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcFilterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[461]); } @@ -2817,7 +2817,7 @@ Ifc4x3_add2::IfcFilterTypeEnum::Value Ifc4x3_add2::IfcFilterTypeEnum::FromString } Ifc4x3_add2::IfcFilterTypeEnum::operator Ifc4x3_add2::IfcFilterTypeEnum::Value() const { - return (Ifc4x3_add2::IfcFilterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcFilterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[464]); } @@ -2844,7 +2844,7 @@ Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3_add2::IfcFireSuppr } Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::operator Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Value() const { - return (Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcFlowDirectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[468]); } @@ -2871,7 +2871,7 @@ Ifc4x3_add2::IfcFlowDirectionEnum::Value Ifc4x3_add2::IfcFlowDirectionEnum::From } Ifc4x3_add2::IfcFlowDirectionEnum::operator Ifc4x3_add2::IfcFlowDirectionEnum::Value() const { - return (Ifc4x3_add2::IfcFlowDirectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcFlowDirectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcFlowInstrumentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[473]); } @@ -2898,7 +2898,7 @@ Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Value Ifc4x3_add2::IfcFlowInstrumentType } Ifc4x3_add2::IfcFlowInstrumentTypeEnum::operator Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Value() const { - return (Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcFlowMeterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[476]); } @@ -2925,7 +2925,7 @@ Ifc4x3_add2::IfcFlowMeterTypeEnum::Value Ifc4x3_add2::IfcFlowMeterTypeEnum::From } Ifc4x3_add2::IfcFlowMeterTypeEnum::operator Ifc4x3_add2::IfcFlowMeterTypeEnum::Value() const { - return (Ifc4x3_add2::IfcFlowMeterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcFlowMeterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcFootingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[492]); } @@ -2952,7 +2952,7 @@ Ifc4x3_add2::IfcFootingTypeEnum::Value Ifc4x3_add2::IfcFootingTypeEnum::FromStri } Ifc4x3_add2::IfcFootingTypeEnum::operator Ifc4x3_add2::IfcFootingTypeEnum::Value() const { - return (Ifc4x3_add2::IfcFootingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcFootingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcFurnitureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[499]); } @@ -2979,7 +2979,7 @@ Ifc4x3_add2::IfcFurnitureTypeEnum::Value Ifc4x3_add2::IfcFurnitureTypeEnum::From } Ifc4x3_add2::IfcFurnitureTypeEnum::operator Ifc4x3_add2::IfcFurnitureTypeEnum::Value() const { - return (Ifc4x3_add2::IfcFurnitureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcFurnitureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcGeographicElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[503]); } @@ -3006,7 +3006,7 @@ Ifc4x3_add2::IfcGeographicElementTypeEnum::Value Ifc4x3_add2::IfcGeographicEleme } Ifc4x3_add2::IfcGeographicElementTypeEnum::operator Ifc4x3_add2::IfcGeographicElementTypeEnum::Value() const { - return (Ifc4x3_add2::IfcGeographicElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcGeographicElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcGeometricProjectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[505]); } @@ -3033,7 +3033,7 @@ Ifc4x3_add2::IfcGeometricProjectionEnum::Value Ifc4x3_add2::IfcGeometricProjecti } Ifc4x3_add2::IfcGeometricProjectionEnum::operator Ifc4x3_add2::IfcGeometricProjectionEnum::Value() const { - return (Ifc4x3_add2::IfcGeometricProjectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcGeometricProjectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcGeotechnicalStratumTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[516]); } @@ -3060,7 +3060,7 @@ Ifc4x3_add2::IfcGeotechnicalStratumTypeEnum::Value Ifc4x3_add2::IfcGeotechnicalS } Ifc4x3_add2::IfcGeotechnicalStratumTypeEnum::operator Ifc4x3_add2::IfcGeotechnicalStratumTypeEnum::Value() const { - return (Ifc4x3_add2::IfcGeotechnicalStratumTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcGeotechnicalStratumTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcGlobalOrLocalEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[518]); } @@ -3087,7 +3087,7 @@ Ifc4x3_add2::IfcGlobalOrLocalEnum::Value Ifc4x3_add2::IfcGlobalOrLocalEnum::From } Ifc4x3_add2::IfcGlobalOrLocalEnum::operator Ifc4x3_add2::IfcGlobalOrLocalEnum::Value() const { - return (Ifc4x3_add2::IfcGlobalOrLocalEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcGlobalOrLocalEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcGridTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[524]); } @@ -3114,7 +3114,7 @@ Ifc4x3_add2::IfcGridTypeEnum::Value Ifc4x3_add2::IfcGridTypeEnum::FromString(con } Ifc4x3_add2::IfcGridTypeEnum::operator Ifc4x3_add2::IfcGridTypeEnum::Value() const { - return (Ifc4x3_add2::IfcGridTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcGridTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcHeatExchangerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[530]); } @@ -3141,7 +3141,7 @@ Ifc4x3_add2::IfcHeatExchangerTypeEnum::Value Ifc4x3_add2::IfcHeatExchangerTypeEn } Ifc4x3_add2::IfcHeatExchangerTypeEnum::operator Ifc4x3_add2::IfcHeatExchangerTypeEnum::Value() const { - return (Ifc4x3_add2::IfcHeatExchangerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcHeatExchangerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcHumidifierTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[535]); } @@ -3168,7 +3168,7 @@ Ifc4x3_add2::IfcHumidifierTypeEnum::Value Ifc4x3_add2::IfcHumidifierTypeEnum::Fr } Ifc4x3_add2::IfcHumidifierTypeEnum::operator Ifc4x3_add2::IfcHumidifierTypeEnum::Value() const { - return (Ifc4x3_add2::IfcHumidifierTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcHumidifierTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[541]); } @@ -3195,7 +3195,7 @@ Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Value Ifc4x3_add2::IfcImpactProt } Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::operator Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Value() const { - return (Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcInterceptorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[554]); } @@ -3222,7 +3222,7 @@ Ifc4x3_add2::IfcInterceptorTypeEnum::Value Ifc4x3_add2::IfcInterceptorTypeEnum:: } Ifc4x3_add2::IfcInterceptorTypeEnum::operator Ifc4x3_add2::IfcInterceptorTypeEnum::Value() const { - return (Ifc4x3_add2::IfcInterceptorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcInterceptorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcInternalOrExternalEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[556]); } @@ -3249,7 +3249,7 @@ Ifc4x3_add2::IfcInternalOrExternalEnum::Value Ifc4x3_add2::IfcInternalOrExternal } Ifc4x3_add2::IfcInternalOrExternalEnum::operator Ifc4x3_add2::IfcInternalOrExternalEnum::Value() const { - return (Ifc4x3_add2::IfcInternalOrExternalEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcInternalOrExternalEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcInventoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[559]); } @@ -3276,7 +3276,7 @@ Ifc4x3_add2::IfcInventoryTypeEnum::Value Ifc4x3_add2::IfcInventoryTypeEnum::From } Ifc4x3_add2::IfcInventoryTypeEnum::operator Ifc4x3_add2::IfcInventoryTypeEnum::Value() const { - return (Ifc4x3_add2::IfcInventoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcInventoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcJunctionBoxTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[567]); } @@ -3303,7 +3303,7 @@ Ifc4x3_add2::IfcJunctionBoxTypeEnum::Value Ifc4x3_add2::IfcJunctionBoxTypeEnum:: } Ifc4x3_add2::IfcJunctionBoxTypeEnum::operator Ifc4x3_add2::IfcJunctionBoxTypeEnum::Value() const { - return (Ifc4x3_add2::IfcJunctionBoxTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcJunctionBoxTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcKerbTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[570]); } @@ -3330,7 +3330,7 @@ Ifc4x3_add2::IfcKerbTypeEnum::Value Ifc4x3_add2::IfcKerbTypeEnum::FromString(con } Ifc4x3_add2::IfcKerbTypeEnum::operator Ifc4x3_add2::IfcKerbTypeEnum::Value() const { - return (Ifc4x3_add2::IfcKerbTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcKerbTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcKnotType::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[572]); } @@ -3357,7 +3357,7 @@ Ifc4x3_add2::IfcKnotType::Value Ifc4x3_add2::IfcKnotType::FromString(const std:: } Ifc4x3_add2::IfcKnotType::operator Ifc4x3_add2::IfcKnotType::Value() const { - return (Ifc4x3_add2::IfcKnotType::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcKnotType::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcLaborResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[576]); } @@ -3384,7 +3384,7 @@ Ifc4x3_add2::IfcLaborResourceTypeEnum::Value Ifc4x3_add2::IfcLaborResourceTypeEn } Ifc4x3_add2::IfcLaborResourceTypeEnum::operator Ifc4x3_add2::IfcLaborResourceTypeEnum::Value() const { - return (Ifc4x3_add2::IfcLaborResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcLaborResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcLampTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[580]); } @@ -3411,7 +3411,7 @@ Ifc4x3_add2::IfcLampTypeEnum::Value Ifc4x3_add2::IfcLampTypeEnum::FromString(con } Ifc4x3_add2::IfcLampTypeEnum::operator Ifc4x3_add2::IfcLampTypeEnum::Value() const { - return (Ifc4x3_add2::IfcLampTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcLampTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcLayerSetDirectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[583]); } @@ -3438,7 +3438,7 @@ Ifc4x3_add2::IfcLayerSetDirectionEnum::Value Ifc4x3_add2::IfcLayerSetDirectionEn } Ifc4x3_add2::IfcLayerSetDirectionEnum::operator Ifc4x3_add2::IfcLayerSetDirectionEnum::Value() const { - return (Ifc4x3_add2::IfcLayerSetDirectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcLayerSetDirectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcLightDistributionCurveEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[588]); } @@ -3465,7 +3465,7 @@ Ifc4x3_add2::IfcLightDistributionCurveEnum::Value Ifc4x3_add2::IfcLightDistribut } Ifc4x3_add2::IfcLightDistributionCurveEnum::operator Ifc4x3_add2::IfcLightDistributionCurveEnum::Value() const { - return (Ifc4x3_add2::IfcLightDistributionCurveEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcLightDistributionCurveEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcLightEmissionSourceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[591]); } @@ -3492,7 +3492,7 @@ Ifc4x3_add2::IfcLightEmissionSourceEnum::Value Ifc4x3_add2::IfcLightEmissionSour } Ifc4x3_add2::IfcLightEmissionSourceEnum::operator Ifc4x3_add2::IfcLightEmissionSourceEnum::Value() const { - return (Ifc4x3_add2::IfcLightEmissionSourceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcLightEmissionSourceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcLightFixtureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[594]); } @@ -3519,7 +3519,7 @@ Ifc4x3_add2::IfcLightFixtureTypeEnum::Value Ifc4x3_add2::IfcLightFixtureTypeEnum } Ifc4x3_add2::IfcLightFixtureTypeEnum::operator Ifc4x3_add2::IfcLightFixtureTypeEnum::Value() const { - return (Ifc4x3_add2::IfcLightFixtureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcLightFixtureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcLiquidTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[613]); } @@ -3546,7 +3546,7 @@ Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Value Ifc4x3_add2::IfcLiquidTerminalType } Ifc4x3_add2::IfcLiquidTerminalTypeEnum::operator Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Value() const { - return (Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcLoadGroupTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[614]); } @@ -3573,7 +3573,7 @@ Ifc4x3_add2::IfcLoadGroupTypeEnum::Value Ifc4x3_add2::IfcLoadGroupTypeEnum::From } Ifc4x3_add2::IfcLoadGroupTypeEnum::operator Ifc4x3_add2::IfcLoadGroupTypeEnum::Value() const { - return (Ifc4x3_add2::IfcLoadGroupTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcLoadGroupTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcLogicalOperatorEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[617]); } @@ -3600,7 +3600,7 @@ Ifc4x3_add2::IfcLogicalOperatorEnum::Value Ifc4x3_add2::IfcLogicalOperatorEnum:: } Ifc4x3_add2::IfcLogicalOperatorEnum::operator Ifc4x3_add2::IfcLogicalOperatorEnum::Value() const { - return (Ifc4x3_add2::IfcLogicalOperatorEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcLogicalOperatorEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcMarineFacilityTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[630]); } @@ -3627,7 +3627,7 @@ Ifc4x3_add2::IfcMarineFacilityTypeEnum::Value Ifc4x3_add2::IfcMarineFacilityType } Ifc4x3_add2::IfcMarineFacilityTypeEnum::operator Ifc4x3_add2::IfcMarineFacilityTypeEnum::Value() const { - return (Ifc4x3_add2::IfcMarineFacilityTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcMarineFacilityTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcMarinePartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[632]); } @@ -3654,7 +3654,7 @@ Ifc4x3_add2::IfcMarinePartTypeEnum::Value Ifc4x3_add2::IfcMarinePartTypeEnum::Fr } Ifc4x3_add2::IfcMarinePartTypeEnum::operator Ifc4x3_add2::IfcMarinePartTypeEnum::Value() const { - return (Ifc4x3_add2::IfcMarinePartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcMarinePartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[661]); } @@ -3681,7 +3681,7 @@ Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_add2::IfcMechanicalFast } Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::operator Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::Value() const { - return (Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcMedicalDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[664]); } @@ -3708,7 +3708,7 @@ Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Value Ifc4x3_add2::IfcMedicalDeviceTypeEn } Ifc4x3_add2::IfcMedicalDeviceTypeEnum::operator Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Value() const { - return (Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcMemberTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[667]); } @@ -3735,7 +3735,7 @@ Ifc4x3_add2::IfcMemberTypeEnum::Value Ifc4x3_add2::IfcMemberTypeEnum::FromString } Ifc4x3_add2::IfcMemberTypeEnum::operator Ifc4x3_add2::IfcMemberTypeEnum::Value() const { - return (Ifc4x3_add2::IfcMemberTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcMemberTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[673]); } @@ -3762,7 +3762,7 @@ Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3_add2::If } Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::operator Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Value() const { - return (Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcMooringDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[689]); } @@ -3789,7 +3789,7 @@ Ifc4x3_add2::IfcMooringDeviceTypeEnum::Value Ifc4x3_add2::IfcMooringDeviceTypeEn } Ifc4x3_add2::IfcMooringDeviceTypeEnum::operator Ifc4x3_add2::IfcMooringDeviceTypeEnum::Value() const { - return (Ifc4x3_add2::IfcMooringDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcMooringDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcMotorConnectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[692]); } @@ -3816,7 +3816,7 @@ Ifc4x3_add2::IfcMotorConnectionTypeEnum::Value Ifc4x3_add2::IfcMotorConnectionTy } Ifc4x3_add2::IfcMotorConnectionTypeEnum::operator Ifc4x3_add2::IfcMotorConnectionTypeEnum::Value() const { - return (Ifc4x3_add2::IfcMotorConnectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcMotorConnectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcNavigationElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[696]); } @@ -3843,7 +3843,7 @@ Ifc4x3_add2::IfcNavigationElementTypeEnum::Value Ifc4x3_add2::IfcNavigationEleme } Ifc4x3_add2::IfcNavigationElementTypeEnum::operator Ifc4x3_add2::IfcNavigationElementTypeEnum::Value() const { - return (Ifc4x3_add2::IfcNavigationElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcNavigationElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcObjectiveEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[703]); } @@ -3870,7 +3870,7 @@ Ifc4x3_add2::IfcObjectiveEnum::Value Ifc4x3_add2::IfcObjectiveEnum::FromString(c } Ifc4x3_add2::IfcObjectiveEnum::operator Ifc4x3_add2::IfcObjectiveEnum::Value() const { - return (Ifc4x3_add2::IfcObjectiveEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcObjectiveEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcOccupantTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[707]); } @@ -3897,7 +3897,7 @@ Ifc4x3_add2::IfcOccupantTypeEnum::Value Ifc4x3_add2::IfcOccupantTypeEnum::FromSt } Ifc4x3_add2::IfcOccupantTypeEnum::operator Ifc4x3_add2::IfcOccupantTypeEnum::Value() const { - return (Ifc4x3_add2::IfcOccupantTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcOccupantTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcOpeningElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[714]); } @@ -3924,7 +3924,7 @@ Ifc4x3_add2::IfcOpeningElementTypeEnum::Value Ifc4x3_add2::IfcOpeningElementType } Ifc4x3_add2::IfcOpeningElementTypeEnum::operator Ifc4x3_add2::IfcOpeningElementTypeEnum::Value() const { - return (Ifc4x3_add2::IfcOpeningElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcOpeningElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcOutletTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[722]); } @@ -3951,7 +3951,7 @@ Ifc4x3_add2::IfcOutletTypeEnum::Value Ifc4x3_add2::IfcOutletTypeEnum::FromString } Ifc4x3_add2::IfcOutletTypeEnum::operator Ifc4x3_add2::IfcOutletTypeEnum::Value() const { - return (Ifc4x3_add2::IfcOutletTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcOutletTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcPavementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[729]); } @@ -3978,7 +3978,7 @@ Ifc4x3_add2::IfcPavementTypeEnum::Value Ifc4x3_add2::IfcPavementTypeEnum::FromSt } Ifc4x3_add2::IfcPavementTypeEnum::operator Ifc4x3_add2::IfcPavementTypeEnum::Value() const { - return (Ifc4x3_add2::IfcPavementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcPavementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcPerformanceHistoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[732]); } @@ -4005,7 +4005,7 @@ Ifc4x3_add2::IfcPerformanceHistoryTypeEnum::Value Ifc4x3_add2::IfcPerformanceHis } Ifc4x3_add2::IfcPerformanceHistoryTypeEnum::operator Ifc4x3_add2::IfcPerformanceHistoryTypeEnum::Value() const { - return (Ifc4x3_add2::IfcPerformanceHistoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcPerformanceHistoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcPermeableCoveringOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[733]); } @@ -4032,7 +4032,7 @@ Ifc4x3_add2::IfcPermeableCoveringOperationEnum::Value Ifc4x3_add2::IfcPermeableC } Ifc4x3_add2::IfcPermeableCoveringOperationEnum::operator Ifc4x3_add2::IfcPermeableCoveringOperationEnum::Value() const { - return (Ifc4x3_add2::IfcPermeableCoveringOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcPermeableCoveringOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcPermitTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[736]); } @@ -4059,7 +4059,7 @@ Ifc4x3_add2::IfcPermitTypeEnum::Value Ifc4x3_add2::IfcPermitTypeEnum::FromString } Ifc4x3_add2::IfcPermitTypeEnum::operator Ifc4x3_add2::IfcPermitTypeEnum::Value() const { - return (Ifc4x3_add2::IfcPermitTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcPermitTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcPhysicalOrVirtualEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[741]); } @@ -4086,7 +4086,7 @@ Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Value Ifc4x3_add2::IfcPhysicalOrVirtualEn } Ifc4x3_add2::IfcPhysicalOrVirtualEnum::operator Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Value() const { - return (Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcPileConstructionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[745]); } @@ -4113,7 +4113,7 @@ Ifc4x3_add2::IfcPileConstructionEnum::Value Ifc4x3_add2::IfcPileConstructionEnum } Ifc4x3_add2::IfcPileConstructionEnum::operator Ifc4x3_add2::IfcPileConstructionEnum::Value() const { - return (Ifc4x3_add2::IfcPileConstructionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcPileConstructionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcPileTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[747]); } @@ -4140,7 +4140,7 @@ Ifc4x3_add2::IfcPileTypeEnum::Value Ifc4x3_add2::IfcPileTypeEnum::FromString(con } Ifc4x3_add2::IfcPileTypeEnum::operator Ifc4x3_add2::IfcPileTypeEnum::Value() const { - return (Ifc4x3_add2::IfcPileTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcPileTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcPipeFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[750]); } @@ -4167,7 +4167,7 @@ Ifc4x3_add2::IfcPipeFittingTypeEnum::Value Ifc4x3_add2::IfcPipeFittingTypeEnum:: } Ifc4x3_add2::IfcPipeFittingTypeEnum::operator Ifc4x3_add2::IfcPipeFittingTypeEnum::Value() const { - return (Ifc4x3_add2::IfcPipeFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcPipeFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcPipeSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[753]); } @@ -4194,7 +4194,7 @@ Ifc4x3_add2::IfcPipeSegmentTypeEnum::Value Ifc4x3_add2::IfcPipeSegmentTypeEnum:: } Ifc4x3_add2::IfcPipeSegmentTypeEnum::operator Ifc4x3_add2::IfcPipeSegmentTypeEnum::Value() const { - return (Ifc4x3_add2::IfcPipeSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcPipeSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcPlateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[763]); } @@ -4221,7 +4221,7 @@ Ifc4x3_add2::IfcPlateTypeEnum::Value Ifc4x3_add2::IfcPlateTypeEnum::FromString(c } Ifc4x3_add2::IfcPlateTypeEnum::operator Ifc4x3_add2::IfcPlateTypeEnum::Value() const { - return (Ifc4x3_add2::IfcPlateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcPlateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[788]); } @@ -4248,7 +4248,7 @@ Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x3_add2::IfcPrefe } Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::operator Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Value() const { - return (Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcProcedureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[797]); } @@ -4275,7 +4275,7 @@ Ifc4x3_add2::IfcProcedureTypeEnum::Value Ifc4x3_add2::IfcProcedureTypeEnum::From } Ifc4x3_add2::IfcProcedureTypeEnum::operator Ifc4x3_add2::IfcProcedureTypeEnum::Value() const { - return (Ifc4x3_add2::IfcProcedureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcProcedureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcProfileTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[807]); } @@ -4302,7 +4302,7 @@ Ifc4x3_add2::IfcProfileTypeEnum::Value Ifc4x3_add2::IfcProfileTypeEnum::FromStri } Ifc4x3_add2::IfcProfileTypeEnum::operator Ifc4x3_add2::IfcProfileTypeEnum::Value() const { - return (Ifc4x3_add2::IfcProfileTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcProfileTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcProjectOrderTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[815]); } @@ -4329,7 +4329,7 @@ Ifc4x3_add2::IfcProjectOrderTypeEnum::Value Ifc4x3_add2::IfcProjectOrderTypeEnum } Ifc4x3_add2::IfcProjectOrderTypeEnum::operator Ifc4x3_add2::IfcProjectOrderTypeEnum::Value() const { - return (Ifc4x3_add2::IfcProjectOrderTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcProjectOrderTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[810]); } @@ -4356,7 +4356,7 @@ Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value Ifc4x3_add2::IfcProjectedOrTrue } Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::operator Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value() const { - return (Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcProjectionElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[812]); } @@ -4383,7 +4383,7 @@ Ifc4x3_add2::IfcProjectionElementTypeEnum::Value Ifc4x3_add2::IfcProjectionEleme } Ifc4x3_add2::IfcProjectionElementTypeEnum::operator Ifc4x3_add2::IfcProjectionElementTypeEnum::Value() const { - return (Ifc4x3_add2::IfcProjectionElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcProjectionElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcPropertySetTemplateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[830]); } @@ -4410,7 +4410,7 @@ Ifc4x3_add2::IfcPropertySetTemplateTypeEnum::Value Ifc4x3_add2::IfcPropertySetTe } Ifc4x3_add2::IfcPropertySetTemplateTypeEnum::operator Ifc4x3_add2::IfcPropertySetTemplateTypeEnum::Value() const { - return (Ifc4x3_add2::IfcPropertySetTemplateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcPropertySetTemplateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[838]); } @@ -4437,7 +4437,7 @@ Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3_add2::IfcProt } Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::operator Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value() const { - return (Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[840]); } @@ -4464,7 +4464,7 @@ Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Value Ifc4x3_add2::IfcProtectiveDevice } Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::operator Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Value() const { - return (Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcPumpTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[843]); } @@ -4491,7 +4491,7 @@ Ifc4x3_add2::IfcPumpTypeEnum::Value Ifc4x3_add2::IfcPumpTypeEnum::FromString(con } Ifc4x3_add2::IfcPumpTypeEnum::operator Ifc4x3_add2::IfcPumpTypeEnum::Value() const { - return (Ifc4x3_add2::IfcPumpTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcPumpTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcRailTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[858]); } @@ -4518,7 +4518,7 @@ Ifc4x3_add2::IfcRailTypeEnum::Value Ifc4x3_add2::IfcRailTypeEnum::FromString(con } Ifc4x3_add2::IfcRailTypeEnum::operator Ifc4x3_add2::IfcRailTypeEnum::Value() const { - return (Ifc4x3_add2::IfcRailTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcRailTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcRailingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[856]); } @@ -4545,7 +4545,7 @@ Ifc4x3_add2::IfcRailingTypeEnum::Value Ifc4x3_add2::IfcRailingTypeEnum::FromStri } Ifc4x3_add2::IfcRailingTypeEnum::operator Ifc4x3_add2::IfcRailingTypeEnum::Value() const { - return (Ifc4x3_add2::IfcRailingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcRailingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcRailwayPartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[861]); } @@ -4572,7 +4572,7 @@ Ifc4x3_add2::IfcRailwayPartTypeEnum::Value Ifc4x3_add2::IfcRailwayPartTypeEnum:: } Ifc4x3_add2::IfcRailwayPartTypeEnum::operator Ifc4x3_add2::IfcRailwayPartTypeEnum::Value() const { - return (Ifc4x3_add2::IfcRailwayPartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcRailwayPartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcRailwayTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[862]); } @@ -4599,7 +4599,7 @@ Ifc4x3_add2::IfcRailwayTypeEnum::Value Ifc4x3_add2::IfcRailwayTypeEnum::FromStri } Ifc4x3_add2::IfcRailwayTypeEnum::operator Ifc4x3_add2::IfcRailwayTypeEnum::Value() const { - return (Ifc4x3_add2::IfcRailwayTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcRailwayTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcRampFlightTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[866]); } @@ -4626,7 +4626,7 @@ Ifc4x3_add2::IfcRampFlightTypeEnum::Value Ifc4x3_add2::IfcRampFlightTypeEnum::Fr } Ifc4x3_add2::IfcRampFlightTypeEnum::operator Ifc4x3_add2::IfcRampFlightTypeEnum::Value() const { - return (Ifc4x3_add2::IfcRampFlightTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcRampFlightTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcRampTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[868]); } @@ -4653,7 +4653,7 @@ Ifc4x3_add2::IfcRampTypeEnum::Value Ifc4x3_add2::IfcRampTypeEnum::FromString(con } Ifc4x3_add2::IfcRampTypeEnum::operator Ifc4x3_add2::IfcRampTypeEnum::Value() const { - return (Ifc4x3_add2::IfcRampTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcRampTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcRecurrenceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[878]); } @@ -4680,7 +4680,7 @@ Ifc4x3_add2::IfcRecurrenceTypeEnum::Value Ifc4x3_add2::IfcRecurrenceTypeEnum::Fr } Ifc4x3_add2::IfcRecurrenceTypeEnum::operator Ifc4x3_add2::IfcRecurrenceTypeEnum::Value() const { - return (Ifc4x3_add2::IfcRecurrenceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcRecurrenceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcReferentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[881]); } @@ -4707,7 +4707,7 @@ Ifc4x3_add2::IfcReferentTypeEnum::Value Ifc4x3_add2::IfcReferentTypeEnum::FromSt } Ifc4x3_add2::IfcReferentTypeEnum::operator Ifc4x3_add2::IfcReferentTypeEnum::Value() const { - return (Ifc4x3_add2::IfcReferentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcReferentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcReflectanceMethodEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[882]); } @@ -4734,7 +4734,7 @@ Ifc4x3_add2::IfcReflectanceMethodEnum::Value Ifc4x3_add2::IfcReflectanceMethodEn } Ifc4x3_add2::IfcReflectanceMethodEnum::operator Ifc4x3_add2::IfcReflectanceMethodEnum::Value() const { - return (Ifc4x3_add2::IfcReflectanceMethodEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcReflectanceMethodEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcReinforcedSoilTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[885]); } @@ -4761,7 +4761,7 @@ Ifc4x3_add2::IfcReinforcedSoilTypeEnum::Value Ifc4x3_add2::IfcReinforcedSoilType } Ifc4x3_add2::IfcReinforcedSoilTypeEnum::operator Ifc4x3_add2::IfcReinforcedSoilTypeEnum::Value() const { - return (Ifc4x3_add2::IfcReinforcedSoilTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcReinforcedSoilTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcReinforcingBarRoleEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[889]); } @@ -4788,7 +4788,7 @@ Ifc4x3_add2::IfcReinforcingBarRoleEnum::Value Ifc4x3_add2::IfcReinforcingBarRole } Ifc4x3_add2::IfcReinforcingBarRoleEnum::operator Ifc4x3_add2::IfcReinforcingBarRoleEnum::Value() const { - return (Ifc4x3_add2::IfcReinforcingBarRoleEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcReinforcingBarRoleEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[890]); } @@ -4815,7 +4815,7 @@ Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Value Ifc4x3_add2::IfcReinforcingBarS } Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::operator Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Value() const { - return (Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcReinforcingBarTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[892]); } @@ -4842,7 +4842,7 @@ Ifc4x3_add2::IfcReinforcingBarTypeEnum::Value Ifc4x3_add2::IfcReinforcingBarType } Ifc4x3_add2::IfcReinforcingBarTypeEnum::operator Ifc4x3_add2::IfcReinforcingBarTypeEnum::Value() const { - return (Ifc4x3_add2::IfcReinforcingBarTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcReinforcingBarTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcReinforcingMeshTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[897]); } @@ -4869,7 +4869,7 @@ Ifc4x3_add2::IfcReinforcingMeshTypeEnum::Value Ifc4x3_add2::IfcReinforcingMeshTy } Ifc4x3_add2::IfcReinforcingMeshTypeEnum::operator Ifc4x3_add2::IfcReinforcingMeshTypeEnum::Value() const { - return (Ifc4x3_add2::IfcReinforcingMeshTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcReinforcingMeshTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcRoadPartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[968]); } @@ -4896,7 +4896,7 @@ Ifc4x3_add2::IfcRoadPartTypeEnum::Value Ifc4x3_add2::IfcRoadPartTypeEnum::FromSt } Ifc4x3_add2::IfcRoadPartTypeEnum::operator Ifc4x3_add2::IfcRoadPartTypeEnum::Value() const { - return (Ifc4x3_add2::IfcRoadPartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcRoadPartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcRoadTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[969]); } @@ -4923,7 +4923,7 @@ Ifc4x3_add2::IfcRoadTypeEnum::Value Ifc4x3_add2::IfcRoadTypeEnum::FromString(con } Ifc4x3_add2::IfcRoadTypeEnum::operator Ifc4x3_add2::IfcRoadTypeEnum::Value() const { - return (Ifc4x3_add2::IfcRoadTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcRoadTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcRoleEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[970]); } @@ -4950,7 +4950,7 @@ Ifc4x3_add2::IfcRoleEnum::Value Ifc4x3_add2::IfcRoleEnum::FromString(const std:: } Ifc4x3_add2::IfcRoleEnum::operator Ifc4x3_add2::IfcRoleEnum::Value() const { - return (Ifc4x3_add2::IfcRoleEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcRoleEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcRoofTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[973]); } @@ -4977,7 +4977,7 @@ Ifc4x3_add2::IfcRoofTypeEnum::Value Ifc4x3_add2::IfcRoofTypeEnum::FromString(con } Ifc4x3_add2::IfcRoofTypeEnum::operator Ifc4x3_add2::IfcRoofTypeEnum::Value() const { - return (Ifc4x3_add2::IfcRoofTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcRoofTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcSIPrefix::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1023]); } @@ -5004,7 +5004,7 @@ Ifc4x3_add2::IfcSIPrefix::Value Ifc4x3_add2::IfcSIPrefix::FromString(const std:: } Ifc4x3_add2::IfcSIPrefix::operator Ifc4x3_add2::IfcSIPrefix::Value() const { - return (Ifc4x3_add2::IfcSIPrefix::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcSIPrefix::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcSIUnitName::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1026]); } @@ -5031,7 +5031,7 @@ Ifc4x3_add2::IfcSIUnitName::Value Ifc4x3_add2::IfcSIUnitName::FromString(const s } Ifc4x3_add2::IfcSIUnitName::operator Ifc4x3_add2::IfcSIUnitName::Value() const { - return (Ifc4x3_add2::IfcSIUnitName::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcSIUnitName::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[982]); } @@ -5058,7 +5058,7 @@ Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Value Ifc4x3_add2::IfcSanitaryTerminal } Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::operator Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Value() const { - return (Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcSectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[994]); } @@ -5085,7 +5085,7 @@ Ifc4x3_add2::IfcSectionTypeEnum::Value Ifc4x3_add2::IfcSectionTypeEnum::FromStri } Ifc4x3_add2::IfcSectionTypeEnum::operator Ifc4x3_add2::IfcSectionTypeEnum::Value() const { - return (Ifc4x3_add2::IfcSectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcSectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcSensorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1000]); } @@ -5112,7 +5112,7 @@ Ifc4x3_add2::IfcSensorTypeEnum::Value Ifc4x3_add2::IfcSensorTypeEnum::FromString } Ifc4x3_add2::IfcSensorTypeEnum::operator Ifc4x3_add2::IfcSensorTypeEnum::Value() const { - return (Ifc4x3_add2::IfcSensorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcSensorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcSequenceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1001]); } @@ -5139,7 +5139,7 @@ Ifc4x3_add2::IfcSequenceEnum::Value Ifc4x3_add2::IfcSequenceEnum::FromString(con } Ifc4x3_add2::IfcSequenceEnum::operator Ifc4x3_add2::IfcSequenceEnum::Value() const { - return (Ifc4x3_add2::IfcSequenceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcSequenceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcShadingDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1005]); } @@ -5166,7 +5166,7 @@ Ifc4x3_add2::IfcShadingDeviceTypeEnum::Value Ifc4x3_add2::IfcShadingDeviceTypeEn } Ifc4x3_add2::IfcShadingDeviceTypeEnum::operator Ifc4x3_add2::IfcShadingDeviceTypeEnum::Value() const { - return (Ifc4x3_add2::IfcShadingDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcShadingDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcSignTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1017]); } @@ -5193,7 +5193,7 @@ Ifc4x3_add2::IfcSignTypeEnum::Value Ifc4x3_add2::IfcSignTypeEnum::FromString(con } Ifc4x3_add2::IfcSignTypeEnum::operator Ifc4x3_add2::IfcSignTypeEnum::Value() const { - return (Ifc4x3_add2::IfcSignTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcSignTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcSignalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1015]); } @@ -5220,7 +5220,7 @@ Ifc4x3_add2::IfcSignalTypeEnum::Value Ifc4x3_add2::IfcSignalTypeEnum::FromString } Ifc4x3_add2::IfcSignalTypeEnum::operator Ifc4x3_add2::IfcSignalTypeEnum::Value() const { - return (Ifc4x3_add2::IfcSignalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcSignalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcSimplePropertyTemplateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1020]); } @@ -5247,7 +5247,7 @@ Ifc4x3_add2::IfcSimplePropertyTemplateTypeEnum::Value Ifc4x3_add2::IfcSimpleProp } Ifc4x3_add2::IfcSimplePropertyTemplateTypeEnum::operator Ifc4x3_add2::IfcSimplePropertyTemplateTypeEnum::Value() const { - return (Ifc4x3_add2::IfcSimplePropertyTemplateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcSimplePropertyTemplateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcSlabTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1030]); } @@ -5274,7 +5274,7 @@ Ifc4x3_add2::IfcSlabTypeEnum::Value Ifc4x3_add2::IfcSlabTypeEnum::FromString(con } Ifc4x3_add2::IfcSlabTypeEnum::operator Ifc4x3_add2::IfcSlabTypeEnum::Value() const { - return (Ifc4x3_add2::IfcSlabTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcSlabTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcSolarDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1034]); } @@ -5301,7 +5301,7 @@ Ifc4x3_add2::IfcSolarDeviceTypeEnum::Value Ifc4x3_add2::IfcSolarDeviceTypeEnum:: } Ifc4x3_add2::IfcSolarDeviceTypeEnum::operator Ifc4x3_add2::IfcSolarDeviceTypeEnum::Value() const { - return (Ifc4x3_add2::IfcSolarDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcSolarDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcSpaceHeaterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1046]); } @@ -5328,7 +5328,7 @@ Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Value Ifc4x3_add2::IfcSpaceHeaterTypeEnum:: } Ifc4x3_add2::IfcSpaceHeaterTypeEnum::operator Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Value() const { - return (Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcSpaceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1048]); } @@ -5355,7 +5355,7 @@ Ifc4x3_add2::IfcSpaceTypeEnum::Value Ifc4x3_add2::IfcSpaceTypeEnum::FromString(c } Ifc4x3_add2::IfcSpaceTypeEnum::operator Ifc4x3_add2::IfcSpaceTypeEnum::Value() const { - return (Ifc4x3_add2::IfcSpaceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcSpaceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcSpatialZoneTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1056]); } @@ -5382,7 +5382,7 @@ Ifc4x3_add2::IfcSpatialZoneTypeEnum::Value Ifc4x3_add2::IfcSpatialZoneTypeEnum:: } Ifc4x3_add2::IfcSpatialZoneTypeEnum::operator Ifc4x3_add2::IfcSpatialZoneTypeEnum::Value() const { - return (Ifc4x3_add2::IfcSpatialZoneTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcSpatialZoneTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcStackTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1066]); } @@ -5409,7 +5409,7 @@ Ifc4x3_add2::IfcStackTerminalTypeEnum::Value Ifc4x3_add2::IfcStackTerminalTypeEn } Ifc4x3_add2::IfcStackTerminalTypeEnum::operator Ifc4x3_add2::IfcStackTerminalTypeEnum::Value() const { - return (Ifc4x3_add2::IfcStackTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcStackTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcStairFlightTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1070]); } @@ -5436,7 +5436,7 @@ Ifc4x3_add2::IfcStairFlightTypeEnum::Value Ifc4x3_add2::IfcStairFlightTypeEnum:: } Ifc4x3_add2::IfcStairFlightTypeEnum::operator Ifc4x3_add2::IfcStairFlightTypeEnum::Value() const { - return (Ifc4x3_add2::IfcStairFlightTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcStairFlightTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcStairTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1072]); } @@ -5463,7 +5463,7 @@ Ifc4x3_add2::IfcStairTypeEnum::Value Ifc4x3_add2::IfcStairTypeEnum::FromString(c } Ifc4x3_add2::IfcStairTypeEnum::operator Ifc4x3_add2::IfcStairTypeEnum::Value() const { - return (Ifc4x3_add2::IfcStairTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcStairTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcStateEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1073]); } @@ -5490,7 +5490,7 @@ Ifc4x3_add2::IfcStateEnum::Value Ifc4x3_add2::IfcStateEnum::FromString(const std } Ifc4x3_add2::IfcStateEnum::operator Ifc4x3_add2::IfcStateEnum::Value() const { - return (Ifc4x3_add2::IfcStateEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcStateEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1082]); } @@ -5517,7 +5517,7 @@ Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_add2::IfcStructura } Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::operator Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Value() const { - return (Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1085]); } @@ -5544,7 +5544,7 @@ Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_add2::IfcStructuralC } Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::operator Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::Value() const { - return (Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1111]); } @@ -5571,7 +5571,7 @@ Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_add2::IfcStructu } Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::operator Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Value() const { - return (Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1114]); } @@ -5598,7 +5598,7 @@ Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_add2::IfcStructura } Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::operator Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::Value() const { - return (Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcSubContractResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1122]); } @@ -5625,7 +5625,7 @@ Ifc4x3_add2::IfcSubContractResourceTypeEnum::Value Ifc4x3_add2::IfcSubContractRe } Ifc4x3_add2::IfcSubContractResourceTypeEnum::operator Ifc4x3_add2::IfcSubContractResourceTypeEnum::Value() const { - return (Ifc4x3_add2::IfcSubContractResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcSubContractResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcSurfaceFeatureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1128]); } @@ -5652,7 +5652,7 @@ Ifc4x3_add2::IfcSurfaceFeatureTypeEnum::Value Ifc4x3_add2::IfcSurfaceFeatureType } Ifc4x3_add2::IfcSurfaceFeatureTypeEnum::operator Ifc4x3_add2::IfcSurfaceFeatureTypeEnum::Value() const { - return (Ifc4x3_add2::IfcSurfaceFeatureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcSurfaceFeatureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcSurfaceSide::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1133]); } @@ -5679,7 +5679,7 @@ Ifc4x3_add2::IfcSurfaceSide::Value Ifc4x3_add2::IfcSurfaceSide::FromString(const } Ifc4x3_add2::IfcSurfaceSide::operator Ifc4x3_add2::IfcSurfaceSide::Value() const { - return (Ifc4x3_add2::IfcSurfaceSide::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcSurfaceSide::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1148]); } @@ -5706,7 +5706,7 @@ Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Value Ifc4x3_add2::IfcSwitchingDeviceTy } Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::operator Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Value() const { - return (Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1152]); } @@ -5733,7 +5733,7 @@ Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Value Ifc4x3_add2::IfcSystemFurn } Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::operator Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Value() const { - return (Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcTankTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1158]); } @@ -5760,7 +5760,7 @@ Ifc4x3_add2::IfcTankTypeEnum::Value Ifc4x3_add2::IfcTankTypeEnum::FromString(con } Ifc4x3_add2::IfcTankTypeEnum::operator Ifc4x3_add2::IfcTankTypeEnum::Value() const { - return (Ifc4x3_add2::IfcTankTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcTankTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcTaskDurationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1160]); } @@ -5787,7 +5787,7 @@ Ifc4x3_add2::IfcTaskDurationEnum::Value Ifc4x3_add2::IfcTaskDurationEnum::FromSt } Ifc4x3_add2::IfcTaskDurationEnum::operator Ifc4x3_add2::IfcTaskDurationEnum::Value() const { - return (Ifc4x3_add2::IfcTaskDurationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcTaskDurationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcTaskTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1164]); } @@ -5814,7 +5814,7 @@ Ifc4x3_add2::IfcTaskTypeEnum::Value Ifc4x3_add2::IfcTaskTypeEnum::FromString(con } Ifc4x3_add2::IfcTaskTypeEnum::operator Ifc4x3_add2::IfcTaskTypeEnum::Value() const { - return (Ifc4x3_add2::IfcTaskTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcTaskTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcTendonAnchorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1171]); } @@ -5841,7 +5841,7 @@ Ifc4x3_add2::IfcTendonAnchorTypeEnum::Value Ifc4x3_add2::IfcTendonAnchorTypeEnum } Ifc4x3_add2::IfcTendonAnchorTypeEnum::operator Ifc4x3_add2::IfcTendonAnchorTypeEnum::Value() const { - return (Ifc4x3_add2::IfcTendonAnchorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcTendonAnchorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcTendonConduitTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1174]); } @@ -5868,7 +5868,7 @@ Ifc4x3_add2::IfcTendonConduitTypeEnum::Value Ifc4x3_add2::IfcTendonConduitTypeEn } Ifc4x3_add2::IfcTendonConduitTypeEnum::operator Ifc4x3_add2::IfcTendonConduitTypeEnum::Value() const { - return (Ifc4x3_add2::IfcTendonConduitTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcTendonConduitTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcTendonTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1176]); } @@ -5895,7 +5895,7 @@ Ifc4x3_add2::IfcTendonTypeEnum::Value Ifc4x3_add2::IfcTendonTypeEnum::FromString } Ifc4x3_add2::IfcTendonTypeEnum::operator Ifc4x3_add2::IfcTendonTypeEnum::Value() const { - return (Ifc4x3_add2::IfcTendonTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcTendonTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcTextPath::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1186]); } @@ -5922,7 +5922,7 @@ Ifc4x3_add2::IfcTextPath::Value Ifc4x3_add2::IfcTextPath::FromString(const std:: } Ifc4x3_add2::IfcTextPath::operator Ifc4x3_add2::IfcTextPath::Value() const { - return (Ifc4x3_add2::IfcTextPath::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcTextPath::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1211]); } @@ -5949,7 +5949,7 @@ Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Value Ifc4x3_add2::IfcTimeSeriesDataType } Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::operator Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Value() const { - return (Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcTrackElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1220]); } @@ -5976,7 +5976,7 @@ Ifc4x3_add2::IfcTrackElementTypeEnum::Value Ifc4x3_add2::IfcTrackElementTypeEnum } Ifc4x3_add2::IfcTrackElementTypeEnum::operator Ifc4x3_add2::IfcTrackElementTypeEnum::Value() const { - return (Ifc4x3_add2::IfcTrackElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcTrackElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcTransformerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1223]); } @@ -6003,7 +6003,7 @@ Ifc4x3_add2::IfcTransformerTypeEnum::Value Ifc4x3_add2::IfcTransformerTypeEnum:: } Ifc4x3_add2::IfcTransformerTypeEnum::operator Ifc4x3_add2::IfcTransformerTypeEnum::Value() const { - return (Ifc4x3_add2::IfcTransformerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcTransformerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcTransitionCode::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1224]); } @@ -6030,7 +6030,7 @@ Ifc4x3_add2::IfcTransitionCode::Value Ifc4x3_add2::IfcTransitionCode::FromString } Ifc4x3_add2::IfcTransitionCode::operator Ifc4x3_add2::IfcTransitionCode::Value() const { - return (Ifc4x3_add2::IfcTransitionCode::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcTransitionCode::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcTransportElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1230]); } @@ -6057,7 +6057,7 @@ Ifc4x3_add2::IfcTransportElementTypeEnum::Value Ifc4x3_add2::IfcTransportElement } Ifc4x3_add2::IfcTransportElementTypeEnum::operator Ifc4x3_add2::IfcTransportElementTypeEnum::Value() const { - return (Ifc4x3_add2::IfcTransportElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcTransportElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcTrimmingPreference::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1235]); } @@ -6084,7 +6084,7 @@ Ifc4x3_add2::IfcTrimmingPreference::Value Ifc4x3_add2::IfcTrimmingPreference::Fr } Ifc4x3_add2::IfcTrimmingPreference::operator Ifc4x3_add2::IfcTrimmingPreference::Value() const { - return (Ifc4x3_add2::IfcTrimmingPreference::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcTrimmingPreference::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcTubeBundleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1240]); } @@ -6111,7 +6111,7 @@ Ifc4x3_add2::IfcTubeBundleTypeEnum::Value Ifc4x3_add2::IfcTubeBundleTypeEnum::Fr } Ifc4x3_add2::IfcTubeBundleTypeEnum::operator Ifc4x3_add2::IfcTubeBundleTypeEnum::Value() const { - return (Ifc4x3_add2::IfcTubeBundleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcTubeBundleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcUnitEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1253]); } @@ -6138,7 +6138,7 @@ Ifc4x3_add2::IfcUnitEnum::Value Ifc4x3_add2::IfcUnitEnum::FromString(const std:: } Ifc4x3_add2::IfcUnitEnum::operator Ifc4x3_add2::IfcUnitEnum::Value() const { - return (Ifc4x3_add2::IfcUnitEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcUnitEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1248]); } @@ -6165,7 +6165,7 @@ Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Value Ifc4x3_add2::IfcUnitaryCont } Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::operator Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Value() const { - return (Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1251]); } @@ -6192,7 +6192,7 @@ Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3_add2::IfcUnitaryEquipment } Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::operator Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Value() const { - return (Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcValveTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1259]); } @@ -6219,7 +6219,7 @@ Ifc4x3_add2::IfcValveTypeEnum::Value Ifc4x3_add2::IfcValveTypeEnum::FromString(c } Ifc4x3_add2::IfcValveTypeEnum::operator Ifc4x3_add2::IfcValveTypeEnum::Value() const { - return (Ifc4x3_add2::IfcValveTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcValveTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcVehicleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1265]); } @@ -6246,7 +6246,7 @@ Ifc4x3_add2::IfcVehicleTypeEnum::Value Ifc4x3_add2::IfcVehicleTypeEnum::FromStri } Ifc4x3_add2::IfcVehicleTypeEnum::operator Ifc4x3_add2::IfcVehicleTypeEnum::Value() const { - return (Ifc4x3_add2::IfcVehicleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcVehicleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcVibrationDamperTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1271]); } @@ -6273,7 +6273,7 @@ Ifc4x3_add2::IfcVibrationDamperTypeEnum::Value Ifc4x3_add2::IfcVibrationDamperTy } Ifc4x3_add2::IfcVibrationDamperTypeEnum::operator Ifc4x3_add2::IfcVibrationDamperTypeEnum::Value() const { - return (Ifc4x3_add2::IfcVibrationDamperTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcVibrationDamperTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1274]); } @@ -6300,7 +6300,7 @@ Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Value Ifc4x3_add2::IfcVibrationIsolat } Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::operator Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Value() const { - return (Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcVirtualElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1276]); } @@ -6327,7 +6327,7 @@ Ifc4x3_add2::IfcVirtualElementTypeEnum::Value Ifc4x3_add2::IfcVirtualElementType } Ifc4x3_add2::IfcVirtualElementTypeEnum::operator Ifc4x3_add2::IfcVirtualElementTypeEnum::Value() const { - return (Ifc4x3_add2::IfcVirtualElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcVirtualElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcVoidingFeatureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1279]); } @@ -6354,7 +6354,7 @@ Ifc4x3_add2::IfcVoidingFeatureTypeEnum::Value Ifc4x3_add2::IfcVoidingFeatureType } Ifc4x3_add2::IfcVoidingFeatureTypeEnum::operator Ifc4x3_add2::IfcVoidingFeatureTypeEnum::Value() const { - return (Ifc4x3_add2::IfcVoidingFeatureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcVoidingFeatureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcWallTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1285]); } @@ -6381,7 +6381,7 @@ Ifc4x3_add2::IfcWallTypeEnum::Value Ifc4x3_add2::IfcWallTypeEnum::FromString(con } Ifc4x3_add2::IfcWallTypeEnum::operator Ifc4x3_add2::IfcWallTypeEnum::Value() const { - return (Ifc4x3_add2::IfcWallTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcWallTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcWasteTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1291]); } @@ -6408,7 +6408,7 @@ Ifc4x3_add2::IfcWasteTerminalTypeEnum::Value Ifc4x3_add2::IfcWasteTerminalTypeEn } Ifc4x3_add2::IfcWasteTerminalTypeEnum::operator Ifc4x3_add2::IfcWasteTerminalTypeEnum::Value() const { - return (Ifc4x3_add2::IfcWasteTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcWasteTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcWindowPanelOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1296]); } @@ -6435,7 +6435,7 @@ Ifc4x3_add2::IfcWindowPanelOperationEnum::Value Ifc4x3_add2::IfcWindowPanelOpera } Ifc4x3_add2::IfcWindowPanelOperationEnum::operator Ifc4x3_add2::IfcWindowPanelOperationEnum::Value() const { - return (Ifc4x3_add2::IfcWindowPanelOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcWindowPanelOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcWindowPanelPositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1297]); } @@ -6462,7 +6462,7 @@ Ifc4x3_add2::IfcWindowPanelPositionEnum::Value Ifc4x3_add2::IfcWindowPanelPositi } Ifc4x3_add2::IfcWindowPanelPositionEnum::operator Ifc4x3_add2::IfcWindowPanelPositionEnum::Value() const { - return (Ifc4x3_add2::IfcWindowPanelPositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcWindowPanelPositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcWindowTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1300]); } @@ -6489,7 +6489,7 @@ Ifc4x3_add2::IfcWindowTypeEnum::Value Ifc4x3_add2::IfcWindowTypeEnum::FromString } Ifc4x3_add2::IfcWindowTypeEnum::operator Ifc4x3_add2::IfcWindowTypeEnum::Value() const { - return (Ifc4x3_add2::IfcWindowTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcWindowTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcWindowTypePartitioningEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1301]); } @@ -6516,7 +6516,7 @@ Ifc4x3_add2::IfcWindowTypePartitioningEnum::Value Ifc4x3_add2::IfcWindowTypePart } Ifc4x3_add2::IfcWindowTypePartitioningEnum::operator Ifc4x3_add2::IfcWindowTypePartitioningEnum::Value() const { - return (Ifc4x3_add2::IfcWindowTypePartitioningEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcWindowTypePartitioningEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcWorkCalendarTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1303]); } @@ -6543,7 +6543,7 @@ Ifc4x3_add2::IfcWorkCalendarTypeEnum::Value Ifc4x3_add2::IfcWorkCalendarTypeEnum } Ifc4x3_add2::IfcWorkCalendarTypeEnum::operator Ifc4x3_add2::IfcWorkCalendarTypeEnum::Value() const { - return (Ifc4x3_add2::IfcWorkCalendarTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcWorkCalendarTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcWorkPlanTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1306]); } @@ -6570,7 +6570,7 @@ Ifc4x3_add2::IfcWorkPlanTypeEnum::Value Ifc4x3_add2::IfcWorkPlanTypeEnum::FromSt } Ifc4x3_add2::IfcWorkPlanTypeEnum::operator Ifc4x3_add2::IfcWorkPlanTypeEnum::Value() const { - return (Ifc4x3_add2::IfcWorkPlanTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcWorkPlanTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_add2::IfcWorkScheduleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_ADD2_types[1308]); } @@ -6597,7 +6597,7 @@ Ifc4x3_add2::IfcWorkScheduleTypeEnum::Value Ifc4x3_add2::IfcWorkScheduleTypeEnum } Ifc4x3_add2::IfcWorkScheduleTypeEnum::operator Ifc4x3_add2::IfcWorkScheduleTypeEnum::Value() const { - return (Ifc4x3_add2::IfcWorkScheduleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_add2::IfcWorkScheduleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::select_type& Ifc4x3_add2::IfcActorSelect::Class() { return *((IfcParse::select_type*)IFC4X3_ADD2_types[8]); } @@ -6728,942 +6728,942 @@ const IfcParse::type_declaration& Ifc4x3_add2::IfcAbsorbedDoseMeasure::Class() { const IfcParse::type_declaration& Ifc4x3_add2::IfcAbsorbedDoseMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[0]); } Ifc4x3_add2::IfcAbsorbedDoseMeasure::IfcAbsorbedDoseMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcAbsorbedDoseMeasure::IfcAbsorbedDoseMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcAbsorbedDoseMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcAbsorbedDoseMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAccelerationMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcAccelerationMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcAccelerationMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1]); } Ifc4x3_add2::IfcAccelerationMeasure::IfcAccelerationMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcAccelerationMeasure::IfcAccelerationMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcAccelerationMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcAccelerationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAmountOfSubstanceMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcAmountOfSubstanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[42]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcAmountOfSubstanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[42]); } Ifc4x3_add2::IfcAmountOfSubstanceMeasure::IfcAmountOfSubstanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcAmountOfSubstanceMeasure::IfcAmountOfSubstanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcAmountOfSubstanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcAmountOfSubstanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAngularVelocityMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcAngularVelocityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[45]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcAngularVelocityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[45]); } Ifc4x3_add2::IfcAngularVelocityMeasure::IfcAngularVelocityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcAngularVelocityMeasure::IfcAngularVelocityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcAngularVelocityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcAngularVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcArcIndex const IfcParse::type_declaration& Ifc4x3_add2::IfcArcIndex::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[57]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcArcIndex::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[57]); } Ifc4x3_add2::IfcArcIndex::IfcArcIndex(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcArcIndex::IfcArcIndex(std::vector< int > /*[3:3]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return get_attribute_value(0); } // Function implementations for IfcAreaDensityMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcAreaDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[58]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcAreaDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[58]); } Ifc4x3_add2::IfcAreaDensityMeasure::IfcAreaDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcAreaDensityMeasure::IfcAreaDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcAreaDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcAreaDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAreaMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcAreaMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[59]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcAreaMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[59]); } Ifc4x3_add2::IfcAreaMeasure::IfcAreaMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcAreaMeasure::IfcAreaMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcAreaMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcAreaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcBinary const IfcParse::type_declaration& Ifc4x3_add2::IfcBinary::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[80]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcBinary::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[80]); } Ifc4x3_add2::IfcBinary::IfcBinary(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcBinary::IfcBinary(boost::dynamic_bitset<> v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcBinary::operator boost::dynamic_bitset<>() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcBinary::operator boost::dynamic_bitset<>() const { return get_attribute_value(0); } // Function implementations for IfcBoolean const IfcParse::type_declaration& Ifc4x3_add2::IfcBoolean::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[86]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcBoolean::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[86]); } Ifc4x3_add2::IfcBoolean::IfcBoolean(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcBoolean::IfcBoolean(bool v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcBoolean::operator bool() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcBoolean::operator bool() const { return get_attribute_value(0); } // Function implementations for IfcBoxAlignment const IfcParse::type_declaration& Ifc4x3_add2::IfcBoxAlignment::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[101]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcBoxAlignment::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[101]); } Ifc4x3_add2::IfcBoxAlignment::IfcBoxAlignment(IfcEntityInstanceData&& e) : IfcLabel(std::move(e)) { } Ifc4x3_add2::IfcBoxAlignment::IfcBoxAlignment(std::string v) : IfcLabel(v) { } -Ifc4x3_add2::IfcBoxAlignment::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcBoxAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcCardinalPointReference const IfcParse::type_declaration& Ifc4x3_add2::IfcCardinalPointReference::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[145]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcCardinalPointReference::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[145]); } Ifc4x3_add2::IfcCardinalPointReference::IfcCardinalPointReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcCardinalPointReference::IfcCardinalPointReference(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcCardinalPointReference::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcCardinalPointReference::operator int() const { return get_attribute_value(0); } // Function implementations for IfcComplexNumber const IfcParse::type_declaration& Ifc4x3_add2::IfcComplexNumber::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[188]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcComplexNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[188]); } Ifc4x3_add2::IfcComplexNumber::IfcComplexNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcComplexNumber::IfcComplexNumber(std::vector< double > /*[1:2]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return get_attribute_value(0); } // Function implementations for IfcCompoundPlaneAngleMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcCompoundPlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[196]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcCompoundPlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[196]); } Ifc4x3_add2::IfcCompoundPlaneAngleMeasure::IfcCompoundPlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcCompoundPlaneAngleMeasure::IfcCompoundPlaneAngleMeasure(std::vector< int > /*[3:4]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return get_attribute_value(0); } // Function implementations for IfcContextDependentMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcContextDependentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[226]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcContextDependentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[226]); } Ifc4x3_add2::IfcContextDependentMeasure::IfcContextDependentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcContextDependentMeasure::IfcContextDependentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcContextDependentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcContextDependentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCountMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcCountMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[252]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcCountMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[252]); } Ifc4x3_add2::IfcCountMeasure::IfcCountMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcCountMeasure::IfcCountMeasure(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcCountMeasure::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcCountMeasure::operator int() const { return get_attribute_value(0); } // Function implementations for IfcCurvatureMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcCurvatureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[270]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcCurvatureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[270]); } Ifc4x3_add2::IfcCurvatureMeasure::IfcCurvatureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcCurvatureMeasure::IfcCurvatureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcCurvatureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcCurvatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDate const IfcParse::type_declaration& Ifc4x3_add2::IfcDate::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[290]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcDate::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[290]); } Ifc4x3_add2::IfcDate::IfcDate(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcDate::IfcDate(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcDate::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcDate::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDateTime const IfcParse::type_declaration& Ifc4x3_add2::IfcDateTime::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[291]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcDateTime::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[291]); } Ifc4x3_add2::IfcDateTime::IfcDateTime(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcDateTime::IfcDateTime(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcDateTime::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcDateTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDayInMonthNumber const IfcParse::type_declaration& Ifc4x3_add2::IfcDayInMonthNumber::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[292]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcDayInMonthNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[292]); } Ifc4x3_add2::IfcDayInMonthNumber::IfcDayInMonthNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcDayInMonthNumber::IfcDayInMonthNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcDayInMonthNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcDayInMonthNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDayInWeekNumber const IfcParse::type_declaration& Ifc4x3_add2::IfcDayInWeekNumber::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[293]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcDayInWeekNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[293]); } Ifc4x3_add2::IfcDayInWeekNumber::IfcDayInWeekNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcDayInWeekNumber::IfcDayInWeekNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcDayInWeekNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcDayInWeekNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDescriptiveMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcDescriptiveMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[302]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcDescriptiveMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[302]); } Ifc4x3_add2::IfcDescriptiveMeasure::IfcDescriptiveMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcDescriptiveMeasure::IfcDescriptiveMeasure(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcDescriptiveMeasure::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcDescriptiveMeasure::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDimensionCount const IfcParse::type_declaration& Ifc4x3_add2::IfcDimensionCount::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[304]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcDimensionCount::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[304]); } Ifc4x3_add2::IfcDimensionCount::IfcDimensionCount(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcDimensionCount::IfcDimensionCount(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcDimensionCount::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcDimensionCount::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDoseEquivalentMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcDoseEquivalentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[343]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcDoseEquivalentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[343]); } Ifc4x3_add2::IfcDoseEquivalentMeasure::IfcDoseEquivalentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcDoseEquivalentMeasure::IfcDoseEquivalentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcDoseEquivalentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcDoseEquivalentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDuration const IfcParse::type_declaration& Ifc4x3_add2::IfcDuration::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[355]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcDuration::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[355]); } Ifc4x3_add2::IfcDuration::IfcDuration(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcDuration::IfcDuration(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcDuration::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcDuration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDynamicViscosityMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcDynamicViscosityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[356]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcDynamicViscosityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[356]); } Ifc4x3_add2::IfcDynamicViscosityMeasure::IfcDynamicViscosityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcDynamicViscosityMeasure::IfcDynamicViscosityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcDynamicViscosityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcDynamicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCapacitanceMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcElectricCapacitanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[368]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcElectricCapacitanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[368]); } Ifc4x3_add2::IfcElectricCapacitanceMeasure::IfcElectricCapacitanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcElectricCapacitanceMeasure::IfcElectricCapacitanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcElectricCapacitanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcElectricCapacitanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricChargeMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcElectricChargeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[369]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcElectricChargeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[369]); } Ifc4x3_add2::IfcElectricChargeMeasure::IfcElectricChargeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcElectricChargeMeasure::IfcElectricChargeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcElectricChargeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcElectricChargeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricConductanceMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcElectricConductanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[370]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcElectricConductanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[370]); } Ifc4x3_add2::IfcElectricConductanceMeasure::IfcElectricConductanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcElectricConductanceMeasure::IfcElectricConductanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcElectricConductanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcElectricConductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCurrentMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcElectricCurrentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[371]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcElectricCurrentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[371]); } Ifc4x3_add2::IfcElectricCurrentMeasure::IfcElectricCurrentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcElectricCurrentMeasure::IfcElectricCurrentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcElectricCurrentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcElectricCurrentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricResistanceMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcElectricResistanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[387]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcElectricResistanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[387]); } Ifc4x3_add2::IfcElectricResistanceMeasure::IfcElectricResistanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcElectricResistanceMeasure::IfcElectricResistanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcElectricResistanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcElectricResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricVoltageMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcElectricVoltageMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[391]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcElectricVoltageMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[391]); } Ifc4x3_add2::IfcElectricVoltageMeasure::IfcElectricVoltageMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcElectricVoltageMeasure::IfcElectricVoltageMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcElectricVoltageMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcElectricVoltageMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcEnergyMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcEnergyMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[406]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcEnergyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[406]); } Ifc4x3_add2::IfcEnergyMeasure::IfcEnergyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcEnergyMeasure::IfcEnergyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcEnergyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcEnergyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFontStyle const IfcParse::type_declaration& Ifc4x3_add2::IfcFontStyle::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[487]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcFontStyle::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[487]); } Ifc4x3_add2::IfcFontStyle::IfcFontStyle(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcFontStyle::IfcFontStyle(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcFontStyle::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcFontStyle::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontVariant const IfcParse::type_declaration& Ifc4x3_add2::IfcFontVariant::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[488]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcFontVariant::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[488]); } Ifc4x3_add2::IfcFontVariant::IfcFontVariant(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcFontVariant::IfcFontVariant(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcFontVariant::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcFontVariant::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontWeight const IfcParse::type_declaration& Ifc4x3_add2::IfcFontWeight::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[489]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcFontWeight::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[489]); } Ifc4x3_add2::IfcFontWeight::IfcFontWeight(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcFontWeight::IfcFontWeight(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcFontWeight::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcFontWeight::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcForceMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[493]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[493]); } Ifc4x3_add2::IfcForceMeasure::IfcForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcForceMeasure::IfcForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFrequencyMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcFrequencyMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[494]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcFrequencyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[494]); } Ifc4x3_add2::IfcFrequencyMeasure::IfcFrequencyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcFrequencyMeasure::IfcFrequencyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcFrequencyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcGloballyUniqueId const IfcParse::type_declaration& Ifc4x3_add2::IfcGloballyUniqueId::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[517]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcGloballyUniqueId::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[517]); } Ifc4x3_add2::IfcGloballyUniqueId::IfcGloballyUniqueId(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcGloballyUniqueId::IfcGloballyUniqueId(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcGloballyUniqueId::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcGloballyUniqueId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcHeatFluxDensityMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcHeatFluxDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[531]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcHeatFluxDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[531]); } Ifc4x3_add2::IfcHeatFluxDensityMeasure::IfcHeatFluxDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcHeatFluxDensityMeasure::IfcHeatFluxDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcHeatFluxDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcHeatFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcHeatingValueMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcHeatingValueMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[532]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcHeatingValueMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[532]); } Ifc4x3_add2::IfcHeatingValueMeasure::IfcHeatingValueMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcHeatingValueMeasure::IfcHeatingValueMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcHeatingValueMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcHeatingValueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIdentifier const IfcParse::type_declaration& Ifc4x3_add2::IfcIdentifier::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[536]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcIdentifier::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[536]); } Ifc4x3_add2::IfcIdentifier::IfcIdentifier(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcIdentifier::IfcIdentifier(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcIdentifier::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcIdentifier::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcIlluminanceMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcIlluminanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[537]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcIlluminanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[537]); } Ifc4x3_add2::IfcIlluminanceMeasure::IfcIlluminanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcIlluminanceMeasure::IfcIlluminanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcIlluminanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcIlluminanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInductanceMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcInductanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[549]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcInductanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[549]); } Ifc4x3_add2::IfcInductanceMeasure::IfcInductanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcInductanceMeasure::IfcInductanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcInductanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcInductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInteger const IfcParse::type_declaration& Ifc4x3_add2::IfcInteger::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[550]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcInteger::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[550]); } Ifc4x3_add2::IfcInteger::IfcInteger(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcInteger::IfcInteger(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcInteger::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIntegerCountRateMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcIntegerCountRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[551]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcIntegerCountRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[551]); } Ifc4x3_add2::IfcIntegerCountRateMeasure::IfcIntegerCountRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcIntegerCountRateMeasure::IfcIntegerCountRateMeasure(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcIntegerCountRateMeasure::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcIntegerCountRateMeasure::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIonConcentrationMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcIonConcentrationMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[560]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcIonConcentrationMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[560]); } Ifc4x3_add2::IfcIonConcentrationMeasure::IfcIonConcentrationMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcIonConcentrationMeasure::IfcIonConcentrationMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcIonConcentrationMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcIonConcentrationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIsothermalMoistureCapacityMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcIsothermalMoistureCapacityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[564]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcIsothermalMoistureCapacityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[564]); } Ifc4x3_add2::IfcIsothermalMoistureCapacityMeasure::IfcIsothermalMoistureCapacityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcIsothermalMoistureCapacityMeasure::IfcIsothermalMoistureCapacityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcIsothermalMoistureCapacityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcIsothermalMoistureCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcKinematicViscosityMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcKinematicViscosityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[571]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcKinematicViscosityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[571]); } Ifc4x3_add2::IfcKinematicViscosityMeasure::IfcKinematicViscosityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcKinematicViscosityMeasure::IfcKinematicViscosityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcKinematicViscosityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcKinematicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLabel const IfcParse::type_declaration& Ifc4x3_add2::IfcLabel::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[573]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcLabel::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[573]); } Ifc4x3_add2::IfcLabel::IfcLabel(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcLabel::IfcLabel(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcLabel::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcLabel::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLanguageId const IfcParse::type_declaration& Ifc4x3_add2::IfcLanguageId::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[581]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcLanguageId::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[581]); } Ifc4x3_add2::IfcLanguageId::IfcLanguageId(IfcEntityInstanceData&& e) : IfcIdentifier(std::move(e)) { } Ifc4x3_add2::IfcLanguageId::IfcLanguageId(std::string v) : IfcIdentifier(v) { } -Ifc4x3_add2::IfcLanguageId::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcLanguageId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLengthMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[584]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[584]); } Ifc4x3_add2::IfcLengthMeasure::IfcLengthMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcLengthMeasure::IfcLengthMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLineIndex const IfcParse::type_declaration& Ifc4x3_add2::IfcLineIndex::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[610]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcLineIndex::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[610]); } Ifc4x3_add2::IfcLineIndex::IfcLineIndex(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcLineIndex::IfcLineIndex(std::vector< int > /*[2:?]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return get_attribute_value(0); } // Function implementations for IfcLinearForceMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcLinearForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[604]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcLinearForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[604]); } Ifc4x3_add2::IfcLinearForceMeasure::IfcLinearForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcLinearForceMeasure::IfcLinearForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcLinearForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcLinearForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearMomentMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcLinearMomentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[605]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcLinearMomentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[605]); } Ifc4x3_add2::IfcLinearMomentMeasure::IfcLinearMomentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcLinearMomentMeasure::IfcLinearMomentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcLinearMomentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcLinearMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearStiffnessMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcLinearStiffnessMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[608]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcLinearStiffnessMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[608]); } Ifc4x3_add2::IfcLinearStiffnessMeasure::IfcLinearStiffnessMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcLinearStiffnessMeasure::IfcLinearStiffnessMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcLinearStiffnessMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcLinearStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearVelocityMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcLinearVelocityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[609]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcLinearVelocityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[609]); } Ifc4x3_add2::IfcLinearVelocityMeasure::IfcLinearVelocityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcLinearVelocityMeasure::IfcLinearVelocityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcLinearVelocityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcLinearVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLogical const IfcParse::type_declaration& Ifc4x3_add2::IfcLogical::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[616]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcLogical::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[616]); } Ifc4x3_add2::IfcLogical::IfcLogical(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcLogical::IfcLogical(boost::logic::tribool v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcLogical::operator boost::logic::tribool() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcLogical::operator boost::logic::tribool() const { return get_attribute_value(0); } // Function implementations for IfcLuminousFluxMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcLuminousFluxMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[620]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcLuminousFluxMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[620]); } Ifc4x3_add2::IfcLuminousFluxMeasure::IfcLuminousFluxMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcLuminousFluxMeasure::IfcLuminousFluxMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcLuminousFluxMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcLuminousFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityDistributionMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcLuminousIntensityDistributionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[621]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcLuminousIntensityDistributionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[621]); } Ifc4x3_add2::IfcLuminousIntensityDistributionMeasure::IfcLuminousIntensityDistributionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcLuminousIntensityDistributionMeasure::IfcLuminousIntensityDistributionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcLuminousIntensityDistributionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcLuminousIntensityDistributionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcLuminousIntensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[622]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcLuminousIntensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[622]); } Ifc4x3_add2::IfcLuminousIntensityMeasure::IfcLuminousIntensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcLuminousIntensityMeasure::IfcLuminousIntensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcLuminousIntensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcLuminousIntensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxDensityMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcMagneticFluxDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[623]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcMagneticFluxDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[623]); } Ifc4x3_add2::IfcMagneticFluxDensityMeasure::IfcMagneticFluxDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcMagneticFluxDensityMeasure::IfcMagneticFluxDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcMagneticFluxDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcMagneticFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcMagneticFluxMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[624]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcMagneticFluxMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[624]); } Ifc4x3_add2::IfcMagneticFluxMeasure::IfcMagneticFluxMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcMagneticFluxMeasure::IfcMagneticFluxMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcMagneticFluxMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcMagneticFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassDensityMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcMassDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[633]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcMassDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[633]); } Ifc4x3_add2::IfcMassDensityMeasure::IfcMassDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcMassDensityMeasure::IfcMassDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcMassDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcMassDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassFlowRateMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcMassFlowRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[634]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcMassFlowRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[634]); } Ifc4x3_add2::IfcMassFlowRateMeasure::IfcMassFlowRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcMassFlowRateMeasure::IfcMassFlowRateMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcMassFlowRateMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcMassFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcMassMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[635]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcMassMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[635]); } Ifc4x3_add2::IfcMassMeasure::IfcMassMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcMassMeasure::IfcMassMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcMassMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassPerLengthMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcMassPerLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[636]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcMassPerLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[636]); } Ifc4x3_add2::IfcMassPerLengthMeasure::IfcMassPerLengthMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcMassPerLengthMeasure::IfcMassPerLengthMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcMassPerLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcMassPerLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfElasticityMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcModulusOfElasticityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[674]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcModulusOfElasticityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[674]); } Ifc4x3_add2::IfcModulusOfElasticityMeasure::IfcModulusOfElasticityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcModulusOfElasticityMeasure::IfcModulusOfElasticityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcModulusOfElasticityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcModulusOfElasticityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfLinearSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcModulusOfLinearSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[675]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcModulusOfLinearSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[675]); } Ifc4x3_add2::IfcModulusOfLinearSubgradeReactionMeasure::IfcModulusOfLinearSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcModulusOfLinearSubgradeReactionMeasure::IfcModulusOfLinearSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfRotationalSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[676]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[676]); } Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionMeasure::IfcModulusOfRotationalSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionMeasure::IfcModulusOfRotationalSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcModulusOfSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[678]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcModulusOfSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[678]); } Ifc4x3_add2::IfcModulusOfSubgradeReactionMeasure::IfcModulusOfSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcModulusOfSubgradeReactionMeasure::IfcModulusOfSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcModulusOfSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcModulusOfSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMoistureDiffusivityMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcMoistureDiffusivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[681]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcMoistureDiffusivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[681]); } Ifc4x3_add2::IfcMoistureDiffusivityMeasure::IfcMoistureDiffusivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcMoistureDiffusivityMeasure::IfcMoistureDiffusivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcMoistureDiffusivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcMoistureDiffusivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMolecularWeightMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcMolecularWeightMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[682]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcMolecularWeightMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[682]); } Ifc4x3_add2::IfcMolecularWeightMeasure::IfcMolecularWeightMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcMolecularWeightMeasure::IfcMolecularWeightMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcMolecularWeightMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcMolecularWeightMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMomentOfInertiaMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcMomentOfInertiaMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[683]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcMomentOfInertiaMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[683]); } Ifc4x3_add2::IfcMomentOfInertiaMeasure::IfcMomentOfInertiaMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcMomentOfInertiaMeasure::IfcMomentOfInertiaMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcMomentOfInertiaMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcMomentOfInertiaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonetaryMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcMonetaryMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[684]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcMonetaryMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[684]); } Ifc4x3_add2::IfcMonetaryMeasure::IfcMonetaryMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcMonetaryMeasure::IfcMonetaryMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcMonetaryMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcMonetaryMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonthInYearNumber const IfcParse::type_declaration& Ifc4x3_add2::IfcMonthInYearNumber::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[686]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcMonthInYearNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[686]); } Ifc4x3_add2::IfcMonthInYearNumber::IfcMonthInYearNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcMonthInYearNumber::IfcMonthInYearNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcMonthInYearNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcMonthInYearNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcNonNegativeLengthMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcNonNegativeLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[697]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcNonNegativeLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[697]); } Ifc4x3_add2::IfcNonNegativeLengthMeasure::IfcNonNegativeLengthMeasure(IfcEntityInstanceData&& e) : IfcLengthMeasure(std::move(e)) { } Ifc4x3_add2::IfcNonNegativeLengthMeasure::IfcNonNegativeLengthMeasure(double v) : IfcLengthMeasure(v) { } -Ifc4x3_add2::IfcNonNegativeLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcNonNegativeLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNormalisedRatioMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcNormalisedRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[698]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcNormalisedRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[698]); } Ifc4x3_add2::IfcNormalisedRatioMeasure::IfcNormalisedRatioMeasure(IfcEntityInstanceData&& e) : IfcRatioMeasure(std::move(e)) { } Ifc4x3_add2::IfcNormalisedRatioMeasure::IfcNormalisedRatioMeasure(double v) : IfcRatioMeasure(v) { } -Ifc4x3_add2::IfcNormalisedRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcNormalisedRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNumericMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcNumericMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[699]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcNumericMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[699]); } Ifc4x3_add2::IfcNumericMeasure::IfcNumericMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcNumericMeasure::IfcNumericMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcNumericMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcNumericMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPHMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcPHMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[739]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcPHMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[739]); } Ifc4x3_add2::IfcPHMeasure::IfcPHMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcPHMeasure::IfcPHMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcPHMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcPHMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcParameterValue const IfcParse::type_declaration& Ifc4x3_add2::IfcParameterValue::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[725]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcParameterValue::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[725]); } Ifc4x3_add2::IfcParameterValue::IfcParameterValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcParameterValue::IfcParameterValue(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcParameterValue::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcParameterValue::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlanarForceMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcPlanarForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[758]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcPlanarForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[758]); } Ifc4x3_add2::IfcPlanarForceMeasure::IfcPlanarForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcPlanarForceMeasure::IfcPlanarForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcPlanarForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcPlanarForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlaneAngleMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcPlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[760]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcPlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[760]); } Ifc4x3_add2::IfcPlaneAngleMeasure::IfcPlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcPlaneAngleMeasure::IfcPlaneAngleMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcPlaneAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcPlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveInteger const IfcParse::type_declaration& Ifc4x3_add2::IfcPositiveInteger::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[776]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcPositiveInteger::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[776]); } Ifc4x3_add2::IfcPositiveInteger::IfcPositiveInteger(IfcEntityInstanceData&& e) : IfcInteger(std::move(e)) { } Ifc4x3_add2::IfcPositiveInteger::IfcPositiveInteger(int v) : IfcInteger(v) { } -Ifc4x3_add2::IfcPositiveInteger::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcPositiveInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcPositiveLengthMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcPositiveLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[777]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcPositiveLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[777]); } Ifc4x3_add2::IfcPositiveLengthMeasure::IfcPositiveLengthMeasure(IfcEntityInstanceData&& e) : IfcLengthMeasure(std::move(e)) { } Ifc4x3_add2::IfcPositiveLengthMeasure::IfcPositiveLengthMeasure(double v) : IfcLengthMeasure(v) { } -Ifc4x3_add2::IfcPositiveLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcPositiveLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositivePlaneAngleMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcPositivePlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[778]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcPositivePlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[778]); } Ifc4x3_add2::IfcPositivePlaneAngleMeasure::IfcPositivePlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcPlaneAngleMeasure(std::move(e)) { } Ifc4x3_add2::IfcPositivePlaneAngleMeasure::IfcPositivePlaneAngleMeasure(double v) : IfcPlaneAngleMeasure(v) { } -Ifc4x3_add2::IfcPositivePlaneAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcPositivePlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveRatioMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcPositiveRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[779]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcPositiveRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[779]); } Ifc4x3_add2::IfcPositiveRatioMeasure::IfcPositiveRatioMeasure(IfcEntityInstanceData&& e) : IfcRatioMeasure(std::move(e)) { } Ifc4x3_add2::IfcPositiveRatioMeasure::IfcPositiveRatioMeasure(double v) : IfcRatioMeasure(v) { } -Ifc4x3_add2::IfcPositiveRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcPositiveRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPowerMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcPowerMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[781]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcPowerMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[781]); } Ifc4x3_add2::IfcPowerMeasure::IfcPowerMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcPowerMeasure::IfcPowerMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcPowerMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPresentableText const IfcParse::type_declaration& Ifc4x3_add2::IfcPresentableText::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[789]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcPresentableText::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[789]); } Ifc4x3_add2::IfcPresentableText::IfcPresentableText(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcPresentableText::IfcPresentableText(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcPresentableText::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcPresentableText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcPressureMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcPressureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[794]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcPressureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[794]); } Ifc4x3_add2::IfcPressureMeasure::IfcPressureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcPressureMeasure::IfcPressureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcPressureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPropertySetDefinitionSet const IfcParse::type_declaration& Ifc4x3_add2::IfcPropertySetDefinitionSet::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[828]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcPropertySetDefinitionSet::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[828]); } Ifc4x3_add2::IfcPropertySetDefinitionSet::IfcPropertySetDefinitionSet(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcPropertySetDefinitionSet::IfcPropertySetDefinitionSet(aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v->generalize()); } -Ifc4x3_add2::IfcPropertySetDefinitionSet::operator aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcPropertySetDefinition >(); } +Ifc4x3_add2::IfcPropertySetDefinitionSet::operator aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcPropertySetDefinition >(); } // Function implementations for IfcRadioActivityMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcRadioActivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[852]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcRadioActivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[852]); } Ifc4x3_add2::IfcRadioActivityMeasure::IfcRadioActivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcRadioActivityMeasure::IfcRadioActivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcRadioActivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcRadioActivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRatioMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[869]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[869]); } Ifc4x3_add2::IfcRatioMeasure::IfcRatioMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcRatioMeasure::IfcRatioMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcReal const IfcParse::type_declaration& Ifc4x3_add2::IfcReal::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[872]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcReal::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[872]); } Ifc4x3_add2::IfcReal::IfcReal(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcReal::IfcReal(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcReal::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcReal::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalFrequencyMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcRotationalFrequencyMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[975]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcRotationalFrequencyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[975]); } Ifc4x3_add2::IfcRotationalFrequencyMeasure::IfcRotationalFrequencyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcRotationalFrequencyMeasure::IfcRotationalFrequencyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcRotationalFrequencyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcRotationalFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalMassMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcRotationalMassMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[976]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcRotationalMassMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[976]); } Ifc4x3_add2::IfcRotationalMassMeasure::IfcRotationalMassMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcRotationalMassMeasure::IfcRotationalMassMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcRotationalMassMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcRotationalMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalStiffnessMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcRotationalStiffnessMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[977]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcRotationalStiffnessMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[977]); } Ifc4x3_add2::IfcRotationalStiffnessMeasure::IfcRotationalStiffnessMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcRotationalStiffnessMeasure::IfcRotationalStiffnessMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcRotationalStiffnessMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcRotationalStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionModulusMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcSectionModulusMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[991]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcSectionModulusMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[991]); } Ifc4x3_add2::IfcSectionModulusMeasure::IfcSectionModulusMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcSectionModulusMeasure::IfcSectionModulusMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcSectionModulusMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcSectionModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionalAreaIntegralMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcSectionalAreaIntegralMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[986]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcSectionalAreaIntegralMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[986]); } Ifc4x3_add2::IfcSectionalAreaIntegralMeasure::IfcSectionalAreaIntegralMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcSectionalAreaIntegralMeasure::IfcSectionalAreaIntegralMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcSectionalAreaIntegralMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcSectionalAreaIntegralMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcShearModulusMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcShearModulusMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1009]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcShearModulusMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1009]); } Ifc4x3_add2::IfcShearModulusMeasure::IfcShearModulusMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcShearModulusMeasure::IfcShearModulusMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcShearModulusMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcShearModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSolidAngleMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcSolidAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1035]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcSolidAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1035]); } Ifc4x3_add2::IfcSolidAngleMeasure::IfcSolidAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcSolidAngleMeasure::IfcSolidAngleMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcSolidAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcSolidAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerLevelMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcSoundPowerLevelMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1038]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcSoundPowerLevelMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1038]); } Ifc4x3_add2::IfcSoundPowerLevelMeasure::IfcSoundPowerLevelMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcSoundPowerLevelMeasure::IfcSoundPowerLevelMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcSoundPowerLevelMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcSoundPowerLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcSoundPowerMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1039]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcSoundPowerMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1039]); } Ifc4x3_add2::IfcSoundPowerMeasure::IfcSoundPowerMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcSoundPowerMeasure::IfcSoundPowerMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcSoundPowerMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcSoundPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureLevelMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcSoundPressureLevelMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1040]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcSoundPressureLevelMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1040]); } Ifc4x3_add2::IfcSoundPressureLevelMeasure::IfcSoundPressureLevelMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcSoundPressureLevelMeasure::IfcSoundPressureLevelMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcSoundPressureLevelMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcSoundPressureLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcSoundPressureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1041]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcSoundPressureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1041]); } Ifc4x3_add2::IfcSoundPressureMeasure::IfcSoundPressureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcSoundPressureMeasure::IfcSoundPressureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcSoundPressureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcSoundPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecificHeatCapacityMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcSpecificHeatCapacityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1057]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcSpecificHeatCapacityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1057]); } Ifc4x3_add2::IfcSpecificHeatCapacityMeasure::IfcSpecificHeatCapacityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcSpecificHeatCapacityMeasure::IfcSpecificHeatCapacityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcSpecificHeatCapacityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcSpecificHeatCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularExponent const IfcParse::type_declaration& Ifc4x3_add2::IfcSpecularExponent::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1058]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcSpecularExponent::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1058]); } Ifc4x3_add2::IfcSpecularExponent::IfcSpecularExponent(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcSpecularExponent::IfcSpecularExponent(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcSpecularExponent::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcSpecularExponent::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularRoughness const IfcParse::type_declaration& Ifc4x3_add2::IfcSpecularRoughness::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1060]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcSpecularRoughness::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1060]); } Ifc4x3_add2::IfcSpecularRoughness::IfcSpecularRoughness(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcSpecularRoughness::IfcSpecularRoughness(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcSpecularRoughness::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcSpecularRoughness::operator double() const { return get_attribute_value(0); } // Function implementations for IfcStrippedOptional const IfcParse::type_declaration& Ifc4x3_add2::IfcStrippedOptional::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1074]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcStrippedOptional::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1074]); } Ifc4x3_add2::IfcStrippedOptional::IfcStrippedOptional(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcStrippedOptional::IfcStrippedOptional(bool v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcStrippedOptional::operator bool() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcStrippedOptional::operator bool() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureGradientMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcTemperatureGradientMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1166]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcTemperatureGradientMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1166]); } Ifc4x3_add2::IfcTemperatureGradientMeasure::IfcTemperatureGradientMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcTemperatureGradientMeasure::IfcTemperatureGradientMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcTemperatureGradientMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcTemperatureGradientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureRateOfChangeMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcTemperatureRateOfChangeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1167]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcTemperatureRateOfChangeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1167]); } Ifc4x3_add2::IfcTemperatureRateOfChangeMeasure::IfcTemperatureRateOfChangeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcTemperatureRateOfChangeMeasure::IfcTemperatureRateOfChangeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcTemperatureRateOfChangeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcTemperatureRateOfChangeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcText const IfcParse::type_declaration& Ifc4x3_add2::IfcText::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1179]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcText::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1179]); } Ifc4x3_add2::IfcText::IfcText(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcText::IfcText(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcText::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextAlignment const IfcParse::type_declaration& Ifc4x3_add2::IfcTextAlignment::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1180]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcTextAlignment::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1180]); } Ifc4x3_add2::IfcTextAlignment::IfcTextAlignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcTextAlignment::IfcTextAlignment(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcTextAlignment::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcTextAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextDecoration const IfcParse::type_declaration& Ifc4x3_add2::IfcTextDecoration::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1181]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcTextDecoration::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1181]); } Ifc4x3_add2::IfcTextDecoration::IfcTextDecoration(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcTextDecoration::IfcTextDecoration(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcTextDecoration::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcTextDecoration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextFontName const IfcParse::type_declaration& Ifc4x3_add2::IfcTextFontName::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1182]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcTextFontName::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1182]); } Ifc4x3_add2::IfcTextFontName::IfcTextFontName(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcTextFontName::IfcTextFontName(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcTextFontName::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcTextFontName::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextTransformation const IfcParse::type_declaration& Ifc4x3_add2::IfcTextTransformation::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1191]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcTextTransformation::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1191]); } Ifc4x3_add2::IfcTextTransformation::IfcTextTransformation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcTextTransformation::IfcTextTransformation(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcTextTransformation::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcTextTransformation::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcThermalAdmittanceMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcThermalAdmittanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1199]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcThermalAdmittanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1199]); } Ifc4x3_add2::IfcThermalAdmittanceMeasure::IfcThermalAdmittanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcThermalAdmittanceMeasure::IfcThermalAdmittanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcThermalAdmittanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcThermalAdmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalConductivityMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcThermalConductivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1200]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcThermalConductivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1200]); } Ifc4x3_add2::IfcThermalConductivityMeasure::IfcThermalConductivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcThermalConductivityMeasure::IfcThermalConductivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcThermalConductivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcThermalConductivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalExpansionCoefficientMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcThermalExpansionCoefficientMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1201]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcThermalExpansionCoefficientMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1201]); } Ifc4x3_add2::IfcThermalExpansionCoefficientMeasure::IfcThermalExpansionCoefficientMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcThermalExpansionCoefficientMeasure::IfcThermalExpansionCoefficientMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcThermalExpansionCoefficientMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcThermalExpansionCoefficientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalResistanceMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcThermalResistanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1202]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcThermalResistanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1202]); } Ifc4x3_add2::IfcThermalResistanceMeasure::IfcThermalResistanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcThermalResistanceMeasure::IfcThermalResistanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcThermalResistanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcThermalResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalTransmittanceMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcThermalTransmittanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1203]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcThermalTransmittanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1203]); } Ifc4x3_add2::IfcThermalTransmittanceMeasure::IfcThermalTransmittanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcThermalTransmittanceMeasure::IfcThermalTransmittanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcThermalTransmittanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcThermalTransmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermodynamicTemperatureMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcThermodynamicTemperatureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1204]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcThermodynamicTemperatureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1204]); } Ifc4x3_add2::IfcThermodynamicTemperatureMeasure::IfcThermodynamicTemperatureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcThermodynamicTemperatureMeasure::IfcThermodynamicTemperatureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcThermodynamicTemperatureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcThermodynamicTemperatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTime const IfcParse::type_declaration& Ifc4x3_add2::IfcTime::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1206]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcTime::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1206]); } Ifc4x3_add2::IfcTime::IfcTime(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcTime::IfcTime(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcTime::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTimeMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcTimeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1207]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcTimeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1207]); } Ifc4x3_add2::IfcTimeMeasure::IfcTimeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcTimeMeasure::IfcTimeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcTimeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcTimeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTimeStamp const IfcParse::type_declaration& Ifc4x3_add2::IfcTimeStamp::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1213]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcTimeStamp::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1213]); } Ifc4x3_add2::IfcTimeStamp::IfcTimeStamp(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcTimeStamp::IfcTimeStamp(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcTimeStamp::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcTimeStamp::operator int() const { return get_attribute_value(0); } // Function implementations for IfcTorqueMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcTorqueMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1217]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcTorqueMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1217]); } Ifc4x3_add2::IfcTorqueMeasure::IfcTorqueMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcTorqueMeasure::IfcTorqueMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcTorqueMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcTorqueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcURIReference const IfcParse::type_declaration& Ifc4x3_add2::IfcURIReference::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1254]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcURIReference::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1254]); } Ifc4x3_add2::IfcURIReference::IfcURIReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcURIReference::IfcURIReference(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcURIReference::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcURIReference::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcVaporPermeabilityMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcVaporPermeabilityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1260]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcVaporPermeabilityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1260]); } Ifc4x3_add2::IfcVaporPermeabilityMeasure::IfcVaporPermeabilityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcVaporPermeabilityMeasure::IfcVaporPermeabilityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcVaporPermeabilityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcVaporPermeabilityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumeMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcVolumeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1280]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcVolumeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1280]); } Ifc4x3_add2::IfcVolumeMeasure::IfcVolumeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcVolumeMeasure::IfcVolumeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcVolumeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcVolumeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumetricFlowRateMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcVolumetricFlowRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1281]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcVolumetricFlowRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1281]); } Ifc4x3_add2::IfcVolumetricFlowRateMeasure::IfcVolumetricFlowRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcVolumetricFlowRateMeasure::IfcVolumetricFlowRateMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcVolumetricFlowRateMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcVolumetricFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingConstantMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcWarpingConstantMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1286]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcWarpingConstantMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1286]); } Ifc4x3_add2::IfcWarpingConstantMeasure::IfcWarpingConstantMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcWarpingConstantMeasure::IfcWarpingConstantMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcWarpingConstantMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcWarpingConstantMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingMomentMeasure const IfcParse::type_declaration& Ifc4x3_add2::IfcWarpingMomentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1287]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcWarpingMomentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1287]); } Ifc4x3_add2::IfcWarpingMomentMeasure::IfcWarpingMomentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcWarpingMomentMeasure::IfcWarpingMomentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcWarpingMomentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcWarpingMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWellKnownTextLiteral const IfcParse::type_declaration& Ifc4x3_add2::IfcWellKnownTextLiteral::Class() { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1293]); } const IfcParse::type_declaration& Ifc4x3_add2::IfcWellKnownTextLiteral::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_ADD2_types[1293]); } Ifc4x3_add2::IfcWellKnownTextLiteral::IfcWellKnownTextLiteral(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_add2::IfcWellKnownTextLiteral::IfcWellKnownTextLiteral(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_add2::IfcWellKnownTextLiteral::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_add2::IfcWellKnownTextLiteral::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcActionRequest -boost::optional< ::Ifc4x3_add2::IfcActionRequestTypeEnum::Value > Ifc4x3_add2::IfcActionRequest::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcActionRequestTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_add2::IfcActionRequestTypeEnum::Value > Ifc4x3_add2::IfcActionRequest::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcActionRequestTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_add2::IfcActionRequest::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcActionRequestTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_add2::IfcActionRequestTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_add2::IfcActionRequest::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcActionRequest::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcActionRequest::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_add2::IfcActionRequest::LongDescription() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcActionRequest::LongDescription() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcActionRequest::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcActionRequest::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[2]); } const IfcParse::entity& Ifc4x3_add2::IfcActionRequest::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[2]); } Ifc4x3_add2::IfcActionRequest::IfcActionRequest(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_add2::IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcActionRequestTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add2::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } +Ifc4x3_add2::IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcActionRequestTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add2::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } // Function implementations for IfcActor -::Ifc4x3_add2::IfcActorSelect* Ifc4x3_add2::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcActorSelect>(true); } +::Ifc4x3_add2::IfcActorSelect* Ifc4x3_add2::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcActorSelect>(true); } void Ifc4x3_add2::IfcActor::setTheActor(::Ifc4x3_add2::IfcActorSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc4x3_add2::IfcRelAssignsToActor::list::ptr Ifc4x3_add2::IfcActor::IsActingUpon() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[901], 6)->as(); } @@ -7671,14 +7671,14 @@ void Ifc4x3_add2::IfcActor::setTheActor(::Ifc4x3_add2::IfcActorSelect* v) { set_ const IfcParse::entity& Ifc4x3_add2::IfcActor::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[6]); } const IfcParse::entity& Ifc4x3_add2::IfcActor::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[6]); } Ifc4x3_add2::IfcActor::IfcActor(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_add2::IfcActor::IfcActor(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcActorSelect* v6_TheActor) : IfcObject(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcActor::IfcActor(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcActorSelect* v6_TheActor) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcActorRole -::Ifc4x3_add2::IfcRoleEnum::Value Ifc4x3_add2::IfcActorRole::Role() const { return ::Ifc4x3_add2::IfcRoleEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_add2::IfcRoleEnum::Value Ifc4x3_add2::IfcActorRole::Role() const { return ::Ifc4x3_add2::IfcRoleEnum::FromString(get_attribute_value(0)); } void Ifc4x3_add2::IfcActorRole::setRole(::Ifc4x3_add2::IfcRoleEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_add2::IfcRoleEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_add2::IfcActorRole::UserDefinedRole() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcActorRole::UserDefinedRole() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcActorRole::setUserDefinedRole(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_add2::IfcActorRole::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcActorRole::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcActorRole::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3_add2::IfcExternalReferenceRelationship::list::ptr Ifc4x3_add2::IfcActorRole::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[427], 3)->as(); } @@ -7686,34 +7686,34 @@ void Ifc4x3_add2::IfcActorRole::setDescription(boost::optional< std::string > v) const IfcParse::entity& Ifc4x3_add2::IfcActorRole::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[7]); } const IfcParse::entity& Ifc4x3_add2::IfcActorRole::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[7]); } Ifc4x3_add2::IfcActorRole::IfcActorRole(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcActorRole::IfcActorRole(::Ifc4x3_add2::IfcRoleEnum::Value v1_Role, boost::optional< std::string > v2_UserDefinedRole, boost::optional< std::string > v3_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } +Ifc4x3_add2::IfcActorRole::IfcActorRole(::Ifc4x3_add2::IfcRoleEnum::Value v1_Role, boost::optional< std::string > v2_UserDefinedRole, boost::optional< std::string > v3_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } // Function implementations for IfcActuator -boost::optional< ::Ifc4x3_add2::IfcActuatorTypeEnum::Value > Ifc4x3_add2::IfcActuator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcActuatorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcActuatorTypeEnum::Value > Ifc4x3_add2::IfcActuator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcActuatorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcActuator::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcActuatorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcActuatorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcActuator::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[9]); } const IfcParse::entity& Ifc4x3_add2::IfcActuator::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[9]); } Ifc4x3_add2::IfcActuator::IfcActuator(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_add2::IfcActuator::IfcActuator(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcActuatorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcActuator::IfcActuator(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcActuatorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcActuatorType -::Ifc4x3_add2::IfcActuatorTypeEnum::Value Ifc4x3_add2::IfcActuatorType::PredefinedType() const { return ::Ifc4x3_add2::IfcActuatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcActuatorTypeEnum::Value Ifc4x3_add2::IfcActuatorType::PredefinedType() const { return ::Ifc4x3_add2::IfcActuatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcActuatorType::setPredefinedType(::Ifc4x3_add2::IfcActuatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcActuatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcActuatorType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[10]); } const IfcParse::entity& Ifc4x3_add2::IfcActuatorType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[10]); } Ifc4x3_add2::IfcActuatorType::IfcActuatorType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_add2::IfcActuatorType::IfcActuatorType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcActuatorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcActuatorType::IfcActuatorType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcActuatorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAddress -boost::optional< ::Ifc4x3_add2::IfcAddressTypeEnum::Value > Ifc4x3_add2::IfcAddress::Purpose() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcAddressTypeEnum::FromString(data_.get_attribute_value(0)); } +boost::optional< ::Ifc4x3_add2::IfcAddressTypeEnum::Value > Ifc4x3_add2::IfcAddress::Purpose() const { if(get_attribute_value(0).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcAddressTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x3_add2::IfcAddress::setPurpose(boost::optional< ::Ifc4x3_add2::IfcAddressTypeEnum::Value > v) { if (v) {set_attribute_value(0, EnumerationReference(&::Ifc4x3_add2::IfcAddressTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add2::IfcAddress::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcAddress::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcAddress::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_add2::IfcAddress::UserDefinedPurpose() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcAddress::UserDefinedPurpose() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcAddress::setUserDefinedPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3_add2::IfcPerson::list::ptr Ifc4x3_add2::IfcAddress::OfPerson() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[737], 7)->as(); } @@ -7722,7 +7722,7 @@ void Ifc4x3_add2::IfcAddress::setUserDefinedPurpose(boost::optional< std::string const IfcParse::entity& Ifc4x3_add2::IfcAddress::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[12]); } const IfcParse::entity& Ifc4x3_add2::IfcAddress::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[12]); } Ifc4x3_add2::IfcAddress::IfcAddress(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcAddress::IfcAddress(boost::optional< ::Ifc4x3_add2::IfcAddressTypeEnum::Value > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; populate_derived(); } +Ifc4x3_add2::IfcAddress::IfcAddress(boost::optional< ::Ifc4x3_add2::IfcAddressTypeEnum::Value > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; populate_derived(); } // Function implementations for IfcAdvancedBrep @@ -7730,17 +7730,17 @@ Ifc4x3_add2::IfcAddress::IfcAddress(boost::optional< ::Ifc4x3_add2::IfcAddressTy const IfcParse::entity& Ifc4x3_add2::IfcAdvancedBrep::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[14]); } const IfcParse::entity& Ifc4x3_add2::IfcAdvancedBrep::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[14]); } Ifc4x3_add2::IfcAdvancedBrep::IfcAdvancedBrep(IfcEntityInstanceData&& e) : IfcManifoldSolidBrep(std::move(e)) { } -Ifc4x3_add2::IfcAdvancedBrep::IfcAdvancedBrep(::Ifc4x3_add2::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcAdvancedBrep::IfcAdvancedBrep(::Ifc4x3_add2::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAdvancedBrepWithVoids -aggregate_of< ::Ifc4x3_add2::IfcClosedShell >::ptr Ifc4x3_add2::IfcAdvancedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcClosedShell >(); } +aggregate_of< ::Ifc4x3_add2::IfcClosedShell >::ptr Ifc4x3_add2::IfcAdvancedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcClosedShell >(); } void Ifc4x3_add2::IfcAdvancedBrepWithVoids::setVoids(aggregate_of< ::Ifc4x3_add2::IfcClosedShell >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcAdvancedBrepWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[15]); } const IfcParse::entity& Ifc4x3_add2::IfcAdvancedBrepWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[15]); } Ifc4x3_add2::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(IfcEntityInstanceData&& e) : IfcAdvancedBrep(std::move(e)) { } -Ifc4x3_add2::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4x3_add2::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3_add2::IfcClosedShell >::ptr v2_Voids) : IfcAdvancedBrep(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4x3_add2::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3_add2::IfcClosedShell >::ptr v2_Voids) : IfcAdvancedBrep(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } // Function implementations for IfcAdvancedFace @@ -7748,129 +7748,129 @@ Ifc4x3_add2::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4x3_add2::I const IfcParse::entity& Ifc4x3_add2::IfcAdvancedFace::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[16]); } const IfcParse::entity& Ifc4x3_add2::IfcAdvancedFace::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[16]); } Ifc4x3_add2::IfcAdvancedFace::IfcAdvancedFace(IfcEntityInstanceData&& e) : IfcFaceSurface(std::move(e)) { } -Ifc4x3_add2::IfcAdvancedFace::IfcAdvancedFace(aggregate_of< ::Ifc4x3_add2::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_add2::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFaceSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } +Ifc4x3_add2::IfcAdvancedFace::IfcAdvancedFace(aggregate_of< ::Ifc4x3_add2::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_add2::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFaceSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } // Function implementations for IfcAirTerminal -boost::optional< ::Ifc4x3_add2::IfcAirTerminalTypeEnum::Value > Ifc4x3_add2::IfcAirTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcAirTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcAirTerminalTypeEnum::Value > Ifc4x3_add2::IfcAirTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcAirTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcAirTerminal::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcAirTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcAirTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcAirTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[17]); } const IfcParse::entity& Ifc4x3_add2::IfcAirTerminal::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[17]); } Ifc4x3_add2::IfcAirTerminal::IfcAirTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_add2::IfcAirTerminal::IfcAirTerminal(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcAirTerminal::IfcAirTerminal(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAirTerminalBox -boost::optional< ::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Value > Ifc4x3_add2::IfcAirTerminalBox::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Value > Ifc4x3_add2::IfcAirTerminalBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcAirTerminalBox::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcAirTerminalBox::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[18]); } const IfcParse::entity& Ifc4x3_add2::IfcAirTerminalBox::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[18]); } Ifc4x3_add2::IfcAirTerminalBox::IfcAirTerminalBox(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_add2::IfcAirTerminalBox::IfcAirTerminalBox(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcAirTerminalBox::IfcAirTerminalBox(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAirTerminalBoxType -::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Value Ifc4x3_add2::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Value Ifc4x3_add2::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcAirTerminalBoxType::setPredefinedType(::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcAirTerminalBoxType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[19]); } const IfcParse::entity& Ifc4x3_add2::IfcAirTerminalBoxType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[19]); } Ifc4x3_add2::IfcAirTerminalBoxType::IfcAirTerminalBoxType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_add2::IfcAirTerminalBoxType::IfcAirTerminalBoxType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcAirTerminalBoxType::IfcAirTerminalBoxType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAirTerminalType -::Ifc4x3_add2::IfcAirTerminalTypeEnum::Value Ifc4x3_add2::IfcAirTerminalType::PredefinedType() const { return ::Ifc4x3_add2::IfcAirTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcAirTerminalTypeEnum::Value Ifc4x3_add2::IfcAirTerminalType::PredefinedType() const { return ::Ifc4x3_add2::IfcAirTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcAirTerminalType::setPredefinedType(::Ifc4x3_add2::IfcAirTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcAirTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcAirTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[21]); } const IfcParse::entity& Ifc4x3_add2::IfcAirTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[21]); } Ifc4x3_add2::IfcAirTerminalType::IfcAirTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_add2::IfcAirTerminalType::IfcAirTerminalType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAirTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcAirTerminalType::IfcAirTerminalType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAirTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAirToAirHeatRecovery -boost::optional< ::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x3_add2::IfcAirToAirHeatRecovery::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x3_add2::IfcAirToAirHeatRecovery::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcAirToAirHeatRecovery::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcAirToAirHeatRecovery::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[23]); } const IfcParse::entity& Ifc4x3_add2::IfcAirToAirHeatRecovery::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[23]); } Ifc4x3_add2::IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add2::IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAirToAirHeatRecoveryType -::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3_add2::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3_add2::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcAirToAirHeatRecoveryType::setPredefinedType(::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcAirToAirHeatRecoveryType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[24]); } const IfcParse::entity& Ifc4x3_add2::IfcAirToAirHeatRecoveryType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[24]); } Ifc4x3_add2::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add2::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlarm -boost::optional< ::Ifc4x3_add2::IfcAlarmTypeEnum::Value > Ifc4x3_add2::IfcAlarm::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcAlarmTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcAlarmTypeEnum::Value > Ifc4x3_add2::IfcAlarm::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcAlarmTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcAlarm::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcAlarmTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcAlarmTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcAlarm::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[26]); } const IfcParse::entity& Ifc4x3_add2::IfcAlarm::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[26]); } Ifc4x3_add2::IfcAlarm::IfcAlarm(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_add2::IfcAlarm::IfcAlarm(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcAlarmTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcAlarm::IfcAlarm(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcAlarmTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAlarmType -::Ifc4x3_add2::IfcAlarmTypeEnum::Value Ifc4x3_add2::IfcAlarmType::PredefinedType() const { return ::Ifc4x3_add2::IfcAlarmTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcAlarmTypeEnum::Value Ifc4x3_add2::IfcAlarmType::PredefinedType() const { return ::Ifc4x3_add2::IfcAlarmTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcAlarmType::setPredefinedType(::Ifc4x3_add2::IfcAlarmTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcAlarmTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcAlarmType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[27]); } const IfcParse::entity& Ifc4x3_add2::IfcAlarmType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[27]); } Ifc4x3_add2::IfcAlarmType::IfcAlarmType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_add2::IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAlarmTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAlarmTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlignment -boost::optional< ::Ifc4x3_add2::IfcAlignmentTypeEnum::Value > Ifc4x3_add2::IfcAlignment::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcAlignmentTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_add2::IfcAlignmentTypeEnum::Value > Ifc4x3_add2::IfcAlignment::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcAlignmentTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add2::IfcAlignment::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcAlignmentTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_add2::IfcAlignmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_add2::IfcAlignment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[29]); } const IfcParse::entity& Ifc4x3_add2::IfcAlignment::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[29]); } Ifc4x3_add2::IfcAlignment::IfcAlignment(IfcEntityInstanceData&& e) : IfcLinearPositioningElement(std::move(e)) { } -Ifc4x3_add2::IfcAlignment::IfcAlignment(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_add2::IfcAlignmentTypeEnum::Value > v8_PredefinedType) : IfcLinearPositioningElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcAlignmentTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcAlignment::IfcAlignment(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_add2::IfcAlignmentTypeEnum::Value > v8_PredefinedType) : IfcLinearPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcAlignmentTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAlignmentCant -double Ifc4x3_add2::IfcAlignmentCant::RailHeadDistance() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x3_add2::IfcAlignmentCant::RailHeadDistance() const { double v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcAlignmentCant::setRailHeadDistance(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_add2::IfcAlignmentCant::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[30]); } const IfcParse::entity& Ifc4x3_add2::IfcAlignmentCant::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[30]); } Ifc4x3_add2::IfcAlignmentCant::IfcAlignmentCant(IfcEntityInstanceData&& e) : IfcLinearElement(std::move(e)) { } -Ifc4x3_add2::IfcAlignmentCant::IfcAlignmentCant(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, double v8_RailHeadDistance) : IfcLinearElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RailHeadDistance));; populate_derived(); } +Ifc4x3_add2::IfcAlignmentCant::IfcAlignmentCant(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, double v8_RailHeadDistance) : IfcLinearElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RailHeadDistance));; populate_derived(); } // Function implementations for IfcAlignmentCantSegment -double Ifc4x3_add2::IfcAlignmentCantSegment::StartDistAlong() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_add2::IfcAlignmentCantSegment::StartDistAlong() const { double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcAlignmentCantSegment::setStartDistAlong(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_add2::IfcAlignmentCantSegment::HorizontalLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add2::IfcAlignmentCantSegment::HorizontalLength() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcAlignmentCantSegment::setHorizontalLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_add2::IfcAlignmentCantSegment::StartCantLeft() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add2::IfcAlignmentCantSegment::StartCantLeft() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcAlignmentCantSegment::setStartCantLeft(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< double > Ifc4x3_add2::IfcAlignmentCantSegment::EndCantLeft() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_add2::IfcAlignmentCantSegment::EndCantLeft() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcAlignmentCantSegment::setEndCantLeft(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -double Ifc4x3_add2::IfcAlignmentCantSegment::StartCantRight() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_add2::IfcAlignmentCantSegment::StartCantRight() const { double v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcAlignmentCantSegment::setStartCantRight(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_add2::IfcAlignmentCantSegment::EndCantRight() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add2::IfcAlignmentCantSegment::EndCantRight() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcAlignmentCantSegment::setEndCantRight(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_add2::IfcAlignmentCantSegmentTypeEnum::Value Ifc4x3_add2::IfcAlignmentCantSegment::PredefinedType() const { return ::Ifc4x3_add2::IfcAlignmentCantSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_add2::IfcAlignmentCantSegmentTypeEnum::Value Ifc4x3_add2::IfcAlignmentCantSegment::PredefinedType() const { return ::Ifc4x3_add2::IfcAlignmentCantSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcAlignmentCantSegment::setPredefinedType(::Ifc4x3_add2::IfcAlignmentCantSegmentTypeEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcAlignmentCantSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_add2::IfcAlignmentCantSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[31]); } const IfcParse::entity& Ifc4x3_add2::IfcAlignmentCantSegment::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[31]); } Ifc4x3_add2::IfcAlignmentCantSegment::IfcAlignmentCantSegment(IfcEntityInstanceData&& e) : IfcAlignmentParameterSegment(std::move(e)) { } -Ifc4x3_add2::IfcAlignmentCantSegment::IfcAlignmentCantSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, boost::optional< double > v6_EndCantLeft, double v7_StartCantRight, boost::optional< double > v8_EndCantRight, ::Ifc4x3_add2::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(storage_t(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartCantLeft)); if (v6_EndCantLeft) {set_attribute_value(5, (*v6_EndCantLeft)); }set_attribute_value(6, (v7_StartCantRight)); if (v8_EndCantRight) {set_attribute_value(7, (*v8_EndCantRight)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcAlignmentCantSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcAlignmentCantSegment::IfcAlignmentCantSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, boost::optional< double > v6_EndCantLeft, double v7_StartCantRight, boost::optional< double > v8_EndCantRight, ::Ifc4x3_add2::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartCantLeft)); if (v6_EndCantLeft) {set_attribute_value(5, (*v6_EndCantLeft)); }set_attribute_value(6, (v7_StartCantRight)); if (v8_EndCantRight) {set_attribute_value(7, (*v8_EndCantRight)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcAlignmentCantSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlignmentHorizontal @@ -7878,51 +7878,51 @@ Ifc4x3_add2::IfcAlignmentCantSegment::IfcAlignmentCantSegment(boost::optional< s const IfcParse::entity& Ifc4x3_add2::IfcAlignmentHorizontal::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[33]); } const IfcParse::entity& Ifc4x3_add2::IfcAlignmentHorizontal::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[33]); } Ifc4x3_add2::IfcAlignmentHorizontal::IfcAlignmentHorizontal(IfcEntityInstanceData&& e) : IfcLinearElement(std::move(e)) { } -Ifc4x3_add2::IfcAlignmentHorizontal::IfcAlignmentHorizontal(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation) : IfcLinearElement(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcAlignmentHorizontal::IfcAlignmentHorizontal(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation) : IfcLinearElement(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAlignmentHorizontalSegment -::Ifc4x3_add2::IfcCartesianPoint* Ifc4x3_add2::IfcAlignmentHorizontalSegment::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcCartesianPoint>(true); } +::Ifc4x3_add2::IfcCartesianPoint* Ifc4x3_add2::IfcAlignmentHorizontalSegment::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcCartesianPoint>(true); } void Ifc4x3_add2::IfcAlignmentHorizontalSegment::setStartPoint(::Ifc4x3_add2::IfcCartesianPoint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_add2::IfcAlignmentHorizontalSegment::StartDirection() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add2::IfcAlignmentHorizontalSegment::StartDirection() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcAlignmentHorizontalSegment::setStartDirection(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_add2::IfcAlignmentHorizontalSegment::StartRadiusOfCurvature() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add2::IfcAlignmentHorizontalSegment::StartRadiusOfCurvature() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcAlignmentHorizontalSegment::setStartRadiusOfCurvature(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_add2::IfcAlignmentHorizontalSegment::EndRadiusOfCurvature() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_add2::IfcAlignmentHorizontalSegment::EndRadiusOfCurvature() const { double v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcAlignmentHorizontalSegment::setEndRadiusOfCurvature(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_add2::IfcAlignmentHorizontalSegment::SegmentLength() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_add2::IfcAlignmentHorizontalSegment::SegmentLength() const { double v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcAlignmentHorizontalSegment::setSegmentLength(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_add2::IfcAlignmentHorizontalSegment::GravityCenterLineHeight() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add2::IfcAlignmentHorizontalSegment::GravityCenterLineHeight() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcAlignmentHorizontalSegment::setGravityCenterLineHeight(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_add2::IfcAlignmentHorizontalSegmentTypeEnum::Value Ifc4x3_add2::IfcAlignmentHorizontalSegment::PredefinedType() const { return ::Ifc4x3_add2::IfcAlignmentHorizontalSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_add2::IfcAlignmentHorizontalSegmentTypeEnum::Value Ifc4x3_add2::IfcAlignmentHorizontalSegment::PredefinedType() const { return ::Ifc4x3_add2::IfcAlignmentHorizontalSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcAlignmentHorizontalSegment::setPredefinedType(::Ifc4x3_add2::IfcAlignmentHorizontalSegmentTypeEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcAlignmentHorizontalSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_add2::IfcAlignmentHorizontalSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[34]); } const IfcParse::entity& Ifc4x3_add2::IfcAlignmentHorizontalSegment::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[34]); } Ifc4x3_add2::IfcAlignmentHorizontalSegment::IfcAlignmentHorizontalSegment(IfcEntityInstanceData&& e) : IfcAlignmentParameterSegment(std::move(e)) { } -Ifc4x3_add2::IfcAlignmentHorizontalSegment::IfcAlignmentHorizontalSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag, ::Ifc4x3_add2::IfcCartesianPoint* v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, boost::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_add2::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(storage_t(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, v3_StartPoint ? v3_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_StartDirection));set_attribute_value(4, (v5_StartRadiusOfCurvature));set_attribute_value(5, (v6_EndRadiusOfCurvature));set_attribute_value(6, (v7_SegmentLength)); if (v8_GravityCenterLineHeight) {set_attribute_value(7, (*v8_GravityCenterLineHeight)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcAlignmentHorizontalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcAlignmentHorizontalSegment::IfcAlignmentHorizontalSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag, ::Ifc4x3_add2::IfcCartesianPoint* v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, boost::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_add2::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, v3_StartPoint ? v3_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_StartDirection));set_attribute_value(4, (v5_StartRadiusOfCurvature));set_attribute_value(5, (v6_EndRadiusOfCurvature));set_attribute_value(6, (v7_SegmentLength)); if (v8_GravityCenterLineHeight) {set_attribute_value(7, (*v8_GravityCenterLineHeight)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcAlignmentHorizontalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlignmentParameterSegment -boost::optional< std::string > Ifc4x3_add2::IfcAlignmentParameterSegment::StartTag() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcAlignmentParameterSegment::StartTag() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcAlignmentParameterSegment::setStartTag(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add2::IfcAlignmentParameterSegment::EndTag() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcAlignmentParameterSegment::EndTag() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcAlignmentParameterSegment::setEndTag(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_add2::IfcAlignmentParameterSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[36]); } const IfcParse::entity& Ifc4x3_add2::IfcAlignmentParameterSegment::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[36]); } Ifc4x3_add2::IfcAlignmentParameterSegment::IfcAlignmentParameterSegment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcAlignmentParameterSegment::IfcAlignmentParameterSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }; populate_derived(); } +Ifc4x3_add2::IfcAlignmentParameterSegment::IfcAlignmentParameterSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }; populate_derived(); } // Function implementations for IfcAlignmentSegment -::Ifc4x3_add2::IfcAlignmentParameterSegment* Ifc4x3_add2::IfcAlignmentSegment::DesignParameters() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_add2::IfcAlignmentParameterSegment>(true); } +::Ifc4x3_add2::IfcAlignmentParameterSegment* Ifc4x3_add2::IfcAlignmentSegment::DesignParameters() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_add2::IfcAlignmentParameterSegment>(true); } void Ifc4x3_add2::IfcAlignmentSegment::setDesignParameters(::Ifc4x3_add2::IfcAlignmentParameterSegment* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_add2::IfcAlignmentSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[37]); } const IfcParse::entity& Ifc4x3_add2::IfcAlignmentSegment::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[37]); } Ifc4x3_add2::IfcAlignmentSegment::IfcAlignmentSegment(IfcEntityInstanceData&& e) : IfcLinearElement(std::move(e)) { } -Ifc4x3_add2::IfcAlignmentSegment::IfcAlignmentSegment(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcAlignmentParameterSegment* v8_DesignParameters) : IfcLinearElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_DesignParameters ? v8_DesignParameters->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcAlignmentSegment::IfcAlignmentSegment(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcAlignmentParameterSegment* v8_DesignParameters) : IfcLinearElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_DesignParameters ? v8_DesignParameters->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAlignmentVertical @@ -7930,32 +7930,32 @@ Ifc4x3_add2::IfcAlignmentSegment::IfcAlignmentSegment(std::string v1_GlobalId, : const IfcParse::entity& Ifc4x3_add2::IfcAlignmentVertical::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[39]); } const IfcParse::entity& Ifc4x3_add2::IfcAlignmentVertical::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[39]); } Ifc4x3_add2::IfcAlignmentVertical::IfcAlignmentVertical(IfcEntityInstanceData&& e) : IfcLinearElement(std::move(e)) { } -Ifc4x3_add2::IfcAlignmentVertical::IfcAlignmentVertical(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation) : IfcLinearElement(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcAlignmentVertical::IfcAlignmentVertical(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation) : IfcLinearElement(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAlignmentVerticalSegment -double Ifc4x3_add2::IfcAlignmentVerticalSegment::StartDistAlong() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_add2::IfcAlignmentVerticalSegment::StartDistAlong() const { double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcAlignmentVerticalSegment::setStartDistAlong(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_add2::IfcAlignmentVerticalSegment::HorizontalLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add2::IfcAlignmentVerticalSegment::HorizontalLength() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcAlignmentVerticalSegment::setHorizontalLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_add2::IfcAlignmentVerticalSegment::StartHeight() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add2::IfcAlignmentVerticalSegment::StartHeight() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcAlignmentVerticalSegment::setStartHeight(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_add2::IfcAlignmentVerticalSegment::StartGradient() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_add2::IfcAlignmentVerticalSegment::StartGradient() const { double v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcAlignmentVerticalSegment::setStartGradient(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_add2::IfcAlignmentVerticalSegment::EndGradient() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_add2::IfcAlignmentVerticalSegment::EndGradient() const { double v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcAlignmentVerticalSegment::setEndGradient(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_add2::IfcAlignmentVerticalSegment::RadiusOfCurvature() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add2::IfcAlignmentVerticalSegment::RadiusOfCurvature() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcAlignmentVerticalSegment::setRadiusOfCurvature(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_add2::IfcAlignmentVerticalSegmentTypeEnum::Value Ifc4x3_add2::IfcAlignmentVerticalSegment::PredefinedType() const { return ::Ifc4x3_add2::IfcAlignmentVerticalSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_add2::IfcAlignmentVerticalSegmentTypeEnum::Value Ifc4x3_add2::IfcAlignmentVerticalSegment::PredefinedType() const { return ::Ifc4x3_add2::IfcAlignmentVerticalSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcAlignmentVerticalSegment::setPredefinedType(::Ifc4x3_add2::IfcAlignmentVerticalSegmentTypeEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcAlignmentVerticalSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_add2::IfcAlignmentVerticalSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[40]); } const IfcParse::entity& Ifc4x3_add2::IfcAlignmentVerticalSegment::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[40]); } Ifc4x3_add2::IfcAlignmentVerticalSegment::IfcAlignmentVerticalSegment(IfcEntityInstanceData&& e) : IfcAlignmentParameterSegment(std::move(e)) { } -Ifc4x3_add2::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_add2::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(storage_t(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::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_add2::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } // Function implementations for IfcAnnotation -boost::optional< ::Ifc4x3_add2::IfcAnnotationTypeEnum::Value > Ifc4x3_add2::IfcAnnotation::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcAnnotationTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_add2::IfcAnnotationTypeEnum::Value > Ifc4x3_add2::IfcAnnotation::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcAnnotationTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add2::IfcAnnotation::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcAnnotationTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_add2::IfcAnnotationTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } ::Ifc4x3_add2::IfcRelContainedInSpatialStructure::list::ptr Ifc4x3_add2::IfcAnnotation::ContainedInStructure() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[926], 4)->as(); } @@ -7963,56 +7963,56 @@ void Ifc4x3_add2::IfcAnnotation::setPredefinedType(boost::optional< ::Ifc4x3_add const IfcParse::entity& Ifc4x3_add2::IfcAnnotation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[46]); } const IfcParse::entity& Ifc4x3_add2::IfcAnnotation::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[46]); } Ifc4x3_add2::IfcAnnotation::IfcAnnotation(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_add2::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_add2::IfcAnnotationTypeEnum::Value > v8_PredefinedType) : IfcProduct(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcAnnotationTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_add2::IfcAnnotationTypeEnum::Value > v8_PredefinedType) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcAnnotationTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAnnotationFillArea -::Ifc4x3_add2::IfcCurve* Ifc4x3_add2::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCurve>(true); } +::Ifc4x3_add2::IfcCurve* Ifc4x3_add2::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCurve>(true); } void Ifc4x3_add2::IfcAnnotationFillArea::setOuterBoundary(::Ifc4x3_add2::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcCurve >::ptr > Ifc4x3_add2::IfcAnnotationFillArea::InnerBoundaries() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcCurve >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcCurve >::ptr > Ifc4x3_add2::IfcAnnotationFillArea::InnerBoundaries() const { if(get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcCurve >(); } void Ifc4x3_add2::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcCurve >::ptr > v) { if (v) {set_attribute_value(1, (*v)->generalize());} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_add2::IfcAnnotationFillArea::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[47]); } const IfcParse::entity& Ifc4x3_add2::IfcAnnotationFillArea::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[47]); } Ifc4x3_add2::IfcAnnotationFillArea::IfcAnnotationFillArea(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcAnnotationFillArea::IfcAnnotationFillArea(::Ifc4x3_add2::IfcCurve* v1_OuterBoundary, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcCurve >::ptr > v2_InnerBoundaries) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_OuterBoundary ? v1_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_InnerBoundaries) {set_attribute_value(1, (*v2_InnerBoundaries)->generalize()); }; populate_derived(); } +Ifc4x3_add2::IfcAnnotationFillArea::IfcAnnotationFillArea(::Ifc4x3_add2::IfcCurve* v1_OuterBoundary, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcCurve >::ptr > v2_InnerBoundaries) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_OuterBoundary ? v1_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_InnerBoundaries) {set_attribute_value(1, (*v2_InnerBoundaries)->generalize()); }; populate_derived(); } // Function implementations for IfcApplication -::Ifc4x3_add2::IfcOrganization* Ifc4x3_add2::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcOrganization>(true); } +::Ifc4x3_add2::IfcOrganization* Ifc4x3_add2::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcOrganization>(true); } void Ifc4x3_add2::IfcApplication::setApplicationDeveloper(::Ifc4x3_add2::IfcOrganization* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x3_add2::IfcApplication::Version() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_add2::IfcApplication::Version() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcApplication::setVersion(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::string Ifc4x3_add2::IfcApplication::ApplicationFullName() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3_add2::IfcApplication::ApplicationFullName() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcApplication::setApplicationFullName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::string Ifc4x3_add2::IfcApplication::ApplicationIdentifier() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x3_add2::IfcApplication::ApplicationIdentifier() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcApplication::setApplicationIdentifier(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcApplication::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[49]); } const IfcParse::entity& Ifc4x3_add2::IfcApplication::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[49]); } Ifc4x3_add2::IfcApplication::IfcApplication(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcApplication::IfcApplication(::Ifc4x3_add2::IfcOrganization* v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ApplicationDeveloper ? v1_ApplicationDeveloper->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; populate_derived(); } +Ifc4x3_add2::IfcApplication::IfcApplication(::Ifc4x3_add2::IfcOrganization* v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ApplicationDeveloper ? v1_ApplicationDeveloper->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; populate_derived(); } // Function implementations for IfcAppliedValue -boost::optional< std::string > Ifc4x3_add2::IfcAppliedValue::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcAppliedValue::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcAppliedValue::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add2::IfcAppliedValue::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcAppliedValue::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcAppliedValue::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_add2::IfcAppliedValueSelect* Ifc4x3_add2::IfcAppliedValue::AppliedValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcAppliedValueSelect>(true); } +::Ifc4x3_add2::IfcAppliedValueSelect* Ifc4x3_add2::IfcAppliedValue::AppliedValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcAppliedValueSelect>(true); } void Ifc4x3_add2::IfcAppliedValue::setAppliedValue(::Ifc4x3_add2::IfcAppliedValueSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcMeasureWithUnit* Ifc4x3_add2::IfcAppliedValue::UnitBasis() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcMeasureWithUnit>(true); } +::Ifc4x3_add2::IfcMeasureWithUnit* Ifc4x3_add2::IfcAppliedValue::UnitBasis() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcMeasureWithUnit>(true); } void Ifc4x3_add2::IfcAppliedValue::setUnitBasis(::Ifc4x3_add2::IfcMeasureWithUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_add2::IfcAppliedValue::ApplicableDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcAppliedValue::ApplicableDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcAppliedValue::setApplicableDate(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add2::IfcAppliedValue::FixedUntilDate() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcAppliedValue::FixedUntilDate() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcAppliedValue::setFixedUntilDate(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_add2::IfcAppliedValue::Category() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcAppliedValue::Category() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcAppliedValue::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_add2::IfcAppliedValue::Condition() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcAppliedValue::Condition() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcAppliedValue::setCondition(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3_add2::IfcArithmeticOperatorEnum::Value > Ifc4x3_add2::IfcAppliedValue::ArithmeticOperator() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcArithmeticOperatorEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcArithmeticOperatorEnum::Value > Ifc4x3_add2::IfcAppliedValue::ArithmeticOperator() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcArithmeticOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcAppliedValue::setArithmeticOperator(boost::optional< ::Ifc4x3_add2::IfcArithmeticOperatorEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcArithmeticOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAppliedValue >::ptr > Ifc4x3_add2::IfcAppliedValue::Components() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3_add2::IfcAppliedValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAppliedValue >::ptr > Ifc4x3_add2::IfcAppliedValue::Components() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3_add2::IfcAppliedValue >(); } void Ifc4x3_add2::IfcAppliedValue::setComponents(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAppliedValue >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } ::Ifc4x3_add2::IfcExternalReferenceRelationship::list::ptr Ifc4x3_add2::IfcAppliedValue::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[427], 3)->as(); } @@ -8020,26 +8020,26 @@ void Ifc4x3_add2::IfcAppliedValue::setComponents(boost::optional< aggregate_of< const IfcParse::entity& Ifc4x3_add2::IfcAppliedValue::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[50]); } const IfcParse::entity& Ifc4x3_add2::IfcAppliedValue::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[50]); } Ifc4x3_add2::IfcAppliedValue::IfcAppliedValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3_add2::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_add2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAppliedValue >::ptr > v10_Components) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } +Ifc4x3_add2::IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3_add2::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_add2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAppliedValue >::ptr > v10_Components) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } // Function implementations for IfcApproval -boost::optional< std::string > Ifc4x3_add2::IfcApproval::Identifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcApproval::Identifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcApproval::setIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add2::IfcApproval::Name() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcApproval::Name() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcApproval::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_add2::IfcApproval::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcApproval::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcApproval::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_add2::IfcApproval::TimeOfApproval() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcApproval::TimeOfApproval() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcApproval::setTimeOfApproval(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_add2::IfcApproval::Status() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcApproval::Status() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcApproval::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add2::IfcApproval::Level() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcApproval::Level() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcApproval::setLevel(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_add2::IfcApproval::Qualifier() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcApproval::Qualifier() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcApproval::setQualifier(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_add2::IfcActorSelect* Ifc4x3_add2::IfcApproval::RequestingApproval() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_add2::IfcActorSelect>(true); } +::Ifc4x3_add2::IfcActorSelect* Ifc4x3_add2::IfcApproval::RequestingApproval() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_add2::IfcActorSelect>(true); } void Ifc4x3_add2::IfcApproval::setRequestingApproval(::Ifc4x3_add2::IfcActorSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_add2::IfcActorSelect* Ifc4x3_add2::IfcApproval::GivingApproval() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_add2::IfcActorSelect>(true); } +::Ifc4x3_add2::IfcActorSelect* Ifc4x3_add2::IfcApproval::GivingApproval() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_add2::IfcActorSelect>(true); } void Ifc4x3_add2::IfcApproval::setGivingApproval(::Ifc4x3_add2::IfcActorSelect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } ::Ifc4x3_add2::IfcExternalReferenceRelationship::list::ptr Ifc4x3_add2::IfcApproval::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[427], 3)->as(); } @@ -8051,329 +8051,329 @@ void Ifc4x3_add2::IfcApproval::setGivingApproval(::Ifc4x3_add2::IfcActorSelect* const IfcParse::entity& Ifc4x3_add2::IfcApproval::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[52]); } const IfcParse::entity& Ifc4x3_add2::IfcApproval::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[52]); } Ifc4x3_add2::IfcApproval::IfcApproval(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::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_add2::IfcActorSelect* v8_RequestingApproval, ::Ifc4x3_add2::IfcActorSelect* v9_GivingApproval) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(9))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, v8_RequestingApproval ? v8_RequestingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_GivingApproval ? v9_GivingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::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_add2::IfcActorSelect* v8_RequestingApproval, ::Ifc4x3_add2::IfcActorSelect* v9_GivingApproval) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, v8_RequestingApproval ? v8_RequestingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_GivingApproval ? v9_GivingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcApprovalRelationship -::Ifc4x3_add2::IfcApproval* Ifc4x3_add2::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcApproval>(true); } +::Ifc4x3_add2::IfcApproval* Ifc4x3_add2::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcApproval>(true); } void Ifc4x3_add2::IfcApprovalRelationship::setRelatingApproval(::Ifc4x3_add2::IfcApproval* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_add2::IfcApproval >::ptr Ifc4x3_add2::IfcApprovalRelationship::RelatedApprovals() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_add2::IfcApproval >(); } +aggregate_of< ::Ifc4x3_add2::IfcApproval >::ptr Ifc4x3_add2::IfcApprovalRelationship::RelatedApprovals() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_add2::IfcApproval >(); } void Ifc4x3_add2::IfcApprovalRelationship::setRelatedApprovals(aggregate_of< ::Ifc4x3_add2::IfcApproval >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcApprovalRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[53]); } const IfcParse::entity& Ifc4x3_add2::IfcApprovalRelationship::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[53]); } Ifc4x3_add2::IfcApprovalRelationship::IfcApprovalRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_add2::IfcApprovalRelationship::IfcApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcApproval* v3_RelatingApproval, aggregate_of< ::Ifc4x3_add2::IfcApproval >::ptr v4_RelatedApprovals) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingApproval ? v3_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedApprovals)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcApprovalRelationship::IfcApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcApproval* v3_RelatingApproval, aggregate_of< ::Ifc4x3_add2::IfcApproval >::ptr v4_RelatedApprovals) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingApproval ? v3_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedApprovals)->generalize());; populate_derived(); } // Function implementations for IfcArbitraryClosedProfileDef -::Ifc4x3_add2::IfcCurve* Ifc4x3_add2::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcCurve>(true); } +::Ifc4x3_add2::IfcCurve* Ifc4x3_add2::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcCurve>(true); } void Ifc4x3_add2::IfcArbitraryClosedProfileDef::setOuterCurve(::Ifc4x3_add2::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcArbitraryClosedProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[54]); } const IfcParse::entity& Ifc4x3_add2::IfcArbitraryClosedProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[54]); } Ifc4x3_add2::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_add2::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcCurve* v3_OuterCurve) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcCurve* v3_OuterCurve) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcArbitraryOpenProfileDef -::Ifc4x3_add2::IfcBoundedCurve* Ifc4x3_add2::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcBoundedCurve>(true); } +::Ifc4x3_add2::IfcBoundedCurve* Ifc4x3_add2::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcBoundedCurve>(true); } void Ifc4x3_add2::IfcArbitraryOpenProfileDef::setCurve(::Ifc4x3_add2::IfcBoundedCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcArbitraryOpenProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[55]); } const IfcParse::entity& Ifc4x3_add2::IfcArbitraryOpenProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[55]); } Ifc4x3_add2::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_add2::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcBoundedCurve* v3_Curve) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcBoundedCurve* v3_Curve) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcArbitraryProfileDefWithVoids -aggregate_of< ::Ifc4x3_add2::IfcCurve >::ptr Ifc4x3_add2::IfcArbitraryProfileDefWithVoids::InnerCurves() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_add2::IfcCurve >(); } +aggregate_of< ::Ifc4x3_add2::IfcCurve >::ptr Ifc4x3_add2::IfcArbitraryProfileDefWithVoids::InnerCurves() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_add2::IfcCurve >(); } void Ifc4x3_add2::IfcArbitraryProfileDefWithVoids::setInnerCurves(aggregate_of< ::Ifc4x3_add2::IfcCurve >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcArbitraryProfileDefWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[56]); } const IfcParse::entity& Ifc4x3_add2::IfcArbitraryProfileDefWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[56]); } Ifc4x3_add2::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(IfcEntityInstanceData&& e) : IfcArbitraryClosedProfileDef(std::move(e)) { } -Ifc4x3_add2::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcCurve* v3_OuterCurve, aggregate_of< ::Ifc4x3_add2::IfcCurve >::ptr v4_InnerCurves) : IfcArbitraryClosedProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_InnerCurves)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcCurve* v3_OuterCurve, aggregate_of< ::Ifc4x3_add2::IfcCurve >::ptr v4_InnerCurves) : IfcArbitraryClosedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_InnerCurves)->generalize());; populate_derived(); } // Function implementations for IfcAsset -boost::optional< std::string > Ifc4x3_add2::IfcAsset::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcAsset::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcAsset::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_add2::IfcCostValue* Ifc4x3_add2::IfcAsset::OriginalValue() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add2::IfcCostValue>(true); } +::Ifc4x3_add2::IfcCostValue* Ifc4x3_add2::IfcAsset::OriginalValue() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add2::IfcCostValue>(true); } void Ifc4x3_add2::IfcAsset::setOriginalValue(::Ifc4x3_add2::IfcCostValue* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_add2::IfcCostValue* Ifc4x3_add2::IfcAsset::CurrentValue() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_add2::IfcCostValue>(true); } +::Ifc4x3_add2::IfcCostValue* Ifc4x3_add2::IfcAsset::CurrentValue() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_add2::IfcCostValue>(true); } void Ifc4x3_add2::IfcAsset::setCurrentValue(::Ifc4x3_add2::IfcCostValue* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_add2::IfcCostValue* Ifc4x3_add2::IfcAsset::TotalReplacementCost() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_add2::IfcCostValue>(true); } +::Ifc4x3_add2::IfcCostValue* Ifc4x3_add2::IfcAsset::TotalReplacementCost() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_add2::IfcCostValue>(true); } void Ifc4x3_add2::IfcAsset::setTotalReplacementCost(::Ifc4x3_add2::IfcCostValue* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_add2::IfcActorSelect* Ifc4x3_add2::IfcAsset::Owner() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_add2::IfcActorSelect>(true); } +::Ifc4x3_add2::IfcActorSelect* Ifc4x3_add2::IfcAsset::Owner() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_add2::IfcActorSelect>(true); } void Ifc4x3_add2::IfcAsset::setOwner(::Ifc4x3_add2::IfcActorSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_add2::IfcActorSelect* Ifc4x3_add2::IfcAsset::User() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_add2::IfcActorSelect>(true); } +::Ifc4x3_add2::IfcActorSelect* Ifc4x3_add2::IfcAsset::User() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_add2::IfcActorSelect>(true); } void Ifc4x3_add2::IfcAsset::setUser(::Ifc4x3_add2::IfcActorSelect* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } -::Ifc4x3_add2::IfcPerson* Ifc4x3_add2::IfcAsset::ResponsiblePerson() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc4x3_add2::IfcPerson>(true); } +::Ifc4x3_add2::IfcPerson* Ifc4x3_add2::IfcAsset::ResponsiblePerson() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc4x3_add2::IfcPerson>(true); } void Ifc4x3_add2::IfcAsset::setResponsiblePerson(::Ifc4x3_add2::IfcPerson* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } -boost::optional< std::string > Ifc4x3_add2::IfcAsset::IncorporationDate() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcAsset::IncorporationDate() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_add2::IfcAsset::setIncorporationDate(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4x3_add2::IfcCostValue* Ifc4x3_add2::IfcAsset::DepreciatedValue() const { if(data_.get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(13)))->as<::Ifc4x3_add2::IfcCostValue>(true); } +::Ifc4x3_add2::IfcCostValue* Ifc4x3_add2::IfcAsset::DepreciatedValue() const { if(get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(13)))->as<::Ifc4x3_add2::IfcCostValue>(true); } void Ifc4x3_add2::IfcAsset::setDepreciatedValue(::Ifc4x3_add2::IfcCostValue* v) { set_attribute_value(13, v->as());if constexpr (false)unset_attribute_value(13); } const IfcParse::entity& Ifc4x3_add2::IfcAsset::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[62]); } const IfcParse::entity& Ifc4x3_add2::IfcAsset::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[62]); } Ifc4x3_add2::IfcAsset::IfcAsset(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x3_add2::IfcAsset::IfcAsset(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcCostValue* v7_OriginalValue, ::Ifc4x3_add2::IfcCostValue* v8_CurrentValue, ::Ifc4x3_add2::IfcCostValue* v9_TotalReplacementCost, ::Ifc4x3_add2::IfcActorSelect* v10_Owner, ::Ifc4x3_add2::IfcActorSelect* v11_User, ::Ifc4x3_add2::IfcPerson* v12_ResponsiblePerson, boost::optional< std::string > v13_IncorporationDate, ::Ifc4x3_add2::IfcCostValue* v14_DepreciatedValue) : IfcGroup(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, v7_OriginalValue ? v7_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_CurrentValue ? v8_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_TotalReplacementCost ? v9_TotalReplacementCost->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_Owner ? v10_Owner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_User ? v11_User->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, v12_ResponsiblePerson ? v12_ResponsiblePerson->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, v14_DepreciatedValue ? v14_DepreciatedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcAsset::IfcAsset(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcCostValue* v7_OriginalValue, ::Ifc4x3_add2::IfcCostValue* v8_CurrentValue, ::Ifc4x3_add2::IfcCostValue* v9_TotalReplacementCost, ::Ifc4x3_add2::IfcActorSelect* v10_Owner, ::Ifc4x3_add2::IfcActorSelect* v11_User, ::Ifc4x3_add2::IfcPerson* v12_ResponsiblePerson, boost::optional< std::string > v13_IncorporationDate, ::Ifc4x3_add2::IfcCostValue* v14_DepreciatedValue) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, v7_OriginalValue ? v7_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_CurrentValue ? v8_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_TotalReplacementCost ? v9_TotalReplacementCost->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_Owner ? v10_Owner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_User ? v11_User->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, v12_ResponsiblePerson ? v12_ResponsiblePerson->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, v14_DepreciatedValue ? v14_DepreciatedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAsymmetricIShapeProfileDef -double Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::setBottomFlangeWidth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::OverallDepth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::OverallDepth() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::setOverallDepth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::setBottomFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::setBottomFlangeFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -double Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { double v = data_.get_attribute_value(8); return v; } +double Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { double v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::setTopFlangeWidth(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -boost::optional< double > Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::setBottomFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::setBottomFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::setTopFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } const IfcParse::entity& Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[63]); } const IfcParse::entity& Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[63]); } Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::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(storage_t(15))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); }; populate_derived(); } +Ifc4x3_add2::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::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(in_memory_attribute_storage(15))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); }; populate_derived(); } // Function implementations for IfcAudioVisualAppliance -boost::optional< ::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x3_add2::IfcAudioVisualAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x3_add2::IfcAudioVisualAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcAudioVisualAppliance::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcAudioVisualAppliance::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[64]); } const IfcParse::entity& Ifc4x3_add2::IfcAudioVisualAppliance::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[64]); } Ifc4x3_add2::IfcAudioVisualAppliance::IfcAudioVisualAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_add2::IfcAudioVisualAppliance::IfcAudioVisualAppliance(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcAudioVisualAppliance::IfcAudioVisualAppliance(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAudioVisualApplianceType -::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3_add2::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3_add2::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcAudioVisualApplianceType::setPredefinedType(::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcAudioVisualApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[65]); } const IfcParse::entity& Ifc4x3_add2::IfcAudioVisualApplianceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[65]); } Ifc4x3_add2::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_add2::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAxis1Placement -::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcAxis1Placement::Axis() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcDirection>(true); } +::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcAxis1Placement::Axis() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcDirection>(true); } void Ifc4x3_add2::IfcAxis1Placement::setAxis(::Ifc4x3_add2::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcAxis1Placement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[67]); } const IfcParse::entity& Ifc4x3_add2::IfcAxis1Placement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[67]); } Ifc4x3_add2::IfcAxis1Placement::IfcAxis1Placement(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x3_add2::IfcAxis1Placement::IfcAxis1Placement(::Ifc4x3_add2::IfcPoint* v1_Location, ::Ifc4x3_add2::IfcDirection* v2_Axis) : IfcPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcAxis1Placement::IfcAxis1Placement(::Ifc4x3_add2::IfcPoint* v1_Location, ::Ifc4x3_add2::IfcDirection* v2_Axis) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAxis2Placement2D -::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcAxis2Placement2D::RefDirection() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcDirection>(true); } +::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcAxis2Placement2D::RefDirection() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcDirection>(true); } void Ifc4x3_add2::IfcAxis2Placement2D::setRefDirection(::Ifc4x3_add2::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcAxis2Placement2D::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[69]); } const IfcParse::entity& Ifc4x3_add2::IfcAxis2Placement2D::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[69]); } Ifc4x3_add2::IfcAxis2Placement2D::IfcAxis2Placement2D(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x3_add2::IfcAxis2Placement2D::IfcAxis2Placement2D(::Ifc4x3_add2::IfcPoint* v1_Location, ::Ifc4x3_add2::IfcDirection* v2_RefDirection) : IfcPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RefDirection ? v2_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcAxis2Placement2D::IfcAxis2Placement2D(::Ifc4x3_add2::IfcPoint* v1_Location, ::Ifc4x3_add2::IfcDirection* v2_RefDirection) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RefDirection ? v2_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAxis2Placement3D -::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcAxis2Placement3D::Axis() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcDirection>(true); } +::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcAxis2Placement3D::Axis() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcDirection>(true); } void Ifc4x3_add2::IfcAxis2Placement3D::setAxis(::Ifc4x3_add2::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcAxis2Placement3D::RefDirection() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcDirection>(true); } +::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcAxis2Placement3D::RefDirection() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcDirection>(true); } void Ifc4x3_add2::IfcAxis2Placement3D::setRefDirection(::Ifc4x3_add2::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcAxis2Placement3D::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[70]); } const IfcParse::entity& Ifc4x3_add2::IfcAxis2Placement3D::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[70]); } Ifc4x3_add2::IfcAxis2Placement3D::IfcAxis2Placement3D(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x3_add2::IfcAxis2Placement3D::IfcAxis2Placement3D(::Ifc4x3_add2::IfcPoint* v1_Location, ::Ifc4x3_add2::IfcDirection* v2_Axis, ::Ifc4x3_add2::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcAxis2Placement3D::IfcAxis2Placement3D(::Ifc4x3_add2::IfcPoint* v1_Location, ::Ifc4x3_add2::IfcDirection* v2_Axis, ::Ifc4x3_add2::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAxis2PlacementLinear -::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcAxis2PlacementLinear::Axis() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcDirection>(true); } +::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcAxis2PlacementLinear::Axis() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcDirection>(true); } void Ifc4x3_add2::IfcAxis2PlacementLinear::setAxis(::Ifc4x3_add2::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcAxis2PlacementLinear::RefDirection() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcDirection>(true); } +::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcAxis2PlacementLinear::RefDirection() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcDirection>(true); } void Ifc4x3_add2::IfcAxis2PlacementLinear::setRefDirection(::Ifc4x3_add2::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcAxis2PlacementLinear::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[71]); } const IfcParse::entity& Ifc4x3_add2::IfcAxis2PlacementLinear::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[71]); } Ifc4x3_add2::IfcAxis2PlacementLinear::IfcAxis2PlacementLinear(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x3_add2::IfcAxis2PlacementLinear::IfcAxis2PlacementLinear(::Ifc4x3_add2::IfcPoint* v1_Location, ::Ifc4x3_add2::IfcDirection* v2_Axis, ::Ifc4x3_add2::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcAxis2PlacementLinear::IfcAxis2PlacementLinear(::Ifc4x3_add2::IfcPoint* v1_Location, ::Ifc4x3_add2::IfcDirection* v2_Axis, ::Ifc4x3_add2::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBSplineCurve -int Ifc4x3_add2::IfcBSplineCurve::Degree() const { int v = data_.get_attribute_value(0); return v; } +int Ifc4x3_add2::IfcBSplineCurve::Degree() const { int v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcBSplineCurve::setDegree(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_add2::IfcCartesianPoint >::ptr Ifc4x3_add2::IfcBSplineCurve::ControlPointsList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcCartesianPoint >(); } +aggregate_of< ::Ifc4x3_add2::IfcCartesianPoint >::ptr Ifc4x3_add2::IfcBSplineCurve::ControlPointsList() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcCartesianPoint >(); } void Ifc4x3_add2::IfcBSplineCurve::setControlPointsList(aggregate_of< ::Ifc4x3_add2::IfcCartesianPoint >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcBSplineCurveForm::Value Ifc4x3_add2::IfcBSplineCurve::CurveForm() const { return ::Ifc4x3_add2::IfcBSplineCurveForm::FromString(data_.get_attribute_value(2)); } +::Ifc4x3_add2::IfcBSplineCurveForm::Value Ifc4x3_add2::IfcBSplineCurve::CurveForm() const { return ::Ifc4x3_add2::IfcBSplineCurveForm::FromString(get_attribute_value(2)); } void Ifc4x3_add2::IfcBSplineCurve::setCurveForm(::Ifc4x3_add2::IfcBSplineCurveForm::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3_add2::IfcBSplineCurveForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -boost::logic::tribool Ifc4x3_add2::IfcBSplineCurve::ClosedCurve() const { boost::logic::tribool v = data_.get_attribute_value(3); return v; } +boost::logic::tribool Ifc4x3_add2::IfcBSplineCurve::ClosedCurve() const { boost::logic::tribool v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcBSplineCurve::setClosedCurve(boost::logic::tribool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::logic::tribool Ifc4x3_add2::IfcBSplineCurve::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(4); return v; } +boost::logic::tribool Ifc4x3_add2::IfcBSplineCurve::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcBSplineCurve::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add2::IfcBSplineCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[107]); } const IfcParse::entity& Ifc4x3_add2::IfcBSplineCurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[107]); } Ifc4x3_add2::IfcBSplineCurve::IfcBSplineCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_add2::IfcBSplineCurve::IfcBSplineCurve(int v1_Degree, aggregate_of< ::Ifc4x3_add2::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_add2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; populate_derived(); } +Ifc4x3_add2::IfcBSplineCurve::IfcBSplineCurve(int v1_Degree, aggregate_of< ::Ifc4x3_add2::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_add2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; populate_derived(); } // Function implementations for IfcBSplineCurveWithKnots -std::vector< int > /*[2:?]*/ Ifc4x3_add2::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int > /*[2:?]*/ v = data_.get_attribute_value(5); return v; } +std::vector< int > /*[2:?]*/ Ifc4x3_add2::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcBSplineCurveWithKnots::setKnotMultiplicities(std::vector< int > /*[2:?]*/ v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -std::vector< double > /*[2:?]*/ Ifc4x3_add2::IfcBSplineCurveWithKnots::Knots() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(6); return v; } +std::vector< double > /*[2:?]*/ Ifc4x3_add2::IfcBSplineCurveWithKnots::Knots() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcBSplineCurveWithKnots::setKnots(std::vector< double > /*[2:?]*/ v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_add2::IfcKnotType::Value Ifc4x3_add2::IfcBSplineCurveWithKnots::KnotSpec() const { return ::Ifc4x3_add2::IfcKnotType::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_add2::IfcKnotType::Value Ifc4x3_add2::IfcBSplineCurveWithKnots::KnotSpec() const { return ::Ifc4x3_add2::IfcKnotType::FromString(get_attribute_value(7)); } void Ifc4x3_add2::IfcBSplineCurveWithKnots::setKnotSpec(::Ifc4x3_add2::IfcKnotType::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_add2::IfcKnotType::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_add2::IfcBSplineCurveWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[109]); } const IfcParse::entity& Ifc4x3_add2::IfcBSplineCurveWithKnots::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[109]); } Ifc4x3_add2::IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(IfcEntityInstanceData&& e) : IfcBSplineCurve(std::move(e)) { } -Ifc4x3_add2::IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x3_add2::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_add2::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_add2::IfcKnotType::Value v8_KnotSpec) : IfcBSplineCurve(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcKnotType::Class(),(size_t)v8_KnotSpec)));; populate_derived(); } +Ifc4x3_add2::IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x3_add2::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_add2::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_add2::IfcKnotType::Value v8_KnotSpec) : IfcBSplineCurve(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcKnotType::Class(),(size_t)v8_KnotSpec)));; populate_derived(); } // Function implementations for IfcBSplineSurface -int Ifc4x3_add2::IfcBSplineSurface::UDegree() const { int v = data_.get_attribute_value(0); return v; } +int Ifc4x3_add2::IfcBSplineSurface::UDegree() const { int v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcBSplineSurface::setUDegree(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -int Ifc4x3_add2::IfcBSplineSurface::VDegree() const { int v = data_.get_attribute_value(1); return v; } +int Ifc4x3_add2::IfcBSplineSurface::VDegree() const { int v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcBSplineSurface::setVDegree(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -aggregate_of_aggregate_of< ::Ifc4x3_add2::IfcCartesianPoint >::ptr Ifc4x3_add2::IfcBSplineSurface::ControlPointsList() const { aggregate_of_aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcCartesianPoint >(); } +aggregate_of_aggregate_of< ::Ifc4x3_add2::IfcCartesianPoint >::ptr Ifc4x3_add2::IfcBSplineSurface::ControlPointsList() const { aggregate_of_aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcCartesianPoint >(); } void Ifc4x3_add2::IfcBSplineSurface::setControlPointsList(aggregate_of_aggregate_of< ::Ifc4x3_add2::IfcCartesianPoint >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcBSplineSurfaceForm::Value Ifc4x3_add2::IfcBSplineSurface::SurfaceForm() const { return ::Ifc4x3_add2::IfcBSplineSurfaceForm::FromString(data_.get_attribute_value(3)); } +::Ifc4x3_add2::IfcBSplineSurfaceForm::Value Ifc4x3_add2::IfcBSplineSurface::SurfaceForm() const { return ::Ifc4x3_add2::IfcBSplineSurfaceForm::FromString(get_attribute_value(3)); } void Ifc4x3_add2::IfcBSplineSurface::setSurfaceForm(::Ifc4x3_add2::IfcBSplineSurfaceForm::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc4x3_add2::IfcBSplineSurfaceForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } -boost::logic::tribool Ifc4x3_add2::IfcBSplineSurface::UClosed() const { boost::logic::tribool v = data_.get_attribute_value(4); return v; } +boost::logic::tribool Ifc4x3_add2::IfcBSplineSurface::UClosed() const { boost::logic::tribool v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcBSplineSurface::setUClosed(boost::logic::tribool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::logic::tribool Ifc4x3_add2::IfcBSplineSurface::VClosed() const { boost::logic::tribool v = data_.get_attribute_value(5); return v; } +boost::logic::tribool Ifc4x3_add2::IfcBSplineSurface::VClosed() const { boost::logic::tribool v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcBSplineSurface::setVClosed(boost::logic::tribool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::logic::tribool Ifc4x3_add2::IfcBSplineSurface::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(6); return v; } +boost::logic::tribool Ifc4x3_add2::IfcBSplineSurface::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcBSplineSurface::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add2::IfcBSplineSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[110]); } const IfcParse::entity& Ifc4x3_add2::IfcBSplineSurface::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[110]); } Ifc4x3_add2::IfcBSplineSurface::IfcBSplineSurface(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x3_add2::IfcBSplineSurface::IfcBSplineSurface(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_add2::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_add2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_add2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));; populate_derived(); } +Ifc4x3_add2::IfcBSplineSurface::IfcBSplineSurface(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_add2::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_add2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_add2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));; populate_derived(); } // Function implementations for IfcBSplineSurfaceWithKnots -std::vector< int > /*[2:?]*/ Ifc4x3_add2::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int > /*[2:?]*/ v = data_.get_attribute_value(7); return v; } +std::vector< int > /*[2:?]*/ Ifc4x3_add2::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcBSplineSurfaceWithKnots::setUMultiplicities(std::vector< int > /*[2:?]*/ v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector< int > /*[2:?]*/ Ifc4x3_add2::IfcBSplineSurfaceWithKnots::VMultiplicities() const { std::vector< int > /*[2:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< int > /*[2:?]*/ Ifc4x3_add2::IfcBSplineSurfaceWithKnots::VMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcBSplineSurfaceWithKnots::setVMultiplicities(std::vector< int > /*[2:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::vector< double > /*[2:?]*/ Ifc4x3_add2::IfcBSplineSurfaceWithKnots::UKnots() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(9); return v; } +std::vector< double > /*[2:?]*/ Ifc4x3_add2::IfcBSplineSurfaceWithKnots::UKnots() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(9); return v; } void Ifc4x3_add2::IfcBSplineSurfaceWithKnots::setUKnots(std::vector< double > /*[2:?]*/ v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -std::vector< double > /*[2:?]*/ Ifc4x3_add2::IfcBSplineSurfaceWithKnots::VKnots() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(10); return v; } +std::vector< double > /*[2:?]*/ Ifc4x3_add2::IfcBSplineSurfaceWithKnots::VKnots() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(10); return v; } void Ifc4x3_add2::IfcBSplineSurfaceWithKnots::setVKnots(std::vector< double > /*[2:?]*/ v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -::Ifc4x3_add2::IfcKnotType::Value Ifc4x3_add2::IfcBSplineSurfaceWithKnots::KnotSpec() const { return ::Ifc4x3_add2::IfcKnotType::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_add2::IfcKnotType::Value Ifc4x3_add2::IfcBSplineSurfaceWithKnots::KnotSpec() const { return ::Ifc4x3_add2::IfcKnotType::FromString(get_attribute_value(11)); } void Ifc4x3_add2::IfcBSplineSurfaceWithKnots::setKnotSpec(::Ifc4x3_add2::IfcKnotType::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_add2::IfcKnotType::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_add2::IfcBSplineSurfaceWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[112]); } const IfcParse::entity& Ifc4x3_add2::IfcBSplineSurfaceWithKnots::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[112]); } Ifc4x3_add2::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(IfcEntityInstanceData&& e) : IfcBSplineSurface(std::move(e)) { } -Ifc4x3_add2::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_add2::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_add2::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_add2::IfcKnotType::Value v12_KnotSpec) : IfcBSplineSurface(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_add2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add2::IfcKnotType::Class(),(size_t)v12_KnotSpec)));; populate_derived(); } +Ifc4x3_add2::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_add2::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_add2::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_add2::IfcKnotType::Value v12_KnotSpec) : IfcBSplineSurface(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_add2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add2::IfcKnotType::Class(),(size_t)v12_KnotSpec)));; populate_derived(); } // Function implementations for IfcBeam -boost::optional< ::Ifc4x3_add2::IfcBeamTypeEnum::Value > Ifc4x3_add2::IfcBeam::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcBeamTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcBeamTypeEnum::Value > Ifc4x3_add2::IfcBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcBeamTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcBeam::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcBeamTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcBeamTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcBeam::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[72]); } const IfcParse::entity& Ifc4x3_add2::IfcBeam::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[72]); } Ifc4x3_add2::IfcBeam::IfcBeam(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add2::IfcBeam::IfcBeam(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcBeamTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcBeam::IfcBeam(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcBeamTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBeamType -::Ifc4x3_add2::IfcBeamTypeEnum::Value Ifc4x3_add2::IfcBeamType::PredefinedType() const { return ::Ifc4x3_add2::IfcBeamTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcBeamTypeEnum::Value Ifc4x3_add2::IfcBeamType::PredefinedType() const { return ::Ifc4x3_add2::IfcBeamTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcBeamType::setPredefinedType(::Ifc4x3_add2::IfcBeamTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcBeamTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcBeamType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[73]); } const IfcParse::entity& Ifc4x3_add2::IfcBeamType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[73]); } Ifc4x3_add2::IfcBeamType::IfcBeamType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add2::IfcBeamType::IfcBeamType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBeamTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcBeamType::IfcBeamType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBeamTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBearing -boost::optional< ::Ifc4x3_add2::IfcBearingTypeEnum::Value > Ifc4x3_add2::IfcBearing::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcBearingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcBearingTypeEnum::Value > Ifc4x3_add2::IfcBearing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcBearingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcBearing::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcBearingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcBearingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcBearing::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[75]); } const IfcParse::entity& Ifc4x3_add2::IfcBearing::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[75]); } Ifc4x3_add2::IfcBearing::IfcBearing(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add2::IfcBearing::IfcBearing(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcBearingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcBearing::IfcBearing(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcBearingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBearingType -::Ifc4x3_add2::IfcBearingTypeEnum::Value Ifc4x3_add2::IfcBearingType::PredefinedType() const { return ::Ifc4x3_add2::IfcBearingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcBearingTypeEnum::Value Ifc4x3_add2::IfcBearingType::PredefinedType() const { return ::Ifc4x3_add2::IfcBearingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcBearingType::setPredefinedType(::Ifc4x3_add2::IfcBearingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcBearingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcBearingType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[76]); } const IfcParse::entity& Ifc4x3_add2::IfcBearingType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[76]); } Ifc4x3_add2::IfcBearingType::IfcBearingType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add2::IfcBearingType::IfcBearingType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBearingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcBearingType::IfcBearingType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBearingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBlobTexture -std::string Ifc4x3_add2::IfcBlobTexture::RasterFormat() const { std::string v = data_.get_attribute_value(5); return v; } +std::string Ifc4x3_add2::IfcBlobTexture::RasterFormat() const { std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcBlobTexture::setRasterFormat(std::string v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::dynamic_bitset<> Ifc4x3_add2::IfcBlobTexture::RasterCode() const { boost::dynamic_bitset<> v = data_.get_attribute_value(6); return v; } +boost::dynamic_bitset<> Ifc4x3_add2::IfcBlobTexture::RasterCode() const { boost::dynamic_bitset<> v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcBlobTexture::setRasterCode(boost::dynamic_bitset<> v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add2::IfcBlobTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[81]); } const IfcParse::entity& Ifc4x3_add2::IfcBlobTexture::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[81]); } Ifc4x3_add2::IfcBlobTexture::IfcBlobTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -Ifc4x3_add2::IfcBlobTexture::IfcBlobTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_add2::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) : IfcSurfaceTexture(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode));; populate_derived(); } +Ifc4x3_add2::IfcBlobTexture::IfcBlobTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_add2::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) : IfcSurfaceTexture(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode));; populate_derived(); } // Function implementations for IfcBlock -double Ifc4x3_add2::IfcBlock::XLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add2::IfcBlock::XLength() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcBlock::setXLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_add2::IfcBlock::YLength() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_add2::IfcBlock::YLength() const { double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcBlock::setYLength(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_add2::IfcBlock::ZLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add2::IfcBlock::ZLength() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcBlock::setZLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcBlock::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[82]); } const IfcParse::entity& Ifc4x3_add2::IfcBlock::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[82]); } Ifc4x3_add2::IfcBlock::IfcBlock(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3_add2::IfcBlock::IfcBlock(::Ifc4x3_add2::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; populate_derived(); } +Ifc4x3_add2::IfcBlock::IfcBlock(::Ifc4x3_add2::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; populate_derived(); } // Function implementations for IfcBoiler -boost::optional< ::Ifc4x3_add2::IfcBoilerTypeEnum::Value > Ifc4x3_add2::IfcBoiler::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcBoilerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcBoilerTypeEnum::Value > Ifc4x3_add2::IfcBoiler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcBoilerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcBoiler::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcBoilerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcBoilerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcBoiler::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[83]); } const IfcParse::entity& Ifc4x3_add2::IfcBoiler::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[83]); } Ifc4x3_add2::IfcBoiler::IfcBoiler(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add2::IfcBoiler::IfcBoiler(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcBoilerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcBoiler::IfcBoiler(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcBoilerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBoilerType -::Ifc4x3_add2::IfcBoilerTypeEnum::Value Ifc4x3_add2::IfcBoilerType::PredefinedType() const { return ::Ifc4x3_add2::IfcBoilerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcBoilerTypeEnum::Value Ifc4x3_add2::IfcBoilerType::PredefinedType() const { return ::Ifc4x3_add2::IfcBoilerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcBoilerType::setPredefinedType(::Ifc4x3_add2::IfcBoilerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcBoilerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcBoilerType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[84]); } const IfcParse::entity& Ifc4x3_add2::IfcBoilerType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[84]); } Ifc4x3_add2::IfcBoilerType::IfcBoilerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add2::IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBoilerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBoilerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBooleanClippingResult @@ -8381,21 +8381,21 @@ Ifc4x3_add2::IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, ::Ifc4x3_add2 const IfcParse::entity& Ifc4x3_add2::IfcBooleanClippingResult::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[87]); } const IfcParse::entity& Ifc4x3_add2::IfcBooleanClippingResult::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[87]); } Ifc4x3_add2::IfcBooleanClippingResult::IfcBooleanClippingResult(IfcEntityInstanceData&& e) : IfcBooleanResult(std::move(e)) { } -Ifc4x3_add2::IfcBooleanClippingResult::IfcBooleanClippingResult(::Ifc4x3_add2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_add2::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x3_add2::IfcBooleanOperand* v3_SecondOperand) : IfcBooleanResult(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcBooleanClippingResult::IfcBooleanClippingResult(::Ifc4x3_add2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_add2::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x3_add2::IfcBooleanOperand* v3_SecondOperand) : IfcBooleanResult(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBooleanResult -::Ifc4x3_add2::IfcBooleanOperator::Value Ifc4x3_add2::IfcBooleanResult::Operator() const { return ::Ifc4x3_add2::IfcBooleanOperator::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_add2::IfcBooleanOperator::Value Ifc4x3_add2::IfcBooleanResult::Operator() const { return ::Ifc4x3_add2::IfcBooleanOperator::FromString(get_attribute_value(0)); } void Ifc4x3_add2::IfcBooleanResult::setOperator(::Ifc4x3_add2::IfcBooleanOperator::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_add2::IfcBooleanOperator::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcBooleanOperand* Ifc4x3_add2::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcBooleanOperand>(true); } +::Ifc4x3_add2::IfcBooleanOperand* Ifc4x3_add2::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcBooleanOperand>(true); } void Ifc4x3_add2::IfcBooleanResult::setFirstOperand(::Ifc4x3_add2::IfcBooleanOperand* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcBooleanOperand* Ifc4x3_add2::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcBooleanOperand>(true); } +::Ifc4x3_add2::IfcBooleanOperand* Ifc4x3_add2::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcBooleanOperand>(true); } void Ifc4x3_add2::IfcBooleanResult::setSecondOperand(::Ifc4x3_add2::IfcBooleanOperand* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcBooleanResult::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[90]); } const IfcParse::entity& Ifc4x3_add2::IfcBooleanResult::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[90]); } Ifc4x3_add2::IfcBooleanResult::IfcBooleanResult(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcBooleanResult::IfcBooleanResult(::Ifc4x3_add2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_add2::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x3_add2::IfcBooleanOperand* v3_SecondOperand) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcBooleanResult::IfcBooleanResult(::Ifc4x3_add2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_add2::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x3_add2::IfcBooleanOperand* v3_SecondOperand) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBorehole @@ -8403,17 +8403,17 @@ Ifc4x3_add2::IfcBooleanResult::IfcBooleanResult(::Ifc4x3_add2::IfcBooleanOperato const IfcParse::entity& Ifc4x3_add2::IfcBorehole::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[91]); } const IfcParse::entity& Ifc4x3_add2::IfcBorehole::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[91]); } Ifc4x3_add2::IfcBorehole::IfcBorehole(IfcEntityInstanceData&& e) : IfcGeotechnicalAssembly(std::move(e)) { } -Ifc4x3_add2::IfcBorehole::IfcBorehole(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add2::IfcBorehole::IfcBorehole(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcBoundaryCondition -boost::optional< std::string > Ifc4x3_add2::IfcBoundaryCondition::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcBoundaryCondition::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcBoundaryCondition::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3_add2::IfcBoundaryCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[92]); } const IfcParse::entity& Ifc4x3_add2::IfcBoundaryCondition::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[92]); } Ifc4x3_add2::IfcBoundaryCondition::IfcBoundaryCondition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_add2::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcBoundaryCurve @@ -8421,71 +8421,71 @@ Ifc4x3_add2::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::st const IfcParse::entity& Ifc4x3_add2::IfcBoundaryCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[93]); } const IfcParse::entity& Ifc4x3_add2::IfcBoundaryCurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[93]); } Ifc4x3_add2::IfcBoundaryCurve::IfcBoundaryCurve(IfcEntityInstanceData&& e) : IfcCompositeCurveOnSurface(std::move(e)) { } -Ifc4x3_add2::IfcBoundaryCurve::IfcBoundaryCurve(aggregate_of< ::Ifc4x3_add2::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurveOnSurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x3_add2::IfcBoundaryCurve::IfcBoundaryCurve(aggregate_of< ::Ifc4x3_add2::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurveOnSurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcBoundaryEdgeCondition -::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_add2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } +::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_add2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3_add2::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthX(::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_add2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } +::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_add2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3_add2::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthY(::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_add2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } +::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_add2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3_add2::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthZ(::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_add2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect>(true); } +::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_add2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3_add2::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_add2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect>(true); } +::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_add2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3_add2::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_add2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect>(true); } +::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_add2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3_add2::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add2::IfcBoundaryEdgeCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[94]); } const IfcParse::entity& Ifc4x3_add2::IfcBoundaryEdgeCondition::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[94]); } Ifc4x3_add2::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -Ifc4x3_add2::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect* v2_TranslationalStiffnessByLengthX, ::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect* v3_TranslationalStiffnessByLengthY, ::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect* v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect* v5_RotationalStiffnessByLengthX, ::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect* v6_RotationalStiffnessByLengthY, ::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect* v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByLengthX ? v2_TranslationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByLengthY ? v3_TranslationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByLengthZ ? v4_TranslationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessByLengthX ? v5_RotationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessByLengthY ? v6_RotationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessByLengthZ ? v7_RotationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect* v2_TranslationalStiffnessByLengthX, ::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect* v3_TranslationalStiffnessByLengthY, ::Ifc4x3_add2::IfcModulusOfTranslationalSubgradeReactionSelect* v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect* v5_RotationalStiffnessByLengthX, ::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect* v6_RotationalStiffnessByLengthY, ::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionSelect* v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByLengthX ? v2_TranslationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByLengthY ? v3_TranslationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByLengthZ ? v4_TranslationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessByLengthX ? v5_RotationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessByLengthY ? v6_RotationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessByLengthZ ? v7_RotationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryFaceCondition -::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect* Ifc4x3_add2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect>(true); } +::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect* Ifc4x3_add2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3_add2::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaX(::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect* Ifc4x3_add2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect>(true); } +::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect* Ifc4x3_add2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3_add2::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaY(::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect* Ifc4x3_add2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect>(true); } +::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect* Ifc4x3_add2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3_add2::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcBoundaryFaceCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[95]); } const IfcParse::entity& Ifc4x3_add2::IfcBoundaryFaceCondition::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[95]); } Ifc4x3_add2::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -Ifc4x3_add2::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect* v2_TranslationalStiffnessByAreaX, ::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect* v3_TranslationalStiffnessByAreaY, ::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect* v4_TranslationalStiffnessByAreaZ) : IfcBoundaryCondition(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByAreaX ? v2_TranslationalStiffnessByAreaX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByAreaY ? v3_TranslationalStiffnessByAreaY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByAreaZ ? v4_TranslationalStiffnessByAreaZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect* v2_TranslationalStiffnessByAreaX, ::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect* v3_TranslationalStiffnessByAreaY, ::Ifc4x3_add2::IfcModulusOfSubgradeReactionSelect* v4_TranslationalStiffnessByAreaZ) : IfcBoundaryCondition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByAreaX ? v2_TranslationalStiffnessByAreaX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByAreaY ? v3_TranslationalStiffnessByAreaY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByAreaZ ? v4_TranslationalStiffnessByAreaZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryNodeCondition -::Ifc4x3_add2::IfcTranslationalStiffnessSelect* Ifc4x3_add2::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcTranslationalStiffnessSelect>(true); } +::Ifc4x3_add2::IfcTranslationalStiffnessSelect* Ifc4x3_add2::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3_add2::IfcBoundaryNodeCondition::setTranslationalStiffnessX(::Ifc4x3_add2::IfcTranslationalStiffnessSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcTranslationalStiffnessSelect* Ifc4x3_add2::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcTranslationalStiffnessSelect>(true); } +::Ifc4x3_add2::IfcTranslationalStiffnessSelect* Ifc4x3_add2::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3_add2::IfcBoundaryNodeCondition::setTranslationalStiffnessY(::Ifc4x3_add2::IfcTranslationalStiffnessSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcTranslationalStiffnessSelect* Ifc4x3_add2::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcTranslationalStiffnessSelect>(true); } +::Ifc4x3_add2::IfcTranslationalStiffnessSelect* Ifc4x3_add2::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3_add2::IfcBoundaryNodeCondition::setTranslationalStiffnessZ(::Ifc4x3_add2::IfcTranslationalStiffnessSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add2::IfcRotationalStiffnessSelect* Ifc4x3_add2::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcRotationalStiffnessSelect>(true); } +::Ifc4x3_add2::IfcRotationalStiffnessSelect* Ifc4x3_add2::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcRotationalStiffnessSelect>(true); } void Ifc4x3_add2::IfcBoundaryNodeCondition::setRotationalStiffnessX(::Ifc4x3_add2::IfcRotationalStiffnessSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcRotationalStiffnessSelect* Ifc4x3_add2::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcRotationalStiffnessSelect>(true); } +::Ifc4x3_add2::IfcRotationalStiffnessSelect* Ifc4x3_add2::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcRotationalStiffnessSelect>(true); } void Ifc4x3_add2::IfcBoundaryNodeCondition::setRotationalStiffnessY(::Ifc4x3_add2::IfcRotationalStiffnessSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add2::IfcRotationalStiffnessSelect* Ifc4x3_add2::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add2::IfcRotationalStiffnessSelect>(true); } +::Ifc4x3_add2::IfcRotationalStiffnessSelect* Ifc4x3_add2::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add2::IfcRotationalStiffnessSelect>(true); } void Ifc4x3_add2::IfcBoundaryNodeCondition::setRotationalStiffnessZ(::Ifc4x3_add2::IfcRotationalStiffnessSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add2::IfcBoundaryNodeCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[96]); } const IfcParse::entity& Ifc4x3_add2::IfcBoundaryNodeCondition::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[96]); } Ifc4x3_add2::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -Ifc4x3_add2::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x3_add2::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x3_add2::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x3_add2::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ) : IfcBoundaryCondition(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x3_add2::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x3_add2::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x3_add2::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ) : IfcBoundaryCondition(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryNodeConditionWarping -::Ifc4x3_add2::IfcWarpingStiffnessSelect* Ifc4x3_add2::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_add2::IfcWarpingStiffnessSelect>(true); } +::Ifc4x3_add2::IfcWarpingStiffnessSelect* Ifc4x3_add2::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_add2::IfcWarpingStiffnessSelect>(true); } void Ifc4x3_add2::IfcBoundaryNodeConditionWarping::setWarpingStiffness(::Ifc4x3_add2::IfcWarpingStiffnessSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_add2::IfcBoundaryNodeConditionWarping::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[97]); } const IfcParse::entity& Ifc4x3_add2::IfcBoundaryNodeConditionWarping::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[97]); } Ifc4x3_add2::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(IfcEntityInstanceData&& e) : IfcBoundaryNodeCondition(std::move(e)) { } -Ifc4x3_add2::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x3_add2::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x3_add2::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x3_add2::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ, ::Ifc4x3_add2::IfcWarpingStiffnessSelect* v8_WarpingStiffness) : IfcBoundaryNodeCondition(IfcEntityInstanceData(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_WarpingStiffness ? v8_WarpingStiffness->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x3_add2::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x3_add2::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x3_add2::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x3_add2::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ, ::Ifc4x3_add2::IfcWarpingStiffnessSelect* v8_WarpingStiffness) : IfcBoundaryNodeCondition(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_WarpingStiffness ? v8_WarpingStiffness->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundedCurve @@ -8493,7 +8493,7 @@ Ifc4x3_add2::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(bo const IfcParse::entity& Ifc4x3_add2::IfcBoundedCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[98]); } const IfcParse::entity& Ifc4x3_add2::IfcBoundedCurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[98]); } Ifc4x3_add2::IfcBoundedCurve::IfcBoundedCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_add2::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add2::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcBoundedSurface @@ -8501,129 +8501,129 @@ Ifc4x3_add2::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData const IfcParse::entity& Ifc4x3_add2::IfcBoundedSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[99]); } const IfcParse::entity& Ifc4x3_add2::IfcBoundedSurface::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[99]); } Ifc4x3_add2::IfcBoundedSurface::IfcBoundedSurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x3_add2::IfcBoundedSurface::IfcBoundedSurface() : IfcSurface(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add2::IfcBoundedSurface::IfcBoundedSurface() : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcBoundingBox -::Ifc4x3_add2::IfcCartesianPoint* Ifc4x3_add2::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCartesianPoint>(true); } +::Ifc4x3_add2::IfcCartesianPoint* Ifc4x3_add2::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCartesianPoint>(true); } void Ifc4x3_add2::IfcBoundingBox::setCorner(::Ifc4x3_add2::IfcCartesianPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_add2::IfcBoundingBox::XDim() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add2::IfcBoundingBox::XDim() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcBoundingBox::setXDim(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_add2::IfcBoundingBox::YDim() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_add2::IfcBoundingBox::YDim() const { double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcBoundingBox::setYDim(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_add2::IfcBoundingBox::ZDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add2::IfcBoundingBox::ZDim() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcBoundingBox::setZDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcBoundingBox::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[100]); } const IfcParse::entity& Ifc4x3_add2::IfcBoundingBox::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[100]); } Ifc4x3_add2::IfcBoundingBox::IfcBoundingBox(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcBoundingBox::IfcBoundingBox(::Ifc4x3_add2::IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Corner ? v1_Corner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; populate_derived(); } +Ifc4x3_add2::IfcBoundingBox::IfcBoundingBox(::Ifc4x3_add2::IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Corner ? v1_Corner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; populate_derived(); } // Function implementations for IfcBoxedHalfSpace -::Ifc4x3_add2::IfcBoundingBox* Ifc4x3_add2::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcBoundingBox>(true); } +::Ifc4x3_add2::IfcBoundingBox* Ifc4x3_add2::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcBoundingBox>(true); } void Ifc4x3_add2::IfcBoxedHalfSpace::setEnclosure(::Ifc4x3_add2::IfcBoundingBox* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcBoxedHalfSpace::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[102]); } const IfcParse::entity& Ifc4x3_add2::IfcBoxedHalfSpace::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[102]); } Ifc4x3_add2::IfcBoxedHalfSpace::IfcBoxedHalfSpace(IfcEntityInstanceData&& e) : IfcHalfSpaceSolid(std::move(e)) { } -Ifc4x3_add2::IfcBoxedHalfSpace::IfcBoxedHalfSpace(::Ifc4x3_add2::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_add2::IfcBoundingBox* v3_Enclosure) : IfcHalfSpaceSolid(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Enclosure ? v3_Enclosure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcBoxedHalfSpace::IfcBoxedHalfSpace(::Ifc4x3_add2::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_add2::IfcBoundingBox* v3_Enclosure) : IfcHalfSpaceSolid(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Enclosure ? v3_Enclosure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBridge -boost::optional< ::Ifc4x3_add2::IfcBridgeTypeEnum::Value > Ifc4x3_add2::IfcBridge::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcBridgeTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_add2::IfcBridgeTypeEnum::Value > Ifc4x3_add2::IfcBridge::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcBridgeTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcBridge::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcBridgeTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcBridgeTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_add2::IfcBridge::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[103]); } const IfcParse::entity& Ifc4x3_add2::IfcBridge::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[103]); } Ifc4x3_add2::IfcBridge::IfcBridge(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x3_add2::IfcBridge::IfcBridge(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_add2::IfcBridgeTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcBridge::IfcBridge(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_add2::IfcBridgeTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBridgePart -boost::optional< ::Ifc4x3_add2::IfcBridgePartTypeEnum::Value > Ifc4x3_add2::IfcBridgePart::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcBridgePartTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add2::IfcBridgePartTypeEnum::Value > Ifc4x3_add2::IfcBridgePart::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcBridgePartTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add2::IfcBridgePart::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcBridgePartTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add2::IfcBridgePartTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add2::IfcBridgePart::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[104]); } const IfcParse::entity& Ifc4x3_add2::IfcBridgePart::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[104]); } Ifc4x3_add2::IfcBridgePart::IfcBridgePart(IfcEntityInstanceData&& e) : IfcFacilityPart(std::move(e)) { } -Ifc4x3_add2::IfcBridgePart::IfcBridgePart(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3_add2::IfcBridgePartTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcBridgePartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcBridgePart::IfcBridgePart(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3_add2::IfcBridgePartTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcBridgePartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBuilding -boost::optional< double > Ifc4x3_add2::IfcBuilding::ElevationOfRefHeight() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_add2::IfcBuilding::ElevationOfRefHeight() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_add2::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_add2::IfcBuilding::ElevationOfTerrain() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_add2::IfcBuilding::ElevationOfTerrain() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_add2::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4x3_add2::IfcPostalAddress* Ifc4x3_add2::IfcBuilding::BuildingAddress() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc4x3_add2::IfcPostalAddress>(true); } +::Ifc4x3_add2::IfcPostalAddress* Ifc4x3_add2::IfcBuilding::BuildingAddress() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc4x3_add2::IfcPostalAddress>(true); } void Ifc4x3_add2::IfcBuilding::setBuildingAddress(::Ifc4x3_add2::IfcPostalAddress* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_add2::IfcBuilding::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[113]); } const IfcParse::entity& Ifc4x3_add2::IfcBuilding::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[113]); } Ifc4x3_add2::IfcBuilding::IfcBuilding(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x3_add2::IfcBuilding::IfcBuilding(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_add2::IfcPostalAddress* v12_BuildingAddress) : IfcFacility(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, v12_BuildingAddress ? v12_BuildingAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcBuilding::IfcBuilding(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_add2::IfcPostalAddress* v12_BuildingAddress) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, v12_BuildingAddress ? v12_BuildingAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBuildingElementPart -boost::optional< ::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Value > Ifc4x3_add2::IfcBuildingElementPart::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Value > Ifc4x3_add2::IfcBuildingElementPart::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcBuildingElementPart::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcBuildingElementPart::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[114]); } const IfcParse::entity& Ifc4x3_add2::IfcBuildingElementPart::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[114]); } Ifc4x3_add2::IfcBuildingElementPart::IfcBuildingElementPart(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_add2::IfcBuildingElementPart::IfcBuildingElementPart(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcBuildingElementPart::IfcBuildingElementPart(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBuildingElementPartType -::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Value Ifc4x3_add2::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Value Ifc4x3_add2::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcBuildingElementPartType::setPredefinedType(::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcBuildingElementPartType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[115]); } const IfcParse::entity& Ifc4x3_add2::IfcBuildingElementPartType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[115]); } Ifc4x3_add2::IfcBuildingElementPartType::IfcBuildingElementPartType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_add2::IfcBuildingElementPartType::IfcBuildingElementPartType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcBuildingElementPartType::IfcBuildingElementPartType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBuildingElementProxy -boost::optional< ::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Value > Ifc4x3_add2::IfcBuildingElementProxy::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Value > Ifc4x3_add2::IfcBuildingElementProxy::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcBuildingElementProxy::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcBuildingElementProxy::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[117]); } const IfcParse::entity& Ifc4x3_add2::IfcBuildingElementProxy::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[117]); } Ifc4x3_add2::IfcBuildingElementProxy::IfcBuildingElementProxy(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add2::IfcBuildingElementProxy::IfcBuildingElementProxy(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcBuildingElementProxy::IfcBuildingElementProxy(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBuildingElementProxyType -::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Value Ifc4x3_add2::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Value Ifc4x3_add2::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcBuildingElementProxyType::setPredefinedType(::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcBuildingElementProxyType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[118]); } const IfcParse::entity& Ifc4x3_add2::IfcBuildingElementProxyType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[118]); } Ifc4x3_add2::IfcBuildingElementProxyType::IfcBuildingElementProxyType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add2::IfcBuildingElementProxyType::IfcBuildingElementProxyType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcBuildingElementProxyType::IfcBuildingElementProxyType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBuildingStorey -boost::optional< double > Ifc4x3_add2::IfcBuildingStorey::Elevation() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_add2::IfcBuildingStorey::Elevation() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_add2::IfcBuildingStorey::setElevation(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_add2::IfcBuildingStorey::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[120]); } const IfcParse::entity& Ifc4x3_add2::IfcBuildingStorey::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[120]); } Ifc4x3_add2::IfcBuildingStorey::IfcBuildingStorey(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x3_add2::IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_Elevation) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; populate_derived(); } +Ifc4x3_add2::IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_Elevation) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; populate_derived(); } // Function implementations for IfcBuildingSystem -boost::optional< ::Ifc4x3_add2::IfcBuildingSystemTypeEnum::Value > Ifc4x3_add2::IfcBuildingSystem::PredefinedType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcBuildingSystemTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3_add2::IfcBuildingSystemTypeEnum::Value > Ifc4x3_add2::IfcBuildingSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcBuildingSystemTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_add2::IfcBuildingSystem::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcBuildingSystemTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3_add2::IfcBuildingSystemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_add2::IfcBuildingSystem::LongName() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcBuildingSystem::LongName() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcBuildingSystem::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_add2::IfcBuildingSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[121]); } const IfcParse::entity& Ifc4x3_add2::IfcBuildingSystem::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[121]); } Ifc4x3_add2::IfcBuildingSystem::IfcBuildingSystem(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3_add2::IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_add2::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add2::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } +Ifc4x3_add2::IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_add2::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add2::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } // Function implementations for IfcBuiltElement @@ -8631,7 +8631,7 @@ Ifc4x3_add2::IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, ::Ifc const IfcParse::entity& Ifc4x3_add2::IfcBuiltElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[123]); } const IfcParse::entity& Ifc4x3_add2::IfcBuiltElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[123]); } Ifc4x3_add2::IfcBuiltElement::IfcBuiltElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_add2::IfcBuiltElement::IfcBuiltElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add2::IfcBuiltElement::IfcBuiltElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcBuiltElementType @@ -8639,167 +8639,167 @@ Ifc4x3_add2::IfcBuiltElement::IfcBuiltElement(std::string v1_GlobalId, ::Ifc4x3_ const IfcParse::entity& Ifc4x3_add2::IfcBuiltElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[124]); } const IfcParse::entity& Ifc4x3_add2::IfcBuiltElementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[124]); } Ifc4x3_add2::IfcBuiltElementType::IfcBuiltElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_add2::IfcBuiltElementType::IfcBuiltElementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add2::IfcBuiltElementType::IfcBuiltElementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcBuiltSystem -boost::optional< ::Ifc4x3_add2::IfcBuiltSystemTypeEnum::Value > Ifc4x3_add2::IfcBuiltSystem::PredefinedType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcBuiltSystemTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3_add2::IfcBuiltSystemTypeEnum::Value > Ifc4x3_add2::IfcBuiltSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcBuiltSystemTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_add2::IfcBuiltSystem::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcBuiltSystemTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3_add2::IfcBuiltSystemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_add2::IfcBuiltSystem::LongName() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcBuiltSystem::LongName() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcBuiltSystem::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_add2::IfcBuiltSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[125]); } const IfcParse::entity& Ifc4x3_add2::IfcBuiltSystem::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[125]); } Ifc4x3_add2::IfcBuiltSystem::IfcBuiltSystem(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3_add2::IfcBuiltSystem::IfcBuiltSystem(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_add2::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add2::IfcBuiltSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } +Ifc4x3_add2::IfcBuiltSystem::IfcBuiltSystem(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_add2::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add2::IfcBuiltSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } // Function implementations for IfcBurner -boost::optional< ::Ifc4x3_add2::IfcBurnerTypeEnum::Value > Ifc4x3_add2::IfcBurner::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcBurnerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcBurnerTypeEnum::Value > Ifc4x3_add2::IfcBurner::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcBurnerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcBurner::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcBurnerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcBurnerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcBurner::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[127]); } const IfcParse::entity& Ifc4x3_add2::IfcBurner::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[127]); } Ifc4x3_add2::IfcBurner::IfcBurner(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add2::IfcBurner::IfcBurner(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcBurnerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcBurner::IfcBurner(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcBurnerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBurnerType -::Ifc4x3_add2::IfcBurnerTypeEnum::Value Ifc4x3_add2::IfcBurnerType::PredefinedType() const { return ::Ifc4x3_add2::IfcBurnerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcBurnerTypeEnum::Value Ifc4x3_add2::IfcBurnerType::PredefinedType() const { return ::Ifc4x3_add2::IfcBurnerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcBurnerType::setPredefinedType(::Ifc4x3_add2::IfcBurnerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcBurnerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcBurnerType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[128]); } const IfcParse::entity& Ifc4x3_add2::IfcBurnerType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[128]); } Ifc4x3_add2::IfcBurnerType::IfcBurnerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add2::IfcBurnerType::IfcBurnerType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBurnerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcBurnerType::IfcBurnerType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcBurnerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCShapeProfileDef -double Ifc4x3_add2::IfcCShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add2::IfcCShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcCShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_add2::IfcCShapeProfileDef::Width() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add2::IfcCShapeProfileDef::Width() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcCShapeProfileDef::setWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_add2::IfcCShapeProfileDef::WallThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_add2::IfcCShapeProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcCShapeProfileDef::setWallThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_add2::IfcCShapeProfileDef::Girth() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_add2::IfcCShapeProfileDef::Girth() const { double v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcCShapeProfileDef::setGirth(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_add2::IfcCShapeProfileDef::InternalFilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add2::IfcCShapeProfileDef::InternalFilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcCShapeProfileDef::setInternalFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_add2::IfcCShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[265]); } const IfcParse::entity& Ifc4x3_add2::IfcCShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[265]); } Ifc4x3_add2::IfcCShapeProfileDef::IfcCShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_add2::IfcCShapeProfileDef::IfcCShapeProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, boost::optional< double > v8_InternalFilletRadius) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); }; populate_derived(); } +Ifc4x3_add2::IfcCShapeProfileDef::IfcCShapeProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, boost::optional< double > v8_InternalFilletRadius) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); }; populate_derived(); } // Function implementations for IfcCableCarrierFitting -boost::optional< ::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Value > Ifc4x3_add2::IfcCableCarrierFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Value > Ifc4x3_add2::IfcCableCarrierFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcCableCarrierFitting::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcCableCarrierFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[130]); } const IfcParse::entity& Ifc4x3_add2::IfcCableCarrierFitting::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[130]); } Ifc4x3_add2::IfcCableCarrierFitting::IfcCableCarrierFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x3_add2::IfcCableCarrierFitting::IfcCableCarrierFitting(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcCableCarrierFitting::IfcCableCarrierFitting(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableCarrierFittingType -::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Value Ifc4x3_add2::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Value Ifc4x3_add2::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcCableCarrierFittingType::setPredefinedType(::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcCableCarrierFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[131]); } const IfcParse::entity& Ifc4x3_add2::IfcCableCarrierFittingType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[131]); } Ifc4x3_add2::IfcCableCarrierFittingType::IfcCableCarrierFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x3_add2::IfcCableCarrierFittingType::IfcCableCarrierFittingType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcCableCarrierFittingType::IfcCableCarrierFittingType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCableCarrierSegment -boost::optional< ::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x3_add2::IfcCableCarrierSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x3_add2::IfcCableCarrierSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcCableCarrierSegment::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcCableCarrierSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[133]); } const IfcParse::entity& Ifc4x3_add2::IfcCableCarrierSegment::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[133]); } Ifc4x3_add2::IfcCableCarrierSegment::IfcCableCarrierSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x3_add2::IfcCableCarrierSegment::IfcCableCarrierSegment(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcCableCarrierSegment::IfcCableCarrierSegment(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableCarrierSegmentType -::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3_add2::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3_add2::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcCableCarrierSegmentType::setPredefinedType(::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcCableCarrierSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[134]); } const IfcParse::entity& Ifc4x3_add2::IfcCableCarrierSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[134]); } Ifc4x3_add2::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x3_add2::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCableFitting -boost::optional< ::Ifc4x3_add2::IfcCableFittingTypeEnum::Value > Ifc4x3_add2::IfcCableFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCableFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcCableFittingTypeEnum::Value > Ifc4x3_add2::IfcCableFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCableFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcCableFitting::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcCableFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcCableFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcCableFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[136]); } const IfcParse::entity& Ifc4x3_add2::IfcCableFitting::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[136]); } Ifc4x3_add2::IfcCableFitting::IfcCableFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x3_add2::IfcCableFitting::IfcCableFitting(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcCableFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcCableFitting::IfcCableFitting(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcCableFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableFittingType -::Ifc4x3_add2::IfcCableFittingTypeEnum::Value Ifc4x3_add2::IfcCableFittingType::PredefinedType() const { return ::Ifc4x3_add2::IfcCableFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcCableFittingTypeEnum::Value Ifc4x3_add2::IfcCableFittingType::PredefinedType() const { return ::Ifc4x3_add2::IfcCableFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcCableFittingType::setPredefinedType(::Ifc4x3_add2::IfcCableFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcCableFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcCableFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[137]); } const IfcParse::entity& Ifc4x3_add2::IfcCableFittingType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[137]); } Ifc4x3_add2::IfcCableFittingType::IfcCableFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x3_add2::IfcCableFittingType::IfcCableFittingType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCableFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcCableFittingType::IfcCableFittingType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCableFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCableSegment -boost::optional< ::Ifc4x3_add2::IfcCableSegmentTypeEnum::Value > Ifc4x3_add2::IfcCableSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCableSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcCableSegmentTypeEnum::Value > Ifc4x3_add2::IfcCableSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCableSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcCableSegment::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcCableSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcCableSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcCableSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[139]); } const IfcParse::entity& Ifc4x3_add2::IfcCableSegment::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[139]); } Ifc4x3_add2::IfcCableSegment::IfcCableSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x3_add2::IfcCableSegment::IfcCableSegment(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcCableSegment::IfcCableSegment(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableSegmentType -::Ifc4x3_add2::IfcCableSegmentTypeEnum::Value Ifc4x3_add2::IfcCableSegmentType::PredefinedType() const { return ::Ifc4x3_add2::IfcCableSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcCableSegmentTypeEnum::Value Ifc4x3_add2::IfcCableSegmentType::PredefinedType() const { return ::Ifc4x3_add2::IfcCableSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcCableSegmentType::setPredefinedType(::Ifc4x3_add2::IfcCableSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcCableSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcCableSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[140]); } const IfcParse::entity& Ifc4x3_add2::IfcCableSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[140]); } Ifc4x3_add2::IfcCableSegmentType::IfcCableSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x3_add2::IfcCableSegmentType::IfcCableSegmentType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCableSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcCableSegmentType::IfcCableSegmentType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCableSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCaissonFoundation -boost::optional< ::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Value > Ifc4x3_add2::IfcCaissonFoundation::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Value > Ifc4x3_add2::IfcCaissonFoundation::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcCaissonFoundation::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcCaissonFoundation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[142]); } const IfcParse::entity& Ifc4x3_add2::IfcCaissonFoundation::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[142]); } Ifc4x3_add2::IfcCaissonFoundation::IfcCaissonFoundation(IfcEntityInstanceData&& e) : IfcDeepFoundation(std::move(e)) { } -Ifc4x3_add2::IfcCaissonFoundation::IfcCaissonFoundation(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType) : IfcDeepFoundation(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcCaissonFoundation::IfcCaissonFoundation(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType) : IfcDeepFoundation(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCaissonFoundationType -::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Value Ifc4x3_add2::IfcCaissonFoundationType::PredefinedType() const { return ::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Value Ifc4x3_add2::IfcCaissonFoundationType::PredefinedType() const { return ::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcCaissonFoundationType::setPredefinedType(::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcCaissonFoundationType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[143]); } const IfcParse::entity& Ifc4x3_add2::IfcCaissonFoundationType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[143]); } Ifc4x3_add2::IfcCaissonFoundationType::IfcCaissonFoundationType(IfcEntityInstanceData&& e) : IfcDeepFoundationType(std::move(e)) { } -Ifc4x3_add2::IfcCaissonFoundationType::IfcCaissonFoundationType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcCaissonFoundationType::IfcCaissonFoundationType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCartesianPoint -std::vector< double > /*[1:3]*/ Ifc4x3_add2::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[1:3]*/ Ifc4x3_add2::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcCartesianPoint::setCoordinates(std::vector< double > /*[1:3]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add2::IfcCartesianPoint::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[146]); } const IfcParse::entity& Ifc4x3_add2::IfcCartesianPoint::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[146]); } Ifc4x3_add2::IfcCartesianPoint::IfcCartesianPoint(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x3_add2::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ v1_Coordinates) : IfcPoint(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } +Ifc4x3_add2::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ v1_Coordinates) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } // Function implementations for IfcCartesianPointList @@ -8807,47 +8807,47 @@ Ifc4x3_add2::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]* const IfcParse::entity& Ifc4x3_add2::IfcCartesianPointList::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[147]); } const IfcParse::entity& Ifc4x3_add2::IfcCartesianPointList::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[147]); } Ifc4x3_add2::IfcCartesianPointList::IfcCartesianPointList(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcCartesianPointList::IfcCartesianPointList() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add2::IfcCartesianPointList::IfcCartesianPointList() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcCartesianPointList2D -std::vector< std::vector< double > > Ifc4x3_add2::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x3_add2::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcCartesianPointList2D::setCoordList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add2::IfcCartesianPointList2D::TagList() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add2::IfcCartesianPointList2D::TagList() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcCartesianPointList2D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_add2::IfcCartesianPointList2D::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[148]); } const IfcParse::entity& Ifc4x3_add2::IfcCartesianPointList2D::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[148]); } Ifc4x3_add2::IfcCartesianPointList2D::IfcCartesianPointList2D(IfcEntityInstanceData&& e) : IfcCartesianPointList(std::move(e)) { } -Ifc4x3_add2::IfcCartesianPointList2D::IfcCartesianPointList2D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } +Ifc4x3_add2::IfcCartesianPointList2D::IfcCartesianPointList2D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } // Function implementations for IfcCartesianPointList3D -std::vector< std::vector< double > > Ifc4x3_add2::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x3_add2::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcCartesianPointList3D::setCoordList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add2::IfcCartesianPointList3D::TagList() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add2::IfcCartesianPointList3D::TagList() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcCartesianPointList3D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_add2::IfcCartesianPointList3D::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[149]); } const IfcParse::entity& Ifc4x3_add2::IfcCartesianPointList3D::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[149]); } Ifc4x3_add2::IfcCartesianPointList3D::IfcCartesianPointList3D(IfcEntityInstanceData&& e) : IfcCartesianPointList(std::move(e)) { } -Ifc4x3_add2::IfcCartesianPointList3D::IfcCartesianPointList3D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } +Ifc4x3_add2::IfcCartesianPointList3D::IfcCartesianPointList3D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator -::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcCartesianTransformationOperator::Axis1() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcDirection>(true); } +::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcCartesianTransformationOperator::Axis1() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcDirection>(true); } void Ifc4x3_add2::IfcCartesianTransformationOperator::setAxis1(::Ifc4x3_add2::IfcDirection* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcCartesianTransformationOperator::Axis2() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcDirection>(true); } +::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcCartesianTransformationOperator::Axis2() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcDirection>(true); } void Ifc4x3_add2::IfcCartesianTransformationOperator::setAxis2(::Ifc4x3_add2::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcCartesianPoint* Ifc4x3_add2::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcCartesianPoint>(true); } +::Ifc4x3_add2::IfcCartesianPoint* Ifc4x3_add2::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcCartesianPoint>(true); } void Ifc4x3_add2::IfcCartesianTransformationOperator::setLocalOrigin(::Ifc4x3_add2::IfcCartesianPoint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4x3_add2::IfcCartesianTransformationOperator::Scale() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add2::IfcCartesianTransformationOperator::Scale() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_add2::IfcCartesianTransformationOperator::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[150]); } const IfcParse::entity& Ifc4x3_add2::IfcCartesianTransformationOperator::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[150]); } Ifc4x3_add2::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(::Ifc4x3_add2::IfcDirection* v1_Axis1, ::Ifc4x3_add2::IfcDirection* v2_Axis2, ::Ifc4x3_add2::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } +Ifc4x3_add2::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(::Ifc4x3_add2::IfcDirection* v1_Axis1, ::Ifc4x3_add2::IfcDirection* v2_Axis2, ::Ifc4x3_add2::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator2D @@ -8855,119 +8855,119 @@ Ifc4x3_add2::IfcCartesianTransformationOperator::IfcCartesianTransformationOpera const IfcParse::entity& Ifc4x3_add2::IfcCartesianTransformationOperator2D::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[151]); } const IfcParse::entity& Ifc4x3_add2::IfcCartesianTransformationOperator2D::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[151]); } Ifc4x3_add2::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator(std::move(e)) { } -Ifc4x3_add2::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(::Ifc4x3_add2::IfcDirection* v1_Axis1, ::Ifc4x3_add2::IfcDirection* v2_Axis2, ::Ifc4x3_add2::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcCartesianTransformationOperator(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } +Ifc4x3_add2::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(::Ifc4x3_add2::IfcDirection* v1_Axis1, ::Ifc4x3_add2::IfcDirection* v2_Axis2, ::Ifc4x3_add2::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcCartesianTransformationOperator(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator2DnonUniform -boost::optional< double > Ifc4x3_add2::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_add2::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcCartesianTransformationOperator2DnonUniform::setScale2(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add2::IfcCartesianTransformationOperator2DnonUniform::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[152]); } const IfcParse::entity& Ifc4x3_add2::IfcCartesianTransformationOperator2DnonUniform::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[152]); } Ifc4x3_add2::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator2D(std::move(e)) { } -Ifc4x3_add2::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(::Ifc4x3_add2::IfcDirection* v1_Axis1, ::Ifc4x3_add2::IfcDirection* v2_Axis2, ::Ifc4x3_add2::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2) : IfcCartesianTransformationOperator2D(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; populate_derived(); } +Ifc4x3_add2::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(::Ifc4x3_add2::IfcDirection* v1_Axis1, ::Ifc4x3_add2::IfcDirection* v2_Axis2, ::Ifc4x3_add2::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2) : IfcCartesianTransformationOperator2D(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator3D -::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcCartesianTransformationOperator3D::Axis3() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcDirection>(true); } +::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcCartesianTransformationOperator3D::Axis3() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcDirection>(true); } void Ifc4x3_add2::IfcCartesianTransformationOperator3D::setAxis3(::Ifc4x3_add2::IfcDirection* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add2::IfcCartesianTransformationOperator3D::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[153]); } const IfcParse::entity& Ifc4x3_add2::IfcCartesianTransformationOperator3D::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[153]); } Ifc4x3_add2::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator(std::move(e)) { } -Ifc4x3_add2::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(::Ifc4x3_add2::IfcDirection* v1_Axis1, ::Ifc4x3_add2::IfcDirection* v2_Axis2, ::Ifc4x3_add2::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x3_add2::IfcDirection* v5_Axis3) : IfcCartesianTransformationOperator(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(::Ifc4x3_add2::IfcDirection* v1_Axis1, ::Ifc4x3_add2::IfcDirection* v2_Axis2, ::Ifc4x3_add2::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x3_add2::IfcDirection* v5_Axis3) : IfcCartesianTransformationOperator(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator3DnonUniform -boost::optional< double > Ifc4x3_add2::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_add2::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcCartesianTransformationOperator3DnonUniform::setScale2(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_add2::IfcCartesianTransformationOperator3DnonUniform::Scale3() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_add2::IfcCartesianTransformationOperator3DnonUniform::Scale3() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcCartesianTransformationOperator3DnonUniform::setScale3(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_add2::IfcCartesianTransformationOperator3DnonUniform::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[154]); } const IfcParse::entity& Ifc4x3_add2::IfcCartesianTransformationOperator3DnonUniform::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[154]); } Ifc4x3_add2::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator3D(std::move(e)) { } -Ifc4x3_add2::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(::Ifc4x3_add2::IfcDirection* v1_Axis1, ::Ifc4x3_add2::IfcDirection* v2_Axis2, ::Ifc4x3_add2::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x3_add2::IfcDirection* v5_Axis3, boost::optional< double > v6_Scale2, boost::optional< double > v7_Scale3) : IfcCartesianTransformationOperator3D(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; populate_derived(); } +Ifc4x3_add2::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(::Ifc4x3_add2::IfcDirection* v1_Axis1, ::Ifc4x3_add2::IfcDirection* v2_Axis2, ::Ifc4x3_add2::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x3_add2::IfcDirection* v5_Axis3, boost::optional< double > v6_Scale2, boost::optional< double > v7_Scale3) : IfcCartesianTransformationOperator3D(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; populate_derived(); } // Function implementations for IfcCenterLineProfileDef -double Ifc4x3_add2::IfcCenterLineProfileDef::Thickness() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add2::IfcCenterLineProfileDef::Thickness() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcCenterLineProfileDef::setThickness(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcCenterLineProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[155]); } const IfcParse::entity& Ifc4x3_add2::IfcCenterLineProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[155]); } Ifc4x3_add2::IfcCenterLineProfileDef::IfcCenterLineProfileDef(IfcEntityInstanceData&& e) : IfcArbitraryOpenProfileDef(std::move(e)) { } -Ifc4x3_add2::IfcCenterLineProfileDef::IfcCenterLineProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcBoundedCurve* v3_Curve, double v4_Thickness) : IfcArbitraryOpenProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Thickness));; populate_derived(); } +Ifc4x3_add2::IfcCenterLineProfileDef::IfcCenterLineProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcBoundedCurve* v3_Curve, double v4_Thickness) : IfcArbitraryOpenProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Thickness));; populate_derived(); } // Function implementations for IfcChiller -boost::optional< ::Ifc4x3_add2::IfcChillerTypeEnum::Value > Ifc4x3_add2::IfcChiller::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcChillerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcChillerTypeEnum::Value > Ifc4x3_add2::IfcChiller::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcChillerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcChiller::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcChillerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcChillerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcChiller::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[157]); } const IfcParse::entity& Ifc4x3_add2::IfcChiller::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[157]); } Ifc4x3_add2::IfcChiller::IfcChiller(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add2::IfcChiller::IfcChiller(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcChillerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcChiller::IfcChiller(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcChillerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcChillerType -::Ifc4x3_add2::IfcChillerTypeEnum::Value Ifc4x3_add2::IfcChillerType::PredefinedType() const { return ::Ifc4x3_add2::IfcChillerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcChillerTypeEnum::Value Ifc4x3_add2::IfcChillerType::PredefinedType() const { return ::Ifc4x3_add2::IfcChillerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcChillerType::setPredefinedType(::Ifc4x3_add2::IfcChillerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcChillerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcChillerType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[158]); } const IfcParse::entity& Ifc4x3_add2::IfcChillerType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[158]); } Ifc4x3_add2::IfcChillerType::IfcChillerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add2::IfcChillerType::IfcChillerType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcChillerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcChillerType::IfcChillerType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcChillerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcChimney -boost::optional< ::Ifc4x3_add2::IfcChimneyTypeEnum::Value > Ifc4x3_add2::IfcChimney::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcChimneyTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcChimneyTypeEnum::Value > Ifc4x3_add2::IfcChimney::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcChimneyTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcChimney::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcChimneyTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcChimneyTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcChimney::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[160]); } const IfcParse::entity& Ifc4x3_add2::IfcChimney::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[160]); } Ifc4x3_add2::IfcChimney::IfcChimney(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add2::IfcChimney::IfcChimney(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcChimneyTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcChimney::IfcChimney(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcChimneyTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcChimneyType -::Ifc4x3_add2::IfcChimneyTypeEnum::Value Ifc4x3_add2::IfcChimneyType::PredefinedType() const { return ::Ifc4x3_add2::IfcChimneyTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcChimneyTypeEnum::Value Ifc4x3_add2::IfcChimneyType::PredefinedType() const { return ::Ifc4x3_add2::IfcChimneyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcChimneyType::setPredefinedType(::Ifc4x3_add2::IfcChimneyTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcChimneyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcChimneyType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[161]); } const IfcParse::entity& Ifc4x3_add2::IfcChimneyType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[161]); } Ifc4x3_add2::IfcChimneyType::IfcChimneyType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add2::IfcChimneyType::IfcChimneyType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcChimneyTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcChimneyType::IfcChimneyType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcChimneyTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCircle -double Ifc4x3_add2::IfcCircle::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add2::IfcCircle::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcCircle::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcCircle::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[163]); } const IfcParse::entity& Ifc4x3_add2::IfcCircle::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[163]); } Ifc4x3_add2::IfcCircle::IfcCircle(IfcEntityInstanceData&& e) : IfcConic(std::move(e)) { } -Ifc4x3_add2::IfcCircle::IfcCircle(::Ifc4x3_add2::IfcAxis2Placement* v1_Position, double v2_Radius) : IfcConic(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x3_add2::IfcCircle::IfcCircle(::Ifc4x3_add2::IfcAxis2Placement* v1_Position, double v2_Radius) : IfcConic(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcCircleHollowProfileDef -double Ifc4x3_add2::IfcCircleHollowProfileDef::WallThickness() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add2::IfcCircleHollowProfileDef::WallThickness() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcCircleHollowProfileDef::setWallThickness(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add2::IfcCircleHollowProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[164]); } const IfcParse::entity& Ifc4x3_add2::IfcCircleHollowProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[164]); } Ifc4x3_add2::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(IfcEntityInstanceData&& e) : IfcCircleProfileDef(std::move(e)) { } -Ifc4x3_add2::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D* v3_Position, double v4_Radius, double v5_WallThickness) : IfcCircleProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; populate_derived(); } +Ifc4x3_add2::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D* v3_Position, double v4_Radius, double v5_WallThickness) : IfcCircleProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; populate_derived(); } // Function implementations for IfcCircleProfileDef -double Ifc4x3_add2::IfcCircleProfileDef::Radius() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add2::IfcCircleProfileDef::Radius() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcCircleProfileDef::setRadius(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcCircleProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[165]); } const IfcParse::entity& Ifc4x3_add2::IfcCircleProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[165]); } Ifc4x3_add2::IfcCircleProfileDef::IfcCircleProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_add2::IfcCircleProfileDef::IfcCircleProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D* v3_Position, double v4_Radius) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));; populate_derived(); } +Ifc4x3_add2::IfcCircleProfileDef::IfcCircleProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D* v3_Position, double v4_Radius) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));; populate_derived(); } // Function implementations for IfcCivilElement @@ -8975,7 +8975,7 @@ Ifc4x3_add2::IfcCircleProfileDef::IfcCircleProfileDef(::Ifc4x3_add2::IfcProfileT const IfcParse::entity& Ifc4x3_add2::IfcCivilElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[166]); } const IfcParse::entity& Ifc4x3_add2::IfcCivilElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[166]); } Ifc4x3_add2::IfcCivilElement::IfcCivilElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_add2::IfcCivilElement::IfcCivilElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add2::IfcCivilElement::IfcCivilElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcCivilElementType @@ -8983,22 +8983,22 @@ Ifc4x3_add2::IfcCivilElement::IfcCivilElement(std::string v1_GlobalId, ::Ifc4x3_ const IfcParse::entity& Ifc4x3_add2::IfcCivilElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[167]); } const IfcParse::entity& Ifc4x3_add2::IfcCivilElementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[167]); } Ifc4x3_add2::IfcCivilElementType::IfcCivilElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_add2::IfcCivilElementType::IfcCivilElementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add2::IfcCivilElementType::IfcCivilElementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcClassification -boost::optional< std::string > Ifc4x3_add2::IfcClassification::Source() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcClassification::Source() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcClassification::setSource(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add2::IfcClassification::Edition() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcClassification::Edition() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcClassification::setEdition(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_add2::IfcClassification::EditionDate() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcClassification::EditionDate() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcClassification::setEditionDate(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::string Ifc4x3_add2::IfcClassification::Name() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x3_add2::IfcClassification::Name() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcClassification::setName(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_add2::IfcClassification::Description() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcClassification::Description() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcClassification::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add2::IfcClassification::Specification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcClassification::Specification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcClassification::setSpecification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add2::IfcClassification::ReferenceTokens() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(6); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add2::IfcClassification::ReferenceTokens() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcClassification::setReferenceTokens(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_add2::IfcRelAssociatesClassification::list::ptr Ifc4x3_add2::IfcClassification::ClassificationForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[910], 5)->as(); } @@ -9007,14 +9007,14 @@ void Ifc4x3_add2::IfcClassification::setReferenceTokens(boost::optional< std::ve const IfcParse::entity& Ifc4x3_add2::IfcClassification::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[168]); } const IfcParse::entity& Ifc4x3_add2::IfcClassification::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[168]); } Ifc4x3_add2::IfcClassification::IfcClassification(IfcEntityInstanceData&& e) : IfcExternalInformation(std::move(e)) { } -Ifc4x3_add2::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_Specification, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) : IfcExternalInformation(IfcEntityInstanceData(storage_t(7))) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Specification) {set_attribute_value(5, (*v6_Specification)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); }; populate_derived(); } +Ifc4x3_add2::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_Specification, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) : IfcExternalInformation(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Specification) {set_attribute_value(5, (*v6_Specification)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); }; populate_derived(); } // Function implementations for IfcClassificationReference -::Ifc4x3_add2::IfcClassificationReferenceSelect* Ifc4x3_add2::IfcClassificationReference::ReferencedSource() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcClassificationReferenceSelect>(true); } +::Ifc4x3_add2::IfcClassificationReferenceSelect* Ifc4x3_add2::IfcClassificationReference::ReferencedSource() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcClassificationReferenceSelect>(true); } void Ifc4x3_add2::IfcClassificationReference::setReferencedSource(::Ifc4x3_add2::IfcClassificationReferenceSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_add2::IfcClassificationReference::Description() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcClassificationReference::Description() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcClassificationReference::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add2::IfcClassificationReference::Sort() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcClassificationReference::Sort() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcClassificationReference::setSort(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x3_add2::IfcRelAssociatesClassification::list::ptr Ifc4x3_add2::IfcClassificationReference::ClassificationRefForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[910], 5)->as(); } @@ -9023,7 +9023,7 @@ void Ifc4x3_add2::IfcClassificationReference::setSort(boost::optional< std::stri const IfcParse::entity& Ifc4x3_add2::IfcClassificationReference::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[169]); } const IfcParse::entity& Ifc4x3_add2::IfcClassificationReference::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[169]); } Ifc4x3_add2::IfcClassificationReference::IfcClassificationReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_add2::IfcClassificationReference::IfcClassificationReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, ::Ifc4x3_add2::IfcClassificationReferenceSelect* v4_ReferencedSource, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Sort) : IfcExternalReference(IfcEntityInstanceData(storage_t(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, v4_ReferencedSource ? v4_ReferencedSource->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); }; populate_derived(); } +Ifc4x3_add2::IfcClassificationReference::IfcClassificationReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, ::Ifc4x3_add2::IfcClassificationReferenceSelect* v4_ReferencedSource, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Sort) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, v4_ReferencedSource ? v4_ReferencedSource->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); }; populate_derived(); } // Function implementations for IfcClosedShell @@ -9031,149 +9031,149 @@ Ifc4x3_add2::IfcClassificationReference::IfcClassificationReference(boost::optio const IfcParse::entity& Ifc4x3_add2::IfcClosedShell::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[172]); } const IfcParse::entity& Ifc4x3_add2::IfcClosedShell::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[172]); } Ifc4x3_add2::IfcClosedShell::IfcClosedShell(IfcEntityInstanceData&& e) : IfcConnectedFaceSet(std::move(e)) { } -Ifc4x3_add2::IfcClosedShell::IfcClosedShell(aggregate_of< ::Ifc4x3_add2::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcClosedShell::IfcClosedShell(aggregate_of< ::Ifc4x3_add2::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcClothoid -double Ifc4x3_add2::IfcClothoid::ClothoidConstant() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add2::IfcClothoid::ClothoidConstant() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcClothoid::setClothoidConstant(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcClothoid::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[173]); } const IfcParse::entity& Ifc4x3_add2::IfcClothoid::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[173]); } Ifc4x3_add2::IfcClothoid::IfcClothoid(IfcEntityInstanceData&& e) : IfcSpiral(std::move(e)) { } -Ifc4x3_add2::IfcClothoid::IfcClothoid(::Ifc4x3_add2::IfcAxis2Placement* v1_Position, double v2_ClothoidConstant) : IfcSpiral(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_ClothoidConstant));; populate_derived(); } +Ifc4x3_add2::IfcClothoid::IfcClothoid(::Ifc4x3_add2::IfcAxis2Placement* v1_Position, double v2_ClothoidConstant) : IfcSpiral(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_ClothoidConstant));; populate_derived(); } // Function implementations for IfcCoil -boost::optional< ::Ifc4x3_add2::IfcCoilTypeEnum::Value > Ifc4x3_add2::IfcCoil::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCoilTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcCoilTypeEnum::Value > Ifc4x3_add2::IfcCoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCoilTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcCoil::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcCoilTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcCoilTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcCoil::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[174]); } const IfcParse::entity& Ifc4x3_add2::IfcCoil::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[174]); } Ifc4x3_add2::IfcCoil::IfcCoil(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add2::IfcCoil::IfcCoil(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcCoilTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcCoil::IfcCoil(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcCoilTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCoilType -::Ifc4x3_add2::IfcCoilTypeEnum::Value Ifc4x3_add2::IfcCoilType::PredefinedType() const { return ::Ifc4x3_add2::IfcCoilTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcCoilTypeEnum::Value Ifc4x3_add2::IfcCoilType::PredefinedType() const { return ::Ifc4x3_add2::IfcCoilTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcCoilType::setPredefinedType(::Ifc4x3_add2::IfcCoilTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcCoilTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcCoilType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[175]); } const IfcParse::entity& Ifc4x3_add2::IfcCoilType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[175]); } Ifc4x3_add2::IfcCoilType::IfcCoilType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add2::IfcCoilType::IfcCoilType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCoilTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcCoilType::IfcCoilType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCoilTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcColourRgb -double Ifc4x3_add2::IfcColourRgb::Red() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add2::IfcColourRgb::Red() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcColourRgb::setRed(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_add2::IfcColourRgb::Green() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_add2::IfcColourRgb::Green() const { double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcColourRgb::setGreen(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_add2::IfcColourRgb::Blue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add2::IfcColourRgb::Blue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcColourRgb::setBlue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcColourRgb::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[179]); } const IfcParse::entity& Ifc4x3_add2::IfcColourRgb::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[179]); } Ifc4x3_add2::IfcColourRgb::IfcColourRgb(IfcEntityInstanceData&& e) : IfcColourSpecification(std::move(e)) { } -Ifc4x3_add2::IfcColourRgb::IfcColourRgb(boost::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) : IfcColourSpecification(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; populate_derived(); } +Ifc4x3_add2::IfcColourRgb::IfcColourRgb(boost::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) : IfcColourSpecification(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; populate_derived(); } // Function implementations for IfcColourRgbList -std::vector< std::vector< double > > Ifc4x3_add2::IfcColourRgbList::ColourList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x3_add2::IfcColourRgbList::ColourList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcColourRgbList::setColourList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add2::IfcColourRgbList::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[180]); } const IfcParse::entity& Ifc4x3_add2::IfcColourRgbList::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[180]); } Ifc4x3_add2::IfcColourRgbList::IfcColourRgbList(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcColourRgbList::IfcColourRgbList(std::vector< std::vector< double > > v1_ColourList) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_ColourList));; populate_derived(); } +Ifc4x3_add2::IfcColourRgbList::IfcColourRgbList(std::vector< std::vector< double > > v1_ColourList) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_ColourList));; populate_derived(); } // Function implementations for IfcColourSpecification -boost::optional< std::string > Ifc4x3_add2::IfcColourSpecification::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcColourSpecification::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcColourSpecification::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3_add2::IfcColourSpecification::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[181]); } const IfcParse::entity& Ifc4x3_add2::IfcColourSpecification::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[181]); } Ifc4x3_add2::IfcColourSpecification::IfcColourSpecification(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcColourSpecification::IfcColourSpecification(boost::optional< std::string > v1_Name) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_add2::IfcColourSpecification::IfcColourSpecification(boost::optional< std::string > v1_Name) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcColumn -boost::optional< ::Ifc4x3_add2::IfcColumnTypeEnum::Value > Ifc4x3_add2::IfcColumn::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcColumnTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcColumnTypeEnum::Value > Ifc4x3_add2::IfcColumn::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcColumnTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcColumn::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcColumnTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcColumnTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcColumn::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[182]); } const IfcParse::entity& Ifc4x3_add2::IfcColumn::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[182]); } Ifc4x3_add2::IfcColumn::IfcColumn(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add2::IfcColumn::IfcColumn(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcColumnTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcColumn::IfcColumn(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcColumnTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcColumnType -::Ifc4x3_add2::IfcColumnTypeEnum::Value Ifc4x3_add2::IfcColumnType::PredefinedType() const { return ::Ifc4x3_add2::IfcColumnTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcColumnTypeEnum::Value Ifc4x3_add2::IfcColumnType::PredefinedType() const { return ::Ifc4x3_add2::IfcColumnTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcColumnType::setPredefinedType(::Ifc4x3_add2::IfcColumnTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcColumnTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcColumnType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[183]); } const IfcParse::entity& Ifc4x3_add2::IfcColumnType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[183]); } Ifc4x3_add2::IfcColumnType::IfcColumnType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add2::IfcColumnType::IfcColumnType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcColumnTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcColumnType::IfcColumnType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcColumnTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCommunicationsAppliance -boost::optional< ::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x3_add2::IfcCommunicationsAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x3_add2::IfcCommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcCommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcCommunicationsAppliance::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[185]); } const IfcParse::entity& Ifc4x3_add2::IfcCommunicationsAppliance::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[185]); } Ifc4x3_add2::IfcCommunicationsAppliance::IfcCommunicationsAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_add2::IfcCommunicationsAppliance::IfcCommunicationsAppliance(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcCommunicationsAppliance::IfcCommunicationsAppliance(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCommunicationsApplianceType -::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3_add2::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3_add2::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcCommunicationsApplianceType::setPredefinedType(::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcCommunicationsApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[186]); } const IfcParse::entity& Ifc4x3_add2::IfcCommunicationsApplianceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[186]); } Ifc4x3_add2::IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_add2::IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcComplexProperty -std::string Ifc4x3_add2::IfcComplexProperty::UsageName() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3_add2::IfcComplexProperty::UsageName() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcComplexProperty::setUsageName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_add2::IfcProperty >::ptr Ifc4x3_add2::IfcComplexProperty::HasProperties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_add2::IfcProperty >(); } +aggregate_of< ::Ifc4x3_add2::IfcProperty >::ptr Ifc4x3_add2::IfcComplexProperty::HasProperties() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_add2::IfcProperty >(); } void Ifc4x3_add2::IfcComplexProperty::setHasProperties(aggregate_of< ::Ifc4x3_add2::IfcProperty >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcComplexProperty::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[189]); } const IfcParse::entity& Ifc4x3_add2::IfcComplexProperty::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[189]); } Ifc4x3_add2::IfcComplexProperty::IfcComplexProperty(IfcEntityInstanceData&& e) : IfcProperty(std::move(e)) { } -Ifc4x3_add2::IfcComplexProperty::IfcComplexProperty(std::string v1_Name, boost::optional< std::string > v2_Specification, std::string v3_UsageName, aggregate_of< ::Ifc4x3_add2::IfcProperty >::ptr v4_HasProperties) : IfcProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, (v4_HasProperties)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcComplexProperty::IfcComplexProperty(std::string v1_Name, boost::optional< std::string > v2_Specification, std::string v3_UsageName, aggregate_of< ::Ifc4x3_add2::IfcProperty >::ptr v4_HasProperties) : IfcProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, (v4_HasProperties)->generalize());; populate_derived(); } // Function implementations for IfcComplexPropertyTemplate -boost::optional< std::string > Ifc4x3_add2::IfcComplexPropertyTemplate::UsageName() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcComplexPropertyTemplate::UsageName() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcComplexPropertyTemplate::setUsageName(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< ::Ifc4x3_add2::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4x3_add2::IfcComplexPropertyTemplate::TemplateType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcComplexPropertyTemplateTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3_add2::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4x3_add2::IfcComplexPropertyTemplate::TemplateType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcComplexPropertyTemplateTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_add2::IfcComplexPropertyTemplate::setTemplateType(boost::optional< ::Ifc4x3_add2::IfcComplexPropertyTemplateTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3_add2::IfcComplexPropertyTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertyTemplate >::ptr > Ifc4x3_add2::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3_add2::IfcPropertyTemplate >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertyTemplate >::ptr > Ifc4x3_add2::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3_add2::IfcPropertyTemplate >(); } void Ifc4x3_add2::IfcComplexPropertyTemplate::setHasPropertyTemplates(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertyTemplate >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_add2::IfcComplexPropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[190]); } const IfcParse::entity& Ifc4x3_add2::IfcComplexPropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[190]); } Ifc4x3_add2::IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplate(std::move(e)) { } -Ifc4x3_add2::IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_UsageName, boost::optional< ::Ifc4x3_add2::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertyTemplate >::ptr > v7_HasPropertyTemplates) : IfcPropertyTemplate(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add2::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, (*v7_HasPropertyTemplates)->generalize()); }; populate_derived(); } +Ifc4x3_add2::IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_UsageName, boost::optional< ::Ifc4x3_add2::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertyTemplate >::ptr > v7_HasPropertyTemplates) : IfcPropertyTemplate(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add2::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, (*v7_HasPropertyTemplates)->generalize()); }; populate_derived(); } // Function implementations for IfcCompositeCurve -aggregate_of< ::Ifc4x3_add2::IfcSegment >::ptr Ifc4x3_add2::IfcCompositeCurve::Segments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcSegment >(); } +aggregate_of< ::Ifc4x3_add2::IfcSegment >::ptr Ifc4x3_add2::IfcCompositeCurve::Segments() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcSegment >(); } void Ifc4x3_add2::IfcCompositeCurve::setSegments(aggregate_of< ::Ifc4x3_add2::IfcSegment >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::logic::tribool Ifc4x3_add2::IfcCompositeCurve::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(1); return v; } +boost::logic::tribool Ifc4x3_add2::IfcCompositeCurve::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcCompositeCurve::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcCompositeCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[192]); } const IfcParse::entity& Ifc4x3_add2::IfcCompositeCurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[192]); } Ifc4x3_add2::IfcCompositeCurve::IfcCompositeCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_add2::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc4x3_add2::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x3_add2::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc4x3_add2::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcCompositeCurveOnSurface @@ -9181,103 +9181,103 @@ Ifc4x3_add2::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc4x3_add2::I const IfcParse::entity& Ifc4x3_add2::IfcCompositeCurveOnSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[193]); } const IfcParse::entity& Ifc4x3_add2::IfcCompositeCurveOnSurface::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[193]); } Ifc4x3_add2::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(IfcEntityInstanceData&& e) : IfcCompositeCurve(std::move(e)) { } -Ifc4x3_add2::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(aggregate_of< ::Ifc4x3_add2::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x3_add2::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(aggregate_of< ::Ifc4x3_add2::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcCompositeCurveSegment -bool Ifc4x3_add2::IfcCompositeCurveSegment::SameSense() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x3_add2::IfcCompositeCurveSegment::SameSense() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcCompositeCurveSegment::setSameSense(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcCurve* Ifc4x3_add2::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcCurve>(true); } +::Ifc4x3_add2::IfcCurve* Ifc4x3_add2::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcCurve>(true); } void Ifc4x3_add2::IfcCompositeCurveSegment::setParentCurve(::Ifc4x3_add2::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcCompositeCurveSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[194]); } const IfcParse::entity& Ifc4x3_add2::IfcCompositeCurveSegment::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[194]); } Ifc4x3_add2::IfcCompositeCurveSegment::IfcCompositeCurveSegment(IfcEntityInstanceData&& e) : IfcSegment(std::move(e)) { } -Ifc4x3_add2::IfcCompositeCurveSegment::IfcCompositeCurveSegment(::Ifc4x3_add2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_add2::IfcCurve* v3_ParentCurve) : IfcSegment(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcCompositeCurveSegment::IfcCompositeCurveSegment(::Ifc4x3_add2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_add2::IfcCurve* v3_ParentCurve) : IfcSegment(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCompositeProfileDef -aggregate_of< ::Ifc4x3_add2::IfcProfileDef >::ptr Ifc4x3_add2::IfcCompositeProfileDef::Profiles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcProfileDef >(); } +aggregate_of< ::Ifc4x3_add2::IfcProfileDef >::ptr Ifc4x3_add2::IfcCompositeProfileDef::Profiles() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcProfileDef >(); } void Ifc4x3_add2::IfcCompositeProfileDef::setProfiles(aggregate_of< ::Ifc4x3_add2::IfcProfileDef >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x3_add2::IfcCompositeProfileDef::Label() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcCompositeProfileDef::Label() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcCompositeProfileDef::setLabel(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_add2::IfcCompositeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[195]); } const IfcParse::entity& Ifc4x3_add2::IfcCompositeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[195]); } Ifc4x3_add2::IfcCompositeProfileDef::IfcCompositeProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_add2::IfcCompositeProfileDef::IfcCompositeProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, aggregate_of< ::Ifc4x3_add2::IfcProfileDef >::ptr v3_Profiles, boost::optional< std::string > v4_Label) : IfcProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Profiles)->generalize()); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; populate_derived(); } +Ifc4x3_add2::IfcCompositeProfileDef::IfcCompositeProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, aggregate_of< ::Ifc4x3_add2::IfcProfileDef >::ptr v3_Profiles, boost::optional< std::string > v4_Label) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Profiles)->generalize()); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; populate_derived(); } // Function implementations for IfcCompressor -boost::optional< ::Ifc4x3_add2::IfcCompressorTypeEnum::Value > Ifc4x3_add2::IfcCompressor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCompressorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcCompressorTypeEnum::Value > Ifc4x3_add2::IfcCompressor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCompressorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcCompressor::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcCompressorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcCompressorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcCompressor::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[197]); } const IfcParse::entity& Ifc4x3_add2::IfcCompressor::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[197]); } Ifc4x3_add2::IfcCompressor::IfcCompressor(IfcEntityInstanceData&& e) : IfcFlowMovingDevice(std::move(e)) { } -Ifc4x3_add2::IfcCompressor::IfcCompressor(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcCompressorTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcCompressor::IfcCompressor(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcCompressorTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCompressorType -::Ifc4x3_add2::IfcCompressorTypeEnum::Value Ifc4x3_add2::IfcCompressorType::PredefinedType() const { return ::Ifc4x3_add2::IfcCompressorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcCompressorTypeEnum::Value Ifc4x3_add2::IfcCompressorType::PredefinedType() const { return ::Ifc4x3_add2::IfcCompressorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcCompressorType::setPredefinedType(::Ifc4x3_add2::IfcCompressorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcCompressorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcCompressorType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[198]); } const IfcParse::entity& Ifc4x3_add2::IfcCompressorType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[198]); } Ifc4x3_add2::IfcCompressorType::IfcCompressorType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(e)) { } -Ifc4x3_add2::IfcCompressorType::IfcCompressorType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCompressorTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcCompressorType::IfcCompressorType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCompressorTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCondenser -boost::optional< ::Ifc4x3_add2::IfcCondenserTypeEnum::Value > Ifc4x3_add2::IfcCondenser::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCondenserTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcCondenserTypeEnum::Value > Ifc4x3_add2::IfcCondenser::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCondenserTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcCondenser::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcCondenserTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcCondenserTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcCondenser::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[200]); } const IfcParse::entity& Ifc4x3_add2::IfcCondenser::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[200]); } Ifc4x3_add2::IfcCondenser::IfcCondenser(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add2::IfcCondenser::IfcCondenser(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcCondenserTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcCondenser::IfcCondenser(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcCondenserTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCondenserType -::Ifc4x3_add2::IfcCondenserTypeEnum::Value Ifc4x3_add2::IfcCondenserType::PredefinedType() const { return ::Ifc4x3_add2::IfcCondenserTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcCondenserTypeEnum::Value Ifc4x3_add2::IfcCondenserType::PredefinedType() const { return ::Ifc4x3_add2::IfcCondenserTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcCondenserType::setPredefinedType(::Ifc4x3_add2::IfcCondenserTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcCondenserTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcCondenserType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[201]); } const IfcParse::entity& Ifc4x3_add2::IfcCondenserType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[201]); } Ifc4x3_add2::IfcCondenserType::IfcCondenserType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add2::IfcCondenserType::IfcCondenserType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCondenserTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcCondenserType::IfcCondenserType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCondenserTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcConic -::Ifc4x3_add2::IfcAxis2Placement* Ifc4x3_add2::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcAxis2Placement>(true); } +::Ifc4x3_add2::IfcAxis2Placement* Ifc4x3_add2::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcAxis2Placement>(true); } void Ifc4x3_add2::IfcConic::setPosition(::Ifc4x3_add2::IfcAxis2Placement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add2::IfcConic::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[203]); } const IfcParse::entity& Ifc4x3_add2::IfcConic::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[203]); } Ifc4x3_add2::IfcConic::IfcConic(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_add2::IfcConic::IfcConic(::Ifc4x3_add2::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcConic::IfcConic(::Ifc4x3_add2::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectedFaceSet -aggregate_of< ::Ifc4x3_add2::IfcFace >::ptr Ifc4x3_add2::IfcConnectedFaceSet::CfsFaces() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcFace >(); } +aggregate_of< ::Ifc4x3_add2::IfcFace >::ptr Ifc4x3_add2::IfcConnectedFaceSet::CfsFaces() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcFace >(); } void Ifc4x3_add2::IfcConnectedFaceSet::setCfsFaces(aggregate_of< ::Ifc4x3_add2::IfcFace >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add2::IfcConnectedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[204]); } const IfcParse::entity& Ifc4x3_add2::IfcConnectedFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[204]); } Ifc4x3_add2::IfcConnectedFaceSet::IfcConnectedFaceSet(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcConnectedFaceSet::IfcConnectedFaceSet(aggregate_of< ::Ifc4x3_add2::IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcConnectedFaceSet::IfcConnectedFaceSet(aggregate_of< ::Ifc4x3_add2::IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcConnectionCurveGeometry -::Ifc4x3_add2::IfcCurveOrEdgeCurve* Ifc4x3_add2::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCurveOrEdgeCurve>(true); } +::Ifc4x3_add2::IfcCurveOrEdgeCurve* Ifc4x3_add2::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCurveOrEdgeCurve>(true); } void Ifc4x3_add2::IfcConnectionCurveGeometry::setCurveOnRelatingElement(::Ifc4x3_add2::IfcCurveOrEdgeCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcCurveOrEdgeCurve* Ifc4x3_add2::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcCurveOrEdgeCurve>(true); } +::Ifc4x3_add2::IfcCurveOrEdgeCurve* Ifc4x3_add2::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcCurveOrEdgeCurve>(true); } void Ifc4x3_add2::IfcConnectionCurveGeometry::setCurveOnRelatedElement(::Ifc4x3_add2::IfcCurveOrEdgeCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcConnectionCurveGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[205]); } const IfcParse::entity& Ifc4x3_add2::IfcConnectionCurveGeometry::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[205]); } Ifc4x3_add2::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x3_add2::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc4x3_add2::IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, ::Ifc4x3_add2::IfcCurveOrEdgeCurve* v2_CurveOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_CurveOnRelatingElement ? v1_CurveOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_CurveOnRelatedElement ? v2_CurveOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc4x3_add2::IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, ::Ifc4x3_add2::IfcCurveOrEdgeCurve* v2_CurveOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_CurveOnRelatingElement ? v1_CurveOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_CurveOnRelatedElement ? v2_CurveOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionGeometry @@ -9285,72 +9285,72 @@ Ifc4x3_add2::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc4x3_add const IfcParse::entity& Ifc4x3_add2::IfcConnectionGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[206]); } const IfcParse::entity& Ifc4x3_add2::IfcConnectionGeometry::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[206]); } Ifc4x3_add2::IfcConnectionGeometry::IfcConnectionGeometry(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add2::IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcConnectionPointEccentricity -boost::optional< double > Ifc4x3_add2::IfcConnectionPointEccentricity::EccentricityInX() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add2::IfcConnectionPointEccentricity::EccentricityInX() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcConnectionPointEccentricity::setEccentricityInX(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_add2::IfcConnectionPointEccentricity::EccentricityInY() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add2::IfcConnectionPointEccentricity::EccentricityInY() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcConnectionPointEccentricity::setEccentricityInY(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_add2::IfcConnectionPointEccentricity::EccentricityInZ() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_add2::IfcConnectionPointEccentricity::EccentricityInZ() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcConnectionPointEccentricity::setEccentricityInZ(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add2::IfcConnectionPointEccentricity::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[207]); } const IfcParse::entity& Ifc4x3_add2::IfcConnectionPointEccentricity::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[207]); } Ifc4x3_add2::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcEntityInstanceData&& e) : IfcConnectionPointGeometry(std::move(e)) { } -Ifc4x3_add2::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(::Ifc4x3_add2::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3_add2::IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; populate_derived(); } +Ifc4x3_add2::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(::Ifc4x3_add2::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3_add2::IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; populate_derived(); } // Function implementations for IfcConnectionPointGeometry -::Ifc4x3_add2::IfcPointOrVertexPoint* Ifc4x3_add2::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcPointOrVertexPoint>(true); } +::Ifc4x3_add2::IfcPointOrVertexPoint* Ifc4x3_add2::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcPointOrVertexPoint>(true); } void Ifc4x3_add2::IfcConnectionPointGeometry::setPointOnRelatingElement(::Ifc4x3_add2::IfcPointOrVertexPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcPointOrVertexPoint* Ifc4x3_add2::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcPointOrVertexPoint>(true); } +::Ifc4x3_add2::IfcPointOrVertexPoint* Ifc4x3_add2::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcPointOrVertexPoint>(true); } void Ifc4x3_add2::IfcConnectionPointGeometry::setPointOnRelatedElement(::Ifc4x3_add2::IfcPointOrVertexPoint* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcConnectionPointGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[208]); } const IfcParse::entity& Ifc4x3_add2::IfcConnectionPointGeometry::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[208]); } Ifc4x3_add2::IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x3_add2::IfcConnectionPointGeometry::IfcConnectionPointGeometry(::Ifc4x3_add2::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3_add2::IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcConnectionPointGeometry::IfcConnectionPointGeometry(::Ifc4x3_add2::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3_add2::IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionSurfaceGeometry -::Ifc4x3_add2::IfcSurfaceOrFaceSurface* Ifc4x3_add2::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcSurfaceOrFaceSurface>(true); } +::Ifc4x3_add2::IfcSurfaceOrFaceSurface* Ifc4x3_add2::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcSurfaceOrFaceSurface>(true); } void Ifc4x3_add2::IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(::Ifc4x3_add2::IfcSurfaceOrFaceSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcSurfaceOrFaceSurface* Ifc4x3_add2::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcSurfaceOrFaceSurface>(true); } +::Ifc4x3_add2::IfcSurfaceOrFaceSurface* Ifc4x3_add2::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcSurfaceOrFaceSurface>(true); } void Ifc4x3_add2::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(::Ifc4x3_add2::IfcSurfaceOrFaceSurface* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcConnectionSurfaceGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[209]); } const IfcParse::entity& Ifc4x3_add2::IfcConnectionSurfaceGeometry::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[209]); } Ifc4x3_add2::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x3_add2::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(::Ifc4x3_add2::IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, ::Ifc4x3_add2::IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SurfaceOnRelatingElement ? v1_SurfaceOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_SurfaceOnRelatedElement ? v2_SurfaceOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(::Ifc4x3_add2::IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, ::Ifc4x3_add2::IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SurfaceOnRelatingElement ? v1_SurfaceOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_SurfaceOnRelatedElement ? v2_SurfaceOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionVolumeGeometry -::Ifc4x3_add2::IfcSolidOrShell* Ifc4x3_add2::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcSolidOrShell>(true); } +::Ifc4x3_add2::IfcSolidOrShell* Ifc4x3_add2::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcSolidOrShell>(true); } void Ifc4x3_add2::IfcConnectionVolumeGeometry::setVolumeOnRelatingElement(::Ifc4x3_add2::IfcSolidOrShell* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcSolidOrShell* Ifc4x3_add2::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcSolidOrShell>(true); } +::Ifc4x3_add2::IfcSolidOrShell* Ifc4x3_add2::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcSolidOrShell>(true); } void Ifc4x3_add2::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(::Ifc4x3_add2::IfcSolidOrShell* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcConnectionVolumeGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[211]); } const IfcParse::entity& Ifc4x3_add2::IfcConnectionVolumeGeometry::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[211]); } Ifc4x3_add2::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x3_add2::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(::Ifc4x3_add2::IfcSolidOrShell* v1_VolumeOnRelatingElement, ::Ifc4x3_add2::IfcSolidOrShell* v2_VolumeOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_VolumeOnRelatingElement ? v1_VolumeOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_VolumeOnRelatedElement ? v2_VolumeOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(::Ifc4x3_add2::IfcSolidOrShell* v1_VolumeOnRelatingElement, ::Ifc4x3_add2::IfcSolidOrShell* v2_VolumeOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_VolumeOnRelatingElement ? v1_VolumeOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_VolumeOnRelatedElement ? v2_VolumeOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConstraint -std::string Ifc4x3_add2::IfcConstraint::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_add2::IfcConstraint::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcConstraint::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_add2::IfcConstraint::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcConstraint::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcConstraint::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_add2::IfcConstraintEnum::Value Ifc4x3_add2::IfcConstraint::ConstraintGrade() const { return ::Ifc4x3_add2::IfcConstraintEnum::FromString(data_.get_attribute_value(2)); } +::Ifc4x3_add2::IfcConstraintEnum::Value Ifc4x3_add2::IfcConstraint::ConstraintGrade() const { return ::Ifc4x3_add2::IfcConstraintEnum::FromString(get_attribute_value(2)); } void Ifc4x3_add2::IfcConstraint::setConstraintGrade(::Ifc4x3_add2::IfcConstraintEnum::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3_add2::IfcConstraintEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x3_add2::IfcConstraint::ConstraintSource() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcConstraint::ConstraintSource() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_add2::IfcActorSelect* Ifc4x3_add2::IfcConstraint::CreatingActor() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcActorSelect>(true); } +::Ifc4x3_add2::IfcActorSelect* Ifc4x3_add2::IfcConstraint::CreatingActor() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcActorSelect>(true); } void Ifc4x3_add2::IfcConstraint::setCreatingActor(::Ifc4x3_add2::IfcActorSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -boost::optional< std::string > Ifc4x3_add2::IfcConstraint::CreationTime() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcConstraint::CreationTime() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcConstraint::setCreationTime(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_add2::IfcConstraint::UserDefinedGrade() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcConstraint::UserDefinedGrade() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_add2::IfcExternalReferenceRelationship::list::ptr Ifc4x3_add2::IfcConstraint::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[427], 3)->as(); } @@ -9359,104 +9359,104 @@ void Ifc4x3_add2::IfcConstraint::setUserDefinedGrade(boost::optional< std::strin const IfcParse::entity& Ifc4x3_add2::IfcConstraint::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[212]); } const IfcParse::entity& Ifc4x3_add2::IfcConstraint::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[212]); } Ifc4x3_add2::IfcConstraint::IfcConstraint(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add2::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; populate_derived(); } +Ifc4x3_add2::IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add2::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; populate_derived(); } // Function implementations for IfcConstructionEquipmentResource -boost::optional< ::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x3_add2::IfcConstructionEquipmentResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x3_add2::IfcConstructionEquipmentResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add2::IfcConstructionEquipmentResource::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add2::IfcConstructionEquipmentResource::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[214]); } const IfcParse::entity& Ifc4x3_add2::IfcConstructionEquipmentResource::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[214]); } Ifc4x3_add2::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_add2::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConstructionEquipmentResourceType -::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3_add2::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3_add2::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_add2::IfcConstructionEquipmentResourceType::setPredefinedType(::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_add2::IfcConstructionEquipmentResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[215]); } const IfcParse::entity& Ifc4x3_add2::IfcConstructionEquipmentResourceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[215]); } Ifc4x3_add2::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_add2::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::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_add2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::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_add2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcConstructionMaterialResource -boost::optional< ::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x3_add2::IfcConstructionMaterialResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x3_add2::IfcConstructionMaterialResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add2::IfcConstructionMaterialResource::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add2::IfcConstructionMaterialResource::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[217]); } const IfcParse::entity& Ifc4x3_add2::IfcConstructionMaterialResource::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[217]); } Ifc4x3_add2::IfcConstructionMaterialResource::IfcConstructionMaterialResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_add2::IfcConstructionMaterialResource::IfcConstructionMaterialResource(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcConstructionMaterialResource::IfcConstructionMaterialResource(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConstructionMaterialResourceType -::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3_add2::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3_add2::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_add2::IfcConstructionMaterialResourceType::setPredefinedType(::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_add2::IfcConstructionMaterialResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[218]); } const IfcParse::entity& Ifc4x3_add2::IfcConstructionMaterialResourceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[218]); } Ifc4x3_add2::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_add2::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::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_add2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::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_add2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcConstructionProductResource -boost::optional< ::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Value > Ifc4x3_add2::IfcConstructionProductResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Value > Ifc4x3_add2::IfcConstructionProductResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add2::IfcConstructionProductResource::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add2::IfcConstructionProductResource::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[220]); } const IfcParse::entity& Ifc4x3_add2::IfcConstructionProductResource::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[220]); } Ifc4x3_add2::IfcConstructionProductResource::IfcConstructionProductResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_add2::IfcConstructionProductResource::IfcConstructionProductResource(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcConstructionProductResource::IfcConstructionProductResource(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConstructionProductResourceType -::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Value Ifc4x3_add2::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Value Ifc4x3_add2::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_add2::IfcConstructionProductResourceType::setPredefinedType(::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_add2::IfcConstructionProductResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[221]); } const IfcParse::entity& Ifc4x3_add2::IfcConstructionProductResourceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[221]); } Ifc4x3_add2::IfcConstructionProductResourceType::IfcConstructionProductResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_add2::IfcConstructionProductResourceType::IfcConstructionProductResourceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::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_add2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcConstructionProductResourceType::IfcConstructionProductResourceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::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_add2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcConstructionResource -::Ifc4x3_add2::IfcResourceTime* Ifc4x3_add2::IfcConstructionResource::Usage() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_add2::IfcResourceTime>(true); } +::Ifc4x3_add2::IfcResourceTime* Ifc4x3_add2::IfcConstructionResource::Usage() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_add2::IfcResourceTime>(true); } void Ifc4x3_add2::IfcConstructionResource::setUsage(::Ifc4x3_add2::IfcResourceTime* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAppliedValue >::ptr > Ifc4x3_add2::IfcConstructionResource::BaseCosts() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_add2::IfcAppliedValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAppliedValue >::ptr > Ifc4x3_add2::IfcConstructionResource::BaseCosts() const { if(get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_add2::IfcAppliedValue >(); } void Ifc4x3_add2::IfcConstructionResource::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAppliedValue >::ptr > v) { if (v) {set_attribute_value(8, (*v)->generalize());} else {unset_attribute_value(8);} } -::Ifc4x3_add2::IfcPhysicalQuantity* Ifc4x3_add2::IfcConstructionResource::BaseQuantity() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_add2::IfcPhysicalQuantity>(true); } +::Ifc4x3_add2::IfcPhysicalQuantity* Ifc4x3_add2::IfcConstructionResource::BaseQuantity() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_add2::IfcPhysicalQuantity>(true); } void Ifc4x3_add2::IfcConstructionResource::setBaseQuantity(::Ifc4x3_add2::IfcPhysicalQuantity* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcConstructionResource::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[223]); } const IfcParse::entity& Ifc4x3_add2::IfcConstructionResource::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[223]); } Ifc4x3_add2::IfcConstructionResource::IfcConstructionResource(IfcEntityInstanceData&& e) : IfcResource(std::move(e)) { } -Ifc4x3_add2::IfcConstructionResource::IfcConstructionResource(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity* v10_BaseQuantity) : IfcResource(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcConstructionResource::IfcConstructionResource(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity* v10_BaseQuantity) : IfcResource(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConstructionResourceType -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAppliedValue >::ptr > Ifc4x3_add2::IfcConstructionResourceType::BaseCosts() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3_add2::IfcAppliedValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAppliedValue >::ptr > Ifc4x3_add2::IfcConstructionResourceType::BaseCosts() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3_add2::IfcAppliedValue >(); } void Ifc4x3_add2::IfcConstructionResourceType::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAppliedValue >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -::Ifc4x3_add2::IfcPhysicalQuantity* Ifc4x3_add2::IfcConstructionResourceType::BaseQuantity() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_add2::IfcPhysicalQuantity>(true); } +::Ifc4x3_add2::IfcPhysicalQuantity* Ifc4x3_add2::IfcConstructionResourceType::BaseQuantity() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_add2::IfcPhysicalQuantity>(true); } void Ifc4x3_add2::IfcConstructionResourceType::setBaseQuantity(::Ifc4x3_add2::IfcPhysicalQuantity* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_add2::IfcConstructionResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[224]); } const IfcParse::entity& Ifc4x3_add2::IfcConstructionResourceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[224]); } Ifc4x3_add2::IfcConstructionResourceType::IfcConstructionResourceType(IfcEntityInstanceData&& e) : IfcTypeResource(std::move(e)) { } -Ifc4x3_add2::IfcConstructionResourceType::IfcConstructionResourceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::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_add2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity* v11_BaseQuantity) : IfcTypeResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcConstructionResourceType::IfcConstructionResourceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::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_add2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity* v11_BaseQuantity) : IfcTypeResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcContext -boost::optional< std::string > Ifc4x3_add2::IfcContext::ObjectType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcContext::ObjectType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcContext::setObjectType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add2::IfcContext::LongName() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcContext::LongName() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcContext::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_add2::IfcContext::Phase() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcContext::Phase() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcContext::setPhase(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationContext >::ptr > Ifc4x3_add2::IfcContext::RepresentationContexts() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_add2::IfcRepresentationContext >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationContext >::ptr > Ifc4x3_add2::IfcContext::RepresentationContexts() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_add2::IfcRepresentationContext >(); } void Ifc4x3_add2::IfcContext::setRepresentationContexts(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationContext >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -::Ifc4x3_add2::IfcUnitAssignment* Ifc4x3_add2::IfcContext::UnitsInContext() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_add2::IfcUnitAssignment>(true); } +::Ifc4x3_add2::IfcUnitAssignment* Ifc4x3_add2::IfcContext::UnitsInContext() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_add2::IfcUnitAssignment>(true); } void Ifc4x3_add2::IfcContext::setUnitsInContext(::Ifc4x3_add2::IfcUnitAssignment* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } ::Ifc4x3_add2::IfcRelDefinesByProperties::list::ptr Ifc4x3_add2::IfcContext::IsDefinedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[933], 4)->as(); } @@ -9465,10 +9465,10 @@ void Ifc4x3_add2::IfcContext::setUnitsInContext(::Ifc4x3_add2::IfcUnitAssignment const IfcParse::entity& Ifc4x3_add2::IfcContext::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[225]); } const IfcParse::entity& Ifc4x3_add2::IfcContext::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[225]); } Ifc4x3_add2::IfcContext::IfcContext(IfcEntityInstanceData&& e) : IfcObjectDefinition(std::move(e)) { } -Ifc4x3_add2::IfcContext::IfcContext(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_add2::IfcUnitAssignment* v9_UnitsInContext) : IfcObjectDefinition(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcContext::IfcContext(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_add2::IfcUnitAssignment* v9_UnitsInContext) : IfcObjectDefinition(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcContextDependentUnit -std::string Ifc4x3_add2::IfcContextDependentUnit::Name() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3_add2::IfcContextDependentUnit::Name() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcContextDependentUnit::setName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } ::Ifc4x3_add2::IfcExternalReferenceRelationship::list::ptr Ifc4x3_add2::IfcContextDependentUnit::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[427], 3)->as(); } @@ -9476,10 +9476,10 @@ void Ifc4x3_add2::IfcContextDependentUnit::setName(std::string v) { set_attribut const IfcParse::entity& Ifc4x3_add2::IfcContextDependentUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[227]); } const IfcParse::entity& Ifc4x3_add2::IfcContextDependentUnit::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[227]); } Ifc4x3_add2::IfcContextDependentUnit::IfcContextDependentUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -Ifc4x3_add2::IfcContextDependentUnit::IfcContextDependentUnit(::Ifc4x3_add2::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_add2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) : IfcNamedUnit(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; populate_derived(); } +Ifc4x3_add2::IfcContextDependentUnit::IfcContextDependentUnit(::Ifc4x3_add2::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_add2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) : IfcNamedUnit(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; populate_derived(); } // Function implementations for IfcControl -boost::optional< std::string > Ifc4x3_add2::IfcControl::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcControl::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcControl::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x3_add2::IfcRelAssignsToControl::list::ptr Ifc4x3_add2::IfcControl::Controls() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[902], 6)->as(); } @@ -9487,32 +9487,32 @@ void Ifc4x3_add2::IfcControl::setIdentification(boost::optional< std::string > v const IfcParse::entity& Ifc4x3_add2::IfcControl::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[228]); } const IfcParse::entity& Ifc4x3_add2::IfcControl::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[228]); } Ifc4x3_add2::IfcControl::IfcControl(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_add2::IfcControl::IfcControl(std::string v1_GlobalId, ::Ifc4x3_add2::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(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }; populate_derived(); } +Ifc4x3_add2::IfcControl::IfcControl(std::string v1_GlobalId, ::Ifc4x3_add2::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(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }; populate_derived(); } // Function implementations for IfcController -boost::optional< ::Ifc4x3_add2::IfcControllerTypeEnum::Value > Ifc4x3_add2::IfcController::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcControllerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcControllerTypeEnum::Value > Ifc4x3_add2::IfcController::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcControllerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcController::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcControllerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcControllerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcController::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[229]); } const IfcParse::entity& Ifc4x3_add2::IfcController::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[229]); } Ifc4x3_add2::IfcController::IfcController(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_add2::IfcController::IfcController(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcControllerTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcController::IfcController(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcControllerTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcControllerType -::Ifc4x3_add2::IfcControllerTypeEnum::Value Ifc4x3_add2::IfcControllerType::PredefinedType() const { return ::Ifc4x3_add2::IfcControllerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcControllerTypeEnum::Value Ifc4x3_add2::IfcControllerType::PredefinedType() const { return ::Ifc4x3_add2::IfcControllerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcControllerType::setPredefinedType(::Ifc4x3_add2::IfcControllerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcControllerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcControllerType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[230]); } const IfcParse::entity& Ifc4x3_add2::IfcControllerType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[230]); } Ifc4x3_add2::IfcControllerType::IfcControllerType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_add2::IfcControllerType::IfcControllerType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcControllerTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcControllerType::IfcControllerType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcControllerTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcConversionBasedUnit -std::string Ifc4x3_add2::IfcConversionBasedUnit::Name() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3_add2::IfcConversionBasedUnit::Name() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcConversionBasedUnit::setName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcMeasureWithUnit* Ifc4x3_add2::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcMeasureWithUnit>(true); } +::Ifc4x3_add2::IfcMeasureWithUnit* Ifc4x3_add2::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcMeasureWithUnit>(true); } void Ifc4x3_add2::IfcConversionBasedUnit::setConversionFactor(::Ifc4x3_add2::IfcMeasureWithUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } ::Ifc4x3_add2::IfcExternalReferenceRelationship::list::ptr Ifc4x3_add2::IfcConversionBasedUnit::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[427], 3)->as(); } @@ -9520,96 +9520,96 @@ void Ifc4x3_add2::IfcConversionBasedUnit::setConversionFactor(::Ifc4x3_add2::Ifc const IfcParse::entity& Ifc4x3_add2::IfcConversionBasedUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[232]); } const IfcParse::entity& Ifc4x3_add2::IfcConversionBasedUnit::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[232]); } Ifc4x3_add2::IfcConversionBasedUnit::IfcConversionBasedUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -Ifc4x3_add2::IfcConversionBasedUnit::IfcConversionBasedUnit(::Ifc4x3_add2::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_add2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_add2::IfcMeasureWithUnit* v4_ConversionFactor) : IfcNamedUnit(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcConversionBasedUnit::IfcConversionBasedUnit(::Ifc4x3_add2::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_add2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_add2::IfcMeasureWithUnit* v4_ConversionFactor) : IfcNamedUnit(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConversionBasedUnitWithOffset -double Ifc4x3_add2::IfcConversionBasedUnitWithOffset::ConversionOffset() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add2::IfcConversionBasedUnitWithOffset::ConversionOffset() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcConversionBasedUnitWithOffset::setConversionOffset(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add2::IfcConversionBasedUnitWithOffset::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[233]); } const IfcParse::entity& Ifc4x3_add2::IfcConversionBasedUnitWithOffset::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[233]); } Ifc4x3_add2::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(IfcEntityInstanceData&& e) : IfcConversionBasedUnit(std::move(e)) { } -Ifc4x3_add2::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(::Ifc4x3_add2::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_add2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_add2::IfcMeasureWithUnit* v4_ConversionFactor, double v5_ConversionOffset) : IfcConversionBasedUnit(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ConversionOffset));; populate_derived(); } +Ifc4x3_add2::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(::Ifc4x3_add2::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_add2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_add2::IfcMeasureWithUnit* v4_ConversionFactor, double v5_ConversionOffset) : IfcConversionBasedUnit(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ConversionOffset));; populate_derived(); } // Function implementations for IfcConveyorSegment -boost::optional< ::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Value > Ifc4x3_add2::IfcConveyorSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Value > Ifc4x3_add2::IfcConveyorSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcConveyorSegment::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcConveyorSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[234]); } const IfcParse::entity& Ifc4x3_add2::IfcConveyorSegment::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[234]); } Ifc4x3_add2::IfcConveyorSegment::IfcConveyorSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x3_add2::IfcConveyorSegment::IfcConveyorSegment(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcConveyorSegment::IfcConveyorSegment(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConveyorSegmentType -::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Value Ifc4x3_add2::IfcConveyorSegmentType::PredefinedType() const { return ::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Value Ifc4x3_add2::IfcConveyorSegmentType::PredefinedType() const { return ::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcConveyorSegmentType::setPredefinedType(::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcConveyorSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[235]); } const IfcParse::entity& Ifc4x3_add2::IfcConveyorSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[235]); } Ifc4x3_add2::IfcConveyorSegmentType::IfcConveyorSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x3_add2::IfcConveyorSegmentType::IfcConveyorSegmentType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcConveyorSegmentType::IfcConveyorSegmentType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcConveyorSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCooledBeam -boost::optional< ::Ifc4x3_add2::IfcCooledBeamTypeEnum::Value > Ifc4x3_add2::IfcCooledBeam::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCooledBeamTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcCooledBeamTypeEnum::Value > Ifc4x3_add2::IfcCooledBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCooledBeamTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcCooledBeam::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcCooledBeamTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcCooledBeamTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcCooledBeam::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[237]); } const IfcParse::entity& Ifc4x3_add2::IfcCooledBeam::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[237]); } Ifc4x3_add2::IfcCooledBeam::IfcCooledBeam(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add2::IfcCooledBeam::IfcCooledBeam(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcCooledBeam::IfcCooledBeam(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCooledBeamType -::Ifc4x3_add2::IfcCooledBeamTypeEnum::Value Ifc4x3_add2::IfcCooledBeamType::PredefinedType() const { return ::Ifc4x3_add2::IfcCooledBeamTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcCooledBeamTypeEnum::Value Ifc4x3_add2::IfcCooledBeamType::PredefinedType() const { return ::Ifc4x3_add2::IfcCooledBeamTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcCooledBeamType::setPredefinedType(::Ifc4x3_add2::IfcCooledBeamTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcCooledBeamTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcCooledBeamType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[238]); } const IfcParse::entity& Ifc4x3_add2::IfcCooledBeamType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[238]); } Ifc4x3_add2::IfcCooledBeamType::IfcCooledBeamType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add2::IfcCooledBeamType::IfcCooledBeamType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCooledBeamTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcCooledBeamType::IfcCooledBeamType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCooledBeamTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCoolingTower -boost::optional< ::Ifc4x3_add2::IfcCoolingTowerTypeEnum::Value > Ifc4x3_add2::IfcCoolingTower::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCoolingTowerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcCoolingTowerTypeEnum::Value > Ifc4x3_add2::IfcCoolingTower::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcCoolingTower::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcCoolingTowerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcCoolingTowerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcCoolingTower::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[240]); } const IfcParse::entity& Ifc4x3_add2::IfcCoolingTower::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[240]); } Ifc4x3_add2::IfcCoolingTower::IfcCoolingTower(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add2::IfcCoolingTower::IfcCoolingTower(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcCoolingTower::IfcCoolingTower(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCoolingTowerType -::Ifc4x3_add2::IfcCoolingTowerTypeEnum::Value Ifc4x3_add2::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4x3_add2::IfcCoolingTowerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcCoolingTowerTypeEnum::Value Ifc4x3_add2::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4x3_add2::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcCoolingTowerType::setPredefinedType(::Ifc4x3_add2::IfcCoolingTowerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcCoolingTowerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcCoolingTowerType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[241]); } const IfcParse::entity& Ifc4x3_add2::IfcCoolingTowerType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[241]); } Ifc4x3_add2::IfcCoolingTowerType::IfcCoolingTowerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add2::IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCoordinateOperation -::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect* Ifc4x3_add2::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect>(true); } +::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect* Ifc4x3_add2::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect>(true); } void Ifc4x3_add2::IfcCoordinateOperation::setSourceCRS(::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcCoordinateReferenceSystem* Ifc4x3_add2::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcCoordinateReferenceSystem>(true); } +::Ifc4x3_add2::IfcCoordinateReferenceSystem* Ifc4x3_add2::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcCoordinateReferenceSystem>(true); } void Ifc4x3_add2::IfcCoordinateOperation::setTargetCRS(::Ifc4x3_add2::IfcCoordinateReferenceSystem* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcCoordinateOperation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[243]); } const IfcParse::entity& Ifc4x3_add2::IfcCoordinateOperation::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[243]); } Ifc4x3_add2::IfcCoordinateOperation::IfcCoordinateOperation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcCoordinateOperation::IfcCoordinateOperation(::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_add2::IfcCoordinateReferenceSystem* v2_TargetCRS) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcCoordinateOperation::IfcCoordinateOperation(::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_add2::IfcCoordinateReferenceSystem* v2_TargetCRS) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCoordinateReferenceSystem -boost::optional< std::string > Ifc4x3_add2::IfcCoordinateReferenceSystem::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcCoordinateReferenceSystem::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcCoordinateReferenceSystem::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add2::IfcCoordinateReferenceSystem::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcCoordinateReferenceSystem::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcCoordinateReferenceSystem::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_add2::IfcCoordinateReferenceSystem::GeodeticDatum() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcCoordinateReferenceSystem::GeodeticDatum() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcCoordinateReferenceSystem::setGeodeticDatum(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3_add2::IfcCoordinateOperation::list::ptr Ifc4x3_add2::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[243], 0)->as(); } @@ -9618,49 +9618,49 @@ void Ifc4x3_add2::IfcCoordinateReferenceSystem::setGeodeticDatum(boost::optional const IfcParse::entity& Ifc4x3_add2::IfcCoordinateReferenceSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[244]); } const IfcParse::entity& Ifc4x3_add2::IfcCoordinateReferenceSystem::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[244]); } Ifc4x3_add2::IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_GeodeticDatum) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); }; populate_derived(); } +Ifc4x3_add2::IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_GeodeticDatum) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); }; populate_derived(); } // Function implementations for IfcCosineSpiral -double Ifc4x3_add2::IfcCosineSpiral::CosineTerm() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add2::IfcCosineSpiral::CosineTerm() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcCosineSpiral::setCosineTerm(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_add2::IfcCosineSpiral::ConstantTerm() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add2::IfcCosineSpiral::ConstantTerm() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcCosineSpiral::setConstantTerm(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_add2::IfcCosineSpiral::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[246]); } const IfcParse::entity& Ifc4x3_add2::IfcCosineSpiral::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[246]); } Ifc4x3_add2::IfcCosineSpiral::IfcCosineSpiral(IfcEntityInstanceData&& e) : IfcSpiral(std::move(e)) { } -Ifc4x3_add2::IfcCosineSpiral::IfcCosineSpiral(::Ifc4x3_add2::IfcAxis2Placement* v1_Position, double v2_CosineTerm, boost::optional< double > v3_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CosineTerm)); if (v3_ConstantTerm) {set_attribute_value(2, (*v3_ConstantTerm)); }; populate_derived(); } +Ifc4x3_add2::IfcCosineSpiral::IfcCosineSpiral(::Ifc4x3_add2::IfcAxis2Placement* v1_Position, double v2_CosineTerm, boost::optional< double > v3_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CosineTerm)); if (v3_ConstantTerm) {set_attribute_value(2, (*v3_ConstantTerm)); }; populate_derived(); } // Function implementations for IfcCostItem -boost::optional< ::Ifc4x3_add2::IfcCostItemTypeEnum::Value > Ifc4x3_add2::IfcCostItem::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCostItemTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_add2::IfcCostItemTypeEnum::Value > Ifc4x3_add2::IfcCostItem::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCostItemTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_add2::IfcCostItem::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcCostItemTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_add2::IfcCostItemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcCostValue >::ptr > Ifc4x3_add2::IfcCostItem::CostValues() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_add2::IfcCostValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcCostValue >::ptr > Ifc4x3_add2::IfcCostItem::CostValues() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_add2::IfcCostValue >(); } void Ifc4x3_add2::IfcCostItem::setCostValues(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcCostValue >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPhysicalQuantity >::ptr > Ifc4x3_add2::IfcCostItem::CostQuantities() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_add2::IfcPhysicalQuantity >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPhysicalQuantity >::ptr > Ifc4x3_add2::IfcCostItem::CostQuantities() const { if(get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_add2::IfcPhysicalQuantity >(); } void Ifc4x3_add2::IfcCostItem::setCostQuantities(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPhysicalQuantity >::ptr > v) { if (v) {set_attribute_value(8, (*v)->generalize());} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcCostItem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[247]); } const IfcParse::entity& Ifc4x3_add2::IfcCostItem::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[247]); } Ifc4x3_add2::IfcCostItem::IfcCostItem(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_add2::IfcCostItem::IfcCostItem(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcCostItemTypeEnum::Value > v7_PredefinedType, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcCostValue >::ptr > v8_CostValues, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPhysicalQuantity >::ptr > v9_CostQuantities) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add2::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, (*v8_CostValues)->generalize()); } if (v9_CostQuantities) {set_attribute_value(8, (*v9_CostQuantities)->generalize()); }; populate_derived(); } +Ifc4x3_add2::IfcCostItem::IfcCostItem(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcCostItemTypeEnum::Value > v7_PredefinedType, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcCostValue >::ptr > v8_CostValues, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPhysicalQuantity >::ptr > v9_CostQuantities) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add2::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, (*v8_CostValues)->generalize()); } if (v9_CostQuantities) {set_attribute_value(8, (*v9_CostQuantities)->generalize()); }; populate_derived(); } // Function implementations for IfcCostSchedule -boost::optional< ::Ifc4x3_add2::IfcCostScheduleTypeEnum::Value > Ifc4x3_add2::IfcCostSchedule::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCostScheduleTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_add2::IfcCostScheduleTypeEnum::Value > Ifc4x3_add2::IfcCostSchedule::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCostScheduleTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_add2::IfcCostSchedule::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcCostScheduleTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_add2::IfcCostScheduleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_add2::IfcCostSchedule::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcCostSchedule::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcCostSchedule::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_add2::IfcCostSchedule::SubmittedOn() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcCostSchedule::SubmittedOn() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcCostSchedule::setSubmittedOn(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_add2::IfcCostSchedule::UpdateDate() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcCostSchedule::UpdateDate() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_add2::IfcCostSchedule::setUpdateDate(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_add2::IfcCostSchedule::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[249]); } const IfcParse::entity& Ifc4x3_add2::IfcCostSchedule::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[249]); } Ifc4x3_add2::IfcCostSchedule::IfcCostSchedule(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_add2::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_SubmittedOn, boost::optional< std::string > v10_UpdateDate) : IfcControl(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add2::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); }; populate_derived(); } +Ifc4x3_add2::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_SubmittedOn, boost::optional< std::string > v10_UpdateDate) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add2::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); }; populate_derived(); } // Function implementations for IfcCostValue @@ -9668,30 +9668,30 @@ Ifc4x3_add2::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc4x3_ const IfcParse::entity& Ifc4x3_add2::IfcCostValue::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[251]); } const IfcParse::entity& Ifc4x3_add2::IfcCostValue::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[251]); } Ifc4x3_add2::IfcCostValue::IfcCostValue(IfcEntityInstanceData&& e) : IfcAppliedValue(std::move(e)) { } -Ifc4x3_add2::IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3_add2::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_add2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAppliedValue >::ptr > v10_Components) : IfcAppliedValue(IfcEntityInstanceData(storage_t(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } +Ifc4x3_add2::IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3_add2::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_add2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAppliedValue >::ptr > v10_Components) : IfcAppliedValue(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } // Function implementations for IfcCourse -boost::optional< ::Ifc4x3_add2::IfcCourseTypeEnum::Value > Ifc4x3_add2::IfcCourse::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCourseTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcCourseTypeEnum::Value > Ifc4x3_add2::IfcCourse::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCourseTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcCourse::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcCourseTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcCourseTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcCourse::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[253]); } const IfcParse::entity& Ifc4x3_add2::IfcCourse::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[253]); } Ifc4x3_add2::IfcCourse::IfcCourse(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add2::IfcCourse::IfcCourse(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcCourseTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcCourseTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcCourse::IfcCourse(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcCourseTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcCourseTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCourseType -::Ifc4x3_add2::IfcCourseTypeEnum::Value Ifc4x3_add2::IfcCourseType::PredefinedType() const { return ::Ifc4x3_add2::IfcCourseTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcCourseTypeEnum::Value Ifc4x3_add2::IfcCourseType::PredefinedType() const { return ::Ifc4x3_add2::IfcCourseTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcCourseType::setPredefinedType(::Ifc4x3_add2::IfcCourseTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcCourseTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcCourseType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[254]); } const IfcParse::entity& Ifc4x3_add2::IfcCourseType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[254]); } Ifc4x3_add2::IfcCourseType::IfcCourseType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add2::IfcCourseType::IfcCourseType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCourseTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcCourseTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcCourseType::IfcCourseType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCourseTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcCourseTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCovering -boost::optional< ::Ifc4x3_add2::IfcCoveringTypeEnum::Value > Ifc4x3_add2::IfcCovering::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCoveringTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcCoveringTypeEnum::Value > Ifc4x3_add2::IfcCovering::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCoveringTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcCovering::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcCoveringTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcCoveringTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x3_add2::IfcRelCoversSpaces::list::ptr Ifc4x3_add2::IfcCovering::CoversSpaces() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[928], 5)->as(); } @@ -9700,95 +9700,95 @@ void Ifc4x3_add2::IfcCovering::setPredefinedType(boost::optional< ::Ifc4x3_add2: const IfcParse::entity& Ifc4x3_add2::IfcCovering::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[256]); } const IfcParse::entity& Ifc4x3_add2::IfcCovering::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[256]); } Ifc4x3_add2::IfcCovering::IfcCovering(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add2::IfcCovering::IfcCovering(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcCoveringTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcCovering::IfcCovering(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcCoveringTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCoveringType -::Ifc4x3_add2::IfcCoveringTypeEnum::Value Ifc4x3_add2::IfcCoveringType::PredefinedType() const { return ::Ifc4x3_add2::IfcCoveringTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcCoveringTypeEnum::Value Ifc4x3_add2::IfcCoveringType::PredefinedType() const { return ::Ifc4x3_add2::IfcCoveringTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcCoveringType::setPredefinedType(::Ifc4x3_add2::IfcCoveringTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcCoveringTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcCoveringType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[257]); } const IfcParse::entity& Ifc4x3_add2::IfcCoveringType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[257]); } Ifc4x3_add2::IfcCoveringType::IfcCoveringType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add2::IfcCoveringType::IfcCoveringType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCoveringTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcCoveringType::IfcCoveringType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCoveringTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCrewResource -boost::optional< ::Ifc4x3_add2::IfcCrewResourceTypeEnum::Value > Ifc4x3_add2::IfcCrewResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCrewResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add2::IfcCrewResourceTypeEnum::Value > Ifc4x3_add2::IfcCrewResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCrewResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add2::IfcCrewResource::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcCrewResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add2::IfcCrewResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add2::IfcCrewResource::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[259]); } const IfcParse::entity& Ifc4x3_add2::IfcCrewResource::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[259]); } Ifc4x3_add2::IfcCrewResource::IfcCrewResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_add2::IfcCrewResource::IfcCrewResource(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_add2::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcCrewResource::IfcCrewResource(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_add2::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCrewResourceType -::Ifc4x3_add2::IfcCrewResourceTypeEnum::Value Ifc4x3_add2::IfcCrewResourceType::PredefinedType() const { return ::Ifc4x3_add2::IfcCrewResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_add2::IfcCrewResourceTypeEnum::Value Ifc4x3_add2::IfcCrewResourceType::PredefinedType() const { return ::Ifc4x3_add2::IfcCrewResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_add2::IfcCrewResourceType::setPredefinedType(::Ifc4x3_add2::IfcCrewResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_add2::IfcCrewResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_add2::IfcCrewResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[260]); } const IfcParse::entity& Ifc4x3_add2::IfcCrewResourceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[260]); } Ifc4x3_add2::IfcCrewResourceType::IfcCrewResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_add2::IfcCrewResourceType::IfcCrewResourceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::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_add2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_add2::IfcCrewResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add2::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcCrewResourceType::IfcCrewResourceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::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_add2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_add2::IfcCrewResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add2::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcCsgPrimitive3D -::Ifc4x3_add2::IfcAxis2Placement3D* Ifc4x3_add2::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcAxis2Placement3D>(true); } +::Ifc4x3_add2::IfcAxis2Placement3D* Ifc4x3_add2::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcAxis2Placement3D>(true); } void Ifc4x3_add2::IfcCsgPrimitive3D::setPosition(::Ifc4x3_add2::IfcAxis2Placement3D* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add2::IfcCsgPrimitive3D::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[262]); } const IfcParse::entity& Ifc4x3_add2::IfcCsgPrimitive3D::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[262]); } Ifc4x3_add2::IfcCsgPrimitive3D::IfcCsgPrimitive3D(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcCsgPrimitive3D::IfcCsgPrimitive3D(::Ifc4x3_add2::IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcCsgPrimitive3D::IfcCsgPrimitive3D(::Ifc4x3_add2::IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCsgSolid -::Ifc4x3_add2::IfcCsgSelect* Ifc4x3_add2::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCsgSelect>(true); } +::Ifc4x3_add2::IfcCsgSelect* Ifc4x3_add2::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCsgSelect>(true); } void Ifc4x3_add2::IfcCsgSolid::setTreeRootExpression(::Ifc4x3_add2::IfcCsgSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add2::IfcCsgSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[264]); } const IfcParse::entity& Ifc4x3_add2::IfcCsgSolid::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[264]); } Ifc4x3_add2::IfcCsgSolid::IfcCsgSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3_add2::IfcCsgSolid::IfcCsgSolid(::Ifc4x3_add2::IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_TreeRootExpression ? v1_TreeRootExpression->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcCsgSolid::IfcCsgSolid(::Ifc4x3_add2::IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_TreeRootExpression ? v1_TreeRootExpression->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCurrencyRelationship -::Ifc4x3_add2::IfcMonetaryUnit* Ifc4x3_add2::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcMonetaryUnit>(true); } +::Ifc4x3_add2::IfcMonetaryUnit* Ifc4x3_add2::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcMonetaryUnit>(true); } void Ifc4x3_add2::IfcCurrencyRelationship::setRelatingMonetaryUnit(::Ifc4x3_add2::IfcMonetaryUnit* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcMonetaryUnit* Ifc4x3_add2::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcMonetaryUnit>(true); } +::Ifc4x3_add2::IfcMonetaryUnit* Ifc4x3_add2::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcMonetaryUnit>(true); } void Ifc4x3_add2::IfcCurrencyRelationship::setRelatedMonetaryUnit(::Ifc4x3_add2::IfcMonetaryUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_add2::IfcCurrencyRelationship::ExchangeRate() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add2::IfcCurrencyRelationship::ExchangeRate() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcCurrencyRelationship::setExchangeRate(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< std::string > Ifc4x3_add2::IfcCurrencyRelationship::RateDateTime() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcCurrencyRelationship::RateDateTime() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcCurrencyRelationship::setRateDateTime(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_add2::IfcLibraryInformation* Ifc4x3_add2::IfcCurrencyRelationship::RateSource() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add2::IfcLibraryInformation>(true); } +::Ifc4x3_add2::IfcLibraryInformation* Ifc4x3_add2::IfcCurrencyRelationship::RateSource() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add2::IfcLibraryInformation>(true); } void Ifc4x3_add2::IfcCurrencyRelationship::setRateSource(::Ifc4x3_add2::IfcLibraryInformation* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add2::IfcCurrencyRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[266]); } const IfcParse::entity& Ifc4x3_add2::IfcCurrencyRelationship::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[266]); } Ifc4x3_add2::IfcCurrencyRelationship::IfcCurrencyRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_add2::IfcCurrencyRelationship::IfcCurrencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcMonetaryUnit* v3_RelatingMonetaryUnit, ::Ifc4x3_add2::IfcMonetaryUnit* v4_RelatedMonetaryUnit, double v5_ExchangeRate, boost::optional< std::string > v6_RateDateTime, ::Ifc4x3_add2::IfcLibraryInformation* v7_RateSource) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMonetaryUnit ? v3_RelatingMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_RelatedMonetaryUnit ? v4_RelatedMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, v7_RateSource ? v7_RateSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcCurrencyRelationship::IfcCurrencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcMonetaryUnit* v3_RelatingMonetaryUnit, ::Ifc4x3_add2::IfcMonetaryUnit* v4_RelatedMonetaryUnit, double v5_ExchangeRate, boost::optional< std::string > v6_RateDateTime, ::Ifc4x3_add2::IfcLibraryInformation* v7_RateSource) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMonetaryUnit ? v3_RelatingMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_RelatedMonetaryUnit ? v4_RelatedMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, v7_RateSource ? v7_RateSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCurtainWall -boost::optional< ::Ifc4x3_add2::IfcCurtainWallTypeEnum::Value > Ifc4x3_add2::IfcCurtainWall::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCurtainWallTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcCurtainWallTypeEnum::Value > Ifc4x3_add2::IfcCurtainWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCurtainWallTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcCurtainWall::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcCurtainWallTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcCurtainWallTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcCurtainWall::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[267]); } const IfcParse::entity& Ifc4x3_add2::IfcCurtainWall::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[267]); } Ifc4x3_add2::IfcCurtainWall::IfcCurtainWall(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add2::IfcCurtainWall::IfcCurtainWall(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcCurtainWall::IfcCurtainWall(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCurtainWallType -::Ifc4x3_add2::IfcCurtainWallTypeEnum::Value Ifc4x3_add2::IfcCurtainWallType::PredefinedType() const { return ::Ifc4x3_add2::IfcCurtainWallTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcCurtainWallTypeEnum::Value Ifc4x3_add2::IfcCurtainWallType::PredefinedType() const { return ::Ifc4x3_add2::IfcCurtainWallTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcCurtainWallType::setPredefinedType(::Ifc4x3_add2::IfcCurtainWallTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcCurtainWallTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcCurtainWallType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[268]); } const IfcParse::entity& Ifc4x3_add2::IfcCurtainWallType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[268]); } Ifc4x3_add2::IfcCurtainWallType::IfcCurtainWallType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add2::IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCurtainWallTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcCurtainWallTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCurve @@ -9796,135 +9796,135 @@ Ifc4x3_add2::IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, ::I const IfcParse::entity& Ifc4x3_add2::IfcCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[271]); } const IfcParse::entity& Ifc4x3_add2::IfcCurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[271]); } Ifc4x3_add2::IfcCurve::IfcCurve(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcCurve::IfcCurve() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add2::IfcCurve::IfcCurve() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcCurveBoundedPlane -::Ifc4x3_add2::IfcPlane* Ifc4x3_add2::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcPlane>(true); } +::Ifc4x3_add2::IfcPlane* Ifc4x3_add2::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcPlane>(true); } void Ifc4x3_add2::IfcCurveBoundedPlane::setBasisSurface(::Ifc4x3_add2::IfcPlane* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcCurve* Ifc4x3_add2::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcCurve>(true); } +::Ifc4x3_add2::IfcCurve* Ifc4x3_add2::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcCurve>(true); } void Ifc4x3_add2::IfcCurveBoundedPlane::setOuterBoundary(::Ifc4x3_add2::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3_add2::IfcCurve >::ptr Ifc4x3_add2::IfcCurveBoundedPlane::InnerBoundaries() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcCurve >(); } +aggregate_of< ::Ifc4x3_add2::IfcCurve >::ptr Ifc4x3_add2::IfcCurveBoundedPlane::InnerBoundaries() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcCurve >(); } void Ifc4x3_add2::IfcCurveBoundedPlane::setInnerBoundaries(aggregate_of< ::Ifc4x3_add2::IfcCurve >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcCurveBoundedPlane::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[272]); } const IfcParse::entity& Ifc4x3_add2::IfcCurveBoundedPlane::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[272]); } Ifc4x3_add2::IfcCurveBoundedPlane::IfcCurveBoundedPlane(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x3_add2::IfcCurveBoundedPlane::IfcCurveBoundedPlane(::Ifc4x3_add2::IfcPlane* v1_BasisSurface, ::Ifc4x3_add2::IfcCurve* v2_OuterBoundary, aggregate_of< ::Ifc4x3_add2::IfcCurve >::ptr v3_InnerBoundaries) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OuterBoundary ? v2_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_InnerBoundaries)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcCurveBoundedPlane::IfcCurveBoundedPlane(::Ifc4x3_add2::IfcPlane* v1_BasisSurface, ::Ifc4x3_add2::IfcCurve* v2_OuterBoundary, aggregate_of< ::Ifc4x3_add2::IfcCurve >::ptr v3_InnerBoundaries) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OuterBoundary ? v2_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_InnerBoundaries)->generalize());; populate_derived(); } // Function implementations for IfcCurveBoundedSurface -::Ifc4x3_add2::IfcSurface* Ifc4x3_add2::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcSurface>(true); } +::Ifc4x3_add2::IfcSurface* Ifc4x3_add2::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcSurface>(true); } void Ifc4x3_add2::IfcCurveBoundedSurface::setBasisSurface(::Ifc4x3_add2::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_add2::IfcBoundaryCurve >::ptr Ifc4x3_add2::IfcCurveBoundedSurface::Boundaries() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcBoundaryCurve >(); } +aggregate_of< ::Ifc4x3_add2::IfcBoundaryCurve >::ptr Ifc4x3_add2::IfcCurveBoundedSurface::Boundaries() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcBoundaryCurve >(); } void Ifc4x3_add2::IfcCurveBoundedSurface::setBoundaries(aggregate_of< ::Ifc4x3_add2::IfcBoundaryCurve >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -bool Ifc4x3_add2::IfcCurveBoundedSurface::ImplicitOuter() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x3_add2::IfcCurveBoundedSurface::ImplicitOuter() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcCurveBoundedSurface::setImplicitOuter(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcCurveBoundedSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[273]); } const IfcParse::entity& Ifc4x3_add2::IfcCurveBoundedSurface::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[273]); } Ifc4x3_add2::IfcCurveBoundedSurface::IfcCurveBoundedSurface(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x3_add2::IfcCurveBoundedSurface::IfcCurveBoundedSurface(::Ifc4x3_add2::IfcSurface* v1_BasisSurface, aggregate_of< ::Ifc4x3_add2::IfcBoundaryCurve >::ptr v2_Boundaries, bool v3_ImplicitOuter) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Boundaries)->generalize());set_attribute_value(2, (v3_ImplicitOuter));; populate_derived(); } +Ifc4x3_add2::IfcCurveBoundedSurface::IfcCurveBoundedSurface(::Ifc4x3_add2::IfcSurface* v1_BasisSurface, aggregate_of< ::Ifc4x3_add2::IfcBoundaryCurve >::ptr v2_Boundaries, bool v3_ImplicitOuter) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Boundaries)->generalize());set_attribute_value(2, (v3_ImplicitOuter));; populate_derived(); } // Function implementations for IfcCurveSegment -::Ifc4x3_add2::IfcPlacement* Ifc4x3_add2::IfcCurveSegment::Placement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcPlacement>(true); } +::Ifc4x3_add2::IfcPlacement* Ifc4x3_add2::IfcCurveSegment::Placement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcPlacement>(true); } void Ifc4x3_add2::IfcCurveSegment::setPlacement(::Ifc4x3_add2::IfcPlacement* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcCurveMeasureSelect* Ifc4x3_add2::IfcCurveSegment::SegmentStart() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcCurveMeasureSelect>(true); } +::Ifc4x3_add2::IfcCurveMeasureSelect* Ifc4x3_add2::IfcCurveSegment::SegmentStart() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcCurveMeasureSelect>(true); } void Ifc4x3_add2::IfcCurveSegment::setSegmentStart(::Ifc4x3_add2::IfcCurveMeasureSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcCurveMeasureSelect* Ifc4x3_add2::IfcCurveSegment::SegmentLength() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcCurveMeasureSelect>(true); } +::Ifc4x3_add2::IfcCurveMeasureSelect* Ifc4x3_add2::IfcCurveSegment::SegmentLength() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcCurveMeasureSelect>(true); } void Ifc4x3_add2::IfcCurveSegment::setSegmentLength(::Ifc4x3_add2::IfcCurveMeasureSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add2::IfcCurve* Ifc4x3_add2::IfcCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcCurve>(true); } +::Ifc4x3_add2::IfcCurve* Ifc4x3_add2::IfcCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcCurve>(true); } void Ifc4x3_add2::IfcCurveSegment::setParentCurve(::Ifc4x3_add2::IfcCurve* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add2::IfcCurveSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[279]); } const IfcParse::entity& Ifc4x3_add2::IfcCurveSegment::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[279]); } Ifc4x3_add2::IfcCurveSegment::IfcCurveSegment(IfcEntityInstanceData&& e) : IfcSegment(std::move(e)) { } -Ifc4x3_add2::IfcCurveSegment::IfcCurveSegment(::Ifc4x3_add2::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_add2::IfcPlacement* v2_Placement, ::Ifc4x3_add2::IfcCurveMeasureSelect* v3_SegmentStart, ::Ifc4x3_add2::IfcCurveMeasureSelect* v4_SegmentLength, ::Ifc4x3_add2::IfcCurve* v5_ParentCurve) : IfcSegment(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SegmentStart ? v3_SegmentStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_SegmentLength ? v4_SegmentLength->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ParentCurve ? v5_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcCurveSegment::IfcCurveSegment(::Ifc4x3_add2::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_add2::IfcPlacement* v2_Placement, ::Ifc4x3_add2::IfcCurveMeasureSelect* v3_SegmentStart, ::Ifc4x3_add2::IfcCurveMeasureSelect* v4_SegmentLength, ::Ifc4x3_add2::IfcCurve* v5_ParentCurve) : IfcSegment(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SegmentStart ? v3_SegmentStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_SegmentLength ? v4_SegmentLength->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ParentCurve ? v5_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCurveStyle -::Ifc4x3_add2::IfcCurveFontOrScaledCurveFontSelect* Ifc4x3_add2::IfcCurveStyle::CurveFont() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcCurveFontOrScaledCurveFontSelect>(true); } +::Ifc4x3_add2::IfcCurveFontOrScaledCurveFontSelect* Ifc4x3_add2::IfcCurveStyle::CurveFont() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcCurveFontOrScaledCurveFontSelect>(true); } void Ifc4x3_add2::IfcCurveStyle::setCurveFont(::Ifc4x3_add2::IfcCurveFontOrScaledCurveFontSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcSizeSelect* Ifc4x3_add2::IfcCurveStyle::CurveWidth() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcSizeSelect>(true); } +::Ifc4x3_add2::IfcSizeSelect* Ifc4x3_add2::IfcCurveStyle::CurveWidth() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcSizeSelect>(true); } void Ifc4x3_add2::IfcCurveStyle::setCurveWidth(::Ifc4x3_add2::IfcSizeSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcColour* Ifc4x3_add2::IfcCurveStyle::CurveColour() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcColour>(true); } +::Ifc4x3_add2::IfcColour* Ifc4x3_add2::IfcCurveStyle::CurveColour() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcColour>(true); } void Ifc4x3_add2::IfcCurveStyle::setCurveColour(::Ifc4x3_add2::IfcColour* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< bool > Ifc4x3_add2::IfcCurveStyle::ModelOrDraughting() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } bool v = data_.get_attribute_value(4); return v; } +boost::optional< bool > Ifc4x3_add2::IfcCurveStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return boost::none; } bool v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcCurveStyle::setModelOrDraughting(boost::optional< bool > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add2::IfcCurveStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[280]); } const IfcParse::entity& Ifc4x3_add2::IfcCurveStyle::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[280]); } Ifc4x3_add2::IfcCurveStyle::IfcCurveStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x3_add2::IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcCurveFontOrScaledCurveFontSelect* v2_CurveFont, ::Ifc4x3_add2::IfcSizeSelect* v3_CurveWidth, ::Ifc4x3_add2::IfcColour* v4_CurveColour, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CurveWidth ? v3_CurveWidth->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_CurveColour ? v4_CurveColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } +Ifc4x3_add2::IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcCurveFontOrScaledCurveFontSelect* v2_CurveFont, ::Ifc4x3_add2::IfcSizeSelect* v3_CurveWidth, ::Ifc4x3_add2::IfcColour* v4_CurveColour, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CurveWidth ? v3_CurveWidth->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_CurveColour ? v4_CurveColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } // Function implementations for IfcCurveStyleFont -boost::optional< std::string > Ifc4x3_add2::IfcCurveStyleFont::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcCurveStyleFont::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcCurveStyleFont::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -aggregate_of< ::Ifc4x3_add2::IfcCurveStyleFontPattern >::ptr Ifc4x3_add2::IfcCurveStyleFont::PatternList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcCurveStyleFontPattern >(); } +aggregate_of< ::Ifc4x3_add2::IfcCurveStyleFontPattern >::ptr Ifc4x3_add2::IfcCurveStyleFont::PatternList() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcCurveStyleFontPattern >(); } void Ifc4x3_add2::IfcCurveStyleFont::setPatternList(aggregate_of< ::Ifc4x3_add2::IfcCurveStyleFontPattern >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcCurveStyleFont::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[281]); } const IfcParse::entity& Ifc4x3_add2::IfcCurveStyleFont::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[281]); } Ifc4x3_add2::IfcCurveStyleFont::IfcCurveStyleFont(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_add2::IfcCurveStyleFontPattern >::ptr v2_PatternList) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_PatternList)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_add2::IfcCurveStyleFontPattern >::ptr v2_PatternList) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_PatternList)->generalize());; populate_derived(); } // Function implementations for IfcCurveStyleFontAndScaling -boost::optional< std::string > Ifc4x3_add2::IfcCurveStyleFontAndScaling::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcCurveStyleFontAndScaling::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_add2::IfcCurveStyleFontSelect* Ifc4x3_add2::IfcCurveStyleFontAndScaling::CurveStyleFont() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcCurveStyleFontSelect>(true); } +::Ifc4x3_add2::IfcCurveStyleFontSelect* Ifc4x3_add2::IfcCurveStyleFontAndScaling::CurveStyleFont() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcCurveStyleFontSelect>(true); } void Ifc4x3_add2::IfcCurveStyleFontAndScaling::setCurveStyleFont(::Ifc4x3_add2::IfcCurveStyleFontSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_add2::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_add2::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcCurveStyleFontAndScaling::setCurveFontScaling(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcCurveStyleFontAndScaling::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[282]); } const IfcParse::entity& Ifc4x3_add2::IfcCurveStyleFontAndScaling::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[282]); } Ifc4x3_add2::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(boost::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcCurveStyleFontSelect* v2_CurveStyleFont, double v3_CurveFontScaling) : IfcPresentationItem(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveStyleFont ? v2_CurveStyleFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_CurveFontScaling));; populate_derived(); } +Ifc4x3_add2::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(boost::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcCurveStyleFontSelect* v2_CurveStyleFont, double v3_CurveFontScaling) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveStyleFont ? v2_CurveStyleFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_CurveFontScaling));; populate_derived(); } // Function implementations for IfcCurveStyleFontPattern -double Ifc4x3_add2::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_add2::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcCurveStyleFontPattern::setVisibleSegmentLength(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_add2::IfcCurveStyleFontPattern::InvisibleSegmentLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add2::IfcCurveStyleFontPattern::InvisibleSegmentLength() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcCurveStyleFontPattern::setInvisibleSegmentLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcCurveStyleFontPattern::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[283]); } const IfcParse::entity& Ifc4x3_add2::IfcCurveStyleFontPattern::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[283]); } Ifc4x3_add2::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; populate_derived(); } +Ifc4x3_add2::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; populate_derived(); } // Function implementations for IfcCylindricalSurface -double Ifc4x3_add2::IfcCylindricalSurface::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add2::IfcCylindricalSurface::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcCylindricalSurface::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcCylindricalSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[285]); } const IfcParse::entity& Ifc4x3_add2::IfcCylindricalSurface::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[285]); } Ifc4x3_add2::IfcCylindricalSurface::IfcCylindricalSurface(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x3_add2::IfcCylindricalSurface::IfcCylindricalSurface(::Ifc4x3_add2::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x3_add2::IfcCylindricalSurface::IfcCylindricalSurface(::Ifc4x3_add2::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcDamper -boost::optional< ::Ifc4x3_add2::IfcDamperTypeEnum::Value > Ifc4x3_add2::IfcDamper::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcDamperTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcDamperTypeEnum::Value > Ifc4x3_add2::IfcDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcDamperTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcDamper::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcDamperTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcDamperTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcDamper::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[286]); } const IfcParse::entity& Ifc4x3_add2::IfcDamper::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[286]); } Ifc4x3_add2::IfcDamper::IfcDamper(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_add2::IfcDamper::IfcDamper(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcDamperTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcDamper::IfcDamper(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcDamperTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDamperType -::Ifc4x3_add2::IfcDamperTypeEnum::Value Ifc4x3_add2::IfcDamperType::PredefinedType() const { return ::Ifc4x3_add2::IfcDamperTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcDamperTypeEnum::Value Ifc4x3_add2::IfcDamperType::PredefinedType() const { return ::Ifc4x3_add2::IfcDamperTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcDamperType::setPredefinedType(::Ifc4x3_add2::IfcDamperTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcDamperTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcDamperType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[287]); } const IfcParse::entity& Ifc4x3_add2::IfcDamperType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[287]); } Ifc4x3_add2::IfcDamperType::IfcDamperType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_add2::IfcDamperType::IfcDamperType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDamperTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcDamperType::IfcDamperType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDamperTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDeepFoundation @@ -9932,7 +9932,7 @@ Ifc4x3_add2::IfcDamperType::IfcDamperType(std::string v1_GlobalId, ::Ifc4x3_add2 const IfcParse::entity& Ifc4x3_add2::IfcDeepFoundation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[294]); } const IfcParse::entity& Ifc4x3_add2::IfcDeepFoundation::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[294]); } Ifc4x3_add2::IfcDeepFoundation::IfcDeepFoundation(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add2::IfcDeepFoundation::IfcDeepFoundation(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuiltElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add2::IfcDeepFoundation::IfcDeepFoundation(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDeepFoundationType @@ -9940,95 +9940,95 @@ Ifc4x3_add2::IfcDeepFoundation::IfcDeepFoundation(std::string v1_GlobalId, ::Ifc const IfcParse::entity& Ifc4x3_add2::IfcDeepFoundationType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[295]); } const IfcParse::entity& Ifc4x3_add2::IfcDeepFoundationType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[295]); } Ifc4x3_add2::IfcDeepFoundationType::IfcDeepFoundationType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add2::IfcDeepFoundationType::IfcDeepFoundationType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add2::IfcDeepFoundationType::IfcDeepFoundationType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDerivedProfileDef -::Ifc4x3_add2::IfcProfileDef* Ifc4x3_add2::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcProfileDef>(true); } +::Ifc4x3_add2::IfcProfileDef* Ifc4x3_add2::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcProfileDef>(true); } void Ifc4x3_add2::IfcDerivedProfileDef::setParentProfile(::Ifc4x3_add2::IfcProfileDef* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcCartesianTransformationOperator2D* Ifc4x3_add2::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcCartesianTransformationOperator2D>(true); } +::Ifc4x3_add2::IfcCartesianTransformationOperator2D* Ifc4x3_add2::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcCartesianTransformationOperator2D>(true); } void Ifc4x3_add2::IfcDerivedProfileDef::setOperator(::Ifc4x3_add2::IfcCartesianTransformationOperator2D* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_add2::IfcDerivedProfileDef::Label() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcDerivedProfileDef::Label() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add2::IfcDerivedProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[298]); } const IfcParse::entity& Ifc4x3_add2::IfcDerivedProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[298]); } Ifc4x3_add2::IfcDerivedProfileDef::IfcDerivedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_add2::IfcDerivedProfileDef::IfcDerivedProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcProfileDef* v3_ParentProfile, ::Ifc4x3_add2::IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< std::string > v5_Label) : IfcProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Operator ? v4_Operator->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } +Ifc4x3_add2::IfcDerivedProfileDef::IfcDerivedProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcProfileDef* v3_ParentProfile, ::Ifc4x3_add2::IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< std::string > v5_Label) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Operator ? v4_Operator->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } // Function implementations for IfcDerivedUnit -aggregate_of< ::Ifc4x3_add2::IfcDerivedUnitElement >::ptr Ifc4x3_add2::IfcDerivedUnit::Elements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcDerivedUnitElement >(); } +aggregate_of< ::Ifc4x3_add2::IfcDerivedUnitElement >::ptr Ifc4x3_add2::IfcDerivedUnit::Elements() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcDerivedUnitElement >(); } void Ifc4x3_add2::IfcDerivedUnit::setElements(aggregate_of< ::Ifc4x3_add2::IfcDerivedUnitElement >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcDerivedUnitEnum::Value Ifc4x3_add2::IfcDerivedUnit::UnitType() const { return ::Ifc4x3_add2::IfcDerivedUnitEnum::FromString(data_.get_attribute_value(1)); } +::Ifc4x3_add2::IfcDerivedUnitEnum::Value Ifc4x3_add2::IfcDerivedUnit::UnitType() const { return ::Ifc4x3_add2::IfcDerivedUnitEnum::FromString(get_attribute_value(1)); } void Ifc4x3_add2::IfcDerivedUnit::setUnitType(::Ifc4x3_add2::IfcDerivedUnitEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x3_add2::IfcDerivedUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_add2::IfcDerivedUnit::UserDefinedType() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcDerivedUnit::UserDefinedType() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcDerivedUnit::setUserDefinedType(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_add2::IfcDerivedUnit::Name() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcDerivedUnit::Name() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcDerivedUnit::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_add2::IfcDerivedUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[299]); } const IfcParse::entity& Ifc4x3_add2::IfcDerivedUnit::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[299]); } Ifc4x3_add2::IfcDerivedUnit::IfcDerivedUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcDerivedUnit::IfcDerivedUnit(aggregate_of< ::Ifc4x3_add2::IfcDerivedUnitElement >::ptr v1_Elements, ::Ifc4x3_add2::IfcDerivedUnitEnum::Value v2_UnitType, boost::optional< std::string > v3_UserDefinedType, boost::optional< std::string > v4_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Elements)->generalize());set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add2::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); }; populate_derived(); } +Ifc4x3_add2::IfcDerivedUnit::IfcDerivedUnit(aggregate_of< ::Ifc4x3_add2::IfcDerivedUnitElement >::ptr v1_Elements, ::Ifc4x3_add2::IfcDerivedUnitEnum::Value v2_UnitType, boost::optional< std::string > v3_UserDefinedType, boost::optional< std::string > v4_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Elements)->generalize());set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add2::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); }; populate_derived(); } // Function implementations for IfcDerivedUnitElement -::Ifc4x3_add2::IfcNamedUnit* Ifc4x3_add2::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcNamedUnit>(true); } +::Ifc4x3_add2::IfcNamedUnit* Ifc4x3_add2::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcNamedUnit>(true); } void Ifc4x3_add2::IfcDerivedUnitElement::setUnit(::Ifc4x3_add2::IfcNamedUnit* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -int Ifc4x3_add2::IfcDerivedUnitElement::Exponent() const { int v = data_.get_attribute_value(1); return v; } +int Ifc4x3_add2::IfcDerivedUnitElement::Exponent() const { int v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcDerivedUnitElement::setExponent(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcDerivedUnitElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[300]); } const IfcParse::entity& Ifc4x3_add2::IfcDerivedUnitElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[300]); } Ifc4x3_add2::IfcDerivedUnitElement::IfcDerivedUnitElement(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcDerivedUnitElement::IfcDerivedUnitElement(::Ifc4x3_add2::IfcNamedUnit* v1_Unit, int v2_Exponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Unit ? v1_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Exponent));; populate_derived(); } +Ifc4x3_add2::IfcDerivedUnitElement::IfcDerivedUnitElement(::Ifc4x3_add2::IfcNamedUnit* v1_Unit, int v2_Exponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Unit ? v1_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Exponent));; populate_derived(); } // Function implementations for IfcDimensionalExponents -int Ifc4x3_add2::IfcDimensionalExponents::LengthExponent() const { int v = data_.get_attribute_value(0); return v; } +int Ifc4x3_add2::IfcDimensionalExponents::LengthExponent() const { int v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcDimensionalExponents::setLengthExponent(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -int Ifc4x3_add2::IfcDimensionalExponents::MassExponent() const { int v = data_.get_attribute_value(1); return v; } +int Ifc4x3_add2::IfcDimensionalExponents::MassExponent() const { int v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcDimensionalExponents::setMassExponent(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -int Ifc4x3_add2::IfcDimensionalExponents::TimeExponent() const { int v = data_.get_attribute_value(2); return v; } +int Ifc4x3_add2::IfcDimensionalExponents::TimeExponent() const { int v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcDimensionalExponents::setTimeExponent(int v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -int Ifc4x3_add2::IfcDimensionalExponents::ElectricCurrentExponent() const { int v = data_.get_attribute_value(3); return v; } +int Ifc4x3_add2::IfcDimensionalExponents::ElectricCurrentExponent() const { int v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcDimensionalExponents::setElectricCurrentExponent(int v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -int Ifc4x3_add2::IfcDimensionalExponents::ThermodynamicTemperatureExponent() const { int v = data_.get_attribute_value(4); return v; } +int Ifc4x3_add2::IfcDimensionalExponents::ThermodynamicTemperatureExponent() const { int v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcDimensionalExponents::setThermodynamicTemperatureExponent(int v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -int Ifc4x3_add2::IfcDimensionalExponents::AmountOfSubstanceExponent() const { int v = data_.get_attribute_value(5); return v; } +int Ifc4x3_add2::IfcDimensionalExponents::AmountOfSubstanceExponent() const { int v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcDimensionalExponents::setAmountOfSubstanceExponent(int v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -int Ifc4x3_add2::IfcDimensionalExponents::LuminousIntensityExponent() const { int v = data_.get_attribute_value(6); return v; } +int Ifc4x3_add2::IfcDimensionalExponents::LuminousIntensityExponent() const { int v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcDimensionalExponents::setLuminousIntensityExponent(int v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add2::IfcDimensionalExponents::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[303]); } const IfcParse::entity& Ifc4x3_add2::IfcDimensionalExponents::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[303]); } Ifc4x3_add2::IfcDimensionalExponents::IfcDimensionalExponents(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::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(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; populate_derived(); } +Ifc4x3_add2::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(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; populate_derived(); } // Function implementations for IfcDirection -std::vector< double > /*[2:3]*/ Ifc4x3_add2::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[2:3]*/ Ifc4x3_add2::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcDirection::setDirectionRatios(std::vector< double > /*[2:3]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add2::IfcDirection::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[305]); } const IfcParse::entity& Ifc4x3_add2::IfcDirection::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[305]); } Ifc4x3_add2::IfcDirection::IfcDirection(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionRatios) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_DirectionRatios));; populate_derived(); } +Ifc4x3_add2::IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionRatios) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_DirectionRatios));; populate_derived(); } // Function implementations for IfcDirectrixCurveSweptAreaSolid -::Ifc4x3_add2::IfcCurve* Ifc4x3_add2::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcCurve>(true); } +::Ifc4x3_add2::IfcCurve* Ifc4x3_add2::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcCurve>(true); } void Ifc4x3_add2::IfcDirectrixCurveSweptAreaSolid::setDirectrix(::Ifc4x3_add2::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcCurveMeasureSelect* Ifc4x3_add2::IfcDirectrixCurveSweptAreaSolid::StartParam() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcCurveMeasureSelect>(true); } +::Ifc4x3_add2::IfcCurveMeasureSelect* Ifc4x3_add2::IfcDirectrixCurveSweptAreaSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcCurveMeasureSelect>(true); } void Ifc4x3_add2::IfcDirectrixCurveSweptAreaSolid::setStartParam(::Ifc4x3_add2::IfcCurveMeasureSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add2::IfcCurveMeasureSelect* Ifc4x3_add2::IfcDirectrixCurveSweptAreaSolid::EndParam() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcCurveMeasureSelect>(true); } +::Ifc4x3_add2::IfcCurveMeasureSelect* Ifc4x3_add2::IfcDirectrixCurveSweptAreaSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcCurveMeasureSelect>(true); } void Ifc4x3_add2::IfcDirectrixCurveSweptAreaSolid::setEndParam(::Ifc4x3_add2::IfcCurveMeasureSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add2::IfcDirectrixCurveSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[307]); } const IfcParse::entity& Ifc4x3_add2::IfcDirectrixCurveSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[307]); } Ifc4x3_add2::IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4x3_add2::IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid(::Ifc4x3_add2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add2::IfcCurve* v3_Directrix, ::Ifc4x3_add2::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_add2::IfcCurveMeasureSelect* v5_EndParam) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid(::Ifc4x3_add2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add2::IfcCurve* v3_Directrix, ::Ifc4x3_add2::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_add2::IfcCurveMeasureSelect* v5_EndParam) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDirectrixDerivedReferenceSweptAreaSolid @@ -10036,67 +10036,67 @@ Ifc4x3_add2::IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid(:: const IfcParse::entity& Ifc4x3_add2::IfcDirectrixDerivedReferenceSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[308]); } const IfcParse::entity& Ifc4x3_add2::IfcDirectrixDerivedReferenceSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[308]); } Ifc4x3_add2::IfcDirectrixDerivedReferenceSweptAreaSolid::IfcDirectrixDerivedReferenceSweptAreaSolid(IfcEntityInstanceData&& e) : IfcFixedReferenceSweptAreaSolid(std::move(e)) { } -Ifc4x3_add2::IfcDirectrixDerivedReferenceSweptAreaSolid::IfcDirectrixDerivedReferenceSweptAreaSolid(::Ifc4x3_add2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add2::IfcCurve* v3_Directrix, ::Ifc4x3_add2::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_add2::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3_add2::IfcDirection* v6_FixedReference) : IfcFixedReferenceSweptAreaSolid(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_FixedReference ? v6_FixedReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcDirectrixDerivedReferenceSweptAreaSolid::IfcDirectrixDerivedReferenceSweptAreaSolid(::Ifc4x3_add2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add2::IfcCurve* v3_Directrix, ::Ifc4x3_add2::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_add2::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3_add2::IfcDirection* v6_FixedReference) : IfcFixedReferenceSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_FixedReference ? v6_FixedReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDiscreteAccessory -boost::optional< ::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x3_add2::IfcDiscreteAccessory::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x3_add2::IfcDiscreteAccessory::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcDiscreteAccessory::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcDiscreteAccessory::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[309]); } const IfcParse::entity& Ifc4x3_add2::IfcDiscreteAccessory::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[309]); } Ifc4x3_add2::IfcDiscreteAccessory::IfcDiscreteAccessory(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_add2::IfcDiscreteAccessory::IfcDiscreteAccessory(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcDiscreteAccessory::IfcDiscreteAccessory(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDiscreteAccessoryType -::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3_add2::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3_add2::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcDiscreteAccessoryType::setPredefinedType(::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcDiscreteAccessoryType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[310]); } const IfcParse::entity& Ifc4x3_add2::IfcDiscreteAccessoryType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[310]); } Ifc4x3_add2::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_add2::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDistributionBoard -boost::optional< ::Ifc4x3_add2::IfcDistributionBoardTypeEnum::Value > Ifc4x3_add2::IfcDistributionBoard::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcDistributionBoardTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcDistributionBoardTypeEnum::Value > Ifc4x3_add2::IfcDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcDistributionBoardTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcDistributionBoardTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcDistributionBoard::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[312]); } const IfcParse::entity& Ifc4x3_add2::IfcDistributionBoard::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[312]); } Ifc4x3_add2::IfcDistributionBoard::IfcDistributionBoard(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_add2::IfcDistributionBoard::IfcDistributionBoard(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcDistributionBoard::IfcDistributionBoard(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDistributionBoardType -::Ifc4x3_add2::IfcDistributionBoardTypeEnum::Value Ifc4x3_add2::IfcDistributionBoardType::PredefinedType() const { return ::Ifc4x3_add2::IfcDistributionBoardTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcDistributionBoardTypeEnum::Value Ifc4x3_add2::IfcDistributionBoardType::PredefinedType() const { return ::Ifc4x3_add2::IfcDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcDistributionBoardType::setPredefinedType(::Ifc4x3_add2::IfcDistributionBoardTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcDistributionBoardTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcDistributionBoardType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[313]); } const IfcParse::entity& Ifc4x3_add2::IfcDistributionBoardType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[313]); } Ifc4x3_add2::IfcDistributionBoardType::IfcDistributionBoardType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_add2::IfcDistributionBoardType::IfcDistributionBoardType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcDistributionBoardType::IfcDistributionBoardType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDistributionChamberElement -boost::optional< ::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Value > Ifc4x3_add2::IfcDistributionChamberElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Value > Ifc4x3_add2::IfcDistributionChamberElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcDistributionChamberElement::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcDistributionChamberElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[315]); } const IfcParse::entity& Ifc4x3_add2::IfcDistributionChamberElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[315]); } Ifc4x3_add2::IfcDistributionChamberElement::IfcDistributionChamberElement(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_add2::IfcDistributionChamberElement::IfcDistributionChamberElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcDistributionChamberElement::IfcDistributionChamberElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDistributionChamberElementType -::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Value Ifc4x3_add2::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Value Ifc4x3_add2::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcDistributionChamberElementType::setPredefinedType(::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcDistributionChamberElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[316]); } const IfcParse::entity& Ifc4x3_add2::IfcDistributionChamberElementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[316]); } Ifc4x3_add2::IfcDistributionChamberElementType::IfcDistributionChamberElementType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_add2::IfcDistributionChamberElementType::IfcDistributionChamberElementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcDistributionChamberElementType::IfcDistributionChamberElementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDistributionCircuit @@ -10104,7 +10104,7 @@ Ifc4x3_add2::IfcDistributionChamberElementType::IfcDistributionChamberElementTyp const IfcParse::entity& Ifc4x3_add2::IfcDistributionCircuit::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[318]); } const IfcParse::entity& Ifc4x3_add2::IfcDistributionCircuit::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[318]); } Ifc4x3_add2::IfcDistributionCircuit::IfcDistributionCircuit(IfcEntityInstanceData&& e) : IfcDistributionSystem(std::move(e)) { } -Ifc4x3_add2::IfcDistributionCircuit::IfcDistributionCircuit(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcDistributionSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add2::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcDistributionCircuit::IfcDistributionCircuit(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcDistributionSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add2::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDistributionControlElement @@ -10113,7 +10113,7 @@ Ifc4x3_add2::IfcDistributionCircuit::IfcDistributionCircuit(std::string v1_Globa const IfcParse::entity& Ifc4x3_add2::IfcDistributionControlElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[319]); } const IfcParse::entity& Ifc4x3_add2::IfcDistributionControlElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[319]); } Ifc4x3_add2::IfcDistributionControlElement::IfcDistributionControlElement(IfcEntityInstanceData&& e) : IfcDistributionElement(std::move(e)) { } -Ifc4x3_add2::IfcDistributionControlElement::IfcDistributionControlElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add2::IfcDistributionControlElement::IfcDistributionControlElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionControlElementType @@ -10121,7 +10121,7 @@ Ifc4x3_add2::IfcDistributionControlElement::IfcDistributionControlElement(std::s const IfcParse::entity& Ifc4x3_add2::IfcDistributionControlElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[320]); } const IfcParse::entity& Ifc4x3_add2::IfcDistributionControlElementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[320]); } Ifc4x3_add2::IfcDistributionControlElementType::IfcDistributionControlElementType(IfcEntityInstanceData&& e) : IfcDistributionElementType(std::move(e)) { } -Ifc4x3_add2::IfcDistributionControlElementType::IfcDistributionControlElementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add2::IfcDistributionControlElementType::IfcDistributionControlElementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionElement @@ -10130,7 +10130,7 @@ Ifc4x3_add2::IfcDistributionControlElementType::IfcDistributionControlElementTyp const IfcParse::entity& Ifc4x3_add2::IfcDistributionElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[321]); } const IfcParse::entity& Ifc4x3_add2::IfcDistributionElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[321]); } Ifc4x3_add2::IfcDistributionElement::IfcDistributionElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_add2::IfcDistributionElement::IfcDistributionElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add2::IfcDistributionElement::IfcDistributionElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionElementType @@ -10138,7 +10138,7 @@ Ifc4x3_add2::IfcDistributionElement::IfcDistributionElement(std::string v1_Globa const IfcParse::entity& Ifc4x3_add2::IfcDistributionElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[322]); } const IfcParse::entity& Ifc4x3_add2::IfcDistributionElementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[322]); } Ifc4x3_add2::IfcDistributionElementType::IfcDistributionElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_add2::IfcDistributionElementType::IfcDistributionElementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add2::IfcDistributionElementType::IfcDistributionElementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionFlowElement @@ -10147,7 +10147,7 @@ Ifc4x3_add2::IfcDistributionElementType::IfcDistributionElementType(std::string const IfcParse::entity& Ifc4x3_add2::IfcDistributionFlowElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[323]); } const IfcParse::entity& Ifc4x3_add2::IfcDistributionFlowElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[323]); } Ifc4x3_add2::IfcDistributionFlowElement::IfcDistributionFlowElement(IfcEntityInstanceData&& e) : IfcDistributionElement(std::move(e)) { } -Ifc4x3_add2::IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add2::IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionFlowElementType @@ -10155,68 +10155,68 @@ Ifc4x3_add2::IfcDistributionFlowElement::IfcDistributionFlowElement(std::string const IfcParse::entity& Ifc4x3_add2::IfcDistributionFlowElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[324]); } const IfcParse::entity& Ifc4x3_add2::IfcDistributionFlowElementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[324]); } Ifc4x3_add2::IfcDistributionFlowElementType::IfcDistributionFlowElementType(IfcEntityInstanceData&& e) : IfcDistributionElementType(std::move(e)) { } -Ifc4x3_add2::IfcDistributionFlowElementType::IfcDistributionFlowElementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add2::IfcDistributionFlowElementType::IfcDistributionFlowElementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionPort -boost::optional< ::Ifc4x3_add2::IfcFlowDirectionEnum::Value > Ifc4x3_add2::IfcDistributionPort::FlowDirection() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcFlowDirectionEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_add2::IfcFlowDirectionEnum::Value > Ifc4x3_add2::IfcDistributionPort::FlowDirection() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcFlowDirectionEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add2::IfcDistributionPort::setFlowDirection(boost::optional< ::Ifc4x3_add2::IfcFlowDirectionEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_add2::IfcFlowDirectionEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3_add2::IfcDistributionPortTypeEnum::Value > Ifc4x3_add2::IfcDistributionPort::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcDistributionPortTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcDistributionPortTypeEnum::Value > Ifc4x3_add2::IfcDistributionPort::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcDistributionPortTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcDistributionPort::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcDistributionPortTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcDistributionPortTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< ::Ifc4x3_add2::IfcDistributionSystemEnum::Value > Ifc4x3_add2::IfcDistributionPort::SystemType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcDistributionSystemEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_add2::IfcDistributionSystemEnum::Value > Ifc4x3_add2::IfcDistributionPort::SystemType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcDistributionSystemEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcDistributionPort::setSystemType(boost::optional< ::Ifc4x3_add2::IfcDistributionSystemEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcDistributionSystemEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_add2::IfcDistributionPort::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[325]); } const IfcParse::entity& Ifc4x3_add2::IfcDistributionPort::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[325]); } Ifc4x3_add2::IfcDistributionPort::IfcDistributionPort(IfcEntityInstanceData&& e) : IfcPort(std::move(e)) { } -Ifc4x3_add2::IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_add2::IfcFlowDirectionEnum::Value > v8_FlowDirection, boost::optional< ::Ifc4x3_add2::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x3_add2::IfcDistributionSystemEnum::Value > v10_SystemType) : IfcPort(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_FlowDirection) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); }; populate_derived(); } +Ifc4x3_add2::IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_add2::IfcFlowDirectionEnum::Value > v8_FlowDirection, boost::optional< ::Ifc4x3_add2::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x3_add2::IfcDistributionSystemEnum::Value > v10_SystemType) : IfcPort(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_FlowDirection) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); }; populate_derived(); } // Function implementations for IfcDistributionSystem -boost::optional< std::string > Ifc4x3_add2::IfcDistributionSystem::LongName() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcDistributionSystem::LongName() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcDistributionSystem::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< ::Ifc4x3_add2::IfcDistributionSystemEnum::Value > Ifc4x3_add2::IfcDistributionSystem::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcDistributionSystemEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_add2::IfcDistributionSystemEnum::Value > Ifc4x3_add2::IfcDistributionSystem::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcDistributionSystemEnum::FromString(get_attribute_value(6)); } void Ifc4x3_add2::IfcDistributionSystem::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcDistributionSystemEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_add2::IfcDistributionSystemEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_add2::IfcDistributionSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[327]); } const IfcParse::entity& Ifc4x3_add2::IfcDistributionSystem::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[327]); } Ifc4x3_add2::IfcDistributionSystem::IfcDistributionSystem(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3_add2::IfcDistributionSystem::IfcDistributionSystem(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add2::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcDistributionSystem::IfcDistributionSystem(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add2::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDocumentInformation -std::string Ifc4x3_add2::IfcDocumentInformation::Identification() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_add2::IfcDocumentInformation::Identification() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcDocumentInformation::setIdentification(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x3_add2::IfcDocumentInformation::Name() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_add2::IfcDocumentInformation::Name() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcDocumentInformation::setName(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_add2::IfcDocumentInformation::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcDocumentInformation::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcDocumentInformation::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_add2::IfcDocumentInformation::Location() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcDocumentInformation::Location() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcDocumentInformation::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_add2::IfcDocumentInformation::Purpose() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcDocumentInformation::Purpose() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcDocumentInformation::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add2::IfcDocumentInformation::IntendedUse() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcDocumentInformation::IntendedUse() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcDocumentInformation::setIntendedUse(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_add2::IfcDocumentInformation::Scope() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcDocumentInformation::Scope() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcDocumentInformation::setScope(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_add2::IfcDocumentInformation::Revision() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcDocumentInformation::Revision() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_add2::IfcActorSelect* Ifc4x3_add2::IfcDocumentInformation::DocumentOwner() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_add2::IfcActorSelect>(true); } +::Ifc4x3_add2::IfcActorSelect* Ifc4x3_add2::IfcDocumentInformation::DocumentOwner() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_add2::IfcActorSelect>(true); } void Ifc4x3_add2::IfcDocumentInformation::setDocumentOwner(::Ifc4x3_add2::IfcActorSelect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcActorSelect >::ptr > Ifc4x3_add2::IfcDocumentInformation::Editors() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3_add2::IfcActorSelect >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcActorSelect >::ptr > Ifc4x3_add2::IfcDocumentInformation::Editors() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3_add2::IfcActorSelect >(); } void Ifc4x3_add2::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcActorSelect >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x3_add2::IfcDocumentInformation::CreationTime() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcDocumentInformation::CreationTime() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_add2::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< std::string > Ifc4x3_add2::IfcDocumentInformation::LastRevisionTime() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcDocumentInformation::LastRevisionTime() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x3_add2::IfcDocumentInformation::setLastRevisionTime(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_add2::IfcDocumentInformation::ElectronicFormat() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcDocumentInformation::ElectronicFormat() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_add2::IfcDocumentInformation::setElectronicFormat(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< std::string > Ifc4x3_add2::IfcDocumentInformation::ValidFrom() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(13); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcDocumentInformation::ValidFrom() const { if(get_attribute_value(13).isNull()) { return boost::none; } std::string v = get_attribute_value(13); return v; } void Ifc4x3_add2::IfcDocumentInformation::setValidFrom(boost::optional< std::string > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x3_add2::IfcDocumentInformation::ValidUntil() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcDocumentInformation::ValidUntil() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x3_add2::IfcDocumentInformation::setValidUntil(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< ::Ifc4x3_add2::IfcDocumentConfidentialityEnum::Value > Ifc4x3_add2::IfcDocumentInformation::Confidentiality() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcDocumentConfidentialityEnum::FromString(data_.get_attribute_value(15)); } +boost::optional< ::Ifc4x3_add2::IfcDocumentConfidentialityEnum::Value > Ifc4x3_add2::IfcDocumentInformation::Confidentiality() const { if(get_attribute_value(15).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcDocumentConfidentialityEnum::FromString(get_attribute_value(15)); } void Ifc4x3_add2::IfcDocumentInformation::setConfidentiality(boost::optional< ::Ifc4x3_add2::IfcDocumentConfidentialityEnum::Value > v) { if (v) {set_attribute_value(15, EnumerationReference(&::Ifc4x3_add2::IfcDocumentConfidentialityEnum::Class(), (size_t) *v));} else {unset_attribute_value(15);} } -boost::optional< ::Ifc4x3_add2::IfcDocumentStatusEnum::Value > Ifc4x3_add2::IfcDocumentInformation::Status() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcDocumentStatusEnum::FromString(data_.get_attribute_value(16)); } +boost::optional< ::Ifc4x3_add2::IfcDocumentStatusEnum::Value > Ifc4x3_add2::IfcDocumentInformation::Status() const { if(get_attribute_value(16).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcDocumentStatusEnum::FromString(get_attribute_value(16)); } void Ifc4x3_add2::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3_add2::IfcDocumentStatusEnum::Value > v) { if (v) {set_attribute_value(16, EnumerationReference(&::Ifc4x3_add2::IfcDocumentStatusEnum::Class(), (size_t) *v));} else {unset_attribute_value(16);} } ::Ifc4x3_add2::IfcRelAssociatesDocument::list::ptr Ifc4x3_add2::IfcDocumentInformation::DocumentInfoForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[912], 5)->as(); } @@ -10227,26 +10227,26 @@ void Ifc4x3_add2::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3_ad const IfcParse::entity& Ifc4x3_add2::IfcDocumentInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[330]); } const IfcParse::entity& Ifc4x3_add2::IfcDocumentInformation::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[330]); } Ifc4x3_add2::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData&& e) : IfcExternalInformation(std::move(e)) { } -Ifc4x3_add2::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_add2::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcActorSelect >::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< ::Ifc4x3_add2::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_add2::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation(IfcEntityInstanceData(storage_t(17))) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, v9_DocumentOwner ? v9_DocumentOwner->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v10_Editors) {set_attribute_value(9, (*v10_Editors)->generalize()); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (EnumerationReference(&::Ifc4x3_add2::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (EnumerationReference(&::Ifc4x3_add2::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; populate_derived(); } +Ifc4x3_add2::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_add2::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcActorSelect >::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< ::Ifc4x3_add2::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_add2::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation(IfcEntityInstanceData(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, v9_DocumentOwner ? v9_DocumentOwner->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v10_Editors) {set_attribute_value(9, (*v10_Editors)->generalize()); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (EnumerationReference(&::Ifc4x3_add2::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (EnumerationReference(&::Ifc4x3_add2::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; populate_derived(); } // Function implementations for IfcDocumentInformationRelationship -::Ifc4x3_add2::IfcDocumentInformation* Ifc4x3_add2::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcDocumentInformation>(true); } +::Ifc4x3_add2::IfcDocumentInformation* Ifc4x3_add2::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcDocumentInformation>(true); } void Ifc4x3_add2::IfcDocumentInformationRelationship::setRelatingDocument(::Ifc4x3_add2::IfcDocumentInformation* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_add2::IfcDocumentInformation >::ptr Ifc4x3_add2::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_add2::IfcDocumentInformation >(); } +aggregate_of< ::Ifc4x3_add2::IfcDocumentInformation >::ptr Ifc4x3_add2::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_add2::IfcDocumentInformation >(); } void Ifc4x3_add2::IfcDocumentInformationRelationship::setRelatedDocuments(aggregate_of< ::Ifc4x3_add2::IfcDocumentInformation >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_add2::IfcDocumentInformationRelationship::RelationshipType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcDocumentInformationRelationship::RelationshipType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcDocumentInformationRelationship::setRelationshipType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add2::IfcDocumentInformationRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[331]); } const IfcParse::entity& Ifc4x3_add2::IfcDocumentInformationRelationship::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[331]); } Ifc4x3_add2::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_add2::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcDocumentInformation* v3_RelatingDocument, aggregate_of< ::Ifc4x3_add2::IfcDocumentInformation >::ptr v4_RelatedDocuments, boost::optional< std::string > v5_RelationshipType) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingDocument ? v3_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedDocuments)->generalize()); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); }; populate_derived(); } +Ifc4x3_add2::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcDocumentInformation* v3_RelatingDocument, aggregate_of< ::Ifc4x3_add2::IfcDocumentInformation >::ptr v4_RelatedDocuments, boost::optional< std::string > v5_RelationshipType) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingDocument ? v3_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedDocuments)->generalize()); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); }; populate_derived(); } // Function implementations for IfcDocumentReference -boost::optional< std::string > Ifc4x3_add2::IfcDocumentReference::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcDocumentReference::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcDocumentReference::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_add2::IfcDocumentInformation* Ifc4x3_add2::IfcDocumentReference::ReferencedDocument() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcDocumentInformation>(true); } +::Ifc4x3_add2::IfcDocumentInformation* Ifc4x3_add2::IfcDocumentReference::ReferencedDocument() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcDocumentInformation>(true); } void Ifc4x3_add2::IfcDocumentReference::setReferencedDocument(::Ifc4x3_add2::IfcDocumentInformation* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } ::Ifc4x3_add2::IfcRelAssociatesDocument::list::ptr Ifc4x3_add2::IfcDocumentReference::DocumentRefForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[912], 5)->as(); } @@ -10254,93 +10254,93 @@ void Ifc4x3_add2::IfcDocumentReference::setReferencedDocument(::Ifc4x3_add2::Ifc const IfcParse::entity& Ifc4x3_add2::IfcDocumentReference::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[332]); } const IfcParse::entity& Ifc4x3_add2::IfcDocumentReference::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[332]); } Ifc4x3_add2::IfcDocumentReference::IfcDocumentReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_add2::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_add2::IfcDocumentInformation* v5_ReferencedDocument) : IfcExternalReference(IfcEntityInstanceData(storage_t(5))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ReferencedDocument ? v5_ReferencedDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::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_add2::IfcDocumentInformation* v5_ReferencedDocument) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ReferencedDocument ? v5_ReferencedDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDoor -boost::optional< double > Ifc4x3_add2::IfcDoor::OverallHeight() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_add2::IfcDoor::OverallHeight() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcDoor::setOverallHeight(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_add2::IfcDoor::OverallWidth() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_add2::IfcDoor::OverallWidth() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_add2::IfcDoor::setOverallWidth(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x3_add2::IfcDoorTypeEnum::Value > Ifc4x3_add2::IfcDoor::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcDoorTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add2::IfcDoorTypeEnum::Value > Ifc4x3_add2::IfcDoor::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcDoorTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add2::IfcDoor::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcDoorTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add2::IfcDoorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -boost::optional< ::Ifc4x3_add2::IfcDoorTypeOperationEnum::Value > Ifc4x3_add2::IfcDoor::OperationType() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcDoorTypeOperationEnum::FromString(data_.get_attribute_value(11)); } +boost::optional< ::Ifc4x3_add2::IfcDoorTypeOperationEnum::Value > Ifc4x3_add2::IfcDoor::OperationType() const { if(get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcDoorTypeOperationEnum::FromString(get_attribute_value(11)); } void Ifc4x3_add2::IfcDoor::setOperationType(boost::optional< ::Ifc4x3_add2::IfcDoorTypeOperationEnum::Value > v) { if (v) {set_attribute_value(11, EnumerationReference(&::Ifc4x3_add2::IfcDoorTypeOperationEnum::Class(), (size_t) *v));} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_add2::IfcDoor::UserDefinedOperationType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcDoor::UserDefinedOperationType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_add2::IfcDoor::setUserDefinedOperationType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_add2::IfcDoor::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[335]); } const IfcParse::entity& Ifc4x3_add2::IfcDoor::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[335]); } Ifc4x3_add2::IfcDoor::IfcDoor(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add2::IfcDoor::IfcDoor(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_add2::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_add2::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add2::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } +Ifc4x3_add2::IfcDoor::IfcDoor(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_add2::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_add2::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add2::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } // Function implementations for IfcDoorLiningProperties -boost::optional< double > Ifc4x3_add2::IfcDoorLiningProperties::LiningDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_add2::IfcDoorLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcDoorLiningProperties::setLiningDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_add2::IfcDoorLiningProperties::LiningThickness() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_add2::IfcDoorLiningProperties::LiningThickness() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcDoorLiningProperties::setLiningThickness(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_add2::IfcDoorLiningProperties::ThresholdDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_add2::IfcDoorLiningProperties::ThresholdDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcDoorLiningProperties::setThresholdDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_add2::IfcDoorLiningProperties::ThresholdThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add2::IfcDoorLiningProperties::ThresholdThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcDoorLiningProperties::setThresholdThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_add2::IfcDoorLiningProperties::TransomThickness() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_add2::IfcDoorLiningProperties::TransomThickness() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcDoorLiningProperties::setTransomThickness(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_add2::IfcDoorLiningProperties::TransomOffset() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_add2::IfcDoorLiningProperties::TransomOffset() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_add2::IfcDoorLiningProperties::setTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_add2::IfcDoorLiningProperties::LiningOffset() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_add2::IfcDoorLiningProperties::LiningOffset() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_add2::IfcDoorLiningProperties::setLiningOffset(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_add2::IfcDoorLiningProperties::ThresholdOffset() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_add2::IfcDoorLiningProperties::ThresholdOffset() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_add2::IfcDoorLiningProperties::setThresholdOffset(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_add2::IfcDoorLiningProperties::CasingThickness() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_add2::IfcDoorLiningProperties::CasingThickness() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_add2::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3_add2::IfcDoorLiningProperties::CasingDepth() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_add2::IfcDoorLiningProperties::CasingDepth() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_add2::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -::Ifc4x3_add2::IfcShapeAspect* Ifc4x3_add2::IfcDoorLiningProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(14).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(14)))->as<::Ifc4x3_add2::IfcShapeAspect>(true); } +::Ifc4x3_add2::IfcShapeAspect* Ifc4x3_add2::IfcDoorLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(14).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(14)))->as<::Ifc4x3_add2::IfcShapeAspect>(true); } void Ifc4x3_add2::IfcDoorLiningProperties::setShapeAspectStyle(::Ifc4x3_add2::IfcShapeAspect* v) { set_attribute_value(14, v->as());if constexpr (false)unset_attribute_value(14); } -boost::optional< double > Ifc4x3_add2::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3_add2::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3_add2::IfcDoorLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3_add2::IfcDoorLiningProperties::LiningToPanelOffsetY() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3_add2::IfcDoorLiningProperties::LiningToPanelOffsetY() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3_add2::IfcDoorLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } const IfcParse::entity& Ifc4x3_add2::IfcDoorLiningProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[336]); } const IfcParse::entity& Ifc4x3_add2::IfcDoorLiningProperties::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[336]); } Ifc4x3_add2::IfcDoorLiningProperties::IfcDoorLiningProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_add2::IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcShapeAspect* v15_ShapeAspectStyle, boost::optional< double > v16_LiningToPanelOffsetX, boost::optional< double > v17_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, v15_ShapeAspectStyle ? v15_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); }; populate_derived(); } +Ifc4x3_add2::IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcShapeAspect* v15_ShapeAspectStyle, boost::optional< double > v16_LiningToPanelOffsetX, boost::optional< double > v17_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, v15_ShapeAspectStyle ? v15_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); }; populate_derived(); } // Function implementations for IfcDoorPanelProperties -boost::optional< double > Ifc4x3_add2::IfcDoorPanelProperties::PanelDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_add2::IfcDoorPanelProperties::PanelDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcDoorPanelProperties::setPanelDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_add2::IfcDoorPanelOperationEnum::Value Ifc4x3_add2::IfcDoorPanelProperties::PanelOperation() const { return ::Ifc4x3_add2::IfcDoorPanelOperationEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_add2::IfcDoorPanelOperationEnum::Value Ifc4x3_add2::IfcDoorPanelProperties::PanelOperation() const { return ::Ifc4x3_add2::IfcDoorPanelOperationEnum::FromString(get_attribute_value(5)); } void Ifc4x3_add2::IfcDoorPanelProperties::setPanelOperation(::Ifc4x3_add2::IfcDoorPanelOperationEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_add2::IfcDoorPanelOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_add2::IfcDoorPanelProperties::PanelWidth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_add2::IfcDoorPanelProperties::PanelWidth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_add2::IfcDoorPanelPositionEnum::Value Ifc4x3_add2::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x3_add2::IfcDoorPanelPositionEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_add2::IfcDoorPanelPositionEnum::Value Ifc4x3_add2::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x3_add2::IfcDoorPanelPositionEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add2::IfcDoorPanelProperties::setPanelPosition(::Ifc4x3_add2::IfcDoorPanelPositionEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_add2::IfcDoorPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_add2::IfcShapeAspect* Ifc4x3_add2::IfcDoorPanelProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_add2::IfcShapeAspect>(true); } +::Ifc4x3_add2::IfcShapeAspect* Ifc4x3_add2::IfcDoorPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_add2::IfcShapeAspect>(true); } void Ifc4x3_add2::IfcDoorPanelProperties::setShapeAspectStyle(::Ifc4x3_add2::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_add2::IfcDoorPanelProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[339]); } const IfcParse::entity& Ifc4x3_add2::IfcDoorPanelProperties::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[339]); } Ifc4x3_add2::IfcDoorPanelProperties::IfcDoorPanelProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_add2::IfcDoorPanelProperties::IfcDoorPanelProperties(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_PanelDepth, ::Ifc4x3_add2::IfcDoorPanelOperationEnum::Value v6_PanelOperation, boost::optional< double > v7_PanelWidth, ::Ifc4x3_add2::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_add2::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add2::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcDoorPanelProperties::IfcDoorPanelProperties(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_PanelDepth, ::Ifc4x3_add2::IfcDoorPanelOperationEnum::Value v6_PanelOperation, boost::optional< double > v7_PanelWidth, ::Ifc4x3_add2::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_add2::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add2::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDoorType -::Ifc4x3_add2::IfcDoorTypeEnum::Value Ifc4x3_add2::IfcDoorType::PredefinedType() const { return ::Ifc4x3_add2::IfcDoorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcDoorTypeEnum::Value Ifc4x3_add2::IfcDoorType::PredefinedType() const { return ::Ifc4x3_add2::IfcDoorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcDoorType::setPredefinedType(::Ifc4x3_add2::IfcDoorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcDoorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_add2::IfcDoorTypeOperationEnum::Value Ifc4x3_add2::IfcDoorType::OperationType() const { return ::Ifc4x3_add2::IfcDoorTypeOperationEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3_add2::IfcDoorTypeOperationEnum::Value Ifc4x3_add2::IfcDoorType::OperationType() const { return ::Ifc4x3_add2::IfcDoorTypeOperationEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add2::IfcDoorType::setOperationType(::Ifc4x3_add2::IfcDoorTypeOperationEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3_add2::IfcDoorTypeOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } -boost::optional< bool > Ifc4x3_add2::IfcDoorType::ParameterTakesPrecedence() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } bool v = data_.get_attribute_value(11); return v; } +boost::optional< bool > Ifc4x3_add2::IfcDoorType::ParameterTakesPrecedence() const { if(get_attribute_value(11).isNull()) { return boost::none; } bool v = get_attribute_value(11); return v; } void Ifc4x3_add2::IfcDoorType::setParameterTakesPrecedence(boost::optional< bool > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_add2::IfcDoorType::UserDefinedOperationType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcDoorType::UserDefinedOperationType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_add2::IfcDoorType::setUserDefinedOperationType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_add2::IfcDoorType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[340]); } const IfcParse::entity& Ifc4x3_add2::IfcDoorType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[340]); } Ifc4x3_add2::IfcDoorType::IfcDoorType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add2::IfcDoorType::IfcDoorType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add2::IfcDoorTypeOperationEnum::Value v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } +Ifc4x3_add2::IfcDoorType::IfcDoorType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add2::IfcDoorTypeOperationEnum::Value v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } // Function implementations for IfcDraughtingPreDefinedColour @@ -10348,7 +10348,7 @@ Ifc4x3_add2::IfcDoorType::IfcDoorType(std::string v1_GlobalId, ::Ifc4x3_add2::If const IfcParse::entity& Ifc4x3_add2::IfcDraughtingPreDefinedColour::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[344]); } const IfcParse::entity& Ifc4x3_add2::IfcDraughtingPreDefinedColour::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[344]); } Ifc4x3_add2::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(IfcEntityInstanceData&& e) : IfcPreDefinedColour(std::move(e)) { } -Ifc4x3_add2::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::string v1_Name) : IfcPreDefinedColour(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_add2::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::string v1_Name) : IfcPreDefinedColour(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcDraughtingPreDefinedCurveFont @@ -10356,77 +10356,77 @@ Ifc4x3_add2::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::s const IfcParse::entity& Ifc4x3_add2::IfcDraughtingPreDefinedCurveFont::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[345]); } const IfcParse::entity& Ifc4x3_add2::IfcDraughtingPreDefinedCurveFont::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[345]); } Ifc4x3_add2::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(IfcEntityInstanceData&& e) : IfcPreDefinedCurveFont(std::move(e)) { } -Ifc4x3_add2::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedCurveFont(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_add2::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedCurveFont(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcDuctFitting -boost::optional< ::Ifc4x3_add2::IfcDuctFittingTypeEnum::Value > Ifc4x3_add2::IfcDuctFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcDuctFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcDuctFittingTypeEnum::Value > Ifc4x3_add2::IfcDuctFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcDuctFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcDuctFitting::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcDuctFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcDuctFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcDuctFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[346]); } const IfcParse::entity& Ifc4x3_add2::IfcDuctFitting::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[346]); } Ifc4x3_add2::IfcDuctFitting::IfcDuctFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x3_add2::IfcDuctFitting::IfcDuctFitting(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcDuctFitting::IfcDuctFitting(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDuctFittingType -::Ifc4x3_add2::IfcDuctFittingTypeEnum::Value Ifc4x3_add2::IfcDuctFittingType::PredefinedType() const { return ::Ifc4x3_add2::IfcDuctFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcDuctFittingTypeEnum::Value Ifc4x3_add2::IfcDuctFittingType::PredefinedType() const { return ::Ifc4x3_add2::IfcDuctFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcDuctFittingType::setPredefinedType(::Ifc4x3_add2::IfcDuctFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcDuctFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcDuctFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[347]); } const IfcParse::entity& Ifc4x3_add2::IfcDuctFittingType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[347]); } Ifc4x3_add2::IfcDuctFittingType::IfcDuctFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x3_add2::IfcDuctFittingType::IfcDuctFittingType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDuctFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcDuctFittingType::IfcDuctFittingType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDuctFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDuctSegment -boost::optional< ::Ifc4x3_add2::IfcDuctSegmentTypeEnum::Value > Ifc4x3_add2::IfcDuctSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcDuctSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcDuctSegmentTypeEnum::Value > Ifc4x3_add2::IfcDuctSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcDuctSegment::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcDuctSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcDuctSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcDuctSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[349]); } const IfcParse::entity& Ifc4x3_add2::IfcDuctSegment::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[349]); } Ifc4x3_add2::IfcDuctSegment::IfcDuctSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x3_add2::IfcDuctSegment::IfcDuctSegment(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcDuctSegment::IfcDuctSegment(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDuctSegmentType -::Ifc4x3_add2::IfcDuctSegmentTypeEnum::Value Ifc4x3_add2::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4x3_add2::IfcDuctSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcDuctSegmentTypeEnum::Value Ifc4x3_add2::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4x3_add2::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcDuctSegmentType::setPredefinedType(::Ifc4x3_add2::IfcDuctSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcDuctSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcDuctSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[350]); } const IfcParse::entity& Ifc4x3_add2::IfcDuctSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[350]); } Ifc4x3_add2::IfcDuctSegmentType::IfcDuctSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x3_add2::IfcDuctSegmentType::IfcDuctSegmentType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcDuctSegmentType::IfcDuctSegmentType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDuctSilencer -boost::optional< ::Ifc4x3_add2::IfcDuctSilencerTypeEnum::Value > Ifc4x3_add2::IfcDuctSilencer::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcDuctSilencerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcDuctSilencerTypeEnum::Value > Ifc4x3_add2::IfcDuctSilencer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcDuctSilencer::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcDuctSilencerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcDuctSilencerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcDuctSilencer::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[352]); } const IfcParse::entity& Ifc4x3_add2::IfcDuctSilencer::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[352]); } Ifc4x3_add2::IfcDuctSilencer::IfcDuctSilencer(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4x3_add2::IfcDuctSilencer::IfcDuctSilencer(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcDuctSilencer::IfcDuctSilencer(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDuctSilencerType -::Ifc4x3_add2::IfcDuctSilencerTypeEnum::Value Ifc4x3_add2::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4x3_add2::IfcDuctSilencerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcDuctSilencerTypeEnum::Value Ifc4x3_add2::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4x3_add2::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcDuctSilencerType::setPredefinedType(::Ifc4x3_add2::IfcDuctSilencerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcDuctSilencerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcDuctSilencerType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[353]); } const IfcParse::entity& Ifc4x3_add2::IfcDuctSilencerType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[353]); } Ifc4x3_add2::IfcDuctSilencerType::IfcDuctSilencerType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4x3_add2::IfcDuctSilencerType::IfcDuctSilencerType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcDuctSilencerType::IfcDuctSilencerType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEarthworksCut -boost::optional< ::Ifc4x3_add2::IfcEarthworksCutTypeEnum::Value > Ifc4x3_add2::IfcEarthworksCut::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcEarthworksCutTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcEarthworksCutTypeEnum::Value > Ifc4x3_add2::IfcEarthworksCut::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcEarthworksCutTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcEarthworksCut::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcEarthworksCutTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcEarthworksCutTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcEarthworksCut::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[357]); } const IfcParse::entity& Ifc4x3_add2::IfcEarthworksCut::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[357]); } Ifc4x3_add2::IfcEarthworksCut::IfcEarthworksCut(IfcEntityInstanceData&& e) : IfcFeatureElementSubtraction(std::move(e)) { } -Ifc4x3_add2::IfcEarthworksCut::IfcEarthworksCut(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcEarthworksCutTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcEarthworksCut::IfcEarthworksCut(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcEarthworksCutTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEarthworksElement @@ -10434,194 +10434,194 @@ Ifc4x3_add2::IfcEarthworksCut::IfcEarthworksCut(std::string v1_GlobalId, ::Ifc4x const IfcParse::entity& Ifc4x3_add2::IfcEarthworksElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[359]); } const IfcParse::entity& Ifc4x3_add2::IfcEarthworksElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[359]); } Ifc4x3_add2::IfcEarthworksElement::IfcEarthworksElement(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add2::IfcEarthworksElement::IfcEarthworksElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuiltElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add2::IfcEarthworksElement::IfcEarthworksElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcEarthworksFill -boost::optional< ::Ifc4x3_add2::IfcEarthworksFillTypeEnum::Value > Ifc4x3_add2::IfcEarthworksFill::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcEarthworksFillTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcEarthworksFillTypeEnum::Value > Ifc4x3_add2::IfcEarthworksFill::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcEarthworksFillTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcEarthworksFill::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcEarthworksFillTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcEarthworksFillTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcEarthworksFill::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[360]); } const IfcParse::entity& Ifc4x3_add2::IfcEarthworksFill::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[360]); } Ifc4x3_add2::IfcEarthworksFill::IfcEarthworksFill(IfcEntityInstanceData&& e) : IfcEarthworksElement(std::move(e)) { } -Ifc4x3_add2::IfcEarthworksFill::IfcEarthworksFill(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType) : IfcEarthworksElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcEarthworksFillTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcEarthworksFill::IfcEarthworksFill(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType) : IfcEarthworksElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcEarthworksFillTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEdge -::Ifc4x3_add2::IfcVertex* Ifc4x3_add2::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcVertex>(true); } +::Ifc4x3_add2::IfcVertex* Ifc4x3_add2::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcVertex>(true); } void Ifc4x3_add2::IfcEdge::setEdgeStart(::Ifc4x3_add2::IfcVertex* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcVertex* Ifc4x3_add2::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcVertex>(true); } +::Ifc4x3_add2::IfcVertex* Ifc4x3_add2::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcVertex>(true); } void Ifc4x3_add2::IfcEdge::setEdgeEnd(::Ifc4x3_add2::IfcVertex* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcEdge::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[362]); } const IfcParse::entity& Ifc4x3_add2::IfcEdge::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[362]); } Ifc4x3_add2::IfcEdge::IfcEdge(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcEdge::IfcEdge(::Ifc4x3_add2::IfcVertex* v1_EdgeStart, ::Ifc4x3_add2::IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcEdge::IfcEdge(::Ifc4x3_add2::IfcVertex* v1_EdgeStart, ::Ifc4x3_add2::IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcEdgeCurve -::Ifc4x3_add2::IfcCurve* Ifc4x3_add2::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcCurve>(true); } +::Ifc4x3_add2::IfcCurve* Ifc4x3_add2::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcCurve>(true); } void Ifc4x3_add2::IfcEdgeCurve::setEdgeGeometry(::Ifc4x3_add2::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x3_add2::IfcEdgeCurve::SameSense() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x3_add2::IfcEdgeCurve::SameSense() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcEdgeCurve::setSameSense(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcEdgeCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[363]); } const IfcParse::entity& Ifc4x3_add2::IfcEdgeCurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[363]); } Ifc4x3_add2::IfcEdgeCurve::IfcEdgeCurve(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc4x3_add2::IfcEdgeCurve::IfcEdgeCurve(::Ifc4x3_add2::IfcVertex* v1_EdgeStart, ::Ifc4x3_add2::IfcVertex* v2_EdgeEnd, ::Ifc4x3_add2::IfcCurve* v3_EdgeGeometry, bool v4_SameSense) : IfcEdge(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EdgeGeometry ? v3_EdgeGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SameSense));; populate_derived(); } +Ifc4x3_add2::IfcEdgeCurve::IfcEdgeCurve(::Ifc4x3_add2::IfcVertex* v1_EdgeStart, ::Ifc4x3_add2::IfcVertex* v2_EdgeEnd, ::Ifc4x3_add2::IfcCurve* v3_EdgeGeometry, bool v4_SameSense) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EdgeGeometry ? v3_EdgeGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SameSense));; populate_derived(); } // Function implementations for IfcEdgeLoop -aggregate_of< ::Ifc4x3_add2::IfcOrientedEdge >::ptr Ifc4x3_add2::IfcEdgeLoop::EdgeList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcOrientedEdge >(); } +aggregate_of< ::Ifc4x3_add2::IfcOrientedEdge >::ptr Ifc4x3_add2::IfcEdgeLoop::EdgeList() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcOrientedEdge >(); } void Ifc4x3_add2::IfcEdgeLoop::setEdgeList(aggregate_of< ::Ifc4x3_add2::IfcOrientedEdge >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add2::IfcEdgeLoop::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[364]); } const IfcParse::entity& Ifc4x3_add2::IfcEdgeLoop::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[364]); } Ifc4x3_add2::IfcEdgeLoop::IfcEdgeLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc4x3_add2::IfcEdgeLoop::IfcEdgeLoop(aggregate_of< ::Ifc4x3_add2::IfcOrientedEdge >::ptr v1_EdgeList) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcEdgeLoop::IfcEdgeLoop(aggregate_of< ::Ifc4x3_add2::IfcOrientedEdge >::ptr v1_EdgeList) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } // Function implementations for IfcElectricAppliance -boost::optional< ::Ifc4x3_add2::IfcElectricApplianceTypeEnum::Value > Ifc4x3_add2::IfcElectricAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcElectricApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcElectricApplianceTypeEnum::Value > Ifc4x3_add2::IfcElectricAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcElectricAppliance::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcElectricApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcElectricApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcElectricAppliance::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[365]); } const IfcParse::entity& Ifc4x3_add2::IfcElectricAppliance::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[365]); } Ifc4x3_add2::IfcElectricAppliance::IfcElectricAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_add2::IfcElectricAppliance::IfcElectricAppliance(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcElectricAppliance::IfcElectricAppliance(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricApplianceType -::Ifc4x3_add2::IfcElectricApplianceTypeEnum::Value Ifc4x3_add2::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4x3_add2::IfcElectricApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcElectricApplianceTypeEnum::Value Ifc4x3_add2::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4x3_add2::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcElectricApplianceType::setPredefinedType(::Ifc4x3_add2::IfcElectricApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcElectricApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcElectricApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[366]); } const IfcParse::entity& Ifc4x3_add2::IfcElectricApplianceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[366]); } Ifc4x3_add2::IfcElectricApplianceType::IfcElectricApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_add2::IfcElectricApplianceType::IfcElectricApplianceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcElectricApplianceType::IfcElectricApplianceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricDistributionBoard -boost::optional< ::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x3_add2::IfcElectricDistributionBoard::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x3_add2::IfcElectricDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcElectricDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcElectricDistributionBoard::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[372]); } const IfcParse::entity& Ifc4x3_add2::IfcElectricDistributionBoard::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[372]); } Ifc4x3_add2::IfcElectricDistributionBoard::IfcElectricDistributionBoard(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_add2::IfcElectricDistributionBoard::IfcElectricDistributionBoard(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcElectricDistributionBoard::IfcElectricDistributionBoard(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricDistributionBoardType -::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3_add2::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3_add2::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcElectricDistributionBoardType::setPredefinedType(::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcElectricDistributionBoardType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[373]); } const IfcParse::entity& Ifc4x3_add2::IfcElectricDistributionBoardType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[373]); } Ifc4x3_add2::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_add2::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricFlowStorageDevice -boost::optional< ::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x3_add2::IfcElectricFlowStorageDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x3_add2::IfcElectricFlowStorageDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcElectricFlowStorageDevice::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcElectricFlowStorageDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[375]); } const IfcParse::entity& Ifc4x3_add2::IfcElectricFlowStorageDevice::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[375]); } Ifc4x3_add2::IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(IfcEntityInstanceData&& e) : IfcFlowStorageDevice(std::move(e)) { } -Ifc4x3_add2::IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricFlowStorageDeviceType -::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3_add2::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3_add2::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcElectricFlowStorageDeviceType::setPredefinedType(::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcElectricFlowStorageDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[376]); } const IfcParse::entity& Ifc4x3_add2::IfcElectricFlowStorageDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[376]); } Ifc4x3_add2::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(IfcEntityInstanceData&& e) : IfcFlowStorageDeviceType(std::move(e)) { } -Ifc4x3_add2::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricFlowTreatmentDevice -boost::optional< ::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Value > Ifc4x3_add2::IfcElectricFlowTreatmentDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Value > Ifc4x3_add2::IfcElectricFlowTreatmentDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcElectricFlowTreatmentDevice::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcElectricFlowTreatmentDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[378]); } const IfcParse::entity& Ifc4x3_add2::IfcElectricFlowTreatmentDevice::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[378]); } Ifc4x3_add2::IfcElectricFlowTreatmentDevice::IfcElectricFlowTreatmentDevice(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4x3_add2::IfcElectricFlowTreatmentDevice::IfcElectricFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcElectricFlowTreatmentDevice::IfcElectricFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricFlowTreatmentDeviceType -::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3_add2::IfcElectricFlowTreatmentDeviceType::PredefinedType() const { return ::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3_add2::IfcElectricFlowTreatmentDeviceType::PredefinedType() const { return ::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcElectricFlowTreatmentDeviceType::setPredefinedType(::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcElectricFlowTreatmentDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[379]); } const IfcParse::entity& Ifc4x3_add2::IfcElectricFlowTreatmentDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[379]); } Ifc4x3_add2::IfcElectricFlowTreatmentDeviceType::IfcElectricFlowTreatmentDeviceType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4x3_add2::IfcElectricFlowTreatmentDeviceType::IfcElectricFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcElectricFlowTreatmentDeviceType::IfcElectricFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricGenerator -boost::optional< ::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Value > Ifc4x3_add2::IfcElectricGenerator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Value > Ifc4x3_add2::IfcElectricGenerator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcElectricGenerator::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcElectricGenerator::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[381]); } const IfcParse::entity& Ifc4x3_add2::IfcElectricGenerator::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[381]); } Ifc4x3_add2::IfcElectricGenerator::IfcElectricGenerator(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add2::IfcElectricGenerator::IfcElectricGenerator(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcElectricGenerator::IfcElectricGenerator(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricGeneratorType -::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Value Ifc4x3_add2::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Value Ifc4x3_add2::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcElectricGeneratorType::setPredefinedType(::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcElectricGeneratorType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[382]); } const IfcParse::entity& Ifc4x3_add2::IfcElectricGeneratorType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[382]); } Ifc4x3_add2::IfcElectricGeneratorType::IfcElectricGeneratorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add2::IfcElectricGeneratorType::IfcElectricGeneratorType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcElectricGeneratorType::IfcElectricGeneratorType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricMotor -boost::optional< ::Ifc4x3_add2::IfcElectricMotorTypeEnum::Value > Ifc4x3_add2::IfcElectricMotor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcElectricMotorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcElectricMotorTypeEnum::Value > Ifc4x3_add2::IfcElectricMotor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcElectricMotorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcElectricMotor::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcElectricMotorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcElectricMotorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcElectricMotor::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[384]); } const IfcParse::entity& Ifc4x3_add2::IfcElectricMotor::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[384]); } Ifc4x3_add2::IfcElectricMotor::IfcElectricMotor(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add2::IfcElectricMotor::IfcElectricMotor(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcElectricMotor::IfcElectricMotor(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricMotorType -::Ifc4x3_add2::IfcElectricMotorTypeEnum::Value Ifc4x3_add2::IfcElectricMotorType::PredefinedType() const { return ::Ifc4x3_add2::IfcElectricMotorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcElectricMotorTypeEnum::Value Ifc4x3_add2::IfcElectricMotorType::PredefinedType() const { return ::Ifc4x3_add2::IfcElectricMotorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcElectricMotorType::setPredefinedType(::Ifc4x3_add2::IfcElectricMotorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcElectricMotorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcElectricMotorType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[385]); } const IfcParse::entity& Ifc4x3_add2::IfcElectricMotorType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[385]); } Ifc4x3_add2::IfcElectricMotorType::IfcElectricMotorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add2::IfcElectricMotorType::IfcElectricMotorType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricMotorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcElectricMotorType::IfcElectricMotorType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricMotorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricTimeControl -boost::optional< ::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Value > Ifc4x3_add2::IfcElectricTimeControl::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Value > Ifc4x3_add2::IfcElectricTimeControl::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcElectricTimeControl::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcElectricTimeControl::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[388]); } const IfcParse::entity& Ifc4x3_add2::IfcElectricTimeControl::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[388]); } Ifc4x3_add2::IfcElectricTimeControl::IfcElectricTimeControl(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_add2::IfcElectricTimeControl::IfcElectricTimeControl(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcElectricTimeControl::IfcElectricTimeControl(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricTimeControlType -::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Value Ifc4x3_add2::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Value Ifc4x3_add2::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcElectricTimeControlType::setPredefinedType(::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcElectricTimeControlType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[389]); } const IfcParse::entity& Ifc4x3_add2::IfcElectricTimeControlType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[389]); } Ifc4x3_add2::IfcElectricTimeControlType::IfcElectricTimeControlType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_add2::IfcElectricTimeControlType::IfcElectricTimeControlType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcElectricTimeControlType::IfcElectricTimeControlType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElement -boost::optional< std::string > Ifc4x3_add2::IfcElement::Tag() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcElement::Tag() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcElement::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } ::Ifc4x3_add2::IfcRelFillsElement::list::ptr Ifc4x3_add2::IfcElement::FillsVoids() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[936], 5)->as(); } @@ -10640,29 +10640,29 @@ void Ifc4x3_add2::IfcElement::setTag(boost::optional< std::string > v) { if (v) const IfcParse::entity& Ifc4x3_add2::IfcElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[392]); } const IfcParse::entity& Ifc4x3_add2::IfcElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[392]); } Ifc4x3_add2::IfcElement::IfcElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_add2::IfcElement::IfcElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcProduct(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add2::IfcElement::IfcElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcElementAssembly -boost::optional< ::Ifc4x3_add2::IfcAssemblyPlaceEnum::Value > Ifc4x3_add2::IfcElementAssembly::AssemblyPlace() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcAssemblyPlaceEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcAssemblyPlaceEnum::Value > Ifc4x3_add2::IfcElementAssembly::AssemblyPlace() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcAssemblyPlaceEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcElementAssembly::setAssemblyPlace(boost::optional< ::Ifc4x3_add2::IfcAssemblyPlaceEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcAssemblyPlaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< ::Ifc4x3_add2::IfcElementAssemblyTypeEnum::Value > Ifc4x3_add2::IfcElementAssembly::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcElementAssemblyTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_add2::IfcElementAssemblyTypeEnum::Value > Ifc4x3_add2::IfcElementAssembly::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcElementAssemblyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcElementAssembly::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcElementAssemblyTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcElementAssemblyTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_add2::IfcElementAssembly::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[394]); } const IfcParse::entity& Ifc4x3_add2::IfcElementAssembly::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[394]); } Ifc4x3_add2::IfcElementAssembly::IfcElementAssembly(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_add2::IfcElementAssembly::IfcElementAssembly(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, boost::optional< ::Ifc4x3_add2::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) : IfcElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcElementAssembly::IfcElementAssembly(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, boost::optional< ::Ifc4x3_add2::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElementAssemblyType -::Ifc4x3_add2::IfcElementAssemblyTypeEnum::Value Ifc4x3_add2::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4x3_add2::IfcElementAssemblyTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcElementAssemblyTypeEnum::Value Ifc4x3_add2::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4x3_add2::IfcElementAssemblyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcElementAssemblyType::setPredefinedType(::Ifc4x3_add2::IfcElementAssemblyTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcElementAssemblyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcElementAssemblyType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[395]); } const IfcParse::entity& Ifc4x3_add2::IfcElementAssemblyType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[395]); } Ifc4x3_add2::IfcElementAssemblyType::IfcElementAssemblyType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_add2::IfcElementAssemblyType::IfcElementAssemblyType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcElementAssemblyType::IfcElementAssemblyType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElementComponent @@ -10670,7 +10670,7 @@ Ifc4x3_add2::IfcElementAssemblyType::IfcElementAssemblyType(std::string v1_Globa const IfcParse::entity& Ifc4x3_add2::IfcElementComponent::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[397]); } const IfcParse::entity& Ifc4x3_add2::IfcElementComponent::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[397]); } Ifc4x3_add2::IfcElementComponent::IfcElementComponent(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_add2::IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add2::IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcElementComponentType @@ -10678,63 +10678,63 @@ Ifc4x3_add2::IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, : const IfcParse::entity& Ifc4x3_add2::IfcElementComponentType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[398]); } const IfcParse::entity& Ifc4x3_add2::IfcElementComponentType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[398]); } Ifc4x3_add2::IfcElementComponentType::IfcElementComponentType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_add2::IfcElementComponentType::IfcElementComponentType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add2::IfcElementComponentType::IfcElementComponentType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcElementQuantity -boost::optional< std::string > Ifc4x3_add2::IfcElementQuantity::MethodOfMeasurement() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcElementQuantity::MethodOfMeasurement() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcElementQuantity::setMethodOfMeasurement(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -aggregate_of< ::Ifc4x3_add2::IfcPhysicalQuantity >::ptr Ifc4x3_add2::IfcElementQuantity::Quantities() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_add2::IfcPhysicalQuantity >(); } +aggregate_of< ::Ifc4x3_add2::IfcPhysicalQuantity >::ptr Ifc4x3_add2::IfcElementQuantity::Quantities() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_add2::IfcPhysicalQuantity >(); } void Ifc4x3_add2::IfcElementQuantity::setQuantities(aggregate_of< ::Ifc4x3_add2::IfcPhysicalQuantity >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcElementQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[400]); } const IfcParse::entity& Ifc4x3_add2::IfcElementQuantity::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[400]); } Ifc4x3_add2::IfcElementQuantity::IfcElementQuantity(IfcEntityInstanceData&& e) : IfcQuantitySet(std::move(e)) { } -Ifc4x3_add2::IfcElementQuantity::IfcElementQuantity(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_MethodOfMeasurement, aggregate_of< ::Ifc4x3_add2::IfcPhysicalQuantity >::ptr v6_Quantities) : IfcQuantitySet(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, (v6_Quantities)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcElementQuantity::IfcElementQuantity(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_MethodOfMeasurement, aggregate_of< ::Ifc4x3_add2::IfcPhysicalQuantity >::ptr v6_Quantities) : IfcQuantitySet(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, (v6_Quantities)->generalize());; populate_derived(); } // Function implementations for IfcElementType -boost::optional< std::string > Ifc4x3_add2::IfcElementType::ElementType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcElementType::setElementType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[401]); } const IfcParse::entity& Ifc4x3_add2::IfcElementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[401]); } Ifc4x3_add2::IfcElementType::IfcElementType(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(e)) { } -Ifc4x3_add2::IfcElementType::IfcElementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add2::IfcElementType::IfcElementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcElementarySurface -::Ifc4x3_add2::IfcAxis2Placement3D* Ifc4x3_add2::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcAxis2Placement3D>(true); } +::Ifc4x3_add2::IfcAxis2Placement3D* Ifc4x3_add2::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcAxis2Placement3D>(true); } void Ifc4x3_add2::IfcElementarySurface::setPosition(::Ifc4x3_add2::IfcAxis2Placement3D* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add2::IfcElementarySurface::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[393]); } const IfcParse::entity& Ifc4x3_add2::IfcElementarySurface::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[393]); } Ifc4x3_add2::IfcElementarySurface::IfcElementarySurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x3_add2::IfcElementarySurface::IfcElementarySurface(::Ifc4x3_add2::IfcAxis2Placement3D* v1_Position) : IfcSurface(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcElementarySurface::IfcElementarySurface(::Ifc4x3_add2::IfcAxis2Placement3D* v1_Position) : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcEllipse -double Ifc4x3_add2::IfcEllipse::SemiAxis1() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add2::IfcEllipse::SemiAxis1() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcEllipse::setSemiAxis1(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_add2::IfcEllipse::SemiAxis2() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_add2::IfcEllipse::SemiAxis2() const { double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcEllipse::setSemiAxis2(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcEllipse::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[402]); } const IfcParse::entity& Ifc4x3_add2::IfcEllipse::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[402]); } Ifc4x3_add2::IfcEllipse::IfcEllipse(IfcEntityInstanceData&& e) : IfcConic(std::move(e)) { } -Ifc4x3_add2::IfcEllipse::IfcEllipse(::Ifc4x3_add2::IfcAxis2Placement* v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) : IfcConic(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; populate_derived(); } +Ifc4x3_add2::IfcEllipse::IfcEllipse(::Ifc4x3_add2::IfcAxis2Placement* v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) : IfcConic(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; populate_derived(); } // Function implementations for IfcEllipseProfileDef -double Ifc4x3_add2::IfcEllipseProfileDef::SemiAxis1() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add2::IfcEllipseProfileDef::SemiAxis1() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcEllipseProfileDef::setSemiAxis1(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_add2::IfcEllipseProfileDef::SemiAxis2() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add2::IfcEllipseProfileDef::SemiAxis2() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcEllipseProfileDef::setSemiAxis2(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add2::IfcEllipseProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[403]); } const IfcParse::entity& Ifc4x3_add2::IfcEllipseProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[403]); } Ifc4x3_add2::IfcEllipseProfileDef::IfcEllipseProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_add2::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D* v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; populate_derived(); } +Ifc4x3_add2::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D* v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; populate_derived(); } // Function implementations for IfcEnergyConversionDevice @@ -10742,7 +10742,7 @@ Ifc4x3_add2::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc4x3_add2::IfcProfil const IfcParse::entity& Ifc4x3_add2::IfcEnergyConversionDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[404]); } const IfcParse::entity& Ifc4x3_add2::IfcEnergyConversionDevice::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[404]); } Ifc4x3_add2::IfcEnergyConversionDevice::IfcEnergyConversionDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_add2::IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add2::IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcEnergyConversionDeviceType @@ -10750,127 +10750,127 @@ Ifc4x3_add2::IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1 const IfcParse::entity& Ifc4x3_add2::IfcEnergyConversionDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[405]); } const IfcParse::entity& Ifc4x3_add2::IfcEnergyConversionDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[405]); } Ifc4x3_add2::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_add2::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add2::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcEngine -boost::optional< ::Ifc4x3_add2::IfcEngineTypeEnum::Value > Ifc4x3_add2::IfcEngine::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcEngineTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcEngineTypeEnum::Value > Ifc4x3_add2::IfcEngine::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcEngineTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcEngine::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcEngineTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcEngineTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcEngine::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[407]); } const IfcParse::entity& Ifc4x3_add2::IfcEngine::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[407]); } Ifc4x3_add2::IfcEngine::IfcEngine(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add2::IfcEngine::IfcEngine(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcEngineTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcEngine::IfcEngine(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcEngineTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEngineType -::Ifc4x3_add2::IfcEngineTypeEnum::Value Ifc4x3_add2::IfcEngineType::PredefinedType() const { return ::Ifc4x3_add2::IfcEngineTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcEngineTypeEnum::Value Ifc4x3_add2::IfcEngineType::PredefinedType() const { return ::Ifc4x3_add2::IfcEngineTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcEngineType::setPredefinedType(::Ifc4x3_add2::IfcEngineTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcEngineTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcEngineType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[408]); } const IfcParse::entity& Ifc4x3_add2::IfcEngineType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[408]); } Ifc4x3_add2::IfcEngineType::IfcEngineType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add2::IfcEngineType::IfcEngineType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcEngineTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcEngineType::IfcEngineType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcEngineTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEvaporativeCooler -boost::optional< ::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x3_add2::IfcEvaporativeCooler::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x3_add2::IfcEvaporativeCooler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcEvaporativeCooler::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcEvaporativeCooler::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[410]); } const IfcParse::entity& Ifc4x3_add2::IfcEvaporativeCooler::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[410]); } Ifc4x3_add2::IfcEvaporativeCooler::IfcEvaporativeCooler(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add2::IfcEvaporativeCooler::IfcEvaporativeCooler(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcEvaporativeCooler::IfcEvaporativeCooler(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEvaporativeCoolerType -::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3_add2::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3_add2::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcEvaporativeCoolerType::setPredefinedType(::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcEvaporativeCoolerType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[411]); } const IfcParse::entity& Ifc4x3_add2::IfcEvaporativeCoolerType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[411]); } Ifc4x3_add2::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add2::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEvaporator -boost::optional< ::Ifc4x3_add2::IfcEvaporatorTypeEnum::Value > Ifc4x3_add2::IfcEvaporator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcEvaporatorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcEvaporatorTypeEnum::Value > Ifc4x3_add2::IfcEvaporator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcEvaporatorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcEvaporator::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcEvaporatorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcEvaporatorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcEvaporator::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[413]); } const IfcParse::entity& Ifc4x3_add2::IfcEvaporator::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[413]); } Ifc4x3_add2::IfcEvaporator::IfcEvaporator(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add2::IfcEvaporator::IfcEvaporator(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcEvaporator::IfcEvaporator(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEvaporatorType -::Ifc4x3_add2::IfcEvaporatorTypeEnum::Value Ifc4x3_add2::IfcEvaporatorType::PredefinedType() const { return ::Ifc4x3_add2::IfcEvaporatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcEvaporatorTypeEnum::Value Ifc4x3_add2::IfcEvaporatorType::PredefinedType() const { return ::Ifc4x3_add2::IfcEvaporatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcEvaporatorType::setPredefinedType(::Ifc4x3_add2::IfcEvaporatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcEvaporatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcEvaporatorType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[414]); } const IfcParse::entity& Ifc4x3_add2::IfcEvaporatorType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[414]); } Ifc4x3_add2::IfcEvaporatorType::IfcEvaporatorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add2::IfcEvaporatorType::IfcEvaporatorType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcEvaporatorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcEvaporatorType::IfcEvaporatorType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcEvaporatorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEvent -boost::optional< ::Ifc4x3_add2::IfcEventTypeEnum::Value > Ifc4x3_add2::IfcEvent::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcEventTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_add2::IfcEventTypeEnum::Value > Ifc4x3_add2::IfcEvent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcEventTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add2::IfcEvent::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcEventTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_add2::IfcEventTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3_add2::IfcEventTriggerTypeEnum::Value > Ifc4x3_add2::IfcEvent::EventTriggerType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcEventTriggerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcEventTriggerTypeEnum::Value > Ifc4x3_add2::IfcEvent::EventTriggerType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcEventTriggerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcEvent::setEventTriggerType(boost::optional< ::Ifc4x3_add2::IfcEventTriggerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcEventTriggerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_add2::IfcEvent::UserDefinedEventTriggerType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcEvent::UserDefinedEventTriggerType() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_add2::IfcEvent::setUserDefinedEventTriggerType(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -::Ifc4x3_add2::IfcEventTime* Ifc4x3_add2::IfcEvent::EventOccurenceTime() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_add2::IfcEventTime>(true); } +::Ifc4x3_add2::IfcEventTime* Ifc4x3_add2::IfcEvent::EventOccurenceTime() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_add2::IfcEventTime>(true); } void Ifc4x3_add2::IfcEvent::setEventOccurenceTime(::Ifc4x3_add2::IfcEventTime* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_add2::IfcEvent::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[416]); } const IfcParse::entity& Ifc4x3_add2::IfcEvent::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[416]); } Ifc4x3_add2::IfcEvent::IfcEvent(IfcEntityInstanceData&& e) : IfcProcess(std::move(e)) { } -Ifc4x3_add2::IfcEvent::IfcEvent(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcEventTypeEnum::Value > v8_PredefinedType, boost::optional< ::Ifc4x3_add2::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, boost::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_add2::IfcEventTime* v11_EventOccurenceTime) : IfcProcess(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, v11_EventOccurenceTime ? v11_EventOccurenceTime->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcEvent::IfcEvent(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcEventTypeEnum::Value > v8_PredefinedType, boost::optional< ::Ifc4x3_add2::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, boost::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_add2::IfcEventTime* v11_EventOccurenceTime) : IfcProcess(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, v11_EventOccurenceTime ? v11_EventOccurenceTime->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcEventTime -boost::optional< std::string > Ifc4x3_add2::IfcEventTime::ActualDate() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcEventTime::ActualDate() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcEventTime::setActualDate(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_add2::IfcEventTime::EarlyDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcEventTime::EarlyDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcEventTime::setEarlyDate(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add2::IfcEventTime::LateDate() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcEventTime::LateDate() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcEventTime::setLateDate(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_add2::IfcEventTime::ScheduleDate() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcEventTime::ScheduleDate() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcEventTime::setScheduleDate(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_add2::IfcEventTime::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[417]); } const IfcParse::entity& Ifc4x3_add2::IfcEventTime::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[417]); } Ifc4x3_add2::IfcEventTime::IfcEventTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x3_add2::IfcEventTime::IfcEventTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_add2::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); }; populate_derived(); } +Ifc4x3_add2::IfcEventTime::IfcEventTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_add2::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); }; populate_derived(); } // Function implementations for IfcEventType -::Ifc4x3_add2::IfcEventTypeEnum::Value Ifc4x3_add2::IfcEventType::PredefinedType() const { return ::Ifc4x3_add2::IfcEventTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcEventTypeEnum::Value Ifc4x3_add2::IfcEventType::PredefinedType() const { return ::Ifc4x3_add2::IfcEventTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcEventType::setPredefinedType(::Ifc4x3_add2::IfcEventTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcEventTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_add2::IfcEventTriggerTypeEnum::Value Ifc4x3_add2::IfcEventType::EventTriggerType() const { return ::Ifc4x3_add2::IfcEventTriggerTypeEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3_add2::IfcEventTriggerTypeEnum::Value Ifc4x3_add2::IfcEventType::EventTriggerType() const { return ::Ifc4x3_add2::IfcEventTriggerTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add2::IfcEventType::setEventTriggerType(::Ifc4x3_add2::IfcEventTriggerTypeEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3_add2::IfcEventTriggerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } -boost::optional< std::string > Ifc4x3_add2::IfcEventType::UserDefinedEventTriggerType() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcEventType::UserDefinedEventTriggerType() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x3_add2::IfcEventType::setUserDefinedEventTriggerType(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x3_add2::IfcEventType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[419]); } const IfcParse::entity& Ifc4x3_add2::IfcEventType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[419]); } Ifc4x3_add2::IfcEventType::IfcEventType(IfcEntityInstanceData&& e) : IfcTypeProcess(std::move(e)) { } -Ifc4x3_add2::IfcEventType::IfcEventType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_add2::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add2::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, boost::optional< std::string > v12_UserDefinedEventTriggerType) : IfcTypeProcess(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); }; populate_derived(); } +Ifc4x3_add2::IfcEventType::IfcEventType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_add2::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add2::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, boost::optional< std::string > v12_UserDefinedEventTriggerType) : IfcTypeProcess(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); }; populate_derived(); } // Function implementations for IfcExtendedProperties -boost::optional< std::string > Ifc4x3_add2::IfcExtendedProperties::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcExtendedProperties::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcExtendedProperties::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add2::IfcExtendedProperties::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcExtendedProperties::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcExtendedProperties::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3_add2::IfcProperty >::ptr Ifc4x3_add2::IfcExtendedProperties::Properties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcProperty >(); } +aggregate_of< ::Ifc4x3_add2::IfcProperty >::ptr Ifc4x3_add2::IfcExtendedProperties::Properties() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcProperty >(); } void Ifc4x3_add2::IfcExtendedProperties::setProperties(aggregate_of< ::Ifc4x3_add2::IfcProperty >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcExtendedProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[421]); } const IfcParse::entity& Ifc4x3_add2::IfcExtendedProperties::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[421]); } Ifc4x3_add2::IfcExtendedProperties::IfcExtendedProperties(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x3_add2::IfcExtendedProperties::IfcExtendedProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add2::IfcProperty >::ptr v3_Properties) : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcExtendedProperties::IfcExtendedProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add2::IfcProperty >::ptr v3_Properties) : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());; populate_derived(); } // Function implementations for IfcExternalInformation @@ -10878,14 +10878,14 @@ Ifc4x3_add2::IfcExtendedProperties::IfcExtendedProperties(boost::optional< std:: const IfcParse::entity& Ifc4x3_add2::IfcExternalInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[422]); } const IfcParse::entity& Ifc4x3_add2::IfcExternalInformation::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[422]); } Ifc4x3_add2::IfcExternalInformation::IfcExternalInformation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcExternalInformation::IfcExternalInformation() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add2::IfcExternalInformation::IfcExternalInformation() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcExternalReference -boost::optional< std::string > Ifc4x3_add2::IfcExternalReference::Location() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcExternalReference::Location() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcExternalReference::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add2::IfcExternalReference::Identification() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcExternalReference::Identification() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcExternalReference::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_add2::IfcExternalReference::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcExternalReference::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcExternalReference::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3_add2::IfcExternalReferenceRelationship::list::ptr Ifc4x3_add2::IfcExternalReference::ExternalReferenceForResources() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[427], 2)->as(); } @@ -10893,22 +10893,22 @@ void Ifc4x3_add2::IfcExternalReference::setName(boost::optional< std::string > v const IfcParse::entity& Ifc4x3_add2::IfcExternalReference::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[426]); } const IfcParse::entity& Ifc4x3_add2::IfcExternalReference::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[426]); } Ifc4x3_add2::IfcExternalReference::IfcExternalReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcExternalReference::IfcExternalReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3_add2::IfcExternalReference::IfcExternalReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternalReferenceRelationship -::Ifc4x3_add2::IfcExternalReference* Ifc4x3_add2::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcExternalReference>(true); } +::Ifc4x3_add2::IfcExternalReference* Ifc4x3_add2::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcExternalReference>(true); } void Ifc4x3_add2::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4x3_add2::IfcExternalReference* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_add2::IfcResourceObjectSelect >::ptr Ifc4x3_add2::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_add2::IfcResourceObjectSelect >(); } +aggregate_of< ::Ifc4x3_add2::IfcResourceObjectSelect >::ptr Ifc4x3_add2::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_add2::IfcResourceObjectSelect >(); } void Ifc4x3_add2::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_add2::IfcResourceObjectSelect >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcExternalReferenceRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[427]); } const IfcParse::entity& Ifc4x3_add2::IfcExternalReferenceRelationship::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[427]); } Ifc4x3_add2::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_add2::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_add2::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingReference ? v3_RelatingReference->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_add2::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingReference ? v3_RelatingReference->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } // Function implementations for IfcExternalSpatialElement -boost::optional< ::Ifc4x3_add2::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_add2::IfcExternalSpatialElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcExternalSpatialElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_add2::IfcExternalSpatialElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcExternalSpatialElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcExternalSpatialElement::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcExternalSpatialElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcExternalSpatialElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x3_add2::IfcRelSpaceBoundary::list::ptr Ifc4x3_add2::IfcExternalSpatialElement::BoundedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[945], 4)->as(); } @@ -10916,7 +10916,7 @@ void Ifc4x3_add2::IfcExternalSpatialElement::setPredefinedType(boost::optional< const IfcParse::entity& Ifc4x3_add2::IfcExternalSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[428]); } const IfcParse::entity& Ifc4x3_add2::IfcExternalSpatialElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[428]); } Ifc4x3_add2::IfcExternalSpatialElement::IfcExternalSpatialElement(IfcEntityInstanceData&& e) : IfcExternalSpatialStructureElement(std::move(e)) { } -Ifc4x3_add2::IfcExternalSpatialElement::IfcExternalSpatialElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) : IfcExternalSpatialStructureElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcExternalSpatialElement::IfcExternalSpatialElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) : IfcExternalSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcExternalSpatialStructureElement @@ -10924,7 +10924,7 @@ Ifc4x3_add2::IfcExternalSpatialElement::IfcExternalSpatialElement(std::string v1 const IfcParse::entity& Ifc4x3_add2::IfcExternalSpatialStructureElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[430]); } const IfcParse::entity& Ifc4x3_add2::IfcExternalSpatialStructureElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[430]); } Ifc4x3_add2::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(IfcEntityInstanceData&& e) : IfcSpatialElement(std::move(e)) { } -Ifc4x3_add2::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcSpatialElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } +Ifc4x3_add2::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcSpatialElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedHatchStyle @@ -10932,7 +10932,7 @@ Ifc4x3_add2::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElem const IfcParse::entity& Ifc4x3_add2::IfcExternallyDefinedHatchStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[423]); } const IfcParse::entity& Ifc4x3_add2::IfcExternallyDefinedHatchStyle::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[423]); } Ifc4x3_add2::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_add2::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3_add2::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedSurfaceStyle @@ -10940,7 +10940,7 @@ Ifc4x3_add2::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boos const IfcParse::entity& Ifc4x3_add2::IfcExternallyDefinedSurfaceStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[424]); } const IfcParse::entity& Ifc4x3_add2::IfcExternallyDefinedSurfaceStyle::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[424]); } Ifc4x3_add2::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_add2::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3_add2::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedTextFont @@ -10948,32 +10948,32 @@ Ifc4x3_add2::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle( const IfcParse::entity& Ifc4x3_add2::IfcExternallyDefinedTextFont::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[425]); } const IfcParse::entity& Ifc4x3_add2::IfcExternallyDefinedTextFont::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[425]); } Ifc4x3_add2::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_add2::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3_add2::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExtrudedAreaSolid -::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcDirection>(true); } +::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcDirection>(true); } void Ifc4x3_add2::IfcExtrudedAreaSolid::setExtrudedDirection(::Ifc4x3_add2::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_add2::IfcExtrudedAreaSolid::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add2::IfcExtrudedAreaSolid::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcExtrudedAreaSolid::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcExtrudedAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[431]); } const IfcParse::entity& Ifc4x3_add2::IfcExtrudedAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[431]); } Ifc4x3_add2::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4x3_add2::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(::Ifc4x3_add2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add2::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } +Ifc4x3_add2::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(::Ifc4x3_add2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add2::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } // Function implementations for IfcExtrudedAreaSolidTapered -::Ifc4x3_add2::IfcProfileDef* Ifc4x3_add2::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcProfileDef>(true); } +::Ifc4x3_add2::IfcProfileDef* Ifc4x3_add2::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcProfileDef>(true); } void Ifc4x3_add2::IfcExtrudedAreaSolidTapered::setEndSweptArea(::Ifc4x3_add2::IfcProfileDef* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add2::IfcExtrudedAreaSolidTapered::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[432]); } const IfcParse::entity& Ifc4x3_add2::IfcExtrudedAreaSolidTapered::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[432]); } Ifc4x3_add2::IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(IfcEntityInstanceData&& e) : IfcExtrudedAreaSolid(std::move(e)) { } -Ifc4x3_add2::IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(::Ifc4x3_add2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add2::IfcDirection* v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_add2::IfcProfileDef* v5_EndSweptArea) : IfcExtrudedAreaSolid(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(::Ifc4x3_add2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add2::IfcDirection* v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_add2::IfcProfileDef* v5_EndSweptArea) : IfcExtrudedAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcFace -aggregate_of< ::Ifc4x3_add2::IfcFaceBound >::ptr Ifc4x3_add2::IfcFace::Bounds() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcFaceBound >(); } +aggregate_of< ::Ifc4x3_add2::IfcFaceBound >::ptr Ifc4x3_add2::IfcFace::Bounds() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcFaceBound >(); } void Ifc4x3_add2::IfcFace::setBounds(aggregate_of< ::Ifc4x3_add2::IfcFaceBound >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_add2::IfcTextureMap::list::ptr Ifc4x3_add2::IfcFace::HasTextureMaps() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[1196], 2)->as(); } @@ -10981,29 +10981,29 @@ void Ifc4x3_add2::IfcFace::setBounds(aggregate_of< ::Ifc4x3_add2::IfcFaceBound > const IfcParse::entity& Ifc4x3_add2::IfcFace::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[433]); } const IfcParse::entity& Ifc4x3_add2::IfcFace::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[433]); } Ifc4x3_add2::IfcFace::IfcFace(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcFace::IfcFace(aggregate_of< ::Ifc4x3_add2::IfcFaceBound >::ptr v1_Bounds) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Bounds)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcFace::IfcFace(aggregate_of< ::Ifc4x3_add2::IfcFaceBound >::ptr v1_Bounds) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Bounds)->generalize());; populate_derived(); } // Function implementations for IfcFaceBasedSurfaceModel -aggregate_of< ::Ifc4x3_add2::IfcConnectedFaceSet >::ptr Ifc4x3_add2::IfcFaceBasedSurfaceModel::FbsmFaces() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcConnectedFaceSet >(); } +aggregate_of< ::Ifc4x3_add2::IfcConnectedFaceSet >::ptr Ifc4x3_add2::IfcFaceBasedSurfaceModel::FbsmFaces() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcConnectedFaceSet >(); } void Ifc4x3_add2::IfcFaceBasedSurfaceModel::setFbsmFaces(aggregate_of< ::Ifc4x3_add2::IfcConnectedFaceSet >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add2::IfcFaceBasedSurfaceModel::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[434]); } const IfcParse::entity& Ifc4x3_add2::IfcFaceBasedSurfaceModel::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[434]); } Ifc4x3_add2::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(aggregate_of< ::Ifc4x3_add2::IfcConnectedFaceSet >::ptr v1_FbsmFaces) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_FbsmFaces)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(aggregate_of< ::Ifc4x3_add2::IfcConnectedFaceSet >::ptr v1_FbsmFaces) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_FbsmFaces)->generalize());; populate_derived(); } // Function implementations for IfcFaceBound -::Ifc4x3_add2::IfcLoop* Ifc4x3_add2::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcLoop>(true); } +::Ifc4x3_add2::IfcLoop* Ifc4x3_add2::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcLoop>(true); } void Ifc4x3_add2::IfcFaceBound::setBound(::Ifc4x3_add2::IfcLoop* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -bool Ifc4x3_add2::IfcFaceBound::Orientation() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x3_add2::IfcFaceBound::Orientation() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcFaceBound::setOrientation(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcFaceBound::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[435]); } const IfcParse::entity& Ifc4x3_add2::IfcFaceBound::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[435]); } Ifc4x3_add2::IfcFaceBound::IfcFaceBound(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcFaceBound::IfcFaceBound(::Ifc4x3_add2::IfcLoop* v1_Bound, bool v2_Orientation) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } +Ifc4x3_add2::IfcFaceBound::IfcFaceBound(::Ifc4x3_add2::IfcLoop* v1_Bound, bool v2_Orientation) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } // Function implementations for IfcFaceOuterBound @@ -11011,19 +11011,19 @@ Ifc4x3_add2::IfcFaceBound::IfcFaceBound(::Ifc4x3_add2::IfcLoop* v1_Bound, bool v const IfcParse::entity& Ifc4x3_add2::IfcFaceOuterBound::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[436]); } const IfcParse::entity& Ifc4x3_add2::IfcFaceOuterBound::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[436]); } Ifc4x3_add2::IfcFaceOuterBound::IfcFaceOuterBound(IfcEntityInstanceData&& e) : IfcFaceBound(std::move(e)) { } -Ifc4x3_add2::IfcFaceOuterBound::IfcFaceOuterBound(::Ifc4x3_add2::IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } +Ifc4x3_add2::IfcFaceOuterBound::IfcFaceOuterBound(::Ifc4x3_add2::IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } // Function implementations for IfcFaceSurface -::Ifc4x3_add2::IfcSurface* Ifc4x3_add2::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcSurface>(true); } +::Ifc4x3_add2::IfcSurface* Ifc4x3_add2::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcSurface>(true); } void Ifc4x3_add2::IfcFaceSurface::setFaceSurface(::Ifc4x3_add2::IfcSurface* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -bool Ifc4x3_add2::IfcFaceSurface::SameSense() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x3_add2::IfcFaceSurface::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcFaceSurface::setSameSense(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcFaceSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[437]); } const IfcParse::entity& Ifc4x3_add2::IfcFaceSurface::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[437]); } Ifc4x3_add2::IfcFaceSurface::IfcFaceSurface(IfcEntityInstanceData&& e) : IfcFace(std::move(e)) { } -Ifc4x3_add2::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc4x3_add2::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_add2::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFace(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } +Ifc4x3_add2::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc4x3_add2::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_add2::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFace(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } // Function implementations for IfcFacetedBrep @@ -11031,17 +11031,17 @@ Ifc4x3_add2::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc4x3_add2::IfcFace const IfcParse::entity& Ifc4x3_add2::IfcFacetedBrep::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[438]); } const IfcParse::entity& Ifc4x3_add2::IfcFacetedBrep::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[438]); } Ifc4x3_add2::IfcFacetedBrep::IfcFacetedBrep(IfcEntityInstanceData&& e) : IfcManifoldSolidBrep(std::move(e)) { } -Ifc4x3_add2::IfcFacetedBrep::IfcFacetedBrep(::Ifc4x3_add2::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcFacetedBrep::IfcFacetedBrep(::Ifc4x3_add2::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcFacetedBrepWithVoids -aggregate_of< ::Ifc4x3_add2::IfcClosedShell >::ptr Ifc4x3_add2::IfcFacetedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcClosedShell >(); } +aggregate_of< ::Ifc4x3_add2::IfcClosedShell >::ptr Ifc4x3_add2::IfcFacetedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcClosedShell >(); } void Ifc4x3_add2::IfcFacetedBrepWithVoids::setVoids(aggregate_of< ::Ifc4x3_add2::IfcClosedShell >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcFacetedBrepWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[439]); } const IfcParse::entity& Ifc4x3_add2::IfcFacetedBrepWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[439]); } Ifc4x3_add2::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(IfcEntityInstanceData&& e) : IfcFacetedBrep(std::move(e)) { } -Ifc4x3_add2::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4x3_add2::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3_add2::IfcClosedShell >::ptr v2_Voids) : IfcFacetedBrep(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4x3_add2::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3_add2::IfcClosedShell >::ptr v2_Voids) : IfcFacetedBrep(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } // Function implementations for IfcFacility @@ -11049,87 +11049,87 @@ Ifc4x3_add2::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4x3_add2::Ifc const IfcParse::entity& Ifc4x3_add2::IfcFacility::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[440]); } const IfcParse::entity& Ifc4x3_add2::IfcFacility::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[440]); } Ifc4x3_add2::IfcFacility::IfcFacility(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x3_add2::IfcFacility::IfcFacility(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } +Ifc4x3_add2::IfcFacility::IfcFacility(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } // Function implementations for IfcFacilityPart -::Ifc4x3_add2::IfcFacilityUsageEnum::Value Ifc4x3_add2::IfcFacilityPart::UsageType() const { return ::Ifc4x3_add2::IfcFacilityUsageEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcFacilityUsageEnum::Value Ifc4x3_add2::IfcFacilityPart::UsageType() const { return ::Ifc4x3_add2::IfcFacilityUsageEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcFacilityPart::setUsageType(::Ifc4x3_add2::IfcFacilityUsageEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcFacilityUsageEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcFacilityPart::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[441]); } const IfcParse::entity& Ifc4x3_add2::IfcFacilityPart::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[441]); } Ifc4x3_add2::IfcFacilityPart::IfcFacilityPart(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x3_add2::IfcFacilityPart::IfcFacilityPart(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType)));; populate_derived(); } +Ifc4x3_add2::IfcFacilityPart::IfcFacilityPart(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType)));; populate_derived(); } // Function implementations for IfcFacilityPartCommon -boost::optional< ::Ifc4x3_add2::IfcFacilityPartCommonTypeEnum::Value > Ifc4x3_add2::IfcFacilityPartCommon::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcFacilityPartCommonTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add2::IfcFacilityPartCommonTypeEnum::Value > Ifc4x3_add2::IfcFacilityPartCommon::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcFacilityPartCommonTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add2::IfcFacilityPartCommon::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcFacilityPartCommonTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add2::IfcFacilityPartCommonTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add2::IfcFacilityPartCommon::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[442]); } const IfcParse::entity& Ifc4x3_add2::IfcFacilityPartCommon::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[442]); } Ifc4x3_add2::IfcFacilityPartCommon::IfcFacilityPartCommon(IfcEntityInstanceData&& e) : IfcFacilityPart(std::move(e)) { } -Ifc4x3_add2::IfcFacilityPartCommon::IfcFacilityPartCommon(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3_add2::IfcFacilityPartCommonTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcFacilityPartCommonTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcFacilityPartCommon::IfcFacilityPartCommon(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3_add2::IfcFacilityPartCommonTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcFacilityPartCommonTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFailureConnectionCondition -boost::optional< double > Ifc4x3_add2::IfcFailureConnectionCondition::TensionFailureX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_add2::IfcFailureConnectionCondition::TensionFailureX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcFailureConnectionCondition::setTensionFailureX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_add2::IfcFailureConnectionCondition::TensionFailureY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add2::IfcFailureConnectionCondition::TensionFailureY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcFailureConnectionCondition::setTensionFailureY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_add2::IfcFailureConnectionCondition::TensionFailureZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add2::IfcFailureConnectionCondition::TensionFailureZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcFailureConnectionCondition::setTensionFailureZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_add2::IfcFailureConnectionCondition::CompressionFailureX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_add2::IfcFailureConnectionCondition::CompressionFailureX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcFailureConnectionCondition::setCompressionFailureX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_add2::IfcFailureConnectionCondition::CompressionFailureY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_add2::IfcFailureConnectionCondition::CompressionFailureY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcFailureConnectionCondition::setCompressionFailureY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_add2::IfcFailureConnectionCondition::CompressionFailureZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_add2::IfcFailureConnectionCondition::CompressionFailureZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcFailureConnectionCondition::setCompressionFailureZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_add2::IfcFailureConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[445]); } const IfcParse::entity& Ifc4x3_add2::IfcFailureConnectionCondition::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[445]); } Ifc4x3_add2::IfcFailureConnectionCondition::IfcFailureConnectionCondition(IfcEntityInstanceData&& e) : IfcStructuralConnectionCondition(std::move(e)) { } -Ifc4x3_add2::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; populate_derived(); } +Ifc4x3_add2::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; populate_derived(); } // Function implementations for IfcFan -boost::optional< ::Ifc4x3_add2::IfcFanTypeEnum::Value > Ifc4x3_add2::IfcFan::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcFanTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcFanTypeEnum::Value > Ifc4x3_add2::IfcFan::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcFanTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcFan::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcFanTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcFanTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcFan::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[446]); } const IfcParse::entity& Ifc4x3_add2::IfcFan::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[446]); } Ifc4x3_add2::IfcFan::IfcFan(IfcEntityInstanceData&& e) : IfcFlowMovingDevice(std::move(e)) { } -Ifc4x3_add2::IfcFan::IfcFan(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcFanTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcFan::IfcFan(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcFanTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFanType -::Ifc4x3_add2::IfcFanTypeEnum::Value Ifc4x3_add2::IfcFanType::PredefinedType() const { return ::Ifc4x3_add2::IfcFanTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcFanTypeEnum::Value Ifc4x3_add2::IfcFanType::PredefinedType() const { return ::Ifc4x3_add2::IfcFanTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcFanType::setPredefinedType(::Ifc4x3_add2::IfcFanTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcFanTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcFanType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[447]); } const IfcParse::entity& Ifc4x3_add2::IfcFanType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[447]); } Ifc4x3_add2::IfcFanType::IfcFanType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(e)) { } -Ifc4x3_add2::IfcFanType::IfcFanType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFanTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcFanType::IfcFanType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFanTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFastener -boost::optional< ::Ifc4x3_add2::IfcFastenerTypeEnum::Value > Ifc4x3_add2::IfcFastener::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcFastenerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcFastenerTypeEnum::Value > Ifc4x3_add2::IfcFastener::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcFastenerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcFastener::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcFastenerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcFastenerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcFastener::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[449]); } const IfcParse::entity& Ifc4x3_add2::IfcFastener::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[449]); } Ifc4x3_add2::IfcFastener::IfcFastener(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_add2::IfcFastener::IfcFastener(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcFastenerTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcFastener::IfcFastener(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcFastenerTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFastenerType -::Ifc4x3_add2::IfcFastenerTypeEnum::Value Ifc4x3_add2::IfcFastenerType::PredefinedType() const { return ::Ifc4x3_add2::IfcFastenerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcFastenerTypeEnum::Value Ifc4x3_add2::IfcFastenerType::PredefinedType() const { return ::Ifc4x3_add2::IfcFastenerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcFastenerType::setPredefinedType(::Ifc4x3_add2::IfcFastenerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcFastenerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcFastenerType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[450]); } const IfcParse::entity& Ifc4x3_add2::IfcFastenerType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[450]); } Ifc4x3_add2::IfcFastenerType::IfcFastenerType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_add2::IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFastenerTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFastenerTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFeatureElement @@ -11137,7 +11137,7 @@ Ifc4x3_add2::IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, ::Ifc4x3_ const IfcParse::entity& Ifc4x3_add2::IfcFeatureElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[452]); } const IfcParse::entity& Ifc4x3_add2::IfcFeatureElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[452]); } Ifc4x3_add2::IfcFeatureElement::IfcFeatureElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_add2::IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add2::IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFeatureElementAddition @@ -11146,7 +11146,7 @@ Ifc4x3_add2::IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, ::Ifc const IfcParse::entity& Ifc4x3_add2::IfcFeatureElementAddition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[453]); } const IfcParse::entity& Ifc4x3_add2::IfcFeatureElementAddition::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[453]); } Ifc4x3_add2::IfcFeatureElementAddition::IfcFeatureElementAddition(IfcEntityInstanceData&& e) : IfcFeatureElement(std::move(e)) { } -Ifc4x3_add2::IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add2::IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFeatureElementSubtraction @@ -11155,101 +11155,101 @@ Ifc4x3_add2::IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1 const IfcParse::entity& Ifc4x3_add2::IfcFeatureElementSubtraction::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[454]); } const IfcParse::entity& Ifc4x3_add2::IfcFeatureElementSubtraction::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[454]); } Ifc4x3_add2::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntityInstanceData&& e) : IfcFeatureElement(std::move(e)) { } -Ifc4x3_add2::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add2::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFillAreaStyle -aggregate_of< ::Ifc4x3_add2::IfcFillStyleSelect >::ptr Ifc4x3_add2::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcFillStyleSelect >(); } +aggregate_of< ::Ifc4x3_add2::IfcFillStyleSelect >::ptr Ifc4x3_add2::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcFillStyleSelect >(); } void Ifc4x3_add2::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x3_add2::IfcFillStyleSelect >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< bool > Ifc4x3_add2::IfcFillAreaStyle::ModelOrDraughting() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } bool v = data_.get_attribute_value(2); return v; } +boost::optional< bool > Ifc4x3_add2::IfcFillAreaStyle::ModelOrDraughting() const { if(get_attribute_value(2).isNull()) { return boost::none; } bool v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_add2::IfcFillAreaStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[455]); } const IfcParse::entity& Ifc4x3_add2::IfcFillAreaStyle::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[455]); } Ifc4x3_add2::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x3_add2::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_add2::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_FillStyles)->generalize()); if (v3_ModelOrDraughting) {set_attribute_value(2, (*v3_ModelOrDraughting)); }; populate_derived(); } +Ifc4x3_add2::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_add2::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_FillStyles)->generalize()); if (v3_ModelOrDraughting) {set_attribute_value(2, (*v3_ModelOrDraughting)); }; populate_derived(); } // Function implementations for IfcFillAreaStyleHatching -::Ifc4x3_add2::IfcCurveStyle* Ifc4x3_add2::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCurveStyle>(true); } +::Ifc4x3_add2::IfcCurveStyle* Ifc4x3_add2::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCurveStyle>(true); } void Ifc4x3_add2::IfcFillAreaStyleHatching::setHatchLineAppearance(::Ifc4x3_add2::IfcCurveStyle* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcHatchLineDistanceSelect* Ifc4x3_add2::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcHatchLineDistanceSelect>(true); } +::Ifc4x3_add2::IfcHatchLineDistanceSelect* Ifc4x3_add2::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcHatchLineDistanceSelect>(true); } void Ifc4x3_add2::IfcFillAreaStyleHatching::setStartOfNextHatchLine(::Ifc4x3_add2::IfcHatchLineDistanceSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcCartesianPoint* Ifc4x3_add2::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcCartesianPoint>(true); } +::Ifc4x3_add2::IfcCartesianPoint* Ifc4x3_add2::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcCartesianPoint>(true); } void Ifc4x3_add2::IfcFillAreaStyleHatching::setPointOfReferenceHatchLine(::Ifc4x3_add2::IfcCartesianPoint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcCartesianPoint* Ifc4x3_add2::IfcFillAreaStyleHatching::PatternStart() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcCartesianPoint>(true); } +::Ifc4x3_add2::IfcCartesianPoint* Ifc4x3_add2::IfcFillAreaStyleHatching::PatternStart() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcCartesianPoint>(true); } void Ifc4x3_add2::IfcFillAreaStyleHatching::setPatternStart(::Ifc4x3_add2::IfcCartesianPoint* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_add2::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add2::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcFillAreaStyleHatching::setHatchLineAngle(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add2::IfcFillAreaStyleHatching::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[456]); } const IfcParse::entity& Ifc4x3_add2::IfcFillAreaStyleHatching::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[456]); } Ifc4x3_add2::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(::Ifc4x3_add2::IfcCurveStyle* v1_HatchLineAppearance, ::Ifc4x3_add2::IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, ::Ifc4x3_add2::IfcCartesianPoint* v3_PointOfReferenceHatchLine, ::Ifc4x3_add2::IfcCartesianPoint* v4_PatternStart, double v5_HatchLineAngle) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_HatchLineAppearance ? v1_HatchLineAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_StartOfNextHatchLine ? v2_StartOfNextHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PointOfReferenceHatchLine ? v3_PointOfReferenceHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PatternStart ? v4_PatternStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_HatchLineAngle));; populate_derived(); } +Ifc4x3_add2::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(::Ifc4x3_add2::IfcCurveStyle* v1_HatchLineAppearance, ::Ifc4x3_add2::IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, ::Ifc4x3_add2::IfcCartesianPoint* v3_PointOfReferenceHatchLine, ::Ifc4x3_add2::IfcCartesianPoint* v4_PatternStart, double v5_HatchLineAngle) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_HatchLineAppearance ? v1_HatchLineAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_StartOfNextHatchLine ? v2_StartOfNextHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PointOfReferenceHatchLine ? v3_PointOfReferenceHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PatternStart ? v4_PatternStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_HatchLineAngle));; populate_derived(); } // Function implementations for IfcFillAreaStyleTiles -aggregate_of< ::Ifc4x3_add2::IfcVector >::ptr Ifc4x3_add2::IfcFillAreaStyleTiles::TilingPattern() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcVector >(); } +aggregate_of< ::Ifc4x3_add2::IfcVector >::ptr Ifc4x3_add2::IfcFillAreaStyleTiles::TilingPattern() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcVector >(); } void Ifc4x3_add2::IfcFillAreaStyleTiles::setTilingPattern(aggregate_of< ::Ifc4x3_add2::IfcVector >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_add2::IfcStyledItem >::ptr Ifc4x3_add2::IfcFillAreaStyleTiles::Tiles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcStyledItem >(); } +aggregate_of< ::Ifc4x3_add2::IfcStyledItem >::ptr Ifc4x3_add2::IfcFillAreaStyleTiles::Tiles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcStyledItem >(); } void Ifc4x3_add2::IfcFillAreaStyleTiles::setTiles(aggregate_of< ::Ifc4x3_add2::IfcStyledItem >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_add2::IfcFillAreaStyleTiles::TilingScale() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_add2::IfcFillAreaStyleTiles::TilingScale() const { double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcFillAreaStyleTiles::setTilingScale(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcFillAreaStyleTiles::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[457]); } const IfcParse::entity& Ifc4x3_add2::IfcFillAreaStyleTiles::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[457]); } Ifc4x3_add2::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(aggregate_of< ::Ifc4x3_add2::IfcVector >::ptr v1_TilingPattern, aggregate_of< ::Ifc4x3_add2::IfcStyledItem >::ptr v2_Tiles, double v3_TilingScale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_TilingPattern)->generalize());set_attribute_value(1, (v2_Tiles)->generalize());set_attribute_value(2, (v3_TilingScale));; populate_derived(); } +Ifc4x3_add2::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(aggregate_of< ::Ifc4x3_add2::IfcVector >::ptr v1_TilingPattern, aggregate_of< ::Ifc4x3_add2::IfcStyledItem >::ptr v2_Tiles, double v3_TilingScale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_TilingPattern)->generalize());set_attribute_value(1, (v2_Tiles)->generalize());set_attribute_value(2, (v3_TilingScale));; populate_derived(); } // Function implementations for IfcFilter -boost::optional< ::Ifc4x3_add2::IfcFilterTypeEnum::Value > Ifc4x3_add2::IfcFilter::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcFilterTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcFilterTypeEnum::Value > Ifc4x3_add2::IfcFilter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcFilterTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcFilter::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcFilterTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcFilterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcFilter::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[459]); } const IfcParse::entity& Ifc4x3_add2::IfcFilter::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[459]); } Ifc4x3_add2::IfcFilter::IfcFilter(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4x3_add2::IfcFilter::IfcFilter(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcFilterTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcFilter::IfcFilter(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcFilterTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFilterType -::Ifc4x3_add2::IfcFilterTypeEnum::Value Ifc4x3_add2::IfcFilterType::PredefinedType() const { return ::Ifc4x3_add2::IfcFilterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcFilterTypeEnum::Value Ifc4x3_add2::IfcFilterType::PredefinedType() const { return ::Ifc4x3_add2::IfcFilterTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcFilterType::setPredefinedType(::Ifc4x3_add2::IfcFilterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcFilterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcFilterType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[460]); } const IfcParse::entity& Ifc4x3_add2::IfcFilterType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[460]); } Ifc4x3_add2::IfcFilterType::IfcFilterType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4x3_add2::IfcFilterType::IfcFilterType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFilterTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcFilterType::IfcFilterType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFilterTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFireSuppressionTerminal -boost::optional< ::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x3_add2::IfcFireSuppressionTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x3_add2::IfcFireSuppressionTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcFireSuppressionTerminal::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcFireSuppressionTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[462]); } const IfcParse::entity& Ifc4x3_add2::IfcFireSuppressionTerminal::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[462]); } Ifc4x3_add2::IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_add2::IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFireSuppressionTerminalType -::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3_add2::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3_add2::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcFireSuppressionTerminalType::setPredefinedType(::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcFireSuppressionTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[463]); } const IfcParse::entity& Ifc4x3_add2::IfcFireSuppressionTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[463]); } Ifc4x3_add2::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_add2::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFixedReferenceSweptAreaSolid -::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcDirection>(true); } +::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcDirection>(true); } void Ifc4x3_add2::IfcFixedReferenceSweptAreaSolid::setFixedReference(::Ifc4x3_add2::IfcDirection* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcFixedReferenceSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[465]); } const IfcParse::entity& Ifc4x3_add2::IfcFixedReferenceSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[465]); } Ifc4x3_add2::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(IfcEntityInstanceData&& e) : IfcDirectrixCurveSweptAreaSolid(std::move(e)) { } -Ifc4x3_add2::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(::Ifc4x3_add2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add2::IfcCurve* v3_Directrix, ::Ifc4x3_add2::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_add2::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3_add2::IfcDirection* v6_FixedReference) : IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_FixedReference ? v6_FixedReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(::Ifc4x3_add2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add2::IfcCurve* v3_Directrix, ::Ifc4x3_add2::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_add2::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3_add2::IfcDirection* v6_FixedReference) : IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_FixedReference ? v6_FixedReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcFlowController @@ -11257,7 +11257,7 @@ Ifc4x3_add2::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(:: const IfcParse::entity& Ifc4x3_add2::IfcFlowController::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[466]); } const IfcParse::entity& Ifc4x3_add2::IfcFlowController::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[466]); } Ifc4x3_add2::IfcFlowController::IfcFlowController(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_add2::IfcFlowController::IfcFlowController(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add2::IfcFlowController::IfcFlowController(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowControllerType @@ -11265,7 +11265,7 @@ Ifc4x3_add2::IfcFlowController::IfcFlowController(std::string v1_GlobalId, ::Ifc const IfcParse::entity& Ifc4x3_add2::IfcFlowControllerType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[467]); } const IfcParse::entity& Ifc4x3_add2::IfcFlowControllerType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[467]); } Ifc4x3_add2::IfcFlowControllerType::IfcFlowControllerType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_add2::IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add2::IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowFitting @@ -11273,7 +11273,7 @@ Ifc4x3_add2::IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalI const IfcParse::entity& Ifc4x3_add2::IfcFlowFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[469]); } const IfcParse::entity& Ifc4x3_add2::IfcFlowFitting::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[469]); } Ifc4x3_add2::IfcFlowFitting::IfcFlowFitting(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_add2::IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add2::IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowFittingType @@ -11281,47 +11281,47 @@ Ifc4x3_add2::IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, ::Ifc4x3_ad const IfcParse::entity& Ifc4x3_add2::IfcFlowFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[470]); } const IfcParse::entity& Ifc4x3_add2::IfcFlowFittingType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[470]); } Ifc4x3_add2::IfcFlowFittingType::IfcFlowFittingType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_add2::IfcFlowFittingType::IfcFlowFittingType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add2::IfcFlowFittingType::IfcFlowFittingType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowInstrument -boost::optional< ::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Value > Ifc4x3_add2::IfcFlowInstrument::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Value > Ifc4x3_add2::IfcFlowInstrument::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcFlowInstrument::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcFlowInstrument::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[471]); } const IfcParse::entity& Ifc4x3_add2::IfcFlowInstrument::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[471]); } Ifc4x3_add2::IfcFlowInstrument::IfcFlowInstrument(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_add2::IfcFlowInstrument::IfcFlowInstrument(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcFlowInstrument::IfcFlowInstrument(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFlowInstrumentType -::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Value Ifc4x3_add2::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Value Ifc4x3_add2::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcFlowInstrumentType::setPredefinedType(::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcFlowInstrumentType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[472]); } const IfcParse::entity& Ifc4x3_add2::IfcFlowInstrumentType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[472]); } Ifc4x3_add2::IfcFlowInstrumentType::IfcFlowInstrumentType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_add2::IfcFlowInstrumentType::IfcFlowInstrumentType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcFlowInstrumentType::IfcFlowInstrumentType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFlowMeter -boost::optional< ::Ifc4x3_add2::IfcFlowMeterTypeEnum::Value > Ifc4x3_add2::IfcFlowMeter::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcFlowMeterTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcFlowMeterTypeEnum::Value > Ifc4x3_add2::IfcFlowMeter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcFlowMeterTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcFlowMeter::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcFlowMeterTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcFlowMeterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcFlowMeter::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[474]); } const IfcParse::entity& Ifc4x3_add2::IfcFlowMeter::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[474]); } Ifc4x3_add2::IfcFlowMeter::IfcFlowMeter(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_add2::IfcFlowMeter::IfcFlowMeter(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcFlowMeter::IfcFlowMeter(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFlowMeterType -::Ifc4x3_add2::IfcFlowMeterTypeEnum::Value Ifc4x3_add2::IfcFlowMeterType::PredefinedType() const { return ::Ifc4x3_add2::IfcFlowMeterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcFlowMeterTypeEnum::Value Ifc4x3_add2::IfcFlowMeterType::PredefinedType() const { return ::Ifc4x3_add2::IfcFlowMeterTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcFlowMeterType::setPredefinedType(::Ifc4x3_add2::IfcFlowMeterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcFlowMeterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcFlowMeterType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[475]); } const IfcParse::entity& Ifc4x3_add2::IfcFlowMeterType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[475]); } Ifc4x3_add2::IfcFlowMeterType::IfcFlowMeterType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_add2::IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFlowMeterTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFlowMeterTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFlowMovingDevice @@ -11329,7 +11329,7 @@ Ifc4x3_add2::IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, ::Ifc4x const IfcParse::entity& Ifc4x3_add2::IfcFlowMovingDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[477]); } const IfcParse::entity& Ifc4x3_add2::IfcFlowMovingDevice::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[477]); } Ifc4x3_add2::IfcFlowMovingDevice::IfcFlowMovingDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_add2::IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add2::IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowMovingDeviceType @@ -11337,7 +11337,7 @@ Ifc4x3_add2::IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, : const IfcParse::entity& Ifc4x3_add2::IfcFlowMovingDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[478]); } const IfcParse::entity& Ifc4x3_add2::IfcFlowMovingDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[478]); } Ifc4x3_add2::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_add2::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add2::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowSegment @@ -11345,7 +11345,7 @@ Ifc4x3_add2::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_Glo const IfcParse::entity& Ifc4x3_add2::IfcFlowSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[479]); } const IfcParse::entity& Ifc4x3_add2::IfcFlowSegment::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[479]); } Ifc4x3_add2::IfcFlowSegment::IfcFlowSegment(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_add2::IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add2::IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowSegmentType @@ -11353,7 +11353,7 @@ Ifc4x3_add2::IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, ::Ifc4x3_ad const IfcParse::entity& Ifc4x3_add2::IfcFlowSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[480]); } const IfcParse::entity& Ifc4x3_add2::IfcFlowSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[480]); } Ifc4x3_add2::IfcFlowSegmentType::IfcFlowSegmentType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_add2::IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add2::IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowStorageDevice @@ -11361,7 +11361,7 @@ Ifc4x3_add2::IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, ::I const IfcParse::entity& Ifc4x3_add2::IfcFlowStorageDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[481]); } const IfcParse::entity& Ifc4x3_add2::IfcFlowStorageDevice::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[481]); } Ifc4x3_add2::IfcFlowStorageDevice::IfcFlowStorageDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_add2::IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add2::IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowStorageDeviceType @@ -11369,7 +11369,7 @@ Ifc4x3_add2::IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, const IfcParse::entity& Ifc4x3_add2::IfcFlowStorageDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[482]); } const IfcParse::entity& Ifc4x3_add2::IfcFlowStorageDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[482]); } Ifc4x3_add2::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_add2::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add2::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowTerminal @@ -11377,7 +11377,7 @@ Ifc4x3_add2::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_G const IfcParse::entity& Ifc4x3_add2::IfcFlowTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[483]); } const IfcParse::entity& Ifc4x3_add2::IfcFlowTerminal::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[483]); } Ifc4x3_add2::IfcFlowTerminal::IfcFlowTerminal(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_add2::IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add2::IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowTerminalType @@ -11385,7 +11385,7 @@ Ifc4x3_add2::IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, ::Ifc4x3_ const IfcParse::entity& Ifc4x3_add2::IfcFlowTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[484]); } const IfcParse::entity& Ifc4x3_add2::IfcFlowTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[484]); } Ifc4x3_add2::IfcFlowTerminalType::IfcFlowTerminalType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_add2::IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add2::IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowTreatmentDevice @@ -11393,7 +11393,7 @@ Ifc4x3_add2::IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, : const IfcParse::entity& Ifc4x3_add2::IfcFlowTreatmentDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[485]); } const IfcParse::entity& Ifc4x3_add2::IfcFlowTreatmentDevice::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[485]); } Ifc4x3_add2::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_add2::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add2::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowTreatmentDeviceType @@ -11401,27 +11401,27 @@ Ifc4x3_add2::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_Globa const IfcParse::entity& Ifc4x3_add2::IfcFlowTreatmentDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[486]); } const IfcParse::entity& Ifc4x3_add2::IfcFlowTreatmentDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[486]); } Ifc4x3_add2::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_add2::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add2::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFooting -boost::optional< ::Ifc4x3_add2::IfcFootingTypeEnum::Value > Ifc4x3_add2::IfcFooting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcFootingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcFootingTypeEnum::Value > Ifc4x3_add2::IfcFooting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcFootingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcFooting::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcFootingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcFootingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcFooting::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[490]); } const IfcParse::entity& Ifc4x3_add2::IfcFooting::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[490]); } Ifc4x3_add2::IfcFooting::IfcFooting(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add2::IfcFooting::IfcFooting(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcFootingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcFooting::IfcFooting(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcFootingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFootingType -::Ifc4x3_add2::IfcFootingTypeEnum::Value Ifc4x3_add2::IfcFootingType::PredefinedType() const { return ::Ifc4x3_add2::IfcFootingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcFootingTypeEnum::Value Ifc4x3_add2::IfcFootingType::PredefinedType() const { return ::Ifc4x3_add2::IfcFootingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcFootingType::setPredefinedType(::Ifc4x3_add2::IfcFootingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcFootingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcFootingType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[491]); } const IfcParse::entity& Ifc4x3_add2::IfcFootingType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[491]); } Ifc4x3_add2::IfcFootingType::IfcFootingType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add2::IfcFootingType::IfcFootingType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFootingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcFootingType::IfcFootingType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcFootingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFurnishingElement @@ -11429,7 +11429,7 @@ Ifc4x3_add2::IfcFootingType::IfcFootingType(std::string v1_GlobalId, ::Ifc4x3_ad const IfcParse::entity& Ifc4x3_add2::IfcFurnishingElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[495]); } const IfcParse::entity& Ifc4x3_add2::IfcFurnishingElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[495]); } Ifc4x3_add2::IfcFurnishingElement::IfcFurnishingElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_add2::IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add2::IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFurnishingElementType @@ -11437,63 +11437,63 @@ Ifc4x3_add2::IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, const IfcParse::entity& Ifc4x3_add2::IfcFurnishingElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[496]); } const IfcParse::entity& Ifc4x3_add2::IfcFurnishingElementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[496]); } Ifc4x3_add2::IfcFurnishingElementType::IfcFurnishingElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_add2::IfcFurnishingElementType::IfcFurnishingElementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add2::IfcFurnishingElementType::IfcFurnishingElementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFurniture -boost::optional< ::Ifc4x3_add2::IfcFurnitureTypeEnum::Value > Ifc4x3_add2::IfcFurniture::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcFurnitureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcFurnitureTypeEnum::Value > Ifc4x3_add2::IfcFurniture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcFurnitureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcFurniture::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcFurnitureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcFurnitureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcFurniture::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[497]); } const IfcParse::entity& Ifc4x3_add2::IfcFurniture::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[497]); } Ifc4x3_add2::IfcFurniture::IfcFurniture(IfcEntityInstanceData&& e) : IfcFurnishingElement(std::move(e)) { } -Ifc4x3_add2::IfcFurniture::IfcFurniture(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcFurnitureTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcFurniture::IfcFurniture(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcFurnitureTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFurnitureType -::Ifc4x3_add2::IfcAssemblyPlaceEnum::Value Ifc4x3_add2::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x3_add2::IfcAssemblyPlaceEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcAssemblyPlaceEnum::Value Ifc4x3_add2::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x3_add2::IfcAssemblyPlaceEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcFurnitureType::setAssemblyPlace(::Ifc4x3_add2::IfcAssemblyPlaceEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcAssemblyPlaceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< ::Ifc4x3_add2::IfcFurnitureTypeEnum::Value > Ifc4x3_add2::IfcFurnitureType::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcFurnitureTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add2::IfcFurnitureTypeEnum::Value > Ifc4x3_add2::IfcFurnitureType::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcFurnitureTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add2::IfcFurnitureType::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcFurnitureTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add2::IfcFurnitureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add2::IfcFurnitureType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[498]); } const IfcParse::entity& Ifc4x3_add2::IfcFurnitureType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[498]); } Ifc4x3_add2::IfcFurnitureType::IfcFurnitureType(IfcEntityInstanceData&& e) : IfcFurnishingElementType(std::move(e)) { } -Ifc4x3_add2::IfcFurnitureType::IfcFurnitureType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, boost::optional< ::Ifc4x3_add2::IfcFurnitureTypeEnum::Value > v11_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcFurnitureType::IfcFurnitureType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, boost::optional< ::Ifc4x3_add2::IfcFurnitureTypeEnum::Value > v11_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGeographicCRS -boost::optional< std::string > Ifc4x3_add2::IfcGeographicCRS::PrimeMeridian() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcGeographicCRS::PrimeMeridian() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcGeographicCRS::setPrimeMeridian(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_add2::IfcNamedUnit* Ifc4x3_add2::IfcGeographicCRS::AngleUnit() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcNamedUnit>(true); } +::Ifc4x3_add2::IfcNamedUnit* Ifc4x3_add2::IfcGeographicCRS::AngleUnit() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcNamedUnit>(true); } void Ifc4x3_add2::IfcGeographicCRS::setAngleUnit(::Ifc4x3_add2::IfcNamedUnit* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcNamedUnit* Ifc4x3_add2::IfcGeographicCRS::HeightUnit() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcNamedUnit>(true); } +::Ifc4x3_add2::IfcNamedUnit* Ifc4x3_add2::IfcGeographicCRS::HeightUnit() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcNamedUnit>(true); } void Ifc4x3_add2::IfcGeographicCRS::setHeightUnit(::Ifc4x3_add2::IfcNamedUnit* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcGeographicCRS::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[500]); } const IfcParse::entity& Ifc4x3_add2::IfcGeographicCRS::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[500]); } Ifc4x3_add2::IfcGeographicCRS::IfcGeographicCRS(IfcEntityInstanceData&& e) : IfcCoordinateReferenceSystem(std::move(e)) { } -Ifc4x3_add2::IfcGeographicCRS::IfcGeographicCRS(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_GeodeticDatum, boost::optional< std::string > v4_PrimeMeridian, ::Ifc4x3_add2::IfcNamedUnit* v5_AngleUnit, ::Ifc4x3_add2::IfcNamedUnit* v6_HeightUnit) : IfcCoordinateReferenceSystem(IfcEntityInstanceData(storage_t(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_PrimeMeridian) {set_attribute_value(3, (*v4_PrimeMeridian)); }set_attribute_value(4, v5_AngleUnit ? v5_AngleUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_HeightUnit ? v6_HeightUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcGeographicCRS::IfcGeographicCRS(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_GeodeticDatum, boost::optional< std::string > v4_PrimeMeridian, ::Ifc4x3_add2::IfcNamedUnit* v5_AngleUnit, ::Ifc4x3_add2::IfcNamedUnit* v6_HeightUnit) : IfcCoordinateReferenceSystem(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_PrimeMeridian) {set_attribute_value(3, (*v4_PrimeMeridian)); }set_attribute_value(4, v5_AngleUnit ? v5_AngleUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_HeightUnit ? v6_HeightUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcGeographicElement -boost::optional< ::Ifc4x3_add2::IfcGeographicElementTypeEnum::Value > Ifc4x3_add2::IfcGeographicElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcGeographicElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcGeographicElementTypeEnum::Value > Ifc4x3_add2::IfcGeographicElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcGeographicElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcGeographicElement::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcGeographicElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcGeographicElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcGeographicElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[501]); } const IfcParse::entity& Ifc4x3_add2::IfcGeographicElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[501]); } Ifc4x3_add2::IfcGeographicElement::IfcGeographicElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_add2::IfcGeographicElement::IfcGeographicElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) : IfcElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcGeographicElement::IfcGeographicElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGeographicElementType -::Ifc4x3_add2::IfcGeographicElementTypeEnum::Value Ifc4x3_add2::IfcGeographicElementType::PredefinedType() const { return ::Ifc4x3_add2::IfcGeographicElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcGeographicElementTypeEnum::Value Ifc4x3_add2::IfcGeographicElementType::PredefinedType() const { return ::Ifc4x3_add2::IfcGeographicElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcGeographicElementType::setPredefinedType(::Ifc4x3_add2::IfcGeographicElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcGeographicElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcGeographicElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[502]); } const IfcParse::entity& Ifc4x3_add2::IfcGeographicElementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[502]); } Ifc4x3_add2::IfcGeographicElementType::IfcGeographicElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_add2::IfcGeographicElementType::IfcGeographicElementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcGeographicElementTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcGeographicElementType::IfcGeographicElementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcGeographicElementTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcGeometricCurveSet @@ -11501,16 +11501,16 @@ Ifc4x3_add2::IfcGeographicElementType::IfcGeographicElementType(std::string v1_G const IfcParse::entity& Ifc4x3_add2::IfcGeometricCurveSet::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[504]); } const IfcParse::entity& Ifc4x3_add2::IfcGeometricCurveSet::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[504]); } Ifc4x3_add2::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData&& e) : IfcGeometricSet(std::move(e)) { } -Ifc4x3_add2::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3_add2::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3_add2::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } // Function implementations for IfcGeometricRepresentationContext -int Ifc4x3_add2::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = data_.get_attribute_value(2); return v; } +int Ifc4x3_add2::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(int v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4x3_add2::IfcGeometricRepresentationContext::Precision() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add2::IfcGeometricRepresentationContext::Precision() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_add2::IfcAxis2Placement* Ifc4x3_add2::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcAxis2Placement>(true); } +::Ifc4x3_add2::IfcAxis2Placement* Ifc4x3_add2::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcAxis2Placement>(true); } void Ifc4x3_add2::IfcGeometricRepresentationContext::setWorldCoordinateSystem(::Ifc4x3_add2::IfcAxis2Placement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcGeometricRepresentationContext::TrueNorth() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcDirection>(true); } +::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcGeometricRepresentationContext::TrueNorth() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcDirection>(true); } void Ifc4x3_add2::IfcGeometricRepresentationContext::setTrueNorth(::Ifc4x3_add2::IfcDirection* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc4x3_add2::IfcGeometricRepresentationSubContext::list::ptr Ifc4x3_add2::IfcGeometricRepresentationContext::HasSubContexts() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[508], 6)->as(); } @@ -11519,7 +11519,7 @@ void Ifc4x3_add2::IfcGeometricRepresentationContext::setTrueNorth(::Ifc4x3_add2: const IfcParse::entity& Ifc4x3_add2::IfcGeometricRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[506]); } const IfcParse::entity& Ifc4x3_add2::IfcGeometricRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[506]); } Ifc4x3_add2::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(IfcEntityInstanceData&& e) : IfcRepresentationContext(std::move(e)) { } -Ifc4x3_add2::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, ::Ifc4x3_add2::IfcAxis2Placement* v5_WorldCoordinateSystem, ::Ifc4x3_add2::IfcDirection* v6_TrueNorth) : IfcRepresentationContext(IfcEntityInstanceData(storage_t(6))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, v5_WorldCoordinateSystem ? v5_WorldCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_TrueNorth ? v6_TrueNorth->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, ::Ifc4x3_add2::IfcAxis2Placement* v5_WorldCoordinateSystem, ::Ifc4x3_add2::IfcDirection* v6_TrueNorth) : IfcRepresentationContext(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, v5_WorldCoordinateSystem ? v5_WorldCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_TrueNorth ? v6_TrueNorth->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcGeometricRepresentationItem @@ -11527,33 +11527,33 @@ Ifc4x3_add2::IfcGeometricRepresentationContext::IfcGeometricRepresentationContex const IfcParse::entity& Ifc4x3_add2::IfcGeometricRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[507]); } const IfcParse::entity& Ifc4x3_add2::IfcGeometricRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[507]); } Ifc4x3_add2::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add2::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcGeometricRepresentationSubContext -::Ifc4x3_add2::IfcGeometricRepresentationContext* Ifc4x3_add2::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add2::IfcGeometricRepresentationContext>(true); } +::Ifc4x3_add2::IfcGeometricRepresentationContext* Ifc4x3_add2::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add2::IfcGeometricRepresentationContext>(true); } void Ifc4x3_add2::IfcGeometricRepresentationSubContext::setParentContext(::Ifc4x3_add2::IfcGeometricRepresentationContext* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_add2::IfcGeometricRepresentationSubContext::TargetScale() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add2::IfcGeometricRepresentationSubContext::TargetScale() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_add2::IfcGeometricProjectionEnum::Value Ifc4x3_add2::IfcGeometricRepresentationSubContext::TargetView() const { return ::Ifc4x3_add2::IfcGeometricProjectionEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_add2::IfcGeometricProjectionEnum::Value Ifc4x3_add2::IfcGeometricRepresentationSubContext::TargetView() const { return ::Ifc4x3_add2::IfcGeometricProjectionEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcGeometricRepresentationSubContext::setTargetView(::Ifc4x3_add2::IfcGeometricProjectionEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcGeometricProjectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -boost::optional< std::string > Ifc4x3_add2::IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_add2::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_add2::IfcGeometricRepresentationSubContext::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[508]); } const IfcParse::entity& Ifc4x3_add2::IfcGeometricRepresentationSubContext::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[508]); } Ifc4x3_add2::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(IfcEntityInstanceData&& e) : IfcGeometricRepresentationContext(std::move(e)) { } -Ifc4x3_add2::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x3_add2::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x3_add2::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext(IfcEntityInstanceData(storage_t(10))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, v7_ParentContext ? v7_ParentContext->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; populate_derived(); } +Ifc4x3_add2::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x3_add2::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x3_add2::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, v7_ParentContext ? v7_ParentContext->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; populate_derived(); } // Function implementations for IfcGeometricSet -aggregate_of< ::Ifc4x3_add2::IfcGeometricSetSelect >::ptr Ifc4x3_add2::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcGeometricSetSelect >(); } +aggregate_of< ::Ifc4x3_add2::IfcGeometricSetSelect >::ptr Ifc4x3_add2::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcGeometricSetSelect >(); } void Ifc4x3_add2::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x3_add2::IfcGeometricSetSelect >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add2::IfcGeometricSet::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[509]); } const IfcParse::entity& Ifc4x3_add2::IfcGeometricSet::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[509]); } Ifc4x3_add2::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_add2::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_add2::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } // Function implementations for IfcGeomodel @@ -11561,7 +11561,7 @@ Ifc4x3_add2::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_add2::IfcGe const IfcParse::entity& Ifc4x3_add2::IfcGeomodel::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[511]); } const IfcParse::entity& Ifc4x3_add2::IfcGeomodel::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[511]); } Ifc4x3_add2::IfcGeomodel::IfcGeomodel(IfcEntityInstanceData&& e) : IfcGeotechnicalAssembly(std::move(e)) { } -Ifc4x3_add2::IfcGeomodel::IfcGeomodel(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add2::IfcGeomodel::IfcGeomodel(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGeoslice @@ -11569,7 +11569,7 @@ Ifc4x3_add2::IfcGeomodel::IfcGeomodel(std::string v1_GlobalId, ::Ifc4x3_add2::If const IfcParse::entity& Ifc4x3_add2::IfcGeoslice::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[512]); } const IfcParse::entity& Ifc4x3_add2::IfcGeoslice::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[512]); } Ifc4x3_add2::IfcGeoslice::IfcGeoslice(IfcEntityInstanceData&& e) : IfcGeotechnicalAssembly(std::move(e)) { } -Ifc4x3_add2::IfcGeoslice::IfcGeoslice(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add2::IfcGeoslice::IfcGeoslice(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGeotechnicalAssembly @@ -11577,7 +11577,7 @@ Ifc4x3_add2::IfcGeoslice::IfcGeoslice(std::string v1_GlobalId, ::Ifc4x3_add2::If const IfcParse::entity& Ifc4x3_add2::IfcGeotechnicalAssembly::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[513]); } const IfcParse::entity& Ifc4x3_add2::IfcGeotechnicalAssembly::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[513]); } Ifc4x3_add2::IfcGeotechnicalAssembly::IfcGeotechnicalAssembly(IfcEntityInstanceData&& e) : IfcGeotechnicalElement(std::move(e)) { } -Ifc4x3_add2::IfcGeotechnicalAssembly::IfcGeotechnicalAssembly(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add2::IfcGeotechnicalAssembly::IfcGeotechnicalAssembly(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGeotechnicalElement @@ -11585,52 +11585,52 @@ Ifc4x3_add2::IfcGeotechnicalAssembly::IfcGeotechnicalAssembly(std::string v1_Glo const IfcParse::entity& Ifc4x3_add2::IfcGeotechnicalElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[514]); } const IfcParse::entity& Ifc4x3_add2::IfcGeotechnicalElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[514]); } Ifc4x3_add2::IfcGeotechnicalElement::IfcGeotechnicalElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_add2::IfcGeotechnicalElement::IfcGeotechnicalElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add2::IfcGeotechnicalElement::IfcGeotechnicalElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGeotechnicalStratum -boost::optional< ::Ifc4x3_add2::IfcGeotechnicalStratumTypeEnum::Value > Ifc4x3_add2::IfcGeotechnicalStratum::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcGeotechnicalStratumTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcGeotechnicalStratumTypeEnum::Value > Ifc4x3_add2::IfcGeotechnicalStratum::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcGeotechnicalStratumTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcGeotechnicalStratum::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcGeotechnicalStratumTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcGeotechnicalStratumTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcGeotechnicalStratum::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[515]); } const IfcParse::entity& Ifc4x3_add2::IfcGeotechnicalStratum::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[515]); } Ifc4x3_add2::IfcGeotechnicalStratum::IfcGeotechnicalStratum(IfcEntityInstanceData&& e) : IfcGeotechnicalElement(std::move(e)) { } -Ifc4x3_add2::IfcGeotechnicalStratum::IfcGeotechnicalStratum(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcGeotechnicalStratumTypeEnum::Value > v9_PredefinedType) : IfcGeotechnicalElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcGeotechnicalStratumTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcGeotechnicalStratum::IfcGeotechnicalStratum(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcGeotechnicalStratumTypeEnum::Value > v9_PredefinedType) : IfcGeotechnicalElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcGeotechnicalStratumTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGradientCurve -::Ifc4x3_add2::IfcBoundedCurve* Ifc4x3_add2::IfcGradientCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcBoundedCurve>(true); } +::Ifc4x3_add2::IfcBoundedCurve* Ifc4x3_add2::IfcGradientCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcBoundedCurve>(true); } void Ifc4x3_add2::IfcGradientCurve::setBaseCurve(::Ifc4x3_add2::IfcBoundedCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcPlacement* Ifc4x3_add2::IfcGradientCurve::EndPoint() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcPlacement>(true); } +::Ifc4x3_add2::IfcPlacement* Ifc4x3_add2::IfcGradientCurve::EndPoint() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcPlacement>(true); } void Ifc4x3_add2::IfcGradientCurve::setEndPoint(::Ifc4x3_add2::IfcPlacement* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcGradientCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[519]); } const IfcParse::entity& Ifc4x3_add2::IfcGradientCurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[519]); } Ifc4x3_add2::IfcGradientCurve::IfcGradientCurve(IfcEntityInstanceData&& e) : IfcCompositeCurve(std::move(e)) { } -Ifc4x3_add2::IfcGradientCurve::IfcGradientCurve(aggregate_of< ::Ifc4x3_add2::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_add2::IfcBoundedCurve* v3_BaseCurve, ::Ifc4x3_add2::IfcPlacement* v4_EndPoint) : IfcCompositeCurve(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, v3_BaseCurve ? v3_BaseCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_EndPoint ? v4_EndPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcGradientCurve::IfcGradientCurve(aggregate_of< ::Ifc4x3_add2::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_add2::IfcBoundedCurve* v3_BaseCurve, ::Ifc4x3_add2::IfcPlacement* v4_EndPoint) : IfcCompositeCurve(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, v3_BaseCurve ? v3_BaseCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_EndPoint ? v4_EndPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcGrid -aggregate_of< ::Ifc4x3_add2::IfcGridAxis >::ptr Ifc4x3_add2::IfcGrid::UAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_add2::IfcGridAxis >(); } +aggregate_of< ::Ifc4x3_add2::IfcGridAxis >::ptr Ifc4x3_add2::IfcGrid::UAxes() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_add2::IfcGridAxis >(); } void Ifc4x3_add2::IfcGrid::setUAxes(aggregate_of< ::Ifc4x3_add2::IfcGridAxis >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } -aggregate_of< ::Ifc4x3_add2::IfcGridAxis >::ptr Ifc4x3_add2::IfcGrid::VAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_add2::IfcGridAxis >(); } +aggregate_of< ::Ifc4x3_add2::IfcGridAxis >::ptr Ifc4x3_add2::IfcGrid::VAxes() const { aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_add2::IfcGridAxis >(); } void Ifc4x3_add2::IfcGrid::setVAxes(aggregate_of< ::Ifc4x3_add2::IfcGridAxis >::ptr v) { set_attribute_value(8, (v)->generalize());if constexpr (false)unset_attribute_value(8); } -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcGridAxis >::ptr > Ifc4x3_add2::IfcGrid::WAxes() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3_add2::IfcGridAxis >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcGridAxis >::ptr > Ifc4x3_add2::IfcGrid::WAxes() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3_add2::IfcGridAxis >(); } void Ifc4x3_add2::IfcGrid::setWAxes(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcGridAxis >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x3_add2::IfcGridTypeEnum::Value > Ifc4x3_add2::IfcGrid::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcGridTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add2::IfcGridTypeEnum::Value > Ifc4x3_add2::IfcGrid::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcGridTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add2::IfcGrid::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcGridTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add2::IfcGridTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add2::IfcGrid::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[520]); } const IfcParse::entity& Ifc4x3_add2::IfcGrid::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[520]); } Ifc4x3_add2::IfcGrid::IfcGrid(IfcEntityInstanceData&& e) : IfcPositioningElement(std::move(e)) { } -Ifc4x3_add2::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, aggregate_of< ::Ifc4x3_add2::IfcGridAxis >::ptr v8_UAxes, aggregate_of< ::Ifc4x3_add2::IfcGridAxis >::ptr v9_VAxes, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcGridAxis >::ptr > v10_WAxes, boost::optional< ::Ifc4x3_add2::IfcGridTypeEnum::Value > v11_PredefinedType) : IfcPositioningElement(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_UAxes)->generalize());set_attribute_value(8, (v9_VAxes)->generalize()); if (v10_WAxes) {set_attribute_value(9, (*v10_WAxes)->generalize()); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, aggregate_of< ::Ifc4x3_add2::IfcGridAxis >::ptr v8_UAxes, aggregate_of< ::Ifc4x3_add2::IfcGridAxis >::ptr v9_VAxes, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcGridAxis >::ptr > v10_WAxes, boost::optional< ::Ifc4x3_add2::IfcGridTypeEnum::Value > v11_PredefinedType) : IfcPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_UAxes)->generalize());set_attribute_value(8, (v9_VAxes)->generalize()); if (v10_WAxes) {set_attribute_value(9, (*v10_WAxes)->generalize()); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGridAxis -boost::optional< std::string > Ifc4x3_add2::IfcGridAxis::AxisTag() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcGridAxis::AxisTag() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_add2::IfcCurve* Ifc4x3_add2::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcCurve>(true); } +::Ifc4x3_add2::IfcCurve* Ifc4x3_add2::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcCurve>(true); } void Ifc4x3_add2::IfcGridAxis::setAxisCurve(::Ifc4x3_add2::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -bool Ifc4x3_add2::IfcGridAxis::SameSense() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x3_add2::IfcGridAxis::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcGridAxis::setSameSense(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } ::Ifc4x3_add2::IfcGrid::list::ptr Ifc4x3_add2::IfcGridAxis::PartOfW() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[520], 9)->as(); } @@ -11641,19 +11641,19 @@ void Ifc4x3_add2::IfcGridAxis::setSameSense(bool v) { set_attribute_value(2, v); const IfcParse::entity& Ifc4x3_add2::IfcGridAxis::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[521]); } const IfcParse::entity& Ifc4x3_add2::IfcGridAxis::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[521]); } Ifc4x3_add2::IfcGridAxis::IfcGridAxis(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, ::Ifc4x3_add2::IfcCurve* v2_AxisCurve, bool v3_SameSense) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, v2_AxisCurve ? v2_AxisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } +Ifc4x3_add2::IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, ::Ifc4x3_add2::IfcCurve* v2_AxisCurve, bool v3_SameSense) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, v2_AxisCurve ? v2_AxisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } // Function implementations for IfcGridPlacement -::Ifc4x3_add2::IfcVirtualGridIntersection* Ifc4x3_add2::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcVirtualGridIntersection>(true); } +::Ifc4x3_add2::IfcVirtualGridIntersection* Ifc4x3_add2::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcVirtualGridIntersection>(true); } void Ifc4x3_add2::IfcGridPlacement::setPlacementLocation(::Ifc4x3_add2::IfcVirtualGridIntersection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcGridPlacementDirectionSelect* Ifc4x3_add2::IfcGridPlacement::PlacementRefDirection() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcGridPlacementDirectionSelect>(true); } +::Ifc4x3_add2::IfcGridPlacementDirectionSelect* Ifc4x3_add2::IfcGridPlacement::PlacementRefDirection() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcGridPlacementDirectionSelect>(true); } void Ifc4x3_add2::IfcGridPlacement::setPlacementRefDirection(::Ifc4x3_add2::IfcGridPlacementDirectionSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcGridPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[522]); } const IfcParse::entity& Ifc4x3_add2::IfcGridPlacement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[522]); } Ifc4x3_add2::IfcGridPlacement::IfcGridPlacement(IfcEntityInstanceData&& e) : IfcObjectPlacement(std::move(e)) { } -Ifc4x3_add2::IfcGridPlacement::IfcGridPlacement(::Ifc4x3_add2::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_add2::IfcVirtualGridIntersection* v2_PlacementLocation, ::Ifc4x3_add2::IfcGridPlacementDirectionSelect* v3_PlacementRefDirection) : IfcObjectPlacement(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementLocation ? v2_PlacementLocation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PlacementRefDirection ? v3_PlacementRefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcGridPlacement::IfcGridPlacement(::Ifc4x3_add2::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_add2::IfcVirtualGridIntersection* v2_PlacementLocation, ::Ifc4x3_add2::IfcGridPlacementDirectionSelect* v3_PlacementRefDirection) : IfcObjectPlacement(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementLocation ? v2_PlacementLocation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PlacementRefDirection ? v3_PlacementRefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcGroup @@ -11663,144 +11663,144 @@ Ifc4x3_add2::IfcGridPlacement::IfcGridPlacement(::Ifc4x3_add2::IfcObjectPlacemen const IfcParse::entity& Ifc4x3_add2::IfcGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[525]); } const IfcParse::entity& Ifc4x3_add2::IfcGroup::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[525]); } Ifc4x3_add2::IfcGroup::IfcGroup(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_add2::IfcGroup::IfcGroup(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc4x3_add2::IfcGroup::IfcGroup(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcHalfSpaceSolid -::Ifc4x3_add2::IfcSurface* Ifc4x3_add2::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcSurface>(true); } +::Ifc4x3_add2::IfcSurface* Ifc4x3_add2::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcSurface>(true); } void Ifc4x3_add2::IfcHalfSpaceSolid::setBaseSurface(::Ifc4x3_add2::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -bool Ifc4x3_add2::IfcHalfSpaceSolid::AgreementFlag() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x3_add2::IfcHalfSpaceSolid::AgreementFlag() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcHalfSpaceSolid::setAgreementFlag(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcHalfSpaceSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[526]); } const IfcParse::entity& Ifc4x3_add2::IfcHalfSpaceSolid::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[526]); } Ifc4x3_add2::IfcHalfSpaceSolid::IfcHalfSpaceSolid(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcHalfSpaceSolid::IfcHalfSpaceSolid(::Ifc4x3_add2::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));; populate_derived(); } +Ifc4x3_add2::IfcHalfSpaceSolid::IfcHalfSpaceSolid(::Ifc4x3_add2::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));; populate_derived(); } // Function implementations for IfcHeatExchanger -boost::optional< ::Ifc4x3_add2::IfcHeatExchangerTypeEnum::Value > Ifc4x3_add2::IfcHeatExchanger::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcHeatExchangerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcHeatExchangerTypeEnum::Value > Ifc4x3_add2::IfcHeatExchanger::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcHeatExchanger::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcHeatExchangerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcHeatExchangerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcHeatExchanger::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[528]); } const IfcParse::entity& Ifc4x3_add2::IfcHeatExchanger::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[528]); } Ifc4x3_add2::IfcHeatExchanger::IfcHeatExchanger(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add2::IfcHeatExchanger::IfcHeatExchanger(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcHeatExchanger::IfcHeatExchanger(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcHeatExchangerType -::Ifc4x3_add2::IfcHeatExchangerTypeEnum::Value Ifc4x3_add2::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4x3_add2::IfcHeatExchangerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcHeatExchangerTypeEnum::Value Ifc4x3_add2::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4x3_add2::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcHeatExchangerType::setPredefinedType(::Ifc4x3_add2::IfcHeatExchangerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcHeatExchangerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcHeatExchangerType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[529]); } const IfcParse::entity& Ifc4x3_add2::IfcHeatExchangerType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[529]); } Ifc4x3_add2::IfcHeatExchangerType::IfcHeatExchangerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add2::IfcHeatExchangerType::IfcHeatExchangerType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcHeatExchangerType::IfcHeatExchangerType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcHumidifier -boost::optional< ::Ifc4x3_add2::IfcHumidifierTypeEnum::Value > Ifc4x3_add2::IfcHumidifier::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcHumidifierTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcHumidifierTypeEnum::Value > Ifc4x3_add2::IfcHumidifier::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcHumidifierTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcHumidifier::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcHumidifierTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcHumidifierTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcHumidifier::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[533]); } const IfcParse::entity& Ifc4x3_add2::IfcHumidifier::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[533]); } Ifc4x3_add2::IfcHumidifier::IfcHumidifier(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add2::IfcHumidifier::IfcHumidifier(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcHumidifierTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcHumidifier::IfcHumidifier(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcHumidifierTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcHumidifierType -::Ifc4x3_add2::IfcHumidifierTypeEnum::Value Ifc4x3_add2::IfcHumidifierType::PredefinedType() const { return ::Ifc4x3_add2::IfcHumidifierTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcHumidifierTypeEnum::Value Ifc4x3_add2::IfcHumidifierType::PredefinedType() const { return ::Ifc4x3_add2::IfcHumidifierTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcHumidifierType::setPredefinedType(::Ifc4x3_add2::IfcHumidifierTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcHumidifierTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcHumidifierType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[534]); } const IfcParse::entity& Ifc4x3_add2::IfcHumidifierType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[534]); } Ifc4x3_add2::IfcHumidifierType::IfcHumidifierType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add2::IfcHumidifierType::IfcHumidifierType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcHumidifierTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcHumidifierType::IfcHumidifierType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcHumidifierTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcIShapeProfileDef -double Ifc4x3_add2::IfcIShapeProfileDef::OverallWidth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add2::IfcIShapeProfileDef::OverallWidth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcIShapeProfileDef::setOverallWidth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_add2::IfcIShapeProfileDef::OverallDepth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add2::IfcIShapeProfileDef::OverallDepth() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcIShapeProfileDef::setOverallDepth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_add2::IfcIShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_add2::IfcIShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcIShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_add2::IfcIShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_add2::IfcIShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcIShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_add2::IfcIShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add2::IfcIShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcIShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_add2::IfcIShapeProfileDef::FlangeEdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_add2::IfcIShapeProfileDef::FlangeEdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcIShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_add2::IfcIShapeProfileDef::FlangeSlope() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_add2::IfcIShapeProfileDef::FlangeSlope() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_add2::IfcIShapeProfileDef::setFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_add2::IfcIShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[563]); } const IfcParse::entity& Ifc4x3_add2::IfcIShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[563]); } Ifc4x3_add2::IfcIShapeProfileDef::IfcIShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_add2::IfcIShapeProfileDef::IfcIShapeProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::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(storage_t(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } +Ifc4x3_add2::IfcIShapeProfileDef::IfcIShapeProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::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(in_memory_attribute_storage(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } // Function implementations for IfcImageTexture -std::string Ifc4x3_add2::IfcImageTexture::URLReference() const { std::string v = data_.get_attribute_value(5); return v; } +std::string Ifc4x3_add2::IfcImageTexture::URLReference() const { std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcImageTexture::setURLReference(std::string v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcImageTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[538]); } const IfcParse::entity& Ifc4x3_add2::IfcImageTexture::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[538]); } Ifc4x3_add2::IfcImageTexture::IfcImageTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -Ifc4x3_add2::IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_add2::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) : IfcSurfaceTexture(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference));; populate_derived(); } +Ifc4x3_add2::IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_add2::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) : IfcSurfaceTexture(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference));; populate_derived(); } // Function implementations for IfcImpactProtectionDevice -boost::optional< ::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Value > Ifc4x3_add2::IfcImpactProtectionDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Value > Ifc4x3_add2::IfcImpactProtectionDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcImpactProtectionDevice::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcImpactProtectionDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[539]); } const IfcParse::entity& Ifc4x3_add2::IfcImpactProtectionDevice::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[539]); } Ifc4x3_add2::IfcImpactProtectionDevice::IfcImpactProtectionDevice(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_add2::IfcImpactProtectionDevice::IfcImpactProtectionDevice(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcImpactProtectionDevice::IfcImpactProtectionDevice(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcImpactProtectionDeviceType -::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Value Ifc4x3_add2::IfcImpactProtectionDeviceType::PredefinedType() const { return ::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Value Ifc4x3_add2::IfcImpactProtectionDeviceType::PredefinedType() const { return ::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcImpactProtectionDeviceType::setPredefinedType(::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcImpactProtectionDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[540]); } const IfcParse::entity& Ifc4x3_add2::IfcImpactProtectionDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[540]); } Ifc4x3_add2::IfcImpactProtectionDeviceType::IfcImpactProtectionDeviceType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_add2::IfcImpactProtectionDeviceType::IfcImpactProtectionDeviceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcImpactProtectionDeviceType::IfcImpactProtectionDeviceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcIndexedColourMap -::Ifc4x3_add2::IfcTessellatedFaceSet* Ifc4x3_add2::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcTessellatedFaceSet>(true); } +::Ifc4x3_add2::IfcTessellatedFaceSet* Ifc4x3_add2::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcTessellatedFaceSet>(true); } void Ifc4x3_add2::IfcIndexedColourMap::setMappedTo(::Ifc4x3_add2::IfcTessellatedFaceSet* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< double > Ifc4x3_add2::IfcIndexedColourMap::Opacity() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_add2::IfcIndexedColourMap::Opacity() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcIndexedColourMap::setOpacity(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_add2::IfcColourRgbList* Ifc4x3_add2::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcColourRgbList>(true); } +::Ifc4x3_add2::IfcColourRgbList* Ifc4x3_add2::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcColourRgbList>(true); } void Ifc4x3_add2::IfcIndexedColourMap::setColours(::Ifc4x3_add2::IfcColourRgbList* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -std::vector< int > /*[1:?]*/ Ifc4x3_add2::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +std::vector< int > /*[1:?]*/ Ifc4x3_add2::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcIndexedColourMap::setColourIndex(std::vector< int > /*[1:?]*/ v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcIndexedColourMap::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[542]); } const IfcParse::entity& Ifc4x3_add2::IfcIndexedColourMap::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[542]); } Ifc4x3_add2::IfcIndexedColourMap::IfcIndexedColourMap(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3_add2::IfcTessellatedFaceSet* v1_MappedTo, boost::optional< double > v2_Opacity, ::Ifc4x3_add2::IfcColourRgbList* v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) : IfcPresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_MappedTo ? v1_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, v3_Colours ? v3_Colours->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ColourIndex));; populate_derived(); } +Ifc4x3_add2::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3_add2::IfcTessellatedFaceSet* v1_MappedTo, boost::optional< double > v2_Opacity, ::Ifc4x3_add2::IfcColourRgbList* v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_MappedTo ? v1_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, v3_Colours ? v3_Colours->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ColourIndex));; populate_derived(); } // Function implementations for IfcIndexedPolyCurve -::Ifc4x3_add2::IfcCartesianPointList* Ifc4x3_add2::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCartesianPointList>(true); } +::Ifc4x3_add2::IfcCartesianPointList* Ifc4x3_add2::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCartesianPointList>(true); } void Ifc4x3_add2::IfcIndexedPolyCurve::setPoints(::Ifc4x3_add2::IfcCartesianPointList* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcSegmentIndexSelect >::ptr > Ifc4x3_add2::IfcIndexedPolyCurve::Segments() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcSegmentIndexSelect >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcSegmentIndexSelect >::ptr > Ifc4x3_add2::IfcIndexedPolyCurve::Segments() const { if(get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcSegmentIndexSelect >(); } void Ifc4x3_add2::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcSegmentIndexSelect >::ptr > v) { if (v) {set_attribute_value(1, (*v)->generalize());} else {unset_attribute_value(1);} } -boost::optional< bool > Ifc4x3_add2::IfcIndexedPolyCurve::SelfIntersect() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } bool v = data_.get_attribute_value(2); return v; } +boost::optional< bool > Ifc4x3_add2::IfcIndexedPolyCurve::SelfIntersect() const { if(get_attribute_value(2).isNull()) { return boost::none; } bool v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_add2::IfcIndexedPolyCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[543]); } const IfcParse::entity& Ifc4x3_add2::IfcIndexedPolyCurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[543]); } Ifc4x3_add2::IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_add2::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_add2::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Points ? v1_Points->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Segments) {set_attribute_value(1, (*v2_Segments)->generalize()); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); }; populate_derived(); } +Ifc4x3_add2::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_add2::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Points ? v1_Points->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Segments) {set_attribute_value(1, (*v2_Segments)->generalize()); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); }; populate_derived(); } // Function implementations for IfcIndexedPolygonalFace -std::vector< int > /*[3:?]*/ Ifc4x3_add2::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = data_.get_attribute_value(0); return v; } +std::vector< int > /*[3:?]*/ Ifc4x3_add2::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcIndexedPolygonalFace::setCoordIndex(std::vector< int > /*[3:?]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_add2::IfcPolygonalFaceSet::list::ptr Ifc4x3_add2::IfcIndexedPolygonalFace::ToFaceSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[770], 2)->as(); } @@ -11809,69 +11809,69 @@ void Ifc4x3_add2::IfcIndexedPolygonalFace::setCoordIndex(std::vector< int > /*[3 const IfcParse::entity& Ifc4x3_add2::IfcIndexedPolygonalFace::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[544]); } const IfcParse::entity& Ifc4x3_add2::IfcIndexedPolygonalFace::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[544]); } Ifc4x3_add2::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(IfcEntityInstanceData&& e) : IfcTessellatedItem(std::move(e)) { } -Ifc4x3_add2::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(std::vector< int > /*[3:?]*/ v1_CoordIndex) : IfcTessellatedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CoordIndex));; populate_derived(); } +Ifc4x3_add2::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(std::vector< int > /*[3:?]*/ v1_CoordIndex) : IfcTessellatedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CoordIndex));; populate_derived(); } // Function implementations for IfcIndexedPolygonalFaceWithVoids -std::vector< std::vector< int > > Ifc4x3_add2::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { std::vector< std::vector< int > > v = data_.get_attribute_value(1); return v; } +std::vector< std::vector< int > > Ifc4x3_add2::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { std::vector< std::vector< int > > v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcIndexedPolygonalFaceWithVoids::setInnerCoordIndices(std::vector< std::vector< int > > v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcIndexedPolygonalFaceWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[545]); } const IfcParse::entity& Ifc4x3_add2::IfcIndexedPolygonalFaceWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[545]); } Ifc4x3_add2::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(IfcEntityInstanceData&& e) : IfcIndexedPolygonalFace(std::move(e)) { } -Ifc4x3_add2::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) : IfcIndexedPolygonalFace(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices));; populate_derived(); } +Ifc4x3_add2::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) : IfcIndexedPolygonalFace(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices));; populate_derived(); } // Function implementations for IfcIndexedPolygonalTextureMap -aggregate_of< ::Ifc4x3_add2::IfcTextureCoordinateIndices >::ptr Ifc4x3_add2::IfcIndexedPolygonalTextureMap::TexCoordIndices() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_add2::IfcTextureCoordinateIndices >(); } +aggregate_of< ::Ifc4x3_add2::IfcTextureCoordinateIndices >::ptr Ifc4x3_add2::IfcIndexedPolygonalTextureMap::TexCoordIndices() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_add2::IfcTextureCoordinateIndices >(); } void Ifc4x3_add2::IfcIndexedPolygonalTextureMap::setTexCoordIndices(aggregate_of< ::Ifc4x3_add2::IfcTextureCoordinateIndices >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcIndexedPolygonalTextureMap::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[546]); } const IfcParse::entity& Ifc4x3_add2::IfcIndexedPolygonalTextureMap::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[546]); } Ifc4x3_add2::IfcIndexedPolygonalTextureMap::IfcIndexedPolygonalTextureMap(IfcEntityInstanceData&& e) : IfcIndexedTextureMap(std::move(e)) { } -Ifc4x3_add2::IfcIndexedPolygonalTextureMap::IfcIndexedPolygonalTextureMap(aggregate_of< ::Ifc4x3_add2::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_add2::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_add2::IfcTextureVertexList* v3_TexCoords, aggregate_of< ::Ifc4x3_add2::IfcTextureCoordinateIndices >::ptr v4_TexCoordIndices) : IfcIndexedTextureMap(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_TexCoordIndices)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcIndexedPolygonalTextureMap::IfcIndexedPolygonalTextureMap(aggregate_of< ::Ifc4x3_add2::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_add2::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_add2::IfcTextureVertexList* v3_TexCoords, aggregate_of< ::Ifc4x3_add2::IfcTextureCoordinateIndices >::ptr v4_TexCoordIndices) : IfcIndexedTextureMap(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_TexCoordIndices)->generalize());; populate_derived(); } // Function implementations for IfcIndexedTextureMap -::Ifc4x3_add2::IfcTessellatedFaceSet* Ifc4x3_add2::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcTessellatedFaceSet>(true); } +::Ifc4x3_add2::IfcTessellatedFaceSet* Ifc4x3_add2::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcTessellatedFaceSet>(true); } void Ifc4x3_add2::IfcIndexedTextureMap::setMappedTo(::Ifc4x3_add2::IfcTessellatedFaceSet* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcTextureVertexList* Ifc4x3_add2::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcTextureVertexList>(true); } +::Ifc4x3_add2::IfcTextureVertexList* Ifc4x3_add2::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcTextureVertexList>(true); } void Ifc4x3_add2::IfcIndexedTextureMap::setTexCoords(::Ifc4x3_add2::IfcTextureVertexList* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcIndexedTextureMap::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[547]); } const IfcParse::entity& Ifc4x3_add2::IfcIndexedTextureMap::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[547]); } Ifc4x3_add2::IfcIndexedTextureMap::IfcIndexedTextureMap(IfcEntityInstanceData&& e) : IfcTextureCoordinate(std::move(e)) { } -Ifc4x3_add2::IfcIndexedTextureMap::IfcIndexedTextureMap(aggregate_of< ::Ifc4x3_add2::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_add2::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_add2::IfcTextureVertexList* v3_TexCoords) : IfcTextureCoordinate(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcIndexedTextureMap::IfcIndexedTextureMap(aggregate_of< ::Ifc4x3_add2::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_add2::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_add2::IfcTextureVertexList* v3_TexCoords) : IfcTextureCoordinate(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcIndexedTriangleTextureMap -boost::optional< std::vector< std::vector< int > > > Ifc4x3_add2::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::vector< int > > v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< std::vector< int > > > Ifc4x3_add2::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::vector< int > > v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcIndexedTriangleTextureMap::setTexCoordIndex(boost::optional< std::vector< std::vector< int > > > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_add2::IfcIndexedTriangleTextureMap::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[548]); } const IfcParse::entity& Ifc4x3_add2::IfcIndexedTriangleTextureMap::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[548]); } Ifc4x3_add2::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(IfcEntityInstanceData&& e) : IfcIndexedTextureMap(std::move(e)) { } -Ifc4x3_add2::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(aggregate_of< ::Ifc4x3_add2::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_add2::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_add2::IfcTextureVertexList* v3_TexCoords, boost::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) : IfcIndexedTextureMap(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); }; populate_derived(); } +Ifc4x3_add2::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(aggregate_of< ::Ifc4x3_add2::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_add2::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_add2::IfcTextureVertexList* v3_TexCoords, boost::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) : IfcIndexedTextureMap(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); }; populate_derived(); } // Function implementations for IfcInterceptor -boost::optional< ::Ifc4x3_add2::IfcInterceptorTypeEnum::Value > Ifc4x3_add2::IfcInterceptor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcInterceptorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcInterceptorTypeEnum::Value > Ifc4x3_add2::IfcInterceptor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcInterceptorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcInterceptor::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcInterceptorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcInterceptorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcInterceptor::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[552]); } const IfcParse::entity& Ifc4x3_add2::IfcInterceptor::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[552]); } Ifc4x3_add2::IfcInterceptor::IfcInterceptor(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4x3_add2::IfcInterceptor::IfcInterceptor(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcInterceptorTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcInterceptor::IfcInterceptor(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcInterceptorTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcInterceptorType -::Ifc4x3_add2::IfcInterceptorTypeEnum::Value Ifc4x3_add2::IfcInterceptorType::PredefinedType() const { return ::Ifc4x3_add2::IfcInterceptorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcInterceptorTypeEnum::Value Ifc4x3_add2::IfcInterceptorType::PredefinedType() const { return ::Ifc4x3_add2::IfcInterceptorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcInterceptorType::setPredefinedType(::Ifc4x3_add2::IfcInterceptorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcInterceptorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcInterceptorType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[553]); } const IfcParse::entity& Ifc4x3_add2::IfcInterceptorType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[553]); } Ifc4x3_add2::IfcInterceptorType::IfcInterceptorType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4x3_add2::IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcInterceptorTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcInterceptorTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcIntersectionCurve @@ -11879,174 +11879,174 @@ Ifc4x3_add2::IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, ::I const IfcParse::entity& Ifc4x3_add2::IfcIntersectionCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[557]); } const IfcParse::entity& Ifc4x3_add2::IfcIntersectionCurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[557]); } Ifc4x3_add2::IfcIntersectionCurve::IfcIntersectionCurve(IfcEntityInstanceData&& e) : IfcSurfaceCurve(std::move(e)) { } -Ifc4x3_add2::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4x3_add2::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_add2::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } +Ifc4x3_add2::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4x3_add2::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_add2::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcInventory -boost::optional< ::Ifc4x3_add2::IfcInventoryTypeEnum::Value > Ifc4x3_add2::IfcInventory::PredefinedType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcInventoryTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3_add2::IfcInventoryTypeEnum::Value > Ifc4x3_add2::IfcInventory::PredefinedType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcInventoryTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_add2::IfcInventory::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcInventoryTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3_add2::IfcInventoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -::Ifc4x3_add2::IfcActorSelect* Ifc4x3_add2::IfcInventory::Jurisdiction() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add2::IfcActorSelect>(true); } +::Ifc4x3_add2::IfcActorSelect* Ifc4x3_add2::IfcInventory::Jurisdiction() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add2::IfcActorSelect>(true); } void Ifc4x3_add2::IfcInventory::setJurisdiction(::Ifc4x3_add2::IfcActorSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPerson >::ptr > Ifc4x3_add2::IfcInventory::ResponsiblePersons() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_add2::IfcPerson >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPerson >::ptr > Ifc4x3_add2::IfcInventory::ResponsiblePersons() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_add2::IfcPerson >(); } void Ifc4x3_add2::IfcInventory::setResponsiblePersons(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPerson >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_add2::IfcInventory::LastUpdateDate() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcInventory::LastUpdateDate() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcInventory::setLastUpdateDate(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_add2::IfcCostValue* Ifc4x3_add2::IfcInventory::CurrentValue() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_add2::IfcCostValue>(true); } +::Ifc4x3_add2::IfcCostValue* Ifc4x3_add2::IfcInventory::CurrentValue() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_add2::IfcCostValue>(true); } void Ifc4x3_add2::IfcInventory::setCurrentValue(::Ifc4x3_add2::IfcCostValue* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_add2::IfcCostValue* Ifc4x3_add2::IfcInventory::OriginalValue() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_add2::IfcCostValue>(true); } +::Ifc4x3_add2::IfcCostValue* Ifc4x3_add2::IfcInventory::OriginalValue() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_add2::IfcCostValue>(true); } void Ifc4x3_add2::IfcInventory::setOriginalValue(::Ifc4x3_add2::IfcCostValue* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_add2::IfcInventory::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[558]); } const IfcParse::entity& Ifc4x3_add2::IfcInventory::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[558]); } Ifc4x3_add2::IfcInventory::IfcInventory(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x3_add2::IfcInventory::IfcInventory(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_add2::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_add2::IfcActorSelect* v7_Jurisdiction, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPerson >::ptr > v8_ResponsiblePersons, boost::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_add2::IfcCostValue* v10_CurrentValue, ::Ifc4x3_add2::IfcCostValue* v11_OriginalValue) : IfcGroup(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add2::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, v7_Jurisdiction ? v7_Jurisdiction->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_ResponsiblePersons) {set_attribute_value(7, (*v8_ResponsiblePersons)->generalize()); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, v10_CurrentValue ? v10_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_OriginalValue ? v11_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcInventory::IfcInventory(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_add2::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_add2::IfcActorSelect* v7_Jurisdiction, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPerson >::ptr > v8_ResponsiblePersons, boost::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_add2::IfcCostValue* v10_CurrentValue, ::Ifc4x3_add2::IfcCostValue* v11_OriginalValue) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add2::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, v7_Jurisdiction ? v7_Jurisdiction->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_ResponsiblePersons) {set_attribute_value(7, (*v8_ResponsiblePersons)->generalize()); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, v10_CurrentValue ? v10_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_OriginalValue ? v11_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcIrregularTimeSeries -aggregate_of< ::Ifc4x3_add2::IfcIrregularTimeSeriesValue >::ptr Ifc4x3_add2::IfcIrregularTimeSeries::Values() const { aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_add2::IfcIrregularTimeSeriesValue >(); } +aggregate_of< ::Ifc4x3_add2::IfcIrregularTimeSeriesValue >::ptr Ifc4x3_add2::IfcIrregularTimeSeries::Values() const { aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_add2::IfcIrregularTimeSeriesValue >(); } void Ifc4x3_add2::IfcIrregularTimeSeries::setValues(aggregate_of< ::Ifc4x3_add2::IfcIrregularTimeSeriesValue >::ptr v) { set_attribute_value(8, (v)->generalize());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_add2::IfcIrregularTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[561]); } const IfcParse::entity& Ifc4x3_add2::IfcIrregularTimeSeries::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[561]); } Ifc4x3_add2::IfcIrregularTimeSeries::IfcIrregularTimeSeries(IfcEntityInstanceData&& e) : IfcTimeSeries(std::move(e)) { } -Ifc4x3_add2::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add2::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add2::IfcUnit* v8_Unit, aggregate_of< ::Ifc4x3_add2::IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_Values)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add2::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add2::IfcUnit* v8_Unit, aggregate_of< ::Ifc4x3_add2::IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_Values)->generalize());; populate_derived(); } // Function implementations for IfcIrregularTimeSeriesValue -std::string Ifc4x3_add2::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_add2::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcIrregularTimeSeriesValue::setTimeStamp(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr Ifc4x3_add2::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcValue >(); } +aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr Ifc4x3_add2::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcValue >(); } void Ifc4x3_add2::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcIrregularTimeSeriesValue::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[562]); } const IfcParse::entity& Ifc4x3_add2::IfcIrregularTimeSeriesValue::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[562]); } Ifc4x3_add2::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, (v2_ListValues)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, (v2_ListValues)->generalize());; populate_derived(); } // Function implementations for IfcJunctionBox -boost::optional< ::Ifc4x3_add2::IfcJunctionBoxTypeEnum::Value > Ifc4x3_add2::IfcJunctionBox::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcJunctionBoxTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcJunctionBoxTypeEnum::Value > Ifc4x3_add2::IfcJunctionBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcJunctionBox::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcJunctionBoxTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcJunctionBoxTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcJunctionBox::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[565]); } const IfcParse::entity& Ifc4x3_add2::IfcJunctionBox::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[565]); } Ifc4x3_add2::IfcJunctionBox::IfcJunctionBox(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x3_add2::IfcJunctionBox::IfcJunctionBox(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcJunctionBox::IfcJunctionBox(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcJunctionBoxType -::Ifc4x3_add2::IfcJunctionBoxTypeEnum::Value Ifc4x3_add2::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4x3_add2::IfcJunctionBoxTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcJunctionBoxTypeEnum::Value Ifc4x3_add2::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4x3_add2::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcJunctionBoxType::setPredefinedType(::Ifc4x3_add2::IfcJunctionBoxTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcJunctionBoxTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcJunctionBoxType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[566]); } const IfcParse::entity& Ifc4x3_add2::IfcJunctionBoxType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[566]); } Ifc4x3_add2::IfcJunctionBoxType::IfcJunctionBoxType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x3_add2::IfcJunctionBoxType::IfcJunctionBoxType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcJunctionBoxType::IfcJunctionBoxType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcKerb -boost::optional< ::Ifc4x3_add2::IfcKerbTypeEnum::Value > Ifc4x3_add2::IfcKerb::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcKerbTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcKerbTypeEnum::Value > Ifc4x3_add2::IfcKerb::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcKerbTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcKerb::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcKerbTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcKerbTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcKerb::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[568]); } const IfcParse::entity& Ifc4x3_add2::IfcKerb::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[568]); } Ifc4x3_add2::IfcKerb::IfcKerb(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add2::IfcKerb::IfcKerb(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcKerbTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcKerbTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcKerb::IfcKerb(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcKerbTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcKerbTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcKerbType -::Ifc4x3_add2::IfcKerbTypeEnum::Value Ifc4x3_add2::IfcKerbType::PredefinedType() const { return ::Ifc4x3_add2::IfcKerbTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcKerbTypeEnum::Value Ifc4x3_add2::IfcKerbType::PredefinedType() const { return ::Ifc4x3_add2::IfcKerbTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcKerbType::setPredefinedType(::Ifc4x3_add2::IfcKerbTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcKerbTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcKerbType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[569]); } const IfcParse::entity& Ifc4x3_add2::IfcKerbType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[569]); } Ifc4x3_add2::IfcKerbType::IfcKerbType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add2::IfcKerbType::IfcKerbType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcKerbTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcKerbTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcKerbType::IfcKerbType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcKerbTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcKerbTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLShapeProfileDef -double Ifc4x3_add2::IfcLShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add2::IfcLShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcLShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< double > Ifc4x3_add2::IfcLShapeProfileDef::Width() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_add2::IfcLShapeProfileDef::Width() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcLShapeProfileDef::setWidth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -double Ifc4x3_add2::IfcLShapeProfileDef::Thickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_add2::IfcLShapeProfileDef::Thickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcLShapeProfileDef::setThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_add2::IfcLShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_add2::IfcLShapeProfileDef::FilletRadius() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcLShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_add2::IfcLShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add2::IfcLShapeProfileDef::EdgeRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcLShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_add2::IfcLShapeProfileDef::LegSlope() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_add2::IfcLShapeProfileDef::LegSlope() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcLShapeProfileDef::setLegSlope(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcLShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[619]); } const IfcParse::entity& Ifc4x3_add2::IfcLShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[619]); } Ifc4x3_add2::IfcLShapeProfileDef::IfcLShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_add2::IfcLShapeProfileDef::IfcLShapeProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::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(storage_t(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); }; populate_derived(); } +Ifc4x3_add2::IfcLShapeProfileDef::IfcLShapeProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::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(in_memory_attribute_storage(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); }; populate_derived(); } // Function implementations for IfcLaborResource -boost::optional< ::Ifc4x3_add2::IfcLaborResourceTypeEnum::Value > Ifc4x3_add2::IfcLaborResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcLaborResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add2::IfcLaborResourceTypeEnum::Value > Ifc4x3_add2::IfcLaborResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcLaborResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add2::IfcLaborResource::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcLaborResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add2::IfcLaborResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add2::IfcLaborResource::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[574]); } const IfcParse::entity& Ifc4x3_add2::IfcLaborResource::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[574]); } Ifc4x3_add2::IfcLaborResource::IfcLaborResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_add2::IfcLaborResource::IfcLaborResource(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_add2::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcLaborResource::IfcLaborResource(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_add2::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLaborResourceType -::Ifc4x3_add2::IfcLaborResourceTypeEnum::Value Ifc4x3_add2::IfcLaborResourceType::PredefinedType() const { return ::Ifc4x3_add2::IfcLaborResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_add2::IfcLaborResourceTypeEnum::Value Ifc4x3_add2::IfcLaborResourceType::PredefinedType() const { return ::Ifc4x3_add2::IfcLaborResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_add2::IfcLaborResourceType::setPredefinedType(::Ifc4x3_add2::IfcLaborResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_add2::IfcLaborResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_add2::IfcLaborResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[575]); } const IfcParse::entity& Ifc4x3_add2::IfcLaborResourceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[575]); } Ifc4x3_add2::IfcLaborResourceType::IfcLaborResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_add2::IfcLaborResourceType::IfcLaborResourceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::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_add2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_add2::IfcLaborResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add2::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcLaborResourceType::IfcLaborResourceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::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_add2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_add2::IfcLaborResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add2::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcLagTime -::Ifc4x3_add2::IfcTimeOrRatioSelect* Ifc4x3_add2::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcTimeOrRatioSelect>(true); } +::Ifc4x3_add2::IfcTimeOrRatioSelect* Ifc4x3_add2::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcTimeOrRatioSelect>(true); } void Ifc4x3_add2::IfcLagTime::setLagValue(::Ifc4x3_add2::IfcTimeOrRatioSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add2::IfcTaskDurationEnum::Value Ifc4x3_add2::IfcLagTime::DurationType() const { return ::Ifc4x3_add2::IfcTaskDurationEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x3_add2::IfcTaskDurationEnum::Value Ifc4x3_add2::IfcLagTime::DurationType() const { return ::Ifc4x3_add2::IfcTaskDurationEnum::FromString(get_attribute_value(4)); } void Ifc4x3_add2::IfcLagTime::setDurationType(::Ifc4x3_add2::IfcTaskDurationEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3_add2::IfcTaskDurationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add2::IfcLagTime::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[577]); } const IfcParse::entity& Ifc4x3_add2::IfcLagTime::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[577]); } Ifc4x3_add2::IfcLagTime::IfcLagTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x3_add2::IfcLagTime::IfcLagTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_add2::IfcTimeOrRatioSelect* v4_LagValue, ::Ifc4x3_add2::IfcTaskDurationEnum::Value v5_DurationType) : IfcSchedulingTime(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_LagValue ? v4_LagValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add2::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType)));; populate_derived(); } +Ifc4x3_add2::IfcLagTime::IfcLagTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_add2::IfcTimeOrRatioSelect* v4_LagValue, ::Ifc4x3_add2::IfcTaskDurationEnum::Value v5_DurationType) : IfcSchedulingTime(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_LagValue ? v4_LagValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add2::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType)));; populate_derived(); } // Function implementations for IfcLamp -boost::optional< ::Ifc4x3_add2::IfcLampTypeEnum::Value > Ifc4x3_add2::IfcLamp::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcLampTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcLampTypeEnum::Value > Ifc4x3_add2::IfcLamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcLampTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcLamp::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcLampTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcLampTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcLamp::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[578]); } const IfcParse::entity& Ifc4x3_add2::IfcLamp::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[578]); } Ifc4x3_add2::IfcLamp::IfcLamp(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_add2::IfcLamp::IfcLamp(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcLampTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcLamp::IfcLamp(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcLampTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLampType -::Ifc4x3_add2::IfcLampTypeEnum::Value Ifc4x3_add2::IfcLampType::PredefinedType() const { return ::Ifc4x3_add2::IfcLampTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcLampTypeEnum::Value Ifc4x3_add2::IfcLampType::PredefinedType() const { return ::Ifc4x3_add2::IfcLampTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcLampType::setPredefinedType(::Ifc4x3_add2::IfcLampTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcLampTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcLampType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[579]); } const IfcParse::entity& Ifc4x3_add2::IfcLampType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[579]); } Ifc4x3_add2::IfcLampType::IfcLampType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_add2::IfcLampType::IfcLampType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcLampTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcLampType::IfcLampType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcLampTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLibraryInformation -std::string Ifc4x3_add2::IfcLibraryInformation::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_add2::IfcLibraryInformation::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcLibraryInformation::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_add2::IfcLibraryInformation::Version() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcLibraryInformation::Version() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_add2::IfcActorSelect* Ifc4x3_add2::IfcLibraryInformation::Publisher() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcActorSelect>(true); } +::Ifc4x3_add2::IfcActorSelect* Ifc4x3_add2::IfcLibraryInformation::Publisher() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcActorSelect>(true); } void Ifc4x3_add2::IfcLibraryInformation::setPublisher(::Ifc4x3_add2::IfcActorSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x3_add2::IfcLibraryInformation::VersionDate() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcLibraryInformation::VersionDate() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcLibraryInformation::setVersionDate(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_add2::IfcLibraryInformation::Location() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcLibraryInformation::Location() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcLibraryInformation::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add2::IfcLibraryInformation::Description() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcLibraryInformation::Description() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcLibraryInformation::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x3_add2::IfcRelAssociatesLibrary::list::ptr Ifc4x3_add2::IfcLibraryInformation::LibraryInfoForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[913], 5)->as(); } @@ -12055,14 +12055,14 @@ void Ifc4x3_add2::IfcLibraryInformation::setDescription(boost::optional< std::st const IfcParse::entity& Ifc4x3_add2::IfcLibraryInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[585]); } const IfcParse::entity& Ifc4x3_add2::IfcLibraryInformation::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[585]); } Ifc4x3_add2::IfcLibraryInformation::IfcLibraryInformation(IfcEntityInstanceData&& e) : IfcExternalInformation(std::move(e)) { } -Ifc4x3_add2::IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, boost::optional< std::string > v2_Version, ::Ifc4x3_add2::IfcActorSelect* v3_Publisher, boost::optional< std::string > v4_VersionDate, boost::optional< std::string > v5_Location, boost::optional< std::string > v6_Description) : IfcExternalInformation(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, v3_Publisher ? v3_Publisher->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); }; populate_derived(); } +Ifc4x3_add2::IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, boost::optional< std::string > v2_Version, ::Ifc4x3_add2::IfcActorSelect* v3_Publisher, boost::optional< std::string > v4_VersionDate, boost::optional< std::string > v5_Location, boost::optional< std::string > v6_Description) : IfcExternalInformation(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, v3_Publisher ? v3_Publisher->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); }; populate_derived(); } // Function implementations for IfcLibraryReference -boost::optional< std::string > Ifc4x3_add2::IfcLibraryReference::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcLibraryReference::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcLibraryReference::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_add2::IfcLibraryReference::Language() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcLibraryReference::Language() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcLibraryReference::setLanguage(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_add2::IfcLibraryInformation* Ifc4x3_add2::IfcLibraryReference::ReferencedLibrary() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcLibraryInformation>(true); } +::Ifc4x3_add2::IfcLibraryInformation* Ifc4x3_add2::IfcLibraryReference::ReferencedLibrary() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcLibraryInformation>(true); } void Ifc4x3_add2::IfcLibraryReference::setReferencedLibrary(::Ifc4x3_add2::IfcLibraryInformation* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc4x3_add2::IfcRelAssociatesLibrary::list::ptr Ifc4x3_add2::IfcLibraryReference::LibraryRefForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[913], 5)->as(); } @@ -12070,69 +12070,69 @@ void Ifc4x3_add2::IfcLibraryReference::setReferencedLibrary(::Ifc4x3_add2::IfcLi const IfcParse::entity& Ifc4x3_add2::IfcLibraryReference::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[586]); } const IfcParse::entity& Ifc4x3_add2::IfcLibraryReference::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[586]); } Ifc4x3_add2::IfcLibraryReference::IfcLibraryReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_add2::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_add2::IfcLibraryInformation* v6_ReferencedLibrary) : IfcExternalReference(IfcEntityInstanceData(storage_t(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, v6_ReferencedLibrary ? v6_ReferencedLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::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_add2::IfcLibraryInformation* v6_ReferencedLibrary) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, v6_ReferencedLibrary ? v6_ReferencedLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLightDistributionData -double Ifc4x3_add2::IfcLightDistributionData::MainPlaneAngle() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_add2::IfcLightDistributionData::MainPlaneAngle() const { double v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcLightDistributionData::setMainPlaneAngle(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< double > /*[1:?]*/ Ifc4x3_add2::IfcLightDistributionData::SecondaryPlaneAngle() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +std::vector< double > /*[1:?]*/ Ifc4x3_add2::IfcLightDistributionData::SecondaryPlaneAngle() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcLightDistributionData::setSecondaryPlaneAngle(std::vector< double > /*[1:?]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector< double > /*[1:?]*/ Ifc4x3_add2::IfcLightDistributionData::LuminousIntensity() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(2); return v; } +std::vector< double > /*[1:?]*/ Ifc4x3_add2::IfcLightDistributionData::LuminousIntensity() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcLightDistributionData::setLuminousIntensity(std::vector< double > /*[1:?]*/ v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcLightDistributionData::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[589]); } const IfcParse::entity& Ifc4x3_add2::IfcLightDistributionData::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[589]); } Ifc4x3_add2::IfcLightDistributionData::IfcLightDistributionData(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcLightDistributionData::IfcLightDistributionData(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; populate_derived(); } +Ifc4x3_add2::IfcLightDistributionData::IfcLightDistributionData(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; populate_derived(); } // Function implementations for IfcLightFixture -boost::optional< ::Ifc4x3_add2::IfcLightFixtureTypeEnum::Value > Ifc4x3_add2::IfcLightFixture::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcLightFixtureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcLightFixtureTypeEnum::Value > Ifc4x3_add2::IfcLightFixture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcLightFixtureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcLightFixture::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcLightFixtureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcLightFixtureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcLightFixture::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[592]); } const IfcParse::entity& Ifc4x3_add2::IfcLightFixture::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[592]); } Ifc4x3_add2::IfcLightFixture::IfcLightFixture(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_add2::IfcLightFixture::IfcLightFixture(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcLightFixture::IfcLightFixture(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLightFixtureType -::Ifc4x3_add2::IfcLightFixtureTypeEnum::Value Ifc4x3_add2::IfcLightFixtureType::PredefinedType() const { return ::Ifc4x3_add2::IfcLightFixtureTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcLightFixtureTypeEnum::Value Ifc4x3_add2::IfcLightFixtureType::PredefinedType() const { return ::Ifc4x3_add2::IfcLightFixtureTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcLightFixtureType::setPredefinedType(::Ifc4x3_add2::IfcLightFixtureTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcLightFixtureTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcLightFixtureType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[593]); } const IfcParse::entity& Ifc4x3_add2::IfcLightFixtureType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[593]); } Ifc4x3_add2::IfcLightFixtureType::IfcLightFixtureType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_add2::IfcLightFixtureType::IfcLightFixtureType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcLightFixtureTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcLightFixtureType::IfcLightFixtureType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcLightFixtureTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLightIntensityDistribution -::Ifc4x3_add2::IfcLightDistributionCurveEnum::Value Ifc4x3_add2::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4x3_add2::IfcLightDistributionCurveEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_add2::IfcLightDistributionCurveEnum::Value Ifc4x3_add2::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4x3_add2::IfcLightDistributionCurveEnum::FromString(get_attribute_value(0)); } void Ifc4x3_add2::IfcLightIntensityDistribution::setLightDistributionCurve(::Ifc4x3_add2::IfcLightDistributionCurveEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_add2::IfcLightDistributionCurveEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_add2::IfcLightDistributionData >::ptr Ifc4x3_add2::IfcLightIntensityDistribution::DistributionData() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcLightDistributionData >(); } +aggregate_of< ::Ifc4x3_add2::IfcLightDistributionData >::ptr Ifc4x3_add2::IfcLightIntensityDistribution::DistributionData() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcLightDistributionData >(); } void Ifc4x3_add2::IfcLightIntensityDistribution::setDistributionData(aggregate_of< ::Ifc4x3_add2::IfcLightDistributionData >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcLightIntensityDistribution::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[595]); } const IfcParse::entity& Ifc4x3_add2::IfcLightIntensityDistribution::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[595]); } Ifc4x3_add2::IfcLightIntensityDistribution::IfcLightIntensityDistribution(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4x3_add2::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, aggregate_of< ::Ifc4x3_add2::IfcLightDistributionData >::ptr v2_DistributionData) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, (v2_DistributionData)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4x3_add2::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, aggregate_of< ::Ifc4x3_add2::IfcLightDistributionData >::ptr v2_DistributionData) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, (v2_DistributionData)->generalize());; populate_derived(); } // Function implementations for IfcLightSource -boost::optional< std::string > Ifc4x3_add2::IfcLightSource::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcLightSource::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcLightSource::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_add2::IfcColourRgb* Ifc4x3_add2::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcColourRgb>(true); } +::Ifc4x3_add2::IfcColourRgb* Ifc4x3_add2::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcColourRgb>(true); } void Ifc4x3_add2::IfcLightSource::setLightColour(::Ifc4x3_add2::IfcColourRgb* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_add2::IfcLightSource::AmbientIntensity() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add2::IfcLightSource::AmbientIntensity() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_add2::IfcLightSource::Intensity() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add2::IfcLightSource::Intensity() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcLightSource::setIntensity(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_add2::IfcLightSource::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[596]); } const IfcParse::entity& Ifc4x3_add2::IfcLightSource::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[596]); } Ifc4x3_add2::IfcLightSource::IfcLightSource(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } +Ifc4x3_add2::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } // Function implementations for IfcLightSourceAmbient @@ -12140,83 +12140,83 @@ Ifc4x3_add2::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Na const IfcParse::entity& Ifc4x3_add2::IfcLightSourceAmbient::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[597]); } const IfcParse::entity& Ifc4x3_add2::IfcLightSourceAmbient::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[597]); } Ifc4x3_add2::IfcLightSourceAmbient::IfcLightSourceAmbient(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x3_add2::IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcLightSource(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } +Ifc4x3_add2::IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } // Function implementations for IfcLightSourceDirectional -::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcDirection>(true); } +::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcDirection>(true); } void Ifc4x3_add2::IfcLightSourceDirectional::setOrientation(::Ifc4x3_add2::IfcDirection* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add2::IfcLightSourceDirectional::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[598]); } const IfcParse::entity& Ifc4x3_add2::IfcLightSourceDirectional::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[598]); } Ifc4x3_add2::IfcLightSourceDirectional::IfcLightSourceDirectional(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x3_add2::IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_add2::IfcDirection* v5_Orientation) : IfcLightSource(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Orientation ? v5_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_add2::IfcDirection* v5_Orientation) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Orientation ? v5_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLightSourceGoniometric -::Ifc4x3_add2::IfcAxis2Placement3D* Ifc4x3_add2::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcAxis2Placement3D>(true); } +::Ifc4x3_add2::IfcAxis2Placement3D* Ifc4x3_add2::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcAxis2Placement3D>(true); } void Ifc4x3_add2::IfcLightSourceGoniometric::setPosition(::Ifc4x3_add2::IfcAxis2Placement3D* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcColourRgb* Ifc4x3_add2::IfcLightSourceGoniometric::ColourAppearance() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcColourRgb>(true); } +::Ifc4x3_add2::IfcColourRgb* Ifc4x3_add2::IfcLightSourceGoniometric::ColourAppearance() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcColourRgb>(true); } void Ifc4x3_add2::IfcLightSourceGoniometric::setColourAppearance(::Ifc4x3_add2::IfcColourRgb* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_add2::IfcLightSourceGoniometric::ColourTemperature() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_add2::IfcLightSourceGoniometric::ColourTemperature() const { double v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcLightSourceGoniometric::setColourTemperature(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -double Ifc4x3_add2::IfcLightSourceGoniometric::LuminousFlux() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x3_add2::IfcLightSourceGoniometric::LuminousFlux() const { double v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcLightSourceGoniometric::setLuminousFlux(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_add2::IfcLightEmissionSourceEnum::Value Ifc4x3_add2::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4x3_add2::IfcLightEmissionSourceEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_add2::IfcLightEmissionSourceEnum::Value Ifc4x3_add2::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4x3_add2::IfcLightEmissionSourceEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcLightSourceGoniometric::setLightEmissionSource(::Ifc4x3_add2::IfcLightEmissionSourceEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcLightEmissionSourceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_add2::IfcLightDistributionDataSourceSelect* Ifc4x3_add2::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_add2::IfcLightDistributionDataSourceSelect>(true); } +::Ifc4x3_add2::IfcLightDistributionDataSourceSelect* Ifc4x3_add2::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_add2::IfcLightDistributionDataSourceSelect>(true); } void Ifc4x3_add2::IfcLightSourceGoniometric::setLightDistributionDataSource(::Ifc4x3_add2::IfcLightDistributionDataSourceSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcLightSourceGoniometric::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[599]); } const IfcParse::entity& Ifc4x3_add2::IfcLightSourceGoniometric::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[599]); } Ifc4x3_add2::IfcLightSourceGoniometric::IfcLightSourceGoniometric(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x3_add2::IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_add2::IfcAxis2Placement3D* v5_Position, ::Ifc4x3_add2::IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_add2::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_add2::IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource(IfcEntityInstanceData(storage_t(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ColourAppearance ? v6_ColourAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, v10_LightDistributionDataSource ? v10_LightDistributionDataSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_add2::IfcAxis2Placement3D* v5_Position, ::Ifc4x3_add2::IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_add2::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_add2::IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ColourAppearance ? v6_ColourAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, v10_LightDistributionDataSource ? v10_LightDistributionDataSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLightSourcePositional -::Ifc4x3_add2::IfcCartesianPoint* Ifc4x3_add2::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcCartesianPoint>(true); } +::Ifc4x3_add2::IfcCartesianPoint* Ifc4x3_add2::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcCartesianPoint>(true); } void Ifc4x3_add2::IfcLightSourcePositional::setPosition(::Ifc4x3_add2::IfcCartesianPoint* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_add2::IfcLightSourcePositional::Radius() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_add2::IfcLightSourcePositional::Radius() const { double v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcLightSourcePositional::setRadius(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_add2::IfcLightSourcePositional::ConstantAttenuation() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_add2::IfcLightSourcePositional::ConstantAttenuation() const { double v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcLightSourcePositional::setConstantAttenuation(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -double Ifc4x3_add2::IfcLightSourcePositional::DistanceAttenuation() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x3_add2::IfcLightSourcePositional::DistanceAttenuation() const { double v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcLightSourcePositional::setDistanceAttenuation(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -double Ifc4x3_add2::IfcLightSourcePositional::QuadricAttenuation() const { double v = data_.get_attribute_value(8); return v; } +double Ifc4x3_add2::IfcLightSourcePositional::QuadricAttenuation() const { double v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcLightSourcePositional::setQuadricAttenuation(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_add2::IfcLightSourcePositional::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[600]); } const IfcParse::entity& Ifc4x3_add2::IfcLightSourcePositional::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[600]); } Ifc4x3_add2::IfcLightSourcePositional::IfcLightSourcePositional(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x3_add2::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_add2::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) : IfcLightSource(IfcEntityInstanceData(storage_t(9))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; populate_derived(); } +Ifc4x3_add2::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_add2::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; populate_derived(); } // Function implementations for IfcLightSourceSpot -::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_add2::IfcDirection>(true); } +::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_add2::IfcDirection>(true); } void Ifc4x3_add2::IfcLightSourceSpot::setOrientation(::Ifc4x3_add2::IfcDirection* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3_add2::IfcLightSourceSpot::ConcentrationExponent() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_add2::IfcLightSourceSpot::ConcentrationExponent() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_add2::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -double Ifc4x3_add2::IfcLightSourceSpot::SpreadAngle() const { double v = data_.get_attribute_value(11); return v; } +double Ifc4x3_add2::IfcLightSourceSpot::SpreadAngle() const { double v = get_attribute_value(11); return v; } void Ifc4x3_add2::IfcLightSourceSpot::setSpreadAngle(double v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } -double Ifc4x3_add2::IfcLightSourceSpot::BeamWidthAngle() const { double v = data_.get_attribute_value(12); return v; } +double Ifc4x3_add2::IfcLightSourceSpot::BeamWidthAngle() const { double v = get_attribute_value(12); return v; } void Ifc4x3_add2::IfcLightSourceSpot::setBeamWidthAngle(double v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } const IfcParse::entity& Ifc4x3_add2::IfcLightSourceSpot::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[601]); } const IfcParse::entity& Ifc4x3_add2::IfcLightSourceSpot::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[601]); } Ifc4x3_add2::IfcLightSourceSpot::IfcLightSourceSpot(IfcEntityInstanceData&& e) : IfcLightSourcePositional(std::move(e)) { } -Ifc4x3_add2::IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_add2::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_add2::IfcDirection* v10_Orientation, boost::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) : IfcLightSourcePositional(IfcEntityInstanceData(storage_t(13))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, v10_Orientation ? v10_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; populate_derived(); } +Ifc4x3_add2::IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_add2::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_add2::IfcDirection* v10_Orientation, boost::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) : IfcLightSourcePositional(IfcEntityInstanceData(in_memory_attribute_storage(13))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, v10_Orientation ? v10_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; populate_derived(); } // Function implementations for IfcLine -::Ifc4x3_add2::IfcCartesianPoint* Ifc4x3_add2::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCartesianPoint>(true); } +::Ifc4x3_add2::IfcCartesianPoint* Ifc4x3_add2::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCartesianPoint>(true); } void Ifc4x3_add2::IfcLine::setPnt(::Ifc4x3_add2::IfcCartesianPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcVector* Ifc4x3_add2::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcVector>(true); } +::Ifc4x3_add2::IfcVector* Ifc4x3_add2::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcVector>(true); } void Ifc4x3_add2::IfcLine::setDir(::Ifc4x3_add2::IfcVector* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcLine::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[602]); } const IfcParse::entity& Ifc4x3_add2::IfcLine::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[602]); } Ifc4x3_add2::IfcLine::IfcLine(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_add2::IfcLine::IfcLine(::Ifc4x3_add2::IfcCartesianPoint* v1_Pnt, ::Ifc4x3_add2::IfcVector* v2_Dir) : IfcCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Pnt ? v1_Pnt->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Dir ? v2_Dir->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcLine::IfcLine(::Ifc4x3_add2::IfcCartesianPoint* v1_Pnt, ::Ifc4x3_add2::IfcVector* v2_Dir) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Pnt ? v1_Pnt->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Dir ? v2_Dir->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLinearElement @@ -12224,19 +12224,19 @@ Ifc4x3_add2::IfcLine::IfcLine(::Ifc4x3_add2::IfcCartesianPoint* v1_Pnt, ::Ifc4x3 const IfcParse::entity& Ifc4x3_add2::IfcLinearElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[603]); } const IfcParse::entity& Ifc4x3_add2::IfcLinearElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[603]); } Ifc4x3_add2::IfcLinearElement::IfcLinearElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_add2::IfcLinearElement::IfcLinearElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcLinearElement::IfcLinearElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLinearPlacement -::Ifc4x3_add2::IfcAxis2PlacementLinear* Ifc4x3_add2::IfcLinearPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcAxis2PlacementLinear>(true); } +::Ifc4x3_add2::IfcAxis2PlacementLinear* Ifc4x3_add2::IfcLinearPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcAxis2PlacementLinear>(true); } void Ifc4x3_add2::IfcLinearPlacement::setRelativePlacement(::Ifc4x3_add2::IfcAxis2PlacementLinear* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcAxis2Placement3D* Ifc4x3_add2::IfcLinearPlacement::CartesianPosition() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcAxis2Placement3D>(true); } +::Ifc4x3_add2::IfcAxis2Placement3D* Ifc4x3_add2::IfcLinearPlacement::CartesianPosition() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcAxis2Placement3D>(true); } void Ifc4x3_add2::IfcLinearPlacement::setCartesianPosition(::Ifc4x3_add2::IfcAxis2Placement3D* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcLinearPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[606]); } const IfcParse::entity& Ifc4x3_add2::IfcLinearPlacement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[606]); } Ifc4x3_add2::IfcLinearPlacement::IfcLinearPlacement(IfcEntityInstanceData&& e) : IfcObjectPlacement(std::move(e)) { } -Ifc4x3_add2::IfcLinearPlacement::IfcLinearPlacement(::Ifc4x3_add2::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_add2::IfcAxis2PlacementLinear* v2_RelativePlacement, ::Ifc4x3_add2::IfcAxis2Placement3D* v3_CartesianPosition) : IfcObjectPlacement(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CartesianPosition ? v3_CartesianPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcLinearPlacement::IfcLinearPlacement(::Ifc4x3_add2::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_add2::IfcAxis2PlacementLinear* v2_RelativePlacement, ::Ifc4x3_add2::IfcAxis2Placement3D* v3_CartesianPosition) : IfcObjectPlacement(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CartesianPosition ? v3_CartesianPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLinearPositioningElement @@ -12244,37 +12244,37 @@ Ifc4x3_add2::IfcLinearPlacement::IfcLinearPlacement(::Ifc4x3_add2::IfcObjectPlac const IfcParse::entity& Ifc4x3_add2::IfcLinearPositioningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[607]); } const IfcParse::entity& Ifc4x3_add2::IfcLinearPositioningElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[607]); } Ifc4x3_add2::IfcLinearPositioningElement::IfcLinearPositioningElement(IfcEntityInstanceData&& e) : IfcPositioningElement(std::move(e)) { } -Ifc4x3_add2::IfcLinearPositioningElement::IfcLinearPositioningElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation) : IfcPositioningElement(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcLinearPositioningElement::IfcLinearPositioningElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation) : IfcPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLiquidTerminal -boost::optional< ::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Value > Ifc4x3_add2::IfcLiquidTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Value > Ifc4x3_add2::IfcLiquidTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcLiquidTerminal::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcLiquidTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[611]); } const IfcParse::entity& Ifc4x3_add2::IfcLiquidTerminal::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[611]); } Ifc4x3_add2::IfcLiquidTerminal::IfcLiquidTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_add2::IfcLiquidTerminal::IfcLiquidTerminal(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcLiquidTerminal::IfcLiquidTerminal(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLiquidTerminalType -::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Value Ifc4x3_add2::IfcLiquidTerminalType::PredefinedType() const { return ::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Value Ifc4x3_add2::IfcLiquidTerminalType::PredefinedType() const { return ::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcLiquidTerminalType::setPredefinedType(::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcLiquidTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[612]); } const IfcParse::entity& Ifc4x3_add2::IfcLiquidTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[612]); } Ifc4x3_add2::IfcLiquidTerminalType::IfcLiquidTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_add2::IfcLiquidTerminalType::IfcLiquidTerminalType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcLiquidTerminalType::IfcLiquidTerminalType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcLiquidTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLocalPlacement -::Ifc4x3_add2::IfcAxis2Placement* Ifc4x3_add2::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcAxis2Placement>(true); } +::Ifc4x3_add2::IfcAxis2Placement* Ifc4x3_add2::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcAxis2Placement>(true); } void Ifc4x3_add2::IfcLocalPlacement::setRelativePlacement(::Ifc4x3_add2::IfcAxis2Placement* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcLocalPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[615]); } const IfcParse::entity& Ifc4x3_add2::IfcLocalPlacement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[615]); } Ifc4x3_add2::IfcLocalPlacement::IfcLocalPlacement(IfcEntityInstanceData&& e) : IfcObjectPlacement(std::move(e)) { } -Ifc4x3_add2::IfcLocalPlacement::IfcLocalPlacement(::Ifc4x3_add2::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_add2::IfcAxis2Placement* v2_RelativePlacement) : IfcObjectPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcLocalPlacement::IfcLocalPlacement(::Ifc4x3_add2::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_add2::IfcAxis2Placement* v2_RelativePlacement) : IfcObjectPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLoop @@ -12282,90 +12282,90 @@ Ifc4x3_add2::IfcLocalPlacement::IfcLocalPlacement(::Ifc4x3_add2::IfcObjectPlacem const IfcParse::entity& Ifc4x3_add2::IfcLoop::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[618]); } const IfcParse::entity& Ifc4x3_add2::IfcLoop::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[618]); } Ifc4x3_add2::IfcLoop::IfcLoop(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add2::IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcManifoldSolidBrep -::Ifc4x3_add2::IfcClosedShell* Ifc4x3_add2::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcClosedShell>(true); } +::Ifc4x3_add2::IfcClosedShell* Ifc4x3_add2::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcClosedShell>(true); } void Ifc4x3_add2::IfcManifoldSolidBrep::setOuter(::Ifc4x3_add2::IfcClosedShell* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add2::IfcManifoldSolidBrep::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[625]); } const IfcParse::entity& Ifc4x3_add2::IfcManifoldSolidBrep::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[625]); } Ifc4x3_add2::IfcManifoldSolidBrep::IfcManifoldSolidBrep(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3_add2::IfcManifoldSolidBrep::IfcManifoldSolidBrep(::Ifc4x3_add2::IfcClosedShell* v1_Outer) : IfcSolidModel(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcManifoldSolidBrep::IfcManifoldSolidBrep(::Ifc4x3_add2::IfcClosedShell* v1_Outer) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMapConversion -double Ifc4x3_add2::IfcMapConversion::Eastings() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_add2::IfcMapConversion::Eastings() const { double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcMapConversion::setEastings(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_add2::IfcMapConversion::Northings() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add2::IfcMapConversion::Northings() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcMapConversion::setNorthings(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_add2::IfcMapConversion::OrthogonalHeight() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add2::IfcMapConversion::OrthogonalHeight() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcMapConversion::setOrthogonalHeight(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< double > Ifc4x3_add2::IfcMapConversion::XAxisAbscissa() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_add2::IfcMapConversion::XAxisAbscissa() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcMapConversion::setXAxisAbscissa(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_add2::IfcMapConversion::XAxisOrdinate() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_add2::IfcMapConversion::XAxisOrdinate() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcMapConversion::setXAxisOrdinate(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_add2::IfcMapConversion::Scale() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add2::IfcMapConversion::Scale() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcMapConversion::setScale(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_add2::IfcMapConversion::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[626]); } const IfcParse::entity& Ifc4x3_add2::IfcMapConversion::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[626]); } Ifc4x3_add2::IfcMapConversion::IfcMapConversion(IfcEntityInstanceData&& e) : IfcCoordinateOperation(std::move(e)) { } -Ifc4x3_add2::IfcMapConversion::IfcMapConversion(::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_add2::IfcCoordinateReferenceSystem* v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, boost::optional< double > v6_XAxisAbscissa, boost::optional< double > v7_XAxisOrdinate, boost::optional< double > v8_Scale) : IfcCoordinateOperation(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); }; populate_derived(); } +Ifc4x3_add2::IfcMapConversion::IfcMapConversion(::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_add2::IfcCoordinateReferenceSystem* v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, boost::optional< double > v6_XAxisAbscissa, boost::optional< double > v7_XAxisOrdinate, boost::optional< double > v8_Scale) : IfcCoordinateOperation(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); }; populate_derived(); } // Function implementations for IfcMapConversionScaled -double Ifc4x3_add2::IfcMapConversionScaled::FactorX() const { double v = data_.get_attribute_value(8); return v; } +double Ifc4x3_add2::IfcMapConversionScaled::FactorX() const { double v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcMapConversionScaled::setFactorX(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -double Ifc4x3_add2::IfcMapConversionScaled::FactorY() const { double v = data_.get_attribute_value(9); return v; } +double Ifc4x3_add2::IfcMapConversionScaled::FactorY() const { double v = get_attribute_value(9); return v; } void Ifc4x3_add2::IfcMapConversionScaled::setFactorY(double v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -double Ifc4x3_add2::IfcMapConversionScaled::FactorZ() const { double v = data_.get_attribute_value(10); return v; } +double Ifc4x3_add2::IfcMapConversionScaled::FactorZ() const { double v = get_attribute_value(10); return v; } void Ifc4x3_add2::IfcMapConversionScaled::setFactorZ(double v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_add2::IfcMapConversionScaled::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[627]); } const IfcParse::entity& Ifc4x3_add2::IfcMapConversionScaled::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[627]); } Ifc4x3_add2::IfcMapConversionScaled::IfcMapConversionScaled(IfcEntityInstanceData&& e) : IfcMapConversion(std::move(e)) { } -Ifc4x3_add2::IfcMapConversionScaled::IfcMapConversionScaled(::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_add2::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, double v9_FactorX, double v10_FactorY, double v11_FactorZ) : IfcMapConversion(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); }set_attribute_value(8, (v9_FactorX));set_attribute_value(9, (v10_FactorY));set_attribute_value(10, (v11_FactorZ));; populate_derived(); } +Ifc4x3_add2::IfcMapConversionScaled::IfcMapConversionScaled(::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_add2::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, double v9_FactorX, double v10_FactorY, double v11_FactorZ) : IfcMapConversion(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); }set_attribute_value(8, (v9_FactorX));set_attribute_value(9, (v10_FactorY));set_attribute_value(10, (v11_FactorZ));; populate_derived(); } // Function implementations for IfcMappedItem -::Ifc4x3_add2::IfcRepresentationMap* Ifc4x3_add2::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcRepresentationMap>(true); } +::Ifc4x3_add2::IfcRepresentationMap* Ifc4x3_add2::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcRepresentationMap>(true); } void Ifc4x3_add2::IfcMappedItem::setMappingSource(::Ifc4x3_add2::IfcRepresentationMap* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcCartesianTransformationOperator* Ifc4x3_add2::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcCartesianTransformationOperator>(true); } +::Ifc4x3_add2::IfcCartesianTransformationOperator* Ifc4x3_add2::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcCartesianTransformationOperator>(true); } void Ifc4x3_add2::IfcMappedItem::setMappingTarget(::Ifc4x3_add2::IfcCartesianTransformationOperator* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcMappedItem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[628]); } const IfcParse::entity& Ifc4x3_add2::IfcMappedItem::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[628]); } Ifc4x3_add2::IfcMappedItem::IfcMappedItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcMappedItem::IfcMappedItem(::Ifc4x3_add2::IfcRepresentationMap* v1_MappingSource, ::Ifc4x3_add2::IfcCartesianTransformationOperator* v2_MappingTarget) : IfcRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_MappingSource ? v1_MappingSource->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappingTarget ? v2_MappingTarget->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcMappedItem::IfcMappedItem(::Ifc4x3_add2::IfcRepresentationMap* v1_MappingSource, ::Ifc4x3_add2::IfcCartesianTransformationOperator* v2_MappingTarget) : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_MappingSource ? v1_MappingSource->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappingTarget ? v2_MappingTarget->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMarineFacility -boost::optional< ::Ifc4x3_add2::IfcMarineFacilityTypeEnum::Value > Ifc4x3_add2::IfcMarineFacility::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcMarineFacilityTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_add2::IfcMarineFacilityTypeEnum::Value > Ifc4x3_add2::IfcMarineFacility::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcMarineFacilityTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcMarineFacility::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcMarineFacilityTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcMarineFacilityTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_add2::IfcMarineFacility::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[629]); } const IfcParse::entity& Ifc4x3_add2::IfcMarineFacility::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[629]); } Ifc4x3_add2::IfcMarineFacility::IfcMarineFacility(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x3_add2::IfcMarineFacility::IfcMarineFacility(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_add2::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcMarineFacilityTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcMarineFacility::IfcMarineFacility(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_add2::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcMarineFacilityTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMarinePart -boost::optional< ::Ifc4x3_add2::IfcMarinePartTypeEnum::Value > Ifc4x3_add2::IfcMarinePart::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcMarinePartTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add2::IfcMarinePartTypeEnum::Value > Ifc4x3_add2::IfcMarinePart::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcMarinePartTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add2::IfcMarinePart::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcMarinePartTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add2::IfcMarinePartTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add2::IfcMarinePart::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[631]); } const IfcParse::entity& Ifc4x3_add2::IfcMarinePart::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[631]); } Ifc4x3_add2::IfcMarinePart::IfcMarinePart(IfcEntityInstanceData&& e) : IfcFacilityPart(std::move(e)) { } -Ifc4x3_add2::IfcMarinePart::IfcMarinePart(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3_add2::IfcMarinePartTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcMarinePartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcMarinePart::IfcMarinePart(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3_add2::IfcMarinePartTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcMarinePartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMaterial -std::string Ifc4x3_add2::IfcMaterial::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_add2::IfcMaterial::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcMaterial::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_add2::IfcMaterial::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcMaterial::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcMaterial::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_add2::IfcMaterial::Category() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcMaterial::Category() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcMaterial::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3_add2::IfcMaterialDefinitionRepresentation::list::ptr Ifc4x3_add2::IfcMaterial::HasRepresentation() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[642], 3)->as(); } @@ -12375,30 +12375,30 @@ void Ifc4x3_add2::IfcMaterial::setCategory(boost::optional< std::string > v) { i const IfcParse::entity& Ifc4x3_add2::IfcMaterial::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[637]); } const IfcParse::entity& Ifc4x3_add2::IfcMaterial::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[637]); } Ifc4x3_add2::IfcMaterial::IfcMaterial(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_add2::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); }; populate_derived(); } +Ifc4x3_add2::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); }; populate_derived(); } // Function implementations for IfcMaterialClassificationRelationship -aggregate_of< ::Ifc4x3_add2::IfcClassificationSelect >::ptr Ifc4x3_add2::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcClassificationSelect >(); } +aggregate_of< ::Ifc4x3_add2::IfcClassificationSelect >::ptr Ifc4x3_add2::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcClassificationSelect >(); } void Ifc4x3_add2::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x3_add2::IfcClassificationSelect >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcMaterial* Ifc4x3_add2::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcMaterial>(true); } +::Ifc4x3_add2::IfcMaterial* Ifc4x3_add2::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcMaterial>(true); } void Ifc4x3_add2::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4x3_add2::IfcMaterial* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcMaterialClassificationRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[638]); } const IfcParse::entity& Ifc4x3_add2::IfcMaterialClassificationRelationship::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[638]); } Ifc4x3_add2::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3_add2::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_add2::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_MaterialClassifications)->generalize());set_attribute_value(1, v2_ClassifiedMaterial ? v2_ClassifiedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3_add2::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_add2::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_MaterialClassifications)->generalize());set_attribute_value(1, v2_ClassifiedMaterial ? v2_ClassifiedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialConstituent -boost::optional< std::string > Ifc4x3_add2::IfcMaterialConstituent::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcMaterialConstituent::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcMaterialConstituent::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add2::IfcMaterialConstituent::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcMaterialConstituent::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcMaterialConstituent::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_add2::IfcMaterial* Ifc4x3_add2::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcMaterial>(true); } +::Ifc4x3_add2::IfcMaterial* Ifc4x3_add2::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcMaterial>(true); } void Ifc4x3_add2::IfcMaterialConstituent::setMaterial(::Ifc4x3_add2::IfcMaterial* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4x3_add2::IfcMaterialConstituent::Fraction() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add2::IfcMaterialConstituent::Fraction() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcMaterialConstituent::setFraction(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_add2::IfcMaterialConstituent::Category() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcMaterialConstituent::Category() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcMaterialConstituent::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } ::Ifc4x3_add2::IfcMaterialConstituentSet::list::ptr Ifc4x3_add2::IfcMaterialConstituent::ToMaterialConstituentSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[640], 2)->as(); } @@ -12406,21 +12406,21 @@ void Ifc4x3_add2::IfcMaterialConstituent::setCategory(boost::optional< std::stri const IfcParse::entity& Ifc4x3_add2::IfcMaterialConstituent::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[639]); } const IfcParse::entity& Ifc4x3_add2::IfcMaterialConstituent::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[639]); } Ifc4x3_add2::IfcMaterialConstituent::IfcMaterialConstituent(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_add2::IfcMaterialConstituent::IfcMaterialConstituent(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcMaterial* v3_Material, boost::optional< double > v4_Fraction, boost::optional< std::string > v5_Category) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); }; populate_derived(); } +Ifc4x3_add2::IfcMaterialConstituent::IfcMaterialConstituent(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcMaterial* v3_Material, boost::optional< double > v4_Fraction, boost::optional< std::string > v5_Category) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); }; populate_derived(); } // Function implementations for IfcMaterialConstituentSet -boost::optional< std::string > Ifc4x3_add2::IfcMaterialConstituentSet::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcMaterialConstituentSet::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcMaterialConstituentSet::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add2::IfcMaterialConstituentSet::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcMaterialConstituentSet::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcMaterialConstituentSet::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcMaterialConstituent >::ptr > Ifc4x3_add2::IfcMaterialConstituentSet::MaterialConstituents() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcMaterialConstituent >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcMaterialConstituent >::ptr > Ifc4x3_add2::IfcMaterialConstituentSet::MaterialConstituents() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcMaterialConstituent >(); } void Ifc4x3_add2::IfcMaterialConstituentSet::setMaterialConstituents(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcMaterialConstituent >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_add2::IfcMaterialConstituentSet::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[640]); } const IfcParse::entity& Ifc4x3_add2::IfcMaterialConstituentSet::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[640]); } Ifc4x3_add2::IfcMaterialConstituentSet::IfcMaterialConstituentSet(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_add2::IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcMaterialConstituent >::ptr > v3_MaterialConstituents) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, (*v3_MaterialConstituents)->generalize()); }; populate_derived(); } +Ifc4x3_add2::IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcMaterialConstituent >::ptr > v3_MaterialConstituents) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, (*v3_MaterialConstituents)->generalize()); }; populate_derived(); } // Function implementations for IfcMaterialDefinition @@ -12431,32 +12431,32 @@ Ifc4x3_add2::IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optiona const IfcParse::entity& Ifc4x3_add2::IfcMaterialDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[641]); } const IfcParse::entity& Ifc4x3_add2::IfcMaterialDefinition::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[641]); } Ifc4x3_add2::IfcMaterialDefinition::IfcMaterialDefinition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcMaterialDefinition::IfcMaterialDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add2::IfcMaterialDefinition::IfcMaterialDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcMaterialDefinitionRepresentation -::Ifc4x3_add2::IfcMaterial* Ifc4x3_add2::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcMaterial>(true); } +::Ifc4x3_add2::IfcMaterial* Ifc4x3_add2::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcMaterial>(true); } void Ifc4x3_add2::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(::Ifc4x3_add2::IfcMaterial* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcMaterialDefinitionRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[642]); } const IfcParse::entity& Ifc4x3_add2::IfcMaterialDefinitionRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[642]); } Ifc4x3_add2::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(IfcEntityInstanceData&& e) : IfcProductRepresentation(std::move(e)) { } -Ifc4x3_add2::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add2::IfcRepresentation >::ptr v3_Representations, ::Ifc4x3_add2::IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());set_attribute_value(3, v4_RepresentedMaterial ? v4_RepresentedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add2::IfcRepresentation >::ptr v3_Representations, ::Ifc4x3_add2::IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());set_attribute_value(3, v4_RepresentedMaterial ? v4_RepresentedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialLayer -::Ifc4x3_add2::IfcMaterial* Ifc4x3_add2::IfcMaterialLayer::Material() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcMaterial>(true); } +::Ifc4x3_add2::IfcMaterial* Ifc4x3_add2::IfcMaterialLayer::Material() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcMaterial>(true); } void Ifc4x3_add2::IfcMaterialLayer::setMaterial(::Ifc4x3_add2::IfcMaterial* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_add2::IfcMaterialLayer::LayerThickness() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add2::IfcMaterialLayer::LayerThickness() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcMaterialLayer::setLayerThickness(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< boost::logic::tribool > Ifc4x3_add2::IfcMaterialLayer::IsVentilated() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::optional< boost::logic::tribool > Ifc4x3_add2::IfcMaterialLayer::IsVentilated() const { if(get_attribute_value(2).isNull()) { return boost::none; } boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcMaterialLayer::setIsVentilated(boost::optional< boost::logic::tribool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_add2::IfcMaterialLayer::Name() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcMaterialLayer::Name() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcMaterialLayer::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_add2::IfcMaterialLayer::Description() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcMaterialLayer::Description() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcMaterialLayer::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add2::IfcMaterialLayer::Category() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcMaterialLayer::Category() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcMaterialLayer::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< int > Ifc4x3_add2::IfcMaterialLayer::Priority() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } int v = data_.get_attribute_value(6); return v; } +boost::optional< int > Ifc4x3_add2::IfcMaterialLayer::Priority() const { if(get_attribute_value(6).isNull()) { return boost::none; } int v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcMaterialLayer::setPriority(boost::optional< int > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_add2::IfcMaterialLayerSet::list::ptr Ifc4x3_add2::IfcMaterialLayer::ToMaterialLayerSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[644], 0)->as(); } @@ -12464,74 +12464,74 @@ void Ifc4x3_add2::IfcMaterialLayer::setPriority(boost::optional< int > v) { if ( const IfcParse::entity& Ifc4x3_add2::IfcMaterialLayer::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[643]); } const IfcParse::entity& Ifc4x3_add2::IfcMaterialLayer::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[643]); } Ifc4x3_add2::IfcMaterialLayer::IfcMaterialLayer(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_add2::IfcMaterialLayer::IfcMaterialLayer(::Ifc4x3_add2::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(storage_t(7))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }; populate_derived(); } +Ifc4x3_add2::IfcMaterialLayer::IfcMaterialLayer(::Ifc4x3_add2::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(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }; populate_derived(); } // Function implementations for IfcMaterialLayerSet -aggregate_of< ::Ifc4x3_add2::IfcMaterialLayer >::ptr Ifc4x3_add2::IfcMaterialLayerSet::MaterialLayers() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcMaterialLayer >(); } +aggregate_of< ::Ifc4x3_add2::IfcMaterialLayer >::ptr Ifc4x3_add2::IfcMaterialLayerSet::MaterialLayers() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcMaterialLayer >(); } void Ifc4x3_add2::IfcMaterialLayerSet::setMaterialLayers(aggregate_of< ::Ifc4x3_add2::IfcMaterialLayer >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_add2::IfcMaterialLayerSet::LayerSetName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcMaterialLayerSet::LayerSetName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcMaterialLayerSet::setLayerSetName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_add2::IfcMaterialLayerSet::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcMaterialLayerSet::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcMaterialLayerSet::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_add2::IfcMaterialLayerSet::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[644]); } const IfcParse::entity& Ifc4x3_add2::IfcMaterialLayerSet::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[644]); } Ifc4x3_add2::IfcMaterialLayerSet::IfcMaterialLayerSet(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_add2::IfcMaterialLayerSet::IfcMaterialLayerSet(aggregate_of< ::Ifc4x3_add2::IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName, boost::optional< std::string > v3_Description) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_MaterialLayers)->generalize()); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } +Ifc4x3_add2::IfcMaterialLayerSet::IfcMaterialLayerSet(aggregate_of< ::Ifc4x3_add2::IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName, boost::optional< std::string > v3_Description) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_MaterialLayers)->generalize()); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } // Function implementations for IfcMaterialLayerSetUsage -::Ifc4x3_add2::IfcMaterialLayerSet* Ifc4x3_add2::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcMaterialLayerSet>(true); } +::Ifc4x3_add2::IfcMaterialLayerSet* Ifc4x3_add2::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcMaterialLayerSet>(true); } void Ifc4x3_add2::IfcMaterialLayerSetUsage::setForLayerSet(::Ifc4x3_add2::IfcMaterialLayerSet* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcLayerSetDirectionEnum::Value Ifc4x3_add2::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4x3_add2::IfcLayerSetDirectionEnum::FromString(data_.get_attribute_value(1)); } +::Ifc4x3_add2::IfcLayerSetDirectionEnum::Value Ifc4x3_add2::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4x3_add2::IfcLayerSetDirectionEnum::FromString(get_attribute_value(1)); } void Ifc4x3_add2::IfcMaterialLayerSetUsage::setLayerSetDirection(::Ifc4x3_add2::IfcLayerSetDirectionEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x3_add2::IfcLayerSetDirectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcDirectionSenseEnum::Value Ifc4x3_add2::IfcMaterialLayerSetUsage::DirectionSense() const { return ::Ifc4x3_add2::IfcDirectionSenseEnum::FromString(data_.get_attribute_value(2)); } +::Ifc4x3_add2::IfcDirectionSenseEnum::Value Ifc4x3_add2::IfcMaterialLayerSetUsage::DirectionSense() const { return ::Ifc4x3_add2::IfcDirectionSenseEnum::FromString(get_attribute_value(2)); } void Ifc4x3_add2::IfcMaterialLayerSetUsage::setDirectionSense(::Ifc4x3_add2::IfcDirectionSenseEnum::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3_add2::IfcDirectionSenseEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_add2::IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add2::IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcMaterialLayerSetUsage::setOffsetFromReferenceLine(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< double > Ifc4x3_add2::IfcMaterialLayerSetUsage::ReferenceExtent() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_add2::IfcMaterialLayerSetUsage::ReferenceExtent() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcMaterialLayerSetUsage::setReferenceExtent(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add2::IfcMaterialLayerSetUsage::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[645]); } const IfcParse::entity& Ifc4x3_add2::IfcMaterialLayerSetUsage::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[645]); } Ifc4x3_add2::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(IfcEntityInstanceData&& e) : IfcMaterialUsageDefinition(std::move(e)) { } -Ifc4x3_add2::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(::Ifc4x3_add2::IfcMaterialLayerSet* v1_ForLayerSet, ::Ifc4x3_add2::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_add2::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, boost::optional< double > v5_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_ForLayerSet ? v1_ForLayerSet->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add2::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add2::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); }; populate_derived(); } +Ifc4x3_add2::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(::Ifc4x3_add2::IfcMaterialLayerSet* v1_ForLayerSet, ::Ifc4x3_add2::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_add2::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, boost::optional< double > v5_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_ForLayerSet ? v1_ForLayerSet->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add2::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add2::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); }; populate_derived(); } // Function implementations for IfcMaterialLayerWithOffsets -::Ifc4x3_add2::IfcLayerSetDirectionEnum::Value Ifc4x3_add2::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4x3_add2::IfcLayerSetDirectionEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_add2::IfcLayerSetDirectionEnum::Value Ifc4x3_add2::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4x3_add2::IfcLayerSetDirectionEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add2::IfcMaterialLayerWithOffsets::setOffsetDirection(::Ifc4x3_add2::IfcLayerSetDirectionEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_add2::IfcLayerSetDirectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -std::vector< double > /*[1:2]*/ Ifc4x3_add2::IfcMaterialLayerWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = data_.get_attribute_value(8); return v; } +std::vector< double > /*[1:2]*/ Ifc4x3_add2::IfcMaterialLayerWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcMaterialLayerWithOffsets::setOffsetValues(std::vector< double > /*[1:2]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_add2::IfcMaterialLayerWithOffsets::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[646]); } const IfcParse::entity& Ifc4x3_add2::IfcMaterialLayerWithOffsets::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[646]); } Ifc4x3_add2::IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(IfcEntityInstanceData&& e) : IfcMaterialLayer(std::move(e)) { } -Ifc4x3_add2::IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(::Ifc4x3_add2::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_add2::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) : IfcMaterialLayer(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues));; populate_derived(); } +Ifc4x3_add2::IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(::Ifc4x3_add2::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_add2::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) : IfcMaterialLayer(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues));; populate_derived(); } // Function implementations for IfcMaterialList -aggregate_of< ::Ifc4x3_add2::IfcMaterial >::ptr Ifc4x3_add2::IfcMaterialList::Materials() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcMaterial >(); } +aggregate_of< ::Ifc4x3_add2::IfcMaterial >::ptr Ifc4x3_add2::IfcMaterialList::Materials() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcMaterial >(); } void Ifc4x3_add2::IfcMaterialList::setMaterials(aggregate_of< ::Ifc4x3_add2::IfcMaterial >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add2::IfcMaterialList::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[647]); } const IfcParse::entity& Ifc4x3_add2::IfcMaterialList::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[647]); } Ifc4x3_add2::IfcMaterialList::IfcMaterialList(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcMaterialList::IfcMaterialList(aggregate_of< ::Ifc4x3_add2::IfcMaterial >::ptr v1_Materials) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Materials)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcMaterialList::IfcMaterialList(aggregate_of< ::Ifc4x3_add2::IfcMaterial >::ptr v1_Materials) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Materials)->generalize());; populate_derived(); } // Function implementations for IfcMaterialProfile -boost::optional< std::string > Ifc4x3_add2::IfcMaterialProfile::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcMaterialProfile::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcMaterialProfile::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add2::IfcMaterialProfile::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcMaterialProfile::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcMaterialProfile::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_add2::IfcMaterial* Ifc4x3_add2::IfcMaterialProfile::Material() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcMaterial>(true); } +::Ifc4x3_add2::IfcMaterial* Ifc4x3_add2::IfcMaterialProfile::Material() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcMaterial>(true); } void Ifc4x3_add2::IfcMaterialProfile::setMaterial(::Ifc4x3_add2::IfcMaterial* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcProfileDef* Ifc4x3_add2::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcProfileDef>(true); } +::Ifc4x3_add2::IfcProfileDef* Ifc4x3_add2::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcProfileDef>(true); } void Ifc4x3_add2::IfcMaterialProfile::setProfile(::Ifc4x3_add2::IfcProfileDef* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< int > Ifc4x3_add2::IfcMaterialProfile::Priority() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x3_add2::IfcMaterialProfile::Priority() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcMaterialProfile::setPriority(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add2::IfcMaterialProfile::Category() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcMaterialProfile::Category() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcMaterialProfile::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x3_add2::IfcMaterialProfileSet::list::ptr Ifc4x3_add2::IfcMaterialProfile::ToMaterialProfileSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[649], 2)->as(); } @@ -12539,83 +12539,83 @@ void Ifc4x3_add2::IfcMaterialProfile::setCategory(boost::optional< std::string > const IfcParse::entity& Ifc4x3_add2::IfcMaterialProfile::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[648]); } const IfcParse::entity& Ifc4x3_add2::IfcMaterialProfile::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[648]); } Ifc4x3_add2::IfcMaterialProfile::IfcMaterialProfile(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_add2::IfcMaterialProfile::IfcMaterialProfile(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcMaterial* v3_Material, ::Ifc4x3_add2::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }; populate_derived(); } +Ifc4x3_add2::IfcMaterialProfile::IfcMaterialProfile(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcMaterial* v3_Material, ::Ifc4x3_add2::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }; populate_derived(); } // Function implementations for IfcMaterialProfileSet -boost::optional< std::string > Ifc4x3_add2::IfcMaterialProfileSet::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcMaterialProfileSet::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcMaterialProfileSet::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add2::IfcMaterialProfileSet::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcMaterialProfileSet::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcMaterialProfileSet::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3_add2::IfcMaterialProfile >::ptr Ifc4x3_add2::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcMaterialProfile >(); } +aggregate_of< ::Ifc4x3_add2::IfcMaterialProfile >::ptr Ifc4x3_add2::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcMaterialProfile >(); } void Ifc4x3_add2::IfcMaterialProfileSet::setMaterialProfiles(aggregate_of< ::Ifc4x3_add2::IfcMaterialProfile >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcCompositeProfileDef* Ifc4x3_add2::IfcMaterialProfileSet::CompositeProfile() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcCompositeProfileDef>(true); } +::Ifc4x3_add2::IfcCompositeProfileDef* Ifc4x3_add2::IfcMaterialProfileSet::CompositeProfile() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcCompositeProfileDef>(true); } void Ifc4x3_add2::IfcMaterialProfileSet::setCompositeProfile(::Ifc4x3_add2::IfcCompositeProfileDef* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcMaterialProfileSet::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[649]); } const IfcParse::entity& Ifc4x3_add2::IfcMaterialProfileSet::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[649]); } Ifc4x3_add2::IfcMaterialProfileSet::IfcMaterialProfileSet(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_add2::IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add2::IfcMaterialProfile >::ptr v3_MaterialProfiles, ::Ifc4x3_add2::IfcCompositeProfileDef* v4_CompositeProfile) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_MaterialProfiles)->generalize());set_attribute_value(3, v4_CompositeProfile ? v4_CompositeProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add2::IfcMaterialProfile >::ptr v3_MaterialProfiles, ::Ifc4x3_add2::IfcCompositeProfileDef* v4_CompositeProfile) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_MaterialProfiles)->generalize());set_attribute_value(3, v4_CompositeProfile ? v4_CompositeProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialProfileSetUsage -::Ifc4x3_add2::IfcMaterialProfileSet* Ifc4x3_add2::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcMaterialProfileSet>(true); } +::Ifc4x3_add2::IfcMaterialProfileSet* Ifc4x3_add2::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcMaterialProfileSet>(true); } void Ifc4x3_add2::IfcMaterialProfileSetUsage::setForProfileSet(::Ifc4x3_add2::IfcMaterialProfileSet* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< int > Ifc4x3_add2::IfcMaterialProfileSetUsage::CardinalPoint() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } int v = data_.get_attribute_value(1); return v; } +boost::optional< int > Ifc4x3_add2::IfcMaterialProfileSetUsage::CardinalPoint() const { if(get_attribute_value(1).isNull()) { return boost::none; } int v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcMaterialProfileSetUsage::setCardinalPoint(boost::optional< int > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_add2::IfcMaterialProfileSetUsage::ReferenceExtent() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add2::IfcMaterialProfileSetUsage::ReferenceExtent() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcMaterialProfileSetUsage::setReferenceExtent(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_add2::IfcMaterialProfileSetUsage::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[650]); } const IfcParse::entity& Ifc4x3_add2::IfcMaterialProfileSetUsage::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[650]); } Ifc4x3_add2::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(IfcEntityInstanceData&& e) : IfcMaterialUsageDefinition(std::move(e)) { } -Ifc4x3_add2::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4x3_add2::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }; populate_derived(); } +Ifc4x3_add2::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4x3_add2::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }; populate_derived(); } // Function implementations for IfcMaterialProfileSetUsageTapering -::Ifc4x3_add2::IfcMaterialProfileSet* Ifc4x3_add2::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcMaterialProfileSet>(true); } +::Ifc4x3_add2::IfcMaterialProfileSet* Ifc4x3_add2::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcMaterialProfileSet>(true); } void Ifc4x3_add2::IfcMaterialProfileSetUsageTapering::setForProfileEndSet(::Ifc4x3_add2::IfcMaterialProfileSet* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< int > Ifc4x3_add2::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x3_add2::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add2::IfcMaterialProfileSetUsageTapering::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[651]); } const IfcParse::entity& Ifc4x3_add2::IfcMaterialProfileSetUsageTapering::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[651]); } Ifc4x3_add2::IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(IfcEntityInstanceData&& e) : IfcMaterialProfileSetUsage(std::move(e)) { } -Ifc4x3_add2::IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(::Ifc4x3_add2::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent, ::Ifc4x3_add2::IfcMaterialProfileSet* v4_ForProfileEndSet, boost::optional< int > v5_CardinalEndPoint) : IfcMaterialProfileSetUsage(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, v4_ForProfileEndSet ? v4_ForProfileEndSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); }; populate_derived(); } +Ifc4x3_add2::IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(::Ifc4x3_add2::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent, ::Ifc4x3_add2::IfcMaterialProfileSet* v4_ForProfileEndSet, boost::optional< int > v5_CardinalEndPoint) : IfcMaterialProfileSetUsage(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, v4_ForProfileEndSet ? v4_ForProfileEndSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); }; populate_derived(); } // Function implementations for IfcMaterialProfileWithOffsets -std::vector< double > /*[1:2]*/ Ifc4x3_add2::IfcMaterialProfileWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = data_.get_attribute_value(6); return v; } +std::vector< double > /*[1:2]*/ Ifc4x3_add2::IfcMaterialProfileWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcMaterialProfileWithOffsets::setOffsetValues(std::vector< double > /*[1:2]*/ v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add2::IfcMaterialProfileWithOffsets::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[652]); } const IfcParse::entity& Ifc4x3_add2::IfcMaterialProfileWithOffsets::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[652]); } Ifc4x3_add2::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(IfcEntityInstanceData&& e) : IfcMaterialProfile(std::move(e)) { } -Ifc4x3_add2::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcMaterial* v3_Material, ::Ifc4x3_add2::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) : IfcMaterialProfile(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues));; populate_derived(); } +Ifc4x3_add2::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcMaterial* v3_Material, ::Ifc4x3_add2::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) : IfcMaterialProfile(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues));; populate_derived(); } // Function implementations for IfcMaterialProperties -::Ifc4x3_add2::IfcMaterialDefinition* Ifc4x3_add2::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcMaterialDefinition>(true); } +::Ifc4x3_add2::IfcMaterialDefinition* Ifc4x3_add2::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcMaterialDefinition>(true); } void Ifc4x3_add2::IfcMaterialProperties::setMaterial(::Ifc4x3_add2::IfcMaterialDefinition* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcMaterialProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[653]); } const IfcParse::entity& Ifc4x3_add2::IfcMaterialProperties::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[653]); } Ifc4x3_add2::IfcMaterialProperties::IfcMaterialProperties(IfcEntityInstanceData&& e) : IfcExtendedProperties(std::move(e)) { } -Ifc4x3_add2::IfcMaterialProperties::IfcMaterialProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add2::IfcProperty >::ptr v3_Properties, ::Ifc4x3_add2::IfcMaterialDefinition* v4_Material) : IfcExtendedProperties(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_Material ? v4_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcMaterialProperties::IfcMaterialProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add2::IfcProperty >::ptr v3_Properties, ::Ifc4x3_add2::IfcMaterialDefinition* v4_Material) : IfcExtendedProperties(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_Material ? v4_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialRelationship -::Ifc4x3_add2::IfcMaterial* Ifc4x3_add2::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcMaterial>(true); } +::Ifc4x3_add2::IfcMaterial* Ifc4x3_add2::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcMaterial>(true); } void Ifc4x3_add2::IfcMaterialRelationship::setRelatingMaterial(::Ifc4x3_add2::IfcMaterial* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_add2::IfcMaterial >::ptr Ifc4x3_add2::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_add2::IfcMaterial >(); } +aggregate_of< ::Ifc4x3_add2::IfcMaterial >::ptr Ifc4x3_add2::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_add2::IfcMaterial >(); } void Ifc4x3_add2::IfcMaterialRelationship::setRelatedMaterials(aggregate_of< ::Ifc4x3_add2::IfcMaterial >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_add2::IfcMaterialRelationship::MaterialExpression() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcMaterialRelationship::MaterialExpression() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcMaterialRelationship::setMaterialExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add2::IfcMaterialRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[654]); } const IfcParse::entity& Ifc4x3_add2::IfcMaterialRelationship::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[654]); } Ifc4x3_add2::IfcMaterialRelationship::IfcMaterialRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_add2::IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcMaterial* v3_RelatingMaterial, aggregate_of< ::Ifc4x3_add2::IfcMaterial >::ptr v4_RelatedMaterials, boost::optional< std::string > v5_MaterialExpression) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMaterial ? v3_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedMaterials)->generalize()); if (v5_MaterialExpression) {set_attribute_value(4, (*v5_MaterialExpression)); }; populate_derived(); } +Ifc4x3_add2::IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcMaterial* v3_RelatingMaterial, aggregate_of< ::Ifc4x3_add2::IfcMaterial >::ptr v4_RelatedMaterials, boost::optional< std::string > v5_MaterialExpression) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMaterial ? v3_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedMaterials)->generalize()); if (v5_MaterialExpression) {set_attribute_value(4, (*v5_MaterialExpression)); }; populate_derived(); } // Function implementations for IfcMaterialUsageDefinition @@ -12624,103 +12624,103 @@ Ifc4x3_add2::IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< s const IfcParse::entity& Ifc4x3_add2::IfcMaterialUsageDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[656]); } const IfcParse::entity& Ifc4x3_add2::IfcMaterialUsageDefinition::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[656]); } Ifc4x3_add2::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add2::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcMeasureWithUnit -::Ifc4x3_add2::IfcValue* Ifc4x3_add2::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcValue>(true); } +::Ifc4x3_add2::IfcValue* Ifc4x3_add2::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcValue>(true); } void Ifc4x3_add2::IfcMeasureWithUnit::setValueComponent(::Ifc4x3_add2::IfcValue* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcUnit* Ifc4x3_add2::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcUnit>(true); } +::Ifc4x3_add2::IfcUnit* Ifc4x3_add2::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcUnit>(true); } void Ifc4x3_add2::IfcMeasureWithUnit::setUnitComponent(::Ifc4x3_add2::IfcUnit* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcMeasureWithUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[658]); } const IfcParse::entity& Ifc4x3_add2::IfcMeasureWithUnit::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[658]); } Ifc4x3_add2::IfcMeasureWithUnit::IfcMeasureWithUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcMeasureWithUnit::IfcMeasureWithUnit(::Ifc4x3_add2::IfcValue* v1_ValueComponent, ::Ifc4x3_add2::IfcUnit* v2_UnitComponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_ValueComponent ? v1_ValueComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_UnitComponent ? v2_UnitComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcMeasureWithUnit::IfcMeasureWithUnit(::Ifc4x3_add2::IfcValue* v1_ValueComponent, ::Ifc4x3_add2::IfcUnit* v2_UnitComponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_ValueComponent ? v1_ValueComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_UnitComponent ? v2_UnitComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMechanicalFastener -boost::optional< double > Ifc4x3_add2::IfcMechanicalFastener::NominalDiameter() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_add2::IfcMechanicalFastener::NominalDiameter() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcMechanicalFastener::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_add2::IfcMechanicalFastener::NominalLength() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_add2::IfcMechanicalFastener::NominalLength() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_add2::IfcMechanicalFastener::setNominalLength(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::Value > Ifc4x3_add2::IfcMechanicalFastener::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::Value > Ifc4x3_add2::IfcMechanicalFastener::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add2::IfcMechanicalFastener::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add2::IfcMechanicalFastener::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[659]); } const IfcParse::entity& Ifc4x3_add2::IfcMechanicalFastener::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[659]); } Ifc4x3_add2::IfcMechanicalFastener::IfcMechanicalFastener(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_add2::IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength, boost::optional< ::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength, boost::optional< ::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMechanicalFastenerType -::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_add2::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_add2::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcMechanicalFastenerType::setPredefinedType(::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3_add2::IfcMechanicalFastenerType::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_add2::IfcMechanicalFastenerType::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_add2::IfcMechanicalFastenerType::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_add2::IfcMechanicalFastenerType::NominalLength() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_add2::IfcMechanicalFastenerType::NominalLength() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_add2::IfcMechanicalFastenerType::setNominalLength(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x3_add2::IfcMechanicalFastenerType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[660]); } const IfcParse::entity& Ifc4x3_add2::IfcMechanicalFastenerType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[660]); } Ifc4x3_add2::IfcMechanicalFastenerType::IfcMechanicalFastenerType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_add2::IfcMechanicalFastenerType::IfcMechanicalFastenerType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_NominalLength) : IfcElementComponentType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); }; populate_derived(); } +Ifc4x3_add2::IfcMechanicalFastenerType::IfcMechanicalFastenerType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_NominalLength) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); }; populate_derived(); } // Function implementations for IfcMedicalDevice -boost::optional< ::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Value > Ifc4x3_add2::IfcMedicalDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Value > Ifc4x3_add2::IfcMedicalDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcMedicalDevice::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcMedicalDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[662]); } const IfcParse::entity& Ifc4x3_add2::IfcMedicalDevice::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[662]); } Ifc4x3_add2::IfcMedicalDevice::IfcMedicalDevice(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_add2::IfcMedicalDevice::IfcMedicalDevice(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcMedicalDevice::IfcMedicalDevice(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMedicalDeviceType -::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Value Ifc4x3_add2::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Value Ifc4x3_add2::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcMedicalDeviceType::setPredefinedType(::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcMedicalDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[663]); } const IfcParse::entity& Ifc4x3_add2::IfcMedicalDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[663]); } Ifc4x3_add2::IfcMedicalDeviceType::IfcMedicalDeviceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_add2::IfcMedicalDeviceType::IfcMedicalDeviceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcMedicalDeviceType::IfcMedicalDeviceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMember -boost::optional< ::Ifc4x3_add2::IfcMemberTypeEnum::Value > Ifc4x3_add2::IfcMember::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcMemberTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcMemberTypeEnum::Value > Ifc4x3_add2::IfcMember::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcMemberTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcMember::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcMemberTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcMemberTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcMember::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[665]); } const IfcParse::entity& Ifc4x3_add2::IfcMember::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[665]); } Ifc4x3_add2::IfcMember::IfcMember(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add2::IfcMember::IfcMember(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcMemberTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcMember::IfcMember(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcMemberTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMemberType -::Ifc4x3_add2::IfcMemberTypeEnum::Value Ifc4x3_add2::IfcMemberType::PredefinedType() const { return ::Ifc4x3_add2::IfcMemberTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcMemberTypeEnum::Value Ifc4x3_add2::IfcMemberType::PredefinedType() const { return ::Ifc4x3_add2::IfcMemberTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcMemberType::setPredefinedType(::Ifc4x3_add2::IfcMemberTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcMemberType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[666]); } const IfcParse::entity& Ifc4x3_add2::IfcMemberType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[666]); } Ifc4x3_add2::IfcMemberType::IfcMemberType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add2::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMemberTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMemberTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMetric -::Ifc4x3_add2::IfcBenchmarkEnum::Value Ifc4x3_add2::IfcMetric::Benchmark() const { return ::Ifc4x3_add2::IfcBenchmarkEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_add2::IfcBenchmarkEnum::Value Ifc4x3_add2::IfcMetric::Benchmark() const { return ::Ifc4x3_add2::IfcBenchmarkEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add2::IfcMetric::setBenchmark(::Ifc4x3_add2::IfcBenchmarkEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_add2::IfcBenchmarkEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc4x3_add2::IfcMetric::ValueSource() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcMetric::ValueSource() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcMetric::setValueSource(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_add2::IfcMetricValueSelect* Ifc4x3_add2::IfcMetric::DataValue() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_add2::IfcMetricValueSelect>(true); } +::Ifc4x3_add2::IfcMetricValueSelect* Ifc4x3_add2::IfcMetric::DataValue() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_add2::IfcMetricValueSelect>(true); } void Ifc4x3_add2::IfcMetric::setDataValue(::Ifc4x3_add2::IfcMetricValueSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_add2::IfcReference* Ifc4x3_add2::IfcMetric::ReferencePath() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_add2::IfcReference>(true); } +::Ifc4x3_add2::IfcReference* Ifc4x3_add2::IfcMetric::ReferencePath() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_add2::IfcReference>(true); } void Ifc4x3_add2::IfcMetric::setReferencePath(::Ifc4x3_add2::IfcReference* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_add2::IfcMetric::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[668]); } const IfcParse::entity& Ifc4x3_add2::IfcMetric::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[668]); } Ifc4x3_add2::IfcMetric::IfcMetric(IfcEntityInstanceData&& e) : IfcConstraint(std::move(e)) { } -Ifc4x3_add2::IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add2::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_add2::IfcBenchmarkEnum::Value v8_Benchmark, boost::optional< std::string > v9_ValueSource, ::Ifc4x3_add2::IfcMetricValueSelect* v10_DataValue, ::Ifc4x3_add2::IfcReference* v11_ReferencePath) : IfcConstraint(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, v10_DataValue ? v10_DataValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ReferencePath ? v11_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add2::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_add2::IfcBenchmarkEnum::Value v8_Benchmark, boost::optional< std::string > v9_ValueSource, ::Ifc4x3_add2::IfcMetricValueSelect* v10_DataValue, ::Ifc4x3_add2::IfcReference* v11_ReferencePath) : IfcConstraint(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, v10_DataValue ? v10_DataValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ReferencePath ? v11_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMirroredProfileDef @@ -12728,112 +12728,112 @@ Ifc4x3_add2::IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::str const IfcParse::entity& Ifc4x3_add2::IfcMirroredProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[670]); } const IfcParse::entity& Ifc4x3_add2::IfcMirroredProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[670]); } Ifc4x3_add2::IfcMirroredProfileDef::IfcMirroredProfileDef(IfcEntityInstanceData&& e) : IfcDerivedProfileDef(std::move(e)) { } -Ifc4x3_add2::IfcMirroredProfileDef::IfcMirroredProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcProfileDef* v3_ParentProfile, boost::optional< std::string > v5_Label) : IfcDerivedProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } +Ifc4x3_add2::IfcMirroredProfileDef::IfcMirroredProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcProfileDef* v3_ParentProfile, boost::optional< std::string > v5_Label) : IfcDerivedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } // Function implementations for IfcMobileTelecommunicationsAppliance -boost::optional< ::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Value > Ifc4x3_add2::IfcMobileTelecommunicationsAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Value > Ifc4x3_add2::IfcMobileTelecommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcMobileTelecommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcMobileTelecommunicationsAppliance::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[671]); } const IfcParse::entity& Ifc4x3_add2::IfcMobileTelecommunicationsAppliance::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[671]); } Ifc4x3_add2::IfcMobileTelecommunicationsAppliance::IfcMobileTelecommunicationsAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_add2::IfcMobileTelecommunicationsAppliance::IfcMobileTelecommunicationsAppliance(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcMobileTelecommunicationsAppliance::IfcMobileTelecommunicationsAppliance(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMobileTelecommunicationsApplianceType -::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3_add2::IfcMobileTelecommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3_add2::IfcMobileTelecommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcMobileTelecommunicationsApplianceType::setPredefinedType(::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcMobileTelecommunicationsApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[672]); } const IfcParse::entity& Ifc4x3_add2::IfcMobileTelecommunicationsApplianceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[672]); } Ifc4x3_add2::IfcMobileTelecommunicationsApplianceType::IfcMobileTelecommunicationsApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_add2::IfcMobileTelecommunicationsApplianceType::IfcMobileTelecommunicationsApplianceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcMobileTelecommunicationsApplianceType::IfcMobileTelecommunicationsApplianceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMonetaryUnit -std::string Ifc4x3_add2::IfcMonetaryUnit::Currency() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_add2::IfcMonetaryUnit::Currency() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcMonetaryUnit::setCurrency(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add2::IfcMonetaryUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[685]); } const IfcParse::entity& Ifc4x3_add2::IfcMonetaryUnit::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[685]); } Ifc4x3_add2::IfcMonetaryUnit::IfcMonetaryUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcMonetaryUnit::IfcMonetaryUnit(std::string v1_Currency) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Currency));; populate_derived(); } +Ifc4x3_add2::IfcMonetaryUnit::IfcMonetaryUnit(std::string v1_Currency) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Currency));; populate_derived(); } // Function implementations for IfcMooringDevice -boost::optional< ::Ifc4x3_add2::IfcMooringDeviceTypeEnum::Value > Ifc4x3_add2::IfcMooringDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcMooringDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcMooringDeviceTypeEnum::Value > Ifc4x3_add2::IfcMooringDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcMooringDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcMooringDevice::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcMooringDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcMooringDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcMooringDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[687]); } const IfcParse::entity& Ifc4x3_add2::IfcMooringDevice::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[687]); } Ifc4x3_add2::IfcMooringDevice::IfcMooringDevice(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add2::IfcMooringDevice::IfcMooringDevice(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcMooringDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcMooringDevice::IfcMooringDevice(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcMooringDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMooringDeviceType -::Ifc4x3_add2::IfcMooringDeviceTypeEnum::Value Ifc4x3_add2::IfcMooringDeviceType::PredefinedType() const { return ::Ifc4x3_add2::IfcMooringDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcMooringDeviceTypeEnum::Value Ifc4x3_add2::IfcMooringDeviceType::PredefinedType() const { return ::Ifc4x3_add2::IfcMooringDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcMooringDeviceType::setPredefinedType(::Ifc4x3_add2::IfcMooringDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcMooringDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcMooringDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[688]); } const IfcParse::entity& Ifc4x3_add2::IfcMooringDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[688]); } Ifc4x3_add2::IfcMooringDeviceType::IfcMooringDeviceType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add2::IfcMooringDeviceType::IfcMooringDeviceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMooringDeviceTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcMooringDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcMooringDeviceType::IfcMooringDeviceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMooringDeviceTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcMooringDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMotorConnection -boost::optional< ::Ifc4x3_add2::IfcMotorConnectionTypeEnum::Value > Ifc4x3_add2::IfcMotorConnection::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcMotorConnectionTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcMotorConnectionTypeEnum::Value > Ifc4x3_add2::IfcMotorConnection::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcMotorConnection::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcMotorConnectionTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcMotorConnectionTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcMotorConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[690]); } const IfcParse::entity& Ifc4x3_add2::IfcMotorConnection::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[690]); } Ifc4x3_add2::IfcMotorConnection::IfcMotorConnection(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add2::IfcMotorConnection::IfcMotorConnection(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcMotorConnection::IfcMotorConnection(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMotorConnectionType -::Ifc4x3_add2::IfcMotorConnectionTypeEnum::Value Ifc4x3_add2::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4x3_add2::IfcMotorConnectionTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcMotorConnectionTypeEnum::Value Ifc4x3_add2::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4x3_add2::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcMotorConnectionType::setPredefinedType(::Ifc4x3_add2::IfcMotorConnectionTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcMotorConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcMotorConnectionType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[691]); } const IfcParse::entity& Ifc4x3_add2::IfcMotorConnectionType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[691]); } Ifc4x3_add2::IfcMotorConnectionType::IfcMotorConnectionType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add2::IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcNamedUnit -::Ifc4x3_add2::IfcDimensionalExponents* Ifc4x3_add2::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcDimensionalExponents>(true); } +::Ifc4x3_add2::IfcDimensionalExponents* Ifc4x3_add2::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcDimensionalExponents>(true); } void Ifc4x3_add2::IfcNamedUnit::setDimensions(::Ifc4x3_add2::IfcDimensionalExponents* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcUnitEnum::Value Ifc4x3_add2::IfcNamedUnit::UnitType() const { return ::Ifc4x3_add2::IfcUnitEnum::FromString(data_.get_attribute_value(1)); } +::Ifc4x3_add2::IfcUnitEnum::Value Ifc4x3_add2::IfcNamedUnit::UnitType() const { return ::Ifc4x3_add2::IfcUnitEnum::FromString(get_attribute_value(1)); } void Ifc4x3_add2::IfcNamedUnit::setUnitType(::Ifc4x3_add2::IfcUnitEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x3_add2::IfcUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcNamedUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[693]); } const IfcParse::entity& Ifc4x3_add2::IfcNamedUnit::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[693]); } Ifc4x3_add2::IfcNamedUnit::IfcNamedUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcNamedUnit::IfcNamedUnit(::Ifc4x3_add2::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_add2::IfcUnitEnum::Value v2_UnitType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; populate_derived(); } +Ifc4x3_add2::IfcNamedUnit::IfcNamedUnit(::Ifc4x3_add2::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_add2::IfcUnitEnum::Value v2_UnitType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; populate_derived(); } // Function implementations for IfcNavigationElement -boost::optional< ::Ifc4x3_add2::IfcNavigationElementTypeEnum::Value > Ifc4x3_add2::IfcNavigationElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcNavigationElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcNavigationElementTypeEnum::Value > Ifc4x3_add2::IfcNavigationElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcNavigationElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcNavigationElement::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcNavigationElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcNavigationElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcNavigationElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[694]); } const IfcParse::entity& Ifc4x3_add2::IfcNavigationElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[694]); } Ifc4x3_add2::IfcNavigationElement::IfcNavigationElement(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add2::IfcNavigationElement::IfcNavigationElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcNavigationElementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcNavigationElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcNavigationElement::IfcNavigationElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcNavigationElementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcNavigationElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcNavigationElementType -::Ifc4x3_add2::IfcNavigationElementTypeEnum::Value Ifc4x3_add2::IfcNavigationElementType::PredefinedType() const { return ::Ifc4x3_add2::IfcNavigationElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcNavigationElementTypeEnum::Value Ifc4x3_add2::IfcNavigationElementType::PredefinedType() const { return ::Ifc4x3_add2::IfcNavigationElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcNavigationElementType::setPredefinedType(::Ifc4x3_add2::IfcNavigationElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcNavigationElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcNavigationElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[695]); } const IfcParse::entity& Ifc4x3_add2::IfcNavigationElementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[695]); } Ifc4x3_add2::IfcNavigationElementType::IfcNavigationElementType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add2::IfcNavigationElementType::IfcNavigationElementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcNavigationElementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcNavigationElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcNavigationElementType::IfcNavigationElementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcNavigationElementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcNavigationElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcObject -boost::optional< std::string > Ifc4x3_add2::IfcObject::ObjectType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcObject::ObjectType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcObject::setObjectType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } ::Ifc4x3_add2::IfcRelDefinesByObject::list::ptr Ifc4x3_add2::IfcObject::IsDeclaredBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[932], 4)->as(); } @@ -12844,7 +12844,7 @@ void Ifc4x3_add2::IfcObject::setObjectType(boost::optional< std::string > v) { i const IfcParse::entity& Ifc4x3_add2::IfcObject::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[700]); } const IfcParse::entity& Ifc4x3_add2::IfcObject::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[700]); } Ifc4x3_add2::IfcObject::IfcObject(IfcEntityInstanceData&& e) : IfcObjectDefinition(std::move(e)) { } -Ifc4x3_add2::IfcObject::IfcObject(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObjectDefinition(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc4x3_add2::IfcObject::IfcObject(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObjectDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcObjectDefinition @@ -12859,10 +12859,10 @@ Ifc4x3_add2::IfcObject::IfcObject(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwn const IfcParse::entity& Ifc4x3_add2::IfcObjectDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[701]); } const IfcParse::entity& Ifc4x3_add2::IfcObjectDefinition::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[701]); } Ifc4x3_add2::IfcObjectDefinition::IfcObjectDefinition(IfcEntityInstanceData&& e) : IfcRoot(std::move(e)) { } -Ifc4x3_add2::IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_add2::IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcObjectPlacement -::Ifc4x3_add2::IfcObjectPlacement* Ifc4x3_add2::IfcObjectPlacement::PlacementRelTo() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcObjectPlacement>(true); } +::Ifc4x3_add2::IfcObjectPlacement* Ifc4x3_add2::IfcObjectPlacement::PlacementRelTo() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcObjectPlacement>(true); } void Ifc4x3_add2::IfcObjectPlacement::setPlacementRelTo(::Ifc4x3_add2::IfcObjectPlacement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_add2::IfcProduct::list::ptr Ifc4x3_add2::IfcObjectPlacement::PlacesObject() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[800], 5)->as(); } @@ -12871,99 +12871,99 @@ void Ifc4x3_add2::IfcObjectPlacement::setPlacementRelTo(::Ifc4x3_add2::IfcObject const IfcParse::entity& Ifc4x3_add2::IfcObjectPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[704]); } const IfcParse::entity& Ifc4x3_add2::IfcObjectPlacement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[704]); } Ifc4x3_add2::IfcObjectPlacement::IfcObjectPlacement(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcObjectPlacement::IfcObjectPlacement(::Ifc4x3_add2::IfcObjectPlacement* v1_PlacementRelTo) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcObjectPlacement::IfcObjectPlacement(::Ifc4x3_add2::IfcObjectPlacement* v1_PlacementRelTo) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcObjective -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcConstraint >::ptr > Ifc4x3_add2::IfcObjective::BenchmarkValues() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_add2::IfcConstraint >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcConstraint >::ptr > Ifc4x3_add2::IfcObjective::BenchmarkValues() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_add2::IfcConstraint >(); } void Ifc4x3_add2::IfcObjective::setBenchmarkValues(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcConstraint >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3_add2::IfcLogicalOperatorEnum::Value > Ifc4x3_add2::IfcObjective::LogicalAggregator() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcLogicalOperatorEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcLogicalOperatorEnum::Value > Ifc4x3_add2::IfcObjective::LogicalAggregator() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcLogicalOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcObjective::setLogicalAggregator(boost::optional< ::Ifc4x3_add2::IfcLogicalOperatorEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcLogicalOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -::Ifc4x3_add2::IfcObjectiveEnum::Value Ifc4x3_add2::IfcObjective::ObjectiveQualifier() const { return ::Ifc4x3_add2::IfcObjectiveEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcObjectiveEnum::Value Ifc4x3_add2::IfcObjective::ObjectiveQualifier() const { return ::Ifc4x3_add2::IfcObjectiveEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcObjective::setObjectiveQualifier(::Ifc4x3_add2::IfcObjectiveEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcObjectiveEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3_add2::IfcObjective::UserDefinedQualifier() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcObjective::UserDefinedQualifier() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_add2::IfcObjective::setUserDefinedQualifier(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add2::IfcObjective::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[702]); } const IfcParse::entity& Ifc4x3_add2::IfcObjective::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[702]); } Ifc4x3_add2::IfcObjective::IfcObjective(IfcEntityInstanceData&& e) : IfcConstraint(std::move(e)) { } -Ifc4x3_add2::IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add2::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcConstraint >::ptr > v8_BenchmarkValues, boost::optional< ::Ifc4x3_add2::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_add2::IfcObjectiveEnum::Value v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier) : IfcConstraint(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, (*v8_BenchmarkValues)->generalize()); } if (v9_LogicalAggregator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; populate_derived(); } +Ifc4x3_add2::IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_add2::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcConstraint >::ptr > v8_BenchmarkValues, boost::optional< ::Ifc4x3_add2::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_add2::IfcObjectiveEnum::Value v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier) : IfcConstraint(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, (*v8_BenchmarkValues)->generalize()); } if (v9_LogicalAggregator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; populate_derived(); } // Function implementations for IfcOccupant -boost::optional< ::Ifc4x3_add2::IfcOccupantTypeEnum::Value > Ifc4x3_add2::IfcOccupant::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcOccupantTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_add2::IfcOccupantTypeEnum::Value > Ifc4x3_add2::IfcOccupant::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcOccupantTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_add2::IfcOccupant::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcOccupantTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_add2::IfcOccupantTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_add2::IfcOccupant::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[706]); } const IfcParse::entity& Ifc4x3_add2::IfcOccupant::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[706]); } Ifc4x3_add2::IfcOccupant::IfcOccupant(IfcEntityInstanceData&& e) : IfcActor(std::move(e)) { } -Ifc4x3_add2::IfcOccupant::IfcOccupant(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcActorSelect* v6_TheActor, boost::optional< ::Ifc4x3_add2::IfcOccupantTypeEnum::Value > v7_PredefinedType) : IfcActor(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add2::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcOccupant::IfcOccupant(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcActorSelect* v6_TheActor, boost::optional< ::Ifc4x3_add2::IfcOccupantTypeEnum::Value > v7_PredefinedType) : IfcActor(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add2::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOffsetCurve -::Ifc4x3_add2::IfcCurve* Ifc4x3_add2::IfcOffsetCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCurve>(true); } +::Ifc4x3_add2::IfcCurve* Ifc4x3_add2::IfcOffsetCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCurve>(true); } void Ifc4x3_add2::IfcOffsetCurve::setBasisCurve(::Ifc4x3_add2::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add2::IfcOffsetCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[708]); } const IfcParse::entity& Ifc4x3_add2::IfcOffsetCurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[708]); } Ifc4x3_add2::IfcOffsetCurve::IfcOffsetCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_add2::IfcOffsetCurve::IfcOffsetCurve(::Ifc4x3_add2::IfcCurve* v1_BasisCurve) : IfcCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcOffsetCurve::IfcOffsetCurve(::Ifc4x3_add2::IfcCurve* v1_BasisCurve) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcOffsetCurve2D -double Ifc4x3_add2::IfcOffsetCurve2D::Distance() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add2::IfcOffsetCurve2D::Distance() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcOffsetCurve2D::setDistance(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::logic::tribool Ifc4x3_add2::IfcOffsetCurve2D::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::logic::tribool Ifc4x3_add2::IfcOffsetCurve2D::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcOffsetCurve2D::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcOffsetCurve2D::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[709]); } const IfcParse::entity& Ifc4x3_add2::IfcOffsetCurve2D::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[709]); } Ifc4x3_add2::IfcOffsetCurve2D::IfcOffsetCurve2D(IfcEntityInstanceData&& e) : IfcOffsetCurve(std::move(e)) { } -Ifc4x3_add2::IfcOffsetCurve2D::IfcOffsetCurve2D(::Ifc4x3_add2::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) : IfcOffsetCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; populate_derived(); } +Ifc4x3_add2::IfcOffsetCurve2D::IfcOffsetCurve2D(::Ifc4x3_add2::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) : IfcOffsetCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; populate_derived(); } // Function implementations for IfcOffsetCurve3D -double Ifc4x3_add2::IfcOffsetCurve3D::Distance() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add2::IfcOffsetCurve3D::Distance() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcOffsetCurve3D::setDistance(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::logic::tribool Ifc4x3_add2::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::logic::tribool Ifc4x3_add2::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcOffsetCurve3D::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcDirection>(true); } +::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcDirection>(true); } void Ifc4x3_add2::IfcOffsetCurve3D::setRefDirection(::Ifc4x3_add2::IfcDirection* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcOffsetCurve3D::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[710]); } const IfcParse::entity& Ifc4x3_add2::IfcOffsetCurve3D::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[710]); } Ifc4x3_add2::IfcOffsetCurve3D::IfcOffsetCurve3D(IfcEntityInstanceData&& e) : IfcOffsetCurve(std::move(e)) { } -Ifc4x3_add2::IfcOffsetCurve3D::IfcOffsetCurve3D(::Ifc4x3_add2::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_add2::IfcDirection* v4_RefDirection) : IfcOffsetCurve(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, v4_RefDirection ? v4_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcOffsetCurve3D::IfcOffsetCurve3D(::Ifc4x3_add2::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_add2::IfcDirection* v4_RefDirection) : IfcOffsetCurve(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, v4_RefDirection ? v4_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcOffsetCurveByDistances -aggregate_of< ::Ifc4x3_add2::IfcPointByDistanceExpression >::ptr Ifc4x3_add2::IfcOffsetCurveByDistances::OffsetValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcPointByDistanceExpression >(); } +aggregate_of< ::Ifc4x3_add2::IfcPointByDistanceExpression >::ptr Ifc4x3_add2::IfcOffsetCurveByDistances::OffsetValues() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcPointByDistanceExpression >(); } void Ifc4x3_add2::IfcOffsetCurveByDistances::setOffsetValues(aggregate_of< ::Ifc4x3_add2::IfcPointByDistanceExpression >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_add2::IfcOffsetCurveByDistances::Tag() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcOffsetCurveByDistances::Tag() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcOffsetCurveByDistances::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_add2::IfcOffsetCurveByDistances::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[711]); } const IfcParse::entity& Ifc4x3_add2::IfcOffsetCurveByDistances::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[711]); } Ifc4x3_add2::IfcOffsetCurveByDistances::IfcOffsetCurveByDistances(IfcEntityInstanceData&& e) : IfcOffsetCurve(std::move(e)) { } -Ifc4x3_add2::IfcOffsetCurveByDistances::IfcOffsetCurveByDistances(::Ifc4x3_add2::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_add2::IfcPointByDistanceExpression >::ptr v2_OffsetValues, boost::optional< std::string > v3_Tag) : IfcOffsetCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_OffsetValues)->generalize()); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; populate_derived(); } +Ifc4x3_add2::IfcOffsetCurveByDistances::IfcOffsetCurveByDistances(::Ifc4x3_add2::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_add2::IfcPointByDistanceExpression >::ptr v2_OffsetValues, boost::optional< std::string > v3_Tag) : IfcOffsetCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_OffsetValues)->generalize()); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; populate_derived(); } // Function implementations for IfcOpenCrossProfileDef -bool Ifc4x3_add2::IfcOpenCrossProfileDef::HorizontalWidths() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x3_add2::IfcOpenCrossProfileDef::HorizontalWidths() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcOpenCrossProfileDef::setHorizontalWidths(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< double > /*[1:?]*/ Ifc4x3_add2::IfcOpenCrossProfileDef::Widths() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +std::vector< double > /*[1:?]*/ Ifc4x3_add2::IfcOpenCrossProfileDef::Widths() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcOpenCrossProfileDef::setWidths(std::vector< double > /*[1:?]*/ v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -std::vector< double > /*[1:?]*/ Ifc4x3_add2::IfcOpenCrossProfileDef::Slopes() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +std::vector< double > /*[1:?]*/ Ifc4x3_add2::IfcOpenCrossProfileDef::Slopes() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcOpenCrossProfileDef::setSlopes(std::vector< double > /*[1:?]*/ v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< std::vector< std::string > /*[2:?]*/ > Ifc4x3_add2::IfcOpenCrossProfileDef::Tags() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[2:?]*/ v = data_.get_attribute_value(5); return v; } +boost::optional< std::vector< std::string > /*[2:?]*/ > Ifc4x3_add2::IfcOpenCrossProfileDef::Tags() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[2:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcOpenCrossProfileDef::setTags(boost::optional< std::vector< std::string > /*[2:?]*/ > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_add2::IfcCartesianPoint* Ifc4x3_add2::IfcOpenCrossProfileDef::OffsetPoint() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add2::IfcCartesianPoint>(true); } +::Ifc4x3_add2::IfcCartesianPoint* Ifc4x3_add2::IfcOpenCrossProfileDef::OffsetPoint() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add2::IfcCartesianPoint>(true); } void Ifc4x3_add2::IfcOpenCrossProfileDef::setOffsetPoint(::Ifc4x3_add2::IfcCartesianPoint* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add2::IfcOpenCrossProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[712]); } const IfcParse::entity& Ifc4x3_add2::IfcOpenCrossProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[712]); } Ifc4x3_add2::IfcOpenCrossProfileDef::IfcOpenCrossProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_add2::IfcOpenCrossProfileDef::IfcOpenCrossProfileDef(::Ifc4x3_add2::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, ::Ifc4x3_add2::IfcCartesianPoint* v7_OffsetPoint) : IfcProfileDef(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_HorizontalWidths));set_attribute_value(3, (v4_Widths));set_attribute_value(4, (v5_Slopes)); if (v6_Tags) {set_attribute_value(5, (*v6_Tags)); }set_attribute_value(6, v7_OffsetPoint ? v7_OffsetPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcOpenCrossProfileDef::IfcOpenCrossProfileDef(::Ifc4x3_add2::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, ::Ifc4x3_add2::IfcCartesianPoint* v7_OffsetPoint) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_HorizontalWidths));set_attribute_value(3, (v4_Widths));set_attribute_value(4, (v5_Slopes)); if (v6_Tags) {set_attribute_value(5, (*v6_Tags)); }set_attribute_value(6, v7_OffsetPoint ? v7_OffsetPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcOpenShell @@ -12971,10 +12971,10 @@ Ifc4x3_add2::IfcOpenCrossProfileDef::IfcOpenCrossProfileDef(::Ifc4x3_add2::IfcPr const IfcParse::entity& Ifc4x3_add2::IfcOpenShell::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[715]); } const IfcParse::entity& Ifc4x3_add2::IfcOpenShell::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[715]); } Ifc4x3_add2::IfcOpenShell::IfcOpenShell(IfcEntityInstanceData&& e) : IfcConnectedFaceSet(std::move(e)) { } -Ifc4x3_add2::IfcOpenShell::IfcOpenShell(aggregate_of< ::Ifc4x3_add2::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcOpenShell::IfcOpenShell(aggregate_of< ::Ifc4x3_add2::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcOpeningElement -boost::optional< ::Ifc4x3_add2::IfcOpeningElementTypeEnum::Value > Ifc4x3_add2::IfcOpeningElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcOpeningElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcOpeningElementTypeEnum::Value > Ifc4x3_add2::IfcOpeningElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcOpeningElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcOpeningElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcOpeningElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x3_add2::IfcRelFillsElement::list::ptr Ifc4x3_add2::IfcOpeningElement::HasFillings() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[936], 4)->as(); } @@ -12982,18 +12982,18 @@ void Ifc4x3_add2::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4x3 const IfcParse::entity& Ifc4x3_add2::IfcOpeningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[713]); } const IfcParse::entity& Ifc4x3_add2::IfcOpeningElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[713]); } Ifc4x3_add2::IfcOpeningElement::IfcOpeningElement(IfcEntityInstanceData&& e) : IfcFeatureElementSubtraction(std::move(e)) { } -Ifc4x3_add2::IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOrganization -boost::optional< std::string > Ifc4x3_add2::IfcOrganization::Identification() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcOrganization::Identification() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcOrganization::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -std::string Ifc4x3_add2::IfcOrganization::Name() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_add2::IfcOrganization::Name() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcOrganization::setName(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_add2::IfcOrganization::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcOrganization::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcOrganization::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcActorRole >::ptr > Ifc4x3_add2::IfcOrganization::Roles() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_add2::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcActorRole >::ptr > Ifc4x3_add2::IfcOrganization::Roles() const { if(get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_add2::IfcActorRole >(); } void Ifc4x3_add2::IfcOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(3, (*v)->generalize());} else {unset_attribute_value(3);} } -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAddress >::ptr > Ifc4x3_add2::IfcOrganization::Addresses() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_add2::IfcAddress >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAddress >::ptr > Ifc4x3_add2::IfcOrganization::Addresses() const { if(get_attribute_value(4).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_add2::IfcAddress >(); } void Ifc4x3_add2::IfcOrganization::setAddresses(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAddress >::ptr > v) { if (v) {set_attribute_value(4, (*v)->generalize());} else {unset_attribute_value(4);} } ::Ifc4x3_add2::IfcOrganizationRelationship::list::ptr Ifc4x3_add2::IfcOrganization::IsRelatedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[717], 3)->as(); } @@ -13003,31 +13003,31 @@ void Ifc4x3_add2::IfcOrganization::setAddresses(boost::optional< aggregate_of< : const IfcParse::entity& Ifc4x3_add2::IfcOrganization::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[716]); } const IfcParse::entity& Ifc4x3_add2::IfcOrganization::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[716]); } Ifc4x3_add2::IfcOrganization::IfcOrganization(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcOrganization::IfcOrganization(boost::optional< std::string > v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcActorRole >::ptr > v4_Roles, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAddress >::ptr > v5_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, (*v4_Roles)->generalize()); } if (v5_Addresses) {set_attribute_value(4, (*v5_Addresses)->generalize()); }; populate_derived(); } +Ifc4x3_add2::IfcOrganization::IfcOrganization(boost::optional< std::string > v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcActorRole >::ptr > v4_Roles, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAddress >::ptr > v5_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, (*v4_Roles)->generalize()); } if (v5_Addresses) {set_attribute_value(4, (*v5_Addresses)->generalize()); }; populate_derived(); } // Function implementations for IfcOrganizationRelationship -::Ifc4x3_add2::IfcOrganization* Ifc4x3_add2::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcOrganization>(true); } +::Ifc4x3_add2::IfcOrganization* Ifc4x3_add2::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcOrganization>(true); } void Ifc4x3_add2::IfcOrganizationRelationship::setRelatingOrganization(::Ifc4x3_add2::IfcOrganization* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_add2::IfcOrganization >::ptr Ifc4x3_add2::IfcOrganizationRelationship::RelatedOrganizations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_add2::IfcOrganization >(); } +aggregate_of< ::Ifc4x3_add2::IfcOrganization >::ptr Ifc4x3_add2::IfcOrganizationRelationship::RelatedOrganizations() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_add2::IfcOrganization >(); } void Ifc4x3_add2::IfcOrganizationRelationship::setRelatedOrganizations(aggregate_of< ::Ifc4x3_add2::IfcOrganization >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcOrganizationRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[717]); } const IfcParse::entity& Ifc4x3_add2::IfcOrganizationRelationship::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[717]); } Ifc4x3_add2::IfcOrganizationRelationship::IfcOrganizationRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_add2::IfcOrganizationRelationship::IfcOrganizationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcOrganization* v3_RelatingOrganization, aggregate_of< ::Ifc4x3_add2::IfcOrganization >::ptr v4_RelatedOrganizations) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingOrganization ? v3_RelatingOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedOrganizations)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcOrganizationRelationship::IfcOrganizationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcOrganization* v3_RelatingOrganization, aggregate_of< ::Ifc4x3_add2::IfcOrganization >::ptr v4_RelatedOrganizations) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingOrganization ? v3_RelatingOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedOrganizations)->generalize());; populate_derived(); } // Function implementations for IfcOrientedEdge -::Ifc4x3_add2::IfcEdge* Ifc4x3_add2::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcEdge>(true); } +::Ifc4x3_add2::IfcEdge* Ifc4x3_add2::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcEdge>(true); } void Ifc4x3_add2::IfcOrientedEdge::setEdgeElement(::Ifc4x3_add2::IfcEdge* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x3_add2::IfcOrientedEdge::Orientation() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x3_add2::IfcOrientedEdge::Orientation() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcOrientedEdge::setOrientation(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcOrientedEdge::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[718]); } const IfcParse::entity& Ifc4x3_add2::IfcOrientedEdge::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[718]); } Ifc4x3_add2::IfcOrientedEdge::IfcOrientedEdge(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc4x3_add2::IfcOrientedEdge::IfcOrientedEdge(::Ifc4x3_add2::IfcEdge* v3_EdgeElement, bool v4_Orientation) : IfcEdge(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(2, v3_EdgeElement ? v3_EdgeElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Orientation));; populate_derived(); } +Ifc4x3_add2::IfcOrientedEdge::IfcOrientedEdge(::Ifc4x3_add2::IfcEdge* v3_EdgeElement, bool v4_Orientation) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(2, v3_EdgeElement ? v3_EdgeElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Orientation));; populate_derived(); } // Function implementations for IfcOuterBoundaryCurve @@ -13035,164 +13035,164 @@ Ifc4x3_add2::IfcOrientedEdge::IfcOrientedEdge(::Ifc4x3_add2::IfcEdge* v3_EdgeEle const IfcParse::entity& Ifc4x3_add2::IfcOuterBoundaryCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[719]); } const IfcParse::entity& Ifc4x3_add2::IfcOuterBoundaryCurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[719]); } Ifc4x3_add2::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(IfcEntityInstanceData&& e) : IfcBoundaryCurve(std::move(e)) { } -Ifc4x3_add2::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(aggregate_of< ::Ifc4x3_add2::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundaryCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x3_add2::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(aggregate_of< ::Ifc4x3_add2::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundaryCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcOutlet -boost::optional< ::Ifc4x3_add2::IfcOutletTypeEnum::Value > Ifc4x3_add2::IfcOutlet::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcOutletTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcOutletTypeEnum::Value > Ifc4x3_add2::IfcOutlet::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcOutletTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcOutlet::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcOutletTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcOutletTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcOutlet::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[720]); } const IfcParse::entity& Ifc4x3_add2::IfcOutlet::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[720]); } Ifc4x3_add2::IfcOutlet::IfcOutlet(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_add2::IfcOutlet::IfcOutlet(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcOutletTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcOutlet::IfcOutlet(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcOutletTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOutletType -::Ifc4x3_add2::IfcOutletTypeEnum::Value Ifc4x3_add2::IfcOutletType::PredefinedType() const { return ::Ifc4x3_add2::IfcOutletTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcOutletTypeEnum::Value Ifc4x3_add2::IfcOutletType::PredefinedType() const { return ::Ifc4x3_add2::IfcOutletTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcOutletType::setPredefinedType(::Ifc4x3_add2::IfcOutletTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcOutletTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcOutletType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[721]); } const IfcParse::entity& Ifc4x3_add2::IfcOutletType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[721]); } Ifc4x3_add2::IfcOutletType::IfcOutletType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_add2::IfcOutletType::IfcOutletType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcOutletTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcOutletType::IfcOutletType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcOutletTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcOwnerHistory -::Ifc4x3_add2::IfcPersonAndOrganization* Ifc4x3_add2::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcPersonAndOrganization>(true); } +::Ifc4x3_add2::IfcPersonAndOrganization* Ifc4x3_add2::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcPersonAndOrganization>(true); } void Ifc4x3_add2::IfcOwnerHistory::setOwningUser(::Ifc4x3_add2::IfcPersonAndOrganization* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcApplication* Ifc4x3_add2::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcApplication>(true); } +::Ifc4x3_add2::IfcApplication* Ifc4x3_add2::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcApplication>(true); } void Ifc4x3_add2::IfcOwnerHistory::setOwningApplication(::Ifc4x3_add2::IfcApplication* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< ::Ifc4x3_add2::IfcStateEnum::Value > Ifc4x3_add2::IfcOwnerHistory::State() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcStateEnum::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc4x3_add2::IfcStateEnum::Value > Ifc4x3_add2::IfcOwnerHistory::State() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcStateEnum::FromString(get_attribute_value(2)); } void Ifc4x3_add2::IfcOwnerHistory::setState(boost::optional< ::Ifc4x3_add2::IfcStateEnum::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc4x3_add2::IfcStateEnum::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -boost::optional< ::Ifc4x3_add2::IfcChangeActionEnum::Value > Ifc4x3_add2::IfcOwnerHistory::ChangeAction() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcChangeActionEnum::FromString(data_.get_attribute_value(3)); } +boost::optional< ::Ifc4x3_add2::IfcChangeActionEnum::Value > Ifc4x3_add2::IfcOwnerHistory::ChangeAction() const { if(get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcChangeActionEnum::FromString(get_attribute_value(3)); } void Ifc4x3_add2::IfcOwnerHistory::setChangeAction(boost::optional< ::Ifc4x3_add2::IfcChangeActionEnum::Value > v) { if (v) {set_attribute_value(3, EnumerationReference(&::Ifc4x3_add2::IfcChangeActionEnum::Class(), (size_t) *v));} else {unset_attribute_value(3);} } -boost::optional< int > Ifc4x3_add2::IfcOwnerHistory::LastModifiedDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x3_add2::IfcOwnerHistory::LastModifiedDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_add2::IfcPersonAndOrganization* Ifc4x3_add2::IfcOwnerHistory::LastModifyingUser() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcPersonAndOrganization>(true); } +::Ifc4x3_add2::IfcPersonAndOrganization* Ifc4x3_add2::IfcOwnerHistory::LastModifyingUser() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcPersonAndOrganization>(true); } void Ifc4x3_add2::IfcOwnerHistory::setLastModifyingUser(::Ifc4x3_add2::IfcPersonAndOrganization* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add2::IfcApplication* Ifc4x3_add2::IfcOwnerHistory::LastModifyingApplication() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add2::IfcApplication>(true); } +::Ifc4x3_add2::IfcApplication* Ifc4x3_add2::IfcOwnerHistory::LastModifyingApplication() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add2::IfcApplication>(true); } void Ifc4x3_add2::IfcOwnerHistory::setLastModifyingApplication(::Ifc4x3_add2::IfcApplication* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -int Ifc4x3_add2::IfcOwnerHistory::CreationDate() const { int v = data_.get_attribute_value(7); return v; } +int Ifc4x3_add2::IfcOwnerHistory::CreationDate() const { int v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcOwnerHistory::setCreationDate(int v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_add2::IfcOwnerHistory::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[723]); } const IfcParse::entity& Ifc4x3_add2::IfcOwnerHistory::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[723]); } Ifc4x3_add2::IfcOwnerHistory::IfcOwnerHistory(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcOwnerHistory::IfcOwnerHistory(::Ifc4x3_add2::IfcPersonAndOrganization* v1_OwningUser, ::Ifc4x3_add2::IfcApplication* v2_OwningApplication, boost::optional< ::Ifc4x3_add2::IfcStateEnum::Value > v3_State, boost::optional< ::Ifc4x3_add2::IfcChangeActionEnum::Value > v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, ::Ifc4x3_add2::IfcPersonAndOrganization* v6_LastModifyingUser, ::Ifc4x3_add2::IfcApplication* v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, v1_OwningUser ? v1_OwningUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OwningApplication ? v2_OwningApplication->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_State) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add2::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_add2::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, v6_LastModifyingUser ? v6_LastModifyingUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_LastModifyingApplication ? v7_LastModifyingApplication->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_CreationDate));; populate_derived(); } +Ifc4x3_add2::IfcOwnerHistory::IfcOwnerHistory(::Ifc4x3_add2::IfcPersonAndOrganization* v1_OwningUser, ::Ifc4x3_add2::IfcApplication* v2_OwningApplication, boost::optional< ::Ifc4x3_add2::IfcStateEnum::Value > v3_State, boost::optional< ::Ifc4x3_add2::IfcChangeActionEnum::Value > v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, ::Ifc4x3_add2::IfcPersonAndOrganization* v6_LastModifyingUser, ::Ifc4x3_add2::IfcApplication* v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, v1_OwningUser ? v1_OwningUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OwningApplication ? v2_OwningApplication->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_State) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add2::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_add2::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, v6_LastModifyingUser ? v6_LastModifyingUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_LastModifyingApplication ? v7_LastModifyingApplication->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_CreationDate));; populate_derived(); } // Function implementations for IfcParameterizedProfileDef -::Ifc4x3_add2::IfcAxis2Placement2D* Ifc4x3_add2::IfcParameterizedProfileDef::Position() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcAxis2Placement2D>(true); } +::Ifc4x3_add2::IfcAxis2Placement2D* Ifc4x3_add2::IfcParameterizedProfileDef::Position() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcAxis2Placement2D>(true); } void Ifc4x3_add2::IfcParameterizedProfileDef::setPosition(::Ifc4x3_add2::IfcAxis2Placement2D* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcParameterizedProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[724]); } const IfcParse::entity& Ifc4x3_add2::IfcParameterizedProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[724]); } Ifc4x3_add2::IfcParameterizedProfileDef::IfcParameterizedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_add2::IfcParameterizedProfileDef::IfcParameterizedProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D* v3_Position) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcParameterizedProfileDef::IfcParameterizedProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D* v3_Position) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPath -aggregate_of< ::Ifc4x3_add2::IfcOrientedEdge >::ptr Ifc4x3_add2::IfcPath::EdgeList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcOrientedEdge >(); } +aggregate_of< ::Ifc4x3_add2::IfcOrientedEdge >::ptr Ifc4x3_add2::IfcPath::EdgeList() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcOrientedEdge >(); } void Ifc4x3_add2::IfcPath::setEdgeList(aggregate_of< ::Ifc4x3_add2::IfcOrientedEdge >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add2::IfcPath::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[726]); } const IfcParse::entity& Ifc4x3_add2::IfcPath::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[726]); } Ifc4x3_add2::IfcPath::IfcPath(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcPath::IfcPath(aggregate_of< ::Ifc4x3_add2::IfcOrientedEdge >::ptr v1_EdgeList) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcPath::IfcPath(aggregate_of< ::Ifc4x3_add2::IfcOrientedEdge >::ptr v1_EdgeList) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } // Function implementations for IfcPavement -boost::optional< ::Ifc4x3_add2::IfcPavementTypeEnum::Value > Ifc4x3_add2::IfcPavement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcPavementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcPavementTypeEnum::Value > Ifc4x3_add2::IfcPavement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcPavementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcPavement::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcPavementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcPavementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcPavement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[727]); } const IfcParse::entity& Ifc4x3_add2::IfcPavement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[727]); } Ifc4x3_add2::IfcPavement::IfcPavement(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add2::IfcPavement::IfcPavement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcPavementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcPavementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcPavement::IfcPavement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcPavementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcPavementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPavementType -::Ifc4x3_add2::IfcPavementTypeEnum::Value Ifc4x3_add2::IfcPavementType::PredefinedType() const { return ::Ifc4x3_add2::IfcPavementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcPavementTypeEnum::Value Ifc4x3_add2::IfcPavementType::PredefinedType() const { return ::Ifc4x3_add2::IfcPavementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcPavementType::setPredefinedType(::Ifc4x3_add2::IfcPavementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcPavementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcPavementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[728]); } const IfcParse::entity& Ifc4x3_add2::IfcPavementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[728]); } Ifc4x3_add2::IfcPavementType::IfcPavementType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add2::IfcPavementType::IfcPavementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPavementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcPavementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcPavementType::IfcPavementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPavementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcPavementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPcurve -::Ifc4x3_add2::IfcSurface* Ifc4x3_add2::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcSurface>(true); } +::Ifc4x3_add2::IfcSurface* Ifc4x3_add2::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcSurface>(true); } void Ifc4x3_add2::IfcPcurve::setBasisSurface(::Ifc4x3_add2::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcCurve* Ifc4x3_add2::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcCurve>(true); } +::Ifc4x3_add2::IfcCurve* Ifc4x3_add2::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcCurve>(true); } void Ifc4x3_add2::IfcPcurve::setReferenceCurve(::Ifc4x3_add2::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcPcurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[730]); } const IfcParse::entity& Ifc4x3_add2::IfcPcurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[730]); } Ifc4x3_add2::IfcPcurve::IfcPcurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_add2::IfcPcurve::IfcPcurve(::Ifc4x3_add2::IfcSurface* v1_BasisSurface, ::Ifc4x3_add2::IfcCurve* v2_ReferenceCurve) : IfcCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_ReferenceCurve ? v2_ReferenceCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcPcurve::IfcPcurve(::Ifc4x3_add2::IfcSurface* v1_BasisSurface, ::Ifc4x3_add2::IfcCurve* v2_ReferenceCurve) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_ReferenceCurve ? v2_ReferenceCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPerformanceHistory -std::string Ifc4x3_add2::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = data_.get_attribute_value(6); return v; } +std::string Ifc4x3_add2::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcPerformanceHistory::setLifeCyclePhase(std::string v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< ::Ifc4x3_add2::IfcPerformanceHistoryTypeEnum::Value > Ifc4x3_add2::IfcPerformanceHistory::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcPerformanceHistoryTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_add2::IfcPerformanceHistoryTypeEnum::Value > Ifc4x3_add2::IfcPerformanceHistory::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcPerformanceHistoryTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add2::IfcPerformanceHistory::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcPerformanceHistoryTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_add2::IfcPerformanceHistoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_add2::IfcPerformanceHistory::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[731]); } const IfcParse::entity& Ifc4x3_add2::IfcPerformanceHistory::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[731]); } Ifc4x3_add2::IfcPerformanceHistory::IfcPerformanceHistory(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_add2::IfcPerformanceHistory::IfcPerformanceHistory(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) : IfcControl(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcPerformanceHistory::IfcPerformanceHistory(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPermeableCoveringProperties -::Ifc4x3_add2::IfcPermeableCoveringOperationEnum::Value Ifc4x3_add2::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4x3_add2::IfcPermeableCoveringOperationEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x3_add2::IfcPermeableCoveringOperationEnum::Value Ifc4x3_add2::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4x3_add2::IfcPermeableCoveringOperationEnum::FromString(get_attribute_value(4)); } void Ifc4x3_add2::IfcPermeableCoveringProperties::setOperationType(::Ifc4x3_add2::IfcPermeableCoveringOperationEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3_add2::IfcPermeableCoveringOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcWindowPanelPositionEnum::Value Ifc4x3_add2::IfcPermeableCoveringProperties::PanelPosition() const { return ::Ifc4x3_add2::IfcWindowPanelPositionEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_add2::IfcWindowPanelPositionEnum::Value Ifc4x3_add2::IfcPermeableCoveringProperties::PanelPosition() const { return ::Ifc4x3_add2::IfcWindowPanelPositionEnum::FromString(get_attribute_value(5)); } void Ifc4x3_add2::IfcPermeableCoveringProperties::setPanelPosition(::Ifc4x3_add2::IfcWindowPanelPositionEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_add2::IfcWindowPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_add2::IfcPermeableCoveringProperties::FrameDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_add2::IfcPermeableCoveringProperties::FrameDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_add2::IfcPermeableCoveringProperties::FrameThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add2::IfcPermeableCoveringProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_add2::IfcShapeAspect* Ifc4x3_add2::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_add2::IfcShapeAspect>(true); } +::Ifc4x3_add2::IfcShapeAspect* Ifc4x3_add2::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_add2::IfcShapeAspect>(true); } void Ifc4x3_add2::IfcPermeableCoveringProperties::setShapeAspectStyle(::Ifc4x3_add2::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_add2::IfcPermeableCoveringProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[734]); } const IfcParse::entity& Ifc4x3_add2::IfcPermeableCoveringProperties::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[734]); } Ifc4x3_add2::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_add2::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_add2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x3_add2::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add2::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add2::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_add2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x3_add2::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add2::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add2::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPermit -boost::optional< ::Ifc4x3_add2::IfcPermitTypeEnum::Value > Ifc4x3_add2::IfcPermit::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcPermitTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_add2::IfcPermitTypeEnum::Value > Ifc4x3_add2::IfcPermit::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcPermitTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_add2::IfcPermit::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcPermitTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_add2::IfcPermitTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_add2::IfcPermit::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcPermit::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcPermit::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_add2::IfcPermit::LongDescription() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcPermit::LongDescription() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcPermit::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcPermit::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[735]); } const IfcParse::entity& Ifc4x3_add2::IfcPermit::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[735]); } Ifc4x3_add2::IfcPermit::IfcPermit(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_add2::IfcPermit::IfcPermit(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcPermitTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add2::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } +Ifc4x3_add2::IfcPermit::IfcPermit(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcPermitTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add2::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } // Function implementations for IfcPerson -boost::optional< std::string > Ifc4x3_add2::IfcPerson::Identification() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcPerson::Identification() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcPerson::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add2::IfcPerson::FamilyName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcPerson::FamilyName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcPerson::setFamilyName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_add2::IfcPerson::GivenName() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcPerson::GivenName() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcPerson::setGivenName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add2::IfcPerson::MiddleNames() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add2::IfcPerson::MiddleNames() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcPerson::setMiddleNames(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add2::IfcPerson::PrefixTitles() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add2::IfcPerson::PrefixTitles() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcPerson::setPrefixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add2::IfcPerson::SuffixTitles() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(5); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add2::IfcPerson::SuffixTitles() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcPerson::setSuffixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcActorRole >::ptr > Ifc4x3_add2::IfcPerson::Roles() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3_add2::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcActorRole >::ptr > Ifc4x3_add2::IfcPerson::Roles() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3_add2::IfcActorRole >(); } void Ifc4x3_add2::IfcPerson::setRoles(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAddress >::ptr > Ifc4x3_add2::IfcPerson::Addresses() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_add2::IfcAddress >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAddress >::ptr > Ifc4x3_add2::IfcPerson::Addresses() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_add2::IfcAddress >(); } void Ifc4x3_add2::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAddress >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } ::Ifc4x3_add2::IfcPersonAndOrganization::list::ptr Ifc4x3_add2::IfcPerson::EngagedIn() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[738], 0)->as(); } @@ -13200,42 +13200,42 @@ void Ifc4x3_add2::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4x const IfcParse::entity& Ifc4x3_add2::IfcPerson::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[737]); } const IfcParse::entity& Ifc4x3_add2::IfcPerson::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[737]); } Ifc4x3_add2::IfcPerson::IfcPerson(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::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_add2::IfcActorRole >::ptr > v7_Roles, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, (*v7_Roles)->generalize()); } if (v8_Addresses) {set_attribute_value(7, (*v8_Addresses)->generalize()); }; populate_derived(); } +Ifc4x3_add2::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_add2::IfcActorRole >::ptr > v7_Roles, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, (*v7_Roles)->generalize()); } if (v8_Addresses) {set_attribute_value(7, (*v8_Addresses)->generalize()); }; populate_derived(); } // Function implementations for IfcPersonAndOrganization -::Ifc4x3_add2::IfcPerson* Ifc4x3_add2::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcPerson>(true); } +::Ifc4x3_add2::IfcPerson* Ifc4x3_add2::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcPerson>(true); } void Ifc4x3_add2::IfcPersonAndOrganization::setThePerson(::Ifc4x3_add2::IfcPerson* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcOrganization* Ifc4x3_add2::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcOrganization>(true); } +::Ifc4x3_add2::IfcOrganization* Ifc4x3_add2::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcOrganization>(true); } void Ifc4x3_add2::IfcPersonAndOrganization::setTheOrganization(::Ifc4x3_add2::IfcOrganization* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcActorRole >::ptr > Ifc4x3_add2::IfcPersonAndOrganization::Roles() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcActorRole >::ptr > Ifc4x3_add2::IfcPersonAndOrganization::Roles() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcActorRole >(); } void Ifc4x3_add2::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_add2::IfcPersonAndOrganization::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[738]); } const IfcParse::entity& Ifc4x3_add2::IfcPersonAndOrganization::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[738]); } Ifc4x3_add2::IfcPersonAndOrganization::IfcPersonAndOrganization(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcPersonAndOrganization::IfcPersonAndOrganization(::Ifc4x3_add2::IfcPerson* v1_ThePerson, ::Ifc4x3_add2::IfcOrganization* v2_TheOrganization, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcActorRole >::ptr > v3_Roles) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_ThePerson ? v1_ThePerson->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TheOrganization ? v2_TheOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Roles) {set_attribute_value(2, (*v3_Roles)->generalize()); }; populate_derived(); } +Ifc4x3_add2::IfcPersonAndOrganization::IfcPersonAndOrganization(::Ifc4x3_add2::IfcPerson* v1_ThePerson, ::Ifc4x3_add2::IfcOrganization* v2_TheOrganization, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcActorRole >::ptr > v3_Roles) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_ThePerson ? v1_ThePerson->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TheOrganization ? v2_TheOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Roles) {set_attribute_value(2, (*v3_Roles)->generalize()); }; populate_derived(); } // Function implementations for IfcPhysicalComplexQuantity -aggregate_of< ::Ifc4x3_add2::IfcPhysicalQuantity >::ptr Ifc4x3_add2::IfcPhysicalComplexQuantity::HasQuantities() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcPhysicalQuantity >(); } +aggregate_of< ::Ifc4x3_add2::IfcPhysicalQuantity >::ptr Ifc4x3_add2::IfcPhysicalComplexQuantity::HasQuantities() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcPhysicalQuantity >(); } void Ifc4x3_add2::IfcPhysicalComplexQuantity::setHasQuantities(aggregate_of< ::Ifc4x3_add2::IfcPhysicalQuantity >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -std::string Ifc4x3_add2::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x3_add2::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcPhysicalComplexQuantity::setDiscrimination(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_add2::IfcPhysicalComplexQuantity::Quality() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcPhysicalComplexQuantity::Quality() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcPhysicalComplexQuantity::setQuality(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add2::IfcPhysicalComplexQuantity::Usage() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcPhysicalComplexQuantity::Usage() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcPhysicalComplexQuantity::setUsage(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_add2::IfcPhysicalComplexQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[740]); } const IfcParse::entity& Ifc4x3_add2::IfcPhysicalComplexQuantity::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[740]); } Ifc4x3_add2::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(IfcEntityInstanceData&& e) : IfcPhysicalQuantity(std::move(e)) { } -Ifc4x3_add2::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add2::IfcPhysicalQuantity >::ptr v3_HasQuantities, std::string v4_Discrimination, boost::optional< std::string > v5_Quality, boost::optional< std::string > v6_Usage) : IfcPhysicalQuantity(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_HasQuantities)->generalize());set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; populate_derived(); } +Ifc4x3_add2::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add2::IfcPhysicalQuantity >::ptr v3_HasQuantities, std::string v4_Discrimination, boost::optional< std::string > v5_Quality, boost::optional< std::string > v6_Usage) : IfcPhysicalQuantity(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_HasQuantities)->generalize());set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; populate_derived(); } // Function implementations for IfcPhysicalQuantity -std::string Ifc4x3_add2::IfcPhysicalQuantity::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_add2::IfcPhysicalQuantity::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcPhysicalQuantity::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_add2::IfcPhysicalQuantity::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcPhysicalQuantity::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcPhysicalQuantity::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x3_add2::IfcExternalReferenceRelationship::list::ptr Ifc4x3_add2::IfcPhysicalQuantity::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[427], 3)->as(); } @@ -13244,127 +13244,127 @@ void Ifc4x3_add2::IfcPhysicalQuantity::setDescription(boost::optional< std::stri const IfcParse::entity& Ifc4x3_add2::IfcPhysicalQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[742]); } const IfcParse::entity& Ifc4x3_add2::IfcPhysicalQuantity::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[742]); } Ifc4x3_add2::IfcPhysicalQuantity::IfcPhysicalQuantity(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4x3_add2::IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcPhysicalSimpleQuantity -::Ifc4x3_add2::IfcNamedUnit* Ifc4x3_add2::IfcPhysicalSimpleQuantity::Unit() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcNamedUnit>(true); } +::Ifc4x3_add2::IfcNamedUnit* Ifc4x3_add2::IfcPhysicalSimpleQuantity::Unit() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcNamedUnit>(true); } void Ifc4x3_add2::IfcPhysicalSimpleQuantity::setUnit(::Ifc4x3_add2::IfcNamedUnit* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcPhysicalSimpleQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[743]); } const IfcParse::entity& Ifc4x3_add2::IfcPhysicalSimpleQuantity::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[743]); } Ifc4x3_add2::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(IfcEntityInstanceData&& e) : IfcPhysicalQuantity(std::move(e)) { } -Ifc4x3_add2::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPile -boost::optional< ::Ifc4x3_add2::IfcPileTypeEnum::Value > Ifc4x3_add2::IfcPile::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcPileTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcPileTypeEnum::Value > Ifc4x3_add2::IfcPile::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcPileTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcPile::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcPileTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcPileTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< ::Ifc4x3_add2::IfcPileConstructionEnum::Value > Ifc4x3_add2::IfcPile::ConstructionType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcPileConstructionEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_add2::IfcPileConstructionEnum::Value > Ifc4x3_add2::IfcPile::ConstructionType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcPileConstructionEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcPile::setConstructionType(boost::optional< ::Ifc4x3_add2::IfcPileConstructionEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcPileConstructionEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_add2::IfcPile::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[744]); } const IfcParse::entity& Ifc4x3_add2::IfcPile::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[744]); } Ifc4x3_add2::IfcPile::IfcPile(IfcEntityInstanceData&& e) : IfcDeepFoundation(std::move(e)) { } -Ifc4x3_add2::IfcPile::IfcPile(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcPileTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x3_add2::IfcPileConstructionEnum::Value > v10_ConstructionType) : IfcDeepFoundation(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; populate_derived(); } +Ifc4x3_add2::IfcPile::IfcPile(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcPileTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x3_add2::IfcPileConstructionEnum::Value > v10_ConstructionType) : IfcDeepFoundation(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; populate_derived(); } // Function implementations for IfcPileType -::Ifc4x3_add2::IfcPileTypeEnum::Value Ifc4x3_add2::IfcPileType::PredefinedType() const { return ::Ifc4x3_add2::IfcPileTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcPileTypeEnum::Value Ifc4x3_add2::IfcPileType::PredefinedType() const { return ::Ifc4x3_add2::IfcPileTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcPileType::setPredefinedType(::Ifc4x3_add2::IfcPileTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcPileTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcPileType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[746]); } const IfcParse::entity& Ifc4x3_add2::IfcPileType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[746]); } Ifc4x3_add2::IfcPileType::IfcPileType(IfcEntityInstanceData&& e) : IfcDeepFoundationType(std::move(e)) { } -Ifc4x3_add2::IfcPileType::IfcPileType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPileTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcPileType::IfcPileType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPileTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPipeFitting -boost::optional< ::Ifc4x3_add2::IfcPipeFittingTypeEnum::Value > Ifc4x3_add2::IfcPipeFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcPipeFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcPipeFittingTypeEnum::Value > Ifc4x3_add2::IfcPipeFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcPipeFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcPipeFitting::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcPipeFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcPipeFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcPipeFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[748]); } const IfcParse::entity& Ifc4x3_add2::IfcPipeFitting::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[748]); } Ifc4x3_add2::IfcPipeFitting::IfcPipeFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x3_add2::IfcPipeFitting::IfcPipeFitting(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcPipeFitting::IfcPipeFitting(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPipeFittingType -::Ifc4x3_add2::IfcPipeFittingTypeEnum::Value Ifc4x3_add2::IfcPipeFittingType::PredefinedType() const { return ::Ifc4x3_add2::IfcPipeFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcPipeFittingTypeEnum::Value Ifc4x3_add2::IfcPipeFittingType::PredefinedType() const { return ::Ifc4x3_add2::IfcPipeFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcPipeFittingType::setPredefinedType(::Ifc4x3_add2::IfcPipeFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcPipeFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcPipeFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[749]); } const IfcParse::entity& Ifc4x3_add2::IfcPipeFittingType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[749]); } Ifc4x3_add2::IfcPipeFittingType::IfcPipeFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x3_add2::IfcPipeFittingType::IfcPipeFittingType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPipeFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcPipeFittingType::IfcPipeFittingType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPipeFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPipeSegment -boost::optional< ::Ifc4x3_add2::IfcPipeSegmentTypeEnum::Value > Ifc4x3_add2::IfcPipeSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcPipeSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcPipeSegmentTypeEnum::Value > Ifc4x3_add2::IfcPipeSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcPipeSegment::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcPipeSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcPipeSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcPipeSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[751]); } const IfcParse::entity& Ifc4x3_add2::IfcPipeSegment::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[751]); } Ifc4x3_add2::IfcPipeSegment::IfcPipeSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x3_add2::IfcPipeSegment::IfcPipeSegment(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcPipeSegment::IfcPipeSegment(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPipeSegmentType -::Ifc4x3_add2::IfcPipeSegmentTypeEnum::Value Ifc4x3_add2::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4x3_add2::IfcPipeSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcPipeSegmentTypeEnum::Value Ifc4x3_add2::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4x3_add2::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcPipeSegmentType::setPredefinedType(::Ifc4x3_add2::IfcPipeSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcPipeSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcPipeSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[752]); } const IfcParse::entity& Ifc4x3_add2::IfcPipeSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[752]); } Ifc4x3_add2::IfcPipeSegmentType::IfcPipeSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x3_add2::IfcPipeSegmentType::IfcPipeSegmentType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcPipeSegmentType::IfcPipeSegmentType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPixelTexture -int Ifc4x3_add2::IfcPixelTexture::Width() const { int v = data_.get_attribute_value(5); return v; } +int Ifc4x3_add2::IfcPixelTexture::Width() const { int v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcPixelTexture::setWidth(int v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -int Ifc4x3_add2::IfcPixelTexture::Height() const { int v = data_.get_attribute_value(6); return v; } +int Ifc4x3_add2::IfcPixelTexture::Height() const { int v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcPixelTexture::setHeight(int v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -int Ifc4x3_add2::IfcPixelTexture::ColourComponents() const { int v = data_.get_attribute_value(7); return v; } +int Ifc4x3_add2::IfcPixelTexture::ColourComponents() const { int v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcPixelTexture::setColourComponents(int v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector< boost::dynamic_bitset<> > /*[1:?]*/ Ifc4x3_add2::IfcPixelTexture::Pixel() const { std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< boost::dynamic_bitset<> > /*[1:?]*/ Ifc4x3_add2::IfcPixelTexture::Pixel() const { std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcPixelTexture::setPixel(std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_add2::IfcPixelTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[754]); } const IfcParse::entity& Ifc4x3_add2::IfcPixelTexture::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[754]); } Ifc4x3_add2::IfcPixelTexture::IfcPixelTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -Ifc4x3_add2::IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_add2::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(storage_t(9))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel));; populate_derived(); } +Ifc4x3_add2::IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_add2::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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel));; populate_derived(); } // Function implementations for IfcPlacement -::Ifc4x3_add2::IfcPoint* Ifc4x3_add2::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcPoint>(true); } +::Ifc4x3_add2::IfcPoint* Ifc4x3_add2::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcPoint>(true); } void Ifc4x3_add2::IfcPlacement::setLocation(::Ifc4x3_add2::IfcPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add2::IfcPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[755]); } const IfcParse::entity& Ifc4x3_add2::IfcPlacement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[755]); } Ifc4x3_add2::IfcPlacement::IfcPlacement(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcPlacement::IfcPlacement(::Ifc4x3_add2::IfcPoint* v1_Location) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcPlacement::IfcPlacement(::Ifc4x3_add2::IfcPoint* v1_Location) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlanarBox -::Ifc4x3_add2::IfcAxis2Placement* Ifc4x3_add2::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcAxis2Placement>(true); } +::Ifc4x3_add2::IfcAxis2Placement* Ifc4x3_add2::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcAxis2Placement>(true); } void Ifc4x3_add2::IfcPlanarBox::setPlacement(::Ifc4x3_add2::IfcAxis2Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcPlanarBox::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[756]); } const IfcParse::entity& Ifc4x3_add2::IfcPlanarBox::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[756]); } Ifc4x3_add2::IfcPlanarBox::IfcPlanarBox(IfcEntityInstanceData&& e) : IfcPlanarExtent(std::move(e)) { } -Ifc4x3_add2::IfcPlanarBox::IfcPlanarBox(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_add2::IfcAxis2Placement* v3_Placement) : IfcPlanarExtent(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, v3_Placement ? v3_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcPlanarBox::IfcPlanarBox(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_add2::IfcAxis2Placement* v3_Placement) : IfcPlanarExtent(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, v3_Placement ? v3_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlanarExtent -double Ifc4x3_add2::IfcPlanarExtent::SizeInX() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_add2::IfcPlanarExtent::SizeInX() const { double v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcPlanarExtent::setSizeInX(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_add2::IfcPlanarExtent::SizeInY() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add2::IfcPlanarExtent::SizeInY() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcPlanarExtent::setSizeInY(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcPlanarExtent::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[757]); } const IfcParse::entity& Ifc4x3_add2::IfcPlanarExtent::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[757]); } Ifc4x3_add2::IfcPlanarExtent::IfcPlanarExtent(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeInY) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; populate_derived(); } +Ifc4x3_add2::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeInY) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; populate_derived(); } // Function implementations for IfcPlane @@ -13372,27 +13372,27 @@ Ifc4x3_add2::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeI const IfcParse::entity& Ifc4x3_add2::IfcPlane::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[759]); } const IfcParse::entity& Ifc4x3_add2::IfcPlane::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[759]); } Ifc4x3_add2::IfcPlane::IfcPlane(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x3_add2::IfcPlane::IfcPlane(::Ifc4x3_add2::IfcAxis2Placement3D* v1_Position) : IfcElementarySurface(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcPlane::IfcPlane(::Ifc4x3_add2::IfcAxis2Placement3D* v1_Position) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlate -boost::optional< ::Ifc4x3_add2::IfcPlateTypeEnum::Value > Ifc4x3_add2::IfcPlate::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcPlateTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcPlateTypeEnum::Value > Ifc4x3_add2::IfcPlate::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcPlateTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcPlate::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcPlateTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcPlateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcPlate::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[761]); } const IfcParse::entity& Ifc4x3_add2::IfcPlate::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[761]); } Ifc4x3_add2::IfcPlate::IfcPlate(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add2::IfcPlate::IfcPlate(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcPlateTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcPlate::IfcPlate(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcPlateTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPlateType -::Ifc4x3_add2::IfcPlateTypeEnum::Value Ifc4x3_add2::IfcPlateType::PredefinedType() const { return ::Ifc4x3_add2::IfcPlateTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcPlateTypeEnum::Value Ifc4x3_add2::IfcPlateType::PredefinedType() const { return ::Ifc4x3_add2::IfcPlateTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcPlateType::setPredefinedType(::Ifc4x3_add2::IfcPlateTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcPlateTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcPlateType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[762]); } const IfcParse::entity& Ifc4x3_add2::IfcPlateType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[762]); } Ifc4x3_add2::IfcPlateType::IfcPlateType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add2::IfcPlateType::IfcPlateType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPlateTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcPlateType::IfcPlateType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPlateTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPoint @@ -13400,113 +13400,113 @@ Ifc4x3_add2::IfcPlateType::IfcPlateType(std::string v1_GlobalId, ::Ifc4x3_add2:: const IfcParse::entity& Ifc4x3_add2::IfcPoint::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[764]); } const IfcParse::entity& Ifc4x3_add2::IfcPoint::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[764]); } Ifc4x3_add2::IfcPoint::IfcPoint(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add2::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPointByDistanceExpression -::Ifc4x3_add2::IfcCurveMeasureSelect* Ifc4x3_add2::IfcPointByDistanceExpression::DistanceAlong() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCurveMeasureSelect>(true); } +::Ifc4x3_add2::IfcCurveMeasureSelect* Ifc4x3_add2::IfcPointByDistanceExpression::DistanceAlong() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCurveMeasureSelect>(true); } void Ifc4x3_add2::IfcPointByDistanceExpression::setDistanceAlong(::Ifc4x3_add2::IfcCurveMeasureSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< double > Ifc4x3_add2::IfcPointByDistanceExpression::OffsetLateral() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_add2::IfcPointByDistanceExpression::OffsetLateral() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcPointByDistanceExpression::setOffsetLateral(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_add2::IfcPointByDistanceExpression::OffsetVertical() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add2::IfcPointByDistanceExpression::OffsetVertical() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcPointByDistanceExpression::setOffsetVertical(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_add2::IfcPointByDistanceExpression::OffsetLongitudinal() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add2::IfcPointByDistanceExpression::OffsetLongitudinal() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcPointByDistanceExpression::setOffsetLongitudinal(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_add2::IfcCurve* Ifc4x3_add2::IfcPointByDistanceExpression::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcCurve>(true); } +::Ifc4x3_add2::IfcCurve* Ifc4x3_add2::IfcPointByDistanceExpression::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcCurve>(true); } void Ifc4x3_add2::IfcPointByDistanceExpression::setBasisCurve(::Ifc4x3_add2::IfcCurve* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add2::IfcPointByDistanceExpression::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[765]); } const IfcParse::entity& Ifc4x3_add2::IfcPointByDistanceExpression::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[765]); } Ifc4x3_add2::IfcPointByDistanceExpression::IfcPointByDistanceExpression(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x3_add2::IfcPointByDistanceExpression::IfcPointByDistanceExpression(::Ifc4x3_add2::IfcCurveMeasureSelect* v1_DistanceAlong, boost::optional< double > v2_OffsetLateral, boost::optional< double > v3_OffsetVertical, boost::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_add2::IfcCurve* v5_BasisCurve) : IfcPoint(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_DistanceAlong ? v1_DistanceAlong->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); }set_attribute_value(4, v5_BasisCurve ? v5_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcPointByDistanceExpression::IfcPointByDistanceExpression(::Ifc4x3_add2::IfcCurveMeasureSelect* v1_DistanceAlong, boost::optional< double > v2_OffsetLateral, boost::optional< double > v3_OffsetVertical, boost::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_add2::IfcCurve* v5_BasisCurve) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_DistanceAlong ? v1_DistanceAlong->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); }set_attribute_value(4, v5_BasisCurve ? v5_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPointOnCurve -::Ifc4x3_add2::IfcCurve* Ifc4x3_add2::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCurve>(true); } +::Ifc4x3_add2::IfcCurve* Ifc4x3_add2::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCurve>(true); } void Ifc4x3_add2::IfcPointOnCurve::setBasisCurve(::Ifc4x3_add2::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_add2::IfcPointOnCurve::PointParameter() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add2::IfcPointOnCurve::PointParameter() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcPointOnCurve::setPointParameter(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcPointOnCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[766]); } const IfcParse::entity& Ifc4x3_add2::IfcPointOnCurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[766]); } Ifc4x3_add2::IfcPointOnCurve::IfcPointOnCurve(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x3_add2::IfcPointOnCurve::IfcPointOnCurve(::Ifc4x3_add2::IfcCurve* v1_BasisCurve, double v2_PointParameter) : IfcPoint(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameter));; populate_derived(); } +Ifc4x3_add2::IfcPointOnCurve::IfcPointOnCurve(::Ifc4x3_add2::IfcCurve* v1_BasisCurve, double v2_PointParameter) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameter));; populate_derived(); } // Function implementations for IfcPointOnSurface -::Ifc4x3_add2::IfcSurface* Ifc4x3_add2::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcSurface>(true); } +::Ifc4x3_add2::IfcSurface* Ifc4x3_add2::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcSurface>(true); } void Ifc4x3_add2::IfcPointOnSurface::setBasisSurface(::Ifc4x3_add2::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_add2::IfcPointOnSurface::PointParameterU() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add2::IfcPointOnSurface::PointParameterU() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcPointOnSurface::setPointParameterU(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_add2::IfcPointOnSurface::PointParameterV() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_add2::IfcPointOnSurface::PointParameterV() const { double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcPointOnSurface::setPointParameterV(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcPointOnSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[767]); } const IfcParse::entity& Ifc4x3_add2::IfcPointOnSurface::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[767]); } Ifc4x3_add2::IfcPointOnSurface::IfcPointOnSurface(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x3_add2::IfcPointOnSurface::IfcPointOnSurface(::Ifc4x3_add2::IfcSurface* v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) : IfcPoint(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; populate_derived(); } +Ifc4x3_add2::IfcPointOnSurface::IfcPointOnSurface(::Ifc4x3_add2::IfcSurface* v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; populate_derived(); } // Function implementations for IfcPolyLoop -aggregate_of< ::Ifc4x3_add2::IfcCartesianPoint >::ptr Ifc4x3_add2::IfcPolyLoop::Polygon() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcCartesianPoint >(); } +aggregate_of< ::Ifc4x3_add2::IfcCartesianPoint >::ptr Ifc4x3_add2::IfcPolyLoop::Polygon() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcCartesianPoint >(); } void Ifc4x3_add2::IfcPolyLoop::setPolygon(aggregate_of< ::Ifc4x3_add2::IfcCartesianPoint >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add2::IfcPolyLoop::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[772]); } const IfcParse::entity& Ifc4x3_add2::IfcPolyLoop::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[772]); } Ifc4x3_add2::IfcPolyLoop::IfcPolyLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc4x3_add2::IfcPolyLoop::IfcPolyLoop(aggregate_of< ::Ifc4x3_add2::IfcCartesianPoint >::ptr v1_Polygon) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Polygon)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcPolyLoop::IfcPolyLoop(aggregate_of< ::Ifc4x3_add2::IfcCartesianPoint >::ptr v1_Polygon) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Polygon)->generalize());; populate_derived(); } // Function implementations for IfcPolygonalBoundedHalfSpace -::Ifc4x3_add2::IfcAxis2Placement3D* Ifc4x3_add2::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcAxis2Placement3D>(true); } +::Ifc4x3_add2::IfcAxis2Placement3D* Ifc4x3_add2::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcAxis2Placement3D>(true); } void Ifc4x3_add2::IfcPolygonalBoundedHalfSpace::setPosition(::Ifc4x3_add2::IfcAxis2Placement3D* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcBoundedCurve* Ifc4x3_add2::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcBoundedCurve>(true); } +::Ifc4x3_add2::IfcBoundedCurve* Ifc4x3_add2::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcBoundedCurve>(true); } void Ifc4x3_add2::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(::Ifc4x3_add2::IfcBoundedCurve* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcPolygonalBoundedHalfSpace::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[769]); } const IfcParse::entity& Ifc4x3_add2::IfcPolygonalBoundedHalfSpace::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[769]); } Ifc4x3_add2::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(IfcEntityInstanceData&& e) : IfcHalfSpaceSolid(std::move(e)) { } -Ifc4x3_add2::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(::Ifc4x3_add2::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_add2::IfcAxis2Placement3D* v3_Position, ::Ifc4x3_add2::IfcBoundedCurve* v4_PolygonalBoundary) : IfcHalfSpaceSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PolygonalBoundary ? v4_PolygonalBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(::Ifc4x3_add2::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_add2::IfcAxis2Placement3D* v3_Position, ::Ifc4x3_add2::IfcBoundedCurve* v4_PolygonalBoundary) : IfcHalfSpaceSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PolygonalBoundary ? v4_PolygonalBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPolygonalFaceSet -boost::optional< bool > Ifc4x3_add2::IfcPolygonalFaceSet::Closed() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } bool v = data_.get_attribute_value(1); return v; } +boost::optional< bool > Ifc4x3_add2::IfcPolygonalFaceSet::Closed() const { if(get_attribute_value(1).isNull()) { return boost::none; } bool v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcPolygonalFaceSet::setClosed(boost::optional< bool > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3_add2::IfcIndexedPolygonalFace >::ptr Ifc4x3_add2::IfcPolygonalFaceSet::Faces() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcIndexedPolygonalFace >(); } +aggregate_of< ::Ifc4x3_add2::IfcIndexedPolygonalFace >::ptr Ifc4x3_add2::IfcPolygonalFaceSet::Faces() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcIndexedPolygonalFace >(); } void Ifc4x3_add2::IfcPolygonalFaceSet::setFaces(aggregate_of< ::Ifc4x3_add2::IfcIndexedPolygonalFace >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_add2::IfcPolygonalFaceSet::PnIndex() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_add2::IfcPolygonalFaceSet::PnIndex() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcPolygonalFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_add2::IfcPolygonalFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[770]); } const IfcParse::entity& Ifc4x3_add2::IfcPolygonalFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[770]); } Ifc4x3_add2::IfcPolygonalFaceSet::IfcPolygonalFaceSet(IfcEntityInstanceData&& e) : IfcTessellatedFaceSet(std::move(e)) { } -Ifc4x3_add2::IfcPolygonalFaceSet::IfcPolygonalFaceSet(::Ifc4x3_add2::IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v2_Closed, aggregate_of< ::Ifc4x3_add2::IfcIndexedPolygonalFace >::ptr v3_Faces, boost::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) : IfcTessellatedFaceSet(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, (v3_Faces)->generalize()); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); }; populate_derived(); } +Ifc4x3_add2::IfcPolygonalFaceSet::IfcPolygonalFaceSet(::Ifc4x3_add2::IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v2_Closed, aggregate_of< ::Ifc4x3_add2::IfcIndexedPolygonalFace >::ptr v3_Faces, boost::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) : IfcTessellatedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, (v3_Faces)->generalize()); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); }; populate_derived(); } // Function implementations for IfcPolyline -aggregate_of< ::Ifc4x3_add2::IfcCartesianPoint >::ptr Ifc4x3_add2::IfcPolyline::Points() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcCartesianPoint >(); } +aggregate_of< ::Ifc4x3_add2::IfcCartesianPoint >::ptr Ifc4x3_add2::IfcPolyline::Points() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcCartesianPoint >(); } void Ifc4x3_add2::IfcPolyline::setPoints(aggregate_of< ::Ifc4x3_add2::IfcCartesianPoint >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add2::IfcPolyline::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[771]); } const IfcParse::entity& Ifc4x3_add2::IfcPolyline::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[771]); } Ifc4x3_add2::IfcPolyline::IfcPolyline(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_add2::IfcPolyline::IfcPolyline(aggregate_of< ::Ifc4x3_add2::IfcCartesianPoint >::ptr v1_Points) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Points)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcPolyline::IfcPolyline(aggregate_of< ::Ifc4x3_add2::IfcCartesianPoint >::ptr v1_Points) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Points)->generalize());; populate_derived(); } // Function implementations for IfcPolynomialCurve -::Ifc4x3_add2::IfcPlacement* Ifc4x3_add2::IfcPolynomialCurve::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcPlacement>(true); } +::Ifc4x3_add2::IfcPlacement* Ifc4x3_add2::IfcPolynomialCurve::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcPlacement>(true); } void Ifc4x3_add2::IfcPolynomialCurve::setPosition(::Ifc4x3_add2::IfcPlacement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_add2::IfcPolynomialCurve::CoefficientsX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_add2::IfcPolynomialCurve::CoefficientsX() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcPolynomialCurve::setCoefficientsX(boost::optional< std::vector< double > /*[2:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_add2::IfcPolynomialCurve::CoefficientsY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_add2::IfcPolynomialCurve::CoefficientsY() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcPolynomialCurve::setCoefficientsY(boost::optional< std::vector< double > /*[2:?]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_add2::IfcPolynomialCurve::CoefficientsZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_add2::IfcPolynomialCurve::CoefficientsZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcPolynomialCurve::setCoefficientsZ(boost::optional< std::vector< double > /*[2:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_add2::IfcPolynomialCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[773]); } const IfcParse::entity& Ifc4x3_add2::IfcPolynomialCurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[773]); } Ifc4x3_add2::IfcPolynomialCurve::IfcPolynomialCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_add2::IfcPolynomialCurve::IfcPolynomialCurve(::Ifc4x3_add2::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) : IfcCurve(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CoefficientsX) {set_attribute_value(1, (*v2_CoefficientsX)); } if (v3_CoefficientsY) {set_attribute_value(2, (*v3_CoefficientsY)); } if (v4_CoefficientsZ) {set_attribute_value(3, (*v4_CoefficientsZ)); }; populate_derived(); } +Ifc4x3_add2::IfcPolynomialCurve::IfcPolynomialCurve(::Ifc4x3_add2::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) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CoefficientsX) {set_attribute_value(1, (*v2_CoefficientsX)); } if (v3_CoefficientsY) {set_attribute_value(2, (*v3_CoefficientsY)); } if (v4_CoefficientsZ) {set_attribute_value(3, (*v4_CoefficientsZ)); }; populate_derived(); } // Function implementations for IfcPort @@ -13517,7 +13517,7 @@ Ifc4x3_add2::IfcPolynomialCurve::IfcPolynomialCurve(::Ifc4x3_add2::IfcPlacement* const IfcParse::entity& Ifc4x3_add2::IfcPort::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[774]); } const IfcParse::entity& Ifc4x3_add2::IfcPort::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[774]); } Ifc4x3_add2::IfcPort::IfcPort(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_add2::IfcPort::IfcPort(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcPort::IfcPort(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPositioningElement @@ -13527,29 +13527,29 @@ Ifc4x3_add2::IfcPort::IfcPort(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHi const IfcParse::entity& Ifc4x3_add2::IfcPositioningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[775]); } const IfcParse::entity& Ifc4x3_add2::IfcPositioningElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[775]); } Ifc4x3_add2::IfcPositioningElement::IfcPositioningElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_add2::IfcPositioningElement::IfcPositioningElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcPositioningElement::IfcPositioningElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPostalAddress -boost::optional< std::string > Ifc4x3_add2::IfcPostalAddress::InternalLocation() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcPostalAddress::InternalLocation() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcPostalAddress::setInternalLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add2::IfcPostalAddress::AddressLines() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add2::IfcPostalAddress::AddressLines() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcPostalAddress::setAddressLines(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add2::IfcPostalAddress::PostalBox() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcPostalAddress::PostalBox() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcPostalAddress::setPostalBox(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_add2::IfcPostalAddress::Town() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcPostalAddress::Town() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcPostalAddress::setTown(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_add2::IfcPostalAddress::Region() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcPostalAddress::Region() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcPostalAddress::setRegion(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_add2::IfcPostalAddress::PostalCode() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcPostalAddress::PostalCode() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcPostalAddress::setPostalCode(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_add2::IfcPostalAddress::Country() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcPostalAddress::Country() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_add2::IfcPostalAddress::setCountry(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_add2::IfcPostalAddress::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[780]); } const IfcParse::entity& Ifc4x3_add2::IfcPostalAddress::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[780]); } Ifc4x3_add2::IfcPostalAddress::IfcPostalAddress(IfcEntityInstanceData&& e) : IfcAddress(std::move(e)) { } -Ifc4x3_add2::IfcPostalAddress::IfcPostalAddress(boost::optional< ::Ifc4x3_add2::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) : IfcAddress(IfcEntityInstanceData(storage_t(10))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; populate_derived(); } +Ifc4x3_add2::IfcPostalAddress::IfcPostalAddress(boost::optional< ::Ifc4x3_add2::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) : IfcAddress(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; populate_derived(); } // Function implementations for IfcPreDefinedColour @@ -13557,7 +13557,7 @@ Ifc4x3_add2::IfcPostalAddress::IfcPostalAddress(boost::optional< ::Ifc4x3_add2:: const IfcParse::entity& Ifc4x3_add2::IfcPreDefinedColour::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[782]); } const IfcParse::entity& Ifc4x3_add2::IfcPreDefinedColour::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[782]); } Ifc4x3_add2::IfcPreDefinedColour::IfcPreDefinedColour(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc4x3_add2::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_add2::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedCurveFont @@ -13565,17 +13565,17 @@ Ifc4x3_add2::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : Ifc const IfcParse::entity& Ifc4x3_add2::IfcPreDefinedCurveFont::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[783]); } const IfcParse::entity& Ifc4x3_add2::IfcPreDefinedCurveFont::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[783]); } Ifc4x3_add2::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc4x3_add2::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_add2::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedItem -std::string Ifc4x3_add2::IfcPreDefinedItem::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_add2::IfcPreDefinedItem::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcPreDefinedItem::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add2::IfcPreDefinedItem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[784]); } const IfcParse::entity& Ifc4x3_add2::IfcPreDefinedItem::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[784]); } Ifc4x3_add2::IfcPreDefinedItem::IfcPreDefinedItem(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_add2::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedProperties @@ -13583,7 +13583,7 @@ Ifc4x3_add2::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcPres const IfcParse::entity& Ifc4x3_add2::IfcPreDefinedProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[785]); } const IfcParse::entity& Ifc4x3_add2::IfcPreDefinedProperties::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[785]); } Ifc4x3_add2::IfcPreDefinedProperties::IfcPreDefinedProperties(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x3_add2::IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add2::IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPreDefinedPropertySet @@ -13591,7 +13591,7 @@ Ifc4x3_add2::IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbs const IfcParse::entity& Ifc4x3_add2::IfcPreDefinedPropertySet::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[786]); } const IfcParse::entity& Ifc4x3_add2::IfcPreDefinedPropertySet::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[786]); } Ifc4x3_add2::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc4x3_add2::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_add2::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPreDefinedTextFont @@ -13599,7 +13599,7 @@ Ifc4x3_add2::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_G const IfcParse::entity& Ifc4x3_add2::IfcPreDefinedTextFont::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[787]); } const IfcParse::entity& Ifc4x3_add2::IfcPreDefinedTextFont::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[787]); } Ifc4x3_add2::IfcPreDefinedTextFont::IfcPreDefinedTextFont(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc4x3_add2::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_add2::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPresentationItem @@ -13607,74 +13607,74 @@ Ifc4x3_add2::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : const IfcParse::entity& Ifc4x3_add2::IfcPresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[790]); } const IfcParse::entity& Ifc4x3_add2::IfcPresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[790]); } Ifc4x3_add2::IfcPresentationItem::IfcPresentationItem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcPresentationItem::IfcPresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add2::IfcPresentationItem::IfcPresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPresentationLayerAssignment -std::string Ifc4x3_add2::IfcPresentationLayerAssignment::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_add2::IfcPresentationLayerAssignment::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcPresentationLayerAssignment::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_add2::IfcPresentationLayerAssignment::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcPresentationLayerAssignment::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3_add2::IfcLayeredItem >::ptr Ifc4x3_add2::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcLayeredItem >(); } +aggregate_of< ::Ifc4x3_add2::IfcLayeredItem >::ptr Ifc4x3_add2::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcLayeredItem >(); } void Ifc4x3_add2::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x3_add2::IfcLayeredItem >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x3_add2::IfcPresentationLayerAssignment::Identifier() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcPresentationLayerAssignment::Identifier() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_add2::IfcPresentationLayerAssignment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[791]); } const IfcParse::entity& Ifc4x3_add2::IfcPresentationLayerAssignment::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[791]); } Ifc4x3_add2::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add2::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; populate_derived(); } +Ifc4x3_add2::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add2::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; populate_derived(); } // Function implementations for IfcPresentationLayerWithStyle -boost::logic::tribool Ifc4x3_add2::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = data_.get_attribute_value(4); return v; } +boost::logic::tribool Ifc4x3_add2::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcPresentationLayerWithStyle::setLayerOn(boost::logic::tribool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::logic::tribool Ifc4x3_add2::IfcPresentationLayerWithStyle::LayerFrozen() const { boost::logic::tribool v = data_.get_attribute_value(5); return v; } +boost::logic::tribool Ifc4x3_add2::IfcPresentationLayerWithStyle::LayerFrozen() const { boost::logic::tribool v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcPresentationLayerWithStyle::setLayerFrozen(boost::logic::tribool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::logic::tribool Ifc4x3_add2::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = data_.get_attribute_value(6); return v; } +boost::logic::tribool Ifc4x3_add2::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcPresentationLayerWithStyle::setLayerBlocked(boost::logic::tribool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -aggregate_of< ::Ifc4x3_add2::IfcPresentationStyle >::ptr Ifc4x3_add2::IfcPresentationLayerWithStyle::LayerStyles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_add2::IfcPresentationStyle >(); } +aggregate_of< ::Ifc4x3_add2::IfcPresentationStyle >::ptr Ifc4x3_add2::IfcPresentationLayerWithStyle::LayerStyles() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_add2::IfcPresentationStyle >(); } void Ifc4x3_add2::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< ::Ifc4x3_add2::IfcPresentationStyle >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_add2::IfcPresentationLayerWithStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[792]); } const IfcParse::entity& Ifc4x3_add2::IfcPresentationLayerWithStyle::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[792]); } Ifc4x3_add2::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData&& e) : IfcPresentationLayerAssignment(std::move(e)) { } -Ifc4x3_add2::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add2::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_add2::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, (v8_LayerStyles)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add2::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_add2::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, (v8_LayerStyles)->generalize());; populate_derived(); } // Function implementations for IfcPresentationStyle -boost::optional< std::string > Ifc4x3_add2::IfcPresentationStyle::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcPresentationStyle::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcPresentationStyle::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3_add2::IfcPresentationStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[793]); } const IfcParse::entity& Ifc4x3_add2::IfcPresentationStyle::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[793]); } Ifc4x3_add2::IfcPresentationStyle::IfcPresentationStyle(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_add2::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcProcedure -boost::optional< ::Ifc4x3_add2::IfcProcedureTypeEnum::Value > Ifc4x3_add2::IfcProcedure::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcProcedureTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_add2::IfcProcedureTypeEnum::Value > Ifc4x3_add2::IfcProcedure::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcProcedureTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add2::IfcProcedure::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcProcedureTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_add2::IfcProcedureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_add2::IfcProcedure::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[795]); } const IfcParse::entity& Ifc4x3_add2::IfcProcedure::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[795]); } Ifc4x3_add2::IfcProcedure::IfcProcedure(IfcEntityInstanceData&& e) : IfcProcess(std::move(e)) { } -Ifc4x3_add2::IfcProcedure::IfcProcedure(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcProcedureTypeEnum::Value > v8_PredefinedType) : IfcProcess(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcProcedure::IfcProcedure(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcProcedureTypeEnum::Value > v8_PredefinedType) : IfcProcess(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProcedureType -::Ifc4x3_add2::IfcProcedureTypeEnum::Value Ifc4x3_add2::IfcProcedureType::PredefinedType() const { return ::Ifc4x3_add2::IfcProcedureTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcProcedureTypeEnum::Value Ifc4x3_add2::IfcProcedureType::PredefinedType() const { return ::Ifc4x3_add2::IfcProcedureTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcProcedureType::setPredefinedType(::Ifc4x3_add2::IfcProcedureTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcProcedureTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcProcedureType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[796]); } const IfcParse::entity& Ifc4x3_add2::IfcProcedureType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[796]); } Ifc4x3_add2::IfcProcedureType::IfcProcedureType(IfcEntityInstanceData&& e) : IfcTypeProcess(std::move(e)) { } -Ifc4x3_add2::IfcProcedureType::IfcProcedureType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_add2::IfcProcedureTypeEnum::Value v10_PredefinedType) : IfcTypeProcess(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcProcedureType::IfcProcedureType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_add2::IfcProcedureTypeEnum::Value v10_PredefinedType) : IfcTypeProcess(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcProcess -boost::optional< std::string > Ifc4x3_add2::IfcProcess::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcProcess::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcProcess::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_add2::IfcProcess::LongDescription() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcProcess::LongDescription() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcProcess::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_add2::IfcRelSequence::list::ptr Ifc4x3_add2::IfcProcess::IsPredecessorTo() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[943], 4)->as(); } @@ -13684,12 +13684,12 @@ void Ifc4x3_add2::IfcProcess::setLongDescription(boost::optional< std::string > const IfcParse::entity& Ifc4x3_add2::IfcProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[798]); } const IfcParse::entity& Ifc4x3_add2::IfcProcess::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[798]); } Ifc4x3_add2::IfcProcess::IfcProcess(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_add2::IfcProcess::IfcProcess(std::string v1_GlobalId, ::Ifc4x3_add2::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(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } +Ifc4x3_add2::IfcProcess::IfcProcess(std::string v1_GlobalId, ::Ifc4x3_add2::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(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } // Function implementations for IfcProduct -::Ifc4x3_add2::IfcObjectPlacement* Ifc4x3_add2::IfcProduct::ObjectPlacement() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcObjectPlacement>(true); } +::Ifc4x3_add2::IfcObjectPlacement* Ifc4x3_add2::IfcProduct::ObjectPlacement() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcObjectPlacement>(true); } void Ifc4x3_add2::IfcProduct::setObjectPlacement(::Ifc4x3_add2::IfcObjectPlacement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add2::IfcProductRepresentation* Ifc4x3_add2::IfcProduct::Representation() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add2::IfcProductRepresentation>(true); } +::Ifc4x3_add2::IfcProductRepresentation* Ifc4x3_add2::IfcProduct::Representation() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add2::IfcProductRepresentation>(true); } void Ifc4x3_add2::IfcProduct::setRepresentation(::Ifc4x3_add2::IfcProductRepresentation* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } ::Ifc4x3_add2::IfcRelAssignsToProduct::list::ptr Ifc4x3_add2::IfcProduct::ReferencedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[906], 6)->as(); } @@ -13699,7 +13699,7 @@ void Ifc4x3_add2::IfcProduct::setRepresentation(::Ifc4x3_add2::IfcProductReprese const IfcParse::entity& Ifc4x3_add2::IfcProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[800]); } const IfcParse::entity& Ifc4x3_add2::IfcProduct::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[800]); } Ifc4x3_add2::IfcProduct::IfcProduct(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_add2::IfcProduct::IfcProduct(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation) : IfcObject(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcProduct::IfcProduct(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProductDefinitionShape @@ -13709,26 +13709,26 @@ Ifc4x3_add2::IfcProduct::IfcProduct(std::string v1_GlobalId, ::Ifc4x3_add2::IfcO const IfcParse::entity& Ifc4x3_add2::IfcProductDefinitionShape::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[801]); } const IfcParse::entity& Ifc4x3_add2::IfcProductDefinitionShape::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[801]); } Ifc4x3_add2::IfcProductDefinitionShape::IfcProductDefinitionShape(IfcEntityInstanceData&& e) : IfcProductRepresentation(std::move(e)) { } -Ifc4x3_add2::IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add2::IfcRepresentation >::ptr v3_Representations) : IfcProductRepresentation(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add2::IfcRepresentation >::ptr v3_Representations) : IfcProductRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } // Function implementations for IfcProductRepresentation -boost::optional< std::string > Ifc4x3_add2::IfcProductRepresentation::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcProductRepresentation::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcProductRepresentation::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add2::IfcProductRepresentation::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcProductRepresentation::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcProductRepresentation::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3_add2::IfcRepresentation >::ptr Ifc4x3_add2::IfcProductRepresentation::Representations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcRepresentation >(); } +aggregate_of< ::Ifc4x3_add2::IfcRepresentation >::ptr Ifc4x3_add2::IfcProductRepresentation::Representations() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcRepresentation >(); } void Ifc4x3_add2::IfcProductRepresentation::setRepresentations(aggregate_of< ::Ifc4x3_add2::IfcRepresentation >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcProductRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[802]); } const IfcParse::entity& Ifc4x3_add2::IfcProductRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[802]); } Ifc4x3_add2::IfcProductRepresentation::IfcProductRepresentation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcProductRepresentation::IfcProductRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add2::IfcRepresentation >::ptr v3_Representations) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcProductRepresentation::IfcProductRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add2::IfcRepresentation >::ptr v3_Representations) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } // Function implementations for IfcProfileDef -::Ifc4x3_add2::IfcProfileTypeEnum::Value Ifc4x3_add2::IfcProfileDef::ProfileType() const { return ::Ifc4x3_add2::IfcProfileTypeEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_add2::IfcProfileTypeEnum::Value Ifc4x3_add2::IfcProfileDef::ProfileType() const { return ::Ifc4x3_add2::IfcProfileTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x3_add2::IfcProfileDef::setProfileType(::Ifc4x3_add2::IfcProfileTypeEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_add2::IfcProfileDef::ProfileName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcProfileDef::ProfileName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcProfileDef::setProfileName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x3_add2::IfcExternalReferenceRelationship::list::ptr Ifc4x3_add2::IfcProfileDef::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[427], 3)->as(); } @@ -13737,17 +13737,17 @@ void Ifc4x3_add2::IfcProfileDef::setProfileName(boost::optional< std::string > v const IfcParse::entity& Ifc4x3_add2::IfcProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[805]); } const IfcParse::entity& Ifc4x3_add2::IfcProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[805]); } Ifc4x3_add2::IfcProfileDef::IfcProfileDef(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcProfileDef::IfcProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; populate_derived(); } +Ifc4x3_add2::IfcProfileDef::IfcProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; populate_derived(); } // Function implementations for IfcProfileProperties -::Ifc4x3_add2::IfcProfileDef* Ifc4x3_add2::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcProfileDef>(true); } +::Ifc4x3_add2::IfcProfileDef* Ifc4x3_add2::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcProfileDef>(true); } void Ifc4x3_add2::IfcProfileProperties::setProfileDefinition(::Ifc4x3_add2::IfcProfileDef* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcProfileProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[806]); } const IfcParse::entity& Ifc4x3_add2::IfcProfileProperties::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[806]); } Ifc4x3_add2::IfcProfileProperties::IfcProfileProperties(IfcEntityInstanceData&& e) : IfcExtendedProperties(std::move(e)) { } -Ifc4x3_add2::IfcProfileProperties::IfcProfileProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add2::IfcProperty >::ptr v3_Properties, ::Ifc4x3_add2::IfcProfileDef* v4_ProfileDefinition) : IfcExtendedProperties(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_ProfileDefinition ? v4_ProfileDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcProfileProperties::IfcProfileProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add2::IfcProperty >::ptr v3_Properties, ::Ifc4x3_add2::IfcProfileDef* v4_ProfileDefinition) : IfcExtendedProperties(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_ProfileDefinition ? v4_ProfileDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProject @@ -13755,7 +13755,7 @@ Ifc4x3_add2::IfcProfileProperties::IfcProfileProperties(boost::optional< std::st const IfcParse::entity& Ifc4x3_add2::IfcProject::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[808]); } const IfcParse::entity& Ifc4x3_add2::IfcProject::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[808]); } Ifc4x3_add2::IfcProject::IfcProject(IfcEntityInstanceData&& e) : IfcContext(std::move(e)) { } -Ifc4x3_add2::IfcProject::IfcProject(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_add2::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcProject::IfcProject(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_add2::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProjectLibrary @@ -13763,52 +13763,52 @@ Ifc4x3_add2::IfcProject::IfcProject(std::string v1_GlobalId, ::Ifc4x3_add2::IfcO const IfcParse::entity& Ifc4x3_add2::IfcProjectLibrary::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[813]); } const IfcParse::entity& Ifc4x3_add2::IfcProjectLibrary::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[813]); } Ifc4x3_add2::IfcProjectLibrary::IfcProjectLibrary(IfcEntityInstanceData&& e) : IfcContext(std::move(e)) { } -Ifc4x3_add2::IfcProjectLibrary::IfcProjectLibrary(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_add2::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcProjectLibrary::IfcProjectLibrary(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_add2::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProjectOrder -boost::optional< ::Ifc4x3_add2::IfcProjectOrderTypeEnum::Value > Ifc4x3_add2::IfcProjectOrder::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcProjectOrderTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_add2::IfcProjectOrderTypeEnum::Value > Ifc4x3_add2::IfcProjectOrder::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcProjectOrderTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_add2::IfcProjectOrder::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcProjectOrderTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_add2::IfcProjectOrderTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_add2::IfcProjectOrder::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcProjectOrder::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcProjectOrder::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_add2::IfcProjectOrder::LongDescription() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcProjectOrder::LongDescription() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcProjectOrder::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcProjectOrder::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[814]); } const IfcParse::entity& Ifc4x3_add2::IfcProjectOrder::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[814]); } Ifc4x3_add2::IfcProjectOrder::IfcProjectOrder(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_add2::IfcProjectOrder::IfcProjectOrder(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add2::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } +Ifc4x3_add2::IfcProjectOrder::IfcProjectOrder(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add2::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } // Function implementations for IfcProjectedCRS -boost::optional< std::string > Ifc4x3_add2::IfcProjectedCRS::VerticalDatum() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcProjectedCRS::VerticalDatum() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcProjectedCRS::setVerticalDatum(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_add2::IfcProjectedCRS::MapProjection() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcProjectedCRS::MapProjection() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcProjectedCRS::setMapProjection(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add2::IfcProjectedCRS::MapZone() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcProjectedCRS::MapZone() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcProjectedCRS::setMapZone(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_add2::IfcNamedUnit* Ifc4x3_add2::IfcProjectedCRS::MapUnit() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add2::IfcNamedUnit>(true); } +::Ifc4x3_add2::IfcNamedUnit* Ifc4x3_add2::IfcProjectedCRS::MapUnit() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add2::IfcNamedUnit>(true); } void Ifc4x3_add2::IfcProjectedCRS::setMapUnit(::Ifc4x3_add2::IfcNamedUnit* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add2::IfcProjectedCRS::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[809]); } const IfcParse::entity& Ifc4x3_add2::IfcProjectedCRS::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[809]); } Ifc4x3_add2::IfcProjectedCRS::IfcProjectedCRS(IfcEntityInstanceData&& e) : IfcCoordinateReferenceSystem(std::move(e)) { } -Ifc4x3_add2::IfcProjectedCRS::IfcProjectedCRS(boost::optional< 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_add2::IfcNamedUnit* v7_MapUnit) : IfcCoordinateReferenceSystem(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, v7_MapUnit ? v7_MapUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcProjectedCRS::IfcProjectedCRS(boost::optional< 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_add2::IfcNamedUnit* v7_MapUnit) : IfcCoordinateReferenceSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, v7_MapUnit ? v7_MapUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProjectionElement -boost::optional< ::Ifc4x3_add2::IfcProjectionElementTypeEnum::Value > Ifc4x3_add2::IfcProjectionElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcProjectionElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcProjectionElementTypeEnum::Value > Ifc4x3_add2::IfcProjectionElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcProjectionElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcProjectionElement::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcProjectionElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcProjectionElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcProjectionElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[811]); } const IfcParse::entity& Ifc4x3_add2::IfcProjectionElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[811]); } Ifc4x3_add2::IfcProjectionElement::IfcProjectionElement(IfcEntityInstanceData&& e) : IfcFeatureElementAddition(std::move(e)) { } -Ifc4x3_add2::IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementAddition(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementAddition(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProperty -std::string Ifc4x3_add2::IfcProperty::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_add2::IfcProperty::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcProperty::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_add2::IfcProperty::Specification() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcProperty::Specification() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcProperty::setSpecification(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x3_add2::IfcPropertySet::list::ptr Ifc4x3_add2::IfcProperty::PartOfPset() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[825], 4)->as(); } @@ -13821,7 +13821,7 @@ void Ifc4x3_add2::IfcProperty::setSpecification(boost::optional< std::string > v const IfcParse::entity& Ifc4x3_add2::IfcProperty::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[816]); } const IfcParse::entity& Ifc4x3_add2::IfcProperty::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[816]); } Ifc4x3_add2::IfcProperty::IfcProperty(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x3_add2::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std::string > v2_Specification) : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }; populate_derived(); } +Ifc4x3_add2::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std::string > v2_Specification) : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }; populate_derived(); } // Function implementations for IfcPropertyAbstraction @@ -13830,23 +13830,23 @@ Ifc4x3_add2::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std: const IfcParse::entity& Ifc4x3_add2::IfcPropertyAbstraction::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[817]); } const IfcParse::entity& Ifc4x3_add2::IfcPropertyAbstraction::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[817]); } Ifc4x3_add2::IfcPropertyAbstraction::IfcPropertyAbstraction(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcPropertyAbstraction::IfcPropertyAbstraction() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add2::IfcPropertyAbstraction::IfcPropertyAbstraction() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPropertyBoundedValue -::Ifc4x3_add2::IfcValue* Ifc4x3_add2::IfcPropertyBoundedValue::UpperBoundValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcValue>(true); } +::Ifc4x3_add2::IfcValue* Ifc4x3_add2::IfcPropertyBoundedValue::UpperBoundValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcValue>(true); } void Ifc4x3_add2::IfcPropertyBoundedValue::setUpperBoundValue(::Ifc4x3_add2::IfcValue* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcValue* Ifc4x3_add2::IfcPropertyBoundedValue::LowerBoundValue() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcValue>(true); } +::Ifc4x3_add2::IfcValue* Ifc4x3_add2::IfcPropertyBoundedValue::LowerBoundValue() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcValue>(true); } void Ifc4x3_add2::IfcPropertyBoundedValue::setLowerBoundValue(::Ifc4x3_add2::IfcValue* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add2::IfcUnit* Ifc4x3_add2::IfcPropertyBoundedValue::Unit() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcUnit>(true); } +::Ifc4x3_add2::IfcUnit* Ifc4x3_add2::IfcPropertyBoundedValue::Unit() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcUnit>(true); } void Ifc4x3_add2::IfcPropertyBoundedValue::setUnit(::Ifc4x3_add2::IfcUnit* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcValue* Ifc4x3_add2::IfcPropertyBoundedValue::SetPointValue() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcValue>(true); } +::Ifc4x3_add2::IfcValue* Ifc4x3_add2::IfcPropertyBoundedValue::SetPointValue() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcValue>(true); } void Ifc4x3_add2::IfcPropertyBoundedValue::setSetPointValue(::Ifc4x3_add2::IfcValue* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcPropertyBoundedValue::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[818]); } const IfcParse::entity& Ifc4x3_add2::IfcPropertyBoundedValue::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[818]); } Ifc4x3_add2::IfcPropertyBoundedValue::IfcPropertyBoundedValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_add2::IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name, boost::optional< std::string > v2_Specification, ::Ifc4x3_add2::IfcValue* v3_UpperBoundValue, ::Ifc4x3_add2::IfcValue* v4_LowerBoundValue, ::Ifc4x3_add2::IfcUnit* v5_Unit, ::Ifc4x3_add2::IfcValue* v6_SetPointValue) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, v3_UpperBoundValue ? v3_UpperBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_LowerBoundValue ? v4_LowerBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_Unit ? v5_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_SetPointValue ? v6_SetPointValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name, boost::optional< std::string > v2_Specification, ::Ifc4x3_add2::IfcValue* v3_UpperBoundValue, ::Ifc4x3_add2::IfcValue* v4_LowerBoundValue, ::Ifc4x3_add2::IfcUnit* v5_Unit, ::Ifc4x3_add2::IfcValue* v6_SetPointValue) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, v3_UpperBoundValue ? v3_UpperBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_LowerBoundValue ? v4_LowerBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_Unit ? v5_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_SetPointValue ? v6_SetPointValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyDefinition @@ -13856,81 +13856,81 @@ Ifc4x3_add2::IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Nam const IfcParse::entity& Ifc4x3_add2::IfcPropertyDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[819]); } const IfcParse::entity& Ifc4x3_add2::IfcPropertyDefinition::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[819]); } Ifc4x3_add2::IfcPropertyDefinition::IfcPropertyDefinition(IfcEntityInstanceData&& e) : IfcRoot(std::move(e)) { } -Ifc4x3_add2::IfcPropertyDefinition::IfcPropertyDefinition(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_add2::IfcPropertyDefinition::IfcPropertyDefinition(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertyDependencyRelationship -::Ifc4x3_add2::IfcProperty* Ifc4x3_add2::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcProperty>(true); } +::Ifc4x3_add2::IfcProperty* Ifc4x3_add2::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcProperty>(true); } void Ifc4x3_add2::IfcPropertyDependencyRelationship::setDependingProperty(::Ifc4x3_add2::IfcProperty* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcProperty* Ifc4x3_add2::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcProperty>(true); } +::Ifc4x3_add2::IfcProperty* Ifc4x3_add2::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcProperty>(true); } void Ifc4x3_add2::IfcPropertyDependencyRelationship::setDependantProperty(::Ifc4x3_add2::IfcProperty* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_add2::IfcPropertyDependencyRelationship::Expression() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcPropertyDependencyRelationship::Expression() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add2::IfcPropertyDependencyRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[820]); } const IfcParse::entity& Ifc4x3_add2::IfcPropertyDependencyRelationship::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[820]); } Ifc4x3_add2::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_add2::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcProperty* v3_DependingProperty, ::Ifc4x3_add2::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_DependingProperty ? v3_DependingProperty->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_DependantProperty ? v4_DependantProperty->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } +Ifc4x3_add2::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcProperty* v3_DependingProperty, ::Ifc4x3_add2::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_DependingProperty ? v3_DependingProperty->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_DependantProperty ? v4_DependantProperty->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } // Function implementations for IfcPropertyEnumeratedValue -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr > Ifc4x3_add2::IfcPropertyEnumeratedValue::EnumerationValues() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr > Ifc4x3_add2::IfcPropertyEnumeratedValue::EnumerationValues() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcValue >(); } void Ifc4x3_add2::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } -::Ifc4x3_add2::IfcPropertyEnumeration* Ifc4x3_add2::IfcPropertyEnumeratedValue::EnumerationReference() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcPropertyEnumeration>(true); } +::Ifc4x3_add2::IfcPropertyEnumeration* Ifc4x3_add2::IfcPropertyEnumeratedValue::EnumerationReference() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcPropertyEnumeration>(true); } void Ifc4x3_add2::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_add2::IfcPropertyEnumeration* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcPropertyEnumeratedValue::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[821]); } const IfcParse::entity& Ifc4x3_add2::IfcPropertyEnumeratedValue::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[821]); } Ifc4x3_add2::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_add2::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_add2::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_EnumerationValues) {set_attribute_value(2, (*v3_EnumerationValues)->generalize()); }set_attribute_value(3, v4_EnumerationReference ? v4_EnumerationReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_add2::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_EnumerationValues) {set_attribute_value(2, (*v3_EnumerationValues)->generalize()); }set_attribute_value(3, v4_EnumerationReference ? v4_EnumerationReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyEnumeration -std::string Ifc4x3_add2::IfcPropertyEnumeration::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_add2::IfcPropertyEnumeration::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcPropertyEnumeration::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr Ifc4x3_add2::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcValue >(); } +aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr Ifc4x3_add2::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcValue >(); } void Ifc4x3_add2::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcUnit* Ifc4x3_add2::IfcPropertyEnumeration::Unit() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcUnit>(true); } +::Ifc4x3_add2::IfcUnit* Ifc4x3_add2::IfcPropertyEnumeration::Unit() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcUnit>(true); } void Ifc4x3_add2::IfcPropertyEnumeration::setUnit(::Ifc4x3_add2::IfcUnit* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcPropertyEnumeration::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[822]); } const IfcParse::entity& Ifc4x3_add2::IfcPropertyEnumeration::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[822]); } Ifc4x3_add2::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x3_add2::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_add2::IfcUnit* v3_Unit) : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_EnumerationValues)->generalize());set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_add2::IfcUnit* v3_Unit) : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_EnumerationValues)->generalize());set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyListValue -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr > Ifc4x3_add2::IfcPropertyListValue::ListValues() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr > Ifc4x3_add2::IfcPropertyListValue::ListValues() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcValue >(); } void Ifc4x3_add2::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } -::Ifc4x3_add2::IfcUnit* Ifc4x3_add2::IfcPropertyListValue::Unit() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcUnit>(true); } +::Ifc4x3_add2::IfcUnit* Ifc4x3_add2::IfcPropertyListValue::Unit() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcUnit>(true); } void Ifc4x3_add2::IfcPropertyListValue::setUnit(::Ifc4x3_add2::IfcUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcPropertyListValue::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[823]); } const IfcParse::entity& Ifc4x3_add2::IfcPropertyListValue::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[823]); } Ifc4x3_add2::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_add2::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_add2::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_ListValues) {set_attribute_value(2, (*v3_ListValues)->generalize()); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_add2::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_ListValues) {set_attribute_value(2, (*v3_ListValues)->generalize()); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyReferenceValue -boost::optional< std::string > Ifc4x3_add2::IfcPropertyReferenceValue::UsageName() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcPropertyReferenceValue::UsageName() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_add2::IfcObjectReferenceSelect* Ifc4x3_add2::IfcPropertyReferenceValue::PropertyReference() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcObjectReferenceSelect>(true); } +::Ifc4x3_add2::IfcObjectReferenceSelect* Ifc4x3_add2::IfcPropertyReferenceValue::PropertyReference() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcObjectReferenceSelect>(true); } void Ifc4x3_add2::IfcPropertyReferenceValue::setPropertyReference(::Ifc4x3_add2::IfcObjectReferenceSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcPropertyReferenceValue::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[824]); } const IfcParse::entity& Ifc4x3_add2::IfcPropertyReferenceValue::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[824]); } Ifc4x3_add2::IfcPropertyReferenceValue::IfcPropertyReferenceValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_add2::IfcPropertyReferenceValue::IfcPropertyReferenceValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< std::string > v3_UsageName, ::Ifc4x3_add2::IfcObjectReferenceSelect* v4_PropertyReference) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, v4_PropertyReference ? v4_PropertyReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcPropertyReferenceValue::IfcPropertyReferenceValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< std::string > v3_UsageName, ::Ifc4x3_add2::IfcObjectReferenceSelect* v4_PropertyReference) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, v4_PropertyReference ? v4_PropertyReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertySet -aggregate_of< ::Ifc4x3_add2::IfcProperty >::ptr Ifc4x3_add2::IfcPropertySet::HasProperties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_add2::IfcProperty >(); } +aggregate_of< ::Ifc4x3_add2::IfcProperty >::ptr Ifc4x3_add2::IfcPropertySet::HasProperties() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_add2::IfcProperty >(); } void Ifc4x3_add2::IfcPropertySet::setHasProperties(aggregate_of< ::Ifc4x3_add2::IfcProperty >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add2::IfcPropertySet::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[825]); } const IfcParse::entity& Ifc4x3_add2::IfcPropertySet::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[825]); } Ifc4x3_add2::IfcPropertySet::IfcPropertySet(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc4x3_add2::IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcProperty >::ptr v5_HasProperties) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_HasProperties)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcProperty >::ptr v5_HasProperties) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_HasProperties)->generalize());; populate_derived(); } // Function implementations for IfcPropertySetDefinition @@ -13941,14 +13941,14 @@ Ifc4x3_add2::IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, ::Ifc4x3_ad const IfcParse::entity& Ifc4x3_add2::IfcPropertySetDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[826]); } const IfcParse::entity& Ifc4x3_add2::IfcPropertySetDefinition::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[826]); } Ifc4x3_add2::IfcPropertySetDefinition::IfcPropertySetDefinition(IfcEntityInstanceData&& e) : IfcPropertyDefinition(std::move(e)) { } -Ifc4x3_add2::IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_add2::IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertySetTemplate -boost::optional< ::Ifc4x3_add2::IfcPropertySetTemplateTypeEnum::Value > Ifc4x3_add2::IfcPropertySetTemplate::TemplateType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcPropertySetTemplateTypeEnum::FromString(data_.get_attribute_value(4)); } +boost::optional< ::Ifc4x3_add2::IfcPropertySetTemplateTypeEnum::Value > Ifc4x3_add2::IfcPropertySetTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcPropertySetTemplateTypeEnum::FromString(get_attribute_value(4)); } void Ifc4x3_add2::IfcPropertySetTemplate::setTemplateType(boost::optional< ::Ifc4x3_add2::IfcPropertySetTemplateTypeEnum::Value > v) { if (v) {set_attribute_value(4, EnumerationReference(&::Ifc4x3_add2::IfcPropertySetTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add2::IfcPropertySetTemplate::ApplicableEntity() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcPropertySetTemplate::ApplicableEntity() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcPropertySetTemplate::setApplicableEntity(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -aggregate_of< ::Ifc4x3_add2::IfcPropertyTemplate >::ptr Ifc4x3_add2::IfcPropertySetTemplate::HasPropertyTemplates() const { aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3_add2::IfcPropertyTemplate >(); } +aggregate_of< ::Ifc4x3_add2::IfcPropertyTemplate >::ptr Ifc4x3_add2::IfcPropertySetTemplate::HasPropertyTemplates() const { aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3_add2::IfcPropertyTemplate >(); } void Ifc4x3_add2::IfcPropertySetTemplate::setHasPropertyTemplates(aggregate_of< ::Ifc4x3_add2::IfcPropertyTemplate >::ptr v) { set_attribute_value(6, (v)->generalize());if constexpr (false)unset_attribute_value(6); } ::Ifc4x3_add2::IfcRelDefinesByTemplate::list::ptr Ifc4x3_add2::IfcPropertySetTemplate::Defines() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[934], 5)->as(); } @@ -13956,39 +13956,39 @@ void Ifc4x3_add2::IfcPropertySetTemplate::setHasPropertyTemplates(aggregate_of< const IfcParse::entity& Ifc4x3_add2::IfcPropertySetTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[829]); } const IfcParse::entity& Ifc4x3_add2::IfcPropertySetTemplate::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[829]); } Ifc4x3_add2::IfcPropertySetTemplate::IfcPropertySetTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplateDefinition(std::move(e)) { } -Ifc4x3_add2::IfcPropertySetTemplate::IfcPropertySetTemplate(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x3_add2::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_ApplicableEntity, aggregate_of< ::Ifc4x3_add2::IfcPropertyTemplate >::ptr v7_HasPropertyTemplates) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add2::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, (v7_HasPropertyTemplates)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcPropertySetTemplate::IfcPropertySetTemplate(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x3_add2::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_ApplicableEntity, aggregate_of< ::Ifc4x3_add2::IfcPropertyTemplate >::ptr v7_HasPropertyTemplates) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add2::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, (v7_HasPropertyTemplates)->generalize());; populate_derived(); } // Function implementations for IfcPropertySingleValue -::Ifc4x3_add2::IfcValue* Ifc4x3_add2::IfcPropertySingleValue::NominalValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcValue>(true); } +::Ifc4x3_add2::IfcValue* Ifc4x3_add2::IfcPropertySingleValue::NominalValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcValue>(true); } void Ifc4x3_add2::IfcPropertySingleValue::setNominalValue(::Ifc4x3_add2::IfcValue* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcUnit* Ifc4x3_add2::IfcPropertySingleValue::Unit() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcUnit>(true); } +::Ifc4x3_add2::IfcUnit* Ifc4x3_add2::IfcPropertySingleValue::Unit() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcUnit>(true); } void Ifc4x3_add2::IfcPropertySingleValue::setUnit(::Ifc4x3_add2::IfcUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcPropertySingleValue::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[831]); } const IfcParse::entity& Ifc4x3_add2::IfcPropertySingleValue::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[831]); } Ifc4x3_add2::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_add2::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Specification, ::Ifc4x3_add2::IfcValue* v3_NominalValue, ::Ifc4x3_add2::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, v3_NominalValue ? v3_NominalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Specification, ::Ifc4x3_add2::IfcValue* v3_NominalValue, ::Ifc4x3_add2::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, v3_NominalValue ? v3_NominalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyTableValue -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr > Ifc4x3_add2::IfcPropertyTableValue::DefiningValues() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr > Ifc4x3_add2::IfcPropertyTableValue::DefiningValues() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcValue >(); } void Ifc4x3_add2::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr > Ifc4x3_add2::IfcPropertyTableValue::DefinedValues() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_add2::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr > Ifc4x3_add2::IfcPropertyTableValue::DefinedValues() const { if(get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_add2::IfcValue >(); } void Ifc4x3_add2::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr > v) { if (v) {set_attribute_value(3, (*v)->generalize());} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_add2::IfcPropertyTableValue::Expression() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcPropertyTableValue::Expression() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_add2::IfcUnit* Ifc4x3_add2::IfcPropertyTableValue::DefiningUnit() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcUnit>(true); } +::Ifc4x3_add2::IfcUnit* Ifc4x3_add2::IfcPropertyTableValue::DefiningUnit() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcUnit>(true); } void Ifc4x3_add2::IfcPropertyTableValue::setDefiningUnit(::Ifc4x3_add2::IfcUnit* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add2::IfcUnit* Ifc4x3_add2::IfcPropertyTableValue::DefinedUnit() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add2::IfcUnit>(true); } +::Ifc4x3_add2::IfcUnit* Ifc4x3_add2::IfcPropertyTableValue::DefinedUnit() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add2::IfcUnit>(true); } void Ifc4x3_add2::IfcPropertyTableValue::setDefinedUnit(::Ifc4x3_add2::IfcUnit* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< ::Ifc4x3_add2::IfcCurveInterpolationEnum::Value > Ifc4x3_add2::IfcPropertyTableValue::CurveInterpolation() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCurveInterpolationEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_add2::IfcCurveInterpolationEnum::Value > Ifc4x3_add2::IfcPropertyTableValue::CurveInterpolation() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcCurveInterpolationEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add2::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc4x3_add2::IfcCurveInterpolationEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_add2::IfcCurveInterpolationEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_add2::IfcPropertyTableValue::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[832]); } const IfcParse::entity& Ifc4x3_add2::IfcPropertyTableValue::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[832]); } Ifc4x3_add2::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_add2::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_add2::IfcUnit* v6_DefiningUnit, ::Ifc4x3_add2::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_add2::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_DefiningValues) {set_attribute_value(2, (*v3_DefiningValues)->generalize()); } if (v4_DefinedValues) {set_attribute_value(3, (*v4_DefinedValues)->generalize()); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, v6_DefiningUnit ? v6_DefiningUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_DefinedUnit ? v7_DefinedUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_CurveInterpolation) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); }; populate_derived(); } +Ifc4x3_add2::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_add2::IfcUnit* v6_DefiningUnit, ::Ifc4x3_add2::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_add2::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_DefiningValues) {set_attribute_value(2, (*v3_DefiningValues)->generalize()); } if (v4_DefinedValues) {set_attribute_value(3, (*v4_DefinedValues)->generalize()); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, v6_DefiningUnit ? v6_DefiningUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_DefinedUnit ? v7_DefinedUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_CurveInterpolation) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); }; populate_derived(); } // Function implementations for IfcPropertyTemplate @@ -13998,7 +13998,7 @@ Ifc4x3_add2::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, b const IfcParse::entity& Ifc4x3_add2::IfcPropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[833]); } const IfcParse::entity& Ifc4x3_add2::IfcPropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[833]); } Ifc4x3_add2::IfcPropertyTemplate::IfcPropertyTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplateDefinition(std::move(e)) { } -Ifc4x3_add2::IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_add2::IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertyTemplateDefinition @@ -14006,115 +14006,115 @@ Ifc4x3_add2::IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, : const IfcParse::entity& Ifc4x3_add2::IfcPropertyTemplateDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[834]); } const IfcParse::entity& Ifc4x3_add2::IfcPropertyTemplateDefinition::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[834]); } Ifc4x3_add2::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(IfcEntityInstanceData&& e) : IfcPropertyDefinition(std::move(e)) { } -Ifc4x3_add2::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_add2::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcProtectiveDevice -boost::optional< ::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Value > Ifc4x3_add2::IfcProtectiveDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Value > Ifc4x3_add2::IfcProtectiveDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcProtectiveDevice::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcProtectiveDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[835]); } const IfcParse::entity& Ifc4x3_add2::IfcProtectiveDevice::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[835]); } Ifc4x3_add2::IfcProtectiveDevice::IfcProtectiveDevice(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_add2::IfcProtectiveDevice::IfcProtectiveDevice(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcProtectiveDevice::IfcProtectiveDevice(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProtectiveDeviceTrippingUnit -boost::optional< ::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x3_add2::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x3_add2::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcProtectiveDeviceTrippingUnit::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcProtectiveDeviceTrippingUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[836]); } const IfcParse::entity& Ifc4x3_add2::IfcProtectiveDeviceTrippingUnit::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[836]); } Ifc4x3_add2::IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_add2::IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProtectiveDeviceTrippingUnitType -::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitType::setPredefinedType(::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[837]); } const IfcParse::entity& Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[837]); } Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcProtectiveDeviceType -::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Value Ifc4x3_add2::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Value Ifc4x3_add2::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcProtectiveDeviceType::setPredefinedType(::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcProtectiveDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[839]); } const IfcParse::entity& Ifc4x3_add2::IfcProtectiveDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[839]); } Ifc4x3_add2::IfcProtectiveDeviceType::IfcProtectiveDeviceType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_add2::IfcProtectiveDeviceType::IfcProtectiveDeviceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcProtectiveDeviceType::IfcProtectiveDeviceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPump -boost::optional< ::Ifc4x3_add2::IfcPumpTypeEnum::Value > Ifc4x3_add2::IfcPump::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcPumpTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcPumpTypeEnum::Value > Ifc4x3_add2::IfcPump::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcPumpTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcPump::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcPumpTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcPumpTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcPump::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[841]); } const IfcParse::entity& Ifc4x3_add2::IfcPump::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[841]); } Ifc4x3_add2::IfcPump::IfcPump(IfcEntityInstanceData&& e) : IfcFlowMovingDevice(std::move(e)) { } -Ifc4x3_add2::IfcPump::IfcPump(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcPumpTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcPump::IfcPump(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcPumpTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPumpType -::Ifc4x3_add2::IfcPumpTypeEnum::Value Ifc4x3_add2::IfcPumpType::PredefinedType() const { return ::Ifc4x3_add2::IfcPumpTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcPumpTypeEnum::Value Ifc4x3_add2::IfcPumpType::PredefinedType() const { return ::Ifc4x3_add2::IfcPumpTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcPumpType::setPredefinedType(::Ifc4x3_add2::IfcPumpTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcPumpTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcPumpType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[842]); } const IfcParse::entity& Ifc4x3_add2::IfcPumpType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[842]); } Ifc4x3_add2::IfcPumpType::IfcPumpType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(e)) { } -Ifc4x3_add2::IfcPumpType::IfcPumpType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPumpTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcPumpType::IfcPumpType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcPumpTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcQuantityArea -double Ifc4x3_add2::IfcQuantityArea::AreaValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add2::IfcQuantityArea::AreaValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcQuantityArea::setAreaValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_add2::IfcQuantityArea::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcQuantityArea::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcQuantityArea::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add2::IfcQuantityArea::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[844]); } const IfcParse::entity& Ifc4x3_add2::IfcQuantityArea::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[844]); } Ifc4x3_add2::IfcQuantityArea::IfcQuantityArea(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_add2::IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit* v3_Unit, double v4_AreaValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_add2::IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit* v3_Unit, double v4_AreaValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityCount -int Ifc4x3_add2::IfcQuantityCount::CountValue() const { int v = data_.get_attribute_value(3); return v; } +int Ifc4x3_add2::IfcQuantityCount::CountValue() const { int v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcQuantityCount::setCountValue(int v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_add2::IfcQuantityCount::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcQuantityCount::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcQuantityCount::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add2::IfcQuantityCount::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[845]); } const IfcParse::entity& Ifc4x3_add2::IfcQuantityCount::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[845]); } Ifc4x3_add2::IfcQuantityCount::IfcQuantityCount(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_add2::IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit* v3_Unit, int v4_CountValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_add2::IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit* v3_Unit, int v4_CountValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityLength -double Ifc4x3_add2::IfcQuantityLength::LengthValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add2::IfcQuantityLength::LengthValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcQuantityLength::setLengthValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_add2::IfcQuantityLength::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcQuantityLength::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcQuantityLength::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add2::IfcQuantityLength::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[846]); } const IfcParse::entity& Ifc4x3_add2::IfcQuantityLength::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[846]); } Ifc4x3_add2::IfcQuantityLength::IfcQuantityLength(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_add2::IfcQuantityLength::IfcQuantityLength(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit* v3_Unit, double v4_LengthValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_add2::IfcQuantityLength::IfcQuantityLength(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit* v3_Unit, double v4_LengthValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityNumber -double Ifc4x3_add2::IfcQuantityNumber::NumberValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add2::IfcQuantityNumber::NumberValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcQuantityNumber::setNumberValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_add2::IfcQuantityNumber::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcQuantityNumber::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcQuantityNumber::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add2::IfcQuantityNumber::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[847]); } const IfcParse::entity& Ifc4x3_add2::IfcQuantityNumber::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[847]); } Ifc4x3_add2::IfcQuantityNumber::IfcQuantityNumber(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_add2::IfcQuantityNumber::IfcQuantityNumber(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit* v3_Unit, double v4_NumberValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_NumberValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_add2::IfcQuantityNumber::IfcQuantityNumber(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit* v3_Unit, double v4_NumberValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_NumberValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantitySet @@ -14122,381 +14122,381 @@ Ifc4x3_add2::IfcQuantityNumber::IfcQuantityNumber(std::string v1_Name, boost::op const IfcParse::entity& Ifc4x3_add2::IfcQuantitySet::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[848]); } const IfcParse::entity& Ifc4x3_add2::IfcQuantitySet::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[848]); } Ifc4x3_add2::IfcQuantitySet::IfcQuantitySet(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc4x3_add2::IfcQuantitySet::IfcQuantitySet(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_add2::IfcQuantitySet::IfcQuantitySet(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcQuantityTime -double Ifc4x3_add2::IfcQuantityTime::TimeValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add2::IfcQuantityTime::TimeValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcQuantityTime::setTimeValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_add2::IfcQuantityTime::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcQuantityTime::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcQuantityTime::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add2::IfcQuantityTime::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[849]); } const IfcParse::entity& Ifc4x3_add2::IfcQuantityTime::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[849]); } Ifc4x3_add2::IfcQuantityTime::IfcQuantityTime(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_add2::IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit* v3_Unit, double v4_TimeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_add2::IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit* v3_Unit, double v4_TimeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityVolume -double Ifc4x3_add2::IfcQuantityVolume::VolumeValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add2::IfcQuantityVolume::VolumeValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcQuantityVolume::setVolumeValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_add2::IfcQuantityVolume::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcQuantityVolume::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcQuantityVolume::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add2::IfcQuantityVolume::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[850]); } const IfcParse::entity& Ifc4x3_add2::IfcQuantityVolume::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[850]); } Ifc4x3_add2::IfcQuantityVolume::IfcQuantityVolume(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_add2::IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit* v3_Unit, double v4_VolumeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_add2::IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit* v3_Unit, double v4_VolumeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityWeight -double Ifc4x3_add2::IfcQuantityWeight::WeightValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add2::IfcQuantityWeight::WeightValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcQuantityWeight::setWeightValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_add2::IfcQuantityWeight::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcQuantityWeight::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcQuantityWeight::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add2::IfcQuantityWeight::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[851]); } const IfcParse::entity& Ifc4x3_add2::IfcQuantityWeight::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[851]); } Ifc4x3_add2::IfcQuantityWeight::IfcQuantityWeight(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_add2::IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit* v3_Unit, double v4_WeightValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_add2::IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcNamedUnit* v3_Unit, double v4_WeightValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcRail -boost::optional< ::Ifc4x3_add2::IfcRailTypeEnum::Value > Ifc4x3_add2::IfcRail::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcRailTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcRailTypeEnum::Value > Ifc4x3_add2::IfcRail::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcRailTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcRail::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcRailTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcRailTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcRail::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[853]); } const IfcParse::entity& Ifc4x3_add2::IfcRail::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[853]); } Ifc4x3_add2::IfcRail::IfcRail(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add2::IfcRail::IfcRail(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcRailTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcRailTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcRail::IfcRail(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcRailTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcRailTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRailType -::Ifc4x3_add2::IfcRailTypeEnum::Value Ifc4x3_add2::IfcRailType::PredefinedType() const { return ::Ifc4x3_add2::IfcRailTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcRailTypeEnum::Value Ifc4x3_add2::IfcRailType::PredefinedType() const { return ::Ifc4x3_add2::IfcRailTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcRailType::setPredefinedType(::Ifc4x3_add2::IfcRailTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcRailTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcRailType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[857]); } const IfcParse::entity& Ifc4x3_add2::IfcRailType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[857]); } Ifc4x3_add2::IfcRailType::IfcRailType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add2::IfcRailType::IfcRailType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcRailTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcRailTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcRailType::IfcRailType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcRailTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcRailTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRailing -boost::optional< ::Ifc4x3_add2::IfcRailingTypeEnum::Value > Ifc4x3_add2::IfcRailing::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcRailingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcRailingTypeEnum::Value > Ifc4x3_add2::IfcRailing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcRailingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcRailing::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcRailingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcRailingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcRailing::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[854]); } const IfcParse::entity& Ifc4x3_add2::IfcRailing::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[854]); } Ifc4x3_add2::IfcRailing::IfcRailing(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add2::IfcRailing::IfcRailing(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcRailingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcRailing::IfcRailing(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcRailingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRailingType -::Ifc4x3_add2::IfcRailingTypeEnum::Value Ifc4x3_add2::IfcRailingType::PredefinedType() const { return ::Ifc4x3_add2::IfcRailingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcRailingTypeEnum::Value Ifc4x3_add2::IfcRailingType::PredefinedType() const { return ::Ifc4x3_add2::IfcRailingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcRailingType::setPredefinedType(::Ifc4x3_add2::IfcRailingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcRailingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcRailingType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[855]); } const IfcParse::entity& Ifc4x3_add2::IfcRailingType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[855]); } Ifc4x3_add2::IfcRailingType::IfcRailingType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add2::IfcRailingType::IfcRailingType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcRailingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcRailingType::IfcRailingType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcRailingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRailway -boost::optional< ::Ifc4x3_add2::IfcRailwayTypeEnum::Value > Ifc4x3_add2::IfcRailway::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcRailwayTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_add2::IfcRailwayTypeEnum::Value > Ifc4x3_add2::IfcRailway::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcRailwayTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcRailway::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcRailwayTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcRailwayTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_add2::IfcRailway::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[859]); } const IfcParse::entity& Ifc4x3_add2::IfcRailway::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[859]); } Ifc4x3_add2::IfcRailway::IfcRailway(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x3_add2::IfcRailway::IfcRailway(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_add2::IfcRailwayTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcRailwayTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcRailway::IfcRailway(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_add2::IfcRailwayTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcRailwayTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRailwayPart -boost::optional< ::Ifc4x3_add2::IfcRailwayPartTypeEnum::Value > Ifc4x3_add2::IfcRailwayPart::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcRailwayPartTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add2::IfcRailwayPartTypeEnum::Value > Ifc4x3_add2::IfcRailwayPart::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcRailwayPartTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add2::IfcRailwayPart::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcRailwayPartTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add2::IfcRailwayPartTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add2::IfcRailwayPart::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[860]); } const IfcParse::entity& Ifc4x3_add2::IfcRailwayPart::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[860]); } Ifc4x3_add2::IfcRailwayPart::IfcRailwayPart(IfcEntityInstanceData&& e) : IfcFacilityPart(std::move(e)) { } -Ifc4x3_add2::IfcRailwayPart::IfcRailwayPart(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3_add2::IfcRailwayPartTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcRailwayPartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcRailwayPart::IfcRailwayPart(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3_add2::IfcRailwayPartTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcRailwayPartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRamp -boost::optional< ::Ifc4x3_add2::IfcRampTypeEnum::Value > Ifc4x3_add2::IfcRamp::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcRampTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcRampTypeEnum::Value > Ifc4x3_add2::IfcRamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcRampTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcRamp::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcRampTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcRampTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcRamp::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[863]); } const IfcParse::entity& Ifc4x3_add2::IfcRamp::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[863]); } Ifc4x3_add2::IfcRamp::IfcRamp(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add2::IfcRamp::IfcRamp(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcRampTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcRamp::IfcRamp(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcRampTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRampFlight -boost::optional< ::Ifc4x3_add2::IfcRampFlightTypeEnum::Value > Ifc4x3_add2::IfcRampFlight::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcRampFlightTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcRampFlightTypeEnum::Value > Ifc4x3_add2::IfcRampFlight::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcRampFlightTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcRampFlight::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcRampFlightTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcRampFlightTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcRampFlight::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[864]); } const IfcParse::entity& Ifc4x3_add2::IfcRampFlight::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[864]); } Ifc4x3_add2::IfcRampFlight::IfcRampFlight(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add2::IfcRampFlight::IfcRampFlight(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcRampFlightTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcRampFlight::IfcRampFlight(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcRampFlightTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRampFlightType -::Ifc4x3_add2::IfcRampFlightTypeEnum::Value Ifc4x3_add2::IfcRampFlightType::PredefinedType() const { return ::Ifc4x3_add2::IfcRampFlightTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcRampFlightTypeEnum::Value Ifc4x3_add2::IfcRampFlightType::PredefinedType() const { return ::Ifc4x3_add2::IfcRampFlightTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcRampFlightType::setPredefinedType(::Ifc4x3_add2::IfcRampFlightTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcRampFlightTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcRampFlightType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[865]); } const IfcParse::entity& Ifc4x3_add2::IfcRampFlightType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[865]); } Ifc4x3_add2::IfcRampFlightType::IfcRampFlightType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add2::IfcRampFlightType::IfcRampFlightType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcRampFlightTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcRampFlightType::IfcRampFlightType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcRampFlightTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRampType -::Ifc4x3_add2::IfcRampTypeEnum::Value Ifc4x3_add2::IfcRampType::PredefinedType() const { return ::Ifc4x3_add2::IfcRampTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcRampTypeEnum::Value Ifc4x3_add2::IfcRampType::PredefinedType() const { return ::Ifc4x3_add2::IfcRampTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcRampType::setPredefinedType(::Ifc4x3_add2::IfcRampTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcRampTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcRampType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[867]); } const IfcParse::entity& Ifc4x3_add2::IfcRampType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[867]); } Ifc4x3_add2::IfcRampType::IfcRampType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add2::IfcRampType::IfcRampType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcRampTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcRampType::IfcRampType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcRampTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRationalBSplineCurveWithKnots -std::vector< double > /*[2:?]*/ Ifc4x3_add2::IfcRationalBSplineCurveWithKnots::WeightsData() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< double > /*[2:?]*/ Ifc4x3_add2::IfcRationalBSplineCurveWithKnots::WeightsData() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcRationalBSplineCurveWithKnots::setWeightsData(std::vector< double > /*[2:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_add2::IfcRationalBSplineCurveWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[870]); } const IfcParse::entity& Ifc4x3_add2::IfcRationalBSplineCurveWithKnots::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[870]); } Ifc4x3_add2::IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(IfcEntityInstanceData&& e) : IfcBSplineCurveWithKnots(std::move(e)) { } -Ifc4x3_add2::IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x3_add2::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_add2::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_add2::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) : IfcBSplineCurveWithKnots(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData));; populate_derived(); } +Ifc4x3_add2::IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x3_add2::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_add2::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_add2::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) : IfcBSplineCurveWithKnots(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData));; populate_derived(); } // Function implementations for IfcRationalBSplineSurfaceWithKnots -std::vector< std::vector< double > > Ifc4x3_add2::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { std::vector< std::vector< double > > v = data_.get_attribute_value(12); return v; } +std::vector< std::vector< double > > Ifc4x3_add2::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { std::vector< std::vector< double > > v = get_attribute_value(12); return v; } void Ifc4x3_add2::IfcRationalBSplineSurfaceWithKnots::setWeightsData(std::vector< std::vector< double > > v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } const IfcParse::entity& Ifc4x3_add2::IfcRationalBSplineSurfaceWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[871]); } const IfcParse::entity& Ifc4x3_add2::IfcRationalBSplineSurfaceWithKnots::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[871]); } Ifc4x3_add2::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(IfcEntityInstanceData&& e) : IfcBSplineSurfaceWithKnots(std::move(e)) { } -Ifc4x3_add2::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_add2::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_add2::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_add2::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) : IfcBSplineSurfaceWithKnots(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_add2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add2::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData));; populate_derived(); } +Ifc4x3_add2::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_add2::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_add2::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_add2::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) : IfcBSplineSurfaceWithKnots(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_add2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add2::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData));; populate_derived(); } // Function implementations for IfcRectangleHollowProfileDef -double Ifc4x3_add2::IfcRectangleHollowProfileDef::WallThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_add2::IfcRectangleHollowProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcRectangleHollowProfileDef::setWallThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_add2::IfcRectangleHollowProfileDef::InnerFilletRadius() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_add2::IfcRectangleHollowProfileDef::InnerFilletRadius() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcRectangleHollowProfileDef::setInnerFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_add2::IfcRectangleHollowProfileDef::OuterFilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add2::IfcRectangleHollowProfileDef::OuterFilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcRectangleHollowProfileDef::setOuterFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_add2::IfcRectangleHollowProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[873]); } const IfcParse::entity& Ifc4x3_add2::IfcRectangleHollowProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[873]); } Ifc4x3_add2::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(IfcEntityInstanceData&& e) : IfcRectangleProfileDef(std::move(e)) { } -Ifc4x3_add2::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, boost::optional< double > v7_InnerFilletRadius, boost::optional< double > v8_OuterFilletRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; populate_derived(); } +Ifc4x3_add2::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, boost::optional< double > v7_InnerFilletRadius, boost::optional< double > v8_OuterFilletRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; populate_derived(); } // Function implementations for IfcRectangleProfileDef -double Ifc4x3_add2::IfcRectangleProfileDef::XDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add2::IfcRectangleProfileDef::XDim() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcRectangleProfileDef::setXDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_add2::IfcRectangleProfileDef::YDim() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add2::IfcRectangleProfileDef::YDim() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcRectangleProfileDef::setYDim(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add2::IfcRectangleProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[874]); } const IfcParse::entity& Ifc4x3_add2::IfcRectangleProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[874]); } Ifc4x3_add2::IfcRectangleProfileDef::IfcRectangleProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_add2::IfcRectangleProfileDef::IfcRectangleProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; populate_derived(); } +Ifc4x3_add2::IfcRectangleProfileDef::IfcRectangleProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; populate_derived(); } // Function implementations for IfcRectangularPyramid -double Ifc4x3_add2::IfcRectangularPyramid::XLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add2::IfcRectangularPyramid::XLength() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcRectangularPyramid::setXLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_add2::IfcRectangularPyramid::YLength() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_add2::IfcRectangularPyramid::YLength() const { double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcRectangularPyramid::setYLength(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_add2::IfcRectangularPyramid::Height() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add2::IfcRectangularPyramid::Height() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcRectangularPyramid::setHeight(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcRectangularPyramid::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[875]); } const IfcParse::entity& Ifc4x3_add2::IfcRectangularPyramid::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[875]); } Ifc4x3_add2::IfcRectangularPyramid::IfcRectangularPyramid(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3_add2::IfcRectangularPyramid::IfcRectangularPyramid(::Ifc4x3_add2::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; populate_derived(); } +Ifc4x3_add2::IfcRectangularPyramid::IfcRectangularPyramid(::Ifc4x3_add2::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; populate_derived(); } // Function implementations for IfcRectangularTrimmedSurface -::Ifc4x3_add2::IfcSurface* Ifc4x3_add2::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcSurface>(true); } +::Ifc4x3_add2::IfcSurface* Ifc4x3_add2::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcSurface>(true); } void Ifc4x3_add2::IfcRectangularTrimmedSurface::setBasisSurface(::Ifc4x3_add2::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_add2::IfcRectangularTrimmedSurface::U1() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add2::IfcRectangularTrimmedSurface::U1() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcRectangularTrimmedSurface::setU1(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_add2::IfcRectangularTrimmedSurface::V1() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_add2::IfcRectangularTrimmedSurface::V1() const { double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcRectangularTrimmedSurface::setV1(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_add2::IfcRectangularTrimmedSurface::U2() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add2::IfcRectangularTrimmedSurface::U2() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcRectangularTrimmedSurface::setU2(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_add2::IfcRectangularTrimmedSurface::V2() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add2::IfcRectangularTrimmedSurface::V2() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcRectangularTrimmedSurface::setV2(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -bool Ifc4x3_add2::IfcRectangularTrimmedSurface::Usense() const { bool v = data_.get_attribute_value(5); return v; } +bool Ifc4x3_add2::IfcRectangularTrimmedSurface::Usense() const { bool v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcRectangularTrimmedSurface::setUsense(bool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -bool Ifc4x3_add2::IfcRectangularTrimmedSurface::Vsense() const { bool v = data_.get_attribute_value(6); return v; } +bool Ifc4x3_add2::IfcRectangularTrimmedSurface::Vsense() const { bool v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcRectangularTrimmedSurface::setVsense(bool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add2::IfcRectangularTrimmedSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[876]); } const IfcParse::entity& Ifc4x3_add2::IfcRectangularTrimmedSurface::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[876]); } Ifc4x3_add2::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x3_add2::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(::Ifc4x3_add2::IfcSurface* v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; populate_derived(); } +Ifc4x3_add2::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(::Ifc4x3_add2::IfcSurface* v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; populate_derived(); } // Function implementations for IfcRecurrencePattern -::Ifc4x3_add2::IfcRecurrenceTypeEnum::Value Ifc4x3_add2::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x3_add2::IfcRecurrenceTypeEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_add2::IfcRecurrenceTypeEnum::Value Ifc4x3_add2::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x3_add2::IfcRecurrenceTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x3_add2::IfcRecurrencePattern::setRecurrenceType(::Ifc4x3_add2::IfcRecurrenceTypeEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_add2::IfcRecurrenceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_add2::IfcRecurrencePattern::DayComponent() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_add2::IfcRecurrencePattern::DayComponent() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcRecurrencePattern::setDayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_add2::IfcRecurrencePattern::WeekdayComponent() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_add2::IfcRecurrencePattern::WeekdayComponent() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcRecurrencePattern::setWeekdayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_add2::IfcRecurrencePattern::MonthComponent() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_add2::IfcRecurrencePattern::MonthComponent() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcRecurrencePattern::setMonthComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< int > Ifc4x3_add2::IfcRecurrencePattern::Position() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x3_add2::IfcRecurrencePattern::Position() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcRecurrencePattern::setPosition(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< int > Ifc4x3_add2::IfcRecurrencePattern::Interval() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } int v = data_.get_attribute_value(5); return v; } +boost::optional< int > Ifc4x3_add2::IfcRecurrencePattern::Interval() const { if(get_attribute_value(5).isNull()) { return boost::none; } int v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcRecurrencePattern::setInterval(boost::optional< int > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< int > Ifc4x3_add2::IfcRecurrencePattern::Occurrences() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } int v = data_.get_attribute_value(6); return v; } +boost::optional< int > Ifc4x3_add2::IfcRecurrencePattern::Occurrences() const { if(get_attribute_value(6).isNull()) { return boost::none; } int v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcRecurrencePattern::setOccurrences(boost::optional< int > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcTimePeriod >::ptr > Ifc4x3_add2::IfcRecurrencePattern::TimePeriods() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_add2::IfcTimePeriod >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcTimePeriod >::ptr > Ifc4x3_add2::IfcRecurrencePattern::TimePeriods() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_add2::IfcTimePeriod >(); } void Ifc4x3_add2::IfcRecurrencePattern::setTimePeriods(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcTimePeriod >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_add2::IfcRecurrencePattern::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[877]); } const IfcParse::entity& Ifc4x3_add2::IfcRecurrencePattern::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[877]); } Ifc4x3_add2::IfcRecurrencePattern::IfcRecurrencePattern(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcRecurrencePattern::IfcRecurrencePattern(::Ifc4x3_add2::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_add2::IfcTimePeriod >::ptr > v8_TimePeriods) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, (*v8_TimePeriods)->generalize()); }; populate_derived(); } +Ifc4x3_add2::IfcRecurrencePattern::IfcRecurrencePattern(::Ifc4x3_add2::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_add2::IfcTimePeriod >::ptr > v8_TimePeriods) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, (*v8_TimePeriods)->generalize()); }; populate_derived(); } // Function implementations for IfcReference -boost::optional< std::string > Ifc4x3_add2::IfcReference::TypeIdentifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcReference::TypeIdentifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcReference::setTypeIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add2::IfcReference::AttributeIdentifier() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcReference::AttributeIdentifier() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcReference::setAttributeIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_add2::IfcReference::InstanceName() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcReference::InstanceName() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcReference::setInstanceName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_add2::IfcReference::ListPositions() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_add2::IfcReference::ListPositions() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcReference::setListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_add2::IfcReference* Ifc4x3_add2::IfcReference::InnerReference() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcReference>(true); } +::Ifc4x3_add2::IfcReference* Ifc4x3_add2::IfcReference::InnerReference() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcReference>(true); } void Ifc4x3_add2::IfcReference::setInnerReference(::Ifc4x3_add2::IfcReference* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add2::IfcReference::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[879]); } const IfcParse::entity& Ifc4x3_add2::IfcReference::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[879]); } Ifc4x3_add2::IfcReference::IfcReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::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_add2::IfcReference* v5_InnerReference) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, v5_InnerReference ? v5_InnerReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::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_add2::IfcReference* v5_InnerReference) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, v5_InnerReference ? v5_InnerReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcReferent -boost::optional< ::Ifc4x3_add2::IfcReferentTypeEnum::Value > Ifc4x3_add2::IfcReferent::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcReferentTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_add2::IfcReferentTypeEnum::Value > Ifc4x3_add2::IfcReferent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcReferentTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add2::IfcReferent::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcReferentTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_add2::IfcReferentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_add2::IfcReferent::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[880]); } const IfcParse::entity& Ifc4x3_add2::IfcReferent::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[880]); } Ifc4x3_add2::IfcReferent::IfcReferent(IfcEntityInstanceData&& e) : IfcPositioningElement(std::move(e)) { } -Ifc4x3_add2::IfcReferent::IfcReferent(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_add2::IfcReferentTypeEnum::Value > v8_PredefinedType) : IfcPositioningElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcReferent::IfcReferent(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_add2::IfcReferentTypeEnum::Value > v8_PredefinedType) : IfcPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRegularTimeSeries -double Ifc4x3_add2::IfcRegularTimeSeries::TimeStep() const { double v = data_.get_attribute_value(8); return v; } +double Ifc4x3_add2::IfcRegularTimeSeries::TimeStep() const { double v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcRegularTimeSeries::setTimeStep(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -aggregate_of< ::Ifc4x3_add2::IfcTimeSeriesValue >::ptr Ifc4x3_add2::IfcRegularTimeSeries::Values() const { aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3_add2::IfcTimeSeriesValue >(); } +aggregate_of< ::Ifc4x3_add2::IfcTimeSeriesValue >::ptr Ifc4x3_add2::IfcRegularTimeSeries::Values() const { aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3_add2::IfcTimeSeriesValue >(); } void Ifc4x3_add2::IfcRegularTimeSeries::setValues(aggregate_of< ::Ifc4x3_add2::IfcTimeSeriesValue >::ptr v) { set_attribute_value(9, (v)->generalize());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcRegularTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[883]); } const IfcParse::entity& Ifc4x3_add2::IfcRegularTimeSeries::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[883]); } Ifc4x3_add2::IfcRegularTimeSeries::IfcRegularTimeSeries(IfcEntityInstanceData&& e) : IfcTimeSeries(std::move(e)) { } -Ifc4x3_add2::IfcRegularTimeSeries::IfcRegularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add2::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add2::IfcUnit* v8_Unit, double v9_TimeStep, aggregate_of< ::Ifc4x3_add2::IfcTimeSeriesValue >::ptr v10_Values) : IfcTimeSeries(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, (v10_Values)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcRegularTimeSeries::IfcRegularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add2::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add2::IfcUnit* v8_Unit, double v9_TimeStep, aggregate_of< ::Ifc4x3_add2::IfcTimeSeriesValue >::ptr v10_Values) : IfcTimeSeries(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, (v10_Values)->generalize());; populate_derived(); } // Function implementations for IfcReinforcedSoil -boost::optional< ::Ifc4x3_add2::IfcReinforcedSoilTypeEnum::Value > Ifc4x3_add2::IfcReinforcedSoil::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcReinforcedSoilTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcReinforcedSoilTypeEnum::Value > Ifc4x3_add2::IfcReinforcedSoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcReinforcedSoilTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcReinforcedSoil::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcReinforcedSoilTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcReinforcedSoilTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcReinforcedSoil::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[884]); } const IfcParse::entity& Ifc4x3_add2::IfcReinforcedSoil::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[884]); } Ifc4x3_add2::IfcReinforcedSoil::IfcReinforcedSoil(IfcEntityInstanceData&& e) : IfcEarthworksElement(std::move(e)) { } -Ifc4x3_add2::IfcReinforcedSoil::IfcReinforcedSoil(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType) : IfcEarthworksElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcReinforcedSoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcReinforcedSoil::IfcReinforcedSoil(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType) : IfcEarthworksElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcReinforcedSoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcReinforcementBarProperties -double Ifc4x3_add2::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_add2::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcReinforcementBarProperties::setTotalCrossSectionArea(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x3_add2::IfcReinforcementBarProperties::SteelGrade() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_add2::IfcReinforcementBarProperties::SteelGrade() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcReinforcementBarProperties::setSteelGrade(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_add2::IfcReinforcementBarProperties::BarSurface() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_add2::IfcReinforcementBarProperties::BarSurface() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::FromString(get_attribute_value(2)); } void Ifc4x3_add2::IfcReinforcementBarProperties::setBarSurface(boost::optional< ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_add2::IfcReinforcementBarProperties::EffectiveDepth() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add2::IfcReinforcementBarProperties::EffectiveDepth() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcReinforcementBarProperties::setEffectiveDepth(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_add2::IfcReinforcementBarProperties::NominalBarDiameter() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_add2::IfcReinforcementBarProperties::NominalBarDiameter() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcReinforcementBarProperties::setNominalBarDiameter(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< int > Ifc4x3_add2::IfcReinforcementBarProperties::BarCount() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } int v = data_.get_attribute_value(5); return v; } +boost::optional< int > Ifc4x3_add2::IfcReinforcementBarProperties::BarCount() const { if(get_attribute_value(5).isNull()) { return boost::none; } int v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcReinforcementBarProperties::setBarCount(boost::optional< int > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_add2::IfcReinforcementBarProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[886]); } const IfcParse::entity& Ifc4x3_add2::IfcReinforcementBarProperties::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[886]); } Ifc4x3_add2::IfcReinforcementBarProperties::IfcReinforcementBarProperties(IfcEntityInstanceData&& e) : IfcPreDefinedProperties(std::move(e)) { } -Ifc4x3_add2::IfcReinforcementBarProperties::IfcReinforcementBarProperties(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, boost::optional< ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, boost::optional< double > v4_EffectiveDepth, boost::optional< double > v5_NominalBarDiameter, boost::optional< int > v6_BarCount) : IfcPreDefinedProperties(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; populate_derived(); } +Ifc4x3_add2::IfcReinforcementBarProperties::IfcReinforcementBarProperties(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, boost::optional< ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, boost::optional< double > v4_EffectiveDepth, boost::optional< double > v5_NominalBarDiameter, boost::optional< int > v6_BarCount) : IfcPreDefinedProperties(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; populate_derived(); } // Function implementations for IfcReinforcementDefinitionProperties -boost::optional< std::string > Ifc4x3_add2::IfcReinforcementDefinitionProperties::DefinitionType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcReinforcementDefinitionProperties::DefinitionType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcReinforcementDefinitionProperties::setDefinitionType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -aggregate_of< ::Ifc4x3_add2::IfcSectionReinforcementProperties >::ptr Ifc4x3_add2::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_add2::IfcSectionReinforcementProperties >(); } +aggregate_of< ::Ifc4x3_add2::IfcSectionReinforcementProperties >::ptr Ifc4x3_add2::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_add2::IfcSectionReinforcementProperties >(); } void Ifc4x3_add2::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(aggregate_of< ::Ifc4x3_add2::IfcSectionReinforcementProperties >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcReinforcementDefinitionProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[887]); } const IfcParse::entity& Ifc4x3_add2::IfcReinforcementDefinitionProperties::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[887]); } Ifc4x3_add2::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_add2::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_DefinitionType, aggregate_of< ::Ifc4x3_add2::IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, (v6_ReinforcementSectionDefinitions)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_DefinitionType, aggregate_of< ::Ifc4x3_add2::IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, (v6_ReinforcementSectionDefinitions)->generalize());; populate_derived(); } // Function implementations for IfcReinforcingBar -boost::optional< double > Ifc4x3_add2::IfcReinforcingBar::NominalDiameter() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_add2::IfcReinforcingBar::NominalDiameter() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_add2::IfcReinforcingBar::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_add2::IfcReinforcingBar::CrossSectionArea() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_add2::IfcReinforcingBar::CrossSectionArea() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_add2::IfcReinforcingBar::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_add2::IfcReinforcingBar::BarLength() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_add2::IfcReinforcingBar::BarLength() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_add2::IfcReinforcingBar::setBarLength(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< ::Ifc4x3_add2::IfcReinforcingBarTypeEnum::Value > Ifc4x3_add2::IfcReinforcingBar::PredefinedType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcReinforcingBarTypeEnum::FromString(data_.get_attribute_value(12)); } +boost::optional< ::Ifc4x3_add2::IfcReinforcingBarTypeEnum::Value > Ifc4x3_add2::IfcReinforcingBar::PredefinedType() const { if(get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcReinforcingBarTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x3_add2::IfcReinforcingBar::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcReinforcingBarTypeEnum::Value > v) { if (v) {set_attribute_value(12, EnumerationReference(&::Ifc4x3_add2::IfcReinforcingBarTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } -boost::optional< ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_add2::IfcReinforcingBar::BarSurface() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_add2::IfcReinforcingBar::BarSurface() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::FromString(get_attribute_value(13)); } void Ifc4x3_add2::IfcReinforcingBar::setBarSurface(boost::optional< ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } const IfcParse::entity& Ifc4x3_add2::IfcReinforcingBar::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[888]); } const IfcParse::entity& Ifc4x3_add2::IfcReinforcingBar::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[888]); } Ifc4x3_add2::IfcReinforcingBar::IfcReinforcingBar(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x3_add2::IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::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_add2::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, boost::optional< ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_add2::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; populate_derived(); } +Ifc4x3_add2::IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::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_add2::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, boost::optional< ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_add2::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; populate_derived(); } // Function implementations for IfcReinforcingBarType -::Ifc4x3_add2::IfcReinforcingBarTypeEnum::Value Ifc4x3_add2::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x3_add2::IfcReinforcingBarTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcReinforcingBarTypeEnum::Value Ifc4x3_add2::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x3_add2::IfcReinforcingBarTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcReinforcingBarType::setPredefinedType(::Ifc4x3_add2::IfcReinforcingBarTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcReinforcingBarTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3_add2::IfcReinforcingBarType::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_add2::IfcReinforcingBarType::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_add2::IfcReinforcingBarType::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_add2::IfcReinforcingBarType::CrossSectionArea() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_add2::IfcReinforcingBarType::CrossSectionArea() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_add2::IfcReinforcingBarType::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_add2::IfcReinforcingBarType::BarLength() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_add2::IfcReinforcingBarType::BarLength() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_add2::IfcReinforcingBarType::setBarLength(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_add2::IfcReinforcingBarType::BarSurface() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_add2::IfcReinforcingBarType::BarSurface() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::FromString(get_attribute_value(13)); } void Ifc4x3_add2::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x3_add2::IfcReinforcingBarType::BendingShapeCode() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcReinforcingBarType::BendingShapeCode() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x3_add2::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcBendingParameterSelect >::ptr > Ifc4x3_add2::IfcReinforcingBarType::BendingParameters() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(15); return es->as< ::Ifc4x3_add2::IfcBendingParameterSelect >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcBendingParameterSelect >::ptr > Ifc4x3_add2::IfcReinforcingBarType::BendingParameters() const { if(get_attribute_value(15).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(15); return es->as< ::Ifc4x3_add2::IfcBendingParameterSelect >(); } void Ifc4x3_add2::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcBendingParameterSelect >::ptr > v) { if (v) {set_attribute_value(15, (*v)->generalize());} else {unset_attribute_value(15);} } const IfcParse::entity& Ifc4x3_add2::IfcReinforcingBarType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[891]); } const IfcParse::entity& Ifc4x3_add2::IfcReinforcingBarType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[891]); } Ifc4x3_add2::IfcReinforcingBarType::IfcReinforcingBarType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x3_add2::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, (*v16_BendingParameters)->generalize()); }; populate_derived(); } +Ifc4x3_add2::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, (*v16_BendingParameters)->generalize()); }; populate_derived(); } // Function implementations for IfcReinforcingElement -boost::optional< std::string > Ifc4x3_add2::IfcReinforcingElement::SteelGrade() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcReinforcingElement::SteelGrade() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcReinforcingElement::setSteelGrade(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcReinforcingElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[893]); } const IfcParse::entity& Ifc4x3_add2::IfcReinforcingElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[893]); } Ifc4x3_add2::IfcReinforcingElement::IfcReinforcingElement(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_add2::IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; populate_derived(); } +Ifc4x3_add2::IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; populate_derived(); } // Function implementations for IfcReinforcingElementType @@ -14504,255 +14504,255 @@ Ifc4x3_add2::IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalI const IfcParse::entity& Ifc4x3_add2::IfcReinforcingElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[894]); } const IfcParse::entity& Ifc4x3_add2::IfcReinforcingElementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[894]); } Ifc4x3_add2::IfcReinforcingElementType::IfcReinforcingElementType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_add2::IfcReinforcingElementType::IfcReinforcingElementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add2::IfcReinforcingElementType::IfcReinforcingElementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcReinforcingMesh -boost::optional< double > Ifc4x3_add2::IfcReinforcingMesh::MeshLength() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_add2::IfcReinforcingMesh::MeshLength() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_add2::IfcReinforcingMesh::setMeshLength(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_add2::IfcReinforcingMesh::MeshWidth() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_add2::IfcReinforcingMesh::MeshWidth() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_add2::IfcReinforcingMesh::setMeshWidth(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_add2::IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_add2::IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_add2::IfcReinforcingMesh::setLongitudinalBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_add2::IfcReinforcingMesh::TransverseBarNominalDiameter() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_add2::IfcReinforcingMesh::TransverseBarNominalDiameter() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_add2::IfcReinforcingMesh::setTransverseBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3_add2::IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_add2::IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_add2::IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3_add2::IfcReinforcingMesh::TransverseBarCrossSectionArea() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3_add2::IfcReinforcingMesh::TransverseBarCrossSectionArea() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3_add2::IfcReinforcingMesh::setTransverseBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x3_add2::IfcReinforcingMesh::LongitudinalBarSpacing() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3_add2::IfcReinforcingMesh::LongitudinalBarSpacing() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3_add2::IfcReinforcingMesh::setLongitudinalBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3_add2::IfcReinforcingMesh::TransverseBarSpacing() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3_add2::IfcReinforcingMesh::TransverseBarSpacing() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3_add2::IfcReinforcingMesh::setTransverseBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< ::Ifc4x3_add2::IfcReinforcingMeshTypeEnum::Value > Ifc4x3_add2::IfcReinforcingMesh::PredefinedType() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcReinforcingMeshTypeEnum::FromString(data_.get_attribute_value(17)); } +boost::optional< ::Ifc4x3_add2::IfcReinforcingMeshTypeEnum::Value > Ifc4x3_add2::IfcReinforcingMesh::PredefinedType() const { if(get_attribute_value(17).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcReinforcingMeshTypeEnum::FromString(get_attribute_value(17)); } void Ifc4x3_add2::IfcReinforcingMesh::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcReinforcingMeshTypeEnum::Value > v) { if (v) {set_attribute_value(17, EnumerationReference(&::Ifc4x3_add2::IfcReinforcingMeshTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(17);} } const IfcParse::entity& Ifc4x3_add2::IfcReinforcingMesh::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[895]); } const IfcParse::entity& Ifc4x3_add2::IfcReinforcingMesh::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[895]); } Ifc4x3_add2::IfcReinforcingMesh::IfcReinforcingMesh(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x3_add2::IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::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_add2::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(18))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (EnumerationReference(&::Ifc4x3_add2::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::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_add2::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(18))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (EnumerationReference(&::Ifc4x3_add2::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); }; populate_derived(); } // Function implementations for IfcReinforcingMeshType -::Ifc4x3_add2::IfcReinforcingMeshTypeEnum::Value Ifc4x3_add2::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x3_add2::IfcReinforcingMeshTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcReinforcingMeshTypeEnum::Value Ifc4x3_add2::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x3_add2::IfcReinforcingMeshTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcReinforcingMeshType::setPredefinedType(::Ifc4x3_add2::IfcReinforcingMeshTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcReinforcingMeshTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3_add2::IfcReinforcingMeshType::MeshLength() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_add2::IfcReinforcingMeshType::MeshLength() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_add2::IfcReinforcingMeshType::setMeshLength(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_add2::IfcReinforcingMeshType::MeshWidth() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_add2::IfcReinforcingMeshType::MeshWidth() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_add2::IfcReinforcingMeshType::setMeshWidth(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_add2::IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_add2::IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_add2::IfcReinforcingMeshType::setLongitudinalBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3_add2::IfcReinforcingMeshType::TransverseBarNominalDiameter() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_add2::IfcReinforcingMeshType::TransverseBarNominalDiameter() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_add2::IfcReinforcingMeshType::setTransverseBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3_add2::IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3_add2::IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3_add2::IfcReinforcingMeshType::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x3_add2::IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3_add2::IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3_add2::IfcReinforcingMeshType::setTransverseBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3_add2::IfcReinforcingMeshType::LongitudinalBarSpacing() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3_add2::IfcReinforcingMeshType::LongitudinalBarSpacing() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3_add2::IfcReinforcingMeshType::setLongitudinalBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< double > Ifc4x3_add2::IfcReinforcingMeshType::TransverseBarSpacing() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } double v = data_.get_attribute_value(17); return v; } +boost::optional< double > Ifc4x3_add2::IfcReinforcingMeshType::TransverseBarSpacing() const { if(get_attribute_value(17).isNull()) { return boost::none; } double v = get_attribute_value(17); return v; } void Ifc4x3_add2::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } -boost::optional< std::string > Ifc4x3_add2::IfcReinforcingMeshType::BendingShapeCode() const { if(data_.get_attribute_value(18).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(18); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcReinforcingMeshType::BendingShapeCode() const { if(get_attribute_value(18).isNull()) { return boost::none; } std::string v = get_attribute_value(18); return v; } void Ifc4x3_add2::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { if (v) {set_attribute_value(18, *v);} else {unset_attribute_value(18);} } -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcBendingParameterSelect >::ptr > Ifc4x3_add2::IfcReinforcingMeshType::BendingParameters() const { if(data_.get_attribute_value(19).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(19); return es->as< ::Ifc4x3_add2::IfcBendingParameterSelect >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcBendingParameterSelect >::ptr > Ifc4x3_add2::IfcReinforcingMeshType::BendingParameters() const { if(get_attribute_value(19).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(19); return es->as< ::Ifc4x3_add2::IfcBendingParameterSelect >(); } void Ifc4x3_add2::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcBendingParameterSelect >::ptr > v) { if (v) {set_attribute_value(19, (*v)->generalize());} else {unset_attribute_value(19);} } const IfcParse::entity& Ifc4x3_add2::IfcReinforcingMeshType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[896]); } const IfcParse::entity& Ifc4x3_add2::IfcReinforcingMeshType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[896]); } Ifc4x3_add2::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x3_add2::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(20))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, (*v20_BendingParameters)->generalize()); }; populate_derived(); } +Ifc4x3_add2::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(20))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, (*v20_BendingParameters)->generalize()); }; populate_derived(); } // Function implementations for IfcRelAdheresToElement -::Ifc4x3_add2::IfcElement* Ifc4x3_add2::IfcRelAdheresToElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcElement>(true); } +::Ifc4x3_add2::IfcElement* Ifc4x3_add2::IfcRelAdheresToElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcElement>(true); } void Ifc4x3_add2::IfcRelAdheresToElement::setRelatingElement(::Ifc4x3_add2::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_add2::IfcSurfaceFeature >::ptr Ifc4x3_add2::IfcRelAdheresToElement::RelatedSurfaceFeatures() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_add2::IfcSurfaceFeature >(); } +aggregate_of< ::Ifc4x3_add2::IfcSurfaceFeature >::ptr Ifc4x3_add2::IfcRelAdheresToElement::RelatedSurfaceFeatures() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_add2::IfcSurfaceFeature >(); } void Ifc4x3_add2::IfcRelAdheresToElement::setRelatedSurfaceFeatures(aggregate_of< ::Ifc4x3_add2::IfcSurfaceFeature >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcRelAdheresToElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[898]); } const IfcParse::entity& Ifc4x3_add2::IfcRelAdheresToElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[898]); } Ifc4x3_add2::IfcRelAdheresToElement::IfcRelAdheresToElement(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x3_add2::IfcRelAdheresToElement::IfcRelAdheresToElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcElement* v5_RelatingElement, aggregate_of< ::Ifc4x3_add2::IfcSurfaceFeature >::ptr v6_RelatedSurfaceFeatures) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedSurfaceFeatures)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcRelAdheresToElement::IfcRelAdheresToElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcElement* v5_RelatingElement, aggregate_of< ::Ifc4x3_add2::IfcSurfaceFeature >::ptr v6_RelatedSurfaceFeatures) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedSurfaceFeatures)->generalize());; populate_derived(); } // Function implementations for IfcRelAggregates -::Ifc4x3_add2::IfcObjectDefinition* Ifc4x3_add2::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcObjectDefinition>(true); } +::Ifc4x3_add2::IfcObjectDefinition* Ifc4x3_add2::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcObjectDefinition>(true); } void Ifc4x3_add2::IfcRelAggregates::setRelatingObject(::Ifc4x3_add2::IfcObjectDefinition* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_add2::IfcObjectDefinition >::ptr Ifc4x3_add2::IfcRelAggregates::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_add2::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x3_add2::IfcObjectDefinition >::ptr Ifc4x3_add2::IfcRelAggregates::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_add2::IfcObjectDefinition >(); } void Ifc4x3_add2::IfcRelAggregates::setRelatedObjects(aggregate_of< ::Ifc4x3_add2::IfcObjectDefinition >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcRelAggregates::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[899]); } const IfcParse::entity& Ifc4x3_add2::IfcRelAggregates::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[899]); } Ifc4x3_add2::IfcRelAggregates::IfcRelAggregates(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x3_add2::IfcRelAggregates::IfcRelAggregates(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x3_add2::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcRelAggregates::IfcRelAggregates(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x3_add2::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelAssigns -aggregate_of< ::Ifc4x3_add2::IfcObjectDefinition >::ptr Ifc4x3_add2::IfcRelAssigns::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_add2::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x3_add2::IfcObjectDefinition >::ptr Ifc4x3_add2::IfcRelAssigns::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_add2::IfcObjectDefinition >(); } void Ifc4x3_add2::IfcRelAssigns::setRelatedObjects(aggregate_of< ::Ifc4x3_add2::IfcObjectDefinition >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -boost::optional< bool > Ifc4x3_add2::IfcRelAssigns::RelatedObjectsType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } bool v = data_.get_attribute_value(5); return v; } +boost::optional< bool > Ifc4x3_add2::IfcRelAssigns::RelatedObjectsType() const { if(get_attribute_value(5).isNull()) { return boost::none; } bool v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcRelAssigns::setRelatedObjectsType(boost::optional< bool > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_add2::IfcRelAssigns::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[900]); } const IfcParse::entity& Ifc4x3_add2::IfcRelAssigns::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[900]); } Ifc4x3_add2::IfcRelAssigns::IfcRelAssigns(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_add2::IfcRelAssigns::IfcRelAssigns(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType) : IfcRelationship(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }; populate_derived(); } +Ifc4x3_add2::IfcRelAssigns::IfcRelAssigns(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }; populate_derived(); } // Function implementations for IfcRelAssignsToActor -::Ifc4x3_add2::IfcActor* Ifc4x3_add2::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add2::IfcActor>(true); } +::Ifc4x3_add2::IfcActor* Ifc4x3_add2::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add2::IfcActor>(true); } void Ifc4x3_add2::IfcRelAssignsToActor::setRelatingActor(::Ifc4x3_add2::IfcActor* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_add2::IfcActorRole* Ifc4x3_add2::IfcRelAssignsToActor::ActingRole() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_add2::IfcActorRole>(true); } +::Ifc4x3_add2::IfcActorRole* Ifc4x3_add2::IfcRelAssignsToActor::ActingRole() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_add2::IfcActorRole>(true); } void Ifc4x3_add2::IfcRelAssignsToActor::setActingRole(::Ifc4x3_add2::IfcActorRole* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_add2::IfcRelAssignsToActor::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[901]); } const IfcParse::entity& Ifc4x3_add2::IfcRelAssignsToActor::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[901]); } Ifc4x3_add2::IfcRelAssignsToActor::IfcRelAssignsToActor(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_add2::IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcActor* v7_RelatingActor, ::Ifc4x3_add2::IfcActorRole* v8_ActingRole) : IfcRelAssigns(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingActor ? v7_RelatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_ActingRole ? v8_ActingRole->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcActor* v7_RelatingActor, ::Ifc4x3_add2::IfcActorRole* v8_ActingRole) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingActor ? v7_RelatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_ActingRole ? v8_ActingRole->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToControl -::Ifc4x3_add2::IfcControl* Ifc4x3_add2::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add2::IfcControl>(true); } +::Ifc4x3_add2::IfcControl* Ifc4x3_add2::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add2::IfcControl>(true); } void Ifc4x3_add2::IfcRelAssignsToControl::setRelatingControl(::Ifc4x3_add2::IfcControl* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add2::IfcRelAssignsToControl::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[902]); } const IfcParse::entity& Ifc4x3_add2::IfcRelAssignsToControl::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[902]); } Ifc4x3_add2::IfcRelAssignsToControl::IfcRelAssignsToControl(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_add2::IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcControl* v7_RelatingControl) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingControl ? v7_RelatingControl->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcControl* v7_RelatingControl) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingControl ? v7_RelatingControl->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToGroup -::Ifc4x3_add2::IfcGroup* Ifc4x3_add2::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add2::IfcGroup>(true); } +::Ifc4x3_add2::IfcGroup* Ifc4x3_add2::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add2::IfcGroup>(true); } void Ifc4x3_add2::IfcRelAssignsToGroup::setRelatingGroup(::Ifc4x3_add2::IfcGroup* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add2::IfcRelAssignsToGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[903]); } const IfcParse::entity& Ifc4x3_add2::IfcRelAssignsToGroup::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[903]); } Ifc4x3_add2::IfcRelAssignsToGroup::IfcRelAssignsToGroup(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_add2::IfcRelAssignsToGroup::IfcRelAssignsToGroup(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcGroup* v7_RelatingGroup) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcRelAssignsToGroup::IfcRelAssignsToGroup(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcGroup* v7_RelatingGroup) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToGroupByFactor -double Ifc4x3_add2::IfcRelAssignsToGroupByFactor::Factor() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x3_add2::IfcRelAssignsToGroupByFactor::Factor() const { double v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcRelAssignsToGroupByFactor::setFactor(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_add2::IfcRelAssignsToGroupByFactor::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[904]); } const IfcParse::entity& Ifc4x3_add2::IfcRelAssignsToGroupByFactor::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[904]); } Ifc4x3_add2::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(IfcEntityInstanceData&& e) : IfcRelAssignsToGroup(std::move(e)) { } -Ifc4x3_add2::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcGroup* v7_RelatingGroup, double v8_Factor) : IfcRelAssignsToGroup(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_Factor));; populate_derived(); } +Ifc4x3_add2::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcGroup* v7_RelatingGroup, double v8_Factor) : IfcRelAssignsToGroup(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_Factor));; populate_derived(); } // Function implementations for IfcRelAssignsToProcess -::Ifc4x3_add2::IfcProcessSelect* Ifc4x3_add2::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add2::IfcProcessSelect>(true); } +::Ifc4x3_add2::IfcProcessSelect* Ifc4x3_add2::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add2::IfcProcessSelect>(true); } void Ifc4x3_add2::IfcRelAssignsToProcess::setRelatingProcess(::Ifc4x3_add2::IfcProcessSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_add2::IfcMeasureWithUnit* Ifc4x3_add2::IfcRelAssignsToProcess::QuantityInProcess() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_add2::IfcMeasureWithUnit>(true); } +::Ifc4x3_add2::IfcMeasureWithUnit* Ifc4x3_add2::IfcRelAssignsToProcess::QuantityInProcess() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_add2::IfcMeasureWithUnit>(true); } void Ifc4x3_add2::IfcRelAssignsToProcess::setQuantityInProcess(::Ifc4x3_add2::IfcMeasureWithUnit* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_add2::IfcRelAssignsToProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[905]); } const IfcParse::entity& Ifc4x3_add2::IfcRelAssignsToProcess::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[905]); } Ifc4x3_add2::IfcRelAssignsToProcess::IfcRelAssignsToProcess(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_add2::IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcProcessSelect* v7_RelatingProcess, ::Ifc4x3_add2::IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingProcess ? v7_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_QuantityInProcess ? v8_QuantityInProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcProcessSelect* v7_RelatingProcess, ::Ifc4x3_add2::IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingProcess ? v7_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_QuantityInProcess ? v8_QuantityInProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToProduct -::Ifc4x3_add2::IfcProductSelect* Ifc4x3_add2::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add2::IfcProductSelect>(true); } +::Ifc4x3_add2::IfcProductSelect* Ifc4x3_add2::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add2::IfcProductSelect>(true); } void Ifc4x3_add2::IfcRelAssignsToProduct::setRelatingProduct(::Ifc4x3_add2::IfcProductSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add2::IfcRelAssignsToProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[906]); } const IfcParse::entity& Ifc4x3_add2::IfcRelAssignsToProduct::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[906]); } Ifc4x3_add2::IfcRelAssignsToProduct::IfcRelAssignsToProduct(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_add2::IfcRelAssignsToProduct::IfcRelAssignsToProduct(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcProductSelect* v7_RelatingProduct) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingProduct ? v7_RelatingProduct->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcRelAssignsToProduct::IfcRelAssignsToProduct(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcProductSelect* v7_RelatingProduct) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingProduct ? v7_RelatingProduct->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToResource -::Ifc4x3_add2::IfcResourceSelect* Ifc4x3_add2::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add2::IfcResourceSelect>(true); } +::Ifc4x3_add2::IfcResourceSelect* Ifc4x3_add2::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add2::IfcResourceSelect>(true); } void Ifc4x3_add2::IfcRelAssignsToResource::setRelatingResource(::Ifc4x3_add2::IfcResourceSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add2::IfcRelAssignsToResource::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[907]); } const IfcParse::entity& Ifc4x3_add2::IfcRelAssignsToResource::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[907]); } Ifc4x3_add2::IfcRelAssignsToResource::IfcRelAssignsToResource(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_add2::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingResource ? v7_RelatingResource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_add2::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingResource ? v7_RelatingResource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociates -aggregate_of< ::Ifc4x3_add2::IfcDefinitionSelect >::ptr Ifc4x3_add2::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_add2::IfcDefinitionSelect >(); } +aggregate_of< ::Ifc4x3_add2::IfcDefinitionSelect >::ptr Ifc4x3_add2::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_add2::IfcDefinitionSelect >(); } void Ifc4x3_add2::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x3_add2::IfcDefinitionSelect >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add2::IfcRelAssociates::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[908]); } const IfcParse::entity& Ifc4x3_add2::IfcRelAssociates::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[908]); } Ifc4x3_add2::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_add2::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelAssociatesApproval -::Ifc4x3_add2::IfcApproval* Ifc4x3_add2::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcApproval>(true); } +::Ifc4x3_add2::IfcApproval* Ifc4x3_add2::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcApproval>(true); } void Ifc4x3_add2::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4x3_add2::IfcApproval* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcRelAssociatesApproval::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[909]); } const IfcParse::entity& Ifc4x3_add2::IfcRelAssociatesApproval::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[909]); } Ifc4x3_add2::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_add2::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add2::IfcApproval* v6_RelatingApproval) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingApproval ? v6_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add2::IfcApproval* v6_RelatingApproval) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingApproval ? v6_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesClassification -::Ifc4x3_add2::IfcClassificationSelect* Ifc4x3_add2::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcClassificationSelect>(true); } +::Ifc4x3_add2::IfcClassificationSelect* Ifc4x3_add2::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcClassificationSelect>(true); } void Ifc4x3_add2::IfcRelAssociatesClassification::setRelatingClassification(::Ifc4x3_add2::IfcClassificationSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcRelAssociatesClassification::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[910]); } const IfcParse::entity& Ifc4x3_add2::IfcRelAssociatesClassification::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[910]); } Ifc4x3_add2::IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_add2::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add2::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingClassification ? v6_RelatingClassification->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add2::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingClassification ? v6_RelatingClassification->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesConstraint -boost::optional< std::string > Ifc4x3_add2::IfcRelAssociatesConstraint::Intent() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcRelAssociatesConstraint::Intent() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcRelAssociatesConstraint::setIntent(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_add2::IfcConstraint* Ifc4x3_add2::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add2::IfcConstraint>(true); } +::Ifc4x3_add2::IfcConstraint* Ifc4x3_add2::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add2::IfcConstraint>(true); } void Ifc4x3_add2::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x3_add2::IfcConstraint* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add2::IfcRelAssociatesConstraint::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[911]); } const IfcParse::entity& Ifc4x3_add2::IfcRelAssociatesConstraint::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[911]); } Ifc4x3_add2::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_add2::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_add2::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, v7_RelatingConstraint ? v7_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_add2::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, v7_RelatingConstraint ? v7_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesDocument -::Ifc4x3_add2::IfcDocumentSelect* Ifc4x3_add2::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcDocumentSelect>(true); } +::Ifc4x3_add2::IfcDocumentSelect* Ifc4x3_add2::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcDocumentSelect>(true); } void Ifc4x3_add2::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4x3_add2::IfcDocumentSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcRelAssociatesDocument::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[912]); } const IfcParse::entity& Ifc4x3_add2::IfcRelAssociatesDocument::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[912]); } Ifc4x3_add2::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_add2::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add2::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingDocument ? v6_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add2::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingDocument ? v6_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesLibrary -::Ifc4x3_add2::IfcLibrarySelect* Ifc4x3_add2::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcLibrarySelect>(true); } +::Ifc4x3_add2::IfcLibrarySelect* Ifc4x3_add2::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcLibrarySelect>(true); } void Ifc4x3_add2::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4x3_add2::IfcLibrarySelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcRelAssociatesLibrary::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[913]); } const IfcParse::entity& Ifc4x3_add2::IfcRelAssociatesLibrary::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[913]); } Ifc4x3_add2::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_add2::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add2::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingLibrary ? v6_RelatingLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add2::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingLibrary ? v6_RelatingLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesMaterial -::Ifc4x3_add2::IfcMaterialSelect* Ifc4x3_add2::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcMaterialSelect>(true); } +::Ifc4x3_add2::IfcMaterialSelect* Ifc4x3_add2::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcMaterialSelect>(true); } void Ifc4x3_add2::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4x3_add2::IfcMaterialSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcRelAssociatesMaterial::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[914]); } const IfcParse::entity& Ifc4x3_add2::IfcRelAssociatesMaterial::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[914]); } Ifc4x3_add2::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_add2::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add2::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingMaterial ? v6_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add2::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingMaterial ? v6_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesProfileDef -::Ifc4x3_add2::IfcProfileDef* Ifc4x3_add2::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcProfileDef>(true); } +::Ifc4x3_add2::IfcProfileDef* Ifc4x3_add2::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcProfileDef>(true); } void Ifc4x3_add2::IfcRelAssociatesProfileDef::setRelatingProfileDef(::Ifc4x3_add2::IfcProfileDef* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcRelAssociatesProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[915]); } const IfcParse::entity& Ifc4x3_add2::IfcRelAssociatesProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[915]); } Ifc4x3_add2::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_add2::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add2::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingProfileDef ? v6_RelatingProfileDef->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_add2::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingProfileDef ? v6_RelatingProfileDef->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnects @@ -14760,165 +14760,165 @@ Ifc4x3_add2::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string const IfcParse::entity& Ifc4x3_add2::IfcRelConnects::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[917]); } const IfcParse::entity& Ifc4x3_add2::IfcRelConnects::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[917]); } Ifc4x3_add2::IfcRelConnects::IfcRelConnects(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_add2::IfcRelConnects::IfcRelConnects(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_add2::IfcRelConnects::IfcRelConnects(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRelConnectsElements -::Ifc4x3_add2::IfcConnectionGeometry* Ifc4x3_add2::IfcRelConnectsElements::ConnectionGeometry() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcConnectionGeometry>(true); } +::Ifc4x3_add2::IfcConnectionGeometry* Ifc4x3_add2::IfcRelConnectsElements::ConnectionGeometry() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcConnectionGeometry>(true); } void Ifc4x3_add2::IfcRelConnectsElements::setConnectionGeometry(::Ifc4x3_add2::IfcConnectionGeometry* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcElement* Ifc4x3_add2::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcElement>(true); } +::Ifc4x3_add2::IfcElement* Ifc4x3_add2::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcElement>(true); } void Ifc4x3_add2::IfcRelConnectsElements::setRelatingElement(::Ifc4x3_add2::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add2::IfcElement* Ifc4x3_add2::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add2::IfcElement>(true); } +::Ifc4x3_add2::IfcElement* Ifc4x3_add2::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add2::IfcElement>(true); } void Ifc4x3_add2::IfcRelConnectsElements::setRelatedElement(::Ifc4x3_add2::IfcElement* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add2::IfcRelConnectsElements::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[918]); } const IfcParse::entity& Ifc4x3_add2::IfcRelConnectsElements::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[918]); } Ifc4x3_add2::IfcRelConnectsElements::IfcRelConnectsElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_add2::IfcRelConnectsElements::IfcRelConnectsElements(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_add2::IfcElement* v6_RelatingElement, ::Ifc4x3_add2::IfcElement* v7_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcRelConnectsElements::IfcRelConnectsElements(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_add2::IfcElement* v6_RelatingElement, ::Ifc4x3_add2::IfcElement* v7_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsPathElements -std::vector< int > /*[0:?]*/ Ifc4x3_add2::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = data_.get_attribute_value(7); return v; } +std::vector< int > /*[0:?]*/ Ifc4x3_add2::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcRelConnectsPathElements::setRelatingPriorities(std::vector< int > /*[0:?]*/ v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector< int > /*[0:?]*/ Ifc4x3_add2::IfcRelConnectsPathElements::RelatedPriorities() const { std::vector< int > /*[0:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< int > /*[0:?]*/ Ifc4x3_add2::IfcRelConnectsPathElements::RelatedPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcRelConnectsPathElements::setRelatedPriorities(std::vector< int > /*[0:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_add2::IfcConnectionTypeEnum::Value Ifc4x3_add2::IfcRelConnectsPathElements::RelatedConnectionType() const { return ::Ifc4x3_add2::IfcConnectionTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcConnectionTypeEnum::Value Ifc4x3_add2::IfcRelConnectsPathElements::RelatedConnectionType() const { return ::Ifc4x3_add2::IfcConnectionTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcRelConnectsPathElements::setRelatedConnectionType(::Ifc4x3_add2::IfcConnectionTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_add2::IfcConnectionTypeEnum::Value Ifc4x3_add2::IfcRelConnectsPathElements::RelatingConnectionType() const { return ::Ifc4x3_add2::IfcConnectionTypeEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3_add2::IfcConnectionTypeEnum::Value Ifc4x3_add2::IfcRelConnectsPathElements::RelatingConnectionType() const { return ::Ifc4x3_add2::IfcConnectionTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add2::IfcRelConnectsPathElements::setRelatingConnectionType(::Ifc4x3_add2::IfcConnectionTypeEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3_add2::IfcConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_add2::IfcRelConnectsPathElements::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[919]); } const IfcParse::entity& Ifc4x3_add2::IfcRelConnectsPathElements::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[919]); } Ifc4x3_add2::IfcRelConnectsPathElements::IfcRelConnectsPathElements(IfcEntityInstanceData&& e) : IfcRelConnectsElements(std::move(e)) { } -Ifc4x3_add2::IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_add2::IfcElement* v6_RelatingElement, ::Ifc4x3_add2::IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_add2::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_add2::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; populate_derived(); } +Ifc4x3_add2::IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_add2::IfcElement* v6_RelatingElement, ::Ifc4x3_add2::IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_add2::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_add2::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; populate_derived(); } // Function implementations for IfcRelConnectsPortToElement -::Ifc4x3_add2::IfcPort* Ifc4x3_add2::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcPort>(true); } +::Ifc4x3_add2::IfcPort* Ifc4x3_add2::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcPort>(true); } void Ifc4x3_add2::IfcRelConnectsPortToElement::setRelatingPort(::Ifc4x3_add2::IfcPort* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcDistributionElement* Ifc4x3_add2::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcDistributionElement>(true); } +::Ifc4x3_add2::IfcDistributionElement* Ifc4x3_add2::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcDistributionElement>(true); } void Ifc4x3_add2::IfcRelConnectsPortToElement::setRelatedElement(::Ifc4x3_add2::IfcDistributionElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcRelConnectsPortToElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[921]); } const IfcParse::entity& Ifc4x3_add2::IfcRelConnectsPortToElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[921]); } Ifc4x3_add2::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_add2::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcPort* v5_RelatingPort, ::Ifc4x3_add2::IfcDistributionElement* v6_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcPort* v5_RelatingPort, ::Ifc4x3_add2::IfcDistributionElement* v6_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsPorts -::Ifc4x3_add2::IfcPort* Ifc4x3_add2::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcPort>(true); } +::Ifc4x3_add2::IfcPort* Ifc4x3_add2::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcPort>(true); } void Ifc4x3_add2::IfcRelConnectsPorts::setRelatingPort(::Ifc4x3_add2::IfcPort* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcPort* Ifc4x3_add2::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcPort>(true); } +::Ifc4x3_add2::IfcPort* Ifc4x3_add2::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcPort>(true); } void Ifc4x3_add2::IfcRelConnectsPorts::setRelatedPort(::Ifc4x3_add2::IfcPort* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add2::IfcElement* Ifc4x3_add2::IfcRelConnectsPorts::RealizingElement() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add2::IfcElement>(true); } +::Ifc4x3_add2::IfcElement* Ifc4x3_add2::IfcRelConnectsPorts::RealizingElement() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add2::IfcElement>(true); } void Ifc4x3_add2::IfcRelConnectsPorts::setRealizingElement(::Ifc4x3_add2::IfcElement* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add2::IfcRelConnectsPorts::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[920]); } const IfcParse::entity& Ifc4x3_add2::IfcRelConnectsPorts::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[920]); } Ifc4x3_add2::IfcRelConnectsPorts::IfcRelConnectsPorts(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_add2::IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcPort* v5_RelatingPort, ::Ifc4x3_add2::IfcPort* v6_RelatedPort, ::Ifc4x3_add2::IfcElement* v7_RealizingElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedPort ? v6_RelatedPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RealizingElement ? v7_RealizingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcPort* v5_RelatingPort, ::Ifc4x3_add2::IfcPort* v6_RelatedPort, ::Ifc4x3_add2::IfcElement* v7_RealizingElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedPort ? v6_RelatedPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RealizingElement ? v7_RealizingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsStructuralActivity -::Ifc4x3_add2::IfcStructuralActivityAssignmentSelect* Ifc4x3_add2::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcStructuralActivityAssignmentSelect>(true); } +::Ifc4x3_add2::IfcStructuralActivityAssignmentSelect* Ifc4x3_add2::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcStructuralActivityAssignmentSelect>(true); } void Ifc4x3_add2::IfcRelConnectsStructuralActivity::setRelatingElement(::Ifc4x3_add2::IfcStructuralActivityAssignmentSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcStructuralActivity* Ifc4x3_add2::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcStructuralActivity>(true); } +::Ifc4x3_add2::IfcStructuralActivity* Ifc4x3_add2::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcStructuralActivity>(true); } void Ifc4x3_add2::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(::Ifc4x3_add2::IfcStructuralActivity* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcRelConnectsStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[922]); } const IfcParse::entity& Ifc4x3_add2::IfcRelConnectsStructuralActivity::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[922]); } Ifc4x3_add2::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_add2::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcStructuralActivityAssignmentSelect* v5_RelatingElement, ::Ifc4x3_add2::IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralActivity ? v6_RelatedStructuralActivity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcStructuralActivityAssignmentSelect* v5_RelatingElement, ::Ifc4x3_add2::IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralActivity ? v6_RelatedStructuralActivity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsStructuralMember -::Ifc4x3_add2::IfcStructuralMember* Ifc4x3_add2::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcStructuralMember>(true); } +::Ifc4x3_add2::IfcStructuralMember* Ifc4x3_add2::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcStructuralMember>(true); } void Ifc4x3_add2::IfcRelConnectsStructuralMember::setRelatingStructuralMember(::Ifc4x3_add2::IfcStructuralMember* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcStructuralConnection* Ifc4x3_add2::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcStructuralConnection>(true); } +::Ifc4x3_add2::IfcStructuralConnection* Ifc4x3_add2::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcStructuralConnection>(true); } void Ifc4x3_add2::IfcRelConnectsStructuralMember::setRelatedStructuralConnection(::Ifc4x3_add2::IfcStructuralConnection* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add2::IfcBoundaryCondition* Ifc4x3_add2::IfcRelConnectsStructuralMember::AppliedCondition() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add2::IfcBoundaryCondition>(true); } +::Ifc4x3_add2::IfcBoundaryCondition* Ifc4x3_add2::IfcRelConnectsStructuralMember::AppliedCondition() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add2::IfcBoundaryCondition>(true); } void Ifc4x3_add2::IfcRelConnectsStructuralMember::setAppliedCondition(::Ifc4x3_add2::IfcBoundaryCondition* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_add2::IfcStructuralConnectionCondition* Ifc4x3_add2::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_add2::IfcStructuralConnectionCondition>(true); } +::Ifc4x3_add2::IfcStructuralConnectionCondition* Ifc4x3_add2::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_add2::IfcStructuralConnectionCondition>(true); } void Ifc4x3_add2::IfcRelConnectsStructuralMember::setAdditionalConditions(::Ifc4x3_add2::IfcStructuralConnectionCondition* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc4x3_add2::IfcRelConnectsStructuralMember::SupportedLength() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_add2::IfcRelConnectsStructuralMember::SupportedLength() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_add2::IfcAxis2Placement3D* Ifc4x3_add2::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_add2::IfcAxis2Placement3D>(true); } +::Ifc4x3_add2::IfcAxis2Placement3D* Ifc4x3_add2::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_add2::IfcAxis2Placement3D>(true); } void Ifc4x3_add2::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(::Ifc4x3_add2::IfcAxis2Placement3D* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcRelConnectsStructuralMember::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[923]); } const IfcParse::entity& Ifc4x3_add2::IfcRelConnectsStructuralMember::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[923]); } Ifc4x3_add2::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_add2::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x3_add2::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x3_add2::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x3_add2::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x3_add2::IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x3_add2::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x3_add2::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x3_add2::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x3_add2::IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsWithEccentricity -::Ifc4x3_add2::IfcConnectionGeometry* Ifc4x3_add2::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_add2::IfcConnectionGeometry>(true); } +::Ifc4x3_add2::IfcConnectionGeometry* Ifc4x3_add2::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_add2::IfcConnectionGeometry>(true); } void Ifc4x3_add2::IfcRelConnectsWithEccentricity::setConnectionConstraint(::Ifc4x3_add2::IfcConnectionGeometry* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_add2::IfcRelConnectsWithEccentricity::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[924]); } const IfcParse::entity& Ifc4x3_add2::IfcRelConnectsWithEccentricity::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[924]); } Ifc4x3_add2::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(IfcEntityInstanceData&& e) : IfcRelConnectsStructuralMember(std::move(e)) { } -Ifc4x3_add2::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x3_add2::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x3_add2::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x3_add2::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x3_add2::IfcAxis2Placement3D* v10_ConditionCoordinateSystem, ::Ifc4x3_add2::IfcConnectionGeometry* v11_ConnectionConstraint) : IfcRelConnectsStructuralMember(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ConnectionConstraint ? v11_ConnectionConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x3_add2::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x3_add2::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x3_add2::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x3_add2::IfcAxis2Placement3D* v10_ConditionCoordinateSystem, ::Ifc4x3_add2::IfcConnectionGeometry* v11_ConnectionConstraint) : IfcRelConnectsStructuralMember(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ConnectionConstraint ? v11_ConnectionConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsWithRealizingElements -aggregate_of< ::Ifc4x3_add2::IfcElement >::ptr Ifc4x3_add2::IfcRelConnectsWithRealizingElements::RealizingElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_add2::IfcElement >(); } +aggregate_of< ::Ifc4x3_add2::IfcElement >::ptr Ifc4x3_add2::IfcRelConnectsWithRealizingElements::RealizingElements() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_add2::IfcElement >(); } void Ifc4x3_add2::IfcRelConnectsWithRealizingElements::setRealizingElements(aggregate_of< ::Ifc4x3_add2::IfcElement >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc4x3_add2::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcRelConnectsWithRealizingElements::setConnectionType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcRelConnectsWithRealizingElements::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[925]); } const IfcParse::entity& Ifc4x3_add2::IfcRelConnectsWithRealizingElements::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[925]); } Ifc4x3_add2::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(IfcEntityInstanceData&& e) : IfcRelConnectsElements(std::move(e)) { } -Ifc4x3_add2::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_add2::IfcElement* v6_RelatingElement, ::Ifc4x3_add2::IfcElement* v7_RelatedElement, aggregate_of< ::Ifc4x3_add2::IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RealizingElements)->generalize()); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; populate_derived(); } +Ifc4x3_add2::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_add2::IfcElement* v6_RelatingElement, ::Ifc4x3_add2::IfcElement* v7_RelatedElement, aggregate_of< ::Ifc4x3_add2::IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RealizingElements)->generalize()); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; populate_derived(); } // Function implementations for IfcRelContainedInSpatialStructure -aggregate_of< ::Ifc4x3_add2::IfcProduct >::ptr Ifc4x3_add2::IfcRelContainedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_add2::IfcProduct >(); } +aggregate_of< ::Ifc4x3_add2::IfcProduct >::ptr Ifc4x3_add2::IfcRelContainedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_add2::IfcProduct >(); } void Ifc4x3_add2::IfcRelContainedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_add2::IfcProduct >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcSpatialElement* Ifc4x3_add2::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcSpatialElement>(true); } +::Ifc4x3_add2::IfcSpatialElement* Ifc4x3_add2::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcSpatialElement>(true); } void Ifc4x3_add2::IfcRelContainedInSpatialStructure::setRelatingStructure(::Ifc4x3_add2::IfcSpatialElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcRelContainedInSpatialStructure::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[926]); } const IfcParse::entity& Ifc4x3_add2::IfcRelContainedInSpatialStructure::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[926]); } Ifc4x3_add2::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_add2::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcProduct >::ptr v5_RelatedElements, ::Ifc4x3_add2::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcProduct >::ptr v5_RelatedElements, ::Ifc4x3_add2::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelCoversBldgElements -::Ifc4x3_add2::IfcElement* Ifc4x3_add2::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcElement>(true); } +::Ifc4x3_add2::IfcElement* Ifc4x3_add2::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcElement>(true); } void Ifc4x3_add2::IfcRelCoversBldgElements::setRelatingBuildingElement(::Ifc4x3_add2::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_add2::IfcCovering >::ptr Ifc4x3_add2::IfcRelCoversBldgElements::RelatedCoverings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_add2::IfcCovering >(); } +aggregate_of< ::Ifc4x3_add2::IfcCovering >::ptr Ifc4x3_add2::IfcRelCoversBldgElements::RelatedCoverings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_add2::IfcCovering >(); } void Ifc4x3_add2::IfcRelCoversBldgElements::setRelatedCoverings(aggregate_of< ::Ifc4x3_add2::IfcCovering >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcRelCoversBldgElements::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[927]); } const IfcParse::entity& Ifc4x3_add2::IfcRelCoversBldgElements::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[927]); } Ifc4x3_add2::IfcRelCoversBldgElements::IfcRelCoversBldgElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_add2::IfcRelCoversBldgElements::IfcRelCoversBldgElements(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcElement* v5_RelatingBuildingElement, aggregate_of< ::Ifc4x3_add2::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcRelCoversBldgElements::IfcRelCoversBldgElements(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcElement* v5_RelatingBuildingElement, aggregate_of< ::Ifc4x3_add2::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } // Function implementations for IfcRelCoversSpaces -::Ifc4x3_add2::IfcSpace* Ifc4x3_add2::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcSpace>(true); } +::Ifc4x3_add2::IfcSpace* Ifc4x3_add2::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcSpace>(true); } void Ifc4x3_add2::IfcRelCoversSpaces::setRelatingSpace(::Ifc4x3_add2::IfcSpace* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_add2::IfcCovering >::ptr Ifc4x3_add2::IfcRelCoversSpaces::RelatedCoverings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_add2::IfcCovering >(); } +aggregate_of< ::Ifc4x3_add2::IfcCovering >::ptr Ifc4x3_add2::IfcRelCoversSpaces::RelatedCoverings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_add2::IfcCovering >(); } void Ifc4x3_add2::IfcRelCoversSpaces::setRelatedCoverings(aggregate_of< ::Ifc4x3_add2::IfcCovering >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcRelCoversSpaces::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[928]); } const IfcParse::entity& Ifc4x3_add2::IfcRelCoversSpaces::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[928]); } Ifc4x3_add2::IfcRelCoversSpaces::IfcRelCoversSpaces(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_add2::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcSpace* v5_RelatingSpace, aggregate_of< ::Ifc4x3_add2::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcSpace* v5_RelatingSpace, aggregate_of< ::Ifc4x3_add2::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } // Function implementations for IfcRelDeclares -::Ifc4x3_add2::IfcContext* Ifc4x3_add2::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcContext>(true); } +::Ifc4x3_add2::IfcContext* Ifc4x3_add2::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcContext>(true); } void Ifc4x3_add2::IfcRelDeclares::setRelatingContext(::Ifc4x3_add2::IfcContext* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_add2::IfcDefinitionSelect >::ptr Ifc4x3_add2::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_add2::IfcDefinitionSelect >(); } +aggregate_of< ::Ifc4x3_add2::IfcDefinitionSelect >::ptr Ifc4x3_add2::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_add2::IfcDefinitionSelect >(); } void Ifc4x3_add2::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x3_add2::IfcDefinitionSelect >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcRelDeclares::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[929]); } const IfcParse::entity& Ifc4x3_add2::IfcRelDeclares::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[929]); } Ifc4x3_add2::IfcRelDeclares::IfcRelDeclares(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_add2::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_add2::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingContext ? v5_RelatingContext->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedDefinitions)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_add2::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingContext ? v5_RelatingContext->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedDefinitions)->generalize());; populate_derived(); } // Function implementations for IfcRelDecomposes @@ -14926,7 +14926,7 @@ Ifc4x3_add2::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_ad const IfcParse::entity& Ifc4x3_add2::IfcRelDecomposes::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[930]); } const IfcParse::entity& Ifc4x3_add2::IfcRelDecomposes::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[930]); } Ifc4x3_add2::IfcRelDecomposes::IfcRelDecomposes(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_add2::IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_add2::IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRelDefines @@ -14934,198 +14934,198 @@ Ifc4x3_add2::IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, ::Ifc4x const IfcParse::entity& Ifc4x3_add2::IfcRelDefines::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[931]); } const IfcParse::entity& Ifc4x3_add2::IfcRelDefines::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[931]); } Ifc4x3_add2::IfcRelDefines::IfcRelDefines(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_add2::IfcRelDefines::IfcRelDefines(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_add2::IfcRelDefines::IfcRelDefines(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRelDefinesByObject -aggregate_of< ::Ifc4x3_add2::IfcObject >::ptr Ifc4x3_add2::IfcRelDefinesByObject::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_add2::IfcObject >(); } +aggregate_of< ::Ifc4x3_add2::IfcObject >::ptr Ifc4x3_add2::IfcRelDefinesByObject::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_add2::IfcObject >(); } void Ifc4x3_add2::IfcRelDefinesByObject::setRelatedObjects(aggregate_of< ::Ifc4x3_add2::IfcObject >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcObject* Ifc4x3_add2::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcObject>(true); } +::Ifc4x3_add2::IfcObject* Ifc4x3_add2::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcObject>(true); } void Ifc4x3_add2::IfcRelDefinesByObject::setRelatingObject(::Ifc4x3_add2::IfcObject* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcRelDefinesByObject::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[932]); } const IfcParse::entity& Ifc4x3_add2::IfcRelDefinesByObject::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[932]); } Ifc4x3_add2::IfcRelDefinesByObject::IfcRelDefinesByObject(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x3_add2::IfcRelDefinesByObject::IfcRelDefinesByObject(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3_add2::IfcObject* v6_RelatingObject) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingObject ? v6_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcRelDefinesByObject::IfcRelDefinesByObject(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3_add2::IfcObject* v6_RelatingObject) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingObject ? v6_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelDefinesByProperties -aggregate_of< ::Ifc4x3_add2::IfcObjectDefinition >::ptr Ifc4x3_add2::IfcRelDefinesByProperties::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_add2::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x3_add2::IfcObjectDefinition >::ptr Ifc4x3_add2::IfcRelDefinesByProperties::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_add2::IfcObjectDefinition >(); } void Ifc4x3_add2::IfcRelDefinesByProperties::setRelatedObjects(aggregate_of< ::Ifc4x3_add2::IfcObjectDefinition >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcPropertySetDefinitionSelect* Ifc4x3_add2::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcPropertySetDefinitionSelect>(true); } +::Ifc4x3_add2::IfcPropertySetDefinitionSelect* Ifc4x3_add2::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcPropertySetDefinitionSelect>(true); } void Ifc4x3_add2::IfcRelDefinesByProperties::setRelatingPropertyDefinition(::Ifc4x3_add2::IfcPropertySetDefinitionSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcRelDefinesByProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[933]); } const IfcParse::entity& Ifc4x3_add2::IfcRelDefinesByProperties::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[933]); } Ifc4x3_add2::IfcRelDefinesByProperties::IfcRelDefinesByProperties(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x3_add2::IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcObjectDefinition >::ptr v5_RelatedObjects, ::Ifc4x3_add2::IfcPropertySetDefinitionSelect* v6_RelatingPropertyDefinition) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingPropertyDefinition ? v6_RelatingPropertyDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcObjectDefinition >::ptr v5_RelatedObjects, ::Ifc4x3_add2::IfcPropertySetDefinitionSelect* v6_RelatingPropertyDefinition) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingPropertyDefinition ? v6_RelatingPropertyDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelDefinesByTemplate -aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr Ifc4x3_add2::IfcRelDefinesByTemplate::RelatedPropertySets() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_add2::IfcPropertySetDefinition >(); } +aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr Ifc4x3_add2::IfcRelDefinesByTemplate::RelatedPropertySets() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_add2::IfcPropertySetDefinition >(); } void Ifc4x3_add2::IfcRelDefinesByTemplate::setRelatedPropertySets(aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcPropertySetTemplate* Ifc4x3_add2::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcPropertySetTemplate>(true); } +::Ifc4x3_add2::IfcPropertySetTemplate* Ifc4x3_add2::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcPropertySetTemplate>(true); } void Ifc4x3_add2::IfcRelDefinesByTemplate::setRelatingTemplate(::Ifc4x3_add2::IfcPropertySetTemplate* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcRelDefinesByTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[934]); } const IfcParse::entity& Ifc4x3_add2::IfcRelDefinesByTemplate::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[934]); } Ifc4x3_add2::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x3_add2::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr v5_RelatedPropertySets, ::Ifc4x3_add2::IfcPropertySetTemplate* v6_RelatingTemplate) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedPropertySets)->generalize());set_attribute_value(5, v6_RelatingTemplate ? v6_RelatingTemplate->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr v5_RelatedPropertySets, ::Ifc4x3_add2::IfcPropertySetTemplate* v6_RelatingTemplate) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedPropertySets)->generalize());set_attribute_value(5, v6_RelatingTemplate ? v6_RelatingTemplate->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelDefinesByType -aggregate_of< ::Ifc4x3_add2::IfcObject >::ptr Ifc4x3_add2::IfcRelDefinesByType::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_add2::IfcObject >(); } +aggregate_of< ::Ifc4x3_add2::IfcObject >::ptr Ifc4x3_add2::IfcRelDefinesByType::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_add2::IfcObject >(); } void Ifc4x3_add2::IfcRelDefinesByType::setRelatedObjects(aggregate_of< ::Ifc4x3_add2::IfcObject >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcTypeObject* Ifc4x3_add2::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcTypeObject>(true); } +::Ifc4x3_add2::IfcTypeObject* Ifc4x3_add2::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcTypeObject>(true); } void Ifc4x3_add2::IfcRelDefinesByType::setRelatingType(::Ifc4x3_add2::IfcTypeObject* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcRelDefinesByType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[935]); } const IfcParse::entity& Ifc4x3_add2::IfcRelDefinesByType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[935]); } Ifc4x3_add2::IfcRelDefinesByType::IfcRelDefinesByType(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x3_add2::IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3_add2::IfcTypeObject* v6_RelatingType) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingType ? v6_RelatingType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3_add2::IfcTypeObject* v6_RelatingType) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingType ? v6_RelatingType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelFillsElement -::Ifc4x3_add2::IfcOpeningElement* Ifc4x3_add2::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcOpeningElement>(true); } +::Ifc4x3_add2::IfcOpeningElement* Ifc4x3_add2::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcOpeningElement>(true); } void Ifc4x3_add2::IfcRelFillsElement::setRelatingOpeningElement(::Ifc4x3_add2::IfcOpeningElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcElement* Ifc4x3_add2::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcElement>(true); } +::Ifc4x3_add2::IfcElement* Ifc4x3_add2::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcElement>(true); } void Ifc4x3_add2::IfcRelFillsElement::setRelatedBuildingElement(::Ifc4x3_add2::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcRelFillsElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[936]); } const IfcParse::entity& Ifc4x3_add2::IfcRelFillsElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[936]); } Ifc4x3_add2::IfcRelFillsElement::IfcRelFillsElement(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_add2::IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcOpeningElement* v5_RelatingOpeningElement, ::Ifc4x3_add2::IfcElement* v6_RelatedBuildingElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingOpeningElement ? v5_RelatingOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcOpeningElement* v5_RelatingOpeningElement, ::Ifc4x3_add2::IfcElement* v6_RelatedBuildingElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingOpeningElement ? v5_RelatingOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelFlowControlElements -aggregate_of< ::Ifc4x3_add2::IfcDistributionControlElement >::ptr Ifc4x3_add2::IfcRelFlowControlElements::RelatedControlElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_add2::IfcDistributionControlElement >(); } +aggregate_of< ::Ifc4x3_add2::IfcDistributionControlElement >::ptr Ifc4x3_add2::IfcRelFlowControlElements::RelatedControlElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_add2::IfcDistributionControlElement >(); } void Ifc4x3_add2::IfcRelFlowControlElements::setRelatedControlElements(aggregate_of< ::Ifc4x3_add2::IfcDistributionControlElement >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcDistributionFlowElement* Ifc4x3_add2::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcDistributionFlowElement>(true); } +::Ifc4x3_add2::IfcDistributionFlowElement* Ifc4x3_add2::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcDistributionFlowElement>(true); } void Ifc4x3_add2::IfcRelFlowControlElements::setRelatingFlowElement(::Ifc4x3_add2::IfcDistributionFlowElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcRelFlowControlElements::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[937]); } const IfcParse::entity& Ifc4x3_add2::IfcRelFlowControlElements::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[937]); } Ifc4x3_add2::IfcRelFlowControlElements::IfcRelFlowControlElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_add2::IfcRelFlowControlElements::IfcRelFlowControlElements(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcDistributionControlElement >::ptr v5_RelatedControlElements, ::Ifc4x3_add2::IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedControlElements)->generalize());set_attribute_value(5, v6_RelatingFlowElement ? v6_RelatingFlowElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcRelFlowControlElements::IfcRelFlowControlElements(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcDistributionControlElement >::ptr v5_RelatedControlElements, ::Ifc4x3_add2::IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedControlElements)->generalize());set_attribute_value(5, v6_RelatingFlowElement ? v6_RelatingFlowElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelInterferesElements -::Ifc4x3_add2::IfcInterferenceSelect* Ifc4x3_add2::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcInterferenceSelect>(true); } +::Ifc4x3_add2::IfcInterferenceSelect* Ifc4x3_add2::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcInterferenceSelect>(true); } void Ifc4x3_add2::IfcRelInterferesElements::setRelatingElement(::Ifc4x3_add2::IfcInterferenceSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcInterferenceSelect* Ifc4x3_add2::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcInterferenceSelect>(true); } +::Ifc4x3_add2::IfcInterferenceSelect* Ifc4x3_add2::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcInterferenceSelect>(true); } void Ifc4x3_add2::IfcRelInterferesElements::setRelatedElement(::Ifc4x3_add2::IfcInterferenceSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add2::IfcConnectionGeometry* Ifc4x3_add2::IfcRelInterferesElements::InterferenceGeometry() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add2::IfcConnectionGeometry>(true); } +::Ifc4x3_add2::IfcConnectionGeometry* Ifc4x3_add2::IfcRelInterferesElements::InterferenceGeometry() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add2::IfcConnectionGeometry>(true); } void Ifc4x3_add2::IfcRelInterferesElements::setInterferenceGeometry(::Ifc4x3_add2::IfcConnectionGeometry* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< std::string > Ifc4x3_add2::IfcRelInterferesElements::InterferenceType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcRelInterferesElements::InterferenceType() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcRelInterferesElements::setInterferenceType(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::logic::tribool Ifc4x3_add2::IfcRelInterferesElements::ImpliedOrder() const { boost::logic::tribool v = data_.get_attribute_value(8); return v; } +boost::logic::tribool Ifc4x3_add2::IfcRelInterferesElements::ImpliedOrder() const { boost::logic::tribool v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcRelInterferesElements::setImpliedOrder(boost::logic::tribool v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_add2::IfcSpatialZone* Ifc4x3_add2::IfcRelInterferesElements::InterferenceSpace() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_add2::IfcSpatialZone>(true); } +::Ifc4x3_add2::IfcSpatialZone* Ifc4x3_add2::IfcRelInterferesElements::InterferenceSpace() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_add2::IfcSpatialZone>(true); } void Ifc4x3_add2::IfcRelInterferesElements::setInterferenceSpace(::Ifc4x3_add2::IfcSpatialZone* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcRelInterferesElements::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[938]); } const IfcParse::entity& Ifc4x3_add2::IfcRelInterferesElements::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[938]); } Ifc4x3_add2::IfcRelInterferesElements::IfcRelInterferesElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_add2::IfcRelInterferesElements::IfcRelInterferesElements(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcInterferenceSelect* v5_RelatingElement, ::Ifc4x3_add2::IfcInterferenceSelect* v6_RelatedElement, ::Ifc4x3_add2::IfcConnectionGeometry* v7_InterferenceGeometry, boost::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder, ::Ifc4x3_add2::IfcSpatialZone* v10_InterferenceSpace) : IfcRelConnects(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_InterferenceGeometry ? v7_InterferenceGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder));set_attribute_value(9, v10_InterferenceSpace ? v10_InterferenceSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcRelInterferesElements::IfcRelInterferesElements(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcInterferenceSelect* v5_RelatingElement, ::Ifc4x3_add2::IfcInterferenceSelect* v6_RelatedElement, ::Ifc4x3_add2::IfcConnectionGeometry* v7_InterferenceGeometry, boost::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder, ::Ifc4x3_add2::IfcSpatialZone* v10_InterferenceSpace) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_InterferenceGeometry ? v7_InterferenceGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder));set_attribute_value(9, v10_InterferenceSpace ? v10_InterferenceSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelNests -::Ifc4x3_add2::IfcObjectDefinition* Ifc4x3_add2::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcObjectDefinition>(true); } +::Ifc4x3_add2::IfcObjectDefinition* Ifc4x3_add2::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcObjectDefinition>(true); } void Ifc4x3_add2::IfcRelNests::setRelatingObject(::Ifc4x3_add2::IfcObjectDefinition* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_add2::IfcObjectDefinition >::ptr Ifc4x3_add2::IfcRelNests::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_add2::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x3_add2::IfcObjectDefinition >::ptr Ifc4x3_add2::IfcRelNests::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_add2::IfcObjectDefinition >(); } void Ifc4x3_add2::IfcRelNests::setRelatedObjects(aggregate_of< ::Ifc4x3_add2::IfcObjectDefinition >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcRelNests::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[939]); } const IfcParse::entity& Ifc4x3_add2::IfcRelNests::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[939]); } Ifc4x3_add2::IfcRelNests::IfcRelNests(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x3_add2::IfcRelNests::IfcRelNests(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x3_add2::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcRelNests::IfcRelNests(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x3_add2::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelPositions -::Ifc4x3_add2::IfcPositioningElement* Ifc4x3_add2::IfcRelPositions::RelatingPositioningElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcPositioningElement>(true); } +::Ifc4x3_add2::IfcPositioningElement* Ifc4x3_add2::IfcRelPositions::RelatingPositioningElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcPositioningElement>(true); } void Ifc4x3_add2::IfcRelPositions::setRelatingPositioningElement(::Ifc4x3_add2::IfcPositioningElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_add2::IfcProduct >::ptr Ifc4x3_add2::IfcRelPositions::RelatedProducts() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_add2::IfcProduct >(); } +aggregate_of< ::Ifc4x3_add2::IfcProduct >::ptr Ifc4x3_add2::IfcRelPositions::RelatedProducts() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_add2::IfcProduct >(); } void Ifc4x3_add2::IfcRelPositions::setRelatedProducts(aggregate_of< ::Ifc4x3_add2::IfcProduct >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcRelPositions::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[940]); } const IfcParse::entity& Ifc4x3_add2::IfcRelPositions::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[940]); } Ifc4x3_add2::IfcRelPositions::IfcRelPositions(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_add2::IfcRelPositions::IfcRelPositions(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcPositioningElement* v5_RelatingPositioningElement, aggregate_of< ::Ifc4x3_add2::IfcProduct >::ptr v6_RelatedProducts) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPositioningElement ? v5_RelatingPositioningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedProducts)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcRelPositions::IfcRelPositions(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcPositioningElement* v5_RelatingPositioningElement, aggregate_of< ::Ifc4x3_add2::IfcProduct >::ptr v6_RelatedProducts) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPositioningElement ? v5_RelatingPositioningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedProducts)->generalize());; populate_derived(); } // Function implementations for IfcRelProjectsElement -::Ifc4x3_add2::IfcElement* Ifc4x3_add2::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcElement>(true); } +::Ifc4x3_add2::IfcElement* Ifc4x3_add2::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcElement>(true); } void Ifc4x3_add2::IfcRelProjectsElement::setRelatingElement(::Ifc4x3_add2::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcFeatureElementAddition* Ifc4x3_add2::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcFeatureElementAddition>(true); } +::Ifc4x3_add2::IfcFeatureElementAddition* Ifc4x3_add2::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcFeatureElementAddition>(true); } void Ifc4x3_add2::IfcRelProjectsElement::setRelatedFeatureElement(::Ifc4x3_add2::IfcFeatureElementAddition* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcRelProjectsElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[941]); } const IfcParse::entity& Ifc4x3_add2::IfcRelProjectsElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[941]); } Ifc4x3_add2::IfcRelProjectsElement::IfcRelProjectsElement(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x3_add2::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcElement* v5_RelatingElement, ::Ifc4x3_add2::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedFeatureElement ? v6_RelatedFeatureElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcElement* v5_RelatingElement, ::Ifc4x3_add2::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedFeatureElement ? v6_RelatedFeatureElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelReferencedInSpatialStructure -aggregate_of< ::Ifc4x3_add2::IfcSpatialReferenceSelect >::ptr Ifc4x3_add2::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_add2::IfcSpatialReferenceSelect >(); } +aggregate_of< ::Ifc4x3_add2::IfcSpatialReferenceSelect >::ptr Ifc4x3_add2::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_add2::IfcSpatialReferenceSelect >(); } void Ifc4x3_add2::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_add2::IfcSpatialReferenceSelect >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcSpatialElement* Ifc4x3_add2::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcSpatialElement>(true); } +::Ifc4x3_add2::IfcSpatialElement* Ifc4x3_add2::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcSpatialElement>(true); } void Ifc4x3_add2::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4x3_add2::IfcSpatialElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcRelReferencedInSpatialStructure::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[942]); } const IfcParse::entity& Ifc4x3_add2::IfcRelReferencedInSpatialStructure::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[942]); } Ifc4x3_add2::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_add2::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_add2::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_add2::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_add2::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelSequence -::Ifc4x3_add2::IfcProcess* Ifc4x3_add2::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcProcess>(true); } +::Ifc4x3_add2::IfcProcess* Ifc4x3_add2::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcProcess>(true); } void Ifc4x3_add2::IfcRelSequence::setRelatingProcess(::Ifc4x3_add2::IfcProcess* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcProcess* Ifc4x3_add2::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcProcess>(true); } +::Ifc4x3_add2::IfcProcess* Ifc4x3_add2::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcProcess>(true); } void Ifc4x3_add2::IfcRelSequence::setRelatedProcess(::Ifc4x3_add2::IfcProcess* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add2::IfcLagTime* Ifc4x3_add2::IfcRelSequence::TimeLag() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add2::IfcLagTime>(true); } +::Ifc4x3_add2::IfcLagTime* Ifc4x3_add2::IfcRelSequence::TimeLag() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add2::IfcLagTime>(true); } void Ifc4x3_add2::IfcRelSequence::setTimeLag(::Ifc4x3_add2::IfcLagTime* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< ::Ifc4x3_add2::IfcSequenceEnum::Value > Ifc4x3_add2::IfcRelSequence::SequenceType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcSequenceEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_add2::IfcSequenceEnum::Value > Ifc4x3_add2::IfcRelSequence::SequenceType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcSequenceEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add2::IfcRelSequence::setSequenceType(boost::optional< ::Ifc4x3_add2::IfcSequenceEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_add2::IfcSequenceEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_add2::IfcRelSequence::UserDefinedSequenceType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcRelSequence::UserDefinedSequenceType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcRelSequence::setUserDefinedSequenceType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcRelSequence::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[943]); } const IfcParse::entity& Ifc4x3_add2::IfcRelSequence::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[943]); } Ifc4x3_add2::IfcRelSequence::IfcRelSequence(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_add2::IfcRelSequence::IfcRelSequence(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcProcess* v5_RelatingProcess, ::Ifc4x3_add2::IfcProcess* v6_RelatedProcess, ::Ifc4x3_add2::IfcLagTime* v7_TimeLag, boost::optional< ::Ifc4x3_add2::IfcSequenceEnum::Value > v8_SequenceType, boost::optional< std::string > v9_UserDefinedSequenceType) : IfcRelConnects(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingProcess ? v5_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedProcess ? v6_RelatedProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_TimeLag ? v7_TimeLag->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_SequenceType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); }; populate_derived(); } +Ifc4x3_add2::IfcRelSequence::IfcRelSequence(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcProcess* v5_RelatingProcess, ::Ifc4x3_add2::IfcProcess* v6_RelatedProcess, ::Ifc4x3_add2::IfcLagTime* v7_TimeLag, boost::optional< ::Ifc4x3_add2::IfcSequenceEnum::Value > v8_SequenceType, boost::optional< std::string > v9_UserDefinedSequenceType) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingProcess ? v5_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedProcess ? v6_RelatedProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_TimeLag ? v7_TimeLag->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_SequenceType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); }; populate_derived(); } // Function implementations for IfcRelServicesBuildings -::Ifc4x3_add2::IfcSystem* Ifc4x3_add2::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcSystem>(true); } +::Ifc4x3_add2::IfcSystem* Ifc4x3_add2::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcSystem>(true); } void Ifc4x3_add2::IfcRelServicesBuildings::setRelatingSystem(::Ifc4x3_add2::IfcSystem* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_add2::IfcSpatialElement >::ptr Ifc4x3_add2::IfcRelServicesBuildings::RelatedBuildings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_add2::IfcSpatialElement >(); } +aggregate_of< ::Ifc4x3_add2::IfcSpatialElement >::ptr Ifc4x3_add2::IfcRelServicesBuildings::RelatedBuildings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_add2::IfcSpatialElement >(); } void Ifc4x3_add2::IfcRelServicesBuildings::setRelatedBuildings(aggregate_of< ::Ifc4x3_add2::IfcSpatialElement >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcRelServicesBuildings::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[944]); } const IfcParse::entity& Ifc4x3_add2::IfcRelServicesBuildings::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[944]); } Ifc4x3_add2::IfcRelServicesBuildings::IfcRelServicesBuildings(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_add2::IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcSystem* v5_RelatingSystem, aggregate_of< ::Ifc4x3_add2::IfcSpatialElement >::ptr v6_RelatedBuildings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSystem ? v5_RelatingSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedBuildings)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcSystem* v5_RelatingSystem, aggregate_of< ::Ifc4x3_add2::IfcSpatialElement >::ptr v6_RelatedBuildings) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSystem ? v5_RelatingSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedBuildings)->generalize());; populate_derived(); } // Function implementations for IfcRelSpaceBoundary -::Ifc4x3_add2::IfcSpaceBoundarySelect* Ifc4x3_add2::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcSpaceBoundarySelect>(true); } +::Ifc4x3_add2::IfcSpaceBoundarySelect* Ifc4x3_add2::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcSpaceBoundarySelect>(true); } void Ifc4x3_add2::IfcRelSpaceBoundary::setRelatingSpace(::Ifc4x3_add2::IfcSpaceBoundarySelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcElement* Ifc4x3_add2::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcElement>(true); } +::Ifc4x3_add2::IfcElement* Ifc4x3_add2::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcElement>(true); } void Ifc4x3_add2::IfcRelSpaceBoundary::setRelatedBuildingElement(::Ifc4x3_add2::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add2::IfcConnectionGeometry* Ifc4x3_add2::IfcRelSpaceBoundary::ConnectionGeometry() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add2::IfcConnectionGeometry>(true); } +::Ifc4x3_add2::IfcConnectionGeometry* Ifc4x3_add2::IfcRelSpaceBoundary::ConnectionGeometry() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add2::IfcConnectionGeometry>(true); } void Ifc4x3_add2::IfcRelSpaceBoundary::setConnectionGeometry(::Ifc4x3_add2::IfcConnectionGeometry* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Value Ifc4x3_add2::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Value Ifc4x3_add2::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add2::IfcRelSpaceBoundary::setPhysicalOrVirtualBoundary(::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_add2::IfcInternalOrExternalEnum::Value Ifc4x3_add2::IfcRelSpaceBoundary::InternalOrExternalBoundary() const { return ::Ifc4x3_add2::IfcInternalOrExternalEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_add2::IfcInternalOrExternalEnum::Value Ifc4x3_add2::IfcRelSpaceBoundary::InternalOrExternalBoundary() const { return ::Ifc4x3_add2::IfcInternalOrExternalEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcRelSpaceBoundary::setInternalOrExternalBoundary(::Ifc4x3_add2::IfcInternalOrExternalEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcInternalOrExternalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_add2::IfcRelSpaceBoundary::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[945]); } const IfcParse::entity& Ifc4x3_add2::IfcRelSpaceBoundary::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[945]); } Ifc4x3_add2::IfcRelSpaceBoundary::IfcRelSpaceBoundary(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_add2::IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_add2::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_add2::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) : IfcRelConnects(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; populate_derived(); } +Ifc4x3_add2::IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_add2::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_add2::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; populate_derived(); } // Function implementations for IfcRelSpaceBoundary1stLevel -::Ifc4x3_add2::IfcRelSpaceBoundary1stLevel* Ifc4x3_add2::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_add2::IfcRelSpaceBoundary1stLevel>(true); } +::Ifc4x3_add2::IfcRelSpaceBoundary1stLevel* Ifc4x3_add2::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_add2::IfcRelSpaceBoundary1stLevel>(true); } void Ifc4x3_add2::IfcRelSpaceBoundary1stLevel::setParentBoundary(::Ifc4x3_add2::IfcRelSpaceBoundary1stLevel* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } ::Ifc4x3_add2::IfcRelSpaceBoundary1stLevel::list::ptr Ifc4x3_add2::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[946], 9)->as(); } @@ -15133,10 +15133,10 @@ void Ifc4x3_add2::IfcRelSpaceBoundary1stLevel::setParentBoundary(::Ifc4x3_add2:: const IfcParse::entity& Ifc4x3_add2::IfcRelSpaceBoundary1stLevel::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[946]); } const IfcParse::entity& Ifc4x3_add2::IfcRelSpaceBoundary1stLevel::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[946]); } Ifc4x3_add2::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(IfcEntityInstanceData&& e) : IfcRelSpaceBoundary(std::move(e)) { } -Ifc4x3_add2::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_add2::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_add2::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_add2::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary) : IfcRelSpaceBoundary(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_add2::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_add2::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_add2::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary) : IfcRelSpaceBoundary(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelSpaceBoundary2ndLevel -::Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel* Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel>(true); } +::Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel* Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel>(true); } void Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(::Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } ::Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel::list::ptr Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel::Corresponds() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[947], 10)->as(); } @@ -15144,19 +15144,19 @@ void Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(::Ifc4x3 const IfcParse::entity& Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[947]); } const IfcParse::entity& Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[947]); } Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(IfcEntityInstanceData&& e) : IfcRelSpaceBoundary1stLevel(std::move(e)) { } -Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_add2::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_add2::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_add2::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, ::Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary) : IfcRelSpaceBoundary1stLevel(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_CorrespondingBoundary ? v11_CorrespondingBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_add2::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_add2::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_add2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_add2::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, ::Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary) : IfcRelSpaceBoundary1stLevel(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_CorrespondingBoundary ? v11_CorrespondingBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelVoidsElement -::Ifc4x3_add2::IfcElement* Ifc4x3_add2::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcElement>(true); } +::Ifc4x3_add2::IfcElement* Ifc4x3_add2::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcElement>(true); } void Ifc4x3_add2::IfcRelVoidsElement::setRelatingBuildingElement(::Ifc4x3_add2::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcFeatureElementSubtraction* Ifc4x3_add2::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcFeatureElementSubtraction>(true); } +::Ifc4x3_add2::IfcFeatureElementSubtraction* Ifc4x3_add2::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcFeatureElementSubtraction>(true); } void Ifc4x3_add2::IfcRelVoidsElement::setRelatedOpeningElement(::Ifc4x3_add2::IfcFeatureElementSubtraction* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcRelVoidsElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[948]); } const IfcParse::entity& Ifc4x3_add2::IfcRelVoidsElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[948]); } Ifc4x3_add2::IfcRelVoidsElement::IfcRelVoidsElement(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x3_add2::IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcElement* v5_RelatingBuildingElement, ::Ifc4x3_add2::IfcFeatureElementSubtraction* v6_RelatedOpeningElement) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedOpeningElement ? v6_RelatedOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcElement* v5_RelatingBuildingElement, ::Ifc4x3_add2::IfcFeatureElementSubtraction* v6_RelatedOpeningElement) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedOpeningElement ? v6_RelatedOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelationship @@ -15164,26 +15164,26 @@ Ifc4x3_add2::IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, ::I const IfcParse::entity& Ifc4x3_add2::IfcRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[916]); } const IfcParse::entity& Ifc4x3_add2::IfcRelationship::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[916]); } Ifc4x3_add2::IfcRelationship::IfcRelationship(IfcEntityInstanceData&& e) : IfcRoot(std::move(e)) { } -Ifc4x3_add2::IfcRelationship::IfcRelationship(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_add2::IfcRelationship::IfcRelationship(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcReparametrisedCompositeCurveSegment -double Ifc4x3_add2::IfcReparametrisedCompositeCurveSegment::ParamLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add2::IfcReparametrisedCompositeCurveSegment::ParamLength() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcReparametrisedCompositeCurveSegment::setParamLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcReparametrisedCompositeCurveSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[949]); } const IfcParse::entity& Ifc4x3_add2::IfcReparametrisedCompositeCurveSegment::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[949]); } Ifc4x3_add2::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(IfcEntityInstanceData&& e) : IfcCompositeCurveSegment(std::move(e)) { } -Ifc4x3_add2::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(::Ifc4x3_add2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_add2::IfcCurve* v3_ParentCurve, double v4_ParamLength) : IfcCompositeCurveSegment(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ParamLength));; populate_derived(); } +Ifc4x3_add2::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(::Ifc4x3_add2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_add2::IfcCurve* v3_ParentCurve, double v4_ParamLength) : IfcCompositeCurveSegment(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ParamLength));; populate_derived(); } // Function implementations for IfcRepresentation -::Ifc4x3_add2::IfcRepresentationContext* Ifc4x3_add2::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcRepresentationContext>(true); } +::Ifc4x3_add2::IfcRepresentationContext* Ifc4x3_add2::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcRepresentationContext>(true); } void Ifc4x3_add2::IfcRepresentation::setContextOfItems(::Ifc4x3_add2::IfcRepresentationContext* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_add2::IfcRepresentation::RepresentationIdentifier() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcRepresentation::RepresentationIdentifier() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_add2::IfcRepresentation::RepresentationType() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcRepresentation::RepresentationType() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcRepresentation::setRepresentationType(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -aggregate_of< ::Ifc4x3_add2::IfcRepresentationItem >::ptr Ifc4x3_add2::IfcRepresentation::Items() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_add2::IfcRepresentationItem >(); } +aggregate_of< ::Ifc4x3_add2::IfcRepresentationItem >::ptr Ifc4x3_add2::IfcRepresentation::Items() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_add2::IfcRepresentationItem >(); } void Ifc4x3_add2::IfcRepresentation::setItems(aggregate_of< ::Ifc4x3_add2::IfcRepresentationItem >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } ::Ifc4x3_add2::IfcRepresentationMap::list::ptr Ifc4x3_add2::IfcRepresentation::RepresentationMap() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[953], 1)->as(); } @@ -15193,12 +15193,12 @@ void Ifc4x3_add2::IfcRepresentation::setItems(aggregate_of< ::Ifc4x3_add2::IfcRe const IfcParse::entity& Ifc4x3_add2::IfcRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[950]); } const IfcParse::entity& Ifc4x3_add2::IfcRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[950]); } Ifc4x3_add2::IfcRepresentation::IfcRepresentation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcRepresentation::IfcRepresentation(::Ifc4x3_add2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_add2::IfcRepresentationItem >::ptr v4_Items) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcRepresentation::IfcRepresentation(::Ifc4x3_add2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_add2::IfcRepresentationItem >::ptr v4_Items) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcRepresentationContext -boost::optional< std::string > Ifc4x3_add2::IfcRepresentationContext::ContextIdentifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcRepresentationContext::ContextIdentifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcRepresentationContext::setContextIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add2::IfcRepresentationContext::ContextType() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcRepresentationContext::ContextType() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcRepresentationContext::setContextType(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x3_add2::IfcRepresentation::list::ptr Ifc4x3_add2::IfcRepresentationContext::RepresentationsInContext() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[950], 0)->as(); } @@ -15206,7 +15206,7 @@ void Ifc4x3_add2::IfcRepresentationContext::setContextType(boost::optional< std: const IfcParse::entity& Ifc4x3_add2::IfcRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[951]); } const IfcParse::entity& Ifc4x3_add2::IfcRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[951]); } Ifc4x3_add2::IfcRepresentationContext::IfcRepresentationContext(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcRepresentationContext::IfcRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; populate_derived(); } +Ifc4x3_add2::IfcRepresentationContext::IfcRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; populate_derived(); } // Function implementations for IfcRepresentationItem @@ -15216,12 +15216,12 @@ Ifc4x3_add2::IfcRepresentationContext::IfcRepresentationContext(boost::optional< const IfcParse::entity& Ifc4x3_add2::IfcRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[952]); } const IfcParse::entity& Ifc4x3_add2::IfcRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[952]); } Ifc4x3_add2::IfcRepresentationItem::IfcRepresentationItem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add2::IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcRepresentationMap -::Ifc4x3_add2::IfcAxis2Placement* Ifc4x3_add2::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcAxis2Placement>(true); } +::Ifc4x3_add2::IfcAxis2Placement* Ifc4x3_add2::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcAxis2Placement>(true); } void Ifc4x3_add2::IfcRepresentationMap::setMappingOrigin(::Ifc4x3_add2::IfcAxis2Placement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcRepresentation* Ifc4x3_add2::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcRepresentation>(true); } +::Ifc4x3_add2::IfcRepresentation* Ifc4x3_add2::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcRepresentation>(true); } void Ifc4x3_add2::IfcRepresentationMap::setMappedRepresentation(::Ifc4x3_add2::IfcRepresentation* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } ::Ifc4x3_add2::IfcShapeAspect::list::ptr Ifc4x3_add2::IfcRepresentationMap::HasShapeAspects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[1006], 4)->as(); } @@ -15230,12 +15230,12 @@ void Ifc4x3_add2::IfcRepresentationMap::setMappedRepresentation(::Ifc4x3_add2::I const IfcParse::entity& Ifc4x3_add2::IfcRepresentationMap::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[953]); } const IfcParse::entity& Ifc4x3_add2::IfcRepresentationMap::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[953]); } Ifc4x3_add2::IfcRepresentationMap::IfcRepresentationMap(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcRepresentationMap::IfcRepresentationMap(::Ifc4x3_add2::IfcAxis2Placement* v1_MappingOrigin, ::Ifc4x3_add2::IfcRepresentation* v2_MappedRepresentation) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_MappingOrigin ? v1_MappingOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappedRepresentation ? v2_MappedRepresentation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcRepresentationMap::IfcRepresentationMap(::Ifc4x3_add2::IfcAxis2Placement* v1_MappingOrigin, ::Ifc4x3_add2::IfcRepresentation* v2_MappedRepresentation) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_MappingOrigin ? v1_MappingOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappedRepresentation ? v2_MappedRepresentation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcResource -boost::optional< std::string > Ifc4x3_add2::IfcResource::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcResource::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcResource::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_add2::IfcResource::LongDescription() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcResource::LongDescription() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcResource::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_add2::IfcRelAssignsToResource::list::ptr Ifc4x3_add2::IfcResource::ResourceOf() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[907], 6)->as(); } @@ -15243,253 +15243,253 @@ void Ifc4x3_add2::IfcResource::setLongDescription(boost::optional< std::string > const IfcParse::entity& Ifc4x3_add2::IfcResource::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[954]); } const IfcParse::entity& Ifc4x3_add2::IfcResource::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[954]); } Ifc4x3_add2::IfcResource::IfcResource(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_add2::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x3_add2::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(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } +Ifc4x3_add2::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x3_add2::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(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } // Function implementations for IfcResourceApprovalRelationship -aggregate_of< ::Ifc4x3_add2::IfcResourceObjectSelect >::ptr Ifc4x3_add2::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcResourceObjectSelect >(); } +aggregate_of< ::Ifc4x3_add2::IfcResourceObjectSelect >::ptr Ifc4x3_add2::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcResourceObjectSelect >(); } void Ifc4x3_add2::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_add2::IfcResourceObjectSelect >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcApproval* Ifc4x3_add2::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcApproval>(true); } +::Ifc4x3_add2::IfcApproval* Ifc4x3_add2::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcApproval>(true); } void Ifc4x3_add2::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_add2::IfcApproval* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcResourceApprovalRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[955]); } const IfcParse::entity& Ifc4x3_add2::IfcResourceApprovalRelationship::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[955]); } Ifc4x3_add2::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_add2::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add2::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_add2::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatedResourceObjects)->generalize());set_attribute_value(3, v4_RelatingApproval ? v4_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_add2::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_add2::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatedResourceObjects)->generalize());set_attribute_value(3, v4_RelatingApproval ? v4_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcResourceConstraintRelationship -::Ifc4x3_add2::IfcConstraint* Ifc4x3_add2::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcConstraint>(true); } +::Ifc4x3_add2::IfcConstraint* Ifc4x3_add2::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcConstraint>(true); } void Ifc4x3_add2::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4x3_add2::IfcConstraint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_add2::IfcResourceObjectSelect >::ptr Ifc4x3_add2::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_add2::IfcResourceObjectSelect >(); } +aggregate_of< ::Ifc4x3_add2::IfcResourceObjectSelect >::ptr Ifc4x3_add2::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_add2::IfcResourceObjectSelect >(); } void Ifc4x3_add2::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_add2::IfcResourceObjectSelect >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcResourceConstraintRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[956]); } const IfcParse::entity& Ifc4x3_add2::IfcResourceConstraintRelationship::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[956]); } Ifc4x3_add2::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_add2::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_add2::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingConstraint ? v3_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_add2::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_add2::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingConstraint ? v3_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } // Function implementations for IfcResourceLevelRelationship -boost::optional< std::string > Ifc4x3_add2::IfcResourceLevelRelationship::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcResourceLevelRelationship::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcResourceLevelRelationship::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add2::IfcResourceLevelRelationship::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcResourceLevelRelationship::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcResourceLevelRelationship::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_add2::IfcResourceLevelRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[957]); } const IfcParse::entity& Ifc4x3_add2::IfcResourceLevelRelationship::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[957]); } Ifc4x3_add2::IfcResourceLevelRelationship::IfcResourceLevelRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcResourceLevelRelationship::IfcResourceLevelRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4x3_add2::IfcResourceLevelRelationship::IfcResourceLevelRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcResourceTime -boost::optional< std::string > Ifc4x3_add2::IfcResourceTime::ScheduleWork() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcResourceTime::ScheduleWork() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcResourceTime::setScheduleWork(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_add2::IfcResourceTime::ScheduleUsage() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_add2::IfcResourceTime::ScheduleUsage() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcResourceTime::setScheduleUsage(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add2::IfcResourceTime::ScheduleStart() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcResourceTime::ScheduleStart() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcResourceTime::setScheduleStart(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_add2::IfcResourceTime::ScheduleFinish() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcResourceTime::ScheduleFinish() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcResourceTime::setScheduleFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_add2::IfcResourceTime::ScheduleContour() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcResourceTime::ScheduleContour() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcResourceTime::setScheduleContour(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_add2::IfcResourceTime::LevelingDelay() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcResourceTime::LevelingDelay() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcResourceTime::setLevelingDelay(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< bool > Ifc4x3_add2::IfcResourceTime::IsOverAllocated() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } bool v = data_.get_attribute_value(9); return v; } +boost::optional< bool > Ifc4x3_add2::IfcResourceTime::IsOverAllocated() const { if(get_attribute_value(9).isNull()) { return boost::none; } bool v = get_attribute_value(9); return v; } void Ifc4x3_add2::IfcResourceTime::setIsOverAllocated(boost::optional< bool > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x3_add2::IfcResourceTime::StatusTime() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcResourceTime::StatusTime() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_add2::IfcResourceTime::setStatusTime(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< std::string > Ifc4x3_add2::IfcResourceTime::ActualWork() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcResourceTime::ActualWork() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x3_add2::IfcResourceTime::setActualWork(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_add2::IfcResourceTime::ActualUsage() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_add2::IfcResourceTime::ActualUsage() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_add2::IfcResourceTime::setActualUsage(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< std::string > Ifc4x3_add2::IfcResourceTime::ActualStart() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(13); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcResourceTime::ActualStart() const { if(get_attribute_value(13).isNull()) { return boost::none; } std::string v = get_attribute_value(13); return v; } void Ifc4x3_add2::IfcResourceTime::setActualStart(boost::optional< std::string > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x3_add2::IfcResourceTime::ActualFinish() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcResourceTime::ActualFinish() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x3_add2::IfcResourceTime::setActualFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< std::string > Ifc4x3_add2::IfcResourceTime::RemainingWork() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(15); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcResourceTime::RemainingWork() const { if(get_attribute_value(15).isNull()) { return boost::none; } std::string v = get_attribute_value(15); return v; } void Ifc4x3_add2::IfcResourceTime::setRemainingWork(boost::optional< std::string > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3_add2::IfcResourceTime::RemainingUsage() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3_add2::IfcResourceTime::RemainingUsage() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3_add2::IfcResourceTime::setRemainingUsage(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< double > Ifc4x3_add2::IfcResourceTime::Completion() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } double v = data_.get_attribute_value(17); return v; } +boost::optional< double > Ifc4x3_add2::IfcResourceTime::Completion() const { if(get_attribute_value(17).isNull()) { return boost::none; } double v = get_attribute_value(17); return v; } void Ifc4x3_add2::IfcResourceTime::setCompletion(boost::optional< double > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } const IfcParse::entity& Ifc4x3_add2::IfcResourceTime::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[960]); } const IfcParse::entity& Ifc4x3_add2::IfcResourceTime::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[960]); } Ifc4x3_add2::IfcResourceTime::IfcResourceTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x3_add2::IfcResourceTime::IfcResourceTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_add2::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(storage_t(18))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); }; populate_derived(); } +Ifc4x3_add2::IfcResourceTime::IfcResourceTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_add2::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(in_memory_attribute_storage(18))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); }; populate_derived(); } // Function implementations for IfcRevolvedAreaSolid -::Ifc4x3_add2::IfcAxis1Placement* Ifc4x3_add2::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcAxis1Placement>(true); } +::Ifc4x3_add2::IfcAxis1Placement* Ifc4x3_add2::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcAxis1Placement>(true); } void Ifc4x3_add2::IfcRevolvedAreaSolid::setAxis(::Ifc4x3_add2::IfcAxis1Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_add2::IfcRevolvedAreaSolid::Angle() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add2::IfcRevolvedAreaSolid::Angle() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcRevolvedAreaSolid::setAngle(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcRevolvedAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[961]); } const IfcParse::entity& Ifc4x3_add2::IfcRevolvedAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[961]); } Ifc4x3_add2::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4x3_add2::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(::Ifc4x3_add2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add2::IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));; populate_derived(); } +Ifc4x3_add2::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(::Ifc4x3_add2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add2::IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));; populate_derived(); } // Function implementations for IfcRevolvedAreaSolidTapered -::Ifc4x3_add2::IfcProfileDef* Ifc4x3_add2::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcProfileDef>(true); } +::Ifc4x3_add2::IfcProfileDef* Ifc4x3_add2::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcProfileDef>(true); } void Ifc4x3_add2::IfcRevolvedAreaSolidTapered::setEndSweptArea(::Ifc4x3_add2::IfcProfileDef* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add2::IfcRevolvedAreaSolidTapered::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[962]); } const IfcParse::entity& Ifc4x3_add2::IfcRevolvedAreaSolidTapered::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[962]); } Ifc4x3_add2::IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(IfcEntityInstanceData&& e) : IfcRevolvedAreaSolid(std::move(e)) { } -Ifc4x3_add2::IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(::Ifc4x3_add2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add2::IfcAxis1Placement* v3_Axis, double v4_Angle, ::Ifc4x3_add2::IfcProfileDef* v5_EndSweptArea) : IfcRevolvedAreaSolid(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(::Ifc4x3_add2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add2::IfcAxis1Placement* v3_Axis, double v4_Angle, ::Ifc4x3_add2::IfcProfileDef* v5_EndSweptArea) : IfcRevolvedAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRightCircularCone -double Ifc4x3_add2::IfcRightCircularCone::Height() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add2::IfcRightCircularCone::Height() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcRightCircularCone::setHeight(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_add2::IfcRightCircularCone::BottomRadius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_add2::IfcRightCircularCone::BottomRadius() const { double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcRightCircularCone::setBottomRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcRightCircularCone::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[963]); } const IfcParse::entity& Ifc4x3_add2::IfcRightCircularCone::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[963]); } Ifc4x3_add2::IfcRightCircularCone::IfcRightCircularCone(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3_add2::IfcRightCircularCone::IfcRightCircularCone(::Ifc4x3_add2::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_BottomRadius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; populate_derived(); } +Ifc4x3_add2::IfcRightCircularCone::IfcRightCircularCone(::Ifc4x3_add2::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_BottomRadius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; populate_derived(); } // Function implementations for IfcRightCircularCylinder -double Ifc4x3_add2::IfcRightCircularCylinder::Height() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add2::IfcRightCircularCylinder::Height() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcRightCircularCylinder::setHeight(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_add2::IfcRightCircularCylinder::Radius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_add2::IfcRightCircularCylinder::Radius() const { double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcRightCircularCylinder::setRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcRightCircularCylinder::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[964]); } const IfcParse::entity& Ifc4x3_add2::IfcRightCircularCylinder::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[964]); } Ifc4x3_add2::IfcRightCircularCylinder::IfcRightCircularCylinder(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3_add2::IfcRightCircularCylinder::IfcRightCircularCylinder(::Ifc4x3_add2::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; populate_derived(); } +Ifc4x3_add2::IfcRightCircularCylinder::IfcRightCircularCylinder(::Ifc4x3_add2::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; populate_derived(); } // Function implementations for IfcRigidOperation -::Ifc4x3_add2::IfcMeasureValue* Ifc4x3_add2::IfcRigidOperation::FirstCoordinate() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcMeasureValue>(true); } +::Ifc4x3_add2::IfcMeasureValue* Ifc4x3_add2::IfcRigidOperation::FirstCoordinate() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcMeasureValue>(true); } void Ifc4x3_add2::IfcRigidOperation::setFirstCoordinate(::Ifc4x3_add2::IfcMeasureValue* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcMeasureValue* Ifc4x3_add2::IfcRigidOperation::SecondCoordinate() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcMeasureValue>(true); } +::Ifc4x3_add2::IfcMeasureValue* Ifc4x3_add2::IfcRigidOperation::SecondCoordinate() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcMeasureValue>(true); } void Ifc4x3_add2::IfcRigidOperation::setSecondCoordinate(::Ifc4x3_add2::IfcMeasureValue* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< double > Ifc4x3_add2::IfcRigidOperation::Height() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_add2::IfcRigidOperation::Height() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcRigidOperation::setHeight(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add2::IfcRigidOperation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[965]); } const IfcParse::entity& Ifc4x3_add2::IfcRigidOperation::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[965]); } Ifc4x3_add2::IfcRigidOperation::IfcRigidOperation(IfcEntityInstanceData&& e) : IfcCoordinateOperation(std::move(e)) { } -Ifc4x3_add2::IfcRigidOperation::IfcRigidOperation(::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_add2::IfcCoordinateReferenceSystem* v2_TargetCRS, ::Ifc4x3_add2::IfcMeasureValue* v3_FirstCoordinate, ::Ifc4x3_add2::IfcMeasureValue* v4_SecondCoordinate, boost::optional< double > v5_Height) : IfcCoordinateOperation(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_FirstCoordinate ? v3_FirstCoordinate->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_SecondCoordinate ? v4_SecondCoordinate->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Height) {set_attribute_value(4, (*v5_Height)); }; populate_derived(); } +Ifc4x3_add2::IfcRigidOperation::IfcRigidOperation(::Ifc4x3_add2::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_add2::IfcCoordinateReferenceSystem* v2_TargetCRS, ::Ifc4x3_add2::IfcMeasureValue* v3_FirstCoordinate, ::Ifc4x3_add2::IfcMeasureValue* v4_SecondCoordinate, boost::optional< double > v5_Height) : IfcCoordinateOperation(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_FirstCoordinate ? v3_FirstCoordinate->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_SecondCoordinate ? v4_SecondCoordinate->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Height) {set_attribute_value(4, (*v5_Height)); }; populate_derived(); } // Function implementations for IfcRoad -boost::optional< ::Ifc4x3_add2::IfcRoadTypeEnum::Value > Ifc4x3_add2::IfcRoad::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcRoadTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_add2::IfcRoadTypeEnum::Value > Ifc4x3_add2::IfcRoad::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcRoadTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcRoad::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcRoadTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcRoadTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_add2::IfcRoad::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[966]); } const IfcParse::entity& Ifc4x3_add2::IfcRoad::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[966]); } Ifc4x3_add2::IfcRoad::IfcRoad(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x3_add2::IfcRoad::IfcRoad(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_add2::IfcRoadTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcRoadTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcRoad::IfcRoad(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_add2::IfcRoadTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcRoadTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRoadPart -boost::optional< ::Ifc4x3_add2::IfcRoadPartTypeEnum::Value > Ifc4x3_add2::IfcRoadPart::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcRoadPartTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add2::IfcRoadPartTypeEnum::Value > Ifc4x3_add2::IfcRoadPart::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcRoadPartTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add2::IfcRoadPart::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcRoadPartTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add2::IfcRoadPartTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add2::IfcRoadPart::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[967]); } const IfcParse::entity& Ifc4x3_add2::IfcRoadPart::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[967]); } Ifc4x3_add2::IfcRoadPart::IfcRoadPart(IfcEntityInstanceData&& e) : IfcFacilityPart(std::move(e)) { } -Ifc4x3_add2::IfcRoadPart::IfcRoadPart(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3_add2::IfcRoadPartTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcRoadPartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcRoadPart::IfcRoadPart(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_add2::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3_add2::IfcRoadPartTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcRoadPartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRoof -boost::optional< ::Ifc4x3_add2::IfcRoofTypeEnum::Value > Ifc4x3_add2::IfcRoof::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcRoofTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcRoofTypeEnum::Value > Ifc4x3_add2::IfcRoof::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcRoofTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcRoof::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcRoofTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcRoofTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcRoof::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[971]); } const IfcParse::entity& Ifc4x3_add2::IfcRoof::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[971]); } Ifc4x3_add2::IfcRoof::IfcRoof(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add2::IfcRoof::IfcRoof(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcRoofTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcRoof::IfcRoof(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcRoofTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRoofType -::Ifc4x3_add2::IfcRoofTypeEnum::Value Ifc4x3_add2::IfcRoofType::PredefinedType() const { return ::Ifc4x3_add2::IfcRoofTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcRoofTypeEnum::Value Ifc4x3_add2::IfcRoofType::PredefinedType() const { return ::Ifc4x3_add2::IfcRoofTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcRoofType::setPredefinedType(::Ifc4x3_add2::IfcRoofTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcRoofTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcRoofType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[972]); } const IfcParse::entity& Ifc4x3_add2::IfcRoofType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[972]); } Ifc4x3_add2::IfcRoofType::IfcRoofType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add2::IfcRoofType::IfcRoofType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcRoofTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcRoofType::IfcRoofType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcRoofTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRoot -std::string Ifc4x3_add2::IfcRoot::GlobalId() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_add2::IfcRoot::GlobalId() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcRoot::setGlobalId(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcOwnerHistory* Ifc4x3_add2::IfcRoot::OwnerHistory() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcOwnerHistory>(true); } +::Ifc4x3_add2::IfcOwnerHistory* Ifc4x3_add2::IfcRoot::OwnerHistory() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcOwnerHistory>(true); } void Ifc4x3_add2::IfcRoot::setOwnerHistory(::Ifc4x3_add2::IfcOwnerHistory* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_add2::IfcRoot::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcRoot::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcRoot::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_add2::IfcRoot::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcRoot::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcRoot::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_add2::IfcRoot::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[974]); } const IfcParse::entity& Ifc4x3_add2::IfcRoot::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[974]); } Ifc4x3_add2::IfcRoot::IfcRoot(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcRoot::IfcRoot(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_add2::IfcRoot::IfcRoot(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRoundedRectangleProfileDef -double Ifc4x3_add2::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_add2::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcRoundedRectangleProfileDef::setRoundingRadius(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcRoundedRectangleProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[979]); } const IfcParse::entity& Ifc4x3_add2::IfcRoundedRectangleProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[979]); } Ifc4x3_add2::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(IfcEntityInstanceData&& e) : IfcRectangleProfileDef(std::move(e)) { } -Ifc4x3_add2::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; populate_derived(); } +Ifc4x3_add2::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; populate_derived(); } // Function implementations for IfcSIUnit -boost::optional< ::Ifc4x3_add2::IfcSIPrefix::Value > Ifc4x3_add2::IfcSIUnit::Prefix() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcSIPrefix::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc4x3_add2::IfcSIPrefix::Value > Ifc4x3_add2::IfcSIUnit::Prefix() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcSIPrefix::FromString(get_attribute_value(2)); } void Ifc4x3_add2::IfcSIUnit::setPrefix(boost::optional< ::Ifc4x3_add2::IfcSIPrefix::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc4x3_add2::IfcSIPrefix::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -::Ifc4x3_add2::IfcSIUnitName::Value Ifc4x3_add2::IfcSIUnit::Name() const { return ::Ifc4x3_add2::IfcSIUnitName::FromString(data_.get_attribute_value(3)); } +::Ifc4x3_add2::IfcSIUnitName::Value Ifc4x3_add2::IfcSIUnit::Name() const { return ::Ifc4x3_add2::IfcSIUnitName::FromString(get_attribute_value(3)); } void Ifc4x3_add2::IfcSIUnit::setName(::Ifc4x3_add2::IfcSIUnitName::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc4x3_add2::IfcSIUnitName::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcSIUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1025]); } const IfcParse::entity& Ifc4x3_add2::IfcSIUnit::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1025]); } Ifc4x3_add2::IfcSIUnit::IfcSIUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -Ifc4x3_add2::IfcSIUnit::IfcSIUnit(::Ifc4x3_add2::IfcUnitEnum::Value v2_UnitType, boost::optional< ::Ifc4x3_add2::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_add2::IfcSIUnitName::Value v4_Name) : IfcNamedUnit(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add2::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add2::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (EnumerationReference(&::Ifc4x3_add2::IfcSIUnitName::Class(),(size_t)v4_Name)));; populate_derived(); } +Ifc4x3_add2::IfcSIUnit::IfcSIUnit(::Ifc4x3_add2::IfcUnitEnum::Value v2_UnitType, boost::optional< ::Ifc4x3_add2::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_add2::IfcSIUnitName::Value v4_Name) : IfcNamedUnit(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add2::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add2::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (EnumerationReference(&::Ifc4x3_add2::IfcSIUnitName::Class(),(size_t)v4_Name)));; populate_derived(); } // Function implementations for IfcSanitaryTerminal -boost::optional< ::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Value > Ifc4x3_add2::IfcSanitaryTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Value > Ifc4x3_add2::IfcSanitaryTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcSanitaryTerminal::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcSanitaryTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[980]); } const IfcParse::entity& Ifc4x3_add2::IfcSanitaryTerminal::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[980]); } Ifc4x3_add2::IfcSanitaryTerminal::IfcSanitaryTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_add2::IfcSanitaryTerminal::IfcSanitaryTerminal(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcSanitaryTerminal::IfcSanitaryTerminal(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSanitaryTerminalType -::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Value Ifc4x3_add2::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Value Ifc4x3_add2::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcSanitaryTerminalType::setPredefinedType(::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcSanitaryTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[981]); } const IfcParse::entity& Ifc4x3_add2::IfcSanitaryTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[981]); } Ifc4x3_add2::IfcSanitaryTerminalType::IfcSanitaryTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_add2::IfcSanitaryTerminalType::IfcSanitaryTerminalType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcSanitaryTerminalType::IfcSanitaryTerminalType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSchedulingTime -boost::optional< std::string > Ifc4x3_add2::IfcSchedulingTime::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcSchedulingTime::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcSchedulingTime::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > Ifc4x3_add2::IfcSchedulingTime::DataOrigin() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcDataOriginEnum::FromString(data_.get_attribute_value(1)); } +boost::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > Ifc4x3_add2::IfcSchedulingTime::DataOrigin() const { if(get_attribute_value(1).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcDataOriginEnum::FromString(get_attribute_value(1)); } void Ifc4x3_add2::IfcSchedulingTime::setDataOrigin(boost::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v) { if (v) {set_attribute_value(1, EnumerationReference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(), (size_t) *v));} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_add2::IfcSchedulingTime::UserDefinedDataOrigin() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcSchedulingTime::UserDefinedDataOrigin() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcSchedulingTime::setUserDefinedDataOrigin(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_add2::IfcSchedulingTime::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[983]); } const IfcParse::entity& Ifc4x3_add2::IfcSchedulingTime::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[983]); } Ifc4x3_add2::IfcSchedulingTime::IfcSchedulingTime(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }; populate_derived(); } +Ifc4x3_add2::IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }; populate_derived(); } // Function implementations for IfcSeamCurve @@ -15497,108 +15497,108 @@ Ifc4x3_add2::IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > const IfcParse::entity& Ifc4x3_add2::IfcSeamCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[984]); } const IfcParse::entity& Ifc4x3_add2::IfcSeamCurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[984]); } Ifc4x3_add2::IfcSeamCurve::IfcSeamCurve(IfcEntityInstanceData&& e) : IfcSurfaceCurve(std::move(e)) { } -Ifc4x3_add2::IfcSeamCurve::IfcSeamCurve(::Ifc4x3_add2::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_add2::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } +Ifc4x3_add2::IfcSeamCurve::IfcSeamCurve(::Ifc4x3_add2::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_add2::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcSecondOrderPolynomialSpiral -double Ifc4x3_add2::IfcSecondOrderPolynomialSpiral::QuadraticTerm() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add2::IfcSecondOrderPolynomialSpiral::QuadraticTerm() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcSecondOrderPolynomialSpiral::setQuadraticTerm(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_add2::IfcSecondOrderPolynomialSpiral::LinearTerm() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add2::IfcSecondOrderPolynomialSpiral::LinearTerm() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcSecondOrderPolynomialSpiral::setLinearTerm(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_add2::IfcSecondOrderPolynomialSpiral::ConstantTerm() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add2::IfcSecondOrderPolynomialSpiral::ConstantTerm() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcSecondOrderPolynomialSpiral::setConstantTerm(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_add2::IfcSecondOrderPolynomialSpiral::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[985]); } const IfcParse::entity& Ifc4x3_add2::IfcSecondOrderPolynomialSpiral::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[985]); } Ifc4x3_add2::IfcSecondOrderPolynomialSpiral::IfcSecondOrderPolynomialSpiral(IfcEntityInstanceData&& e) : IfcSpiral(std::move(e)) { } -Ifc4x3_add2::IfcSecondOrderPolynomialSpiral::IfcSecondOrderPolynomialSpiral(::Ifc4x3_add2::IfcAxis2Placement* v1_Position, double v2_QuadraticTerm, boost::optional< double > v3_LinearTerm, boost::optional< double > v4_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_QuadraticTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); }; populate_derived(); } +Ifc4x3_add2::IfcSecondOrderPolynomialSpiral::IfcSecondOrderPolynomialSpiral(::Ifc4x3_add2::IfcAxis2Placement* v1_Position, double v2_QuadraticTerm, boost::optional< double > v3_LinearTerm, boost::optional< double > v4_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_QuadraticTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); }; populate_derived(); } // Function implementations for IfcSectionProperties -::Ifc4x3_add2::IfcSectionTypeEnum::Value Ifc4x3_add2::IfcSectionProperties::SectionType() const { return ::Ifc4x3_add2::IfcSectionTypeEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_add2::IfcSectionTypeEnum::Value Ifc4x3_add2::IfcSectionProperties::SectionType() const { return ::Ifc4x3_add2::IfcSectionTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x3_add2::IfcSectionProperties::setSectionType(::Ifc4x3_add2::IfcSectionTypeEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_add2::IfcSectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcProfileDef* Ifc4x3_add2::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcProfileDef>(true); } +::Ifc4x3_add2::IfcProfileDef* Ifc4x3_add2::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcProfileDef>(true); } void Ifc4x3_add2::IfcSectionProperties::setStartProfile(::Ifc4x3_add2::IfcProfileDef* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcProfileDef* Ifc4x3_add2::IfcSectionProperties::EndProfile() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcProfileDef>(true); } +::Ifc4x3_add2::IfcProfileDef* Ifc4x3_add2::IfcSectionProperties::EndProfile() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcProfileDef>(true); } void Ifc4x3_add2::IfcSectionProperties::setEndProfile(::Ifc4x3_add2::IfcProfileDef* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcSectionProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[992]); } const IfcParse::entity& Ifc4x3_add2::IfcSectionProperties::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[992]); } Ifc4x3_add2::IfcSectionProperties::IfcSectionProperties(IfcEntityInstanceData&& e) : IfcPreDefinedProperties(std::move(e)) { } -Ifc4x3_add2::IfcSectionProperties::IfcSectionProperties(::Ifc4x3_add2::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_add2::IfcProfileDef* v2_StartProfile, ::Ifc4x3_add2::IfcProfileDef* v3_EndProfile) : IfcPreDefinedProperties(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, v2_StartProfile ? v2_StartProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EndProfile ? v3_EndProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcSectionProperties::IfcSectionProperties(::Ifc4x3_add2::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_add2::IfcProfileDef* v2_StartProfile, ::Ifc4x3_add2::IfcProfileDef* v3_EndProfile) : IfcPreDefinedProperties(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, v2_StartProfile ? v2_StartProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EndProfile ? v3_EndProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSectionReinforcementProperties -double Ifc4x3_add2::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_add2::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcSectionReinforcementProperties::setLongitudinalStartPosition(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_add2::IfcSectionReinforcementProperties::LongitudinalEndPosition() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add2::IfcSectionReinforcementProperties::LongitudinalEndPosition() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcSectionReinforcementProperties::setLongitudinalEndPosition(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_add2::IfcSectionReinforcementProperties::TransversePosition() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add2::IfcSectionReinforcementProperties::TransversePosition() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_add2::IfcReinforcingBarRoleEnum::Value Ifc4x3_add2::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x3_add2::IfcReinforcingBarRoleEnum::FromString(data_.get_attribute_value(3)); } +::Ifc4x3_add2::IfcReinforcingBarRoleEnum::Value Ifc4x3_add2::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x3_add2::IfcReinforcingBarRoleEnum::FromString(get_attribute_value(3)); } void Ifc4x3_add2::IfcSectionReinforcementProperties::setReinforcementRole(::Ifc4x3_add2::IfcReinforcingBarRoleEnum::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc4x3_add2::IfcReinforcingBarRoleEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add2::IfcSectionProperties* Ifc4x3_add2::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcSectionProperties>(true); } +::Ifc4x3_add2::IfcSectionProperties* Ifc4x3_add2::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcSectionProperties>(true); } void Ifc4x3_add2::IfcSectionReinforcementProperties::setSectionDefinition(::Ifc4x3_add2::IfcSectionProperties* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_add2::IfcReinforcementBarProperties >::ptr Ifc4x3_add2::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_add2::IfcReinforcementBarProperties >(); } +aggregate_of< ::Ifc4x3_add2::IfcReinforcementBarProperties >::ptr Ifc4x3_add2::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_add2::IfcReinforcementBarProperties >(); } void Ifc4x3_add2::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(aggregate_of< ::Ifc4x3_add2::IfcReinforcementBarProperties >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcSectionReinforcementProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[993]); } const IfcParse::entity& Ifc4x3_add2::IfcSectionReinforcementProperties::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[993]); } Ifc4x3_add2::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(IfcEntityInstanceData&& e) : IfcPreDefinedProperties(std::move(e)) { } -Ifc4x3_add2::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, boost::optional< double > v3_TransversePosition, ::Ifc4x3_add2::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_add2::IfcSectionProperties* v5_SectionDefinition, aggregate_of< ::Ifc4x3_add2::IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcPreDefinedProperties(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (EnumerationReference(&::Ifc4x3_add2::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, v5_SectionDefinition ? v5_SectionDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_CrossSectionReinforcementDefinitions)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, boost::optional< double > v3_TransversePosition, ::Ifc4x3_add2::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_add2::IfcSectionProperties* v5_SectionDefinition, aggregate_of< ::Ifc4x3_add2::IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcPreDefinedProperties(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (EnumerationReference(&::Ifc4x3_add2::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, v5_SectionDefinition ? v5_SectionDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_CrossSectionReinforcementDefinitions)->generalize());; populate_derived(); } // Function implementations for IfcSectionedSolid -::Ifc4x3_add2::IfcCurve* Ifc4x3_add2::IfcSectionedSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCurve>(true); } +::Ifc4x3_add2::IfcCurve* Ifc4x3_add2::IfcSectionedSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCurve>(true); } void Ifc4x3_add2::IfcSectionedSolid::setDirectrix(::Ifc4x3_add2::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_add2::IfcProfileDef >::ptr Ifc4x3_add2::IfcSectionedSolid::CrossSections() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcProfileDef >(); } +aggregate_of< ::Ifc4x3_add2::IfcProfileDef >::ptr Ifc4x3_add2::IfcSectionedSolid::CrossSections() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcProfileDef >(); } void Ifc4x3_add2::IfcSectionedSolid::setCrossSections(aggregate_of< ::Ifc4x3_add2::IfcProfileDef >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcSectionedSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[987]); } const IfcParse::entity& Ifc4x3_add2::IfcSectionedSolid::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[987]); } Ifc4x3_add2::IfcSectionedSolid::IfcSectionedSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3_add2::IfcSectionedSolid::IfcSectionedSolid(::Ifc4x3_add2::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_add2::IfcProfileDef >::ptr v2_CrossSections) : IfcSolidModel(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcSectionedSolid::IfcSectionedSolid(::Ifc4x3_add2::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_add2::IfcProfileDef >::ptr v2_CrossSections) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());; populate_derived(); } // Function implementations for IfcSectionedSolidHorizontal -aggregate_of< ::Ifc4x3_add2::IfcAxis2PlacementLinear >::ptr Ifc4x3_add2::IfcSectionedSolidHorizontal::CrossSectionPositions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcAxis2PlacementLinear >(); } +aggregate_of< ::Ifc4x3_add2::IfcAxis2PlacementLinear >::ptr Ifc4x3_add2::IfcSectionedSolidHorizontal::CrossSectionPositions() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcAxis2PlacementLinear >(); } void Ifc4x3_add2::IfcSectionedSolidHorizontal::setCrossSectionPositions(aggregate_of< ::Ifc4x3_add2::IfcAxis2PlacementLinear >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcSectionedSolidHorizontal::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[988]); } const IfcParse::entity& Ifc4x3_add2::IfcSectionedSolidHorizontal::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[988]); } Ifc4x3_add2::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(IfcEntityInstanceData&& e) : IfcSectionedSolid(std::move(e)) { } -Ifc4x3_add2::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(::Ifc4x3_add2::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_add2::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3_add2::IfcAxis2PlacementLinear >::ptr v3_CrossSectionPositions) : IfcSectionedSolid(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(::Ifc4x3_add2::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_add2::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3_add2::IfcAxis2PlacementLinear >::ptr v3_CrossSectionPositions) : IfcSectionedSolid(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());; populate_derived(); } // Function implementations for IfcSectionedSpine -::Ifc4x3_add2::IfcCompositeCurve* Ifc4x3_add2::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCompositeCurve>(true); } +::Ifc4x3_add2::IfcCompositeCurve* Ifc4x3_add2::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCompositeCurve>(true); } void Ifc4x3_add2::IfcSectionedSpine::setSpineCurve(::Ifc4x3_add2::IfcCompositeCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_add2::IfcProfileDef >::ptr Ifc4x3_add2::IfcSectionedSpine::CrossSections() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcProfileDef >(); } +aggregate_of< ::Ifc4x3_add2::IfcProfileDef >::ptr Ifc4x3_add2::IfcSectionedSpine::CrossSections() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcProfileDef >(); } void Ifc4x3_add2::IfcSectionedSpine::setCrossSections(aggregate_of< ::Ifc4x3_add2::IfcProfileDef >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3_add2::IfcAxis2Placement3D >::ptr Ifc4x3_add2::IfcSectionedSpine::CrossSectionPositions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcAxis2Placement3D >(); } +aggregate_of< ::Ifc4x3_add2::IfcAxis2Placement3D >::ptr Ifc4x3_add2::IfcSectionedSpine::CrossSectionPositions() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcAxis2Placement3D >(); } void Ifc4x3_add2::IfcSectionedSpine::setCrossSectionPositions(aggregate_of< ::Ifc4x3_add2::IfcAxis2Placement3D >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcSectionedSpine::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[989]); } const IfcParse::entity& Ifc4x3_add2::IfcSectionedSpine::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[989]); } Ifc4x3_add2::IfcSectionedSpine::IfcSectionedSpine(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcSectionedSpine::IfcSectionedSpine(::Ifc4x3_add2::IfcCompositeCurve* v1_SpineCurve, aggregate_of< ::Ifc4x3_add2::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3_add2::IfcAxis2Placement3D >::ptr v3_CrossSectionPositions) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_SpineCurve ? v1_SpineCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcSectionedSpine::IfcSectionedSpine(::Ifc4x3_add2::IfcCompositeCurve* v1_SpineCurve, aggregate_of< ::Ifc4x3_add2::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3_add2::IfcAxis2Placement3D >::ptr v3_CrossSectionPositions) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_SpineCurve ? v1_SpineCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());; populate_derived(); } // Function implementations for IfcSectionedSurface -::Ifc4x3_add2::IfcCurve* Ifc4x3_add2::IfcSectionedSurface::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCurve>(true); } +::Ifc4x3_add2::IfcCurve* Ifc4x3_add2::IfcSectionedSurface::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCurve>(true); } void Ifc4x3_add2::IfcSectionedSurface::setDirectrix(::Ifc4x3_add2::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_add2::IfcAxis2PlacementLinear >::ptr Ifc4x3_add2::IfcSectionedSurface::CrossSectionPositions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcAxis2PlacementLinear >(); } +aggregate_of< ::Ifc4x3_add2::IfcAxis2PlacementLinear >::ptr Ifc4x3_add2::IfcSectionedSurface::CrossSectionPositions() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcAxis2PlacementLinear >(); } void Ifc4x3_add2::IfcSectionedSurface::setCrossSectionPositions(aggregate_of< ::Ifc4x3_add2::IfcAxis2PlacementLinear >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3_add2::IfcProfileDef >::ptr Ifc4x3_add2::IfcSectionedSurface::CrossSections() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcProfileDef >(); } +aggregate_of< ::Ifc4x3_add2::IfcProfileDef >::ptr Ifc4x3_add2::IfcSectionedSurface::CrossSections() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcProfileDef >(); } void Ifc4x3_add2::IfcSectionedSurface::setCrossSections(aggregate_of< ::Ifc4x3_add2::IfcProfileDef >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcSectionedSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[990]); } const IfcParse::entity& Ifc4x3_add2::IfcSectionedSurface::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[990]); } Ifc4x3_add2::IfcSectionedSurface::IfcSectionedSurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x3_add2::IfcSectionedSurface::IfcSectionedSurface(::Ifc4x3_add2::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_add2::IfcAxis2PlacementLinear >::ptr v2_CrossSectionPositions, aggregate_of< ::Ifc4x3_add2::IfcProfileDef >::ptr v3_CrossSections) : IfcSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSectionPositions)->generalize());set_attribute_value(2, (v3_CrossSections)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcSectionedSurface::IfcSectionedSurface(::Ifc4x3_add2::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_add2::IfcAxis2PlacementLinear >::ptr v2_CrossSectionPositions, aggregate_of< ::Ifc4x3_add2::IfcProfileDef >::ptr v3_CrossSections) : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSectionPositions)->generalize());set_attribute_value(2, (v3_CrossSections)->generalize());; populate_derived(); } // Function implementations for IfcSegment -::Ifc4x3_add2::IfcTransitionCode::Value Ifc4x3_add2::IfcSegment::Transition() const { return ::Ifc4x3_add2::IfcTransitionCode::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_add2::IfcTransitionCode::Value Ifc4x3_add2::IfcSegment::Transition() const { return ::Ifc4x3_add2::IfcTransitionCode::FromString(get_attribute_value(0)); } void Ifc4x3_add2::IfcSegment::setTransition(::Ifc4x3_add2::IfcTransitionCode::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_add2::IfcTransitionCode::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_add2::IfcCompositeCurve::list::ptr Ifc4x3_add2::IfcSegment::UsingCurves() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[192], 0)->as(); } @@ -15606,94 +15606,94 @@ void Ifc4x3_add2::IfcSegment::setTransition(::Ifc4x3_add2::IfcTransitionCode::Va const IfcParse::entity& Ifc4x3_add2::IfcSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[995]); } const IfcParse::entity& Ifc4x3_add2::IfcSegment::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[995]); } Ifc4x3_add2::IfcSegment::IfcSegment(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcSegment::IfcSegment(::Ifc4x3_add2::IfcTransitionCode::Value v1_Transition) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcTransitionCode::Class(),(size_t)v1_Transition)));; populate_derived(); } +Ifc4x3_add2::IfcSegment::IfcSegment(::Ifc4x3_add2::IfcTransitionCode::Value v1_Transition) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcTransitionCode::Class(),(size_t)v1_Transition)));; populate_derived(); } // Function implementations for IfcSegmentedReferenceCurve -::Ifc4x3_add2::IfcBoundedCurve* Ifc4x3_add2::IfcSegmentedReferenceCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcBoundedCurve>(true); } +::Ifc4x3_add2::IfcBoundedCurve* Ifc4x3_add2::IfcSegmentedReferenceCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcBoundedCurve>(true); } void Ifc4x3_add2::IfcSegmentedReferenceCurve::setBaseCurve(::Ifc4x3_add2::IfcBoundedCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcPlacement* Ifc4x3_add2::IfcSegmentedReferenceCurve::EndPoint() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcPlacement>(true); } +::Ifc4x3_add2::IfcPlacement* Ifc4x3_add2::IfcSegmentedReferenceCurve::EndPoint() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcPlacement>(true); } void Ifc4x3_add2::IfcSegmentedReferenceCurve::setEndPoint(::Ifc4x3_add2::IfcPlacement* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcSegmentedReferenceCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[996]); } const IfcParse::entity& Ifc4x3_add2::IfcSegmentedReferenceCurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[996]); } Ifc4x3_add2::IfcSegmentedReferenceCurve::IfcSegmentedReferenceCurve(IfcEntityInstanceData&& e) : IfcCompositeCurve(std::move(e)) { } -Ifc4x3_add2::IfcSegmentedReferenceCurve::IfcSegmentedReferenceCurve(aggregate_of< ::Ifc4x3_add2::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_add2::IfcBoundedCurve* v3_BaseCurve, ::Ifc4x3_add2::IfcPlacement* v4_EndPoint) : IfcCompositeCurve(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, v3_BaseCurve ? v3_BaseCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_EndPoint ? v4_EndPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcSegmentedReferenceCurve::IfcSegmentedReferenceCurve(aggregate_of< ::Ifc4x3_add2::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_add2::IfcBoundedCurve* v3_BaseCurve, ::Ifc4x3_add2::IfcPlacement* v4_EndPoint) : IfcCompositeCurve(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, v3_BaseCurve ? v3_BaseCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_EndPoint ? v4_EndPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSensor -boost::optional< ::Ifc4x3_add2::IfcSensorTypeEnum::Value > Ifc4x3_add2::IfcSensor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcSensorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcSensorTypeEnum::Value > Ifc4x3_add2::IfcSensor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcSensorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcSensor::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcSensorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcSensorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcSensor::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[998]); } const IfcParse::entity& Ifc4x3_add2::IfcSensor::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[998]); } Ifc4x3_add2::IfcSensor::IfcSensor(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_add2::IfcSensor::IfcSensor(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcSensorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcSensor::IfcSensor(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcSensorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSensorType -::Ifc4x3_add2::IfcSensorTypeEnum::Value Ifc4x3_add2::IfcSensorType::PredefinedType() const { return ::Ifc4x3_add2::IfcSensorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcSensorTypeEnum::Value Ifc4x3_add2::IfcSensorType::PredefinedType() const { return ::Ifc4x3_add2::IfcSensorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcSensorType::setPredefinedType(::Ifc4x3_add2::IfcSensorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcSensorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcSensorType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[999]); } const IfcParse::entity& Ifc4x3_add2::IfcSensorType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[999]); } Ifc4x3_add2::IfcSensorType::IfcSensorType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_add2::IfcSensorType::IfcSensorType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSensorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcSensorType::IfcSensorType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSensorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSeventhOrderPolynomialSpiral -double Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral::SepticTerm() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral::SepticTerm() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral::setSepticTerm(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral::SexticTerm() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral::SexticTerm() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral::setSexticTerm(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral::QuinticTerm() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral::QuinticTerm() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral::setQuinticTerm(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral::QuarticTerm() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral::QuarticTerm() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral::setQuarticTerm(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral::CubicTerm() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral::CubicTerm() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral::setCubicTerm(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral::QuadraticTerm() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral::QuadraticTerm() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral::setQuadraticTerm(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral::LinearTerm() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral::LinearTerm() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral::setLinearTerm(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral::ConstantTerm() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral::ConstantTerm() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral::setConstantTerm(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1002]); } const IfcParse::entity& Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1002]); } Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral::IfcSeventhOrderPolynomialSpiral(IfcEntityInstanceData&& e) : IfcSpiral(std::move(e)) { } -Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral::IfcSeventhOrderPolynomialSpiral(::Ifc4x3_add2::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(storage_t(9))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SepticTerm)); if (v3_SexticTerm) {set_attribute_value(2, (*v3_SexticTerm)); } if (v4_QuinticTerm) {set_attribute_value(3, (*v4_QuinticTerm)); } if (v5_QuarticTerm) {set_attribute_value(4, (*v5_QuarticTerm)); } if (v6_CubicTerm) {set_attribute_value(5, (*v6_CubicTerm)); } if (v7_QuadraticTerm) {set_attribute_value(6, (*v7_QuadraticTerm)); } if (v8_LinearTerm) {set_attribute_value(7, (*v8_LinearTerm)); } if (v9_ConstantTerm) {set_attribute_value(8, (*v9_ConstantTerm)); }; populate_derived(); } +Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral::IfcSeventhOrderPolynomialSpiral(::Ifc4x3_add2::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(in_memory_attribute_storage(9))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SepticTerm)); if (v3_SexticTerm) {set_attribute_value(2, (*v3_SexticTerm)); } if (v4_QuinticTerm) {set_attribute_value(3, (*v4_QuinticTerm)); } if (v5_QuarticTerm) {set_attribute_value(4, (*v5_QuarticTerm)); } if (v6_CubicTerm) {set_attribute_value(5, (*v6_CubicTerm)); } if (v7_QuadraticTerm) {set_attribute_value(6, (*v7_QuadraticTerm)); } if (v8_LinearTerm) {set_attribute_value(7, (*v8_LinearTerm)); } if (v9_ConstantTerm) {set_attribute_value(8, (*v9_ConstantTerm)); }; populate_derived(); } // Function implementations for IfcShadingDevice -boost::optional< ::Ifc4x3_add2::IfcShadingDeviceTypeEnum::Value > Ifc4x3_add2::IfcShadingDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcShadingDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcShadingDeviceTypeEnum::Value > Ifc4x3_add2::IfcShadingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcShadingDevice::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcShadingDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcShadingDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcShadingDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1003]); } const IfcParse::entity& Ifc4x3_add2::IfcShadingDevice::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1003]); } Ifc4x3_add2::IfcShadingDevice::IfcShadingDevice(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add2::IfcShadingDevice::IfcShadingDevice(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcShadingDevice::IfcShadingDevice(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcShadingDeviceType -::Ifc4x3_add2::IfcShadingDeviceTypeEnum::Value Ifc4x3_add2::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4x3_add2::IfcShadingDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcShadingDeviceTypeEnum::Value Ifc4x3_add2::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4x3_add2::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcShadingDeviceType::setPredefinedType(::Ifc4x3_add2::IfcShadingDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcShadingDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcShadingDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1004]); } const IfcParse::entity& Ifc4x3_add2::IfcShadingDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1004]); } Ifc4x3_add2::IfcShadingDeviceType::IfcShadingDeviceType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add2::IfcShadingDeviceType::IfcShadingDeviceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcShadingDeviceType::IfcShadingDeviceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcShapeAspect -aggregate_of< ::Ifc4x3_add2::IfcShapeModel >::ptr Ifc4x3_add2::IfcShapeAspect::ShapeRepresentations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcShapeModel >(); } +aggregate_of< ::Ifc4x3_add2::IfcShapeModel >::ptr Ifc4x3_add2::IfcShapeAspect::ShapeRepresentations() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcShapeModel >(); } void Ifc4x3_add2::IfcShapeAspect::setShapeRepresentations(aggregate_of< ::Ifc4x3_add2::IfcShapeModel >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_add2::IfcShapeAspect::Name() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcShapeAspect::Name() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcShapeAspect::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_add2::IfcShapeAspect::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcShapeAspect::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcShapeAspect::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::logic::tribool Ifc4x3_add2::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = data_.get_attribute_value(3); return v; } +boost::logic::tribool Ifc4x3_add2::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcShapeAspect::setProductDefinitional(boost::logic::tribool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add2::IfcProductRepresentationSelect* Ifc4x3_add2::IfcShapeAspect::PartOfProductDefinitionShape() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcProductRepresentationSelect>(true); } +::Ifc4x3_add2::IfcProductRepresentationSelect* Ifc4x3_add2::IfcShapeAspect::PartOfProductDefinitionShape() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcProductRepresentationSelect>(true); } void Ifc4x3_add2::IfcShapeAspect::setPartOfProductDefinitionShape(::Ifc4x3_add2::IfcProductRepresentationSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } ::Ifc4x3_add2::IfcExternalReferenceRelationship::list::ptr Ifc4x3_add2::IfcShapeAspect::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[427], 3)->as(); } @@ -15701,7 +15701,7 @@ void Ifc4x3_add2::IfcShapeAspect::setPartOfProductDefinitionShape(::Ifc4x3_add2: const IfcParse::entity& Ifc4x3_add2::IfcShapeAspect::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1006]); } const IfcParse::entity& Ifc4x3_add2::IfcShapeAspect::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1006]); } Ifc4x3_add2::IfcShapeAspect::IfcShapeAspect(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcShapeAspect::IfcShapeAspect(aggregate_of< ::Ifc4x3_add2::IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_add2::IfcProductRepresentationSelect* v5_PartOfProductDefinitionShape) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_ShapeRepresentations)->generalize()); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, v5_PartOfProductDefinitionShape ? v5_PartOfProductDefinitionShape->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcShapeAspect::IfcShapeAspect(aggregate_of< ::Ifc4x3_add2::IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_add2::IfcProductRepresentationSelect* v5_PartOfProductDefinitionShape) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_ShapeRepresentations)->generalize()); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, v5_PartOfProductDefinitionShape ? v5_PartOfProductDefinitionShape->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcShapeModel @@ -15710,7 +15710,7 @@ Ifc4x3_add2::IfcShapeAspect::IfcShapeAspect(aggregate_of< ::Ifc4x3_add2::IfcShap const IfcParse::entity& Ifc4x3_add2::IfcShapeModel::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1007]); } const IfcParse::entity& Ifc4x3_add2::IfcShapeModel::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1007]); } Ifc4x3_add2::IfcShapeModel::IfcShapeModel(IfcEntityInstanceData&& e) : IfcRepresentation(std::move(e)) { } -Ifc4x3_add2::IfcShapeModel::IfcShapeModel(::Ifc4x3_add2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_add2::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcShapeModel::IfcShapeModel(::Ifc4x3_add2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_add2::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcShapeRepresentation @@ -15718,57 +15718,57 @@ Ifc4x3_add2::IfcShapeModel::IfcShapeModel(::Ifc4x3_add2::IfcRepresentationContex const IfcParse::entity& Ifc4x3_add2::IfcShapeRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1008]); } const IfcParse::entity& Ifc4x3_add2::IfcShapeRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1008]); } Ifc4x3_add2::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceData&& e) : IfcShapeModel(std::move(e)) { } -Ifc4x3_add2::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x3_add2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_add2::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x3_add2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_add2::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcShellBasedSurfaceModel -aggregate_of< ::Ifc4x3_add2::IfcShell >::ptr Ifc4x3_add2::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcShell >(); } +aggregate_of< ::Ifc4x3_add2::IfcShell >::ptr Ifc4x3_add2::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcShell >(); } void Ifc4x3_add2::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x3_add2::IfcShell >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add2::IfcShellBasedSurfaceModel::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1011]); } const IfcParse::entity& Ifc4x3_add2::IfcShellBasedSurfaceModel::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1011]); } Ifc4x3_add2::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3_add2::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_SbsmBoundary)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3_add2::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_SbsmBoundary)->generalize());; populate_derived(); } // Function implementations for IfcSign -boost::optional< ::Ifc4x3_add2::IfcSignTypeEnum::Value > Ifc4x3_add2::IfcSign::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcSignTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcSignTypeEnum::Value > Ifc4x3_add2::IfcSign::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcSignTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcSign::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcSignTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcSignTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcSign::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1012]); } const IfcParse::entity& Ifc4x3_add2::IfcSign::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1012]); } Ifc4x3_add2::IfcSign::IfcSign(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_add2::IfcSign::IfcSign(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcSignTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcSignTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcSign::IfcSign(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcSignTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcSignTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSignType -::Ifc4x3_add2::IfcSignTypeEnum::Value Ifc4x3_add2::IfcSignType::PredefinedType() const { return ::Ifc4x3_add2::IfcSignTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcSignTypeEnum::Value Ifc4x3_add2::IfcSignType::PredefinedType() const { return ::Ifc4x3_add2::IfcSignTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcSignType::setPredefinedType(::Ifc4x3_add2::IfcSignTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcSignTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcSignType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1016]); } const IfcParse::entity& Ifc4x3_add2::IfcSignType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1016]); } Ifc4x3_add2::IfcSignType::IfcSignType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_add2::IfcSignType::IfcSignType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSignTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcSignTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcSignType::IfcSignType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSignTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcSignTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSignal -boost::optional< ::Ifc4x3_add2::IfcSignalTypeEnum::Value > Ifc4x3_add2::IfcSignal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcSignalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcSignalTypeEnum::Value > Ifc4x3_add2::IfcSignal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcSignalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcSignal::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcSignalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcSignalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcSignal::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1013]); } const IfcParse::entity& Ifc4x3_add2::IfcSignal::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1013]); } Ifc4x3_add2::IfcSignal::IfcSignal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_add2::IfcSignal::IfcSignal(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcSignalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcSignalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcSignal::IfcSignal(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcSignalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcSignalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSignalType -::Ifc4x3_add2::IfcSignalTypeEnum::Value Ifc4x3_add2::IfcSignalType::PredefinedType() const { return ::Ifc4x3_add2::IfcSignalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcSignalTypeEnum::Value Ifc4x3_add2::IfcSignalType::PredefinedType() const { return ::Ifc4x3_add2::IfcSignalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcSignalType::setPredefinedType(::Ifc4x3_add2::IfcSignalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcSignalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcSignalType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1014]); } const IfcParse::entity& Ifc4x3_add2::IfcSignalType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1014]); } Ifc4x3_add2::IfcSignalType::IfcSignalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_add2::IfcSignalType::IfcSignalType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSignalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcSignalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcSignalType::IfcSignalType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSignalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcSignalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSimpleProperty @@ -15776,117 +15776,117 @@ Ifc4x3_add2::IfcSignalType::IfcSignalType(std::string v1_GlobalId, ::Ifc4x3_add2 const IfcParse::entity& Ifc4x3_add2::IfcSimpleProperty::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1018]); } const IfcParse::entity& Ifc4x3_add2::IfcSimpleProperty::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1018]); } Ifc4x3_add2::IfcSimpleProperty::IfcSimpleProperty(IfcEntityInstanceData&& e) : IfcProperty(std::move(e)) { } -Ifc4x3_add2::IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::optional< std::string > v2_Specification) : IfcProperty(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }; populate_derived(); } +Ifc4x3_add2::IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::optional< std::string > v2_Specification) : IfcProperty(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }; populate_derived(); } // Function implementations for IfcSimplePropertyTemplate -boost::optional< ::Ifc4x3_add2::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x3_add2::IfcSimplePropertyTemplate::TemplateType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcSimplePropertyTemplateTypeEnum::FromString(data_.get_attribute_value(4)); } +boost::optional< ::Ifc4x3_add2::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x3_add2::IfcSimplePropertyTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcSimplePropertyTemplateTypeEnum::FromString(get_attribute_value(4)); } void Ifc4x3_add2::IfcSimplePropertyTemplate::setTemplateType(boost::optional< ::Ifc4x3_add2::IfcSimplePropertyTemplateTypeEnum::Value > v) { if (v) {set_attribute_value(4, EnumerationReference(&::Ifc4x3_add2::IfcSimplePropertyTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add2::IfcSimplePropertyTemplate::PrimaryMeasureType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcSimplePropertyTemplate::PrimaryMeasureType() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcSimplePropertyTemplate::setPrimaryMeasureType(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_add2::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcSimplePropertyTemplate::setSecondaryMeasureType(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_add2::IfcPropertyEnumeration* Ifc4x3_add2::IfcSimplePropertyTemplate::Enumerators() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_add2::IfcPropertyEnumeration>(true); } +::Ifc4x3_add2::IfcPropertyEnumeration* Ifc4x3_add2::IfcSimplePropertyTemplate::Enumerators() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_add2::IfcPropertyEnumeration>(true); } void Ifc4x3_add2::IfcSimplePropertyTemplate::setEnumerators(::Ifc4x3_add2::IfcPropertyEnumeration* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_add2::IfcUnit* Ifc4x3_add2::IfcSimplePropertyTemplate::PrimaryUnit() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_add2::IfcUnit>(true); } +::Ifc4x3_add2::IfcUnit* Ifc4x3_add2::IfcSimplePropertyTemplate::PrimaryUnit() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_add2::IfcUnit>(true); } void Ifc4x3_add2::IfcSimplePropertyTemplate::setPrimaryUnit(::Ifc4x3_add2::IfcUnit* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_add2::IfcUnit* Ifc4x3_add2::IfcSimplePropertyTemplate::SecondaryUnit() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_add2::IfcUnit>(true); } +::Ifc4x3_add2::IfcUnit* Ifc4x3_add2::IfcSimplePropertyTemplate::SecondaryUnit() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_add2::IfcUnit>(true); } void Ifc4x3_add2::IfcSimplePropertyTemplate::setSecondaryUnit(::Ifc4x3_add2::IfcUnit* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3_add2::IfcSimplePropertyTemplate::Expression() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcSimplePropertyTemplate::Expression() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_add2::IfcSimplePropertyTemplate::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< ::Ifc4x3_add2::IfcStateEnum::Value > Ifc4x3_add2::IfcSimplePropertyTemplate::AccessState() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcStateEnum::FromString(data_.get_attribute_value(11)); } +boost::optional< ::Ifc4x3_add2::IfcStateEnum::Value > Ifc4x3_add2::IfcSimplePropertyTemplate::AccessState() const { if(get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcStateEnum::FromString(get_attribute_value(11)); } void Ifc4x3_add2::IfcSimplePropertyTemplate::setAccessState(boost::optional< ::Ifc4x3_add2::IfcStateEnum::Value > v) { if (v) {set_attribute_value(11, EnumerationReference(&::Ifc4x3_add2::IfcStateEnum::Class(), (size_t) *v));} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x3_add2::IfcSimplePropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1019]); } const IfcParse::entity& Ifc4x3_add2::IfcSimplePropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1019]); } Ifc4x3_add2::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplate(std::move(e)) { } -Ifc4x3_add2::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x3_add2::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_PrimaryMeasureType, boost::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_add2::IfcPropertyEnumeration* v8_Enumerators, ::Ifc4x3_add2::IfcUnit* v9_PrimaryUnit, ::Ifc4x3_add2::IfcUnit* v10_SecondaryUnit, boost::optional< std::string > v11_Expression, boost::optional< ::Ifc4x3_add2::IfcStateEnum::Value > v12_AccessState) : IfcPropertyTemplate(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add2::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, v8_Enumerators ? v8_Enumerators->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_PrimaryUnit ? v9_PrimaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_SecondaryUnit ? v10_SecondaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add2::IfcStateEnum::Class(),(size_t)*v12_AccessState))); }; populate_derived(); } +Ifc4x3_add2::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x3_add2::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_PrimaryMeasureType, boost::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_add2::IfcPropertyEnumeration* v8_Enumerators, ::Ifc4x3_add2::IfcUnit* v9_PrimaryUnit, ::Ifc4x3_add2::IfcUnit* v10_SecondaryUnit, boost::optional< std::string > v11_Expression, boost::optional< ::Ifc4x3_add2::IfcStateEnum::Value > v12_AccessState) : IfcPropertyTemplate(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add2::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, v8_Enumerators ? v8_Enumerators->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_PrimaryUnit ? v9_PrimaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_SecondaryUnit ? v10_SecondaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add2::IfcStateEnum::Class(),(size_t)*v12_AccessState))); }; populate_derived(); } // Function implementations for IfcSineSpiral -double Ifc4x3_add2::IfcSineSpiral::SineTerm() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add2::IfcSineSpiral::SineTerm() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcSineSpiral::setSineTerm(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_add2::IfcSineSpiral::LinearTerm() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add2::IfcSineSpiral::LinearTerm() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcSineSpiral::setLinearTerm(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_add2::IfcSineSpiral::ConstantTerm() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add2::IfcSineSpiral::ConstantTerm() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcSineSpiral::setConstantTerm(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_add2::IfcSineSpiral::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1022]); } const IfcParse::entity& Ifc4x3_add2::IfcSineSpiral::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1022]); } Ifc4x3_add2::IfcSineSpiral::IfcSineSpiral(IfcEntityInstanceData&& e) : IfcSpiral(std::move(e)) { } -Ifc4x3_add2::IfcSineSpiral::IfcSineSpiral(::Ifc4x3_add2::IfcAxis2Placement* v1_Position, double v2_SineTerm, boost::optional< double > v3_LinearTerm, boost::optional< double > v4_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SineTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); }; populate_derived(); } +Ifc4x3_add2::IfcSineSpiral::IfcSineSpiral(::Ifc4x3_add2::IfcAxis2Placement* v1_Position, double v2_SineTerm, boost::optional< double > v3_LinearTerm, boost::optional< double > v4_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SineTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); }; populate_derived(); } // Function implementations for IfcSite -boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_add2::IfcSite::RefLatitude() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = data_.get_attribute_value(9); return v; } +boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_add2::IfcSite::RefLatitude() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = get_attribute_value(9); return v; } void Ifc4x3_add2::IfcSite::setRefLatitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_add2::IfcSite::RefLongitude() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = data_.get_attribute_value(10); return v; } +boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_add2::IfcSite::RefLongitude() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = get_attribute_value(10); return v; } void Ifc4x3_add2::IfcSite::setRefLongitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_add2::IfcSite::RefElevation() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_add2::IfcSite::RefElevation() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_add2::IfcSite::setRefElevation(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_add2::IfcSite::LandTitleNumber() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcSite::LandTitleNumber() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_add2::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4x3_add2::IfcPostalAddress* Ifc4x3_add2::IfcSite::SiteAddress() const { if(data_.get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(13)))->as<::Ifc4x3_add2::IfcPostalAddress>(true); } +::Ifc4x3_add2::IfcPostalAddress* Ifc4x3_add2::IfcSite::SiteAddress() const { if(get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(13)))->as<::Ifc4x3_add2::IfcPostalAddress>(true); } void Ifc4x3_add2::IfcSite::setSiteAddress(::Ifc4x3_add2::IfcPostalAddress* v) { set_attribute_value(13, v->as());if constexpr (false)unset_attribute_value(13); } const IfcParse::entity& Ifc4x3_add2::IfcSite::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1024]); } const IfcParse::entity& Ifc4x3_add2::IfcSite::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1024]); } Ifc4x3_add2::IfcSite::IfcSite(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x3_add2::IfcSite::IfcSite(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::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_add2::IfcPostalAddress* v14_SiteAddress) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, v14_SiteAddress ? v14_SiteAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcSite::IfcSite(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::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_add2::IfcPostalAddress* v14_SiteAddress) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, v14_SiteAddress ? v14_SiteAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSlab -boost::optional< ::Ifc4x3_add2::IfcSlabTypeEnum::Value > Ifc4x3_add2::IfcSlab::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcSlabTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcSlabTypeEnum::Value > Ifc4x3_add2::IfcSlab::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcSlabTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcSlab::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcSlabTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcSlabTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcSlab::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1028]); } const IfcParse::entity& Ifc4x3_add2::IfcSlab::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1028]); } Ifc4x3_add2::IfcSlab::IfcSlab(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add2::IfcSlab::IfcSlab(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcSlab::IfcSlab(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSlabType -::Ifc4x3_add2::IfcSlabTypeEnum::Value Ifc4x3_add2::IfcSlabType::PredefinedType() const { return ::Ifc4x3_add2::IfcSlabTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcSlabTypeEnum::Value Ifc4x3_add2::IfcSlabType::PredefinedType() const { return ::Ifc4x3_add2::IfcSlabTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcSlabType::setPredefinedType(::Ifc4x3_add2::IfcSlabTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcSlabTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcSlabType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1029]); } const IfcParse::entity& Ifc4x3_add2::IfcSlabType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1029]); } Ifc4x3_add2::IfcSlabType::IfcSlabType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add2::IfcSlabType::IfcSlabType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSlabTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcSlabType::IfcSlabType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSlabTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSlippageConnectionCondition -boost::optional< double > Ifc4x3_add2::IfcSlippageConnectionCondition::SlippageX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_add2::IfcSlippageConnectionCondition::SlippageX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcSlippageConnectionCondition::setSlippageX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_add2::IfcSlippageConnectionCondition::SlippageY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add2::IfcSlippageConnectionCondition::SlippageY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcSlippageConnectionCondition::setSlippageY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_add2::IfcSlippageConnectionCondition::SlippageZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add2::IfcSlippageConnectionCondition::SlippageZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcSlippageConnectionCondition::setSlippageZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_add2::IfcSlippageConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1031]); } const IfcParse::entity& Ifc4x3_add2::IfcSlippageConnectionCondition::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1031]); } Ifc4x3_add2::IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(IfcEntityInstanceData&& e) : IfcStructuralConnectionCondition(std::move(e)) { } -Ifc4x3_add2::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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; populate_derived(); } +Ifc4x3_add2::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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; populate_derived(); } // Function implementations for IfcSolarDevice -boost::optional< ::Ifc4x3_add2::IfcSolarDeviceTypeEnum::Value > Ifc4x3_add2::IfcSolarDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcSolarDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcSolarDeviceTypeEnum::Value > Ifc4x3_add2::IfcSolarDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcSolarDevice::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcSolarDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcSolarDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcSolarDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1032]); } const IfcParse::entity& Ifc4x3_add2::IfcSolarDevice::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1032]); } Ifc4x3_add2::IfcSolarDevice::IfcSolarDevice(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add2::IfcSolarDevice::IfcSolarDevice(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcSolarDevice::IfcSolarDevice(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSolarDeviceType -::Ifc4x3_add2::IfcSolarDeviceTypeEnum::Value Ifc4x3_add2::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4x3_add2::IfcSolarDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcSolarDeviceTypeEnum::Value Ifc4x3_add2::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4x3_add2::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcSolarDeviceType::setPredefinedType(::Ifc4x3_add2::IfcSolarDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcSolarDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcSolarDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1033]); } const IfcParse::entity& Ifc4x3_add2::IfcSolarDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1033]); } Ifc4x3_add2::IfcSolarDeviceType::IfcSolarDeviceType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add2::IfcSolarDeviceType::IfcSolarDeviceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcSolarDeviceType::IfcSolarDeviceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSolidModel @@ -15894,12 +15894,12 @@ Ifc4x3_add2::IfcSolarDeviceType::IfcSolarDeviceType(std::string v1_GlobalId, ::I const IfcParse::entity& Ifc4x3_add2::IfcSolidModel::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1036]); } const IfcParse::entity& Ifc4x3_add2::IfcSolidModel::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1036]); } Ifc4x3_add2::IfcSolidModel::IfcSolidModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add2::IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcSpace -boost::optional< ::Ifc4x3_add2::IfcSpaceTypeEnum::Value > Ifc4x3_add2::IfcSpace::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcSpaceTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_add2::IfcSpaceTypeEnum::Value > Ifc4x3_add2::IfcSpace::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcSpace::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcSpaceTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcSpaceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_add2::IfcSpace::ElevationWithFlooring() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_add2::IfcSpace::ElevationWithFlooring() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_add2::IfcSpace::setElevationWithFlooring(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } ::Ifc4x3_add2::IfcRelCoversSpaces::list::ptr Ifc4x3_add2::IfcSpace::HasCoverings() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[928], 4)->as(); } @@ -15908,42 +15908,42 @@ void Ifc4x3_add2::IfcSpace::setElevationWithFlooring(boost::optional< double > v const IfcParse::entity& Ifc4x3_add2::IfcSpace::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1042]); } const IfcParse::entity& Ifc4x3_add2::IfcSpace::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1042]); } Ifc4x3_add2::IfcSpace::IfcSpace(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x3_add2::IfcSpace::IfcSpace(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_add2::IfcSpaceTypeEnum::Value > v10_PredefinedType, boost::optional< double > v11_ElevationWithFlooring) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; populate_derived(); } +Ifc4x3_add2::IfcSpace::IfcSpace(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_add2::IfcSpaceTypeEnum::Value > v10_PredefinedType, boost::optional< double > v11_ElevationWithFlooring) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; populate_derived(); } // Function implementations for IfcSpaceHeater -boost::optional< ::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Value > Ifc4x3_add2::IfcSpaceHeater::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Value > Ifc4x3_add2::IfcSpaceHeater::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcSpaceHeater::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcSpaceHeater::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1044]); } const IfcParse::entity& Ifc4x3_add2::IfcSpaceHeater::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1044]); } Ifc4x3_add2::IfcSpaceHeater::IfcSpaceHeater(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_add2::IfcSpaceHeater::IfcSpaceHeater(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcSpaceHeater::IfcSpaceHeater(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSpaceHeaterType -::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Value Ifc4x3_add2::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Value Ifc4x3_add2::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcSpaceHeaterType::setPredefinedType(::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcSpaceHeaterType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1045]); } const IfcParse::entity& Ifc4x3_add2::IfcSpaceHeaterType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1045]); } Ifc4x3_add2::IfcSpaceHeaterType::IfcSpaceHeaterType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_add2::IfcSpaceHeaterType::IfcSpaceHeaterType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcSpaceHeaterType::IfcSpaceHeaterType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSpaceType -::Ifc4x3_add2::IfcSpaceTypeEnum::Value Ifc4x3_add2::IfcSpaceType::PredefinedType() const { return ::Ifc4x3_add2::IfcSpaceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcSpaceTypeEnum::Value Ifc4x3_add2::IfcSpaceType::PredefinedType() const { return ::Ifc4x3_add2::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcSpaceType::setPredefinedType(::Ifc4x3_add2::IfcSpaceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcSpaceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3_add2::IfcSpaceType::LongName() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcSpaceType::LongName() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_add2::IfcSpaceType::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add2::IfcSpaceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1047]); } const IfcParse::entity& Ifc4x3_add2::IfcSpaceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1047]); } Ifc4x3_add2::IfcSpaceType::IfcSpaceType(IfcEntityInstanceData&& e) : IfcSpatialStructureElementType(std::move(e)) { } -Ifc4x3_add2::IfcSpaceType::IfcSpaceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSpaceTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialStructureElementType(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } +Ifc4x3_add2::IfcSpaceType::IfcSpaceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSpaceTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialStructureElementType(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } // Function implementations for IfcSpatialElement -boost::optional< std::string > Ifc4x3_add2::IfcSpatialElement::LongName() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcSpatialElement::LongName() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcSpatialElement::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } ::Ifc4x3_add2::IfcRelContainedInSpatialStructure::list::ptr Ifc4x3_add2::IfcSpatialElement::ContainsElements() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[926], 5)->as(); } @@ -15955,27 +15955,27 @@ void Ifc4x3_add2::IfcSpatialElement::setLongName(boost::optional< std::string > const IfcParse::entity& Ifc4x3_add2::IfcSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1049]); } const IfcParse::entity& Ifc4x3_add2::IfcSpatialElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1049]); } Ifc4x3_add2::IfcSpatialElement::IfcSpatialElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_add2::IfcSpatialElement::IfcSpatialElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcProduct(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } +Ifc4x3_add2::IfcSpatialElement::IfcSpatialElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } // Function implementations for IfcSpatialElementType -boost::optional< std::string > Ifc4x3_add2::IfcSpatialElementType::ElementType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcSpatialElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcSpatialElementType::setElementType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcSpatialElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1050]); } const IfcParse::entity& Ifc4x3_add2::IfcSpatialElementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1050]); } Ifc4x3_add2::IfcSpatialElementType::IfcSpatialElementType(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(e)) { } -Ifc4x3_add2::IfcSpatialElementType::IfcSpatialElementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add2::IfcSpatialElementType::IfcSpatialElementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcSpatialStructureElement -boost::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > Ifc4x3_add2::IfcSpatialStructureElement::CompositionType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcElementCompositionEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > Ifc4x3_add2::IfcSpatialStructureElement::CompositionType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcElementCompositionEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcSpatialStructureElement::setCompositionType(boost::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcSpatialStructureElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1052]); } const IfcParse::entity& Ifc4x3_add2::IfcSpatialStructureElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1052]); } Ifc4x3_add2::IfcSpatialStructureElement::IfcSpatialStructureElement(IfcEntityInstanceData&& e) : IfcSpatialElement(std::move(e)) { } -Ifc4x3_add2::IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } +Ifc4x3_add2::IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } // Function implementations for IfcSpatialStructureElementType @@ -15983,142 +15983,142 @@ Ifc4x3_add2::IfcSpatialStructureElement::IfcSpatialStructureElement(std::string const IfcParse::entity& Ifc4x3_add2::IfcSpatialStructureElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1053]); } const IfcParse::entity& Ifc4x3_add2::IfcSpatialStructureElementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1053]); } Ifc4x3_add2::IfcSpatialStructureElementType::IfcSpatialStructureElementType(IfcEntityInstanceData&& e) : IfcSpatialElementType(std::move(e)) { } -Ifc4x3_add2::IfcSpatialStructureElementType::IfcSpatialStructureElementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcSpatialElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add2::IfcSpatialStructureElementType::IfcSpatialStructureElementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcSpatialElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcSpatialZone -boost::optional< ::Ifc4x3_add2::IfcSpatialZoneTypeEnum::Value > Ifc4x3_add2::IfcSpatialZone::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcSpatialZoneTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcSpatialZoneTypeEnum::Value > Ifc4x3_add2::IfcSpatialZone::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcSpatialZone::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcSpatialZoneTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcSpatialZoneTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcSpatialZone::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1054]); } const IfcParse::entity& Ifc4x3_add2::IfcSpatialZone::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1054]); } Ifc4x3_add2::IfcSpatialZone::IfcSpatialZone(IfcEntityInstanceData&& e) : IfcSpatialElement(std::move(e)) { } -Ifc4x3_add2::IfcSpatialZone::IfcSpatialZone(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) : IfcSpatialElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcSpatialZone::IfcSpatialZone(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_add2::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) : IfcSpatialElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSpatialZoneType -::Ifc4x3_add2::IfcSpatialZoneTypeEnum::Value Ifc4x3_add2::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x3_add2::IfcSpatialZoneTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcSpatialZoneTypeEnum::Value Ifc4x3_add2::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x3_add2::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcSpatialZoneType::setPredefinedType(::Ifc4x3_add2::IfcSpatialZoneTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcSpatialZoneTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3_add2::IfcSpatialZoneType::LongName() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcSpatialZoneType::LongName() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_add2::IfcSpatialZoneType::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add2::IfcSpatialZoneType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1055]); } const IfcParse::entity& Ifc4x3_add2::IfcSpatialZoneType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1055]); } Ifc4x3_add2::IfcSpatialZoneType::IfcSpatialZoneType(IfcEntityInstanceData&& e) : IfcSpatialElementType(std::move(e)) { } -Ifc4x3_add2::IfcSpatialZoneType::IfcSpatialZoneType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialElementType(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } +Ifc4x3_add2::IfcSpatialZoneType::IfcSpatialZoneType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialElementType(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } // Function implementations for IfcSphere -double Ifc4x3_add2::IfcSphere::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add2::IfcSphere::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcSphere::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcSphere::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1061]); } const IfcParse::entity& Ifc4x3_add2::IfcSphere::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1061]); } Ifc4x3_add2::IfcSphere::IfcSphere(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3_add2::IfcSphere::IfcSphere(::Ifc4x3_add2::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x3_add2::IfcSphere::IfcSphere(::Ifc4x3_add2::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcSphericalSurface -double Ifc4x3_add2::IfcSphericalSurface::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add2::IfcSphericalSurface::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcSphericalSurface::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcSphericalSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1062]); } const IfcParse::entity& Ifc4x3_add2::IfcSphericalSurface::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1062]); } Ifc4x3_add2::IfcSphericalSurface::IfcSphericalSurface(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x3_add2::IfcSphericalSurface::IfcSphericalSurface(::Ifc4x3_add2::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x3_add2::IfcSphericalSurface::IfcSphericalSurface(::Ifc4x3_add2::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcSpiral -::Ifc4x3_add2::IfcAxis2Placement* Ifc4x3_add2::IfcSpiral::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcAxis2Placement>(true); } +::Ifc4x3_add2::IfcAxis2Placement* Ifc4x3_add2::IfcSpiral::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcAxis2Placement>(true); } void Ifc4x3_add2::IfcSpiral::setPosition(::Ifc4x3_add2::IfcAxis2Placement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add2::IfcSpiral::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1063]); } const IfcParse::entity& Ifc4x3_add2::IfcSpiral::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1063]); } Ifc4x3_add2::IfcSpiral::IfcSpiral(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_add2::IfcSpiral::IfcSpiral(::Ifc4x3_add2::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcSpiral::IfcSpiral(::Ifc4x3_add2::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStackTerminal -boost::optional< ::Ifc4x3_add2::IfcStackTerminalTypeEnum::Value > Ifc4x3_add2::IfcStackTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcStackTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcStackTerminalTypeEnum::Value > Ifc4x3_add2::IfcStackTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcStackTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcStackTerminal::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcStackTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcStackTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcStackTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1064]); } const IfcParse::entity& Ifc4x3_add2::IfcStackTerminal::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1064]); } Ifc4x3_add2::IfcStackTerminal::IfcStackTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_add2::IfcStackTerminal::IfcStackTerminal(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcStackTerminal::IfcStackTerminal(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcStackTerminalType -::Ifc4x3_add2::IfcStackTerminalTypeEnum::Value Ifc4x3_add2::IfcStackTerminalType::PredefinedType() const { return ::Ifc4x3_add2::IfcStackTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcStackTerminalTypeEnum::Value Ifc4x3_add2::IfcStackTerminalType::PredefinedType() const { return ::Ifc4x3_add2::IfcStackTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcStackTerminalType::setPredefinedType(::Ifc4x3_add2::IfcStackTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcStackTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcStackTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1065]); } const IfcParse::entity& Ifc4x3_add2::IfcStackTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1065]); } Ifc4x3_add2::IfcStackTerminalType::IfcStackTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_add2::IfcStackTerminalType::IfcStackTerminalType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcStackTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcStackTerminalType::IfcStackTerminalType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcStackTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStair -boost::optional< ::Ifc4x3_add2::IfcStairTypeEnum::Value > Ifc4x3_add2::IfcStair::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcStairTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcStairTypeEnum::Value > Ifc4x3_add2::IfcStair::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcStairTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcStair::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcStairTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcStairTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcStair::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1067]); } const IfcParse::entity& Ifc4x3_add2::IfcStair::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1067]); } Ifc4x3_add2::IfcStair::IfcStair(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add2::IfcStair::IfcStair(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcStairTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcStair::IfcStair(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcStairTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcStairFlight -boost::optional< int > Ifc4x3_add2::IfcStairFlight::NumberOfRisers() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } int v = data_.get_attribute_value(8); return v; } +boost::optional< int > Ifc4x3_add2::IfcStairFlight::NumberOfRisers() const { if(get_attribute_value(8).isNull()) { return boost::none; } int v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcStairFlight::setNumberOfRisers(boost::optional< int > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< int > Ifc4x3_add2::IfcStairFlight::NumberOfTreads() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } int v = data_.get_attribute_value(9); return v; } +boost::optional< int > Ifc4x3_add2::IfcStairFlight::NumberOfTreads() const { if(get_attribute_value(9).isNull()) { return boost::none; } int v = get_attribute_value(9); return v; } void Ifc4x3_add2::IfcStairFlight::setNumberOfTreads(boost::optional< int > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_add2::IfcStairFlight::RiserHeight() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_add2::IfcStairFlight::RiserHeight() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_add2::IfcStairFlight::setRiserHeight(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_add2::IfcStairFlight::TreadLength() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_add2::IfcStairFlight::TreadLength() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_add2::IfcStairFlight::setTreadLength(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< ::Ifc4x3_add2::IfcStairFlightTypeEnum::Value > Ifc4x3_add2::IfcStairFlight::PredefinedType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcStairFlightTypeEnum::FromString(data_.get_attribute_value(12)); } +boost::optional< ::Ifc4x3_add2::IfcStairFlightTypeEnum::Value > Ifc4x3_add2::IfcStairFlight::PredefinedType() const { if(get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcStairFlightTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x3_add2::IfcStairFlight::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcStairFlightTypeEnum::Value > v) { if (v) {set_attribute_value(12, EnumerationReference(&::Ifc4x3_add2::IfcStairFlightTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_add2::IfcStairFlight::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1068]); } const IfcParse::entity& Ifc4x3_add2::IfcStairFlight::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1068]); } Ifc4x3_add2::IfcStairFlight::IfcStairFlight(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add2::IfcStairFlight::IfcStairFlight(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::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_add2::IfcStairFlightTypeEnum::Value > v13_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_add2::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcStairFlight::IfcStairFlight(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::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_add2::IfcStairFlightTypeEnum::Value > v13_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_add2::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } // Function implementations for IfcStairFlightType -::Ifc4x3_add2::IfcStairFlightTypeEnum::Value Ifc4x3_add2::IfcStairFlightType::PredefinedType() const { return ::Ifc4x3_add2::IfcStairFlightTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcStairFlightTypeEnum::Value Ifc4x3_add2::IfcStairFlightType::PredefinedType() const { return ::Ifc4x3_add2::IfcStairFlightTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcStairFlightType::setPredefinedType(::Ifc4x3_add2::IfcStairFlightTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcStairFlightTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcStairFlightType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1069]); } const IfcParse::entity& Ifc4x3_add2::IfcStairFlightType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1069]); } Ifc4x3_add2::IfcStairFlightType::IfcStairFlightType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add2::IfcStairFlightType::IfcStairFlightType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcStairFlightTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcStairFlightType::IfcStairFlightType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcStairFlightTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStairType -::Ifc4x3_add2::IfcStairTypeEnum::Value Ifc4x3_add2::IfcStairType::PredefinedType() const { return ::Ifc4x3_add2::IfcStairTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcStairTypeEnum::Value Ifc4x3_add2::IfcStairType::PredefinedType() const { return ::Ifc4x3_add2::IfcStairTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcStairType::setPredefinedType(::Ifc4x3_add2::IfcStairTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcStairTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcStairType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1071]); } const IfcParse::entity& Ifc4x3_add2::IfcStairType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1071]); } Ifc4x3_add2::IfcStairType::IfcStairType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add2::IfcStairType::IfcStairType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcStairTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcStairType::IfcStairType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcStairTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralAction -boost::optional< bool > Ifc4x3_add2::IfcStructuralAction::DestabilizingLoad() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } bool v = data_.get_attribute_value(9); return v; } +boost::optional< bool > Ifc4x3_add2::IfcStructuralAction::DestabilizingLoad() const { if(get_attribute_value(9).isNull()) { return boost::none; } bool v = get_attribute_value(9); return v; } void Ifc4x3_add2::IfcStructuralAction::setDestabilizingLoad(boost::optional< bool > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_add2::IfcStructuralAction::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1075]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralAction::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1075]); } Ifc4x3_add2::IfcStructuralAction::IfcStructuralAction(IfcEntityInstanceData&& e) : IfcStructuralActivity(std::move(e)) { } -Ifc4x3_add2::IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralActivity(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } +Ifc4x3_add2::IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralActivity(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } // Function implementations for IfcStructuralActivity -::Ifc4x3_add2::IfcStructuralLoad* Ifc4x3_add2::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_add2::IfcStructuralLoad>(true); } +::Ifc4x3_add2::IfcStructuralLoad* Ifc4x3_add2::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_add2::IfcStructuralLoad>(true); } void Ifc4x3_add2::IfcStructuralActivity::setAppliedLoad(::Ifc4x3_add2::IfcStructuralLoad* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value Ifc4x3_add2::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x3_add2::IfcGlobalOrLocalEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value Ifc4x3_add2::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x3_add2::IfcGlobalOrLocalEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcStructuralActivity::setGlobalOrLocal(::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } ::Ifc4x3_add2::IfcRelConnectsStructuralActivity::list::ptr Ifc4x3_add2::IfcStructuralActivity::AssignedToStructuralItem() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[922], 5)->as(); } @@ -16126,28 +16126,28 @@ void Ifc4x3_add2::IfcStructuralActivity::setGlobalOrLocal(::Ifc4x3_add2::IfcGlob const IfcParse::entity& Ifc4x3_add2::IfcStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1076]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralActivity::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1076]); } Ifc4x3_add2::IfcStructuralActivity::IfcStructuralActivity(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_add2::IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +Ifc4x3_add2::IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralAnalysisModel -::Ifc4x3_add2::IfcAnalysisModelTypeEnum::Value Ifc4x3_add2::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x3_add2::IfcAnalysisModelTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_add2::IfcAnalysisModelTypeEnum::Value Ifc4x3_add2::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x3_add2::IfcAnalysisModelTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_add2::IfcStructuralAnalysisModel::setPredefinedType(::Ifc4x3_add2::IfcAnalysisModelTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_add2::IfcAnalysisModelTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add2::IfcAxis2Placement3D* Ifc4x3_add2::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add2::IfcAxis2Placement3D>(true); } +::Ifc4x3_add2::IfcAxis2Placement3D* Ifc4x3_add2::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add2::IfcAxis2Placement3D>(true); } void Ifc4x3_add2::IfcStructuralAnalysisModel::setOrientationOf2DPlane(::Ifc4x3_add2::IfcAxis2Placement3D* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcStructuralLoadGroup >::ptr > Ifc4x3_add2::IfcStructuralAnalysisModel::LoadedBy() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_add2::IfcStructuralLoadGroup >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcStructuralLoadGroup >::ptr > Ifc4x3_add2::IfcStructuralAnalysisModel::LoadedBy() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_add2::IfcStructuralLoadGroup >(); } void Ifc4x3_add2::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcStructuralLoadGroup >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcStructuralResultGroup >::ptr > Ifc4x3_add2::IfcStructuralAnalysisModel::HasResults() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_add2::IfcStructuralResultGroup >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcStructuralResultGroup >::ptr > Ifc4x3_add2::IfcStructuralAnalysisModel::HasResults() const { if(get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_add2::IfcStructuralResultGroup >(); } void Ifc4x3_add2::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcStructuralResultGroup >::ptr > v) { if (v) {set_attribute_value(8, (*v)->generalize());} else {unset_attribute_value(8);} } -::Ifc4x3_add2::IfcObjectPlacement* Ifc4x3_add2::IfcStructuralAnalysisModel::SharedPlacement() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_add2::IfcObjectPlacement>(true); } +::Ifc4x3_add2::IfcObjectPlacement* Ifc4x3_add2::IfcStructuralAnalysisModel::SharedPlacement() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_add2::IfcObjectPlacement>(true); } void Ifc4x3_add2::IfcStructuralAnalysisModel::setSharedPlacement(::Ifc4x3_add2::IfcObjectPlacement* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralAnalysisModel::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1078]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralAnalysisModel::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1078]); } Ifc4x3_add2::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3_add2::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add2::IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcStructuralResultGroup >::ptr > v9_HasResults, ::Ifc4x3_add2::IfcObjectPlacement* v10_SharedPlacement) : IfcSystem(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add2::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, v7_OrientationOf2DPlane ? v7_OrientationOf2DPlane->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LoadedBy) {set_attribute_value(7, (*v8_LoadedBy)->generalize()); } if (v9_HasResults) {set_attribute_value(8, (*v9_HasResults)->generalize()); }set_attribute_value(9, v10_SharedPlacement ? v10_SharedPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add2::IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcStructuralResultGroup >::ptr > v9_HasResults, ::Ifc4x3_add2::IfcObjectPlacement* v10_SharedPlacement) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add2::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, v7_OrientationOf2DPlane ? v7_OrientationOf2DPlane->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LoadedBy) {set_attribute_value(7, (*v8_LoadedBy)->generalize()); } if (v9_HasResults) {set_attribute_value(8, (*v9_HasResults)->generalize()); }set_attribute_value(9, v10_SharedPlacement ? v10_SharedPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralConnection -::Ifc4x3_add2::IfcBoundaryCondition* Ifc4x3_add2::IfcStructuralConnection::AppliedCondition() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_add2::IfcBoundaryCondition>(true); } +::Ifc4x3_add2::IfcBoundaryCondition* Ifc4x3_add2::IfcStructuralConnection::AppliedCondition() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_add2::IfcBoundaryCondition>(true); } void Ifc4x3_add2::IfcStructuralConnection::setAppliedCondition(::Ifc4x3_add2::IfcBoundaryCondition* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_add2::IfcRelConnectsStructuralMember::list::ptr Ifc4x3_add2::IfcStructuralConnection::ConnectsStructuralMembers() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[923], 5)->as(); } @@ -16155,51 +16155,51 @@ void Ifc4x3_add2::IfcStructuralConnection::setAppliedCondition(::Ifc4x3_add2::If const IfcParse::entity& Ifc4x3_add2::IfcStructuralConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1079]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralConnection::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1079]); } Ifc4x3_add2::IfcStructuralConnection::IfcStructuralConnection(IfcEntityInstanceData&& e) : IfcStructuralItem(std::move(e)) { } -Ifc4x3_add2::IfcStructuralConnection::IfcStructuralConnection(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralItem(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcStructuralConnection::IfcStructuralConnection(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralItem(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralConnectionCondition -boost::optional< std::string > Ifc4x3_add2::IfcStructuralConnectionCondition::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcStructuralConnectionCondition::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcStructuralConnectionCondition::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3_add2::IfcStructuralConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1080]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralConnectionCondition::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1080]); } Ifc4x3_add2::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_add2::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralCurveAction -boost::optional< ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_add2::IfcStructuralCurveAction::ProjectedOrTrue() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_add2::IfcStructuralCurveAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add2::IfcStructuralCurveAction::setProjectedOrTrue(boost::optional< ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_add2::IfcStructuralCurveAction::PredefinedType() const { return ::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_add2::IfcStructuralCurveAction::PredefinedType() const { return ::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_add2::IfcStructuralCurveAction::setPredefinedType(::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralCurveAction::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1081]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralCurveAction::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1081]); } Ifc4x3_add2::IfcStructuralCurveAction::IfcStructuralCurveAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -Ifc4x3_add2::IfcStructuralCurveAction::IfcStructuralCurveAction(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcStructuralCurveAction::IfcStructuralCurveAction(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralCurveConnection -::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcStructuralCurveConnection::AxisDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_add2::IfcDirection>(true); } +::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcStructuralCurveConnection::AxisDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_add2::IfcDirection>(true); } void Ifc4x3_add2::IfcStructuralCurveConnection::setAxisDirection(::Ifc4x3_add2::IfcDirection* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralCurveConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1083]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralCurveConnection::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1083]); } Ifc4x3_add2::IfcStructuralCurveConnection::IfcStructuralCurveConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -Ifc4x3_add2::IfcStructuralCurveConnection::IfcStructuralCurveConnection(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x3_add2::IfcDirection* v9_AxisDirection) : IfcStructuralConnection(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_AxisDirection ? v9_AxisDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcStructuralCurveConnection::IfcStructuralCurveConnection(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x3_add2::IfcDirection* v9_AxisDirection) : IfcStructuralConnection(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_AxisDirection ? v9_AxisDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralCurveMember -::Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_add2::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_add2::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add2::IfcStructuralCurveMember::setPredefinedType(::Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_add2::IfcDirection>(true); } +::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_add2::IfcDirection>(true); } void Ifc4x3_add2::IfcStructuralCurveMember::setAxis(::Ifc4x3_add2::IfcDirection* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralCurveMember::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1084]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralCurveMember::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1084]); } Ifc4x3_add2::IfcStructuralCurveMember::IfcStructuralCurveMember(IfcEntityInstanceData&& e) : IfcStructuralMember(std::move(e)) { } -Ifc4x3_add2::IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_add2::IfcDirection* v9_Axis) : IfcStructuralMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_add2::IfcDirection* v9_Axis) : IfcStructuralMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralCurveMemberVarying @@ -16207,17 +16207,17 @@ Ifc4x3_add2::IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_G const IfcParse::entity& Ifc4x3_add2::IfcStructuralCurveMemberVarying::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1086]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralCurveMemberVarying::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1086]); } Ifc4x3_add2::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(IfcEntityInstanceData&& e) : IfcStructuralCurveMember(std::move(e)) { } -Ifc4x3_add2::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_add2::IfcDirection* v9_Axis) : IfcStructuralCurveMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_add2::IfcDirection* v9_Axis) : IfcStructuralCurveMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralCurveReaction -::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_add2::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_add2::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcStructuralCurveReaction::setPredefinedType(::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralCurveReaction::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1087]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralCurveReaction::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1087]); } Ifc4x3_add2::IfcStructuralCurveReaction::IfcStructuralCurveReaction(IfcEntityInstanceData&& e) : IfcStructuralReaction(std::move(e)) { } -Ifc4x3_add2::IfcStructuralCurveReaction::IfcStructuralCurveReaction(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcStructuralCurveReaction::IfcStructuralCurveReaction(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralItem @@ -16226,7 +16226,7 @@ Ifc4x3_add2::IfcStructuralCurveReaction::IfcStructuralCurveReaction(std::string const IfcParse::entity& Ifc4x3_add2::IfcStructuralItem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1088]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralItem::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1088]); } Ifc4x3_add2::IfcStructuralItem::IfcStructuralItem(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_add2::IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralLinearAction @@ -16234,50 +16234,50 @@ Ifc4x3_add2::IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, ::Ifc const IfcParse::entity& Ifc4x3_add2::IfcStructuralLinearAction::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1089]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralLinearAction::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1089]); } Ifc4x3_add2::IfcStructuralLinearAction::IfcStructuralLinearAction(IfcEntityInstanceData&& e) : IfcStructuralCurveAction(std::move(e)) { } -Ifc4x3_add2::IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralCurveAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralCurveAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralLoad -boost::optional< std::string > Ifc4x3_add2::IfcStructuralLoad::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcStructuralLoad::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcStructuralLoad::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3_add2::IfcStructuralLoad::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1090]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralLoad::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1090]); } Ifc4x3_add2::IfcStructuralLoad::IfcStructuralLoad(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_add2::IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralLoadCase -boost::optional< std::vector< double > /*[3:3]*/ > Ifc4x3_add2::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::vector< double > /*[3:3]*/ v = data_.get_attribute_value(10); return v; } +boost::optional< std::vector< double > /*[3:3]*/ > Ifc4x3_add2::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::vector< double > /*[3:3]*/ v = get_attribute_value(10); return v; } void Ifc4x3_add2::IfcStructuralLoadCase::setSelfWeightCoefficients(boost::optional< std::vector< double > /*[3:3]*/ > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add2::IfcStructuralLoadCase::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1091]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralLoadCase::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1091]); } Ifc4x3_add2::IfcStructuralLoadCase::IfcStructuralLoadCase(IfcEntityInstanceData&& e) : IfcStructuralLoadGroup(std::move(e)) { } -Ifc4x3_add2::IfcStructuralLoadCase::IfcStructuralLoadCase(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_add2::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(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add2::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add2::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); }; populate_derived(); } +Ifc4x3_add2::IfcStructuralLoadCase::IfcStructuralLoadCase(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_add2::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(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add2::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add2::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); }; populate_derived(); } // Function implementations for IfcStructuralLoadConfiguration -aggregate_of< ::Ifc4x3_add2::IfcStructuralLoadOrResult >::ptr Ifc4x3_add2::IfcStructuralLoadConfiguration::Values() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcStructuralLoadOrResult >(); } +aggregate_of< ::Ifc4x3_add2::IfcStructuralLoadOrResult >::ptr Ifc4x3_add2::IfcStructuralLoadConfiguration::Values() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcStructuralLoadOrResult >(); } void Ifc4x3_add2::IfcStructuralLoadConfiguration::setValues(aggregate_of< ::Ifc4x3_add2::IfcStructuralLoadOrResult >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::vector< std::vector< double > > > Ifc4x3_add2::IfcStructuralLoadConfiguration::Locations() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< std::vector< double > > v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< std::vector< double > > > Ifc4x3_add2::IfcStructuralLoadConfiguration::Locations() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< std::vector< double > > v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcStructuralLoadConfiguration::setLocations(boost::optional< std::vector< std::vector< double > > > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_add2::IfcStructuralLoadConfiguration::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1092]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralLoadConfiguration::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1092]); } Ifc4x3_add2::IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(IfcEntityInstanceData&& e) : IfcStructuralLoad(std::move(e)) { } -Ifc4x3_add2::IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_add2::IfcStructuralLoadOrResult >::ptr v2_Values, boost::optional< std::vector< std::vector< double > > > v3_Locations) : IfcStructuralLoad(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Values)->generalize()); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); }; populate_derived(); } +Ifc4x3_add2::IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_add2::IfcStructuralLoadOrResult >::ptr v2_Values, boost::optional< std::vector< std::vector< double > > > v3_Locations) : IfcStructuralLoad(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Values)->generalize()); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); }; populate_derived(); } // Function implementations for IfcStructuralLoadGroup -::Ifc4x3_add2::IfcLoadGroupTypeEnum::Value Ifc4x3_add2::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4x3_add2::IfcLoadGroupTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_add2::IfcLoadGroupTypeEnum::Value Ifc4x3_add2::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4x3_add2::IfcLoadGroupTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_add2::IfcStructuralLoadGroup::setPredefinedType(::Ifc4x3_add2::IfcLoadGroupTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_add2::IfcLoadGroupTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add2::IfcActionTypeEnum::Value Ifc4x3_add2::IfcStructuralLoadGroup::ActionType() const { return ::Ifc4x3_add2::IfcActionTypeEnum::FromString(data_.get_attribute_value(6)); } +::Ifc4x3_add2::IfcActionTypeEnum::Value Ifc4x3_add2::IfcStructuralLoadGroup::ActionType() const { return ::Ifc4x3_add2::IfcActionTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_add2::IfcStructuralLoadGroup::setActionType(::Ifc4x3_add2::IfcActionTypeEnum::Value v) { set_attribute_value(6, EnumerationReference(&::Ifc4x3_add2::IfcActionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_add2::IfcActionSourceTypeEnum::Value Ifc4x3_add2::IfcStructuralLoadGroup::ActionSource() const { return ::Ifc4x3_add2::IfcActionSourceTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_add2::IfcActionSourceTypeEnum::Value Ifc4x3_add2::IfcStructuralLoadGroup::ActionSource() const { return ::Ifc4x3_add2::IfcActionSourceTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add2::IfcStructuralLoadGroup::setActionSource(::Ifc4x3_add2::IfcActionSourceTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_add2::IfcActionSourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc4x3_add2::IfcStructuralLoadGroup::Coefficient() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_add2::IfcStructuralLoadGroup::Coefficient() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcStructuralLoadGroup::setCoefficient(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_add2::IfcStructuralLoadGroup::Purpose() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcStructuralLoadGroup::Purpose() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_add2::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } ::Ifc4x3_add2::IfcStructuralResultGroup::list::ptr Ifc4x3_add2::IfcStructuralLoadGroup::SourceOfResultGroup() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[1109], 6)->as(); } @@ -16286,27 +16286,27 @@ void Ifc4x3_add2::IfcStructuralLoadGroup::setPurpose(boost::optional< std::strin const IfcParse::entity& Ifc4x3_add2::IfcStructuralLoadGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1093]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralLoadGroup::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1093]); } Ifc4x3_add2::IfcStructuralLoadGroup::IfcStructuralLoadGroup(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x3_add2::IfcStructuralLoadGroup::IfcStructuralLoadGroup(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_add2::IfcActionSourceTypeEnum::Value v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose) : IfcGroup(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add2::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add2::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; populate_derived(); } +Ifc4x3_add2::IfcStructuralLoadGroup::IfcStructuralLoadGroup(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_add2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_add2::IfcActionSourceTypeEnum::Value v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add2::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x3_add2::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; populate_derived(); } // Function implementations for IfcStructuralLoadLinearForce -boost::optional< double > Ifc4x3_add2::IfcStructuralLoadLinearForce::LinearForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_add2::IfcStructuralLoadLinearForce::LinearForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcStructuralLoadLinearForce::setLinearForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_add2::IfcStructuralLoadLinearForce::LinearForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add2::IfcStructuralLoadLinearForce::LinearForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcStructuralLoadLinearForce::setLinearForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_add2::IfcStructuralLoadLinearForce::LinearForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add2::IfcStructuralLoadLinearForce::LinearForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcStructuralLoadLinearForce::setLinearForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_add2::IfcStructuralLoadLinearForce::LinearMomentX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_add2::IfcStructuralLoadLinearForce::LinearMomentX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcStructuralLoadLinearForce::setLinearMomentX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_add2::IfcStructuralLoadLinearForce::LinearMomentY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_add2::IfcStructuralLoadLinearForce::LinearMomentY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcStructuralLoadLinearForce::setLinearMomentY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_add2::IfcStructuralLoadLinearForce::LinearMomentZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_add2::IfcStructuralLoadLinearForce::LinearMomentZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcStructuralLoadLinearForce::setLinearMomentZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_add2::IfcStructuralLoadLinearForce::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1094]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralLoadLinearForce::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1094]); } Ifc4x3_add2::IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3_add2::IfcStructuralLoadLinearForce::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) : IfcStructuralLoadStatic(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; populate_derived(); } +Ifc4x3_add2::IfcStructuralLoadLinearForce::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) : IfcStructuralLoadStatic(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadOrResult @@ -16314,81 +16314,81 @@ Ifc4x3_add2::IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(boost::o const IfcParse::entity& Ifc4x3_add2::IfcStructuralLoadOrResult::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1095]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralLoadOrResult::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1095]); } Ifc4x3_add2::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(IfcEntityInstanceData&& e) : IfcStructuralLoad(std::move(e)) { } -Ifc4x3_add2::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional< std::string > v1_Name) : IfcStructuralLoad(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_add2::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional< std::string > v1_Name) : IfcStructuralLoad(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralLoadPlanarForce -boost::optional< double > Ifc4x3_add2::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_add2::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcStructuralLoadPlanarForce::setPlanarForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_add2::IfcStructuralLoadPlanarForce::PlanarForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add2::IfcStructuralLoadPlanarForce::PlanarForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcStructuralLoadPlanarForce::setPlanarForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_add2::IfcStructuralLoadPlanarForce::PlanarForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add2::IfcStructuralLoadPlanarForce::PlanarForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcStructuralLoadPlanarForce::setPlanarForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_add2::IfcStructuralLoadPlanarForce::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1096]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralLoadPlanarForce::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1096]); } Ifc4x3_add2::IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3_add2::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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; populate_derived(); } +Ifc4x3_add2::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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleDisplacement -boost::optional< double > Ifc4x3_add2::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_add2::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcStructuralLoadSingleDisplacement::setDisplacementX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_add2::IfcStructuralLoadSingleDisplacement::DisplacementY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add2::IfcStructuralLoadSingleDisplacement::DisplacementY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcStructuralLoadSingleDisplacement::setDisplacementY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_add2::IfcStructuralLoadSingleDisplacement::DisplacementZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add2::IfcStructuralLoadSingleDisplacement::DisplacementZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcStructuralLoadSingleDisplacement::setDisplacementZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_add2::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_add2::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_add2::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_add2::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_add2::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_add2::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_add2::IfcStructuralLoadSingleDisplacement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1097]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralLoadSingleDisplacement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1097]); } Ifc4x3_add2::IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3_add2::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; populate_derived(); } +Ifc4x3_add2::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleDisplacementDistortion -boost::optional< double > Ifc4x3_add2::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add2::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_add2::IfcStructuralLoadSingleDisplacementDistortion::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1098]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralLoadSingleDisplacementDistortion::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1098]); } Ifc4x3_add2::IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDisplacementDistortion(IfcEntityInstanceData&& e) : IfcStructuralLoadSingleDisplacement(std::move(e)) { } -Ifc4x3_add2::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(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; populate_derived(); } +Ifc4x3_add2::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(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleForce -boost::optional< double > Ifc4x3_add2::IfcStructuralLoadSingleForce::ForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_add2::IfcStructuralLoadSingleForce::ForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcStructuralLoadSingleForce::setForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_add2::IfcStructuralLoadSingleForce::ForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add2::IfcStructuralLoadSingleForce::ForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcStructuralLoadSingleForce::setForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_add2::IfcStructuralLoadSingleForce::ForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add2::IfcStructuralLoadSingleForce::ForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcStructuralLoadSingleForce::setForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_add2::IfcStructuralLoadSingleForce::MomentX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_add2::IfcStructuralLoadSingleForce::MomentX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcStructuralLoadSingleForce::setMomentX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_add2::IfcStructuralLoadSingleForce::MomentY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_add2::IfcStructuralLoadSingleForce::MomentY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcStructuralLoadSingleForce::setMomentY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_add2::IfcStructuralLoadSingleForce::MomentZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_add2::IfcStructuralLoadSingleForce::MomentZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcStructuralLoadSingleForce::setMomentZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_add2::IfcStructuralLoadSingleForce::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1099]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralLoadSingleForce::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1099]); } Ifc4x3_add2::IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3_add2::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; populate_derived(); } +Ifc4x3_add2::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleForceWarping -boost::optional< double > Ifc4x3_add2::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add2::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcStructuralLoadSingleForceWarping::setWarpingMoment(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_add2::IfcStructuralLoadSingleForceWarping::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1100]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralLoadSingleForceWarping::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1100]); } Ifc4x3_add2::IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWarping(IfcEntityInstanceData&& e) : IfcStructuralLoadSingleForce(std::move(e)) { } -Ifc4x3_add2::IfcStructuralLoadSingleForceWarping::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) : IfcStructuralLoadSingleForce(IfcEntityInstanceData(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; populate_derived(); } +Ifc4x3_add2::IfcStructuralLoadSingleForceWarping::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) : IfcStructuralLoadSingleForce(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; populate_derived(); } // Function implementations for IfcStructuralLoadStatic @@ -16396,21 +16396,21 @@ Ifc4x3_add2::IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWa const IfcParse::entity& Ifc4x3_add2::IfcStructuralLoadStatic::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1101]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralLoadStatic::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1101]); } Ifc4x3_add2::IfcStructuralLoadStatic::IfcStructuralLoadStatic(IfcEntityInstanceData&& e) : IfcStructuralLoadOrResult(std::move(e)) { } -Ifc4x3_add2::IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< std::string > v1_Name) : IfcStructuralLoadOrResult(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_add2::IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< std::string > v1_Name) : IfcStructuralLoadOrResult(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralLoadTemperature -boost::optional< double > Ifc4x3_add2::IfcStructuralLoadTemperature::DeltaTConstant() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_add2::IfcStructuralLoadTemperature::DeltaTConstant() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcStructuralLoadTemperature::setDeltaTConstant(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_add2::IfcStructuralLoadTemperature::DeltaTY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add2::IfcStructuralLoadTemperature::DeltaTY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcStructuralLoadTemperature::setDeltaTY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_add2::IfcStructuralLoadTemperature::DeltaTZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add2::IfcStructuralLoadTemperature::DeltaTZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcStructuralLoadTemperature::setDeltaTZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_add2::IfcStructuralLoadTemperature::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1102]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralLoadTemperature::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1102]); } Ifc4x3_add2::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3_add2::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::optional< std::string > v1_Name, boost::optional< double > v2_DeltaTConstant, boost::optional< double > v3_DeltaTY, boost::optional< double > v4_DeltaTZ) : IfcStructuralLoadStatic(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); }; populate_derived(); } +Ifc4x3_add2::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::optional< std::string > v1_Name, boost::optional< double > v2_DeltaTConstant, boost::optional< double > v3_DeltaTY, boost::optional< double > v4_DeltaTZ) : IfcStructuralLoadStatic(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); }; populate_derived(); } // Function implementations for IfcStructuralMember @@ -16419,7 +16419,7 @@ Ifc4x3_add2::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::o const IfcParse::entity& Ifc4x3_add2::IfcStructuralMember::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1103]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralMember::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1103]); } Ifc4x3_add2::IfcStructuralMember::IfcStructuralMember(IfcEntityInstanceData&& e) : IfcStructuralItem(std::move(e)) { } -Ifc4x3_add2::IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation) : IfcStructuralItem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation) : IfcStructuralItem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralPlanarAction @@ -16427,7 +16427,7 @@ Ifc4x3_add2::IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, : const IfcParse::entity& Ifc4x3_add2::IfcStructuralPlanarAction::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1104]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralPlanarAction::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1104]); } Ifc4x3_add2::IfcStructuralPlanarAction::IfcStructuralPlanarAction(IfcEntityInstanceData&& e) : IfcStructuralSurfaceAction(std::move(e)) { } -Ifc4x3_add2::IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralSurfaceAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralSurfaceAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralPointAction @@ -16435,17 +16435,17 @@ Ifc4x3_add2::IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1 const IfcParse::entity& Ifc4x3_add2::IfcStructuralPointAction::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1105]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralPointAction::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1105]); } Ifc4x3_add2::IfcStructuralPointAction::IfcStructuralPointAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -Ifc4x3_add2::IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralAction(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } +Ifc4x3_add2::IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralAction(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } // Function implementations for IfcStructuralPointConnection -::Ifc4x3_add2::IfcAxis2Placement3D* Ifc4x3_add2::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_add2::IfcAxis2Placement3D>(true); } +::Ifc4x3_add2::IfcAxis2Placement3D* Ifc4x3_add2::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_add2::IfcAxis2Placement3D>(true); } void Ifc4x3_add2::IfcStructuralPointConnection::setConditionCoordinateSystem(::Ifc4x3_add2::IfcAxis2Placement3D* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralPointConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1106]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralPointConnection::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1106]); } Ifc4x3_add2::IfcStructuralPointConnection::IfcStructuralPointConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -Ifc4x3_add2::IfcStructuralPointConnection::IfcStructuralPointConnection(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x3_add2::IfcAxis2Placement3D* v9_ConditionCoordinateSystem) : IfcStructuralConnection(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_ConditionCoordinateSystem ? v9_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcStructuralPointConnection::IfcStructuralPointConnection(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x3_add2::IfcAxis2Placement3D* v9_ConditionCoordinateSystem) : IfcStructuralConnection(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_ConditionCoordinateSystem ? v9_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralPointReaction @@ -16453,7 +16453,7 @@ Ifc4x3_add2::IfcStructuralPointConnection::IfcStructuralPointConnection(std::str const IfcParse::entity& Ifc4x3_add2::IfcStructuralPointReaction::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1107]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralPointReaction::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1107]); } Ifc4x3_add2::IfcStructuralPointReaction::IfcStructuralPointReaction(IfcEntityInstanceData&& e) : IfcStructuralReaction(std::move(e)) { } -Ifc4x3_add2::IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralReaction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +Ifc4x3_add2::IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralReaction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralReaction @@ -16461,14 +16461,14 @@ Ifc4x3_add2::IfcStructuralPointReaction::IfcStructuralPointReaction(std::string const IfcParse::entity& Ifc4x3_add2::IfcStructuralReaction::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1108]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralReaction::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1108]); } Ifc4x3_add2::IfcStructuralReaction::IfcStructuralReaction(IfcEntityInstanceData&& e) : IfcStructuralActivity(std::move(e)) { } -Ifc4x3_add2::IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralActivity(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +Ifc4x3_add2::IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralActivity(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralResultGroup -::Ifc4x3_add2::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_add2::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x3_add2::IfcAnalysisTheoryTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_add2::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_add2::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x3_add2::IfcAnalysisTheoryTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_add2::IfcStructuralResultGroup::setTheoryType(::Ifc4x3_add2::IfcAnalysisTheoryTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_add2::IfcAnalysisTheoryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add2::IfcStructuralLoadGroup* Ifc4x3_add2::IfcStructuralResultGroup::ResultForLoadGroup() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add2::IfcStructuralLoadGroup>(true); } +::Ifc4x3_add2::IfcStructuralLoadGroup* Ifc4x3_add2::IfcStructuralResultGroup::ResultForLoadGroup() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add2::IfcStructuralLoadGroup>(true); } void Ifc4x3_add2::IfcStructuralResultGroup::setResultForLoadGroup(::Ifc4x3_add2::IfcStructuralLoadGroup* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -bool Ifc4x3_add2::IfcStructuralResultGroup::IsLinear() const { bool v = data_.get_attribute_value(7); return v; } +bool Ifc4x3_add2::IfcStructuralResultGroup::IsLinear() const { bool v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcStructuralResultGroup::setIsLinear(bool v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_add2::IfcStructuralAnalysisModel::list::ptr Ifc4x3_add2::IfcStructuralResultGroup::ResultGroupFor() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[1078], 8)->as(); } @@ -16476,19 +16476,19 @@ void Ifc4x3_add2::IfcStructuralResultGroup::setIsLinear(bool v) { set_attribute_ const IfcParse::entity& Ifc4x3_add2::IfcStructuralResultGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1109]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralResultGroup::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1109]); } Ifc4x3_add2::IfcStructuralResultGroup::IfcStructuralResultGroup(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x3_add2::IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_add2::IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear) : IfcGroup(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add2::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, v7_ResultForLoadGroup ? v7_ResultForLoadGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_IsLinear));; populate_derived(); } +Ifc4x3_add2::IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_add2::IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add2::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, v7_ResultForLoadGroup ? v7_ResultForLoadGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_IsLinear));; populate_derived(); } // Function implementations for IfcStructuralSurfaceAction -boost::optional< ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_add2::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_add2::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add2::IfcStructuralSurfaceAction::setProjectedOrTrue(boost::optional< ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_add2::IfcStructuralSurfaceAction::PredefinedType() const { return ::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_add2::IfcStructuralSurfaceAction::PredefinedType() const { return ::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_add2::IfcStructuralSurfaceAction::setPredefinedType(::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralSurfaceAction::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1110]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralSurfaceAction::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1110]); } Ifc4x3_add2::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -Ifc4x3_add2::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralSurfaceConnection @@ -16496,19 +16496,19 @@ Ifc4x3_add2::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(std::string const IfcParse::entity& Ifc4x3_add2::IfcStructuralSurfaceConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1112]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralSurfaceConnection::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1112]); } Ifc4x3_add2::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -Ifc4x3_add2::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralSurfaceMember -::Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_add2::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_add2::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_add2::IfcStructuralSurfaceMember::setPredefinedType(::Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc4x3_add2::IfcStructuralSurfaceMember::Thickness() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_add2::IfcStructuralSurfaceMember::Thickness() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcStructuralSurfaceMember::setThickness(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcStructuralSurfaceMember::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1113]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralSurfaceMember::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1113]); } Ifc4x3_add2::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(IfcEntityInstanceData&& e) : IfcStructuralMember(std::move(e)) { } -Ifc4x3_add2::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } +Ifc4x3_add2::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } // Function implementations for IfcStructuralSurfaceMemberVarying @@ -16516,17 +16516,17 @@ Ifc4x3_add2::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string const IfcParse::entity& Ifc4x3_add2::IfcStructuralSurfaceMemberVarying::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1115]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralSurfaceMemberVarying::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1115]); } Ifc4x3_add2::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(IfcEntityInstanceData&& e) : IfcStructuralSurfaceMember(std::move(e)) { } -Ifc4x3_add2::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralSurfaceMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } +Ifc4x3_add2::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralSurfaceMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } // Function implementations for IfcStructuralSurfaceReaction -::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_add2::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_add2::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcStructuralSurfaceReaction::setPredefinedType(::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralSurfaceReaction::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1116]); } const IfcParse::entity& Ifc4x3_add2::IfcStructuralSurfaceReaction::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1116]); } Ifc4x3_add2::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(IfcEntityInstanceData&& e) : IfcStructuralReaction(std::move(e)) { } -Ifc4x3_add2::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_add2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_add2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStyleModel @@ -16534,21 +16534,21 @@ Ifc4x3_add2::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(std::str const IfcParse::entity& Ifc4x3_add2::IfcStyleModel::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1119]); } const IfcParse::entity& Ifc4x3_add2::IfcStyleModel::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1119]); } Ifc4x3_add2::IfcStyleModel::IfcStyleModel(IfcEntityInstanceData&& e) : IfcRepresentation(std::move(e)) { } -Ifc4x3_add2::IfcStyleModel::IfcStyleModel(::Ifc4x3_add2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_add2::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcStyleModel::IfcStyleModel(::Ifc4x3_add2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_add2::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcStyledItem -::Ifc4x3_add2::IfcRepresentationItem* Ifc4x3_add2::IfcStyledItem::Item() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcRepresentationItem>(true); } +::Ifc4x3_add2::IfcRepresentationItem* Ifc4x3_add2::IfcStyledItem::Item() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcRepresentationItem>(true); } void Ifc4x3_add2::IfcStyledItem::setItem(::Ifc4x3_add2::IfcRepresentationItem* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_add2::IfcPresentationStyle >::ptr Ifc4x3_add2::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcPresentationStyle >(); } +aggregate_of< ::Ifc4x3_add2::IfcPresentationStyle >::ptr Ifc4x3_add2::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcPresentationStyle >(); } void Ifc4x3_add2::IfcStyledItem::setStyles(aggregate_of< ::Ifc4x3_add2::IfcPresentationStyle >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_add2::IfcStyledItem::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcStyledItem::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcStyledItem::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_add2::IfcStyledItem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1117]); } const IfcParse::entity& Ifc4x3_add2::IfcStyledItem::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1117]); } Ifc4x3_add2::IfcStyledItem::IfcStyledItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcStyledItem::IfcStyledItem(::Ifc4x3_add2::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x3_add2::IfcPresentationStyle >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3_add2::IfcStyledItem::IfcStyledItem(::Ifc4x3_add2::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x3_add2::IfcPresentationStyle >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcStyledRepresentation @@ -16556,37 +16556,37 @@ Ifc4x3_add2::IfcStyledItem::IfcStyledItem(::Ifc4x3_add2::IfcRepresentationItem* const IfcParse::entity& Ifc4x3_add2::IfcStyledRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1118]); } const IfcParse::entity& Ifc4x3_add2::IfcStyledRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1118]); } Ifc4x3_add2::IfcStyledRepresentation::IfcStyledRepresentation(IfcEntityInstanceData&& e) : IfcStyleModel(std::move(e)) { } -Ifc4x3_add2::IfcStyledRepresentation::IfcStyledRepresentation(::Ifc4x3_add2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_add2::IfcRepresentationItem >::ptr v4_Items) : IfcStyleModel(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcStyledRepresentation::IfcStyledRepresentation(::Ifc4x3_add2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_add2::IfcRepresentationItem >::ptr v4_Items) : IfcStyleModel(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcSubContractResource -boost::optional< ::Ifc4x3_add2::IfcSubContractResourceTypeEnum::Value > Ifc4x3_add2::IfcSubContractResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcSubContractResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add2::IfcSubContractResourceTypeEnum::Value > Ifc4x3_add2::IfcSubContractResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add2::IfcSubContractResource::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcSubContractResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add2::IfcSubContractResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add2::IfcSubContractResource::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1120]); } const IfcParse::entity& Ifc4x3_add2::IfcSubContractResource::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1120]); } Ifc4x3_add2::IfcSubContractResource::IfcSubContractResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_add2::IfcSubContractResource::IfcSubContractResource(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_add2::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcSubContractResource::IfcSubContractResource(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_add2::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSubContractResourceType -::Ifc4x3_add2::IfcSubContractResourceTypeEnum::Value Ifc4x3_add2::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4x3_add2::IfcSubContractResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_add2::IfcSubContractResourceTypeEnum::Value Ifc4x3_add2::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4x3_add2::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_add2::IfcSubContractResourceType::setPredefinedType(::Ifc4x3_add2::IfcSubContractResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_add2::IfcSubContractResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_add2::IfcSubContractResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1121]); } const IfcParse::entity& Ifc4x3_add2::IfcSubContractResourceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1121]); } Ifc4x3_add2::IfcSubContractResourceType::IfcSubContractResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_add2::IfcSubContractResourceType::IfcSubContractResourceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::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_add2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_add2::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add2::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcSubContractResourceType::IfcSubContractResourceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::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_add2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_add2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_add2::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add2::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcSubedge -::Ifc4x3_add2::IfcEdge* Ifc4x3_add2::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcEdge>(true); } +::Ifc4x3_add2::IfcEdge* Ifc4x3_add2::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcEdge>(true); } void Ifc4x3_add2::IfcSubedge::setParentEdge(::Ifc4x3_add2::IfcEdge* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcSubedge::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1123]); } const IfcParse::entity& Ifc4x3_add2::IfcSubedge::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1123]); } Ifc4x3_add2::IfcSubedge::IfcSubedge(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc4x3_add2::IfcSubedge::IfcSubedge(::Ifc4x3_add2::IfcVertex* v1_EdgeStart, ::Ifc4x3_add2::IfcVertex* v2_EdgeEnd, ::Ifc4x3_add2::IfcEdge* v3_ParentEdge) : IfcEdge(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ParentEdge ? v3_ParentEdge->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcSubedge::IfcSubedge(::Ifc4x3_add2::IfcVertex* v1_EdgeStart, ::Ifc4x3_add2::IfcVertex* v2_EdgeEnd, ::Ifc4x3_add2::IfcEdge* v3_ParentEdge) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ParentEdge ? v3_ParentEdge->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurface @@ -16594,34 +16594,34 @@ Ifc4x3_add2::IfcSubedge::IfcSubedge(::Ifc4x3_add2::IfcVertex* v1_EdgeStart, ::If const IfcParse::entity& Ifc4x3_add2::IfcSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1124]); } const IfcParse::entity& Ifc4x3_add2::IfcSurface::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1124]); } Ifc4x3_add2::IfcSurface::IfcSurface(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcSurface::IfcSurface() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add2::IfcSurface::IfcSurface() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcSurfaceCurve -::Ifc4x3_add2::IfcCurve* Ifc4x3_add2::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCurve>(true); } +::Ifc4x3_add2::IfcCurve* Ifc4x3_add2::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCurve>(true); } void Ifc4x3_add2::IfcSurfaceCurve::setCurve3D(::Ifc4x3_add2::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_add2::IfcPcurve >::ptr Ifc4x3_add2::IfcSurfaceCurve::AssociatedGeometry() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcPcurve >(); } +aggregate_of< ::Ifc4x3_add2::IfcPcurve >::ptr Ifc4x3_add2::IfcSurfaceCurve::AssociatedGeometry() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcPcurve >(); } void Ifc4x3_add2::IfcSurfaceCurve::setAssociatedGeometry(aggregate_of< ::Ifc4x3_add2::IfcPcurve >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x3_add2::IfcSurfaceCurve::MasterRepresentation() const { return ::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::FromString(data_.get_attribute_value(2)); } +::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x3_add2::IfcSurfaceCurve::MasterRepresentation() const { return ::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::FromString(get_attribute_value(2)); } void Ifc4x3_add2::IfcSurfaceCurve::setMasterRepresentation(::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcSurfaceCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1125]); } const IfcParse::entity& Ifc4x3_add2::IfcSurfaceCurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1125]); } Ifc4x3_add2::IfcSurfaceCurve::IfcSurfaceCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_add2::IfcSurfaceCurve::IfcSurfaceCurve(::Ifc4x3_add2::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_add2::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } +Ifc4x3_add2::IfcSurfaceCurve::IfcSurfaceCurve(::Ifc4x3_add2::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_add2::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcSurfaceCurveSweptAreaSolid -::Ifc4x3_add2::IfcSurface* Ifc4x3_add2::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcSurface>(true); } +::Ifc4x3_add2::IfcSurface* Ifc4x3_add2::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcSurface>(true); } void Ifc4x3_add2::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(::Ifc4x3_add2::IfcSurface* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcSurfaceCurveSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1126]); } const IfcParse::entity& Ifc4x3_add2::IfcSurfaceCurveSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1126]); } Ifc4x3_add2::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(IfcEntityInstanceData&& e) : IfcDirectrixCurveSweptAreaSolid(std::move(e)) { } -Ifc4x3_add2::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(::Ifc4x3_add2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add2::IfcCurve* v3_Directrix, ::Ifc4x3_add2::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_add2::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3_add2::IfcSurface* v6_ReferenceSurface) : IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReferenceSurface ? v6_ReferenceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(::Ifc4x3_add2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add2::IfcCurve* v3_Directrix, ::Ifc4x3_add2::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_add2::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3_add2::IfcSurface* v6_ReferenceSurface) : IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReferenceSurface ? v6_ReferenceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceFeature -boost::optional< ::Ifc4x3_add2::IfcSurfaceFeatureTypeEnum::Value > Ifc4x3_add2::IfcSurfaceFeature::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcSurfaceFeatureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcSurfaceFeatureTypeEnum::Value > Ifc4x3_add2::IfcSurfaceFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcSurfaceFeatureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcSurfaceFeature::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcSurfaceFeatureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcSurfaceFeatureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x3_add2::IfcRelAdheresToElement::list::ptr Ifc4x3_add2::IfcSurfaceFeature::AdheresToElement() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[898], 5)->as(); } @@ -16629,138 +16629,138 @@ void Ifc4x3_add2::IfcSurfaceFeature::setPredefinedType(boost::optional< ::Ifc4x3 const IfcParse::entity& Ifc4x3_add2::IfcSurfaceFeature::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1127]); } const IfcParse::entity& Ifc4x3_add2::IfcSurfaceFeature::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1127]); } Ifc4x3_add2::IfcSurfaceFeature::IfcSurfaceFeature(IfcEntityInstanceData&& e) : IfcFeatureElement(std::move(e)) { } -Ifc4x3_add2::IfcSurfaceFeature::IfcSurfaceFeature(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcSurfaceFeature::IfcSurfaceFeature(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSurfaceOfLinearExtrusion -::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcDirection>(true); } +::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcDirection>(true); } void Ifc4x3_add2::IfcSurfaceOfLinearExtrusion::setExtrudedDirection(::Ifc4x3_add2::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_add2::IfcSurfaceOfLinearExtrusion::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add2::IfcSurfaceOfLinearExtrusion::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcSurfaceOfLinearExtrusion::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcSurfaceOfLinearExtrusion::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1129]); } const IfcParse::entity& Ifc4x3_add2::IfcSurfaceOfLinearExtrusion::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1129]); } Ifc4x3_add2::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(IfcEntityInstanceData&& e) : IfcSweptSurface(std::move(e)) { } -Ifc4x3_add2::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(::Ifc4x3_add2::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_add2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add2::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } +Ifc4x3_add2::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(::Ifc4x3_add2::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_add2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add2::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } // Function implementations for IfcSurfaceOfRevolution -::Ifc4x3_add2::IfcAxis1Placement* Ifc4x3_add2::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcAxis1Placement>(true); } +::Ifc4x3_add2::IfcAxis1Placement* Ifc4x3_add2::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcAxis1Placement>(true); } void Ifc4x3_add2::IfcSurfaceOfRevolution::setAxisPosition(::Ifc4x3_add2::IfcAxis1Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcSurfaceOfRevolution::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1130]); } const IfcParse::entity& Ifc4x3_add2::IfcSurfaceOfRevolution::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1130]); } Ifc4x3_add2::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(IfcEntityInstanceData&& e) : IfcSweptSurface(std::move(e)) { } -Ifc4x3_add2::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(::Ifc4x3_add2::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_add2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add2::IfcAxis1Placement* v3_AxisPosition) : IfcSweptSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_AxisPosition ? v3_AxisPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(::Ifc4x3_add2::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_add2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_add2::IfcAxis1Placement* v3_AxisPosition) : IfcSweptSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_AxisPosition ? v3_AxisPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceReinforcementArea -boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_add2::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_add2::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcSurfaceReinforcementArea::setSurfaceReinforcement1(boost::optional< std::vector< double > /*[2:3]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_add2::IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_add2::IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcSurfaceReinforcementArea::setSurfaceReinforcement2(boost::optional< std::vector< double > /*[2:3]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_add2::IfcSurfaceReinforcementArea::ShearReinforcement() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add2::IfcSurfaceReinforcementArea::ShearReinforcement() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcSurfaceReinforcementArea::setShearReinforcement(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_add2::IfcSurfaceReinforcementArea::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1132]); } const IfcParse::entity& Ifc4x3_add2::IfcSurfaceReinforcementArea::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1132]); } Ifc4x3_add2::IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(IfcEntityInstanceData&& e) : IfcStructuralLoadOrResult(std::move(e)) { } -Ifc4x3_add2::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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); }; populate_derived(); } +Ifc4x3_add2::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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); }; populate_derived(); } // Function implementations for IfcSurfaceStyle -::Ifc4x3_add2::IfcSurfaceSide::Value Ifc4x3_add2::IfcSurfaceStyle::Side() const { return ::Ifc4x3_add2::IfcSurfaceSide::FromString(data_.get_attribute_value(1)); } +::Ifc4x3_add2::IfcSurfaceSide::Value Ifc4x3_add2::IfcSurfaceStyle::Side() const { return ::Ifc4x3_add2::IfcSurfaceSide::FromString(get_attribute_value(1)); } void Ifc4x3_add2::IfcSurfaceStyle::setSide(::Ifc4x3_add2::IfcSurfaceSide::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x3_add2::IfcSurfaceSide::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3_add2::IfcSurfaceStyleElementSelect >::ptr Ifc4x3_add2::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcSurfaceStyleElementSelect >(); } +aggregate_of< ::Ifc4x3_add2::IfcSurfaceStyleElementSelect >::ptr Ifc4x3_add2::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcSurfaceStyleElementSelect >(); } void Ifc4x3_add2::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x3_add2::IfcSurfaceStyleElementSelect >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcSurfaceStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1134]); } const IfcParse::entity& Ifc4x3_add2::IfcSurfaceStyle::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1134]); } Ifc4x3_add2::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x3_add2::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_add2::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add2::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, (v3_Styles)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_add2::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add2::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, (v3_Styles)->generalize());; populate_derived(); } // Function implementations for IfcSurfaceStyleLighting -::Ifc4x3_add2::IfcColourRgb* Ifc4x3_add2::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcColourRgb>(true); } +::Ifc4x3_add2::IfcColourRgb* Ifc4x3_add2::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcColourRgb>(true); } void Ifc4x3_add2::IfcSurfaceStyleLighting::setDiffuseTransmissionColour(::Ifc4x3_add2::IfcColourRgb* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcColourRgb* Ifc4x3_add2::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcColourRgb>(true); } +::Ifc4x3_add2::IfcColourRgb* Ifc4x3_add2::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcColourRgb>(true); } void Ifc4x3_add2::IfcSurfaceStyleLighting::setDiffuseReflectionColour(::Ifc4x3_add2::IfcColourRgb* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcColourRgb* Ifc4x3_add2::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcColourRgb>(true); } +::Ifc4x3_add2::IfcColourRgb* Ifc4x3_add2::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcColourRgb>(true); } void Ifc4x3_add2::IfcSurfaceStyleLighting::setTransmissionColour(::Ifc4x3_add2::IfcColourRgb* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcColourRgb* Ifc4x3_add2::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcColourRgb>(true); } +::Ifc4x3_add2::IfcColourRgb* Ifc4x3_add2::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcColourRgb>(true); } void Ifc4x3_add2::IfcSurfaceStyleLighting::setReflectanceColour(::Ifc4x3_add2::IfcColourRgb* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_add2::IfcSurfaceStyleLighting::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1136]); } const IfcParse::entity& Ifc4x3_add2::IfcSurfaceStyleLighting::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1136]); } Ifc4x3_add2::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(::Ifc4x3_add2::IfcColourRgb* v1_DiffuseTransmissionColour, ::Ifc4x3_add2::IfcColourRgb* v2_DiffuseReflectionColour, ::Ifc4x3_add2::IfcColourRgb* v3_TransmissionColour, ::Ifc4x3_add2::IfcColourRgb* v4_ReflectanceColour) : IfcPresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_DiffuseTransmissionColour ? v1_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_DiffuseReflectionColour ? v2_DiffuseReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TransmissionColour ? v3_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_ReflectanceColour ? v4_ReflectanceColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(::Ifc4x3_add2::IfcColourRgb* v1_DiffuseTransmissionColour, ::Ifc4x3_add2::IfcColourRgb* v2_DiffuseReflectionColour, ::Ifc4x3_add2::IfcColourRgb* v3_TransmissionColour, ::Ifc4x3_add2::IfcColourRgb* v4_ReflectanceColour) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_DiffuseTransmissionColour ? v1_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_DiffuseReflectionColour ? v2_DiffuseReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TransmissionColour ? v3_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_ReflectanceColour ? v4_ReflectanceColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceStyleRefraction -boost::optional< double > Ifc4x3_add2::IfcSurfaceStyleRefraction::RefractionIndex() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } double v = data_.get_attribute_value(0); return v; } +boost::optional< double > Ifc4x3_add2::IfcSurfaceStyleRefraction::RefractionIndex() const { if(get_attribute_value(0).isNull()) { return boost::none; } double v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcSurfaceStyleRefraction::setRefractionIndex(boost::optional< double > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< double > Ifc4x3_add2::IfcSurfaceStyleRefraction::DispersionFactor() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_add2::IfcSurfaceStyleRefraction::DispersionFactor() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcSurfaceStyleRefraction::setDispersionFactor(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_add2::IfcSurfaceStyleRefraction::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1137]); } const IfcParse::entity& Ifc4x3_add2::IfcSurfaceStyleRefraction::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1137]); } Ifc4x3_add2::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; populate_derived(); } +Ifc4x3_add2::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; populate_derived(); } // Function implementations for IfcSurfaceStyleRendering -::Ifc4x3_add2::IfcColourOrFactor* Ifc4x3_add2::IfcSurfaceStyleRendering::DiffuseColour() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcColourOrFactor>(true); } +::Ifc4x3_add2::IfcColourOrFactor* Ifc4x3_add2::IfcSurfaceStyleRendering::DiffuseColour() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcColourOrFactor>(true); } void Ifc4x3_add2::IfcSurfaceStyleRendering::setDiffuseColour(::Ifc4x3_add2::IfcColourOrFactor* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcColourOrFactor* Ifc4x3_add2::IfcSurfaceStyleRendering::TransmissionColour() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcColourOrFactor>(true); } +::Ifc4x3_add2::IfcColourOrFactor* Ifc4x3_add2::IfcSurfaceStyleRendering::TransmissionColour() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcColourOrFactor>(true); } void Ifc4x3_add2::IfcSurfaceStyleRendering::setTransmissionColour(::Ifc4x3_add2::IfcColourOrFactor* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add2::IfcColourOrFactor* Ifc4x3_add2::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcColourOrFactor>(true); } +::Ifc4x3_add2::IfcColourOrFactor* Ifc4x3_add2::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcColourOrFactor>(true); } void Ifc4x3_add2::IfcSurfaceStyleRendering::setDiffuseTransmissionColour(::Ifc4x3_add2::IfcColourOrFactor* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcColourOrFactor* Ifc4x3_add2::IfcSurfaceStyleRendering::ReflectionColour() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcColourOrFactor>(true); } +::Ifc4x3_add2::IfcColourOrFactor* Ifc4x3_add2::IfcSurfaceStyleRendering::ReflectionColour() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcColourOrFactor>(true); } void Ifc4x3_add2::IfcSurfaceStyleRendering::setReflectionColour(::Ifc4x3_add2::IfcColourOrFactor* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_add2::IfcColourOrFactor* Ifc4x3_add2::IfcSurfaceStyleRendering::SpecularColour() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add2::IfcColourOrFactor>(true); } +::Ifc4x3_add2::IfcColourOrFactor* Ifc4x3_add2::IfcSurfaceStyleRendering::SpecularColour() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add2::IfcColourOrFactor>(true); } void Ifc4x3_add2::IfcSurfaceStyleRendering::setSpecularColour(::Ifc4x3_add2::IfcColourOrFactor* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_add2::IfcSpecularHighlightSelect* Ifc4x3_add2::IfcSurfaceStyleRendering::SpecularHighlight() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_add2::IfcSpecularHighlightSelect>(true); } +::Ifc4x3_add2::IfcSpecularHighlightSelect* Ifc4x3_add2::IfcSurfaceStyleRendering::SpecularHighlight() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_add2::IfcSpecularHighlightSelect>(true); } void Ifc4x3_add2::IfcSurfaceStyleRendering::setSpecularHighlight(::Ifc4x3_add2::IfcSpecularHighlightSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_add2::IfcReflectanceMethodEnum::Value Ifc4x3_add2::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4x3_add2::IfcReflectanceMethodEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_add2::IfcReflectanceMethodEnum::Value Ifc4x3_add2::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4x3_add2::IfcReflectanceMethodEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcSurfaceStyleRendering::setReflectanceMethod(::Ifc4x3_add2::IfcReflectanceMethodEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcReflectanceMethodEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_add2::IfcSurfaceStyleRendering::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1138]); } const IfcParse::entity& Ifc4x3_add2::IfcSurfaceStyleRendering::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1138]); } Ifc4x3_add2::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcEntityInstanceData&& e) : IfcSurfaceStyleShading(std::move(e)) { } -Ifc4x3_add2::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc4x3_add2::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, ::Ifc4x3_add2::IfcColourOrFactor* v3_DiffuseColour, ::Ifc4x3_add2::IfcColourOrFactor* v4_TransmissionColour, ::Ifc4x3_add2::IfcColourOrFactor* v5_DiffuseTransmissionColour, ::Ifc4x3_add2::IfcColourOrFactor* v6_ReflectionColour, ::Ifc4x3_add2::IfcColourOrFactor* v7_SpecularColour, ::Ifc4x3_add2::IfcSpecularHighlightSelect* v8_SpecularHighlight, ::Ifc4x3_add2::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) : IfcSurfaceStyleShading(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, v3_DiffuseColour ? v3_DiffuseColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TransmissionColour ? v4_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_DiffuseTransmissionColour ? v5_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReflectionColour ? v6_ReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_SpecularColour ? v7_SpecularColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_SpecularHighlight ? v8_SpecularHighlight->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; populate_derived(); } +Ifc4x3_add2::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc4x3_add2::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, ::Ifc4x3_add2::IfcColourOrFactor* v3_DiffuseColour, ::Ifc4x3_add2::IfcColourOrFactor* v4_TransmissionColour, ::Ifc4x3_add2::IfcColourOrFactor* v5_DiffuseTransmissionColour, ::Ifc4x3_add2::IfcColourOrFactor* v6_ReflectionColour, ::Ifc4x3_add2::IfcColourOrFactor* v7_SpecularColour, ::Ifc4x3_add2::IfcSpecularHighlightSelect* v8_SpecularHighlight, ::Ifc4x3_add2::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) : IfcSurfaceStyleShading(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, v3_DiffuseColour ? v3_DiffuseColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TransmissionColour ? v4_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_DiffuseTransmissionColour ? v5_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReflectionColour ? v6_ReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_SpecularColour ? v7_SpecularColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_SpecularHighlight ? v8_SpecularHighlight->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; populate_derived(); } // Function implementations for IfcSurfaceStyleShading -::Ifc4x3_add2::IfcColourRgb* Ifc4x3_add2::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcColourRgb>(true); } +::Ifc4x3_add2::IfcColourRgb* Ifc4x3_add2::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcColourRgb>(true); } void Ifc4x3_add2::IfcSurfaceStyleShading::setSurfaceColour(::Ifc4x3_add2::IfcColourRgb* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< double > Ifc4x3_add2::IfcSurfaceStyleShading::Transparency() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_add2::IfcSurfaceStyleShading::Transparency() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcSurfaceStyleShading::setTransparency(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_add2::IfcSurfaceStyleShading::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1139]); } const IfcParse::entity& Ifc4x3_add2::IfcSurfaceStyleShading::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1139]); } Ifc4x3_add2::IfcSurfaceStyleShading::IfcSurfaceStyleShading(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcSurfaceStyleShading::IfcSurfaceStyleShading(::Ifc4x3_add2::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }; populate_derived(); } +Ifc4x3_add2::IfcSurfaceStyleShading::IfcSurfaceStyleShading(::Ifc4x3_add2::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }; populate_derived(); } // Function implementations for IfcSurfaceStyleWithTextures -aggregate_of< ::Ifc4x3_add2::IfcSurfaceTexture >::ptr Ifc4x3_add2::IfcSurfaceStyleWithTextures::Textures() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcSurfaceTexture >(); } +aggregate_of< ::Ifc4x3_add2::IfcSurfaceTexture >::ptr Ifc4x3_add2::IfcSurfaceStyleWithTextures::Textures() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcSurfaceTexture >(); } void Ifc4x3_add2::IfcSurfaceStyleWithTextures::setTextures(aggregate_of< ::Ifc4x3_add2::IfcSurfaceTexture >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add2::IfcSurfaceStyleWithTextures::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1140]); } const IfcParse::entity& Ifc4x3_add2::IfcSurfaceStyleWithTextures::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1140]); } Ifc4x3_add2::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(aggregate_of< ::Ifc4x3_add2::IfcSurfaceTexture >::ptr v1_Textures) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Textures)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(aggregate_of< ::Ifc4x3_add2::IfcSurfaceTexture >::ptr v1_Textures) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Textures)->generalize());; populate_derived(); } // Function implementations for IfcSurfaceTexture -bool Ifc4x3_add2::IfcSurfaceTexture::RepeatS() const { bool v = data_.get_attribute_value(0); return v; } +bool Ifc4x3_add2::IfcSurfaceTexture::RepeatS() const { bool v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcSurfaceTexture::setRepeatS(bool v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -bool Ifc4x3_add2::IfcSurfaceTexture::RepeatT() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x3_add2::IfcSurfaceTexture::RepeatT() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcSurfaceTexture::setRepeatT(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_add2::IfcSurfaceTexture::Mode() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcSurfaceTexture::Mode() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcSurfaceTexture::setMode(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_add2::IfcCartesianTransformationOperator2D* Ifc4x3_add2::IfcSurfaceTexture::TextureTransform() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcCartesianTransformationOperator2D>(true); } +::Ifc4x3_add2::IfcCartesianTransformationOperator2D* Ifc4x3_add2::IfcSurfaceTexture::TextureTransform() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcCartesianTransformationOperator2D>(true); } void Ifc4x3_add2::IfcSurfaceTexture::setTextureTransform(::Ifc4x3_add2::IfcCartesianTransformationOperator2D* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add2::IfcSurfaceTexture::Parameter() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add2::IfcSurfaceTexture::Parameter() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } ::Ifc4x3_add2::IfcTextureCoordinate::list::ptr Ifc4x3_add2::IfcSurfaceTexture::IsMappedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[1192], 0)->as(); } @@ -16769,79 +16769,79 @@ void Ifc4x3_add2::IfcSurfaceTexture::setParameter(boost::optional< std::vector< const IfcParse::entity& Ifc4x3_add2::IfcSurfaceTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1141]); } const IfcParse::entity& Ifc4x3_add2::IfcSurfaceTexture::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1141]); } Ifc4x3_add2::IfcSurfaceTexture::IfcSurfaceTexture(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_add2::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) : IfcPresentationItem(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }; populate_derived(); } +Ifc4x3_add2::IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_add2::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }; populate_derived(); } // Function implementations for IfcSweptAreaSolid -::Ifc4x3_add2::IfcProfileDef* Ifc4x3_add2::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcProfileDef>(true); } +::Ifc4x3_add2::IfcProfileDef* Ifc4x3_add2::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcProfileDef>(true); } void Ifc4x3_add2::IfcSweptAreaSolid::setSweptArea(::Ifc4x3_add2::IfcProfileDef* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcAxis2Placement3D* Ifc4x3_add2::IfcSweptAreaSolid::Position() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcAxis2Placement3D>(true); } +::Ifc4x3_add2::IfcAxis2Placement3D* Ifc4x3_add2::IfcSweptAreaSolid::Position() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcAxis2Placement3D>(true); } void Ifc4x3_add2::IfcSweptAreaSolid::setPosition(::Ifc4x3_add2::IfcAxis2Placement3D* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1142]); } const IfcParse::entity& Ifc4x3_add2::IfcSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1142]); } Ifc4x3_add2::IfcSweptAreaSolid::IfcSweptAreaSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3_add2::IfcSweptAreaSolid::IfcSweptAreaSolid(::Ifc4x3_add2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D* v2_Position) : IfcSolidModel(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcSweptAreaSolid::IfcSweptAreaSolid(::Ifc4x3_add2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_add2::IfcAxis2Placement3D* v2_Position) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSweptDiskSolid -::Ifc4x3_add2::IfcCurve* Ifc4x3_add2::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCurve>(true); } +::Ifc4x3_add2::IfcCurve* Ifc4x3_add2::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCurve>(true); } void Ifc4x3_add2::IfcSweptDiskSolid::setDirectrix(::Ifc4x3_add2::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_add2::IfcSweptDiskSolid::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add2::IfcSweptDiskSolid::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcSweptDiskSolid::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_add2::IfcSweptDiskSolid::InnerRadius() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add2::IfcSweptDiskSolid::InnerRadius() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcSweptDiskSolid::setInnerRadius(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_add2::IfcSweptDiskSolid::StartParam() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add2::IfcSweptDiskSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcSweptDiskSolid::setStartParam(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_add2::IfcSweptDiskSolid::EndParam() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_add2::IfcSweptDiskSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcSweptDiskSolid::setEndParam(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add2::IfcSweptDiskSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1143]); } const IfcParse::entity& Ifc4x3_add2::IfcSweptDiskSolid::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1143]); } Ifc4x3_add2::IfcSweptDiskSolid::IfcSweptDiskSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3_add2::IfcSweptDiskSolid::IfcSweptDiskSolid(::Ifc4x3_add2::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam) : IfcSolidModel(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; populate_derived(); } +Ifc4x3_add2::IfcSweptDiskSolid::IfcSweptDiskSolid(::Ifc4x3_add2::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; populate_derived(); } // Function implementations for IfcSweptDiskSolidPolygonal -boost::optional< double > Ifc4x3_add2::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_add2::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcSweptDiskSolidPolygonal::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_add2::IfcSweptDiskSolidPolygonal::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1144]); } const IfcParse::entity& Ifc4x3_add2::IfcSweptDiskSolidPolygonal::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1144]); } Ifc4x3_add2::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(IfcEntityInstanceData&& e) : IfcSweptDiskSolid(std::move(e)) { } -Ifc4x3_add2::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(::Ifc4x3_add2::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(storage_t(6))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); }; populate_derived(); } +Ifc4x3_add2::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(::Ifc4x3_add2::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(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); }; populate_derived(); } // Function implementations for IfcSweptSurface -::Ifc4x3_add2::IfcProfileDef* Ifc4x3_add2::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcProfileDef>(true); } +::Ifc4x3_add2::IfcProfileDef* Ifc4x3_add2::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcProfileDef>(true); } void Ifc4x3_add2::IfcSweptSurface::setSweptCurve(::Ifc4x3_add2::IfcProfileDef* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcAxis2Placement3D* Ifc4x3_add2::IfcSweptSurface::Position() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcAxis2Placement3D>(true); } +::Ifc4x3_add2::IfcAxis2Placement3D* Ifc4x3_add2::IfcSweptSurface::Position() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcAxis2Placement3D>(true); } void Ifc4x3_add2::IfcSweptSurface::setPosition(::Ifc4x3_add2::IfcAxis2Placement3D* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcSweptSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1145]); } const IfcParse::entity& Ifc4x3_add2::IfcSweptSurface::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1145]); } Ifc4x3_add2::IfcSweptSurface::IfcSweptSurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x3_add2::IfcSweptSurface::IfcSweptSurface(::Ifc4x3_add2::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_add2::IfcAxis2Placement3D* v2_Position) : IfcSurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcSweptSurface::IfcSweptSurface(::Ifc4x3_add2::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_add2::IfcAxis2Placement3D* v2_Position) : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSwitchingDevice -boost::optional< ::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Value > Ifc4x3_add2::IfcSwitchingDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Value > Ifc4x3_add2::IfcSwitchingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcSwitchingDevice::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcSwitchingDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1146]); } const IfcParse::entity& Ifc4x3_add2::IfcSwitchingDevice::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1146]); } Ifc4x3_add2::IfcSwitchingDevice::IfcSwitchingDevice(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_add2::IfcSwitchingDevice::IfcSwitchingDevice(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcSwitchingDevice::IfcSwitchingDevice(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSwitchingDeviceType -::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Value Ifc4x3_add2::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Value Ifc4x3_add2::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcSwitchingDeviceType::setPredefinedType(::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcSwitchingDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1147]); } const IfcParse::entity& Ifc4x3_add2::IfcSwitchingDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1147]); } Ifc4x3_add2::IfcSwitchingDeviceType::IfcSwitchingDeviceType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_add2::IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSystem @@ -16851,304 +16851,304 @@ Ifc4x3_add2::IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_Globa const IfcParse::entity& Ifc4x3_add2::IfcSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1149]); } const IfcParse::entity& Ifc4x3_add2::IfcSystem::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1149]); } Ifc4x3_add2::IfcSystem::IfcSystem(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x3_add2::IfcSystem::IfcSystem(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcGroup(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc4x3_add2::IfcSystem::IfcSystem(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcSystemFurnitureElement -boost::optional< ::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_add2::IfcSystemFurnitureElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_add2::IfcSystemFurnitureElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcSystemFurnitureElement::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcSystemFurnitureElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1150]); } const IfcParse::entity& Ifc4x3_add2::IfcSystemFurnitureElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1150]); } Ifc4x3_add2::IfcSystemFurnitureElement::IfcSystemFurnitureElement(IfcEntityInstanceData&& e) : IfcFurnishingElement(std::move(e)) { } -Ifc4x3_add2::IfcSystemFurnitureElement::IfcSystemFurnitureElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcSystemFurnitureElement::IfcSystemFurnitureElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSystemFurnitureElementType -boost::optional< ::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_add2::IfcSystemFurnitureElementType::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_add2::IfcSystemFurnitureElementType::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcSystemFurnitureElementType::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_add2::IfcSystemFurnitureElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1151]); } const IfcParse::entity& Ifc4x3_add2::IfcSystemFurnitureElementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1151]); } Ifc4x3_add2::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(IfcEntityInstanceData&& e) : IfcFurnishingElementType(std::move(e)) { } -Ifc4x3_add2::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< ::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< ::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTShapeProfileDef -double Ifc4x3_add2::IfcTShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add2::IfcTShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcTShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_add2::IfcTShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add2::IfcTShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcTShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_add2::IfcTShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_add2::IfcTShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcTShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_add2::IfcTShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_add2::IfcTShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcTShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_add2::IfcTShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add2::IfcTShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcTShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_add2::IfcTShapeProfileDef::FlangeEdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_add2::IfcTShapeProfileDef::FlangeEdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcTShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_add2::IfcTShapeProfileDef::WebEdgeRadius() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_add2::IfcTShapeProfileDef::WebEdgeRadius() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_add2::IfcTShapeProfileDef::setWebEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_add2::IfcTShapeProfileDef::WebSlope() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_add2::IfcTShapeProfileDef::WebSlope() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_add2::IfcTShapeProfileDef::setWebSlope(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_add2::IfcTShapeProfileDef::FlangeSlope() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_add2::IfcTShapeProfileDef::FlangeSlope() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_add2::IfcTShapeProfileDef::setFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x3_add2::IfcTShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1237]); } const IfcParse::entity& Ifc4x3_add2::IfcTShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1237]); } Ifc4x3_add2::IfcTShapeProfileDef::IfcTShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_add2::IfcTShapeProfileDef::IfcTShapeProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::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(storage_t(12))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); }; populate_derived(); } +Ifc4x3_add2::IfcTShapeProfileDef::IfcTShapeProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::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(in_memory_attribute_storage(12))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); }; populate_derived(); } // Function implementations for IfcTable -boost::optional< std::string > Ifc4x3_add2::IfcTable::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTable::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcTable::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcTableRow >::ptr > Ifc4x3_add2::IfcTable::Rows() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcTableRow >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcTableRow >::ptr > Ifc4x3_add2::IfcTable::Rows() const { if(get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcTableRow >(); } void Ifc4x3_add2::IfcTable::setRows(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcTableRow >::ptr > v) { if (v) {set_attribute_value(1, (*v)->generalize());} else {unset_attribute_value(1);} } -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcTableColumn >::ptr > Ifc4x3_add2::IfcTable::Columns() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcTableColumn >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcTableColumn >::ptr > Ifc4x3_add2::IfcTable::Columns() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcTableColumn >(); } void Ifc4x3_add2::IfcTable::setColumns(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcTableColumn >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_add2::IfcTable::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1153]); } const IfcParse::entity& Ifc4x3_add2::IfcTable::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1153]); } Ifc4x3_add2::IfcTable::IfcTable(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcTable::IfcTable(boost::optional< std::string > v1_Name, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcTableRow >::ptr > v2_Rows, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcTableColumn >::ptr > v3_Columns) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, (*v2_Rows)->generalize()); } if (v3_Columns) {set_attribute_value(2, (*v3_Columns)->generalize()); }; populate_derived(); } +Ifc4x3_add2::IfcTable::IfcTable(boost::optional< std::string > v1_Name, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcTableRow >::ptr > v2_Rows, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcTableColumn >::ptr > v3_Columns) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, (*v2_Rows)->generalize()); } if (v3_Columns) {set_attribute_value(2, (*v3_Columns)->generalize()); }; populate_derived(); } // Function implementations for IfcTableColumn -boost::optional< std::string > Ifc4x3_add2::IfcTableColumn::Identifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTableColumn::Identifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcTableColumn::setIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_add2::IfcTableColumn::Name() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTableColumn::Name() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcTableColumn::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_add2::IfcTableColumn::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTableColumn::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcTableColumn::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_add2::IfcUnit* Ifc4x3_add2::IfcTableColumn::Unit() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcUnit>(true); } +::Ifc4x3_add2::IfcUnit* Ifc4x3_add2::IfcTableColumn::Unit() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcUnit>(true); } void Ifc4x3_add2::IfcTableColumn::setUnit(::Ifc4x3_add2::IfcUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add2::IfcReference* Ifc4x3_add2::IfcTableColumn::ReferencePath() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcReference>(true); } +::Ifc4x3_add2::IfcReference* Ifc4x3_add2::IfcTableColumn::ReferencePath() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcReference>(true); } void Ifc4x3_add2::IfcTableColumn::setReferencePath(::Ifc4x3_add2::IfcReference* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add2::IfcTableColumn::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1154]); } const IfcParse::entity& Ifc4x3_add2::IfcTableColumn::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1154]); } Ifc4x3_add2::IfcTableColumn::IfcTableColumn(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x3_add2::IfcUnit* v4_Unit, ::Ifc4x3_add2::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ReferencePath ? v5_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x3_add2::IfcUnit* v4_Unit, ::Ifc4x3_add2::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ReferencePath ? v5_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTableRow -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr > Ifc4x3_add2::IfcTableRow::RowCells() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr > Ifc4x3_add2::IfcTableRow::RowCells() const { if(get_attribute_value(0).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcValue >(); } void Ifc4x3_add2::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr > v) { if (v) {set_attribute_value(0, (*v)->generalize());} else {unset_attribute_value(0);} } -boost::optional< bool > Ifc4x3_add2::IfcTableRow::IsHeading() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } bool v = data_.get_attribute_value(1); return v; } +boost::optional< bool > Ifc4x3_add2::IfcTableRow::IsHeading() const { if(get_attribute_value(1).isNull()) { return boost::none; } bool v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcTableRow::setIsHeading(boost::optional< bool > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_add2::IfcTableRow::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1155]); } const IfcParse::entity& Ifc4x3_add2::IfcTableRow::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1155]); } Ifc4x3_add2::IfcTableRow::IfcTableRow(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_RowCells) {set_attribute_value(0, (*v1_RowCells)->generalize()); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); }; populate_derived(); } +Ifc4x3_add2::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_RowCells) {set_attribute_value(0, (*v1_RowCells)->generalize()); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); }; populate_derived(); } // Function implementations for IfcTank -boost::optional< ::Ifc4x3_add2::IfcTankTypeEnum::Value > Ifc4x3_add2::IfcTank::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcTankTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcTankTypeEnum::Value > Ifc4x3_add2::IfcTank::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcTankTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcTank::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcTankTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcTankTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcTank::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1156]); } const IfcParse::entity& Ifc4x3_add2::IfcTank::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1156]); } Ifc4x3_add2::IfcTank::IfcTank(IfcEntityInstanceData&& e) : IfcFlowStorageDevice(std::move(e)) { } -Ifc4x3_add2::IfcTank::IfcTank(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcTankTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcTank::IfcTank(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcTankTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTankType -::Ifc4x3_add2::IfcTankTypeEnum::Value Ifc4x3_add2::IfcTankType::PredefinedType() const { return ::Ifc4x3_add2::IfcTankTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcTankTypeEnum::Value Ifc4x3_add2::IfcTankType::PredefinedType() const { return ::Ifc4x3_add2::IfcTankTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcTankType::setPredefinedType(::Ifc4x3_add2::IfcTankTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcTankTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcTankType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1157]); } const IfcParse::entity& Ifc4x3_add2::IfcTankType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1157]); } Ifc4x3_add2::IfcTankType::IfcTankType(IfcEntityInstanceData&& e) : IfcFlowStorageDeviceType(std::move(e)) { } -Ifc4x3_add2::IfcTankType::IfcTankType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTankTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcTankType::IfcTankType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTankTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTask -boost::optional< std::string > Ifc4x3_add2::IfcTask::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTask::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcTask::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_add2::IfcTask::WorkMethod() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTask::WorkMethod() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcTask::setWorkMethod(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -bool Ifc4x3_add2::IfcTask::IsMilestone() const { bool v = data_.get_attribute_value(9); return v; } +bool Ifc4x3_add2::IfcTask::IsMilestone() const { bool v = get_attribute_value(9); return v; } void Ifc4x3_add2::IfcTask::setIsMilestone(bool v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -boost::optional< int > Ifc4x3_add2::IfcTask::Priority() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } int v = data_.get_attribute_value(10); return v; } +boost::optional< int > Ifc4x3_add2::IfcTask::Priority() const { if(get_attribute_value(10).isNull()) { return boost::none; } int v = get_attribute_value(10); return v; } void Ifc4x3_add2::IfcTask::setPriority(boost::optional< int > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4x3_add2::IfcTaskTime* Ifc4x3_add2::IfcTask::TaskTime() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc4x3_add2::IfcTaskTime>(true); } +::Ifc4x3_add2::IfcTaskTime* Ifc4x3_add2::IfcTask::TaskTime() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc4x3_add2::IfcTaskTime>(true); } void Ifc4x3_add2::IfcTask::setTaskTime(::Ifc4x3_add2::IfcTaskTime* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } -boost::optional< ::Ifc4x3_add2::IfcTaskTypeEnum::Value > Ifc4x3_add2::IfcTask::PredefinedType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcTaskTypeEnum::FromString(data_.get_attribute_value(12)); } +boost::optional< ::Ifc4x3_add2::IfcTaskTypeEnum::Value > Ifc4x3_add2::IfcTask::PredefinedType() const { if(get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcTaskTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x3_add2::IfcTask::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcTaskTypeEnum::Value > v) { if (v) {set_attribute_value(12, EnumerationReference(&::Ifc4x3_add2::IfcTaskTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_add2::IfcTask::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1159]); } const IfcParse::entity& Ifc4x3_add2::IfcTask::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1159]); } Ifc4x3_add2::IfcTask::IfcTask(IfcEntityInstanceData&& e) : IfcProcess(std::move(e)) { } -Ifc4x3_add2::IfcTask::IfcTask(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcTaskTime* v12_TaskTime, boost::optional< ::Ifc4x3_add2::IfcTaskTypeEnum::Value > v13_PredefinedType) : IfcProcess(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, v12_TaskTime ? v12_TaskTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_add2::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcTask::IfcTask(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcTaskTime* v12_TaskTime, boost::optional< ::Ifc4x3_add2::IfcTaskTypeEnum::Value > v13_PredefinedType) : IfcProcess(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, v12_TaskTime ? v12_TaskTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_add2::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTaskTime -boost::optional< ::Ifc4x3_add2::IfcTaskDurationEnum::Value > Ifc4x3_add2::IfcTaskTime::DurationType() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcTaskDurationEnum::FromString(data_.get_attribute_value(3)); } +boost::optional< ::Ifc4x3_add2::IfcTaskDurationEnum::Value > Ifc4x3_add2::IfcTaskTime::DurationType() const { if(get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcTaskDurationEnum::FromString(get_attribute_value(3)); } void Ifc4x3_add2::IfcTaskTime::setDurationType(boost::optional< ::Ifc4x3_add2::IfcTaskDurationEnum::Value > v) { if (v) {set_attribute_value(3, EnumerationReference(&::Ifc4x3_add2::IfcTaskDurationEnum::Class(), (size_t) *v));} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_add2::IfcTaskTime::ScheduleDuration() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTaskTime::ScheduleDuration() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcTaskTime::setScheduleDuration(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add2::IfcTaskTime::ScheduleStart() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTaskTime::ScheduleStart() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcTaskTime::setScheduleStart(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_add2::IfcTaskTime::ScheduleFinish() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTaskTime::ScheduleFinish() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcTaskTime::setScheduleFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_add2::IfcTaskTime::EarlyStart() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTaskTime::EarlyStart() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcTaskTime::setEarlyStart(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_add2::IfcTaskTime::EarlyFinish() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTaskTime::EarlyFinish() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcTaskTime::setEarlyFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_add2::IfcTaskTime::LateStart() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTaskTime::LateStart() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_add2::IfcTaskTime::setLateStart(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x3_add2::IfcTaskTime::LateFinish() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTaskTime::LateFinish() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_add2::IfcTaskTime::setLateFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< std::string > Ifc4x3_add2::IfcTaskTime::FreeFloat() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTaskTime::FreeFloat() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x3_add2::IfcTaskTime::setFreeFloat(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_add2::IfcTaskTime::TotalFloat() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTaskTime::TotalFloat() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_add2::IfcTaskTime::setTotalFloat(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< bool > Ifc4x3_add2::IfcTaskTime::IsCritical() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } bool v = data_.get_attribute_value(13); return v; } +boost::optional< bool > Ifc4x3_add2::IfcTaskTime::IsCritical() const { if(get_attribute_value(13).isNull()) { return boost::none; } bool v = get_attribute_value(13); return v; } void Ifc4x3_add2::IfcTaskTime::setIsCritical(boost::optional< bool > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x3_add2::IfcTaskTime::StatusTime() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTaskTime::StatusTime() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x3_add2::IfcTaskTime::setStatusTime(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< std::string > Ifc4x3_add2::IfcTaskTime::ActualDuration() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(15); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTaskTime::ActualDuration() const { if(get_attribute_value(15).isNull()) { return boost::none; } std::string v = get_attribute_value(15); return v; } void Ifc4x3_add2::IfcTaskTime::setActualDuration(boost::optional< std::string > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< std::string > Ifc4x3_add2::IfcTaskTime::ActualStart() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(16); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTaskTime::ActualStart() const { if(get_attribute_value(16).isNull()) { return boost::none; } std::string v = get_attribute_value(16); return v; } void Ifc4x3_add2::IfcTaskTime::setActualStart(boost::optional< std::string > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< std::string > Ifc4x3_add2::IfcTaskTime::ActualFinish() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(17); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTaskTime::ActualFinish() const { if(get_attribute_value(17).isNull()) { return boost::none; } std::string v = get_attribute_value(17); return v; } void Ifc4x3_add2::IfcTaskTime::setActualFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } -boost::optional< std::string > Ifc4x3_add2::IfcTaskTime::RemainingTime() const { if(data_.get_attribute_value(18).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(18); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTaskTime::RemainingTime() const { if(get_attribute_value(18).isNull()) { return boost::none; } std::string v = get_attribute_value(18); return v; } void Ifc4x3_add2::IfcTaskTime::setRemainingTime(boost::optional< std::string > v) { if (v) {set_attribute_value(18, *v);} else {unset_attribute_value(18);} } -boost::optional< double > Ifc4x3_add2::IfcTaskTime::Completion() const { if(data_.get_attribute_value(19).isNull()) { return boost::none; } double v = data_.get_attribute_value(19); return v; } +boost::optional< double > Ifc4x3_add2::IfcTaskTime::Completion() const { if(get_attribute_value(19).isNull()) { return boost::none; } double v = get_attribute_value(19); return v; } void Ifc4x3_add2::IfcTaskTime::setCompletion(boost::optional< double > v) { if (v) {set_attribute_value(19, *v);} else {unset_attribute_value(19);} } const IfcParse::entity& Ifc4x3_add2::IfcTaskTime::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1161]); } const IfcParse::entity& Ifc4x3_add2::IfcTaskTime::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1161]); } Ifc4x3_add2::IfcTaskTime::IfcTaskTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x3_add2::IfcTaskTime::IfcTaskTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x3_add2::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(storage_t(20))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_add2::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }; populate_derived(); } +Ifc4x3_add2::IfcTaskTime::IfcTaskTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x3_add2::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(in_memory_attribute_storage(20))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_add2::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }; populate_derived(); } // Function implementations for IfcTaskTimeRecurring -::Ifc4x3_add2::IfcRecurrencePattern* Ifc4x3_add2::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(20)))->as<::Ifc4x3_add2::IfcRecurrencePattern>(true); } +::Ifc4x3_add2::IfcRecurrencePattern* Ifc4x3_add2::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(20)))->as<::Ifc4x3_add2::IfcRecurrencePattern>(true); } void Ifc4x3_add2::IfcTaskTimeRecurring::setRecurrence(::Ifc4x3_add2::IfcRecurrencePattern* v) { set_attribute_value(20, v->as());if constexpr (false)unset_attribute_value(20); } const IfcParse::entity& Ifc4x3_add2::IfcTaskTimeRecurring::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1162]); } const IfcParse::entity& Ifc4x3_add2::IfcTaskTimeRecurring::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1162]); } Ifc4x3_add2::IfcTaskTimeRecurring::IfcTaskTimeRecurring(IfcEntityInstanceData&& e) : IfcTaskTime(std::move(e)) { } -Ifc4x3_add2::IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x3_add2::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_add2::IfcRecurrencePattern* v21_Recurrence) : IfcTaskTime(IfcEntityInstanceData(storage_t(21))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_add2::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, v21_Recurrence ? v21_Recurrence->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x3_add2::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_add2::IfcRecurrencePattern* v21_Recurrence) : IfcTaskTime(IfcEntityInstanceData(in_memory_attribute_storage(21))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_add2::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, v21_Recurrence ? v21_Recurrence->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTaskType -::Ifc4x3_add2::IfcTaskTypeEnum::Value Ifc4x3_add2::IfcTaskType::PredefinedType() const { return ::Ifc4x3_add2::IfcTaskTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcTaskTypeEnum::Value Ifc4x3_add2::IfcTaskType::PredefinedType() const { return ::Ifc4x3_add2::IfcTaskTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcTaskType::setPredefinedType(::Ifc4x3_add2::IfcTaskTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcTaskTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3_add2::IfcTaskType::WorkMethod() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTaskType::WorkMethod() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_add2::IfcTaskType::setWorkMethod(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_add2::IfcTaskType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1163]); } const IfcParse::entity& Ifc4x3_add2::IfcTaskType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1163]); } Ifc4x3_add2::IfcTaskType::IfcTaskType(IfcEntityInstanceData&& e) : IfcTypeProcess(std::move(e)) { } -Ifc4x3_add2::IfcTaskType::IfcTaskType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_add2::IfcTaskTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_WorkMethod) : IfcTypeProcess(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); }; populate_derived(); } +Ifc4x3_add2::IfcTaskType::IfcTaskType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_add2::IfcTaskTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_WorkMethod) : IfcTypeProcess(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); }; populate_derived(); } // Function implementations for IfcTelecomAddress -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add2::IfcTelecomAddress::TelephoneNumbers() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add2::IfcTelecomAddress::TelephoneNumbers() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcTelecomAddress::setTelephoneNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add2::IfcTelecomAddress::FacsimileNumbers() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add2::IfcTelecomAddress::FacsimileNumbers() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcTelecomAddress::setFacsimileNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add2::IfcTelecomAddress::PagerNumber() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTelecomAddress::PagerNumber() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcTelecomAddress::setPagerNumber(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add2::IfcTelecomAddress::ElectronicMailAddresses() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(6); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add2::IfcTelecomAddress::ElectronicMailAddresses() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcTelecomAddress::setElectronicMailAddresses(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_add2::IfcTelecomAddress::WWWHomePageURL() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTelecomAddress::WWWHomePageURL() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcTelecomAddress::setWWWHomePageURL(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add2::IfcTelecomAddress::MessagingIDs() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(8); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_add2::IfcTelecomAddress::MessagingIDs() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcTelecomAddress::setMessagingIDs(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcTelecomAddress::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1165]); } const IfcParse::entity& Ifc4x3_add2::IfcTelecomAddress::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1165]); } Ifc4x3_add2::IfcTelecomAddress::IfcTelecomAddress(IfcEntityInstanceData&& e) : IfcAddress(std::move(e)) { } -Ifc4x3_add2::IfcTelecomAddress::IfcTelecomAddress(boost::optional< ::Ifc4x3_add2::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(storage_t(9))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); }; populate_derived(); } +Ifc4x3_add2::IfcTelecomAddress::IfcTelecomAddress(boost::optional< ::Ifc4x3_add2::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(in_memory_attribute_storage(9))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); }; populate_derived(); } // Function implementations for IfcTendon -boost::optional< ::Ifc4x3_add2::IfcTendonTypeEnum::Value > Ifc4x3_add2::IfcTendon::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcTendonTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_add2::IfcTendonTypeEnum::Value > Ifc4x3_add2::IfcTendon::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcTendon::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcTendonTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcTendonTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_add2::IfcTendon::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_add2::IfcTendon::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_add2::IfcTendon::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_add2::IfcTendon::CrossSectionArea() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_add2::IfcTendon::CrossSectionArea() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_add2::IfcTendon::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_add2::IfcTendon::TensionForce() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_add2::IfcTendon::TensionForce() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_add2::IfcTendon::setTensionForce(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3_add2::IfcTendon::PreStress() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_add2::IfcTendon::PreStress() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_add2::IfcTendon::setPreStress(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3_add2::IfcTendon::FrictionCoefficient() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3_add2::IfcTendon::FrictionCoefficient() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3_add2::IfcTendon::setFrictionCoefficient(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x3_add2::IfcTendon::AnchorageSlip() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3_add2::IfcTendon::AnchorageSlip() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3_add2::IfcTendon::setAnchorageSlip(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3_add2::IfcTendon::MinCurvatureRadius() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3_add2::IfcTendon::MinCurvatureRadius() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3_add2::IfcTendon::setMinCurvatureRadius(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } const IfcParse::entity& Ifc4x3_add2::IfcTendon::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1168]); } const IfcParse::entity& Ifc4x3_add2::IfcTendon::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1168]); } Ifc4x3_add2::IfcTendon::IfcTendon(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x3_add2::IfcTendon::IfcTendon(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x3_add2::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(storage_t(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; populate_derived(); } +Ifc4x3_add2::IfcTendon::IfcTendon(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x3_add2::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(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; populate_derived(); } // Function implementations for IfcTendonAnchor -boost::optional< ::Ifc4x3_add2::IfcTendonAnchorTypeEnum::Value > Ifc4x3_add2::IfcTendonAnchor::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcTendonAnchorTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_add2::IfcTendonAnchorTypeEnum::Value > Ifc4x3_add2::IfcTendonAnchor::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcTendonAnchor::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcTendonAnchorTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcTendonAnchorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_add2::IfcTendonAnchor::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1169]); } const IfcParse::entity& Ifc4x3_add2::IfcTendonAnchor::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1169]); } Ifc4x3_add2::IfcTendonAnchor::IfcTendonAnchor(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x3_add2::IfcTendonAnchor::IfcTendonAnchor(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x3_add2::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcTendonAnchor::IfcTendonAnchor(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x3_add2::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTendonAnchorType -::Ifc4x3_add2::IfcTendonAnchorTypeEnum::Value Ifc4x3_add2::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4x3_add2::IfcTendonAnchorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcTendonAnchorTypeEnum::Value Ifc4x3_add2::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4x3_add2::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcTendonAnchorType::setPredefinedType(::Ifc4x3_add2::IfcTendonAnchorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcTendonAnchorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcTendonAnchorType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1170]); } const IfcParse::entity& Ifc4x3_add2::IfcTendonAnchorType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1170]); } Ifc4x3_add2::IfcTendonAnchorType::IfcTendonAnchorType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x3_add2::IfcTendonAnchorType::IfcTendonAnchorType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcTendonAnchorType::IfcTendonAnchorType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTendonConduit -boost::optional< ::Ifc4x3_add2::IfcTendonConduitTypeEnum::Value > Ifc4x3_add2::IfcTendonConduit::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcTendonConduitTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_add2::IfcTendonConduitTypeEnum::Value > Ifc4x3_add2::IfcTendonConduit::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcTendonConduit::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcTendonConduitTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcTendonConduitTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_add2::IfcTendonConduit::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1172]); } const IfcParse::entity& Ifc4x3_add2::IfcTendonConduit::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1172]); } Ifc4x3_add2::IfcTendonConduit::IfcTendonConduit(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x3_add2::IfcTendonConduit::IfcTendonConduit(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x3_add2::IfcTendonConduitTypeEnum::Value > v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcTendonConduitTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcTendonConduit::IfcTendonConduit(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x3_add2::IfcTendonConduitTypeEnum::Value > v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcTendonConduitTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTendonConduitType -::Ifc4x3_add2::IfcTendonConduitTypeEnum::Value Ifc4x3_add2::IfcTendonConduitType::PredefinedType() const { return ::Ifc4x3_add2::IfcTendonConduitTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcTendonConduitTypeEnum::Value Ifc4x3_add2::IfcTendonConduitType::PredefinedType() const { return ::Ifc4x3_add2::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcTendonConduitType::setPredefinedType(::Ifc4x3_add2::IfcTendonConduitTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcTendonConduitTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcTendonConduitType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1173]); } const IfcParse::entity& Ifc4x3_add2::IfcTendonConduitType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1173]); } Ifc4x3_add2::IfcTendonConduitType::IfcTendonConduitType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x3_add2::IfcTendonConduitType::IfcTendonConduitType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTendonConduitTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcTendonConduitType::IfcTendonConduitType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTendonConduitTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTendonType -::Ifc4x3_add2::IfcTendonTypeEnum::Value Ifc4x3_add2::IfcTendonType::PredefinedType() const { return ::Ifc4x3_add2::IfcTendonTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcTendonTypeEnum::Value Ifc4x3_add2::IfcTendonType::PredefinedType() const { return ::Ifc4x3_add2::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcTendonType::setPredefinedType(::Ifc4x3_add2::IfcTendonTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcTendonTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3_add2::IfcTendonType::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_add2::IfcTendonType::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_add2::IfcTendonType::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_add2::IfcTendonType::CrossSectionArea() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_add2::IfcTendonType::CrossSectionArea() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_add2::IfcTendonType::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_add2::IfcTendonType::SheathDiameter() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_add2::IfcTendonType::SheathDiameter() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_add2::IfcTendonType::setSheathDiameter(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_add2::IfcTendonType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1175]); } const IfcParse::entity& Ifc4x3_add2::IfcTendonType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1175]); } Ifc4x3_add2::IfcTendonType::IfcTendonType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x3_add2::IfcTendonType::IfcTendonType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTendonTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheathDiameter) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); }; populate_derived(); } +Ifc4x3_add2::IfcTendonType::IfcTendonType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTendonTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheathDiameter) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); }; populate_derived(); } // Function implementations for IfcTessellatedFaceSet -::Ifc4x3_add2::IfcCartesianPointList3D* Ifc4x3_add2::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCartesianPointList3D>(true); } +::Ifc4x3_add2::IfcCartesianPointList3D* Ifc4x3_add2::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCartesianPointList3D>(true); } void Ifc4x3_add2::IfcTessellatedFaceSet::setCoordinates(::Ifc4x3_add2::IfcCartesianPointList3D* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_add2::IfcIndexedColourMap::list::ptr Ifc4x3_add2::IfcTessellatedFaceSet::HasColours() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[542], 0)->as(); } @@ -17157,7 +17157,7 @@ void Ifc4x3_add2::IfcTessellatedFaceSet::setCoordinates(::Ifc4x3_add2::IfcCartes const IfcParse::entity& Ifc4x3_add2::IfcTessellatedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1177]); } const IfcParse::entity& Ifc4x3_add2::IfcTessellatedFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1177]); } Ifc4x3_add2::IfcTessellatedFaceSet::IfcTessellatedFaceSet(IfcEntityInstanceData&& e) : IfcTessellatedItem(std::move(e)) { } -Ifc4x3_add2::IfcTessellatedFaceSet::IfcTessellatedFaceSet(::Ifc4x3_add2::IfcCartesianPointList3D* v1_Coordinates) : IfcTessellatedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcTessellatedFaceSet::IfcTessellatedFaceSet(::Ifc4x3_add2::IfcCartesianPointList3D* v1_Coordinates) : IfcTessellatedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTessellatedItem @@ -17165,128 +17165,128 @@ Ifc4x3_add2::IfcTessellatedFaceSet::IfcTessellatedFaceSet(::Ifc4x3_add2::IfcCart const IfcParse::entity& Ifc4x3_add2::IfcTessellatedItem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1178]); } const IfcParse::entity& Ifc4x3_add2::IfcTessellatedItem::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1178]); } Ifc4x3_add2::IfcTessellatedItem::IfcTessellatedItem(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcTessellatedItem::IfcTessellatedItem() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add2::IfcTessellatedItem::IfcTessellatedItem() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcTextLiteral -std::string Ifc4x3_add2::IfcTextLiteral::Literal() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_add2::IfcTextLiteral::Literal() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcTextLiteral::setLiteral(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcAxis2Placement* Ifc4x3_add2::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcAxis2Placement>(true); } +::Ifc4x3_add2::IfcAxis2Placement* Ifc4x3_add2::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcAxis2Placement>(true); } void Ifc4x3_add2::IfcTextLiteral::setPlacement(::Ifc4x3_add2::IfcAxis2Placement* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcTextPath::Value Ifc4x3_add2::IfcTextLiteral::Path() const { return ::Ifc4x3_add2::IfcTextPath::FromString(data_.get_attribute_value(2)); } +::Ifc4x3_add2::IfcTextPath::Value Ifc4x3_add2::IfcTextLiteral::Path() const { return ::Ifc4x3_add2::IfcTextPath::FromString(get_attribute_value(2)); } void Ifc4x3_add2::IfcTextLiteral::setPath(::Ifc4x3_add2::IfcTextPath::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3_add2::IfcTextPath::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcTextLiteral::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1184]); } const IfcParse::entity& Ifc4x3_add2::IfcTextLiteral::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1184]); } Ifc4x3_add2::IfcTextLiteral::IfcTextLiteral(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, ::Ifc4x3_add2::IfcAxis2Placement* v2_Placement, ::Ifc4x3_add2::IfcTextPath::Value v3_Path) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add2::IfcTextPath::Class(),(size_t)v3_Path)));; populate_derived(); } +Ifc4x3_add2::IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, ::Ifc4x3_add2::IfcAxis2Placement* v2_Placement, ::Ifc4x3_add2::IfcTextPath::Value v3_Path) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add2::IfcTextPath::Class(),(size_t)v3_Path)));; populate_derived(); } // Function implementations for IfcTextLiteralWithExtent -::Ifc4x3_add2::IfcPlanarExtent* Ifc4x3_add2::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcPlanarExtent>(true); } +::Ifc4x3_add2::IfcPlanarExtent* Ifc4x3_add2::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcPlanarExtent>(true); } void Ifc4x3_add2::IfcTextLiteralWithExtent::setExtent(::Ifc4x3_add2::IfcPlanarExtent* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -std::string Ifc4x3_add2::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = data_.get_attribute_value(4); return v; } +std::string Ifc4x3_add2::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcTextLiteralWithExtent::setBoxAlignment(std::string v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add2::IfcTextLiteralWithExtent::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1185]); } const IfcParse::entity& Ifc4x3_add2::IfcTextLiteralWithExtent::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1185]); } Ifc4x3_add2::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(IfcEntityInstanceData&& e) : IfcTextLiteral(std::move(e)) { } -Ifc4x3_add2::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(std::string v1_Literal, ::Ifc4x3_add2::IfcAxis2Placement* v2_Placement, ::Ifc4x3_add2::IfcTextPath::Value v3_Path, ::Ifc4x3_add2::IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment) : IfcTextLiteral(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add2::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, v4_Extent ? v4_Extent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_BoxAlignment));; populate_derived(); } +Ifc4x3_add2::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(std::string v1_Literal, ::Ifc4x3_add2::IfcAxis2Placement* v2_Placement, ::Ifc4x3_add2::IfcTextPath::Value v3_Path, ::Ifc4x3_add2::IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment) : IfcTextLiteral(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x3_add2::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, v4_Extent ? v4_Extent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_BoxAlignment));; populate_derived(); } // Function implementations for IfcTextStyle -::Ifc4x3_add2::IfcTextStyleForDefinedFont* Ifc4x3_add2::IfcTextStyle::TextCharacterAppearance() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcTextStyleForDefinedFont>(true); } +::Ifc4x3_add2::IfcTextStyleForDefinedFont* Ifc4x3_add2::IfcTextStyle::TextCharacterAppearance() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcTextStyleForDefinedFont>(true); } void Ifc4x3_add2::IfcTextStyle::setTextCharacterAppearance(::Ifc4x3_add2::IfcTextStyleForDefinedFont* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcTextStyleTextModel* Ifc4x3_add2::IfcTextStyle::TextStyle() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcTextStyleTextModel>(true); } +::Ifc4x3_add2::IfcTextStyleTextModel* Ifc4x3_add2::IfcTextStyle::TextStyle() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcTextStyleTextModel>(true); } void Ifc4x3_add2::IfcTextStyle::setTextStyle(::Ifc4x3_add2::IfcTextStyleTextModel* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_add2::IfcTextFontSelect* Ifc4x3_add2::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcTextFontSelect>(true); } +::Ifc4x3_add2::IfcTextFontSelect* Ifc4x3_add2::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcTextFontSelect>(true); } void Ifc4x3_add2::IfcTextStyle::setTextFontStyle(::Ifc4x3_add2::IfcTextFontSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< bool > Ifc4x3_add2::IfcTextStyle::ModelOrDraughting() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } bool v = data_.get_attribute_value(4); return v; } +boost::optional< bool > Ifc4x3_add2::IfcTextStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return boost::none; } bool v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcTextStyle::setModelOrDraughting(boost::optional< bool > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add2::IfcTextStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1187]); } const IfcParse::entity& Ifc4x3_add2::IfcTextStyle::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1187]); } Ifc4x3_add2::IfcTextStyle::IfcTextStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x3_add2::IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcTextStyleForDefinedFont* v2_TextCharacterAppearance, ::Ifc4x3_add2::IfcTextStyleTextModel* v3_TextStyle, ::Ifc4x3_add2::IfcTextFontSelect* v4_TextFontStyle, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TextCharacterAppearance ? v2_TextCharacterAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TextStyle ? v3_TextStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TextFontStyle ? v4_TextFontStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } +Ifc4x3_add2::IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_add2::IfcTextStyleForDefinedFont* v2_TextCharacterAppearance, ::Ifc4x3_add2::IfcTextStyleTextModel* v3_TextStyle, ::Ifc4x3_add2::IfcTextFontSelect* v4_TextFontStyle, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TextCharacterAppearance ? v2_TextCharacterAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TextStyle ? v3_TextStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TextFontStyle ? v4_TextFontStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } // Function implementations for IfcTextStyleFontModel -std::vector< std::string > /*[1:?]*/ Ifc4x3_add2::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +std::vector< std::string > /*[1:?]*/ Ifc4x3_add2::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcTextStyleFontModel::setFontFamily(std::vector< std::string > /*[1:?]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_add2::IfcTextStyleFontModel::FontStyle() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTextStyleFontModel::FontStyle() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcTextStyleFontModel::setFontStyle(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_add2::IfcTextStyleFontModel::FontVariant() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTextStyleFontModel::FontVariant() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_add2::IfcTextStyleFontModel::FontWeight() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTextStyleFontModel::FontWeight() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_add2::IfcSizeSelect* Ifc4x3_add2::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_add2::IfcSizeSelect>(true); } +::Ifc4x3_add2::IfcSizeSelect* Ifc4x3_add2::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_add2::IfcSizeSelect>(true); } void Ifc4x3_add2::IfcTextStyleFontModel::setFontSize(::Ifc4x3_add2::IfcSizeSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcTextStyleFontModel::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1188]); } const IfcParse::entity& Ifc4x3_add2::IfcTextStyleFontModel::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1188]); } Ifc4x3_add2::IfcTextStyleFontModel::IfcTextStyleFontModel(IfcEntityInstanceData&& e) : IfcPreDefinedTextFont(std::move(e)) { } -Ifc4x3_add2::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_add2::IfcSizeSelect* v6_FontSize) : IfcPreDefinedTextFont(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, v6_FontSize ? v6_FontSize->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::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_add2::IfcSizeSelect* v6_FontSize) : IfcPreDefinedTextFont(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, v6_FontSize ? v6_FontSize->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextStyleForDefinedFont -::Ifc4x3_add2::IfcColour* Ifc4x3_add2::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcColour>(true); } +::Ifc4x3_add2::IfcColour* Ifc4x3_add2::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcColour>(true); } void Ifc4x3_add2::IfcTextStyleForDefinedFont::setColour(::Ifc4x3_add2::IfcColour* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcColour* Ifc4x3_add2::IfcTextStyleForDefinedFont::BackgroundColour() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcColour>(true); } +::Ifc4x3_add2::IfcColour* Ifc4x3_add2::IfcTextStyleForDefinedFont::BackgroundColour() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcColour>(true); } void Ifc4x3_add2::IfcTextStyleForDefinedFont::setBackgroundColour(::Ifc4x3_add2::IfcColour* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcTextStyleForDefinedFont::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1189]); } const IfcParse::entity& Ifc4x3_add2::IfcTextStyleForDefinedFont::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1189]); } Ifc4x3_add2::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4x3_add2::IfcColour* v1_Colour, ::Ifc4x3_add2::IfcColour* v2_BackgroundColour) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Colour ? v1_Colour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_BackgroundColour ? v2_BackgroundColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4x3_add2::IfcColour* v1_Colour, ::Ifc4x3_add2::IfcColour* v2_BackgroundColour) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Colour ? v1_Colour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_BackgroundColour ? v2_BackgroundColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextStyleTextModel -::Ifc4x3_add2::IfcSizeSelect* Ifc4x3_add2::IfcTextStyleTextModel::TextIndent() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcSizeSelect>(true); } +::Ifc4x3_add2::IfcSizeSelect* Ifc4x3_add2::IfcTextStyleTextModel::TextIndent() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcSizeSelect>(true); } void Ifc4x3_add2::IfcTextStyleTextModel::setTextIndent(::Ifc4x3_add2::IfcSizeSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_add2::IfcTextStyleTextModel::TextAlign() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTextStyleTextModel::TextAlign() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_add2::IfcTextStyleTextModel::TextDecoration() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTextStyleTextModel::TextDecoration() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_add2::IfcSizeSelect* Ifc4x3_add2::IfcTextStyleTextModel::LetterSpacing() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcSizeSelect>(true); } +::Ifc4x3_add2::IfcSizeSelect* Ifc4x3_add2::IfcTextStyleTextModel::LetterSpacing() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcSizeSelect>(true); } void Ifc4x3_add2::IfcTextStyleTextModel::setLetterSpacing(::Ifc4x3_add2::IfcSizeSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add2::IfcSizeSelect* Ifc4x3_add2::IfcTextStyleTextModel::WordSpacing() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_add2::IfcSizeSelect>(true); } +::Ifc4x3_add2::IfcSizeSelect* Ifc4x3_add2::IfcTextStyleTextModel::WordSpacing() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_add2::IfcSizeSelect>(true); } void Ifc4x3_add2::IfcTextStyleTextModel::setWordSpacing(::Ifc4x3_add2::IfcSizeSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -boost::optional< std::string > Ifc4x3_add2::IfcTextStyleTextModel::TextTransform() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTextStyleTextModel::TextTransform() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_add2::IfcSizeSelect* Ifc4x3_add2::IfcTextStyleTextModel::LineHeight() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_add2::IfcSizeSelect>(true); } +::Ifc4x3_add2::IfcSizeSelect* Ifc4x3_add2::IfcTextStyleTextModel::LineHeight() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_add2::IfcSizeSelect>(true); } void Ifc4x3_add2::IfcTextStyleTextModel::setLineHeight(::Ifc4x3_add2::IfcSizeSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add2::IfcTextStyleTextModel::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1190]); } const IfcParse::entity& Ifc4x3_add2::IfcTextStyleTextModel::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1190]); } Ifc4x3_add2::IfcTextStyleTextModel::IfcTextStyleTextModel(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcTextStyleTextModel::IfcTextStyleTextModel(::Ifc4x3_add2::IfcSizeSelect* v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, ::Ifc4x3_add2::IfcSizeSelect* v4_LetterSpacing, ::Ifc4x3_add2::IfcSizeSelect* v5_WordSpacing, boost::optional< std::string > v6_TextTransform, ::Ifc4x3_add2::IfcSizeSelect* v7_LineHeight) : IfcPresentationItem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, v1_TextIndent ? v1_TextIndent->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, v4_LetterSpacing ? v4_LetterSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_WordSpacing ? v5_WordSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, v7_LineHeight ? v7_LineHeight->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcTextStyleTextModel::IfcTextStyleTextModel(::Ifc4x3_add2::IfcSizeSelect* v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, ::Ifc4x3_add2::IfcSizeSelect* v4_LetterSpacing, ::Ifc4x3_add2::IfcSizeSelect* v5_WordSpacing, boost::optional< std::string > v6_TextTransform, ::Ifc4x3_add2::IfcSizeSelect* v7_LineHeight) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_TextIndent ? v1_TextIndent->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, v4_LetterSpacing ? v4_LetterSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_WordSpacing ? v5_WordSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, v7_LineHeight ? v7_LineHeight->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextureCoordinate -aggregate_of< ::Ifc4x3_add2::IfcSurfaceTexture >::ptr Ifc4x3_add2::IfcTextureCoordinate::Maps() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcSurfaceTexture >(); } +aggregate_of< ::Ifc4x3_add2::IfcSurfaceTexture >::ptr Ifc4x3_add2::IfcTextureCoordinate::Maps() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcSurfaceTexture >(); } void Ifc4x3_add2::IfcTextureCoordinate::setMaps(aggregate_of< ::Ifc4x3_add2::IfcSurfaceTexture >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add2::IfcTextureCoordinate::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1192]); } const IfcParse::entity& Ifc4x3_add2::IfcTextureCoordinate::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1192]); } Ifc4x3_add2::IfcTextureCoordinate::IfcTextureCoordinate(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcTextureCoordinate::IfcTextureCoordinate(aggregate_of< ::Ifc4x3_add2::IfcSurfaceTexture >::ptr v1_Maps) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Maps)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcTextureCoordinate::IfcTextureCoordinate(aggregate_of< ::Ifc4x3_add2::IfcSurfaceTexture >::ptr v1_Maps) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Maps)->generalize());; populate_derived(); } // Function implementations for IfcTextureCoordinateGenerator -std::string Ifc4x3_add2::IfcTextureCoordinateGenerator::Mode() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_add2::IfcTextureCoordinateGenerator::Mode() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcTextureCoordinateGenerator::setMode(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::vector< double > /*[1:?]*/ > Ifc4x3_add2::IfcTextureCoordinateGenerator::Parameter() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< double > /*[1:?]*/ > Ifc4x3_add2::IfcTextureCoordinateGenerator::Parameter() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[1:?]*/ v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcTextureCoordinateGenerator::setParameter(boost::optional< std::vector< double > /*[1:?]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_add2::IfcTextureCoordinateGenerator::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1193]); } const IfcParse::entity& Ifc4x3_add2::IfcTextureCoordinateGenerator::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1193]); } Ifc4x3_add2::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(IfcEntityInstanceData&& e) : IfcTextureCoordinate(std::move(e)) { } -Ifc4x3_add2::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(aggregate_of< ::Ifc4x3_add2::IfcSurfaceTexture >::ptr v1_Maps, std::string v2_Mode, boost::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) : IfcTextureCoordinate(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); }; populate_derived(); } +Ifc4x3_add2::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(aggregate_of< ::Ifc4x3_add2::IfcSurfaceTexture >::ptr v1_Maps, std::string v2_Mode, boost::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) : IfcTextureCoordinate(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); }; populate_derived(); } // Function implementations for IfcTextureCoordinateIndices -std::vector< int > /*[3:?]*/ Ifc4x3_add2::IfcTextureCoordinateIndices::TexCoordIndex() const { std::vector< int > /*[3:?]*/ v = data_.get_attribute_value(0); return v; } +std::vector< int > /*[3:?]*/ Ifc4x3_add2::IfcTextureCoordinateIndices::TexCoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcTextureCoordinateIndices::setTexCoordIndex(std::vector< int > /*[3:?]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcIndexedPolygonalFace* Ifc4x3_add2::IfcTextureCoordinateIndices::TexCoordsOf() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcIndexedPolygonalFace>(true); } +::Ifc4x3_add2::IfcIndexedPolygonalFace* Ifc4x3_add2::IfcTextureCoordinateIndices::TexCoordsOf() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcIndexedPolygonalFace>(true); } void Ifc4x3_add2::IfcTextureCoordinateIndices::setTexCoordsOf(::Ifc4x3_add2::IfcIndexedPolygonalFace* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } ::Ifc4x3_add2::IfcIndexedPolygonalTextureMap::list::ptr Ifc4x3_add2::IfcTextureCoordinateIndices::ToTexMap() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[546], 3)->as(); } @@ -17294,94 +17294,94 @@ void Ifc4x3_add2::IfcTextureCoordinateIndices::setTexCoordsOf(::Ifc4x3_add2::Ifc const IfcParse::entity& Ifc4x3_add2::IfcTextureCoordinateIndices::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1194]); } const IfcParse::entity& Ifc4x3_add2::IfcTextureCoordinateIndices::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1194]); } Ifc4x3_add2::IfcTextureCoordinateIndices::IfcTextureCoordinateIndices(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcTextureCoordinateIndices::IfcTextureCoordinateIndices(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_add2::IfcIndexedPolygonalFace* v2_TexCoordsOf) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_TexCoordIndex));set_attribute_value(1, v2_TexCoordsOf ? v2_TexCoordsOf->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcTextureCoordinateIndices::IfcTextureCoordinateIndices(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_add2::IfcIndexedPolygonalFace* v2_TexCoordsOf) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_TexCoordIndex));set_attribute_value(1, v2_TexCoordsOf ? v2_TexCoordsOf->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextureCoordinateIndicesWithVoids -std::vector< std::vector< int > > Ifc4x3_add2::IfcTextureCoordinateIndicesWithVoids::InnerTexCoordIndices() const { std::vector< std::vector< int > > v = data_.get_attribute_value(2); return v; } +std::vector< std::vector< int > > Ifc4x3_add2::IfcTextureCoordinateIndicesWithVoids::InnerTexCoordIndices() const { std::vector< std::vector< int > > v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcTextureCoordinateIndicesWithVoids::setInnerTexCoordIndices(std::vector< std::vector< int > > v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcTextureCoordinateIndicesWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1195]); } const IfcParse::entity& Ifc4x3_add2::IfcTextureCoordinateIndicesWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1195]); } Ifc4x3_add2::IfcTextureCoordinateIndicesWithVoids::IfcTextureCoordinateIndicesWithVoids(IfcEntityInstanceData&& e) : IfcTextureCoordinateIndices(std::move(e)) { } -Ifc4x3_add2::IfcTextureCoordinateIndicesWithVoids::IfcTextureCoordinateIndicesWithVoids(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_add2::IfcIndexedPolygonalFace* v2_TexCoordsOf, std::vector< std::vector< int > > v3_InnerTexCoordIndices) : IfcTextureCoordinateIndices(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_TexCoordIndex));set_attribute_value(1, v2_TexCoordsOf ? v2_TexCoordsOf->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_InnerTexCoordIndices));; populate_derived(); } +Ifc4x3_add2::IfcTextureCoordinateIndicesWithVoids::IfcTextureCoordinateIndicesWithVoids(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_add2::IfcIndexedPolygonalFace* v2_TexCoordsOf, std::vector< std::vector< int > > v3_InnerTexCoordIndices) : IfcTextureCoordinateIndices(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_TexCoordIndex));set_attribute_value(1, v2_TexCoordsOf ? v2_TexCoordsOf->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_InnerTexCoordIndices));; populate_derived(); } // Function implementations for IfcTextureMap -aggregate_of< ::Ifc4x3_add2::IfcTextureVertex >::ptr Ifc4x3_add2::IfcTextureMap::Vertices() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcTextureVertex >(); } +aggregate_of< ::Ifc4x3_add2::IfcTextureVertex >::ptr Ifc4x3_add2::IfcTextureMap::Vertices() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcTextureVertex >(); } void Ifc4x3_add2::IfcTextureMap::setVertices(aggregate_of< ::Ifc4x3_add2::IfcTextureVertex >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_add2::IfcFace* Ifc4x3_add2::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_add2::IfcFace>(true); } +::Ifc4x3_add2::IfcFace* Ifc4x3_add2::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_add2::IfcFace>(true); } void Ifc4x3_add2::IfcTextureMap::setMappedTo(::Ifc4x3_add2::IfcFace* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcTextureMap::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1196]); } const IfcParse::entity& Ifc4x3_add2::IfcTextureMap::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1196]); } Ifc4x3_add2::IfcTextureMap::IfcTextureMap(IfcEntityInstanceData&& e) : IfcTextureCoordinate(std::move(e)) { } -Ifc4x3_add2::IfcTextureMap::IfcTextureMap(aggregate_of< ::Ifc4x3_add2::IfcSurfaceTexture >::ptr v1_Maps, aggregate_of< ::Ifc4x3_add2::IfcTextureVertex >::ptr v2_Vertices, ::Ifc4x3_add2::IfcFace* v3_MappedTo) : IfcTextureCoordinate(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Vertices)->generalize());set_attribute_value(2, v3_MappedTo ? v3_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcTextureMap::IfcTextureMap(aggregate_of< ::Ifc4x3_add2::IfcSurfaceTexture >::ptr v1_Maps, aggregate_of< ::Ifc4x3_add2::IfcTextureVertex >::ptr v2_Vertices, ::Ifc4x3_add2::IfcFace* v3_MappedTo) : IfcTextureCoordinate(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Vertices)->generalize());set_attribute_value(2, v3_MappedTo ? v3_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextureVertex -std::vector< double > /*[2:2]*/ Ifc4x3_add2::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[2:2]*/ Ifc4x3_add2::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcTextureVertex::setCoordinates(std::vector< double > /*[2:2]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add2::IfcTextureVertex::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1197]); } const IfcParse::entity& Ifc4x3_add2::IfcTextureVertex::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1197]); } Ifc4x3_add2::IfcTextureVertex::IfcTextureVertex(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcTextureVertex::IfcTextureVertex(std::vector< double > /*[2:2]*/ v1_Coordinates) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } +Ifc4x3_add2::IfcTextureVertex::IfcTextureVertex(std::vector< double > /*[2:2]*/ v1_Coordinates) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } // Function implementations for IfcTextureVertexList -std::vector< std::vector< double > > Ifc4x3_add2::IfcTextureVertexList::TexCoordsList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x3_add2::IfcTextureVertexList::TexCoordsList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcTextureVertexList::setTexCoordsList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add2::IfcTextureVertexList::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1198]); } const IfcParse::entity& Ifc4x3_add2::IfcTextureVertexList::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1198]); } Ifc4x3_add2::IfcTextureVertexList::IfcTextureVertexList(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcTextureVertexList::IfcTextureVertexList(std::vector< std::vector< double > > v1_TexCoordsList) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_TexCoordsList));; populate_derived(); } +Ifc4x3_add2::IfcTextureVertexList::IfcTextureVertexList(std::vector< std::vector< double > > v1_TexCoordsList) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_TexCoordsList));; populate_derived(); } // Function implementations for IfcThirdOrderPolynomialSpiral -double Ifc4x3_add2::IfcThirdOrderPolynomialSpiral::CubicTerm() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add2::IfcThirdOrderPolynomialSpiral::CubicTerm() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcThirdOrderPolynomialSpiral::setCubicTerm(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_add2::IfcThirdOrderPolynomialSpiral::QuadraticTerm() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_add2::IfcThirdOrderPolynomialSpiral::QuadraticTerm() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcThirdOrderPolynomialSpiral::setQuadraticTerm(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_add2::IfcThirdOrderPolynomialSpiral::LinearTerm() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_add2::IfcThirdOrderPolynomialSpiral::LinearTerm() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcThirdOrderPolynomialSpiral::setLinearTerm(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_add2::IfcThirdOrderPolynomialSpiral::ConstantTerm() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_add2::IfcThirdOrderPolynomialSpiral::ConstantTerm() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcThirdOrderPolynomialSpiral::setConstantTerm(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add2::IfcThirdOrderPolynomialSpiral::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1205]); } const IfcParse::entity& Ifc4x3_add2::IfcThirdOrderPolynomialSpiral::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1205]); } Ifc4x3_add2::IfcThirdOrderPolynomialSpiral::IfcThirdOrderPolynomialSpiral(IfcEntityInstanceData&& e) : IfcSpiral(std::move(e)) { } -Ifc4x3_add2::IfcThirdOrderPolynomialSpiral::IfcThirdOrderPolynomialSpiral(::Ifc4x3_add2::IfcAxis2Placement* v1_Position, double v2_CubicTerm, boost::optional< double > v3_QuadraticTerm, boost::optional< double > v4_LinearTerm, boost::optional< double > v5_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CubicTerm)); if (v3_QuadraticTerm) {set_attribute_value(2, (*v3_QuadraticTerm)); } if (v4_LinearTerm) {set_attribute_value(3, (*v4_LinearTerm)); } if (v5_ConstantTerm) {set_attribute_value(4, (*v5_ConstantTerm)); }; populate_derived(); } +Ifc4x3_add2::IfcThirdOrderPolynomialSpiral::IfcThirdOrderPolynomialSpiral(::Ifc4x3_add2::IfcAxis2Placement* v1_Position, double v2_CubicTerm, boost::optional< double > v3_QuadraticTerm, boost::optional< double > v4_LinearTerm, boost::optional< double > v5_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CubicTerm)); if (v3_QuadraticTerm) {set_attribute_value(2, (*v3_QuadraticTerm)); } if (v4_LinearTerm) {set_attribute_value(3, (*v4_LinearTerm)); } if (v5_ConstantTerm) {set_attribute_value(4, (*v5_ConstantTerm)); }; populate_derived(); } // Function implementations for IfcTimePeriod -std::string Ifc4x3_add2::IfcTimePeriod::StartTime() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_add2::IfcTimePeriod::StartTime() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcTimePeriod::setStartTime(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x3_add2::IfcTimePeriod::EndTime() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_add2::IfcTimePeriod::EndTime() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcTimePeriod::setEndTime(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcTimePeriod::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1209]); } const IfcParse::entity& Ifc4x3_add2::IfcTimePeriod::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1209]); } Ifc4x3_add2::IfcTimePeriod::IfcTimePeriod(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcTimePeriod::IfcTimePeriod(std::string v1_StartTime, std::string v2_EndTime) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime));; populate_derived(); } +Ifc4x3_add2::IfcTimePeriod::IfcTimePeriod(std::string v1_StartTime, std::string v2_EndTime) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime));; populate_derived(); } // Function implementations for IfcTimeSeries -std::string Ifc4x3_add2::IfcTimeSeries::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_add2::IfcTimeSeries::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcTimeSeries::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_add2::IfcTimeSeries::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTimeSeries::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcTimeSeries::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::string Ifc4x3_add2::IfcTimeSeries::StartTime() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3_add2::IfcTimeSeries::StartTime() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcTimeSeries::setStartTime(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::string Ifc4x3_add2::IfcTimeSeries::EndTime() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x3_add2::IfcTimeSeries::EndTime() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcTimeSeries::setEndTime(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Value Ifc4x3_add2::IfcTimeSeries::TimeSeriesDataType() const { return ::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Value Ifc4x3_add2::IfcTimeSeries::TimeSeriesDataType() const { return ::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::FromString(get_attribute_value(4)); } void Ifc4x3_add2::IfcTimeSeries::setTimeSeriesDataType(::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcDataOriginEnum::Value Ifc4x3_add2::IfcTimeSeries::DataOrigin() const { return ::Ifc4x3_add2::IfcDataOriginEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_add2::IfcDataOriginEnum::Value Ifc4x3_add2::IfcTimeSeries::DataOrigin() const { return ::Ifc4x3_add2::IfcDataOriginEnum::FromString(get_attribute_value(5)); } void Ifc4x3_add2::IfcTimeSeries::setDataOrigin(::Ifc4x3_add2::IfcDataOriginEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< std::string > Ifc4x3_add2::IfcTimeSeries::UserDefinedDataOrigin() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTimeSeries::UserDefinedDataOrigin() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_add2::IfcUnit* Ifc4x3_add2::IfcTimeSeries::Unit() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_add2::IfcUnit>(true); } +::Ifc4x3_add2::IfcUnit* Ifc4x3_add2::IfcTimeSeries::Unit() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_add2::IfcUnit>(true); } void Ifc4x3_add2::IfcTimeSeries::setUnit(::Ifc4x3_add2::IfcUnit* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_add2::IfcExternalReferenceRelationship::list::ptr Ifc4x3_add2::IfcTimeSeries::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[427], 3)->as(); } @@ -17389,17 +17389,17 @@ void Ifc4x3_add2::IfcTimeSeries::setUnit(::Ifc4x3_add2::IfcUnit* v) { set_attrib const IfcParse::entity& Ifc4x3_add2::IfcTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1210]); } const IfcParse::entity& Ifc4x3_add2::IfcTimeSeries::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1210]); } Ifc4x3_add2::IfcTimeSeries::IfcTimeSeries(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add2::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add2::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_add2::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_add2::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTimeSeriesValue -aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr Ifc4x3_add2::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcValue >(); } +aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr Ifc4x3_add2::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcValue >(); } void Ifc4x3_add2::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add2::IfcTimeSeriesValue::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1212]); } const IfcParse::entity& Ifc4x3_add2::IfcTimeSeriesValue::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1212]); } Ifc4x3_add2::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_ListValues)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_add2::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_ListValues)->generalize());; populate_derived(); } // Function implementations for IfcTopologicalRepresentationItem @@ -17407,7 +17407,7 @@ Ifc4x3_add2::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_add2: const IfcParse::entity& Ifc4x3_add2::IfcTopologicalRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1214]); } const IfcParse::entity& Ifc4x3_add2::IfcTopologicalRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1214]); } Ifc4x3_add2::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add2::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcTopologyRepresentation @@ -17415,79 +17415,79 @@ Ifc4x3_add2::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem( const IfcParse::entity& Ifc4x3_add2::IfcTopologyRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1215]); } const IfcParse::entity& Ifc4x3_add2::IfcTopologyRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1215]); } Ifc4x3_add2::IfcTopologyRepresentation::IfcTopologyRepresentation(IfcEntityInstanceData&& e) : IfcShapeModel(std::move(e)) { } -Ifc4x3_add2::IfcTopologyRepresentation::IfcTopologyRepresentation(::Ifc4x3_add2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_add2::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcTopologyRepresentation::IfcTopologyRepresentation(::Ifc4x3_add2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_add2::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcToroidalSurface -double Ifc4x3_add2::IfcToroidalSurface::MajorRadius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add2::IfcToroidalSurface::MajorRadius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcToroidalSurface::setMajorRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_add2::IfcToroidalSurface::MinorRadius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_add2::IfcToroidalSurface::MinorRadius() const { double v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcToroidalSurface::setMinorRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_add2::IfcToroidalSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1216]); } const IfcParse::entity& Ifc4x3_add2::IfcToroidalSurface::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1216]); } Ifc4x3_add2::IfcToroidalSurface::IfcToroidalSurface(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x3_add2::IfcToroidalSurface::IfcToroidalSurface(::Ifc4x3_add2::IfcAxis2Placement3D* v1_Position, double v2_MajorRadius, double v3_MinorRadius) : IfcElementarySurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius));; populate_derived(); } +Ifc4x3_add2::IfcToroidalSurface::IfcToroidalSurface(::Ifc4x3_add2::IfcAxis2Placement3D* v1_Position, double v2_MajorRadius, double v3_MinorRadius) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius));; populate_derived(); } // Function implementations for IfcTrackElement -boost::optional< ::Ifc4x3_add2::IfcTrackElementTypeEnum::Value > Ifc4x3_add2::IfcTrackElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcTrackElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcTrackElementTypeEnum::Value > Ifc4x3_add2::IfcTrackElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcTrackElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcTrackElement::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcTrackElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcTrackElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcTrackElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1218]); } const IfcParse::entity& Ifc4x3_add2::IfcTrackElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1218]); } Ifc4x3_add2::IfcTrackElement::IfcTrackElement(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add2::IfcTrackElement::IfcTrackElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcTrackElementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcTrackElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcTrackElement::IfcTrackElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcTrackElementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcTrackElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTrackElementType -::Ifc4x3_add2::IfcTrackElementTypeEnum::Value Ifc4x3_add2::IfcTrackElementType::PredefinedType() const { return ::Ifc4x3_add2::IfcTrackElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcTrackElementTypeEnum::Value Ifc4x3_add2::IfcTrackElementType::PredefinedType() const { return ::Ifc4x3_add2::IfcTrackElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcTrackElementType::setPredefinedType(::Ifc4x3_add2::IfcTrackElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcTrackElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcTrackElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1219]); } const IfcParse::entity& Ifc4x3_add2::IfcTrackElementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1219]); } Ifc4x3_add2::IfcTrackElementType::IfcTrackElementType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add2::IfcTrackElementType::IfcTrackElementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTrackElementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcTrackElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcTrackElementType::IfcTrackElementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTrackElementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcTrackElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTransformer -boost::optional< ::Ifc4x3_add2::IfcTransformerTypeEnum::Value > Ifc4x3_add2::IfcTransformer::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcTransformerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcTransformerTypeEnum::Value > Ifc4x3_add2::IfcTransformer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcTransformerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcTransformer::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcTransformerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcTransformerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcTransformer::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1221]); } const IfcParse::entity& Ifc4x3_add2::IfcTransformer::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1221]); } Ifc4x3_add2::IfcTransformer::IfcTransformer(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add2::IfcTransformer::IfcTransformer(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcTransformerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcTransformer::IfcTransformer(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcTransformerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTransformerType -::Ifc4x3_add2::IfcTransformerTypeEnum::Value Ifc4x3_add2::IfcTransformerType::PredefinedType() const { return ::Ifc4x3_add2::IfcTransformerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcTransformerTypeEnum::Value Ifc4x3_add2::IfcTransformerType::PredefinedType() const { return ::Ifc4x3_add2::IfcTransformerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcTransformerType::setPredefinedType(::Ifc4x3_add2::IfcTransformerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcTransformerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcTransformerType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1222]); } const IfcParse::entity& Ifc4x3_add2::IfcTransformerType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1222]); } Ifc4x3_add2::IfcTransformerType::IfcTransformerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add2::IfcTransformerType::IfcTransformerType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTransformerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcTransformerType::IfcTransformerType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTransformerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTransportElement -boost::optional< ::Ifc4x3_add2::IfcTransportElementTypeEnum::Value > Ifc4x3_add2::IfcTransportElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcTransportElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcTransportElementTypeEnum::Value > Ifc4x3_add2::IfcTransportElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcTransportElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcTransportElement::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcTransportElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcTransportElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcTransportElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1228]); } const IfcParse::entity& Ifc4x3_add2::IfcTransportElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1228]); } Ifc4x3_add2::IfcTransportElement::IfcTransportElement(IfcEntityInstanceData&& e) : IfcTransportationDevice(std::move(e)) { } -Ifc4x3_add2::IfcTransportElement::IfcTransportElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcTransportElementTypeEnum::Value > v9_PredefinedType) : IfcTransportationDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcTransportElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcTransportElement::IfcTransportElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcTransportElementTypeEnum::Value > v9_PredefinedType) : IfcTransportationDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcTransportElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTransportElementType -::Ifc4x3_add2::IfcTransportElementTypeEnum::Value Ifc4x3_add2::IfcTransportElementType::PredefinedType() const { return ::Ifc4x3_add2::IfcTransportElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcTransportElementTypeEnum::Value Ifc4x3_add2::IfcTransportElementType::PredefinedType() const { return ::Ifc4x3_add2::IfcTransportElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcTransportElementType::setPredefinedType(::Ifc4x3_add2::IfcTransportElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcTransportElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcTransportElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1229]); } const IfcParse::entity& Ifc4x3_add2::IfcTransportElementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1229]); } Ifc4x3_add2::IfcTransportElementType::IfcTransportElementType(IfcEntityInstanceData&& e) : IfcTransportationDeviceType(std::move(e)) { } -Ifc4x3_add2::IfcTransportElementType::IfcTransportElementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTransportElementTypeEnum::Value v10_PredefinedType) : IfcTransportationDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcTransportElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcTransportElementType::IfcTransportElementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTransportElementTypeEnum::Value v10_PredefinedType) : IfcTransportationDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcTransportElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTransportationDevice @@ -17495,7 +17495,7 @@ Ifc4x3_add2::IfcTransportElementType::IfcTransportElementType(std::string v1_Glo const IfcParse::entity& Ifc4x3_add2::IfcTransportationDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1226]); } const IfcParse::entity& Ifc4x3_add2::IfcTransportationDevice::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1226]); } Ifc4x3_add2::IfcTransportationDevice::IfcTransportationDevice(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_add2::IfcTransportationDevice::IfcTransportationDevice(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add2::IfcTransportationDevice::IfcTransportationDevice(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcTransportationDeviceType @@ -17503,92 +17503,92 @@ Ifc4x3_add2::IfcTransportationDevice::IfcTransportationDevice(std::string v1_Glo const IfcParse::entity& Ifc4x3_add2::IfcTransportationDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1227]); } const IfcParse::entity& Ifc4x3_add2::IfcTransportationDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1227]); } Ifc4x3_add2::IfcTransportationDeviceType::IfcTransportationDeviceType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_add2::IfcTransportationDeviceType::IfcTransportationDeviceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_add2::IfcTransportationDeviceType::IfcTransportationDeviceType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcTrapeziumProfileDef -double Ifc4x3_add2::IfcTrapeziumProfileDef::BottomXDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add2::IfcTrapeziumProfileDef::BottomXDim() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcTrapeziumProfileDef::setBottomXDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_add2::IfcTrapeziumProfileDef::TopXDim() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add2::IfcTrapeziumProfileDef::TopXDim() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcTrapeziumProfileDef::setTopXDim(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_add2::IfcTrapeziumProfileDef::YDim() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_add2::IfcTrapeziumProfileDef::YDim() const { double v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcTrapeziumProfileDef::setYDim(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_add2::IfcTrapeziumProfileDef::TopXOffset() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_add2::IfcTrapeziumProfileDef::TopXOffset() const { double v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcTrapeziumProfileDef::setTopXOffset(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_add2::IfcTrapeziumProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1231]); } const IfcParse::entity& Ifc4x3_add2::IfcTrapeziumProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1231]); } Ifc4x3_add2::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_add2::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D* v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; populate_derived(); } +Ifc4x3_add2::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::IfcAxis2Placement2D* v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; populate_derived(); } // Function implementations for IfcTriangulatedFaceSet -boost::optional< std::vector< std::vector< double > > > Ifc4x3_add2::IfcTriangulatedFaceSet::Normals() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::vector< double > > v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< std::vector< double > > > Ifc4x3_add2::IfcTriangulatedFaceSet::Normals() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::vector< double > > v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcTriangulatedFaceSet::setNormals(boost::optional< std::vector< std::vector< double > > > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< bool > Ifc4x3_add2::IfcTriangulatedFaceSet::Closed() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } bool v = data_.get_attribute_value(2); return v; } +boost::optional< bool > Ifc4x3_add2::IfcTriangulatedFaceSet::Closed() const { if(get_attribute_value(2).isNull()) { return boost::none; } bool v = get_attribute_value(2); return v; } void Ifc4x3_add2::IfcTriangulatedFaceSet::setClosed(boost::optional< bool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector< std::vector< int > > Ifc4x3_add2::IfcTriangulatedFaceSet::CoordIndex() const { std::vector< std::vector< int > > v = data_.get_attribute_value(3); return v; } +std::vector< std::vector< int > > Ifc4x3_add2::IfcTriangulatedFaceSet::CoordIndex() const { std::vector< std::vector< int > > v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcTriangulatedFaceSet::setCoordIndex(std::vector< std::vector< int > > v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_add2::IfcTriangulatedFaceSet::PnIndex() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_add2::IfcTriangulatedFaceSet::PnIndex() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcTriangulatedFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_add2::IfcTriangulatedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1232]); } const IfcParse::entity& Ifc4x3_add2::IfcTriangulatedFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1232]); } Ifc4x3_add2::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(IfcEntityInstanceData&& e) : IfcTessellatedFaceSet(std::move(e)) { } -Ifc4x3_add2::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(::Ifc4x3_add2::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(storage_t(5))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }; populate_derived(); } +Ifc4x3_add2::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(::Ifc4x3_add2::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(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }; populate_derived(); } // Function implementations for IfcTriangulatedIrregularNetwork -std::vector< int > /*[1:?]*/ Ifc4x3_add2::IfcTriangulatedIrregularNetwork::Flags() const { std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(5); return v; } +std::vector< int > /*[1:?]*/ Ifc4x3_add2::IfcTriangulatedIrregularNetwork::Flags() const { std::vector< int > /*[1:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcTriangulatedIrregularNetwork::setFlags(std::vector< int > /*[1:?]*/ v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_add2::IfcTriangulatedIrregularNetwork::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1233]); } const IfcParse::entity& Ifc4x3_add2::IfcTriangulatedIrregularNetwork::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1233]); } Ifc4x3_add2::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(IfcEntityInstanceData&& e) : IfcTriangulatedFaceSet(std::move(e)) { } -Ifc4x3_add2::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::Ifc4x3_add2::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(storage_t(6))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags));; populate_derived(); } +Ifc4x3_add2::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::Ifc4x3_add2::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(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags));; populate_derived(); } // Function implementations for IfcTrimmedCurve -::Ifc4x3_add2::IfcCurve* Ifc4x3_add2::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCurve>(true); } +::Ifc4x3_add2::IfcCurve* Ifc4x3_add2::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcCurve>(true); } void Ifc4x3_add2::IfcTrimmedCurve::setBasisCurve(::Ifc4x3_add2::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_add2::IfcTrimmingSelect >::ptr Ifc4x3_add2::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcTrimmingSelect >(); } +aggregate_of< ::Ifc4x3_add2::IfcTrimmingSelect >::ptr Ifc4x3_add2::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_add2::IfcTrimmingSelect >(); } void Ifc4x3_add2::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x3_add2::IfcTrimmingSelect >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3_add2::IfcTrimmingSelect >::ptr Ifc4x3_add2::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcTrimmingSelect >(); } +aggregate_of< ::Ifc4x3_add2::IfcTrimmingSelect >::ptr Ifc4x3_add2::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_add2::IfcTrimmingSelect >(); } void Ifc4x3_add2::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x3_add2::IfcTrimmingSelect >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x3_add2::IfcTrimmedCurve::SenseAgreement() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x3_add2::IfcTrimmedCurve::SenseAgreement() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcTrimmedCurve::setSenseAgreement(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_add2::IfcTrimmingPreference::Value Ifc4x3_add2::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3_add2::IfcTrimmingPreference::FromString(data_.get_attribute_value(4)); } +::Ifc4x3_add2::IfcTrimmingPreference::Value Ifc4x3_add2::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3_add2::IfcTrimmingPreference::FromString(get_attribute_value(4)); } void Ifc4x3_add2::IfcTrimmedCurve::setMasterRepresentation(::Ifc4x3_add2::IfcTrimmingPreference::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3_add2::IfcTrimmingPreference::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_add2::IfcTrimmedCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1234]); } const IfcParse::entity& Ifc4x3_add2::IfcTrimmedCurve::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1234]); } Ifc4x3_add2::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_add2::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_add2::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_add2::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_add2::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_add2::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Trim1)->generalize());set_attribute_value(2, (v3_Trim2)->generalize());set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add2::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; populate_derived(); } +Ifc4x3_add2::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_add2::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_add2::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_add2::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_add2::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Trim1)->generalize());set_attribute_value(2, (v3_Trim2)->generalize());set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add2::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcTubeBundle -boost::optional< ::Ifc4x3_add2::IfcTubeBundleTypeEnum::Value > Ifc4x3_add2::IfcTubeBundle::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcTubeBundleTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcTubeBundleTypeEnum::Value > Ifc4x3_add2::IfcTubeBundle::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcTubeBundleTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcTubeBundle::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcTubeBundleTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcTubeBundleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcTubeBundle::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1238]); } const IfcParse::entity& Ifc4x3_add2::IfcTubeBundle::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1238]); } Ifc4x3_add2::IfcTubeBundle::IfcTubeBundle(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add2::IfcTubeBundle::IfcTubeBundle(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcTubeBundle::IfcTubeBundle(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTubeBundleType -::Ifc4x3_add2::IfcTubeBundleTypeEnum::Value Ifc4x3_add2::IfcTubeBundleType::PredefinedType() const { return ::Ifc4x3_add2::IfcTubeBundleTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcTubeBundleTypeEnum::Value Ifc4x3_add2::IfcTubeBundleType::PredefinedType() const { return ::Ifc4x3_add2::IfcTubeBundleTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcTubeBundleType::setPredefinedType(::Ifc4x3_add2::IfcTubeBundleTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcTubeBundleTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcTubeBundleType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1239]); } const IfcParse::entity& Ifc4x3_add2::IfcTubeBundleType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1239]); } Ifc4x3_add2::IfcTubeBundleType::IfcTubeBundleType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add2::IfcTubeBundleType::IfcTubeBundleType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTubeBundleTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcTubeBundleType::IfcTubeBundleType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcTubeBundleTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTypeObject -boost::optional< std::string > Ifc4x3_add2::IfcTypeObject::ApplicableOccurrence() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTypeObject::ApplicableOccurrence() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcTypeObject::setApplicableOccurrence(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > Ifc4x3_add2::IfcTypeObject::HasPropertySets() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_add2::IfcPropertySetDefinition >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > Ifc4x3_add2::IfcTypeObject::HasPropertySets() const { if(get_attribute_value(5).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_add2::IfcPropertySetDefinition >(); } void Ifc4x3_add2::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v) { if (v) {set_attribute_value(5, (*v)->generalize());} else {unset_attribute_value(5);} } ::Ifc4x3_add2::IfcRelDefinesByType::list::ptr Ifc4x3_add2::IfcTypeObject::Types() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[935], 5)->as(); } @@ -17596,14 +17596,14 @@ void Ifc4x3_add2::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_o const IfcParse::entity& Ifc4x3_add2::IfcTypeObject::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1241]); } const IfcParse::entity& Ifc4x3_add2::IfcTypeObject::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1241]); } Ifc4x3_add2::IfcTypeObject::IfcTypeObject(IfcEntityInstanceData&& e) : IfcObjectDefinition(std::move(e)) { } -Ifc4x3_add2::IfcTypeObject::IfcTypeObject(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets) : IfcObjectDefinition(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); }; populate_derived(); } +Ifc4x3_add2::IfcTypeObject::IfcTypeObject(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets) : IfcObjectDefinition(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); }; populate_derived(); } // Function implementations for IfcTypeProcess -boost::optional< std::string > Ifc4x3_add2::IfcTypeProcess::Identification() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTypeProcess::Identification() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcTypeProcess::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_add2::IfcTypeProcess::LongDescription() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTypeProcess::LongDescription() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcTypeProcess::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_add2::IfcTypeProcess::ProcessType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTypeProcess::ProcessType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcTypeProcess::setProcessType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } ::Ifc4x3_add2::IfcRelAssignsToProcess::list::ptr Ifc4x3_add2::IfcTypeProcess::OperatesOn() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[905], 6)->as(); } @@ -17611,12 +17611,12 @@ void Ifc4x3_add2::IfcTypeProcess::setProcessType(boost::optional< std::string > const IfcParse::entity& Ifc4x3_add2::IfcTypeProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1242]); } const IfcParse::entity& Ifc4x3_add2::IfcTypeProcess::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1242]); } Ifc4x3_add2::IfcTypeProcess::IfcTypeProcess(IfcEntityInstanceData&& e) : IfcTypeObject(std::move(e)) { } -Ifc4x3_add2::IfcTypeProcess::IfcTypeProcess(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType) : IfcTypeObject(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }; populate_derived(); } +Ifc4x3_add2::IfcTypeProcess::IfcTypeProcess(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType) : IfcTypeObject(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }; populate_derived(); } // Function implementations for IfcTypeProduct -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > Ifc4x3_add2::IfcTypeProduct::RepresentationMaps() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3_add2::IfcRepresentationMap >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > Ifc4x3_add2::IfcTypeProduct::RepresentationMaps() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3_add2::IfcRepresentationMap >(); } void Ifc4x3_add2::IfcTypeProduct::setRepresentationMaps(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_add2::IfcTypeProduct::Tag() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTypeProduct::Tag() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcTypeProduct::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } ::Ifc4x3_add2::IfcRelAssignsToProduct::list::ptr Ifc4x3_add2::IfcTypeProduct::ReferencedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[906], 6)->as(); } @@ -17624,14 +17624,14 @@ void Ifc4x3_add2::IfcTypeProduct::setTag(boost::optional< std::string > v) { if const IfcParse::entity& Ifc4x3_add2::IfcTypeProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1243]); } const IfcParse::entity& Ifc4x3_add2::IfcTypeProduct::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1243]); } Ifc4x3_add2::IfcTypeProduct::IfcTypeProduct(IfcEntityInstanceData&& e) : IfcTypeObject(std::move(e)) { } -Ifc4x3_add2::IfcTypeProduct::IfcTypeProduct(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag) : IfcTypeObject(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_add2::IfcTypeProduct::IfcTypeProduct(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag) : IfcTypeObject(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcTypeResource -boost::optional< std::string > Ifc4x3_add2::IfcTypeResource::Identification() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTypeResource::Identification() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcTypeResource::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_add2::IfcTypeResource::LongDescription() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTypeResource::LongDescription() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcTypeResource::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_add2::IfcTypeResource::ResourceType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcTypeResource::ResourceType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcTypeResource::setResourceType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } ::Ifc4x3_add2::IfcRelAssignsToResource::list::ptr Ifc4x3_add2::IfcTypeResource::ResourceOf() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_ADD2_types[907], 6)->as(); } @@ -17639,131 +17639,131 @@ void Ifc4x3_add2::IfcTypeResource::setResourceType(boost::optional< std::string const IfcParse::entity& Ifc4x3_add2::IfcTypeResource::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1244]); } const IfcParse::entity& Ifc4x3_add2::IfcTypeResource::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1244]); } Ifc4x3_add2::IfcTypeResource::IfcTypeResource(IfcEntityInstanceData&& e) : IfcTypeObject(std::move(e)) { } -Ifc4x3_add2::IfcTypeResource::IfcTypeResource(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType) : IfcTypeObject(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); }; populate_derived(); } +Ifc4x3_add2::IfcTypeResource::IfcTypeResource(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType) : IfcTypeObject(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); }; populate_derived(); } // Function implementations for IfcUShapeProfileDef -double Ifc4x3_add2::IfcUShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add2::IfcUShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcUShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_add2::IfcUShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add2::IfcUShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcUShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_add2::IfcUShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_add2::IfcUShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcUShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_add2::IfcUShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_add2::IfcUShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcUShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_add2::IfcUShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add2::IfcUShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcUShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_add2::IfcUShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_add2::IfcUShapeProfileDef::EdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcUShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_add2::IfcUShapeProfileDef::FlangeSlope() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_add2::IfcUShapeProfileDef::FlangeSlope() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_add2::IfcUShapeProfileDef::setFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_add2::IfcUShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1255]); } const IfcParse::entity& Ifc4x3_add2::IfcUShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1255]); } Ifc4x3_add2::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_add2::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::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(storage_t(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } +Ifc4x3_add2::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::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(in_memory_attribute_storage(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } // Function implementations for IfcUnitAssignment -aggregate_of< ::Ifc4x3_add2::IfcUnit >::ptr Ifc4x3_add2::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcUnit >(); } +aggregate_of< ::Ifc4x3_add2::IfcUnit >::ptr Ifc4x3_add2::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcUnit >(); } void Ifc4x3_add2::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x3_add2::IfcUnit >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add2::IfcUnitAssignment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1252]); } const IfcParse::entity& Ifc4x3_add2::IfcUnitAssignment::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1252]); } Ifc4x3_add2::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3_add2::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Units)->generalize());; populate_derived(); } +Ifc4x3_add2::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3_add2::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Units)->generalize());; populate_derived(); } // Function implementations for IfcUnitaryControlElement -boost::optional< ::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_add2::IfcUnitaryControlElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_add2::IfcUnitaryControlElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcUnitaryControlElement::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcUnitaryControlElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1246]); } const IfcParse::entity& Ifc4x3_add2::IfcUnitaryControlElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1246]); } Ifc4x3_add2::IfcUnitaryControlElement::IfcUnitaryControlElement(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_add2::IfcUnitaryControlElement::IfcUnitaryControlElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcUnitaryControlElement::IfcUnitaryControlElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcUnitaryControlElementType -::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Value Ifc4x3_add2::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Value Ifc4x3_add2::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcUnitaryControlElementType::setPredefinedType(::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcUnitaryControlElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1247]); } const IfcParse::entity& Ifc4x3_add2::IfcUnitaryControlElementType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1247]); } Ifc4x3_add2::IfcUnitaryControlElementType::IfcUnitaryControlElementType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_add2::IfcUnitaryControlElementType::IfcUnitaryControlElementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcUnitaryControlElementType::IfcUnitaryControlElementType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcUnitaryEquipment -boost::optional< ::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x3_add2::IfcUnitaryEquipment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x3_add2::IfcUnitaryEquipment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcUnitaryEquipment::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcUnitaryEquipment::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1249]); } const IfcParse::entity& Ifc4x3_add2::IfcUnitaryEquipment::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1249]); } Ifc4x3_add2::IfcUnitaryEquipment::IfcUnitaryEquipment(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_add2::IfcUnitaryEquipment::IfcUnitaryEquipment(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcUnitaryEquipment::IfcUnitaryEquipment(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcUnitaryEquipmentType -::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3_add2::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3_add2::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcUnitaryEquipmentType::setPredefinedType(::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcUnitaryEquipmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1250]); } const IfcParse::entity& Ifc4x3_add2::IfcUnitaryEquipmentType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1250]); } Ifc4x3_add2::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_add2::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcValve -boost::optional< ::Ifc4x3_add2::IfcValveTypeEnum::Value > Ifc4x3_add2::IfcValve::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcValveTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcValveTypeEnum::Value > Ifc4x3_add2::IfcValve::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcValveTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcValve::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcValveTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcValveTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcValve::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1257]); } const IfcParse::entity& Ifc4x3_add2::IfcValve::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1257]); } Ifc4x3_add2::IfcValve::IfcValve(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_add2::IfcValve::IfcValve(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcValveTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcValve::IfcValve(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcValveTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcValveType -::Ifc4x3_add2::IfcValveTypeEnum::Value Ifc4x3_add2::IfcValveType::PredefinedType() const { return ::Ifc4x3_add2::IfcValveTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcValveTypeEnum::Value Ifc4x3_add2::IfcValveType::PredefinedType() const { return ::Ifc4x3_add2::IfcValveTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcValveType::setPredefinedType(::Ifc4x3_add2::IfcValveTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcValveTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcValveType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1258]); } const IfcParse::entity& Ifc4x3_add2::IfcValveType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1258]); } Ifc4x3_add2::IfcValveType::IfcValveType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_add2::IfcValveType::IfcValveType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcValveTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcValveType::IfcValveType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcValveTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcVector -::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcDirection>(true); } +::Ifc4x3_add2::IfcDirection* Ifc4x3_add2::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcDirection>(true); } void Ifc4x3_add2::IfcVector::setOrientation(::Ifc4x3_add2::IfcDirection* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_add2::IfcVector::Magnitude() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_add2::IfcVector::Magnitude() const { double v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcVector::setMagnitude(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcVector::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1261]); } const IfcParse::entity& Ifc4x3_add2::IfcVector::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1261]); } Ifc4x3_add2::IfcVector::IfcVector(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcVector::IfcVector(::Ifc4x3_add2::IfcDirection* v1_Orientation, double v2_Magnitude) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Orientation ? v1_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Magnitude));; populate_derived(); } +Ifc4x3_add2::IfcVector::IfcVector(::Ifc4x3_add2::IfcDirection* v1_Orientation, double v2_Magnitude) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Orientation ? v1_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Magnitude));; populate_derived(); } // Function implementations for IfcVehicle -boost::optional< ::Ifc4x3_add2::IfcVehicleTypeEnum::Value > Ifc4x3_add2::IfcVehicle::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcVehicleTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcVehicleTypeEnum::Value > Ifc4x3_add2::IfcVehicle::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcVehicleTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcVehicle::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcVehicleTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcVehicleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcVehicle::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1263]); } const IfcParse::entity& Ifc4x3_add2::IfcVehicle::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1263]); } Ifc4x3_add2::IfcVehicle::IfcVehicle(IfcEntityInstanceData&& e) : IfcTransportationDevice(std::move(e)) { } -Ifc4x3_add2::IfcVehicle::IfcVehicle(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcVehicleTypeEnum::Value > v9_PredefinedType) : IfcTransportationDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcVehicleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcVehicle::IfcVehicle(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcVehicleTypeEnum::Value > v9_PredefinedType) : IfcTransportationDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcVehicleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcVehicleType -::Ifc4x3_add2::IfcVehicleTypeEnum::Value Ifc4x3_add2::IfcVehicleType::PredefinedType() const { return ::Ifc4x3_add2::IfcVehicleTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcVehicleTypeEnum::Value Ifc4x3_add2::IfcVehicleType::PredefinedType() const { return ::Ifc4x3_add2::IfcVehicleTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcVehicleType::setPredefinedType(::Ifc4x3_add2::IfcVehicleTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcVehicleTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcVehicleType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1264]); } const IfcParse::entity& Ifc4x3_add2::IfcVehicleType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1264]); } Ifc4x3_add2::IfcVehicleType::IfcVehicleType(IfcEntityInstanceData&& e) : IfcTransportationDeviceType(std::move(e)) { } -Ifc4x3_add2::IfcVehicleType::IfcVehicleType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcVehicleTypeEnum::Value v10_PredefinedType) : IfcTransportationDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcVehicleTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcVehicleType::IfcVehicleType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcVehicleTypeEnum::Value v10_PredefinedType) : IfcTransportationDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcVehicleTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcVertex @@ -17771,109 +17771,109 @@ Ifc4x3_add2::IfcVehicleType::IfcVehicleType(std::string v1_GlobalId, ::Ifc4x3_ad const IfcParse::entity& Ifc4x3_add2::IfcVertex::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1266]); } const IfcParse::entity& Ifc4x3_add2::IfcVertex::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1266]); } Ifc4x3_add2::IfcVertex::IfcVertex(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_add2::IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_add2::IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcVertexLoop -::Ifc4x3_add2::IfcVertex* Ifc4x3_add2::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcVertex>(true); } +::Ifc4x3_add2::IfcVertex* Ifc4x3_add2::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcVertex>(true); } void Ifc4x3_add2::IfcVertexLoop::setLoopVertex(::Ifc4x3_add2::IfcVertex* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add2::IfcVertexLoop::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1267]); } const IfcParse::entity& Ifc4x3_add2::IfcVertexLoop::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1267]); } Ifc4x3_add2::IfcVertexLoop::IfcVertexLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc4x3_add2::IfcVertexLoop::IfcVertexLoop(::Ifc4x3_add2::IfcVertex* v1_LoopVertex) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_LoopVertex ? v1_LoopVertex->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcVertexLoop::IfcVertexLoop(::Ifc4x3_add2::IfcVertex* v1_LoopVertex) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_LoopVertex ? v1_LoopVertex->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcVertexPoint -::Ifc4x3_add2::IfcPoint* Ifc4x3_add2::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_add2::IfcPoint>(true); } +::Ifc4x3_add2::IfcPoint* Ifc4x3_add2::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_add2::IfcPoint>(true); } void Ifc4x3_add2::IfcVertexPoint::setVertexGeometry(::Ifc4x3_add2::IfcPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_add2::IfcVertexPoint::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1268]); } const IfcParse::entity& Ifc4x3_add2::IfcVertexPoint::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1268]); } Ifc4x3_add2::IfcVertexPoint::IfcVertexPoint(IfcEntityInstanceData&& e) : IfcVertex(std::move(e)) { } -Ifc4x3_add2::IfcVertexPoint::IfcVertexPoint(::Ifc4x3_add2::IfcPoint* v1_VertexGeometry) : IfcVertex(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_VertexGeometry ? v1_VertexGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcVertexPoint::IfcVertexPoint(::Ifc4x3_add2::IfcPoint* v1_VertexGeometry) : IfcVertex(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_VertexGeometry ? v1_VertexGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcVibrationDamper -boost::optional< ::Ifc4x3_add2::IfcVibrationDamperTypeEnum::Value > Ifc4x3_add2::IfcVibrationDamper::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcVibrationDamperTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcVibrationDamperTypeEnum::Value > Ifc4x3_add2::IfcVibrationDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcVibrationDamperTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcVibrationDamper::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcVibrationDamperTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcVibrationDamperTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcVibrationDamper::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1269]); } const IfcParse::entity& Ifc4x3_add2::IfcVibrationDamper::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1269]); } Ifc4x3_add2::IfcVibrationDamper::IfcVibrationDamper(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_add2::IfcVibrationDamper::IfcVibrationDamper(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcVibrationDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcVibrationDamper::IfcVibrationDamper(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcVibrationDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcVibrationDamperType -::Ifc4x3_add2::IfcVibrationDamperTypeEnum::Value Ifc4x3_add2::IfcVibrationDamperType::PredefinedType() const { return ::Ifc4x3_add2::IfcVibrationDamperTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcVibrationDamperTypeEnum::Value Ifc4x3_add2::IfcVibrationDamperType::PredefinedType() const { return ::Ifc4x3_add2::IfcVibrationDamperTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcVibrationDamperType::setPredefinedType(::Ifc4x3_add2::IfcVibrationDamperTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcVibrationDamperTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcVibrationDamperType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1270]); } const IfcParse::entity& Ifc4x3_add2::IfcVibrationDamperType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1270]); } Ifc4x3_add2::IfcVibrationDamperType::IfcVibrationDamperType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_add2::IfcVibrationDamperType::IfcVibrationDamperType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcVibrationDamperTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcVibrationDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcVibrationDamperType::IfcVibrationDamperType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcVibrationDamperTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcVibrationDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcVibrationIsolator -boost::optional< ::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Value > Ifc4x3_add2::IfcVibrationIsolator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Value > Ifc4x3_add2::IfcVibrationIsolator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcVibrationIsolator::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcVibrationIsolator::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1272]); } const IfcParse::entity& Ifc4x3_add2::IfcVibrationIsolator::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1272]); } Ifc4x3_add2::IfcVibrationIsolator::IfcVibrationIsolator(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_add2::IfcVibrationIsolator::IfcVibrationIsolator(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcVibrationIsolator::IfcVibrationIsolator(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcVibrationIsolatorType -::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Value Ifc4x3_add2::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Value Ifc4x3_add2::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcVibrationIsolatorType::setPredefinedType(::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcVibrationIsolatorType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1273]); } const IfcParse::entity& Ifc4x3_add2::IfcVibrationIsolatorType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1273]); } Ifc4x3_add2::IfcVibrationIsolatorType::IfcVibrationIsolatorType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_add2::IfcVibrationIsolatorType::IfcVibrationIsolatorType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcVibrationIsolatorType::IfcVibrationIsolatorType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcVirtualElement -boost::optional< ::Ifc4x3_add2::IfcVirtualElementTypeEnum::Value > Ifc4x3_add2::IfcVirtualElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcVirtualElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcVirtualElementTypeEnum::Value > Ifc4x3_add2::IfcVirtualElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcVirtualElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcVirtualElement::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcVirtualElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcVirtualElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcVirtualElement::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1275]); } const IfcParse::entity& Ifc4x3_add2::IfcVirtualElement::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1275]); } Ifc4x3_add2::IfcVirtualElement::IfcVirtualElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_add2::IfcVirtualElement::IfcVirtualElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcVirtualElementTypeEnum::Value > v9_PredefinedType) : IfcElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcVirtualElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcVirtualElement::IfcVirtualElement(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcVirtualElementTypeEnum::Value > v9_PredefinedType) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcVirtualElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcVirtualGridIntersection -aggregate_of< ::Ifc4x3_add2::IfcGridAxis >::ptr Ifc4x3_add2::IfcVirtualGridIntersection::IntersectingAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcGridAxis >(); } +aggregate_of< ::Ifc4x3_add2::IfcGridAxis >::ptr Ifc4x3_add2::IfcVirtualGridIntersection::IntersectingAxes() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_add2::IfcGridAxis >(); } void Ifc4x3_add2::IfcVirtualGridIntersection::setIntersectingAxes(aggregate_of< ::Ifc4x3_add2::IfcGridAxis >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -std::vector< double > /*[2:3]*/ Ifc4x3_add2::IfcVirtualGridIntersection::OffsetDistances() const { std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(1); return v; } +std::vector< double > /*[2:3]*/ Ifc4x3_add2::IfcVirtualGridIntersection::OffsetDistances() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } void Ifc4x3_add2::IfcVirtualGridIntersection::setOffsetDistances(std::vector< double > /*[2:3]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcVirtualGridIntersection::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1277]); } const IfcParse::entity& Ifc4x3_add2::IfcVirtualGridIntersection::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1277]); } Ifc4x3_add2::IfcVirtualGridIntersection::IfcVirtualGridIntersection(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcVirtualGridIntersection::IfcVirtualGridIntersection(aggregate_of< ::Ifc4x3_add2::IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_IntersectingAxes)->generalize());set_attribute_value(1, (v2_OffsetDistances));; populate_derived(); } +Ifc4x3_add2::IfcVirtualGridIntersection::IfcVirtualGridIntersection(aggregate_of< ::Ifc4x3_add2::IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_IntersectingAxes)->generalize());set_attribute_value(1, (v2_OffsetDistances));; populate_derived(); } // Function implementations for IfcVoidingFeature -boost::optional< ::Ifc4x3_add2::IfcVoidingFeatureTypeEnum::Value > Ifc4x3_add2::IfcVoidingFeature::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcVoidingFeatureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcVoidingFeatureTypeEnum::Value > Ifc4x3_add2::IfcVoidingFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcVoidingFeatureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcVoidingFeature::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcVoidingFeatureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcVoidingFeatureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcVoidingFeature::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1278]); } const IfcParse::entity& Ifc4x3_add2::IfcVoidingFeature::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1278]); } Ifc4x3_add2::IfcVoidingFeature::IfcVoidingFeature(IfcEntityInstanceData&& e) : IfcFeatureElementSubtraction(std::move(e)) { } -Ifc4x3_add2::IfcVoidingFeature::IfcVoidingFeature(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcVoidingFeature::IfcVoidingFeature(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWall -boost::optional< ::Ifc4x3_add2::IfcWallTypeEnum::Value > Ifc4x3_add2::IfcWall::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcWallTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcWallTypeEnum::Value > Ifc4x3_add2::IfcWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcWallTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcWall::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcWallTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcWallTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcWall::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1282]); } const IfcParse::entity& Ifc4x3_add2::IfcWall::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1282]); } Ifc4x3_add2::IfcWall::IfcWall(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add2::IfcWall::IfcWall(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcWall::IfcWall(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWallStandardCase @@ -17881,231 +17881,231 @@ Ifc4x3_add2::IfcWall::IfcWall(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHi const IfcParse::entity& Ifc4x3_add2::IfcWallStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1283]); } const IfcParse::entity& Ifc4x3_add2::IfcWallStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1283]); } Ifc4x3_add2::IfcWallStandardCase::IfcWallStandardCase(IfcEntityInstanceData&& e) : IfcWall(std::move(e)) { } -Ifc4x3_add2::IfcWallStandardCase::IfcWallStandardCase(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcWall(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcWallStandardCase::IfcWallStandardCase(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcWall(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWallType -::Ifc4x3_add2::IfcWallTypeEnum::Value Ifc4x3_add2::IfcWallType::PredefinedType() const { return ::Ifc4x3_add2::IfcWallTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcWallTypeEnum::Value Ifc4x3_add2::IfcWallType::PredefinedType() const { return ::Ifc4x3_add2::IfcWallTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcWallType::setPredefinedType(::Ifc4x3_add2::IfcWallTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcWallTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcWallType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1284]); } const IfcParse::entity& Ifc4x3_add2::IfcWallType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1284]); } Ifc4x3_add2::IfcWallType::IfcWallType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add2::IfcWallType::IfcWallType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcWallTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcWallType::IfcWallType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcWallTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcWasteTerminal -boost::optional< ::Ifc4x3_add2::IfcWasteTerminalTypeEnum::Value > Ifc4x3_add2::IfcWasteTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcWasteTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcWasteTerminalTypeEnum::Value > Ifc4x3_add2::IfcWasteTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcWasteTerminal::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcWasteTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcWasteTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcWasteTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1289]); } const IfcParse::entity& Ifc4x3_add2::IfcWasteTerminal::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1289]); } Ifc4x3_add2::IfcWasteTerminal::IfcWasteTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_add2::IfcWasteTerminal::IfcWasteTerminal(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcWasteTerminal::IfcWasteTerminal(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_add2::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWasteTerminalType -::Ifc4x3_add2::IfcWasteTerminalTypeEnum::Value Ifc4x3_add2::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4x3_add2::IfcWasteTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcWasteTerminalTypeEnum::Value Ifc4x3_add2::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4x3_add2::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcWasteTerminalType::setPredefinedType(::Ifc4x3_add2::IfcWasteTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcWasteTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_add2::IfcWasteTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1290]); } const IfcParse::entity& Ifc4x3_add2::IfcWasteTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1290]); } Ifc4x3_add2::IfcWasteTerminalType::IfcWasteTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_add2::IfcWasteTerminalType::IfcWasteTerminalType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_add2::IfcWasteTerminalType::IfcWasteTerminalType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcWellKnownText -std::string Ifc4x3_add2::IfcWellKnownText::WellKnownText() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_add2::IfcWellKnownText::WellKnownText() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_add2::IfcWellKnownText::setWellKnownText(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_add2::IfcCoordinateReferenceSystem* Ifc4x3_add2::IfcWellKnownText::CoordinateReferenceSystem() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_add2::IfcCoordinateReferenceSystem>(true); } +::Ifc4x3_add2::IfcCoordinateReferenceSystem* Ifc4x3_add2::IfcWellKnownText::CoordinateReferenceSystem() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_add2::IfcCoordinateReferenceSystem>(true); } void Ifc4x3_add2::IfcWellKnownText::setCoordinateReferenceSystem(::Ifc4x3_add2::IfcCoordinateReferenceSystem* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_add2::IfcWellKnownText::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1292]); } const IfcParse::entity& Ifc4x3_add2::IfcWellKnownText::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1292]); } Ifc4x3_add2::IfcWellKnownText::IfcWellKnownText(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_add2::IfcWellKnownText::IfcWellKnownText(std::string v1_WellKnownText, ::Ifc4x3_add2::IfcCoordinateReferenceSystem* v2_CoordinateReferenceSystem) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_WellKnownText));set_attribute_value(1, v2_CoordinateReferenceSystem ? v2_CoordinateReferenceSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcWellKnownText::IfcWellKnownText(std::string v1_WellKnownText, ::Ifc4x3_add2::IfcCoordinateReferenceSystem* v2_CoordinateReferenceSystem) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_WellKnownText));set_attribute_value(1, v2_CoordinateReferenceSystem ? v2_CoordinateReferenceSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcWindow -boost::optional< double > Ifc4x3_add2::IfcWindow::OverallHeight() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_add2::IfcWindow::OverallHeight() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcWindow::setOverallHeight(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_add2::IfcWindow::OverallWidth() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_add2::IfcWindow::OverallWidth() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_add2::IfcWindow::setOverallWidth(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x3_add2::IfcWindowTypeEnum::Value > Ifc4x3_add2::IfcWindow::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcWindowTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_add2::IfcWindowTypeEnum::Value > Ifc4x3_add2::IfcWindow::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcWindowTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add2::IfcWindow::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcWindowTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_add2::IfcWindowTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -boost::optional< ::Ifc4x3_add2::IfcWindowTypePartitioningEnum::Value > Ifc4x3_add2::IfcWindow::PartitioningType() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcWindowTypePartitioningEnum::FromString(data_.get_attribute_value(11)); } +boost::optional< ::Ifc4x3_add2::IfcWindowTypePartitioningEnum::Value > Ifc4x3_add2::IfcWindow::PartitioningType() const { if(get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcWindowTypePartitioningEnum::FromString(get_attribute_value(11)); } void Ifc4x3_add2::IfcWindow::setPartitioningType(boost::optional< ::Ifc4x3_add2::IfcWindowTypePartitioningEnum::Value > v) { if (v) {set_attribute_value(11, EnumerationReference(&::Ifc4x3_add2::IfcWindowTypePartitioningEnum::Class(), (size_t) *v));} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_add2::IfcWindow::UserDefinedPartitioningType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcWindow::UserDefinedPartitioningType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_add2::IfcWindow::setUserDefinedPartitioningType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_add2::IfcWindow::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1294]); } const IfcParse::entity& Ifc4x3_add2::IfcWindow::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1294]); } Ifc4x3_add2::IfcWindow::IfcWindow(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_add2::IfcWindow::IfcWindow(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_add2::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_add2::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add2::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } +Ifc4x3_add2::IfcWindow::IfcWindow(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_add2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_add2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_add2::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_add2::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_add2::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } // Function implementations for IfcWindowLiningProperties -boost::optional< double > Ifc4x3_add2::IfcWindowLiningProperties::LiningDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_add2::IfcWindowLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcWindowLiningProperties::setLiningDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_add2::IfcWindowLiningProperties::LiningThickness() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_add2::IfcWindowLiningProperties::LiningThickness() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcWindowLiningProperties::setLiningThickness(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_add2::IfcWindowLiningProperties::TransomThickness() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_add2::IfcWindowLiningProperties::TransomThickness() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcWindowLiningProperties::setTransomThickness(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_add2::IfcWindowLiningProperties::MullionThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add2::IfcWindowLiningProperties::MullionThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcWindowLiningProperties::setMullionThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_add2::IfcWindowLiningProperties::FirstTransomOffset() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_add2::IfcWindowLiningProperties::FirstTransomOffset() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcWindowLiningProperties::setFirstTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_add2::IfcWindowLiningProperties::SecondTransomOffset() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_add2::IfcWindowLiningProperties::SecondTransomOffset() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_add2::IfcWindowLiningProperties::setSecondTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_add2::IfcWindowLiningProperties::FirstMullionOffset() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_add2::IfcWindowLiningProperties::FirstMullionOffset() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_add2::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_add2::IfcWindowLiningProperties::SecondMullionOffset() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_add2::IfcWindowLiningProperties::SecondMullionOffset() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_add2::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -::Ifc4x3_add2::IfcShapeAspect* Ifc4x3_add2::IfcWindowLiningProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(12).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(12)))->as<::Ifc4x3_add2::IfcShapeAspect>(true); } +::Ifc4x3_add2::IfcShapeAspect* Ifc4x3_add2::IfcWindowLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(12).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(12)))->as<::Ifc4x3_add2::IfcShapeAspect>(true); } void Ifc4x3_add2::IfcWindowLiningProperties::setShapeAspectStyle(::Ifc4x3_add2::IfcShapeAspect* v) { set_attribute_value(12, v->as());if constexpr (false)unset_attribute_value(12); } -boost::optional< double > Ifc4x3_add2::IfcWindowLiningProperties::LiningOffset() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_add2::IfcWindowLiningProperties::LiningOffset() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_add2::IfcWindowLiningProperties::setLiningOffset(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3_add2::IfcWindowLiningProperties::LiningToPanelOffsetX() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3_add2::IfcWindowLiningProperties::LiningToPanelOffsetX() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3_add2::IfcWindowLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x3_add2::IfcWindowLiningProperties::LiningToPanelOffsetY() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3_add2::IfcWindowLiningProperties::LiningToPanelOffsetY() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3_add2::IfcWindowLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } const IfcParse::entity& Ifc4x3_add2::IfcWindowLiningProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1295]); } const IfcParse::entity& Ifc4x3_add2::IfcWindowLiningProperties::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1295]); } Ifc4x3_add2::IfcWindowLiningProperties::IfcWindowLiningProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_add2::IfcWindowLiningProperties::IfcWindowLiningProperties(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcShapeAspect* v13_ShapeAspectStyle, boost::optional< double > v14_LiningOffset, boost::optional< double > v15_LiningToPanelOffsetX, boost::optional< double > v16_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, v13_ShapeAspectStyle ? v13_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); }; populate_derived(); } +Ifc4x3_add2::IfcWindowLiningProperties::IfcWindowLiningProperties(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcShapeAspect* v13_ShapeAspectStyle, boost::optional< double > v14_LiningOffset, boost::optional< double > v15_LiningToPanelOffsetX, boost::optional< double > v16_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, v13_ShapeAspectStyle ? v13_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); }; populate_derived(); } // Function implementations for IfcWindowPanelProperties -::Ifc4x3_add2::IfcWindowPanelOperationEnum::Value Ifc4x3_add2::IfcWindowPanelProperties::OperationType() const { return ::Ifc4x3_add2::IfcWindowPanelOperationEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x3_add2::IfcWindowPanelOperationEnum::Value Ifc4x3_add2::IfcWindowPanelProperties::OperationType() const { return ::Ifc4x3_add2::IfcWindowPanelOperationEnum::FromString(get_attribute_value(4)); } void Ifc4x3_add2::IfcWindowPanelProperties::setOperationType(::Ifc4x3_add2::IfcWindowPanelOperationEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3_add2::IfcWindowPanelOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_add2::IfcWindowPanelPositionEnum::Value Ifc4x3_add2::IfcWindowPanelProperties::PanelPosition() const { return ::Ifc4x3_add2::IfcWindowPanelPositionEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_add2::IfcWindowPanelPositionEnum::Value Ifc4x3_add2::IfcWindowPanelProperties::PanelPosition() const { return ::Ifc4x3_add2::IfcWindowPanelPositionEnum::FromString(get_attribute_value(5)); } void Ifc4x3_add2::IfcWindowPanelProperties::setPanelPosition(::Ifc4x3_add2::IfcWindowPanelPositionEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_add2::IfcWindowPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_add2::IfcWindowPanelProperties::FrameDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_add2::IfcWindowPanelProperties::FrameDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_add2::IfcWindowPanelProperties::FrameThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add2::IfcWindowPanelProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_add2::IfcShapeAspect* Ifc4x3_add2::IfcWindowPanelProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_add2::IfcShapeAspect>(true); } +::Ifc4x3_add2::IfcShapeAspect* Ifc4x3_add2::IfcWindowPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_add2::IfcShapeAspect>(true); } void Ifc4x3_add2::IfcWindowPanelProperties::setShapeAspectStyle(::Ifc4x3_add2::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_add2::IfcWindowPanelProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1298]); } const IfcParse::entity& Ifc4x3_add2::IfcWindowPanelProperties::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1298]); } Ifc4x3_add2::IfcWindowPanelProperties::IfcWindowPanelProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_add2::IfcWindowPanelProperties::IfcWindowPanelProperties(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_add2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x3_add2::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add2::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add2::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_add2::IfcWindowPanelProperties::IfcWindowPanelProperties(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_add2::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_add2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x3_add2::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x3_add2::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_add2::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcWindowType -::Ifc4x3_add2::IfcWindowTypeEnum::Value Ifc4x3_add2::IfcWindowType::PredefinedType() const { return ::Ifc4x3_add2::IfcWindowTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_add2::IfcWindowTypeEnum::Value Ifc4x3_add2::IfcWindowType::PredefinedType() const { return ::Ifc4x3_add2::IfcWindowTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_add2::IfcWindowType::setPredefinedType(::Ifc4x3_add2::IfcWindowTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_add2::IfcWindowTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_add2::IfcWindowTypePartitioningEnum::Value Ifc4x3_add2::IfcWindowType::PartitioningType() const { return ::Ifc4x3_add2::IfcWindowTypePartitioningEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3_add2::IfcWindowTypePartitioningEnum::Value Ifc4x3_add2::IfcWindowType::PartitioningType() const { return ::Ifc4x3_add2::IfcWindowTypePartitioningEnum::FromString(get_attribute_value(10)); } void Ifc4x3_add2::IfcWindowType::setPartitioningType(::Ifc4x3_add2::IfcWindowTypePartitioningEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3_add2::IfcWindowTypePartitioningEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } -boost::optional< bool > Ifc4x3_add2::IfcWindowType::ParameterTakesPrecedence() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } bool v = data_.get_attribute_value(11); return v; } +boost::optional< bool > Ifc4x3_add2::IfcWindowType::ParameterTakesPrecedence() const { if(get_attribute_value(11).isNull()) { return boost::none; } bool v = get_attribute_value(11); return v; } void Ifc4x3_add2::IfcWindowType::setParameterTakesPrecedence(boost::optional< bool > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_add2::IfcWindowType::UserDefinedPartitioningType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcWindowType::UserDefinedPartitioningType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_add2::IfcWindowType::setUserDefinedPartitioningType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_add2::IfcWindowType::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1299]); } const IfcParse::entity& Ifc4x3_add2::IfcWindowType::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1299]); } Ifc4x3_add2::IfcWindowType::IfcWindowType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_add2::IfcWindowType::IfcWindowType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add2::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } +Ifc4x3_add2::IfcWindowType::IfcWindowType(std::string v1_GlobalId, ::Ifc4x3_add2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_add2::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_add2::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_add2::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_add2::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } // Function implementations for IfcWorkCalendar -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcWorkTime >::ptr > Ifc4x3_add2::IfcWorkCalendar::WorkingTimes() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3_add2::IfcWorkTime >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcWorkTime >::ptr > Ifc4x3_add2::IfcWorkCalendar::WorkingTimes() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3_add2::IfcWorkTime >(); } void Ifc4x3_add2::IfcWorkCalendar::setWorkingTimes(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcWorkTime >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcWorkTime >::ptr > Ifc4x3_add2::IfcWorkCalendar::ExceptionTimes() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_add2::IfcWorkTime >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcWorkTime >::ptr > Ifc4x3_add2::IfcWorkCalendar::ExceptionTimes() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_add2::IfcWorkTime >(); } void Ifc4x3_add2::IfcWorkCalendar::setExceptionTimes(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcWorkTime >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3_add2::IfcWorkCalendarTypeEnum::Value > Ifc4x3_add2::IfcWorkCalendar::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcWorkCalendarTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_add2::IfcWorkCalendarTypeEnum::Value > Ifc4x3_add2::IfcWorkCalendar::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcWorkCalendarTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_add2::IfcWorkCalendar::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcWorkCalendarTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_add2::IfcWorkCalendarTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcWorkCalendar::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1302]); } const IfcParse::entity& Ifc4x3_add2::IfcWorkCalendar::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1302]); } Ifc4x3_add2::IfcWorkCalendar::IfcWorkCalendar(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_add2::IfcWorkCalendar::IfcWorkCalendar(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcWorkTime >::ptr > v7_WorkingTimes, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcWorkTime >::ptr > v8_ExceptionTimes, boost::optional< ::Ifc4x3_add2::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, (*v7_WorkingTimes)->generalize()); } if (v8_ExceptionTimes) {set_attribute_value(7, (*v8_ExceptionTimes)->generalize()); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcWorkCalendar::IfcWorkCalendar(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::IfcWorkTime >::ptr > v7_WorkingTimes, boost::optional< aggregate_of< ::Ifc4x3_add2::IfcWorkTime >::ptr > v8_ExceptionTimes, boost::optional< ::Ifc4x3_add2::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, (*v7_WorkingTimes)->generalize()); } if (v8_ExceptionTimes) {set_attribute_value(7, (*v8_ExceptionTimes)->generalize()); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_add2::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWorkControl -std::string Ifc4x3_add2::IfcWorkControl::CreationDate() const { std::string v = data_.get_attribute_value(6); return v; } +std::string Ifc4x3_add2::IfcWorkControl::CreationDate() const { std::string v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcWorkControl::setCreationDate(std::string v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPerson >::ptr > Ifc4x3_add2::IfcWorkControl::Creators() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_add2::IfcPerson >(); } +boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPerson >::ptr > Ifc4x3_add2::IfcWorkControl::Creators() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_add2::IfcPerson >(); } void Ifc4x3_add2::IfcWorkControl::setCreators(boost::optional< aggregate_of< ::Ifc4x3_add2::IfcPerson >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_add2::IfcWorkControl::Purpose() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcWorkControl::Purpose() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcWorkControl::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_add2::IfcWorkControl::Duration() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcWorkControl::Duration() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_add2::IfcWorkControl::setDuration(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x3_add2::IfcWorkControl::TotalFloat() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcWorkControl::TotalFloat() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_add2::IfcWorkControl::setTotalFloat(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -std::string Ifc4x3_add2::IfcWorkControl::StartTime() const { std::string v = data_.get_attribute_value(11); return v; } +std::string Ifc4x3_add2::IfcWorkControl::StartTime() const { std::string v = get_attribute_value(11); return v; } void Ifc4x3_add2::IfcWorkControl::setStartTime(std::string v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } -boost::optional< std::string > Ifc4x3_add2::IfcWorkControl::FinishTime() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcWorkControl::FinishTime() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_add2::IfcWorkControl::setFinishTime(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_add2::IfcWorkControl::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1304]); } const IfcParse::entity& Ifc4x3_add2::IfcWorkControl::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1304]); } Ifc4x3_add2::IfcWorkControl::IfcWorkControl(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_add2::IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::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(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); }; populate_derived(); } +Ifc4x3_add2::IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::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(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); }; populate_derived(); } // Function implementations for IfcWorkPlan -boost::optional< ::Ifc4x3_add2::IfcWorkPlanTypeEnum::Value > Ifc4x3_add2::IfcWorkPlan::PredefinedType() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcWorkPlanTypeEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x3_add2::IfcWorkPlanTypeEnum::Value > Ifc4x3_add2::IfcWorkPlan::PredefinedType() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcWorkPlanTypeEnum::FromString(get_attribute_value(13)); } void Ifc4x3_add2::IfcWorkPlan::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcWorkPlanTypeEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x3_add2::IfcWorkPlanTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } const IfcParse::entity& Ifc4x3_add2::IfcWorkPlan::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1305]); } const IfcParse::entity& Ifc4x3_add2::IfcWorkPlan::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1305]); } Ifc4x3_add2::IfcWorkPlan::IfcWorkPlan(IfcEntityInstanceData&& e) : IfcWorkControl(std::move(e)) { } -Ifc4x3_add2::IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::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_add2::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_add2::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::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_add2::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_add2::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWorkSchedule -boost::optional< ::Ifc4x3_add2::IfcWorkScheduleTypeEnum::Value > Ifc4x3_add2::IfcWorkSchedule::PredefinedType() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcWorkScheduleTypeEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x3_add2::IfcWorkScheduleTypeEnum::Value > Ifc4x3_add2::IfcWorkSchedule::PredefinedType() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_add2::IfcWorkScheduleTypeEnum::FromString(get_attribute_value(13)); } void Ifc4x3_add2::IfcWorkSchedule::setPredefinedType(boost::optional< ::Ifc4x3_add2::IfcWorkScheduleTypeEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x3_add2::IfcWorkScheduleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } const IfcParse::entity& Ifc4x3_add2::IfcWorkSchedule::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1307]); } const IfcParse::entity& Ifc4x3_add2::IfcWorkSchedule::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1307]); } Ifc4x3_add2::IfcWorkSchedule::IfcWorkSchedule(IfcEntityInstanceData&& e) : IfcWorkControl(std::move(e)) { } -Ifc4x3_add2::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::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_add2::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_add2::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } +Ifc4x3_add2::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc4x3_add2::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_add2::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_add2::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_add2::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWorkTime -::Ifc4x3_add2::IfcRecurrencePattern* Ifc4x3_add2::IfcWorkTime::RecurrencePattern() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_add2::IfcRecurrencePattern>(true); } +::Ifc4x3_add2::IfcRecurrencePattern* Ifc4x3_add2::IfcWorkTime::RecurrencePattern() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_add2::IfcRecurrencePattern>(true); } void Ifc4x3_add2::IfcWorkTime::setRecurrencePattern(::Ifc4x3_add2::IfcRecurrencePattern* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_add2::IfcWorkTime::StartDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcWorkTime::StartDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcWorkTime::setStartDate(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_add2::IfcWorkTime::FinishDate() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcWorkTime::FinishDate() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcWorkTime::setFinishDate(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_add2::IfcWorkTime::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1309]); } const IfcParse::entity& Ifc4x3_add2::IfcWorkTime::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1309]); } Ifc4x3_add2::IfcWorkTime::IfcWorkTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x3_add2::IfcWorkTime::IfcWorkTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_add2::IfcRecurrencePattern* v4_RecurrencePattern, boost::optional< std::string > v5_StartDate, boost::optional< std::string > v6_FinishDate) : IfcSchedulingTime(IfcEntityInstanceData(storage_t(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_RecurrencePattern ? v4_RecurrencePattern->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_StartDate) {set_attribute_value(4, (*v5_StartDate)); } if (v6_FinishDate) {set_attribute_value(5, (*v6_FinishDate)); }; populate_derived(); } +Ifc4x3_add2::IfcWorkTime::IfcWorkTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_add2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_add2::IfcRecurrencePattern* v4_RecurrencePattern, boost::optional< std::string > v5_StartDate, boost::optional< std::string > v6_FinishDate) : IfcSchedulingTime(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_add2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_RecurrencePattern ? v4_RecurrencePattern->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_StartDate) {set_attribute_value(4, (*v5_StartDate)); } if (v6_FinishDate) {set_attribute_value(5, (*v6_FinishDate)); }; populate_derived(); } // Function implementations for IfcZShapeProfileDef -double Ifc4x3_add2::IfcZShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_add2::IfcZShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_add2::IfcZShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_add2::IfcZShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_add2::IfcZShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc4x3_add2::IfcZShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_add2::IfcZShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_add2::IfcZShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcZShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_add2::IfcZShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_add2::IfcZShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3_add2::IfcZShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_add2::IfcZShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_add2::IfcZShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_add2::IfcZShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_add2::IfcZShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_add2::IfcZShapeProfileDef::EdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_add2::IfcZShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_add2::IfcZShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1311]); } const IfcParse::entity& Ifc4x3_add2::IfcZShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1311]); } Ifc4x3_add2::IfcZShapeProfileDef::IfcZShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_add2::IfcZShapeProfileDef::IfcZShapeProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::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(storage_t(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; populate_derived(); } +Ifc4x3_add2::IfcZShapeProfileDef::IfcZShapeProfileDef(::Ifc4x3_add2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_add2::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(in_memory_attribute_storage(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_add2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; populate_derived(); } // Function implementations for IfcZone -boost::optional< std::string > Ifc4x3_add2::IfcZone::LongName() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_add2::IfcZone::LongName() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_add2::IfcZone::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_add2::IfcZone::declaration() const { return *((IfcParse::entity*)IFC4X3_ADD2_types[1310]); } const IfcParse::entity& Ifc4x3_add2::IfcZone::Class() { return *((IfcParse::entity*)IFC4X3_ADD2_types[1310]); } Ifc4x3_add2::IfcZone::IfcZone(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3_add2::IfcZone::IfcZone(std::string v1_GlobalId, ::Ifc4x3_add2::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) : IfcSystem(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); }; populate_derived(); } +Ifc4x3_add2::IfcZone::IfcZone(std::string v1_GlobalId, ::Ifc4x3_add2::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) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); }; populate_derived(); } diff --git a/src/ifcparse/Ifc4x3_rc1.cpp b/src/ifcparse/Ifc4x3_rc1.cpp index 7bc947cb98..3a70f8da1a 100644 --- a/src/ifcparse/Ifc4x3_rc1.cpp +++ b/src/ifcparse/Ifc4x3_rc1.cpp @@ -63,7 +63,7 @@ Ifc4x3_rc1::IfcActionRequestTypeEnum::Value Ifc4x3_rc1::IfcActionRequestTypeEnum } Ifc4x3_rc1::IfcActionRequestTypeEnum::operator Ifc4x3_rc1::IfcActionRequestTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcActionRequestTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcActionRequestTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcActionSourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[4]); } @@ -90,7 +90,7 @@ Ifc4x3_rc1::IfcActionSourceTypeEnum::Value Ifc4x3_rc1::IfcActionSourceTypeEnum:: } Ifc4x3_rc1::IfcActionSourceTypeEnum::operator Ifc4x3_rc1::IfcActionSourceTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcActionSourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcActionSourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcActionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[5]); } @@ -117,7 +117,7 @@ Ifc4x3_rc1::IfcActionTypeEnum::Value Ifc4x3_rc1::IfcActionTypeEnum::FromString(c } Ifc4x3_rc1::IfcActionTypeEnum::operator Ifc4x3_rc1::IfcActionTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcActionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcActionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcActuatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[11]); } @@ -144,7 +144,7 @@ Ifc4x3_rc1::IfcActuatorTypeEnum::Value Ifc4x3_rc1::IfcActuatorTypeEnum::FromStri } Ifc4x3_rc1::IfcActuatorTypeEnum::operator Ifc4x3_rc1::IfcActuatorTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcActuatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcActuatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcAddressTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[13]); } @@ -171,7 +171,7 @@ Ifc4x3_rc1::IfcAddressTypeEnum::Value Ifc4x3_rc1::IfcAddressTypeEnum::FromString } Ifc4x3_rc1::IfcAddressTypeEnum::operator Ifc4x3_rc1::IfcAddressTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcAddressTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcAddressTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[20]); } @@ -198,7 +198,7 @@ Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value Ifc4x3_rc1::IfcAirTerminalBoxTypeEn } Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::operator Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcAirTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[22]); } @@ -225,7 +225,7 @@ Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value Ifc4x3_rc1::IfcAirTerminalTypeEnum::Fr } Ifc4x3_rc1::IfcAirTerminalTypeEnum::operator Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[25]); } @@ -252,7 +252,7 @@ Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3_rc1::IfcAirToAirHeatRe } Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::operator Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcAlarmTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[28]); } @@ -279,7 +279,7 @@ Ifc4x3_rc1::IfcAlarmTypeEnum::Value Ifc4x3_rc1::IfcAlarmTypeEnum::FromString(con } Ifc4x3_rc1::IfcAlarmTypeEnum::operator Ifc4x3_rc1::IfcAlarmTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcAlarmTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcAlarmTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcAlignmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[44]); } @@ -306,7 +306,7 @@ Ifc4x3_rc1::IfcAlignmentTypeEnum::Value Ifc4x3_rc1::IfcAlignmentTypeEnum::FromSt } Ifc4x3_rc1::IfcAlignmentTypeEnum::operator Ifc4x3_rc1::IfcAlignmentTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcAlignmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcAlignmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcAnalysisModelTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[46]); } @@ -333,7 +333,7 @@ Ifc4x3_rc1::IfcAnalysisModelTypeEnum::Value Ifc4x3_rc1::IfcAnalysisModelTypeEnum } Ifc4x3_rc1::IfcAnalysisModelTypeEnum::operator Ifc4x3_rc1::IfcAnalysisModelTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcAnalysisModelTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcAnalysisModelTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[47]); } @@ -360,7 +360,7 @@ Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_rc1::IfcAnalysisTheoryTypeEn } Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::operator Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcAnnotationTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[51]); } @@ -387,7 +387,7 @@ Ifc4x3_rc1::IfcAnnotationTypeEnum::Value Ifc4x3_rc1::IfcAnnotationTypeEnum::From } Ifc4x3_rc1::IfcAnnotationTypeEnum::operator Ifc4x3_rc1::IfcAnnotationTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcAnnotationTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcAnnotationTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcArithmeticOperatorEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[63]); } @@ -414,7 +414,7 @@ Ifc4x3_rc1::IfcArithmeticOperatorEnum::Value Ifc4x3_rc1::IfcArithmeticOperatorEn } Ifc4x3_rc1::IfcArithmeticOperatorEnum::operator Ifc4x3_rc1::IfcArithmeticOperatorEnum::Value() const { - return (Ifc4x3_rc1::IfcArithmeticOperatorEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcArithmeticOperatorEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcAssemblyPlaceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[64]); } @@ -441,7 +441,7 @@ Ifc4x3_rc1::IfcAssemblyPlaceEnum::Value Ifc4x3_rc1::IfcAssemblyPlaceEnum::FromSt } Ifc4x3_rc1::IfcAssemblyPlaceEnum::operator Ifc4x3_rc1::IfcAssemblyPlaceEnum::Value() const { - return (Ifc4x3_rc1::IfcAssemblyPlaceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcAssemblyPlaceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[69]); } @@ -468,7 +468,7 @@ Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3_rc1::IfcAudioVisualApp } Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::operator Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBSplineCurveForm::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[113]); } @@ -495,7 +495,7 @@ Ifc4x3_rc1::IfcBSplineCurveForm::Value Ifc4x3_rc1::IfcBSplineCurveForm::FromStri } Ifc4x3_rc1::IfcBSplineCurveForm::operator Ifc4x3_rc1::IfcBSplineCurveForm::Value() const { - return (Ifc4x3_rc1::IfcBSplineCurveForm::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcBSplineCurveForm::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBSplineSurfaceForm::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[116]); } @@ -522,7 +522,7 @@ Ifc4x3_rc1::IfcBSplineSurfaceForm::Value Ifc4x3_rc1::IfcBSplineSurfaceForm::From } Ifc4x3_rc1::IfcBSplineSurfaceForm::operator Ifc4x3_rc1::IfcBSplineSurfaceForm::Value() const { - return (Ifc4x3_rc1::IfcBSplineSurfaceForm::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcBSplineSurfaceForm::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBeamTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[78]); } @@ -549,7 +549,7 @@ Ifc4x3_rc1::IfcBeamTypeEnum::Value Ifc4x3_rc1::IfcBeamTypeEnum::FromString(const } Ifc4x3_rc1::IfcBeamTypeEnum::operator Ifc4x3_rc1::IfcBeamTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcBeamTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcBeamTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBearingTypeDisplacementEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[81]); } @@ -576,7 +576,7 @@ Ifc4x3_rc1::IfcBearingTypeDisplacementEnum::Value Ifc4x3_rc1::IfcBearingTypeDisp } Ifc4x3_rc1::IfcBearingTypeDisplacementEnum::operator Ifc4x3_rc1::IfcBearingTypeDisplacementEnum::Value() const { - return (Ifc4x3_rc1::IfcBearingTypeDisplacementEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcBearingTypeDisplacementEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBearingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[82]); } @@ -603,7 +603,7 @@ Ifc4x3_rc1::IfcBearingTypeEnum::Value Ifc4x3_rc1::IfcBearingTypeEnum::FromString } Ifc4x3_rc1::IfcBearingTypeEnum::operator Ifc4x3_rc1::IfcBearingTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcBearingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcBearingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBenchmarkEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[83]); } @@ -630,7 +630,7 @@ Ifc4x3_rc1::IfcBenchmarkEnum::Value Ifc4x3_rc1::IfcBenchmarkEnum::FromString(con } Ifc4x3_rc1::IfcBenchmarkEnum::operator Ifc4x3_rc1::IfcBenchmarkEnum::Value() const { - return (Ifc4x3_rc1::IfcBenchmarkEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcBenchmarkEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBoilerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[90]); } @@ -657,7 +657,7 @@ Ifc4x3_rc1::IfcBoilerTypeEnum::Value Ifc4x3_rc1::IfcBoilerTypeEnum::FromString(c } Ifc4x3_rc1::IfcBoilerTypeEnum::operator Ifc4x3_rc1::IfcBoilerTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcBoilerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcBoilerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBooleanOperator::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[94]); } @@ -684,7 +684,7 @@ Ifc4x3_rc1::IfcBooleanOperator::Value Ifc4x3_rc1::IfcBooleanOperator::FromString } Ifc4x3_rc1::IfcBooleanOperator::operator Ifc4x3_rc1::IfcBooleanOperator::Value() const { - return (Ifc4x3_rc1::IfcBooleanOperator::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcBooleanOperator::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBridgePartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[110]); } @@ -711,7 +711,7 @@ Ifc4x3_rc1::IfcBridgePartTypeEnum::Value Ifc4x3_rc1::IfcBridgePartTypeEnum::From } Ifc4x3_rc1::IfcBridgePartTypeEnum::operator Ifc4x3_rc1::IfcBridgePartTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcBridgePartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcBridgePartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBridgeTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[111]); } @@ -738,7 +738,7 @@ Ifc4x3_rc1::IfcBridgeTypeEnum::Value Ifc4x3_rc1::IfcBridgeTypeEnum::FromString(c } Ifc4x3_rc1::IfcBridgeTypeEnum::operator Ifc4x3_rc1::IfcBridgeTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcBridgeTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcBridgeTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[121]); } @@ -765,7 +765,7 @@ Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Value Ifc4x3_rc1::IfcBuildingElement } Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::operator Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[124]); } @@ -792,7 +792,7 @@ Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value Ifc4x3_rc1::IfcBuildingElemen } Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::operator Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBuildingSystemTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[127]); } @@ -819,7 +819,7 @@ Ifc4x3_rc1::IfcBuildingSystemTypeEnum::Value Ifc4x3_rc1::IfcBuildingSystemTypeEn } Ifc4x3_rc1::IfcBuildingSystemTypeEnum::operator Ifc4x3_rc1::IfcBuildingSystemTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcBuildingSystemTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcBuildingSystemTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBuiltSystemTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[131]); } @@ -846,7 +846,7 @@ Ifc4x3_rc1::IfcBuiltSystemTypeEnum::Value Ifc4x3_rc1::IfcBuiltSystemTypeEnum::Fr } Ifc4x3_rc1::IfcBuiltSystemTypeEnum::operator Ifc4x3_rc1::IfcBuiltSystemTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcBuiltSystemTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcBuiltSystemTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcBurnerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[134]); } @@ -873,7 +873,7 @@ Ifc4x3_rc1::IfcBurnerTypeEnum::Value Ifc4x3_rc1::IfcBurnerTypeEnum::FromString(c } Ifc4x3_rc1::IfcBurnerTypeEnum::operator Ifc4x3_rc1::IfcBurnerTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcBurnerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcBurnerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[137]); } @@ -900,7 +900,7 @@ Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Value Ifc4x3_rc1::IfcCableCarrierFit } Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::operator Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[140]); } @@ -927,7 +927,7 @@ Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3_rc1::IfcCableCarrierSeg } Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::operator Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCableFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[143]); } @@ -954,7 +954,7 @@ Ifc4x3_rc1::IfcCableFittingTypeEnum::Value Ifc4x3_rc1::IfcCableFittingTypeEnum:: } Ifc4x3_rc1::IfcCableFittingTypeEnum::operator Ifc4x3_rc1::IfcCableFittingTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcCableFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcCableFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCableSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[146]); } @@ -981,7 +981,7 @@ Ifc4x3_rc1::IfcCableSegmentTypeEnum::Value Ifc4x3_rc1::IfcCableSegmentTypeEnum:: } Ifc4x3_rc1::IfcCableSegmentTypeEnum::operator Ifc4x3_rc1::IfcCableSegmentTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcCableSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcCableSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[149]); } @@ -1008,7 +1008,7 @@ Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value Ifc4x3_rc1::IfcCaissonFoundation } Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::operator Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcChangeActionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[161]); } @@ -1035,7 +1035,7 @@ Ifc4x3_rc1::IfcChangeActionEnum::Value Ifc4x3_rc1::IfcChangeActionEnum::FromStri } Ifc4x3_rc1::IfcChangeActionEnum::operator Ifc4x3_rc1::IfcChangeActionEnum::Value() const { - return (Ifc4x3_rc1::IfcChangeActionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcChangeActionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcChillerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[164]); } @@ -1062,7 +1062,7 @@ Ifc4x3_rc1::IfcChillerTypeEnum::Value Ifc4x3_rc1::IfcChillerTypeEnum::FromString } Ifc4x3_rc1::IfcChillerTypeEnum::operator Ifc4x3_rc1::IfcChillerTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcChillerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcChillerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcChimneyTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[167]); } @@ -1089,7 +1089,7 @@ Ifc4x3_rc1::IfcChimneyTypeEnum::Value Ifc4x3_rc1::IfcChimneyTypeEnum::FromString } Ifc4x3_rc1::IfcChimneyTypeEnum::operator Ifc4x3_rc1::IfcChimneyTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcChimneyTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcChimneyTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCoilTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[181]); } @@ -1116,7 +1116,7 @@ Ifc4x3_rc1::IfcCoilTypeEnum::Value Ifc4x3_rc1::IfcCoilTypeEnum::FromString(const } Ifc4x3_rc1::IfcCoilTypeEnum::operator Ifc4x3_rc1::IfcCoilTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcCoilTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcCoilTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcColumnTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[190]); } @@ -1143,7 +1143,7 @@ Ifc4x3_rc1::IfcColumnTypeEnum::Value Ifc4x3_rc1::IfcColumnTypeEnum::FromString(c } Ifc4x3_rc1::IfcColumnTypeEnum::operator Ifc4x3_rc1::IfcColumnTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcColumnTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcColumnTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[193]); } @@ -1170,7 +1170,7 @@ Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3_rc1::IfcCommunicati } Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::operator Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[197]); } @@ -1197,7 +1197,7 @@ Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::Value Ifc4x3_rc1::IfcComplexProp } Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::operator Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCompressorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[205]); } @@ -1224,7 +1224,7 @@ Ifc4x3_rc1::IfcCompressorTypeEnum::Value Ifc4x3_rc1::IfcCompressorTypeEnum::From } Ifc4x3_rc1::IfcCompressorTypeEnum::operator Ifc4x3_rc1::IfcCompressorTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcCompressorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcCompressorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCondenserTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[208]); } @@ -1251,7 +1251,7 @@ Ifc4x3_rc1::IfcCondenserTypeEnum::Value Ifc4x3_rc1::IfcCondenserTypeEnum::FromSt } Ifc4x3_rc1::IfcCondenserTypeEnum::operator Ifc4x3_rc1::IfcCondenserTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcCondenserTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcCondenserTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcConnectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[216]); } @@ -1278,7 +1278,7 @@ Ifc4x3_rc1::IfcConnectionTypeEnum::Value Ifc4x3_rc1::IfcConnectionTypeEnum::From } Ifc4x3_rc1::IfcConnectionTypeEnum::operator Ifc4x3_rc1::IfcConnectionTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcConnectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcConnectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcConstraintEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[219]); } @@ -1305,7 +1305,7 @@ Ifc4x3_rc1::IfcConstraintEnum::Value Ifc4x3_rc1::IfcConstraintEnum::FromString(c } Ifc4x3_rc1::IfcConstraintEnum::operator Ifc4x3_rc1::IfcConstraintEnum::Value() const { - return (Ifc4x3_rc1::IfcConstraintEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcConstraintEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[222]); } @@ -1332,7 +1332,7 @@ Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3_rc1::IfcConst } Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::operator Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[225]); } @@ -1359,7 +1359,7 @@ Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3_rc1::IfcConstr } Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::operator Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[228]); } @@ -1386,7 +1386,7 @@ Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value Ifc4x3_rc1::IfcConstru } Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::operator Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcControllerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[237]); } @@ -1413,7 +1413,7 @@ Ifc4x3_rc1::IfcControllerTypeEnum::Value Ifc4x3_rc1::IfcControllerTypeEnum::From } Ifc4x3_rc1::IfcControllerTypeEnum::operator Ifc4x3_rc1::IfcControllerTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcControllerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcControllerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[242]); } @@ -1440,7 +1440,7 @@ Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value Ifc4x3_rc1::IfcConveyorSegmentType } Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::operator Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCooledBeamTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[245]); } @@ -1467,7 +1467,7 @@ Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value Ifc4x3_rc1::IfcCooledBeamTypeEnum::From } Ifc4x3_rc1::IfcCooledBeamTypeEnum::operator Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCoolingTowerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[248]); } @@ -1494,7 +1494,7 @@ Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value Ifc4x3_rc1::IfcCoolingTowerTypeEnum:: } Ifc4x3_rc1::IfcCoolingTowerTypeEnum::operator Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCostItemTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[253]); } @@ -1521,7 +1521,7 @@ Ifc4x3_rc1::IfcCostItemTypeEnum::Value Ifc4x3_rc1::IfcCostItemTypeEnum::FromStri } Ifc4x3_rc1::IfcCostItemTypeEnum::operator Ifc4x3_rc1::IfcCostItemTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcCostItemTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcCostItemTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCostScheduleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[255]); } @@ -1548,7 +1548,7 @@ Ifc4x3_rc1::IfcCostScheduleTypeEnum::Value Ifc4x3_rc1::IfcCostScheduleTypeEnum:: } Ifc4x3_rc1::IfcCostScheduleTypeEnum::operator Ifc4x3_rc1::IfcCostScheduleTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcCostScheduleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcCostScheduleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCourseTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[260]); } @@ -1575,7 +1575,7 @@ Ifc4x3_rc1::IfcCourseTypeEnum::Value Ifc4x3_rc1::IfcCourseTypeEnum::FromString(c } Ifc4x3_rc1::IfcCourseTypeEnum::operator Ifc4x3_rc1::IfcCourseTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcCourseTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcCourseTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCoveringTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[263]); } @@ -1602,7 +1602,7 @@ Ifc4x3_rc1::IfcCoveringTypeEnum::Value Ifc4x3_rc1::IfcCoveringTypeEnum::FromStri } Ifc4x3_rc1::IfcCoveringTypeEnum::operator Ifc4x3_rc1::IfcCoveringTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcCoveringTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcCoveringTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCrewResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[266]); } @@ -1629,7 +1629,7 @@ Ifc4x3_rc1::IfcCrewResourceTypeEnum::Value Ifc4x3_rc1::IfcCrewResourceTypeEnum:: } Ifc4x3_rc1::IfcCrewResourceTypeEnum::operator Ifc4x3_rc1::IfcCrewResourceTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcCrewResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcCrewResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCurtainWallTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[274]); } @@ -1656,7 +1656,7 @@ Ifc4x3_rc1::IfcCurtainWallTypeEnum::Value Ifc4x3_rc1::IfcCurtainWallTypeEnum::Fr } Ifc4x3_rc1::IfcCurtainWallTypeEnum::operator Ifc4x3_rc1::IfcCurtainWallTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcCurtainWallTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcCurtainWallTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcCurveInterpolationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[280]); } @@ -1683,7 +1683,7 @@ Ifc4x3_rc1::IfcCurveInterpolationEnum::Value Ifc4x3_rc1::IfcCurveInterpolationEn } Ifc4x3_rc1::IfcCurveInterpolationEnum::operator Ifc4x3_rc1::IfcCurveInterpolationEnum::Value() const { - return (Ifc4x3_rc1::IfcCurveInterpolationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcCurveInterpolationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDamperTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[292]); } @@ -1710,7 +1710,7 @@ Ifc4x3_rc1::IfcDamperTypeEnum::Value Ifc4x3_rc1::IfcDamperTypeEnum::FromString(c } Ifc4x3_rc1::IfcDamperTypeEnum::operator Ifc4x3_rc1::IfcDamperTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcDamperTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcDamperTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDataOriginEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[293]); } @@ -1737,7 +1737,7 @@ Ifc4x3_rc1::IfcDataOriginEnum::Value Ifc4x3_rc1::IfcDataOriginEnum::FromString(c } Ifc4x3_rc1::IfcDataOriginEnum::operator Ifc4x3_rc1::IfcDataOriginEnum::Value() const { - return (Ifc4x3_rc1::IfcDataOriginEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcDataOriginEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDerivedUnitEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[305]); } @@ -1764,7 +1764,7 @@ Ifc4x3_rc1::IfcDerivedUnitEnum::Value Ifc4x3_rc1::IfcDerivedUnitEnum::FromString } Ifc4x3_rc1::IfcDerivedUnitEnum::operator Ifc4x3_rc1::IfcDerivedUnitEnum::Value() const { - return (Ifc4x3_rc1::IfcDerivedUnitEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcDerivedUnitEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDirectionSenseEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[310]); } @@ -1791,7 +1791,7 @@ Ifc4x3_rc1::IfcDirectionSenseEnum::Value Ifc4x3_rc1::IfcDirectionSenseEnum::From } Ifc4x3_rc1::IfcDirectionSenseEnum::operator Ifc4x3_rc1::IfcDirectionSenseEnum::Value() const { - return (Ifc4x3_rc1::IfcDirectionSenseEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcDirectionSenseEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[315]); } @@ -1818,7 +1818,7 @@ Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3_rc1::IfcDiscreteAccessory } Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::operator Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDistributionBoardTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[319]); } @@ -1845,7 +1845,7 @@ Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value Ifc4x3_rc1::IfcDistributionBoard } Ifc4x3_rc1::IfcDistributionBoardTypeEnum::operator Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[322]); } @@ -1872,7 +1872,7 @@ Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value Ifc4x3_rc1::IfcDistribu } Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::operator Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDistributionPortTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[331]); } @@ -1899,7 +1899,7 @@ Ifc4x3_rc1::IfcDistributionPortTypeEnum::Value Ifc4x3_rc1::IfcDistributionPortTy } Ifc4x3_rc1::IfcDistributionPortTypeEnum::operator Ifc4x3_rc1::IfcDistributionPortTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcDistributionPortTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcDistributionPortTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDistributionSystemEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[333]); } @@ -1926,7 +1926,7 @@ Ifc4x3_rc1::IfcDistributionSystemEnum::Value Ifc4x3_rc1::IfcDistributionSystemEn } Ifc4x3_rc1::IfcDistributionSystemEnum::operator Ifc4x3_rc1::IfcDistributionSystemEnum::Value() const { - return (Ifc4x3_rc1::IfcDistributionSystemEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcDistributionSystemEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDocumentConfidentialityEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[334]); } @@ -1953,7 +1953,7 @@ Ifc4x3_rc1::IfcDocumentConfidentialityEnum::Value Ifc4x3_rc1::IfcDocumentConfide } Ifc4x3_rc1::IfcDocumentConfidentialityEnum::operator Ifc4x3_rc1::IfcDocumentConfidentialityEnum::Value() const { - return (Ifc4x3_rc1::IfcDocumentConfidentialityEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcDocumentConfidentialityEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDocumentStatusEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[339]); } @@ -1980,7 +1980,7 @@ Ifc4x3_rc1::IfcDocumentStatusEnum::Value Ifc4x3_rc1::IfcDocumentStatusEnum::From } Ifc4x3_rc1::IfcDocumentStatusEnum::operator Ifc4x3_rc1::IfcDocumentStatusEnum::Value() const { - return (Ifc4x3_rc1::IfcDocumentStatusEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcDocumentStatusEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDoorPanelOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[342]); } @@ -2007,7 +2007,7 @@ Ifc4x3_rc1::IfcDoorPanelOperationEnum::Value Ifc4x3_rc1::IfcDoorPanelOperationEn } Ifc4x3_rc1::IfcDoorPanelOperationEnum::operator Ifc4x3_rc1::IfcDoorPanelOperationEnum::Value() const { - return (Ifc4x3_rc1::IfcDoorPanelOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcDoorPanelOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDoorPanelPositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[343]); } @@ -2034,7 +2034,7 @@ Ifc4x3_rc1::IfcDoorPanelPositionEnum::Value Ifc4x3_rc1::IfcDoorPanelPositionEnum } Ifc4x3_rc1::IfcDoorPanelPositionEnum::operator Ifc4x3_rc1::IfcDoorPanelPositionEnum::Value() const { - return (Ifc4x3_rc1::IfcDoorPanelPositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcDoorPanelPositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDoorStyleConstructionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[347]); } @@ -2061,7 +2061,7 @@ Ifc4x3_rc1::IfcDoorStyleConstructionEnum::Value Ifc4x3_rc1::IfcDoorStyleConstruc } Ifc4x3_rc1::IfcDoorStyleConstructionEnum::operator Ifc4x3_rc1::IfcDoorStyleConstructionEnum::Value() const { - return (Ifc4x3_rc1::IfcDoorStyleConstructionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcDoorStyleConstructionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDoorStyleOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[348]); } @@ -2088,7 +2088,7 @@ Ifc4x3_rc1::IfcDoorStyleOperationEnum::Value Ifc4x3_rc1::IfcDoorStyleOperationEn } Ifc4x3_rc1::IfcDoorStyleOperationEnum::operator Ifc4x3_rc1::IfcDoorStyleOperationEnum::Value() const { - return (Ifc4x3_rc1::IfcDoorStyleOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcDoorStyleOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDoorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[350]); } @@ -2115,7 +2115,7 @@ Ifc4x3_rc1::IfcDoorTypeEnum::Value Ifc4x3_rc1::IfcDoorTypeEnum::FromString(const } Ifc4x3_rc1::IfcDoorTypeEnum::operator Ifc4x3_rc1::IfcDoorTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcDoorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcDoorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDoorTypeOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[351]); } @@ -2142,7 +2142,7 @@ Ifc4x3_rc1::IfcDoorTypeOperationEnum::Value Ifc4x3_rc1::IfcDoorTypeOperationEnum } Ifc4x3_rc1::IfcDoorTypeOperationEnum::operator Ifc4x3_rc1::IfcDoorTypeOperationEnum::Value() const { - return (Ifc4x3_rc1::IfcDoorTypeOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcDoorTypeOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDuctFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[357]); } @@ -2169,7 +2169,7 @@ Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value Ifc4x3_rc1::IfcDuctFittingTypeEnum::Fr } Ifc4x3_rc1::IfcDuctFittingTypeEnum::operator Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDuctSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[360]); } @@ -2196,7 +2196,7 @@ Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Fr } Ifc4x3_rc1::IfcDuctSegmentTypeEnum::operator Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcDuctSilencerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[363]); } @@ -2223,7 +2223,7 @@ Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value Ifc4x3_rc1::IfcDuctSilencerTypeEnum:: } Ifc4x3_rc1::IfcDuctSilencerTypeEnum::operator Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcEarthworksCutTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[367]); } @@ -2250,7 +2250,7 @@ Ifc4x3_rc1::IfcEarthworksCutTypeEnum::Value Ifc4x3_rc1::IfcEarthworksCutTypeEnum } Ifc4x3_rc1::IfcEarthworksCutTypeEnum::operator Ifc4x3_rc1::IfcEarthworksCutTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcEarthworksCutTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcEarthworksCutTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcEarthworksFillTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[370]); } @@ -2277,7 +2277,7 @@ Ifc4x3_rc1::IfcEarthworksFillTypeEnum::Value Ifc4x3_rc1::IfcEarthworksFillTypeEn } Ifc4x3_rc1::IfcEarthworksFillTypeEnum::operator Ifc4x3_rc1::IfcEarthworksFillTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcEarthworksFillTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcEarthworksFillTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcElectricApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[376]); } @@ -2304,7 +2304,7 @@ Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value Ifc4x3_rc1::IfcElectricAppliance } Ifc4x3_rc1::IfcElectricApplianceTypeEnum::operator Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[383]); } @@ -2331,7 +2331,7 @@ Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3_rc1::IfcElectricD } Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::operator Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[386]); } @@ -2358,7 +2358,7 @@ Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3_rc1::IfcElectricF } Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::operator Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[389]); } @@ -2385,7 +2385,7 @@ Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3_rc1::IfcElectri } Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::operator Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[392]); } @@ -2412,7 +2412,7 @@ Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value Ifc4x3_rc1::IfcElectricGenerator } Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::operator Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcElectricMotorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[395]); } @@ -2439,7 +2439,7 @@ Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value Ifc4x3_rc1::IfcElectricMotorTypeEnum } Ifc4x3_rc1::IfcElectricMotorTypeEnum::operator Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[399]); } @@ -2466,7 +2466,7 @@ Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value Ifc4x3_rc1::IfcElectricTimeCon } Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::operator Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcElementAssemblyTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[405]); } @@ -2493,7 +2493,7 @@ Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Value Ifc4x3_rc1::IfcElementAssemblyType } Ifc4x3_rc1::IfcElementAssemblyTypeEnum::operator Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcElementCompositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[408]); } @@ -2520,7 +2520,7 @@ Ifc4x3_rc1::IfcElementCompositionEnum::Value Ifc4x3_rc1::IfcElementCompositionEn } Ifc4x3_rc1::IfcElementCompositionEnum::operator Ifc4x3_rc1::IfcElementCompositionEnum::Value() const { - return (Ifc4x3_rc1::IfcElementCompositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcElementCompositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcEngineTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[418]); } @@ -2547,7 +2547,7 @@ Ifc4x3_rc1::IfcEngineTypeEnum::Value Ifc4x3_rc1::IfcEngineTypeEnum::FromString(c } Ifc4x3_rc1::IfcEngineTypeEnum::operator Ifc4x3_rc1::IfcEngineTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcEngineTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcEngineTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[421]); } @@ -2574,7 +2574,7 @@ Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3_rc1::IfcEvaporativeCooler } Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::operator Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcEvaporatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[424]); } @@ -2601,7 +2601,7 @@ Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value Ifc4x3_rc1::IfcEvaporatorTypeEnum::From } Ifc4x3_rc1::IfcEvaporatorTypeEnum::operator Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcEventTriggerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[427]); } @@ -2628,7 +2628,7 @@ Ifc4x3_rc1::IfcEventTriggerTypeEnum::Value Ifc4x3_rc1::IfcEventTriggerTypeEnum:: } Ifc4x3_rc1::IfcEventTriggerTypeEnum::operator Ifc4x3_rc1::IfcEventTriggerTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcEventTriggerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcEventTriggerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcEventTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[429]); } @@ -2655,7 +2655,7 @@ Ifc4x3_rc1::IfcEventTypeEnum::Value Ifc4x3_rc1::IfcEventTypeEnum::FromString(con } Ifc4x3_rc1::IfcEventTypeEnum::operator Ifc4x3_rc1::IfcEventTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcEventTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcEventTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[438]); } @@ -2682,7 +2682,7 @@ Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::Value Ifc4x3_rc1::IfcExternalSpat } Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::operator Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcFacilityPartCommonTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[451]); } @@ -2709,7 +2709,7 @@ Ifc4x3_rc1::IfcFacilityPartCommonTypeEnum::Value Ifc4x3_rc1::IfcFacilityPartComm } Ifc4x3_rc1::IfcFacilityPartCommonTypeEnum::operator Ifc4x3_rc1::IfcFacilityPartCommonTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcFacilityPartCommonTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcFacilityPartCommonTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcFacilityUsageEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[453]); } @@ -2736,7 +2736,7 @@ Ifc4x3_rc1::IfcFacilityUsageEnum::Value Ifc4x3_rc1::IfcFacilityUsageEnum::FromSt } Ifc4x3_rc1::IfcFacilityUsageEnum::operator Ifc4x3_rc1::IfcFacilityUsageEnum::Value() const { - return (Ifc4x3_rc1::IfcFacilityUsageEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcFacilityUsageEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcFanTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[457]); } @@ -2763,7 +2763,7 @@ Ifc4x3_rc1::IfcFanTypeEnum::Value Ifc4x3_rc1::IfcFanTypeEnum::FromString(const s } Ifc4x3_rc1::IfcFanTypeEnum::operator Ifc4x3_rc1::IfcFanTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcFanTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcFanTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcFastenerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[460]); } @@ -2790,7 +2790,7 @@ Ifc4x3_rc1::IfcFastenerTypeEnum::Value Ifc4x3_rc1::IfcFastenerTypeEnum::FromStri } Ifc4x3_rc1::IfcFastenerTypeEnum::operator Ifc4x3_rc1::IfcFastenerTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcFastenerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcFastenerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcFilterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[470]); } @@ -2817,7 +2817,7 @@ Ifc4x3_rc1::IfcFilterTypeEnum::Value Ifc4x3_rc1::IfcFilterTypeEnum::FromString(c } Ifc4x3_rc1::IfcFilterTypeEnum::operator Ifc4x3_rc1::IfcFilterTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcFilterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcFilterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[473]); } @@ -2844,7 +2844,7 @@ Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3_rc1::IfcFireSuppres } Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::operator Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcFlowDirectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[477]); } @@ -2871,7 +2871,7 @@ Ifc4x3_rc1::IfcFlowDirectionEnum::Value Ifc4x3_rc1::IfcFlowDirectionEnum::FromSt } Ifc4x3_rc1::IfcFlowDirectionEnum::operator Ifc4x3_rc1::IfcFlowDirectionEnum::Value() const { - return (Ifc4x3_rc1::IfcFlowDirectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcFlowDirectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[482]); } @@ -2898,7 +2898,7 @@ Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value Ifc4x3_rc1::IfcFlowInstrumentTypeEn } Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::operator Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcFlowMeterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[485]); } @@ -2925,7 +2925,7 @@ Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value Ifc4x3_rc1::IfcFlowMeterTypeEnum::FromSt } Ifc4x3_rc1::IfcFlowMeterTypeEnum::operator Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcFootingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[501]); } @@ -2952,7 +2952,7 @@ Ifc4x3_rc1::IfcFootingTypeEnum::Value Ifc4x3_rc1::IfcFootingTypeEnum::FromString } Ifc4x3_rc1::IfcFootingTypeEnum::operator Ifc4x3_rc1::IfcFootingTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcFootingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcFootingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcFurnitureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[508]); } @@ -2979,7 +2979,7 @@ Ifc4x3_rc1::IfcFurnitureTypeEnum::Value Ifc4x3_rc1::IfcFurnitureTypeEnum::FromSt } Ifc4x3_rc1::IfcFurnitureTypeEnum::operator Ifc4x3_rc1::IfcFurnitureTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcFurnitureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcFurnitureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcGeographicElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[511]); } @@ -3006,7 +3006,7 @@ Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value Ifc4x3_rc1::IfcGeographicElement } Ifc4x3_rc1::IfcGeographicElementTypeEnum::operator Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcGeometricProjectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[513]); } @@ -3033,7 +3033,7 @@ Ifc4x3_rc1::IfcGeometricProjectionEnum::Value Ifc4x3_rc1::IfcGeometricProjection } Ifc4x3_rc1::IfcGeometricProjectionEnum::operator Ifc4x3_rc1::IfcGeometricProjectionEnum::Value() const { - return (Ifc4x3_rc1::IfcGeometricProjectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcGeometricProjectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcGlobalOrLocalEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[525]); } @@ -3060,7 +3060,7 @@ Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value Ifc4x3_rc1::IfcGlobalOrLocalEnum::FromSt } Ifc4x3_rc1::IfcGlobalOrLocalEnum::operator Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value() const { - return (Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcGridTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[530]); } @@ -3087,7 +3087,7 @@ Ifc4x3_rc1::IfcGridTypeEnum::Value Ifc4x3_rc1::IfcGridTypeEnum::FromString(const } Ifc4x3_rc1::IfcGridTypeEnum::operator Ifc4x3_rc1::IfcGridTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcGridTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcGridTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcHeatExchangerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[536]); } @@ -3114,7 +3114,7 @@ Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value Ifc4x3_rc1::IfcHeatExchangerTypeEnum } Ifc4x3_rc1::IfcHeatExchangerTypeEnum::operator Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcHumidifierTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[541]); } @@ -3141,7 +3141,7 @@ Ifc4x3_rc1::IfcHumidifierTypeEnum::Value Ifc4x3_rc1::IfcHumidifierTypeEnum::From } Ifc4x3_rc1::IfcHumidifierTypeEnum::operator Ifc4x3_rc1::IfcHumidifierTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcHumidifierTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcHumidifierTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcImpactProtectionDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[547]); } @@ -3168,7 +3168,7 @@ Ifc4x3_rc1::IfcImpactProtectionDeviceTypeEnum::Value Ifc4x3_rc1::IfcImpactProtec } Ifc4x3_rc1::IfcImpactProtectionDeviceTypeEnum::operator Ifc4x3_rc1::IfcImpactProtectionDeviceTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcImpactProtectionDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcImpactProtectionDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcInterceptorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[561]); } @@ -3195,7 +3195,7 @@ Ifc4x3_rc1::IfcInterceptorTypeEnum::Value Ifc4x3_rc1::IfcInterceptorTypeEnum::Fr } Ifc4x3_rc1::IfcInterceptorTypeEnum::operator Ifc4x3_rc1::IfcInterceptorTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcInterceptorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcInterceptorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcInternalOrExternalEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[563]); } @@ -3222,7 +3222,7 @@ Ifc4x3_rc1::IfcInternalOrExternalEnum::Value Ifc4x3_rc1::IfcInternalOrExternalEn } Ifc4x3_rc1::IfcInternalOrExternalEnum::operator Ifc4x3_rc1::IfcInternalOrExternalEnum::Value() const { - return (Ifc4x3_rc1::IfcInternalOrExternalEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcInternalOrExternalEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcInventoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[566]); } @@ -3249,7 +3249,7 @@ Ifc4x3_rc1::IfcInventoryTypeEnum::Value Ifc4x3_rc1::IfcInventoryTypeEnum::FromSt } Ifc4x3_rc1::IfcInventoryTypeEnum::operator Ifc4x3_rc1::IfcInventoryTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcInventoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcInventoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcJunctionBoxTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[574]); } @@ -3276,7 +3276,7 @@ Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Fr } Ifc4x3_rc1::IfcJunctionBoxTypeEnum::operator Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcKnotType::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[578]); } @@ -3303,7 +3303,7 @@ Ifc4x3_rc1::IfcKnotType::Value Ifc4x3_rc1::IfcKnotType::FromString(const std::st } Ifc4x3_rc1::IfcKnotType::operator Ifc4x3_rc1::IfcKnotType::Value() const { - return (Ifc4x3_rc1::IfcKnotType::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcKnotType::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcLaborResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[582]); } @@ -3330,7 +3330,7 @@ Ifc4x3_rc1::IfcLaborResourceTypeEnum::Value Ifc4x3_rc1::IfcLaborResourceTypeEnum } Ifc4x3_rc1::IfcLaborResourceTypeEnum::operator Ifc4x3_rc1::IfcLaborResourceTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcLaborResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcLaborResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcLampTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[586]); } @@ -3357,7 +3357,7 @@ Ifc4x3_rc1::IfcLampTypeEnum::Value Ifc4x3_rc1::IfcLampTypeEnum::FromString(const } Ifc4x3_rc1::IfcLampTypeEnum::operator Ifc4x3_rc1::IfcLampTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcLampTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcLampTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcLayerSetDirectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[589]); } @@ -3384,7 +3384,7 @@ Ifc4x3_rc1::IfcLayerSetDirectionEnum::Value Ifc4x3_rc1::IfcLayerSetDirectionEnum } Ifc4x3_rc1::IfcLayerSetDirectionEnum::operator Ifc4x3_rc1::IfcLayerSetDirectionEnum::Value() const { - return (Ifc4x3_rc1::IfcLayerSetDirectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcLayerSetDirectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcLightDistributionCurveEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[594]); } @@ -3411,7 +3411,7 @@ Ifc4x3_rc1::IfcLightDistributionCurveEnum::Value Ifc4x3_rc1::IfcLightDistributio } Ifc4x3_rc1::IfcLightDistributionCurveEnum::operator Ifc4x3_rc1::IfcLightDistributionCurveEnum::Value() const { - return (Ifc4x3_rc1::IfcLightDistributionCurveEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcLightDistributionCurveEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcLightEmissionSourceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[597]); } @@ -3438,7 +3438,7 @@ Ifc4x3_rc1::IfcLightEmissionSourceEnum::Value Ifc4x3_rc1::IfcLightEmissionSource } Ifc4x3_rc1::IfcLightEmissionSourceEnum::operator Ifc4x3_rc1::IfcLightEmissionSourceEnum::Value() const { - return (Ifc4x3_rc1::IfcLightEmissionSourceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcLightEmissionSourceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcLightFixtureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[600]); } @@ -3465,7 +3465,7 @@ Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value Ifc4x3_rc1::IfcLightFixtureTypeEnum:: } Ifc4x3_rc1::IfcLightFixtureTypeEnum::operator Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[623]); } @@ -3492,7 +3492,7 @@ Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value Ifc4x3_rc1::IfcLiquidTerminalTypeEn } Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::operator Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcLoadGroupTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[624]); } @@ -3519,7 +3519,7 @@ Ifc4x3_rc1::IfcLoadGroupTypeEnum::Value Ifc4x3_rc1::IfcLoadGroupTypeEnum::FromSt } Ifc4x3_rc1::IfcLoadGroupTypeEnum::operator Ifc4x3_rc1::IfcLoadGroupTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcLoadGroupTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcLoadGroupTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcLogicalOperatorEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[627]); } @@ -3546,7 +3546,7 @@ Ifc4x3_rc1::IfcLogicalOperatorEnum::Value Ifc4x3_rc1::IfcLogicalOperatorEnum::Fr } Ifc4x3_rc1::IfcLogicalOperatorEnum::operator Ifc4x3_rc1::IfcLogicalOperatorEnum::Value() const { - return (Ifc4x3_rc1::IfcLogicalOperatorEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcLogicalOperatorEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcMarineFacilityTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[639]); } @@ -3573,7 +3573,7 @@ Ifc4x3_rc1::IfcMarineFacilityTypeEnum::Value Ifc4x3_rc1::IfcMarineFacilityTypeEn } Ifc4x3_rc1::IfcMarineFacilityTypeEnum::operator Ifc4x3_rc1::IfcMarineFacilityTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcMarineFacilityTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcMarineFacilityTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcMarinePartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[640]); } @@ -3600,7 +3600,7 @@ Ifc4x3_rc1::IfcMarinePartTypeEnum::Value Ifc4x3_rc1::IfcMarinePartTypeEnum::From } Ifc4x3_rc1::IfcMarinePartTypeEnum::operator Ifc4x3_rc1::IfcMarinePartTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcMarinePartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcMarinePartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[669]); } @@ -3627,7 +3627,7 @@ Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_rc1::IfcMechanicalFasten } Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::operator Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[672]); } @@ -3654,7 +3654,7 @@ Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value Ifc4x3_rc1::IfcMedicalDeviceTypeEnum } Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::operator Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcMemberTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[676]); } @@ -3681,7 +3681,7 @@ Ifc4x3_rc1::IfcMemberTypeEnum::Value Ifc4x3_rc1::IfcMemberTypeEnum::FromString(c } Ifc4x3_rc1::IfcMemberTypeEnum::operator Ifc4x3_rc1::IfcMemberTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcMemberTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcMemberTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[682]); } @@ -3708,7 +3708,7 @@ Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3_rc1::IfcM } Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::operator Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcMooringDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[698]); } @@ -3735,7 +3735,7 @@ Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value Ifc4x3_rc1::IfcMooringDeviceTypeEnum } Ifc4x3_rc1::IfcMooringDeviceTypeEnum::operator Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcMotorConnectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[701]); } @@ -3762,7 +3762,7 @@ Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value Ifc4x3_rc1::IfcMotorConnectionType } Ifc4x3_rc1::IfcMotorConnectionTypeEnum::operator Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcNavigationElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[705]); } @@ -3789,7 +3789,7 @@ Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value Ifc4x3_rc1::IfcNavigationElement } Ifc4x3_rc1::IfcNavigationElementTypeEnum::operator Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcNullStyle::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[708]); } @@ -3816,7 +3816,7 @@ Ifc4x3_rc1::IfcNullStyle::Value Ifc4x3_rc1::IfcNullStyle::FromString(const std:: } Ifc4x3_rc1::IfcNullStyle::operator Ifc4x3_rc1::IfcNullStyle::Value() const { - return (Ifc4x3_rc1::IfcNullStyle::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcNullStyle::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcObjectTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[716]); } @@ -3843,7 +3843,7 @@ Ifc4x3_rc1::IfcObjectTypeEnum::Value Ifc4x3_rc1::IfcObjectTypeEnum::FromString(c } Ifc4x3_rc1::IfcObjectTypeEnum::operator Ifc4x3_rc1::IfcObjectTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcObjectTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcObjectTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcObjectiveEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[713]); } @@ -3870,7 +3870,7 @@ Ifc4x3_rc1::IfcObjectiveEnum::Value Ifc4x3_rc1::IfcObjectiveEnum::FromString(con } Ifc4x3_rc1::IfcObjectiveEnum::operator Ifc4x3_rc1::IfcObjectiveEnum::Value() const { - return (Ifc4x3_rc1::IfcObjectiveEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcObjectiveEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcOccupantTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[718]); } @@ -3897,7 +3897,7 @@ Ifc4x3_rc1::IfcOccupantTypeEnum::Value Ifc4x3_rc1::IfcOccupantTypeEnum::FromStri } Ifc4x3_rc1::IfcOccupantTypeEnum::operator Ifc4x3_rc1::IfcOccupantTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcOccupantTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcOccupantTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcOpeningElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[725]); } @@ -3924,7 +3924,7 @@ Ifc4x3_rc1::IfcOpeningElementTypeEnum::Value Ifc4x3_rc1::IfcOpeningElementTypeEn } Ifc4x3_rc1::IfcOpeningElementTypeEnum::operator Ifc4x3_rc1::IfcOpeningElementTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcOpeningElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcOpeningElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcOutletTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[735]); } @@ -3951,7 +3951,7 @@ Ifc4x3_rc1::IfcOutletTypeEnum::Value Ifc4x3_rc1::IfcOutletTypeEnum::FromString(c } Ifc4x3_rc1::IfcOutletTypeEnum::operator Ifc4x3_rc1::IfcOutletTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcOutletTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcOutletTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[744]); } @@ -3978,7 +3978,7 @@ Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::Value Ifc4x3_rc1::IfcPerformanceHisto } Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::operator Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPermeableCoveringOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[745]); } @@ -4005,7 +4005,7 @@ Ifc4x3_rc1::IfcPermeableCoveringOperationEnum::Value Ifc4x3_rc1::IfcPermeableCov } Ifc4x3_rc1::IfcPermeableCoveringOperationEnum::operator Ifc4x3_rc1::IfcPermeableCoveringOperationEnum::Value() const { - return (Ifc4x3_rc1::IfcPermeableCoveringOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcPermeableCoveringOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPermitTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[748]); } @@ -4032,7 +4032,7 @@ Ifc4x3_rc1::IfcPermitTypeEnum::Value Ifc4x3_rc1::IfcPermitTypeEnum::FromString(c } Ifc4x3_rc1::IfcPermitTypeEnum::operator Ifc4x3_rc1::IfcPermitTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcPermitTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcPermitTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[753]); } @@ -4059,7 +4059,7 @@ Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value Ifc4x3_rc1::IfcPhysicalOrVirtualEnum } Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::operator Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value() const { - return (Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPileConstructionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[757]); } @@ -4086,7 +4086,7 @@ Ifc4x3_rc1::IfcPileConstructionEnum::Value Ifc4x3_rc1::IfcPileConstructionEnum:: } Ifc4x3_rc1::IfcPileConstructionEnum::operator Ifc4x3_rc1::IfcPileConstructionEnum::Value() const { - return (Ifc4x3_rc1::IfcPileConstructionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcPileConstructionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPileTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[759]); } @@ -4113,7 +4113,7 @@ Ifc4x3_rc1::IfcPileTypeEnum::Value Ifc4x3_rc1::IfcPileTypeEnum::FromString(const } Ifc4x3_rc1::IfcPileTypeEnum::operator Ifc4x3_rc1::IfcPileTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcPileTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcPileTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPipeFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[762]); } @@ -4140,7 +4140,7 @@ Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value Ifc4x3_rc1::IfcPipeFittingTypeEnum::Fr } Ifc4x3_rc1::IfcPipeFittingTypeEnum::operator Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPipeSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[765]); } @@ -4167,7 +4167,7 @@ Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Fr } Ifc4x3_rc1::IfcPipeSegmentTypeEnum::operator Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPlateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[777]); } @@ -4194,7 +4194,7 @@ Ifc4x3_rc1::IfcPlateTypeEnum::Value Ifc4x3_rc1::IfcPlateTypeEnum::FromString(con } Ifc4x3_rc1::IfcPlateTypeEnum::operator Ifc4x3_rc1::IfcPlateTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcPlateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcPlateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[800]); } @@ -4221,7 +4221,7 @@ Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x3_rc1::IfcPreferr } Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::operator Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Value() const { - return (Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcProcedureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[811]); } @@ -4248,7 +4248,7 @@ Ifc4x3_rc1::IfcProcedureTypeEnum::Value Ifc4x3_rc1::IfcProcedureTypeEnum::FromSt } Ifc4x3_rc1::IfcProcedureTypeEnum::operator Ifc4x3_rc1::IfcProcedureTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcProcedureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcProcedureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcProfileTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[821]); } @@ -4275,7 +4275,7 @@ Ifc4x3_rc1::IfcProfileTypeEnum::Value Ifc4x3_rc1::IfcProfileTypeEnum::FromString } Ifc4x3_rc1::IfcProfileTypeEnum::operator Ifc4x3_rc1::IfcProfileTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcProfileTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcProfileTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcProjectOrderTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[829]); } @@ -4302,7 +4302,7 @@ Ifc4x3_rc1::IfcProjectOrderTypeEnum::Value Ifc4x3_rc1::IfcProjectOrderTypeEnum:: } Ifc4x3_rc1::IfcProjectOrderTypeEnum::operator Ifc4x3_rc1::IfcProjectOrderTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcProjectOrderTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcProjectOrderTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[824]); } @@ -4329,7 +4329,7 @@ Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value Ifc4x3_rc1::IfcProjectedOrTrueLe } Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::operator Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value() const { - return (Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcProjectionElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[826]); } @@ -4356,7 +4356,7 @@ Ifc4x3_rc1::IfcProjectionElementTypeEnum::Value Ifc4x3_rc1::IfcProjectionElement } Ifc4x3_rc1::IfcProjectionElementTypeEnum::operator Ifc4x3_rc1::IfcProjectionElementTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcProjectionElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcProjectionElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[844]); } @@ -4383,7 +4383,7 @@ Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::Value Ifc4x3_rc1::IfcPropertySetTemp } Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::operator Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[852]); } @@ -4410,7 +4410,7 @@ Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3_rc1::IfcProtec } Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::operator Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[854]); } @@ -4437,7 +4437,7 @@ Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value Ifc4x3_rc1::IfcProtectiveDeviceTy } Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::operator Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcPumpTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[858]); } @@ -4464,7 +4464,7 @@ Ifc4x3_rc1::IfcPumpTypeEnum::Value Ifc4x3_rc1::IfcPumpTypeEnum::FromString(const } Ifc4x3_rc1::IfcPumpTypeEnum::operator Ifc4x3_rc1::IfcPumpTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcPumpTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcPumpTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcRailTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[872]); } @@ -4491,7 +4491,7 @@ Ifc4x3_rc1::IfcRailTypeEnum::Value Ifc4x3_rc1::IfcRailTypeEnum::FromString(const } Ifc4x3_rc1::IfcRailTypeEnum::operator Ifc4x3_rc1::IfcRailTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcRailTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcRailTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcRailingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[870]); } @@ -4518,7 +4518,7 @@ Ifc4x3_rc1::IfcRailingTypeEnum::Value Ifc4x3_rc1::IfcRailingTypeEnum::FromString } Ifc4x3_rc1::IfcRailingTypeEnum::operator Ifc4x3_rc1::IfcRailingTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcRailingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcRailingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcRailwayPartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[874]); } @@ -4545,7 +4545,7 @@ Ifc4x3_rc1::IfcRailwayPartTypeEnum::Value Ifc4x3_rc1::IfcRailwayPartTypeEnum::Fr } Ifc4x3_rc1::IfcRailwayPartTypeEnum::operator Ifc4x3_rc1::IfcRailwayPartTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcRailwayPartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcRailwayPartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcRampFlightTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[878]); } @@ -4572,7 +4572,7 @@ Ifc4x3_rc1::IfcRampFlightTypeEnum::Value Ifc4x3_rc1::IfcRampFlightTypeEnum::From } Ifc4x3_rc1::IfcRampFlightTypeEnum::operator Ifc4x3_rc1::IfcRampFlightTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcRampFlightTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcRampFlightTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcRampTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[880]); } @@ -4599,7 +4599,7 @@ Ifc4x3_rc1::IfcRampTypeEnum::Value Ifc4x3_rc1::IfcRampTypeEnum::FromString(const } Ifc4x3_rc1::IfcRampTypeEnum::operator Ifc4x3_rc1::IfcRampTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcRampTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcRampTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcRecurrenceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[890]); } @@ -4626,7 +4626,7 @@ Ifc4x3_rc1::IfcRecurrenceTypeEnum::Value Ifc4x3_rc1::IfcRecurrenceTypeEnum::From } Ifc4x3_rc1::IfcRecurrenceTypeEnum::operator Ifc4x3_rc1::IfcRecurrenceTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcRecurrenceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcRecurrenceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcReferentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[893]); } @@ -4653,7 +4653,7 @@ Ifc4x3_rc1::IfcReferentTypeEnum::Value Ifc4x3_rc1::IfcReferentTypeEnum::FromStri } Ifc4x3_rc1::IfcReferentTypeEnum::operator Ifc4x3_rc1::IfcReferentTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcReferentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcReferentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcReflectanceMethodEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[894]); } @@ -4680,7 +4680,7 @@ Ifc4x3_rc1::IfcReflectanceMethodEnum::Value Ifc4x3_rc1::IfcReflectanceMethodEnum } Ifc4x3_rc1::IfcReflectanceMethodEnum::operator Ifc4x3_rc1::IfcReflectanceMethodEnum::Value() const { - return (Ifc4x3_rc1::IfcReflectanceMethodEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcReflectanceMethodEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[897]); } @@ -4707,7 +4707,7 @@ Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::Value Ifc4x3_rc1::IfcReinforcedSoilTypeEn } Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::operator Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcReinforcingBarRoleEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[901]); } @@ -4734,7 +4734,7 @@ Ifc4x3_rc1::IfcReinforcingBarRoleEnum::Value Ifc4x3_rc1::IfcReinforcingBarRoleEn } Ifc4x3_rc1::IfcReinforcingBarRoleEnum::operator Ifc4x3_rc1::IfcReinforcingBarRoleEnum::Value() const { - return (Ifc4x3_rc1::IfcReinforcingBarRoleEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcReinforcingBarRoleEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[902]); } @@ -4761,7 +4761,7 @@ Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value Ifc4x3_rc1::IfcReinforcingBarSur } Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::operator Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value() const { - return (Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcReinforcingBarTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[904]); } @@ -4788,7 +4788,7 @@ Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value Ifc4x3_rc1::IfcReinforcingBarTypeEn } Ifc4x3_rc1::IfcReinforcingBarTypeEnum::operator Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[909]); } @@ -4815,7 +4815,7 @@ Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value Ifc4x3_rc1::IfcReinforcingMeshType } Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::operator Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcRoadPartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[977]); } @@ -4842,7 +4842,7 @@ Ifc4x3_rc1::IfcRoadPartTypeEnum::Value Ifc4x3_rc1::IfcRoadPartTypeEnum::FromStri } Ifc4x3_rc1::IfcRoadPartTypeEnum::operator Ifc4x3_rc1::IfcRoadPartTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcRoadPartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcRoadPartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcRoleEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[978]); } @@ -4869,7 +4869,7 @@ Ifc4x3_rc1::IfcRoleEnum::Value Ifc4x3_rc1::IfcRoleEnum::FromString(const std::st } Ifc4x3_rc1::IfcRoleEnum::operator Ifc4x3_rc1::IfcRoleEnum::Value() const { - return (Ifc4x3_rc1::IfcRoleEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcRoleEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcRoofTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[981]); } @@ -4896,7 +4896,7 @@ Ifc4x3_rc1::IfcRoofTypeEnum::Value Ifc4x3_rc1::IfcRoofTypeEnum::FromString(const } Ifc4x3_rc1::IfcRoofTypeEnum::operator Ifc4x3_rc1::IfcRoofTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcRoofTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcRoofTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSIPrefix::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1026]); } @@ -4923,7 +4923,7 @@ Ifc4x3_rc1::IfcSIPrefix::Value Ifc4x3_rc1::IfcSIPrefix::FromString(const std::st } Ifc4x3_rc1::IfcSIPrefix::operator Ifc4x3_rc1::IfcSIPrefix::Value() const { - return (Ifc4x3_rc1::IfcSIPrefix::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcSIPrefix::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSIUnitName::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1029]); } @@ -4950,7 +4950,7 @@ Ifc4x3_rc1::IfcSIUnitName::Value Ifc4x3_rc1::IfcSIUnitName::FromString(const std } Ifc4x3_rc1::IfcSIUnitName::operator Ifc4x3_rc1::IfcSIUnitName::Value() const { - return (Ifc4x3_rc1::IfcSIUnitName::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcSIUnitName::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[990]); } @@ -4977,7 +4977,7 @@ Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value Ifc4x3_rc1::IfcSanitaryTerminalTy } Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::operator Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1001]); } @@ -5004,7 +5004,7 @@ Ifc4x3_rc1::IfcSectionTypeEnum::Value Ifc4x3_rc1::IfcSectionTypeEnum::FromString } Ifc4x3_rc1::IfcSectionTypeEnum::operator Ifc4x3_rc1::IfcSectionTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcSectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcSectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSensorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1005]); } @@ -5031,7 +5031,7 @@ Ifc4x3_rc1::IfcSensorTypeEnum::Value Ifc4x3_rc1::IfcSensorTypeEnum::FromString(c } Ifc4x3_rc1::IfcSensorTypeEnum::operator Ifc4x3_rc1::IfcSensorTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcSensorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcSensorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSequenceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1006]); } @@ -5058,7 +5058,7 @@ Ifc4x3_rc1::IfcSequenceEnum::Value Ifc4x3_rc1::IfcSequenceEnum::FromString(const } Ifc4x3_rc1::IfcSequenceEnum::operator Ifc4x3_rc1::IfcSequenceEnum::Value() const { - return (Ifc4x3_rc1::IfcSequenceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcSequenceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcShadingDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1009]); } @@ -5085,7 +5085,7 @@ Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Value Ifc4x3_rc1::IfcShadingDeviceTypeEnum } Ifc4x3_rc1::IfcShadingDeviceTypeEnum::operator Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSignTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1021]); } @@ -5112,7 +5112,7 @@ Ifc4x3_rc1::IfcSignTypeEnum::Value Ifc4x3_rc1::IfcSignTypeEnum::FromString(const } Ifc4x3_rc1::IfcSignTypeEnum::operator Ifc4x3_rc1::IfcSignTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcSignTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcSignTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSignalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1019]); } @@ -5139,7 +5139,7 @@ Ifc4x3_rc1::IfcSignalTypeEnum::Value Ifc4x3_rc1::IfcSignalTypeEnum::FromString(c } Ifc4x3_rc1::IfcSignalTypeEnum::operator Ifc4x3_rc1::IfcSignalTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcSignalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcSignalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1024]); } @@ -5166,7 +5166,7 @@ Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::Value Ifc4x3_rc1::IfcSimpleProper } Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::operator Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSlabTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1035]); } @@ -5193,7 +5193,7 @@ Ifc4x3_rc1::IfcSlabTypeEnum::Value Ifc4x3_rc1::IfcSlabTypeEnum::FromString(const } Ifc4x3_rc1::IfcSlabTypeEnum::operator Ifc4x3_rc1::IfcSlabTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcSlabTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcSlabTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSolarDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1039]); } @@ -5220,7 +5220,7 @@ Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Fr } Ifc4x3_rc1::IfcSolarDeviceTypeEnum::operator Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1052]); } @@ -5247,7 +5247,7 @@ Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Fr } Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::operator Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSpaceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1054]); } @@ -5274,7 +5274,7 @@ Ifc4x3_rc1::IfcSpaceTypeEnum::Value Ifc4x3_rc1::IfcSpaceTypeEnum::FromString(con } Ifc4x3_rc1::IfcSpaceTypeEnum::operator Ifc4x3_rc1::IfcSpaceTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcSpaceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcSpaceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSpatialZoneTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1062]); } @@ -5301,7 +5301,7 @@ Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Fr } Ifc4x3_rc1::IfcSpatialZoneTypeEnum::operator Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcStackTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1071]); } @@ -5328,7 +5328,7 @@ Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value Ifc4x3_rc1::IfcStackTerminalTypeEnum } Ifc4x3_rc1::IfcStackTerminalTypeEnum::operator Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcStairFlightTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1075]); } @@ -5355,7 +5355,7 @@ Ifc4x3_rc1::IfcStairFlightTypeEnum::Value Ifc4x3_rc1::IfcStairFlightTypeEnum::Fr } Ifc4x3_rc1::IfcStairFlightTypeEnum::operator Ifc4x3_rc1::IfcStairFlightTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcStairFlightTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcStairFlightTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcStairTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1077]); } @@ -5382,7 +5382,7 @@ Ifc4x3_rc1::IfcStairTypeEnum::Value Ifc4x3_rc1::IfcStairTypeEnum::FromString(con } Ifc4x3_rc1::IfcStairTypeEnum::operator Ifc4x3_rc1::IfcStairTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcStairTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcStairTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcStateEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1078]); } @@ -5409,7 +5409,7 @@ Ifc4x3_rc1::IfcStateEnum::Value Ifc4x3_rc1::IfcStateEnum::FromString(const std:: } Ifc4x3_rc1::IfcStateEnum::operator Ifc4x3_rc1::IfcStateEnum::Value() const { - return (Ifc4x3_rc1::IfcStateEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcStateEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1086]); } @@ -5436,7 +5436,7 @@ Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_rc1::IfcStructuralC } Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::operator Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1089]); } @@ -5463,7 +5463,7 @@ Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_rc1::IfcStructuralCur } Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::operator Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1115]); } @@ -5490,7 +5490,7 @@ Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_rc1::IfcStructura } Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::operator Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1118]); } @@ -5517,7 +5517,7 @@ Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_rc1::IfcStructuralS } Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::operator Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSubContractResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1127]); } @@ -5544,7 +5544,7 @@ Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Value Ifc4x3_rc1::IfcSubContractReso } Ifc4x3_rc1::IfcSubContractResourceTypeEnum::operator Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1133]); } @@ -5571,7 +5571,7 @@ Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::Value Ifc4x3_rc1::IfcSurfaceFeatureTypeEn } Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::operator Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSurfaceSide::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1138]); } @@ -5598,7 +5598,7 @@ Ifc4x3_rc1::IfcSurfaceSide::Value Ifc4x3_rc1::IfcSurfaceSide::FromString(const s } Ifc4x3_rc1::IfcSurfaceSide::operator Ifc4x3_rc1::IfcSurfaceSide::Value() const { - return (Ifc4x3_rc1::IfcSurfaceSide::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcSurfaceSide::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1153]); } @@ -5625,7 +5625,7 @@ Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value Ifc4x3_rc1::IfcSwitchingDeviceType } Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::operator Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1157]); } @@ -5652,7 +5652,7 @@ Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value Ifc4x3_rc1::IfcSystemFurnit } Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::operator Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTankTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1163]); } @@ -5679,7 +5679,7 @@ Ifc4x3_rc1::IfcTankTypeEnum::Value Ifc4x3_rc1::IfcTankTypeEnum::FromString(const } Ifc4x3_rc1::IfcTankTypeEnum::operator Ifc4x3_rc1::IfcTankTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcTankTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcTankTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTaskDurationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1165]); } @@ -5706,7 +5706,7 @@ Ifc4x3_rc1::IfcTaskDurationEnum::Value Ifc4x3_rc1::IfcTaskDurationEnum::FromStri } Ifc4x3_rc1::IfcTaskDurationEnum::operator Ifc4x3_rc1::IfcTaskDurationEnum::Value() const { - return (Ifc4x3_rc1::IfcTaskDurationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcTaskDurationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTaskTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1169]); } @@ -5733,7 +5733,7 @@ Ifc4x3_rc1::IfcTaskTypeEnum::Value Ifc4x3_rc1::IfcTaskTypeEnum::FromString(const } Ifc4x3_rc1::IfcTaskTypeEnum::operator Ifc4x3_rc1::IfcTaskTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcTaskTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcTaskTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTendonAnchorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1176]); } @@ -5760,7 +5760,7 @@ Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value Ifc4x3_rc1::IfcTendonAnchorTypeEnum:: } Ifc4x3_rc1::IfcTendonAnchorTypeEnum::operator Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTendonConduitTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1179]); } @@ -5787,7 +5787,7 @@ Ifc4x3_rc1::IfcTendonConduitTypeEnum::Value Ifc4x3_rc1::IfcTendonConduitTypeEnum } Ifc4x3_rc1::IfcTendonConduitTypeEnum::operator Ifc4x3_rc1::IfcTendonConduitTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcTendonConduitTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcTendonConduitTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTendonTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1181]); } @@ -5814,7 +5814,7 @@ Ifc4x3_rc1::IfcTendonTypeEnum::Value Ifc4x3_rc1::IfcTendonTypeEnum::FromString(c } Ifc4x3_rc1::IfcTendonTypeEnum::operator Ifc4x3_rc1::IfcTendonTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcTendonTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcTendonTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTextPath::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1191]); } @@ -5841,7 +5841,7 @@ Ifc4x3_rc1::IfcTextPath::Value Ifc4x3_rc1::IfcTextPath::FromString(const std::st } Ifc4x3_rc1::IfcTextPath::operator Ifc4x3_rc1::IfcTextPath::Value() const { - return (Ifc4x3_rc1::IfcTextPath::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcTextPath::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1213]); } @@ -5868,7 +5868,7 @@ Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Value Ifc4x3_rc1::IfcTimeSeriesDataTypeEn } Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::operator Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTrackElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1222]); } @@ -5895,7 +5895,7 @@ Ifc4x3_rc1::IfcTrackElementTypeEnum::Value Ifc4x3_rc1::IfcTrackElementTypeEnum:: } Ifc4x3_rc1::IfcTrackElementTypeEnum::operator Ifc4x3_rc1::IfcTrackElementTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcTrackElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcTrackElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTransformerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1225]); } @@ -5922,7 +5922,7 @@ Ifc4x3_rc1::IfcTransformerTypeEnum::Value Ifc4x3_rc1::IfcTransformerTypeEnum::Fr } Ifc4x3_rc1::IfcTransformerTypeEnum::operator Ifc4x3_rc1::IfcTransformerTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcTransformerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcTransformerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTransitionCode::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1226]); } @@ -5949,7 +5949,7 @@ Ifc4x3_rc1::IfcTransitionCode::Value Ifc4x3_rc1::IfcTransitionCode::FromString(c } Ifc4x3_rc1::IfcTransitionCode::operator Ifc4x3_rc1::IfcTransitionCode::Value() const { - return (Ifc4x3_rc1::IfcTransitionCode::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcTransitionCode::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTransitionCurveType::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1228]); } @@ -5976,7 +5976,7 @@ Ifc4x3_rc1::IfcTransitionCurveType::Value Ifc4x3_rc1::IfcTransitionCurveType::Fr } Ifc4x3_rc1::IfcTransitionCurveType::operator Ifc4x3_rc1::IfcTransitionCurveType::Value() const { - return (Ifc4x3_rc1::IfcTransitionCurveType::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcTransitionCurveType::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTransportElementFixedTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1231]); } @@ -6003,7 +6003,7 @@ Ifc4x3_rc1::IfcTransportElementFixedTypeEnum::Value Ifc4x3_rc1::IfcTransportElem } Ifc4x3_rc1::IfcTransportElementFixedTypeEnum::operator Ifc4x3_rc1::IfcTransportElementFixedTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcTransportElementFixedTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcTransportElementFixedTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTransportElementNonFixedTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1232]); } @@ -6030,7 +6030,7 @@ Ifc4x3_rc1::IfcTransportElementNonFixedTypeEnum::Value Ifc4x3_rc1::IfcTransportE } Ifc4x3_rc1::IfcTransportElementNonFixedTypeEnum::operator Ifc4x3_rc1::IfcTransportElementNonFixedTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcTransportElementNonFixedTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcTransportElementNonFixedTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTrimmingPreference::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1239]); } @@ -6057,7 +6057,7 @@ Ifc4x3_rc1::IfcTrimmingPreference::Value Ifc4x3_rc1::IfcTrimmingPreference::From } Ifc4x3_rc1::IfcTrimmingPreference::operator Ifc4x3_rc1::IfcTrimmingPreference::Value() const { - return (Ifc4x3_rc1::IfcTrimmingPreference::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcTrimmingPreference::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcTubeBundleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1244]); } @@ -6084,7 +6084,7 @@ Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value Ifc4x3_rc1::IfcTubeBundleTypeEnum::From } Ifc4x3_rc1::IfcTubeBundleTypeEnum::operator Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcUnitEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1257]); } @@ -6111,7 +6111,7 @@ Ifc4x3_rc1::IfcUnitEnum::Value Ifc4x3_rc1::IfcUnitEnum::FromString(const std::st } Ifc4x3_rc1::IfcUnitEnum::operator Ifc4x3_rc1::IfcUnitEnum::Value() const { - return (Ifc4x3_rc1::IfcUnitEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcUnitEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1252]); } @@ -6138,7 +6138,7 @@ Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value Ifc4x3_rc1::IfcUnitaryContro } Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::operator Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1255]); } @@ -6165,7 +6165,7 @@ Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3_rc1::IfcUnitaryEquipmentTy } Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::operator Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcValveTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1263]); } @@ -6192,7 +6192,7 @@ Ifc4x3_rc1::IfcValveTypeEnum::Value Ifc4x3_rc1::IfcValveTypeEnum::FromString(con } Ifc4x3_rc1::IfcValveTypeEnum::operator Ifc4x3_rc1::IfcValveTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcValveTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcValveTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcVibrationDamperTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1272]); } @@ -6219,7 +6219,7 @@ Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value Ifc4x3_rc1::IfcVibrationDamperType } Ifc4x3_rc1::IfcVibrationDamperTypeEnum::operator Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1275]); } @@ -6246,7 +6246,7 @@ Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value Ifc4x3_rc1::IfcVibrationIsolator } Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::operator Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1279]); } @@ -6273,7 +6273,7 @@ Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::Value Ifc4x3_rc1::IfcVoidingFeatureTypeEn } Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::operator Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcWallTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1287]); } @@ -6300,7 +6300,7 @@ Ifc4x3_rc1::IfcWallTypeEnum::Value Ifc4x3_rc1::IfcWallTypeEnum::FromString(const } Ifc4x3_rc1::IfcWallTypeEnum::operator Ifc4x3_rc1::IfcWallTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcWallTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcWallTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcWasteTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1293]); } @@ -6327,7 +6327,7 @@ Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value Ifc4x3_rc1::IfcWasteTerminalTypeEnum } Ifc4x3_rc1::IfcWasteTerminalTypeEnum::operator Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcWindowPanelOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1297]); } @@ -6354,7 +6354,7 @@ Ifc4x3_rc1::IfcWindowPanelOperationEnum::Value Ifc4x3_rc1::IfcWindowPanelOperati } Ifc4x3_rc1::IfcWindowPanelOperationEnum::operator Ifc4x3_rc1::IfcWindowPanelOperationEnum::Value() const { - return (Ifc4x3_rc1::IfcWindowPanelOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcWindowPanelOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcWindowPanelPositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1298]); } @@ -6381,7 +6381,7 @@ Ifc4x3_rc1::IfcWindowPanelPositionEnum::Value Ifc4x3_rc1::IfcWindowPanelPosition } Ifc4x3_rc1::IfcWindowPanelPositionEnum::operator Ifc4x3_rc1::IfcWindowPanelPositionEnum::Value() const { - return (Ifc4x3_rc1::IfcWindowPanelPositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcWindowPanelPositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcWindowStyleConstructionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1302]); } @@ -6408,7 +6408,7 @@ Ifc4x3_rc1::IfcWindowStyleConstructionEnum::Value Ifc4x3_rc1::IfcWindowStyleCons } Ifc4x3_rc1::IfcWindowStyleConstructionEnum::operator Ifc4x3_rc1::IfcWindowStyleConstructionEnum::Value() const { - return (Ifc4x3_rc1::IfcWindowStyleConstructionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcWindowStyleConstructionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcWindowStyleOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1303]); } @@ -6435,7 +6435,7 @@ Ifc4x3_rc1::IfcWindowStyleOperationEnum::Value Ifc4x3_rc1::IfcWindowStyleOperati } Ifc4x3_rc1::IfcWindowStyleOperationEnum::operator Ifc4x3_rc1::IfcWindowStyleOperationEnum::Value() const { - return (Ifc4x3_rc1::IfcWindowStyleOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcWindowStyleOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcWindowTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1305]); } @@ -6462,7 +6462,7 @@ Ifc4x3_rc1::IfcWindowTypeEnum::Value Ifc4x3_rc1::IfcWindowTypeEnum::FromString(c } Ifc4x3_rc1::IfcWindowTypeEnum::operator Ifc4x3_rc1::IfcWindowTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcWindowTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcWindowTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcWindowTypePartitioningEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1306]); } @@ -6489,7 +6489,7 @@ Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Value Ifc4x3_rc1::IfcWindowTypePartit } Ifc4x3_rc1::IfcWindowTypePartitioningEnum::operator Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Value() const { - return (Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcWorkCalendarTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1308]); } @@ -6516,7 +6516,7 @@ Ifc4x3_rc1::IfcWorkCalendarTypeEnum::Value Ifc4x3_rc1::IfcWorkCalendarTypeEnum:: } Ifc4x3_rc1::IfcWorkCalendarTypeEnum::operator Ifc4x3_rc1::IfcWorkCalendarTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcWorkCalendarTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcWorkCalendarTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcWorkPlanTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1311]); } @@ -6543,7 +6543,7 @@ Ifc4x3_rc1::IfcWorkPlanTypeEnum::Value Ifc4x3_rc1::IfcWorkPlanTypeEnum::FromStri } Ifc4x3_rc1::IfcWorkPlanTypeEnum::operator Ifc4x3_rc1::IfcWorkPlanTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcWorkPlanTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcWorkPlanTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc1::IfcWorkScheduleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC1_types[1313]); } @@ -6570,7 +6570,7 @@ Ifc4x3_rc1::IfcWorkScheduleTypeEnum::Value Ifc4x3_rc1::IfcWorkScheduleTypeEnum:: } Ifc4x3_rc1::IfcWorkScheduleTypeEnum::operator Ifc4x3_rc1::IfcWorkScheduleTypeEnum::Value() const { - return (Ifc4x3_rc1::IfcWorkScheduleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc1::IfcWorkScheduleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::select_type& Ifc4x3_rc1::IfcActorSelect::Class() { return *((IfcParse::select_type*)IFC4X3_RC1_types[8]); } @@ -6711,928 +6711,928 @@ const IfcParse::type_declaration& Ifc4x3_rc1::IfcAbsorbedDoseMeasure::Class() { const IfcParse::type_declaration& Ifc4x3_rc1::IfcAbsorbedDoseMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[0]); } Ifc4x3_rc1::IfcAbsorbedDoseMeasure::IfcAbsorbedDoseMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcAbsorbedDoseMeasure::IfcAbsorbedDoseMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcAbsorbedDoseMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcAbsorbedDoseMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAccelerationMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcAccelerationMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcAccelerationMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1]); } Ifc4x3_rc1::IfcAccelerationMeasure::IfcAccelerationMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcAccelerationMeasure::IfcAccelerationMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcAccelerationMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcAccelerationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAmountOfSubstanceMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcAmountOfSubstanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[45]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcAmountOfSubstanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[45]); } Ifc4x3_rc1::IfcAmountOfSubstanceMeasure::IfcAmountOfSubstanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcAmountOfSubstanceMeasure::IfcAmountOfSubstanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcAmountOfSubstanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcAmountOfSubstanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAngularVelocityMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcAngularVelocityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[48]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcAngularVelocityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[48]); } Ifc4x3_rc1::IfcAngularVelocityMeasure::IfcAngularVelocityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcAngularVelocityMeasure::IfcAngularVelocityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcAngularVelocityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcAngularVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcArcIndex const IfcParse::type_declaration& Ifc4x3_rc1::IfcArcIndex::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[60]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcArcIndex::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[60]); } Ifc4x3_rc1::IfcArcIndex::IfcArcIndex(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcArcIndex::IfcArcIndex(std::vector< int > /*[3:3]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return get_attribute_value(0); } // Function implementations for IfcAreaDensityMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcAreaDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[61]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcAreaDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[61]); } Ifc4x3_rc1::IfcAreaDensityMeasure::IfcAreaDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcAreaDensityMeasure::IfcAreaDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcAreaDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcAreaDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAreaMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcAreaMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[62]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcAreaMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[62]); } Ifc4x3_rc1::IfcAreaMeasure::IfcAreaMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcAreaMeasure::IfcAreaMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcAreaMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcAreaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcBinary const IfcParse::type_declaration& Ifc4x3_rc1::IfcBinary::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[85]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcBinary::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[85]); } Ifc4x3_rc1::IfcBinary::IfcBinary(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcBinary::IfcBinary(boost::dynamic_bitset<> v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcBinary::operator boost::dynamic_bitset<>() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcBinary::operator boost::dynamic_bitset<>() const { return get_attribute_value(0); } // Function implementations for IfcBoolean const IfcParse::type_declaration& Ifc4x3_rc1::IfcBoolean::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[91]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcBoolean::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[91]); } Ifc4x3_rc1::IfcBoolean::IfcBoolean(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcBoolean::IfcBoolean(bool v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcBoolean::operator bool() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcBoolean::operator bool() const { return get_attribute_value(0); } // Function implementations for IfcBoxAlignment const IfcParse::type_declaration& Ifc4x3_rc1::IfcBoxAlignment::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[106]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcBoxAlignment::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[106]); } Ifc4x3_rc1::IfcBoxAlignment::IfcBoxAlignment(IfcEntityInstanceData&& e) : IfcLabel(std::move(e)) { } Ifc4x3_rc1::IfcBoxAlignment::IfcBoxAlignment(std::string v) : IfcLabel(v) { } -Ifc4x3_rc1::IfcBoxAlignment::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcBoxAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcCardinalPointReference const IfcParse::type_declaration& Ifc4x3_rc1::IfcCardinalPointReference::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[150]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcCardinalPointReference::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[150]); } Ifc4x3_rc1::IfcCardinalPointReference::IfcCardinalPointReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcCardinalPointReference::IfcCardinalPointReference(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcCardinalPointReference::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcCardinalPointReference::operator int() const { return get_attribute_value(0); } // Function implementations for IfcComplexNumber const IfcParse::type_declaration& Ifc4x3_rc1::IfcComplexNumber::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[194]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcComplexNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[194]); } Ifc4x3_rc1::IfcComplexNumber::IfcComplexNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcComplexNumber::IfcComplexNumber(std::vector< double > /*[1:2]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return get_attribute_value(0); } // Function implementations for IfcCompoundPlaneAngleMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcCompoundPlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[202]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcCompoundPlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[202]); } Ifc4x3_rc1::IfcCompoundPlaneAngleMeasure::IfcCompoundPlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcCompoundPlaneAngleMeasure::IfcCompoundPlaneAngleMeasure(std::vector< int > /*[3:4]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return get_attribute_value(0); } // Function implementations for IfcContextDependentMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcContextDependentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[232]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcContextDependentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[232]); } Ifc4x3_rc1::IfcContextDependentMeasure::IfcContextDependentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcContextDependentMeasure::IfcContextDependentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcContextDependentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcContextDependentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCountMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcCountMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[257]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcCountMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[257]); } Ifc4x3_rc1::IfcCountMeasure::IfcCountMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcCountMeasure::IfcCountMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcCountMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcCountMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCurvatureMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcCurvatureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[275]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcCurvatureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[275]); } Ifc4x3_rc1::IfcCurvatureMeasure::IfcCurvatureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcCurvatureMeasure::IfcCurvatureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcCurvatureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcCurvatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDate const IfcParse::type_declaration& Ifc4x3_rc1::IfcDate::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[294]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcDate::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[294]); } Ifc4x3_rc1::IfcDate::IfcDate(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcDate::IfcDate(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcDate::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcDate::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDateTime const IfcParse::type_declaration& Ifc4x3_rc1::IfcDateTime::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[295]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcDateTime::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[295]); } Ifc4x3_rc1::IfcDateTime::IfcDateTime(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcDateTime::IfcDateTime(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcDateTime::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcDateTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDayInMonthNumber const IfcParse::type_declaration& Ifc4x3_rc1::IfcDayInMonthNumber::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[296]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcDayInMonthNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[296]); } Ifc4x3_rc1::IfcDayInMonthNumber::IfcDayInMonthNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcDayInMonthNumber::IfcDayInMonthNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcDayInMonthNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcDayInMonthNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDayInWeekNumber const IfcParse::type_declaration& Ifc4x3_rc1::IfcDayInWeekNumber::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[297]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcDayInWeekNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[297]); } Ifc4x3_rc1::IfcDayInWeekNumber::IfcDayInWeekNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcDayInWeekNumber::IfcDayInWeekNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcDayInWeekNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcDayInWeekNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDescriptiveMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcDescriptiveMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[306]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcDescriptiveMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[306]); } Ifc4x3_rc1::IfcDescriptiveMeasure::IfcDescriptiveMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcDescriptiveMeasure::IfcDescriptiveMeasure(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcDescriptiveMeasure::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcDescriptiveMeasure::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDimensionCount const IfcParse::type_declaration& Ifc4x3_rc1::IfcDimensionCount::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[308]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcDimensionCount::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[308]); } Ifc4x3_rc1::IfcDimensionCount::IfcDimensionCount(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcDimensionCount::IfcDimensionCount(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcDimensionCount::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcDimensionCount::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDoseEquivalentMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcDoseEquivalentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[352]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcDoseEquivalentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[352]); } Ifc4x3_rc1::IfcDoseEquivalentMeasure::IfcDoseEquivalentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcDoseEquivalentMeasure::IfcDoseEquivalentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcDoseEquivalentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcDoseEquivalentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDuration const IfcParse::type_declaration& Ifc4x3_rc1::IfcDuration::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[364]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcDuration::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[364]); } Ifc4x3_rc1::IfcDuration::IfcDuration(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcDuration::IfcDuration(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcDuration::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcDuration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDynamicViscosityMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcDynamicViscosityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[365]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcDynamicViscosityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[365]); } Ifc4x3_rc1::IfcDynamicViscosityMeasure::IfcDynamicViscosityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcDynamicViscosityMeasure::IfcDynamicViscosityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcDynamicViscosityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcDynamicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCapacitanceMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcElectricCapacitanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[377]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcElectricCapacitanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[377]); } Ifc4x3_rc1::IfcElectricCapacitanceMeasure::IfcElectricCapacitanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcElectricCapacitanceMeasure::IfcElectricCapacitanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcElectricCapacitanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcElectricCapacitanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricChargeMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcElectricChargeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[378]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcElectricChargeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[378]); } Ifc4x3_rc1::IfcElectricChargeMeasure::IfcElectricChargeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcElectricChargeMeasure::IfcElectricChargeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcElectricChargeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcElectricChargeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricConductanceMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcElectricConductanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[379]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcElectricConductanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[379]); } Ifc4x3_rc1::IfcElectricConductanceMeasure::IfcElectricConductanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcElectricConductanceMeasure::IfcElectricConductanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcElectricConductanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcElectricConductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCurrentMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcElectricCurrentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[380]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcElectricCurrentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[380]); } Ifc4x3_rc1::IfcElectricCurrentMeasure::IfcElectricCurrentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcElectricCurrentMeasure::IfcElectricCurrentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcElectricCurrentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcElectricCurrentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricResistanceMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcElectricResistanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[396]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcElectricResistanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[396]); } Ifc4x3_rc1::IfcElectricResistanceMeasure::IfcElectricResistanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcElectricResistanceMeasure::IfcElectricResistanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcElectricResistanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcElectricResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricVoltageMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcElectricVoltageMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[400]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcElectricVoltageMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[400]); } Ifc4x3_rc1::IfcElectricVoltageMeasure::IfcElectricVoltageMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcElectricVoltageMeasure::IfcElectricVoltageMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcElectricVoltageMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcElectricVoltageMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcEnergyMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcEnergyMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[415]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcEnergyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[415]); } Ifc4x3_rc1::IfcEnergyMeasure::IfcEnergyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcEnergyMeasure::IfcEnergyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcEnergyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcEnergyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFontStyle const IfcParse::type_declaration& Ifc4x3_rc1::IfcFontStyle::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[496]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcFontStyle::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[496]); } Ifc4x3_rc1::IfcFontStyle::IfcFontStyle(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcFontStyle::IfcFontStyle(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcFontStyle::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcFontStyle::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontVariant const IfcParse::type_declaration& Ifc4x3_rc1::IfcFontVariant::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[497]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcFontVariant::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[497]); } Ifc4x3_rc1::IfcFontVariant::IfcFontVariant(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcFontVariant::IfcFontVariant(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcFontVariant::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcFontVariant::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontWeight const IfcParse::type_declaration& Ifc4x3_rc1::IfcFontWeight::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[498]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcFontWeight::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[498]); } Ifc4x3_rc1::IfcFontWeight::IfcFontWeight(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcFontWeight::IfcFontWeight(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcFontWeight::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcFontWeight::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcForceMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[502]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[502]); } Ifc4x3_rc1::IfcForceMeasure::IfcForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcForceMeasure::IfcForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFrequencyMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcFrequencyMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[503]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcFrequencyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[503]); } Ifc4x3_rc1::IfcFrequencyMeasure::IfcFrequencyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcFrequencyMeasure::IfcFrequencyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcFrequencyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcGloballyUniqueId const IfcParse::type_declaration& Ifc4x3_rc1::IfcGloballyUniqueId::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[524]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcGloballyUniqueId::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[524]); } Ifc4x3_rc1::IfcGloballyUniqueId::IfcGloballyUniqueId(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcGloballyUniqueId::IfcGloballyUniqueId(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcGloballyUniqueId::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcGloballyUniqueId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcHeatFluxDensityMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcHeatFluxDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[537]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcHeatFluxDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[537]); } Ifc4x3_rc1::IfcHeatFluxDensityMeasure::IfcHeatFluxDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcHeatFluxDensityMeasure::IfcHeatFluxDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcHeatFluxDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcHeatFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcHeatingValueMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcHeatingValueMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[538]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcHeatingValueMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[538]); } Ifc4x3_rc1::IfcHeatingValueMeasure::IfcHeatingValueMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcHeatingValueMeasure::IfcHeatingValueMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcHeatingValueMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcHeatingValueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIdentifier const IfcParse::type_declaration& Ifc4x3_rc1::IfcIdentifier::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[542]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcIdentifier::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[542]); } Ifc4x3_rc1::IfcIdentifier::IfcIdentifier(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcIdentifier::IfcIdentifier(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcIdentifier::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcIdentifier::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcIlluminanceMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcIlluminanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[543]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcIlluminanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[543]); } Ifc4x3_rc1::IfcIlluminanceMeasure::IfcIlluminanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcIlluminanceMeasure::IfcIlluminanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcIlluminanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcIlluminanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInductanceMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcInductanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[556]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcInductanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[556]); } Ifc4x3_rc1::IfcInductanceMeasure::IfcInductanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcInductanceMeasure::IfcInductanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcInductanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcInductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInteger const IfcParse::type_declaration& Ifc4x3_rc1::IfcInteger::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[557]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcInteger::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[557]); } Ifc4x3_rc1::IfcInteger::IfcInteger(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcInteger::IfcInteger(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcInteger::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIntegerCountRateMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcIntegerCountRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[558]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcIntegerCountRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[558]); } Ifc4x3_rc1::IfcIntegerCountRateMeasure::IfcIntegerCountRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcIntegerCountRateMeasure::IfcIntegerCountRateMeasure(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcIntegerCountRateMeasure::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcIntegerCountRateMeasure::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIonConcentrationMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcIonConcentrationMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[567]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcIonConcentrationMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[567]); } Ifc4x3_rc1::IfcIonConcentrationMeasure::IfcIonConcentrationMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcIonConcentrationMeasure::IfcIonConcentrationMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcIonConcentrationMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcIonConcentrationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIsothermalMoistureCapacityMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcIsothermalMoistureCapacityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[571]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcIsothermalMoistureCapacityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[571]); } Ifc4x3_rc1::IfcIsothermalMoistureCapacityMeasure::IfcIsothermalMoistureCapacityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcIsothermalMoistureCapacityMeasure::IfcIsothermalMoistureCapacityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcIsothermalMoistureCapacityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcIsothermalMoistureCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcKinematicViscosityMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcKinematicViscosityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[577]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcKinematicViscosityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[577]); } Ifc4x3_rc1::IfcKinematicViscosityMeasure::IfcKinematicViscosityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcKinematicViscosityMeasure::IfcKinematicViscosityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcKinematicViscosityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcKinematicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLabel const IfcParse::type_declaration& Ifc4x3_rc1::IfcLabel::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[579]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcLabel::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[579]); } Ifc4x3_rc1::IfcLabel::IfcLabel(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcLabel::IfcLabel(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcLabel::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcLabel::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLanguageId const IfcParse::type_declaration& Ifc4x3_rc1::IfcLanguageId::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[587]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcLanguageId::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[587]); } Ifc4x3_rc1::IfcLanguageId::IfcLanguageId(IfcEntityInstanceData&& e) : IfcIdentifier(std::move(e)) { } Ifc4x3_rc1::IfcLanguageId::IfcLanguageId(std::string v) : IfcIdentifier(v) { } -Ifc4x3_rc1::IfcLanguageId::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcLanguageId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLengthMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[590]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[590]); } Ifc4x3_rc1::IfcLengthMeasure::IfcLengthMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcLengthMeasure::IfcLengthMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLineIndex const IfcParse::type_declaration& Ifc4x3_rc1::IfcLineIndex::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[619]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcLineIndex::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[619]); } Ifc4x3_rc1::IfcLineIndex::IfcLineIndex(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcLineIndex::IfcLineIndex(std::vector< int > /*[2:?]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return get_attribute_value(0); } // Function implementations for IfcLinearForceMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcLinearForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[611]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcLinearForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[611]); } Ifc4x3_rc1::IfcLinearForceMeasure::IfcLinearForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcLinearForceMeasure::IfcLinearForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcLinearForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcLinearForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearMomentMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcLinearMomentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[612]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcLinearMomentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[612]); } Ifc4x3_rc1::IfcLinearMomentMeasure::IfcLinearMomentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcLinearMomentMeasure::IfcLinearMomentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcLinearMomentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcLinearMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearStiffnessMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcLinearStiffnessMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[617]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcLinearStiffnessMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[617]); } Ifc4x3_rc1::IfcLinearStiffnessMeasure::IfcLinearStiffnessMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcLinearStiffnessMeasure::IfcLinearStiffnessMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcLinearStiffnessMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcLinearStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearVelocityMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcLinearVelocityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[618]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcLinearVelocityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[618]); } Ifc4x3_rc1::IfcLinearVelocityMeasure::IfcLinearVelocityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcLinearVelocityMeasure::IfcLinearVelocityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcLinearVelocityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcLinearVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLogical const IfcParse::type_declaration& Ifc4x3_rc1::IfcLogical::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[626]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcLogical::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[626]); } Ifc4x3_rc1::IfcLogical::IfcLogical(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcLogical::IfcLogical(boost::logic::tribool v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcLogical::operator boost::logic::tribool() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcLogical::operator boost::logic::tribool() const { return get_attribute_value(0); } // Function implementations for IfcLuminousFluxMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcLuminousFluxMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[630]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcLuminousFluxMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[630]); } Ifc4x3_rc1::IfcLuminousFluxMeasure::IfcLuminousFluxMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcLuminousFluxMeasure::IfcLuminousFluxMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcLuminousFluxMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcLuminousFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityDistributionMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcLuminousIntensityDistributionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[631]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcLuminousIntensityDistributionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[631]); } Ifc4x3_rc1::IfcLuminousIntensityDistributionMeasure::IfcLuminousIntensityDistributionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcLuminousIntensityDistributionMeasure::IfcLuminousIntensityDistributionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcLuminousIntensityDistributionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcLuminousIntensityDistributionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcLuminousIntensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[632]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcLuminousIntensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[632]); } Ifc4x3_rc1::IfcLuminousIntensityMeasure::IfcLuminousIntensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcLuminousIntensityMeasure::IfcLuminousIntensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcLuminousIntensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcLuminousIntensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxDensityMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcMagneticFluxDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[633]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcMagneticFluxDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[633]); } Ifc4x3_rc1::IfcMagneticFluxDensityMeasure::IfcMagneticFluxDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcMagneticFluxDensityMeasure::IfcMagneticFluxDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcMagneticFluxDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcMagneticFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcMagneticFluxMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[634]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcMagneticFluxMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[634]); } Ifc4x3_rc1::IfcMagneticFluxMeasure::IfcMagneticFluxMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcMagneticFluxMeasure::IfcMagneticFluxMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcMagneticFluxMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcMagneticFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassDensityMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcMassDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[641]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcMassDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[641]); } Ifc4x3_rc1::IfcMassDensityMeasure::IfcMassDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcMassDensityMeasure::IfcMassDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcMassDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcMassDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassFlowRateMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcMassFlowRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[642]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcMassFlowRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[642]); } Ifc4x3_rc1::IfcMassFlowRateMeasure::IfcMassFlowRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcMassFlowRateMeasure::IfcMassFlowRateMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcMassFlowRateMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcMassFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcMassMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[643]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcMassMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[643]); } Ifc4x3_rc1::IfcMassMeasure::IfcMassMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcMassMeasure::IfcMassMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcMassMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassPerLengthMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcMassPerLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[644]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcMassPerLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[644]); } Ifc4x3_rc1::IfcMassPerLengthMeasure::IfcMassPerLengthMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcMassPerLengthMeasure::IfcMassPerLengthMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcMassPerLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcMassPerLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfElasticityMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcModulusOfElasticityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[683]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcModulusOfElasticityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[683]); } Ifc4x3_rc1::IfcModulusOfElasticityMeasure::IfcModulusOfElasticityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcModulusOfElasticityMeasure::IfcModulusOfElasticityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcModulusOfElasticityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcModulusOfElasticityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfLinearSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcModulusOfLinearSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[684]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcModulusOfLinearSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[684]); } Ifc4x3_rc1::IfcModulusOfLinearSubgradeReactionMeasure::IfcModulusOfLinearSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcModulusOfLinearSubgradeReactionMeasure::IfcModulusOfLinearSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfRotationalSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[685]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[685]); } Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionMeasure::IfcModulusOfRotationalSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionMeasure::IfcModulusOfRotationalSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcModulusOfSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[687]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcModulusOfSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[687]); } Ifc4x3_rc1::IfcModulusOfSubgradeReactionMeasure::IfcModulusOfSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcModulusOfSubgradeReactionMeasure::IfcModulusOfSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcModulusOfSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcModulusOfSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMoistureDiffusivityMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcMoistureDiffusivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[690]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcMoistureDiffusivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[690]); } Ifc4x3_rc1::IfcMoistureDiffusivityMeasure::IfcMoistureDiffusivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcMoistureDiffusivityMeasure::IfcMoistureDiffusivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcMoistureDiffusivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcMoistureDiffusivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMolecularWeightMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcMolecularWeightMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[691]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcMolecularWeightMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[691]); } Ifc4x3_rc1::IfcMolecularWeightMeasure::IfcMolecularWeightMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcMolecularWeightMeasure::IfcMolecularWeightMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcMolecularWeightMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcMolecularWeightMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMomentOfInertiaMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcMomentOfInertiaMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[692]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcMomentOfInertiaMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[692]); } Ifc4x3_rc1::IfcMomentOfInertiaMeasure::IfcMomentOfInertiaMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcMomentOfInertiaMeasure::IfcMomentOfInertiaMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcMomentOfInertiaMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcMomentOfInertiaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonetaryMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcMonetaryMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[693]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcMonetaryMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[693]); } Ifc4x3_rc1::IfcMonetaryMeasure::IfcMonetaryMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcMonetaryMeasure::IfcMonetaryMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcMonetaryMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcMonetaryMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonthInYearNumber const IfcParse::type_declaration& Ifc4x3_rc1::IfcMonthInYearNumber::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[695]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcMonthInYearNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[695]); } Ifc4x3_rc1::IfcMonthInYearNumber::IfcMonthInYearNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcMonthInYearNumber::IfcMonthInYearNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcMonthInYearNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcMonthInYearNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcNonNegativeLengthMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcNonNegativeLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[706]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcNonNegativeLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[706]); } Ifc4x3_rc1::IfcNonNegativeLengthMeasure::IfcNonNegativeLengthMeasure(IfcEntityInstanceData&& e) : IfcLengthMeasure(std::move(e)) { } Ifc4x3_rc1::IfcNonNegativeLengthMeasure::IfcNonNegativeLengthMeasure(double v) : IfcLengthMeasure(v) { } -Ifc4x3_rc1::IfcNonNegativeLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcNonNegativeLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNormalisedRatioMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcNormalisedRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[707]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcNormalisedRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[707]); } Ifc4x3_rc1::IfcNormalisedRatioMeasure::IfcNormalisedRatioMeasure(IfcEntityInstanceData&& e) : IfcRatioMeasure(std::move(e)) { } Ifc4x3_rc1::IfcNormalisedRatioMeasure::IfcNormalisedRatioMeasure(double v) : IfcRatioMeasure(v) { } -Ifc4x3_rc1::IfcNormalisedRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcNormalisedRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNumericMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcNumericMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[709]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcNumericMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[709]); } Ifc4x3_rc1::IfcNumericMeasure::IfcNumericMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcNumericMeasure::IfcNumericMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcNumericMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcNumericMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPHMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcPHMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[751]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcPHMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[751]); } Ifc4x3_rc1::IfcPHMeasure::IfcPHMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcPHMeasure::IfcPHMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcPHMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcPHMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcParameterValue const IfcParse::type_declaration& Ifc4x3_rc1::IfcParameterValue::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[738]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcParameterValue::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[738]); } Ifc4x3_rc1::IfcParameterValue::IfcParameterValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcParameterValue::IfcParameterValue(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcParameterValue::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcParameterValue::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlanarForceMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcPlanarForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[770]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcPlanarForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[770]); } Ifc4x3_rc1::IfcPlanarForceMeasure::IfcPlanarForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcPlanarForceMeasure::IfcPlanarForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcPlanarForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcPlanarForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlaneAngleMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcPlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[772]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcPlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[772]); } Ifc4x3_rc1::IfcPlaneAngleMeasure::IfcPlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcPlaneAngleMeasure::IfcPlaneAngleMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcPlaneAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcPlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveInteger const IfcParse::type_declaration& Ifc4x3_rc1::IfcPositiveInteger::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[788]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcPositiveInteger::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[788]); } Ifc4x3_rc1::IfcPositiveInteger::IfcPositiveInteger(IfcEntityInstanceData&& e) : IfcInteger(std::move(e)) { } Ifc4x3_rc1::IfcPositiveInteger::IfcPositiveInteger(int v) : IfcInteger(v) { } -Ifc4x3_rc1::IfcPositiveInteger::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcPositiveInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcPositiveLengthMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcPositiveLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[789]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcPositiveLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[789]); } Ifc4x3_rc1::IfcPositiveLengthMeasure::IfcPositiveLengthMeasure(IfcEntityInstanceData&& e) : IfcLengthMeasure(std::move(e)) { } Ifc4x3_rc1::IfcPositiveLengthMeasure::IfcPositiveLengthMeasure(double v) : IfcLengthMeasure(v) { } -Ifc4x3_rc1::IfcPositiveLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcPositiveLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositivePlaneAngleMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcPositivePlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[790]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcPositivePlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[790]); } Ifc4x3_rc1::IfcPositivePlaneAngleMeasure::IfcPositivePlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcPlaneAngleMeasure(std::move(e)) { } Ifc4x3_rc1::IfcPositivePlaneAngleMeasure::IfcPositivePlaneAngleMeasure(double v) : IfcPlaneAngleMeasure(v) { } -Ifc4x3_rc1::IfcPositivePlaneAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcPositivePlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveRatioMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcPositiveRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[791]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcPositiveRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[791]); } Ifc4x3_rc1::IfcPositiveRatioMeasure::IfcPositiveRatioMeasure(IfcEntityInstanceData&& e) : IfcRatioMeasure(std::move(e)) { } Ifc4x3_rc1::IfcPositiveRatioMeasure::IfcPositiveRatioMeasure(double v) : IfcRatioMeasure(v) { } -Ifc4x3_rc1::IfcPositiveRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcPositiveRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPowerMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcPowerMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[793]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcPowerMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[793]); } Ifc4x3_rc1::IfcPowerMeasure::IfcPowerMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcPowerMeasure::IfcPowerMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcPowerMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPresentableText const IfcParse::type_declaration& Ifc4x3_rc1::IfcPresentableText::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[801]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcPresentableText::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[801]); } Ifc4x3_rc1::IfcPresentableText::IfcPresentableText(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcPresentableText::IfcPresentableText(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcPresentableText::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcPresentableText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcPressureMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcPressureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[808]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcPressureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[808]); } Ifc4x3_rc1::IfcPressureMeasure::IfcPressureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcPressureMeasure::IfcPressureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcPressureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPropertySetDefinitionSet const IfcParse::type_declaration& Ifc4x3_rc1::IfcPropertySetDefinitionSet::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[842]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcPropertySetDefinitionSet::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[842]); } Ifc4x3_rc1::IfcPropertySetDefinitionSet::IfcPropertySetDefinitionSet(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcPropertySetDefinitionSet::IfcPropertySetDefinitionSet(aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v->generalize()); } -Ifc4x3_rc1::IfcPropertySetDefinitionSet::operator aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcPropertySetDefinition >(); } +Ifc4x3_rc1::IfcPropertySetDefinitionSet::operator aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcPropertySetDefinition >(); } // Function implementations for IfcRadioActivityMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcRadioActivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[866]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcRadioActivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[866]); } Ifc4x3_rc1::IfcRadioActivityMeasure::IfcRadioActivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcRadioActivityMeasure::IfcRadioActivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcRadioActivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcRadioActivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRatioMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[881]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[881]); } Ifc4x3_rc1::IfcRatioMeasure::IfcRatioMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcRatioMeasure::IfcRatioMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcReal const IfcParse::type_declaration& Ifc4x3_rc1::IfcReal::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[884]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcReal::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[884]); } Ifc4x3_rc1::IfcReal::IfcReal(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcReal::IfcReal(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcReal::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcReal::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalFrequencyMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcRotationalFrequencyMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[983]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcRotationalFrequencyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[983]); } Ifc4x3_rc1::IfcRotationalFrequencyMeasure::IfcRotationalFrequencyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcRotationalFrequencyMeasure::IfcRotationalFrequencyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcRotationalFrequencyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcRotationalFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalMassMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcRotationalMassMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[984]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcRotationalMassMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[984]); } Ifc4x3_rc1::IfcRotationalMassMeasure::IfcRotationalMassMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcRotationalMassMeasure::IfcRotationalMassMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcRotationalMassMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcRotationalMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalStiffnessMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcRotationalStiffnessMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[985]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcRotationalStiffnessMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[985]); } Ifc4x3_rc1::IfcRotationalStiffnessMeasure::IfcRotationalStiffnessMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcRotationalStiffnessMeasure::IfcRotationalStiffnessMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcRotationalStiffnessMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcRotationalStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionModulusMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcSectionModulusMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[998]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcSectionModulusMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[998]); } Ifc4x3_rc1::IfcSectionModulusMeasure::IfcSectionModulusMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcSectionModulusMeasure::IfcSectionModulusMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcSectionModulusMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcSectionModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionalAreaIntegralMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcSectionalAreaIntegralMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[993]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcSectionalAreaIntegralMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[993]); } Ifc4x3_rc1::IfcSectionalAreaIntegralMeasure::IfcSectionalAreaIntegralMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcSectionalAreaIntegralMeasure::IfcSectionalAreaIntegralMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcSectionalAreaIntegralMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcSectionalAreaIntegralMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcShearModulusMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcShearModulusMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1013]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcShearModulusMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1013]); } Ifc4x3_rc1::IfcShearModulusMeasure::IfcShearModulusMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcShearModulusMeasure::IfcShearModulusMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcShearModulusMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcShearModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSolidAngleMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcSolidAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1040]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcSolidAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1040]); } Ifc4x3_rc1::IfcSolidAngleMeasure::IfcSolidAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcSolidAngleMeasure::IfcSolidAngleMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcSolidAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcSolidAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerLevelMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcSoundPowerLevelMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1044]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcSoundPowerLevelMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1044]); } Ifc4x3_rc1::IfcSoundPowerLevelMeasure::IfcSoundPowerLevelMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcSoundPowerLevelMeasure::IfcSoundPowerLevelMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcSoundPowerLevelMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcSoundPowerLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcSoundPowerMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1045]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcSoundPowerMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1045]); } Ifc4x3_rc1::IfcSoundPowerMeasure::IfcSoundPowerMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcSoundPowerMeasure::IfcSoundPowerMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcSoundPowerMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcSoundPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureLevelMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcSoundPressureLevelMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1046]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcSoundPressureLevelMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1046]); } Ifc4x3_rc1::IfcSoundPressureLevelMeasure::IfcSoundPressureLevelMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcSoundPressureLevelMeasure::IfcSoundPressureLevelMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcSoundPressureLevelMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcSoundPressureLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcSoundPressureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1047]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcSoundPressureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1047]); } Ifc4x3_rc1::IfcSoundPressureMeasure::IfcSoundPressureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcSoundPressureMeasure::IfcSoundPressureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcSoundPressureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcSoundPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecificHeatCapacityMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcSpecificHeatCapacityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1063]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcSpecificHeatCapacityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1063]); } Ifc4x3_rc1::IfcSpecificHeatCapacityMeasure::IfcSpecificHeatCapacityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcSpecificHeatCapacityMeasure::IfcSpecificHeatCapacityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcSpecificHeatCapacityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcSpecificHeatCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularExponent const IfcParse::type_declaration& Ifc4x3_rc1::IfcSpecularExponent::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1064]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcSpecularExponent::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1064]); } Ifc4x3_rc1::IfcSpecularExponent::IfcSpecularExponent(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcSpecularExponent::IfcSpecularExponent(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcSpecularExponent::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcSpecularExponent::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularRoughness const IfcParse::type_declaration& Ifc4x3_rc1::IfcSpecularRoughness::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1066]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcSpecularRoughness::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1066]); } Ifc4x3_rc1::IfcSpecularRoughness::IfcSpecularRoughness(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcSpecularRoughness::IfcSpecularRoughness(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcSpecularRoughness::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcSpecularRoughness::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureGradientMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcTemperatureGradientMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1171]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcTemperatureGradientMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1171]); } Ifc4x3_rc1::IfcTemperatureGradientMeasure::IfcTemperatureGradientMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcTemperatureGradientMeasure::IfcTemperatureGradientMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcTemperatureGradientMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcTemperatureGradientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureRateOfChangeMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcTemperatureRateOfChangeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1172]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcTemperatureRateOfChangeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1172]); } Ifc4x3_rc1::IfcTemperatureRateOfChangeMeasure::IfcTemperatureRateOfChangeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcTemperatureRateOfChangeMeasure::IfcTemperatureRateOfChangeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcTemperatureRateOfChangeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcTemperatureRateOfChangeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcText const IfcParse::type_declaration& Ifc4x3_rc1::IfcText::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1184]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcText::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1184]); } Ifc4x3_rc1::IfcText::IfcText(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcText::IfcText(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcText::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextAlignment const IfcParse::type_declaration& Ifc4x3_rc1::IfcTextAlignment::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1185]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcTextAlignment::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1185]); } Ifc4x3_rc1::IfcTextAlignment::IfcTextAlignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcTextAlignment::IfcTextAlignment(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcTextAlignment::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcTextAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextDecoration const IfcParse::type_declaration& Ifc4x3_rc1::IfcTextDecoration::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1186]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcTextDecoration::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1186]); } Ifc4x3_rc1::IfcTextDecoration::IfcTextDecoration(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcTextDecoration::IfcTextDecoration(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcTextDecoration::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcTextDecoration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextFontName const IfcParse::type_declaration& Ifc4x3_rc1::IfcTextFontName::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1187]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcTextFontName::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1187]); } Ifc4x3_rc1::IfcTextFontName::IfcTextFontName(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcTextFontName::IfcTextFontName(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcTextFontName::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcTextFontName::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextTransformation const IfcParse::type_declaration& Ifc4x3_rc1::IfcTextTransformation::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1196]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcTextTransformation::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1196]); } Ifc4x3_rc1::IfcTextTransformation::IfcTextTransformation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcTextTransformation::IfcTextTransformation(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcTextTransformation::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcTextTransformation::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcThermalAdmittanceMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcThermalAdmittanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1202]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcThermalAdmittanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1202]); } Ifc4x3_rc1::IfcThermalAdmittanceMeasure::IfcThermalAdmittanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcThermalAdmittanceMeasure::IfcThermalAdmittanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcThermalAdmittanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcThermalAdmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalConductivityMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcThermalConductivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1203]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcThermalConductivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1203]); } Ifc4x3_rc1::IfcThermalConductivityMeasure::IfcThermalConductivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcThermalConductivityMeasure::IfcThermalConductivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcThermalConductivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcThermalConductivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalExpansionCoefficientMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcThermalExpansionCoefficientMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1204]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcThermalExpansionCoefficientMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1204]); } Ifc4x3_rc1::IfcThermalExpansionCoefficientMeasure::IfcThermalExpansionCoefficientMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcThermalExpansionCoefficientMeasure::IfcThermalExpansionCoefficientMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcThermalExpansionCoefficientMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcThermalExpansionCoefficientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalResistanceMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcThermalResistanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1205]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcThermalResistanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1205]); } Ifc4x3_rc1::IfcThermalResistanceMeasure::IfcThermalResistanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcThermalResistanceMeasure::IfcThermalResistanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcThermalResistanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcThermalResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalTransmittanceMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcThermalTransmittanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1206]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcThermalTransmittanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1206]); } Ifc4x3_rc1::IfcThermalTransmittanceMeasure::IfcThermalTransmittanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcThermalTransmittanceMeasure::IfcThermalTransmittanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcThermalTransmittanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcThermalTransmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermodynamicTemperatureMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcThermodynamicTemperatureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1207]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcThermodynamicTemperatureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1207]); } Ifc4x3_rc1::IfcThermodynamicTemperatureMeasure::IfcThermodynamicTemperatureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcThermodynamicTemperatureMeasure::IfcThermodynamicTemperatureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcThermodynamicTemperatureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcThermodynamicTemperatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTime const IfcParse::type_declaration& Ifc4x3_rc1::IfcTime::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1208]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcTime::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1208]); } Ifc4x3_rc1::IfcTime::IfcTime(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcTime::IfcTime(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcTime::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTimeMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcTimeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1209]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcTimeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1209]); } Ifc4x3_rc1::IfcTimeMeasure::IfcTimeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcTimeMeasure::IfcTimeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcTimeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcTimeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTimeStamp const IfcParse::type_declaration& Ifc4x3_rc1::IfcTimeStamp::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1215]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcTimeStamp::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1215]); } Ifc4x3_rc1::IfcTimeStamp::IfcTimeStamp(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcTimeStamp::IfcTimeStamp(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcTimeStamp::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcTimeStamp::operator int() const { return get_attribute_value(0); } // Function implementations for IfcTorqueMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcTorqueMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1219]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcTorqueMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1219]); } Ifc4x3_rc1::IfcTorqueMeasure::IfcTorqueMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcTorqueMeasure::IfcTorqueMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcTorqueMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcTorqueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcURIReference const IfcParse::type_declaration& Ifc4x3_rc1::IfcURIReference::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1258]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcURIReference::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1258]); } Ifc4x3_rc1::IfcURIReference::IfcURIReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcURIReference::IfcURIReference(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcURIReference::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcURIReference::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcVaporPermeabilityMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcVaporPermeabilityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1264]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcVaporPermeabilityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1264]); } Ifc4x3_rc1::IfcVaporPermeabilityMeasure::IfcVaporPermeabilityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcVaporPermeabilityMeasure::IfcVaporPermeabilityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcVaporPermeabilityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcVaporPermeabilityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumeMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcVolumeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1281]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcVolumeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1281]); } Ifc4x3_rc1::IfcVolumeMeasure::IfcVolumeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcVolumeMeasure::IfcVolumeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcVolumeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcVolumeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumetricFlowRateMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcVolumetricFlowRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1282]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcVolumetricFlowRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1282]); } Ifc4x3_rc1::IfcVolumetricFlowRateMeasure::IfcVolumetricFlowRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcVolumetricFlowRateMeasure::IfcVolumetricFlowRateMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcVolumetricFlowRateMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcVolumetricFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingConstantMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcWarpingConstantMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1288]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcWarpingConstantMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1288]); } Ifc4x3_rc1::IfcWarpingConstantMeasure::IfcWarpingConstantMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcWarpingConstantMeasure::IfcWarpingConstantMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcWarpingConstantMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcWarpingConstantMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingMomentMeasure const IfcParse::type_declaration& Ifc4x3_rc1::IfcWarpingMomentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1289]); } const IfcParse::type_declaration& Ifc4x3_rc1::IfcWarpingMomentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC1_types[1289]); } Ifc4x3_rc1::IfcWarpingMomentMeasure::IfcWarpingMomentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc1::IfcWarpingMomentMeasure::IfcWarpingMomentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc1::IfcWarpingMomentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc1::IfcWarpingMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcActionRequest -boost::optional< ::Ifc4x3_rc1::IfcActionRequestTypeEnum::Value > Ifc4x3_rc1::IfcActionRequest::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcActionRequestTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_rc1::IfcActionRequestTypeEnum::Value > Ifc4x3_rc1::IfcActionRequest::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcActionRequestTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_rc1::IfcActionRequest::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcActionRequestTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_rc1::IfcActionRequestTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc1::IfcActionRequest::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcActionRequest::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcActionRequest::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc1::IfcActionRequest::LongDescription() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcActionRequest::LongDescription() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcActionRequest::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcActionRequest::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[2]); } const IfcParse::entity& Ifc4x3_rc1::IfcActionRequest::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[2]); } Ifc4x3_rc1::IfcActionRequest::IfcActionRequest(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_rc1::IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3_rc1::IfcActionRequestTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc1::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } +Ifc4x3_rc1::IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3_rc1::IfcActionRequestTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc1::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } // Function implementations for IfcActor -::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcActorSelect>(true); } +::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcActorSelect>(true); } void Ifc4x3_rc1::IfcActor::setTheActor(::Ifc4x3_rc1::IfcActorSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc4x3_rc1::IfcRelAssignsToActor::list::ptr Ifc4x3_rc1::IfcActor::IsActingUpon() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[912], 6)->as(); } @@ -7640,14 +7640,14 @@ void Ifc4x3_rc1::IfcActor::setTheActor(::Ifc4x3_rc1::IfcActorSelect* v) { set_at const IfcParse::entity& Ifc4x3_rc1::IfcActor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[6]); } const IfcParse::entity& Ifc4x3_rc1::IfcActor::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[6]); } Ifc4x3_rc1::IfcActor::IfcActor(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_rc1::IfcActor::IfcActor(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcActorSelect* v6_TheActor) : IfcObject(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcActor::IfcActor(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcActorSelect* v6_TheActor) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcActorRole -::Ifc4x3_rc1::IfcRoleEnum::Value Ifc4x3_rc1::IfcActorRole::Role() const { return ::Ifc4x3_rc1::IfcRoleEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_rc1::IfcRoleEnum::Value Ifc4x3_rc1::IfcActorRole::Role() const { return ::Ifc4x3_rc1::IfcRoleEnum::FromString(get_attribute_value(0)); } void Ifc4x3_rc1::IfcActorRole::setRole(::Ifc4x3_rc1::IfcRoleEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_rc1::IfcRoleEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc1::IfcActorRole::UserDefinedRole() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcActorRole::UserDefinedRole() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcActorRole::setUserDefinedRole(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc1::IfcActorRole::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcActorRole::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcActorRole::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3_rc1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc1::IfcActorRole::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[436], 3)->as(); } @@ -7655,34 +7655,34 @@ void Ifc4x3_rc1::IfcActorRole::setDescription(boost::optional< std::string > v) const IfcParse::entity& Ifc4x3_rc1::IfcActorRole::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[7]); } const IfcParse::entity& Ifc4x3_rc1::IfcActorRole::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[7]); } Ifc4x3_rc1::IfcActorRole::IfcActorRole(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcActorRole::IfcActorRole(::Ifc4x3_rc1::IfcRoleEnum::Value v1_Role, boost::optional< std::string > v2_UserDefinedRole, boost::optional< std::string > v3_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } +Ifc4x3_rc1::IfcActorRole::IfcActorRole(::Ifc4x3_rc1::IfcRoleEnum::Value v1_Role, boost::optional< std::string > v2_UserDefinedRole, boost::optional< std::string > v3_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } // Function implementations for IfcActuator -boost::optional< ::Ifc4x3_rc1::IfcActuatorTypeEnum::Value > Ifc4x3_rc1::IfcActuator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcActuatorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcActuatorTypeEnum::Value > Ifc4x3_rc1::IfcActuator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcActuatorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcActuator::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcActuatorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcActuatorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcActuator::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[9]); } const IfcParse::entity& Ifc4x3_rc1::IfcActuator::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[9]); } Ifc4x3_rc1::IfcActuator::IfcActuator(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_rc1::IfcActuator::IfcActuator(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcActuatorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcActuator::IfcActuator(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcActuatorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcActuatorType -::Ifc4x3_rc1::IfcActuatorTypeEnum::Value Ifc4x3_rc1::IfcActuatorType::PredefinedType() const { return ::Ifc4x3_rc1::IfcActuatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcActuatorTypeEnum::Value Ifc4x3_rc1::IfcActuatorType::PredefinedType() const { return ::Ifc4x3_rc1::IfcActuatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcActuatorType::setPredefinedType(::Ifc4x3_rc1::IfcActuatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcActuatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcActuatorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[10]); } const IfcParse::entity& Ifc4x3_rc1::IfcActuatorType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[10]); } Ifc4x3_rc1::IfcActuatorType::IfcActuatorType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_rc1::IfcActuatorType::IfcActuatorType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcActuatorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcActuatorType::IfcActuatorType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcActuatorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAddress -boost::optional< ::Ifc4x3_rc1::IfcAddressTypeEnum::Value > Ifc4x3_rc1::IfcAddress::Purpose() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcAddressTypeEnum::FromString(data_.get_attribute_value(0)); } +boost::optional< ::Ifc4x3_rc1::IfcAddressTypeEnum::Value > Ifc4x3_rc1::IfcAddress::Purpose() const { if(get_attribute_value(0).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcAddressTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x3_rc1::IfcAddress::setPurpose(boost::optional< ::Ifc4x3_rc1::IfcAddressTypeEnum::Value > v) { if (v) {set_attribute_value(0, EnumerationReference(&::Ifc4x3_rc1::IfcAddressTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc1::IfcAddress::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcAddress::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcAddress::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc1::IfcAddress::UserDefinedPurpose() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcAddress::UserDefinedPurpose() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcAddress::setUserDefinedPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3_rc1::IfcPerson::list::ptr Ifc4x3_rc1::IfcAddress::OfPerson() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[749], 7)->as(); } @@ -7691,7 +7691,7 @@ void Ifc4x3_rc1::IfcAddress::setUserDefinedPurpose(boost::optional< std::string const IfcParse::entity& Ifc4x3_rc1::IfcAddress::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[12]); } const IfcParse::entity& Ifc4x3_rc1::IfcAddress::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[12]); } Ifc4x3_rc1::IfcAddress::IfcAddress(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcAddress::IfcAddress(boost::optional< ::Ifc4x3_rc1::IfcAddressTypeEnum::Value > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; populate_derived(); } +Ifc4x3_rc1::IfcAddress::IfcAddress(boost::optional< ::Ifc4x3_rc1::IfcAddressTypeEnum::Value > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; populate_derived(); } // Function implementations for IfcAdvancedBrep @@ -7699,17 +7699,17 @@ Ifc4x3_rc1::IfcAddress::IfcAddress(boost::optional< ::Ifc4x3_rc1::IfcAddressType const IfcParse::entity& Ifc4x3_rc1::IfcAdvancedBrep::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[14]); } const IfcParse::entity& Ifc4x3_rc1::IfcAdvancedBrep::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[14]); } Ifc4x3_rc1::IfcAdvancedBrep::IfcAdvancedBrep(IfcEntityInstanceData&& e) : IfcManifoldSolidBrep(std::move(e)) { } -Ifc4x3_rc1::IfcAdvancedBrep::IfcAdvancedBrep(::Ifc4x3_rc1::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcAdvancedBrep::IfcAdvancedBrep(::Ifc4x3_rc1::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAdvancedBrepWithVoids -aggregate_of< ::Ifc4x3_rc1::IfcClosedShell >::ptr Ifc4x3_rc1::IfcAdvancedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcClosedShell >(); } +aggregate_of< ::Ifc4x3_rc1::IfcClosedShell >::ptr Ifc4x3_rc1::IfcAdvancedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcClosedShell >(); } void Ifc4x3_rc1::IfcAdvancedBrepWithVoids::setVoids(aggregate_of< ::Ifc4x3_rc1::IfcClosedShell >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcAdvancedBrepWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[15]); } const IfcParse::entity& Ifc4x3_rc1::IfcAdvancedBrepWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[15]); } Ifc4x3_rc1::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(IfcEntityInstanceData&& e) : IfcAdvancedBrep(std::move(e)) { } -Ifc4x3_rc1::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4x3_rc1::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3_rc1::IfcClosedShell >::ptr v2_Voids) : IfcAdvancedBrep(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4x3_rc1::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3_rc1::IfcClosedShell >::ptr v2_Voids) : IfcAdvancedBrep(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } // Function implementations for IfcAdvancedFace @@ -7717,109 +7717,109 @@ Ifc4x3_rc1::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4x3_rc1::Ifc const IfcParse::entity& Ifc4x3_rc1::IfcAdvancedFace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[16]); } const IfcParse::entity& Ifc4x3_rc1::IfcAdvancedFace::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[16]); } Ifc4x3_rc1::IfcAdvancedFace::IfcAdvancedFace(IfcEntityInstanceData&& e) : IfcFaceSurface(std::move(e)) { } -Ifc4x3_rc1::IfcAdvancedFace::IfcAdvancedFace(aggregate_of< ::Ifc4x3_rc1::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_rc1::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFaceSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } +Ifc4x3_rc1::IfcAdvancedFace::IfcAdvancedFace(aggregate_of< ::Ifc4x3_rc1::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_rc1::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFaceSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } // Function implementations for IfcAirTerminal -boost::optional< ::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value > Ifc4x3_rc1::IfcAirTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcAirTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value > Ifc4x3_rc1::IfcAirTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcAirTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcAirTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcAirTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[17]); } const IfcParse::entity& Ifc4x3_rc1::IfcAirTerminal::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[17]); } Ifc4x3_rc1::IfcAirTerminal::IfcAirTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc1::IfcAirTerminal::IfcAirTerminal(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcAirTerminal::IfcAirTerminal(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAirTerminalBox -boost::optional< ::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value > Ifc4x3_rc1::IfcAirTerminalBox::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value > Ifc4x3_rc1::IfcAirTerminalBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcAirTerminalBox::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcAirTerminalBox::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[18]); } const IfcParse::entity& Ifc4x3_rc1::IfcAirTerminalBox::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[18]); } Ifc4x3_rc1::IfcAirTerminalBox::IfcAirTerminalBox(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_rc1::IfcAirTerminalBox::IfcAirTerminalBox(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcAirTerminalBox::IfcAirTerminalBox(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAirTerminalBoxType -::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value Ifc4x3_rc1::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value Ifc4x3_rc1::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcAirTerminalBoxType::setPredefinedType(::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcAirTerminalBoxType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[19]); } const IfcParse::entity& Ifc4x3_rc1::IfcAirTerminalBoxType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[19]); } Ifc4x3_rc1::IfcAirTerminalBoxType::IfcAirTerminalBoxType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_rc1::IfcAirTerminalBoxType::IfcAirTerminalBoxType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcAirTerminalBoxType::IfcAirTerminalBoxType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAirTerminalType -::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value Ifc4x3_rc1::IfcAirTerminalType::PredefinedType() const { return ::Ifc4x3_rc1::IfcAirTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value Ifc4x3_rc1::IfcAirTerminalType::PredefinedType() const { return ::Ifc4x3_rc1::IfcAirTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcAirTerminalType::setPredefinedType(::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcAirTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[21]); } const IfcParse::entity& Ifc4x3_rc1::IfcAirTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[21]); } Ifc4x3_rc1::IfcAirTerminalType::IfcAirTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc1::IfcAirTerminalType::IfcAirTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcAirTerminalType::IfcAirTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAirToAirHeatRecovery -boost::optional< ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x3_rc1::IfcAirToAirHeatRecovery::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x3_rc1::IfcAirToAirHeatRecovery::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcAirToAirHeatRecovery::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcAirToAirHeatRecovery::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[23]); } const IfcParse::entity& Ifc4x3_rc1::IfcAirToAirHeatRecovery::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[23]); } Ifc4x3_rc1::IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc1::IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAirToAirHeatRecoveryType -::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3_rc1::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3_rc1::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcAirToAirHeatRecoveryType::setPredefinedType(::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcAirToAirHeatRecoveryType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[24]); } const IfcParse::entity& Ifc4x3_rc1::IfcAirToAirHeatRecoveryType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[24]); } Ifc4x3_rc1::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc1::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlarm -boost::optional< ::Ifc4x3_rc1::IfcAlarmTypeEnum::Value > Ifc4x3_rc1::IfcAlarm::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcAlarmTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcAlarmTypeEnum::Value > Ifc4x3_rc1::IfcAlarm::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcAlarmTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcAlarm::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcAlarmTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcAlarmTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcAlarm::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[26]); } const IfcParse::entity& Ifc4x3_rc1::IfcAlarm::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[26]); } Ifc4x3_rc1::IfcAlarm::IfcAlarm(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_rc1::IfcAlarm::IfcAlarm(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcAlarmTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcAlarm::IfcAlarm(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcAlarmTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAlarmType -::Ifc4x3_rc1::IfcAlarmTypeEnum::Value Ifc4x3_rc1::IfcAlarmType::PredefinedType() const { return ::Ifc4x3_rc1::IfcAlarmTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcAlarmTypeEnum::Value Ifc4x3_rc1::IfcAlarmType::PredefinedType() const { return ::Ifc4x3_rc1::IfcAlarmTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcAlarmType::setPredefinedType(::Ifc4x3_rc1::IfcAlarmTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcAlarmTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcAlarmType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[27]); } const IfcParse::entity& Ifc4x3_rc1::IfcAlarmType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[27]); } Ifc4x3_rc1::IfcAlarmType::IfcAlarmType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_rc1::IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAlarmTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAlarmTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlignment -boost::optional< ::Ifc4x3_rc1::IfcAlignmentTypeEnum::Value > Ifc4x3_rc1::IfcAlignment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcAlignmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcAlignmentTypeEnum::Value > Ifc4x3_rc1::IfcAlignment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcAlignmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcAlignment::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcAlignmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcAlignmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcAlignment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[29]); } const IfcParse::entity& Ifc4x3_rc1::IfcAlignment::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[29]); } Ifc4x3_rc1::IfcAlignment::IfcAlignment(IfcEntityInstanceData&& e) : IfcLinearPositioningElement(std::move(e)) { } -Ifc4x3_rc1::IfcAlignment::IfcAlignment(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcCurve* v8_Axis, boost::optional< ::Ifc4x3_rc1::IfcAlignmentTypeEnum::Value > v9_PredefinedType) : IfcLinearPositioningElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_Axis ? v8_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcAlignmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcAlignment::IfcAlignment(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcCurve* v8_Axis, boost::optional< ::Ifc4x3_rc1::IfcAlignmentTypeEnum::Value > v9_PredefinedType) : IfcLinearPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_Axis ? v8_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcAlignmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAlignment2DCant -aggregate_of< ::Ifc4x3_rc1::IfcAlignment2DCantSegment >::ptr Ifc4x3_rc1::IfcAlignment2DCant::Segments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcAlignment2DCantSegment >(); } +aggregate_of< ::Ifc4x3_rc1::IfcAlignment2DCantSegment >::ptr Ifc4x3_rc1::IfcAlignment2DCant::Segments() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcAlignment2DCantSegment >(); } void Ifc4x3_rc1::IfcAlignment2DCant::setSegments(aggregate_of< ::Ifc4x3_rc1::IfcAlignment2DCantSegment >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc1::IfcAlignment2DCant::RailHeadDistance() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc1::IfcAlignment2DCant::RailHeadDistance() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcAlignment2DCant::setRailHeadDistance(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DCant::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[30]); } const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DCant::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[30]); } Ifc4x3_rc1::IfcAlignment2DCant::IfcAlignment2DCant(IfcEntityInstanceData&& e) : IfcAxisLateralInclination(std::move(e)) { } -Ifc4x3_rc1::IfcAlignment2DCant::IfcAlignment2DCant(aggregate_of< ::Ifc4x3_rc1::IfcAlignment2DCantSegment >::ptr v1_Segments, double v2_RailHeadDistance) : IfcAxisLateralInclination(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_RailHeadDistance));; populate_derived(); } +Ifc4x3_rc1::IfcAlignment2DCant::IfcAlignment2DCant(aggregate_of< ::Ifc4x3_rc1::IfcAlignment2DCantSegment >::ptr v1_Segments, double v2_RailHeadDistance) : IfcAxisLateralInclination(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_RailHeadDistance));; populate_derived(); } // Function implementations for IfcAlignment2DCantSegLine @@ -7827,38 +7827,38 @@ Ifc4x3_rc1::IfcAlignment2DCant::IfcAlignment2DCant(aggregate_of< ::Ifc4x3_rc1::I const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DCantSegLine::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[31]); } const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DCantSegLine::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[31]); } Ifc4x3_rc1::IfcAlignment2DCantSegLine::IfcAlignment2DCantSegLine(IfcEntityInstanceData&& e) : IfcAlignment2DCantSegment(std::move(e)) { } -Ifc4x3_rc1::IfcAlignment2DCantSegLine::IfcAlignment2DCantSegLine(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartCantLeft, boost::optional< double > v7_EndCantLeft, double v8_StartCantRight, boost::optional< double > v9_EndCantRight) : IfcAlignment2DCantSegment(IfcEntityInstanceData(storage_t(9))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartCantLeft)); if (v7_EndCantLeft) {set_attribute_value(6, (*v7_EndCantLeft)); }set_attribute_value(7, (v8_StartCantRight)); if (v9_EndCantRight) {set_attribute_value(8, (*v9_EndCantRight)); }; populate_derived(); } +Ifc4x3_rc1::IfcAlignment2DCantSegLine::IfcAlignment2DCantSegLine(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartCantLeft, boost::optional< double > v7_EndCantLeft, double v8_StartCantRight, boost::optional< double > v9_EndCantRight) : IfcAlignment2DCantSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartCantLeft)); if (v7_EndCantLeft) {set_attribute_value(6, (*v7_EndCantLeft)); }set_attribute_value(7, (v8_StartCantRight)); if (v9_EndCantRight) {set_attribute_value(8, (*v9_EndCantRight)); }; populate_derived(); } // Function implementations for IfcAlignment2DCantSegTransition -boost::optional< double > Ifc4x3_rc1::IfcAlignment2DCantSegTransition::StartRadius() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc1::IfcAlignment2DCantSegTransition::StartRadius() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc1::IfcAlignment2DCantSegTransition::setStartRadius(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc1::IfcAlignment2DCantSegTransition::EndRadius() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc1::IfcAlignment2DCantSegTransition::EndRadius() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcAlignment2DCantSegTransition::setEndRadius(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -bool Ifc4x3_rc1::IfcAlignment2DCantSegTransition::IsStartRadiusCCW() const { bool v = data_.get_attribute_value(11); return v; } +bool Ifc4x3_rc1::IfcAlignment2DCantSegTransition::IsStartRadiusCCW() const { bool v = get_attribute_value(11); return v; } void Ifc4x3_rc1::IfcAlignment2DCantSegTransition::setIsStartRadiusCCW(bool v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } -bool Ifc4x3_rc1::IfcAlignment2DCantSegTransition::IsEndRadiusCCW() const { bool v = data_.get_attribute_value(12); return v; } +bool Ifc4x3_rc1::IfcAlignment2DCantSegTransition::IsEndRadiusCCW() const { bool v = get_attribute_value(12); return v; } void Ifc4x3_rc1::IfcAlignment2DCantSegTransition::setIsEndRadiusCCW(bool v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } -::Ifc4x3_rc1::IfcTransitionCurveType::Value Ifc4x3_rc1::IfcAlignment2DCantSegTransition::TransitionCurveType() const { return ::Ifc4x3_rc1::IfcTransitionCurveType::FromString(data_.get_attribute_value(13)); } +::Ifc4x3_rc1::IfcTransitionCurveType::Value Ifc4x3_rc1::IfcAlignment2DCantSegTransition::TransitionCurveType() const { return ::Ifc4x3_rc1::IfcTransitionCurveType::FromString(get_attribute_value(13)); } void Ifc4x3_rc1::IfcAlignment2DCantSegTransition::setTransitionCurveType(::Ifc4x3_rc1::IfcTransitionCurveType::Value v) { set_attribute_value(13, EnumerationReference(&::Ifc4x3_rc1::IfcTransitionCurveType::Class(), (size_t) v));if constexpr (false)unset_attribute_value(13); } const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DCantSegTransition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[33]); } const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DCantSegTransition::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[33]); } Ifc4x3_rc1::IfcAlignment2DCantSegTransition::IfcAlignment2DCantSegTransition(IfcEntityInstanceData&& e) : IfcAlignment2DCantSegment(std::move(e)) { } -Ifc4x3_rc1::IfcAlignment2DCantSegTransition::IfcAlignment2DCantSegTransition(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartCantLeft, boost::optional< double > v7_EndCantLeft, double v8_StartCantRight, boost::optional< double > v9_EndCantRight, boost::optional< double > v10_StartRadius, boost::optional< double > v11_EndRadius, bool v12_IsStartRadiusCCW, bool v13_IsEndRadiusCCW, ::Ifc4x3_rc1::IfcTransitionCurveType::Value v14_TransitionCurveType) : IfcAlignment2DCantSegment(IfcEntityInstanceData(storage_t(14))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartCantLeft)); if (v7_EndCantLeft) {set_attribute_value(6, (*v7_EndCantLeft)); }set_attribute_value(7, (v8_StartCantRight)); if (v9_EndCantRight) {set_attribute_value(8, (*v9_EndCantRight)); } if (v10_StartRadius) {set_attribute_value(9, (*v10_StartRadius)); } if (v11_EndRadius) {set_attribute_value(10, (*v11_EndRadius)); }set_attribute_value(11, (v12_IsStartRadiusCCW));set_attribute_value(12, (v13_IsEndRadiusCCW));set_attribute_value(13, (EnumerationReference(&::Ifc4x3_rc1::IfcTransitionCurveType::Class(),(size_t)v14_TransitionCurveType)));; populate_derived(); } +Ifc4x3_rc1::IfcAlignment2DCantSegTransition::IfcAlignment2DCantSegTransition(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartCantLeft, boost::optional< double > v7_EndCantLeft, double v8_StartCantRight, boost::optional< double > v9_EndCantRight, boost::optional< double > v10_StartRadius, boost::optional< double > v11_EndRadius, bool v12_IsStartRadiusCCW, bool v13_IsEndRadiusCCW, ::Ifc4x3_rc1::IfcTransitionCurveType::Value v14_TransitionCurveType) : IfcAlignment2DCantSegment(IfcEntityInstanceData(in_memory_attribute_storage(14))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartCantLeft)); if (v7_EndCantLeft) {set_attribute_value(6, (*v7_EndCantLeft)); }set_attribute_value(7, (v8_StartCantRight)); if (v9_EndCantRight) {set_attribute_value(8, (*v9_EndCantRight)); } if (v10_StartRadius) {set_attribute_value(9, (*v10_StartRadius)); } if (v11_EndRadius) {set_attribute_value(10, (*v11_EndRadius)); }set_attribute_value(11, (v12_IsStartRadiusCCW));set_attribute_value(12, (v13_IsEndRadiusCCW));set_attribute_value(13, (EnumerationReference(&::Ifc4x3_rc1::IfcTransitionCurveType::Class(),(size_t)v14_TransitionCurveType)));; populate_derived(); } // Function implementations for IfcAlignment2DCantSegment -double Ifc4x3_rc1::IfcAlignment2DCantSegment::StartDistAlong() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc1::IfcAlignment2DCantSegment::StartDistAlong() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcAlignment2DCantSegment::setStartDistAlong(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc1::IfcAlignment2DCantSegment::HorizontalLength() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc1::IfcAlignment2DCantSegment::HorizontalLength() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcAlignment2DCantSegment::setHorizontalLength(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc1::IfcAlignment2DCantSegment::StartCantLeft() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc1::IfcAlignment2DCantSegment::StartCantLeft() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcAlignment2DCantSegment::setStartCantLeft(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_rc1::IfcAlignment2DCantSegment::EndCantLeft() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc1::IfcAlignment2DCantSegment::EndCantLeft() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcAlignment2DCantSegment::setEndCantLeft(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -double Ifc4x3_rc1::IfcAlignment2DCantSegment::StartCantRight() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x3_rc1::IfcAlignment2DCantSegment::StartCantRight() const { double v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcAlignment2DCantSegment::setStartCantRight(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc4x3_rc1::IfcAlignment2DCantSegment::EndCantRight() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc1::IfcAlignment2DCantSegment::EndCantRight() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcAlignment2DCantSegment::setEndCantRight(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } ::Ifc4x3_rc1::IfcAlignment2DCant::list::ptr Ifc4x3_rc1::IfcAlignment2DCantSegment::ToCant() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[30], 0)->as(); } @@ -7866,12 +7866,12 @@ void Ifc4x3_rc1::IfcAlignment2DCantSegment::setEndCantRight(boost::optional< dou const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DCantSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[32]); } const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DCantSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[32]); } Ifc4x3_rc1::IfcAlignment2DCantSegment::IfcAlignment2DCantSegment(IfcEntityInstanceData&& e) : IfcAlignment2DSegment(std::move(e)) { } -Ifc4x3_rc1::IfcAlignment2DCantSegment::IfcAlignment2DCantSegment(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartCantLeft, boost::optional< double > v7_EndCantLeft, double v8_StartCantRight, boost::optional< double > v9_EndCantRight) : IfcAlignment2DSegment(IfcEntityInstanceData(storage_t(9))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartCantLeft)); if (v7_EndCantLeft) {set_attribute_value(6, (*v7_EndCantLeft)); }set_attribute_value(7, (v8_StartCantRight)); if (v9_EndCantRight) {set_attribute_value(8, (*v9_EndCantRight)); }; populate_derived(); } +Ifc4x3_rc1::IfcAlignment2DCantSegment::IfcAlignment2DCantSegment(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartCantLeft, boost::optional< double > v7_EndCantLeft, double v8_StartCantRight, boost::optional< double > v9_EndCantRight) : IfcAlignment2DSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartCantLeft)); if (v7_EndCantLeft) {set_attribute_value(6, (*v7_EndCantLeft)); }set_attribute_value(7, (v8_StartCantRight)); if (v9_EndCantRight) {set_attribute_value(8, (*v9_EndCantRight)); }; populate_derived(); } // Function implementations for IfcAlignment2DHorizontal -boost::optional< double > Ifc4x3_rc1::IfcAlignment2DHorizontal::StartDistAlong() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } double v = data_.get_attribute_value(0); return v; } +boost::optional< double > Ifc4x3_rc1::IfcAlignment2DHorizontal::StartDistAlong() const { if(get_attribute_value(0).isNull()) { return boost::none; } double v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcAlignment2DHorizontal::setStartDistAlong(boost::optional< double > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -aggregate_of< ::Ifc4x3_rc1::IfcAlignment2DHorizontalSegment >::ptr Ifc4x3_rc1::IfcAlignment2DHorizontal::Segments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcAlignment2DHorizontalSegment >(); } +aggregate_of< ::Ifc4x3_rc1::IfcAlignment2DHorizontalSegment >::ptr Ifc4x3_rc1::IfcAlignment2DHorizontal::Segments() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcAlignment2DHorizontalSegment >(); } void Ifc4x3_rc1::IfcAlignment2DHorizontal::setSegments(aggregate_of< ::Ifc4x3_rc1::IfcAlignment2DHorizontalSegment >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } ::Ifc4x3_rc1::IfcAlignmentCurve::list::ptr Ifc4x3_rc1::IfcAlignment2DHorizontal::ToAlignmentCurve() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[43], 0)->as(); } @@ -7879,10 +7879,10 @@ void Ifc4x3_rc1::IfcAlignment2DHorizontal::setSegments(aggregate_of< ::Ifc4x3_rc const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DHorizontal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[34]); } const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DHorizontal::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[34]); } Ifc4x3_rc1::IfcAlignment2DHorizontal::IfcAlignment2DHorizontal(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcAlignment2DHorizontal::IfcAlignment2DHorizontal(boost::optional< double > v1_StartDistAlong, aggregate_of< ::Ifc4x3_rc1::IfcAlignment2DHorizontalSegment >::ptr v2_Segments) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { if (v1_StartDistAlong) {set_attribute_value(0, (*v1_StartDistAlong)); }set_attribute_value(1, (v2_Segments)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcAlignment2DHorizontal::IfcAlignment2DHorizontal(boost::optional< double > v1_StartDistAlong, aggregate_of< ::Ifc4x3_rc1::IfcAlignment2DHorizontalSegment >::ptr v2_Segments) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_StartDistAlong) {set_attribute_value(0, (*v1_StartDistAlong)); }set_attribute_value(1, (v2_Segments)->generalize());; populate_derived(); } // Function implementations for IfcAlignment2DHorizontalSegment -::Ifc4x3_rc1::IfcCurveSegment2D* Ifc4x3_rc1::IfcAlignment2DHorizontalSegment::CurveGeometry() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcCurveSegment2D>(true); } +::Ifc4x3_rc1::IfcCurveSegment2D* Ifc4x3_rc1::IfcAlignment2DHorizontalSegment::CurveGeometry() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcCurveSegment2D>(true); } void Ifc4x3_rc1::IfcAlignment2DHorizontalSegment::setCurveGeometry(::Ifc4x3_rc1::IfcCurveSegment2D* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } ::Ifc4x3_rc1::IfcAlignment2DHorizontal::list::ptr Ifc4x3_rc1::IfcAlignment2DHorizontalSegment::ToHorizontal() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[34], 1)->as(); } @@ -7890,33 +7890,33 @@ void Ifc4x3_rc1::IfcAlignment2DHorizontalSegment::setCurveGeometry(::Ifc4x3_rc1: const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DHorizontalSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[35]); } const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DHorizontalSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[35]); } Ifc4x3_rc1::IfcAlignment2DHorizontalSegment::IfcAlignment2DHorizontalSegment(IfcEntityInstanceData&& e) : IfcAlignment2DSegment(std::move(e)) { } -Ifc4x3_rc1::IfcAlignment2DHorizontalSegment::IfcAlignment2DHorizontalSegment(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, ::Ifc4x3_rc1::IfcCurveSegment2D* v4_CurveGeometry) : IfcAlignment2DSegment(IfcEntityInstanceData(storage_t(4))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, v4_CurveGeometry ? v4_CurveGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcAlignment2DHorizontalSegment::IfcAlignment2DHorizontalSegment(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, ::Ifc4x3_rc1::IfcCurveSegment2D* v4_CurveGeometry) : IfcAlignment2DSegment(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, v4_CurveGeometry ? v4_CurveGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAlignment2DSegment -boost::optional< bool > Ifc4x3_rc1::IfcAlignment2DSegment::TangentialContinuity() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } bool v = data_.get_attribute_value(0); return v; } +boost::optional< bool > Ifc4x3_rc1::IfcAlignment2DSegment::TangentialContinuity() const { if(get_attribute_value(0).isNull()) { return boost::none; } bool v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcAlignment2DSegment::setTangentialContinuity(boost::optional< bool > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc1::IfcAlignment2DSegment::StartTag() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcAlignment2DSegment::StartTag() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcAlignment2DSegment::setStartTag(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc1::IfcAlignment2DSegment::EndTag() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcAlignment2DSegment::EndTag() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcAlignment2DSegment::setEndTag(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[36]); } const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[36]); } Ifc4x3_rc1::IfcAlignment2DSegment::IfcAlignment2DSegment(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcAlignment2DSegment::IfcAlignment2DSegment(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }; populate_derived(); } +Ifc4x3_rc1::IfcAlignment2DSegment::IfcAlignment2DSegment(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }; populate_derived(); } // Function implementations for IfcAlignment2DVerSegCircularArc -double Ifc4x3_rc1::IfcAlignment2DVerSegCircularArc::Radius() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x3_rc1::IfcAlignment2DVerSegCircularArc::Radius() const { double v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcAlignment2DVerSegCircularArc::setRadius(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -bool Ifc4x3_rc1::IfcAlignment2DVerSegCircularArc::IsConvex() const { bool v = data_.get_attribute_value(8); return v; } +bool Ifc4x3_rc1::IfcAlignment2DVerSegCircularArc::IsConvex() const { bool v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcAlignment2DVerSegCircularArc::setIsConvex(bool v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DVerSegCircularArc::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[37]); } const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DVerSegCircularArc::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[37]); } Ifc4x3_rc1::IfcAlignment2DVerSegCircularArc::IfcAlignment2DVerSegCircularArc(IfcEntityInstanceData&& e) : IfcAlignment2DVerticalSegment(std::move(e)) { } -Ifc4x3_rc1::IfcAlignment2DVerSegCircularArc::IfcAlignment2DVerSegCircularArc(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_Radius, bool v9_IsConvex) : IfcAlignment2DVerticalSegment(IfcEntityInstanceData(storage_t(9))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));set_attribute_value(7, (v8_Radius));set_attribute_value(8, (v9_IsConvex));; populate_derived(); } +Ifc4x3_rc1::IfcAlignment2DVerSegCircularArc::IfcAlignment2DVerSegCircularArc(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_Radius, bool v9_IsConvex) : IfcAlignment2DVerticalSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));set_attribute_value(7, (v8_Radius));set_attribute_value(8, (v9_IsConvex));; populate_derived(); } // Function implementations for IfcAlignment2DVerSegLine @@ -7924,40 +7924,40 @@ Ifc4x3_rc1::IfcAlignment2DVerSegCircularArc::IfcAlignment2DVerSegCircularArc(boo const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DVerSegLine::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[38]); } const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DVerSegLine::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[38]); } Ifc4x3_rc1::IfcAlignment2DVerSegLine::IfcAlignment2DVerSegLine(IfcEntityInstanceData&& e) : IfcAlignment2DVerticalSegment(std::move(e)) { } -Ifc4x3_rc1::IfcAlignment2DVerSegLine::IfcAlignment2DVerSegLine(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient) : IfcAlignment2DVerticalSegment(IfcEntityInstanceData(storage_t(7))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));; populate_derived(); } +Ifc4x3_rc1::IfcAlignment2DVerSegLine::IfcAlignment2DVerSegLine(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient) : IfcAlignment2DVerticalSegment(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));; populate_derived(); } // Function implementations for IfcAlignment2DVerSegParabolicArc -double Ifc4x3_rc1::IfcAlignment2DVerSegParabolicArc::ParabolaConstant() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x3_rc1::IfcAlignment2DVerSegParabolicArc::ParabolaConstant() const { double v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcAlignment2DVerSegParabolicArc::setParabolaConstant(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -bool Ifc4x3_rc1::IfcAlignment2DVerSegParabolicArc::IsConvex() const { bool v = data_.get_attribute_value(8); return v; } +bool Ifc4x3_rc1::IfcAlignment2DVerSegParabolicArc::IsConvex() const { bool v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcAlignment2DVerSegParabolicArc::setIsConvex(bool v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DVerSegParabolicArc::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[39]); } const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DVerSegParabolicArc::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[39]); } Ifc4x3_rc1::IfcAlignment2DVerSegParabolicArc::IfcAlignment2DVerSegParabolicArc(IfcEntityInstanceData&& e) : IfcAlignment2DVerticalSegment(std::move(e)) { } -Ifc4x3_rc1::IfcAlignment2DVerSegParabolicArc::IfcAlignment2DVerSegParabolicArc(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_ParabolaConstant, bool v9_IsConvex) : IfcAlignment2DVerticalSegment(IfcEntityInstanceData(storage_t(9))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));set_attribute_value(7, (v8_ParabolaConstant));set_attribute_value(8, (v9_IsConvex));; populate_derived(); } +Ifc4x3_rc1::IfcAlignment2DVerSegParabolicArc::IfcAlignment2DVerSegParabolicArc(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, double v8_ParabolaConstant, bool v9_IsConvex) : IfcAlignment2DVerticalSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));set_attribute_value(7, (v8_ParabolaConstant));set_attribute_value(8, (v9_IsConvex));; populate_derived(); } // Function implementations for IfcAlignment2DVerSegTransition -boost::optional< double > Ifc4x3_rc1::IfcAlignment2DVerSegTransition::StartRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc1::IfcAlignment2DVerSegTransition::StartRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcAlignment2DVerSegTransition::setStartRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc1::IfcAlignment2DVerSegTransition::EndRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc1::IfcAlignment2DVerSegTransition::EndRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcAlignment2DVerSegTransition::setEndRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -bool Ifc4x3_rc1::IfcAlignment2DVerSegTransition::IsStartRadiusCCW() const { bool v = data_.get_attribute_value(9); return v; } +bool Ifc4x3_rc1::IfcAlignment2DVerSegTransition::IsStartRadiusCCW() const { bool v = get_attribute_value(9); return v; } void Ifc4x3_rc1::IfcAlignment2DVerSegTransition::setIsStartRadiusCCW(bool v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -bool Ifc4x3_rc1::IfcAlignment2DVerSegTransition::IsEndRadiusCCW() const { bool v = data_.get_attribute_value(10); return v; } +bool Ifc4x3_rc1::IfcAlignment2DVerSegTransition::IsEndRadiusCCW() const { bool v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcAlignment2DVerSegTransition::setIsEndRadiusCCW(bool v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -::Ifc4x3_rc1::IfcTransitionCurveType::Value Ifc4x3_rc1::IfcAlignment2DVerSegTransition::TransitionCurveType() const { return ::Ifc4x3_rc1::IfcTransitionCurveType::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc1::IfcTransitionCurveType::Value Ifc4x3_rc1::IfcAlignment2DVerSegTransition::TransitionCurveType() const { return ::Ifc4x3_rc1::IfcTransitionCurveType::FromString(get_attribute_value(11)); } void Ifc4x3_rc1::IfcAlignment2DVerSegTransition::setTransitionCurveType(::Ifc4x3_rc1::IfcTransitionCurveType::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc1::IfcTransitionCurveType::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DVerSegTransition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[40]); } const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DVerSegTransition::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[40]); } Ifc4x3_rc1::IfcAlignment2DVerSegTransition::IfcAlignment2DVerSegTransition(IfcEntityInstanceData&& e) : IfcAlignment2DVerticalSegment(std::move(e)) { } -Ifc4x3_rc1::IfcAlignment2DVerSegTransition::IfcAlignment2DVerSegTransition(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, boost::optional< double > v8_StartRadius, boost::optional< double > v9_EndRadius, bool v10_IsStartRadiusCCW, bool v11_IsEndRadiusCCW, ::Ifc4x3_rc1::IfcTransitionCurveType::Value v12_TransitionCurveType) : IfcAlignment2DVerticalSegment(IfcEntityInstanceData(storage_t(12))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient)); if (v8_StartRadius) {set_attribute_value(7, (*v8_StartRadius)); } if (v9_EndRadius) {set_attribute_value(8, (*v9_EndRadius)); }set_attribute_value(9, (v10_IsStartRadiusCCW));set_attribute_value(10, (v11_IsEndRadiusCCW));set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcTransitionCurveType::Class(),(size_t)v12_TransitionCurveType)));; populate_derived(); } +Ifc4x3_rc1::IfcAlignment2DVerSegTransition::IfcAlignment2DVerSegTransition(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient, boost::optional< double > v8_StartRadius, boost::optional< double > v9_EndRadius, bool v10_IsStartRadiusCCW, bool v11_IsEndRadiusCCW, ::Ifc4x3_rc1::IfcTransitionCurveType::Value v12_TransitionCurveType) : IfcAlignment2DVerticalSegment(IfcEntityInstanceData(in_memory_attribute_storage(12))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient)); if (v8_StartRadius) {set_attribute_value(7, (*v8_StartRadius)); } if (v9_EndRadius) {set_attribute_value(8, (*v9_EndRadius)); }set_attribute_value(9, (v10_IsStartRadiusCCW));set_attribute_value(10, (v11_IsEndRadiusCCW));set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcTransitionCurveType::Class(),(size_t)v12_TransitionCurveType)));; populate_derived(); } // Function implementations for IfcAlignment2DVertical -aggregate_of< ::Ifc4x3_rc1::IfcAlignment2DVerticalSegment >::ptr Ifc4x3_rc1::IfcAlignment2DVertical::Segments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcAlignment2DVerticalSegment >(); } +aggregate_of< ::Ifc4x3_rc1::IfcAlignment2DVerticalSegment >::ptr Ifc4x3_rc1::IfcAlignment2DVertical::Segments() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcAlignment2DVerticalSegment >(); } void Ifc4x3_rc1::IfcAlignment2DVertical::setSegments(aggregate_of< ::Ifc4x3_rc1::IfcAlignment2DVerticalSegment >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_rc1::IfcAlignmentCurve::list::ptr Ifc4x3_rc1::IfcAlignment2DVertical::ToAlignmentCurve() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[43], 1)->as(); } @@ -7965,16 +7965,16 @@ void Ifc4x3_rc1::IfcAlignment2DVertical::setSegments(aggregate_of< ::Ifc4x3_rc1: const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DVertical::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[41]); } const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DVertical::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[41]); } Ifc4x3_rc1::IfcAlignment2DVertical::IfcAlignment2DVertical(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcAlignment2DVertical::IfcAlignment2DVertical(aggregate_of< ::Ifc4x3_rc1::IfcAlignment2DVerticalSegment >::ptr v1_Segments) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Segments)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcAlignment2DVertical::IfcAlignment2DVertical(aggregate_of< ::Ifc4x3_rc1::IfcAlignment2DVerticalSegment >::ptr v1_Segments) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Segments)->generalize());; populate_derived(); } // Function implementations for IfcAlignment2DVerticalSegment -double Ifc4x3_rc1::IfcAlignment2DVerticalSegment::StartDistAlong() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc1::IfcAlignment2DVerticalSegment::StartDistAlong() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcAlignment2DVerticalSegment::setStartDistAlong(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc1::IfcAlignment2DVerticalSegment::HorizontalLength() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc1::IfcAlignment2DVerticalSegment::HorizontalLength() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcAlignment2DVerticalSegment::setHorizontalLength(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc1::IfcAlignment2DVerticalSegment::StartHeight() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc1::IfcAlignment2DVerticalSegment::StartHeight() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcAlignment2DVerticalSegment::setStartHeight(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc1::IfcAlignment2DVerticalSegment::StartGradient() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc1::IfcAlignment2DVerticalSegment::StartGradient() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcAlignment2DVerticalSegment::setStartGradient(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } ::Ifc4x3_rc1::IfcAlignment2DVertical::list::ptr Ifc4x3_rc1::IfcAlignment2DVerticalSegment::ToVertical() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[41], 0)->as(); } @@ -7982,24 +7982,24 @@ void Ifc4x3_rc1::IfcAlignment2DVerticalSegment::setStartGradient(double v) { set const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DVerticalSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[42]); } const IfcParse::entity& Ifc4x3_rc1::IfcAlignment2DVerticalSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[42]); } Ifc4x3_rc1::IfcAlignment2DVerticalSegment::IfcAlignment2DVerticalSegment(IfcEntityInstanceData&& e) : IfcAlignment2DSegment(std::move(e)) { } -Ifc4x3_rc1::IfcAlignment2DVerticalSegment::IfcAlignment2DVerticalSegment(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient) : IfcAlignment2DSegment(IfcEntityInstanceData(storage_t(7))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));; populate_derived(); } +Ifc4x3_rc1::IfcAlignment2DVerticalSegment::IfcAlignment2DVerticalSegment(boost::optional< bool > v1_TangentialContinuity, boost::optional< std::string > v2_StartTag, boost::optional< std::string > v3_EndTag, double v4_StartDistAlong, double v5_HorizontalLength, double v6_StartHeight, double v7_StartGradient) : IfcAlignment2DSegment(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_TangentialContinuity) {set_attribute_value(0, (*v1_TangentialContinuity)); } if (v2_StartTag) {set_attribute_value(1, (*v2_StartTag)); } if (v3_EndTag) {set_attribute_value(2, (*v3_EndTag)); }set_attribute_value(3, (v4_StartDistAlong));set_attribute_value(4, (v5_HorizontalLength));set_attribute_value(5, (v6_StartHeight));set_attribute_value(6, (v7_StartGradient));; populate_derived(); } // Function implementations for IfcAlignmentCurve -::Ifc4x3_rc1::IfcAlignment2DHorizontal* Ifc4x3_rc1::IfcAlignmentCurve::Horizontal() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcAlignment2DHorizontal>(true); } +::Ifc4x3_rc1::IfcAlignment2DHorizontal* Ifc4x3_rc1::IfcAlignmentCurve::Horizontal() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcAlignment2DHorizontal>(true); } void Ifc4x3_rc1::IfcAlignmentCurve::setHorizontal(::Ifc4x3_rc1::IfcAlignment2DHorizontal* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcAlignment2DVertical* Ifc4x3_rc1::IfcAlignmentCurve::Vertical() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcAlignment2DVertical>(true); } +::Ifc4x3_rc1::IfcAlignment2DVertical* Ifc4x3_rc1::IfcAlignmentCurve::Vertical() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcAlignment2DVertical>(true); } void Ifc4x3_rc1::IfcAlignmentCurve::setVertical(::Ifc4x3_rc1::IfcAlignment2DVertical* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_rc1::IfcAlignmentCurve::Tag() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcAlignmentCurve::Tag() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcAlignmentCurve::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc1::IfcAlignmentCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[43]); } const IfcParse::entity& Ifc4x3_rc1::IfcAlignmentCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[43]); } Ifc4x3_rc1::IfcAlignmentCurve::IfcAlignmentCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_rc1::IfcAlignmentCurve::IfcAlignmentCurve(::Ifc4x3_rc1::IfcAlignment2DHorizontal* v1_Horizontal, ::Ifc4x3_rc1::IfcAlignment2DVertical* v2_Vertical, boost::optional< std::string > v3_Tag) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Horizontal ? v1_Horizontal->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Vertical ? v2_Vertical->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; populate_derived(); } +Ifc4x3_rc1::IfcAlignmentCurve::IfcAlignmentCurve(::Ifc4x3_rc1::IfcAlignment2DHorizontal* v1_Horizontal, ::Ifc4x3_rc1::IfcAlignment2DVertical* v2_Vertical, boost::optional< std::string > v3_Tag) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Horizontal ? v1_Horizontal->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Vertical ? v2_Vertical->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; populate_derived(); } // Function implementations for IfcAnnotation -boost::optional< ::Ifc4x3_rc1::IfcAnnotationTypeEnum::Value > Ifc4x3_rc1::IfcAnnotation::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcAnnotationTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_rc1::IfcAnnotationTypeEnum::Value > Ifc4x3_rc1::IfcAnnotation::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcAnnotationTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc1::IfcAnnotation::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcAnnotationTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc1::IfcAnnotationTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } ::Ifc4x3_rc1::IfcRelContainedInSpatialStructure::list::ptr Ifc4x3_rc1::IfcAnnotation::ContainedInStructure() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[937], 4)->as(); } @@ -8007,56 +8007,56 @@ void Ifc4x3_rc1::IfcAnnotation::setPredefinedType(boost::optional< ::Ifc4x3_rc1: const IfcParse::entity& Ifc4x3_rc1::IfcAnnotation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[49]); } const IfcParse::entity& Ifc4x3_rc1::IfcAnnotation::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[49]); } Ifc4x3_rc1::IfcAnnotation::IfcAnnotation(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_rc1::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_rc1::IfcAnnotationTypeEnum::Value > v8_PredefinedType) : IfcProduct(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcAnnotationTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_rc1::IfcAnnotationTypeEnum::Value > v8_PredefinedType) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcAnnotationTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAnnotationFillArea -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCurve>(true); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcAnnotationFillArea::setOuterBoundary(::Ifc4x3_rc1::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcCurve >::ptr > Ifc4x3_rc1::IfcAnnotationFillArea::InnerBoundaries() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcCurve >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcCurve >::ptr > Ifc4x3_rc1::IfcAnnotationFillArea::InnerBoundaries() const { if(get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcCurve >(); } void Ifc4x3_rc1::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcCurve >::ptr > v) { if (v) {set_attribute_value(1, (*v)->generalize());} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_rc1::IfcAnnotationFillArea::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[50]); } const IfcParse::entity& Ifc4x3_rc1::IfcAnnotationFillArea::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[50]); } Ifc4x3_rc1::IfcAnnotationFillArea::IfcAnnotationFillArea(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcAnnotationFillArea::IfcAnnotationFillArea(::Ifc4x3_rc1::IfcCurve* v1_OuterBoundary, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcCurve >::ptr > v2_InnerBoundaries) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_OuterBoundary ? v1_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_InnerBoundaries) {set_attribute_value(1, (*v2_InnerBoundaries)->generalize()); }; populate_derived(); } +Ifc4x3_rc1::IfcAnnotationFillArea::IfcAnnotationFillArea(::Ifc4x3_rc1::IfcCurve* v1_OuterBoundary, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcCurve >::ptr > v2_InnerBoundaries) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_OuterBoundary ? v1_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_InnerBoundaries) {set_attribute_value(1, (*v2_InnerBoundaries)->generalize()); }; populate_derived(); } // Function implementations for IfcApplication -::Ifc4x3_rc1::IfcOrganization* Ifc4x3_rc1::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcOrganization>(true); } +::Ifc4x3_rc1::IfcOrganization* Ifc4x3_rc1::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcOrganization>(true); } void Ifc4x3_rc1::IfcApplication::setApplicationDeveloper(::Ifc4x3_rc1::IfcOrganization* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x3_rc1::IfcApplication::Version() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_rc1::IfcApplication::Version() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcApplication::setVersion(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::string Ifc4x3_rc1::IfcApplication::ApplicationFullName() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3_rc1::IfcApplication::ApplicationFullName() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcApplication::setApplicationFullName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::string Ifc4x3_rc1::IfcApplication::ApplicationIdentifier() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x3_rc1::IfcApplication::ApplicationIdentifier() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcApplication::setApplicationIdentifier(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcApplication::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[52]); } const IfcParse::entity& Ifc4x3_rc1::IfcApplication::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[52]); } Ifc4x3_rc1::IfcApplication::IfcApplication(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcApplication::IfcApplication(::Ifc4x3_rc1::IfcOrganization* v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ApplicationDeveloper ? v1_ApplicationDeveloper->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; populate_derived(); } +Ifc4x3_rc1::IfcApplication::IfcApplication(::Ifc4x3_rc1::IfcOrganization* v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ApplicationDeveloper ? v1_ApplicationDeveloper->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; populate_derived(); } // Function implementations for IfcAppliedValue -boost::optional< std::string > Ifc4x3_rc1::IfcAppliedValue::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcAppliedValue::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcAppliedValue::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc1::IfcAppliedValue::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcAppliedValue::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcAppliedValue::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc1::IfcAppliedValueSelect* Ifc4x3_rc1::IfcAppliedValue::AppliedValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcAppliedValueSelect>(true); } +::Ifc4x3_rc1::IfcAppliedValueSelect* Ifc4x3_rc1::IfcAppliedValue::AppliedValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcAppliedValueSelect>(true); } void Ifc4x3_rc1::IfcAppliedValue::setAppliedValue(::Ifc4x3_rc1::IfcAppliedValueSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcMeasureWithUnit* Ifc4x3_rc1::IfcAppliedValue::UnitBasis() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcMeasureWithUnit>(true); } +::Ifc4x3_rc1::IfcMeasureWithUnit* Ifc4x3_rc1::IfcAppliedValue::UnitBasis() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcMeasureWithUnit>(true); } void Ifc4x3_rc1::IfcAppliedValue::setUnitBasis(::Ifc4x3_rc1::IfcMeasureWithUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc1::IfcAppliedValue::ApplicableDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcAppliedValue::ApplicableDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcAppliedValue::setApplicableDate(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc1::IfcAppliedValue::FixedUntilDate() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcAppliedValue::FixedUntilDate() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcAppliedValue::setFixedUntilDate(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc1::IfcAppliedValue::Category() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcAppliedValue::Category() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcAppliedValue::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc1::IfcAppliedValue::Condition() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcAppliedValue::Condition() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcAppliedValue::setCondition(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3_rc1::IfcArithmeticOperatorEnum::Value > Ifc4x3_rc1::IfcAppliedValue::ArithmeticOperator() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcArithmeticOperatorEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcArithmeticOperatorEnum::Value > Ifc4x3_rc1::IfcAppliedValue::ArithmeticOperator() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcArithmeticOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcAppliedValue::setArithmeticOperator(boost::optional< ::Ifc4x3_rc1::IfcArithmeticOperatorEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcArithmeticOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > Ifc4x3_rc1::IfcAppliedValue::Components() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3_rc1::IfcAppliedValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > Ifc4x3_rc1::IfcAppliedValue::Components() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3_rc1::IfcAppliedValue >(); } void Ifc4x3_rc1::IfcAppliedValue::setComponents(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } ::Ifc4x3_rc1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc1::IfcAppliedValue::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[436], 3)->as(); } @@ -8064,26 +8064,26 @@ void Ifc4x3_rc1::IfcAppliedValue::setComponents(boost::optional< aggregate_of< : const IfcParse::entity& Ifc4x3_rc1::IfcAppliedValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[53]); } const IfcParse::entity& Ifc4x3_rc1::IfcAppliedValue::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[53]); } Ifc4x3_rc1::IfcAppliedValue::IfcAppliedValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3_rc1::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_rc1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v10_Components) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } +Ifc4x3_rc1::IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3_rc1::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_rc1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v10_Components) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } // Function implementations for IfcApproval -boost::optional< std::string > Ifc4x3_rc1::IfcApproval::Identifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcApproval::Identifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcApproval::setIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc1::IfcApproval::Name() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcApproval::Name() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcApproval::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc1::IfcApproval::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcApproval::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcApproval::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_rc1::IfcApproval::TimeOfApproval() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcApproval::TimeOfApproval() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcApproval::setTimeOfApproval(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc1::IfcApproval::Status() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcApproval::Status() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcApproval::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc1::IfcApproval::Level() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcApproval::Level() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcApproval::setLevel(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc1::IfcApproval::Qualifier() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcApproval::Qualifier() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcApproval::setQualifier(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcApproval::RequestingApproval() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc1::IfcActorSelect>(true); } +::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcApproval::RequestingApproval() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc1::IfcActorSelect>(true); } void Ifc4x3_rc1::IfcApproval::setRequestingApproval(::Ifc4x3_rc1::IfcActorSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcApproval::GivingApproval() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc1::IfcActorSelect>(true); } +::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcApproval::GivingApproval() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc1::IfcActorSelect>(true); } void Ifc4x3_rc1::IfcApproval::setGivingApproval(::Ifc4x3_rc1::IfcActorSelect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } ::Ifc4x3_rc1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc1::IfcApproval::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[436], 3)->as(); } @@ -8095,159 +8095,159 @@ void Ifc4x3_rc1::IfcApproval::setGivingApproval(::Ifc4x3_rc1::IfcActorSelect* v) const IfcParse::entity& Ifc4x3_rc1::IfcApproval::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[55]); } const IfcParse::entity& Ifc4x3_rc1::IfcApproval::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[55]); } Ifc4x3_rc1::IfcApproval::IfcApproval(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcApproval::IfcApproval(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_TimeOfApproval, boost::optional< std::string > v5_Status, boost::optional< std::string > v6_Level, boost::optional< std::string > v7_Qualifier, ::Ifc4x3_rc1::IfcActorSelect* v8_RequestingApproval, ::Ifc4x3_rc1::IfcActorSelect* v9_GivingApproval) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(9))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, v8_RequestingApproval ? v8_RequestingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_GivingApproval ? v9_GivingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcApproval::IfcApproval(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_TimeOfApproval, boost::optional< std::string > v5_Status, boost::optional< std::string > v6_Level, boost::optional< std::string > v7_Qualifier, ::Ifc4x3_rc1::IfcActorSelect* v8_RequestingApproval, ::Ifc4x3_rc1::IfcActorSelect* v9_GivingApproval) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, v8_RequestingApproval ? v8_RequestingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_GivingApproval ? v9_GivingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcApprovalRelationship -::Ifc4x3_rc1::IfcApproval* Ifc4x3_rc1::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcApproval>(true); } +::Ifc4x3_rc1::IfcApproval* Ifc4x3_rc1::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcApproval>(true); } void Ifc4x3_rc1::IfcApprovalRelationship::setRelatingApproval(::Ifc4x3_rc1::IfcApproval* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_rc1::IfcApproval >::ptr Ifc4x3_rc1::IfcApprovalRelationship::RelatedApprovals() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc1::IfcApproval >(); } +aggregate_of< ::Ifc4x3_rc1::IfcApproval >::ptr Ifc4x3_rc1::IfcApprovalRelationship::RelatedApprovals() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc1::IfcApproval >(); } void Ifc4x3_rc1::IfcApprovalRelationship::setRelatedApprovals(aggregate_of< ::Ifc4x3_rc1::IfcApproval >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcApprovalRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[56]); } const IfcParse::entity& Ifc4x3_rc1::IfcApprovalRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[56]); } Ifc4x3_rc1::IfcApprovalRelationship::IfcApprovalRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_rc1::IfcApprovalRelationship::IfcApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcApproval* v3_RelatingApproval, aggregate_of< ::Ifc4x3_rc1::IfcApproval >::ptr v4_RelatedApprovals) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingApproval ? v3_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedApprovals)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcApprovalRelationship::IfcApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcApproval* v3_RelatingApproval, aggregate_of< ::Ifc4x3_rc1::IfcApproval >::ptr v4_RelatedApprovals) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingApproval ? v3_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedApprovals)->generalize());; populate_derived(); } // Function implementations for IfcArbitraryClosedProfileDef -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcCurve>(true); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcArbitraryClosedProfileDef::setOuterCurve(::Ifc4x3_rc1::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc1::IfcArbitraryClosedProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[57]); } const IfcParse::entity& Ifc4x3_rc1::IfcArbitraryClosedProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[57]); } Ifc4x3_rc1::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_rc1::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcCurve* v3_OuterCurve) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcCurve* v3_OuterCurve) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcArbitraryOpenProfileDef -::Ifc4x3_rc1::IfcBoundedCurve* Ifc4x3_rc1::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcBoundedCurve>(true); } +::Ifc4x3_rc1::IfcBoundedCurve* Ifc4x3_rc1::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcBoundedCurve>(true); } void Ifc4x3_rc1::IfcArbitraryOpenProfileDef::setCurve(::Ifc4x3_rc1::IfcBoundedCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc1::IfcArbitraryOpenProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[58]); } const IfcParse::entity& Ifc4x3_rc1::IfcArbitraryOpenProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[58]); } Ifc4x3_rc1::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_rc1::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcBoundedCurve* v3_Curve) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcBoundedCurve* v3_Curve) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcArbitraryProfileDefWithVoids -aggregate_of< ::Ifc4x3_rc1::IfcCurve >::ptr Ifc4x3_rc1::IfcArbitraryProfileDefWithVoids::InnerCurves() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc1::IfcCurve >(); } +aggregate_of< ::Ifc4x3_rc1::IfcCurve >::ptr Ifc4x3_rc1::IfcArbitraryProfileDefWithVoids::InnerCurves() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc1::IfcCurve >(); } void Ifc4x3_rc1::IfcArbitraryProfileDefWithVoids::setInnerCurves(aggregate_of< ::Ifc4x3_rc1::IfcCurve >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcArbitraryProfileDefWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[59]); } const IfcParse::entity& Ifc4x3_rc1::IfcArbitraryProfileDefWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[59]); } Ifc4x3_rc1::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(IfcEntityInstanceData&& e) : IfcArbitraryClosedProfileDef(std::move(e)) { } -Ifc4x3_rc1::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcCurve* v3_OuterCurve, aggregate_of< ::Ifc4x3_rc1::IfcCurve >::ptr v4_InnerCurves) : IfcArbitraryClosedProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_InnerCurves)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcCurve* v3_OuterCurve, aggregate_of< ::Ifc4x3_rc1::IfcCurve >::ptr v4_InnerCurves) : IfcArbitraryClosedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_InnerCurves)->generalize());; populate_derived(); } // Function implementations for IfcAsset -boost::optional< std::string > Ifc4x3_rc1::IfcAsset::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcAsset::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcAsset::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc1::IfcCostValue* Ifc4x3_rc1::IfcAsset::OriginalValue() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcCostValue>(true); } +::Ifc4x3_rc1::IfcCostValue* Ifc4x3_rc1::IfcAsset::OriginalValue() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcCostValue>(true); } void Ifc4x3_rc1::IfcAsset::setOriginalValue(::Ifc4x3_rc1::IfcCostValue* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc1::IfcCostValue* Ifc4x3_rc1::IfcAsset::CurrentValue() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc1::IfcCostValue>(true); } +::Ifc4x3_rc1::IfcCostValue* Ifc4x3_rc1::IfcAsset::CurrentValue() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc1::IfcCostValue>(true); } void Ifc4x3_rc1::IfcAsset::setCurrentValue(::Ifc4x3_rc1::IfcCostValue* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc1::IfcCostValue* Ifc4x3_rc1::IfcAsset::TotalReplacementCost() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc1::IfcCostValue>(true); } +::Ifc4x3_rc1::IfcCostValue* Ifc4x3_rc1::IfcAsset::TotalReplacementCost() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc1::IfcCostValue>(true); } void Ifc4x3_rc1::IfcAsset::setTotalReplacementCost(::Ifc4x3_rc1::IfcCostValue* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcAsset::Owner() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc1::IfcActorSelect>(true); } +::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcAsset::Owner() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc1::IfcActorSelect>(true); } void Ifc4x3_rc1::IfcAsset::setOwner(::Ifc4x3_rc1::IfcActorSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcAsset::User() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_rc1::IfcActorSelect>(true); } +::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcAsset::User() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_rc1::IfcActorSelect>(true); } void Ifc4x3_rc1::IfcAsset::setUser(::Ifc4x3_rc1::IfcActorSelect* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } -::Ifc4x3_rc1::IfcPerson* Ifc4x3_rc1::IfcAsset::ResponsiblePerson() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc4x3_rc1::IfcPerson>(true); } +::Ifc4x3_rc1::IfcPerson* Ifc4x3_rc1::IfcAsset::ResponsiblePerson() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc4x3_rc1::IfcPerson>(true); } void Ifc4x3_rc1::IfcAsset::setResponsiblePerson(::Ifc4x3_rc1::IfcPerson* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } -boost::optional< std::string > Ifc4x3_rc1::IfcAsset::IncorporationDate() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcAsset::IncorporationDate() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc1::IfcAsset::setIncorporationDate(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4x3_rc1::IfcCostValue* Ifc4x3_rc1::IfcAsset::DepreciatedValue() const { if(data_.get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(13)))->as<::Ifc4x3_rc1::IfcCostValue>(true); } +::Ifc4x3_rc1::IfcCostValue* Ifc4x3_rc1::IfcAsset::DepreciatedValue() const { if(get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(13)))->as<::Ifc4x3_rc1::IfcCostValue>(true); } void Ifc4x3_rc1::IfcAsset::setDepreciatedValue(::Ifc4x3_rc1::IfcCostValue* v) { set_attribute_value(13, v->as());if constexpr (false)unset_attribute_value(13); } const IfcParse::entity& Ifc4x3_rc1::IfcAsset::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[65]); } const IfcParse::entity& Ifc4x3_rc1::IfcAsset::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[65]); } Ifc4x3_rc1::IfcAsset::IfcAsset(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x3_rc1::IfcAsset::IfcAsset(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, ::Ifc4x3_rc1::IfcCostValue* v7_OriginalValue, ::Ifc4x3_rc1::IfcCostValue* v8_CurrentValue, ::Ifc4x3_rc1::IfcCostValue* v9_TotalReplacementCost, ::Ifc4x3_rc1::IfcActorSelect* v10_Owner, ::Ifc4x3_rc1::IfcActorSelect* v11_User, ::Ifc4x3_rc1::IfcPerson* v12_ResponsiblePerson, boost::optional< std::string > v13_IncorporationDate, ::Ifc4x3_rc1::IfcCostValue* v14_DepreciatedValue) : IfcGroup(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, v7_OriginalValue ? v7_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_CurrentValue ? v8_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_TotalReplacementCost ? v9_TotalReplacementCost->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_Owner ? v10_Owner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_User ? v11_User->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, v12_ResponsiblePerson ? v12_ResponsiblePerson->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, v14_DepreciatedValue ? v14_DepreciatedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcAsset::IfcAsset(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, ::Ifc4x3_rc1::IfcCostValue* v7_OriginalValue, ::Ifc4x3_rc1::IfcCostValue* v8_CurrentValue, ::Ifc4x3_rc1::IfcCostValue* v9_TotalReplacementCost, ::Ifc4x3_rc1::IfcActorSelect* v10_Owner, ::Ifc4x3_rc1::IfcActorSelect* v11_User, ::Ifc4x3_rc1::IfcPerson* v12_ResponsiblePerson, boost::optional< std::string > v13_IncorporationDate, ::Ifc4x3_rc1::IfcCostValue* v14_DepreciatedValue) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, v7_OriginalValue ? v7_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_CurrentValue ? v8_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_TotalReplacementCost ? v9_TotalReplacementCost->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_Owner ? v10_Owner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_User ? v11_User->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, v12_ResponsiblePerson ? v12_ResponsiblePerson->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, v14_DepreciatedValue ? v14_DepreciatedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAsymmetricIShapeProfileDef -double Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::setBottomFlangeWidth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::OverallDepth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::OverallDepth() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::setOverallDepth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::setBottomFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::setBottomFlangeFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -double Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { double v = data_.get_attribute_value(8); return v; } +double Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { double v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::setTopFlangeWidth(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -boost::optional< double > Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::setBottomFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::setBottomFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::setTopFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } const IfcParse::entity& Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[66]); } const IfcParse::entity& Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[66]); } Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::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(storage_t(15))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); }; populate_derived(); } +Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::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(in_memory_attribute_storage(15))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); }; populate_derived(); } // Function implementations for IfcAudioVisualAppliance -boost::optional< ::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x3_rc1::IfcAudioVisualAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x3_rc1::IfcAudioVisualAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcAudioVisualAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcAudioVisualAppliance::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[67]); } const IfcParse::entity& Ifc4x3_rc1::IfcAudioVisualAppliance::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[67]); } Ifc4x3_rc1::IfcAudioVisualAppliance::IfcAudioVisualAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc1::IfcAudioVisualAppliance::IfcAudioVisualAppliance(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcAudioVisualAppliance::IfcAudioVisualAppliance(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAudioVisualApplianceType -::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3_rc1::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3_rc1::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcAudioVisualApplianceType::setPredefinedType(::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcAudioVisualApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[68]); } const IfcParse::entity& Ifc4x3_rc1::IfcAudioVisualApplianceType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[68]); } Ifc4x3_rc1::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc1::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAxis1Placement -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcAxis1Placement::Axis() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcDirection>(true); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcAxis1Placement::Axis() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcAxis1Placement::setAxis(::Ifc4x3_rc1::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcAxis1Placement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[70]); } const IfcParse::entity& Ifc4x3_rc1::IfcAxis1Placement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[70]); } Ifc4x3_rc1::IfcAxis1Placement::IfcAxis1Placement(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x3_rc1::IfcAxis1Placement::IfcAxis1Placement(::Ifc4x3_rc1::IfcCartesianPoint* v1_Location, ::Ifc4x3_rc1::IfcDirection* v2_Axis) : IfcPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcAxis1Placement::IfcAxis1Placement(::Ifc4x3_rc1::IfcCartesianPoint* v1_Location, ::Ifc4x3_rc1::IfcDirection* v2_Axis) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAxis2Placement2D -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcAxis2Placement2D::RefDirection() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcDirection>(true); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcAxis2Placement2D::RefDirection() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcAxis2Placement2D::setRefDirection(::Ifc4x3_rc1::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcAxis2Placement2D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[72]); } const IfcParse::entity& Ifc4x3_rc1::IfcAxis2Placement2D::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[72]); } Ifc4x3_rc1::IfcAxis2Placement2D::IfcAxis2Placement2D(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x3_rc1::IfcAxis2Placement2D::IfcAxis2Placement2D(::Ifc4x3_rc1::IfcCartesianPoint* v1_Location, ::Ifc4x3_rc1::IfcDirection* v2_RefDirection) : IfcPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RefDirection ? v2_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcAxis2Placement2D::IfcAxis2Placement2D(::Ifc4x3_rc1::IfcCartesianPoint* v1_Location, ::Ifc4x3_rc1::IfcDirection* v2_RefDirection) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RefDirection ? v2_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAxis2Placement3D -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcAxis2Placement3D::Axis() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcDirection>(true); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcAxis2Placement3D::Axis() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcAxis2Placement3D::setAxis(::Ifc4x3_rc1::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcAxis2Placement3D::RefDirection() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcDirection>(true); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcAxis2Placement3D::RefDirection() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcAxis2Placement3D::setRefDirection(::Ifc4x3_rc1::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc1::IfcAxis2Placement3D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[73]); } const IfcParse::entity& Ifc4x3_rc1::IfcAxis2Placement3D::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[73]); } Ifc4x3_rc1::IfcAxis2Placement3D::IfcAxis2Placement3D(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x3_rc1::IfcAxis2Placement3D::IfcAxis2Placement3D(::Ifc4x3_rc1::IfcCartesianPoint* v1_Location, ::Ifc4x3_rc1::IfcDirection* v2_Axis, ::Ifc4x3_rc1::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcAxis2Placement3D::IfcAxis2Placement3D(::Ifc4x3_rc1::IfcCartesianPoint* v1_Location, ::Ifc4x3_rc1::IfcDirection* v2_Axis, ::Ifc4x3_rc1::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAxisLateralInclination @@ -8256,89 +8256,89 @@ Ifc4x3_rc1::IfcAxis2Placement3D::IfcAxis2Placement3D(::Ifc4x3_rc1::IfcCartesianP const IfcParse::entity& Ifc4x3_rc1::IfcAxisLateralInclination::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[74]); } const IfcParse::entity& Ifc4x3_rc1::IfcAxisLateralInclination::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[74]); } Ifc4x3_rc1::IfcAxisLateralInclination::IfcAxisLateralInclination(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcAxisLateralInclination::IfcAxisLateralInclination() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc1::IfcAxisLateralInclination::IfcAxisLateralInclination() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcBSplineCurve -int Ifc4x3_rc1::IfcBSplineCurve::Degree() const { int v = data_.get_attribute_value(0); return v; } +int Ifc4x3_rc1::IfcBSplineCurve::Degree() const { int v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcBSplineCurve::setDegree(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc1::IfcCartesianPoint >::ptr Ifc4x3_rc1::IfcBSplineCurve::ControlPointsList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcCartesianPoint >(); } +aggregate_of< ::Ifc4x3_rc1::IfcCartesianPoint >::ptr Ifc4x3_rc1::IfcBSplineCurve::ControlPointsList() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcCartesianPoint >(); } void Ifc4x3_rc1::IfcBSplineCurve::setControlPointsList(aggregate_of< ::Ifc4x3_rc1::IfcCartesianPoint >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcBSplineCurveForm::Value Ifc4x3_rc1::IfcBSplineCurve::CurveForm() const { return ::Ifc4x3_rc1::IfcBSplineCurveForm::FromString(data_.get_attribute_value(2)); } +::Ifc4x3_rc1::IfcBSplineCurveForm::Value Ifc4x3_rc1::IfcBSplineCurve::CurveForm() const { return ::Ifc4x3_rc1::IfcBSplineCurveForm::FromString(get_attribute_value(2)); } void Ifc4x3_rc1::IfcBSplineCurve::setCurveForm(::Ifc4x3_rc1::IfcBSplineCurveForm::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3_rc1::IfcBSplineCurveForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -boost::logic::tribool Ifc4x3_rc1::IfcBSplineCurve::ClosedCurve() const { boost::logic::tribool v = data_.get_attribute_value(3); return v; } +boost::logic::tribool Ifc4x3_rc1::IfcBSplineCurve::ClosedCurve() const { boost::logic::tribool v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcBSplineCurve::setClosedCurve(boost::logic::tribool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::logic::tribool Ifc4x3_rc1::IfcBSplineCurve::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(4); return v; } +boost::logic::tribool Ifc4x3_rc1::IfcBSplineCurve::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcBSplineCurve::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc1::IfcBSplineCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[112]); } const IfcParse::entity& Ifc4x3_rc1::IfcBSplineCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[112]); } Ifc4x3_rc1::IfcBSplineCurve::IfcBSplineCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_rc1::IfcBSplineCurve::IfcBSplineCurve(int v1_Degree, aggregate_of< ::Ifc4x3_rc1::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_rc1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; populate_derived(); } +Ifc4x3_rc1::IfcBSplineCurve::IfcBSplineCurve(int v1_Degree, aggregate_of< ::Ifc4x3_rc1::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_rc1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; populate_derived(); } // Function implementations for IfcBSplineCurveWithKnots -std::vector< int > /*[2:?]*/ Ifc4x3_rc1::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int > /*[2:?]*/ v = data_.get_attribute_value(5); return v; } +std::vector< int > /*[2:?]*/ Ifc4x3_rc1::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcBSplineCurveWithKnots::setKnotMultiplicities(std::vector< int > /*[2:?]*/ v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -std::vector< double > /*[2:?]*/ Ifc4x3_rc1::IfcBSplineCurveWithKnots::Knots() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(6); return v; } +std::vector< double > /*[2:?]*/ Ifc4x3_rc1::IfcBSplineCurveWithKnots::Knots() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcBSplineCurveWithKnots::setKnots(std::vector< double > /*[2:?]*/ v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc1::IfcKnotType::Value Ifc4x3_rc1::IfcBSplineCurveWithKnots::KnotSpec() const { return ::Ifc4x3_rc1::IfcKnotType::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc1::IfcKnotType::Value Ifc4x3_rc1::IfcBSplineCurveWithKnots::KnotSpec() const { return ::Ifc4x3_rc1::IfcKnotType::FromString(get_attribute_value(7)); } void Ifc4x3_rc1::IfcBSplineCurveWithKnots::setKnotSpec(::Ifc4x3_rc1::IfcKnotType::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc1::IfcKnotType::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc1::IfcBSplineCurveWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[114]); } const IfcParse::entity& Ifc4x3_rc1::IfcBSplineCurveWithKnots::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[114]); } Ifc4x3_rc1::IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(IfcEntityInstanceData&& e) : IfcBSplineCurve(std::move(e)) { } -Ifc4x3_rc1::IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x3_rc1::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_rc1::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_rc1::IfcKnotType::Value v8_KnotSpec) : IfcBSplineCurve(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcKnotType::Class(),(size_t)v8_KnotSpec)));; populate_derived(); } +Ifc4x3_rc1::IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x3_rc1::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_rc1::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_rc1::IfcKnotType::Value v8_KnotSpec) : IfcBSplineCurve(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcKnotType::Class(),(size_t)v8_KnotSpec)));; populate_derived(); } // Function implementations for IfcBSplineSurface -int Ifc4x3_rc1::IfcBSplineSurface::UDegree() const { int v = data_.get_attribute_value(0); return v; } +int Ifc4x3_rc1::IfcBSplineSurface::UDegree() const { int v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcBSplineSurface::setUDegree(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -int Ifc4x3_rc1::IfcBSplineSurface::VDegree() const { int v = data_.get_attribute_value(1); return v; } +int Ifc4x3_rc1::IfcBSplineSurface::VDegree() const { int v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcBSplineSurface::setVDegree(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -aggregate_of_aggregate_of< ::Ifc4x3_rc1::IfcCartesianPoint >::ptr Ifc4x3_rc1::IfcBSplineSurface::ControlPointsList() const { aggregate_of_aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcCartesianPoint >(); } +aggregate_of_aggregate_of< ::Ifc4x3_rc1::IfcCartesianPoint >::ptr Ifc4x3_rc1::IfcBSplineSurface::ControlPointsList() const { aggregate_of_aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcCartesianPoint >(); } void Ifc4x3_rc1::IfcBSplineSurface::setControlPointsList(aggregate_of_aggregate_of< ::Ifc4x3_rc1::IfcCartesianPoint >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcBSplineSurfaceForm::Value Ifc4x3_rc1::IfcBSplineSurface::SurfaceForm() const { return ::Ifc4x3_rc1::IfcBSplineSurfaceForm::FromString(data_.get_attribute_value(3)); } +::Ifc4x3_rc1::IfcBSplineSurfaceForm::Value Ifc4x3_rc1::IfcBSplineSurface::SurfaceForm() const { return ::Ifc4x3_rc1::IfcBSplineSurfaceForm::FromString(get_attribute_value(3)); } void Ifc4x3_rc1::IfcBSplineSurface::setSurfaceForm(::Ifc4x3_rc1::IfcBSplineSurfaceForm::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc4x3_rc1::IfcBSplineSurfaceForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } -boost::logic::tribool Ifc4x3_rc1::IfcBSplineSurface::UClosed() const { boost::logic::tribool v = data_.get_attribute_value(4); return v; } +boost::logic::tribool Ifc4x3_rc1::IfcBSplineSurface::UClosed() const { boost::logic::tribool v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcBSplineSurface::setUClosed(boost::logic::tribool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::logic::tribool Ifc4x3_rc1::IfcBSplineSurface::VClosed() const { boost::logic::tribool v = data_.get_attribute_value(5); return v; } +boost::logic::tribool Ifc4x3_rc1::IfcBSplineSurface::VClosed() const { boost::logic::tribool v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcBSplineSurface::setVClosed(boost::logic::tribool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::logic::tribool Ifc4x3_rc1::IfcBSplineSurface::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(6); return v; } +boost::logic::tribool Ifc4x3_rc1::IfcBSplineSurface::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcBSplineSurface::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc1::IfcBSplineSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[115]); } const IfcParse::entity& Ifc4x3_rc1::IfcBSplineSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[115]); } Ifc4x3_rc1::IfcBSplineSurface::IfcBSplineSurface(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x3_rc1::IfcBSplineSurface::IfcBSplineSurface(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_rc1::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_rc1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));; populate_derived(); } +Ifc4x3_rc1::IfcBSplineSurface::IfcBSplineSurface(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_rc1::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_rc1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));; populate_derived(); } // Function implementations for IfcBSplineSurfaceWithKnots -std::vector< int > /*[2:?]*/ Ifc4x3_rc1::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int > /*[2:?]*/ v = data_.get_attribute_value(7); return v; } +std::vector< int > /*[2:?]*/ Ifc4x3_rc1::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcBSplineSurfaceWithKnots::setUMultiplicities(std::vector< int > /*[2:?]*/ v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector< int > /*[2:?]*/ Ifc4x3_rc1::IfcBSplineSurfaceWithKnots::VMultiplicities() const { std::vector< int > /*[2:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< int > /*[2:?]*/ Ifc4x3_rc1::IfcBSplineSurfaceWithKnots::VMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcBSplineSurfaceWithKnots::setVMultiplicities(std::vector< int > /*[2:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::vector< double > /*[2:?]*/ Ifc4x3_rc1::IfcBSplineSurfaceWithKnots::UKnots() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(9); return v; } +std::vector< double > /*[2:?]*/ Ifc4x3_rc1::IfcBSplineSurfaceWithKnots::UKnots() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(9); return v; } void Ifc4x3_rc1::IfcBSplineSurfaceWithKnots::setUKnots(std::vector< double > /*[2:?]*/ v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -std::vector< double > /*[2:?]*/ Ifc4x3_rc1::IfcBSplineSurfaceWithKnots::VKnots() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(10); return v; } +std::vector< double > /*[2:?]*/ Ifc4x3_rc1::IfcBSplineSurfaceWithKnots::VKnots() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcBSplineSurfaceWithKnots::setVKnots(std::vector< double > /*[2:?]*/ v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -::Ifc4x3_rc1::IfcKnotType::Value Ifc4x3_rc1::IfcBSplineSurfaceWithKnots::KnotSpec() const { return ::Ifc4x3_rc1::IfcKnotType::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc1::IfcKnotType::Value Ifc4x3_rc1::IfcBSplineSurfaceWithKnots::KnotSpec() const { return ::Ifc4x3_rc1::IfcKnotType::FromString(get_attribute_value(11)); } void Ifc4x3_rc1::IfcBSplineSurfaceWithKnots::setKnotSpec(::Ifc4x3_rc1::IfcKnotType::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc1::IfcKnotType::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc1::IfcBSplineSurfaceWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[117]); } const IfcParse::entity& Ifc4x3_rc1::IfcBSplineSurfaceWithKnots::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[117]); } Ifc4x3_rc1::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(IfcEntityInstanceData&& e) : IfcBSplineSurface(std::move(e)) { } -Ifc4x3_rc1::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_rc1::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_rc1::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_rc1::IfcKnotType::Value v12_KnotSpec) : IfcBSplineSurface(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcKnotType::Class(),(size_t)v12_KnotSpec)));; populate_derived(); } +Ifc4x3_rc1::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_rc1::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_rc1::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_rc1::IfcKnotType::Value v12_KnotSpec) : IfcBSplineSurface(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcKnotType::Class(),(size_t)v12_KnotSpec)));; populate_derived(); } // Function implementations for IfcBeam -boost::optional< ::Ifc4x3_rc1::IfcBeamTypeEnum::Value > Ifc4x3_rc1::IfcBeam::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcBeamTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcBeamTypeEnum::Value > Ifc4x3_rc1::IfcBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcBeamTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcBeam::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcBeamTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcBeamTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcBeam::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[75]); } const IfcParse::entity& Ifc4x3_rc1::IfcBeam::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[75]); } Ifc4x3_rc1::IfcBeam::IfcBeam(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc1::IfcBeam::IfcBeam(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcBeamTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcBeam::IfcBeam(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcBeamTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBeamStandardCase @@ -8346,83 +8346,83 @@ Ifc4x3_rc1::IfcBeam::IfcBeam(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHist const IfcParse::entity& Ifc4x3_rc1::IfcBeamStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[76]); } const IfcParse::entity& Ifc4x3_rc1::IfcBeamStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[76]); } Ifc4x3_rc1::IfcBeamStandardCase::IfcBeamStandardCase(IfcEntityInstanceData&& e) : IfcBeam(std::move(e)) { } -Ifc4x3_rc1::IfcBeamStandardCase::IfcBeamStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcBeamTypeEnum::Value > v9_PredefinedType) : IfcBeam(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcBeamStandardCase::IfcBeamStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcBeamTypeEnum::Value > v9_PredefinedType) : IfcBeam(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBeamType -::Ifc4x3_rc1::IfcBeamTypeEnum::Value Ifc4x3_rc1::IfcBeamType::PredefinedType() const { return ::Ifc4x3_rc1::IfcBeamTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcBeamTypeEnum::Value Ifc4x3_rc1::IfcBeamType::PredefinedType() const { return ::Ifc4x3_rc1::IfcBeamTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcBeamType::setPredefinedType(::Ifc4x3_rc1::IfcBeamTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcBeamTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcBeamType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[77]); } const IfcParse::entity& Ifc4x3_rc1::IfcBeamType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[77]); } Ifc4x3_rc1::IfcBeamType::IfcBeamType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc1::IfcBeamType::IfcBeamType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBeamTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcBeamType::IfcBeamType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBeamTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBearing -boost::optional< ::Ifc4x3_rc1::IfcBearingTypeEnum::Value > Ifc4x3_rc1::IfcBearing::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcBearingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcBearingTypeEnum::Value > Ifc4x3_rc1::IfcBearing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcBearingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcBearing::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcBearingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcBearingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcBearing::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[79]); } const IfcParse::entity& Ifc4x3_rc1::IfcBearing::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[79]); } Ifc4x3_rc1::IfcBearing::IfcBearing(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc1::IfcBearing::IfcBearing(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcBearingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcBearing::IfcBearing(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcBearingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBearingType -::Ifc4x3_rc1::IfcBearingTypeEnum::Value Ifc4x3_rc1::IfcBearingType::PredefinedType() const { return ::Ifc4x3_rc1::IfcBearingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcBearingTypeEnum::Value Ifc4x3_rc1::IfcBearingType::PredefinedType() const { return ::Ifc4x3_rc1::IfcBearingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcBearingType::setPredefinedType(::Ifc4x3_rc1::IfcBearingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcBearingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcBearingType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[80]); } const IfcParse::entity& Ifc4x3_rc1::IfcBearingType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[80]); } Ifc4x3_rc1::IfcBearingType::IfcBearingType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc1::IfcBearingType::IfcBearingType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBearingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcBearingType::IfcBearingType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBearingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBlobTexture -std::string Ifc4x3_rc1::IfcBlobTexture::RasterFormat() const { std::string v = data_.get_attribute_value(5); return v; } +std::string Ifc4x3_rc1::IfcBlobTexture::RasterFormat() const { std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcBlobTexture::setRasterFormat(std::string v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::dynamic_bitset<> Ifc4x3_rc1::IfcBlobTexture::RasterCode() const { boost::dynamic_bitset<> v = data_.get_attribute_value(6); return v; } +boost::dynamic_bitset<> Ifc4x3_rc1::IfcBlobTexture::RasterCode() const { boost::dynamic_bitset<> v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcBlobTexture::setRasterCode(boost::dynamic_bitset<> v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc1::IfcBlobTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[86]); } const IfcParse::entity& Ifc4x3_rc1::IfcBlobTexture::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[86]); } Ifc4x3_rc1::IfcBlobTexture::IfcBlobTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -Ifc4x3_rc1::IfcBlobTexture::IfcBlobTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) : IfcSurfaceTexture(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode));; populate_derived(); } +Ifc4x3_rc1::IfcBlobTexture::IfcBlobTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) : IfcSurfaceTexture(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode));; populate_derived(); } // Function implementations for IfcBlock -double Ifc4x3_rc1::IfcBlock::XLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc1::IfcBlock::XLength() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcBlock::setXLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc1::IfcBlock::YLength() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc1::IfcBlock::YLength() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcBlock::setYLength(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc1::IfcBlock::ZLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc1::IfcBlock::ZLength() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcBlock::setZLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcBlock::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[87]); } const IfcParse::entity& Ifc4x3_rc1::IfcBlock::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[87]); } Ifc4x3_rc1::IfcBlock::IfcBlock(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3_rc1::IfcBlock::IfcBlock(::Ifc4x3_rc1::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; populate_derived(); } +Ifc4x3_rc1::IfcBlock::IfcBlock(::Ifc4x3_rc1::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; populate_derived(); } // Function implementations for IfcBoiler -boost::optional< ::Ifc4x3_rc1::IfcBoilerTypeEnum::Value > Ifc4x3_rc1::IfcBoiler::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcBoilerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcBoilerTypeEnum::Value > Ifc4x3_rc1::IfcBoiler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcBoilerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcBoiler::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcBoilerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcBoilerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcBoiler::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[88]); } const IfcParse::entity& Ifc4x3_rc1::IfcBoiler::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[88]); } Ifc4x3_rc1::IfcBoiler::IfcBoiler(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc1::IfcBoiler::IfcBoiler(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcBoilerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcBoiler::IfcBoiler(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcBoilerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBoilerType -::Ifc4x3_rc1::IfcBoilerTypeEnum::Value Ifc4x3_rc1::IfcBoilerType::PredefinedType() const { return ::Ifc4x3_rc1::IfcBoilerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcBoilerTypeEnum::Value Ifc4x3_rc1::IfcBoilerType::PredefinedType() const { return ::Ifc4x3_rc1::IfcBoilerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcBoilerType::setPredefinedType(::Ifc4x3_rc1::IfcBoilerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcBoilerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcBoilerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[89]); } const IfcParse::entity& Ifc4x3_rc1::IfcBoilerType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[89]); } Ifc4x3_rc1::IfcBoilerType::IfcBoilerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc1::IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBoilerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBoilerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBooleanClippingResult @@ -8430,21 +8430,21 @@ Ifc4x3_rc1::IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, ::Ifc4x3_rc1:: const IfcParse::entity& Ifc4x3_rc1::IfcBooleanClippingResult::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[92]); } const IfcParse::entity& Ifc4x3_rc1::IfcBooleanClippingResult::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[92]); } Ifc4x3_rc1::IfcBooleanClippingResult::IfcBooleanClippingResult(IfcEntityInstanceData&& e) : IfcBooleanResult(std::move(e)) { } -Ifc4x3_rc1::IfcBooleanClippingResult::IfcBooleanClippingResult(::Ifc4x3_rc1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc1::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x3_rc1::IfcBooleanOperand* v3_SecondOperand) : IfcBooleanResult(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcBooleanClippingResult::IfcBooleanClippingResult(::Ifc4x3_rc1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc1::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x3_rc1::IfcBooleanOperand* v3_SecondOperand) : IfcBooleanResult(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBooleanResult -::Ifc4x3_rc1::IfcBooleanOperator::Value Ifc4x3_rc1::IfcBooleanResult::Operator() const { return ::Ifc4x3_rc1::IfcBooleanOperator::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_rc1::IfcBooleanOperator::Value Ifc4x3_rc1::IfcBooleanResult::Operator() const { return ::Ifc4x3_rc1::IfcBooleanOperator::FromString(get_attribute_value(0)); } void Ifc4x3_rc1::IfcBooleanResult::setOperator(::Ifc4x3_rc1::IfcBooleanOperator::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_rc1::IfcBooleanOperator::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcBooleanOperand* Ifc4x3_rc1::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcBooleanOperand>(true); } +::Ifc4x3_rc1::IfcBooleanOperand* Ifc4x3_rc1::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcBooleanOperand>(true); } void Ifc4x3_rc1::IfcBooleanResult::setFirstOperand(::Ifc4x3_rc1::IfcBooleanOperand* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcBooleanOperand* Ifc4x3_rc1::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcBooleanOperand>(true); } +::Ifc4x3_rc1::IfcBooleanOperand* Ifc4x3_rc1::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcBooleanOperand>(true); } void Ifc4x3_rc1::IfcBooleanResult::setSecondOperand(::Ifc4x3_rc1::IfcBooleanOperand* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc1::IfcBooleanResult::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[95]); } const IfcParse::entity& Ifc4x3_rc1::IfcBooleanResult::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[95]); } Ifc4x3_rc1::IfcBooleanResult::IfcBooleanResult(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcBooleanResult::IfcBooleanResult(::Ifc4x3_rc1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc1::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x3_rc1::IfcBooleanOperand* v3_SecondOperand) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcBooleanResult::IfcBooleanResult(::Ifc4x3_rc1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc1::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x3_rc1::IfcBooleanOperand* v3_SecondOperand) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBorehole @@ -8452,17 +8452,17 @@ Ifc4x3_rc1::IfcBooleanResult::IfcBooleanResult(::Ifc4x3_rc1::IfcBooleanOperator: const IfcParse::entity& Ifc4x3_rc1::IfcBorehole::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[96]); } const IfcParse::entity& Ifc4x3_rc1::IfcBorehole::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[96]); } Ifc4x3_rc1::IfcBorehole::IfcBorehole(IfcEntityInstanceData&& e) : IfcGeotechnicalAssembly(std::move(e)) { } -Ifc4x3_rc1::IfcBorehole::IfcBorehole(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc1::IfcBorehole::IfcBorehole(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcBoundaryCondition -boost::optional< std::string > Ifc4x3_rc1::IfcBoundaryCondition::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcBoundaryCondition::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcBoundaryCondition::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3_rc1::IfcBoundaryCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[97]); } const IfcParse::entity& Ifc4x3_rc1::IfcBoundaryCondition::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[97]); } Ifc4x3_rc1::IfcBoundaryCondition::IfcBoundaryCondition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_rc1::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcBoundaryCurve @@ -8470,71 +8470,71 @@ Ifc4x3_rc1::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::str const IfcParse::entity& Ifc4x3_rc1::IfcBoundaryCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[98]); } const IfcParse::entity& Ifc4x3_rc1::IfcBoundaryCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[98]); } Ifc4x3_rc1::IfcBoundaryCurve::IfcBoundaryCurve(IfcEntityInstanceData&& e) : IfcCompositeCurveOnSurface(std::move(e)) { } -Ifc4x3_rc1::IfcBoundaryCurve::IfcBoundaryCurve(aggregate_of< ::Ifc4x3_rc1::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurveOnSurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x3_rc1::IfcBoundaryCurve::IfcBoundaryCurve(aggregate_of< ::Ifc4x3_rc1::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurveOnSurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcBoundaryEdgeCondition -::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } +::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3_rc1::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthX(::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } +::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3_rc1::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthY(::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } +::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3_rc1::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthZ(::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect>(true); } +::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3_rc1::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect>(true); } +::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3_rc1::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect>(true); } +::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3_rc1::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc1::IfcBoundaryEdgeCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[99]); } const IfcParse::entity& Ifc4x3_rc1::IfcBoundaryEdgeCondition::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[99]); } Ifc4x3_rc1::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -Ifc4x3_rc1::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect* v2_TranslationalStiffnessByLengthX, ::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect* v3_TranslationalStiffnessByLengthY, ::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect* v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect* v5_RotationalStiffnessByLengthX, ::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect* v6_RotationalStiffnessByLengthY, ::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect* v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByLengthX ? v2_TranslationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByLengthY ? v3_TranslationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByLengthZ ? v4_TranslationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessByLengthX ? v5_RotationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessByLengthY ? v6_RotationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessByLengthZ ? v7_RotationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect* v2_TranslationalStiffnessByLengthX, ::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect* v3_TranslationalStiffnessByLengthY, ::Ifc4x3_rc1::IfcModulusOfTranslationalSubgradeReactionSelect* v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect* v5_RotationalStiffnessByLengthX, ::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect* v6_RotationalStiffnessByLengthY, ::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionSelect* v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByLengthX ? v2_TranslationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByLengthY ? v3_TranslationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByLengthZ ? v4_TranslationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessByLengthX ? v5_RotationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessByLengthY ? v6_RotationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessByLengthZ ? v7_RotationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryFaceCondition -::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect>(true); } +::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3_rc1::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaX(::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect>(true); } +::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3_rc1::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaY(::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect>(true); } +::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3_rc1::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcBoundaryFaceCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[100]); } const IfcParse::entity& Ifc4x3_rc1::IfcBoundaryFaceCondition::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[100]); } Ifc4x3_rc1::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -Ifc4x3_rc1::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect* v2_TranslationalStiffnessByAreaX, ::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect* v3_TranslationalStiffnessByAreaY, ::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect* v4_TranslationalStiffnessByAreaZ) : IfcBoundaryCondition(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByAreaX ? v2_TranslationalStiffnessByAreaX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByAreaY ? v3_TranslationalStiffnessByAreaY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByAreaZ ? v4_TranslationalStiffnessByAreaZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect* v2_TranslationalStiffnessByAreaX, ::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect* v3_TranslationalStiffnessByAreaY, ::Ifc4x3_rc1::IfcModulusOfSubgradeReactionSelect* v4_TranslationalStiffnessByAreaZ) : IfcBoundaryCondition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByAreaX ? v2_TranslationalStiffnessByAreaX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByAreaY ? v3_TranslationalStiffnessByAreaY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByAreaZ ? v4_TranslationalStiffnessByAreaZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryNodeCondition -::Ifc4x3_rc1::IfcTranslationalStiffnessSelect* Ifc4x3_rc1::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcTranslationalStiffnessSelect>(true); } +::Ifc4x3_rc1::IfcTranslationalStiffnessSelect* Ifc4x3_rc1::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3_rc1::IfcBoundaryNodeCondition::setTranslationalStiffnessX(::Ifc4x3_rc1::IfcTranslationalStiffnessSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcTranslationalStiffnessSelect* Ifc4x3_rc1::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcTranslationalStiffnessSelect>(true); } +::Ifc4x3_rc1::IfcTranslationalStiffnessSelect* Ifc4x3_rc1::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3_rc1::IfcBoundaryNodeCondition::setTranslationalStiffnessY(::Ifc4x3_rc1::IfcTranslationalStiffnessSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcTranslationalStiffnessSelect* Ifc4x3_rc1::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcTranslationalStiffnessSelect>(true); } +::Ifc4x3_rc1::IfcTranslationalStiffnessSelect* Ifc4x3_rc1::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3_rc1::IfcBoundaryNodeCondition::setTranslationalStiffnessZ(::Ifc4x3_rc1::IfcTranslationalStiffnessSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc1::IfcRotationalStiffnessSelect* Ifc4x3_rc1::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcRotationalStiffnessSelect>(true); } +::Ifc4x3_rc1::IfcRotationalStiffnessSelect* Ifc4x3_rc1::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcRotationalStiffnessSelect>(true); } void Ifc4x3_rc1::IfcBoundaryNodeCondition::setRotationalStiffnessX(::Ifc4x3_rc1::IfcRotationalStiffnessSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcRotationalStiffnessSelect* Ifc4x3_rc1::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcRotationalStiffnessSelect>(true); } +::Ifc4x3_rc1::IfcRotationalStiffnessSelect* Ifc4x3_rc1::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcRotationalStiffnessSelect>(true); } void Ifc4x3_rc1::IfcBoundaryNodeCondition::setRotationalStiffnessY(::Ifc4x3_rc1::IfcRotationalStiffnessSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc1::IfcRotationalStiffnessSelect* Ifc4x3_rc1::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcRotationalStiffnessSelect>(true); } +::Ifc4x3_rc1::IfcRotationalStiffnessSelect* Ifc4x3_rc1::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcRotationalStiffnessSelect>(true); } void Ifc4x3_rc1::IfcBoundaryNodeCondition::setRotationalStiffnessZ(::Ifc4x3_rc1::IfcRotationalStiffnessSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc1::IfcBoundaryNodeCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[101]); } const IfcParse::entity& Ifc4x3_rc1::IfcBoundaryNodeCondition::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[101]); } Ifc4x3_rc1::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -Ifc4x3_rc1::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ) : IfcBoundaryCondition(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ) : IfcBoundaryCondition(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryNodeConditionWarping -::Ifc4x3_rc1::IfcWarpingStiffnessSelect* Ifc4x3_rc1::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc1::IfcWarpingStiffnessSelect>(true); } +::Ifc4x3_rc1::IfcWarpingStiffnessSelect* Ifc4x3_rc1::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc1::IfcWarpingStiffnessSelect>(true); } void Ifc4x3_rc1::IfcBoundaryNodeConditionWarping::setWarpingStiffness(::Ifc4x3_rc1::IfcWarpingStiffnessSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc1::IfcBoundaryNodeConditionWarping::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[102]); } const IfcParse::entity& Ifc4x3_rc1::IfcBoundaryNodeConditionWarping::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[102]); } Ifc4x3_rc1::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(IfcEntityInstanceData&& e) : IfcBoundaryNodeCondition(std::move(e)) { } -Ifc4x3_rc1::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ, ::Ifc4x3_rc1::IfcWarpingStiffnessSelect* v8_WarpingStiffness) : IfcBoundaryNodeCondition(IfcEntityInstanceData(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_WarpingStiffness ? v8_WarpingStiffness->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x3_rc1::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x3_rc1::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ, ::Ifc4x3_rc1::IfcWarpingStiffnessSelect* v8_WarpingStiffness) : IfcBoundaryNodeCondition(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_WarpingStiffness ? v8_WarpingStiffness->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundedCurve @@ -8543,7 +8543,7 @@ Ifc4x3_rc1::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boo const IfcParse::entity& Ifc4x3_rc1::IfcBoundedCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[103]); } const IfcParse::entity& Ifc4x3_rc1::IfcBoundedCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[103]); } Ifc4x3_rc1::IfcBoundedCurve::IfcBoundedCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_rc1::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc1::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcBoundedSurface @@ -8551,43 +8551,43 @@ Ifc4x3_rc1::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData( const IfcParse::entity& Ifc4x3_rc1::IfcBoundedSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[104]); } const IfcParse::entity& Ifc4x3_rc1::IfcBoundedSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[104]); } Ifc4x3_rc1::IfcBoundedSurface::IfcBoundedSurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x3_rc1::IfcBoundedSurface::IfcBoundedSurface() : IfcSurface(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc1::IfcBoundedSurface::IfcBoundedSurface() : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcBoundingBox -::Ifc4x3_rc1::IfcCartesianPoint* Ifc4x3_rc1::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCartesianPoint>(true); } +::Ifc4x3_rc1::IfcCartesianPoint* Ifc4x3_rc1::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCartesianPoint>(true); } void Ifc4x3_rc1::IfcBoundingBox::setCorner(::Ifc4x3_rc1::IfcCartesianPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc1::IfcBoundingBox::XDim() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc1::IfcBoundingBox::XDim() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcBoundingBox::setXDim(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc1::IfcBoundingBox::YDim() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc1::IfcBoundingBox::YDim() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcBoundingBox::setYDim(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc1::IfcBoundingBox::ZDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc1::IfcBoundingBox::ZDim() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcBoundingBox::setZDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcBoundingBox::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[105]); } const IfcParse::entity& Ifc4x3_rc1::IfcBoundingBox::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[105]); } Ifc4x3_rc1::IfcBoundingBox::IfcBoundingBox(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcBoundingBox::IfcBoundingBox(::Ifc4x3_rc1::IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Corner ? v1_Corner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; populate_derived(); } +Ifc4x3_rc1::IfcBoundingBox::IfcBoundingBox(::Ifc4x3_rc1::IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Corner ? v1_Corner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; populate_derived(); } // Function implementations for IfcBoxedHalfSpace -::Ifc4x3_rc1::IfcBoundingBox* Ifc4x3_rc1::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcBoundingBox>(true); } +::Ifc4x3_rc1::IfcBoundingBox* Ifc4x3_rc1::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcBoundingBox>(true); } void Ifc4x3_rc1::IfcBoxedHalfSpace::setEnclosure(::Ifc4x3_rc1::IfcBoundingBox* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc1::IfcBoxedHalfSpace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[107]); } const IfcParse::entity& Ifc4x3_rc1::IfcBoxedHalfSpace::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[107]); } Ifc4x3_rc1::IfcBoxedHalfSpace::IfcBoxedHalfSpace(IfcEntityInstanceData&& e) : IfcHalfSpaceSolid(std::move(e)) { } -Ifc4x3_rc1::IfcBoxedHalfSpace::IfcBoxedHalfSpace(::Ifc4x3_rc1::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc1::IfcBoundingBox* v3_Enclosure) : IfcHalfSpaceSolid(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Enclosure ? v3_Enclosure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcBoxedHalfSpace::IfcBoxedHalfSpace(::Ifc4x3_rc1::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc1::IfcBoundingBox* v3_Enclosure) : IfcHalfSpaceSolid(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Enclosure ? v3_Enclosure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBridge -boost::optional< ::Ifc4x3_rc1::IfcBridgeTypeEnum::Value > Ifc4x3_rc1::IfcBridge::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcBridgeTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc1::IfcBridgeTypeEnum::Value > Ifc4x3_rc1::IfcBridge::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcBridgeTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcBridge::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcBridgeTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcBridgeTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc1::IfcBridge::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[108]); } const IfcParse::entity& Ifc4x3_rc1::IfcBridge::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[108]); } Ifc4x3_rc1::IfcBridge::IfcBridge(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x3_rc1::IfcBridge::IfcBridge(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_rc1::IfcBridgeTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcBridge::IfcBridge(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_rc1::IfcBridgeTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBridgePart @@ -8595,83 +8595,83 @@ Ifc4x3_rc1::IfcBridge::IfcBridge(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwner const IfcParse::entity& Ifc4x3_rc1::IfcBridgePart::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[109]); } const IfcParse::entity& Ifc4x3_rc1::IfcBridgePart::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[109]); } Ifc4x3_rc1::IfcBridgePart::IfcBridgePart(IfcEntityInstanceData&& e) : IfcFacilityPart(std::move(e)) { } -Ifc4x3_rc1::IfcBridgePart::IfcBridgePart(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc1::IfcFacilityPartTypeSelect* v10_PredefinedType, ::Ifc4x3_rc1::IfcFacilityUsageEnum::Value v11_UsageType) : IfcFacilityPart(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, v10_PredefinedType ? v10_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcFacilityUsageEnum::Class(),(size_t)v11_UsageType)));; populate_derived(); } +Ifc4x3_rc1::IfcBridgePart::IfcBridgePart(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc1::IfcFacilityPartTypeSelect* v10_PredefinedType, ::Ifc4x3_rc1::IfcFacilityUsageEnum::Value v11_UsageType) : IfcFacilityPart(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, v10_PredefinedType ? v10_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcFacilityUsageEnum::Class(),(size_t)v11_UsageType)));; populate_derived(); } // Function implementations for IfcBuilding -boost::optional< double > Ifc4x3_rc1::IfcBuilding::ElevationOfRefHeight() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc1::IfcBuilding::ElevationOfRefHeight() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc1::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc1::IfcBuilding::ElevationOfTerrain() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc1::IfcBuilding::ElevationOfTerrain() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4x3_rc1::IfcPostalAddress* Ifc4x3_rc1::IfcBuilding::BuildingAddress() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc4x3_rc1::IfcPostalAddress>(true); } +::Ifc4x3_rc1::IfcPostalAddress* Ifc4x3_rc1::IfcBuilding::BuildingAddress() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc4x3_rc1::IfcPostalAddress>(true); } void Ifc4x3_rc1::IfcBuilding::setBuildingAddress(::Ifc4x3_rc1::IfcPostalAddress* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc1::IfcBuilding::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[118]); } const IfcParse::entity& Ifc4x3_rc1::IfcBuilding::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[118]); } Ifc4x3_rc1::IfcBuilding::IfcBuilding(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x3_rc1::IfcBuilding::IfcBuilding(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_rc1::IfcPostalAddress* v12_BuildingAddress) : IfcFacility(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, v12_BuildingAddress ? v12_BuildingAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcBuilding::IfcBuilding(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_rc1::IfcPostalAddress* v12_BuildingAddress) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, v12_BuildingAddress ? v12_BuildingAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBuildingElementPart -boost::optional< ::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Value > Ifc4x3_rc1::IfcBuildingElementPart::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Value > Ifc4x3_rc1::IfcBuildingElementPart::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcBuildingElementPart::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcBuildingElementPart::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[119]); } const IfcParse::entity& Ifc4x3_rc1::IfcBuildingElementPart::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[119]); } Ifc4x3_rc1::IfcBuildingElementPart::IfcBuildingElementPart(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_rc1::IfcBuildingElementPart::IfcBuildingElementPart(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcBuildingElementPart::IfcBuildingElementPart(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBuildingElementPartType -::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Value Ifc4x3_rc1::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Value Ifc4x3_rc1::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcBuildingElementPartType::setPredefinedType(::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcBuildingElementPartType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[120]); } const IfcParse::entity& Ifc4x3_rc1::IfcBuildingElementPartType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[120]); } Ifc4x3_rc1::IfcBuildingElementPartType::IfcBuildingElementPartType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_rc1::IfcBuildingElementPartType::IfcBuildingElementPartType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcBuildingElementPartType::IfcBuildingElementPartType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBuildingElementProxy -boost::optional< ::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value > Ifc4x3_rc1::IfcBuildingElementProxy::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value > Ifc4x3_rc1::IfcBuildingElementProxy::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcBuildingElementProxy::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcBuildingElementProxy::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[122]); } const IfcParse::entity& Ifc4x3_rc1::IfcBuildingElementProxy::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[122]); } Ifc4x3_rc1::IfcBuildingElementProxy::IfcBuildingElementProxy(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc1::IfcBuildingElementProxy::IfcBuildingElementProxy(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcBuildingElementProxy::IfcBuildingElementProxy(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBuildingElementProxyType -::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value Ifc4x3_rc1::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value Ifc4x3_rc1::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcBuildingElementProxyType::setPredefinedType(::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcBuildingElementProxyType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[123]); } const IfcParse::entity& Ifc4x3_rc1::IfcBuildingElementProxyType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[123]); } Ifc4x3_rc1::IfcBuildingElementProxyType::IfcBuildingElementProxyType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc1::IfcBuildingElementProxyType::IfcBuildingElementProxyType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcBuildingElementProxyType::IfcBuildingElementProxyType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBuildingStorey -boost::optional< double > Ifc4x3_rc1::IfcBuildingStorey::Elevation() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc1::IfcBuildingStorey::Elevation() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc1::IfcBuildingStorey::setElevation(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc1::IfcBuildingStorey::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[125]); } const IfcParse::entity& Ifc4x3_rc1::IfcBuildingStorey::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[125]); } Ifc4x3_rc1::IfcBuildingStorey::IfcBuildingStorey(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x3_rc1::IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_Elevation) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; populate_derived(); } +Ifc4x3_rc1::IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_Elevation) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; populate_derived(); } // Function implementations for IfcBuildingSystem -boost::optional< ::Ifc4x3_rc1::IfcBuildingSystemTypeEnum::Value > Ifc4x3_rc1::IfcBuildingSystem::PredefinedType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcBuildingSystemTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3_rc1::IfcBuildingSystemTypeEnum::Value > Ifc4x3_rc1::IfcBuildingSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcBuildingSystemTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc1::IfcBuildingSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcBuildingSystemTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc1::IfcBuildingSystemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc1::IfcBuildingSystem::LongName() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcBuildingSystem::LongName() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcBuildingSystem::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc1::IfcBuildingSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[126]); } const IfcParse::entity& Ifc4x3_rc1::IfcBuildingSystem::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[126]); } Ifc4x3_rc1::IfcBuildingSystem::IfcBuildingSystem(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3_rc1::IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_rc1::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } +Ifc4x3_rc1::IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_rc1::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } // Function implementations for IfcBuiltElement @@ -8679,7 +8679,7 @@ Ifc4x3_rc1::IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3_rc1::IfcBuiltElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[128]); } const IfcParse::entity& Ifc4x3_rc1::IfcBuiltElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[128]); } Ifc4x3_rc1::IfcBuiltElement::IfcBuiltElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc1::IfcBuiltElement::IfcBuiltElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc1::IfcBuiltElement::IfcBuiltElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcBuiltElementType @@ -8687,167 +8687,167 @@ Ifc4x3_rc1::IfcBuiltElement::IfcBuiltElement(std::string v1_GlobalId, ::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc1::IfcBuiltElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[129]); } const IfcParse::entity& Ifc4x3_rc1::IfcBuiltElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[129]); } Ifc4x3_rc1::IfcBuiltElementType::IfcBuiltElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_rc1::IfcBuiltElementType::IfcBuiltElementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc1::IfcBuiltElementType::IfcBuiltElementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcBuiltSystem -boost::optional< ::Ifc4x3_rc1::IfcBuiltSystemTypeEnum::Value > Ifc4x3_rc1::IfcBuiltSystem::PredefinedType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcBuiltSystemTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3_rc1::IfcBuiltSystemTypeEnum::Value > Ifc4x3_rc1::IfcBuiltSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcBuiltSystemTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc1::IfcBuiltSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcBuiltSystemTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc1::IfcBuiltSystemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc1::IfcBuiltSystem::LongName() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcBuiltSystem::LongName() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcBuiltSystem::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc1::IfcBuiltSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[130]); } const IfcParse::entity& Ifc4x3_rc1::IfcBuiltSystem::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[130]); } Ifc4x3_rc1::IfcBuiltSystem::IfcBuiltSystem(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3_rc1::IfcBuiltSystem::IfcBuiltSystem(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_rc1::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcBuiltSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } +Ifc4x3_rc1::IfcBuiltSystem::IfcBuiltSystem(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_rc1::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcBuiltSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } // Function implementations for IfcBurner -boost::optional< ::Ifc4x3_rc1::IfcBurnerTypeEnum::Value > Ifc4x3_rc1::IfcBurner::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcBurnerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcBurnerTypeEnum::Value > Ifc4x3_rc1::IfcBurner::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcBurnerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcBurner::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcBurnerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcBurnerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcBurner::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[132]); } const IfcParse::entity& Ifc4x3_rc1::IfcBurner::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[132]); } Ifc4x3_rc1::IfcBurner::IfcBurner(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc1::IfcBurner::IfcBurner(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcBurnerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcBurner::IfcBurner(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcBurnerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBurnerType -::Ifc4x3_rc1::IfcBurnerTypeEnum::Value Ifc4x3_rc1::IfcBurnerType::PredefinedType() const { return ::Ifc4x3_rc1::IfcBurnerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcBurnerTypeEnum::Value Ifc4x3_rc1::IfcBurnerType::PredefinedType() const { return ::Ifc4x3_rc1::IfcBurnerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcBurnerType::setPredefinedType(::Ifc4x3_rc1::IfcBurnerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcBurnerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcBurnerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[133]); } const IfcParse::entity& Ifc4x3_rc1::IfcBurnerType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[133]); } Ifc4x3_rc1::IfcBurnerType::IfcBurnerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc1::IfcBurnerType::IfcBurnerType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBurnerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcBurnerType::IfcBurnerType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcBurnerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCShapeProfileDef -double Ifc4x3_rc1::IfcCShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc1::IfcCShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcCShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc1::IfcCShapeProfileDef::Width() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc1::IfcCShapeProfileDef::Width() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcCShapeProfileDef::setWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc1::IfcCShapeProfileDef::WallThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc1::IfcCShapeProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcCShapeProfileDef::setWallThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc1::IfcCShapeProfileDef::Girth() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc1::IfcCShapeProfileDef::Girth() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcCShapeProfileDef::setGirth(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc1::IfcCShapeProfileDef::InternalFilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc1::IfcCShapeProfileDef::InternalFilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcCShapeProfileDef::setInternalFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc1::IfcCShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[270]); } const IfcParse::entity& Ifc4x3_rc1::IfcCShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[270]); } Ifc4x3_rc1::IfcCShapeProfileDef::IfcCShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_rc1::IfcCShapeProfileDef::IfcCShapeProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, boost::optional< double > v8_InternalFilletRadius) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); }; populate_derived(); } +Ifc4x3_rc1::IfcCShapeProfileDef::IfcCShapeProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, boost::optional< double > v8_InternalFilletRadius) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); }; populate_derived(); } // Function implementations for IfcCableCarrierFitting -boost::optional< ::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Value > Ifc4x3_rc1::IfcCableCarrierFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Value > Ifc4x3_rc1::IfcCableCarrierFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcCableCarrierFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcCableCarrierFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[135]); } const IfcParse::entity& Ifc4x3_rc1::IfcCableCarrierFitting::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[135]); } Ifc4x3_rc1::IfcCableCarrierFitting::IfcCableCarrierFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x3_rc1::IfcCableCarrierFitting::IfcCableCarrierFitting(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcCableCarrierFitting::IfcCableCarrierFitting(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableCarrierFittingType -::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Value Ifc4x3_rc1::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Value Ifc4x3_rc1::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcCableCarrierFittingType::setPredefinedType(::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcCableCarrierFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[136]); } const IfcParse::entity& Ifc4x3_rc1::IfcCableCarrierFittingType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[136]); } Ifc4x3_rc1::IfcCableCarrierFittingType::IfcCableCarrierFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x3_rc1::IfcCableCarrierFittingType::IfcCableCarrierFittingType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcCableCarrierFittingType::IfcCableCarrierFittingType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCableCarrierSegment -boost::optional< ::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x3_rc1::IfcCableCarrierSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x3_rc1::IfcCableCarrierSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcCableCarrierSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcCableCarrierSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[138]); } const IfcParse::entity& Ifc4x3_rc1::IfcCableCarrierSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[138]); } Ifc4x3_rc1::IfcCableCarrierSegment::IfcCableCarrierSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x3_rc1::IfcCableCarrierSegment::IfcCableCarrierSegment(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcCableCarrierSegment::IfcCableCarrierSegment(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableCarrierSegmentType -::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3_rc1::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3_rc1::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcCableCarrierSegmentType::setPredefinedType(::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcCableCarrierSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[139]); } const IfcParse::entity& Ifc4x3_rc1::IfcCableCarrierSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[139]); } Ifc4x3_rc1::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x3_rc1::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCableFitting -boost::optional< ::Ifc4x3_rc1::IfcCableFittingTypeEnum::Value > Ifc4x3_rc1::IfcCableFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCableFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcCableFittingTypeEnum::Value > Ifc4x3_rc1::IfcCableFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCableFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcCableFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCableFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcCableFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcCableFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[141]); } const IfcParse::entity& Ifc4x3_rc1::IfcCableFitting::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[141]); } Ifc4x3_rc1::IfcCableFitting::IfcCableFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x3_rc1::IfcCableFitting::IfcCableFitting(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcCableFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcCableFitting::IfcCableFitting(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcCableFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableFittingType -::Ifc4x3_rc1::IfcCableFittingTypeEnum::Value Ifc4x3_rc1::IfcCableFittingType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCableFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcCableFittingTypeEnum::Value Ifc4x3_rc1::IfcCableFittingType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCableFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcCableFittingType::setPredefinedType(::Ifc4x3_rc1::IfcCableFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcCableFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcCableFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[142]); } const IfcParse::entity& Ifc4x3_rc1::IfcCableFittingType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[142]); } Ifc4x3_rc1::IfcCableFittingType::IfcCableFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x3_rc1::IfcCableFittingType::IfcCableFittingType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCableFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcCableFittingType::IfcCableFittingType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCableFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCableSegment -boost::optional< ::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Value > Ifc4x3_rc1::IfcCableSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCableSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Value > Ifc4x3_rc1::IfcCableSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCableSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcCableSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcCableSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[144]); } const IfcParse::entity& Ifc4x3_rc1::IfcCableSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[144]); } Ifc4x3_rc1::IfcCableSegment::IfcCableSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x3_rc1::IfcCableSegment::IfcCableSegment(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcCableSegment::IfcCableSegment(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableSegmentType -::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Value Ifc4x3_rc1::IfcCableSegmentType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCableSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Value Ifc4x3_rc1::IfcCableSegmentType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCableSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcCableSegmentType::setPredefinedType(::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcCableSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[145]); } const IfcParse::entity& Ifc4x3_rc1::IfcCableSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[145]); } Ifc4x3_rc1::IfcCableSegmentType::IfcCableSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x3_rc1::IfcCableSegmentType::IfcCableSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcCableSegmentType::IfcCableSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCaissonFoundation -boost::optional< ::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value > Ifc4x3_rc1::IfcCaissonFoundation::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value > Ifc4x3_rc1::IfcCaissonFoundation::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcCaissonFoundation::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcCaissonFoundation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[147]); } const IfcParse::entity& Ifc4x3_rc1::IfcCaissonFoundation::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[147]); } Ifc4x3_rc1::IfcCaissonFoundation::IfcCaissonFoundation(IfcEntityInstanceData&& e) : IfcDeepFoundation(std::move(e)) { } -Ifc4x3_rc1::IfcCaissonFoundation::IfcCaissonFoundation(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType) : IfcDeepFoundation(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcCaissonFoundation::IfcCaissonFoundation(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType) : IfcDeepFoundation(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCaissonFoundationType -::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value Ifc4x3_rc1::IfcCaissonFoundationType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value Ifc4x3_rc1::IfcCaissonFoundationType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcCaissonFoundationType::setPredefinedType(::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcCaissonFoundationType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[148]); } const IfcParse::entity& Ifc4x3_rc1::IfcCaissonFoundationType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[148]); } Ifc4x3_rc1::IfcCaissonFoundationType::IfcCaissonFoundationType(IfcEntityInstanceData&& e) : IfcDeepFoundationType(std::move(e)) { } -Ifc4x3_rc1::IfcCaissonFoundationType::IfcCaissonFoundationType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcCaissonFoundationType::IfcCaissonFoundationType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCartesianPoint -std::vector< double > /*[1:3]*/ Ifc4x3_rc1::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[1:3]*/ Ifc4x3_rc1::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcCartesianPoint::setCoordinates(std::vector< double > /*[1:3]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc1::IfcCartesianPoint::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[151]); } const IfcParse::entity& Ifc4x3_rc1::IfcCartesianPoint::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[151]); } Ifc4x3_rc1::IfcCartesianPoint::IfcCartesianPoint(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x3_rc1::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ v1_Coordinates) : IfcPoint(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } +Ifc4x3_rc1::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ v1_Coordinates) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } // Function implementations for IfcCartesianPointList @@ -8855,47 +8855,47 @@ Ifc4x3_rc1::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ const IfcParse::entity& Ifc4x3_rc1::IfcCartesianPointList::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[152]); } const IfcParse::entity& Ifc4x3_rc1::IfcCartesianPointList::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[152]); } Ifc4x3_rc1::IfcCartesianPointList::IfcCartesianPointList(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcCartesianPointList::IfcCartesianPointList() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc1::IfcCartesianPointList::IfcCartesianPointList() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcCartesianPointList2D -std::vector< std::vector< double > > Ifc4x3_rc1::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x3_rc1::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcCartesianPointList2D::setCoordList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcCartesianPointList2D::TagList() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcCartesianPointList2D::TagList() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcCartesianPointList2D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_rc1::IfcCartesianPointList2D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[153]); } const IfcParse::entity& Ifc4x3_rc1::IfcCartesianPointList2D::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[153]); } Ifc4x3_rc1::IfcCartesianPointList2D::IfcCartesianPointList2D(IfcEntityInstanceData&& e) : IfcCartesianPointList(std::move(e)) { } -Ifc4x3_rc1::IfcCartesianPointList2D::IfcCartesianPointList2D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } +Ifc4x3_rc1::IfcCartesianPointList2D::IfcCartesianPointList2D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } // Function implementations for IfcCartesianPointList3D -std::vector< std::vector< double > > Ifc4x3_rc1::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x3_rc1::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcCartesianPointList3D::setCoordList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcCartesianPointList3D::TagList() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcCartesianPointList3D::TagList() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcCartesianPointList3D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_rc1::IfcCartesianPointList3D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[154]); } const IfcParse::entity& Ifc4x3_rc1::IfcCartesianPointList3D::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[154]); } Ifc4x3_rc1::IfcCartesianPointList3D::IfcCartesianPointList3D(IfcEntityInstanceData&& e) : IfcCartesianPointList(std::move(e)) { } -Ifc4x3_rc1::IfcCartesianPointList3D::IfcCartesianPointList3D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } +Ifc4x3_rc1::IfcCartesianPointList3D::IfcCartesianPointList3D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcCartesianTransformationOperator::Axis1() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcDirection>(true); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcCartesianTransformationOperator::Axis1() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcCartesianTransformationOperator::setAxis1(::Ifc4x3_rc1::IfcDirection* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcCartesianTransformationOperator::Axis2() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcDirection>(true); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcCartesianTransformationOperator::Axis2() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcCartesianTransformationOperator::setAxis2(::Ifc4x3_rc1::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcCartesianPoint* Ifc4x3_rc1::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcCartesianPoint>(true); } +::Ifc4x3_rc1::IfcCartesianPoint* Ifc4x3_rc1::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcCartesianPoint>(true); } void Ifc4x3_rc1::IfcCartesianTransformationOperator::setLocalOrigin(::Ifc4x3_rc1::IfcCartesianPoint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4x3_rc1::IfcCartesianTransformationOperator::Scale() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc1::IfcCartesianTransformationOperator::Scale() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc1::IfcCartesianTransformationOperator::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[155]); } const IfcParse::entity& Ifc4x3_rc1::IfcCartesianTransformationOperator::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[155]); } Ifc4x3_rc1::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(::Ifc4x3_rc1::IfcDirection* v1_Axis1, ::Ifc4x3_rc1::IfcDirection* v2_Axis2, ::Ifc4x3_rc1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } +Ifc4x3_rc1::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(::Ifc4x3_rc1::IfcDirection* v1_Axis1, ::Ifc4x3_rc1::IfcDirection* v2_Axis2, ::Ifc4x3_rc1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator2D @@ -8903,131 +8903,131 @@ Ifc4x3_rc1::IfcCartesianTransformationOperator::IfcCartesianTransformationOperat const IfcParse::entity& Ifc4x3_rc1::IfcCartesianTransformationOperator2D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[156]); } const IfcParse::entity& Ifc4x3_rc1::IfcCartesianTransformationOperator2D::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[156]); } Ifc4x3_rc1::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator(std::move(e)) { } -Ifc4x3_rc1::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(::Ifc4x3_rc1::IfcDirection* v1_Axis1, ::Ifc4x3_rc1::IfcDirection* v2_Axis2, ::Ifc4x3_rc1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcCartesianTransformationOperator(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } +Ifc4x3_rc1::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(::Ifc4x3_rc1::IfcDirection* v1_Axis1, ::Ifc4x3_rc1::IfcDirection* v2_Axis2, ::Ifc4x3_rc1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcCartesianTransformationOperator(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator2DnonUniform -boost::optional< double > Ifc4x3_rc1::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc1::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcCartesianTransformationOperator2DnonUniform::setScale2(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc1::IfcCartesianTransformationOperator2DnonUniform::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[157]); } const IfcParse::entity& Ifc4x3_rc1::IfcCartesianTransformationOperator2DnonUniform::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[157]); } Ifc4x3_rc1::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator2D(std::move(e)) { } -Ifc4x3_rc1::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(::Ifc4x3_rc1::IfcDirection* v1_Axis1, ::Ifc4x3_rc1::IfcDirection* v2_Axis2, ::Ifc4x3_rc1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2) : IfcCartesianTransformationOperator2D(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; populate_derived(); } +Ifc4x3_rc1::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(::Ifc4x3_rc1::IfcDirection* v1_Axis1, ::Ifc4x3_rc1::IfcDirection* v2_Axis2, ::Ifc4x3_rc1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2) : IfcCartesianTransformationOperator2D(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator3D -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcCartesianTransformationOperator3D::Axis3() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcDirection>(true); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcCartesianTransformationOperator3D::Axis3() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcCartesianTransformationOperator3D::setAxis3(::Ifc4x3_rc1::IfcDirection* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc1::IfcCartesianTransformationOperator3D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[158]); } const IfcParse::entity& Ifc4x3_rc1::IfcCartesianTransformationOperator3D::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[158]); } Ifc4x3_rc1::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator(std::move(e)) { } -Ifc4x3_rc1::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(::Ifc4x3_rc1::IfcDirection* v1_Axis1, ::Ifc4x3_rc1::IfcDirection* v2_Axis2, ::Ifc4x3_rc1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x3_rc1::IfcDirection* v5_Axis3) : IfcCartesianTransformationOperator(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(::Ifc4x3_rc1::IfcDirection* v1_Axis1, ::Ifc4x3_rc1::IfcDirection* v2_Axis2, ::Ifc4x3_rc1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x3_rc1::IfcDirection* v5_Axis3) : IfcCartesianTransformationOperator(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator3DnonUniform -boost::optional< double > Ifc4x3_rc1::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc1::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcCartesianTransformationOperator3DnonUniform::setScale2(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_rc1::IfcCartesianTransformationOperator3DnonUniform::Scale3() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc1::IfcCartesianTransformationOperator3DnonUniform::Scale3() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcCartesianTransformationOperator3DnonUniform::setScale3(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc1::IfcCartesianTransformationOperator3DnonUniform::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[159]); } const IfcParse::entity& Ifc4x3_rc1::IfcCartesianTransformationOperator3DnonUniform::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[159]); } Ifc4x3_rc1::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator3D(std::move(e)) { } -Ifc4x3_rc1::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(::Ifc4x3_rc1::IfcDirection* v1_Axis1, ::Ifc4x3_rc1::IfcDirection* v2_Axis2, ::Ifc4x3_rc1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x3_rc1::IfcDirection* v5_Axis3, boost::optional< double > v6_Scale2, boost::optional< double > v7_Scale3) : IfcCartesianTransformationOperator3D(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; populate_derived(); } +Ifc4x3_rc1::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(::Ifc4x3_rc1::IfcDirection* v1_Axis1, ::Ifc4x3_rc1::IfcDirection* v2_Axis2, ::Ifc4x3_rc1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x3_rc1::IfcDirection* v5_Axis3, boost::optional< double > v6_Scale2, boost::optional< double > v7_Scale3) : IfcCartesianTransformationOperator3D(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; populate_derived(); } // Function implementations for IfcCenterLineProfileDef -double Ifc4x3_rc1::IfcCenterLineProfileDef::Thickness() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc1::IfcCenterLineProfileDef::Thickness() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcCenterLineProfileDef::setThickness(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcCenterLineProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[160]); } const IfcParse::entity& Ifc4x3_rc1::IfcCenterLineProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[160]); } Ifc4x3_rc1::IfcCenterLineProfileDef::IfcCenterLineProfileDef(IfcEntityInstanceData&& e) : IfcArbitraryOpenProfileDef(std::move(e)) { } -Ifc4x3_rc1::IfcCenterLineProfileDef::IfcCenterLineProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcBoundedCurve* v3_Curve, double v4_Thickness) : IfcArbitraryOpenProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Thickness));; populate_derived(); } +Ifc4x3_rc1::IfcCenterLineProfileDef::IfcCenterLineProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcBoundedCurve* v3_Curve, double v4_Thickness) : IfcArbitraryOpenProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Thickness));; populate_derived(); } // Function implementations for IfcChiller -boost::optional< ::Ifc4x3_rc1::IfcChillerTypeEnum::Value > Ifc4x3_rc1::IfcChiller::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcChillerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcChillerTypeEnum::Value > Ifc4x3_rc1::IfcChiller::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcChillerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcChiller::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcChillerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcChillerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcChiller::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[162]); } const IfcParse::entity& Ifc4x3_rc1::IfcChiller::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[162]); } Ifc4x3_rc1::IfcChiller::IfcChiller(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc1::IfcChiller::IfcChiller(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcChillerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcChiller::IfcChiller(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcChillerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcChillerType -::Ifc4x3_rc1::IfcChillerTypeEnum::Value Ifc4x3_rc1::IfcChillerType::PredefinedType() const { return ::Ifc4x3_rc1::IfcChillerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcChillerTypeEnum::Value Ifc4x3_rc1::IfcChillerType::PredefinedType() const { return ::Ifc4x3_rc1::IfcChillerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcChillerType::setPredefinedType(::Ifc4x3_rc1::IfcChillerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcChillerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcChillerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[163]); } const IfcParse::entity& Ifc4x3_rc1::IfcChillerType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[163]); } Ifc4x3_rc1::IfcChillerType::IfcChillerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc1::IfcChillerType::IfcChillerType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcChillerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcChillerType::IfcChillerType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcChillerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcChimney -boost::optional< ::Ifc4x3_rc1::IfcChimneyTypeEnum::Value > Ifc4x3_rc1::IfcChimney::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcChimneyTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcChimneyTypeEnum::Value > Ifc4x3_rc1::IfcChimney::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcChimneyTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcChimney::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcChimneyTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcChimneyTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcChimney::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[165]); } const IfcParse::entity& Ifc4x3_rc1::IfcChimney::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[165]); } Ifc4x3_rc1::IfcChimney::IfcChimney(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc1::IfcChimney::IfcChimney(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcChimneyTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcChimney::IfcChimney(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcChimneyTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcChimneyType -::Ifc4x3_rc1::IfcChimneyTypeEnum::Value Ifc4x3_rc1::IfcChimneyType::PredefinedType() const { return ::Ifc4x3_rc1::IfcChimneyTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcChimneyTypeEnum::Value Ifc4x3_rc1::IfcChimneyType::PredefinedType() const { return ::Ifc4x3_rc1::IfcChimneyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcChimneyType::setPredefinedType(::Ifc4x3_rc1::IfcChimneyTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcChimneyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcChimneyType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[166]); } const IfcParse::entity& Ifc4x3_rc1::IfcChimneyType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[166]); } Ifc4x3_rc1::IfcChimneyType::IfcChimneyType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc1::IfcChimneyType::IfcChimneyType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcChimneyTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcChimneyType::IfcChimneyType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcChimneyTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCircle -double Ifc4x3_rc1::IfcCircle::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc1::IfcCircle::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcCircle::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcCircle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[168]); } const IfcParse::entity& Ifc4x3_rc1::IfcCircle::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[168]); } Ifc4x3_rc1::IfcCircle::IfcCircle(IfcEntityInstanceData&& e) : IfcConic(std::move(e)) { } -Ifc4x3_rc1::IfcCircle::IfcCircle(::Ifc4x3_rc1::IfcAxis2Placement* v1_Position, double v2_Radius) : IfcConic(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x3_rc1::IfcCircle::IfcCircle(::Ifc4x3_rc1::IfcAxis2Placement* v1_Position, double v2_Radius) : IfcConic(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcCircleHollowProfileDef -double Ifc4x3_rc1::IfcCircleHollowProfileDef::WallThickness() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc1::IfcCircleHollowProfileDef::WallThickness() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcCircleHollowProfileDef::setWallThickness(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc1::IfcCircleHollowProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[169]); } const IfcParse::entity& Ifc4x3_rc1::IfcCircleHollowProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[169]); } Ifc4x3_rc1::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(IfcEntityInstanceData&& e) : IfcCircleProfileDef(std::move(e)) { } -Ifc4x3_rc1::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D* v3_Position, double v4_Radius, double v5_WallThickness) : IfcCircleProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; populate_derived(); } +Ifc4x3_rc1::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D* v3_Position, double v4_Radius, double v5_WallThickness) : IfcCircleProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; populate_derived(); } // Function implementations for IfcCircleProfileDef -double Ifc4x3_rc1::IfcCircleProfileDef::Radius() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc1::IfcCircleProfileDef::Radius() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcCircleProfileDef::setRadius(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcCircleProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[170]); } const IfcParse::entity& Ifc4x3_rc1::IfcCircleProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[170]); } Ifc4x3_rc1::IfcCircleProfileDef::IfcCircleProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_rc1::IfcCircleProfileDef::IfcCircleProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D* v3_Position, double v4_Radius) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));; populate_derived(); } +Ifc4x3_rc1::IfcCircleProfileDef::IfcCircleProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D* v3_Position, double v4_Radius) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));; populate_derived(); } // Function implementations for IfcCircularArcSegment2D -double Ifc4x3_rc1::IfcCircularArcSegment2D::Radius() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc1::IfcCircularArcSegment2D::Radius() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcCircularArcSegment2D::setRadius(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -bool Ifc4x3_rc1::IfcCircularArcSegment2D::IsCCW() const { bool v = data_.get_attribute_value(4); return v; } +bool Ifc4x3_rc1::IfcCircularArcSegment2D::IsCCW() const { bool v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcCircularArcSegment2D::setIsCCW(bool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc1::IfcCircularArcSegment2D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[171]); } const IfcParse::entity& Ifc4x3_rc1::IfcCircularArcSegment2D::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[171]); } Ifc4x3_rc1::IfcCircularArcSegment2D::IfcCircularArcSegment2D(IfcEntityInstanceData&& e) : IfcCurveSegment2D(std::move(e)) { } -Ifc4x3_rc1::IfcCircularArcSegment2D::IfcCircularArcSegment2D(::Ifc4x3_rc1::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, double v4_Radius, bool v5_IsCCW) : IfcCurveSegment2D(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_StartPoint ? v1_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_IsCCW));; populate_derived(); } +Ifc4x3_rc1::IfcCircularArcSegment2D::IfcCircularArcSegment2D(::Ifc4x3_rc1::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, double v4_Radius, bool v5_IsCCW) : IfcCurveSegment2D(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_StartPoint ? v1_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_IsCCW));; populate_derived(); } // Function implementations for IfcCivilElement @@ -9035,7 +9035,7 @@ Ifc4x3_rc1::IfcCircularArcSegment2D::IfcCircularArcSegment2D(::Ifc4x3_rc1::IfcCa const IfcParse::entity& Ifc4x3_rc1::IfcCivilElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[172]); } const IfcParse::entity& Ifc4x3_rc1::IfcCivilElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[172]); } Ifc4x3_rc1::IfcCivilElement::IfcCivilElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc1::IfcCivilElement::IfcCivilElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc1::IfcCivilElement::IfcCivilElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcCivilElementType @@ -9043,22 +9043,22 @@ Ifc4x3_rc1::IfcCivilElement::IfcCivilElement(std::string v1_GlobalId, ::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc1::IfcCivilElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[173]); } const IfcParse::entity& Ifc4x3_rc1::IfcCivilElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[173]); } Ifc4x3_rc1::IfcCivilElementType::IfcCivilElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_rc1::IfcCivilElementType::IfcCivilElementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc1::IfcCivilElementType::IfcCivilElementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcClassification -boost::optional< std::string > Ifc4x3_rc1::IfcClassification::Source() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcClassification::Source() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcClassification::setSource(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc1::IfcClassification::Edition() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcClassification::Edition() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcClassification::setEdition(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc1::IfcClassification::EditionDate() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcClassification::EditionDate() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcClassification::setEditionDate(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::string Ifc4x3_rc1::IfcClassification::Name() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x3_rc1::IfcClassification::Name() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcClassification::setName(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc1::IfcClassification::Description() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcClassification::Description() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcClassification::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc1::IfcClassification::Location() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcClassification::Location() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcClassification::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcClassification::ReferenceTokens() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(6); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcClassification::ReferenceTokens() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcClassification::setReferenceTokens(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_rc1::IfcRelAssociatesClassification::list::ptr Ifc4x3_rc1::IfcClassification::ClassificationForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[921], 5)->as(); } @@ -9067,14 +9067,14 @@ void Ifc4x3_rc1::IfcClassification::setReferenceTokens(boost::optional< std::vec const IfcParse::entity& Ifc4x3_rc1::IfcClassification::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[174]); } const IfcParse::entity& Ifc4x3_rc1::IfcClassification::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[174]); } Ifc4x3_rc1::IfcClassification::IfcClassification(IfcEntityInstanceData&& e) : IfcExternalInformation(std::move(e)) { } -Ifc4x3_rc1::IfcClassification::IfcClassification(boost::optional< std::string > v1_Source, boost::optional< std::string > v2_Edition, boost::optional< std::string > v3_EditionDate, std::string v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Location, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) : IfcExternalInformation(IfcEntityInstanceData(storage_t(7))) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Location) {set_attribute_value(5, (*v6_Location)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); }; populate_derived(); } +Ifc4x3_rc1::IfcClassification::IfcClassification(boost::optional< std::string > v1_Source, boost::optional< std::string > v2_Edition, boost::optional< std::string > v3_EditionDate, std::string v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Location, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) : IfcExternalInformation(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Location) {set_attribute_value(5, (*v6_Location)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); }; populate_derived(); } // Function implementations for IfcClassificationReference -::Ifc4x3_rc1::IfcClassificationReferenceSelect* Ifc4x3_rc1::IfcClassificationReference::ReferencedSource() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcClassificationReferenceSelect>(true); } +::Ifc4x3_rc1::IfcClassificationReferenceSelect* Ifc4x3_rc1::IfcClassificationReference::ReferencedSource() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcClassificationReferenceSelect>(true); } void Ifc4x3_rc1::IfcClassificationReference::setReferencedSource(::Ifc4x3_rc1::IfcClassificationReferenceSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc1::IfcClassificationReference::Description() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcClassificationReference::Description() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcClassificationReference::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc1::IfcClassificationReference::Sort() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcClassificationReference::Sort() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcClassificationReference::setSort(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x3_rc1::IfcRelAssociatesClassification::list::ptr Ifc4x3_rc1::IfcClassificationReference::ClassificationRefForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[921], 5)->as(); } @@ -9083,7 +9083,7 @@ void Ifc4x3_rc1::IfcClassificationReference::setSort(boost::optional< std::strin const IfcParse::entity& Ifc4x3_rc1::IfcClassificationReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[175]); } const IfcParse::entity& Ifc4x3_rc1::IfcClassificationReference::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[175]); } Ifc4x3_rc1::IfcClassificationReference::IfcClassificationReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_rc1::IfcClassificationReference::IfcClassificationReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, ::Ifc4x3_rc1::IfcClassificationReferenceSelect* v4_ReferencedSource, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Sort) : IfcExternalReference(IfcEntityInstanceData(storage_t(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, v4_ReferencedSource ? v4_ReferencedSource->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); }; populate_derived(); } +Ifc4x3_rc1::IfcClassificationReference::IfcClassificationReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, ::Ifc4x3_rc1::IfcClassificationReferenceSelect* v4_ReferencedSource, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Sort) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, v4_ReferencedSource ? v4_ReferencedSource->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); }; populate_derived(); } // Function implementations for IfcClosedShell @@ -9091,71 +9091,71 @@ Ifc4x3_rc1::IfcClassificationReference::IfcClassificationReference(boost::option const IfcParse::entity& Ifc4x3_rc1::IfcClosedShell::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[178]); } const IfcParse::entity& Ifc4x3_rc1::IfcClosedShell::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[178]); } Ifc4x3_rc1::IfcClosedShell::IfcClosedShell(IfcEntityInstanceData&& e) : IfcConnectedFaceSet(std::move(e)) { } -Ifc4x3_rc1::IfcClosedShell::IfcClosedShell(aggregate_of< ::Ifc4x3_rc1::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcClosedShell::IfcClosedShell(aggregate_of< ::Ifc4x3_rc1::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcCoil -boost::optional< ::Ifc4x3_rc1::IfcCoilTypeEnum::Value > Ifc4x3_rc1::IfcCoil::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCoilTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcCoilTypeEnum::Value > Ifc4x3_rc1::IfcCoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCoilTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcCoil::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCoilTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcCoilTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcCoil::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[179]); } const IfcParse::entity& Ifc4x3_rc1::IfcCoil::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[179]); } Ifc4x3_rc1::IfcCoil::IfcCoil(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc1::IfcCoil::IfcCoil(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcCoilTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcCoil::IfcCoil(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcCoilTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCoilType -::Ifc4x3_rc1::IfcCoilTypeEnum::Value Ifc4x3_rc1::IfcCoilType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCoilTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcCoilTypeEnum::Value Ifc4x3_rc1::IfcCoilType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCoilTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcCoilType::setPredefinedType(::Ifc4x3_rc1::IfcCoilTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcCoilTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcCoilType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[180]); } const IfcParse::entity& Ifc4x3_rc1::IfcCoilType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[180]); } Ifc4x3_rc1::IfcCoilType::IfcCoilType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc1::IfcCoilType::IfcCoilType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCoilTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcCoilType::IfcCoilType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCoilTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcColourRgb -double Ifc4x3_rc1::IfcColourRgb::Red() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc1::IfcColourRgb::Red() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcColourRgb::setRed(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc1::IfcColourRgb::Green() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc1::IfcColourRgb::Green() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcColourRgb::setGreen(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc1::IfcColourRgb::Blue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc1::IfcColourRgb::Blue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcColourRgb::setBlue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcColourRgb::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[184]); } const IfcParse::entity& Ifc4x3_rc1::IfcColourRgb::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[184]); } Ifc4x3_rc1::IfcColourRgb::IfcColourRgb(IfcEntityInstanceData&& e) : IfcColourSpecification(std::move(e)) { } -Ifc4x3_rc1::IfcColourRgb::IfcColourRgb(boost::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) : IfcColourSpecification(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; populate_derived(); } +Ifc4x3_rc1::IfcColourRgb::IfcColourRgb(boost::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) : IfcColourSpecification(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; populate_derived(); } // Function implementations for IfcColourRgbList -std::vector< std::vector< double > > Ifc4x3_rc1::IfcColourRgbList::ColourList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x3_rc1::IfcColourRgbList::ColourList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcColourRgbList::setColourList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc1::IfcColourRgbList::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[185]); } const IfcParse::entity& Ifc4x3_rc1::IfcColourRgbList::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[185]); } Ifc4x3_rc1::IfcColourRgbList::IfcColourRgbList(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcColourRgbList::IfcColourRgbList(std::vector< std::vector< double > > v1_ColourList) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_ColourList));; populate_derived(); } +Ifc4x3_rc1::IfcColourRgbList::IfcColourRgbList(std::vector< std::vector< double > > v1_ColourList) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_ColourList));; populate_derived(); } // Function implementations for IfcColourSpecification -boost::optional< std::string > Ifc4x3_rc1::IfcColourSpecification::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcColourSpecification::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcColourSpecification::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3_rc1::IfcColourSpecification::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[186]); } const IfcParse::entity& Ifc4x3_rc1::IfcColourSpecification::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[186]); } Ifc4x3_rc1::IfcColourSpecification::IfcColourSpecification(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcColourSpecification::IfcColourSpecification(boost::optional< std::string > v1_Name) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_rc1::IfcColourSpecification::IfcColourSpecification(boost::optional< std::string > v1_Name) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcColumn -boost::optional< ::Ifc4x3_rc1::IfcColumnTypeEnum::Value > Ifc4x3_rc1::IfcColumn::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcColumnTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcColumnTypeEnum::Value > Ifc4x3_rc1::IfcColumn::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcColumnTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcColumn::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcColumnTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcColumnTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcColumn::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[187]); } const IfcParse::entity& Ifc4x3_rc1::IfcColumn::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[187]); } Ifc4x3_rc1::IfcColumn::IfcColumn(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc1::IfcColumn::IfcColumn(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcColumnTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcColumn::IfcColumn(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcColumnTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcColumnStandardCase @@ -9163,75 +9163,75 @@ Ifc4x3_rc1::IfcColumn::IfcColumn(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwner const IfcParse::entity& Ifc4x3_rc1::IfcColumnStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[188]); } const IfcParse::entity& Ifc4x3_rc1::IfcColumnStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[188]); } Ifc4x3_rc1::IfcColumnStandardCase::IfcColumnStandardCase(IfcEntityInstanceData&& e) : IfcColumn(std::move(e)) { } -Ifc4x3_rc1::IfcColumnStandardCase::IfcColumnStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcColumnTypeEnum::Value > v9_PredefinedType) : IfcColumn(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcColumnStandardCase::IfcColumnStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcColumnTypeEnum::Value > v9_PredefinedType) : IfcColumn(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcColumnType -::Ifc4x3_rc1::IfcColumnTypeEnum::Value Ifc4x3_rc1::IfcColumnType::PredefinedType() const { return ::Ifc4x3_rc1::IfcColumnTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcColumnTypeEnum::Value Ifc4x3_rc1::IfcColumnType::PredefinedType() const { return ::Ifc4x3_rc1::IfcColumnTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcColumnType::setPredefinedType(::Ifc4x3_rc1::IfcColumnTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcColumnTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcColumnType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[189]); } const IfcParse::entity& Ifc4x3_rc1::IfcColumnType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[189]); } Ifc4x3_rc1::IfcColumnType::IfcColumnType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc1::IfcColumnType::IfcColumnType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcColumnTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcColumnType::IfcColumnType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcColumnTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCommunicationsAppliance -boost::optional< ::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x3_rc1::IfcCommunicationsAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x3_rc1::IfcCommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcCommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcCommunicationsAppliance::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[191]); } const IfcParse::entity& Ifc4x3_rc1::IfcCommunicationsAppliance::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[191]); } Ifc4x3_rc1::IfcCommunicationsAppliance::IfcCommunicationsAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc1::IfcCommunicationsAppliance::IfcCommunicationsAppliance(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcCommunicationsAppliance::IfcCommunicationsAppliance(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCommunicationsApplianceType -::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3_rc1::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3_rc1::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcCommunicationsApplianceType::setPredefinedType(::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcCommunicationsApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[192]); } const IfcParse::entity& Ifc4x3_rc1::IfcCommunicationsApplianceType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[192]); } Ifc4x3_rc1::IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc1::IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcComplexProperty -std::string Ifc4x3_rc1::IfcComplexProperty::UsageName() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3_rc1::IfcComplexProperty::UsageName() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcComplexProperty::setUsageName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_rc1::IfcProperty >::ptr Ifc4x3_rc1::IfcComplexProperty::HasProperties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc1::IfcProperty >(); } +aggregate_of< ::Ifc4x3_rc1::IfcProperty >::ptr Ifc4x3_rc1::IfcComplexProperty::HasProperties() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc1::IfcProperty >(); } void Ifc4x3_rc1::IfcComplexProperty::setHasProperties(aggregate_of< ::Ifc4x3_rc1::IfcProperty >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcComplexProperty::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[195]); } const IfcParse::entity& Ifc4x3_rc1::IfcComplexProperty::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[195]); } Ifc4x3_rc1::IfcComplexProperty::IfcComplexProperty(IfcEntityInstanceData&& e) : IfcProperty(std::move(e)) { } -Ifc4x3_rc1::IfcComplexProperty::IfcComplexProperty(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_UsageName, aggregate_of< ::Ifc4x3_rc1::IfcProperty >::ptr v4_HasProperties) : IfcProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, (v4_HasProperties)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcComplexProperty::IfcComplexProperty(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_UsageName, aggregate_of< ::Ifc4x3_rc1::IfcProperty >::ptr v4_HasProperties) : IfcProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, (v4_HasProperties)->generalize());; populate_derived(); } // Function implementations for IfcComplexPropertyTemplate -boost::optional< std::string > Ifc4x3_rc1::IfcComplexPropertyTemplate::UsageName() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcComplexPropertyTemplate::UsageName() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcComplexPropertyTemplate::setUsageName(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< ::Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4x3_rc1::IfcComplexPropertyTemplate::TemplateType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4x3_rc1::IfcComplexPropertyTemplate::TemplateType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc1::IfcComplexPropertyTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertyTemplate >::ptr > Ifc4x3_rc1::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3_rc1::IfcPropertyTemplate >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertyTemplate >::ptr > Ifc4x3_rc1::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3_rc1::IfcPropertyTemplate >(); } void Ifc4x3_rc1::IfcComplexPropertyTemplate::setHasPropertyTemplates(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertyTemplate >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc1::IfcComplexPropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[196]); } const IfcParse::entity& Ifc4x3_rc1::IfcComplexPropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[196]); } Ifc4x3_rc1::IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplate(std::move(e)) { } -Ifc4x3_rc1::IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_UsageName, boost::optional< ::Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertyTemplate >::ptr > v7_HasPropertyTemplates) : IfcPropertyTemplate(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, (*v7_HasPropertyTemplates)->generalize()); }; populate_derived(); } +Ifc4x3_rc1::IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_UsageName, boost::optional< ::Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertyTemplate >::ptr > v7_HasPropertyTemplates) : IfcPropertyTemplate(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, (*v7_HasPropertyTemplates)->generalize()); }; populate_derived(); } // Function implementations for IfcCompositeCurve -aggregate_of< ::Ifc4x3_rc1::IfcCompositeCurveSegment >::ptr Ifc4x3_rc1::IfcCompositeCurve::Segments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcCompositeCurveSegment >(); } +aggregate_of< ::Ifc4x3_rc1::IfcCompositeCurveSegment >::ptr Ifc4x3_rc1::IfcCompositeCurve::Segments() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcCompositeCurveSegment >(); } void Ifc4x3_rc1::IfcCompositeCurve::setSegments(aggregate_of< ::Ifc4x3_rc1::IfcCompositeCurveSegment >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::logic::tribool Ifc4x3_rc1::IfcCompositeCurve::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(1); return v; } +boost::logic::tribool Ifc4x3_rc1::IfcCompositeCurve::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcCompositeCurve::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcCompositeCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[198]); } const IfcParse::entity& Ifc4x3_rc1::IfcCompositeCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[198]); } Ifc4x3_rc1::IfcCompositeCurve::IfcCompositeCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_rc1::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc4x3_rc1::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x3_rc1::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc4x3_rc1::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcCompositeCurveOnSurface @@ -9239,14 +9239,14 @@ Ifc4x3_rc1::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc4x3_rc1::Ifc const IfcParse::entity& Ifc4x3_rc1::IfcCompositeCurveOnSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[199]); } const IfcParse::entity& Ifc4x3_rc1::IfcCompositeCurveOnSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[199]); } Ifc4x3_rc1::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(IfcEntityInstanceData&& e) : IfcCompositeCurve(std::move(e)) { } -Ifc4x3_rc1::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(aggregate_of< ::Ifc4x3_rc1::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x3_rc1::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(aggregate_of< ::Ifc4x3_rc1::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcCompositeCurveSegment -::Ifc4x3_rc1::IfcTransitionCode::Value Ifc4x3_rc1::IfcCompositeCurveSegment::Transition() const { return ::Ifc4x3_rc1::IfcTransitionCode::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_rc1::IfcTransitionCode::Value Ifc4x3_rc1::IfcCompositeCurveSegment::Transition() const { return ::Ifc4x3_rc1::IfcTransitionCode::FromString(get_attribute_value(0)); } void Ifc4x3_rc1::IfcCompositeCurveSegment::setTransition(::Ifc4x3_rc1::IfcTransitionCode::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_rc1::IfcTransitionCode::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -bool Ifc4x3_rc1::IfcCompositeCurveSegment::SameSense() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x3_rc1::IfcCompositeCurveSegment::SameSense() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcCompositeCurveSegment::setSameSense(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcCurve>(true); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcCompositeCurveSegment::setParentCurve(::Ifc4x3_rc1::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } ::Ifc4x3_rc1::IfcCompositeCurve::list::ptr Ifc4x3_rc1::IfcCompositeCurveSegment::UsingCurves() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[198], 0)->as(); } @@ -9254,91 +9254,91 @@ void Ifc4x3_rc1::IfcCompositeCurveSegment::setParentCurve(::Ifc4x3_rc1::IfcCurve const IfcParse::entity& Ifc4x3_rc1::IfcCompositeCurveSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[200]); } const IfcParse::entity& Ifc4x3_rc1::IfcCompositeCurveSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[200]); } Ifc4x3_rc1::IfcCompositeCurveSegment::IfcCompositeCurveSegment(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcCompositeCurveSegment::IfcCompositeCurveSegment(::Ifc4x3_rc1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc1::IfcCurve* v3_ParentCurve) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcCompositeCurveSegment::IfcCompositeCurveSegment(::Ifc4x3_rc1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc1::IfcCurve* v3_ParentCurve) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCompositeProfileDef -aggregate_of< ::Ifc4x3_rc1::IfcProfileDef >::ptr Ifc4x3_rc1::IfcCompositeProfileDef::Profiles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcProfileDef >(); } +aggregate_of< ::Ifc4x3_rc1::IfcProfileDef >::ptr Ifc4x3_rc1::IfcCompositeProfileDef::Profiles() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcProfileDef >(); } void Ifc4x3_rc1::IfcCompositeProfileDef::setProfiles(aggregate_of< ::Ifc4x3_rc1::IfcProfileDef >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x3_rc1::IfcCompositeProfileDef::Label() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcCompositeProfileDef::Label() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcCompositeProfileDef::setLabel(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc1::IfcCompositeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[201]); } const IfcParse::entity& Ifc4x3_rc1::IfcCompositeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[201]); } Ifc4x3_rc1::IfcCompositeProfileDef::IfcCompositeProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_rc1::IfcCompositeProfileDef::IfcCompositeProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, aggregate_of< ::Ifc4x3_rc1::IfcProfileDef >::ptr v3_Profiles, boost::optional< std::string > v4_Label) : IfcProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Profiles)->generalize()); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; populate_derived(); } +Ifc4x3_rc1::IfcCompositeProfileDef::IfcCompositeProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, aggregate_of< ::Ifc4x3_rc1::IfcProfileDef >::ptr v3_Profiles, boost::optional< std::string > v4_Label) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Profiles)->generalize()); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; populate_derived(); } // Function implementations for IfcCompressor -boost::optional< ::Ifc4x3_rc1::IfcCompressorTypeEnum::Value > Ifc4x3_rc1::IfcCompressor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCompressorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcCompressorTypeEnum::Value > Ifc4x3_rc1::IfcCompressor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCompressorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcCompressor::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCompressorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcCompressorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcCompressor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[203]); } const IfcParse::entity& Ifc4x3_rc1::IfcCompressor::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[203]); } Ifc4x3_rc1::IfcCompressor::IfcCompressor(IfcEntityInstanceData&& e) : IfcFlowMovingDevice(std::move(e)) { } -Ifc4x3_rc1::IfcCompressor::IfcCompressor(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcCompressorTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcCompressor::IfcCompressor(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcCompressorTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCompressorType -::Ifc4x3_rc1::IfcCompressorTypeEnum::Value Ifc4x3_rc1::IfcCompressorType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCompressorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcCompressorTypeEnum::Value Ifc4x3_rc1::IfcCompressorType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCompressorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcCompressorType::setPredefinedType(::Ifc4x3_rc1::IfcCompressorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcCompressorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcCompressorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[204]); } const IfcParse::entity& Ifc4x3_rc1::IfcCompressorType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[204]); } Ifc4x3_rc1::IfcCompressorType::IfcCompressorType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(e)) { } -Ifc4x3_rc1::IfcCompressorType::IfcCompressorType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCompressorTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcCompressorType::IfcCompressorType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCompressorTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCondenser -boost::optional< ::Ifc4x3_rc1::IfcCondenserTypeEnum::Value > Ifc4x3_rc1::IfcCondenser::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCondenserTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcCondenserTypeEnum::Value > Ifc4x3_rc1::IfcCondenser::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCondenserTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcCondenser::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCondenserTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcCondenserTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcCondenser::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[206]); } const IfcParse::entity& Ifc4x3_rc1::IfcCondenser::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[206]); } Ifc4x3_rc1::IfcCondenser::IfcCondenser(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc1::IfcCondenser::IfcCondenser(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcCondenserTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcCondenser::IfcCondenser(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcCondenserTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCondenserType -::Ifc4x3_rc1::IfcCondenserTypeEnum::Value Ifc4x3_rc1::IfcCondenserType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCondenserTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcCondenserTypeEnum::Value Ifc4x3_rc1::IfcCondenserType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCondenserTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcCondenserType::setPredefinedType(::Ifc4x3_rc1::IfcCondenserTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcCondenserTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcCondenserType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[207]); } const IfcParse::entity& Ifc4x3_rc1::IfcCondenserType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[207]); } Ifc4x3_rc1::IfcCondenserType::IfcCondenserType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc1::IfcCondenserType::IfcCondenserType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCondenserTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcCondenserType::IfcCondenserType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCondenserTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcConic -::Ifc4x3_rc1::IfcAxis2Placement* Ifc4x3_rc1::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcAxis2Placement>(true); } +::Ifc4x3_rc1::IfcAxis2Placement* Ifc4x3_rc1::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcAxis2Placement>(true); } void Ifc4x3_rc1::IfcConic::setPosition(::Ifc4x3_rc1::IfcAxis2Placement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc1::IfcConic::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[209]); } const IfcParse::entity& Ifc4x3_rc1::IfcConic::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[209]); } Ifc4x3_rc1::IfcConic::IfcConic(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_rc1::IfcConic::IfcConic(::Ifc4x3_rc1::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcConic::IfcConic(::Ifc4x3_rc1::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectedFaceSet -aggregate_of< ::Ifc4x3_rc1::IfcFace >::ptr Ifc4x3_rc1::IfcConnectedFaceSet::CfsFaces() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcFace >(); } +aggregate_of< ::Ifc4x3_rc1::IfcFace >::ptr Ifc4x3_rc1::IfcConnectedFaceSet::CfsFaces() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcFace >(); } void Ifc4x3_rc1::IfcConnectedFaceSet::setCfsFaces(aggregate_of< ::Ifc4x3_rc1::IfcFace >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc1::IfcConnectedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[210]); } const IfcParse::entity& Ifc4x3_rc1::IfcConnectedFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[210]); } Ifc4x3_rc1::IfcConnectedFaceSet::IfcConnectedFaceSet(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcConnectedFaceSet::IfcConnectedFaceSet(aggregate_of< ::Ifc4x3_rc1::IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcConnectedFaceSet::IfcConnectedFaceSet(aggregate_of< ::Ifc4x3_rc1::IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcConnectionCurveGeometry -::Ifc4x3_rc1::IfcCurveOrEdgeCurve* Ifc4x3_rc1::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCurveOrEdgeCurve>(true); } +::Ifc4x3_rc1::IfcCurveOrEdgeCurve* Ifc4x3_rc1::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCurveOrEdgeCurve>(true); } void Ifc4x3_rc1::IfcConnectionCurveGeometry::setCurveOnRelatingElement(::Ifc4x3_rc1::IfcCurveOrEdgeCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcCurveOrEdgeCurve* Ifc4x3_rc1::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcCurveOrEdgeCurve>(true); } +::Ifc4x3_rc1::IfcCurveOrEdgeCurve* Ifc4x3_rc1::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcCurveOrEdgeCurve>(true); } void Ifc4x3_rc1::IfcConnectionCurveGeometry::setCurveOnRelatedElement(::Ifc4x3_rc1::IfcCurveOrEdgeCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcConnectionCurveGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[211]); } const IfcParse::entity& Ifc4x3_rc1::IfcConnectionCurveGeometry::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[211]); } Ifc4x3_rc1::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x3_rc1::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc4x3_rc1::IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, ::Ifc4x3_rc1::IfcCurveOrEdgeCurve* v2_CurveOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_CurveOnRelatingElement ? v1_CurveOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_CurveOnRelatedElement ? v2_CurveOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc4x3_rc1::IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, ::Ifc4x3_rc1::IfcCurveOrEdgeCurve* v2_CurveOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_CurveOnRelatingElement ? v1_CurveOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_CurveOnRelatedElement ? v2_CurveOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionGeometry @@ -9346,72 +9346,72 @@ Ifc4x3_rc1::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc4x3_rc1: const IfcParse::entity& Ifc4x3_rc1::IfcConnectionGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[212]); } const IfcParse::entity& Ifc4x3_rc1::IfcConnectionGeometry::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[212]); } Ifc4x3_rc1::IfcConnectionGeometry::IfcConnectionGeometry(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc1::IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcConnectionPointEccentricity -boost::optional< double > Ifc4x3_rc1::IfcConnectionPointEccentricity::EccentricityInX() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc1::IfcConnectionPointEccentricity::EccentricityInX() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcConnectionPointEccentricity::setEccentricityInX(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc1::IfcConnectionPointEccentricity::EccentricityInY() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc1::IfcConnectionPointEccentricity::EccentricityInY() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcConnectionPointEccentricity::setEccentricityInY(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc1::IfcConnectionPointEccentricity::EccentricityInZ() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc1::IfcConnectionPointEccentricity::EccentricityInZ() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcConnectionPointEccentricity::setEccentricityInZ(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc1::IfcConnectionPointEccentricity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[213]); } const IfcParse::entity& Ifc4x3_rc1::IfcConnectionPointEccentricity::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[213]); } Ifc4x3_rc1::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcEntityInstanceData&& e) : IfcConnectionPointGeometry(std::move(e)) { } -Ifc4x3_rc1::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(::Ifc4x3_rc1::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3_rc1::IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; populate_derived(); } +Ifc4x3_rc1::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(::Ifc4x3_rc1::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3_rc1::IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; populate_derived(); } // Function implementations for IfcConnectionPointGeometry -::Ifc4x3_rc1::IfcPointOrVertexPoint* Ifc4x3_rc1::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcPointOrVertexPoint>(true); } +::Ifc4x3_rc1::IfcPointOrVertexPoint* Ifc4x3_rc1::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcPointOrVertexPoint>(true); } void Ifc4x3_rc1::IfcConnectionPointGeometry::setPointOnRelatingElement(::Ifc4x3_rc1::IfcPointOrVertexPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcPointOrVertexPoint* Ifc4x3_rc1::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcPointOrVertexPoint>(true); } +::Ifc4x3_rc1::IfcPointOrVertexPoint* Ifc4x3_rc1::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcPointOrVertexPoint>(true); } void Ifc4x3_rc1::IfcConnectionPointGeometry::setPointOnRelatedElement(::Ifc4x3_rc1::IfcPointOrVertexPoint* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcConnectionPointGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[214]); } const IfcParse::entity& Ifc4x3_rc1::IfcConnectionPointGeometry::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[214]); } Ifc4x3_rc1::IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x3_rc1::IfcConnectionPointGeometry::IfcConnectionPointGeometry(::Ifc4x3_rc1::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3_rc1::IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcConnectionPointGeometry::IfcConnectionPointGeometry(::Ifc4x3_rc1::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3_rc1::IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionSurfaceGeometry -::Ifc4x3_rc1::IfcSurfaceOrFaceSurface* Ifc4x3_rc1::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcSurfaceOrFaceSurface>(true); } +::Ifc4x3_rc1::IfcSurfaceOrFaceSurface* Ifc4x3_rc1::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcSurfaceOrFaceSurface>(true); } void Ifc4x3_rc1::IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(::Ifc4x3_rc1::IfcSurfaceOrFaceSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcSurfaceOrFaceSurface* Ifc4x3_rc1::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcSurfaceOrFaceSurface>(true); } +::Ifc4x3_rc1::IfcSurfaceOrFaceSurface* Ifc4x3_rc1::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcSurfaceOrFaceSurface>(true); } void Ifc4x3_rc1::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(::Ifc4x3_rc1::IfcSurfaceOrFaceSurface* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcConnectionSurfaceGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[215]); } const IfcParse::entity& Ifc4x3_rc1::IfcConnectionSurfaceGeometry::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[215]); } Ifc4x3_rc1::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x3_rc1::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(::Ifc4x3_rc1::IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, ::Ifc4x3_rc1::IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SurfaceOnRelatingElement ? v1_SurfaceOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_SurfaceOnRelatedElement ? v2_SurfaceOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(::Ifc4x3_rc1::IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, ::Ifc4x3_rc1::IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SurfaceOnRelatingElement ? v1_SurfaceOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_SurfaceOnRelatedElement ? v2_SurfaceOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionVolumeGeometry -::Ifc4x3_rc1::IfcSolidOrShell* Ifc4x3_rc1::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcSolidOrShell>(true); } +::Ifc4x3_rc1::IfcSolidOrShell* Ifc4x3_rc1::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcSolidOrShell>(true); } void Ifc4x3_rc1::IfcConnectionVolumeGeometry::setVolumeOnRelatingElement(::Ifc4x3_rc1::IfcSolidOrShell* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcSolidOrShell* Ifc4x3_rc1::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcSolidOrShell>(true); } +::Ifc4x3_rc1::IfcSolidOrShell* Ifc4x3_rc1::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcSolidOrShell>(true); } void Ifc4x3_rc1::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(::Ifc4x3_rc1::IfcSolidOrShell* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcConnectionVolumeGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[217]); } const IfcParse::entity& Ifc4x3_rc1::IfcConnectionVolumeGeometry::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[217]); } Ifc4x3_rc1::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x3_rc1::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(::Ifc4x3_rc1::IfcSolidOrShell* v1_VolumeOnRelatingElement, ::Ifc4x3_rc1::IfcSolidOrShell* v2_VolumeOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_VolumeOnRelatingElement ? v1_VolumeOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_VolumeOnRelatedElement ? v2_VolumeOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(::Ifc4x3_rc1::IfcSolidOrShell* v1_VolumeOnRelatingElement, ::Ifc4x3_rc1::IfcSolidOrShell* v2_VolumeOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_VolumeOnRelatingElement ? v1_VolumeOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_VolumeOnRelatedElement ? v2_VolumeOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConstraint -std::string Ifc4x3_rc1::IfcConstraint::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc1::IfcConstraint::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcConstraint::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc1::IfcConstraint::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcConstraint::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcConstraint::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc1::IfcConstraintEnum::Value Ifc4x3_rc1::IfcConstraint::ConstraintGrade() const { return ::Ifc4x3_rc1::IfcConstraintEnum::FromString(data_.get_attribute_value(2)); } +::Ifc4x3_rc1::IfcConstraintEnum::Value Ifc4x3_rc1::IfcConstraint::ConstraintGrade() const { return ::Ifc4x3_rc1::IfcConstraintEnum::FromString(get_attribute_value(2)); } void Ifc4x3_rc1::IfcConstraint::setConstraintGrade(::Ifc4x3_rc1::IfcConstraintEnum::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3_rc1::IfcConstraintEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x3_rc1::IfcConstraint::ConstraintSource() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcConstraint::ConstraintSource() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcConstraint::CreatingActor() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcActorSelect>(true); } +::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcConstraint::CreatingActor() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcActorSelect>(true); } void Ifc4x3_rc1::IfcConstraint::setCreatingActor(::Ifc4x3_rc1::IfcActorSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -boost::optional< std::string > Ifc4x3_rc1::IfcConstraint::CreationTime() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcConstraint::CreationTime() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcConstraint::setCreationTime(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc1::IfcConstraint::UserDefinedGrade() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcConstraint::UserDefinedGrade() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_rc1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc1::IfcConstraint::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[436], 3)->as(); } @@ -9420,104 +9420,104 @@ void Ifc4x3_rc1::IfcConstraint::setUserDefinedGrade(boost::optional< std::string const IfcParse::entity& Ifc4x3_rc1::IfcConstraint::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[218]); } const IfcParse::entity& Ifc4x3_rc1::IfcConstraint::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[218]); } Ifc4x3_rc1::IfcConstraint::IfcConstraint(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc1::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; populate_derived(); } +Ifc4x3_rc1::IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc1::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; populate_derived(); } // Function implementations for IfcConstructionEquipmentResource -boost::optional< ::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x3_rc1::IfcConstructionEquipmentResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x3_rc1::IfcConstructionEquipmentResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc1::IfcConstructionEquipmentResource::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc1::IfcConstructionEquipmentResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[220]); } const IfcParse::entity& Ifc4x3_rc1::IfcConstructionEquipmentResource::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[220]); } Ifc4x3_rc1::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_rc1::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConstructionEquipmentResourceType -::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3_rc1::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3_rc1::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc1::IfcConstructionEquipmentResourceType::setPredefinedType(::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc1::IfcConstructionEquipmentResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[221]); } const IfcParse::entity& Ifc4x3_rc1::IfcConstructionEquipmentResourceType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[221]); } Ifc4x3_rc1::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_rc1::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcConstructionMaterialResource -boost::optional< ::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x3_rc1::IfcConstructionMaterialResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x3_rc1::IfcConstructionMaterialResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc1::IfcConstructionMaterialResource::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc1::IfcConstructionMaterialResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[223]); } const IfcParse::entity& Ifc4x3_rc1::IfcConstructionMaterialResource::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[223]); } Ifc4x3_rc1::IfcConstructionMaterialResource::IfcConstructionMaterialResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_rc1::IfcConstructionMaterialResource::IfcConstructionMaterialResource(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcConstructionMaterialResource::IfcConstructionMaterialResource(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConstructionMaterialResourceType -::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3_rc1::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3_rc1::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc1::IfcConstructionMaterialResourceType::setPredefinedType(::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc1::IfcConstructionMaterialResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[224]); } const IfcParse::entity& Ifc4x3_rc1::IfcConstructionMaterialResourceType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[224]); } Ifc4x3_rc1::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_rc1::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcConstructionProductResource -boost::optional< ::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value > Ifc4x3_rc1::IfcConstructionProductResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value > Ifc4x3_rc1::IfcConstructionProductResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc1::IfcConstructionProductResource::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc1::IfcConstructionProductResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[226]); } const IfcParse::entity& Ifc4x3_rc1::IfcConstructionProductResource::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[226]); } Ifc4x3_rc1::IfcConstructionProductResource::IfcConstructionProductResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_rc1::IfcConstructionProductResource::IfcConstructionProductResource(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcConstructionProductResource::IfcConstructionProductResource(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConstructionProductResourceType -::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value Ifc4x3_rc1::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value Ifc4x3_rc1::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc1::IfcConstructionProductResourceType::setPredefinedType(::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc1::IfcConstructionProductResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[227]); } const IfcParse::entity& Ifc4x3_rc1::IfcConstructionProductResourceType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[227]); } Ifc4x3_rc1::IfcConstructionProductResourceType::IfcConstructionProductResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_rc1::IfcConstructionProductResourceType::IfcConstructionProductResourceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcConstructionProductResourceType::IfcConstructionProductResourceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcConstructionResource -::Ifc4x3_rc1::IfcResourceTime* Ifc4x3_rc1::IfcConstructionResource::Usage() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc1::IfcResourceTime>(true); } +::Ifc4x3_rc1::IfcResourceTime* Ifc4x3_rc1::IfcConstructionResource::Usage() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc1::IfcResourceTime>(true); } void Ifc4x3_rc1::IfcConstructionResource::setUsage(::Ifc4x3_rc1::IfcResourceTime* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > Ifc4x3_rc1::IfcConstructionResource::BaseCosts() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_rc1::IfcAppliedValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > Ifc4x3_rc1::IfcConstructionResource::BaseCosts() const { if(get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_rc1::IfcAppliedValue >(); } void Ifc4x3_rc1::IfcConstructionResource::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v) { if (v) {set_attribute_value(8, (*v)->generalize());} else {unset_attribute_value(8);} } -::Ifc4x3_rc1::IfcPhysicalQuantity* Ifc4x3_rc1::IfcConstructionResource::BaseQuantity() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc1::IfcPhysicalQuantity>(true); } +::Ifc4x3_rc1::IfcPhysicalQuantity* Ifc4x3_rc1::IfcConstructionResource::BaseQuantity() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc1::IfcPhysicalQuantity>(true); } void Ifc4x3_rc1::IfcConstructionResource::setBaseQuantity(::Ifc4x3_rc1::IfcPhysicalQuantity* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcConstructionResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[229]); } const IfcParse::entity& Ifc4x3_rc1::IfcConstructionResource::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[229]); } Ifc4x3_rc1::IfcConstructionResource::IfcConstructionResource(IfcEntityInstanceData&& e) : IfcResource(std::move(e)) { } -Ifc4x3_rc1::IfcConstructionResource::IfcConstructionResource(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity* v10_BaseQuantity) : IfcResource(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcConstructionResource::IfcConstructionResource(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity* v10_BaseQuantity) : IfcResource(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConstructionResourceType -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > Ifc4x3_rc1::IfcConstructionResourceType::BaseCosts() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3_rc1::IfcAppliedValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > Ifc4x3_rc1::IfcConstructionResourceType::BaseCosts() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3_rc1::IfcAppliedValue >(); } void Ifc4x3_rc1::IfcConstructionResourceType::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -::Ifc4x3_rc1::IfcPhysicalQuantity* Ifc4x3_rc1::IfcConstructionResourceType::BaseQuantity() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_rc1::IfcPhysicalQuantity>(true); } +::Ifc4x3_rc1::IfcPhysicalQuantity* Ifc4x3_rc1::IfcConstructionResourceType::BaseQuantity() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_rc1::IfcPhysicalQuantity>(true); } void Ifc4x3_rc1::IfcConstructionResourceType::setBaseQuantity(::Ifc4x3_rc1::IfcPhysicalQuantity* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_rc1::IfcConstructionResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[230]); } const IfcParse::entity& Ifc4x3_rc1::IfcConstructionResourceType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[230]); } Ifc4x3_rc1::IfcConstructionResourceType::IfcConstructionResourceType(IfcEntityInstanceData&& e) : IfcTypeResource(std::move(e)) { } -Ifc4x3_rc1::IfcConstructionResourceType::IfcConstructionResourceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity* v11_BaseQuantity) : IfcTypeResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcConstructionResourceType::IfcConstructionResourceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity* v11_BaseQuantity) : IfcTypeResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcContext -boost::optional< std::string > Ifc4x3_rc1::IfcContext::ObjectType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcContext::ObjectType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcContext::setObjectType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc1::IfcContext::LongName() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcContext::LongName() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcContext::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc1::IfcContext::Phase() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcContext::Phase() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcContext::setPhase(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationContext >::ptr > Ifc4x3_rc1::IfcContext::RepresentationContexts() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc1::IfcRepresentationContext >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationContext >::ptr > Ifc4x3_rc1::IfcContext::RepresentationContexts() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc1::IfcRepresentationContext >(); } void Ifc4x3_rc1::IfcContext::setRepresentationContexts(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationContext >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -::Ifc4x3_rc1::IfcUnitAssignment* Ifc4x3_rc1::IfcContext::UnitsInContext() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc1::IfcUnitAssignment>(true); } +::Ifc4x3_rc1::IfcUnitAssignment* Ifc4x3_rc1::IfcContext::UnitsInContext() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc1::IfcUnitAssignment>(true); } void Ifc4x3_rc1::IfcContext::setUnitsInContext(::Ifc4x3_rc1::IfcUnitAssignment* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } ::Ifc4x3_rc1::IfcRelDefinesByProperties::list::ptr Ifc4x3_rc1::IfcContext::IsDefinedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[944], 4)->as(); } @@ -9526,10 +9526,10 @@ void Ifc4x3_rc1::IfcContext::setUnitsInContext(::Ifc4x3_rc1::IfcUnitAssignment* const IfcParse::entity& Ifc4x3_rc1::IfcContext::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[231]); } const IfcParse::entity& Ifc4x3_rc1::IfcContext::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[231]); } Ifc4x3_rc1::IfcContext::IfcContext(IfcEntityInstanceData&& e) : IfcObjectDefinition(std::move(e)) { } -Ifc4x3_rc1::IfcContext::IfcContext(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_rc1::IfcUnitAssignment* v9_UnitsInContext) : IfcObjectDefinition(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcContext::IfcContext(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_rc1::IfcUnitAssignment* v9_UnitsInContext) : IfcObjectDefinition(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcContextDependentUnit -std::string Ifc4x3_rc1::IfcContextDependentUnit::Name() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3_rc1::IfcContextDependentUnit::Name() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcContextDependentUnit::setName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } ::Ifc4x3_rc1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc1::IfcContextDependentUnit::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[436], 3)->as(); } @@ -9537,10 +9537,10 @@ void Ifc4x3_rc1::IfcContextDependentUnit::setName(std::string v) { set_attribute const IfcParse::entity& Ifc4x3_rc1::IfcContextDependentUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[233]); } const IfcParse::entity& Ifc4x3_rc1::IfcContextDependentUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[233]); } Ifc4x3_rc1::IfcContextDependentUnit::IfcContextDependentUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -Ifc4x3_rc1::IfcContextDependentUnit::IfcContextDependentUnit(::Ifc4x3_rc1::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) : IfcNamedUnit(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; populate_derived(); } +Ifc4x3_rc1::IfcContextDependentUnit::IfcContextDependentUnit(::Ifc4x3_rc1::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) : IfcNamedUnit(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; populate_derived(); } // Function implementations for IfcControl -boost::optional< std::string > Ifc4x3_rc1::IfcControl::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcControl::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcControl::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x3_rc1::IfcRelAssignsToControl::list::ptr Ifc4x3_rc1::IfcControl::Controls() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[913], 6)->as(); } @@ -9548,32 +9548,32 @@ void Ifc4x3_rc1::IfcControl::setIdentification(boost::optional< std::string > v) const IfcParse::entity& Ifc4x3_rc1::IfcControl::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[234]); } const IfcParse::entity& Ifc4x3_rc1::IfcControl::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[234]); } Ifc4x3_rc1::IfcControl::IfcControl(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_rc1::IfcControl::IfcControl(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification) : IfcObject(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }; populate_derived(); } +Ifc4x3_rc1::IfcControl::IfcControl(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }; populate_derived(); } // Function implementations for IfcController -boost::optional< ::Ifc4x3_rc1::IfcControllerTypeEnum::Value > Ifc4x3_rc1::IfcController::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcControllerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcControllerTypeEnum::Value > Ifc4x3_rc1::IfcController::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcControllerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcController::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcControllerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcControllerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcController::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[235]); } const IfcParse::entity& Ifc4x3_rc1::IfcController::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[235]); } Ifc4x3_rc1::IfcController::IfcController(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_rc1::IfcController::IfcController(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcControllerTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcController::IfcController(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcControllerTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcControllerType -::Ifc4x3_rc1::IfcControllerTypeEnum::Value Ifc4x3_rc1::IfcControllerType::PredefinedType() const { return ::Ifc4x3_rc1::IfcControllerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcControllerTypeEnum::Value Ifc4x3_rc1::IfcControllerType::PredefinedType() const { return ::Ifc4x3_rc1::IfcControllerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcControllerType::setPredefinedType(::Ifc4x3_rc1::IfcControllerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcControllerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcControllerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[236]); } const IfcParse::entity& Ifc4x3_rc1::IfcControllerType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[236]); } Ifc4x3_rc1::IfcControllerType::IfcControllerType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_rc1::IfcControllerType::IfcControllerType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcControllerTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcControllerType::IfcControllerType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcControllerTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcConversionBasedUnit -std::string Ifc4x3_rc1::IfcConversionBasedUnit::Name() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3_rc1::IfcConversionBasedUnit::Name() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcConversionBasedUnit::setName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcMeasureWithUnit* Ifc4x3_rc1::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcMeasureWithUnit>(true); } +::Ifc4x3_rc1::IfcMeasureWithUnit* Ifc4x3_rc1::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcMeasureWithUnit>(true); } void Ifc4x3_rc1::IfcConversionBasedUnit::setConversionFactor(::Ifc4x3_rc1::IfcMeasureWithUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } ::Ifc4x3_rc1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc1::IfcConversionBasedUnit::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[436], 3)->as(); } @@ -9581,98 +9581,98 @@ void Ifc4x3_rc1::IfcConversionBasedUnit::setConversionFactor(::Ifc4x3_rc1::IfcMe const IfcParse::entity& Ifc4x3_rc1::IfcConversionBasedUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[238]); } const IfcParse::entity& Ifc4x3_rc1::IfcConversionBasedUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[238]); } Ifc4x3_rc1::IfcConversionBasedUnit::IfcConversionBasedUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -Ifc4x3_rc1::IfcConversionBasedUnit::IfcConversionBasedUnit(::Ifc4x3_rc1::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc1::IfcMeasureWithUnit* v4_ConversionFactor) : IfcNamedUnit(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcConversionBasedUnit::IfcConversionBasedUnit(::Ifc4x3_rc1::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc1::IfcMeasureWithUnit* v4_ConversionFactor) : IfcNamedUnit(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConversionBasedUnitWithOffset -double Ifc4x3_rc1::IfcConversionBasedUnitWithOffset::ConversionOffset() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc1::IfcConversionBasedUnitWithOffset::ConversionOffset() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcConversionBasedUnitWithOffset::setConversionOffset(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc1::IfcConversionBasedUnitWithOffset::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[239]); } const IfcParse::entity& Ifc4x3_rc1::IfcConversionBasedUnitWithOffset::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[239]); } Ifc4x3_rc1::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(IfcEntityInstanceData&& e) : IfcConversionBasedUnit(std::move(e)) { } -Ifc4x3_rc1::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(::Ifc4x3_rc1::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc1::IfcMeasureWithUnit* v4_ConversionFactor, double v5_ConversionOffset) : IfcConversionBasedUnit(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ConversionOffset));; populate_derived(); } +Ifc4x3_rc1::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(::Ifc4x3_rc1::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc1::IfcMeasureWithUnit* v4_ConversionFactor, double v5_ConversionOffset) : IfcConversionBasedUnit(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ConversionOffset));; populate_derived(); } // Function implementations for IfcConveyorSegment -boost::optional< ::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value > Ifc4x3_rc1::IfcConveyorSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value > Ifc4x3_rc1::IfcConveyorSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcConveyorSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcConveyorSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[240]); } const IfcParse::entity& Ifc4x3_rc1::IfcConveyorSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[240]); } Ifc4x3_rc1::IfcConveyorSegment::IfcConveyorSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x3_rc1::IfcConveyorSegment::IfcConveyorSegment(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcConveyorSegment::IfcConveyorSegment(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConveyorSegmentType -::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value Ifc4x3_rc1::IfcConveyorSegmentType::PredefinedType() const { return ::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value Ifc4x3_rc1::IfcConveyorSegmentType::PredefinedType() const { return ::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcConveyorSegmentType::setPredefinedType(::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcConveyorSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[241]); } const IfcParse::entity& Ifc4x3_rc1::IfcConveyorSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[241]); } Ifc4x3_rc1::IfcConveyorSegmentType::IfcConveyorSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x3_rc1::IfcConveyorSegmentType::IfcConveyorSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcConveyorSegmentType::IfcConveyorSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcConveyorSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCooledBeam -boost::optional< ::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value > Ifc4x3_rc1::IfcCooledBeam::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCooledBeamTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value > Ifc4x3_rc1::IfcCooledBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCooledBeamTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcCooledBeam::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcCooledBeam::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[243]); } const IfcParse::entity& Ifc4x3_rc1::IfcCooledBeam::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[243]); } Ifc4x3_rc1::IfcCooledBeam::IfcCooledBeam(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc1::IfcCooledBeam::IfcCooledBeam(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcCooledBeam::IfcCooledBeam(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCooledBeamType -::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value Ifc4x3_rc1::IfcCooledBeamType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCooledBeamTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value Ifc4x3_rc1::IfcCooledBeamType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCooledBeamTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcCooledBeamType::setPredefinedType(::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcCooledBeamType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[244]); } const IfcParse::entity& Ifc4x3_rc1::IfcCooledBeamType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[244]); } Ifc4x3_rc1::IfcCooledBeamType::IfcCooledBeamType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc1::IfcCooledBeamType::IfcCooledBeamType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcCooledBeamType::IfcCooledBeamType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCoolingTower -boost::optional< ::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value > Ifc4x3_rc1::IfcCoolingTower::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value > Ifc4x3_rc1::IfcCoolingTower::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcCoolingTower::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcCoolingTower::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[246]); } const IfcParse::entity& Ifc4x3_rc1::IfcCoolingTower::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[246]); } Ifc4x3_rc1::IfcCoolingTower::IfcCoolingTower(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc1::IfcCoolingTower::IfcCoolingTower(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcCoolingTower::IfcCoolingTower(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCoolingTowerType -::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value Ifc4x3_rc1::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value Ifc4x3_rc1::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcCoolingTowerType::setPredefinedType(::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcCoolingTowerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[247]); } const IfcParse::entity& Ifc4x3_rc1::IfcCoolingTowerType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[247]); } Ifc4x3_rc1::IfcCoolingTowerType::IfcCoolingTowerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc1::IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCoordinateOperation -::Ifc4x3_rc1::IfcCoordinateReferenceSystemSelect* Ifc4x3_rc1::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCoordinateReferenceSystemSelect>(true); } +::Ifc4x3_rc1::IfcCoordinateReferenceSystemSelect* Ifc4x3_rc1::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCoordinateReferenceSystemSelect>(true); } void Ifc4x3_rc1::IfcCoordinateOperation::setSourceCRS(::Ifc4x3_rc1::IfcCoordinateReferenceSystemSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcCoordinateReferenceSystem* Ifc4x3_rc1::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcCoordinateReferenceSystem>(true); } +::Ifc4x3_rc1::IfcCoordinateReferenceSystem* Ifc4x3_rc1::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcCoordinateReferenceSystem>(true); } void Ifc4x3_rc1::IfcCoordinateOperation::setTargetCRS(::Ifc4x3_rc1::IfcCoordinateReferenceSystem* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcCoordinateOperation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[249]); } const IfcParse::entity& Ifc4x3_rc1::IfcCoordinateOperation::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[249]); } Ifc4x3_rc1::IfcCoordinateOperation::IfcCoordinateOperation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcCoordinateOperation::IfcCoordinateOperation(::Ifc4x3_rc1::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_rc1::IfcCoordinateReferenceSystem* v2_TargetCRS) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcCoordinateOperation::IfcCoordinateOperation(::Ifc4x3_rc1::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_rc1::IfcCoordinateReferenceSystem* v2_TargetCRS) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCoordinateReferenceSystem -std::string Ifc4x3_rc1::IfcCoordinateReferenceSystem::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc1::IfcCoordinateReferenceSystem::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcCoordinateReferenceSystem::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc1::IfcCoordinateReferenceSystem::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcCoordinateReferenceSystem::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcCoordinateReferenceSystem::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc1::IfcCoordinateReferenceSystem::GeodeticDatum() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcCoordinateReferenceSystem::GeodeticDatum() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcCoordinateReferenceSystem::setGeodeticDatum(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_rc1::IfcCoordinateReferenceSystem::VerticalDatum() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcCoordinateReferenceSystem::VerticalDatum() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcCoordinateReferenceSystem::setVerticalDatum(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } ::Ifc4x3_rc1::IfcCoordinateOperation::list::ptr Ifc4x3_rc1::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[249], 0)->as(); } @@ -9680,37 +9680,37 @@ void Ifc4x3_rc1::IfcCoordinateReferenceSystem::setVerticalDatum(boost::optional< const IfcParse::entity& Ifc4x3_rc1::IfcCoordinateReferenceSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[250]); } const IfcParse::entity& Ifc4x3_rc1::IfcCoordinateReferenceSystem::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[250]); } Ifc4x3_rc1::IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::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(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); }; populate_derived(); } +Ifc4x3_rc1::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(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); }; populate_derived(); } // Function implementations for IfcCostItem -boost::optional< ::Ifc4x3_rc1::IfcCostItemTypeEnum::Value > Ifc4x3_rc1::IfcCostItem::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCostItemTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_rc1::IfcCostItemTypeEnum::Value > Ifc4x3_rc1::IfcCostItem::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCostItemTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_rc1::IfcCostItem::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCostItemTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_rc1::IfcCostItemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcCostValue >::ptr > Ifc4x3_rc1::IfcCostItem::CostValues() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc1::IfcCostValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcCostValue >::ptr > Ifc4x3_rc1::IfcCostItem::CostValues() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc1::IfcCostValue >(); } void Ifc4x3_rc1::IfcCostItem::setCostValues(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcCostValue >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPhysicalQuantity >::ptr > Ifc4x3_rc1::IfcCostItem::CostQuantities() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_rc1::IfcPhysicalQuantity >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPhysicalQuantity >::ptr > Ifc4x3_rc1::IfcCostItem::CostQuantities() const { if(get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_rc1::IfcPhysicalQuantity >(); } void Ifc4x3_rc1::IfcCostItem::setCostQuantities(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPhysicalQuantity >::ptr > v) { if (v) {set_attribute_value(8, (*v)->generalize());} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcCostItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[252]); } const IfcParse::entity& Ifc4x3_rc1::IfcCostItem::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[252]); } Ifc4x3_rc1::IfcCostItem::IfcCostItem(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_rc1::IfcCostItem::IfcCostItem(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3_rc1::IfcCostItemTypeEnum::Value > v7_PredefinedType, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcCostValue >::ptr > v8_CostValues, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPhysicalQuantity >::ptr > v9_CostQuantities) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc1::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, (*v8_CostValues)->generalize()); } if (v9_CostQuantities) {set_attribute_value(8, (*v9_CostQuantities)->generalize()); }; populate_derived(); } +Ifc4x3_rc1::IfcCostItem::IfcCostItem(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3_rc1::IfcCostItemTypeEnum::Value > v7_PredefinedType, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcCostValue >::ptr > v8_CostValues, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPhysicalQuantity >::ptr > v9_CostQuantities) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc1::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, (*v8_CostValues)->generalize()); } if (v9_CostQuantities) {set_attribute_value(8, (*v9_CostQuantities)->generalize()); }; populate_derived(); } // Function implementations for IfcCostSchedule -boost::optional< ::Ifc4x3_rc1::IfcCostScheduleTypeEnum::Value > Ifc4x3_rc1::IfcCostSchedule::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCostScheduleTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_rc1::IfcCostScheduleTypeEnum::Value > Ifc4x3_rc1::IfcCostSchedule::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCostScheduleTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_rc1::IfcCostSchedule::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCostScheduleTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_rc1::IfcCostScheduleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc1::IfcCostSchedule::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcCostSchedule::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcCostSchedule::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc1::IfcCostSchedule::SubmittedOn() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcCostSchedule::SubmittedOn() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcCostSchedule::setSubmittedOn(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_rc1::IfcCostSchedule::UpdateDate() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcCostSchedule::UpdateDate() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc1::IfcCostSchedule::setUpdateDate(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc1::IfcCostSchedule::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[254]); } const IfcParse::entity& Ifc4x3_rc1::IfcCostSchedule::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[254]); } Ifc4x3_rc1::IfcCostSchedule::IfcCostSchedule(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_rc1::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3_rc1::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_SubmittedOn, boost::optional< std::string > v10_UpdateDate) : IfcControl(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc1::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); }; populate_derived(); } +Ifc4x3_rc1::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3_rc1::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_SubmittedOn, boost::optional< std::string > v10_UpdateDate) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc1::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); }; populate_derived(); } // Function implementations for IfcCostValue @@ -9718,30 +9718,30 @@ Ifc4x3_rc1::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc1::IfcCostValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[256]); } const IfcParse::entity& Ifc4x3_rc1::IfcCostValue::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[256]); } Ifc4x3_rc1::IfcCostValue::IfcCostValue(IfcEntityInstanceData&& e) : IfcAppliedValue(std::move(e)) { } -Ifc4x3_rc1::IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3_rc1::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_rc1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v10_Components) : IfcAppliedValue(IfcEntityInstanceData(storage_t(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } +Ifc4x3_rc1::IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3_rc1::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_rc1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v10_Components) : IfcAppliedValue(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } // Function implementations for IfcCourse -boost::optional< ::Ifc4x3_rc1::IfcCourseTypeEnum::Value > Ifc4x3_rc1::IfcCourse::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCourseTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcCourseTypeEnum::Value > Ifc4x3_rc1::IfcCourse::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCourseTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcCourse::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCourseTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcCourseTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcCourse::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[258]); } const IfcParse::entity& Ifc4x3_rc1::IfcCourse::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[258]); } Ifc4x3_rc1::IfcCourse::IfcCourse(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc1::IfcCourse::IfcCourse(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcCourseTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcCourseTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcCourse::IfcCourse(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcCourseTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcCourseTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCourseType -::Ifc4x3_rc1::IfcCourseTypeEnum::Value Ifc4x3_rc1::IfcCourseType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCourseTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcCourseTypeEnum::Value Ifc4x3_rc1::IfcCourseType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCourseTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcCourseType::setPredefinedType(::Ifc4x3_rc1::IfcCourseTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcCourseTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcCourseType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[259]); } const IfcParse::entity& Ifc4x3_rc1::IfcCourseType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[259]); } Ifc4x3_rc1::IfcCourseType::IfcCourseType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc1::IfcCourseType::IfcCourseType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCourseTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcCourseTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcCourseType::IfcCourseType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCourseTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcCourseTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCovering -boost::optional< ::Ifc4x3_rc1::IfcCoveringTypeEnum::Value > Ifc4x3_rc1::IfcCovering::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCoveringTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcCoveringTypeEnum::Value > Ifc4x3_rc1::IfcCovering::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCoveringTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcCovering::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCoveringTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcCoveringTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x3_rc1::IfcRelCoversSpaces::list::ptr Ifc4x3_rc1::IfcCovering::CoversSpaces() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[939], 5)->as(); } @@ -9750,95 +9750,95 @@ void Ifc4x3_rc1::IfcCovering::setPredefinedType(boost::optional< ::Ifc4x3_rc1::I const IfcParse::entity& Ifc4x3_rc1::IfcCovering::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[261]); } const IfcParse::entity& Ifc4x3_rc1::IfcCovering::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[261]); } Ifc4x3_rc1::IfcCovering::IfcCovering(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc1::IfcCovering::IfcCovering(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcCoveringTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcCovering::IfcCovering(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcCoveringTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCoveringType -::Ifc4x3_rc1::IfcCoveringTypeEnum::Value Ifc4x3_rc1::IfcCoveringType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCoveringTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcCoveringTypeEnum::Value Ifc4x3_rc1::IfcCoveringType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCoveringTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcCoveringType::setPredefinedType(::Ifc4x3_rc1::IfcCoveringTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcCoveringTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcCoveringType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[262]); } const IfcParse::entity& Ifc4x3_rc1::IfcCoveringType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[262]); } Ifc4x3_rc1::IfcCoveringType::IfcCoveringType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc1::IfcCoveringType::IfcCoveringType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCoveringTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcCoveringType::IfcCoveringType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCoveringTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCrewResource -boost::optional< ::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Value > Ifc4x3_rc1::IfcCrewResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCrewResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Value > Ifc4x3_rc1::IfcCrewResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCrewResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc1::IfcCrewResource::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc1::IfcCrewResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[264]); } const IfcParse::entity& Ifc4x3_rc1::IfcCrewResource::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[264]); } Ifc4x3_rc1::IfcCrewResource::IfcCrewResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_rc1::IfcCrewResource::IfcCrewResource(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcCrewResource::IfcCrewResource(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCrewResourceType -::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Value Ifc4x3_rc1::IfcCrewResourceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCrewResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Value Ifc4x3_rc1::IfcCrewResourceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCrewResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc1::IfcCrewResourceType::setPredefinedType(::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc1::IfcCrewResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[265]); } const IfcParse::entity& Ifc4x3_rc1::IfcCrewResourceType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[265]); } Ifc4x3_rc1::IfcCrewResourceType::IfcCrewResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_rc1::IfcCrewResourceType::IfcCrewResourceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcCrewResourceType::IfcCrewResourceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcCsgPrimitive3D -::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(true); } void Ifc4x3_rc1::IfcCsgPrimitive3D::setPosition(::Ifc4x3_rc1::IfcAxis2Placement3D* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc1::IfcCsgPrimitive3D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[267]); } const IfcParse::entity& Ifc4x3_rc1::IfcCsgPrimitive3D::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[267]); } Ifc4x3_rc1::IfcCsgPrimitive3D::IfcCsgPrimitive3D(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcCsgPrimitive3D::IfcCsgPrimitive3D(::Ifc4x3_rc1::IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcCsgPrimitive3D::IfcCsgPrimitive3D(::Ifc4x3_rc1::IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCsgSolid -::Ifc4x3_rc1::IfcCsgSelect* Ifc4x3_rc1::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCsgSelect>(true); } +::Ifc4x3_rc1::IfcCsgSelect* Ifc4x3_rc1::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCsgSelect>(true); } void Ifc4x3_rc1::IfcCsgSolid::setTreeRootExpression(::Ifc4x3_rc1::IfcCsgSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc1::IfcCsgSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[269]); } const IfcParse::entity& Ifc4x3_rc1::IfcCsgSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[269]); } Ifc4x3_rc1::IfcCsgSolid::IfcCsgSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3_rc1::IfcCsgSolid::IfcCsgSolid(::Ifc4x3_rc1::IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_TreeRootExpression ? v1_TreeRootExpression->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcCsgSolid::IfcCsgSolid(::Ifc4x3_rc1::IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_TreeRootExpression ? v1_TreeRootExpression->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCurrencyRelationship -::Ifc4x3_rc1::IfcMonetaryUnit* Ifc4x3_rc1::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcMonetaryUnit>(true); } +::Ifc4x3_rc1::IfcMonetaryUnit* Ifc4x3_rc1::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcMonetaryUnit>(true); } void Ifc4x3_rc1::IfcCurrencyRelationship::setRelatingMonetaryUnit(::Ifc4x3_rc1::IfcMonetaryUnit* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcMonetaryUnit* Ifc4x3_rc1::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcMonetaryUnit>(true); } +::Ifc4x3_rc1::IfcMonetaryUnit* Ifc4x3_rc1::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcMonetaryUnit>(true); } void Ifc4x3_rc1::IfcCurrencyRelationship::setRelatedMonetaryUnit(::Ifc4x3_rc1::IfcMonetaryUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc1::IfcCurrencyRelationship::ExchangeRate() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc1::IfcCurrencyRelationship::ExchangeRate() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcCurrencyRelationship::setExchangeRate(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< std::string > Ifc4x3_rc1::IfcCurrencyRelationship::RateDateTime() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcCurrencyRelationship::RateDateTime() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcCurrencyRelationship::setRateDateTime(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc1::IfcLibraryInformation* Ifc4x3_rc1::IfcCurrencyRelationship::RateSource() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcLibraryInformation>(true); } +::Ifc4x3_rc1::IfcLibraryInformation* Ifc4x3_rc1::IfcCurrencyRelationship::RateSource() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcLibraryInformation>(true); } void Ifc4x3_rc1::IfcCurrencyRelationship::setRateSource(::Ifc4x3_rc1::IfcLibraryInformation* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc1::IfcCurrencyRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[271]); } const IfcParse::entity& Ifc4x3_rc1::IfcCurrencyRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[271]); } Ifc4x3_rc1::IfcCurrencyRelationship::IfcCurrencyRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_rc1::IfcCurrencyRelationship::IfcCurrencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcMonetaryUnit* v3_RelatingMonetaryUnit, ::Ifc4x3_rc1::IfcMonetaryUnit* v4_RelatedMonetaryUnit, double v5_ExchangeRate, boost::optional< std::string > v6_RateDateTime, ::Ifc4x3_rc1::IfcLibraryInformation* v7_RateSource) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMonetaryUnit ? v3_RelatingMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_RelatedMonetaryUnit ? v4_RelatedMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, v7_RateSource ? v7_RateSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcCurrencyRelationship::IfcCurrencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcMonetaryUnit* v3_RelatingMonetaryUnit, ::Ifc4x3_rc1::IfcMonetaryUnit* v4_RelatedMonetaryUnit, double v5_ExchangeRate, boost::optional< std::string > v6_RateDateTime, ::Ifc4x3_rc1::IfcLibraryInformation* v7_RateSource) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMonetaryUnit ? v3_RelatingMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_RelatedMonetaryUnit ? v4_RelatedMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, v7_RateSource ? v7_RateSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCurtainWall -boost::optional< ::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Value > Ifc4x3_rc1::IfcCurtainWall::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCurtainWallTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Value > Ifc4x3_rc1::IfcCurtainWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCurtainWallTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcCurtainWall::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcCurtainWall::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[272]); } const IfcParse::entity& Ifc4x3_rc1::IfcCurtainWall::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[272]); } Ifc4x3_rc1::IfcCurtainWall::IfcCurtainWall(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc1::IfcCurtainWall::IfcCurtainWall(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcCurtainWall::IfcCurtainWall(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCurtainWallType -::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Value Ifc4x3_rc1::IfcCurtainWallType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCurtainWallTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Value Ifc4x3_rc1::IfcCurtainWallType::PredefinedType() const { return ::Ifc4x3_rc1::IfcCurtainWallTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcCurtainWallType::setPredefinedType(::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcCurtainWallType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[273]); } const IfcParse::entity& Ifc4x3_rc1::IfcCurtainWallType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[273]); } Ifc4x3_rc1::IfcCurtainWallType::IfcCurtainWallType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc1::IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCurve @@ -9846,133 +9846,133 @@ Ifc4x3_rc1::IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x3_rc1::IfcCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[276]); } const IfcParse::entity& Ifc4x3_rc1::IfcCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[276]); } Ifc4x3_rc1::IfcCurve::IfcCurve(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcCurve::IfcCurve() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc1::IfcCurve::IfcCurve() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcCurveBoundedPlane -::Ifc4x3_rc1::IfcPlane* Ifc4x3_rc1::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcPlane>(true); } +::Ifc4x3_rc1::IfcPlane* Ifc4x3_rc1::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcPlane>(true); } void Ifc4x3_rc1::IfcCurveBoundedPlane::setBasisSurface(::Ifc4x3_rc1::IfcPlane* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcCurve>(true); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcCurveBoundedPlane::setOuterBoundary(::Ifc4x3_rc1::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3_rc1::IfcCurve >::ptr Ifc4x3_rc1::IfcCurveBoundedPlane::InnerBoundaries() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcCurve >(); } +aggregate_of< ::Ifc4x3_rc1::IfcCurve >::ptr Ifc4x3_rc1::IfcCurveBoundedPlane::InnerBoundaries() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcCurve >(); } void Ifc4x3_rc1::IfcCurveBoundedPlane::setInnerBoundaries(aggregate_of< ::Ifc4x3_rc1::IfcCurve >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc1::IfcCurveBoundedPlane::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[277]); } const IfcParse::entity& Ifc4x3_rc1::IfcCurveBoundedPlane::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[277]); } Ifc4x3_rc1::IfcCurveBoundedPlane::IfcCurveBoundedPlane(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x3_rc1::IfcCurveBoundedPlane::IfcCurveBoundedPlane(::Ifc4x3_rc1::IfcPlane* v1_BasisSurface, ::Ifc4x3_rc1::IfcCurve* v2_OuterBoundary, aggregate_of< ::Ifc4x3_rc1::IfcCurve >::ptr v3_InnerBoundaries) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OuterBoundary ? v2_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_InnerBoundaries)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcCurveBoundedPlane::IfcCurveBoundedPlane(::Ifc4x3_rc1::IfcPlane* v1_BasisSurface, ::Ifc4x3_rc1::IfcCurve* v2_OuterBoundary, aggregate_of< ::Ifc4x3_rc1::IfcCurve >::ptr v3_InnerBoundaries) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OuterBoundary ? v2_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_InnerBoundaries)->generalize());; populate_derived(); } // Function implementations for IfcCurveBoundedSurface -::Ifc4x3_rc1::IfcSurface* Ifc4x3_rc1::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcSurface>(true); } +::Ifc4x3_rc1::IfcSurface* Ifc4x3_rc1::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcSurface>(true); } void Ifc4x3_rc1::IfcCurveBoundedSurface::setBasisSurface(::Ifc4x3_rc1::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc1::IfcBoundaryCurve >::ptr Ifc4x3_rc1::IfcCurveBoundedSurface::Boundaries() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcBoundaryCurve >(); } +aggregate_of< ::Ifc4x3_rc1::IfcBoundaryCurve >::ptr Ifc4x3_rc1::IfcCurveBoundedSurface::Boundaries() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcBoundaryCurve >(); } void Ifc4x3_rc1::IfcCurveBoundedSurface::setBoundaries(aggregate_of< ::Ifc4x3_rc1::IfcBoundaryCurve >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -bool Ifc4x3_rc1::IfcCurveBoundedSurface::ImplicitOuter() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x3_rc1::IfcCurveBoundedSurface::ImplicitOuter() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcCurveBoundedSurface::setImplicitOuter(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc1::IfcCurveBoundedSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[278]); } const IfcParse::entity& Ifc4x3_rc1::IfcCurveBoundedSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[278]); } Ifc4x3_rc1::IfcCurveBoundedSurface::IfcCurveBoundedSurface(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x3_rc1::IfcCurveBoundedSurface::IfcCurveBoundedSurface(::Ifc4x3_rc1::IfcSurface* v1_BasisSurface, aggregate_of< ::Ifc4x3_rc1::IfcBoundaryCurve >::ptr v2_Boundaries, bool v3_ImplicitOuter) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Boundaries)->generalize());set_attribute_value(2, (v3_ImplicitOuter));; populate_derived(); } +Ifc4x3_rc1::IfcCurveBoundedSurface::IfcCurveBoundedSurface(::Ifc4x3_rc1::IfcSurface* v1_BasisSurface, aggregate_of< ::Ifc4x3_rc1::IfcBoundaryCurve >::ptr v2_Boundaries, bool v3_ImplicitOuter) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Boundaries)->generalize());set_attribute_value(2, (v3_ImplicitOuter));; populate_derived(); } // Function implementations for IfcCurveSegment2D -::Ifc4x3_rc1::IfcCartesianPoint* Ifc4x3_rc1::IfcCurveSegment2D::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCartesianPoint>(true); } +::Ifc4x3_rc1::IfcCartesianPoint* Ifc4x3_rc1::IfcCurveSegment2D::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCartesianPoint>(true); } void Ifc4x3_rc1::IfcCurveSegment2D::setStartPoint(::Ifc4x3_rc1::IfcCartesianPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc1::IfcCurveSegment2D::StartDirection() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc1::IfcCurveSegment2D::StartDirection() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcCurveSegment2D::setStartDirection(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc1::IfcCurveSegment2D::SegmentLength() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc1::IfcCurveSegment2D::SegmentLength() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcCurveSegment2D::setSegmentLength(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc1::IfcCurveSegment2D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[283]); } const IfcParse::entity& Ifc4x3_rc1::IfcCurveSegment2D::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[283]); } Ifc4x3_rc1::IfcCurveSegment2D::IfcCurveSegment2D(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_rc1::IfcCurveSegment2D::IfcCurveSegment2D(::Ifc4x3_rc1::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_StartPoint ? v1_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));; populate_derived(); } +Ifc4x3_rc1::IfcCurveSegment2D::IfcCurveSegment2D(::Ifc4x3_rc1::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_StartPoint ? v1_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));; populate_derived(); } // Function implementations for IfcCurveStyle -::Ifc4x3_rc1::IfcCurveFontOrScaledCurveFontSelect* Ifc4x3_rc1::IfcCurveStyle::CurveFont() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcCurveFontOrScaledCurveFontSelect>(true); } +::Ifc4x3_rc1::IfcCurveFontOrScaledCurveFontSelect* Ifc4x3_rc1::IfcCurveStyle::CurveFont() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcCurveFontOrScaledCurveFontSelect>(true); } void Ifc4x3_rc1::IfcCurveStyle::setCurveFont(::Ifc4x3_rc1::IfcCurveFontOrScaledCurveFontSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcSizeSelect* Ifc4x3_rc1::IfcCurveStyle::CurveWidth() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcSizeSelect>(true); } +::Ifc4x3_rc1::IfcSizeSelect* Ifc4x3_rc1::IfcCurveStyle::CurveWidth() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcSizeSelect>(true); } void Ifc4x3_rc1::IfcCurveStyle::setCurveWidth(::Ifc4x3_rc1::IfcSizeSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcColour* Ifc4x3_rc1::IfcCurveStyle::CurveColour() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcColour>(true); } +::Ifc4x3_rc1::IfcColour* Ifc4x3_rc1::IfcCurveStyle::CurveColour() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcColour>(true); } void Ifc4x3_rc1::IfcCurveStyle::setCurveColour(::Ifc4x3_rc1::IfcColour* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< bool > Ifc4x3_rc1::IfcCurveStyle::ModelOrDraughting() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } bool v = data_.get_attribute_value(4); return v; } +boost::optional< bool > Ifc4x3_rc1::IfcCurveStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return boost::none; } bool v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcCurveStyle::setModelOrDraughting(boost::optional< bool > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc1::IfcCurveStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[284]); } const IfcParse::entity& Ifc4x3_rc1::IfcCurveStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[284]); } Ifc4x3_rc1::IfcCurveStyle::IfcCurveStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x3_rc1::IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcCurveFontOrScaledCurveFontSelect* v2_CurveFont, ::Ifc4x3_rc1::IfcSizeSelect* v3_CurveWidth, ::Ifc4x3_rc1::IfcColour* v4_CurveColour, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CurveWidth ? v3_CurveWidth->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_CurveColour ? v4_CurveColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } +Ifc4x3_rc1::IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcCurveFontOrScaledCurveFontSelect* v2_CurveFont, ::Ifc4x3_rc1::IfcSizeSelect* v3_CurveWidth, ::Ifc4x3_rc1::IfcColour* v4_CurveColour, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CurveWidth ? v3_CurveWidth->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_CurveColour ? v4_CurveColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } // Function implementations for IfcCurveStyleFont -boost::optional< std::string > Ifc4x3_rc1::IfcCurveStyleFont::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcCurveStyleFont::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcCurveStyleFont::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -aggregate_of< ::Ifc4x3_rc1::IfcCurveStyleFontPattern >::ptr Ifc4x3_rc1::IfcCurveStyleFont::PatternList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcCurveStyleFontPattern >(); } +aggregate_of< ::Ifc4x3_rc1::IfcCurveStyleFontPattern >::ptr Ifc4x3_rc1::IfcCurveStyleFont::PatternList() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcCurveStyleFontPattern >(); } void Ifc4x3_rc1::IfcCurveStyleFont::setPatternList(aggregate_of< ::Ifc4x3_rc1::IfcCurveStyleFontPattern >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcCurveStyleFont::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[285]); } const IfcParse::entity& Ifc4x3_rc1::IfcCurveStyleFont::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[285]); } Ifc4x3_rc1::IfcCurveStyleFont::IfcCurveStyleFont(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc1::IfcCurveStyleFontPattern >::ptr v2_PatternList) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_PatternList)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc1::IfcCurveStyleFontPattern >::ptr v2_PatternList) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_PatternList)->generalize());; populate_derived(); } // Function implementations for IfcCurveStyleFontAndScaling -boost::optional< std::string > Ifc4x3_rc1::IfcCurveStyleFontAndScaling::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcCurveStyleFontAndScaling::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_rc1::IfcCurveStyleFontSelect* Ifc4x3_rc1::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcCurveStyleFontSelect>(true); } +::Ifc4x3_rc1::IfcCurveStyleFontSelect* Ifc4x3_rc1::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcCurveStyleFontSelect>(true); } void Ifc4x3_rc1::IfcCurveStyleFontAndScaling::setCurveFont(::Ifc4x3_rc1::IfcCurveStyleFontSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc1::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc1::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcCurveStyleFontAndScaling::setCurveFontScaling(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc1::IfcCurveStyleFontAndScaling::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[286]); } const IfcParse::entity& Ifc4x3_rc1::IfcCurveStyleFontAndScaling::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[286]); } Ifc4x3_rc1::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcCurveStyleFontSelect* v2_CurveFont, double v3_CurveFontScaling) : IfcPresentationItem(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_CurveFontScaling));; populate_derived(); } +Ifc4x3_rc1::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcCurveStyleFontSelect* v2_CurveFont, double v3_CurveFontScaling) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_CurveFontScaling));; populate_derived(); } // Function implementations for IfcCurveStyleFontPattern -double Ifc4x3_rc1::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_rc1::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcCurveStyleFontPattern::setVisibleSegmentLength(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc1::IfcCurveStyleFontPattern::InvisibleSegmentLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc1::IfcCurveStyleFontPattern::InvisibleSegmentLength() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcCurveStyleFontPattern::setInvisibleSegmentLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcCurveStyleFontPattern::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[287]); } const IfcParse::entity& Ifc4x3_rc1::IfcCurveStyleFontPattern::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[287]); } Ifc4x3_rc1::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; populate_derived(); } +Ifc4x3_rc1::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; populate_derived(); } // Function implementations for IfcCylindricalSurface -double Ifc4x3_rc1::IfcCylindricalSurface::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc1::IfcCylindricalSurface::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcCylindricalSurface::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcCylindricalSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[289]); } const IfcParse::entity& Ifc4x3_rc1::IfcCylindricalSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[289]); } Ifc4x3_rc1::IfcCylindricalSurface::IfcCylindricalSurface(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x3_rc1::IfcCylindricalSurface::IfcCylindricalSurface(::Ifc4x3_rc1::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x3_rc1::IfcCylindricalSurface::IfcCylindricalSurface(::Ifc4x3_rc1::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcDamper -boost::optional< ::Ifc4x3_rc1::IfcDamperTypeEnum::Value > Ifc4x3_rc1::IfcDamper::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDamperTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcDamperTypeEnum::Value > Ifc4x3_rc1::IfcDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDamperTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcDamper::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDamperTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcDamperTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcDamper::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[290]); } const IfcParse::entity& Ifc4x3_rc1::IfcDamper::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[290]); } Ifc4x3_rc1::IfcDamper::IfcDamper(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_rc1::IfcDamper::IfcDamper(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcDamperTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcDamper::IfcDamper(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcDamperTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDamperType -::Ifc4x3_rc1::IfcDamperTypeEnum::Value Ifc4x3_rc1::IfcDamperType::PredefinedType() const { return ::Ifc4x3_rc1::IfcDamperTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcDamperTypeEnum::Value Ifc4x3_rc1::IfcDamperType::PredefinedType() const { return ::Ifc4x3_rc1::IfcDamperTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcDamperType::setPredefinedType(::Ifc4x3_rc1::IfcDamperTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcDamperTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcDamperType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[291]); } const IfcParse::entity& Ifc4x3_rc1::IfcDamperType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[291]); } Ifc4x3_rc1::IfcDamperType::IfcDamperType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_rc1::IfcDamperType::IfcDamperType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDamperTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcDamperType::IfcDamperType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDamperTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDeepFoundation @@ -9980,7 +9980,7 @@ Ifc4x3_rc1::IfcDamperType::IfcDamperType(std::string v1_GlobalId, ::Ifc4x3_rc1:: const IfcParse::entity& Ifc4x3_rc1::IfcDeepFoundation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[298]); } const IfcParse::entity& Ifc4x3_rc1::IfcDeepFoundation::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[298]); } Ifc4x3_rc1::IfcDeepFoundation::IfcDeepFoundation(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc1::IfcDeepFoundation::IfcDeepFoundation(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuiltElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc1::IfcDeepFoundation::IfcDeepFoundation(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDeepFoundationType @@ -9988,185 +9988,185 @@ Ifc4x3_rc1::IfcDeepFoundation::IfcDeepFoundation(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3_rc1::IfcDeepFoundationType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[299]); } const IfcParse::entity& Ifc4x3_rc1::IfcDeepFoundationType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[299]); } Ifc4x3_rc1::IfcDeepFoundationType::IfcDeepFoundationType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc1::IfcDeepFoundationType::IfcDeepFoundationType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc1::IfcDeepFoundationType::IfcDeepFoundationType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDerivedProfileDef -::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcProfileDef>(true); } +::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcProfileDef>(true); } void Ifc4x3_rc1::IfcDerivedProfileDef::setParentProfile(::Ifc4x3_rc1::IfcProfileDef* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcCartesianTransformationOperator2D* Ifc4x3_rc1::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcCartesianTransformationOperator2D>(true); } +::Ifc4x3_rc1::IfcCartesianTransformationOperator2D* Ifc4x3_rc1::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcCartesianTransformationOperator2D>(true); } void Ifc4x3_rc1::IfcDerivedProfileDef::setOperator(::Ifc4x3_rc1::IfcCartesianTransformationOperator2D* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc1::IfcDerivedProfileDef::Label() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcDerivedProfileDef::Label() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc1::IfcDerivedProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[302]); } const IfcParse::entity& Ifc4x3_rc1::IfcDerivedProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[302]); } Ifc4x3_rc1::IfcDerivedProfileDef::IfcDerivedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_rc1::IfcDerivedProfileDef::IfcDerivedProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcProfileDef* v3_ParentProfile, ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< std::string > v5_Label) : IfcProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Operator ? v4_Operator->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } +Ifc4x3_rc1::IfcDerivedProfileDef::IfcDerivedProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcProfileDef* v3_ParentProfile, ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< std::string > v5_Label) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Operator ? v4_Operator->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } // Function implementations for IfcDerivedUnit -aggregate_of< ::Ifc4x3_rc1::IfcDerivedUnitElement >::ptr Ifc4x3_rc1::IfcDerivedUnit::Elements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcDerivedUnitElement >(); } +aggregate_of< ::Ifc4x3_rc1::IfcDerivedUnitElement >::ptr Ifc4x3_rc1::IfcDerivedUnit::Elements() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcDerivedUnitElement >(); } void Ifc4x3_rc1::IfcDerivedUnit::setElements(aggregate_of< ::Ifc4x3_rc1::IfcDerivedUnitElement >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcDerivedUnitEnum::Value Ifc4x3_rc1::IfcDerivedUnit::UnitType() const { return ::Ifc4x3_rc1::IfcDerivedUnitEnum::FromString(data_.get_attribute_value(1)); } +::Ifc4x3_rc1::IfcDerivedUnitEnum::Value Ifc4x3_rc1::IfcDerivedUnit::UnitType() const { return ::Ifc4x3_rc1::IfcDerivedUnitEnum::FromString(get_attribute_value(1)); } void Ifc4x3_rc1::IfcDerivedUnit::setUnitType(::Ifc4x3_rc1::IfcDerivedUnitEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x3_rc1::IfcDerivedUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_rc1::IfcDerivedUnit::UserDefinedType() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcDerivedUnit::UserDefinedType() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcDerivedUnit::setUserDefinedType(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc1::IfcDerivedUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[303]); } const IfcParse::entity& Ifc4x3_rc1::IfcDerivedUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[303]); } Ifc4x3_rc1::IfcDerivedUnit::IfcDerivedUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcDerivedUnit::IfcDerivedUnit(aggregate_of< ::Ifc4x3_rc1::IfcDerivedUnitElement >::ptr v1_Elements, ::Ifc4x3_rc1::IfcDerivedUnitEnum::Value v2_UnitType, boost::optional< std::string > v3_UserDefinedType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Elements)->generalize());set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc1::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); }; populate_derived(); } +Ifc4x3_rc1::IfcDerivedUnit::IfcDerivedUnit(aggregate_of< ::Ifc4x3_rc1::IfcDerivedUnitElement >::ptr v1_Elements, ::Ifc4x3_rc1::IfcDerivedUnitEnum::Value v2_UnitType, boost::optional< std::string > v3_UserDefinedType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Elements)->generalize());set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc1::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); }; populate_derived(); } // Function implementations for IfcDerivedUnitElement -::Ifc4x3_rc1::IfcNamedUnit* Ifc4x3_rc1::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcNamedUnit>(true); } +::Ifc4x3_rc1::IfcNamedUnit* Ifc4x3_rc1::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcNamedUnit>(true); } void Ifc4x3_rc1::IfcDerivedUnitElement::setUnit(::Ifc4x3_rc1::IfcNamedUnit* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -int Ifc4x3_rc1::IfcDerivedUnitElement::Exponent() const { int v = data_.get_attribute_value(1); return v; } +int Ifc4x3_rc1::IfcDerivedUnitElement::Exponent() const { int v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcDerivedUnitElement::setExponent(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcDerivedUnitElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[304]); } const IfcParse::entity& Ifc4x3_rc1::IfcDerivedUnitElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[304]); } Ifc4x3_rc1::IfcDerivedUnitElement::IfcDerivedUnitElement(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcDerivedUnitElement::IfcDerivedUnitElement(::Ifc4x3_rc1::IfcNamedUnit* v1_Unit, int v2_Exponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Unit ? v1_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Exponent));; populate_derived(); } +Ifc4x3_rc1::IfcDerivedUnitElement::IfcDerivedUnitElement(::Ifc4x3_rc1::IfcNamedUnit* v1_Unit, int v2_Exponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Unit ? v1_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Exponent));; populate_derived(); } // Function implementations for IfcDimensionalExponents -int Ifc4x3_rc1::IfcDimensionalExponents::LengthExponent() const { int v = data_.get_attribute_value(0); return v; } +int Ifc4x3_rc1::IfcDimensionalExponents::LengthExponent() const { int v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcDimensionalExponents::setLengthExponent(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -int Ifc4x3_rc1::IfcDimensionalExponents::MassExponent() const { int v = data_.get_attribute_value(1); return v; } +int Ifc4x3_rc1::IfcDimensionalExponents::MassExponent() const { int v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcDimensionalExponents::setMassExponent(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -int Ifc4x3_rc1::IfcDimensionalExponents::TimeExponent() const { int v = data_.get_attribute_value(2); return v; } +int Ifc4x3_rc1::IfcDimensionalExponents::TimeExponent() const { int v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcDimensionalExponents::setTimeExponent(int v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -int Ifc4x3_rc1::IfcDimensionalExponents::ElectricCurrentExponent() const { int v = data_.get_attribute_value(3); return v; } +int Ifc4x3_rc1::IfcDimensionalExponents::ElectricCurrentExponent() const { int v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcDimensionalExponents::setElectricCurrentExponent(int v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -int Ifc4x3_rc1::IfcDimensionalExponents::ThermodynamicTemperatureExponent() const { int v = data_.get_attribute_value(4); return v; } +int Ifc4x3_rc1::IfcDimensionalExponents::ThermodynamicTemperatureExponent() const { int v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcDimensionalExponents::setThermodynamicTemperatureExponent(int v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -int Ifc4x3_rc1::IfcDimensionalExponents::AmountOfSubstanceExponent() const { int v = data_.get_attribute_value(5); return v; } +int Ifc4x3_rc1::IfcDimensionalExponents::AmountOfSubstanceExponent() const { int v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcDimensionalExponents::setAmountOfSubstanceExponent(int v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -int Ifc4x3_rc1::IfcDimensionalExponents::LuminousIntensityExponent() const { int v = data_.get_attribute_value(6); return v; } +int Ifc4x3_rc1::IfcDimensionalExponents::LuminousIntensityExponent() const { int v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcDimensionalExponents::setLuminousIntensityExponent(int v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc1::IfcDimensionalExponents::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[307]); } const IfcParse::entity& Ifc4x3_rc1::IfcDimensionalExponents::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[307]); } Ifc4x3_rc1::IfcDimensionalExponents::IfcDimensionalExponents(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::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(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; populate_derived(); } +Ifc4x3_rc1::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(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; populate_derived(); } // Function implementations for IfcDirection -std::vector< double > /*[2:3]*/ Ifc4x3_rc1::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[2:3]*/ Ifc4x3_rc1::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcDirection::setDirectionRatios(std::vector< double > /*[2:3]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc1::IfcDirection::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[309]); } const IfcParse::entity& Ifc4x3_rc1::IfcDirection::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[309]); } Ifc4x3_rc1::IfcDirection::IfcDirection(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionRatios) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_DirectionRatios));; populate_derived(); } +Ifc4x3_rc1::IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionRatios) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_DirectionRatios));; populate_derived(); } // Function implementations for IfcDirectrixCurveSweptAreaSolid -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcCurve>(true); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::setDirectrix(::Ifc4x3_rc1::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::StartParam() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::setStartParam(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::EndParam() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::setEndParam(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[311]); } const IfcParse::entity& Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[311]); } Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid(::Ifc4x3_rc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc1::IfcCurve* v3_Directrix, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; populate_derived(); } +Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid(::Ifc4x3_rc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc1::IfcCurve* v3_Directrix, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; populate_derived(); } // Function implementations for IfcDirectrixDistanceSweptAreaSolid -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcCurve>(true); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::setDirectrix(::Ifc4x3_rc1::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcDistanceExpression* Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::StartDistance() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcDistanceExpression>(true); } +::Ifc4x3_rc1::IfcDistanceExpression* Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::StartDistance() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcDistanceExpression>(true); } void Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::setStartDistance(::Ifc4x3_rc1::IfcDistanceExpression* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc1::IfcDistanceExpression* Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::EndDistance() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcDistanceExpression>(true); } +::Ifc4x3_rc1::IfcDistanceExpression* Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::EndDistance() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcDistanceExpression>(true); } void Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::setEndDistance(::Ifc4x3_rc1::IfcDistanceExpression* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[312]); } const IfcParse::entity& Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[312]); } Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::IfcDirectrixDistanceSweptAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::IfcDirectrixDistanceSweptAreaSolid(::Ifc4x3_rc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc1::IfcCurve* v3_Directrix, ::Ifc4x3_rc1::IfcDistanceExpression* v4_StartDistance, ::Ifc4x3_rc1::IfcDistanceExpression* v5_EndDistance) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartDistance ? v4_StartDistance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndDistance ? v5_EndDistance->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid::IfcDirectrixDistanceSweptAreaSolid(::Ifc4x3_rc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc1::IfcCurve* v3_Directrix, ::Ifc4x3_rc1::IfcDistanceExpression* v4_StartDistance, ::Ifc4x3_rc1::IfcDistanceExpression* v5_EndDistance) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartDistance ? v4_StartDistance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndDistance ? v5_EndDistance->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDiscreteAccessory -boost::optional< ::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x3_rc1::IfcDiscreteAccessory::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x3_rc1::IfcDiscreteAccessory::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcDiscreteAccessory::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcDiscreteAccessory::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[313]); } const IfcParse::entity& Ifc4x3_rc1::IfcDiscreteAccessory::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[313]); } Ifc4x3_rc1::IfcDiscreteAccessory::IfcDiscreteAccessory(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_rc1::IfcDiscreteAccessory::IfcDiscreteAccessory(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcDiscreteAccessory::IfcDiscreteAccessory(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDiscreteAccessoryType -::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3_rc1::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3_rc1::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcDiscreteAccessoryType::setPredefinedType(::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcDiscreteAccessoryType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[314]); } const IfcParse::entity& Ifc4x3_rc1::IfcDiscreteAccessoryType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[314]); } Ifc4x3_rc1::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_rc1::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDistanceExpression -double Ifc4x3_rc1::IfcDistanceExpression::DistanceAlong() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_rc1::IfcDistanceExpression::DistanceAlong() const { double v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcDistanceExpression::setDistanceAlong(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< double > Ifc4x3_rc1::IfcDistanceExpression::OffsetLateral() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc1::IfcDistanceExpression::OffsetLateral() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcDistanceExpression::setOffsetLateral(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc1::IfcDistanceExpression::OffsetVertical() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc1::IfcDistanceExpression::OffsetVertical() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcDistanceExpression::setOffsetVertical(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc1::IfcDistanceExpression::OffsetLongitudinal() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc1::IfcDistanceExpression::OffsetLongitudinal() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcDistanceExpression::setOffsetLongitudinal(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< bool > Ifc4x3_rc1::IfcDistanceExpression::AlongHorizontal() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } bool v = data_.get_attribute_value(4); return v; } +boost::optional< bool > Ifc4x3_rc1::IfcDistanceExpression::AlongHorizontal() const { if(get_attribute_value(4).isNull()) { return boost::none; } bool v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcDistanceExpression::setAlongHorizontal(boost::optional< bool > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc1::IfcDistanceExpression::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[316]); } const IfcParse::entity& Ifc4x3_rc1::IfcDistanceExpression::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[316]); } Ifc4x3_rc1::IfcDistanceExpression::IfcDistanceExpression(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcDistanceExpression::IfcDistanceExpression(double v1_DistanceAlong, boost::optional< double > v2_OffsetLateral, boost::optional< double > v3_OffsetVertical, boost::optional< double > v4_OffsetLongitudinal, boost::optional< bool > v5_AlongHorizontal) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_DistanceAlong)); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); } if (v5_AlongHorizontal) {set_attribute_value(4, (*v5_AlongHorizontal)); }; populate_derived(); } +Ifc4x3_rc1::IfcDistanceExpression::IfcDistanceExpression(double v1_DistanceAlong, boost::optional< double > v2_OffsetLateral, boost::optional< double > v3_OffsetVertical, boost::optional< double > v4_OffsetLongitudinal, boost::optional< bool > v5_AlongHorizontal) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_DistanceAlong)); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); } if (v5_AlongHorizontal) {set_attribute_value(4, (*v5_AlongHorizontal)); }; populate_derived(); } // Function implementations for IfcDistributionBoard -boost::optional< ::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value > Ifc4x3_rc1::IfcDistributionBoard::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value > Ifc4x3_rc1::IfcDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcDistributionBoard::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[317]); } const IfcParse::entity& Ifc4x3_rc1::IfcDistributionBoard::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[317]); } Ifc4x3_rc1::IfcDistributionBoard::IfcDistributionBoard(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_rc1::IfcDistributionBoard::IfcDistributionBoard(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcDistributionBoard::IfcDistributionBoard(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDistributionBoardType -::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value Ifc4x3_rc1::IfcDistributionBoardType::PredefinedType() const { return ::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value Ifc4x3_rc1::IfcDistributionBoardType::PredefinedType() const { return ::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcDistributionBoardType::setPredefinedType(::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcDistributionBoardType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[318]); } const IfcParse::entity& Ifc4x3_rc1::IfcDistributionBoardType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[318]); } Ifc4x3_rc1::IfcDistributionBoardType::IfcDistributionBoardType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_rc1::IfcDistributionBoardType::IfcDistributionBoardType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcDistributionBoardType::IfcDistributionBoardType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDistributionChamberElement -boost::optional< ::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value > Ifc4x3_rc1::IfcDistributionChamberElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value > Ifc4x3_rc1::IfcDistributionChamberElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcDistributionChamberElement::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcDistributionChamberElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[320]); } const IfcParse::entity& Ifc4x3_rc1::IfcDistributionChamberElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[320]); } Ifc4x3_rc1::IfcDistributionChamberElement::IfcDistributionChamberElement(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_rc1::IfcDistributionChamberElement::IfcDistributionChamberElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcDistributionChamberElement::IfcDistributionChamberElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDistributionChamberElementType -::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value Ifc4x3_rc1::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value Ifc4x3_rc1::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcDistributionChamberElementType::setPredefinedType(::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcDistributionChamberElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[321]); } const IfcParse::entity& Ifc4x3_rc1::IfcDistributionChamberElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[321]); } Ifc4x3_rc1::IfcDistributionChamberElementType::IfcDistributionChamberElementType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_rc1::IfcDistributionChamberElementType::IfcDistributionChamberElementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcDistributionChamberElementType::IfcDistributionChamberElementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDistributionCircuit @@ -10174,7 +10174,7 @@ Ifc4x3_rc1::IfcDistributionChamberElementType::IfcDistributionChamberElementType const IfcParse::entity& Ifc4x3_rc1::IfcDistributionCircuit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[323]); } const IfcParse::entity& Ifc4x3_rc1::IfcDistributionCircuit::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[323]); } Ifc4x3_rc1::IfcDistributionCircuit::IfcDistributionCircuit(IfcEntityInstanceData&& e) : IfcDistributionSystem(std::move(e)) { } -Ifc4x3_rc1::IfcDistributionCircuit::IfcDistributionCircuit(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< ::Ifc4x3_rc1::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcDistributionSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc1::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcDistributionCircuit::IfcDistributionCircuit(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< ::Ifc4x3_rc1::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcDistributionSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc1::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDistributionControlElement @@ -10183,7 +10183,7 @@ Ifc4x3_rc1::IfcDistributionCircuit::IfcDistributionCircuit(std::string v1_Global const IfcParse::entity& Ifc4x3_rc1::IfcDistributionControlElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[324]); } const IfcParse::entity& Ifc4x3_rc1::IfcDistributionControlElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[324]); } Ifc4x3_rc1::IfcDistributionControlElement::IfcDistributionControlElement(IfcEntityInstanceData&& e) : IfcDistributionElement(std::move(e)) { } -Ifc4x3_rc1::IfcDistributionControlElement::IfcDistributionControlElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc1::IfcDistributionControlElement::IfcDistributionControlElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionControlElementType @@ -10191,7 +10191,7 @@ Ifc4x3_rc1::IfcDistributionControlElement::IfcDistributionControlElement(std::st const IfcParse::entity& Ifc4x3_rc1::IfcDistributionControlElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[325]); } const IfcParse::entity& Ifc4x3_rc1::IfcDistributionControlElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[325]); } Ifc4x3_rc1::IfcDistributionControlElementType::IfcDistributionControlElementType(IfcEntityInstanceData&& e) : IfcDistributionElementType(std::move(e)) { } -Ifc4x3_rc1::IfcDistributionControlElementType::IfcDistributionControlElementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc1::IfcDistributionControlElementType::IfcDistributionControlElementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionElement @@ -10200,7 +10200,7 @@ Ifc4x3_rc1::IfcDistributionControlElementType::IfcDistributionControlElementType const IfcParse::entity& Ifc4x3_rc1::IfcDistributionElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[326]); } const IfcParse::entity& Ifc4x3_rc1::IfcDistributionElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[326]); } Ifc4x3_rc1::IfcDistributionElement::IfcDistributionElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc1::IfcDistributionElement::IfcDistributionElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc1::IfcDistributionElement::IfcDistributionElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionElementType @@ -10208,7 +10208,7 @@ Ifc4x3_rc1::IfcDistributionElement::IfcDistributionElement(std::string v1_Global const IfcParse::entity& Ifc4x3_rc1::IfcDistributionElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[327]); } const IfcParse::entity& Ifc4x3_rc1::IfcDistributionElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[327]); } Ifc4x3_rc1::IfcDistributionElementType::IfcDistributionElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_rc1::IfcDistributionElementType::IfcDistributionElementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc1::IfcDistributionElementType::IfcDistributionElementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionFlowElement @@ -10217,7 +10217,7 @@ Ifc4x3_rc1::IfcDistributionElementType::IfcDistributionElementType(std::string v const IfcParse::entity& Ifc4x3_rc1::IfcDistributionFlowElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[328]); } const IfcParse::entity& Ifc4x3_rc1::IfcDistributionFlowElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[328]); } Ifc4x3_rc1::IfcDistributionFlowElement::IfcDistributionFlowElement(IfcEntityInstanceData&& e) : IfcDistributionElement(std::move(e)) { } -Ifc4x3_rc1::IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc1::IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionFlowElementType @@ -10225,68 +10225,68 @@ Ifc4x3_rc1::IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v const IfcParse::entity& Ifc4x3_rc1::IfcDistributionFlowElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[329]); } const IfcParse::entity& Ifc4x3_rc1::IfcDistributionFlowElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[329]); } Ifc4x3_rc1::IfcDistributionFlowElementType::IfcDistributionFlowElementType(IfcEntityInstanceData&& e) : IfcDistributionElementType(std::move(e)) { } -Ifc4x3_rc1::IfcDistributionFlowElementType::IfcDistributionFlowElementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc1::IfcDistributionFlowElementType::IfcDistributionFlowElementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionPort -boost::optional< ::Ifc4x3_rc1::IfcFlowDirectionEnum::Value > Ifc4x3_rc1::IfcDistributionPort::FlowDirection() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcFlowDirectionEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_rc1::IfcFlowDirectionEnum::Value > Ifc4x3_rc1::IfcDistributionPort::FlowDirection() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcFlowDirectionEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc1::IfcDistributionPort::setFlowDirection(boost::optional< ::Ifc4x3_rc1::IfcFlowDirectionEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc1::IfcFlowDirectionEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3_rc1::IfcDistributionPortTypeEnum::Value > Ifc4x3_rc1::IfcDistributionPort::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDistributionPortTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcDistributionPortTypeEnum::Value > Ifc4x3_rc1::IfcDistributionPort::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDistributionPortTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcDistributionPort::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDistributionPortTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcDistributionPortTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< ::Ifc4x3_rc1::IfcDistributionSystemEnum::Value > Ifc4x3_rc1::IfcDistributionPort::SystemType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDistributionSystemEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc1::IfcDistributionSystemEnum::Value > Ifc4x3_rc1::IfcDistributionPort::SystemType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDistributionSystemEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcDistributionPort::setSystemType(boost::optional< ::Ifc4x3_rc1::IfcDistributionSystemEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcDistributionSystemEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc1::IfcDistributionPort::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[330]); } const IfcParse::entity& Ifc4x3_rc1::IfcDistributionPort::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[330]); } Ifc4x3_rc1::IfcDistributionPort::IfcDistributionPort(IfcEntityInstanceData&& e) : IfcPort(std::move(e)) { } -Ifc4x3_rc1::IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_rc1::IfcFlowDirectionEnum::Value > v8_FlowDirection, boost::optional< ::Ifc4x3_rc1::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x3_rc1::IfcDistributionSystemEnum::Value > v10_SystemType) : IfcPort(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_FlowDirection) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); }; populate_derived(); } +Ifc4x3_rc1::IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_rc1::IfcFlowDirectionEnum::Value > v8_FlowDirection, boost::optional< ::Ifc4x3_rc1::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x3_rc1::IfcDistributionSystemEnum::Value > v10_SystemType) : IfcPort(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_FlowDirection) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); }; populate_derived(); } // Function implementations for IfcDistributionSystem -boost::optional< std::string > Ifc4x3_rc1::IfcDistributionSystem::LongName() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcDistributionSystem::LongName() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcDistributionSystem::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< ::Ifc4x3_rc1::IfcDistributionSystemEnum::Value > Ifc4x3_rc1::IfcDistributionSystem::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDistributionSystemEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_rc1::IfcDistributionSystemEnum::Value > Ifc4x3_rc1::IfcDistributionSystem::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDistributionSystemEnum::FromString(get_attribute_value(6)); } void Ifc4x3_rc1::IfcDistributionSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDistributionSystemEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_rc1::IfcDistributionSystemEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc1::IfcDistributionSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[332]); } const IfcParse::entity& Ifc4x3_rc1::IfcDistributionSystem::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[332]); } Ifc4x3_rc1::IfcDistributionSystem::IfcDistributionSystem(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3_rc1::IfcDistributionSystem::IfcDistributionSystem(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< ::Ifc4x3_rc1::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc1::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcDistributionSystem::IfcDistributionSystem(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< ::Ifc4x3_rc1::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc1::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDocumentInformation -std::string Ifc4x3_rc1::IfcDocumentInformation::Identification() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc1::IfcDocumentInformation::Identification() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcDocumentInformation::setIdentification(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x3_rc1::IfcDocumentInformation::Name() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_rc1::IfcDocumentInformation::Name() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcDocumentInformation::setName(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcDocumentInformation::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::Location() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::Location() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcDocumentInformation::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::Purpose() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::Purpose() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcDocumentInformation::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::IntendedUse() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::IntendedUse() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcDocumentInformation::setIntendedUse(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::Scope() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::Scope() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcDocumentInformation::setScope(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::Revision() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::Revision() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcDocumentInformation::DocumentOwner() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc1::IfcActorSelect>(true); } +::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcDocumentInformation::DocumentOwner() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc1::IfcActorSelect>(true); } void Ifc4x3_rc1::IfcDocumentInformation::setDocumentOwner(::Ifc4x3_rc1::IfcActorSelect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorSelect >::ptr > Ifc4x3_rc1::IfcDocumentInformation::Editors() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3_rc1::IfcActorSelect >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorSelect >::ptr > Ifc4x3_rc1::IfcDocumentInformation::Editors() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3_rc1::IfcActorSelect >(); } void Ifc4x3_rc1::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorSelect >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::CreationTime() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::CreationTime() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::LastRevisionTime() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::LastRevisionTime() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x3_rc1::IfcDocumentInformation::setLastRevisionTime(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::ElectronicFormat() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::ElectronicFormat() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc1::IfcDocumentInformation::setElectronicFormat(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::ValidFrom() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(13); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::ValidFrom() const { if(get_attribute_value(13).isNull()) { return boost::none; } std::string v = get_attribute_value(13); return v; } void Ifc4x3_rc1::IfcDocumentInformation::setValidFrom(boost::optional< std::string > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::ValidUntil() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformation::ValidUntil() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x3_rc1::IfcDocumentInformation::setValidUntil(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< ::Ifc4x3_rc1::IfcDocumentConfidentialityEnum::Value > Ifc4x3_rc1::IfcDocumentInformation::Confidentiality() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDocumentConfidentialityEnum::FromString(data_.get_attribute_value(15)); } +boost::optional< ::Ifc4x3_rc1::IfcDocumentConfidentialityEnum::Value > Ifc4x3_rc1::IfcDocumentInformation::Confidentiality() const { if(get_attribute_value(15).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDocumentConfidentialityEnum::FromString(get_attribute_value(15)); } void Ifc4x3_rc1::IfcDocumentInformation::setConfidentiality(boost::optional< ::Ifc4x3_rc1::IfcDocumentConfidentialityEnum::Value > v) { if (v) {set_attribute_value(15, EnumerationReference(&::Ifc4x3_rc1::IfcDocumentConfidentialityEnum::Class(), (size_t) *v));} else {unset_attribute_value(15);} } -boost::optional< ::Ifc4x3_rc1::IfcDocumentStatusEnum::Value > Ifc4x3_rc1::IfcDocumentInformation::Status() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDocumentStatusEnum::FromString(data_.get_attribute_value(16)); } +boost::optional< ::Ifc4x3_rc1::IfcDocumentStatusEnum::Value > Ifc4x3_rc1::IfcDocumentInformation::Status() const { if(get_attribute_value(16).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDocumentStatusEnum::FromString(get_attribute_value(16)); } void Ifc4x3_rc1::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3_rc1::IfcDocumentStatusEnum::Value > v) { if (v) {set_attribute_value(16, EnumerationReference(&::Ifc4x3_rc1::IfcDocumentStatusEnum::Class(), (size_t) *v));} else {unset_attribute_value(16);} } ::Ifc4x3_rc1::IfcRelAssociatesDocument::list::ptr Ifc4x3_rc1::IfcDocumentInformation::DocumentInfoForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[923], 5)->as(); } @@ -10297,26 +10297,26 @@ void Ifc4x3_rc1::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3_rc1 const IfcParse::entity& Ifc4x3_rc1::IfcDocumentInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[335]); } const IfcParse::entity& Ifc4x3_rc1::IfcDocumentInformation::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[335]); } Ifc4x3_rc1::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData&& e) : IfcExternalInformation(std::move(e)) { } -Ifc4x3_rc1::IfcDocumentInformation::IfcDocumentInformation(std::string v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_Location, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, ::Ifc4x3_rc1::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorSelect >::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< ::Ifc4x3_rc1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc1::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation(IfcEntityInstanceData(storage_t(17))) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, v9_DocumentOwner ? v9_DocumentOwner->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v10_Editors) {set_attribute_value(9, (*v10_Editors)->generalize()); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (EnumerationReference(&::Ifc4x3_rc1::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (EnumerationReference(&::Ifc4x3_rc1::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; populate_derived(); } +Ifc4x3_rc1::IfcDocumentInformation::IfcDocumentInformation(std::string v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_Location, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, ::Ifc4x3_rc1::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorSelect >::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< ::Ifc4x3_rc1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc1::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation(IfcEntityInstanceData(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, v9_DocumentOwner ? v9_DocumentOwner->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v10_Editors) {set_attribute_value(9, (*v10_Editors)->generalize()); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (EnumerationReference(&::Ifc4x3_rc1::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (EnumerationReference(&::Ifc4x3_rc1::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; populate_derived(); } // Function implementations for IfcDocumentInformationRelationship -::Ifc4x3_rc1::IfcDocumentInformation* Ifc4x3_rc1::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcDocumentInformation>(true); } +::Ifc4x3_rc1::IfcDocumentInformation* Ifc4x3_rc1::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcDocumentInformation>(true); } void Ifc4x3_rc1::IfcDocumentInformationRelationship::setRelatingDocument(::Ifc4x3_rc1::IfcDocumentInformation* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_rc1::IfcDocumentInformation >::ptr Ifc4x3_rc1::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc1::IfcDocumentInformation >(); } +aggregate_of< ::Ifc4x3_rc1::IfcDocumentInformation >::ptr Ifc4x3_rc1::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc1::IfcDocumentInformation >(); } void Ifc4x3_rc1::IfcDocumentInformationRelationship::setRelatedDocuments(aggregate_of< ::Ifc4x3_rc1::IfcDocumentInformation >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformationRelationship::RelationshipType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcDocumentInformationRelationship::RelationshipType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcDocumentInformationRelationship::setRelationshipType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc1::IfcDocumentInformationRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[336]); } const IfcParse::entity& Ifc4x3_rc1::IfcDocumentInformationRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[336]); } Ifc4x3_rc1::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_rc1::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcDocumentInformation* v3_RelatingDocument, aggregate_of< ::Ifc4x3_rc1::IfcDocumentInformation >::ptr v4_RelatedDocuments, boost::optional< std::string > v5_RelationshipType) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingDocument ? v3_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedDocuments)->generalize()); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); }; populate_derived(); } +Ifc4x3_rc1::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcDocumentInformation* v3_RelatingDocument, aggregate_of< ::Ifc4x3_rc1::IfcDocumentInformation >::ptr v4_RelatedDocuments, boost::optional< std::string > v5_RelationshipType) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingDocument ? v3_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedDocuments)->generalize()); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); }; populate_derived(); } // Function implementations for IfcDocumentReference -boost::optional< std::string > Ifc4x3_rc1::IfcDocumentReference::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcDocumentReference::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcDocumentReference::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc1::IfcDocumentInformation* Ifc4x3_rc1::IfcDocumentReference::ReferencedDocument() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcDocumentInformation>(true); } +::Ifc4x3_rc1::IfcDocumentInformation* Ifc4x3_rc1::IfcDocumentReference::ReferencedDocument() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcDocumentInformation>(true); } void Ifc4x3_rc1::IfcDocumentReference::setReferencedDocument(::Ifc4x3_rc1::IfcDocumentInformation* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } ::Ifc4x3_rc1::IfcRelAssociatesDocument::list::ptr Ifc4x3_rc1::IfcDocumentReference::DocumentRefForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[923], 5)->as(); } @@ -10324,77 +10324,77 @@ void Ifc4x3_rc1::IfcDocumentReference::setReferencedDocument(::Ifc4x3_rc1::IfcDo const IfcParse::entity& Ifc4x3_rc1::IfcDocumentReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[337]); } const IfcParse::entity& Ifc4x3_rc1::IfcDocumentReference::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[337]); } Ifc4x3_rc1::IfcDocumentReference::IfcDocumentReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_rc1::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_rc1::IfcDocumentInformation* v5_ReferencedDocument) : IfcExternalReference(IfcEntityInstanceData(storage_t(5))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ReferencedDocument ? v5_ReferencedDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::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_rc1::IfcDocumentInformation* v5_ReferencedDocument) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ReferencedDocument ? v5_ReferencedDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDoor -boost::optional< double > Ifc4x3_rc1::IfcDoor::OverallHeight() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc1::IfcDoor::OverallHeight() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcDoor::setOverallHeight(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_rc1::IfcDoor::OverallWidth() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc1::IfcDoor::OverallWidth() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc1::IfcDoor::setOverallWidth(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x3_rc1::IfcDoorTypeEnum::Value > Ifc4x3_rc1::IfcDoor::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDoorTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc1::IfcDoorTypeEnum::Value > Ifc4x3_rc1::IfcDoor::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDoorTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc1::IfcDoor::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDoorTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc1::IfcDoorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -boost::optional< ::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Value > Ifc4x3_rc1::IfcDoor::OperationType() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDoorTypeOperationEnum::FromString(data_.get_attribute_value(11)); } +boost::optional< ::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Value > Ifc4x3_rc1::IfcDoor::OperationType() const { if(get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDoorTypeOperationEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc1::IfcDoor::setOperationType(boost::optional< ::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Value > v) { if (v) {set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Class(), (size_t) *v));} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_rc1::IfcDoor::UserDefinedOperationType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcDoor::UserDefinedOperationType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc1::IfcDoor::setUserDefinedOperationType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_rc1::IfcDoor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[340]); } const IfcParse::entity& Ifc4x3_rc1::IfcDoor::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[340]); } Ifc4x3_rc1::IfcDoor::IfcDoor(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc1::IfcDoor::IfcDoor(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_rc1::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } +Ifc4x3_rc1::IfcDoor::IfcDoor(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_rc1::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } // Function implementations for IfcDoorLiningProperties -boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::LiningDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcDoorLiningProperties::setLiningDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::LiningThickness() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::LiningThickness() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcDoorLiningProperties::setLiningThickness(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::ThresholdDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::ThresholdDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcDoorLiningProperties::setThresholdDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::ThresholdThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::ThresholdThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcDoorLiningProperties::setThresholdThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::TransomThickness() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::TransomThickness() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcDoorLiningProperties::setTransomThickness(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::TransomOffset() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::TransomOffset() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc1::IfcDoorLiningProperties::setTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::LiningOffset() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::LiningOffset() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcDoorLiningProperties::setLiningOffset(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::ThresholdOffset() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::ThresholdOffset() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc1::IfcDoorLiningProperties::setThresholdOffset(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::CasingThickness() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::CasingThickness() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_rc1::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::CasingDepth() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::CasingDepth() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_rc1::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -::Ifc4x3_rc1::IfcShapeAspect* Ifc4x3_rc1::IfcDoorLiningProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(14).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(14)))->as<::Ifc4x3_rc1::IfcShapeAspect>(true); } +::Ifc4x3_rc1::IfcShapeAspect* Ifc4x3_rc1::IfcDoorLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(14).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(14)))->as<::Ifc4x3_rc1::IfcShapeAspect>(true); } void Ifc4x3_rc1::IfcDoorLiningProperties::setShapeAspectStyle(::Ifc4x3_rc1::IfcShapeAspect* v) { set_attribute_value(14, v->as());if constexpr (false)unset_attribute_value(14); } -boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3_rc1::IfcDoorLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::LiningToPanelOffsetY() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3_rc1::IfcDoorLiningProperties::LiningToPanelOffsetY() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3_rc1::IfcDoorLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } const IfcParse::entity& Ifc4x3_rc1::IfcDoorLiningProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[341]); } const IfcParse::entity& Ifc4x3_rc1::IfcDoorLiningProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[341]); } Ifc4x3_rc1::IfcDoorLiningProperties::IfcDoorLiningProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_rc1::IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_GlobalId, ::Ifc4x3_rc1::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_rc1::IfcShapeAspect* v15_ShapeAspectStyle, boost::optional< double > v16_LiningToPanelOffsetX, boost::optional< double > v17_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, v15_ShapeAspectStyle ? v15_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); }; populate_derived(); } +Ifc4x3_rc1::IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_GlobalId, ::Ifc4x3_rc1::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_rc1::IfcShapeAspect* v15_ShapeAspectStyle, boost::optional< double > v16_LiningToPanelOffsetX, boost::optional< double > v17_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, v15_ShapeAspectStyle ? v15_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); }; populate_derived(); } // Function implementations for IfcDoorPanelProperties -boost::optional< double > Ifc4x3_rc1::IfcDoorPanelProperties::PanelDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc1::IfcDoorPanelProperties::PanelDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcDoorPanelProperties::setPanelDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc1::IfcDoorPanelOperationEnum::Value Ifc4x3_rc1::IfcDoorPanelProperties::PanelOperation() const { return ::Ifc4x3_rc1::IfcDoorPanelOperationEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_rc1::IfcDoorPanelOperationEnum::Value Ifc4x3_rc1::IfcDoorPanelProperties::PanelOperation() const { return ::Ifc4x3_rc1::IfcDoorPanelOperationEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc1::IfcDoorPanelProperties::setPanelOperation(::Ifc4x3_rc1::IfcDoorPanelOperationEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc1::IfcDoorPanelOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_rc1::IfcDoorPanelProperties::PanelWidth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc1::IfcDoorPanelProperties::PanelWidth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_rc1::IfcDoorPanelPositionEnum::Value Ifc4x3_rc1::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x3_rc1::IfcDoorPanelPositionEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc1::IfcDoorPanelPositionEnum::Value Ifc4x3_rc1::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x3_rc1::IfcDoorPanelPositionEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc1::IfcDoorPanelProperties::setPanelPosition(::Ifc4x3_rc1::IfcDoorPanelPositionEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc1::IfcDoorPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc1::IfcShapeAspect* Ifc4x3_rc1::IfcDoorPanelProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc1::IfcShapeAspect>(true); } +::Ifc4x3_rc1::IfcShapeAspect* Ifc4x3_rc1::IfcDoorPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc1::IfcShapeAspect>(true); } void Ifc4x3_rc1::IfcDoorPanelProperties::setShapeAspectStyle(::Ifc4x3_rc1::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc1::IfcDoorPanelProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[344]); } const IfcParse::entity& Ifc4x3_rc1::IfcDoorPanelProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[344]); } Ifc4x3_rc1::IfcDoorPanelProperties::IfcDoorPanelProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_rc1::IfcDoorPanelProperties::IfcDoorPanelProperties(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_PanelDepth, ::Ifc4x3_rc1::IfcDoorPanelOperationEnum::Value v6_PanelOperation, boost::optional< double > v7_PanelWidth, ::Ifc4x3_rc1::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_rc1::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcDoorPanelProperties::IfcDoorPanelProperties(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_PanelDepth, ::Ifc4x3_rc1::IfcDoorPanelOperationEnum::Value v6_PanelOperation, boost::optional< double > v7_PanelWidth, ::Ifc4x3_rc1::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_rc1::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDoorStandardCase @@ -10402,39 +10402,39 @@ Ifc4x3_rc1::IfcDoorPanelProperties::IfcDoorPanelProperties(std::string v1_Global const IfcParse::entity& Ifc4x3_rc1::IfcDoorStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[345]); } const IfcParse::entity& Ifc4x3_rc1::IfcDoorStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[345]); } Ifc4x3_rc1::IfcDoorStandardCase::IfcDoorStandardCase(IfcEntityInstanceData&& e) : IfcDoor(std::move(e)) { } -Ifc4x3_rc1::IfcDoorStandardCase::IfcDoorStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_rc1::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcDoor(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } +Ifc4x3_rc1::IfcDoorStandardCase::IfcDoorStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_rc1::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcDoor(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } // Function implementations for IfcDoorStyle -::Ifc4x3_rc1::IfcDoorStyleOperationEnum::Value Ifc4x3_rc1::IfcDoorStyle::OperationType() const { return ::Ifc4x3_rc1::IfcDoorStyleOperationEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc1::IfcDoorStyleOperationEnum::Value Ifc4x3_rc1::IfcDoorStyle::OperationType() const { return ::Ifc4x3_rc1::IfcDoorStyleOperationEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcDoorStyle::setOperationType(::Ifc4x3_rc1::IfcDoorStyleOperationEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcDoorStyleOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc1::IfcDoorStyleConstructionEnum::Value Ifc4x3_rc1::IfcDoorStyle::ConstructionType() const { return ::Ifc4x3_rc1::IfcDoorStyleConstructionEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcDoorStyleConstructionEnum::Value Ifc4x3_rc1::IfcDoorStyle::ConstructionType() const { return ::Ifc4x3_rc1::IfcDoorStyleConstructionEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcDoorStyle::setConstructionType(::Ifc4x3_rc1::IfcDoorStyleConstructionEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcDoorStyleConstructionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -bool Ifc4x3_rc1::IfcDoorStyle::ParameterTakesPrecedence() const { bool v = data_.get_attribute_value(10); return v; } +bool Ifc4x3_rc1::IfcDoorStyle::ParameterTakesPrecedence() const { bool v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcDoorStyle::setParameterTakesPrecedence(bool v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -bool Ifc4x3_rc1::IfcDoorStyle::Sizeable() const { bool v = data_.get_attribute_value(11); return v; } +bool Ifc4x3_rc1::IfcDoorStyle::Sizeable() const { bool v = get_attribute_value(11); return v; } void Ifc4x3_rc1::IfcDoorStyle::setSizeable(bool v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc1::IfcDoorStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[346]); } const IfcParse::entity& Ifc4x3_rc1::IfcDoorStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[346]); } Ifc4x3_rc1::IfcDoorStyle::IfcDoorStyle(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(e)) { } -Ifc4x3_rc1::IfcDoorStyle::IfcDoorStyle(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc1::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x3_rc1::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcDoorStyleOperationEnum::Class(),(size_t)v9_OperationType)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcDoorStyleConstructionEnum::Class(),(size_t)v10_ConstructionType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; populate_derived(); } +Ifc4x3_rc1::IfcDoorStyle::IfcDoorStyle(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc1::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x3_rc1::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcDoorStyleOperationEnum::Class(),(size_t)v9_OperationType)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcDoorStyleConstructionEnum::Class(),(size_t)v10_ConstructionType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; populate_derived(); } // Function implementations for IfcDoorType -::Ifc4x3_rc1::IfcDoorTypeEnum::Value Ifc4x3_rc1::IfcDoorType::PredefinedType() const { return ::Ifc4x3_rc1::IfcDoorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcDoorTypeEnum::Value Ifc4x3_rc1::IfcDoorType::PredefinedType() const { return ::Ifc4x3_rc1::IfcDoorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcDoorType::setPredefinedType(::Ifc4x3_rc1::IfcDoorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcDoorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Value Ifc4x3_rc1::IfcDoorType::OperationType() const { return ::Ifc4x3_rc1::IfcDoorTypeOperationEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Value Ifc4x3_rc1::IfcDoorType::OperationType() const { return ::Ifc4x3_rc1::IfcDoorTypeOperationEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc1::IfcDoorType::setOperationType(::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } -boost::optional< bool > Ifc4x3_rc1::IfcDoorType::ParameterTakesPrecedence() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } bool v = data_.get_attribute_value(11); return v; } +boost::optional< bool > Ifc4x3_rc1::IfcDoorType::ParameterTakesPrecedence() const { if(get_attribute_value(11).isNull()) { return boost::none; } bool v = get_attribute_value(11); return v; } void Ifc4x3_rc1::IfcDoorType::setParameterTakesPrecedence(boost::optional< bool > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_rc1::IfcDoorType::UserDefinedOperationType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcDoorType::UserDefinedOperationType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc1::IfcDoorType::setUserDefinedOperationType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_rc1::IfcDoorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[349]); } const IfcParse::entity& Ifc4x3_rc1::IfcDoorType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[349]); } Ifc4x3_rc1::IfcDoorType::IfcDoorType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc1::IfcDoorType::IfcDoorType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Value v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } +Ifc4x3_rc1::IfcDoorType::IfcDoorType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Value v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } // Function implementations for IfcDraughtingPreDefinedColour @@ -10442,7 +10442,7 @@ Ifc4x3_rc1::IfcDoorType::IfcDoorType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcO const IfcParse::entity& Ifc4x3_rc1::IfcDraughtingPreDefinedColour::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[353]); } const IfcParse::entity& Ifc4x3_rc1::IfcDraughtingPreDefinedColour::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[353]); } Ifc4x3_rc1::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(IfcEntityInstanceData&& e) : IfcPreDefinedColour(std::move(e)) { } -Ifc4x3_rc1::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::string v1_Name) : IfcPreDefinedColour(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_rc1::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::string v1_Name) : IfcPreDefinedColour(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcDraughtingPreDefinedCurveFont @@ -10450,77 +10450,77 @@ Ifc4x3_rc1::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::st const IfcParse::entity& Ifc4x3_rc1::IfcDraughtingPreDefinedCurveFont::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[354]); } const IfcParse::entity& Ifc4x3_rc1::IfcDraughtingPreDefinedCurveFont::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[354]); } Ifc4x3_rc1::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(IfcEntityInstanceData&& e) : IfcPreDefinedCurveFont(std::move(e)) { } -Ifc4x3_rc1::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedCurveFont(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_rc1::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedCurveFont(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcDuctFitting -boost::optional< ::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value > Ifc4x3_rc1::IfcDuctFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDuctFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value > Ifc4x3_rc1::IfcDuctFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDuctFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcDuctFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcDuctFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[355]); } const IfcParse::entity& Ifc4x3_rc1::IfcDuctFitting::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[355]); } Ifc4x3_rc1::IfcDuctFitting::IfcDuctFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x3_rc1::IfcDuctFitting::IfcDuctFitting(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcDuctFitting::IfcDuctFitting(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDuctFittingType -::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value Ifc4x3_rc1::IfcDuctFittingType::PredefinedType() const { return ::Ifc4x3_rc1::IfcDuctFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value Ifc4x3_rc1::IfcDuctFittingType::PredefinedType() const { return ::Ifc4x3_rc1::IfcDuctFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcDuctFittingType::setPredefinedType(::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcDuctFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[356]); } const IfcParse::entity& Ifc4x3_rc1::IfcDuctFittingType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[356]); } Ifc4x3_rc1::IfcDuctFittingType::IfcDuctFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x3_rc1::IfcDuctFittingType::IfcDuctFittingType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcDuctFittingType::IfcDuctFittingType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDuctSegment -boost::optional< ::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value > Ifc4x3_rc1::IfcDuctSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value > Ifc4x3_rc1::IfcDuctSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcDuctSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcDuctSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[358]); } const IfcParse::entity& Ifc4x3_rc1::IfcDuctSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[358]); } Ifc4x3_rc1::IfcDuctSegment::IfcDuctSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x3_rc1::IfcDuctSegment::IfcDuctSegment(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcDuctSegment::IfcDuctSegment(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDuctSegmentType -::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value Ifc4x3_rc1::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value Ifc4x3_rc1::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcDuctSegmentType::setPredefinedType(::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcDuctSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[359]); } const IfcParse::entity& Ifc4x3_rc1::IfcDuctSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[359]); } Ifc4x3_rc1::IfcDuctSegmentType::IfcDuctSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x3_rc1::IfcDuctSegmentType::IfcDuctSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcDuctSegmentType::IfcDuctSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDuctSilencer -boost::optional< ::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value > Ifc4x3_rc1::IfcDuctSilencer::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value > Ifc4x3_rc1::IfcDuctSilencer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcDuctSilencer::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcDuctSilencer::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[361]); } const IfcParse::entity& Ifc4x3_rc1::IfcDuctSilencer::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[361]); } Ifc4x3_rc1::IfcDuctSilencer::IfcDuctSilencer(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4x3_rc1::IfcDuctSilencer::IfcDuctSilencer(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcDuctSilencer::IfcDuctSilencer(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDuctSilencerType -::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value Ifc4x3_rc1::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value Ifc4x3_rc1::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcDuctSilencerType::setPredefinedType(::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcDuctSilencerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[362]); } const IfcParse::entity& Ifc4x3_rc1::IfcDuctSilencerType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[362]); } Ifc4x3_rc1::IfcDuctSilencerType::IfcDuctSilencerType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4x3_rc1::IfcDuctSilencerType::IfcDuctSilencerType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcDuctSilencerType::IfcDuctSilencerType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEarthworksCut -boost::optional< ::Ifc4x3_rc1::IfcEarthworksCutTypeEnum::Value > Ifc4x3_rc1::IfcEarthworksCut::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcEarthworksCutTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcEarthworksCutTypeEnum::Value > Ifc4x3_rc1::IfcEarthworksCut::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcEarthworksCutTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcEarthworksCut::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcEarthworksCutTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcEarthworksCutTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcEarthworksCut::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[366]); } const IfcParse::entity& Ifc4x3_rc1::IfcEarthworksCut::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[366]); } Ifc4x3_rc1::IfcEarthworksCut::IfcEarthworksCut(IfcEntityInstanceData&& e) : IfcFeatureElementSubtraction(std::move(e)) { } -Ifc4x3_rc1::IfcEarthworksCut::IfcEarthworksCut(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcEarthworksCutTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcEarthworksCut::IfcEarthworksCut(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcEarthworksCutTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEarthworksElement @@ -10528,194 +10528,194 @@ Ifc4x3_rc1::IfcEarthworksCut::IfcEarthworksCut(std::string v1_GlobalId, ::Ifc4x3 const IfcParse::entity& Ifc4x3_rc1::IfcEarthworksElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[368]); } const IfcParse::entity& Ifc4x3_rc1::IfcEarthworksElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[368]); } Ifc4x3_rc1::IfcEarthworksElement::IfcEarthworksElement(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc1::IfcEarthworksElement::IfcEarthworksElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuiltElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc1::IfcEarthworksElement::IfcEarthworksElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcEarthworksFill -boost::optional< ::Ifc4x3_rc1::IfcEarthworksFillTypeEnum::Value > Ifc4x3_rc1::IfcEarthworksFill::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcEarthworksFillTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcEarthworksFillTypeEnum::Value > Ifc4x3_rc1::IfcEarthworksFill::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcEarthworksFillTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcEarthworksFill::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcEarthworksFillTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcEarthworksFillTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcEarthworksFill::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[369]); } const IfcParse::entity& Ifc4x3_rc1::IfcEarthworksFill::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[369]); } Ifc4x3_rc1::IfcEarthworksFill::IfcEarthworksFill(IfcEntityInstanceData&& e) : IfcEarthworksElement(std::move(e)) { } -Ifc4x3_rc1::IfcEarthworksFill::IfcEarthworksFill(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType) : IfcEarthworksElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcEarthworksFillTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcEarthworksFill::IfcEarthworksFill(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType) : IfcEarthworksElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcEarthworksFillTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEdge -::Ifc4x3_rc1::IfcVertex* Ifc4x3_rc1::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcVertex>(true); } +::Ifc4x3_rc1::IfcVertex* Ifc4x3_rc1::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcVertex>(true); } void Ifc4x3_rc1::IfcEdge::setEdgeStart(::Ifc4x3_rc1::IfcVertex* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcVertex* Ifc4x3_rc1::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcVertex>(true); } +::Ifc4x3_rc1::IfcVertex* Ifc4x3_rc1::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcVertex>(true); } void Ifc4x3_rc1::IfcEdge::setEdgeEnd(::Ifc4x3_rc1::IfcVertex* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcEdge::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[371]); } const IfcParse::entity& Ifc4x3_rc1::IfcEdge::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[371]); } Ifc4x3_rc1::IfcEdge::IfcEdge(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcEdge::IfcEdge(::Ifc4x3_rc1::IfcVertex* v1_EdgeStart, ::Ifc4x3_rc1::IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcEdge::IfcEdge(::Ifc4x3_rc1::IfcVertex* v1_EdgeStart, ::Ifc4x3_rc1::IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcEdgeCurve -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcCurve>(true); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcEdgeCurve::setEdgeGeometry(::Ifc4x3_rc1::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x3_rc1::IfcEdgeCurve::SameSense() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x3_rc1::IfcEdgeCurve::SameSense() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcEdgeCurve::setSameSense(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcEdgeCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[372]); } const IfcParse::entity& Ifc4x3_rc1::IfcEdgeCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[372]); } Ifc4x3_rc1::IfcEdgeCurve::IfcEdgeCurve(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc4x3_rc1::IfcEdgeCurve::IfcEdgeCurve(::Ifc4x3_rc1::IfcVertex* v1_EdgeStart, ::Ifc4x3_rc1::IfcVertex* v2_EdgeEnd, ::Ifc4x3_rc1::IfcCurve* v3_EdgeGeometry, bool v4_SameSense) : IfcEdge(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EdgeGeometry ? v3_EdgeGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SameSense));; populate_derived(); } +Ifc4x3_rc1::IfcEdgeCurve::IfcEdgeCurve(::Ifc4x3_rc1::IfcVertex* v1_EdgeStart, ::Ifc4x3_rc1::IfcVertex* v2_EdgeEnd, ::Ifc4x3_rc1::IfcCurve* v3_EdgeGeometry, bool v4_SameSense) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EdgeGeometry ? v3_EdgeGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SameSense));; populate_derived(); } // Function implementations for IfcEdgeLoop -aggregate_of< ::Ifc4x3_rc1::IfcOrientedEdge >::ptr Ifc4x3_rc1::IfcEdgeLoop::EdgeList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcOrientedEdge >(); } +aggregate_of< ::Ifc4x3_rc1::IfcOrientedEdge >::ptr Ifc4x3_rc1::IfcEdgeLoop::EdgeList() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcOrientedEdge >(); } void Ifc4x3_rc1::IfcEdgeLoop::setEdgeList(aggregate_of< ::Ifc4x3_rc1::IfcOrientedEdge >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc1::IfcEdgeLoop::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[373]); } const IfcParse::entity& Ifc4x3_rc1::IfcEdgeLoop::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[373]); } Ifc4x3_rc1::IfcEdgeLoop::IfcEdgeLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc4x3_rc1::IfcEdgeLoop::IfcEdgeLoop(aggregate_of< ::Ifc4x3_rc1::IfcOrientedEdge >::ptr v1_EdgeList) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcEdgeLoop::IfcEdgeLoop(aggregate_of< ::Ifc4x3_rc1::IfcOrientedEdge >::ptr v1_EdgeList) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } // Function implementations for IfcElectricAppliance -boost::optional< ::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value > Ifc4x3_rc1::IfcElectricAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value > Ifc4x3_rc1::IfcElectricAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcElectricAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcElectricAppliance::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[374]); } const IfcParse::entity& Ifc4x3_rc1::IfcElectricAppliance::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[374]); } Ifc4x3_rc1::IfcElectricAppliance::IfcElectricAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc1::IfcElectricAppliance::IfcElectricAppliance(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcElectricAppliance::IfcElectricAppliance(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricApplianceType -::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value Ifc4x3_rc1::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value Ifc4x3_rc1::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcElectricApplianceType::setPredefinedType(::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcElectricApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[375]); } const IfcParse::entity& Ifc4x3_rc1::IfcElectricApplianceType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[375]); } Ifc4x3_rc1::IfcElectricApplianceType::IfcElectricApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc1::IfcElectricApplianceType::IfcElectricApplianceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcElectricApplianceType::IfcElectricApplianceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricDistributionBoard -boost::optional< ::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x3_rc1::IfcElectricDistributionBoard::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x3_rc1::IfcElectricDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcElectricDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcElectricDistributionBoard::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[381]); } const IfcParse::entity& Ifc4x3_rc1::IfcElectricDistributionBoard::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[381]); } Ifc4x3_rc1::IfcElectricDistributionBoard::IfcElectricDistributionBoard(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_rc1::IfcElectricDistributionBoard::IfcElectricDistributionBoard(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcElectricDistributionBoard::IfcElectricDistributionBoard(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricDistributionBoardType -::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3_rc1::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3_rc1::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcElectricDistributionBoardType::setPredefinedType(::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcElectricDistributionBoardType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[382]); } const IfcParse::entity& Ifc4x3_rc1::IfcElectricDistributionBoardType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[382]); } Ifc4x3_rc1::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_rc1::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricFlowStorageDevice -boost::optional< ::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x3_rc1::IfcElectricFlowStorageDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x3_rc1::IfcElectricFlowStorageDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcElectricFlowStorageDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcElectricFlowStorageDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[384]); } const IfcParse::entity& Ifc4x3_rc1::IfcElectricFlowStorageDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[384]); } Ifc4x3_rc1::IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(IfcEntityInstanceData&& e) : IfcFlowStorageDevice(std::move(e)) { } -Ifc4x3_rc1::IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricFlowStorageDeviceType -::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3_rc1::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3_rc1::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcElectricFlowStorageDeviceType::setPredefinedType(::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcElectricFlowStorageDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[385]); } const IfcParse::entity& Ifc4x3_rc1::IfcElectricFlowStorageDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[385]); } Ifc4x3_rc1::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(IfcEntityInstanceData&& e) : IfcFlowStorageDeviceType(std::move(e)) { } -Ifc4x3_rc1::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricFlowTreatmentDevice -boost::optional< ::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > Ifc4x3_rc1::IfcElectricFlowTreatmentDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > Ifc4x3_rc1::IfcElectricFlowTreatmentDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcElectricFlowTreatmentDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcElectricFlowTreatmentDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[387]); } const IfcParse::entity& Ifc4x3_rc1::IfcElectricFlowTreatmentDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[387]); } Ifc4x3_rc1::IfcElectricFlowTreatmentDevice::IfcElectricFlowTreatmentDevice(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4x3_rc1::IfcElectricFlowTreatmentDevice::IfcElectricFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcElectricFlowTreatmentDevice::IfcElectricFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricFlowTreatmentDeviceType -::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceType::setPredefinedType(::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[388]); } const IfcParse::entity& Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[388]); } Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceType::IfcElectricFlowTreatmentDeviceType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceType::IfcElectricFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceType::IfcElectricFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricGenerator -boost::optional< ::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value > Ifc4x3_rc1::IfcElectricGenerator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value > Ifc4x3_rc1::IfcElectricGenerator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcElectricGenerator::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcElectricGenerator::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[390]); } const IfcParse::entity& Ifc4x3_rc1::IfcElectricGenerator::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[390]); } Ifc4x3_rc1::IfcElectricGenerator::IfcElectricGenerator(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc1::IfcElectricGenerator::IfcElectricGenerator(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcElectricGenerator::IfcElectricGenerator(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricGeneratorType -::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value Ifc4x3_rc1::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value Ifc4x3_rc1::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcElectricGeneratorType::setPredefinedType(::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcElectricGeneratorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[391]); } const IfcParse::entity& Ifc4x3_rc1::IfcElectricGeneratorType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[391]); } Ifc4x3_rc1::IfcElectricGeneratorType::IfcElectricGeneratorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc1::IfcElectricGeneratorType::IfcElectricGeneratorType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcElectricGeneratorType::IfcElectricGeneratorType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricMotor -boost::optional< ::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value > Ifc4x3_rc1::IfcElectricMotor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcElectricMotorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value > Ifc4x3_rc1::IfcElectricMotor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcElectricMotorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcElectricMotor::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcElectricMotor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[393]); } const IfcParse::entity& Ifc4x3_rc1::IfcElectricMotor::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[393]); } Ifc4x3_rc1::IfcElectricMotor::IfcElectricMotor(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc1::IfcElectricMotor::IfcElectricMotor(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcElectricMotor::IfcElectricMotor(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricMotorType -::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value Ifc4x3_rc1::IfcElectricMotorType::PredefinedType() const { return ::Ifc4x3_rc1::IfcElectricMotorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value Ifc4x3_rc1::IfcElectricMotorType::PredefinedType() const { return ::Ifc4x3_rc1::IfcElectricMotorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcElectricMotorType::setPredefinedType(::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcElectricMotorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[394]); } const IfcParse::entity& Ifc4x3_rc1::IfcElectricMotorType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[394]); } Ifc4x3_rc1::IfcElectricMotorType::IfcElectricMotorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc1::IfcElectricMotorType::IfcElectricMotorType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcElectricMotorType::IfcElectricMotorType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricTimeControl -boost::optional< ::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value > Ifc4x3_rc1::IfcElectricTimeControl::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value > Ifc4x3_rc1::IfcElectricTimeControl::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcElectricTimeControl::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcElectricTimeControl::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[397]); } const IfcParse::entity& Ifc4x3_rc1::IfcElectricTimeControl::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[397]); } Ifc4x3_rc1::IfcElectricTimeControl::IfcElectricTimeControl(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_rc1::IfcElectricTimeControl::IfcElectricTimeControl(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcElectricTimeControl::IfcElectricTimeControl(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricTimeControlType -::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value Ifc4x3_rc1::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value Ifc4x3_rc1::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcElectricTimeControlType::setPredefinedType(::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcElectricTimeControlType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[398]); } const IfcParse::entity& Ifc4x3_rc1::IfcElectricTimeControlType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[398]); } Ifc4x3_rc1::IfcElectricTimeControlType::IfcElectricTimeControlType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_rc1::IfcElectricTimeControlType::IfcElectricTimeControlType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcElectricTimeControlType::IfcElectricTimeControlType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElement -boost::optional< std::string > Ifc4x3_rc1::IfcElement::Tag() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcElement::Tag() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcElement::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } ::Ifc4x3_rc1::IfcRelFillsElement::list::ptr Ifc4x3_rc1::IfcElement::FillsVoids() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[947], 5)->as(); } @@ -10733,29 +10733,29 @@ void Ifc4x3_rc1::IfcElement::setTag(boost::optional< std::string > v) { if (v) { const IfcParse::entity& Ifc4x3_rc1::IfcElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[401]); } const IfcParse::entity& Ifc4x3_rc1::IfcElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[401]); } Ifc4x3_rc1::IfcElement::IfcElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_rc1::IfcElement::IfcElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcProduct(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc1::IfcElement::IfcElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcElementAssembly -boost::optional< ::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Value > Ifc4x3_rc1::IfcElementAssembly::AssemblyPlace() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcAssemblyPlaceEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Value > Ifc4x3_rc1::IfcElementAssembly::AssemblyPlace() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcAssemblyPlaceEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcElementAssembly::setAssemblyPlace(boost::optional< ::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< ::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Value > Ifc4x3_rc1::IfcElementAssembly::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Value > Ifc4x3_rc1::IfcElementAssembly::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcElementAssembly::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc1::IfcElementAssembly::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[403]); } const IfcParse::entity& Ifc4x3_rc1::IfcElementAssembly::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[403]); } Ifc4x3_rc1::IfcElementAssembly::IfcElementAssembly(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc1::IfcElementAssembly::IfcElementAssembly(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, boost::optional< ::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) : IfcElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcElementAssembly::IfcElementAssembly(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, boost::optional< ::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElementAssemblyType -::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Value Ifc4x3_rc1::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Value Ifc4x3_rc1::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcElementAssemblyType::setPredefinedType(::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcElementAssemblyType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[404]); } const IfcParse::entity& Ifc4x3_rc1::IfcElementAssemblyType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[404]); } Ifc4x3_rc1::IfcElementAssemblyType::IfcElementAssemblyType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_rc1::IfcElementAssemblyType::IfcElementAssemblyType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcElementAssemblyType::IfcElementAssemblyType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElementComponent @@ -10763,7 +10763,7 @@ Ifc4x3_rc1::IfcElementAssemblyType::IfcElementAssemblyType(std::string v1_Global const IfcParse::entity& Ifc4x3_rc1::IfcElementComponent::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[406]); } const IfcParse::entity& Ifc4x3_rc1::IfcElementComponent::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[406]); } Ifc4x3_rc1::IfcElementComponent::IfcElementComponent(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc1::IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc1::IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcElementComponentType @@ -10771,63 +10771,63 @@ Ifc4x3_rc1::IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x3_rc1::IfcElementComponentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[407]); } const IfcParse::entity& Ifc4x3_rc1::IfcElementComponentType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[407]); } Ifc4x3_rc1::IfcElementComponentType::IfcElementComponentType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_rc1::IfcElementComponentType::IfcElementComponentType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc1::IfcElementComponentType::IfcElementComponentType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcElementQuantity -boost::optional< std::string > Ifc4x3_rc1::IfcElementQuantity::MethodOfMeasurement() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcElementQuantity::MethodOfMeasurement() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcElementQuantity::setMethodOfMeasurement(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -aggregate_of< ::Ifc4x3_rc1::IfcPhysicalQuantity >::ptr Ifc4x3_rc1::IfcElementQuantity::Quantities() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc1::IfcPhysicalQuantity >(); } +aggregate_of< ::Ifc4x3_rc1::IfcPhysicalQuantity >::ptr Ifc4x3_rc1::IfcElementQuantity::Quantities() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc1::IfcPhysicalQuantity >(); } void Ifc4x3_rc1::IfcElementQuantity::setQuantities(aggregate_of< ::Ifc4x3_rc1::IfcPhysicalQuantity >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcElementQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[409]); } const IfcParse::entity& Ifc4x3_rc1::IfcElementQuantity::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[409]); } Ifc4x3_rc1::IfcElementQuantity::IfcElementQuantity(IfcEntityInstanceData&& e) : IfcQuantitySet(std::move(e)) { } -Ifc4x3_rc1::IfcElementQuantity::IfcElementQuantity(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_MethodOfMeasurement, aggregate_of< ::Ifc4x3_rc1::IfcPhysicalQuantity >::ptr v6_Quantities) : IfcQuantitySet(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, (v6_Quantities)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcElementQuantity::IfcElementQuantity(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_MethodOfMeasurement, aggregate_of< ::Ifc4x3_rc1::IfcPhysicalQuantity >::ptr v6_Quantities) : IfcQuantitySet(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, (v6_Quantities)->generalize());; populate_derived(); } // Function implementations for IfcElementType -boost::optional< std::string > Ifc4x3_rc1::IfcElementType::ElementType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcElementType::setElementType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[410]); } const IfcParse::entity& Ifc4x3_rc1::IfcElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[410]); } Ifc4x3_rc1::IfcElementType::IfcElementType(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(e)) { } -Ifc4x3_rc1::IfcElementType::IfcElementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc1::IfcElementType::IfcElementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcElementarySurface -::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(true); } void Ifc4x3_rc1::IfcElementarySurface::setPosition(::Ifc4x3_rc1::IfcAxis2Placement3D* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc1::IfcElementarySurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[402]); } const IfcParse::entity& Ifc4x3_rc1::IfcElementarySurface::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[402]); } Ifc4x3_rc1::IfcElementarySurface::IfcElementarySurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x3_rc1::IfcElementarySurface::IfcElementarySurface(::Ifc4x3_rc1::IfcAxis2Placement3D* v1_Position) : IfcSurface(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcElementarySurface::IfcElementarySurface(::Ifc4x3_rc1::IfcAxis2Placement3D* v1_Position) : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcEllipse -double Ifc4x3_rc1::IfcEllipse::SemiAxis1() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc1::IfcEllipse::SemiAxis1() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcEllipse::setSemiAxis1(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc1::IfcEllipse::SemiAxis2() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc1::IfcEllipse::SemiAxis2() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcEllipse::setSemiAxis2(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc1::IfcEllipse::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[411]); } const IfcParse::entity& Ifc4x3_rc1::IfcEllipse::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[411]); } Ifc4x3_rc1::IfcEllipse::IfcEllipse(IfcEntityInstanceData&& e) : IfcConic(std::move(e)) { } -Ifc4x3_rc1::IfcEllipse::IfcEllipse(::Ifc4x3_rc1::IfcAxis2Placement* v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) : IfcConic(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; populate_derived(); } +Ifc4x3_rc1::IfcEllipse::IfcEllipse(::Ifc4x3_rc1::IfcAxis2Placement* v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) : IfcConic(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; populate_derived(); } // Function implementations for IfcEllipseProfileDef -double Ifc4x3_rc1::IfcEllipseProfileDef::SemiAxis1() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc1::IfcEllipseProfileDef::SemiAxis1() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcEllipseProfileDef::setSemiAxis1(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc1::IfcEllipseProfileDef::SemiAxis2() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc1::IfcEllipseProfileDef::SemiAxis2() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcEllipseProfileDef::setSemiAxis2(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc1::IfcEllipseProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[412]); } const IfcParse::entity& Ifc4x3_rc1::IfcEllipseProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[412]); } Ifc4x3_rc1::IfcEllipseProfileDef::IfcEllipseProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_rc1::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D* v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; populate_derived(); } +Ifc4x3_rc1::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D* v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; populate_derived(); } // Function implementations for IfcEnergyConversionDevice @@ -10835,7 +10835,7 @@ Ifc4x3_rc1::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc4x3_rc1::IfcProfileT const IfcParse::entity& Ifc4x3_rc1::IfcEnergyConversionDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[413]); } const IfcParse::entity& Ifc4x3_rc1::IfcEnergyConversionDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[413]); } Ifc4x3_rc1::IfcEnergyConversionDevice::IfcEnergyConversionDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_rc1::IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc1::IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcEnergyConversionDeviceType @@ -10843,127 +10843,127 @@ Ifc4x3_rc1::IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_ const IfcParse::entity& Ifc4x3_rc1::IfcEnergyConversionDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[414]); } const IfcParse::entity& Ifc4x3_rc1::IfcEnergyConversionDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[414]); } Ifc4x3_rc1::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_rc1::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc1::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcEngine -boost::optional< ::Ifc4x3_rc1::IfcEngineTypeEnum::Value > Ifc4x3_rc1::IfcEngine::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcEngineTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcEngineTypeEnum::Value > Ifc4x3_rc1::IfcEngine::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcEngineTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcEngine::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcEngineTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcEngineTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcEngine::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[416]); } const IfcParse::entity& Ifc4x3_rc1::IfcEngine::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[416]); } Ifc4x3_rc1::IfcEngine::IfcEngine(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc1::IfcEngine::IfcEngine(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcEngineTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcEngine::IfcEngine(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcEngineTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEngineType -::Ifc4x3_rc1::IfcEngineTypeEnum::Value Ifc4x3_rc1::IfcEngineType::PredefinedType() const { return ::Ifc4x3_rc1::IfcEngineTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcEngineTypeEnum::Value Ifc4x3_rc1::IfcEngineType::PredefinedType() const { return ::Ifc4x3_rc1::IfcEngineTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcEngineType::setPredefinedType(::Ifc4x3_rc1::IfcEngineTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcEngineTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcEngineType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[417]); } const IfcParse::entity& Ifc4x3_rc1::IfcEngineType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[417]); } Ifc4x3_rc1::IfcEngineType::IfcEngineType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc1::IfcEngineType::IfcEngineType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcEngineTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcEngineType::IfcEngineType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcEngineTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEvaporativeCooler -boost::optional< ::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x3_rc1::IfcEvaporativeCooler::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x3_rc1::IfcEvaporativeCooler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcEvaporativeCooler::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcEvaporativeCooler::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[419]); } const IfcParse::entity& Ifc4x3_rc1::IfcEvaporativeCooler::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[419]); } Ifc4x3_rc1::IfcEvaporativeCooler::IfcEvaporativeCooler(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc1::IfcEvaporativeCooler::IfcEvaporativeCooler(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcEvaporativeCooler::IfcEvaporativeCooler(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEvaporativeCoolerType -::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3_rc1::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3_rc1::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcEvaporativeCoolerType::setPredefinedType(::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcEvaporativeCoolerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[420]); } const IfcParse::entity& Ifc4x3_rc1::IfcEvaporativeCoolerType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[420]); } Ifc4x3_rc1::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc1::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEvaporator -boost::optional< ::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value > Ifc4x3_rc1::IfcEvaporator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcEvaporatorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value > Ifc4x3_rc1::IfcEvaporator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcEvaporatorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcEvaporator::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcEvaporator::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[422]); } const IfcParse::entity& Ifc4x3_rc1::IfcEvaporator::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[422]); } Ifc4x3_rc1::IfcEvaporator::IfcEvaporator(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc1::IfcEvaporator::IfcEvaporator(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcEvaporator::IfcEvaporator(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEvaporatorType -::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value Ifc4x3_rc1::IfcEvaporatorType::PredefinedType() const { return ::Ifc4x3_rc1::IfcEvaporatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value Ifc4x3_rc1::IfcEvaporatorType::PredefinedType() const { return ::Ifc4x3_rc1::IfcEvaporatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcEvaporatorType::setPredefinedType(::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcEvaporatorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[423]); } const IfcParse::entity& Ifc4x3_rc1::IfcEvaporatorType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[423]); } Ifc4x3_rc1::IfcEvaporatorType::IfcEvaporatorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc1::IfcEvaporatorType::IfcEvaporatorType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcEvaporatorType::IfcEvaporatorType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEvent -boost::optional< ::Ifc4x3_rc1::IfcEventTypeEnum::Value > Ifc4x3_rc1::IfcEvent::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcEventTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_rc1::IfcEventTypeEnum::Value > Ifc4x3_rc1::IfcEvent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcEventTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc1::IfcEvent::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcEventTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc1::IfcEventTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Value > Ifc4x3_rc1::IfcEvent::EventTriggerType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcEventTriggerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Value > Ifc4x3_rc1::IfcEvent::EventTriggerType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcEventTriggerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcEvent::setEventTriggerType(boost::optional< ::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_rc1::IfcEvent::UserDefinedEventTriggerType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcEvent::UserDefinedEventTriggerType() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc1::IfcEvent::setUserDefinedEventTriggerType(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -::Ifc4x3_rc1::IfcEventTime* Ifc4x3_rc1::IfcEvent::EventOccurenceTime() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_rc1::IfcEventTime>(true); } +::Ifc4x3_rc1::IfcEventTime* Ifc4x3_rc1::IfcEvent::EventOccurenceTime() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_rc1::IfcEventTime>(true); } void Ifc4x3_rc1::IfcEvent::setEventOccurenceTime(::Ifc4x3_rc1::IfcEventTime* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_rc1::IfcEvent::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[425]); } const IfcParse::entity& Ifc4x3_rc1::IfcEvent::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[425]); } Ifc4x3_rc1::IfcEvent::IfcEvent(IfcEntityInstanceData&& e) : IfcProcess(std::move(e)) { } -Ifc4x3_rc1::IfcEvent::IfcEvent(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< ::Ifc4x3_rc1::IfcEventTypeEnum::Value > v8_PredefinedType, boost::optional< ::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, boost::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_rc1::IfcEventTime* v11_EventOccurenceTime) : IfcProcess(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, v11_EventOccurenceTime ? v11_EventOccurenceTime->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcEvent::IfcEvent(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< ::Ifc4x3_rc1::IfcEventTypeEnum::Value > v8_PredefinedType, boost::optional< ::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, boost::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_rc1::IfcEventTime* v11_EventOccurenceTime) : IfcProcess(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, v11_EventOccurenceTime ? v11_EventOccurenceTime->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcEventTime -boost::optional< std::string > Ifc4x3_rc1::IfcEventTime::ActualDate() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcEventTime::ActualDate() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcEventTime::setActualDate(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc1::IfcEventTime::EarlyDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcEventTime::EarlyDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcEventTime::setEarlyDate(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc1::IfcEventTime::LateDate() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcEventTime::LateDate() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcEventTime::setLateDate(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc1::IfcEventTime::ScheduleDate() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcEventTime::ScheduleDate() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcEventTime::setScheduleDate(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc1::IfcEventTime::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[426]); } const IfcParse::entity& Ifc4x3_rc1::IfcEventTime::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[426]); } Ifc4x3_rc1::IfcEventTime::IfcEventTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x3_rc1::IfcEventTime::IfcEventTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< std::string > v4_ActualDate, boost::optional< std::string > v5_EarlyDate, boost::optional< std::string > v6_LateDate, boost::optional< std::string > v7_ScheduleDate) : IfcSchedulingTime(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); }; populate_derived(); } +Ifc4x3_rc1::IfcEventTime::IfcEventTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< std::string > v4_ActualDate, boost::optional< std::string > v5_EarlyDate, boost::optional< std::string > v6_LateDate, boost::optional< std::string > v7_ScheduleDate) : IfcSchedulingTime(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); }; populate_derived(); } // Function implementations for IfcEventType -::Ifc4x3_rc1::IfcEventTypeEnum::Value Ifc4x3_rc1::IfcEventType::PredefinedType() const { return ::Ifc4x3_rc1::IfcEventTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcEventTypeEnum::Value Ifc4x3_rc1::IfcEventType::PredefinedType() const { return ::Ifc4x3_rc1::IfcEventTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcEventType::setPredefinedType(::Ifc4x3_rc1::IfcEventTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcEventTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Value Ifc4x3_rc1::IfcEventType::EventTriggerType() const { return ::Ifc4x3_rc1::IfcEventTriggerTypeEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Value Ifc4x3_rc1::IfcEventType::EventTriggerType() const { return ::Ifc4x3_rc1::IfcEventTriggerTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc1::IfcEventType::setEventTriggerType(::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } -boost::optional< std::string > Ifc4x3_rc1::IfcEventType::UserDefinedEventTriggerType() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcEventType::UserDefinedEventTriggerType() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x3_rc1::IfcEventType::setUserDefinedEventTriggerType(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x3_rc1::IfcEventType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[428]); } const IfcParse::entity& Ifc4x3_rc1::IfcEventType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[428]); } Ifc4x3_rc1::IfcEventType::IfcEventType(IfcEntityInstanceData&& e) : IfcTypeProcess(std::move(e)) { } -Ifc4x3_rc1::IfcEventType::IfcEventType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_rc1::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, boost::optional< std::string > v12_UserDefinedEventTriggerType) : IfcTypeProcess(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); }; populate_derived(); } +Ifc4x3_rc1::IfcEventType::IfcEventType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_rc1::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, boost::optional< std::string > v12_UserDefinedEventTriggerType) : IfcTypeProcess(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); }; populate_derived(); } // Function implementations for IfcExtendedProperties -boost::optional< std::string > Ifc4x3_rc1::IfcExtendedProperties::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcExtendedProperties::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcExtendedProperties::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc1::IfcExtendedProperties::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcExtendedProperties::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcExtendedProperties::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3_rc1::IfcProperty >::ptr Ifc4x3_rc1::IfcExtendedProperties::Properties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcProperty >(); } +aggregate_of< ::Ifc4x3_rc1::IfcProperty >::ptr Ifc4x3_rc1::IfcExtendedProperties::Properties() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcProperty >(); } void Ifc4x3_rc1::IfcExtendedProperties::setProperties(aggregate_of< ::Ifc4x3_rc1::IfcProperty >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc1::IfcExtendedProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[430]); } const IfcParse::entity& Ifc4x3_rc1::IfcExtendedProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[430]); } Ifc4x3_rc1::IfcExtendedProperties::IfcExtendedProperties(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x3_rc1::IfcExtendedProperties::IfcExtendedProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcProperty >::ptr v3_Properties) : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcExtendedProperties::IfcExtendedProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcProperty >::ptr v3_Properties) : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());; populate_derived(); } // Function implementations for IfcExternalInformation @@ -10971,14 +10971,14 @@ Ifc4x3_rc1::IfcExtendedProperties::IfcExtendedProperties(boost::optional< std::s const IfcParse::entity& Ifc4x3_rc1::IfcExternalInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[431]); } const IfcParse::entity& Ifc4x3_rc1::IfcExternalInformation::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[431]); } Ifc4x3_rc1::IfcExternalInformation::IfcExternalInformation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcExternalInformation::IfcExternalInformation() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc1::IfcExternalInformation::IfcExternalInformation() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcExternalReference -boost::optional< std::string > Ifc4x3_rc1::IfcExternalReference::Location() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcExternalReference::Location() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcExternalReference::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc1::IfcExternalReference::Identification() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcExternalReference::Identification() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcExternalReference::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc1::IfcExternalReference::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcExternalReference::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcExternalReference::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3_rc1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc1::IfcExternalReference::ExternalReferenceForResources() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[436], 2)->as(); } @@ -10986,22 +10986,22 @@ void Ifc4x3_rc1::IfcExternalReference::setName(boost::optional< std::string > v) const IfcParse::entity& Ifc4x3_rc1::IfcExternalReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[435]); } const IfcParse::entity& Ifc4x3_rc1::IfcExternalReference::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[435]); } Ifc4x3_rc1::IfcExternalReference::IfcExternalReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcExternalReference::IfcExternalReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3_rc1::IfcExternalReference::IfcExternalReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternalReferenceRelationship -::Ifc4x3_rc1::IfcExternalReference* Ifc4x3_rc1::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcExternalReference>(true); } +::Ifc4x3_rc1::IfcExternalReference* Ifc4x3_rc1::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcExternalReference>(true); } void Ifc4x3_rc1::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4x3_rc1::IfcExternalReference* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr Ifc4x3_rc1::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc1::IfcResourceObjectSelect >(); } +aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr Ifc4x3_rc1::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc1::IfcResourceObjectSelect >(); } void Ifc4x3_rc1::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcExternalReferenceRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[436]); } const IfcParse::entity& Ifc4x3_rc1::IfcExternalReferenceRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[436]); } Ifc4x3_rc1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_rc1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingReference ? v3_RelatingReference->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingReference ? v3_RelatingReference->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } // Function implementations for IfcExternalSpatialElement -boost::optional< ::Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_rc1::IfcExternalSpatialElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_rc1::IfcExternalSpatialElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcExternalSpatialElement::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x3_rc1::IfcRelSpaceBoundary::list::ptr Ifc4x3_rc1::IfcExternalSpatialElement::BoundedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[956], 4)->as(); } @@ -11009,7 +11009,7 @@ void Ifc4x3_rc1::IfcExternalSpatialElement::setPredefinedType(boost::optional< : const IfcParse::entity& Ifc4x3_rc1::IfcExternalSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[437]); } const IfcParse::entity& Ifc4x3_rc1::IfcExternalSpatialElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[437]); } Ifc4x3_rc1::IfcExternalSpatialElement::IfcExternalSpatialElement(IfcEntityInstanceData&& e) : IfcExternalSpatialStructureElement(std::move(e)) { } -Ifc4x3_rc1::IfcExternalSpatialElement::IfcExternalSpatialElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) : IfcExternalSpatialStructureElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcExternalSpatialElement::IfcExternalSpatialElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) : IfcExternalSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcExternalSpatialStructureElement @@ -11017,7 +11017,7 @@ Ifc4x3_rc1::IfcExternalSpatialElement::IfcExternalSpatialElement(std::string v1_ const IfcParse::entity& Ifc4x3_rc1::IfcExternalSpatialStructureElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[439]); } const IfcParse::entity& Ifc4x3_rc1::IfcExternalSpatialStructureElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[439]); } Ifc4x3_rc1::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(IfcEntityInstanceData&& e) : IfcSpatialElement(std::move(e)) { } -Ifc4x3_rc1::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcSpatialElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } +Ifc4x3_rc1::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcSpatialElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedHatchStyle @@ -11025,7 +11025,7 @@ Ifc4x3_rc1::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureEleme const IfcParse::entity& Ifc4x3_rc1::IfcExternallyDefinedHatchStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[432]); } const IfcParse::entity& Ifc4x3_rc1::IfcExternallyDefinedHatchStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[432]); } Ifc4x3_rc1::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_rc1::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3_rc1::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedSurfaceStyle @@ -11033,7 +11033,7 @@ Ifc4x3_rc1::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost const IfcParse::entity& Ifc4x3_rc1::IfcExternallyDefinedSurfaceStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[433]); } const IfcParse::entity& Ifc4x3_rc1::IfcExternallyDefinedSurfaceStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[433]); } Ifc4x3_rc1::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_rc1::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3_rc1::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedTextFont @@ -11041,32 +11041,32 @@ Ifc4x3_rc1::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(b const IfcParse::entity& Ifc4x3_rc1::IfcExternallyDefinedTextFont::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[434]); } const IfcParse::entity& Ifc4x3_rc1::IfcExternallyDefinedTextFont::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[434]); } Ifc4x3_rc1::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_rc1::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3_rc1::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExtrudedAreaSolid -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcDirection>(true); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcExtrudedAreaSolid::setExtrudedDirection(::Ifc4x3_rc1::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc1::IfcExtrudedAreaSolid::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc1::IfcExtrudedAreaSolid::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcExtrudedAreaSolid::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcExtrudedAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[440]); } const IfcParse::entity& Ifc4x3_rc1::IfcExtrudedAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[440]); } Ifc4x3_rc1::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4x3_rc1::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(::Ifc4x3_rc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc1::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } +Ifc4x3_rc1::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(::Ifc4x3_rc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc1::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } // Function implementations for IfcExtrudedAreaSolidTapered -::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcProfileDef>(true); } +::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcProfileDef>(true); } void Ifc4x3_rc1::IfcExtrudedAreaSolidTapered::setEndSweptArea(::Ifc4x3_rc1::IfcProfileDef* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc1::IfcExtrudedAreaSolidTapered::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[441]); } const IfcParse::entity& Ifc4x3_rc1::IfcExtrudedAreaSolidTapered::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[441]); } Ifc4x3_rc1::IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(IfcEntityInstanceData&& e) : IfcExtrudedAreaSolid(std::move(e)) { } -Ifc4x3_rc1::IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(::Ifc4x3_rc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc1::IfcDirection* v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_rc1::IfcProfileDef* v5_EndSweptArea) : IfcExtrudedAreaSolid(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(::Ifc4x3_rc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc1::IfcDirection* v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_rc1::IfcProfileDef* v5_EndSweptArea) : IfcExtrudedAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcFace -aggregate_of< ::Ifc4x3_rc1::IfcFaceBound >::ptr Ifc4x3_rc1::IfcFace::Bounds() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcFaceBound >(); } +aggregate_of< ::Ifc4x3_rc1::IfcFaceBound >::ptr Ifc4x3_rc1::IfcFace::Bounds() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcFaceBound >(); } void Ifc4x3_rc1::IfcFace::setBounds(aggregate_of< ::Ifc4x3_rc1::IfcFaceBound >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_rc1::IfcTextureMap::list::ptr Ifc4x3_rc1::IfcFace::HasTextureMaps() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[1199], 2)->as(); } @@ -11074,29 +11074,29 @@ void Ifc4x3_rc1::IfcFace::setBounds(aggregate_of< ::Ifc4x3_rc1::IfcFaceBound >:: const IfcParse::entity& Ifc4x3_rc1::IfcFace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[442]); } const IfcParse::entity& Ifc4x3_rc1::IfcFace::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[442]); } Ifc4x3_rc1::IfcFace::IfcFace(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcFace::IfcFace(aggregate_of< ::Ifc4x3_rc1::IfcFaceBound >::ptr v1_Bounds) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Bounds)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcFace::IfcFace(aggregate_of< ::Ifc4x3_rc1::IfcFaceBound >::ptr v1_Bounds) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Bounds)->generalize());; populate_derived(); } // Function implementations for IfcFaceBasedSurfaceModel -aggregate_of< ::Ifc4x3_rc1::IfcConnectedFaceSet >::ptr Ifc4x3_rc1::IfcFaceBasedSurfaceModel::FbsmFaces() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcConnectedFaceSet >(); } +aggregate_of< ::Ifc4x3_rc1::IfcConnectedFaceSet >::ptr Ifc4x3_rc1::IfcFaceBasedSurfaceModel::FbsmFaces() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcConnectedFaceSet >(); } void Ifc4x3_rc1::IfcFaceBasedSurfaceModel::setFbsmFaces(aggregate_of< ::Ifc4x3_rc1::IfcConnectedFaceSet >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc1::IfcFaceBasedSurfaceModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[443]); } const IfcParse::entity& Ifc4x3_rc1::IfcFaceBasedSurfaceModel::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[443]); } Ifc4x3_rc1::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(aggregate_of< ::Ifc4x3_rc1::IfcConnectedFaceSet >::ptr v1_FbsmFaces) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_FbsmFaces)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(aggregate_of< ::Ifc4x3_rc1::IfcConnectedFaceSet >::ptr v1_FbsmFaces) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_FbsmFaces)->generalize());; populate_derived(); } // Function implementations for IfcFaceBound -::Ifc4x3_rc1::IfcLoop* Ifc4x3_rc1::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcLoop>(true); } +::Ifc4x3_rc1::IfcLoop* Ifc4x3_rc1::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcLoop>(true); } void Ifc4x3_rc1::IfcFaceBound::setBound(::Ifc4x3_rc1::IfcLoop* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -bool Ifc4x3_rc1::IfcFaceBound::Orientation() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x3_rc1::IfcFaceBound::Orientation() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcFaceBound::setOrientation(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcFaceBound::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[444]); } const IfcParse::entity& Ifc4x3_rc1::IfcFaceBound::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[444]); } Ifc4x3_rc1::IfcFaceBound::IfcFaceBound(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcFaceBound::IfcFaceBound(::Ifc4x3_rc1::IfcLoop* v1_Bound, bool v2_Orientation) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } +Ifc4x3_rc1::IfcFaceBound::IfcFaceBound(::Ifc4x3_rc1::IfcLoop* v1_Bound, bool v2_Orientation) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } // Function implementations for IfcFaceOuterBound @@ -11104,19 +11104,19 @@ Ifc4x3_rc1::IfcFaceBound::IfcFaceBound(::Ifc4x3_rc1::IfcLoop* v1_Bound, bool v2_ const IfcParse::entity& Ifc4x3_rc1::IfcFaceOuterBound::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[445]); } const IfcParse::entity& Ifc4x3_rc1::IfcFaceOuterBound::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[445]); } Ifc4x3_rc1::IfcFaceOuterBound::IfcFaceOuterBound(IfcEntityInstanceData&& e) : IfcFaceBound(std::move(e)) { } -Ifc4x3_rc1::IfcFaceOuterBound::IfcFaceOuterBound(::Ifc4x3_rc1::IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } +Ifc4x3_rc1::IfcFaceOuterBound::IfcFaceOuterBound(::Ifc4x3_rc1::IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } // Function implementations for IfcFaceSurface -::Ifc4x3_rc1::IfcSurface* Ifc4x3_rc1::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcSurface>(true); } +::Ifc4x3_rc1::IfcSurface* Ifc4x3_rc1::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcSurface>(true); } void Ifc4x3_rc1::IfcFaceSurface::setFaceSurface(::Ifc4x3_rc1::IfcSurface* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -bool Ifc4x3_rc1::IfcFaceSurface::SameSense() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x3_rc1::IfcFaceSurface::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcFaceSurface::setSameSense(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc1::IfcFaceSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[446]); } const IfcParse::entity& Ifc4x3_rc1::IfcFaceSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[446]); } Ifc4x3_rc1::IfcFaceSurface::IfcFaceSurface(IfcEntityInstanceData&& e) : IfcFace(std::move(e)) { } -Ifc4x3_rc1::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc4x3_rc1::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_rc1::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFace(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } +Ifc4x3_rc1::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc4x3_rc1::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_rc1::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFace(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } // Function implementations for IfcFacetedBrep @@ -11124,17 +11124,17 @@ Ifc4x3_rc1::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc4x3_rc1::IfcFaceBo const IfcParse::entity& Ifc4x3_rc1::IfcFacetedBrep::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[447]); } const IfcParse::entity& Ifc4x3_rc1::IfcFacetedBrep::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[447]); } Ifc4x3_rc1::IfcFacetedBrep::IfcFacetedBrep(IfcEntityInstanceData&& e) : IfcManifoldSolidBrep(std::move(e)) { } -Ifc4x3_rc1::IfcFacetedBrep::IfcFacetedBrep(::Ifc4x3_rc1::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcFacetedBrep::IfcFacetedBrep(::Ifc4x3_rc1::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcFacetedBrepWithVoids -aggregate_of< ::Ifc4x3_rc1::IfcClosedShell >::ptr Ifc4x3_rc1::IfcFacetedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcClosedShell >(); } +aggregate_of< ::Ifc4x3_rc1::IfcClosedShell >::ptr Ifc4x3_rc1::IfcFacetedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcClosedShell >(); } void Ifc4x3_rc1::IfcFacetedBrepWithVoids::setVoids(aggregate_of< ::Ifc4x3_rc1::IfcClosedShell >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcFacetedBrepWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[448]); } const IfcParse::entity& Ifc4x3_rc1::IfcFacetedBrepWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[448]); } Ifc4x3_rc1::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(IfcEntityInstanceData&& e) : IfcFacetedBrep(std::move(e)) { } -Ifc4x3_rc1::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4x3_rc1::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3_rc1::IfcClosedShell >::ptr v2_Voids) : IfcFacetedBrep(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4x3_rc1::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3_rc1::IfcClosedShell >::ptr v2_Voids) : IfcFacetedBrep(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } // Function implementations for IfcFacility @@ -11142,79 +11142,79 @@ Ifc4x3_rc1::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4x3_rc1::IfcCl const IfcParse::entity& Ifc4x3_rc1::IfcFacility::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[449]); } const IfcParse::entity& Ifc4x3_rc1::IfcFacility::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[449]); } Ifc4x3_rc1::IfcFacility::IfcFacility(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x3_rc1::IfcFacility::IfcFacility(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } +Ifc4x3_rc1::IfcFacility::IfcFacility(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } // Function implementations for IfcFacilityPart -::Ifc4x3_rc1::IfcFacilityPartTypeSelect* Ifc4x3_rc1::IfcFacilityPart::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc1::IfcFacilityPartTypeSelect>(true); } +::Ifc4x3_rc1::IfcFacilityPartTypeSelect* Ifc4x3_rc1::IfcFacilityPart::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc1::IfcFacilityPartTypeSelect>(true); } void Ifc4x3_rc1::IfcFacilityPart::setPredefinedType(::Ifc4x3_rc1::IfcFacilityPartTypeSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc1::IfcFacilityUsageEnum::Value Ifc4x3_rc1::IfcFacilityPart::UsageType() const { return ::Ifc4x3_rc1::IfcFacilityUsageEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3_rc1::IfcFacilityUsageEnum::Value Ifc4x3_rc1::IfcFacilityPart::UsageType() const { return ::Ifc4x3_rc1::IfcFacilityUsageEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc1::IfcFacilityPart::setUsageType(::Ifc4x3_rc1::IfcFacilityUsageEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc1::IfcFacilityUsageEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_rc1::IfcFacilityPart::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[450]); } const IfcParse::entity& Ifc4x3_rc1::IfcFacilityPart::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[450]); } Ifc4x3_rc1::IfcFacilityPart::IfcFacilityPart(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x3_rc1::IfcFacilityPart::IfcFacilityPart(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc1::IfcFacilityPartTypeSelect* v10_PredefinedType, ::Ifc4x3_rc1::IfcFacilityUsageEnum::Value v11_UsageType) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, v10_PredefinedType ? v10_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcFacilityUsageEnum::Class(),(size_t)v11_UsageType)));; populate_derived(); } +Ifc4x3_rc1::IfcFacilityPart::IfcFacilityPart(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc1::IfcFacilityPartTypeSelect* v10_PredefinedType, ::Ifc4x3_rc1::IfcFacilityUsageEnum::Value v11_UsageType) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, v10_PredefinedType ? v10_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcFacilityUsageEnum::Class(),(size_t)v11_UsageType)));; populate_derived(); } // Function implementations for IfcFailureConnectionCondition -boost::optional< double > Ifc4x3_rc1::IfcFailureConnectionCondition::TensionFailureX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc1::IfcFailureConnectionCondition::TensionFailureX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcFailureConnectionCondition::setTensionFailureX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc1::IfcFailureConnectionCondition::TensionFailureY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc1::IfcFailureConnectionCondition::TensionFailureY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcFailureConnectionCondition::setTensionFailureY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc1::IfcFailureConnectionCondition::TensionFailureZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc1::IfcFailureConnectionCondition::TensionFailureZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcFailureConnectionCondition::setTensionFailureZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc1::IfcFailureConnectionCondition::CompressionFailureX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc1::IfcFailureConnectionCondition::CompressionFailureX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcFailureConnectionCondition::setCompressionFailureX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_rc1::IfcFailureConnectionCondition::CompressionFailureY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc1::IfcFailureConnectionCondition::CompressionFailureY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcFailureConnectionCondition::setCompressionFailureY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_rc1::IfcFailureConnectionCondition::CompressionFailureZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc1::IfcFailureConnectionCondition::CompressionFailureZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcFailureConnectionCondition::setCompressionFailureZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc1::IfcFailureConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[454]); } const IfcParse::entity& Ifc4x3_rc1::IfcFailureConnectionCondition::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[454]); } Ifc4x3_rc1::IfcFailureConnectionCondition::IfcFailureConnectionCondition(IfcEntityInstanceData&& e) : IfcStructuralConnectionCondition(std::move(e)) { } -Ifc4x3_rc1::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; populate_derived(); } +Ifc4x3_rc1::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; populate_derived(); } // Function implementations for IfcFan -boost::optional< ::Ifc4x3_rc1::IfcFanTypeEnum::Value > Ifc4x3_rc1::IfcFan::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcFanTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcFanTypeEnum::Value > Ifc4x3_rc1::IfcFan::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcFanTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcFan::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcFanTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcFanTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcFan::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[455]); } const IfcParse::entity& Ifc4x3_rc1::IfcFan::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[455]); } Ifc4x3_rc1::IfcFan::IfcFan(IfcEntityInstanceData&& e) : IfcFlowMovingDevice(std::move(e)) { } -Ifc4x3_rc1::IfcFan::IfcFan(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcFanTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcFan::IfcFan(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcFanTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFanType -::Ifc4x3_rc1::IfcFanTypeEnum::Value Ifc4x3_rc1::IfcFanType::PredefinedType() const { return ::Ifc4x3_rc1::IfcFanTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcFanTypeEnum::Value Ifc4x3_rc1::IfcFanType::PredefinedType() const { return ::Ifc4x3_rc1::IfcFanTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcFanType::setPredefinedType(::Ifc4x3_rc1::IfcFanTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcFanTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcFanType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[456]); } const IfcParse::entity& Ifc4x3_rc1::IfcFanType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[456]); } Ifc4x3_rc1::IfcFanType::IfcFanType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(e)) { } -Ifc4x3_rc1::IfcFanType::IfcFanType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFanTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcFanType::IfcFanType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFanTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFastener -boost::optional< ::Ifc4x3_rc1::IfcFastenerTypeEnum::Value > Ifc4x3_rc1::IfcFastener::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcFastenerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcFastenerTypeEnum::Value > Ifc4x3_rc1::IfcFastener::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcFastenerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcFastener::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcFastenerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcFastenerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcFastener::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[458]); } const IfcParse::entity& Ifc4x3_rc1::IfcFastener::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[458]); } Ifc4x3_rc1::IfcFastener::IfcFastener(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_rc1::IfcFastener::IfcFastener(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcFastenerTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcFastener::IfcFastener(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcFastenerTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFastenerType -::Ifc4x3_rc1::IfcFastenerTypeEnum::Value Ifc4x3_rc1::IfcFastenerType::PredefinedType() const { return ::Ifc4x3_rc1::IfcFastenerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcFastenerTypeEnum::Value Ifc4x3_rc1::IfcFastenerType::PredefinedType() const { return ::Ifc4x3_rc1::IfcFastenerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcFastenerType::setPredefinedType(::Ifc4x3_rc1::IfcFastenerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcFastenerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcFastenerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[459]); } const IfcParse::entity& Ifc4x3_rc1::IfcFastenerType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[459]); } Ifc4x3_rc1::IfcFastenerType::IfcFastenerType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_rc1::IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFastenerTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFastenerTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFeatureElement @@ -11222,7 +11222,7 @@ Ifc4x3_rc1::IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, ::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc1::IfcFeatureElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[461]); } const IfcParse::entity& Ifc4x3_rc1::IfcFeatureElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[461]); } Ifc4x3_rc1::IfcFeatureElement::IfcFeatureElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc1::IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc1::IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFeatureElementAddition @@ -11231,7 +11231,7 @@ Ifc4x3_rc1::IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3_rc1::IfcFeatureElementAddition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[462]); } const IfcParse::entity& Ifc4x3_rc1::IfcFeatureElementAddition::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[462]); } Ifc4x3_rc1::IfcFeatureElementAddition::IfcFeatureElementAddition(IfcEntityInstanceData&& e) : IfcFeatureElement(std::move(e)) { } -Ifc4x3_rc1::IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc1::IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFeatureElementSubtraction @@ -11240,101 +11240,101 @@ Ifc4x3_rc1::IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_ const IfcParse::entity& Ifc4x3_rc1::IfcFeatureElementSubtraction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[463]); } const IfcParse::entity& Ifc4x3_rc1::IfcFeatureElementSubtraction::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[463]); } Ifc4x3_rc1::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntityInstanceData&& e) : IfcFeatureElement(std::move(e)) { } -Ifc4x3_rc1::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc1::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFillAreaStyle -aggregate_of< ::Ifc4x3_rc1::IfcFillStyleSelect >::ptr Ifc4x3_rc1::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcFillStyleSelect >(); } +aggregate_of< ::Ifc4x3_rc1::IfcFillStyleSelect >::ptr Ifc4x3_rc1::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcFillStyleSelect >(); } void Ifc4x3_rc1::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x3_rc1::IfcFillStyleSelect >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< bool > Ifc4x3_rc1::IfcFillAreaStyle::ModelorDraughting() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } bool v = data_.get_attribute_value(2); return v; } +boost::optional< bool > Ifc4x3_rc1::IfcFillAreaStyle::ModelorDraughting() const { if(get_attribute_value(2).isNull()) { return boost::none; } bool v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcFillAreaStyle::setModelorDraughting(boost::optional< bool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc1::IfcFillAreaStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[464]); } const IfcParse::entity& Ifc4x3_rc1::IfcFillAreaStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[464]); } Ifc4x3_rc1::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x3_rc1::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc1::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_FillStyles)->generalize()); if (v3_ModelorDraughting) {set_attribute_value(2, (*v3_ModelorDraughting)); }; populate_derived(); } +Ifc4x3_rc1::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc1::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelorDraughting) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_FillStyles)->generalize()); if (v3_ModelorDraughting) {set_attribute_value(2, (*v3_ModelorDraughting)); }; populate_derived(); } // Function implementations for IfcFillAreaStyleHatching -::Ifc4x3_rc1::IfcCurveStyle* Ifc4x3_rc1::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCurveStyle>(true); } +::Ifc4x3_rc1::IfcCurveStyle* Ifc4x3_rc1::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCurveStyle>(true); } void Ifc4x3_rc1::IfcFillAreaStyleHatching::setHatchLineAppearance(::Ifc4x3_rc1::IfcCurveStyle* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcHatchLineDistanceSelect* Ifc4x3_rc1::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcHatchLineDistanceSelect>(true); } +::Ifc4x3_rc1::IfcHatchLineDistanceSelect* Ifc4x3_rc1::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcHatchLineDistanceSelect>(true); } void Ifc4x3_rc1::IfcFillAreaStyleHatching::setStartOfNextHatchLine(::Ifc4x3_rc1::IfcHatchLineDistanceSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcCartesianPoint* Ifc4x3_rc1::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcCartesianPoint>(true); } +::Ifc4x3_rc1::IfcCartesianPoint* Ifc4x3_rc1::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcCartesianPoint>(true); } void Ifc4x3_rc1::IfcFillAreaStyleHatching::setPointOfReferenceHatchLine(::Ifc4x3_rc1::IfcCartesianPoint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcCartesianPoint* Ifc4x3_rc1::IfcFillAreaStyleHatching::PatternStart() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcCartesianPoint>(true); } +::Ifc4x3_rc1::IfcCartesianPoint* Ifc4x3_rc1::IfcFillAreaStyleHatching::PatternStart() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcCartesianPoint>(true); } void Ifc4x3_rc1::IfcFillAreaStyleHatching::setPatternStart(::Ifc4x3_rc1::IfcCartesianPoint* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc1::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc1::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcFillAreaStyleHatching::setHatchLineAngle(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc1::IfcFillAreaStyleHatching::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[465]); } const IfcParse::entity& Ifc4x3_rc1::IfcFillAreaStyleHatching::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[465]); } Ifc4x3_rc1::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(::Ifc4x3_rc1::IfcCurveStyle* v1_HatchLineAppearance, ::Ifc4x3_rc1::IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, ::Ifc4x3_rc1::IfcCartesianPoint* v3_PointOfReferenceHatchLine, ::Ifc4x3_rc1::IfcCartesianPoint* v4_PatternStart, double v5_HatchLineAngle) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_HatchLineAppearance ? v1_HatchLineAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_StartOfNextHatchLine ? v2_StartOfNextHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PointOfReferenceHatchLine ? v3_PointOfReferenceHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PatternStart ? v4_PatternStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_HatchLineAngle));; populate_derived(); } +Ifc4x3_rc1::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(::Ifc4x3_rc1::IfcCurveStyle* v1_HatchLineAppearance, ::Ifc4x3_rc1::IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, ::Ifc4x3_rc1::IfcCartesianPoint* v3_PointOfReferenceHatchLine, ::Ifc4x3_rc1::IfcCartesianPoint* v4_PatternStart, double v5_HatchLineAngle) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_HatchLineAppearance ? v1_HatchLineAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_StartOfNextHatchLine ? v2_StartOfNextHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PointOfReferenceHatchLine ? v3_PointOfReferenceHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PatternStart ? v4_PatternStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_HatchLineAngle));; populate_derived(); } // Function implementations for IfcFillAreaStyleTiles -aggregate_of< ::Ifc4x3_rc1::IfcVector >::ptr Ifc4x3_rc1::IfcFillAreaStyleTiles::TilingPattern() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcVector >(); } +aggregate_of< ::Ifc4x3_rc1::IfcVector >::ptr Ifc4x3_rc1::IfcFillAreaStyleTiles::TilingPattern() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcVector >(); } void Ifc4x3_rc1::IfcFillAreaStyleTiles::setTilingPattern(aggregate_of< ::Ifc4x3_rc1::IfcVector >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc1::IfcStyledItem >::ptr Ifc4x3_rc1::IfcFillAreaStyleTiles::Tiles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcStyledItem >(); } +aggregate_of< ::Ifc4x3_rc1::IfcStyledItem >::ptr Ifc4x3_rc1::IfcFillAreaStyleTiles::Tiles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcStyledItem >(); } void Ifc4x3_rc1::IfcFillAreaStyleTiles::setTiles(aggregate_of< ::Ifc4x3_rc1::IfcStyledItem >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc1::IfcFillAreaStyleTiles::TilingScale() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc1::IfcFillAreaStyleTiles::TilingScale() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcFillAreaStyleTiles::setTilingScale(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc1::IfcFillAreaStyleTiles::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[466]); } const IfcParse::entity& Ifc4x3_rc1::IfcFillAreaStyleTiles::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[466]); } Ifc4x3_rc1::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(aggregate_of< ::Ifc4x3_rc1::IfcVector >::ptr v1_TilingPattern, aggregate_of< ::Ifc4x3_rc1::IfcStyledItem >::ptr v2_Tiles, double v3_TilingScale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_TilingPattern)->generalize());set_attribute_value(1, (v2_Tiles)->generalize());set_attribute_value(2, (v3_TilingScale));; populate_derived(); } +Ifc4x3_rc1::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(aggregate_of< ::Ifc4x3_rc1::IfcVector >::ptr v1_TilingPattern, aggregate_of< ::Ifc4x3_rc1::IfcStyledItem >::ptr v2_Tiles, double v3_TilingScale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_TilingPattern)->generalize());set_attribute_value(1, (v2_Tiles)->generalize());set_attribute_value(2, (v3_TilingScale));; populate_derived(); } // Function implementations for IfcFilter -boost::optional< ::Ifc4x3_rc1::IfcFilterTypeEnum::Value > Ifc4x3_rc1::IfcFilter::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcFilterTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcFilterTypeEnum::Value > Ifc4x3_rc1::IfcFilter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcFilterTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcFilter::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcFilterTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcFilterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcFilter::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[468]); } const IfcParse::entity& Ifc4x3_rc1::IfcFilter::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[468]); } Ifc4x3_rc1::IfcFilter::IfcFilter(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4x3_rc1::IfcFilter::IfcFilter(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcFilterTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcFilter::IfcFilter(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcFilterTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFilterType -::Ifc4x3_rc1::IfcFilterTypeEnum::Value Ifc4x3_rc1::IfcFilterType::PredefinedType() const { return ::Ifc4x3_rc1::IfcFilterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcFilterTypeEnum::Value Ifc4x3_rc1::IfcFilterType::PredefinedType() const { return ::Ifc4x3_rc1::IfcFilterTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcFilterType::setPredefinedType(::Ifc4x3_rc1::IfcFilterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcFilterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcFilterType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[469]); } const IfcParse::entity& Ifc4x3_rc1::IfcFilterType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[469]); } Ifc4x3_rc1::IfcFilterType::IfcFilterType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4x3_rc1::IfcFilterType::IfcFilterType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFilterTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcFilterType::IfcFilterType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFilterTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFireSuppressionTerminal -boost::optional< ::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x3_rc1::IfcFireSuppressionTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x3_rc1::IfcFireSuppressionTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcFireSuppressionTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcFireSuppressionTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[471]); } const IfcParse::entity& Ifc4x3_rc1::IfcFireSuppressionTerminal::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[471]); } Ifc4x3_rc1::IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc1::IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFireSuppressionTerminalType -::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3_rc1::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3_rc1::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcFireSuppressionTerminalType::setPredefinedType(::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcFireSuppressionTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[472]); } const IfcParse::entity& Ifc4x3_rc1::IfcFireSuppressionTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[472]); } Ifc4x3_rc1::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc1::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFixedReferenceSweptAreaSolid -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcDirection>(true); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcFixedReferenceSweptAreaSolid::setFixedReference(::Ifc4x3_rc1::IfcDirection* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcFixedReferenceSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[474]); } const IfcParse::entity& Ifc4x3_rc1::IfcFixedReferenceSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[474]); } Ifc4x3_rc1::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(IfcEntityInstanceData&& e) : IfcDirectrixCurveSweptAreaSolid(std::move(e)) { } -Ifc4x3_rc1::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(::Ifc4x3_rc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc1::IfcCurve* v3_Directrix, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, ::Ifc4x3_rc1::IfcDirection* v6_FixedReference) : IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }set_attribute_value(5, v6_FixedReference ? v6_FixedReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(::Ifc4x3_rc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc1::IfcCurve* v3_Directrix, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, ::Ifc4x3_rc1::IfcDirection* v6_FixedReference) : IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }set_attribute_value(5, v6_FixedReference ? v6_FixedReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcFlowController @@ -11342,7 +11342,7 @@ Ifc4x3_rc1::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(::I const IfcParse::entity& Ifc4x3_rc1::IfcFlowController::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[475]); } const IfcParse::entity& Ifc4x3_rc1::IfcFlowController::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[475]); } Ifc4x3_rc1::IfcFlowController::IfcFlowController(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_rc1::IfcFlowController::IfcFlowController(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc1::IfcFlowController::IfcFlowController(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowControllerType @@ -11350,7 +11350,7 @@ Ifc4x3_rc1::IfcFlowController::IfcFlowController(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3_rc1::IfcFlowControllerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[476]); } const IfcParse::entity& Ifc4x3_rc1::IfcFlowControllerType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[476]); } Ifc4x3_rc1::IfcFlowControllerType::IfcFlowControllerType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_rc1::IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc1::IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowFitting @@ -11358,7 +11358,7 @@ Ifc4x3_rc1::IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId const IfcParse::entity& Ifc4x3_rc1::IfcFlowFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[478]); } const IfcParse::entity& Ifc4x3_rc1::IfcFlowFitting::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[478]); } Ifc4x3_rc1::IfcFlowFitting::IfcFlowFitting(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_rc1::IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc1::IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowFittingType @@ -11366,47 +11366,47 @@ Ifc4x3_rc1::IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, ::Ifc4x3_rc1 const IfcParse::entity& Ifc4x3_rc1::IfcFlowFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[479]); } const IfcParse::entity& Ifc4x3_rc1::IfcFlowFittingType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[479]); } Ifc4x3_rc1::IfcFlowFittingType::IfcFlowFittingType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_rc1::IfcFlowFittingType::IfcFlowFittingType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc1::IfcFlowFittingType::IfcFlowFittingType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowInstrument -boost::optional< ::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value > Ifc4x3_rc1::IfcFlowInstrument::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value > Ifc4x3_rc1::IfcFlowInstrument::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcFlowInstrument::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcFlowInstrument::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[480]); } const IfcParse::entity& Ifc4x3_rc1::IfcFlowInstrument::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[480]); } Ifc4x3_rc1::IfcFlowInstrument::IfcFlowInstrument(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_rc1::IfcFlowInstrument::IfcFlowInstrument(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcFlowInstrument::IfcFlowInstrument(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFlowInstrumentType -::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value Ifc4x3_rc1::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value Ifc4x3_rc1::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcFlowInstrumentType::setPredefinedType(::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcFlowInstrumentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[481]); } const IfcParse::entity& Ifc4x3_rc1::IfcFlowInstrumentType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[481]); } Ifc4x3_rc1::IfcFlowInstrumentType::IfcFlowInstrumentType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_rc1::IfcFlowInstrumentType::IfcFlowInstrumentType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcFlowInstrumentType::IfcFlowInstrumentType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFlowMeter -boost::optional< ::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value > Ifc4x3_rc1::IfcFlowMeter::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcFlowMeterTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value > Ifc4x3_rc1::IfcFlowMeter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcFlowMeterTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcFlowMeter::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcFlowMeter::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[483]); } const IfcParse::entity& Ifc4x3_rc1::IfcFlowMeter::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[483]); } Ifc4x3_rc1::IfcFlowMeter::IfcFlowMeter(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_rc1::IfcFlowMeter::IfcFlowMeter(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcFlowMeter::IfcFlowMeter(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFlowMeterType -::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value Ifc4x3_rc1::IfcFlowMeterType::PredefinedType() const { return ::Ifc4x3_rc1::IfcFlowMeterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value Ifc4x3_rc1::IfcFlowMeterType::PredefinedType() const { return ::Ifc4x3_rc1::IfcFlowMeterTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcFlowMeterType::setPredefinedType(::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcFlowMeterType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[484]); } const IfcParse::entity& Ifc4x3_rc1::IfcFlowMeterType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[484]); } Ifc4x3_rc1::IfcFlowMeterType::IfcFlowMeterType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_rc1::IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFlowMovingDevice @@ -11414,7 +11414,7 @@ Ifc4x3_rc1::IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, ::Ifc4x3 const IfcParse::entity& Ifc4x3_rc1::IfcFlowMovingDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[486]); } const IfcParse::entity& Ifc4x3_rc1::IfcFlowMovingDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[486]); } Ifc4x3_rc1::IfcFlowMovingDevice::IfcFlowMovingDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_rc1::IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc1::IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowMovingDeviceType @@ -11422,7 +11422,7 @@ Ifc4x3_rc1::IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x3_rc1::IfcFlowMovingDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[487]); } const IfcParse::entity& Ifc4x3_rc1::IfcFlowMovingDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[487]); } Ifc4x3_rc1::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_rc1::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc1::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowSegment @@ -11430,7 +11430,7 @@ Ifc4x3_rc1::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_Glob const IfcParse::entity& Ifc4x3_rc1::IfcFlowSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[488]); } const IfcParse::entity& Ifc4x3_rc1::IfcFlowSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[488]); } Ifc4x3_rc1::IfcFlowSegment::IfcFlowSegment(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_rc1::IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc1::IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowSegmentType @@ -11438,7 +11438,7 @@ Ifc4x3_rc1::IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, ::Ifc4x3_rc1 const IfcParse::entity& Ifc4x3_rc1::IfcFlowSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[489]); } const IfcParse::entity& Ifc4x3_rc1::IfcFlowSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[489]); } Ifc4x3_rc1::IfcFlowSegmentType::IfcFlowSegmentType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_rc1::IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc1::IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowStorageDevice @@ -11446,7 +11446,7 @@ Ifc4x3_rc1::IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x3_rc1::IfcFlowStorageDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[490]); } const IfcParse::entity& Ifc4x3_rc1::IfcFlowStorageDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[490]); } Ifc4x3_rc1::IfcFlowStorageDevice::IfcFlowStorageDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_rc1::IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc1::IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowStorageDeviceType @@ -11454,7 +11454,7 @@ Ifc4x3_rc1::IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, const IfcParse::entity& Ifc4x3_rc1::IfcFlowStorageDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[491]); } const IfcParse::entity& Ifc4x3_rc1::IfcFlowStorageDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[491]); } Ifc4x3_rc1::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_rc1::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc1::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowTerminal @@ -11462,7 +11462,7 @@ Ifc4x3_rc1::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_Gl const IfcParse::entity& Ifc4x3_rc1::IfcFlowTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[492]); } const IfcParse::entity& Ifc4x3_rc1::IfcFlowTerminal::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[492]); } Ifc4x3_rc1::IfcFlowTerminal::IfcFlowTerminal(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_rc1::IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc1::IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowTerminalType @@ -11470,7 +11470,7 @@ Ifc4x3_rc1::IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, ::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc1::IfcFlowTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[493]); } const IfcParse::entity& Ifc4x3_rc1::IfcFlowTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[493]); } Ifc4x3_rc1::IfcFlowTerminalType::IfcFlowTerminalType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_rc1::IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc1::IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowTreatmentDevice @@ -11478,7 +11478,7 @@ Ifc4x3_rc1::IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x3_rc1::IfcFlowTreatmentDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[494]); } const IfcParse::entity& Ifc4x3_rc1::IfcFlowTreatmentDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[494]); } Ifc4x3_rc1::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_rc1::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc1::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowTreatmentDeviceType @@ -11486,27 +11486,27 @@ Ifc4x3_rc1::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_Global const IfcParse::entity& Ifc4x3_rc1::IfcFlowTreatmentDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[495]); } const IfcParse::entity& Ifc4x3_rc1::IfcFlowTreatmentDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[495]); } Ifc4x3_rc1::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_rc1::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc1::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFooting -boost::optional< ::Ifc4x3_rc1::IfcFootingTypeEnum::Value > Ifc4x3_rc1::IfcFooting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcFootingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcFootingTypeEnum::Value > Ifc4x3_rc1::IfcFooting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcFootingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcFooting::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcFootingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcFootingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcFooting::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[499]); } const IfcParse::entity& Ifc4x3_rc1::IfcFooting::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[499]); } Ifc4x3_rc1::IfcFooting::IfcFooting(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc1::IfcFooting::IfcFooting(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcFootingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcFooting::IfcFooting(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcFootingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFootingType -::Ifc4x3_rc1::IfcFootingTypeEnum::Value Ifc4x3_rc1::IfcFootingType::PredefinedType() const { return ::Ifc4x3_rc1::IfcFootingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcFootingTypeEnum::Value Ifc4x3_rc1::IfcFootingType::PredefinedType() const { return ::Ifc4x3_rc1::IfcFootingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcFootingType::setPredefinedType(::Ifc4x3_rc1::IfcFootingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcFootingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcFootingType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[500]); } const IfcParse::entity& Ifc4x3_rc1::IfcFootingType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[500]); } Ifc4x3_rc1::IfcFootingType::IfcFootingType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc1::IfcFootingType::IfcFootingType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFootingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcFootingType::IfcFootingType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcFootingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFurnishingElement @@ -11514,7 +11514,7 @@ Ifc4x3_rc1::IfcFootingType::IfcFootingType(std::string v1_GlobalId, ::Ifc4x3_rc1 const IfcParse::entity& Ifc4x3_rc1::IfcFurnishingElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[504]); } const IfcParse::entity& Ifc4x3_rc1::IfcFurnishingElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[504]); } Ifc4x3_rc1::IfcFurnishingElement::IfcFurnishingElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc1::IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc1::IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFurnishingElementType @@ -11522,49 +11522,49 @@ Ifc4x3_rc1::IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, const IfcParse::entity& Ifc4x3_rc1::IfcFurnishingElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[505]); } const IfcParse::entity& Ifc4x3_rc1::IfcFurnishingElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[505]); } Ifc4x3_rc1::IfcFurnishingElementType::IfcFurnishingElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_rc1::IfcFurnishingElementType::IfcFurnishingElementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc1::IfcFurnishingElementType::IfcFurnishingElementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFurniture -boost::optional< ::Ifc4x3_rc1::IfcFurnitureTypeEnum::Value > Ifc4x3_rc1::IfcFurniture::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcFurnitureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcFurnitureTypeEnum::Value > Ifc4x3_rc1::IfcFurniture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcFurnitureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcFurniture::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcFurnitureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcFurnitureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcFurniture::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[506]); } const IfcParse::entity& Ifc4x3_rc1::IfcFurniture::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[506]); } Ifc4x3_rc1::IfcFurniture::IfcFurniture(IfcEntityInstanceData&& e) : IfcFurnishingElement(std::move(e)) { } -Ifc4x3_rc1::IfcFurniture::IfcFurniture(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcFurnitureTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcFurniture::IfcFurniture(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcFurnitureTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFurnitureType -::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Value Ifc4x3_rc1::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x3_rc1::IfcAssemblyPlaceEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Value Ifc4x3_rc1::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x3_rc1::IfcAssemblyPlaceEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcFurnitureType::setAssemblyPlace(::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< ::Ifc4x3_rc1::IfcFurnitureTypeEnum::Value > Ifc4x3_rc1::IfcFurnitureType::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcFurnitureTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc1::IfcFurnitureTypeEnum::Value > Ifc4x3_rc1::IfcFurnitureType::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcFurnitureTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc1::IfcFurnitureType::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcFurnitureTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc1::IfcFurnitureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc1::IfcFurnitureType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[507]); } const IfcParse::entity& Ifc4x3_rc1::IfcFurnitureType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[507]); } Ifc4x3_rc1::IfcFurnitureType::IfcFurnitureType(IfcEntityInstanceData&& e) : IfcFurnishingElementType(std::move(e)) { } -Ifc4x3_rc1::IfcFurnitureType::IfcFurnitureType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, boost::optional< ::Ifc4x3_rc1::IfcFurnitureTypeEnum::Value > v11_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcFurnitureType::IfcFurnitureType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, boost::optional< ::Ifc4x3_rc1::IfcFurnitureTypeEnum::Value > v11_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGeographicElement -boost::optional< ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value > Ifc4x3_rc1::IfcGeographicElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value > Ifc4x3_rc1::IfcGeographicElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcGeographicElement::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcGeographicElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[509]); } const IfcParse::entity& Ifc4x3_rc1::IfcGeographicElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[509]); } Ifc4x3_rc1::IfcGeographicElement::IfcGeographicElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc1::IfcGeographicElement::IfcGeographicElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) : IfcElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcGeographicElement::IfcGeographicElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGeographicElementType -::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value Ifc4x3_rc1::IfcGeographicElementType::PredefinedType() const { return ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value Ifc4x3_rc1::IfcGeographicElementType::PredefinedType() const { return ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcGeographicElementType::setPredefinedType(::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcGeographicElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[510]); } const IfcParse::entity& Ifc4x3_rc1::IfcGeographicElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[510]); } Ifc4x3_rc1::IfcGeographicElementType::IfcGeographicElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_rc1::IfcGeographicElementType::IfcGeographicElementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcGeographicElementType::IfcGeographicElementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcGeometricCurveSet @@ -11572,16 +11572,16 @@ Ifc4x3_rc1::IfcGeographicElementType::IfcGeographicElementType(std::string v1_Gl const IfcParse::entity& Ifc4x3_rc1::IfcGeometricCurveSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[512]); } const IfcParse::entity& Ifc4x3_rc1::IfcGeometricCurveSet::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[512]); } Ifc4x3_rc1::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData&& e) : IfcGeometricSet(std::move(e)) { } -Ifc4x3_rc1::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3_rc1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3_rc1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } // Function implementations for IfcGeometricRepresentationContext -int Ifc4x3_rc1::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = data_.get_attribute_value(2); return v; } +int Ifc4x3_rc1::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(int v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4x3_rc1::IfcGeometricRepresentationContext::Precision() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc1::IfcGeometricRepresentationContext::Precision() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc1::IfcAxis2Placement* Ifc4x3_rc1::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcAxis2Placement>(true); } +::Ifc4x3_rc1::IfcAxis2Placement* Ifc4x3_rc1::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcAxis2Placement>(true); } void Ifc4x3_rc1::IfcGeometricRepresentationContext::setWorldCoordinateSystem(::Ifc4x3_rc1::IfcAxis2Placement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcGeometricRepresentationContext::TrueNorth() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcDirection>(true); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcGeometricRepresentationContext::TrueNorth() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcGeometricRepresentationContext::setTrueNorth(::Ifc4x3_rc1::IfcDirection* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc4x3_rc1::IfcGeometricRepresentationSubContext::list::ptr Ifc4x3_rc1::IfcGeometricRepresentationContext::HasSubContexts() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[516], 6)->as(); } @@ -11590,7 +11590,7 @@ void Ifc4x3_rc1::IfcGeometricRepresentationContext::setTrueNorth(::Ifc4x3_rc1::I const IfcParse::entity& Ifc4x3_rc1::IfcGeometricRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[514]); } const IfcParse::entity& Ifc4x3_rc1::IfcGeometricRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[514]); } Ifc4x3_rc1::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(IfcEntityInstanceData&& e) : IfcRepresentationContext(std::move(e)) { } -Ifc4x3_rc1::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, ::Ifc4x3_rc1::IfcAxis2Placement* v5_WorldCoordinateSystem, ::Ifc4x3_rc1::IfcDirection* v6_TrueNorth) : IfcRepresentationContext(IfcEntityInstanceData(storage_t(6))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, v5_WorldCoordinateSystem ? v5_WorldCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_TrueNorth ? v6_TrueNorth->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, ::Ifc4x3_rc1::IfcAxis2Placement* v5_WorldCoordinateSystem, ::Ifc4x3_rc1::IfcDirection* v6_TrueNorth) : IfcRepresentationContext(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, v5_WorldCoordinateSystem ? v5_WorldCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_TrueNorth ? v6_TrueNorth->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcGeometricRepresentationItem @@ -11598,33 +11598,33 @@ Ifc4x3_rc1::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext const IfcParse::entity& Ifc4x3_rc1::IfcGeometricRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[515]); } const IfcParse::entity& Ifc4x3_rc1::IfcGeometricRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[515]); } Ifc4x3_rc1::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc1::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcGeometricRepresentationSubContext -::Ifc4x3_rc1::IfcGeometricRepresentationContext* Ifc4x3_rc1::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcGeometricRepresentationContext>(true); } +::Ifc4x3_rc1::IfcGeometricRepresentationContext* Ifc4x3_rc1::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcGeometricRepresentationContext>(true); } void Ifc4x3_rc1::IfcGeometricRepresentationSubContext::setParentContext(::Ifc4x3_rc1::IfcGeometricRepresentationContext* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc1::IfcGeometricRepresentationSubContext::TargetScale() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc1::IfcGeometricRepresentationSubContext::TargetScale() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc1::IfcGeometricProjectionEnum::Value Ifc4x3_rc1::IfcGeometricRepresentationSubContext::TargetView() const { return ::Ifc4x3_rc1::IfcGeometricProjectionEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc1::IfcGeometricProjectionEnum::Value Ifc4x3_rc1::IfcGeometricRepresentationSubContext::TargetView() const { return ::Ifc4x3_rc1::IfcGeometricProjectionEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcGeometricRepresentationSubContext::setTargetView(::Ifc4x3_rc1::IfcGeometricProjectionEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcGeometricProjectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -boost::optional< std::string > Ifc4x3_rc1::IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc1::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc1::IfcGeometricRepresentationSubContext::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[516]); } const IfcParse::entity& Ifc4x3_rc1::IfcGeometricRepresentationSubContext::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[516]); } Ifc4x3_rc1::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(IfcEntityInstanceData&& e) : IfcGeometricRepresentationContext(std::move(e)) { } -Ifc4x3_rc1::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x3_rc1::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x3_rc1::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext(IfcEntityInstanceData(storage_t(10))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, v7_ParentContext ? v7_ParentContext->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; populate_derived(); } +Ifc4x3_rc1::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x3_rc1::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x3_rc1::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, v7_ParentContext ? v7_ParentContext->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; populate_derived(); } // Function implementations for IfcGeometricSet -aggregate_of< ::Ifc4x3_rc1::IfcGeometricSetSelect >::ptr Ifc4x3_rc1::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcGeometricSetSelect >(); } +aggregate_of< ::Ifc4x3_rc1::IfcGeometricSetSelect >::ptr Ifc4x3_rc1::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcGeometricSetSelect >(); } void Ifc4x3_rc1::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x3_rc1::IfcGeometricSetSelect >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc1::IfcGeometricSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[517]); } const IfcParse::entity& Ifc4x3_rc1::IfcGeometricSet::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[517]); } Ifc4x3_rc1::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_rc1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_rc1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } // Function implementations for IfcGeomodel @@ -11632,7 +11632,7 @@ Ifc4x3_rc1::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_rc1::IfcGeom const IfcParse::entity& Ifc4x3_rc1::IfcGeomodel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[519]); } const IfcParse::entity& Ifc4x3_rc1::IfcGeomodel::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[519]); } Ifc4x3_rc1::IfcGeomodel::IfcGeomodel(IfcEntityInstanceData&& e) : IfcGeotechnicalAssembly(std::move(e)) { } -Ifc4x3_rc1::IfcGeomodel::IfcGeomodel(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc1::IfcGeomodel::IfcGeomodel(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGeoslice @@ -11640,7 +11640,7 @@ Ifc4x3_rc1::IfcGeomodel::IfcGeomodel(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcO const IfcParse::entity& Ifc4x3_rc1::IfcGeoslice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[520]); } const IfcParse::entity& Ifc4x3_rc1::IfcGeoslice::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[520]); } Ifc4x3_rc1::IfcGeoslice::IfcGeoslice(IfcEntityInstanceData&& e) : IfcGeotechnicalAssembly(std::move(e)) { } -Ifc4x3_rc1::IfcGeoslice::IfcGeoslice(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc1::IfcGeoslice::IfcGeoslice(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGeotechnicalAssembly @@ -11648,7 +11648,7 @@ Ifc4x3_rc1::IfcGeoslice::IfcGeoslice(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcO const IfcParse::entity& Ifc4x3_rc1::IfcGeotechnicalAssembly::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[521]); } const IfcParse::entity& Ifc4x3_rc1::IfcGeotechnicalAssembly::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[521]); } Ifc4x3_rc1::IfcGeotechnicalAssembly::IfcGeotechnicalAssembly(IfcEntityInstanceData&& e) : IfcGeotechnicalElement(std::move(e)) { } -Ifc4x3_rc1::IfcGeotechnicalAssembly::IfcGeotechnicalAssembly(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc1::IfcGeotechnicalAssembly::IfcGeotechnicalAssembly(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGeotechnicalElement @@ -11656,7 +11656,7 @@ Ifc4x3_rc1::IfcGeotechnicalAssembly::IfcGeotechnicalAssembly(std::string v1_Glob const IfcParse::entity& Ifc4x3_rc1::IfcGeotechnicalElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[522]); } const IfcParse::entity& Ifc4x3_rc1::IfcGeotechnicalElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[522]); } Ifc4x3_rc1::IfcGeotechnicalElement::IfcGeotechnicalElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc1::IfcGeotechnicalElement::IfcGeotechnicalElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc1::IfcGeotechnicalElement::IfcGeotechnicalElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGeotechnicalStratum @@ -11664,30 +11664,30 @@ Ifc4x3_rc1::IfcGeotechnicalElement::IfcGeotechnicalElement(std::string v1_Global const IfcParse::entity& Ifc4x3_rc1::IfcGeotechnicalStratum::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[523]); } const IfcParse::entity& Ifc4x3_rc1::IfcGeotechnicalStratum::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[523]); } Ifc4x3_rc1::IfcGeotechnicalStratum::IfcGeotechnicalStratum(IfcEntityInstanceData&& e) : IfcGeotechnicalElement(std::move(e)) { } -Ifc4x3_rc1::IfcGeotechnicalStratum::IfcGeotechnicalStratum(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc1::IfcGeotechnicalStratum::IfcGeotechnicalStratum(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGrid -aggregate_of< ::Ifc4x3_rc1::IfcGridAxis >::ptr Ifc4x3_rc1::IfcGrid::UAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc1::IfcGridAxis >(); } +aggregate_of< ::Ifc4x3_rc1::IfcGridAxis >::ptr Ifc4x3_rc1::IfcGrid::UAxes() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc1::IfcGridAxis >(); } void Ifc4x3_rc1::IfcGrid::setUAxes(aggregate_of< ::Ifc4x3_rc1::IfcGridAxis >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } -aggregate_of< ::Ifc4x3_rc1::IfcGridAxis >::ptr Ifc4x3_rc1::IfcGrid::VAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_rc1::IfcGridAxis >(); } +aggregate_of< ::Ifc4x3_rc1::IfcGridAxis >::ptr Ifc4x3_rc1::IfcGrid::VAxes() const { aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_rc1::IfcGridAxis >(); } void Ifc4x3_rc1::IfcGrid::setVAxes(aggregate_of< ::Ifc4x3_rc1::IfcGridAxis >::ptr v) { set_attribute_value(8, (v)->generalize());if constexpr (false)unset_attribute_value(8); } -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcGridAxis >::ptr > Ifc4x3_rc1::IfcGrid::WAxes() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3_rc1::IfcGridAxis >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcGridAxis >::ptr > Ifc4x3_rc1::IfcGrid::WAxes() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3_rc1::IfcGridAxis >(); } void Ifc4x3_rc1::IfcGrid::setWAxes(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcGridAxis >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x3_rc1::IfcGridTypeEnum::Value > Ifc4x3_rc1::IfcGrid::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcGridTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc1::IfcGridTypeEnum::Value > Ifc4x3_rc1::IfcGrid::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcGridTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc1::IfcGrid::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcGridTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc1::IfcGridTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc1::IfcGrid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[526]); } const IfcParse::entity& Ifc4x3_rc1::IfcGrid::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[526]); } Ifc4x3_rc1::IfcGrid::IfcGrid(IfcEntityInstanceData&& e) : IfcPositioningElement(std::move(e)) { } -Ifc4x3_rc1::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, aggregate_of< ::Ifc4x3_rc1::IfcGridAxis >::ptr v8_UAxes, aggregate_of< ::Ifc4x3_rc1::IfcGridAxis >::ptr v9_VAxes, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcGridAxis >::ptr > v10_WAxes, boost::optional< ::Ifc4x3_rc1::IfcGridTypeEnum::Value > v11_PredefinedType) : IfcPositioningElement(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_UAxes)->generalize());set_attribute_value(8, (v9_VAxes)->generalize()); if (v10_WAxes) {set_attribute_value(9, (*v10_WAxes)->generalize()); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, aggregate_of< ::Ifc4x3_rc1::IfcGridAxis >::ptr v8_UAxes, aggregate_of< ::Ifc4x3_rc1::IfcGridAxis >::ptr v9_VAxes, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcGridAxis >::ptr > v10_WAxes, boost::optional< ::Ifc4x3_rc1::IfcGridTypeEnum::Value > v11_PredefinedType) : IfcPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_UAxes)->generalize());set_attribute_value(8, (v9_VAxes)->generalize()); if (v10_WAxes) {set_attribute_value(9, (*v10_WAxes)->generalize()); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGridAxis -boost::optional< std::string > Ifc4x3_rc1::IfcGridAxis::AxisTag() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcGridAxis::AxisTag() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcCurve>(true); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcGridAxis::setAxisCurve(::Ifc4x3_rc1::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -bool Ifc4x3_rc1::IfcGridAxis::SameSense() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x3_rc1::IfcGridAxis::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcGridAxis::setSameSense(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } ::Ifc4x3_rc1::IfcGrid::list::ptr Ifc4x3_rc1::IfcGridAxis::PartOfW() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[526], 9)->as(); } @@ -11698,19 +11698,19 @@ void Ifc4x3_rc1::IfcGridAxis::setSameSense(bool v) { set_attribute_value(2, v);i const IfcParse::entity& Ifc4x3_rc1::IfcGridAxis::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[527]); } const IfcParse::entity& Ifc4x3_rc1::IfcGridAxis::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[527]); } Ifc4x3_rc1::IfcGridAxis::IfcGridAxis(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, ::Ifc4x3_rc1::IfcCurve* v2_AxisCurve, bool v3_SameSense) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, v2_AxisCurve ? v2_AxisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } +Ifc4x3_rc1::IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, ::Ifc4x3_rc1::IfcCurve* v2_AxisCurve, bool v3_SameSense) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, v2_AxisCurve ? v2_AxisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } // Function implementations for IfcGridPlacement -::Ifc4x3_rc1::IfcVirtualGridIntersection* Ifc4x3_rc1::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcVirtualGridIntersection>(true); } +::Ifc4x3_rc1::IfcVirtualGridIntersection* Ifc4x3_rc1::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcVirtualGridIntersection>(true); } void Ifc4x3_rc1::IfcGridPlacement::setPlacementLocation(::Ifc4x3_rc1::IfcVirtualGridIntersection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcGridPlacementDirectionSelect* Ifc4x3_rc1::IfcGridPlacement::PlacementRefDirection() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcGridPlacementDirectionSelect>(true); } +::Ifc4x3_rc1::IfcGridPlacementDirectionSelect* Ifc4x3_rc1::IfcGridPlacement::PlacementRefDirection() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcGridPlacementDirectionSelect>(true); } void Ifc4x3_rc1::IfcGridPlacement::setPlacementRefDirection(::Ifc4x3_rc1::IfcGridPlacementDirectionSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc1::IfcGridPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[528]); } const IfcParse::entity& Ifc4x3_rc1::IfcGridPlacement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[528]); } Ifc4x3_rc1::IfcGridPlacement::IfcGridPlacement(IfcEntityInstanceData&& e) : IfcObjectPlacement(std::move(e)) { } -Ifc4x3_rc1::IfcGridPlacement::IfcGridPlacement(::Ifc4x3_rc1::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc1::IfcVirtualGridIntersection* v2_PlacementLocation, ::Ifc4x3_rc1::IfcGridPlacementDirectionSelect* v3_PlacementRefDirection) : IfcObjectPlacement(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementLocation ? v2_PlacementLocation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PlacementRefDirection ? v3_PlacementRefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcGridPlacement::IfcGridPlacement(::Ifc4x3_rc1::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc1::IfcVirtualGridIntersection* v2_PlacementLocation, ::Ifc4x3_rc1::IfcGridPlacementDirectionSelect* v3_PlacementRefDirection) : IfcObjectPlacement(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementLocation ? v2_PlacementLocation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PlacementRefDirection ? v3_PlacementRefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcGroup @@ -11719,156 +11719,156 @@ Ifc4x3_rc1::IfcGridPlacement::IfcGridPlacement(::Ifc4x3_rc1::IfcObjectPlacement* const IfcParse::entity& Ifc4x3_rc1::IfcGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[531]); } const IfcParse::entity& Ifc4x3_rc1::IfcGroup::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[531]); } Ifc4x3_rc1::IfcGroup::IfcGroup(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_rc1::IfcGroup::IfcGroup(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc4x3_rc1::IfcGroup::IfcGroup(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcHalfSpaceSolid -::Ifc4x3_rc1::IfcSurface* Ifc4x3_rc1::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcSurface>(true); } +::Ifc4x3_rc1::IfcSurface* Ifc4x3_rc1::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcSurface>(true); } void Ifc4x3_rc1::IfcHalfSpaceSolid::setBaseSurface(::Ifc4x3_rc1::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -bool Ifc4x3_rc1::IfcHalfSpaceSolid::AgreementFlag() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x3_rc1::IfcHalfSpaceSolid::AgreementFlag() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcHalfSpaceSolid::setAgreementFlag(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcHalfSpaceSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[532]); } const IfcParse::entity& Ifc4x3_rc1::IfcHalfSpaceSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[532]); } Ifc4x3_rc1::IfcHalfSpaceSolid::IfcHalfSpaceSolid(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcHalfSpaceSolid::IfcHalfSpaceSolid(::Ifc4x3_rc1::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));; populate_derived(); } +Ifc4x3_rc1::IfcHalfSpaceSolid::IfcHalfSpaceSolid(::Ifc4x3_rc1::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));; populate_derived(); } // Function implementations for IfcHeatExchanger -boost::optional< ::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value > Ifc4x3_rc1::IfcHeatExchanger::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value > Ifc4x3_rc1::IfcHeatExchanger::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcHeatExchanger::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcHeatExchanger::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[534]); } const IfcParse::entity& Ifc4x3_rc1::IfcHeatExchanger::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[534]); } Ifc4x3_rc1::IfcHeatExchanger::IfcHeatExchanger(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc1::IfcHeatExchanger::IfcHeatExchanger(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcHeatExchanger::IfcHeatExchanger(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcHeatExchangerType -::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value Ifc4x3_rc1::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value Ifc4x3_rc1::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcHeatExchangerType::setPredefinedType(::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcHeatExchangerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[535]); } const IfcParse::entity& Ifc4x3_rc1::IfcHeatExchangerType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[535]); } Ifc4x3_rc1::IfcHeatExchangerType::IfcHeatExchangerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc1::IfcHeatExchangerType::IfcHeatExchangerType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcHeatExchangerType::IfcHeatExchangerType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcHumidifier -boost::optional< ::Ifc4x3_rc1::IfcHumidifierTypeEnum::Value > Ifc4x3_rc1::IfcHumidifier::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcHumidifierTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcHumidifierTypeEnum::Value > Ifc4x3_rc1::IfcHumidifier::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcHumidifierTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcHumidifier::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcHumidifierTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcHumidifierTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcHumidifier::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[539]); } const IfcParse::entity& Ifc4x3_rc1::IfcHumidifier::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[539]); } Ifc4x3_rc1::IfcHumidifier::IfcHumidifier(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc1::IfcHumidifier::IfcHumidifier(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcHumidifierTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcHumidifier::IfcHumidifier(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcHumidifierTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcHumidifierType -::Ifc4x3_rc1::IfcHumidifierTypeEnum::Value Ifc4x3_rc1::IfcHumidifierType::PredefinedType() const { return ::Ifc4x3_rc1::IfcHumidifierTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcHumidifierTypeEnum::Value Ifc4x3_rc1::IfcHumidifierType::PredefinedType() const { return ::Ifc4x3_rc1::IfcHumidifierTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcHumidifierType::setPredefinedType(::Ifc4x3_rc1::IfcHumidifierTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcHumidifierTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcHumidifierType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[540]); } const IfcParse::entity& Ifc4x3_rc1::IfcHumidifierType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[540]); } Ifc4x3_rc1::IfcHumidifierType::IfcHumidifierType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc1::IfcHumidifierType::IfcHumidifierType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcHumidifierTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcHumidifierType::IfcHumidifierType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcHumidifierTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcIShapeProfileDef -double Ifc4x3_rc1::IfcIShapeProfileDef::OverallWidth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc1::IfcIShapeProfileDef::OverallWidth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcIShapeProfileDef::setOverallWidth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc1::IfcIShapeProfileDef::OverallDepth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc1::IfcIShapeProfileDef::OverallDepth() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcIShapeProfileDef::setOverallDepth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc1::IfcIShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc1::IfcIShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcIShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc1::IfcIShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc1::IfcIShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcIShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc1::IfcIShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc1::IfcIShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcIShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc1::IfcIShapeProfileDef::FlangeEdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc1::IfcIShapeProfileDef::FlangeEdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcIShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_rc1::IfcIShapeProfileDef::FlangeSlope() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc1::IfcIShapeProfileDef::FlangeSlope() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc1::IfcIShapeProfileDef::setFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc1::IfcIShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[570]); } const IfcParse::entity& Ifc4x3_rc1::IfcIShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[570]); } Ifc4x3_rc1::IfcIShapeProfileDef::IfcIShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_rc1::IfcIShapeProfileDef::IfcIShapeProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::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(storage_t(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } +Ifc4x3_rc1::IfcIShapeProfileDef::IfcIShapeProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::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(in_memory_attribute_storage(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } // Function implementations for IfcImageTexture -std::string Ifc4x3_rc1::IfcImageTexture::URLReference() const { std::string v = data_.get_attribute_value(5); return v; } +std::string Ifc4x3_rc1::IfcImageTexture::URLReference() const { std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcImageTexture::setURLReference(std::string v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcImageTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[544]); } const IfcParse::entity& Ifc4x3_rc1::IfcImageTexture::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[544]); } Ifc4x3_rc1::IfcImageTexture::IfcImageTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -Ifc4x3_rc1::IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) : IfcSurfaceTexture(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference));; populate_derived(); } +Ifc4x3_rc1::IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) : IfcSurfaceTexture(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference));; populate_derived(); } // Function implementations for IfcImpactProtectionDevice -::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect* Ifc4x3_rc1::IfcImpactProtectionDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect>(true); } +::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect* Ifc4x3_rc1::IfcImpactProtectionDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect>(true); } void Ifc4x3_rc1::IfcImpactProtectionDevice::setPredefinedType(::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc1::IfcImpactProtectionDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[545]); } const IfcParse::entity& Ifc4x3_rc1::IfcImpactProtectionDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[545]); } Ifc4x3_rc1::IfcImpactProtectionDevice::IfcImpactProtectionDevice(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_rc1::IfcImpactProtectionDevice::IfcImpactProtectionDevice(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect* v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, v9_PredefinedType ? v9_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcImpactProtectionDevice::IfcImpactProtectionDevice(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect* v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, v9_PredefinedType ? v9_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcImpactProtectionDeviceType -::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect* Ifc4x3_rc1::IfcImpactProtectionDeviceType::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect>(true); } +::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect* Ifc4x3_rc1::IfcImpactProtectionDeviceType::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect>(true); } void Ifc4x3_rc1::IfcImpactProtectionDeviceType::setPredefinedType(::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcImpactProtectionDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[546]); } const IfcParse::entity& Ifc4x3_rc1::IfcImpactProtectionDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[546]); } Ifc4x3_rc1::IfcImpactProtectionDeviceType::IfcImpactProtectionDeviceType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_rc1::IfcImpactProtectionDeviceType::IfcImpactProtectionDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect* v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, v10_PredefinedType ? v10_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcImpactProtectionDeviceType::IfcImpactProtectionDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcImpactProtectionDeviceTypeSelect* v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, v10_PredefinedType ? v10_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcInclinedReferenceSweptAreaSolid -boost::optional< bool > Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid::FixedAxisVertical() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } bool v = data_.get_attribute_value(5); return v; } +boost::optional< bool > Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid::FixedAxisVertical() const { if(get_attribute_value(5).isNull()) { return boost::none; } bool v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid::setFixedAxisVertical(boost::optional< bool > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc1::IfcAxisLateralInclination* Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid::Inclinating() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcAxisLateralInclination>(true); } +::Ifc4x3_rc1::IfcAxisLateralInclination* Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid::Inclinating() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcAxisLateralInclination>(true); } void Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid::setInclinating(::Ifc4x3_rc1::IfcAxisLateralInclination* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[549]); } const IfcParse::entity& Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[549]); } Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid::IfcInclinedReferenceSweptAreaSolid(IfcEntityInstanceData&& e) : IfcDirectrixDistanceSweptAreaSolid(std::move(e)) { } -Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid::IfcInclinedReferenceSweptAreaSolid(::Ifc4x3_rc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc1::IfcCurve* v3_Directrix, ::Ifc4x3_rc1::IfcDistanceExpression* v4_StartDistance, ::Ifc4x3_rc1::IfcDistanceExpression* v5_EndDistance, boost::optional< bool > v6_FixedAxisVertical, ::Ifc4x3_rc1::IfcAxisLateralInclination* v7_Inclinating) : IfcDirectrixDistanceSweptAreaSolid(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartDistance ? v4_StartDistance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndDistance ? v5_EndDistance->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_FixedAxisVertical) {set_attribute_value(5, (*v6_FixedAxisVertical)); }set_attribute_value(6, v7_Inclinating ? v7_Inclinating->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid::IfcInclinedReferenceSweptAreaSolid(::Ifc4x3_rc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc1::IfcCurve* v3_Directrix, ::Ifc4x3_rc1::IfcDistanceExpression* v4_StartDistance, ::Ifc4x3_rc1::IfcDistanceExpression* v5_EndDistance, boost::optional< bool > v6_FixedAxisVertical, ::Ifc4x3_rc1::IfcAxisLateralInclination* v7_Inclinating) : IfcDirectrixDistanceSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartDistance ? v4_StartDistance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndDistance ? v5_EndDistance->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_FixedAxisVertical) {set_attribute_value(5, (*v6_FixedAxisVertical)); }set_attribute_value(6, v7_Inclinating ? v7_Inclinating->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcIndexedColourMap -::Ifc4x3_rc1::IfcTessellatedFaceSet* Ifc4x3_rc1::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcTessellatedFaceSet>(true); } +::Ifc4x3_rc1::IfcTessellatedFaceSet* Ifc4x3_rc1::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcTessellatedFaceSet>(true); } void Ifc4x3_rc1::IfcIndexedColourMap::setMappedTo(::Ifc4x3_rc1::IfcTessellatedFaceSet* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< double > Ifc4x3_rc1::IfcIndexedColourMap::Opacity() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc1::IfcIndexedColourMap::Opacity() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcIndexedColourMap::setOpacity(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc1::IfcColourRgbList* Ifc4x3_rc1::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcColourRgbList>(true); } +::Ifc4x3_rc1::IfcColourRgbList* Ifc4x3_rc1::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcColourRgbList>(true); } void Ifc4x3_rc1::IfcIndexedColourMap::setColours(::Ifc4x3_rc1::IfcColourRgbList* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -std::vector< int > /*[1:?]*/ Ifc4x3_rc1::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +std::vector< int > /*[1:?]*/ Ifc4x3_rc1::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcIndexedColourMap::setColourIndex(std::vector< int > /*[1:?]*/ v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcIndexedColourMap::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[550]); } const IfcParse::entity& Ifc4x3_rc1::IfcIndexedColourMap::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[550]); } Ifc4x3_rc1::IfcIndexedColourMap::IfcIndexedColourMap(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3_rc1::IfcTessellatedFaceSet* v1_MappedTo, boost::optional< double > v2_Opacity, ::Ifc4x3_rc1::IfcColourRgbList* v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) : IfcPresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_MappedTo ? v1_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, v3_Colours ? v3_Colours->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ColourIndex));; populate_derived(); } +Ifc4x3_rc1::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3_rc1::IfcTessellatedFaceSet* v1_MappedTo, boost::optional< double > v2_Opacity, ::Ifc4x3_rc1::IfcColourRgbList* v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_MappedTo ? v1_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, v3_Colours ? v3_Colours->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ColourIndex));; populate_derived(); } // Function implementations for IfcIndexedPolyCurve -::Ifc4x3_rc1::IfcCartesianPointList* Ifc4x3_rc1::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCartesianPointList>(true); } +::Ifc4x3_rc1::IfcCartesianPointList* Ifc4x3_rc1::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCartesianPointList>(true); } void Ifc4x3_rc1::IfcIndexedPolyCurve::setPoints(::Ifc4x3_rc1::IfcCartesianPointList* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcSegmentIndexSelect >::ptr > Ifc4x3_rc1::IfcIndexedPolyCurve::Segments() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcSegmentIndexSelect >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcSegmentIndexSelect >::ptr > Ifc4x3_rc1::IfcIndexedPolyCurve::Segments() const { if(get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcSegmentIndexSelect >(); } void Ifc4x3_rc1::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcSegmentIndexSelect >::ptr > v) { if (v) {set_attribute_value(1, (*v)->generalize());} else {unset_attribute_value(1);} } -boost::optional< bool > Ifc4x3_rc1::IfcIndexedPolyCurve::SelfIntersect() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } bool v = data_.get_attribute_value(2); return v; } +boost::optional< bool > Ifc4x3_rc1::IfcIndexedPolyCurve::SelfIntersect() const { if(get_attribute_value(2).isNull()) { return boost::none; } bool v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc1::IfcIndexedPolyCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[551]); } const IfcParse::entity& Ifc4x3_rc1::IfcIndexedPolyCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[551]); } Ifc4x3_rc1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_rc1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_rc1::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Points ? v1_Points->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Segments) {set_attribute_value(1, (*v2_Segments)->generalize()); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); }; populate_derived(); } +Ifc4x3_rc1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_rc1::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Points ? v1_Points->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Segments) {set_attribute_value(1, (*v2_Segments)->generalize()); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); }; populate_derived(); } // Function implementations for IfcIndexedPolygonalFace -std::vector< int > /*[3:?]*/ Ifc4x3_rc1::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = data_.get_attribute_value(0); return v; } +std::vector< int > /*[3:?]*/ Ifc4x3_rc1::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcIndexedPolygonalFace::setCoordIndex(std::vector< int > /*[3:?]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_rc1::IfcPolygonalFaceSet::list::ptr Ifc4x3_rc1::IfcIndexedPolygonalFace::ToFaceSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[783], 2)->as(); } @@ -11876,59 +11876,59 @@ void Ifc4x3_rc1::IfcIndexedPolygonalFace::setCoordIndex(std::vector< int > /*[3: const IfcParse::entity& Ifc4x3_rc1::IfcIndexedPolygonalFace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[552]); } const IfcParse::entity& Ifc4x3_rc1::IfcIndexedPolygonalFace::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[552]); } Ifc4x3_rc1::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(IfcEntityInstanceData&& e) : IfcTessellatedItem(std::move(e)) { } -Ifc4x3_rc1::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(std::vector< int > /*[3:?]*/ v1_CoordIndex) : IfcTessellatedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CoordIndex));; populate_derived(); } +Ifc4x3_rc1::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(std::vector< int > /*[3:?]*/ v1_CoordIndex) : IfcTessellatedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CoordIndex));; populate_derived(); } // Function implementations for IfcIndexedPolygonalFaceWithVoids -std::vector< std::vector< int > > Ifc4x3_rc1::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { std::vector< std::vector< int > > v = data_.get_attribute_value(1); return v; } +std::vector< std::vector< int > > Ifc4x3_rc1::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { std::vector< std::vector< int > > v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcIndexedPolygonalFaceWithVoids::setInnerCoordIndices(std::vector< std::vector< int > > v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcIndexedPolygonalFaceWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[553]); } const IfcParse::entity& Ifc4x3_rc1::IfcIndexedPolygonalFaceWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[553]); } Ifc4x3_rc1::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(IfcEntityInstanceData&& e) : IfcIndexedPolygonalFace(std::move(e)) { } -Ifc4x3_rc1::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) : IfcIndexedPolygonalFace(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices));; populate_derived(); } +Ifc4x3_rc1::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) : IfcIndexedPolygonalFace(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices));; populate_derived(); } // Function implementations for IfcIndexedTextureMap -::Ifc4x3_rc1::IfcTessellatedFaceSet* Ifc4x3_rc1::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcTessellatedFaceSet>(true); } +::Ifc4x3_rc1::IfcTessellatedFaceSet* Ifc4x3_rc1::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcTessellatedFaceSet>(true); } void Ifc4x3_rc1::IfcIndexedTextureMap::setMappedTo(::Ifc4x3_rc1::IfcTessellatedFaceSet* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcTextureVertexList* Ifc4x3_rc1::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcTextureVertexList>(true); } +::Ifc4x3_rc1::IfcTextureVertexList* Ifc4x3_rc1::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcTextureVertexList>(true); } void Ifc4x3_rc1::IfcIndexedTextureMap::setTexCoords(::Ifc4x3_rc1::IfcTextureVertexList* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc1::IfcIndexedTextureMap::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[554]); } const IfcParse::entity& Ifc4x3_rc1::IfcIndexedTextureMap::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[554]); } Ifc4x3_rc1::IfcIndexedTextureMap::IfcIndexedTextureMap(IfcEntityInstanceData&& e) : IfcTextureCoordinate(std::move(e)) { } -Ifc4x3_rc1::IfcIndexedTextureMap::IfcIndexedTextureMap(aggregate_of< ::Ifc4x3_rc1::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_rc1::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_rc1::IfcTextureVertexList* v3_TexCoords) : IfcTextureCoordinate(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcIndexedTextureMap::IfcIndexedTextureMap(aggregate_of< ::Ifc4x3_rc1::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_rc1::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_rc1::IfcTextureVertexList* v3_TexCoords) : IfcTextureCoordinate(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcIndexedTriangleTextureMap -boost::optional< std::vector< std::vector< int > > > Ifc4x3_rc1::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::vector< int > > v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< std::vector< int > > > Ifc4x3_rc1::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::vector< int > > v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcIndexedTriangleTextureMap::setTexCoordIndex(boost::optional< std::vector< std::vector< int > > > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc1::IfcIndexedTriangleTextureMap::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[555]); } const IfcParse::entity& Ifc4x3_rc1::IfcIndexedTriangleTextureMap::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[555]); } Ifc4x3_rc1::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(IfcEntityInstanceData&& e) : IfcIndexedTextureMap(std::move(e)) { } -Ifc4x3_rc1::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(aggregate_of< ::Ifc4x3_rc1::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_rc1::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_rc1::IfcTextureVertexList* v3_TexCoords, boost::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) : IfcIndexedTextureMap(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); }; populate_derived(); } +Ifc4x3_rc1::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(aggregate_of< ::Ifc4x3_rc1::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_rc1::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_rc1::IfcTextureVertexList* v3_TexCoords, boost::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) : IfcIndexedTextureMap(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); }; populate_derived(); } // Function implementations for IfcInterceptor -boost::optional< ::Ifc4x3_rc1::IfcInterceptorTypeEnum::Value > Ifc4x3_rc1::IfcInterceptor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcInterceptorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcInterceptorTypeEnum::Value > Ifc4x3_rc1::IfcInterceptor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcInterceptorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcInterceptor::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcInterceptorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcInterceptorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcInterceptor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[559]); } const IfcParse::entity& Ifc4x3_rc1::IfcInterceptor::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[559]); } Ifc4x3_rc1::IfcInterceptor::IfcInterceptor(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4x3_rc1::IfcInterceptor::IfcInterceptor(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcInterceptorTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcInterceptor::IfcInterceptor(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcInterceptorTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcInterceptorType -::Ifc4x3_rc1::IfcInterceptorTypeEnum::Value Ifc4x3_rc1::IfcInterceptorType::PredefinedType() const { return ::Ifc4x3_rc1::IfcInterceptorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcInterceptorTypeEnum::Value Ifc4x3_rc1::IfcInterceptorType::PredefinedType() const { return ::Ifc4x3_rc1::IfcInterceptorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcInterceptorType::setPredefinedType(::Ifc4x3_rc1::IfcInterceptorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcInterceptorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcInterceptorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[560]); } const IfcParse::entity& Ifc4x3_rc1::IfcInterceptorType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[560]); } Ifc4x3_rc1::IfcInterceptorType::IfcInterceptorType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4x3_rc1::IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcInterceptorTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcInterceptorTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcIntersectionCurve @@ -11936,174 +11936,174 @@ Ifc4x3_rc1::IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x3_rc1::IfcIntersectionCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[564]); } const IfcParse::entity& Ifc4x3_rc1::IfcIntersectionCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[564]); } Ifc4x3_rc1::IfcIntersectionCurve::IfcIntersectionCurve(IfcEntityInstanceData&& e) : IfcSurfaceCurve(std::move(e)) { } -Ifc4x3_rc1::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4x3_rc1::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_rc1::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } +Ifc4x3_rc1::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4x3_rc1::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_rc1::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcInventory -boost::optional< ::Ifc4x3_rc1::IfcInventoryTypeEnum::Value > Ifc4x3_rc1::IfcInventory::PredefinedType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcInventoryTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3_rc1::IfcInventoryTypeEnum::Value > Ifc4x3_rc1::IfcInventory::PredefinedType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcInventoryTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc1::IfcInventory::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcInventoryTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc1::IfcInventoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcInventory::Jurisdiction() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcActorSelect>(true); } +::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcInventory::Jurisdiction() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcActorSelect>(true); } void Ifc4x3_rc1::IfcInventory::setJurisdiction(::Ifc4x3_rc1::IfcActorSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPerson >::ptr > Ifc4x3_rc1::IfcInventory::ResponsiblePersons() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc1::IfcPerson >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPerson >::ptr > Ifc4x3_rc1::IfcInventory::ResponsiblePersons() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc1::IfcPerson >(); } void Ifc4x3_rc1::IfcInventory::setResponsiblePersons(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPerson >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc1::IfcInventory::LastUpdateDate() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcInventory::LastUpdateDate() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcInventory::setLastUpdateDate(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_rc1::IfcCostValue* Ifc4x3_rc1::IfcInventory::CurrentValue() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc1::IfcCostValue>(true); } +::Ifc4x3_rc1::IfcCostValue* Ifc4x3_rc1::IfcInventory::CurrentValue() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc1::IfcCostValue>(true); } void Ifc4x3_rc1::IfcInventory::setCurrentValue(::Ifc4x3_rc1::IfcCostValue* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc1::IfcCostValue* Ifc4x3_rc1::IfcInventory::OriginalValue() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_rc1::IfcCostValue>(true); } +::Ifc4x3_rc1::IfcCostValue* Ifc4x3_rc1::IfcInventory::OriginalValue() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_rc1::IfcCostValue>(true); } void Ifc4x3_rc1::IfcInventory::setOriginalValue(::Ifc4x3_rc1::IfcCostValue* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_rc1::IfcInventory::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[565]); } const IfcParse::entity& Ifc4x3_rc1::IfcInventory::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[565]); } Ifc4x3_rc1::IfcInventory::IfcInventory(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x3_rc1::IfcInventory::IfcInventory(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_rc1::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_rc1::IfcActorSelect* v7_Jurisdiction, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPerson >::ptr > v8_ResponsiblePersons, boost::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_rc1::IfcCostValue* v10_CurrentValue, ::Ifc4x3_rc1::IfcCostValue* v11_OriginalValue) : IfcGroup(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, v7_Jurisdiction ? v7_Jurisdiction->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_ResponsiblePersons) {set_attribute_value(7, (*v8_ResponsiblePersons)->generalize()); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, v10_CurrentValue ? v10_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_OriginalValue ? v11_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcInventory::IfcInventory(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_rc1::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_rc1::IfcActorSelect* v7_Jurisdiction, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPerson >::ptr > v8_ResponsiblePersons, boost::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_rc1::IfcCostValue* v10_CurrentValue, ::Ifc4x3_rc1::IfcCostValue* v11_OriginalValue) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, v7_Jurisdiction ? v7_Jurisdiction->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_ResponsiblePersons) {set_attribute_value(7, (*v8_ResponsiblePersons)->generalize()); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, v10_CurrentValue ? v10_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_OriginalValue ? v11_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcIrregularTimeSeries -aggregate_of< ::Ifc4x3_rc1::IfcIrregularTimeSeriesValue >::ptr Ifc4x3_rc1::IfcIrregularTimeSeries::Values() const { aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_rc1::IfcIrregularTimeSeriesValue >(); } +aggregate_of< ::Ifc4x3_rc1::IfcIrregularTimeSeriesValue >::ptr Ifc4x3_rc1::IfcIrregularTimeSeries::Values() const { aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_rc1::IfcIrregularTimeSeriesValue >(); } void Ifc4x3_rc1::IfcIrregularTimeSeries::setValues(aggregate_of< ::Ifc4x3_rc1::IfcIrregularTimeSeriesValue >::ptr v) { set_attribute_value(8, (v)->generalize());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc1::IfcIrregularTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[568]); } const IfcParse::entity& Ifc4x3_rc1::IfcIrregularTimeSeries::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[568]); } Ifc4x3_rc1::IfcIrregularTimeSeries::IfcIrregularTimeSeries(IfcEntityInstanceData&& e) : IfcTimeSeries(std::move(e)) { } -Ifc4x3_rc1::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc1::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc1::IfcUnit* v8_Unit, aggregate_of< ::Ifc4x3_rc1::IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_Values)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc1::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc1::IfcUnit* v8_Unit, aggregate_of< ::Ifc4x3_rc1::IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_Values)->generalize());; populate_derived(); } // Function implementations for IfcIrregularTimeSeriesValue -std::string Ifc4x3_rc1::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc1::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcIrregularTimeSeriesValue::setTimeStamp(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr Ifc4x3_rc1::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcValue >(); } +aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr Ifc4x3_rc1::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcValue >(); } void Ifc4x3_rc1::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcIrregularTimeSeriesValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[569]); } const IfcParse::entity& Ifc4x3_rc1::IfcIrregularTimeSeriesValue::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[569]); } Ifc4x3_rc1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, (v2_ListValues)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, (v2_ListValues)->generalize());; populate_derived(); } // Function implementations for IfcJunctionBox -boost::optional< ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value > Ifc4x3_rc1::IfcJunctionBox::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value > Ifc4x3_rc1::IfcJunctionBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcJunctionBox::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcJunctionBox::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[572]); } const IfcParse::entity& Ifc4x3_rc1::IfcJunctionBox::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[572]); } Ifc4x3_rc1::IfcJunctionBox::IfcJunctionBox(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x3_rc1::IfcJunctionBox::IfcJunctionBox(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcJunctionBox::IfcJunctionBox(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcJunctionBoxType -::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value Ifc4x3_rc1::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value Ifc4x3_rc1::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcJunctionBoxType::setPredefinedType(::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcJunctionBoxType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[573]); } const IfcParse::entity& Ifc4x3_rc1::IfcJunctionBoxType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[573]); } Ifc4x3_rc1::IfcJunctionBoxType::IfcJunctionBoxType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x3_rc1::IfcJunctionBoxType::IfcJunctionBoxType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcJunctionBoxType::IfcJunctionBoxType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcKerb -bool Ifc4x3_rc1::IfcKerb::Mountable() const { bool v = data_.get_attribute_value(8); return v; } +bool Ifc4x3_rc1::IfcKerb::Mountable() const { bool v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcKerb::setMountable(bool v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc1::IfcKerb::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[575]); } const IfcParse::entity& Ifc4x3_rc1::IfcKerb::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[575]); } Ifc4x3_rc1::IfcKerb::IfcKerb(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc1::IfcKerb::IfcKerb(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, bool v9_Mountable) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_Mountable));; populate_derived(); } +Ifc4x3_rc1::IfcKerb::IfcKerb(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, bool v9_Mountable) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_Mountable));; populate_derived(); } // Function implementations for IfcKerbType -bool Ifc4x3_rc1::IfcKerbType::Mountable() const { bool v = data_.get_attribute_value(9); return v; } +bool Ifc4x3_rc1::IfcKerbType::Mountable() const { bool v = get_attribute_value(9); return v; } void Ifc4x3_rc1::IfcKerbType::setMountable(bool v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcKerbType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[576]); } const IfcParse::entity& Ifc4x3_rc1::IfcKerbType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[576]); } Ifc4x3_rc1::IfcKerbType::IfcKerbType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc1::IfcKerbType::IfcKerbType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, bool v10_Mountable) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_Mountable));; populate_derived(); } +Ifc4x3_rc1::IfcKerbType::IfcKerbType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, bool v10_Mountable) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_Mountable));; populate_derived(); } // Function implementations for IfcLShapeProfileDef -double Ifc4x3_rc1::IfcLShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc1::IfcLShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcLShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< double > Ifc4x3_rc1::IfcLShapeProfileDef::Width() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc1::IfcLShapeProfileDef::Width() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcLShapeProfileDef::setWidth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -double Ifc4x3_rc1::IfcLShapeProfileDef::Thickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc1::IfcLShapeProfileDef::Thickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcLShapeProfileDef::setThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_rc1::IfcLShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc1::IfcLShapeProfileDef::FilletRadius() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcLShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_rc1::IfcLShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc1::IfcLShapeProfileDef::EdgeRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcLShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc1::IfcLShapeProfileDef::LegSlope() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc1::IfcLShapeProfileDef::LegSlope() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcLShapeProfileDef::setLegSlope(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcLShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[629]); } const IfcParse::entity& Ifc4x3_rc1::IfcLShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[629]); } Ifc4x3_rc1::IfcLShapeProfileDef::IfcLShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_rc1::IfcLShapeProfileDef::IfcLShapeProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::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(storage_t(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); }; populate_derived(); } +Ifc4x3_rc1::IfcLShapeProfileDef::IfcLShapeProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::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(in_memory_attribute_storage(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); }; populate_derived(); } // Function implementations for IfcLaborResource -boost::optional< ::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Value > Ifc4x3_rc1::IfcLaborResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcLaborResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Value > Ifc4x3_rc1::IfcLaborResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcLaborResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc1::IfcLaborResource::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc1::IfcLaborResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[580]); } const IfcParse::entity& Ifc4x3_rc1::IfcLaborResource::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[580]); } Ifc4x3_rc1::IfcLaborResource::IfcLaborResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_rc1::IfcLaborResource::IfcLaborResource(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcLaborResource::IfcLaborResource(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLaborResourceType -::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Value Ifc4x3_rc1::IfcLaborResourceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcLaborResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Value Ifc4x3_rc1::IfcLaborResourceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcLaborResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc1::IfcLaborResourceType::setPredefinedType(::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc1::IfcLaborResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[581]); } const IfcParse::entity& Ifc4x3_rc1::IfcLaborResourceType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[581]); } Ifc4x3_rc1::IfcLaborResourceType::IfcLaborResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_rc1::IfcLaborResourceType::IfcLaborResourceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcLaborResourceType::IfcLaborResourceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcLagTime -::Ifc4x3_rc1::IfcTimeOrRatioSelect* Ifc4x3_rc1::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcTimeOrRatioSelect>(true); } +::Ifc4x3_rc1::IfcTimeOrRatioSelect* Ifc4x3_rc1::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcTimeOrRatioSelect>(true); } void Ifc4x3_rc1::IfcLagTime::setLagValue(::Ifc4x3_rc1::IfcTimeOrRatioSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc1::IfcTaskDurationEnum::Value Ifc4x3_rc1::IfcLagTime::DurationType() const { return ::Ifc4x3_rc1::IfcTaskDurationEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x3_rc1::IfcTaskDurationEnum::Value Ifc4x3_rc1::IfcLagTime::DurationType() const { return ::Ifc4x3_rc1::IfcTaskDurationEnum::FromString(get_attribute_value(4)); } void Ifc4x3_rc1::IfcLagTime::setDurationType(::Ifc4x3_rc1::IfcTaskDurationEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3_rc1::IfcTaskDurationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc1::IfcLagTime::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[583]); } const IfcParse::entity& Ifc4x3_rc1::IfcLagTime::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[583]); } Ifc4x3_rc1::IfcLagTime::IfcLagTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x3_rc1::IfcLagTime::IfcLagTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc1::IfcTimeOrRatioSelect* v4_LagValue, ::Ifc4x3_rc1::IfcTaskDurationEnum::Value v5_DurationType) : IfcSchedulingTime(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_LagValue ? v4_LagValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc1::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType)));; populate_derived(); } +Ifc4x3_rc1::IfcLagTime::IfcLagTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc1::IfcTimeOrRatioSelect* v4_LagValue, ::Ifc4x3_rc1::IfcTaskDurationEnum::Value v5_DurationType) : IfcSchedulingTime(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_LagValue ? v4_LagValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc1::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType)));; populate_derived(); } // Function implementations for IfcLamp -boost::optional< ::Ifc4x3_rc1::IfcLampTypeEnum::Value > Ifc4x3_rc1::IfcLamp::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcLampTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcLampTypeEnum::Value > Ifc4x3_rc1::IfcLamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcLampTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcLamp::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcLampTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcLampTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcLamp::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[584]); } const IfcParse::entity& Ifc4x3_rc1::IfcLamp::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[584]); } Ifc4x3_rc1::IfcLamp::IfcLamp(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc1::IfcLamp::IfcLamp(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcLampTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcLamp::IfcLamp(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcLampTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLampType -::Ifc4x3_rc1::IfcLampTypeEnum::Value Ifc4x3_rc1::IfcLampType::PredefinedType() const { return ::Ifc4x3_rc1::IfcLampTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcLampTypeEnum::Value Ifc4x3_rc1::IfcLampType::PredefinedType() const { return ::Ifc4x3_rc1::IfcLampTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcLampType::setPredefinedType(::Ifc4x3_rc1::IfcLampTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcLampTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcLampType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[585]); } const IfcParse::entity& Ifc4x3_rc1::IfcLampType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[585]); } Ifc4x3_rc1::IfcLampType::IfcLampType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc1::IfcLampType::IfcLampType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcLampTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcLampType::IfcLampType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcLampTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLibraryInformation -std::string Ifc4x3_rc1::IfcLibraryInformation::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc1::IfcLibraryInformation::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcLibraryInformation::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc1::IfcLibraryInformation::Version() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcLibraryInformation::Version() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcLibraryInformation::Publisher() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcActorSelect>(true); } +::Ifc4x3_rc1::IfcActorSelect* Ifc4x3_rc1::IfcLibraryInformation::Publisher() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcActorSelect>(true); } void Ifc4x3_rc1::IfcLibraryInformation::setPublisher(::Ifc4x3_rc1::IfcActorSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x3_rc1::IfcLibraryInformation::VersionDate() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcLibraryInformation::VersionDate() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcLibraryInformation::setVersionDate(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc1::IfcLibraryInformation::Location() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcLibraryInformation::Location() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcLibraryInformation::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc1::IfcLibraryInformation::Description() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcLibraryInformation::Description() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcLibraryInformation::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x3_rc1::IfcRelAssociatesLibrary::list::ptr Ifc4x3_rc1::IfcLibraryInformation::LibraryInfoForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[924], 5)->as(); } @@ -12112,14 +12112,14 @@ void Ifc4x3_rc1::IfcLibraryInformation::setDescription(boost::optional< std::str const IfcParse::entity& Ifc4x3_rc1::IfcLibraryInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[591]); } const IfcParse::entity& Ifc4x3_rc1::IfcLibraryInformation::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[591]); } Ifc4x3_rc1::IfcLibraryInformation::IfcLibraryInformation(IfcEntityInstanceData&& e) : IfcExternalInformation(std::move(e)) { } -Ifc4x3_rc1::IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, boost::optional< std::string > v2_Version, ::Ifc4x3_rc1::IfcActorSelect* v3_Publisher, boost::optional< std::string > v4_VersionDate, boost::optional< std::string > v5_Location, boost::optional< std::string > v6_Description) : IfcExternalInformation(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, v3_Publisher ? v3_Publisher->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); }; populate_derived(); } +Ifc4x3_rc1::IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, boost::optional< std::string > v2_Version, ::Ifc4x3_rc1::IfcActorSelect* v3_Publisher, boost::optional< std::string > v4_VersionDate, boost::optional< std::string > v5_Location, boost::optional< std::string > v6_Description) : IfcExternalInformation(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, v3_Publisher ? v3_Publisher->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); }; populate_derived(); } // Function implementations for IfcLibraryReference -boost::optional< std::string > Ifc4x3_rc1::IfcLibraryReference::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcLibraryReference::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcLibraryReference::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc1::IfcLibraryReference::Language() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcLibraryReference::Language() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcLibraryReference::setLanguage(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc1::IfcLibraryInformation* Ifc4x3_rc1::IfcLibraryReference::ReferencedLibrary() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcLibraryInformation>(true); } +::Ifc4x3_rc1::IfcLibraryInformation* Ifc4x3_rc1::IfcLibraryReference::ReferencedLibrary() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcLibraryInformation>(true); } void Ifc4x3_rc1::IfcLibraryReference::setReferencedLibrary(::Ifc4x3_rc1::IfcLibraryInformation* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc4x3_rc1::IfcRelAssociatesLibrary::list::ptr Ifc4x3_rc1::IfcLibraryReference::LibraryRefForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[924], 5)->as(); } @@ -12127,69 +12127,69 @@ void Ifc4x3_rc1::IfcLibraryReference::setReferencedLibrary(::Ifc4x3_rc1::IfcLibr const IfcParse::entity& Ifc4x3_rc1::IfcLibraryReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[592]); } const IfcParse::entity& Ifc4x3_rc1::IfcLibraryReference::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[592]); } Ifc4x3_rc1::IfcLibraryReference::IfcLibraryReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_rc1::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_rc1::IfcLibraryInformation* v6_ReferencedLibrary) : IfcExternalReference(IfcEntityInstanceData(storage_t(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, v6_ReferencedLibrary ? v6_ReferencedLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::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_rc1::IfcLibraryInformation* v6_ReferencedLibrary) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, v6_ReferencedLibrary ? v6_ReferencedLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLightDistributionData -double Ifc4x3_rc1::IfcLightDistributionData::MainPlaneAngle() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_rc1::IfcLightDistributionData::MainPlaneAngle() const { double v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcLightDistributionData::setMainPlaneAngle(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< double > /*[1:?]*/ Ifc4x3_rc1::IfcLightDistributionData::SecondaryPlaneAngle() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +std::vector< double > /*[1:?]*/ Ifc4x3_rc1::IfcLightDistributionData::SecondaryPlaneAngle() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcLightDistributionData::setSecondaryPlaneAngle(std::vector< double > /*[1:?]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector< double > /*[1:?]*/ Ifc4x3_rc1::IfcLightDistributionData::LuminousIntensity() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(2); return v; } +std::vector< double > /*[1:?]*/ Ifc4x3_rc1::IfcLightDistributionData::LuminousIntensity() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcLightDistributionData::setLuminousIntensity(std::vector< double > /*[1:?]*/ v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc1::IfcLightDistributionData::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[595]); } const IfcParse::entity& Ifc4x3_rc1::IfcLightDistributionData::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[595]); } Ifc4x3_rc1::IfcLightDistributionData::IfcLightDistributionData(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcLightDistributionData::IfcLightDistributionData(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; populate_derived(); } +Ifc4x3_rc1::IfcLightDistributionData::IfcLightDistributionData(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; populate_derived(); } // Function implementations for IfcLightFixture -boost::optional< ::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value > Ifc4x3_rc1::IfcLightFixture::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcLightFixtureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value > Ifc4x3_rc1::IfcLightFixture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcLightFixtureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcLightFixture::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcLightFixture::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[598]); } const IfcParse::entity& Ifc4x3_rc1::IfcLightFixture::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[598]); } Ifc4x3_rc1::IfcLightFixture::IfcLightFixture(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc1::IfcLightFixture::IfcLightFixture(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcLightFixture::IfcLightFixture(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLightFixtureType -::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value Ifc4x3_rc1::IfcLightFixtureType::PredefinedType() const { return ::Ifc4x3_rc1::IfcLightFixtureTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value Ifc4x3_rc1::IfcLightFixtureType::PredefinedType() const { return ::Ifc4x3_rc1::IfcLightFixtureTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcLightFixtureType::setPredefinedType(::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcLightFixtureType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[599]); } const IfcParse::entity& Ifc4x3_rc1::IfcLightFixtureType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[599]); } Ifc4x3_rc1::IfcLightFixtureType::IfcLightFixtureType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc1::IfcLightFixtureType::IfcLightFixtureType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcLightFixtureType::IfcLightFixtureType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLightIntensityDistribution -::Ifc4x3_rc1::IfcLightDistributionCurveEnum::Value Ifc4x3_rc1::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4x3_rc1::IfcLightDistributionCurveEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_rc1::IfcLightDistributionCurveEnum::Value Ifc4x3_rc1::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4x3_rc1::IfcLightDistributionCurveEnum::FromString(get_attribute_value(0)); } void Ifc4x3_rc1::IfcLightIntensityDistribution::setLightDistributionCurve(::Ifc4x3_rc1::IfcLightDistributionCurveEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_rc1::IfcLightDistributionCurveEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc1::IfcLightDistributionData >::ptr Ifc4x3_rc1::IfcLightIntensityDistribution::DistributionData() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcLightDistributionData >(); } +aggregate_of< ::Ifc4x3_rc1::IfcLightDistributionData >::ptr Ifc4x3_rc1::IfcLightIntensityDistribution::DistributionData() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcLightDistributionData >(); } void Ifc4x3_rc1::IfcLightIntensityDistribution::setDistributionData(aggregate_of< ::Ifc4x3_rc1::IfcLightDistributionData >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcLightIntensityDistribution::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[601]); } const IfcParse::entity& Ifc4x3_rc1::IfcLightIntensityDistribution::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[601]); } Ifc4x3_rc1::IfcLightIntensityDistribution::IfcLightIntensityDistribution(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4x3_rc1::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, aggregate_of< ::Ifc4x3_rc1::IfcLightDistributionData >::ptr v2_DistributionData) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, (v2_DistributionData)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4x3_rc1::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, aggregate_of< ::Ifc4x3_rc1::IfcLightDistributionData >::ptr v2_DistributionData) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, (v2_DistributionData)->generalize());; populate_derived(); } // Function implementations for IfcLightSource -boost::optional< std::string > Ifc4x3_rc1::IfcLightSource::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcLightSource::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcLightSource::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_rc1::IfcColourRgb* Ifc4x3_rc1::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcColourRgb>(true); } +::Ifc4x3_rc1::IfcColourRgb* Ifc4x3_rc1::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcColourRgb>(true); } void Ifc4x3_rc1::IfcLightSource::setLightColour(::Ifc4x3_rc1::IfcColourRgb* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_rc1::IfcLightSource::AmbientIntensity() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc1::IfcLightSource::AmbientIntensity() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc1::IfcLightSource::Intensity() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc1::IfcLightSource::Intensity() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcLightSource::setIntensity(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc1::IfcLightSource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[602]); } const IfcParse::entity& Ifc4x3_rc1::IfcLightSource::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[602]); } Ifc4x3_rc1::IfcLightSource::IfcLightSource(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } +Ifc4x3_rc1::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } // Function implementations for IfcLightSourceAmbient @@ -12197,83 +12197,83 @@ Ifc4x3_rc1::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Nam const IfcParse::entity& Ifc4x3_rc1::IfcLightSourceAmbient::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[603]); } const IfcParse::entity& Ifc4x3_rc1::IfcLightSourceAmbient::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[603]); } Ifc4x3_rc1::IfcLightSourceAmbient::IfcLightSourceAmbient(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x3_rc1::IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcLightSource(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } +Ifc4x3_rc1::IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } // Function implementations for IfcLightSourceDirectional -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcDirection>(true); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcLightSourceDirectional::setOrientation(::Ifc4x3_rc1::IfcDirection* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc1::IfcLightSourceDirectional::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[604]); } const IfcParse::entity& Ifc4x3_rc1::IfcLightSourceDirectional::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[604]); } Ifc4x3_rc1::IfcLightSourceDirectional::IfcLightSourceDirectional(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x3_rc1::IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc1::IfcDirection* v5_Orientation) : IfcLightSource(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Orientation ? v5_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc1::IfcDirection* v5_Orientation) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Orientation ? v5_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLightSourceGoniometric -::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(true); } void Ifc4x3_rc1::IfcLightSourceGoniometric::setPosition(::Ifc4x3_rc1::IfcAxis2Placement3D* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcColourRgb* Ifc4x3_rc1::IfcLightSourceGoniometric::ColourAppearance() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcColourRgb>(true); } +::Ifc4x3_rc1::IfcColourRgb* Ifc4x3_rc1::IfcLightSourceGoniometric::ColourAppearance() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcColourRgb>(true); } void Ifc4x3_rc1::IfcLightSourceGoniometric::setColourAppearance(::Ifc4x3_rc1::IfcColourRgb* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc1::IfcLightSourceGoniometric::ColourTemperature() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc1::IfcLightSourceGoniometric::ColourTemperature() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcLightSourceGoniometric::setColourTemperature(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -double Ifc4x3_rc1::IfcLightSourceGoniometric::LuminousFlux() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x3_rc1::IfcLightSourceGoniometric::LuminousFlux() const { double v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcLightSourceGoniometric::setLuminousFlux(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc1::IfcLightEmissionSourceEnum::Value Ifc4x3_rc1::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4x3_rc1::IfcLightEmissionSourceEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc1::IfcLightEmissionSourceEnum::Value Ifc4x3_rc1::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4x3_rc1::IfcLightEmissionSourceEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcLightSourceGoniometric::setLightEmissionSource(::Ifc4x3_rc1::IfcLightEmissionSourceEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcLightEmissionSourceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc1::IfcLightDistributionDataSourceSelect* Ifc4x3_rc1::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc1::IfcLightDistributionDataSourceSelect>(true); } +::Ifc4x3_rc1::IfcLightDistributionDataSourceSelect* Ifc4x3_rc1::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc1::IfcLightDistributionDataSourceSelect>(true); } void Ifc4x3_rc1::IfcLightSourceGoniometric::setLightDistributionDataSource(::Ifc4x3_rc1::IfcLightDistributionDataSourceSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcLightSourceGoniometric::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[605]); } const IfcParse::entity& Ifc4x3_rc1::IfcLightSourceGoniometric::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[605]); } Ifc4x3_rc1::IfcLightSourceGoniometric::IfcLightSourceGoniometric(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x3_rc1::IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc1::IfcAxis2Placement3D* v5_Position, ::Ifc4x3_rc1::IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_rc1::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_rc1::IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource(IfcEntityInstanceData(storage_t(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ColourAppearance ? v6_ColourAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, v10_LightDistributionDataSource ? v10_LightDistributionDataSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc1::IfcAxis2Placement3D* v5_Position, ::Ifc4x3_rc1::IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_rc1::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_rc1::IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ColourAppearance ? v6_ColourAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, v10_LightDistributionDataSource ? v10_LightDistributionDataSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLightSourcePositional -::Ifc4x3_rc1::IfcCartesianPoint* Ifc4x3_rc1::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcCartesianPoint>(true); } +::Ifc4x3_rc1::IfcCartesianPoint* Ifc4x3_rc1::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcCartesianPoint>(true); } void Ifc4x3_rc1::IfcLightSourcePositional::setPosition(::Ifc4x3_rc1::IfcCartesianPoint* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc1::IfcLightSourcePositional::Radius() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc1::IfcLightSourcePositional::Radius() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcLightSourcePositional::setRadius(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc1::IfcLightSourcePositional::ConstantAttenuation() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc1::IfcLightSourcePositional::ConstantAttenuation() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcLightSourcePositional::setConstantAttenuation(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -double Ifc4x3_rc1::IfcLightSourcePositional::DistanceAttenuation() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x3_rc1::IfcLightSourcePositional::DistanceAttenuation() const { double v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcLightSourcePositional::setDistanceAttenuation(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -double Ifc4x3_rc1::IfcLightSourcePositional::QuadricAttenuation() const { double v = data_.get_attribute_value(8); return v; } +double Ifc4x3_rc1::IfcLightSourcePositional::QuadricAttenuation() const { double v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcLightSourcePositional::setQuadricAttenuation(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc1::IfcLightSourcePositional::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[606]); } const IfcParse::entity& Ifc4x3_rc1::IfcLightSourcePositional::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[606]); } Ifc4x3_rc1::IfcLightSourcePositional::IfcLightSourcePositional(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x3_rc1::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc1::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) : IfcLightSource(IfcEntityInstanceData(storage_t(9))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; populate_derived(); } +Ifc4x3_rc1::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc1::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; populate_derived(); } // Function implementations for IfcLightSourceSpot -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc1::IfcDirection>(true); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcLightSourceSpot::setOrientation(::Ifc4x3_rc1::IfcDirection* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3_rc1::IfcLightSourceSpot::ConcentrationExponent() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc1::IfcLightSourceSpot::ConcentrationExponent() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -double Ifc4x3_rc1::IfcLightSourceSpot::SpreadAngle() const { double v = data_.get_attribute_value(11); return v; } +double Ifc4x3_rc1::IfcLightSourceSpot::SpreadAngle() const { double v = get_attribute_value(11); return v; } void Ifc4x3_rc1::IfcLightSourceSpot::setSpreadAngle(double v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } -double Ifc4x3_rc1::IfcLightSourceSpot::BeamWidthAngle() const { double v = data_.get_attribute_value(12); return v; } +double Ifc4x3_rc1::IfcLightSourceSpot::BeamWidthAngle() const { double v = get_attribute_value(12); return v; } void Ifc4x3_rc1::IfcLightSourceSpot::setBeamWidthAngle(double v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } const IfcParse::entity& Ifc4x3_rc1::IfcLightSourceSpot::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[607]); } const IfcParse::entity& Ifc4x3_rc1::IfcLightSourceSpot::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[607]); } Ifc4x3_rc1::IfcLightSourceSpot::IfcLightSourceSpot(IfcEntityInstanceData&& e) : IfcLightSourcePositional(std::move(e)) { } -Ifc4x3_rc1::IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc1::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_rc1::IfcDirection* v10_Orientation, boost::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) : IfcLightSourcePositional(IfcEntityInstanceData(storage_t(13))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, v10_Orientation ? v10_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; populate_derived(); } +Ifc4x3_rc1::IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc1::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_rc1::IfcDirection* v10_Orientation, boost::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) : IfcLightSourcePositional(IfcEntityInstanceData(in_memory_attribute_storage(13))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, v10_Orientation ? v10_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; populate_derived(); } // Function implementations for IfcLine -::Ifc4x3_rc1::IfcCartesianPoint* Ifc4x3_rc1::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCartesianPoint>(true); } +::Ifc4x3_rc1::IfcCartesianPoint* Ifc4x3_rc1::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCartesianPoint>(true); } void Ifc4x3_rc1::IfcLine::setPnt(::Ifc4x3_rc1::IfcCartesianPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcVector* Ifc4x3_rc1::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcVector>(true); } +::Ifc4x3_rc1::IfcVector* Ifc4x3_rc1::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcVector>(true); } void Ifc4x3_rc1::IfcLine::setDir(::Ifc4x3_rc1::IfcVector* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcLine::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[608]); } const IfcParse::entity& Ifc4x3_rc1::IfcLine::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[608]); } Ifc4x3_rc1::IfcLine::IfcLine(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_rc1::IfcLine::IfcLine(::Ifc4x3_rc1::IfcCartesianPoint* v1_Pnt, ::Ifc4x3_rc1::IfcVector* v2_Dir) : IfcCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Pnt ? v1_Pnt->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Dir ? v2_Dir->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcLine::IfcLine(::Ifc4x3_rc1::IfcCartesianPoint* v1_Pnt, ::Ifc4x3_rc1::IfcVector* v2_Dir) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Pnt ? v1_Pnt->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Dir ? v2_Dir->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLineSegment2D @@ -12281,95 +12281,95 @@ Ifc4x3_rc1::IfcLine::IfcLine(::Ifc4x3_rc1::IfcCartesianPoint* v1_Pnt, ::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc1::IfcLineSegment2D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[620]); } const IfcParse::entity& Ifc4x3_rc1::IfcLineSegment2D::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[620]); } Ifc4x3_rc1::IfcLineSegment2D::IfcLineSegment2D(IfcEntityInstanceData&& e) : IfcCurveSegment2D(std::move(e)) { } -Ifc4x3_rc1::IfcLineSegment2D::IfcLineSegment2D(::Ifc4x3_rc1::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) : IfcCurveSegment2D(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_StartPoint ? v1_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));; populate_derived(); } +Ifc4x3_rc1::IfcLineSegment2D::IfcLineSegment2D(::Ifc4x3_rc1::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) : IfcCurveSegment2D(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_StartPoint ? v1_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));; populate_derived(); } // Function implementations for IfcLinearAxisWithInclination -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcLinearAxisWithInclination::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCurve>(true); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcLinearAxisWithInclination::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcLinearAxisWithInclination::setDirectrix(::Ifc4x3_rc1::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcAxisLateralInclination* Ifc4x3_rc1::IfcLinearAxisWithInclination::Inclinating() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcAxisLateralInclination>(true); } +::Ifc4x3_rc1::IfcAxisLateralInclination* Ifc4x3_rc1::IfcLinearAxisWithInclination::Inclinating() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcAxisLateralInclination>(true); } void Ifc4x3_rc1::IfcLinearAxisWithInclination::setInclinating(::Ifc4x3_rc1::IfcAxisLateralInclination* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcLinearAxisWithInclination::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[610]); } const IfcParse::entity& Ifc4x3_rc1::IfcLinearAxisWithInclination::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[610]); } Ifc4x3_rc1::IfcLinearAxisWithInclination::IfcLinearAxisWithInclination(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcLinearAxisWithInclination::IfcLinearAxisWithInclination(::Ifc4x3_rc1::IfcCurve* v1_Directrix, ::Ifc4x3_rc1::IfcAxisLateralInclination* v2_Inclinating) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Inclinating ? v2_Inclinating->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcLinearAxisWithInclination::IfcLinearAxisWithInclination(::Ifc4x3_rc1::IfcCurve* v1_Directrix, ::Ifc4x3_rc1::IfcAxisLateralInclination* v2_Inclinating) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Inclinating ? v2_Inclinating->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLinearPlacement -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcLinearPlacement::PlacementMeasuredAlong() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcCurve>(true); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcLinearPlacement::PlacementMeasuredAlong() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcLinearPlacement::setPlacementMeasuredAlong(::Ifc4x3_rc1::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcDistanceExpression* Ifc4x3_rc1::IfcLinearPlacement::Distance() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcDistanceExpression>(true); } +::Ifc4x3_rc1::IfcDistanceExpression* Ifc4x3_rc1::IfcLinearPlacement::Distance() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcDistanceExpression>(true); } void Ifc4x3_rc1::IfcLinearPlacement::setDistance(::Ifc4x3_rc1::IfcDistanceExpression* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcOrientationExpression* Ifc4x3_rc1::IfcLinearPlacement::Orientation() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcOrientationExpression>(true); } +::Ifc4x3_rc1::IfcOrientationExpression* Ifc4x3_rc1::IfcLinearPlacement::Orientation() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcOrientationExpression>(true); } void Ifc4x3_rc1::IfcLinearPlacement::setOrientation(::Ifc4x3_rc1::IfcOrientationExpression* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcLinearPlacement::CartesianPosition() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcLinearPlacement::CartesianPosition() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(true); } void Ifc4x3_rc1::IfcLinearPlacement::setCartesianPosition(::Ifc4x3_rc1::IfcAxis2Placement3D* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc1::IfcLinearPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[613]); } const IfcParse::entity& Ifc4x3_rc1::IfcLinearPlacement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[613]); } Ifc4x3_rc1::IfcLinearPlacement::IfcLinearPlacement(IfcEntityInstanceData&& e) : IfcObjectPlacement(std::move(e)) { } -Ifc4x3_rc1::IfcLinearPlacement::IfcLinearPlacement(::Ifc4x3_rc1::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc1::IfcCurve* v2_PlacementMeasuredAlong, ::Ifc4x3_rc1::IfcDistanceExpression* v3_Distance, ::Ifc4x3_rc1::IfcOrientationExpression* v4_Orientation, ::Ifc4x3_rc1::IfcAxis2Placement3D* v5_CartesianPosition) : IfcObjectPlacement(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementMeasuredAlong ? v2_PlacementMeasuredAlong->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Distance ? v3_Distance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Orientation ? v4_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_CartesianPosition ? v5_CartesianPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcLinearPlacement::IfcLinearPlacement(::Ifc4x3_rc1::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc1::IfcCurve* v2_PlacementMeasuredAlong, ::Ifc4x3_rc1::IfcDistanceExpression* v3_Distance, ::Ifc4x3_rc1::IfcOrientationExpression* v4_Orientation, ::Ifc4x3_rc1::IfcAxis2Placement3D* v5_CartesianPosition) : IfcObjectPlacement(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementMeasuredAlong ? v2_PlacementMeasuredAlong->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Distance ? v3_Distance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Orientation ? v4_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_CartesianPosition ? v5_CartesianPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLinearPlacementWithInclination -::Ifc4x3_rc1::IfcAxisLateralInclination* Ifc4x3_rc1::IfcLinearPlacementWithInclination::Inclinating() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcAxisLateralInclination>(true); } +::Ifc4x3_rc1::IfcAxisLateralInclination* Ifc4x3_rc1::IfcLinearPlacementWithInclination::Inclinating() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcAxisLateralInclination>(true); } void Ifc4x3_rc1::IfcLinearPlacementWithInclination::setInclinating(::Ifc4x3_rc1::IfcAxisLateralInclination* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcLinearPlacementWithInclination::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[614]); } const IfcParse::entity& Ifc4x3_rc1::IfcLinearPlacementWithInclination::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[614]); } Ifc4x3_rc1::IfcLinearPlacementWithInclination::IfcLinearPlacementWithInclination(IfcEntityInstanceData&& e) : IfcLinearPlacement(std::move(e)) { } -Ifc4x3_rc1::IfcLinearPlacementWithInclination::IfcLinearPlacementWithInclination(::Ifc4x3_rc1::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc1::IfcCurve* v2_PlacementMeasuredAlong, ::Ifc4x3_rc1::IfcDistanceExpression* v3_Distance, ::Ifc4x3_rc1::IfcOrientationExpression* v4_Orientation, ::Ifc4x3_rc1::IfcAxis2Placement3D* v5_CartesianPosition, ::Ifc4x3_rc1::IfcAxisLateralInclination* v6_Inclinating) : IfcLinearPlacement(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementMeasuredAlong ? v2_PlacementMeasuredAlong->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Distance ? v3_Distance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Orientation ? v4_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_CartesianPosition ? v5_CartesianPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_Inclinating ? v6_Inclinating->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcLinearPlacementWithInclination::IfcLinearPlacementWithInclination(::Ifc4x3_rc1::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc1::IfcCurve* v2_PlacementMeasuredAlong, ::Ifc4x3_rc1::IfcDistanceExpression* v3_Distance, ::Ifc4x3_rc1::IfcOrientationExpression* v4_Orientation, ::Ifc4x3_rc1::IfcAxis2Placement3D* v5_CartesianPosition, ::Ifc4x3_rc1::IfcAxisLateralInclination* v6_Inclinating) : IfcLinearPlacement(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementMeasuredAlong ? v2_PlacementMeasuredAlong->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Distance ? v3_Distance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Orientation ? v4_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_CartesianPosition ? v5_CartesianPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_Inclinating ? v6_Inclinating->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLinearPositioningElement -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcLinearPositioningElement::Axis() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc1::IfcCurve>(true); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcLinearPositioningElement::Axis() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcLinearPositioningElement::setAxis(::Ifc4x3_rc1::IfcCurve* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc1::IfcLinearPositioningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[615]); } const IfcParse::entity& Ifc4x3_rc1::IfcLinearPositioningElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[615]); } Ifc4x3_rc1::IfcLinearPositioningElement::IfcLinearPositioningElement(IfcEntityInstanceData&& e) : IfcPositioningElement(std::move(e)) { } -Ifc4x3_rc1::IfcLinearPositioningElement::IfcLinearPositioningElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcCurve* v8_Axis) : IfcPositioningElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_Axis ? v8_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcLinearPositioningElement::IfcLinearPositioningElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcCurve* v8_Axis) : IfcPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_Axis ? v8_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLinearSpanPlacement -double Ifc4x3_rc1::IfcLinearSpanPlacement::Span() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc1::IfcLinearSpanPlacement::Span() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcLinearSpanPlacement::setSpan(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcLinearSpanPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[616]); } const IfcParse::entity& Ifc4x3_rc1::IfcLinearSpanPlacement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[616]); } Ifc4x3_rc1::IfcLinearSpanPlacement::IfcLinearSpanPlacement(IfcEntityInstanceData&& e) : IfcLinearPlacement(std::move(e)) { } -Ifc4x3_rc1::IfcLinearSpanPlacement::IfcLinearSpanPlacement(::Ifc4x3_rc1::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc1::IfcCurve* v2_PlacementMeasuredAlong, ::Ifc4x3_rc1::IfcDistanceExpression* v3_Distance, ::Ifc4x3_rc1::IfcOrientationExpression* v4_Orientation, ::Ifc4x3_rc1::IfcAxis2Placement3D* v5_CartesianPosition, double v6_Span) : IfcLinearPlacement(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementMeasuredAlong ? v2_PlacementMeasuredAlong->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Distance ? v3_Distance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Orientation ? v4_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_CartesianPosition ? v5_CartesianPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Span));; populate_derived(); } +Ifc4x3_rc1::IfcLinearSpanPlacement::IfcLinearSpanPlacement(::Ifc4x3_rc1::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc1::IfcCurve* v2_PlacementMeasuredAlong, ::Ifc4x3_rc1::IfcDistanceExpression* v3_Distance, ::Ifc4x3_rc1::IfcOrientationExpression* v4_Orientation, ::Ifc4x3_rc1::IfcAxis2Placement3D* v5_CartesianPosition, double v6_Span) : IfcLinearPlacement(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementMeasuredAlong ? v2_PlacementMeasuredAlong->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Distance ? v3_Distance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Orientation ? v4_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_CartesianPosition ? v5_CartesianPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Span));; populate_derived(); } // Function implementations for IfcLiquidTerminal -boost::optional< ::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value > Ifc4x3_rc1::IfcLiquidTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value > Ifc4x3_rc1::IfcLiquidTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcLiquidTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcLiquidTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[621]); } const IfcParse::entity& Ifc4x3_rc1::IfcLiquidTerminal::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[621]); } Ifc4x3_rc1::IfcLiquidTerminal::IfcLiquidTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc1::IfcLiquidTerminal::IfcLiquidTerminal(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcLiquidTerminal::IfcLiquidTerminal(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLiquidTerminalType -::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value Ifc4x3_rc1::IfcLiquidTerminalType::PredefinedType() const { return ::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value Ifc4x3_rc1::IfcLiquidTerminalType::PredefinedType() const { return ::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcLiquidTerminalType::setPredefinedType(::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcLiquidTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[622]); } const IfcParse::entity& Ifc4x3_rc1::IfcLiquidTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[622]); } Ifc4x3_rc1::IfcLiquidTerminalType::IfcLiquidTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc1::IfcLiquidTerminalType::IfcLiquidTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcLiquidTerminalType::IfcLiquidTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcLiquidTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLocalPlacement -::Ifc4x3_rc1::IfcAxis2Placement* Ifc4x3_rc1::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcAxis2Placement>(true); } +::Ifc4x3_rc1::IfcAxis2Placement* Ifc4x3_rc1::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcAxis2Placement>(true); } void Ifc4x3_rc1::IfcLocalPlacement::setRelativePlacement(::Ifc4x3_rc1::IfcAxis2Placement* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcLocalPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[625]); } const IfcParse::entity& Ifc4x3_rc1::IfcLocalPlacement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[625]); } Ifc4x3_rc1::IfcLocalPlacement::IfcLocalPlacement(IfcEntityInstanceData&& e) : IfcObjectPlacement(std::move(e)) { } -Ifc4x3_rc1::IfcLocalPlacement::IfcLocalPlacement(::Ifc4x3_rc1::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc1::IfcAxis2Placement* v2_RelativePlacement) : IfcObjectPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcLocalPlacement::IfcLocalPlacement(::Ifc4x3_rc1::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc1::IfcAxis2Placement* v2_RelativePlacement) : IfcObjectPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLoop @@ -12377,66 +12377,66 @@ Ifc4x3_rc1::IfcLocalPlacement::IfcLocalPlacement(::Ifc4x3_rc1::IfcObjectPlacemen const IfcParse::entity& Ifc4x3_rc1::IfcLoop::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[628]); } const IfcParse::entity& Ifc4x3_rc1::IfcLoop::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[628]); } Ifc4x3_rc1::IfcLoop::IfcLoop(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc1::IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcManifoldSolidBrep -::Ifc4x3_rc1::IfcClosedShell* Ifc4x3_rc1::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcClosedShell>(true); } +::Ifc4x3_rc1::IfcClosedShell* Ifc4x3_rc1::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcClosedShell>(true); } void Ifc4x3_rc1::IfcManifoldSolidBrep::setOuter(::Ifc4x3_rc1::IfcClosedShell* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc1::IfcManifoldSolidBrep::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[635]); } const IfcParse::entity& Ifc4x3_rc1::IfcManifoldSolidBrep::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[635]); } Ifc4x3_rc1::IfcManifoldSolidBrep::IfcManifoldSolidBrep(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3_rc1::IfcManifoldSolidBrep::IfcManifoldSolidBrep(::Ifc4x3_rc1::IfcClosedShell* v1_Outer) : IfcSolidModel(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcManifoldSolidBrep::IfcManifoldSolidBrep(::Ifc4x3_rc1::IfcClosedShell* v1_Outer) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMapConversion -double Ifc4x3_rc1::IfcMapConversion::Eastings() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc1::IfcMapConversion::Eastings() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcMapConversion::setEastings(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc1::IfcMapConversion::Northings() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc1::IfcMapConversion::Northings() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcMapConversion::setNorthings(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc1::IfcMapConversion::OrthogonalHeight() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc1::IfcMapConversion::OrthogonalHeight() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcMapConversion::setOrthogonalHeight(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< double > Ifc4x3_rc1::IfcMapConversion::XAxisAbscissa() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc1::IfcMapConversion::XAxisAbscissa() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcMapConversion::setXAxisAbscissa(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_rc1::IfcMapConversion::XAxisOrdinate() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc1::IfcMapConversion::XAxisOrdinate() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcMapConversion::setXAxisOrdinate(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_rc1::IfcMapConversion::Scale() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc1::IfcMapConversion::Scale() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcMapConversion::setScale(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc1::IfcMapConversion::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[636]); } const IfcParse::entity& Ifc4x3_rc1::IfcMapConversion::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[636]); } Ifc4x3_rc1::IfcMapConversion::IfcMapConversion(IfcEntityInstanceData&& e) : IfcCoordinateOperation(std::move(e)) { } -Ifc4x3_rc1::IfcMapConversion::IfcMapConversion(::Ifc4x3_rc1::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_rc1::IfcCoordinateReferenceSystem* v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, boost::optional< double > v6_XAxisAbscissa, boost::optional< double > v7_XAxisOrdinate, boost::optional< double > v8_Scale) : IfcCoordinateOperation(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); }; populate_derived(); } +Ifc4x3_rc1::IfcMapConversion::IfcMapConversion(::Ifc4x3_rc1::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_rc1::IfcCoordinateReferenceSystem* v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, boost::optional< double > v6_XAxisAbscissa, boost::optional< double > v7_XAxisOrdinate, boost::optional< double > v8_Scale) : IfcCoordinateOperation(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); }; populate_derived(); } // Function implementations for IfcMappedItem -::Ifc4x3_rc1::IfcRepresentationMap* Ifc4x3_rc1::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcRepresentationMap>(true); } +::Ifc4x3_rc1::IfcRepresentationMap* Ifc4x3_rc1::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcRepresentationMap>(true); } void Ifc4x3_rc1::IfcMappedItem::setMappingSource(::Ifc4x3_rc1::IfcRepresentationMap* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcCartesianTransformationOperator* Ifc4x3_rc1::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcCartesianTransformationOperator>(true); } +::Ifc4x3_rc1::IfcCartesianTransformationOperator* Ifc4x3_rc1::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcCartesianTransformationOperator>(true); } void Ifc4x3_rc1::IfcMappedItem::setMappingTarget(::Ifc4x3_rc1::IfcCartesianTransformationOperator* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcMappedItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[637]); } const IfcParse::entity& Ifc4x3_rc1::IfcMappedItem::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[637]); } Ifc4x3_rc1::IfcMappedItem::IfcMappedItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcMappedItem::IfcMappedItem(::Ifc4x3_rc1::IfcRepresentationMap* v1_MappingSource, ::Ifc4x3_rc1::IfcCartesianTransformationOperator* v2_MappingTarget) : IfcRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_MappingSource ? v1_MappingSource->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappingTarget ? v2_MappingTarget->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcMappedItem::IfcMappedItem(::Ifc4x3_rc1::IfcRepresentationMap* v1_MappingSource, ::Ifc4x3_rc1::IfcCartesianTransformationOperator* v2_MappingTarget) : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_MappingSource ? v1_MappingSource->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappingTarget ? v2_MappingTarget->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMarineFacility -::Ifc4x3_rc1::IfcMarineFacilityTypeEnum::Value Ifc4x3_rc1::IfcMarineFacility::PredefinedType() const { return ::Ifc4x3_rc1::IfcMarineFacilityTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcMarineFacilityTypeEnum::Value Ifc4x3_rc1::IfcMarineFacility::PredefinedType() const { return ::Ifc4x3_rc1::IfcMarineFacilityTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcMarineFacility::setPredefinedType(::Ifc4x3_rc1::IfcMarineFacilityTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcMarineFacilityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcMarineFacility::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[638]); } const IfcParse::entity& Ifc4x3_rc1::IfcMarineFacility::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[638]); } Ifc4x3_rc1::IfcMarineFacility::IfcMarineFacility(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x3_rc1::IfcMarineFacility::IfcMarineFacility(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc1::IfcMarineFacilityTypeEnum::Value v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcMarineFacilityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcMarineFacility::IfcMarineFacility(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc1::IfcMarineFacilityTypeEnum::Value v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcMarineFacilityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMaterial -std::string Ifc4x3_rc1::IfcMaterial::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc1::IfcMaterial::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcMaterial::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc1::IfcMaterial::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcMaterial::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcMaterial::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc1::IfcMaterial::Category() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcMaterial::Category() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcMaterial::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3_rc1::IfcMaterialDefinitionRepresentation::list::ptr Ifc4x3_rc1::IfcMaterial::HasRepresentation() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[650], 3)->as(); } @@ -12446,30 +12446,30 @@ void Ifc4x3_rc1::IfcMaterial::setCategory(boost::optional< std::string > v) { if const IfcParse::entity& Ifc4x3_rc1::IfcMaterial::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[645]); } const IfcParse::entity& Ifc4x3_rc1::IfcMaterial::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[645]); } Ifc4x3_rc1::IfcMaterial::IfcMaterial(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_rc1::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); }; populate_derived(); } +Ifc4x3_rc1::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); }; populate_derived(); } // Function implementations for IfcMaterialClassificationRelationship -aggregate_of< ::Ifc4x3_rc1::IfcClassificationSelect >::ptr Ifc4x3_rc1::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcClassificationSelect >(); } +aggregate_of< ::Ifc4x3_rc1::IfcClassificationSelect >::ptr Ifc4x3_rc1::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcClassificationSelect >(); } void Ifc4x3_rc1::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x3_rc1::IfcClassificationSelect >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcMaterial* Ifc4x3_rc1::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcMaterial>(true); } +::Ifc4x3_rc1::IfcMaterial* Ifc4x3_rc1::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcMaterial>(true); } void Ifc4x3_rc1::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4x3_rc1::IfcMaterial* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialClassificationRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[646]); } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialClassificationRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[646]); } Ifc4x3_rc1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3_rc1::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_rc1::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_MaterialClassifications)->generalize());set_attribute_value(1, v2_ClassifiedMaterial ? v2_ClassifiedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3_rc1::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_rc1::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_MaterialClassifications)->generalize());set_attribute_value(1, v2_ClassifiedMaterial ? v2_ClassifiedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialConstituent -boost::optional< std::string > Ifc4x3_rc1::IfcMaterialConstituent::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcMaterialConstituent::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcMaterialConstituent::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc1::IfcMaterialConstituent::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcMaterialConstituent::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcMaterialConstituent::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc1::IfcMaterial* Ifc4x3_rc1::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcMaterial>(true); } +::Ifc4x3_rc1::IfcMaterial* Ifc4x3_rc1::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcMaterial>(true); } void Ifc4x3_rc1::IfcMaterialConstituent::setMaterial(::Ifc4x3_rc1::IfcMaterial* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4x3_rc1::IfcMaterialConstituent::Fraction() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc1::IfcMaterialConstituent::Fraction() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcMaterialConstituent::setFraction(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc1::IfcMaterialConstituent::Category() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcMaterialConstituent::Category() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcMaterialConstituent::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } ::Ifc4x3_rc1::IfcMaterialConstituentSet::list::ptr Ifc4x3_rc1::IfcMaterialConstituent::ToMaterialConstituentSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[648], 2)->as(); } @@ -12477,21 +12477,21 @@ void Ifc4x3_rc1::IfcMaterialConstituent::setCategory(boost::optional< std::strin const IfcParse::entity& Ifc4x3_rc1::IfcMaterialConstituent::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[647]); } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialConstituent::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[647]); } Ifc4x3_rc1::IfcMaterialConstituent::IfcMaterialConstituent(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_rc1::IfcMaterialConstituent::IfcMaterialConstituent(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcMaterial* v3_Material, boost::optional< double > v4_Fraction, boost::optional< std::string > v5_Category) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); }; populate_derived(); } +Ifc4x3_rc1::IfcMaterialConstituent::IfcMaterialConstituent(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcMaterial* v3_Material, boost::optional< double > v4_Fraction, boost::optional< std::string > v5_Category) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); }; populate_derived(); } // Function implementations for IfcMaterialConstituentSet -boost::optional< std::string > Ifc4x3_rc1::IfcMaterialConstituentSet::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcMaterialConstituentSet::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcMaterialConstituentSet::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc1::IfcMaterialConstituentSet::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcMaterialConstituentSet::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcMaterialConstituentSet::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcMaterialConstituent >::ptr > Ifc4x3_rc1::IfcMaterialConstituentSet::MaterialConstituents() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcMaterialConstituent >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcMaterialConstituent >::ptr > Ifc4x3_rc1::IfcMaterialConstituentSet::MaterialConstituents() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcMaterialConstituent >(); } void Ifc4x3_rc1::IfcMaterialConstituentSet::setMaterialConstituents(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcMaterialConstituent >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialConstituentSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[648]); } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialConstituentSet::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[648]); } Ifc4x3_rc1::IfcMaterialConstituentSet::IfcMaterialConstituentSet(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_rc1::IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcMaterialConstituent >::ptr > v3_MaterialConstituents) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, (*v3_MaterialConstituents)->generalize()); }; populate_derived(); } +Ifc4x3_rc1::IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcMaterialConstituent >::ptr > v3_MaterialConstituents) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, (*v3_MaterialConstituents)->generalize()); }; populate_derived(); } // Function implementations for IfcMaterialDefinition @@ -12502,32 +12502,32 @@ Ifc4x3_rc1::IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional const IfcParse::entity& Ifc4x3_rc1::IfcMaterialDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[649]); } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[649]); } Ifc4x3_rc1::IfcMaterialDefinition::IfcMaterialDefinition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcMaterialDefinition::IfcMaterialDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc1::IfcMaterialDefinition::IfcMaterialDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcMaterialDefinitionRepresentation -::Ifc4x3_rc1::IfcMaterial* Ifc4x3_rc1::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcMaterial>(true); } +::Ifc4x3_rc1::IfcMaterial* Ifc4x3_rc1::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcMaterial>(true); } void Ifc4x3_rc1::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(::Ifc4x3_rc1::IfcMaterial* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialDefinitionRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[650]); } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialDefinitionRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[650]); } Ifc4x3_rc1::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(IfcEntityInstanceData&& e) : IfcProductRepresentation(std::move(e)) { } -Ifc4x3_rc1::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcRepresentation >::ptr v3_Representations, ::Ifc4x3_rc1::IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());set_attribute_value(3, v4_RepresentedMaterial ? v4_RepresentedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcRepresentation >::ptr v3_Representations, ::Ifc4x3_rc1::IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());set_attribute_value(3, v4_RepresentedMaterial ? v4_RepresentedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialLayer -::Ifc4x3_rc1::IfcMaterial* Ifc4x3_rc1::IfcMaterialLayer::Material() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcMaterial>(true); } +::Ifc4x3_rc1::IfcMaterial* Ifc4x3_rc1::IfcMaterialLayer::Material() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcMaterial>(true); } void Ifc4x3_rc1::IfcMaterialLayer::setMaterial(::Ifc4x3_rc1::IfcMaterial* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc1::IfcMaterialLayer::LayerThickness() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc1::IfcMaterialLayer::LayerThickness() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcMaterialLayer::setLayerThickness(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< boost::logic::tribool > Ifc4x3_rc1::IfcMaterialLayer::IsVentilated() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::optional< boost::logic::tribool > Ifc4x3_rc1::IfcMaterialLayer::IsVentilated() const { if(get_attribute_value(2).isNull()) { return boost::none; } boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcMaterialLayer::setIsVentilated(boost::optional< boost::logic::tribool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_rc1::IfcMaterialLayer::Name() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcMaterialLayer::Name() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcMaterialLayer::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc1::IfcMaterialLayer::Description() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcMaterialLayer::Description() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcMaterialLayer::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc1::IfcMaterialLayer::Category() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcMaterialLayer::Category() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcMaterialLayer::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< int > Ifc4x3_rc1::IfcMaterialLayer::Priority() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } int v = data_.get_attribute_value(6); return v; } +boost::optional< int > Ifc4x3_rc1::IfcMaterialLayer::Priority() const { if(get_attribute_value(6).isNull()) { return boost::none; } int v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcMaterialLayer::setPriority(boost::optional< int > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_rc1::IfcMaterialLayerSet::list::ptr Ifc4x3_rc1::IfcMaterialLayer::ToMaterialLayerSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[652], 0)->as(); } @@ -12535,74 +12535,74 @@ void Ifc4x3_rc1::IfcMaterialLayer::setPriority(boost::optional< int > v) { if (v const IfcParse::entity& Ifc4x3_rc1::IfcMaterialLayer::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[651]); } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialLayer::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[651]); } Ifc4x3_rc1::IfcMaterialLayer::IfcMaterialLayer(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_rc1::IfcMaterialLayer::IfcMaterialLayer(::Ifc4x3_rc1::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(storage_t(7))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }; populate_derived(); } +Ifc4x3_rc1::IfcMaterialLayer::IfcMaterialLayer(::Ifc4x3_rc1::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(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }; populate_derived(); } // Function implementations for IfcMaterialLayerSet -aggregate_of< ::Ifc4x3_rc1::IfcMaterialLayer >::ptr Ifc4x3_rc1::IfcMaterialLayerSet::MaterialLayers() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcMaterialLayer >(); } +aggregate_of< ::Ifc4x3_rc1::IfcMaterialLayer >::ptr Ifc4x3_rc1::IfcMaterialLayerSet::MaterialLayers() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcMaterialLayer >(); } void Ifc4x3_rc1::IfcMaterialLayerSet::setMaterialLayers(aggregate_of< ::Ifc4x3_rc1::IfcMaterialLayer >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc1::IfcMaterialLayerSet::LayerSetName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcMaterialLayerSet::LayerSetName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcMaterialLayerSet::setLayerSetName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc1::IfcMaterialLayerSet::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcMaterialLayerSet::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcMaterialLayerSet::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialLayerSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[652]); } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialLayerSet::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[652]); } Ifc4x3_rc1::IfcMaterialLayerSet::IfcMaterialLayerSet(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_rc1::IfcMaterialLayerSet::IfcMaterialLayerSet(aggregate_of< ::Ifc4x3_rc1::IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName, boost::optional< std::string > v3_Description) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_MaterialLayers)->generalize()); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } +Ifc4x3_rc1::IfcMaterialLayerSet::IfcMaterialLayerSet(aggregate_of< ::Ifc4x3_rc1::IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName, boost::optional< std::string > v3_Description) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_MaterialLayers)->generalize()); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } // Function implementations for IfcMaterialLayerSetUsage -::Ifc4x3_rc1::IfcMaterialLayerSet* Ifc4x3_rc1::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcMaterialLayerSet>(true); } +::Ifc4x3_rc1::IfcMaterialLayerSet* Ifc4x3_rc1::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcMaterialLayerSet>(true); } void Ifc4x3_rc1::IfcMaterialLayerSetUsage::setForLayerSet(::Ifc4x3_rc1::IfcMaterialLayerSet* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcLayerSetDirectionEnum::Value Ifc4x3_rc1::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4x3_rc1::IfcLayerSetDirectionEnum::FromString(data_.get_attribute_value(1)); } +::Ifc4x3_rc1::IfcLayerSetDirectionEnum::Value Ifc4x3_rc1::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4x3_rc1::IfcLayerSetDirectionEnum::FromString(get_attribute_value(1)); } void Ifc4x3_rc1::IfcMaterialLayerSetUsage::setLayerSetDirection(::Ifc4x3_rc1::IfcLayerSetDirectionEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x3_rc1::IfcLayerSetDirectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcDirectionSenseEnum::Value Ifc4x3_rc1::IfcMaterialLayerSetUsage::DirectionSense() const { return ::Ifc4x3_rc1::IfcDirectionSenseEnum::FromString(data_.get_attribute_value(2)); } +::Ifc4x3_rc1::IfcDirectionSenseEnum::Value Ifc4x3_rc1::IfcMaterialLayerSetUsage::DirectionSense() const { return ::Ifc4x3_rc1::IfcDirectionSenseEnum::FromString(get_attribute_value(2)); } void Ifc4x3_rc1::IfcMaterialLayerSetUsage::setDirectionSense(::Ifc4x3_rc1::IfcDirectionSenseEnum::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3_rc1::IfcDirectionSenseEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc1::IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc1::IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcMaterialLayerSetUsage::setOffsetFromReferenceLine(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< double > Ifc4x3_rc1::IfcMaterialLayerSetUsage::ReferenceExtent() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc1::IfcMaterialLayerSetUsage::ReferenceExtent() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcMaterialLayerSetUsage::setReferenceExtent(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialLayerSetUsage::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[653]); } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialLayerSetUsage::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[653]); } Ifc4x3_rc1::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(IfcEntityInstanceData&& e) : IfcMaterialUsageDefinition(std::move(e)) { } -Ifc4x3_rc1::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(::Ifc4x3_rc1::IfcMaterialLayerSet* v1_ForLayerSet, ::Ifc4x3_rc1::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_rc1::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, boost::optional< double > v5_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_ForLayerSet ? v1_ForLayerSet->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc1::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc1::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); }; populate_derived(); } +Ifc4x3_rc1::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(::Ifc4x3_rc1::IfcMaterialLayerSet* v1_ForLayerSet, ::Ifc4x3_rc1::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_rc1::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, boost::optional< double > v5_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_ForLayerSet ? v1_ForLayerSet->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc1::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc1::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); }; populate_derived(); } // Function implementations for IfcMaterialLayerWithOffsets -::Ifc4x3_rc1::IfcLayerSetDirectionEnum::Value Ifc4x3_rc1::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4x3_rc1::IfcLayerSetDirectionEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc1::IfcLayerSetDirectionEnum::Value Ifc4x3_rc1::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4x3_rc1::IfcLayerSetDirectionEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc1::IfcMaterialLayerWithOffsets::setOffsetDirection(::Ifc4x3_rc1::IfcLayerSetDirectionEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc1::IfcLayerSetDirectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -std::vector< double > /*[1:2]*/ Ifc4x3_rc1::IfcMaterialLayerWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = data_.get_attribute_value(8); return v; } +std::vector< double > /*[1:2]*/ Ifc4x3_rc1::IfcMaterialLayerWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcMaterialLayerWithOffsets::setOffsetValues(std::vector< double > /*[1:2]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialLayerWithOffsets::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[654]); } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialLayerWithOffsets::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[654]); } Ifc4x3_rc1::IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(IfcEntityInstanceData&& e) : IfcMaterialLayer(std::move(e)) { } -Ifc4x3_rc1::IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(::Ifc4x3_rc1::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_rc1::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) : IfcMaterialLayer(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues));; populate_derived(); } +Ifc4x3_rc1::IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(::Ifc4x3_rc1::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_rc1::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) : IfcMaterialLayer(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues));; populate_derived(); } // Function implementations for IfcMaterialList -aggregate_of< ::Ifc4x3_rc1::IfcMaterial >::ptr Ifc4x3_rc1::IfcMaterialList::Materials() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcMaterial >(); } +aggregate_of< ::Ifc4x3_rc1::IfcMaterial >::ptr Ifc4x3_rc1::IfcMaterialList::Materials() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcMaterial >(); } void Ifc4x3_rc1::IfcMaterialList::setMaterials(aggregate_of< ::Ifc4x3_rc1::IfcMaterial >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialList::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[655]); } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialList::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[655]); } Ifc4x3_rc1::IfcMaterialList::IfcMaterialList(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcMaterialList::IfcMaterialList(aggregate_of< ::Ifc4x3_rc1::IfcMaterial >::ptr v1_Materials) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Materials)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcMaterialList::IfcMaterialList(aggregate_of< ::Ifc4x3_rc1::IfcMaterial >::ptr v1_Materials) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Materials)->generalize());; populate_derived(); } // Function implementations for IfcMaterialProfile -boost::optional< std::string > Ifc4x3_rc1::IfcMaterialProfile::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcMaterialProfile::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcMaterialProfile::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc1::IfcMaterialProfile::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcMaterialProfile::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcMaterialProfile::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc1::IfcMaterial* Ifc4x3_rc1::IfcMaterialProfile::Material() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcMaterial>(true); } +::Ifc4x3_rc1::IfcMaterial* Ifc4x3_rc1::IfcMaterialProfile::Material() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcMaterial>(true); } void Ifc4x3_rc1::IfcMaterialProfile::setMaterial(::Ifc4x3_rc1::IfcMaterial* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcProfileDef>(true); } +::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcProfileDef>(true); } void Ifc4x3_rc1::IfcMaterialProfile::setProfile(::Ifc4x3_rc1::IfcProfileDef* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< int > Ifc4x3_rc1::IfcMaterialProfile::Priority() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x3_rc1::IfcMaterialProfile::Priority() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcMaterialProfile::setPriority(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc1::IfcMaterialProfile::Category() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcMaterialProfile::Category() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcMaterialProfile::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x3_rc1::IfcMaterialProfileSet::list::ptr Ifc4x3_rc1::IfcMaterialProfile::ToMaterialProfileSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[657], 2)->as(); } @@ -12610,83 +12610,83 @@ void Ifc4x3_rc1::IfcMaterialProfile::setCategory(boost::optional< std::string > const IfcParse::entity& Ifc4x3_rc1::IfcMaterialProfile::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[656]); } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialProfile::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[656]); } Ifc4x3_rc1::IfcMaterialProfile::IfcMaterialProfile(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_rc1::IfcMaterialProfile::IfcMaterialProfile(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcMaterial* v3_Material, ::Ifc4x3_rc1::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }; populate_derived(); } +Ifc4x3_rc1::IfcMaterialProfile::IfcMaterialProfile(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcMaterial* v3_Material, ::Ifc4x3_rc1::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }; populate_derived(); } // Function implementations for IfcMaterialProfileSet -boost::optional< std::string > Ifc4x3_rc1::IfcMaterialProfileSet::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcMaterialProfileSet::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcMaterialProfileSet::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc1::IfcMaterialProfileSet::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcMaterialProfileSet::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcMaterialProfileSet::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3_rc1::IfcMaterialProfile >::ptr Ifc4x3_rc1::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcMaterialProfile >(); } +aggregate_of< ::Ifc4x3_rc1::IfcMaterialProfile >::ptr Ifc4x3_rc1::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcMaterialProfile >(); } void Ifc4x3_rc1::IfcMaterialProfileSet::setMaterialProfiles(aggregate_of< ::Ifc4x3_rc1::IfcMaterialProfile >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcCompositeProfileDef* Ifc4x3_rc1::IfcMaterialProfileSet::CompositeProfile() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcCompositeProfileDef>(true); } +::Ifc4x3_rc1::IfcCompositeProfileDef* Ifc4x3_rc1::IfcMaterialProfileSet::CompositeProfile() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcCompositeProfileDef>(true); } void Ifc4x3_rc1::IfcMaterialProfileSet::setCompositeProfile(::Ifc4x3_rc1::IfcCompositeProfileDef* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialProfileSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[657]); } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialProfileSet::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[657]); } Ifc4x3_rc1::IfcMaterialProfileSet::IfcMaterialProfileSet(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_rc1::IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcMaterialProfile >::ptr v3_MaterialProfiles, ::Ifc4x3_rc1::IfcCompositeProfileDef* v4_CompositeProfile) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_MaterialProfiles)->generalize());set_attribute_value(3, v4_CompositeProfile ? v4_CompositeProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcMaterialProfile >::ptr v3_MaterialProfiles, ::Ifc4x3_rc1::IfcCompositeProfileDef* v4_CompositeProfile) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_MaterialProfiles)->generalize());set_attribute_value(3, v4_CompositeProfile ? v4_CompositeProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialProfileSetUsage -::Ifc4x3_rc1::IfcMaterialProfileSet* Ifc4x3_rc1::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcMaterialProfileSet>(true); } +::Ifc4x3_rc1::IfcMaterialProfileSet* Ifc4x3_rc1::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcMaterialProfileSet>(true); } void Ifc4x3_rc1::IfcMaterialProfileSetUsage::setForProfileSet(::Ifc4x3_rc1::IfcMaterialProfileSet* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< int > Ifc4x3_rc1::IfcMaterialProfileSetUsage::CardinalPoint() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } int v = data_.get_attribute_value(1); return v; } +boost::optional< int > Ifc4x3_rc1::IfcMaterialProfileSetUsage::CardinalPoint() const { if(get_attribute_value(1).isNull()) { return boost::none; } int v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcMaterialProfileSetUsage::setCardinalPoint(boost::optional< int > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc1::IfcMaterialProfileSetUsage::ReferenceExtent() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc1::IfcMaterialProfileSetUsage::ReferenceExtent() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcMaterialProfileSetUsage::setReferenceExtent(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialProfileSetUsage::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[658]); } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialProfileSetUsage::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[658]); } Ifc4x3_rc1::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(IfcEntityInstanceData&& e) : IfcMaterialUsageDefinition(std::move(e)) { } -Ifc4x3_rc1::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4x3_rc1::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }; populate_derived(); } +Ifc4x3_rc1::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4x3_rc1::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }; populate_derived(); } // Function implementations for IfcMaterialProfileSetUsageTapering -::Ifc4x3_rc1::IfcMaterialProfileSet* Ifc4x3_rc1::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcMaterialProfileSet>(true); } +::Ifc4x3_rc1::IfcMaterialProfileSet* Ifc4x3_rc1::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcMaterialProfileSet>(true); } void Ifc4x3_rc1::IfcMaterialProfileSetUsageTapering::setForProfileEndSet(::Ifc4x3_rc1::IfcMaterialProfileSet* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< int > Ifc4x3_rc1::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x3_rc1::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialProfileSetUsageTapering::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[659]); } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialProfileSetUsageTapering::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[659]); } Ifc4x3_rc1::IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(IfcEntityInstanceData&& e) : IfcMaterialProfileSetUsage(std::move(e)) { } -Ifc4x3_rc1::IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(::Ifc4x3_rc1::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent, ::Ifc4x3_rc1::IfcMaterialProfileSet* v4_ForProfileEndSet, boost::optional< int > v5_CardinalEndPoint) : IfcMaterialProfileSetUsage(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, v4_ForProfileEndSet ? v4_ForProfileEndSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); }; populate_derived(); } +Ifc4x3_rc1::IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(::Ifc4x3_rc1::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent, ::Ifc4x3_rc1::IfcMaterialProfileSet* v4_ForProfileEndSet, boost::optional< int > v5_CardinalEndPoint) : IfcMaterialProfileSetUsage(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, v4_ForProfileEndSet ? v4_ForProfileEndSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); }; populate_derived(); } // Function implementations for IfcMaterialProfileWithOffsets -std::vector< double > /*[1:2]*/ Ifc4x3_rc1::IfcMaterialProfileWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = data_.get_attribute_value(6); return v; } +std::vector< double > /*[1:2]*/ Ifc4x3_rc1::IfcMaterialProfileWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcMaterialProfileWithOffsets::setOffsetValues(std::vector< double > /*[1:2]*/ v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialProfileWithOffsets::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[660]); } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialProfileWithOffsets::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[660]); } Ifc4x3_rc1::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(IfcEntityInstanceData&& e) : IfcMaterialProfile(std::move(e)) { } -Ifc4x3_rc1::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcMaterial* v3_Material, ::Ifc4x3_rc1::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) : IfcMaterialProfile(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues));; populate_derived(); } +Ifc4x3_rc1::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcMaterial* v3_Material, ::Ifc4x3_rc1::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) : IfcMaterialProfile(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues));; populate_derived(); } // Function implementations for IfcMaterialProperties -::Ifc4x3_rc1::IfcMaterialDefinition* Ifc4x3_rc1::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcMaterialDefinition>(true); } +::Ifc4x3_rc1::IfcMaterialDefinition* Ifc4x3_rc1::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcMaterialDefinition>(true); } void Ifc4x3_rc1::IfcMaterialProperties::setMaterial(::Ifc4x3_rc1::IfcMaterialDefinition* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[661]); } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[661]); } Ifc4x3_rc1::IfcMaterialProperties::IfcMaterialProperties(IfcEntityInstanceData&& e) : IfcExtendedProperties(std::move(e)) { } -Ifc4x3_rc1::IfcMaterialProperties::IfcMaterialProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcProperty >::ptr v3_Properties, ::Ifc4x3_rc1::IfcMaterialDefinition* v4_Material) : IfcExtendedProperties(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_Material ? v4_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcMaterialProperties::IfcMaterialProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcProperty >::ptr v3_Properties, ::Ifc4x3_rc1::IfcMaterialDefinition* v4_Material) : IfcExtendedProperties(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_Material ? v4_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialRelationship -::Ifc4x3_rc1::IfcMaterial* Ifc4x3_rc1::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcMaterial>(true); } +::Ifc4x3_rc1::IfcMaterial* Ifc4x3_rc1::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcMaterial>(true); } void Ifc4x3_rc1::IfcMaterialRelationship::setRelatingMaterial(::Ifc4x3_rc1::IfcMaterial* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_rc1::IfcMaterial >::ptr Ifc4x3_rc1::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc1::IfcMaterial >(); } +aggregate_of< ::Ifc4x3_rc1::IfcMaterial >::ptr Ifc4x3_rc1::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc1::IfcMaterial >(); } void Ifc4x3_rc1::IfcMaterialRelationship::setRelatedMaterials(aggregate_of< ::Ifc4x3_rc1::IfcMaterial >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc1::IfcMaterialRelationship::Expression() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcMaterialRelationship::Expression() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcMaterialRelationship::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[662]); } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[662]); } Ifc4x3_rc1::IfcMaterialRelationship::IfcMaterialRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_rc1::IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcMaterial* v3_RelatingMaterial, aggregate_of< ::Ifc4x3_rc1::IfcMaterial >::ptr v4_RelatedMaterials, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMaterial ? v3_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedMaterials)->generalize()); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } +Ifc4x3_rc1::IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcMaterial* v3_RelatingMaterial, aggregate_of< ::Ifc4x3_rc1::IfcMaterial >::ptr v4_RelatedMaterials, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMaterial ? v3_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedMaterials)->generalize()); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } // Function implementations for IfcMaterialUsageDefinition @@ -12695,77 +12695,77 @@ Ifc4x3_rc1::IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< st const IfcParse::entity& Ifc4x3_rc1::IfcMaterialUsageDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[664]); } const IfcParse::entity& Ifc4x3_rc1::IfcMaterialUsageDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[664]); } Ifc4x3_rc1::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc1::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcMeasureWithUnit -::Ifc4x3_rc1::IfcValue* Ifc4x3_rc1::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcValue>(true); } +::Ifc4x3_rc1::IfcValue* Ifc4x3_rc1::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcValue>(true); } void Ifc4x3_rc1::IfcMeasureWithUnit::setValueComponent(::Ifc4x3_rc1::IfcValue* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcUnit>(true); } +::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcUnit>(true); } void Ifc4x3_rc1::IfcMeasureWithUnit::setUnitComponent(::Ifc4x3_rc1::IfcUnit* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcMeasureWithUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[666]); } const IfcParse::entity& Ifc4x3_rc1::IfcMeasureWithUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[666]); } Ifc4x3_rc1::IfcMeasureWithUnit::IfcMeasureWithUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcMeasureWithUnit::IfcMeasureWithUnit(::Ifc4x3_rc1::IfcValue* v1_ValueComponent, ::Ifc4x3_rc1::IfcUnit* v2_UnitComponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_ValueComponent ? v1_ValueComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_UnitComponent ? v2_UnitComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcMeasureWithUnit::IfcMeasureWithUnit(::Ifc4x3_rc1::IfcValue* v1_ValueComponent, ::Ifc4x3_rc1::IfcUnit* v2_UnitComponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_ValueComponent ? v1_ValueComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_UnitComponent ? v2_UnitComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMechanicalFastener -boost::optional< double > Ifc4x3_rc1::IfcMechanicalFastener::NominalDiameter() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc1::IfcMechanicalFastener::NominalDiameter() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcMechanicalFastener::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_rc1::IfcMechanicalFastener::NominalLength() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc1::IfcMechanicalFastener::NominalLength() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc1::IfcMechanicalFastener::setNominalLength(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Value > Ifc4x3_rc1::IfcMechanicalFastener::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Value > Ifc4x3_rc1::IfcMechanicalFastener::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc1::IfcMechanicalFastener::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc1::IfcMechanicalFastener::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[667]); } const IfcParse::entity& Ifc4x3_rc1::IfcMechanicalFastener::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[667]); } Ifc4x3_rc1::IfcMechanicalFastener::IfcMechanicalFastener(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_rc1::IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength, boost::optional< ::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength, boost::optional< ::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMechanicalFastenerType -::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_rc1::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_rc1::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcMechanicalFastenerType::setPredefinedType(::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3_rc1::IfcMechanicalFastenerType::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc1::IfcMechanicalFastenerType::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcMechanicalFastenerType::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc1::IfcMechanicalFastenerType::NominalLength() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc1::IfcMechanicalFastenerType::NominalLength() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc1::IfcMechanicalFastenerType::setNominalLength(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x3_rc1::IfcMechanicalFastenerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[668]); } const IfcParse::entity& Ifc4x3_rc1::IfcMechanicalFastenerType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[668]); } Ifc4x3_rc1::IfcMechanicalFastenerType::IfcMechanicalFastenerType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_rc1::IfcMechanicalFastenerType::IfcMechanicalFastenerType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_NominalLength) : IfcElementComponentType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); }; populate_derived(); } +Ifc4x3_rc1::IfcMechanicalFastenerType::IfcMechanicalFastenerType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_NominalLength) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); }; populate_derived(); } // Function implementations for IfcMedicalDevice -boost::optional< ::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value > Ifc4x3_rc1::IfcMedicalDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value > Ifc4x3_rc1::IfcMedicalDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcMedicalDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcMedicalDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[670]); } const IfcParse::entity& Ifc4x3_rc1::IfcMedicalDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[670]); } Ifc4x3_rc1::IfcMedicalDevice::IfcMedicalDevice(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc1::IfcMedicalDevice::IfcMedicalDevice(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcMedicalDevice::IfcMedicalDevice(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMedicalDeviceType -::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value Ifc4x3_rc1::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value Ifc4x3_rc1::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcMedicalDeviceType::setPredefinedType(::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcMedicalDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[671]); } const IfcParse::entity& Ifc4x3_rc1::IfcMedicalDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[671]); } Ifc4x3_rc1::IfcMedicalDeviceType::IfcMedicalDeviceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc1::IfcMedicalDeviceType::IfcMedicalDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcMedicalDeviceType::IfcMedicalDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMember -boost::optional< ::Ifc4x3_rc1::IfcMemberTypeEnum::Value > Ifc4x3_rc1::IfcMember::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcMemberTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcMemberTypeEnum::Value > Ifc4x3_rc1::IfcMember::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcMemberTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcMember::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcMemberTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcMemberTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcMember::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[673]); } const IfcParse::entity& Ifc4x3_rc1::IfcMember::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[673]); } Ifc4x3_rc1::IfcMember::IfcMember(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc1::IfcMember::IfcMember(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcMemberTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcMember::IfcMember(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcMemberTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMemberStandardCase @@ -12773,33 +12773,33 @@ Ifc4x3_rc1::IfcMember::IfcMember(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwner const IfcParse::entity& Ifc4x3_rc1::IfcMemberStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[674]); } const IfcParse::entity& Ifc4x3_rc1::IfcMemberStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[674]); } Ifc4x3_rc1::IfcMemberStandardCase::IfcMemberStandardCase(IfcEntityInstanceData&& e) : IfcMember(std::move(e)) { } -Ifc4x3_rc1::IfcMemberStandardCase::IfcMemberStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcMemberTypeEnum::Value > v9_PredefinedType) : IfcMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcMemberStandardCase::IfcMemberStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcMemberTypeEnum::Value > v9_PredefinedType) : IfcMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMemberType -::Ifc4x3_rc1::IfcMemberTypeEnum::Value Ifc4x3_rc1::IfcMemberType::PredefinedType() const { return ::Ifc4x3_rc1::IfcMemberTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcMemberTypeEnum::Value Ifc4x3_rc1::IfcMemberType::PredefinedType() const { return ::Ifc4x3_rc1::IfcMemberTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcMemberType::setPredefinedType(::Ifc4x3_rc1::IfcMemberTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcMemberType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[675]); } const IfcParse::entity& Ifc4x3_rc1::IfcMemberType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[675]); } Ifc4x3_rc1::IfcMemberType::IfcMemberType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc1::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMemberTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMemberTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMetric -::Ifc4x3_rc1::IfcBenchmarkEnum::Value Ifc4x3_rc1::IfcMetric::Benchmark() const { return ::Ifc4x3_rc1::IfcBenchmarkEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc1::IfcBenchmarkEnum::Value Ifc4x3_rc1::IfcMetric::Benchmark() const { return ::Ifc4x3_rc1::IfcBenchmarkEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc1::IfcMetric::setBenchmark(::Ifc4x3_rc1::IfcBenchmarkEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc1::IfcBenchmarkEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc4x3_rc1::IfcMetric::ValueSource() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcMetric::ValueSource() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcMetric::setValueSource(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_rc1::IfcMetricValueSelect* Ifc4x3_rc1::IfcMetric::DataValue() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc1::IfcMetricValueSelect>(true); } +::Ifc4x3_rc1::IfcMetricValueSelect* Ifc4x3_rc1::IfcMetric::DataValue() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc1::IfcMetricValueSelect>(true); } void Ifc4x3_rc1::IfcMetric::setDataValue(::Ifc4x3_rc1::IfcMetricValueSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc1::IfcReference* Ifc4x3_rc1::IfcMetric::ReferencePath() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_rc1::IfcReference>(true); } +::Ifc4x3_rc1::IfcReference* Ifc4x3_rc1::IfcMetric::ReferencePath() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_rc1::IfcReference>(true); } void Ifc4x3_rc1::IfcMetric::setReferencePath(::Ifc4x3_rc1::IfcReference* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_rc1::IfcMetric::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[677]); } const IfcParse::entity& Ifc4x3_rc1::IfcMetric::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[677]); } Ifc4x3_rc1::IfcMetric::IfcMetric(IfcEntityInstanceData&& e) : IfcConstraint(std::move(e)) { } -Ifc4x3_rc1::IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc1::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_rc1::IfcBenchmarkEnum::Value v8_Benchmark, boost::optional< std::string > v9_ValueSource, ::Ifc4x3_rc1::IfcMetricValueSelect* v10_DataValue, ::Ifc4x3_rc1::IfcReference* v11_ReferencePath) : IfcConstraint(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, v10_DataValue ? v10_DataValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ReferencePath ? v11_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc1::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_rc1::IfcBenchmarkEnum::Value v8_Benchmark, boost::optional< std::string > v9_ValueSource, ::Ifc4x3_rc1::IfcMetricValueSelect* v10_DataValue, ::Ifc4x3_rc1::IfcReference* v11_ReferencePath) : IfcConstraint(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, v10_DataValue ? v10_DataValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ReferencePath ? v11_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMirroredProfileDef @@ -12807,112 +12807,112 @@ Ifc4x3_rc1::IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::stri const IfcParse::entity& Ifc4x3_rc1::IfcMirroredProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[679]); } const IfcParse::entity& Ifc4x3_rc1::IfcMirroredProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[679]); } Ifc4x3_rc1::IfcMirroredProfileDef::IfcMirroredProfileDef(IfcEntityInstanceData&& e) : IfcDerivedProfileDef(std::move(e)) { } -Ifc4x3_rc1::IfcMirroredProfileDef::IfcMirroredProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcProfileDef* v3_ParentProfile, boost::optional< std::string > v5_Label) : IfcDerivedProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } +Ifc4x3_rc1::IfcMirroredProfileDef::IfcMirroredProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcProfileDef* v3_ParentProfile, boost::optional< std::string > v5_Label) : IfcDerivedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } // Function implementations for IfcMobileTelecommunicationsAppliance -boost::optional< ::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > Ifc4x3_rc1::IfcMobileTelecommunicationsAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > Ifc4x3_rc1::IfcMobileTelecommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcMobileTelecommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcMobileTelecommunicationsAppliance::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[680]); } const IfcParse::entity& Ifc4x3_rc1::IfcMobileTelecommunicationsAppliance::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[680]); } Ifc4x3_rc1::IfcMobileTelecommunicationsAppliance::IfcMobileTelecommunicationsAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc1::IfcMobileTelecommunicationsAppliance::IfcMobileTelecommunicationsAppliance(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcMobileTelecommunicationsAppliance::IfcMobileTelecommunicationsAppliance(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMobileTelecommunicationsApplianceType -::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceType::setPredefinedType(::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[681]); } const IfcParse::entity& Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[681]); } Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceType::IfcMobileTelecommunicationsApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceType::IfcMobileTelecommunicationsApplianceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceType::IfcMobileTelecommunicationsApplianceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMonetaryUnit -std::string Ifc4x3_rc1::IfcMonetaryUnit::Currency() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc1::IfcMonetaryUnit::Currency() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcMonetaryUnit::setCurrency(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc1::IfcMonetaryUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[694]); } const IfcParse::entity& Ifc4x3_rc1::IfcMonetaryUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[694]); } Ifc4x3_rc1::IfcMonetaryUnit::IfcMonetaryUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcMonetaryUnit::IfcMonetaryUnit(std::string v1_Currency) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Currency));; populate_derived(); } +Ifc4x3_rc1::IfcMonetaryUnit::IfcMonetaryUnit(std::string v1_Currency) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Currency));; populate_derived(); } // Function implementations for IfcMooringDevice -boost::optional< ::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value > Ifc4x3_rc1::IfcMooringDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value > Ifc4x3_rc1::IfcMooringDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcMooringDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcMooringDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[696]); } const IfcParse::entity& Ifc4x3_rc1::IfcMooringDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[696]); } Ifc4x3_rc1::IfcMooringDevice::IfcMooringDevice(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc1::IfcMooringDevice::IfcMooringDevice(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcMooringDevice::IfcMooringDevice(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMooringDeviceType -::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value Ifc4x3_rc1::IfcMooringDeviceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value Ifc4x3_rc1::IfcMooringDeviceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcMooringDeviceType::setPredefinedType(::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcMooringDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[697]); } const IfcParse::entity& Ifc4x3_rc1::IfcMooringDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[697]); } Ifc4x3_rc1::IfcMooringDeviceType::IfcMooringDeviceType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc1::IfcMooringDeviceType::IfcMooringDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcMooringDeviceType::IfcMooringDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcMooringDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMotorConnection -boost::optional< ::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value > Ifc4x3_rc1::IfcMotorConnection::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value > Ifc4x3_rc1::IfcMotorConnection::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcMotorConnection::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcMotorConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[699]); } const IfcParse::entity& Ifc4x3_rc1::IfcMotorConnection::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[699]); } Ifc4x3_rc1::IfcMotorConnection::IfcMotorConnection(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc1::IfcMotorConnection::IfcMotorConnection(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcMotorConnection::IfcMotorConnection(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMotorConnectionType -::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value Ifc4x3_rc1::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value Ifc4x3_rc1::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcMotorConnectionType::setPredefinedType(::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcMotorConnectionType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[700]); } const IfcParse::entity& Ifc4x3_rc1::IfcMotorConnectionType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[700]); } Ifc4x3_rc1::IfcMotorConnectionType::IfcMotorConnectionType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc1::IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcNamedUnit -::Ifc4x3_rc1::IfcDimensionalExponents* Ifc4x3_rc1::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcDimensionalExponents>(true); } +::Ifc4x3_rc1::IfcDimensionalExponents* Ifc4x3_rc1::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcDimensionalExponents>(true); } void Ifc4x3_rc1::IfcNamedUnit::setDimensions(::Ifc4x3_rc1::IfcDimensionalExponents* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcUnitEnum::Value Ifc4x3_rc1::IfcNamedUnit::UnitType() const { return ::Ifc4x3_rc1::IfcUnitEnum::FromString(data_.get_attribute_value(1)); } +::Ifc4x3_rc1::IfcUnitEnum::Value Ifc4x3_rc1::IfcNamedUnit::UnitType() const { return ::Ifc4x3_rc1::IfcUnitEnum::FromString(get_attribute_value(1)); } void Ifc4x3_rc1::IfcNamedUnit::setUnitType(::Ifc4x3_rc1::IfcUnitEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x3_rc1::IfcUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcNamedUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[702]); } const IfcParse::entity& Ifc4x3_rc1::IfcNamedUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[702]); } Ifc4x3_rc1::IfcNamedUnit::IfcNamedUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcNamedUnit::IfcNamedUnit(::Ifc4x3_rc1::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc1::IfcUnitEnum::Value v2_UnitType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; populate_derived(); } +Ifc4x3_rc1::IfcNamedUnit::IfcNamedUnit(::Ifc4x3_rc1::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc1::IfcUnitEnum::Value v2_UnitType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; populate_derived(); } // Function implementations for IfcNavigationElement -boost::optional< ::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value > Ifc4x3_rc1::IfcNavigationElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcNavigationElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value > Ifc4x3_rc1::IfcNavigationElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcNavigationElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcNavigationElement::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcNavigationElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[703]); } const IfcParse::entity& Ifc4x3_rc1::IfcNavigationElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[703]); } Ifc4x3_rc1::IfcNavigationElement::IfcNavigationElement(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc1::IfcNavigationElement::IfcNavigationElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcNavigationElement::IfcNavigationElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcNavigationElementType -::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value Ifc4x3_rc1::IfcNavigationElementType::PredefinedType() const { return ::Ifc4x3_rc1::IfcNavigationElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value Ifc4x3_rc1::IfcNavigationElementType::PredefinedType() const { return ::Ifc4x3_rc1::IfcNavigationElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcNavigationElementType::setPredefinedType(::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcNavigationElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[704]); } const IfcParse::entity& Ifc4x3_rc1::IfcNavigationElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[704]); } Ifc4x3_rc1::IfcNavigationElementType::IfcNavigationElementType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc1::IfcNavigationElementType::IfcNavigationElementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcNavigationElementType::IfcNavigationElementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcNavigationElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcObject -boost::optional< std::string > Ifc4x3_rc1::IfcObject::ObjectType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcObject::ObjectType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcObject::setObjectType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } ::Ifc4x3_rc1::IfcRelDefinesByObject::list::ptr Ifc4x3_rc1::IfcObject::IsDeclaredBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[943], 4)->as(); } @@ -12923,7 +12923,7 @@ void Ifc4x3_rc1::IfcObject::setObjectType(boost::optional< std::string > v) { if const IfcParse::entity& Ifc4x3_rc1::IfcObject::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[710]); } const IfcParse::entity& Ifc4x3_rc1::IfcObject::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[710]); } Ifc4x3_rc1::IfcObject::IfcObject(IfcEntityInstanceData&& e) : IfcObjectDefinition(std::move(e)) { } -Ifc4x3_rc1::IfcObject::IfcObject(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObjectDefinition(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc4x3_rc1::IfcObject::IfcObject(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObjectDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcObjectDefinition @@ -12938,10 +12938,10 @@ Ifc4x3_rc1::IfcObject::IfcObject(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwner const IfcParse::entity& Ifc4x3_rc1::IfcObjectDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[711]); } const IfcParse::entity& Ifc4x3_rc1::IfcObjectDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[711]); } Ifc4x3_rc1::IfcObjectDefinition::IfcObjectDefinition(IfcEntityInstanceData&& e) : IfcRoot(std::move(e)) { } -Ifc4x3_rc1::IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc1::IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcObjectPlacement -::Ifc4x3_rc1::IfcObjectPlacement* Ifc4x3_rc1::IfcObjectPlacement::PlacementRelTo() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcObjectPlacement>(true); } +::Ifc4x3_rc1::IfcObjectPlacement* Ifc4x3_rc1::IfcObjectPlacement::PlacementRelTo() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcObjectPlacement>(true); } void Ifc4x3_rc1::IfcObjectPlacement::setPlacementRelTo(::Ifc4x3_rc1::IfcObjectPlacement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_rc1::IfcProduct::list::ptr Ifc4x3_rc1::IfcObjectPlacement::PlacesObject() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[814], 5)->as(); } @@ -12949,97 +12949,97 @@ void Ifc4x3_rc1::IfcObjectPlacement::setPlacementRelTo(::Ifc4x3_rc1::IfcObjectPl const IfcParse::entity& Ifc4x3_rc1::IfcObjectPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[714]); } const IfcParse::entity& Ifc4x3_rc1::IfcObjectPlacement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[714]); } Ifc4x3_rc1::IfcObjectPlacement::IfcObjectPlacement(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcObjectPlacement::IfcObjectPlacement(::Ifc4x3_rc1::IfcObjectPlacement* v1_PlacementRelTo) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcObjectPlacement::IfcObjectPlacement(::Ifc4x3_rc1::IfcObjectPlacement* v1_PlacementRelTo) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcObjective -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcConstraint >::ptr > Ifc4x3_rc1::IfcObjective::BenchmarkValues() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc1::IfcConstraint >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcConstraint >::ptr > Ifc4x3_rc1::IfcObjective::BenchmarkValues() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc1::IfcConstraint >(); } void Ifc4x3_rc1::IfcObjective::setBenchmarkValues(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcConstraint >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3_rc1::IfcLogicalOperatorEnum::Value > Ifc4x3_rc1::IfcObjective::LogicalAggregator() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcLogicalOperatorEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcLogicalOperatorEnum::Value > Ifc4x3_rc1::IfcObjective::LogicalAggregator() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcLogicalOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcObjective::setLogicalAggregator(boost::optional< ::Ifc4x3_rc1::IfcLogicalOperatorEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcLogicalOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -::Ifc4x3_rc1::IfcObjectiveEnum::Value Ifc4x3_rc1::IfcObjective::ObjectiveQualifier() const { return ::Ifc4x3_rc1::IfcObjectiveEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcObjectiveEnum::Value Ifc4x3_rc1::IfcObjective::ObjectiveQualifier() const { return ::Ifc4x3_rc1::IfcObjectiveEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcObjective::setObjectiveQualifier(::Ifc4x3_rc1::IfcObjectiveEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcObjectiveEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3_rc1::IfcObjective::UserDefinedQualifier() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcObjective::UserDefinedQualifier() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcObjective::setUserDefinedQualifier(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc1::IfcObjective::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[712]); } const IfcParse::entity& Ifc4x3_rc1::IfcObjective::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[712]); } Ifc4x3_rc1::IfcObjective::IfcObjective(IfcEntityInstanceData&& e) : IfcConstraint(std::move(e)) { } -Ifc4x3_rc1::IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc1::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcConstraint >::ptr > v8_BenchmarkValues, boost::optional< ::Ifc4x3_rc1::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_rc1::IfcObjectiveEnum::Value v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier) : IfcConstraint(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, (*v8_BenchmarkValues)->generalize()); } if (v9_LogicalAggregator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; populate_derived(); } +Ifc4x3_rc1::IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc1::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcConstraint >::ptr > v8_BenchmarkValues, boost::optional< ::Ifc4x3_rc1::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_rc1::IfcObjectiveEnum::Value v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier) : IfcConstraint(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, (*v8_BenchmarkValues)->generalize()); } if (v9_LogicalAggregator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; populate_derived(); } // Function implementations for IfcOccupant -boost::optional< ::Ifc4x3_rc1::IfcOccupantTypeEnum::Value > Ifc4x3_rc1::IfcOccupant::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcOccupantTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_rc1::IfcOccupantTypeEnum::Value > Ifc4x3_rc1::IfcOccupant::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcOccupantTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_rc1::IfcOccupant::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcOccupantTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_rc1::IfcOccupantTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc1::IfcOccupant::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[717]); } const IfcParse::entity& Ifc4x3_rc1::IfcOccupant::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[717]); } Ifc4x3_rc1::IfcOccupant::IfcOccupant(IfcEntityInstanceData&& e) : IfcActor(std::move(e)) { } -Ifc4x3_rc1::IfcOccupant::IfcOccupant(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcActorSelect* v6_TheActor, boost::optional< ::Ifc4x3_rc1::IfcOccupantTypeEnum::Value > v7_PredefinedType) : IfcActor(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc1::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcOccupant::IfcOccupant(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcActorSelect* v6_TheActor, boost::optional< ::Ifc4x3_rc1::IfcOccupantTypeEnum::Value > v7_PredefinedType) : IfcActor(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc1::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOffsetCurve -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcOffsetCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCurve>(true); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcOffsetCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcOffsetCurve::setBasisCurve(::Ifc4x3_rc1::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc1::IfcOffsetCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[719]); } const IfcParse::entity& Ifc4x3_rc1::IfcOffsetCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[719]); } Ifc4x3_rc1::IfcOffsetCurve::IfcOffsetCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_rc1::IfcOffsetCurve::IfcOffsetCurve(::Ifc4x3_rc1::IfcCurve* v1_BasisCurve) : IfcCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcOffsetCurve::IfcOffsetCurve(::Ifc4x3_rc1::IfcCurve* v1_BasisCurve) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcOffsetCurve2D -double Ifc4x3_rc1::IfcOffsetCurve2D::Distance() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc1::IfcOffsetCurve2D::Distance() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcOffsetCurve2D::setDistance(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::logic::tribool Ifc4x3_rc1::IfcOffsetCurve2D::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::logic::tribool Ifc4x3_rc1::IfcOffsetCurve2D::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcOffsetCurve2D::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc1::IfcOffsetCurve2D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[720]); } const IfcParse::entity& Ifc4x3_rc1::IfcOffsetCurve2D::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[720]); } Ifc4x3_rc1::IfcOffsetCurve2D::IfcOffsetCurve2D(IfcEntityInstanceData&& e) : IfcOffsetCurve(std::move(e)) { } -Ifc4x3_rc1::IfcOffsetCurve2D::IfcOffsetCurve2D(::Ifc4x3_rc1::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) : IfcOffsetCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; populate_derived(); } +Ifc4x3_rc1::IfcOffsetCurve2D::IfcOffsetCurve2D(::Ifc4x3_rc1::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) : IfcOffsetCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; populate_derived(); } // Function implementations for IfcOffsetCurve3D -double Ifc4x3_rc1::IfcOffsetCurve3D::Distance() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc1::IfcOffsetCurve3D::Distance() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcOffsetCurve3D::setDistance(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::logic::tribool Ifc4x3_rc1::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::logic::tribool Ifc4x3_rc1::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcOffsetCurve3D::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcDirection>(true); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcOffsetCurve3D::setRefDirection(::Ifc4x3_rc1::IfcDirection* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcOffsetCurve3D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[721]); } const IfcParse::entity& Ifc4x3_rc1::IfcOffsetCurve3D::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[721]); } Ifc4x3_rc1::IfcOffsetCurve3D::IfcOffsetCurve3D(IfcEntityInstanceData&& e) : IfcOffsetCurve(std::move(e)) { } -Ifc4x3_rc1::IfcOffsetCurve3D::IfcOffsetCurve3D(::Ifc4x3_rc1::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_rc1::IfcDirection* v4_RefDirection) : IfcOffsetCurve(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, v4_RefDirection ? v4_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcOffsetCurve3D::IfcOffsetCurve3D(::Ifc4x3_rc1::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_rc1::IfcDirection* v4_RefDirection) : IfcOffsetCurve(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, v4_RefDirection ? v4_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcOffsetCurveByDistances -aggregate_of< ::Ifc4x3_rc1::IfcDistanceExpression >::ptr Ifc4x3_rc1::IfcOffsetCurveByDistances::OffsetValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcDistanceExpression >(); } +aggregate_of< ::Ifc4x3_rc1::IfcDistanceExpression >::ptr Ifc4x3_rc1::IfcOffsetCurveByDistances::OffsetValues() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcDistanceExpression >(); } void Ifc4x3_rc1::IfcOffsetCurveByDistances::setOffsetValues(aggregate_of< ::Ifc4x3_rc1::IfcDistanceExpression >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_rc1::IfcOffsetCurveByDistances::Tag() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcOffsetCurveByDistances::Tag() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcOffsetCurveByDistances::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc1::IfcOffsetCurveByDistances::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[722]); } const IfcParse::entity& Ifc4x3_rc1::IfcOffsetCurveByDistances::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[722]); } Ifc4x3_rc1::IfcOffsetCurveByDistances::IfcOffsetCurveByDistances(IfcEntityInstanceData&& e) : IfcOffsetCurve(std::move(e)) { } -Ifc4x3_rc1::IfcOffsetCurveByDistances::IfcOffsetCurveByDistances(::Ifc4x3_rc1::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_rc1::IfcDistanceExpression >::ptr v2_OffsetValues, boost::optional< std::string > v3_Tag) : IfcOffsetCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_OffsetValues)->generalize()); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; populate_derived(); } +Ifc4x3_rc1::IfcOffsetCurveByDistances::IfcOffsetCurveByDistances(::Ifc4x3_rc1::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_rc1::IfcDistanceExpression >::ptr v2_OffsetValues, boost::optional< std::string > v3_Tag) : IfcOffsetCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_OffsetValues)->generalize()); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; populate_derived(); } // Function implementations for IfcOpenCrossProfileDef -bool Ifc4x3_rc1::IfcOpenCrossProfileDef::HorizontalWidths() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x3_rc1::IfcOpenCrossProfileDef::HorizontalWidths() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcOpenCrossProfileDef::setHorizontalWidths(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< double > /*[1:?]*/ Ifc4x3_rc1::IfcOpenCrossProfileDef::Widths() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +std::vector< double > /*[1:?]*/ Ifc4x3_rc1::IfcOpenCrossProfileDef::Widths() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcOpenCrossProfileDef::setWidths(std::vector< double > /*[1:?]*/ v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -std::vector< double > /*[1:?]*/ Ifc4x3_rc1::IfcOpenCrossProfileDef::Slopes() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +std::vector< double > /*[1:?]*/ Ifc4x3_rc1::IfcOpenCrossProfileDef::Slopes() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcOpenCrossProfileDef::setSlopes(std::vector< double > /*[1:?]*/ v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< std::vector< std::string > /*[2:?]*/ > Ifc4x3_rc1::IfcOpenCrossProfileDef::Tags() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[2:?]*/ v = data_.get_attribute_value(5); return v; } +boost::optional< std::vector< std::string > /*[2:?]*/ > Ifc4x3_rc1::IfcOpenCrossProfileDef::Tags() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[2:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcOpenCrossProfileDef::setTags(boost::optional< std::vector< std::string > /*[2:?]*/ > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_rc1::IfcOpenCrossProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[723]); } const IfcParse::entity& Ifc4x3_rc1::IfcOpenCrossProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[723]); } Ifc4x3_rc1::IfcOpenCrossProfileDef::IfcOpenCrossProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_rc1::IfcOpenCrossProfileDef::IfcOpenCrossProfileDef(::Ifc4x3_rc1::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) : IfcProfileDef(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_HorizontalWidths));set_attribute_value(3, (v4_Widths));set_attribute_value(4, (v5_Slopes)); if (v6_Tags) {set_attribute_value(5, (*v6_Tags)); }; populate_derived(); } +Ifc4x3_rc1::IfcOpenCrossProfileDef::IfcOpenCrossProfileDef(::Ifc4x3_rc1::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) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_HorizontalWidths));set_attribute_value(3, (v4_Widths));set_attribute_value(4, (v5_Slopes)); if (v6_Tags) {set_attribute_value(5, (*v6_Tags)); }; populate_derived(); } // Function implementations for IfcOpenShell @@ -13047,10 +13047,10 @@ Ifc4x3_rc1::IfcOpenCrossProfileDef::IfcOpenCrossProfileDef(::Ifc4x3_rc1::IfcProf const IfcParse::entity& Ifc4x3_rc1::IfcOpenShell::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[727]); } const IfcParse::entity& Ifc4x3_rc1::IfcOpenShell::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[727]); } Ifc4x3_rc1::IfcOpenShell::IfcOpenShell(IfcEntityInstanceData&& e) : IfcConnectedFaceSet(std::move(e)) { } -Ifc4x3_rc1::IfcOpenShell::IfcOpenShell(aggregate_of< ::Ifc4x3_rc1::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcOpenShell::IfcOpenShell(aggregate_of< ::Ifc4x3_rc1::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcOpeningElement -boost::optional< ::Ifc4x3_rc1::IfcOpeningElementTypeEnum::Value > Ifc4x3_rc1::IfcOpeningElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcOpeningElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcOpeningElementTypeEnum::Value > Ifc4x3_rc1::IfcOpeningElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcOpeningElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcOpeningElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcOpeningElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x3_rc1::IfcRelFillsElement::list::ptr Ifc4x3_rc1::IfcOpeningElement::HasFillings() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[947], 4)->as(); } @@ -13058,7 +13058,7 @@ void Ifc4x3_rc1::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4x3_ const IfcParse::entity& Ifc4x3_rc1::IfcOpeningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[724]); } const IfcParse::entity& Ifc4x3_rc1::IfcOpeningElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[724]); } Ifc4x3_rc1::IfcOpeningElement::IfcOpeningElement(IfcEntityInstanceData&& e) : IfcFeatureElementSubtraction(std::move(e)) { } -Ifc4x3_rc1::IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOpeningStandardCase @@ -13066,18 +13066,18 @@ Ifc4x3_rc1::IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3_rc1::IfcOpeningStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[726]); } const IfcParse::entity& Ifc4x3_rc1::IfcOpeningStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[726]); } Ifc4x3_rc1::IfcOpeningStandardCase::IfcOpeningStandardCase(IfcEntityInstanceData&& e) : IfcOpeningElement(std::move(e)) { } -Ifc4x3_rc1::IfcOpeningStandardCase::IfcOpeningStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) : IfcOpeningElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcOpeningStandardCase::IfcOpeningStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) : IfcOpeningElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOrganization -boost::optional< std::string > Ifc4x3_rc1::IfcOrganization::Identification() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcOrganization::Identification() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcOrganization::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -std::string Ifc4x3_rc1::IfcOrganization::Name() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_rc1::IfcOrganization::Name() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcOrganization::setName(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_rc1::IfcOrganization::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcOrganization::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcOrganization::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorRole >::ptr > Ifc4x3_rc1::IfcOrganization::Roles() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc1::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorRole >::ptr > Ifc4x3_rc1::IfcOrganization::Roles() const { if(get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc1::IfcActorRole >(); } void Ifc4x3_rc1::IfcOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(3, (*v)->generalize());} else {unset_attribute_value(3);} } -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAddress >::ptr > Ifc4x3_rc1::IfcOrganization::Addresses() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc1::IfcAddress >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAddress >::ptr > Ifc4x3_rc1::IfcOrganization::Addresses() const { if(get_attribute_value(4).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc1::IfcAddress >(); } void Ifc4x3_rc1::IfcOrganization::setAddresses(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAddress >::ptr > v) { if (v) {set_attribute_value(4, (*v)->generalize());} else {unset_attribute_value(4);} } ::Ifc4x3_rc1::IfcOrganizationRelationship::list::ptr Ifc4x3_rc1::IfcOrganization::IsRelatedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[729], 3)->as(); } @@ -13087,43 +13087,43 @@ void Ifc4x3_rc1::IfcOrganization::setAddresses(boost::optional< aggregate_of< :: const IfcParse::entity& Ifc4x3_rc1::IfcOrganization::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[728]); } const IfcParse::entity& Ifc4x3_rc1::IfcOrganization::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[728]); } Ifc4x3_rc1::IfcOrganization::IfcOrganization(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcOrganization::IfcOrganization(boost::optional< std::string > v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorRole >::ptr > v4_Roles, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAddress >::ptr > v5_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, (*v4_Roles)->generalize()); } if (v5_Addresses) {set_attribute_value(4, (*v5_Addresses)->generalize()); }; populate_derived(); } +Ifc4x3_rc1::IfcOrganization::IfcOrganization(boost::optional< std::string > v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorRole >::ptr > v4_Roles, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAddress >::ptr > v5_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, (*v4_Roles)->generalize()); } if (v5_Addresses) {set_attribute_value(4, (*v5_Addresses)->generalize()); }; populate_derived(); } // Function implementations for IfcOrganizationRelationship -::Ifc4x3_rc1::IfcOrganization* Ifc4x3_rc1::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcOrganization>(true); } +::Ifc4x3_rc1::IfcOrganization* Ifc4x3_rc1::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcOrganization>(true); } void Ifc4x3_rc1::IfcOrganizationRelationship::setRelatingOrganization(::Ifc4x3_rc1::IfcOrganization* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_rc1::IfcOrganization >::ptr Ifc4x3_rc1::IfcOrganizationRelationship::RelatedOrganizations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc1::IfcOrganization >(); } +aggregate_of< ::Ifc4x3_rc1::IfcOrganization >::ptr Ifc4x3_rc1::IfcOrganizationRelationship::RelatedOrganizations() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc1::IfcOrganization >(); } void Ifc4x3_rc1::IfcOrganizationRelationship::setRelatedOrganizations(aggregate_of< ::Ifc4x3_rc1::IfcOrganization >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcOrganizationRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[729]); } const IfcParse::entity& Ifc4x3_rc1::IfcOrganizationRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[729]); } Ifc4x3_rc1::IfcOrganizationRelationship::IfcOrganizationRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_rc1::IfcOrganizationRelationship::IfcOrganizationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcOrganization* v3_RelatingOrganization, aggregate_of< ::Ifc4x3_rc1::IfcOrganization >::ptr v4_RelatedOrganizations) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingOrganization ? v3_RelatingOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedOrganizations)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcOrganizationRelationship::IfcOrganizationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcOrganization* v3_RelatingOrganization, aggregate_of< ::Ifc4x3_rc1::IfcOrganization >::ptr v4_RelatedOrganizations) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingOrganization ? v3_RelatingOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedOrganizations)->generalize());; populate_derived(); } // Function implementations for IfcOrientationExpression -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcOrientationExpression::LateralAxisDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcDirection>(true); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcOrientationExpression::LateralAxisDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcOrientationExpression::setLateralAxisDirection(::Ifc4x3_rc1::IfcDirection* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcOrientationExpression::VerticalAxisDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcDirection>(true); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcOrientationExpression::VerticalAxisDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcOrientationExpression::setVerticalAxisDirection(::Ifc4x3_rc1::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcOrientationExpression::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[730]); } const IfcParse::entity& Ifc4x3_rc1::IfcOrientationExpression::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[730]); } Ifc4x3_rc1::IfcOrientationExpression::IfcOrientationExpression(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcOrientationExpression::IfcOrientationExpression(::Ifc4x3_rc1::IfcDirection* v1_LateralAxisDirection, ::Ifc4x3_rc1::IfcDirection* v2_VerticalAxisDirection) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_LateralAxisDirection ? v1_LateralAxisDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_VerticalAxisDirection ? v2_VerticalAxisDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcOrientationExpression::IfcOrientationExpression(::Ifc4x3_rc1::IfcDirection* v1_LateralAxisDirection, ::Ifc4x3_rc1::IfcDirection* v2_VerticalAxisDirection) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_LateralAxisDirection ? v1_LateralAxisDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_VerticalAxisDirection ? v2_VerticalAxisDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcOrientedEdge -::Ifc4x3_rc1::IfcEdge* Ifc4x3_rc1::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcEdge>(true); } +::Ifc4x3_rc1::IfcEdge* Ifc4x3_rc1::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcEdge>(true); } void Ifc4x3_rc1::IfcOrientedEdge::setEdgeElement(::Ifc4x3_rc1::IfcEdge* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x3_rc1::IfcOrientedEdge::Orientation() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x3_rc1::IfcOrientedEdge::Orientation() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcOrientedEdge::setOrientation(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcOrientedEdge::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[731]); } const IfcParse::entity& Ifc4x3_rc1::IfcOrientedEdge::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[731]); } Ifc4x3_rc1::IfcOrientedEdge::IfcOrientedEdge(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc4x3_rc1::IfcOrientedEdge::IfcOrientedEdge(::Ifc4x3_rc1::IfcEdge* v3_EdgeElement, bool v4_Orientation) : IfcEdge(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(2, v3_EdgeElement ? v3_EdgeElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Orientation));; populate_derived(); } +Ifc4x3_rc1::IfcOrientedEdge::IfcOrientedEdge(::Ifc4x3_rc1::IfcEdge* v3_EdgeElement, bool v4_Orientation) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(2, v3_EdgeElement ? v3_EdgeElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Orientation));; populate_derived(); } // Function implementations for IfcOuterBoundaryCurve @@ -13131,164 +13131,164 @@ Ifc4x3_rc1::IfcOrientedEdge::IfcOrientedEdge(::Ifc4x3_rc1::IfcEdge* v3_EdgeEleme const IfcParse::entity& Ifc4x3_rc1::IfcOuterBoundaryCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[732]); } const IfcParse::entity& Ifc4x3_rc1::IfcOuterBoundaryCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[732]); } Ifc4x3_rc1::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(IfcEntityInstanceData&& e) : IfcBoundaryCurve(std::move(e)) { } -Ifc4x3_rc1::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(aggregate_of< ::Ifc4x3_rc1::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundaryCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x3_rc1::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(aggregate_of< ::Ifc4x3_rc1::IfcCompositeCurveSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundaryCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcOutlet -boost::optional< ::Ifc4x3_rc1::IfcOutletTypeEnum::Value > Ifc4x3_rc1::IfcOutlet::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcOutletTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcOutletTypeEnum::Value > Ifc4x3_rc1::IfcOutlet::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcOutletTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcOutlet::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcOutletTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcOutletTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcOutlet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[733]); } const IfcParse::entity& Ifc4x3_rc1::IfcOutlet::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[733]); } Ifc4x3_rc1::IfcOutlet::IfcOutlet(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc1::IfcOutlet::IfcOutlet(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcOutletTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcOutlet::IfcOutlet(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcOutletTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOutletType -::Ifc4x3_rc1::IfcOutletTypeEnum::Value Ifc4x3_rc1::IfcOutletType::PredefinedType() const { return ::Ifc4x3_rc1::IfcOutletTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcOutletTypeEnum::Value Ifc4x3_rc1::IfcOutletType::PredefinedType() const { return ::Ifc4x3_rc1::IfcOutletTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcOutletType::setPredefinedType(::Ifc4x3_rc1::IfcOutletTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcOutletTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcOutletType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[734]); } const IfcParse::entity& Ifc4x3_rc1::IfcOutletType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[734]); } Ifc4x3_rc1::IfcOutletType::IfcOutletType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc1::IfcOutletType::IfcOutletType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcOutletTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcOutletType::IfcOutletType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcOutletTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcOwnerHistory -::Ifc4x3_rc1::IfcPersonAndOrganization* Ifc4x3_rc1::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcPersonAndOrganization>(true); } +::Ifc4x3_rc1::IfcPersonAndOrganization* Ifc4x3_rc1::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcPersonAndOrganization>(true); } void Ifc4x3_rc1::IfcOwnerHistory::setOwningUser(::Ifc4x3_rc1::IfcPersonAndOrganization* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcApplication* Ifc4x3_rc1::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcApplication>(true); } +::Ifc4x3_rc1::IfcApplication* Ifc4x3_rc1::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcApplication>(true); } void Ifc4x3_rc1::IfcOwnerHistory::setOwningApplication(::Ifc4x3_rc1::IfcApplication* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< ::Ifc4x3_rc1::IfcStateEnum::Value > Ifc4x3_rc1::IfcOwnerHistory::State() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcStateEnum::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc4x3_rc1::IfcStateEnum::Value > Ifc4x3_rc1::IfcOwnerHistory::State() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcStateEnum::FromString(get_attribute_value(2)); } void Ifc4x3_rc1::IfcOwnerHistory::setState(boost::optional< ::Ifc4x3_rc1::IfcStateEnum::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc4x3_rc1::IfcStateEnum::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -boost::optional< ::Ifc4x3_rc1::IfcChangeActionEnum::Value > Ifc4x3_rc1::IfcOwnerHistory::ChangeAction() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcChangeActionEnum::FromString(data_.get_attribute_value(3)); } +boost::optional< ::Ifc4x3_rc1::IfcChangeActionEnum::Value > Ifc4x3_rc1::IfcOwnerHistory::ChangeAction() const { if(get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcChangeActionEnum::FromString(get_attribute_value(3)); } void Ifc4x3_rc1::IfcOwnerHistory::setChangeAction(boost::optional< ::Ifc4x3_rc1::IfcChangeActionEnum::Value > v) { if (v) {set_attribute_value(3, EnumerationReference(&::Ifc4x3_rc1::IfcChangeActionEnum::Class(), (size_t) *v));} else {unset_attribute_value(3);} } -boost::optional< int > Ifc4x3_rc1::IfcOwnerHistory::LastModifiedDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x3_rc1::IfcOwnerHistory::LastModifiedDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc1::IfcPersonAndOrganization* Ifc4x3_rc1::IfcOwnerHistory::LastModifyingUser() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcPersonAndOrganization>(true); } +::Ifc4x3_rc1::IfcPersonAndOrganization* Ifc4x3_rc1::IfcOwnerHistory::LastModifyingUser() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcPersonAndOrganization>(true); } void Ifc4x3_rc1::IfcOwnerHistory::setLastModifyingUser(::Ifc4x3_rc1::IfcPersonAndOrganization* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc1::IfcApplication* Ifc4x3_rc1::IfcOwnerHistory::LastModifyingApplication() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcApplication>(true); } +::Ifc4x3_rc1::IfcApplication* Ifc4x3_rc1::IfcOwnerHistory::LastModifyingApplication() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcApplication>(true); } void Ifc4x3_rc1::IfcOwnerHistory::setLastModifyingApplication(::Ifc4x3_rc1::IfcApplication* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -int Ifc4x3_rc1::IfcOwnerHistory::CreationDate() const { int v = data_.get_attribute_value(7); return v; } +int Ifc4x3_rc1::IfcOwnerHistory::CreationDate() const { int v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcOwnerHistory::setCreationDate(int v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc1::IfcOwnerHistory::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[736]); } const IfcParse::entity& Ifc4x3_rc1::IfcOwnerHistory::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[736]); } Ifc4x3_rc1::IfcOwnerHistory::IfcOwnerHistory(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcOwnerHistory::IfcOwnerHistory(::Ifc4x3_rc1::IfcPersonAndOrganization* v1_OwningUser, ::Ifc4x3_rc1::IfcApplication* v2_OwningApplication, boost::optional< ::Ifc4x3_rc1::IfcStateEnum::Value > v3_State, boost::optional< ::Ifc4x3_rc1::IfcChangeActionEnum::Value > v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, ::Ifc4x3_rc1::IfcPersonAndOrganization* v6_LastModifyingUser, ::Ifc4x3_rc1::IfcApplication* v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, v1_OwningUser ? v1_OwningUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OwningApplication ? v2_OwningApplication->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_State) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc1::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc1::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, v6_LastModifyingUser ? v6_LastModifyingUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_LastModifyingApplication ? v7_LastModifyingApplication->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_CreationDate));; populate_derived(); } +Ifc4x3_rc1::IfcOwnerHistory::IfcOwnerHistory(::Ifc4x3_rc1::IfcPersonAndOrganization* v1_OwningUser, ::Ifc4x3_rc1::IfcApplication* v2_OwningApplication, boost::optional< ::Ifc4x3_rc1::IfcStateEnum::Value > v3_State, boost::optional< ::Ifc4x3_rc1::IfcChangeActionEnum::Value > v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, ::Ifc4x3_rc1::IfcPersonAndOrganization* v6_LastModifyingUser, ::Ifc4x3_rc1::IfcApplication* v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, v1_OwningUser ? v1_OwningUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OwningApplication ? v2_OwningApplication->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_State) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc1::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc1::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, v6_LastModifyingUser ? v6_LastModifyingUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_LastModifyingApplication ? v7_LastModifyingApplication->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_CreationDate));; populate_derived(); } // Function implementations for IfcParameterizedProfileDef -::Ifc4x3_rc1::IfcAxis2Placement2D* Ifc4x3_rc1::IfcParameterizedProfileDef::Position() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcAxis2Placement2D>(true); } +::Ifc4x3_rc1::IfcAxis2Placement2D* Ifc4x3_rc1::IfcParameterizedProfileDef::Position() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcAxis2Placement2D>(true); } void Ifc4x3_rc1::IfcParameterizedProfileDef::setPosition(::Ifc4x3_rc1::IfcAxis2Placement2D* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc1::IfcParameterizedProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[737]); } const IfcParse::entity& Ifc4x3_rc1::IfcParameterizedProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[737]); } Ifc4x3_rc1::IfcParameterizedProfileDef::IfcParameterizedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_rc1::IfcParameterizedProfileDef::IfcParameterizedProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D* v3_Position) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcParameterizedProfileDef::IfcParameterizedProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D* v3_Position) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPath -aggregate_of< ::Ifc4x3_rc1::IfcOrientedEdge >::ptr Ifc4x3_rc1::IfcPath::EdgeList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcOrientedEdge >(); } +aggregate_of< ::Ifc4x3_rc1::IfcOrientedEdge >::ptr Ifc4x3_rc1::IfcPath::EdgeList() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcOrientedEdge >(); } void Ifc4x3_rc1::IfcPath::setEdgeList(aggregate_of< ::Ifc4x3_rc1::IfcOrientedEdge >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc1::IfcPath::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[739]); } const IfcParse::entity& Ifc4x3_rc1::IfcPath::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[739]); } Ifc4x3_rc1::IfcPath::IfcPath(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcPath::IfcPath(aggregate_of< ::Ifc4x3_rc1::IfcOrientedEdge >::ptr v1_EdgeList) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcPath::IfcPath(aggregate_of< ::Ifc4x3_rc1::IfcOrientedEdge >::ptr v1_EdgeList) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } // Function implementations for IfcPavement -boost::optional< bool > Ifc4x3_rc1::IfcPavement::Flexible() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } bool v = data_.get_attribute_value(8); return v; } +boost::optional< bool > Ifc4x3_rc1::IfcPavement::Flexible() const { if(get_attribute_value(8).isNull()) { return boost::none; } bool v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcPavement::setFlexible(boost::optional< bool > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcPavement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[740]); } const IfcParse::entity& Ifc4x3_rc1::IfcPavement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[740]); } Ifc4x3_rc1::IfcPavement::IfcPavement(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc1::IfcPavement::IfcPavement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< bool > v9_Flexible) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_Flexible) {set_attribute_value(8, (*v9_Flexible)); }; populate_derived(); } +Ifc4x3_rc1::IfcPavement::IfcPavement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< bool > v9_Flexible) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_Flexible) {set_attribute_value(8, (*v9_Flexible)); }; populate_derived(); } // Function implementations for IfcPavementType -bool Ifc4x3_rc1::IfcPavementType::Flexible() const { bool v = data_.get_attribute_value(9); return v; } +bool Ifc4x3_rc1::IfcPavementType::Flexible() const { bool v = get_attribute_value(9); return v; } void Ifc4x3_rc1::IfcPavementType::setFlexible(bool v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcPavementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[741]); } const IfcParse::entity& Ifc4x3_rc1::IfcPavementType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[741]); } Ifc4x3_rc1::IfcPavementType::IfcPavementType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc1::IfcPavementType::IfcPavementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, bool v10_Flexible) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_Flexible));; populate_derived(); } +Ifc4x3_rc1::IfcPavementType::IfcPavementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, bool v10_Flexible) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_Flexible));; populate_derived(); } // Function implementations for IfcPcurve -::Ifc4x3_rc1::IfcSurface* Ifc4x3_rc1::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcSurface>(true); } +::Ifc4x3_rc1::IfcSurface* Ifc4x3_rc1::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcSurface>(true); } void Ifc4x3_rc1::IfcPcurve::setBasisSurface(::Ifc4x3_rc1::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcCurve>(true); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcPcurve::setReferenceCurve(::Ifc4x3_rc1::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcPcurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[742]); } const IfcParse::entity& Ifc4x3_rc1::IfcPcurve::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[742]); } Ifc4x3_rc1::IfcPcurve::IfcPcurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_rc1::IfcPcurve::IfcPcurve(::Ifc4x3_rc1::IfcSurface* v1_BasisSurface, ::Ifc4x3_rc1::IfcCurve* v2_ReferenceCurve) : IfcCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_ReferenceCurve ? v2_ReferenceCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcPcurve::IfcPcurve(::Ifc4x3_rc1::IfcSurface* v1_BasisSurface, ::Ifc4x3_rc1::IfcCurve* v2_ReferenceCurve) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_ReferenceCurve ? v2_ReferenceCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPerformanceHistory -std::string Ifc4x3_rc1::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = data_.get_attribute_value(6); return v; } +std::string Ifc4x3_rc1::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcPerformanceHistory::setLifeCyclePhase(std::string v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< ::Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::Value > Ifc4x3_rc1::IfcPerformanceHistory::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::Value > Ifc4x3_rc1::IfcPerformanceHistory::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc1::IfcPerformanceHistory::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc1::IfcPerformanceHistory::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[743]); } const IfcParse::entity& Ifc4x3_rc1::IfcPerformanceHistory::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[743]); } Ifc4x3_rc1::IfcPerformanceHistory::IfcPerformanceHistory(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_rc1::IfcPerformanceHistory::IfcPerformanceHistory(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, boost::optional< ::Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) : IfcControl(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcPerformanceHistory::IfcPerformanceHistory(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, boost::optional< ::Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPermeableCoveringProperties -::Ifc4x3_rc1::IfcPermeableCoveringOperationEnum::Value Ifc4x3_rc1::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4x3_rc1::IfcPermeableCoveringOperationEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x3_rc1::IfcPermeableCoveringOperationEnum::Value Ifc4x3_rc1::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4x3_rc1::IfcPermeableCoveringOperationEnum::FromString(get_attribute_value(4)); } void Ifc4x3_rc1::IfcPermeableCoveringProperties::setOperationType(::Ifc4x3_rc1::IfcPermeableCoveringOperationEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3_rc1::IfcPermeableCoveringOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcWindowPanelPositionEnum::Value Ifc4x3_rc1::IfcPermeableCoveringProperties::PanelPosition() const { return ::Ifc4x3_rc1::IfcWindowPanelPositionEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_rc1::IfcWindowPanelPositionEnum::Value Ifc4x3_rc1::IfcPermeableCoveringProperties::PanelPosition() const { return ::Ifc4x3_rc1::IfcWindowPanelPositionEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc1::IfcPermeableCoveringProperties::setPanelPosition(::Ifc4x3_rc1::IfcWindowPanelPositionEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc1::IfcWindowPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_rc1::IfcPermeableCoveringProperties::FrameDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc1::IfcPermeableCoveringProperties::FrameDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_rc1::IfcPermeableCoveringProperties::FrameThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc1::IfcPermeableCoveringProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc1::IfcShapeAspect* Ifc4x3_rc1::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc1::IfcShapeAspect>(true); } +::Ifc4x3_rc1::IfcShapeAspect* Ifc4x3_rc1::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc1::IfcShapeAspect>(true); } void Ifc4x3_rc1::IfcPermeableCoveringProperties::setShapeAspectStyle(::Ifc4x3_rc1::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc1::IfcPermeableCoveringProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[746]); } const IfcParse::entity& Ifc4x3_rc1::IfcPermeableCoveringProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[746]); } Ifc4x3_rc1::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_rc1::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_rc1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x3_rc1::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc1::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_rc1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x3_rc1::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc1::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPermit -boost::optional< ::Ifc4x3_rc1::IfcPermitTypeEnum::Value > Ifc4x3_rc1::IfcPermit::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcPermitTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_rc1::IfcPermitTypeEnum::Value > Ifc4x3_rc1::IfcPermit::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcPermitTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_rc1::IfcPermit::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcPermitTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_rc1::IfcPermitTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc1::IfcPermit::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcPermit::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcPermit::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc1::IfcPermit::LongDescription() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcPermit::LongDescription() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcPermit::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcPermit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[747]); } const IfcParse::entity& Ifc4x3_rc1::IfcPermit::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[747]); } Ifc4x3_rc1::IfcPermit::IfcPermit(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_rc1::IfcPermit::IfcPermit(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3_rc1::IfcPermitTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc1::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } +Ifc4x3_rc1::IfcPermit::IfcPermit(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3_rc1::IfcPermitTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc1::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } // Function implementations for IfcPerson -boost::optional< std::string > Ifc4x3_rc1::IfcPerson::Identification() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcPerson::Identification() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcPerson::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc1::IfcPerson::FamilyName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcPerson::FamilyName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcPerson::setFamilyName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc1::IfcPerson::GivenName() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcPerson::GivenName() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcPerson::setGivenName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcPerson::MiddleNames() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcPerson::MiddleNames() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcPerson::setMiddleNames(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcPerson::PrefixTitles() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcPerson::PrefixTitles() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcPerson::setPrefixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcPerson::SuffixTitles() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(5); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcPerson::SuffixTitles() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcPerson::setSuffixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorRole >::ptr > Ifc4x3_rc1::IfcPerson::Roles() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3_rc1::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorRole >::ptr > Ifc4x3_rc1::IfcPerson::Roles() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3_rc1::IfcActorRole >(); } void Ifc4x3_rc1::IfcPerson::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAddress >::ptr > Ifc4x3_rc1::IfcPerson::Addresses() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc1::IfcAddress >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAddress >::ptr > Ifc4x3_rc1::IfcPerson::Addresses() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc1::IfcAddress >(); } void Ifc4x3_rc1::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAddress >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } ::Ifc4x3_rc1::IfcPersonAndOrganization::list::ptr Ifc4x3_rc1::IfcPerson::EngagedIn() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[750], 0)->as(); } @@ -13296,42 +13296,42 @@ void Ifc4x3_rc1::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4x3 const IfcParse::entity& Ifc4x3_rc1::IfcPerson::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[749]); } const IfcParse::entity& Ifc4x3_rc1::IfcPerson::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[749]); } Ifc4x3_rc1::IfcPerson::IfcPerson(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcPerson::IfcPerson(boost::optional< std::string > v1_Identification, boost::optional< std::string > v2_FamilyName, boost::optional< std::string > v3_GivenName, boost::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorRole >::ptr > v7_Roles, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, (*v7_Roles)->generalize()); } if (v8_Addresses) {set_attribute_value(7, (*v8_Addresses)->generalize()); }; populate_derived(); } +Ifc4x3_rc1::IfcPerson::IfcPerson(boost::optional< std::string > v1_Identification, boost::optional< std::string > v2_FamilyName, boost::optional< std::string > v3_GivenName, boost::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorRole >::ptr > v7_Roles, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, (*v7_Roles)->generalize()); } if (v8_Addresses) {set_attribute_value(7, (*v8_Addresses)->generalize()); }; populate_derived(); } // Function implementations for IfcPersonAndOrganization -::Ifc4x3_rc1::IfcPerson* Ifc4x3_rc1::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcPerson>(true); } +::Ifc4x3_rc1::IfcPerson* Ifc4x3_rc1::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcPerson>(true); } void Ifc4x3_rc1::IfcPersonAndOrganization::setThePerson(::Ifc4x3_rc1::IfcPerson* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcOrganization* Ifc4x3_rc1::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcOrganization>(true); } +::Ifc4x3_rc1::IfcOrganization* Ifc4x3_rc1::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcOrganization>(true); } void Ifc4x3_rc1::IfcPersonAndOrganization::setTheOrganization(::Ifc4x3_rc1::IfcOrganization* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorRole >::ptr > Ifc4x3_rc1::IfcPersonAndOrganization::Roles() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorRole >::ptr > Ifc4x3_rc1::IfcPersonAndOrganization::Roles() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcActorRole >(); } void Ifc4x3_rc1::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc1::IfcPersonAndOrganization::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[750]); } const IfcParse::entity& Ifc4x3_rc1::IfcPersonAndOrganization::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[750]); } Ifc4x3_rc1::IfcPersonAndOrganization::IfcPersonAndOrganization(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcPersonAndOrganization::IfcPersonAndOrganization(::Ifc4x3_rc1::IfcPerson* v1_ThePerson, ::Ifc4x3_rc1::IfcOrganization* v2_TheOrganization, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorRole >::ptr > v3_Roles) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_ThePerson ? v1_ThePerson->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TheOrganization ? v2_TheOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Roles) {set_attribute_value(2, (*v3_Roles)->generalize()); }; populate_derived(); } +Ifc4x3_rc1::IfcPersonAndOrganization::IfcPersonAndOrganization(::Ifc4x3_rc1::IfcPerson* v1_ThePerson, ::Ifc4x3_rc1::IfcOrganization* v2_TheOrganization, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcActorRole >::ptr > v3_Roles) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_ThePerson ? v1_ThePerson->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TheOrganization ? v2_TheOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Roles) {set_attribute_value(2, (*v3_Roles)->generalize()); }; populate_derived(); } // Function implementations for IfcPhysicalComplexQuantity -aggregate_of< ::Ifc4x3_rc1::IfcPhysicalQuantity >::ptr Ifc4x3_rc1::IfcPhysicalComplexQuantity::HasQuantities() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcPhysicalQuantity >(); } +aggregate_of< ::Ifc4x3_rc1::IfcPhysicalQuantity >::ptr Ifc4x3_rc1::IfcPhysicalComplexQuantity::HasQuantities() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcPhysicalQuantity >(); } void Ifc4x3_rc1::IfcPhysicalComplexQuantity::setHasQuantities(aggregate_of< ::Ifc4x3_rc1::IfcPhysicalQuantity >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -std::string Ifc4x3_rc1::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x3_rc1::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcPhysicalComplexQuantity::setDiscrimination(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc1::IfcPhysicalComplexQuantity::Quality() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcPhysicalComplexQuantity::Quality() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcPhysicalComplexQuantity::setQuality(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc1::IfcPhysicalComplexQuantity::Usage() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcPhysicalComplexQuantity::Usage() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcPhysicalComplexQuantity::setUsage(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_rc1::IfcPhysicalComplexQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[752]); } const IfcParse::entity& Ifc4x3_rc1::IfcPhysicalComplexQuantity::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[752]); } Ifc4x3_rc1::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(IfcEntityInstanceData&& e) : IfcPhysicalQuantity(std::move(e)) { } -Ifc4x3_rc1::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcPhysicalQuantity >::ptr v3_HasQuantities, std::string v4_Discrimination, boost::optional< std::string > v5_Quality, boost::optional< std::string > v6_Usage) : IfcPhysicalQuantity(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_HasQuantities)->generalize());set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; populate_derived(); } +Ifc4x3_rc1::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcPhysicalQuantity >::ptr v3_HasQuantities, std::string v4_Discrimination, boost::optional< std::string > v5_Quality, boost::optional< std::string > v6_Usage) : IfcPhysicalQuantity(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_HasQuantities)->generalize());set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; populate_derived(); } // Function implementations for IfcPhysicalQuantity -std::string Ifc4x3_rc1::IfcPhysicalQuantity::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc1::IfcPhysicalQuantity::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcPhysicalQuantity::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc1::IfcPhysicalQuantity::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcPhysicalQuantity::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcPhysicalQuantity::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x3_rc1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc1::IfcPhysicalQuantity::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[436], 3)->as(); } @@ -13340,127 +13340,127 @@ void Ifc4x3_rc1::IfcPhysicalQuantity::setDescription(boost::optional< std::strin const IfcParse::entity& Ifc4x3_rc1::IfcPhysicalQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[754]); } const IfcParse::entity& Ifc4x3_rc1::IfcPhysicalQuantity::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[754]); } Ifc4x3_rc1::IfcPhysicalQuantity::IfcPhysicalQuantity(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4x3_rc1::IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcPhysicalSimpleQuantity -::Ifc4x3_rc1::IfcNamedUnit* Ifc4x3_rc1::IfcPhysicalSimpleQuantity::Unit() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcNamedUnit>(true); } +::Ifc4x3_rc1::IfcNamedUnit* Ifc4x3_rc1::IfcPhysicalSimpleQuantity::Unit() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcNamedUnit>(true); } void Ifc4x3_rc1::IfcPhysicalSimpleQuantity::setUnit(::Ifc4x3_rc1::IfcNamedUnit* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc1::IfcPhysicalSimpleQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[755]); } const IfcParse::entity& Ifc4x3_rc1::IfcPhysicalSimpleQuantity::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[755]); } Ifc4x3_rc1::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(IfcEntityInstanceData&& e) : IfcPhysicalQuantity(std::move(e)) { } -Ifc4x3_rc1::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPile -boost::optional< ::Ifc4x3_rc1::IfcPileTypeEnum::Value > Ifc4x3_rc1::IfcPile::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcPileTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcPileTypeEnum::Value > Ifc4x3_rc1::IfcPile::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcPileTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcPile::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcPileTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcPileTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< ::Ifc4x3_rc1::IfcPileConstructionEnum::Value > Ifc4x3_rc1::IfcPile::ConstructionType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcPileConstructionEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc1::IfcPileConstructionEnum::Value > Ifc4x3_rc1::IfcPile::ConstructionType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcPileConstructionEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcPile::setConstructionType(boost::optional< ::Ifc4x3_rc1::IfcPileConstructionEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcPileConstructionEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc1::IfcPile::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[756]); } const IfcParse::entity& Ifc4x3_rc1::IfcPile::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[756]); } Ifc4x3_rc1::IfcPile::IfcPile(IfcEntityInstanceData&& e) : IfcDeepFoundation(std::move(e)) { } -Ifc4x3_rc1::IfcPile::IfcPile(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcPileTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x3_rc1::IfcPileConstructionEnum::Value > v10_ConstructionType) : IfcDeepFoundation(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; populate_derived(); } +Ifc4x3_rc1::IfcPile::IfcPile(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcPileTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x3_rc1::IfcPileConstructionEnum::Value > v10_ConstructionType) : IfcDeepFoundation(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; populate_derived(); } // Function implementations for IfcPileType -::Ifc4x3_rc1::IfcPileTypeEnum::Value Ifc4x3_rc1::IfcPileType::PredefinedType() const { return ::Ifc4x3_rc1::IfcPileTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcPileTypeEnum::Value Ifc4x3_rc1::IfcPileType::PredefinedType() const { return ::Ifc4x3_rc1::IfcPileTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcPileType::setPredefinedType(::Ifc4x3_rc1::IfcPileTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcPileTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcPileType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[758]); } const IfcParse::entity& Ifc4x3_rc1::IfcPileType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[758]); } Ifc4x3_rc1::IfcPileType::IfcPileType(IfcEntityInstanceData&& e) : IfcDeepFoundationType(std::move(e)) { } -Ifc4x3_rc1::IfcPileType::IfcPileType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcPileTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcPileType::IfcPileType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcPileTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPipeFitting -boost::optional< ::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value > Ifc4x3_rc1::IfcPipeFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcPipeFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value > Ifc4x3_rc1::IfcPipeFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcPipeFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcPipeFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcPipeFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[760]); } const IfcParse::entity& Ifc4x3_rc1::IfcPipeFitting::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[760]); } Ifc4x3_rc1::IfcPipeFitting::IfcPipeFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x3_rc1::IfcPipeFitting::IfcPipeFitting(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcPipeFitting::IfcPipeFitting(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPipeFittingType -::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value Ifc4x3_rc1::IfcPipeFittingType::PredefinedType() const { return ::Ifc4x3_rc1::IfcPipeFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value Ifc4x3_rc1::IfcPipeFittingType::PredefinedType() const { return ::Ifc4x3_rc1::IfcPipeFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcPipeFittingType::setPredefinedType(::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcPipeFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[761]); } const IfcParse::entity& Ifc4x3_rc1::IfcPipeFittingType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[761]); } Ifc4x3_rc1::IfcPipeFittingType::IfcPipeFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x3_rc1::IfcPipeFittingType::IfcPipeFittingType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcPipeFittingType::IfcPipeFittingType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPipeSegment -boost::optional< ::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value > Ifc4x3_rc1::IfcPipeSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value > Ifc4x3_rc1::IfcPipeSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcPipeSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcPipeSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[763]); } const IfcParse::entity& Ifc4x3_rc1::IfcPipeSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[763]); } Ifc4x3_rc1::IfcPipeSegment::IfcPipeSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x3_rc1::IfcPipeSegment::IfcPipeSegment(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcPipeSegment::IfcPipeSegment(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPipeSegmentType -::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value Ifc4x3_rc1::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value Ifc4x3_rc1::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcPipeSegmentType::setPredefinedType(::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcPipeSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[764]); } const IfcParse::entity& Ifc4x3_rc1::IfcPipeSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[764]); } Ifc4x3_rc1::IfcPipeSegmentType::IfcPipeSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x3_rc1::IfcPipeSegmentType::IfcPipeSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcPipeSegmentType::IfcPipeSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPixelTexture -int Ifc4x3_rc1::IfcPixelTexture::Width() const { int v = data_.get_attribute_value(5); return v; } +int Ifc4x3_rc1::IfcPixelTexture::Width() const { int v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcPixelTexture::setWidth(int v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -int Ifc4x3_rc1::IfcPixelTexture::Height() const { int v = data_.get_attribute_value(6); return v; } +int Ifc4x3_rc1::IfcPixelTexture::Height() const { int v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcPixelTexture::setHeight(int v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -int Ifc4x3_rc1::IfcPixelTexture::ColourComponents() const { int v = data_.get_attribute_value(7); return v; } +int Ifc4x3_rc1::IfcPixelTexture::ColourComponents() const { int v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcPixelTexture::setColourComponents(int v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector< boost::dynamic_bitset<> > /*[1:?]*/ Ifc4x3_rc1::IfcPixelTexture::Pixel() const { std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< boost::dynamic_bitset<> > /*[1:?]*/ Ifc4x3_rc1::IfcPixelTexture::Pixel() const { std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcPixelTexture::setPixel(std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc1::IfcPixelTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[766]); } const IfcParse::entity& Ifc4x3_rc1::IfcPixelTexture::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[766]); } Ifc4x3_rc1::IfcPixelTexture::IfcPixelTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -Ifc4x3_rc1::IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) : IfcSurfaceTexture(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel));; populate_derived(); } +Ifc4x3_rc1::IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) : IfcSurfaceTexture(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel));; populate_derived(); } // Function implementations for IfcPlacement -::Ifc4x3_rc1::IfcCartesianPoint* Ifc4x3_rc1::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCartesianPoint>(true); } +::Ifc4x3_rc1::IfcCartesianPoint* Ifc4x3_rc1::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCartesianPoint>(true); } void Ifc4x3_rc1::IfcPlacement::setLocation(::Ifc4x3_rc1::IfcCartesianPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc1::IfcPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[767]); } const IfcParse::entity& Ifc4x3_rc1::IfcPlacement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[767]); } Ifc4x3_rc1::IfcPlacement::IfcPlacement(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcPlacement::IfcPlacement(::Ifc4x3_rc1::IfcCartesianPoint* v1_Location) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcPlacement::IfcPlacement(::Ifc4x3_rc1::IfcCartesianPoint* v1_Location) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlanarBox -::Ifc4x3_rc1::IfcAxis2Placement* Ifc4x3_rc1::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcAxis2Placement>(true); } +::Ifc4x3_rc1::IfcAxis2Placement* Ifc4x3_rc1::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcAxis2Placement>(true); } void Ifc4x3_rc1::IfcPlanarBox::setPlacement(::Ifc4x3_rc1::IfcAxis2Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc1::IfcPlanarBox::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[768]); } const IfcParse::entity& Ifc4x3_rc1::IfcPlanarBox::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[768]); } Ifc4x3_rc1::IfcPlanarBox::IfcPlanarBox(IfcEntityInstanceData&& e) : IfcPlanarExtent(std::move(e)) { } -Ifc4x3_rc1::IfcPlanarBox::IfcPlanarBox(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_rc1::IfcAxis2Placement* v3_Placement) : IfcPlanarExtent(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, v3_Placement ? v3_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcPlanarBox::IfcPlanarBox(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_rc1::IfcAxis2Placement* v3_Placement) : IfcPlanarExtent(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, v3_Placement ? v3_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlanarExtent -double Ifc4x3_rc1::IfcPlanarExtent::SizeInX() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_rc1::IfcPlanarExtent::SizeInX() const { double v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcPlanarExtent::setSizeInX(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc1::IfcPlanarExtent::SizeInY() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc1::IfcPlanarExtent::SizeInY() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcPlanarExtent::setSizeInY(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcPlanarExtent::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[769]); } const IfcParse::entity& Ifc4x3_rc1::IfcPlanarExtent::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[769]); } Ifc4x3_rc1::IfcPlanarExtent::IfcPlanarExtent(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeInY) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; populate_derived(); } +Ifc4x3_rc1::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeInY) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; populate_derived(); } // Function implementations for IfcPlane @@ -13468,7 +13468,7 @@ Ifc4x3_rc1::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeIn const IfcParse::entity& Ifc4x3_rc1::IfcPlane::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[771]); } const IfcParse::entity& Ifc4x3_rc1::IfcPlane::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[771]); } Ifc4x3_rc1::IfcPlane::IfcPlane(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x3_rc1::IfcPlane::IfcPlane(::Ifc4x3_rc1::IfcAxis2Placement3D* v1_Position) : IfcElementarySurface(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcPlane::IfcPlane(::Ifc4x3_rc1::IfcAxis2Placement3D* v1_Position) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlant @@ -13476,17 +13476,17 @@ Ifc4x3_rc1::IfcPlane::IfcPlane(::Ifc4x3_rc1::IfcAxis2Placement3D* v1_Position) : const IfcParse::entity& Ifc4x3_rc1::IfcPlant::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[773]); } const IfcParse::entity& Ifc4x3_rc1::IfcPlant::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[773]); } Ifc4x3_rc1::IfcPlant::IfcPlant(IfcEntityInstanceData&& e) : IfcGeographicElement(std::move(e)) { } -Ifc4x3_rc1::IfcPlant::IfcPlant(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) : IfcGeographicElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcPlant::IfcPlant(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) : IfcGeographicElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPlate -boost::optional< ::Ifc4x3_rc1::IfcPlateTypeEnum::Value > Ifc4x3_rc1::IfcPlate::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcPlateTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcPlateTypeEnum::Value > Ifc4x3_rc1::IfcPlate::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcPlateTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcPlate::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcPlateTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcPlateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcPlate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[774]); } const IfcParse::entity& Ifc4x3_rc1::IfcPlate::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[774]); } Ifc4x3_rc1::IfcPlate::IfcPlate(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc1::IfcPlate::IfcPlate(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcPlateTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcPlate::IfcPlate(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcPlateTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPlateStandardCase @@ -13494,17 +13494,17 @@ Ifc4x3_rc1::IfcPlate::IfcPlate(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHi const IfcParse::entity& Ifc4x3_rc1::IfcPlateStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[775]); } const IfcParse::entity& Ifc4x3_rc1::IfcPlateStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[775]); } Ifc4x3_rc1::IfcPlateStandardCase::IfcPlateStandardCase(IfcEntityInstanceData&& e) : IfcPlate(std::move(e)) { } -Ifc4x3_rc1::IfcPlateStandardCase::IfcPlateStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcPlateTypeEnum::Value > v9_PredefinedType) : IfcPlate(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcPlateStandardCase::IfcPlateStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcPlateTypeEnum::Value > v9_PredefinedType) : IfcPlate(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPlateType -::Ifc4x3_rc1::IfcPlateTypeEnum::Value Ifc4x3_rc1::IfcPlateType::PredefinedType() const { return ::Ifc4x3_rc1::IfcPlateTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcPlateTypeEnum::Value Ifc4x3_rc1::IfcPlateType::PredefinedType() const { return ::Ifc4x3_rc1::IfcPlateTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcPlateType::setPredefinedType(::Ifc4x3_rc1::IfcPlateTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcPlateTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcPlateType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[776]); } const IfcParse::entity& Ifc4x3_rc1::IfcPlateType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[776]); } Ifc4x3_rc1::IfcPlateType::IfcPlateType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc1::IfcPlateType::IfcPlateType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcPlateTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcPlateType::IfcPlateType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcPlateTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPoint @@ -13512,79 +13512,79 @@ Ifc4x3_rc1::IfcPlateType::IfcPlateType(std::string v1_GlobalId, ::Ifc4x3_rc1::If const IfcParse::entity& Ifc4x3_rc1::IfcPoint::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[778]); } const IfcParse::entity& Ifc4x3_rc1::IfcPoint::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[778]); } Ifc4x3_rc1::IfcPoint::IfcPoint(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc1::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPointOnCurve -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCurve>(true); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcPointOnCurve::setBasisCurve(::Ifc4x3_rc1::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc1::IfcPointOnCurve::PointParameter() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc1::IfcPointOnCurve::PointParameter() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcPointOnCurve::setPointParameter(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcPointOnCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[779]); } const IfcParse::entity& Ifc4x3_rc1::IfcPointOnCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[779]); } Ifc4x3_rc1::IfcPointOnCurve::IfcPointOnCurve(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x3_rc1::IfcPointOnCurve::IfcPointOnCurve(::Ifc4x3_rc1::IfcCurve* v1_BasisCurve, double v2_PointParameter) : IfcPoint(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameter));; populate_derived(); } +Ifc4x3_rc1::IfcPointOnCurve::IfcPointOnCurve(::Ifc4x3_rc1::IfcCurve* v1_BasisCurve, double v2_PointParameter) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameter));; populate_derived(); } // Function implementations for IfcPointOnSurface -::Ifc4x3_rc1::IfcSurface* Ifc4x3_rc1::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcSurface>(true); } +::Ifc4x3_rc1::IfcSurface* Ifc4x3_rc1::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcSurface>(true); } void Ifc4x3_rc1::IfcPointOnSurface::setBasisSurface(::Ifc4x3_rc1::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc1::IfcPointOnSurface::PointParameterU() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc1::IfcPointOnSurface::PointParameterU() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcPointOnSurface::setPointParameterU(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc1::IfcPointOnSurface::PointParameterV() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc1::IfcPointOnSurface::PointParameterV() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcPointOnSurface::setPointParameterV(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc1::IfcPointOnSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[780]); } const IfcParse::entity& Ifc4x3_rc1::IfcPointOnSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[780]); } Ifc4x3_rc1::IfcPointOnSurface::IfcPointOnSurface(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x3_rc1::IfcPointOnSurface::IfcPointOnSurface(::Ifc4x3_rc1::IfcSurface* v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) : IfcPoint(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; populate_derived(); } +Ifc4x3_rc1::IfcPointOnSurface::IfcPointOnSurface(::Ifc4x3_rc1::IfcSurface* v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; populate_derived(); } // Function implementations for IfcPolyLoop -aggregate_of< ::Ifc4x3_rc1::IfcCartesianPoint >::ptr Ifc4x3_rc1::IfcPolyLoop::Polygon() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcCartesianPoint >(); } +aggregate_of< ::Ifc4x3_rc1::IfcCartesianPoint >::ptr Ifc4x3_rc1::IfcPolyLoop::Polygon() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcCartesianPoint >(); } void Ifc4x3_rc1::IfcPolyLoop::setPolygon(aggregate_of< ::Ifc4x3_rc1::IfcCartesianPoint >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc1::IfcPolyLoop::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[785]); } const IfcParse::entity& Ifc4x3_rc1::IfcPolyLoop::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[785]); } Ifc4x3_rc1::IfcPolyLoop::IfcPolyLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc4x3_rc1::IfcPolyLoop::IfcPolyLoop(aggregate_of< ::Ifc4x3_rc1::IfcCartesianPoint >::ptr v1_Polygon) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Polygon)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcPolyLoop::IfcPolyLoop(aggregate_of< ::Ifc4x3_rc1::IfcCartesianPoint >::ptr v1_Polygon) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Polygon)->generalize());; populate_derived(); } // Function implementations for IfcPolygonalBoundedHalfSpace -::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(true); } void Ifc4x3_rc1::IfcPolygonalBoundedHalfSpace::setPosition(::Ifc4x3_rc1::IfcAxis2Placement3D* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcBoundedCurve* Ifc4x3_rc1::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcBoundedCurve>(true); } +::Ifc4x3_rc1::IfcBoundedCurve* Ifc4x3_rc1::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcBoundedCurve>(true); } void Ifc4x3_rc1::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(::Ifc4x3_rc1::IfcBoundedCurve* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcPolygonalBoundedHalfSpace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[782]); } const IfcParse::entity& Ifc4x3_rc1::IfcPolygonalBoundedHalfSpace::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[782]); } Ifc4x3_rc1::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(IfcEntityInstanceData&& e) : IfcHalfSpaceSolid(std::move(e)) { } -Ifc4x3_rc1::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(::Ifc4x3_rc1::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc1::IfcAxis2Placement3D* v3_Position, ::Ifc4x3_rc1::IfcBoundedCurve* v4_PolygonalBoundary) : IfcHalfSpaceSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PolygonalBoundary ? v4_PolygonalBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(::Ifc4x3_rc1::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc1::IfcAxis2Placement3D* v3_Position, ::Ifc4x3_rc1::IfcBoundedCurve* v4_PolygonalBoundary) : IfcHalfSpaceSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PolygonalBoundary ? v4_PolygonalBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPolygonalFaceSet -boost::optional< bool > Ifc4x3_rc1::IfcPolygonalFaceSet::Closed() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } bool v = data_.get_attribute_value(1); return v; } +boost::optional< bool > Ifc4x3_rc1::IfcPolygonalFaceSet::Closed() const { if(get_attribute_value(1).isNull()) { return boost::none; } bool v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcPolygonalFaceSet::setClosed(boost::optional< bool > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3_rc1::IfcIndexedPolygonalFace >::ptr Ifc4x3_rc1::IfcPolygonalFaceSet::Faces() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcIndexedPolygonalFace >(); } +aggregate_of< ::Ifc4x3_rc1::IfcIndexedPolygonalFace >::ptr Ifc4x3_rc1::IfcPolygonalFaceSet::Faces() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcIndexedPolygonalFace >(); } void Ifc4x3_rc1::IfcPolygonalFaceSet::setFaces(aggregate_of< ::Ifc4x3_rc1::IfcIndexedPolygonalFace >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc1::IfcPolygonalFaceSet::PnIndex() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc1::IfcPolygonalFaceSet::PnIndex() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcPolygonalFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc1::IfcPolygonalFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[783]); } const IfcParse::entity& Ifc4x3_rc1::IfcPolygonalFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[783]); } Ifc4x3_rc1::IfcPolygonalFaceSet::IfcPolygonalFaceSet(IfcEntityInstanceData&& e) : IfcTessellatedFaceSet(std::move(e)) { } -Ifc4x3_rc1::IfcPolygonalFaceSet::IfcPolygonalFaceSet(::Ifc4x3_rc1::IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v2_Closed, aggregate_of< ::Ifc4x3_rc1::IfcIndexedPolygonalFace >::ptr v3_Faces, boost::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) : IfcTessellatedFaceSet(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, (v3_Faces)->generalize()); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); }; populate_derived(); } +Ifc4x3_rc1::IfcPolygonalFaceSet::IfcPolygonalFaceSet(::Ifc4x3_rc1::IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v2_Closed, aggregate_of< ::Ifc4x3_rc1::IfcIndexedPolygonalFace >::ptr v3_Faces, boost::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) : IfcTessellatedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, (v3_Faces)->generalize()); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); }; populate_derived(); } // Function implementations for IfcPolyline -aggregate_of< ::Ifc4x3_rc1::IfcCartesianPoint >::ptr Ifc4x3_rc1::IfcPolyline::Points() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcCartesianPoint >(); } +aggregate_of< ::Ifc4x3_rc1::IfcCartesianPoint >::ptr Ifc4x3_rc1::IfcPolyline::Points() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcCartesianPoint >(); } void Ifc4x3_rc1::IfcPolyline::setPoints(aggregate_of< ::Ifc4x3_rc1::IfcCartesianPoint >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc1::IfcPolyline::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[784]); } const IfcParse::entity& Ifc4x3_rc1::IfcPolyline::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[784]); } Ifc4x3_rc1::IfcPolyline::IfcPolyline(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_rc1::IfcPolyline::IfcPolyline(aggregate_of< ::Ifc4x3_rc1::IfcCartesianPoint >::ptr v1_Points) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Points)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcPolyline::IfcPolyline(aggregate_of< ::Ifc4x3_rc1::IfcCartesianPoint >::ptr v1_Points) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Points)->generalize());; populate_derived(); } // Function implementations for IfcPort @@ -13595,7 +13595,7 @@ Ifc4x3_rc1::IfcPolyline::IfcPolyline(aggregate_of< ::Ifc4x3_rc1::IfcCartesianPoi const IfcParse::entity& Ifc4x3_rc1::IfcPort::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[786]); } const IfcParse::entity& Ifc4x3_rc1::IfcPort::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[786]); } Ifc4x3_rc1::IfcPort::IfcPort(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_rc1::IfcPort::IfcPort(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcPort::IfcPort(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPositioningElement @@ -13605,29 +13605,29 @@ Ifc4x3_rc1::IfcPort::IfcPort(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHist const IfcParse::entity& Ifc4x3_rc1::IfcPositioningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[787]); } const IfcParse::entity& Ifc4x3_rc1::IfcPositioningElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[787]); } Ifc4x3_rc1::IfcPositioningElement::IfcPositioningElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_rc1::IfcPositioningElement::IfcPositioningElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcPositioningElement::IfcPositioningElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPostalAddress -boost::optional< std::string > Ifc4x3_rc1::IfcPostalAddress::InternalLocation() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcPostalAddress::InternalLocation() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcPostalAddress::setInternalLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcPostalAddress::AddressLines() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcPostalAddress::AddressLines() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcPostalAddress::setAddressLines(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc1::IfcPostalAddress::PostalBox() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcPostalAddress::PostalBox() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcPostalAddress::setPostalBox(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc1::IfcPostalAddress::Town() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcPostalAddress::Town() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcPostalAddress::setTown(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc1::IfcPostalAddress::Region() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcPostalAddress::Region() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcPostalAddress::setRegion(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc1::IfcPostalAddress::PostalCode() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcPostalAddress::PostalCode() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcPostalAddress::setPostalCode(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_rc1::IfcPostalAddress::Country() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcPostalAddress::Country() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc1::IfcPostalAddress::setCountry(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc1::IfcPostalAddress::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[792]); } const IfcParse::entity& Ifc4x3_rc1::IfcPostalAddress::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[792]); } Ifc4x3_rc1::IfcPostalAddress::IfcPostalAddress(IfcEntityInstanceData&& e) : IfcAddress(std::move(e)) { } -Ifc4x3_rc1::IfcPostalAddress::IfcPostalAddress(boost::optional< ::Ifc4x3_rc1::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) : IfcAddress(IfcEntityInstanceData(storage_t(10))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; populate_derived(); } +Ifc4x3_rc1::IfcPostalAddress::IfcPostalAddress(boost::optional< ::Ifc4x3_rc1::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) : IfcAddress(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; populate_derived(); } // Function implementations for IfcPreDefinedColour @@ -13635,7 +13635,7 @@ Ifc4x3_rc1::IfcPostalAddress::IfcPostalAddress(boost::optional< ::Ifc4x3_rc1::If const IfcParse::entity& Ifc4x3_rc1::IfcPreDefinedColour::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[794]); } const IfcParse::entity& Ifc4x3_rc1::IfcPreDefinedColour::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[794]); } Ifc4x3_rc1::IfcPreDefinedColour::IfcPreDefinedColour(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc4x3_rc1::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_rc1::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedCurveFont @@ -13643,17 +13643,17 @@ Ifc4x3_rc1::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcP const IfcParse::entity& Ifc4x3_rc1::IfcPreDefinedCurveFont::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[795]); } const IfcParse::entity& Ifc4x3_rc1::IfcPreDefinedCurveFont::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[795]); } Ifc4x3_rc1::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc4x3_rc1::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_rc1::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedItem -std::string Ifc4x3_rc1::IfcPreDefinedItem::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc1::IfcPreDefinedItem::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcPreDefinedItem::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc1::IfcPreDefinedItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[796]); } const IfcParse::entity& Ifc4x3_rc1::IfcPreDefinedItem::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[796]); } Ifc4x3_rc1::IfcPreDefinedItem::IfcPreDefinedItem(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_rc1::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedProperties @@ -13661,7 +13661,7 @@ Ifc4x3_rc1::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcPrese const IfcParse::entity& Ifc4x3_rc1::IfcPreDefinedProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[797]); } const IfcParse::entity& Ifc4x3_rc1::IfcPreDefinedProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[797]); } Ifc4x3_rc1::IfcPreDefinedProperties::IfcPreDefinedProperties(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x3_rc1::IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc1::IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPreDefinedPropertySet @@ -13669,7 +13669,7 @@ Ifc4x3_rc1::IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbst const IfcParse::entity& Ifc4x3_rc1::IfcPreDefinedPropertySet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[798]); } const IfcParse::entity& Ifc4x3_rc1::IfcPreDefinedPropertySet::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[798]); } Ifc4x3_rc1::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc4x3_rc1::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc1::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPreDefinedTextFont @@ -13677,7 +13677,7 @@ Ifc4x3_rc1::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_Gl const IfcParse::entity& Ifc4x3_rc1::IfcPreDefinedTextFont::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[799]); } const IfcParse::entity& Ifc4x3_rc1::IfcPreDefinedTextFont::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[799]); } Ifc4x3_rc1::IfcPreDefinedTextFont::IfcPreDefinedTextFont(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc4x3_rc1::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_rc1::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPresentationItem @@ -13685,84 +13685,84 @@ Ifc4x3_rc1::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : const IfcParse::entity& Ifc4x3_rc1::IfcPresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[802]); } const IfcParse::entity& Ifc4x3_rc1::IfcPresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[802]); } Ifc4x3_rc1::IfcPresentationItem::IfcPresentationItem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcPresentationItem::IfcPresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc1::IfcPresentationItem::IfcPresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPresentationLayerAssignment -std::string Ifc4x3_rc1::IfcPresentationLayerAssignment::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc1::IfcPresentationLayerAssignment::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcPresentationLayerAssignment::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc1::IfcPresentationLayerAssignment::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcPresentationLayerAssignment::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3_rc1::IfcLayeredItem >::ptr Ifc4x3_rc1::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcLayeredItem >(); } +aggregate_of< ::Ifc4x3_rc1::IfcLayeredItem >::ptr Ifc4x3_rc1::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcLayeredItem >(); } void Ifc4x3_rc1::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x3_rc1::IfcLayeredItem >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x3_rc1::IfcPresentationLayerAssignment::Identifier() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcPresentationLayerAssignment::Identifier() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc1::IfcPresentationLayerAssignment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[803]); } const IfcParse::entity& Ifc4x3_rc1::IfcPresentationLayerAssignment::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[803]); } Ifc4x3_rc1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; populate_derived(); } +Ifc4x3_rc1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; populate_derived(); } // Function implementations for IfcPresentationLayerWithStyle -boost::logic::tribool Ifc4x3_rc1::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = data_.get_attribute_value(4); return v; } +boost::logic::tribool Ifc4x3_rc1::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcPresentationLayerWithStyle::setLayerOn(boost::logic::tribool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::logic::tribool Ifc4x3_rc1::IfcPresentationLayerWithStyle::LayerFrozen() const { boost::logic::tribool v = data_.get_attribute_value(5); return v; } +boost::logic::tribool Ifc4x3_rc1::IfcPresentationLayerWithStyle::LayerFrozen() const { boost::logic::tribool v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcPresentationLayerWithStyle::setLayerFrozen(boost::logic::tribool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::logic::tribool Ifc4x3_rc1::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = data_.get_attribute_value(6); return v; } +boost::logic::tribool Ifc4x3_rc1::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcPresentationLayerWithStyle::setLayerBlocked(boost::logic::tribool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -aggregate_of< ::Ifc4x3_rc1::IfcPresentationStyle >::ptr Ifc4x3_rc1::IfcPresentationLayerWithStyle::LayerStyles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc1::IfcPresentationStyle >(); } +aggregate_of< ::Ifc4x3_rc1::IfcPresentationStyle >::ptr Ifc4x3_rc1::IfcPresentationLayerWithStyle::LayerStyles() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc1::IfcPresentationStyle >(); } void Ifc4x3_rc1::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< ::Ifc4x3_rc1::IfcPresentationStyle >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc1::IfcPresentationLayerWithStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[804]); } const IfcParse::entity& Ifc4x3_rc1::IfcPresentationLayerWithStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[804]); } Ifc4x3_rc1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData&& e) : IfcPresentationLayerAssignment(std::move(e)) { } -Ifc4x3_rc1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_rc1::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, (v8_LayerStyles)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_rc1::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, (v8_LayerStyles)->generalize());; populate_derived(); } // Function implementations for IfcPresentationStyle -boost::optional< std::string > Ifc4x3_rc1::IfcPresentationStyle::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcPresentationStyle::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcPresentationStyle::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3_rc1::IfcPresentationStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[805]); } const IfcParse::entity& Ifc4x3_rc1::IfcPresentationStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[805]); } Ifc4x3_rc1::IfcPresentationStyle::IfcPresentationStyle(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_rc1::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcPresentationStyleAssignment -aggregate_of< ::Ifc4x3_rc1::IfcPresentationStyleSelect >::ptr Ifc4x3_rc1::IfcPresentationStyleAssignment::Styles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcPresentationStyleSelect >(); } +aggregate_of< ::Ifc4x3_rc1::IfcPresentationStyleSelect >::ptr Ifc4x3_rc1::IfcPresentationStyleAssignment::Styles() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcPresentationStyleSelect >(); } void Ifc4x3_rc1::IfcPresentationStyleAssignment::setStyles(aggregate_of< ::Ifc4x3_rc1::IfcPresentationStyleSelect >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc1::IfcPresentationStyleAssignment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[806]); } const IfcParse::entity& Ifc4x3_rc1::IfcPresentationStyleAssignment::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[806]); } Ifc4x3_rc1::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of< ::Ifc4x3_rc1::IfcPresentationStyleSelect >::ptr v1_Styles) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Styles)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of< ::Ifc4x3_rc1::IfcPresentationStyleSelect >::ptr v1_Styles) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Styles)->generalize());; populate_derived(); } // Function implementations for IfcProcedure -boost::optional< ::Ifc4x3_rc1::IfcProcedureTypeEnum::Value > Ifc4x3_rc1::IfcProcedure::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcProcedureTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_rc1::IfcProcedureTypeEnum::Value > Ifc4x3_rc1::IfcProcedure::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcProcedureTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc1::IfcProcedure::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcProcedureTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc1::IfcProcedureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc1::IfcProcedure::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[809]); } const IfcParse::entity& Ifc4x3_rc1::IfcProcedure::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[809]); } Ifc4x3_rc1::IfcProcedure::IfcProcedure(IfcEntityInstanceData&& e) : IfcProcess(std::move(e)) { } -Ifc4x3_rc1::IfcProcedure::IfcProcedure(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< ::Ifc4x3_rc1::IfcProcedureTypeEnum::Value > v8_PredefinedType) : IfcProcess(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcProcedure::IfcProcedure(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< ::Ifc4x3_rc1::IfcProcedureTypeEnum::Value > v8_PredefinedType) : IfcProcess(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProcedureType -::Ifc4x3_rc1::IfcProcedureTypeEnum::Value Ifc4x3_rc1::IfcProcedureType::PredefinedType() const { return ::Ifc4x3_rc1::IfcProcedureTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcProcedureTypeEnum::Value Ifc4x3_rc1::IfcProcedureType::PredefinedType() const { return ::Ifc4x3_rc1::IfcProcedureTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcProcedureType::setPredefinedType(::Ifc4x3_rc1::IfcProcedureTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcProcedureTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcProcedureType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[810]); } const IfcParse::entity& Ifc4x3_rc1::IfcProcedureType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[810]); } Ifc4x3_rc1::IfcProcedureType::IfcProcedureType(IfcEntityInstanceData&& e) : IfcTypeProcess(std::move(e)) { } -Ifc4x3_rc1::IfcProcedureType::IfcProcedureType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_rc1::IfcProcedureTypeEnum::Value v10_PredefinedType) : IfcTypeProcess(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcProcedureType::IfcProcedureType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_rc1::IfcProcedureTypeEnum::Value v10_PredefinedType) : IfcTypeProcess(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcProcess -boost::optional< std::string > Ifc4x3_rc1::IfcProcess::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcProcess::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcProcess::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc1::IfcProcess::LongDescription() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcProcess::LongDescription() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcProcess::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_rc1::IfcRelSequence::list::ptr Ifc4x3_rc1::IfcProcess::IsPredecessorTo() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[954], 4)->as(); } @@ -13772,12 +13772,12 @@ void Ifc4x3_rc1::IfcProcess::setLongDescription(boost::optional< std::string > v const IfcParse::entity& Ifc4x3_rc1::IfcProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[812]); } const IfcParse::entity& Ifc4x3_rc1::IfcProcess::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[812]); } Ifc4x3_rc1::IfcProcess::IfcProcess(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_rc1::IfcProcess::IfcProcess(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } +Ifc4x3_rc1::IfcProcess::IfcProcess(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } // Function implementations for IfcProduct -::Ifc4x3_rc1::IfcObjectPlacement* Ifc4x3_rc1::IfcProduct::ObjectPlacement() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcObjectPlacement>(true); } +::Ifc4x3_rc1::IfcObjectPlacement* Ifc4x3_rc1::IfcProduct::ObjectPlacement() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcObjectPlacement>(true); } void Ifc4x3_rc1::IfcProduct::setObjectPlacement(::Ifc4x3_rc1::IfcObjectPlacement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc1::IfcProductRepresentation* Ifc4x3_rc1::IfcProduct::Representation() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcProductRepresentation>(true); } +::Ifc4x3_rc1::IfcProductRepresentation* Ifc4x3_rc1::IfcProduct::Representation() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcProductRepresentation>(true); } void Ifc4x3_rc1::IfcProduct::setRepresentation(::Ifc4x3_rc1::IfcProductRepresentation* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } ::Ifc4x3_rc1::IfcRelAssignsToProduct::list::ptr Ifc4x3_rc1::IfcProduct::ReferencedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[917], 6)->as(); } @@ -13787,7 +13787,7 @@ void Ifc4x3_rc1::IfcProduct::setRepresentation(::Ifc4x3_rc1::IfcProductRepresent const IfcParse::entity& Ifc4x3_rc1::IfcProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[814]); } const IfcParse::entity& Ifc4x3_rc1::IfcProduct::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[814]); } Ifc4x3_rc1::IfcProduct::IfcProduct(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_rc1::IfcProduct::IfcProduct(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation) : IfcObject(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcProduct::IfcProduct(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProductDefinitionShape @@ -13797,26 +13797,26 @@ Ifc4x3_rc1::IfcProduct::IfcProduct(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwn const IfcParse::entity& Ifc4x3_rc1::IfcProductDefinitionShape::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[815]); } const IfcParse::entity& Ifc4x3_rc1::IfcProductDefinitionShape::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[815]); } Ifc4x3_rc1::IfcProductDefinitionShape::IfcProductDefinitionShape(IfcEntityInstanceData&& e) : IfcProductRepresentation(std::move(e)) { } -Ifc4x3_rc1::IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcRepresentation >::ptr v3_Representations) : IfcProductRepresentation(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcRepresentation >::ptr v3_Representations) : IfcProductRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } // Function implementations for IfcProductRepresentation -boost::optional< std::string > Ifc4x3_rc1::IfcProductRepresentation::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcProductRepresentation::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcProductRepresentation::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc1::IfcProductRepresentation::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcProductRepresentation::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcProductRepresentation::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3_rc1::IfcRepresentation >::ptr Ifc4x3_rc1::IfcProductRepresentation::Representations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcRepresentation >(); } +aggregate_of< ::Ifc4x3_rc1::IfcRepresentation >::ptr Ifc4x3_rc1::IfcProductRepresentation::Representations() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcRepresentation >(); } void Ifc4x3_rc1::IfcProductRepresentation::setRepresentations(aggregate_of< ::Ifc4x3_rc1::IfcRepresentation >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc1::IfcProductRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[816]); } const IfcParse::entity& Ifc4x3_rc1::IfcProductRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[816]); } Ifc4x3_rc1::IfcProductRepresentation::IfcProductRepresentation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcProductRepresentation::IfcProductRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcRepresentation >::ptr v3_Representations) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcProductRepresentation::IfcProductRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcRepresentation >::ptr v3_Representations) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } // Function implementations for IfcProfileDef -::Ifc4x3_rc1::IfcProfileTypeEnum::Value Ifc4x3_rc1::IfcProfileDef::ProfileType() const { return ::Ifc4x3_rc1::IfcProfileTypeEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_rc1::IfcProfileTypeEnum::Value Ifc4x3_rc1::IfcProfileDef::ProfileType() const { return ::Ifc4x3_rc1::IfcProfileTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x3_rc1::IfcProfileDef::setProfileType(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc1::IfcProfileDef::ProfileName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcProfileDef::ProfileName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcProfileDef::setProfileName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x3_rc1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc1::IfcProfileDef::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[436], 3)->as(); } @@ -13825,17 +13825,17 @@ void Ifc4x3_rc1::IfcProfileDef::setProfileName(boost::optional< std::string > v) const IfcParse::entity& Ifc4x3_rc1::IfcProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[819]); } const IfcParse::entity& Ifc4x3_rc1::IfcProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[819]); } Ifc4x3_rc1::IfcProfileDef::IfcProfileDef(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcProfileDef::IfcProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; populate_derived(); } +Ifc4x3_rc1::IfcProfileDef::IfcProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; populate_derived(); } // Function implementations for IfcProfileProperties -::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcProfileDef>(true); } +::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcProfileDef>(true); } void Ifc4x3_rc1::IfcProfileProperties::setProfileDefinition(::Ifc4x3_rc1::IfcProfileDef* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcProfileProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[820]); } const IfcParse::entity& Ifc4x3_rc1::IfcProfileProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[820]); } Ifc4x3_rc1::IfcProfileProperties::IfcProfileProperties(IfcEntityInstanceData&& e) : IfcExtendedProperties(std::move(e)) { } -Ifc4x3_rc1::IfcProfileProperties::IfcProfileProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcProperty >::ptr v3_Properties, ::Ifc4x3_rc1::IfcProfileDef* v4_ProfileDefinition) : IfcExtendedProperties(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_ProfileDefinition ? v4_ProfileDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcProfileProperties::IfcProfileProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcProperty >::ptr v3_Properties, ::Ifc4x3_rc1::IfcProfileDef* v4_ProfileDefinition) : IfcExtendedProperties(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_ProfileDefinition ? v4_ProfileDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProject @@ -13843,7 +13843,7 @@ Ifc4x3_rc1::IfcProfileProperties::IfcProfileProperties(boost::optional< std::str const IfcParse::entity& Ifc4x3_rc1::IfcProject::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[822]); } const IfcParse::entity& Ifc4x3_rc1::IfcProject::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[822]); } Ifc4x3_rc1::IfcProject::IfcProject(IfcEntityInstanceData&& e) : IfcContext(std::move(e)) { } -Ifc4x3_rc1::IfcProject::IfcProject(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_rc1::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcProject::IfcProject(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_rc1::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProjectLibrary @@ -13851,50 +13851,50 @@ Ifc4x3_rc1::IfcProject::IfcProject(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwn const IfcParse::entity& Ifc4x3_rc1::IfcProjectLibrary::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[827]); } const IfcParse::entity& Ifc4x3_rc1::IfcProjectLibrary::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[827]); } Ifc4x3_rc1::IfcProjectLibrary::IfcProjectLibrary(IfcEntityInstanceData&& e) : IfcContext(std::move(e)) { } -Ifc4x3_rc1::IfcProjectLibrary::IfcProjectLibrary(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_rc1::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcProjectLibrary::IfcProjectLibrary(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_rc1::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProjectOrder -boost::optional< ::Ifc4x3_rc1::IfcProjectOrderTypeEnum::Value > Ifc4x3_rc1::IfcProjectOrder::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcProjectOrderTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_rc1::IfcProjectOrderTypeEnum::Value > Ifc4x3_rc1::IfcProjectOrder::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcProjectOrderTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_rc1::IfcProjectOrder::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcProjectOrderTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_rc1::IfcProjectOrderTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc1::IfcProjectOrder::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcProjectOrder::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcProjectOrder::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc1::IfcProjectOrder::LongDescription() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcProjectOrder::LongDescription() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcProjectOrder::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcProjectOrder::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[828]); } const IfcParse::entity& Ifc4x3_rc1::IfcProjectOrder::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[828]); } Ifc4x3_rc1::IfcProjectOrder::IfcProjectOrder(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_rc1::IfcProjectOrder::IfcProjectOrder(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3_rc1::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc1::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } +Ifc4x3_rc1::IfcProjectOrder::IfcProjectOrder(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3_rc1::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc1::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } // Function implementations for IfcProjectedCRS -boost::optional< std::string > Ifc4x3_rc1::IfcProjectedCRS::MapProjection() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcProjectedCRS::MapProjection() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcProjectedCRS::setMapProjection(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc1::IfcProjectedCRS::MapZone() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcProjectedCRS::MapZone() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcProjectedCRS::setMapZone(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc1::IfcNamedUnit* Ifc4x3_rc1::IfcProjectedCRS::MapUnit() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcNamedUnit>(true); } +::Ifc4x3_rc1::IfcNamedUnit* Ifc4x3_rc1::IfcProjectedCRS::MapUnit() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcNamedUnit>(true); } void Ifc4x3_rc1::IfcProjectedCRS::setMapUnit(::Ifc4x3_rc1::IfcNamedUnit* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc1::IfcProjectedCRS::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[823]); } const IfcParse::entity& Ifc4x3_rc1::IfcProjectedCRS::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[823]); } Ifc4x3_rc1::IfcProjectedCRS::IfcProjectedCRS(IfcEntityInstanceData&& e) : IfcCoordinateReferenceSystem(std::move(e)) { } -Ifc4x3_rc1::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_rc1::IfcNamedUnit* v7_MapUnit) : IfcCoordinateReferenceSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, v7_MapUnit ? v7_MapUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::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_rc1::IfcNamedUnit* v7_MapUnit) : IfcCoordinateReferenceSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, v7_MapUnit ? v7_MapUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProjectionElement -boost::optional< ::Ifc4x3_rc1::IfcProjectionElementTypeEnum::Value > Ifc4x3_rc1::IfcProjectionElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcProjectionElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcProjectionElementTypeEnum::Value > Ifc4x3_rc1::IfcProjectionElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcProjectionElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcProjectionElement::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcProjectionElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcProjectionElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcProjectionElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[825]); } const IfcParse::entity& Ifc4x3_rc1::IfcProjectionElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[825]); } Ifc4x3_rc1::IfcProjectionElement::IfcProjectionElement(IfcEntityInstanceData&& e) : IfcFeatureElementAddition(std::move(e)) { } -Ifc4x3_rc1::IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementAddition(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementAddition(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProperty -std::string Ifc4x3_rc1::IfcProperty::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc1::IfcProperty::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcProperty::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc1::IfcProperty::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcProperty::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcProperty::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x3_rc1::IfcPropertySet::list::ptr Ifc4x3_rc1::IfcProperty::PartOfPset() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[839], 4)->as(); } @@ -13907,7 +13907,7 @@ void Ifc4x3_rc1::IfcProperty::setDescription(boost::optional< std::string > v) { const IfcParse::entity& Ifc4x3_rc1::IfcProperty::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[830]); } const IfcParse::entity& Ifc4x3_rc1::IfcProperty::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[830]); } Ifc4x3_rc1::IfcProperty::IfcProperty(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x3_rc1::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4x3_rc1::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcPropertyAbstraction @@ -13916,23 +13916,23 @@ Ifc4x3_rc1::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std:: const IfcParse::entity& Ifc4x3_rc1::IfcPropertyAbstraction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[831]); } const IfcParse::entity& Ifc4x3_rc1::IfcPropertyAbstraction::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[831]); } Ifc4x3_rc1::IfcPropertyAbstraction::IfcPropertyAbstraction(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcPropertyAbstraction::IfcPropertyAbstraction() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc1::IfcPropertyAbstraction::IfcPropertyAbstraction() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPropertyBoundedValue -::Ifc4x3_rc1::IfcValue* Ifc4x3_rc1::IfcPropertyBoundedValue::UpperBoundValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcValue>(true); } +::Ifc4x3_rc1::IfcValue* Ifc4x3_rc1::IfcPropertyBoundedValue::UpperBoundValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcValue>(true); } void Ifc4x3_rc1::IfcPropertyBoundedValue::setUpperBoundValue(::Ifc4x3_rc1::IfcValue* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcValue* Ifc4x3_rc1::IfcPropertyBoundedValue::LowerBoundValue() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcValue>(true); } +::Ifc4x3_rc1::IfcValue* Ifc4x3_rc1::IfcPropertyBoundedValue::LowerBoundValue() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcValue>(true); } void Ifc4x3_rc1::IfcPropertyBoundedValue::setLowerBoundValue(::Ifc4x3_rc1::IfcValue* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcPropertyBoundedValue::Unit() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcUnit>(true); } +::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcPropertyBoundedValue::Unit() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcUnit>(true); } void Ifc4x3_rc1::IfcPropertyBoundedValue::setUnit(::Ifc4x3_rc1::IfcUnit* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcValue* Ifc4x3_rc1::IfcPropertyBoundedValue::SetPointValue() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcValue>(true); } +::Ifc4x3_rc1::IfcValue* Ifc4x3_rc1::IfcPropertyBoundedValue::SetPointValue() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcValue>(true); } void Ifc4x3_rc1::IfcPropertyBoundedValue::setSetPointValue(::Ifc4x3_rc1::IfcValue* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcPropertyBoundedValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[832]); } const IfcParse::entity& Ifc4x3_rc1::IfcPropertyBoundedValue::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[832]); } Ifc4x3_rc1::IfcPropertyBoundedValue::IfcPropertyBoundedValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_rc1::IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcValue* v3_UpperBoundValue, ::Ifc4x3_rc1::IfcValue* v4_LowerBoundValue, ::Ifc4x3_rc1::IfcUnit* v5_Unit, ::Ifc4x3_rc1::IfcValue* v6_SetPointValue) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_UpperBoundValue ? v3_UpperBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_LowerBoundValue ? v4_LowerBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_Unit ? v5_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_SetPointValue ? v6_SetPointValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcValue* v3_UpperBoundValue, ::Ifc4x3_rc1::IfcValue* v4_LowerBoundValue, ::Ifc4x3_rc1::IfcUnit* v5_Unit, ::Ifc4x3_rc1::IfcValue* v6_SetPointValue) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_UpperBoundValue ? v3_UpperBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_LowerBoundValue ? v4_LowerBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_Unit ? v5_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_SetPointValue ? v6_SetPointValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyDefinition @@ -13942,81 +13942,81 @@ Ifc4x3_rc1::IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name const IfcParse::entity& Ifc4x3_rc1::IfcPropertyDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[833]); } const IfcParse::entity& Ifc4x3_rc1::IfcPropertyDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[833]); } Ifc4x3_rc1::IfcPropertyDefinition::IfcPropertyDefinition(IfcEntityInstanceData&& e) : IfcRoot(std::move(e)) { } -Ifc4x3_rc1::IfcPropertyDefinition::IfcPropertyDefinition(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc1::IfcPropertyDefinition::IfcPropertyDefinition(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertyDependencyRelationship -::Ifc4x3_rc1::IfcProperty* Ifc4x3_rc1::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcProperty>(true); } +::Ifc4x3_rc1::IfcProperty* Ifc4x3_rc1::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcProperty>(true); } void Ifc4x3_rc1::IfcPropertyDependencyRelationship::setDependingProperty(::Ifc4x3_rc1::IfcProperty* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcProperty* Ifc4x3_rc1::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcProperty>(true); } +::Ifc4x3_rc1::IfcProperty* Ifc4x3_rc1::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcProperty>(true); } void Ifc4x3_rc1::IfcPropertyDependencyRelationship::setDependantProperty(::Ifc4x3_rc1::IfcProperty* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc1::IfcPropertyDependencyRelationship::Expression() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcPropertyDependencyRelationship::Expression() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc1::IfcPropertyDependencyRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[834]); } const IfcParse::entity& Ifc4x3_rc1::IfcPropertyDependencyRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[834]); } Ifc4x3_rc1::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_rc1::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcProperty* v3_DependingProperty, ::Ifc4x3_rc1::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_DependingProperty ? v3_DependingProperty->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_DependantProperty ? v4_DependantProperty->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } +Ifc4x3_rc1::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcProperty* v3_DependingProperty, ::Ifc4x3_rc1::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_DependingProperty ? v3_DependingProperty->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_DependantProperty ? v4_DependantProperty->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } // Function implementations for IfcPropertyEnumeratedValue -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > Ifc4x3_rc1::IfcPropertyEnumeratedValue::EnumerationValues() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > Ifc4x3_rc1::IfcPropertyEnumeratedValue::EnumerationValues() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcValue >(); } void Ifc4x3_rc1::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } -::Ifc4x3_rc1::IfcPropertyEnumeration* Ifc4x3_rc1::IfcPropertyEnumeratedValue::EnumerationReference() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcPropertyEnumeration>(true); } +::Ifc4x3_rc1::IfcPropertyEnumeration* Ifc4x3_rc1::IfcPropertyEnumeratedValue::EnumerationReference() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcPropertyEnumeration>(true); } void Ifc4x3_rc1::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_rc1::IfcPropertyEnumeration* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcPropertyEnumeratedValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[835]); } const IfcParse::entity& Ifc4x3_rc1::IfcPropertyEnumeratedValue::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[835]); } Ifc4x3_rc1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_rc1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_rc1::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_EnumerationValues) {set_attribute_value(2, (*v3_EnumerationValues)->generalize()); }set_attribute_value(3, v4_EnumerationReference ? v4_EnumerationReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_rc1::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_EnumerationValues) {set_attribute_value(2, (*v3_EnumerationValues)->generalize()); }set_attribute_value(3, v4_EnumerationReference ? v4_EnumerationReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyEnumeration -std::string Ifc4x3_rc1::IfcPropertyEnumeration::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc1::IfcPropertyEnumeration::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcPropertyEnumeration::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr Ifc4x3_rc1::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcValue >(); } +aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr Ifc4x3_rc1::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcValue >(); } void Ifc4x3_rc1::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcPropertyEnumeration::Unit() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcUnit>(true); } +::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcPropertyEnumeration::Unit() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcUnit>(true); } void Ifc4x3_rc1::IfcPropertyEnumeration::setUnit(::Ifc4x3_rc1::IfcUnit* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc1::IfcPropertyEnumeration::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[836]); } const IfcParse::entity& Ifc4x3_rc1::IfcPropertyEnumeration::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[836]); } Ifc4x3_rc1::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x3_rc1::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_rc1::IfcUnit* v3_Unit) : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_EnumerationValues)->generalize());set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_rc1::IfcUnit* v3_Unit) : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_EnumerationValues)->generalize());set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyListValue -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > Ifc4x3_rc1::IfcPropertyListValue::ListValues() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > Ifc4x3_rc1::IfcPropertyListValue::ListValues() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcValue >(); } void Ifc4x3_rc1::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } -::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcPropertyListValue::Unit() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcUnit>(true); } +::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcPropertyListValue::Unit() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcUnit>(true); } void Ifc4x3_rc1::IfcPropertyListValue::setUnit(::Ifc4x3_rc1::IfcUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcPropertyListValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[837]); } const IfcParse::entity& Ifc4x3_rc1::IfcPropertyListValue::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[837]); } Ifc4x3_rc1::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_rc1::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_rc1::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_ListValues) {set_attribute_value(2, (*v3_ListValues)->generalize()); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_rc1::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_ListValues) {set_attribute_value(2, (*v3_ListValues)->generalize()); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyReferenceValue -boost::optional< std::string > Ifc4x3_rc1::IfcPropertyReferenceValue::UsageName() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcPropertyReferenceValue::UsageName() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc1::IfcObjectReferenceSelect* Ifc4x3_rc1::IfcPropertyReferenceValue::PropertyReference() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcObjectReferenceSelect>(true); } +::Ifc4x3_rc1::IfcObjectReferenceSelect* Ifc4x3_rc1::IfcPropertyReferenceValue::PropertyReference() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcObjectReferenceSelect>(true); } void Ifc4x3_rc1::IfcPropertyReferenceValue::setPropertyReference(::Ifc4x3_rc1::IfcObjectReferenceSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcPropertyReferenceValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[838]); } const IfcParse::entity& Ifc4x3_rc1::IfcPropertyReferenceValue::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[838]); } Ifc4x3_rc1::IfcPropertyReferenceValue::IfcPropertyReferenceValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_rc1::IfcPropertyReferenceValue::IfcPropertyReferenceValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UsageName, ::Ifc4x3_rc1::IfcObjectReferenceSelect* v4_PropertyReference) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, v4_PropertyReference ? v4_PropertyReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcPropertyReferenceValue::IfcPropertyReferenceValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UsageName, ::Ifc4x3_rc1::IfcObjectReferenceSelect* v4_PropertyReference) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, v4_PropertyReference ? v4_PropertyReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertySet -aggregate_of< ::Ifc4x3_rc1::IfcProperty >::ptr Ifc4x3_rc1::IfcPropertySet::HasProperties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc1::IfcProperty >(); } +aggregate_of< ::Ifc4x3_rc1::IfcProperty >::ptr Ifc4x3_rc1::IfcPropertySet::HasProperties() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc1::IfcProperty >(); } void Ifc4x3_rc1::IfcPropertySet::setHasProperties(aggregate_of< ::Ifc4x3_rc1::IfcProperty >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc1::IfcPropertySet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[839]); } const IfcParse::entity& Ifc4x3_rc1::IfcPropertySet::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[839]); } Ifc4x3_rc1::IfcPropertySet::IfcPropertySet(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc4x3_rc1::IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcProperty >::ptr v5_HasProperties) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_HasProperties)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcProperty >::ptr v5_HasProperties) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_HasProperties)->generalize());; populate_derived(); } // Function implementations for IfcPropertySetDefinition @@ -14027,14 +14027,14 @@ Ifc4x3_rc1::IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, ::Ifc4x3_rc1 const IfcParse::entity& Ifc4x3_rc1::IfcPropertySetDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[840]); } const IfcParse::entity& Ifc4x3_rc1::IfcPropertySetDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[840]); } Ifc4x3_rc1::IfcPropertySetDefinition::IfcPropertySetDefinition(IfcEntityInstanceData&& e) : IfcPropertyDefinition(std::move(e)) { } -Ifc4x3_rc1::IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc1::IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertySetTemplate -boost::optional< ::Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::Value > Ifc4x3_rc1::IfcPropertySetTemplate::TemplateType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::FromString(data_.get_attribute_value(4)); } +boost::optional< ::Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::Value > Ifc4x3_rc1::IfcPropertySetTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::FromString(get_attribute_value(4)); } void Ifc4x3_rc1::IfcPropertySetTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::Value > v) { if (v) {set_attribute_value(4, EnumerationReference(&::Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc1::IfcPropertySetTemplate::ApplicableEntity() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcPropertySetTemplate::ApplicableEntity() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcPropertySetTemplate::setApplicableEntity(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -aggregate_of< ::Ifc4x3_rc1::IfcPropertyTemplate >::ptr Ifc4x3_rc1::IfcPropertySetTemplate::HasPropertyTemplates() const { aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3_rc1::IfcPropertyTemplate >(); } +aggregate_of< ::Ifc4x3_rc1::IfcPropertyTemplate >::ptr Ifc4x3_rc1::IfcPropertySetTemplate::HasPropertyTemplates() const { aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3_rc1::IfcPropertyTemplate >(); } void Ifc4x3_rc1::IfcPropertySetTemplate::setHasPropertyTemplates(aggregate_of< ::Ifc4x3_rc1::IfcPropertyTemplate >::ptr v) { set_attribute_value(6, (v)->generalize());if constexpr (false)unset_attribute_value(6); } ::Ifc4x3_rc1::IfcRelDefinesByTemplate::list::ptr Ifc4x3_rc1::IfcPropertySetTemplate::Defines() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[945], 5)->as(); } @@ -14042,39 +14042,39 @@ void Ifc4x3_rc1::IfcPropertySetTemplate::setHasPropertyTemplates(aggregate_of< : const IfcParse::entity& Ifc4x3_rc1::IfcPropertySetTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[843]); } const IfcParse::entity& Ifc4x3_rc1::IfcPropertySetTemplate::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[843]); } Ifc4x3_rc1::IfcPropertySetTemplate::IfcPropertySetTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplateDefinition(std::move(e)) { } -Ifc4x3_rc1::IfcPropertySetTemplate::IfcPropertySetTemplate(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_ApplicableEntity, aggregate_of< ::Ifc4x3_rc1::IfcPropertyTemplate >::ptr v7_HasPropertyTemplates) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, (v7_HasPropertyTemplates)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcPropertySetTemplate::IfcPropertySetTemplate(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_ApplicableEntity, aggregate_of< ::Ifc4x3_rc1::IfcPropertyTemplate >::ptr v7_HasPropertyTemplates) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc1::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, (v7_HasPropertyTemplates)->generalize());; populate_derived(); } // Function implementations for IfcPropertySingleValue -::Ifc4x3_rc1::IfcValue* Ifc4x3_rc1::IfcPropertySingleValue::NominalValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcValue>(true); } +::Ifc4x3_rc1::IfcValue* Ifc4x3_rc1::IfcPropertySingleValue::NominalValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcValue>(true); } void Ifc4x3_rc1::IfcPropertySingleValue::setNominalValue(::Ifc4x3_rc1::IfcValue* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcPropertySingleValue::Unit() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcUnit>(true); } +::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcPropertySingleValue::Unit() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcUnit>(true); } void Ifc4x3_rc1::IfcPropertySingleValue::setUnit(::Ifc4x3_rc1::IfcUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcPropertySingleValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[845]); } const IfcParse::entity& Ifc4x3_rc1::IfcPropertySingleValue::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[845]); } Ifc4x3_rc1::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_rc1::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcValue* v3_NominalValue, ::Ifc4x3_rc1::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_NominalValue ? v3_NominalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcValue* v3_NominalValue, ::Ifc4x3_rc1::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_NominalValue ? v3_NominalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyTableValue -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > Ifc4x3_rc1::IfcPropertyTableValue::DefiningValues() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > Ifc4x3_rc1::IfcPropertyTableValue::DefiningValues() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcValue >(); } void Ifc4x3_rc1::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > Ifc4x3_rc1::IfcPropertyTableValue::DefinedValues() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc1::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > Ifc4x3_rc1::IfcPropertyTableValue::DefinedValues() const { if(get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc1::IfcValue >(); } void Ifc4x3_rc1::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v) { if (v) {set_attribute_value(3, (*v)->generalize());} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc1::IfcPropertyTableValue::Expression() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcPropertyTableValue::Expression() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcPropertyTableValue::DefiningUnit() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcUnit>(true); } +::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcPropertyTableValue::DefiningUnit() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcUnit>(true); } void Ifc4x3_rc1::IfcPropertyTableValue::setDefiningUnit(::Ifc4x3_rc1::IfcUnit* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcPropertyTableValue::DefinedUnit() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcUnit>(true); } +::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcPropertyTableValue::DefinedUnit() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcUnit>(true); } void Ifc4x3_rc1::IfcPropertyTableValue::setDefinedUnit(::Ifc4x3_rc1::IfcUnit* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< ::Ifc4x3_rc1::IfcCurveInterpolationEnum::Value > Ifc4x3_rc1::IfcPropertyTableValue::CurveInterpolation() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCurveInterpolationEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_rc1::IfcCurveInterpolationEnum::Value > Ifc4x3_rc1::IfcPropertyTableValue::CurveInterpolation() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcCurveInterpolationEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc1::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc4x3_rc1::IfcCurveInterpolationEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc1::IfcCurveInterpolationEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc1::IfcPropertyTableValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[846]); } const IfcParse::entity& Ifc4x3_rc1::IfcPropertyTableValue::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[846]); } Ifc4x3_rc1::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_rc1::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_rc1::IfcUnit* v6_DefiningUnit, ::Ifc4x3_rc1::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_rc1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_DefiningValues) {set_attribute_value(2, (*v3_DefiningValues)->generalize()); } if (v4_DefinedValues) {set_attribute_value(3, (*v4_DefinedValues)->generalize()); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, v6_DefiningUnit ? v6_DefiningUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_DefinedUnit ? v7_DefinedUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_CurveInterpolation) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); }; populate_derived(); } +Ifc4x3_rc1::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_rc1::IfcUnit* v6_DefiningUnit, ::Ifc4x3_rc1::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_rc1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_DefiningValues) {set_attribute_value(2, (*v3_DefiningValues)->generalize()); } if (v4_DefinedValues) {set_attribute_value(3, (*v4_DefinedValues)->generalize()); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, v6_DefiningUnit ? v6_DefiningUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_DefinedUnit ? v7_DefinedUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_CurveInterpolation) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); }; populate_derived(); } // Function implementations for IfcPropertyTemplate @@ -14084,7 +14084,7 @@ Ifc4x3_rc1::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, bo const IfcParse::entity& Ifc4x3_rc1::IfcPropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[847]); } const IfcParse::entity& Ifc4x3_rc1::IfcPropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[847]); } Ifc4x3_rc1::IfcPropertyTemplate::IfcPropertyTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplateDefinition(std::move(e)) { } -Ifc4x3_rc1::IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc1::IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertyTemplateDefinition @@ -14092,115 +14092,115 @@ Ifc4x3_rc1::IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x3_rc1::IfcPropertyTemplateDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[848]); } const IfcParse::entity& Ifc4x3_rc1::IfcPropertyTemplateDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[848]); } Ifc4x3_rc1::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(IfcEntityInstanceData&& e) : IfcPropertyDefinition(std::move(e)) { } -Ifc4x3_rc1::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc1::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcProtectiveDevice -boost::optional< ::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value > Ifc4x3_rc1::IfcProtectiveDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value > Ifc4x3_rc1::IfcProtectiveDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcProtectiveDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcProtectiveDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[849]); } const IfcParse::entity& Ifc4x3_rc1::IfcProtectiveDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[849]); } Ifc4x3_rc1::IfcProtectiveDevice::IfcProtectiveDevice(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_rc1::IfcProtectiveDevice::IfcProtectiveDevice(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcProtectiveDevice::IfcProtectiveDevice(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProtectiveDeviceTrippingUnit -boost::optional< ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnit::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[850]); } const IfcParse::entity& Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[850]); } Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProtectiveDeviceTrippingUnitType -::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitType::setPredefinedType(::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[851]); } const IfcParse::entity& Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[851]); } Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcProtectiveDeviceType -::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value Ifc4x3_rc1::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value Ifc4x3_rc1::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcProtectiveDeviceType::setPredefinedType(::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcProtectiveDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[853]); } const IfcParse::entity& Ifc4x3_rc1::IfcProtectiveDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[853]); } Ifc4x3_rc1::IfcProtectiveDeviceType::IfcProtectiveDeviceType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_rc1::IfcProtectiveDeviceType::IfcProtectiveDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcProtectiveDeviceType::IfcProtectiveDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcProxy -::Ifc4x3_rc1::IfcObjectTypeEnum::Value Ifc4x3_rc1::IfcProxy::ProxyType() const { return ::Ifc4x3_rc1::IfcObjectTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc1::IfcObjectTypeEnum::Value Ifc4x3_rc1::IfcProxy::ProxyType() const { return ::Ifc4x3_rc1::IfcObjectTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc1::IfcProxy::setProxyType(::Ifc4x3_rc1::IfcObjectTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc4x3_rc1::IfcProxy::Tag() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcProxy::Tag() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcProxy::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcProxy::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[855]); } const IfcParse::entity& Ifc4x3_rc1::IfcProxy::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[855]); } Ifc4x3_rc1::IfcProxy::IfcProxy(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_rc1::IfcProxy::IfcProxy(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcObjectTypeEnum::Value v8_ProxyType, boost::optional< std::string > v9_Tag) : IfcProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)v8_ProxyType))); if (v9_Tag) {set_attribute_value(8, (*v9_Tag)); }; populate_derived(); } +Ifc4x3_rc1::IfcProxy::IfcProxy(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcObjectTypeEnum::Value v8_ProxyType, boost::optional< std::string > v9_Tag) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)v8_ProxyType))); if (v9_Tag) {set_attribute_value(8, (*v9_Tag)); }; populate_derived(); } // Function implementations for IfcPump -boost::optional< ::Ifc4x3_rc1::IfcPumpTypeEnum::Value > Ifc4x3_rc1::IfcPump::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcPumpTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcPumpTypeEnum::Value > Ifc4x3_rc1::IfcPump::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcPumpTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcPump::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcPumpTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcPumpTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcPump::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[856]); } const IfcParse::entity& Ifc4x3_rc1::IfcPump::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[856]); } Ifc4x3_rc1::IfcPump::IfcPump(IfcEntityInstanceData&& e) : IfcFlowMovingDevice(std::move(e)) { } -Ifc4x3_rc1::IfcPump::IfcPump(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcPumpTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcPump::IfcPump(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcPumpTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPumpType -::Ifc4x3_rc1::IfcPumpTypeEnum::Value Ifc4x3_rc1::IfcPumpType::PredefinedType() const { return ::Ifc4x3_rc1::IfcPumpTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcPumpTypeEnum::Value Ifc4x3_rc1::IfcPumpType::PredefinedType() const { return ::Ifc4x3_rc1::IfcPumpTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcPumpType::setPredefinedType(::Ifc4x3_rc1::IfcPumpTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcPumpTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcPumpType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[857]); } const IfcParse::entity& Ifc4x3_rc1::IfcPumpType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[857]); } Ifc4x3_rc1::IfcPumpType::IfcPumpType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(e)) { } -Ifc4x3_rc1::IfcPumpType::IfcPumpType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcPumpTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcPumpType::IfcPumpType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcPumpTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcQuantityArea -double Ifc4x3_rc1::IfcQuantityArea::AreaValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc1::IfcQuantityArea::AreaValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcQuantityArea::setAreaValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc1::IfcQuantityArea::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcQuantityArea::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcQuantityArea::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc1::IfcQuantityArea::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[859]); } const IfcParse::entity& Ifc4x3_rc1::IfcQuantityArea::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[859]); } Ifc4x3_rc1::IfcQuantityArea::IfcQuantityArea(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_rc1::IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit* v3_Unit, double v4_AreaValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_rc1::IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit* v3_Unit, double v4_AreaValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityCount -double Ifc4x3_rc1::IfcQuantityCount::CountValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc1::IfcQuantityCount::CountValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcQuantityCount::setCountValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc1::IfcQuantityCount::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcQuantityCount::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcQuantityCount::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc1::IfcQuantityCount::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[860]); } const IfcParse::entity& Ifc4x3_rc1::IfcQuantityCount::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[860]); } Ifc4x3_rc1::IfcQuantityCount::IfcQuantityCount(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_rc1::IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit* v3_Unit, double v4_CountValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_rc1::IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit* v3_Unit, double v4_CountValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityLength -double Ifc4x3_rc1::IfcQuantityLength::LengthValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc1::IfcQuantityLength::LengthValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcQuantityLength::setLengthValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc1::IfcQuantityLength::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcQuantityLength::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcQuantityLength::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc1::IfcQuantityLength::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[861]); } const IfcParse::entity& Ifc4x3_rc1::IfcQuantityLength::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[861]); } Ifc4x3_rc1::IfcQuantityLength::IfcQuantityLength(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_rc1::IfcQuantityLength::IfcQuantityLength(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit* v3_Unit, double v4_LengthValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_rc1::IfcQuantityLength::IfcQuantityLength(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit* v3_Unit, double v4_LengthValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantitySet @@ -14208,83 +14208,83 @@ Ifc4x3_rc1::IfcQuantityLength::IfcQuantityLength(std::string v1_Name, boost::opt const IfcParse::entity& Ifc4x3_rc1::IfcQuantitySet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[862]); } const IfcParse::entity& Ifc4x3_rc1::IfcQuantitySet::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[862]); } Ifc4x3_rc1::IfcQuantitySet::IfcQuantitySet(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc4x3_rc1::IfcQuantitySet::IfcQuantitySet(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc1::IfcQuantitySet::IfcQuantitySet(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcQuantityTime -double Ifc4x3_rc1::IfcQuantityTime::TimeValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc1::IfcQuantityTime::TimeValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcQuantityTime::setTimeValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc1::IfcQuantityTime::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcQuantityTime::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcQuantityTime::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc1::IfcQuantityTime::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[863]); } const IfcParse::entity& Ifc4x3_rc1::IfcQuantityTime::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[863]); } Ifc4x3_rc1::IfcQuantityTime::IfcQuantityTime(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_rc1::IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit* v3_Unit, double v4_TimeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_rc1::IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit* v3_Unit, double v4_TimeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityVolume -double Ifc4x3_rc1::IfcQuantityVolume::VolumeValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc1::IfcQuantityVolume::VolumeValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcQuantityVolume::setVolumeValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc1::IfcQuantityVolume::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcQuantityVolume::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcQuantityVolume::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc1::IfcQuantityVolume::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[864]); } const IfcParse::entity& Ifc4x3_rc1::IfcQuantityVolume::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[864]); } Ifc4x3_rc1::IfcQuantityVolume::IfcQuantityVolume(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_rc1::IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit* v3_Unit, double v4_VolumeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_rc1::IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit* v3_Unit, double v4_VolumeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityWeight -double Ifc4x3_rc1::IfcQuantityWeight::WeightValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc1::IfcQuantityWeight::WeightValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcQuantityWeight::setWeightValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc1::IfcQuantityWeight::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcQuantityWeight::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcQuantityWeight::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc1::IfcQuantityWeight::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[865]); } const IfcParse::entity& Ifc4x3_rc1::IfcQuantityWeight::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[865]); } Ifc4x3_rc1::IfcQuantityWeight::IfcQuantityWeight(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_rc1::IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit* v3_Unit, double v4_WeightValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_rc1::IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcNamedUnit* v3_Unit, double v4_WeightValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcRail -boost::optional< ::Ifc4x3_rc1::IfcRailTypeEnum::Value > Ifc4x3_rc1::IfcRail::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcRailTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcRailTypeEnum::Value > Ifc4x3_rc1::IfcRail::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcRailTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcRail::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcRailTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcRailTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcRail::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[867]); } const IfcParse::entity& Ifc4x3_rc1::IfcRail::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[867]); } Ifc4x3_rc1::IfcRail::IfcRail(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc1::IfcRail::IfcRail(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcRailTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcRailTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcRail::IfcRail(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcRailTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcRailTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRailType -::Ifc4x3_rc1::IfcRailTypeEnum::Value Ifc4x3_rc1::IfcRailType::PredefinedType() const { return ::Ifc4x3_rc1::IfcRailTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcRailTypeEnum::Value Ifc4x3_rc1::IfcRailType::PredefinedType() const { return ::Ifc4x3_rc1::IfcRailTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcRailType::setPredefinedType(::Ifc4x3_rc1::IfcRailTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcRailTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcRailType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[871]); } const IfcParse::entity& Ifc4x3_rc1::IfcRailType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[871]); } Ifc4x3_rc1::IfcRailType::IfcRailType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc1::IfcRailType::IfcRailType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcRailTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcRailTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcRailType::IfcRailType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcRailTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcRailTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRailing -boost::optional< ::Ifc4x3_rc1::IfcRailingTypeEnum::Value > Ifc4x3_rc1::IfcRailing::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcRailingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcRailingTypeEnum::Value > Ifc4x3_rc1::IfcRailing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcRailingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcRailing::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcRailingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcRailingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcRailing::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[868]); } const IfcParse::entity& Ifc4x3_rc1::IfcRailing::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[868]); } Ifc4x3_rc1::IfcRailing::IfcRailing(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc1::IfcRailing::IfcRailing(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcRailingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcRailing::IfcRailing(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcRailingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRailingType -::Ifc4x3_rc1::IfcRailingTypeEnum::Value Ifc4x3_rc1::IfcRailingType::PredefinedType() const { return ::Ifc4x3_rc1::IfcRailingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcRailingTypeEnum::Value Ifc4x3_rc1::IfcRailingType::PredefinedType() const { return ::Ifc4x3_rc1::IfcRailingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcRailingType::setPredefinedType(::Ifc4x3_rc1::IfcRailingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcRailingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcRailingType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[869]); } const IfcParse::entity& Ifc4x3_rc1::IfcRailingType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[869]); } Ifc4x3_rc1::IfcRailingType::IfcRailingType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc1::IfcRailingType::IfcRailingType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcRailingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcRailingType::IfcRailingType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcRailingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRailway @@ -14292,287 +14292,287 @@ Ifc4x3_rc1::IfcRailingType::IfcRailingType(std::string v1_GlobalId, ::Ifc4x3_rc1 const IfcParse::entity& Ifc4x3_rc1::IfcRailway::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[873]); } const IfcParse::entity& Ifc4x3_rc1::IfcRailway::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[873]); } Ifc4x3_rc1::IfcRailway::IfcRailway(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x3_rc1::IfcRailway::IfcRailway(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcFacility(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } +Ifc4x3_rc1::IfcRailway::IfcRailway(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } // Function implementations for IfcRamp -boost::optional< ::Ifc4x3_rc1::IfcRampTypeEnum::Value > Ifc4x3_rc1::IfcRamp::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcRampTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcRampTypeEnum::Value > Ifc4x3_rc1::IfcRamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcRampTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcRamp::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcRampTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcRampTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcRamp::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[875]); } const IfcParse::entity& Ifc4x3_rc1::IfcRamp::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[875]); } Ifc4x3_rc1::IfcRamp::IfcRamp(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc1::IfcRamp::IfcRamp(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcRampTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcRamp::IfcRamp(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcRampTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRampFlight -boost::optional< ::Ifc4x3_rc1::IfcRampFlightTypeEnum::Value > Ifc4x3_rc1::IfcRampFlight::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcRampFlightTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcRampFlightTypeEnum::Value > Ifc4x3_rc1::IfcRampFlight::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcRampFlightTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcRampFlight::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcRampFlightTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcRampFlightTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcRampFlight::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[876]); } const IfcParse::entity& Ifc4x3_rc1::IfcRampFlight::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[876]); } Ifc4x3_rc1::IfcRampFlight::IfcRampFlight(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc1::IfcRampFlight::IfcRampFlight(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcRampFlightTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcRampFlight::IfcRampFlight(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcRampFlightTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRampFlightType -::Ifc4x3_rc1::IfcRampFlightTypeEnum::Value Ifc4x3_rc1::IfcRampFlightType::PredefinedType() const { return ::Ifc4x3_rc1::IfcRampFlightTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcRampFlightTypeEnum::Value Ifc4x3_rc1::IfcRampFlightType::PredefinedType() const { return ::Ifc4x3_rc1::IfcRampFlightTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcRampFlightType::setPredefinedType(::Ifc4x3_rc1::IfcRampFlightTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcRampFlightTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcRampFlightType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[877]); } const IfcParse::entity& Ifc4x3_rc1::IfcRampFlightType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[877]); } Ifc4x3_rc1::IfcRampFlightType::IfcRampFlightType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc1::IfcRampFlightType::IfcRampFlightType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcRampFlightTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcRampFlightType::IfcRampFlightType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcRampFlightTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRampType -::Ifc4x3_rc1::IfcRampTypeEnum::Value Ifc4x3_rc1::IfcRampType::PredefinedType() const { return ::Ifc4x3_rc1::IfcRampTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcRampTypeEnum::Value Ifc4x3_rc1::IfcRampType::PredefinedType() const { return ::Ifc4x3_rc1::IfcRampTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcRampType::setPredefinedType(::Ifc4x3_rc1::IfcRampTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcRampTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcRampType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[879]); } const IfcParse::entity& Ifc4x3_rc1::IfcRampType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[879]); } Ifc4x3_rc1::IfcRampType::IfcRampType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc1::IfcRampType::IfcRampType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcRampTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcRampType::IfcRampType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcRampTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRationalBSplineCurveWithKnots -std::vector< double > /*[2:?]*/ Ifc4x3_rc1::IfcRationalBSplineCurveWithKnots::WeightsData() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< double > /*[2:?]*/ Ifc4x3_rc1::IfcRationalBSplineCurveWithKnots::WeightsData() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcRationalBSplineCurveWithKnots::setWeightsData(std::vector< double > /*[2:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc1::IfcRationalBSplineCurveWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[882]); } const IfcParse::entity& Ifc4x3_rc1::IfcRationalBSplineCurveWithKnots::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[882]); } Ifc4x3_rc1::IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(IfcEntityInstanceData&& e) : IfcBSplineCurveWithKnots(std::move(e)) { } -Ifc4x3_rc1::IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x3_rc1::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_rc1::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_rc1::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) : IfcBSplineCurveWithKnots(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData));; populate_derived(); } +Ifc4x3_rc1::IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x3_rc1::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_rc1::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_rc1::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) : IfcBSplineCurveWithKnots(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData));; populate_derived(); } // Function implementations for IfcRationalBSplineSurfaceWithKnots -std::vector< std::vector< double > > Ifc4x3_rc1::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { std::vector< std::vector< double > > v = data_.get_attribute_value(12); return v; } +std::vector< std::vector< double > > Ifc4x3_rc1::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { std::vector< std::vector< double > > v = get_attribute_value(12); return v; } void Ifc4x3_rc1::IfcRationalBSplineSurfaceWithKnots::setWeightsData(std::vector< std::vector< double > > v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } const IfcParse::entity& Ifc4x3_rc1::IfcRationalBSplineSurfaceWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[883]); } const IfcParse::entity& Ifc4x3_rc1::IfcRationalBSplineSurfaceWithKnots::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[883]); } Ifc4x3_rc1::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(IfcEntityInstanceData&& e) : IfcBSplineSurfaceWithKnots(std::move(e)) { } -Ifc4x3_rc1::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_rc1::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_rc1::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_rc1::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) : IfcBSplineSurfaceWithKnots(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData));; populate_derived(); } +Ifc4x3_rc1::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_rc1::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_rc1::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_rc1::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) : IfcBSplineSurfaceWithKnots(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData));; populate_derived(); } // Function implementations for IfcRectangleHollowProfileDef -double Ifc4x3_rc1::IfcRectangleHollowProfileDef::WallThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc1::IfcRectangleHollowProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcRectangleHollowProfileDef::setWallThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_rc1::IfcRectangleHollowProfileDef::InnerFilletRadius() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc1::IfcRectangleHollowProfileDef::InnerFilletRadius() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcRectangleHollowProfileDef::setInnerFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_rc1::IfcRectangleHollowProfileDef::OuterFilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc1::IfcRectangleHollowProfileDef::OuterFilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcRectangleHollowProfileDef::setOuterFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc1::IfcRectangleHollowProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[885]); } const IfcParse::entity& Ifc4x3_rc1::IfcRectangleHollowProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[885]); } Ifc4x3_rc1::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(IfcEntityInstanceData&& e) : IfcRectangleProfileDef(std::move(e)) { } -Ifc4x3_rc1::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, boost::optional< double > v7_InnerFilletRadius, boost::optional< double > v8_OuterFilletRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; populate_derived(); } +Ifc4x3_rc1::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, boost::optional< double > v7_InnerFilletRadius, boost::optional< double > v8_OuterFilletRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; populate_derived(); } // Function implementations for IfcRectangleProfileDef -double Ifc4x3_rc1::IfcRectangleProfileDef::XDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc1::IfcRectangleProfileDef::XDim() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcRectangleProfileDef::setXDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc1::IfcRectangleProfileDef::YDim() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc1::IfcRectangleProfileDef::YDim() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcRectangleProfileDef::setYDim(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc1::IfcRectangleProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[886]); } const IfcParse::entity& Ifc4x3_rc1::IfcRectangleProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[886]); } Ifc4x3_rc1::IfcRectangleProfileDef::IfcRectangleProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_rc1::IfcRectangleProfileDef::IfcRectangleProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; populate_derived(); } +Ifc4x3_rc1::IfcRectangleProfileDef::IfcRectangleProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; populate_derived(); } // Function implementations for IfcRectangularPyramid -double Ifc4x3_rc1::IfcRectangularPyramid::XLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc1::IfcRectangularPyramid::XLength() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcRectangularPyramid::setXLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc1::IfcRectangularPyramid::YLength() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc1::IfcRectangularPyramid::YLength() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcRectangularPyramid::setYLength(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc1::IfcRectangularPyramid::Height() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc1::IfcRectangularPyramid::Height() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcRectangularPyramid::setHeight(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcRectangularPyramid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[887]); } const IfcParse::entity& Ifc4x3_rc1::IfcRectangularPyramid::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[887]); } Ifc4x3_rc1::IfcRectangularPyramid::IfcRectangularPyramid(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3_rc1::IfcRectangularPyramid::IfcRectangularPyramid(::Ifc4x3_rc1::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; populate_derived(); } +Ifc4x3_rc1::IfcRectangularPyramid::IfcRectangularPyramid(::Ifc4x3_rc1::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; populate_derived(); } // Function implementations for IfcRectangularTrimmedSurface -::Ifc4x3_rc1::IfcSurface* Ifc4x3_rc1::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcSurface>(true); } +::Ifc4x3_rc1::IfcSurface* Ifc4x3_rc1::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcSurface>(true); } void Ifc4x3_rc1::IfcRectangularTrimmedSurface::setBasisSurface(::Ifc4x3_rc1::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc1::IfcRectangularTrimmedSurface::U1() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc1::IfcRectangularTrimmedSurface::U1() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcRectangularTrimmedSurface::setU1(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc1::IfcRectangularTrimmedSurface::V1() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc1::IfcRectangularTrimmedSurface::V1() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcRectangularTrimmedSurface::setV1(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc1::IfcRectangularTrimmedSurface::U2() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc1::IfcRectangularTrimmedSurface::U2() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcRectangularTrimmedSurface::setU2(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc1::IfcRectangularTrimmedSurface::V2() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc1::IfcRectangularTrimmedSurface::V2() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcRectangularTrimmedSurface::setV2(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -bool Ifc4x3_rc1::IfcRectangularTrimmedSurface::Usense() const { bool v = data_.get_attribute_value(5); return v; } +bool Ifc4x3_rc1::IfcRectangularTrimmedSurface::Usense() const { bool v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcRectangularTrimmedSurface::setUsense(bool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -bool Ifc4x3_rc1::IfcRectangularTrimmedSurface::Vsense() const { bool v = data_.get_attribute_value(6); return v; } +bool Ifc4x3_rc1::IfcRectangularTrimmedSurface::Vsense() const { bool v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcRectangularTrimmedSurface::setVsense(bool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc1::IfcRectangularTrimmedSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[888]); } const IfcParse::entity& Ifc4x3_rc1::IfcRectangularTrimmedSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[888]); } Ifc4x3_rc1::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x3_rc1::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(::Ifc4x3_rc1::IfcSurface* v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; populate_derived(); } +Ifc4x3_rc1::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(::Ifc4x3_rc1::IfcSurface* v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; populate_derived(); } // Function implementations for IfcRecurrencePattern -::Ifc4x3_rc1::IfcRecurrenceTypeEnum::Value Ifc4x3_rc1::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x3_rc1::IfcRecurrenceTypeEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_rc1::IfcRecurrenceTypeEnum::Value Ifc4x3_rc1::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x3_rc1::IfcRecurrenceTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x3_rc1::IfcRecurrencePattern::setRecurrenceType(::Ifc4x3_rc1::IfcRecurrenceTypeEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_rc1::IfcRecurrenceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc1::IfcRecurrencePattern::DayComponent() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc1::IfcRecurrencePattern::DayComponent() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcRecurrencePattern::setDayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc1::IfcRecurrencePattern::WeekdayComponent() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc1::IfcRecurrencePattern::WeekdayComponent() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcRecurrencePattern::setWeekdayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc1::IfcRecurrencePattern::MonthComponent() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc1::IfcRecurrencePattern::MonthComponent() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcRecurrencePattern::setMonthComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< int > Ifc4x3_rc1::IfcRecurrencePattern::Position() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x3_rc1::IfcRecurrencePattern::Position() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcRecurrencePattern::setPosition(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< int > Ifc4x3_rc1::IfcRecurrencePattern::Interval() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } int v = data_.get_attribute_value(5); return v; } +boost::optional< int > Ifc4x3_rc1::IfcRecurrencePattern::Interval() const { if(get_attribute_value(5).isNull()) { return boost::none; } int v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcRecurrencePattern::setInterval(boost::optional< int > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< int > Ifc4x3_rc1::IfcRecurrencePattern::Occurrences() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } int v = data_.get_attribute_value(6); return v; } +boost::optional< int > Ifc4x3_rc1::IfcRecurrencePattern::Occurrences() const { if(get_attribute_value(6).isNull()) { return boost::none; } int v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcRecurrencePattern::setOccurrences(boost::optional< int > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcTimePeriod >::ptr > Ifc4x3_rc1::IfcRecurrencePattern::TimePeriods() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc1::IfcTimePeriod >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcTimePeriod >::ptr > Ifc4x3_rc1::IfcRecurrencePattern::TimePeriods() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc1::IfcTimePeriod >(); } void Ifc4x3_rc1::IfcRecurrencePattern::setTimePeriods(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcTimePeriod >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc1::IfcRecurrencePattern::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[889]); } const IfcParse::entity& Ifc4x3_rc1::IfcRecurrencePattern::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[889]); } Ifc4x3_rc1::IfcRecurrencePattern::IfcRecurrencePattern(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcRecurrencePattern::IfcRecurrencePattern(::Ifc4x3_rc1::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_rc1::IfcTimePeriod >::ptr > v8_TimePeriods) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, (*v8_TimePeriods)->generalize()); }; populate_derived(); } +Ifc4x3_rc1::IfcRecurrencePattern::IfcRecurrencePattern(::Ifc4x3_rc1::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_rc1::IfcTimePeriod >::ptr > v8_TimePeriods) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, (*v8_TimePeriods)->generalize()); }; populate_derived(); } // Function implementations for IfcReference -boost::optional< std::string > Ifc4x3_rc1::IfcReference::TypeIdentifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcReference::TypeIdentifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcReference::setTypeIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc1::IfcReference::AttributeIdentifier() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcReference::AttributeIdentifier() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcReference::setAttributeIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc1::IfcReference::InstanceName() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcReference::InstanceName() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcReference::setInstanceName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc1::IfcReference::ListPositions() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc1::IfcReference::ListPositions() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcReference::setListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc1::IfcReference* Ifc4x3_rc1::IfcReference::InnerReference() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcReference>(true); } +::Ifc4x3_rc1::IfcReference* Ifc4x3_rc1::IfcReference::InnerReference() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcReference>(true); } void Ifc4x3_rc1::IfcReference::setInnerReference(::Ifc4x3_rc1::IfcReference* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc1::IfcReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[891]); } const IfcParse::entity& Ifc4x3_rc1::IfcReference::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[891]); } Ifc4x3_rc1::IfcReference::IfcReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::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_rc1::IfcReference* v5_InnerReference) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, v5_InnerReference ? v5_InnerReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::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_rc1::IfcReference* v5_InnerReference) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, v5_InnerReference ? v5_InnerReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcReferent -boost::optional< ::Ifc4x3_rc1::IfcReferentTypeEnum::Value > Ifc4x3_rc1::IfcReferent::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcReferentTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_rc1::IfcReferentTypeEnum::Value > Ifc4x3_rc1::IfcReferent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcReferentTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc1::IfcReferent::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcReferentTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc1::IfcReferentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc1::IfcReferent::RestartDistance() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc1::IfcReferent::RestartDistance() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcReferent::setRestartDistance(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcReferent::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[892]); } const IfcParse::entity& Ifc4x3_rc1::IfcReferent::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[892]); } Ifc4x3_rc1::IfcReferent::IfcReferent(IfcEntityInstanceData&& e) : IfcPositioningElement(std::move(e)) { } -Ifc4x3_rc1::IfcReferent::IfcReferent(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_rc1::IfcReferentTypeEnum::Value > v8_PredefinedType, boost::optional< double > v9_RestartDistance) : IfcPositioningElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_RestartDistance) {set_attribute_value(8, (*v9_RestartDistance)); }; populate_derived(); } +Ifc4x3_rc1::IfcReferent::IfcReferent(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_rc1::IfcReferentTypeEnum::Value > v8_PredefinedType, boost::optional< double > v9_RestartDistance) : IfcPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_RestartDistance) {set_attribute_value(8, (*v9_RestartDistance)); }; populate_derived(); } // Function implementations for IfcRegularTimeSeries -double Ifc4x3_rc1::IfcRegularTimeSeries::TimeStep() const { double v = data_.get_attribute_value(8); return v; } +double Ifc4x3_rc1::IfcRegularTimeSeries::TimeStep() const { double v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcRegularTimeSeries::setTimeStep(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -aggregate_of< ::Ifc4x3_rc1::IfcTimeSeriesValue >::ptr Ifc4x3_rc1::IfcRegularTimeSeries::Values() const { aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3_rc1::IfcTimeSeriesValue >(); } +aggregate_of< ::Ifc4x3_rc1::IfcTimeSeriesValue >::ptr Ifc4x3_rc1::IfcRegularTimeSeries::Values() const { aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3_rc1::IfcTimeSeriesValue >(); } void Ifc4x3_rc1::IfcRegularTimeSeries::setValues(aggregate_of< ::Ifc4x3_rc1::IfcTimeSeriesValue >::ptr v) { set_attribute_value(9, (v)->generalize());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcRegularTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[895]); } const IfcParse::entity& Ifc4x3_rc1::IfcRegularTimeSeries::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[895]); } Ifc4x3_rc1::IfcRegularTimeSeries::IfcRegularTimeSeries(IfcEntityInstanceData&& e) : IfcTimeSeries(std::move(e)) { } -Ifc4x3_rc1::IfcRegularTimeSeries::IfcRegularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc1::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc1::IfcUnit* v8_Unit, double v9_TimeStep, aggregate_of< ::Ifc4x3_rc1::IfcTimeSeriesValue >::ptr v10_Values) : IfcTimeSeries(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, (v10_Values)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcRegularTimeSeries::IfcRegularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc1::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc1::IfcUnit* v8_Unit, double v9_TimeStep, aggregate_of< ::Ifc4x3_rc1::IfcTimeSeriesValue >::ptr v10_Values) : IfcTimeSeries(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, (v10_Values)->generalize());; populate_derived(); } // Function implementations for IfcReinforcedSoil -boost::optional< ::Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::Value > Ifc4x3_rc1::IfcReinforcedSoil::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::Value > Ifc4x3_rc1::IfcReinforcedSoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcReinforcedSoil::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcReinforcedSoil::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[896]); } const IfcParse::entity& Ifc4x3_rc1::IfcReinforcedSoil::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[896]); } Ifc4x3_rc1::IfcReinforcedSoil::IfcReinforcedSoil(IfcEntityInstanceData&& e) : IfcEarthworksElement(std::move(e)) { } -Ifc4x3_rc1::IfcReinforcedSoil::IfcReinforcedSoil(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType) : IfcEarthworksElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcReinforcedSoil::IfcReinforcedSoil(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType) : IfcEarthworksElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcReinforcedSoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcReinforcementBarProperties -double Ifc4x3_rc1::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_rc1::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcReinforcementBarProperties::setTotalCrossSectionArea(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x3_rc1::IfcReinforcementBarProperties::SteelGrade() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_rc1::IfcReinforcementBarProperties::SteelGrade() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcReinforcementBarProperties::setSteelGrade(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc1::IfcReinforcementBarProperties::BarSurface() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc1::IfcReinforcementBarProperties::BarSurface() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::FromString(get_attribute_value(2)); } void Ifc4x3_rc1::IfcReinforcementBarProperties::setBarSurface(boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc1::IfcReinforcementBarProperties::EffectiveDepth() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc1::IfcReinforcementBarProperties::EffectiveDepth() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcReinforcementBarProperties::setEffectiveDepth(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc1::IfcReinforcementBarProperties::NominalBarDiameter() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc1::IfcReinforcementBarProperties::NominalBarDiameter() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcReinforcementBarProperties::setNominalBarDiameter(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_rc1::IfcReinforcementBarProperties::BarCount() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc1::IfcReinforcementBarProperties::BarCount() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcReinforcementBarProperties::setBarCount(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_rc1::IfcReinforcementBarProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[898]); } const IfcParse::entity& Ifc4x3_rc1::IfcReinforcementBarProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[898]); } Ifc4x3_rc1::IfcReinforcementBarProperties::IfcReinforcementBarProperties(IfcEntityInstanceData&& e) : IfcPreDefinedProperties(std::move(e)) { } -Ifc4x3_rc1::IfcReinforcementBarProperties::IfcReinforcementBarProperties(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, boost::optional< double > v4_EffectiveDepth, boost::optional< double > v5_NominalBarDiameter, boost::optional< double > v6_BarCount) : IfcPreDefinedProperties(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; populate_derived(); } +Ifc4x3_rc1::IfcReinforcementBarProperties::IfcReinforcementBarProperties(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, boost::optional< double > v4_EffectiveDepth, boost::optional< double > v5_NominalBarDiameter, boost::optional< double > v6_BarCount) : IfcPreDefinedProperties(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; populate_derived(); } // Function implementations for IfcReinforcementDefinitionProperties -boost::optional< std::string > Ifc4x3_rc1::IfcReinforcementDefinitionProperties::DefinitionType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcReinforcementDefinitionProperties::DefinitionType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcReinforcementDefinitionProperties::setDefinitionType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -aggregate_of< ::Ifc4x3_rc1::IfcSectionReinforcementProperties >::ptr Ifc4x3_rc1::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc1::IfcSectionReinforcementProperties >(); } +aggregate_of< ::Ifc4x3_rc1::IfcSectionReinforcementProperties >::ptr Ifc4x3_rc1::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc1::IfcSectionReinforcementProperties >(); } void Ifc4x3_rc1::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(aggregate_of< ::Ifc4x3_rc1::IfcSectionReinforcementProperties >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcReinforcementDefinitionProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[899]); } const IfcParse::entity& Ifc4x3_rc1::IfcReinforcementDefinitionProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[899]); } Ifc4x3_rc1::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_rc1::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_DefinitionType, aggregate_of< ::Ifc4x3_rc1::IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, (v6_ReinforcementSectionDefinitions)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_DefinitionType, aggregate_of< ::Ifc4x3_rc1::IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, (v6_ReinforcementSectionDefinitions)->generalize());; populate_derived(); } // Function implementations for IfcReinforcingBar -boost::optional< double > Ifc4x3_rc1::IfcReinforcingBar::NominalDiameter() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc1::IfcReinforcingBar::NominalDiameter() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc1::IfcReinforcingBar::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc1::IfcReinforcingBar::CrossSectionArea() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc1::IfcReinforcingBar::CrossSectionArea() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcReinforcingBar::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc1::IfcReinforcingBar::BarLength() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc1::IfcReinforcingBar::BarLength() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc1::IfcReinforcingBar::setBarLength(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value > Ifc4x3_rc1::IfcReinforcingBar::PredefinedType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::FromString(data_.get_attribute_value(12)); } +boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value > Ifc4x3_rc1::IfcReinforcingBar::PredefinedType() const { if(get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x3_rc1::IfcReinforcingBar::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value > v) { if (v) {set_attribute_value(12, EnumerationReference(&::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } -boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc1::IfcReinforcingBar::BarSurface() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc1::IfcReinforcingBar::BarSurface() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::FromString(get_attribute_value(13)); } void Ifc4x3_rc1::IfcReinforcingBar::setBarSurface(boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } const IfcParse::entity& Ifc4x3_rc1::IfcReinforcingBar::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[900]); } const IfcParse::entity& Ifc4x3_rc1::IfcReinforcingBar::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[900]); } Ifc4x3_rc1::IfcReinforcingBar::IfcReinforcingBar(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x3_rc1::IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< double > v10_NominalDiameter, boost::optional< double > v11_CrossSectionArea, boost::optional< double > v12_BarLength, boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; populate_derived(); } +Ifc4x3_rc1::IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< double > v10_NominalDiameter, boost::optional< double > v11_CrossSectionArea, boost::optional< double > v12_BarLength, boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; populate_derived(); } // Function implementations for IfcReinforcingBarType -::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value Ifc4x3_rc1::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value Ifc4x3_rc1::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcReinforcingBarType::setPredefinedType(::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3_rc1::IfcReinforcingBarType::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc1::IfcReinforcingBarType::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcReinforcingBarType::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc1::IfcReinforcingBarType::CrossSectionArea() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc1::IfcReinforcingBarType::CrossSectionArea() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc1::IfcReinforcingBarType::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_rc1::IfcReinforcingBarType::BarLength() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_rc1::IfcReinforcingBarType::BarLength() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_rc1::IfcReinforcingBarType::setBarLength(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc1::IfcReinforcingBarType::BarSurface() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc1::IfcReinforcingBarType::BarSurface() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::FromString(get_attribute_value(13)); } void Ifc4x3_rc1::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x3_rc1::IfcReinforcingBarType::BendingShapeCode() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcReinforcingBarType::BendingShapeCode() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x3_rc1::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr > Ifc4x3_rc1::IfcReinforcingBarType::BendingParameters() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(15); return es->as< ::Ifc4x3_rc1::IfcBendingParameterSelect >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr > Ifc4x3_rc1::IfcReinforcingBarType::BendingParameters() const { if(get_attribute_value(15).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(15); return es->as< ::Ifc4x3_rc1::IfcBendingParameterSelect >(); } void Ifc4x3_rc1::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr > v) { if (v) {set_attribute_value(15, (*v)->generalize());} else {unset_attribute_value(15);} } const IfcParse::entity& Ifc4x3_rc1::IfcReinforcingBarType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[903]); } const IfcParse::entity& Ifc4x3_rc1::IfcReinforcingBarType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[903]); } Ifc4x3_rc1::IfcReinforcingBarType::IfcReinforcingBarType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x3_rc1::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, (*v16_BendingParameters)->generalize()); }; populate_derived(); } +Ifc4x3_rc1::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_rc1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, (*v16_BendingParameters)->generalize()); }; populate_derived(); } // Function implementations for IfcReinforcingElement -boost::optional< std::string > Ifc4x3_rc1::IfcReinforcingElement::SteelGrade() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcReinforcingElement::SteelGrade() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcReinforcingElement::setSteelGrade(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcReinforcingElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[905]); } const IfcParse::entity& Ifc4x3_rc1::IfcReinforcingElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[905]); } Ifc4x3_rc1::IfcReinforcingElement::IfcReinforcingElement(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_rc1::IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; populate_derived(); } +Ifc4x3_rc1::IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; populate_derived(); } // Function implementations for IfcReinforcingElementType @@ -14580,243 +14580,243 @@ Ifc4x3_rc1::IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId const IfcParse::entity& Ifc4x3_rc1::IfcReinforcingElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[906]); } const IfcParse::entity& Ifc4x3_rc1::IfcReinforcingElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[906]); } Ifc4x3_rc1::IfcReinforcingElementType::IfcReinforcingElementType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_rc1::IfcReinforcingElementType::IfcReinforcingElementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc1::IfcReinforcingElementType::IfcReinforcingElementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcReinforcingMesh -boost::optional< double > Ifc4x3_rc1::IfcReinforcingMesh::MeshLength() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc1::IfcReinforcingMesh::MeshLength() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc1::IfcReinforcingMesh::setMeshLength(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc1::IfcReinforcingMesh::MeshWidth() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc1::IfcReinforcingMesh::MeshWidth() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcReinforcingMesh::setMeshWidth(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc1::IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc1::IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc1::IfcReinforcingMesh::setLongitudinalBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_rc1::IfcReinforcingMesh::TransverseBarNominalDiameter() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_rc1::IfcReinforcingMesh::TransverseBarNominalDiameter() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_rc1::IfcReinforcingMesh::setTransverseBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3_rc1::IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_rc1::IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_rc1::IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3_rc1::IfcReinforcingMesh::TransverseBarCrossSectionArea() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3_rc1::IfcReinforcingMesh::TransverseBarCrossSectionArea() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3_rc1::IfcReinforcingMesh::setTransverseBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x3_rc1::IfcReinforcingMesh::LongitudinalBarSpacing() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3_rc1::IfcReinforcingMesh::LongitudinalBarSpacing() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3_rc1::IfcReinforcingMesh::setLongitudinalBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3_rc1::IfcReinforcingMesh::TransverseBarSpacing() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3_rc1::IfcReinforcingMesh::TransverseBarSpacing() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3_rc1::IfcReinforcingMesh::setTransverseBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< ::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value > Ifc4x3_rc1::IfcReinforcingMesh::PredefinedType() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::FromString(data_.get_attribute_value(17)); } +boost::optional< ::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value > Ifc4x3_rc1::IfcReinforcingMesh::PredefinedType() const { if(get_attribute_value(17).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::FromString(get_attribute_value(17)); } void Ifc4x3_rc1::IfcReinforcingMesh::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value > v) { if (v) {set_attribute_value(17, EnumerationReference(&::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(17);} } const IfcParse::entity& Ifc4x3_rc1::IfcReinforcingMesh::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[907]); } const IfcParse::entity& Ifc4x3_rc1::IfcReinforcingMesh::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[907]); } Ifc4x3_rc1::IfcReinforcingMesh::IfcReinforcingMesh(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x3_rc1::IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< 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_rc1::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(18))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (EnumerationReference(&::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< 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_rc1::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(18))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (EnumerationReference(&::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); }; populate_derived(); } // Function implementations for IfcReinforcingMeshType -::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value Ifc4x3_rc1::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value Ifc4x3_rc1::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcReinforcingMeshType::setPredefinedType(::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3_rc1::IfcReinforcingMeshType::MeshLength() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc1::IfcReinforcingMeshType::MeshLength() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcReinforcingMeshType::setMeshLength(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc1::IfcReinforcingMeshType::MeshWidth() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc1::IfcReinforcingMeshType::MeshWidth() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc1::IfcReinforcingMeshType::setMeshWidth(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_rc1::IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_rc1::IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_rc1::IfcReinforcingMeshType::setLongitudinalBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3_rc1::IfcReinforcingMeshType::TransverseBarNominalDiameter() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_rc1::IfcReinforcingMeshType::TransverseBarNominalDiameter() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_rc1::IfcReinforcingMeshType::setTransverseBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3_rc1::IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3_rc1::IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3_rc1::IfcReinforcingMeshType::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x3_rc1::IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3_rc1::IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3_rc1::IfcReinforcingMeshType::setTransverseBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3_rc1::IfcReinforcingMeshType::LongitudinalBarSpacing() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3_rc1::IfcReinforcingMeshType::LongitudinalBarSpacing() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3_rc1::IfcReinforcingMeshType::setLongitudinalBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< double > Ifc4x3_rc1::IfcReinforcingMeshType::TransverseBarSpacing() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } double v = data_.get_attribute_value(17); return v; } +boost::optional< double > Ifc4x3_rc1::IfcReinforcingMeshType::TransverseBarSpacing() const { if(get_attribute_value(17).isNull()) { return boost::none; } double v = get_attribute_value(17); return v; } void Ifc4x3_rc1::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } -boost::optional< std::string > Ifc4x3_rc1::IfcReinforcingMeshType::BendingShapeCode() const { if(data_.get_attribute_value(18).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(18); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcReinforcingMeshType::BendingShapeCode() const { if(get_attribute_value(18).isNull()) { return boost::none; } std::string v = get_attribute_value(18); return v; } void Ifc4x3_rc1::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { if (v) {set_attribute_value(18, *v);} else {unset_attribute_value(18);} } -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr > Ifc4x3_rc1::IfcReinforcingMeshType::BendingParameters() const { if(data_.get_attribute_value(19).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(19); return es->as< ::Ifc4x3_rc1::IfcBendingParameterSelect >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr > Ifc4x3_rc1::IfcReinforcingMeshType::BendingParameters() const { if(get_attribute_value(19).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(19); return es->as< ::Ifc4x3_rc1::IfcBendingParameterSelect >(); } void Ifc4x3_rc1::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr > v) { if (v) {set_attribute_value(19, (*v)->generalize());} else {unset_attribute_value(19);} } const IfcParse::entity& Ifc4x3_rc1::IfcReinforcingMeshType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[908]); } const IfcParse::entity& Ifc4x3_rc1::IfcReinforcingMeshType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[908]); } Ifc4x3_rc1::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x3_rc1::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(20))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, (*v20_BendingParameters)->generalize()); }; populate_derived(); } +Ifc4x3_rc1::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(20))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, (*v20_BendingParameters)->generalize()); }; populate_derived(); } // Function implementations for IfcRelAggregates -::Ifc4x3_rc1::IfcObjectDefinition* Ifc4x3_rc1::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcObjectDefinition>(true); } +::Ifc4x3_rc1::IfcObjectDefinition* Ifc4x3_rc1::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcObjectDefinition>(true); } void Ifc4x3_rc1::IfcRelAggregates::setRelatingObject(::Ifc4x3_rc1::IfcObjectDefinition* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr Ifc4x3_rc1::IfcRelAggregates::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc1::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr Ifc4x3_rc1::IfcRelAggregates::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc1::IfcObjectDefinition >(); } void Ifc4x3_rc1::IfcRelAggregates::setRelatedObjects(aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcRelAggregates::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[910]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelAggregates::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[910]); } Ifc4x3_rc1::IfcRelAggregates::IfcRelAggregates(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x3_rc1::IfcRelAggregates::IfcRelAggregates(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcRelAggregates::IfcRelAggregates(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelAssigns -aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr Ifc4x3_rc1::IfcRelAssigns::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc1::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr Ifc4x3_rc1::IfcRelAssigns::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc1::IfcObjectDefinition >(); } void Ifc4x3_rc1::IfcRelAssigns::setRelatedObjects(aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -boost::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > Ifc4x3_rc1::IfcRelAssigns::RelatedObjectsType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcObjectTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > Ifc4x3_rc1::IfcRelAssigns::RelatedObjectsType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcObjectTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc1::IfcRelAssigns::setRelatedObjectsType(boost::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssigns::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[911]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssigns::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[911]); } Ifc4x3_rc1::IfcRelAssigns::IfcRelAssigns(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_rc1::IfcRelAssigns::IfcRelAssigns(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) : IfcRelationship(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }; populate_derived(); } +Ifc4x3_rc1::IfcRelAssigns::IfcRelAssigns(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }; populate_derived(); } // Function implementations for IfcRelAssignsToActor -::Ifc4x3_rc1::IfcActor* Ifc4x3_rc1::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcActor>(true); } +::Ifc4x3_rc1::IfcActor* Ifc4x3_rc1::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcActor>(true); } void Ifc4x3_rc1::IfcRelAssignsToActor::setRelatingActor(::Ifc4x3_rc1::IfcActor* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc1::IfcActorRole* Ifc4x3_rc1::IfcRelAssignsToActor::ActingRole() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc1::IfcActorRole>(true); } +::Ifc4x3_rc1::IfcActorRole* Ifc4x3_rc1::IfcRelAssignsToActor::ActingRole() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc1::IfcActorRole>(true); } void Ifc4x3_rc1::IfcRelAssignsToActor::setActingRole(::Ifc4x3_rc1::IfcActorRole* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssignsToActor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[912]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssignsToActor::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[912]); } Ifc4x3_rc1::IfcRelAssignsToActor::IfcRelAssignsToActor(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_rc1::IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcActor* v7_RelatingActor, ::Ifc4x3_rc1::IfcActorRole* v8_ActingRole) : IfcRelAssigns(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingActor ? v7_RelatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_ActingRole ? v8_ActingRole->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcActor* v7_RelatingActor, ::Ifc4x3_rc1::IfcActorRole* v8_ActingRole) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingActor ? v7_RelatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_ActingRole ? v8_ActingRole->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToControl -::Ifc4x3_rc1::IfcControl* Ifc4x3_rc1::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcControl>(true); } +::Ifc4x3_rc1::IfcControl* Ifc4x3_rc1::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcControl>(true); } void Ifc4x3_rc1::IfcRelAssignsToControl::setRelatingControl(::Ifc4x3_rc1::IfcControl* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssignsToControl::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[913]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssignsToControl::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[913]); } Ifc4x3_rc1::IfcRelAssignsToControl::IfcRelAssignsToControl(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_rc1::IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcControl* v7_RelatingControl) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingControl ? v7_RelatingControl->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcControl* v7_RelatingControl) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingControl ? v7_RelatingControl->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToGroup -::Ifc4x3_rc1::IfcGroup* Ifc4x3_rc1::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcGroup>(true); } +::Ifc4x3_rc1::IfcGroup* Ifc4x3_rc1::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcGroup>(true); } void Ifc4x3_rc1::IfcRelAssignsToGroup::setRelatingGroup(::Ifc4x3_rc1::IfcGroup* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssignsToGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[914]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssignsToGroup::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[914]); } Ifc4x3_rc1::IfcRelAssignsToGroup::IfcRelAssignsToGroup(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_rc1::IfcRelAssignsToGroup::IfcRelAssignsToGroup(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcGroup* v7_RelatingGroup) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcRelAssignsToGroup::IfcRelAssignsToGroup(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcGroup* v7_RelatingGroup) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToGroupByFactor -double Ifc4x3_rc1::IfcRelAssignsToGroupByFactor::Factor() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x3_rc1::IfcRelAssignsToGroupByFactor::Factor() const { double v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcRelAssignsToGroupByFactor::setFactor(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssignsToGroupByFactor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[915]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssignsToGroupByFactor::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[915]); } Ifc4x3_rc1::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(IfcEntityInstanceData&& e) : IfcRelAssignsToGroup(std::move(e)) { } -Ifc4x3_rc1::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcGroup* v7_RelatingGroup, double v8_Factor) : IfcRelAssignsToGroup(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_Factor));; populate_derived(); } +Ifc4x3_rc1::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcGroup* v7_RelatingGroup, double v8_Factor) : IfcRelAssignsToGroup(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_Factor));; populate_derived(); } // Function implementations for IfcRelAssignsToProcess -::Ifc4x3_rc1::IfcProcessSelect* Ifc4x3_rc1::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcProcessSelect>(true); } +::Ifc4x3_rc1::IfcProcessSelect* Ifc4x3_rc1::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcProcessSelect>(true); } void Ifc4x3_rc1::IfcRelAssignsToProcess::setRelatingProcess(::Ifc4x3_rc1::IfcProcessSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc1::IfcMeasureWithUnit* Ifc4x3_rc1::IfcRelAssignsToProcess::QuantityInProcess() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc1::IfcMeasureWithUnit>(true); } +::Ifc4x3_rc1::IfcMeasureWithUnit* Ifc4x3_rc1::IfcRelAssignsToProcess::QuantityInProcess() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc1::IfcMeasureWithUnit>(true); } void Ifc4x3_rc1::IfcRelAssignsToProcess::setQuantityInProcess(::Ifc4x3_rc1::IfcMeasureWithUnit* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssignsToProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[916]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssignsToProcess::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[916]); } Ifc4x3_rc1::IfcRelAssignsToProcess::IfcRelAssignsToProcess(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_rc1::IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcProcessSelect* v7_RelatingProcess, ::Ifc4x3_rc1::IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProcess ? v7_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_QuantityInProcess ? v8_QuantityInProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcProcessSelect* v7_RelatingProcess, ::Ifc4x3_rc1::IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProcess ? v7_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_QuantityInProcess ? v8_QuantityInProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToProduct -::Ifc4x3_rc1::IfcProductSelect* Ifc4x3_rc1::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcProductSelect>(true); } +::Ifc4x3_rc1::IfcProductSelect* Ifc4x3_rc1::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcProductSelect>(true); } void Ifc4x3_rc1::IfcRelAssignsToProduct::setRelatingProduct(::Ifc4x3_rc1::IfcProductSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssignsToProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[917]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssignsToProduct::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[917]); } Ifc4x3_rc1::IfcRelAssignsToProduct::IfcRelAssignsToProduct(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_rc1::IfcRelAssignsToProduct::IfcRelAssignsToProduct(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcProductSelect* v7_RelatingProduct) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProduct ? v7_RelatingProduct->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcRelAssignsToProduct::IfcRelAssignsToProduct(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcProductSelect* v7_RelatingProduct) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProduct ? v7_RelatingProduct->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToResource -::Ifc4x3_rc1::IfcResourceSelect* Ifc4x3_rc1::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcResourceSelect>(true); } +::Ifc4x3_rc1::IfcResourceSelect* Ifc4x3_rc1::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcResourceSelect>(true); } void Ifc4x3_rc1::IfcRelAssignsToResource::setRelatingResource(::Ifc4x3_rc1::IfcResourceSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssignsToResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[918]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssignsToResource::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[918]); } Ifc4x3_rc1::IfcRelAssignsToResource::IfcRelAssignsToResource(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_rc1::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingResource ? v7_RelatingResource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc1::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc1::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingResource ? v7_RelatingResource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociates -aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr Ifc4x3_rc1::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc1::IfcDefinitionSelect >(); } +aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr Ifc4x3_rc1::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc1::IfcDefinitionSelect >(); } void Ifc4x3_rc1::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociates::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[919]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociates::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[919]); } Ifc4x3_rc1::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_rc1::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelAssociatesApproval -::Ifc4x3_rc1::IfcApproval* Ifc4x3_rc1::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcApproval>(true); } +::Ifc4x3_rc1::IfcApproval* Ifc4x3_rc1::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcApproval>(true); } void Ifc4x3_rc1::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4x3_rc1::IfcApproval* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesApproval::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[920]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesApproval::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[920]); } Ifc4x3_rc1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_rc1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcApproval* v6_RelatingApproval) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingApproval ? v6_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcApproval* v6_RelatingApproval) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingApproval ? v6_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesClassification -::Ifc4x3_rc1::IfcClassificationSelect* Ifc4x3_rc1::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcClassificationSelect>(true); } +::Ifc4x3_rc1::IfcClassificationSelect* Ifc4x3_rc1::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcClassificationSelect>(true); } void Ifc4x3_rc1::IfcRelAssociatesClassification::setRelatingClassification(::Ifc4x3_rc1::IfcClassificationSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesClassification::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[921]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesClassification::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[921]); } Ifc4x3_rc1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_rc1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingClassification ? v6_RelatingClassification->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingClassification ? v6_RelatingClassification->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesConstraint -boost::optional< std::string > Ifc4x3_rc1::IfcRelAssociatesConstraint::Intent() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcRelAssociatesConstraint::Intent() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcRelAssociatesConstraint::setIntent(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc1::IfcConstraint* Ifc4x3_rc1::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcConstraint>(true); } +::Ifc4x3_rc1::IfcConstraint* Ifc4x3_rc1::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcConstraint>(true); } void Ifc4x3_rc1::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x3_rc1::IfcConstraint* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesConstraint::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[922]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesConstraint::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[922]); } Ifc4x3_rc1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_rc1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc1::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, v7_RelatingConstraint ? v7_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc1::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, v7_RelatingConstraint ? v7_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesDocument -::Ifc4x3_rc1::IfcDocumentSelect* Ifc4x3_rc1::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcDocumentSelect>(true); } +::Ifc4x3_rc1::IfcDocumentSelect* Ifc4x3_rc1::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcDocumentSelect>(true); } void Ifc4x3_rc1::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4x3_rc1::IfcDocumentSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesDocument::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[923]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesDocument::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[923]); } Ifc4x3_rc1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_rc1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingDocument ? v6_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingDocument ? v6_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesLibrary -::Ifc4x3_rc1::IfcLibrarySelect* Ifc4x3_rc1::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcLibrarySelect>(true); } +::Ifc4x3_rc1::IfcLibrarySelect* Ifc4x3_rc1::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcLibrarySelect>(true); } void Ifc4x3_rc1::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4x3_rc1::IfcLibrarySelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesLibrary::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[924]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesLibrary::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[924]); } Ifc4x3_rc1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_rc1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingLibrary ? v6_RelatingLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingLibrary ? v6_RelatingLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesMaterial -::Ifc4x3_rc1::IfcMaterialSelect* Ifc4x3_rc1::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcMaterialSelect>(true); } +::Ifc4x3_rc1::IfcMaterialSelect* Ifc4x3_rc1::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcMaterialSelect>(true); } void Ifc4x3_rc1::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4x3_rc1::IfcMaterialSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesMaterial::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[925]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesMaterial::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[925]); } Ifc4x3_rc1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_rc1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingMaterial ? v6_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingMaterial ? v6_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesProfileDef -::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcProfileDef>(true); } +::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcProfileDef>(true); } void Ifc4x3_rc1::IfcRelAssociatesProfileDef::setRelatingProfileDef(::Ifc4x3_rc1::IfcProfileDef* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[926]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelAssociatesProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[926]); } Ifc4x3_rc1::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_rc1::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingProfileDef ? v6_RelatingProfileDef->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingProfileDef ? v6_RelatingProfileDef->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnects @@ -14824,165 +14824,165 @@ Ifc4x3_rc1::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v const IfcParse::entity& Ifc4x3_rc1::IfcRelConnects::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[928]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelConnects::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[928]); } Ifc4x3_rc1::IfcRelConnects::IfcRelConnects(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_rc1::IfcRelConnects::IfcRelConnects(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc1::IfcRelConnects::IfcRelConnects(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRelConnectsElements -::Ifc4x3_rc1::IfcConnectionGeometry* Ifc4x3_rc1::IfcRelConnectsElements::ConnectionGeometry() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcConnectionGeometry>(true); } +::Ifc4x3_rc1::IfcConnectionGeometry* Ifc4x3_rc1::IfcRelConnectsElements::ConnectionGeometry() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcConnectionGeometry>(true); } void Ifc4x3_rc1::IfcRelConnectsElements::setConnectionGeometry(::Ifc4x3_rc1::IfcConnectionGeometry* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcElement* Ifc4x3_rc1::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcElement>(true); } +::Ifc4x3_rc1::IfcElement* Ifc4x3_rc1::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcElement>(true); } void Ifc4x3_rc1::IfcRelConnectsElements::setRelatingElement(::Ifc4x3_rc1::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc1::IfcElement* Ifc4x3_rc1::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcElement>(true); } +::Ifc4x3_rc1::IfcElement* Ifc4x3_rc1::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcElement>(true); } void Ifc4x3_rc1::IfcRelConnectsElements::setRelatedElement(::Ifc4x3_rc1::IfcElement* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc1::IfcRelConnectsElements::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[929]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelConnectsElements::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[929]); } Ifc4x3_rc1::IfcRelConnectsElements::IfcRelConnectsElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc1::IfcRelConnectsElements::IfcRelConnectsElements(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_rc1::IfcElement* v6_RelatingElement, ::Ifc4x3_rc1::IfcElement* v7_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcRelConnectsElements::IfcRelConnectsElements(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_rc1::IfcElement* v6_RelatingElement, ::Ifc4x3_rc1::IfcElement* v7_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsPathElements -std::vector< int > /*[0:?]*/ Ifc4x3_rc1::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = data_.get_attribute_value(7); return v; } +std::vector< int > /*[0:?]*/ Ifc4x3_rc1::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcRelConnectsPathElements::setRelatingPriorities(std::vector< int > /*[0:?]*/ v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector< int > /*[0:?]*/ Ifc4x3_rc1::IfcRelConnectsPathElements::RelatedPriorities() const { std::vector< int > /*[0:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< int > /*[0:?]*/ Ifc4x3_rc1::IfcRelConnectsPathElements::RelatedPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcRelConnectsPathElements::setRelatedPriorities(std::vector< int > /*[0:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc1::IfcConnectionTypeEnum::Value Ifc4x3_rc1::IfcRelConnectsPathElements::RelatedConnectionType() const { return ::Ifc4x3_rc1::IfcConnectionTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcConnectionTypeEnum::Value Ifc4x3_rc1::IfcRelConnectsPathElements::RelatedConnectionType() const { return ::Ifc4x3_rc1::IfcConnectionTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcRelConnectsPathElements::setRelatedConnectionType(::Ifc4x3_rc1::IfcConnectionTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc1::IfcConnectionTypeEnum::Value Ifc4x3_rc1::IfcRelConnectsPathElements::RelatingConnectionType() const { return ::Ifc4x3_rc1::IfcConnectionTypeEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3_rc1::IfcConnectionTypeEnum::Value Ifc4x3_rc1::IfcRelConnectsPathElements::RelatingConnectionType() const { return ::Ifc4x3_rc1::IfcConnectionTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc1::IfcRelConnectsPathElements::setRelatingConnectionType(::Ifc4x3_rc1::IfcConnectionTypeEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc1::IfcConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_rc1::IfcRelConnectsPathElements::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[930]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelConnectsPathElements::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[930]); } Ifc4x3_rc1::IfcRelConnectsPathElements::IfcRelConnectsPathElements(IfcEntityInstanceData&& e) : IfcRelConnectsElements(std::move(e)) { } -Ifc4x3_rc1::IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_rc1::IfcElement* v6_RelatingElement, ::Ifc4x3_rc1::IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_rc1::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_rc1::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; populate_derived(); } +Ifc4x3_rc1::IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_rc1::IfcElement* v6_RelatingElement, ::Ifc4x3_rc1::IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_rc1::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_rc1::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; populate_derived(); } // Function implementations for IfcRelConnectsPortToElement -::Ifc4x3_rc1::IfcPort* Ifc4x3_rc1::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcPort>(true); } +::Ifc4x3_rc1::IfcPort* Ifc4x3_rc1::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcPort>(true); } void Ifc4x3_rc1::IfcRelConnectsPortToElement::setRelatingPort(::Ifc4x3_rc1::IfcPort* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcDistributionElement* Ifc4x3_rc1::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcDistributionElement>(true); } +::Ifc4x3_rc1::IfcDistributionElement* Ifc4x3_rc1::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcDistributionElement>(true); } void Ifc4x3_rc1::IfcRelConnectsPortToElement::setRelatedElement(::Ifc4x3_rc1::IfcDistributionElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcRelConnectsPortToElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[932]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelConnectsPortToElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[932]); } Ifc4x3_rc1::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc1::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcPort* v5_RelatingPort, ::Ifc4x3_rc1::IfcDistributionElement* v6_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcPort* v5_RelatingPort, ::Ifc4x3_rc1::IfcDistributionElement* v6_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsPorts -::Ifc4x3_rc1::IfcPort* Ifc4x3_rc1::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcPort>(true); } +::Ifc4x3_rc1::IfcPort* Ifc4x3_rc1::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcPort>(true); } void Ifc4x3_rc1::IfcRelConnectsPorts::setRelatingPort(::Ifc4x3_rc1::IfcPort* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcPort* Ifc4x3_rc1::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcPort>(true); } +::Ifc4x3_rc1::IfcPort* Ifc4x3_rc1::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcPort>(true); } void Ifc4x3_rc1::IfcRelConnectsPorts::setRelatedPort(::Ifc4x3_rc1::IfcPort* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc1::IfcElement* Ifc4x3_rc1::IfcRelConnectsPorts::RealizingElement() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcElement>(true); } +::Ifc4x3_rc1::IfcElement* Ifc4x3_rc1::IfcRelConnectsPorts::RealizingElement() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcElement>(true); } void Ifc4x3_rc1::IfcRelConnectsPorts::setRealizingElement(::Ifc4x3_rc1::IfcElement* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc1::IfcRelConnectsPorts::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[931]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelConnectsPorts::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[931]); } Ifc4x3_rc1::IfcRelConnectsPorts::IfcRelConnectsPorts(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc1::IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcPort* v5_RelatingPort, ::Ifc4x3_rc1::IfcPort* v6_RelatedPort, ::Ifc4x3_rc1::IfcElement* v7_RealizingElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedPort ? v6_RelatedPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RealizingElement ? v7_RealizingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcPort* v5_RelatingPort, ::Ifc4x3_rc1::IfcPort* v6_RelatedPort, ::Ifc4x3_rc1::IfcElement* v7_RealizingElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedPort ? v6_RelatedPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RealizingElement ? v7_RealizingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsStructuralActivity -::Ifc4x3_rc1::IfcStructuralActivityAssignmentSelect* Ifc4x3_rc1::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcStructuralActivityAssignmentSelect>(true); } +::Ifc4x3_rc1::IfcStructuralActivityAssignmentSelect* Ifc4x3_rc1::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcStructuralActivityAssignmentSelect>(true); } void Ifc4x3_rc1::IfcRelConnectsStructuralActivity::setRelatingElement(::Ifc4x3_rc1::IfcStructuralActivityAssignmentSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcStructuralActivity* Ifc4x3_rc1::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcStructuralActivity>(true); } +::Ifc4x3_rc1::IfcStructuralActivity* Ifc4x3_rc1::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcStructuralActivity>(true); } void Ifc4x3_rc1::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(::Ifc4x3_rc1::IfcStructuralActivity* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcRelConnectsStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[933]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelConnectsStructuralActivity::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[933]); } Ifc4x3_rc1::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc1::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcStructuralActivityAssignmentSelect* v5_RelatingElement, ::Ifc4x3_rc1::IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralActivity ? v6_RelatedStructuralActivity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcStructuralActivityAssignmentSelect* v5_RelatingElement, ::Ifc4x3_rc1::IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralActivity ? v6_RelatedStructuralActivity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsStructuralMember -::Ifc4x3_rc1::IfcStructuralMember* Ifc4x3_rc1::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcStructuralMember>(true); } +::Ifc4x3_rc1::IfcStructuralMember* Ifc4x3_rc1::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcStructuralMember>(true); } void Ifc4x3_rc1::IfcRelConnectsStructuralMember::setRelatingStructuralMember(::Ifc4x3_rc1::IfcStructuralMember* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcStructuralConnection* Ifc4x3_rc1::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcStructuralConnection>(true); } +::Ifc4x3_rc1::IfcStructuralConnection* Ifc4x3_rc1::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcStructuralConnection>(true); } void Ifc4x3_rc1::IfcRelConnectsStructuralMember::setRelatedStructuralConnection(::Ifc4x3_rc1::IfcStructuralConnection* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc1::IfcBoundaryCondition* Ifc4x3_rc1::IfcRelConnectsStructuralMember::AppliedCondition() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcBoundaryCondition>(true); } +::Ifc4x3_rc1::IfcBoundaryCondition* Ifc4x3_rc1::IfcRelConnectsStructuralMember::AppliedCondition() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcBoundaryCondition>(true); } void Ifc4x3_rc1::IfcRelConnectsStructuralMember::setAppliedCondition(::Ifc4x3_rc1::IfcBoundaryCondition* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc1::IfcStructuralConnectionCondition* Ifc4x3_rc1::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc1::IfcStructuralConnectionCondition>(true); } +::Ifc4x3_rc1::IfcStructuralConnectionCondition* Ifc4x3_rc1::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc1::IfcStructuralConnectionCondition>(true); } void Ifc4x3_rc1::IfcRelConnectsStructuralMember::setAdditionalConditions(::Ifc4x3_rc1::IfcStructuralConnectionCondition* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc4x3_rc1::IfcRelConnectsStructuralMember::SupportedLength() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc1::IfcRelConnectsStructuralMember::SupportedLength() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(true); } void Ifc4x3_rc1::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(::Ifc4x3_rc1::IfcAxis2Placement3D* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcRelConnectsStructuralMember::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[934]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelConnectsStructuralMember::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[934]); } Ifc4x3_rc1::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc1::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x3_rc1::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x3_rc1::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x3_rc1::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x3_rc1::IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x3_rc1::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x3_rc1::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x3_rc1::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x3_rc1::IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsWithEccentricity -::Ifc4x3_rc1::IfcConnectionGeometry* Ifc4x3_rc1::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_rc1::IfcConnectionGeometry>(true); } +::Ifc4x3_rc1::IfcConnectionGeometry* Ifc4x3_rc1::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_rc1::IfcConnectionGeometry>(true); } void Ifc4x3_rc1::IfcRelConnectsWithEccentricity::setConnectionConstraint(::Ifc4x3_rc1::IfcConnectionGeometry* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_rc1::IfcRelConnectsWithEccentricity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[935]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelConnectsWithEccentricity::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[935]); } Ifc4x3_rc1::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(IfcEntityInstanceData&& e) : IfcRelConnectsStructuralMember(std::move(e)) { } -Ifc4x3_rc1::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x3_rc1::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x3_rc1::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x3_rc1::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x3_rc1::IfcAxis2Placement3D* v10_ConditionCoordinateSystem, ::Ifc4x3_rc1::IfcConnectionGeometry* v11_ConnectionConstraint) : IfcRelConnectsStructuralMember(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ConnectionConstraint ? v11_ConnectionConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x3_rc1::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x3_rc1::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x3_rc1::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x3_rc1::IfcAxis2Placement3D* v10_ConditionCoordinateSystem, ::Ifc4x3_rc1::IfcConnectionGeometry* v11_ConnectionConstraint) : IfcRelConnectsStructuralMember(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ConnectionConstraint ? v11_ConnectionConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsWithRealizingElements -aggregate_of< ::Ifc4x3_rc1::IfcElement >::ptr Ifc4x3_rc1::IfcRelConnectsWithRealizingElements::RealizingElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc1::IfcElement >(); } +aggregate_of< ::Ifc4x3_rc1::IfcElement >::ptr Ifc4x3_rc1::IfcRelConnectsWithRealizingElements::RealizingElements() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc1::IfcElement >(); } void Ifc4x3_rc1::IfcRelConnectsWithRealizingElements::setRealizingElements(aggregate_of< ::Ifc4x3_rc1::IfcElement >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc4x3_rc1::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcRelConnectsWithRealizingElements::setConnectionType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcRelConnectsWithRealizingElements::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[936]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelConnectsWithRealizingElements::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[936]); } Ifc4x3_rc1::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(IfcEntityInstanceData&& e) : IfcRelConnectsElements(std::move(e)) { } -Ifc4x3_rc1::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_rc1::IfcElement* v6_RelatingElement, ::Ifc4x3_rc1::IfcElement* v7_RelatedElement, aggregate_of< ::Ifc4x3_rc1::IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RealizingElements)->generalize()); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; populate_derived(); } +Ifc4x3_rc1::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_rc1::IfcElement* v6_RelatingElement, ::Ifc4x3_rc1::IfcElement* v7_RelatedElement, aggregate_of< ::Ifc4x3_rc1::IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RealizingElements)->generalize()); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; populate_derived(); } // Function implementations for IfcRelContainedInSpatialStructure -aggregate_of< ::Ifc4x3_rc1::IfcProduct >::ptr Ifc4x3_rc1::IfcRelContainedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc1::IfcProduct >(); } +aggregate_of< ::Ifc4x3_rc1::IfcProduct >::ptr Ifc4x3_rc1::IfcRelContainedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc1::IfcProduct >(); } void Ifc4x3_rc1::IfcRelContainedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_rc1::IfcProduct >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcSpatialElement* Ifc4x3_rc1::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcSpatialElement>(true); } +::Ifc4x3_rc1::IfcSpatialElement* Ifc4x3_rc1::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcSpatialElement>(true); } void Ifc4x3_rc1::IfcRelContainedInSpatialStructure::setRelatingStructure(::Ifc4x3_rc1::IfcSpatialElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcRelContainedInSpatialStructure::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[937]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelContainedInSpatialStructure::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[937]); } Ifc4x3_rc1::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc1::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcProduct >::ptr v5_RelatedElements, ::Ifc4x3_rc1::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcProduct >::ptr v5_RelatedElements, ::Ifc4x3_rc1::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelCoversBldgElements -::Ifc4x3_rc1::IfcElement* Ifc4x3_rc1::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcElement>(true); } +::Ifc4x3_rc1::IfcElement* Ifc4x3_rc1::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcElement>(true); } void Ifc4x3_rc1::IfcRelCoversBldgElements::setRelatingBuildingElement(::Ifc4x3_rc1::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_rc1::IfcCovering >::ptr Ifc4x3_rc1::IfcRelCoversBldgElements::RelatedCoverings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc1::IfcCovering >(); } +aggregate_of< ::Ifc4x3_rc1::IfcCovering >::ptr Ifc4x3_rc1::IfcRelCoversBldgElements::RelatedCoverings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc1::IfcCovering >(); } void Ifc4x3_rc1::IfcRelCoversBldgElements::setRelatedCoverings(aggregate_of< ::Ifc4x3_rc1::IfcCovering >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcRelCoversBldgElements::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[938]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelCoversBldgElements::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[938]); } Ifc4x3_rc1::IfcRelCoversBldgElements::IfcRelCoversBldgElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc1::IfcRelCoversBldgElements::IfcRelCoversBldgElements(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcElement* v5_RelatingBuildingElement, aggregate_of< ::Ifc4x3_rc1::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcRelCoversBldgElements::IfcRelCoversBldgElements(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcElement* v5_RelatingBuildingElement, aggregate_of< ::Ifc4x3_rc1::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } // Function implementations for IfcRelCoversSpaces -::Ifc4x3_rc1::IfcSpace* Ifc4x3_rc1::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcSpace>(true); } +::Ifc4x3_rc1::IfcSpace* Ifc4x3_rc1::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcSpace>(true); } void Ifc4x3_rc1::IfcRelCoversSpaces::setRelatingSpace(::Ifc4x3_rc1::IfcSpace* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_rc1::IfcCovering >::ptr Ifc4x3_rc1::IfcRelCoversSpaces::RelatedCoverings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc1::IfcCovering >(); } +aggregate_of< ::Ifc4x3_rc1::IfcCovering >::ptr Ifc4x3_rc1::IfcRelCoversSpaces::RelatedCoverings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc1::IfcCovering >(); } void Ifc4x3_rc1::IfcRelCoversSpaces::setRelatedCoverings(aggregate_of< ::Ifc4x3_rc1::IfcCovering >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcRelCoversSpaces::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[939]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelCoversSpaces::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[939]); } Ifc4x3_rc1::IfcRelCoversSpaces::IfcRelCoversSpaces(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc1::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcSpace* v5_RelatingSpace, aggregate_of< ::Ifc4x3_rc1::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcSpace* v5_RelatingSpace, aggregate_of< ::Ifc4x3_rc1::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } // Function implementations for IfcRelDeclares -::Ifc4x3_rc1::IfcContext* Ifc4x3_rc1::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcContext>(true); } +::Ifc4x3_rc1::IfcContext* Ifc4x3_rc1::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcContext>(true); } void Ifc4x3_rc1::IfcRelDeclares::setRelatingContext(::Ifc4x3_rc1::IfcContext* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr Ifc4x3_rc1::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc1::IfcDefinitionSelect >(); } +aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr Ifc4x3_rc1::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc1::IfcDefinitionSelect >(); } void Ifc4x3_rc1::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcRelDeclares::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[940]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelDeclares::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[940]); } Ifc4x3_rc1::IfcRelDeclares::IfcRelDeclares(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_rc1::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingContext ? v5_RelatingContext->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedDefinitions)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_rc1::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingContext ? v5_RelatingContext->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedDefinitions)->generalize());; populate_derived(); } // Function implementations for IfcRelDecomposes @@ -14990,7 +14990,7 @@ Ifc4x3_rc1::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_rc1 const IfcParse::entity& Ifc4x3_rc1::IfcRelDecomposes::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[941]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelDecomposes::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[941]); } Ifc4x3_rc1::IfcRelDecomposes::IfcRelDecomposes(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_rc1::IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc1::IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRelDefines @@ -14998,196 +14998,196 @@ Ifc4x3_rc1::IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, ::Ifc4x3 const IfcParse::entity& Ifc4x3_rc1::IfcRelDefines::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[942]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelDefines::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[942]); } Ifc4x3_rc1::IfcRelDefines::IfcRelDefines(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_rc1::IfcRelDefines::IfcRelDefines(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc1::IfcRelDefines::IfcRelDefines(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRelDefinesByObject -aggregate_of< ::Ifc4x3_rc1::IfcObject >::ptr Ifc4x3_rc1::IfcRelDefinesByObject::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc1::IfcObject >(); } +aggregate_of< ::Ifc4x3_rc1::IfcObject >::ptr Ifc4x3_rc1::IfcRelDefinesByObject::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc1::IfcObject >(); } void Ifc4x3_rc1::IfcRelDefinesByObject::setRelatedObjects(aggregate_of< ::Ifc4x3_rc1::IfcObject >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcObject* Ifc4x3_rc1::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcObject>(true); } +::Ifc4x3_rc1::IfcObject* Ifc4x3_rc1::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcObject>(true); } void Ifc4x3_rc1::IfcRelDefinesByObject::setRelatingObject(::Ifc4x3_rc1::IfcObject* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcRelDefinesByObject::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[943]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelDefinesByObject::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[943]); } Ifc4x3_rc1::IfcRelDefinesByObject::IfcRelDefinesByObject(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x3_rc1::IfcRelDefinesByObject::IfcRelDefinesByObject(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcObject* v6_RelatingObject) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingObject ? v6_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcRelDefinesByObject::IfcRelDefinesByObject(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcObject* v6_RelatingObject) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingObject ? v6_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelDefinesByProperties -aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr Ifc4x3_rc1::IfcRelDefinesByProperties::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc1::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr Ifc4x3_rc1::IfcRelDefinesByProperties::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc1::IfcObjectDefinition >(); } void Ifc4x3_rc1::IfcRelDefinesByProperties::setRelatedObjects(aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcPropertySetDefinitionSelect* Ifc4x3_rc1::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcPropertySetDefinitionSelect>(true); } +::Ifc4x3_rc1::IfcPropertySetDefinitionSelect* Ifc4x3_rc1::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcPropertySetDefinitionSelect>(true); } void Ifc4x3_rc1::IfcRelDefinesByProperties::setRelatingPropertyDefinition(::Ifc4x3_rc1::IfcPropertySetDefinitionSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcRelDefinesByProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[944]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelDefinesByProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[944]); } Ifc4x3_rc1::IfcRelDefinesByProperties::IfcRelDefinesByProperties(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x3_rc1::IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcPropertySetDefinitionSelect* v6_RelatingPropertyDefinition) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingPropertyDefinition ? v6_RelatingPropertyDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcPropertySetDefinitionSelect* v6_RelatingPropertyDefinition) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingPropertyDefinition ? v6_RelatingPropertyDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelDefinesByTemplate -aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr Ifc4x3_rc1::IfcRelDefinesByTemplate::RelatedPropertySets() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc1::IfcPropertySetDefinition >(); } +aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr Ifc4x3_rc1::IfcRelDefinesByTemplate::RelatedPropertySets() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc1::IfcPropertySetDefinition >(); } void Ifc4x3_rc1::IfcRelDefinesByTemplate::setRelatedPropertySets(aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcPropertySetTemplate* Ifc4x3_rc1::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcPropertySetTemplate>(true); } +::Ifc4x3_rc1::IfcPropertySetTemplate* Ifc4x3_rc1::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcPropertySetTemplate>(true); } void Ifc4x3_rc1::IfcRelDefinesByTemplate::setRelatingTemplate(::Ifc4x3_rc1::IfcPropertySetTemplate* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcRelDefinesByTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[945]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelDefinesByTemplate::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[945]); } Ifc4x3_rc1::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x3_rc1::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr v5_RelatedPropertySets, ::Ifc4x3_rc1::IfcPropertySetTemplate* v6_RelatingTemplate) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedPropertySets)->generalize());set_attribute_value(5, v6_RelatingTemplate ? v6_RelatingTemplate->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr v5_RelatedPropertySets, ::Ifc4x3_rc1::IfcPropertySetTemplate* v6_RelatingTemplate) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedPropertySets)->generalize());set_attribute_value(5, v6_RelatingTemplate ? v6_RelatingTemplate->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelDefinesByType -aggregate_of< ::Ifc4x3_rc1::IfcObject >::ptr Ifc4x3_rc1::IfcRelDefinesByType::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc1::IfcObject >(); } +aggregate_of< ::Ifc4x3_rc1::IfcObject >::ptr Ifc4x3_rc1::IfcRelDefinesByType::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc1::IfcObject >(); } void Ifc4x3_rc1::IfcRelDefinesByType::setRelatedObjects(aggregate_of< ::Ifc4x3_rc1::IfcObject >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcTypeObject* Ifc4x3_rc1::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcTypeObject>(true); } +::Ifc4x3_rc1::IfcTypeObject* Ifc4x3_rc1::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcTypeObject>(true); } void Ifc4x3_rc1::IfcRelDefinesByType::setRelatingType(::Ifc4x3_rc1::IfcTypeObject* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcRelDefinesByType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[946]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelDefinesByType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[946]); } Ifc4x3_rc1::IfcRelDefinesByType::IfcRelDefinesByType(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x3_rc1::IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcTypeObject* v6_RelatingType) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingType ? v6_RelatingType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3_rc1::IfcTypeObject* v6_RelatingType) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingType ? v6_RelatingType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelFillsElement -::Ifc4x3_rc1::IfcOpeningElement* Ifc4x3_rc1::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcOpeningElement>(true); } +::Ifc4x3_rc1::IfcOpeningElement* Ifc4x3_rc1::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcOpeningElement>(true); } void Ifc4x3_rc1::IfcRelFillsElement::setRelatingOpeningElement(::Ifc4x3_rc1::IfcOpeningElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcElement* Ifc4x3_rc1::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcElement>(true); } +::Ifc4x3_rc1::IfcElement* Ifc4x3_rc1::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcElement>(true); } void Ifc4x3_rc1::IfcRelFillsElement::setRelatedBuildingElement(::Ifc4x3_rc1::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcRelFillsElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[947]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelFillsElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[947]); } Ifc4x3_rc1::IfcRelFillsElement::IfcRelFillsElement(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc1::IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcOpeningElement* v5_RelatingOpeningElement, ::Ifc4x3_rc1::IfcElement* v6_RelatedBuildingElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingOpeningElement ? v5_RelatingOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcOpeningElement* v5_RelatingOpeningElement, ::Ifc4x3_rc1::IfcElement* v6_RelatedBuildingElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingOpeningElement ? v5_RelatingOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelFlowControlElements -aggregate_of< ::Ifc4x3_rc1::IfcDistributionControlElement >::ptr Ifc4x3_rc1::IfcRelFlowControlElements::RelatedControlElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc1::IfcDistributionControlElement >(); } +aggregate_of< ::Ifc4x3_rc1::IfcDistributionControlElement >::ptr Ifc4x3_rc1::IfcRelFlowControlElements::RelatedControlElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc1::IfcDistributionControlElement >(); } void Ifc4x3_rc1::IfcRelFlowControlElements::setRelatedControlElements(aggregate_of< ::Ifc4x3_rc1::IfcDistributionControlElement >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcDistributionFlowElement* Ifc4x3_rc1::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcDistributionFlowElement>(true); } +::Ifc4x3_rc1::IfcDistributionFlowElement* Ifc4x3_rc1::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcDistributionFlowElement>(true); } void Ifc4x3_rc1::IfcRelFlowControlElements::setRelatingFlowElement(::Ifc4x3_rc1::IfcDistributionFlowElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcRelFlowControlElements::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[948]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelFlowControlElements::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[948]); } Ifc4x3_rc1::IfcRelFlowControlElements::IfcRelFlowControlElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc1::IfcRelFlowControlElements::IfcRelFlowControlElements(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDistributionControlElement >::ptr v5_RelatedControlElements, ::Ifc4x3_rc1::IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedControlElements)->generalize());set_attribute_value(5, v6_RelatingFlowElement ? v6_RelatingFlowElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcRelFlowControlElements::IfcRelFlowControlElements(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcDistributionControlElement >::ptr v5_RelatedControlElements, ::Ifc4x3_rc1::IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedControlElements)->generalize());set_attribute_value(5, v6_RelatingFlowElement ? v6_RelatingFlowElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelInterferesElements -::Ifc4x3_rc1::IfcInterferenceSelect* Ifc4x3_rc1::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcInterferenceSelect>(true); } +::Ifc4x3_rc1::IfcInterferenceSelect* Ifc4x3_rc1::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcInterferenceSelect>(true); } void Ifc4x3_rc1::IfcRelInterferesElements::setRelatingElement(::Ifc4x3_rc1::IfcInterferenceSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcInterferenceSelect* Ifc4x3_rc1::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcInterferenceSelect>(true); } +::Ifc4x3_rc1::IfcInterferenceSelect* Ifc4x3_rc1::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcInterferenceSelect>(true); } void Ifc4x3_rc1::IfcRelInterferesElements::setRelatedElement(::Ifc4x3_rc1::IfcInterferenceSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc1::IfcConnectionGeometry* Ifc4x3_rc1::IfcRelInterferesElements::InterferenceGeometry() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcConnectionGeometry>(true); } +::Ifc4x3_rc1::IfcConnectionGeometry* Ifc4x3_rc1::IfcRelInterferesElements::InterferenceGeometry() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcConnectionGeometry>(true); } void Ifc4x3_rc1::IfcRelInterferesElements::setInterferenceGeometry(::Ifc4x3_rc1::IfcConnectionGeometry* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< std::string > Ifc4x3_rc1::IfcRelInterferesElements::InterferenceType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcRelInterferesElements::InterferenceType() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcRelInterferesElements::setInterferenceType(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::logic::tribool Ifc4x3_rc1::IfcRelInterferesElements::ImpliedOrder() const { boost::logic::tribool v = data_.get_attribute_value(8); return v; } +boost::logic::tribool Ifc4x3_rc1::IfcRelInterferesElements::ImpliedOrder() const { boost::logic::tribool v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcRelInterferesElements::setImpliedOrder(boost::logic::tribool v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc1::IfcRelInterferesElements::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[949]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelInterferesElements::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[949]); } Ifc4x3_rc1::IfcRelInterferesElements::IfcRelInterferesElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc1::IfcRelInterferesElements::IfcRelInterferesElements(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcInterferenceSelect* v5_RelatingElement, ::Ifc4x3_rc1::IfcInterferenceSelect* v6_RelatedElement, ::Ifc4x3_rc1::IfcConnectionGeometry* v7_InterferenceGeometry, boost::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder) : IfcRelConnects(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_InterferenceGeometry ? v7_InterferenceGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder));; populate_derived(); } +Ifc4x3_rc1::IfcRelInterferesElements::IfcRelInterferesElements(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcInterferenceSelect* v5_RelatingElement, ::Ifc4x3_rc1::IfcInterferenceSelect* v6_RelatedElement, ::Ifc4x3_rc1::IfcConnectionGeometry* v7_InterferenceGeometry, boost::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_InterferenceGeometry ? v7_InterferenceGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder));; populate_derived(); } // Function implementations for IfcRelNests -::Ifc4x3_rc1::IfcObjectDefinition* Ifc4x3_rc1::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcObjectDefinition>(true); } +::Ifc4x3_rc1::IfcObjectDefinition* Ifc4x3_rc1::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcObjectDefinition>(true); } void Ifc4x3_rc1::IfcRelNests::setRelatingObject(::Ifc4x3_rc1::IfcObjectDefinition* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr Ifc4x3_rc1::IfcRelNests::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc1::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr Ifc4x3_rc1::IfcRelNests::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc1::IfcObjectDefinition >(); } void Ifc4x3_rc1::IfcRelNests::setRelatedObjects(aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcRelNests::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[950]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelNests::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[950]); } Ifc4x3_rc1::IfcRelNests::IfcRelNests(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x3_rc1::IfcRelNests::IfcRelNests(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcRelNests::IfcRelNests(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x3_rc1::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelPositions -::Ifc4x3_rc1::IfcPositioningElement* Ifc4x3_rc1::IfcRelPositions::RelatingPositioningElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcPositioningElement>(true); } +::Ifc4x3_rc1::IfcPositioningElement* Ifc4x3_rc1::IfcRelPositions::RelatingPositioningElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcPositioningElement>(true); } void Ifc4x3_rc1::IfcRelPositions::setRelatingPositioningElement(::Ifc4x3_rc1::IfcPositioningElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_rc1::IfcProduct >::ptr Ifc4x3_rc1::IfcRelPositions::RelatedProducts() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc1::IfcProduct >(); } +aggregate_of< ::Ifc4x3_rc1::IfcProduct >::ptr Ifc4x3_rc1::IfcRelPositions::RelatedProducts() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc1::IfcProduct >(); } void Ifc4x3_rc1::IfcRelPositions::setRelatedProducts(aggregate_of< ::Ifc4x3_rc1::IfcProduct >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcRelPositions::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[951]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelPositions::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[951]); } Ifc4x3_rc1::IfcRelPositions::IfcRelPositions(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc1::IfcRelPositions::IfcRelPositions(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcPositioningElement* v5_RelatingPositioningElement, aggregate_of< ::Ifc4x3_rc1::IfcProduct >::ptr v6_RelatedProducts) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPositioningElement ? v5_RelatingPositioningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedProducts)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcRelPositions::IfcRelPositions(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcPositioningElement* v5_RelatingPositioningElement, aggregate_of< ::Ifc4x3_rc1::IfcProduct >::ptr v6_RelatedProducts) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPositioningElement ? v5_RelatingPositioningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedProducts)->generalize());; populate_derived(); } // Function implementations for IfcRelProjectsElement -::Ifc4x3_rc1::IfcElement* Ifc4x3_rc1::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcElement>(true); } +::Ifc4x3_rc1::IfcElement* Ifc4x3_rc1::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcElement>(true); } void Ifc4x3_rc1::IfcRelProjectsElement::setRelatingElement(::Ifc4x3_rc1::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcFeatureElementAddition* Ifc4x3_rc1::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcFeatureElementAddition>(true); } +::Ifc4x3_rc1::IfcFeatureElementAddition* Ifc4x3_rc1::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcFeatureElementAddition>(true); } void Ifc4x3_rc1::IfcRelProjectsElement::setRelatedFeatureElement(::Ifc4x3_rc1::IfcFeatureElementAddition* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcRelProjectsElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[952]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelProjectsElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[952]); } Ifc4x3_rc1::IfcRelProjectsElement::IfcRelProjectsElement(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x3_rc1::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcElement* v5_RelatingElement, ::Ifc4x3_rc1::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedFeatureElement ? v6_RelatedFeatureElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcElement* v5_RelatingElement, ::Ifc4x3_rc1::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedFeatureElement ? v6_RelatedFeatureElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelReferencedInSpatialStructure -aggregate_of< ::Ifc4x3_rc1::IfcSpatialReferenceSelect >::ptr Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc1::IfcSpatialReferenceSelect >(); } +aggregate_of< ::Ifc4x3_rc1::IfcSpatialReferenceSelect >::ptr Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc1::IfcSpatialReferenceSelect >(); } void Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_rc1::IfcSpatialReferenceSelect >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcSpatialElement* Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcSpatialElement>(true); } +::Ifc4x3_rc1::IfcSpatialElement* Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcSpatialElement>(true); } void Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4x3_rc1::IfcSpatialElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[953]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[953]); } Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_rc1::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc1::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_rc1::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelSequence -::Ifc4x3_rc1::IfcProcess* Ifc4x3_rc1::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcProcess>(true); } +::Ifc4x3_rc1::IfcProcess* Ifc4x3_rc1::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcProcess>(true); } void Ifc4x3_rc1::IfcRelSequence::setRelatingProcess(::Ifc4x3_rc1::IfcProcess* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcProcess* Ifc4x3_rc1::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcProcess>(true); } +::Ifc4x3_rc1::IfcProcess* Ifc4x3_rc1::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcProcess>(true); } void Ifc4x3_rc1::IfcRelSequence::setRelatedProcess(::Ifc4x3_rc1::IfcProcess* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc1::IfcLagTime* Ifc4x3_rc1::IfcRelSequence::TimeLag() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcLagTime>(true); } +::Ifc4x3_rc1::IfcLagTime* Ifc4x3_rc1::IfcRelSequence::TimeLag() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcLagTime>(true); } void Ifc4x3_rc1::IfcRelSequence::setTimeLag(::Ifc4x3_rc1::IfcLagTime* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< ::Ifc4x3_rc1::IfcSequenceEnum::Value > Ifc4x3_rc1::IfcRelSequence::SequenceType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSequenceEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_rc1::IfcSequenceEnum::Value > Ifc4x3_rc1::IfcRelSequence::SequenceType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSequenceEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc1::IfcRelSequence::setSequenceType(boost::optional< ::Ifc4x3_rc1::IfcSequenceEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc1::IfcSequenceEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc1::IfcRelSequence::UserDefinedSequenceType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcRelSequence::UserDefinedSequenceType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcRelSequence::setUserDefinedSequenceType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcRelSequence::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[954]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelSequence::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[954]); } Ifc4x3_rc1::IfcRelSequence::IfcRelSequence(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc1::IfcRelSequence::IfcRelSequence(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcProcess* v5_RelatingProcess, ::Ifc4x3_rc1::IfcProcess* v6_RelatedProcess, ::Ifc4x3_rc1::IfcLagTime* v7_TimeLag, boost::optional< ::Ifc4x3_rc1::IfcSequenceEnum::Value > v8_SequenceType, boost::optional< std::string > v9_UserDefinedSequenceType) : IfcRelConnects(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingProcess ? v5_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedProcess ? v6_RelatedProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_TimeLag ? v7_TimeLag->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_SequenceType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); }; populate_derived(); } +Ifc4x3_rc1::IfcRelSequence::IfcRelSequence(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcProcess* v5_RelatingProcess, ::Ifc4x3_rc1::IfcProcess* v6_RelatedProcess, ::Ifc4x3_rc1::IfcLagTime* v7_TimeLag, boost::optional< ::Ifc4x3_rc1::IfcSequenceEnum::Value > v8_SequenceType, boost::optional< std::string > v9_UserDefinedSequenceType) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingProcess ? v5_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedProcess ? v6_RelatedProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_TimeLag ? v7_TimeLag->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_SequenceType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); }; populate_derived(); } // Function implementations for IfcRelServicesBuildings -::Ifc4x3_rc1::IfcSystem* Ifc4x3_rc1::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcSystem>(true); } +::Ifc4x3_rc1::IfcSystem* Ifc4x3_rc1::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcSystem>(true); } void Ifc4x3_rc1::IfcRelServicesBuildings::setRelatingSystem(::Ifc4x3_rc1::IfcSystem* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_rc1::IfcSpatialElement >::ptr Ifc4x3_rc1::IfcRelServicesBuildings::RelatedBuildings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc1::IfcSpatialElement >(); } +aggregate_of< ::Ifc4x3_rc1::IfcSpatialElement >::ptr Ifc4x3_rc1::IfcRelServicesBuildings::RelatedBuildings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc1::IfcSpatialElement >(); } void Ifc4x3_rc1::IfcRelServicesBuildings::setRelatedBuildings(aggregate_of< ::Ifc4x3_rc1::IfcSpatialElement >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcRelServicesBuildings::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[955]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelServicesBuildings::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[955]); } Ifc4x3_rc1::IfcRelServicesBuildings::IfcRelServicesBuildings(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc1::IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcSystem* v5_RelatingSystem, aggregate_of< ::Ifc4x3_rc1::IfcSpatialElement >::ptr v6_RelatedBuildings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSystem ? v5_RelatingSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedBuildings)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcSystem* v5_RelatingSystem, aggregate_of< ::Ifc4x3_rc1::IfcSpatialElement >::ptr v6_RelatedBuildings) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSystem ? v5_RelatingSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedBuildings)->generalize());; populate_derived(); } // Function implementations for IfcRelSpaceBoundary -::Ifc4x3_rc1::IfcSpaceBoundarySelect* Ifc4x3_rc1::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcSpaceBoundarySelect>(true); } +::Ifc4x3_rc1::IfcSpaceBoundarySelect* Ifc4x3_rc1::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcSpaceBoundarySelect>(true); } void Ifc4x3_rc1::IfcRelSpaceBoundary::setRelatingSpace(::Ifc4x3_rc1::IfcSpaceBoundarySelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcElement* Ifc4x3_rc1::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcElement>(true); } +::Ifc4x3_rc1::IfcElement* Ifc4x3_rc1::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcElement>(true); } void Ifc4x3_rc1::IfcRelSpaceBoundary::setRelatedBuildingElement(::Ifc4x3_rc1::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc1::IfcConnectionGeometry* Ifc4x3_rc1::IfcRelSpaceBoundary::ConnectionGeometry() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcConnectionGeometry>(true); } +::Ifc4x3_rc1::IfcConnectionGeometry* Ifc4x3_rc1::IfcRelSpaceBoundary::ConnectionGeometry() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcConnectionGeometry>(true); } void Ifc4x3_rc1::IfcRelSpaceBoundary::setConnectionGeometry(::Ifc4x3_rc1::IfcConnectionGeometry* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value Ifc4x3_rc1::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value Ifc4x3_rc1::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc1::IfcRelSpaceBoundary::setPhysicalOrVirtualBoundary(::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc1::IfcInternalOrExternalEnum::Value Ifc4x3_rc1::IfcRelSpaceBoundary::InternalOrExternalBoundary() const { return ::Ifc4x3_rc1::IfcInternalOrExternalEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc1::IfcInternalOrExternalEnum::Value Ifc4x3_rc1::IfcRelSpaceBoundary::InternalOrExternalBoundary() const { return ::Ifc4x3_rc1::IfcInternalOrExternalEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcRelSpaceBoundary::setInternalOrExternalBoundary(::Ifc4x3_rc1::IfcInternalOrExternalEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcInternalOrExternalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc1::IfcRelSpaceBoundary::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[956]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelSpaceBoundary::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[956]); } Ifc4x3_rc1::IfcRelSpaceBoundary::IfcRelSpaceBoundary(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc1::IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_rc1::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_rc1::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) : IfcRelConnects(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; populate_derived(); } +Ifc4x3_rc1::IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_rc1::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_rc1::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; populate_derived(); } // Function implementations for IfcRelSpaceBoundary1stLevel -::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel* Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel>(true); } +::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel* Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel>(true); } void Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel::setParentBoundary(::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } ::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel::list::ptr Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[957], 9)->as(); } @@ -15195,10 +15195,10 @@ void Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel::setParentBoundary(::Ifc4x3_rc1::If const IfcParse::entity& Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[957]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[957]); } Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(IfcEntityInstanceData&& e) : IfcRelSpaceBoundary(std::move(e)) { } -Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_rc1::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_rc1::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary) : IfcRelSpaceBoundary(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_rc1::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_rc1::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary) : IfcRelSpaceBoundary(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelSpaceBoundary2ndLevel -::Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel* Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel>(true); } +::Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel* Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel>(true); } void Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(::Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } ::Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel::list::ptr Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel::Corresponds() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[958], 10)->as(); } @@ -15206,19 +15206,19 @@ void Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(::Ifc4x3_ const IfcParse::entity& Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[958]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[958]); } Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(IfcEntityInstanceData&& e) : IfcRelSpaceBoundary1stLevel(std::move(e)) { } -Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_rc1::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_rc1::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, ::Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary) : IfcRelSpaceBoundary1stLevel(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_CorrespondingBoundary ? v11_CorrespondingBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_rc1::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_rc1::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, ::Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary) : IfcRelSpaceBoundary1stLevel(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_CorrespondingBoundary ? v11_CorrespondingBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelVoidsElement -::Ifc4x3_rc1::IfcElement* Ifc4x3_rc1::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcElement>(true); } +::Ifc4x3_rc1::IfcElement* Ifc4x3_rc1::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcElement>(true); } void Ifc4x3_rc1::IfcRelVoidsElement::setRelatingBuildingElement(::Ifc4x3_rc1::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcFeatureElementSubtraction* Ifc4x3_rc1::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcFeatureElementSubtraction>(true); } +::Ifc4x3_rc1::IfcFeatureElementSubtraction* Ifc4x3_rc1::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcFeatureElementSubtraction>(true); } void Ifc4x3_rc1::IfcRelVoidsElement::setRelatedOpeningElement(::Ifc4x3_rc1::IfcFeatureElementSubtraction* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcRelVoidsElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[959]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelVoidsElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[959]); } Ifc4x3_rc1::IfcRelVoidsElement::IfcRelVoidsElement(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x3_rc1::IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcElement* v5_RelatingBuildingElement, ::Ifc4x3_rc1::IfcFeatureElementSubtraction* v6_RelatedOpeningElement) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedOpeningElement ? v6_RelatedOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcElement* v5_RelatingBuildingElement, ::Ifc4x3_rc1::IfcFeatureElementSubtraction* v6_RelatedOpeningElement) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedOpeningElement ? v6_RelatedOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelationship @@ -15226,26 +15226,26 @@ Ifc4x3_rc1::IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x3_rc1::IfcRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[927]); } const IfcParse::entity& Ifc4x3_rc1::IfcRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[927]); } Ifc4x3_rc1::IfcRelationship::IfcRelationship(IfcEntityInstanceData&& e) : IfcRoot(std::move(e)) { } -Ifc4x3_rc1::IfcRelationship::IfcRelationship(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc1::IfcRelationship::IfcRelationship(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcReparametrisedCompositeCurveSegment -double Ifc4x3_rc1::IfcReparametrisedCompositeCurveSegment::ParamLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc1::IfcReparametrisedCompositeCurveSegment::ParamLength() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcReparametrisedCompositeCurveSegment::setParamLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcReparametrisedCompositeCurveSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[960]); } const IfcParse::entity& Ifc4x3_rc1::IfcReparametrisedCompositeCurveSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[960]); } Ifc4x3_rc1::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(IfcEntityInstanceData&& e) : IfcCompositeCurveSegment(std::move(e)) { } -Ifc4x3_rc1::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(::Ifc4x3_rc1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc1::IfcCurve* v3_ParentCurve, double v4_ParamLength) : IfcCompositeCurveSegment(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ParamLength));; populate_derived(); } +Ifc4x3_rc1::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(::Ifc4x3_rc1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc1::IfcCurve* v3_ParentCurve, double v4_ParamLength) : IfcCompositeCurveSegment(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ParamLength));; populate_derived(); } // Function implementations for IfcRepresentation -::Ifc4x3_rc1::IfcRepresentationContext* Ifc4x3_rc1::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcRepresentationContext>(true); } +::Ifc4x3_rc1::IfcRepresentationContext* Ifc4x3_rc1::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcRepresentationContext>(true); } void Ifc4x3_rc1::IfcRepresentation::setContextOfItems(::Ifc4x3_rc1::IfcRepresentationContext* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc1::IfcRepresentation::RepresentationIdentifier() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcRepresentation::RepresentationIdentifier() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc1::IfcRepresentation::RepresentationType() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcRepresentation::RepresentationType() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcRepresentation::setRepresentationType(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -aggregate_of< ::Ifc4x3_rc1::IfcRepresentationItem >::ptr Ifc4x3_rc1::IfcRepresentation::Items() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc1::IfcRepresentationItem >(); } +aggregate_of< ::Ifc4x3_rc1::IfcRepresentationItem >::ptr Ifc4x3_rc1::IfcRepresentation::Items() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc1::IfcRepresentationItem >(); } void Ifc4x3_rc1::IfcRepresentation::setItems(aggregate_of< ::Ifc4x3_rc1::IfcRepresentationItem >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } ::Ifc4x3_rc1::IfcRepresentationMap::list::ptr Ifc4x3_rc1::IfcRepresentation::RepresentationMap() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[964], 1)->as(); } @@ -15255,12 +15255,12 @@ void Ifc4x3_rc1::IfcRepresentation::setItems(aggregate_of< ::Ifc4x3_rc1::IfcRepr const IfcParse::entity& Ifc4x3_rc1::IfcRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[961]); } const IfcParse::entity& Ifc4x3_rc1::IfcRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[961]); } Ifc4x3_rc1::IfcRepresentation::IfcRepresentation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcRepresentation::IfcRepresentation(::Ifc4x3_rc1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc1::IfcRepresentationItem >::ptr v4_Items) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcRepresentation::IfcRepresentation(::Ifc4x3_rc1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc1::IfcRepresentationItem >::ptr v4_Items) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcRepresentationContext -boost::optional< std::string > Ifc4x3_rc1::IfcRepresentationContext::ContextIdentifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcRepresentationContext::ContextIdentifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcRepresentationContext::setContextIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc1::IfcRepresentationContext::ContextType() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcRepresentationContext::ContextType() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcRepresentationContext::setContextType(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x3_rc1::IfcRepresentation::list::ptr Ifc4x3_rc1::IfcRepresentationContext::RepresentationsInContext() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[961], 0)->as(); } @@ -15268,7 +15268,7 @@ void Ifc4x3_rc1::IfcRepresentationContext::setContextType(boost::optional< std:: const IfcParse::entity& Ifc4x3_rc1::IfcRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[962]); } const IfcParse::entity& Ifc4x3_rc1::IfcRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[962]); } Ifc4x3_rc1::IfcRepresentationContext::IfcRepresentationContext(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcRepresentationContext::IfcRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; populate_derived(); } +Ifc4x3_rc1::IfcRepresentationContext::IfcRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; populate_derived(); } // Function implementations for IfcRepresentationItem @@ -15278,12 +15278,12 @@ Ifc4x3_rc1::IfcRepresentationContext::IfcRepresentationContext(boost::optional< const IfcParse::entity& Ifc4x3_rc1::IfcRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[963]); } const IfcParse::entity& Ifc4x3_rc1::IfcRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[963]); } Ifc4x3_rc1::IfcRepresentationItem::IfcRepresentationItem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc1::IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcRepresentationMap -::Ifc4x3_rc1::IfcAxis2Placement* Ifc4x3_rc1::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcAxis2Placement>(true); } +::Ifc4x3_rc1::IfcAxis2Placement* Ifc4x3_rc1::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcAxis2Placement>(true); } void Ifc4x3_rc1::IfcRepresentationMap::setMappingOrigin(::Ifc4x3_rc1::IfcAxis2Placement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcRepresentation* Ifc4x3_rc1::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcRepresentation>(true); } +::Ifc4x3_rc1::IfcRepresentation* Ifc4x3_rc1::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcRepresentation>(true); } void Ifc4x3_rc1::IfcRepresentationMap::setMappedRepresentation(::Ifc4x3_rc1::IfcRepresentation* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } ::Ifc4x3_rc1::IfcShapeAspect::list::ptr Ifc4x3_rc1::IfcRepresentationMap::HasShapeAspects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[1010], 4)->as(); } @@ -15292,12 +15292,12 @@ void Ifc4x3_rc1::IfcRepresentationMap::setMappedRepresentation(::Ifc4x3_rc1::Ifc const IfcParse::entity& Ifc4x3_rc1::IfcRepresentationMap::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[964]); } const IfcParse::entity& Ifc4x3_rc1::IfcRepresentationMap::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[964]); } Ifc4x3_rc1::IfcRepresentationMap::IfcRepresentationMap(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcRepresentationMap::IfcRepresentationMap(::Ifc4x3_rc1::IfcAxis2Placement* v1_MappingOrigin, ::Ifc4x3_rc1::IfcRepresentation* v2_MappedRepresentation) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_MappingOrigin ? v1_MappingOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappedRepresentation ? v2_MappedRepresentation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcRepresentationMap::IfcRepresentationMap(::Ifc4x3_rc1::IfcAxis2Placement* v1_MappingOrigin, ::Ifc4x3_rc1::IfcRepresentation* v2_MappedRepresentation) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_MappingOrigin ? v1_MappingOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappedRepresentation ? v2_MappedRepresentation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcResource -boost::optional< std::string > Ifc4x3_rc1::IfcResource::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcResource::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcResource::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc1::IfcResource::LongDescription() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcResource::LongDescription() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcResource::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_rc1::IfcRelAssignsToResource::list::ptr Ifc4x3_rc1::IfcResource::ResourceOf() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[918], 6)->as(); } @@ -15305,127 +15305,127 @@ void Ifc4x3_rc1::IfcResource::setLongDescription(boost::optional< std::string > const IfcParse::entity& Ifc4x3_rc1::IfcResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[965]); } const IfcParse::entity& Ifc4x3_rc1::IfcResource::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[965]); } Ifc4x3_rc1::IfcResource::IfcResource(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_rc1::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } +Ifc4x3_rc1::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } // Function implementations for IfcResourceApprovalRelationship -aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr Ifc4x3_rc1::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcResourceObjectSelect >(); } +aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr Ifc4x3_rc1::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcResourceObjectSelect >(); } void Ifc4x3_rc1::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcApproval* Ifc4x3_rc1::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcApproval>(true); } +::Ifc4x3_rc1::IfcApproval* Ifc4x3_rc1::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcApproval>(true); } void Ifc4x3_rc1::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_rc1::IfcApproval* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcResourceApprovalRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[966]); } const IfcParse::entity& Ifc4x3_rc1::IfcResourceApprovalRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[966]); } Ifc4x3_rc1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_rc1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc1::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatedResourceObjects)->generalize());set_attribute_value(3, v4_RelatingApproval ? v4_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc1::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatedResourceObjects)->generalize());set_attribute_value(3, v4_RelatingApproval ? v4_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcResourceConstraintRelationship -::Ifc4x3_rc1::IfcConstraint* Ifc4x3_rc1::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcConstraint>(true); } +::Ifc4x3_rc1::IfcConstraint* Ifc4x3_rc1::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcConstraint>(true); } void Ifc4x3_rc1::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4x3_rc1::IfcConstraint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr Ifc4x3_rc1::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc1::IfcResourceObjectSelect >(); } +aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr Ifc4x3_rc1::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc1::IfcResourceObjectSelect >(); } void Ifc4x3_rc1::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcResourceConstraintRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[967]); } const IfcParse::entity& Ifc4x3_rc1::IfcResourceConstraintRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[967]); } Ifc4x3_rc1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_rc1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingConstraint ? v3_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc1::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_rc1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingConstraint ? v3_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } // Function implementations for IfcResourceLevelRelationship -boost::optional< std::string > Ifc4x3_rc1::IfcResourceLevelRelationship::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcResourceLevelRelationship::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcResourceLevelRelationship::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc1::IfcResourceLevelRelationship::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcResourceLevelRelationship::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcResourceLevelRelationship::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_rc1::IfcResourceLevelRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[968]); } const IfcParse::entity& Ifc4x3_rc1::IfcResourceLevelRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[968]); } Ifc4x3_rc1::IfcResourceLevelRelationship::IfcResourceLevelRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcResourceLevelRelationship::IfcResourceLevelRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4x3_rc1::IfcResourceLevelRelationship::IfcResourceLevelRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcResourceTime -boost::optional< std::string > Ifc4x3_rc1::IfcResourceTime::ScheduleWork() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcResourceTime::ScheduleWork() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcResourceTime::setScheduleWork(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc1::IfcResourceTime::ScheduleUsage() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc1::IfcResourceTime::ScheduleUsage() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcResourceTime::setScheduleUsage(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc1::IfcResourceTime::ScheduleStart() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcResourceTime::ScheduleStart() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcResourceTime::setScheduleStart(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc1::IfcResourceTime::ScheduleFinish() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcResourceTime::ScheduleFinish() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcResourceTime::setScheduleFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc1::IfcResourceTime::ScheduleContour() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcResourceTime::ScheduleContour() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcResourceTime::setScheduleContour(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc1::IfcResourceTime::LevelingDelay() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcResourceTime::LevelingDelay() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcResourceTime::setLevelingDelay(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< bool > Ifc4x3_rc1::IfcResourceTime::IsOverAllocated() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } bool v = data_.get_attribute_value(9); return v; } +boost::optional< bool > Ifc4x3_rc1::IfcResourceTime::IsOverAllocated() const { if(get_attribute_value(9).isNull()) { return boost::none; } bool v = get_attribute_value(9); return v; } void Ifc4x3_rc1::IfcResourceTime::setIsOverAllocated(boost::optional< bool > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x3_rc1::IfcResourceTime::StatusTime() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcResourceTime::StatusTime() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcResourceTime::setStatusTime(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< std::string > Ifc4x3_rc1::IfcResourceTime::ActualWork() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcResourceTime::ActualWork() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x3_rc1::IfcResourceTime::setActualWork(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_rc1::IfcResourceTime::ActualUsage() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_rc1::IfcResourceTime::ActualUsage() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_rc1::IfcResourceTime::setActualUsage(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< std::string > Ifc4x3_rc1::IfcResourceTime::ActualStart() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(13); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcResourceTime::ActualStart() const { if(get_attribute_value(13).isNull()) { return boost::none; } std::string v = get_attribute_value(13); return v; } void Ifc4x3_rc1::IfcResourceTime::setActualStart(boost::optional< std::string > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x3_rc1::IfcResourceTime::ActualFinish() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcResourceTime::ActualFinish() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x3_rc1::IfcResourceTime::setActualFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< std::string > Ifc4x3_rc1::IfcResourceTime::RemainingWork() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(15); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcResourceTime::RemainingWork() const { if(get_attribute_value(15).isNull()) { return boost::none; } std::string v = get_attribute_value(15); return v; } void Ifc4x3_rc1::IfcResourceTime::setRemainingWork(boost::optional< std::string > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3_rc1::IfcResourceTime::RemainingUsage() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3_rc1::IfcResourceTime::RemainingUsage() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3_rc1::IfcResourceTime::setRemainingUsage(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< double > Ifc4x3_rc1::IfcResourceTime::Completion() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } double v = data_.get_attribute_value(17); return v; } +boost::optional< double > Ifc4x3_rc1::IfcResourceTime::Completion() const { if(get_attribute_value(17).isNull()) { return boost::none; } double v = get_attribute_value(17); return v; } void Ifc4x3_rc1::IfcResourceTime::setCompletion(boost::optional< double > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } const IfcParse::entity& Ifc4x3_rc1::IfcResourceTime::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[971]); } const IfcParse::entity& Ifc4x3_rc1::IfcResourceTime::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[971]); } Ifc4x3_rc1::IfcResourceTime::IfcResourceTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x3_rc1::IfcResourceTime::IfcResourceTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< std::string > v4_ScheduleWork, boost::optional< double > v5_ScheduleUsage, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_ScheduleContour, boost::optional< std::string > v9_LevelingDelay, boost::optional< bool > v10_IsOverAllocated, boost::optional< std::string > v11_StatusTime, boost::optional< std::string > v12_ActualWork, boost::optional< double > v13_ActualUsage, boost::optional< std::string > v14_ActualStart, boost::optional< std::string > v15_ActualFinish, boost::optional< std::string > v16_RemainingWork, boost::optional< double > v17_RemainingUsage, boost::optional< double > v18_Completion) : IfcSchedulingTime(IfcEntityInstanceData(storage_t(18))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); }; populate_derived(); } +Ifc4x3_rc1::IfcResourceTime::IfcResourceTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< std::string > v4_ScheduleWork, boost::optional< double > v5_ScheduleUsage, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_ScheduleContour, boost::optional< std::string > v9_LevelingDelay, boost::optional< bool > v10_IsOverAllocated, boost::optional< std::string > v11_StatusTime, boost::optional< std::string > v12_ActualWork, boost::optional< double > v13_ActualUsage, boost::optional< std::string > v14_ActualStart, boost::optional< std::string > v15_ActualFinish, boost::optional< std::string > v16_RemainingWork, boost::optional< double > v17_RemainingUsage, boost::optional< double > v18_Completion) : IfcSchedulingTime(IfcEntityInstanceData(in_memory_attribute_storage(18))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); }; populate_derived(); } // Function implementations for IfcRevolvedAreaSolid -::Ifc4x3_rc1::IfcAxis1Placement* Ifc4x3_rc1::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcAxis1Placement>(true); } +::Ifc4x3_rc1::IfcAxis1Placement* Ifc4x3_rc1::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcAxis1Placement>(true); } void Ifc4x3_rc1::IfcRevolvedAreaSolid::setAxis(::Ifc4x3_rc1::IfcAxis1Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc1::IfcRevolvedAreaSolid::Angle() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc1::IfcRevolvedAreaSolid::Angle() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcRevolvedAreaSolid::setAngle(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcRevolvedAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[972]); } const IfcParse::entity& Ifc4x3_rc1::IfcRevolvedAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[972]); } Ifc4x3_rc1::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4x3_rc1::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(::Ifc4x3_rc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc1::IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));; populate_derived(); } +Ifc4x3_rc1::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(::Ifc4x3_rc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc1::IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));; populate_derived(); } // Function implementations for IfcRevolvedAreaSolidTapered -::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcProfileDef>(true); } +::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcProfileDef>(true); } void Ifc4x3_rc1::IfcRevolvedAreaSolidTapered::setEndSweptArea(::Ifc4x3_rc1::IfcProfileDef* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc1::IfcRevolvedAreaSolidTapered::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[973]); } const IfcParse::entity& Ifc4x3_rc1::IfcRevolvedAreaSolidTapered::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[973]); } Ifc4x3_rc1::IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(IfcEntityInstanceData&& e) : IfcRevolvedAreaSolid(std::move(e)) { } -Ifc4x3_rc1::IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(::Ifc4x3_rc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc1::IfcAxis1Placement* v3_Axis, double v4_Angle, ::Ifc4x3_rc1::IfcProfileDef* v5_EndSweptArea) : IfcRevolvedAreaSolid(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(::Ifc4x3_rc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc1::IfcAxis1Placement* v3_Axis, double v4_Angle, ::Ifc4x3_rc1::IfcProfileDef* v5_EndSweptArea) : IfcRevolvedAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRightCircularCone -double Ifc4x3_rc1::IfcRightCircularCone::Height() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc1::IfcRightCircularCone::Height() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcRightCircularCone::setHeight(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc1::IfcRightCircularCone::BottomRadius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc1::IfcRightCircularCone::BottomRadius() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcRightCircularCone::setBottomRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc1::IfcRightCircularCone::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[974]); } const IfcParse::entity& Ifc4x3_rc1::IfcRightCircularCone::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[974]); } Ifc4x3_rc1::IfcRightCircularCone::IfcRightCircularCone(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3_rc1::IfcRightCircularCone::IfcRightCircularCone(::Ifc4x3_rc1::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_BottomRadius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; populate_derived(); } +Ifc4x3_rc1::IfcRightCircularCone::IfcRightCircularCone(::Ifc4x3_rc1::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_BottomRadius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; populate_derived(); } // Function implementations for IfcRightCircularCylinder -double Ifc4x3_rc1::IfcRightCircularCylinder::Height() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc1::IfcRightCircularCylinder::Height() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcRightCircularCylinder::setHeight(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc1::IfcRightCircularCylinder::Radius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc1::IfcRightCircularCylinder::Radius() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcRightCircularCylinder::setRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc1::IfcRightCircularCylinder::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[975]); } const IfcParse::entity& Ifc4x3_rc1::IfcRightCircularCylinder::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[975]); } Ifc4x3_rc1::IfcRightCircularCylinder::IfcRightCircularCylinder(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3_rc1::IfcRightCircularCylinder::IfcRightCircularCylinder(::Ifc4x3_rc1::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; populate_derived(); } +Ifc4x3_rc1::IfcRightCircularCylinder::IfcRightCircularCylinder(::Ifc4x3_rc1::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; populate_derived(); } // Function implementations for IfcRoad @@ -15433,99 +15433,99 @@ Ifc4x3_rc1::IfcRightCircularCylinder::IfcRightCircularCylinder(::Ifc4x3_rc1::Ifc const IfcParse::entity& Ifc4x3_rc1::IfcRoad::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[976]); } const IfcParse::entity& Ifc4x3_rc1::IfcRoad::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[976]); } Ifc4x3_rc1::IfcRoad::IfcRoad(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x3_rc1::IfcRoad::IfcRoad(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcFacility(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } +Ifc4x3_rc1::IfcRoad::IfcRoad(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } // Function implementations for IfcRoof -boost::optional< ::Ifc4x3_rc1::IfcRoofTypeEnum::Value > Ifc4x3_rc1::IfcRoof::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcRoofTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcRoofTypeEnum::Value > Ifc4x3_rc1::IfcRoof::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcRoofTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcRoof::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcRoofTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcRoofTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcRoof::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[979]); } const IfcParse::entity& Ifc4x3_rc1::IfcRoof::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[979]); } Ifc4x3_rc1::IfcRoof::IfcRoof(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc1::IfcRoof::IfcRoof(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcRoofTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcRoof::IfcRoof(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcRoofTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRoofType -::Ifc4x3_rc1::IfcRoofTypeEnum::Value Ifc4x3_rc1::IfcRoofType::PredefinedType() const { return ::Ifc4x3_rc1::IfcRoofTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcRoofTypeEnum::Value Ifc4x3_rc1::IfcRoofType::PredefinedType() const { return ::Ifc4x3_rc1::IfcRoofTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcRoofType::setPredefinedType(::Ifc4x3_rc1::IfcRoofTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcRoofTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcRoofType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[980]); } const IfcParse::entity& Ifc4x3_rc1::IfcRoofType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[980]); } Ifc4x3_rc1::IfcRoofType::IfcRoofType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc1::IfcRoofType::IfcRoofType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcRoofTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcRoofType::IfcRoofType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcRoofTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRoot -std::string Ifc4x3_rc1::IfcRoot::GlobalId() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc1::IfcRoot::GlobalId() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcRoot::setGlobalId(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcOwnerHistory* Ifc4x3_rc1::IfcRoot::OwnerHistory() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcOwnerHistory>(true); } +::Ifc4x3_rc1::IfcOwnerHistory* Ifc4x3_rc1::IfcRoot::OwnerHistory() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcOwnerHistory>(true); } void Ifc4x3_rc1::IfcRoot::setOwnerHistory(::Ifc4x3_rc1::IfcOwnerHistory* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_rc1::IfcRoot::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcRoot::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcRoot::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_rc1::IfcRoot::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcRoot::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcRoot::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc1::IfcRoot::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[982]); } const IfcParse::entity& Ifc4x3_rc1::IfcRoot::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[982]); } Ifc4x3_rc1::IfcRoot::IfcRoot(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcRoot::IfcRoot(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc1::IfcRoot::IfcRoot(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRoundedRectangleProfileDef -double Ifc4x3_rc1::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc1::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcRoundedRectangleProfileDef::setRoundingRadius(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcRoundedRectangleProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[987]); } const IfcParse::entity& Ifc4x3_rc1::IfcRoundedRectangleProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[987]); } Ifc4x3_rc1::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(IfcEntityInstanceData&& e) : IfcRectangleProfileDef(std::move(e)) { } -Ifc4x3_rc1::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; populate_derived(); } +Ifc4x3_rc1::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; populate_derived(); } // Function implementations for IfcSIUnit -boost::optional< ::Ifc4x3_rc1::IfcSIPrefix::Value > Ifc4x3_rc1::IfcSIUnit::Prefix() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSIPrefix::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc4x3_rc1::IfcSIPrefix::Value > Ifc4x3_rc1::IfcSIUnit::Prefix() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSIPrefix::FromString(get_attribute_value(2)); } void Ifc4x3_rc1::IfcSIUnit::setPrefix(boost::optional< ::Ifc4x3_rc1::IfcSIPrefix::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc4x3_rc1::IfcSIPrefix::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -::Ifc4x3_rc1::IfcSIUnitName::Value Ifc4x3_rc1::IfcSIUnit::Name() const { return ::Ifc4x3_rc1::IfcSIUnitName::FromString(data_.get_attribute_value(3)); } +::Ifc4x3_rc1::IfcSIUnitName::Value Ifc4x3_rc1::IfcSIUnit::Name() const { return ::Ifc4x3_rc1::IfcSIUnitName::FromString(get_attribute_value(3)); } void Ifc4x3_rc1::IfcSIUnit::setName(::Ifc4x3_rc1::IfcSIUnitName::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc4x3_rc1::IfcSIUnitName::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcSIUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1028]); } const IfcParse::entity& Ifc4x3_rc1::IfcSIUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1028]); } Ifc4x3_rc1::IfcSIUnit::IfcSIUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -Ifc4x3_rc1::IfcSIUnit::IfcSIUnit(::Ifc4x3_rc1::IfcUnitEnum::Value v2_UnitType, boost::optional< ::Ifc4x3_rc1::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_rc1::IfcSIUnitName::Value v4_Name) : IfcNamedUnit(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc1::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc1::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc1::IfcSIUnitName::Class(),(size_t)v4_Name)));; populate_derived(); } +Ifc4x3_rc1::IfcSIUnit::IfcSIUnit(::Ifc4x3_rc1::IfcUnitEnum::Value v2_UnitType, boost::optional< ::Ifc4x3_rc1::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_rc1::IfcSIUnitName::Value v4_Name) : IfcNamedUnit(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc1::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc1::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc1::IfcSIUnitName::Class(),(size_t)v4_Name)));; populate_derived(); } // Function implementations for IfcSanitaryTerminal -boost::optional< ::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value > Ifc4x3_rc1::IfcSanitaryTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value > Ifc4x3_rc1::IfcSanitaryTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcSanitaryTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcSanitaryTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[988]); } const IfcParse::entity& Ifc4x3_rc1::IfcSanitaryTerminal::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[988]); } Ifc4x3_rc1::IfcSanitaryTerminal::IfcSanitaryTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc1::IfcSanitaryTerminal::IfcSanitaryTerminal(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcSanitaryTerminal::IfcSanitaryTerminal(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSanitaryTerminalType -::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value Ifc4x3_rc1::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value Ifc4x3_rc1::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcSanitaryTerminalType::setPredefinedType(::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcSanitaryTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[989]); } const IfcParse::entity& Ifc4x3_rc1::IfcSanitaryTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[989]); } Ifc4x3_rc1::IfcSanitaryTerminalType::IfcSanitaryTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc1::IfcSanitaryTerminalType::IfcSanitaryTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcSanitaryTerminalType::IfcSanitaryTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSchedulingTime -boost::optional< std::string > Ifc4x3_rc1::IfcSchedulingTime::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcSchedulingTime::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcSchedulingTime::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > Ifc4x3_rc1::IfcSchedulingTime::DataOrigin() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDataOriginEnum::FromString(data_.get_attribute_value(1)); } +boost::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > Ifc4x3_rc1::IfcSchedulingTime::DataOrigin() const { if(get_attribute_value(1).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcDataOriginEnum::FromString(get_attribute_value(1)); } void Ifc4x3_rc1::IfcSchedulingTime::setDataOrigin(boost::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v) { if (v) {set_attribute_value(1, EnumerationReference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(), (size_t) *v));} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc1::IfcSchedulingTime::UserDefinedDataOrigin() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcSchedulingTime::UserDefinedDataOrigin() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcSchedulingTime::setUserDefinedDataOrigin(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc1::IfcSchedulingTime::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[991]); } const IfcParse::entity& Ifc4x3_rc1::IfcSchedulingTime::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[991]); } Ifc4x3_rc1::IfcSchedulingTime::IfcSchedulingTime(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }; populate_derived(); } +Ifc4x3_rc1::IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }; populate_derived(); } // Function implementations for IfcSeamCurve @@ -15533,146 +15533,146 @@ Ifc4x3_rc1::IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > const IfcParse::entity& Ifc4x3_rc1::IfcSeamCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[992]); } const IfcParse::entity& Ifc4x3_rc1::IfcSeamCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[992]); } Ifc4x3_rc1::IfcSeamCurve::IfcSeamCurve(IfcEntityInstanceData&& e) : IfcSurfaceCurve(std::move(e)) { } -Ifc4x3_rc1::IfcSeamCurve::IfcSeamCurve(::Ifc4x3_rc1::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_rc1::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } +Ifc4x3_rc1::IfcSeamCurve::IfcSeamCurve(::Ifc4x3_rc1::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_rc1::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcSectionProperties -::Ifc4x3_rc1::IfcSectionTypeEnum::Value Ifc4x3_rc1::IfcSectionProperties::SectionType() const { return ::Ifc4x3_rc1::IfcSectionTypeEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_rc1::IfcSectionTypeEnum::Value Ifc4x3_rc1::IfcSectionProperties::SectionType() const { return ::Ifc4x3_rc1::IfcSectionTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x3_rc1::IfcSectionProperties::setSectionType(::Ifc4x3_rc1::IfcSectionTypeEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_rc1::IfcSectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcProfileDef>(true); } +::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcProfileDef>(true); } void Ifc4x3_rc1::IfcSectionProperties::setStartProfile(::Ifc4x3_rc1::IfcProfileDef* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcSectionProperties::EndProfile() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcProfileDef>(true); } +::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcSectionProperties::EndProfile() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcProfileDef>(true); } void Ifc4x3_rc1::IfcSectionProperties::setEndProfile(::Ifc4x3_rc1::IfcProfileDef* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc1::IfcSectionProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[999]); } const IfcParse::entity& Ifc4x3_rc1::IfcSectionProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[999]); } Ifc4x3_rc1::IfcSectionProperties::IfcSectionProperties(IfcEntityInstanceData&& e) : IfcPreDefinedProperties(std::move(e)) { } -Ifc4x3_rc1::IfcSectionProperties::IfcSectionProperties(::Ifc4x3_rc1::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_rc1::IfcProfileDef* v2_StartProfile, ::Ifc4x3_rc1::IfcProfileDef* v3_EndProfile) : IfcPreDefinedProperties(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, v2_StartProfile ? v2_StartProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EndProfile ? v3_EndProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcSectionProperties::IfcSectionProperties(::Ifc4x3_rc1::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_rc1::IfcProfileDef* v2_StartProfile, ::Ifc4x3_rc1::IfcProfileDef* v3_EndProfile) : IfcPreDefinedProperties(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, v2_StartProfile ? v2_StartProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EndProfile ? v3_EndProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSectionReinforcementProperties -double Ifc4x3_rc1::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_rc1::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcSectionReinforcementProperties::setLongitudinalStartPosition(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc1::IfcSectionReinforcementProperties::LongitudinalEndPosition() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc1::IfcSectionReinforcementProperties::LongitudinalEndPosition() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcSectionReinforcementProperties::setLongitudinalEndPosition(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_rc1::IfcSectionReinforcementProperties::TransversePosition() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc1::IfcSectionReinforcementProperties::TransversePosition() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc1::IfcReinforcingBarRoleEnum::Value Ifc4x3_rc1::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x3_rc1::IfcReinforcingBarRoleEnum::FromString(data_.get_attribute_value(3)); } +::Ifc4x3_rc1::IfcReinforcingBarRoleEnum::Value Ifc4x3_rc1::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x3_rc1::IfcReinforcingBarRoleEnum::FromString(get_attribute_value(3)); } void Ifc4x3_rc1::IfcSectionReinforcementProperties::setReinforcementRole(::Ifc4x3_rc1::IfcReinforcingBarRoleEnum::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc4x3_rc1::IfcReinforcingBarRoleEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc1::IfcSectionProperties* Ifc4x3_rc1::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcSectionProperties>(true); } +::Ifc4x3_rc1::IfcSectionProperties* Ifc4x3_rc1::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcSectionProperties>(true); } void Ifc4x3_rc1::IfcSectionReinforcementProperties::setSectionDefinition(::Ifc4x3_rc1::IfcSectionProperties* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_rc1::IfcReinforcementBarProperties >::ptr Ifc4x3_rc1::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc1::IfcReinforcementBarProperties >(); } +aggregate_of< ::Ifc4x3_rc1::IfcReinforcementBarProperties >::ptr Ifc4x3_rc1::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc1::IfcReinforcementBarProperties >(); } void Ifc4x3_rc1::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(aggregate_of< ::Ifc4x3_rc1::IfcReinforcementBarProperties >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcSectionReinforcementProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1000]); } const IfcParse::entity& Ifc4x3_rc1::IfcSectionReinforcementProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1000]); } Ifc4x3_rc1::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(IfcEntityInstanceData&& e) : IfcPreDefinedProperties(std::move(e)) { } -Ifc4x3_rc1::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, boost::optional< double > v3_TransversePosition, ::Ifc4x3_rc1::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_rc1::IfcSectionProperties* v5_SectionDefinition, aggregate_of< ::Ifc4x3_rc1::IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcPreDefinedProperties(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc1::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, v5_SectionDefinition ? v5_SectionDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_CrossSectionReinforcementDefinitions)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, boost::optional< double > v3_TransversePosition, ::Ifc4x3_rc1::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_rc1::IfcSectionProperties* v5_SectionDefinition, aggregate_of< ::Ifc4x3_rc1::IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcPreDefinedProperties(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc1::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, v5_SectionDefinition ? v5_SectionDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_CrossSectionReinforcementDefinitions)->generalize());; populate_derived(); } // Function implementations for IfcSectionedSolid -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcSectionedSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCurve>(true); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcSectionedSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcSectionedSolid::setDirectrix(::Ifc4x3_rc1::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc1::IfcProfileDef >::ptr Ifc4x3_rc1::IfcSectionedSolid::CrossSections() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcProfileDef >(); } +aggregate_of< ::Ifc4x3_rc1::IfcProfileDef >::ptr Ifc4x3_rc1::IfcSectionedSolid::CrossSections() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcProfileDef >(); } void Ifc4x3_rc1::IfcSectionedSolid::setCrossSections(aggregate_of< ::Ifc4x3_rc1::IfcProfileDef >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcSectionedSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[994]); } const IfcParse::entity& Ifc4x3_rc1::IfcSectionedSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[994]); } Ifc4x3_rc1::IfcSectionedSolid::IfcSectionedSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3_rc1::IfcSectionedSolid::IfcSectionedSolid(::Ifc4x3_rc1::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_rc1::IfcProfileDef >::ptr v2_CrossSections) : IfcSolidModel(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcSectionedSolid::IfcSectionedSolid(::Ifc4x3_rc1::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_rc1::IfcProfileDef >::ptr v2_CrossSections) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());; populate_derived(); } // Function implementations for IfcSectionedSolidHorizontal -aggregate_of< ::Ifc4x3_rc1::IfcDistanceExpression >::ptr Ifc4x3_rc1::IfcSectionedSolidHorizontal::CrossSectionPositions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcDistanceExpression >(); } +aggregate_of< ::Ifc4x3_rc1::IfcDistanceExpression >::ptr Ifc4x3_rc1::IfcSectionedSolidHorizontal::CrossSectionPositions() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcDistanceExpression >(); } void Ifc4x3_rc1::IfcSectionedSolidHorizontal::setCrossSectionPositions(aggregate_of< ::Ifc4x3_rc1::IfcDistanceExpression >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x3_rc1::IfcSectionedSolidHorizontal::FixedAxisVertical() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x3_rc1::IfcSectionedSolidHorizontal::FixedAxisVertical() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcSectionedSolidHorizontal::setFixedAxisVertical(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcSectionedSolidHorizontal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[995]); } const IfcParse::entity& Ifc4x3_rc1::IfcSectionedSolidHorizontal::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[995]); } Ifc4x3_rc1::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(IfcEntityInstanceData&& e) : IfcSectionedSolid(std::move(e)) { } -Ifc4x3_rc1::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(::Ifc4x3_rc1::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_rc1::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3_rc1::IfcDistanceExpression >::ptr v3_CrossSectionPositions, bool v4_FixedAxisVertical) : IfcSectionedSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());set_attribute_value(3, (v4_FixedAxisVertical));; populate_derived(); } +Ifc4x3_rc1::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(::Ifc4x3_rc1::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_rc1::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3_rc1::IfcDistanceExpression >::ptr v3_CrossSectionPositions, bool v4_FixedAxisVertical) : IfcSectionedSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());set_attribute_value(3, (v4_FixedAxisVertical));; populate_derived(); } // Function implementations for IfcSectionedSpine -::Ifc4x3_rc1::IfcCompositeCurve* Ifc4x3_rc1::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCompositeCurve>(true); } +::Ifc4x3_rc1::IfcCompositeCurve* Ifc4x3_rc1::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCompositeCurve>(true); } void Ifc4x3_rc1::IfcSectionedSpine::setSpineCurve(::Ifc4x3_rc1::IfcCompositeCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc1::IfcProfileDef >::ptr Ifc4x3_rc1::IfcSectionedSpine::CrossSections() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcProfileDef >(); } +aggregate_of< ::Ifc4x3_rc1::IfcProfileDef >::ptr Ifc4x3_rc1::IfcSectionedSpine::CrossSections() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcProfileDef >(); } void Ifc4x3_rc1::IfcSectionedSpine::setCrossSections(aggregate_of< ::Ifc4x3_rc1::IfcProfileDef >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3_rc1::IfcAxis2Placement3D >::ptr Ifc4x3_rc1::IfcSectionedSpine::CrossSectionPositions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcAxis2Placement3D >(); } +aggregate_of< ::Ifc4x3_rc1::IfcAxis2Placement3D >::ptr Ifc4x3_rc1::IfcSectionedSpine::CrossSectionPositions() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcAxis2Placement3D >(); } void Ifc4x3_rc1::IfcSectionedSpine::setCrossSectionPositions(aggregate_of< ::Ifc4x3_rc1::IfcAxis2Placement3D >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc1::IfcSectionedSpine::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[996]); } const IfcParse::entity& Ifc4x3_rc1::IfcSectionedSpine::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[996]); } Ifc4x3_rc1::IfcSectionedSpine::IfcSectionedSpine(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcSectionedSpine::IfcSectionedSpine(::Ifc4x3_rc1::IfcCompositeCurve* v1_SpineCurve, aggregate_of< ::Ifc4x3_rc1::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3_rc1::IfcAxis2Placement3D >::ptr v3_CrossSectionPositions) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_SpineCurve ? v1_SpineCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcSectionedSpine::IfcSectionedSpine(::Ifc4x3_rc1::IfcCompositeCurve* v1_SpineCurve, aggregate_of< ::Ifc4x3_rc1::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3_rc1::IfcAxis2Placement3D >::ptr v3_CrossSectionPositions) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_SpineCurve ? v1_SpineCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());; populate_derived(); } // Function implementations for IfcSectionedSurface -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcSectionedSurface::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCurve>(true); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcSectionedSurface::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcSectionedSurface::setDirectrix(::Ifc4x3_rc1::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc1::IfcDistanceExpression >::ptr Ifc4x3_rc1::IfcSectionedSurface::CrossSectionPositions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcDistanceExpression >(); } +aggregate_of< ::Ifc4x3_rc1::IfcDistanceExpression >::ptr Ifc4x3_rc1::IfcSectionedSurface::CrossSectionPositions() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcDistanceExpression >(); } void Ifc4x3_rc1::IfcSectionedSurface::setCrossSectionPositions(aggregate_of< ::Ifc4x3_rc1::IfcDistanceExpression >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3_rc1::IfcProfileDef >::ptr Ifc4x3_rc1::IfcSectionedSurface::CrossSections() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcProfileDef >(); } +aggregate_of< ::Ifc4x3_rc1::IfcProfileDef >::ptr Ifc4x3_rc1::IfcSectionedSurface::CrossSections() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcProfileDef >(); } void Ifc4x3_rc1::IfcSectionedSurface::setCrossSections(aggregate_of< ::Ifc4x3_rc1::IfcProfileDef >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x3_rc1::IfcSectionedSurface::FixedAxisVertical() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x3_rc1::IfcSectionedSurface::FixedAxisVertical() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcSectionedSurface::setFixedAxisVertical(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcSectionedSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[997]); } const IfcParse::entity& Ifc4x3_rc1::IfcSectionedSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[997]); } Ifc4x3_rc1::IfcSectionedSurface::IfcSectionedSurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x3_rc1::IfcSectionedSurface::IfcSectionedSurface(::Ifc4x3_rc1::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_rc1::IfcDistanceExpression >::ptr v2_CrossSectionPositions, aggregate_of< ::Ifc4x3_rc1::IfcProfileDef >::ptr v3_CrossSections, bool v4_FixedAxisVertical) : IfcSurface(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSectionPositions)->generalize());set_attribute_value(2, (v3_CrossSections)->generalize());set_attribute_value(3, (v4_FixedAxisVertical));; populate_derived(); } +Ifc4x3_rc1::IfcSectionedSurface::IfcSectionedSurface(::Ifc4x3_rc1::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_rc1::IfcDistanceExpression >::ptr v2_CrossSectionPositions, aggregate_of< ::Ifc4x3_rc1::IfcProfileDef >::ptr v3_CrossSections, bool v4_FixedAxisVertical) : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSectionPositions)->generalize());set_attribute_value(2, (v3_CrossSections)->generalize());set_attribute_value(3, (v4_FixedAxisVertical));; populate_derived(); } // Function implementations for IfcSensor -boost::optional< ::Ifc4x3_rc1::IfcSensorTypeEnum::Value > Ifc4x3_rc1::IfcSensor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSensorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcSensorTypeEnum::Value > Ifc4x3_rc1::IfcSensor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSensorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcSensor::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSensorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcSensorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcSensor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1003]); } const IfcParse::entity& Ifc4x3_rc1::IfcSensor::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1003]); } Ifc4x3_rc1::IfcSensor::IfcSensor(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_rc1::IfcSensor::IfcSensor(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcSensorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcSensor::IfcSensor(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcSensorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSensorType -::Ifc4x3_rc1::IfcSensorTypeEnum::Value Ifc4x3_rc1::IfcSensorType::PredefinedType() const { return ::Ifc4x3_rc1::IfcSensorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcSensorTypeEnum::Value Ifc4x3_rc1::IfcSensorType::PredefinedType() const { return ::Ifc4x3_rc1::IfcSensorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcSensorType::setPredefinedType(::Ifc4x3_rc1::IfcSensorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcSensorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcSensorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1004]); } const IfcParse::entity& Ifc4x3_rc1::IfcSensorType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1004]); } Ifc4x3_rc1::IfcSensorType::IfcSensorType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_rc1::IfcSensorType::IfcSensorType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSensorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcSensorType::IfcSensorType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSensorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcShadingDevice -boost::optional< ::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Value > Ifc4x3_rc1::IfcShadingDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Value > Ifc4x3_rc1::IfcShadingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcShadingDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcShadingDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1007]); } const IfcParse::entity& Ifc4x3_rc1::IfcShadingDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1007]); } Ifc4x3_rc1::IfcShadingDevice::IfcShadingDevice(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc1::IfcShadingDevice::IfcShadingDevice(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcShadingDevice::IfcShadingDevice(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcShadingDeviceType -::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Value Ifc4x3_rc1::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Value Ifc4x3_rc1::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcShadingDeviceType::setPredefinedType(::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcShadingDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1008]); } const IfcParse::entity& Ifc4x3_rc1::IfcShadingDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1008]); } Ifc4x3_rc1::IfcShadingDeviceType::IfcShadingDeviceType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc1::IfcShadingDeviceType::IfcShadingDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcShadingDeviceType::IfcShadingDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcShapeAspect -aggregate_of< ::Ifc4x3_rc1::IfcShapeModel >::ptr Ifc4x3_rc1::IfcShapeAspect::ShapeRepresentations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcShapeModel >(); } +aggregate_of< ::Ifc4x3_rc1::IfcShapeModel >::ptr Ifc4x3_rc1::IfcShapeAspect::ShapeRepresentations() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcShapeModel >(); } void Ifc4x3_rc1::IfcShapeAspect::setShapeRepresentations(aggregate_of< ::Ifc4x3_rc1::IfcShapeModel >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc1::IfcShapeAspect::Name() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcShapeAspect::Name() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcShapeAspect::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc1::IfcShapeAspect::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcShapeAspect::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcShapeAspect::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::logic::tribool Ifc4x3_rc1::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = data_.get_attribute_value(3); return v; } +boost::logic::tribool Ifc4x3_rc1::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcShapeAspect::setProductDefinitional(boost::logic::tribool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc1::IfcProductRepresentationSelect* Ifc4x3_rc1::IfcShapeAspect::PartOfProductDefinitionShape() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcProductRepresentationSelect>(true); } +::Ifc4x3_rc1::IfcProductRepresentationSelect* Ifc4x3_rc1::IfcShapeAspect::PartOfProductDefinitionShape() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcProductRepresentationSelect>(true); } void Ifc4x3_rc1::IfcShapeAspect::setPartOfProductDefinitionShape(::Ifc4x3_rc1::IfcProductRepresentationSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } ::Ifc4x3_rc1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc1::IfcShapeAspect::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[436], 3)->as(); } @@ -15680,7 +15680,7 @@ void Ifc4x3_rc1::IfcShapeAspect::setPartOfProductDefinitionShape(::Ifc4x3_rc1::I const IfcParse::entity& Ifc4x3_rc1::IfcShapeAspect::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1010]); } const IfcParse::entity& Ifc4x3_rc1::IfcShapeAspect::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1010]); } Ifc4x3_rc1::IfcShapeAspect::IfcShapeAspect(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcShapeAspect::IfcShapeAspect(aggregate_of< ::Ifc4x3_rc1::IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_rc1::IfcProductRepresentationSelect* v5_PartOfProductDefinitionShape) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_ShapeRepresentations)->generalize()); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, v5_PartOfProductDefinitionShape ? v5_PartOfProductDefinitionShape->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcShapeAspect::IfcShapeAspect(aggregate_of< ::Ifc4x3_rc1::IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_rc1::IfcProductRepresentationSelect* v5_PartOfProductDefinitionShape) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_ShapeRepresentations)->generalize()); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, v5_PartOfProductDefinitionShape ? v5_PartOfProductDefinitionShape->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcShapeModel @@ -15689,7 +15689,7 @@ Ifc4x3_rc1::IfcShapeAspect::IfcShapeAspect(aggregate_of< ::Ifc4x3_rc1::IfcShapeM const IfcParse::entity& Ifc4x3_rc1::IfcShapeModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1011]); } const IfcParse::entity& Ifc4x3_rc1::IfcShapeModel::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1011]); } Ifc4x3_rc1::IfcShapeModel::IfcShapeModel(IfcEntityInstanceData&& e) : IfcRepresentation(std::move(e)) { } -Ifc4x3_rc1::IfcShapeModel::IfcShapeModel(::Ifc4x3_rc1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc1::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcShapeModel::IfcShapeModel(::Ifc4x3_rc1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc1::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcShapeRepresentation @@ -15697,57 +15697,57 @@ Ifc4x3_rc1::IfcShapeModel::IfcShapeModel(::Ifc4x3_rc1::IfcRepresentationContext* const IfcParse::entity& Ifc4x3_rc1::IfcShapeRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1012]); } const IfcParse::entity& Ifc4x3_rc1::IfcShapeRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1012]); } Ifc4x3_rc1::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceData&& e) : IfcShapeModel(std::move(e)) { } -Ifc4x3_rc1::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x3_rc1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc1::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x3_rc1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc1::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcShellBasedSurfaceModel -aggregate_of< ::Ifc4x3_rc1::IfcShell >::ptr Ifc4x3_rc1::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcShell >(); } +aggregate_of< ::Ifc4x3_rc1::IfcShell >::ptr Ifc4x3_rc1::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcShell >(); } void Ifc4x3_rc1::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x3_rc1::IfcShell >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc1::IfcShellBasedSurfaceModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1015]); } const IfcParse::entity& Ifc4x3_rc1::IfcShellBasedSurfaceModel::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1015]); } Ifc4x3_rc1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3_rc1::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_SbsmBoundary)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3_rc1::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_SbsmBoundary)->generalize());; populate_derived(); } // Function implementations for IfcSign -boost::optional< ::Ifc4x3_rc1::IfcSignTypeEnum::Value > Ifc4x3_rc1::IfcSign::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSignTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcSignTypeEnum::Value > Ifc4x3_rc1::IfcSign::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSignTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcSign::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSignTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcSignTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcSign::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1016]); } const IfcParse::entity& Ifc4x3_rc1::IfcSign::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1016]); } Ifc4x3_rc1::IfcSign::IfcSign(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_rc1::IfcSign::IfcSign(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcSignTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcSignTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcSign::IfcSign(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcSignTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcSignTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSignType -::Ifc4x3_rc1::IfcSignTypeEnum::Value Ifc4x3_rc1::IfcSignType::PredefinedType() const { return ::Ifc4x3_rc1::IfcSignTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcSignTypeEnum::Value Ifc4x3_rc1::IfcSignType::PredefinedType() const { return ::Ifc4x3_rc1::IfcSignTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcSignType::setPredefinedType(::Ifc4x3_rc1::IfcSignTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcSignTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcSignType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1020]); } const IfcParse::entity& Ifc4x3_rc1::IfcSignType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1020]); } Ifc4x3_rc1::IfcSignType::IfcSignType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_rc1::IfcSignType::IfcSignType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSignTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcSignTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcSignType::IfcSignType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSignTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcSignTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSignal -boost::optional< ::Ifc4x3_rc1::IfcSignalTypeEnum::Value > Ifc4x3_rc1::IfcSignal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSignalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcSignalTypeEnum::Value > Ifc4x3_rc1::IfcSignal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSignalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcSignal::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSignalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcSignalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcSignal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1017]); } const IfcParse::entity& Ifc4x3_rc1::IfcSignal::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1017]); } Ifc4x3_rc1::IfcSignal::IfcSignal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc1::IfcSignal::IfcSignal(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcSignalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcSignalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcSignal::IfcSignal(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcSignalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcSignalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSignalType -::Ifc4x3_rc1::IfcSignalTypeEnum::Value Ifc4x3_rc1::IfcSignalType::PredefinedType() const { return ::Ifc4x3_rc1::IfcSignalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcSignalTypeEnum::Value Ifc4x3_rc1::IfcSignalType::PredefinedType() const { return ::Ifc4x3_rc1::IfcSignalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcSignalType::setPredefinedType(::Ifc4x3_rc1::IfcSignalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcSignalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcSignalType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1018]); } const IfcParse::entity& Ifc4x3_rc1::IfcSignalType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1018]); } Ifc4x3_rc1::IfcSignalType::IfcSignalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc1::IfcSignalType::IfcSignalType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSignalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcSignalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcSignalType::IfcSignalType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSignalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcSignalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSimpleProperty @@ -15755,59 +15755,59 @@ Ifc4x3_rc1::IfcSignalType::IfcSignalType(std::string v1_GlobalId, ::Ifc4x3_rc1:: const IfcParse::entity& Ifc4x3_rc1::IfcSimpleProperty::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1022]); } const IfcParse::entity& Ifc4x3_rc1::IfcSimpleProperty::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1022]); } Ifc4x3_rc1::IfcSimpleProperty::IfcSimpleProperty(IfcEntityInstanceData&& e) : IfcProperty(std::move(e)) { } -Ifc4x3_rc1::IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcProperty(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4x3_rc1::IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcProperty(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcSimplePropertyTemplate -boost::optional< ::Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x3_rc1::IfcSimplePropertyTemplate::TemplateType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::FromString(data_.get_attribute_value(4)); } +boost::optional< ::Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x3_rc1::IfcSimplePropertyTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::FromString(get_attribute_value(4)); } void Ifc4x3_rc1::IfcSimplePropertyTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::Value > v) { if (v) {set_attribute_value(4, EnumerationReference(&::Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc1::IfcSimplePropertyTemplate::PrimaryMeasureType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcSimplePropertyTemplate::PrimaryMeasureType() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcSimplePropertyTemplate::setPrimaryMeasureType(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc1::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcSimplePropertyTemplate::setSecondaryMeasureType(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_rc1::IfcPropertyEnumeration* Ifc4x3_rc1::IfcSimplePropertyTemplate::Enumerators() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc1::IfcPropertyEnumeration>(true); } +::Ifc4x3_rc1::IfcPropertyEnumeration* Ifc4x3_rc1::IfcSimplePropertyTemplate::Enumerators() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc1::IfcPropertyEnumeration>(true); } void Ifc4x3_rc1::IfcSimplePropertyTemplate::setEnumerators(::Ifc4x3_rc1::IfcPropertyEnumeration* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcSimplePropertyTemplate::PrimaryUnit() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc1::IfcUnit>(true); } +::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcSimplePropertyTemplate::PrimaryUnit() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc1::IfcUnit>(true); } void Ifc4x3_rc1::IfcSimplePropertyTemplate::setPrimaryUnit(::Ifc4x3_rc1::IfcUnit* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcSimplePropertyTemplate::SecondaryUnit() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc1::IfcUnit>(true); } +::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcSimplePropertyTemplate::SecondaryUnit() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc1::IfcUnit>(true); } void Ifc4x3_rc1::IfcSimplePropertyTemplate::setSecondaryUnit(::Ifc4x3_rc1::IfcUnit* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3_rc1::IfcSimplePropertyTemplate::Expression() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcSimplePropertyTemplate::Expression() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcSimplePropertyTemplate::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< ::Ifc4x3_rc1::IfcStateEnum::Value > Ifc4x3_rc1::IfcSimplePropertyTemplate::AccessState() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcStateEnum::FromString(data_.get_attribute_value(11)); } +boost::optional< ::Ifc4x3_rc1::IfcStateEnum::Value > Ifc4x3_rc1::IfcSimplePropertyTemplate::AccessState() const { if(get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcStateEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc1::IfcSimplePropertyTemplate::setAccessState(boost::optional< ::Ifc4x3_rc1::IfcStateEnum::Value > v) { if (v) {set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc1::IfcStateEnum::Class(), (size_t) *v));} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x3_rc1::IfcSimplePropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1023]); } const IfcParse::entity& Ifc4x3_rc1::IfcSimplePropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1023]); } Ifc4x3_rc1::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplate(std::move(e)) { } -Ifc4x3_rc1::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_PrimaryMeasureType, boost::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_rc1::IfcPropertyEnumeration* v8_Enumerators, ::Ifc4x3_rc1::IfcUnit* v9_PrimaryUnit, ::Ifc4x3_rc1::IfcUnit* v10_SecondaryUnit, boost::optional< std::string > v11_Expression, boost::optional< ::Ifc4x3_rc1::IfcStateEnum::Value > v12_AccessState) : IfcPropertyTemplate(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, v8_Enumerators ? v8_Enumerators->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_PrimaryUnit ? v9_PrimaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_SecondaryUnit ? v10_SecondaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcStateEnum::Class(),(size_t)*v12_AccessState))); }; populate_derived(); } +Ifc4x3_rc1::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_PrimaryMeasureType, boost::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_rc1::IfcPropertyEnumeration* v8_Enumerators, ::Ifc4x3_rc1::IfcUnit* v9_PrimaryUnit, ::Ifc4x3_rc1::IfcUnit* v10_SecondaryUnit, boost::optional< std::string > v11_Expression, boost::optional< ::Ifc4x3_rc1::IfcStateEnum::Value > v12_AccessState) : IfcPropertyTemplate(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc1::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, v8_Enumerators ? v8_Enumerators->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_PrimaryUnit ? v9_PrimaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_SecondaryUnit ? v10_SecondaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcStateEnum::Class(),(size_t)*v12_AccessState))); }; populate_derived(); } // Function implementations for IfcSite -boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_rc1::IfcSite::RefLatitude() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = data_.get_attribute_value(9); return v; } +boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_rc1::IfcSite::RefLatitude() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = get_attribute_value(9); return v; } void Ifc4x3_rc1::IfcSite::setRefLatitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_rc1::IfcSite::RefLongitude() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = data_.get_attribute_value(10); return v; } +boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_rc1::IfcSite::RefLongitude() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcSite::setRefLongitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc1::IfcSite::RefElevation() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc1::IfcSite::RefElevation() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc1::IfcSite::setRefElevation(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_rc1::IfcSite::LandTitleNumber() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcSite::LandTitleNumber() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc1::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4x3_rc1::IfcPostalAddress* Ifc4x3_rc1::IfcSite::SiteAddress() const { if(data_.get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(13)))->as<::Ifc4x3_rc1::IfcPostalAddress>(true); } +::Ifc4x3_rc1::IfcPostalAddress* Ifc4x3_rc1::IfcSite::SiteAddress() const { if(get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(13)))->as<::Ifc4x3_rc1::IfcPostalAddress>(true); } void Ifc4x3_rc1::IfcSite::setSiteAddress(::Ifc4x3_rc1::IfcPostalAddress* v) { set_attribute_value(13, v->as());if constexpr (false)unset_attribute_value(13); } const IfcParse::entity& Ifc4x3_rc1::IfcSite::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1027]); } const IfcParse::entity& Ifc4x3_rc1::IfcSite::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1027]); } Ifc4x3_rc1::IfcSite::IfcSite(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x3_rc1::IfcSite::IfcSite(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, 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_rc1::IfcPostalAddress* v14_SiteAddress) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, v14_SiteAddress ? v14_SiteAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcSite::IfcSite(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, 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_rc1::IfcPostalAddress* v14_SiteAddress) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, v14_SiteAddress ? v14_SiteAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSlab -boost::optional< ::Ifc4x3_rc1::IfcSlabTypeEnum::Value > Ifc4x3_rc1::IfcSlab::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSlabTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcSlabTypeEnum::Value > Ifc4x3_rc1::IfcSlab::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSlabTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcSlab::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSlabTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcSlabTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcSlab::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1031]); } const IfcParse::entity& Ifc4x3_rc1::IfcSlab::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1031]); } Ifc4x3_rc1::IfcSlab::IfcSlab(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc1::IfcSlab::IfcSlab(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcSlab::IfcSlab(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSlabElementedCase @@ -15815,7 +15815,7 @@ Ifc4x3_rc1::IfcSlab::IfcSlab(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHist const IfcParse::entity& Ifc4x3_rc1::IfcSlabElementedCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1032]); } const IfcParse::entity& Ifc4x3_rc1::IfcSlabElementedCase::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1032]); } Ifc4x3_rc1::IfcSlabElementedCase::IfcSlabElementedCase(IfcEntityInstanceData&& e) : IfcSlab(std::move(e)) { } -Ifc4x3_rc1::IfcSlabElementedCase::IfcSlabElementedCase(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcSlab(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcSlabElementedCase::IfcSlabElementedCase(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcSlab(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSlabStandardCase @@ -15823,51 +15823,51 @@ Ifc4x3_rc1::IfcSlabElementedCase::IfcSlabElementedCase(std::string v1_GlobalId, const IfcParse::entity& Ifc4x3_rc1::IfcSlabStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1033]); } const IfcParse::entity& Ifc4x3_rc1::IfcSlabStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1033]); } Ifc4x3_rc1::IfcSlabStandardCase::IfcSlabStandardCase(IfcEntityInstanceData&& e) : IfcSlab(std::move(e)) { } -Ifc4x3_rc1::IfcSlabStandardCase::IfcSlabStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcSlab(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcSlabStandardCase::IfcSlabStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcSlab(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSlabType -::Ifc4x3_rc1::IfcSlabTypeEnum::Value Ifc4x3_rc1::IfcSlabType::PredefinedType() const { return ::Ifc4x3_rc1::IfcSlabTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcSlabTypeEnum::Value Ifc4x3_rc1::IfcSlabType::PredefinedType() const { return ::Ifc4x3_rc1::IfcSlabTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcSlabType::setPredefinedType(::Ifc4x3_rc1::IfcSlabTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcSlabTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcSlabType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1034]); } const IfcParse::entity& Ifc4x3_rc1::IfcSlabType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1034]); } Ifc4x3_rc1::IfcSlabType::IfcSlabType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc1::IfcSlabType::IfcSlabType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSlabTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcSlabType::IfcSlabType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSlabTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSlippageConnectionCondition -boost::optional< double > Ifc4x3_rc1::IfcSlippageConnectionCondition::SlippageX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc1::IfcSlippageConnectionCondition::SlippageX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcSlippageConnectionCondition::setSlippageX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc1::IfcSlippageConnectionCondition::SlippageY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc1::IfcSlippageConnectionCondition::SlippageY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcSlippageConnectionCondition::setSlippageY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc1::IfcSlippageConnectionCondition::SlippageZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc1::IfcSlippageConnectionCondition::SlippageZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcSlippageConnectionCondition::setSlippageZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc1::IfcSlippageConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1036]); } const IfcParse::entity& Ifc4x3_rc1::IfcSlippageConnectionCondition::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1036]); } Ifc4x3_rc1::IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(IfcEntityInstanceData&& e) : IfcStructuralConnectionCondition(std::move(e)) { } -Ifc4x3_rc1::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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; populate_derived(); } +Ifc4x3_rc1::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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; populate_derived(); } // Function implementations for IfcSolarDevice -boost::optional< ::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value > Ifc4x3_rc1::IfcSolarDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value > Ifc4x3_rc1::IfcSolarDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcSolarDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcSolarDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1037]); } const IfcParse::entity& Ifc4x3_rc1::IfcSolarDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1037]); } Ifc4x3_rc1::IfcSolarDevice::IfcSolarDevice(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc1::IfcSolarDevice::IfcSolarDevice(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcSolarDevice::IfcSolarDevice(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSolarDeviceType -::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value Ifc4x3_rc1::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value Ifc4x3_rc1::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcSolarDeviceType::setPredefinedType(::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcSolarDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1038]); } const IfcParse::entity& Ifc4x3_rc1::IfcSolarDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1038]); } Ifc4x3_rc1::IfcSolarDeviceType::IfcSolarDeviceType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc1::IfcSolarDeviceType::IfcSolarDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcSolarDeviceType::IfcSolarDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSolidModel @@ -15875,7 +15875,7 @@ Ifc4x3_rc1::IfcSolarDeviceType::IfcSolarDeviceType(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x3_rc1::IfcSolidModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1041]); } const IfcParse::entity& Ifc4x3_rc1::IfcSolidModel::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1041]); } Ifc4x3_rc1::IfcSolidModel::IfcSolidModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc1::IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcSolidStratum @@ -15883,12 +15883,12 @@ Ifc4x3_rc1::IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem(IfcE const IfcParse::entity& Ifc4x3_rc1::IfcSolidStratum::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1043]); } const IfcParse::entity& Ifc4x3_rc1::IfcSolidStratum::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1043]); } Ifc4x3_rc1::IfcSolidStratum::IfcSolidStratum(IfcEntityInstanceData&& e) : IfcGeotechnicalStratum(std::move(e)) { } -Ifc4x3_rc1::IfcSolidStratum::IfcSolidStratum(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalStratum(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc1::IfcSolidStratum::IfcSolidStratum(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalStratum(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcSpace -boost::optional< ::Ifc4x3_rc1::IfcSpaceTypeEnum::Value > Ifc4x3_rc1::IfcSpace::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSpaceTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc1::IfcSpaceTypeEnum::Value > Ifc4x3_rc1::IfcSpace::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcSpace::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSpaceTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcSpaceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc1::IfcSpace::ElevationWithFlooring() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc1::IfcSpace::ElevationWithFlooring() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcSpace::setElevationWithFlooring(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } ::Ifc4x3_rc1::IfcRelCoversSpaces::list::ptr Ifc4x3_rc1::IfcSpace::HasCoverings() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[939], 4)->as(); } @@ -15897,42 +15897,42 @@ void Ifc4x3_rc1::IfcSpace::setElevationWithFlooring(boost::optional< double > v) const IfcParse::entity& Ifc4x3_rc1::IfcSpace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1048]); } const IfcParse::entity& Ifc4x3_rc1::IfcSpace::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1048]); } Ifc4x3_rc1::IfcSpace::IfcSpace(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x3_rc1::IfcSpace::IfcSpace(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_rc1::IfcSpaceTypeEnum::Value > v10_PredefinedType, boost::optional< double > v11_ElevationWithFlooring) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; populate_derived(); } +Ifc4x3_rc1::IfcSpace::IfcSpace(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_rc1::IfcSpaceTypeEnum::Value > v10_PredefinedType, boost::optional< double > v11_ElevationWithFlooring) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; populate_derived(); } // Function implementations for IfcSpaceHeater -boost::optional< ::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value > Ifc4x3_rc1::IfcSpaceHeater::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value > Ifc4x3_rc1::IfcSpaceHeater::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcSpaceHeater::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcSpaceHeater::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1050]); } const IfcParse::entity& Ifc4x3_rc1::IfcSpaceHeater::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1050]); } Ifc4x3_rc1::IfcSpaceHeater::IfcSpaceHeater(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc1::IfcSpaceHeater::IfcSpaceHeater(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcSpaceHeater::IfcSpaceHeater(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSpaceHeaterType -::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value Ifc4x3_rc1::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value Ifc4x3_rc1::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcSpaceHeaterType::setPredefinedType(::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcSpaceHeaterType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1051]); } const IfcParse::entity& Ifc4x3_rc1::IfcSpaceHeaterType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1051]); } Ifc4x3_rc1::IfcSpaceHeaterType::IfcSpaceHeaterType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc1::IfcSpaceHeaterType::IfcSpaceHeaterType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcSpaceHeaterType::IfcSpaceHeaterType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSpaceType -::Ifc4x3_rc1::IfcSpaceTypeEnum::Value Ifc4x3_rc1::IfcSpaceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcSpaceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcSpaceTypeEnum::Value Ifc4x3_rc1::IfcSpaceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcSpaceType::setPredefinedType(::Ifc4x3_rc1::IfcSpaceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcSpaceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3_rc1::IfcSpaceType::LongName() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcSpaceType::LongName() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcSpaceType::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc1::IfcSpaceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1053]); } const IfcParse::entity& Ifc4x3_rc1::IfcSpaceType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1053]); } Ifc4x3_rc1::IfcSpaceType::IfcSpaceType(IfcEntityInstanceData&& e) : IfcSpatialStructureElementType(std::move(e)) { } -Ifc4x3_rc1::IfcSpaceType::IfcSpaceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSpaceTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialStructureElementType(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } +Ifc4x3_rc1::IfcSpaceType::IfcSpaceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSpaceTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialStructureElementType(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } // Function implementations for IfcSpatialElement -boost::optional< std::string > Ifc4x3_rc1::IfcSpatialElement::LongName() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcSpatialElement::LongName() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcSpatialElement::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } ::Ifc4x3_rc1::IfcRelContainedInSpatialStructure::list::ptr Ifc4x3_rc1::IfcSpatialElement::ContainsElements() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[937], 5)->as(); } @@ -15942,27 +15942,27 @@ void Ifc4x3_rc1::IfcSpatialElement::setLongName(boost::optional< std::string > v const IfcParse::entity& Ifc4x3_rc1::IfcSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1055]); } const IfcParse::entity& Ifc4x3_rc1::IfcSpatialElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1055]); } Ifc4x3_rc1::IfcSpatialElement::IfcSpatialElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_rc1::IfcSpatialElement::IfcSpatialElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcProduct(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } +Ifc4x3_rc1::IfcSpatialElement::IfcSpatialElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } // Function implementations for IfcSpatialElementType -boost::optional< std::string > Ifc4x3_rc1::IfcSpatialElementType::ElementType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcSpatialElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcSpatialElementType::setElementType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcSpatialElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1056]); } const IfcParse::entity& Ifc4x3_rc1::IfcSpatialElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1056]); } Ifc4x3_rc1::IfcSpatialElementType::IfcSpatialElementType(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(e)) { } -Ifc4x3_rc1::IfcSpatialElementType::IfcSpatialElementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc1::IfcSpatialElementType::IfcSpatialElementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcSpatialStructureElement -boost::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > Ifc4x3_rc1::IfcSpatialStructureElement::CompositionType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcElementCompositionEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > Ifc4x3_rc1::IfcSpatialStructureElement::CompositionType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcElementCompositionEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcSpatialStructureElement::setCompositionType(boost::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcSpatialStructureElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1058]); } const IfcParse::entity& Ifc4x3_rc1::IfcSpatialStructureElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1058]); } Ifc4x3_rc1::IfcSpatialStructureElement::IfcSpatialStructureElement(IfcEntityInstanceData&& e) : IfcSpatialElement(std::move(e)) { } -Ifc4x3_rc1::IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } +Ifc4x3_rc1::IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc1::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } // Function implementations for IfcSpatialStructureElementType @@ -15970,132 +15970,132 @@ Ifc4x3_rc1::IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v const IfcParse::entity& Ifc4x3_rc1::IfcSpatialStructureElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1059]); } const IfcParse::entity& Ifc4x3_rc1::IfcSpatialStructureElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1059]); } Ifc4x3_rc1::IfcSpatialStructureElementType::IfcSpatialStructureElementType(IfcEntityInstanceData&& e) : IfcSpatialElementType(std::move(e)) { } -Ifc4x3_rc1::IfcSpatialStructureElementType::IfcSpatialStructureElementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcSpatialElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc1::IfcSpatialStructureElementType::IfcSpatialStructureElementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcSpatialElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcSpatialZone -boost::optional< ::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value > Ifc4x3_rc1::IfcSpatialZone::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value > Ifc4x3_rc1::IfcSpatialZone::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcSpatialZone::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcSpatialZone::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1060]); } const IfcParse::entity& Ifc4x3_rc1::IfcSpatialZone::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1060]); } Ifc4x3_rc1::IfcSpatialZone::IfcSpatialZone(IfcEntityInstanceData&& e) : IfcSpatialElement(std::move(e)) { } -Ifc4x3_rc1::IfcSpatialZone::IfcSpatialZone(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) : IfcSpatialElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcSpatialZone::IfcSpatialZone(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) : IfcSpatialElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSpatialZoneType -::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value Ifc4x3_rc1::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value Ifc4x3_rc1::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcSpatialZoneType::setPredefinedType(::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3_rc1::IfcSpatialZoneType::LongName() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcSpatialZoneType::LongName() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcSpatialZoneType::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc1::IfcSpatialZoneType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1061]); } const IfcParse::entity& Ifc4x3_rc1::IfcSpatialZoneType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1061]); } Ifc4x3_rc1::IfcSpatialZoneType::IfcSpatialZoneType(IfcEntityInstanceData&& e) : IfcSpatialElementType(std::move(e)) { } -Ifc4x3_rc1::IfcSpatialZoneType::IfcSpatialZoneType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialElementType(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } +Ifc4x3_rc1::IfcSpatialZoneType::IfcSpatialZoneType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialElementType(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } // Function implementations for IfcSphere -double Ifc4x3_rc1::IfcSphere::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc1::IfcSphere::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcSphere::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcSphere::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1067]); } const IfcParse::entity& Ifc4x3_rc1::IfcSphere::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1067]); } Ifc4x3_rc1::IfcSphere::IfcSphere(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3_rc1::IfcSphere::IfcSphere(::Ifc4x3_rc1::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x3_rc1::IfcSphere::IfcSphere(::Ifc4x3_rc1::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcSphericalSurface -double Ifc4x3_rc1::IfcSphericalSurface::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc1::IfcSphericalSurface::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcSphericalSurface::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcSphericalSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1068]); } const IfcParse::entity& Ifc4x3_rc1::IfcSphericalSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1068]); } Ifc4x3_rc1::IfcSphericalSurface::IfcSphericalSurface(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x3_rc1::IfcSphericalSurface::IfcSphericalSurface(::Ifc4x3_rc1::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x3_rc1::IfcSphericalSurface::IfcSphericalSurface(::Ifc4x3_rc1::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcStackTerminal -boost::optional< ::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value > Ifc4x3_rc1::IfcStackTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcStackTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value > Ifc4x3_rc1::IfcStackTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcStackTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcStackTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcStackTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1069]); } const IfcParse::entity& Ifc4x3_rc1::IfcStackTerminal::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1069]); } Ifc4x3_rc1::IfcStackTerminal::IfcStackTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc1::IfcStackTerminal::IfcStackTerminal(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcStackTerminal::IfcStackTerminal(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcStackTerminalType -::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value Ifc4x3_rc1::IfcStackTerminalType::PredefinedType() const { return ::Ifc4x3_rc1::IfcStackTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value Ifc4x3_rc1::IfcStackTerminalType::PredefinedType() const { return ::Ifc4x3_rc1::IfcStackTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcStackTerminalType::setPredefinedType(::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcStackTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1070]); } const IfcParse::entity& Ifc4x3_rc1::IfcStackTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1070]); } Ifc4x3_rc1::IfcStackTerminalType::IfcStackTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc1::IfcStackTerminalType::IfcStackTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcStackTerminalType::IfcStackTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStair -boost::optional< ::Ifc4x3_rc1::IfcStairTypeEnum::Value > Ifc4x3_rc1::IfcStair::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcStairTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcStairTypeEnum::Value > Ifc4x3_rc1::IfcStair::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcStairTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcStair::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcStairTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcStairTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcStair::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1072]); } const IfcParse::entity& Ifc4x3_rc1::IfcStair::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1072]); } Ifc4x3_rc1::IfcStair::IfcStair(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc1::IfcStair::IfcStair(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcStairTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcStair::IfcStair(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcStairTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcStairFlight -boost::optional< int > Ifc4x3_rc1::IfcStairFlight::NumberOfRisers() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } int v = data_.get_attribute_value(8); return v; } +boost::optional< int > Ifc4x3_rc1::IfcStairFlight::NumberOfRisers() const { if(get_attribute_value(8).isNull()) { return boost::none; } int v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcStairFlight::setNumberOfRisers(boost::optional< int > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< int > Ifc4x3_rc1::IfcStairFlight::NumberOfTreads() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } int v = data_.get_attribute_value(9); return v; } +boost::optional< int > Ifc4x3_rc1::IfcStairFlight::NumberOfTreads() const { if(get_attribute_value(9).isNull()) { return boost::none; } int v = get_attribute_value(9); return v; } void Ifc4x3_rc1::IfcStairFlight::setNumberOfTreads(boost::optional< int > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc1::IfcStairFlight::RiserHeight() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc1::IfcStairFlight::RiserHeight() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcStairFlight::setRiserHeight(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc1::IfcStairFlight::TreadLength() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc1::IfcStairFlight::TreadLength() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc1::IfcStairFlight::setTreadLength(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< ::Ifc4x3_rc1::IfcStairFlightTypeEnum::Value > Ifc4x3_rc1::IfcStairFlight::PredefinedType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcStairFlightTypeEnum::FromString(data_.get_attribute_value(12)); } +boost::optional< ::Ifc4x3_rc1::IfcStairFlightTypeEnum::Value > Ifc4x3_rc1::IfcStairFlight::PredefinedType() const { if(get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcStairFlightTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x3_rc1::IfcStairFlight::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcStairFlightTypeEnum::Value > v) { if (v) {set_attribute_value(12, EnumerationReference(&::Ifc4x3_rc1::IfcStairFlightTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_rc1::IfcStairFlight::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1073]); } const IfcParse::entity& Ifc4x3_rc1::IfcStairFlight::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1073]); } Ifc4x3_rc1::IfcStairFlight::IfcStairFlight(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc1::IfcStairFlight::IfcStairFlight(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRisers, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength, boost::optional< ::Ifc4x3_rc1::IfcStairFlightTypeEnum::Value > v13_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_rc1::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcStairFlight::IfcStairFlight(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRisers, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength, boost::optional< ::Ifc4x3_rc1::IfcStairFlightTypeEnum::Value > v13_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_rc1::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } // Function implementations for IfcStairFlightType -::Ifc4x3_rc1::IfcStairFlightTypeEnum::Value Ifc4x3_rc1::IfcStairFlightType::PredefinedType() const { return ::Ifc4x3_rc1::IfcStairFlightTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcStairFlightTypeEnum::Value Ifc4x3_rc1::IfcStairFlightType::PredefinedType() const { return ::Ifc4x3_rc1::IfcStairFlightTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcStairFlightType::setPredefinedType(::Ifc4x3_rc1::IfcStairFlightTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcStairFlightTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcStairFlightType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1074]); } const IfcParse::entity& Ifc4x3_rc1::IfcStairFlightType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1074]); } Ifc4x3_rc1::IfcStairFlightType::IfcStairFlightType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc1::IfcStairFlightType::IfcStairFlightType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcStairFlightTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcStairFlightType::IfcStairFlightType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcStairFlightTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStairType -::Ifc4x3_rc1::IfcStairTypeEnum::Value Ifc4x3_rc1::IfcStairType::PredefinedType() const { return ::Ifc4x3_rc1::IfcStairTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcStairTypeEnum::Value Ifc4x3_rc1::IfcStairType::PredefinedType() const { return ::Ifc4x3_rc1::IfcStairTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcStairType::setPredefinedType(::Ifc4x3_rc1::IfcStairTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcStairTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcStairType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1076]); } const IfcParse::entity& Ifc4x3_rc1::IfcStairType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1076]); } Ifc4x3_rc1::IfcStairType::IfcStairType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc1::IfcStairType::IfcStairType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcStairTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcStairType::IfcStairType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcStairTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralAction -boost::optional< bool > Ifc4x3_rc1::IfcStructuralAction::DestabilizingLoad() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } bool v = data_.get_attribute_value(9); return v; } +boost::optional< bool > Ifc4x3_rc1::IfcStructuralAction::DestabilizingLoad() const { if(get_attribute_value(9).isNull()) { return boost::none; } bool v = get_attribute_value(9); return v; } void Ifc4x3_rc1::IfcStructuralAction::setDestabilizingLoad(boost::optional< bool > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralAction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1079]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralAction::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1079]); } Ifc4x3_rc1::IfcStructuralAction::IfcStructuralAction(IfcEntityInstanceData&& e) : IfcStructuralActivity(std::move(e)) { } -Ifc4x3_rc1::IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralActivity(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } +Ifc4x3_rc1::IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralActivity(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } // Function implementations for IfcStructuralActivity -::Ifc4x3_rc1::IfcStructuralLoad* Ifc4x3_rc1::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc1::IfcStructuralLoad>(true); } +::Ifc4x3_rc1::IfcStructuralLoad* Ifc4x3_rc1::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc1::IfcStructuralLoad>(true); } void Ifc4x3_rc1::IfcStructuralActivity::setAppliedLoad(::Ifc4x3_rc1::IfcStructuralLoad* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value Ifc4x3_rc1::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value Ifc4x3_rc1::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcStructuralActivity::setGlobalOrLocal(::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } ::Ifc4x3_rc1::IfcRelConnectsStructuralActivity::list::ptr Ifc4x3_rc1::IfcStructuralActivity::AssignedToStructuralItem() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[933], 5)->as(); } @@ -16103,28 +16103,28 @@ void Ifc4x3_rc1::IfcStructuralActivity::setGlobalOrLocal(::Ifc4x3_rc1::IfcGlobal const IfcParse::entity& Ifc4x3_rc1::IfcStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1080]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralActivity::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1080]); } Ifc4x3_rc1::IfcStructuralActivity::IfcStructuralActivity(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_rc1::IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +Ifc4x3_rc1::IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralAnalysisModel -::Ifc4x3_rc1::IfcAnalysisModelTypeEnum::Value Ifc4x3_rc1::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x3_rc1::IfcAnalysisModelTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_rc1::IfcAnalysisModelTypeEnum::Value Ifc4x3_rc1::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x3_rc1::IfcAnalysisModelTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc1::IfcStructuralAnalysisModel::setPredefinedType(::Ifc4x3_rc1::IfcAnalysisModelTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc1::IfcAnalysisModelTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(true); } void Ifc4x3_rc1::IfcStructuralAnalysisModel::setOrientationOf2DPlane(::Ifc4x3_rc1::IfcAxis2Placement3D* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcStructuralLoadGroup >::ptr > Ifc4x3_rc1::IfcStructuralAnalysisModel::LoadedBy() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc1::IfcStructuralLoadGroup >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcStructuralLoadGroup >::ptr > Ifc4x3_rc1::IfcStructuralAnalysisModel::LoadedBy() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc1::IfcStructuralLoadGroup >(); } void Ifc4x3_rc1::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcStructuralLoadGroup >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcStructuralResultGroup >::ptr > Ifc4x3_rc1::IfcStructuralAnalysisModel::HasResults() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_rc1::IfcStructuralResultGroup >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcStructuralResultGroup >::ptr > Ifc4x3_rc1::IfcStructuralAnalysisModel::HasResults() const { if(get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_rc1::IfcStructuralResultGroup >(); } void Ifc4x3_rc1::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcStructuralResultGroup >::ptr > v) { if (v) {set_attribute_value(8, (*v)->generalize());} else {unset_attribute_value(8);} } -::Ifc4x3_rc1::IfcObjectPlacement* Ifc4x3_rc1::IfcStructuralAnalysisModel::SharedPlacement() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc1::IfcObjectPlacement>(true); } +::Ifc4x3_rc1::IfcObjectPlacement* Ifc4x3_rc1::IfcStructuralAnalysisModel::SharedPlacement() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc1::IfcObjectPlacement>(true); } void Ifc4x3_rc1::IfcStructuralAnalysisModel::setSharedPlacement(::Ifc4x3_rc1::IfcObjectPlacement* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralAnalysisModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1082]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralAnalysisModel::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1082]); } Ifc4x3_rc1::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3_rc1::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc1::IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcStructuralResultGroup >::ptr > v9_HasResults, ::Ifc4x3_rc1::IfcObjectPlacement* v10_SharedPlacement) : IfcSystem(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, v7_OrientationOf2DPlane ? v7_OrientationOf2DPlane->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LoadedBy) {set_attribute_value(7, (*v8_LoadedBy)->generalize()); } if (v9_HasResults) {set_attribute_value(8, (*v9_HasResults)->generalize()); }set_attribute_value(9, v10_SharedPlacement ? v10_SharedPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc1::IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcStructuralResultGroup >::ptr > v9_HasResults, ::Ifc4x3_rc1::IfcObjectPlacement* v10_SharedPlacement) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, v7_OrientationOf2DPlane ? v7_OrientationOf2DPlane->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LoadedBy) {set_attribute_value(7, (*v8_LoadedBy)->generalize()); } if (v9_HasResults) {set_attribute_value(8, (*v9_HasResults)->generalize()); }set_attribute_value(9, v10_SharedPlacement ? v10_SharedPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralConnection -::Ifc4x3_rc1::IfcBoundaryCondition* Ifc4x3_rc1::IfcStructuralConnection::AppliedCondition() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc1::IfcBoundaryCondition>(true); } +::Ifc4x3_rc1::IfcBoundaryCondition* Ifc4x3_rc1::IfcStructuralConnection::AppliedCondition() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc1::IfcBoundaryCondition>(true); } void Ifc4x3_rc1::IfcStructuralConnection::setAppliedCondition(::Ifc4x3_rc1::IfcBoundaryCondition* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_rc1::IfcRelConnectsStructuralMember::list::ptr Ifc4x3_rc1::IfcStructuralConnection::ConnectsStructuralMembers() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[934], 5)->as(); } @@ -16132,51 +16132,51 @@ void Ifc4x3_rc1::IfcStructuralConnection::setAppliedCondition(::Ifc4x3_rc1::IfcB const IfcParse::entity& Ifc4x3_rc1::IfcStructuralConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1083]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralConnection::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1083]); } Ifc4x3_rc1::IfcStructuralConnection::IfcStructuralConnection(IfcEntityInstanceData&& e) : IfcStructuralItem(std::move(e)) { } -Ifc4x3_rc1::IfcStructuralConnection::IfcStructuralConnection(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralItem(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcStructuralConnection::IfcStructuralConnection(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralItem(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralConnectionCondition -boost::optional< std::string > Ifc4x3_rc1::IfcStructuralConnectionCondition::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcStructuralConnectionCondition::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcStructuralConnectionCondition::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1084]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralConnectionCondition::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1084]); } Ifc4x3_rc1::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_rc1::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralCurveAction -boost::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_rc1::IfcStructuralCurveAction::ProjectedOrTrue() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_rc1::IfcStructuralCurveAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc1::IfcStructuralCurveAction::setProjectedOrTrue(boost::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_rc1::IfcStructuralCurveAction::PredefinedType() const { return ::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_rc1::IfcStructuralCurveAction::PredefinedType() const { return ::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc1::IfcStructuralCurveAction::setPredefinedType(::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralCurveAction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1085]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralCurveAction::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1085]); } Ifc4x3_rc1::IfcStructuralCurveAction::IfcStructuralCurveAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -Ifc4x3_rc1::IfcStructuralCurveAction::IfcStructuralCurveAction(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcStructuralCurveAction::IfcStructuralCurveAction(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralCurveConnection -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcStructuralCurveConnection::Axis() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc1::IfcDirection>(true); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcStructuralCurveConnection::Axis() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcStructuralCurveConnection::setAxis(::Ifc4x3_rc1::IfcDirection* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralCurveConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1087]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralCurveConnection::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1087]); } Ifc4x3_rc1::IfcStructuralCurveConnection::IfcStructuralCurveConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -Ifc4x3_rc1::IfcStructuralCurveConnection::IfcStructuralCurveConnection(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x3_rc1::IfcDirection* v9_Axis) : IfcStructuralConnection(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcStructuralCurveConnection::IfcStructuralCurveConnection(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x3_rc1::IfcDirection* v9_Axis) : IfcStructuralConnection(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralCurveMember -::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_rc1::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_rc1::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc1::IfcStructuralCurveMember::setPredefinedType(::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc1::IfcDirection>(true); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcStructuralCurveMember::setAxis(::Ifc4x3_rc1::IfcDirection* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralCurveMember::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1088]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralCurveMember::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1088]); } Ifc4x3_rc1::IfcStructuralCurveMember::IfcStructuralCurveMember(IfcEntityInstanceData&& e) : IfcStructuralMember(std::move(e)) { } -Ifc4x3_rc1::IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc1::IfcDirection* v9_Axis) : IfcStructuralMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc1::IfcDirection* v9_Axis) : IfcStructuralMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralCurveMemberVarying @@ -16184,17 +16184,17 @@ Ifc4x3_rc1::IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_Gl const IfcParse::entity& Ifc4x3_rc1::IfcStructuralCurveMemberVarying::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1090]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralCurveMemberVarying::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1090]); } Ifc4x3_rc1::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(IfcEntityInstanceData&& e) : IfcStructuralCurveMember(std::move(e)) { } -Ifc4x3_rc1::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc1::IfcDirection* v9_Axis) : IfcStructuralCurveMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc1::IfcDirection* v9_Axis) : IfcStructuralCurveMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralCurveReaction -::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_rc1::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_rc1::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcStructuralCurveReaction::setPredefinedType(::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralCurveReaction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1091]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralCurveReaction::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1091]); } Ifc4x3_rc1::IfcStructuralCurveReaction::IfcStructuralCurveReaction(IfcEntityInstanceData&& e) : IfcStructuralReaction(std::move(e)) { } -Ifc4x3_rc1::IfcStructuralCurveReaction::IfcStructuralCurveReaction(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcStructuralCurveReaction::IfcStructuralCurveReaction(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralItem @@ -16203,7 +16203,7 @@ Ifc4x3_rc1::IfcStructuralCurveReaction::IfcStructuralCurveReaction(std::string v const IfcParse::entity& Ifc4x3_rc1::IfcStructuralItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1092]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralItem::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1092]); } Ifc4x3_rc1::IfcStructuralItem::IfcStructuralItem(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_rc1::IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralLinearAction @@ -16211,50 +16211,50 @@ Ifc4x3_rc1::IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLinearAction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1093]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLinearAction::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1093]); } Ifc4x3_rc1::IfcStructuralLinearAction::IfcStructuralLinearAction(IfcEntityInstanceData&& e) : IfcStructuralCurveAction(std::move(e)) { } -Ifc4x3_rc1::IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralCurveAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralCurveAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralLoad -boost::optional< std::string > Ifc4x3_rc1::IfcStructuralLoad::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcStructuralLoad::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcStructuralLoad::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoad::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1094]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoad::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1094]); } Ifc4x3_rc1::IfcStructuralLoad::IfcStructuralLoad(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_rc1::IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralLoadCase -boost::optional< std::vector< double > /*[3:3]*/ > Ifc4x3_rc1::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::vector< double > /*[3:3]*/ v = data_.get_attribute_value(10); return v; } +boost::optional< std::vector< double > /*[3:3]*/ > Ifc4x3_rc1::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::vector< double > /*[3:3]*/ v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcStructuralLoadCase::setSelfWeightCoefficients(boost::optional< std::vector< double > /*[3:3]*/ > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1095]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadCase::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1095]); } Ifc4x3_rc1::IfcStructuralLoadCase::IfcStructuralLoadCase(IfcEntityInstanceData&& e) : IfcStructuralLoadGroup(std::move(e)) { } -Ifc4x3_rc1::IfcStructuralLoadCase::IfcStructuralLoadCase(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc1::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(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc1::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); }; populate_derived(); } +Ifc4x3_rc1::IfcStructuralLoadCase::IfcStructuralLoadCase(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc1::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(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc1::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); }; populate_derived(); } // Function implementations for IfcStructuralLoadConfiguration -aggregate_of< ::Ifc4x3_rc1::IfcStructuralLoadOrResult >::ptr Ifc4x3_rc1::IfcStructuralLoadConfiguration::Values() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcStructuralLoadOrResult >(); } +aggregate_of< ::Ifc4x3_rc1::IfcStructuralLoadOrResult >::ptr Ifc4x3_rc1::IfcStructuralLoadConfiguration::Values() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcStructuralLoadOrResult >(); } void Ifc4x3_rc1::IfcStructuralLoadConfiguration::setValues(aggregate_of< ::Ifc4x3_rc1::IfcStructuralLoadOrResult >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::vector< std::vector< double > > > Ifc4x3_rc1::IfcStructuralLoadConfiguration::Locations() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< std::vector< double > > v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< std::vector< double > > > Ifc4x3_rc1::IfcStructuralLoadConfiguration::Locations() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< std::vector< double > > v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcStructuralLoadConfiguration::setLocations(boost::optional< std::vector< std::vector< double > > > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadConfiguration::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1096]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadConfiguration::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1096]); } Ifc4x3_rc1::IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(IfcEntityInstanceData&& e) : IfcStructuralLoad(std::move(e)) { } -Ifc4x3_rc1::IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc1::IfcStructuralLoadOrResult >::ptr v2_Values, boost::optional< std::vector< std::vector< double > > > v3_Locations) : IfcStructuralLoad(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Values)->generalize()); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); }; populate_derived(); } +Ifc4x3_rc1::IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc1::IfcStructuralLoadOrResult >::ptr v2_Values, boost::optional< std::vector< std::vector< double > > > v3_Locations) : IfcStructuralLoad(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Values)->generalize()); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); }; populate_derived(); } // Function implementations for IfcStructuralLoadGroup -::Ifc4x3_rc1::IfcLoadGroupTypeEnum::Value Ifc4x3_rc1::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4x3_rc1::IfcLoadGroupTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_rc1::IfcLoadGroupTypeEnum::Value Ifc4x3_rc1::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4x3_rc1::IfcLoadGroupTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc1::IfcStructuralLoadGroup::setPredefinedType(::Ifc4x3_rc1::IfcLoadGroupTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc1::IfcLoadGroupTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc1::IfcActionTypeEnum::Value Ifc4x3_rc1::IfcStructuralLoadGroup::ActionType() const { return ::Ifc4x3_rc1::IfcActionTypeEnum::FromString(data_.get_attribute_value(6)); } +::Ifc4x3_rc1::IfcActionTypeEnum::Value Ifc4x3_rc1::IfcStructuralLoadGroup::ActionType() const { return ::Ifc4x3_rc1::IfcActionTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_rc1::IfcStructuralLoadGroup::setActionType(::Ifc4x3_rc1::IfcActionTypeEnum::Value v) { set_attribute_value(6, EnumerationReference(&::Ifc4x3_rc1::IfcActionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc1::IfcActionSourceTypeEnum::Value Ifc4x3_rc1::IfcStructuralLoadGroup::ActionSource() const { return ::Ifc4x3_rc1::IfcActionSourceTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc1::IfcActionSourceTypeEnum::Value Ifc4x3_rc1::IfcStructuralLoadGroup::ActionSource() const { return ::Ifc4x3_rc1::IfcActionSourceTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc1::IfcStructuralLoadGroup::setActionSource(::Ifc4x3_rc1::IfcActionSourceTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc1::IfcActionSourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadGroup::Coefficient() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadGroup::Coefficient() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcStructuralLoadGroup::setCoefficient(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_rc1::IfcStructuralLoadGroup::Purpose() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcStructuralLoadGroup::Purpose() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc1::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } ::Ifc4x3_rc1::IfcStructuralResultGroup::list::ptr Ifc4x3_rc1::IfcStructuralLoadGroup::SourceOfResultGroup() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[1113], 6)->as(); } @@ -16263,27 +16263,27 @@ void Ifc4x3_rc1::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1097]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadGroup::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1097]); } Ifc4x3_rc1::IfcStructuralLoadGroup::IfcStructuralLoadGroup(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x3_rc1::IfcStructuralLoadGroup::IfcStructuralLoadGroup(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc1::IfcActionSourceTypeEnum::Value v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose) : IfcGroup(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc1::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; populate_derived(); } +Ifc4x3_rc1::IfcStructuralLoadGroup::IfcStructuralLoadGroup(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc1::IfcActionSourceTypeEnum::Value v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc1::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; populate_derived(); } // Function implementations for IfcStructuralLoadLinearForce -boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadLinearForce::LinearForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadLinearForce::LinearForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcStructuralLoadLinearForce::setLinearForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadLinearForce::LinearForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadLinearForce::LinearForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcStructuralLoadLinearForce::setLinearForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadLinearForce::LinearForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadLinearForce::LinearForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcStructuralLoadLinearForce::setLinearForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadLinearForce::LinearMomentX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadLinearForce::LinearMomentX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcStructuralLoadLinearForce::setLinearMomentX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadLinearForce::LinearMomentY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadLinearForce::LinearMomentY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcStructuralLoadLinearForce::setLinearMomentY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadLinearForce::LinearMomentZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadLinearForce::LinearMomentZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcStructuralLoadLinearForce::setLinearMomentZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadLinearForce::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1098]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadLinearForce::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1098]); } Ifc4x3_rc1::IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3_rc1::IfcStructuralLoadLinearForce::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) : IfcStructuralLoadStatic(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; populate_derived(); } +Ifc4x3_rc1::IfcStructuralLoadLinearForce::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) : IfcStructuralLoadStatic(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadOrResult @@ -16291,81 +16291,81 @@ Ifc4x3_rc1::IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(boost::op const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadOrResult::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1099]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadOrResult::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1099]); } Ifc4x3_rc1::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(IfcEntityInstanceData&& e) : IfcStructuralLoad(std::move(e)) { } -Ifc4x3_rc1::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional< std::string > v1_Name) : IfcStructuralLoad(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_rc1::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional< std::string > v1_Name) : IfcStructuralLoad(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralLoadPlanarForce -boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcStructuralLoadPlanarForce::setPlanarForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadPlanarForce::PlanarForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadPlanarForce::PlanarForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcStructuralLoadPlanarForce::setPlanarForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadPlanarForce::PlanarForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadPlanarForce::PlanarForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcStructuralLoadPlanarForce::setPlanarForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadPlanarForce::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1100]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadPlanarForce::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1100]); } Ifc4x3_rc1::IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3_rc1::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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; populate_derived(); } +Ifc4x3_rc1::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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleDisplacement -boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::setDisplacementX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::DisplacementY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::DisplacementY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::setDisplacementY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::DisplacementZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::DisplacementZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::setDisplacementZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1101]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1101]); } Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3_rc1::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; populate_derived(); } +Ifc4x3_rc1::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleDisplacementDistortion -boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadSingleDisplacementDistortion::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1102]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadSingleDisplacementDistortion::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1102]); } Ifc4x3_rc1::IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDisplacementDistortion(IfcEntityInstanceData&& e) : IfcStructuralLoadSingleDisplacement(std::move(e)) { } -Ifc4x3_rc1::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(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; populate_derived(); } +Ifc4x3_rc1::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(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleForce -boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleForce::ForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleForce::ForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcStructuralLoadSingleForce::setForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleForce::ForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleForce::ForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcStructuralLoadSingleForce::setForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleForce::ForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleForce::ForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcStructuralLoadSingleForce::setForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleForce::MomentX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleForce::MomentX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcStructuralLoadSingleForce::setMomentX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleForce::MomentY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleForce::MomentY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcStructuralLoadSingleForce::setMomentY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleForce::MomentZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleForce::MomentZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcStructuralLoadSingleForce::setMomentZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadSingleForce::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1103]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadSingleForce::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1103]); } Ifc4x3_rc1::IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3_rc1::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; populate_derived(); } +Ifc4x3_rc1::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleForceWarping -boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcStructuralLoadSingleForceWarping::setWarpingMoment(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadSingleForceWarping::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1104]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadSingleForceWarping::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1104]); } Ifc4x3_rc1::IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWarping(IfcEntityInstanceData&& e) : IfcStructuralLoadSingleForce(std::move(e)) { } -Ifc4x3_rc1::IfcStructuralLoadSingleForceWarping::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) : IfcStructuralLoadSingleForce(IfcEntityInstanceData(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; populate_derived(); } +Ifc4x3_rc1::IfcStructuralLoadSingleForceWarping::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) : IfcStructuralLoadSingleForce(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; populate_derived(); } // Function implementations for IfcStructuralLoadStatic @@ -16373,21 +16373,21 @@ Ifc4x3_rc1::IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWar const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadStatic::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1105]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadStatic::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1105]); } Ifc4x3_rc1::IfcStructuralLoadStatic::IfcStructuralLoadStatic(IfcEntityInstanceData&& e) : IfcStructuralLoadOrResult(std::move(e)) { } -Ifc4x3_rc1::IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< std::string > v1_Name) : IfcStructuralLoadOrResult(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_rc1::IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< std::string > v1_Name) : IfcStructuralLoadOrResult(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralLoadTemperature -boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadTemperature::DeltaTConstant() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadTemperature::DeltaTConstant() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcStructuralLoadTemperature::setDeltaTConstant(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadTemperature::DeltaTY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadTemperature::DeltaTY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcStructuralLoadTemperature::setDeltaTY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadTemperature::DeltaTZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc1::IfcStructuralLoadTemperature::DeltaTZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcStructuralLoadTemperature::setDeltaTZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadTemperature::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1106]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralLoadTemperature::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1106]); } Ifc4x3_rc1::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3_rc1::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::optional< std::string > v1_Name, boost::optional< double > v2_DeltaTConstant, boost::optional< double > v3_DeltaTY, boost::optional< double > v4_DeltaTZ) : IfcStructuralLoadStatic(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); }; populate_derived(); } +Ifc4x3_rc1::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::optional< std::string > v1_Name, boost::optional< double > v2_DeltaTConstant, boost::optional< double > v3_DeltaTY, boost::optional< double > v4_DeltaTZ) : IfcStructuralLoadStatic(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); }; populate_derived(); } // Function implementations for IfcStructuralMember @@ -16396,7 +16396,7 @@ Ifc4x3_rc1::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::op const IfcParse::entity& Ifc4x3_rc1::IfcStructuralMember::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1107]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralMember::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1107]); } Ifc4x3_rc1::IfcStructuralMember::IfcStructuralMember(IfcEntityInstanceData&& e) : IfcStructuralItem(std::move(e)) { } -Ifc4x3_rc1::IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation) : IfcStructuralItem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation) : IfcStructuralItem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralPlanarAction @@ -16404,7 +16404,7 @@ Ifc4x3_rc1::IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x3_rc1::IfcStructuralPlanarAction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1108]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralPlanarAction::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1108]); } Ifc4x3_rc1::IfcStructuralPlanarAction::IfcStructuralPlanarAction(IfcEntityInstanceData&& e) : IfcStructuralSurfaceAction(std::move(e)) { } -Ifc4x3_rc1::IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralSurfaceAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralSurfaceAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralPointAction @@ -16412,17 +16412,17 @@ Ifc4x3_rc1::IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_ const IfcParse::entity& Ifc4x3_rc1::IfcStructuralPointAction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1109]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralPointAction::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1109]); } Ifc4x3_rc1::IfcStructuralPointAction::IfcStructuralPointAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -Ifc4x3_rc1::IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralAction(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } +Ifc4x3_rc1::IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralAction(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } // Function implementations for IfcStructuralPointConnection -::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(true); } void Ifc4x3_rc1::IfcStructuralPointConnection::setConditionCoordinateSystem(::Ifc4x3_rc1::IfcAxis2Placement3D* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralPointConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1110]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralPointConnection::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1110]); } Ifc4x3_rc1::IfcStructuralPointConnection::IfcStructuralPointConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -Ifc4x3_rc1::IfcStructuralPointConnection::IfcStructuralPointConnection(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x3_rc1::IfcAxis2Placement3D* v9_ConditionCoordinateSystem) : IfcStructuralConnection(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_ConditionCoordinateSystem ? v9_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcStructuralPointConnection::IfcStructuralPointConnection(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x3_rc1::IfcAxis2Placement3D* v9_ConditionCoordinateSystem) : IfcStructuralConnection(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_ConditionCoordinateSystem ? v9_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralPointReaction @@ -16430,7 +16430,7 @@ Ifc4x3_rc1::IfcStructuralPointConnection::IfcStructuralPointConnection(std::stri const IfcParse::entity& Ifc4x3_rc1::IfcStructuralPointReaction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1111]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralPointReaction::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1111]); } Ifc4x3_rc1::IfcStructuralPointReaction::IfcStructuralPointReaction(IfcEntityInstanceData&& e) : IfcStructuralReaction(std::move(e)) { } -Ifc4x3_rc1::IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralReaction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +Ifc4x3_rc1::IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralReaction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralReaction @@ -16438,14 +16438,14 @@ Ifc4x3_rc1::IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v const IfcParse::entity& Ifc4x3_rc1::IfcStructuralReaction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1112]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralReaction::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1112]); } Ifc4x3_rc1::IfcStructuralReaction::IfcStructuralReaction(IfcEntityInstanceData&& e) : IfcStructuralActivity(std::move(e)) { } -Ifc4x3_rc1::IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralActivity(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +Ifc4x3_rc1::IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralActivity(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralResultGroup -::Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_rc1::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_rc1::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc1::IfcStructuralResultGroup::setTheoryType(::Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc1::IfcStructuralLoadGroup* Ifc4x3_rc1::IfcStructuralResultGroup::ResultForLoadGroup() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcStructuralLoadGroup>(true); } +::Ifc4x3_rc1::IfcStructuralLoadGroup* Ifc4x3_rc1::IfcStructuralResultGroup::ResultForLoadGroup() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcStructuralLoadGroup>(true); } void Ifc4x3_rc1::IfcStructuralResultGroup::setResultForLoadGroup(::Ifc4x3_rc1::IfcStructuralLoadGroup* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -bool Ifc4x3_rc1::IfcStructuralResultGroup::IsLinear() const { bool v = data_.get_attribute_value(7); return v; } +bool Ifc4x3_rc1::IfcStructuralResultGroup::IsLinear() const { bool v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcStructuralResultGroup::setIsLinear(bool v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_rc1::IfcStructuralAnalysisModel::list::ptr Ifc4x3_rc1::IfcStructuralResultGroup::ResultGroupFor() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[1082], 8)->as(); } @@ -16453,19 +16453,19 @@ void Ifc4x3_rc1::IfcStructuralResultGroup::setIsLinear(bool v) { set_attribute_v const IfcParse::entity& Ifc4x3_rc1::IfcStructuralResultGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1113]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralResultGroup::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1113]); } Ifc4x3_rc1::IfcStructuralResultGroup::IfcStructuralResultGroup(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x3_rc1::IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_rc1::IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear) : IfcGroup(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, v7_ResultForLoadGroup ? v7_ResultForLoadGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_IsLinear));; populate_derived(); } +Ifc4x3_rc1::IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_rc1::IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, v7_ResultForLoadGroup ? v7_ResultForLoadGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_IsLinear));; populate_derived(); } // Function implementations for IfcStructuralSurfaceAction -boost::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_rc1::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_rc1::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc1::IfcStructuralSurfaceAction::setProjectedOrTrue(boost::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_rc1::IfcStructuralSurfaceAction::PredefinedType() const { return ::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_rc1::IfcStructuralSurfaceAction::PredefinedType() const { return ::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc1::IfcStructuralSurfaceAction::setPredefinedType(::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralSurfaceAction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1114]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralSurfaceAction::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1114]); } Ifc4x3_rc1::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -Ifc4x3_rc1::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralSurfaceConnection @@ -16473,19 +16473,19 @@ Ifc4x3_rc1::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(std::string v const IfcParse::entity& Ifc4x3_rc1::IfcStructuralSurfaceConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1116]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralSurfaceConnection::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1116]); } Ifc4x3_rc1::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -Ifc4x3_rc1::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralSurfaceMember -::Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_rc1::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_rc1::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc1::IfcStructuralSurfaceMember::setPredefinedType(::Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc4x3_rc1::IfcStructuralSurfaceMember::Thickness() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc1::IfcStructuralSurfaceMember::Thickness() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcStructuralSurfaceMember::setThickness(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralSurfaceMember::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1117]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralSurfaceMember::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1117]); } Ifc4x3_rc1::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(IfcEntityInstanceData&& e) : IfcStructuralMember(std::move(e)) { } -Ifc4x3_rc1::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } +Ifc4x3_rc1::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } // Function implementations for IfcStructuralSurfaceMemberVarying @@ -16493,17 +16493,17 @@ Ifc4x3_rc1::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v const IfcParse::entity& Ifc4x3_rc1::IfcStructuralSurfaceMemberVarying::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1119]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralSurfaceMemberVarying::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1119]); } Ifc4x3_rc1::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(IfcEntityInstanceData&& e) : IfcStructuralSurfaceMember(std::move(e)) { } -Ifc4x3_rc1::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralSurfaceMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } +Ifc4x3_rc1::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralSurfaceMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } // Function implementations for IfcStructuralSurfaceReaction -::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_rc1::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_rc1::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcStructuralSurfaceReaction::setPredefinedType(::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralSurfaceReaction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1120]); } const IfcParse::entity& Ifc4x3_rc1::IfcStructuralSurfaceReaction::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1120]); } Ifc4x3_rc1::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(IfcEntityInstanceData&& e) : IfcStructuralReaction(std::move(e)) { } -Ifc4x3_rc1::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStyleModel @@ -16511,21 +16511,21 @@ Ifc4x3_rc1::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(std::stri const IfcParse::entity& Ifc4x3_rc1::IfcStyleModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1124]); } const IfcParse::entity& Ifc4x3_rc1::IfcStyleModel::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1124]); } Ifc4x3_rc1::IfcStyleModel::IfcStyleModel(IfcEntityInstanceData&& e) : IfcRepresentation(std::move(e)) { } -Ifc4x3_rc1::IfcStyleModel::IfcStyleModel(::Ifc4x3_rc1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc1::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcStyleModel::IfcStyleModel(::Ifc4x3_rc1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc1::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcStyledItem -::Ifc4x3_rc1::IfcRepresentationItem* Ifc4x3_rc1::IfcStyledItem::Item() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcRepresentationItem>(true); } +::Ifc4x3_rc1::IfcRepresentationItem* Ifc4x3_rc1::IfcStyledItem::Item() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcRepresentationItem>(true); } void Ifc4x3_rc1::IfcStyledItem::setItem(::Ifc4x3_rc1::IfcRepresentationItem* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc1::IfcStyleAssignmentSelect >::ptr Ifc4x3_rc1::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcStyleAssignmentSelect >(); } +aggregate_of< ::Ifc4x3_rc1::IfcStyleAssignmentSelect >::ptr Ifc4x3_rc1::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcStyleAssignmentSelect >(); } void Ifc4x3_rc1::IfcStyledItem::setStyles(aggregate_of< ::Ifc4x3_rc1::IfcStyleAssignmentSelect >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_rc1::IfcStyledItem::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcStyledItem::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcStyledItem::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc1::IfcStyledItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1122]); } const IfcParse::entity& Ifc4x3_rc1::IfcStyledItem::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1122]); } Ifc4x3_rc1::IfcStyledItem::IfcStyledItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcStyledItem::IfcStyledItem(::Ifc4x3_rc1::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x3_rc1::IfcStyleAssignmentSelect >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3_rc1::IfcStyledItem::IfcStyledItem(::Ifc4x3_rc1::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x3_rc1::IfcStyleAssignmentSelect >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcStyledRepresentation @@ -16533,37 +16533,37 @@ Ifc4x3_rc1::IfcStyledItem::IfcStyledItem(::Ifc4x3_rc1::IfcRepresentationItem* v1 const IfcParse::entity& Ifc4x3_rc1::IfcStyledRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1123]); } const IfcParse::entity& Ifc4x3_rc1::IfcStyledRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1123]); } Ifc4x3_rc1::IfcStyledRepresentation::IfcStyledRepresentation(IfcEntityInstanceData&& e) : IfcStyleModel(std::move(e)) { } -Ifc4x3_rc1::IfcStyledRepresentation::IfcStyledRepresentation(::Ifc4x3_rc1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc1::IfcRepresentationItem >::ptr v4_Items) : IfcStyleModel(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcStyledRepresentation::IfcStyledRepresentation(::Ifc4x3_rc1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc1::IfcRepresentationItem >::ptr v4_Items) : IfcStyleModel(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcSubContractResource -boost::optional< ::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Value > Ifc4x3_rc1::IfcSubContractResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Value > Ifc4x3_rc1::IfcSubContractResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc1::IfcSubContractResource::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc1::IfcSubContractResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1125]); } const IfcParse::entity& Ifc4x3_rc1::IfcSubContractResource::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1125]); } Ifc4x3_rc1::IfcSubContractResource::IfcSubContractResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_rc1::IfcSubContractResource::IfcSubContractResource(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcSubContractResource::IfcSubContractResource(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSubContractResourceType -::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Value Ifc4x3_rc1::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Value Ifc4x3_rc1::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc1::IfcSubContractResourceType::setPredefinedType(::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc1::IfcSubContractResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1126]); } const IfcParse::entity& Ifc4x3_rc1::IfcSubContractResourceType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1126]); } Ifc4x3_rc1::IfcSubContractResourceType::IfcSubContractResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_rc1::IfcSubContractResourceType::IfcSubContractResourceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcSubContractResourceType::IfcSubContractResourceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcSubedge -::Ifc4x3_rc1::IfcEdge* Ifc4x3_rc1::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcEdge>(true); } +::Ifc4x3_rc1::IfcEdge* Ifc4x3_rc1::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcEdge>(true); } void Ifc4x3_rc1::IfcSubedge::setParentEdge(::Ifc4x3_rc1::IfcEdge* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc1::IfcSubedge::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1128]); } const IfcParse::entity& Ifc4x3_rc1::IfcSubedge::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1128]); } Ifc4x3_rc1::IfcSubedge::IfcSubedge(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc4x3_rc1::IfcSubedge::IfcSubedge(::Ifc4x3_rc1::IfcVertex* v1_EdgeStart, ::Ifc4x3_rc1::IfcVertex* v2_EdgeEnd, ::Ifc4x3_rc1::IfcEdge* v3_ParentEdge) : IfcEdge(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ParentEdge ? v3_ParentEdge->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcSubedge::IfcSubedge(::Ifc4x3_rc1::IfcVertex* v1_EdgeStart, ::Ifc4x3_rc1::IfcVertex* v2_EdgeEnd, ::Ifc4x3_rc1::IfcEdge* v3_ParentEdge) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ParentEdge ? v3_ParentEdge->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurface @@ -16571,172 +16571,172 @@ Ifc4x3_rc1::IfcSubedge::IfcSubedge(::Ifc4x3_rc1::IfcVertex* v1_EdgeStart, ::Ifc4 const IfcParse::entity& Ifc4x3_rc1::IfcSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1129]); } const IfcParse::entity& Ifc4x3_rc1::IfcSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1129]); } Ifc4x3_rc1::IfcSurface::IfcSurface(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcSurface::IfcSurface() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc1::IfcSurface::IfcSurface() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcSurfaceCurve -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCurve>(true); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcSurfaceCurve::setCurve3D(::Ifc4x3_rc1::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc1::IfcPcurve >::ptr Ifc4x3_rc1::IfcSurfaceCurve::AssociatedGeometry() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcPcurve >(); } +aggregate_of< ::Ifc4x3_rc1::IfcPcurve >::ptr Ifc4x3_rc1::IfcSurfaceCurve::AssociatedGeometry() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcPcurve >(); } void Ifc4x3_rc1::IfcSurfaceCurve::setAssociatedGeometry(aggregate_of< ::Ifc4x3_rc1::IfcPcurve >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x3_rc1::IfcSurfaceCurve::MasterRepresentation() const { return ::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::FromString(data_.get_attribute_value(2)); } +::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x3_rc1::IfcSurfaceCurve::MasterRepresentation() const { return ::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::FromString(get_attribute_value(2)); } void Ifc4x3_rc1::IfcSurfaceCurve::setMasterRepresentation(::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1130]); } const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1130]); } Ifc4x3_rc1::IfcSurfaceCurve::IfcSurfaceCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_rc1::IfcSurfaceCurve::IfcSurfaceCurve(::Ifc4x3_rc1::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_rc1::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } +Ifc4x3_rc1::IfcSurfaceCurve::IfcSurfaceCurve(::Ifc4x3_rc1::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_rc1::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcSurfaceCurveSweptAreaSolid -::Ifc4x3_rc1::IfcSurface* Ifc4x3_rc1::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcSurface>(true); } +::Ifc4x3_rc1::IfcSurface* Ifc4x3_rc1::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcSurface>(true); } void Ifc4x3_rc1::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(::Ifc4x3_rc1::IfcSurface* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceCurveSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1131]); } const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceCurveSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1131]); } Ifc4x3_rc1::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(IfcEntityInstanceData&& e) : IfcDirectrixCurveSweptAreaSolid(std::move(e)) { } -Ifc4x3_rc1::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(::Ifc4x3_rc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc1::IfcCurve* v3_Directrix, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, ::Ifc4x3_rc1::IfcSurface* v6_ReferenceSurface) : IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }set_attribute_value(5, v6_ReferenceSurface ? v6_ReferenceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(::Ifc4x3_rc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc1::IfcCurve* v3_Directrix, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, ::Ifc4x3_rc1::IfcSurface* v6_ReferenceSurface) : IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }set_attribute_value(5, v6_ReferenceSurface ? v6_ReferenceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceFeature -boost::optional< ::Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::Value > Ifc4x3_rc1::IfcSurfaceFeature::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::Value > Ifc4x3_rc1::IfcSurfaceFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcSurfaceFeature::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceFeature::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1132]); } const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceFeature::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1132]); } Ifc4x3_rc1::IfcSurfaceFeature::IfcSurfaceFeature(IfcEntityInstanceData&& e) : IfcFeatureElement(std::move(e)) { } -Ifc4x3_rc1::IfcSurfaceFeature::IfcSurfaceFeature(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcSurfaceFeature::IfcSurfaceFeature(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSurfaceOfLinearExtrusion -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcDirection>(true); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcSurfaceOfLinearExtrusion::setExtrudedDirection(::Ifc4x3_rc1::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc1::IfcSurfaceOfLinearExtrusion::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc1::IfcSurfaceOfLinearExtrusion::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcSurfaceOfLinearExtrusion::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceOfLinearExtrusion::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1134]); } const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceOfLinearExtrusion::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1134]); } Ifc4x3_rc1::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(IfcEntityInstanceData&& e) : IfcSweptSurface(std::move(e)) { } -Ifc4x3_rc1::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(::Ifc4x3_rc1::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_rc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc1::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } +Ifc4x3_rc1::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(::Ifc4x3_rc1::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_rc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc1::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } // Function implementations for IfcSurfaceOfRevolution -::Ifc4x3_rc1::IfcAxis1Placement* Ifc4x3_rc1::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcAxis1Placement>(true); } +::Ifc4x3_rc1::IfcAxis1Placement* Ifc4x3_rc1::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcAxis1Placement>(true); } void Ifc4x3_rc1::IfcSurfaceOfRevolution::setAxisPosition(::Ifc4x3_rc1::IfcAxis1Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceOfRevolution::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1135]); } const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceOfRevolution::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1135]); } Ifc4x3_rc1::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(IfcEntityInstanceData&& e) : IfcSweptSurface(std::move(e)) { } -Ifc4x3_rc1::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(::Ifc4x3_rc1::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_rc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc1::IfcAxis1Placement* v3_AxisPosition) : IfcSweptSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_AxisPosition ? v3_AxisPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(::Ifc4x3_rc1::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_rc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc1::IfcAxis1Placement* v3_AxisPosition) : IfcSweptSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_AxisPosition ? v3_AxisPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceReinforcementArea -boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_rc1::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_rc1::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcSurfaceReinforcementArea::setSurfaceReinforcement1(boost::optional< std::vector< double > /*[2:3]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_rc1::IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_rc1::IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcSurfaceReinforcementArea::setSurfaceReinforcement2(boost::optional< std::vector< double > /*[2:3]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc1::IfcSurfaceReinforcementArea::ShearReinforcement() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc1::IfcSurfaceReinforcementArea::ShearReinforcement() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcSurfaceReinforcementArea::setShearReinforcement(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceReinforcementArea::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1137]); } const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceReinforcementArea::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1137]); } Ifc4x3_rc1::IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(IfcEntityInstanceData&& e) : IfcStructuralLoadOrResult(std::move(e)) { } -Ifc4x3_rc1::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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); }; populate_derived(); } +Ifc4x3_rc1::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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); }; populate_derived(); } // Function implementations for IfcSurfaceStyle -::Ifc4x3_rc1::IfcSurfaceSide::Value Ifc4x3_rc1::IfcSurfaceStyle::Side() const { return ::Ifc4x3_rc1::IfcSurfaceSide::FromString(data_.get_attribute_value(1)); } +::Ifc4x3_rc1::IfcSurfaceSide::Value Ifc4x3_rc1::IfcSurfaceStyle::Side() const { return ::Ifc4x3_rc1::IfcSurfaceSide::FromString(get_attribute_value(1)); } void Ifc4x3_rc1::IfcSurfaceStyle::setSide(::Ifc4x3_rc1::IfcSurfaceSide::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x3_rc1::IfcSurfaceSide::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3_rc1::IfcSurfaceStyleElementSelect >::ptr Ifc4x3_rc1::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcSurfaceStyleElementSelect >(); } +aggregate_of< ::Ifc4x3_rc1::IfcSurfaceStyleElementSelect >::ptr Ifc4x3_rc1::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcSurfaceStyleElementSelect >(); } void Ifc4x3_rc1::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x3_rc1::IfcSurfaceStyleElementSelect >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1139]); } const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1139]); } Ifc4x3_rc1::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x3_rc1::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_rc1::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc1::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, (v3_Styles)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_rc1::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc1::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, (v3_Styles)->generalize());; populate_derived(); } // Function implementations for IfcSurfaceStyleLighting -::Ifc4x3_rc1::IfcColourRgb* Ifc4x3_rc1::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcColourRgb>(true); } +::Ifc4x3_rc1::IfcColourRgb* Ifc4x3_rc1::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcColourRgb>(true); } void Ifc4x3_rc1::IfcSurfaceStyleLighting::setDiffuseTransmissionColour(::Ifc4x3_rc1::IfcColourRgb* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcColourRgb* Ifc4x3_rc1::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcColourRgb>(true); } +::Ifc4x3_rc1::IfcColourRgb* Ifc4x3_rc1::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcColourRgb>(true); } void Ifc4x3_rc1::IfcSurfaceStyleLighting::setDiffuseReflectionColour(::Ifc4x3_rc1::IfcColourRgb* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcColourRgb* Ifc4x3_rc1::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcColourRgb>(true); } +::Ifc4x3_rc1::IfcColourRgb* Ifc4x3_rc1::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcColourRgb>(true); } void Ifc4x3_rc1::IfcSurfaceStyleLighting::setTransmissionColour(::Ifc4x3_rc1::IfcColourRgb* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcColourRgb* Ifc4x3_rc1::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcColourRgb>(true); } +::Ifc4x3_rc1::IfcColourRgb* Ifc4x3_rc1::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcColourRgb>(true); } void Ifc4x3_rc1::IfcSurfaceStyleLighting::setReflectanceColour(::Ifc4x3_rc1::IfcColourRgb* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceStyleLighting::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1141]); } const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceStyleLighting::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1141]); } Ifc4x3_rc1::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(::Ifc4x3_rc1::IfcColourRgb* v1_DiffuseTransmissionColour, ::Ifc4x3_rc1::IfcColourRgb* v2_DiffuseReflectionColour, ::Ifc4x3_rc1::IfcColourRgb* v3_TransmissionColour, ::Ifc4x3_rc1::IfcColourRgb* v4_ReflectanceColour) : IfcPresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_DiffuseTransmissionColour ? v1_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_DiffuseReflectionColour ? v2_DiffuseReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TransmissionColour ? v3_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_ReflectanceColour ? v4_ReflectanceColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(::Ifc4x3_rc1::IfcColourRgb* v1_DiffuseTransmissionColour, ::Ifc4x3_rc1::IfcColourRgb* v2_DiffuseReflectionColour, ::Ifc4x3_rc1::IfcColourRgb* v3_TransmissionColour, ::Ifc4x3_rc1::IfcColourRgb* v4_ReflectanceColour) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_DiffuseTransmissionColour ? v1_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_DiffuseReflectionColour ? v2_DiffuseReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TransmissionColour ? v3_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_ReflectanceColour ? v4_ReflectanceColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceStyleRefraction -boost::optional< double > Ifc4x3_rc1::IfcSurfaceStyleRefraction::RefractionIndex() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } double v = data_.get_attribute_value(0); return v; } +boost::optional< double > Ifc4x3_rc1::IfcSurfaceStyleRefraction::RefractionIndex() const { if(get_attribute_value(0).isNull()) { return boost::none; } double v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcSurfaceStyleRefraction::setRefractionIndex(boost::optional< double > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< double > Ifc4x3_rc1::IfcSurfaceStyleRefraction::DispersionFactor() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc1::IfcSurfaceStyleRefraction::DispersionFactor() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcSurfaceStyleRefraction::setDispersionFactor(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceStyleRefraction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1142]); } const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceStyleRefraction::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1142]); } Ifc4x3_rc1::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; populate_derived(); } +Ifc4x3_rc1::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; populate_derived(); } // Function implementations for IfcSurfaceStyleRendering -::Ifc4x3_rc1::IfcColourOrFactor* Ifc4x3_rc1::IfcSurfaceStyleRendering::DiffuseColour() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcColourOrFactor>(true); } +::Ifc4x3_rc1::IfcColourOrFactor* Ifc4x3_rc1::IfcSurfaceStyleRendering::DiffuseColour() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcColourOrFactor>(true); } void Ifc4x3_rc1::IfcSurfaceStyleRendering::setDiffuseColour(::Ifc4x3_rc1::IfcColourOrFactor* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcColourOrFactor* Ifc4x3_rc1::IfcSurfaceStyleRendering::TransmissionColour() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcColourOrFactor>(true); } +::Ifc4x3_rc1::IfcColourOrFactor* Ifc4x3_rc1::IfcSurfaceStyleRendering::TransmissionColour() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcColourOrFactor>(true); } void Ifc4x3_rc1::IfcSurfaceStyleRendering::setTransmissionColour(::Ifc4x3_rc1::IfcColourOrFactor* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc1::IfcColourOrFactor* Ifc4x3_rc1::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcColourOrFactor>(true); } +::Ifc4x3_rc1::IfcColourOrFactor* Ifc4x3_rc1::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcColourOrFactor>(true); } void Ifc4x3_rc1::IfcSurfaceStyleRendering::setDiffuseTransmissionColour(::Ifc4x3_rc1::IfcColourOrFactor* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcColourOrFactor* Ifc4x3_rc1::IfcSurfaceStyleRendering::ReflectionColour() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcColourOrFactor>(true); } +::Ifc4x3_rc1::IfcColourOrFactor* Ifc4x3_rc1::IfcSurfaceStyleRendering::ReflectionColour() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcColourOrFactor>(true); } void Ifc4x3_rc1::IfcSurfaceStyleRendering::setReflectionColour(::Ifc4x3_rc1::IfcColourOrFactor* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc1::IfcColourOrFactor* Ifc4x3_rc1::IfcSurfaceStyleRendering::SpecularColour() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcColourOrFactor>(true); } +::Ifc4x3_rc1::IfcColourOrFactor* Ifc4x3_rc1::IfcSurfaceStyleRendering::SpecularColour() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcColourOrFactor>(true); } void Ifc4x3_rc1::IfcSurfaceStyleRendering::setSpecularColour(::Ifc4x3_rc1::IfcColourOrFactor* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc1::IfcSpecularHighlightSelect* Ifc4x3_rc1::IfcSurfaceStyleRendering::SpecularHighlight() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc1::IfcSpecularHighlightSelect>(true); } +::Ifc4x3_rc1::IfcSpecularHighlightSelect* Ifc4x3_rc1::IfcSurfaceStyleRendering::SpecularHighlight() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc1::IfcSpecularHighlightSelect>(true); } void Ifc4x3_rc1::IfcSurfaceStyleRendering::setSpecularHighlight(::Ifc4x3_rc1::IfcSpecularHighlightSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc1::IfcReflectanceMethodEnum::Value Ifc4x3_rc1::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4x3_rc1::IfcReflectanceMethodEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc1::IfcReflectanceMethodEnum::Value Ifc4x3_rc1::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4x3_rc1::IfcReflectanceMethodEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcSurfaceStyleRendering::setReflectanceMethod(::Ifc4x3_rc1::IfcReflectanceMethodEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcReflectanceMethodEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceStyleRendering::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1143]); } const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceStyleRendering::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1143]); } Ifc4x3_rc1::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcEntityInstanceData&& e) : IfcSurfaceStyleShading(std::move(e)) { } -Ifc4x3_rc1::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc4x3_rc1::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, ::Ifc4x3_rc1::IfcColourOrFactor* v3_DiffuseColour, ::Ifc4x3_rc1::IfcColourOrFactor* v4_TransmissionColour, ::Ifc4x3_rc1::IfcColourOrFactor* v5_DiffuseTransmissionColour, ::Ifc4x3_rc1::IfcColourOrFactor* v6_ReflectionColour, ::Ifc4x3_rc1::IfcColourOrFactor* v7_SpecularColour, ::Ifc4x3_rc1::IfcSpecularHighlightSelect* v8_SpecularHighlight, ::Ifc4x3_rc1::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) : IfcSurfaceStyleShading(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, v3_DiffuseColour ? v3_DiffuseColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TransmissionColour ? v4_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_DiffuseTransmissionColour ? v5_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReflectionColour ? v6_ReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_SpecularColour ? v7_SpecularColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_SpecularHighlight ? v8_SpecularHighlight->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; populate_derived(); } +Ifc4x3_rc1::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc4x3_rc1::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, ::Ifc4x3_rc1::IfcColourOrFactor* v3_DiffuseColour, ::Ifc4x3_rc1::IfcColourOrFactor* v4_TransmissionColour, ::Ifc4x3_rc1::IfcColourOrFactor* v5_DiffuseTransmissionColour, ::Ifc4x3_rc1::IfcColourOrFactor* v6_ReflectionColour, ::Ifc4x3_rc1::IfcColourOrFactor* v7_SpecularColour, ::Ifc4x3_rc1::IfcSpecularHighlightSelect* v8_SpecularHighlight, ::Ifc4x3_rc1::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) : IfcSurfaceStyleShading(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, v3_DiffuseColour ? v3_DiffuseColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TransmissionColour ? v4_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_DiffuseTransmissionColour ? v5_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReflectionColour ? v6_ReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_SpecularColour ? v7_SpecularColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_SpecularHighlight ? v8_SpecularHighlight->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; populate_derived(); } // Function implementations for IfcSurfaceStyleShading -::Ifc4x3_rc1::IfcColourRgb* Ifc4x3_rc1::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcColourRgb>(true); } +::Ifc4x3_rc1::IfcColourRgb* Ifc4x3_rc1::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcColourRgb>(true); } void Ifc4x3_rc1::IfcSurfaceStyleShading::setSurfaceColour(::Ifc4x3_rc1::IfcColourRgb* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< double > Ifc4x3_rc1::IfcSurfaceStyleShading::Transparency() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc1::IfcSurfaceStyleShading::Transparency() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcSurfaceStyleShading::setTransparency(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceStyleShading::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1144]); } const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceStyleShading::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1144]); } Ifc4x3_rc1::IfcSurfaceStyleShading::IfcSurfaceStyleShading(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcSurfaceStyleShading::IfcSurfaceStyleShading(::Ifc4x3_rc1::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }; populate_derived(); } +Ifc4x3_rc1::IfcSurfaceStyleShading::IfcSurfaceStyleShading(::Ifc4x3_rc1::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }; populate_derived(); } // Function implementations for IfcSurfaceStyleWithTextures -aggregate_of< ::Ifc4x3_rc1::IfcSurfaceTexture >::ptr Ifc4x3_rc1::IfcSurfaceStyleWithTextures::Textures() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcSurfaceTexture >(); } +aggregate_of< ::Ifc4x3_rc1::IfcSurfaceTexture >::ptr Ifc4x3_rc1::IfcSurfaceStyleWithTextures::Textures() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcSurfaceTexture >(); } void Ifc4x3_rc1::IfcSurfaceStyleWithTextures::setTextures(aggregate_of< ::Ifc4x3_rc1::IfcSurfaceTexture >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceStyleWithTextures::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1145]); } const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceStyleWithTextures::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1145]); } Ifc4x3_rc1::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(aggregate_of< ::Ifc4x3_rc1::IfcSurfaceTexture >::ptr v1_Textures) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Textures)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(aggregate_of< ::Ifc4x3_rc1::IfcSurfaceTexture >::ptr v1_Textures) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Textures)->generalize());; populate_derived(); } // Function implementations for IfcSurfaceTexture -bool Ifc4x3_rc1::IfcSurfaceTexture::RepeatS() const { bool v = data_.get_attribute_value(0); return v; } +bool Ifc4x3_rc1::IfcSurfaceTexture::RepeatS() const { bool v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcSurfaceTexture::setRepeatS(bool v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -bool Ifc4x3_rc1::IfcSurfaceTexture::RepeatT() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x3_rc1::IfcSurfaceTexture::RepeatT() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcSurfaceTexture::setRepeatT(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_rc1::IfcSurfaceTexture::Mode() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcSurfaceTexture::Mode() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcSurfaceTexture::setMode(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc1::IfcCartesianTransformationOperator2D* Ifc4x3_rc1::IfcSurfaceTexture::TextureTransform() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcCartesianTransformationOperator2D>(true); } +::Ifc4x3_rc1::IfcCartesianTransformationOperator2D* Ifc4x3_rc1::IfcSurfaceTexture::TextureTransform() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcCartesianTransformationOperator2D>(true); } void Ifc4x3_rc1::IfcSurfaceTexture::setTextureTransform(::Ifc4x3_rc1::IfcCartesianTransformationOperator2D* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcSurfaceTexture::Parameter() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcSurfaceTexture::Parameter() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } ::Ifc4x3_rc1::IfcTextureCoordinate::list::ptr Ifc4x3_rc1::IfcSurfaceTexture::IsMappedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[1197], 0)->as(); } @@ -16745,79 +16745,79 @@ void Ifc4x3_rc1::IfcSurfaceTexture::setParameter(boost::optional< std::vector< s const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1146]); } const IfcParse::entity& Ifc4x3_rc1::IfcSurfaceTexture::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1146]); } Ifc4x3_rc1::IfcSurfaceTexture::IfcSurfaceTexture(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) : IfcPresentationItem(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }; populate_derived(); } +Ifc4x3_rc1::IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }; populate_derived(); } // Function implementations for IfcSweptAreaSolid -::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcProfileDef>(true); } +::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcProfileDef>(true); } void Ifc4x3_rc1::IfcSweptAreaSolid::setSweptArea(::Ifc4x3_rc1::IfcProfileDef* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcSweptAreaSolid::Position() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcSweptAreaSolid::Position() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(true); } void Ifc4x3_rc1::IfcSweptAreaSolid::setPosition(::Ifc4x3_rc1::IfcAxis2Placement3D* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1147]); } const IfcParse::entity& Ifc4x3_rc1::IfcSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1147]); } Ifc4x3_rc1::IfcSweptAreaSolid::IfcSweptAreaSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3_rc1::IfcSweptAreaSolid::IfcSweptAreaSolid(::Ifc4x3_rc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D* v2_Position) : IfcSolidModel(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcSweptAreaSolid::IfcSweptAreaSolid(::Ifc4x3_rc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc1::IfcAxis2Placement3D* v2_Position) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSweptDiskSolid -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCurve>(true); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcSweptDiskSolid::setDirectrix(::Ifc4x3_rc1::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc1::IfcSweptDiskSolid::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc1::IfcSweptDiskSolid::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcSweptDiskSolid::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_rc1::IfcSweptDiskSolid::InnerRadius() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc1::IfcSweptDiskSolid::InnerRadius() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcSweptDiskSolid::setInnerRadius(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc1::IfcSweptDiskSolid::StartParam() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc1::IfcSweptDiskSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcSweptDiskSolid::setStartParam(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc1::IfcSweptDiskSolid::EndParam() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc1::IfcSweptDiskSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcSweptDiskSolid::setEndParam(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc1::IfcSweptDiskSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1148]); } const IfcParse::entity& Ifc4x3_rc1::IfcSweptDiskSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1148]); } Ifc4x3_rc1::IfcSweptDiskSolid::IfcSweptDiskSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3_rc1::IfcSweptDiskSolid::IfcSweptDiskSolid(::Ifc4x3_rc1::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam) : IfcSolidModel(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; populate_derived(); } +Ifc4x3_rc1::IfcSweptDiskSolid::IfcSweptDiskSolid(::Ifc4x3_rc1::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; populate_derived(); } // Function implementations for IfcSweptDiskSolidPolygonal -boost::optional< double > Ifc4x3_rc1::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc1::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcSweptDiskSolidPolygonal::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_rc1::IfcSweptDiskSolidPolygonal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1149]); } const IfcParse::entity& Ifc4x3_rc1::IfcSweptDiskSolidPolygonal::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1149]); } Ifc4x3_rc1::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(IfcEntityInstanceData&& e) : IfcSweptDiskSolid(std::move(e)) { } -Ifc4x3_rc1::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(::Ifc4x3_rc1::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, boost::optional< double > v6_FilletRadius) : IfcSweptDiskSolid(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); }; populate_derived(); } +Ifc4x3_rc1::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(::Ifc4x3_rc1::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, boost::optional< double > v6_FilletRadius) : IfcSweptDiskSolid(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); }; populate_derived(); } // Function implementations for IfcSweptSurface -::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcProfileDef>(true); } +::Ifc4x3_rc1::IfcProfileDef* Ifc4x3_rc1::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcProfileDef>(true); } void Ifc4x3_rc1::IfcSweptSurface::setSweptCurve(::Ifc4x3_rc1::IfcProfileDef* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcSweptSurface::Position() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc1::IfcAxis2Placement3D* Ifc4x3_rc1::IfcSweptSurface::Position() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcAxis2Placement3D>(true); } void Ifc4x3_rc1::IfcSweptSurface::setPosition(::Ifc4x3_rc1::IfcAxis2Placement3D* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcSweptSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1150]); } const IfcParse::entity& Ifc4x3_rc1::IfcSweptSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1150]); } Ifc4x3_rc1::IfcSweptSurface::IfcSweptSurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x3_rc1::IfcSweptSurface::IfcSweptSurface(::Ifc4x3_rc1::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_rc1::IfcAxis2Placement3D* v2_Position) : IfcSurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcSweptSurface::IfcSweptSurface(::Ifc4x3_rc1::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_rc1::IfcAxis2Placement3D* v2_Position) : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSwitchingDevice -boost::optional< ::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value > Ifc4x3_rc1::IfcSwitchingDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value > Ifc4x3_rc1::IfcSwitchingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcSwitchingDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcSwitchingDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1151]); } const IfcParse::entity& Ifc4x3_rc1::IfcSwitchingDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1151]); } Ifc4x3_rc1::IfcSwitchingDevice::IfcSwitchingDevice(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_rc1::IfcSwitchingDevice::IfcSwitchingDevice(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcSwitchingDevice::IfcSwitchingDevice(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSwitchingDeviceType -::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value Ifc4x3_rc1::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value Ifc4x3_rc1::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcSwitchingDeviceType::setPredefinedType(::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcSwitchingDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1152]); } const IfcParse::entity& Ifc4x3_rc1::IfcSwitchingDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1152]); } Ifc4x3_rc1::IfcSwitchingDeviceType::IfcSwitchingDeviceType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_rc1::IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSystem @@ -16827,304 +16827,304 @@ Ifc4x3_rc1::IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_Global const IfcParse::entity& Ifc4x3_rc1::IfcSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1154]); } const IfcParse::entity& Ifc4x3_rc1::IfcSystem::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1154]); } Ifc4x3_rc1::IfcSystem::IfcSystem(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x3_rc1::IfcSystem::IfcSystem(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcGroup(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc4x3_rc1::IfcSystem::IfcSystem(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcSystemFurnitureElement -boost::optional< ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_rc1::IfcSystemFurnitureElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_rc1::IfcSystemFurnitureElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcSystemFurnitureElement::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcSystemFurnitureElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1155]); } const IfcParse::entity& Ifc4x3_rc1::IfcSystemFurnitureElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1155]); } Ifc4x3_rc1::IfcSystemFurnitureElement::IfcSystemFurnitureElement(IfcEntityInstanceData&& e) : IfcFurnishingElement(std::move(e)) { } -Ifc4x3_rc1::IfcSystemFurnitureElement::IfcSystemFurnitureElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcSystemFurnitureElement::IfcSystemFurnitureElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSystemFurnitureElementType -boost::optional< ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_rc1::IfcSystemFurnitureElementType::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_rc1::IfcSystemFurnitureElementType::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcSystemFurnitureElementType::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc1::IfcSystemFurnitureElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1156]); } const IfcParse::entity& Ifc4x3_rc1::IfcSystemFurnitureElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1156]); } Ifc4x3_rc1::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(IfcEntityInstanceData&& e) : IfcFurnishingElementType(std::move(e)) { } -Ifc4x3_rc1::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< ::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTShapeProfileDef -double Ifc4x3_rc1::IfcTShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc1::IfcTShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcTShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc1::IfcTShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc1::IfcTShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcTShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc1::IfcTShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc1::IfcTShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcTShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc1::IfcTShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc1::IfcTShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcTShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc1::IfcTShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc1::IfcTShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcTShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc1::IfcTShapeProfileDef::FlangeEdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc1::IfcTShapeProfileDef::FlangeEdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcTShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_rc1::IfcTShapeProfileDef::WebEdgeRadius() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc1::IfcTShapeProfileDef::WebEdgeRadius() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc1::IfcTShapeProfileDef::setWebEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc1::IfcTShapeProfileDef::WebSlope() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc1::IfcTShapeProfileDef::WebSlope() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcTShapeProfileDef::setWebSlope(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc1::IfcTShapeProfileDef::FlangeSlope() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc1::IfcTShapeProfileDef::FlangeSlope() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc1::IfcTShapeProfileDef::setFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x3_rc1::IfcTShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1241]); } const IfcParse::entity& Ifc4x3_rc1::IfcTShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1241]); } Ifc4x3_rc1::IfcTShapeProfileDef::IfcTShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_rc1::IfcTShapeProfileDef::IfcTShapeProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::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(storage_t(12))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); }; populate_derived(); } +Ifc4x3_rc1::IfcTShapeProfileDef::IfcTShapeProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::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(in_memory_attribute_storage(12))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); }; populate_derived(); } // Function implementations for IfcTable -boost::optional< std::string > Ifc4x3_rc1::IfcTable::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTable::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcTable::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcTableRow >::ptr > Ifc4x3_rc1::IfcTable::Rows() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcTableRow >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcTableRow >::ptr > Ifc4x3_rc1::IfcTable::Rows() const { if(get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcTableRow >(); } void Ifc4x3_rc1::IfcTable::setRows(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcTableRow >::ptr > v) { if (v) {set_attribute_value(1, (*v)->generalize());} else {unset_attribute_value(1);} } -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcTableColumn >::ptr > Ifc4x3_rc1::IfcTable::Columns() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcTableColumn >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcTableColumn >::ptr > Ifc4x3_rc1::IfcTable::Columns() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcTableColumn >(); } void Ifc4x3_rc1::IfcTable::setColumns(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcTableColumn >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc1::IfcTable::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1158]); } const IfcParse::entity& Ifc4x3_rc1::IfcTable::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1158]); } Ifc4x3_rc1::IfcTable::IfcTable(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcTable::IfcTable(boost::optional< std::string > v1_Name, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcTableRow >::ptr > v2_Rows, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcTableColumn >::ptr > v3_Columns) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, (*v2_Rows)->generalize()); } if (v3_Columns) {set_attribute_value(2, (*v3_Columns)->generalize()); }; populate_derived(); } +Ifc4x3_rc1::IfcTable::IfcTable(boost::optional< std::string > v1_Name, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcTableRow >::ptr > v2_Rows, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcTableColumn >::ptr > v3_Columns) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, (*v2_Rows)->generalize()); } if (v3_Columns) {set_attribute_value(2, (*v3_Columns)->generalize()); }; populate_derived(); } // Function implementations for IfcTableColumn -boost::optional< std::string > Ifc4x3_rc1::IfcTableColumn::Identifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTableColumn::Identifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcTableColumn::setIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc1::IfcTableColumn::Name() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTableColumn::Name() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcTableColumn::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc1::IfcTableColumn::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTableColumn::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcTableColumn::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcTableColumn::Unit() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcUnit>(true); } +::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcTableColumn::Unit() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcUnit>(true); } void Ifc4x3_rc1::IfcTableColumn::setUnit(::Ifc4x3_rc1::IfcUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc1::IfcReference* Ifc4x3_rc1::IfcTableColumn::ReferencePath() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcReference>(true); } +::Ifc4x3_rc1::IfcReference* Ifc4x3_rc1::IfcTableColumn::ReferencePath() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcReference>(true); } void Ifc4x3_rc1::IfcTableColumn::setReferencePath(::Ifc4x3_rc1::IfcReference* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc1::IfcTableColumn::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1159]); } const IfcParse::entity& Ifc4x3_rc1::IfcTableColumn::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1159]); } Ifc4x3_rc1::IfcTableColumn::IfcTableColumn(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x3_rc1::IfcUnit* v4_Unit, ::Ifc4x3_rc1::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ReferencePath ? v5_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x3_rc1::IfcUnit* v4_Unit, ::Ifc4x3_rc1::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ReferencePath ? v5_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTableRow -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > Ifc4x3_rc1::IfcTableRow::RowCells() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > Ifc4x3_rc1::IfcTableRow::RowCells() const { if(get_attribute_value(0).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcValue >(); } void Ifc4x3_rc1::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v) { if (v) {set_attribute_value(0, (*v)->generalize());} else {unset_attribute_value(0);} } -boost::optional< bool > Ifc4x3_rc1::IfcTableRow::IsHeading() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } bool v = data_.get_attribute_value(1); return v; } +boost::optional< bool > Ifc4x3_rc1::IfcTableRow::IsHeading() const { if(get_attribute_value(1).isNull()) { return boost::none; } bool v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcTableRow::setIsHeading(boost::optional< bool > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_rc1::IfcTableRow::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1160]); } const IfcParse::entity& Ifc4x3_rc1::IfcTableRow::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1160]); } Ifc4x3_rc1::IfcTableRow::IfcTableRow(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_RowCells) {set_attribute_value(0, (*v1_RowCells)->generalize()); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); }; populate_derived(); } +Ifc4x3_rc1::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_RowCells) {set_attribute_value(0, (*v1_RowCells)->generalize()); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); }; populate_derived(); } // Function implementations for IfcTank -boost::optional< ::Ifc4x3_rc1::IfcTankTypeEnum::Value > Ifc4x3_rc1::IfcTank::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcTankTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcTankTypeEnum::Value > Ifc4x3_rc1::IfcTank::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcTankTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcTank::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcTankTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcTankTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcTank::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1161]); } const IfcParse::entity& Ifc4x3_rc1::IfcTank::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1161]); } Ifc4x3_rc1::IfcTank::IfcTank(IfcEntityInstanceData&& e) : IfcFlowStorageDevice(std::move(e)) { } -Ifc4x3_rc1::IfcTank::IfcTank(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcTankTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcTank::IfcTank(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcTankTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTankType -::Ifc4x3_rc1::IfcTankTypeEnum::Value Ifc4x3_rc1::IfcTankType::PredefinedType() const { return ::Ifc4x3_rc1::IfcTankTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcTankTypeEnum::Value Ifc4x3_rc1::IfcTankType::PredefinedType() const { return ::Ifc4x3_rc1::IfcTankTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcTankType::setPredefinedType(::Ifc4x3_rc1::IfcTankTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcTankTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcTankType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1162]); } const IfcParse::entity& Ifc4x3_rc1::IfcTankType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1162]); } Ifc4x3_rc1::IfcTankType::IfcTankType(IfcEntityInstanceData&& e) : IfcFlowStorageDeviceType(std::move(e)) { } -Ifc4x3_rc1::IfcTankType::IfcTankType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTankTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcTankType::IfcTankType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTankTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTask -boost::optional< std::string > Ifc4x3_rc1::IfcTask::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTask::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcTask::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc1::IfcTask::WorkMethod() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTask::WorkMethod() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcTask::setWorkMethod(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -bool Ifc4x3_rc1::IfcTask::IsMilestone() const { bool v = data_.get_attribute_value(9); return v; } +bool Ifc4x3_rc1::IfcTask::IsMilestone() const { bool v = get_attribute_value(9); return v; } void Ifc4x3_rc1::IfcTask::setIsMilestone(bool v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -boost::optional< int > Ifc4x3_rc1::IfcTask::Priority() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } int v = data_.get_attribute_value(10); return v; } +boost::optional< int > Ifc4x3_rc1::IfcTask::Priority() const { if(get_attribute_value(10).isNull()) { return boost::none; } int v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcTask::setPriority(boost::optional< int > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4x3_rc1::IfcTaskTime* Ifc4x3_rc1::IfcTask::TaskTime() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc4x3_rc1::IfcTaskTime>(true); } +::Ifc4x3_rc1::IfcTaskTime* Ifc4x3_rc1::IfcTask::TaskTime() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc4x3_rc1::IfcTaskTime>(true); } void Ifc4x3_rc1::IfcTask::setTaskTime(::Ifc4x3_rc1::IfcTaskTime* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } -boost::optional< ::Ifc4x3_rc1::IfcTaskTypeEnum::Value > Ifc4x3_rc1::IfcTask::PredefinedType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcTaskTypeEnum::FromString(data_.get_attribute_value(12)); } +boost::optional< ::Ifc4x3_rc1::IfcTaskTypeEnum::Value > Ifc4x3_rc1::IfcTask::PredefinedType() const { if(get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcTaskTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x3_rc1::IfcTask::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcTaskTypeEnum::Value > v) { if (v) {set_attribute_value(12, EnumerationReference(&::Ifc4x3_rc1::IfcTaskTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_rc1::IfcTask::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1164]); } const IfcParse::entity& Ifc4x3_rc1::IfcTask::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1164]); } Ifc4x3_rc1::IfcTask::IfcTask(IfcEntityInstanceData&& e) : IfcProcess(std::move(e)) { } -Ifc4x3_rc1::IfcTask::IfcTask(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, boost::optional< int > v11_Priority, ::Ifc4x3_rc1::IfcTaskTime* v12_TaskTime, boost::optional< ::Ifc4x3_rc1::IfcTaskTypeEnum::Value > v13_PredefinedType) : IfcProcess(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, v12_TaskTime ? v12_TaskTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_rc1::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcTask::IfcTask(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, boost::optional< int > v11_Priority, ::Ifc4x3_rc1::IfcTaskTime* v12_TaskTime, boost::optional< ::Ifc4x3_rc1::IfcTaskTypeEnum::Value > v13_PredefinedType) : IfcProcess(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, v12_TaskTime ? v12_TaskTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_rc1::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTaskTime -boost::optional< ::Ifc4x3_rc1::IfcTaskDurationEnum::Value > Ifc4x3_rc1::IfcTaskTime::DurationType() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcTaskDurationEnum::FromString(data_.get_attribute_value(3)); } +boost::optional< ::Ifc4x3_rc1::IfcTaskDurationEnum::Value > Ifc4x3_rc1::IfcTaskTime::DurationType() const { if(get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcTaskDurationEnum::FromString(get_attribute_value(3)); } void Ifc4x3_rc1::IfcTaskTime::setDurationType(boost::optional< ::Ifc4x3_rc1::IfcTaskDurationEnum::Value > v) { if (v) {set_attribute_value(3, EnumerationReference(&::Ifc4x3_rc1::IfcTaskDurationEnum::Class(), (size_t) *v));} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::ScheduleDuration() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::ScheduleDuration() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcTaskTime::setScheduleDuration(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::ScheduleStart() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::ScheduleStart() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcTaskTime::setScheduleStart(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::ScheduleFinish() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::ScheduleFinish() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcTaskTime::setScheduleFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::EarlyStart() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::EarlyStart() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcTaskTime::setEarlyStart(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::EarlyFinish() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::EarlyFinish() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcTaskTime::setEarlyFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::LateStart() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::LateStart() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc1::IfcTaskTime::setLateStart(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::LateFinish() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::LateFinish() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcTaskTime::setLateFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::FreeFloat() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::FreeFloat() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x3_rc1::IfcTaskTime::setFreeFloat(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::TotalFloat() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::TotalFloat() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc1::IfcTaskTime::setTotalFloat(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< bool > Ifc4x3_rc1::IfcTaskTime::IsCritical() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } bool v = data_.get_attribute_value(13); return v; } +boost::optional< bool > Ifc4x3_rc1::IfcTaskTime::IsCritical() const { if(get_attribute_value(13).isNull()) { return boost::none; } bool v = get_attribute_value(13); return v; } void Ifc4x3_rc1::IfcTaskTime::setIsCritical(boost::optional< bool > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::StatusTime() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::StatusTime() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x3_rc1::IfcTaskTime::setStatusTime(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::ActualDuration() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(15); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::ActualDuration() const { if(get_attribute_value(15).isNull()) { return boost::none; } std::string v = get_attribute_value(15); return v; } void Ifc4x3_rc1::IfcTaskTime::setActualDuration(boost::optional< std::string > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::ActualStart() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(16); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::ActualStart() const { if(get_attribute_value(16).isNull()) { return boost::none; } std::string v = get_attribute_value(16); return v; } void Ifc4x3_rc1::IfcTaskTime::setActualStart(boost::optional< std::string > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::ActualFinish() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(17); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::ActualFinish() const { if(get_attribute_value(17).isNull()) { return boost::none; } std::string v = get_attribute_value(17); return v; } void Ifc4x3_rc1::IfcTaskTime::setActualFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } -boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::RemainingTime() const { if(data_.get_attribute_value(18).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(18); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTaskTime::RemainingTime() const { if(get_attribute_value(18).isNull()) { return boost::none; } std::string v = get_attribute_value(18); return v; } void Ifc4x3_rc1::IfcTaskTime::setRemainingTime(boost::optional< std::string > v) { if (v) {set_attribute_value(18, *v);} else {unset_attribute_value(18);} } -boost::optional< double > Ifc4x3_rc1::IfcTaskTime::Completion() const { if(data_.get_attribute_value(19).isNull()) { return boost::none; } double v = data_.get_attribute_value(19); return v; } +boost::optional< double > Ifc4x3_rc1::IfcTaskTime::Completion() const { if(get_attribute_value(19).isNull()) { return boost::none; } double v = get_attribute_value(19); return v; } void Ifc4x3_rc1::IfcTaskTime::setCompletion(boost::optional< double > v) { if (v) {set_attribute_value(19, *v);} else {unset_attribute_value(19);} } const IfcParse::entity& Ifc4x3_rc1::IfcTaskTime::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1166]); } const IfcParse::entity& Ifc4x3_rc1::IfcTaskTime::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1166]); } Ifc4x3_rc1::IfcTaskTime::IfcTaskTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x3_rc1::IfcTaskTime::IfcTaskTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x3_rc1::IfcTaskDurationEnum::Value > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion) : IfcSchedulingTime(IfcEntityInstanceData(storage_t(20))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc1::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }; populate_derived(); } +Ifc4x3_rc1::IfcTaskTime::IfcTaskTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x3_rc1::IfcTaskDurationEnum::Value > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion) : IfcSchedulingTime(IfcEntityInstanceData(in_memory_attribute_storage(20))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc1::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }; populate_derived(); } // Function implementations for IfcTaskTimeRecurring -::Ifc4x3_rc1::IfcRecurrencePattern* Ifc4x3_rc1::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(20)))->as<::Ifc4x3_rc1::IfcRecurrencePattern>(true); } +::Ifc4x3_rc1::IfcRecurrencePattern* Ifc4x3_rc1::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(20)))->as<::Ifc4x3_rc1::IfcRecurrencePattern>(true); } void Ifc4x3_rc1::IfcTaskTimeRecurring::setRecurrence(::Ifc4x3_rc1::IfcRecurrencePattern* v) { set_attribute_value(20, v->as());if constexpr (false)unset_attribute_value(20); } const IfcParse::entity& Ifc4x3_rc1::IfcTaskTimeRecurring::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1167]); } const IfcParse::entity& Ifc4x3_rc1::IfcTaskTimeRecurring::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1167]); } Ifc4x3_rc1::IfcTaskTimeRecurring::IfcTaskTimeRecurring(IfcEntityInstanceData&& e) : IfcTaskTime(std::move(e)) { } -Ifc4x3_rc1::IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x3_rc1::IfcTaskDurationEnum::Value > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion, ::Ifc4x3_rc1::IfcRecurrencePattern* v21_Recurrence) : IfcTaskTime(IfcEntityInstanceData(storage_t(21))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc1::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, v21_Recurrence ? v21_Recurrence->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x3_rc1::IfcTaskDurationEnum::Value > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion, ::Ifc4x3_rc1::IfcRecurrencePattern* v21_Recurrence) : IfcTaskTime(IfcEntityInstanceData(in_memory_attribute_storage(21))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc1::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, v21_Recurrence ? v21_Recurrence->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTaskType -::Ifc4x3_rc1::IfcTaskTypeEnum::Value Ifc4x3_rc1::IfcTaskType::PredefinedType() const { return ::Ifc4x3_rc1::IfcTaskTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcTaskTypeEnum::Value Ifc4x3_rc1::IfcTaskType::PredefinedType() const { return ::Ifc4x3_rc1::IfcTaskTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcTaskType::setPredefinedType(::Ifc4x3_rc1::IfcTaskTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcTaskTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3_rc1::IfcTaskType::WorkMethod() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTaskType::WorkMethod() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcTaskType::setWorkMethod(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc1::IfcTaskType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1168]); } const IfcParse::entity& Ifc4x3_rc1::IfcTaskType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1168]); } Ifc4x3_rc1::IfcTaskType::IfcTaskType(IfcEntityInstanceData&& e) : IfcTypeProcess(std::move(e)) { } -Ifc4x3_rc1::IfcTaskType::IfcTaskType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_rc1::IfcTaskTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_WorkMethod) : IfcTypeProcess(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); }; populate_derived(); } +Ifc4x3_rc1::IfcTaskType::IfcTaskType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_rc1::IfcTaskTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_WorkMethod) : IfcTypeProcess(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); }; populate_derived(); } // Function implementations for IfcTelecomAddress -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcTelecomAddress::TelephoneNumbers() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcTelecomAddress::TelephoneNumbers() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcTelecomAddress::setTelephoneNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcTelecomAddress::FacsimileNumbers() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcTelecomAddress::FacsimileNumbers() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcTelecomAddress::setFacsimileNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc1::IfcTelecomAddress::PagerNumber() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTelecomAddress::PagerNumber() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcTelecomAddress::setPagerNumber(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcTelecomAddress::ElectronicMailAddresses() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(6); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcTelecomAddress::ElectronicMailAddresses() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcTelecomAddress::setElectronicMailAddresses(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc1::IfcTelecomAddress::WWWHomePageURL() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTelecomAddress::WWWHomePageURL() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcTelecomAddress::setWWWHomePageURL(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcTelecomAddress::MessagingIDs() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(8); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc1::IfcTelecomAddress::MessagingIDs() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcTelecomAddress::setMessagingIDs(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcTelecomAddress::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1170]); } const IfcParse::entity& Ifc4x3_rc1::IfcTelecomAddress::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1170]); } Ifc4x3_rc1::IfcTelecomAddress::IfcTelecomAddress(IfcEntityInstanceData&& e) : IfcAddress(std::move(e)) { } -Ifc4x3_rc1::IfcTelecomAddress::IfcTelecomAddress(boost::optional< ::Ifc4x3_rc1::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(storage_t(9))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); }; populate_derived(); } +Ifc4x3_rc1::IfcTelecomAddress::IfcTelecomAddress(boost::optional< ::Ifc4x3_rc1::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(in_memory_attribute_storage(9))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); }; populate_derived(); } // Function implementations for IfcTendon -boost::optional< ::Ifc4x3_rc1::IfcTendonTypeEnum::Value > Ifc4x3_rc1::IfcTendon::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcTendonTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc1::IfcTendonTypeEnum::Value > Ifc4x3_rc1::IfcTendon::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcTendon::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcTendonTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcTendonTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc1::IfcTendon::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc1::IfcTendon::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcTendon::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc1::IfcTendon::CrossSectionArea() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc1::IfcTendon::CrossSectionArea() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc1::IfcTendon::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_rc1::IfcTendon::TensionForce() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_rc1::IfcTendon::TensionForce() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_rc1::IfcTendon::setTensionForce(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3_rc1::IfcTendon::PreStress() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_rc1::IfcTendon::PreStress() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_rc1::IfcTendon::setPreStress(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3_rc1::IfcTendon::FrictionCoefficient() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3_rc1::IfcTendon::FrictionCoefficient() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3_rc1::IfcTendon::setFrictionCoefficient(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x3_rc1::IfcTendon::AnchorageSlip() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3_rc1::IfcTendon::AnchorageSlip() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3_rc1::IfcTendon::setAnchorageSlip(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3_rc1::IfcTendon::MinCurvatureRadius() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3_rc1::IfcTendon::MinCurvatureRadius() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3_rc1::IfcTendon::setMinCurvatureRadius(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } const IfcParse::entity& Ifc4x3_rc1::IfcTendon::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1173]); } const IfcParse::entity& Ifc4x3_rc1::IfcTendon::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1173]); } Ifc4x3_rc1::IfcTendon::IfcTendon(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x3_rc1::IfcTendon::IfcTendon(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x3_rc1::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(storage_t(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; populate_derived(); } +Ifc4x3_rc1::IfcTendon::IfcTendon(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x3_rc1::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(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; populate_derived(); } // Function implementations for IfcTendonAnchor -boost::optional< ::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value > Ifc4x3_rc1::IfcTendonAnchor::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value > Ifc4x3_rc1::IfcTendonAnchor::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcTendonAnchor::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc1::IfcTendonAnchor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1174]); } const IfcParse::entity& Ifc4x3_rc1::IfcTendonAnchor::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1174]); } Ifc4x3_rc1::IfcTendonAnchor::IfcTendonAnchor(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x3_rc1::IfcTendonAnchor::IfcTendonAnchor(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcTendonAnchor::IfcTendonAnchor(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTendonAnchorType -::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value Ifc4x3_rc1::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value Ifc4x3_rc1::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcTendonAnchorType::setPredefinedType(::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcTendonAnchorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1175]); } const IfcParse::entity& Ifc4x3_rc1::IfcTendonAnchorType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1175]); } Ifc4x3_rc1::IfcTendonAnchorType::IfcTendonAnchorType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x3_rc1::IfcTendonAnchorType::IfcTendonAnchorType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcTendonAnchorType::IfcTendonAnchorType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTendonConduit -::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Value Ifc4x3_rc1::IfcTendonConduit::PredefinedType() const { return ::Ifc4x3_rc1::IfcTendonConduitTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Value Ifc4x3_rc1::IfcTendonConduit::PredefinedType() const { return ::Ifc4x3_rc1::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcTendonConduit::setPredefinedType(::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcTendonConduit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1177]); } const IfcParse::entity& Ifc4x3_rc1::IfcTendonConduit::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1177]); } Ifc4x3_rc1::IfcTendonConduit::IfcTendonConduit(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x3_rc1::IfcTendonConduit::IfcTendonConduit(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, ::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Value v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcTendonConduit::IfcTendonConduit(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, ::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Value v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTendonConduitType -::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Value Ifc4x3_rc1::IfcTendonConduitType::PredefinedType() const { return ::Ifc4x3_rc1::IfcTendonConduitTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Value Ifc4x3_rc1::IfcTendonConduitType::PredefinedType() const { return ::Ifc4x3_rc1::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcTendonConduitType::setPredefinedType(::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcTendonConduitType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1178]); } const IfcParse::entity& Ifc4x3_rc1::IfcTendonConduitType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1178]); } Ifc4x3_rc1::IfcTendonConduitType::IfcTendonConduitType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x3_rc1::IfcTendonConduitType::IfcTendonConduitType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcTendonConduitType::IfcTendonConduitType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTendonType -::Ifc4x3_rc1::IfcTendonTypeEnum::Value Ifc4x3_rc1::IfcTendonType::PredefinedType() const { return ::Ifc4x3_rc1::IfcTendonTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcTendonTypeEnum::Value Ifc4x3_rc1::IfcTendonType::PredefinedType() const { return ::Ifc4x3_rc1::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcTendonType::setPredefinedType(::Ifc4x3_rc1::IfcTendonTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcTendonTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3_rc1::IfcTendonType::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc1::IfcTendonType::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcTendonType::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc1::IfcTendonType::CrossSectionArea() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc1::IfcTendonType::CrossSectionArea() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc1::IfcTendonType::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_rc1::IfcTendonType::SheathDiameter() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_rc1::IfcTendonType::SheathDiameter() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_rc1::IfcTendonType::setSheathDiameter(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_rc1::IfcTendonType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1180]); } const IfcParse::entity& Ifc4x3_rc1::IfcTendonType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1180]); } Ifc4x3_rc1::IfcTendonType::IfcTendonType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x3_rc1::IfcTendonType::IfcTendonType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTendonTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheathDiameter) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); }; populate_derived(); } +Ifc4x3_rc1::IfcTendonType::IfcTendonType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTendonTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheathDiameter) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); }; populate_derived(); } // Function implementations for IfcTessellatedFaceSet -::Ifc4x3_rc1::IfcCartesianPointList3D* Ifc4x3_rc1::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCartesianPointList3D>(true); } +::Ifc4x3_rc1::IfcCartesianPointList3D* Ifc4x3_rc1::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCartesianPointList3D>(true); } void Ifc4x3_rc1::IfcTessellatedFaceSet::setCoordinates(::Ifc4x3_rc1::IfcCartesianPointList3D* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_rc1::IfcIndexedColourMap::list::ptr Ifc4x3_rc1::IfcTessellatedFaceSet::HasColours() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[550], 0)->as(); } @@ -17133,7 +17133,7 @@ void Ifc4x3_rc1::IfcTessellatedFaceSet::setCoordinates(::Ifc4x3_rc1::IfcCartesia const IfcParse::entity& Ifc4x3_rc1::IfcTessellatedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1182]); } const IfcParse::entity& Ifc4x3_rc1::IfcTessellatedFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1182]); } Ifc4x3_rc1::IfcTessellatedFaceSet::IfcTessellatedFaceSet(IfcEntityInstanceData&& e) : IfcTessellatedItem(std::move(e)) { } -Ifc4x3_rc1::IfcTessellatedFaceSet::IfcTessellatedFaceSet(::Ifc4x3_rc1::IfcCartesianPointList3D* v1_Coordinates) : IfcTessellatedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcTessellatedFaceSet::IfcTessellatedFaceSet(::Ifc4x3_rc1::IfcCartesianPointList3D* v1_Coordinates) : IfcTessellatedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTessellatedItem @@ -17141,184 +17141,184 @@ Ifc4x3_rc1::IfcTessellatedFaceSet::IfcTessellatedFaceSet(::Ifc4x3_rc1::IfcCartes const IfcParse::entity& Ifc4x3_rc1::IfcTessellatedItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1183]); } const IfcParse::entity& Ifc4x3_rc1::IfcTessellatedItem::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1183]); } Ifc4x3_rc1::IfcTessellatedItem::IfcTessellatedItem(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcTessellatedItem::IfcTessellatedItem() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc1::IfcTessellatedItem::IfcTessellatedItem() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcTextLiteral -std::string Ifc4x3_rc1::IfcTextLiteral::Literal() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc1::IfcTextLiteral::Literal() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcTextLiteral::setLiteral(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcAxis2Placement* Ifc4x3_rc1::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcAxis2Placement>(true); } +::Ifc4x3_rc1::IfcAxis2Placement* Ifc4x3_rc1::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcAxis2Placement>(true); } void Ifc4x3_rc1::IfcTextLiteral::setPlacement(::Ifc4x3_rc1::IfcAxis2Placement* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcTextPath::Value Ifc4x3_rc1::IfcTextLiteral::Path() const { return ::Ifc4x3_rc1::IfcTextPath::FromString(data_.get_attribute_value(2)); } +::Ifc4x3_rc1::IfcTextPath::Value Ifc4x3_rc1::IfcTextLiteral::Path() const { return ::Ifc4x3_rc1::IfcTextPath::FromString(get_attribute_value(2)); } void Ifc4x3_rc1::IfcTextLiteral::setPath(::Ifc4x3_rc1::IfcTextPath::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3_rc1::IfcTextPath::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc1::IfcTextLiteral::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1189]); } const IfcParse::entity& Ifc4x3_rc1::IfcTextLiteral::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1189]); } Ifc4x3_rc1::IfcTextLiteral::IfcTextLiteral(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, ::Ifc4x3_rc1::IfcAxis2Placement* v2_Placement, ::Ifc4x3_rc1::IfcTextPath::Value v3_Path) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc1::IfcTextPath::Class(),(size_t)v3_Path)));; populate_derived(); } +Ifc4x3_rc1::IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, ::Ifc4x3_rc1::IfcAxis2Placement* v2_Placement, ::Ifc4x3_rc1::IfcTextPath::Value v3_Path) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc1::IfcTextPath::Class(),(size_t)v3_Path)));; populate_derived(); } // Function implementations for IfcTextLiteralWithExtent -::Ifc4x3_rc1::IfcPlanarExtent* Ifc4x3_rc1::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcPlanarExtent>(true); } +::Ifc4x3_rc1::IfcPlanarExtent* Ifc4x3_rc1::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcPlanarExtent>(true); } void Ifc4x3_rc1::IfcTextLiteralWithExtent::setExtent(::Ifc4x3_rc1::IfcPlanarExtent* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -std::string Ifc4x3_rc1::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = data_.get_attribute_value(4); return v; } +std::string Ifc4x3_rc1::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcTextLiteralWithExtent::setBoxAlignment(std::string v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc1::IfcTextLiteralWithExtent::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1190]); } const IfcParse::entity& Ifc4x3_rc1::IfcTextLiteralWithExtent::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1190]); } Ifc4x3_rc1::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(IfcEntityInstanceData&& e) : IfcTextLiteral(std::move(e)) { } -Ifc4x3_rc1::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(std::string v1_Literal, ::Ifc4x3_rc1::IfcAxis2Placement* v2_Placement, ::Ifc4x3_rc1::IfcTextPath::Value v3_Path, ::Ifc4x3_rc1::IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment) : IfcTextLiteral(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc1::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, v4_Extent ? v4_Extent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_BoxAlignment));; populate_derived(); } +Ifc4x3_rc1::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(std::string v1_Literal, ::Ifc4x3_rc1::IfcAxis2Placement* v2_Placement, ::Ifc4x3_rc1::IfcTextPath::Value v3_Path, ::Ifc4x3_rc1::IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment) : IfcTextLiteral(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc1::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, v4_Extent ? v4_Extent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_BoxAlignment));; populate_derived(); } // Function implementations for IfcTextStyle -::Ifc4x3_rc1::IfcTextStyleForDefinedFont* Ifc4x3_rc1::IfcTextStyle::TextCharacterAppearance() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcTextStyleForDefinedFont>(true); } +::Ifc4x3_rc1::IfcTextStyleForDefinedFont* Ifc4x3_rc1::IfcTextStyle::TextCharacterAppearance() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcTextStyleForDefinedFont>(true); } void Ifc4x3_rc1::IfcTextStyle::setTextCharacterAppearance(::Ifc4x3_rc1::IfcTextStyleForDefinedFont* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcTextStyleTextModel* Ifc4x3_rc1::IfcTextStyle::TextStyle() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcTextStyleTextModel>(true); } +::Ifc4x3_rc1::IfcTextStyleTextModel* Ifc4x3_rc1::IfcTextStyle::TextStyle() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcTextStyleTextModel>(true); } void Ifc4x3_rc1::IfcTextStyle::setTextStyle(::Ifc4x3_rc1::IfcTextStyleTextModel* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc1::IfcTextFontSelect* Ifc4x3_rc1::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcTextFontSelect>(true); } +::Ifc4x3_rc1::IfcTextFontSelect* Ifc4x3_rc1::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcTextFontSelect>(true); } void Ifc4x3_rc1::IfcTextStyle::setTextFontStyle(::Ifc4x3_rc1::IfcTextFontSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< bool > Ifc4x3_rc1::IfcTextStyle::ModelOrDraughting() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } bool v = data_.get_attribute_value(4); return v; } +boost::optional< bool > Ifc4x3_rc1::IfcTextStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return boost::none; } bool v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcTextStyle::setModelOrDraughting(boost::optional< bool > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc1::IfcTextStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1192]); } const IfcParse::entity& Ifc4x3_rc1::IfcTextStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1192]); } Ifc4x3_rc1::IfcTextStyle::IfcTextStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x3_rc1::IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcTextStyleForDefinedFont* v2_TextCharacterAppearance, ::Ifc4x3_rc1::IfcTextStyleTextModel* v3_TextStyle, ::Ifc4x3_rc1::IfcTextFontSelect* v4_TextFontStyle, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TextCharacterAppearance ? v2_TextCharacterAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TextStyle ? v3_TextStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TextFontStyle ? v4_TextFontStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } +Ifc4x3_rc1::IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc1::IfcTextStyleForDefinedFont* v2_TextCharacterAppearance, ::Ifc4x3_rc1::IfcTextStyleTextModel* v3_TextStyle, ::Ifc4x3_rc1::IfcTextFontSelect* v4_TextFontStyle, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TextCharacterAppearance ? v2_TextCharacterAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TextStyle ? v3_TextStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TextFontStyle ? v4_TextFontStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } // Function implementations for IfcTextStyleFontModel -std::vector< std::string > /*[1:?]*/ Ifc4x3_rc1::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +std::vector< std::string > /*[1:?]*/ Ifc4x3_rc1::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcTextStyleFontModel::setFontFamily(std::vector< std::string > /*[1:?]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_rc1::IfcTextStyleFontModel::FontStyle() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTextStyleFontModel::FontStyle() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcTextStyleFontModel::setFontStyle(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_rc1::IfcTextStyleFontModel::FontVariant() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTextStyleFontModel::FontVariant() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc1::IfcTextStyleFontModel::FontWeight() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTextStyleFontModel::FontWeight() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc1::IfcSizeSelect* Ifc4x3_rc1::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcSizeSelect>(true); } +::Ifc4x3_rc1::IfcSizeSelect* Ifc4x3_rc1::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc1::IfcSizeSelect>(true); } void Ifc4x3_rc1::IfcTextStyleFontModel::setFontSize(::Ifc4x3_rc1::IfcSizeSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcTextStyleFontModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1193]); } const IfcParse::entity& Ifc4x3_rc1::IfcTextStyleFontModel::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1193]); } Ifc4x3_rc1::IfcTextStyleFontModel::IfcTextStyleFontModel(IfcEntityInstanceData&& e) : IfcPreDefinedTextFont(std::move(e)) { } -Ifc4x3_rc1::IfcTextStyleFontModel::IfcTextStyleFontModel(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, boost::optional< std::string > v3_FontStyle, boost::optional< std::string > v4_FontVariant, boost::optional< std::string > v5_FontWeight, ::Ifc4x3_rc1::IfcSizeSelect* v6_FontSize) : IfcPreDefinedTextFont(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, v6_FontSize ? v6_FontSize->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcTextStyleFontModel::IfcTextStyleFontModel(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, boost::optional< std::string > v3_FontStyle, boost::optional< std::string > v4_FontVariant, boost::optional< std::string > v5_FontWeight, ::Ifc4x3_rc1::IfcSizeSelect* v6_FontSize) : IfcPreDefinedTextFont(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, v6_FontSize ? v6_FontSize->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextStyleForDefinedFont -::Ifc4x3_rc1::IfcColour* Ifc4x3_rc1::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcColour>(true); } +::Ifc4x3_rc1::IfcColour* Ifc4x3_rc1::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcColour>(true); } void Ifc4x3_rc1::IfcTextStyleForDefinedFont::setColour(::Ifc4x3_rc1::IfcColour* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc1::IfcColour* Ifc4x3_rc1::IfcTextStyleForDefinedFont::BackgroundColour() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcColour>(true); } +::Ifc4x3_rc1::IfcColour* Ifc4x3_rc1::IfcTextStyleForDefinedFont::BackgroundColour() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc1::IfcColour>(true); } void Ifc4x3_rc1::IfcTextStyleForDefinedFont::setBackgroundColour(::Ifc4x3_rc1::IfcColour* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcTextStyleForDefinedFont::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1194]); } const IfcParse::entity& Ifc4x3_rc1::IfcTextStyleForDefinedFont::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1194]); } Ifc4x3_rc1::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4x3_rc1::IfcColour* v1_Colour, ::Ifc4x3_rc1::IfcColour* v2_BackgroundColour) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Colour ? v1_Colour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_BackgroundColour ? v2_BackgroundColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4x3_rc1::IfcColour* v1_Colour, ::Ifc4x3_rc1::IfcColour* v2_BackgroundColour) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Colour ? v1_Colour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_BackgroundColour ? v2_BackgroundColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextStyleTextModel -::Ifc4x3_rc1::IfcSizeSelect* Ifc4x3_rc1::IfcTextStyleTextModel::TextIndent() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcSizeSelect>(true); } +::Ifc4x3_rc1::IfcSizeSelect* Ifc4x3_rc1::IfcTextStyleTextModel::TextIndent() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcSizeSelect>(true); } void Ifc4x3_rc1::IfcTextStyleTextModel::setTextIndent(::Ifc4x3_rc1::IfcSizeSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc1::IfcTextStyleTextModel::TextAlign() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTextStyleTextModel::TextAlign() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc1::IfcTextStyleTextModel::TextDecoration() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTextStyleTextModel::TextDecoration() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc1::IfcSizeSelect* Ifc4x3_rc1::IfcTextStyleTextModel::LetterSpacing() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcSizeSelect>(true); } +::Ifc4x3_rc1::IfcSizeSelect* Ifc4x3_rc1::IfcTextStyleTextModel::LetterSpacing() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcSizeSelect>(true); } void Ifc4x3_rc1::IfcTextStyleTextModel::setLetterSpacing(::Ifc4x3_rc1::IfcSizeSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc1::IfcSizeSelect* Ifc4x3_rc1::IfcTextStyleTextModel::WordSpacing() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcSizeSelect>(true); } +::Ifc4x3_rc1::IfcSizeSelect* Ifc4x3_rc1::IfcTextStyleTextModel::WordSpacing() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc1::IfcSizeSelect>(true); } void Ifc4x3_rc1::IfcTextStyleTextModel::setWordSpacing(::Ifc4x3_rc1::IfcSizeSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -boost::optional< std::string > Ifc4x3_rc1::IfcTextStyleTextModel::TextTransform() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTextStyleTextModel::TextTransform() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc1::IfcSizeSelect* Ifc4x3_rc1::IfcTextStyleTextModel::LineHeight() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcSizeSelect>(true); } +::Ifc4x3_rc1::IfcSizeSelect* Ifc4x3_rc1::IfcTextStyleTextModel::LineHeight() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc1::IfcSizeSelect>(true); } void Ifc4x3_rc1::IfcTextStyleTextModel::setLineHeight(::Ifc4x3_rc1::IfcSizeSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc1::IfcTextStyleTextModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1195]); } const IfcParse::entity& Ifc4x3_rc1::IfcTextStyleTextModel::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1195]); } Ifc4x3_rc1::IfcTextStyleTextModel::IfcTextStyleTextModel(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcTextStyleTextModel::IfcTextStyleTextModel(::Ifc4x3_rc1::IfcSizeSelect* v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, ::Ifc4x3_rc1::IfcSizeSelect* v4_LetterSpacing, ::Ifc4x3_rc1::IfcSizeSelect* v5_WordSpacing, boost::optional< std::string > v6_TextTransform, ::Ifc4x3_rc1::IfcSizeSelect* v7_LineHeight) : IfcPresentationItem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, v1_TextIndent ? v1_TextIndent->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, v4_LetterSpacing ? v4_LetterSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_WordSpacing ? v5_WordSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, v7_LineHeight ? v7_LineHeight->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcTextStyleTextModel::IfcTextStyleTextModel(::Ifc4x3_rc1::IfcSizeSelect* v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, ::Ifc4x3_rc1::IfcSizeSelect* v4_LetterSpacing, ::Ifc4x3_rc1::IfcSizeSelect* v5_WordSpacing, boost::optional< std::string > v6_TextTransform, ::Ifc4x3_rc1::IfcSizeSelect* v7_LineHeight) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_TextIndent ? v1_TextIndent->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, v4_LetterSpacing ? v4_LetterSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_WordSpacing ? v5_WordSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, v7_LineHeight ? v7_LineHeight->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextureCoordinate -aggregate_of< ::Ifc4x3_rc1::IfcSurfaceTexture >::ptr Ifc4x3_rc1::IfcTextureCoordinate::Maps() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcSurfaceTexture >(); } +aggregate_of< ::Ifc4x3_rc1::IfcSurfaceTexture >::ptr Ifc4x3_rc1::IfcTextureCoordinate::Maps() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcSurfaceTexture >(); } void Ifc4x3_rc1::IfcTextureCoordinate::setMaps(aggregate_of< ::Ifc4x3_rc1::IfcSurfaceTexture >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc1::IfcTextureCoordinate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1197]); } const IfcParse::entity& Ifc4x3_rc1::IfcTextureCoordinate::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1197]); } Ifc4x3_rc1::IfcTextureCoordinate::IfcTextureCoordinate(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcTextureCoordinate::IfcTextureCoordinate(aggregate_of< ::Ifc4x3_rc1::IfcSurfaceTexture >::ptr v1_Maps) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Maps)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcTextureCoordinate::IfcTextureCoordinate(aggregate_of< ::Ifc4x3_rc1::IfcSurfaceTexture >::ptr v1_Maps) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Maps)->generalize());; populate_derived(); } // Function implementations for IfcTextureCoordinateGenerator -std::string Ifc4x3_rc1::IfcTextureCoordinateGenerator::Mode() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_rc1::IfcTextureCoordinateGenerator::Mode() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcTextureCoordinateGenerator::setMode(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::vector< double > /*[1:?]*/ > Ifc4x3_rc1::IfcTextureCoordinateGenerator::Parameter() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< double > /*[1:?]*/ > Ifc4x3_rc1::IfcTextureCoordinateGenerator::Parameter() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[1:?]*/ v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcTextureCoordinateGenerator::setParameter(boost::optional< std::vector< double > /*[1:?]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc1::IfcTextureCoordinateGenerator::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1198]); } const IfcParse::entity& Ifc4x3_rc1::IfcTextureCoordinateGenerator::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1198]); } Ifc4x3_rc1::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(IfcEntityInstanceData&& e) : IfcTextureCoordinate(std::move(e)) { } -Ifc4x3_rc1::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(aggregate_of< ::Ifc4x3_rc1::IfcSurfaceTexture >::ptr v1_Maps, std::string v2_Mode, boost::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) : IfcTextureCoordinate(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); }; populate_derived(); } +Ifc4x3_rc1::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(aggregate_of< ::Ifc4x3_rc1::IfcSurfaceTexture >::ptr v1_Maps, std::string v2_Mode, boost::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) : IfcTextureCoordinate(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); }; populate_derived(); } // Function implementations for IfcTextureMap -aggregate_of< ::Ifc4x3_rc1::IfcTextureVertex >::ptr Ifc4x3_rc1::IfcTextureMap::Vertices() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcTextureVertex >(); } +aggregate_of< ::Ifc4x3_rc1::IfcTextureVertex >::ptr Ifc4x3_rc1::IfcTextureMap::Vertices() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcTextureVertex >(); } void Ifc4x3_rc1::IfcTextureMap::setVertices(aggregate_of< ::Ifc4x3_rc1::IfcTextureVertex >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc1::IfcFace* Ifc4x3_rc1::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcFace>(true); } +::Ifc4x3_rc1::IfcFace* Ifc4x3_rc1::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc1::IfcFace>(true); } void Ifc4x3_rc1::IfcTextureMap::setMappedTo(::Ifc4x3_rc1::IfcFace* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc1::IfcTextureMap::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1199]); } const IfcParse::entity& Ifc4x3_rc1::IfcTextureMap::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1199]); } Ifc4x3_rc1::IfcTextureMap::IfcTextureMap(IfcEntityInstanceData&& e) : IfcTextureCoordinate(std::move(e)) { } -Ifc4x3_rc1::IfcTextureMap::IfcTextureMap(aggregate_of< ::Ifc4x3_rc1::IfcSurfaceTexture >::ptr v1_Maps, aggregate_of< ::Ifc4x3_rc1::IfcTextureVertex >::ptr v2_Vertices, ::Ifc4x3_rc1::IfcFace* v3_MappedTo) : IfcTextureCoordinate(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Vertices)->generalize());set_attribute_value(2, v3_MappedTo ? v3_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcTextureMap::IfcTextureMap(aggregate_of< ::Ifc4x3_rc1::IfcSurfaceTexture >::ptr v1_Maps, aggregate_of< ::Ifc4x3_rc1::IfcTextureVertex >::ptr v2_Vertices, ::Ifc4x3_rc1::IfcFace* v3_MappedTo) : IfcTextureCoordinate(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Vertices)->generalize());set_attribute_value(2, v3_MappedTo ? v3_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextureVertex -std::vector< double > /*[2:2]*/ Ifc4x3_rc1::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[2:2]*/ Ifc4x3_rc1::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcTextureVertex::setCoordinates(std::vector< double > /*[2:2]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc1::IfcTextureVertex::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1200]); } const IfcParse::entity& Ifc4x3_rc1::IfcTextureVertex::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1200]); } Ifc4x3_rc1::IfcTextureVertex::IfcTextureVertex(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcTextureVertex::IfcTextureVertex(std::vector< double > /*[2:2]*/ v1_Coordinates) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } +Ifc4x3_rc1::IfcTextureVertex::IfcTextureVertex(std::vector< double > /*[2:2]*/ v1_Coordinates) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } // Function implementations for IfcTextureVertexList -std::vector< std::vector< double > > Ifc4x3_rc1::IfcTextureVertexList::TexCoordsList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x3_rc1::IfcTextureVertexList::TexCoordsList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcTextureVertexList::setTexCoordsList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc1::IfcTextureVertexList::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1201]); } const IfcParse::entity& Ifc4x3_rc1::IfcTextureVertexList::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1201]); } Ifc4x3_rc1::IfcTextureVertexList::IfcTextureVertexList(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcTextureVertexList::IfcTextureVertexList(std::vector< std::vector< double > > v1_TexCoordsList) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_TexCoordsList));; populate_derived(); } +Ifc4x3_rc1::IfcTextureVertexList::IfcTextureVertexList(std::vector< std::vector< double > > v1_TexCoordsList) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_TexCoordsList));; populate_derived(); } // Function implementations for IfcTimePeriod -std::string Ifc4x3_rc1::IfcTimePeriod::StartTime() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc1::IfcTimePeriod::StartTime() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcTimePeriod::setStartTime(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x3_rc1::IfcTimePeriod::EndTime() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_rc1::IfcTimePeriod::EndTime() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcTimePeriod::setEndTime(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcTimePeriod::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1211]); } const IfcParse::entity& Ifc4x3_rc1::IfcTimePeriod::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1211]); } Ifc4x3_rc1::IfcTimePeriod::IfcTimePeriod(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcTimePeriod::IfcTimePeriod(std::string v1_StartTime, std::string v2_EndTime) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime));; populate_derived(); } +Ifc4x3_rc1::IfcTimePeriod::IfcTimePeriod(std::string v1_StartTime, std::string v2_EndTime) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime));; populate_derived(); } // Function implementations for IfcTimeSeries -std::string Ifc4x3_rc1::IfcTimeSeries::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc1::IfcTimeSeries::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc1::IfcTimeSeries::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc1::IfcTimeSeries::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTimeSeries::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcTimeSeries::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::string Ifc4x3_rc1::IfcTimeSeries::StartTime() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3_rc1::IfcTimeSeries::StartTime() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcTimeSeries::setStartTime(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::string Ifc4x3_rc1::IfcTimeSeries::EndTime() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x3_rc1::IfcTimeSeries::EndTime() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcTimeSeries::setEndTime(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Value Ifc4x3_rc1::IfcTimeSeries::TimeSeriesDataType() const { return ::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Value Ifc4x3_rc1::IfcTimeSeries::TimeSeriesDataType() const { return ::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::FromString(get_attribute_value(4)); } void Ifc4x3_rc1::IfcTimeSeries::setTimeSeriesDataType(::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcDataOriginEnum::Value Ifc4x3_rc1::IfcTimeSeries::DataOrigin() const { return ::Ifc4x3_rc1::IfcDataOriginEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_rc1::IfcDataOriginEnum::Value Ifc4x3_rc1::IfcTimeSeries::DataOrigin() const { return ::Ifc4x3_rc1::IfcDataOriginEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc1::IfcTimeSeries::setDataOrigin(::Ifc4x3_rc1::IfcDataOriginEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< std::string > Ifc4x3_rc1::IfcTimeSeries::UserDefinedDataOrigin() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTimeSeries::UserDefinedDataOrigin() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcTimeSeries::Unit() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc1::IfcUnit>(true); } +::Ifc4x3_rc1::IfcUnit* Ifc4x3_rc1::IfcTimeSeries::Unit() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc1::IfcUnit>(true); } void Ifc4x3_rc1::IfcTimeSeries::setUnit(::Ifc4x3_rc1::IfcUnit* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_rc1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc1::IfcTimeSeries::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[436], 3)->as(); } @@ -17326,17 +17326,17 @@ void Ifc4x3_rc1::IfcTimeSeries::setUnit(::Ifc4x3_rc1::IfcUnit* v) { set_attribut const IfcParse::entity& Ifc4x3_rc1::IfcTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1212]); } const IfcParse::entity& Ifc4x3_rc1::IfcTimeSeries::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1212]); } Ifc4x3_rc1::IfcTimeSeries::IfcTimeSeries(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc1::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc1::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc1::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc1::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTimeSeriesValue -aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr Ifc4x3_rc1::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcValue >(); } +aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr Ifc4x3_rc1::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcValue >(); } void Ifc4x3_rc1::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc1::IfcTimeSeriesValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1214]); } const IfcParse::entity& Ifc4x3_rc1::IfcTimeSeriesValue::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1214]); } Ifc4x3_rc1::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_ListValues)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_rc1::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_ListValues)->generalize());; populate_derived(); } // Function implementations for IfcTopologicalRepresentationItem @@ -17344,7 +17344,7 @@ Ifc4x3_rc1::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_rc1::I const IfcParse::entity& Ifc4x3_rc1::IfcTopologicalRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1216]); } const IfcParse::entity& Ifc4x3_rc1::IfcTopologicalRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1216]); } Ifc4x3_rc1::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc1::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcTopologyRepresentation @@ -17352,182 +17352,182 @@ Ifc4x3_rc1::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() const IfcParse::entity& Ifc4x3_rc1::IfcTopologyRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1217]); } const IfcParse::entity& Ifc4x3_rc1::IfcTopologyRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1217]); } Ifc4x3_rc1::IfcTopologyRepresentation::IfcTopologyRepresentation(IfcEntityInstanceData&& e) : IfcShapeModel(std::move(e)) { } -Ifc4x3_rc1::IfcTopologyRepresentation::IfcTopologyRepresentation(::Ifc4x3_rc1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc1::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcTopologyRepresentation::IfcTopologyRepresentation(::Ifc4x3_rc1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc1::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcToroidalSurface -double Ifc4x3_rc1::IfcToroidalSurface::MajorRadius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc1::IfcToroidalSurface::MajorRadius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcToroidalSurface::setMajorRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc1::IfcToroidalSurface::MinorRadius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc1::IfcToroidalSurface::MinorRadius() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcToroidalSurface::setMinorRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc1::IfcToroidalSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1218]); } const IfcParse::entity& Ifc4x3_rc1::IfcToroidalSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1218]); } Ifc4x3_rc1::IfcToroidalSurface::IfcToroidalSurface(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x3_rc1::IfcToroidalSurface::IfcToroidalSurface(::Ifc4x3_rc1::IfcAxis2Placement3D* v1_Position, double v2_MajorRadius, double v3_MinorRadius) : IfcElementarySurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius));; populate_derived(); } +Ifc4x3_rc1::IfcToroidalSurface::IfcToroidalSurface(::Ifc4x3_rc1::IfcAxis2Placement3D* v1_Position, double v2_MajorRadius, double v3_MinorRadius) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius));; populate_derived(); } // Function implementations for IfcTrackElement -boost::optional< ::Ifc4x3_rc1::IfcTrackElementTypeEnum::Value > Ifc4x3_rc1::IfcTrackElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcTrackElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcTrackElementTypeEnum::Value > Ifc4x3_rc1::IfcTrackElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcTrackElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcTrackElement::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcTrackElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcTrackElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcTrackElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1220]); } const IfcParse::entity& Ifc4x3_rc1::IfcTrackElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1220]); } Ifc4x3_rc1::IfcTrackElement::IfcTrackElement(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc1::IfcTrackElement::IfcTrackElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcTrackElementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcTrackElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcTrackElement::IfcTrackElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcTrackElementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcTrackElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTrackElementType -::Ifc4x3_rc1::IfcTrackElementTypeEnum::Value Ifc4x3_rc1::IfcTrackElementType::PredefinedType() const { return ::Ifc4x3_rc1::IfcTrackElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcTrackElementTypeEnum::Value Ifc4x3_rc1::IfcTrackElementType::PredefinedType() const { return ::Ifc4x3_rc1::IfcTrackElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcTrackElementType::setPredefinedType(::Ifc4x3_rc1::IfcTrackElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcTrackElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcTrackElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1221]); } const IfcParse::entity& Ifc4x3_rc1::IfcTrackElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1221]); } Ifc4x3_rc1::IfcTrackElementType::IfcTrackElementType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc1::IfcTrackElementType::IfcTrackElementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTrackElementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcTrackElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcTrackElementType::IfcTrackElementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTrackElementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcTrackElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTransformer -boost::optional< ::Ifc4x3_rc1::IfcTransformerTypeEnum::Value > Ifc4x3_rc1::IfcTransformer::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcTransformerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcTransformerTypeEnum::Value > Ifc4x3_rc1::IfcTransformer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcTransformerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcTransformer::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcTransformerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcTransformerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcTransformer::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1223]); } const IfcParse::entity& Ifc4x3_rc1::IfcTransformer::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1223]); } Ifc4x3_rc1::IfcTransformer::IfcTransformer(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc1::IfcTransformer::IfcTransformer(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcTransformerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcTransformer::IfcTransformer(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcTransformerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTransformerType -::Ifc4x3_rc1::IfcTransformerTypeEnum::Value Ifc4x3_rc1::IfcTransformerType::PredefinedType() const { return ::Ifc4x3_rc1::IfcTransformerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcTransformerTypeEnum::Value Ifc4x3_rc1::IfcTransformerType::PredefinedType() const { return ::Ifc4x3_rc1::IfcTransformerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcTransformerType::setPredefinedType(::Ifc4x3_rc1::IfcTransformerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcTransformerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcTransformerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1224]); } const IfcParse::entity& Ifc4x3_rc1::IfcTransformerType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1224]); } Ifc4x3_rc1::IfcTransformerType::IfcTransformerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc1::IfcTransformerType::IfcTransformerType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTransformerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcTransformerType::IfcTransformerType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTransformerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTransitionCurveSegment2D -boost::optional< double > Ifc4x3_rc1::IfcTransitionCurveSegment2D::StartRadius() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc1::IfcTransitionCurveSegment2D::StartRadius() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcTransitionCurveSegment2D::setStartRadius(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc1::IfcTransitionCurveSegment2D::EndRadius() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc1::IfcTransitionCurveSegment2D::EndRadius() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcTransitionCurveSegment2D::setEndRadius(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -bool Ifc4x3_rc1::IfcTransitionCurveSegment2D::IsStartRadiusCCW() const { bool v = data_.get_attribute_value(5); return v; } +bool Ifc4x3_rc1::IfcTransitionCurveSegment2D::IsStartRadiusCCW() const { bool v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcTransitionCurveSegment2D::setIsStartRadiusCCW(bool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -bool Ifc4x3_rc1::IfcTransitionCurveSegment2D::IsEndRadiusCCW() const { bool v = data_.get_attribute_value(6); return v; } +bool Ifc4x3_rc1::IfcTransitionCurveSegment2D::IsEndRadiusCCW() const { bool v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcTransitionCurveSegment2D::setIsEndRadiusCCW(bool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc1::IfcTransitionCurveType::Value Ifc4x3_rc1::IfcTransitionCurveSegment2D::TransitionCurveType() const { return ::Ifc4x3_rc1::IfcTransitionCurveType::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc1::IfcTransitionCurveType::Value Ifc4x3_rc1::IfcTransitionCurveSegment2D::TransitionCurveType() const { return ::Ifc4x3_rc1::IfcTransitionCurveType::FromString(get_attribute_value(7)); } void Ifc4x3_rc1::IfcTransitionCurveSegment2D::setTransitionCurveType(::Ifc4x3_rc1::IfcTransitionCurveType::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc1::IfcTransitionCurveType::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc1::IfcTransitionCurveSegment2D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1227]); } const IfcParse::entity& Ifc4x3_rc1::IfcTransitionCurveSegment2D::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1227]); } Ifc4x3_rc1::IfcTransitionCurveSegment2D::IfcTransitionCurveSegment2D(IfcEntityInstanceData&& e) : IfcCurveSegment2D(std::move(e)) { } -Ifc4x3_rc1::IfcTransitionCurveSegment2D::IfcTransitionCurveSegment2D(::Ifc4x3_rc1::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, boost::optional< double > v4_StartRadius, boost::optional< double > v5_EndRadius, bool v6_IsStartRadiusCCW, bool v7_IsEndRadiusCCW, ::Ifc4x3_rc1::IfcTransitionCurveType::Value v8_TransitionCurveType) : IfcCurveSegment2D(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, v1_StartPoint ? v1_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength)); if (v4_StartRadius) {set_attribute_value(3, (*v4_StartRadius)); } if (v5_EndRadius) {set_attribute_value(4, (*v5_EndRadius)); }set_attribute_value(5, (v6_IsStartRadiusCCW));set_attribute_value(6, (v7_IsEndRadiusCCW));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcTransitionCurveType::Class(),(size_t)v8_TransitionCurveType)));; populate_derived(); } +Ifc4x3_rc1::IfcTransitionCurveSegment2D::IfcTransitionCurveSegment2D(::Ifc4x3_rc1::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, boost::optional< double > v4_StartRadius, boost::optional< double > v5_EndRadius, bool v6_IsStartRadiusCCW, bool v7_IsEndRadiusCCW, ::Ifc4x3_rc1::IfcTransitionCurveType::Value v8_TransitionCurveType) : IfcCurveSegment2D(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, v1_StartPoint ? v1_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength)); if (v4_StartRadius) {set_attribute_value(3, (*v4_StartRadius)); } if (v5_EndRadius) {set_attribute_value(4, (*v5_EndRadius)); }set_attribute_value(5, (v6_IsStartRadiusCCW));set_attribute_value(6, (v7_IsEndRadiusCCW));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc1::IfcTransitionCurveType::Class(),(size_t)v8_TransitionCurveType)));; populate_derived(); } // Function implementations for IfcTransportElement -::Ifc4x3_rc1::IfcTransportElementTypeSelect* Ifc4x3_rc1::IfcTransportElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc1::IfcTransportElementTypeSelect>(true); } +::Ifc4x3_rc1::IfcTransportElementTypeSelect* Ifc4x3_rc1::IfcTransportElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc1::IfcTransportElementTypeSelect>(true); } void Ifc4x3_rc1::IfcTransportElement::setPredefinedType(::Ifc4x3_rc1::IfcTransportElementTypeSelect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc1::IfcTransportElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1230]); } const IfcParse::entity& Ifc4x3_rc1::IfcTransportElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1230]); } Ifc4x3_rc1::IfcTransportElement::IfcTransportElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc1::IfcTransportElement::IfcTransportElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc1::IfcTransportElementTypeSelect* v9_PredefinedType) : IfcElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, v9_PredefinedType ? v9_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcTransportElement::IfcTransportElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc1::IfcTransportElementTypeSelect* v9_PredefinedType) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, v9_PredefinedType ? v9_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTransportElementType -::Ifc4x3_rc1::IfcTransportElementTypeSelect* Ifc4x3_rc1::IfcTransportElementType::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc1::IfcTransportElementTypeSelect>(true); } +::Ifc4x3_rc1::IfcTransportElementTypeSelect* Ifc4x3_rc1::IfcTransportElementType::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc1::IfcTransportElementTypeSelect>(true); } void Ifc4x3_rc1::IfcTransportElementType::setPredefinedType(::Ifc4x3_rc1::IfcTransportElementTypeSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcTransportElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1233]); } const IfcParse::entity& Ifc4x3_rc1::IfcTransportElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1233]); } Ifc4x3_rc1::IfcTransportElementType::IfcTransportElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_rc1::IfcTransportElementType::IfcTransportElementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTransportElementTypeSelect* v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, v10_PredefinedType ? v10_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcTransportElementType::IfcTransportElementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTransportElementTypeSelect* v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, v10_PredefinedType ? v10_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTrapeziumProfileDef -double Ifc4x3_rc1::IfcTrapeziumProfileDef::BottomXDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc1::IfcTrapeziumProfileDef::BottomXDim() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcTrapeziumProfileDef::setBottomXDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc1::IfcTrapeziumProfileDef::TopXDim() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc1::IfcTrapeziumProfileDef::TopXDim() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcTrapeziumProfileDef::setTopXDim(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc1::IfcTrapeziumProfileDef::YDim() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc1::IfcTrapeziumProfileDef::YDim() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcTrapeziumProfileDef::setYDim(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc1::IfcTrapeziumProfileDef::TopXOffset() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc1::IfcTrapeziumProfileDef::TopXOffset() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcTrapeziumProfileDef::setTopXOffset(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc1::IfcTrapeziumProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1235]); } const IfcParse::entity& Ifc4x3_rc1::IfcTrapeziumProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1235]); } Ifc4x3_rc1::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_rc1::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D* v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; populate_derived(); } +Ifc4x3_rc1::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::IfcAxis2Placement2D* v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; populate_derived(); } // Function implementations for IfcTriangulatedFaceSet -boost::optional< std::vector< std::vector< double > > > Ifc4x3_rc1::IfcTriangulatedFaceSet::Normals() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::vector< double > > v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< std::vector< double > > > Ifc4x3_rc1::IfcTriangulatedFaceSet::Normals() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::vector< double > > v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcTriangulatedFaceSet::setNormals(boost::optional< std::vector< std::vector< double > > > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< bool > Ifc4x3_rc1::IfcTriangulatedFaceSet::Closed() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } bool v = data_.get_attribute_value(2); return v; } +boost::optional< bool > Ifc4x3_rc1::IfcTriangulatedFaceSet::Closed() const { if(get_attribute_value(2).isNull()) { return boost::none; } bool v = get_attribute_value(2); return v; } void Ifc4x3_rc1::IfcTriangulatedFaceSet::setClosed(boost::optional< bool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector< std::vector< int > > Ifc4x3_rc1::IfcTriangulatedFaceSet::CoordIndex() const { std::vector< std::vector< int > > v = data_.get_attribute_value(3); return v; } +std::vector< std::vector< int > > Ifc4x3_rc1::IfcTriangulatedFaceSet::CoordIndex() const { std::vector< std::vector< int > > v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcTriangulatedFaceSet::setCoordIndex(std::vector< std::vector< int > > v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc1::IfcTriangulatedFaceSet::PnIndex() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc1::IfcTriangulatedFaceSet::PnIndex() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcTriangulatedFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc1::IfcTriangulatedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1236]); } const IfcParse::entity& Ifc4x3_rc1::IfcTriangulatedFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1236]); } Ifc4x3_rc1::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(IfcEntityInstanceData&& e) : IfcTessellatedFaceSet(std::move(e)) { } -Ifc4x3_rc1::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(::Ifc4x3_rc1::IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) : IfcTessellatedFaceSet(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }; populate_derived(); } +Ifc4x3_rc1::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(::Ifc4x3_rc1::IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) : IfcTessellatedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }; populate_derived(); } // Function implementations for IfcTriangulatedIrregularNetwork -std::vector< int > /*[1:?]*/ Ifc4x3_rc1::IfcTriangulatedIrregularNetwork::Flags() const { std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(5); return v; } +std::vector< int > /*[1:?]*/ Ifc4x3_rc1::IfcTriangulatedIrregularNetwork::Flags() const { std::vector< int > /*[1:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcTriangulatedIrregularNetwork::setFlags(std::vector< int > /*[1:?]*/ v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc1::IfcTriangulatedIrregularNetwork::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1237]); } const IfcParse::entity& Ifc4x3_rc1::IfcTriangulatedIrregularNetwork::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1237]); } Ifc4x3_rc1::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(IfcEntityInstanceData&& e) : IfcTriangulatedFaceSet(std::move(e)) { } -Ifc4x3_rc1::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::Ifc4x3_rc1::IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) : IfcTriangulatedFaceSet(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags));; populate_derived(); } +Ifc4x3_rc1::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::Ifc4x3_rc1::IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) : IfcTriangulatedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags));; populate_derived(); } // Function implementations for IfcTrimmedCurve -::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCurve>(true); } +::Ifc4x3_rc1::IfcCurve* Ifc4x3_rc1::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcCurve>(true); } void Ifc4x3_rc1::IfcTrimmedCurve::setBasisCurve(::Ifc4x3_rc1::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr Ifc4x3_rc1::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcTrimmingSelect >(); } +aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr Ifc4x3_rc1::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc1::IfcTrimmingSelect >(); } void Ifc4x3_rc1::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr Ifc4x3_rc1::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcTrimmingSelect >(); } +aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr Ifc4x3_rc1::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc1::IfcTrimmingSelect >(); } void Ifc4x3_rc1::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x3_rc1::IfcTrimmedCurve::SenseAgreement() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x3_rc1::IfcTrimmedCurve::SenseAgreement() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcTrimmedCurve::setSenseAgreement(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc1::IfcTrimmingPreference::Value Ifc4x3_rc1::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3_rc1::IfcTrimmingPreference::FromString(data_.get_attribute_value(4)); } +::Ifc4x3_rc1::IfcTrimmingPreference::Value Ifc4x3_rc1::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3_rc1::IfcTrimmingPreference::FromString(get_attribute_value(4)); } void Ifc4x3_rc1::IfcTrimmedCurve::setMasterRepresentation(::Ifc4x3_rc1::IfcTrimmingPreference::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3_rc1::IfcTrimmingPreference::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc1::IfcTrimmedCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1238]); } const IfcParse::entity& Ifc4x3_rc1::IfcTrimmedCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1238]); } Ifc4x3_rc1::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_rc1::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_rc1::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc1::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Trim1)->generalize());set_attribute_value(2, (v3_Trim2)->generalize());set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc1::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; populate_derived(); } +Ifc4x3_rc1::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_rc1::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_rc1::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc1::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Trim1)->generalize());set_attribute_value(2, (v3_Trim2)->generalize());set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc1::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcTubeBundle -boost::optional< ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value > Ifc4x3_rc1::IfcTubeBundle::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value > Ifc4x3_rc1::IfcTubeBundle::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcTubeBundle::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcTubeBundle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1242]); } const IfcParse::entity& Ifc4x3_rc1::IfcTubeBundle::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1242]); } Ifc4x3_rc1::IfcTubeBundle::IfcTubeBundle(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc1::IfcTubeBundle::IfcTubeBundle(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcTubeBundle::IfcTubeBundle(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTubeBundleType -::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value Ifc4x3_rc1::IfcTubeBundleType::PredefinedType() const { return ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value Ifc4x3_rc1::IfcTubeBundleType::PredefinedType() const { return ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcTubeBundleType::setPredefinedType(::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcTubeBundleType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1243]); } const IfcParse::entity& Ifc4x3_rc1::IfcTubeBundleType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1243]); } Ifc4x3_rc1::IfcTubeBundleType::IfcTubeBundleType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc1::IfcTubeBundleType::IfcTubeBundleType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcTubeBundleType::IfcTubeBundleType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTypeObject -boost::optional< std::string > Ifc4x3_rc1::IfcTypeObject::ApplicableOccurrence() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTypeObject::ApplicableOccurrence() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcTypeObject::setApplicableOccurrence(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > Ifc4x3_rc1::IfcTypeObject::HasPropertySets() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc1::IfcPropertySetDefinition >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > Ifc4x3_rc1::IfcTypeObject::HasPropertySets() const { if(get_attribute_value(5).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc1::IfcPropertySetDefinition >(); } void Ifc4x3_rc1::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v) { if (v) {set_attribute_value(5, (*v)->generalize());} else {unset_attribute_value(5);} } ::Ifc4x3_rc1::IfcRelDefinesByType::list::ptr Ifc4x3_rc1::IfcTypeObject::Types() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[946], 5)->as(); } @@ -17535,14 +17535,14 @@ void Ifc4x3_rc1::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of const IfcParse::entity& Ifc4x3_rc1::IfcTypeObject::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1245]); } const IfcParse::entity& Ifc4x3_rc1::IfcTypeObject::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1245]); } Ifc4x3_rc1::IfcTypeObject::IfcTypeObject(IfcEntityInstanceData&& e) : IfcObjectDefinition(std::move(e)) { } -Ifc4x3_rc1::IfcTypeObject::IfcTypeObject(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets) : IfcObjectDefinition(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); }; populate_derived(); } +Ifc4x3_rc1::IfcTypeObject::IfcTypeObject(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets) : IfcObjectDefinition(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); }; populate_derived(); } // Function implementations for IfcTypeProcess -boost::optional< std::string > Ifc4x3_rc1::IfcTypeProcess::Identification() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTypeProcess::Identification() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcTypeProcess::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc1::IfcTypeProcess::LongDescription() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTypeProcess::LongDescription() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcTypeProcess::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc1::IfcTypeProcess::ProcessType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTypeProcess::ProcessType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcTypeProcess::setProcessType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } ::Ifc4x3_rc1::IfcRelAssignsToProcess::list::ptr Ifc4x3_rc1::IfcTypeProcess::OperatesOn() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[916], 6)->as(); } @@ -17550,12 +17550,12 @@ void Ifc4x3_rc1::IfcTypeProcess::setProcessType(boost::optional< std::string > v const IfcParse::entity& Ifc4x3_rc1::IfcTypeProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1246]); } const IfcParse::entity& Ifc4x3_rc1::IfcTypeProcess::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1246]); } Ifc4x3_rc1::IfcTypeProcess::IfcTypeProcess(IfcEntityInstanceData&& e) : IfcTypeObject(std::move(e)) { } -Ifc4x3_rc1::IfcTypeProcess::IfcTypeProcess(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType) : IfcTypeObject(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }; populate_derived(); } +Ifc4x3_rc1::IfcTypeProcess::IfcTypeProcess(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType) : IfcTypeObject(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }; populate_derived(); } // Function implementations for IfcTypeProduct -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > Ifc4x3_rc1::IfcTypeProduct::RepresentationMaps() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3_rc1::IfcRepresentationMap >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > Ifc4x3_rc1::IfcTypeProduct::RepresentationMaps() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3_rc1::IfcRepresentationMap >(); } void Ifc4x3_rc1::IfcTypeProduct::setRepresentationMaps(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc1::IfcTypeProduct::Tag() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTypeProduct::Tag() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcTypeProduct::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } ::Ifc4x3_rc1::IfcRelAssignsToProduct::list::ptr Ifc4x3_rc1::IfcTypeProduct::ReferencedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[917], 6)->as(); } @@ -17563,14 +17563,14 @@ void Ifc4x3_rc1::IfcTypeProduct::setTag(boost::optional< std::string > v) { if ( const IfcParse::entity& Ifc4x3_rc1::IfcTypeProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1247]); } const IfcParse::entity& Ifc4x3_rc1::IfcTypeProduct::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1247]); } Ifc4x3_rc1::IfcTypeProduct::IfcTypeProduct(IfcEntityInstanceData&& e) : IfcTypeObject(std::move(e)) { } -Ifc4x3_rc1::IfcTypeProduct::IfcTypeProduct(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag) : IfcTypeObject(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc1::IfcTypeProduct::IfcTypeProduct(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag) : IfcTypeObject(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcTypeResource -boost::optional< std::string > Ifc4x3_rc1::IfcTypeResource::Identification() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTypeResource::Identification() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcTypeResource::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc1::IfcTypeResource::LongDescription() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTypeResource::LongDescription() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcTypeResource::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc1::IfcTypeResource::ResourceType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcTypeResource::ResourceType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcTypeResource::setResourceType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } ::Ifc4x3_rc1::IfcRelAssignsToResource::list::ptr Ifc4x3_rc1::IfcTypeResource::ResourceOf() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC1_types[918], 6)->as(); } @@ -17578,111 +17578,111 @@ void Ifc4x3_rc1::IfcTypeResource::setResourceType(boost::optional< std::string > const IfcParse::entity& Ifc4x3_rc1::IfcTypeResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1248]); } const IfcParse::entity& Ifc4x3_rc1::IfcTypeResource::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1248]); } Ifc4x3_rc1::IfcTypeResource::IfcTypeResource(IfcEntityInstanceData&& e) : IfcTypeObject(std::move(e)) { } -Ifc4x3_rc1::IfcTypeResource::IfcTypeResource(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType) : IfcTypeObject(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); }; populate_derived(); } +Ifc4x3_rc1::IfcTypeResource::IfcTypeResource(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType) : IfcTypeObject(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); }; populate_derived(); } // Function implementations for IfcUShapeProfileDef -double Ifc4x3_rc1::IfcUShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc1::IfcUShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcUShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc1::IfcUShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc1::IfcUShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcUShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc1::IfcUShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc1::IfcUShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcUShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc1::IfcUShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc1::IfcUShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcUShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc1::IfcUShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc1::IfcUShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcUShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc1::IfcUShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc1::IfcUShapeProfileDef::EdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcUShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_rc1::IfcUShapeProfileDef::FlangeSlope() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc1::IfcUShapeProfileDef::FlangeSlope() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc1::IfcUShapeProfileDef::setFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc1::IfcUShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1259]); } const IfcParse::entity& Ifc4x3_rc1::IfcUShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1259]); } Ifc4x3_rc1::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_rc1::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::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(storage_t(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } +Ifc4x3_rc1::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::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(in_memory_attribute_storage(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } // Function implementations for IfcUnitAssignment -aggregate_of< ::Ifc4x3_rc1::IfcUnit >::ptr Ifc4x3_rc1::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcUnit >(); } +aggregate_of< ::Ifc4x3_rc1::IfcUnit >::ptr Ifc4x3_rc1::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcUnit >(); } void Ifc4x3_rc1::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x3_rc1::IfcUnit >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc1::IfcUnitAssignment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1256]); } const IfcParse::entity& Ifc4x3_rc1::IfcUnitAssignment::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1256]); } Ifc4x3_rc1::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3_rc1::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Units)->generalize());; populate_derived(); } +Ifc4x3_rc1::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3_rc1::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Units)->generalize());; populate_derived(); } // Function implementations for IfcUnitaryControlElement -boost::optional< ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_rc1::IfcUnitaryControlElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_rc1::IfcUnitaryControlElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcUnitaryControlElement::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcUnitaryControlElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1250]); } const IfcParse::entity& Ifc4x3_rc1::IfcUnitaryControlElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1250]); } Ifc4x3_rc1::IfcUnitaryControlElement::IfcUnitaryControlElement(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_rc1::IfcUnitaryControlElement::IfcUnitaryControlElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcUnitaryControlElement::IfcUnitaryControlElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcUnitaryControlElementType -::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value Ifc4x3_rc1::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value Ifc4x3_rc1::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcUnitaryControlElementType::setPredefinedType(::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcUnitaryControlElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1251]); } const IfcParse::entity& Ifc4x3_rc1::IfcUnitaryControlElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1251]); } Ifc4x3_rc1::IfcUnitaryControlElementType::IfcUnitaryControlElementType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_rc1::IfcUnitaryControlElementType::IfcUnitaryControlElementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcUnitaryControlElementType::IfcUnitaryControlElementType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcUnitaryEquipment -boost::optional< ::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x3_rc1::IfcUnitaryEquipment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x3_rc1::IfcUnitaryEquipment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcUnitaryEquipment::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcUnitaryEquipment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1253]); } const IfcParse::entity& Ifc4x3_rc1::IfcUnitaryEquipment::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1253]); } Ifc4x3_rc1::IfcUnitaryEquipment::IfcUnitaryEquipment(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc1::IfcUnitaryEquipment::IfcUnitaryEquipment(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcUnitaryEquipment::IfcUnitaryEquipment(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcUnitaryEquipmentType -::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3_rc1::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3_rc1::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcUnitaryEquipmentType::setPredefinedType(::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcUnitaryEquipmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1254]); } const IfcParse::entity& Ifc4x3_rc1::IfcUnitaryEquipmentType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1254]); } Ifc4x3_rc1::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc1::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcValve -boost::optional< ::Ifc4x3_rc1::IfcValveTypeEnum::Value > Ifc4x3_rc1::IfcValve::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcValveTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcValveTypeEnum::Value > Ifc4x3_rc1::IfcValve::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcValveTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcValve::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcValveTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcValveTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcValve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1261]); } const IfcParse::entity& Ifc4x3_rc1::IfcValve::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1261]); } Ifc4x3_rc1::IfcValve::IfcValve(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_rc1::IfcValve::IfcValve(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcValveTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcValve::IfcValve(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcValveTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcValveType -::Ifc4x3_rc1::IfcValveTypeEnum::Value Ifc4x3_rc1::IfcValveType::PredefinedType() const { return ::Ifc4x3_rc1::IfcValveTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcValveTypeEnum::Value Ifc4x3_rc1::IfcValveType::PredefinedType() const { return ::Ifc4x3_rc1::IfcValveTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcValveType::setPredefinedType(::Ifc4x3_rc1::IfcValveTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcValveTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcValveType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1262]); } const IfcParse::entity& Ifc4x3_rc1::IfcValveType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1262]); } Ifc4x3_rc1::IfcValveType::IfcValveType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_rc1::IfcValveType::IfcValveType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcValveTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcValveType::IfcValveType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcValveTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcVector -::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcDirection>(true); } +::Ifc4x3_rc1::IfcDirection* Ifc4x3_rc1::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcDirection>(true); } void Ifc4x3_rc1::IfcVector::setOrientation(::Ifc4x3_rc1::IfcDirection* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc1::IfcVector::Magnitude() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc1::IfcVector::Magnitude() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcVector::setMagnitude(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcVector::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1265]); } const IfcParse::entity& Ifc4x3_rc1::IfcVector::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1265]); } Ifc4x3_rc1::IfcVector::IfcVector(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcVector::IfcVector(::Ifc4x3_rc1::IfcDirection* v1_Orientation, double v2_Magnitude) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Orientation ? v1_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Magnitude));; populate_derived(); } +Ifc4x3_rc1::IfcVector::IfcVector(::Ifc4x3_rc1::IfcDirection* v1_Orientation, double v2_Magnitude) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Orientation ? v1_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Magnitude));; populate_derived(); } // Function implementations for IfcVertex @@ -17690,67 +17690,67 @@ Ifc4x3_rc1::IfcVector::IfcVector(::Ifc4x3_rc1::IfcDirection* v1_Orientation, dou const IfcParse::entity& Ifc4x3_rc1::IfcVertex::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1267]); } const IfcParse::entity& Ifc4x3_rc1::IfcVertex::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1267]); } Ifc4x3_rc1::IfcVertex::IfcVertex(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_rc1::IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc1::IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcVertexLoop -::Ifc4x3_rc1::IfcVertex* Ifc4x3_rc1::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcVertex>(true); } +::Ifc4x3_rc1::IfcVertex* Ifc4x3_rc1::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcVertex>(true); } void Ifc4x3_rc1::IfcVertexLoop::setLoopVertex(::Ifc4x3_rc1::IfcVertex* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc1::IfcVertexLoop::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1268]); } const IfcParse::entity& Ifc4x3_rc1::IfcVertexLoop::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1268]); } Ifc4x3_rc1::IfcVertexLoop::IfcVertexLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc4x3_rc1::IfcVertexLoop::IfcVertexLoop(::Ifc4x3_rc1::IfcVertex* v1_LoopVertex) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_LoopVertex ? v1_LoopVertex->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcVertexLoop::IfcVertexLoop(::Ifc4x3_rc1::IfcVertex* v1_LoopVertex) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_LoopVertex ? v1_LoopVertex->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcVertexPoint -::Ifc4x3_rc1::IfcPoint* Ifc4x3_rc1::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcPoint>(true); } +::Ifc4x3_rc1::IfcPoint* Ifc4x3_rc1::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc1::IfcPoint>(true); } void Ifc4x3_rc1::IfcVertexPoint::setVertexGeometry(::Ifc4x3_rc1::IfcPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc1::IfcVertexPoint::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1269]); } const IfcParse::entity& Ifc4x3_rc1::IfcVertexPoint::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1269]); } Ifc4x3_rc1::IfcVertexPoint::IfcVertexPoint(IfcEntityInstanceData&& e) : IfcVertex(std::move(e)) { } -Ifc4x3_rc1::IfcVertexPoint::IfcVertexPoint(::Ifc4x3_rc1::IfcPoint* v1_VertexGeometry) : IfcVertex(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_VertexGeometry ? v1_VertexGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcVertexPoint::IfcVertexPoint(::Ifc4x3_rc1::IfcPoint* v1_VertexGeometry) : IfcVertex(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_VertexGeometry ? v1_VertexGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcVibrationDamper -boost::optional< ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc1::IfcVibrationDamper::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc1::IfcVibrationDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcVibrationDamper::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcVibrationDamper::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1270]); } const IfcParse::entity& Ifc4x3_rc1::IfcVibrationDamper::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1270]); } Ifc4x3_rc1::IfcVibrationDamper::IfcVibrationDamper(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_rc1::IfcVibrationDamper::IfcVibrationDamper(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcVibrationDamper::IfcVibrationDamper(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcVibrationDamperType -boost::optional< ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc1::IfcVibrationDamperType::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc1::IfcVibrationDamperType::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcVibrationDamperType::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc1::IfcVibrationDamperType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1271]); } const IfcParse::entity& Ifc4x3_rc1::IfcVibrationDamperType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1271]); } Ifc4x3_rc1::IfcVibrationDamperType::IfcVibrationDamperType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_rc1::IfcVibrationDamperType::IfcVibrationDamperType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value > v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcVibrationDamperType::IfcVibrationDamperType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< ::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Value > v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcVibrationDamperTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcVibrationIsolator -boost::optional< ::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value > Ifc4x3_rc1::IfcVibrationIsolator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value > Ifc4x3_rc1::IfcVibrationIsolator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcVibrationIsolator::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcVibrationIsolator::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1273]); } const IfcParse::entity& Ifc4x3_rc1::IfcVibrationIsolator::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1273]); } Ifc4x3_rc1::IfcVibrationIsolator::IfcVibrationIsolator(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_rc1::IfcVibrationIsolator::IfcVibrationIsolator(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcVibrationIsolator::IfcVibrationIsolator(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcVibrationIsolatorType -::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value Ifc4x3_rc1::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value Ifc4x3_rc1::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcVibrationIsolatorType::setPredefinedType(::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcVibrationIsolatorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1274]); } const IfcParse::entity& Ifc4x3_rc1::IfcVibrationIsolatorType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1274]); } Ifc4x3_rc1::IfcVibrationIsolatorType::IfcVibrationIsolatorType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_rc1::IfcVibrationIsolatorType::IfcVibrationIsolatorType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcVibrationIsolatorType::IfcVibrationIsolatorType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcVirtualElement @@ -17758,19 +17758,19 @@ Ifc4x3_rc1::IfcVibrationIsolatorType::IfcVibrationIsolatorType(std::string v1_Gl const IfcParse::entity& Ifc4x3_rc1::IfcVirtualElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1276]); } const IfcParse::entity& Ifc4x3_rc1::IfcVirtualElement::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1276]); } Ifc4x3_rc1::IfcVirtualElement::IfcVirtualElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc1::IfcVirtualElement::IfcVirtualElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc1::IfcVirtualElement::IfcVirtualElement(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcVirtualGridIntersection -aggregate_of< ::Ifc4x3_rc1::IfcGridAxis >::ptr Ifc4x3_rc1::IfcVirtualGridIntersection::IntersectingAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcGridAxis >(); } +aggregate_of< ::Ifc4x3_rc1::IfcGridAxis >::ptr Ifc4x3_rc1::IfcVirtualGridIntersection::IntersectingAxes() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc1::IfcGridAxis >(); } void Ifc4x3_rc1::IfcVirtualGridIntersection::setIntersectingAxes(aggregate_of< ::Ifc4x3_rc1::IfcGridAxis >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -std::vector< double > /*[2:3]*/ Ifc4x3_rc1::IfcVirtualGridIntersection::OffsetDistances() const { std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(1); return v; } +std::vector< double > /*[2:3]*/ Ifc4x3_rc1::IfcVirtualGridIntersection::OffsetDistances() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc1::IfcVirtualGridIntersection::setOffsetDistances(std::vector< double > /*[2:3]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc1::IfcVirtualGridIntersection::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1277]); } const IfcParse::entity& Ifc4x3_rc1::IfcVirtualGridIntersection::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1277]); } Ifc4x3_rc1::IfcVirtualGridIntersection::IfcVirtualGridIntersection(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc1::IfcVirtualGridIntersection::IfcVirtualGridIntersection(aggregate_of< ::Ifc4x3_rc1::IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_IntersectingAxes)->generalize());set_attribute_value(1, (v2_OffsetDistances));; populate_derived(); } +Ifc4x3_rc1::IfcVirtualGridIntersection::IfcVirtualGridIntersection(aggregate_of< ::Ifc4x3_rc1::IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_IntersectingAxes)->generalize());set_attribute_value(1, (v2_OffsetDistances));; populate_derived(); } // Function implementations for IfcVoidStratum @@ -17778,27 +17778,27 @@ Ifc4x3_rc1::IfcVirtualGridIntersection::IfcVirtualGridIntersection(aggregate_of< const IfcParse::entity& Ifc4x3_rc1::IfcVoidStratum::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1280]); } const IfcParse::entity& Ifc4x3_rc1::IfcVoidStratum::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1280]); } Ifc4x3_rc1::IfcVoidStratum::IfcVoidStratum(IfcEntityInstanceData&& e) : IfcGeotechnicalStratum(std::move(e)) { } -Ifc4x3_rc1::IfcVoidStratum::IfcVoidStratum(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalStratum(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc1::IfcVoidStratum::IfcVoidStratum(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalStratum(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcVoidingFeature -boost::optional< ::Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::Value > Ifc4x3_rc1::IfcVoidingFeature::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::Value > Ifc4x3_rc1::IfcVoidingFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcVoidingFeature::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcVoidingFeature::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1278]); } const IfcParse::entity& Ifc4x3_rc1::IfcVoidingFeature::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1278]); } Ifc4x3_rc1::IfcVoidingFeature::IfcVoidingFeature(IfcEntityInstanceData&& e) : IfcFeatureElementSubtraction(std::move(e)) { } -Ifc4x3_rc1::IfcVoidingFeature::IfcVoidingFeature(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcVoidingFeature::IfcVoidingFeature(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWall -boost::optional< ::Ifc4x3_rc1::IfcWallTypeEnum::Value > Ifc4x3_rc1::IfcWall::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcWallTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcWallTypeEnum::Value > Ifc4x3_rc1::IfcWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcWallTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcWall::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcWallTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcWallTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcWall::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1283]); } const IfcParse::entity& Ifc4x3_rc1::IfcWall::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1283]); } Ifc4x3_rc1::IfcWall::IfcWall(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc1::IfcWall::IfcWall(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcWall::IfcWall(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWallElementedCase @@ -17806,7 +17806,7 @@ Ifc4x3_rc1::IfcWall::IfcWall(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHist const IfcParse::entity& Ifc4x3_rc1::IfcWallElementedCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1284]); } const IfcParse::entity& Ifc4x3_rc1::IfcWallElementedCase::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1284]); } Ifc4x3_rc1::IfcWallElementedCase::IfcWallElementedCase(IfcEntityInstanceData&& e) : IfcWall(std::move(e)) { } -Ifc4x3_rc1::IfcWallElementedCase::IfcWallElementedCase(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcWall(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcWallElementedCase::IfcWallElementedCase(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcWall(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWallStandardCase @@ -17814,37 +17814,37 @@ Ifc4x3_rc1::IfcWallElementedCase::IfcWallElementedCase(std::string v1_GlobalId, const IfcParse::entity& Ifc4x3_rc1::IfcWallStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1285]); } const IfcParse::entity& Ifc4x3_rc1::IfcWallStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1285]); } Ifc4x3_rc1::IfcWallStandardCase::IfcWallStandardCase(IfcEntityInstanceData&& e) : IfcWall(std::move(e)) { } -Ifc4x3_rc1::IfcWallStandardCase::IfcWallStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcWall(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcWallStandardCase::IfcWallStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcWall(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWallType -::Ifc4x3_rc1::IfcWallTypeEnum::Value Ifc4x3_rc1::IfcWallType::PredefinedType() const { return ::Ifc4x3_rc1::IfcWallTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcWallTypeEnum::Value Ifc4x3_rc1::IfcWallType::PredefinedType() const { return ::Ifc4x3_rc1::IfcWallTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcWallType::setPredefinedType(::Ifc4x3_rc1::IfcWallTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcWallTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcWallType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1286]); } const IfcParse::entity& Ifc4x3_rc1::IfcWallType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1286]); } Ifc4x3_rc1::IfcWallType::IfcWallType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc1::IfcWallType::IfcWallType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcWallTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcWallType::IfcWallType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcWallTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcWasteTerminal -boost::optional< ::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value > Ifc4x3_rc1::IfcWasteTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value > Ifc4x3_rc1::IfcWasteTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcWasteTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcWasteTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1291]); } const IfcParse::entity& Ifc4x3_rc1::IfcWasteTerminal::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1291]); } Ifc4x3_rc1::IfcWasteTerminal::IfcWasteTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc1::IfcWasteTerminal::IfcWasteTerminal(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcWasteTerminal::IfcWasteTerminal(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWasteTerminalType -::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value Ifc4x3_rc1::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value Ifc4x3_rc1::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcWasteTerminalType::setPredefinedType(::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc1::IfcWasteTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1292]); } const IfcParse::entity& Ifc4x3_rc1::IfcWasteTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1292]); } Ifc4x3_rc1::IfcWasteTerminalType::IfcWasteTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc1::IfcWasteTerminalType::IfcWasteTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc1::IfcWasteTerminalType::IfcWasteTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcWaterStratum @@ -17852,75 +17852,75 @@ Ifc4x3_rc1::IfcWasteTerminalType::IfcWasteTerminalType(std::string v1_GlobalId, const IfcParse::entity& Ifc4x3_rc1::IfcWaterStratum::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1294]); } const IfcParse::entity& Ifc4x3_rc1::IfcWaterStratum::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1294]); } Ifc4x3_rc1::IfcWaterStratum::IfcWaterStratum(IfcEntityInstanceData&& e) : IfcGeotechnicalStratum(std::move(e)) { } -Ifc4x3_rc1::IfcWaterStratum::IfcWaterStratum(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalStratum(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc1::IfcWaterStratum::IfcWaterStratum(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalStratum(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcWindow -boost::optional< double > Ifc4x3_rc1::IfcWindow::OverallHeight() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc1::IfcWindow::OverallHeight() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcWindow::setOverallHeight(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_rc1::IfcWindow::OverallWidth() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc1::IfcWindow::OverallWidth() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc1::IfcWindow::setOverallWidth(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x3_rc1::IfcWindowTypeEnum::Value > Ifc4x3_rc1::IfcWindow::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcWindowTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc1::IfcWindowTypeEnum::Value > Ifc4x3_rc1::IfcWindow::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcWindowTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc1::IfcWindow::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcWindowTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc1::IfcWindowTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -boost::optional< ::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Value > Ifc4x3_rc1::IfcWindow::PartitioningType() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::FromString(data_.get_attribute_value(11)); } +boost::optional< ::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Value > Ifc4x3_rc1::IfcWindow::PartitioningType() const { if(get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc1::IfcWindow::setPartitioningType(boost::optional< ::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Value > v) { if (v) {set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Class(), (size_t) *v));} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_rc1::IfcWindow::UserDefinedPartitioningType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcWindow::UserDefinedPartitioningType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc1::IfcWindow::setUserDefinedPartitioningType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_rc1::IfcWindow::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1295]); } const IfcParse::entity& Ifc4x3_rc1::IfcWindow::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1295]); } Ifc4x3_rc1::IfcWindow::IfcWindow(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc1::IfcWindow::IfcWindow(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_rc1::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } +Ifc4x3_rc1::IfcWindow::IfcWindow(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_rc1::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } // Function implementations for IfcWindowLiningProperties -boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::LiningDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcWindowLiningProperties::setLiningDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::LiningThickness() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::LiningThickness() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcWindowLiningProperties::setLiningThickness(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::TransomThickness() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::TransomThickness() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcWindowLiningProperties::setTransomThickness(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::MullionThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::MullionThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcWindowLiningProperties::setMullionThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::FirstTransomOffset() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::FirstTransomOffset() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcWindowLiningProperties::setFirstTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::SecondTransomOffset() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::SecondTransomOffset() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc1::IfcWindowLiningProperties::setSecondTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::FirstMullionOffset() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::FirstMullionOffset() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::SecondMullionOffset() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::SecondMullionOffset() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc1::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -::Ifc4x3_rc1::IfcShapeAspect* Ifc4x3_rc1::IfcWindowLiningProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(12).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(12)))->as<::Ifc4x3_rc1::IfcShapeAspect>(true); } +::Ifc4x3_rc1::IfcShapeAspect* Ifc4x3_rc1::IfcWindowLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(12).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(12)))->as<::Ifc4x3_rc1::IfcShapeAspect>(true); } void Ifc4x3_rc1::IfcWindowLiningProperties::setShapeAspectStyle(::Ifc4x3_rc1::IfcShapeAspect* v) { set_attribute_value(12, v->as());if constexpr (false)unset_attribute_value(12); } -boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::LiningOffset() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::LiningOffset() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_rc1::IfcWindowLiningProperties::setLiningOffset(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::LiningToPanelOffsetX() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::LiningToPanelOffsetX() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3_rc1::IfcWindowLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::LiningToPanelOffsetY() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3_rc1::IfcWindowLiningProperties::LiningToPanelOffsetY() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3_rc1::IfcWindowLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } const IfcParse::entity& Ifc4x3_rc1::IfcWindowLiningProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1296]); } const IfcParse::entity& Ifc4x3_rc1::IfcWindowLiningProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1296]); } Ifc4x3_rc1::IfcWindowLiningProperties::IfcWindowLiningProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_rc1::IfcWindowLiningProperties::IfcWindowLiningProperties(std::string v1_GlobalId, ::Ifc4x3_rc1::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_rc1::IfcShapeAspect* v13_ShapeAspectStyle, boost::optional< double > v14_LiningOffset, boost::optional< double > v15_LiningToPanelOffsetX, boost::optional< double > v16_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, v13_ShapeAspectStyle ? v13_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); }; populate_derived(); } +Ifc4x3_rc1::IfcWindowLiningProperties::IfcWindowLiningProperties(std::string v1_GlobalId, ::Ifc4x3_rc1::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_rc1::IfcShapeAspect* v13_ShapeAspectStyle, boost::optional< double > v14_LiningOffset, boost::optional< double > v15_LiningToPanelOffsetX, boost::optional< double > v16_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, v13_ShapeAspectStyle ? v13_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); }; populate_derived(); } // Function implementations for IfcWindowPanelProperties -::Ifc4x3_rc1::IfcWindowPanelOperationEnum::Value Ifc4x3_rc1::IfcWindowPanelProperties::OperationType() const { return ::Ifc4x3_rc1::IfcWindowPanelOperationEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x3_rc1::IfcWindowPanelOperationEnum::Value Ifc4x3_rc1::IfcWindowPanelProperties::OperationType() const { return ::Ifc4x3_rc1::IfcWindowPanelOperationEnum::FromString(get_attribute_value(4)); } void Ifc4x3_rc1::IfcWindowPanelProperties::setOperationType(::Ifc4x3_rc1::IfcWindowPanelOperationEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3_rc1::IfcWindowPanelOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc1::IfcWindowPanelPositionEnum::Value Ifc4x3_rc1::IfcWindowPanelProperties::PanelPosition() const { return ::Ifc4x3_rc1::IfcWindowPanelPositionEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_rc1::IfcWindowPanelPositionEnum::Value Ifc4x3_rc1::IfcWindowPanelProperties::PanelPosition() const { return ::Ifc4x3_rc1::IfcWindowPanelPositionEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc1::IfcWindowPanelProperties::setPanelPosition(::Ifc4x3_rc1::IfcWindowPanelPositionEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc1::IfcWindowPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_rc1::IfcWindowPanelProperties::FrameDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc1::IfcWindowPanelProperties::FrameDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_rc1::IfcWindowPanelProperties::FrameThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc1::IfcWindowPanelProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc1::IfcShapeAspect* Ifc4x3_rc1::IfcWindowPanelProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc1::IfcShapeAspect>(true); } +::Ifc4x3_rc1::IfcShapeAspect* Ifc4x3_rc1::IfcWindowPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc1::IfcShapeAspect>(true); } void Ifc4x3_rc1::IfcWindowPanelProperties::setShapeAspectStyle(::Ifc4x3_rc1::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc1::IfcWindowPanelProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1299]); } const IfcParse::entity& Ifc4x3_rc1::IfcWindowPanelProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1299]); } Ifc4x3_rc1::IfcWindowPanelProperties::IfcWindowPanelProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_rc1::IfcWindowPanelProperties::IfcWindowPanelProperties(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_rc1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x3_rc1::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc1::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc1::IfcWindowPanelProperties::IfcWindowPanelProperties(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc1::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_rc1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x3_rc1::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc1::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc1::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcWindowStandardCase @@ -17928,137 +17928,137 @@ Ifc4x3_rc1::IfcWindowPanelProperties::IfcWindowPanelProperties(std::string v1_Gl const IfcParse::entity& Ifc4x3_rc1::IfcWindowStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1300]); } const IfcParse::entity& Ifc4x3_rc1::IfcWindowStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1300]); } Ifc4x3_rc1::IfcWindowStandardCase::IfcWindowStandardCase(IfcEntityInstanceData&& e) : IfcWindow(std::move(e)) { } -Ifc4x3_rc1::IfcWindowStandardCase::IfcWindowStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_rc1::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcWindow(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } +Ifc4x3_rc1::IfcWindowStandardCase::IfcWindowStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_rc1::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcWindow(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } // Function implementations for IfcWindowStyle -::Ifc4x3_rc1::IfcWindowStyleConstructionEnum::Value Ifc4x3_rc1::IfcWindowStyle::ConstructionType() const { return ::Ifc4x3_rc1::IfcWindowStyleConstructionEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc1::IfcWindowStyleConstructionEnum::Value Ifc4x3_rc1::IfcWindowStyle::ConstructionType() const { return ::Ifc4x3_rc1::IfcWindowStyleConstructionEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcWindowStyle::setConstructionType(::Ifc4x3_rc1::IfcWindowStyleConstructionEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcWindowStyleConstructionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc1::IfcWindowStyleOperationEnum::Value Ifc4x3_rc1::IfcWindowStyle::OperationType() const { return ::Ifc4x3_rc1::IfcWindowStyleOperationEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcWindowStyleOperationEnum::Value Ifc4x3_rc1::IfcWindowStyle::OperationType() const { return ::Ifc4x3_rc1::IfcWindowStyleOperationEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcWindowStyle::setOperationType(::Ifc4x3_rc1::IfcWindowStyleOperationEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcWindowStyleOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -bool Ifc4x3_rc1::IfcWindowStyle::ParameterTakesPrecedence() const { bool v = data_.get_attribute_value(10); return v; } +bool Ifc4x3_rc1::IfcWindowStyle::ParameterTakesPrecedence() const { bool v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcWindowStyle::setParameterTakesPrecedence(bool v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -bool Ifc4x3_rc1::IfcWindowStyle::Sizeable() const { bool v = data_.get_attribute_value(11); return v; } +bool Ifc4x3_rc1::IfcWindowStyle::Sizeable() const { bool v = get_attribute_value(11); return v; } void Ifc4x3_rc1::IfcWindowStyle::setSizeable(bool v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc1::IfcWindowStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1301]); } const IfcParse::entity& Ifc4x3_rc1::IfcWindowStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1301]); } Ifc4x3_rc1::IfcWindowStyle::IfcWindowStyle(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(e)) { } -Ifc4x3_rc1::IfcWindowStyle::IfcWindowStyle(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc1::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x3_rc1::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcWindowStyleConstructionEnum::Class(),(size_t)v9_ConstructionType)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcWindowStyleOperationEnum::Class(),(size_t)v10_OperationType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; populate_derived(); } +Ifc4x3_rc1::IfcWindowStyle::IfcWindowStyle(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc1::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x3_rc1::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcWindowStyleConstructionEnum::Class(),(size_t)v9_ConstructionType)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcWindowStyleOperationEnum::Class(),(size_t)v10_OperationType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; populate_derived(); } // Function implementations for IfcWindowType -::Ifc4x3_rc1::IfcWindowTypeEnum::Value Ifc4x3_rc1::IfcWindowType::PredefinedType() const { return ::Ifc4x3_rc1::IfcWindowTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc1::IfcWindowTypeEnum::Value Ifc4x3_rc1::IfcWindowType::PredefinedType() const { return ::Ifc4x3_rc1::IfcWindowTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc1::IfcWindowType::setPredefinedType(::Ifc4x3_rc1::IfcWindowTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc1::IfcWindowTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Value Ifc4x3_rc1::IfcWindowType::PartitioningType() const { return ::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Value Ifc4x3_rc1::IfcWindowType::PartitioningType() const { return ::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc1::IfcWindowType::setPartitioningType(::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } -boost::optional< bool > Ifc4x3_rc1::IfcWindowType::ParameterTakesPrecedence() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } bool v = data_.get_attribute_value(11); return v; } +boost::optional< bool > Ifc4x3_rc1::IfcWindowType::ParameterTakesPrecedence() const { if(get_attribute_value(11).isNull()) { return boost::none; } bool v = get_attribute_value(11); return v; } void Ifc4x3_rc1::IfcWindowType::setParameterTakesPrecedence(boost::optional< bool > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_rc1::IfcWindowType::UserDefinedPartitioningType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcWindowType::UserDefinedPartitioningType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc1::IfcWindowType::setUserDefinedPartitioningType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_rc1::IfcWindowType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1304]); } const IfcParse::entity& Ifc4x3_rc1::IfcWindowType::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1304]); } Ifc4x3_rc1::IfcWindowType::IfcWindowType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc1::IfcWindowType::IfcWindowType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } +Ifc4x3_rc1::IfcWindowType::IfcWindowType(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc1::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc1::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc1::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } // Function implementations for IfcWorkCalendar -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcWorkTime >::ptr > Ifc4x3_rc1::IfcWorkCalendar::WorkingTimes() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3_rc1::IfcWorkTime >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcWorkTime >::ptr > Ifc4x3_rc1::IfcWorkCalendar::WorkingTimes() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3_rc1::IfcWorkTime >(); } void Ifc4x3_rc1::IfcWorkCalendar::setWorkingTimes(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcWorkTime >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcWorkTime >::ptr > Ifc4x3_rc1::IfcWorkCalendar::ExceptionTimes() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc1::IfcWorkTime >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcWorkTime >::ptr > Ifc4x3_rc1::IfcWorkCalendar::ExceptionTimes() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc1::IfcWorkTime >(); } void Ifc4x3_rc1::IfcWorkCalendar::setExceptionTimes(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcWorkTime >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3_rc1::IfcWorkCalendarTypeEnum::Value > Ifc4x3_rc1::IfcWorkCalendar::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcWorkCalendarTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc1::IfcWorkCalendarTypeEnum::Value > Ifc4x3_rc1::IfcWorkCalendar::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcWorkCalendarTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc1::IfcWorkCalendar::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcWorkCalendarTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc1::IfcWorkCalendarTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcWorkCalendar::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1307]); } const IfcParse::entity& Ifc4x3_rc1::IfcWorkCalendar::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1307]); } Ifc4x3_rc1::IfcWorkCalendar::IfcWorkCalendar(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_rc1::IfcWorkCalendar::IfcWorkCalendar(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcWorkTime >::ptr > v7_WorkingTimes, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcWorkTime >::ptr > v8_ExceptionTimes, boost::optional< ::Ifc4x3_rc1::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, (*v7_WorkingTimes)->generalize()); } if (v8_ExceptionTimes) {set_attribute_value(7, (*v8_ExceptionTimes)->generalize()); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcWorkCalendar::IfcWorkCalendar(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcWorkTime >::ptr > v7_WorkingTimes, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcWorkTime >::ptr > v8_ExceptionTimes, boost::optional< ::Ifc4x3_rc1::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, (*v7_WorkingTimes)->generalize()); } if (v8_ExceptionTimes) {set_attribute_value(7, (*v8_ExceptionTimes)->generalize()); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc1::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWorkControl -std::string Ifc4x3_rc1::IfcWorkControl::CreationDate() const { std::string v = data_.get_attribute_value(6); return v; } +std::string Ifc4x3_rc1::IfcWorkControl::CreationDate() const { std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcWorkControl::setCreationDate(std::string v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPerson >::ptr > Ifc4x3_rc1::IfcWorkControl::Creators() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc1::IfcPerson >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPerson >::ptr > Ifc4x3_rc1::IfcWorkControl::Creators() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc1::IfcPerson >(); } void Ifc4x3_rc1::IfcWorkControl::setCreators(boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPerson >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc1::IfcWorkControl::Purpose() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcWorkControl::Purpose() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcWorkControl::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_rc1::IfcWorkControl::Duration() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcWorkControl::Duration() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc1::IfcWorkControl::setDuration(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x3_rc1::IfcWorkControl::TotalFloat() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcWorkControl::TotalFloat() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc1::IfcWorkControl::setTotalFloat(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -std::string Ifc4x3_rc1::IfcWorkControl::StartTime() const { std::string v = data_.get_attribute_value(11); return v; } +std::string Ifc4x3_rc1::IfcWorkControl::StartTime() const { std::string v = get_attribute_value(11); return v; } void Ifc4x3_rc1::IfcWorkControl::setStartTime(std::string v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } -boost::optional< std::string > Ifc4x3_rc1::IfcWorkControl::FinishTime() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcWorkControl::FinishTime() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc1::IfcWorkControl::setFinishTime(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_rc1::IfcWorkControl::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1309]); } const IfcParse::entity& Ifc4x3_rc1::IfcWorkControl::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1309]); } Ifc4x3_rc1::IfcWorkControl::IfcWorkControl(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_rc1::IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime) : IfcControl(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); }; populate_derived(); } +Ifc4x3_rc1::IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); }; populate_derived(); } // Function implementations for IfcWorkPlan -boost::optional< ::Ifc4x3_rc1::IfcWorkPlanTypeEnum::Value > Ifc4x3_rc1::IfcWorkPlan::PredefinedType() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcWorkPlanTypeEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x3_rc1::IfcWorkPlanTypeEnum::Value > Ifc4x3_rc1::IfcWorkPlan::PredefinedType() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcWorkPlanTypeEnum::FromString(get_attribute_value(13)); } void Ifc4x3_rc1::IfcWorkPlan::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcWorkPlanTypeEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x3_rc1::IfcWorkPlanTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } const IfcParse::entity& Ifc4x3_rc1::IfcWorkPlan::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1310]); } const IfcParse::entity& Ifc4x3_rc1::IfcWorkPlan::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1310]); } Ifc4x3_rc1::IfcWorkPlan::IfcWorkPlan(IfcEntityInstanceData&& e) : IfcWorkControl(std::move(e)) { } -Ifc4x3_rc1::IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< ::Ifc4x3_rc1::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_rc1::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< ::Ifc4x3_rc1::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_rc1::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWorkSchedule -boost::optional< ::Ifc4x3_rc1::IfcWorkScheduleTypeEnum::Value > Ifc4x3_rc1::IfcWorkSchedule::PredefinedType() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcWorkScheduleTypeEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x3_rc1::IfcWorkScheduleTypeEnum::Value > Ifc4x3_rc1::IfcWorkSchedule::PredefinedType() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_rc1::IfcWorkScheduleTypeEnum::FromString(get_attribute_value(13)); } void Ifc4x3_rc1::IfcWorkSchedule::setPredefinedType(boost::optional< ::Ifc4x3_rc1::IfcWorkScheduleTypeEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x3_rc1::IfcWorkScheduleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } const IfcParse::entity& Ifc4x3_rc1::IfcWorkSchedule::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1312]); } const IfcParse::entity& Ifc4x3_rc1::IfcWorkSchedule::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1312]); } Ifc4x3_rc1::IfcWorkSchedule::IfcWorkSchedule(IfcEntityInstanceData&& e) : IfcWorkControl(std::move(e)) { } -Ifc4x3_rc1::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< ::Ifc4x3_rc1::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_rc1::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc1::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x3_rc1::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< ::Ifc4x3_rc1::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_rc1::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWorkTime -::Ifc4x3_rc1::IfcRecurrencePattern* Ifc4x3_rc1::IfcWorkTime::RecurrencePattern() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcRecurrencePattern>(true); } +::Ifc4x3_rc1::IfcRecurrencePattern* Ifc4x3_rc1::IfcWorkTime::RecurrencePattern() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc1::IfcRecurrencePattern>(true); } void Ifc4x3_rc1::IfcWorkTime::setRecurrencePattern(::Ifc4x3_rc1::IfcRecurrencePattern* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc1::IfcWorkTime::Start() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcWorkTime::Start() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcWorkTime::setStart(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc1::IfcWorkTime::Finish() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcWorkTime::Finish() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcWorkTime::setFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_rc1::IfcWorkTime::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1314]); } const IfcParse::entity& Ifc4x3_rc1::IfcWorkTime::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1314]); } Ifc4x3_rc1::IfcWorkTime::IfcWorkTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x3_rc1::IfcWorkTime::IfcWorkTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc1::IfcRecurrencePattern* v4_RecurrencePattern, boost::optional< std::string > v5_Start, boost::optional< std::string > v6_Finish) : IfcSchedulingTime(IfcEntityInstanceData(storage_t(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_RecurrencePattern ? v4_RecurrencePattern->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Start) {set_attribute_value(4, (*v5_Start)); } if (v6_Finish) {set_attribute_value(5, (*v6_Finish)); }; populate_derived(); } +Ifc4x3_rc1::IfcWorkTime::IfcWorkTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc1::IfcRecurrencePattern* v4_RecurrencePattern, boost::optional< std::string > v5_Start, boost::optional< std::string > v6_Finish) : IfcSchedulingTime(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_RecurrencePattern ? v4_RecurrencePattern->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Start) {set_attribute_value(4, (*v5_Start)); } if (v6_Finish) {set_attribute_value(5, (*v6_Finish)); }; populate_derived(); } // Function implementations for IfcZShapeProfileDef -double Ifc4x3_rc1::IfcZShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc1::IfcZShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc1::IfcZShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc1::IfcZShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc1::IfcZShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc1::IfcZShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc1::IfcZShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc1::IfcZShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcZShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc1::IfcZShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc1::IfcZShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc1::IfcZShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc1::IfcZShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc1::IfcZShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc1::IfcZShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc1::IfcZShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc1::IfcZShapeProfileDef::EdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc1::IfcZShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc1::IfcZShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1316]); } const IfcParse::entity& Ifc4x3_rc1::IfcZShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1316]); } Ifc4x3_rc1::IfcZShapeProfileDef::IfcZShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_rc1::IfcZShapeProfileDef::IfcZShapeProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::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(storage_t(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; populate_derived(); } +Ifc4x3_rc1::IfcZShapeProfileDef::IfcZShapeProfileDef(::Ifc4x3_rc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc1::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(in_memory_attribute_storage(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; populate_derived(); } // Function implementations for IfcZone -boost::optional< std::string > Ifc4x3_rc1::IfcZone::LongName() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc1::IfcZone::LongName() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc1::IfcZone::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_rc1::IfcZone::declaration() const { return *((IfcParse::entity*)IFC4X3_RC1_types[1315]); } const IfcParse::entity& Ifc4x3_rc1::IfcZone::Class() { return *((IfcParse::entity*)IFC4X3_RC1_types[1315]); } Ifc4x3_rc1::IfcZone::IfcZone(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3_rc1::IfcZone::IfcZone(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName) : IfcSystem(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); }; populate_derived(); } +Ifc4x3_rc1::IfcZone::IfcZone(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); }; populate_derived(); } diff --git a/src/ifcparse/Ifc4x3_rc2.cpp b/src/ifcparse/Ifc4x3_rc2.cpp index 3a0cd771fe..38f3b07739 100644 --- a/src/ifcparse/Ifc4x3_rc2.cpp +++ b/src/ifcparse/Ifc4x3_rc2.cpp @@ -63,7 +63,7 @@ Ifc4x3_rc2::IfcActionRequestTypeEnum::Value Ifc4x3_rc2::IfcActionRequestTypeEnum } Ifc4x3_rc2::IfcActionRequestTypeEnum::operator Ifc4x3_rc2::IfcActionRequestTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcActionRequestTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcActionRequestTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcActionSourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[4]); } @@ -90,7 +90,7 @@ Ifc4x3_rc2::IfcActionSourceTypeEnum::Value Ifc4x3_rc2::IfcActionSourceTypeEnum:: } Ifc4x3_rc2::IfcActionSourceTypeEnum::operator Ifc4x3_rc2::IfcActionSourceTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcActionSourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcActionSourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcActionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[5]); } @@ -117,7 +117,7 @@ Ifc4x3_rc2::IfcActionTypeEnum::Value Ifc4x3_rc2::IfcActionTypeEnum::FromString(c } Ifc4x3_rc2::IfcActionTypeEnum::operator Ifc4x3_rc2::IfcActionTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcActionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcActionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcActuatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[11]); } @@ -144,7 +144,7 @@ Ifc4x3_rc2::IfcActuatorTypeEnum::Value Ifc4x3_rc2::IfcActuatorTypeEnum::FromStri } Ifc4x3_rc2::IfcActuatorTypeEnum::operator Ifc4x3_rc2::IfcActuatorTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcActuatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcActuatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAddressTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[13]); } @@ -171,7 +171,7 @@ Ifc4x3_rc2::IfcAddressTypeEnum::Value Ifc4x3_rc2::IfcAddressTypeEnum::FromString } Ifc4x3_rc2::IfcAddressTypeEnum::operator Ifc4x3_rc2::IfcAddressTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcAddressTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcAddressTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[20]); } @@ -198,7 +198,7 @@ Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value Ifc4x3_rc2::IfcAirTerminalBoxTypeEn } Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::operator Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAirTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[22]); } @@ -225,7 +225,7 @@ Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value Ifc4x3_rc2::IfcAirTerminalTypeEnum::Fr } Ifc4x3_rc2::IfcAirTerminalTypeEnum::operator Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[25]); } @@ -252,7 +252,7 @@ Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3_rc2::IfcAirToAirHeatRe } Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::operator Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAlarmTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[28]); } @@ -279,7 +279,7 @@ Ifc4x3_rc2::IfcAlarmTypeEnum::Value Ifc4x3_rc2::IfcAlarmTypeEnum::FromString(con } Ifc4x3_rc2::IfcAlarmTypeEnum::operator Ifc4x3_rc2::IfcAlarmTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcAlarmTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcAlarmTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[35]); } @@ -306,7 +306,7 @@ Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::Value Ifc4x3_rc2::IfcAlignmentCantS } Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::operator Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAlignmentHorizontalSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[39]); } @@ -333,7 +333,7 @@ Ifc4x3_rc2::IfcAlignmentHorizontalSegmentTypeEnum::Value Ifc4x3_rc2::IfcAlignmen } Ifc4x3_rc2::IfcAlignmentHorizontalSegmentTypeEnum::operator Ifc4x3_rc2::IfcAlignmentHorizontalSegmentTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcAlignmentHorizontalSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcAlignmentHorizontalSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAlignmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[42]); } @@ -360,7 +360,7 @@ Ifc4x3_rc2::IfcAlignmentTypeEnum::Value Ifc4x3_rc2::IfcAlignmentTypeEnum::FromSt } Ifc4x3_rc2::IfcAlignmentTypeEnum::operator Ifc4x3_rc2::IfcAlignmentTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcAlignmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcAlignmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[45]); } @@ -387,7 +387,7 @@ Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value Ifc4x3_rc2::IfcAlignmentV } Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::operator Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAnalysisModelTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[47]); } @@ -414,7 +414,7 @@ Ifc4x3_rc2::IfcAnalysisModelTypeEnum::Value Ifc4x3_rc2::IfcAnalysisModelTypeEnum } Ifc4x3_rc2::IfcAnalysisModelTypeEnum::operator Ifc4x3_rc2::IfcAnalysisModelTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcAnalysisModelTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcAnalysisModelTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[48]); } @@ -441,7 +441,7 @@ Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_rc2::IfcAnalysisTheoryTypeEn } Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::operator Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAnnotationTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[52]); } @@ -468,7 +468,7 @@ Ifc4x3_rc2::IfcAnnotationTypeEnum::Value Ifc4x3_rc2::IfcAnnotationTypeEnum::From } Ifc4x3_rc2::IfcAnnotationTypeEnum::operator Ifc4x3_rc2::IfcAnnotationTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcAnnotationTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcAnnotationTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcArithmeticOperatorEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[64]); } @@ -495,7 +495,7 @@ Ifc4x3_rc2::IfcArithmeticOperatorEnum::Value Ifc4x3_rc2::IfcArithmeticOperatorEn } Ifc4x3_rc2::IfcArithmeticOperatorEnum::operator Ifc4x3_rc2::IfcArithmeticOperatorEnum::Value() const { - return (Ifc4x3_rc2::IfcArithmeticOperatorEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcArithmeticOperatorEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAssemblyPlaceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[65]); } @@ -522,7 +522,7 @@ Ifc4x3_rc2::IfcAssemblyPlaceEnum::Value Ifc4x3_rc2::IfcAssemblyPlaceEnum::FromSt } Ifc4x3_rc2::IfcAssemblyPlaceEnum::operator Ifc4x3_rc2::IfcAssemblyPlaceEnum::Value() const { - return (Ifc4x3_rc2::IfcAssemblyPlaceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcAssemblyPlaceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[70]); } @@ -549,7 +549,7 @@ Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3_rc2::IfcAudioVisualApp } Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::operator Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBSplineCurveForm::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[116]); } @@ -576,7 +576,7 @@ Ifc4x3_rc2::IfcBSplineCurveForm::Value Ifc4x3_rc2::IfcBSplineCurveForm::FromStri } Ifc4x3_rc2::IfcBSplineCurveForm::operator Ifc4x3_rc2::IfcBSplineCurveForm::Value() const { - return (Ifc4x3_rc2::IfcBSplineCurveForm::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcBSplineCurveForm::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBSplineSurfaceForm::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[119]); } @@ -603,7 +603,7 @@ Ifc4x3_rc2::IfcBSplineSurfaceForm::Value Ifc4x3_rc2::IfcBSplineSurfaceForm::From } Ifc4x3_rc2::IfcBSplineSurfaceForm::operator Ifc4x3_rc2::IfcBSplineSurfaceForm::Value() const { - return (Ifc4x3_rc2::IfcBSplineSurfaceForm::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcBSplineSurfaceForm::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBeamTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[80]); } @@ -630,7 +630,7 @@ Ifc4x3_rc2::IfcBeamTypeEnum::Value Ifc4x3_rc2::IfcBeamTypeEnum::FromString(const } Ifc4x3_rc2::IfcBeamTypeEnum::operator Ifc4x3_rc2::IfcBeamTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcBeamTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcBeamTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBearingTypeDisplacementEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[83]); } @@ -657,7 +657,7 @@ Ifc4x3_rc2::IfcBearingTypeDisplacementEnum::Value Ifc4x3_rc2::IfcBearingTypeDisp } Ifc4x3_rc2::IfcBearingTypeDisplacementEnum::operator Ifc4x3_rc2::IfcBearingTypeDisplacementEnum::Value() const { - return (Ifc4x3_rc2::IfcBearingTypeDisplacementEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcBearingTypeDisplacementEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBearingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[84]); } @@ -684,7 +684,7 @@ Ifc4x3_rc2::IfcBearingTypeEnum::Value Ifc4x3_rc2::IfcBearingTypeEnum::FromString } Ifc4x3_rc2::IfcBearingTypeEnum::operator Ifc4x3_rc2::IfcBearingTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcBearingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcBearingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBenchmarkEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[85]); } @@ -711,7 +711,7 @@ Ifc4x3_rc2::IfcBenchmarkEnum::Value Ifc4x3_rc2::IfcBenchmarkEnum::FromString(con } Ifc4x3_rc2::IfcBenchmarkEnum::operator Ifc4x3_rc2::IfcBenchmarkEnum::Value() const { - return (Ifc4x3_rc2::IfcBenchmarkEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcBenchmarkEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBoilerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[93]); } @@ -738,7 +738,7 @@ Ifc4x3_rc2::IfcBoilerTypeEnum::Value Ifc4x3_rc2::IfcBoilerTypeEnum::FromString(c } Ifc4x3_rc2::IfcBoilerTypeEnum::operator Ifc4x3_rc2::IfcBoilerTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcBoilerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcBoilerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBooleanOperator::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[97]); } @@ -765,7 +765,7 @@ Ifc4x3_rc2::IfcBooleanOperator::Value Ifc4x3_rc2::IfcBooleanOperator::FromString } Ifc4x3_rc2::IfcBooleanOperator::operator Ifc4x3_rc2::IfcBooleanOperator::Value() const { - return (Ifc4x3_rc2::IfcBooleanOperator::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcBooleanOperator::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBridgePartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[113]); } @@ -792,7 +792,7 @@ Ifc4x3_rc2::IfcBridgePartTypeEnum::Value Ifc4x3_rc2::IfcBridgePartTypeEnum::From } Ifc4x3_rc2::IfcBridgePartTypeEnum::operator Ifc4x3_rc2::IfcBridgePartTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcBridgePartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcBridgePartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBridgeTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[114]); } @@ -819,7 +819,7 @@ Ifc4x3_rc2::IfcBridgeTypeEnum::Value Ifc4x3_rc2::IfcBridgeTypeEnum::FromString(c } Ifc4x3_rc2::IfcBridgeTypeEnum::operator Ifc4x3_rc2::IfcBridgeTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcBridgeTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcBridgeTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[124]); } @@ -846,7 +846,7 @@ Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Value Ifc4x3_rc2::IfcBuildingElement } Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::operator Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[127]); } @@ -873,7 +873,7 @@ Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value Ifc4x3_rc2::IfcBuildingElemen } Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::operator Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBuildingSystemTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[130]); } @@ -900,7 +900,7 @@ Ifc4x3_rc2::IfcBuildingSystemTypeEnum::Value Ifc4x3_rc2::IfcBuildingSystemTypeEn } Ifc4x3_rc2::IfcBuildingSystemTypeEnum::operator Ifc4x3_rc2::IfcBuildingSystemTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcBuildingSystemTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcBuildingSystemTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBuiltSystemTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[134]); } @@ -927,7 +927,7 @@ Ifc4x3_rc2::IfcBuiltSystemTypeEnum::Value Ifc4x3_rc2::IfcBuiltSystemTypeEnum::Fr } Ifc4x3_rc2::IfcBuiltSystemTypeEnum::operator Ifc4x3_rc2::IfcBuiltSystemTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcBuiltSystemTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcBuiltSystemTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcBurnerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[137]); } @@ -954,7 +954,7 @@ Ifc4x3_rc2::IfcBurnerTypeEnum::Value Ifc4x3_rc2::IfcBurnerTypeEnum::FromString(c } Ifc4x3_rc2::IfcBurnerTypeEnum::operator Ifc4x3_rc2::IfcBurnerTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcBurnerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcBurnerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[140]); } @@ -981,7 +981,7 @@ Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Value Ifc4x3_rc2::IfcCableCarrierFit } Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::operator Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[143]); } @@ -1008,7 +1008,7 @@ Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3_rc2::IfcCableCarrierSeg } Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::operator Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCableFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[146]); } @@ -1035,7 +1035,7 @@ Ifc4x3_rc2::IfcCableFittingTypeEnum::Value Ifc4x3_rc2::IfcCableFittingTypeEnum:: } Ifc4x3_rc2::IfcCableFittingTypeEnum::operator Ifc4x3_rc2::IfcCableFittingTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcCableFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcCableFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCableSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[149]); } @@ -1062,7 +1062,7 @@ Ifc4x3_rc2::IfcCableSegmentTypeEnum::Value Ifc4x3_rc2::IfcCableSegmentTypeEnum:: } Ifc4x3_rc2::IfcCableSegmentTypeEnum::operator Ifc4x3_rc2::IfcCableSegmentTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcCableSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcCableSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[152]); } @@ -1089,7 +1089,7 @@ Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value Ifc4x3_rc2::IfcCaissonFoundation } Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::operator Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcChangeActionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[164]); } @@ -1116,7 +1116,7 @@ Ifc4x3_rc2::IfcChangeActionEnum::Value Ifc4x3_rc2::IfcChangeActionEnum::FromStri } Ifc4x3_rc2::IfcChangeActionEnum::operator Ifc4x3_rc2::IfcChangeActionEnum::Value() const { - return (Ifc4x3_rc2::IfcChangeActionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcChangeActionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcChillerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[167]); } @@ -1143,7 +1143,7 @@ Ifc4x3_rc2::IfcChillerTypeEnum::Value Ifc4x3_rc2::IfcChillerTypeEnum::FromString } Ifc4x3_rc2::IfcChillerTypeEnum::operator Ifc4x3_rc2::IfcChillerTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcChillerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcChillerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcChimneyTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[170]); } @@ -1170,7 +1170,7 @@ Ifc4x3_rc2::IfcChimneyTypeEnum::Value Ifc4x3_rc2::IfcChimneyTypeEnum::FromString } Ifc4x3_rc2::IfcChimneyTypeEnum::operator Ifc4x3_rc2::IfcChimneyTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcChimneyTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcChimneyTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCoilTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[185]); } @@ -1197,7 +1197,7 @@ Ifc4x3_rc2::IfcCoilTypeEnum::Value Ifc4x3_rc2::IfcCoilTypeEnum::FromString(const } Ifc4x3_rc2::IfcCoilTypeEnum::operator Ifc4x3_rc2::IfcCoilTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcCoilTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcCoilTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcColumnTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[194]); } @@ -1224,7 +1224,7 @@ Ifc4x3_rc2::IfcColumnTypeEnum::Value Ifc4x3_rc2::IfcColumnTypeEnum::FromString(c } Ifc4x3_rc2::IfcColumnTypeEnum::operator Ifc4x3_rc2::IfcColumnTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcColumnTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcColumnTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[197]); } @@ -1251,7 +1251,7 @@ Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3_rc2::IfcCommunicati } Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::operator Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[201]); } @@ -1278,7 +1278,7 @@ Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::Value Ifc4x3_rc2::IfcComplexProp } Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::operator Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCompressorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[209]); } @@ -1305,7 +1305,7 @@ Ifc4x3_rc2::IfcCompressorTypeEnum::Value Ifc4x3_rc2::IfcCompressorTypeEnum::From } Ifc4x3_rc2::IfcCompressorTypeEnum::operator Ifc4x3_rc2::IfcCompressorTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcCompressorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcCompressorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCondenserTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[212]); } @@ -1332,7 +1332,7 @@ Ifc4x3_rc2::IfcCondenserTypeEnum::Value Ifc4x3_rc2::IfcCondenserTypeEnum::FromSt } Ifc4x3_rc2::IfcCondenserTypeEnum::operator Ifc4x3_rc2::IfcCondenserTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcCondenserTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcCondenserTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcConnectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[220]); } @@ -1359,7 +1359,7 @@ Ifc4x3_rc2::IfcConnectionTypeEnum::Value Ifc4x3_rc2::IfcConnectionTypeEnum::From } Ifc4x3_rc2::IfcConnectionTypeEnum::operator Ifc4x3_rc2::IfcConnectionTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcConnectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcConnectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcConstraintEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[223]); } @@ -1386,7 +1386,7 @@ Ifc4x3_rc2::IfcConstraintEnum::Value Ifc4x3_rc2::IfcConstraintEnum::FromString(c } Ifc4x3_rc2::IfcConstraintEnum::operator Ifc4x3_rc2::IfcConstraintEnum::Value() const { - return (Ifc4x3_rc2::IfcConstraintEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcConstraintEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[226]); } @@ -1413,7 +1413,7 @@ Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3_rc2::IfcConst } Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::operator Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[229]); } @@ -1440,7 +1440,7 @@ Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3_rc2::IfcConstr } Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::operator Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[232]); } @@ -1467,7 +1467,7 @@ Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Value Ifc4x3_rc2::IfcConstru } Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::operator Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcControllerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[241]); } @@ -1494,7 +1494,7 @@ Ifc4x3_rc2::IfcControllerTypeEnum::Value Ifc4x3_rc2::IfcControllerTypeEnum::From } Ifc4x3_rc2::IfcControllerTypeEnum::operator Ifc4x3_rc2::IfcControllerTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcControllerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcControllerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[246]); } @@ -1521,7 +1521,7 @@ Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value Ifc4x3_rc2::IfcConveyorSegmentType } Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::operator Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCooledBeamTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[249]); } @@ -1548,7 +1548,7 @@ Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value Ifc4x3_rc2::IfcCooledBeamTypeEnum::From } Ifc4x3_rc2::IfcCooledBeamTypeEnum::operator Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCoolingTowerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[252]); } @@ -1575,7 +1575,7 @@ Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value Ifc4x3_rc2::IfcCoolingTowerTypeEnum:: } Ifc4x3_rc2::IfcCoolingTowerTypeEnum::operator Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCostItemTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[257]); } @@ -1602,7 +1602,7 @@ Ifc4x3_rc2::IfcCostItemTypeEnum::Value Ifc4x3_rc2::IfcCostItemTypeEnum::FromStri } Ifc4x3_rc2::IfcCostItemTypeEnum::operator Ifc4x3_rc2::IfcCostItemTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcCostItemTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcCostItemTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCostScheduleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[259]); } @@ -1629,7 +1629,7 @@ Ifc4x3_rc2::IfcCostScheduleTypeEnum::Value Ifc4x3_rc2::IfcCostScheduleTypeEnum:: } Ifc4x3_rc2::IfcCostScheduleTypeEnum::operator Ifc4x3_rc2::IfcCostScheduleTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcCostScheduleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcCostScheduleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCourseTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[264]); } @@ -1656,7 +1656,7 @@ Ifc4x3_rc2::IfcCourseTypeEnum::Value Ifc4x3_rc2::IfcCourseTypeEnum::FromString(c } Ifc4x3_rc2::IfcCourseTypeEnum::operator Ifc4x3_rc2::IfcCourseTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcCourseTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcCourseTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCoveringTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[267]); } @@ -1683,7 +1683,7 @@ Ifc4x3_rc2::IfcCoveringTypeEnum::Value Ifc4x3_rc2::IfcCoveringTypeEnum::FromStri } Ifc4x3_rc2::IfcCoveringTypeEnum::operator Ifc4x3_rc2::IfcCoveringTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcCoveringTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcCoveringTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCrewResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[270]); } @@ -1710,7 +1710,7 @@ Ifc4x3_rc2::IfcCrewResourceTypeEnum::Value Ifc4x3_rc2::IfcCrewResourceTypeEnum:: } Ifc4x3_rc2::IfcCrewResourceTypeEnum::operator Ifc4x3_rc2::IfcCrewResourceTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcCrewResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcCrewResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCurtainWallTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[278]); } @@ -1737,7 +1737,7 @@ Ifc4x3_rc2::IfcCurtainWallTypeEnum::Value Ifc4x3_rc2::IfcCurtainWallTypeEnum::Fr } Ifc4x3_rc2::IfcCurtainWallTypeEnum::operator Ifc4x3_rc2::IfcCurtainWallTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcCurtainWallTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcCurtainWallTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcCurveInterpolationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[284]); } @@ -1764,7 +1764,7 @@ Ifc4x3_rc2::IfcCurveInterpolationEnum::Value Ifc4x3_rc2::IfcCurveInterpolationEn } Ifc4x3_rc2::IfcCurveInterpolationEnum::operator Ifc4x3_rc2::IfcCurveInterpolationEnum::Value() const { - return (Ifc4x3_rc2::IfcCurveInterpolationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcCurveInterpolationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDamperTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[298]); } @@ -1791,7 +1791,7 @@ Ifc4x3_rc2::IfcDamperTypeEnum::Value Ifc4x3_rc2::IfcDamperTypeEnum::FromString(c } Ifc4x3_rc2::IfcDamperTypeEnum::operator Ifc4x3_rc2::IfcDamperTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcDamperTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcDamperTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDataOriginEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[299]); } @@ -1818,7 +1818,7 @@ Ifc4x3_rc2::IfcDataOriginEnum::Value Ifc4x3_rc2::IfcDataOriginEnum::FromString(c } Ifc4x3_rc2::IfcDataOriginEnum::operator Ifc4x3_rc2::IfcDataOriginEnum::Value() const { - return (Ifc4x3_rc2::IfcDataOriginEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcDataOriginEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDerivedUnitEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[311]); } @@ -1845,7 +1845,7 @@ Ifc4x3_rc2::IfcDerivedUnitEnum::Value Ifc4x3_rc2::IfcDerivedUnitEnum::FromString } Ifc4x3_rc2::IfcDerivedUnitEnum::operator Ifc4x3_rc2::IfcDerivedUnitEnum::Value() const { - return (Ifc4x3_rc2::IfcDerivedUnitEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcDerivedUnitEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDirectionSenseEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[316]); } @@ -1872,7 +1872,7 @@ Ifc4x3_rc2::IfcDirectionSenseEnum::Value Ifc4x3_rc2::IfcDirectionSenseEnum::From } Ifc4x3_rc2::IfcDirectionSenseEnum::operator Ifc4x3_rc2::IfcDirectionSenseEnum::Value() const { - return (Ifc4x3_rc2::IfcDirectionSenseEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcDirectionSenseEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[321]); } @@ -1899,7 +1899,7 @@ Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3_rc2::IfcDiscreteAccessory } Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::operator Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDistributionBoardTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[324]); } @@ -1926,7 +1926,7 @@ Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value Ifc4x3_rc2::IfcDistributionBoard } Ifc4x3_rc2::IfcDistributionBoardTypeEnum::operator Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[327]); } @@ -1953,7 +1953,7 @@ Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value Ifc4x3_rc2::IfcDistribu } Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::operator Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDistributionPortTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[336]); } @@ -1980,7 +1980,7 @@ Ifc4x3_rc2::IfcDistributionPortTypeEnum::Value Ifc4x3_rc2::IfcDistributionPortTy } Ifc4x3_rc2::IfcDistributionPortTypeEnum::operator Ifc4x3_rc2::IfcDistributionPortTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcDistributionPortTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcDistributionPortTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDistributionSystemEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[338]); } @@ -2007,7 +2007,7 @@ Ifc4x3_rc2::IfcDistributionSystemEnum::Value Ifc4x3_rc2::IfcDistributionSystemEn } Ifc4x3_rc2::IfcDistributionSystemEnum::operator Ifc4x3_rc2::IfcDistributionSystemEnum::Value() const { - return (Ifc4x3_rc2::IfcDistributionSystemEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcDistributionSystemEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDocumentConfidentialityEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[339]); } @@ -2034,7 +2034,7 @@ Ifc4x3_rc2::IfcDocumentConfidentialityEnum::Value Ifc4x3_rc2::IfcDocumentConfide } Ifc4x3_rc2::IfcDocumentConfidentialityEnum::operator Ifc4x3_rc2::IfcDocumentConfidentialityEnum::Value() const { - return (Ifc4x3_rc2::IfcDocumentConfidentialityEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcDocumentConfidentialityEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDocumentStatusEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[344]); } @@ -2061,7 +2061,7 @@ Ifc4x3_rc2::IfcDocumentStatusEnum::Value Ifc4x3_rc2::IfcDocumentStatusEnum::From } Ifc4x3_rc2::IfcDocumentStatusEnum::operator Ifc4x3_rc2::IfcDocumentStatusEnum::Value() const { - return (Ifc4x3_rc2::IfcDocumentStatusEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcDocumentStatusEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDoorPanelOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[347]); } @@ -2088,7 +2088,7 @@ Ifc4x3_rc2::IfcDoorPanelOperationEnum::Value Ifc4x3_rc2::IfcDoorPanelOperationEn } Ifc4x3_rc2::IfcDoorPanelOperationEnum::operator Ifc4x3_rc2::IfcDoorPanelOperationEnum::Value() const { - return (Ifc4x3_rc2::IfcDoorPanelOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcDoorPanelOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDoorPanelPositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[348]); } @@ -2115,7 +2115,7 @@ Ifc4x3_rc2::IfcDoorPanelPositionEnum::Value Ifc4x3_rc2::IfcDoorPanelPositionEnum } Ifc4x3_rc2::IfcDoorPanelPositionEnum::operator Ifc4x3_rc2::IfcDoorPanelPositionEnum::Value() const { - return (Ifc4x3_rc2::IfcDoorPanelPositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcDoorPanelPositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDoorStyleConstructionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[352]); } @@ -2142,7 +2142,7 @@ Ifc4x3_rc2::IfcDoorStyleConstructionEnum::Value Ifc4x3_rc2::IfcDoorStyleConstruc } Ifc4x3_rc2::IfcDoorStyleConstructionEnum::operator Ifc4x3_rc2::IfcDoorStyleConstructionEnum::Value() const { - return (Ifc4x3_rc2::IfcDoorStyleConstructionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcDoorStyleConstructionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDoorStyleOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[353]); } @@ -2169,7 +2169,7 @@ Ifc4x3_rc2::IfcDoorStyleOperationEnum::Value Ifc4x3_rc2::IfcDoorStyleOperationEn } Ifc4x3_rc2::IfcDoorStyleOperationEnum::operator Ifc4x3_rc2::IfcDoorStyleOperationEnum::Value() const { - return (Ifc4x3_rc2::IfcDoorStyleOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcDoorStyleOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDoorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[355]); } @@ -2196,7 +2196,7 @@ Ifc4x3_rc2::IfcDoorTypeEnum::Value Ifc4x3_rc2::IfcDoorTypeEnum::FromString(const } Ifc4x3_rc2::IfcDoorTypeEnum::operator Ifc4x3_rc2::IfcDoorTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcDoorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcDoorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDoorTypeOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[356]); } @@ -2223,7 +2223,7 @@ Ifc4x3_rc2::IfcDoorTypeOperationEnum::Value Ifc4x3_rc2::IfcDoorTypeOperationEnum } Ifc4x3_rc2::IfcDoorTypeOperationEnum::operator Ifc4x3_rc2::IfcDoorTypeOperationEnum::Value() const { - return (Ifc4x3_rc2::IfcDoorTypeOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcDoorTypeOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDuctFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[362]); } @@ -2250,7 +2250,7 @@ Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value Ifc4x3_rc2::IfcDuctFittingTypeEnum::Fr } Ifc4x3_rc2::IfcDuctFittingTypeEnum::operator Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDuctSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[365]); } @@ -2277,7 +2277,7 @@ Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Fr } Ifc4x3_rc2::IfcDuctSegmentTypeEnum::operator Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcDuctSilencerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[368]); } @@ -2304,7 +2304,7 @@ Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value Ifc4x3_rc2::IfcDuctSilencerTypeEnum:: } Ifc4x3_rc2::IfcDuctSilencerTypeEnum::operator Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcEarthworksCutTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[372]); } @@ -2331,7 +2331,7 @@ Ifc4x3_rc2::IfcEarthworksCutTypeEnum::Value Ifc4x3_rc2::IfcEarthworksCutTypeEnum } Ifc4x3_rc2::IfcEarthworksCutTypeEnum::operator Ifc4x3_rc2::IfcEarthworksCutTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcEarthworksCutTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcEarthworksCutTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcEarthworksFillTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[375]); } @@ -2358,7 +2358,7 @@ Ifc4x3_rc2::IfcEarthworksFillTypeEnum::Value Ifc4x3_rc2::IfcEarthworksFillTypeEn } Ifc4x3_rc2::IfcEarthworksFillTypeEnum::operator Ifc4x3_rc2::IfcEarthworksFillTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcEarthworksFillTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcEarthworksFillTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcElectricApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[381]); } @@ -2385,7 +2385,7 @@ Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value Ifc4x3_rc2::IfcElectricAppliance } Ifc4x3_rc2::IfcElectricApplianceTypeEnum::operator Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[388]); } @@ -2412,7 +2412,7 @@ Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3_rc2::IfcElectricD } Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::operator Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[391]); } @@ -2439,7 +2439,7 @@ Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3_rc2::IfcElectricF } Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::operator Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[394]); } @@ -2466,7 +2466,7 @@ Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3_rc2::IfcElectri } Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::operator Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[397]); } @@ -2493,7 +2493,7 @@ Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value Ifc4x3_rc2::IfcElectricGenerator } Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::operator Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcElectricMotorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[400]); } @@ -2520,7 +2520,7 @@ Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value Ifc4x3_rc2::IfcElectricMotorTypeEnum } Ifc4x3_rc2::IfcElectricMotorTypeEnum::operator Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[404]); } @@ -2547,7 +2547,7 @@ Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value Ifc4x3_rc2::IfcElectricTimeCon } Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::operator Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcElementAssemblyTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[410]); } @@ -2574,7 +2574,7 @@ Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Value Ifc4x3_rc2::IfcElementAssemblyType } Ifc4x3_rc2::IfcElementAssemblyTypeEnum::operator Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcElementCompositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[413]); } @@ -2601,7 +2601,7 @@ Ifc4x3_rc2::IfcElementCompositionEnum::Value Ifc4x3_rc2::IfcElementCompositionEn } Ifc4x3_rc2::IfcElementCompositionEnum::operator Ifc4x3_rc2::IfcElementCompositionEnum::Value() const { - return (Ifc4x3_rc2::IfcElementCompositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcElementCompositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcEngineTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[423]); } @@ -2628,7 +2628,7 @@ Ifc4x3_rc2::IfcEngineTypeEnum::Value Ifc4x3_rc2::IfcEngineTypeEnum::FromString(c } Ifc4x3_rc2::IfcEngineTypeEnum::operator Ifc4x3_rc2::IfcEngineTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcEngineTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcEngineTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[426]); } @@ -2655,7 +2655,7 @@ Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3_rc2::IfcEvaporativeCooler } Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::operator Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcEvaporatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[429]); } @@ -2682,7 +2682,7 @@ Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value Ifc4x3_rc2::IfcEvaporatorTypeEnum::From } Ifc4x3_rc2::IfcEvaporatorTypeEnum::operator Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcEventTriggerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[432]); } @@ -2709,7 +2709,7 @@ Ifc4x3_rc2::IfcEventTriggerTypeEnum::Value Ifc4x3_rc2::IfcEventTriggerTypeEnum:: } Ifc4x3_rc2::IfcEventTriggerTypeEnum::operator Ifc4x3_rc2::IfcEventTriggerTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcEventTriggerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcEventTriggerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcEventTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[434]); } @@ -2736,7 +2736,7 @@ Ifc4x3_rc2::IfcEventTypeEnum::Value Ifc4x3_rc2::IfcEventTypeEnum::FromString(con } Ifc4x3_rc2::IfcEventTypeEnum::operator Ifc4x3_rc2::IfcEventTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcEventTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcEventTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[443]); } @@ -2763,7 +2763,7 @@ Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::Value Ifc4x3_rc2::IfcExternalSpat } Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::operator Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcFacilityPartCommonTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[456]); } @@ -2790,7 +2790,7 @@ Ifc4x3_rc2::IfcFacilityPartCommonTypeEnum::Value Ifc4x3_rc2::IfcFacilityPartComm } Ifc4x3_rc2::IfcFacilityPartCommonTypeEnum::operator Ifc4x3_rc2::IfcFacilityPartCommonTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcFacilityPartCommonTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcFacilityPartCommonTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcFacilityUsageEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[458]); } @@ -2817,7 +2817,7 @@ Ifc4x3_rc2::IfcFacilityUsageEnum::Value Ifc4x3_rc2::IfcFacilityUsageEnum::FromSt } Ifc4x3_rc2::IfcFacilityUsageEnum::operator Ifc4x3_rc2::IfcFacilityUsageEnum::Value() const { - return (Ifc4x3_rc2::IfcFacilityUsageEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcFacilityUsageEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcFanTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[462]); } @@ -2844,7 +2844,7 @@ Ifc4x3_rc2::IfcFanTypeEnum::Value Ifc4x3_rc2::IfcFanTypeEnum::FromString(const s } Ifc4x3_rc2::IfcFanTypeEnum::operator Ifc4x3_rc2::IfcFanTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcFanTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcFanTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcFastenerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[465]); } @@ -2871,7 +2871,7 @@ Ifc4x3_rc2::IfcFastenerTypeEnum::Value Ifc4x3_rc2::IfcFastenerTypeEnum::FromStri } Ifc4x3_rc2::IfcFastenerTypeEnum::operator Ifc4x3_rc2::IfcFastenerTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcFastenerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcFastenerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcFilterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[475]); } @@ -2898,7 +2898,7 @@ Ifc4x3_rc2::IfcFilterTypeEnum::Value Ifc4x3_rc2::IfcFilterTypeEnum::FromString(c } Ifc4x3_rc2::IfcFilterTypeEnum::operator Ifc4x3_rc2::IfcFilterTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcFilterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcFilterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[478]); } @@ -2925,7 +2925,7 @@ Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3_rc2::IfcFireSuppres } Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::operator Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcFlowDirectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[482]); } @@ -2952,7 +2952,7 @@ Ifc4x3_rc2::IfcFlowDirectionEnum::Value Ifc4x3_rc2::IfcFlowDirectionEnum::FromSt } Ifc4x3_rc2::IfcFlowDirectionEnum::operator Ifc4x3_rc2::IfcFlowDirectionEnum::Value() const { - return (Ifc4x3_rc2::IfcFlowDirectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcFlowDirectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[487]); } @@ -2979,7 +2979,7 @@ Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value Ifc4x3_rc2::IfcFlowInstrumentTypeEn } Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::operator Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcFlowMeterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[490]); } @@ -3006,7 +3006,7 @@ Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value Ifc4x3_rc2::IfcFlowMeterTypeEnum::FromSt } Ifc4x3_rc2::IfcFlowMeterTypeEnum::operator Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcFootingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[506]); } @@ -3033,7 +3033,7 @@ Ifc4x3_rc2::IfcFootingTypeEnum::Value Ifc4x3_rc2::IfcFootingTypeEnum::FromString } Ifc4x3_rc2::IfcFootingTypeEnum::operator Ifc4x3_rc2::IfcFootingTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcFootingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcFootingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcFurnitureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[513]); } @@ -3060,7 +3060,7 @@ Ifc4x3_rc2::IfcFurnitureTypeEnum::Value Ifc4x3_rc2::IfcFurnitureTypeEnum::FromSt } Ifc4x3_rc2::IfcFurnitureTypeEnum::operator Ifc4x3_rc2::IfcFurnitureTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcFurnitureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcFurnitureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcGeographicElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[516]); } @@ -3087,7 +3087,7 @@ Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value Ifc4x3_rc2::IfcGeographicElement } Ifc4x3_rc2::IfcGeographicElementTypeEnum::operator Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcGeometricProjectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[518]); } @@ -3114,7 +3114,7 @@ Ifc4x3_rc2::IfcGeometricProjectionEnum::Value Ifc4x3_rc2::IfcGeometricProjection } Ifc4x3_rc2::IfcGeometricProjectionEnum::operator Ifc4x3_rc2::IfcGeometricProjectionEnum::Value() const { - return (Ifc4x3_rc2::IfcGeometricProjectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcGeometricProjectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcGlobalOrLocalEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[530]); } @@ -3141,7 +3141,7 @@ Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value Ifc4x3_rc2::IfcGlobalOrLocalEnum::FromSt } Ifc4x3_rc2::IfcGlobalOrLocalEnum::operator Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value() const { - return (Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcGridTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[536]); } @@ -3168,7 +3168,7 @@ Ifc4x3_rc2::IfcGridTypeEnum::Value Ifc4x3_rc2::IfcGridTypeEnum::FromString(const } Ifc4x3_rc2::IfcGridTypeEnum::operator Ifc4x3_rc2::IfcGridTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcGridTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcGridTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcHeatExchangerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[542]); } @@ -3195,7 +3195,7 @@ Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value Ifc4x3_rc2::IfcHeatExchangerTypeEnum } Ifc4x3_rc2::IfcHeatExchangerTypeEnum::operator Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcHumidifierTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[547]); } @@ -3222,7 +3222,7 @@ Ifc4x3_rc2::IfcHumidifierTypeEnum::Value Ifc4x3_rc2::IfcHumidifierTypeEnum::From } Ifc4x3_rc2::IfcHumidifierTypeEnum::operator Ifc4x3_rc2::IfcHumidifierTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcHumidifierTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcHumidifierTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcImpactProtectionDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[553]); } @@ -3249,7 +3249,7 @@ Ifc4x3_rc2::IfcImpactProtectionDeviceTypeEnum::Value Ifc4x3_rc2::IfcImpactProtec } Ifc4x3_rc2::IfcImpactProtectionDeviceTypeEnum::operator Ifc4x3_rc2::IfcImpactProtectionDeviceTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcImpactProtectionDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcImpactProtectionDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcInterceptorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[567]); } @@ -3276,7 +3276,7 @@ Ifc4x3_rc2::IfcInterceptorTypeEnum::Value Ifc4x3_rc2::IfcInterceptorTypeEnum::Fr } Ifc4x3_rc2::IfcInterceptorTypeEnum::operator Ifc4x3_rc2::IfcInterceptorTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcInterceptorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcInterceptorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcInternalOrExternalEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[569]); } @@ -3303,7 +3303,7 @@ Ifc4x3_rc2::IfcInternalOrExternalEnum::Value Ifc4x3_rc2::IfcInternalOrExternalEn } Ifc4x3_rc2::IfcInternalOrExternalEnum::operator Ifc4x3_rc2::IfcInternalOrExternalEnum::Value() const { - return (Ifc4x3_rc2::IfcInternalOrExternalEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcInternalOrExternalEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcInventoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[572]); } @@ -3330,7 +3330,7 @@ Ifc4x3_rc2::IfcInventoryTypeEnum::Value Ifc4x3_rc2::IfcInventoryTypeEnum::FromSt } Ifc4x3_rc2::IfcInventoryTypeEnum::operator Ifc4x3_rc2::IfcInventoryTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcInventoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcInventoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcJunctionBoxTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[580]); } @@ -3357,7 +3357,7 @@ Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Fr } Ifc4x3_rc2::IfcJunctionBoxTypeEnum::operator Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcKnotType::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[584]); } @@ -3384,7 +3384,7 @@ Ifc4x3_rc2::IfcKnotType::Value Ifc4x3_rc2::IfcKnotType::FromString(const std::st } Ifc4x3_rc2::IfcKnotType::operator Ifc4x3_rc2::IfcKnotType::Value() const { - return (Ifc4x3_rc2::IfcKnotType::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcKnotType::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcLaborResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[588]); } @@ -3411,7 +3411,7 @@ Ifc4x3_rc2::IfcLaborResourceTypeEnum::Value Ifc4x3_rc2::IfcLaborResourceTypeEnum } Ifc4x3_rc2::IfcLaborResourceTypeEnum::operator Ifc4x3_rc2::IfcLaborResourceTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcLaborResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcLaborResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcLampTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[592]); } @@ -3438,7 +3438,7 @@ Ifc4x3_rc2::IfcLampTypeEnum::Value Ifc4x3_rc2::IfcLampTypeEnum::FromString(const } Ifc4x3_rc2::IfcLampTypeEnum::operator Ifc4x3_rc2::IfcLampTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcLampTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcLampTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcLayerSetDirectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[595]); } @@ -3465,7 +3465,7 @@ Ifc4x3_rc2::IfcLayerSetDirectionEnum::Value Ifc4x3_rc2::IfcLayerSetDirectionEnum } Ifc4x3_rc2::IfcLayerSetDirectionEnum::operator Ifc4x3_rc2::IfcLayerSetDirectionEnum::Value() const { - return (Ifc4x3_rc2::IfcLayerSetDirectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcLayerSetDirectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcLightDistributionCurveEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[600]); } @@ -3492,7 +3492,7 @@ Ifc4x3_rc2::IfcLightDistributionCurveEnum::Value Ifc4x3_rc2::IfcLightDistributio } Ifc4x3_rc2::IfcLightDistributionCurveEnum::operator Ifc4x3_rc2::IfcLightDistributionCurveEnum::Value() const { - return (Ifc4x3_rc2::IfcLightDistributionCurveEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcLightDistributionCurveEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcLightEmissionSourceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[603]); } @@ -3519,7 +3519,7 @@ Ifc4x3_rc2::IfcLightEmissionSourceEnum::Value Ifc4x3_rc2::IfcLightEmissionSource } Ifc4x3_rc2::IfcLightEmissionSourceEnum::operator Ifc4x3_rc2::IfcLightEmissionSourceEnum::Value() const { - return (Ifc4x3_rc2::IfcLightEmissionSourceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcLightEmissionSourceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcLightFixtureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[606]); } @@ -3546,7 +3546,7 @@ Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value Ifc4x3_rc2::IfcLightFixtureTypeEnum:: } Ifc4x3_rc2::IfcLightFixtureTypeEnum::operator Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[630]); } @@ -3573,7 +3573,7 @@ Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value Ifc4x3_rc2::IfcLiquidTerminalTypeEn } Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::operator Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcLoadGroupTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[631]); } @@ -3600,7 +3600,7 @@ Ifc4x3_rc2::IfcLoadGroupTypeEnum::Value Ifc4x3_rc2::IfcLoadGroupTypeEnum::FromSt } Ifc4x3_rc2::IfcLoadGroupTypeEnum::operator Ifc4x3_rc2::IfcLoadGroupTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcLoadGroupTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcLoadGroupTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcLogicalOperatorEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[634]); } @@ -3627,7 +3627,7 @@ Ifc4x3_rc2::IfcLogicalOperatorEnum::Value Ifc4x3_rc2::IfcLogicalOperatorEnum::Fr } Ifc4x3_rc2::IfcLogicalOperatorEnum::operator Ifc4x3_rc2::IfcLogicalOperatorEnum::Value() const { - return (Ifc4x3_rc2::IfcLogicalOperatorEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcLogicalOperatorEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcMarineFacilityTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[646]); } @@ -3654,7 +3654,7 @@ Ifc4x3_rc2::IfcMarineFacilityTypeEnum::Value Ifc4x3_rc2::IfcMarineFacilityTypeEn } Ifc4x3_rc2::IfcMarineFacilityTypeEnum::operator Ifc4x3_rc2::IfcMarineFacilityTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcMarineFacilityTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcMarineFacilityTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcMarinePartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[647]); } @@ -3681,7 +3681,7 @@ Ifc4x3_rc2::IfcMarinePartTypeEnum::Value Ifc4x3_rc2::IfcMarinePartTypeEnum::From } Ifc4x3_rc2::IfcMarinePartTypeEnum::operator Ifc4x3_rc2::IfcMarinePartTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcMarinePartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcMarinePartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[676]); } @@ -3708,7 +3708,7 @@ Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_rc2::IfcMechanicalFasten } Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::operator Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[679]); } @@ -3735,7 +3735,7 @@ Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value Ifc4x3_rc2::IfcMedicalDeviceTypeEnum } Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::operator Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcMemberTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[683]); } @@ -3762,7 +3762,7 @@ Ifc4x3_rc2::IfcMemberTypeEnum::Value Ifc4x3_rc2::IfcMemberTypeEnum::FromString(c } Ifc4x3_rc2::IfcMemberTypeEnum::operator Ifc4x3_rc2::IfcMemberTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcMemberTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcMemberTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[689]); } @@ -3789,7 +3789,7 @@ Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3_rc2::IfcM } Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::operator Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcMooringDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[705]); } @@ -3816,7 +3816,7 @@ Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value Ifc4x3_rc2::IfcMooringDeviceTypeEnum } Ifc4x3_rc2::IfcMooringDeviceTypeEnum::operator Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcMotorConnectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[708]); } @@ -3843,7 +3843,7 @@ Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value Ifc4x3_rc2::IfcMotorConnectionType } Ifc4x3_rc2::IfcMotorConnectionTypeEnum::operator Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcNavigationElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[712]); } @@ -3870,7 +3870,7 @@ Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value Ifc4x3_rc2::IfcNavigationElement } Ifc4x3_rc2::IfcNavigationElementTypeEnum::operator Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcNullStyle::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[715]); } @@ -3897,7 +3897,7 @@ Ifc4x3_rc2::IfcNullStyle::Value Ifc4x3_rc2::IfcNullStyle::FromString(const std:: } Ifc4x3_rc2::IfcNullStyle::operator Ifc4x3_rc2::IfcNullStyle::Value() const { - return (Ifc4x3_rc2::IfcNullStyle::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcNullStyle::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcObjectTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[723]); } @@ -3924,7 +3924,7 @@ Ifc4x3_rc2::IfcObjectTypeEnum::Value Ifc4x3_rc2::IfcObjectTypeEnum::FromString(c } Ifc4x3_rc2::IfcObjectTypeEnum::operator Ifc4x3_rc2::IfcObjectTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcObjectTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcObjectTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcObjectiveEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[720]); } @@ -3951,7 +3951,7 @@ Ifc4x3_rc2::IfcObjectiveEnum::Value Ifc4x3_rc2::IfcObjectiveEnum::FromString(con } Ifc4x3_rc2::IfcObjectiveEnum::operator Ifc4x3_rc2::IfcObjectiveEnum::Value() const { - return (Ifc4x3_rc2::IfcObjectiveEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcObjectiveEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcOccupantTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[725]); } @@ -3978,7 +3978,7 @@ Ifc4x3_rc2::IfcOccupantTypeEnum::Value Ifc4x3_rc2::IfcOccupantTypeEnum::FromStri } Ifc4x3_rc2::IfcOccupantTypeEnum::operator Ifc4x3_rc2::IfcOccupantTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcOccupantTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcOccupantTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcOpeningElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[732]); } @@ -4005,7 +4005,7 @@ Ifc4x3_rc2::IfcOpeningElementTypeEnum::Value Ifc4x3_rc2::IfcOpeningElementTypeEn } Ifc4x3_rc2::IfcOpeningElementTypeEnum::operator Ifc4x3_rc2::IfcOpeningElementTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcOpeningElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcOpeningElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcOutletTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[741]); } @@ -4032,7 +4032,7 @@ Ifc4x3_rc2::IfcOutletTypeEnum::Value Ifc4x3_rc2::IfcOutletTypeEnum::FromString(c } Ifc4x3_rc2::IfcOutletTypeEnum::operator Ifc4x3_rc2::IfcOutletTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcOutletTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcOutletTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[750]); } @@ -4059,7 +4059,7 @@ Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::Value Ifc4x3_rc2::IfcPerformanceHisto } Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::operator Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPermeableCoveringOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[751]); } @@ -4086,7 +4086,7 @@ Ifc4x3_rc2::IfcPermeableCoveringOperationEnum::Value Ifc4x3_rc2::IfcPermeableCov } Ifc4x3_rc2::IfcPermeableCoveringOperationEnum::operator Ifc4x3_rc2::IfcPermeableCoveringOperationEnum::Value() const { - return (Ifc4x3_rc2::IfcPermeableCoveringOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcPermeableCoveringOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPermitTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[754]); } @@ -4113,7 +4113,7 @@ Ifc4x3_rc2::IfcPermitTypeEnum::Value Ifc4x3_rc2::IfcPermitTypeEnum::FromString(c } Ifc4x3_rc2::IfcPermitTypeEnum::operator Ifc4x3_rc2::IfcPermitTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcPermitTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcPermitTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[759]); } @@ -4140,7 +4140,7 @@ Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Value Ifc4x3_rc2::IfcPhysicalOrVirtualEnum } Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::operator Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Value() const { - return (Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPileConstructionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[763]); } @@ -4167,7 +4167,7 @@ Ifc4x3_rc2::IfcPileConstructionEnum::Value Ifc4x3_rc2::IfcPileConstructionEnum:: } Ifc4x3_rc2::IfcPileConstructionEnum::operator Ifc4x3_rc2::IfcPileConstructionEnum::Value() const { - return (Ifc4x3_rc2::IfcPileConstructionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcPileConstructionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPileTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[765]); } @@ -4194,7 +4194,7 @@ Ifc4x3_rc2::IfcPileTypeEnum::Value Ifc4x3_rc2::IfcPileTypeEnum::FromString(const } Ifc4x3_rc2::IfcPileTypeEnum::operator Ifc4x3_rc2::IfcPileTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcPileTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcPileTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPipeFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[768]); } @@ -4221,7 +4221,7 @@ Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value Ifc4x3_rc2::IfcPipeFittingTypeEnum::Fr } Ifc4x3_rc2::IfcPipeFittingTypeEnum::operator Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPipeSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[771]); } @@ -4248,7 +4248,7 @@ Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Fr } Ifc4x3_rc2::IfcPipeSegmentTypeEnum::operator Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPlateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[783]); } @@ -4275,7 +4275,7 @@ Ifc4x3_rc2::IfcPlateTypeEnum::Value Ifc4x3_rc2::IfcPlateTypeEnum::FromString(con } Ifc4x3_rc2::IfcPlateTypeEnum::operator Ifc4x3_rc2::IfcPlateTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcPlateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcPlateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[807]); } @@ -4302,7 +4302,7 @@ Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x3_rc2::IfcPreferr } Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::operator Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Value() const { - return (Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcProcedureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[818]); } @@ -4329,7 +4329,7 @@ Ifc4x3_rc2::IfcProcedureTypeEnum::Value Ifc4x3_rc2::IfcProcedureTypeEnum::FromSt } Ifc4x3_rc2::IfcProcedureTypeEnum::operator Ifc4x3_rc2::IfcProcedureTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcProcedureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcProcedureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcProfileTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[828]); } @@ -4356,7 +4356,7 @@ Ifc4x3_rc2::IfcProfileTypeEnum::Value Ifc4x3_rc2::IfcProfileTypeEnum::FromString } Ifc4x3_rc2::IfcProfileTypeEnum::operator Ifc4x3_rc2::IfcProfileTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcProfileTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcProfileTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcProjectOrderTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[836]); } @@ -4383,7 +4383,7 @@ Ifc4x3_rc2::IfcProjectOrderTypeEnum::Value Ifc4x3_rc2::IfcProjectOrderTypeEnum:: } Ifc4x3_rc2::IfcProjectOrderTypeEnum::operator Ifc4x3_rc2::IfcProjectOrderTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcProjectOrderTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcProjectOrderTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[831]); } @@ -4410,7 +4410,7 @@ Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value Ifc4x3_rc2::IfcProjectedOrTrueLe } Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::operator Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value() const { - return (Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcProjectionElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[833]); } @@ -4437,7 +4437,7 @@ Ifc4x3_rc2::IfcProjectionElementTypeEnum::Value Ifc4x3_rc2::IfcProjectionElement } Ifc4x3_rc2::IfcProjectionElementTypeEnum::operator Ifc4x3_rc2::IfcProjectionElementTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcProjectionElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcProjectionElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[851]); } @@ -4464,7 +4464,7 @@ Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::Value Ifc4x3_rc2::IfcPropertySetTemp } Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::operator Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[859]); } @@ -4491,7 +4491,7 @@ Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3_rc2::IfcProtec } Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::operator Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[861]); } @@ -4518,7 +4518,7 @@ Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value Ifc4x3_rc2::IfcProtectiveDeviceTy } Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::operator Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcPumpTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[865]); } @@ -4545,7 +4545,7 @@ Ifc4x3_rc2::IfcPumpTypeEnum::Value Ifc4x3_rc2::IfcPumpTypeEnum::FromString(const } Ifc4x3_rc2::IfcPumpTypeEnum::operator Ifc4x3_rc2::IfcPumpTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcPumpTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcPumpTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcRailTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[879]); } @@ -4572,7 +4572,7 @@ Ifc4x3_rc2::IfcRailTypeEnum::Value Ifc4x3_rc2::IfcRailTypeEnum::FromString(const } Ifc4x3_rc2::IfcRailTypeEnum::operator Ifc4x3_rc2::IfcRailTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcRailTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcRailTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcRailingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[877]); } @@ -4599,7 +4599,7 @@ Ifc4x3_rc2::IfcRailingTypeEnum::Value Ifc4x3_rc2::IfcRailingTypeEnum::FromString } Ifc4x3_rc2::IfcRailingTypeEnum::operator Ifc4x3_rc2::IfcRailingTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcRailingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcRailingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcRailwayPartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[881]); } @@ -4626,7 +4626,7 @@ Ifc4x3_rc2::IfcRailwayPartTypeEnum::Value Ifc4x3_rc2::IfcRailwayPartTypeEnum::Fr } Ifc4x3_rc2::IfcRailwayPartTypeEnum::operator Ifc4x3_rc2::IfcRailwayPartTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcRailwayPartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcRailwayPartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcRampFlightTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[885]); } @@ -4653,7 +4653,7 @@ Ifc4x3_rc2::IfcRampFlightTypeEnum::Value Ifc4x3_rc2::IfcRampFlightTypeEnum::From } Ifc4x3_rc2::IfcRampFlightTypeEnum::operator Ifc4x3_rc2::IfcRampFlightTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcRampFlightTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcRampFlightTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcRampTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[887]); } @@ -4680,7 +4680,7 @@ Ifc4x3_rc2::IfcRampTypeEnum::Value Ifc4x3_rc2::IfcRampTypeEnum::FromString(const } Ifc4x3_rc2::IfcRampTypeEnum::operator Ifc4x3_rc2::IfcRampTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcRampTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcRampTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcRecurrenceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[897]); } @@ -4707,7 +4707,7 @@ Ifc4x3_rc2::IfcRecurrenceTypeEnum::Value Ifc4x3_rc2::IfcRecurrenceTypeEnum::From } Ifc4x3_rc2::IfcRecurrenceTypeEnum::operator Ifc4x3_rc2::IfcRecurrenceTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcRecurrenceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcRecurrenceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcReferentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[900]); } @@ -4734,7 +4734,7 @@ Ifc4x3_rc2::IfcReferentTypeEnum::Value Ifc4x3_rc2::IfcReferentTypeEnum::FromStri } Ifc4x3_rc2::IfcReferentTypeEnum::operator Ifc4x3_rc2::IfcReferentTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcReferentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcReferentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcReflectanceMethodEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[901]); } @@ -4761,7 +4761,7 @@ Ifc4x3_rc2::IfcReflectanceMethodEnum::Value Ifc4x3_rc2::IfcReflectanceMethodEnum } Ifc4x3_rc2::IfcReflectanceMethodEnum::operator Ifc4x3_rc2::IfcReflectanceMethodEnum::Value() const { - return (Ifc4x3_rc2::IfcReflectanceMethodEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcReflectanceMethodEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[904]); } @@ -4788,7 +4788,7 @@ Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::Value Ifc4x3_rc2::IfcReinforcedSoilTypeEn } Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::operator Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcReinforcingBarRoleEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[908]); } @@ -4815,7 +4815,7 @@ Ifc4x3_rc2::IfcReinforcingBarRoleEnum::Value Ifc4x3_rc2::IfcReinforcingBarRoleEn } Ifc4x3_rc2::IfcReinforcingBarRoleEnum::operator Ifc4x3_rc2::IfcReinforcingBarRoleEnum::Value() const { - return (Ifc4x3_rc2::IfcReinforcingBarRoleEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcReinforcingBarRoleEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[909]); } @@ -4842,7 +4842,7 @@ Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value Ifc4x3_rc2::IfcReinforcingBarSur } Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::operator Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value() const { - return (Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcReinforcingBarTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[911]); } @@ -4869,7 +4869,7 @@ Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value Ifc4x3_rc2::IfcReinforcingBarTypeEn } Ifc4x3_rc2::IfcReinforcingBarTypeEnum::operator Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[916]); } @@ -4896,7 +4896,7 @@ Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value Ifc4x3_rc2::IfcReinforcingMeshType } Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::operator Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcRoadPartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[984]); } @@ -4923,7 +4923,7 @@ Ifc4x3_rc2::IfcRoadPartTypeEnum::Value Ifc4x3_rc2::IfcRoadPartTypeEnum::FromStri } Ifc4x3_rc2::IfcRoadPartTypeEnum::operator Ifc4x3_rc2::IfcRoadPartTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcRoadPartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcRoadPartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcRoleEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[985]); } @@ -4950,7 +4950,7 @@ Ifc4x3_rc2::IfcRoleEnum::Value Ifc4x3_rc2::IfcRoleEnum::FromString(const std::st } Ifc4x3_rc2::IfcRoleEnum::operator Ifc4x3_rc2::IfcRoleEnum::Value() const { - return (Ifc4x3_rc2::IfcRoleEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcRoleEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcRoofTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[988]); } @@ -4977,7 +4977,7 @@ Ifc4x3_rc2::IfcRoofTypeEnum::Value Ifc4x3_rc2::IfcRoofTypeEnum::FromString(const } Ifc4x3_rc2::IfcRoofTypeEnum::operator Ifc4x3_rc2::IfcRoofTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcRoofTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcRoofTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSIPrefix::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1036]); } @@ -5004,7 +5004,7 @@ Ifc4x3_rc2::IfcSIPrefix::Value Ifc4x3_rc2::IfcSIPrefix::FromString(const std::st } Ifc4x3_rc2::IfcSIPrefix::operator Ifc4x3_rc2::IfcSIPrefix::Value() const { - return (Ifc4x3_rc2::IfcSIPrefix::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcSIPrefix::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSIUnitName::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1039]); } @@ -5031,7 +5031,7 @@ Ifc4x3_rc2::IfcSIUnitName::Value Ifc4x3_rc2::IfcSIUnitName::FromString(const std } Ifc4x3_rc2::IfcSIUnitName::operator Ifc4x3_rc2::IfcSIUnitName::Value() const { - return (Ifc4x3_rc2::IfcSIUnitName::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcSIUnitName::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[997]); } @@ -5058,7 +5058,7 @@ Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value Ifc4x3_rc2::IfcSanitaryTerminalTy } Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::operator Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1008]); } @@ -5085,7 +5085,7 @@ Ifc4x3_rc2::IfcSectionTypeEnum::Value Ifc4x3_rc2::IfcSectionTypeEnum::FromString } Ifc4x3_rc2::IfcSectionTypeEnum::operator Ifc4x3_rc2::IfcSectionTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcSectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcSectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSensorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1014]); } @@ -5112,7 +5112,7 @@ Ifc4x3_rc2::IfcSensorTypeEnum::Value Ifc4x3_rc2::IfcSensorTypeEnum::FromString(c } Ifc4x3_rc2::IfcSensorTypeEnum::operator Ifc4x3_rc2::IfcSensorTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcSensorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcSensorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSequenceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1015]); } @@ -5139,7 +5139,7 @@ Ifc4x3_rc2::IfcSequenceEnum::Value Ifc4x3_rc2::IfcSequenceEnum::FromString(const } Ifc4x3_rc2::IfcSequenceEnum::operator Ifc4x3_rc2::IfcSequenceEnum::Value() const { - return (Ifc4x3_rc2::IfcSequenceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcSequenceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcShadingDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1019]); } @@ -5166,7 +5166,7 @@ Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Value Ifc4x3_rc2::IfcShadingDeviceTypeEnum } Ifc4x3_rc2::IfcShadingDeviceTypeEnum::operator Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSignTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1031]); } @@ -5193,7 +5193,7 @@ Ifc4x3_rc2::IfcSignTypeEnum::Value Ifc4x3_rc2::IfcSignTypeEnum::FromString(const } Ifc4x3_rc2::IfcSignTypeEnum::operator Ifc4x3_rc2::IfcSignTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcSignTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcSignTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSignalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1029]); } @@ -5220,7 +5220,7 @@ Ifc4x3_rc2::IfcSignalTypeEnum::Value Ifc4x3_rc2::IfcSignalTypeEnum::FromString(c } Ifc4x3_rc2::IfcSignalTypeEnum::operator Ifc4x3_rc2::IfcSignalTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcSignalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcSignalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1034]); } @@ -5247,7 +5247,7 @@ Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::Value Ifc4x3_rc2::IfcSimpleProper } Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::operator Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSlabTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1045]); } @@ -5274,7 +5274,7 @@ Ifc4x3_rc2::IfcSlabTypeEnum::Value Ifc4x3_rc2::IfcSlabTypeEnum::FromString(const } Ifc4x3_rc2::IfcSlabTypeEnum::operator Ifc4x3_rc2::IfcSlabTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcSlabTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcSlabTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSolarDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1049]); } @@ -5301,7 +5301,7 @@ Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Fr } Ifc4x3_rc2::IfcSolarDeviceTypeEnum::operator Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1062]); } @@ -5328,7 +5328,7 @@ Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Fr } Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::operator Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSpaceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1064]); } @@ -5355,7 +5355,7 @@ Ifc4x3_rc2::IfcSpaceTypeEnum::Value Ifc4x3_rc2::IfcSpaceTypeEnum::FromString(con } Ifc4x3_rc2::IfcSpaceTypeEnum::operator Ifc4x3_rc2::IfcSpaceTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcSpaceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcSpaceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSpatialZoneTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1072]); } @@ -5382,7 +5382,7 @@ Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Fr } Ifc4x3_rc2::IfcSpatialZoneTypeEnum::operator Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcStackTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1081]); } @@ -5409,7 +5409,7 @@ Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value Ifc4x3_rc2::IfcStackTerminalTypeEnum } Ifc4x3_rc2::IfcStackTerminalTypeEnum::operator Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcStairFlightTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1085]); } @@ -5436,7 +5436,7 @@ Ifc4x3_rc2::IfcStairFlightTypeEnum::Value Ifc4x3_rc2::IfcStairFlightTypeEnum::Fr } Ifc4x3_rc2::IfcStairFlightTypeEnum::operator Ifc4x3_rc2::IfcStairFlightTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcStairFlightTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcStairFlightTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcStairTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1087]); } @@ -5463,7 +5463,7 @@ Ifc4x3_rc2::IfcStairTypeEnum::Value Ifc4x3_rc2::IfcStairTypeEnum::FromString(con } Ifc4x3_rc2::IfcStairTypeEnum::operator Ifc4x3_rc2::IfcStairTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcStairTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcStairTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcStateEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1088]); } @@ -5490,7 +5490,7 @@ Ifc4x3_rc2::IfcStateEnum::Value Ifc4x3_rc2::IfcStateEnum::FromString(const std:: } Ifc4x3_rc2::IfcStateEnum::operator Ifc4x3_rc2::IfcStateEnum::Value() const { - return (Ifc4x3_rc2::IfcStateEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcStateEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1096]); } @@ -5517,7 +5517,7 @@ Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_rc2::IfcStructuralC } Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::operator Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1099]); } @@ -5544,7 +5544,7 @@ Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_rc2::IfcStructuralCur } Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::operator Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1125]); } @@ -5571,7 +5571,7 @@ Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_rc2::IfcStructura } Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::operator Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1128]); } @@ -5598,7 +5598,7 @@ Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_rc2::IfcStructuralS } Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::operator Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSubContractResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1137]); } @@ -5625,7 +5625,7 @@ Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Value Ifc4x3_rc2::IfcSubContractReso } Ifc4x3_rc2::IfcSubContractResourceTypeEnum::operator Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1143]); } @@ -5652,7 +5652,7 @@ Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::Value Ifc4x3_rc2::IfcSurfaceFeatureTypeEn } Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::operator Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSurfaceSide::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1148]); } @@ -5679,7 +5679,7 @@ Ifc4x3_rc2::IfcSurfaceSide::Value Ifc4x3_rc2::IfcSurfaceSide::FromString(const s } Ifc4x3_rc2::IfcSurfaceSide::operator Ifc4x3_rc2::IfcSurfaceSide::Value() const { - return (Ifc4x3_rc2::IfcSurfaceSide::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcSurfaceSide::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1163]); } @@ -5706,7 +5706,7 @@ Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value Ifc4x3_rc2::IfcSwitchingDeviceType } Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::operator Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1167]); } @@ -5733,7 +5733,7 @@ Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value Ifc4x3_rc2::IfcSystemFurnit } Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::operator Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTankTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1173]); } @@ -5760,7 +5760,7 @@ Ifc4x3_rc2::IfcTankTypeEnum::Value Ifc4x3_rc2::IfcTankTypeEnum::FromString(const } Ifc4x3_rc2::IfcTankTypeEnum::operator Ifc4x3_rc2::IfcTankTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcTankTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcTankTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTaskDurationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1175]); } @@ -5787,7 +5787,7 @@ Ifc4x3_rc2::IfcTaskDurationEnum::Value Ifc4x3_rc2::IfcTaskDurationEnum::FromStri } Ifc4x3_rc2::IfcTaskDurationEnum::operator Ifc4x3_rc2::IfcTaskDurationEnum::Value() const { - return (Ifc4x3_rc2::IfcTaskDurationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcTaskDurationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTaskTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1179]); } @@ -5814,7 +5814,7 @@ Ifc4x3_rc2::IfcTaskTypeEnum::Value Ifc4x3_rc2::IfcTaskTypeEnum::FromString(const } Ifc4x3_rc2::IfcTaskTypeEnum::operator Ifc4x3_rc2::IfcTaskTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcTaskTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcTaskTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTendonAnchorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1186]); } @@ -5841,7 +5841,7 @@ Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value Ifc4x3_rc2::IfcTendonAnchorTypeEnum:: } Ifc4x3_rc2::IfcTendonAnchorTypeEnum::operator Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTendonConduitTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1189]); } @@ -5868,7 +5868,7 @@ Ifc4x3_rc2::IfcTendonConduitTypeEnum::Value Ifc4x3_rc2::IfcTendonConduitTypeEnum } Ifc4x3_rc2::IfcTendonConduitTypeEnum::operator Ifc4x3_rc2::IfcTendonConduitTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcTendonConduitTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcTendonConduitTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTendonTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1191]); } @@ -5895,7 +5895,7 @@ Ifc4x3_rc2::IfcTendonTypeEnum::Value Ifc4x3_rc2::IfcTendonTypeEnum::FromString(c } Ifc4x3_rc2::IfcTendonTypeEnum::operator Ifc4x3_rc2::IfcTendonTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcTendonTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcTendonTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTextPath::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1201]); } @@ -5922,7 +5922,7 @@ Ifc4x3_rc2::IfcTextPath::Value Ifc4x3_rc2::IfcTextPath::FromString(const std::st } Ifc4x3_rc2::IfcTextPath::operator Ifc4x3_rc2::IfcTextPath::Value() const { - return (Ifc4x3_rc2::IfcTextPath::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcTextPath::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1223]); } @@ -5949,7 +5949,7 @@ Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Value Ifc4x3_rc2::IfcTimeSeriesDataTypeEn } Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::operator Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTrackElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1232]); } @@ -5976,7 +5976,7 @@ Ifc4x3_rc2::IfcTrackElementTypeEnum::Value Ifc4x3_rc2::IfcTrackElementTypeEnum:: } Ifc4x3_rc2::IfcTrackElementTypeEnum::operator Ifc4x3_rc2::IfcTrackElementTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcTrackElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcTrackElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTransformerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1235]); } @@ -6003,7 +6003,7 @@ Ifc4x3_rc2::IfcTransformerTypeEnum::Value Ifc4x3_rc2::IfcTransformerTypeEnum::Fr } Ifc4x3_rc2::IfcTransformerTypeEnum::operator Ifc4x3_rc2::IfcTransformerTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcTransformerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcTransformerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTransitionCode::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1236]); } @@ -6030,7 +6030,7 @@ Ifc4x3_rc2::IfcTransitionCode::Value Ifc4x3_rc2::IfcTransitionCode::FromString(c } Ifc4x3_rc2::IfcTransitionCode::operator Ifc4x3_rc2::IfcTransitionCode::Value() const { - return (Ifc4x3_rc2::IfcTransitionCode::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcTransitionCode::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTransitionCurveType::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1238]); } @@ -6057,7 +6057,7 @@ Ifc4x3_rc2::IfcTransitionCurveType::Value Ifc4x3_rc2::IfcTransitionCurveType::Fr } Ifc4x3_rc2::IfcTransitionCurveType::operator Ifc4x3_rc2::IfcTransitionCurveType::Value() const { - return (Ifc4x3_rc2::IfcTransitionCurveType::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcTransitionCurveType::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTransportElementFixedTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1241]); } @@ -6084,7 +6084,7 @@ Ifc4x3_rc2::IfcTransportElementFixedTypeEnum::Value Ifc4x3_rc2::IfcTransportElem } Ifc4x3_rc2::IfcTransportElementFixedTypeEnum::operator Ifc4x3_rc2::IfcTransportElementFixedTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcTransportElementFixedTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcTransportElementFixedTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTransportElementNonFixedTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1242]); } @@ -6111,7 +6111,7 @@ Ifc4x3_rc2::IfcTransportElementNonFixedTypeEnum::Value Ifc4x3_rc2::IfcTransportE } Ifc4x3_rc2::IfcTransportElementNonFixedTypeEnum::operator Ifc4x3_rc2::IfcTransportElementNonFixedTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcTransportElementNonFixedTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcTransportElementNonFixedTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTrimmingPreference::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1249]); } @@ -6138,7 +6138,7 @@ Ifc4x3_rc2::IfcTrimmingPreference::Value Ifc4x3_rc2::IfcTrimmingPreference::From } Ifc4x3_rc2::IfcTrimmingPreference::operator Ifc4x3_rc2::IfcTrimmingPreference::Value() const { - return (Ifc4x3_rc2::IfcTrimmingPreference::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcTrimmingPreference::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcTubeBundleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1254]); } @@ -6165,7 +6165,7 @@ Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value Ifc4x3_rc2::IfcTubeBundleTypeEnum::From } Ifc4x3_rc2::IfcTubeBundleTypeEnum::operator Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcUnitEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1267]); } @@ -6192,7 +6192,7 @@ Ifc4x3_rc2::IfcUnitEnum::Value Ifc4x3_rc2::IfcUnitEnum::FromString(const std::st } Ifc4x3_rc2::IfcUnitEnum::operator Ifc4x3_rc2::IfcUnitEnum::Value() const { - return (Ifc4x3_rc2::IfcUnitEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcUnitEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1262]); } @@ -6219,7 +6219,7 @@ Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value Ifc4x3_rc2::IfcUnitaryContro } Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::operator Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1265]); } @@ -6246,7 +6246,7 @@ Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3_rc2::IfcUnitaryEquipmentTy } Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::operator Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcValveTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1273]); } @@ -6273,7 +6273,7 @@ Ifc4x3_rc2::IfcValveTypeEnum::Value Ifc4x3_rc2::IfcValveTypeEnum::FromString(con } Ifc4x3_rc2::IfcValveTypeEnum::operator Ifc4x3_rc2::IfcValveTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcValveTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcValveTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcVibrationDamperTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1282]); } @@ -6300,7 +6300,7 @@ Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value Ifc4x3_rc2::IfcVibrationDamperType } Ifc4x3_rc2::IfcVibrationDamperTypeEnum::operator Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1285]); } @@ -6327,7 +6327,7 @@ Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value Ifc4x3_rc2::IfcVibrationIsolator } Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::operator Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1289]); } @@ -6354,7 +6354,7 @@ Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::Value Ifc4x3_rc2::IfcVoidingFeatureTypeEn } Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::operator Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcWallTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1297]); } @@ -6381,7 +6381,7 @@ Ifc4x3_rc2::IfcWallTypeEnum::Value Ifc4x3_rc2::IfcWallTypeEnum::FromString(const } Ifc4x3_rc2::IfcWallTypeEnum::operator Ifc4x3_rc2::IfcWallTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcWallTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcWallTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcWasteTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1303]); } @@ -6408,7 +6408,7 @@ Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value Ifc4x3_rc2::IfcWasteTerminalTypeEnum } Ifc4x3_rc2::IfcWasteTerminalTypeEnum::operator Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcWindowPanelOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1307]); } @@ -6435,7 +6435,7 @@ Ifc4x3_rc2::IfcWindowPanelOperationEnum::Value Ifc4x3_rc2::IfcWindowPanelOperati } Ifc4x3_rc2::IfcWindowPanelOperationEnum::operator Ifc4x3_rc2::IfcWindowPanelOperationEnum::Value() const { - return (Ifc4x3_rc2::IfcWindowPanelOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcWindowPanelOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcWindowPanelPositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1308]); } @@ -6462,7 +6462,7 @@ Ifc4x3_rc2::IfcWindowPanelPositionEnum::Value Ifc4x3_rc2::IfcWindowPanelPosition } Ifc4x3_rc2::IfcWindowPanelPositionEnum::operator Ifc4x3_rc2::IfcWindowPanelPositionEnum::Value() const { - return (Ifc4x3_rc2::IfcWindowPanelPositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcWindowPanelPositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcWindowStyleConstructionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1312]); } @@ -6489,7 +6489,7 @@ Ifc4x3_rc2::IfcWindowStyleConstructionEnum::Value Ifc4x3_rc2::IfcWindowStyleCons } Ifc4x3_rc2::IfcWindowStyleConstructionEnum::operator Ifc4x3_rc2::IfcWindowStyleConstructionEnum::Value() const { - return (Ifc4x3_rc2::IfcWindowStyleConstructionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcWindowStyleConstructionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcWindowStyleOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1313]); } @@ -6516,7 +6516,7 @@ Ifc4x3_rc2::IfcWindowStyleOperationEnum::Value Ifc4x3_rc2::IfcWindowStyleOperati } Ifc4x3_rc2::IfcWindowStyleOperationEnum::operator Ifc4x3_rc2::IfcWindowStyleOperationEnum::Value() const { - return (Ifc4x3_rc2::IfcWindowStyleOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcWindowStyleOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcWindowTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1315]); } @@ -6543,7 +6543,7 @@ Ifc4x3_rc2::IfcWindowTypeEnum::Value Ifc4x3_rc2::IfcWindowTypeEnum::FromString(c } Ifc4x3_rc2::IfcWindowTypeEnum::operator Ifc4x3_rc2::IfcWindowTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcWindowTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcWindowTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcWindowTypePartitioningEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1316]); } @@ -6570,7 +6570,7 @@ Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Value Ifc4x3_rc2::IfcWindowTypePartit } Ifc4x3_rc2::IfcWindowTypePartitioningEnum::operator Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Value() const { - return (Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcWorkCalendarTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1318]); } @@ -6597,7 +6597,7 @@ Ifc4x3_rc2::IfcWorkCalendarTypeEnum::Value Ifc4x3_rc2::IfcWorkCalendarTypeEnum:: } Ifc4x3_rc2::IfcWorkCalendarTypeEnum::operator Ifc4x3_rc2::IfcWorkCalendarTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcWorkCalendarTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcWorkCalendarTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcWorkPlanTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1321]); } @@ -6624,7 +6624,7 @@ Ifc4x3_rc2::IfcWorkPlanTypeEnum::Value Ifc4x3_rc2::IfcWorkPlanTypeEnum::FromStri } Ifc4x3_rc2::IfcWorkPlanTypeEnum::operator Ifc4x3_rc2::IfcWorkPlanTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcWorkPlanTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcWorkPlanTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc2::IfcWorkScheduleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC2_types[1323]); } @@ -6651,7 +6651,7 @@ Ifc4x3_rc2::IfcWorkScheduleTypeEnum::Value Ifc4x3_rc2::IfcWorkScheduleTypeEnum:: } Ifc4x3_rc2::IfcWorkScheduleTypeEnum::operator Ifc4x3_rc2::IfcWorkScheduleTypeEnum::Value() const { - return (Ifc4x3_rc2::IfcWorkScheduleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc2::IfcWorkScheduleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::select_type& Ifc4x3_rc2::IfcActorSelect::Class() { return *((IfcParse::select_type*)IFC4X3_RC2_types[8]); } @@ -6794,928 +6794,928 @@ const IfcParse::type_declaration& Ifc4x3_rc2::IfcAbsorbedDoseMeasure::Class() { const IfcParse::type_declaration& Ifc4x3_rc2::IfcAbsorbedDoseMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[0]); } Ifc4x3_rc2::IfcAbsorbedDoseMeasure::IfcAbsorbedDoseMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcAbsorbedDoseMeasure::IfcAbsorbedDoseMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcAbsorbedDoseMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcAbsorbedDoseMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAccelerationMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcAccelerationMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcAccelerationMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1]); } Ifc4x3_rc2::IfcAccelerationMeasure::IfcAccelerationMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcAccelerationMeasure::IfcAccelerationMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcAccelerationMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcAccelerationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAmountOfSubstanceMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcAmountOfSubstanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[46]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcAmountOfSubstanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[46]); } Ifc4x3_rc2::IfcAmountOfSubstanceMeasure::IfcAmountOfSubstanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcAmountOfSubstanceMeasure::IfcAmountOfSubstanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcAmountOfSubstanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcAmountOfSubstanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAngularVelocityMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcAngularVelocityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[49]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcAngularVelocityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[49]); } Ifc4x3_rc2::IfcAngularVelocityMeasure::IfcAngularVelocityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcAngularVelocityMeasure::IfcAngularVelocityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcAngularVelocityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcAngularVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcArcIndex const IfcParse::type_declaration& Ifc4x3_rc2::IfcArcIndex::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[61]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcArcIndex::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[61]); } Ifc4x3_rc2::IfcArcIndex::IfcArcIndex(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcArcIndex::IfcArcIndex(std::vector< int > /*[3:3]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return get_attribute_value(0); } // Function implementations for IfcAreaDensityMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcAreaDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[62]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcAreaDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[62]); } Ifc4x3_rc2::IfcAreaDensityMeasure::IfcAreaDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcAreaDensityMeasure::IfcAreaDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcAreaDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcAreaDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAreaMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcAreaMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[63]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcAreaMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[63]); } Ifc4x3_rc2::IfcAreaMeasure::IfcAreaMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcAreaMeasure::IfcAreaMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcAreaMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcAreaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcBinary const IfcParse::type_declaration& Ifc4x3_rc2::IfcBinary::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[87]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcBinary::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[87]); } Ifc4x3_rc2::IfcBinary::IfcBinary(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcBinary::IfcBinary(boost::dynamic_bitset<> v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcBinary::operator boost::dynamic_bitset<>() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcBinary::operator boost::dynamic_bitset<>() const { return get_attribute_value(0); } // Function implementations for IfcBoolean const IfcParse::type_declaration& Ifc4x3_rc2::IfcBoolean::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[94]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcBoolean::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[94]); } Ifc4x3_rc2::IfcBoolean::IfcBoolean(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcBoolean::IfcBoolean(bool v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcBoolean::operator bool() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcBoolean::operator bool() const { return get_attribute_value(0); } // Function implementations for IfcBoxAlignment const IfcParse::type_declaration& Ifc4x3_rc2::IfcBoxAlignment::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[109]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcBoxAlignment::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[109]); } Ifc4x3_rc2::IfcBoxAlignment::IfcBoxAlignment(IfcEntityInstanceData&& e) : IfcLabel(std::move(e)) { } Ifc4x3_rc2::IfcBoxAlignment::IfcBoxAlignment(std::string v) : IfcLabel(v) { } -Ifc4x3_rc2::IfcBoxAlignment::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcBoxAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcCardinalPointReference const IfcParse::type_declaration& Ifc4x3_rc2::IfcCardinalPointReference::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[153]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcCardinalPointReference::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[153]); } Ifc4x3_rc2::IfcCardinalPointReference::IfcCardinalPointReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcCardinalPointReference::IfcCardinalPointReference(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcCardinalPointReference::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcCardinalPointReference::operator int() const { return get_attribute_value(0); } // Function implementations for IfcComplexNumber const IfcParse::type_declaration& Ifc4x3_rc2::IfcComplexNumber::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[198]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcComplexNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[198]); } Ifc4x3_rc2::IfcComplexNumber::IfcComplexNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcComplexNumber::IfcComplexNumber(std::vector< double > /*[1:2]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return get_attribute_value(0); } // Function implementations for IfcCompoundPlaneAngleMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcCompoundPlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[206]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcCompoundPlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[206]); } Ifc4x3_rc2::IfcCompoundPlaneAngleMeasure::IfcCompoundPlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcCompoundPlaneAngleMeasure::IfcCompoundPlaneAngleMeasure(std::vector< int > /*[3:4]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return get_attribute_value(0); } // Function implementations for IfcContextDependentMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcContextDependentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[236]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcContextDependentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[236]); } Ifc4x3_rc2::IfcContextDependentMeasure::IfcContextDependentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcContextDependentMeasure::IfcContextDependentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcContextDependentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcContextDependentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCountMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcCountMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[261]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcCountMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[261]); } Ifc4x3_rc2::IfcCountMeasure::IfcCountMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcCountMeasure::IfcCountMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcCountMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcCountMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCurvatureMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcCurvatureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[279]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcCurvatureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[279]); } Ifc4x3_rc2::IfcCurvatureMeasure::IfcCurvatureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcCurvatureMeasure::IfcCurvatureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcCurvatureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcCurvatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDate const IfcParse::type_declaration& Ifc4x3_rc2::IfcDate::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[300]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcDate::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[300]); } Ifc4x3_rc2::IfcDate::IfcDate(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcDate::IfcDate(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcDate::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcDate::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDateTime const IfcParse::type_declaration& Ifc4x3_rc2::IfcDateTime::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[301]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcDateTime::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[301]); } Ifc4x3_rc2::IfcDateTime::IfcDateTime(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcDateTime::IfcDateTime(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcDateTime::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcDateTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDayInMonthNumber const IfcParse::type_declaration& Ifc4x3_rc2::IfcDayInMonthNumber::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[302]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcDayInMonthNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[302]); } Ifc4x3_rc2::IfcDayInMonthNumber::IfcDayInMonthNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcDayInMonthNumber::IfcDayInMonthNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcDayInMonthNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcDayInMonthNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDayInWeekNumber const IfcParse::type_declaration& Ifc4x3_rc2::IfcDayInWeekNumber::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[303]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcDayInWeekNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[303]); } Ifc4x3_rc2::IfcDayInWeekNumber::IfcDayInWeekNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcDayInWeekNumber::IfcDayInWeekNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcDayInWeekNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcDayInWeekNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDescriptiveMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcDescriptiveMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[312]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcDescriptiveMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[312]); } Ifc4x3_rc2::IfcDescriptiveMeasure::IfcDescriptiveMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcDescriptiveMeasure::IfcDescriptiveMeasure(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcDescriptiveMeasure::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcDescriptiveMeasure::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDimensionCount const IfcParse::type_declaration& Ifc4x3_rc2::IfcDimensionCount::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[314]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcDimensionCount::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[314]); } Ifc4x3_rc2::IfcDimensionCount::IfcDimensionCount(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcDimensionCount::IfcDimensionCount(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcDimensionCount::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcDimensionCount::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDoseEquivalentMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcDoseEquivalentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[357]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcDoseEquivalentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[357]); } Ifc4x3_rc2::IfcDoseEquivalentMeasure::IfcDoseEquivalentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcDoseEquivalentMeasure::IfcDoseEquivalentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcDoseEquivalentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcDoseEquivalentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDuration const IfcParse::type_declaration& Ifc4x3_rc2::IfcDuration::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[369]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcDuration::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[369]); } Ifc4x3_rc2::IfcDuration::IfcDuration(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcDuration::IfcDuration(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcDuration::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcDuration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDynamicViscosityMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcDynamicViscosityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[370]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcDynamicViscosityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[370]); } Ifc4x3_rc2::IfcDynamicViscosityMeasure::IfcDynamicViscosityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcDynamicViscosityMeasure::IfcDynamicViscosityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcDynamicViscosityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcDynamicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCapacitanceMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcElectricCapacitanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[382]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcElectricCapacitanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[382]); } Ifc4x3_rc2::IfcElectricCapacitanceMeasure::IfcElectricCapacitanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcElectricCapacitanceMeasure::IfcElectricCapacitanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcElectricCapacitanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcElectricCapacitanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricChargeMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcElectricChargeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[383]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcElectricChargeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[383]); } Ifc4x3_rc2::IfcElectricChargeMeasure::IfcElectricChargeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcElectricChargeMeasure::IfcElectricChargeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcElectricChargeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcElectricChargeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricConductanceMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcElectricConductanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[384]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcElectricConductanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[384]); } Ifc4x3_rc2::IfcElectricConductanceMeasure::IfcElectricConductanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcElectricConductanceMeasure::IfcElectricConductanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcElectricConductanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcElectricConductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCurrentMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcElectricCurrentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[385]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcElectricCurrentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[385]); } Ifc4x3_rc2::IfcElectricCurrentMeasure::IfcElectricCurrentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcElectricCurrentMeasure::IfcElectricCurrentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcElectricCurrentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcElectricCurrentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricResistanceMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcElectricResistanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[401]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcElectricResistanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[401]); } Ifc4x3_rc2::IfcElectricResistanceMeasure::IfcElectricResistanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcElectricResistanceMeasure::IfcElectricResistanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcElectricResistanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcElectricResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricVoltageMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcElectricVoltageMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[405]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcElectricVoltageMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[405]); } Ifc4x3_rc2::IfcElectricVoltageMeasure::IfcElectricVoltageMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcElectricVoltageMeasure::IfcElectricVoltageMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcElectricVoltageMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcElectricVoltageMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcEnergyMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcEnergyMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[420]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcEnergyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[420]); } Ifc4x3_rc2::IfcEnergyMeasure::IfcEnergyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcEnergyMeasure::IfcEnergyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcEnergyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcEnergyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFontStyle const IfcParse::type_declaration& Ifc4x3_rc2::IfcFontStyle::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[501]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcFontStyle::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[501]); } Ifc4x3_rc2::IfcFontStyle::IfcFontStyle(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcFontStyle::IfcFontStyle(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcFontStyle::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcFontStyle::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontVariant const IfcParse::type_declaration& Ifc4x3_rc2::IfcFontVariant::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[502]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcFontVariant::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[502]); } Ifc4x3_rc2::IfcFontVariant::IfcFontVariant(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcFontVariant::IfcFontVariant(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcFontVariant::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcFontVariant::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontWeight const IfcParse::type_declaration& Ifc4x3_rc2::IfcFontWeight::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[503]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcFontWeight::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[503]); } Ifc4x3_rc2::IfcFontWeight::IfcFontWeight(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcFontWeight::IfcFontWeight(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcFontWeight::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcFontWeight::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcForceMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[507]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[507]); } Ifc4x3_rc2::IfcForceMeasure::IfcForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcForceMeasure::IfcForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFrequencyMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcFrequencyMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[508]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcFrequencyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[508]); } Ifc4x3_rc2::IfcFrequencyMeasure::IfcFrequencyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcFrequencyMeasure::IfcFrequencyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcFrequencyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcGloballyUniqueId const IfcParse::type_declaration& Ifc4x3_rc2::IfcGloballyUniqueId::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[529]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcGloballyUniqueId::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[529]); } Ifc4x3_rc2::IfcGloballyUniqueId::IfcGloballyUniqueId(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcGloballyUniqueId::IfcGloballyUniqueId(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcGloballyUniqueId::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcGloballyUniqueId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcHeatFluxDensityMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcHeatFluxDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[543]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcHeatFluxDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[543]); } Ifc4x3_rc2::IfcHeatFluxDensityMeasure::IfcHeatFluxDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcHeatFluxDensityMeasure::IfcHeatFluxDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcHeatFluxDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcHeatFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcHeatingValueMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcHeatingValueMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[544]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcHeatingValueMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[544]); } Ifc4x3_rc2::IfcHeatingValueMeasure::IfcHeatingValueMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcHeatingValueMeasure::IfcHeatingValueMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcHeatingValueMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcHeatingValueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIdentifier const IfcParse::type_declaration& Ifc4x3_rc2::IfcIdentifier::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[548]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcIdentifier::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[548]); } Ifc4x3_rc2::IfcIdentifier::IfcIdentifier(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcIdentifier::IfcIdentifier(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcIdentifier::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcIdentifier::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcIlluminanceMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcIlluminanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[549]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcIlluminanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[549]); } Ifc4x3_rc2::IfcIlluminanceMeasure::IfcIlluminanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcIlluminanceMeasure::IfcIlluminanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcIlluminanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcIlluminanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInductanceMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcInductanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[562]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcInductanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[562]); } Ifc4x3_rc2::IfcInductanceMeasure::IfcInductanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcInductanceMeasure::IfcInductanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcInductanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcInductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInteger const IfcParse::type_declaration& Ifc4x3_rc2::IfcInteger::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[563]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcInteger::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[563]); } Ifc4x3_rc2::IfcInteger::IfcInteger(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcInteger::IfcInteger(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcInteger::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIntegerCountRateMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcIntegerCountRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[564]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcIntegerCountRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[564]); } Ifc4x3_rc2::IfcIntegerCountRateMeasure::IfcIntegerCountRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcIntegerCountRateMeasure::IfcIntegerCountRateMeasure(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcIntegerCountRateMeasure::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcIntegerCountRateMeasure::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIonConcentrationMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcIonConcentrationMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[573]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcIonConcentrationMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[573]); } Ifc4x3_rc2::IfcIonConcentrationMeasure::IfcIonConcentrationMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcIonConcentrationMeasure::IfcIonConcentrationMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcIonConcentrationMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcIonConcentrationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIsothermalMoistureCapacityMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcIsothermalMoistureCapacityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[577]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcIsothermalMoistureCapacityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[577]); } Ifc4x3_rc2::IfcIsothermalMoistureCapacityMeasure::IfcIsothermalMoistureCapacityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcIsothermalMoistureCapacityMeasure::IfcIsothermalMoistureCapacityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcIsothermalMoistureCapacityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcIsothermalMoistureCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcKinematicViscosityMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcKinematicViscosityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[583]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcKinematicViscosityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[583]); } Ifc4x3_rc2::IfcKinematicViscosityMeasure::IfcKinematicViscosityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcKinematicViscosityMeasure::IfcKinematicViscosityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcKinematicViscosityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcKinematicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLabel const IfcParse::type_declaration& Ifc4x3_rc2::IfcLabel::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[585]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcLabel::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[585]); } Ifc4x3_rc2::IfcLabel::IfcLabel(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcLabel::IfcLabel(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcLabel::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcLabel::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLanguageId const IfcParse::type_declaration& Ifc4x3_rc2::IfcLanguageId::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[593]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcLanguageId::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[593]); } Ifc4x3_rc2::IfcLanguageId::IfcLanguageId(IfcEntityInstanceData&& e) : IfcIdentifier(std::move(e)) { } Ifc4x3_rc2::IfcLanguageId::IfcLanguageId(std::string v) : IfcIdentifier(v) { } -Ifc4x3_rc2::IfcLanguageId::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcLanguageId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLengthMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[596]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[596]); } Ifc4x3_rc2::IfcLengthMeasure::IfcLengthMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcLengthMeasure::IfcLengthMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLineIndex const IfcParse::type_declaration& Ifc4x3_rc2::IfcLineIndex::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[626]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcLineIndex::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[626]); } Ifc4x3_rc2::IfcLineIndex::IfcLineIndex(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcLineIndex::IfcLineIndex(std::vector< int > /*[2:?]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return get_attribute_value(0); } // Function implementations for IfcLinearForceMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcLinearForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[618]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcLinearForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[618]); } Ifc4x3_rc2::IfcLinearForceMeasure::IfcLinearForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcLinearForceMeasure::IfcLinearForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcLinearForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcLinearForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearMomentMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcLinearMomentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[619]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcLinearMomentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[619]); } Ifc4x3_rc2::IfcLinearMomentMeasure::IfcLinearMomentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcLinearMomentMeasure::IfcLinearMomentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcLinearMomentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcLinearMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearStiffnessMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcLinearStiffnessMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[624]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcLinearStiffnessMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[624]); } Ifc4x3_rc2::IfcLinearStiffnessMeasure::IfcLinearStiffnessMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcLinearStiffnessMeasure::IfcLinearStiffnessMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcLinearStiffnessMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcLinearStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearVelocityMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcLinearVelocityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[625]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcLinearVelocityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[625]); } Ifc4x3_rc2::IfcLinearVelocityMeasure::IfcLinearVelocityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcLinearVelocityMeasure::IfcLinearVelocityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcLinearVelocityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcLinearVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLogical const IfcParse::type_declaration& Ifc4x3_rc2::IfcLogical::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[633]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcLogical::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[633]); } Ifc4x3_rc2::IfcLogical::IfcLogical(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcLogical::IfcLogical(boost::logic::tribool v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcLogical::operator boost::logic::tribool() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcLogical::operator boost::logic::tribool() const { return get_attribute_value(0); } // Function implementations for IfcLuminousFluxMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcLuminousFluxMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[637]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcLuminousFluxMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[637]); } Ifc4x3_rc2::IfcLuminousFluxMeasure::IfcLuminousFluxMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcLuminousFluxMeasure::IfcLuminousFluxMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcLuminousFluxMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcLuminousFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityDistributionMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcLuminousIntensityDistributionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[638]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcLuminousIntensityDistributionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[638]); } Ifc4x3_rc2::IfcLuminousIntensityDistributionMeasure::IfcLuminousIntensityDistributionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcLuminousIntensityDistributionMeasure::IfcLuminousIntensityDistributionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcLuminousIntensityDistributionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcLuminousIntensityDistributionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcLuminousIntensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[639]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcLuminousIntensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[639]); } Ifc4x3_rc2::IfcLuminousIntensityMeasure::IfcLuminousIntensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcLuminousIntensityMeasure::IfcLuminousIntensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcLuminousIntensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcLuminousIntensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxDensityMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcMagneticFluxDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[640]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcMagneticFluxDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[640]); } Ifc4x3_rc2::IfcMagneticFluxDensityMeasure::IfcMagneticFluxDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcMagneticFluxDensityMeasure::IfcMagneticFluxDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcMagneticFluxDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcMagneticFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcMagneticFluxMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[641]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcMagneticFluxMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[641]); } Ifc4x3_rc2::IfcMagneticFluxMeasure::IfcMagneticFluxMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcMagneticFluxMeasure::IfcMagneticFluxMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcMagneticFluxMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcMagneticFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassDensityMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcMassDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[648]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcMassDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[648]); } Ifc4x3_rc2::IfcMassDensityMeasure::IfcMassDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcMassDensityMeasure::IfcMassDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcMassDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcMassDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassFlowRateMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcMassFlowRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[649]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcMassFlowRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[649]); } Ifc4x3_rc2::IfcMassFlowRateMeasure::IfcMassFlowRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcMassFlowRateMeasure::IfcMassFlowRateMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcMassFlowRateMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcMassFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcMassMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[650]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcMassMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[650]); } Ifc4x3_rc2::IfcMassMeasure::IfcMassMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcMassMeasure::IfcMassMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcMassMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassPerLengthMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcMassPerLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[651]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcMassPerLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[651]); } Ifc4x3_rc2::IfcMassPerLengthMeasure::IfcMassPerLengthMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcMassPerLengthMeasure::IfcMassPerLengthMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcMassPerLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcMassPerLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfElasticityMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcModulusOfElasticityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[690]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcModulusOfElasticityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[690]); } Ifc4x3_rc2::IfcModulusOfElasticityMeasure::IfcModulusOfElasticityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcModulusOfElasticityMeasure::IfcModulusOfElasticityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcModulusOfElasticityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcModulusOfElasticityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfLinearSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcModulusOfLinearSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[691]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcModulusOfLinearSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[691]); } Ifc4x3_rc2::IfcModulusOfLinearSubgradeReactionMeasure::IfcModulusOfLinearSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcModulusOfLinearSubgradeReactionMeasure::IfcModulusOfLinearSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfRotationalSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[692]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[692]); } Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionMeasure::IfcModulusOfRotationalSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionMeasure::IfcModulusOfRotationalSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcModulusOfSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[694]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcModulusOfSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[694]); } Ifc4x3_rc2::IfcModulusOfSubgradeReactionMeasure::IfcModulusOfSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcModulusOfSubgradeReactionMeasure::IfcModulusOfSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcModulusOfSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcModulusOfSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMoistureDiffusivityMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcMoistureDiffusivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[697]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcMoistureDiffusivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[697]); } Ifc4x3_rc2::IfcMoistureDiffusivityMeasure::IfcMoistureDiffusivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcMoistureDiffusivityMeasure::IfcMoistureDiffusivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcMoistureDiffusivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcMoistureDiffusivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMolecularWeightMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcMolecularWeightMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[698]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcMolecularWeightMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[698]); } Ifc4x3_rc2::IfcMolecularWeightMeasure::IfcMolecularWeightMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcMolecularWeightMeasure::IfcMolecularWeightMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcMolecularWeightMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcMolecularWeightMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMomentOfInertiaMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcMomentOfInertiaMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[699]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcMomentOfInertiaMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[699]); } Ifc4x3_rc2::IfcMomentOfInertiaMeasure::IfcMomentOfInertiaMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcMomentOfInertiaMeasure::IfcMomentOfInertiaMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcMomentOfInertiaMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcMomentOfInertiaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonetaryMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcMonetaryMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[700]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcMonetaryMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[700]); } Ifc4x3_rc2::IfcMonetaryMeasure::IfcMonetaryMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcMonetaryMeasure::IfcMonetaryMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcMonetaryMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcMonetaryMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonthInYearNumber const IfcParse::type_declaration& Ifc4x3_rc2::IfcMonthInYearNumber::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[702]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcMonthInYearNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[702]); } Ifc4x3_rc2::IfcMonthInYearNumber::IfcMonthInYearNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcMonthInYearNumber::IfcMonthInYearNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcMonthInYearNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcMonthInYearNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcNonNegativeLengthMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcNonNegativeLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[713]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcNonNegativeLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[713]); } Ifc4x3_rc2::IfcNonNegativeLengthMeasure::IfcNonNegativeLengthMeasure(IfcEntityInstanceData&& e) : IfcLengthMeasure(std::move(e)) { } Ifc4x3_rc2::IfcNonNegativeLengthMeasure::IfcNonNegativeLengthMeasure(double v) : IfcLengthMeasure(v) { } -Ifc4x3_rc2::IfcNonNegativeLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcNonNegativeLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNormalisedRatioMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcNormalisedRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[714]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcNormalisedRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[714]); } Ifc4x3_rc2::IfcNormalisedRatioMeasure::IfcNormalisedRatioMeasure(IfcEntityInstanceData&& e) : IfcRatioMeasure(std::move(e)) { } Ifc4x3_rc2::IfcNormalisedRatioMeasure::IfcNormalisedRatioMeasure(double v) : IfcRatioMeasure(v) { } -Ifc4x3_rc2::IfcNormalisedRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcNormalisedRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNumericMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcNumericMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[716]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcNumericMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[716]); } Ifc4x3_rc2::IfcNumericMeasure::IfcNumericMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcNumericMeasure::IfcNumericMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcNumericMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcNumericMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPHMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcPHMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[757]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcPHMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[757]); } Ifc4x3_rc2::IfcPHMeasure::IfcPHMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcPHMeasure::IfcPHMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcPHMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcPHMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcParameterValue const IfcParse::type_declaration& Ifc4x3_rc2::IfcParameterValue::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[744]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcParameterValue::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[744]); } Ifc4x3_rc2::IfcParameterValue::IfcParameterValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcParameterValue::IfcParameterValue(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcParameterValue::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcParameterValue::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlanarForceMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcPlanarForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[776]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcPlanarForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[776]); } Ifc4x3_rc2::IfcPlanarForceMeasure::IfcPlanarForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcPlanarForceMeasure::IfcPlanarForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcPlanarForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcPlanarForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlaneAngleMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcPlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[778]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcPlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[778]); } Ifc4x3_rc2::IfcPlaneAngleMeasure::IfcPlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcPlaneAngleMeasure::IfcPlaneAngleMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcPlaneAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcPlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveInteger const IfcParse::type_declaration& Ifc4x3_rc2::IfcPositiveInteger::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[795]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcPositiveInteger::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[795]); } Ifc4x3_rc2::IfcPositiveInteger::IfcPositiveInteger(IfcEntityInstanceData&& e) : IfcInteger(std::move(e)) { } Ifc4x3_rc2::IfcPositiveInteger::IfcPositiveInteger(int v) : IfcInteger(v) { } -Ifc4x3_rc2::IfcPositiveInteger::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcPositiveInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcPositiveLengthMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcPositiveLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[796]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcPositiveLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[796]); } Ifc4x3_rc2::IfcPositiveLengthMeasure::IfcPositiveLengthMeasure(IfcEntityInstanceData&& e) : IfcLengthMeasure(std::move(e)) { } Ifc4x3_rc2::IfcPositiveLengthMeasure::IfcPositiveLengthMeasure(double v) : IfcLengthMeasure(v) { } -Ifc4x3_rc2::IfcPositiveLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcPositiveLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositivePlaneAngleMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcPositivePlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[797]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcPositivePlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[797]); } Ifc4x3_rc2::IfcPositivePlaneAngleMeasure::IfcPositivePlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcPlaneAngleMeasure(std::move(e)) { } Ifc4x3_rc2::IfcPositivePlaneAngleMeasure::IfcPositivePlaneAngleMeasure(double v) : IfcPlaneAngleMeasure(v) { } -Ifc4x3_rc2::IfcPositivePlaneAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcPositivePlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveRatioMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcPositiveRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[798]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcPositiveRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[798]); } Ifc4x3_rc2::IfcPositiveRatioMeasure::IfcPositiveRatioMeasure(IfcEntityInstanceData&& e) : IfcRatioMeasure(std::move(e)) { } Ifc4x3_rc2::IfcPositiveRatioMeasure::IfcPositiveRatioMeasure(double v) : IfcRatioMeasure(v) { } -Ifc4x3_rc2::IfcPositiveRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcPositiveRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPowerMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcPowerMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[800]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcPowerMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[800]); } Ifc4x3_rc2::IfcPowerMeasure::IfcPowerMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcPowerMeasure::IfcPowerMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcPowerMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPresentableText const IfcParse::type_declaration& Ifc4x3_rc2::IfcPresentableText::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[808]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcPresentableText::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[808]); } Ifc4x3_rc2::IfcPresentableText::IfcPresentableText(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcPresentableText::IfcPresentableText(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcPresentableText::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcPresentableText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcPressureMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcPressureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[815]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcPressureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[815]); } Ifc4x3_rc2::IfcPressureMeasure::IfcPressureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcPressureMeasure::IfcPressureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcPressureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPropertySetDefinitionSet const IfcParse::type_declaration& Ifc4x3_rc2::IfcPropertySetDefinitionSet::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[849]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcPropertySetDefinitionSet::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[849]); } Ifc4x3_rc2::IfcPropertySetDefinitionSet::IfcPropertySetDefinitionSet(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcPropertySetDefinitionSet::IfcPropertySetDefinitionSet(aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v->generalize()); } -Ifc4x3_rc2::IfcPropertySetDefinitionSet::operator aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcPropertySetDefinition >(); } +Ifc4x3_rc2::IfcPropertySetDefinitionSet::operator aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcPropertySetDefinition >(); } // Function implementations for IfcRadioActivityMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcRadioActivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[873]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcRadioActivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[873]); } Ifc4x3_rc2::IfcRadioActivityMeasure::IfcRadioActivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcRadioActivityMeasure::IfcRadioActivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcRadioActivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcRadioActivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRatioMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[888]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[888]); } Ifc4x3_rc2::IfcRatioMeasure::IfcRatioMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcRatioMeasure::IfcRatioMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcReal const IfcParse::type_declaration& Ifc4x3_rc2::IfcReal::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[891]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcReal::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[891]); } Ifc4x3_rc2::IfcReal::IfcReal(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcReal::IfcReal(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcReal::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcReal::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalFrequencyMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcRotationalFrequencyMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[990]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcRotationalFrequencyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[990]); } Ifc4x3_rc2::IfcRotationalFrequencyMeasure::IfcRotationalFrequencyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcRotationalFrequencyMeasure::IfcRotationalFrequencyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcRotationalFrequencyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcRotationalFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalMassMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcRotationalMassMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[991]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcRotationalMassMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[991]); } Ifc4x3_rc2::IfcRotationalMassMeasure::IfcRotationalMassMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcRotationalMassMeasure::IfcRotationalMassMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcRotationalMassMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcRotationalMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalStiffnessMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcRotationalStiffnessMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[992]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcRotationalStiffnessMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[992]); } Ifc4x3_rc2::IfcRotationalStiffnessMeasure::IfcRotationalStiffnessMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcRotationalStiffnessMeasure::IfcRotationalStiffnessMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcRotationalStiffnessMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcRotationalStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionModulusMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcSectionModulusMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1005]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcSectionModulusMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1005]); } Ifc4x3_rc2::IfcSectionModulusMeasure::IfcSectionModulusMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcSectionModulusMeasure::IfcSectionModulusMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcSectionModulusMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcSectionModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionalAreaIntegralMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcSectionalAreaIntegralMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1000]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcSectionalAreaIntegralMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1000]); } Ifc4x3_rc2::IfcSectionalAreaIntegralMeasure::IfcSectionalAreaIntegralMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcSectionalAreaIntegralMeasure::IfcSectionalAreaIntegralMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcSectionalAreaIntegralMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcSectionalAreaIntegralMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcShearModulusMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcShearModulusMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1023]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcShearModulusMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1023]); } Ifc4x3_rc2::IfcShearModulusMeasure::IfcShearModulusMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcShearModulusMeasure::IfcShearModulusMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcShearModulusMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcShearModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSolidAngleMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcSolidAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1050]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcSolidAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1050]); } Ifc4x3_rc2::IfcSolidAngleMeasure::IfcSolidAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcSolidAngleMeasure::IfcSolidAngleMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcSolidAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcSolidAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerLevelMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcSoundPowerLevelMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1054]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcSoundPowerLevelMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1054]); } Ifc4x3_rc2::IfcSoundPowerLevelMeasure::IfcSoundPowerLevelMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcSoundPowerLevelMeasure::IfcSoundPowerLevelMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcSoundPowerLevelMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcSoundPowerLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcSoundPowerMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1055]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcSoundPowerMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1055]); } Ifc4x3_rc2::IfcSoundPowerMeasure::IfcSoundPowerMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcSoundPowerMeasure::IfcSoundPowerMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcSoundPowerMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcSoundPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureLevelMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcSoundPressureLevelMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1056]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcSoundPressureLevelMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1056]); } Ifc4x3_rc2::IfcSoundPressureLevelMeasure::IfcSoundPressureLevelMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcSoundPressureLevelMeasure::IfcSoundPressureLevelMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcSoundPressureLevelMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcSoundPressureLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcSoundPressureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1057]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcSoundPressureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1057]); } Ifc4x3_rc2::IfcSoundPressureMeasure::IfcSoundPressureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcSoundPressureMeasure::IfcSoundPressureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcSoundPressureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcSoundPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecificHeatCapacityMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcSpecificHeatCapacityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1073]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcSpecificHeatCapacityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1073]); } Ifc4x3_rc2::IfcSpecificHeatCapacityMeasure::IfcSpecificHeatCapacityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcSpecificHeatCapacityMeasure::IfcSpecificHeatCapacityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcSpecificHeatCapacityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcSpecificHeatCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularExponent const IfcParse::type_declaration& Ifc4x3_rc2::IfcSpecularExponent::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1074]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcSpecularExponent::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1074]); } Ifc4x3_rc2::IfcSpecularExponent::IfcSpecularExponent(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcSpecularExponent::IfcSpecularExponent(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcSpecularExponent::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcSpecularExponent::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularRoughness const IfcParse::type_declaration& Ifc4x3_rc2::IfcSpecularRoughness::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1076]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcSpecularRoughness::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1076]); } Ifc4x3_rc2::IfcSpecularRoughness::IfcSpecularRoughness(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcSpecularRoughness::IfcSpecularRoughness(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcSpecularRoughness::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcSpecularRoughness::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureGradientMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcTemperatureGradientMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1181]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcTemperatureGradientMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1181]); } Ifc4x3_rc2::IfcTemperatureGradientMeasure::IfcTemperatureGradientMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcTemperatureGradientMeasure::IfcTemperatureGradientMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcTemperatureGradientMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcTemperatureGradientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureRateOfChangeMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcTemperatureRateOfChangeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1182]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcTemperatureRateOfChangeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1182]); } Ifc4x3_rc2::IfcTemperatureRateOfChangeMeasure::IfcTemperatureRateOfChangeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcTemperatureRateOfChangeMeasure::IfcTemperatureRateOfChangeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcTemperatureRateOfChangeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcTemperatureRateOfChangeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcText const IfcParse::type_declaration& Ifc4x3_rc2::IfcText::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1194]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcText::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1194]); } Ifc4x3_rc2::IfcText::IfcText(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcText::IfcText(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcText::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextAlignment const IfcParse::type_declaration& Ifc4x3_rc2::IfcTextAlignment::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1195]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcTextAlignment::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1195]); } Ifc4x3_rc2::IfcTextAlignment::IfcTextAlignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcTextAlignment::IfcTextAlignment(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcTextAlignment::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcTextAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextDecoration const IfcParse::type_declaration& Ifc4x3_rc2::IfcTextDecoration::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1196]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcTextDecoration::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1196]); } Ifc4x3_rc2::IfcTextDecoration::IfcTextDecoration(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcTextDecoration::IfcTextDecoration(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcTextDecoration::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcTextDecoration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextFontName const IfcParse::type_declaration& Ifc4x3_rc2::IfcTextFontName::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1197]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcTextFontName::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1197]); } Ifc4x3_rc2::IfcTextFontName::IfcTextFontName(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcTextFontName::IfcTextFontName(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcTextFontName::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcTextFontName::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextTransformation const IfcParse::type_declaration& Ifc4x3_rc2::IfcTextTransformation::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1206]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcTextTransformation::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1206]); } Ifc4x3_rc2::IfcTextTransformation::IfcTextTransformation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcTextTransformation::IfcTextTransformation(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcTextTransformation::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcTextTransformation::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcThermalAdmittanceMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcThermalAdmittanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1212]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcThermalAdmittanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1212]); } Ifc4x3_rc2::IfcThermalAdmittanceMeasure::IfcThermalAdmittanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcThermalAdmittanceMeasure::IfcThermalAdmittanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcThermalAdmittanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcThermalAdmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalConductivityMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcThermalConductivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1213]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcThermalConductivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1213]); } Ifc4x3_rc2::IfcThermalConductivityMeasure::IfcThermalConductivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcThermalConductivityMeasure::IfcThermalConductivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcThermalConductivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcThermalConductivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalExpansionCoefficientMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcThermalExpansionCoefficientMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1214]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcThermalExpansionCoefficientMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1214]); } Ifc4x3_rc2::IfcThermalExpansionCoefficientMeasure::IfcThermalExpansionCoefficientMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcThermalExpansionCoefficientMeasure::IfcThermalExpansionCoefficientMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcThermalExpansionCoefficientMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcThermalExpansionCoefficientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalResistanceMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcThermalResistanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1215]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcThermalResistanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1215]); } Ifc4x3_rc2::IfcThermalResistanceMeasure::IfcThermalResistanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcThermalResistanceMeasure::IfcThermalResistanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcThermalResistanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcThermalResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalTransmittanceMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcThermalTransmittanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1216]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcThermalTransmittanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1216]); } Ifc4x3_rc2::IfcThermalTransmittanceMeasure::IfcThermalTransmittanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcThermalTransmittanceMeasure::IfcThermalTransmittanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcThermalTransmittanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcThermalTransmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermodynamicTemperatureMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcThermodynamicTemperatureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1217]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcThermodynamicTemperatureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1217]); } Ifc4x3_rc2::IfcThermodynamicTemperatureMeasure::IfcThermodynamicTemperatureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcThermodynamicTemperatureMeasure::IfcThermodynamicTemperatureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcThermodynamicTemperatureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcThermodynamicTemperatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTime const IfcParse::type_declaration& Ifc4x3_rc2::IfcTime::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1218]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcTime::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1218]); } Ifc4x3_rc2::IfcTime::IfcTime(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcTime::IfcTime(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcTime::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTimeMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcTimeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1219]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcTimeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1219]); } Ifc4x3_rc2::IfcTimeMeasure::IfcTimeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcTimeMeasure::IfcTimeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcTimeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcTimeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTimeStamp const IfcParse::type_declaration& Ifc4x3_rc2::IfcTimeStamp::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1225]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcTimeStamp::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1225]); } Ifc4x3_rc2::IfcTimeStamp::IfcTimeStamp(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcTimeStamp::IfcTimeStamp(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcTimeStamp::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcTimeStamp::operator int() const { return get_attribute_value(0); } // Function implementations for IfcTorqueMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcTorqueMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1229]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcTorqueMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1229]); } Ifc4x3_rc2::IfcTorqueMeasure::IfcTorqueMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcTorqueMeasure::IfcTorqueMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcTorqueMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcTorqueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcURIReference const IfcParse::type_declaration& Ifc4x3_rc2::IfcURIReference::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1268]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcURIReference::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1268]); } Ifc4x3_rc2::IfcURIReference::IfcURIReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcURIReference::IfcURIReference(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcURIReference::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcURIReference::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcVaporPermeabilityMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcVaporPermeabilityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1274]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcVaporPermeabilityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1274]); } Ifc4x3_rc2::IfcVaporPermeabilityMeasure::IfcVaporPermeabilityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcVaporPermeabilityMeasure::IfcVaporPermeabilityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcVaporPermeabilityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcVaporPermeabilityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumeMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcVolumeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1291]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcVolumeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1291]); } Ifc4x3_rc2::IfcVolumeMeasure::IfcVolumeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcVolumeMeasure::IfcVolumeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcVolumeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcVolumeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumetricFlowRateMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcVolumetricFlowRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1292]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcVolumetricFlowRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1292]); } Ifc4x3_rc2::IfcVolumetricFlowRateMeasure::IfcVolumetricFlowRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcVolumetricFlowRateMeasure::IfcVolumetricFlowRateMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcVolumetricFlowRateMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcVolumetricFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingConstantMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcWarpingConstantMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1298]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcWarpingConstantMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1298]); } Ifc4x3_rc2::IfcWarpingConstantMeasure::IfcWarpingConstantMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcWarpingConstantMeasure::IfcWarpingConstantMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcWarpingConstantMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcWarpingConstantMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingMomentMeasure const IfcParse::type_declaration& Ifc4x3_rc2::IfcWarpingMomentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1299]); } const IfcParse::type_declaration& Ifc4x3_rc2::IfcWarpingMomentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC2_types[1299]); } Ifc4x3_rc2::IfcWarpingMomentMeasure::IfcWarpingMomentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc2::IfcWarpingMomentMeasure::IfcWarpingMomentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc2::IfcWarpingMomentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc2::IfcWarpingMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcActionRequest -boost::optional< ::Ifc4x3_rc2::IfcActionRequestTypeEnum::Value > Ifc4x3_rc2::IfcActionRequest::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcActionRequestTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_rc2::IfcActionRequestTypeEnum::Value > Ifc4x3_rc2::IfcActionRequest::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcActionRequestTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_rc2::IfcActionRequest::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcActionRequestTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_rc2::IfcActionRequestTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc2::IfcActionRequest::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcActionRequest::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcActionRequest::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc2::IfcActionRequest::LongDescription() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcActionRequest::LongDescription() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcActionRequest::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcActionRequest::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[2]); } const IfcParse::entity& Ifc4x3_rc2::IfcActionRequest::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[2]); } Ifc4x3_rc2::IfcActionRequest::IfcActionRequest(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_rc2::IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3_rc2::IfcActionRequestTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc2::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } +Ifc4x3_rc2::IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3_rc2::IfcActionRequestTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc2::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } // Function implementations for IfcActor -::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcActorSelect>(true); } +::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcActorSelect>(true); } void Ifc4x3_rc2::IfcActor::setTheActor(::Ifc4x3_rc2::IfcActorSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc4x3_rc2::IfcRelAssignsToActor::list::ptr Ifc4x3_rc2::IfcActor::IsActingUpon() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[919], 6)->as(); } @@ -7723,14 +7723,14 @@ void Ifc4x3_rc2::IfcActor::setTheActor(::Ifc4x3_rc2::IfcActorSelect* v) { set_at const IfcParse::entity& Ifc4x3_rc2::IfcActor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[6]); } const IfcParse::entity& Ifc4x3_rc2::IfcActor::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[6]); } Ifc4x3_rc2::IfcActor::IfcActor(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_rc2::IfcActor::IfcActor(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcActorSelect* v6_TheActor) : IfcObject(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcActor::IfcActor(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcActorSelect* v6_TheActor) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcActorRole -::Ifc4x3_rc2::IfcRoleEnum::Value Ifc4x3_rc2::IfcActorRole::Role() const { return ::Ifc4x3_rc2::IfcRoleEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_rc2::IfcRoleEnum::Value Ifc4x3_rc2::IfcActorRole::Role() const { return ::Ifc4x3_rc2::IfcRoleEnum::FromString(get_attribute_value(0)); } void Ifc4x3_rc2::IfcActorRole::setRole(::Ifc4x3_rc2::IfcRoleEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_rc2::IfcRoleEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc2::IfcActorRole::UserDefinedRole() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcActorRole::UserDefinedRole() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcActorRole::setUserDefinedRole(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc2::IfcActorRole::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcActorRole::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcActorRole::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3_rc2::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc2::IfcActorRole::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[441], 3)->as(); } @@ -7738,34 +7738,34 @@ void Ifc4x3_rc2::IfcActorRole::setDescription(boost::optional< std::string > v) const IfcParse::entity& Ifc4x3_rc2::IfcActorRole::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[7]); } const IfcParse::entity& Ifc4x3_rc2::IfcActorRole::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[7]); } Ifc4x3_rc2::IfcActorRole::IfcActorRole(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcActorRole::IfcActorRole(::Ifc4x3_rc2::IfcRoleEnum::Value v1_Role, boost::optional< std::string > v2_UserDefinedRole, boost::optional< std::string > v3_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } +Ifc4x3_rc2::IfcActorRole::IfcActorRole(::Ifc4x3_rc2::IfcRoleEnum::Value v1_Role, boost::optional< std::string > v2_UserDefinedRole, boost::optional< std::string > v3_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } // Function implementations for IfcActuator -boost::optional< ::Ifc4x3_rc2::IfcActuatorTypeEnum::Value > Ifc4x3_rc2::IfcActuator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcActuatorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcActuatorTypeEnum::Value > Ifc4x3_rc2::IfcActuator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcActuatorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcActuator::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcActuatorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcActuatorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcActuator::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[9]); } const IfcParse::entity& Ifc4x3_rc2::IfcActuator::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[9]); } Ifc4x3_rc2::IfcActuator::IfcActuator(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_rc2::IfcActuator::IfcActuator(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcActuatorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcActuator::IfcActuator(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcActuatorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcActuatorType -::Ifc4x3_rc2::IfcActuatorTypeEnum::Value Ifc4x3_rc2::IfcActuatorType::PredefinedType() const { return ::Ifc4x3_rc2::IfcActuatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcActuatorTypeEnum::Value Ifc4x3_rc2::IfcActuatorType::PredefinedType() const { return ::Ifc4x3_rc2::IfcActuatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcActuatorType::setPredefinedType(::Ifc4x3_rc2::IfcActuatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcActuatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcActuatorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[10]); } const IfcParse::entity& Ifc4x3_rc2::IfcActuatorType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[10]); } Ifc4x3_rc2::IfcActuatorType::IfcActuatorType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_rc2::IfcActuatorType::IfcActuatorType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcActuatorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcActuatorType::IfcActuatorType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcActuatorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAddress -boost::optional< ::Ifc4x3_rc2::IfcAddressTypeEnum::Value > Ifc4x3_rc2::IfcAddress::Purpose() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcAddressTypeEnum::FromString(data_.get_attribute_value(0)); } +boost::optional< ::Ifc4x3_rc2::IfcAddressTypeEnum::Value > Ifc4x3_rc2::IfcAddress::Purpose() const { if(get_attribute_value(0).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcAddressTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x3_rc2::IfcAddress::setPurpose(boost::optional< ::Ifc4x3_rc2::IfcAddressTypeEnum::Value > v) { if (v) {set_attribute_value(0, EnumerationReference(&::Ifc4x3_rc2::IfcAddressTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc2::IfcAddress::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcAddress::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcAddress::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc2::IfcAddress::UserDefinedPurpose() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcAddress::UserDefinedPurpose() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcAddress::setUserDefinedPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3_rc2::IfcPerson::list::ptr Ifc4x3_rc2::IfcAddress::OfPerson() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[755], 7)->as(); } @@ -7774,7 +7774,7 @@ void Ifc4x3_rc2::IfcAddress::setUserDefinedPurpose(boost::optional< std::string const IfcParse::entity& Ifc4x3_rc2::IfcAddress::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[12]); } const IfcParse::entity& Ifc4x3_rc2::IfcAddress::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[12]); } Ifc4x3_rc2::IfcAddress::IfcAddress(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcAddress::IfcAddress(boost::optional< ::Ifc4x3_rc2::IfcAddressTypeEnum::Value > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; populate_derived(); } +Ifc4x3_rc2::IfcAddress::IfcAddress(boost::optional< ::Ifc4x3_rc2::IfcAddressTypeEnum::Value > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; populate_derived(); } // Function implementations for IfcAdvancedBrep @@ -7782,17 +7782,17 @@ Ifc4x3_rc2::IfcAddress::IfcAddress(boost::optional< ::Ifc4x3_rc2::IfcAddressType const IfcParse::entity& Ifc4x3_rc2::IfcAdvancedBrep::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[14]); } const IfcParse::entity& Ifc4x3_rc2::IfcAdvancedBrep::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[14]); } Ifc4x3_rc2::IfcAdvancedBrep::IfcAdvancedBrep(IfcEntityInstanceData&& e) : IfcManifoldSolidBrep(std::move(e)) { } -Ifc4x3_rc2::IfcAdvancedBrep::IfcAdvancedBrep(::Ifc4x3_rc2::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcAdvancedBrep::IfcAdvancedBrep(::Ifc4x3_rc2::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAdvancedBrepWithVoids -aggregate_of< ::Ifc4x3_rc2::IfcClosedShell >::ptr Ifc4x3_rc2::IfcAdvancedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcClosedShell >(); } +aggregate_of< ::Ifc4x3_rc2::IfcClosedShell >::ptr Ifc4x3_rc2::IfcAdvancedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcClosedShell >(); } void Ifc4x3_rc2::IfcAdvancedBrepWithVoids::setVoids(aggregate_of< ::Ifc4x3_rc2::IfcClosedShell >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcAdvancedBrepWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[15]); } const IfcParse::entity& Ifc4x3_rc2::IfcAdvancedBrepWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[15]); } Ifc4x3_rc2::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(IfcEntityInstanceData&& e) : IfcAdvancedBrep(std::move(e)) { } -Ifc4x3_rc2::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4x3_rc2::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3_rc2::IfcClosedShell >::ptr v2_Voids) : IfcAdvancedBrep(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4x3_rc2::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3_rc2::IfcClosedShell >::ptr v2_Voids) : IfcAdvancedBrep(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } // Function implementations for IfcAdvancedFace @@ -7800,109 +7800,109 @@ Ifc4x3_rc2::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4x3_rc2::Ifc const IfcParse::entity& Ifc4x3_rc2::IfcAdvancedFace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[16]); } const IfcParse::entity& Ifc4x3_rc2::IfcAdvancedFace::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[16]); } Ifc4x3_rc2::IfcAdvancedFace::IfcAdvancedFace(IfcEntityInstanceData&& e) : IfcFaceSurface(std::move(e)) { } -Ifc4x3_rc2::IfcAdvancedFace::IfcAdvancedFace(aggregate_of< ::Ifc4x3_rc2::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_rc2::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFaceSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } +Ifc4x3_rc2::IfcAdvancedFace::IfcAdvancedFace(aggregate_of< ::Ifc4x3_rc2::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_rc2::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFaceSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } // Function implementations for IfcAirTerminal -boost::optional< ::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value > Ifc4x3_rc2::IfcAirTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcAirTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value > Ifc4x3_rc2::IfcAirTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcAirTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcAirTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcAirTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[17]); } const IfcParse::entity& Ifc4x3_rc2::IfcAirTerminal::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[17]); } Ifc4x3_rc2::IfcAirTerminal::IfcAirTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc2::IfcAirTerminal::IfcAirTerminal(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcAirTerminal::IfcAirTerminal(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAirTerminalBox -boost::optional< ::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value > Ifc4x3_rc2::IfcAirTerminalBox::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value > Ifc4x3_rc2::IfcAirTerminalBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcAirTerminalBox::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcAirTerminalBox::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[18]); } const IfcParse::entity& Ifc4x3_rc2::IfcAirTerminalBox::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[18]); } Ifc4x3_rc2::IfcAirTerminalBox::IfcAirTerminalBox(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_rc2::IfcAirTerminalBox::IfcAirTerminalBox(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcAirTerminalBox::IfcAirTerminalBox(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAirTerminalBoxType -::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value Ifc4x3_rc2::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value Ifc4x3_rc2::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcAirTerminalBoxType::setPredefinedType(::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcAirTerminalBoxType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[19]); } const IfcParse::entity& Ifc4x3_rc2::IfcAirTerminalBoxType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[19]); } Ifc4x3_rc2::IfcAirTerminalBoxType::IfcAirTerminalBoxType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_rc2::IfcAirTerminalBoxType::IfcAirTerminalBoxType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcAirTerminalBoxType::IfcAirTerminalBoxType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAirTerminalType -::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value Ifc4x3_rc2::IfcAirTerminalType::PredefinedType() const { return ::Ifc4x3_rc2::IfcAirTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value Ifc4x3_rc2::IfcAirTerminalType::PredefinedType() const { return ::Ifc4x3_rc2::IfcAirTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcAirTerminalType::setPredefinedType(::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcAirTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[21]); } const IfcParse::entity& Ifc4x3_rc2::IfcAirTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[21]); } Ifc4x3_rc2::IfcAirTerminalType::IfcAirTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc2::IfcAirTerminalType::IfcAirTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcAirTerminalType::IfcAirTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAirToAirHeatRecovery -boost::optional< ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x3_rc2::IfcAirToAirHeatRecovery::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x3_rc2::IfcAirToAirHeatRecovery::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcAirToAirHeatRecovery::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcAirToAirHeatRecovery::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[23]); } const IfcParse::entity& Ifc4x3_rc2::IfcAirToAirHeatRecovery::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[23]); } Ifc4x3_rc2::IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc2::IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAirToAirHeatRecoveryType -::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3_rc2::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3_rc2::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcAirToAirHeatRecoveryType::setPredefinedType(::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcAirToAirHeatRecoveryType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[24]); } const IfcParse::entity& Ifc4x3_rc2::IfcAirToAirHeatRecoveryType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[24]); } Ifc4x3_rc2::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc2::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlarm -boost::optional< ::Ifc4x3_rc2::IfcAlarmTypeEnum::Value > Ifc4x3_rc2::IfcAlarm::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcAlarmTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcAlarmTypeEnum::Value > Ifc4x3_rc2::IfcAlarm::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcAlarmTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcAlarm::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcAlarmTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcAlarmTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcAlarm::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[26]); } const IfcParse::entity& Ifc4x3_rc2::IfcAlarm::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[26]); } Ifc4x3_rc2::IfcAlarm::IfcAlarm(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_rc2::IfcAlarm::IfcAlarm(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcAlarmTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcAlarm::IfcAlarm(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcAlarmTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAlarmType -::Ifc4x3_rc2::IfcAlarmTypeEnum::Value Ifc4x3_rc2::IfcAlarmType::PredefinedType() const { return ::Ifc4x3_rc2::IfcAlarmTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcAlarmTypeEnum::Value Ifc4x3_rc2::IfcAlarmType::PredefinedType() const { return ::Ifc4x3_rc2::IfcAlarmTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcAlarmType::setPredefinedType(::Ifc4x3_rc2::IfcAlarmTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcAlarmTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcAlarmType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[27]); } const IfcParse::entity& Ifc4x3_rc2::IfcAlarmType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[27]); } Ifc4x3_rc2::IfcAlarmType::IfcAlarmType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_rc2::IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAlarmTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAlarmTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlignment -boost::optional< ::Ifc4x3_rc2::IfcAlignmentTypeEnum::Value > Ifc4x3_rc2::IfcAlignment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcAlignmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcAlignmentTypeEnum::Value > Ifc4x3_rc2::IfcAlignment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcAlignmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcAlignment::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcAlignmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcAlignmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcAlignment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[29]); } const IfcParse::entity& Ifc4x3_rc2::IfcAlignment::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[29]); } Ifc4x3_rc2::IfcAlignment::IfcAlignment(IfcEntityInstanceData&& e) : IfcLinearPositioningElement(std::move(e)) { } -Ifc4x3_rc2::IfcAlignment::IfcAlignment(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcCurve* v8_Axis, boost::optional< ::Ifc4x3_rc2::IfcAlignmentTypeEnum::Value > v9_PredefinedType) : IfcLinearPositioningElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_Axis ? v8_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcAlignmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcAlignment::IfcAlignment(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcCurve* v8_Axis, boost::optional< ::Ifc4x3_rc2::IfcAlignmentTypeEnum::Value > v9_PredefinedType) : IfcLinearPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_Axis ? v8_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcAlignmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAlignment2DVerSegCircularArc -double Ifc4x3_rc2::IfcAlignment2DVerSegCircularArc::Radius() const { double v = data_.get_attribute_value(9); return v; } +double Ifc4x3_rc2::IfcAlignment2DVerSegCircularArc::Radius() const { double v = get_attribute_value(9); return v; } void Ifc4x3_rc2::IfcAlignment2DVerSegCircularArc::setRadius(double v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -bool Ifc4x3_rc2::IfcAlignment2DVerSegCircularArc::IsConvex() const { bool v = data_.get_attribute_value(10); return v; } +bool Ifc4x3_rc2::IfcAlignment2DVerSegCircularArc::IsConvex() const { bool v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcAlignment2DVerSegCircularArc::setIsConvex(bool v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_rc2::IfcAlignment2DVerSegCircularArc::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[30]); } const IfcParse::entity& Ifc4x3_rc2::IfcAlignment2DVerSegCircularArc::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[30]); } Ifc4x3_rc2::IfcAlignment2DVerSegCircularArc::IfcAlignment2DVerSegCircularArc(IfcEntityInstanceData&& e) : IfcAlignmentVerticalSegment(std::move(e)) { } -Ifc4x3_rc2::IfcAlignment2DVerSegCircularArc::IfcAlignment2DVerSegCircularArc(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_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType, double v10_Radius, bool v11_IsConvex) : IfcAlignmentVerticalSegment(IfcEntityInstanceData(storage_t(11))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));set_attribute_value(9, (v10_Radius));set_attribute_value(10, (v11_IsConvex));; populate_derived(); } +Ifc4x3_rc2::IfcAlignment2DVerSegCircularArc::IfcAlignment2DVerSegCircularArc(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_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType, double v10_Radius, bool v11_IsConvex) : IfcAlignmentVerticalSegment(IfcEntityInstanceData(in_memory_attribute_storage(11))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));set_attribute_value(9, (v10_Radius));set_attribute_value(10, (v11_IsConvex));; populate_derived(); } // Function implementations for IfcAlignment2DVerSegLine @@ -7910,160 +7910,160 @@ Ifc4x3_rc2::IfcAlignment2DVerSegCircularArc::IfcAlignment2DVerSegCircularArc(boo const IfcParse::entity& Ifc4x3_rc2::IfcAlignment2DVerSegLine::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[31]); } const IfcParse::entity& Ifc4x3_rc2::IfcAlignment2DVerSegLine::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[31]); } Ifc4x3_rc2::IfcAlignment2DVerSegLine::IfcAlignment2DVerSegLine(IfcEntityInstanceData&& e) : IfcAlignmentVerticalSegment(std::move(e)) { } -Ifc4x3_rc2::IfcAlignment2DVerSegLine::IfcAlignment2DVerSegLine(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_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentVerticalSegment(IfcEntityInstanceData(storage_t(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcAlignment2DVerSegLine::IfcAlignment2DVerSegLine(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_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentVerticalSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlignment2DVerSegParabolicArc -double Ifc4x3_rc2::IfcAlignment2DVerSegParabolicArc::ParabolaConstant() const { double v = data_.get_attribute_value(9); return v; } +double Ifc4x3_rc2::IfcAlignment2DVerSegParabolicArc::ParabolaConstant() const { double v = get_attribute_value(9); return v; } void Ifc4x3_rc2::IfcAlignment2DVerSegParabolicArc::setParabolaConstant(double v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -bool Ifc4x3_rc2::IfcAlignment2DVerSegParabolicArc::IsConvex() const { bool v = data_.get_attribute_value(10); return v; } +bool Ifc4x3_rc2::IfcAlignment2DVerSegParabolicArc::IsConvex() const { bool v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcAlignment2DVerSegParabolicArc::setIsConvex(bool v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_rc2::IfcAlignment2DVerSegParabolicArc::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[32]); } const IfcParse::entity& Ifc4x3_rc2::IfcAlignment2DVerSegParabolicArc::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[32]); } Ifc4x3_rc2::IfcAlignment2DVerSegParabolicArc::IfcAlignment2DVerSegParabolicArc(IfcEntityInstanceData&& e) : IfcAlignmentVerticalSegment(std::move(e)) { } -Ifc4x3_rc2::IfcAlignment2DVerSegParabolicArc::IfcAlignment2DVerSegParabolicArc(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_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType, double v10_ParabolaConstant, bool v11_IsConvex) : IfcAlignmentVerticalSegment(IfcEntityInstanceData(storage_t(11))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));set_attribute_value(9, (v10_ParabolaConstant));set_attribute_value(10, (v11_IsConvex));; populate_derived(); } +Ifc4x3_rc2::IfcAlignment2DVerSegParabolicArc::IfcAlignment2DVerSegParabolicArc(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_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType, double v10_ParabolaConstant, bool v11_IsConvex) : IfcAlignmentVerticalSegment(IfcEntityInstanceData(in_memory_attribute_storage(11))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));set_attribute_value(9, (v10_ParabolaConstant));set_attribute_value(10, (v11_IsConvex));; populate_derived(); } // Function implementations for IfcAlignmentCant -double Ifc4x3_rc2::IfcAlignmentCant::RailHeadDistance() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x3_rc2::IfcAlignmentCant::RailHeadDistance() const { double v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcAlignmentCant::setRailHeadDistance(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -aggregate_of< ::Ifc4x3_rc2::IfcAlignmentCantSegment >::ptr Ifc4x3_rc2::IfcAlignmentCant::Segments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_rc2::IfcAlignmentCantSegment >(); } +aggregate_of< ::Ifc4x3_rc2::IfcAlignmentCantSegment >::ptr Ifc4x3_rc2::IfcAlignmentCant::Segments() const { aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_rc2::IfcAlignmentCantSegment >(); } void Ifc4x3_rc2::IfcAlignmentCant::setSegments(aggregate_of< ::Ifc4x3_rc2::IfcAlignmentCantSegment >::ptr v) { set_attribute_value(8, (v)->generalize());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc2::IfcAlignmentCant::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[33]); } const IfcParse::entity& Ifc4x3_rc2::IfcAlignmentCant::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[33]); } Ifc4x3_rc2::IfcAlignmentCant::IfcAlignmentCant(IfcEntityInstanceData&& e) : IfcLinearElement(std::move(e)) { } -Ifc4x3_rc2::IfcAlignmentCant::IfcAlignmentCant(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, double v8_RailHeadDistance, aggregate_of< ::Ifc4x3_rc2::IfcAlignmentCantSegment >::ptr v9_Segments) : IfcLinearElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RailHeadDistance));set_attribute_value(8, (v9_Segments)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcAlignmentCant::IfcAlignmentCant(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, double v8_RailHeadDistance, aggregate_of< ::Ifc4x3_rc2::IfcAlignmentCantSegment >::ptr v9_Segments) : IfcLinearElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RailHeadDistance));set_attribute_value(8, (v9_Segments)->generalize());; populate_derived(); } // Function implementations for IfcAlignmentCantSegment -double Ifc4x3_rc2::IfcAlignmentCantSegment::StartDistAlong() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc2::IfcAlignmentCantSegment::StartDistAlong() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcAlignmentCantSegment::setStartDistAlong(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc2::IfcAlignmentCantSegment::HorizontalLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc2::IfcAlignmentCantSegment::HorizontalLength() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcAlignmentCantSegment::setHorizontalLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc2::IfcAlignmentCantSegment::StartCantLeft() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc2::IfcAlignmentCantSegment::StartCantLeft() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcAlignmentCantSegment::setStartCantLeft(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< double > Ifc4x3_rc2::IfcAlignmentCantSegment::EndCantLeft() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc2::IfcAlignmentCantSegment::EndCantLeft() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcAlignmentCantSegment::setEndCantLeft(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -double Ifc4x3_rc2::IfcAlignmentCantSegment::StartCantRight() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc2::IfcAlignmentCantSegment::StartCantRight() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcAlignmentCantSegment::setStartCantRight(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc2::IfcAlignmentCantSegment::EndCantRight() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc2::IfcAlignmentCantSegment::EndCantRight() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcAlignmentCantSegment::setEndCantRight(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc2::IfcAlignmentCantSegment::SmoothingLength() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc2::IfcAlignmentCantSegment::SmoothingLength() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcAlignmentCantSegment::setSmoothingLength(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::Value Ifc4x3_rc2::IfcAlignmentCantSegment::PredefinedType() const { return ::Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::Value Ifc4x3_rc2::IfcAlignmentCantSegment::PredefinedType() const { return ::Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcAlignmentCantSegment::setPredefinedType(::Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcAlignmentCantSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[34]); } const IfcParse::entity& Ifc4x3_rc2::IfcAlignmentCantSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[34]); } Ifc4x3_rc2::IfcAlignmentCantSegment::IfcAlignmentCantSegment(IfcEntityInstanceData&& e) : IfcAlignmentParameterSegment(std::move(e)) { } -Ifc4x3_rc2::IfcAlignmentCantSegment::IfcAlignmentCantSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, boost::optional< double > v6_EndCantLeft, double v7_StartCantRight, boost::optional< double > v8_EndCantRight, boost::optional< double > v9_SmoothingLength, ::Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::Value v10_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(storage_t(10))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartCantLeft)); if (v6_EndCantLeft) {set_attribute_value(5, (*v6_EndCantLeft)); }set_attribute_value(6, (v7_StartCantRight)); if (v8_EndCantRight) {set_attribute_value(7, (*v8_EndCantRight)); } if (v9_SmoothingLength) {set_attribute_value(8, (*v9_SmoothingLength)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcAlignmentCantSegment::IfcAlignmentCantSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, boost::optional< double > v6_EndCantLeft, double v7_StartCantRight, boost::optional< double > v8_EndCantRight, boost::optional< double > v9_SmoothingLength, ::Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::Value v10_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartCantLeft)); if (v6_EndCantLeft) {set_attribute_value(5, (*v6_EndCantLeft)); }set_attribute_value(6, (v7_StartCantRight)); if (v8_EndCantRight) {set_attribute_value(7, (*v8_EndCantRight)); } if (v9_SmoothingLength) {set_attribute_value(8, (*v9_SmoothingLength)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlignmentCurve -::Ifc4x3_rc2::IfcAlignmentHorizontal* Ifc4x3_rc2::IfcAlignmentCurve::Horizontal() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcAlignmentHorizontal>(true); } +::Ifc4x3_rc2::IfcAlignmentHorizontal* Ifc4x3_rc2::IfcAlignmentCurve::Horizontal() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcAlignmentHorizontal>(true); } void Ifc4x3_rc2::IfcAlignmentCurve::setHorizontal(::Ifc4x3_rc2::IfcAlignmentHorizontal* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcAlignmentVertical* Ifc4x3_rc2::IfcAlignmentCurve::Vertical() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcAlignmentVertical>(true); } +::Ifc4x3_rc2::IfcAlignmentVertical* Ifc4x3_rc2::IfcAlignmentCurve::Vertical() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcAlignmentVertical>(true); } void Ifc4x3_rc2::IfcAlignmentCurve::setVertical(::Ifc4x3_rc2::IfcAlignmentVertical* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_rc2::IfcAlignmentCurve::Tag() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcAlignmentCurve::Tag() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcAlignmentCurve::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc2::IfcAlignmentCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[36]); } const IfcParse::entity& Ifc4x3_rc2::IfcAlignmentCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[36]); } Ifc4x3_rc2::IfcAlignmentCurve::IfcAlignmentCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_rc2::IfcAlignmentCurve::IfcAlignmentCurve(::Ifc4x3_rc2::IfcAlignmentHorizontal* v1_Horizontal, ::Ifc4x3_rc2::IfcAlignmentVertical* v2_Vertical, boost::optional< std::string > v3_Tag) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Horizontal ? v1_Horizontal->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Vertical ? v2_Vertical->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; populate_derived(); } +Ifc4x3_rc2::IfcAlignmentCurve::IfcAlignmentCurve(::Ifc4x3_rc2::IfcAlignmentHorizontal* v1_Horizontal, ::Ifc4x3_rc2::IfcAlignmentVertical* v2_Vertical, boost::optional< std::string > v3_Tag) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Horizontal ? v1_Horizontal->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Vertical ? v2_Vertical->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; populate_derived(); } // Function implementations for IfcAlignmentHorizontal -boost::optional< double > Ifc4x3_rc2::IfcAlignmentHorizontal::StartDistAlong() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc2::IfcAlignmentHorizontal::StartDistAlong() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcAlignmentHorizontal::setStartDistAlong(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -aggregate_of< ::Ifc4x3_rc2::IfcAlignmentHorizontalSegment >::ptr Ifc4x3_rc2::IfcAlignmentHorizontal::Segments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_rc2::IfcAlignmentHorizontalSegment >(); } +aggregate_of< ::Ifc4x3_rc2::IfcAlignmentHorizontalSegment >::ptr Ifc4x3_rc2::IfcAlignmentHorizontal::Segments() const { aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_rc2::IfcAlignmentHorizontalSegment >(); } void Ifc4x3_rc2::IfcAlignmentHorizontal::setSegments(aggregate_of< ::Ifc4x3_rc2::IfcAlignmentHorizontalSegment >::ptr v) { set_attribute_value(8, (v)->generalize());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc2::IfcAlignmentHorizontal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[37]); } const IfcParse::entity& Ifc4x3_rc2::IfcAlignmentHorizontal::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[37]); } Ifc4x3_rc2::IfcAlignmentHorizontal::IfcAlignmentHorizontal(IfcEntityInstanceData&& e) : IfcLinearElement(std::move(e)) { } -Ifc4x3_rc2::IfcAlignmentHorizontal::IfcAlignmentHorizontal(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< double > v8_StartDistAlong, aggregate_of< ::Ifc4x3_rc2::IfcAlignmentHorizontalSegment >::ptr v9_Segments) : IfcLinearElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_StartDistAlong) {set_attribute_value(7, (*v8_StartDistAlong)); }set_attribute_value(8, (v9_Segments)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcAlignmentHorizontal::IfcAlignmentHorizontal(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< double > v8_StartDistAlong, aggregate_of< ::Ifc4x3_rc2::IfcAlignmentHorizontalSegment >::ptr v9_Segments) : IfcLinearElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_StartDistAlong) {set_attribute_value(7, (*v8_StartDistAlong)); }set_attribute_value(8, (v9_Segments)->generalize());; populate_derived(); } // Function implementations for IfcAlignmentHorizontalSegment -::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcAlignmentHorizontalSegment::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(true); } +::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcAlignmentHorizontalSegment::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(true); } void Ifc4x3_rc2::IfcAlignmentHorizontalSegment::setStartPoint(::Ifc4x3_rc2::IfcCartesianPoint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc2::IfcAlignmentHorizontalSegment::StartDirection() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc2::IfcAlignmentHorizontalSegment::StartDirection() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcAlignmentHorizontalSegment::setStartDirection(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc2::IfcAlignmentHorizontalSegment::StartRadiusOfCurvature() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc2::IfcAlignmentHorizontalSegment::StartRadiusOfCurvature() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcAlignmentHorizontalSegment::setStartRadiusOfCurvature(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc2::IfcAlignmentHorizontalSegment::EndRadiusOfCurvature() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc2::IfcAlignmentHorizontalSegment::EndRadiusOfCurvature() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcAlignmentHorizontalSegment::setEndRadiusOfCurvature(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc2::IfcAlignmentHorizontalSegment::SegmentLength() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc2::IfcAlignmentHorizontalSegment::SegmentLength() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcAlignmentHorizontalSegment::setSegmentLength(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc2::IfcAlignmentHorizontalSegment::GravityCenterLineHeight() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc2::IfcAlignmentHorizontalSegment::GravityCenterLineHeight() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcAlignmentHorizontalSegment::setGravityCenterLineHeight(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc2::IfcAlignmentHorizontalSegmentTypeEnum::Value Ifc4x3_rc2::IfcAlignmentHorizontalSegment::PredefinedType() const { return ::Ifc4x3_rc2::IfcAlignmentHorizontalSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc2::IfcAlignmentHorizontalSegmentTypeEnum::Value Ifc4x3_rc2::IfcAlignmentHorizontalSegment::PredefinedType() const { return ::Ifc4x3_rc2::IfcAlignmentHorizontalSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcAlignmentHorizontalSegment::setPredefinedType(::Ifc4x3_rc2::IfcAlignmentHorizontalSegmentTypeEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcAlignmentHorizontalSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc2::IfcAlignmentHorizontalSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[38]); } const IfcParse::entity& Ifc4x3_rc2::IfcAlignmentHorizontalSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[38]); } Ifc4x3_rc2::IfcAlignmentHorizontalSegment::IfcAlignmentHorizontalSegment(IfcEntityInstanceData&& e) : IfcAlignmentParameterSegment(std::move(e)) { } -Ifc4x3_rc2::IfcAlignmentHorizontalSegment::IfcAlignmentHorizontalSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag, ::Ifc4x3_rc2::IfcCartesianPoint* v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, boost::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_rc2::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(storage_t(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, v3_StartPoint ? v3_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_StartDirection));set_attribute_value(4, (v5_StartRadiusOfCurvature));set_attribute_value(5, (v6_EndRadiusOfCurvature));set_attribute_value(6, (v7_SegmentLength)); if (v8_GravityCenterLineHeight) {set_attribute_value(7, (*v8_GravityCenterLineHeight)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcAlignmentHorizontalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcAlignmentHorizontalSegment::IfcAlignmentHorizontalSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag, ::Ifc4x3_rc2::IfcCartesianPoint* v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, boost::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_rc2::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, v3_StartPoint ? v3_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_StartDirection));set_attribute_value(4, (v5_StartRadiusOfCurvature));set_attribute_value(5, (v6_EndRadiusOfCurvature));set_attribute_value(6, (v7_SegmentLength)); if (v8_GravityCenterLineHeight) {set_attribute_value(7, (*v8_GravityCenterLineHeight)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcAlignmentHorizontalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlignmentParameterSegment -boost::optional< std::string > Ifc4x3_rc2::IfcAlignmentParameterSegment::StartTag() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcAlignmentParameterSegment::StartTag() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcAlignmentParameterSegment::setStartTag(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc2::IfcAlignmentParameterSegment::EndTag() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcAlignmentParameterSegment::EndTag() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcAlignmentParameterSegment::setEndTag(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_rc2::IfcAlignmentParameterSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[40]); } const IfcParse::entity& Ifc4x3_rc2::IfcAlignmentParameterSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[40]); } Ifc4x3_rc2::IfcAlignmentParameterSegment::IfcAlignmentParameterSegment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcAlignmentParameterSegment::IfcAlignmentParameterSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }; populate_derived(); } +Ifc4x3_rc2::IfcAlignmentParameterSegment::IfcAlignmentParameterSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }; populate_derived(); } // Function implementations for IfcAlignmentSegment -::Ifc4x3_rc2::IfcAlignmentParameterSegment* Ifc4x3_rc2::IfcAlignmentSegment::GeometricParameters() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc2::IfcAlignmentParameterSegment>(true); } +::Ifc4x3_rc2::IfcAlignmentParameterSegment* Ifc4x3_rc2::IfcAlignmentSegment::GeometricParameters() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc2::IfcAlignmentParameterSegment>(true); } void Ifc4x3_rc2::IfcAlignmentSegment::setGeometricParameters(::Ifc4x3_rc2::IfcAlignmentParameterSegment* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc2::IfcAlignmentSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[41]); } const IfcParse::entity& Ifc4x3_rc2::IfcAlignmentSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[41]); } Ifc4x3_rc2::IfcAlignmentSegment::IfcAlignmentSegment(IfcEntityInstanceData&& e) : IfcLinearElement(std::move(e)) { } -Ifc4x3_rc2::IfcAlignmentSegment::IfcAlignmentSegment(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcAlignmentParameterSegment* v8_GeometricParameters) : IfcLinearElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_GeometricParameters ? v8_GeometricParameters->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcAlignmentSegment::IfcAlignmentSegment(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcAlignmentParameterSegment* v8_GeometricParameters) : IfcLinearElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_GeometricParameters ? v8_GeometricParameters->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAlignmentVertical -aggregate_of< ::Ifc4x3_rc2::IfcAlignmentVerticalSegment >::ptr Ifc4x3_rc2::IfcAlignmentVertical::Segments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc2::IfcAlignmentVerticalSegment >(); } +aggregate_of< ::Ifc4x3_rc2::IfcAlignmentVerticalSegment >::ptr Ifc4x3_rc2::IfcAlignmentVertical::Segments() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc2::IfcAlignmentVerticalSegment >(); } void Ifc4x3_rc2::IfcAlignmentVertical::setSegments(aggregate_of< ::Ifc4x3_rc2::IfcAlignmentVerticalSegment >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc2::IfcAlignmentVertical::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[43]); } const IfcParse::entity& Ifc4x3_rc2::IfcAlignmentVertical::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[43]); } Ifc4x3_rc2::IfcAlignmentVertical::IfcAlignmentVertical(IfcEntityInstanceData&& e) : IfcLinearElement(std::move(e)) { } -Ifc4x3_rc2::IfcAlignmentVertical::IfcAlignmentVertical(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, aggregate_of< ::Ifc4x3_rc2::IfcAlignmentVerticalSegment >::ptr v8_Segments) : IfcLinearElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_Segments)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcAlignmentVertical::IfcAlignmentVertical(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, aggregate_of< ::Ifc4x3_rc2::IfcAlignmentVerticalSegment >::ptr v8_Segments) : IfcLinearElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_Segments)->generalize());; populate_derived(); } // Function implementations for IfcAlignmentVerticalSegment -double Ifc4x3_rc2::IfcAlignmentVerticalSegment::StartDistAlong() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc2::IfcAlignmentVerticalSegment::StartDistAlong() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcAlignmentVerticalSegment::setStartDistAlong(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc2::IfcAlignmentVerticalSegment::HorizontalLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc2::IfcAlignmentVerticalSegment::HorizontalLength() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcAlignmentVerticalSegment::setHorizontalLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc2::IfcAlignmentVerticalSegment::StartHeight() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc2::IfcAlignmentVerticalSegment::StartHeight() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcAlignmentVerticalSegment::setStartHeight(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc2::IfcAlignmentVerticalSegment::StartGradient() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc2::IfcAlignmentVerticalSegment::StartGradient() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcAlignmentVerticalSegment::setStartGradient(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc2::IfcAlignmentVerticalSegment::EndGradient() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc2::IfcAlignmentVerticalSegment::EndGradient() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcAlignmentVerticalSegment::setEndGradient(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc2::IfcAlignmentVerticalSegment::RadiusOfCurvature() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc2::IfcAlignmentVerticalSegment::RadiusOfCurvature() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcAlignmentVerticalSegment::setRadiusOfCurvature(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value Ifc4x3_rc2::IfcAlignmentVerticalSegment::PredefinedType() const { return ::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value Ifc4x3_rc2::IfcAlignmentVerticalSegment::PredefinedType() const { return ::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcAlignmentVerticalSegment::setPredefinedType(::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc2::IfcAlignmentVerticalSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[44]); } const IfcParse::entity& Ifc4x3_rc2::IfcAlignmentVerticalSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[44]); } Ifc4x3_rc2::IfcAlignmentVerticalSegment::IfcAlignmentVerticalSegment(IfcEntityInstanceData&& e) : IfcAlignmentParameterSegment(std::move(e)) { } -Ifc4x3_rc2::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_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(storage_t(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::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_rc2::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } // Function implementations for IfcAnnotation -boost::optional< ::Ifc4x3_rc2::IfcAnnotationTypeEnum::Value > Ifc4x3_rc2::IfcAnnotation::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcAnnotationTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_rc2::IfcAnnotationTypeEnum::Value > Ifc4x3_rc2::IfcAnnotation::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcAnnotationTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc2::IfcAnnotation::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcAnnotationTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc2::IfcAnnotationTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } ::Ifc4x3_rc2::IfcRelContainedInSpatialStructure::list::ptr Ifc4x3_rc2::IfcAnnotation::ContainedInStructure() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[944], 4)->as(); } @@ -8071,56 +8071,56 @@ void Ifc4x3_rc2::IfcAnnotation::setPredefinedType(boost::optional< ::Ifc4x3_rc2: const IfcParse::entity& Ifc4x3_rc2::IfcAnnotation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[50]); } const IfcParse::entity& Ifc4x3_rc2::IfcAnnotation::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[50]); } Ifc4x3_rc2::IfcAnnotation::IfcAnnotation(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_rc2::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_rc2::IfcAnnotationTypeEnum::Value > v8_PredefinedType) : IfcProduct(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcAnnotationTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_rc2::IfcAnnotationTypeEnum::Value > v8_PredefinedType) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcAnnotationTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAnnotationFillArea -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCurve>(true); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcAnnotationFillArea::setOuterBoundary(::Ifc4x3_rc2::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcCurve >::ptr > Ifc4x3_rc2::IfcAnnotationFillArea::InnerBoundaries() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcCurve >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcCurve >::ptr > Ifc4x3_rc2::IfcAnnotationFillArea::InnerBoundaries() const { if(get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcCurve >(); } void Ifc4x3_rc2::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcCurve >::ptr > v) { if (v) {set_attribute_value(1, (*v)->generalize());} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_rc2::IfcAnnotationFillArea::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[51]); } const IfcParse::entity& Ifc4x3_rc2::IfcAnnotationFillArea::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[51]); } Ifc4x3_rc2::IfcAnnotationFillArea::IfcAnnotationFillArea(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcAnnotationFillArea::IfcAnnotationFillArea(::Ifc4x3_rc2::IfcCurve* v1_OuterBoundary, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcCurve >::ptr > v2_InnerBoundaries) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_OuterBoundary ? v1_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_InnerBoundaries) {set_attribute_value(1, (*v2_InnerBoundaries)->generalize()); }; populate_derived(); } +Ifc4x3_rc2::IfcAnnotationFillArea::IfcAnnotationFillArea(::Ifc4x3_rc2::IfcCurve* v1_OuterBoundary, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcCurve >::ptr > v2_InnerBoundaries) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_OuterBoundary ? v1_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_InnerBoundaries) {set_attribute_value(1, (*v2_InnerBoundaries)->generalize()); }; populate_derived(); } // Function implementations for IfcApplication -::Ifc4x3_rc2::IfcOrganization* Ifc4x3_rc2::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcOrganization>(true); } +::Ifc4x3_rc2::IfcOrganization* Ifc4x3_rc2::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcOrganization>(true); } void Ifc4x3_rc2::IfcApplication::setApplicationDeveloper(::Ifc4x3_rc2::IfcOrganization* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x3_rc2::IfcApplication::Version() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_rc2::IfcApplication::Version() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcApplication::setVersion(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::string Ifc4x3_rc2::IfcApplication::ApplicationFullName() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3_rc2::IfcApplication::ApplicationFullName() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcApplication::setApplicationFullName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::string Ifc4x3_rc2::IfcApplication::ApplicationIdentifier() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x3_rc2::IfcApplication::ApplicationIdentifier() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcApplication::setApplicationIdentifier(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcApplication::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[53]); } const IfcParse::entity& Ifc4x3_rc2::IfcApplication::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[53]); } Ifc4x3_rc2::IfcApplication::IfcApplication(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcApplication::IfcApplication(::Ifc4x3_rc2::IfcOrganization* v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ApplicationDeveloper ? v1_ApplicationDeveloper->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; populate_derived(); } +Ifc4x3_rc2::IfcApplication::IfcApplication(::Ifc4x3_rc2::IfcOrganization* v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ApplicationDeveloper ? v1_ApplicationDeveloper->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; populate_derived(); } // Function implementations for IfcAppliedValue -boost::optional< std::string > Ifc4x3_rc2::IfcAppliedValue::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcAppliedValue::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcAppliedValue::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc2::IfcAppliedValue::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcAppliedValue::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcAppliedValue::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc2::IfcAppliedValueSelect* Ifc4x3_rc2::IfcAppliedValue::AppliedValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcAppliedValueSelect>(true); } +::Ifc4x3_rc2::IfcAppliedValueSelect* Ifc4x3_rc2::IfcAppliedValue::AppliedValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcAppliedValueSelect>(true); } void Ifc4x3_rc2::IfcAppliedValue::setAppliedValue(::Ifc4x3_rc2::IfcAppliedValueSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcMeasureWithUnit* Ifc4x3_rc2::IfcAppliedValue::UnitBasis() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcMeasureWithUnit>(true); } +::Ifc4x3_rc2::IfcMeasureWithUnit* Ifc4x3_rc2::IfcAppliedValue::UnitBasis() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcMeasureWithUnit>(true); } void Ifc4x3_rc2::IfcAppliedValue::setUnitBasis(::Ifc4x3_rc2::IfcMeasureWithUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc2::IfcAppliedValue::ApplicableDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcAppliedValue::ApplicableDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcAppliedValue::setApplicableDate(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc2::IfcAppliedValue::FixedUntilDate() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcAppliedValue::FixedUntilDate() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcAppliedValue::setFixedUntilDate(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc2::IfcAppliedValue::Category() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcAppliedValue::Category() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcAppliedValue::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc2::IfcAppliedValue::Condition() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcAppliedValue::Condition() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcAppliedValue::setCondition(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3_rc2::IfcArithmeticOperatorEnum::Value > Ifc4x3_rc2::IfcAppliedValue::ArithmeticOperator() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcArithmeticOperatorEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcArithmeticOperatorEnum::Value > Ifc4x3_rc2::IfcAppliedValue::ArithmeticOperator() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcArithmeticOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcAppliedValue::setArithmeticOperator(boost::optional< ::Ifc4x3_rc2::IfcArithmeticOperatorEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcArithmeticOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > Ifc4x3_rc2::IfcAppliedValue::Components() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3_rc2::IfcAppliedValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > Ifc4x3_rc2::IfcAppliedValue::Components() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3_rc2::IfcAppliedValue >(); } void Ifc4x3_rc2::IfcAppliedValue::setComponents(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } ::Ifc4x3_rc2::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc2::IfcAppliedValue::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[441], 3)->as(); } @@ -8128,26 +8128,26 @@ void Ifc4x3_rc2::IfcAppliedValue::setComponents(boost::optional< aggregate_of< : const IfcParse::entity& Ifc4x3_rc2::IfcAppliedValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[54]); } const IfcParse::entity& Ifc4x3_rc2::IfcAppliedValue::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[54]); } Ifc4x3_rc2::IfcAppliedValue::IfcAppliedValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3_rc2::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_rc2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v10_Components) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } +Ifc4x3_rc2::IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3_rc2::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_rc2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v10_Components) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } // Function implementations for IfcApproval -boost::optional< std::string > Ifc4x3_rc2::IfcApproval::Identifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcApproval::Identifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcApproval::setIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc2::IfcApproval::Name() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcApproval::Name() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcApproval::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc2::IfcApproval::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcApproval::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcApproval::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_rc2::IfcApproval::TimeOfApproval() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcApproval::TimeOfApproval() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcApproval::setTimeOfApproval(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc2::IfcApproval::Status() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcApproval::Status() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcApproval::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc2::IfcApproval::Level() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcApproval::Level() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcApproval::setLevel(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc2::IfcApproval::Qualifier() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcApproval::Qualifier() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcApproval::setQualifier(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcApproval::RequestingApproval() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc2::IfcActorSelect>(true); } +::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcApproval::RequestingApproval() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc2::IfcActorSelect>(true); } void Ifc4x3_rc2::IfcApproval::setRequestingApproval(::Ifc4x3_rc2::IfcActorSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcApproval::GivingApproval() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc2::IfcActorSelect>(true); } +::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcApproval::GivingApproval() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc2::IfcActorSelect>(true); } void Ifc4x3_rc2::IfcApproval::setGivingApproval(::Ifc4x3_rc2::IfcActorSelect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } ::Ifc4x3_rc2::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc2::IfcApproval::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[441], 3)->as(); } @@ -8159,171 +8159,171 @@ void Ifc4x3_rc2::IfcApproval::setGivingApproval(::Ifc4x3_rc2::IfcActorSelect* v) const IfcParse::entity& Ifc4x3_rc2::IfcApproval::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[56]); } const IfcParse::entity& Ifc4x3_rc2::IfcApproval::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[56]); } Ifc4x3_rc2::IfcApproval::IfcApproval(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcApproval::IfcApproval(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_TimeOfApproval, boost::optional< std::string > v5_Status, boost::optional< std::string > v6_Level, boost::optional< std::string > v7_Qualifier, ::Ifc4x3_rc2::IfcActorSelect* v8_RequestingApproval, ::Ifc4x3_rc2::IfcActorSelect* v9_GivingApproval) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(9))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, v8_RequestingApproval ? v8_RequestingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_GivingApproval ? v9_GivingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcApproval::IfcApproval(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_TimeOfApproval, boost::optional< std::string > v5_Status, boost::optional< std::string > v6_Level, boost::optional< std::string > v7_Qualifier, ::Ifc4x3_rc2::IfcActorSelect* v8_RequestingApproval, ::Ifc4x3_rc2::IfcActorSelect* v9_GivingApproval) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, v8_RequestingApproval ? v8_RequestingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_GivingApproval ? v9_GivingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcApprovalRelationship -::Ifc4x3_rc2::IfcApproval* Ifc4x3_rc2::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcApproval>(true); } +::Ifc4x3_rc2::IfcApproval* Ifc4x3_rc2::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcApproval>(true); } void Ifc4x3_rc2::IfcApprovalRelationship::setRelatingApproval(::Ifc4x3_rc2::IfcApproval* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_rc2::IfcApproval >::ptr Ifc4x3_rc2::IfcApprovalRelationship::RelatedApprovals() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc2::IfcApproval >(); } +aggregate_of< ::Ifc4x3_rc2::IfcApproval >::ptr Ifc4x3_rc2::IfcApprovalRelationship::RelatedApprovals() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc2::IfcApproval >(); } void Ifc4x3_rc2::IfcApprovalRelationship::setRelatedApprovals(aggregate_of< ::Ifc4x3_rc2::IfcApproval >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcApprovalRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[57]); } const IfcParse::entity& Ifc4x3_rc2::IfcApprovalRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[57]); } Ifc4x3_rc2::IfcApprovalRelationship::IfcApprovalRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_rc2::IfcApprovalRelationship::IfcApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcApproval* v3_RelatingApproval, aggregate_of< ::Ifc4x3_rc2::IfcApproval >::ptr v4_RelatedApprovals) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingApproval ? v3_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedApprovals)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcApprovalRelationship::IfcApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcApproval* v3_RelatingApproval, aggregate_of< ::Ifc4x3_rc2::IfcApproval >::ptr v4_RelatedApprovals) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingApproval ? v3_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedApprovals)->generalize());; populate_derived(); } // Function implementations for IfcArbitraryClosedProfileDef -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcCurve>(true); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcArbitraryClosedProfileDef::setOuterCurve(::Ifc4x3_rc2::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcArbitraryClosedProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[58]); } const IfcParse::entity& Ifc4x3_rc2::IfcArbitraryClosedProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[58]); } Ifc4x3_rc2::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_rc2::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcCurve* v3_OuterCurve) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcCurve* v3_OuterCurve) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcArbitraryOpenProfileDef -::Ifc4x3_rc2::IfcBoundedCurve* Ifc4x3_rc2::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcBoundedCurve>(true); } +::Ifc4x3_rc2::IfcBoundedCurve* Ifc4x3_rc2::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcBoundedCurve>(true); } void Ifc4x3_rc2::IfcArbitraryOpenProfileDef::setCurve(::Ifc4x3_rc2::IfcBoundedCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcArbitraryOpenProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[59]); } const IfcParse::entity& Ifc4x3_rc2::IfcArbitraryOpenProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[59]); } Ifc4x3_rc2::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_rc2::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcBoundedCurve* v3_Curve) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcBoundedCurve* v3_Curve) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcArbitraryProfileDefWithVoids -aggregate_of< ::Ifc4x3_rc2::IfcCurve >::ptr Ifc4x3_rc2::IfcArbitraryProfileDefWithVoids::InnerCurves() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc2::IfcCurve >(); } +aggregate_of< ::Ifc4x3_rc2::IfcCurve >::ptr Ifc4x3_rc2::IfcArbitraryProfileDefWithVoids::InnerCurves() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc2::IfcCurve >(); } void Ifc4x3_rc2::IfcArbitraryProfileDefWithVoids::setInnerCurves(aggregate_of< ::Ifc4x3_rc2::IfcCurve >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcArbitraryProfileDefWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[60]); } const IfcParse::entity& Ifc4x3_rc2::IfcArbitraryProfileDefWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[60]); } Ifc4x3_rc2::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(IfcEntityInstanceData&& e) : IfcArbitraryClosedProfileDef(std::move(e)) { } -Ifc4x3_rc2::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcCurve* v3_OuterCurve, aggregate_of< ::Ifc4x3_rc2::IfcCurve >::ptr v4_InnerCurves) : IfcArbitraryClosedProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_InnerCurves)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcCurve* v3_OuterCurve, aggregate_of< ::Ifc4x3_rc2::IfcCurve >::ptr v4_InnerCurves) : IfcArbitraryClosedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_InnerCurves)->generalize());; populate_derived(); } // Function implementations for IfcAsset -boost::optional< std::string > Ifc4x3_rc2::IfcAsset::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcAsset::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcAsset::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc2::IfcCostValue* Ifc4x3_rc2::IfcAsset::OriginalValue() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcCostValue>(true); } +::Ifc4x3_rc2::IfcCostValue* Ifc4x3_rc2::IfcAsset::OriginalValue() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcCostValue>(true); } void Ifc4x3_rc2::IfcAsset::setOriginalValue(::Ifc4x3_rc2::IfcCostValue* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc2::IfcCostValue* Ifc4x3_rc2::IfcAsset::CurrentValue() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc2::IfcCostValue>(true); } +::Ifc4x3_rc2::IfcCostValue* Ifc4x3_rc2::IfcAsset::CurrentValue() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc2::IfcCostValue>(true); } void Ifc4x3_rc2::IfcAsset::setCurrentValue(::Ifc4x3_rc2::IfcCostValue* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc2::IfcCostValue* Ifc4x3_rc2::IfcAsset::TotalReplacementCost() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc2::IfcCostValue>(true); } +::Ifc4x3_rc2::IfcCostValue* Ifc4x3_rc2::IfcAsset::TotalReplacementCost() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc2::IfcCostValue>(true); } void Ifc4x3_rc2::IfcAsset::setTotalReplacementCost(::Ifc4x3_rc2::IfcCostValue* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcAsset::Owner() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc2::IfcActorSelect>(true); } +::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcAsset::Owner() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc2::IfcActorSelect>(true); } void Ifc4x3_rc2::IfcAsset::setOwner(::Ifc4x3_rc2::IfcActorSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcAsset::User() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_rc2::IfcActorSelect>(true); } +::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcAsset::User() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_rc2::IfcActorSelect>(true); } void Ifc4x3_rc2::IfcAsset::setUser(::Ifc4x3_rc2::IfcActorSelect* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } -::Ifc4x3_rc2::IfcPerson* Ifc4x3_rc2::IfcAsset::ResponsiblePerson() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc4x3_rc2::IfcPerson>(true); } +::Ifc4x3_rc2::IfcPerson* Ifc4x3_rc2::IfcAsset::ResponsiblePerson() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc4x3_rc2::IfcPerson>(true); } void Ifc4x3_rc2::IfcAsset::setResponsiblePerson(::Ifc4x3_rc2::IfcPerson* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } -boost::optional< std::string > Ifc4x3_rc2::IfcAsset::IncorporationDate() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcAsset::IncorporationDate() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc2::IfcAsset::setIncorporationDate(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4x3_rc2::IfcCostValue* Ifc4x3_rc2::IfcAsset::DepreciatedValue() const { if(data_.get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(13)))->as<::Ifc4x3_rc2::IfcCostValue>(true); } +::Ifc4x3_rc2::IfcCostValue* Ifc4x3_rc2::IfcAsset::DepreciatedValue() const { if(get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(13)))->as<::Ifc4x3_rc2::IfcCostValue>(true); } void Ifc4x3_rc2::IfcAsset::setDepreciatedValue(::Ifc4x3_rc2::IfcCostValue* v) { set_attribute_value(13, v->as());if constexpr (false)unset_attribute_value(13); } const IfcParse::entity& Ifc4x3_rc2::IfcAsset::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[66]); } const IfcParse::entity& Ifc4x3_rc2::IfcAsset::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[66]); } Ifc4x3_rc2::IfcAsset::IfcAsset(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x3_rc2::IfcAsset::IfcAsset(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, ::Ifc4x3_rc2::IfcCostValue* v7_OriginalValue, ::Ifc4x3_rc2::IfcCostValue* v8_CurrentValue, ::Ifc4x3_rc2::IfcCostValue* v9_TotalReplacementCost, ::Ifc4x3_rc2::IfcActorSelect* v10_Owner, ::Ifc4x3_rc2::IfcActorSelect* v11_User, ::Ifc4x3_rc2::IfcPerson* v12_ResponsiblePerson, boost::optional< std::string > v13_IncorporationDate, ::Ifc4x3_rc2::IfcCostValue* v14_DepreciatedValue) : IfcGroup(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, v7_OriginalValue ? v7_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_CurrentValue ? v8_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_TotalReplacementCost ? v9_TotalReplacementCost->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_Owner ? v10_Owner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_User ? v11_User->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, v12_ResponsiblePerson ? v12_ResponsiblePerson->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, v14_DepreciatedValue ? v14_DepreciatedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcAsset::IfcAsset(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, ::Ifc4x3_rc2::IfcCostValue* v7_OriginalValue, ::Ifc4x3_rc2::IfcCostValue* v8_CurrentValue, ::Ifc4x3_rc2::IfcCostValue* v9_TotalReplacementCost, ::Ifc4x3_rc2::IfcActorSelect* v10_Owner, ::Ifc4x3_rc2::IfcActorSelect* v11_User, ::Ifc4x3_rc2::IfcPerson* v12_ResponsiblePerson, boost::optional< std::string > v13_IncorporationDate, ::Ifc4x3_rc2::IfcCostValue* v14_DepreciatedValue) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, v7_OriginalValue ? v7_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_CurrentValue ? v8_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_TotalReplacementCost ? v9_TotalReplacementCost->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_Owner ? v10_Owner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_User ? v11_User->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, v12_ResponsiblePerson ? v12_ResponsiblePerson->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, v14_DepreciatedValue ? v14_DepreciatedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAsymmetricIShapeProfileDef -double Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::setBottomFlangeWidth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::OverallDepth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::OverallDepth() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::setOverallDepth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::setBottomFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::setBottomFlangeFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -double Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { double v = data_.get_attribute_value(8); return v; } +double Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { double v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::setTopFlangeWidth(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -boost::optional< double > Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::setBottomFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::setBottomFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::setTopFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } const IfcParse::entity& Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[67]); } const IfcParse::entity& Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[67]); } Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::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(storage_t(15))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); }; populate_derived(); } +Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::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(in_memory_attribute_storage(15))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); }; populate_derived(); } // Function implementations for IfcAudioVisualAppliance -boost::optional< ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x3_rc2::IfcAudioVisualAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x3_rc2::IfcAudioVisualAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcAudioVisualAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcAudioVisualAppliance::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[68]); } const IfcParse::entity& Ifc4x3_rc2::IfcAudioVisualAppliance::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[68]); } Ifc4x3_rc2::IfcAudioVisualAppliance::IfcAudioVisualAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc2::IfcAudioVisualAppliance::IfcAudioVisualAppliance(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcAudioVisualAppliance::IfcAudioVisualAppliance(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAudioVisualApplianceType -::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3_rc2::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3_rc2::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcAudioVisualApplianceType::setPredefinedType(::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcAudioVisualApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[69]); } const IfcParse::entity& Ifc4x3_rc2::IfcAudioVisualApplianceType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[69]); } Ifc4x3_rc2::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc2::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAxis1Placement -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcAxis1Placement::Axis() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcDirection>(true); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcAxis1Placement::Axis() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcAxis1Placement::setAxis(::Ifc4x3_rc2::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcAxis1Placement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[71]); } const IfcParse::entity& Ifc4x3_rc2::IfcAxis1Placement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[71]); } Ifc4x3_rc2::IfcAxis1Placement::IfcAxis1Placement(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x3_rc2::IfcAxis1Placement::IfcAxis1Placement(::Ifc4x3_rc2::IfcPoint* v1_Location, ::Ifc4x3_rc2::IfcDirection* v2_Axis) : IfcPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcAxis1Placement::IfcAxis1Placement(::Ifc4x3_rc2::IfcPoint* v1_Location, ::Ifc4x3_rc2::IfcDirection* v2_Axis) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAxis2Placement2D -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcAxis2Placement2D::RefDirection() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcDirection>(true); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcAxis2Placement2D::RefDirection() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcAxis2Placement2D::setRefDirection(::Ifc4x3_rc2::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcAxis2Placement2D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[73]); } const IfcParse::entity& Ifc4x3_rc2::IfcAxis2Placement2D::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[73]); } Ifc4x3_rc2::IfcAxis2Placement2D::IfcAxis2Placement2D(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x3_rc2::IfcAxis2Placement2D::IfcAxis2Placement2D(::Ifc4x3_rc2::IfcPoint* v1_Location, ::Ifc4x3_rc2::IfcDirection* v2_RefDirection) : IfcPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RefDirection ? v2_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcAxis2Placement2D::IfcAxis2Placement2D(::Ifc4x3_rc2::IfcPoint* v1_Location, ::Ifc4x3_rc2::IfcDirection* v2_RefDirection) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RefDirection ? v2_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAxis2Placement3D -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcAxis2Placement3D::Axis() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcDirection>(true); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcAxis2Placement3D::Axis() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcAxis2Placement3D::setAxis(::Ifc4x3_rc2::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcAxis2Placement3D::RefDirection() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcDirection>(true); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcAxis2Placement3D::RefDirection() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcAxis2Placement3D::setRefDirection(::Ifc4x3_rc2::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcAxis2Placement3D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[74]); } const IfcParse::entity& Ifc4x3_rc2::IfcAxis2Placement3D::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[74]); } Ifc4x3_rc2::IfcAxis2Placement3D::IfcAxis2Placement3D(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x3_rc2::IfcAxis2Placement3D::IfcAxis2Placement3D(::Ifc4x3_rc2::IfcPoint* v1_Location, ::Ifc4x3_rc2::IfcDirection* v2_Axis, ::Ifc4x3_rc2::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcAxis2Placement3D::IfcAxis2Placement3D(::Ifc4x3_rc2::IfcPoint* v1_Location, ::Ifc4x3_rc2::IfcDirection* v2_Axis, ::Ifc4x3_rc2::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAxis2PlacementLinear -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcAxis2PlacementLinear::Axis() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcDirection>(true); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcAxis2PlacementLinear::Axis() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcAxis2PlacementLinear::setAxis(::Ifc4x3_rc2::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcAxis2PlacementLinear::RefDirection() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcDirection>(true); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcAxis2PlacementLinear::RefDirection() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcAxis2PlacementLinear::setRefDirection(::Ifc4x3_rc2::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcAxis2PlacementLinear::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[75]); } const IfcParse::entity& Ifc4x3_rc2::IfcAxis2PlacementLinear::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[75]); } Ifc4x3_rc2::IfcAxis2PlacementLinear::IfcAxis2PlacementLinear(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x3_rc2::IfcAxis2PlacementLinear::IfcAxis2PlacementLinear(::Ifc4x3_rc2::IfcPoint* v1_Location, ::Ifc4x3_rc2::IfcDirection* v2_Axis, ::Ifc4x3_rc2::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcAxis2PlacementLinear::IfcAxis2PlacementLinear(::Ifc4x3_rc2::IfcPoint* v1_Location, ::Ifc4x3_rc2::IfcDirection* v2_Axis, ::Ifc4x3_rc2::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAxisLateralInclination @@ -8332,89 +8332,89 @@ Ifc4x3_rc2::IfcAxis2PlacementLinear::IfcAxis2PlacementLinear(::Ifc4x3_rc2::IfcPo const IfcParse::entity& Ifc4x3_rc2::IfcAxisLateralInclination::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[76]); } const IfcParse::entity& Ifc4x3_rc2::IfcAxisLateralInclination::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[76]); } Ifc4x3_rc2::IfcAxisLateralInclination::IfcAxisLateralInclination(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcAxisLateralInclination::IfcAxisLateralInclination() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc2::IfcAxisLateralInclination::IfcAxisLateralInclination() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcBSplineCurve -int Ifc4x3_rc2::IfcBSplineCurve::Degree() const { int v = data_.get_attribute_value(0); return v; } +int Ifc4x3_rc2::IfcBSplineCurve::Degree() const { int v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcBSplineCurve::setDegree(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc2::IfcCartesianPoint >::ptr Ifc4x3_rc2::IfcBSplineCurve::ControlPointsList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcCartesianPoint >(); } +aggregate_of< ::Ifc4x3_rc2::IfcCartesianPoint >::ptr Ifc4x3_rc2::IfcBSplineCurve::ControlPointsList() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcCartesianPoint >(); } void Ifc4x3_rc2::IfcBSplineCurve::setControlPointsList(aggregate_of< ::Ifc4x3_rc2::IfcCartesianPoint >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcBSplineCurveForm::Value Ifc4x3_rc2::IfcBSplineCurve::CurveForm() const { return ::Ifc4x3_rc2::IfcBSplineCurveForm::FromString(data_.get_attribute_value(2)); } +::Ifc4x3_rc2::IfcBSplineCurveForm::Value Ifc4x3_rc2::IfcBSplineCurve::CurveForm() const { return ::Ifc4x3_rc2::IfcBSplineCurveForm::FromString(get_attribute_value(2)); } void Ifc4x3_rc2::IfcBSplineCurve::setCurveForm(::Ifc4x3_rc2::IfcBSplineCurveForm::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3_rc2::IfcBSplineCurveForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -boost::logic::tribool Ifc4x3_rc2::IfcBSplineCurve::ClosedCurve() const { boost::logic::tribool v = data_.get_attribute_value(3); return v; } +boost::logic::tribool Ifc4x3_rc2::IfcBSplineCurve::ClosedCurve() const { boost::logic::tribool v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcBSplineCurve::setClosedCurve(boost::logic::tribool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::logic::tribool Ifc4x3_rc2::IfcBSplineCurve::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(4); return v; } +boost::logic::tribool Ifc4x3_rc2::IfcBSplineCurve::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcBSplineCurve::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc2::IfcBSplineCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[115]); } const IfcParse::entity& Ifc4x3_rc2::IfcBSplineCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[115]); } Ifc4x3_rc2::IfcBSplineCurve::IfcBSplineCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_rc2::IfcBSplineCurve::IfcBSplineCurve(int v1_Degree, aggregate_of< ::Ifc4x3_rc2::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_rc2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; populate_derived(); } +Ifc4x3_rc2::IfcBSplineCurve::IfcBSplineCurve(int v1_Degree, aggregate_of< ::Ifc4x3_rc2::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_rc2::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; populate_derived(); } // Function implementations for IfcBSplineCurveWithKnots -std::vector< int > /*[2:?]*/ Ifc4x3_rc2::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int > /*[2:?]*/ v = data_.get_attribute_value(5); return v; } +std::vector< int > /*[2:?]*/ Ifc4x3_rc2::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcBSplineCurveWithKnots::setKnotMultiplicities(std::vector< int > /*[2:?]*/ v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -std::vector< double > /*[2:?]*/ Ifc4x3_rc2::IfcBSplineCurveWithKnots::Knots() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(6); return v; } +std::vector< double > /*[2:?]*/ Ifc4x3_rc2::IfcBSplineCurveWithKnots::Knots() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcBSplineCurveWithKnots::setKnots(std::vector< double > /*[2:?]*/ v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc2::IfcKnotType::Value Ifc4x3_rc2::IfcBSplineCurveWithKnots::KnotSpec() const { return ::Ifc4x3_rc2::IfcKnotType::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc2::IfcKnotType::Value Ifc4x3_rc2::IfcBSplineCurveWithKnots::KnotSpec() const { return ::Ifc4x3_rc2::IfcKnotType::FromString(get_attribute_value(7)); } void Ifc4x3_rc2::IfcBSplineCurveWithKnots::setKnotSpec(::Ifc4x3_rc2::IfcKnotType::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc2::IfcKnotType::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc2::IfcBSplineCurveWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[117]); } const IfcParse::entity& Ifc4x3_rc2::IfcBSplineCurveWithKnots::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[117]); } Ifc4x3_rc2::IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(IfcEntityInstanceData&& e) : IfcBSplineCurve(std::move(e)) { } -Ifc4x3_rc2::IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x3_rc2::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_rc2::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_rc2::IfcKnotType::Value v8_KnotSpec) : IfcBSplineCurve(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcKnotType::Class(),(size_t)v8_KnotSpec)));; populate_derived(); } +Ifc4x3_rc2::IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x3_rc2::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_rc2::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_rc2::IfcKnotType::Value v8_KnotSpec) : IfcBSplineCurve(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcKnotType::Class(),(size_t)v8_KnotSpec)));; populate_derived(); } // Function implementations for IfcBSplineSurface -int Ifc4x3_rc2::IfcBSplineSurface::UDegree() const { int v = data_.get_attribute_value(0); return v; } +int Ifc4x3_rc2::IfcBSplineSurface::UDegree() const { int v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcBSplineSurface::setUDegree(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -int Ifc4x3_rc2::IfcBSplineSurface::VDegree() const { int v = data_.get_attribute_value(1); return v; } +int Ifc4x3_rc2::IfcBSplineSurface::VDegree() const { int v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcBSplineSurface::setVDegree(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -aggregate_of_aggregate_of< ::Ifc4x3_rc2::IfcCartesianPoint >::ptr Ifc4x3_rc2::IfcBSplineSurface::ControlPointsList() const { aggregate_of_aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcCartesianPoint >(); } +aggregate_of_aggregate_of< ::Ifc4x3_rc2::IfcCartesianPoint >::ptr Ifc4x3_rc2::IfcBSplineSurface::ControlPointsList() const { aggregate_of_aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcCartesianPoint >(); } void Ifc4x3_rc2::IfcBSplineSurface::setControlPointsList(aggregate_of_aggregate_of< ::Ifc4x3_rc2::IfcCartesianPoint >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcBSplineSurfaceForm::Value Ifc4x3_rc2::IfcBSplineSurface::SurfaceForm() const { return ::Ifc4x3_rc2::IfcBSplineSurfaceForm::FromString(data_.get_attribute_value(3)); } +::Ifc4x3_rc2::IfcBSplineSurfaceForm::Value Ifc4x3_rc2::IfcBSplineSurface::SurfaceForm() const { return ::Ifc4x3_rc2::IfcBSplineSurfaceForm::FromString(get_attribute_value(3)); } void Ifc4x3_rc2::IfcBSplineSurface::setSurfaceForm(::Ifc4x3_rc2::IfcBSplineSurfaceForm::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc4x3_rc2::IfcBSplineSurfaceForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } -boost::logic::tribool Ifc4x3_rc2::IfcBSplineSurface::UClosed() const { boost::logic::tribool v = data_.get_attribute_value(4); return v; } +boost::logic::tribool Ifc4x3_rc2::IfcBSplineSurface::UClosed() const { boost::logic::tribool v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcBSplineSurface::setUClosed(boost::logic::tribool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::logic::tribool Ifc4x3_rc2::IfcBSplineSurface::VClosed() const { boost::logic::tribool v = data_.get_attribute_value(5); return v; } +boost::logic::tribool Ifc4x3_rc2::IfcBSplineSurface::VClosed() const { boost::logic::tribool v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcBSplineSurface::setVClosed(boost::logic::tribool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::logic::tribool Ifc4x3_rc2::IfcBSplineSurface::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(6); return v; } +boost::logic::tribool Ifc4x3_rc2::IfcBSplineSurface::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcBSplineSurface::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc2::IfcBSplineSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[118]); } const IfcParse::entity& Ifc4x3_rc2::IfcBSplineSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[118]); } Ifc4x3_rc2::IfcBSplineSurface::IfcBSplineSurface(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x3_rc2::IfcBSplineSurface::IfcBSplineSurface(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_rc2::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_rc2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));; populate_derived(); } +Ifc4x3_rc2::IfcBSplineSurface::IfcBSplineSurface(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_rc2::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_rc2::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));; populate_derived(); } // Function implementations for IfcBSplineSurfaceWithKnots -std::vector< int > /*[2:?]*/ Ifc4x3_rc2::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int > /*[2:?]*/ v = data_.get_attribute_value(7); return v; } +std::vector< int > /*[2:?]*/ Ifc4x3_rc2::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcBSplineSurfaceWithKnots::setUMultiplicities(std::vector< int > /*[2:?]*/ v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector< int > /*[2:?]*/ Ifc4x3_rc2::IfcBSplineSurfaceWithKnots::VMultiplicities() const { std::vector< int > /*[2:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< int > /*[2:?]*/ Ifc4x3_rc2::IfcBSplineSurfaceWithKnots::VMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcBSplineSurfaceWithKnots::setVMultiplicities(std::vector< int > /*[2:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::vector< double > /*[2:?]*/ Ifc4x3_rc2::IfcBSplineSurfaceWithKnots::UKnots() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(9); return v; } +std::vector< double > /*[2:?]*/ Ifc4x3_rc2::IfcBSplineSurfaceWithKnots::UKnots() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(9); return v; } void Ifc4x3_rc2::IfcBSplineSurfaceWithKnots::setUKnots(std::vector< double > /*[2:?]*/ v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -std::vector< double > /*[2:?]*/ Ifc4x3_rc2::IfcBSplineSurfaceWithKnots::VKnots() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(10); return v; } +std::vector< double > /*[2:?]*/ Ifc4x3_rc2::IfcBSplineSurfaceWithKnots::VKnots() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcBSplineSurfaceWithKnots::setVKnots(std::vector< double > /*[2:?]*/ v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -::Ifc4x3_rc2::IfcKnotType::Value Ifc4x3_rc2::IfcBSplineSurfaceWithKnots::KnotSpec() const { return ::Ifc4x3_rc2::IfcKnotType::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc2::IfcKnotType::Value Ifc4x3_rc2::IfcBSplineSurfaceWithKnots::KnotSpec() const { return ::Ifc4x3_rc2::IfcKnotType::FromString(get_attribute_value(11)); } void Ifc4x3_rc2::IfcBSplineSurfaceWithKnots::setKnotSpec(::Ifc4x3_rc2::IfcKnotType::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc2::IfcKnotType::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc2::IfcBSplineSurfaceWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[120]); } const IfcParse::entity& Ifc4x3_rc2::IfcBSplineSurfaceWithKnots::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[120]); } Ifc4x3_rc2::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(IfcEntityInstanceData&& e) : IfcBSplineSurface(std::move(e)) { } -Ifc4x3_rc2::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_rc2::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_rc2::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_rc2::IfcKnotType::Value v12_KnotSpec) : IfcBSplineSurface(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc2::IfcKnotType::Class(),(size_t)v12_KnotSpec)));; populate_derived(); } +Ifc4x3_rc2::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_rc2::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_rc2::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_rc2::IfcKnotType::Value v12_KnotSpec) : IfcBSplineSurface(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc2::IfcKnotType::Class(),(size_t)v12_KnotSpec)));; populate_derived(); } // Function implementations for IfcBeam -boost::optional< ::Ifc4x3_rc2::IfcBeamTypeEnum::Value > Ifc4x3_rc2::IfcBeam::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcBeamTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcBeamTypeEnum::Value > Ifc4x3_rc2::IfcBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcBeamTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcBeam::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcBeamTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcBeamTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcBeam::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[77]); } const IfcParse::entity& Ifc4x3_rc2::IfcBeam::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[77]); } Ifc4x3_rc2::IfcBeam::IfcBeam(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc2::IfcBeam::IfcBeam(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcBeamTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcBeam::IfcBeam(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcBeamTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBeamStandardCase @@ -8422,97 +8422,97 @@ Ifc4x3_rc2::IfcBeam::IfcBeam(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHist const IfcParse::entity& Ifc4x3_rc2::IfcBeamStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[78]); } const IfcParse::entity& Ifc4x3_rc2::IfcBeamStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[78]); } Ifc4x3_rc2::IfcBeamStandardCase::IfcBeamStandardCase(IfcEntityInstanceData&& e) : IfcBeam(std::move(e)) { } -Ifc4x3_rc2::IfcBeamStandardCase::IfcBeamStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcBeamTypeEnum::Value > v9_PredefinedType) : IfcBeam(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcBeamStandardCase::IfcBeamStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcBeamTypeEnum::Value > v9_PredefinedType) : IfcBeam(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBeamType -::Ifc4x3_rc2::IfcBeamTypeEnum::Value Ifc4x3_rc2::IfcBeamType::PredefinedType() const { return ::Ifc4x3_rc2::IfcBeamTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcBeamTypeEnum::Value Ifc4x3_rc2::IfcBeamType::PredefinedType() const { return ::Ifc4x3_rc2::IfcBeamTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcBeamType::setPredefinedType(::Ifc4x3_rc2::IfcBeamTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcBeamTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcBeamType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[79]); } const IfcParse::entity& Ifc4x3_rc2::IfcBeamType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[79]); } Ifc4x3_rc2::IfcBeamType::IfcBeamType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc2::IfcBeamType::IfcBeamType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBeamTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcBeamType::IfcBeamType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBeamTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBearing -boost::optional< ::Ifc4x3_rc2::IfcBearingTypeEnum::Value > Ifc4x3_rc2::IfcBearing::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcBearingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcBearingTypeEnum::Value > Ifc4x3_rc2::IfcBearing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcBearingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcBearing::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcBearingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcBearingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcBearing::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[81]); } const IfcParse::entity& Ifc4x3_rc2::IfcBearing::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[81]); } Ifc4x3_rc2::IfcBearing::IfcBearing(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc2::IfcBearing::IfcBearing(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcBearingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcBearing::IfcBearing(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcBearingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBearingType -::Ifc4x3_rc2::IfcBearingTypeEnum::Value Ifc4x3_rc2::IfcBearingType::PredefinedType() const { return ::Ifc4x3_rc2::IfcBearingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcBearingTypeEnum::Value Ifc4x3_rc2::IfcBearingType::PredefinedType() const { return ::Ifc4x3_rc2::IfcBearingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcBearingType::setPredefinedType(::Ifc4x3_rc2::IfcBearingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcBearingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcBearingType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[82]); } const IfcParse::entity& Ifc4x3_rc2::IfcBearingType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[82]); } Ifc4x3_rc2::IfcBearingType::IfcBearingType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc2::IfcBearingType::IfcBearingType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBearingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcBearingType::IfcBearingType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBearingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBlobTexture -std::string Ifc4x3_rc2::IfcBlobTexture::RasterFormat() const { std::string v = data_.get_attribute_value(5); return v; } +std::string Ifc4x3_rc2::IfcBlobTexture::RasterFormat() const { std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcBlobTexture::setRasterFormat(std::string v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::dynamic_bitset<> Ifc4x3_rc2::IfcBlobTexture::RasterCode() const { boost::dynamic_bitset<> v = data_.get_attribute_value(6); return v; } +boost::dynamic_bitset<> Ifc4x3_rc2::IfcBlobTexture::RasterCode() const { boost::dynamic_bitset<> v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcBlobTexture::setRasterCode(boost::dynamic_bitset<> v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc2::IfcBlobTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[88]); } const IfcParse::entity& Ifc4x3_rc2::IfcBlobTexture::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[88]); } Ifc4x3_rc2::IfcBlobTexture::IfcBlobTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -Ifc4x3_rc2::IfcBlobTexture::IfcBlobTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) : IfcSurfaceTexture(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode));; populate_derived(); } +Ifc4x3_rc2::IfcBlobTexture::IfcBlobTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) : IfcSurfaceTexture(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode));; populate_derived(); } // Function implementations for IfcBlock -double Ifc4x3_rc2::IfcBlock::XLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc2::IfcBlock::XLength() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcBlock::setXLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc2::IfcBlock::YLength() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc2::IfcBlock::YLength() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcBlock::setYLength(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc2::IfcBlock::ZLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc2::IfcBlock::ZLength() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcBlock::setZLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcBlock::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[89]); } const IfcParse::entity& Ifc4x3_rc2::IfcBlock::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[89]); } Ifc4x3_rc2::IfcBlock::IfcBlock(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3_rc2::IfcBlock::IfcBlock(::Ifc4x3_rc2::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; populate_derived(); } +Ifc4x3_rc2::IfcBlock::IfcBlock(::Ifc4x3_rc2::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; populate_derived(); } // Function implementations for IfcBlossCurve -::Ifc4x3_rc2::IfcAxis2Placement* Ifc4x3_rc2::IfcBlossCurve::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcAxis2Placement>(true); } +::Ifc4x3_rc2::IfcAxis2Placement* Ifc4x3_rc2::IfcBlossCurve::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcAxis2Placement>(true); } void Ifc4x3_rc2::IfcBlossCurve::setPosition(::Ifc4x3_rc2::IfcAxis2Placement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc2::IfcBlossCurve::CurveLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc2::IfcBlossCurve::CurveLength() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcBlossCurve::setCurveLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc2::IfcBlossCurve::Radius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc2::IfcBlossCurve::Radius() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcBlossCurve::setRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcBlossCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[90]); } const IfcParse::entity& Ifc4x3_rc2::IfcBlossCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[90]); } Ifc4x3_rc2::IfcBlossCurve::IfcBlossCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_rc2::IfcBlossCurve::IfcBlossCurve(::Ifc4x3_rc2::IfcAxis2Placement* v1_Position, double v2_CurveLength, double v3_Radius) : IfcCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CurveLength));set_attribute_value(2, (v3_Radius));; populate_derived(); } +Ifc4x3_rc2::IfcBlossCurve::IfcBlossCurve(::Ifc4x3_rc2::IfcAxis2Placement* v1_Position, double v2_CurveLength, double v3_Radius) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CurveLength));set_attribute_value(2, (v3_Radius));; populate_derived(); } // Function implementations for IfcBoiler -boost::optional< ::Ifc4x3_rc2::IfcBoilerTypeEnum::Value > Ifc4x3_rc2::IfcBoiler::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcBoilerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcBoilerTypeEnum::Value > Ifc4x3_rc2::IfcBoiler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcBoilerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcBoiler::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcBoilerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcBoilerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcBoiler::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[91]); } const IfcParse::entity& Ifc4x3_rc2::IfcBoiler::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[91]); } Ifc4x3_rc2::IfcBoiler::IfcBoiler(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc2::IfcBoiler::IfcBoiler(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcBoilerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcBoiler::IfcBoiler(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcBoilerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBoilerType -::Ifc4x3_rc2::IfcBoilerTypeEnum::Value Ifc4x3_rc2::IfcBoilerType::PredefinedType() const { return ::Ifc4x3_rc2::IfcBoilerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcBoilerTypeEnum::Value Ifc4x3_rc2::IfcBoilerType::PredefinedType() const { return ::Ifc4x3_rc2::IfcBoilerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcBoilerType::setPredefinedType(::Ifc4x3_rc2::IfcBoilerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcBoilerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcBoilerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[92]); } const IfcParse::entity& Ifc4x3_rc2::IfcBoilerType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[92]); } Ifc4x3_rc2::IfcBoilerType::IfcBoilerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc2::IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBoilerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBoilerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBooleanClippingResult @@ -8520,21 +8520,21 @@ Ifc4x3_rc2::IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, ::Ifc4x3_rc2:: const IfcParse::entity& Ifc4x3_rc2::IfcBooleanClippingResult::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[95]); } const IfcParse::entity& Ifc4x3_rc2::IfcBooleanClippingResult::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[95]); } Ifc4x3_rc2::IfcBooleanClippingResult::IfcBooleanClippingResult(IfcEntityInstanceData&& e) : IfcBooleanResult(std::move(e)) { } -Ifc4x3_rc2::IfcBooleanClippingResult::IfcBooleanClippingResult(::Ifc4x3_rc2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc2::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x3_rc2::IfcBooleanOperand* v3_SecondOperand) : IfcBooleanResult(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcBooleanClippingResult::IfcBooleanClippingResult(::Ifc4x3_rc2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc2::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x3_rc2::IfcBooleanOperand* v3_SecondOperand) : IfcBooleanResult(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBooleanResult -::Ifc4x3_rc2::IfcBooleanOperator::Value Ifc4x3_rc2::IfcBooleanResult::Operator() const { return ::Ifc4x3_rc2::IfcBooleanOperator::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_rc2::IfcBooleanOperator::Value Ifc4x3_rc2::IfcBooleanResult::Operator() const { return ::Ifc4x3_rc2::IfcBooleanOperator::FromString(get_attribute_value(0)); } void Ifc4x3_rc2::IfcBooleanResult::setOperator(::Ifc4x3_rc2::IfcBooleanOperator::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_rc2::IfcBooleanOperator::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcBooleanOperand* Ifc4x3_rc2::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcBooleanOperand>(true); } +::Ifc4x3_rc2::IfcBooleanOperand* Ifc4x3_rc2::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcBooleanOperand>(true); } void Ifc4x3_rc2::IfcBooleanResult::setFirstOperand(::Ifc4x3_rc2::IfcBooleanOperand* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcBooleanOperand* Ifc4x3_rc2::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcBooleanOperand>(true); } +::Ifc4x3_rc2::IfcBooleanOperand* Ifc4x3_rc2::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcBooleanOperand>(true); } void Ifc4x3_rc2::IfcBooleanResult::setSecondOperand(::Ifc4x3_rc2::IfcBooleanOperand* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcBooleanResult::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[98]); } const IfcParse::entity& Ifc4x3_rc2::IfcBooleanResult::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[98]); } Ifc4x3_rc2::IfcBooleanResult::IfcBooleanResult(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcBooleanResult::IfcBooleanResult(::Ifc4x3_rc2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc2::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x3_rc2::IfcBooleanOperand* v3_SecondOperand) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcBooleanResult::IfcBooleanResult(::Ifc4x3_rc2::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc2::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x3_rc2::IfcBooleanOperand* v3_SecondOperand) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBorehole @@ -8542,17 +8542,17 @@ Ifc4x3_rc2::IfcBooleanResult::IfcBooleanResult(::Ifc4x3_rc2::IfcBooleanOperator: const IfcParse::entity& Ifc4x3_rc2::IfcBorehole::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[99]); } const IfcParse::entity& Ifc4x3_rc2::IfcBorehole::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[99]); } Ifc4x3_rc2::IfcBorehole::IfcBorehole(IfcEntityInstanceData&& e) : IfcGeotechnicalAssembly(std::move(e)) { } -Ifc4x3_rc2::IfcBorehole::IfcBorehole(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc2::IfcBorehole::IfcBorehole(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcBoundaryCondition -boost::optional< std::string > Ifc4x3_rc2::IfcBoundaryCondition::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcBoundaryCondition::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcBoundaryCondition::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3_rc2::IfcBoundaryCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[100]); } const IfcParse::entity& Ifc4x3_rc2::IfcBoundaryCondition::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[100]); } Ifc4x3_rc2::IfcBoundaryCondition::IfcBoundaryCondition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_rc2::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcBoundaryCurve @@ -8560,71 +8560,71 @@ Ifc4x3_rc2::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::str const IfcParse::entity& Ifc4x3_rc2::IfcBoundaryCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[101]); } const IfcParse::entity& Ifc4x3_rc2::IfcBoundaryCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[101]); } Ifc4x3_rc2::IfcBoundaryCurve::IfcBoundaryCurve(IfcEntityInstanceData&& e) : IfcCompositeCurveOnSurface(std::move(e)) { } -Ifc4x3_rc2::IfcBoundaryCurve::IfcBoundaryCurve(aggregate_of< ::Ifc4x3_rc2::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurveOnSurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x3_rc2::IfcBoundaryCurve::IfcBoundaryCurve(aggregate_of< ::Ifc4x3_rc2::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurveOnSurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcBoundaryEdgeCondition -::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } +::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3_rc2::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthX(::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } +::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3_rc2::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthY(::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } +::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3_rc2::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthZ(::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect>(true); } +::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3_rc2::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect>(true); } +::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3_rc2::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect>(true); } +::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3_rc2::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc2::IfcBoundaryEdgeCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[102]); } const IfcParse::entity& Ifc4x3_rc2::IfcBoundaryEdgeCondition::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[102]); } Ifc4x3_rc2::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -Ifc4x3_rc2::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect* v2_TranslationalStiffnessByLengthX, ::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect* v3_TranslationalStiffnessByLengthY, ::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect* v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect* v5_RotationalStiffnessByLengthX, ::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect* v6_RotationalStiffnessByLengthY, ::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect* v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByLengthX ? v2_TranslationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByLengthY ? v3_TranslationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByLengthZ ? v4_TranslationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessByLengthX ? v5_RotationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessByLengthY ? v6_RotationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessByLengthZ ? v7_RotationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect* v2_TranslationalStiffnessByLengthX, ::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect* v3_TranslationalStiffnessByLengthY, ::Ifc4x3_rc2::IfcModulusOfTranslationalSubgradeReactionSelect* v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect* v5_RotationalStiffnessByLengthX, ::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect* v6_RotationalStiffnessByLengthY, ::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionSelect* v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByLengthX ? v2_TranslationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByLengthY ? v3_TranslationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByLengthZ ? v4_TranslationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessByLengthX ? v5_RotationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessByLengthY ? v6_RotationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessByLengthZ ? v7_RotationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryFaceCondition -::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect>(true); } +::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3_rc2::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaX(::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect>(true); } +::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3_rc2::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaY(::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect>(true); } +::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc2::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3_rc2::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcBoundaryFaceCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[103]); } const IfcParse::entity& Ifc4x3_rc2::IfcBoundaryFaceCondition::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[103]); } Ifc4x3_rc2::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -Ifc4x3_rc2::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect* v2_TranslationalStiffnessByAreaX, ::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect* v3_TranslationalStiffnessByAreaY, ::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect* v4_TranslationalStiffnessByAreaZ) : IfcBoundaryCondition(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByAreaX ? v2_TranslationalStiffnessByAreaX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByAreaY ? v3_TranslationalStiffnessByAreaY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByAreaZ ? v4_TranslationalStiffnessByAreaZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect* v2_TranslationalStiffnessByAreaX, ::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect* v3_TranslationalStiffnessByAreaY, ::Ifc4x3_rc2::IfcModulusOfSubgradeReactionSelect* v4_TranslationalStiffnessByAreaZ) : IfcBoundaryCondition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByAreaX ? v2_TranslationalStiffnessByAreaX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByAreaY ? v3_TranslationalStiffnessByAreaY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByAreaZ ? v4_TranslationalStiffnessByAreaZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryNodeCondition -::Ifc4x3_rc2::IfcTranslationalStiffnessSelect* Ifc4x3_rc2::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcTranslationalStiffnessSelect>(true); } +::Ifc4x3_rc2::IfcTranslationalStiffnessSelect* Ifc4x3_rc2::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3_rc2::IfcBoundaryNodeCondition::setTranslationalStiffnessX(::Ifc4x3_rc2::IfcTranslationalStiffnessSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcTranslationalStiffnessSelect* Ifc4x3_rc2::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcTranslationalStiffnessSelect>(true); } +::Ifc4x3_rc2::IfcTranslationalStiffnessSelect* Ifc4x3_rc2::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3_rc2::IfcBoundaryNodeCondition::setTranslationalStiffnessY(::Ifc4x3_rc2::IfcTranslationalStiffnessSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcTranslationalStiffnessSelect* Ifc4x3_rc2::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcTranslationalStiffnessSelect>(true); } +::Ifc4x3_rc2::IfcTranslationalStiffnessSelect* Ifc4x3_rc2::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3_rc2::IfcBoundaryNodeCondition::setTranslationalStiffnessZ(::Ifc4x3_rc2::IfcTranslationalStiffnessSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc2::IfcRotationalStiffnessSelect* Ifc4x3_rc2::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcRotationalStiffnessSelect>(true); } +::Ifc4x3_rc2::IfcRotationalStiffnessSelect* Ifc4x3_rc2::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcRotationalStiffnessSelect>(true); } void Ifc4x3_rc2::IfcBoundaryNodeCondition::setRotationalStiffnessX(::Ifc4x3_rc2::IfcRotationalStiffnessSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcRotationalStiffnessSelect* Ifc4x3_rc2::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcRotationalStiffnessSelect>(true); } +::Ifc4x3_rc2::IfcRotationalStiffnessSelect* Ifc4x3_rc2::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcRotationalStiffnessSelect>(true); } void Ifc4x3_rc2::IfcBoundaryNodeCondition::setRotationalStiffnessY(::Ifc4x3_rc2::IfcRotationalStiffnessSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc2::IfcRotationalStiffnessSelect* Ifc4x3_rc2::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcRotationalStiffnessSelect>(true); } +::Ifc4x3_rc2::IfcRotationalStiffnessSelect* Ifc4x3_rc2::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcRotationalStiffnessSelect>(true); } void Ifc4x3_rc2::IfcBoundaryNodeCondition::setRotationalStiffnessZ(::Ifc4x3_rc2::IfcRotationalStiffnessSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc2::IfcBoundaryNodeCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[104]); } const IfcParse::entity& Ifc4x3_rc2::IfcBoundaryNodeCondition::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[104]); } Ifc4x3_rc2::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -Ifc4x3_rc2::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ) : IfcBoundaryCondition(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ) : IfcBoundaryCondition(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryNodeConditionWarping -::Ifc4x3_rc2::IfcWarpingStiffnessSelect* Ifc4x3_rc2::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc2::IfcWarpingStiffnessSelect>(true); } +::Ifc4x3_rc2::IfcWarpingStiffnessSelect* Ifc4x3_rc2::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc2::IfcWarpingStiffnessSelect>(true); } void Ifc4x3_rc2::IfcBoundaryNodeConditionWarping::setWarpingStiffness(::Ifc4x3_rc2::IfcWarpingStiffnessSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc2::IfcBoundaryNodeConditionWarping::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[105]); } const IfcParse::entity& Ifc4x3_rc2::IfcBoundaryNodeConditionWarping::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[105]); } Ifc4x3_rc2::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(IfcEntityInstanceData&& e) : IfcBoundaryNodeCondition(std::move(e)) { } -Ifc4x3_rc2::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ, ::Ifc4x3_rc2::IfcWarpingStiffnessSelect* v8_WarpingStiffness) : IfcBoundaryNodeCondition(IfcEntityInstanceData(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_WarpingStiffness ? v8_WarpingStiffness->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x3_rc2::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x3_rc2::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ, ::Ifc4x3_rc2::IfcWarpingStiffnessSelect* v8_WarpingStiffness) : IfcBoundaryNodeCondition(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_WarpingStiffness ? v8_WarpingStiffness->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundedCurve @@ -8633,7 +8633,7 @@ Ifc4x3_rc2::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boo const IfcParse::entity& Ifc4x3_rc2::IfcBoundedCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[106]); } const IfcParse::entity& Ifc4x3_rc2::IfcBoundedCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[106]); } Ifc4x3_rc2::IfcBoundedCurve::IfcBoundedCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_rc2::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc2::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcBoundedSurface @@ -8641,43 +8641,43 @@ Ifc4x3_rc2::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData( const IfcParse::entity& Ifc4x3_rc2::IfcBoundedSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[107]); } const IfcParse::entity& Ifc4x3_rc2::IfcBoundedSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[107]); } Ifc4x3_rc2::IfcBoundedSurface::IfcBoundedSurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x3_rc2::IfcBoundedSurface::IfcBoundedSurface() : IfcSurface(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc2::IfcBoundedSurface::IfcBoundedSurface() : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcBoundingBox -::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(true); } +::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(true); } void Ifc4x3_rc2::IfcBoundingBox::setCorner(::Ifc4x3_rc2::IfcCartesianPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc2::IfcBoundingBox::XDim() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc2::IfcBoundingBox::XDim() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcBoundingBox::setXDim(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc2::IfcBoundingBox::YDim() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc2::IfcBoundingBox::YDim() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcBoundingBox::setYDim(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc2::IfcBoundingBox::ZDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc2::IfcBoundingBox::ZDim() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcBoundingBox::setZDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcBoundingBox::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[108]); } const IfcParse::entity& Ifc4x3_rc2::IfcBoundingBox::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[108]); } Ifc4x3_rc2::IfcBoundingBox::IfcBoundingBox(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcBoundingBox::IfcBoundingBox(::Ifc4x3_rc2::IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Corner ? v1_Corner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; populate_derived(); } +Ifc4x3_rc2::IfcBoundingBox::IfcBoundingBox(::Ifc4x3_rc2::IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Corner ? v1_Corner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; populate_derived(); } // Function implementations for IfcBoxedHalfSpace -::Ifc4x3_rc2::IfcBoundingBox* Ifc4x3_rc2::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcBoundingBox>(true); } +::Ifc4x3_rc2::IfcBoundingBox* Ifc4x3_rc2::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcBoundingBox>(true); } void Ifc4x3_rc2::IfcBoxedHalfSpace::setEnclosure(::Ifc4x3_rc2::IfcBoundingBox* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcBoxedHalfSpace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[110]); } const IfcParse::entity& Ifc4x3_rc2::IfcBoxedHalfSpace::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[110]); } Ifc4x3_rc2::IfcBoxedHalfSpace::IfcBoxedHalfSpace(IfcEntityInstanceData&& e) : IfcHalfSpaceSolid(std::move(e)) { } -Ifc4x3_rc2::IfcBoxedHalfSpace::IfcBoxedHalfSpace(::Ifc4x3_rc2::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc2::IfcBoundingBox* v3_Enclosure) : IfcHalfSpaceSolid(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Enclosure ? v3_Enclosure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcBoxedHalfSpace::IfcBoxedHalfSpace(::Ifc4x3_rc2::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc2::IfcBoundingBox* v3_Enclosure) : IfcHalfSpaceSolid(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Enclosure ? v3_Enclosure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBridge -boost::optional< ::Ifc4x3_rc2::IfcBridgeTypeEnum::Value > Ifc4x3_rc2::IfcBridge::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcBridgeTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc2::IfcBridgeTypeEnum::Value > Ifc4x3_rc2::IfcBridge::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcBridgeTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcBridge::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcBridgeTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcBridgeTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc2::IfcBridge::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[111]); } const IfcParse::entity& Ifc4x3_rc2::IfcBridge::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[111]); } Ifc4x3_rc2::IfcBridge::IfcBridge(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x3_rc2::IfcBridge::IfcBridge(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_rc2::IfcBridgeTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcBridge::IfcBridge(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_rc2::IfcBridgeTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBridgePart @@ -8685,83 +8685,83 @@ Ifc4x3_rc2::IfcBridge::IfcBridge(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwner const IfcParse::entity& Ifc4x3_rc2::IfcBridgePart::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[112]); } const IfcParse::entity& Ifc4x3_rc2::IfcBridgePart::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[112]); } Ifc4x3_rc2::IfcBridgePart::IfcBridgePart(IfcEntityInstanceData&& e) : IfcFacilityPart(std::move(e)) { } -Ifc4x3_rc2::IfcBridgePart::IfcBridgePart(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc2::IfcFacilityPartTypeSelect* v10_PredefinedType, ::Ifc4x3_rc2::IfcFacilityUsageEnum::Value v11_UsageType) : IfcFacilityPart(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, v10_PredefinedType ? v10_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcFacilityUsageEnum::Class(),(size_t)v11_UsageType)));; populate_derived(); } +Ifc4x3_rc2::IfcBridgePart::IfcBridgePart(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc2::IfcFacilityPartTypeSelect* v10_PredefinedType, ::Ifc4x3_rc2::IfcFacilityUsageEnum::Value v11_UsageType) : IfcFacilityPart(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, v10_PredefinedType ? v10_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcFacilityUsageEnum::Class(),(size_t)v11_UsageType)));; populate_derived(); } // Function implementations for IfcBuilding -boost::optional< double > Ifc4x3_rc2::IfcBuilding::ElevationOfRefHeight() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc2::IfcBuilding::ElevationOfRefHeight() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc2::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc2::IfcBuilding::ElevationOfTerrain() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc2::IfcBuilding::ElevationOfTerrain() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4x3_rc2::IfcPostalAddress* Ifc4x3_rc2::IfcBuilding::BuildingAddress() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc4x3_rc2::IfcPostalAddress>(true); } +::Ifc4x3_rc2::IfcPostalAddress* Ifc4x3_rc2::IfcBuilding::BuildingAddress() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc4x3_rc2::IfcPostalAddress>(true); } void Ifc4x3_rc2::IfcBuilding::setBuildingAddress(::Ifc4x3_rc2::IfcPostalAddress* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc2::IfcBuilding::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[121]); } const IfcParse::entity& Ifc4x3_rc2::IfcBuilding::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[121]); } Ifc4x3_rc2::IfcBuilding::IfcBuilding(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x3_rc2::IfcBuilding::IfcBuilding(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_rc2::IfcPostalAddress* v12_BuildingAddress) : IfcFacility(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, v12_BuildingAddress ? v12_BuildingAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcBuilding::IfcBuilding(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_rc2::IfcPostalAddress* v12_BuildingAddress) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, v12_BuildingAddress ? v12_BuildingAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBuildingElementPart -boost::optional< ::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Value > Ifc4x3_rc2::IfcBuildingElementPart::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Value > Ifc4x3_rc2::IfcBuildingElementPart::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcBuildingElementPart::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcBuildingElementPart::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[122]); } const IfcParse::entity& Ifc4x3_rc2::IfcBuildingElementPart::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[122]); } Ifc4x3_rc2::IfcBuildingElementPart::IfcBuildingElementPart(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_rc2::IfcBuildingElementPart::IfcBuildingElementPart(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcBuildingElementPart::IfcBuildingElementPart(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBuildingElementPartType -::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Value Ifc4x3_rc2::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Value Ifc4x3_rc2::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcBuildingElementPartType::setPredefinedType(::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcBuildingElementPartType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[123]); } const IfcParse::entity& Ifc4x3_rc2::IfcBuildingElementPartType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[123]); } Ifc4x3_rc2::IfcBuildingElementPartType::IfcBuildingElementPartType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_rc2::IfcBuildingElementPartType::IfcBuildingElementPartType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcBuildingElementPartType::IfcBuildingElementPartType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBuildingElementProxy -boost::optional< ::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value > Ifc4x3_rc2::IfcBuildingElementProxy::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value > Ifc4x3_rc2::IfcBuildingElementProxy::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcBuildingElementProxy::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcBuildingElementProxy::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[125]); } const IfcParse::entity& Ifc4x3_rc2::IfcBuildingElementProxy::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[125]); } Ifc4x3_rc2::IfcBuildingElementProxy::IfcBuildingElementProxy(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc2::IfcBuildingElementProxy::IfcBuildingElementProxy(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcBuildingElementProxy::IfcBuildingElementProxy(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBuildingElementProxyType -::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value Ifc4x3_rc2::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value Ifc4x3_rc2::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcBuildingElementProxyType::setPredefinedType(::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcBuildingElementProxyType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[126]); } const IfcParse::entity& Ifc4x3_rc2::IfcBuildingElementProxyType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[126]); } Ifc4x3_rc2::IfcBuildingElementProxyType::IfcBuildingElementProxyType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc2::IfcBuildingElementProxyType::IfcBuildingElementProxyType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcBuildingElementProxyType::IfcBuildingElementProxyType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBuildingStorey -boost::optional< double > Ifc4x3_rc2::IfcBuildingStorey::Elevation() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc2::IfcBuildingStorey::Elevation() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc2::IfcBuildingStorey::setElevation(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc2::IfcBuildingStorey::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[128]); } const IfcParse::entity& Ifc4x3_rc2::IfcBuildingStorey::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[128]); } Ifc4x3_rc2::IfcBuildingStorey::IfcBuildingStorey(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x3_rc2::IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_Elevation) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; populate_derived(); } +Ifc4x3_rc2::IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_Elevation) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; populate_derived(); } // Function implementations for IfcBuildingSystem -boost::optional< ::Ifc4x3_rc2::IfcBuildingSystemTypeEnum::Value > Ifc4x3_rc2::IfcBuildingSystem::PredefinedType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcBuildingSystemTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3_rc2::IfcBuildingSystemTypeEnum::Value > Ifc4x3_rc2::IfcBuildingSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcBuildingSystemTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc2::IfcBuildingSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcBuildingSystemTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc2::IfcBuildingSystemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc2::IfcBuildingSystem::LongName() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcBuildingSystem::LongName() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcBuildingSystem::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc2::IfcBuildingSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[129]); } const IfcParse::entity& Ifc4x3_rc2::IfcBuildingSystem::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[129]); } Ifc4x3_rc2::IfcBuildingSystem::IfcBuildingSystem(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3_rc2::IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_rc2::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } +Ifc4x3_rc2::IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_rc2::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } // Function implementations for IfcBuiltElement @@ -8769,7 +8769,7 @@ Ifc4x3_rc2::IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3_rc2::IfcBuiltElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[131]); } const IfcParse::entity& Ifc4x3_rc2::IfcBuiltElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[131]); } Ifc4x3_rc2::IfcBuiltElement::IfcBuiltElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc2::IfcBuiltElement::IfcBuiltElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc2::IfcBuiltElement::IfcBuiltElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcBuiltElementType @@ -8777,167 +8777,167 @@ Ifc4x3_rc2::IfcBuiltElement::IfcBuiltElement(std::string v1_GlobalId, ::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc2::IfcBuiltElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[132]); } const IfcParse::entity& Ifc4x3_rc2::IfcBuiltElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[132]); } Ifc4x3_rc2::IfcBuiltElementType::IfcBuiltElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_rc2::IfcBuiltElementType::IfcBuiltElementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc2::IfcBuiltElementType::IfcBuiltElementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcBuiltSystem -boost::optional< ::Ifc4x3_rc2::IfcBuiltSystemTypeEnum::Value > Ifc4x3_rc2::IfcBuiltSystem::PredefinedType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcBuiltSystemTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3_rc2::IfcBuiltSystemTypeEnum::Value > Ifc4x3_rc2::IfcBuiltSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcBuiltSystemTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc2::IfcBuiltSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcBuiltSystemTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc2::IfcBuiltSystemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc2::IfcBuiltSystem::LongName() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcBuiltSystem::LongName() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcBuiltSystem::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc2::IfcBuiltSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[133]); } const IfcParse::entity& Ifc4x3_rc2::IfcBuiltSystem::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[133]); } Ifc4x3_rc2::IfcBuiltSystem::IfcBuiltSystem(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3_rc2::IfcBuiltSystem::IfcBuiltSystem(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_rc2::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcBuiltSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } +Ifc4x3_rc2::IfcBuiltSystem::IfcBuiltSystem(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_rc2::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcBuiltSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } // Function implementations for IfcBurner -boost::optional< ::Ifc4x3_rc2::IfcBurnerTypeEnum::Value > Ifc4x3_rc2::IfcBurner::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcBurnerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcBurnerTypeEnum::Value > Ifc4x3_rc2::IfcBurner::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcBurnerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcBurner::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcBurnerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcBurnerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcBurner::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[135]); } const IfcParse::entity& Ifc4x3_rc2::IfcBurner::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[135]); } Ifc4x3_rc2::IfcBurner::IfcBurner(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc2::IfcBurner::IfcBurner(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcBurnerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcBurner::IfcBurner(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcBurnerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBurnerType -::Ifc4x3_rc2::IfcBurnerTypeEnum::Value Ifc4x3_rc2::IfcBurnerType::PredefinedType() const { return ::Ifc4x3_rc2::IfcBurnerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcBurnerTypeEnum::Value Ifc4x3_rc2::IfcBurnerType::PredefinedType() const { return ::Ifc4x3_rc2::IfcBurnerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcBurnerType::setPredefinedType(::Ifc4x3_rc2::IfcBurnerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcBurnerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcBurnerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[136]); } const IfcParse::entity& Ifc4x3_rc2::IfcBurnerType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[136]); } Ifc4x3_rc2::IfcBurnerType::IfcBurnerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc2::IfcBurnerType::IfcBurnerType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBurnerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcBurnerType::IfcBurnerType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcBurnerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCShapeProfileDef -double Ifc4x3_rc2::IfcCShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc2::IfcCShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcCShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc2::IfcCShapeProfileDef::Width() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc2::IfcCShapeProfileDef::Width() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcCShapeProfileDef::setWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc2::IfcCShapeProfileDef::WallThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc2::IfcCShapeProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcCShapeProfileDef::setWallThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc2::IfcCShapeProfileDef::Girth() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc2::IfcCShapeProfileDef::Girth() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcCShapeProfileDef::setGirth(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc2::IfcCShapeProfileDef::InternalFilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc2::IfcCShapeProfileDef::InternalFilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcCShapeProfileDef::setInternalFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc2::IfcCShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[274]); } const IfcParse::entity& Ifc4x3_rc2::IfcCShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[274]); } Ifc4x3_rc2::IfcCShapeProfileDef::IfcCShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_rc2::IfcCShapeProfileDef::IfcCShapeProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, boost::optional< double > v8_InternalFilletRadius) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); }; populate_derived(); } +Ifc4x3_rc2::IfcCShapeProfileDef::IfcCShapeProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, boost::optional< double > v8_InternalFilletRadius) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); }; populate_derived(); } // Function implementations for IfcCableCarrierFitting -boost::optional< ::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Value > Ifc4x3_rc2::IfcCableCarrierFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Value > Ifc4x3_rc2::IfcCableCarrierFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcCableCarrierFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcCableCarrierFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[138]); } const IfcParse::entity& Ifc4x3_rc2::IfcCableCarrierFitting::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[138]); } Ifc4x3_rc2::IfcCableCarrierFitting::IfcCableCarrierFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x3_rc2::IfcCableCarrierFitting::IfcCableCarrierFitting(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcCableCarrierFitting::IfcCableCarrierFitting(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableCarrierFittingType -::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Value Ifc4x3_rc2::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Value Ifc4x3_rc2::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcCableCarrierFittingType::setPredefinedType(::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcCableCarrierFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[139]); } const IfcParse::entity& Ifc4x3_rc2::IfcCableCarrierFittingType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[139]); } Ifc4x3_rc2::IfcCableCarrierFittingType::IfcCableCarrierFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x3_rc2::IfcCableCarrierFittingType::IfcCableCarrierFittingType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcCableCarrierFittingType::IfcCableCarrierFittingType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCableCarrierSegment -boost::optional< ::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x3_rc2::IfcCableCarrierSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x3_rc2::IfcCableCarrierSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcCableCarrierSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcCableCarrierSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[141]); } const IfcParse::entity& Ifc4x3_rc2::IfcCableCarrierSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[141]); } Ifc4x3_rc2::IfcCableCarrierSegment::IfcCableCarrierSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x3_rc2::IfcCableCarrierSegment::IfcCableCarrierSegment(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcCableCarrierSegment::IfcCableCarrierSegment(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableCarrierSegmentType -::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3_rc2::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3_rc2::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcCableCarrierSegmentType::setPredefinedType(::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcCableCarrierSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[142]); } const IfcParse::entity& Ifc4x3_rc2::IfcCableCarrierSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[142]); } Ifc4x3_rc2::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x3_rc2::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCableFitting -boost::optional< ::Ifc4x3_rc2::IfcCableFittingTypeEnum::Value > Ifc4x3_rc2::IfcCableFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCableFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcCableFittingTypeEnum::Value > Ifc4x3_rc2::IfcCableFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCableFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcCableFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCableFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcCableFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcCableFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[144]); } const IfcParse::entity& Ifc4x3_rc2::IfcCableFitting::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[144]); } Ifc4x3_rc2::IfcCableFitting::IfcCableFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x3_rc2::IfcCableFitting::IfcCableFitting(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcCableFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcCableFitting::IfcCableFitting(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcCableFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableFittingType -::Ifc4x3_rc2::IfcCableFittingTypeEnum::Value Ifc4x3_rc2::IfcCableFittingType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCableFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcCableFittingTypeEnum::Value Ifc4x3_rc2::IfcCableFittingType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCableFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcCableFittingType::setPredefinedType(::Ifc4x3_rc2::IfcCableFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcCableFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcCableFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[145]); } const IfcParse::entity& Ifc4x3_rc2::IfcCableFittingType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[145]); } Ifc4x3_rc2::IfcCableFittingType::IfcCableFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x3_rc2::IfcCableFittingType::IfcCableFittingType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCableFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcCableFittingType::IfcCableFittingType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCableFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCableSegment -boost::optional< ::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Value > Ifc4x3_rc2::IfcCableSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCableSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Value > Ifc4x3_rc2::IfcCableSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCableSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcCableSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcCableSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[147]); } const IfcParse::entity& Ifc4x3_rc2::IfcCableSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[147]); } Ifc4x3_rc2::IfcCableSegment::IfcCableSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x3_rc2::IfcCableSegment::IfcCableSegment(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcCableSegment::IfcCableSegment(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableSegmentType -::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Value Ifc4x3_rc2::IfcCableSegmentType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCableSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Value Ifc4x3_rc2::IfcCableSegmentType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCableSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcCableSegmentType::setPredefinedType(::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcCableSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[148]); } const IfcParse::entity& Ifc4x3_rc2::IfcCableSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[148]); } Ifc4x3_rc2::IfcCableSegmentType::IfcCableSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x3_rc2::IfcCableSegmentType::IfcCableSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcCableSegmentType::IfcCableSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCaissonFoundation -boost::optional< ::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value > Ifc4x3_rc2::IfcCaissonFoundation::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value > Ifc4x3_rc2::IfcCaissonFoundation::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcCaissonFoundation::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcCaissonFoundation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[150]); } const IfcParse::entity& Ifc4x3_rc2::IfcCaissonFoundation::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[150]); } Ifc4x3_rc2::IfcCaissonFoundation::IfcCaissonFoundation(IfcEntityInstanceData&& e) : IfcDeepFoundation(std::move(e)) { } -Ifc4x3_rc2::IfcCaissonFoundation::IfcCaissonFoundation(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType) : IfcDeepFoundation(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcCaissonFoundation::IfcCaissonFoundation(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType) : IfcDeepFoundation(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCaissonFoundationType -::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value Ifc4x3_rc2::IfcCaissonFoundationType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value Ifc4x3_rc2::IfcCaissonFoundationType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcCaissonFoundationType::setPredefinedType(::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcCaissonFoundationType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[151]); } const IfcParse::entity& Ifc4x3_rc2::IfcCaissonFoundationType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[151]); } Ifc4x3_rc2::IfcCaissonFoundationType::IfcCaissonFoundationType(IfcEntityInstanceData&& e) : IfcDeepFoundationType(std::move(e)) { } -Ifc4x3_rc2::IfcCaissonFoundationType::IfcCaissonFoundationType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcCaissonFoundationType::IfcCaissonFoundationType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCartesianPoint -std::vector< double > /*[1:3]*/ Ifc4x3_rc2::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[1:3]*/ Ifc4x3_rc2::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcCartesianPoint::setCoordinates(std::vector< double > /*[1:3]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc2::IfcCartesianPoint::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[154]); } const IfcParse::entity& Ifc4x3_rc2::IfcCartesianPoint::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[154]); } Ifc4x3_rc2::IfcCartesianPoint::IfcCartesianPoint(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x3_rc2::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ v1_Coordinates) : IfcPoint(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } +Ifc4x3_rc2::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ v1_Coordinates) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } // Function implementations for IfcCartesianPointList @@ -8945,47 +8945,47 @@ Ifc4x3_rc2::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ const IfcParse::entity& Ifc4x3_rc2::IfcCartesianPointList::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[155]); } const IfcParse::entity& Ifc4x3_rc2::IfcCartesianPointList::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[155]); } Ifc4x3_rc2::IfcCartesianPointList::IfcCartesianPointList(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcCartesianPointList::IfcCartesianPointList() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc2::IfcCartesianPointList::IfcCartesianPointList() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcCartesianPointList2D -std::vector< std::vector< double > > Ifc4x3_rc2::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x3_rc2::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcCartesianPointList2D::setCoordList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcCartesianPointList2D::TagList() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcCartesianPointList2D::TagList() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcCartesianPointList2D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_rc2::IfcCartesianPointList2D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[156]); } const IfcParse::entity& Ifc4x3_rc2::IfcCartesianPointList2D::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[156]); } Ifc4x3_rc2::IfcCartesianPointList2D::IfcCartesianPointList2D(IfcEntityInstanceData&& e) : IfcCartesianPointList(std::move(e)) { } -Ifc4x3_rc2::IfcCartesianPointList2D::IfcCartesianPointList2D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } +Ifc4x3_rc2::IfcCartesianPointList2D::IfcCartesianPointList2D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } // Function implementations for IfcCartesianPointList3D -std::vector< std::vector< double > > Ifc4x3_rc2::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x3_rc2::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcCartesianPointList3D::setCoordList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcCartesianPointList3D::TagList() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcCartesianPointList3D::TagList() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcCartesianPointList3D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_rc2::IfcCartesianPointList3D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[157]); } const IfcParse::entity& Ifc4x3_rc2::IfcCartesianPointList3D::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[157]); } Ifc4x3_rc2::IfcCartesianPointList3D::IfcCartesianPointList3D(IfcEntityInstanceData&& e) : IfcCartesianPointList(std::move(e)) { } -Ifc4x3_rc2::IfcCartesianPointList3D::IfcCartesianPointList3D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } +Ifc4x3_rc2::IfcCartesianPointList3D::IfcCartesianPointList3D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcCartesianTransformationOperator::Axis1() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcDirection>(true); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcCartesianTransformationOperator::Axis1() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcCartesianTransformationOperator::setAxis1(::Ifc4x3_rc2::IfcDirection* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcCartesianTransformationOperator::Axis2() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcDirection>(true); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcCartesianTransformationOperator::Axis2() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcCartesianTransformationOperator::setAxis2(::Ifc4x3_rc2::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(true); } +::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(true); } void Ifc4x3_rc2::IfcCartesianTransformationOperator::setLocalOrigin(::Ifc4x3_rc2::IfcCartesianPoint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4x3_rc2::IfcCartesianTransformationOperator::Scale() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc2::IfcCartesianTransformationOperator::Scale() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc2::IfcCartesianTransformationOperator::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[158]); } const IfcParse::entity& Ifc4x3_rc2::IfcCartesianTransformationOperator::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[158]); } Ifc4x3_rc2::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(::Ifc4x3_rc2::IfcDirection* v1_Axis1, ::Ifc4x3_rc2::IfcDirection* v2_Axis2, ::Ifc4x3_rc2::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } +Ifc4x3_rc2::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(::Ifc4x3_rc2::IfcDirection* v1_Axis1, ::Ifc4x3_rc2::IfcDirection* v2_Axis2, ::Ifc4x3_rc2::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator2D @@ -8993,131 +8993,131 @@ Ifc4x3_rc2::IfcCartesianTransformationOperator::IfcCartesianTransformationOperat const IfcParse::entity& Ifc4x3_rc2::IfcCartesianTransformationOperator2D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[159]); } const IfcParse::entity& Ifc4x3_rc2::IfcCartesianTransformationOperator2D::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[159]); } Ifc4x3_rc2::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator(std::move(e)) { } -Ifc4x3_rc2::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(::Ifc4x3_rc2::IfcDirection* v1_Axis1, ::Ifc4x3_rc2::IfcDirection* v2_Axis2, ::Ifc4x3_rc2::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcCartesianTransformationOperator(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } +Ifc4x3_rc2::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(::Ifc4x3_rc2::IfcDirection* v1_Axis1, ::Ifc4x3_rc2::IfcDirection* v2_Axis2, ::Ifc4x3_rc2::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcCartesianTransformationOperator(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator2DnonUniform -boost::optional< double > Ifc4x3_rc2::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc2::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcCartesianTransformationOperator2DnonUniform::setScale2(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc2::IfcCartesianTransformationOperator2DnonUniform::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[160]); } const IfcParse::entity& Ifc4x3_rc2::IfcCartesianTransformationOperator2DnonUniform::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[160]); } Ifc4x3_rc2::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator2D(std::move(e)) { } -Ifc4x3_rc2::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(::Ifc4x3_rc2::IfcDirection* v1_Axis1, ::Ifc4x3_rc2::IfcDirection* v2_Axis2, ::Ifc4x3_rc2::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2) : IfcCartesianTransformationOperator2D(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; populate_derived(); } +Ifc4x3_rc2::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(::Ifc4x3_rc2::IfcDirection* v1_Axis1, ::Ifc4x3_rc2::IfcDirection* v2_Axis2, ::Ifc4x3_rc2::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2) : IfcCartesianTransformationOperator2D(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator3D -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcCartesianTransformationOperator3D::Axis3() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcDirection>(true); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcCartesianTransformationOperator3D::Axis3() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcCartesianTransformationOperator3D::setAxis3(::Ifc4x3_rc2::IfcDirection* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc2::IfcCartesianTransformationOperator3D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[161]); } const IfcParse::entity& Ifc4x3_rc2::IfcCartesianTransformationOperator3D::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[161]); } Ifc4x3_rc2::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator(std::move(e)) { } -Ifc4x3_rc2::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(::Ifc4x3_rc2::IfcDirection* v1_Axis1, ::Ifc4x3_rc2::IfcDirection* v2_Axis2, ::Ifc4x3_rc2::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x3_rc2::IfcDirection* v5_Axis3) : IfcCartesianTransformationOperator(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(::Ifc4x3_rc2::IfcDirection* v1_Axis1, ::Ifc4x3_rc2::IfcDirection* v2_Axis2, ::Ifc4x3_rc2::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x3_rc2::IfcDirection* v5_Axis3) : IfcCartesianTransformationOperator(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator3DnonUniform -boost::optional< double > Ifc4x3_rc2::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc2::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcCartesianTransformationOperator3DnonUniform::setScale2(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_rc2::IfcCartesianTransformationOperator3DnonUniform::Scale3() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc2::IfcCartesianTransformationOperator3DnonUniform::Scale3() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcCartesianTransformationOperator3DnonUniform::setScale3(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc2::IfcCartesianTransformationOperator3DnonUniform::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[162]); } const IfcParse::entity& Ifc4x3_rc2::IfcCartesianTransformationOperator3DnonUniform::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[162]); } Ifc4x3_rc2::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator3D(std::move(e)) { } -Ifc4x3_rc2::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(::Ifc4x3_rc2::IfcDirection* v1_Axis1, ::Ifc4x3_rc2::IfcDirection* v2_Axis2, ::Ifc4x3_rc2::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x3_rc2::IfcDirection* v5_Axis3, boost::optional< double > v6_Scale2, boost::optional< double > v7_Scale3) : IfcCartesianTransformationOperator3D(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; populate_derived(); } +Ifc4x3_rc2::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(::Ifc4x3_rc2::IfcDirection* v1_Axis1, ::Ifc4x3_rc2::IfcDirection* v2_Axis2, ::Ifc4x3_rc2::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x3_rc2::IfcDirection* v5_Axis3, boost::optional< double > v6_Scale2, boost::optional< double > v7_Scale3) : IfcCartesianTransformationOperator3D(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; populate_derived(); } // Function implementations for IfcCenterLineProfileDef -double Ifc4x3_rc2::IfcCenterLineProfileDef::Thickness() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc2::IfcCenterLineProfileDef::Thickness() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcCenterLineProfileDef::setThickness(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcCenterLineProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[163]); } const IfcParse::entity& Ifc4x3_rc2::IfcCenterLineProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[163]); } Ifc4x3_rc2::IfcCenterLineProfileDef::IfcCenterLineProfileDef(IfcEntityInstanceData&& e) : IfcArbitraryOpenProfileDef(std::move(e)) { } -Ifc4x3_rc2::IfcCenterLineProfileDef::IfcCenterLineProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcBoundedCurve* v3_Curve, double v4_Thickness) : IfcArbitraryOpenProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Thickness));; populate_derived(); } +Ifc4x3_rc2::IfcCenterLineProfileDef::IfcCenterLineProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcBoundedCurve* v3_Curve, double v4_Thickness) : IfcArbitraryOpenProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Thickness));; populate_derived(); } // Function implementations for IfcChiller -boost::optional< ::Ifc4x3_rc2::IfcChillerTypeEnum::Value > Ifc4x3_rc2::IfcChiller::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcChillerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcChillerTypeEnum::Value > Ifc4x3_rc2::IfcChiller::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcChillerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcChiller::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcChillerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcChillerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcChiller::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[165]); } const IfcParse::entity& Ifc4x3_rc2::IfcChiller::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[165]); } Ifc4x3_rc2::IfcChiller::IfcChiller(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc2::IfcChiller::IfcChiller(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcChillerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcChiller::IfcChiller(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcChillerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcChillerType -::Ifc4x3_rc2::IfcChillerTypeEnum::Value Ifc4x3_rc2::IfcChillerType::PredefinedType() const { return ::Ifc4x3_rc2::IfcChillerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcChillerTypeEnum::Value Ifc4x3_rc2::IfcChillerType::PredefinedType() const { return ::Ifc4x3_rc2::IfcChillerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcChillerType::setPredefinedType(::Ifc4x3_rc2::IfcChillerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcChillerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcChillerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[166]); } const IfcParse::entity& Ifc4x3_rc2::IfcChillerType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[166]); } Ifc4x3_rc2::IfcChillerType::IfcChillerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc2::IfcChillerType::IfcChillerType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcChillerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcChillerType::IfcChillerType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcChillerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcChimney -boost::optional< ::Ifc4x3_rc2::IfcChimneyTypeEnum::Value > Ifc4x3_rc2::IfcChimney::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcChimneyTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcChimneyTypeEnum::Value > Ifc4x3_rc2::IfcChimney::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcChimneyTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcChimney::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcChimneyTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcChimneyTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcChimney::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[168]); } const IfcParse::entity& Ifc4x3_rc2::IfcChimney::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[168]); } Ifc4x3_rc2::IfcChimney::IfcChimney(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc2::IfcChimney::IfcChimney(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcChimneyTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcChimney::IfcChimney(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcChimneyTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcChimneyType -::Ifc4x3_rc2::IfcChimneyTypeEnum::Value Ifc4x3_rc2::IfcChimneyType::PredefinedType() const { return ::Ifc4x3_rc2::IfcChimneyTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcChimneyTypeEnum::Value Ifc4x3_rc2::IfcChimneyType::PredefinedType() const { return ::Ifc4x3_rc2::IfcChimneyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcChimneyType::setPredefinedType(::Ifc4x3_rc2::IfcChimneyTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcChimneyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcChimneyType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[169]); } const IfcParse::entity& Ifc4x3_rc2::IfcChimneyType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[169]); } Ifc4x3_rc2::IfcChimneyType::IfcChimneyType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc2::IfcChimneyType::IfcChimneyType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcChimneyTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcChimneyType::IfcChimneyType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcChimneyTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCircle -double Ifc4x3_rc2::IfcCircle::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc2::IfcCircle::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcCircle::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcCircle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[171]); } const IfcParse::entity& Ifc4x3_rc2::IfcCircle::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[171]); } Ifc4x3_rc2::IfcCircle::IfcCircle(IfcEntityInstanceData&& e) : IfcConic(std::move(e)) { } -Ifc4x3_rc2::IfcCircle::IfcCircle(::Ifc4x3_rc2::IfcAxis2Placement* v1_Position, double v2_Radius) : IfcConic(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x3_rc2::IfcCircle::IfcCircle(::Ifc4x3_rc2::IfcAxis2Placement* v1_Position, double v2_Radius) : IfcConic(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcCircleHollowProfileDef -double Ifc4x3_rc2::IfcCircleHollowProfileDef::WallThickness() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc2::IfcCircleHollowProfileDef::WallThickness() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcCircleHollowProfileDef::setWallThickness(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc2::IfcCircleHollowProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[172]); } const IfcParse::entity& Ifc4x3_rc2::IfcCircleHollowProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[172]); } Ifc4x3_rc2::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(IfcEntityInstanceData&& e) : IfcCircleProfileDef(std::move(e)) { } -Ifc4x3_rc2::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D* v3_Position, double v4_Radius, double v5_WallThickness) : IfcCircleProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; populate_derived(); } +Ifc4x3_rc2::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D* v3_Position, double v4_Radius, double v5_WallThickness) : IfcCircleProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; populate_derived(); } // Function implementations for IfcCircleProfileDef -double Ifc4x3_rc2::IfcCircleProfileDef::Radius() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc2::IfcCircleProfileDef::Radius() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcCircleProfileDef::setRadius(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcCircleProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[173]); } const IfcParse::entity& Ifc4x3_rc2::IfcCircleProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[173]); } Ifc4x3_rc2::IfcCircleProfileDef::IfcCircleProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_rc2::IfcCircleProfileDef::IfcCircleProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D* v3_Position, double v4_Radius) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));; populate_derived(); } +Ifc4x3_rc2::IfcCircleProfileDef::IfcCircleProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D* v3_Position, double v4_Radius) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));; populate_derived(); } // Function implementations for IfcCircularArcSegment2D -double Ifc4x3_rc2::IfcCircularArcSegment2D::Radius() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc2::IfcCircularArcSegment2D::Radius() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcCircularArcSegment2D::setRadius(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -bool Ifc4x3_rc2::IfcCircularArcSegment2D::IsCCW() const { bool v = data_.get_attribute_value(4); return v; } +bool Ifc4x3_rc2::IfcCircularArcSegment2D::IsCCW() const { bool v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcCircularArcSegment2D::setIsCCW(bool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc2::IfcCircularArcSegment2D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[174]); } const IfcParse::entity& Ifc4x3_rc2::IfcCircularArcSegment2D::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[174]); } Ifc4x3_rc2::IfcCircularArcSegment2D::IfcCircularArcSegment2D(IfcEntityInstanceData&& e) : IfcCurveSegment2D(std::move(e)) { } -Ifc4x3_rc2::IfcCircularArcSegment2D::IfcCircularArcSegment2D(::Ifc4x3_rc2::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, double v4_Radius, bool v5_IsCCW) : IfcCurveSegment2D(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_StartPoint ? v1_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_IsCCW));; populate_derived(); } +Ifc4x3_rc2::IfcCircularArcSegment2D::IfcCircularArcSegment2D(::Ifc4x3_rc2::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, double v4_Radius, bool v5_IsCCW) : IfcCurveSegment2D(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_StartPoint ? v1_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_IsCCW));; populate_derived(); } // Function implementations for IfcCivilElement @@ -9125,7 +9125,7 @@ Ifc4x3_rc2::IfcCircularArcSegment2D::IfcCircularArcSegment2D(::Ifc4x3_rc2::IfcCa const IfcParse::entity& Ifc4x3_rc2::IfcCivilElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[175]); } const IfcParse::entity& Ifc4x3_rc2::IfcCivilElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[175]); } Ifc4x3_rc2::IfcCivilElement::IfcCivilElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc2::IfcCivilElement::IfcCivilElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc2::IfcCivilElement::IfcCivilElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcCivilElementType @@ -9133,22 +9133,22 @@ Ifc4x3_rc2::IfcCivilElement::IfcCivilElement(std::string v1_GlobalId, ::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc2::IfcCivilElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[176]); } const IfcParse::entity& Ifc4x3_rc2::IfcCivilElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[176]); } Ifc4x3_rc2::IfcCivilElementType::IfcCivilElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_rc2::IfcCivilElementType::IfcCivilElementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc2::IfcCivilElementType::IfcCivilElementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcClassification -boost::optional< std::string > Ifc4x3_rc2::IfcClassification::Source() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcClassification::Source() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcClassification::setSource(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc2::IfcClassification::Edition() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcClassification::Edition() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcClassification::setEdition(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc2::IfcClassification::EditionDate() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcClassification::EditionDate() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcClassification::setEditionDate(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::string Ifc4x3_rc2::IfcClassification::Name() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x3_rc2::IfcClassification::Name() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcClassification::setName(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc2::IfcClassification::Description() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcClassification::Description() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcClassification::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc2::IfcClassification::Location() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcClassification::Location() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcClassification::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcClassification::ReferenceTokens() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(6); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcClassification::ReferenceTokens() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcClassification::setReferenceTokens(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_rc2::IfcRelAssociatesClassification::list::ptr Ifc4x3_rc2::IfcClassification::ClassificationForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[928], 5)->as(); } @@ -9157,14 +9157,14 @@ void Ifc4x3_rc2::IfcClassification::setReferenceTokens(boost::optional< std::vec const IfcParse::entity& Ifc4x3_rc2::IfcClassification::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[177]); } const IfcParse::entity& Ifc4x3_rc2::IfcClassification::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[177]); } Ifc4x3_rc2::IfcClassification::IfcClassification(IfcEntityInstanceData&& e) : IfcExternalInformation(std::move(e)) { } -Ifc4x3_rc2::IfcClassification::IfcClassification(boost::optional< std::string > v1_Source, boost::optional< std::string > v2_Edition, boost::optional< std::string > v3_EditionDate, std::string v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Location, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) : IfcExternalInformation(IfcEntityInstanceData(storage_t(7))) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Location) {set_attribute_value(5, (*v6_Location)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); }; populate_derived(); } +Ifc4x3_rc2::IfcClassification::IfcClassification(boost::optional< std::string > v1_Source, boost::optional< std::string > v2_Edition, boost::optional< std::string > v3_EditionDate, std::string v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Location, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) : IfcExternalInformation(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Location) {set_attribute_value(5, (*v6_Location)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); }; populate_derived(); } // Function implementations for IfcClassificationReference -::Ifc4x3_rc2::IfcClassificationReferenceSelect* Ifc4x3_rc2::IfcClassificationReference::ReferencedSource() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcClassificationReferenceSelect>(true); } +::Ifc4x3_rc2::IfcClassificationReferenceSelect* Ifc4x3_rc2::IfcClassificationReference::ReferencedSource() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcClassificationReferenceSelect>(true); } void Ifc4x3_rc2::IfcClassificationReference::setReferencedSource(::Ifc4x3_rc2::IfcClassificationReferenceSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc2::IfcClassificationReference::Description() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcClassificationReference::Description() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcClassificationReference::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc2::IfcClassificationReference::Sort() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcClassificationReference::Sort() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcClassificationReference::setSort(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x3_rc2::IfcRelAssociatesClassification::list::ptr Ifc4x3_rc2::IfcClassificationReference::ClassificationRefForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[928], 5)->as(); } @@ -9173,7 +9173,7 @@ void Ifc4x3_rc2::IfcClassificationReference::setSort(boost::optional< std::strin const IfcParse::entity& Ifc4x3_rc2::IfcClassificationReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[178]); } const IfcParse::entity& Ifc4x3_rc2::IfcClassificationReference::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[178]); } Ifc4x3_rc2::IfcClassificationReference::IfcClassificationReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_rc2::IfcClassificationReference::IfcClassificationReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, ::Ifc4x3_rc2::IfcClassificationReferenceSelect* v4_ReferencedSource, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Sort) : IfcExternalReference(IfcEntityInstanceData(storage_t(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, v4_ReferencedSource ? v4_ReferencedSource->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); }; populate_derived(); } +Ifc4x3_rc2::IfcClassificationReference::IfcClassificationReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, ::Ifc4x3_rc2::IfcClassificationReferenceSelect* v4_ReferencedSource, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Sort) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, v4_ReferencedSource ? v4_ReferencedSource->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); }; populate_derived(); } // Function implementations for IfcClosedShell @@ -9181,83 +9181,83 @@ Ifc4x3_rc2::IfcClassificationReference::IfcClassificationReference(boost::option const IfcParse::entity& Ifc4x3_rc2::IfcClosedShell::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[181]); } const IfcParse::entity& Ifc4x3_rc2::IfcClosedShell::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[181]); } Ifc4x3_rc2::IfcClosedShell::IfcClosedShell(IfcEntityInstanceData&& e) : IfcConnectedFaceSet(std::move(e)) { } -Ifc4x3_rc2::IfcClosedShell::IfcClosedShell(aggregate_of< ::Ifc4x3_rc2::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcClosedShell::IfcClosedShell(aggregate_of< ::Ifc4x3_rc2::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcClothoid -::Ifc4x3_rc2::IfcAxis2Placement* Ifc4x3_rc2::IfcClothoid::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcAxis2Placement>(true); } +::Ifc4x3_rc2::IfcAxis2Placement* Ifc4x3_rc2::IfcClothoid::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcAxis2Placement>(true); } void Ifc4x3_rc2::IfcClothoid::setPosition(::Ifc4x3_rc2::IfcAxis2Placement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc2::IfcClothoid::ClothoidConstant() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc2::IfcClothoid::ClothoidConstant() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcClothoid::setClothoidConstant(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcClothoid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[182]); } const IfcParse::entity& Ifc4x3_rc2::IfcClothoid::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[182]); } Ifc4x3_rc2::IfcClothoid::IfcClothoid(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_rc2::IfcClothoid::IfcClothoid(::Ifc4x3_rc2::IfcAxis2Placement* v1_Position, double v2_ClothoidConstant) : IfcCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_ClothoidConstant));; populate_derived(); } +Ifc4x3_rc2::IfcClothoid::IfcClothoid(::Ifc4x3_rc2::IfcAxis2Placement* v1_Position, double v2_ClothoidConstant) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_ClothoidConstant));; populate_derived(); } // Function implementations for IfcCoil -boost::optional< ::Ifc4x3_rc2::IfcCoilTypeEnum::Value > Ifc4x3_rc2::IfcCoil::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCoilTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcCoilTypeEnum::Value > Ifc4x3_rc2::IfcCoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCoilTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcCoil::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCoilTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcCoilTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcCoil::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[183]); } const IfcParse::entity& Ifc4x3_rc2::IfcCoil::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[183]); } Ifc4x3_rc2::IfcCoil::IfcCoil(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc2::IfcCoil::IfcCoil(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcCoilTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcCoil::IfcCoil(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcCoilTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCoilType -::Ifc4x3_rc2::IfcCoilTypeEnum::Value Ifc4x3_rc2::IfcCoilType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCoilTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcCoilTypeEnum::Value Ifc4x3_rc2::IfcCoilType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCoilTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcCoilType::setPredefinedType(::Ifc4x3_rc2::IfcCoilTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcCoilTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcCoilType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[184]); } const IfcParse::entity& Ifc4x3_rc2::IfcCoilType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[184]); } Ifc4x3_rc2::IfcCoilType::IfcCoilType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc2::IfcCoilType::IfcCoilType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCoilTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcCoilType::IfcCoilType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCoilTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcColourRgb -double Ifc4x3_rc2::IfcColourRgb::Red() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc2::IfcColourRgb::Red() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcColourRgb::setRed(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc2::IfcColourRgb::Green() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc2::IfcColourRgb::Green() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcColourRgb::setGreen(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc2::IfcColourRgb::Blue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc2::IfcColourRgb::Blue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcColourRgb::setBlue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcColourRgb::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[188]); } const IfcParse::entity& Ifc4x3_rc2::IfcColourRgb::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[188]); } Ifc4x3_rc2::IfcColourRgb::IfcColourRgb(IfcEntityInstanceData&& e) : IfcColourSpecification(std::move(e)) { } -Ifc4x3_rc2::IfcColourRgb::IfcColourRgb(boost::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) : IfcColourSpecification(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; populate_derived(); } +Ifc4x3_rc2::IfcColourRgb::IfcColourRgb(boost::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) : IfcColourSpecification(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; populate_derived(); } // Function implementations for IfcColourRgbList -std::vector< std::vector< double > > Ifc4x3_rc2::IfcColourRgbList::ColourList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x3_rc2::IfcColourRgbList::ColourList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcColourRgbList::setColourList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc2::IfcColourRgbList::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[189]); } const IfcParse::entity& Ifc4x3_rc2::IfcColourRgbList::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[189]); } Ifc4x3_rc2::IfcColourRgbList::IfcColourRgbList(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcColourRgbList::IfcColourRgbList(std::vector< std::vector< double > > v1_ColourList) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_ColourList));; populate_derived(); } +Ifc4x3_rc2::IfcColourRgbList::IfcColourRgbList(std::vector< std::vector< double > > v1_ColourList) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_ColourList));; populate_derived(); } // Function implementations for IfcColourSpecification -boost::optional< std::string > Ifc4x3_rc2::IfcColourSpecification::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcColourSpecification::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcColourSpecification::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3_rc2::IfcColourSpecification::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[190]); } const IfcParse::entity& Ifc4x3_rc2::IfcColourSpecification::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[190]); } Ifc4x3_rc2::IfcColourSpecification::IfcColourSpecification(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcColourSpecification::IfcColourSpecification(boost::optional< std::string > v1_Name) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_rc2::IfcColourSpecification::IfcColourSpecification(boost::optional< std::string > v1_Name) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcColumn -boost::optional< ::Ifc4x3_rc2::IfcColumnTypeEnum::Value > Ifc4x3_rc2::IfcColumn::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcColumnTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcColumnTypeEnum::Value > Ifc4x3_rc2::IfcColumn::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcColumnTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcColumn::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcColumnTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcColumnTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcColumn::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[191]); } const IfcParse::entity& Ifc4x3_rc2::IfcColumn::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[191]); } Ifc4x3_rc2::IfcColumn::IfcColumn(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc2::IfcColumn::IfcColumn(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcColumnTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcColumn::IfcColumn(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcColumnTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcColumnStandardCase @@ -9265,75 +9265,75 @@ Ifc4x3_rc2::IfcColumn::IfcColumn(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwner const IfcParse::entity& Ifc4x3_rc2::IfcColumnStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[192]); } const IfcParse::entity& Ifc4x3_rc2::IfcColumnStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[192]); } Ifc4x3_rc2::IfcColumnStandardCase::IfcColumnStandardCase(IfcEntityInstanceData&& e) : IfcColumn(std::move(e)) { } -Ifc4x3_rc2::IfcColumnStandardCase::IfcColumnStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcColumnTypeEnum::Value > v9_PredefinedType) : IfcColumn(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcColumnStandardCase::IfcColumnStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcColumnTypeEnum::Value > v9_PredefinedType) : IfcColumn(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcColumnType -::Ifc4x3_rc2::IfcColumnTypeEnum::Value Ifc4x3_rc2::IfcColumnType::PredefinedType() const { return ::Ifc4x3_rc2::IfcColumnTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcColumnTypeEnum::Value Ifc4x3_rc2::IfcColumnType::PredefinedType() const { return ::Ifc4x3_rc2::IfcColumnTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcColumnType::setPredefinedType(::Ifc4x3_rc2::IfcColumnTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcColumnTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcColumnType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[193]); } const IfcParse::entity& Ifc4x3_rc2::IfcColumnType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[193]); } Ifc4x3_rc2::IfcColumnType::IfcColumnType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc2::IfcColumnType::IfcColumnType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcColumnTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcColumnType::IfcColumnType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcColumnTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCommunicationsAppliance -boost::optional< ::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x3_rc2::IfcCommunicationsAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x3_rc2::IfcCommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcCommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcCommunicationsAppliance::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[195]); } const IfcParse::entity& Ifc4x3_rc2::IfcCommunicationsAppliance::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[195]); } Ifc4x3_rc2::IfcCommunicationsAppliance::IfcCommunicationsAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc2::IfcCommunicationsAppliance::IfcCommunicationsAppliance(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcCommunicationsAppliance::IfcCommunicationsAppliance(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCommunicationsApplianceType -::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3_rc2::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3_rc2::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcCommunicationsApplianceType::setPredefinedType(::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcCommunicationsApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[196]); } const IfcParse::entity& Ifc4x3_rc2::IfcCommunicationsApplianceType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[196]); } Ifc4x3_rc2::IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc2::IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcComplexProperty -std::string Ifc4x3_rc2::IfcComplexProperty::UsageName() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3_rc2::IfcComplexProperty::UsageName() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcComplexProperty::setUsageName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_rc2::IfcProperty >::ptr Ifc4x3_rc2::IfcComplexProperty::HasProperties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc2::IfcProperty >(); } +aggregate_of< ::Ifc4x3_rc2::IfcProperty >::ptr Ifc4x3_rc2::IfcComplexProperty::HasProperties() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc2::IfcProperty >(); } void Ifc4x3_rc2::IfcComplexProperty::setHasProperties(aggregate_of< ::Ifc4x3_rc2::IfcProperty >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcComplexProperty::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[199]); } const IfcParse::entity& Ifc4x3_rc2::IfcComplexProperty::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[199]); } Ifc4x3_rc2::IfcComplexProperty::IfcComplexProperty(IfcEntityInstanceData&& e) : IfcProperty(std::move(e)) { } -Ifc4x3_rc2::IfcComplexProperty::IfcComplexProperty(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_UsageName, aggregate_of< ::Ifc4x3_rc2::IfcProperty >::ptr v4_HasProperties) : IfcProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, (v4_HasProperties)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcComplexProperty::IfcComplexProperty(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_UsageName, aggregate_of< ::Ifc4x3_rc2::IfcProperty >::ptr v4_HasProperties) : IfcProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, (v4_HasProperties)->generalize());; populate_derived(); } // Function implementations for IfcComplexPropertyTemplate -boost::optional< std::string > Ifc4x3_rc2::IfcComplexPropertyTemplate::UsageName() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcComplexPropertyTemplate::UsageName() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcComplexPropertyTemplate::setUsageName(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< ::Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4x3_rc2::IfcComplexPropertyTemplate::TemplateType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4x3_rc2::IfcComplexPropertyTemplate::TemplateType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc2::IfcComplexPropertyTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertyTemplate >::ptr > Ifc4x3_rc2::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3_rc2::IfcPropertyTemplate >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertyTemplate >::ptr > Ifc4x3_rc2::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3_rc2::IfcPropertyTemplate >(); } void Ifc4x3_rc2::IfcComplexPropertyTemplate::setHasPropertyTemplates(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertyTemplate >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc2::IfcComplexPropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[200]); } const IfcParse::entity& Ifc4x3_rc2::IfcComplexPropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[200]); } Ifc4x3_rc2::IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplate(std::move(e)) { } -Ifc4x3_rc2::IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_UsageName, boost::optional< ::Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertyTemplate >::ptr > v7_HasPropertyTemplates) : IfcPropertyTemplate(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, (*v7_HasPropertyTemplates)->generalize()); }; populate_derived(); } +Ifc4x3_rc2::IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_UsageName, boost::optional< ::Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertyTemplate >::ptr > v7_HasPropertyTemplates) : IfcPropertyTemplate(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, (*v7_HasPropertyTemplates)->generalize()); }; populate_derived(); } // Function implementations for IfcCompositeCurve -aggregate_of< ::Ifc4x3_rc2::IfcSegment >::ptr Ifc4x3_rc2::IfcCompositeCurve::Segments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcSegment >(); } +aggregate_of< ::Ifc4x3_rc2::IfcSegment >::ptr Ifc4x3_rc2::IfcCompositeCurve::Segments() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcSegment >(); } void Ifc4x3_rc2::IfcCompositeCurve::setSegments(aggregate_of< ::Ifc4x3_rc2::IfcSegment >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::logic::tribool Ifc4x3_rc2::IfcCompositeCurve::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(1); return v; } +boost::logic::tribool Ifc4x3_rc2::IfcCompositeCurve::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcCompositeCurve::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcCompositeCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[202]); } const IfcParse::entity& Ifc4x3_rc2::IfcCompositeCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[202]); } Ifc4x3_rc2::IfcCompositeCurve::IfcCompositeCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_rc2::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc4x3_rc2::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x3_rc2::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc4x3_rc2::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcCompositeCurveOnSurface @@ -9341,12 +9341,12 @@ Ifc4x3_rc2::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc4x3_rc2::Ifc const IfcParse::entity& Ifc4x3_rc2::IfcCompositeCurveOnSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[203]); } const IfcParse::entity& Ifc4x3_rc2::IfcCompositeCurveOnSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[203]); } Ifc4x3_rc2::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(IfcEntityInstanceData&& e) : IfcCompositeCurve(std::move(e)) { } -Ifc4x3_rc2::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(aggregate_of< ::Ifc4x3_rc2::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x3_rc2::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(aggregate_of< ::Ifc4x3_rc2::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcCompositeCurveSegment -bool Ifc4x3_rc2::IfcCompositeCurveSegment::SameSense() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x3_rc2::IfcCompositeCurveSegment::SameSense() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcCompositeCurveSegment::setSameSense(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcCurve>(true); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcCompositeCurveSegment::setParentCurve(::Ifc4x3_rc2::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } ::Ifc4x3_rc2::IfcCompositeCurve::list::ptr Ifc4x3_rc2::IfcCompositeCurveSegment::UsingCurves() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[202], 0)->as(); } @@ -9354,91 +9354,91 @@ void Ifc4x3_rc2::IfcCompositeCurveSegment::setParentCurve(::Ifc4x3_rc2::IfcCurve const IfcParse::entity& Ifc4x3_rc2::IfcCompositeCurveSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[204]); } const IfcParse::entity& Ifc4x3_rc2::IfcCompositeCurveSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[204]); } Ifc4x3_rc2::IfcCompositeCurveSegment::IfcCompositeCurveSegment(IfcEntityInstanceData&& e) : IfcSegment(std::move(e)) { } -Ifc4x3_rc2::IfcCompositeCurveSegment::IfcCompositeCurveSegment(::Ifc4x3_rc2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc2::IfcCurve* v3_ParentCurve) : IfcSegment(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcCompositeCurveSegment::IfcCompositeCurveSegment(::Ifc4x3_rc2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc2::IfcCurve* v3_ParentCurve) : IfcSegment(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCompositeProfileDef -aggregate_of< ::Ifc4x3_rc2::IfcProfileDef >::ptr Ifc4x3_rc2::IfcCompositeProfileDef::Profiles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcProfileDef >(); } +aggregate_of< ::Ifc4x3_rc2::IfcProfileDef >::ptr Ifc4x3_rc2::IfcCompositeProfileDef::Profiles() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcProfileDef >(); } void Ifc4x3_rc2::IfcCompositeProfileDef::setProfiles(aggregate_of< ::Ifc4x3_rc2::IfcProfileDef >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x3_rc2::IfcCompositeProfileDef::Label() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcCompositeProfileDef::Label() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcCompositeProfileDef::setLabel(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc2::IfcCompositeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[205]); } const IfcParse::entity& Ifc4x3_rc2::IfcCompositeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[205]); } Ifc4x3_rc2::IfcCompositeProfileDef::IfcCompositeProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_rc2::IfcCompositeProfileDef::IfcCompositeProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, aggregate_of< ::Ifc4x3_rc2::IfcProfileDef >::ptr v3_Profiles, boost::optional< std::string > v4_Label) : IfcProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Profiles)->generalize()); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; populate_derived(); } +Ifc4x3_rc2::IfcCompositeProfileDef::IfcCompositeProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, aggregate_of< ::Ifc4x3_rc2::IfcProfileDef >::ptr v3_Profiles, boost::optional< std::string > v4_Label) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Profiles)->generalize()); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; populate_derived(); } // Function implementations for IfcCompressor -boost::optional< ::Ifc4x3_rc2::IfcCompressorTypeEnum::Value > Ifc4x3_rc2::IfcCompressor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCompressorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcCompressorTypeEnum::Value > Ifc4x3_rc2::IfcCompressor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCompressorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcCompressor::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCompressorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcCompressorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcCompressor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[207]); } const IfcParse::entity& Ifc4x3_rc2::IfcCompressor::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[207]); } Ifc4x3_rc2::IfcCompressor::IfcCompressor(IfcEntityInstanceData&& e) : IfcFlowMovingDevice(std::move(e)) { } -Ifc4x3_rc2::IfcCompressor::IfcCompressor(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcCompressorTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcCompressor::IfcCompressor(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcCompressorTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCompressorType -::Ifc4x3_rc2::IfcCompressorTypeEnum::Value Ifc4x3_rc2::IfcCompressorType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCompressorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcCompressorTypeEnum::Value Ifc4x3_rc2::IfcCompressorType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCompressorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcCompressorType::setPredefinedType(::Ifc4x3_rc2::IfcCompressorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcCompressorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcCompressorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[208]); } const IfcParse::entity& Ifc4x3_rc2::IfcCompressorType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[208]); } Ifc4x3_rc2::IfcCompressorType::IfcCompressorType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(e)) { } -Ifc4x3_rc2::IfcCompressorType::IfcCompressorType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCompressorTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcCompressorType::IfcCompressorType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCompressorTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCondenser -boost::optional< ::Ifc4x3_rc2::IfcCondenserTypeEnum::Value > Ifc4x3_rc2::IfcCondenser::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCondenserTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcCondenserTypeEnum::Value > Ifc4x3_rc2::IfcCondenser::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCondenserTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcCondenser::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCondenserTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcCondenserTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcCondenser::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[210]); } const IfcParse::entity& Ifc4x3_rc2::IfcCondenser::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[210]); } Ifc4x3_rc2::IfcCondenser::IfcCondenser(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc2::IfcCondenser::IfcCondenser(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcCondenserTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcCondenser::IfcCondenser(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcCondenserTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCondenserType -::Ifc4x3_rc2::IfcCondenserTypeEnum::Value Ifc4x3_rc2::IfcCondenserType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCondenserTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcCondenserTypeEnum::Value Ifc4x3_rc2::IfcCondenserType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCondenserTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcCondenserType::setPredefinedType(::Ifc4x3_rc2::IfcCondenserTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcCondenserTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcCondenserType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[211]); } const IfcParse::entity& Ifc4x3_rc2::IfcCondenserType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[211]); } Ifc4x3_rc2::IfcCondenserType::IfcCondenserType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc2::IfcCondenserType::IfcCondenserType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCondenserTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcCondenserType::IfcCondenserType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCondenserTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcConic -::Ifc4x3_rc2::IfcAxis2Placement* Ifc4x3_rc2::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcAxis2Placement>(true); } +::Ifc4x3_rc2::IfcAxis2Placement* Ifc4x3_rc2::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcAxis2Placement>(true); } void Ifc4x3_rc2::IfcConic::setPosition(::Ifc4x3_rc2::IfcAxis2Placement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc2::IfcConic::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[213]); } const IfcParse::entity& Ifc4x3_rc2::IfcConic::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[213]); } Ifc4x3_rc2::IfcConic::IfcConic(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_rc2::IfcConic::IfcConic(::Ifc4x3_rc2::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcConic::IfcConic(::Ifc4x3_rc2::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectedFaceSet -aggregate_of< ::Ifc4x3_rc2::IfcFace >::ptr Ifc4x3_rc2::IfcConnectedFaceSet::CfsFaces() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcFace >(); } +aggregate_of< ::Ifc4x3_rc2::IfcFace >::ptr Ifc4x3_rc2::IfcConnectedFaceSet::CfsFaces() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcFace >(); } void Ifc4x3_rc2::IfcConnectedFaceSet::setCfsFaces(aggregate_of< ::Ifc4x3_rc2::IfcFace >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc2::IfcConnectedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[214]); } const IfcParse::entity& Ifc4x3_rc2::IfcConnectedFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[214]); } Ifc4x3_rc2::IfcConnectedFaceSet::IfcConnectedFaceSet(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcConnectedFaceSet::IfcConnectedFaceSet(aggregate_of< ::Ifc4x3_rc2::IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcConnectedFaceSet::IfcConnectedFaceSet(aggregate_of< ::Ifc4x3_rc2::IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcConnectionCurveGeometry -::Ifc4x3_rc2::IfcCurveOrEdgeCurve* Ifc4x3_rc2::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCurveOrEdgeCurve>(true); } +::Ifc4x3_rc2::IfcCurveOrEdgeCurve* Ifc4x3_rc2::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCurveOrEdgeCurve>(true); } void Ifc4x3_rc2::IfcConnectionCurveGeometry::setCurveOnRelatingElement(::Ifc4x3_rc2::IfcCurveOrEdgeCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcCurveOrEdgeCurve* Ifc4x3_rc2::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcCurveOrEdgeCurve>(true); } +::Ifc4x3_rc2::IfcCurveOrEdgeCurve* Ifc4x3_rc2::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcCurveOrEdgeCurve>(true); } void Ifc4x3_rc2::IfcConnectionCurveGeometry::setCurveOnRelatedElement(::Ifc4x3_rc2::IfcCurveOrEdgeCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcConnectionCurveGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[215]); } const IfcParse::entity& Ifc4x3_rc2::IfcConnectionCurveGeometry::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[215]); } Ifc4x3_rc2::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x3_rc2::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc4x3_rc2::IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, ::Ifc4x3_rc2::IfcCurveOrEdgeCurve* v2_CurveOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_CurveOnRelatingElement ? v1_CurveOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_CurveOnRelatedElement ? v2_CurveOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc4x3_rc2::IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, ::Ifc4x3_rc2::IfcCurveOrEdgeCurve* v2_CurveOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_CurveOnRelatingElement ? v1_CurveOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_CurveOnRelatedElement ? v2_CurveOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionGeometry @@ -9446,72 +9446,72 @@ Ifc4x3_rc2::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc4x3_rc2: const IfcParse::entity& Ifc4x3_rc2::IfcConnectionGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[216]); } const IfcParse::entity& Ifc4x3_rc2::IfcConnectionGeometry::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[216]); } Ifc4x3_rc2::IfcConnectionGeometry::IfcConnectionGeometry(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc2::IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcConnectionPointEccentricity -boost::optional< double > Ifc4x3_rc2::IfcConnectionPointEccentricity::EccentricityInX() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc2::IfcConnectionPointEccentricity::EccentricityInX() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcConnectionPointEccentricity::setEccentricityInX(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc2::IfcConnectionPointEccentricity::EccentricityInY() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc2::IfcConnectionPointEccentricity::EccentricityInY() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcConnectionPointEccentricity::setEccentricityInY(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc2::IfcConnectionPointEccentricity::EccentricityInZ() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc2::IfcConnectionPointEccentricity::EccentricityInZ() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcConnectionPointEccentricity::setEccentricityInZ(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc2::IfcConnectionPointEccentricity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[217]); } const IfcParse::entity& Ifc4x3_rc2::IfcConnectionPointEccentricity::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[217]); } Ifc4x3_rc2::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcEntityInstanceData&& e) : IfcConnectionPointGeometry(std::move(e)) { } -Ifc4x3_rc2::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(::Ifc4x3_rc2::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3_rc2::IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; populate_derived(); } +Ifc4x3_rc2::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(::Ifc4x3_rc2::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3_rc2::IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; populate_derived(); } // Function implementations for IfcConnectionPointGeometry -::Ifc4x3_rc2::IfcPointOrVertexPoint* Ifc4x3_rc2::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcPointOrVertexPoint>(true); } +::Ifc4x3_rc2::IfcPointOrVertexPoint* Ifc4x3_rc2::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcPointOrVertexPoint>(true); } void Ifc4x3_rc2::IfcConnectionPointGeometry::setPointOnRelatingElement(::Ifc4x3_rc2::IfcPointOrVertexPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcPointOrVertexPoint* Ifc4x3_rc2::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcPointOrVertexPoint>(true); } +::Ifc4x3_rc2::IfcPointOrVertexPoint* Ifc4x3_rc2::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcPointOrVertexPoint>(true); } void Ifc4x3_rc2::IfcConnectionPointGeometry::setPointOnRelatedElement(::Ifc4x3_rc2::IfcPointOrVertexPoint* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcConnectionPointGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[218]); } const IfcParse::entity& Ifc4x3_rc2::IfcConnectionPointGeometry::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[218]); } Ifc4x3_rc2::IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x3_rc2::IfcConnectionPointGeometry::IfcConnectionPointGeometry(::Ifc4x3_rc2::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3_rc2::IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcConnectionPointGeometry::IfcConnectionPointGeometry(::Ifc4x3_rc2::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3_rc2::IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionSurfaceGeometry -::Ifc4x3_rc2::IfcSurfaceOrFaceSurface* Ifc4x3_rc2::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcSurfaceOrFaceSurface>(true); } +::Ifc4x3_rc2::IfcSurfaceOrFaceSurface* Ifc4x3_rc2::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcSurfaceOrFaceSurface>(true); } void Ifc4x3_rc2::IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(::Ifc4x3_rc2::IfcSurfaceOrFaceSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcSurfaceOrFaceSurface* Ifc4x3_rc2::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcSurfaceOrFaceSurface>(true); } +::Ifc4x3_rc2::IfcSurfaceOrFaceSurface* Ifc4x3_rc2::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcSurfaceOrFaceSurface>(true); } void Ifc4x3_rc2::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(::Ifc4x3_rc2::IfcSurfaceOrFaceSurface* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcConnectionSurfaceGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[219]); } const IfcParse::entity& Ifc4x3_rc2::IfcConnectionSurfaceGeometry::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[219]); } Ifc4x3_rc2::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x3_rc2::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(::Ifc4x3_rc2::IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, ::Ifc4x3_rc2::IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SurfaceOnRelatingElement ? v1_SurfaceOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_SurfaceOnRelatedElement ? v2_SurfaceOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(::Ifc4x3_rc2::IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, ::Ifc4x3_rc2::IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SurfaceOnRelatingElement ? v1_SurfaceOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_SurfaceOnRelatedElement ? v2_SurfaceOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionVolumeGeometry -::Ifc4x3_rc2::IfcSolidOrShell* Ifc4x3_rc2::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcSolidOrShell>(true); } +::Ifc4x3_rc2::IfcSolidOrShell* Ifc4x3_rc2::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcSolidOrShell>(true); } void Ifc4x3_rc2::IfcConnectionVolumeGeometry::setVolumeOnRelatingElement(::Ifc4x3_rc2::IfcSolidOrShell* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcSolidOrShell* Ifc4x3_rc2::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcSolidOrShell>(true); } +::Ifc4x3_rc2::IfcSolidOrShell* Ifc4x3_rc2::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcSolidOrShell>(true); } void Ifc4x3_rc2::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(::Ifc4x3_rc2::IfcSolidOrShell* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcConnectionVolumeGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[221]); } const IfcParse::entity& Ifc4x3_rc2::IfcConnectionVolumeGeometry::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[221]); } Ifc4x3_rc2::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x3_rc2::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(::Ifc4x3_rc2::IfcSolidOrShell* v1_VolumeOnRelatingElement, ::Ifc4x3_rc2::IfcSolidOrShell* v2_VolumeOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_VolumeOnRelatingElement ? v1_VolumeOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_VolumeOnRelatedElement ? v2_VolumeOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(::Ifc4x3_rc2::IfcSolidOrShell* v1_VolumeOnRelatingElement, ::Ifc4x3_rc2::IfcSolidOrShell* v2_VolumeOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_VolumeOnRelatingElement ? v1_VolumeOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_VolumeOnRelatedElement ? v2_VolumeOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConstraint -std::string Ifc4x3_rc2::IfcConstraint::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc2::IfcConstraint::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcConstraint::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc2::IfcConstraint::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcConstraint::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcConstraint::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc2::IfcConstraintEnum::Value Ifc4x3_rc2::IfcConstraint::ConstraintGrade() const { return ::Ifc4x3_rc2::IfcConstraintEnum::FromString(data_.get_attribute_value(2)); } +::Ifc4x3_rc2::IfcConstraintEnum::Value Ifc4x3_rc2::IfcConstraint::ConstraintGrade() const { return ::Ifc4x3_rc2::IfcConstraintEnum::FromString(get_attribute_value(2)); } void Ifc4x3_rc2::IfcConstraint::setConstraintGrade(::Ifc4x3_rc2::IfcConstraintEnum::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3_rc2::IfcConstraintEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x3_rc2::IfcConstraint::ConstraintSource() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcConstraint::ConstraintSource() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcConstraint::CreatingActor() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcActorSelect>(true); } +::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcConstraint::CreatingActor() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcActorSelect>(true); } void Ifc4x3_rc2::IfcConstraint::setCreatingActor(::Ifc4x3_rc2::IfcActorSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -boost::optional< std::string > Ifc4x3_rc2::IfcConstraint::CreationTime() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcConstraint::CreationTime() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcConstraint::setCreationTime(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc2::IfcConstraint::UserDefinedGrade() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcConstraint::UserDefinedGrade() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_rc2::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc2::IfcConstraint::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[441], 3)->as(); } @@ -9520,104 +9520,104 @@ void Ifc4x3_rc2::IfcConstraint::setUserDefinedGrade(boost::optional< std::string const IfcParse::entity& Ifc4x3_rc2::IfcConstraint::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[222]); } const IfcParse::entity& Ifc4x3_rc2::IfcConstraint::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[222]); } Ifc4x3_rc2::IfcConstraint::IfcConstraint(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc2::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; populate_derived(); } +Ifc4x3_rc2::IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc2::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; populate_derived(); } // Function implementations for IfcConstructionEquipmentResource -boost::optional< ::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x3_rc2::IfcConstructionEquipmentResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x3_rc2::IfcConstructionEquipmentResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc2::IfcConstructionEquipmentResource::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc2::IfcConstructionEquipmentResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[224]); } const IfcParse::entity& Ifc4x3_rc2::IfcConstructionEquipmentResource::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[224]); } Ifc4x3_rc2::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_rc2::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConstructionEquipmentResourceType -::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3_rc2::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3_rc2::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc2::IfcConstructionEquipmentResourceType::setPredefinedType(::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc2::IfcConstructionEquipmentResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[225]); } const IfcParse::entity& Ifc4x3_rc2::IfcConstructionEquipmentResourceType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[225]); } Ifc4x3_rc2::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_rc2::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcConstructionMaterialResource -boost::optional< ::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x3_rc2::IfcConstructionMaterialResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x3_rc2::IfcConstructionMaterialResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc2::IfcConstructionMaterialResource::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc2::IfcConstructionMaterialResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[227]); } const IfcParse::entity& Ifc4x3_rc2::IfcConstructionMaterialResource::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[227]); } Ifc4x3_rc2::IfcConstructionMaterialResource::IfcConstructionMaterialResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_rc2::IfcConstructionMaterialResource::IfcConstructionMaterialResource(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcConstructionMaterialResource::IfcConstructionMaterialResource(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConstructionMaterialResourceType -::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3_rc2::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3_rc2::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc2::IfcConstructionMaterialResourceType::setPredefinedType(::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc2::IfcConstructionMaterialResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[228]); } const IfcParse::entity& Ifc4x3_rc2::IfcConstructionMaterialResourceType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[228]); } Ifc4x3_rc2::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_rc2::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcConstructionProductResource -boost::optional< ::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Value > Ifc4x3_rc2::IfcConstructionProductResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Value > Ifc4x3_rc2::IfcConstructionProductResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc2::IfcConstructionProductResource::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc2::IfcConstructionProductResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[230]); } const IfcParse::entity& Ifc4x3_rc2::IfcConstructionProductResource::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[230]); } Ifc4x3_rc2::IfcConstructionProductResource::IfcConstructionProductResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_rc2::IfcConstructionProductResource::IfcConstructionProductResource(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcConstructionProductResource::IfcConstructionProductResource(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConstructionProductResourceType -::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Value Ifc4x3_rc2::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Value Ifc4x3_rc2::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc2::IfcConstructionProductResourceType::setPredefinedType(::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc2::IfcConstructionProductResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[231]); } const IfcParse::entity& Ifc4x3_rc2::IfcConstructionProductResourceType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[231]); } Ifc4x3_rc2::IfcConstructionProductResourceType::IfcConstructionProductResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_rc2::IfcConstructionProductResourceType::IfcConstructionProductResourceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcConstructionProductResourceType::IfcConstructionProductResourceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcConstructionResource -::Ifc4x3_rc2::IfcResourceTime* Ifc4x3_rc2::IfcConstructionResource::Usage() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc2::IfcResourceTime>(true); } +::Ifc4x3_rc2::IfcResourceTime* Ifc4x3_rc2::IfcConstructionResource::Usage() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc2::IfcResourceTime>(true); } void Ifc4x3_rc2::IfcConstructionResource::setUsage(::Ifc4x3_rc2::IfcResourceTime* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > Ifc4x3_rc2::IfcConstructionResource::BaseCosts() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_rc2::IfcAppliedValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > Ifc4x3_rc2::IfcConstructionResource::BaseCosts() const { if(get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_rc2::IfcAppliedValue >(); } void Ifc4x3_rc2::IfcConstructionResource::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v) { if (v) {set_attribute_value(8, (*v)->generalize());} else {unset_attribute_value(8);} } -::Ifc4x3_rc2::IfcPhysicalQuantity* Ifc4x3_rc2::IfcConstructionResource::BaseQuantity() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc2::IfcPhysicalQuantity>(true); } +::Ifc4x3_rc2::IfcPhysicalQuantity* Ifc4x3_rc2::IfcConstructionResource::BaseQuantity() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc2::IfcPhysicalQuantity>(true); } void Ifc4x3_rc2::IfcConstructionResource::setBaseQuantity(::Ifc4x3_rc2::IfcPhysicalQuantity* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcConstructionResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[233]); } const IfcParse::entity& Ifc4x3_rc2::IfcConstructionResource::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[233]); } Ifc4x3_rc2::IfcConstructionResource::IfcConstructionResource(IfcEntityInstanceData&& e) : IfcResource(std::move(e)) { } -Ifc4x3_rc2::IfcConstructionResource::IfcConstructionResource(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity* v10_BaseQuantity) : IfcResource(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcConstructionResource::IfcConstructionResource(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity* v10_BaseQuantity) : IfcResource(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConstructionResourceType -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > Ifc4x3_rc2::IfcConstructionResourceType::BaseCosts() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3_rc2::IfcAppliedValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > Ifc4x3_rc2::IfcConstructionResourceType::BaseCosts() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3_rc2::IfcAppliedValue >(); } void Ifc4x3_rc2::IfcConstructionResourceType::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -::Ifc4x3_rc2::IfcPhysicalQuantity* Ifc4x3_rc2::IfcConstructionResourceType::BaseQuantity() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_rc2::IfcPhysicalQuantity>(true); } +::Ifc4x3_rc2::IfcPhysicalQuantity* Ifc4x3_rc2::IfcConstructionResourceType::BaseQuantity() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_rc2::IfcPhysicalQuantity>(true); } void Ifc4x3_rc2::IfcConstructionResourceType::setBaseQuantity(::Ifc4x3_rc2::IfcPhysicalQuantity* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_rc2::IfcConstructionResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[234]); } const IfcParse::entity& Ifc4x3_rc2::IfcConstructionResourceType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[234]); } Ifc4x3_rc2::IfcConstructionResourceType::IfcConstructionResourceType(IfcEntityInstanceData&& e) : IfcTypeResource(std::move(e)) { } -Ifc4x3_rc2::IfcConstructionResourceType::IfcConstructionResourceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity* v11_BaseQuantity) : IfcTypeResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcConstructionResourceType::IfcConstructionResourceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity* v11_BaseQuantity) : IfcTypeResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcContext -boost::optional< std::string > Ifc4x3_rc2::IfcContext::ObjectType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcContext::ObjectType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcContext::setObjectType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc2::IfcContext::LongName() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcContext::LongName() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcContext::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc2::IfcContext::Phase() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcContext::Phase() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcContext::setPhase(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationContext >::ptr > Ifc4x3_rc2::IfcContext::RepresentationContexts() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc2::IfcRepresentationContext >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationContext >::ptr > Ifc4x3_rc2::IfcContext::RepresentationContexts() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc2::IfcRepresentationContext >(); } void Ifc4x3_rc2::IfcContext::setRepresentationContexts(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationContext >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -::Ifc4x3_rc2::IfcUnitAssignment* Ifc4x3_rc2::IfcContext::UnitsInContext() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc2::IfcUnitAssignment>(true); } +::Ifc4x3_rc2::IfcUnitAssignment* Ifc4x3_rc2::IfcContext::UnitsInContext() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc2::IfcUnitAssignment>(true); } void Ifc4x3_rc2::IfcContext::setUnitsInContext(::Ifc4x3_rc2::IfcUnitAssignment* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } ::Ifc4x3_rc2::IfcRelDefinesByProperties::list::ptr Ifc4x3_rc2::IfcContext::IsDefinedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[951], 4)->as(); } @@ -9626,10 +9626,10 @@ void Ifc4x3_rc2::IfcContext::setUnitsInContext(::Ifc4x3_rc2::IfcUnitAssignment* const IfcParse::entity& Ifc4x3_rc2::IfcContext::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[235]); } const IfcParse::entity& Ifc4x3_rc2::IfcContext::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[235]); } Ifc4x3_rc2::IfcContext::IfcContext(IfcEntityInstanceData&& e) : IfcObjectDefinition(std::move(e)) { } -Ifc4x3_rc2::IfcContext::IfcContext(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_rc2::IfcUnitAssignment* v9_UnitsInContext) : IfcObjectDefinition(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcContext::IfcContext(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_rc2::IfcUnitAssignment* v9_UnitsInContext) : IfcObjectDefinition(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcContextDependentUnit -std::string Ifc4x3_rc2::IfcContextDependentUnit::Name() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3_rc2::IfcContextDependentUnit::Name() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcContextDependentUnit::setName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } ::Ifc4x3_rc2::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc2::IfcContextDependentUnit::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[441], 3)->as(); } @@ -9637,10 +9637,10 @@ void Ifc4x3_rc2::IfcContextDependentUnit::setName(std::string v) { set_attribute const IfcParse::entity& Ifc4x3_rc2::IfcContextDependentUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[237]); } const IfcParse::entity& Ifc4x3_rc2::IfcContextDependentUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[237]); } Ifc4x3_rc2::IfcContextDependentUnit::IfcContextDependentUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -Ifc4x3_rc2::IfcContextDependentUnit::IfcContextDependentUnit(::Ifc4x3_rc2::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) : IfcNamedUnit(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; populate_derived(); } +Ifc4x3_rc2::IfcContextDependentUnit::IfcContextDependentUnit(::Ifc4x3_rc2::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) : IfcNamedUnit(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; populate_derived(); } // Function implementations for IfcControl -boost::optional< std::string > Ifc4x3_rc2::IfcControl::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcControl::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcControl::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x3_rc2::IfcRelAssignsToControl::list::ptr Ifc4x3_rc2::IfcControl::Controls() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[920], 6)->as(); } @@ -9648,32 +9648,32 @@ void Ifc4x3_rc2::IfcControl::setIdentification(boost::optional< std::string > v) const IfcParse::entity& Ifc4x3_rc2::IfcControl::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[238]); } const IfcParse::entity& Ifc4x3_rc2::IfcControl::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[238]); } Ifc4x3_rc2::IfcControl::IfcControl(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_rc2::IfcControl::IfcControl(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification) : IfcObject(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }; populate_derived(); } +Ifc4x3_rc2::IfcControl::IfcControl(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }; populate_derived(); } // Function implementations for IfcController -boost::optional< ::Ifc4x3_rc2::IfcControllerTypeEnum::Value > Ifc4x3_rc2::IfcController::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcControllerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcControllerTypeEnum::Value > Ifc4x3_rc2::IfcController::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcControllerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcController::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcControllerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcControllerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcController::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[239]); } const IfcParse::entity& Ifc4x3_rc2::IfcController::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[239]); } Ifc4x3_rc2::IfcController::IfcController(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_rc2::IfcController::IfcController(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcControllerTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcController::IfcController(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcControllerTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcControllerType -::Ifc4x3_rc2::IfcControllerTypeEnum::Value Ifc4x3_rc2::IfcControllerType::PredefinedType() const { return ::Ifc4x3_rc2::IfcControllerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcControllerTypeEnum::Value Ifc4x3_rc2::IfcControllerType::PredefinedType() const { return ::Ifc4x3_rc2::IfcControllerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcControllerType::setPredefinedType(::Ifc4x3_rc2::IfcControllerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcControllerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcControllerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[240]); } const IfcParse::entity& Ifc4x3_rc2::IfcControllerType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[240]); } Ifc4x3_rc2::IfcControllerType::IfcControllerType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_rc2::IfcControllerType::IfcControllerType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcControllerTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcControllerType::IfcControllerType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcControllerTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcConversionBasedUnit -std::string Ifc4x3_rc2::IfcConversionBasedUnit::Name() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3_rc2::IfcConversionBasedUnit::Name() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcConversionBasedUnit::setName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcMeasureWithUnit* Ifc4x3_rc2::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcMeasureWithUnit>(true); } +::Ifc4x3_rc2::IfcMeasureWithUnit* Ifc4x3_rc2::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcMeasureWithUnit>(true); } void Ifc4x3_rc2::IfcConversionBasedUnit::setConversionFactor(::Ifc4x3_rc2::IfcMeasureWithUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } ::Ifc4x3_rc2::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc2::IfcConversionBasedUnit::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[441], 3)->as(); } @@ -9681,98 +9681,98 @@ void Ifc4x3_rc2::IfcConversionBasedUnit::setConversionFactor(::Ifc4x3_rc2::IfcMe const IfcParse::entity& Ifc4x3_rc2::IfcConversionBasedUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[242]); } const IfcParse::entity& Ifc4x3_rc2::IfcConversionBasedUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[242]); } Ifc4x3_rc2::IfcConversionBasedUnit::IfcConversionBasedUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -Ifc4x3_rc2::IfcConversionBasedUnit::IfcConversionBasedUnit(::Ifc4x3_rc2::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc2::IfcMeasureWithUnit* v4_ConversionFactor) : IfcNamedUnit(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcConversionBasedUnit::IfcConversionBasedUnit(::Ifc4x3_rc2::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc2::IfcMeasureWithUnit* v4_ConversionFactor) : IfcNamedUnit(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConversionBasedUnitWithOffset -double Ifc4x3_rc2::IfcConversionBasedUnitWithOffset::ConversionOffset() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc2::IfcConversionBasedUnitWithOffset::ConversionOffset() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcConversionBasedUnitWithOffset::setConversionOffset(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc2::IfcConversionBasedUnitWithOffset::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[243]); } const IfcParse::entity& Ifc4x3_rc2::IfcConversionBasedUnitWithOffset::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[243]); } Ifc4x3_rc2::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(IfcEntityInstanceData&& e) : IfcConversionBasedUnit(std::move(e)) { } -Ifc4x3_rc2::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(::Ifc4x3_rc2::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc2::IfcMeasureWithUnit* v4_ConversionFactor, double v5_ConversionOffset) : IfcConversionBasedUnit(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ConversionOffset));; populate_derived(); } +Ifc4x3_rc2::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(::Ifc4x3_rc2::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc2::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc2::IfcMeasureWithUnit* v4_ConversionFactor, double v5_ConversionOffset) : IfcConversionBasedUnit(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ConversionOffset));; populate_derived(); } // Function implementations for IfcConveyorSegment -boost::optional< ::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value > Ifc4x3_rc2::IfcConveyorSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value > Ifc4x3_rc2::IfcConveyorSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcConveyorSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcConveyorSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[244]); } const IfcParse::entity& Ifc4x3_rc2::IfcConveyorSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[244]); } Ifc4x3_rc2::IfcConveyorSegment::IfcConveyorSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x3_rc2::IfcConveyorSegment::IfcConveyorSegment(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcConveyorSegment::IfcConveyorSegment(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConveyorSegmentType -::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value Ifc4x3_rc2::IfcConveyorSegmentType::PredefinedType() const { return ::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value Ifc4x3_rc2::IfcConveyorSegmentType::PredefinedType() const { return ::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcConveyorSegmentType::setPredefinedType(::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcConveyorSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[245]); } const IfcParse::entity& Ifc4x3_rc2::IfcConveyorSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[245]); } Ifc4x3_rc2::IfcConveyorSegmentType::IfcConveyorSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x3_rc2::IfcConveyorSegmentType::IfcConveyorSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcConveyorSegmentType::IfcConveyorSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCooledBeam -boost::optional< ::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value > Ifc4x3_rc2::IfcCooledBeam::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCooledBeamTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value > Ifc4x3_rc2::IfcCooledBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCooledBeamTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcCooledBeam::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcCooledBeam::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[247]); } const IfcParse::entity& Ifc4x3_rc2::IfcCooledBeam::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[247]); } Ifc4x3_rc2::IfcCooledBeam::IfcCooledBeam(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc2::IfcCooledBeam::IfcCooledBeam(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcCooledBeam::IfcCooledBeam(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCooledBeamType -::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value Ifc4x3_rc2::IfcCooledBeamType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCooledBeamTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value Ifc4x3_rc2::IfcCooledBeamType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCooledBeamTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcCooledBeamType::setPredefinedType(::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcCooledBeamType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[248]); } const IfcParse::entity& Ifc4x3_rc2::IfcCooledBeamType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[248]); } Ifc4x3_rc2::IfcCooledBeamType::IfcCooledBeamType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc2::IfcCooledBeamType::IfcCooledBeamType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcCooledBeamType::IfcCooledBeamType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCoolingTower -boost::optional< ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value > Ifc4x3_rc2::IfcCoolingTower::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value > Ifc4x3_rc2::IfcCoolingTower::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcCoolingTower::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcCoolingTower::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[250]); } const IfcParse::entity& Ifc4x3_rc2::IfcCoolingTower::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[250]); } Ifc4x3_rc2::IfcCoolingTower::IfcCoolingTower(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc2::IfcCoolingTower::IfcCoolingTower(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcCoolingTower::IfcCoolingTower(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCoolingTowerType -::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value Ifc4x3_rc2::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value Ifc4x3_rc2::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcCoolingTowerType::setPredefinedType(::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcCoolingTowerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[251]); } const IfcParse::entity& Ifc4x3_rc2::IfcCoolingTowerType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[251]); } Ifc4x3_rc2::IfcCoolingTowerType::IfcCoolingTowerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc2::IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCoordinateOperation -::Ifc4x3_rc2::IfcCoordinateReferenceSystemSelect* Ifc4x3_rc2::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCoordinateReferenceSystemSelect>(true); } +::Ifc4x3_rc2::IfcCoordinateReferenceSystemSelect* Ifc4x3_rc2::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCoordinateReferenceSystemSelect>(true); } void Ifc4x3_rc2::IfcCoordinateOperation::setSourceCRS(::Ifc4x3_rc2::IfcCoordinateReferenceSystemSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcCoordinateReferenceSystem* Ifc4x3_rc2::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcCoordinateReferenceSystem>(true); } +::Ifc4x3_rc2::IfcCoordinateReferenceSystem* Ifc4x3_rc2::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcCoordinateReferenceSystem>(true); } void Ifc4x3_rc2::IfcCoordinateOperation::setTargetCRS(::Ifc4x3_rc2::IfcCoordinateReferenceSystem* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcCoordinateOperation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[253]); } const IfcParse::entity& Ifc4x3_rc2::IfcCoordinateOperation::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[253]); } Ifc4x3_rc2::IfcCoordinateOperation::IfcCoordinateOperation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcCoordinateOperation::IfcCoordinateOperation(::Ifc4x3_rc2::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_rc2::IfcCoordinateReferenceSystem* v2_TargetCRS) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcCoordinateOperation::IfcCoordinateOperation(::Ifc4x3_rc2::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_rc2::IfcCoordinateReferenceSystem* v2_TargetCRS) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCoordinateReferenceSystem -std::string Ifc4x3_rc2::IfcCoordinateReferenceSystem::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc2::IfcCoordinateReferenceSystem::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcCoordinateReferenceSystem::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc2::IfcCoordinateReferenceSystem::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcCoordinateReferenceSystem::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcCoordinateReferenceSystem::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc2::IfcCoordinateReferenceSystem::GeodeticDatum() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcCoordinateReferenceSystem::GeodeticDatum() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcCoordinateReferenceSystem::setGeodeticDatum(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_rc2::IfcCoordinateReferenceSystem::VerticalDatum() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcCoordinateReferenceSystem::VerticalDatum() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcCoordinateReferenceSystem::setVerticalDatum(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } ::Ifc4x3_rc2::IfcCoordinateOperation::list::ptr Ifc4x3_rc2::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[253], 0)->as(); } @@ -9780,37 +9780,37 @@ void Ifc4x3_rc2::IfcCoordinateReferenceSystem::setVerticalDatum(boost::optional< const IfcParse::entity& Ifc4x3_rc2::IfcCoordinateReferenceSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[254]); } const IfcParse::entity& Ifc4x3_rc2::IfcCoordinateReferenceSystem::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[254]); } Ifc4x3_rc2::IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::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(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); }; populate_derived(); } +Ifc4x3_rc2::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(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); }; populate_derived(); } // Function implementations for IfcCostItem -boost::optional< ::Ifc4x3_rc2::IfcCostItemTypeEnum::Value > Ifc4x3_rc2::IfcCostItem::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCostItemTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_rc2::IfcCostItemTypeEnum::Value > Ifc4x3_rc2::IfcCostItem::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCostItemTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_rc2::IfcCostItem::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCostItemTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_rc2::IfcCostItemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcCostValue >::ptr > Ifc4x3_rc2::IfcCostItem::CostValues() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc2::IfcCostValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcCostValue >::ptr > Ifc4x3_rc2::IfcCostItem::CostValues() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc2::IfcCostValue >(); } void Ifc4x3_rc2::IfcCostItem::setCostValues(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcCostValue >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPhysicalQuantity >::ptr > Ifc4x3_rc2::IfcCostItem::CostQuantities() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_rc2::IfcPhysicalQuantity >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPhysicalQuantity >::ptr > Ifc4x3_rc2::IfcCostItem::CostQuantities() const { if(get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_rc2::IfcPhysicalQuantity >(); } void Ifc4x3_rc2::IfcCostItem::setCostQuantities(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPhysicalQuantity >::ptr > v) { if (v) {set_attribute_value(8, (*v)->generalize());} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcCostItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[256]); } const IfcParse::entity& Ifc4x3_rc2::IfcCostItem::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[256]); } Ifc4x3_rc2::IfcCostItem::IfcCostItem(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_rc2::IfcCostItem::IfcCostItem(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3_rc2::IfcCostItemTypeEnum::Value > v7_PredefinedType, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcCostValue >::ptr > v8_CostValues, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPhysicalQuantity >::ptr > v9_CostQuantities) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc2::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, (*v8_CostValues)->generalize()); } if (v9_CostQuantities) {set_attribute_value(8, (*v9_CostQuantities)->generalize()); }; populate_derived(); } +Ifc4x3_rc2::IfcCostItem::IfcCostItem(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3_rc2::IfcCostItemTypeEnum::Value > v7_PredefinedType, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcCostValue >::ptr > v8_CostValues, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPhysicalQuantity >::ptr > v9_CostQuantities) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc2::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, (*v8_CostValues)->generalize()); } if (v9_CostQuantities) {set_attribute_value(8, (*v9_CostQuantities)->generalize()); }; populate_derived(); } // Function implementations for IfcCostSchedule -boost::optional< ::Ifc4x3_rc2::IfcCostScheduleTypeEnum::Value > Ifc4x3_rc2::IfcCostSchedule::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCostScheduleTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_rc2::IfcCostScheduleTypeEnum::Value > Ifc4x3_rc2::IfcCostSchedule::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCostScheduleTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_rc2::IfcCostSchedule::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCostScheduleTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_rc2::IfcCostScheduleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc2::IfcCostSchedule::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcCostSchedule::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcCostSchedule::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc2::IfcCostSchedule::SubmittedOn() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcCostSchedule::SubmittedOn() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcCostSchedule::setSubmittedOn(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_rc2::IfcCostSchedule::UpdateDate() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcCostSchedule::UpdateDate() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc2::IfcCostSchedule::setUpdateDate(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc2::IfcCostSchedule::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[258]); } const IfcParse::entity& Ifc4x3_rc2::IfcCostSchedule::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[258]); } Ifc4x3_rc2::IfcCostSchedule::IfcCostSchedule(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_rc2::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3_rc2::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_SubmittedOn, boost::optional< std::string > v10_UpdateDate) : IfcControl(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc2::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); }; populate_derived(); } +Ifc4x3_rc2::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3_rc2::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_SubmittedOn, boost::optional< std::string > v10_UpdateDate) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc2::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); }; populate_derived(); } // Function implementations for IfcCostValue @@ -9818,30 +9818,30 @@ Ifc4x3_rc2::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc2::IfcCostValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[260]); } const IfcParse::entity& Ifc4x3_rc2::IfcCostValue::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[260]); } Ifc4x3_rc2::IfcCostValue::IfcCostValue(IfcEntityInstanceData&& e) : IfcAppliedValue(std::move(e)) { } -Ifc4x3_rc2::IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3_rc2::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_rc2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v10_Components) : IfcAppliedValue(IfcEntityInstanceData(storage_t(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } +Ifc4x3_rc2::IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3_rc2::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_rc2::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v10_Components) : IfcAppliedValue(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } // Function implementations for IfcCourse -boost::optional< ::Ifc4x3_rc2::IfcCourseTypeEnum::Value > Ifc4x3_rc2::IfcCourse::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCourseTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcCourseTypeEnum::Value > Ifc4x3_rc2::IfcCourse::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCourseTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcCourse::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCourseTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcCourseTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcCourse::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[262]); } const IfcParse::entity& Ifc4x3_rc2::IfcCourse::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[262]); } Ifc4x3_rc2::IfcCourse::IfcCourse(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc2::IfcCourse::IfcCourse(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcCourseTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcCourseTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcCourse::IfcCourse(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcCourseTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcCourseTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCourseType -::Ifc4x3_rc2::IfcCourseTypeEnum::Value Ifc4x3_rc2::IfcCourseType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCourseTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcCourseTypeEnum::Value Ifc4x3_rc2::IfcCourseType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCourseTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcCourseType::setPredefinedType(::Ifc4x3_rc2::IfcCourseTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcCourseTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcCourseType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[263]); } const IfcParse::entity& Ifc4x3_rc2::IfcCourseType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[263]); } Ifc4x3_rc2::IfcCourseType::IfcCourseType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc2::IfcCourseType::IfcCourseType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCourseTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcCourseTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcCourseType::IfcCourseType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCourseTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcCourseTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCovering -boost::optional< ::Ifc4x3_rc2::IfcCoveringTypeEnum::Value > Ifc4x3_rc2::IfcCovering::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCoveringTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcCoveringTypeEnum::Value > Ifc4x3_rc2::IfcCovering::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCoveringTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcCovering::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCoveringTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcCoveringTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x3_rc2::IfcRelCoversSpaces::list::ptr Ifc4x3_rc2::IfcCovering::CoversSpaces() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[946], 5)->as(); } @@ -9850,95 +9850,95 @@ void Ifc4x3_rc2::IfcCovering::setPredefinedType(boost::optional< ::Ifc4x3_rc2::I const IfcParse::entity& Ifc4x3_rc2::IfcCovering::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[265]); } const IfcParse::entity& Ifc4x3_rc2::IfcCovering::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[265]); } Ifc4x3_rc2::IfcCovering::IfcCovering(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc2::IfcCovering::IfcCovering(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcCoveringTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcCovering::IfcCovering(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcCoveringTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCoveringType -::Ifc4x3_rc2::IfcCoveringTypeEnum::Value Ifc4x3_rc2::IfcCoveringType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCoveringTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcCoveringTypeEnum::Value Ifc4x3_rc2::IfcCoveringType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCoveringTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcCoveringType::setPredefinedType(::Ifc4x3_rc2::IfcCoveringTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcCoveringTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcCoveringType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[266]); } const IfcParse::entity& Ifc4x3_rc2::IfcCoveringType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[266]); } Ifc4x3_rc2::IfcCoveringType::IfcCoveringType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc2::IfcCoveringType::IfcCoveringType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCoveringTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcCoveringType::IfcCoveringType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCoveringTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCrewResource -boost::optional< ::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Value > Ifc4x3_rc2::IfcCrewResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCrewResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Value > Ifc4x3_rc2::IfcCrewResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCrewResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc2::IfcCrewResource::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc2::IfcCrewResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[268]); } const IfcParse::entity& Ifc4x3_rc2::IfcCrewResource::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[268]); } Ifc4x3_rc2::IfcCrewResource::IfcCrewResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_rc2::IfcCrewResource::IfcCrewResource(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcCrewResource::IfcCrewResource(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCrewResourceType -::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Value Ifc4x3_rc2::IfcCrewResourceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCrewResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Value Ifc4x3_rc2::IfcCrewResourceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCrewResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc2::IfcCrewResourceType::setPredefinedType(::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc2::IfcCrewResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[269]); } const IfcParse::entity& Ifc4x3_rc2::IfcCrewResourceType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[269]); } Ifc4x3_rc2::IfcCrewResourceType::IfcCrewResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_rc2::IfcCrewResourceType::IfcCrewResourceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcCrewResourceType::IfcCrewResourceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc2::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcCsgPrimitive3D -::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(true); } void Ifc4x3_rc2::IfcCsgPrimitive3D::setPosition(::Ifc4x3_rc2::IfcAxis2Placement3D* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc2::IfcCsgPrimitive3D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[271]); } const IfcParse::entity& Ifc4x3_rc2::IfcCsgPrimitive3D::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[271]); } Ifc4x3_rc2::IfcCsgPrimitive3D::IfcCsgPrimitive3D(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcCsgPrimitive3D::IfcCsgPrimitive3D(::Ifc4x3_rc2::IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcCsgPrimitive3D::IfcCsgPrimitive3D(::Ifc4x3_rc2::IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCsgSolid -::Ifc4x3_rc2::IfcCsgSelect* Ifc4x3_rc2::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCsgSelect>(true); } +::Ifc4x3_rc2::IfcCsgSelect* Ifc4x3_rc2::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCsgSelect>(true); } void Ifc4x3_rc2::IfcCsgSolid::setTreeRootExpression(::Ifc4x3_rc2::IfcCsgSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc2::IfcCsgSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[273]); } const IfcParse::entity& Ifc4x3_rc2::IfcCsgSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[273]); } Ifc4x3_rc2::IfcCsgSolid::IfcCsgSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3_rc2::IfcCsgSolid::IfcCsgSolid(::Ifc4x3_rc2::IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_TreeRootExpression ? v1_TreeRootExpression->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcCsgSolid::IfcCsgSolid(::Ifc4x3_rc2::IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_TreeRootExpression ? v1_TreeRootExpression->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCurrencyRelationship -::Ifc4x3_rc2::IfcMonetaryUnit* Ifc4x3_rc2::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcMonetaryUnit>(true); } +::Ifc4x3_rc2::IfcMonetaryUnit* Ifc4x3_rc2::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcMonetaryUnit>(true); } void Ifc4x3_rc2::IfcCurrencyRelationship::setRelatingMonetaryUnit(::Ifc4x3_rc2::IfcMonetaryUnit* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcMonetaryUnit* Ifc4x3_rc2::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcMonetaryUnit>(true); } +::Ifc4x3_rc2::IfcMonetaryUnit* Ifc4x3_rc2::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcMonetaryUnit>(true); } void Ifc4x3_rc2::IfcCurrencyRelationship::setRelatedMonetaryUnit(::Ifc4x3_rc2::IfcMonetaryUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc2::IfcCurrencyRelationship::ExchangeRate() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc2::IfcCurrencyRelationship::ExchangeRate() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcCurrencyRelationship::setExchangeRate(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< std::string > Ifc4x3_rc2::IfcCurrencyRelationship::RateDateTime() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcCurrencyRelationship::RateDateTime() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcCurrencyRelationship::setRateDateTime(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc2::IfcLibraryInformation* Ifc4x3_rc2::IfcCurrencyRelationship::RateSource() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcLibraryInformation>(true); } +::Ifc4x3_rc2::IfcLibraryInformation* Ifc4x3_rc2::IfcCurrencyRelationship::RateSource() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcLibraryInformation>(true); } void Ifc4x3_rc2::IfcCurrencyRelationship::setRateSource(::Ifc4x3_rc2::IfcLibraryInformation* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc2::IfcCurrencyRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[275]); } const IfcParse::entity& Ifc4x3_rc2::IfcCurrencyRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[275]); } Ifc4x3_rc2::IfcCurrencyRelationship::IfcCurrencyRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_rc2::IfcCurrencyRelationship::IfcCurrencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcMonetaryUnit* v3_RelatingMonetaryUnit, ::Ifc4x3_rc2::IfcMonetaryUnit* v4_RelatedMonetaryUnit, double v5_ExchangeRate, boost::optional< std::string > v6_RateDateTime, ::Ifc4x3_rc2::IfcLibraryInformation* v7_RateSource) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMonetaryUnit ? v3_RelatingMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_RelatedMonetaryUnit ? v4_RelatedMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, v7_RateSource ? v7_RateSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcCurrencyRelationship::IfcCurrencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcMonetaryUnit* v3_RelatingMonetaryUnit, ::Ifc4x3_rc2::IfcMonetaryUnit* v4_RelatedMonetaryUnit, double v5_ExchangeRate, boost::optional< std::string > v6_RateDateTime, ::Ifc4x3_rc2::IfcLibraryInformation* v7_RateSource) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMonetaryUnit ? v3_RelatingMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_RelatedMonetaryUnit ? v4_RelatedMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, v7_RateSource ? v7_RateSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCurtainWall -boost::optional< ::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Value > Ifc4x3_rc2::IfcCurtainWall::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCurtainWallTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Value > Ifc4x3_rc2::IfcCurtainWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCurtainWallTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcCurtainWall::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcCurtainWall::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[276]); } const IfcParse::entity& Ifc4x3_rc2::IfcCurtainWall::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[276]); } Ifc4x3_rc2::IfcCurtainWall::IfcCurtainWall(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc2::IfcCurtainWall::IfcCurtainWall(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcCurtainWall::IfcCurtainWall(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCurtainWallType -::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Value Ifc4x3_rc2::IfcCurtainWallType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCurtainWallTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Value Ifc4x3_rc2::IfcCurtainWallType::PredefinedType() const { return ::Ifc4x3_rc2::IfcCurtainWallTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcCurtainWallType::setPredefinedType(::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcCurtainWallType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[277]); } const IfcParse::entity& Ifc4x3_rc2::IfcCurtainWallType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[277]); } Ifc4x3_rc2::IfcCurtainWallType::IfcCurtainWallType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc2::IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCurve @@ -9946,147 +9946,147 @@ Ifc4x3_rc2::IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x3_rc2::IfcCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[280]); } const IfcParse::entity& Ifc4x3_rc2::IfcCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[280]); } Ifc4x3_rc2::IfcCurve::IfcCurve(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcCurve::IfcCurve() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc2::IfcCurve::IfcCurve() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcCurveBoundedPlane -::Ifc4x3_rc2::IfcPlane* Ifc4x3_rc2::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcPlane>(true); } +::Ifc4x3_rc2::IfcPlane* Ifc4x3_rc2::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcPlane>(true); } void Ifc4x3_rc2::IfcCurveBoundedPlane::setBasisSurface(::Ifc4x3_rc2::IfcPlane* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcCurve>(true); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcCurveBoundedPlane::setOuterBoundary(::Ifc4x3_rc2::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3_rc2::IfcCurve >::ptr Ifc4x3_rc2::IfcCurveBoundedPlane::InnerBoundaries() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcCurve >(); } +aggregate_of< ::Ifc4x3_rc2::IfcCurve >::ptr Ifc4x3_rc2::IfcCurveBoundedPlane::InnerBoundaries() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcCurve >(); } void Ifc4x3_rc2::IfcCurveBoundedPlane::setInnerBoundaries(aggregate_of< ::Ifc4x3_rc2::IfcCurve >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcCurveBoundedPlane::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[281]); } const IfcParse::entity& Ifc4x3_rc2::IfcCurveBoundedPlane::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[281]); } Ifc4x3_rc2::IfcCurveBoundedPlane::IfcCurveBoundedPlane(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x3_rc2::IfcCurveBoundedPlane::IfcCurveBoundedPlane(::Ifc4x3_rc2::IfcPlane* v1_BasisSurface, ::Ifc4x3_rc2::IfcCurve* v2_OuterBoundary, aggregate_of< ::Ifc4x3_rc2::IfcCurve >::ptr v3_InnerBoundaries) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OuterBoundary ? v2_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_InnerBoundaries)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcCurveBoundedPlane::IfcCurveBoundedPlane(::Ifc4x3_rc2::IfcPlane* v1_BasisSurface, ::Ifc4x3_rc2::IfcCurve* v2_OuterBoundary, aggregate_of< ::Ifc4x3_rc2::IfcCurve >::ptr v3_InnerBoundaries) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OuterBoundary ? v2_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_InnerBoundaries)->generalize());; populate_derived(); } // Function implementations for IfcCurveBoundedSurface -::Ifc4x3_rc2::IfcSurface* Ifc4x3_rc2::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcSurface>(true); } +::Ifc4x3_rc2::IfcSurface* Ifc4x3_rc2::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcSurface>(true); } void Ifc4x3_rc2::IfcCurveBoundedSurface::setBasisSurface(::Ifc4x3_rc2::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc2::IfcBoundaryCurve >::ptr Ifc4x3_rc2::IfcCurveBoundedSurface::Boundaries() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcBoundaryCurve >(); } +aggregate_of< ::Ifc4x3_rc2::IfcBoundaryCurve >::ptr Ifc4x3_rc2::IfcCurveBoundedSurface::Boundaries() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcBoundaryCurve >(); } void Ifc4x3_rc2::IfcCurveBoundedSurface::setBoundaries(aggregate_of< ::Ifc4x3_rc2::IfcBoundaryCurve >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -bool Ifc4x3_rc2::IfcCurveBoundedSurface::ImplicitOuter() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x3_rc2::IfcCurveBoundedSurface::ImplicitOuter() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcCurveBoundedSurface::setImplicitOuter(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcCurveBoundedSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[282]); } const IfcParse::entity& Ifc4x3_rc2::IfcCurveBoundedSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[282]); } Ifc4x3_rc2::IfcCurveBoundedSurface::IfcCurveBoundedSurface(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x3_rc2::IfcCurveBoundedSurface::IfcCurveBoundedSurface(::Ifc4x3_rc2::IfcSurface* v1_BasisSurface, aggregate_of< ::Ifc4x3_rc2::IfcBoundaryCurve >::ptr v2_Boundaries, bool v3_ImplicitOuter) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Boundaries)->generalize());set_attribute_value(2, (v3_ImplicitOuter));; populate_derived(); } +Ifc4x3_rc2::IfcCurveBoundedSurface::IfcCurveBoundedSurface(::Ifc4x3_rc2::IfcSurface* v1_BasisSurface, aggregate_of< ::Ifc4x3_rc2::IfcBoundaryCurve >::ptr v2_Boundaries, bool v3_ImplicitOuter) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Boundaries)->generalize());set_attribute_value(2, (v3_ImplicitOuter));; populate_derived(); } // Function implementations for IfcCurveSegment -::Ifc4x3_rc2::IfcPlacement* Ifc4x3_rc2::IfcCurveSegment::StartPlacement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcPlacement>(true); } +::Ifc4x3_rc2::IfcPlacement* Ifc4x3_rc2::IfcCurveSegment::StartPlacement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcPlacement>(true); } void Ifc4x3_rc2::IfcCurveSegment::setStartPlacement(::Ifc4x3_rc2::IfcPlacement* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcCurveMeasureSelect* Ifc4x3_rc2::IfcCurveSegment::SegmentLength() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcCurveMeasureSelect>(true); } +::Ifc4x3_rc2::IfcCurveMeasureSelect* Ifc4x3_rc2::IfcCurveSegment::SegmentLength() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcCurveMeasureSelect>(true); } void Ifc4x3_rc2::IfcCurveSegment::setSegmentLength(::Ifc4x3_rc2::IfcCurveMeasureSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcCurve>(true); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcCurveSegment::setParentCurve(::Ifc4x3_rc2::IfcCurve* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcCurveSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[288]); } const IfcParse::entity& Ifc4x3_rc2::IfcCurveSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[288]); } Ifc4x3_rc2::IfcCurveSegment::IfcCurveSegment(IfcEntityInstanceData&& e) : IfcSegment(std::move(e)) { } -Ifc4x3_rc2::IfcCurveSegment::IfcCurveSegment(::Ifc4x3_rc2::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_rc2::IfcPlacement* v2_StartPlacement, ::Ifc4x3_rc2::IfcCurveMeasureSelect* v3_SegmentLength, ::Ifc4x3_rc2::IfcCurve* v4_ParentCurve) : IfcSegment(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, v2_StartPlacement ? v2_StartPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SegmentLength ? v3_SegmentLength->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_ParentCurve ? v4_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcCurveSegment::IfcCurveSegment(::Ifc4x3_rc2::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_rc2::IfcPlacement* v2_StartPlacement, ::Ifc4x3_rc2::IfcCurveMeasureSelect* v3_SegmentLength, ::Ifc4x3_rc2::IfcCurve* v4_ParentCurve) : IfcSegment(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, v2_StartPlacement ? v2_StartPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SegmentLength ? v3_SegmentLength->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_ParentCurve ? v4_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCurveSegment2D -::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcCurveSegment2D::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(true); } +::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcCurveSegment2D::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(true); } void Ifc4x3_rc2::IfcCurveSegment2D::setStartPoint(::Ifc4x3_rc2::IfcCartesianPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc2::IfcCurveSegment2D::StartDirection() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc2::IfcCurveSegment2D::StartDirection() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcCurveSegment2D::setStartDirection(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc2::IfcCurveSegment2D::SegmentLength() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc2::IfcCurveSegment2D::SegmentLength() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcCurveSegment2D::setSegmentLength(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcCurveSegment2D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[289]); } const IfcParse::entity& Ifc4x3_rc2::IfcCurveSegment2D::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[289]); } Ifc4x3_rc2::IfcCurveSegment2D::IfcCurveSegment2D(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_rc2::IfcCurveSegment2D::IfcCurveSegment2D(::Ifc4x3_rc2::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_StartPoint ? v1_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));; populate_derived(); } +Ifc4x3_rc2::IfcCurveSegment2D::IfcCurveSegment2D(::Ifc4x3_rc2::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_StartPoint ? v1_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));; populate_derived(); } // Function implementations for IfcCurveStyle -::Ifc4x3_rc2::IfcCurveFontOrScaledCurveFontSelect* Ifc4x3_rc2::IfcCurveStyle::CurveFont() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcCurveFontOrScaledCurveFontSelect>(true); } +::Ifc4x3_rc2::IfcCurveFontOrScaledCurveFontSelect* Ifc4x3_rc2::IfcCurveStyle::CurveFont() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcCurveFontOrScaledCurveFontSelect>(true); } void Ifc4x3_rc2::IfcCurveStyle::setCurveFont(::Ifc4x3_rc2::IfcCurveFontOrScaledCurveFontSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcSizeSelect* Ifc4x3_rc2::IfcCurveStyle::CurveWidth() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcSizeSelect>(true); } +::Ifc4x3_rc2::IfcSizeSelect* Ifc4x3_rc2::IfcCurveStyle::CurveWidth() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcSizeSelect>(true); } void Ifc4x3_rc2::IfcCurveStyle::setCurveWidth(::Ifc4x3_rc2::IfcSizeSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcColour* Ifc4x3_rc2::IfcCurveStyle::CurveColour() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcColour>(true); } +::Ifc4x3_rc2::IfcColour* Ifc4x3_rc2::IfcCurveStyle::CurveColour() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcColour>(true); } void Ifc4x3_rc2::IfcCurveStyle::setCurveColour(::Ifc4x3_rc2::IfcColour* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< bool > Ifc4x3_rc2::IfcCurveStyle::ModelOrDraughting() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } bool v = data_.get_attribute_value(4); return v; } +boost::optional< bool > Ifc4x3_rc2::IfcCurveStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return boost::none; } bool v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcCurveStyle::setModelOrDraughting(boost::optional< bool > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc2::IfcCurveStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[290]); } const IfcParse::entity& Ifc4x3_rc2::IfcCurveStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[290]); } Ifc4x3_rc2::IfcCurveStyle::IfcCurveStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x3_rc2::IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcCurveFontOrScaledCurveFontSelect* v2_CurveFont, ::Ifc4x3_rc2::IfcSizeSelect* v3_CurveWidth, ::Ifc4x3_rc2::IfcColour* v4_CurveColour, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CurveWidth ? v3_CurveWidth->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_CurveColour ? v4_CurveColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } +Ifc4x3_rc2::IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcCurveFontOrScaledCurveFontSelect* v2_CurveFont, ::Ifc4x3_rc2::IfcSizeSelect* v3_CurveWidth, ::Ifc4x3_rc2::IfcColour* v4_CurveColour, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CurveWidth ? v3_CurveWidth->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_CurveColour ? v4_CurveColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } // Function implementations for IfcCurveStyleFont -boost::optional< std::string > Ifc4x3_rc2::IfcCurveStyleFont::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcCurveStyleFont::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcCurveStyleFont::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -aggregate_of< ::Ifc4x3_rc2::IfcCurveStyleFontPattern >::ptr Ifc4x3_rc2::IfcCurveStyleFont::PatternList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcCurveStyleFontPattern >(); } +aggregate_of< ::Ifc4x3_rc2::IfcCurveStyleFontPattern >::ptr Ifc4x3_rc2::IfcCurveStyleFont::PatternList() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcCurveStyleFontPattern >(); } void Ifc4x3_rc2::IfcCurveStyleFont::setPatternList(aggregate_of< ::Ifc4x3_rc2::IfcCurveStyleFontPattern >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcCurveStyleFont::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[291]); } const IfcParse::entity& Ifc4x3_rc2::IfcCurveStyleFont::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[291]); } Ifc4x3_rc2::IfcCurveStyleFont::IfcCurveStyleFont(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc2::IfcCurveStyleFontPattern >::ptr v2_PatternList) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_PatternList)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc2::IfcCurveStyleFontPattern >::ptr v2_PatternList) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_PatternList)->generalize());; populate_derived(); } // Function implementations for IfcCurveStyleFontAndScaling -boost::optional< std::string > Ifc4x3_rc2::IfcCurveStyleFontAndScaling::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcCurveStyleFontAndScaling::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_rc2::IfcCurveStyleFontSelect* Ifc4x3_rc2::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcCurveStyleFontSelect>(true); } +::Ifc4x3_rc2::IfcCurveStyleFontSelect* Ifc4x3_rc2::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcCurveStyleFontSelect>(true); } void Ifc4x3_rc2::IfcCurveStyleFontAndScaling::setCurveFont(::Ifc4x3_rc2::IfcCurveStyleFontSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc2::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc2::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcCurveStyleFontAndScaling::setCurveFontScaling(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcCurveStyleFontAndScaling::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[292]); } const IfcParse::entity& Ifc4x3_rc2::IfcCurveStyleFontAndScaling::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[292]); } Ifc4x3_rc2::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcCurveStyleFontSelect* v2_CurveFont, double v3_CurveFontScaling) : IfcPresentationItem(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_CurveFontScaling));; populate_derived(); } +Ifc4x3_rc2::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcCurveStyleFontSelect* v2_CurveFont, double v3_CurveFontScaling) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_CurveFontScaling));; populate_derived(); } // Function implementations for IfcCurveStyleFontPattern -double Ifc4x3_rc2::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_rc2::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcCurveStyleFontPattern::setVisibleSegmentLength(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc2::IfcCurveStyleFontPattern::InvisibleSegmentLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc2::IfcCurveStyleFontPattern::InvisibleSegmentLength() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcCurveStyleFontPattern::setInvisibleSegmentLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcCurveStyleFontPattern::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[293]); } const IfcParse::entity& Ifc4x3_rc2::IfcCurveStyleFontPattern::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[293]); } Ifc4x3_rc2::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; populate_derived(); } +Ifc4x3_rc2::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; populate_derived(); } // Function implementations for IfcCylindricalSurface -double Ifc4x3_rc2::IfcCylindricalSurface::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc2::IfcCylindricalSurface::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcCylindricalSurface::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcCylindricalSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[295]); } const IfcParse::entity& Ifc4x3_rc2::IfcCylindricalSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[295]); } Ifc4x3_rc2::IfcCylindricalSurface::IfcCylindricalSurface(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x3_rc2::IfcCylindricalSurface::IfcCylindricalSurface(::Ifc4x3_rc2::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x3_rc2::IfcCylindricalSurface::IfcCylindricalSurface(::Ifc4x3_rc2::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcDamper -boost::optional< ::Ifc4x3_rc2::IfcDamperTypeEnum::Value > Ifc4x3_rc2::IfcDamper::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDamperTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcDamperTypeEnum::Value > Ifc4x3_rc2::IfcDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDamperTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcDamper::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDamperTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcDamperTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcDamper::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[296]); } const IfcParse::entity& Ifc4x3_rc2::IfcDamper::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[296]); } Ifc4x3_rc2::IfcDamper::IfcDamper(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_rc2::IfcDamper::IfcDamper(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcDamperTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcDamper::IfcDamper(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcDamperTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDamperType -::Ifc4x3_rc2::IfcDamperTypeEnum::Value Ifc4x3_rc2::IfcDamperType::PredefinedType() const { return ::Ifc4x3_rc2::IfcDamperTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcDamperTypeEnum::Value Ifc4x3_rc2::IfcDamperType::PredefinedType() const { return ::Ifc4x3_rc2::IfcDamperTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcDamperType::setPredefinedType(::Ifc4x3_rc2::IfcDamperTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcDamperTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcDamperType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[297]); } const IfcParse::entity& Ifc4x3_rc2::IfcDamperType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[297]); } Ifc4x3_rc2::IfcDamperType::IfcDamperType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_rc2::IfcDamperType::IfcDamperType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDamperTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcDamperType::IfcDamperType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDamperTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDeepFoundation @@ -10094,7 +10094,7 @@ Ifc4x3_rc2::IfcDamperType::IfcDamperType(std::string v1_GlobalId, ::Ifc4x3_rc2:: const IfcParse::entity& Ifc4x3_rc2::IfcDeepFoundation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[304]); } const IfcParse::entity& Ifc4x3_rc2::IfcDeepFoundation::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[304]); } Ifc4x3_rc2::IfcDeepFoundation::IfcDeepFoundation(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc2::IfcDeepFoundation::IfcDeepFoundation(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuiltElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc2::IfcDeepFoundation::IfcDeepFoundation(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDeepFoundationType @@ -10102,167 +10102,167 @@ Ifc4x3_rc2::IfcDeepFoundation::IfcDeepFoundation(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3_rc2::IfcDeepFoundationType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[305]); } const IfcParse::entity& Ifc4x3_rc2::IfcDeepFoundationType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[305]); } Ifc4x3_rc2::IfcDeepFoundationType::IfcDeepFoundationType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc2::IfcDeepFoundationType::IfcDeepFoundationType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc2::IfcDeepFoundationType::IfcDeepFoundationType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDerivedProfileDef -::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcProfileDef>(true); } +::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcProfileDef>(true); } void Ifc4x3_rc2::IfcDerivedProfileDef::setParentProfile(::Ifc4x3_rc2::IfcProfileDef* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcCartesianTransformationOperator2D* Ifc4x3_rc2::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcCartesianTransformationOperator2D>(true); } +::Ifc4x3_rc2::IfcCartesianTransformationOperator2D* Ifc4x3_rc2::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcCartesianTransformationOperator2D>(true); } void Ifc4x3_rc2::IfcDerivedProfileDef::setOperator(::Ifc4x3_rc2::IfcCartesianTransformationOperator2D* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc2::IfcDerivedProfileDef::Label() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcDerivedProfileDef::Label() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc2::IfcDerivedProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[308]); } const IfcParse::entity& Ifc4x3_rc2::IfcDerivedProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[308]); } Ifc4x3_rc2::IfcDerivedProfileDef::IfcDerivedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_rc2::IfcDerivedProfileDef::IfcDerivedProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcProfileDef* v3_ParentProfile, ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< std::string > v5_Label) : IfcProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Operator ? v4_Operator->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } +Ifc4x3_rc2::IfcDerivedProfileDef::IfcDerivedProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcProfileDef* v3_ParentProfile, ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< std::string > v5_Label) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Operator ? v4_Operator->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } // Function implementations for IfcDerivedUnit -aggregate_of< ::Ifc4x3_rc2::IfcDerivedUnitElement >::ptr Ifc4x3_rc2::IfcDerivedUnit::Elements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcDerivedUnitElement >(); } +aggregate_of< ::Ifc4x3_rc2::IfcDerivedUnitElement >::ptr Ifc4x3_rc2::IfcDerivedUnit::Elements() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcDerivedUnitElement >(); } void Ifc4x3_rc2::IfcDerivedUnit::setElements(aggregate_of< ::Ifc4x3_rc2::IfcDerivedUnitElement >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcDerivedUnitEnum::Value Ifc4x3_rc2::IfcDerivedUnit::UnitType() const { return ::Ifc4x3_rc2::IfcDerivedUnitEnum::FromString(data_.get_attribute_value(1)); } +::Ifc4x3_rc2::IfcDerivedUnitEnum::Value Ifc4x3_rc2::IfcDerivedUnit::UnitType() const { return ::Ifc4x3_rc2::IfcDerivedUnitEnum::FromString(get_attribute_value(1)); } void Ifc4x3_rc2::IfcDerivedUnit::setUnitType(::Ifc4x3_rc2::IfcDerivedUnitEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x3_rc2::IfcDerivedUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_rc2::IfcDerivedUnit::UserDefinedType() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcDerivedUnit::UserDefinedType() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcDerivedUnit::setUserDefinedType(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc2::IfcDerivedUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[309]); } const IfcParse::entity& Ifc4x3_rc2::IfcDerivedUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[309]); } Ifc4x3_rc2::IfcDerivedUnit::IfcDerivedUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcDerivedUnit::IfcDerivedUnit(aggregate_of< ::Ifc4x3_rc2::IfcDerivedUnitElement >::ptr v1_Elements, ::Ifc4x3_rc2::IfcDerivedUnitEnum::Value v2_UnitType, boost::optional< std::string > v3_UserDefinedType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Elements)->generalize());set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc2::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); }; populate_derived(); } +Ifc4x3_rc2::IfcDerivedUnit::IfcDerivedUnit(aggregate_of< ::Ifc4x3_rc2::IfcDerivedUnitElement >::ptr v1_Elements, ::Ifc4x3_rc2::IfcDerivedUnitEnum::Value v2_UnitType, boost::optional< std::string > v3_UserDefinedType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Elements)->generalize());set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc2::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); }; populate_derived(); } // Function implementations for IfcDerivedUnitElement -::Ifc4x3_rc2::IfcNamedUnit* Ifc4x3_rc2::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcNamedUnit>(true); } +::Ifc4x3_rc2::IfcNamedUnit* Ifc4x3_rc2::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcNamedUnit>(true); } void Ifc4x3_rc2::IfcDerivedUnitElement::setUnit(::Ifc4x3_rc2::IfcNamedUnit* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -int Ifc4x3_rc2::IfcDerivedUnitElement::Exponent() const { int v = data_.get_attribute_value(1); return v; } +int Ifc4x3_rc2::IfcDerivedUnitElement::Exponent() const { int v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcDerivedUnitElement::setExponent(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcDerivedUnitElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[310]); } const IfcParse::entity& Ifc4x3_rc2::IfcDerivedUnitElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[310]); } Ifc4x3_rc2::IfcDerivedUnitElement::IfcDerivedUnitElement(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcDerivedUnitElement::IfcDerivedUnitElement(::Ifc4x3_rc2::IfcNamedUnit* v1_Unit, int v2_Exponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Unit ? v1_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Exponent));; populate_derived(); } +Ifc4x3_rc2::IfcDerivedUnitElement::IfcDerivedUnitElement(::Ifc4x3_rc2::IfcNamedUnit* v1_Unit, int v2_Exponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Unit ? v1_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Exponent));; populate_derived(); } // Function implementations for IfcDimensionalExponents -int Ifc4x3_rc2::IfcDimensionalExponents::LengthExponent() const { int v = data_.get_attribute_value(0); return v; } +int Ifc4x3_rc2::IfcDimensionalExponents::LengthExponent() const { int v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcDimensionalExponents::setLengthExponent(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -int Ifc4x3_rc2::IfcDimensionalExponents::MassExponent() const { int v = data_.get_attribute_value(1); return v; } +int Ifc4x3_rc2::IfcDimensionalExponents::MassExponent() const { int v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcDimensionalExponents::setMassExponent(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -int Ifc4x3_rc2::IfcDimensionalExponents::TimeExponent() const { int v = data_.get_attribute_value(2); return v; } +int Ifc4x3_rc2::IfcDimensionalExponents::TimeExponent() const { int v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcDimensionalExponents::setTimeExponent(int v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -int Ifc4x3_rc2::IfcDimensionalExponents::ElectricCurrentExponent() const { int v = data_.get_attribute_value(3); return v; } +int Ifc4x3_rc2::IfcDimensionalExponents::ElectricCurrentExponent() const { int v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcDimensionalExponents::setElectricCurrentExponent(int v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -int Ifc4x3_rc2::IfcDimensionalExponents::ThermodynamicTemperatureExponent() const { int v = data_.get_attribute_value(4); return v; } +int Ifc4x3_rc2::IfcDimensionalExponents::ThermodynamicTemperatureExponent() const { int v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcDimensionalExponents::setThermodynamicTemperatureExponent(int v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -int Ifc4x3_rc2::IfcDimensionalExponents::AmountOfSubstanceExponent() const { int v = data_.get_attribute_value(5); return v; } +int Ifc4x3_rc2::IfcDimensionalExponents::AmountOfSubstanceExponent() const { int v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcDimensionalExponents::setAmountOfSubstanceExponent(int v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -int Ifc4x3_rc2::IfcDimensionalExponents::LuminousIntensityExponent() const { int v = data_.get_attribute_value(6); return v; } +int Ifc4x3_rc2::IfcDimensionalExponents::LuminousIntensityExponent() const { int v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcDimensionalExponents::setLuminousIntensityExponent(int v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc2::IfcDimensionalExponents::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[313]); } const IfcParse::entity& Ifc4x3_rc2::IfcDimensionalExponents::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[313]); } Ifc4x3_rc2::IfcDimensionalExponents::IfcDimensionalExponents(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::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(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; populate_derived(); } +Ifc4x3_rc2::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(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; populate_derived(); } // Function implementations for IfcDirection -std::vector< double > /*[2:3]*/ Ifc4x3_rc2::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[2:3]*/ Ifc4x3_rc2::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcDirection::setDirectionRatios(std::vector< double > /*[2:3]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc2::IfcDirection::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[315]); } const IfcParse::entity& Ifc4x3_rc2::IfcDirection::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[315]); } Ifc4x3_rc2::IfcDirection::IfcDirection(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionRatios) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_DirectionRatios));; populate_derived(); } +Ifc4x3_rc2::IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionRatios) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_DirectionRatios));; populate_derived(); } // Function implementations for IfcDirectrixCurveSweptAreaSolid -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcCurve>(true); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::setDirectrix(::Ifc4x3_rc2::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcCurveMeasureSelect* Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::StartParam() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcCurveMeasureSelect>(true); } +::Ifc4x3_rc2::IfcCurveMeasureSelect* Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcCurveMeasureSelect>(true); } void Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::setStartParam(::Ifc4x3_rc2::IfcCurveMeasureSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc2::IfcCurveMeasureSelect* Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::EndParam() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcCurveMeasureSelect>(true); } +::Ifc4x3_rc2::IfcCurveMeasureSelect* Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcCurveMeasureSelect>(true); } void Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::setEndParam(::Ifc4x3_rc2::IfcCurveMeasureSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[317]); } const IfcParse::entity& Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[317]); } Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid(::Ifc4x3_rc2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc2::IfcCurve* v3_Directrix, ::Ifc4x3_rc2::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_rc2::IfcCurveMeasureSelect* v5_EndParam) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid(::Ifc4x3_rc2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc2::IfcCurve* v3_Directrix, ::Ifc4x3_rc2::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_rc2::IfcCurveMeasureSelect* v5_EndParam) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDirectrixDistanceSweptAreaSolid -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcCurve>(true); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::setDirectrix(::Ifc4x3_rc2::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcPointByDistanceExpression* Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::StartDistance() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcPointByDistanceExpression>(true); } +::Ifc4x3_rc2::IfcPointByDistanceExpression* Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::StartDistance() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcPointByDistanceExpression>(true); } void Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::setStartDistance(::Ifc4x3_rc2::IfcPointByDistanceExpression* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc2::IfcPointByDistanceExpression* Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::EndDistance() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcPointByDistanceExpression>(true); } +::Ifc4x3_rc2::IfcPointByDistanceExpression* Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::EndDistance() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcPointByDistanceExpression>(true); } void Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::setEndDistance(::Ifc4x3_rc2::IfcPointByDistanceExpression* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[318]); } const IfcParse::entity& Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[318]); } Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::IfcDirectrixDistanceSweptAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::IfcDirectrixDistanceSweptAreaSolid(::Ifc4x3_rc2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc2::IfcCurve* v3_Directrix, ::Ifc4x3_rc2::IfcPointByDistanceExpression* v4_StartDistance, ::Ifc4x3_rc2::IfcPointByDistanceExpression* v5_EndDistance) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartDistance ? v4_StartDistance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndDistance ? v5_EndDistance->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid::IfcDirectrixDistanceSweptAreaSolid(::Ifc4x3_rc2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc2::IfcCurve* v3_Directrix, ::Ifc4x3_rc2::IfcPointByDistanceExpression* v4_StartDistance, ::Ifc4x3_rc2::IfcPointByDistanceExpression* v5_EndDistance) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartDistance ? v4_StartDistance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndDistance ? v5_EndDistance->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDiscreteAccessory -boost::optional< ::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x3_rc2::IfcDiscreteAccessory::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x3_rc2::IfcDiscreteAccessory::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcDiscreteAccessory::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcDiscreteAccessory::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[319]); } const IfcParse::entity& Ifc4x3_rc2::IfcDiscreteAccessory::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[319]); } Ifc4x3_rc2::IfcDiscreteAccessory::IfcDiscreteAccessory(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_rc2::IfcDiscreteAccessory::IfcDiscreteAccessory(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcDiscreteAccessory::IfcDiscreteAccessory(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDiscreteAccessoryType -::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3_rc2::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3_rc2::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcDiscreteAccessoryType::setPredefinedType(::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcDiscreteAccessoryType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[320]); } const IfcParse::entity& Ifc4x3_rc2::IfcDiscreteAccessoryType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[320]); } Ifc4x3_rc2::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_rc2::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDistributionBoard -boost::optional< ::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value > Ifc4x3_rc2::IfcDistributionBoard::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value > Ifc4x3_rc2::IfcDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcDistributionBoard::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[322]); } const IfcParse::entity& Ifc4x3_rc2::IfcDistributionBoard::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[322]); } Ifc4x3_rc2::IfcDistributionBoard::IfcDistributionBoard(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_rc2::IfcDistributionBoard::IfcDistributionBoard(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcDistributionBoard::IfcDistributionBoard(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDistributionBoardType -::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value Ifc4x3_rc2::IfcDistributionBoardType::PredefinedType() const { return ::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value Ifc4x3_rc2::IfcDistributionBoardType::PredefinedType() const { return ::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcDistributionBoardType::setPredefinedType(::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcDistributionBoardType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[323]); } const IfcParse::entity& Ifc4x3_rc2::IfcDistributionBoardType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[323]); } Ifc4x3_rc2::IfcDistributionBoardType::IfcDistributionBoardType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_rc2::IfcDistributionBoardType::IfcDistributionBoardType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcDistributionBoardType::IfcDistributionBoardType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDistributionChamberElement -boost::optional< ::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value > Ifc4x3_rc2::IfcDistributionChamberElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value > Ifc4x3_rc2::IfcDistributionChamberElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcDistributionChamberElement::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcDistributionChamberElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[325]); } const IfcParse::entity& Ifc4x3_rc2::IfcDistributionChamberElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[325]); } Ifc4x3_rc2::IfcDistributionChamberElement::IfcDistributionChamberElement(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_rc2::IfcDistributionChamberElement::IfcDistributionChamberElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcDistributionChamberElement::IfcDistributionChamberElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDistributionChamberElementType -::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value Ifc4x3_rc2::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value Ifc4x3_rc2::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcDistributionChamberElementType::setPredefinedType(::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcDistributionChamberElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[326]); } const IfcParse::entity& Ifc4x3_rc2::IfcDistributionChamberElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[326]); } Ifc4x3_rc2::IfcDistributionChamberElementType::IfcDistributionChamberElementType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_rc2::IfcDistributionChamberElementType::IfcDistributionChamberElementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcDistributionChamberElementType::IfcDistributionChamberElementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDistributionCircuit @@ -10270,7 +10270,7 @@ Ifc4x3_rc2::IfcDistributionChamberElementType::IfcDistributionChamberElementType const IfcParse::entity& Ifc4x3_rc2::IfcDistributionCircuit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[328]); } const IfcParse::entity& Ifc4x3_rc2::IfcDistributionCircuit::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[328]); } Ifc4x3_rc2::IfcDistributionCircuit::IfcDistributionCircuit(IfcEntityInstanceData&& e) : IfcDistributionSystem(std::move(e)) { } -Ifc4x3_rc2::IfcDistributionCircuit::IfcDistributionCircuit(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< ::Ifc4x3_rc2::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcDistributionSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc2::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcDistributionCircuit::IfcDistributionCircuit(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< ::Ifc4x3_rc2::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcDistributionSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc2::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDistributionControlElement @@ -10279,7 +10279,7 @@ Ifc4x3_rc2::IfcDistributionCircuit::IfcDistributionCircuit(std::string v1_Global const IfcParse::entity& Ifc4x3_rc2::IfcDistributionControlElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[329]); } const IfcParse::entity& Ifc4x3_rc2::IfcDistributionControlElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[329]); } Ifc4x3_rc2::IfcDistributionControlElement::IfcDistributionControlElement(IfcEntityInstanceData&& e) : IfcDistributionElement(std::move(e)) { } -Ifc4x3_rc2::IfcDistributionControlElement::IfcDistributionControlElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc2::IfcDistributionControlElement::IfcDistributionControlElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionControlElementType @@ -10287,7 +10287,7 @@ Ifc4x3_rc2::IfcDistributionControlElement::IfcDistributionControlElement(std::st const IfcParse::entity& Ifc4x3_rc2::IfcDistributionControlElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[330]); } const IfcParse::entity& Ifc4x3_rc2::IfcDistributionControlElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[330]); } Ifc4x3_rc2::IfcDistributionControlElementType::IfcDistributionControlElementType(IfcEntityInstanceData&& e) : IfcDistributionElementType(std::move(e)) { } -Ifc4x3_rc2::IfcDistributionControlElementType::IfcDistributionControlElementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc2::IfcDistributionControlElementType::IfcDistributionControlElementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionElement @@ -10296,7 +10296,7 @@ Ifc4x3_rc2::IfcDistributionControlElementType::IfcDistributionControlElementType const IfcParse::entity& Ifc4x3_rc2::IfcDistributionElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[331]); } const IfcParse::entity& Ifc4x3_rc2::IfcDistributionElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[331]); } Ifc4x3_rc2::IfcDistributionElement::IfcDistributionElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc2::IfcDistributionElement::IfcDistributionElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc2::IfcDistributionElement::IfcDistributionElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionElementType @@ -10304,7 +10304,7 @@ Ifc4x3_rc2::IfcDistributionElement::IfcDistributionElement(std::string v1_Global const IfcParse::entity& Ifc4x3_rc2::IfcDistributionElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[332]); } const IfcParse::entity& Ifc4x3_rc2::IfcDistributionElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[332]); } Ifc4x3_rc2::IfcDistributionElementType::IfcDistributionElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_rc2::IfcDistributionElementType::IfcDistributionElementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc2::IfcDistributionElementType::IfcDistributionElementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionFlowElement @@ -10313,7 +10313,7 @@ Ifc4x3_rc2::IfcDistributionElementType::IfcDistributionElementType(std::string v const IfcParse::entity& Ifc4x3_rc2::IfcDistributionFlowElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[333]); } const IfcParse::entity& Ifc4x3_rc2::IfcDistributionFlowElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[333]); } Ifc4x3_rc2::IfcDistributionFlowElement::IfcDistributionFlowElement(IfcEntityInstanceData&& e) : IfcDistributionElement(std::move(e)) { } -Ifc4x3_rc2::IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc2::IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionFlowElementType @@ -10321,68 +10321,68 @@ Ifc4x3_rc2::IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v const IfcParse::entity& Ifc4x3_rc2::IfcDistributionFlowElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[334]); } const IfcParse::entity& Ifc4x3_rc2::IfcDistributionFlowElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[334]); } Ifc4x3_rc2::IfcDistributionFlowElementType::IfcDistributionFlowElementType(IfcEntityInstanceData&& e) : IfcDistributionElementType(std::move(e)) { } -Ifc4x3_rc2::IfcDistributionFlowElementType::IfcDistributionFlowElementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc2::IfcDistributionFlowElementType::IfcDistributionFlowElementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionPort -boost::optional< ::Ifc4x3_rc2::IfcFlowDirectionEnum::Value > Ifc4x3_rc2::IfcDistributionPort::FlowDirection() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcFlowDirectionEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_rc2::IfcFlowDirectionEnum::Value > Ifc4x3_rc2::IfcDistributionPort::FlowDirection() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcFlowDirectionEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc2::IfcDistributionPort::setFlowDirection(boost::optional< ::Ifc4x3_rc2::IfcFlowDirectionEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc2::IfcFlowDirectionEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3_rc2::IfcDistributionPortTypeEnum::Value > Ifc4x3_rc2::IfcDistributionPort::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDistributionPortTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcDistributionPortTypeEnum::Value > Ifc4x3_rc2::IfcDistributionPort::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDistributionPortTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcDistributionPort::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDistributionPortTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcDistributionPortTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< ::Ifc4x3_rc2::IfcDistributionSystemEnum::Value > Ifc4x3_rc2::IfcDistributionPort::SystemType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDistributionSystemEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc2::IfcDistributionSystemEnum::Value > Ifc4x3_rc2::IfcDistributionPort::SystemType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDistributionSystemEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcDistributionPort::setSystemType(boost::optional< ::Ifc4x3_rc2::IfcDistributionSystemEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcDistributionSystemEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc2::IfcDistributionPort::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[335]); } const IfcParse::entity& Ifc4x3_rc2::IfcDistributionPort::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[335]); } Ifc4x3_rc2::IfcDistributionPort::IfcDistributionPort(IfcEntityInstanceData&& e) : IfcPort(std::move(e)) { } -Ifc4x3_rc2::IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_rc2::IfcFlowDirectionEnum::Value > v8_FlowDirection, boost::optional< ::Ifc4x3_rc2::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x3_rc2::IfcDistributionSystemEnum::Value > v10_SystemType) : IfcPort(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_FlowDirection) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); }; populate_derived(); } +Ifc4x3_rc2::IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_rc2::IfcFlowDirectionEnum::Value > v8_FlowDirection, boost::optional< ::Ifc4x3_rc2::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x3_rc2::IfcDistributionSystemEnum::Value > v10_SystemType) : IfcPort(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_FlowDirection) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); }; populate_derived(); } // Function implementations for IfcDistributionSystem -boost::optional< std::string > Ifc4x3_rc2::IfcDistributionSystem::LongName() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcDistributionSystem::LongName() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcDistributionSystem::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< ::Ifc4x3_rc2::IfcDistributionSystemEnum::Value > Ifc4x3_rc2::IfcDistributionSystem::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDistributionSystemEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_rc2::IfcDistributionSystemEnum::Value > Ifc4x3_rc2::IfcDistributionSystem::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDistributionSystemEnum::FromString(get_attribute_value(6)); } void Ifc4x3_rc2::IfcDistributionSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDistributionSystemEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_rc2::IfcDistributionSystemEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc2::IfcDistributionSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[337]); } const IfcParse::entity& Ifc4x3_rc2::IfcDistributionSystem::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[337]); } Ifc4x3_rc2::IfcDistributionSystem::IfcDistributionSystem(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3_rc2::IfcDistributionSystem::IfcDistributionSystem(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< ::Ifc4x3_rc2::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc2::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcDistributionSystem::IfcDistributionSystem(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< ::Ifc4x3_rc2::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc2::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDocumentInformation -std::string Ifc4x3_rc2::IfcDocumentInformation::Identification() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc2::IfcDocumentInformation::Identification() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcDocumentInformation::setIdentification(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x3_rc2::IfcDocumentInformation::Name() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_rc2::IfcDocumentInformation::Name() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcDocumentInformation::setName(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcDocumentInformation::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::Location() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::Location() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcDocumentInformation::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::Purpose() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::Purpose() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcDocumentInformation::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::IntendedUse() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::IntendedUse() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcDocumentInformation::setIntendedUse(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::Scope() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::Scope() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcDocumentInformation::setScope(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::Revision() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::Revision() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcDocumentInformation::DocumentOwner() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc2::IfcActorSelect>(true); } +::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcDocumentInformation::DocumentOwner() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc2::IfcActorSelect>(true); } void Ifc4x3_rc2::IfcDocumentInformation::setDocumentOwner(::Ifc4x3_rc2::IfcActorSelect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorSelect >::ptr > Ifc4x3_rc2::IfcDocumentInformation::Editors() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3_rc2::IfcActorSelect >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorSelect >::ptr > Ifc4x3_rc2::IfcDocumentInformation::Editors() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3_rc2::IfcActorSelect >(); } void Ifc4x3_rc2::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorSelect >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::CreationTime() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::CreationTime() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::LastRevisionTime() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::LastRevisionTime() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x3_rc2::IfcDocumentInformation::setLastRevisionTime(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::ElectronicFormat() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::ElectronicFormat() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc2::IfcDocumentInformation::setElectronicFormat(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::ValidFrom() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(13); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::ValidFrom() const { if(get_attribute_value(13).isNull()) { return boost::none; } std::string v = get_attribute_value(13); return v; } void Ifc4x3_rc2::IfcDocumentInformation::setValidFrom(boost::optional< std::string > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::ValidUntil() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformation::ValidUntil() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x3_rc2::IfcDocumentInformation::setValidUntil(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< ::Ifc4x3_rc2::IfcDocumentConfidentialityEnum::Value > Ifc4x3_rc2::IfcDocumentInformation::Confidentiality() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDocumentConfidentialityEnum::FromString(data_.get_attribute_value(15)); } +boost::optional< ::Ifc4x3_rc2::IfcDocumentConfidentialityEnum::Value > Ifc4x3_rc2::IfcDocumentInformation::Confidentiality() const { if(get_attribute_value(15).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDocumentConfidentialityEnum::FromString(get_attribute_value(15)); } void Ifc4x3_rc2::IfcDocumentInformation::setConfidentiality(boost::optional< ::Ifc4x3_rc2::IfcDocumentConfidentialityEnum::Value > v) { if (v) {set_attribute_value(15, EnumerationReference(&::Ifc4x3_rc2::IfcDocumentConfidentialityEnum::Class(), (size_t) *v));} else {unset_attribute_value(15);} } -boost::optional< ::Ifc4x3_rc2::IfcDocumentStatusEnum::Value > Ifc4x3_rc2::IfcDocumentInformation::Status() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDocumentStatusEnum::FromString(data_.get_attribute_value(16)); } +boost::optional< ::Ifc4x3_rc2::IfcDocumentStatusEnum::Value > Ifc4x3_rc2::IfcDocumentInformation::Status() const { if(get_attribute_value(16).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDocumentStatusEnum::FromString(get_attribute_value(16)); } void Ifc4x3_rc2::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3_rc2::IfcDocumentStatusEnum::Value > v) { if (v) {set_attribute_value(16, EnumerationReference(&::Ifc4x3_rc2::IfcDocumentStatusEnum::Class(), (size_t) *v));} else {unset_attribute_value(16);} } ::Ifc4x3_rc2::IfcRelAssociatesDocument::list::ptr Ifc4x3_rc2::IfcDocumentInformation::DocumentInfoForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[930], 5)->as(); } @@ -10393,26 +10393,26 @@ void Ifc4x3_rc2::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3_rc2 const IfcParse::entity& Ifc4x3_rc2::IfcDocumentInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[340]); } const IfcParse::entity& Ifc4x3_rc2::IfcDocumentInformation::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[340]); } Ifc4x3_rc2::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData&& e) : IfcExternalInformation(std::move(e)) { } -Ifc4x3_rc2::IfcDocumentInformation::IfcDocumentInformation(std::string v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_Location, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, ::Ifc4x3_rc2::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorSelect >::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< ::Ifc4x3_rc2::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc2::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation(IfcEntityInstanceData(storage_t(17))) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, v9_DocumentOwner ? v9_DocumentOwner->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v10_Editors) {set_attribute_value(9, (*v10_Editors)->generalize()); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (EnumerationReference(&::Ifc4x3_rc2::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (EnumerationReference(&::Ifc4x3_rc2::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; populate_derived(); } +Ifc4x3_rc2::IfcDocumentInformation::IfcDocumentInformation(std::string v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_Location, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, ::Ifc4x3_rc2::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorSelect >::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< ::Ifc4x3_rc2::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc2::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation(IfcEntityInstanceData(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, v9_DocumentOwner ? v9_DocumentOwner->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v10_Editors) {set_attribute_value(9, (*v10_Editors)->generalize()); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (EnumerationReference(&::Ifc4x3_rc2::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (EnumerationReference(&::Ifc4x3_rc2::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; populate_derived(); } // Function implementations for IfcDocumentInformationRelationship -::Ifc4x3_rc2::IfcDocumentInformation* Ifc4x3_rc2::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcDocumentInformation>(true); } +::Ifc4x3_rc2::IfcDocumentInformation* Ifc4x3_rc2::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcDocumentInformation>(true); } void Ifc4x3_rc2::IfcDocumentInformationRelationship::setRelatingDocument(::Ifc4x3_rc2::IfcDocumentInformation* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_rc2::IfcDocumentInformation >::ptr Ifc4x3_rc2::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc2::IfcDocumentInformation >(); } +aggregate_of< ::Ifc4x3_rc2::IfcDocumentInformation >::ptr Ifc4x3_rc2::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc2::IfcDocumentInformation >(); } void Ifc4x3_rc2::IfcDocumentInformationRelationship::setRelatedDocuments(aggregate_of< ::Ifc4x3_rc2::IfcDocumentInformation >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformationRelationship::RelationshipType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcDocumentInformationRelationship::RelationshipType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcDocumentInformationRelationship::setRelationshipType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc2::IfcDocumentInformationRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[341]); } const IfcParse::entity& Ifc4x3_rc2::IfcDocumentInformationRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[341]); } Ifc4x3_rc2::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_rc2::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcDocumentInformation* v3_RelatingDocument, aggregate_of< ::Ifc4x3_rc2::IfcDocumentInformation >::ptr v4_RelatedDocuments, boost::optional< std::string > v5_RelationshipType) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingDocument ? v3_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedDocuments)->generalize()); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); }; populate_derived(); } +Ifc4x3_rc2::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcDocumentInformation* v3_RelatingDocument, aggregate_of< ::Ifc4x3_rc2::IfcDocumentInformation >::ptr v4_RelatedDocuments, boost::optional< std::string > v5_RelationshipType) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingDocument ? v3_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedDocuments)->generalize()); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); }; populate_derived(); } // Function implementations for IfcDocumentReference -boost::optional< std::string > Ifc4x3_rc2::IfcDocumentReference::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcDocumentReference::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcDocumentReference::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc2::IfcDocumentInformation* Ifc4x3_rc2::IfcDocumentReference::ReferencedDocument() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcDocumentInformation>(true); } +::Ifc4x3_rc2::IfcDocumentInformation* Ifc4x3_rc2::IfcDocumentReference::ReferencedDocument() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcDocumentInformation>(true); } void Ifc4x3_rc2::IfcDocumentReference::setReferencedDocument(::Ifc4x3_rc2::IfcDocumentInformation* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } ::Ifc4x3_rc2::IfcRelAssociatesDocument::list::ptr Ifc4x3_rc2::IfcDocumentReference::DocumentRefForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[930], 5)->as(); } @@ -10420,77 +10420,77 @@ void Ifc4x3_rc2::IfcDocumentReference::setReferencedDocument(::Ifc4x3_rc2::IfcDo const IfcParse::entity& Ifc4x3_rc2::IfcDocumentReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[342]); } const IfcParse::entity& Ifc4x3_rc2::IfcDocumentReference::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[342]); } Ifc4x3_rc2::IfcDocumentReference::IfcDocumentReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_rc2::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_rc2::IfcDocumentInformation* v5_ReferencedDocument) : IfcExternalReference(IfcEntityInstanceData(storage_t(5))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ReferencedDocument ? v5_ReferencedDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::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_rc2::IfcDocumentInformation* v5_ReferencedDocument) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ReferencedDocument ? v5_ReferencedDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDoor -boost::optional< double > Ifc4x3_rc2::IfcDoor::OverallHeight() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc2::IfcDoor::OverallHeight() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcDoor::setOverallHeight(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_rc2::IfcDoor::OverallWidth() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc2::IfcDoor::OverallWidth() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc2::IfcDoor::setOverallWidth(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x3_rc2::IfcDoorTypeEnum::Value > Ifc4x3_rc2::IfcDoor::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDoorTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc2::IfcDoorTypeEnum::Value > Ifc4x3_rc2::IfcDoor::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDoorTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc2::IfcDoor::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDoorTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc2::IfcDoorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -boost::optional< ::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Value > Ifc4x3_rc2::IfcDoor::OperationType() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDoorTypeOperationEnum::FromString(data_.get_attribute_value(11)); } +boost::optional< ::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Value > Ifc4x3_rc2::IfcDoor::OperationType() const { if(get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDoorTypeOperationEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc2::IfcDoor::setOperationType(boost::optional< ::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Value > v) { if (v) {set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Class(), (size_t) *v));} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_rc2::IfcDoor::UserDefinedOperationType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcDoor::UserDefinedOperationType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc2::IfcDoor::setUserDefinedOperationType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_rc2::IfcDoor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[345]); } const IfcParse::entity& Ifc4x3_rc2::IfcDoor::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[345]); } Ifc4x3_rc2::IfcDoor::IfcDoor(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc2::IfcDoor::IfcDoor(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_rc2::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } +Ifc4x3_rc2::IfcDoor::IfcDoor(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_rc2::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } // Function implementations for IfcDoorLiningProperties -boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::LiningDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcDoorLiningProperties::setLiningDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::LiningThickness() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::LiningThickness() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcDoorLiningProperties::setLiningThickness(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::ThresholdDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::ThresholdDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcDoorLiningProperties::setThresholdDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::ThresholdThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::ThresholdThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcDoorLiningProperties::setThresholdThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::TransomThickness() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::TransomThickness() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcDoorLiningProperties::setTransomThickness(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::TransomOffset() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::TransomOffset() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc2::IfcDoorLiningProperties::setTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::LiningOffset() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::LiningOffset() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcDoorLiningProperties::setLiningOffset(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::ThresholdOffset() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::ThresholdOffset() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc2::IfcDoorLiningProperties::setThresholdOffset(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::CasingThickness() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::CasingThickness() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_rc2::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::CasingDepth() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::CasingDepth() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_rc2::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -::Ifc4x3_rc2::IfcShapeAspect* Ifc4x3_rc2::IfcDoorLiningProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(14).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(14)))->as<::Ifc4x3_rc2::IfcShapeAspect>(true); } +::Ifc4x3_rc2::IfcShapeAspect* Ifc4x3_rc2::IfcDoorLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(14).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(14)))->as<::Ifc4x3_rc2::IfcShapeAspect>(true); } void Ifc4x3_rc2::IfcDoorLiningProperties::setShapeAspectStyle(::Ifc4x3_rc2::IfcShapeAspect* v) { set_attribute_value(14, v->as());if constexpr (false)unset_attribute_value(14); } -boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3_rc2::IfcDoorLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::LiningToPanelOffsetY() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3_rc2::IfcDoorLiningProperties::LiningToPanelOffsetY() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3_rc2::IfcDoorLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } const IfcParse::entity& Ifc4x3_rc2::IfcDoorLiningProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[346]); } const IfcParse::entity& Ifc4x3_rc2::IfcDoorLiningProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[346]); } Ifc4x3_rc2::IfcDoorLiningProperties::IfcDoorLiningProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_rc2::IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_GlobalId, ::Ifc4x3_rc2::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_rc2::IfcShapeAspect* v15_ShapeAspectStyle, boost::optional< double > v16_LiningToPanelOffsetX, boost::optional< double > v17_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, v15_ShapeAspectStyle ? v15_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); }; populate_derived(); } +Ifc4x3_rc2::IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_GlobalId, ::Ifc4x3_rc2::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_rc2::IfcShapeAspect* v15_ShapeAspectStyle, boost::optional< double > v16_LiningToPanelOffsetX, boost::optional< double > v17_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, v15_ShapeAspectStyle ? v15_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); }; populate_derived(); } // Function implementations for IfcDoorPanelProperties -boost::optional< double > Ifc4x3_rc2::IfcDoorPanelProperties::PanelDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc2::IfcDoorPanelProperties::PanelDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcDoorPanelProperties::setPanelDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc2::IfcDoorPanelOperationEnum::Value Ifc4x3_rc2::IfcDoorPanelProperties::PanelOperation() const { return ::Ifc4x3_rc2::IfcDoorPanelOperationEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_rc2::IfcDoorPanelOperationEnum::Value Ifc4x3_rc2::IfcDoorPanelProperties::PanelOperation() const { return ::Ifc4x3_rc2::IfcDoorPanelOperationEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc2::IfcDoorPanelProperties::setPanelOperation(::Ifc4x3_rc2::IfcDoorPanelOperationEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc2::IfcDoorPanelOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_rc2::IfcDoorPanelProperties::PanelWidth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc2::IfcDoorPanelProperties::PanelWidth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_rc2::IfcDoorPanelPositionEnum::Value Ifc4x3_rc2::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x3_rc2::IfcDoorPanelPositionEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc2::IfcDoorPanelPositionEnum::Value Ifc4x3_rc2::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x3_rc2::IfcDoorPanelPositionEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc2::IfcDoorPanelProperties::setPanelPosition(::Ifc4x3_rc2::IfcDoorPanelPositionEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc2::IfcDoorPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc2::IfcShapeAspect* Ifc4x3_rc2::IfcDoorPanelProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc2::IfcShapeAspect>(true); } +::Ifc4x3_rc2::IfcShapeAspect* Ifc4x3_rc2::IfcDoorPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc2::IfcShapeAspect>(true); } void Ifc4x3_rc2::IfcDoorPanelProperties::setShapeAspectStyle(::Ifc4x3_rc2::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc2::IfcDoorPanelProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[349]); } const IfcParse::entity& Ifc4x3_rc2::IfcDoorPanelProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[349]); } Ifc4x3_rc2::IfcDoorPanelProperties::IfcDoorPanelProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_rc2::IfcDoorPanelProperties::IfcDoorPanelProperties(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_PanelDepth, ::Ifc4x3_rc2::IfcDoorPanelOperationEnum::Value v6_PanelOperation, boost::optional< double > v7_PanelWidth, ::Ifc4x3_rc2::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_rc2::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcDoorPanelProperties::IfcDoorPanelProperties(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_PanelDepth, ::Ifc4x3_rc2::IfcDoorPanelOperationEnum::Value v6_PanelOperation, boost::optional< double > v7_PanelWidth, ::Ifc4x3_rc2::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_rc2::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDoorStandardCase @@ -10498,39 +10498,39 @@ Ifc4x3_rc2::IfcDoorPanelProperties::IfcDoorPanelProperties(std::string v1_Global const IfcParse::entity& Ifc4x3_rc2::IfcDoorStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[350]); } const IfcParse::entity& Ifc4x3_rc2::IfcDoorStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[350]); } Ifc4x3_rc2::IfcDoorStandardCase::IfcDoorStandardCase(IfcEntityInstanceData&& e) : IfcDoor(std::move(e)) { } -Ifc4x3_rc2::IfcDoorStandardCase::IfcDoorStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_rc2::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcDoor(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } +Ifc4x3_rc2::IfcDoorStandardCase::IfcDoorStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_rc2::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcDoor(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } // Function implementations for IfcDoorStyle -::Ifc4x3_rc2::IfcDoorStyleOperationEnum::Value Ifc4x3_rc2::IfcDoorStyle::OperationType() const { return ::Ifc4x3_rc2::IfcDoorStyleOperationEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc2::IfcDoorStyleOperationEnum::Value Ifc4x3_rc2::IfcDoorStyle::OperationType() const { return ::Ifc4x3_rc2::IfcDoorStyleOperationEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcDoorStyle::setOperationType(::Ifc4x3_rc2::IfcDoorStyleOperationEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcDoorStyleOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc2::IfcDoorStyleConstructionEnum::Value Ifc4x3_rc2::IfcDoorStyle::ConstructionType() const { return ::Ifc4x3_rc2::IfcDoorStyleConstructionEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcDoorStyleConstructionEnum::Value Ifc4x3_rc2::IfcDoorStyle::ConstructionType() const { return ::Ifc4x3_rc2::IfcDoorStyleConstructionEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcDoorStyle::setConstructionType(::Ifc4x3_rc2::IfcDoorStyleConstructionEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcDoorStyleConstructionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -bool Ifc4x3_rc2::IfcDoorStyle::ParameterTakesPrecedence() const { bool v = data_.get_attribute_value(10); return v; } +bool Ifc4x3_rc2::IfcDoorStyle::ParameterTakesPrecedence() const { bool v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcDoorStyle::setParameterTakesPrecedence(bool v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -bool Ifc4x3_rc2::IfcDoorStyle::Sizeable() const { bool v = data_.get_attribute_value(11); return v; } +bool Ifc4x3_rc2::IfcDoorStyle::Sizeable() const { bool v = get_attribute_value(11); return v; } void Ifc4x3_rc2::IfcDoorStyle::setSizeable(bool v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc2::IfcDoorStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[351]); } const IfcParse::entity& Ifc4x3_rc2::IfcDoorStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[351]); } Ifc4x3_rc2::IfcDoorStyle::IfcDoorStyle(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(e)) { } -Ifc4x3_rc2::IfcDoorStyle::IfcDoorStyle(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc2::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x3_rc2::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcDoorStyleOperationEnum::Class(),(size_t)v9_OperationType)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcDoorStyleConstructionEnum::Class(),(size_t)v10_ConstructionType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; populate_derived(); } +Ifc4x3_rc2::IfcDoorStyle::IfcDoorStyle(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc2::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x3_rc2::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcDoorStyleOperationEnum::Class(),(size_t)v9_OperationType)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcDoorStyleConstructionEnum::Class(),(size_t)v10_ConstructionType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; populate_derived(); } // Function implementations for IfcDoorType -::Ifc4x3_rc2::IfcDoorTypeEnum::Value Ifc4x3_rc2::IfcDoorType::PredefinedType() const { return ::Ifc4x3_rc2::IfcDoorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcDoorTypeEnum::Value Ifc4x3_rc2::IfcDoorType::PredefinedType() const { return ::Ifc4x3_rc2::IfcDoorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcDoorType::setPredefinedType(::Ifc4x3_rc2::IfcDoorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcDoorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Value Ifc4x3_rc2::IfcDoorType::OperationType() const { return ::Ifc4x3_rc2::IfcDoorTypeOperationEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Value Ifc4x3_rc2::IfcDoorType::OperationType() const { return ::Ifc4x3_rc2::IfcDoorTypeOperationEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc2::IfcDoorType::setOperationType(::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } -boost::optional< bool > Ifc4x3_rc2::IfcDoorType::ParameterTakesPrecedence() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } bool v = data_.get_attribute_value(11); return v; } +boost::optional< bool > Ifc4x3_rc2::IfcDoorType::ParameterTakesPrecedence() const { if(get_attribute_value(11).isNull()) { return boost::none; } bool v = get_attribute_value(11); return v; } void Ifc4x3_rc2::IfcDoorType::setParameterTakesPrecedence(boost::optional< bool > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_rc2::IfcDoorType::UserDefinedOperationType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcDoorType::UserDefinedOperationType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc2::IfcDoorType::setUserDefinedOperationType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_rc2::IfcDoorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[354]); } const IfcParse::entity& Ifc4x3_rc2::IfcDoorType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[354]); } Ifc4x3_rc2::IfcDoorType::IfcDoorType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc2::IfcDoorType::IfcDoorType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Value v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } +Ifc4x3_rc2::IfcDoorType::IfcDoorType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Value v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } // Function implementations for IfcDraughtingPreDefinedColour @@ -10538,7 +10538,7 @@ Ifc4x3_rc2::IfcDoorType::IfcDoorType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcO const IfcParse::entity& Ifc4x3_rc2::IfcDraughtingPreDefinedColour::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[358]); } const IfcParse::entity& Ifc4x3_rc2::IfcDraughtingPreDefinedColour::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[358]); } Ifc4x3_rc2::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(IfcEntityInstanceData&& e) : IfcPreDefinedColour(std::move(e)) { } -Ifc4x3_rc2::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::string v1_Name) : IfcPreDefinedColour(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_rc2::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::string v1_Name) : IfcPreDefinedColour(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcDraughtingPreDefinedCurveFont @@ -10546,77 +10546,77 @@ Ifc4x3_rc2::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::st const IfcParse::entity& Ifc4x3_rc2::IfcDraughtingPreDefinedCurveFont::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[359]); } const IfcParse::entity& Ifc4x3_rc2::IfcDraughtingPreDefinedCurveFont::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[359]); } Ifc4x3_rc2::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(IfcEntityInstanceData&& e) : IfcPreDefinedCurveFont(std::move(e)) { } -Ifc4x3_rc2::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedCurveFont(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_rc2::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedCurveFont(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcDuctFitting -boost::optional< ::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value > Ifc4x3_rc2::IfcDuctFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDuctFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value > Ifc4x3_rc2::IfcDuctFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDuctFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcDuctFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcDuctFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[360]); } const IfcParse::entity& Ifc4x3_rc2::IfcDuctFitting::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[360]); } Ifc4x3_rc2::IfcDuctFitting::IfcDuctFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x3_rc2::IfcDuctFitting::IfcDuctFitting(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcDuctFitting::IfcDuctFitting(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDuctFittingType -::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value Ifc4x3_rc2::IfcDuctFittingType::PredefinedType() const { return ::Ifc4x3_rc2::IfcDuctFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value Ifc4x3_rc2::IfcDuctFittingType::PredefinedType() const { return ::Ifc4x3_rc2::IfcDuctFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcDuctFittingType::setPredefinedType(::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcDuctFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[361]); } const IfcParse::entity& Ifc4x3_rc2::IfcDuctFittingType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[361]); } Ifc4x3_rc2::IfcDuctFittingType::IfcDuctFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x3_rc2::IfcDuctFittingType::IfcDuctFittingType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcDuctFittingType::IfcDuctFittingType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDuctSegment -boost::optional< ::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value > Ifc4x3_rc2::IfcDuctSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value > Ifc4x3_rc2::IfcDuctSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcDuctSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcDuctSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[363]); } const IfcParse::entity& Ifc4x3_rc2::IfcDuctSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[363]); } Ifc4x3_rc2::IfcDuctSegment::IfcDuctSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x3_rc2::IfcDuctSegment::IfcDuctSegment(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcDuctSegment::IfcDuctSegment(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDuctSegmentType -::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value Ifc4x3_rc2::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value Ifc4x3_rc2::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcDuctSegmentType::setPredefinedType(::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcDuctSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[364]); } const IfcParse::entity& Ifc4x3_rc2::IfcDuctSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[364]); } Ifc4x3_rc2::IfcDuctSegmentType::IfcDuctSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x3_rc2::IfcDuctSegmentType::IfcDuctSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcDuctSegmentType::IfcDuctSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDuctSilencer -boost::optional< ::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value > Ifc4x3_rc2::IfcDuctSilencer::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value > Ifc4x3_rc2::IfcDuctSilencer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcDuctSilencer::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcDuctSilencer::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[366]); } const IfcParse::entity& Ifc4x3_rc2::IfcDuctSilencer::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[366]); } Ifc4x3_rc2::IfcDuctSilencer::IfcDuctSilencer(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4x3_rc2::IfcDuctSilencer::IfcDuctSilencer(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcDuctSilencer::IfcDuctSilencer(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDuctSilencerType -::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value Ifc4x3_rc2::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value Ifc4x3_rc2::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcDuctSilencerType::setPredefinedType(::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcDuctSilencerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[367]); } const IfcParse::entity& Ifc4x3_rc2::IfcDuctSilencerType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[367]); } Ifc4x3_rc2::IfcDuctSilencerType::IfcDuctSilencerType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4x3_rc2::IfcDuctSilencerType::IfcDuctSilencerType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcDuctSilencerType::IfcDuctSilencerType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEarthworksCut -boost::optional< ::Ifc4x3_rc2::IfcEarthworksCutTypeEnum::Value > Ifc4x3_rc2::IfcEarthworksCut::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcEarthworksCutTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcEarthworksCutTypeEnum::Value > Ifc4x3_rc2::IfcEarthworksCut::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcEarthworksCutTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcEarthworksCut::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcEarthworksCutTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcEarthworksCutTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcEarthworksCut::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[371]); } const IfcParse::entity& Ifc4x3_rc2::IfcEarthworksCut::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[371]); } Ifc4x3_rc2::IfcEarthworksCut::IfcEarthworksCut(IfcEntityInstanceData&& e) : IfcFeatureElementSubtraction(std::move(e)) { } -Ifc4x3_rc2::IfcEarthworksCut::IfcEarthworksCut(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcEarthworksCutTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcEarthworksCut::IfcEarthworksCut(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcEarthworksCutTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEarthworksElement @@ -10624,194 +10624,194 @@ Ifc4x3_rc2::IfcEarthworksCut::IfcEarthworksCut(std::string v1_GlobalId, ::Ifc4x3 const IfcParse::entity& Ifc4x3_rc2::IfcEarthworksElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[373]); } const IfcParse::entity& Ifc4x3_rc2::IfcEarthworksElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[373]); } Ifc4x3_rc2::IfcEarthworksElement::IfcEarthworksElement(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc2::IfcEarthworksElement::IfcEarthworksElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuiltElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc2::IfcEarthworksElement::IfcEarthworksElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcEarthworksFill -boost::optional< ::Ifc4x3_rc2::IfcEarthworksFillTypeEnum::Value > Ifc4x3_rc2::IfcEarthworksFill::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcEarthworksFillTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcEarthworksFillTypeEnum::Value > Ifc4x3_rc2::IfcEarthworksFill::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcEarthworksFillTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcEarthworksFill::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcEarthworksFillTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcEarthworksFillTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcEarthworksFill::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[374]); } const IfcParse::entity& Ifc4x3_rc2::IfcEarthworksFill::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[374]); } Ifc4x3_rc2::IfcEarthworksFill::IfcEarthworksFill(IfcEntityInstanceData&& e) : IfcEarthworksElement(std::move(e)) { } -Ifc4x3_rc2::IfcEarthworksFill::IfcEarthworksFill(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType) : IfcEarthworksElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcEarthworksFillTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcEarthworksFill::IfcEarthworksFill(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType) : IfcEarthworksElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcEarthworksFillTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEdge -::Ifc4x3_rc2::IfcVertex* Ifc4x3_rc2::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcVertex>(true); } +::Ifc4x3_rc2::IfcVertex* Ifc4x3_rc2::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcVertex>(true); } void Ifc4x3_rc2::IfcEdge::setEdgeStart(::Ifc4x3_rc2::IfcVertex* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcVertex* Ifc4x3_rc2::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcVertex>(true); } +::Ifc4x3_rc2::IfcVertex* Ifc4x3_rc2::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcVertex>(true); } void Ifc4x3_rc2::IfcEdge::setEdgeEnd(::Ifc4x3_rc2::IfcVertex* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcEdge::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[376]); } const IfcParse::entity& Ifc4x3_rc2::IfcEdge::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[376]); } Ifc4x3_rc2::IfcEdge::IfcEdge(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcEdge::IfcEdge(::Ifc4x3_rc2::IfcVertex* v1_EdgeStart, ::Ifc4x3_rc2::IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcEdge::IfcEdge(::Ifc4x3_rc2::IfcVertex* v1_EdgeStart, ::Ifc4x3_rc2::IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcEdgeCurve -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcCurve>(true); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcEdgeCurve::setEdgeGeometry(::Ifc4x3_rc2::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x3_rc2::IfcEdgeCurve::SameSense() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x3_rc2::IfcEdgeCurve::SameSense() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcEdgeCurve::setSameSense(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcEdgeCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[377]); } const IfcParse::entity& Ifc4x3_rc2::IfcEdgeCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[377]); } Ifc4x3_rc2::IfcEdgeCurve::IfcEdgeCurve(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc4x3_rc2::IfcEdgeCurve::IfcEdgeCurve(::Ifc4x3_rc2::IfcVertex* v1_EdgeStart, ::Ifc4x3_rc2::IfcVertex* v2_EdgeEnd, ::Ifc4x3_rc2::IfcCurve* v3_EdgeGeometry, bool v4_SameSense) : IfcEdge(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EdgeGeometry ? v3_EdgeGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SameSense));; populate_derived(); } +Ifc4x3_rc2::IfcEdgeCurve::IfcEdgeCurve(::Ifc4x3_rc2::IfcVertex* v1_EdgeStart, ::Ifc4x3_rc2::IfcVertex* v2_EdgeEnd, ::Ifc4x3_rc2::IfcCurve* v3_EdgeGeometry, bool v4_SameSense) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EdgeGeometry ? v3_EdgeGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SameSense));; populate_derived(); } // Function implementations for IfcEdgeLoop -aggregate_of< ::Ifc4x3_rc2::IfcOrientedEdge >::ptr Ifc4x3_rc2::IfcEdgeLoop::EdgeList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcOrientedEdge >(); } +aggregate_of< ::Ifc4x3_rc2::IfcOrientedEdge >::ptr Ifc4x3_rc2::IfcEdgeLoop::EdgeList() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcOrientedEdge >(); } void Ifc4x3_rc2::IfcEdgeLoop::setEdgeList(aggregate_of< ::Ifc4x3_rc2::IfcOrientedEdge >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc2::IfcEdgeLoop::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[378]); } const IfcParse::entity& Ifc4x3_rc2::IfcEdgeLoop::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[378]); } Ifc4x3_rc2::IfcEdgeLoop::IfcEdgeLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc4x3_rc2::IfcEdgeLoop::IfcEdgeLoop(aggregate_of< ::Ifc4x3_rc2::IfcOrientedEdge >::ptr v1_EdgeList) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcEdgeLoop::IfcEdgeLoop(aggregate_of< ::Ifc4x3_rc2::IfcOrientedEdge >::ptr v1_EdgeList) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } // Function implementations for IfcElectricAppliance -boost::optional< ::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value > Ifc4x3_rc2::IfcElectricAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value > Ifc4x3_rc2::IfcElectricAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcElectricAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcElectricAppliance::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[379]); } const IfcParse::entity& Ifc4x3_rc2::IfcElectricAppliance::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[379]); } Ifc4x3_rc2::IfcElectricAppliance::IfcElectricAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc2::IfcElectricAppliance::IfcElectricAppliance(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcElectricAppliance::IfcElectricAppliance(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricApplianceType -::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value Ifc4x3_rc2::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value Ifc4x3_rc2::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcElectricApplianceType::setPredefinedType(::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcElectricApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[380]); } const IfcParse::entity& Ifc4x3_rc2::IfcElectricApplianceType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[380]); } Ifc4x3_rc2::IfcElectricApplianceType::IfcElectricApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc2::IfcElectricApplianceType::IfcElectricApplianceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcElectricApplianceType::IfcElectricApplianceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricDistributionBoard -boost::optional< ::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x3_rc2::IfcElectricDistributionBoard::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x3_rc2::IfcElectricDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcElectricDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcElectricDistributionBoard::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[386]); } const IfcParse::entity& Ifc4x3_rc2::IfcElectricDistributionBoard::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[386]); } Ifc4x3_rc2::IfcElectricDistributionBoard::IfcElectricDistributionBoard(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_rc2::IfcElectricDistributionBoard::IfcElectricDistributionBoard(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcElectricDistributionBoard::IfcElectricDistributionBoard(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricDistributionBoardType -::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3_rc2::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3_rc2::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcElectricDistributionBoardType::setPredefinedType(::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcElectricDistributionBoardType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[387]); } const IfcParse::entity& Ifc4x3_rc2::IfcElectricDistributionBoardType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[387]); } Ifc4x3_rc2::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_rc2::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricFlowStorageDevice -boost::optional< ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x3_rc2::IfcElectricFlowStorageDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x3_rc2::IfcElectricFlowStorageDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcElectricFlowStorageDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcElectricFlowStorageDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[389]); } const IfcParse::entity& Ifc4x3_rc2::IfcElectricFlowStorageDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[389]); } Ifc4x3_rc2::IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(IfcEntityInstanceData&& e) : IfcFlowStorageDevice(std::move(e)) { } -Ifc4x3_rc2::IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricFlowStorageDeviceType -::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3_rc2::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3_rc2::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcElectricFlowStorageDeviceType::setPredefinedType(::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcElectricFlowStorageDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[390]); } const IfcParse::entity& Ifc4x3_rc2::IfcElectricFlowStorageDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[390]); } Ifc4x3_rc2::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(IfcEntityInstanceData&& e) : IfcFlowStorageDeviceType(std::move(e)) { } -Ifc4x3_rc2::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricFlowTreatmentDevice -boost::optional< ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value > Ifc4x3_rc2::IfcElectricFlowTreatmentDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value > Ifc4x3_rc2::IfcElectricFlowTreatmentDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcElectricFlowTreatmentDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcElectricFlowTreatmentDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[392]); } const IfcParse::entity& Ifc4x3_rc2::IfcElectricFlowTreatmentDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[392]); } Ifc4x3_rc2::IfcElectricFlowTreatmentDevice::IfcElectricFlowTreatmentDevice(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4x3_rc2::IfcElectricFlowTreatmentDevice::IfcElectricFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcElectricFlowTreatmentDevice::IfcElectricFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricFlowTreatmentDeviceType -::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceType::setPredefinedType(::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[393]); } const IfcParse::entity& Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[393]); } Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceType::IfcElectricFlowTreatmentDeviceType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceType::IfcElectricFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceType::IfcElectricFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricGenerator -boost::optional< ::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value > Ifc4x3_rc2::IfcElectricGenerator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value > Ifc4x3_rc2::IfcElectricGenerator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcElectricGenerator::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcElectricGenerator::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[395]); } const IfcParse::entity& Ifc4x3_rc2::IfcElectricGenerator::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[395]); } Ifc4x3_rc2::IfcElectricGenerator::IfcElectricGenerator(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc2::IfcElectricGenerator::IfcElectricGenerator(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcElectricGenerator::IfcElectricGenerator(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricGeneratorType -::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value Ifc4x3_rc2::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value Ifc4x3_rc2::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcElectricGeneratorType::setPredefinedType(::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcElectricGeneratorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[396]); } const IfcParse::entity& Ifc4x3_rc2::IfcElectricGeneratorType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[396]); } Ifc4x3_rc2::IfcElectricGeneratorType::IfcElectricGeneratorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc2::IfcElectricGeneratorType::IfcElectricGeneratorType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcElectricGeneratorType::IfcElectricGeneratorType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricMotor -boost::optional< ::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value > Ifc4x3_rc2::IfcElectricMotor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcElectricMotorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value > Ifc4x3_rc2::IfcElectricMotor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcElectricMotorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcElectricMotor::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcElectricMotor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[398]); } const IfcParse::entity& Ifc4x3_rc2::IfcElectricMotor::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[398]); } Ifc4x3_rc2::IfcElectricMotor::IfcElectricMotor(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc2::IfcElectricMotor::IfcElectricMotor(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcElectricMotor::IfcElectricMotor(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricMotorType -::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value Ifc4x3_rc2::IfcElectricMotorType::PredefinedType() const { return ::Ifc4x3_rc2::IfcElectricMotorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value Ifc4x3_rc2::IfcElectricMotorType::PredefinedType() const { return ::Ifc4x3_rc2::IfcElectricMotorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcElectricMotorType::setPredefinedType(::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcElectricMotorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[399]); } const IfcParse::entity& Ifc4x3_rc2::IfcElectricMotorType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[399]); } Ifc4x3_rc2::IfcElectricMotorType::IfcElectricMotorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc2::IfcElectricMotorType::IfcElectricMotorType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcElectricMotorType::IfcElectricMotorType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricTimeControl -boost::optional< ::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value > Ifc4x3_rc2::IfcElectricTimeControl::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value > Ifc4x3_rc2::IfcElectricTimeControl::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcElectricTimeControl::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcElectricTimeControl::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[402]); } const IfcParse::entity& Ifc4x3_rc2::IfcElectricTimeControl::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[402]); } Ifc4x3_rc2::IfcElectricTimeControl::IfcElectricTimeControl(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_rc2::IfcElectricTimeControl::IfcElectricTimeControl(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcElectricTimeControl::IfcElectricTimeControl(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricTimeControlType -::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value Ifc4x3_rc2::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value Ifc4x3_rc2::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcElectricTimeControlType::setPredefinedType(::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcElectricTimeControlType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[403]); } const IfcParse::entity& Ifc4x3_rc2::IfcElectricTimeControlType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[403]); } Ifc4x3_rc2::IfcElectricTimeControlType::IfcElectricTimeControlType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_rc2::IfcElectricTimeControlType::IfcElectricTimeControlType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcElectricTimeControlType::IfcElectricTimeControlType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElement -boost::optional< std::string > Ifc4x3_rc2::IfcElement::Tag() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcElement::Tag() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcElement::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } ::Ifc4x3_rc2::IfcRelFillsElement::list::ptr Ifc4x3_rc2::IfcElement::FillsVoids() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[954], 5)->as(); } @@ -10829,29 +10829,29 @@ void Ifc4x3_rc2::IfcElement::setTag(boost::optional< std::string > v) { if (v) { const IfcParse::entity& Ifc4x3_rc2::IfcElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[406]); } const IfcParse::entity& Ifc4x3_rc2::IfcElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[406]); } Ifc4x3_rc2::IfcElement::IfcElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_rc2::IfcElement::IfcElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcProduct(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc2::IfcElement::IfcElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcElementAssembly -boost::optional< ::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Value > Ifc4x3_rc2::IfcElementAssembly::AssemblyPlace() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcAssemblyPlaceEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Value > Ifc4x3_rc2::IfcElementAssembly::AssemblyPlace() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcAssemblyPlaceEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcElementAssembly::setAssemblyPlace(boost::optional< ::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< ::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Value > Ifc4x3_rc2::IfcElementAssembly::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Value > Ifc4x3_rc2::IfcElementAssembly::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcElementAssembly::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc2::IfcElementAssembly::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[408]); } const IfcParse::entity& Ifc4x3_rc2::IfcElementAssembly::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[408]); } Ifc4x3_rc2::IfcElementAssembly::IfcElementAssembly(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc2::IfcElementAssembly::IfcElementAssembly(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, boost::optional< ::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) : IfcElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcElementAssembly::IfcElementAssembly(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, boost::optional< ::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElementAssemblyType -::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Value Ifc4x3_rc2::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Value Ifc4x3_rc2::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcElementAssemblyType::setPredefinedType(::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcElementAssemblyType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[409]); } const IfcParse::entity& Ifc4x3_rc2::IfcElementAssemblyType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[409]); } Ifc4x3_rc2::IfcElementAssemblyType::IfcElementAssemblyType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_rc2::IfcElementAssemblyType::IfcElementAssemblyType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcElementAssemblyType::IfcElementAssemblyType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElementComponent @@ -10859,7 +10859,7 @@ Ifc4x3_rc2::IfcElementAssemblyType::IfcElementAssemblyType(std::string v1_Global const IfcParse::entity& Ifc4x3_rc2::IfcElementComponent::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[411]); } const IfcParse::entity& Ifc4x3_rc2::IfcElementComponent::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[411]); } Ifc4x3_rc2::IfcElementComponent::IfcElementComponent(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc2::IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc2::IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcElementComponentType @@ -10867,63 +10867,63 @@ Ifc4x3_rc2::IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x3_rc2::IfcElementComponentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[412]); } const IfcParse::entity& Ifc4x3_rc2::IfcElementComponentType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[412]); } Ifc4x3_rc2::IfcElementComponentType::IfcElementComponentType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_rc2::IfcElementComponentType::IfcElementComponentType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc2::IfcElementComponentType::IfcElementComponentType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcElementQuantity -boost::optional< std::string > Ifc4x3_rc2::IfcElementQuantity::MethodOfMeasurement() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcElementQuantity::MethodOfMeasurement() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcElementQuantity::setMethodOfMeasurement(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -aggregate_of< ::Ifc4x3_rc2::IfcPhysicalQuantity >::ptr Ifc4x3_rc2::IfcElementQuantity::Quantities() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc2::IfcPhysicalQuantity >(); } +aggregate_of< ::Ifc4x3_rc2::IfcPhysicalQuantity >::ptr Ifc4x3_rc2::IfcElementQuantity::Quantities() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc2::IfcPhysicalQuantity >(); } void Ifc4x3_rc2::IfcElementQuantity::setQuantities(aggregate_of< ::Ifc4x3_rc2::IfcPhysicalQuantity >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcElementQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[414]); } const IfcParse::entity& Ifc4x3_rc2::IfcElementQuantity::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[414]); } Ifc4x3_rc2::IfcElementQuantity::IfcElementQuantity(IfcEntityInstanceData&& e) : IfcQuantitySet(std::move(e)) { } -Ifc4x3_rc2::IfcElementQuantity::IfcElementQuantity(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_MethodOfMeasurement, aggregate_of< ::Ifc4x3_rc2::IfcPhysicalQuantity >::ptr v6_Quantities) : IfcQuantitySet(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, (v6_Quantities)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcElementQuantity::IfcElementQuantity(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_MethodOfMeasurement, aggregate_of< ::Ifc4x3_rc2::IfcPhysicalQuantity >::ptr v6_Quantities) : IfcQuantitySet(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, (v6_Quantities)->generalize());; populate_derived(); } // Function implementations for IfcElementType -boost::optional< std::string > Ifc4x3_rc2::IfcElementType::ElementType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcElementType::setElementType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[415]); } const IfcParse::entity& Ifc4x3_rc2::IfcElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[415]); } Ifc4x3_rc2::IfcElementType::IfcElementType(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(e)) { } -Ifc4x3_rc2::IfcElementType::IfcElementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc2::IfcElementType::IfcElementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcElementarySurface -::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(true); } void Ifc4x3_rc2::IfcElementarySurface::setPosition(::Ifc4x3_rc2::IfcAxis2Placement3D* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc2::IfcElementarySurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[407]); } const IfcParse::entity& Ifc4x3_rc2::IfcElementarySurface::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[407]); } Ifc4x3_rc2::IfcElementarySurface::IfcElementarySurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x3_rc2::IfcElementarySurface::IfcElementarySurface(::Ifc4x3_rc2::IfcAxis2Placement3D* v1_Position) : IfcSurface(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcElementarySurface::IfcElementarySurface(::Ifc4x3_rc2::IfcAxis2Placement3D* v1_Position) : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcEllipse -double Ifc4x3_rc2::IfcEllipse::SemiAxis1() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc2::IfcEllipse::SemiAxis1() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcEllipse::setSemiAxis1(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc2::IfcEllipse::SemiAxis2() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc2::IfcEllipse::SemiAxis2() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcEllipse::setSemiAxis2(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcEllipse::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[416]); } const IfcParse::entity& Ifc4x3_rc2::IfcEllipse::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[416]); } Ifc4x3_rc2::IfcEllipse::IfcEllipse(IfcEntityInstanceData&& e) : IfcConic(std::move(e)) { } -Ifc4x3_rc2::IfcEllipse::IfcEllipse(::Ifc4x3_rc2::IfcAxis2Placement* v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) : IfcConic(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; populate_derived(); } +Ifc4x3_rc2::IfcEllipse::IfcEllipse(::Ifc4x3_rc2::IfcAxis2Placement* v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) : IfcConic(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; populate_derived(); } // Function implementations for IfcEllipseProfileDef -double Ifc4x3_rc2::IfcEllipseProfileDef::SemiAxis1() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc2::IfcEllipseProfileDef::SemiAxis1() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcEllipseProfileDef::setSemiAxis1(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc2::IfcEllipseProfileDef::SemiAxis2() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc2::IfcEllipseProfileDef::SemiAxis2() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcEllipseProfileDef::setSemiAxis2(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc2::IfcEllipseProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[417]); } const IfcParse::entity& Ifc4x3_rc2::IfcEllipseProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[417]); } Ifc4x3_rc2::IfcEllipseProfileDef::IfcEllipseProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_rc2::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D* v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; populate_derived(); } +Ifc4x3_rc2::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D* v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; populate_derived(); } // Function implementations for IfcEnergyConversionDevice @@ -10931,7 +10931,7 @@ Ifc4x3_rc2::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc4x3_rc2::IfcProfileT const IfcParse::entity& Ifc4x3_rc2::IfcEnergyConversionDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[418]); } const IfcParse::entity& Ifc4x3_rc2::IfcEnergyConversionDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[418]); } Ifc4x3_rc2::IfcEnergyConversionDevice::IfcEnergyConversionDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_rc2::IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc2::IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcEnergyConversionDeviceType @@ -10939,127 +10939,127 @@ Ifc4x3_rc2::IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_ const IfcParse::entity& Ifc4x3_rc2::IfcEnergyConversionDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[419]); } const IfcParse::entity& Ifc4x3_rc2::IfcEnergyConversionDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[419]); } Ifc4x3_rc2::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_rc2::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc2::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcEngine -boost::optional< ::Ifc4x3_rc2::IfcEngineTypeEnum::Value > Ifc4x3_rc2::IfcEngine::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcEngineTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcEngineTypeEnum::Value > Ifc4x3_rc2::IfcEngine::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcEngineTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcEngine::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcEngineTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcEngineTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcEngine::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[421]); } const IfcParse::entity& Ifc4x3_rc2::IfcEngine::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[421]); } Ifc4x3_rc2::IfcEngine::IfcEngine(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc2::IfcEngine::IfcEngine(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcEngineTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcEngine::IfcEngine(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcEngineTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEngineType -::Ifc4x3_rc2::IfcEngineTypeEnum::Value Ifc4x3_rc2::IfcEngineType::PredefinedType() const { return ::Ifc4x3_rc2::IfcEngineTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcEngineTypeEnum::Value Ifc4x3_rc2::IfcEngineType::PredefinedType() const { return ::Ifc4x3_rc2::IfcEngineTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcEngineType::setPredefinedType(::Ifc4x3_rc2::IfcEngineTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcEngineTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcEngineType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[422]); } const IfcParse::entity& Ifc4x3_rc2::IfcEngineType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[422]); } Ifc4x3_rc2::IfcEngineType::IfcEngineType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc2::IfcEngineType::IfcEngineType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcEngineTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcEngineType::IfcEngineType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcEngineTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEvaporativeCooler -boost::optional< ::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x3_rc2::IfcEvaporativeCooler::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x3_rc2::IfcEvaporativeCooler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcEvaporativeCooler::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcEvaporativeCooler::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[424]); } const IfcParse::entity& Ifc4x3_rc2::IfcEvaporativeCooler::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[424]); } Ifc4x3_rc2::IfcEvaporativeCooler::IfcEvaporativeCooler(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc2::IfcEvaporativeCooler::IfcEvaporativeCooler(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcEvaporativeCooler::IfcEvaporativeCooler(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEvaporativeCoolerType -::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3_rc2::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3_rc2::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcEvaporativeCoolerType::setPredefinedType(::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcEvaporativeCoolerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[425]); } const IfcParse::entity& Ifc4x3_rc2::IfcEvaporativeCoolerType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[425]); } Ifc4x3_rc2::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc2::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEvaporator -boost::optional< ::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value > Ifc4x3_rc2::IfcEvaporator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcEvaporatorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value > Ifc4x3_rc2::IfcEvaporator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcEvaporatorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcEvaporator::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcEvaporator::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[427]); } const IfcParse::entity& Ifc4x3_rc2::IfcEvaporator::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[427]); } Ifc4x3_rc2::IfcEvaporator::IfcEvaporator(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc2::IfcEvaporator::IfcEvaporator(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcEvaporator::IfcEvaporator(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEvaporatorType -::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value Ifc4x3_rc2::IfcEvaporatorType::PredefinedType() const { return ::Ifc4x3_rc2::IfcEvaporatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value Ifc4x3_rc2::IfcEvaporatorType::PredefinedType() const { return ::Ifc4x3_rc2::IfcEvaporatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcEvaporatorType::setPredefinedType(::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcEvaporatorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[428]); } const IfcParse::entity& Ifc4x3_rc2::IfcEvaporatorType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[428]); } Ifc4x3_rc2::IfcEvaporatorType::IfcEvaporatorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc2::IfcEvaporatorType::IfcEvaporatorType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcEvaporatorType::IfcEvaporatorType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEvent -boost::optional< ::Ifc4x3_rc2::IfcEventTypeEnum::Value > Ifc4x3_rc2::IfcEvent::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcEventTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_rc2::IfcEventTypeEnum::Value > Ifc4x3_rc2::IfcEvent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcEventTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc2::IfcEvent::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcEventTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc2::IfcEventTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Value > Ifc4x3_rc2::IfcEvent::EventTriggerType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcEventTriggerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Value > Ifc4x3_rc2::IfcEvent::EventTriggerType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcEventTriggerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcEvent::setEventTriggerType(boost::optional< ::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_rc2::IfcEvent::UserDefinedEventTriggerType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcEvent::UserDefinedEventTriggerType() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc2::IfcEvent::setUserDefinedEventTriggerType(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -::Ifc4x3_rc2::IfcEventTime* Ifc4x3_rc2::IfcEvent::EventOccurenceTime() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_rc2::IfcEventTime>(true); } +::Ifc4x3_rc2::IfcEventTime* Ifc4x3_rc2::IfcEvent::EventOccurenceTime() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_rc2::IfcEventTime>(true); } void Ifc4x3_rc2::IfcEvent::setEventOccurenceTime(::Ifc4x3_rc2::IfcEventTime* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_rc2::IfcEvent::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[430]); } const IfcParse::entity& Ifc4x3_rc2::IfcEvent::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[430]); } Ifc4x3_rc2::IfcEvent::IfcEvent(IfcEntityInstanceData&& e) : IfcProcess(std::move(e)) { } -Ifc4x3_rc2::IfcEvent::IfcEvent(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< ::Ifc4x3_rc2::IfcEventTypeEnum::Value > v8_PredefinedType, boost::optional< ::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, boost::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_rc2::IfcEventTime* v11_EventOccurenceTime) : IfcProcess(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, v11_EventOccurenceTime ? v11_EventOccurenceTime->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcEvent::IfcEvent(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< ::Ifc4x3_rc2::IfcEventTypeEnum::Value > v8_PredefinedType, boost::optional< ::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, boost::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_rc2::IfcEventTime* v11_EventOccurenceTime) : IfcProcess(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, v11_EventOccurenceTime ? v11_EventOccurenceTime->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcEventTime -boost::optional< std::string > Ifc4x3_rc2::IfcEventTime::ActualDate() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcEventTime::ActualDate() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcEventTime::setActualDate(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc2::IfcEventTime::EarlyDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcEventTime::EarlyDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcEventTime::setEarlyDate(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc2::IfcEventTime::LateDate() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcEventTime::LateDate() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcEventTime::setLateDate(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc2::IfcEventTime::ScheduleDate() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcEventTime::ScheduleDate() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcEventTime::setScheduleDate(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc2::IfcEventTime::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[431]); } const IfcParse::entity& Ifc4x3_rc2::IfcEventTime::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[431]); } Ifc4x3_rc2::IfcEventTime::IfcEventTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x3_rc2::IfcEventTime::IfcEventTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< std::string > v4_ActualDate, boost::optional< std::string > v5_EarlyDate, boost::optional< std::string > v6_LateDate, boost::optional< std::string > v7_ScheduleDate) : IfcSchedulingTime(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); }; populate_derived(); } +Ifc4x3_rc2::IfcEventTime::IfcEventTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< std::string > v4_ActualDate, boost::optional< std::string > v5_EarlyDate, boost::optional< std::string > v6_LateDate, boost::optional< std::string > v7_ScheduleDate) : IfcSchedulingTime(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); }; populate_derived(); } // Function implementations for IfcEventType -::Ifc4x3_rc2::IfcEventTypeEnum::Value Ifc4x3_rc2::IfcEventType::PredefinedType() const { return ::Ifc4x3_rc2::IfcEventTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcEventTypeEnum::Value Ifc4x3_rc2::IfcEventType::PredefinedType() const { return ::Ifc4x3_rc2::IfcEventTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcEventType::setPredefinedType(::Ifc4x3_rc2::IfcEventTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcEventTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Value Ifc4x3_rc2::IfcEventType::EventTriggerType() const { return ::Ifc4x3_rc2::IfcEventTriggerTypeEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Value Ifc4x3_rc2::IfcEventType::EventTriggerType() const { return ::Ifc4x3_rc2::IfcEventTriggerTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc2::IfcEventType::setEventTriggerType(::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } -boost::optional< std::string > Ifc4x3_rc2::IfcEventType::UserDefinedEventTriggerType() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcEventType::UserDefinedEventTriggerType() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x3_rc2::IfcEventType::setUserDefinedEventTriggerType(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x3_rc2::IfcEventType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[433]); } const IfcParse::entity& Ifc4x3_rc2::IfcEventType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[433]); } Ifc4x3_rc2::IfcEventType::IfcEventType(IfcEntityInstanceData&& e) : IfcTypeProcess(std::move(e)) { } -Ifc4x3_rc2::IfcEventType::IfcEventType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_rc2::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, boost::optional< std::string > v12_UserDefinedEventTriggerType) : IfcTypeProcess(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); }; populate_derived(); } +Ifc4x3_rc2::IfcEventType::IfcEventType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_rc2::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, boost::optional< std::string > v12_UserDefinedEventTriggerType) : IfcTypeProcess(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); }; populate_derived(); } // Function implementations for IfcExtendedProperties -boost::optional< std::string > Ifc4x3_rc2::IfcExtendedProperties::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcExtendedProperties::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcExtendedProperties::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc2::IfcExtendedProperties::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcExtendedProperties::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcExtendedProperties::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3_rc2::IfcProperty >::ptr Ifc4x3_rc2::IfcExtendedProperties::Properties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcProperty >(); } +aggregate_of< ::Ifc4x3_rc2::IfcProperty >::ptr Ifc4x3_rc2::IfcExtendedProperties::Properties() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcProperty >(); } void Ifc4x3_rc2::IfcExtendedProperties::setProperties(aggregate_of< ::Ifc4x3_rc2::IfcProperty >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcExtendedProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[435]); } const IfcParse::entity& Ifc4x3_rc2::IfcExtendedProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[435]); } Ifc4x3_rc2::IfcExtendedProperties::IfcExtendedProperties(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x3_rc2::IfcExtendedProperties::IfcExtendedProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcProperty >::ptr v3_Properties) : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcExtendedProperties::IfcExtendedProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcProperty >::ptr v3_Properties) : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());; populate_derived(); } // Function implementations for IfcExternalInformation @@ -11067,14 +11067,14 @@ Ifc4x3_rc2::IfcExtendedProperties::IfcExtendedProperties(boost::optional< std::s const IfcParse::entity& Ifc4x3_rc2::IfcExternalInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[436]); } const IfcParse::entity& Ifc4x3_rc2::IfcExternalInformation::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[436]); } Ifc4x3_rc2::IfcExternalInformation::IfcExternalInformation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcExternalInformation::IfcExternalInformation() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc2::IfcExternalInformation::IfcExternalInformation() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcExternalReference -boost::optional< std::string > Ifc4x3_rc2::IfcExternalReference::Location() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcExternalReference::Location() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcExternalReference::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc2::IfcExternalReference::Identification() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcExternalReference::Identification() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcExternalReference::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc2::IfcExternalReference::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcExternalReference::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcExternalReference::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3_rc2::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc2::IfcExternalReference::ExternalReferenceForResources() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[441], 2)->as(); } @@ -11082,22 +11082,22 @@ void Ifc4x3_rc2::IfcExternalReference::setName(boost::optional< std::string > v) const IfcParse::entity& Ifc4x3_rc2::IfcExternalReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[440]); } const IfcParse::entity& Ifc4x3_rc2::IfcExternalReference::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[440]); } Ifc4x3_rc2::IfcExternalReference::IfcExternalReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcExternalReference::IfcExternalReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3_rc2::IfcExternalReference::IfcExternalReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternalReferenceRelationship -::Ifc4x3_rc2::IfcExternalReference* Ifc4x3_rc2::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcExternalReference>(true); } +::Ifc4x3_rc2::IfcExternalReference* Ifc4x3_rc2::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcExternalReference>(true); } void Ifc4x3_rc2::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4x3_rc2::IfcExternalReference* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr Ifc4x3_rc2::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc2::IfcResourceObjectSelect >(); } +aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr Ifc4x3_rc2::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc2::IfcResourceObjectSelect >(); } void Ifc4x3_rc2::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcExternalReferenceRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[441]); } const IfcParse::entity& Ifc4x3_rc2::IfcExternalReferenceRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[441]); } Ifc4x3_rc2::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_rc2::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingReference ? v3_RelatingReference->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingReference ? v3_RelatingReference->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } // Function implementations for IfcExternalSpatialElement -boost::optional< ::Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_rc2::IfcExternalSpatialElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_rc2::IfcExternalSpatialElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcExternalSpatialElement::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x3_rc2::IfcRelSpaceBoundary::list::ptr Ifc4x3_rc2::IfcExternalSpatialElement::BoundedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[963], 4)->as(); } @@ -11105,7 +11105,7 @@ void Ifc4x3_rc2::IfcExternalSpatialElement::setPredefinedType(boost::optional< : const IfcParse::entity& Ifc4x3_rc2::IfcExternalSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[442]); } const IfcParse::entity& Ifc4x3_rc2::IfcExternalSpatialElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[442]); } Ifc4x3_rc2::IfcExternalSpatialElement::IfcExternalSpatialElement(IfcEntityInstanceData&& e) : IfcExternalSpatialStructureElement(std::move(e)) { } -Ifc4x3_rc2::IfcExternalSpatialElement::IfcExternalSpatialElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) : IfcExternalSpatialStructureElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcExternalSpatialElement::IfcExternalSpatialElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) : IfcExternalSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcExternalSpatialStructureElement @@ -11113,7 +11113,7 @@ Ifc4x3_rc2::IfcExternalSpatialElement::IfcExternalSpatialElement(std::string v1_ const IfcParse::entity& Ifc4x3_rc2::IfcExternalSpatialStructureElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[444]); } const IfcParse::entity& Ifc4x3_rc2::IfcExternalSpatialStructureElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[444]); } Ifc4x3_rc2::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(IfcEntityInstanceData&& e) : IfcSpatialElement(std::move(e)) { } -Ifc4x3_rc2::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcSpatialElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } +Ifc4x3_rc2::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcSpatialElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedHatchStyle @@ -11121,7 +11121,7 @@ Ifc4x3_rc2::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureEleme const IfcParse::entity& Ifc4x3_rc2::IfcExternallyDefinedHatchStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[437]); } const IfcParse::entity& Ifc4x3_rc2::IfcExternallyDefinedHatchStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[437]); } Ifc4x3_rc2::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_rc2::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3_rc2::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedSurfaceStyle @@ -11129,7 +11129,7 @@ Ifc4x3_rc2::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost const IfcParse::entity& Ifc4x3_rc2::IfcExternallyDefinedSurfaceStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[438]); } const IfcParse::entity& Ifc4x3_rc2::IfcExternallyDefinedSurfaceStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[438]); } Ifc4x3_rc2::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_rc2::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3_rc2::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedTextFont @@ -11137,32 +11137,32 @@ Ifc4x3_rc2::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(b const IfcParse::entity& Ifc4x3_rc2::IfcExternallyDefinedTextFont::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[439]); } const IfcParse::entity& Ifc4x3_rc2::IfcExternallyDefinedTextFont::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[439]); } Ifc4x3_rc2::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_rc2::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3_rc2::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExtrudedAreaSolid -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcDirection>(true); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcExtrudedAreaSolid::setExtrudedDirection(::Ifc4x3_rc2::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc2::IfcExtrudedAreaSolid::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc2::IfcExtrudedAreaSolid::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcExtrudedAreaSolid::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcExtrudedAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[445]); } const IfcParse::entity& Ifc4x3_rc2::IfcExtrudedAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[445]); } Ifc4x3_rc2::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4x3_rc2::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(::Ifc4x3_rc2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc2::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } +Ifc4x3_rc2::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(::Ifc4x3_rc2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc2::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } // Function implementations for IfcExtrudedAreaSolidTapered -::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcProfileDef>(true); } +::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcProfileDef>(true); } void Ifc4x3_rc2::IfcExtrudedAreaSolidTapered::setEndSweptArea(::Ifc4x3_rc2::IfcProfileDef* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc2::IfcExtrudedAreaSolidTapered::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[446]); } const IfcParse::entity& Ifc4x3_rc2::IfcExtrudedAreaSolidTapered::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[446]); } Ifc4x3_rc2::IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(IfcEntityInstanceData&& e) : IfcExtrudedAreaSolid(std::move(e)) { } -Ifc4x3_rc2::IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(::Ifc4x3_rc2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc2::IfcDirection* v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_rc2::IfcProfileDef* v5_EndSweptArea) : IfcExtrudedAreaSolid(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(::Ifc4x3_rc2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc2::IfcDirection* v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_rc2::IfcProfileDef* v5_EndSweptArea) : IfcExtrudedAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcFace -aggregate_of< ::Ifc4x3_rc2::IfcFaceBound >::ptr Ifc4x3_rc2::IfcFace::Bounds() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcFaceBound >(); } +aggregate_of< ::Ifc4x3_rc2::IfcFaceBound >::ptr Ifc4x3_rc2::IfcFace::Bounds() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcFaceBound >(); } void Ifc4x3_rc2::IfcFace::setBounds(aggregate_of< ::Ifc4x3_rc2::IfcFaceBound >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_rc2::IfcTextureMap::list::ptr Ifc4x3_rc2::IfcFace::HasTextureMaps() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[1209], 2)->as(); } @@ -11170,29 +11170,29 @@ void Ifc4x3_rc2::IfcFace::setBounds(aggregate_of< ::Ifc4x3_rc2::IfcFaceBound >:: const IfcParse::entity& Ifc4x3_rc2::IfcFace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[447]); } const IfcParse::entity& Ifc4x3_rc2::IfcFace::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[447]); } Ifc4x3_rc2::IfcFace::IfcFace(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcFace::IfcFace(aggregate_of< ::Ifc4x3_rc2::IfcFaceBound >::ptr v1_Bounds) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Bounds)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcFace::IfcFace(aggregate_of< ::Ifc4x3_rc2::IfcFaceBound >::ptr v1_Bounds) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Bounds)->generalize());; populate_derived(); } // Function implementations for IfcFaceBasedSurfaceModel -aggregate_of< ::Ifc4x3_rc2::IfcConnectedFaceSet >::ptr Ifc4x3_rc2::IfcFaceBasedSurfaceModel::FbsmFaces() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcConnectedFaceSet >(); } +aggregate_of< ::Ifc4x3_rc2::IfcConnectedFaceSet >::ptr Ifc4x3_rc2::IfcFaceBasedSurfaceModel::FbsmFaces() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcConnectedFaceSet >(); } void Ifc4x3_rc2::IfcFaceBasedSurfaceModel::setFbsmFaces(aggregate_of< ::Ifc4x3_rc2::IfcConnectedFaceSet >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc2::IfcFaceBasedSurfaceModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[448]); } const IfcParse::entity& Ifc4x3_rc2::IfcFaceBasedSurfaceModel::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[448]); } Ifc4x3_rc2::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(aggregate_of< ::Ifc4x3_rc2::IfcConnectedFaceSet >::ptr v1_FbsmFaces) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_FbsmFaces)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(aggregate_of< ::Ifc4x3_rc2::IfcConnectedFaceSet >::ptr v1_FbsmFaces) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_FbsmFaces)->generalize());; populate_derived(); } // Function implementations for IfcFaceBound -::Ifc4x3_rc2::IfcLoop* Ifc4x3_rc2::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcLoop>(true); } +::Ifc4x3_rc2::IfcLoop* Ifc4x3_rc2::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcLoop>(true); } void Ifc4x3_rc2::IfcFaceBound::setBound(::Ifc4x3_rc2::IfcLoop* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -bool Ifc4x3_rc2::IfcFaceBound::Orientation() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x3_rc2::IfcFaceBound::Orientation() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcFaceBound::setOrientation(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcFaceBound::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[449]); } const IfcParse::entity& Ifc4x3_rc2::IfcFaceBound::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[449]); } Ifc4x3_rc2::IfcFaceBound::IfcFaceBound(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcFaceBound::IfcFaceBound(::Ifc4x3_rc2::IfcLoop* v1_Bound, bool v2_Orientation) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } +Ifc4x3_rc2::IfcFaceBound::IfcFaceBound(::Ifc4x3_rc2::IfcLoop* v1_Bound, bool v2_Orientation) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } // Function implementations for IfcFaceOuterBound @@ -11200,19 +11200,19 @@ Ifc4x3_rc2::IfcFaceBound::IfcFaceBound(::Ifc4x3_rc2::IfcLoop* v1_Bound, bool v2_ const IfcParse::entity& Ifc4x3_rc2::IfcFaceOuterBound::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[450]); } const IfcParse::entity& Ifc4x3_rc2::IfcFaceOuterBound::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[450]); } Ifc4x3_rc2::IfcFaceOuterBound::IfcFaceOuterBound(IfcEntityInstanceData&& e) : IfcFaceBound(std::move(e)) { } -Ifc4x3_rc2::IfcFaceOuterBound::IfcFaceOuterBound(::Ifc4x3_rc2::IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } +Ifc4x3_rc2::IfcFaceOuterBound::IfcFaceOuterBound(::Ifc4x3_rc2::IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } // Function implementations for IfcFaceSurface -::Ifc4x3_rc2::IfcSurface* Ifc4x3_rc2::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcSurface>(true); } +::Ifc4x3_rc2::IfcSurface* Ifc4x3_rc2::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcSurface>(true); } void Ifc4x3_rc2::IfcFaceSurface::setFaceSurface(::Ifc4x3_rc2::IfcSurface* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -bool Ifc4x3_rc2::IfcFaceSurface::SameSense() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x3_rc2::IfcFaceSurface::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcFaceSurface::setSameSense(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcFaceSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[451]); } const IfcParse::entity& Ifc4x3_rc2::IfcFaceSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[451]); } Ifc4x3_rc2::IfcFaceSurface::IfcFaceSurface(IfcEntityInstanceData&& e) : IfcFace(std::move(e)) { } -Ifc4x3_rc2::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc4x3_rc2::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_rc2::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFace(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } +Ifc4x3_rc2::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc4x3_rc2::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_rc2::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFace(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } // Function implementations for IfcFacetedBrep @@ -11220,17 +11220,17 @@ Ifc4x3_rc2::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc4x3_rc2::IfcFaceBo const IfcParse::entity& Ifc4x3_rc2::IfcFacetedBrep::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[452]); } const IfcParse::entity& Ifc4x3_rc2::IfcFacetedBrep::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[452]); } Ifc4x3_rc2::IfcFacetedBrep::IfcFacetedBrep(IfcEntityInstanceData&& e) : IfcManifoldSolidBrep(std::move(e)) { } -Ifc4x3_rc2::IfcFacetedBrep::IfcFacetedBrep(::Ifc4x3_rc2::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcFacetedBrep::IfcFacetedBrep(::Ifc4x3_rc2::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcFacetedBrepWithVoids -aggregate_of< ::Ifc4x3_rc2::IfcClosedShell >::ptr Ifc4x3_rc2::IfcFacetedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcClosedShell >(); } +aggregate_of< ::Ifc4x3_rc2::IfcClosedShell >::ptr Ifc4x3_rc2::IfcFacetedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcClosedShell >(); } void Ifc4x3_rc2::IfcFacetedBrepWithVoids::setVoids(aggregate_of< ::Ifc4x3_rc2::IfcClosedShell >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcFacetedBrepWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[453]); } const IfcParse::entity& Ifc4x3_rc2::IfcFacetedBrepWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[453]); } Ifc4x3_rc2::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(IfcEntityInstanceData&& e) : IfcFacetedBrep(std::move(e)) { } -Ifc4x3_rc2::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4x3_rc2::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3_rc2::IfcClosedShell >::ptr v2_Voids) : IfcFacetedBrep(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4x3_rc2::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3_rc2::IfcClosedShell >::ptr v2_Voids) : IfcFacetedBrep(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } // Function implementations for IfcFacility @@ -11238,79 +11238,79 @@ Ifc4x3_rc2::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4x3_rc2::IfcCl const IfcParse::entity& Ifc4x3_rc2::IfcFacility::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[454]); } const IfcParse::entity& Ifc4x3_rc2::IfcFacility::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[454]); } Ifc4x3_rc2::IfcFacility::IfcFacility(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x3_rc2::IfcFacility::IfcFacility(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } +Ifc4x3_rc2::IfcFacility::IfcFacility(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } // Function implementations for IfcFacilityPart -::Ifc4x3_rc2::IfcFacilityPartTypeSelect* Ifc4x3_rc2::IfcFacilityPart::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc2::IfcFacilityPartTypeSelect>(true); } +::Ifc4x3_rc2::IfcFacilityPartTypeSelect* Ifc4x3_rc2::IfcFacilityPart::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc2::IfcFacilityPartTypeSelect>(true); } void Ifc4x3_rc2::IfcFacilityPart::setPredefinedType(::Ifc4x3_rc2::IfcFacilityPartTypeSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc2::IfcFacilityUsageEnum::Value Ifc4x3_rc2::IfcFacilityPart::UsageType() const { return ::Ifc4x3_rc2::IfcFacilityUsageEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3_rc2::IfcFacilityUsageEnum::Value Ifc4x3_rc2::IfcFacilityPart::UsageType() const { return ::Ifc4x3_rc2::IfcFacilityUsageEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc2::IfcFacilityPart::setUsageType(::Ifc4x3_rc2::IfcFacilityUsageEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc2::IfcFacilityUsageEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_rc2::IfcFacilityPart::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[455]); } const IfcParse::entity& Ifc4x3_rc2::IfcFacilityPart::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[455]); } Ifc4x3_rc2::IfcFacilityPart::IfcFacilityPart(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x3_rc2::IfcFacilityPart::IfcFacilityPart(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc2::IfcFacilityPartTypeSelect* v10_PredefinedType, ::Ifc4x3_rc2::IfcFacilityUsageEnum::Value v11_UsageType) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, v10_PredefinedType ? v10_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcFacilityUsageEnum::Class(),(size_t)v11_UsageType)));; populate_derived(); } +Ifc4x3_rc2::IfcFacilityPart::IfcFacilityPart(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc2::IfcFacilityPartTypeSelect* v10_PredefinedType, ::Ifc4x3_rc2::IfcFacilityUsageEnum::Value v11_UsageType) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, v10_PredefinedType ? v10_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcFacilityUsageEnum::Class(),(size_t)v11_UsageType)));; populate_derived(); } // Function implementations for IfcFailureConnectionCondition -boost::optional< double > Ifc4x3_rc2::IfcFailureConnectionCondition::TensionFailureX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc2::IfcFailureConnectionCondition::TensionFailureX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcFailureConnectionCondition::setTensionFailureX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc2::IfcFailureConnectionCondition::TensionFailureY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc2::IfcFailureConnectionCondition::TensionFailureY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcFailureConnectionCondition::setTensionFailureY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc2::IfcFailureConnectionCondition::TensionFailureZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc2::IfcFailureConnectionCondition::TensionFailureZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcFailureConnectionCondition::setTensionFailureZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc2::IfcFailureConnectionCondition::CompressionFailureX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc2::IfcFailureConnectionCondition::CompressionFailureX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcFailureConnectionCondition::setCompressionFailureX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_rc2::IfcFailureConnectionCondition::CompressionFailureY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc2::IfcFailureConnectionCondition::CompressionFailureY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcFailureConnectionCondition::setCompressionFailureY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_rc2::IfcFailureConnectionCondition::CompressionFailureZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc2::IfcFailureConnectionCondition::CompressionFailureZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcFailureConnectionCondition::setCompressionFailureZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc2::IfcFailureConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[459]); } const IfcParse::entity& Ifc4x3_rc2::IfcFailureConnectionCondition::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[459]); } Ifc4x3_rc2::IfcFailureConnectionCondition::IfcFailureConnectionCondition(IfcEntityInstanceData&& e) : IfcStructuralConnectionCondition(std::move(e)) { } -Ifc4x3_rc2::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; populate_derived(); } +Ifc4x3_rc2::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; populate_derived(); } // Function implementations for IfcFan -boost::optional< ::Ifc4x3_rc2::IfcFanTypeEnum::Value > Ifc4x3_rc2::IfcFan::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcFanTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcFanTypeEnum::Value > Ifc4x3_rc2::IfcFan::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcFanTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcFan::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcFanTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcFanTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcFan::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[460]); } const IfcParse::entity& Ifc4x3_rc2::IfcFan::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[460]); } Ifc4x3_rc2::IfcFan::IfcFan(IfcEntityInstanceData&& e) : IfcFlowMovingDevice(std::move(e)) { } -Ifc4x3_rc2::IfcFan::IfcFan(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcFanTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcFan::IfcFan(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcFanTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFanType -::Ifc4x3_rc2::IfcFanTypeEnum::Value Ifc4x3_rc2::IfcFanType::PredefinedType() const { return ::Ifc4x3_rc2::IfcFanTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcFanTypeEnum::Value Ifc4x3_rc2::IfcFanType::PredefinedType() const { return ::Ifc4x3_rc2::IfcFanTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcFanType::setPredefinedType(::Ifc4x3_rc2::IfcFanTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcFanTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcFanType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[461]); } const IfcParse::entity& Ifc4x3_rc2::IfcFanType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[461]); } Ifc4x3_rc2::IfcFanType::IfcFanType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(e)) { } -Ifc4x3_rc2::IfcFanType::IfcFanType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFanTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcFanType::IfcFanType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFanTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFastener -boost::optional< ::Ifc4x3_rc2::IfcFastenerTypeEnum::Value > Ifc4x3_rc2::IfcFastener::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcFastenerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcFastenerTypeEnum::Value > Ifc4x3_rc2::IfcFastener::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcFastenerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcFastener::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcFastenerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcFastenerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcFastener::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[463]); } const IfcParse::entity& Ifc4x3_rc2::IfcFastener::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[463]); } Ifc4x3_rc2::IfcFastener::IfcFastener(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_rc2::IfcFastener::IfcFastener(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcFastenerTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcFastener::IfcFastener(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcFastenerTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFastenerType -::Ifc4x3_rc2::IfcFastenerTypeEnum::Value Ifc4x3_rc2::IfcFastenerType::PredefinedType() const { return ::Ifc4x3_rc2::IfcFastenerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcFastenerTypeEnum::Value Ifc4x3_rc2::IfcFastenerType::PredefinedType() const { return ::Ifc4x3_rc2::IfcFastenerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcFastenerType::setPredefinedType(::Ifc4x3_rc2::IfcFastenerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcFastenerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcFastenerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[464]); } const IfcParse::entity& Ifc4x3_rc2::IfcFastenerType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[464]); } Ifc4x3_rc2::IfcFastenerType::IfcFastenerType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_rc2::IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFastenerTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFastenerTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFeatureElement @@ -11318,7 +11318,7 @@ Ifc4x3_rc2::IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, ::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc2::IfcFeatureElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[466]); } const IfcParse::entity& Ifc4x3_rc2::IfcFeatureElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[466]); } Ifc4x3_rc2::IfcFeatureElement::IfcFeatureElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc2::IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc2::IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFeatureElementAddition @@ -11327,7 +11327,7 @@ Ifc4x3_rc2::IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3_rc2::IfcFeatureElementAddition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[467]); } const IfcParse::entity& Ifc4x3_rc2::IfcFeatureElementAddition::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[467]); } Ifc4x3_rc2::IfcFeatureElementAddition::IfcFeatureElementAddition(IfcEntityInstanceData&& e) : IfcFeatureElement(std::move(e)) { } -Ifc4x3_rc2::IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc2::IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFeatureElementSubtraction @@ -11336,101 +11336,101 @@ Ifc4x3_rc2::IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_ const IfcParse::entity& Ifc4x3_rc2::IfcFeatureElementSubtraction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[468]); } const IfcParse::entity& Ifc4x3_rc2::IfcFeatureElementSubtraction::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[468]); } Ifc4x3_rc2::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntityInstanceData&& e) : IfcFeatureElement(std::move(e)) { } -Ifc4x3_rc2::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc2::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFillAreaStyle -aggregate_of< ::Ifc4x3_rc2::IfcFillStyleSelect >::ptr Ifc4x3_rc2::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcFillStyleSelect >(); } +aggregate_of< ::Ifc4x3_rc2::IfcFillStyleSelect >::ptr Ifc4x3_rc2::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcFillStyleSelect >(); } void Ifc4x3_rc2::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x3_rc2::IfcFillStyleSelect >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< bool > Ifc4x3_rc2::IfcFillAreaStyle::ModelOrDraughting() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } bool v = data_.get_attribute_value(2); return v; } +boost::optional< bool > Ifc4x3_rc2::IfcFillAreaStyle::ModelOrDraughting() const { if(get_attribute_value(2).isNull()) { return boost::none; } bool v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc2::IfcFillAreaStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[469]); } const IfcParse::entity& Ifc4x3_rc2::IfcFillAreaStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[469]); } Ifc4x3_rc2::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x3_rc2::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc2::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_FillStyles)->generalize()); if (v3_ModelOrDraughting) {set_attribute_value(2, (*v3_ModelOrDraughting)); }; populate_derived(); } +Ifc4x3_rc2::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc2::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_FillStyles)->generalize()); if (v3_ModelOrDraughting) {set_attribute_value(2, (*v3_ModelOrDraughting)); }; populate_derived(); } // Function implementations for IfcFillAreaStyleHatching -::Ifc4x3_rc2::IfcCurveStyle* Ifc4x3_rc2::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCurveStyle>(true); } +::Ifc4x3_rc2::IfcCurveStyle* Ifc4x3_rc2::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCurveStyle>(true); } void Ifc4x3_rc2::IfcFillAreaStyleHatching::setHatchLineAppearance(::Ifc4x3_rc2::IfcCurveStyle* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcHatchLineDistanceSelect* Ifc4x3_rc2::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcHatchLineDistanceSelect>(true); } +::Ifc4x3_rc2::IfcHatchLineDistanceSelect* Ifc4x3_rc2::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcHatchLineDistanceSelect>(true); } void Ifc4x3_rc2::IfcFillAreaStyleHatching::setStartOfNextHatchLine(::Ifc4x3_rc2::IfcHatchLineDistanceSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(true); } +::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(true); } void Ifc4x3_rc2::IfcFillAreaStyleHatching::setPointOfReferenceHatchLine(::Ifc4x3_rc2::IfcCartesianPoint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcFillAreaStyleHatching::PatternStart() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(true); } +::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcFillAreaStyleHatching::PatternStart() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(true); } void Ifc4x3_rc2::IfcFillAreaStyleHatching::setPatternStart(::Ifc4x3_rc2::IfcCartesianPoint* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc2::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc2::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcFillAreaStyleHatching::setHatchLineAngle(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc2::IfcFillAreaStyleHatching::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[470]); } const IfcParse::entity& Ifc4x3_rc2::IfcFillAreaStyleHatching::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[470]); } Ifc4x3_rc2::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(::Ifc4x3_rc2::IfcCurveStyle* v1_HatchLineAppearance, ::Ifc4x3_rc2::IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, ::Ifc4x3_rc2::IfcCartesianPoint* v3_PointOfReferenceHatchLine, ::Ifc4x3_rc2::IfcCartesianPoint* v4_PatternStart, double v5_HatchLineAngle) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_HatchLineAppearance ? v1_HatchLineAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_StartOfNextHatchLine ? v2_StartOfNextHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PointOfReferenceHatchLine ? v3_PointOfReferenceHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PatternStart ? v4_PatternStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_HatchLineAngle));; populate_derived(); } +Ifc4x3_rc2::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(::Ifc4x3_rc2::IfcCurveStyle* v1_HatchLineAppearance, ::Ifc4x3_rc2::IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, ::Ifc4x3_rc2::IfcCartesianPoint* v3_PointOfReferenceHatchLine, ::Ifc4x3_rc2::IfcCartesianPoint* v4_PatternStart, double v5_HatchLineAngle) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_HatchLineAppearance ? v1_HatchLineAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_StartOfNextHatchLine ? v2_StartOfNextHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PointOfReferenceHatchLine ? v3_PointOfReferenceHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PatternStart ? v4_PatternStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_HatchLineAngle));; populate_derived(); } // Function implementations for IfcFillAreaStyleTiles -aggregate_of< ::Ifc4x3_rc2::IfcVector >::ptr Ifc4x3_rc2::IfcFillAreaStyleTiles::TilingPattern() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcVector >(); } +aggregate_of< ::Ifc4x3_rc2::IfcVector >::ptr Ifc4x3_rc2::IfcFillAreaStyleTiles::TilingPattern() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcVector >(); } void Ifc4x3_rc2::IfcFillAreaStyleTiles::setTilingPattern(aggregate_of< ::Ifc4x3_rc2::IfcVector >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc2::IfcStyledItem >::ptr Ifc4x3_rc2::IfcFillAreaStyleTiles::Tiles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcStyledItem >(); } +aggregate_of< ::Ifc4x3_rc2::IfcStyledItem >::ptr Ifc4x3_rc2::IfcFillAreaStyleTiles::Tiles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcStyledItem >(); } void Ifc4x3_rc2::IfcFillAreaStyleTiles::setTiles(aggregate_of< ::Ifc4x3_rc2::IfcStyledItem >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc2::IfcFillAreaStyleTiles::TilingScale() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc2::IfcFillAreaStyleTiles::TilingScale() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcFillAreaStyleTiles::setTilingScale(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcFillAreaStyleTiles::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[471]); } const IfcParse::entity& Ifc4x3_rc2::IfcFillAreaStyleTiles::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[471]); } Ifc4x3_rc2::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(aggregate_of< ::Ifc4x3_rc2::IfcVector >::ptr v1_TilingPattern, aggregate_of< ::Ifc4x3_rc2::IfcStyledItem >::ptr v2_Tiles, double v3_TilingScale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_TilingPattern)->generalize());set_attribute_value(1, (v2_Tiles)->generalize());set_attribute_value(2, (v3_TilingScale));; populate_derived(); } +Ifc4x3_rc2::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(aggregate_of< ::Ifc4x3_rc2::IfcVector >::ptr v1_TilingPattern, aggregate_of< ::Ifc4x3_rc2::IfcStyledItem >::ptr v2_Tiles, double v3_TilingScale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_TilingPattern)->generalize());set_attribute_value(1, (v2_Tiles)->generalize());set_attribute_value(2, (v3_TilingScale));; populate_derived(); } // Function implementations for IfcFilter -boost::optional< ::Ifc4x3_rc2::IfcFilterTypeEnum::Value > Ifc4x3_rc2::IfcFilter::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcFilterTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcFilterTypeEnum::Value > Ifc4x3_rc2::IfcFilter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcFilterTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcFilter::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcFilterTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcFilterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcFilter::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[473]); } const IfcParse::entity& Ifc4x3_rc2::IfcFilter::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[473]); } Ifc4x3_rc2::IfcFilter::IfcFilter(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4x3_rc2::IfcFilter::IfcFilter(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcFilterTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcFilter::IfcFilter(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcFilterTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFilterType -::Ifc4x3_rc2::IfcFilterTypeEnum::Value Ifc4x3_rc2::IfcFilterType::PredefinedType() const { return ::Ifc4x3_rc2::IfcFilterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcFilterTypeEnum::Value Ifc4x3_rc2::IfcFilterType::PredefinedType() const { return ::Ifc4x3_rc2::IfcFilterTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcFilterType::setPredefinedType(::Ifc4x3_rc2::IfcFilterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcFilterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcFilterType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[474]); } const IfcParse::entity& Ifc4x3_rc2::IfcFilterType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[474]); } Ifc4x3_rc2::IfcFilterType::IfcFilterType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4x3_rc2::IfcFilterType::IfcFilterType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFilterTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcFilterType::IfcFilterType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFilterTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFireSuppressionTerminal -boost::optional< ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x3_rc2::IfcFireSuppressionTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x3_rc2::IfcFireSuppressionTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcFireSuppressionTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcFireSuppressionTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[476]); } const IfcParse::entity& Ifc4x3_rc2::IfcFireSuppressionTerminal::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[476]); } Ifc4x3_rc2::IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc2::IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFireSuppressionTerminalType -::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3_rc2::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3_rc2::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcFireSuppressionTerminalType::setPredefinedType(::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcFireSuppressionTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[477]); } const IfcParse::entity& Ifc4x3_rc2::IfcFireSuppressionTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[477]); } Ifc4x3_rc2::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc2::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFixedReferenceSweptAreaSolid -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcDirection>(true); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcFixedReferenceSweptAreaSolid::setFixedReference(::Ifc4x3_rc2::IfcDirection* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcFixedReferenceSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[479]); } const IfcParse::entity& Ifc4x3_rc2::IfcFixedReferenceSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[479]); } Ifc4x3_rc2::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(IfcEntityInstanceData&& e) : IfcDirectrixCurveSweptAreaSolid(std::move(e)) { } -Ifc4x3_rc2::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(::Ifc4x3_rc2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc2::IfcCurve* v3_Directrix, ::Ifc4x3_rc2::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_rc2::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3_rc2::IfcDirection* v6_FixedReference) : IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_FixedReference ? v6_FixedReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(::Ifc4x3_rc2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc2::IfcCurve* v3_Directrix, ::Ifc4x3_rc2::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_rc2::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3_rc2::IfcDirection* v6_FixedReference) : IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_FixedReference ? v6_FixedReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcFlowController @@ -11438,7 +11438,7 @@ Ifc4x3_rc2::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(::I const IfcParse::entity& Ifc4x3_rc2::IfcFlowController::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[480]); } const IfcParse::entity& Ifc4x3_rc2::IfcFlowController::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[480]); } Ifc4x3_rc2::IfcFlowController::IfcFlowController(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_rc2::IfcFlowController::IfcFlowController(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc2::IfcFlowController::IfcFlowController(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowControllerType @@ -11446,7 +11446,7 @@ Ifc4x3_rc2::IfcFlowController::IfcFlowController(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3_rc2::IfcFlowControllerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[481]); } const IfcParse::entity& Ifc4x3_rc2::IfcFlowControllerType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[481]); } Ifc4x3_rc2::IfcFlowControllerType::IfcFlowControllerType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_rc2::IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc2::IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowFitting @@ -11454,7 +11454,7 @@ Ifc4x3_rc2::IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId const IfcParse::entity& Ifc4x3_rc2::IfcFlowFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[483]); } const IfcParse::entity& Ifc4x3_rc2::IfcFlowFitting::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[483]); } Ifc4x3_rc2::IfcFlowFitting::IfcFlowFitting(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_rc2::IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc2::IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowFittingType @@ -11462,47 +11462,47 @@ Ifc4x3_rc2::IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, ::Ifc4x3_rc2 const IfcParse::entity& Ifc4x3_rc2::IfcFlowFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[484]); } const IfcParse::entity& Ifc4x3_rc2::IfcFlowFittingType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[484]); } Ifc4x3_rc2::IfcFlowFittingType::IfcFlowFittingType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_rc2::IfcFlowFittingType::IfcFlowFittingType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc2::IfcFlowFittingType::IfcFlowFittingType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowInstrument -boost::optional< ::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value > Ifc4x3_rc2::IfcFlowInstrument::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value > Ifc4x3_rc2::IfcFlowInstrument::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcFlowInstrument::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcFlowInstrument::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[485]); } const IfcParse::entity& Ifc4x3_rc2::IfcFlowInstrument::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[485]); } Ifc4x3_rc2::IfcFlowInstrument::IfcFlowInstrument(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_rc2::IfcFlowInstrument::IfcFlowInstrument(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcFlowInstrument::IfcFlowInstrument(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFlowInstrumentType -::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value Ifc4x3_rc2::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value Ifc4x3_rc2::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcFlowInstrumentType::setPredefinedType(::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcFlowInstrumentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[486]); } const IfcParse::entity& Ifc4x3_rc2::IfcFlowInstrumentType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[486]); } Ifc4x3_rc2::IfcFlowInstrumentType::IfcFlowInstrumentType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_rc2::IfcFlowInstrumentType::IfcFlowInstrumentType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcFlowInstrumentType::IfcFlowInstrumentType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFlowMeter -boost::optional< ::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value > Ifc4x3_rc2::IfcFlowMeter::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcFlowMeterTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value > Ifc4x3_rc2::IfcFlowMeter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcFlowMeterTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcFlowMeter::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcFlowMeter::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[488]); } const IfcParse::entity& Ifc4x3_rc2::IfcFlowMeter::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[488]); } Ifc4x3_rc2::IfcFlowMeter::IfcFlowMeter(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_rc2::IfcFlowMeter::IfcFlowMeter(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcFlowMeter::IfcFlowMeter(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFlowMeterType -::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value Ifc4x3_rc2::IfcFlowMeterType::PredefinedType() const { return ::Ifc4x3_rc2::IfcFlowMeterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value Ifc4x3_rc2::IfcFlowMeterType::PredefinedType() const { return ::Ifc4x3_rc2::IfcFlowMeterTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcFlowMeterType::setPredefinedType(::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcFlowMeterType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[489]); } const IfcParse::entity& Ifc4x3_rc2::IfcFlowMeterType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[489]); } Ifc4x3_rc2::IfcFlowMeterType::IfcFlowMeterType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_rc2::IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFlowMovingDevice @@ -11510,7 +11510,7 @@ Ifc4x3_rc2::IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, ::Ifc4x3 const IfcParse::entity& Ifc4x3_rc2::IfcFlowMovingDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[491]); } const IfcParse::entity& Ifc4x3_rc2::IfcFlowMovingDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[491]); } Ifc4x3_rc2::IfcFlowMovingDevice::IfcFlowMovingDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_rc2::IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc2::IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowMovingDeviceType @@ -11518,7 +11518,7 @@ Ifc4x3_rc2::IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x3_rc2::IfcFlowMovingDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[492]); } const IfcParse::entity& Ifc4x3_rc2::IfcFlowMovingDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[492]); } Ifc4x3_rc2::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_rc2::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc2::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowSegment @@ -11526,7 +11526,7 @@ Ifc4x3_rc2::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_Glob const IfcParse::entity& Ifc4x3_rc2::IfcFlowSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[493]); } const IfcParse::entity& Ifc4x3_rc2::IfcFlowSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[493]); } Ifc4x3_rc2::IfcFlowSegment::IfcFlowSegment(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_rc2::IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc2::IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowSegmentType @@ -11534,7 +11534,7 @@ Ifc4x3_rc2::IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, ::Ifc4x3_rc2 const IfcParse::entity& Ifc4x3_rc2::IfcFlowSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[494]); } const IfcParse::entity& Ifc4x3_rc2::IfcFlowSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[494]); } Ifc4x3_rc2::IfcFlowSegmentType::IfcFlowSegmentType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_rc2::IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc2::IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowStorageDevice @@ -11542,7 +11542,7 @@ Ifc4x3_rc2::IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x3_rc2::IfcFlowStorageDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[495]); } const IfcParse::entity& Ifc4x3_rc2::IfcFlowStorageDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[495]); } Ifc4x3_rc2::IfcFlowStorageDevice::IfcFlowStorageDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_rc2::IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc2::IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowStorageDeviceType @@ -11550,7 +11550,7 @@ Ifc4x3_rc2::IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, const IfcParse::entity& Ifc4x3_rc2::IfcFlowStorageDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[496]); } const IfcParse::entity& Ifc4x3_rc2::IfcFlowStorageDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[496]); } Ifc4x3_rc2::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_rc2::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc2::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowTerminal @@ -11558,7 +11558,7 @@ Ifc4x3_rc2::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_Gl const IfcParse::entity& Ifc4x3_rc2::IfcFlowTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[497]); } const IfcParse::entity& Ifc4x3_rc2::IfcFlowTerminal::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[497]); } Ifc4x3_rc2::IfcFlowTerminal::IfcFlowTerminal(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_rc2::IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc2::IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowTerminalType @@ -11566,7 +11566,7 @@ Ifc4x3_rc2::IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, ::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc2::IfcFlowTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[498]); } const IfcParse::entity& Ifc4x3_rc2::IfcFlowTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[498]); } Ifc4x3_rc2::IfcFlowTerminalType::IfcFlowTerminalType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_rc2::IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc2::IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowTreatmentDevice @@ -11574,7 +11574,7 @@ Ifc4x3_rc2::IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x3_rc2::IfcFlowTreatmentDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[499]); } const IfcParse::entity& Ifc4x3_rc2::IfcFlowTreatmentDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[499]); } Ifc4x3_rc2::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_rc2::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc2::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowTreatmentDeviceType @@ -11582,27 +11582,27 @@ Ifc4x3_rc2::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_Global const IfcParse::entity& Ifc4x3_rc2::IfcFlowTreatmentDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[500]); } const IfcParse::entity& Ifc4x3_rc2::IfcFlowTreatmentDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[500]); } Ifc4x3_rc2::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_rc2::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc2::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFooting -boost::optional< ::Ifc4x3_rc2::IfcFootingTypeEnum::Value > Ifc4x3_rc2::IfcFooting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcFootingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcFootingTypeEnum::Value > Ifc4x3_rc2::IfcFooting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcFootingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcFooting::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcFootingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcFootingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcFooting::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[504]); } const IfcParse::entity& Ifc4x3_rc2::IfcFooting::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[504]); } Ifc4x3_rc2::IfcFooting::IfcFooting(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc2::IfcFooting::IfcFooting(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcFootingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcFooting::IfcFooting(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcFootingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFootingType -::Ifc4x3_rc2::IfcFootingTypeEnum::Value Ifc4x3_rc2::IfcFootingType::PredefinedType() const { return ::Ifc4x3_rc2::IfcFootingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcFootingTypeEnum::Value Ifc4x3_rc2::IfcFootingType::PredefinedType() const { return ::Ifc4x3_rc2::IfcFootingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcFootingType::setPredefinedType(::Ifc4x3_rc2::IfcFootingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcFootingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcFootingType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[505]); } const IfcParse::entity& Ifc4x3_rc2::IfcFootingType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[505]); } Ifc4x3_rc2::IfcFootingType::IfcFootingType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc2::IfcFootingType::IfcFootingType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFootingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcFootingType::IfcFootingType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcFootingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFurnishingElement @@ -11610,7 +11610,7 @@ Ifc4x3_rc2::IfcFootingType::IfcFootingType(std::string v1_GlobalId, ::Ifc4x3_rc2 const IfcParse::entity& Ifc4x3_rc2::IfcFurnishingElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[509]); } const IfcParse::entity& Ifc4x3_rc2::IfcFurnishingElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[509]); } Ifc4x3_rc2::IfcFurnishingElement::IfcFurnishingElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc2::IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc2::IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFurnishingElementType @@ -11618,49 +11618,49 @@ Ifc4x3_rc2::IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, const IfcParse::entity& Ifc4x3_rc2::IfcFurnishingElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[510]); } const IfcParse::entity& Ifc4x3_rc2::IfcFurnishingElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[510]); } Ifc4x3_rc2::IfcFurnishingElementType::IfcFurnishingElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_rc2::IfcFurnishingElementType::IfcFurnishingElementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc2::IfcFurnishingElementType::IfcFurnishingElementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFurniture -boost::optional< ::Ifc4x3_rc2::IfcFurnitureTypeEnum::Value > Ifc4x3_rc2::IfcFurniture::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcFurnitureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcFurnitureTypeEnum::Value > Ifc4x3_rc2::IfcFurniture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcFurnitureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcFurniture::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcFurnitureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcFurnitureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcFurniture::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[511]); } const IfcParse::entity& Ifc4x3_rc2::IfcFurniture::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[511]); } Ifc4x3_rc2::IfcFurniture::IfcFurniture(IfcEntityInstanceData&& e) : IfcFurnishingElement(std::move(e)) { } -Ifc4x3_rc2::IfcFurniture::IfcFurniture(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcFurnitureTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcFurniture::IfcFurniture(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcFurnitureTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFurnitureType -::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Value Ifc4x3_rc2::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x3_rc2::IfcAssemblyPlaceEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Value Ifc4x3_rc2::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x3_rc2::IfcAssemblyPlaceEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcFurnitureType::setAssemblyPlace(::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< ::Ifc4x3_rc2::IfcFurnitureTypeEnum::Value > Ifc4x3_rc2::IfcFurnitureType::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcFurnitureTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc2::IfcFurnitureTypeEnum::Value > Ifc4x3_rc2::IfcFurnitureType::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcFurnitureTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc2::IfcFurnitureType::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcFurnitureTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc2::IfcFurnitureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc2::IfcFurnitureType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[512]); } const IfcParse::entity& Ifc4x3_rc2::IfcFurnitureType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[512]); } Ifc4x3_rc2::IfcFurnitureType::IfcFurnitureType(IfcEntityInstanceData&& e) : IfcFurnishingElementType(std::move(e)) { } -Ifc4x3_rc2::IfcFurnitureType::IfcFurnitureType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, boost::optional< ::Ifc4x3_rc2::IfcFurnitureTypeEnum::Value > v11_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcFurnitureType::IfcFurnitureType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, boost::optional< ::Ifc4x3_rc2::IfcFurnitureTypeEnum::Value > v11_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGeographicElement -boost::optional< ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value > Ifc4x3_rc2::IfcGeographicElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value > Ifc4x3_rc2::IfcGeographicElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcGeographicElement::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcGeographicElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[514]); } const IfcParse::entity& Ifc4x3_rc2::IfcGeographicElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[514]); } Ifc4x3_rc2::IfcGeographicElement::IfcGeographicElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc2::IfcGeographicElement::IfcGeographicElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) : IfcElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcGeographicElement::IfcGeographicElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGeographicElementType -::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value Ifc4x3_rc2::IfcGeographicElementType::PredefinedType() const { return ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value Ifc4x3_rc2::IfcGeographicElementType::PredefinedType() const { return ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcGeographicElementType::setPredefinedType(::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcGeographicElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[515]); } const IfcParse::entity& Ifc4x3_rc2::IfcGeographicElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[515]); } Ifc4x3_rc2::IfcGeographicElementType::IfcGeographicElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_rc2::IfcGeographicElementType::IfcGeographicElementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcGeographicElementType::IfcGeographicElementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcGeometricCurveSet @@ -11668,16 +11668,16 @@ Ifc4x3_rc2::IfcGeographicElementType::IfcGeographicElementType(std::string v1_Gl const IfcParse::entity& Ifc4x3_rc2::IfcGeometricCurveSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[517]); } const IfcParse::entity& Ifc4x3_rc2::IfcGeometricCurveSet::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[517]); } Ifc4x3_rc2::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData&& e) : IfcGeometricSet(std::move(e)) { } -Ifc4x3_rc2::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3_rc2::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3_rc2::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } // Function implementations for IfcGeometricRepresentationContext -int Ifc4x3_rc2::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = data_.get_attribute_value(2); return v; } +int Ifc4x3_rc2::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(int v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4x3_rc2::IfcGeometricRepresentationContext::Precision() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc2::IfcGeometricRepresentationContext::Precision() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc2::IfcAxis2Placement* Ifc4x3_rc2::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcAxis2Placement>(true); } +::Ifc4x3_rc2::IfcAxis2Placement* Ifc4x3_rc2::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcAxis2Placement>(true); } void Ifc4x3_rc2::IfcGeometricRepresentationContext::setWorldCoordinateSystem(::Ifc4x3_rc2::IfcAxis2Placement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcGeometricRepresentationContext::TrueNorth() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcDirection>(true); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcGeometricRepresentationContext::TrueNorth() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcGeometricRepresentationContext::setTrueNorth(::Ifc4x3_rc2::IfcDirection* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc4x3_rc2::IfcGeometricRepresentationSubContext::list::ptr Ifc4x3_rc2::IfcGeometricRepresentationContext::HasSubContexts() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[521], 6)->as(); } @@ -11686,7 +11686,7 @@ void Ifc4x3_rc2::IfcGeometricRepresentationContext::setTrueNorth(::Ifc4x3_rc2::I const IfcParse::entity& Ifc4x3_rc2::IfcGeometricRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[519]); } const IfcParse::entity& Ifc4x3_rc2::IfcGeometricRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[519]); } Ifc4x3_rc2::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(IfcEntityInstanceData&& e) : IfcRepresentationContext(std::move(e)) { } -Ifc4x3_rc2::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, ::Ifc4x3_rc2::IfcAxis2Placement* v5_WorldCoordinateSystem, ::Ifc4x3_rc2::IfcDirection* v6_TrueNorth) : IfcRepresentationContext(IfcEntityInstanceData(storage_t(6))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, v5_WorldCoordinateSystem ? v5_WorldCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_TrueNorth ? v6_TrueNorth->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, ::Ifc4x3_rc2::IfcAxis2Placement* v5_WorldCoordinateSystem, ::Ifc4x3_rc2::IfcDirection* v6_TrueNorth) : IfcRepresentationContext(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, v5_WorldCoordinateSystem ? v5_WorldCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_TrueNorth ? v6_TrueNorth->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcGeometricRepresentationItem @@ -11694,33 +11694,33 @@ Ifc4x3_rc2::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext const IfcParse::entity& Ifc4x3_rc2::IfcGeometricRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[520]); } const IfcParse::entity& Ifc4x3_rc2::IfcGeometricRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[520]); } Ifc4x3_rc2::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc2::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcGeometricRepresentationSubContext -::Ifc4x3_rc2::IfcGeometricRepresentationContext* Ifc4x3_rc2::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcGeometricRepresentationContext>(true); } +::Ifc4x3_rc2::IfcGeometricRepresentationContext* Ifc4x3_rc2::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcGeometricRepresentationContext>(true); } void Ifc4x3_rc2::IfcGeometricRepresentationSubContext::setParentContext(::Ifc4x3_rc2::IfcGeometricRepresentationContext* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc2::IfcGeometricRepresentationSubContext::TargetScale() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc2::IfcGeometricRepresentationSubContext::TargetScale() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc2::IfcGeometricProjectionEnum::Value Ifc4x3_rc2::IfcGeometricRepresentationSubContext::TargetView() const { return ::Ifc4x3_rc2::IfcGeometricProjectionEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc2::IfcGeometricProjectionEnum::Value Ifc4x3_rc2::IfcGeometricRepresentationSubContext::TargetView() const { return ::Ifc4x3_rc2::IfcGeometricProjectionEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcGeometricRepresentationSubContext::setTargetView(::Ifc4x3_rc2::IfcGeometricProjectionEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcGeometricProjectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -boost::optional< std::string > Ifc4x3_rc2::IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc2::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc2::IfcGeometricRepresentationSubContext::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[521]); } const IfcParse::entity& Ifc4x3_rc2::IfcGeometricRepresentationSubContext::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[521]); } Ifc4x3_rc2::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(IfcEntityInstanceData&& e) : IfcGeometricRepresentationContext(std::move(e)) { } -Ifc4x3_rc2::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x3_rc2::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x3_rc2::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext(IfcEntityInstanceData(storage_t(10))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, v7_ParentContext ? v7_ParentContext->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; populate_derived(); } +Ifc4x3_rc2::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x3_rc2::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x3_rc2::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, v7_ParentContext ? v7_ParentContext->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; populate_derived(); } // Function implementations for IfcGeometricSet -aggregate_of< ::Ifc4x3_rc2::IfcGeometricSetSelect >::ptr Ifc4x3_rc2::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcGeometricSetSelect >(); } +aggregate_of< ::Ifc4x3_rc2::IfcGeometricSetSelect >::ptr Ifc4x3_rc2::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcGeometricSetSelect >(); } void Ifc4x3_rc2::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x3_rc2::IfcGeometricSetSelect >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc2::IfcGeometricSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[522]); } const IfcParse::entity& Ifc4x3_rc2::IfcGeometricSet::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[522]); } Ifc4x3_rc2::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_rc2::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_rc2::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } // Function implementations for IfcGeomodel @@ -11728,7 +11728,7 @@ Ifc4x3_rc2::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_rc2::IfcGeom const IfcParse::entity& Ifc4x3_rc2::IfcGeomodel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[524]); } const IfcParse::entity& Ifc4x3_rc2::IfcGeomodel::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[524]); } Ifc4x3_rc2::IfcGeomodel::IfcGeomodel(IfcEntityInstanceData&& e) : IfcGeotechnicalAssembly(std::move(e)) { } -Ifc4x3_rc2::IfcGeomodel::IfcGeomodel(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc2::IfcGeomodel::IfcGeomodel(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGeoslice @@ -11736,7 +11736,7 @@ Ifc4x3_rc2::IfcGeomodel::IfcGeomodel(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcO const IfcParse::entity& Ifc4x3_rc2::IfcGeoslice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[525]); } const IfcParse::entity& Ifc4x3_rc2::IfcGeoslice::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[525]); } Ifc4x3_rc2::IfcGeoslice::IfcGeoslice(IfcEntityInstanceData&& e) : IfcGeotechnicalAssembly(std::move(e)) { } -Ifc4x3_rc2::IfcGeoslice::IfcGeoslice(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc2::IfcGeoslice::IfcGeoslice(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGeotechnicalAssembly @@ -11744,7 +11744,7 @@ Ifc4x3_rc2::IfcGeoslice::IfcGeoslice(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcO const IfcParse::entity& Ifc4x3_rc2::IfcGeotechnicalAssembly::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[526]); } const IfcParse::entity& Ifc4x3_rc2::IfcGeotechnicalAssembly::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[526]); } Ifc4x3_rc2::IfcGeotechnicalAssembly::IfcGeotechnicalAssembly(IfcEntityInstanceData&& e) : IfcGeotechnicalElement(std::move(e)) { } -Ifc4x3_rc2::IfcGeotechnicalAssembly::IfcGeotechnicalAssembly(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc2::IfcGeotechnicalAssembly::IfcGeotechnicalAssembly(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGeotechnicalElement @@ -11752,7 +11752,7 @@ Ifc4x3_rc2::IfcGeotechnicalAssembly::IfcGeotechnicalAssembly(std::string v1_Glob const IfcParse::entity& Ifc4x3_rc2::IfcGeotechnicalElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[527]); } const IfcParse::entity& Ifc4x3_rc2::IfcGeotechnicalElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[527]); } Ifc4x3_rc2::IfcGeotechnicalElement::IfcGeotechnicalElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc2::IfcGeotechnicalElement::IfcGeotechnicalElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc2::IfcGeotechnicalElement::IfcGeotechnicalElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGeotechnicalStratum @@ -11760,44 +11760,44 @@ Ifc4x3_rc2::IfcGeotechnicalElement::IfcGeotechnicalElement(std::string v1_Global const IfcParse::entity& Ifc4x3_rc2::IfcGeotechnicalStratum::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[528]); } const IfcParse::entity& Ifc4x3_rc2::IfcGeotechnicalStratum::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[528]); } Ifc4x3_rc2::IfcGeotechnicalStratum::IfcGeotechnicalStratum(IfcEntityInstanceData&& e) : IfcGeotechnicalElement(std::move(e)) { } -Ifc4x3_rc2::IfcGeotechnicalStratum::IfcGeotechnicalStratum(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc2::IfcGeotechnicalStratum::IfcGeotechnicalStratum(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGradientCurve -::Ifc4x3_rc2::IfcBoundedCurve* Ifc4x3_rc2::IfcGradientCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcBoundedCurve>(true); } +::Ifc4x3_rc2::IfcBoundedCurve* Ifc4x3_rc2::IfcGradientCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcBoundedCurve>(true); } void Ifc4x3_rc2::IfcGradientCurve::setBaseCurve(::Ifc4x3_rc2::IfcBoundedCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc2::IfcCurveSegment >::ptr Ifc4x3_rc2::IfcGradientCurve::Segments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcCurveSegment >(); } +aggregate_of< ::Ifc4x3_rc2::IfcCurveSegment >::ptr Ifc4x3_rc2::IfcGradientCurve::Segments() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcCurveSegment >(); } void Ifc4x3_rc2::IfcGradientCurve::setSegments(aggregate_of< ::Ifc4x3_rc2::IfcCurveSegment >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcGradientCurve::EndPoint() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(true); } +::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcGradientCurve::EndPoint() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(true); } void Ifc4x3_rc2::IfcGradientCurve::setEndPoint(::Ifc4x3_rc2::IfcCartesianPoint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcGradientCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[531]); } const IfcParse::entity& Ifc4x3_rc2::IfcGradientCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[531]); } Ifc4x3_rc2::IfcGradientCurve::IfcGradientCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_rc2::IfcGradientCurve::IfcGradientCurve(::Ifc4x3_rc2::IfcBoundedCurve* v1_BaseCurve, aggregate_of< ::Ifc4x3_rc2::IfcCurveSegment >::ptr v2_Segments, ::Ifc4x3_rc2::IfcCartesianPoint* v3_EndPoint) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BaseCurve ? v1_BaseCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Segments)->generalize());set_attribute_value(2, v3_EndPoint ? v3_EndPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcGradientCurve::IfcGradientCurve(::Ifc4x3_rc2::IfcBoundedCurve* v1_BaseCurve, aggregate_of< ::Ifc4x3_rc2::IfcCurveSegment >::ptr v2_Segments, ::Ifc4x3_rc2::IfcCartesianPoint* v3_EndPoint) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BaseCurve ? v1_BaseCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Segments)->generalize());set_attribute_value(2, v3_EndPoint ? v3_EndPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcGrid -aggregate_of< ::Ifc4x3_rc2::IfcGridAxis >::ptr Ifc4x3_rc2::IfcGrid::UAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc2::IfcGridAxis >(); } +aggregate_of< ::Ifc4x3_rc2::IfcGridAxis >::ptr Ifc4x3_rc2::IfcGrid::UAxes() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc2::IfcGridAxis >(); } void Ifc4x3_rc2::IfcGrid::setUAxes(aggregate_of< ::Ifc4x3_rc2::IfcGridAxis >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } -aggregate_of< ::Ifc4x3_rc2::IfcGridAxis >::ptr Ifc4x3_rc2::IfcGrid::VAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_rc2::IfcGridAxis >(); } +aggregate_of< ::Ifc4x3_rc2::IfcGridAxis >::ptr Ifc4x3_rc2::IfcGrid::VAxes() const { aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_rc2::IfcGridAxis >(); } void Ifc4x3_rc2::IfcGrid::setVAxes(aggregate_of< ::Ifc4x3_rc2::IfcGridAxis >::ptr v) { set_attribute_value(8, (v)->generalize());if constexpr (false)unset_attribute_value(8); } -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcGridAxis >::ptr > Ifc4x3_rc2::IfcGrid::WAxes() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3_rc2::IfcGridAxis >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcGridAxis >::ptr > Ifc4x3_rc2::IfcGrid::WAxes() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3_rc2::IfcGridAxis >(); } void Ifc4x3_rc2::IfcGrid::setWAxes(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcGridAxis >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x3_rc2::IfcGridTypeEnum::Value > Ifc4x3_rc2::IfcGrid::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcGridTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc2::IfcGridTypeEnum::Value > Ifc4x3_rc2::IfcGrid::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcGridTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc2::IfcGrid::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcGridTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc2::IfcGridTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc2::IfcGrid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[532]); } const IfcParse::entity& Ifc4x3_rc2::IfcGrid::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[532]); } Ifc4x3_rc2::IfcGrid::IfcGrid(IfcEntityInstanceData&& e) : IfcPositioningElement(std::move(e)) { } -Ifc4x3_rc2::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, aggregate_of< ::Ifc4x3_rc2::IfcGridAxis >::ptr v8_UAxes, aggregate_of< ::Ifc4x3_rc2::IfcGridAxis >::ptr v9_VAxes, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcGridAxis >::ptr > v10_WAxes, boost::optional< ::Ifc4x3_rc2::IfcGridTypeEnum::Value > v11_PredefinedType) : IfcPositioningElement(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_UAxes)->generalize());set_attribute_value(8, (v9_VAxes)->generalize()); if (v10_WAxes) {set_attribute_value(9, (*v10_WAxes)->generalize()); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, aggregate_of< ::Ifc4x3_rc2::IfcGridAxis >::ptr v8_UAxes, aggregate_of< ::Ifc4x3_rc2::IfcGridAxis >::ptr v9_VAxes, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcGridAxis >::ptr > v10_WAxes, boost::optional< ::Ifc4x3_rc2::IfcGridTypeEnum::Value > v11_PredefinedType) : IfcPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_UAxes)->generalize());set_attribute_value(8, (v9_VAxes)->generalize()); if (v10_WAxes) {set_attribute_value(9, (*v10_WAxes)->generalize()); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGridAxis -boost::optional< std::string > Ifc4x3_rc2::IfcGridAxis::AxisTag() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcGridAxis::AxisTag() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcCurve>(true); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcGridAxis::setAxisCurve(::Ifc4x3_rc2::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -bool Ifc4x3_rc2::IfcGridAxis::SameSense() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x3_rc2::IfcGridAxis::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcGridAxis::setSameSense(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } ::Ifc4x3_rc2::IfcGrid::list::ptr Ifc4x3_rc2::IfcGridAxis::PartOfW() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[532], 9)->as(); } @@ -11808,19 +11808,19 @@ void Ifc4x3_rc2::IfcGridAxis::setSameSense(bool v) { set_attribute_value(2, v);i const IfcParse::entity& Ifc4x3_rc2::IfcGridAxis::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[533]); } const IfcParse::entity& Ifc4x3_rc2::IfcGridAxis::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[533]); } Ifc4x3_rc2::IfcGridAxis::IfcGridAxis(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, ::Ifc4x3_rc2::IfcCurve* v2_AxisCurve, bool v3_SameSense) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, v2_AxisCurve ? v2_AxisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } +Ifc4x3_rc2::IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, ::Ifc4x3_rc2::IfcCurve* v2_AxisCurve, bool v3_SameSense) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, v2_AxisCurve ? v2_AxisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } // Function implementations for IfcGridPlacement -::Ifc4x3_rc2::IfcVirtualGridIntersection* Ifc4x3_rc2::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcVirtualGridIntersection>(true); } +::Ifc4x3_rc2::IfcVirtualGridIntersection* Ifc4x3_rc2::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcVirtualGridIntersection>(true); } void Ifc4x3_rc2::IfcGridPlacement::setPlacementLocation(::Ifc4x3_rc2::IfcVirtualGridIntersection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcGridPlacementDirectionSelect* Ifc4x3_rc2::IfcGridPlacement::PlacementRefDirection() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcGridPlacementDirectionSelect>(true); } +::Ifc4x3_rc2::IfcGridPlacementDirectionSelect* Ifc4x3_rc2::IfcGridPlacement::PlacementRefDirection() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcGridPlacementDirectionSelect>(true); } void Ifc4x3_rc2::IfcGridPlacement::setPlacementRefDirection(::Ifc4x3_rc2::IfcGridPlacementDirectionSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcGridPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[534]); } const IfcParse::entity& Ifc4x3_rc2::IfcGridPlacement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[534]); } Ifc4x3_rc2::IfcGridPlacement::IfcGridPlacement(IfcEntityInstanceData&& e) : IfcObjectPlacement(std::move(e)) { } -Ifc4x3_rc2::IfcGridPlacement::IfcGridPlacement(::Ifc4x3_rc2::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc2::IfcVirtualGridIntersection* v2_PlacementLocation, ::Ifc4x3_rc2::IfcGridPlacementDirectionSelect* v3_PlacementRefDirection) : IfcObjectPlacement(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementLocation ? v2_PlacementLocation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PlacementRefDirection ? v3_PlacementRefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcGridPlacement::IfcGridPlacement(::Ifc4x3_rc2::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc2::IfcVirtualGridIntersection* v2_PlacementLocation, ::Ifc4x3_rc2::IfcGridPlacementDirectionSelect* v3_PlacementRefDirection) : IfcObjectPlacement(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementLocation ? v2_PlacementLocation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PlacementRefDirection ? v3_PlacementRefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcGroup @@ -11829,156 +11829,156 @@ Ifc4x3_rc2::IfcGridPlacement::IfcGridPlacement(::Ifc4x3_rc2::IfcObjectPlacement* const IfcParse::entity& Ifc4x3_rc2::IfcGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[537]); } const IfcParse::entity& Ifc4x3_rc2::IfcGroup::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[537]); } Ifc4x3_rc2::IfcGroup::IfcGroup(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_rc2::IfcGroup::IfcGroup(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc4x3_rc2::IfcGroup::IfcGroup(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcHalfSpaceSolid -::Ifc4x3_rc2::IfcSurface* Ifc4x3_rc2::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcSurface>(true); } +::Ifc4x3_rc2::IfcSurface* Ifc4x3_rc2::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcSurface>(true); } void Ifc4x3_rc2::IfcHalfSpaceSolid::setBaseSurface(::Ifc4x3_rc2::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -bool Ifc4x3_rc2::IfcHalfSpaceSolid::AgreementFlag() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x3_rc2::IfcHalfSpaceSolid::AgreementFlag() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcHalfSpaceSolid::setAgreementFlag(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcHalfSpaceSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[538]); } const IfcParse::entity& Ifc4x3_rc2::IfcHalfSpaceSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[538]); } Ifc4x3_rc2::IfcHalfSpaceSolid::IfcHalfSpaceSolid(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcHalfSpaceSolid::IfcHalfSpaceSolid(::Ifc4x3_rc2::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));; populate_derived(); } +Ifc4x3_rc2::IfcHalfSpaceSolid::IfcHalfSpaceSolid(::Ifc4x3_rc2::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));; populate_derived(); } // Function implementations for IfcHeatExchanger -boost::optional< ::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value > Ifc4x3_rc2::IfcHeatExchanger::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value > Ifc4x3_rc2::IfcHeatExchanger::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcHeatExchanger::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcHeatExchanger::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[540]); } const IfcParse::entity& Ifc4x3_rc2::IfcHeatExchanger::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[540]); } Ifc4x3_rc2::IfcHeatExchanger::IfcHeatExchanger(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc2::IfcHeatExchanger::IfcHeatExchanger(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcHeatExchanger::IfcHeatExchanger(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcHeatExchangerType -::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value Ifc4x3_rc2::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value Ifc4x3_rc2::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcHeatExchangerType::setPredefinedType(::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcHeatExchangerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[541]); } const IfcParse::entity& Ifc4x3_rc2::IfcHeatExchangerType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[541]); } Ifc4x3_rc2::IfcHeatExchangerType::IfcHeatExchangerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc2::IfcHeatExchangerType::IfcHeatExchangerType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcHeatExchangerType::IfcHeatExchangerType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcHumidifier -boost::optional< ::Ifc4x3_rc2::IfcHumidifierTypeEnum::Value > Ifc4x3_rc2::IfcHumidifier::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcHumidifierTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcHumidifierTypeEnum::Value > Ifc4x3_rc2::IfcHumidifier::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcHumidifierTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcHumidifier::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcHumidifierTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcHumidifierTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcHumidifier::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[545]); } const IfcParse::entity& Ifc4x3_rc2::IfcHumidifier::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[545]); } Ifc4x3_rc2::IfcHumidifier::IfcHumidifier(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc2::IfcHumidifier::IfcHumidifier(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcHumidifierTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcHumidifier::IfcHumidifier(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcHumidifierTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcHumidifierType -::Ifc4x3_rc2::IfcHumidifierTypeEnum::Value Ifc4x3_rc2::IfcHumidifierType::PredefinedType() const { return ::Ifc4x3_rc2::IfcHumidifierTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcHumidifierTypeEnum::Value Ifc4x3_rc2::IfcHumidifierType::PredefinedType() const { return ::Ifc4x3_rc2::IfcHumidifierTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcHumidifierType::setPredefinedType(::Ifc4x3_rc2::IfcHumidifierTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcHumidifierTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcHumidifierType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[546]); } const IfcParse::entity& Ifc4x3_rc2::IfcHumidifierType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[546]); } Ifc4x3_rc2::IfcHumidifierType::IfcHumidifierType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc2::IfcHumidifierType::IfcHumidifierType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcHumidifierTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcHumidifierType::IfcHumidifierType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcHumidifierTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcIShapeProfileDef -double Ifc4x3_rc2::IfcIShapeProfileDef::OverallWidth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc2::IfcIShapeProfileDef::OverallWidth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcIShapeProfileDef::setOverallWidth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc2::IfcIShapeProfileDef::OverallDepth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc2::IfcIShapeProfileDef::OverallDepth() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcIShapeProfileDef::setOverallDepth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc2::IfcIShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc2::IfcIShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcIShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc2::IfcIShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc2::IfcIShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcIShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc2::IfcIShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc2::IfcIShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcIShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc2::IfcIShapeProfileDef::FlangeEdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc2::IfcIShapeProfileDef::FlangeEdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcIShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_rc2::IfcIShapeProfileDef::FlangeSlope() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc2::IfcIShapeProfileDef::FlangeSlope() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc2::IfcIShapeProfileDef::setFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc2::IfcIShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[576]); } const IfcParse::entity& Ifc4x3_rc2::IfcIShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[576]); } Ifc4x3_rc2::IfcIShapeProfileDef::IfcIShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_rc2::IfcIShapeProfileDef::IfcIShapeProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::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(storage_t(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } +Ifc4x3_rc2::IfcIShapeProfileDef::IfcIShapeProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::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(in_memory_attribute_storage(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } // Function implementations for IfcImageTexture -std::string Ifc4x3_rc2::IfcImageTexture::URLReference() const { std::string v = data_.get_attribute_value(5); return v; } +std::string Ifc4x3_rc2::IfcImageTexture::URLReference() const { std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcImageTexture::setURLReference(std::string v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcImageTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[550]); } const IfcParse::entity& Ifc4x3_rc2::IfcImageTexture::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[550]); } Ifc4x3_rc2::IfcImageTexture::IfcImageTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -Ifc4x3_rc2::IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) : IfcSurfaceTexture(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference));; populate_derived(); } +Ifc4x3_rc2::IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) : IfcSurfaceTexture(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference));; populate_derived(); } // Function implementations for IfcImpactProtectionDevice -::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect* Ifc4x3_rc2::IfcImpactProtectionDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect>(true); } +::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect* Ifc4x3_rc2::IfcImpactProtectionDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect>(true); } void Ifc4x3_rc2::IfcImpactProtectionDevice::setPredefinedType(::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc2::IfcImpactProtectionDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[551]); } const IfcParse::entity& Ifc4x3_rc2::IfcImpactProtectionDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[551]); } Ifc4x3_rc2::IfcImpactProtectionDevice::IfcImpactProtectionDevice(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_rc2::IfcImpactProtectionDevice::IfcImpactProtectionDevice(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect* v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, v9_PredefinedType ? v9_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcImpactProtectionDevice::IfcImpactProtectionDevice(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect* v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, v9_PredefinedType ? v9_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcImpactProtectionDeviceType -::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect* Ifc4x3_rc2::IfcImpactProtectionDeviceType::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect>(true); } +::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect* Ifc4x3_rc2::IfcImpactProtectionDeviceType::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect>(true); } void Ifc4x3_rc2::IfcImpactProtectionDeviceType::setPredefinedType(::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcImpactProtectionDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[552]); } const IfcParse::entity& Ifc4x3_rc2::IfcImpactProtectionDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[552]); } Ifc4x3_rc2::IfcImpactProtectionDeviceType::IfcImpactProtectionDeviceType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_rc2::IfcImpactProtectionDeviceType::IfcImpactProtectionDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect* v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, v10_PredefinedType ? v10_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcImpactProtectionDeviceType::IfcImpactProtectionDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeSelect* v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, v10_PredefinedType ? v10_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcInclinedReferenceSweptAreaSolid -boost::optional< bool > Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid::FixedAxisVertical() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } bool v = data_.get_attribute_value(5); return v; } +boost::optional< bool > Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid::FixedAxisVertical() const { if(get_attribute_value(5).isNull()) { return boost::none; } bool v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid::setFixedAxisVertical(boost::optional< bool > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc2::IfcAxisLateralInclination* Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid::Inclinating() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcAxisLateralInclination>(true); } +::Ifc4x3_rc2::IfcAxisLateralInclination* Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid::Inclinating() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcAxisLateralInclination>(true); } void Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid::setInclinating(::Ifc4x3_rc2::IfcAxisLateralInclination* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[555]); } const IfcParse::entity& Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[555]); } Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid::IfcInclinedReferenceSweptAreaSolid(IfcEntityInstanceData&& e) : IfcDirectrixDistanceSweptAreaSolid(std::move(e)) { } -Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid::IfcInclinedReferenceSweptAreaSolid(::Ifc4x3_rc2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc2::IfcCurve* v3_Directrix, ::Ifc4x3_rc2::IfcPointByDistanceExpression* v4_StartDistance, ::Ifc4x3_rc2::IfcPointByDistanceExpression* v5_EndDistance, boost::optional< bool > v6_FixedAxisVertical, ::Ifc4x3_rc2::IfcAxisLateralInclination* v7_Inclinating) : IfcDirectrixDistanceSweptAreaSolid(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartDistance ? v4_StartDistance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndDistance ? v5_EndDistance->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_FixedAxisVertical) {set_attribute_value(5, (*v6_FixedAxisVertical)); }set_attribute_value(6, v7_Inclinating ? v7_Inclinating->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid::IfcInclinedReferenceSweptAreaSolid(::Ifc4x3_rc2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc2::IfcCurve* v3_Directrix, ::Ifc4x3_rc2::IfcPointByDistanceExpression* v4_StartDistance, ::Ifc4x3_rc2::IfcPointByDistanceExpression* v5_EndDistance, boost::optional< bool > v6_FixedAxisVertical, ::Ifc4x3_rc2::IfcAxisLateralInclination* v7_Inclinating) : IfcDirectrixDistanceSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartDistance ? v4_StartDistance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndDistance ? v5_EndDistance->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_FixedAxisVertical) {set_attribute_value(5, (*v6_FixedAxisVertical)); }set_attribute_value(6, v7_Inclinating ? v7_Inclinating->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcIndexedColourMap -::Ifc4x3_rc2::IfcTessellatedFaceSet* Ifc4x3_rc2::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcTessellatedFaceSet>(true); } +::Ifc4x3_rc2::IfcTessellatedFaceSet* Ifc4x3_rc2::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcTessellatedFaceSet>(true); } void Ifc4x3_rc2::IfcIndexedColourMap::setMappedTo(::Ifc4x3_rc2::IfcTessellatedFaceSet* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< double > Ifc4x3_rc2::IfcIndexedColourMap::Opacity() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc2::IfcIndexedColourMap::Opacity() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcIndexedColourMap::setOpacity(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc2::IfcColourRgbList* Ifc4x3_rc2::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcColourRgbList>(true); } +::Ifc4x3_rc2::IfcColourRgbList* Ifc4x3_rc2::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcColourRgbList>(true); } void Ifc4x3_rc2::IfcIndexedColourMap::setColours(::Ifc4x3_rc2::IfcColourRgbList* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -std::vector< int > /*[1:?]*/ Ifc4x3_rc2::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +std::vector< int > /*[1:?]*/ Ifc4x3_rc2::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcIndexedColourMap::setColourIndex(std::vector< int > /*[1:?]*/ v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcIndexedColourMap::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[556]); } const IfcParse::entity& Ifc4x3_rc2::IfcIndexedColourMap::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[556]); } Ifc4x3_rc2::IfcIndexedColourMap::IfcIndexedColourMap(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3_rc2::IfcTessellatedFaceSet* v1_MappedTo, boost::optional< double > v2_Opacity, ::Ifc4x3_rc2::IfcColourRgbList* v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) : IfcPresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_MappedTo ? v1_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, v3_Colours ? v3_Colours->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ColourIndex));; populate_derived(); } +Ifc4x3_rc2::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3_rc2::IfcTessellatedFaceSet* v1_MappedTo, boost::optional< double > v2_Opacity, ::Ifc4x3_rc2::IfcColourRgbList* v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_MappedTo ? v1_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, v3_Colours ? v3_Colours->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ColourIndex));; populate_derived(); } // Function implementations for IfcIndexedPolyCurve -::Ifc4x3_rc2::IfcCartesianPointList* Ifc4x3_rc2::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCartesianPointList>(true); } +::Ifc4x3_rc2::IfcCartesianPointList* Ifc4x3_rc2::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCartesianPointList>(true); } void Ifc4x3_rc2::IfcIndexedPolyCurve::setPoints(::Ifc4x3_rc2::IfcCartesianPointList* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcSegmentIndexSelect >::ptr > Ifc4x3_rc2::IfcIndexedPolyCurve::Segments() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcSegmentIndexSelect >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcSegmentIndexSelect >::ptr > Ifc4x3_rc2::IfcIndexedPolyCurve::Segments() const { if(get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcSegmentIndexSelect >(); } void Ifc4x3_rc2::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcSegmentIndexSelect >::ptr > v) { if (v) {set_attribute_value(1, (*v)->generalize());} else {unset_attribute_value(1);} } -boost::optional< bool > Ifc4x3_rc2::IfcIndexedPolyCurve::SelfIntersect() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } bool v = data_.get_attribute_value(2); return v; } +boost::optional< bool > Ifc4x3_rc2::IfcIndexedPolyCurve::SelfIntersect() const { if(get_attribute_value(2).isNull()) { return boost::none; } bool v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc2::IfcIndexedPolyCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[557]); } const IfcParse::entity& Ifc4x3_rc2::IfcIndexedPolyCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[557]); } Ifc4x3_rc2::IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_rc2::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_rc2::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Points ? v1_Points->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Segments) {set_attribute_value(1, (*v2_Segments)->generalize()); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); }; populate_derived(); } +Ifc4x3_rc2::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_rc2::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Points ? v1_Points->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Segments) {set_attribute_value(1, (*v2_Segments)->generalize()); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); }; populate_derived(); } // Function implementations for IfcIndexedPolygonalFace -std::vector< int > /*[3:?]*/ Ifc4x3_rc2::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = data_.get_attribute_value(0); return v; } +std::vector< int > /*[3:?]*/ Ifc4x3_rc2::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcIndexedPolygonalFace::setCoordIndex(std::vector< int > /*[3:?]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_rc2::IfcPolygonalFaceSet::list::ptr Ifc4x3_rc2::IfcIndexedPolygonalFace::ToFaceSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[790], 2)->as(); } @@ -11986,59 +11986,59 @@ void Ifc4x3_rc2::IfcIndexedPolygonalFace::setCoordIndex(std::vector< int > /*[3: const IfcParse::entity& Ifc4x3_rc2::IfcIndexedPolygonalFace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[558]); } const IfcParse::entity& Ifc4x3_rc2::IfcIndexedPolygonalFace::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[558]); } Ifc4x3_rc2::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(IfcEntityInstanceData&& e) : IfcTessellatedItem(std::move(e)) { } -Ifc4x3_rc2::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(std::vector< int > /*[3:?]*/ v1_CoordIndex) : IfcTessellatedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CoordIndex));; populate_derived(); } +Ifc4x3_rc2::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(std::vector< int > /*[3:?]*/ v1_CoordIndex) : IfcTessellatedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CoordIndex));; populate_derived(); } // Function implementations for IfcIndexedPolygonalFaceWithVoids -std::vector< std::vector< int > > Ifc4x3_rc2::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { std::vector< std::vector< int > > v = data_.get_attribute_value(1); return v; } +std::vector< std::vector< int > > Ifc4x3_rc2::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { std::vector< std::vector< int > > v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcIndexedPolygonalFaceWithVoids::setInnerCoordIndices(std::vector< std::vector< int > > v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcIndexedPolygonalFaceWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[559]); } const IfcParse::entity& Ifc4x3_rc2::IfcIndexedPolygonalFaceWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[559]); } Ifc4x3_rc2::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(IfcEntityInstanceData&& e) : IfcIndexedPolygonalFace(std::move(e)) { } -Ifc4x3_rc2::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) : IfcIndexedPolygonalFace(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices));; populate_derived(); } +Ifc4x3_rc2::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) : IfcIndexedPolygonalFace(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices));; populate_derived(); } // Function implementations for IfcIndexedTextureMap -::Ifc4x3_rc2::IfcTessellatedFaceSet* Ifc4x3_rc2::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcTessellatedFaceSet>(true); } +::Ifc4x3_rc2::IfcTessellatedFaceSet* Ifc4x3_rc2::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcTessellatedFaceSet>(true); } void Ifc4x3_rc2::IfcIndexedTextureMap::setMappedTo(::Ifc4x3_rc2::IfcTessellatedFaceSet* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcTextureVertexList* Ifc4x3_rc2::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcTextureVertexList>(true); } +::Ifc4x3_rc2::IfcTextureVertexList* Ifc4x3_rc2::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcTextureVertexList>(true); } void Ifc4x3_rc2::IfcIndexedTextureMap::setTexCoords(::Ifc4x3_rc2::IfcTextureVertexList* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcIndexedTextureMap::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[560]); } const IfcParse::entity& Ifc4x3_rc2::IfcIndexedTextureMap::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[560]); } Ifc4x3_rc2::IfcIndexedTextureMap::IfcIndexedTextureMap(IfcEntityInstanceData&& e) : IfcTextureCoordinate(std::move(e)) { } -Ifc4x3_rc2::IfcIndexedTextureMap::IfcIndexedTextureMap(aggregate_of< ::Ifc4x3_rc2::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_rc2::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_rc2::IfcTextureVertexList* v3_TexCoords) : IfcTextureCoordinate(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcIndexedTextureMap::IfcIndexedTextureMap(aggregate_of< ::Ifc4x3_rc2::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_rc2::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_rc2::IfcTextureVertexList* v3_TexCoords) : IfcTextureCoordinate(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcIndexedTriangleTextureMap -boost::optional< std::vector< std::vector< int > > > Ifc4x3_rc2::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::vector< int > > v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< std::vector< int > > > Ifc4x3_rc2::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::vector< int > > v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcIndexedTriangleTextureMap::setTexCoordIndex(boost::optional< std::vector< std::vector< int > > > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc2::IfcIndexedTriangleTextureMap::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[561]); } const IfcParse::entity& Ifc4x3_rc2::IfcIndexedTriangleTextureMap::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[561]); } Ifc4x3_rc2::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(IfcEntityInstanceData&& e) : IfcIndexedTextureMap(std::move(e)) { } -Ifc4x3_rc2::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(aggregate_of< ::Ifc4x3_rc2::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_rc2::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_rc2::IfcTextureVertexList* v3_TexCoords, boost::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) : IfcIndexedTextureMap(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); }; populate_derived(); } +Ifc4x3_rc2::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(aggregate_of< ::Ifc4x3_rc2::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_rc2::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_rc2::IfcTextureVertexList* v3_TexCoords, boost::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) : IfcIndexedTextureMap(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); }; populate_derived(); } // Function implementations for IfcInterceptor -boost::optional< ::Ifc4x3_rc2::IfcInterceptorTypeEnum::Value > Ifc4x3_rc2::IfcInterceptor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcInterceptorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcInterceptorTypeEnum::Value > Ifc4x3_rc2::IfcInterceptor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcInterceptorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcInterceptor::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcInterceptorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcInterceptorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcInterceptor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[565]); } const IfcParse::entity& Ifc4x3_rc2::IfcInterceptor::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[565]); } Ifc4x3_rc2::IfcInterceptor::IfcInterceptor(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4x3_rc2::IfcInterceptor::IfcInterceptor(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcInterceptorTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcInterceptor::IfcInterceptor(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcInterceptorTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcInterceptorType -::Ifc4x3_rc2::IfcInterceptorTypeEnum::Value Ifc4x3_rc2::IfcInterceptorType::PredefinedType() const { return ::Ifc4x3_rc2::IfcInterceptorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcInterceptorTypeEnum::Value Ifc4x3_rc2::IfcInterceptorType::PredefinedType() const { return ::Ifc4x3_rc2::IfcInterceptorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcInterceptorType::setPredefinedType(::Ifc4x3_rc2::IfcInterceptorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcInterceptorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcInterceptorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[566]); } const IfcParse::entity& Ifc4x3_rc2::IfcInterceptorType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[566]); } Ifc4x3_rc2::IfcInterceptorType::IfcInterceptorType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4x3_rc2::IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcInterceptorTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcInterceptorTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcIntersectionCurve @@ -12046,174 +12046,174 @@ Ifc4x3_rc2::IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x3_rc2::IfcIntersectionCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[570]); } const IfcParse::entity& Ifc4x3_rc2::IfcIntersectionCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[570]); } Ifc4x3_rc2::IfcIntersectionCurve::IfcIntersectionCurve(IfcEntityInstanceData&& e) : IfcSurfaceCurve(std::move(e)) { } -Ifc4x3_rc2::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4x3_rc2::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_rc2::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } +Ifc4x3_rc2::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4x3_rc2::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_rc2::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcInventory -boost::optional< ::Ifc4x3_rc2::IfcInventoryTypeEnum::Value > Ifc4x3_rc2::IfcInventory::PredefinedType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcInventoryTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3_rc2::IfcInventoryTypeEnum::Value > Ifc4x3_rc2::IfcInventory::PredefinedType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcInventoryTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc2::IfcInventory::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcInventoryTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc2::IfcInventoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcInventory::Jurisdiction() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcActorSelect>(true); } +::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcInventory::Jurisdiction() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcActorSelect>(true); } void Ifc4x3_rc2::IfcInventory::setJurisdiction(::Ifc4x3_rc2::IfcActorSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPerson >::ptr > Ifc4x3_rc2::IfcInventory::ResponsiblePersons() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc2::IfcPerson >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPerson >::ptr > Ifc4x3_rc2::IfcInventory::ResponsiblePersons() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc2::IfcPerson >(); } void Ifc4x3_rc2::IfcInventory::setResponsiblePersons(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPerson >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc2::IfcInventory::LastUpdateDate() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcInventory::LastUpdateDate() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcInventory::setLastUpdateDate(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_rc2::IfcCostValue* Ifc4x3_rc2::IfcInventory::CurrentValue() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc2::IfcCostValue>(true); } +::Ifc4x3_rc2::IfcCostValue* Ifc4x3_rc2::IfcInventory::CurrentValue() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc2::IfcCostValue>(true); } void Ifc4x3_rc2::IfcInventory::setCurrentValue(::Ifc4x3_rc2::IfcCostValue* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc2::IfcCostValue* Ifc4x3_rc2::IfcInventory::OriginalValue() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_rc2::IfcCostValue>(true); } +::Ifc4x3_rc2::IfcCostValue* Ifc4x3_rc2::IfcInventory::OriginalValue() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_rc2::IfcCostValue>(true); } void Ifc4x3_rc2::IfcInventory::setOriginalValue(::Ifc4x3_rc2::IfcCostValue* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_rc2::IfcInventory::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[571]); } const IfcParse::entity& Ifc4x3_rc2::IfcInventory::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[571]); } Ifc4x3_rc2::IfcInventory::IfcInventory(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x3_rc2::IfcInventory::IfcInventory(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_rc2::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_rc2::IfcActorSelect* v7_Jurisdiction, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPerson >::ptr > v8_ResponsiblePersons, boost::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_rc2::IfcCostValue* v10_CurrentValue, ::Ifc4x3_rc2::IfcCostValue* v11_OriginalValue) : IfcGroup(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, v7_Jurisdiction ? v7_Jurisdiction->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_ResponsiblePersons) {set_attribute_value(7, (*v8_ResponsiblePersons)->generalize()); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, v10_CurrentValue ? v10_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_OriginalValue ? v11_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcInventory::IfcInventory(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_rc2::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_rc2::IfcActorSelect* v7_Jurisdiction, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPerson >::ptr > v8_ResponsiblePersons, boost::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_rc2::IfcCostValue* v10_CurrentValue, ::Ifc4x3_rc2::IfcCostValue* v11_OriginalValue) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, v7_Jurisdiction ? v7_Jurisdiction->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_ResponsiblePersons) {set_attribute_value(7, (*v8_ResponsiblePersons)->generalize()); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, v10_CurrentValue ? v10_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_OriginalValue ? v11_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcIrregularTimeSeries -aggregate_of< ::Ifc4x3_rc2::IfcIrregularTimeSeriesValue >::ptr Ifc4x3_rc2::IfcIrregularTimeSeries::Values() const { aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_rc2::IfcIrregularTimeSeriesValue >(); } +aggregate_of< ::Ifc4x3_rc2::IfcIrregularTimeSeriesValue >::ptr Ifc4x3_rc2::IfcIrregularTimeSeries::Values() const { aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_rc2::IfcIrregularTimeSeriesValue >(); } void Ifc4x3_rc2::IfcIrregularTimeSeries::setValues(aggregate_of< ::Ifc4x3_rc2::IfcIrregularTimeSeriesValue >::ptr v) { set_attribute_value(8, (v)->generalize());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc2::IfcIrregularTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[574]); } const IfcParse::entity& Ifc4x3_rc2::IfcIrregularTimeSeries::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[574]); } Ifc4x3_rc2::IfcIrregularTimeSeries::IfcIrregularTimeSeries(IfcEntityInstanceData&& e) : IfcTimeSeries(std::move(e)) { } -Ifc4x3_rc2::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc2::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc2::IfcUnit* v8_Unit, aggregate_of< ::Ifc4x3_rc2::IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_Values)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc2::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc2::IfcUnit* v8_Unit, aggregate_of< ::Ifc4x3_rc2::IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_Values)->generalize());; populate_derived(); } // Function implementations for IfcIrregularTimeSeriesValue -std::string Ifc4x3_rc2::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc2::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcIrregularTimeSeriesValue::setTimeStamp(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr Ifc4x3_rc2::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcValue >(); } +aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr Ifc4x3_rc2::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcValue >(); } void Ifc4x3_rc2::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcIrregularTimeSeriesValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[575]); } const IfcParse::entity& Ifc4x3_rc2::IfcIrregularTimeSeriesValue::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[575]); } Ifc4x3_rc2::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, (v2_ListValues)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, (v2_ListValues)->generalize());; populate_derived(); } // Function implementations for IfcJunctionBox -boost::optional< ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value > Ifc4x3_rc2::IfcJunctionBox::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value > Ifc4x3_rc2::IfcJunctionBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcJunctionBox::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcJunctionBox::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[578]); } const IfcParse::entity& Ifc4x3_rc2::IfcJunctionBox::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[578]); } Ifc4x3_rc2::IfcJunctionBox::IfcJunctionBox(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x3_rc2::IfcJunctionBox::IfcJunctionBox(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcJunctionBox::IfcJunctionBox(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcJunctionBoxType -::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value Ifc4x3_rc2::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value Ifc4x3_rc2::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcJunctionBoxType::setPredefinedType(::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcJunctionBoxType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[579]); } const IfcParse::entity& Ifc4x3_rc2::IfcJunctionBoxType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[579]); } Ifc4x3_rc2::IfcJunctionBoxType::IfcJunctionBoxType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x3_rc2::IfcJunctionBoxType::IfcJunctionBoxType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcJunctionBoxType::IfcJunctionBoxType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcKerb -bool Ifc4x3_rc2::IfcKerb::Mountable() const { bool v = data_.get_attribute_value(8); return v; } +bool Ifc4x3_rc2::IfcKerb::Mountable() const { bool v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcKerb::setMountable(bool v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc2::IfcKerb::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[581]); } const IfcParse::entity& Ifc4x3_rc2::IfcKerb::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[581]); } Ifc4x3_rc2::IfcKerb::IfcKerb(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc2::IfcKerb::IfcKerb(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, bool v9_Mountable) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_Mountable));; populate_derived(); } +Ifc4x3_rc2::IfcKerb::IfcKerb(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, bool v9_Mountable) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_Mountable));; populate_derived(); } // Function implementations for IfcKerbType -bool Ifc4x3_rc2::IfcKerbType::Mountable() const { bool v = data_.get_attribute_value(9); return v; } +bool Ifc4x3_rc2::IfcKerbType::Mountable() const { bool v = get_attribute_value(9); return v; } void Ifc4x3_rc2::IfcKerbType::setMountable(bool v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcKerbType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[582]); } const IfcParse::entity& Ifc4x3_rc2::IfcKerbType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[582]); } Ifc4x3_rc2::IfcKerbType::IfcKerbType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc2::IfcKerbType::IfcKerbType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, bool v10_Mountable) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_Mountable));; populate_derived(); } +Ifc4x3_rc2::IfcKerbType::IfcKerbType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, bool v10_Mountable) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_Mountable));; populate_derived(); } // Function implementations for IfcLShapeProfileDef -double Ifc4x3_rc2::IfcLShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc2::IfcLShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcLShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< double > Ifc4x3_rc2::IfcLShapeProfileDef::Width() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc2::IfcLShapeProfileDef::Width() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcLShapeProfileDef::setWidth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -double Ifc4x3_rc2::IfcLShapeProfileDef::Thickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc2::IfcLShapeProfileDef::Thickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcLShapeProfileDef::setThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_rc2::IfcLShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc2::IfcLShapeProfileDef::FilletRadius() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcLShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_rc2::IfcLShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc2::IfcLShapeProfileDef::EdgeRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcLShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc2::IfcLShapeProfileDef::LegSlope() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc2::IfcLShapeProfileDef::LegSlope() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcLShapeProfileDef::setLegSlope(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcLShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[636]); } const IfcParse::entity& Ifc4x3_rc2::IfcLShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[636]); } Ifc4x3_rc2::IfcLShapeProfileDef::IfcLShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_rc2::IfcLShapeProfileDef::IfcLShapeProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::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(storage_t(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); }; populate_derived(); } +Ifc4x3_rc2::IfcLShapeProfileDef::IfcLShapeProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::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(in_memory_attribute_storage(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); }; populate_derived(); } // Function implementations for IfcLaborResource -boost::optional< ::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Value > Ifc4x3_rc2::IfcLaborResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcLaborResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Value > Ifc4x3_rc2::IfcLaborResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcLaborResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc2::IfcLaborResource::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc2::IfcLaborResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[586]); } const IfcParse::entity& Ifc4x3_rc2::IfcLaborResource::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[586]); } Ifc4x3_rc2::IfcLaborResource::IfcLaborResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_rc2::IfcLaborResource::IfcLaborResource(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcLaborResource::IfcLaborResource(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLaborResourceType -::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Value Ifc4x3_rc2::IfcLaborResourceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcLaborResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Value Ifc4x3_rc2::IfcLaborResourceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcLaborResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc2::IfcLaborResourceType::setPredefinedType(::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc2::IfcLaborResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[587]); } const IfcParse::entity& Ifc4x3_rc2::IfcLaborResourceType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[587]); } Ifc4x3_rc2::IfcLaborResourceType::IfcLaborResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_rc2::IfcLaborResourceType::IfcLaborResourceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcLaborResourceType::IfcLaborResourceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc2::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcLagTime -::Ifc4x3_rc2::IfcTimeOrRatioSelect* Ifc4x3_rc2::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcTimeOrRatioSelect>(true); } +::Ifc4x3_rc2::IfcTimeOrRatioSelect* Ifc4x3_rc2::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcTimeOrRatioSelect>(true); } void Ifc4x3_rc2::IfcLagTime::setLagValue(::Ifc4x3_rc2::IfcTimeOrRatioSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc2::IfcTaskDurationEnum::Value Ifc4x3_rc2::IfcLagTime::DurationType() const { return ::Ifc4x3_rc2::IfcTaskDurationEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x3_rc2::IfcTaskDurationEnum::Value Ifc4x3_rc2::IfcLagTime::DurationType() const { return ::Ifc4x3_rc2::IfcTaskDurationEnum::FromString(get_attribute_value(4)); } void Ifc4x3_rc2::IfcLagTime::setDurationType(::Ifc4x3_rc2::IfcTaskDurationEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3_rc2::IfcTaskDurationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc2::IfcLagTime::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[589]); } const IfcParse::entity& Ifc4x3_rc2::IfcLagTime::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[589]); } Ifc4x3_rc2::IfcLagTime::IfcLagTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x3_rc2::IfcLagTime::IfcLagTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc2::IfcTimeOrRatioSelect* v4_LagValue, ::Ifc4x3_rc2::IfcTaskDurationEnum::Value v5_DurationType) : IfcSchedulingTime(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_LagValue ? v4_LagValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc2::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType)));; populate_derived(); } +Ifc4x3_rc2::IfcLagTime::IfcLagTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc2::IfcTimeOrRatioSelect* v4_LagValue, ::Ifc4x3_rc2::IfcTaskDurationEnum::Value v5_DurationType) : IfcSchedulingTime(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_LagValue ? v4_LagValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc2::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType)));; populate_derived(); } // Function implementations for IfcLamp -boost::optional< ::Ifc4x3_rc2::IfcLampTypeEnum::Value > Ifc4x3_rc2::IfcLamp::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcLampTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcLampTypeEnum::Value > Ifc4x3_rc2::IfcLamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcLampTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcLamp::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcLampTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcLampTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcLamp::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[590]); } const IfcParse::entity& Ifc4x3_rc2::IfcLamp::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[590]); } Ifc4x3_rc2::IfcLamp::IfcLamp(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc2::IfcLamp::IfcLamp(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcLampTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcLamp::IfcLamp(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcLampTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLampType -::Ifc4x3_rc2::IfcLampTypeEnum::Value Ifc4x3_rc2::IfcLampType::PredefinedType() const { return ::Ifc4x3_rc2::IfcLampTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcLampTypeEnum::Value Ifc4x3_rc2::IfcLampType::PredefinedType() const { return ::Ifc4x3_rc2::IfcLampTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcLampType::setPredefinedType(::Ifc4x3_rc2::IfcLampTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcLampTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcLampType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[591]); } const IfcParse::entity& Ifc4x3_rc2::IfcLampType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[591]); } Ifc4x3_rc2::IfcLampType::IfcLampType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc2::IfcLampType::IfcLampType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcLampTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcLampType::IfcLampType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcLampTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLibraryInformation -std::string Ifc4x3_rc2::IfcLibraryInformation::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc2::IfcLibraryInformation::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcLibraryInformation::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc2::IfcLibraryInformation::Version() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcLibraryInformation::Version() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcLibraryInformation::Publisher() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcActorSelect>(true); } +::Ifc4x3_rc2::IfcActorSelect* Ifc4x3_rc2::IfcLibraryInformation::Publisher() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcActorSelect>(true); } void Ifc4x3_rc2::IfcLibraryInformation::setPublisher(::Ifc4x3_rc2::IfcActorSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x3_rc2::IfcLibraryInformation::VersionDate() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcLibraryInformation::VersionDate() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcLibraryInformation::setVersionDate(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc2::IfcLibraryInformation::Location() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcLibraryInformation::Location() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcLibraryInformation::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc2::IfcLibraryInformation::Description() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcLibraryInformation::Description() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcLibraryInformation::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x3_rc2::IfcRelAssociatesLibrary::list::ptr Ifc4x3_rc2::IfcLibraryInformation::LibraryInfoForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[931], 5)->as(); } @@ -12222,14 +12222,14 @@ void Ifc4x3_rc2::IfcLibraryInformation::setDescription(boost::optional< std::str const IfcParse::entity& Ifc4x3_rc2::IfcLibraryInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[597]); } const IfcParse::entity& Ifc4x3_rc2::IfcLibraryInformation::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[597]); } Ifc4x3_rc2::IfcLibraryInformation::IfcLibraryInformation(IfcEntityInstanceData&& e) : IfcExternalInformation(std::move(e)) { } -Ifc4x3_rc2::IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, boost::optional< std::string > v2_Version, ::Ifc4x3_rc2::IfcActorSelect* v3_Publisher, boost::optional< std::string > v4_VersionDate, boost::optional< std::string > v5_Location, boost::optional< std::string > v6_Description) : IfcExternalInformation(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, v3_Publisher ? v3_Publisher->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); }; populate_derived(); } +Ifc4x3_rc2::IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, boost::optional< std::string > v2_Version, ::Ifc4x3_rc2::IfcActorSelect* v3_Publisher, boost::optional< std::string > v4_VersionDate, boost::optional< std::string > v5_Location, boost::optional< std::string > v6_Description) : IfcExternalInformation(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, v3_Publisher ? v3_Publisher->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); }; populate_derived(); } // Function implementations for IfcLibraryReference -boost::optional< std::string > Ifc4x3_rc2::IfcLibraryReference::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcLibraryReference::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcLibraryReference::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc2::IfcLibraryReference::Language() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcLibraryReference::Language() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcLibraryReference::setLanguage(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc2::IfcLibraryInformation* Ifc4x3_rc2::IfcLibraryReference::ReferencedLibrary() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcLibraryInformation>(true); } +::Ifc4x3_rc2::IfcLibraryInformation* Ifc4x3_rc2::IfcLibraryReference::ReferencedLibrary() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcLibraryInformation>(true); } void Ifc4x3_rc2::IfcLibraryReference::setReferencedLibrary(::Ifc4x3_rc2::IfcLibraryInformation* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc4x3_rc2::IfcRelAssociatesLibrary::list::ptr Ifc4x3_rc2::IfcLibraryReference::LibraryRefForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[931], 5)->as(); } @@ -12237,69 +12237,69 @@ void Ifc4x3_rc2::IfcLibraryReference::setReferencedLibrary(::Ifc4x3_rc2::IfcLibr const IfcParse::entity& Ifc4x3_rc2::IfcLibraryReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[598]); } const IfcParse::entity& Ifc4x3_rc2::IfcLibraryReference::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[598]); } Ifc4x3_rc2::IfcLibraryReference::IfcLibraryReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_rc2::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_rc2::IfcLibraryInformation* v6_ReferencedLibrary) : IfcExternalReference(IfcEntityInstanceData(storage_t(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, v6_ReferencedLibrary ? v6_ReferencedLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::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_rc2::IfcLibraryInformation* v6_ReferencedLibrary) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, v6_ReferencedLibrary ? v6_ReferencedLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLightDistributionData -double Ifc4x3_rc2::IfcLightDistributionData::MainPlaneAngle() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_rc2::IfcLightDistributionData::MainPlaneAngle() const { double v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcLightDistributionData::setMainPlaneAngle(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< double > /*[1:?]*/ Ifc4x3_rc2::IfcLightDistributionData::SecondaryPlaneAngle() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +std::vector< double > /*[1:?]*/ Ifc4x3_rc2::IfcLightDistributionData::SecondaryPlaneAngle() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcLightDistributionData::setSecondaryPlaneAngle(std::vector< double > /*[1:?]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector< double > /*[1:?]*/ Ifc4x3_rc2::IfcLightDistributionData::LuminousIntensity() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(2); return v; } +std::vector< double > /*[1:?]*/ Ifc4x3_rc2::IfcLightDistributionData::LuminousIntensity() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcLightDistributionData::setLuminousIntensity(std::vector< double > /*[1:?]*/ v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcLightDistributionData::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[601]); } const IfcParse::entity& Ifc4x3_rc2::IfcLightDistributionData::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[601]); } Ifc4x3_rc2::IfcLightDistributionData::IfcLightDistributionData(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcLightDistributionData::IfcLightDistributionData(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; populate_derived(); } +Ifc4x3_rc2::IfcLightDistributionData::IfcLightDistributionData(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; populate_derived(); } // Function implementations for IfcLightFixture -boost::optional< ::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value > Ifc4x3_rc2::IfcLightFixture::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcLightFixtureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value > Ifc4x3_rc2::IfcLightFixture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcLightFixtureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcLightFixture::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcLightFixture::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[604]); } const IfcParse::entity& Ifc4x3_rc2::IfcLightFixture::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[604]); } Ifc4x3_rc2::IfcLightFixture::IfcLightFixture(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc2::IfcLightFixture::IfcLightFixture(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcLightFixture::IfcLightFixture(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLightFixtureType -::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value Ifc4x3_rc2::IfcLightFixtureType::PredefinedType() const { return ::Ifc4x3_rc2::IfcLightFixtureTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value Ifc4x3_rc2::IfcLightFixtureType::PredefinedType() const { return ::Ifc4x3_rc2::IfcLightFixtureTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcLightFixtureType::setPredefinedType(::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcLightFixtureType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[605]); } const IfcParse::entity& Ifc4x3_rc2::IfcLightFixtureType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[605]); } Ifc4x3_rc2::IfcLightFixtureType::IfcLightFixtureType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc2::IfcLightFixtureType::IfcLightFixtureType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcLightFixtureType::IfcLightFixtureType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLightIntensityDistribution -::Ifc4x3_rc2::IfcLightDistributionCurveEnum::Value Ifc4x3_rc2::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4x3_rc2::IfcLightDistributionCurveEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_rc2::IfcLightDistributionCurveEnum::Value Ifc4x3_rc2::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4x3_rc2::IfcLightDistributionCurveEnum::FromString(get_attribute_value(0)); } void Ifc4x3_rc2::IfcLightIntensityDistribution::setLightDistributionCurve(::Ifc4x3_rc2::IfcLightDistributionCurveEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_rc2::IfcLightDistributionCurveEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc2::IfcLightDistributionData >::ptr Ifc4x3_rc2::IfcLightIntensityDistribution::DistributionData() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcLightDistributionData >(); } +aggregate_of< ::Ifc4x3_rc2::IfcLightDistributionData >::ptr Ifc4x3_rc2::IfcLightIntensityDistribution::DistributionData() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcLightDistributionData >(); } void Ifc4x3_rc2::IfcLightIntensityDistribution::setDistributionData(aggregate_of< ::Ifc4x3_rc2::IfcLightDistributionData >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcLightIntensityDistribution::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[607]); } const IfcParse::entity& Ifc4x3_rc2::IfcLightIntensityDistribution::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[607]); } Ifc4x3_rc2::IfcLightIntensityDistribution::IfcLightIntensityDistribution(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4x3_rc2::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, aggregate_of< ::Ifc4x3_rc2::IfcLightDistributionData >::ptr v2_DistributionData) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, (v2_DistributionData)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4x3_rc2::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, aggregate_of< ::Ifc4x3_rc2::IfcLightDistributionData >::ptr v2_DistributionData) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, (v2_DistributionData)->generalize());; populate_derived(); } // Function implementations for IfcLightSource -boost::optional< std::string > Ifc4x3_rc2::IfcLightSource::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcLightSource::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcLightSource::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_rc2::IfcColourRgb* Ifc4x3_rc2::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcColourRgb>(true); } +::Ifc4x3_rc2::IfcColourRgb* Ifc4x3_rc2::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcColourRgb>(true); } void Ifc4x3_rc2::IfcLightSource::setLightColour(::Ifc4x3_rc2::IfcColourRgb* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_rc2::IfcLightSource::AmbientIntensity() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc2::IfcLightSource::AmbientIntensity() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc2::IfcLightSource::Intensity() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc2::IfcLightSource::Intensity() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcLightSource::setIntensity(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc2::IfcLightSource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[608]); } const IfcParse::entity& Ifc4x3_rc2::IfcLightSource::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[608]); } Ifc4x3_rc2::IfcLightSource::IfcLightSource(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } +Ifc4x3_rc2::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } // Function implementations for IfcLightSourceAmbient @@ -12307,83 +12307,83 @@ Ifc4x3_rc2::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Nam const IfcParse::entity& Ifc4x3_rc2::IfcLightSourceAmbient::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[609]); } const IfcParse::entity& Ifc4x3_rc2::IfcLightSourceAmbient::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[609]); } Ifc4x3_rc2::IfcLightSourceAmbient::IfcLightSourceAmbient(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x3_rc2::IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcLightSource(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } +Ifc4x3_rc2::IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } // Function implementations for IfcLightSourceDirectional -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcDirection>(true); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcLightSourceDirectional::setOrientation(::Ifc4x3_rc2::IfcDirection* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc2::IfcLightSourceDirectional::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[610]); } const IfcParse::entity& Ifc4x3_rc2::IfcLightSourceDirectional::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[610]); } Ifc4x3_rc2::IfcLightSourceDirectional::IfcLightSourceDirectional(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x3_rc2::IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc2::IfcDirection* v5_Orientation) : IfcLightSource(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Orientation ? v5_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc2::IfcDirection* v5_Orientation) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Orientation ? v5_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLightSourceGoniometric -::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(true); } void Ifc4x3_rc2::IfcLightSourceGoniometric::setPosition(::Ifc4x3_rc2::IfcAxis2Placement3D* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcColourRgb* Ifc4x3_rc2::IfcLightSourceGoniometric::ColourAppearance() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcColourRgb>(true); } +::Ifc4x3_rc2::IfcColourRgb* Ifc4x3_rc2::IfcLightSourceGoniometric::ColourAppearance() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcColourRgb>(true); } void Ifc4x3_rc2::IfcLightSourceGoniometric::setColourAppearance(::Ifc4x3_rc2::IfcColourRgb* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc2::IfcLightSourceGoniometric::ColourTemperature() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc2::IfcLightSourceGoniometric::ColourTemperature() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcLightSourceGoniometric::setColourTemperature(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -double Ifc4x3_rc2::IfcLightSourceGoniometric::LuminousFlux() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x3_rc2::IfcLightSourceGoniometric::LuminousFlux() const { double v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcLightSourceGoniometric::setLuminousFlux(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc2::IfcLightEmissionSourceEnum::Value Ifc4x3_rc2::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4x3_rc2::IfcLightEmissionSourceEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc2::IfcLightEmissionSourceEnum::Value Ifc4x3_rc2::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4x3_rc2::IfcLightEmissionSourceEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcLightSourceGoniometric::setLightEmissionSource(::Ifc4x3_rc2::IfcLightEmissionSourceEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcLightEmissionSourceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc2::IfcLightDistributionDataSourceSelect* Ifc4x3_rc2::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc2::IfcLightDistributionDataSourceSelect>(true); } +::Ifc4x3_rc2::IfcLightDistributionDataSourceSelect* Ifc4x3_rc2::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc2::IfcLightDistributionDataSourceSelect>(true); } void Ifc4x3_rc2::IfcLightSourceGoniometric::setLightDistributionDataSource(::Ifc4x3_rc2::IfcLightDistributionDataSourceSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcLightSourceGoniometric::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[611]); } const IfcParse::entity& Ifc4x3_rc2::IfcLightSourceGoniometric::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[611]); } Ifc4x3_rc2::IfcLightSourceGoniometric::IfcLightSourceGoniometric(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x3_rc2::IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc2::IfcAxis2Placement3D* v5_Position, ::Ifc4x3_rc2::IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_rc2::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_rc2::IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource(IfcEntityInstanceData(storage_t(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ColourAppearance ? v6_ColourAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, v10_LightDistributionDataSource ? v10_LightDistributionDataSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc2::IfcAxis2Placement3D* v5_Position, ::Ifc4x3_rc2::IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_rc2::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_rc2::IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ColourAppearance ? v6_ColourAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, v10_LightDistributionDataSource ? v10_LightDistributionDataSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLightSourcePositional -::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(true); } +::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(true); } void Ifc4x3_rc2::IfcLightSourcePositional::setPosition(::Ifc4x3_rc2::IfcCartesianPoint* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc2::IfcLightSourcePositional::Radius() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc2::IfcLightSourcePositional::Radius() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcLightSourcePositional::setRadius(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc2::IfcLightSourcePositional::ConstantAttenuation() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc2::IfcLightSourcePositional::ConstantAttenuation() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcLightSourcePositional::setConstantAttenuation(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -double Ifc4x3_rc2::IfcLightSourcePositional::DistanceAttenuation() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x3_rc2::IfcLightSourcePositional::DistanceAttenuation() const { double v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcLightSourcePositional::setDistanceAttenuation(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -double Ifc4x3_rc2::IfcLightSourcePositional::QuadricAttenuation() const { double v = data_.get_attribute_value(8); return v; } +double Ifc4x3_rc2::IfcLightSourcePositional::QuadricAttenuation() const { double v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcLightSourcePositional::setQuadricAttenuation(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc2::IfcLightSourcePositional::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[612]); } const IfcParse::entity& Ifc4x3_rc2::IfcLightSourcePositional::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[612]); } Ifc4x3_rc2::IfcLightSourcePositional::IfcLightSourcePositional(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x3_rc2::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc2::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) : IfcLightSource(IfcEntityInstanceData(storage_t(9))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; populate_derived(); } +Ifc4x3_rc2::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc2::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; populate_derived(); } // Function implementations for IfcLightSourceSpot -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc2::IfcDirection>(true); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcLightSourceSpot::setOrientation(::Ifc4x3_rc2::IfcDirection* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3_rc2::IfcLightSourceSpot::ConcentrationExponent() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc2::IfcLightSourceSpot::ConcentrationExponent() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -double Ifc4x3_rc2::IfcLightSourceSpot::SpreadAngle() const { double v = data_.get_attribute_value(11); return v; } +double Ifc4x3_rc2::IfcLightSourceSpot::SpreadAngle() const { double v = get_attribute_value(11); return v; } void Ifc4x3_rc2::IfcLightSourceSpot::setSpreadAngle(double v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } -double Ifc4x3_rc2::IfcLightSourceSpot::BeamWidthAngle() const { double v = data_.get_attribute_value(12); return v; } +double Ifc4x3_rc2::IfcLightSourceSpot::BeamWidthAngle() const { double v = get_attribute_value(12); return v; } void Ifc4x3_rc2::IfcLightSourceSpot::setBeamWidthAngle(double v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } const IfcParse::entity& Ifc4x3_rc2::IfcLightSourceSpot::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[613]); } const IfcParse::entity& Ifc4x3_rc2::IfcLightSourceSpot::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[613]); } Ifc4x3_rc2::IfcLightSourceSpot::IfcLightSourceSpot(IfcEntityInstanceData&& e) : IfcLightSourcePositional(std::move(e)) { } -Ifc4x3_rc2::IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc2::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_rc2::IfcDirection* v10_Orientation, boost::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) : IfcLightSourcePositional(IfcEntityInstanceData(storage_t(13))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, v10_Orientation ? v10_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; populate_derived(); } +Ifc4x3_rc2::IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc2::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_rc2::IfcDirection* v10_Orientation, boost::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) : IfcLightSourcePositional(IfcEntityInstanceData(in_memory_attribute_storage(13))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, v10_Orientation ? v10_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; populate_derived(); } // Function implementations for IfcLine -::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(true); } +::Ifc4x3_rc2::IfcCartesianPoint* Ifc4x3_rc2::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCartesianPoint>(true); } void Ifc4x3_rc2::IfcLine::setPnt(::Ifc4x3_rc2::IfcCartesianPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcVector* Ifc4x3_rc2::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcVector>(true); } +::Ifc4x3_rc2::IfcVector* Ifc4x3_rc2::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcVector>(true); } void Ifc4x3_rc2::IfcLine::setDir(::Ifc4x3_rc2::IfcVector* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcLine::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[614]); } const IfcParse::entity& Ifc4x3_rc2::IfcLine::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[614]); } Ifc4x3_rc2::IfcLine::IfcLine(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_rc2::IfcLine::IfcLine(::Ifc4x3_rc2::IfcCartesianPoint* v1_Pnt, ::Ifc4x3_rc2::IfcVector* v2_Dir) : IfcCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Pnt ? v1_Pnt->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Dir ? v2_Dir->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcLine::IfcLine(::Ifc4x3_rc2::IfcCartesianPoint* v1_Pnt, ::Ifc4x3_rc2::IfcVector* v2_Dir) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Pnt ? v1_Pnt->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Dir ? v2_Dir->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLineSegment2D @@ -12391,19 +12391,19 @@ Ifc4x3_rc2::IfcLine::IfcLine(::Ifc4x3_rc2::IfcCartesianPoint* v1_Pnt, ::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc2::IfcLineSegment2D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[627]); } const IfcParse::entity& Ifc4x3_rc2::IfcLineSegment2D::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[627]); } Ifc4x3_rc2::IfcLineSegment2D::IfcLineSegment2D(IfcEntityInstanceData&& e) : IfcCurveSegment2D(std::move(e)) { } -Ifc4x3_rc2::IfcLineSegment2D::IfcLineSegment2D(::Ifc4x3_rc2::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) : IfcCurveSegment2D(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_StartPoint ? v1_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));; populate_derived(); } +Ifc4x3_rc2::IfcLineSegment2D::IfcLineSegment2D(::Ifc4x3_rc2::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength) : IfcCurveSegment2D(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_StartPoint ? v1_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength));; populate_derived(); } // Function implementations for IfcLinearAxisWithInclination -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcLinearAxisWithInclination::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCurve>(true); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcLinearAxisWithInclination::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcLinearAxisWithInclination::setDirectrix(::Ifc4x3_rc2::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcAxisLateralInclination* Ifc4x3_rc2::IfcLinearAxisWithInclination::Inclinating() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcAxisLateralInclination>(true); } +::Ifc4x3_rc2::IfcAxisLateralInclination* Ifc4x3_rc2::IfcLinearAxisWithInclination::Inclinating() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcAxisLateralInclination>(true); } void Ifc4x3_rc2::IfcLinearAxisWithInclination::setInclinating(::Ifc4x3_rc2::IfcAxisLateralInclination* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcLinearAxisWithInclination::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[616]); } const IfcParse::entity& Ifc4x3_rc2::IfcLinearAxisWithInclination::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[616]); } Ifc4x3_rc2::IfcLinearAxisWithInclination::IfcLinearAxisWithInclination(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcLinearAxisWithInclination::IfcLinearAxisWithInclination(::Ifc4x3_rc2::IfcCurve* v1_Directrix, ::Ifc4x3_rc2::IfcAxisLateralInclination* v2_Inclinating) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Inclinating ? v2_Inclinating->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcLinearAxisWithInclination::IfcLinearAxisWithInclination(::Ifc4x3_rc2::IfcCurve* v1_Directrix, ::Ifc4x3_rc2::IfcAxisLateralInclination* v2_Inclinating) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Inclinating ? v2_Inclinating->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLinearElement @@ -12411,83 +12411,83 @@ Ifc4x3_rc2::IfcLinearAxisWithInclination::IfcLinearAxisWithInclination(::Ifc4x3_ const IfcParse::entity& Ifc4x3_rc2::IfcLinearElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[617]); } const IfcParse::entity& Ifc4x3_rc2::IfcLinearElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[617]); } Ifc4x3_rc2::IfcLinearElement::IfcLinearElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_rc2::IfcLinearElement::IfcLinearElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcLinearElement::IfcLinearElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLinearPlacement -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcLinearPlacement::PlacementMeasuredAlong() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcCurve>(true); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcLinearPlacement::PlacementMeasuredAlong() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcLinearPlacement::setPlacementMeasuredAlong(::Ifc4x3_rc2::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcPointByDistanceExpression* Ifc4x3_rc2::IfcLinearPlacement::Distance() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcPointByDistanceExpression>(true); } +::Ifc4x3_rc2::IfcPointByDistanceExpression* Ifc4x3_rc2::IfcLinearPlacement::Distance() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcPointByDistanceExpression>(true); } void Ifc4x3_rc2::IfcLinearPlacement::setDistance(::Ifc4x3_rc2::IfcPointByDistanceExpression* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcAxis2PlacementLinear* Ifc4x3_rc2::IfcLinearPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcAxis2PlacementLinear>(true); } +::Ifc4x3_rc2::IfcAxis2PlacementLinear* Ifc4x3_rc2::IfcLinearPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcAxis2PlacementLinear>(true); } void Ifc4x3_rc2::IfcLinearPlacement::setRelativePlacement(::Ifc4x3_rc2::IfcAxis2PlacementLinear* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcLinearPlacement::CartesianPosition() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcLinearPlacement::CartesianPosition() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(true); } void Ifc4x3_rc2::IfcLinearPlacement::setCartesianPosition(::Ifc4x3_rc2::IfcAxis2Placement3D* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc2::IfcLinearPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[620]); } const IfcParse::entity& Ifc4x3_rc2::IfcLinearPlacement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[620]); } Ifc4x3_rc2::IfcLinearPlacement::IfcLinearPlacement(IfcEntityInstanceData&& e) : IfcObjectPlacement(std::move(e)) { } -Ifc4x3_rc2::IfcLinearPlacement::IfcLinearPlacement(::Ifc4x3_rc2::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc2::IfcCurve* v2_PlacementMeasuredAlong, ::Ifc4x3_rc2::IfcPointByDistanceExpression* v3_Distance, ::Ifc4x3_rc2::IfcAxis2PlacementLinear* v4_RelativePlacement, ::Ifc4x3_rc2::IfcAxis2Placement3D* v5_CartesianPosition) : IfcObjectPlacement(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementMeasuredAlong ? v2_PlacementMeasuredAlong->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Distance ? v3_Distance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_RelativePlacement ? v4_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_CartesianPosition ? v5_CartesianPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcLinearPlacement::IfcLinearPlacement(::Ifc4x3_rc2::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc2::IfcCurve* v2_PlacementMeasuredAlong, ::Ifc4x3_rc2::IfcPointByDistanceExpression* v3_Distance, ::Ifc4x3_rc2::IfcAxis2PlacementLinear* v4_RelativePlacement, ::Ifc4x3_rc2::IfcAxis2Placement3D* v5_CartesianPosition) : IfcObjectPlacement(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementMeasuredAlong ? v2_PlacementMeasuredAlong->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Distance ? v3_Distance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_RelativePlacement ? v4_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_CartesianPosition ? v5_CartesianPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLinearPlacementWithInclination -::Ifc4x3_rc2::IfcAxisLateralInclination* Ifc4x3_rc2::IfcLinearPlacementWithInclination::Inclinating() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcAxisLateralInclination>(true); } +::Ifc4x3_rc2::IfcAxisLateralInclination* Ifc4x3_rc2::IfcLinearPlacementWithInclination::Inclinating() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcAxisLateralInclination>(true); } void Ifc4x3_rc2::IfcLinearPlacementWithInclination::setInclinating(::Ifc4x3_rc2::IfcAxisLateralInclination* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcLinearPlacementWithInclination::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[621]); } const IfcParse::entity& Ifc4x3_rc2::IfcLinearPlacementWithInclination::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[621]); } Ifc4x3_rc2::IfcLinearPlacementWithInclination::IfcLinearPlacementWithInclination(IfcEntityInstanceData&& e) : IfcLinearPlacement(std::move(e)) { } -Ifc4x3_rc2::IfcLinearPlacementWithInclination::IfcLinearPlacementWithInclination(::Ifc4x3_rc2::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc2::IfcCurve* v2_PlacementMeasuredAlong, ::Ifc4x3_rc2::IfcPointByDistanceExpression* v3_Distance, ::Ifc4x3_rc2::IfcAxis2PlacementLinear* v4_RelativePlacement, ::Ifc4x3_rc2::IfcAxis2Placement3D* v5_CartesianPosition, ::Ifc4x3_rc2::IfcAxisLateralInclination* v6_Inclinating) : IfcLinearPlacement(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementMeasuredAlong ? v2_PlacementMeasuredAlong->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Distance ? v3_Distance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_RelativePlacement ? v4_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_CartesianPosition ? v5_CartesianPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_Inclinating ? v6_Inclinating->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcLinearPlacementWithInclination::IfcLinearPlacementWithInclination(::Ifc4x3_rc2::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc2::IfcCurve* v2_PlacementMeasuredAlong, ::Ifc4x3_rc2::IfcPointByDistanceExpression* v3_Distance, ::Ifc4x3_rc2::IfcAxis2PlacementLinear* v4_RelativePlacement, ::Ifc4x3_rc2::IfcAxis2Placement3D* v5_CartesianPosition, ::Ifc4x3_rc2::IfcAxisLateralInclination* v6_Inclinating) : IfcLinearPlacement(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementMeasuredAlong ? v2_PlacementMeasuredAlong->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Distance ? v3_Distance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_RelativePlacement ? v4_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_CartesianPosition ? v5_CartesianPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_Inclinating ? v6_Inclinating->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLinearPositioningElement -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcLinearPositioningElement::Axis() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc2::IfcCurve>(true); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcLinearPositioningElement::Axis() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcLinearPositioningElement::setAxis(::Ifc4x3_rc2::IfcCurve* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc2::IfcLinearPositioningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[622]); } const IfcParse::entity& Ifc4x3_rc2::IfcLinearPositioningElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[622]); } Ifc4x3_rc2::IfcLinearPositioningElement::IfcLinearPositioningElement(IfcEntityInstanceData&& e) : IfcPositioningElement(std::move(e)) { } -Ifc4x3_rc2::IfcLinearPositioningElement::IfcLinearPositioningElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcCurve* v8_Axis) : IfcPositioningElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_Axis ? v8_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcLinearPositioningElement::IfcLinearPositioningElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcCurve* v8_Axis) : IfcPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_Axis ? v8_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLinearSpanPlacement -double Ifc4x3_rc2::IfcLinearSpanPlacement::Span() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc2::IfcLinearSpanPlacement::Span() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcLinearSpanPlacement::setSpan(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcLinearSpanPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[623]); } const IfcParse::entity& Ifc4x3_rc2::IfcLinearSpanPlacement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[623]); } Ifc4x3_rc2::IfcLinearSpanPlacement::IfcLinearSpanPlacement(IfcEntityInstanceData&& e) : IfcLinearPlacement(std::move(e)) { } -Ifc4x3_rc2::IfcLinearSpanPlacement::IfcLinearSpanPlacement(::Ifc4x3_rc2::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc2::IfcCurve* v2_PlacementMeasuredAlong, ::Ifc4x3_rc2::IfcPointByDistanceExpression* v3_Distance, ::Ifc4x3_rc2::IfcAxis2PlacementLinear* v4_RelativePlacement, ::Ifc4x3_rc2::IfcAxis2Placement3D* v5_CartesianPosition, double v6_Span) : IfcLinearPlacement(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementMeasuredAlong ? v2_PlacementMeasuredAlong->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Distance ? v3_Distance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_RelativePlacement ? v4_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_CartesianPosition ? v5_CartesianPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Span));; populate_derived(); } +Ifc4x3_rc2::IfcLinearSpanPlacement::IfcLinearSpanPlacement(::Ifc4x3_rc2::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc2::IfcCurve* v2_PlacementMeasuredAlong, ::Ifc4x3_rc2::IfcPointByDistanceExpression* v3_Distance, ::Ifc4x3_rc2::IfcAxis2PlacementLinear* v4_RelativePlacement, ::Ifc4x3_rc2::IfcAxis2Placement3D* v5_CartesianPosition, double v6_Span) : IfcLinearPlacement(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementMeasuredAlong ? v2_PlacementMeasuredAlong->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Distance ? v3_Distance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_RelativePlacement ? v4_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_CartesianPosition ? v5_CartesianPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Span));; populate_derived(); } // Function implementations for IfcLiquidTerminal -boost::optional< ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value > Ifc4x3_rc2::IfcLiquidTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value > Ifc4x3_rc2::IfcLiquidTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcLiquidTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcLiquidTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[628]); } const IfcParse::entity& Ifc4x3_rc2::IfcLiquidTerminal::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[628]); } Ifc4x3_rc2::IfcLiquidTerminal::IfcLiquidTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc2::IfcLiquidTerminal::IfcLiquidTerminal(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcLiquidTerminal::IfcLiquidTerminal(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLiquidTerminalType -::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value Ifc4x3_rc2::IfcLiquidTerminalType::PredefinedType() const { return ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value Ifc4x3_rc2::IfcLiquidTerminalType::PredefinedType() const { return ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcLiquidTerminalType::setPredefinedType(::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcLiquidTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[629]); } const IfcParse::entity& Ifc4x3_rc2::IfcLiquidTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[629]); } Ifc4x3_rc2::IfcLiquidTerminalType::IfcLiquidTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc2::IfcLiquidTerminalType::IfcLiquidTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcLiquidTerminalType::IfcLiquidTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLocalPlacement -::Ifc4x3_rc2::IfcAxis2Placement* Ifc4x3_rc2::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcAxis2Placement>(true); } +::Ifc4x3_rc2::IfcAxis2Placement* Ifc4x3_rc2::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcAxis2Placement>(true); } void Ifc4x3_rc2::IfcLocalPlacement::setRelativePlacement(::Ifc4x3_rc2::IfcAxis2Placement* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcLocalPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[632]); } const IfcParse::entity& Ifc4x3_rc2::IfcLocalPlacement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[632]); } Ifc4x3_rc2::IfcLocalPlacement::IfcLocalPlacement(IfcEntityInstanceData&& e) : IfcObjectPlacement(std::move(e)) { } -Ifc4x3_rc2::IfcLocalPlacement::IfcLocalPlacement(::Ifc4x3_rc2::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc2::IfcAxis2Placement* v2_RelativePlacement) : IfcObjectPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcLocalPlacement::IfcLocalPlacement(::Ifc4x3_rc2::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc2::IfcAxis2Placement* v2_RelativePlacement) : IfcObjectPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLoop @@ -12495,66 +12495,66 @@ Ifc4x3_rc2::IfcLocalPlacement::IfcLocalPlacement(::Ifc4x3_rc2::IfcObjectPlacemen const IfcParse::entity& Ifc4x3_rc2::IfcLoop::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[635]); } const IfcParse::entity& Ifc4x3_rc2::IfcLoop::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[635]); } Ifc4x3_rc2::IfcLoop::IfcLoop(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc2::IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcManifoldSolidBrep -::Ifc4x3_rc2::IfcClosedShell* Ifc4x3_rc2::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcClosedShell>(true); } +::Ifc4x3_rc2::IfcClosedShell* Ifc4x3_rc2::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcClosedShell>(true); } void Ifc4x3_rc2::IfcManifoldSolidBrep::setOuter(::Ifc4x3_rc2::IfcClosedShell* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc2::IfcManifoldSolidBrep::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[642]); } const IfcParse::entity& Ifc4x3_rc2::IfcManifoldSolidBrep::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[642]); } Ifc4x3_rc2::IfcManifoldSolidBrep::IfcManifoldSolidBrep(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3_rc2::IfcManifoldSolidBrep::IfcManifoldSolidBrep(::Ifc4x3_rc2::IfcClosedShell* v1_Outer) : IfcSolidModel(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcManifoldSolidBrep::IfcManifoldSolidBrep(::Ifc4x3_rc2::IfcClosedShell* v1_Outer) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMapConversion -double Ifc4x3_rc2::IfcMapConversion::Eastings() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc2::IfcMapConversion::Eastings() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcMapConversion::setEastings(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc2::IfcMapConversion::Northings() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc2::IfcMapConversion::Northings() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcMapConversion::setNorthings(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc2::IfcMapConversion::OrthogonalHeight() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc2::IfcMapConversion::OrthogonalHeight() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcMapConversion::setOrthogonalHeight(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< double > Ifc4x3_rc2::IfcMapConversion::XAxisAbscissa() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc2::IfcMapConversion::XAxisAbscissa() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcMapConversion::setXAxisAbscissa(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_rc2::IfcMapConversion::XAxisOrdinate() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc2::IfcMapConversion::XAxisOrdinate() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcMapConversion::setXAxisOrdinate(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_rc2::IfcMapConversion::Scale() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc2::IfcMapConversion::Scale() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcMapConversion::setScale(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc2::IfcMapConversion::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[643]); } const IfcParse::entity& Ifc4x3_rc2::IfcMapConversion::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[643]); } Ifc4x3_rc2::IfcMapConversion::IfcMapConversion(IfcEntityInstanceData&& e) : IfcCoordinateOperation(std::move(e)) { } -Ifc4x3_rc2::IfcMapConversion::IfcMapConversion(::Ifc4x3_rc2::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_rc2::IfcCoordinateReferenceSystem* v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, boost::optional< double > v6_XAxisAbscissa, boost::optional< double > v7_XAxisOrdinate, boost::optional< double > v8_Scale) : IfcCoordinateOperation(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); }; populate_derived(); } +Ifc4x3_rc2::IfcMapConversion::IfcMapConversion(::Ifc4x3_rc2::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_rc2::IfcCoordinateReferenceSystem* v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, boost::optional< double > v6_XAxisAbscissa, boost::optional< double > v7_XAxisOrdinate, boost::optional< double > v8_Scale) : IfcCoordinateOperation(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); }; populate_derived(); } // Function implementations for IfcMappedItem -::Ifc4x3_rc2::IfcRepresentationMap* Ifc4x3_rc2::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcRepresentationMap>(true); } +::Ifc4x3_rc2::IfcRepresentationMap* Ifc4x3_rc2::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcRepresentationMap>(true); } void Ifc4x3_rc2::IfcMappedItem::setMappingSource(::Ifc4x3_rc2::IfcRepresentationMap* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcCartesianTransformationOperator* Ifc4x3_rc2::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcCartesianTransformationOperator>(true); } +::Ifc4x3_rc2::IfcCartesianTransformationOperator* Ifc4x3_rc2::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcCartesianTransformationOperator>(true); } void Ifc4x3_rc2::IfcMappedItem::setMappingTarget(::Ifc4x3_rc2::IfcCartesianTransformationOperator* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcMappedItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[644]); } const IfcParse::entity& Ifc4x3_rc2::IfcMappedItem::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[644]); } Ifc4x3_rc2::IfcMappedItem::IfcMappedItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcMappedItem::IfcMappedItem(::Ifc4x3_rc2::IfcRepresentationMap* v1_MappingSource, ::Ifc4x3_rc2::IfcCartesianTransformationOperator* v2_MappingTarget) : IfcRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_MappingSource ? v1_MappingSource->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappingTarget ? v2_MappingTarget->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcMappedItem::IfcMappedItem(::Ifc4x3_rc2::IfcRepresentationMap* v1_MappingSource, ::Ifc4x3_rc2::IfcCartesianTransformationOperator* v2_MappingTarget) : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_MappingSource ? v1_MappingSource->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappingTarget ? v2_MappingTarget->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMarineFacility -::Ifc4x3_rc2::IfcMarineFacilityTypeEnum::Value Ifc4x3_rc2::IfcMarineFacility::PredefinedType() const { return ::Ifc4x3_rc2::IfcMarineFacilityTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcMarineFacilityTypeEnum::Value Ifc4x3_rc2::IfcMarineFacility::PredefinedType() const { return ::Ifc4x3_rc2::IfcMarineFacilityTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcMarineFacility::setPredefinedType(::Ifc4x3_rc2::IfcMarineFacilityTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcMarineFacilityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcMarineFacility::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[645]); } const IfcParse::entity& Ifc4x3_rc2::IfcMarineFacility::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[645]); } Ifc4x3_rc2::IfcMarineFacility::IfcMarineFacility(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x3_rc2::IfcMarineFacility::IfcMarineFacility(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc2::IfcMarineFacilityTypeEnum::Value v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcMarineFacilityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcMarineFacility::IfcMarineFacility(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc2::IfcMarineFacilityTypeEnum::Value v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcMarineFacilityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMaterial -std::string Ifc4x3_rc2::IfcMaterial::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc2::IfcMaterial::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcMaterial::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc2::IfcMaterial::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcMaterial::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcMaterial::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc2::IfcMaterial::Category() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcMaterial::Category() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcMaterial::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3_rc2::IfcMaterialDefinitionRepresentation::list::ptr Ifc4x3_rc2::IfcMaterial::HasRepresentation() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[657], 3)->as(); } @@ -12564,30 +12564,30 @@ void Ifc4x3_rc2::IfcMaterial::setCategory(boost::optional< std::string > v) { if const IfcParse::entity& Ifc4x3_rc2::IfcMaterial::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[652]); } const IfcParse::entity& Ifc4x3_rc2::IfcMaterial::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[652]); } Ifc4x3_rc2::IfcMaterial::IfcMaterial(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_rc2::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); }; populate_derived(); } +Ifc4x3_rc2::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); }; populate_derived(); } // Function implementations for IfcMaterialClassificationRelationship -aggregate_of< ::Ifc4x3_rc2::IfcClassificationSelect >::ptr Ifc4x3_rc2::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcClassificationSelect >(); } +aggregate_of< ::Ifc4x3_rc2::IfcClassificationSelect >::ptr Ifc4x3_rc2::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcClassificationSelect >(); } void Ifc4x3_rc2::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x3_rc2::IfcClassificationSelect >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcMaterial* Ifc4x3_rc2::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcMaterial>(true); } +::Ifc4x3_rc2::IfcMaterial* Ifc4x3_rc2::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcMaterial>(true); } void Ifc4x3_rc2::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4x3_rc2::IfcMaterial* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialClassificationRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[653]); } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialClassificationRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[653]); } Ifc4x3_rc2::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3_rc2::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_rc2::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_MaterialClassifications)->generalize());set_attribute_value(1, v2_ClassifiedMaterial ? v2_ClassifiedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3_rc2::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_rc2::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_MaterialClassifications)->generalize());set_attribute_value(1, v2_ClassifiedMaterial ? v2_ClassifiedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialConstituent -boost::optional< std::string > Ifc4x3_rc2::IfcMaterialConstituent::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcMaterialConstituent::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcMaterialConstituent::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc2::IfcMaterialConstituent::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcMaterialConstituent::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcMaterialConstituent::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc2::IfcMaterial* Ifc4x3_rc2::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcMaterial>(true); } +::Ifc4x3_rc2::IfcMaterial* Ifc4x3_rc2::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcMaterial>(true); } void Ifc4x3_rc2::IfcMaterialConstituent::setMaterial(::Ifc4x3_rc2::IfcMaterial* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4x3_rc2::IfcMaterialConstituent::Fraction() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc2::IfcMaterialConstituent::Fraction() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcMaterialConstituent::setFraction(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc2::IfcMaterialConstituent::Category() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcMaterialConstituent::Category() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcMaterialConstituent::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } ::Ifc4x3_rc2::IfcMaterialConstituentSet::list::ptr Ifc4x3_rc2::IfcMaterialConstituent::ToMaterialConstituentSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[655], 2)->as(); } @@ -12595,21 +12595,21 @@ void Ifc4x3_rc2::IfcMaterialConstituent::setCategory(boost::optional< std::strin const IfcParse::entity& Ifc4x3_rc2::IfcMaterialConstituent::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[654]); } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialConstituent::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[654]); } Ifc4x3_rc2::IfcMaterialConstituent::IfcMaterialConstituent(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_rc2::IfcMaterialConstituent::IfcMaterialConstituent(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcMaterial* v3_Material, boost::optional< double > v4_Fraction, boost::optional< std::string > v5_Category) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); }; populate_derived(); } +Ifc4x3_rc2::IfcMaterialConstituent::IfcMaterialConstituent(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcMaterial* v3_Material, boost::optional< double > v4_Fraction, boost::optional< std::string > v5_Category) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); }; populate_derived(); } // Function implementations for IfcMaterialConstituentSet -boost::optional< std::string > Ifc4x3_rc2::IfcMaterialConstituentSet::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcMaterialConstituentSet::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcMaterialConstituentSet::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc2::IfcMaterialConstituentSet::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcMaterialConstituentSet::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcMaterialConstituentSet::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcMaterialConstituent >::ptr > Ifc4x3_rc2::IfcMaterialConstituentSet::MaterialConstituents() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcMaterialConstituent >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcMaterialConstituent >::ptr > Ifc4x3_rc2::IfcMaterialConstituentSet::MaterialConstituents() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcMaterialConstituent >(); } void Ifc4x3_rc2::IfcMaterialConstituentSet::setMaterialConstituents(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcMaterialConstituent >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialConstituentSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[655]); } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialConstituentSet::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[655]); } Ifc4x3_rc2::IfcMaterialConstituentSet::IfcMaterialConstituentSet(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_rc2::IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcMaterialConstituent >::ptr > v3_MaterialConstituents) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, (*v3_MaterialConstituents)->generalize()); }; populate_derived(); } +Ifc4x3_rc2::IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcMaterialConstituent >::ptr > v3_MaterialConstituents) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, (*v3_MaterialConstituents)->generalize()); }; populate_derived(); } // Function implementations for IfcMaterialDefinition @@ -12620,32 +12620,32 @@ Ifc4x3_rc2::IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional const IfcParse::entity& Ifc4x3_rc2::IfcMaterialDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[656]); } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[656]); } Ifc4x3_rc2::IfcMaterialDefinition::IfcMaterialDefinition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcMaterialDefinition::IfcMaterialDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc2::IfcMaterialDefinition::IfcMaterialDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcMaterialDefinitionRepresentation -::Ifc4x3_rc2::IfcMaterial* Ifc4x3_rc2::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcMaterial>(true); } +::Ifc4x3_rc2::IfcMaterial* Ifc4x3_rc2::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcMaterial>(true); } void Ifc4x3_rc2::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(::Ifc4x3_rc2::IfcMaterial* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialDefinitionRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[657]); } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialDefinitionRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[657]); } Ifc4x3_rc2::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(IfcEntityInstanceData&& e) : IfcProductRepresentation(std::move(e)) { } -Ifc4x3_rc2::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcRepresentation >::ptr v3_Representations, ::Ifc4x3_rc2::IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());set_attribute_value(3, v4_RepresentedMaterial ? v4_RepresentedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcRepresentation >::ptr v3_Representations, ::Ifc4x3_rc2::IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());set_attribute_value(3, v4_RepresentedMaterial ? v4_RepresentedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialLayer -::Ifc4x3_rc2::IfcMaterial* Ifc4x3_rc2::IfcMaterialLayer::Material() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcMaterial>(true); } +::Ifc4x3_rc2::IfcMaterial* Ifc4x3_rc2::IfcMaterialLayer::Material() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcMaterial>(true); } void Ifc4x3_rc2::IfcMaterialLayer::setMaterial(::Ifc4x3_rc2::IfcMaterial* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc2::IfcMaterialLayer::LayerThickness() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc2::IfcMaterialLayer::LayerThickness() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcMaterialLayer::setLayerThickness(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< boost::logic::tribool > Ifc4x3_rc2::IfcMaterialLayer::IsVentilated() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::optional< boost::logic::tribool > Ifc4x3_rc2::IfcMaterialLayer::IsVentilated() const { if(get_attribute_value(2).isNull()) { return boost::none; } boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcMaterialLayer::setIsVentilated(boost::optional< boost::logic::tribool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_rc2::IfcMaterialLayer::Name() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcMaterialLayer::Name() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcMaterialLayer::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc2::IfcMaterialLayer::Description() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcMaterialLayer::Description() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcMaterialLayer::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc2::IfcMaterialLayer::Category() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcMaterialLayer::Category() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcMaterialLayer::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< int > Ifc4x3_rc2::IfcMaterialLayer::Priority() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } int v = data_.get_attribute_value(6); return v; } +boost::optional< int > Ifc4x3_rc2::IfcMaterialLayer::Priority() const { if(get_attribute_value(6).isNull()) { return boost::none; } int v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcMaterialLayer::setPriority(boost::optional< int > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_rc2::IfcMaterialLayerSet::list::ptr Ifc4x3_rc2::IfcMaterialLayer::ToMaterialLayerSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[659], 0)->as(); } @@ -12653,74 +12653,74 @@ void Ifc4x3_rc2::IfcMaterialLayer::setPriority(boost::optional< int > v) { if (v const IfcParse::entity& Ifc4x3_rc2::IfcMaterialLayer::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[658]); } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialLayer::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[658]); } Ifc4x3_rc2::IfcMaterialLayer::IfcMaterialLayer(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_rc2::IfcMaterialLayer::IfcMaterialLayer(::Ifc4x3_rc2::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(storage_t(7))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }; populate_derived(); } +Ifc4x3_rc2::IfcMaterialLayer::IfcMaterialLayer(::Ifc4x3_rc2::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(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }; populate_derived(); } // Function implementations for IfcMaterialLayerSet -aggregate_of< ::Ifc4x3_rc2::IfcMaterialLayer >::ptr Ifc4x3_rc2::IfcMaterialLayerSet::MaterialLayers() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcMaterialLayer >(); } +aggregate_of< ::Ifc4x3_rc2::IfcMaterialLayer >::ptr Ifc4x3_rc2::IfcMaterialLayerSet::MaterialLayers() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcMaterialLayer >(); } void Ifc4x3_rc2::IfcMaterialLayerSet::setMaterialLayers(aggregate_of< ::Ifc4x3_rc2::IfcMaterialLayer >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc2::IfcMaterialLayerSet::LayerSetName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcMaterialLayerSet::LayerSetName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcMaterialLayerSet::setLayerSetName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc2::IfcMaterialLayerSet::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcMaterialLayerSet::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcMaterialLayerSet::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialLayerSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[659]); } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialLayerSet::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[659]); } Ifc4x3_rc2::IfcMaterialLayerSet::IfcMaterialLayerSet(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_rc2::IfcMaterialLayerSet::IfcMaterialLayerSet(aggregate_of< ::Ifc4x3_rc2::IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName, boost::optional< std::string > v3_Description) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_MaterialLayers)->generalize()); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } +Ifc4x3_rc2::IfcMaterialLayerSet::IfcMaterialLayerSet(aggregate_of< ::Ifc4x3_rc2::IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName, boost::optional< std::string > v3_Description) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_MaterialLayers)->generalize()); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } // Function implementations for IfcMaterialLayerSetUsage -::Ifc4x3_rc2::IfcMaterialLayerSet* Ifc4x3_rc2::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcMaterialLayerSet>(true); } +::Ifc4x3_rc2::IfcMaterialLayerSet* Ifc4x3_rc2::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcMaterialLayerSet>(true); } void Ifc4x3_rc2::IfcMaterialLayerSetUsage::setForLayerSet(::Ifc4x3_rc2::IfcMaterialLayerSet* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcLayerSetDirectionEnum::Value Ifc4x3_rc2::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4x3_rc2::IfcLayerSetDirectionEnum::FromString(data_.get_attribute_value(1)); } +::Ifc4x3_rc2::IfcLayerSetDirectionEnum::Value Ifc4x3_rc2::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4x3_rc2::IfcLayerSetDirectionEnum::FromString(get_attribute_value(1)); } void Ifc4x3_rc2::IfcMaterialLayerSetUsage::setLayerSetDirection(::Ifc4x3_rc2::IfcLayerSetDirectionEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x3_rc2::IfcLayerSetDirectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcDirectionSenseEnum::Value Ifc4x3_rc2::IfcMaterialLayerSetUsage::DirectionSense() const { return ::Ifc4x3_rc2::IfcDirectionSenseEnum::FromString(data_.get_attribute_value(2)); } +::Ifc4x3_rc2::IfcDirectionSenseEnum::Value Ifc4x3_rc2::IfcMaterialLayerSetUsage::DirectionSense() const { return ::Ifc4x3_rc2::IfcDirectionSenseEnum::FromString(get_attribute_value(2)); } void Ifc4x3_rc2::IfcMaterialLayerSetUsage::setDirectionSense(::Ifc4x3_rc2::IfcDirectionSenseEnum::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3_rc2::IfcDirectionSenseEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc2::IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc2::IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcMaterialLayerSetUsage::setOffsetFromReferenceLine(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< double > Ifc4x3_rc2::IfcMaterialLayerSetUsage::ReferenceExtent() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc2::IfcMaterialLayerSetUsage::ReferenceExtent() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcMaterialLayerSetUsage::setReferenceExtent(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialLayerSetUsage::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[660]); } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialLayerSetUsage::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[660]); } Ifc4x3_rc2::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(IfcEntityInstanceData&& e) : IfcMaterialUsageDefinition(std::move(e)) { } -Ifc4x3_rc2::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(::Ifc4x3_rc2::IfcMaterialLayerSet* v1_ForLayerSet, ::Ifc4x3_rc2::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_rc2::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, boost::optional< double > v5_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_ForLayerSet ? v1_ForLayerSet->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc2::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc2::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); }; populate_derived(); } +Ifc4x3_rc2::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(::Ifc4x3_rc2::IfcMaterialLayerSet* v1_ForLayerSet, ::Ifc4x3_rc2::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_rc2::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, boost::optional< double > v5_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_ForLayerSet ? v1_ForLayerSet->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc2::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc2::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); }; populate_derived(); } // Function implementations for IfcMaterialLayerWithOffsets -::Ifc4x3_rc2::IfcLayerSetDirectionEnum::Value Ifc4x3_rc2::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4x3_rc2::IfcLayerSetDirectionEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc2::IfcLayerSetDirectionEnum::Value Ifc4x3_rc2::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4x3_rc2::IfcLayerSetDirectionEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc2::IfcMaterialLayerWithOffsets::setOffsetDirection(::Ifc4x3_rc2::IfcLayerSetDirectionEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc2::IfcLayerSetDirectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -std::vector< double > /*[1:2]*/ Ifc4x3_rc2::IfcMaterialLayerWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = data_.get_attribute_value(8); return v; } +std::vector< double > /*[1:2]*/ Ifc4x3_rc2::IfcMaterialLayerWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcMaterialLayerWithOffsets::setOffsetValues(std::vector< double > /*[1:2]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialLayerWithOffsets::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[661]); } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialLayerWithOffsets::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[661]); } Ifc4x3_rc2::IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(IfcEntityInstanceData&& e) : IfcMaterialLayer(std::move(e)) { } -Ifc4x3_rc2::IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(::Ifc4x3_rc2::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_rc2::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) : IfcMaterialLayer(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues));; populate_derived(); } +Ifc4x3_rc2::IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(::Ifc4x3_rc2::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_rc2::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) : IfcMaterialLayer(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues));; populate_derived(); } // Function implementations for IfcMaterialList -aggregate_of< ::Ifc4x3_rc2::IfcMaterial >::ptr Ifc4x3_rc2::IfcMaterialList::Materials() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcMaterial >(); } +aggregate_of< ::Ifc4x3_rc2::IfcMaterial >::ptr Ifc4x3_rc2::IfcMaterialList::Materials() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcMaterial >(); } void Ifc4x3_rc2::IfcMaterialList::setMaterials(aggregate_of< ::Ifc4x3_rc2::IfcMaterial >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialList::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[662]); } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialList::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[662]); } Ifc4x3_rc2::IfcMaterialList::IfcMaterialList(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcMaterialList::IfcMaterialList(aggregate_of< ::Ifc4x3_rc2::IfcMaterial >::ptr v1_Materials) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Materials)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcMaterialList::IfcMaterialList(aggregate_of< ::Ifc4x3_rc2::IfcMaterial >::ptr v1_Materials) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Materials)->generalize());; populate_derived(); } // Function implementations for IfcMaterialProfile -boost::optional< std::string > Ifc4x3_rc2::IfcMaterialProfile::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcMaterialProfile::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcMaterialProfile::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc2::IfcMaterialProfile::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcMaterialProfile::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcMaterialProfile::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc2::IfcMaterial* Ifc4x3_rc2::IfcMaterialProfile::Material() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcMaterial>(true); } +::Ifc4x3_rc2::IfcMaterial* Ifc4x3_rc2::IfcMaterialProfile::Material() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcMaterial>(true); } void Ifc4x3_rc2::IfcMaterialProfile::setMaterial(::Ifc4x3_rc2::IfcMaterial* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcProfileDef>(true); } +::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcProfileDef>(true); } void Ifc4x3_rc2::IfcMaterialProfile::setProfile(::Ifc4x3_rc2::IfcProfileDef* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< int > Ifc4x3_rc2::IfcMaterialProfile::Priority() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x3_rc2::IfcMaterialProfile::Priority() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcMaterialProfile::setPriority(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc2::IfcMaterialProfile::Category() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcMaterialProfile::Category() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcMaterialProfile::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x3_rc2::IfcMaterialProfileSet::list::ptr Ifc4x3_rc2::IfcMaterialProfile::ToMaterialProfileSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[664], 2)->as(); } @@ -12728,83 +12728,83 @@ void Ifc4x3_rc2::IfcMaterialProfile::setCategory(boost::optional< std::string > const IfcParse::entity& Ifc4x3_rc2::IfcMaterialProfile::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[663]); } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialProfile::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[663]); } Ifc4x3_rc2::IfcMaterialProfile::IfcMaterialProfile(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_rc2::IfcMaterialProfile::IfcMaterialProfile(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcMaterial* v3_Material, ::Ifc4x3_rc2::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }; populate_derived(); } +Ifc4x3_rc2::IfcMaterialProfile::IfcMaterialProfile(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcMaterial* v3_Material, ::Ifc4x3_rc2::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }; populate_derived(); } // Function implementations for IfcMaterialProfileSet -boost::optional< std::string > Ifc4x3_rc2::IfcMaterialProfileSet::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcMaterialProfileSet::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcMaterialProfileSet::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc2::IfcMaterialProfileSet::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcMaterialProfileSet::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcMaterialProfileSet::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3_rc2::IfcMaterialProfile >::ptr Ifc4x3_rc2::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcMaterialProfile >(); } +aggregate_of< ::Ifc4x3_rc2::IfcMaterialProfile >::ptr Ifc4x3_rc2::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcMaterialProfile >(); } void Ifc4x3_rc2::IfcMaterialProfileSet::setMaterialProfiles(aggregate_of< ::Ifc4x3_rc2::IfcMaterialProfile >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcCompositeProfileDef* Ifc4x3_rc2::IfcMaterialProfileSet::CompositeProfile() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcCompositeProfileDef>(true); } +::Ifc4x3_rc2::IfcCompositeProfileDef* Ifc4x3_rc2::IfcMaterialProfileSet::CompositeProfile() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcCompositeProfileDef>(true); } void Ifc4x3_rc2::IfcMaterialProfileSet::setCompositeProfile(::Ifc4x3_rc2::IfcCompositeProfileDef* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialProfileSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[664]); } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialProfileSet::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[664]); } Ifc4x3_rc2::IfcMaterialProfileSet::IfcMaterialProfileSet(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_rc2::IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcMaterialProfile >::ptr v3_MaterialProfiles, ::Ifc4x3_rc2::IfcCompositeProfileDef* v4_CompositeProfile) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_MaterialProfiles)->generalize());set_attribute_value(3, v4_CompositeProfile ? v4_CompositeProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcMaterialProfile >::ptr v3_MaterialProfiles, ::Ifc4x3_rc2::IfcCompositeProfileDef* v4_CompositeProfile) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_MaterialProfiles)->generalize());set_attribute_value(3, v4_CompositeProfile ? v4_CompositeProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialProfileSetUsage -::Ifc4x3_rc2::IfcMaterialProfileSet* Ifc4x3_rc2::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcMaterialProfileSet>(true); } +::Ifc4x3_rc2::IfcMaterialProfileSet* Ifc4x3_rc2::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcMaterialProfileSet>(true); } void Ifc4x3_rc2::IfcMaterialProfileSetUsage::setForProfileSet(::Ifc4x3_rc2::IfcMaterialProfileSet* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< int > Ifc4x3_rc2::IfcMaterialProfileSetUsage::CardinalPoint() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } int v = data_.get_attribute_value(1); return v; } +boost::optional< int > Ifc4x3_rc2::IfcMaterialProfileSetUsage::CardinalPoint() const { if(get_attribute_value(1).isNull()) { return boost::none; } int v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcMaterialProfileSetUsage::setCardinalPoint(boost::optional< int > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc2::IfcMaterialProfileSetUsage::ReferenceExtent() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc2::IfcMaterialProfileSetUsage::ReferenceExtent() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcMaterialProfileSetUsage::setReferenceExtent(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialProfileSetUsage::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[665]); } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialProfileSetUsage::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[665]); } Ifc4x3_rc2::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(IfcEntityInstanceData&& e) : IfcMaterialUsageDefinition(std::move(e)) { } -Ifc4x3_rc2::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4x3_rc2::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }; populate_derived(); } +Ifc4x3_rc2::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4x3_rc2::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }; populate_derived(); } // Function implementations for IfcMaterialProfileSetUsageTapering -::Ifc4x3_rc2::IfcMaterialProfileSet* Ifc4x3_rc2::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcMaterialProfileSet>(true); } +::Ifc4x3_rc2::IfcMaterialProfileSet* Ifc4x3_rc2::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcMaterialProfileSet>(true); } void Ifc4x3_rc2::IfcMaterialProfileSetUsageTapering::setForProfileEndSet(::Ifc4x3_rc2::IfcMaterialProfileSet* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< int > Ifc4x3_rc2::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x3_rc2::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialProfileSetUsageTapering::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[666]); } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialProfileSetUsageTapering::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[666]); } Ifc4x3_rc2::IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(IfcEntityInstanceData&& e) : IfcMaterialProfileSetUsage(std::move(e)) { } -Ifc4x3_rc2::IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(::Ifc4x3_rc2::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent, ::Ifc4x3_rc2::IfcMaterialProfileSet* v4_ForProfileEndSet, boost::optional< int > v5_CardinalEndPoint) : IfcMaterialProfileSetUsage(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, v4_ForProfileEndSet ? v4_ForProfileEndSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); }; populate_derived(); } +Ifc4x3_rc2::IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(::Ifc4x3_rc2::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent, ::Ifc4x3_rc2::IfcMaterialProfileSet* v4_ForProfileEndSet, boost::optional< int > v5_CardinalEndPoint) : IfcMaterialProfileSetUsage(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, v4_ForProfileEndSet ? v4_ForProfileEndSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); }; populate_derived(); } // Function implementations for IfcMaterialProfileWithOffsets -std::vector< double > /*[1:2]*/ Ifc4x3_rc2::IfcMaterialProfileWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = data_.get_attribute_value(6); return v; } +std::vector< double > /*[1:2]*/ Ifc4x3_rc2::IfcMaterialProfileWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcMaterialProfileWithOffsets::setOffsetValues(std::vector< double > /*[1:2]*/ v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialProfileWithOffsets::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[667]); } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialProfileWithOffsets::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[667]); } Ifc4x3_rc2::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(IfcEntityInstanceData&& e) : IfcMaterialProfile(std::move(e)) { } -Ifc4x3_rc2::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcMaterial* v3_Material, ::Ifc4x3_rc2::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) : IfcMaterialProfile(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues));; populate_derived(); } +Ifc4x3_rc2::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcMaterial* v3_Material, ::Ifc4x3_rc2::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) : IfcMaterialProfile(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues));; populate_derived(); } // Function implementations for IfcMaterialProperties -::Ifc4x3_rc2::IfcMaterialDefinition* Ifc4x3_rc2::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcMaterialDefinition>(true); } +::Ifc4x3_rc2::IfcMaterialDefinition* Ifc4x3_rc2::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcMaterialDefinition>(true); } void Ifc4x3_rc2::IfcMaterialProperties::setMaterial(::Ifc4x3_rc2::IfcMaterialDefinition* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[668]); } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[668]); } Ifc4x3_rc2::IfcMaterialProperties::IfcMaterialProperties(IfcEntityInstanceData&& e) : IfcExtendedProperties(std::move(e)) { } -Ifc4x3_rc2::IfcMaterialProperties::IfcMaterialProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcProperty >::ptr v3_Properties, ::Ifc4x3_rc2::IfcMaterialDefinition* v4_Material) : IfcExtendedProperties(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_Material ? v4_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcMaterialProperties::IfcMaterialProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcProperty >::ptr v3_Properties, ::Ifc4x3_rc2::IfcMaterialDefinition* v4_Material) : IfcExtendedProperties(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_Material ? v4_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialRelationship -::Ifc4x3_rc2::IfcMaterial* Ifc4x3_rc2::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcMaterial>(true); } +::Ifc4x3_rc2::IfcMaterial* Ifc4x3_rc2::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcMaterial>(true); } void Ifc4x3_rc2::IfcMaterialRelationship::setRelatingMaterial(::Ifc4x3_rc2::IfcMaterial* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_rc2::IfcMaterial >::ptr Ifc4x3_rc2::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc2::IfcMaterial >(); } +aggregate_of< ::Ifc4x3_rc2::IfcMaterial >::ptr Ifc4x3_rc2::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc2::IfcMaterial >(); } void Ifc4x3_rc2::IfcMaterialRelationship::setRelatedMaterials(aggregate_of< ::Ifc4x3_rc2::IfcMaterial >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc2::IfcMaterialRelationship::Expression() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcMaterialRelationship::Expression() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcMaterialRelationship::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[669]); } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[669]); } Ifc4x3_rc2::IfcMaterialRelationship::IfcMaterialRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_rc2::IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcMaterial* v3_RelatingMaterial, aggregate_of< ::Ifc4x3_rc2::IfcMaterial >::ptr v4_RelatedMaterials, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMaterial ? v3_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedMaterials)->generalize()); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } +Ifc4x3_rc2::IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcMaterial* v3_RelatingMaterial, aggregate_of< ::Ifc4x3_rc2::IfcMaterial >::ptr v4_RelatedMaterials, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMaterial ? v3_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedMaterials)->generalize()); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } // Function implementations for IfcMaterialUsageDefinition @@ -12813,77 +12813,77 @@ Ifc4x3_rc2::IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< st const IfcParse::entity& Ifc4x3_rc2::IfcMaterialUsageDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[671]); } const IfcParse::entity& Ifc4x3_rc2::IfcMaterialUsageDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[671]); } Ifc4x3_rc2::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc2::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcMeasureWithUnit -::Ifc4x3_rc2::IfcValue* Ifc4x3_rc2::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcValue>(true); } +::Ifc4x3_rc2::IfcValue* Ifc4x3_rc2::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcValue>(true); } void Ifc4x3_rc2::IfcMeasureWithUnit::setValueComponent(::Ifc4x3_rc2::IfcValue* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcUnit>(true); } +::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcUnit>(true); } void Ifc4x3_rc2::IfcMeasureWithUnit::setUnitComponent(::Ifc4x3_rc2::IfcUnit* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcMeasureWithUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[673]); } const IfcParse::entity& Ifc4x3_rc2::IfcMeasureWithUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[673]); } Ifc4x3_rc2::IfcMeasureWithUnit::IfcMeasureWithUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcMeasureWithUnit::IfcMeasureWithUnit(::Ifc4x3_rc2::IfcValue* v1_ValueComponent, ::Ifc4x3_rc2::IfcUnit* v2_UnitComponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_ValueComponent ? v1_ValueComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_UnitComponent ? v2_UnitComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcMeasureWithUnit::IfcMeasureWithUnit(::Ifc4x3_rc2::IfcValue* v1_ValueComponent, ::Ifc4x3_rc2::IfcUnit* v2_UnitComponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_ValueComponent ? v1_ValueComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_UnitComponent ? v2_UnitComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMechanicalFastener -boost::optional< double > Ifc4x3_rc2::IfcMechanicalFastener::NominalDiameter() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc2::IfcMechanicalFastener::NominalDiameter() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcMechanicalFastener::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_rc2::IfcMechanicalFastener::NominalLength() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc2::IfcMechanicalFastener::NominalLength() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc2::IfcMechanicalFastener::setNominalLength(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Value > Ifc4x3_rc2::IfcMechanicalFastener::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Value > Ifc4x3_rc2::IfcMechanicalFastener::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc2::IfcMechanicalFastener::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc2::IfcMechanicalFastener::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[674]); } const IfcParse::entity& Ifc4x3_rc2::IfcMechanicalFastener::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[674]); } Ifc4x3_rc2::IfcMechanicalFastener::IfcMechanicalFastener(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_rc2::IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength, boost::optional< ::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength, boost::optional< ::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMechanicalFastenerType -::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_rc2::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_rc2::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcMechanicalFastenerType::setPredefinedType(::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3_rc2::IfcMechanicalFastenerType::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc2::IfcMechanicalFastenerType::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcMechanicalFastenerType::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc2::IfcMechanicalFastenerType::NominalLength() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc2::IfcMechanicalFastenerType::NominalLength() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc2::IfcMechanicalFastenerType::setNominalLength(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x3_rc2::IfcMechanicalFastenerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[675]); } const IfcParse::entity& Ifc4x3_rc2::IfcMechanicalFastenerType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[675]); } Ifc4x3_rc2::IfcMechanicalFastenerType::IfcMechanicalFastenerType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_rc2::IfcMechanicalFastenerType::IfcMechanicalFastenerType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_NominalLength) : IfcElementComponentType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); }; populate_derived(); } +Ifc4x3_rc2::IfcMechanicalFastenerType::IfcMechanicalFastenerType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_NominalLength) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); }; populate_derived(); } // Function implementations for IfcMedicalDevice -boost::optional< ::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value > Ifc4x3_rc2::IfcMedicalDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value > Ifc4x3_rc2::IfcMedicalDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcMedicalDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcMedicalDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[677]); } const IfcParse::entity& Ifc4x3_rc2::IfcMedicalDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[677]); } Ifc4x3_rc2::IfcMedicalDevice::IfcMedicalDevice(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc2::IfcMedicalDevice::IfcMedicalDevice(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcMedicalDevice::IfcMedicalDevice(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMedicalDeviceType -::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value Ifc4x3_rc2::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value Ifc4x3_rc2::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcMedicalDeviceType::setPredefinedType(::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcMedicalDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[678]); } const IfcParse::entity& Ifc4x3_rc2::IfcMedicalDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[678]); } Ifc4x3_rc2::IfcMedicalDeviceType::IfcMedicalDeviceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc2::IfcMedicalDeviceType::IfcMedicalDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcMedicalDeviceType::IfcMedicalDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMember -boost::optional< ::Ifc4x3_rc2::IfcMemberTypeEnum::Value > Ifc4x3_rc2::IfcMember::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcMemberTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcMemberTypeEnum::Value > Ifc4x3_rc2::IfcMember::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcMemberTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcMember::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcMemberTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcMemberTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcMember::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[680]); } const IfcParse::entity& Ifc4x3_rc2::IfcMember::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[680]); } Ifc4x3_rc2::IfcMember::IfcMember(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc2::IfcMember::IfcMember(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcMemberTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcMember::IfcMember(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcMemberTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMemberStandardCase @@ -12891,33 +12891,33 @@ Ifc4x3_rc2::IfcMember::IfcMember(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwner const IfcParse::entity& Ifc4x3_rc2::IfcMemberStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[681]); } const IfcParse::entity& Ifc4x3_rc2::IfcMemberStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[681]); } Ifc4x3_rc2::IfcMemberStandardCase::IfcMemberStandardCase(IfcEntityInstanceData&& e) : IfcMember(std::move(e)) { } -Ifc4x3_rc2::IfcMemberStandardCase::IfcMemberStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcMemberTypeEnum::Value > v9_PredefinedType) : IfcMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcMemberStandardCase::IfcMemberStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcMemberTypeEnum::Value > v9_PredefinedType) : IfcMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMemberType -::Ifc4x3_rc2::IfcMemberTypeEnum::Value Ifc4x3_rc2::IfcMemberType::PredefinedType() const { return ::Ifc4x3_rc2::IfcMemberTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcMemberTypeEnum::Value Ifc4x3_rc2::IfcMemberType::PredefinedType() const { return ::Ifc4x3_rc2::IfcMemberTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcMemberType::setPredefinedType(::Ifc4x3_rc2::IfcMemberTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcMemberType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[682]); } const IfcParse::entity& Ifc4x3_rc2::IfcMemberType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[682]); } Ifc4x3_rc2::IfcMemberType::IfcMemberType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc2::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMemberTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMemberTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMetric -::Ifc4x3_rc2::IfcBenchmarkEnum::Value Ifc4x3_rc2::IfcMetric::Benchmark() const { return ::Ifc4x3_rc2::IfcBenchmarkEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc2::IfcBenchmarkEnum::Value Ifc4x3_rc2::IfcMetric::Benchmark() const { return ::Ifc4x3_rc2::IfcBenchmarkEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc2::IfcMetric::setBenchmark(::Ifc4x3_rc2::IfcBenchmarkEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc2::IfcBenchmarkEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc4x3_rc2::IfcMetric::ValueSource() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcMetric::ValueSource() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcMetric::setValueSource(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_rc2::IfcMetricValueSelect* Ifc4x3_rc2::IfcMetric::DataValue() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc2::IfcMetricValueSelect>(true); } +::Ifc4x3_rc2::IfcMetricValueSelect* Ifc4x3_rc2::IfcMetric::DataValue() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc2::IfcMetricValueSelect>(true); } void Ifc4x3_rc2::IfcMetric::setDataValue(::Ifc4x3_rc2::IfcMetricValueSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc2::IfcReference* Ifc4x3_rc2::IfcMetric::ReferencePath() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_rc2::IfcReference>(true); } +::Ifc4x3_rc2::IfcReference* Ifc4x3_rc2::IfcMetric::ReferencePath() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_rc2::IfcReference>(true); } void Ifc4x3_rc2::IfcMetric::setReferencePath(::Ifc4x3_rc2::IfcReference* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_rc2::IfcMetric::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[684]); } const IfcParse::entity& Ifc4x3_rc2::IfcMetric::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[684]); } Ifc4x3_rc2::IfcMetric::IfcMetric(IfcEntityInstanceData&& e) : IfcConstraint(std::move(e)) { } -Ifc4x3_rc2::IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc2::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_rc2::IfcBenchmarkEnum::Value v8_Benchmark, boost::optional< std::string > v9_ValueSource, ::Ifc4x3_rc2::IfcMetricValueSelect* v10_DataValue, ::Ifc4x3_rc2::IfcReference* v11_ReferencePath) : IfcConstraint(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, v10_DataValue ? v10_DataValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ReferencePath ? v11_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc2::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_rc2::IfcBenchmarkEnum::Value v8_Benchmark, boost::optional< std::string > v9_ValueSource, ::Ifc4x3_rc2::IfcMetricValueSelect* v10_DataValue, ::Ifc4x3_rc2::IfcReference* v11_ReferencePath) : IfcConstraint(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, v10_DataValue ? v10_DataValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ReferencePath ? v11_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMirroredProfileDef @@ -12925,112 +12925,112 @@ Ifc4x3_rc2::IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::stri const IfcParse::entity& Ifc4x3_rc2::IfcMirroredProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[686]); } const IfcParse::entity& Ifc4x3_rc2::IfcMirroredProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[686]); } Ifc4x3_rc2::IfcMirroredProfileDef::IfcMirroredProfileDef(IfcEntityInstanceData&& e) : IfcDerivedProfileDef(std::move(e)) { } -Ifc4x3_rc2::IfcMirroredProfileDef::IfcMirroredProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcProfileDef* v3_ParentProfile, boost::optional< std::string > v5_Label) : IfcDerivedProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } +Ifc4x3_rc2::IfcMirroredProfileDef::IfcMirroredProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcProfileDef* v3_ParentProfile, boost::optional< std::string > v5_Label) : IfcDerivedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } // Function implementations for IfcMobileTelecommunicationsAppliance -boost::optional< ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value > Ifc4x3_rc2::IfcMobileTelecommunicationsAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value > Ifc4x3_rc2::IfcMobileTelecommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcMobileTelecommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcMobileTelecommunicationsAppliance::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[687]); } const IfcParse::entity& Ifc4x3_rc2::IfcMobileTelecommunicationsAppliance::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[687]); } Ifc4x3_rc2::IfcMobileTelecommunicationsAppliance::IfcMobileTelecommunicationsAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc2::IfcMobileTelecommunicationsAppliance::IfcMobileTelecommunicationsAppliance(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcMobileTelecommunicationsAppliance::IfcMobileTelecommunicationsAppliance(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMobileTelecommunicationsApplianceType -::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceType::setPredefinedType(::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[688]); } const IfcParse::entity& Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[688]); } Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceType::IfcMobileTelecommunicationsApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceType::IfcMobileTelecommunicationsApplianceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceType::IfcMobileTelecommunicationsApplianceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMonetaryUnit -std::string Ifc4x3_rc2::IfcMonetaryUnit::Currency() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc2::IfcMonetaryUnit::Currency() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcMonetaryUnit::setCurrency(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc2::IfcMonetaryUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[701]); } const IfcParse::entity& Ifc4x3_rc2::IfcMonetaryUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[701]); } Ifc4x3_rc2::IfcMonetaryUnit::IfcMonetaryUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcMonetaryUnit::IfcMonetaryUnit(std::string v1_Currency) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Currency));; populate_derived(); } +Ifc4x3_rc2::IfcMonetaryUnit::IfcMonetaryUnit(std::string v1_Currency) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Currency));; populate_derived(); } // Function implementations for IfcMooringDevice -boost::optional< ::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value > Ifc4x3_rc2::IfcMooringDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value > Ifc4x3_rc2::IfcMooringDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcMooringDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcMooringDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[703]); } const IfcParse::entity& Ifc4x3_rc2::IfcMooringDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[703]); } Ifc4x3_rc2::IfcMooringDevice::IfcMooringDevice(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc2::IfcMooringDevice::IfcMooringDevice(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcMooringDevice::IfcMooringDevice(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMooringDeviceType -::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value Ifc4x3_rc2::IfcMooringDeviceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value Ifc4x3_rc2::IfcMooringDeviceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcMooringDeviceType::setPredefinedType(::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcMooringDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[704]); } const IfcParse::entity& Ifc4x3_rc2::IfcMooringDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[704]); } Ifc4x3_rc2::IfcMooringDeviceType::IfcMooringDeviceType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc2::IfcMooringDeviceType::IfcMooringDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcMooringDeviceType::IfcMooringDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcMooringDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMotorConnection -boost::optional< ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value > Ifc4x3_rc2::IfcMotorConnection::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value > Ifc4x3_rc2::IfcMotorConnection::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcMotorConnection::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcMotorConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[706]); } const IfcParse::entity& Ifc4x3_rc2::IfcMotorConnection::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[706]); } Ifc4x3_rc2::IfcMotorConnection::IfcMotorConnection(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc2::IfcMotorConnection::IfcMotorConnection(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcMotorConnection::IfcMotorConnection(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMotorConnectionType -::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value Ifc4x3_rc2::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value Ifc4x3_rc2::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcMotorConnectionType::setPredefinedType(::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcMotorConnectionType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[707]); } const IfcParse::entity& Ifc4x3_rc2::IfcMotorConnectionType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[707]); } Ifc4x3_rc2::IfcMotorConnectionType::IfcMotorConnectionType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc2::IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcNamedUnit -::Ifc4x3_rc2::IfcDimensionalExponents* Ifc4x3_rc2::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcDimensionalExponents>(true); } +::Ifc4x3_rc2::IfcDimensionalExponents* Ifc4x3_rc2::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcDimensionalExponents>(true); } void Ifc4x3_rc2::IfcNamedUnit::setDimensions(::Ifc4x3_rc2::IfcDimensionalExponents* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcUnitEnum::Value Ifc4x3_rc2::IfcNamedUnit::UnitType() const { return ::Ifc4x3_rc2::IfcUnitEnum::FromString(data_.get_attribute_value(1)); } +::Ifc4x3_rc2::IfcUnitEnum::Value Ifc4x3_rc2::IfcNamedUnit::UnitType() const { return ::Ifc4x3_rc2::IfcUnitEnum::FromString(get_attribute_value(1)); } void Ifc4x3_rc2::IfcNamedUnit::setUnitType(::Ifc4x3_rc2::IfcUnitEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x3_rc2::IfcUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcNamedUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[709]); } const IfcParse::entity& Ifc4x3_rc2::IfcNamedUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[709]); } Ifc4x3_rc2::IfcNamedUnit::IfcNamedUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcNamedUnit::IfcNamedUnit(::Ifc4x3_rc2::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc2::IfcUnitEnum::Value v2_UnitType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; populate_derived(); } +Ifc4x3_rc2::IfcNamedUnit::IfcNamedUnit(::Ifc4x3_rc2::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc2::IfcUnitEnum::Value v2_UnitType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc2::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; populate_derived(); } // Function implementations for IfcNavigationElement -boost::optional< ::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value > Ifc4x3_rc2::IfcNavigationElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcNavigationElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value > Ifc4x3_rc2::IfcNavigationElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcNavigationElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcNavigationElement::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcNavigationElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[710]); } const IfcParse::entity& Ifc4x3_rc2::IfcNavigationElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[710]); } Ifc4x3_rc2::IfcNavigationElement::IfcNavigationElement(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc2::IfcNavigationElement::IfcNavigationElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcNavigationElement::IfcNavigationElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcNavigationElementType -::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value Ifc4x3_rc2::IfcNavigationElementType::PredefinedType() const { return ::Ifc4x3_rc2::IfcNavigationElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value Ifc4x3_rc2::IfcNavigationElementType::PredefinedType() const { return ::Ifc4x3_rc2::IfcNavigationElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcNavigationElementType::setPredefinedType(::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcNavigationElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[711]); } const IfcParse::entity& Ifc4x3_rc2::IfcNavigationElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[711]); } Ifc4x3_rc2::IfcNavigationElementType::IfcNavigationElementType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc2::IfcNavigationElementType::IfcNavigationElementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcNavigationElementType::IfcNavigationElementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcNavigationElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcObject -boost::optional< std::string > Ifc4x3_rc2::IfcObject::ObjectType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcObject::ObjectType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcObject::setObjectType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } ::Ifc4x3_rc2::IfcRelDefinesByObject::list::ptr Ifc4x3_rc2::IfcObject::IsDeclaredBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[950], 4)->as(); } @@ -13041,7 +13041,7 @@ void Ifc4x3_rc2::IfcObject::setObjectType(boost::optional< std::string > v) { if const IfcParse::entity& Ifc4x3_rc2::IfcObject::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[717]); } const IfcParse::entity& Ifc4x3_rc2::IfcObject::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[717]); } Ifc4x3_rc2::IfcObject::IfcObject(IfcEntityInstanceData&& e) : IfcObjectDefinition(std::move(e)) { } -Ifc4x3_rc2::IfcObject::IfcObject(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObjectDefinition(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc4x3_rc2::IfcObject::IfcObject(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObjectDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcObjectDefinition @@ -13056,10 +13056,10 @@ Ifc4x3_rc2::IfcObject::IfcObject(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwner const IfcParse::entity& Ifc4x3_rc2::IfcObjectDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[718]); } const IfcParse::entity& Ifc4x3_rc2::IfcObjectDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[718]); } Ifc4x3_rc2::IfcObjectDefinition::IfcObjectDefinition(IfcEntityInstanceData&& e) : IfcRoot(std::move(e)) { } -Ifc4x3_rc2::IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc2::IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcObjectPlacement -::Ifc4x3_rc2::IfcObjectPlacement* Ifc4x3_rc2::IfcObjectPlacement::PlacementRelTo() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcObjectPlacement>(true); } +::Ifc4x3_rc2::IfcObjectPlacement* Ifc4x3_rc2::IfcObjectPlacement::PlacementRelTo() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcObjectPlacement>(true); } void Ifc4x3_rc2::IfcObjectPlacement::setPlacementRelTo(::Ifc4x3_rc2::IfcObjectPlacement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_rc2::IfcProduct::list::ptr Ifc4x3_rc2::IfcObjectPlacement::PlacesObject() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[821], 5)->as(); } @@ -13067,97 +13067,97 @@ void Ifc4x3_rc2::IfcObjectPlacement::setPlacementRelTo(::Ifc4x3_rc2::IfcObjectPl const IfcParse::entity& Ifc4x3_rc2::IfcObjectPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[721]); } const IfcParse::entity& Ifc4x3_rc2::IfcObjectPlacement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[721]); } Ifc4x3_rc2::IfcObjectPlacement::IfcObjectPlacement(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcObjectPlacement::IfcObjectPlacement(::Ifc4x3_rc2::IfcObjectPlacement* v1_PlacementRelTo) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcObjectPlacement::IfcObjectPlacement(::Ifc4x3_rc2::IfcObjectPlacement* v1_PlacementRelTo) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcObjective -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcConstraint >::ptr > Ifc4x3_rc2::IfcObjective::BenchmarkValues() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc2::IfcConstraint >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcConstraint >::ptr > Ifc4x3_rc2::IfcObjective::BenchmarkValues() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc2::IfcConstraint >(); } void Ifc4x3_rc2::IfcObjective::setBenchmarkValues(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcConstraint >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3_rc2::IfcLogicalOperatorEnum::Value > Ifc4x3_rc2::IfcObjective::LogicalAggregator() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcLogicalOperatorEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcLogicalOperatorEnum::Value > Ifc4x3_rc2::IfcObjective::LogicalAggregator() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcLogicalOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcObjective::setLogicalAggregator(boost::optional< ::Ifc4x3_rc2::IfcLogicalOperatorEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcLogicalOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -::Ifc4x3_rc2::IfcObjectiveEnum::Value Ifc4x3_rc2::IfcObjective::ObjectiveQualifier() const { return ::Ifc4x3_rc2::IfcObjectiveEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcObjectiveEnum::Value Ifc4x3_rc2::IfcObjective::ObjectiveQualifier() const { return ::Ifc4x3_rc2::IfcObjectiveEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcObjective::setObjectiveQualifier(::Ifc4x3_rc2::IfcObjectiveEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcObjectiveEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3_rc2::IfcObjective::UserDefinedQualifier() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcObjective::UserDefinedQualifier() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcObjective::setUserDefinedQualifier(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc2::IfcObjective::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[719]); } const IfcParse::entity& Ifc4x3_rc2::IfcObjective::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[719]); } Ifc4x3_rc2::IfcObjective::IfcObjective(IfcEntityInstanceData&& e) : IfcConstraint(std::move(e)) { } -Ifc4x3_rc2::IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc2::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcConstraint >::ptr > v8_BenchmarkValues, boost::optional< ::Ifc4x3_rc2::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_rc2::IfcObjectiveEnum::Value v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier) : IfcConstraint(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, (*v8_BenchmarkValues)->generalize()); } if (v9_LogicalAggregator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; populate_derived(); } +Ifc4x3_rc2::IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc2::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcConstraint >::ptr > v8_BenchmarkValues, boost::optional< ::Ifc4x3_rc2::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_rc2::IfcObjectiveEnum::Value v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier) : IfcConstraint(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc2::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, (*v8_BenchmarkValues)->generalize()); } if (v9_LogicalAggregator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; populate_derived(); } // Function implementations for IfcOccupant -boost::optional< ::Ifc4x3_rc2::IfcOccupantTypeEnum::Value > Ifc4x3_rc2::IfcOccupant::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcOccupantTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_rc2::IfcOccupantTypeEnum::Value > Ifc4x3_rc2::IfcOccupant::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcOccupantTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_rc2::IfcOccupant::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcOccupantTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_rc2::IfcOccupantTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc2::IfcOccupant::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[724]); } const IfcParse::entity& Ifc4x3_rc2::IfcOccupant::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[724]); } Ifc4x3_rc2::IfcOccupant::IfcOccupant(IfcEntityInstanceData&& e) : IfcActor(std::move(e)) { } -Ifc4x3_rc2::IfcOccupant::IfcOccupant(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcActorSelect* v6_TheActor, boost::optional< ::Ifc4x3_rc2::IfcOccupantTypeEnum::Value > v7_PredefinedType) : IfcActor(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc2::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcOccupant::IfcOccupant(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcActorSelect* v6_TheActor, boost::optional< ::Ifc4x3_rc2::IfcOccupantTypeEnum::Value > v7_PredefinedType) : IfcActor(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc2::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOffsetCurve -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcOffsetCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCurve>(true); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcOffsetCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcOffsetCurve::setBasisCurve(::Ifc4x3_rc2::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc2::IfcOffsetCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[726]); } const IfcParse::entity& Ifc4x3_rc2::IfcOffsetCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[726]); } Ifc4x3_rc2::IfcOffsetCurve::IfcOffsetCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_rc2::IfcOffsetCurve::IfcOffsetCurve(::Ifc4x3_rc2::IfcCurve* v1_BasisCurve) : IfcCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcOffsetCurve::IfcOffsetCurve(::Ifc4x3_rc2::IfcCurve* v1_BasisCurve) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcOffsetCurve2D -double Ifc4x3_rc2::IfcOffsetCurve2D::Distance() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc2::IfcOffsetCurve2D::Distance() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcOffsetCurve2D::setDistance(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::logic::tribool Ifc4x3_rc2::IfcOffsetCurve2D::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::logic::tribool Ifc4x3_rc2::IfcOffsetCurve2D::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcOffsetCurve2D::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcOffsetCurve2D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[727]); } const IfcParse::entity& Ifc4x3_rc2::IfcOffsetCurve2D::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[727]); } Ifc4x3_rc2::IfcOffsetCurve2D::IfcOffsetCurve2D(IfcEntityInstanceData&& e) : IfcOffsetCurve(std::move(e)) { } -Ifc4x3_rc2::IfcOffsetCurve2D::IfcOffsetCurve2D(::Ifc4x3_rc2::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) : IfcOffsetCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; populate_derived(); } +Ifc4x3_rc2::IfcOffsetCurve2D::IfcOffsetCurve2D(::Ifc4x3_rc2::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) : IfcOffsetCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; populate_derived(); } // Function implementations for IfcOffsetCurve3D -double Ifc4x3_rc2::IfcOffsetCurve3D::Distance() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc2::IfcOffsetCurve3D::Distance() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcOffsetCurve3D::setDistance(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::logic::tribool Ifc4x3_rc2::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::logic::tribool Ifc4x3_rc2::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcOffsetCurve3D::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcDirection>(true); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcOffsetCurve3D::setRefDirection(::Ifc4x3_rc2::IfcDirection* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcOffsetCurve3D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[728]); } const IfcParse::entity& Ifc4x3_rc2::IfcOffsetCurve3D::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[728]); } Ifc4x3_rc2::IfcOffsetCurve3D::IfcOffsetCurve3D(IfcEntityInstanceData&& e) : IfcOffsetCurve(std::move(e)) { } -Ifc4x3_rc2::IfcOffsetCurve3D::IfcOffsetCurve3D(::Ifc4x3_rc2::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_rc2::IfcDirection* v4_RefDirection) : IfcOffsetCurve(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, v4_RefDirection ? v4_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcOffsetCurve3D::IfcOffsetCurve3D(::Ifc4x3_rc2::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_rc2::IfcDirection* v4_RefDirection) : IfcOffsetCurve(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, v4_RefDirection ? v4_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcOffsetCurveByDistances -aggregate_of< ::Ifc4x3_rc2::IfcPointByDistanceExpression >::ptr Ifc4x3_rc2::IfcOffsetCurveByDistances::OffsetValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcPointByDistanceExpression >(); } +aggregate_of< ::Ifc4x3_rc2::IfcPointByDistanceExpression >::ptr Ifc4x3_rc2::IfcOffsetCurveByDistances::OffsetValues() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcPointByDistanceExpression >(); } void Ifc4x3_rc2::IfcOffsetCurveByDistances::setOffsetValues(aggregate_of< ::Ifc4x3_rc2::IfcPointByDistanceExpression >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_rc2::IfcOffsetCurveByDistances::Tag() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcOffsetCurveByDistances::Tag() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcOffsetCurveByDistances::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc2::IfcOffsetCurveByDistances::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[729]); } const IfcParse::entity& Ifc4x3_rc2::IfcOffsetCurveByDistances::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[729]); } Ifc4x3_rc2::IfcOffsetCurveByDistances::IfcOffsetCurveByDistances(IfcEntityInstanceData&& e) : IfcOffsetCurve(std::move(e)) { } -Ifc4x3_rc2::IfcOffsetCurveByDistances::IfcOffsetCurveByDistances(::Ifc4x3_rc2::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_rc2::IfcPointByDistanceExpression >::ptr v2_OffsetValues, boost::optional< std::string > v3_Tag) : IfcOffsetCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_OffsetValues)->generalize()); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; populate_derived(); } +Ifc4x3_rc2::IfcOffsetCurveByDistances::IfcOffsetCurveByDistances(::Ifc4x3_rc2::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_rc2::IfcPointByDistanceExpression >::ptr v2_OffsetValues, boost::optional< std::string > v3_Tag) : IfcOffsetCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_OffsetValues)->generalize()); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; populate_derived(); } // Function implementations for IfcOpenCrossProfileDef -bool Ifc4x3_rc2::IfcOpenCrossProfileDef::HorizontalWidths() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x3_rc2::IfcOpenCrossProfileDef::HorizontalWidths() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcOpenCrossProfileDef::setHorizontalWidths(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< double > /*[1:?]*/ Ifc4x3_rc2::IfcOpenCrossProfileDef::Widths() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +std::vector< double > /*[1:?]*/ Ifc4x3_rc2::IfcOpenCrossProfileDef::Widths() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcOpenCrossProfileDef::setWidths(std::vector< double > /*[1:?]*/ v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -std::vector< double > /*[1:?]*/ Ifc4x3_rc2::IfcOpenCrossProfileDef::Slopes() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +std::vector< double > /*[1:?]*/ Ifc4x3_rc2::IfcOpenCrossProfileDef::Slopes() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcOpenCrossProfileDef::setSlopes(std::vector< double > /*[1:?]*/ v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< std::vector< std::string > /*[2:?]*/ > Ifc4x3_rc2::IfcOpenCrossProfileDef::Tags() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[2:?]*/ v = data_.get_attribute_value(5); return v; } +boost::optional< std::vector< std::string > /*[2:?]*/ > Ifc4x3_rc2::IfcOpenCrossProfileDef::Tags() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[2:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcOpenCrossProfileDef::setTags(boost::optional< std::vector< std::string > /*[2:?]*/ > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_rc2::IfcOpenCrossProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[730]); } const IfcParse::entity& Ifc4x3_rc2::IfcOpenCrossProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[730]); } Ifc4x3_rc2::IfcOpenCrossProfileDef::IfcOpenCrossProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_rc2::IfcOpenCrossProfileDef::IfcOpenCrossProfileDef(::Ifc4x3_rc2::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) : IfcProfileDef(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_HorizontalWidths));set_attribute_value(3, (v4_Widths));set_attribute_value(4, (v5_Slopes)); if (v6_Tags) {set_attribute_value(5, (*v6_Tags)); }; populate_derived(); } +Ifc4x3_rc2::IfcOpenCrossProfileDef::IfcOpenCrossProfileDef(::Ifc4x3_rc2::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) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_HorizontalWidths));set_attribute_value(3, (v4_Widths));set_attribute_value(4, (v5_Slopes)); if (v6_Tags) {set_attribute_value(5, (*v6_Tags)); }; populate_derived(); } // Function implementations for IfcOpenShell @@ -13165,10 +13165,10 @@ Ifc4x3_rc2::IfcOpenCrossProfileDef::IfcOpenCrossProfileDef(::Ifc4x3_rc2::IfcProf const IfcParse::entity& Ifc4x3_rc2::IfcOpenShell::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[734]); } const IfcParse::entity& Ifc4x3_rc2::IfcOpenShell::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[734]); } Ifc4x3_rc2::IfcOpenShell::IfcOpenShell(IfcEntityInstanceData&& e) : IfcConnectedFaceSet(std::move(e)) { } -Ifc4x3_rc2::IfcOpenShell::IfcOpenShell(aggregate_of< ::Ifc4x3_rc2::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcOpenShell::IfcOpenShell(aggregate_of< ::Ifc4x3_rc2::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcOpeningElement -boost::optional< ::Ifc4x3_rc2::IfcOpeningElementTypeEnum::Value > Ifc4x3_rc2::IfcOpeningElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcOpeningElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcOpeningElementTypeEnum::Value > Ifc4x3_rc2::IfcOpeningElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcOpeningElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcOpeningElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcOpeningElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x3_rc2::IfcRelFillsElement::list::ptr Ifc4x3_rc2::IfcOpeningElement::HasFillings() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[954], 4)->as(); } @@ -13176,7 +13176,7 @@ void Ifc4x3_rc2::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4x3_ const IfcParse::entity& Ifc4x3_rc2::IfcOpeningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[731]); } const IfcParse::entity& Ifc4x3_rc2::IfcOpeningElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[731]); } Ifc4x3_rc2::IfcOpeningElement::IfcOpeningElement(IfcEntityInstanceData&& e) : IfcFeatureElementSubtraction(std::move(e)) { } -Ifc4x3_rc2::IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOpeningStandardCase @@ -13184,18 +13184,18 @@ Ifc4x3_rc2::IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3_rc2::IfcOpeningStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[733]); } const IfcParse::entity& Ifc4x3_rc2::IfcOpeningStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[733]); } Ifc4x3_rc2::IfcOpeningStandardCase::IfcOpeningStandardCase(IfcEntityInstanceData&& e) : IfcOpeningElement(std::move(e)) { } -Ifc4x3_rc2::IfcOpeningStandardCase::IfcOpeningStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) : IfcOpeningElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcOpeningStandardCase::IfcOpeningStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) : IfcOpeningElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOrganization -boost::optional< std::string > Ifc4x3_rc2::IfcOrganization::Identification() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcOrganization::Identification() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcOrganization::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -std::string Ifc4x3_rc2::IfcOrganization::Name() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_rc2::IfcOrganization::Name() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcOrganization::setName(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_rc2::IfcOrganization::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcOrganization::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcOrganization::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorRole >::ptr > Ifc4x3_rc2::IfcOrganization::Roles() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc2::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorRole >::ptr > Ifc4x3_rc2::IfcOrganization::Roles() const { if(get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc2::IfcActorRole >(); } void Ifc4x3_rc2::IfcOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(3, (*v)->generalize());} else {unset_attribute_value(3);} } -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAddress >::ptr > Ifc4x3_rc2::IfcOrganization::Addresses() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc2::IfcAddress >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAddress >::ptr > Ifc4x3_rc2::IfcOrganization::Addresses() const { if(get_attribute_value(4).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc2::IfcAddress >(); } void Ifc4x3_rc2::IfcOrganization::setAddresses(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAddress >::ptr > v) { if (v) {set_attribute_value(4, (*v)->generalize());} else {unset_attribute_value(4);} } ::Ifc4x3_rc2::IfcOrganizationRelationship::list::ptr Ifc4x3_rc2::IfcOrganization::IsRelatedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[736], 3)->as(); } @@ -13205,31 +13205,31 @@ void Ifc4x3_rc2::IfcOrganization::setAddresses(boost::optional< aggregate_of< :: const IfcParse::entity& Ifc4x3_rc2::IfcOrganization::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[735]); } const IfcParse::entity& Ifc4x3_rc2::IfcOrganization::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[735]); } Ifc4x3_rc2::IfcOrganization::IfcOrganization(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcOrganization::IfcOrganization(boost::optional< std::string > v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorRole >::ptr > v4_Roles, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAddress >::ptr > v5_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, (*v4_Roles)->generalize()); } if (v5_Addresses) {set_attribute_value(4, (*v5_Addresses)->generalize()); }; populate_derived(); } +Ifc4x3_rc2::IfcOrganization::IfcOrganization(boost::optional< std::string > v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorRole >::ptr > v4_Roles, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAddress >::ptr > v5_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, (*v4_Roles)->generalize()); } if (v5_Addresses) {set_attribute_value(4, (*v5_Addresses)->generalize()); }; populate_derived(); } // Function implementations for IfcOrganizationRelationship -::Ifc4x3_rc2::IfcOrganization* Ifc4x3_rc2::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcOrganization>(true); } +::Ifc4x3_rc2::IfcOrganization* Ifc4x3_rc2::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcOrganization>(true); } void Ifc4x3_rc2::IfcOrganizationRelationship::setRelatingOrganization(::Ifc4x3_rc2::IfcOrganization* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_rc2::IfcOrganization >::ptr Ifc4x3_rc2::IfcOrganizationRelationship::RelatedOrganizations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc2::IfcOrganization >(); } +aggregate_of< ::Ifc4x3_rc2::IfcOrganization >::ptr Ifc4x3_rc2::IfcOrganizationRelationship::RelatedOrganizations() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc2::IfcOrganization >(); } void Ifc4x3_rc2::IfcOrganizationRelationship::setRelatedOrganizations(aggregate_of< ::Ifc4x3_rc2::IfcOrganization >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcOrganizationRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[736]); } const IfcParse::entity& Ifc4x3_rc2::IfcOrganizationRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[736]); } Ifc4x3_rc2::IfcOrganizationRelationship::IfcOrganizationRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_rc2::IfcOrganizationRelationship::IfcOrganizationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcOrganization* v3_RelatingOrganization, aggregate_of< ::Ifc4x3_rc2::IfcOrganization >::ptr v4_RelatedOrganizations) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingOrganization ? v3_RelatingOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedOrganizations)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcOrganizationRelationship::IfcOrganizationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcOrganization* v3_RelatingOrganization, aggregate_of< ::Ifc4x3_rc2::IfcOrganization >::ptr v4_RelatedOrganizations) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingOrganization ? v3_RelatingOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedOrganizations)->generalize());; populate_derived(); } // Function implementations for IfcOrientedEdge -::Ifc4x3_rc2::IfcEdge* Ifc4x3_rc2::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcEdge>(true); } +::Ifc4x3_rc2::IfcEdge* Ifc4x3_rc2::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcEdge>(true); } void Ifc4x3_rc2::IfcOrientedEdge::setEdgeElement(::Ifc4x3_rc2::IfcEdge* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x3_rc2::IfcOrientedEdge::Orientation() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x3_rc2::IfcOrientedEdge::Orientation() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcOrientedEdge::setOrientation(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcOrientedEdge::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[737]); } const IfcParse::entity& Ifc4x3_rc2::IfcOrientedEdge::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[737]); } Ifc4x3_rc2::IfcOrientedEdge::IfcOrientedEdge(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc4x3_rc2::IfcOrientedEdge::IfcOrientedEdge(::Ifc4x3_rc2::IfcEdge* v3_EdgeElement, bool v4_Orientation) : IfcEdge(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(2, v3_EdgeElement ? v3_EdgeElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Orientation));; populate_derived(); } +Ifc4x3_rc2::IfcOrientedEdge::IfcOrientedEdge(::Ifc4x3_rc2::IfcEdge* v3_EdgeElement, bool v4_Orientation) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(2, v3_EdgeElement ? v3_EdgeElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Orientation));; populate_derived(); } // Function implementations for IfcOuterBoundaryCurve @@ -13237,164 +13237,164 @@ Ifc4x3_rc2::IfcOrientedEdge::IfcOrientedEdge(::Ifc4x3_rc2::IfcEdge* v3_EdgeEleme const IfcParse::entity& Ifc4x3_rc2::IfcOuterBoundaryCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[738]); } const IfcParse::entity& Ifc4x3_rc2::IfcOuterBoundaryCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[738]); } Ifc4x3_rc2::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(IfcEntityInstanceData&& e) : IfcBoundaryCurve(std::move(e)) { } -Ifc4x3_rc2::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(aggregate_of< ::Ifc4x3_rc2::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundaryCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x3_rc2::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(aggregate_of< ::Ifc4x3_rc2::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundaryCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcOutlet -boost::optional< ::Ifc4x3_rc2::IfcOutletTypeEnum::Value > Ifc4x3_rc2::IfcOutlet::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcOutletTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcOutletTypeEnum::Value > Ifc4x3_rc2::IfcOutlet::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcOutletTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcOutlet::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcOutletTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcOutletTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcOutlet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[739]); } const IfcParse::entity& Ifc4x3_rc2::IfcOutlet::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[739]); } Ifc4x3_rc2::IfcOutlet::IfcOutlet(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc2::IfcOutlet::IfcOutlet(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcOutletTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcOutlet::IfcOutlet(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcOutletTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOutletType -::Ifc4x3_rc2::IfcOutletTypeEnum::Value Ifc4x3_rc2::IfcOutletType::PredefinedType() const { return ::Ifc4x3_rc2::IfcOutletTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcOutletTypeEnum::Value Ifc4x3_rc2::IfcOutletType::PredefinedType() const { return ::Ifc4x3_rc2::IfcOutletTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcOutletType::setPredefinedType(::Ifc4x3_rc2::IfcOutletTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcOutletTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcOutletType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[740]); } const IfcParse::entity& Ifc4x3_rc2::IfcOutletType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[740]); } Ifc4x3_rc2::IfcOutletType::IfcOutletType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc2::IfcOutletType::IfcOutletType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcOutletTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcOutletType::IfcOutletType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcOutletTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcOwnerHistory -::Ifc4x3_rc2::IfcPersonAndOrganization* Ifc4x3_rc2::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcPersonAndOrganization>(true); } +::Ifc4x3_rc2::IfcPersonAndOrganization* Ifc4x3_rc2::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcPersonAndOrganization>(true); } void Ifc4x3_rc2::IfcOwnerHistory::setOwningUser(::Ifc4x3_rc2::IfcPersonAndOrganization* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcApplication* Ifc4x3_rc2::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcApplication>(true); } +::Ifc4x3_rc2::IfcApplication* Ifc4x3_rc2::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcApplication>(true); } void Ifc4x3_rc2::IfcOwnerHistory::setOwningApplication(::Ifc4x3_rc2::IfcApplication* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< ::Ifc4x3_rc2::IfcStateEnum::Value > Ifc4x3_rc2::IfcOwnerHistory::State() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcStateEnum::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc4x3_rc2::IfcStateEnum::Value > Ifc4x3_rc2::IfcOwnerHistory::State() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcStateEnum::FromString(get_attribute_value(2)); } void Ifc4x3_rc2::IfcOwnerHistory::setState(boost::optional< ::Ifc4x3_rc2::IfcStateEnum::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc4x3_rc2::IfcStateEnum::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -boost::optional< ::Ifc4x3_rc2::IfcChangeActionEnum::Value > Ifc4x3_rc2::IfcOwnerHistory::ChangeAction() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcChangeActionEnum::FromString(data_.get_attribute_value(3)); } +boost::optional< ::Ifc4x3_rc2::IfcChangeActionEnum::Value > Ifc4x3_rc2::IfcOwnerHistory::ChangeAction() const { if(get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcChangeActionEnum::FromString(get_attribute_value(3)); } void Ifc4x3_rc2::IfcOwnerHistory::setChangeAction(boost::optional< ::Ifc4x3_rc2::IfcChangeActionEnum::Value > v) { if (v) {set_attribute_value(3, EnumerationReference(&::Ifc4x3_rc2::IfcChangeActionEnum::Class(), (size_t) *v));} else {unset_attribute_value(3);} } -boost::optional< int > Ifc4x3_rc2::IfcOwnerHistory::LastModifiedDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x3_rc2::IfcOwnerHistory::LastModifiedDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc2::IfcPersonAndOrganization* Ifc4x3_rc2::IfcOwnerHistory::LastModifyingUser() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcPersonAndOrganization>(true); } +::Ifc4x3_rc2::IfcPersonAndOrganization* Ifc4x3_rc2::IfcOwnerHistory::LastModifyingUser() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcPersonAndOrganization>(true); } void Ifc4x3_rc2::IfcOwnerHistory::setLastModifyingUser(::Ifc4x3_rc2::IfcPersonAndOrganization* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc2::IfcApplication* Ifc4x3_rc2::IfcOwnerHistory::LastModifyingApplication() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcApplication>(true); } +::Ifc4x3_rc2::IfcApplication* Ifc4x3_rc2::IfcOwnerHistory::LastModifyingApplication() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcApplication>(true); } void Ifc4x3_rc2::IfcOwnerHistory::setLastModifyingApplication(::Ifc4x3_rc2::IfcApplication* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -int Ifc4x3_rc2::IfcOwnerHistory::CreationDate() const { int v = data_.get_attribute_value(7); return v; } +int Ifc4x3_rc2::IfcOwnerHistory::CreationDate() const { int v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcOwnerHistory::setCreationDate(int v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc2::IfcOwnerHistory::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[742]); } const IfcParse::entity& Ifc4x3_rc2::IfcOwnerHistory::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[742]); } Ifc4x3_rc2::IfcOwnerHistory::IfcOwnerHistory(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcOwnerHistory::IfcOwnerHistory(::Ifc4x3_rc2::IfcPersonAndOrganization* v1_OwningUser, ::Ifc4x3_rc2::IfcApplication* v2_OwningApplication, boost::optional< ::Ifc4x3_rc2::IfcStateEnum::Value > v3_State, boost::optional< ::Ifc4x3_rc2::IfcChangeActionEnum::Value > v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, ::Ifc4x3_rc2::IfcPersonAndOrganization* v6_LastModifyingUser, ::Ifc4x3_rc2::IfcApplication* v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, v1_OwningUser ? v1_OwningUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OwningApplication ? v2_OwningApplication->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_State) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc2::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc2::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, v6_LastModifyingUser ? v6_LastModifyingUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_LastModifyingApplication ? v7_LastModifyingApplication->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_CreationDate));; populate_derived(); } +Ifc4x3_rc2::IfcOwnerHistory::IfcOwnerHistory(::Ifc4x3_rc2::IfcPersonAndOrganization* v1_OwningUser, ::Ifc4x3_rc2::IfcApplication* v2_OwningApplication, boost::optional< ::Ifc4x3_rc2::IfcStateEnum::Value > v3_State, boost::optional< ::Ifc4x3_rc2::IfcChangeActionEnum::Value > v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, ::Ifc4x3_rc2::IfcPersonAndOrganization* v6_LastModifyingUser, ::Ifc4x3_rc2::IfcApplication* v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, v1_OwningUser ? v1_OwningUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OwningApplication ? v2_OwningApplication->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_State) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc2::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc2::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, v6_LastModifyingUser ? v6_LastModifyingUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_LastModifyingApplication ? v7_LastModifyingApplication->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_CreationDate));; populate_derived(); } // Function implementations for IfcParameterizedProfileDef -::Ifc4x3_rc2::IfcAxis2Placement2D* Ifc4x3_rc2::IfcParameterizedProfileDef::Position() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcAxis2Placement2D>(true); } +::Ifc4x3_rc2::IfcAxis2Placement2D* Ifc4x3_rc2::IfcParameterizedProfileDef::Position() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcAxis2Placement2D>(true); } void Ifc4x3_rc2::IfcParameterizedProfileDef::setPosition(::Ifc4x3_rc2::IfcAxis2Placement2D* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcParameterizedProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[743]); } const IfcParse::entity& Ifc4x3_rc2::IfcParameterizedProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[743]); } Ifc4x3_rc2::IfcParameterizedProfileDef::IfcParameterizedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_rc2::IfcParameterizedProfileDef::IfcParameterizedProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D* v3_Position) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcParameterizedProfileDef::IfcParameterizedProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D* v3_Position) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPath -aggregate_of< ::Ifc4x3_rc2::IfcOrientedEdge >::ptr Ifc4x3_rc2::IfcPath::EdgeList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcOrientedEdge >(); } +aggregate_of< ::Ifc4x3_rc2::IfcOrientedEdge >::ptr Ifc4x3_rc2::IfcPath::EdgeList() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcOrientedEdge >(); } void Ifc4x3_rc2::IfcPath::setEdgeList(aggregate_of< ::Ifc4x3_rc2::IfcOrientedEdge >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc2::IfcPath::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[745]); } const IfcParse::entity& Ifc4x3_rc2::IfcPath::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[745]); } Ifc4x3_rc2::IfcPath::IfcPath(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcPath::IfcPath(aggregate_of< ::Ifc4x3_rc2::IfcOrientedEdge >::ptr v1_EdgeList) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcPath::IfcPath(aggregate_of< ::Ifc4x3_rc2::IfcOrientedEdge >::ptr v1_EdgeList) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } // Function implementations for IfcPavement -boost::optional< bool > Ifc4x3_rc2::IfcPavement::Flexible() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } bool v = data_.get_attribute_value(8); return v; } +boost::optional< bool > Ifc4x3_rc2::IfcPavement::Flexible() const { if(get_attribute_value(8).isNull()) { return boost::none; } bool v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcPavement::setFlexible(boost::optional< bool > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcPavement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[746]); } const IfcParse::entity& Ifc4x3_rc2::IfcPavement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[746]); } Ifc4x3_rc2::IfcPavement::IfcPavement(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc2::IfcPavement::IfcPavement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< bool > v9_Flexible) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_Flexible) {set_attribute_value(8, (*v9_Flexible)); }; populate_derived(); } +Ifc4x3_rc2::IfcPavement::IfcPavement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< bool > v9_Flexible) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_Flexible) {set_attribute_value(8, (*v9_Flexible)); }; populate_derived(); } // Function implementations for IfcPavementType -bool Ifc4x3_rc2::IfcPavementType::Flexible() const { bool v = data_.get_attribute_value(9); return v; } +bool Ifc4x3_rc2::IfcPavementType::Flexible() const { bool v = get_attribute_value(9); return v; } void Ifc4x3_rc2::IfcPavementType::setFlexible(bool v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcPavementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[747]); } const IfcParse::entity& Ifc4x3_rc2::IfcPavementType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[747]); } Ifc4x3_rc2::IfcPavementType::IfcPavementType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc2::IfcPavementType::IfcPavementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, bool v10_Flexible) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_Flexible));; populate_derived(); } +Ifc4x3_rc2::IfcPavementType::IfcPavementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, bool v10_Flexible) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_Flexible));; populate_derived(); } // Function implementations for IfcPcurve -::Ifc4x3_rc2::IfcSurface* Ifc4x3_rc2::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcSurface>(true); } +::Ifc4x3_rc2::IfcSurface* Ifc4x3_rc2::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcSurface>(true); } void Ifc4x3_rc2::IfcPcurve::setBasisSurface(::Ifc4x3_rc2::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcCurve>(true); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcPcurve::setReferenceCurve(::Ifc4x3_rc2::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcPcurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[748]); } const IfcParse::entity& Ifc4x3_rc2::IfcPcurve::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[748]); } Ifc4x3_rc2::IfcPcurve::IfcPcurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_rc2::IfcPcurve::IfcPcurve(::Ifc4x3_rc2::IfcSurface* v1_BasisSurface, ::Ifc4x3_rc2::IfcCurve* v2_ReferenceCurve) : IfcCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_ReferenceCurve ? v2_ReferenceCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcPcurve::IfcPcurve(::Ifc4x3_rc2::IfcSurface* v1_BasisSurface, ::Ifc4x3_rc2::IfcCurve* v2_ReferenceCurve) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_ReferenceCurve ? v2_ReferenceCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPerformanceHistory -std::string Ifc4x3_rc2::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = data_.get_attribute_value(6); return v; } +std::string Ifc4x3_rc2::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcPerformanceHistory::setLifeCyclePhase(std::string v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< ::Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::Value > Ifc4x3_rc2::IfcPerformanceHistory::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::Value > Ifc4x3_rc2::IfcPerformanceHistory::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc2::IfcPerformanceHistory::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc2::IfcPerformanceHistory::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[749]); } const IfcParse::entity& Ifc4x3_rc2::IfcPerformanceHistory::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[749]); } Ifc4x3_rc2::IfcPerformanceHistory::IfcPerformanceHistory(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_rc2::IfcPerformanceHistory::IfcPerformanceHistory(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, boost::optional< ::Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) : IfcControl(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcPerformanceHistory::IfcPerformanceHistory(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, boost::optional< ::Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPermeableCoveringProperties -::Ifc4x3_rc2::IfcPermeableCoveringOperationEnum::Value Ifc4x3_rc2::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4x3_rc2::IfcPermeableCoveringOperationEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x3_rc2::IfcPermeableCoveringOperationEnum::Value Ifc4x3_rc2::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4x3_rc2::IfcPermeableCoveringOperationEnum::FromString(get_attribute_value(4)); } void Ifc4x3_rc2::IfcPermeableCoveringProperties::setOperationType(::Ifc4x3_rc2::IfcPermeableCoveringOperationEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3_rc2::IfcPermeableCoveringOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcWindowPanelPositionEnum::Value Ifc4x3_rc2::IfcPermeableCoveringProperties::PanelPosition() const { return ::Ifc4x3_rc2::IfcWindowPanelPositionEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_rc2::IfcWindowPanelPositionEnum::Value Ifc4x3_rc2::IfcPermeableCoveringProperties::PanelPosition() const { return ::Ifc4x3_rc2::IfcWindowPanelPositionEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc2::IfcPermeableCoveringProperties::setPanelPosition(::Ifc4x3_rc2::IfcWindowPanelPositionEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc2::IfcWindowPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_rc2::IfcPermeableCoveringProperties::FrameDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc2::IfcPermeableCoveringProperties::FrameDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_rc2::IfcPermeableCoveringProperties::FrameThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc2::IfcPermeableCoveringProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc2::IfcShapeAspect* Ifc4x3_rc2::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc2::IfcShapeAspect>(true); } +::Ifc4x3_rc2::IfcShapeAspect* Ifc4x3_rc2::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc2::IfcShapeAspect>(true); } void Ifc4x3_rc2::IfcPermeableCoveringProperties::setShapeAspectStyle(::Ifc4x3_rc2::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc2::IfcPermeableCoveringProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[752]); } const IfcParse::entity& Ifc4x3_rc2::IfcPermeableCoveringProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[752]); } Ifc4x3_rc2::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_rc2::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_rc2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x3_rc2::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc2::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_rc2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x3_rc2::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc2::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPermit -boost::optional< ::Ifc4x3_rc2::IfcPermitTypeEnum::Value > Ifc4x3_rc2::IfcPermit::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcPermitTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_rc2::IfcPermitTypeEnum::Value > Ifc4x3_rc2::IfcPermit::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcPermitTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_rc2::IfcPermit::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcPermitTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_rc2::IfcPermitTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc2::IfcPermit::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcPermit::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcPermit::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc2::IfcPermit::LongDescription() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcPermit::LongDescription() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcPermit::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcPermit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[753]); } const IfcParse::entity& Ifc4x3_rc2::IfcPermit::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[753]); } Ifc4x3_rc2::IfcPermit::IfcPermit(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_rc2::IfcPermit::IfcPermit(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3_rc2::IfcPermitTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc2::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } +Ifc4x3_rc2::IfcPermit::IfcPermit(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3_rc2::IfcPermitTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc2::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } // Function implementations for IfcPerson -boost::optional< std::string > Ifc4x3_rc2::IfcPerson::Identification() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcPerson::Identification() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcPerson::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc2::IfcPerson::FamilyName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcPerson::FamilyName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcPerson::setFamilyName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc2::IfcPerson::GivenName() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcPerson::GivenName() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcPerson::setGivenName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcPerson::MiddleNames() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcPerson::MiddleNames() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcPerson::setMiddleNames(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcPerson::PrefixTitles() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcPerson::PrefixTitles() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcPerson::setPrefixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcPerson::SuffixTitles() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(5); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcPerson::SuffixTitles() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcPerson::setSuffixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorRole >::ptr > Ifc4x3_rc2::IfcPerson::Roles() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3_rc2::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorRole >::ptr > Ifc4x3_rc2::IfcPerson::Roles() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3_rc2::IfcActorRole >(); } void Ifc4x3_rc2::IfcPerson::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAddress >::ptr > Ifc4x3_rc2::IfcPerson::Addresses() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc2::IfcAddress >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAddress >::ptr > Ifc4x3_rc2::IfcPerson::Addresses() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc2::IfcAddress >(); } void Ifc4x3_rc2::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAddress >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } ::Ifc4x3_rc2::IfcPersonAndOrganization::list::ptr Ifc4x3_rc2::IfcPerson::EngagedIn() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[756], 0)->as(); } @@ -13402,42 +13402,42 @@ void Ifc4x3_rc2::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4x3 const IfcParse::entity& Ifc4x3_rc2::IfcPerson::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[755]); } const IfcParse::entity& Ifc4x3_rc2::IfcPerson::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[755]); } Ifc4x3_rc2::IfcPerson::IfcPerson(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcPerson::IfcPerson(boost::optional< std::string > v1_Identification, boost::optional< std::string > v2_FamilyName, boost::optional< std::string > v3_GivenName, boost::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorRole >::ptr > v7_Roles, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, (*v7_Roles)->generalize()); } if (v8_Addresses) {set_attribute_value(7, (*v8_Addresses)->generalize()); }; populate_derived(); } +Ifc4x3_rc2::IfcPerson::IfcPerson(boost::optional< std::string > v1_Identification, boost::optional< std::string > v2_FamilyName, boost::optional< std::string > v3_GivenName, boost::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorRole >::ptr > v7_Roles, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, (*v7_Roles)->generalize()); } if (v8_Addresses) {set_attribute_value(7, (*v8_Addresses)->generalize()); }; populate_derived(); } // Function implementations for IfcPersonAndOrganization -::Ifc4x3_rc2::IfcPerson* Ifc4x3_rc2::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcPerson>(true); } +::Ifc4x3_rc2::IfcPerson* Ifc4x3_rc2::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcPerson>(true); } void Ifc4x3_rc2::IfcPersonAndOrganization::setThePerson(::Ifc4x3_rc2::IfcPerson* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcOrganization* Ifc4x3_rc2::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcOrganization>(true); } +::Ifc4x3_rc2::IfcOrganization* Ifc4x3_rc2::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcOrganization>(true); } void Ifc4x3_rc2::IfcPersonAndOrganization::setTheOrganization(::Ifc4x3_rc2::IfcOrganization* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorRole >::ptr > Ifc4x3_rc2::IfcPersonAndOrganization::Roles() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorRole >::ptr > Ifc4x3_rc2::IfcPersonAndOrganization::Roles() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcActorRole >(); } void Ifc4x3_rc2::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc2::IfcPersonAndOrganization::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[756]); } const IfcParse::entity& Ifc4x3_rc2::IfcPersonAndOrganization::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[756]); } Ifc4x3_rc2::IfcPersonAndOrganization::IfcPersonAndOrganization(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcPersonAndOrganization::IfcPersonAndOrganization(::Ifc4x3_rc2::IfcPerson* v1_ThePerson, ::Ifc4x3_rc2::IfcOrganization* v2_TheOrganization, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorRole >::ptr > v3_Roles) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_ThePerson ? v1_ThePerson->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TheOrganization ? v2_TheOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Roles) {set_attribute_value(2, (*v3_Roles)->generalize()); }; populate_derived(); } +Ifc4x3_rc2::IfcPersonAndOrganization::IfcPersonAndOrganization(::Ifc4x3_rc2::IfcPerson* v1_ThePerson, ::Ifc4x3_rc2::IfcOrganization* v2_TheOrganization, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcActorRole >::ptr > v3_Roles) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_ThePerson ? v1_ThePerson->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TheOrganization ? v2_TheOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Roles) {set_attribute_value(2, (*v3_Roles)->generalize()); }; populate_derived(); } // Function implementations for IfcPhysicalComplexQuantity -aggregate_of< ::Ifc4x3_rc2::IfcPhysicalQuantity >::ptr Ifc4x3_rc2::IfcPhysicalComplexQuantity::HasQuantities() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcPhysicalQuantity >(); } +aggregate_of< ::Ifc4x3_rc2::IfcPhysicalQuantity >::ptr Ifc4x3_rc2::IfcPhysicalComplexQuantity::HasQuantities() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcPhysicalQuantity >(); } void Ifc4x3_rc2::IfcPhysicalComplexQuantity::setHasQuantities(aggregate_of< ::Ifc4x3_rc2::IfcPhysicalQuantity >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -std::string Ifc4x3_rc2::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x3_rc2::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcPhysicalComplexQuantity::setDiscrimination(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc2::IfcPhysicalComplexQuantity::Quality() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcPhysicalComplexQuantity::Quality() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcPhysicalComplexQuantity::setQuality(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc2::IfcPhysicalComplexQuantity::Usage() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcPhysicalComplexQuantity::Usage() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcPhysicalComplexQuantity::setUsage(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_rc2::IfcPhysicalComplexQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[758]); } const IfcParse::entity& Ifc4x3_rc2::IfcPhysicalComplexQuantity::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[758]); } Ifc4x3_rc2::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(IfcEntityInstanceData&& e) : IfcPhysicalQuantity(std::move(e)) { } -Ifc4x3_rc2::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcPhysicalQuantity >::ptr v3_HasQuantities, std::string v4_Discrimination, boost::optional< std::string > v5_Quality, boost::optional< std::string > v6_Usage) : IfcPhysicalQuantity(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_HasQuantities)->generalize());set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; populate_derived(); } +Ifc4x3_rc2::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcPhysicalQuantity >::ptr v3_HasQuantities, std::string v4_Discrimination, boost::optional< std::string > v5_Quality, boost::optional< std::string > v6_Usage) : IfcPhysicalQuantity(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_HasQuantities)->generalize());set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; populate_derived(); } // Function implementations for IfcPhysicalQuantity -std::string Ifc4x3_rc2::IfcPhysicalQuantity::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc2::IfcPhysicalQuantity::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcPhysicalQuantity::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc2::IfcPhysicalQuantity::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcPhysicalQuantity::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcPhysicalQuantity::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x3_rc2::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc2::IfcPhysicalQuantity::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[441], 3)->as(); } @@ -13446,127 +13446,127 @@ void Ifc4x3_rc2::IfcPhysicalQuantity::setDescription(boost::optional< std::strin const IfcParse::entity& Ifc4x3_rc2::IfcPhysicalQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[760]); } const IfcParse::entity& Ifc4x3_rc2::IfcPhysicalQuantity::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[760]); } Ifc4x3_rc2::IfcPhysicalQuantity::IfcPhysicalQuantity(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4x3_rc2::IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcPhysicalSimpleQuantity -::Ifc4x3_rc2::IfcNamedUnit* Ifc4x3_rc2::IfcPhysicalSimpleQuantity::Unit() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcNamedUnit>(true); } +::Ifc4x3_rc2::IfcNamedUnit* Ifc4x3_rc2::IfcPhysicalSimpleQuantity::Unit() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcNamedUnit>(true); } void Ifc4x3_rc2::IfcPhysicalSimpleQuantity::setUnit(::Ifc4x3_rc2::IfcNamedUnit* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcPhysicalSimpleQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[761]); } const IfcParse::entity& Ifc4x3_rc2::IfcPhysicalSimpleQuantity::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[761]); } Ifc4x3_rc2::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(IfcEntityInstanceData&& e) : IfcPhysicalQuantity(std::move(e)) { } -Ifc4x3_rc2::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPile -boost::optional< ::Ifc4x3_rc2::IfcPileTypeEnum::Value > Ifc4x3_rc2::IfcPile::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcPileTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcPileTypeEnum::Value > Ifc4x3_rc2::IfcPile::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcPileTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcPile::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcPileTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcPileTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< ::Ifc4x3_rc2::IfcPileConstructionEnum::Value > Ifc4x3_rc2::IfcPile::ConstructionType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcPileConstructionEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc2::IfcPileConstructionEnum::Value > Ifc4x3_rc2::IfcPile::ConstructionType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcPileConstructionEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcPile::setConstructionType(boost::optional< ::Ifc4x3_rc2::IfcPileConstructionEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcPileConstructionEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc2::IfcPile::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[762]); } const IfcParse::entity& Ifc4x3_rc2::IfcPile::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[762]); } Ifc4x3_rc2::IfcPile::IfcPile(IfcEntityInstanceData&& e) : IfcDeepFoundation(std::move(e)) { } -Ifc4x3_rc2::IfcPile::IfcPile(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcPileTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x3_rc2::IfcPileConstructionEnum::Value > v10_ConstructionType) : IfcDeepFoundation(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; populate_derived(); } +Ifc4x3_rc2::IfcPile::IfcPile(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcPileTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x3_rc2::IfcPileConstructionEnum::Value > v10_ConstructionType) : IfcDeepFoundation(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; populate_derived(); } // Function implementations for IfcPileType -::Ifc4x3_rc2::IfcPileTypeEnum::Value Ifc4x3_rc2::IfcPileType::PredefinedType() const { return ::Ifc4x3_rc2::IfcPileTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcPileTypeEnum::Value Ifc4x3_rc2::IfcPileType::PredefinedType() const { return ::Ifc4x3_rc2::IfcPileTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcPileType::setPredefinedType(::Ifc4x3_rc2::IfcPileTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcPileTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcPileType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[764]); } const IfcParse::entity& Ifc4x3_rc2::IfcPileType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[764]); } Ifc4x3_rc2::IfcPileType::IfcPileType(IfcEntityInstanceData&& e) : IfcDeepFoundationType(std::move(e)) { } -Ifc4x3_rc2::IfcPileType::IfcPileType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcPileTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcPileType::IfcPileType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcPileTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPipeFitting -boost::optional< ::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value > Ifc4x3_rc2::IfcPipeFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcPipeFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value > Ifc4x3_rc2::IfcPipeFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcPipeFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcPipeFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcPipeFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[766]); } const IfcParse::entity& Ifc4x3_rc2::IfcPipeFitting::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[766]); } Ifc4x3_rc2::IfcPipeFitting::IfcPipeFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x3_rc2::IfcPipeFitting::IfcPipeFitting(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcPipeFitting::IfcPipeFitting(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPipeFittingType -::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value Ifc4x3_rc2::IfcPipeFittingType::PredefinedType() const { return ::Ifc4x3_rc2::IfcPipeFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value Ifc4x3_rc2::IfcPipeFittingType::PredefinedType() const { return ::Ifc4x3_rc2::IfcPipeFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcPipeFittingType::setPredefinedType(::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcPipeFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[767]); } const IfcParse::entity& Ifc4x3_rc2::IfcPipeFittingType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[767]); } Ifc4x3_rc2::IfcPipeFittingType::IfcPipeFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x3_rc2::IfcPipeFittingType::IfcPipeFittingType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcPipeFittingType::IfcPipeFittingType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPipeSegment -boost::optional< ::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value > Ifc4x3_rc2::IfcPipeSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value > Ifc4x3_rc2::IfcPipeSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcPipeSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcPipeSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[769]); } const IfcParse::entity& Ifc4x3_rc2::IfcPipeSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[769]); } Ifc4x3_rc2::IfcPipeSegment::IfcPipeSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x3_rc2::IfcPipeSegment::IfcPipeSegment(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcPipeSegment::IfcPipeSegment(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPipeSegmentType -::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value Ifc4x3_rc2::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value Ifc4x3_rc2::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcPipeSegmentType::setPredefinedType(::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcPipeSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[770]); } const IfcParse::entity& Ifc4x3_rc2::IfcPipeSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[770]); } Ifc4x3_rc2::IfcPipeSegmentType::IfcPipeSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x3_rc2::IfcPipeSegmentType::IfcPipeSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcPipeSegmentType::IfcPipeSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPixelTexture -int Ifc4x3_rc2::IfcPixelTexture::Width() const { int v = data_.get_attribute_value(5); return v; } +int Ifc4x3_rc2::IfcPixelTexture::Width() const { int v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcPixelTexture::setWidth(int v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -int Ifc4x3_rc2::IfcPixelTexture::Height() const { int v = data_.get_attribute_value(6); return v; } +int Ifc4x3_rc2::IfcPixelTexture::Height() const { int v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcPixelTexture::setHeight(int v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -int Ifc4x3_rc2::IfcPixelTexture::ColourComponents() const { int v = data_.get_attribute_value(7); return v; } +int Ifc4x3_rc2::IfcPixelTexture::ColourComponents() const { int v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcPixelTexture::setColourComponents(int v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector< boost::dynamic_bitset<> > /*[1:?]*/ Ifc4x3_rc2::IfcPixelTexture::Pixel() const { std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< boost::dynamic_bitset<> > /*[1:?]*/ Ifc4x3_rc2::IfcPixelTexture::Pixel() const { std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcPixelTexture::setPixel(std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc2::IfcPixelTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[772]); } const IfcParse::entity& Ifc4x3_rc2::IfcPixelTexture::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[772]); } Ifc4x3_rc2::IfcPixelTexture::IfcPixelTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -Ifc4x3_rc2::IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) : IfcSurfaceTexture(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel));; populate_derived(); } +Ifc4x3_rc2::IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) : IfcSurfaceTexture(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel));; populate_derived(); } // Function implementations for IfcPlacement -::Ifc4x3_rc2::IfcPoint* Ifc4x3_rc2::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcPoint>(true); } +::Ifc4x3_rc2::IfcPoint* Ifc4x3_rc2::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcPoint>(true); } void Ifc4x3_rc2::IfcPlacement::setLocation(::Ifc4x3_rc2::IfcPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc2::IfcPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[773]); } const IfcParse::entity& Ifc4x3_rc2::IfcPlacement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[773]); } Ifc4x3_rc2::IfcPlacement::IfcPlacement(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcPlacement::IfcPlacement(::Ifc4x3_rc2::IfcPoint* v1_Location) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcPlacement::IfcPlacement(::Ifc4x3_rc2::IfcPoint* v1_Location) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlanarBox -::Ifc4x3_rc2::IfcAxis2Placement* Ifc4x3_rc2::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcAxis2Placement>(true); } +::Ifc4x3_rc2::IfcAxis2Placement* Ifc4x3_rc2::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcAxis2Placement>(true); } void Ifc4x3_rc2::IfcPlanarBox::setPlacement(::Ifc4x3_rc2::IfcAxis2Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcPlanarBox::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[774]); } const IfcParse::entity& Ifc4x3_rc2::IfcPlanarBox::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[774]); } Ifc4x3_rc2::IfcPlanarBox::IfcPlanarBox(IfcEntityInstanceData&& e) : IfcPlanarExtent(std::move(e)) { } -Ifc4x3_rc2::IfcPlanarBox::IfcPlanarBox(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_rc2::IfcAxis2Placement* v3_Placement) : IfcPlanarExtent(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, v3_Placement ? v3_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcPlanarBox::IfcPlanarBox(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_rc2::IfcAxis2Placement* v3_Placement) : IfcPlanarExtent(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, v3_Placement ? v3_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlanarExtent -double Ifc4x3_rc2::IfcPlanarExtent::SizeInX() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_rc2::IfcPlanarExtent::SizeInX() const { double v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcPlanarExtent::setSizeInX(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc2::IfcPlanarExtent::SizeInY() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc2::IfcPlanarExtent::SizeInY() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcPlanarExtent::setSizeInY(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcPlanarExtent::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[775]); } const IfcParse::entity& Ifc4x3_rc2::IfcPlanarExtent::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[775]); } Ifc4x3_rc2::IfcPlanarExtent::IfcPlanarExtent(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeInY) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; populate_derived(); } +Ifc4x3_rc2::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeInY) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; populate_derived(); } // Function implementations for IfcPlane @@ -13574,7 +13574,7 @@ Ifc4x3_rc2::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeIn const IfcParse::entity& Ifc4x3_rc2::IfcPlane::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[777]); } const IfcParse::entity& Ifc4x3_rc2::IfcPlane::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[777]); } Ifc4x3_rc2::IfcPlane::IfcPlane(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x3_rc2::IfcPlane::IfcPlane(::Ifc4x3_rc2::IfcAxis2Placement3D* v1_Position) : IfcElementarySurface(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcPlane::IfcPlane(::Ifc4x3_rc2::IfcAxis2Placement3D* v1_Position) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlant @@ -13582,17 +13582,17 @@ Ifc4x3_rc2::IfcPlane::IfcPlane(::Ifc4x3_rc2::IfcAxis2Placement3D* v1_Position) : const IfcParse::entity& Ifc4x3_rc2::IfcPlant::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[779]); } const IfcParse::entity& Ifc4x3_rc2::IfcPlant::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[779]); } Ifc4x3_rc2::IfcPlant::IfcPlant(IfcEntityInstanceData&& e) : IfcGeographicElement(std::move(e)) { } -Ifc4x3_rc2::IfcPlant::IfcPlant(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) : IfcGeographicElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcPlant::IfcPlant(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) : IfcGeographicElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPlate -boost::optional< ::Ifc4x3_rc2::IfcPlateTypeEnum::Value > Ifc4x3_rc2::IfcPlate::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcPlateTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcPlateTypeEnum::Value > Ifc4x3_rc2::IfcPlate::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcPlateTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcPlate::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcPlateTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcPlateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcPlate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[780]); } const IfcParse::entity& Ifc4x3_rc2::IfcPlate::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[780]); } Ifc4x3_rc2::IfcPlate::IfcPlate(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc2::IfcPlate::IfcPlate(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcPlateTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcPlate::IfcPlate(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcPlateTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPlateStandardCase @@ -13600,17 +13600,17 @@ Ifc4x3_rc2::IfcPlate::IfcPlate(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHi const IfcParse::entity& Ifc4x3_rc2::IfcPlateStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[781]); } const IfcParse::entity& Ifc4x3_rc2::IfcPlateStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[781]); } Ifc4x3_rc2::IfcPlateStandardCase::IfcPlateStandardCase(IfcEntityInstanceData&& e) : IfcPlate(std::move(e)) { } -Ifc4x3_rc2::IfcPlateStandardCase::IfcPlateStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcPlateTypeEnum::Value > v9_PredefinedType) : IfcPlate(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcPlateStandardCase::IfcPlateStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcPlateTypeEnum::Value > v9_PredefinedType) : IfcPlate(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPlateType -::Ifc4x3_rc2::IfcPlateTypeEnum::Value Ifc4x3_rc2::IfcPlateType::PredefinedType() const { return ::Ifc4x3_rc2::IfcPlateTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcPlateTypeEnum::Value Ifc4x3_rc2::IfcPlateType::PredefinedType() const { return ::Ifc4x3_rc2::IfcPlateTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcPlateType::setPredefinedType(::Ifc4x3_rc2::IfcPlateTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcPlateTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcPlateType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[782]); } const IfcParse::entity& Ifc4x3_rc2::IfcPlateType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[782]); } Ifc4x3_rc2::IfcPlateType::IfcPlateType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc2::IfcPlateType::IfcPlateType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcPlateTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcPlateType::IfcPlateType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcPlateTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPoint @@ -13618,97 +13618,97 @@ Ifc4x3_rc2::IfcPlateType::IfcPlateType(std::string v1_GlobalId, ::Ifc4x3_rc2::If const IfcParse::entity& Ifc4x3_rc2::IfcPoint::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[784]); } const IfcParse::entity& Ifc4x3_rc2::IfcPoint::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[784]); } Ifc4x3_rc2::IfcPoint::IfcPoint(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc2::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPointByDistanceExpression -::Ifc4x3_rc2::IfcCurveMeasureSelect* Ifc4x3_rc2::IfcPointByDistanceExpression::DistanceAlong() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCurveMeasureSelect>(true); } +::Ifc4x3_rc2::IfcCurveMeasureSelect* Ifc4x3_rc2::IfcPointByDistanceExpression::DistanceAlong() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCurveMeasureSelect>(true); } void Ifc4x3_rc2::IfcPointByDistanceExpression::setDistanceAlong(::Ifc4x3_rc2::IfcCurveMeasureSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< double > Ifc4x3_rc2::IfcPointByDistanceExpression::OffsetLateral() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc2::IfcPointByDistanceExpression::OffsetLateral() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcPointByDistanceExpression::setOffsetLateral(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc2::IfcPointByDistanceExpression::OffsetVertical() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc2::IfcPointByDistanceExpression::OffsetVertical() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcPointByDistanceExpression::setOffsetVertical(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc2::IfcPointByDistanceExpression::OffsetLongitudinal() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc2::IfcPointByDistanceExpression::OffsetLongitudinal() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcPointByDistanceExpression::setOffsetLongitudinal(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcPointByDistanceExpression::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcCurve>(true); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcPointByDistanceExpression::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcPointByDistanceExpression::setBasisCurve(::Ifc4x3_rc2::IfcCurve* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc2::IfcPointByDistanceExpression::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[785]); } const IfcParse::entity& Ifc4x3_rc2::IfcPointByDistanceExpression::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[785]); } Ifc4x3_rc2::IfcPointByDistanceExpression::IfcPointByDistanceExpression(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x3_rc2::IfcPointByDistanceExpression::IfcPointByDistanceExpression(::Ifc4x3_rc2::IfcCurveMeasureSelect* v1_DistanceAlong, boost::optional< double > v2_OffsetLateral, boost::optional< double > v3_OffsetVertical, boost::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_rc2::IfcCurve* v5_BasisCurve) : IfcPoint(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_DistanceAlong ? v1_DistanceAlong->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); }set_attribute_value(4, v5_BasisCurve ? v5_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcPointByDistanceExpression::IfcPointByDistanceExpression(::Ifc4x3_rc2::IfcCurveMeasureSelect* v1_DistanceAlong, boost::optional< double > v2_OffsetLateral, boost::optional< double > v3_OffsetVertical, boost::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_rc2::IfcCurve* v5_BasisCurve) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_DistanceAlong ? v1_DistanceAlong->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); }set_attribute_value(4, v5_BasisCurve ? v5_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPointOnCurve -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCurve>(true); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcPointOnCurve::setBasisCurve(::Ifc4x3_rc2::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc2::IfcPointOnCurve::PointParameter() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc2::IfcPointOnCurve::PointParameter() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcPointOnCurve::setPointParameter(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcPointOnCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[786]); } const IfcParse::entity& Ifc4x3_rc2::IfcPointOnCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[786]); } Ifc4x3_rc2::IfcPointOnCurve::IfcPointOnCurve(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x3_rc2::IfcPointOnCurve::IfcPointOnCurve(::Ifc4x3_rc2::IfcCurve* v1_BasisCurve, double v2_PointParameter) : IfcPoint(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameter));; populate_derived(); } +Ifc4x3_rc2::IfcPointOnCurve::IfcPointOnCurve(::Ifc4x3_rc2::IfcCurve* v1_BasisCurve, double v2_PointParameter) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameter));; populate_derived(); } // Function implementations for IfcPointOnSurface -::Ifc4x3_rc2::IfcSurface* Ifc4x3_rc2::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcSurface>(true); } +::Ifc4x3_rc2::IfcSurface* Ifc4x3_rc2::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcSurface>(true); } void Ifc4x3_rc2::IfcPointOnSurface::setBasisSurface(::Ifc4x3_rc2::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc2::IfcPointOnSurface::PointParameterU() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc2::IfcPointOnSurface::PointParameterU() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcPointOnSurface::setPointParameterU(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc2::IfcPointOnSurface::PointParameterV() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc2::IfcPointOnSurface::PointParameterV() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcPointOnSurface::setPointParameterV(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcPointOnSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[787]); } const IfcParse::entity& Ifc4x3_rc2::IfcPointOnSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[787]); } Ifc4x3_rc2::IfcPointOnSurface::IfcPointOnSurface(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x3_rc2::IfcPointOnSurface::IfcPointOnSurface(::Ifc4x3_rc2::IfcSurface* v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) : IfcPoint(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; populate_derived(); } +Ifc4x3_rc2::IfcPointOnSurface::IfcPointOnSurface(::Ifc4x3_rc2::IfcSurface* v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; populate_derived(); } // Function implementations for IfcPolyLoop -aggregate_of< ::Ifc4x3_rc2::IfcCartesianPoint >::ptr Ifc4x3_rc2::IfcPolyLoop::Polygon() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcCartesianPoint >(); } +aggregate_of< ::Ifc4x3_rc2::IfcCartesianPoint >::ptr Ifc4x3_rc2::IfcPolyLoop::Polygon() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcCartesianPoint >(); } void Ifc4x3_rc2::IfcPolyLoop::setPolygon(aggregate_of< ::Ifc4x3_rc2::IfcCartesianPoint >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc2::IfcPolyLoop::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[792]); } const IfcParse::entity& Ifc4x3_rc2::IfcPolyLoop::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[792]); } Ifc4x3_rc2::IfcPolyLoop::IfcPolyLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc4x3_rc2::IfcPolyLoop::IfcPolyLoop(aggregate_of< ::Ifc4x3_rc2::IfcCartesianPoint >::ptr v1_Polygon) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Polygon)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcPolyLoop::IfcPolyLoop(aggregate_of< ::Ifc4x3_rc2::IfcCartesianPoint >::ptr v1_Polygon) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Polygon)->generalize());; populate_derived(); } // Function implementations for IfcPolygonalBoundedHalfSpace -::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(true); } void Ifc4x3_rc2::IfcPolygonalBoundedHalfSpace::setPosition(::Ifc4x3_rc2::IfcAxis2Placement3D* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcBoundedCurve* Ifc4x3_rc2::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcBoundedCurve>(true); } +::Ifc4x3_rc2::IfcBoundedCurve* Ifc4x3_rc2::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcBoundedCurve>(true); } void Ifc4x3_rc2::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(::Ifc4x3_rc2::IfcBoundedCurve* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcPolygonalBoundedHalfSpace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[789]); } const IfcParse::entity& Ifc4x3_rc2::IfcPolygonalBoundedHalfSpace::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[789]); } Ifc4x3_rc2::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(IfcEntityInstanceData&& e) : IfcHalfSpaceSolid(std::move(e)) { } -Ifc4x3_rc2::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(::Ifc4x3_rc2::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc2::IfcAxis2Placement3D* v3_Position, ::Ifc4x3_rc2::IfcBoundedCurve* v4_PolygonalBoundary) : IfcHalfSpaceSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PolygonalBoundary ? v4_PolygonalBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(::Ifc4x3_rc2::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc2::IfcAxis2Placement3D* v3_Position, ::Ifc4x3_rc2::IfcBoundedCurve* v4_PolygonalBoundary) : IfcHalfSpaceSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PolygonalBoundary ? v4_PolygonalBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPolygonalFaceSet -boost::optional< bool > Ifc4x3_rc2::IfcPolygonalFaceSet::Closed() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } bool v = data_.get_attribute_value(1); return v; } +boost::optional< bool > Ifc4x3_rc2::IfcPolygonalFaceSet::Closed() const { if(get_attribute_value(1).isNull()) { return boost::none; } bool v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcPolygonalFaceSet::setClosed(boost::optional< bool > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3_rc2::IfcIndexedPolygonalFace >::ptr Ifc4x3_rc2::IfcPolygonalFaceSet::Faces() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcIndexedPolygonalFace >(); } +aggregate_of< ::Ifc4x3_rc2::IfcIndexedPolygonalFace >::ptr Ifc4x3_rc2::IfcPolygonalFaceSet::Faces() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcIndexedPolygonalFace >(); } void Ifc4x3_rc2::IfcPolygonalFaceSet::setFaces(aggregate_of< ::Ifc4x3_rc2::IfcIndexedPolygonalFace >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc2::IfcPolygonalFaceSet::PnIndex() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc2::IfcPolygonalFaceSet::PnIndex() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcPolygonalFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc2::IfcPolygonalFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[790]); } const IfcParse::entity& Ifc4x3_rc2::IfcPolygonalFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[790]); } Ifc4x3_rc2::IfcPolygonalFaceSet::IfcPolygonalFaceSet(IfcEntityInstanceData&& e) : IfcTessellatedFaceSet(std::move(e)) { } -Ifc4x3_rc2::IfcPolygonalFaceSet::IfcPolygonalFaceSet(::Ifc4x3_rc2::IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v2_Closed, aggregate_of< ::Ifc4x3_rc2::IfcIndexedPolygonalFace >::ptr v3_Faces, boost::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) : IfcTessellatedFaceSet(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, (v3_Faces)->generalize()); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); }; populate_derived(); } +Ifc4x3_rc2::IfcPolygonalFaceSet::IfcPolygonalFaceSet(::Ifc4x3_rc2::IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v2_Closed, aggregate_of< ::Ifc4x3_rc2::IfcIndexedPolygonalFace >::ptr v3_Faces, boost::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) : IfcTessellatedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, (v3_Faces)->generalize()); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); }; populate_derived(); } // Function implementations for IfcPolyline -aggregate_of< ::Ifc4x3_rc2::IfcCartesianPoint >::ptr Ifc4x3_rc2::IfcPolyline::Points() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcCartesianPoint >(); } +aggregate_of< ::Ifc4x3_rc2::IfcCartesianPoint >::ptr Ifc4x3_rc2::IfcPolyline::Points() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcCartesianPoint >(); } void Ifc4x3_rc2::IfcPolyline::setPoints(aggregate_of< ::Ifc4x3_rc2::IfcCartesianPoint >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc2::IfcPolyline::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[791]); } const IfcParse::entity& Ifc4x3_rc2::IfcPolyline::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[791]); } Ifc4x3_rc2::IfcPolyline::IfcPolyline(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_rc2::IfcPolyline::IfcPolyline(aggregate_of< ::Ifc4x3_rc2::IfcCartesianPoint >::ptr v1_Points) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Points)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcPolyline::IfcPolyline(aggregate_of< ::Ifc4x3_rc2::IfcCartesianPoint >::ptr v1_Points) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Points)->generalize());; populate_derived(); } // Function implementations for IfcPort @@ -13719,7 +13719,7 @@ Ifc4x3_rc2::IfcPolyline::IfcPolyline(aggregate_of< ::Ifc4x3_rc2::IfcCartesianPoi const IfcParse::entity& Ifc4x3_rc2::IfcPort::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[793]); } const IfcParse::entity& Ifc4x3_rc2::IfcPort::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[793]); } Ifc4x3_rc2::IfcPort::IfcPort(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_rc2::IfcPort::IfcPort(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcPort::IfcPort(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPositioningElement @@ -13729,29 +13729,29 @@ Ifc4x3_rc2::IfcPort::IfcPort(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHist const IfcParse::entity& Ifc4x3_rc2::IfcPositioningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[794]); } const IfcParse::entity& Ifc4x3_rc2::IfcPositioningElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[794]); } Ifc4x3_rc2::IfcPositioningElement::IfcPositioningElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_rc2::IfcPositioningElement::IfcPositioningElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcPositioningElement::IfcPositioningElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPostalAddress -boost::optional< std::string > Ifc4x3_rc2::IfcPostalAddress::InternalLocation() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcPostalAddress::InternalLocation() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcPostalAddress::setInternalLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcPostalAddress::AddressLines() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcPostalAddress::AddressLines() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcPostalAddress::setAddressLines(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc2::IfcPostalAddress::PostalBox() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcPostalAddress::PostalBox() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcPostalAddress::setPostalBox(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc2::IfcPostalAddress::Town() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcPostalAddress::Town() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcPostalAddress::setTown(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc2::IfcPostalAddress::Region() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcPostalAddress::Region() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcPostalAddress::setRegion(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc2::IfcPostalAddress::PostalCode() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcPostalAddress::PostalCode() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcPostalAddress::setPostalCode(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_rc2::IfcPostalAddress::Country() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcPostalAddress::Country() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc2::IfcPostalAddress::setCountry(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc2::IfcPostalAddress::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[799]); } const IfcParse::entity& Ifc4x3_rc2::IfcPostalAddress::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[799]); } Ifc4x3_rc2::IfcPostalAddress::IfcPostalAddress(IfcEntityInstanceData&& e) : IfcAddress(std::move(e)) { } -Ifc4x3_rc2::IfcPostalAddress::IfcPostalAddress(boost::optional< ::Ifc4x3_rc2::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) : IfcAddress(IfcEntityInstanceData(storage_t(10))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; populate_derived(); } +Ifc4x3_rc2::IfcPostalAddress::IfcPostalAddress(boost::optional< ::Ifc4x3_rc2::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) : IfcAddress(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; populate_derived(); } // Function implementations for IfcPreDefinedColour @@ -13759,7 +13759,7 @@ Ifc4x3_rc2::IfcPostalAddress::IfcPostalAddress(boost::optional< ::Ifc4x3_rc2::If const IfcParse::entity& Ifc4x3_rc2::IfcPreDefinedColour::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[801]); } const IfcParse::entity& Ifc4x3_rc2::IfcPreDefinedColour::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[801]); } Ifc4x3_rc2::IfcPreDefinedColour::IfcPreDefinedColour(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc4x3_rc2::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_rc2::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedCurveFont @@ -13767,17 +13767,17 @@ Ifc4x3_rc2::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcP const IfcParse::entity& Ifc4x3_rc2::IfcPreDefinedCurveFont::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[802]); } const IfcParse::entity& Ifc4x3_rc2::IfcPreDefinedCurveFont::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[802]); } Ifc4x3_rc2::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc4x3_rc2::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_rc2::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedItem -std::string Ifc4x3_rc2::IfcPreDefinedItem::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc2::IfcPreDefinedItem::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcPreDefinedItem::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc2::IfcPreDefinedItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[803]); } const IfcParse::entity& Ifc4x3_rc2::IfcPreDefinedItem::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[803]); } Ifc4x3_rc2::IfcPreDefinedItem::IfcPreDefinedItem(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_rc2::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedProperties @@ -13785,7 +13785,7 @@ Ifc4x3_rc2::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcPrese const IfcParse::entity& Ifc4x3_rc2::IfcPreDefinedProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[804]); } const IfcParse::entity& Ifc4x3_rc2::IfcPreDefinedProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[804]); } Ifc4x3_rc2::IfcPreDefinedProperties::IfcPreDefinedProperties(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x3_rc2::IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc2::IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPreDefinedPropertySet @@ -13793,7 +13793,7 @@ Ifc4x3_rc2::IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbst const IfcParse::entity& Ifc4x3_rc2::IfcPreDefinedPropertySet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[805]); } const IfcParse::entity& Ifc4x3_rc2::IfcPreDefinedPropertySet::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[805]); } Ifc4x3_rc2::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc4x3_rc2::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc2::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPreDefinedTextFont @@ -13801,7 +13801,7 @@ Ifc4x3_rc2::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_Gl const IfcParse::entity& Ifc4x3_rc2::IfcPreDefinedTextFont::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[806]); } const IfcParse::entity& Ifc4x3_rc2::IfcPreDefinedTextFont::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[806]); } Ifc4x3_rc2::IfcPreDefinedTextFont::IfcPreDefinedTextFont(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc4x3_rc2::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_rc2::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPresentationItem @@ -13809,84 +13809,84 @@ Ifc4x3_rc2::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : const IfcParse::entity& Ifc4x3_rc2::IfcPresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[809]); } const IfcParse::entity& Ifc4x3_rc2::IfcPresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[809]); } Ifc4x3_rc2::IfcPresentationItem::IfcPresentationItem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcPresentationItem::IfcPresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc2::IfcPresentationItem::IfcPresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPresentationLayerAssignment -std::string Ifc4x3_rc2::IfcPresentationLayerAssignment::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc2::IfcPresentationLayerAssignment::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcPresentationLayerAssignment::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc2::IfcPresentationLayerAssignment::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcPresentationLayerAssignment::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3_rc2::IfcLayeredItem >::ptr Ifc4x3_rc2::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcLayeredItem >(); } +aggregate_of< ::Ifc4x3_rc2::IfcLayeredItem >::ptr Ifc4x3_rc2::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcLayeredItem >(); } void Ifc4x3_rc2::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x3_rc2::IfcLayeredItem >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x3_rc2::IfcPresentationLayerAssignment::Identifier() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcPresentationLayerAssignment::Identifier() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc2::IfcPresentationLayerAssignment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[810]); } const IfcParse::entity& Ifc4x3_rc2::IfcPresentationLayerAssignment::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[810]); } Ifc4x3_rc2::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; populate_derived(); } +Ifc4x3_rc2::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; populate_derived(); } // Function implementations for IfcPresentationLayerWithStyle -boost::logic::tribool Ifc4x3_rc2::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = data_.get_attribute_value(4); return v; } +boost::logic::tribool Ifc4x3_rc2::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcPresentationLayerWithStyle::setLayerOn(boost::logic::tribool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::logic::tribool Ifc4x3_rc2::IfcPresentationLayerWithStyle::LayerFrozen() const { boost::logic::tribool v = data_.get_attribute_value(5); return v; } +boost::logic::tribool Ifc4x3_rc2::IfcPresentationLayerWithStyle::LayerFrozen() const { boost::logic::tribool v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcPresentationLayerWithStyle::setLayerFrozen(boost::logic::tribool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::logic::tribool Ifc4x3_rc2::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = data_.get_attribute_value(6); return v; } +boost::logic::tribool Ifc4x3_rc2::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcPresentationLayerWithStyle::setLayerBlocked(boost::logic::tribool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -aggregate_of< ::Ifc4x3_rc2::IfcPresentationStyle >::ptr Ifc4x3_rc2::IfcPresentationLayerWithStyle::LayerStyles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc2::IfcPresentationStyle >(); } +aggregate_of< ::Ifc4x3_rc2::IfcPresentationStyle >::ptr Ifc4x3_rc2::IfcPresentationLayerWithStyle::LayerStyles() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc2::IfcPresentationStyle >(); } void Ifc4x3_rc2::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< ::Ifc4x3_rc2::IfcPresentationStyle >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc2::IfcPresentationLayerWithStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[811]); } const IfcParse::entity& Ifc4x3_rc2::IfcPresentationLayerWithStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[811]); } Ifc4x3_rc2::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData&& e) : IfcPresentationLayerAssignment(std::move(e)) { } -Ifc4x3_rc2::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_rc2::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, (v8_LayerStyles)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_rc2::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, (v8_LayerStyles)->generalize());; populate_derived(); } // Function implementations for IfcPresentationStyle -boost::optional< std::string > Ifc4x3_rc2::IfcPresentationStyle::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcPresentationStyle::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcPresentationStyle::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3_rc2::IfcPresentationStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[812]); } const IfcParse::entity& Ifc4x3_rc2::IfcPresentationStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[812]); } Ifc4x3_rc2::IfcPresentationStyle::IfcPresentationStyle(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_rc2::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcPresentationStyleAssignment -aggregate_of< ::Ifc4x3_rc2::IfcPresentationStyleSelect >::ptr Ifc4x3_rc2::IfcPresentationStyleAssignment::Styles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcPresentationStyleSelect >(); } +aggregate_of< ::Ifc4x3_rc2::IfcPresentationStyleSelect >::ptr Ifc4x3_rc2::IfcPresentationStyleAssignment::Styles() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcPresentationStyleSelect >(); } void Ifc4x3_rc2::IfcPresentationStyleAssignment::setStyles(aggregate_of< ::Ifc4x3_rc2::IfcPresentationStyleSelect >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc2::IfcPresentationStyleAssignment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[813]); } const IfcParse::entity& Ifc4x3_rc2::IfcPresentationStyleAssignment::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[813]); } Ifc4x3_rc2::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of< ::Ifc4x3_rc2::IfcPresentationStyleSelect >::ptr v1_Styles) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Styles)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcPresentationStyleAssignment::IfcPresentationStyleAssignment(aggregate_of< ::Ifc4x3_rc2::IfcPresentationStyleSelect >::ptr v1_Styles) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Styles)->generalize());; populate_derived(); } // Function implementations for IfcProcedure -boost::optional< ::Ifc4x3_rc2::IfcProcedureTypeEnum::Value > Ifc4x3_rc2::IfcProcedure::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcProcedureTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_rc2::IfcProcedureTypeEnum::Value > Ifc4x3_rc2::IfcProcedure::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcProcedureTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc2::IfcProcedure::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcProcedureTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc2::IfcProcedureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc2::IfcProcedure::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[816]); } const IfcParse::entity& Ifc4x3_rc2::IfcProcedure::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[816]); } Ifc4x3_rc2::IfcProcedure::IfcProcedure(IfcEntityInstanceData&& e) : IfcProcess(std::move(e)) { } -Ifc4x3_rc2::IfcProcedure::IfcProcedure(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< ::Ifc4x3_rc2::IfcProcedureTypeEnum::Value > v8_PredefinedType) : IfcProcess(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcProcedure::IfcProcedure(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< ::Ifc4x3_rc2::IfcProcedureTypeEnum::Value > v8_PredefinedType) : IfcProcess(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProcedureType -::Ifc4x3_rc2::IfcProcedureTypeEnum::Value Ifc4x3_rc2::IfcProcedureType::PredefinedType() const { return ::Ifc4x3_rc2::IfcProcedureTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcProcedureTypeEnum::Value Ifc4x3_rc2::IfcProcedureType::PredefinedType() const { return ::Ifc4x3_rc2::IfcProcedureTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcProcedureType::setPredefinedType(::Ifc4x3_rc2::IfcProcedureTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcProcedureTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcProcedureType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[817]); } const IfcParse::entity& Ifc4x3_rc2::IfcProcedureType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[817]); } Ifc4x3_rc2::IfcProcedureType::IfcProcedureType(IfcEntityInstanceData&& e) : IfcTypeProcess(std::move(e)) { } -Ifc4x3_rc2::IfcProcedureType::IfcProcedureType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_rc2::IfcProcedureTypeEnum::Value v10_PredefinedType) : IfcTypeProcess(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcProcedureType::IfcProcedureType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_rc2::IfcProcedureTypeEnum::Value v10_PredefinedType) : IfcTypeProcess(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcProcess -boost::optional< std::string > Ifc4x3_rc2::IfcProcess::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcProcess::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcProcess::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc2::IfcProcess::LongDescription() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcProcess::LongDescription() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcProcess::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_rc2::IfcRelSequence::list::ptr Ifc4x3_rc2::IfcProcess::IsPredecessorTo() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[961], 4)->as(); } @@ -13896,12 +13896,12 @@ void Ifc4x3_rc2::IfcProcess::setLongDescription(boost::optional< std::string > v const IfcParse::entity& Ifc4x3_rc2::IfcProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[819]); } const IfcParse::entity& Ifc4x3_rc2::IfcProcess::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[819]); } Ifc4x3_rc2::IfcProcess::IfcProcess(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_rc2::IfcProcess::IfcProcess(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } +Ifc4x3_rc2::IfcProcess::IfcProcess(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } // Function implementations for IfcProduct -::Ifc4x3_rc2::IfcObjectPlacement* Ifc4x3_rc2::IfcProduct::ObjectPlacement() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcObjectPlacement>(true); } +::Ifc4x3_rc2::IfcObjectPlacement* Ifc4x3_rc2::IfcProduct::ObjectPlacement() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcObjectPlacement>(true); } void Ifc4x3_rc2::IfcProduct::setObjectPlacement(::Ifc4x3_rc2::IfcObjectPlacement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc2::IfcProductRepresentation* Ifc4x3_rc2::IfcProduct::Representation() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcProductRepresentation>(true); } +::Ifc4x3_rc2::IfcProductRepresentation* Ifc4x3_rc2::IfcProduct::Representation() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcProductRepresentation>(true); } void Ifc4x3_rc2::IfcProduct::setRepresentation(::Ifc4x3_rc2::IfcProductRepresentation* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } ::Ifc4x3_rc2::IfcRelAssignsToProduct::list::ptr Ifc4x3_rc2::IfcProduct::ReferencedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[924], 6)->as(); } @@ -13911,7 +13911,7 @@ void Ifc4x3_rc2::IfcProduct::setRepresentation(::Ifc4x3_rc2::IfcProductRepresent const IfcParse::entity& Ifc4x3_rc2::IfcProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[821]); } const IfcParse::entity& Ifc4x3_rc2::IfcProduct::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[821]); } Ifc4x3_rc2::IfcProduct::IfcProduct(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_rc2::IfcProduct::IfcProduct(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation) : IfcObject(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcProduct::IfcProduct(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProductDefinitionShape @@ -13921,26 +13921,26 @@ Ifc4x3_rc2::IfcProduct::IfcProduct(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwn const IfcParse::entity& Ifc4x3_rc2::IfcProductDefinitionShape::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[822]); } const IfcParse::entity& Ifc4x3_rc2::IfcProductDefinitionShape::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[822]); } Ifc4x3_rc2::IfcProductDefinitionShape::IfcProductDefinitionShape(IfcEntityInstanceData&& e) : IfcProductRepresentation(std::move(e)) { } -Ifc4x3_rc2::IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcRepresentation >::ptr v3_Representations) : IfcProductRepresentation(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcRepresentation >::ptr v3_Representations) : IfcProductRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } // Function implementations for IfcProductRepresentation -boost::optional< std::string > Ifc4x3_rc2::IfcProductRepresentation::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcProductRepresentation::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcProductRepresentation::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc2::IfcProductRepresentation::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcProductRepresentation::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcProductRepresentation::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3_rc2::IfcRepresentation >::ptr Ifc4x3_rc2::IfcProductRepresentation::Representations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcRepresentation >(); } +aggregate_of< ::Ifc4x3_rc2::IfcRepresentation >::ptr Ifc4x3_rc2::IfcProductRepresentation::Representations() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcRepresentation >(); } void Ifc4x3_rc2::IfcProductRepresentation::setRepresentations(aggregate_of< ::Ifc4x3_rc2::IfcRepresentation >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcProductRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[823]); } const IfcParse::entity& Ifc4x3_rc2::IfcProductRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[823]); } Ifc4x3_rc2::IfcProductRepresentation::IfcProductRepresentation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcProductRepresentation::IfcProductRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcRepresentation >::ptr v3_Representations) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcProductRepresentation::IfcProductRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcRepresentation >::ptr v3_Representations) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } // Function implementations for IfcProfileDef -::Ifc4x3_rc2::IfcProfileTypeEnum::Value Ifc4x3_rc2::IfcProfileDef::ProfileType() const { return ::Ifc4x3_rc2::IfcProfileTypeEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_rc2::IfcProfileTypeEnum::Value Ifc4x3_rc2::IfcProfileDef::ProfileType() const { return ::Ifc4x3_rc2::IfcProfileTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x3_rc2::IfcProfileDef::setProfileType(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc2::IfcProfileDef::ProfileName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcProfileDef::ProfileName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcProfileDef::setProfileName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x3_rc2::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc2::IfcProfileDef::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[441], 3)->as(); } @@ -13949,17 +13949,17 @@ void Ifc4x3_rc2::IfcProfileDef::setProfileName(boost::optional< std::string > v) const IfcParse::entity& Ifc4x3_rc2::IfcProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[826]); } const IfcParse::entity& Ifc4x3_rc2::IfcProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[826]); } Ifc4x3_rc2::IfcProfileDef::IfcProfileDef(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcProfileDef::IfcProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; populate_derived(); } +Ifc4x3_rc2::IfcProfileDef::IfcProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; populate_derived(); } // Function implementations for IfcProfileProperties -::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcProfileDef>(true); } +::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcProfileDef>(true); } void Ifc4x3_rc2::IfcProfileProperties::setProfileDefinition(::Ifc4x3_rc2::IfcProfileDef* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcProfileProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[827]); } const IfcParse::entity& Ifc4x3_rc2::IfcProfileProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[827]); } Ifc4x3_rc2::IfcProfileProperties::IfcProfileProperties(IfcEntityInstanceData&& e) : IfcExtendedProperties(std::move(e)) { } -Ifc4x3_rc2::IfcProfileProperties::IfcProfileProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcProperty >::ptr v3_Properties, ::Ifc4x3_rc2::IfcProfileDef* v4_ProfileDefinition) : IfcExtendedProperties(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_ProfileDefinition ? v4_ProfileDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcProfileProperties::IfcProfileProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcProperty >::ptr v3_Properties, ::Ifc4x3_rc2::IfcProfileDef* v4_ProfileDefinition) : IfcExtendedProperties(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_ProfileDefinition ? v4_ProfileDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProject @@ -13967,7 +13967,7 @@ Ifc4x3_rc2::IfcProfileProperties::IfcProfileProperties(boost::optional< std::str const IfcParse::entity& Ifc4x3_rc2::IfcProject::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[829]); } const IfcParse::entity& Ifc4x3_rc2::IfcProject::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[829]); } Ifc4x3_rc2::IfcProject::IfcProject(IfcEntityInstanceData&& e) : IfcContext(std::move(e)) { } -Ifc4x3_rc2::IfcProject::IfcProject(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_rc2::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcProject::IfcProject(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_rc2::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProjectLibrary @@ -13975,50 +13975,50 @@ Ifc4x3_rc2::IfcProject::IfcProject(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwn const IfcParse::entity& Ifc4x3_rc2::IfcProjectLibrary::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[834]); } const IfcParse::entity& Ifc4x3_rc2::IfcProjectLibrary::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[834]); } Ifc4x3_rc2::IfcProjectLibrary::IfcProjectLibrary(IfcEntityInstanceData&& e) : IfcContext(std::move(e)) { } -Ifc4x3_rc2::IfcProjectLibrary::IfcProjectLibrary(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_rc2::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcProjectLibrary::IfcProjectLibrary(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_rc2::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProjectOrder -boost::optional< ::Ifc4x3_rc2::IfcProjectOrderTypeEnum::Value > Ifc4x3_rc2::IfcProjectOrder::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcProjectOrderTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_rc2::IfcProjectOrderTypeEnum::Value > Ifc4x3_rc2::IfcProjectOrder::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcProjectOrderTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_rc2::IfcProjectOrder::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcProjectOrderTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_rc2::IfcProjectOrderTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc2::IfcProjectOrder::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcProjectOrder::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcProjectOrder::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc2::IfcProjectOrder::LongDescription() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcProjectOrder::LongDescription() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcProjectOrder::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcProjectOrder::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[835]); } const IfcParse::entity& Ifc4x3_rc2::IfcProjectOrder::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[835]); } Ifc4x3_rc2::IfcProjectOrder::IfcProjectOrder(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_rc2::IfcProjectOrder::IfcProjectOrder(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3_rc2::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc2::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } +Ifc4x3_rc2::IfcProjectOrder::IfcProjectOrder(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3_rc2::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc2::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } // Function implementations for IfcProjectedCRS -boost::optional< std::string > Ifc4x3_rc2::IfcProjectedCRS::MapProjection() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcProjectedCRS::MapProjection() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcProjectedCRS::setMapProjection(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc2::IfcProjectedCRS::MapZone() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcProjectedCRS::MapZone() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcProjectedCRS::setMapZone(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc2::IfcNamedUnit* Ifc4x3_rc2::IfcProjectedCRS::MapUnit() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcNamedUnit>(true); } +::Ifc4x3_rc2::IfcNamedUnit* Ifc4x3_rc2::IfcProjectedCRS::MapUnit() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcNamedUnit>(true); } void Ifc4x3_rc2::IfcProjectedCRS::setMapUnit(::Ifc4x3_rc2::IfcNamedUnit* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc2::IfcProjectedCRS::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[830]); } const IfcParse::entity& Ifc4x3_rc2::IfcProjectedCRS::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[830]); } Ifc4x3_rc2::IfcProjectedCRS::IfcProjectedCRS(IfcEntityInstanceData&& e) : IfcCoordinateReferenceSystem(std::move(e)) { } -Ifc4x3_rc2::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_rc2::IfcNamedUnit* v7_MapUnit) : IfcCoordinateReferenceSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, v7_MapUnit ? v7_MapUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::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_rc2::IfcNamedUnit* v7_MapUnit) : IfcCoordinateReferenceSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, v7_MapUnit ? v7_MapUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProjectionElement -boost::optional< ::Ifc4x3_rc2::IfcProjectionElementTypeEnum::Value > Ifc4x3_rc2::IfcProjectionElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcProjectionElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcProjectionElementTypeEnum::Value > Ifc4x3_rc2::IfcProjectionElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcProjectionElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcProjectionElement::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcProjectionElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcProjectionElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcProjectionElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[832]); } const IfcParse::entity& Ifc4x3_rc2::IfcProjectionElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[832]); } Ifc4x3_rc2::IfcProjectionElement::IfcProjectionElement(IfcEntityInstanceData&& e) : IfcFeatureElementAddition(std::move(e)) { } -Ifc4x3_rc2::IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementAddition(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementAddition(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProperty -std::string Ifc4x3_rc2::IfcProperty::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc2::IfcProperty::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcProperty::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc2::IfcProperty::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcProperty::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcProperty::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x3_rc2::IfcPropertySet::list::ptr Ifc4x3_rc2::IfcProperty::PartOfPset() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[846], 4)->as(); } @@ -14031,7 +14031,7 @@ void Ifc4x3_rc2::IfcProperty::setDescription(boost::optional< std::string > v) { const IfcParse::entity& Ifc4x3_rc2::IfcProperty::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[837]); } const IfcParse::entity& Ifc4x3_rc2::IfcProperty::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[837]); } Ifc4x3_rc2::IfcProperty::IfcProperty(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x3_rc2::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4x3_rc2::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcPropertyAbstraction @@ -14040,23 +14040,23 @@ Ifc4x3_rc2::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std:: const IfcParse::entity& Ifc4x3_rc2::IfcPropertyAbstraction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[838]); } const IfcParse::entity& Ifc4x3_rc2::IfcPropertyAbstraction::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[838]); } Ifc4x3_rc2::IfcPropertyAbstraction::IfcPropertyAbstraction(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcPropertyAbstraction::IfcPropertyAbstraction() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc2::IfcPropertyAbstraction::IfcPropertyAbstraction() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPropertyBoundedValue -::Ifc4x3_rc2::IfcValue* Ifc4x3_rc2::IfcPropertyBoundedValue::UpperBoundValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcValue>(true); } +::Ifc4x3_rc2::IfcValue* Ifc4x3_rc2::IfcPropertyBoundedValue::UpperBoundValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcValue>(true); } void Ifc4x3_rc2::IfcPropertyBoundedValue::setUpperBoundValue(::Ifc4x3_rc2::IfcValue* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcValue* Ifc4x3_rc2::IfcPropertyBoundedValue::LowerBoundValue() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcValue>(true); } +::Ifc4x3_rc2::IfcValue* Ifc4x3_rc2::IfcPropertyBoundedValue::LowerBoundValue() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcValue>(true); } void Ifc4x3_rc2::IfcPropertyBoundedValue::setLowerBoundValue(::Ifc4x3_rc2::IfcValue* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcPropertyBoundedValue::Unit() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcUnit>(true); } +::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcPropertyBoundedValue::Unit() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcUnit>(true); } void Ifc4x3_rc2::IfcPropertyBoundedValue::setUnit(::Ifc4x3_rc2::IfcUnit* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcValue* Ifc4x3_rc2::IfcPropertyBoundedValue::SetPointValue() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcValue>(true); } +::Ifc4x3_rc2::IfcValue* Ifc4x3_rc2::IfcPropertyBoundedValue::SetPointValue() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcValue>(true); } void Ifc4x3_rc2::IfcPropertyBoundedValue::setSetPointValue(::Ifc4x3_rc2::IfcValue* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcPropertyBoundedValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[839]); } const IfcParse::entity& Ifc4x3_rc2::IfcPropertyBoundedValue::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[839]); } Ifc4x3_rc2::IfcPropertyBoundedValue::IfcPropertyBoundedValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_rc2::IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcValue* v3_UpperBoundValue, ::Ifc4x3_rc2::IfcValue* v4_LowerBoundValue, ::Ifc4x3_rc2::IfcUnit* v5_Unit, ::Ifc4x3_rc2::IfcValue* v6_SetPointValue) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_UpperBoundValue ? v3_UpperBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_LowerBoundValue ? v4_LowerBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_Unit ? v5_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_SetPointValue ? v6_SetPointValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcValue* v3_UpperBoundValue, ::Ifc4x3_rc2::IfcValue* v4_LowerBoundValue, ::Ifc4x3_rc2::IfcUnit* v5_Unit, ::Ifc4x3_rc2::IfcValue* v6_SetPointValue) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_UpperBoundValue ? v3_UpperBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_LowerBoundValue ? v4_LowerBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_Unit ? v5_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_SetPointValue ? v6_SetPointValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyDefinition @@ -14066,81 +14066,81 @@ Ifc4x3_rc2::IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name const IfcParse::entity& Ifc4x3_rc2::IfcPropertyDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[840]); } const IfcParse::entity& Ifc4x3_rc2::IfcPropertyDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[840]); } Ifc4x3_rc2::IfcPropertyDefinition::IfcPropertyDefinition(IfcEntityInstanceData&& e) : IfcRoot(std::move(e)) { } -Ifc4x3_rc2::IfcPropertyDefinition::IfcPropertyDefinition(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc2::IfcPropertyDefinition::IfcPropertyDefinition(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertyDependencyRelationship -::Ifc4x3_rc2::IfcProperty* Ifc4x3_rc2::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcProperty>(true); } +::Ifc4x3_rc2::IfcProperty* Ifc4x3_rc2::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcProperty>(true); } void Ifc4x3_rc2::IfcPropertyDependencyRelationship::setDependingProperty(::Ifc4x3_rc2::IfcProperty* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcProperty* Ifc4x3_rc2::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcProperty>(true); } +::Ifc4x3_rc2::IfcProperty* Ifc4x3_rc2::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcProperty>(true); } void Ifc4x3_rc2::IfcPropertyDependencyRelationship::setDependantProperty(::Ifc4x3_rc2::IfcProperty* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc2::IfcPropertyDependencyRelationship::Expression() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcPropertyDependencyRelationship::Expression() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc2::IfcPropertyDependencyRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[841]); } const IfcParse::entity& Ifc4x3_rc2::IfcPropertyDependencyRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[841]); } Ifc4x3_rc2::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_rc2::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcProperty* v3_DependingProperty, ::Ifc4x3_rc2::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_DependingProperty ? v3_DependingProperty->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_DependantProperty ? v4_DependantProperty->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } +Ifc4x3_rc2::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcProperty* v3_DependingProperty, ::Ifc4x3_rc2::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_DependingProperty ? v3_DependingProperty->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_DependantProperty ? v4_DependantProperty->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } // Function implementations for IfcPropertyEnumeratedValue -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > Ifc4x3_rc2::IfcPropertyEnumeratedValue::EnumerationValues() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > Ifc4x3_rc2::IfcPropertyEnumeratedValue::EnumerationValues() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcValue >(); } void Ifc4x3_rc2::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } -::Ifc4x3_rc2::IfcPropertyEnumeration* Ifc4x3_rc2::IfcPropertyEnumeratedValue::EnumerationReference() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcPropertyEnumeration>(true); } +::Ifc4x3_rc2::IfcPropertyEnumeration* Ifc4x3_rc2::IfcPropertyEnumeratedValue::EnumerationReference() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcPropertyEnumeration>(true); } void Ifc4x3_rc2::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_rc2::IfcPropertyEnumeration* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcPropertyEnumeratedValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[842]); } const IfcParse::entity& Ifc4x3_rc2::IfcPropertyEnumeratedValue::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[842]); } Ifc4x3_rc2::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_rc2::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_rc2::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_EnumerationValues) {set_attribute_value(2, (*v3_EnumerationValues)->generalize()); }set_attribute_value(3, v4_EnumerationReference ? v4_EnumerationReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_rc2::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_EnumerationValues) {set_attribute_value(2, (*v3_EnumerationValues)->generalize()); }set_attribute_value(3, v4_EnumerationReference ? v4_EnumerationReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyEnumeration -std::string Ifc4x3_rc2::IfcPropertyEnumeration::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc2::IfcPropertyEnumeration::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcPropertyEnumeration::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr Ifc4x3_rc2::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcValue >(); } +aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr Ifc4x3_rc2::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcValue >(); } void Ifc4x3_rc2::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcPropertyEnumeration::Unit() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcUnit>(true); } +::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcPropertyEnumeration::Unit() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcUnit>(true); } void Ifc4x3_rc2::IfcPropertyEnumeration::setUnit(::Ifc4x3_rc2::IfcUnit* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcPropertyEnumeration::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[843]); } const IfcParse::entity& Ifc4x3_rc2::IfcPropertyEnumeration::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[843]); } Ifc4x3_rc2::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x3_rc2::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_rc2::IfcUnit* v3_Unit) : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_EnumerationValues)->generalize());set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_rc2::IfcUnit* v3_Unit) : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_EnumerationValues)->generalize());set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyListValue -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > Ifc4x3_rc2::IfcPropertyListValue::ListValues() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > Ifc4x3_rc2::IfcPropertyListValue::ListValues() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcValue >(); } void Ifc4x3_rc2::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } -::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcPropertyListValue::Unit() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcUnit>(true); } +::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcPropertyListValue::Unit() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcUnit>(true); } void Ifc4x3_rc2::IfcPropertyListValue::setUnit(::Ifc4x3_rc2::IfcUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcPropertyListValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[844]); } const IfcParse::entity& Ifc4x3_rc2::IfcPropertyListValue::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[844]); } Ifc4x3_rc2::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_rc2::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_rc2::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_ListValues) {set_attribute_value(2, (*v3_ListValues)->generalize()); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_rc2::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_ListValues) {set_attribute_value(2, (*v3_ListValues)->generalize()); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyReferenceValue -boost::optional< std::string > Ifc4x3_rc2::IfcPropertyReferenceValue::UsageName() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcPropertyReferenceValue::UsageName() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc2::IfcObjectReferenceSelect* Ifc4x3_rc2::IfcPropertyReferenceValue::PropertyReference() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcObjectReferenceSelect>(true); } +::Ifc4x3_rc2::IfcObjectReferenceSelect* Ifc4x3_rc2::IfcPropertyReferenceValue::PropertyReference() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcObjectReferenceSelect>(true); } void Ifc4x3_rc2::IfcPropertyReferenceValue::setPropertyReference(::Ifc4x3_rc2::IfcObjectReferenceSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcPropertyReferenceValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[845]); } const IfcParse::entity& Ifc4x3_rc2::IfcPropertyReferenceValue::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[845]); } Ifc4x3_rc2::IfcPropertyReferenceValue::IfcPropertyReferenceValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_rc2::IfcPropertyReferenceValue::IfcPropertyReferenceValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UsageName, ::Ifc4x3_rc2::IfcObjectReferenceSelect* v4_PropertyReference) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, v4_PropertyReference ? v4_PropertyReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcPropertyReferenceValue::IfcPropertyReferenceValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UsageName, ::Ifc4x3_rc2::IfcObjectReferenceSelect* v4_PropertyReference) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, v4_PropertyReference ? v4_PropertyReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertySet -aggregate_of< ::Ifc4x3_rc2::IfcProperty >::ptr Ifc4x3_rc2::IfcPropertySet::HasProperties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc2::IfcProperty >(); } +aggregate_of< ::Ifc4x3_rc2::IfcProperty >::ptr Ifc4x3_rc2::IfcPropertySet::HasProperties() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc2::IfcProperty >(); } void Ifc4x3_rc2::IfcPropertySet::setHasProperties(aggregate_of< ::Ifc4x3_rc2::IfcProperty >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc2::IfcPropertySet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[846]); } const IfcParse::entity& Ifc4x3_rc2::IfcPropertySet::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[846]); } Ifc4x3_rc2::IfcPropertySet::IfcPropertySet(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc4x3_rc2::IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcProperty >::ptr v5_HasProperties) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_HasProperties)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcProperty >::ptr v5_HasProperties) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_HasProperties)->generalize());; populate_derived(); } // Function implementations for IfcPropertySetDefinition @@ -14151,14 +14151,14 @@ Ifc4x3_rc2::IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, ::Ifc4x3_rc2 const IfcParse::entity& Ifc4x3_rc2::IfcPropertySetDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[847]); } const IfcParse::entity& Ifc4x3_rc2::IfcPropertySetDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[847]); } Ifc4x3_rc2::IfcPropertySetDefinition::IfcPropertySetDefinition(IfcEntityInstanceData&& e) : IfcPropertyDefinition(std::move(e)) { } -Ifc4x3_rc2::IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc2::IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertySetTemplate -boost::optional< ::Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::Value > Ifc4x3_rc2::IfcPropertySetTemplate::TemplateType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::FromString(data_.get_attribute_value(4)); } +boost::optional< ::Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::Value > Ifc4x3_rc2::IfcPropertySetTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::FromString(get_attribute_value(4)); } void Ifc4x3_rc2::IfcPropertySetTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::Value > v) { if (v) {set_attribute_value(4, EnumerationReference(&::Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc2::IfcPropertySetTemplate::ApplicableEntity() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcPropertySetTemplate::ApplicableEntity() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcPropertySetTemplate::setApplicableEntity(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -aggregate_of< ::Ifc4x3_rc2::IfcPropertyTemplate >::ptr Ifc4x3_rc2::IfcPropertySetTemplate::HasPropertyTemplates() const { aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3_rc2::IfcPropertyTemplate >(); } +aggregate_of< ::Ifc4x3_rc2::IfcPropertyTemplate >::ptr Ifc4x3_rc2::IfcPropertySetTemplate::HasPropertyTemplates() const { aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3_rc2::IfcPropertyTemplate >(); } void Ifc4x3_rc2::IfcPropertySetTemplate::setHasPropertyTemplates(aggregate_of< ::Ifc4x3_rc2::IfcPropertyTemplate >::ptr v) { set_attribute_value(6, (v)->generalize());if constexpr (false)unset_attribute_value(6); } ::Ifc4x3_rc2::IfcRelDefinesByTemplate::list::ptr Ifc4x3_rc2::IfcPropertySetTemplate::Defines() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[952], 5)->as(); } @@ -14166,39 +14166,39 @@ void Ifc4x3_rc2::IfcPropertySetTemplate::setHasPropertyTemplates(aggregate_of< : const IfcParse::entity& Ifc4x3_rc2::IfcPropertySetTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[850]); } const IfcParse::entity& Ifc4x3_rc2::IfcPropertySetTemplate::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[850]); } Ifc4x3_rc2::IfcPropertySetTemplate::IfcPropertySetTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplateDefinition(std::move(e)) { } -Ifc4x3_rc2::IfcPropertySetTemplate::IfcPropertySetTemplate(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_ApplicableEntity, aggregate_of< ::Ifc4x3_rc2::IfcPropertyTemplate >::ptr v7_HasPropertyTemplates) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, (v7_HasPropertyTemplates)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcPropertySetTemplate::IfcPropertySetTemplate(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_ApplicableEntity, aggregate_of< ::Ifc4x3_rc2::IfcPropertyTemplate >::ptr v7_HasPropertyTemplates) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, (v7_HasPropertyTemplates)->generalize());; populate_derived(); } // Function implementations for IfcPropertySingleValue -::Ifc4x3_rc2::IfcValue* Ifc4x3_rc2::IfcPropertySingleValue::NominalValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcValue>(true); } +::Ifc4x3_rc2::IfcValue* Ifc4x3_rc2::IfcPropertySingleValue::NominalValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcValue>(true); } void Ifc4x3_rc2::IfcPropertySingleValue::setNominalValue(::Ifc4x3_rc2::IfcValue* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcPropertySingleValue::Unit() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcUnit>(true); } +::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcPropertySingleValue::Unit() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcUnit>(true); } void Ifc4x3_rc2::IfcPropertySingleValue::setUnit(::Ifc4x3_rc2::IfcUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcPropertySingleValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[852]); } const IfcParse::entity& Ifc4x3_rc2::IfcPropertySingleValue::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[852]); } Ifc4x3_rc2::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_rc2::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcValue* v3_NominalValue, ::Ifc4x3_rc2::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_NominalValue ? v3_NominalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcValue* v3_NominalValue, ::Ifc4x3_rc2::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_NominalValue ? v3_NominalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyTableValue -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > Ifc4x3_rc2::IfcPropertyTableValue::DefiningValues() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > Ifc4x3_rc2::IfcPropertyTableValue::DefiningValues() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcValue >(); } void Ifc4x3_rc2::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > Ifc4x3_rc2::IfcPropertyTableValue::DefinedValues() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc2::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > Ifc4x3_rc2::IfcPropertyTableValue::DefinedValues() const { if(get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc2::IfcValue >(); } void Ifc4x3_rc2::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v) { if (v) {set_attribute_value(3, (*v)->generalize());} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc2::IfcPropertyTableValue::Expression() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcPropertyTableValue::Expression() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcPropertyTableValue::DefiningUnit() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcUnit>(true); } +::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcPropertyTableValue::DefiningUnit() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcUnit>(true); } void Ifc4x3_rc2::IfcPropertyTableValue::setDefiningUnit(::Ifc4x3_rc2::IfcUnit* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcPropertyTableValue::DefinedUnit() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcUnit>(true); } +::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcPropertyTableValue::DefinedUnit() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcUnit>(true); } void Ifc4x3_rc2::IfcPropertyTableValue::setDefinedUnit(::Ifc4x3_rc2::IfcUnit* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< ::Ifc4x3_rc2::IfcCurveInterpolationEnum::Value > Ifc4x3_rc2::IfcPropertyTableValue::CurveInterpolation() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCurveInterpolationEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_rc2::IfcCurveInterpolationEnum::Value > Ifc4x3_rc2::IfcPropertyTableValue::CurveInterpolation() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcCurveInterpolationEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc2::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc4x3_rc2::IfcCurveInterpolationEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc2::IfcCurveInterpolationEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc2::IfcPropertyTableValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[853]); } const IfcParse::entity& Ifc4x3_rc2::IfcPropertyTableValue::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[853]); } Ifc4x3_rc2::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_rc2::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_rc2::IfcUnit* v6_DefiningUnit, ::Ifc4x3_rc2::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_rc2::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_DefiningValues) {set_attribute_value(2, (*v3_DefiningValues)->generalize()); } if (v4_DefinedValues) {set_attribute_value(3, (*v4_DefinedValues)->generalize()); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, v6_DefiningUnit ? v6_DefiningUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_DefinedUnit ? v7_DefinedUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_CurveInterpolation) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); }; populate_derived(); } +Ifc4x3_rc2::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_rc2::IfcUnit* v6_DefiningUnit, ::Ifc4x3_rc2::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_rc2::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_DefiningValues) {set_attribute_value(2, (*v3_DefiningValues)->generalize()); } if (v4_DefinedValues) {set_attribute_value(3, (*v4_DefinedValues)->generalize()); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, v6_DefiningUnit ? v6_DefiningUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_DefinedUnit ? v7_DefinedUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_CurveInterpolation) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); }; populate_derived(); } // Function implementations for IfcPropertyTemplate @@ -14208,7 +14208,7 @@ Ifc4x3_rc2::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, bo const IfcParse::entity& Ifc4x3_rc2::IfcPropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[854]); } const IfcParse::entity& Ifc4x3_rc2::IfcPropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[854]); } Ifc4x3_rc2::IfcPropertyTemplate::IfcPropertyTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplateDefinition(std::move(e)) { } -Ifc4x3_rc2::IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc2::IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertyTemplateDefinition @@ -14216,115 +14216,115 @@ Ifc4x3_rc2::IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x3_rc2::IfcPropertyTemplateDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[855]); } const IfcParse::entity& Ifc4x3_rc2::IfcPropertyTemplateDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[855]); } Ifc4x3_rc2::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(IfcEntityInstanceData&& e) : IfcPropertyDefinition(std::move(e)) { } -Ifc4x3_rc2::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc2::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcProtectiveDevice -boost::optional< ::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value > Ifc4x3_rc2::IfcProtectiveDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value > Ifc4x3_rc2::IfcProtectiveDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcProtectiveDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcProtectiveDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[856]); } const IfcParse::entity& Ifc4x3_rc2::IfcProtectiveDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[856]); } Ifc4x3_rc2::IfcProtectiveDevice::IfcProtectiveDevice(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_rc2::IfcProtectiveDevice::IfcProtectiveDevice(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcProtectiveDevice::IfcProtectiveDevice(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProtectiveDeviceTrippingUnit -boost::optional< ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnit::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[857]); } const IfcParse::entity& Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[857]); } Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProtectiveDeviceTrippingUnitType -::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitType::setPredefinedType(::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[858]); } const IfcParse::entity& Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[858]); } Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcProtectiveDeviceType -::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value Ifc4x3_rc2::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value Ifc4x3_rc2::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcProtectiveDeviceType::setPredefinedType(::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcProtectiveDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[860]); } const IfcParse::entity& Ifc4x3_rc2::IfcProtectiveDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[860]); } Ifc4x3_rc2::IfcProtectiveDeviceType::IfcProtectiveDeviceType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_rc2::IfcProtectiveDeviceType::IfcProtectiveDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcProtectiveDeviceType::IfcProtectiveDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcProxy -::Ifc4x3_rc2::IfcObjectTypeEnum::Value Ifc4x3_rc2::IfcProxy::ProxyType() const { return ::Ifc4x3_rc2::IfcObjectTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc2::IfcObjectTypeEnum::Value Ifc4x3_rc2::IfcProxy::ProxyType() const { return ::Ifc4x3_rc2::IfcObjectTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc2::IfcProxy::setProxyType(::Ifc4x3_rc2::IfcObjectTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc4x3_rc2::IfcProxy::Tag() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcProxy::Tag() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcProxy::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcProxy::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[862]); } const IfcParse::entity& Ifc4x3_rc2::IfcProxy::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[862]); } Ifc4x3_rc2::IfcProxy::IfcProxy(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_rc2::IfcProxy::IfcProxy(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcObjectTypeEnum::Value v8_ProxyType, boost::optional< std::string > v9_Tag) : IfcProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)v8_ProxyType))); if (v9_Tag) {set_attribute_value(8, (*v9_Tag)); }; populate_derived(); } +Ifc4x3_rc2::IfcProxy::IfcProxy(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcObjectTypeEnum::Value v8_ProxyType, boost::optional< std::string > v9_Tag) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)v8_ProxyType))); if (v9_Tag) {set_attribute_value(8, (*v9_Tag)); }; populate_derived(); } // Function implementations for IfcPump -boost::optional< ::Ifc4x3_rc2::IfcPumpTypeEnum::Value > Ifc4x3_rc2::IfcPump::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcPumpTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcPumpTypeEnum::Value > Ifc4x3_rc2::IfcPump::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcPumpTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcPump::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcPumpTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcPumpTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcPump::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[863]); } const IfcParse::entity& Ifc4x3_rc2::IfcPump::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[863]); } Ifc4x3_rc2::IfcPump::IfcPump(IfcEntityInstanceData&& e) : IfcFlowMovingDevice(std::move(e)) { } -Ifc4x3_rc2::IfcPump::IfcPump(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcPumpTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcPump::IfcPump(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcPumpTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPumpType -::Ifc4x3_rc2::IfcPumpTypeEnum::Value Ifc4x3_rc2::IfcPumpType::PredefinedType() const { return ::Ifc4x3_rc2::IfcPumpTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcPumpTypeEnum::Value Ifc4x3_rc2::IfcPumpType::PredefinedType() const { return ::Ifc4x3_rc2::IfcPumpTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcPumpType::setPredefinedType(::Ifc4x3_rc2::IfcPumpTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcPumpTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcPumpType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[864]); } const IfcParse::entity& Ifc4x3_rc2::IfcPumpType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[864]); } Ifc4x3_rc2::IfcPumpType::IfcPumpType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(e)) { } -Ifc4x3_rc2::IfcPumpType::IfcPumpType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcPumpTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcPumpType::IfcPumpType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcPumpTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcQuantityArea -double Ifc4x3_rc2::IfcQuantityArea::AreaValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc2::IfcQuantityArea::AreaValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcQuantityArea::setAreaValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc2::IfcQuantityArea::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcQuantityArea::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcQuantityArea::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc2::IfcQuantityArea::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[866]); } const IfcParse::entity& Ifc4x3_rc2::IfcQuantityArea::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[866]); } Ifc4x3_rc2::IfcQuantityArea::IfcQuantityArea(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_rc2::IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit* v3_Unit, double v4_AreaValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_rc2::IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit* v3_Unit, double v4_AreaValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityCount -double Ifc4x3_rc2::IfcQuantityCount::CountValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc2::IfcQuantityCount::CountValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcQuantityCount::setCountValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc2::IfcQuantityCount::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcQuantityCount::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcQuantityCount::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc2::IfcQuantityCount::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[867]); } const IfcParse::entity& Ifc4x3_rc2::IfcQuantityCount::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[867]); } Ifc4x3_rc2::IfcQuantityCount::IfcQuantityCount(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_rc2::IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit* v3_Unit, double v4_CountValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_rc2::IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit* v3_Unit, double v4_CountValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityLength -double Ifc4x3_rc2::IfcQuantityLength::LengthValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc2::IfcQuantityLength::LengthValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcQuantityLength::setLengthValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc2::IfcQuantityLength::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcQuantityLength::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcQuantityLength::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc2::IfcQuantityLength::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[868]); } const IfcParse::entity& Ifc4x3_rc2::IfcQuantityLength::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[868]); } Ifc4x3_rc2::IfcQuantityLength::IfcQuantityLength(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_rc2::IfcQuantityLength::IfcQuantityLength(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit* v3_Unit, double v4_LengthValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_rc2::IfcQuantityLength::IfcQuantityLength(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit* v3_Unit, double v4_LengthValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantitySet @@ -14332,83 +14332,83 @@ Ifc4x3_rc2::IfcQuantityLength::IfcQuantityLength(std::string v1_Name, boost::opt const IfcParse::entity& Ifc4x3_rc2::IfcQuantitySet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[869]); } const IfcParse::entity& Ifc4x3_rc2::IfcQuantitySet::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[869]); } Ifc4x3_rc2::IfcQuantitySet::IfcQuantitySet(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc4x3_rc2::IfcQuantitySet::IfcQuantitySet(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc2::IfcQuantitySet::IfcQuantitySet(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcQuantityTime -double Ifc4x3_rc2::IfcQuantityTime::TimeValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc2::IfcQuantityTime::TimeValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcQuantityTime::setTimeValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc2::IfcQuantityTime::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcQuantityTime::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcQuantityTime::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc2::IfcQuantityTime::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[870]); } const IfcParse::entity& Ifc4x3_rc2::IfcQuantityTime::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[870]); } Ifc4x3_rc2::IfcQuantityTime::IfcQuantityTime(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_rc2::IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit* v3_Unit, double v4_TimeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_rc2::IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit* v3_Unit, double v4_TimeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityVolume -double Ifc4x3_rc2::IfcQuantityVolume::VolumeValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc2::IfcQuantityVolume::VolumeValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcQuantityVolume::setVolumeValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc2::IfcQuantityVolume::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcQuantityVolume::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcQuantityVolume::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc2::IfcQuantityVolume::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[871]); } const IfcParse::entity& Ifc4x3_rc2::IfcQuantityVolume::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[871]); } Ifc4x3_rc2::IfcQuantityVolume::IfcQuantityVolume(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_rc2::IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit* v3_Unit, double v4_VolumeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_rc2::IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit* v3_Unit, double v4_VolumeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityWeight -double Ifc4x3_rc2::IfcQuantityWeight::WeightValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc2::IfcQuantityWeight::WeightValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcQuantityWeight::setWeightValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc2::IfcQuantityWeight::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcQuantityWeight::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcQuantityWeight::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc2::IfcQuantityWeight::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[872]); } const IfcParse::entity& Ifc4x3_rc2::IfcQuantityWeight::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[872]); } Ifc4x3_rc2::IfcQuantityWeight::IfcQuantityWeight(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_rc2::IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit* v3_Unit, double v4_WeightValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_rc2::IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcNamedUnit* v3_Unit, double v4_WeightValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcRail -boost::optional< ::Ifc4x3_rc2::IfcRailTypeEnum::Value > Ifc4x3_rc2::IfcRail::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcRailTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcRailTypeEnum::Value > Ifc4x3_rc2::IfcRail::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcRailTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcRail::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcRailTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcRailTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcRail::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[874]); } const IfcParse::entity& Ifc4x3_rc2::IfcRail::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[874]); } Ifc4x3_rc2::IfcRail::IfcRail(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc2::IfcRail::IfcRail(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcRailTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcRailTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcRail::IfcRail(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcRailTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcRailTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRailType -::Ifc4x3_rc2::IfcRailTypeEnum::Value Ifc4x3_rc2::IfcRailType::PredefinedType() const { return ::Ifc4x3_rc2::IfcRailTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcRailTypeEnum::Value Ifc4x3_rc2::IfcRailType::PredefinedType() const { return ::Ifc4x3_rc2::IfcRailTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcRailType::setPredefinedType(::Ifc4x3_rc2::IfcRailTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcRailTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcRailType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[878]); } const IfcParse::entity& Ifc4x3_rc2::IfcRailType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[878]); } Ifc4x3_rc2::IfcRailType::IfcRailType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc2::IfcRailType::IfcRailType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcRailTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcRailTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcRailType::IfcRailType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcRailTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcRailTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRailing -boost::optional< ::Ifc4x3_rc2::IfcRailingTypeEnum::Value > Ifc4x3_rc2::IfcRailing::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcRailingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcRailingTypeEnum::Value > Ifc4x3_rc2::IfcRailing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcRailingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcRailing::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcRailingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcRailingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcRailing::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[875]); } const IfcParse::entity& Ifc4x3_rc2::IfcRailing::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[875]); } Ifc4x3_rc2::IfcRailing::IfcRailing(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc2::IfcRailing::IfcRailing(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcRailingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcRailing::IfcRailing(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcRailingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRailingType -::Ifc4x3_rc2::IfcRailingTypeEnum::Value Ifc4x3_rc2::IfcRailingType::PredefinedType() const { return ::Ifc4x3_rc2::IfcRailingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcRailingTypeEnum::Value Ifc4x3_rc2::IfcRailingType::PredefinedType() const { return ::Ifc4x3_rc2::IfcRailingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcRailingType::setPredefinedType(::Ifc4x3_rc2::IfcRailingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcRailingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcRailingType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[876]); } const IfcParse::entity& Ifc4x3_rc2::IfcRailingType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[876]); } Ifc4x3_rc2::IfcRailingType::IfcRailingType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc2::IfcRailingType::IfcRailingType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcRailingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcRailingType::IfcRailingType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcRailingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRailway @@ -14416,287 +14416,287 @@ Ifc4x3_rc2::IfcRailingType::IfcRailingType(std::string v1_GlobalId, ::Ifc4x3_rc2 const IfcParse::entity& Ifc4x3_rc2::IfcRailway::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[880]); } const IfcParse::entity& Ifc4x3_rc2::IfcRailway::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[880]); } Ifc4x3_rc2::IfcRailway::IfcRailway(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x3_rc2::IfcRailway::IfcRailway(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcFacility(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } +Ifc4x3_rc2::IfcRailway::IfcRailway(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } // Function implementations for IfcRamp -boost::optional< ::Ifc4x3_rc2::IfcRampTypeEnum::Value > Ifc4x3_rc2::IfcRamp::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcRampTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcRampTypeEnum::Value > Ifc4x3_rc2::IfcRamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcRampTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcRamp::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcRampTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcRampTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcRamp::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[882]); } const IfcParse::entity& Ifc4x3_rc2::IfcRamp::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[882]); } Ifc4x3_rc2::IfcRamp::IfcRamp(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc2::IfcRamp::IfcRamp(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcRampTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcRamp::IfcRamp(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcRampTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRampFlight -boost::optional< ::Ifc4x3_rc2::IfcRampFlightTypeEnum::Value > Ifc4x3_rc2::IfcRampFlight::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcRampFlightTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcRampFlightTypeEnum::Value > Ifc4x3_rc2::IfcRampFlight::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcRampFlightTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcRampFlight::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcRampFlightTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcRampFlightTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcRampFlight::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[883]); } const IfcParse::entity& Ifc4x3_rc2::IfcRampFlight::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[883]); } Ifc4x3_rc2::IfcRampFlight::IfcRampFlight(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc2::IfcRampFlight::IfcRampFlight(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcRampFlightTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcRampFlight::IfcRampFlight(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcRampFlightTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRampFlightType -::Ifc4x3_rc2::IfcRampFlightTypeEnum::Value Ifc4x3_rc2::IfcRampFlightType::PredefinedType() const { return ::Ifc4x3_rc2::IfcRampFlightTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcRampFlightTypeEnum::Value Ifc4x3_rc2::IfcRampFlightType::PredefinedType() const { return ::Ifc4x3_rc2::IfcRampFlightTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcRampFlightType::setPredefinedType(::Ifc4x3_rc2::IfcRampFlightTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcRampFlightTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcRampFlightType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[884]); } const IfcParse::entity& Ifc4x3_rc2::IfcRampFlightType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[884]); } Ifc4x3_rc2::IfcRampFlightType::IfcRampFlightType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc2::IfcRampFlightType::IfcRampFlightType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcRampFlightTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcRampFlightType::IfcRampFlightType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcRampFlightTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRampType -::Ifc4x3_rc2::IfcRampTypeEnum::Value Ifc4x3_rc2::IfcRampType::PredefinedType() const { return ::Ifc4x3_rc2::IfcRampTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcRampTypeEnum::Value Ifc4x3_rc2::IfcRampType::PredefinedType() const { return ::Ifc4x3_rc2::IfcRampTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcRampType::setPredefinedType(::Ifc4x3_rc2::IfcRampTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcRampTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcRampType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[886]); } const IfcParse::entity& Ifc4x3_rc2::IfcRampType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[886]); } Ifc4x3_rc2::IfcRampType::IfcRampType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc2::IfcRampType::IfcRampType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcRampTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcRampType::IfcRampType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcRampTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRationalBSplineCurveWithKnots -std::vector< double > /*[2:?]*/ Ifc4x3_rc2::IfcRationalBSplineCurveWithKnots::WeightsData() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< double > /*[2:?]*/ Ifc4x3_rc2::IfcRationalBSplineCurveWithKnots::WeightsData() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcRationalBSplineCurveWithKnots::setWeightsData(std::vector< double > /*[2:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc2::IfcRationalBSplineCurveWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[889]); } const IfcParse::entity& Ifc4x3_rc2::IfcRationalBSplineCurveWithKnots::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[889]); } Ifc4x3_rc2::IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(IfcEntityInstanceData&& e) : IfcBSplineCurveWithKnots(std::move(e)) { } -Ifc4x3_rc2::IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x3_rc2::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_rc2::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_rc2::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) : IfcBSplineCurveWithKnots(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData));; populate_derived(); } +Ifc4x3_rc2::IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x3_rc2::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_rc2::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_rc2::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) : IfcBSplineCurveWithKnots(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc2::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData));; populate_derived(); } // Function implementations for IfcRationalBSplineSurfaceWithKnots -std::vector< std::vector< double > > Ifc4x3_rc2::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { std::vector< std::vector< double > > v = data_.get_attribute_value(12); return v; } +std::vector< std::vector< double > > Ifc4x3_rc2::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { std::vector< std::vector< double > > v = get_attribute_value(12); return v; } void Ifc4x3_rc2::IfcRationalBSplineSurfaceWithKnots::setWeightsData(std::vector< std::vector< double > > v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } const IfcParse::entity& Ifc4x3_rc2::IfcRationalBSplineSurfaceWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[890]); } const IfcParse::entity& Ifc4x3_rc2::IfcRationalBSplineSurfaceWithKnots::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[890]); } Ifc4x3_rc2::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(IfcEntityInstanceData&& e) : IfcBSplineSurfaceWithKnots(std::move(e)) { } -Ifc4x3_rc2::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_rc2::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_rc2::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_rc2::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) : IfcBSplineSurfaceWithKnots(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc2::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData));; populate_derived(); } +Ifc4x3_rc2::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_rc2::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_rc2::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_rc2::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) : IfcBSplineSurfaceWithKnots(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc2::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc2::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData));; populate_derived(); } // Function implementations for IfcRectangleHollowProfileDef -double Ifc4x3_rc2::IfcRectangleHollowProfileDef::WallThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc2::IfcRectangleHollowProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcRectangleHollowProfileDef::setWallThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_rc2::IfcRectangleHollowProfileDef::InnerFilletRadius() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc2::IfcRectangleHollowProfileDef::InnerFilletRadius() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcRectangleHollowProfileDef::setInnerFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_rc2::IfcRectangleHollowProfileDef::OuterFilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc2::IfcRectangleHollowProfileDef::OuterFilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcRectangleHollowProfileDef::setOuterFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc2::IfcRectangleHollowProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[892]); } const IfcParse::entity& Ifc4x3_rc2::IfcRectangleHollowProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[892]); } Ifc4x3_rc2::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(IfcEntityInstanceData&& e) : IfcRectangleProfileDef(std::move(e)) { } -Ifc4x3_rc2::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, boost::optional< double > v7_InnerFilletRadius, boost::optional< double > v8_OuterFilletRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; populate_derived(); } +Ifc4x3_rc2::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, boost::optional< double > v7_InnerFilletRadius, boost::optional< double > v8_OuterFilletRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; populate_derived(); } // Function implementations for IfcRectangleProfileDef -double Ifc4x3_rc2::IfcRectangleProfileDef::XDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc2::IfcRectangleProfileDef::XDim() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcRectangleProfileDef::setXDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc2::IfcRectangleProfileDef::YDim() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc2::IfcRectangleProfileDef::YDim() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcRectangleProfileDef::setYDim(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc2::IfcRectangleProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[893]); } const IfcParse::entity& Ifc4x3_rc2::IfcRectangleProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[893]); } Ifc4x3_rc2::IfcRectangleProfileDef::IfcRectangleProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_rc2::IfcRectangleProfileDef::IfcRectangleProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; populate_derived(); } +Ifc4x3_rc2::IfcRectangleProfileDef::IfcRectangleProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; populate_derived(); } // Function implementations for IfcRectangularPyramid -double Ifc4x3_rc2::IfcRectangularPyramid::XLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc2::IfcRectangularPyramid::XLength() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcRectangularPyramid::setXLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc2::IfcRectangularPyramid::YLength() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc2::IfcRectangularPyramid::YLength() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcRectangularPyramid::setYLength(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc2::IfcRectangularPyramid::Height() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc2::IfcRectangularPyramid::Height() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcRectangularPyramid::setHeight(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcRectangularPyramid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[894]); } const IfcParse::entity& Ifc4x3_rc2::IfcRectangularPyramid::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[894]); } Ifc4x3_rc2::IfcRectangularPyramid::IfcRectangularPyramid(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3_rc2::IfcRectangularPyramid::IfcRectangularPyramid(::Ifc4x3_rc2::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; populate_derived(); } +Ifc4x3_rc2::IfcRectangularPyramid::IfcRectangularPyramid(::Ifc4x3_rc2::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; populate_derived(); } // Function implementations for IfcRectangularTrimmedSurface -::Ifc4x3_rc2::IfcSurface* Ifc4x3_rc2::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcSurface>(true); } +::Ifc4x3_rc2::IfcSurface* Ifc4x3_rc2::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcSurface>(true); } void Ifc4x3_rc2::IfcRectangularTrimmedSurface::setBasisSurface(::Ifc4x3_rc2::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc2::IfcRectangularTrimmedSurface::U1() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc2::IfcRectangularTrimmedSurface::U1() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcRectangularTrimmedSurface::setU1(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc2::IfcRectangularTrimmedSurface::V1() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc2::IfcRectangularTrimmedSurface::V1() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcRectangularTrimmedSurface::setV1(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc2::IfcRectangularTrimmedSurface::U2() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc2::IfcRectangularTrimmedSurface::U2() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcRectangularTrimmedSurface::setU2(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc2::IfcRectangularTrimmedSurface::V2() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc2::IfcRectangularTrimmedSurface::V2() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcRectangularTrimmedSurface::setV2(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -bool Ifc4x3_rc2::IfcRectangularTrimmedSurface::Usense() const { bool v = data_.get_attribute_value(5); return v; } +bool Ifc4x3_rc2::IfcRectangularTrimmedSurface::Usense() const { bool v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcRectangularTrimmedSurface::setUsense(bool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -bool Ifc4x3_rc2::IfcRectangularTrimmedSurface::Vsense() const { bool v = data_.get_attribute_value(6); return v; } +bool Ifc4x3_rc2::IfcRectangularTrimmedSurface::Vsense() const { bool v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcRectangularTrimmedSurface::setVsense(bool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc2::IfcRectangularTrimmedSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[895]); } const IfcParse::entity& Ifc4x3_rc2::IfcRectangularTrimmedSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[895]); } Ifc4x3_rc2::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x3_rc2::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(::Ifc4x3_rc2::IfcSurface* v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; populate_derived(); } +Ifc4x3_rc2::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(::Ifc4x3_rc2::IfcSurface* v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; populate_derived(); } // Function implementations for IfcRecurrencePattern -::Ifc4x3_rc2::IfcRecurrenceTypeEnum::Value Ifc4x3_rc2::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x3_rc2::IfcRecurrenceTypeEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_rc2::IfcRecurrenceTypeEnum::Value Ifc4x3_rc2::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x3_rc2::IfcRecurrenceTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x3_rc2::IfcRecurrencePattern::setRecurrenceType(::Ifc4x3_rc2::IfcRecurrenceTypeEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_rc2::IfcRecurrenceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc2::IfcRecurrencePattern::DayComponent() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc2::IfcRecurrencePattern::DayComponent() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcRecurrencePattern::setDayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc2::IfcRecurrencePattern::WeekdayComponent() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc2::IfcRecurrencePattern::WeekdayComponent() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcRecurrencePattern::setWeekdayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc2::IfcRecurrencePattern::MonthComponent() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc2::IfcRecurrencePattern::MonthComponent() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcRecurrencePattern::setMonthComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< int > Ifc4x3_rc2::IfcRecurrencePattern::Position() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x3_rc2::IfcRecurrencePattern::Position() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcRecurrencePattern::setPosition(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< int > Ifc4x3_rc2::IfcRecurrencePattern::Interval() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } int v = data_.get_attribute_value(5); return v; } +boost::optional< int > Ifc4x3_rc2::IfcRecurrencePattern::Interval() const { if(get_attribute_value(5).isNull()) { return boost::none; } int v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcRecurrencePattern::setInterval(boost::optional< int > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< int > Ifc4x3_rc2::IfcRecurrencePattern::Occurrences() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } int v = data_.get_attribute_value(6); return v; } +boost::optional< int > Ifc4x3_rc2::IfcRecurrencePattern::Occurrences() const { if(get_attribute_value(6).isNull()) { return boost::none; } int v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcRecurrencePattern::setOccurrences(boost::optional< int > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcTimePeriod >::ptr > Ifc4x3_rc2::IfcRecurrencePattern::TimePeriods() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc2::IfcTimePeriod >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcTimePeriod >::ptr > Ifc4x3_rc2::IfcRecurrencePattern::TimePeriods() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc2::IfcTimePeriod >(); } void Ifc4x3_rc2::IfcRecurrencePattern::setTimePeriods(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcTimePeriod >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc2::IfcRecurrencePattern::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[896]); } const IfcParse::entity& Ifc4x3_rc2::IfcRecurrencePattern::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[896]); } Ifc4x3_rc2::IfcRecurrencePattern::IfcRecurrencePattern(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcRecurrencePattern::IfcRecurrencePattern(::Ifc4x3_rc2::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_rc2::IfcTimePeriod >::ptr > v8_TimePeriods) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, (*v8_TimePeriods)->generalize()); }; populate_derived(); } +Ifc4x3_rc2::IfcRecurrencePattern::IfcRecurrencePattern(::Ifc4x3_rc2::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_rc2::IfcTimePeriod >::ptr > v8_TimePeriods) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, (*v8_TimePeriods)->generalize()); }; populate_derived(); } // Function implementations for IfcReference -boost::optional< std::string > Ifc4x3_rc2::IfcReference::TypeIdentifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcReference::TypeIdentifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcReference::setTypeIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc2::IfcReference::AttributeIdentifier() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcReference::AttributeIdentifier() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcReference::setAttributeIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc2::IfcReference::InstanceName() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcReference::InstanceName() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcReference::setInstanceName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc2::IfcReference::ListPositions() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc2::IfcReference::ListPositions() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcReference::setListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc2::IfcReference* Ifc4x3_rc2::IfcReference::InnerReference() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcReference>(true); } +::Ifc4x3_rc2::IfcReference* Ifc4x3_rc2::IfcReference::InnerReference() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcReference>(true); } void Ifc4x3_rc2::IfcReference::setInnerReference(::Ifc4x3_rc2::IfcReference* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc2::IfcReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[898]); } const IfcParse::entity& Ifc4x3_rc2::IfcReference::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[898]); } Ifc4x3_rc2::IfcReference::IfcReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::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_rc2::IfcReference* v5_InnerReference) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, v5_InnerReference ? v5_InnerReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::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_rc2::IfcReference* v5_InnerReference) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, v5_InnerReference ? v5_InnerReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcReferent -boost::optional< ::Ifc4x3_rc2::IfcReferentTypeEnum::Value > Ifc4x3_rc2::IfcReferent::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcReferentTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_rc2::IfcReferentTypeEnum::Value > Ifc4x3_rc2::IfcReferent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcReferentTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc2::IfcReferent::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcReferentTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc2::IfcReferentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc2::IfcReferent::RestartDistance() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc2::IfcReferent::RestartDistance() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcReferent::setRestartDistance(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcReferent::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[899]); } const IfcParse::entity& Ifc4x3_rc2::IfcReferent::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[899]); } Ifc4x3_rc2::IfcReferent::IfcReferent(IfcEntityInstanceData&& e) : IfcPositioningElement(std::move(e)) { } -Ifc4x3_rc2::IfcReferent::IfcReferent(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_rc2::IfcReferentTypeEnum::Value > v8_PredefinedType, boost::optional< double > v9_RestartDistance) : IfcPositioningElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_RestartDistance) {set_attribute_value(8, (*v9_RestartDistance)); }; populate_derived(); } +Ifc4x3_rc2::IfcReferent::IfcReferent(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_rc2::IfcReferentTypeEnum::Value > v8_PredefinedType, boost::optional< double > v9_RestartDistance) : IfcPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_RestartDistance) {set_attribute_value(8, (*v9_RestartDistance)); }; populate_derived(); } // Function implementations for IfcRegularTimeSeries -double Ifc4x3_rc2::IfcRegularTimeSeries::TimeStep() const { double v = data_.get_attribute_value(8); return v; } +double Ifc4x3_rc2::IfcRegularTimeSeries::TimeStep() const { double v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcRegularTimeSeries::setTimeStep(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -aggregate_of< ::Ifc4x3_rc2::IfcTimeSeriesValue >::ptr Ifc4x3_rc2::IfcRegularTimeSeries::Values() const { aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3_rc2::IfcTimeSeriesValue >(); } +aggregate_of< ::Ifc4x3_rc2::IfcTimeSeriesValue >::ptr Ifc4x3_rc2::IfcRegularTimeSeries::Values() const { aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3_rc2::IfcTimeSeriesValue >(); } void Ifc4x3_rc2::IfcRegularTimeSeries::setValues(aggregate_of< ::Ifc4x3_rc2::IfcTimeSeriesValue >::ptr v) { set_attribute_value(9, (v)->generalize());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcRegularTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[902]); } const IfcParse::entity& Ifc4x3_rc2::IfcRegularTimeSeries::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[902]); } Ifc4x3_rc2::IfcRegularTimeSeries::IfcRegularTimeSeries(IfcEntityInstanceData&& e) : IfcTimeSeries(std::move(e)) { } -Ifc4x3_rc2::IfcRegularTimeSeries::IfcRegularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc2::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc2::IfcUnit* v8_Unit, double v9_TimeStep, aggregate_of< ::Ifc4x3_rc2::IfcTimeSeriesValue >::ptr v10_Values) : IfcTimeSeries(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, (v10_Values)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcRegularTimeSeries::IfcRegularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc2::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc2::IfcUnit* v8_Unit, double v9_TimeStep, aggregate_of< ::Ifc4x3_rc2::IfcTimeSeriesValue >::ptr v10_Values) : IfcTimeSeries(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, (v10_Values)->generalize());; populate_derived(); } // Function implementations for IfcReinforcedSoil -boost::optional< ::Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::Value > Ifc4x3_rc2::IfcReinforcedSoil::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::Value > Ifc4x3_rc2::IfcReinforcedSoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcReinforcedSoil::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcReinforcedSoil::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[903]); } const IfcParse::entity& Ifc4x3_rc2::IfcReinforcedSoil::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[903]); } Ifc4x3_rc2::IfcReinforcedSoil::IfcReinforcedSoil(IfcEntityInstanceData&& e) : IfcEarthworksElement(std::move(e)) { } -Ifc4x3_rc2::IfcReinforcedSoil::IfcReinforcedSoil(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType) : IfcEarthworksElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcReinforcedSoil::IfcReinforcedSoil(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType) : IfcEarthworksElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcReinforcedSoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcReinforcementBarProperties -double Ifc4x3_rc2::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_rc2::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcReinforcementBarProperties::setTotalCrossSectionArea(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x3_rc2::IfcReinforcementBarProperties::SteelGrade() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_rc2::IfcReinforcementBarProperties::SteelGrade() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcReinforcementBarProperties::setSteelGrade(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc2::IfcReinforcementBarProperties::BarSurface() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc2::IfcReinforcementBarProperties::BarSurface() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::FromString(get_attribute_value(2)); } void Ifc4x3_rc2::IfcReinforcementBarProperties::setBarSurface(boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc2::IfcReinforcementBarProperties::EffectiveDepth() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc2::IfcReinforcementBarProperties::EffectiveDepth() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcReinforcementBarProperties::setEffectiveDepth(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc2::IfcReinforcementBarProperties::NominalBarDiameter() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc2::IfcReinforcementBarProperties::NominalBarDiameter() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcReinforcementBarProperties::setNominalBarDiameter(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_rc2::IfcReinforcementBarProperties::BarCount() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc2::IfcReinforcementBarProperties::BarCount() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcReinforcementBarProperties::setBarCount(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_rc2::IfcReinforcementBarProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[905]); } const IfcParse::entity& Ifc4x3_rc2::IfcReinforcementBarProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[905]); } Ifc4x3_rc2::IfcReinforcementBarProperties::IfcReinforcementBarProperties(IfcEntityInstanceData&& e) : IfcPreDefinedProperties(std::move(e)) { } -Ifc4x3_rc2::IfcReinforcementBarProperties::IfcReinforcementBarProperties(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, boost::optional< double > v4_EffectiveDepth, boost::optional< double > v5_NominalBarDiameter, boost::optional< double > v6_BarCount) : IfcPreDefinedProperties(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; populate_derived(); } +Ifc4x3_rc2::IfcReinforcementBarProperties::IfcReinforcementBarProperties(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, boost::optional< double > v4_EffectiveDepth, boost::optional< double > v5_NominalBarDiameter, boost::optional< double > v6_BarCount) : IfcPreDefinedProperties(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; populate_derived(); } // Function implementations for IfcReinforcementDefinitionProperties -boost::optional< std::string > Ifc4x3_rc2::IfcReinforcementDefinitionProperties::DefinitionType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcReinforcementDefinitionProperties::DefinitionType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcReinforcementDefinitionProperties::setDefinitionType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -aggregate_of< ::Ifc4x3_rc2::IfcSectionReinforcementProperties >::ptr Ifc4x3_rc2::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc2::IfcSectionReinforcementProperties >(); } +aggregate_of< ::Ifc4x3_rc2::IfcSectionReinforcementProperties >::ptr Ifc4x3_rc2::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc2::IfcSectionReinforcementProperties >(); } void Ifc4x3_rc2::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(aggregate_of< ::Ifc4x3_rc2::IfcSectionReinforcementProperties >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcReinforcementDefinitionProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[906]); } const IfcParse::entity& Ifc4x3_rc2::IfcReinforcementDefinitionProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[906]); } Ifc4x3_rc2::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_rc2::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_DefinitionType, aggregate_of< ::Ifc4x3_rc2::IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, (v6_ReinforcementSectionDefinitions)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_DefinitionType, aggregate_of< ::Ifc4x3_rc2::IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, (v6_ReinforcementSectionDefinitions)->generalize());; populate_derived(); } // Function implementations for IfcReinforcingBar -boost::optional< double > Ifc4x3_rc2::IfcReinforcingBar::NominalDiameter() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc2::IfcReinforcingBar::NominalDiameter() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc2::IfcReinforcingBar::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc2::IfcReinforcingBar::CrossSectionArea() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc2::IfcReinforcingBar::CrossSectionArea() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcReinforcingBar::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc2::IfcReinforcingBar::BarLength() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc2::IfcReinforcingBar::BarLength() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc2::IfcReinforcingBar::setBarLength(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value > Ifc4x3_rc2::IfcReinforcingBar::PredefinedType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::FromString(data_.get_attribute_value(12)); } +boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value > Ifc4x3_rc2::IfcReinforcingBar::PredefinedType() const { if(get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x3_rc2::IfcReinforcingBar::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value > v) { if (v) {set_attribute_value(12, EnumerationReference(&::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } -boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc2::IfcReinforcingBar::BarSurface() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc2::IfcReinforcingBar::BarSurface() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::FromString(get_attribute_value(13)); } void Ifc4x3_rc2::IfcReinforcingBar::setBarSurface(boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } const IfcParse::entity& Ifc4x3_rc2::IfcReinforcingBar::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[907]); } const IfcParse::entity& Ifc4x3_rc2::IfcReinforcingBar::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[907]); } Ifc4x3_rc2::IfcReinforcingBar::IfcReinforcingBar(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x3_rc2::IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< double > v10_NominalDiameter, boost::optional< double > v11_CrossSectionArea, boost::optional< double > v12_BarLength, boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; populate_derived(); } +Ifc4x3_rc2::IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< double > v10_NominalDiameter, boost::optional< double > v11_CrossSectionArea, boost::optional< double > v12_BarLength, boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; populate_derived(); } // Function implementations for IfcReinforcingBarType -::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value Ifc4x3_rc2::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value Ifc4x3_rc2::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcReinforcingBarType::setPredefinedType(::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3_rc2::IfcReinforcingBarType::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc2::IfcReinforcingBarType::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcReinforcingBarType::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc2::IfcReinforcingBarType::CrossSectionArea() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc2::IfcReinforcingBarType::CrossSectionArea() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc2::IfcReinforcingBarType::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_rc2::IfcReinforcingBarType::BarLength() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_rc2::IfcReinforcingBarType::BarLength() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_rc2::IfcReinforcingBarType::setBarLength(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc2::IfcReinforcingBarType::BarSurface() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc2::IfcReinforcingBarType::BarSurface() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::FromString(get_attribute_value(13)); } void Ifc4x3_rc2::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x3_rc2::IfcReinforcingBarType::BendingShapeCode() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcReinforcingBarType::BendingShapeCode() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x3_rc2::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr > Ifc4x3_rc2::IfcReinforcingBarType::BendingParameters() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(15); return es->as< ::Ifc4x3_rc2::IfcBendingParameterSelect >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr > Ifc4x3_rc2::IfcReinforcingBarType::BendingParameters() const { if(get_attribute_value(15).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(15); return es->as< ::Ifc4x3_rc2::IfcBendingParameterSelect >(); } void Ifc4x3_rc2::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr > v) { if (v) {set_attribute_value(15, (*v)->generalize());} else {unset_attribute_value(15);} } const IfcParse::entity& Ifc4x3_rc2::IfcReinforcingBarType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[910]); } const IfcParse::entity& Ifc4x3_rc2::IfcReinforcingBarType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[910]); } Ifc4x3_rc2::IfcReinforcingBarType::IfcReinforcingBarType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x3_rc2::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, (*v16_BendingParameters)->generalize()); }; populate_derived(); } +Ifc4x3_rc2::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, (*v16_BendingParameters)->generalize()); }; populate_derived(); } // Function implementations for IfcReinforcingElement -boost::optional< std::string > Ifc4x3_rc2::IfcReinforcingElement::SteelGrade() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcReinforcingElement::SteelGrade() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcReinforcingElement::setSteelGrade(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcReinforcingElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[912]); } const IfcParse::entity& Ifc4x3_rc2::IfcReinforcingElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[912]); } Ifc4x3_rc2::IfcReinforcingElement::IfcReinforcingElement(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_rc2::IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; populate_derived(); } +Ifc4x3_rc2::IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; populate_derived(); } // Function implementations for IfcReinforcingElementType @@ -14704,243 +14704,243 @@ Ifc4x3_rc2::IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId const IfcParse::entity& Ifc4x3_rc2::IfcReinforcingElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[913]); } const IfcParse::entity& Ifc4x3_rc2::IfcReinforcingElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[913]); } Ifc4x3_rc2::IfcReinforcingElementType::IfcReinforcingElementType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_rc2::IfcReinforcingElementType::IfcReinforcingElementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc2::IfcReinforcingElementType::IfcReinforcingElementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcReinforcingMesh -boost::optional< double > Ifc4x3_rc2::IfcReinforcingMesh::MeshLength() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc2::IfcReinforcingMesh::MeshLength() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc2::IfcReinforcingMesh::setMeshLength(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc2::IfcReinforcingMesh::MeshWidth() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc2::IfcReinforcingMesh::MeshWidth() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcReinforcingMesh::setMeshWidth(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc2::IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc2::IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc2::IfcReinforcingMesh::setLongitudinalBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_rc2::IfcReinforcingMesh::TransverseBarNominalDiameter() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_rc2::IfcReinforcingMesh::TransverseBarNominalDiameter() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_rc2::IfcReinforcingMesh::setTransverseBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3_rc2::IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_rc2::IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_rc2::IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3_rc2::IfcReinforcingMesh::TransverseBarCrossSectionArea() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3_rc2::IfcReinforcingMesh::TransverseBarCrossSectionArea() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3_rc2::IfcReinforcingMesh::setTransverseBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x3_rc2::IfcReinforcingMesh::LongitudinalBarSpacing() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3_rc2::IfcReinforcingMesh::LongitudinalBarSpacing() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3_rc2::IfcReinforcingMesh::setLongitudinalBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3_rc2::IfcReinforcingMesh::TransverseBarSpacing() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3_rc2::IfcReinforcingMesh::TransverseBarSpacing() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3_rc2::IfcReinforcingMesh::setTransverseBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value > Ifc4x3_rc2::IfcReinforcingMesh::PredefinedType() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::FromString(data_.get_attribute_value(17)); } +boost::optional< ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value > Ifc4x3_rc2::IfcReinforcingMesh::PredefinedType() const { if(get_attribute_value(17).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::FromString(get_attribute_value(17)); } void Ifc4x3_rc2::IfcReinforcingMesh::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value > v) { if (v) {set_attribute_value(17, EnumerationReference(&::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(17);} } const IfcParse::entity& Ifc4x3_rc2::IfcReinforcingMesh::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[914]); } const IfcParse::entity& Ifc4x3_rc2::IfcReinforcingMesh::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[914]); } Ifc4x3_rc2::IfcReinforcingMesh::IfcReinforcingMesh(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x3_rc2::IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< 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_rc2::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(18))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (EnumerationReference(&::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< 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_rc2::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(18))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (EnumerationReference(&::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); }; populate_derived(); } // Function implementations for IfcReinforcingMeshType -::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value Ifc4x3_rc2::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value Ifc4x3_rc2::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcReinforcingMeshType::setPredefinedType(::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3_rc2::IfcReinforcingMeshType::MeshLength() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc2::IfcReinforcingMeshType::MeshLength() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcReinforcingMeshType::setMeshLength(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc2::IfcReinforcingMeshType::MeshWidth() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc2::IfcReinforcingMeshType::MeshWidth() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc2::IfcReinforcingMeshType::setMeshWidth(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_rc2::IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_rc2::IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_rc2::IfcReinforcingMeshType::setLongitudinalBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3_rc2::IfcReinforcingMeshType::TransverseBarNominalDiameter() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_rc2::IfcReinforcingMeshType::TransverseBarNominalDiameter() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_rc2::IfcReinforcingMeshType::setTransverseBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3_rc2::IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3_rc2::IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3_rc2::IfcReinforcingMeshType::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x3_rc2::IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3_rc2::IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3_rc2::IfcReinforcingMeshType::setTransverseBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3_rc2::IfcReinforcingMeshType::LongitudinalBarSpacing() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3_rc2::IfcReinforcingMeshType::LongitudinalBarSpacing() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3_rc2::IfcReinforcingMeshType::setLongitudinalBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< double > Ifc4x3_rc2::IfcReinforcingMeshType::TransverseBarSpacing() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } double v = data_.get_attribute_value(17); return v; } +boost::optional< double > Ifc4x3_rc2::IfcReinforcingMeshType::TransverseBarSpacing() const { if(get_attribute_value(17).isNull()) { return boost::none; } double v = get_attribute_value(17); return v; } void Ifc4x3_rc2::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } -boost::optional< std::string > Ifc4x3_rc2::IfcReinforcingMeshType::BendingShapeCode() const { if(data_.get_attribute_value(18).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(18); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcReinforcingMeshType::BendingShapeCode() const { if(get_attribute_value(18).isNull()) { return boost::none; } std::string v = get_attribute_value(18); return v; } void Ifc4x3_rc2::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { if (v) {set_attribute_value(18, *v);} else {unset_attribute_value(18);} } -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr > Ifc4x3_rc2::IfcReinforcingMeshType::BendingParameters() const { if(data_.get_attribute_value(19).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(19); return es->as< ::Ifc4x3_rc2::IfcBendingParameterSelect >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr > Ifc4x3_rc2::IfcReinforcingMeshType::BendingParameters() const { if(get_attribute_value(19).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(19); return es->as< ::Ifc4x3_rc2::IfcBendingParameterSelect >(); } void Ifc4x3_rc2::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr > v) { if (v) {set_attribute_value(19, (*v)->generalize());} else {unset_attribute_value(19);} } const IfcParse::entity& Ifc4x3_rc2::IfcReinforcingMeshType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[915]); } const IfcParse::entity& Ifc4x3_rc2::IfcReinforcingMeshType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[915]); } Ifc4x3_rc2::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x3_rc2::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(20))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, (*v20_BendingParameters)->generalize()); }; populate_derived(); } +Ifc4x3_rc2::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(20))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, (*v20_BendingParameters)->generalize()); }; populate_derived(); } // Function implementations for IfcRelAggregates -::Ifc4x3_rc2::IfcObjectDefinition* Ifc4x3_rc2::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcObjectDefinition>(true); } +::Ifc4x3_rc2::IfcObjectDefinition* Ifc4x3_rc2::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcObjectDefinition>(true); } void Ifc4x3_rc2::IfcRelAggregates::setRelatingObject(::Ifc4x3_rc2::IfcObjectDefinition* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr Ifc4x3_rc2::IfcRelAggregates::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc2::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr Ifc4x3_rc2::IfcRelAggregates::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc2::IfcObjectDefinition >(); } void Ifc4x3_rc2::IfcRelAggregates::setRelatedObjects(aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcRelAggregates::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[917]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelAggregates::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[917]); } Ifc4x3_rc2::IfcRelAggregates::IfcRelAggregates(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x3_rc2::IfcRelAggregates::IfcRelAggregates(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcRelAggregates::IfcRelAggregates(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelAssigns -aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr Ifc4x3_rc2::IfcRelAssigns::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc2::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr Ifc4x3_rc2::IfcRelAssigns::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc2::IfcObjectDefinition >(); } void Ifc4x3_rc2::IfcRelAssigns::setRelatedObjects(aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -boost::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > Ifc4x3_rc2::IfcRelAssigns::RelatedObjectsType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcObjectTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > Ifc4x3_rc2::IfcRelAssigns::RelatedObjectsType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcObjectTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc2::IfcRelAssigns::setRelatedObjectsType(boost::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssigns::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[918]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssigns::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[918]); } Ifc4x3_rc2::IfcRelAssigns::IfcRelAssigns(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_rc2::IfcRelAssigns::IfcRelAssigns(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) : IfcRelationship(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }; populate_derived(); } +Ifc4x3_rc2::IfcRelAssigns::IfcRelAssigns(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }; populate_derived(); } // Function implementations for IfcRelAssignsToActor -::Ifc4x3_rc2::IfcActor* Ifc4x3_rc2::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcActor>(true); } +::Ifc4x3_rc2::IfcActor* Ifc4x3_rc2::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcActor>(true); } void Ifc4x3_rc2::IfcRelAssignsToActor::setRelatingActor(::Ifc4x3_rc2::IfcActor* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc2::IfcActorRole* Ifc4x3_rc2::IfcRelAssignsToActor::ActingRole() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc2::IfcActorRole>(true); } +::Ifc4x3_rc2::IfcActorRole* Ifc4x3_rc2::IfcRelAssignsToActor::ActingRole() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc2::IfcActorRole>(true); } void Ifc4x3_rc2::IfcRelAssignsToActor::setActingRole(::Ifc4x3_rc2::IfcActorRole* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssignsToActor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[919]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssignsToActor::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[919]); } Ifc4x3_rc2::IfcRelAssignsToActor::IfcRelAssignsToActor(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_rc2::IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcActor* v7_RelatingActor, ::Ifc4x3_rc2::IfcActorRole* v8_ActingRole) : IfcRelAssigns(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingActor ? v7_RelatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_ActingRole ? v8_ActingRole->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcActor* v7_RelatingActor, ::Ifc4x3_rc2::IfcActorRole* v8_ActingRole) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingActor ? v7_RelatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_ActingRole ? v8_ActingRole->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToControl -::Ifc4x3_rc2::IfcControl* Ifc4x3_rc2::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcControl>(true); } +::Ifc4x3_rc2::IfcControl* Ifc4x3_rc2::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcControl>(true); } void Ifc4x3_rc2::IfcRelAssignsToControl::setRelatingControl(::Ifc4x3_rc2::IfcControl* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssignsToControl::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[920]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssignsToControl::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[920]); } Ifc4x3_rc2::IfcRelAssignsToControl::IfcRelAssignsToControl(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_rc2::IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcControl* v7_RelatingControl) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingControl ? v7_RelatingControl->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcControl* v7_RelatingControl) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingControl ? v7_RelatingControl->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToGroup -::Ifc4x3_rc2::IfcGroup* Ifc4x3_rc2::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcGroup>(true); } +::Ifc4x3_rc2::IfcGroup* Ifc4x3_rc2::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcGroup>(true); } void Ifc4x3_rc2::IfcRelAssignsToGroup::setRelatingGroup(::Ifc4x3_rc2::IfcGroup* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssignsToGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[921]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssignsToGroup::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[921]); } Ifc4x3_rc2::IfcRelAssignsToGroup::IfcRelAssignsToGroup(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_rc2::IfcRelAssignsToGroup::IfcRelAssignsToGroup(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcGroup* v7_RelatingGroup) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcRelAssignsToGroup::IfcRelAssignsToGroup(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcGroup* v7_RelatingGroup) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToGroupByFactor -double Ifc4x3_rc2::IfcRelAssignsToGroupByFactor::Factor() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x3_rc2::IfcRelAssignsToGroupByFactor::Factor() const { double v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcRelAssignsToGroupByFactor::setFactor(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssignsToGroupByFactor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[922]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssignsToGroupByFactor::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[922]); } Ifc4x3_rc2::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(IfcEntityInstanceData&& e) : IfcRelAssignsToGroup(std::move(e)) { } -Ifc4x3_rc2::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcGroup* v7_RelatingGroup, double v8_Factor) : IfcRelAssignsToGroup(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_Factor));; populate_derived(); } +Ifc4x3_rc2::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcGroup* v7_RelatingGroup, double v8_Factor) : IfcRelAssignsToGroup(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_Factor));; populate_derived(); } // Function implementations for IfcRelAssignsToProcess -::Ifc4x3_rc2::IfcProcessSelect* Ifc4x3_rc2::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcProcessSelect>(true); } +::Ifc4x3_rc2::IfcProcessSelect* Ifc4x3_rc2::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcProcessSelect>(true); } void Ifc4x3_rc2::IfcRelAssignsToProcess::setRelatingProcess(::Ifc4x3_rc2::IfcProcessSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc2::IfcMeasureWithUnit* Ifc4x3_rc2::IfcRelAssignsToProcess::QuantityInProcess() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc2::IfcMeasureWithUnit>(true); } +::Ifc4x3_rc2::IfcMeasureWithUnit* Ifc4x3_rc2::IfcRelAssignsToProcess::QuantityInProcess() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc2::IfcMeasureWithUnit>(true); } void Ifc4x3_rc2::IfcRelAssignsToProcess::setQuantityInProcess(::Ifc4x3_rc2::IfcMeasureWithUnit* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssignsToProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[923]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssignsToProcess::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[923]); } Ifc4x3_rc2::IfcRelAssignsToProcess::IfcRelAssignsToProcess(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_rc2::IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcProcessSelect* v7_RelatingProcess, ::Ifc4x3_rc2::IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProcess ? v7_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_QuantityInProcess ? v8_QuantityInProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcProcessSelect* v7_RelatingProcess, ::Ifc4x3_rc2::IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProcess ? v7_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_QuantityInProcess ? v8_QuantityInProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToProduct -::Ifc4x3_rc2::IfcProductSelect* Ifc4x3_rc2::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcProductSelect>(true); } +::Ifc4x3_rc2::IfcProductSelect* Ifc4x3_rc2::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcProductSelect>(true); } void Ifc4x3_rc2::IfcRelAssignsToProduct::setRelatingProduct(::Ifc4x3_rc2::IfcProductSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssignsToProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[924]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssignsToProduct::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[924]); } Ifc4x3_rc2::IfcRelAssignsToProduct::IfcRelAssignsToProduct(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_rc2::IfcRelAssignsToProduct::IfcRelAssignsToProduct(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcProductSelect* v7_RelatingProduct) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProduct ? v7_RelatingProduct->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcRelAssignsToProduct::IfcRelAssignsToProduct(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcProductSelect* v7_RelatingProduct) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProduct ? v7_RelatingProduct->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToResource -::Ifc4x3_rc2::IfcResourceSelect* Ifc4x3_rc2::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcResourceSelect>(true); } +::Ifc4x3_rc2::IfcResourceSelect* Ifc4x3_rc2::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcResourceSelect>(true); } void Ifc4x3_rc2::IfcRelAssignsToResource::setRelatingResource(::Ifc4x3_rc2::IfcResourceSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssignsToResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[925]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssignsToResource::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[925]); } Ifc4x3_rc2::IfcRelAssignsToResource::IfcRelAssignsToResource(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_rc2::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingResource ? v7_RelatingResource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc2::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc2::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingResource ? v7_RelatingResource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociates -aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr Ifc4x3_rc2::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc2::IfcDefinitionSelect >(); } +aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr Ifc4x3_rc2::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc2::IfcDefinitionSelect >(); } void Ifc4x3_rc2::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociates::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[926]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociates::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[926]); } Ifc4x3_rc2::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_rc2::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelAssociatesApproval -::Ifc4x3_rc2::IfcApproval* Ifc4x3_rc2::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcApproval>(true); } +::Ifc4x3_rc2::IfcApproval* Ifc4x3_rc2::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcApproval>(true); } void Ifc4x3_rc2::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4x3_rc2::IfcApproval* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesApproval::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[927]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesApproval::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[927]); } Ifc4x3_rc2::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_rc2::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcApproval* v6_RelatingApproval) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingApproval ? v6_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcApproval* v6_RelatingApproval) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingApproval ? v6_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesClassification -::Ifc4x3_rc2::IfcClassificationSelect* Ifc4x3_rc2::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcClassificationSelect>(true); } +::Ifc4x3_rc2::IfcClassificationSelect* Ifc4x3_rc2::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcClassificationSelect>(true); } void Ifc4x3_rc2::IfcRelAssociatesClassification::setRelatingClassification(::Ifc4x3_rc2::IfcClassificationSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesClassification::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[928]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesClassification::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[928]); } Ifc4x3_rc2::IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_rc2::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingClassification ? v6_RelatingClassification->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingClassification ? v6_RelatingClassification->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesConstraint -boost::optional< std::string > Ifc4x3_rc2::IfcRelAssociatesConstraint::Intent() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcRelAssociatesConstraint::Intent() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcRelAssociatesConstraint::setIntent(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc2::IfcConstraint* Ifc4x3_rc2::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcConstraint>(true); } +::Ifc4x3_rc2::IfcConstraint* Ifc4x3_rc2::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcConstraint>(true); } void Ifc4x3_rc2::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x3_rc2::IfcConstraint* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesConstraint::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[929]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesConstraint::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[929]); } Ifc4x3_rc2::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_rc2::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc2::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, v7_RelatingConstraint ? v7_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc2::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, v7_RelatingConstraint ? v7_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesDocument -::Ifc4x3_rc2::IfcDocumentSelect* Ifc4x3_rc2::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcDocumentSelect>(true); } +::Ifc4x3_rc2::IfcDocumentSelect* Ifc4x3_rc2::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcDocumentSelect>(true); } void Ifc4x3_rc2::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4x3_rc2::IfcDocumentSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesDocument::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[930]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesDocument::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[930]); } Ifc4x3_rc2::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_rc2::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingDocument ? v6_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingDocument ? v6_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesLibrary -::Ifc4x3_rc2::IfcLibrarySelect* Ifc4x3_rc2::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcLibrarySelect>(true); } +::Ifc4x3_rc2::IfcLibrarySelect* Ifc4x3_rc2::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcLibrarySelect>(true); } void Ifc4x3_rc2::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4x3_rc2::IfcLibrarySelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesLibrary::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[931]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesLibrary::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[931]); } Ifc4x3_rc2::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_rc2::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingLibrary ? v6_RelatingLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingLibrary ? v6_RelatingLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesMaterial -::Ifc4x3_rc2::IfcMaterialSelect* Ifc4x3_rc2::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcMaterialSelect>(true); } +::Ifc4x3_rc2::IfcMaterialSelect* Ifc4x3_rc2::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcMaterialSelect>(true); } void Ifc4x3_rc2::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4x3_rc2::IfcMaterialSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesMaterial::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[932]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesMaterial::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[932]); } Ifc4x3_rc2::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_rc2::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingMaterial ? v6_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingMaterial ? v6_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesProfileDef -::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcProfileDef>(true); } +::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcProfileDef>(true); } void Ifc4x3_rc2::IfcRelAssociatesProfileDef::setRelatingProfileDef(::Ifc4x3_rc2::IfcProfileDef* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[933]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelAssociatesProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[933]); } Ifc4x3_rc2::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_rc2::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingProfileDef ? v6_RelatingProfileDef->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingProfileDef ? v6_RelatingProfileDef->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnects @@ -14948,165 +14948,165 @@ Ifc4x3_rc2::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v const IfcParse::entity& Ifc4x3_rc2::IfcRelConnects::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[935]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelConnects::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[935]); } Ifc4x3_rc2::IfcRelConnects::IfcRelConnects(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_rc2::IfcRelConnects::IfcRelConnects(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc2::IfcRelConnects::IfcRelConnects(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRelConnectsElements -::Ifc4x3_rc2::IfcConnectionGeometry* Ifc4x3_rc2::IfcRelConnectsElements::ConnectionGeometry() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcConnectionGeometry>(true); } +::Ifc4x3_rc2::IfcConnectionGeometry* Ifc4x3_rc2::IfcRelConnectsElements::ConnectionGeometry() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcConnectionGeometry>(true); } void Ifc4x3_rc2::IfcRelConnectsElements::setConnectionGeometry(::Ifc4x3_rc2::IfcConnectionGeometry* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcElement* Ifc4x3_rc2::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcElement>(true); } +::Ifc4x3_rc2::IfcElement* Ifc4x3_rc2::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcElement>(true); } void Ifc4x3_rc2::IfcRelConnectsElements::setRelatingElement(::Ifc4x3_rc2::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc2::IfcElement* Ifc4x3_rc2::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcElement>(true); } +::Ifc4x3_rc2::IfcElement* Ifc4x3_rc2::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcElement>(true); } void Ifc4x3_rc2::IfcRelConnectsElements::setRelatedElement(::Ifc4x3_rc2::IfcElement* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc2::IfcRelConnectsElements::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[936]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelConnectsElements::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[936]); } Ifc4x3_rc2::IfcRelConnectsElements::IfcRelConnectsElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc2::IfcRelConnectsElements::IfcRelConnectsElements(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_rc2::IfcElement* v6_RelatingElement, ::Ifc4x3_rc2::IfcElement* v7_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcRelConnectsElements::IfcRelConnectsElements(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_rc2::IfcElement* v6_RelatingElement, ::Ifc4x3_rc2::IfcElement* v7_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsPathElements -std::vector< int > /*[0:?]*/ Ifc4x3_rc2::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = data_.get_attribute_value(7); return v; } +std::vector< int > /*[0:?]*/ Ifc4x3_rc2::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcRelConnectsPathElements::setRelatingPriorities(std::vector< int > /*[0:?]*/ v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector< int > /*[0:?]*/ Ifc4x3_rc2::IfcRelConnectsPathElements::RelatedPriorities() const { std::vector< int > /*[0:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< int > /*[0:?]*/ Ifc4x3_rc2::IfcRelConnectsPathElements::RelatedPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcRelConnectsPathElements::setRelatedPriorities(std::vector< int > /*[0:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc2::IfcConnectionTypeEnum::Value Ifc4x3_rc2::IfcRelConnectsPathElements::RelatedConnectionType() const { return ::Ifc4x3_rc2::IfcConnectionTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcConnectionTypeEnum::Value Ifc4x3_rc2::IfcRelConnectsPathElements::RelatedConnectionType() const { return ::Ifc4x3_rc2::IfcConnectionTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcRelConnectsPathElements::setRelatedConnectionType(::Ifc4x3_rc2::IfcConnectionTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc2::IfcConnectionTypeEnum::Value Ifc4x3_rc2::IfcRelConnectsPathElements::RelatingConnectionType() const { return ::Ifc4x3_rc2::IfcConnectionTypeEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3_rc2::IfcConnectionTypeEnum::Value Ifc4x3_rc2::IfcRelConnectsPathElements::RelatingConnectionType() const { return ::Ifc4x3_rc2::IfcConnectionTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc2::IfcRelConnectsPathElements::setRelatingConnectionType(::Ifc4x3_rc2::IfcConnectionTypeEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc2::IfcConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_rc2::IfcRelConnectsPathElements::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[937]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelConnectsPathElements::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[937]); } Ifc4x3_rc2::IfcRelConnectsPathElements::IfcRelConnectsPathElements(IfcEntityInstanceData&& e) : IfcRelConnectsElements(std::move(e)) { } -Ifc4x3_rc2::IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_rc2::IfcElement* v6_RelatingElement, ::Ifc4x3_rc2::IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_rc2::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_rc2::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; populate_derived(); } +Ifc4x3_rc2::IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_rc2::IfcElement* v6_RelatingElement, ::Ifc4x3_rc2::IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_rc2::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_rc2::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; populate_derived(); } // Function implementations for IfcRelConnectsPortToElement -::Ifc4x3_rc2::IfcPort* Ifc4x3_rc2::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcPort>(true); } +::Ifc4x3_rc2::IfcPort* Ifc4x3_rc2::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcPort>(true); } void Ifc4x3_rc2::IfcRelConnectsPortToElement::setRelatingPort(::Ifc4x3_rc2::IfcPort* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcDistributionElement* Ifc4x3_rc2::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcDistributionElement>(true); } +::Ifc4x3_rc2::IfcDistributionElement* Ifc4x3_rc2::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcDistributionElement>(true); } void Ifc4x3_rc2::IfcRelConnectsPortToElement::setRelatedElement(::Ifc4x3_rc2::IfcDistributionElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcRelConnectsPortToElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[939]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelConnectsPortToElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[939]); } Ifc4x3_rc2::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc2::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcPort* v5_RelatingPort, ::Ifc4x3_rc2::IfcDistributionElement* v6_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcPort* v5_RelatingPort, ::Ifc4x3_rc2::IfcDistributionElement* v6_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsPorts -::Ifc4x3_rc2::IfcPort* Ifc4x3_rc2::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcPort>(true); } +::Ifc4x3_rc2::IfcPort* Ifc4x3_rc2::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcPort>(true); } void Ifc4x3_rc2::IfcRelConnectsPorts::setRelatingPort(::Ifc4x3_rc2::IfcPort* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcPort* Ifc4x3_rc2::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcPort>(true); } +::Ifc4x3_rc2::IfcPort* Ifc4x3_rc2::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcPort>(true); } void Ifc4x3_rc2::IfcRelConnectsPorts::setRelatedPort(::Ifc4x3_rc2::IfcPort* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc2::IfcElement* Ifc4x3_rc2::IfcRelConnectsPorts::RealizingElement() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcElement>(true); } +::Ifc4x3_rc2::IfcElement* Ifc4x3_rc2::IfcRelConnectsPorts::RealizingElement() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcElement>(true); } void Ifc4x3_rc2::IfcRelConnectsPorts::setRealizingElement(::Ifc4x3_rc2::IfcElement* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc2::IfcRelConnectsPorts::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[938]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelConnectsPorts::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[938]); } Ifc4x3_rc2::IfcRelConnectsPorts::IfcRelConnectsPorts(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc2::IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcPort* v5_RelatingPort, ::Ifc4x3_rc2::IfcPort* v6_RelatedPort, ::Ifc4x3_rc2::IfcElement* v7_RealizingElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedPort ? v6_RelatedPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RealizingElement ? v7_RealizingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcPort* v5_RelatingPort, ::Ifc4x3_rc2::IfcPort* v6_RelatedPort, ::Ifc4x3_rc2::IfcElement* v7_RealizingElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedPort ? v6_RelatedPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RealizingElement ? v7_RealizingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsStructuralActivity -::Ifc4x3_rc2::IfcStructuralActivityAssignmentSelect* Ifc4x3_rc2::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcStructuralActivityAssignmentSelect>(true); } +::Ifc4x3_rc2::IfcStructuralActivityAssignmentSelect* Ifc4x3_rc2::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcStructuralActivityAssignmentSelect>(true); } void Ifc4x3_rc2::IfcRelConnectsStructuralActivity::setRelatingElement(::Ifc4x3_rc2::IfcStructuralActivityAssignmentSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcStructuralActivity* Ifc4x3_rc2::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcStructuralActivity>(true); } +::Ifc4x3_rc2::IfcStructuralActivity* Ifc4x3_rc2::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcStructuralActivity>(true); } void Ifc4x3_rc2::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(::Ifc4x3_rc2::IfcStructuralActivity* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcRelConnectsStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[940]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelConnectsStructuralActivity::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[940]); } Ifc4x3_rc2::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc2::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcStructuralActivityAssignmentSelect* v5_RelatingElement, ::Ifc4x3_rc2::IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralActivity ? v6_RelatedStructuralActivity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcStructuralActivityAssignmentSelect* v5_RelatingElement, ::Ifc4x3_rc2::IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralActivity ? v6_RelatedStructuralActivity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsStructuralMember -::Ifc4x3_rc2::IfcStructuralMember* Ifc4x3_rc2::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcStructuralMember>(true); } +::Ifc4x3_rc2::IfcStructuralMember* Ifc4x3_rc2::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcStructuralMember>(true); } void Ifc4x3_rc2::IfcRelConnectsStructuralMember::setRelatingStructuralMember(::Ifc4x3_rc2::IfcStructuralMember* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcStructuralConnection* Ifc4x3_rc2::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcStructuralConnection>(true); } +::Ifc4x3_rc2::IfcStructuralConnection* Ifc4x3_rc2::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcStructuralConnection>(true); } void Ifc4x3_rc2::IfcRelConnectsStructuralMember::setRelatedStructuralConnection(::Ifc4x3_rc2::IfcStructuralConnection* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc2::IfcBoundaryCondition* Ifc4x3_rc2::IfcRelConnectsStructuralMember::AppliedCondition() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcBoundaryCondition>(true); } +::Ifc4x3_rc2::IfcBoundaryCondition* Ifc4x3_rc2::IfcRelConnectsStructuralMember::AppliedCondition() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcBoundaryCondition>(true); } void Ifc4x3_rc2::IfcRelConnectsStructuralMember::setAppliedCondition(::Ifc4x3_rc2::IfcBoundaryCondition* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc2::IfcStructuralConnectionCondition* Ifc4x3_rc2::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc2::IfcStructuralConnectionCondition>(true); } +::Ifc4x3_rc2::IfcStructuralConnectionCondition* Ifc4x3_rc2::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc2::IfcStructuralConnectionCondition>(true); } void Ifc4x3_rc2::IfcRelConnectsStructuralMember::setAdditionalConditions(::Ifc4x3_rc2::IfcStructuralConnectionCondition* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc4x3_rc2::IfcRelConnectsStructuralMember::SupportedLength() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc2::IfcRelConnectsStructuralMember::SupportedLength() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(true); } void Ifc4x3_rc2::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(::Ifc4x3_rc2::IfcAxis2Placement3D* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcRelConnectsStructuralMember::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[941]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelConnectsStructuralMember::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[941]); } Ifc4x3_rc2::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc2::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x3_rc2::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x3_rc2::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x3_rc2::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x3_rc2::IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x3_rc2::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x3_rc2::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x3_rc2::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x3_rc2::IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsWithEccentricity -::Ifc4x3_rc2::IfcConnectionGeometry* Ifc4x3_rc2::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_rc2::IfcConnectionGeometry>(true); } +::Ifc4x3_rc2::IfcConnectionGeometry* Ifc4x3_rc2::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_rc2::IfcConnectionGeometry>(true); } void Ifc4x3_rc2::IfcRelConnectsWithEccentricity::setConnectionConstraint(::Ifc4x3_rc2::IfcConnectionGeometry* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_rc2::IfcRelConnectsWithEccentricity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[942]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelConnectsWithEccentricity::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[942]); } Ifc4x3_rc2::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(IfcEntityInstanceData&& e) : IfcRelConnectsStructuralMember(std::move(e)) { } -Ifc4x3_rc2::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x3_rc2::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x3_rc2::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x3_rc2::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x3_rc2::IfcAxis2Placement3D* v10_ConditionCoordinateSystem, ::Ifc4x3_rc2::IfcConnectionGeometry* v11_ConnectionConstraint) : IfcRelConnectsStructuralMember(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ConnectionConstraint ? v11_ConnectionConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x3_rc2::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x3_rc2::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x3_rc2::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x3_rc2::IfcAxis2Placement3D* v10_ConditionCoordinateSystem, ::Ifc4x3_rc2::IfcConnectionGeometry* v11_ConnectionConstraint) : IfcRelConnectsStructuralMember(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ConnectionConstraint ? v11_ConnectionConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsWithRealizingElements -aggregate_of< ::Ifc4x3_rc2::IfcElement >::ptr Ifc4x3_rc2::IfcRelConnectsWithRealizingElements::RealizingElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc2::IfcElement >(); } +aggregate_of< ::Ifc4x3_rc2::IfcElement >::ptr Ifc4x3_rc2::IfcRelConnectsWithRealizingElements::RealizingElements() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc2::IfcElement >(); } void Ifc4x3_rc2::IfcRelConnectsWithRealizingElements::setRealizingElements(aggregate_of< ::Ifc4x3_rc2::IfcElement >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc4x3_rc2::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcRelConnectsWithRealizingElements::setConnectionType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcRelConnectsWithRealizingElements::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[943]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelConnectsWithRealizingElements::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[943]); } Ifc4x3_rc2::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(IfcEntityInstanceData&& e) : IfcRelConnectsElements(std::move(e)) { } -Ifc4x3_rc2::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_rc2::IfcElement* v6_RelatingElement, ::Ifc4x3_rc2::IfcElement* v7_RelatedElement, aggregate_of< ::Ifc4x3_rc2::IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RealizingElements)->generalize()); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; populate_derived(); } +Ifc4x3_rc2::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_rc2::IfcElement* v6_RelatingElement, ::Ifc4x3_rc2::IfcElement* v7_RelatedElement, aggregate_of< ::Ifc4x3_rc2::IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RealizingElements)->generalize()); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; populate_derived(); } // Function implementations for IfcRelContainedInSpatialStructure -aggregate_of< ::Ifc4x3_rc2::IfcProduct >::ptr Ifc4x3_rc2::IfcRelContainedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc2::IfcProduct >(); } +aggregate_of< ::Ifc4x3_rc2::IfcProduct >::ptr Ifc4x3_rc2::IfcRelContainedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc2::IfcProduct >(); } void Ifc4x3_rc2::IfcRelContainedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_rc2::IfcProduct >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcSpatialElement* Ifc4x3_rc2::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcSpatialElement>(true); } +::Ifc4x3_rc2::IfcSpatialElement* Ifc4x3_rc2::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcSpatialElement>(true); } void Ifc4x3_rc2::IfcRelContainedInSpatialStructure::setRelatingStructure(::Ifc4x3_rc2::IfcSpatialElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcRelContainedInSpatialStructure::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[944]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelContainedInSpatialStructure::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[944]); } Ifc4x3_rc2::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc2::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcProduct >::ptr v5_RelatedElements, ::Ifc4x3_rc2::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcProduct >::ptr v5_RelatedElements, ::Ifc4x3_rc2::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelCoversBldgElements -::Ifc4x3_rc2::IfcElement* Ifc4x3_rc2::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcElement>(true); } +::Ifc4x3_rc2::IfcElement* Ifc4x3_rc2::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcElement>(true); } void Ifc4x3_rc2::IfcRelCoversBldgElements::setRelatingBuildingElement(::Ifc4x3_rc2::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_rc2::IfcCovering >::ptr Ifc4x3_rc2::IfcRelCoversBldgElements::RelatedCoverings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc2::IfcCovering >(); } +aggregate_of< ::Ifc4x3_rc2::IfcCovering >::ptr Ifc4x3_rc2::IfcRelCoversBldgElements::RelatedCoverings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc2::IfcCovering >(); } void Ifc4x3_rc2::IfcRelCoversBldgElements::setRelatedCoverings(aggregate_of< ::Ifc4x3_rc2::IfcCovering >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcRelCoversBldgElements::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[945]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelCoversBldgElements::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[945]); } Ifc4x3_rc2::IfcRelCoversBldgElements::IfcRelCoversBldgElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc2::IfcRelCoversBldgElements::IfcRelCoversBldgElements(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcElement* v5_RelatingBuildingElement, aggregate_of< ::Ifc4x3_rc2::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcRelCoversBldgElements::IfcRelCoversBldgElements(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcElement* v5_RelatingBuildingElement, aggregate_of< ::Ifc4x3_rc2::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } // Function implementations for IfcRelCoversSpaces -::Ifc4x3_rc2::IfcSpace* Ifc4x3_rc2::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcSpace>(true); } +::Ifc4x3_rc2::IfcSpace* Ifc4x3_rc2::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcSpace>(true); } void Ifc4x3_rc2::IfcRelCoversSpaces::setRelatingSpace(::Ifc4x3_rc2::IfcSpace* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_rc2::IfcCovering >::ptr Ifc4x3_rc2::IfcRelCoversSpaces::RelatedCoverings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc2::IfcCovering >(); } +aggregate_of< ::Ifc4x3_rc2::IfcCovering >::ptr Ifc4x3_rc2::IfcRelCoversSpaces::RelatedCoverings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc2::IfcCovering >(); } void Ifc4x3_rc2::IfcRelCoversSpaces::setRelatedCoverings(aggregate_of< ::Ifc4x3_rc2::IfcCovering >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcRelCoversSpaces::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[946]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelCoversSpaces::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[946]); } Ifc4x3_rc2::IfcRelCoversSpaces::IfcRelCoversSpaces(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc2::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcSpace* v5_RelatingSpace, aggregate_of< ::Ifc4x3_rc2::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcSpace* v5_RelatingSpace, aggregate_of< ::Ifc4x3_rc2::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } // Function implementations for IfcRelDeclares -::Ifc4x3_rc2::IfcContext* Ifc4x3_rc2::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcContext>(true); } +::Ifc4x3_rc2::IfcContext* Ifc4x3_rc2::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcContext>(true); } void Ifc4x3_rc2::IfcRelDeclares::setRelatingContext(::Ifc4x3_rc2::IfcContext* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr Ifc4x3_rc2::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc2::IfcDefinitionSelect >(); } +aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr Ifc4x3_rc2::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc2::IfcDefinitionSelect >(); } void Ifc4x3_rc2::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcRelDeclares::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[947]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelDeclares::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[947]); } Ifc4x3_rc2::IfcRelDeclares::IfcRelDeclares(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_rc2::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingContext ? v5_RelatingContext->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedDefinitions)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_rc2::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingContext ? v5_RelatingContext->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedDefinitions)->generalize());; populate_derived(); } // Function implementations for IfcRelDecomposes @@ -15114,7 +15114,7 @@ Ifc4x3_rc2::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_rc2 const IfcParse::entity& Ifc4x3_rc2::IfcRelDecomposes::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[948]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelDecomposes::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[948]); } Ifc4x3_rc2::IfcRelDecomposes::IfcRelDecomposes(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_rc2::IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc2::IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRelDefines @@ -15122,196 +15122,196 @@ Ifc4x3_rc2::IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, ::Ifc4x3 const IfcParse::entity& Ifc4x3_rc2::IfcRelDefines::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[949]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelDefines::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[949]); } Ifc4x3_rc2::IfcRelDefines::IfcRelDefines(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_rc2::IfcRelDefines::IfcRelDefines(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc2::IfcRelDefines::IfcRelDefines(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRelDefinesByObject -aggregate_of< ::Ifc4x3_rc2::IfcObject >::ptr Ifc4x3_rc2::IfcRelDefinesByObject::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc2::IfcObject >(); } +aggregate_of< ::Ifc4x3_rc2::IfcObject >::ptr Ifc4x3_rc2::IfcRelDefinesByObject::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc2::IfcObject >(); } void Ifc4x3_rc2::IfcRelDefinesByObject::setRelatedObjects(aggregate_of< ::Ifc4x3_rc2::IfcObject >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcObject* Ifc4x3_rc2::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcObject>(true); } +::Ifc4x3_rc2::IfcObject* Ifc4x3_rc2::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcObject>(true); } void Ifc4x3_rc2::IfcRelDefinesByObject::setRelatingObject(::Ifc4x3_rc2::IfcObject* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcRelDefinesByObject::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[950]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelDefinesByObject::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[950]); } Ifc4x3_rc2::IfcRelDefinesByObject::IfcRelDefinesByObject(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x3_rc2::IfcRelDefinesByObject::IfcRelDefinesByObject(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcObject* v6_RelatingObject) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingObject ? v6_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcRelDefinesByObject::IfcRelDefinesByObject(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcObject* v6_RelatingObject) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingObject ? v6_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelDefinesByProperties -aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr Ifc4x3_rc2::IfcRelDefinesByProperties::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc2::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr Ifc4x3_rc2::IfcRelDefinesByProperties::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc2::IfcObjectDefinition >(); } void Ifc4x3_rc2::IfcRelDefinesByProperties::setRelatedObjects(aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcPropertySetDefinitionSelect* Ifc4x3_rc2::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcPropertySetDefinitionSelect>(true); } +::Ifc4x3_rc2::IfcPropertySetDefinitionSelect* Ifc4x3_rc2::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcPropertySetDefinitionSelect>(true); } void Ifc4x3_rc2::IfcRelDefinesByProperties::setRelatingPropertyDefinition(::Ifc4x3_rc2::IfcPropertySetDefinitionSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcRelDefinesByProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[951]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelDefinesByProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[951]); } Ifc4x3_rc2::IfcRelDefinesByProperties::IfcRelDefinesByProperties(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x3_rc2::IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcPropertySetDefinitionSelect* v6_RelatingPropertyDefinition) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingPropertyDefinition ? v6_RelatingPropertyDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcPropertySetDefinitionSelect* v6_RelatingPropertyDefinition) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingPropertyDefinition ? v6_RelatingPropertyDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelDefinesByTemplate -aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr Ifc4x3_rc2::IfcRelDefinesByTemplate::RelatedPropertySets() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc2::IfcPropertySetDefinition >(); } +aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr Ifc4x3_rc2::IfcRelDefinesByTemplate::RelatedPropertySets() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc2::IfcPropertySetDefinition >(); } void Ifc4x3_rc2::IfcRelDefinesByTemplate::setRelatedPropertySets(aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcPropertySetTemplate* Ifc4x3_rc2::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcPropertySetTemplate>(true); } +::Ifc4x3_rc2::IfcPropertySetTemplate* Ifc4x3_rc2::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcPropertySetTemplate>(true); } void Ifc4x3_rc2::IfcRelDefinesByTemplate::setRelatingTemplate(::Ifc4x3_rc2::IfcPropertySetTemplate* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcRelDefinesByTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[952]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelDefinesByTemplate::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[952]); } Ifc4x3_rc2::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x3_rc2::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr v5_RelatedPropertySets, ::Ifc4x3_rc2::IfcPropertySetTemplate* v6_RelatingTemplate) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedPropertySets)->generalize());set_attribute_value(5, v6_RelatingTemplate ? v6_RelatingTemplate->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr v5_RelatedPropertySets, ::Ifc4x3_rc2::IfcPropertySetTemplate* v6_RelatingTemplate) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedPropertySets)->generalize());set_attribute_value(5, v6_RelatingTemplate ? v6_RelatingTemplate->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelDefinesByType -aggregate_of< ::Ifc4x3_rc2::IfcObject >::ptr Ifc4x3_rc2::IfcRelDefinesByType::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc2::IfcObject >(); } +aggregate_of< ::Ifc4x3_rc2::IfcObject >::ptr Ifc4x3_rc2::IfcRelDefinesByType::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc2::IfcObject >(); } void Ifc4x3_rc2::IfcRelDefinesByType::setRelatedObjects(aggregate_of< ::Ifc4x3_rc2::IfcObject >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcTypeObject* Ifc4x3_rc2::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcTypeObject>(true); } +::Ifc4x3_rc2::IfcTypeObject* Ifc4x3_rc2::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcTypeObject>(true); } void Ifc4x3_rc2::IfcRelDefinesByType::setRelatingType(::Ifc4x3_rc2::IfcTypeObject* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcRelDefinesByType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[953]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelDefinesByType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[953]); } Ifc4x3_rc2::IfcRelDefinesByType::IfcRelDefinesByType(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x3_rc2::IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcTypeObject* v6_RelatingType) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingType ? v6_RelatingType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3_rc2::IfcTypeObject* v6_RelatingType) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingType ? v6_RelatingType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelFillsElement -::Ifc4x3_rc2::IfcOpeningElement* Ifc4x3_rc2::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcOpeningElement>(true); } +::Ifc4x3_rc2::IfcOpeningElement* Ifc4x3_rc2::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcOpeningElement>(true); } void Ifc4x3_rc2::IfcRelFillsElement::setRelatingOpeningElement(::Ifc4x3_rc2::IfcOpeningElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcElement* Ifc4x3_rc2::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcElement>(true); } +::Ifc4x3_rc2::IfcElement* Ifc4x3_rc2::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcElement>(true); } void Ifc4x3_rc2::IfcRelFillsElement::setRelatedBuildingElement(::Ifc4x3_rc2::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcRelFillsElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[954]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelFillsElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[954]); } Ifc4x3_rc2::IfcRelFillsElement::IfcRelFillsElement(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc2::IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcOpeningElement* v5_RelatingOpeningElement, ::Ifc4x3_rc2::IfcElement* v6_RelatedBuildingElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingOpeningElement ? v5_RelatingOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcOpeningElement* v5_RelatingOpeningElement, ::Ifc4x3_rc2::IfcElement* v6_RelatedBuildingElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingOpeningElement ? v5_RelatingOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelFlowControlElements -aggregate_of< ::Ifc4x3_rc2::IfcDistributionControlElement >::ptr Ifc4x3_rc2::IfcRelFlowControlElements::RelatedControlElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc2::IfcDistributionControlElement >(); } +aggregate_of< ::Ifc4x3_rc2::IfcDistributionControlElement >::ptr Ifc4x3_rc2::IfcRelFlowControlElements::RelatedControlElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc2::IfcDistributionControlElement >(); } void Ifc4x3_rc2::IfcRelFlowControlElements::setRelatedControlElements(aggregate_of< ::Ifc4x3_rc2::IfcDistributionControlElement >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcDistributionFlowElement* Ifc4x3_rc2::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcDistributionFlowElement>(true); } +::Ifc4x3_rc2::IfcDistributionFlowElement* Ifc4x3_rc2::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcDistributionFlowElement>(true); } void Ifc4x3_rc2::IfcRelFlowControlElements::setRelatingFlowElement(::Ifc4x3_rc2::IfcDistributionFlowElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcRelFlowControlElements::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[955]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelFlowControlElements::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[955]); } Ifc4x3_rc2::IfcRelFlowControlElements::IfcRelFlowControlElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc2::IfcRelFlowControlElements::IfcRelFlowControlElements(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDistributionControlElement >::ptr v5_RelatedControlElements, ::Ifc4x3_rc2::IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedControlElements)->generalize());set_attribute_value(5, v6_RelatingFlowElement ? v6_RelatingFlowElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcRelFlowControlElements::IfcRelFlowControlElements(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcDistributionControlElement >::ptr v5_RelatedControlElements, ::Ifc4x3_rc2::IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedControlElements)->generalize());set_attribute_value(5, v6_RelatingFlowElement ? v6_RelatingFlowElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelInterferesElements -::Ifc4x3_rc2::IfcInterferenceSelect* Ifc4x3_rc2::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcInterferenceSelect>(true); } +::Ifc4x3_rc2::IfcInterferenceSelect* Ifc4x3_rc2::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcInterferenceSelect>(true); } void Ifc4x3_rc2::IfcRelInterferesElements::setRelatingElement(::Ifc4x3_rc2::IfcInterferenceSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcInterferenceSelect* Ifc4x3_rc2::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcInterferenceSelect>(true); } +::Ifc4x3_rc2::IfcInterferenceSelect* Ifc4x3_rc2::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcInterferenceSelect>(true); } void Ifc4x3_rc2::IfcRelInterferesElements::setRelatedElement(::Ifc4x3_rc2::IfcInterferenceSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc2::IfcConnectionGeometry* Ifc4x3_rc2::IfcRelInterferesElements::InterferenceGeometry() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcConnectionGeometry>(true); } +::Ifc4x3_rc2::IfcConnectionGeometry* Ifc4x3_rc2::IfcRelInterferesElements::InterferenceGeometry() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcConnectionGeometry>(true); } void Ifc4x3_rc2::IfcRelInterferesElements::setInterferenceGeometry(::Ifc4x3_rc2::IfcConnectionGeometry* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< std::string > Ifc4x3_rc2::IfcRelInterferesElements::InterferenceType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcRelInterferesElements::InterferenceType() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcRelInterferesElements::setInterferenceType(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::logic::tribool Ifc4x3_rc2::IfcRelInterferesElements::ImpliedOrder() const { boost::logic::tribool v = data_.get_attribute_value(8); return v; } +boost::logic::tribool Ifc4x3_rc2::IfcRelInterferesElements::ImpliedOrder() const { boost::logic::tribool v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcRelInterferesElements::setImpliedOrder(boost::logic::tribool v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc2::IfcRelInterferesElements::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[956]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelInterferesElements::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[956]); } Ifc4x3_rc2::IfcRelInterferesElements::IfcRelInterferesElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc2::IfcRelInterferesElements::IfcRelInterferesElements(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcInterferenceSelect* v5_RelatingElement, ::Ifc4x3_rc2::IfcInterferenceSelect* v6_RelatedElement, ::Ifc4x3_rc2::IfcConnectionGeometry* v7_InterferenceGeometry, boost::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder) : IfcRelConnects(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_InterferenceGeometry ? v7_InterferenceGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder));; populate_derived(); } +Ifc4x3_rc2::IfcRelInterferesElements::IfcRelInterferesElements(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcInterferenceSelect* v5_RelatingElement, ::Ifc4x3_rc2::IfcInterferenceSelect* v6_RelatedElement, ::Ifc4x3_rc2::IfcConnectionGeometry* v7_InterferenceGeometry, boost::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_InterferenceGeometry ? v7_InterferenceGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder));; populate_derived(); } // Function implementations for IfcRelNests -::Ifc4x3_rc2::IfcObjectDefinition* Ifc4x3_rc2::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcObjectDefinition>(true); } +::Ifc4x3_rc2::IfcObjectDefinition* Ifc4x3_rc2::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcObjectDefinition>(true); } void Ifc4x3_rc2::IfcRelNests::setRelatingObject(::Ifc4x3_rc2::IfcObjectDefinition* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr Ifc4x3_rc2::IfcRelNests::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc2::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr Ifc4x3_rc2::IfcRelNests::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc2::IfcObjectDefinition >(); } void Ifc4x3_rc2::IfcRelNests::setRelatedObjects(aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcRelNests::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[957]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelNests::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[957]); } Ifc4x3_rc2::IfcRelNests::IfcRelNests(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x3_rc2::IfcRelNests::IfcRelNests(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcRelNests::IfcRelNests(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x3_rc2::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelPositions -::Ifc4x3_rc2::IfcPositioningElement* Ifc4x3_rc2::IfcRelPositions::RelatingPositioningElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcPositioningElement>(true); } +::Ifc4x3_rc2::IfcPositioningElement* Ifc4x3_rc2::IfcRelPositions::RelatingPositioningElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcPositioningElement>(true); } void Ifc4x3_rc2::IfcRelPositions::setRelatingPositioningElement(::Ifc4x3_rc2::IfcPositioningElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_rc2::IfcProduct >::ptr Ifc4x3_rc2::IfcRelPositions::RelatedProducts() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc2::IfcProduct >(); } +aggregate_of< ::Ifc4x3_rc2::IfcProduct >::ptr Ifc4x3_rc2::IfcRelPositions::RelatedProducts() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc2::IfcProduct >(); } void Ifc4x3_rc2::IfcRelPositions::setRelatedProducts(aggregate_of< ::Ifc4x3_rc2::IfcProduct >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcRelPositions::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[958]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelPositions::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[958]); } Ifc4x3_rc2::IfcRelPositions::IfcRelPositions(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc2::IfcRelPositions::IfcRelPositions(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcPositioningElement* v5_RelatingPositioningElement, aggregate_of< ::Ifc4x3_rc2::IfcProduct >::ptr v6_RelatedProducts) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPositioningElement ? v5_RelatingPositioningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedProducts)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcRelPositions::IfcRelPositions(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcPositioningElement* v5_RelatingPositioningElement, aggregate_of< ::Ifc4x3_rc2::IfcProduct >::ptr v6_RelatedProducts) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPositioningElement ? v5_RelatingPositioningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedProducts)->generalize());; populate_derived(); } // Function implementations for IfcRelProjectsElement -::Ifc4x3_rc2::IfcElement* Ifc4x3_rc2::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcElement>(true); } +::Ifc4x3_rc2::IfcElement* Ifc4x3_rc2::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcElement>(true); } void Ifc4x3_rc2::IfcRelProjectsElement::setRelatingElement(::Ifc4x3_rc2::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcFeatureElementAddition* Ifc4x3_rc2::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcFeatureElementAddition>(true); } +::Ifc4x3_rc2::IfcFeatureElementAddition* Ifc4x3_rc2::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcFeatureElementAddition>(true); } void Ifc4x3_rc2::IfcRelProjectsElement::setRelatedFeatureElement(::Ifc4x3_rc2::IfcFeatureElementAddition* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcRelProjectsElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[959]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelProjectsElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[959]); } Ifc4x3_rc2::IfcRelProjectsElement::IfcRelProjectsElement(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x3_rc2::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcElement* v5_RelatingElement, ::Ifc4x3_rc2::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedFeatureElement ? v6_RelatedFeatureElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcElement* v5_RelatingElement, ::Ifc4x3_rc2::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedFeatureElement ? v6_RelatedFeatureElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelReferencedInSpatialStructure -aggregate_of< ::Ifc4x3_rc2::IfcSpatialReferenceSelect >::ptr Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc2::IfcSpatialReferenceSelect >(); } +aggregate_of< ::Ifc4x3_rc2::IfcSpatialReferenceSelect >::ptr Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc2::IfcSpatialReferenceSelect >(); } void Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_rc2::IfcSpatialReferenceSelect >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcSpatialElement* Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcSpatialElement>(true); } +::Ifc4x3_rc2::IfcSpatialElement* Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcSpatialElement>(true); } void Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4x3_rc2::IfcSpatialElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[960]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[960]); } Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_rc2::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc2::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_rc2::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelSequence -::Ifc4x3_rc2::IfcProcess* Ifc4x3_rc2::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcProcess>(true); } +::Ifc4x3_rc2::IfcProcess* Ifc4x3_rc2::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcProcess>(true); } void Ifc4x3_rc2::IfcRelSequence::setRelatingProcess(::Ifc4x3_rc2::IfcProcess* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcProcess* Ifc4x3_rc2::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcProcess>(true); } +::Ifc4x3_rc2::IfcProcess* Ifc4x3_rc2::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcProcess>(true); } void Ifc4x3_rc2::IfcRelSequence::setRelatedProcess(::Ifc4x3_rc2::IfcProcess* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc2::IfcLagTime* Ifc4x3_rc2::IfcRelSequence::TimeLag() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcLagTime>(true); } +::Ifc4x3_rc2::IfcLagTime* Ifc4x3_rc2::IfcRelSequence::TimeLag() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcLagTime>(true); } void Ifc4x3_rc2::IfcRelSequence::setTimeLag(::Ifc4x3_rc2::IfcLagTime* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< ::Ifc4x3_rc2::IfcSequenceEnum::Value > Ifc4x3_rc2::IfcRelSequence::SequenceType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSequenceEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_rc2::IfcSequenceEnum::Value > Ifc4x3_rc2::IfcRelSequence::SequenceType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSequenceEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc2::IfcRelSequence::setSequenceType(boost::optional< ::Ifc4x3_rc2::IfcSequenceEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc2::IfcSequenceEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc2::IfcRelSequence::UserDefinedSequenceType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcRelSequence::UserDefinedSequenceType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcRelSequence::setUserDefinedSequenceType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcRelSequence::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[961]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelSequence::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[961]); } Ifc4x3_rc2::IfcRelSequence::IfcRelSequence(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc2::IfcRelSequence::IfcRelSequence(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcProcess* v5_RelatingProcess, ::Ifc4x3_rc2::IfcProcess* v6_RelatedProcess, ::Ifc4x3_rc2::IfcLagTime* v7_TimeLag, boost::optional< ::Ifc4x3_rc2::IfcSequenceEnum::Value > v8_SequenceType, boost::optional< std::string > v9_UserDefinedSequenceType) : IfcRelConnects(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingProcess ? v5_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedProcess ? v6_RelatedProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_TimeLag ? v7_TimeLag->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_SequenceType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); }; populate_derived(); } +Ifc4x3_rc2::IfcRelSequence::IfcRelSequence(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcProcess* v5_RelatingProcess, ::Ifc4x3_rc2::IfcProcess* v6_RelatedProcess, ::Ifc4x3_rc2::IfcLagTime* v7_TimeLag, boost::optional< ::Ifc4x3_rc2::IfcSequenceEnum::Value > v8_SequenceType, boost::optional< std::string > v9_UserDefinedSequenceType) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingProcess ? v5_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedProcess ? v6_RelatedProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_TimeLag ? v7_TimeLag->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_SequenceType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); }; populate_derived(); } // Function implementations for IfcRelServicesBuildings -::Ifc4x3_rc2::IfcSystem* Ifc4x3_rc2::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcSystem>(true); } +::Ifc4x3_rc2::IfcSystem* Ifc4x3_rc2::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcSystem>(true); } void Ifc4x3_rc2::IfcRelServicesBuildings::setRelatingSystem(::Ifc4x3_rc2::IfcSystem* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_rc2::IfcSpatialElement >::ptr Ifc4x3_rc2::IfcRelServicesBuildings::RelatedBuildings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc2::IfcSpatialElement >(); } +aggregate_of< ::Ifc4x3_rc2::IfcSpatialElement >::ptr Ifc4x3_rc2::IfcRelServicesBuildings::RelatedBuildings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc2::IfcSpatialElement >(); } void Ifc4x3_rc2::IfcRelServicesBuildings::setRelatedBuildings(aggregate_of< ::Ifc4x3_rc2::IfcSpatialElement >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcRelServicesBuildings::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[962]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelServicesBuildings::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[962]); } Ifc4x3_rc2::IfcRelServicesBuildings::IfcRelServicesBuildings(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc2::IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcSystem* v5_RelatingSystem, aggregate_of< ::Ifc4x3_rc2::IfcSpatialElement >::ptr v6_RelatedBuildings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSystem ? v5_RelatingSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedBuildings)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcSystem* v5_RelatingSystem, aggregate_of< ::Ifc4x3_rc2::IfcSpatialElement >::ptr v6_RelatedBuildings) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSystem ? v5_RelatingSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedBuildings)->generalize());; populate_derived(); } // Function implementations for IfcRelSpaceBoundary -::Ifc4x3_rc2::IfcSpaceBoundarySelect* Ifc4x3_rc2::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcSpaceBoundarySelect>(true); } +::Ifc4x3_rc2::IfcSpaceBoundarySelect* Ifc4x3_rc2::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcSpaceBoundarySelect>(true); } void Ifc4x3_rc2::IfcRelSpaceBoundary::setRelatingSpace(::Ifc4x3_rc2::IfcSpaceBoundarySelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcElement* Ifc4x3_rc2::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcElement>(true); } +::Ifc4x3_rc2::IfcElement* Ifc4x3_rc2::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcElement>(true); } void Ifc4x3_rc2::IfcRelSpaceBoundary::setRelatedBuildingElement(::Ifc4x3_rc2::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc2::IfcConnectionGeometry* Ifc4x3_rc2::IfcRelSpaceBoundary::ConnectionGeometry() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcConnectionGeometry>(true); } +::Ifc4x3_rc2::IfcConnectionGeometry* Ifc4x3_rc2::IfcRelSpaceBoundary::ConnectionGeometry() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcConnectionGeometry>(true); } void Ifc4x3_rc2::IfcRelSpaceBoundary::setConnectionGeometry(::Ifc4x3_rc2::IfcConnectionGeometry* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Value Ifc4x3_rc2::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Value Ifc4x3_rc2::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc2::IfcRelSpaceBoundary::setPhysicalOrVirtualBoundary(::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc2::IfcInternalOrExternalEnum::Value Ifc4x3_rc2::IfcRelSpaceBoundary::InternalOrExternalBoundary() const { return ::Ifc4x3_rc2::IfcInternalOrExternalEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc2::IfcInternalOrExternalEnum::Value Ifc4x3_rc2::IfcRelSpaceBoundary::InternalOrExternalBoundary() const { return ::Ifc4x3_rc2::IfcInternalOrExternalEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcRelSpaceBoundary::setInternalOrExternalBoundary(::Ifc4x3_rc2::IfcInternalOrExternalEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcInternalOrExternalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc2::IfcRelSpaceBoundary::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[963]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelSpaceBoundary::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[963]); } Ifc4x3_rc2::IfcRelSpaceBoundary::IfcRelSpaceBoundary(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc2::IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_rc2::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_rc2::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) : IfcRelConnects(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; populate_derived(); } +Ifc4x3_rc2::IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_rc2::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_rc2::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; populate_derived(); } // Function implementations for IfcRelSpaceBoundary1stLevel -::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel* Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel>(true); } +::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel* Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel>(true); } void Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel::setParentBoundary(::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } ::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel::list::ptr Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[964], 9)->as(); } @@ -15319,10 +15319,10 @@ void Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel::setParentBoundary(::Ifc4x3_rc2::If const IfcParse::entity& Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[964]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[964]); } Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(IfcEntityInstanceData&& e) : IfcRelSpaceBoundary(std::move(e)) { } -Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_rc2::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_rc2::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary) : IfcRelSpaceBoundary(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_rc2::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_rc2::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary) : IfcRelSpaceBoundary(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelSpaceBoundary2ndLevel -::Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel* Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel>(true); } +::Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel* Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel>(true); } void Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(::Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } ::Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel::list::ptr Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel::Corresponds() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[965], 10)->as(); } @@ -15330,19 +15330,19 @@ void Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(::Ifc4x3_ const IfcParse::entity& Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[965]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[965]); } Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(IfcEntityInstanceData&& e) : IfcRelSpaceBoundary1stLevel(std::move(e)) { } -Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_rc2::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_rc2::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, ::Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary) : IfcRelSpaceBoundary1stLevel(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_CorrespondingBoundary ? v11_CorrespondingBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_rc2::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_rc2::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc2::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, ::Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary) : IfcRelSpaceBoundary1stLevel(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_CorrespondingBoundary ? v11_CorrespondingBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelVoidsElement -::Ifc4x3_rc2::IfcElement* Ifc4x3_rc2::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcElement>(true); } +::Ifc4x3_rc2::IfcElement* Ifc4x3_rc2::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcElement>(true); } void Ifc4x3_rc2::IfcRelVoidsElement::setRelatingBuildingElement(::Ifc4x3_rc2::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcFeatureElementSubtraction* Ifc4x3_rc2::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcFeatureElementSubtraction>(true); } +::Ifc4x3_rc2::IfcFeatureElementSubtraction* Ifc4x3_rc2::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcFeatureElementSubtraction>(true); } void Ifc4x3_rc2::IfcRelVoidsElement::setRelatedOpeningElement(::Ifc4x3_rc2::IfcFeatureElementSubtraction* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcRelVoidsElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[966]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelVoidsElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[966]); } Ifc4x3_rc2::IfcRelVoidsElement::IfcRelVoidsElement(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x3_rc2::IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcElement* v5_RelatingBuildingElement, ::Ifc4x3_rc2::IfcFeatureElementSubtraction* v6_RelatedOpeningElement) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedOpeningElement ? v6_RelatedOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcElement* v5_RelatingBuildingElement, ::Ifc4x3_rc2::IfcFeatureElementSubtraction* v6_RelatedOpeningElement) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedOpeningElement ? v6_RelatedOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelationship @@ -15350,26 +15350,26 @@ Ifc4x3_rc2::IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x3_rc2::IfcRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[934]); } const IfcParse::entity& Ifc4x3_rc2::IfcRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[934]); } Ifc4x3_rc2::IfcRelationship::IfcRelationship(IfcEntityInstanceData&& e) : IfcRoot(std::move(e)) { } -Ifc4x3_rc2::IfcRelationship::IfcRelationship(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc2::IfcRelationship::IfcRelationship(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcReparametrisedCompositeCurveSegment -double Ifc4x3_rc2::IfcReparametrisedCompositeCurveSegment::ParamLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc2::IfcReparametrisedCompositeCurveSegment::ParamLength() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcReparametrisedCompositeCurveSegment::setParamLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcReparametrisedCompositeCurveSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[967]); } const IfcParse::entity& Ifc4x3_rc2::IfcReparametrisedCompositeCurveSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[967]); } Ifc4x3_rc2::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(IfcEntityInstanceData&& e) : IfcCompositeCurveSegment(std::move(e)) { } -Ifc4x3_rc2::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(::Ifc4x3_rc2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc2::IfcCurve* v3_ParentCurve, double v4_ParamLength) : IfcCompositeCurveSegment(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ParamLength));; populate_derived(); } +Ifc4x3_rc2::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(::Ifc4x3_rc2::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc2::IfcCurve* v3_ParentCurve, double v4_ParamLength) : IfcCompositeCurveSegment(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ParamLength));; populate_derived(); } // Function implementations for IfcRepresentation -::Ifc4x3_rc2::IfcRepresentationContext* Ifc4x3_rc2::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcRepresentationContext>(true); } +::Ifc4x3_rc2::IfcRepresentationContext* Ifc4x3_rc2::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcRepresentationContext>(true); } void Ifc4x3_rc2::IfcRepresentation::setContextOfItems(::Ifc4x3_rc2::IfcRepresentationContext* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc2::IfcRepresentation::RepresentationIdentifier() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcRepresentation::RepresentationIdentifier() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc2::IfcRepresentation::RepresentationType() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcRepresentation::RepresentationType() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcRepresentation::setRepresentationType(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -aggregate_of< ::Ifc4x3_rc2::IfcRepresentationItem >::ptr Ifc4x3_rc2::IfcRepresentation::Items() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc2::IfcRepresentationItem >(); } +aggregate_of< ::Ifc4x3_rc2::IfcRepresentationItem >::ptr Ifc4x3_rc2::IfcRepresentation::Items() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc2::IfcRepresentationItem >(); } void Ifc4x3_rc2::IfcRepresentation::setItems(aggregate_of< ::Ifc4x3_rc2::IfcRepresentationItem >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } ::Ifc4x3_rc2::IfcRepresentationMap::list::ptr Ifc4x3_rc2::IfcRepresentation::RepresentationMap() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[971], 1)->as(); } @@ -15379,12 +15379,12 @@ void Ifc4x3_rc2::IfcRepresentation::setItems(aggregate_of< ::Ifc4x3_rc2::IfcRepr const IfcParse::entity& Ifc4x3_rc2::IfcRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[968]); } const IfcParse::entity& Ifc4x3_rc2::IfcRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[968]); } Ifc4x3_rc2::IfcRepresentation::IfcRepresentation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcRepresentation::IfcRepresentation(::Ifc4x3_rc2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc2::IfcRepresentationItem >::ptr v4_Items) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcRepresentation::IfcRepresentation(::Ifc4x3_rc2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc2::IfcRepresentationItem >::ptr v4_Items) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcRepresentationContext -boost::optional< std::string > Ifc4x3_rc2::IfcRepresentationContext::ContextIdentifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcRepresentationContext::ContextIdentifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcRepresentationContext::setContextIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc2::IfcRepresentationContext::ContextType() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcRepresentationContext::ContextType() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcRepresentationContext::setContextType(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x3_rc2::IfcRepresentation::list::ptr Ifc4x3_rc2::IfcRepresentationContext::RepresentationsInContext() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[968], 0)->as(); } @@ -15392,7 +15392,7 @@ void Ifc4x3_rc2::IfcRepresentationContext::setContextType(boost::optional< std:: const IfcParse::entity& Ifc4x3_rc2::IfcRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[969]); } const IfcParse::entity& Ifc4x3_rc2::IfcRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[969]); } Ifc4x3_rc2::IfcRepresentationContext::IfcRepresentationContext(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcRepresentationContext::IfcRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; populate_derived(); } +Ifc4x3_rc2::IfcRepresentationContext::IfcRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; populate_derived(); } // Function implementations for IfcRepresentationItem @@ -15402,12 +15402,12 @@ Ifc4x3_rc2::IfcRepresentationContext::IfcRepresentationContext(boost::optional< const IfcParse::entity& Ifc4x3_rc2::IfcRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[970]); } const IfcParse::entity& Ifc4x3_rc2::IfcRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[970]); } Ifc4x3_rc2::IfcRepresentationItem::IfcRepresentationItem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc2::IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcRepresentationMap -::Ifc4x3_rc2::IfcAxis2Placement* Ifc4x3_rc2::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcAxis2Placement>(true); } +::Ifc4x3_rc2::IfcAxis2Placement* Ifc4x3_rc2::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcAxis2Placement>(true); } void Ifc4x3_rc2::IfcRepresentationMap::setMappingOrigin(::Ifc4x3_rc2::IfcAxis2Placement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcRepresentation* Ifc4x3_rc2::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcRepresentation>(true); } +::Ifc4x3_rc2::IfcRepresentation* Ifc4x3_rc2::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcRepresentation>(true); } void Ifc4x3_rc2::IfcRepresentationMap::setMappedRepresentation(::Ifc4x3_rc2::IfcRepresentation* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } ::Ifc4x3_rc2::IfcShapeAspect::list::ptr Ifc4x3_rc2::IfcRepresentationMap::HasShapeAspects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[1020], 4)->as(); } @@ -15416,12 +15416,12 @@ void Ifc4x3_rc2::IfcRepresentationMap::setMappedRepresentation(::Ifc4x3_rc2::Ifc const IfcParse::entity& Ifc4x3_rc2::IfcRepresentationMap::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[971]); } const IfcParse::entity& Ifc4x3_rc2::IfcRepresentationMap::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[971]); } Ifc4x3_rc2::IfcRepresentationMap::IfcRepresentationMap(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcRepresentationMap::IfcRepresentationMap(::Ifc4x3_rc2::IfcAxis2Placement* v1_MappingOrigin, ::Ifc4x3_rc2::IfcRepresentation* v2_MappedRepresentation) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_MappingOrigin ? v1_MappingOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappedRepresentation ? v2_MappedRepresentation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcRepresentationMap::IfcRepresentationMap(::Ifc4x3_rc2::IfcAxis2Placement* v1_MappingOrigin, ::Ifc4x3_rc2::IfcRepresentation* v2_MappedRepresentation) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_MappingOrigin ? v1_MappingOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappedRepresentation ? v2_MappedRepresentation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcResource -boost::optional< std::string > Ifc4x3_rc2::IfcResource::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcResource::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcResource::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc2::IfcResource::LongDescription() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcResource::LongDescription() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcResource::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_rc2::IfcRelAssignsToResource::list::ptr Ifc4x3_rc2::IfcResource::ResourceOf() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[925], 6)->as(); } @@ -15429,127 +15429,127 @@ void Ifc4x3_rc2::IfcResource::setLongDescription(boost::optional< std::string > const IfcParse::entity& Ifc4x3_rc2::IfcResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[972]); } const IfcParse::entity& Ifc4x3_rc2::IfcResource::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[972]); } Ifc4x3_rc2::IfcResource::IfcResource(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_rc2::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } +Ifc4x3_rc2::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } // Function implementations for IfcResourceApprovalRelationship -aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr Ifc4x3_rc2::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcResourceObjectSelect >(); } +aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr Ifc4x3_rc2::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcResourceObjectSelect >(); } void Ifc4x3_rc2::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcApproval* Ifc4x3_rc2::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcApproval>(true); } +::Ifc4x3_rc2::IfcApproval* Ifc4x3_rc2::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcApproval>(true); } void Ifc4x3_rc2::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_rc2::IfcApproval* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcResourceApprovalRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[973]); } const IfcParse::entity& Ifc4x3_rc2::IfcResourceApprovalRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[973]); } Ifc4x3_rc2::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_rc2::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc2::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatedResourceObjects)->generalize());set_attribute_value(3, v4_RelatingApproval ? v4_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc2::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatedResourceObjects)->generalize());set_attribute_value(3, v4_RelatingApproval ? v4_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcResourceConstraintRelationship -::Ifc4x3_rc2::IfcConstraint* Ifc4x3_rc2::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcConstraint>(true); } +::Ifc4x3_rc2::IfcConstraint* Ifc4x3_rc2::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcConstraint>(true); } void Ifc4x3_rc2::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4x3_rc2::IfcConstraint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr Ifc4x3_rc2::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc2::IfcResourceObjectSelect >(); } +aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr Ifc4x3_rc2::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc2::IfcResourceObjectSelect >(); } void Ifc4x3_rc2::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcResourceConstraintRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[974]); } const IfcParse::entity& Ifc4x3_rc2::IfcResourceConstraintRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[974]); } Ifc4x3_rc2::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_rc2::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingConstraint ? v3_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc2::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_rc2::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingConstraint ? v3_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } // Function implementations for IfcResourceLevelRelationship -boost::optional< std::string > Ifc4x3_rc2::IfcResourceLevelRelationship::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcResourceLevelRelationship::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcResourceLevelRelationship::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc2::IfcResourceLevelRelationship::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcResourceLevelRelationship::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcResourceLevelRelationship::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_rc2::IfcResourceLevelRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[975]); } const IfcParse::entity& Ifc4x3_rc2::IfcResourceLevelRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[975]); } Ifc4x3_rc2::IfcResourceLevelRelationship::IfcResourceLevelRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcResourceLevelRelationship::IfcResourceLevelRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4x3_rc2::IfcResourceLevelRelationship::IfcResourceLevelRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcResourceTime -boost::optional< std::string > Ifc4x3_rc2::IfcResourceTime::ScheduleWork() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcResourceTime::ScheduleWork() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcResourceTime::setScheduleWork(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc2::IfcResourceTime::ScheduleUsage() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc2::IfcResourceTime::ScheduleUsage() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcResourceTime::setScheduleUsage(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc2::IfcResourceTime::ScheduleStart() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcResourceTime::ScheduleStart() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcResourceTime::setScheduleStart(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc2::IfcResourceTime::ScheduleFinish() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcResourceTime::ScheduleFinish() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcResourceTime::setScheduleFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc2::IfcResourceTime::ScheduleContour() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcResourceTime::ScheduleContour() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcResourceTime::setScheduleContour(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc2::IfcResourceTime::LevelingDelay() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcResourceTime::LevelingDelay() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcResourceTime::setLevelingDelay(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< bool > Ifc4x3_rc2::IfcResourceTime::IsOverAllocated() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } bool v = data_.get_attribute_value(9); return v; } +boost::optional< bool > Ifc4x3_rc2::IfcResourceTime::IsOverAllocated() const { if(get_attribute_value(9).isNull()) { return boost::none; } bool v = get_attribute_value(9); return v; } void Ifc4x3_rc2::IfcResourceTime::setIsOverAllocated(boost::optional< bool > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x3_rc2::IfcResourceTime::StatusTime() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcResourceTime::StatusTime() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcResourceTime::setStatusTime(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< std::string > Ifc4x3_rc2::IfcResourceTime::ActualWork() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcResourceTime::ActualWork() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x3_rc2::IfcResourceTime::setActualWork(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_rc2::IfcResourceTime::ActualUsage() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_rc2::IfcResourceTime::ActualUsage() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_rc2::IfcResourceTime::setActualUsage(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< std::string > Ifc4x3_rc2::IfcResourceTime::ActualStart() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(13); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcResourceTime::ActualStart() const { if(get_attribute_value(13).isNull()) { return boost::none; } std::string v = get_attribute_value(13); return v; } void Ifc4x3_rc2::IfcResourceTime::setActualStart(boost::optional< std::string > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x3_rc2::IfcResourceTime::ActualFinish() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcResourceTime::ActualFinish() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x3_rc2::IfcResourceTime::setActualFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< std::string > Ifc4x3_rc2::IfcResourceTime::RemainingWork() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(15); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcResourceTime::RemainingWork() const { if(get_attribute_value(15).isNull()) { return boost::none; } std::string v = get_attribute_value(15); return v; } void Ifc4x3_rc2::IfcResourceTime::setRemainingWork(boost::optional< std::string > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3_rc2::IfcResourceTime::RemainingUsage() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3_rc2::IfcResourceTime::RemainingUsage() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3_rc2::IfcResourceTime::setRemainingUsage(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< double > Ifc4x3_rc2::IfcResourceTime::Completion() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } double v = data_.get_attribute_value(17); return v; } +boost::optional< double > Ifc4x3_rc2::IfcResourceTime::Completion() const { if(get_attribute_value(17).isNull()) { return boost::none; } double v = get_attribute_value(17); return v; } void Ifc4x3_rc2::IfcResourceTime::setCompletion(boost::optional< double > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } const IfcParse::entity& Ifc4x3_rc2::IfcResourceTime::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[978]); } const IfcParse::entity& Ifc4x3_rc2::IfcResourceTime::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[978]); } Ifc4x3_rc2::IfcResourceTime::IfcResourceTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x3_rc2::IfcResourceTime::IfcResourceTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< std::string > v4_ScheduleWork, boost::optional< double > v5_ScheduleUsage, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_ScheduleContour, boost::optional< std::string > v9_LevelingDelay, boost::optional< bool > v10_IsOverAllocated, boost::optional< std::string > v11_StatusTime, boost::optional< std::string > v12_ActualWork, boost::optional< double > v13_ActualUsage, boost::optional< std::string > v14_ActualStart, boost::optional< std::string > v15_ActualFinish, boost::optional< std::string > v16_RemainingWork, boost::optional< double > v17_RemainingUsage, boost::optional< double > v18_Completion) : IfcSchedulingTime(IfcEntityInstanceData(storage_t(18))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); }; populate_derived(); } +Ifc4x3_rc2::IfcResourceTime::IfcResourceTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< std::string > v4_ScheduleWork, boost::optional< double > v5_ScheduleUsage, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_ScheduleContour, boost::optional< std::string > v9_LevelingDelay, boost::optional< bool > v10_IsOverAllocated, boost::optional< std::string > v11_StatusTime, boost::optional< std::string > v12_ActualWork, boost::optional< double > v13_ActualUsage, boost::optional< std::string > v14_ActualStart, boost::optional< std::string > v15_ActualFinish, boost::optional< std::string > v16_RemainingWork, boost::optional< double > v17_RemainingUsage, boost::optional< double > v18_Completion) : IfcSchedulingTime(IfcEntityInstanceData(in_memory_attribute_storage(18))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); }; populate_derived(); } // Function implementations for IfcRevolvedAreaSolid -::Ifc4x3_rc2::IfcAxis1Placement* Ifc4x3_rc2::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcAxis1Placement>(true); } +::Ifc4x3_rc2::IfcAxis1Placement* Ifc4x3_rc2::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcAxis1Placement>(true); } void Ifc4x3_rc2::IfcRevolvedAreaSolid::setAxis(::Ifc4x3_rc2::IfcAxis1Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc2::IfcRevolvedAreaSolid::Angle() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc2::IfcRevolvedAreaSolid::Angle() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcRevolvedAreaSolid::setAngle(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcRevolvedAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[979]); } const IfcParse::entity& Ifc4x3_rc2::IfcRevolvedAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[979]); } Ifc4x3_rc2::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4x3_rc2::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(::Ifc4x3_rc2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc2::IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));; populate_derived(); } +Ifc4x3_rc2::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(::Ifc4x3_rc2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc2::IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));; populate_derived(); } // Function implementations for IfcRevolvedAreaSolidTapered -::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcProfileDef>(true); } +::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcProfileDef>(true); } void Ifc4x3_rc2::IfcRevolvedAreaSolidTapered::setEndSweptArea(::Ifc4x3_rc2::IfcProfileDef* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc2::IfcRevolvedAreaSolidTapered::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[980]); } const IfcParse::entity& Ifc4x3_rc2::IfcRevolvedAreaSolidTapered::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[980]); } Ifc4x3_rc2::IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(IfcEntityInstanceData&& e) : IfcRevolvedAreaSolid(std::move(e)) { } -Ifc4x3_rc2::IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(::Ifc4x3_rc2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc2::IfcAxis1Placement* v3_Axis, double v4_Angle, ::Ifc4x3_rc2::IfcProfileDef* v5_EndSweptArea) : IfcRevolvedAreaSolid(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(::Ifc4x3_rc2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc2::IfcAxis1Placement* v3_Axis, double v4_Angle, ::Ifc4x3_rc2::IfcProfileDef* v5_EndSweptArea) : IfcRevolvedAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRightCircularCone -double Ifc4x3_rc2::IfcRightCircularCone::Height() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc2::IfcRightCircularCone::Height() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcRightCircularCone::setHeight(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc2::IfcRightCircularCone::BottomRadius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc2::IfcRightCircularCone::BottomRadius() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcRightCircularCone::setBottomRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcRightCircularCone::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[981]); } const IfcParse::entity& Ifc4x3_rc2::IfcRightCircularCone::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[981]); } Ifc4x3_rc2::IfcRightCircularCone::IfcRightCircularCone(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3_rc2::IfcRightCircularCone::IfcRightCircularCone(::Ifc4x3_rc2::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_BottomRadius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; populate_derived(); } +Ifc4x3_rc2::IfcRightCircularCone::IfcRightCircularCone(::Ifc4x3_rc2::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_BottomRadius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; populate_derived(); } // Function implementations for IfcRightCircularCylinder -double Ifc4x3_rc2::IfcRightCircularCylinder::Height() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc2::IfcRightCircularCylinder::Height() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcRightCircularCylinder::setHeight(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc2::IfcRightCircularCylinder::Radius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc2::IfcRightCircularCylinder::Radius() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcRightCircularCylinder::setRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcRightCircularCylinder::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[982]); } const IfcParse::entity& Ifc4x3_rc2::IfcRightCircularCylinder::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[982]); } Ifc4x3_rc2::IfcRightCircularCylinder::IfcRightCircularCylinder(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3_rc2::IfcRightCircularCylinder::IfcRightCircularCylinder(::Ifc4x3_rc2::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; populate_derived(); } +Ifc4x3_rc2::IfcRightCircularCylinder::IfcRightCircularCylinder(::Ifc4x3_rc2::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; populate_derived(); } // Function implementations for IfcRoad @@ -15557,99 +15557,99 @@ Ifc4x3_rc2::IfcRightCircularCylinder::IfcRightCircularCylinder(::Ifc4x3_rc2::Ifc const IfcParse::entity& Ifc4x3_rc2::IfcRoad::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[983]); } const IfcParse::entity& Ifc4x3_rc2::IfcRoad::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[983]); } Ifc4x3_rc2::IfcRoad::IfcRoad(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x3_rc2::IfcRoad::IfcRoad(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcFacility(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } +Ifc4x3_rc2::IfcRoad::IfcRoad(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } // Function implementations for IfcRoof -boost::optional< ::Ifc4x3_rc2::IfcRoofTypeEnum::Value > Ifc4x3_rc2::IfcRoof::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcRoofTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcRoofTypeEnum::Value > Ifc4x3_rc2::IfcRoof::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcRoofTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcRoof::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcRoofTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcRoofTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcRoof::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[986]); } const IfcParse::entity& Ifc4x3_rc2::IfcRoof::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[986]); } Ifc4x3_rc2::IfcRoof::IfcRoof(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc2::IfcRoof::IfcRoof(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcRoofTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcRoof::IfcRoof(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcRoofTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRoofType -::Ifc4x3_rc2::IfcRoofTypeEnum::Value Ifc4x3_rc2::IfcRoofType::PredefinedType() const { return ::Ifc4x3_rc2::IfcRoofTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcRoofTypeEnum::Value Ifc4x3_rc2::IfcRoofType::PredefinedType() const { return ::Ifc4x3_rc2::IfcRoofTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcRoofType::setPredefinedType(::Ifc4x3_rc2::IfcRoofTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcRoofTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcRoofType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[987]); } const IfcParse::entity& Ifc4x3_rc2::IfcRoofType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[987]); } Ifc4x3_rc2::IfcRoofType::IfcRoofType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc2::IfcRoofType::IfcRoofType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcRoofTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcRoofType::IfcRoofType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcRoofTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRoot -std::string Ifc4x3_rc2::IfcRoot::GlobalId() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc2::IfcRoot::GlobalId() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcRoot::setGlobalId(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcOwnerHistory* Ifc4x3_rc2::IfcRoot::OwnerHistory() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcOwnerHistory>(true); } +::Ifc4x3_rc2::IfcOwnerHistory* Ifc4x3_rc2::IfcRoot::OwnerHistory() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcOwnerHistory>(true); } void Ifc4x3_rc2::IfcRoot::setOwnerHistory(::Ifc4x3_rc2::IfcOwnerHistory* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_rc2::IfcRoot::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcRoot::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcRoot::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_rc2::IfcRoot::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcRoot::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcRoot::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc2::IfcRoot::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[989]); } const IfcParse::entity& Ifc4x3_rc2::IfcRoot::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[989]); } Ifc4x3_rc2::IfcRoot::IfcRoot(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcRoot::IfcRoot(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc2::IfcRoot::IfcRoot(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRoundedRectangleProfileDef -double Ifc4x3_rc2::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc2::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcRoundedRectangleProfileDef::setRoundingRadius(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcRoundedRectangleProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[994]); } const IfcParse::entity& Ifc4x3_rc2::IfcRoundedRectangleProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[994]); } Ifc4x3_rc2::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(IfcEntityInstanceData&& e) : IfcRectangleProfileDef(std::move(e)) { } -Ifc4x3_rc2::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; populate_derived(); } +Ifc4x3_rc2::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; populate_derived(); } // Function implementations for IfcSIUnit -boost::optional< ::Ifc4x3_rc2::IfcSIPrefix::Value > Ifc4x3_rc2::IfcSIUnit::Prefix() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSIPrefix::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc4x3_rc2::IfcSIPrefix::Value > Ifc4x3_rc2::IfcSIUnit::Prefix() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSIPrefix::FromString(get_attribute_value(2)); } void Ifc4x3_rc2::IfcSIUnit::setPrefix(boost::optional< ::Ifc4x3_rc2::IfcSIPrefix::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc4x3_rc2::IfcSIPrefix::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -::Ifc4x3_rc2::IfcSIUnitName::Value Ifc4x3_rc2::IfcSIUnit::Name() const { return ::Ifc4x3_rc2::IfcSIUnitName::FromString(data_.get_attribute_value(3)); } +::Ifc4x3_rc2::IfcSIUnitName::Value Ifc4x3_rc2::IfcSIUnit::Name() const { return ::Ifc4x3_rc2::IfcSIUnitName::FromString(get_attribute_value(3)); } void Ifc4x3_rc2::IfcSIUnit::setName(::Ifc4x3_rc2::IfcSIUnitName::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc4x3_rc2::IfcSIUnitName::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcSIUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1038]); } const IfcParse::entity& Ifc4x3_rc2::IfcSIUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1038]); } Ifc4x3_rc2::IfcSIUnit::IfcSIUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -Ifc4x3_rc2::IfcSIUnit::IfcSIUnit(::Ifc4x3_rc2::IfcUnitEnum::Value v2_UnitType, boost::optional< ::Ifc4x3_rc2::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_rc2::IfcSIUnitName::Value v4_Name) : IfcNamedUnit(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc2::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc2::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc2::IfcSIUnitName::Class(),(size_t)v4_Name)));; populate_derived(); } +Ifc4x3_rc2::IfcSIUnit::IfcSIUnit(::Ifc4x3_rc2::IfcUnitEnum::Value v2_UnitType, boost::optional< ::Ifc4x3_rc2::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_rc2::IfcSIUnitName::Value v4_Name) : IfcNamedUnit(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc2::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc2::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc2::IfcSIUnitName::Class(),(size_t)v4_Name)));; populate_derived(); } // Function implementations for IfcSanitaryTerminal -boost::optional< ::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value > Ifc4x3_rc2::IfcSanitaryTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value > Ifc4x3_rc2::IfcSanitaryTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcSanitaryTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcSanitaryTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[995]); } const IfcParse::entity& Ifc4x3_rc2::IfcSanitaryTerminal::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[995]); } Ifc4x3_rc2::IfcSanitaryTerminal::IfcSanitaryTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc2::IfcSanitaryTerminal::IfcSanitaryTerminal(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcSanitaryTerminal::IfcSanitaryTerminal(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSanitaryTerminalType -::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value Ifc4x3_rc2::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value Ifc4x3_rc2::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcSanitaryTerminalType::setPredefinedType(::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcSanitaryTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[996]); } const IfcParse::entity& Ifc4x3_rc2::IfcSanitaryTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[996]); } Ifc4x3_rc2::IfcSanitaryTerminalType::IfcSanitaryTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc2::IfcSanitaryTerminalType::IfcSanitaryTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcSanitaryTerminalType::IfcSanitaryTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSchedulingTime -boost::optional< std::string > Ifc4x3_rc2::IfcSchedulingTime::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcSchedulingTime::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcSchedulingTime::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > Ifc4x3_rc2::IfcSchedulingTime::DataOrigin() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDataOriginEnum::FromString(data_.get_attribute_value(1)); } +boost::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > Ifc4x3_rc2::IfcSchedulingTime::DataOrigin() const { if(get_attribute_value(1).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcDataOriginEnum::FromString(get_attribute_value(1)); } void Ifc4x3_rc2::IfcSchedulingTime::setDataOrigin(boost::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v) { if (v) {set_attribute_value(1, EnumerationReference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(), (size_t) *v));} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc2::IfcSchedulingTime::UserDefinedDataOrigin() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcSchedulingTime::UserDefinedDataOrigin() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcSchedulingTime::setUserDefinedDataOrigin(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc2::IfcSchedulingTime::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[998]); } const IfcParse::entity& Ifc4x3_rc2::IfcSchedulingTime::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[998]); } Ifc4x3_rc2::IfcSchedulingTime::IfcSchedulingTime(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }; populate_derived(); } +Ifc4x3_rc2::IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }; populate_derived(); } // Function implementations for IfcSeamCurve @@ -15657,184 +15657,184 @@ Ifc4x3_rc2::IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > const IfcParse::entity& Ifc4x3_rc2::IfcSeamCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[999]); } const IfcParse::entity& Ifc4x3_rc2::IfcSeamCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[999]); } Ifc4x3_rc2::IfcSeamCurve::IfcSeamCurve(IfcEntityInstanceData&& e) : IfcSurfaceCurve(std::move(e)) { } -Ifc4x3_rc2::IfcSeamCurve::IfcSeamCurve(::Ifc4x3_rc2::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_rc2::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } +Ifc4x3_rc2::IfcSeamCurve::IfcSeamCurve(::Ifc4x3_rc2::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_rc2::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcSectionProperties -::Ifc4x3_rc2::IfcSectionTypeEnum::Value Ifc4x3_rc2::IfcSectionProperties::SectionType() const { return ::Ifc4x3_rc2::IfcSectionTypeEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_rc2::IfcSectionTypeEnum::Value Ifc4x3_rc2::IfcSectionProperties::SectionType() const { return ::Ifc4x3_rc2::IfcSectionTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x3_rc2::IfcSectionProperties::setSectionType(::Ifc4x3_rc2::IfcSectionTypeEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_rc2::IfcSectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcProfileDef>(true); } +::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcProfileDef>(true); } void Ifc4x3_rc2::IfcSectionProperties::setStartProfile(::Ifc4x3_rc2::IfcProfileDef* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcSectionProperties::EndProfile() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcProfileDef>(true); } +::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcSectionProperties::EndProfile() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcProfileDef>(true); } void Ifc4x3_rc2::IfcSectionProperties::setEndProfile(::Ifc4x3_rc2::IfcProfileDef* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcSectionProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1006]); } const IfcParse::entity& Ifc4x3_rc2::IfcSectionProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1006]); } Ifc4x3_rc2::IfcSectionProperties::IfcSectionProperties(IfcEntityInstanceData&& e) : IfcPreDefinedProperties(std::move(e)) { } -Ifc4x3_rc2::IfcSectionProperties::IfcSectionProperties(::Ifc4x3_rc2::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_rc2::IfcProfileDef* v2_StartProfile, ::Ifc4x3_rc2::IfcProfileDef* v3_EndProfile) : IfcPreDefinedProperties(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, v2_StartProfile ? v2_StartProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EndProfile ? v3_EndProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcSectionProperties::IfcSectionProperties(::Ifc4x3_rc2::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_rc2::IfcProfileDef* v2_StartProfile, ::Ifc4x3_rc2::IfcProfileDef* v3_EndProfile) : IfcPreDefinedProperties(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, v2_StartProfile ? v2_StartProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EndProfile ? v3_EndProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSectionReinforcementProperties -double Ifc4x3_rc2::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_rc2::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcSectionReinforcementProperties::setLongitudinalStartPosition(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc2::IfcSectionReinforcementProperties::LongitudinalEndPosition() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc2::IfcSectionReinforcementProperties::LongitudinalEndPosition() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcSectionReinforcementProperties::setLongitudinalEndPosition(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_rc2::IfcSectionReinforcementProperties::TransversePosition() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc2::IfcSectionReinforcementProperties::TransversePosition() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc2::IfcReinforcingBarRoleEnum::Value Ifc4x3_rc2::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x3_rc2::IfcReinforcingBarRoleEnum::FromString(data_.get_attribute_value(3)); } +::Ifc4x3_rc2::IfcReinforcingBarRoleEnum::Value Ifc4x3_rc2::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x3_rc2::IfcReinforcingBarRoleEnum::FromString(get_attribute_value(3)); } void Ifc4x3_rc2::IfcSectionReinforcementProperties::setReinforcementRole(::Ifc4x3_rc2::IfcReinforcingBarRoleEnum::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc4x3_rc2::IfcReinforcingBarRoleEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc2::IfcSectionProperties* Ifc4x3_rc2::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcSectionProperties>(true); } +::Ifc4x3_rc2::IfcSectionProperties* Ifc4x3_rc2::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcSectionProperties>(true); } void Ifc4x3_rc2::IfcSectionReinforcementProperties::setSectionDefinition(::Ifc4x3_rc2::IfcSectionProperties* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_rc2::IfcReinforcementBarProperties >::ptr Ifc4x3_rc2::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc2::IfcReinforcementBarProperties >(); } +aggregate_of< ::Ifc4x3_rc2::IfcReinforcementBarProperties >::ptr Ifc4x3_rc2::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc2::IfcReinforcementBarProperties >(); } void Ifc4x3_rc2::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(aggregate_of< ::Ifc4x3_rc2::IfcReinforcementBarProperties >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcSectionReinforcementProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1007]); } const IfcParse::entity& Ifc4x3_rc2::IfcSectionReinforcementProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1007]); } Ifc4x3_rc2::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(IfcEntityInstanceData&& e) : IfcPreDefinedProperties(std::move(e)) { } -Ifc4x3_rc2::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, boost::optional< double > v3_TransversePosition, ::Ifc4x3_rc2::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_rc2::IfcSectionProperties* v5_SectionDefinition, aggregate_of< ::Ifc4x3_rc2::IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcPreDefinedProperties(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc2::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, v5_SectionDefinition ? v5_SectionDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_CrossSectionReinforcementDefinitions)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, boost::optional< double > v3_TransversePosition, ::Ifc4x3_rc2::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_rc2::IfcSectionProperties* v5_SectionDefinition, aggregate_of< ::Ifc4x3_rc2::IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcPreDefinedProperties(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc2::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, v5_SectionDefinition ? v5_SectionDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_CrossSectionReinforcementDefinitions)->generalize());; populate_derived(); } // Function implementations for IfcSectionedSolid -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcSectionedSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCurve>(true); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcSectionedSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcSectionedSolid::setDirectrix(::Ifc4x3_rc2::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc2::IfcProfileDef >::ptr Ifc4x3_rc2::IfcSectionedSolid::CrossSections() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcProfileDef >(); } +aggregate_of< ::Ifc4x3_rc2::IfcProfileDef >::ptr Ifc4x3_rc2::IfcSectionedSolid::CrossSections() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcProfileDef >(); } void Ifc4x3_rc2::IfcSectionedSolid::setCrossSections(aggregate_of< ::Ifc4x3_rc2::IfcProfileDef >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcSectionedSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1001]); } const IfcParse::entity& Ifc4x3_rc2::IfcSectionedSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1001]); } Ifc4x3_rc2::IfcSectionedSolid::IfcSectionedSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3_rc2::IfcSectionedSolid::IfcSectionedSolid(::Ifc4x3_rc2::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_rc2::IfcProfileDef >::ptr v2_CrossSections) : IfcSolidModel(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcSectionedSolid::IfcSectionedSolid(::Ifc4x3_rc2::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_rc2::IfcProfileDef >::ptr v2_CrossSections) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());; populate_derived(); } // Function implementations for IfcSectionedSolidHorizontal -aggregate_of< ::Ifc4x3_rc2::IfcPointByDistanceExpression >::ptr Ifc4x3_rc2::IfcSectionedSolidHorizontal::CrossSectionPositions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcPointByDistanceExpression >(); } +aggregate_of< ::Ifc4x3_rc2::IfcPointByDistanceExpression >::ptr Ifc4x3_rc2::IfcSectionedSolidHorizontal::CrossSectionPositions() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcPointByDistanceExpression >(); } void Ifc4x3_rc2::IfcSectionedSolidHorizontal::setCrossSectionPositions(aggregate_of< ::Ifc4x3_rc2::IfcPointByDistanceExpression >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x3_rc2::IfcSectionedSolidHorizontal::FixedAxisVertical() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x3_rc2::IfcSectionedSolidHorizontal::FixedAxisVertical() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcSectionedSolidHorizontal::setFixedAxisVertical(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcSectionedSolidHorizontal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1002]); } const IfcParse::entity& Ifc4x3_rc2::IfcSectionedSolidHorizontal::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1002]); } Ifc4x3_rc2::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(IfcEntityInstanceData&& e) : IfcSectionedSolid(std::move(e)) { } -Ifc4x3_rc2::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(::Ifc4x3_rc2::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_rc2::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3_rc2::IfcPointByDistanceExpression >::ptr v3_CrossSectionPositions, bool v4_FixedAxisVertical) : IfcSectionedSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());set_attribute_value(3, (v4_FixedAxisVertical));; populate_derived(); } +Ifc4x3_rc2::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(::Ifc4x3_rc2::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_rc2::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3_rc2::IfcPointByDistanceExpression >::ptr v3_CrossSectionPositions, bool v4_FixedAxisVertical) : IfcSectionedSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());set_attribute_value(3, (v4_FixedAxisVertical));; populate_derived(); } // Function implementations for IfcSectionedSpine -::Ifc4x3_rc2::IfcCompositeCurve* Ifc4x3_rc2::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCompositeCurve>(true); } +::Ifc4x3_rc2::IfcCompositeCurve* Ifc4x3_rc2::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCompositeCurve>(true); } void Ifc4x3_rc2::IfcSectionedSpine::setSpineCurve(::Ifc4x3_rc2::IfcCompositeCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc2::IfcProfileDef >::ptr Ifc4x3_rc2::IfcSectionedSpine::CrossSections() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcProfileDef >(); } +aggregate_of< ::Ifc4x3_rc2::IfcProfileDef >::ptr Ifc4x3_rc2::IfcSectionedSpine::CrossSections() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcProfileDef >(); } void Ifc4x3_rc2::IfcSectionedSpine::setCrossSections(aggregate_of< ::Ifc4x3_rc2::IfcProfileDef >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3_rc2::IfcAxis2Placement3D >::ptr Ifc4x3_rc2::IfcSectionedSpine::CrossSectionPositions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcAxis2Placement3D >(); } +aggregate_of< ::Ifc4x3_rc2::IfcAxis2Placement3D >::ptr Ifc4x3_rc2::IfcSectionedSpine::CrossSectionPositions() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcAxis2Placement3D >(); } void Ifc4x3_rc2::IfcSectionedSpine::setCrossSectionPositions(aggregate_of< ::Ifc4x3_rc2::IfcAxis2Placement3D >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcSectionedSpine::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1003]); } const IfcParse::entity& Ifc4x3_rc2::IfcSectionedSpine::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1003]); } Ifc4x3_rc2::IfcSectionedSpine::IfcSectionedSpine(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcSectionedSpine::IfcSectionedSpine(::Ifc4x3_rc2::IfcCompositeCurve* v1_SpineCurve, aggregate_of< ::Ifc4x3_rc2::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3_rc2::IfcAxis2Placement3D >::ptr v3_CrossSectionPositions) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_SpineCurve ? v1_SpineCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcSectionedSpine::IfcSectionedSpine(::Ifc4x3_rc2::IfcCompositeCurve* v1_SpineCurve, aggregate_of< ::Ifc4x3_rc2::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3_rc2::IfcAxis2Placement3D >::ptr v3_CrossSectionPositions) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_SpineCurve ? v1_SpineCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());; populate_derived(); } // Function implementations for IfcSectionedSurface -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcSectionedSurface::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCurve>(true); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcSectionedSurface::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcSectionedSurface::setDirectrix(::Ifc4x3_rc2::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc2::IfcPointByDistanceExpression >::ptr Ifc4x3_rc2::IfcSectionedSurface::CrossSectionPositions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcPointByDistanceExpression >(); } +aggregate_of< ::Ifc4x3_rc2::IfcPointByDistanceExpression >::ptr Ifc4x3_rc2::IfcSectionedSurface::CrossSectionPositions() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcPointByDistanceExpression >(); } void Ifc4x3_rc2::IfcSectionedSurface::setCrossSectionPositions(aggregate_of< ::Ifc4x3_rc2::IfcPointByDistanceExpression >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3_rc2::IfcProfileDef >::ptr Ifc4x3_rc2::IfcSectionedSurface::CrossSections() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcProfileDef >(); } +aggregate_of< ::Ifc4x3_rc2::IfcProfileDef >::ptr Ifc4x3_rc2::IfcSectionedSurface::CrossSections() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcProfileDef >(); } void Ifc4x3_rc2::IfcSectionedSurface::setCrossSections(aggregate_of< ::Ifc4x3_rc2::IfcProfileDef >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x3_rc2::IfcSectionedSurface::FixedAxisVertical() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x3_rc2::IfcSectionedSurface::FixedAxisVertical() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcSectionedSurface::setFixedAxisVertical(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcSectionedSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1004]); } const IfcParse::entity& Ifc4x3_rc2::IfcSectionedSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1004]); } Ifc4x3_rc2::IfcSectionedSurface::IfcSectionedSurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x3_rc2::IfcSectionedSurface::IfcSectionedSurface(::Ifc4x3_rc2::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_rc2::IfcPointByDistanceExpression >::ptr v2_CrossSectionPositions, aggregate_of< ::Ifc4x3_rc2::IfcProfileDef >::ptr v3_CrossSections, bool v4_FixedAxisVertical) : IfcSurface(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSectionPositions)->generalize());set_attribute_value(2, (v3_CrossSections)->generalize());set_attribute_value(3, (v4_FixedAxisVertical));; populate_derived(); } +Ifc4x3_rc2::IfcSectionedSurface::IfcSectionedSurface(::Ifc4x3_rc2::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_rc2::IfcPointByDistanceExpression >::ptr v2_CrossSectionPositions, aggregate_of< ::Ifc4x3_rc2::IfcProfileDef >::ptr v3_CrossSections, bool v4_FixedAxisVertical) : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSectionPositions)->generalize());set_attribute_value(2, (v3_CrossSections)->generalize());set_attribute_value(3, (v4_FixedAxisVertical));; populate_derived(); } // Function implementations for IfcSegment -::Ifc4x3_rc2::IfcTransitionCode::Value Ifc4x3_rc2::IfcSegment::Transition() const { return ::Ifc4x3_rc2::IfcTransitionCode::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_rc2::IfcTransitionCode::Value Ifc4x3_rc2::IfcSegment::Transition() const { return ::Ifc4x3_rc2::IfcTransitionCode::FromString(get_attribute_value(0)); } void Ifc4x3_rc2::IfcSegment::setTransition(::Ifc4x3_rc2::IfcTransitionCode::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_rc2::IfcTransitionCode::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc2::IfcSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1009]); } const IfcParse::entity& Ifc4x3_rc2::IfcSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1009]); } Ifc4x3_rc2::IfcSegment::IfcSegment(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcSegment::IfcSegment(::Ifc4x3_rc2::IfcTransitionCode::Value v1_Transition) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcTransitionCode::Class(),(size_t)v1_Transition)));; populate_derived(); } +Ifc4x3_rc2::IfcSegment::IfcSegment(::Ifc4x3_rc2::IfcTransitionCode::Value v1_Transition) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcTransitionCode::Class(),(size_t)v1_Transition)));; populate_derived(); } // Function implementations for IfcSegmentedReferenceCurve -::Ifc4x3_rc2::IfcBoundedCurve* Ifc4x3_rc2::IfcSegmentedReferenceCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcBoundedCurve>(true); } +::Ifc4x3_rc2::IfcBoundedCurve* Ifc4x3_rc2::IfcSegmentedReferenceCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcBoundedCurve>(true); } void Ifc4x3_rc2::IfcSegmentedReferenceCurve::setBaseCurve(::Ifc4x3_rc2::IfcBoundedCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc2::IfcCurveSegment >::ptr Ifc4x3_rc2::IfcSegmentedReferenceCurve::Segments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcCurveSegment >(); } +aggregate_of< ::Ifc4x3_rc2::IfcCurveSegment >::ptr Ifc4x3_rc2::IfcSegmentedReferenceCurve::Segments() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcCurveSegment >(); } void Ifc4x3_rc2::IfcSegmentedReferenceCurve::setSegments(aggregate_of< ::Ifc4x3_rc2::IfcCurveSegment >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcPlacement* Ifc4x3_rc2::IfcSegmentedReferenceCurve::EndPoint() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcPlacement>(true); } +::Ifc4x3_rc2::IfcPlacement* Ifc4x3_rc2::IfcSegmentedReferenceCurve::EndPoint() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcPlacement>(true); } void Ifc4x3_rc2::IfcSegmentedReferenceCurve::setEndPoint(::Ifc4x3_rc2::IfcPlacement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcSegmentedReferenceCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1010]); } const IfcParse::entity& Ifc4x3_rc2::IfcSegmentedReferenceCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1010]); } Ifc4x3_rc2::IfcSegmentedReferenceCurve::IfcSegmentedReferenceCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_rc2::IfcSegmentedReferenceCurve::IfcSegmentedReferenceCurve(::Ifc4x3_rc2::IfcBoundedCurve* v1_BaseCurve, aggregate_of< ::Ifc4x3_rc2::IfcCurveSegment >::ptr v2_Segments, ::Ifc4x3_rc2::IfcPlacement* v3_EndPoint) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BaseCurve ? v1_BaseCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Segments)->generalize());set_attribute_value(2, v3_EndPoint ? v3_EndPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcSegmentedReferenceCurve::IfcSegmentedReferenceCurve(::Ifc4x3_rc2::IfcBoundedCurve* v1_BaseCurve, aggregate_of< ::Ifc4x3_rc2::IfcCurveSegment >::ptr v2_Segments, ::Ifc4x3_rc2::IfcPlacement* v3_EndPoint) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BaseCurve ? v1_BaseCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Segments)->generalize());set_attribute_value(2, v3_EndPoint ? v3_EndPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSensor -boost::optional< ::Ifc4x3_rc2::IfcSensorTypeEnum::Value > Ifc4x3_rc2::IfcSensor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSensorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcSensorTypeEnum::Value > Ifc4x3_rc2::IfcSensor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSensorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcSensor::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSensorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcSensorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcSensor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1012]); } const IfcParse::entity& Ifc4x3_rc2::IfcSensor::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1012]); } Ifc4x3_rc2::IfcSensor::IfcSensor(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_rc2::IfcSensor::IfcSensor(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcSensorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcSensor::IfcSensor(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcSensorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSensorType -::Ifc4x3_rc2::IfcSensorTypeEnum::Value Ifc4x3_rc2::IfcSensorType::PredefinedType() const { return ::Ifc4x3_rc2::IfcSensorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcSensorTypeEnum::Value Ifc4x3_rc2::IfcSensorType::PredefinedType() const { return ::Ifc4x3_rc2::IfcSensorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcSensorType::setPredefinedType(::Ifc4x3_rc2::IfcSensorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcSensorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcSensorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1013]); } const IfcParse::entity& Ifc4x3_rc2::IfcSensorType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1013]); } Ifc4x3_rc2::IfcSensorType::IfcSensorType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_rc2::IfcSensorType::IfcSensorType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSensorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcSensorType::IfcSensorType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSensorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSeriesParameterCurve -::Ifc4x3_rc2::IfcPlacement* Ifc4x3_rc2::IfcSeriesParameterCurve::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcPlacement>(true); } +::Ifc4x3_rc2::IfcPlacement* Ifc4x3_rc2::IfcSeriesParameterCurve::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcPlacement>(true); } void Ifc4x3_rc2::IfcSeriesParameterCurve::setPosition(::Ifc4x3_rc2::IfcPlacement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -std::vector< double > /*[2:?]*/ Ifc4x3_rc2::IfcSeriesParameterCurve::CoefficientsX() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(1); return v; } +std::vector< double > /*[2:?]*/ Ifc4x3_rc2::IfcSeriesParameterCurve::CoefficientsX() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcSeriesParameterCurve::setCoefficientsX(std::vector< double > /*[2:?]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector< double > /*[2:?]*/ Ifc4x3_rc2::IfcSeriesParameterCurve::CoefficientsY() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(2); return v; } +std::vector< double > /*[2:?]*/ Ifc4x3_rc2::IfcSeriesParameterCurve::CoefficientsY() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcSeriesParameterCurve::setCoefficientsY(std::vector< double > /*[2:?]*/ v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcSeriesParameterCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1016]); } const IfcParse::entity& Ifc4x3_rc2::IfcSeriesParameterCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1016]); } Ifc4x3_rc2::IfcSeriesParameterCurve::IfcSeriesParameterCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_rc2::IfcSeriesParameterCurve::IfcSeriesParameterCurve(::Ifc4x3_rc2::IfcPlacement* v1_Position, std::vector< double > /*[2:?]*/ v2_CoefficientsX, std::vector< double > /*[2:?]*/ v3_CoefficientsY) : IfcCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CoefficientsX));set_attribute_value(2, (v3_CoefficientsY));; populate_derived(); } +Ifc4x3_rc2::IfcSeriesParameterCurve::IfcSeriesParameterCurve(::Ifc4x3_rc2::IfcPlacement* v1_Position, std::vector< double > /*[2:?]*/ v2_CoefficientsX, std::vector< double > /*[2:?]*/ v3_CoefficientsY) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CoefficientsX));set_attribute_value(2, (v3_CoefficientsY));; populate_derived(); } // Function implementations for IfcShadingDevice -boost::optional< ::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Value > Ifc4x3_rc2::IfcShadingDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Value > Ifc4x3_rc2::IfcShadingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcShadingDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcShadingDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1017]); } const IfcParse::entity& Ifc4x3_rc2::IfcShadingDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1017]); } Ifc4x3_rc2::IfcShadingDevice::IfcShadingDevice(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc2::IfcShadingDevice::IfcShadingDevice(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcShadingDevice::IfcShadingDevice(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcShadingDeviceType -::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Value Ifc4x3_rc2::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Value Ifc4x3_rc2::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcShadingDeviceType::setPredefinedType(::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcShadingDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1018]); } const IfcParse::entity& Ifc4x3_rc2::IfcShadingDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1018]); } Ifc4x3_rc2::IfcShadingDeviceType::IfcShadingDeviceType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc2::IfcShadingDeviceType::IfcShadingDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcShadingDeviceType::IfcShadingDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcShapeAspect -aggregate_of< ::Ifc4x3_rc2::IfcShapeModel >::ptr Ifc4x3_rc2::IfcShapeAspect::ShapeRepresentations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcShapeModel >(); } +aggregate_of< ::Ifc4x3_rc2::IfcShapeModel >::ptr Ifc4x3_rc2::IfcShapeAspect::ShapeRepresentations() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcShapeModel >(); } void Ifc4x3_rc2::IfcShapeAspect::setShapeRepresentations(aggregate_of< ::Ifc4x3_rc2::IfcShapeModel >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc2::IfcShapeAspect::Name() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcShapeAspect::Name() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcShapeAspect::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc2::IfcShapeAspect::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcShapeAspect::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcShapeAspect::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::logic::tribool Ifc4x3_rc2::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = data_.get_attribute_value(3); return v; } +boost::logic::tribool Ifc4x3_rc2::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcShapeAspect::setProductDefinitional(boost::logic::tribool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc2::IfcProductRepresentationSelect* Ifc4x3_rc2::IfcShapeAspect::PartOfProductDefinitionShape() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcProductRepresentationSelect>(true); } +::Ifc4x3_rc2::IfcProductRepresentationSelect* Ifc4x3_rc2::IfcShapeAspect::PartOfProductDefinitionShape() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcProductRepresentationSelect>(true); } void Ifc4x3_rc2::IfcShapeAspect::setPartOfProductDefinitionShape(::Ifc4x3_rc2::IfcProductRepresentationSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } ::Ifc4x3_rc2::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc2::IfcShapeAspect::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[441], 3)->as(); } @@ -15842,7 +15842,7 @@ void Ifc4x3_rc2::IfcShapeAspect::setPartOfProductDefinitionShape(::Ifc4x3_rc2::I const IfcParse::entity& Ifc4x3_rc2::IfcShapeAspect::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1020]); } const IfcParse::entity& Ifc4x3_rc2::IfcShapeAspect::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1020]); } Ifc4x3_rc2::IfcShapeAspect::IfcShapeAspect(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcShapeAspect::IfcShapeAspect(aggregate_of< ::Ifc4x3_rc2::IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_rc2::IfcProductRepresentationSelect* v5_PartOfProductDefinitionShape) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_ShapeRepresentations)->generalize()); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, v5_PartOfProductDefinitionShape ? v5_PartOfProductDefinitionShape->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcShapeAspect::IfcShapeAspect(aggregate_of< ::Ifc4x3_rc2::IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_rc2::IfcProductRepresentationSelect* v5_PartOfProductDefinitionShape) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_ShapeRepresentations)->generalize()); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, v5_PartOfProductDefinitionShape ? v5_PartOfProductDefinitionShape->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcShapeModel @@ -15851,7 +15851,7 @@ Ifc4x3_rc2::IfcShapeAspect::IfcShapeAspect(aggregate_of< ::Ifc4x3_rc2::IfcShapeM const IfcParse::entity& Ifc4x3_rc2::IfcShapeModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1021]); } const IfcParse::entity& Ifc4x3_rc2::IfcShapeModel::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1021]); } Ifc4x3_rc2::IfcShapeModel::IfcShapeModel(IfcEntityInstanceData&& e) : IfcRepresentation(std::move(e)) { } -Ifc4x3_rc2::IfcShapeModel::IfcShapeModel(::Ifc4x3_rc2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc2::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcShapeModel::IfcShapeModel(::Ifc4x3_rc2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc2::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcShapeRepresentation @@ -15859,57 +15859,57 @@ Ifc4x3_rc2::IfcShapeModel::IfcShapeModel(::Ifc4x3_rc2::IfcRepresentationContext* const IfcParse::entity& Ifc4x3_rc2::IfcShapeRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1022]); } const IfcParse::entity& Ifc4x3_rc2::IfcShapeRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1022]); } Ifc4x3_rc2::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceData&& e) : IfcShapeModel(std::move(e)) { } -Ifc4x3_rc2::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x3_rc2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc2::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x3_rc2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc2::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcShellBasedSurfaceModel -aggregate_of< ::Ifc4x3_rc2::IfcShell >::ptr Ifc4x3_rc2::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcShell >(); } +aggregate_of< ::Ifc4x3_rc2::IfcShell >::ptr Ifc4x3_rc2::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcShell >(); } void Ifc4x3_rc2::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x3_rc2::IfcShell >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc2::IfcShellBasedSurfaceModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1025]); } const IfcParse::entity& Ifc4x3_rc2::IfcShellBasedSurfaceModel::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1025]); } Ifc4x3_rc2::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3_rc2::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_SbsmBoundary)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3_rc2::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_SbsmBoundary)->generalize());; populate_derived(); } // Function implementations for IfcSign -boost::optional< ::Ifc4x3_rc2::IfcSignTypeEnum::Value > Ifc4x3_rc2::IfcSign::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSignTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcSignTypeEnum::Value > Ifc4x3_rc2::IfcSign::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSignTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcSign::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSignTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcSignTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcSign::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1026]); } const IfcParse::entity& Ifc4x3_rc2::IfcSign::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1026]); } Ifc4x3_rc2::IfcSign::IfcSign(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_rc2::IfcSign::IfcSign(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcSignTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcSignTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcSign::IfcSign(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcSignTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcSignTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSignType -::Ifc4x3_rc2::IfcSignTypeEnum::Value Ifc4x3_rc2::IfcSignType::PredefinedType() const { return ::Ifc4x3_rc2::IfcSignTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcSignTypeEnum::Value Ifc4x3_rc2::IfcSignType::PredefinedType() const { return ::Ifc4x3_rc2::IfcSignTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcSignType::setPredefinedType(::Ifc4x3_rc2::IfcSignTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcSignTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcSignType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1030]); } const IfcParse::entity& Ifc4x3_rc2::IfcSignType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1030]); } Ifc4x3_rc2::IfcSignType::IfcSignType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_rc2::IfcSignType::IfcSignType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSignTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcSignTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcSignType::IfcSignType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSignTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcSignTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSignal -boost::optional< ::Ifc4x3_rc2::IfcSignalTypeEnum::Value > Ifc4x3_rc2::IfcSignal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSignalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcSignalTypeEnum::Value > Ifc4x3_rc2::IfcSignal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSignalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcSignal::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSignalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcSignalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcSignal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1027]); } const IfcParse::entity& Ifc4x3_rc2::IfcSignal::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1027]); } Ifc4x3_rc2::IfcSignal::IfcSignal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc2::IfcSignal::IfcSignal(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcSignalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcSignalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcSignal::IfcSignal(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcSignalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcSignalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSignalType -::Ifc4x3_rc2::IfcSignalTypeEnum::Value Ifc4x3_rc2::IfcSignalType::PredefinedType() const { return ::Ifc4x3_rc2::IfcSignalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcSignalTypeEnum::Value Ifc4x3_rc2::IfcSignalType::PredefinedType() const { return ::Ifc4x3_rc2::IfcSignalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcSignalType::setPredefinedType(::Ifc4x3_rc2::IfcSignalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcSignalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcSignalType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1028]); } const IfcParse::entity& Ifc4x3_rc2::IfcSignalType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1028]); } Ifc4x3_rc2::IfcSignalType::IfcSignalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc2::IfcSignalType::IfcSignalType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSignalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcSignalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcSignalType::IfcSignalType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSignalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcSignalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSimpleProperty @@ -15917,59 +15917,59 @@ Ifc4x3_rc2::IfcSignalType::IfcSignalType(std::string v1_GlobalId, ::Ifc4x3_rc2:: const IfcParse::entity& Ifc4x3_rc2::IfcSimpleProperty::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1032]); } const IfcParse::entity& Ifc4x3_rc2::IfcSimpleProperty::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1032]); } Ifc4x3_rc2::IfcSimpleProperty::IfcSimpleProperty(IfcEntityInstanceData&& e) : IfcProperty(std::move(e)) { } -Ifc4x3_rc2::IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcProperty(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4x3_rc2::IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcProperty(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcSimplePropertyTemplate -boost::optional< ::Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x3_rc2::IfcSimplePropertyTemplate::TemplateType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::FromString(data_.get_attribute_value(4)); } +boost::optional< ::Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x3_rc2::IfcSimplePropertyTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::FromString(get_attribute_value(4)); } void Ifc4x3_rc2::IfcSimplePropertyTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::Value > v) { if (v) {set_attribute_value(4, EnumerationReference(&::Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc2::IfcSimplePropertyTemplate::PrimaryMeasureType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcSimplePropertyTemplate::PrimaryMeasureType() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcSimplePropertyTemplate::setPrimaryMeasureType(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc2::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcSimplePropertyTemplate::setSecondaryMeasureType(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_rc2::IfcPropertyEnumeration* Ifc4x3_rc2::IfcSimplePropertyTemplate::Enumerators() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc2::IfcPropertyEnumeration>(true); } +::Ifc4x3_rc2::IfcPropertyEnumeration* Ifc4x3_rc2::IfcSimplePropertyTemplate::Enumerators() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc2::IfcPropertyEnumeration>(true); } void Ifc4x3_rc2::IfcSimplePropertyTemplate::setEnumerators(::Ifc4x3_rc2::IfcPropertyEnumeration* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcSimplePropertyTemplate::PrimaryUnit() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc2::IfcUnit>(true); } +::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcSimplePropertyTemplate::PrimaryUnit() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc2::IfcUnit>(true); } void Ifc4x3_rc2::IfcSimplePropertyTemplate::setPrimaryUnit(::Ifc4x3_rc2::IfcUnit* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcSimplePropertyTemplate::SecondaryUnit() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc2::IfcUnit>(true); } +::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcSimplePropertyTemplate::SecondaryUnit() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc2::IfcUnit>(true); } void Ifc4x3_rc2::IfcSimplePropertyTemplate::setSecondaryUnit(::Ifc4x3_rc2::IfcUnit* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3_rc2::IfcSimplePropertyTemplate::Expression() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcSimplePropertyTemplate::Expression() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcSimplePropertyTemplate::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< ::Ifc4x3_rc2::IfcStateEnum::Value > Ifc4x3_rc2::IfcSimplePropertyTemplate::AccessState() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcStateEnum::FromString(data_.get_attribute_value(11)); } +boost::optional< ::Ifc4x3_rc2::IfcStateEnum::Value > Ifc4x3_rc2::IfcSimplePropertyTemplate::AccessState() const { if(get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcStateEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc2::IfcSimplePropertyTemplate::setAccessState(boost::optional< ::Ifc4x3_rc2::IfcStateEnum::Value > v) { if (v) {set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc2::IfcStateEnum::Class(), (size_t) *v));} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x3_rc2::IfcSimplePropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1033]); } const IfcParse::entity& Ifc4x3_rc2::IfcSimplePropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1033]); } Ifc4x3_rc2::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplate(std::move(e)) { } -Ifc4x3_rc2::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_PrimaryMeasureType, boost::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_rc2::IfcPropertyEnumeration* v8_Enumerators, ::Ifc4x3_rc2::IfcUnit* v9_PrimaryUnit, ::Ifc4x3_rc2::IfcUnit* v10_SecondaryUnit, boost::optional< std::string > v11_Expression, boost::optional< ::Ifc4x3_rc2::IfcStateEnum::Value > v12_AccessState) : IfcPropertyTemplate(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, v8_Enumerators ? v8_Enumerators->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_PrimaryUnit ? v9_PrimaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_SecondaryUnit ? v10_SecondaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc2::IfcStateEnum::Class(),(size_t)*v12_AccessState))); }; populate_derived(); } +Ifc4x3_rc2::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_PrimaryMeasureType, boost::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_rc2::IfcPropertyEnumeration* v8_Enumerators, ::Ifc4x3_rc2::IfcUnit* v9_PrimaryUnit, ::Ifc4x3_rc2::IfcUnit* v10_SecondaryUnit, boost::optional< std::string > v11_Expression, boost::optional< ::Ifc4x3_rc2::IfcStateEnum::Value > v12_AccessState) : IfcPropertyTemplate(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, v8_Enumerators ? v8_Enumerators->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_PrimaryUnit ? v9_PrimaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_SecondaryUnit ? v10_SecondaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc2::IfcStateEnum::Class(),(size_t)*v12_AccessState))); }; populate_derived(); } // Function implementations for IfcSite -boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_rc2::IfcSite::RefLatitude() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = data_.get_attribute_value(9); return v; } +boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_rc2::IfcSite::RefLatitude() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = get_attribute_value(9); return v; } void Ifc4x3_rc2::IfcSite::setRefLatitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_rc2::IfcSite::RefLongitude() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = data_.get_attribute_value(10); return v; } +boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_rc2::IfcSite::RefLongitude() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcSite::setRefLongitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc2::IfcSite::RefElevation() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc2::IfcSite::RefElevation() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc2::IfcSite::setRefElevation(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_rc2::IfcSite::LandTitleNumber() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcSite::LandTitleNumber() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc2::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4x3_rc2::IfcPostalAddress* Ifc4x3_rc2::IfcSite::SiteAddress() const { if(data_.get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(13)))->as<::Ifc4x3_rc2::IfcPostalAddress>(true); } +::Ifc4x3_rc2::IfcPostalAddress* Ifc4x3_rc2::IfcSite::SiteAddress() const { if(get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(13)))->as<::Ifc4x3_rc2::IfcPostalAddress>(true); } void Ifc4x3_rc2::IfcSite::setSiteAddress(::Ifc4x3_rc2::IfcPostalAddress* v) { set_attribute_value(13, v->as());if constexpr (false)unset_attribute_value(13); } const IfcParse::entity& Ifc4x3_rc2::IfcSite::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1037]); } const IfcParse::entity& Ifc4x3_rc2::IfcSite::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1037]); } Ifc4x3_rc2::IfcSite::IfcSite(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x3_rc2::IfcSite::IfcSite(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, 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_rc2::IfcPostalAddress* v14_SiteAddress) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, v14_SiteAddress ? v14_SiteAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcSite::IfcSite(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, 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_rc2::IfcPostalAddress* v14_SiteAddress) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, v14_SiteAddress ? v14_SiteAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSlab -boost::optional< ::Ifc4x3_rc2::IfcSlabTypeEnum::Value > Ifc4x3_rc2::IfcSlab::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSlabTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcSlabTypeEnum::Value > Ifc4x3_rc2::IfcSlab::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSlabTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcSlab::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSlabTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcSlabTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcSlab::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1041]); } const IfcParse::entity& Ifc4x3_rc2::IfcSlab::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1041]); } Ifc4x3_rc2::IfcSlab::IfcSlab(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc2::IfcSlab::IfcSlab(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcSlab::IfcSlab(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSlabElementedCase @@ -15977,7 +15977,7 @@ Ifc4x3_rc2::IfcSlab::IfcSlab(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHist const IfcParse::entity& Ifc4x3_rc2::IfcSlabElementedCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1042]); } const IfcParse::entity& Ifc4x3_rc2::IfcSlabElementedCase::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1042]); } Ifc4x3_rc2::IfcSlabElementedCase::IfcSlabElementedCase(IfcEntityInstanceData&& e) : IfcSlab(std::move(e)) { } -Ifc4x3_rc2::IfcSlabElementedCase::IfcSlabElementedCase(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcSlab(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcSlabElementedCase::IfcSlabElementedCase(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcSlab(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSlabStandardCase @@ -15985,51 +15985,51 @@ Ifc4x3_rc2::IfcSlabElementedCase::IfcSlabElementedCase(std::string v1_GlobalId, const IfcParse::entity& Ifc4x3_rc2::IfcSlabStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1043]); } const IfcParse::entity& Ifc4x3_rc2::IfcSlabStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1043]); } Ifc4x3_rc2::IfcSlabStandardCase::IfcSlabStandardCase(IfcEntityInstanceData&& e) : IfcSlab(std::move(e)) { } -Ifc4x3_rc2::IfcSlabStandardCase::IfcSlabStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcSlab(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcSlabStandardCase::IfcSlabStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcSlab(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSlabType -::Ifc4x3_rc2::IfcSlabTypeEnum::Value Ifc4x3_rc2::IfcSlabType::PredefinedType() const { return ::Ifc4x3_rc2::IfcSlabTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcSlabTypeEnum::Value Ifc4x3_rc2::IfcSlabType::PredefinedType() const { return ::Ifc4x3_rc2::IfcSlabTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcSlabType::setPredefinedType(::Ifc4x3_rc2::IfcSlabTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcSlabTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcSlabType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1044]); } const IfcParse::entity& Ifc4x3_rc2::IfcSlabType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1044]); } Ifc4x3_rc2::IfcSlabType::IfcSlabType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc2::IfcSlabType::IfcSlabType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSlabTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcSlabType::IfcSlabType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSlabTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSlippageConnectionCondition -boost::optional< double > Ifc4x3_rc2::IfcSlippageConnectionCondition::SlippageX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc2::IfcSlippageConnectionCondition::SlippageX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcSlippageConnectionCondition::setSlippageX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc2::IfcSlippageConnectionCondition::SlippageY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc2::IfcSlippageConnectionCondition::SlippageY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcSlippageConnectionCondition::setSlippageY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc2::IfcSlippageConnectionCondition::SlippageZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc2::IfcSlippageConnectionCondition::SlippageZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcSlippageConnectionCondition::setSlippageZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc2::IfcSlippageConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1046]); } const IfcParse::entity& Ifc4x3_rc2::IfcSlippageConnectionCondition::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1046]); } Ifc4x3_rc2::IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(IfcEntityInstanceData&& e) : IfcStructuralConnectionCondition(std::move(e)) { } -Ifc4x3_rc2::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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; populate_derived(); } +Ifc4x3_rc2::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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; populate_derived(); } // Function implementations for IfcSolarDevice -boost::optional< ::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value > Ifc4x3_rc2::IfcSolarDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value > Ifc4x3_rc2::IfcSolarDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcSolarDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcSolarDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1047]); } const IfcParse::entity& Ifc4x3_rc2::IfcSolarDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1047]); } Ifc4x3_rc2::IfcSolarDevice::IfcSolarDevice(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc2::IfcSolarDevice::IfcSolarDevice(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcSolarDevice::IfcSolarDevice(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSolarDeviceType -::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value Ifc4x3_rc2::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value Ifc4x3_rc2::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcSolarDeviceType::setPredefinedType(::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcSolarDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1048]); } const IfcParse::entity& Ifc4x3_rc2::IfcSolarDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1048]); } Ifc4x3_rc2::IfcSolarDeviceType::IfcSolarDeviceType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc2::IfcSolarDeviceType::IfcSolarDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcSolarDeviceType::IfcSolarDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSolidModel @@ -16037,7 +16037,7 @@ Ifc4x3_rc2::IfcSolarDeviceType::IfcSolarDeviceType(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x3_rc2::IfcSolidModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1051]); } const IfcParse::entity& Ifc4x3_rc2::IfcSolidModel::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1051]); } Ifc4x3_rc2::IfcSolidModel::IfcSolidModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc2::IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcSolidStratum @@ -16045,12 +16045,12 @@ Ifc4x3_rc2::IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem(IfcE const IfcParse::entity& Ifc4x3_rc2::IfcSolidStratum::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1053]); } const IfcParse::entity& Ifc4x3_rc2::IfcSolidStratum::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1053]); } Ifc4x3_rc2::IfcSolidStratum::IfcSolidStratum(IfcEntityInstanceData&& e) : IfcGeotechnicalStratum(std::move(e)) { } -Ifc4x3_rc2::IfcSolidStratum::IfcSolidStratum(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalStratum(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc2::IfcSolidStratum::IfcSolidStratum(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalStratum(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcSpace -boost::optional< ::Ifc4x3_rc2::IfcSpaceTypeEnum::Value > Ifc4x3_rc2::IfcSpace::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSpaceTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc2::IfcSpaceTypeEnum::Value > Ifc4x3_rc2::IfcSpace::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcSpace::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSpaceTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcSpaceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc2::IfcSpace::ElevationWithFlooring() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc2::IfcSpace::ElevationWithFlooring() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcSpace::setElevationWithFlooring(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } ::Ifc4x3_rc2::IfcRelCoversSpaces::list::ptr Ifc4x3_rc2::IfcSpace::HasCoverings() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[946], 4)->as(); } @@ -16059,42 +16059,42 @@ void Ifc4x3_rc2::IfcSpace::setElevationWithFlooring(boost::optional< double > v) const IfcParse::entity& Ifc4x3_rc2::IfcSpace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1058]); } const IfcParse::entity& Ifc4x3_rc2::IfcSpace::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1058]); } Ifc4x3_rc2::IfcSpace::IfcSpace(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x3_rc2::IfcSpace::IfcSpace(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_rc2::IfcSpaceTypeEnum::Value > v10_PredefinedType, boost::optional< double > v11_ElevationWithFlooring) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; populate_derived(); } +Ifc4x3_rc2::IfcSpace::IfcSpace(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_rc2::IfcSpaceTypeEnum::Value > v10_PredefinedType, boost::optional< double > v11_ElevationWithFlooring) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; populate_derived(); } // Function implementations for IfcSpaceHeater -boost::optional< ::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value > Ifc4x3_rc2::IfcSpaceHeater::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value > Ifc4x3_rc2::IfcSpaceHeater::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcSpaceHeater::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcSpaceHeater::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1060]); } const IfcParse::entity& Ifc4x3_rc2::IfcSpaceHeater::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1060]); } Ifc4x3_rc2::IfcSpaceHeater::IfcSpaceHeater(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc2::IfcSpaceHeater::IfcSpaceHeater(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcSpaceHeater::IfcSpaceHeater(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSpaceHeaterType -::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value Ifc4x3_rc2::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value Ifc4x3_rc2::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcSpaceHeaterType::setPredefinedType(::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcSpaceHeaterType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1061]); } const IfcParse::entity& Ifc4x3_rc2::IfcSpaceHeaterType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1061]); } Ifc4x3_rc2::IfcSpaceHeaterType::IfcSpaceHeaterType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc2::IfcSpaceHeaterType::IfcSpaceHeaterType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcSpaceHeaterType::IfcSpaceHeaterType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSpaceType -::Ifc4x3_rc2::IfcSpaceTypeEnum::Value Ifc4x3_rc2::IfcSpaceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcSpaceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcSpaceTypeEnum::Value Ifc4x3_rc2::IfcSpaceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcSpaceType::setPredefinedType(::Ifc4x3_rc2::IfcSpaceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcSpaceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3_rc2::IfcSpaceType::LongName() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcSpaceType::LongName() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcSpaceType::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc2::IfcSpaceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1063]); } const IfcParse::entity& Ifc4x3_rc2::IfcSpaceType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1063]); } Ifc4x3_rc2::IfcSpaceType::IfcSpaceType(IfcEntityInstanceData&& e) : IfcSpatialStructureElementType(std::move(e)) { } -Ifc4x3_rc2::IfcSpaceType::IfcSpaceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSpaceTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialStructureElementType(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } +Ifc4x3_rc2::IfcSpaceType::IfcSpaceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSpaceTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialStructureElementType(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } // Function implementations for IfcSpatialElement -boost::optional< std::string > Ifc4x3_rc2::IfcSpatialElement::LongName() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcSpatialElement::LongName() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcSpatialElement::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } ::Ifc4x3_rc2::IfcRelContainedInSpatialStructure::list::ptr Ifc4x3_rc2::IfcSpatialElement::ContainsElements() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[944], 5)->as(); } @@ -16104,27 +16104,27 @@ void Ifc4x3_rc2::IfcSpatialElement::setLongName(boost::optional< std::string > v const IfcParse::entity& Ifc4x3_rc2::IfcSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1065]); } const IfcParse::entity& Ifc4x3_rc2::IfcSpatialElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1065]); } Ifc4x3_rc2::IfcSpatialElement::IfcSpatialElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_rc2::IfcSpatialElement::IfcSpatialElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcProduct(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } +Ifc4x3_rc2::IfcSpatialElement::IfcSpatialElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } // Function implementations for IfcSpatialElementType -boost::optional< std::string > Ifc4x3_rc2::IfcSpatialElementType::ElementType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcSpatialElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcSpatialElementType::setElementType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcSpatialElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1066]); } const IfcParse::entity& Ifc4x3_rc2::IfcSpatialElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1066]); } Ifc4x3_rc2::IfcSpatialElementType::IfcSpatialElementType(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(e)) { } -Ifc4x3_rc2::IfcSpatialElementType::IfcSpatialElementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc2::IfcSpatialElementType::IfcSpatialElementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcSpatialStructureElement -boost::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > Ifc4x3_rc2::IfcSpatialStructureElement::CompositionType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcElementCompositionEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > Ifc4x3_rc2::IfcSpatialStructureElement::CompositionType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcElementCompositionEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcSpatialStructureElement::setCompositionType(boost::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcSpatialStructureElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1068]); } const IfcParse::entity& Ifc4x3_rc2::IfcSpatialStructureElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1068]); } Ifc4x3_rc2::IfcSpatialStructureElement::IfcSpatialStructureElement(IfcEntityInstanceData&& e) : IfcSpatialElement(std::move(e)) { } -Ifc4x3_rc2::IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } +Ifc4x3_rc2::IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc2::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } // Function implementations for IfcSpatialStructureElementType @@ -16132,132 +16132,132 @@ Ifc4x3_rc2::IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v const IfcParse::entity& Ifc4x3_rc2::IfcSpatialStructureElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1069]); } const IfcParse::entity& Ifc4x3_rc2::IfcSpatialStructureElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1069]); } Ifc4x3_rc2::IfcSpatialStructureElementType::IfcSpatialStructureElementType(IfcEntityInstanceData&& e) : IfcSpatialElementType(std::move(e)) { } -Ifc4x3_rc2::IfcSpatialStructureElementType::IfcSpatialStructureElementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcSpatialElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc2::IfcSpatialStructureElementType::IfcSpatialStructureElementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcSpatialElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcSpatialZone -boost::optional< ::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value > Ifc4x3_rc2::IfcSpatialZone::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value > Ifc4x3_rc2::IfcSpatialZone::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcSpatialZone::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcSpatialZone::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1070]); } const IfcParse::entity& Ifc4x3_rc2::IfcSpatialZone::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1070]); } Ifc4x3_rc2::IfcSpatialZone::IfcSpatialZone(IfcEntityInstanceData&& e) : IfcSpatialElement(std::move(e)) { } -Ifc4x3_rc2::IfcSpatialZone::IfcSpatialZone(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) : IfcSpatialElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcSpatialZone::IfcSpatialZone(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) : IfcSpatialElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSpatialZoneType -::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value Ifc4x3_rc2::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value Ifc4x3_rc2::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcSpatialZoneType::setPredefinedType(::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3_rc2::IfcSpatialZoneType::LongName() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcSpatialZoneType::LongName() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcSpatialZoneType::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc2::IfcSpatialZoneType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1071]); } const IfcParse::entity& Ifc4x3_rc2::IfcSpatialZoneType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1071]); } Ifc4x3_rc2::IfcSpatialZoneType::IfcSpatialZoneType(IfcEntityInstanceData&& e) : IfcSpatialElementType(std::move(e)) { } -Ifc4x3_rc2::IfcSpatialZoneType::IfcSpatialZoneType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialElementType(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } +Ifc4x3_rc2::IfcSpatialZoneType::IfcSpatialZoneType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialElementType(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } // Function implementations for IfcSphere -double Ifc4x3_rc2::IfcSphere::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc2::IfcSphere::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcSphere::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcSphere::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1077]); } const IfcParse::entity& Ifc4x3_rc2::IfcSphere::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1077]); } Ifc4x3_rc2::IfcSphere::IfcSphere(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3_rc2::IfcSphere::IfcSphere(::Ifc4x3_rc2::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x3_rc2::IfcSphere::IfcSphere(::Ifc4x3_rc2::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcSphericalSurface -double Ifc4x3_rc2::IfcSphericalSurface::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc2::IfcSphericalSurface::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcSphericalSurface::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcSphericalSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1078]); } const IfcParse::entity& Ifc4x3_rc2::IfcSphericalSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1078]); } Ifc4x3_rc2::IfcSphericalSurface::IfcSphericalSurface(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x3_rc2::IfcSphericalSurface::IfcSphericalSurface(::Ifc4x3_rc2::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x3_rc2::IfcSphericalSurface::IfcSphericalSurface(::Ifc4x3_rc2::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcStackTerminal -boost::optional< ::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value > Ifc4x3_rc2::IfcStackTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcStackTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value > Ifc4x3_rc2::IfcStackTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcStackTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcStackTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcStackTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1079]); } const IfcParse::entity& Ifc4x3_rc2::IfcStackTerminal::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1079]); } Ifc4x3_rc2::IfcStackTerminal::IfcStackTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc2::IfcStackTerminal::IfcStackTerminal(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcStackTerminal::IfcStackTerminal(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcStackTerminalType -::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value Ifc4x3_rc2::IfcStackTerminalType::PredefinedType() const { return ::Ifc4x3_rc2::IfcStackTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value Ifc4x3_rc2::IfcStackTerminalType::PredefinedType() const { return ::Ifc4x3_rc2::IfcStackTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcStackTerminalType::setPredefinedType(::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcStackTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1080]); } const IfcParse::entity& Ifc4x3_rc2::IfcStackTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1080]); } Ifc4x3_rc2::IfcStackTerminalType::IfcStackTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc2::IfcStackTerminalType::IfcStackTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcStackTerminalType::IfcStackTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStair -boost::optional< ::Ifc4x3_rc2::IfcStairTypeEnum::Value > Ifc4x3_rc2::IfcStair::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcStairTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcStairTypeEnum::Value > Ifc4x3_rc2::IfcStair::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcStairTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcStair::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcStairTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcStairTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcStair::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1082]); } const IfcParse::entity& Ifc4x3_rc2::IfcStair::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1082]); } Ifc4x3_rc2::IfcStair::IfcStair(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc2::IfcStair::IfcStair(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcStairTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcStair::IfcStair(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcStairTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcStairFlight -boost::optional< int > Ifc4x3_rc2::IfcStairFlight::NumberOfRisers() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } int v = data_.get_attribute_value(8); return v; } +boost::optional< int > Ifc4x3_rc2::IfcStairFlight::NumberOfRisers() const { if(get_attribute_value(8).isNull()) { return boost::none; } int v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcStairFlight::setNumberOfRisers(boost::optional< int > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< int > Ifc4x3_rc2::IfcStairFlight::NumberOfTreads() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } int v = data_.get_attribute_value(9); return v; } +boost::optional< int > Ifc4x3_rc2::IfcStairFlight::NumberOfTreads() const { if(get_attribute_value(9).isNull()) { return boost::none; } int v = get_attribute_value(9); return v; } void Ifc4x3_rc2::IfcStairFlight::setNumberOfTreads(boost::optional< int > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc2::IfcStairFlight::RiserHeight() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc2::IfcStairFlight::RiserHeight() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcStairFlight::setRiserHeight(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc2::IfcStairFlight::TreadLength() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc2::IfcStairFlight::TreadLength() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc2::IfcStairFlight::setTreadLength(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< ::Ifc4x3_rc2::IfcStairFlightTypeEnum::Value > Ifc4x3_rc2::IfcStairFlight::PredefinedType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcStairFlightTypeEnum::FromString(data_.get_attribute_value(12)); } +boost::optional< ::Ifc4x3_rc2::IfcStairFlightTypeEnum::Value > Ifc4x3_rc2::IfcStairFlight::PredefinedType() const { if(get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcStairFlightTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x3_rc2::IfcStairFlight::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcStairFlightTypeEnum::Value > v) { if (v) {set_attribute_value(12, EnumerationReference(&::Ifc4x3_rc2::IfcStairFlightTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_rc2::IfcStairFlight::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1083]); } const IfcParse::entity& Ifc4x3_rc2::IfcStairFlight::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1083]); } Ifc4x3_rc2::IfcStairFlight::IfcStairFlight(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc2::IfcStairFlight::IfcStairFlight(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRisers, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength, boost::optional< ::Ifc4x3_rc2::IfcStairFlightTypeEnum::Value > v13_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_rc2::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcStairFlight::IfcStairFlight(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRisers, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength, boost::optional< ::Ifc4x3_rc2::IfcStairFlightTypeEnum::Value > v13_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_rc2::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } // Function implementations for IfcStairFlightType -::Ifc4x3_rc2::IfcStairFlightTypeEnum::Value Ifc4x3_rc2::IfcStairFlightType::PredefinedType() const { return ::Ifc4x3_rc2::IfcStairFlightTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcStairFlightTypeEnum::Value Ifc4x3_rc2::IfcStairFlightType::PredefinedType() const { return ::Ifc4x3_rc2::IfcStairFlightTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcStairFlightType::setPredefinedType(::Ifc4x3_rc2::IfcStairFlightTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcStairFlightTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcStairFlightType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1084]); } const IfcParse::entity& Ifc4x3_rc2::IfcStairFlightType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1084]); } Ifc4x3_rc2::IfcStairFlightType::IfcStairFlightType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc2::IfcStairFlightType::IfcStairFlightType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcStairFlightTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcStairFlightType::IfcStairFlightType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcStairFlightTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStairType -::Ifc4x3_rc2::IfcStairTypeEnum::Value Ifc4x3_rc2::IfcStairType::PredefinedType() const { return ::Ifc4x3_rc2::IfcStairTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcStairTypeEnum::Value Ifc4x3_rc2::IfcStairType::PredefinedType() const { return ::Ifc4x3_rc2::IfcStairTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcStairType::setPredefinedType(::Ifc4x3_rc2::IfcStairTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcStairTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcStairType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1086]); } const IfcParse::entity& Ifc4x3_rc2::IfcStairType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1086]); } Ifc4x3_rc2::IfcStairType::IfcStairType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc2::IfcStairType::IfcStairType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcStairTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcStairType::IfcStairType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcStairTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralAction -boost::optional< bool > Ifc4x3_rc2::IfcStructuralAction::DestabilizingLoad() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } bool v = data_.get_attribute_value(9); return v; } +boost::optional< bool > Ifc4x3_rc2::IfcStructuralAction::DestabilizingLoad() const { if(get_attribute_value(9).isNull()) { return boost::none; } bool v = get_attribute_value(9); return v; } void Ifc4x3_rc2::IfcStructuralAction::setDestabilizingLoad(boost::optional< bool > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralAction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1089]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralAction::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1089]); } Ifc4x3_rc2::IfcStructuralAction::IfcStructuralAction(IfcEntityInstanceData&& e) : IfcStructuralActivity(std::move(e)) { } -Ifc4x3_rc2::IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralActivity(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } +Ifc4x3_rc2::IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralActivity(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } // Function implementations for IfcStructuralActivity -::Ifc4x3_rc2::IfcStructuralLoad* Ifc4x3_rc2::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc2::IfcStructuralLoad>(true); } +::Ifc4x3_rc2::IfcStructuralLoad* Ifc4x3_rc2::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc2::IfcStructuralLoad>(true); } void Ifc4x3_rc2::IfcStructuralActivity::setAppliedLoad(::Ifc4x3_rc2::IfcStructuralLoad* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value Ifc4x3_rc2::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value Ifc4x3_rc2::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcStructuralActivity::setGlobalOrLocal(::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } ::Ifc4x3_rc2::IfcRelConnectsStructuralActivity::list::ptr Ifc4x3_rc2::IfcStructuralActivity::AssignedToStructuralItem() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[940], 5)->as(); } @@ -16265,28 +16265,28 @@ void Ifc4x3_rc2::IfcStructuralActivity::setGlobalOrLocal(::Ifc4x3_rc2::IfcGlobal const IfcParse::entity& Ifc4x3_rc2::IfcStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1090]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralActivity::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1090]); } Ifc4x3_rc2::IfcStructuralActivity::IfcStructuralActivity(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_rc2::IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +Ifc4x3_rc2::IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralAnalysisModel -::Ifc4x3_rc2::IfcAnalysisModelTypeEnum::Value Ifc4x3_rc2::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x3_rc2::IfcAnalysisModelTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_rc2::IfcAnalysisModelTypeEnum::Value Ifc4x3_rc2::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x3_rc2::IfcAnalysisModelTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc2::IfcStructuralAnalysisModel::setPredefinedType(::Ifc4x3_rc2::IfcAnalysisModelTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc2::IfcAnalysisModelTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(true); } void Ifc4x3_rc2::IfcStructuralAnalysisModel::setOrientationOf2DPlane(::Ifc4x3_rc2::IfcAxis2Placement3D* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcStructuralLoadGroup >::ptr > Ifc4x3_rc2::IfcStructuralAnalysisModel::LoadedBy() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc2::IfcStructuralLoadGroup >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcStructuralLoadGroup >::ptr > Ifc4x3_rc2::IfcStructuralAnalysisModel::LoadedBy() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc2::IfcStructuralLoadGroup >(); } void Ifc4x3_rc2::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcStructuralLoadGroup >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcStructuralResultGroup >::ptr > Ifc4x3_rc2::IfcStructuralAnalysisModel::HasResults() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_rc2::IfcStructuralResultGroup >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcStructuralResultGroup >::ptr > Ifc4x3_rc2::IfcStructuralAnalysisModel::HasResults() const { if(get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_rc2::IfcStructuralResultGroup >(); } void Ifc4x3_rc2::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcStructuralResultGroup >::ptr > v) { if (v) {set_attribute_value(8, (*v)->generalize());} else {unset_attribute_value(8);} } -::Ifc4x3_rc2::IfcObjectPlacement* Ifc4x3_rc2::IfcStructuralAnalysisModel::SharedPlacement() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc2::IfcObjectPlacement>(true); } +::Ifc4x3_rc2::IfcObjectPlacement* Ifc4x3_rc2::IfcStructuralAnalysisModel::SharedPlacement() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc2::IfcObjectPlacement>(true); } void Ifc4x3_rc2::IfcStructuralAnalysisModel::setSharedPlacement(::Ifc4x3_rc2::IfcObjectPlacement* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralAnalysisModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1092]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralAnalysisModel::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1092]); } Ifc4x3_rc2::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3_rc2::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc2::IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcStructuralResultGroup >::ptr > v9_HasResults, ::Ifc4x3_rc2::IfcObjectPlacement* v10_SharedPlacement) : IfcSystem(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, v7_OrientationOf2DPlane ? v7_OrientationOf2DPlane->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LoadedBy) {set_attribute_value(7, (*v8_LoadedBy)->generalize()); } if (v9_HasResults) {set_attribute_value(8, (*v9_HasResults)->generalize()); }set_attribute_value(9, v10_SharedPlacement ? v10_SharedPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc2::IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcStructuralResultGroup >::ptr > v9_HasResults, ::Ifc4x3_rc2::IfcObjectPlacement* v10_SharedPlacement) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, v7_OrientationOf2DPlane ? v7_OrientationOf2DPlane->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LoadedBy) {set_attribute_value(7, (*v8_LoadedBy)->generalize()); } if (v9_HasResults) {set_attribute_value(8, (*v9_HasResults)->generalize()); }set_attribute_value(9, v10_SharedPlacement ? v10_SharedPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralConnection -::Ifc4x3_rc2::IfcBoundaryCondition* Ifc4x3_rc2::IfcStructuralConnection::AppliedCondition() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc2::IfcBoundaryCondition>(true); } +::Ifc4x3_rc2::IfcBoundaryCondition* Ifc4x3_rc2::IfcStructuralConnection::AppliedCondition() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc2::IfcBoundaryCondition>(true); } void Ifc4x3_rc2::IfcStructuralConnection::setAppliedCondition(::Ifc4x3_rc2::IfcBoundaryCondition* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_rc2::IfcRelConnectsStructuralMember::list::ptr Ifc4x3_rc2::IfcStructuralConnection::ConnectsStructuralMembers() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[941], 5)->as(); } @@ -16294,51 +16294,51 @@ void Ifc4x3_rc2::IfcStructuralConnection::setAppliedCondition(::Ifc4x3_rc2::IfcB const IfcParse::entity& Ifc4x3_rc2::IfcStructuralConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1093]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralConnection::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1093]); } Ifc4x3_rc2::IfcStructuralConnection::IfcStructuralConnection(IfcEntityInstanceData&& e) : IfcStructuralItem(std::move(e)) { } -Ifc4x3_rc2::IfcStructuralConnection::IfcStructuralConnection(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralItem(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcStructuralConnection::IfcStructuralConnection(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralItem(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralConnectionCondition -boost::optional< std::string > Ifc4x3_rc2::IfcStructuralConnectionCondition::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcStructuralConnectionCondition::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcStructuralConnectionCondition::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1094]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralConnectionCondition::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1094]); } Ifc4x3_rc2::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_rc2::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralCurveAction -boost::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_rc2::IfcStructuralCurveAction::ProjectedOrTrue() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_rc2::IfcStructuralCurveAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc2::IfcStructuralCurveAction::setProjectedOrTrue(boost::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_rc2::IfcStructuralCurveAction::PredefinedType() const { return ::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_rc2::IfcStructuralCurveAction::PredefinedType() const { return ::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc2::IfcStructuralCurveAction::setPredefinedType(::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralCurveAction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1095]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralCurveAction::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1095]); } Ifc4x3_rc2::IfcStructuralCurveAction::IfcStructuralCurveAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -Ifc4x3_rc2::IfcStructuralCurveAction::IfcStructuralCurveAction(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcStructuralCurveAction::IfcStructuralCurveAction(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralCurveConnection -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcStructuralCurveConnection::Axis() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc2::IfcDirection>(true); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcStructuralCurveConnection::Axis() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcStructuralCurveConnection::setAxis(::Ifc4x3_rc2::IfcDirection* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralCurveConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1097]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralCurveConnection::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1097]); } Ifc4x3_rc2::IfcStructuralCurveConnection::IfcStructuralCurveConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -Ifc4x3_rc2::IfcStructuralCurveConnection::IfcStructuralCurveConnection(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x3_rc2::IfcDirection* v9_Axis) : IfcStructuralConnection(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcStructuralCurveConnection::IfcStructuralCurveConnection(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x3_rc2::IfcDirection* v9_Axis) : IfcStructuralConnection(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralCurveMember -::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_rc2::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_rc2::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc2::IfcStructuralCurveMember::setPredefinedType(::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc2::IfcDirection>(true); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcStructuralCurveMember::setAxis(::Ifc4x3_rc2::IfcDirection* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralCurveMember::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1098]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralCurveMember::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1098]); } Ifc4x3_rc2::IfcStructuralCurveMember::IfcStructuralCurveMember(IfcEntityInstanceData&& e) : IfcStructuralMember(std::move(e)) { } -Ifc4x3_rc2::IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc2::IfcDirection* v9_Axis) : IfcStructuralMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc2::IfcDirection* v9_Axis) : IfcStructuralMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralCurveMemberVarying @@ -16346,17 +16346,17 @@ Ifc4x3_rc2::IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_Gl const IfcParse::entity& Ifc4x3_rc2::IfcStructuralCurveMemberVarying::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1100]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralCurveMemberVarying::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1100]); } Ifc4x3_rc2::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(IfcEntityInstanceData&& e) : IfcStructuralCurveMember(std::move(e)) { } -Ifc4x3_rc2::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc2::IfcDirection* v9_Axis) : IfcStructuralCurveMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc2::IfcDirection* v9_Axis) : IfcStructuralCurveMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralCurveReaction -::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_rc2::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_rc2::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcStructuralCurveReaction::setPredefinedType(::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralCurveReaction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1101]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralCurveReaction::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1101]); } Ifc4x3_rc2::IfcStructuralCurveReaction::IfcStructuralCurveReaction(IfcEntityInstanceData&& e) : IfcStructuralReaction(std::move(e)) { } -Ifc4x3_rc2::IfcStructuralCurveReaction::IfcStructuralCurveReaction(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcStructuralCurveReaction::IfcStructuralCurveReaction(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralItem @@ -16365,7 +16365,7 @@ Ifc4x3_rc2::IfcStructuralCurveReaction::IfcStructuralCurveReaction(std::string v const IfcParse::entity& Ifc4x3_rc2::IfcStructuralItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1102]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralItem::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1102]); } Ifc4x3_rc2::IfcStructuralItem::IfcStructuralItem(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_rc2::IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralLinearAction @@ -16373,50 +16373,50 @@ Ifc4x3_rc2::IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLinearAction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1103]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLinearAction::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1103]); } Ifc4x3_rc2::IfcStructuralLinearAction::IfcStructuralLinearAction(IfcEntityInstanceData&& e) : IfcStructuralCurveAction(std::move(e)) { } -Ifc4x3_rc2::IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralCurveAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralCurveAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralLoad -boost::optional< std::string > Ifc4x3_rc2::IfcStructuralLoad::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcStructuralLoad::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcStructuralLoad::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoad::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1104]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoad::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1104]); } Ifc4x3_rc2::IfcStructuralLoad::IfcStructuralLoad(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_rc2::IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralLoadCase -boost::optional< std::vector< double > /*[3:3]*/ > Ifc4x3_rc2::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::vector< double > /*[3:3]*/ v = data_.get_attribute_value(10); return v; } +boost::optional< std::vector< double > /*[3:3]*/ > Ifc4x3_rc2::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::vector< double > /*[3:3]*/ v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcStructuralLoadCase::setSelfWeightCoefficients(boost::optional< std::vector< double > /*[3:3]*/ > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1105]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadCase::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1105]); } Ifc4x3_rc2::IfcStructuralLoadCase::IfcStructuralLoadCase(IfcEntityInstanceData&& e) : IfcStructuralLoadGroup(std::move(e)) { } -Ifc4x3_rc2::IfcStructuralLoadCase::IfcStructuralLoadCase(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc2::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(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc2::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); }; populate_derived(); } +Ifc4x3_rc2::IfcStructuralLoadCase::IfcStructuralLoadCase(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc2::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(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc2::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); }; populate_derived(); } // Function implementations for IfcStructuralLoadConfiguration -aggregate_of< ::Ifc4x3_rc2::IfcStructuralLoadOrResult >::ptr Ifc4x3_rc2::IfcStructuralLoadConfiguration::Values() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcStructuralLoadOrResult >(); } +aggregate_of< ::Ifc4x3_rc2::IfcStructuralLoadOrResult >::ptr Ifc4x3_rc2::IfcStructuralLoadConfiguration::Values() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcStructuralLoadOrResult >(); } void Ifc4x3_rc2::IfcStructuralLoadConfiguration::setValues(aggregate_of< ::Ifc4x3_rc2::IfcStructuralLoadOrResult >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::vector< std::vector< double > > > Ifc4x3_rc2::IfcStructuralLoadConfiguration::Locations() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< std::vector< double > > v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< std::vector< double > > > Ifc4x3_rc2::IfcStructuralLoadConfiguration::Locations() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< std::vector< double > > v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcStructuralLoadConfiguration::setLocations(boost::optional< std::vector< std::vector< double > > > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadConfiguration::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1106]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadConfiguration::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1106]); } Ifc4x3_rc2::IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(IfcEntityInstanceData&& e) : IfcStructuralLoad(std::move(e)) { } -Ifc4x3_rc2::IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc2::IfcStructuralLoadOrResult >::ptr v2_Values, boost::optional< std::vector< std::vector< double > > > v3_Locations) : IfcStructuralLoad(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Values)->generalize()); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); }; populate_derived(); } +Ifc4x3_rc2::IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc2::IfcStructuralLoadOrResult >::ptr v2_Values, boost::optional< std::vector< std::vector< double > > > v3_Locations) : IfcStructuralLoad(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Values)->generalize()); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); }; populate_derived(); } // Function implementations for IfcStructuralLoadGroup -::Ifc4x3_rc2::IfcLoadGroupTypeEnum::Value Ifc4x3_rc2::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4x3_rc2::IfcLoadGroupTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_rc2::IfcLoadGroupTypeEnum::Value Ifc4x3_rc2::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4x3_rc2::IfcLoadGroupTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc2::IfcStructuralLoadGroup::setPredefinedType(::Ifc4x3_rc2::IfcLoadGroupTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc2::IfcLoadGroupTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc2::IfcActionTypeEnum::Value Ifc4x3_rc2::IfcStructuralLoadGroup::ActionType() const { return ::Ifc4x3_rc2::IfcActionTypeEnum::FromString(data_.get_attribute_value(6)); } +::Ifc4x3_rc2::IfcActionTypeEnum::Value Ifc4x3_rc2::IfcStructuralLoadGroup::ActionType() const { return ::Ifc4x3_rc2::IfcActionTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_rc2::IfcStructuralLoadGroup::setActionType(::Ifc4x3_rc2::IfcActionTypeEnum::Value v) { set_attribute_value(6, EnumerationReference(&::Ifc4x3_rc2::IfcActionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc2::IfcActionSourceTypeEnum::Value Ifc4x3_rc2::IfcStructuralLoadGroup::ActionSource() const { return ::Ifc4x3_rc2::IfcActionSourceTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc2::IfcActionSourceTypeEnum::Value Ifc4x3_rc2::IfcStructuralLoadGroup::ActionSource() const { return ::Ifc4x3_rc2::IfcActionSourceTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc2::IfcStructuralLoadGroup::setActionSource(::Ifc4x3_rc2::IfcActionSourceTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc2::IfcActionSourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadGroup::Coefficient() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadGroup::Coefficient() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcStructuralLoadGroup::setCoefficient(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_rc2::IfcStructuralLoadGroup::Purpose() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcStructuralLoadGroup::Purpose() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc2::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } ::Ifc4x3_rc2::IfcStructuralResultGroup::list::ptr Ifc4x3_rc2::IfcStructuralLoadGroup::SourceOfResultGroup() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[1123], 6)->as(); } @@ -16425,27 +16425,27 @@ void Ifc4x3_rc2::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1107]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadGroup::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1107]); } Ifc4x3_rc2::IfcStructuralLoadGroup::IfcStructuralLoadGroup(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x3_rc2::IfcStructuralLoadGroup::IfcStructuralLoadGroup(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc2::IfcActionSourceTypeEnum::Value v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose) : IfcGroup(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc2::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; populate_derived(); } +Ifc4x3_rc2::IfcStructuralLoadGroup::IfcStructuralLoadGroup(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc2::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc2::IfcActionSourceTypeEnum::Value v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc2::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; populate_derived(); } // Function implementations for IfcStructuralLoadLinearForce -boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadLinearForce::LinearForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadLinearForce::LinearForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcStructuralLoadLinearForce::setLinearForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadLinearForce::LinearForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadLinearForce::LinearForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcStructuralLoadLinearForce::setLinearForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadLinearForce::LinearForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadLinearForce::LinearForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcStructuralLoadLinearForce::setLinearForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadLinearForce::LinearMomentX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadLinearForce::LinearMomentX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcStructuralLoadLinearForce::setLinearMomentX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadLinearForce::LinearMomentY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadLinearForce::LinearMomentY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcStructuralLoadLinearForce::setLinearMomentY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadLinearForce::LinearMomentZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadLinearForce::LinearMomentZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcStructuralLoadLinearForce::setLinearMomentZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadLinearForce::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1108]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadLinearForce::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1108]); } Ifc4x3_rc2::IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3_rc2::IfcStructuralLoadLinearForce::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) : IfcStructuralLoadStatic(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; populate_derived(); } +Ifc4x3_rc2::IfcStructuralLoadLinearForce::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) : IfcStructuralLoadStatic(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadOrResult @@ -16453,81 +16453,81 @@ Ifc4x3_rc2::IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(boost::op const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadOrResult::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1109]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadOrResult::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1109]); } Ifc4x3_rc2::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(IfcEntityInstanceData&& e) : IfcStructuralLoad(std::move(e)) { } -Ifc4x3_rc2::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional< std::string > v1_Name) : IfcStructuralLoad(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_rc2::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional< std::string > v1_Name) : IfcStructuralLoad(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralLoadPlanarForce -boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcStructuralLoadPlanarForce::setPlanarForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadPlanarForce::PlanarForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadPlanarForce::PlanarForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcStructuralLoadPlanarForce::setPlanarForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadPlanarForce::PlanarForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadPlanarForce::PlanarForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcStructuralLoadPlanarForce::setPlanarForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadPlanarForce::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1110]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadPlanarForce::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1110]); } Ifc4x3_rc2::IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3_rc2::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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; populate_derived(); } +Ifc4x3_rc2::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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleDisplacement -boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::setDisplacementX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::DisplacementY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::DisplacementY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::setDisplacementY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::DisplacementZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::DisplacementZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::setDisplacementZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1111]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1111]); } Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3_rc2::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; populate_derived(); } +Ifc4x3_rc2::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleDisplacementDistortion -boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadSingleDisplacementDistortion::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1112]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadSingleDisplacementDistortion::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1112]); } Ifc4x3_rc2::IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDisplacementDistortion(IfcEntityInstanceData&& e) : IfcStructuralLoadSingleDisplacement(std::move(e)) { } -Ifc4x3_rc2::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(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; populate_derived(); } +Ifc4x3_rc2::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(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleForce -boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleForce::ForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleForce::ForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcStructuralLoadSingleForce::setForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleForce::ForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleForce::ForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcStructuralLoadSingleForce::setForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleForce::ForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleForce::ForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcStructuralLoadSingleForce::setForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleForce::MomentX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleForce::MomentX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcStructuralLoadSingleForce::setMomentX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleForce::MomentY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleForce::MomentY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcStructuralLoadSingleForce::setMomentY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleForce::MomentZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleForce::MomentZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcStructuralLoadSingleForce::setMomentZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadSingleForce::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1113]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadSingleForce::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1113]); } Ifc4x3_rc2::IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3_rc2::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; populate_derived(); } +Ifc4x3_rc2::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleForceWarping -boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcStructuralLoadSingleForceWarping::setWarpingMoment(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadSingleForceWarping::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1114]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadSingleForceWarping::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1114]); } Ifc4x3_rc2::IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWarping(IfcEntityInstanceData&& e) : IfcStructuralLoadSingleForce(std::move(e)) { } -Ifc4x3_rc2::IfcStructuralLoadSingleForceWarping::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) : IfcStructuralLoadSingleForce(IfcEntityInstanceData(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; populate_derived(); } +Ifc4x3_rc2::IfcStructuralLoadSingleForceWarping::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) : IfcStructuralLoadSingleForce(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; populate_derived(); } // Function implementations for IfcStructuralLoadStatic @@ -16535,21 +16535,21 @@ Ifc4x3_rc2::IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWar const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadStatic::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1115]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadStatic::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1115]); } Ifc4x3_rc2::IfcStructuralLoadStatic::IfcStructuralLoadStatic(IfcEntityInstanceData&& e) : IfcStructuralLoadOrResult(std::move(e)) { } -Ifc4x3_rc2::IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< std::string > v1_Name) : IfcStructuralLoadOrResult(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_rc2::IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< std::string > v1_Name) : IfcStructuralLoadOrResult(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralLoadTemperature -boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadTemperature::DeltaTConstant() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadTemperature::DeltaTConstant() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcStructuralLoadTemperature::setDeltaTConstant(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadTemperature::DeltaTY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadTemperature::DeltaTY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcStructuralLoadTemperature::setDeltaTY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadTemperature::DeltaTZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc2::IfcStructuralLoadTemperature::DeltaTZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcStructuralLoadTemperature::setDeltaTZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadTemperature::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1116]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralLoadTemperature::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1116]); } Ifc4x3_rc2::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3_rc2::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::optional< std::string > v1_Name, boost::optional< double > v2_DeltaTConstant, boost::optional< double > v3_DeltaTY, boost::optional< double > v4_DeltaTZ) : IfcStructuralLoadStatic(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); }; populate_derived(); } +Ifc4x3_rc2::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::optional< std::string > v1_Name, boost::optional< double > v2_DeltaTConstant, boost::optional< double > v3_DeltaTY, boost::optional< double > v4_DeltaTZ) : IfcStructuralLoadStatic(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); }; populate_derived(); } // Function implementations for IfcStructuralMember @@ -16558,7 +16558,7 @@ Ifc4x3_rc2::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::op const IfcParse::entity& Ifc4x3_rc2::IfcStructuralMember::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1117]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralMember::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1117]); } Ifc4x3_rc2::IfcStructuralMember::IfcStructuralMember(IfcEntityInstanceData&& e) : IfcStructuralItem(std::move(e)) { } -Ifc4x3_rc2::IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation) : IfcStructuralItem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation) : IfcStructuralItem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralPlanarAction @@ -16566,7 +16566,7 @@ Ifc4x3_rc2::IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x3_rc2::IfcStructuralPlanarAction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1118]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralPlanarAction::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1118]); } Ifc4x3_rc2::IfcStructuralPlanarAction::IfcStructuralPlanarAction(IfcEntityInstanceData&& e) : IfcStructuralSurfaceAction(std::move(e)) { } -Ifc4x3_rc2::IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralSurfaceAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralSurfaceAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralPointAction @@ -16574,17 +16574,17 @@ Ifc4x3_rc2::IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_ const IfcParse::entity& Ifc4x3_rc2::IfcStructuralPointAction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1119]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralPointAction::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1119]); } Ifc4x3_rc2::IfcStructuralPointAction::IfcStructuralPointAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -Ifc4x3_rc2::IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralAction(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } +Ifc4x3_rc2::IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralAction(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } // Function implementations for IfcStructuralPointConnection -::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(true); } void Ifc4x3_rc2::IfcStructuralPointConnection::setConditionCoordinateSystem(::Ifc4x3_rc2::IfcAxis2Placement3D* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralPointConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1120]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralPointConnection::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1120]); } Ifc4x3_rc2::IfcStructuralPointConnection::IfcStructuralPointConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -Ifc4x3_rc2::IfcStructuralPointConnection::IfcStructuralPointConnection(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x3_rc2::IfcAxis2Placement3D* v9_ConditionCoordinateSystem) : IfcStructuralConnection(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_ConditionCoordinateSystem ? v9_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcStructuralPointConnection::IfcStructuralPointConnection(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x3_rc2::IfcAxis2Placement3D* v9_ConditionCoordinateSystem) : IfcStructuralConnection(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_ConditionCoordinateSystem ? v9_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralPointReaction @@ -16592,7 +16592,7 @@ Ifc4x3_rc2::IfcStructuralPointConnection::IfcStructuralPointConnection(std::stri const IfcParse::entity& Ifc4x3_rc2::IfcStructuralPointReaction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1121]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralPointReaction::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1121]); } Ifc4x3_rc2::IfcStructuralPointReaction::IfcStructuralPointReaction(IfcEntityInstanceData&& e) : IfcStructuralReaction(std::move(e)) { } -Ifc4x3_rc2::IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralReaction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +Ifc4x3_rc2::IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralReaction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralReaction @@ -16600,14 +16600,14 @@ Ifc4x3_rc2::IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v const IfcParse::entity& Ifc4x3_rc2::IfcStructuralReaction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1122]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralReaction::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1122]); } Ifc4x3_rc2::IfcStructuralReaction::IfcStructuralReaction(IfcEntityInstanceData&& e) : IfcStructuralActivity(std::move(e)) { } -Ifc4x3_rc2::IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralActivity(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +Ifc4x3_rc2::IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralActivity(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralResultGroup -::Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_rc2::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_rc2::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc2::IfcStructuralResultGroup::setTheoryType(::Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc2::IfcStructuralLoadGroup* Ifc4x3_rc2::IfcStructuralResultGroup::ResultForLoadGroup() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcStructuralLoadGroup>(true); } +::Ifc4x3_rc2::IfcStructuralLoadGroup* Ifc4x3_rc2::IfcStructuralResultGroup::ResultForLoadGroup() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcStructuralLoadGroup>(true); } void Ifc4x3_rc2::IfcStructuralResultGroup::setResultForLoadGroup(::Ifc4x3_rc2::IfcStructuralLoadGroup* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -bool Ifc4x3_rc2::IfcStructuralResultGroup::IsLinear() const { bool v = data_.get_attribute_value(7); return v; } +bool Ifc4x3_rc2::IfcStructuralResultGroup::IsLinear() const { bool v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcStructuralResultGroup::setIsLinear(bool v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_rc2::IfcStructuralAnalysisModel::list::ptr Ifc4x3_rc2::IfcStructuralResultGroup::ResultGroupFor() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[1092], 8)->as(); } @@ -16615,19 +16615,19 @@ void Ifc4x3_rc2::IfcStructuralResultGroup::setIsLinear(bool v) { set_attribute_v const IfcParse::entity& Ifc4x3_rc2::IfcStructuralResultGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1123]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralResultGroup::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1123]); } Ifc4x3_rc2::IfcStructuralResultGroup::IfcStructuralResultGroup(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x3_rc2::IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_rc2::IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear) : IfcGroup(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, v7_ResultForLoadGroup ? v7_ResultForLoadGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_IsLinear));; populate_derived(); } +Ifc4x3_rc2::IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_rc2::IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, v7_ResultForLoadGroup ? v7_ResultForLoadGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_IsLinear));; populate_derived(); } // Function implementations for IfcStructuralSurfaceAction -boost::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_rc2::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_rc2::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc2::IfcStructuralSurfaceAction::setProjectedOrTrue(boost::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_rc2::IfcStructuralSurfaceAction::PredefinedType() const { return ::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_rc2::IfcStructuralSurfaceAction::PredefinedType() const { return ::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc2::IfcStructuralSurfaceAction::setPredefinedType(::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralSurfaceAction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1124]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralSurfaceAction::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1124]); } Ifc4x3_rc2::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -Ifc4x3_rc2::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralSurfaceConnection @@ -16635,19 +16635,19 @@ Ifc4x3_rc2::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(std::string v const IfcParse::entity& Ifc4x3_rc2::IfcStructuralSurfaceConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1126]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralSurfaceConnection::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1126]); } Ifc4x3_rc2::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -Ifc4x3_rc2::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralSurfaceMember -::Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_rc2::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_rc2::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc2::IfcStructuralSurfaceMember::setPredefinedType(::Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc4x3_rc2::IfcStructuralSurfaceMember::Thickness() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc2::IfcStructuralSurfaceMember::Thickness() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcStructuralSurfaceMember::setThickness(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralSurfaceMember::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1127]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralSurfaceMember::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1127]); } Ifc4x3_rc2::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(IfcEntityInstanceData&& e) : IfcStructuralMember(std::move(e)) { } -Ifc4x3_rc2::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } +Ifc4x3_rc2::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } // Function implementations for IfcStructuralSurfaceMemberVarying @@ -16655,17 +16655,17 @@ Ifc4x3_rc2::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v const IfcParse::entity& Ifc4x3_rc2::IfcStructuralSurfaceMemberVarying::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1129]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralSurfaceMemberVarying::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1129]); } Ifc4x3_rc2::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(IfcEntityInstanceData&& e) : IfcStructuralSurfaceMember(std::move(e)) { } -Ifc4x3_rc2::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralSurfaceMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } +Ifc4x3_rc2::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralSurfaceMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } // Function implementations for IfcStructuralSurfaceReaction -::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_rc2::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_rc2::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcStructuralSurfaceReaction::setPredefinedType(::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralSurfaceReaction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1130]); } const IfcParse::entity& Ifc4x3_rc2::IfcStructuralSurfaceReaction::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1130]); } Ifc4x3_rc2::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(IfcEntityInstanceData&& e) : IfcStructuralReaction(std::move(e)) { } -Ifc4x3_rc2::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc2::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStyleModel @@ -16673,21 +16673,21 @@ Ifc4x3_rc2::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(std::stri const IfcParse::entity& Ifc4x3_rc2::IfcStyleModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1134]); } const IfcParse::entity& Ifc4x3_rc2::IfcStyleModel::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1134]); } Ifc4x3_rc2::IfcStyleModel::IfcStyleModel(IfcEntityInstanceData&& e) : IfcRepresentation(std::move(e)) { } -Ifc4x3_rc2::IfcStyleModel::IfcStyleModel(::Ifc4x3_rc2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc2::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcStyleModel::IfcStyleModel(::Ifc4x3_rc2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc2::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcStyledItem -::Ifc4x3_rc2::IfcRepresentationItem* Ifc4x3_rc2::IfcStyledItem::Item() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcRepresentationItem>(true); } +::Ifc4x3_rc2::IfcRepresentationItem* Ifc4x3_rc2::IfcStyledItem::Item() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcRepresentationItem>(true); } void Ifc4x3_rc2::IfcStyledItem::setItem(::Ifc4x3_rc2::IfcRepresentationItem* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc2::IfcStyleAssignmentSelect >::ptr Ifc4x3_rc2::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcStyleAssignmentSelect >(); } +aggregate_of< ::Ifc4x3_rc2::IfcStyleAssignmentSelect >::ptr Ifc4x3_rc2::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcStyleAssignmentSelect >(); } void Ifc4x3_rc2::IfcStyledItem::setStyles(aggregate_of< ::Ifc4x3_rc2::IfcStyleAssignmentSelect >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_rc2::IfcStyledItem::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcStyledItem::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcStyledItem::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc2::IfcStyledItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1132]); } const IfcParse::entity& Ifc4x3_rc2::IfcStyledItem::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1132]); } Ifc4x3_rc2::IfcStyledItem::IfcStyledItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcStyledItem::IfcStyledItem(::Ifc4x3_rc2::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x3_rc2::IfcStyleAssignmentSelect >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3_rc2::IfcStyledItem::IfcStyledItem(::Ifc4x3_rc2::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x3_rc2::IfcStyleAssignmentSelect >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcStyledRepresentation @@ -16695,37 +16695,37 @@ Ifc4x3_rc2::IfcStyledItem::IfcStyledItem(::Ifc4x3_rc2::IfcRepresentationItem* v1 const IfcParse::entity& Ifc4x3_rc2::IfcStyledRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1133]); } const IfcParse::entity& Ifc4x3_rc2::IfcStyledRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1133]); } Ifc4x3_rc2::IfcStyledRepresentation::IfcStyledRepresentation(IfcEntityInstanceData&& e) : IfcStyleModel(std::move(e)) { } -Ifc4x3_rc2::IfcStyledRepresentation::IfcStyledRepresentation(::Ifc4x3_rc2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc2::IfcRepresentationItem >::ptr v4_Items) : IfcStyleModel(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcStyledRepresentation::IfcStyledRepresentation(::Ifc4x3_rc2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc2::IfcRepresentationItem >::ptr v4_Items) : IfcStyleModel(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcSubContractResource -boost::optional< ::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Value > Ifc4x3_rc2::IfcSubContractResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Value > Ifc4x3_rc2::IfcSubContractResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc2::IfcSubContractResource::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc2::IfcSubContractResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1135]); } const IfcParse::entity& Ifc4x3_rc2::IfcSubContractResource::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1135]); } Ifc4x3_rc2::IfcSubContractResource::IfcSubContractResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_rc2::IfcSubContractResource::IfcSubContractResource(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcSubContractResource::IfcSubContractResource(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc2::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSubContractResourceType -::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Value Ifc4x3_rc2::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Value Ifc4x3_rc2::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc2::IfcSubContractResourceType::setPredefinedType(::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc2::IfcSubContractResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1136]); } const IfcParse::entity& Ifc4x3_rc2::IfcSubContractResourceType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1136]); } Ifc4x3_rc2::IfcSubContractResourceType::IfcSubContractResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_rc2::IfcSubContractResourceType::IfcSubContractResourceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcSubContractResourceType::IfcSubContractResourceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc2::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc2::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcSubedge -::Ifc4x3_rc2::IfcEdge* Ifc4x3_rc2::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcEdge>(true); } +::Ifc4x3_rc2::IfcEdge* Ifc4x3_rc2::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcEdge>(true); } void Ifc4x3_rc2::IfcSubedge::setParentEdge(::Ifc4x3_rc2::IfcEdge* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcSubedge::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1138]); } const IfcParse::entity& Ifc4x3_rc2::IfcSubedge::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1138]); } Ifc4x3_rc2::IfcSubedge::IfcSubedge(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc4x3_rc2::IfcSubedge::IfcSubedge(::Ifc4x3_rc2::IfcVertex* v1_EdgeStart, ::Ifc4x3_rc2::IfcVertex* v2_EdgeEnd, ::Ifc4x3_rc2::IfcEdge* v3_ParentEdge) : IfcEdge(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ParentEdge ? v3_ParentEdge->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcSubedge::IfcSubedge(::Ifc4x3_rc2::IfcVertex* v1_EdgeStart, ::Ifc4x3_rc2::IfcVertex* v2_EdgeEnd, ::Ifc4x3_rc2::IfcEdge* v3_ParentEdge) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ParentEdge ? v3_ParentEdge->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurface @@ -16733,172 +16733,172 @@ Ifc4x3_rc2::IfcSubedge::IfcSubedge(::Ifc4x3_rc2::IfcVertex* v1_EdgeStart, ::Ifc4 const IfcParse::entity& Ifc4x3_rc2::IfcSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1139]); } const IfcParse::entity& Ifc4x3_rc2::IfcSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1139]); } Ifc4x3_rc2::IfcSurface::IfcSurface(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcSurface::IfcSurface() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc2::IfcSurface::IfcSurface() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcSurfaceCurve -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCurve>(true); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcSurfaceCurve::setCurve3D(::Ifc4x3_rc2::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc2::IfcPcurve >::ptr Ifc4x3_rc2::IfcSurfaceCurve::AssociatedGeometry() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcPcurve >(); } +aggregate_of< ::Ifc4x3_rc2::IfcPcurve >::ptr Ifc4x3_rc2::IfcSurfaceCurve::AssociatedGeometry() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcPcurve >(); } void Ifc4x3_rc2::IfcSurfaceCurve::setAssociatedGeometry(aggregate_of< ::Ifc4x3_rc2::IfcPcurve >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x3_rc2::IfcSurfaceCurve::MasterRepresentation() const { return ::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::FromString(data_.get_attribute_value(2)); } +::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x3_rc2::IfcSurfaceCurve::MasterRepresentation() const { return ::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::FromString(get_attribute_value(2)); } void Ifc4x3_rc2::IfcSurfaceCurve::setMasterRepresentation(::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1140]); } const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1140]); } Ifc4x3_rc2::IfcSurfaceCurve::IfcSurfaceCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_rc2::IfcSurfaceCurve::IfcSurfaceCurve(::Ifc4x3_rc2::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_rc2::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } +Ifc4x3_rc2::IfcSurfaceCurve::IfcSurfaceCurve(::Ifc4x3_rc2::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_rc2::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcSurfaceCurveSweptAreaSolid -::Ifc4x3_rc2::IfcSurface* Ifc4x3_rc2::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcSurface>(true); } +::Ifc4x3_rc2::IfcSurface* Ifc4x3_rc2::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcSurface>(true); } void Ifc4x3_rc2::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(::Ifc4x3_rc2::IfcSurface* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceCurveSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1141]); } const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceCurveSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1141]); } Ifc4x3_rc2::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(IfcEntityInstanceData&& e) : IfcDirectrixCurveSweptAreaSolid(std::move(e)) { } -Ifc4x3_rc2::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(::Ifc4x3_rc2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc2::IfcCurve* v3_Directrix, ::Ifc4x3_rc2::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_rc2::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3_rc2::IfcSurface* v6_ReferenceSurface) : IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReferenceSurface ? v6_ReferenceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(::Ifc4x3_rc2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc2::IfcCurve* v3_Directrix, ::Ifc4x3_rc2::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_rc2::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3_rc2::IfcSurface* v6_ReferenceSurface) : IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReferenceSurface ? v6_ReferenceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceFeature -boost::optional< ::Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::Value > Ifc4x3_rc2::IfcSurfaceFeature::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::Value > Ifc4x3_rc2::IfcSurfaceFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcSurfaceFeature::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceFeature::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1142]); } const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceFeature::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1142]); } Ifc4x3_rc2::IfcSurfaceFeature::IfcSurfaceFeature(IfcEntityInstanceData&& e) : IfcFeatureElement(std::move(e)) { } -Ifc4x3_rc2::IfcSurfaceFeature::IfcSurfaceFeature(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcSurfaceFeature::IfcSurfaceFeature(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSurfaceOfLinearExtrusion -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcDirection>(true); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcSurfaceOfLinearExtrusion::setExtrudedDirection(::Ifc4x3_rc2::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc2::IfcSurfaceOfLinearExtrusion::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc2::IfcSurfaceOfLinearExtrusion::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcSurfaceOfLinearExtrusion::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceOfLinearExtrusion::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1144]); } const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceOfLinearExtrusion::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1144]); } Ifc4x3_rc2::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(IfcEntityInstanceData&& e) : IfcSweptSurface(std::move(e)) { } -Ifc4x3_rc2::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(::Ifc4x3_rc2::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_rc2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc2::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } +Ifc4x3_rc2::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(::Ifc4x3_rc2::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_rc2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc2::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } // Function implementations for IfcSurfaceOfRevolution -::Ifc4x3_rc2::IfcAxis1Placement* Ifc4x3_rc2::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcAxis1Placement>(true); } +::Ifc4x3_rc2::IfcAxis1Placement* Ifc4x3_rc2::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcAxis1Placement>(true); } void Ifc4x3_rc2::IfcSurfaceOfRevolution::setAxisPosition(::Ifc4x3_rc2::IfcAxis1Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceOfRevolution::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1145]); } const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceOfRevolution::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1145]); } Ifc4x3_rc2::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(IfcEntityInstanceData&& e) : IfcSweptSurface(std::move(e)) { } -Ifc4x3_rc2::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(::Ifc4x3_rc2::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_rc2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc2::IfcAxis1Placement* v3_AxisPosition) : IfcSweptSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_AxisPosition ? v3_AxisPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(::Ifc4x3_rc2::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_rc2::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc2::IfcAxis1Placement* v3_AxisPosition) : IfcSweptSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_AxisPosition ? v3_AxisPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceReinforcementArea -boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_rc2::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_rc2::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcSurfaceReinforcementArea::setSurfaceReinforcement1(boost::optional< std::vector< double > /*[2:3]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_rc2::IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_rc2::IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcSurfaceReinforcementArea::setSurfaceReinforcement2(boost::optional< std::vector< double > /*[2:3]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc2::IfcSurfaceReinforcementArea::ShearReinforcement() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc2::IfcSurfaceReinforcementArea::ShearReinforcement() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcSurfaceReinforcementArea::setShearReinforcement(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceReinforcementArea::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1147]); } const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceReinforcementArea::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1147]); } Ifc4x3_rc2::IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(IfcEntityInstanceData&& e) : IfcStructuralLoadOrResult(std::move(e)) { } -Ifc4x3_rc2::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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); }; populate_derived(); } +Ifc4x3_rc2::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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); }; populate_derived(); } // Function implementations for IfcSurfaceStyle -::Ifc4x3_rc2::IfcSurfaceSide::Value Ifc4x3_rc2::IfcSurfaceStyle::Side() const { return ::Ifc4x3_rc2::IfcSurfaceSide::FromString(data_.get_attribute_value(1)); } +::Ifc4x3_rc2::IfcSurfaceSide::Value Ifc4x3_rc2::IfcSurfaceStyle::Side() const { return ::Ifc4x3_rc2::IfcSurfaceSide::FromString(get_attribute_value(1)); } void Ifc4x3_rc2::IfcSurfaceStyle::setSide(::Ifc4x3_rc2::IfcSurfaceSide::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x3_rc2::IfcSurfaceSide::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3_rc2::IfcSurfaceStyleElementSelect >::ptr Ifc4x3_rc2::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcSurfaceStyleElementSelect >(); } +aggregate_of< ::Ifc4x3_rc2::IfcSurfaceStyleElementSelect >::ptr Ifc4x3_rc2::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcSurfaceStyleElementSelect >(); } void Ifc4x3_rc2::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x3_rc2::IfcSurfaceStyleElementSelect >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1149]); } const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1149]); } Ifc4x3_rc2::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x3_rc2::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_rc2::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc2::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, (v3_Styles)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_rc2::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc2::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, (v3_Styles)->generalize());; populate_derived(); } // Function implementations for IfcSurfaceStyleLighting -::Ifc4x3_rc2::IfcColourRgb* Ifc4x3_rc2::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcColourRgb>(true); } +::Ifc4x3_rc2::IfcColourRgb* Ifc4x3_rc2::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcColourRgb>(true); } void Ifc4x3_rc2::IfcSurfaceStyleLighting::setDiffuseTransmissionColour(::Ifc4x3_rc2::IfcColourRgb* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcColourRgb* Ifc4x3_rc2::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcColourRgb>(true); } +::Ifc4x3_rc2::IfcColourRgb* Ifc4x3_rc2::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcColourRgb>(true); } void Ifc4x3_rc2::IfcSurfaceStyleLighting::setDiffuseReflectionColour(::Ifc4x3_rc2::IfcColourRgb* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcColourRgb* Ifc4x3_rc2::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcColourRgb>(true); } +::Ifc4x3_rc2::IfcColourRgb* Ifc4x3_rc2::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcColourRgb>(true); } void Ifc4x3_rc2::IfcSurfaceStyleLighting::setTransmissionColour(::Ifc4x3_rc2::IfcColourRgb* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcColourRgb* Ifc4x3_rc2::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcColourRgb>(true); } +::Ifc4x3_rc2::IfcColourRgb* Ifc4x3_rc2::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcColourRgb>(true); } void Ifc4x3_rc2::IfcSurfaceStyleLighting::setReflectanceColour(::Ifc4x3_rc2::IfcColourRgb* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceStyleLighting::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1151]); } const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceStyleLighting::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1151]); } Ifc4x3_rc2::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(::Ifc4x3_rc2::IfcColourRgb* v1_DiffuseTransmissionColour, ::Ifc4x3_rc2::IfcColourRgb* v2_DiffuseReflectionColour, ::Ifc4x3_rc2::IfcColourRgb* v3_TransmissionColour, ::Ifc4x3_rc2::IfcColourRgb* v4_ReflectanceColour) : IfcPresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_DiffuseTransmissionColour ? v1_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_DiffuseReflectionColour ? v2_DiffuseReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TransmissionColour ? v3_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_ReflectanceColour ? v4_ReflectanceColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(::Ifc4x3_rc2::IfcColourRgb* v1_DiffuseTransmissionColour, ::Ifc4x3_rc2::IfcColourRgb* v2_DiffuseReflectionColour, ::Ifc4x3_rc2::IfcColourRgb* v3_TransmissionColour, ::Ifc4x3_rc2::IfcColourRgb* v4_ReflectanceColour) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_DiffuseTransmissionColour ? v1_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_DiffuseReflectionColour ? v2_DiffuseReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TransmissionColour ? v3_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_ReflectanceColour ? v4_ReflectanceColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceStyleRefraction -boost::optional< double > Ifc4x3_rc2::IfcSurfaceStyleRefraction::RefractionIndex() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } double v = data_.get_attribute_value(0); return v; } +boost::optional< double > Ifc4x3_rc2::IfcSurfaceStyleRefraction::RefractionIndex() const { if(get_attribute_value(0).isNull()) { return boost::none; } double v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcSurfaceStyleRefraction::setRefractionIndex(boost::optional< double > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< double > Ifc4x3_rc2::IfcSurfaceStyleRefraction::DispersionFactor() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc2::IfcSurfaceStyleRefraction::DispersionFactor() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcSurfaceStyleRefraction::setDispersionFactor(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceStyleRefraction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1152]); } const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceStyleRefraction::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1152]); } Ifc4x3_rc2::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; populate_derived(); } +Ifc4x3_rc2::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; populate_derived(); } // Function implementations for IfcSurfaceStyleRendering -::Ifc4x3_rc2::IfcColourOrFactor* Ifc4x3_rc2::IfcSurfaceStyleRendering::DiffuseColour() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcColourOrFactor>(true); } +::Ifc4x3_rc2::IfcColourOrFactor* Ifc4x3_rc2::IfcSurfaceStyleRendering::DiffuseColour() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcColourOrFactor>(true); } void Ifc4x3_rc2::IfcSurfaceStyleRendering::setDiffuseColour(::Ifc4x3_rc2::IfcColourOrFactor* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcColourOrFactor* Ifc4x3_rc2::IfcSurfaceStyleRendering::TransmissionColour() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcColourOrFactor>(true); } +::Ifc4x3_rc2::IfcColourOrFactor* Ifc4x3_rc2::IfcSurfaceStyleRendering::TransmissionColour() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcColourOrFactor>(true); } void Ifc4x3_rc2::IfcSurfaceStyleRendering::setTransmissionColour(::Ifc4x3_rc2::IfcColourOrFactor* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc2::IfcColourOrFactor* Ifc4x3_rc2::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcColourOrFactor>(true); } +::Ifc4x3_rc2::IfcColourOrFactor* Ifc4x3_rc2::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcColourOrFactor>(true); } void Ifc4x3_rc2::IfcSurfaceStyleRendering::setDiffuseTransmissionColour(::Ifc4x3_rc2::IfcColourOrFactor* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcColourOrFactor* Ifc4x3_rc2::IfcSurfaceStyleRendering::ReflectionColour() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcColourOrFactor>(true); } +::Ifc4x3_rc2::IfcColourOrFactor* Ifc4x3_rc2::IfcSurfaceStyleRendering::ReflectionColour() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcColourOrFactor>(true); } void Ifc4x3_rc2::IfcSurfaceStyleRendering::setReflectionColour(::Ifc4x3_rc2::IfcColourOrFactor* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc2::IfcColourOrFactor* Ifc4x3_rc2::IfcSurfaceStyleRendering::SpecularColour() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcColourOrFactor>(true); } +::Ifc4x3_rc2::IfcColourOrFactor* Ifc4x3_rc2::IfcSurfaceStyleRendering::SpecularColour() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcColourOrFactor>(true); } void Ifc4x3_rc2::IfcSurfaceStyleRendering::setSpecularColour(::Ifc4x3_rc2::IfcColourOrFactor* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc2::IfcSpecularHighlightSelect* Ifc4x3_rc2::IfcSurfaceStyleRendering::SpecularHighlight() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc2::IfcSpecularHighlightSelect>(true); } +::Ifc4x3_rc2::IfcSpecularHighlightSelect* Ifc4x3_rc2::IfcSurfaceStyleRendering::SpecularHighlight() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc2::IfcSpecularHighlightSelect>(true); } void Ifc4x3_rc2::IfcSurfaceStyleRendering::setSpecularHighlight(::Ifc4x3_rc2::IfcSpecularHighlightSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc2::IfcReflectanceMethodEnum::Value Ifc4x3_rc2::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4x3_rc2::IfcReflectanceMethodEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc2::IfcReflectanceMethodEnum::Value Ifc4x3_rc2::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4x3_rc2::IfcReflectanceMethodEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcSurfaceStyleRendering::setReflectanceMethod(::Ifc4x3_rc2::IfcReflectanceMethodEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcReflectanceMethodEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceStyleRendering::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1153]); } const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceStyleRendering::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1153]); } Ifc4x3_rc2::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcEntityInstanceData&& e) : IfcSurfaceStyleShading(std::move(e)) { } -Ifc4x3_rc2::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc4x3_rc2::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, ::Ifc4x3_rc2::IfcColourOrFactor* v3_DiffuseColour, ::Ifc4x3_rc2::IfcColourOrFactor* v4_TransmissionColour, ::Ifc4x3_rc2::IfcColourOrFactor* v5_DiffuseTransmissionColour, ::Ifc4x3_rc2::IfcColourOrFactor* v6_ReflectionColour, ::Ifc4x3_rc2::IfcColourOrFactor* v7_SpecularColour, ::Ifc4x3_rc2::IfcSpecularHighlightSelect* v8_SpecularHighlight, ::Ifc4x3_rc2::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) : IfcSurfaceStyleShading(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, v3_DiffuseColour ? v3_DiffuseColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TransmissionColour ? v4_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_DiffuseTransmissionColour ? v5_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReflectionColour ? v6_ReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_SpecularColour ? v7_SpecularColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_SpecularHighlight ? v8_SpecularHighlight->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; populate_derived(); } +Ifc4x3_rc2::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc4x3_rc2::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, ::Ifc4x3_rc2::IfcColourOrFactor* v3_DiffuseColour, ::Ifc4x3_rc2::IfcColourOrFactor* v4_TransmissionColour, ::Ifc4x3_rc2::IfcColourOrFactor* v5_DiffuseTransmissionColour, ::Ifc4x3_rc2::IfcColourOrFactor* v6_ReflectionColour, ::Ifc4x3_rc2::IfcColourOrFactor* v7_SpecularColour, ::Ifc4x3_rc2::IfcSpecularHighlightSelect* v8_SpecularHighlight, ::Ifc4x3_rc2::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) : IfcSurfaceStyleShading(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, v3_DiffuseColour ? v3_DiffuseColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TransmissionColour ? v4_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_DiffuseTransmissionColour ? v5_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReflectionColour ? v6_ReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_SpecularColour ? v7_SpecularColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_SpecularHighlight ? v8_SpecularHighlight->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; populate_derived(); } // Function implementations for IfcSurfaceStyleShading -::Ifc4x3_rc2::IfcColourRgb* Ifc4x3_rc2::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcColourRgb>(true); } +::Ifc4x3_rc2::IfcColourRgb* Ifc4x3_rc2::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcColourRgb>(true); } void Ifc4x3_rc2::IfcSurfaceStyleShading::setSurfaceColour(::Ifc4x3_rc2::IfcColourRgb* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< double > Ifc4x3_rc2::IfcSurfaceStyleShading::Transparency() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc2::IfcSurfaceStyleShading::Transparency() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcSurfaceStyleShading::setTransparency(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceStyleShading::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1154]); } const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceStyleShading::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1154]); } Ifc4x3_rc2::IfcSurfaceStyleShading::IfcSurfaceStyleShading(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcSurfaceStyleShading::IfcSurfaceStyleShading(::Ifc4x3_rc2::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }; populate_derived(); } +Ifc4x3_rc2::IfcSurfaceStyleShading::IfcSurfaceStyleShading(::Ifc4x3_rc2::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }; populate_derived(); } // Function implementations for IfcSurfaceStyleWithTextures -aggregate_of< ::Ifc4x3_rc2::IfcSurfaceTexture >::ptr Ifc4x3_rc2::IfcSurfaceStyleWithTextures::Textures() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcSurfaceTexture >(); } +aggregate_of< ::Ifc4x3_rc2::IfcSurfaceTexture >::ptr Ifc4x3_rc2::IfcSurfaceStyleWithTextures::Textures() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcSurfaceTexture >(); } void Ifc4x3_rc2::IfcSurfaceStyleWithTextures::setTextures(aggregate_of< ::Ifc4x3_rc2::IfcSurfaceTexture >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceStyleWithTextures::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1155]); } const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceStyleWithTextures::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1155]); } Ifc4x3_rc2::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(aggregate_of< ::Ifc4x3_rc2::IfcSurfaceTexture >::ptr v1_Textures) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Textures)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(aggregate_of< ::Ifc4x3_rc2::IfcSurfaceTexture >::ptr v1_Textures) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Textures)->generalize());; populate_derived(); } // Function implementations for IfcSurfaceTexture -bool Ifc4x3_rc2::IfcSurfaceTexture::RepeatS() const { bool v = data_.get_attribute_value(0); return v; } +bool Ifc4x3_rc2::IfcSurfaceTexture::RepeatS() const { bool v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcSurfaceTexture::setRepeatS(bool v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -bool Ifc4x3_rc2::IfcSurfaceTexture::RepeatT() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x3_rc2::IfcSurfaceTexture::RepeatT() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcSurfaceTexture::setRepeatT(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_rc2::IfcSurfaceTexture::Mode() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcSurfaceTexture::Mode() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcSurfaceTexture::setMode(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc2::IfcCartesianTransformationOperator2D* Ifc4x3_rc2::IfcSurfaceTexture::TextureTransform() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcCartesianTransformationOperator2D>(true); } +::Ifc4x3_rc2::IfcCartesianTransformationOperator2D* Ifc4x3_rc2::IfcSurfaceTexture::TextureTransform() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcCartesianTransformationOperator2D>(true); } void Ifc4x3_rc2::IfcSurfaceTexture::setTextureTransform(::Ifc4x3_rc2::IfcCartesianTransformationOperator2D* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcSurfaceTexture::Parameter() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcSurfaceTexture::Parameter() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } ::Ifc4x3_rc2::IfcTextureCoordinate::list::ptr Ifc4x3_rc2::IfcSurfaceTexture::IsMappedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[1207], 0)->as(); } @@ -16907,79 +16907,79 @@ void Ifc4x3_rc2::IfcSurfaceTexture::setParameter(boost::optional< std::vector< s const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1156]); } const IfcParse::entity& Ifc4x3_rc2::IfcSurfaceTexture::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1156]); } Ifc4x3_rc2::IfcSurfaceTexture::IfcSurfaceTexture(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) : IfcPresentationItem(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }; populate_derived(); } +Ifc4x3_rc2::IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }; populate_derived(); } // Function implementations for IfcSweptAreaSolid -::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcProfileDef>(true); } +::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcProfileDef>(true); } void Ifc4x3_rc2::IfcSweptAreaSolid::setSweptArea(::Ifc4x3_rc2::IfcProfileDef* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcSweptAreaSolid::Position() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcSweptAreaSolid::Position() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(true); } void Ifc4x3_rc2::IfcSweptAreaSolid::setPosition(::Ifc4x3_rc2::IfcAxis2Placement3D* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1157]); } const IfcParse::entity& Ifc4x3_rc2::IfcSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1157]); } Ifc4x3_rc2::IfcSweptAreaSolid::IfcSweptAreaSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3_rc2::IfcSweptAreaSolid::IfcSweptAreaSolid(::Ifc4x3_rc2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D* v2_Position) : IfcSolidModel(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcSweptAreaSolid::IfcSweptAreaSolid(::Ifc4x3_rc2::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc2::IfcAxis2Placement3D* v2_Position) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSweptDiskSolid -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCurve>(true); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcSweptDiskSolid::setDirectrix(::Ifc4x3_rc2::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc2::IfcSweptDiskSolid::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc2::IfcSweptDiskSolid::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcSweptDiskSolid::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_rc2::IfcSweptDiskSolid::InnerRadius() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc2::IfcSweptDiskSolid::InnerRadius() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcSweptDiskSolid::setInnerRadius(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc2::IfcSweptDiskSolid::StartParam() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc2::IfcSweptDiskSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcSweptDiskSolid::setStartParam(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc2::IfcSweptDiskSolid::EndParam() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc2::IfcSweptDiskSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcSweptDiskSolid::setEndParam(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc2::IfcSweptDiskSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1158]); } const IfcParse::entity& Ifc4x3_rc2::IfcSweptDiskSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1158]); } Ifc4x3_rc2::IfcSweptDiskSolid::IfcSweptDiskSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3_rc2::IfcSweptDiskSolid::IfcSweptDiskSolid(::Ifc4x3_rc2::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam) : IfcSolidModel(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; populate_derived(); } +Ifc4x3_rc2::IfcSweptDiskSolid::IfcSweptDiskSolid(::Ifc4x3_rc2::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; populate_derived(); } // Function implementations for IfcSweptDiskSolidPolygonal -boost::optional< double > Ifc4x3_rc2::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc2::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcSweptDiskSolidPolygonal::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_rc2::IfcSweptDiskSolidPolygonal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1159]); } const IfcParse::entity& Ifc4x3_rc2::IfcSweptDiskSolidPolygonal::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1159]); } Ifc4x3_rc2::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(IfcEntityInstanceData&& e) : IfcSweptDiskSolid(std::move(e)) { } -Ifc4x3_rc2::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(::Ifc4x3_rc2::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, boost::optional< double > v6_FilletRadius) : IfcSweptDiskSolid(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); }; populate_derived(); } +Ifc4x3_rc2::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(::Ifc4x3_rc2::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, boost::optional< double > v6_FilletRadius) : IfcSweptDiskSolid(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); }; populate_derived(); } // Function implementations for IfcSweptSurface -::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcProfileDef>(true); } +::Ifc4x3_rc2::IfcProfileDef* Ifc4x3_rc2::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcProfileDef>(true); } void Ifc4x3_rc2::IfcSweptSurface::setSweptCurve(::Ifc4x3_rc2::IfcProfileDef* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcSweptSurface::Position() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc2::IfcAxis2Placement3D* Ifc4x3_rc2::IfcSweptSurface::Position() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcAxis2Placement3D>(true); } void Ifc4x3_rc2::IfcSweptSurface::setPosition(::Ifc4x3_rc2::IfcAxis2Placement3D* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcSweptSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1160]); } const IfcParse::entity& Ifc4x3_rc2::IfcSweptSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1160]); } Ifc4x3_rc2::IfcSweptSurface::IfcSweptSurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x3_rc2::IfcSweptSurface::IfcSweptSurface(::Ifc4x3_rc2::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_rc2::IfcAxis2Placement3D* v2_Position) : IfcSurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcSweptSurface::IfcSweptSurface(::Ifc4x3_rc2::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_rc2::IfcAxis2Placement3D* v2_Position) : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSwitchingDevice -boost::optional< ::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value > Ifc4x3_rc2::IfcSwitchingDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value > Ifc4x3_rc2::IfcSwitchingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcSwitchingDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcSwitchingDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1161]); } const IfcParse::entity& Ifc4x3_rc2::IfcSwitchingDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1161]); } Ifc4x3_rc2::IfcSwitchingDevice::IfcSwitchingDevice(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_rc2::IfcSwitchingDevice::IfcSwitchingDevice(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcSwitchingDevice::IfcSwitchingDevice(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSwitchingDeviceType -::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value Ifc4x3_rc2::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value Ifc4x3_rc2::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcSwitchingDeviceType::setPredefinedType(::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcSwitchingDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1162]); } const IfcParse::entity& Ifc4x3_rc2::IfcSwitchingDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1162]); } Ifc4x3_rc2::IfcSwitchingDeviceType::IfcSwitchingDeviceType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_rc2::IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSystem @@ -16989,304 +16989,304 @@ Ifc4x3_rc2::IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_Global const IfcParse::entity& Ifc4x3_rc2::IfcSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1164]); } const IfcParse::entity& Ifc4x3_rc2::IfcSystem::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1164]); } Ifc4x3_rc2::IfcSystem::IfcSystem(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x3_rc2::IfcSystem::IfcSystem(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcGroup(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc4x3_rc2::IfcSystem::IfcSystem(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcSystemFurnitureElement -boost::optional< ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_rc2::IfcSystemFurnitureElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_rc2::IfcSystemFurnitureElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcSystemFurnitureElement::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcSystemFurnitureElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1165]); } const IfcParse::entity& Ifc4x3_rc2::IfcSystemFurnitureElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1165]); } Ifc4x3_rc2::IfcSystemFurnitureElement::IfcSystemFurnitureElement(IfcEntityInstanceData&& e) : IfcFurnishingElement(std::move(e)) { } -Ifc4x3_rc2::IfcSystemFurnitureElement::IfcSystemFurnitureElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcSystemFurnitureElement::IfcSystemFurnitureElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSystemFurnitureElementType -boost::optional< ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_rc2::IfcSystemFurnitureElementType::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_rc2::IfcSystemFurnitureElementType::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcSystemFurnitureElementType::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc2::IfcSystemFurnitureElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1166]); } const IfcParse::entity& Ifc4x3_rc2::IfcSystemFurnitureElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1166]); } Ifc4x3_rc2::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(IfcEntityInstanceData&& e) : IfcFurnishingElementType(std::move(e)) { } -Ifc4x3_rc2::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTShapeProfileDef -double Ifc4x3_rc2::IfcTShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc2::IfcTShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcTShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc2::IfcTShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc2::IfcTShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcTShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc2::IfcTShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc2::IfcTShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcTShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc2::IfcTShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc2::IfcTShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcTShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc2::IfcTShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc2::IfcTShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcTShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc2::IfcTShapeProfileDef::FlangeEdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc2::IfcTShapeProfileDef::FlangeEdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcTShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_rc2::IfcTShapeProfileDef::WebEdgeRadius() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc2::IfcTShapeProfileDef::WebEdgeRadius() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc2::IfcTShapeProfileDef::setWebEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc2::IfcTShapeProfileDef::WebSlope() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc2::IfcTShapeProfileDef::WebSlope() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcTShapeProfileDef::setWebSlope(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc2::IfcTShapeProfileDef::FlangeSlope() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc2::IfcTShapeProfileDef::FlangeSlope() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc2::IfcTShapeProfileDef::setFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x3_rc2::IfcTShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1251]); } const IfcParse::entity& Ifc4x3_rc2::IfcTShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1251]); } Ifc4x3_rc2::IfcTShapeProfileDef::IfcTShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_rc2::IfcTShapeProfileDef::IfcTShapeProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::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(storage_t(12))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); }; populate_derived(); } +Ifc4x3_rc2::IfcTShapeProfileDef::IfcTShapeProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::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(in_memory_attribute_storage(12))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); }; populate_derived(); } // Function implementations for IfcTable -boost::optional< std::string > Ifc4x3_rc2::IfcTable::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTable::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcTable::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcTableRow >::ptr > Ifc4x3_rc2::IfcTable::Rows() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcTableRow >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcTableRow >::ptr > Ifc4x3_rc2::IfcTable::Rows() const { if(get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcTableRow >(); } void Ifc4x3_rc2::IfcTable::setRows(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcTableRow >::ptr > v) { if (v) {set_attribute_value(1, (*v)->generalize());} else {unset_attribute_value(1);} } -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcTableColumn >::ptr > Ifc4x3_rc2::IfcTable::Columns() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcTableColumn >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcTableColumn >::ptr > Ifc4x3_rc2::IfcTable::Columns() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcTableColumn >(); } void Ifc4x3_rc2::IfcTable::setColumns(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcTableColumn >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc2::IfcTable::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1168]); } const IfcParse::entity& Ifc4x3_rc2::IfcTable::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1168]); } Ifc4x3_rc2::IfcTable::IfcTable(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcTable::IfcTable(boost::optional< std::string > v1_Name, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcTableRow >::ptr > v2_Rows, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcTableColumn >::ptr > v3_Columns) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, (*v2_Rows)->generalize()); } if (v3_Columns) {set_attribute_value(2, (*v3_Columns)->generalize()); }; populate_derived(); } +Ifc4x3_rc2::IfcTable::IfcTable(boost::optional< std::string > v1_Name, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcTableRow >::ptr > v2_Rows, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcTableColumn >::ptr > v3_Columns) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, (*v2_Rows)->generalize()); } if (v3_Columns) {set_attribute_value(2, (*v3_Columns)->generalize()); }; populate_derived(); } // Function implementations for IfcTableColumn -boost::optional< std::string > Ifc4x3_rc2::IfcTableColumn::Identifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTableColumn::Identifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcTableColumn::setIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc2::IfcTableColumn::Name() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTableColumn::Name() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcTableColumn::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc2::IfcTableColumn::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTableColumn::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcTableColumn::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcTableColumn::Unit() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcUnit>(true); } +::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcTableColumn::Unit() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcUnit>(true); } void Ifc4x3_rc2::IfcTableColumn::setUnit(::Ifc4x3_rc2::IfcUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc2::IfcReference* Ifc4x3_rc2::IfcTableColumn::ReferencePath() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcReference>(true); } +::Ifc4x3_rc2::IfcReference* Ifc4x3_rc2::IfcTableColumn::ReferencePath() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcReference>(true); } void Ifc4x3_rc2::IfcTableColumn::setReferencePath(::Ifc4x3_rc2::IfcReference* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc2::IfcTableColumn::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1169]); } const IfcParse::entity& Ifc4x3_rc2::IfcTableColumn::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1169]); } Ifc4x3_rc2::IfcTableColumn::IfcTableColumn(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x3_rc2::IfcUnit* v4_Unit, ::Ifc4x3_rc2::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ReferencePath ? v5_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x3_rc2::IfcUnit* v4_Unit, ::Ifc4x3_rc2::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ReferencePath ? v5_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTableRow -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > Ifc4x3_rc2::IfcTableRow::RowCells() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > Ifc4x3_rc2::IfcTableRow::RowCells() const { if(get_attribute_value(0).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcValue >(); } void Ifc4x3_rc2::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v) { if (v) {set_attribute_value(0, (*v)->generalize());} else {unset_attribute_value(0);} } -boost::optional< bool > Ifc4x3_rc2::IfcTableRow::IsHeading() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } bool v = data_.get_attribute_value(1); return v; } +boost::optional< bool > Ifc4x3_rc2::IfcTableRow::IsHeading() const { if(get_attribute_value(1).isNull()) { return boost::none; } bool v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcTableRow::setIsHeading(boost::optional< bool > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_rc2::IfcTableRow::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1170]); } const IfcParse::entity& Ifc4x3_rc2::IfcTableRow::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1170]); } Ifc4x3_rc2::IfcTableRow::IfcTableRow(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_RowCells) {set_attribute_value(0, (*v1_RowCells)->generalize()); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); }; populate_derived(); } +Ifc4x3_rc2::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_RowCells) {set_attribute_value(0, (*v1_RowCells)->generalize()); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); }; populate_derived(); } // Function implementations for IfcTank -boost::optional< ::Ifc4x3_rc2::IfcTankTypeEnum::Value > Ifc4x3_rc2::IfcTank::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcTankTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcTankTypeEnum::Value > Ifc4x3_rc2::IfcTank::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcTankTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcTank::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcTankTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcTankTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcTank::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1171]); } const IfcParse::entity& Ifc4x3_rc2::IfcTank::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1171]); } Ifc4x3_rc2::IfcTank::IfcTank(IfcEntityInstanceData&& e) : IfcFlowStorageDevice(std::move(e)) { } -Ifc4x3_rc2::IfcTank::IfcTank(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcTankTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcTank::IfcTank(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcTankTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTankType -::Ifc4x3_rc2::IfcTankTypeEnum::Value Ifc4x3_rc2::IfcTankType::PredefinedType() const { return ::Ifc4x3_rc2::IfcTankTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcTankTypeEnum::Value Ifc4x3_rc2::IfcTankType::PredefinedType() const { return ::Ifc4x3_rc2::IfcTankTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcTankType::setPredefinedType(::Ifc4x3_rc2::IfcTankTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcTankTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcTankType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1172]); } const IfcParse::entity& Ifc4x3_rc2::IfcTankType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1172]); } Ifc4x3_rc2::IfcTankType::IfcTankType(IfcEntityInstanceData&& e) : IfcFlowStorageDeviceType(std::move(e)) { } -Ifc4x3_rc2::IfcTankType::IfcTankType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTankTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcTankType::IfcTankType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTankTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTask -boost::optional< std::string > Ifc4x3_rc2::IfcTask::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTask::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcTask::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc2::IfcTask::WorkMethod() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTask::WorkMethod() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcTask::setWorkMethod(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -bool Ifc4x3_rc2::IfcTask::IsMilestone() const { bool v = data_.get_attribute_value(9); return v; } +bool Ifc4x3_rc2::IfcTask::IsMilestone() const { bool v = get_attribute_value(9); return v; } void Ifc4x3_rc2::IfcTask::setIsMilestone(bool v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -boost::optional< int > Ifc4x3_rc2::IfcTask::Priority() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } int v = data_.get_attribute_value(10); return v; } +boost::optional< int > Ifc4x3_rc2::IfcTask::Priority() const { if(get_attribute_value(10).isNull()) { return boost::none; } int v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcTask::setPriority(boost::optional< int > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4x3_rc2::IfcTaskTime* Ifc4x3_rc2::IfcTask::TaskTime() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc4x3_rc2::IfcTaskTime>(true); } +::Ifc4x3_rc2::IfcTaskTime* Ifc4x3_rc2::IfcTask::TaskTime() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc4x3_rc2::IfcTaskTime>(true); } void Ifc4x3_rc2::IfcTask::setTaskTime(::Ifc4x3_rc2::IfcTaskTime* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } -boost::optional< ::Ifc4x3_rc2::IfcTaskTypeEnum::Value > Ifc4x3_rc2::IfcTask::PredefinedType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcTaskTypeEnum::FromString(data_.get_attribute_value(12)); } +boost::optional< ::Ifc4x3_rc2::IfcTaskTypeEnum::Value > Ifc4x3_rc2::IfcTask::PredefinedType() const { if(get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcTaskTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x3_rc2::IfcTask::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcTaskTypeEnum::Value > v) { if (v) {set_attribute_value(12, EnumerationReference(&::Ifc4x3_rc2::IfcTaskTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_rc2::IfcTask::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1174]); } const IfcParse::entity& Ifc4x3_rc2::IfcTask::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1174]); } Ifc4x3_rc2::IfcTask::IfcTask(IfcEntityInstanceData&& e) : IfcProcess(std::move(e)) { } -Ifc4x3_rc2::IfcTask::IfcTask(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, boost::optional< int > v11_Priority, ::Ifc4x3_rc2::IfcTaskTime* v12_TaskTime, boost::optional< ::Ifc4x3_rc2::IfcTaskTypeEnum::Value > v13_PredefinedType) : IfcProcess(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, v12_TaskTime ? v12_TaskTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_rc2::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcTask::IfcTask(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, boost::optional< int > v11_Priority, ::Ifc4x3_rc2::IfcTaskTime* v12_TaskTime, boost::optional< ::Ifc4x3_rc2::IfcTaskTypeEnum::Value > v13_PredefinedType) : IfcProcess(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, v12_TaskTime ? v12_TaskTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_rc2::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTaskTime -boost::optional< ::Ifc4x3_rc2::IfcTaskDurationEnum::Value > Ifc4x3_rc2::IfcTaskTime::DurationType() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcTaskDurationEnum::FromString(data_.get_attribute_value(3)); } +boost::optional< ::Ifc4x3_rc2::IfcTaskDurationEnum::Value > Ifc4x3_rc2::IfcTaskTime::DurationType() const { if(get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcTaskDurationEnum::FromString(get_attribute_value(3)); } void Ifc4x3_rc2::IfcTaskTime::setDurationType(boost::optional< ::Ifc4x3_rc2::IfcTaskDurationEnum::Value > v) { if (v) {set_attribute_value(3, EnumerationReference(&::Ifc4x3_rc2::IfcTaskDurationEnum::Class(), (size_t) *v));} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::ScheduleDuration() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::ScheduleDuration() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcTaskTime::setScheduleDuration(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::ScheduleStart() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::ScheduleStart() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcTaskTime::setScheduleStart(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::ScheduleFinish() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::ScheduleFinish() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcTaskTime::setScheduleFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::EarlyStart() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::EarlyStart() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcTaskTime::setEarlyStart(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::EarlyFinish() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::EarlyFinish() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcTaskTime::setEarlyFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::LateStart() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::LateStart() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc2::IfcTaskTime::setLateStart(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::LateFinish() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::LateFinish() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcTaskTime::setLateFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::FreeFloat() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::FreeFloat() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x3_rc2::IfcTaskTime::setFreeFloat(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::TotalFloat() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::TotalFloat() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc2::IfcTaskTime::setTotalFloat(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< bool > Ifc4x3_rc2::IfcTaskTime::IsCritical() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } bool v = data_.get_attribute_value(13); return v; } +boost::optional< bool > Ifc4x3_rc2::IfcTaskTime::IsCritical() const { if(get_attribute_value(13).isNull()) { return boost::none; } bool v = get_attribute_value(13); return v; } void Ifc4x3_rc2::IfcTaskTime::setIsCritical(boost::optional< bool > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::StatusTime() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::StatusTime() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x3_rc2::IfcTaskTime::setStatusTime(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::ActualDuration() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(15); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::ActualDuration() const { if(get_attribute_value(15).isNull()) { return boost::none; } std::string v = get_attribute_value(15); return v; } void Ifc4x3_rc2::IfcTaskTime::setActualDuration(boost::optional< std::string > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::ActualStart() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(16); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::ActualStart() const { if(get_attribute_value(16).isNull()) { return boost::none; } std::string v = get_attribute_value(16); return v; } void Ifc4x3_rc2::IfcTaskTime::setActualStart(boost::optional< std::string > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::ActualFinish() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(17); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::ActualFinish() const { if(get_attribute_value(17).isNull()) { return boost::none; } std::string v = get_attribute_value(17); return v; } void Ifc4x3_rc2::IfcTaskTime::setActualFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } -boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::RemainingTime() const { if(data_.get_attribute_value(18).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(18); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTaskTime::RemainingTime() const { if(get_attribute_value(18).isNull()) { return boost::none; } std::string v = get_attribute_value(18); return v; } void Ifc4x3_rc2::IfcTaskTime::setRemainingTime(boost::optional< std::string > v) { if (v) {set_attribute_value(18, *v);} else {unset_attribute_value(18);} } -boost::optional< double > Ifc4x3_rc2::IfcTaskTime::Completion() const { if(data_.get_attribute_value(19).isNull()) { return boost::none; } double v = data_.get_attribute_value(19); return v; } +boost::optional< double > Ifc4x3_rc2::IfcTaskTime::Completion() const { if(get_attribute_value(19).isNull()) { return boost::none; } double v = get_attribute_value(19); return v; } void Ifc4x3_rc2::IfcTaskTime::setCompletion(boost::optional< double > v) { if (v) {set_attribute_value(19, *v);} else {unset_attribute_value(19);} } const IfcParse::entity& Ifc4x3_rc2::IfcTaskTime::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1176]); } const IfcParse::entity& Ifc4x3_rc2::IfcTaskTime::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1176]); } Ifc4x3_rc2::IfcTaskTime::IfcTaskTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x3_rc2::IfcTaskTime::IfcTaskTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x3_rc2::IfcTaskDurationEnum::Value > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion) : IfcSchedulingTime(IfcEntityInstanceData(storage_t(20))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc2::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }; populate_derived(); } +Ifc4x3_rc2::IfcTaskTime::IfcTaskTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x3_rc2::IfcTaskDurationEnum::Value > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion) : IfcSchedulingTime(IfcEntityInstanceData(in_memory_attribute_storage(20))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc2::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }; populate_derived(); } // Function implementations for IfcTaskTimeRecurring -::Ifc4x3_rc2::IfcRecurrencePattern* Ifc4x3_rc2::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(20)))->as<::Ifc4x3_rc2::IfcRecurrencePattern>(true); } +::Ifc4x3_rc2::IfcRecurrencePattern* Ifc4x3_rc2::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(20)))->as<::Ifc4x3_rc2::IfcRecurrencePattern>(true); } void Ifc4x3_rc2::IfcTaskTimeRecurring::setRecurrence(::Ifc4x3_rc2::IfcRecurrencePattern* v) { set_attribute_value(20, v->as());if constexpr (false)unset_attribute_value(20); } const IfcParse::entity& Ifc4x3_rc2::IfcTaskTimeRecurring::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1177]); } const IfcParse::entity& Ifc4x3_rc2::IfcTaskTimeRecurring::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1177]); } Ifc4x3_rc2::IfcTaskTimeRecurring::IfcTaskTimeRecurring(IfcEntityInstanceData&& e) : IfcTaskTime(std::move(e)) { } -Ifc4x3_rc2::IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x3_rc2::IfcTaskDurationEnum::Value > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion, ::Ifc4x3_rc2::IfcRecurrencePattern* v21_Recurrence) : IfcTaskTime(IfcEntityInstanceData(storage_t(21))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc2::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, v21_Recurrence ? v21_Recurrence->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x3_rc2::IfcTaskDurationEnum::Value > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion, ::Ifc4x3_rc2::IfcRecurrencePattern* v21_Recurrence) : IfcTaskTime(IfcEntityInstanceData(in_memory_attribute_storage(21))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc2::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, v21_Recurrence ? v21_Recurrence->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTaskType -::Ifc4x3_rc2::IfcTaskTypeEnum::Value Ifc4x3_rc2::IfcTaskType::PredefinedType() const { return ::Ifc4x3_rc2::IfcTaskTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcTaskTypeEnum::Value Ifc4x3_rc2::IfcTaskType::PredefinedType() const { return ::Ifc4x3_rc2::IfcTaskTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcTaskType::setPredefinedType(::Ifc4x3_rc2::IfcTaskTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcTaskTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3_rc2::IfcTaskType::WorkMethod() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTaskType::WorkMethod() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcTaskType::setWorkMethod(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc2::IfcTaskType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1178]); } const IfcParse::entity& Ifc4x3_rc2::IfcTaskType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1178]); } Ifc4x3_rc2::IfcTaskType::IfcTaskType(IfcEntityInstanceData&& e) : IfcTypeProcess(std::move(e)) { } -Ifc4x3_rc2::IfcTaskType::IfcTaskType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_rc2::IfcTaskTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_WorkMethod) : IfcTypeProcess(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); }; populate_derived(); } +Ifc4x3_rc2::IfcTaskType::IfcTaskType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_rc2::IfcTaskTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_WorkMethod) : IfcTypeProcess(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); }; populate_derived(); } // Function implementations for IfcTelecomAddress -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcTelecomAddress::TelephoneNumbers() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcTelecomAddress::TelephoneNumbers() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcTelecomAddress::setTelephoneNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcTelecomAddress::FacsimileNumbers() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcTelecomAddress::FacsimileNumbers() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcTelecomAddress::setFacsimileNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc2::IfcTelecomAddress::PagerNumber() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTelecomAddress::PagerNumber() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcTelecomAddress::setPagerNumber(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcTelecomAddress::ElectronicMailAddresses() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(6); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcTelecomAddress::ElectronicMailAddresses() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcTelecomAddress::setElectronicMailAddresses(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc2::IfcTelecomAddress::WWWHomePageURL() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTelecomAddress::WWWHomePageURL() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcTelecomAddress::setWWWHomePageURL(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcTelecomAddress::MessagingIDs() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(8); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc2::IfcTelecomAddress::MessagingIDs() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcTelecomAddress::setMessagingIDs(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcTelecomAddress::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1180]); } const IfcParse::entity& Ifc4x3_rc2::IfcTelecomAddress::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1180]); } Ifc4x3_rc2::IfcTelecomAddress::IfcTelecomAddress(IfcEntityInstanceData&& e) : IfcAddress(std::move(e)) { } -Ifc4x3_rc2::IfcTelecomAddress::IfcTelecomAddress(boost::optional< ::Ifc4x3_rc2::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(storage_t(9))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); }; populate_derived(); } +Ifc4x3_rc2::IfcTelecomAddress::IfcTelecomAddress(boost::optional< ::Ifc4x3_rc2::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(in_memory_attribute_storage(9))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); }; populate_derived(); } // Function implementations for IfcTendon -boost::optional< ::Ifc4x3_rc2::IfcTendonTypeEnum::Value > Ifc4x3_rc2::IfcTendon::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcTendonTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc2::IfcTendonTypeEnum::Value > Ifc4x3_rc2::IfcTendon::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcTendon::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcTendonTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcTendonTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc2::IfcTendon::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc2::IfcTendon::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcTendon::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc2::IfcTendon::CrossSectionArea() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc2::IfcTendon::CrossSectionArea() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc2::IfcTendon::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_rc2::IfcTendon::TensionForce() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_rc2::IfcTendon::TensionForce() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_rc2::IfcTendon::setTensionForce(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3_rc2::IfcTendon::PreStress() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_rc2::IfcTendon::PreStress() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_rc2::IfcTendon::setPreStress(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3_rc2::IfcTendon::FrictionCoefficient() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3_rc2::IfcTendon::FrictionCoefficient() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3_rc2::IfcTendon::setFrictionCoefficient(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x3_rc2::IfcTendon::AnchorageSlip() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3_rc2::IfcTendon::AnchorageSlip() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3_rc2::IfcTendon::setAnchorageSlip(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3_rc2::IfcTendon::MinCurvatureRadius() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3_rc2::IfcTendon::MinCurvatureRadius() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3_rc2::IfcTendon::setMinCurvatureRadius(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } const IfcParse::entity& Ifc4x3_rc2::IfcTendon::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1183]); } const IfcParse::entity& Ifc4x3_rc2::IfcTendon::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1183]); } Ifc4x3_rc2::IfcTendon::IfcTendon(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x3_rc2::IfcTendon::IfcTendon(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x3_rc2::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(storage_t(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; populate_derived(); } +Ifc4x3_rc2::IfcTendon::IfcTendon(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x3_rc2::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(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; populate_derived(); } // Function implementations for IfcTendonAnchor -boost::optional< ::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value > Ifc4x3_rc2::IfcTendonAnchor::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value > Ifc4x3_rc2::IfcTendonAnchor::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcTendonAnchor::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc2::IfcTendonAnchor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1184]); } const IfcParse::entity& Ifc4x3_rc2::IfcTendonAnchor::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1184]); } Ifc4x3_rc2::IfcTendonAnchor::IfcTendonAnchor(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x3_rc2::IfcTendonAnchor::IfcTendonAnchor(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcTendonAnchor::IfcTendonAnchor(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTendonAnchorType -::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value Ifc4x3_rc2::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value Ifc4x3_rc2::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcTendonAnchorType::setPredefinedType(::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcTendonAnchorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1185]); } const IfcParse::entity& Ifc4x3_rc2::IfcTendonAnchorType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1185]); } Ifc4x3_rc2::IfcTendonAnchorType::IfcTendonAnchorType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x3_rc2::IfcTendonAnchorType::IfcTendonAnchorType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcTendonAnchorType::IfcTendonAnchorType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTendonConduit -::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Value Ifc4x3_rc2::IfcTendonConduit::PredefinedType() const { return ::Ifc4x3_rc2::IfcTendonConduitTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Value Ifc4x3_rc2::IfcTendonConduit::PredefinedType() const { return ::Ifc4x3_rc2::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcTendonConduit::setPredefinedType(::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcTendonConduit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1187]); } const IfcParse::entity& Ifc4x3_rc2::IfcTendonConduit::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1187]); } Ifc4x3_rc2::IfcTendonConduit::IfcTendonConduit(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x3_rc2::IfcTendonConduit::IfcTendonConduit(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, ::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Value v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcTendonConduit::IfcTendonConduit(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, ::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Value v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTendonConduitType -::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Value Ifc4x3_rc2::IfcTendonConduitType::PredefinedType() const { return ::Ifc4x3_rc2::IfcTendonConduitTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Value Ifc4x3_rc2::IfcTendonConduitType::PredefinedType() const { return ::Ifc4x3_rc2::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcTendonConduitType::setPredefinedType(::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcTendonConduitType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1188]); } const IfcParse::entity& Ifc4x3_rc2::IfcTendonConduitType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1188]); } Ifc4x3_rc2::IfcTendonConduitType::IfcTendonConduitType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x3_rc2::IfcTendonConduitType::IfcTendonConduitType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcTendonConduitType::IfcTendonConduitType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTendonType -::Ifc4x3_rc2::IfcTendonTypeEnum::Value Ifc4x3_rc2::IfcTendonType::PredefinedType() const { return ::Ifc4x3_rc2::IfcTendonTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcTendonTypeEnum::Value Ifc4x3_rc2::IfcTendonType::PredefinedType() const { return ::Ifc4x3_rc2::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcTendonType::setPredefinedType(::Ifc4x3_rc2::IfcTendonTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcTendonTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3_rc2::IfcTendonType::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc2::IfcTendonType::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcTendonType::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc2::IfcTendonType::CrossSectionArea() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc2::IfcTendonType::CrossSectionArea() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc2::IfcTendonType::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_rc2::IfcTendonType::SheathDiameter() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_rc2::IfcTendonType::SheathDiameter() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_rc2::IfcTendonType::setSheathDiameter(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_rc2::IfcTendonType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1190]); } const IfcParse::entity& Ifc4x3_rc2::IfcTendonType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1190]); } Ifc4x3_rc2::IfcTendonType::IfcTendonType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x3_rc2::IfcTendonType::IfcTendonType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTendonTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheathDiameter) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); }; populate_derived(); } +Ifc4x3_rc2::IfcTendonType::IfcTendonType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTendonTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheathDiameter) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); }; populate_derived(); } // Function implementations for IfcTessellatedFaceSet -::Ifc4x3_rc2::IfcCartesianPointList3D* Ifc4x3_rc2::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCartesianPointList3D>(true); } +::Ifc4x3_rc2::IfcCartesianPointList3D* Ifc4x3_rc2::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCartesianPointList3D>(true); } void Ifc4x3_rc2::IfcTessellatedFaceSet::setCoordinates(::Ifc4x3_rc2::IfcCartesianPointList3D* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_rc2::IfcIndexedColourMap::list::ptr Ifc4x3_rc2::IfcTessellatedFaceSet::HasColours() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[556], 0)->as(); } @@ -17295,7 +17295,7 @@ void Ifc4x3_rc2::IfcTessellatedFaceSet::setCoordinates(::Ifc4x3_rc2::IfcCartesia const IfcParse::entity& Ifc4x3_rc2::IfcTessellatedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1192]); } const IfcParse::entity& Ifc4x3_rc2::IfcTessellatedFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1192]); } Ifc4x3_rc2::IfcTessellatedFaceSet::IfcTessellatedFaceSet(IfcEntityInstanceData&& e) : IfcTessellatedItem(std::move(e)) { } -Ifc4x3_rc2::IfcTessellatedFaceSet::IfcTessellatedFaceSet(::Ifc4x3_rc2::IfcCartesianPointList3D* v1_Coordinates) : IfcTessellatedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcTessellatedFaceSet::IfcTessellatedFaceSet(::Ifc4x3_rc2::IfcCartesianPointList3D* v1_Coordinates) : IfcTessellatedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTessellatedItem @@ -17303,184 +17303,184 @@ Ifc4x3_rc2::IfcTessellatedFaceSet::IfcTessellatedFaceSet(::Ifc4x3_rc2::IfcCartes const IfcParse::entity& Ifc4x3_rc2::IfcTessellatedItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1193]); } const IfcParse::entity& Ifc4x3_rc2::IfcTessellatedItem::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1193]); } Ifc4x3_rc2::IfcTessellatedItem::IfcTessellatedItem(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcTessellatedItem::IfcTessellatedItem() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc2::IfcTessellatedItem::IfcTessellatedItem() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcTextLiteral -std::string Ifc4x3_rc2::IfcTextLiteral::Literal() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc2::IfcTextLiteral::Literal() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcTextLiteral::setLiteral(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcAxis2Placement* Ifc4x3_rc2::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcAxis2Placement>(true); } +::Ifc4x3_rc2::IfcAxis2Placement* Ifc4x3_rc2::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcAxis2Placement>(true); } void Ifc4x3_rc2::IfcTextLiteral::setPlacement(::Ifc4x3_rc2::IfcAxis2Placement* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcTextPath::Value Ifc4x3_rc2::IfcTextLiteral::Path() const { return ::Ifc4x3_rc2::IfcTextPath::FromString(data_.get_attribute_value(2)); } +::Ifc4x3_rc2::IfcTextPath::Value Ifc4x3_rc2::IfcTextLiteral::Path() const { return ::Ifc4x3_rc2::IfcTextPath::FromString(get_attribute_value(2)); } void Ifc4x3_rc2::IfcTextLiteral::setPath(::Ifc4x3_rc2::IfcTextPath::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3_rc2::IfcTextPath::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcTextLiteral::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1199]); } const IfcParse::entity& Ifc4x3_rc2::IfcTextLiteral::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1199]); } Ifc4x3_rc2::IfcTextLiteral::IfcTextLiteral(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, ::Ifc4x3_rc2::IfcAxis2Placement* v2_Placement, ::Ifc4x3_rc2::IfcTextPath::Value v3_Path) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc2::IfcTextPath::Class(),(size_t)v3_Path)));; populate_derived(); } +Ifc4x3_rc2::IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, ::Ifc4x3_rc2::IfcAxis2Placement* v2_Placement, ::Ifc4x3_rc2::IfcTextPath::Value v3_Path) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc2::IfcTextPath::Class(),(size_t)v3_Path)));; populate_derived(); } // Function implementations for IfcTextLiteralWithExtent -::Ifc4x3_rc2::IfcPlanarExtent* Ifc4x3_rc2::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcPlanarExtent>(true); } +::Ifc4x3_rc2::IfcPlanarExtent* Ifc4x3_rc2::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcPlanarExtent>(true); } void Ifc4x3_rc2::IfcTextLiteralWithExtent::setExtent(::Ifc4x3_rc2::IfcPlanarExtent* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -std::string Ifc4x3_rc2::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = data_.get_attribute_value(4); return v; } +std::string Ifc4x3_rc2::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcTextLiteralWithExtent::setBoxAlignment(std::string v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc2::IfcTextLiteralWithExtent::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1200]); } const IfcParse::entity& Ifc4x3_rc2::IfcTextLiteralWithExtent::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1200]); } Ifc4x3_rc2::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(IfcEntityInstanceData&& e) : IfcTextLiteral(std::move(e)) { } -Ifc4x3_rc2::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(std::string v1_Literal, ::Ifc4x3_rc2::IfcAxis2Placement* v2_Placement, ::Ifc4x3_rc2::IfcTextPath::Value v3_Path, ::Ifc4x3_rc2::IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment) : IfcTextLiteral(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc2::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, v4_Extent ? v4_Extent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_BoxAlignment));; populate_derived(); } +Ifc4x3_rc2::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(std::string v1_Literal, ::Ifc4x3_rc2::IfcAxis2Placement* v2_Placement, ::Ifc4x3_rc2::IfcTextPath::Value v3_Path, ::Ifc4x3_rc2::IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment) : IfcTextLiteral(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc2::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, v4_Extent ? v4_Extent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_BoxAlignment));; populate_derived(); } // Function implementations for IfcTextStyle -::Ifc4x3_rc2::IfcTextStyleForDefinedFont* Ifc4x3_rc2::IfcTextStyle::TextCharacterAppearance() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcTextStyleForDefinedFont>(true); } +::Ifc4x3_rc2::IfcTextStyleForDefinedFont* Ifc4x3_rc2::IfcTextStyle::TextCharacterAppearance() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcTextStyleForDefinedFont>(true); } void Ifc4x3_rc2::IfcTextStyle::setTextCharacterAppearance(::Ifc4x3_rc2::IfcTextStyleForDefinedFont* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcTextStyleTextModel* Ifc4x3_rc2::IfcTextStyle::TextStyle() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcTextStyleTextModel>(true); } +::Ifc4x3_rc2::IfcTextStyleTextModel* Ifc4x3_rc2::IfcTextStyle::TextStyle() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcTextStyleTextModel>(true); } void Ifc4x3_rc2::IfcTextStyle::setTextStyle(::Ifc4x3_rc2::IfcTextStyleTextModel* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc2::IfcTextFontSelect* Ifc4x3_rc2::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcTextFontSelect>(true); } +::Ifc4x3_rc2::IfcTextFontSelect* Ifc4x3_rc2::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcTextFontSelect>(true); } void Ifc4x3_rc2::IfcTextStyle::setTextFontStyle(::Ifc4x3_rc2::IfcTextFontSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< bool > Ifc4x3_rc2::IfcTextStyle::ModelOrDraughting() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } bool v = data_.get_attribute_value(4); return v; } +boost::optional< bool > Ifc4x3_rc2::IfcTextStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return boost::none; } bool v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcTextStyle::setModelOrDraughting(boost::optional< bool > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc2::IfcTextStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1202]); } const IfcParse::entity& Ifc4x3_rc2::IfcTextStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1202]); } Ifc4x3_rc2::IfcTextStyle::IfcTextStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x3_rc2::IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcTextStyleForDefinedFont* v2_TextCharacterAppearance, ::Ifc4x3_rc2::IfcTextStyleTextModel* v3_TextStyle, ::Ifc4x3_rc2::IfcTextFontSelect* v4_TextFontStyle, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TextCharacterAppearance ? v2_TextCharacterAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TextStyle ? v3_TextStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TextFontStyle ? v4_TextFontStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } +Ifc4x3_rc2::IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc2::IfcTextStyleForDefinedFont* v2_TextCharacterAppearance, ::Ifc4x3_rc2::IfcTextStyleTextModel* v3_TextStyle, ::Ifc4x3_rc2::IfcTextFontSelect* v4_TextFontStyle, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TextCharacterAppearance ? v2_TextCharacterAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TextStyle ? v3_TextStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TextFontStyle ? v4_TextFontStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } // Function implementations for IfcTextStyleFontModel -std::vector< std::string > /*[1:?]*/ Ifc4x3_rc2::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +std::vector< std::string > /*[1:?]*/ Ifc4x3_rc2::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcTextStyleFontModel::setFontFamily(std::vector< std::string > /*[1:?]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_rc2::IfcTextStyleFontModel::FontStyle() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTextStyleFontModel::FontStyle() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcTextStyleFontModel::setFontStyle(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_rc2::IfcTextStyleFontModel::FontVariant() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTextStyleFontModel::FontVariant() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc2::IfcTextStyleFontModel::FontWeight() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTextStyleFontModel::FontWeight() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc2::IfcSizeSelect* Ifc4x3_rc2::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcSizeSelect>(true); } +::Ifc4x3_rc2::IfcSizeSelect* Ifc4x3_rc2::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc2::IfcSizeSelect>(true); } void Ifc4x3_rc2::IfcTextStyleFontModel::setFontSize(::Ifc4x3_rc2::IfcSizeSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcTextStyleFontModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1203]); } const IfcParse::entity& Ifc4x3_rc2::IfcTextStyleFontModel::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1203]); } Ifc4x3_rc2::IfcTextStyleFontModel::IfcTextStyleFontModel(IfcEntityInstanceData&& e) : IfcPreDefinedTextFont(std::move(e)) { } -Ifc4x3_rc2::IfcTextStyleFontModel::IfcTextStyleFontModel(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, boost::optional< std::string > v3_FontStyle, boost::optional< std::string > v4_FontVariant, boost::optional< std::string > v5_FontWeight, ::Ifc4x3_rc2::IfcSizeSelect* v6_FontSize) : IfcPreDefinedTextFont(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, v6_FontSize ? v6_FontSize->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcTextStyleFontModel::IfcTextStyleFontModel(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, boost::optional< std::string > v3_FontStyle, boost::optional< std::string > v4_FontVariant, boost::optional< std::string > v5_FontWeight, ::Ifc4x3_rc2::IfcSizeSelect* v6_FontSize) : IfcPreDefinedTextFont(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, v6_FontSize ? v6_FontSize->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextStyleForDefinedFont -::Ifc4x3_rc2::IfcColour* Ifc4x3_rc2::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcColour>(true); } +::Ifc4x3_rc2::IfcColour* Ifc4x3_rc2::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcColour>(true); } void Ifc4x3_rc2::IfcTextStyleForDefinedFont::setColour(::Ifc4x3_rc2::IfcColour* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc2::IfcColour* Ifc4x3_rc2::IfcTextStyleForDefinedFont::BackgroundColour() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcColour>(true); } +::Ifc4x3_rc2::IfcColour* Ifc4x3_rc2::IfcTextStyleForDefinedFont::BackgroundColour() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc2::IfcColour>(true); } void Ifc4x3_rc2::IfcTextStyleForDefinedFont::setBackgroundColour(::Ifc4x3_rc2::IfcColour* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcTextStyleForDefinedFont::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1204]); } const IfcParse::entity& Ifc4x3_rc2::IfcTextStyleForDefinedFont::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1204]); } Ifc4x3_rc2::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4x3_rc2::IfcColour* v1_Colour, ::Ifc4x3_rc2::IfcColour* v2_BackgroundColour) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Colour ? v1_Colour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_BackgroundColour ? v2_BackgroundColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4x3_rc2::IfcColour* v1_Colour, ::Ifc4x3_rc2::IfcColour* v2_BackgroundColour) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Colour ? v1_Colour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_BackgroundColour ? v2_BackgroundColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextStyleTextModel -::Ifc4x3_rc2::IfcSizeSelect* Ifc4x3_rc2::IfcTextStyleTextModel::TextIndent() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcSizeSelect>(true); } +::Ifc4x3_rc2::IfcSizeSelect* Ifc4x3_rc2::IfcTextStyleTextModel::TextIndent() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcSizeSelect>(true); } void Ifc4x3_rc2::IfcTextStyleTextModel::setTextIndent(::Ifc4x3_rc2::IfcSizeSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc2::IfcTextStyleTextModel::TextAlign() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTextStyleTextModel::TextAlign() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc2::IfcTextStyleTextModel::TextDecoration() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTextStyleTextModel::TextDecoration() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc2::IfcSizeSelect* Ifc4x3_rc2::IfcTextStyleTextModel::LetterSpacing() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcSizeSelect>(true); } +::Ifc4x3_rc2::IfcSizeSelect* Ifc4x3_rc2::IfcTextStyleTextModel::LetterSpacing() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcSizeSelect>(true); } void Ifc4x3_rc2::IfcTextStyleTextModel::setLetterSpacing(::Ifc4x3_rc2::IfcSizeSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc2::IfcSizeSelect* Ifc4x3_rc2::IfcTextStyleTextModel::WordSpacing() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcSizeSelect>(true); } +::Ifc4x3_rc2::IfcSizeSelect* Ifc4x3_rc2::IfcTextStyleTextModel::WordSpacing() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc2::IfcSizeSelect>(true); } void Ifc4x3_rc2::IfcTextStyleTextModel::setWordSpacing(::Ifc4x3_rc2::IfcSizeSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -boost::optional< std::string > Ifc4x3_rc2::IfcTextStyleTextModel::TextTransform() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTextStyleTextModel::TextTransform() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc2::IfcSizeSelect* Ifc4x3_rc2::IfcTextStyleTextModel::LineHeight() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcSizeSelect>(true); } +::Ifc4x3_rc2::IfcSizeSelect* Ifc4x3_rc2::IfcTextStyleTextModel::LineHeight() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc2::IfcSizeSelect>(true); } void Ifc4x3_rc2::IfcTextStyleTextModel::setLineHeight(::Ifc4x3_rc2::IfcSizeSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc2::IfcTextStyleTextModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1205]); } const IfcParse::entity& Ifc4x3_rc2::IfcTextStyleTextModel::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1205]); } Ifc4x3_rc2::IfcTextStyleTextModel::IfcTextStyleTextModel(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcTextStyleTextModel::IfcTextStyleTextModel(::Ifc4x3_rc2::IfcSizeSelect* v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, ::Ifc4x3_rc2::IfcSizeSelect* v4_LetterSpacing, ::Ifc4x3_rc2::IfcSizeSelect* v5_WordSpacing, boost::optional< std::string > v6_TextTransform, ::Ifc4x3_rc2::IfcSizeSelect* v7_LineHeight) : IfcPresentationItem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, v1_TextIndent ? v1_TextIndent->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, v4_LetterSpacing ? v4_LetterSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_WordSpacing ? v5_WordSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, v7_LineHeight ? v7_LineHeight->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcTextStyleTextModel::IfcTextStyleTextModel(::Ifc4x3_rc2::IfcSizeSelect* v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, ::Ifc4x3_rc2::IfcSizeSelect* v4_LetterSpacing, ::Ifc4x3_rc2::IfcSizeSelect* v5_WordSpacing, boost::optional< std::string > v6_TextTransform, ::Ifc4x3_rc2::IfcSizeSelect* v7_LineHeight) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_TextIndent ? v1_TextIndent->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, v4_LetterSpacing ? v4_LetterSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_WordSpacing ? v5_WordSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, v7_LineHeight ? v7_LineHeight->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextureCoordinate -aggregate_of< ::Ifc4x3_rc2::IfcSurfaceTexture >::ptr Ifc4x3_rc2::IfcTextureCoordinate::Maps() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcSurfaceTexture >(); } +aggregate_of< ::Ifc4x3_rc2::IfcSurfaceTexture >::ptr Ifc4x3_rc2::IfcTextureCoordinate::Maps() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcSurfaceTexture >(); } void Ifc4x3_rc2::IfcTextureCoordinate::setMaps(aggregate_of< ::Ifc4x3_rc2::IfcSurfaceTexture >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc2::IfcTextureCoordinate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1207]); } const IfcParse::entity& Ifc4x3_rc2::IfcTextureCoordinate::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1207]); } Ifc4x3_rc2::IfcTextureCoordinate::IfcTextureCoordinate(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcTextureCoordinate::IfcTextureCoordinate(aggregate_of< ::Ifc4x3_rc2::IfcSurfaceTexture >::ptr v1_Maps) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Maps)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcTextureCoordinate::IfcTextureCoordinate(aggregate_of< ::Ifc4x3_rc2::IfcSurfaceTexture >::ptr v1_Maps) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Maps)->generalize());; populate_derived(); } // Function implementations for IfcTextureCoordinateGenerator -std::string Ifc4x3_rc2::IfcTextureCoordinateGenerator::Mode() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_rc2::IfcTextureCoordinateGenerator::Mode() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcTextureCoordinateGenerator::setMode(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::vector< double > /*[1:?]*/ > Ifc4x3_rc2::IfcTextureCoordinateGenerator::Parameter() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< double > /*[1:?]*/ > Ifc4x3_rc2::IfcTextureCoordinateGenerator::Parameter() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[1:?]*/ v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcTextureCoordinateGenerator::setParameter(boost::optional< std::vector< double > /*[1:?]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc2::IfcTextureCoordinateGenerator::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1208]); } const IfcParse::entity& Ifc4x3_rc2::IfcTextureCoordinateGenerator::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1208]); } Ifc4x3_rc2::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(IfcEntityInstanceData&& e) : IfcTextureCoordinate(std::move(e)) { } -Ifc4x3_rc2::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(aggregate_of< ::Ifc4x3_rc2::IfcSurfaceTexture >::ptr v1_Maps, std::string v2_Mode, boost::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) : IfcTextureCoordinate(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); }; populate_derived(); } +Ifc4x3_rc2::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(aggregate_of< ::Ifc4x3_rc2::IfcSurfaceTexture >::ptr v1_Maps, std::string v2_Mode, boost::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) : IfcTextureCoordinate(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); }; populate_derived(); } // Function implementations for IfcTextureMap -aggregate_of< ::Ifc4x3_rc2::IfcTextureVertex >::ptr Ifc4x3_rc2::IfcTextureMap::Vertices() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcTextureVertex >(); } +aggregate_of< ::Ifc4x3_rc2::IfcTextureVertex >::ptr Ifc4x3_rc2::IfcTextureMap::Vertices() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcTextureVertex >(); } void Ifc4x3_rc2::IfcTextureMap::setVertices(aggregate_of< ::Ifc4x3_rc2::IfcTextureVertex >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc2::IfcFace* Ifc4x3_rc2::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcFace>(true); } +::Ifc4x3_rc2::IfcFace* Ifc4x3_rc2::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc2::IfcFace>(true); } void Ifc4x3_rc2::IfcTextureMap::setMappedTo(::Ifc4x3_rc2::IfcFace* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcTextureMap::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1209]); } const IfcParse::entity& Ifc4x3_rc2::IfcTextureMap::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1209]); } Ifc4x3_rc2::IfcTextureMap::IfcTextureMap(IfcEntityInstanceData&& e) : IfcTextureCoordinate(std::move(e)) { } -Ifc4x3_rc2::IfcTextureMap::IfcTextureMap(aggregate_of< ::Ifc4x3_rc2::IfcSurfaceTexture >::ptr v1_Maps, aggregate_of< ::Ifc4x3_rc2::IfcTextureVertex >::ptr v2_Vertices, ::Ifc4x3_rc2::IfcFace* v3_MappedTo) : IfcTextureCoordinate(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Vertices)->generalize());set_attribute_value(2, v3_MappedTo ? v3_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcTextureMap::IfcTextureMap(aggregate_of< ::Ifc4x3_rc2::IfcSurfaceTexture >::ptr v1_Maps, aggregate_of< ::Ifc4x3_rc2::IfcTextureVertex >::ptr v2_Vertices, ::Ifc4x3_rc2::IfcFace* v3_MappedTo) : IfcTextureCoordinate(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Vertices)->generalize());set_attribute_value(2, v3_MappedTo ? v3_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextureVertex -std::vector< double > /*[2:2]*/ Ifc4x3_rc2::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[2:2]*/ Ifc4x3_rc2::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcTextureVertex::setCoordinates(std::vector< double > /*[2:2]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc2::IfcTextureVertex::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1210]); } const IfcParse::entity& Ifc4x3_rc2::IfcTextureVertex::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1210]); } Ifc4x3_rc2::IfcTextureVertex::IfcTextureVertex(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcTextureVertex::IfcTextureVertex(std::vector< double > /*[2:2]*/ v1_Coordinates) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } +Ifc4x3_rc2::IfcTextureVertex::IfcTextureVertex(std::vector< double > /*[2:2]*/ v1_Coordinates) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } // Function implementations for IfcTextureVertexList -std::vector< std::vector< double > > Ifc4x3_rc2::IfcTextureVertexList::TexCoordsList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x3_rc2::IfcTextureVertexList::TexCoordsList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcTextureVertexList::setTexCoordsList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc2::IfcTextureVertexList::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1211]); } const IfcParse::entity& Ifc4x3_rc2::IfcTextureVertexList::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1211]); } Ifc4x3_rc2::IfcTextureVertexList::IfcTextureVertexList(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcTextureVertexList::IfcTextureVertexList(std::vector< std::vector< double > > v1_TexCoordsList) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_TexCoordsList));; populate_derived(); } +Ifc4x3_rc2::IfcTextureVertexList::IfcTextureVertexList(std::vector< std::vector< double > > v1_TexCoordsList) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_TexCoordsList));; populate_derived(); } // Function implementations for IfcTimePeriod -std::string Ifc4x3_rc2::IfcTimePeriod::StartTime() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc2::IfcTimePeriod::StartTime() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcTimePeriod::setStartTime(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x3_rc2::IfcTimePeriod::EndTime() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_rc2::IfcTimePeriod::EndTime() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcTimePeriod::setEndTime(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcTimePeriod::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1221]); } const IfcParse::entity& Ifc4x3_rc2::IfcTimePeriod::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1221]); } Ifc4x3_rc2::IfcTimePeriod::IfcTimePeriod(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcTimePeriod::IfcTimePeriod(std::string v1_StartTime, std::string v2_EndTime) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime));; populate_derived(); } +Ifc4x3_rc2::IfcTimePeriod::IfcTimePeriod(std::string v1_StartTime, std::string v2_EndTime) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime));; populate_derived(); } // Function implementations for IfcTimeSeries -std::string Ifc4x3_rc2::IfcTimeSeries::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc2::IfcTimeSeries::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc2::IfcTimeSeries::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc2::IfcTimeSeries::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTimeSeries::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcTimeSeries::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::string Ifc4x3_rc2::IfcTimeSeries::StartTime() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3_rc2::IfcTimeSeries::StartTime() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcTimeSeries::setStartTime(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::string Ifc4x3_rc2::IfcTimeSeries::EndTime() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x3_rc2::IfcTimeSeries::EndTime() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcTimeSeries::setEndTime(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Value Ifc4x3_rc2::IfcTimeSeries::TimeSeriesDataType() const { return ::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Value Ifc4x3_rc2::IfcTimeSeries::TimeSeriesDataType() const { return ::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::FromString(get_attribute_value(4)); } void Ifc4x3_rc2::IfcTimeSeries::setTimeSeriesDataType(::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcDataOriginEnum::Value Ifc4x3_rc2::IfcTimeSeries::DataOrigin() const { return ::Ifc4x3_rc2::IfcDataOriginEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_rc2::IfcDataOriginEnum::Value Ifc4x3_rc2::IfcTimeSeries::DataOrigin() const { return ::Ifc4x3_rc2::IfcDataOriginEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc2::IfcTimeSeries::setDataOrigin(::Ifc4x3_rc2::IfcDataOriginEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< std::string > Ifc4x3_rc2::IfcTimeSeries::UserDefinedDataOrigin() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTimeSeries::UserDefinedDataOrigin() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcTimeSeries::Unit() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc2::IfcUnit>(true); } +::Ifc4x3_rc2::IfcUnit* Ifc4x3_rc2::IfcTimeSeries::Unit() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc2::IfcUnit>(true); } void Ifc4x3_rc2::IfcTimeSeries::setUnit(::Ifc4x3_rc2::IfcUnit* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_rc2::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc2::IfcTimeSeries::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[441], 3)->as(); } @@ -17488,17 +17488,17 @@ void Ifc4x3_rc2::IfcTimeSeries::setUnit(::Ifc4x3_rc2::IfcUnit* v) { set_attribut const IfcParse::entity& Ifc4x3_rc2::IfcTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1222]); } const IfcParse::entity& Ifc4x3_rc2::IfcTimeSeries::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1222]); } Ifc4x3_rc2::IfcTimeSeries::IfcTimeSeries(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc2::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc2::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc2::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc2::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTimeSeriesValue -aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr Ifc4x3_rc2::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcValue >(); } +aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr Ifc4x3_rc2::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcValue >(); } void Ifc4x3_rc2::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc2::IfcTimeSeriesValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1224]); } const IfcParse::entity& Ifc4x3_rc2::IfcTimeSeriesValue::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1224]); } Ifc4x3_rc2::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_ListValues)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_rc2::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_ListValues)->generalize());; populate_derived(); } // Function implementations for IfcTopologicalRepresentationItem @@ -17506,7 +17506,7 @@ Ifc4x3_rc2::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_rc2::I const IfcParse::entity& Ifc4x3_rc2::IfcTopologicalRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1226]); } const IfcParse::entity& Ifc4x3_rc2::IfcTopologicalRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1226]); } Ifc4x3_rc2::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc2::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcTopologyRepresentation @@ -17514,182 +17514,182 @@ Ifc4x3_rc2::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() const IfcParse::entity& Ifc4x3_rc2::IfcTopologyRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1227]); } const IfcParse::entity& Ifc4x3_rc2::IfcTopologyRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1227]); } Ifc4x3_rc2::IfcTopologyRepresentation::IfcTopologyRepresentation(IfcEntityInstanceData&& e) : IfcShapeModel(std::move(e)) { } -Ifc4x3_rc2::IfcTopologyRepresentation::IfcTopologyRepresentation(::Ifc4x3_rc2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc2::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcTopologyRepresentation::IfcTopologyRepresentation(::Ifc4x3_rc2::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc2::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcToroidalSurface -double Ifc4x3_rc2::IfcToroidalSurface::MajorRadius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc2::IfcToroidalSurface::MajorRadius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcToroidalSurface::setMajorRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc2::IfcToroidalSurface::MinorRadius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc2::IfcToroidalSurface::MinorRadius() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcToroidalSurface::setMinorRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc2::IfcToroidalSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1228]); } const IfcParse::entity& Ifc4x3_rc2::IfcToroidalSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1228]); } Ifc4x3_rc2::IfcToroidalSurface::IfcToroidalSurface(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x3_rc2::IfcToroidalSurface::IfcToroidalSurface(::Ifc4x3_rc2::IfcAxis2Placement3D* v1_Position, double v2_MajorRadius, double v3_MinorRadius) : IfcElementarySurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius));; populate_derived(); } +Ifc4x3_rc2::IfcToroidalSurface::IfcToroidalSurface(::Ifc4x3_rc2::IfcAxis2Placement3D* v1_Position, double v2_MajorRadius, double v3_MinorRadius) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius));; populate_derived(); } // Function implementations for IfcTrackElement -boost::optional< ::Ifc4x3_rc2::IfcTrackElementTypeEnum::Value > Ifc4x3_rc2::IfcTrackElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcTrackElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcTrackElementTypeEnum::Value > Ifc4x3_rc2::IfcTrackElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcTrackElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcTrackElement::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcTrackElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcTrackElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcTrackElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1230]); } const IfcParse::entity& Ifc4x3_rc2::IfcTrackElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1230]); } Ifc4x3_rc2::IfcTrackElement::IfcTrackElement(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc2::IfcTrackElement::IfcTrackElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcTrackElementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcTrackElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcTrackElement::IfcTrackElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcTrackElementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcTrackElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTrackElementType -::Ifc4x3_rc2::IfcTrackElementTypeEnum::Value Ifc4x3_rc2::IfcTrackElementType::PredefinedType() const { return ::Ifc4x3_rc2::IfcTrackElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcTrackElementTypeEnum::Value Ifc4x3_rc2::IfcTrackElementType::PredefinedType() const { return ::Ifc4x3_rc2::IfcTrackElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcTrackElementType::setPredefinedType(::Ifc4x3_rc2::IfcTrackElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcTrackElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcTrackElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1231]); } const IfcParse::entity& Ifc4x3_rc2::IfcTrackElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1231]); } Ifc4x3_rc2::IfcTrackElementType::IfcTrackElementType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc2::IfcTrackElementType::IfcTrackElementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTrackElementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcTrackElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcTrackElementType::IfcTrackElementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTrackElementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcTrackElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTransformer -boost::optional< ::Ifc4x3_rc2::IfcTransformerTypeEnum::Value > Ifc4x3_rc2::IfcTransformer::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcTransformerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcTransformerTypeEnum::Value > Ifc4x3_rc2::IfcTransformer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcTransformerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcTransformer::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcTransformerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcTransformerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcTransformer::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1233]); } const IfcParse::entity& Ifc4x3_rc2::IfcTransformer::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1233]); } Ifc4x3_rc2::IfcTransformer::IfcTransformer(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc2::IfcTransformer::IfcTransformer(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcTransformerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcTransformer::IfcTransformer(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcTransformerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTransformerType -::Ifc4x3_rc2::IfcTransformerTypeEnum::Value Ifc4x3_rc2::IfcTransformerType::PredefinedType() const { return ::Ifc4x3_rc2::IfcTransformerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcTransformerTypeEnum::Value Ifc4x3_rc2::IfcTransformerType::PredefinedType() const { return ::Ifc4x3_rc2::IfcTransformerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcTransformerType::setPredefinedType(::Ifc4x3_rc2::IfcTransformerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcTransformerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcTransformerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1234]); } const IfcParse::entity& Ifc4x3_rc2::IfcTransformerType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1234]); } Ifc4x3_rc2::IfcTransformerType::IfcTransformerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc2::IfcTransformerType::IfcTransformerType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTransformerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcTransformerType::IfcTransformerType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTransformerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTransitionCurveSegment2D -boost::optional< double > Ifc4x3_rc2::IfcTransitionCurveSegment2D::StartRadius() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc2::IfcTransitionCurveSegment2D::StartRadius() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcTransitionCurveSegment2D::setStartRadius(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc2::IfcTransitionCurveSegment2D::EndRadius() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc2::IfcTransitionCurveSegment2D::EndRadius() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcTransitionCurveSegment2D::setEndRadius(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -bool Ifc4x3_rc2::IfcTransitionCurveSegment2D::IsStartRadiusCCW() const { bool v = data_.get_attribute_value(5); return v; } +bool Ifc4x3_rc2::IfcTransitionCurveSegment2D::IsStartRadiusCCW() const { bool v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcTransitionCurveSegment2D::setIsStartRadiusCCW(bool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -bool Ifc4x3_rc2::IfcTransitionCurveSegment2D::IsEndRadiusCCW() const { bool v = data_.get_attribute_value(6); return v; } +bool Ifc4x3_rc2::IfcTransitionCurveSegment2D::IsEndRadiusCCW() const { bool v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcTransitionCurveSegment2D::setIsEndRadiusCCW(bool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc2::IfcTransitionCurveType::Value Ifc4x3_rc2::IfcTransitionCurveSegment2D::TransitionCurveType() const { return ::Ifc4x3_rc2::IfcTransitionCurveType::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc2::IfcTransitionCurveType::Value Ifc4x3_rc2::IfcTransitionCurveSegment2D::TransitionCurveType() const { return ::Ifc4x3_rc2::IfcTransitionCurveType::FromString(get_attribute_value(7)); } void Ifc4x3_rc2::IfcTransitionCurveSegment2D::setTransitionCurveType(::Ifc4x3_rc2::IfcTransitionCurveType::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc2::IfcTransitionCurveType::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc2::IfcTransitionCurveSegment2D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1237]); } const IfcParse::entity& Ifc4x3_rc2::IfcTransitionCurveSegment2D::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1237]); } Ifc4x3_rc2::IfcTransitionCurveSegment2D::IfcTransitionCurveSegment2D(IfcEntityInstanceData&& e) : IfcCurveSegment2D(std::move(e)) { } -Ifc4x3_rc2::IfcTransitionCurveSegment2D::IfcTransitionCurveSegment2D(::Ifc4x3_rc2::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, boost::optional< double > v4_StartRadius, boost::optional< double > v5_EndRadius, bool v6_IsStartRadiusCCW, bool v7_IsEndRadiusCCW, ::Ifc4x3_rc2::IfcTransitionCurveType::Value v8_TransitionCurveType) : IfcCurveSegment2D(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, v1_StartPoint ? v1_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength)); if (v4_StartRadius) {set_attribute_value(3, (*v4_StartRadius)); } if (v5_EndRadius) {set_attribute_value(4, (*v5_EndRadius)); }set_attribute_value(5, (v6_IsStartRadiusCCW));set_attribute_value(6, (v7_IsEndRadiusCCW));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcTransitionCurveType::Class(),(size_t)v8_TransitionCurveType)));; populate_derived(); } +Ifc4x3_rc2::IfcTransitionCurveSegment2D::IfcTransitionCurveSegment2D(::Ifc4x3_rc2::IfcCartesianPoint* v1_StartPoint, double v2_StartDirection, double v3_SegmentLength, boost::optional< double > v4_StartRadius, boost::optional< double > v5_EndRadius, bool v6_IsStartRadiusCCW, bool v7_IsEndRadiusCCW, ::Ifc4x3_rc2::IfcTransitionCurveType::Value v8_TransitionCurveType) : IfcCurveSegment2D(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, v1_StartPoint ? v1_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_StartDirection));set_attribute_value(2, (v3_SegmentLength)); if (v4_StartRadius) {set_attribute_value(3, (*v4_StartRadius)); } if (v5_EndRadius) {set_attribute_value(4, (*v5_EndRadius)); }set_attribute_value(5, (v6_IsStartRadiusCCW));set_attribute_value(6, (v7_IsEndRadiusCCW));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc2::IfcTransitionCurveType::Class(),(size_t)v8_TransitionCurveType)));; populate_derived(); } // Function implementations for IfcTransportElement -::Ifc4x3_rc2::IfcTransportElementTypeSelect* Ifc4x3_rc2::IfcTransportElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc2::IfcTransportElementTypeSelect>(true); } +::Ifc4x3_rc2::IfcTransportElementTypeSelect* Ifc4x3_rc2::IfcTransportElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc2::IfcTransportElementTypeSelect>(true); } void Ifc4x3_rc2::IfcTransportElement::setPredefinedType(::Ifc4x3_rc2::IfcTransportElementTypeSelect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc2::IfcTransportElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1240]); } const IfcParse::entity& Ifc4x3_rc2::IfcTransportElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1240]); } Ifc4x3_rc2::IfcTransportElement::IfcTransportElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc2::IfcTransportElement::IfcTransportElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc2::IfcTransportElementTypeSelect* v9_PredefinedType) : IfcElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, v9_PredefinedType ? v9_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcTransportElement::IfcTransportElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc2::IfcTransportElementTypeSelect* v9_PredefinedType) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, v9_PredefinedType ? v9_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTransportElementType -::Ifc4x3_rc2::IfcTransportElementTypeSelect* Ifc4x3_rc2::IfcTransportElementType::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc2::IfcTransportElementTypeSelect>(true); } +::Ifc4x3_rc2::IfcTransportElementTypeSelect* Ifc4x3_rc2::IfcTransportElementType::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc2::IfcTransportElementTypeSelect>(true); } void Ifc4x3_rc2::IfcTransportElementType::setPredefinedType(::Ifc4x3_rc2::IfcTransportElementTypeSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcTransportElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1243]); } const IfcParse::entity& Ifc4x3_rc2::IfcTransportElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1243]); } Ifc4x3_rc2::IfcTransportElementType::IfcTransportElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_rc2::IfcTransportElementType::IfcTransportElementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTransportElementTypeSelect* v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, v10_PredefinedType ? v10_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcTransportElementType::IfcTransportElementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTransportElementTypeSelect* v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, v10_PredefinedType ? v10_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTrapeziumProfileDef -double Ifc4x3_rc2::IfcTrapeziumProfileDef::BottomXDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc2::IfcTrapeziumProfileDef::BottomXDim() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcTrapeziumProfileDef::setBottomXDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc2::IfcTrapeziumProfileDef::TopXDim() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc2::IfcTrapeziumProfileDef::TopXDim() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcTrapeziumProfileDef::setTopXDim(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc2::IfcTrapeziumProfileDef::YDim() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc2::IfcTrapeziumProfileDef::YDim() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcTrapeziumProfileDef::setYDim(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc2::IfcTrapeziumProfileDef::TopXOffset() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc2::IfcTrapeziumProfileDef::TopXOffset() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcTrapeziumProfileDef::setTopXOffset(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc2::IfcTrapeziumProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1245]); } const IfcParse::entity& Ifc4x3_rc2::IfcTrapeziumProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1245]); } Ifc4x3_rc2::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_rc2::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D* v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; populate_derived(); } +Ifc4x3_rc2::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::IfcAxis2Placement2D* v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; populate_derived(); } // Function implementations for IfcTriangulatedFaceSet -boost::optional< std::vector< std::vector< double > > > Ifc4x3_rc2::IfcTriangulatedFaceSet::Normals() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::vector< double > > v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< std::vector< double > > > Ifc4x3_rc2::IfcTriangulatedFaceSet::Normals() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::vector< double > > v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcTriangulatedFaceSet::setNormals(boost::optional< std::vector< std::vector< double > > > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< bool > Ifc4x3_rc2::IfcTriangulatedFaceSet::Closed() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } bool v = data_.get_attribute_value(2); return v; } +boost::optional< bool > Ifc4x3_rc2::IfcTriangulatedFaceSet::Closed() const { if(get_attribute_value(2).isNull()) { return boost::none; } bool v = get_attribute_value(2); return v; } void Ifc4x3_rc2::IfcTriangulatedFaceSet::setClosed(boost::optional< bool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector< std::vector< int > > Ifc4x3_rc2::IfcTriangulatedFaceSet::CoordIndex() const { std::vector< std::vector< int > > v = data_.get_attribute_value(3); return v; } +std::vector< std::vector< int > > Ifc4x3_rc2::IfcTriangulatedFaceSet::CoordIndex() const { std::vector< std::vector< int > > v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcTriangulatedFaceSet::setCoordIndex(std::vector< std::vector< int > > v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc2::IfcTriangulatedFaceSet::PnIndex() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc2::IfcTriangulatedFaceSet::PnIndex() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcTriangulatedFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc2::IfcTriangulatedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1246]); } const IfcParse::entity& Ifc4x3_rc2::IfcTriangulatedFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1246]); } Ifc4x3_rc2::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(IfcEntityInstanceData&& e) : IfcTessellatedFaceSet(std::move(e)) { } -Ifc4x3_rc2::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(::Ifc4x3_rc2::IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) : IfcTessellatedFaceSet(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }; populate_derived(); } +Ifc4x3_rc2::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(::Ifc4x3_rc2::IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) : IfcTessellatedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }; populate_derived(); } // Function implementations for IfcTriangulatedIrregularNetwork -std::vector< int > /*[1:?]*/ Ifc4x3_rc2::IfcTriangulatedIrregularNetwork::Flags() const { std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(5); return v; } +std::vector< int > /*[1:?]*/ Ifc4x3_rc2::IfcTriangulatedIrregularNetwork::Flags() const { std::vector< int > /*[1:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcTriangulatedIrregularNetwork::setFlags(std::vector< int > /*[1:?]*/ v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc2::IfcTriangulatedIrregularNetwork::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1247]); } const IfcParse::entity& Ifc4x3_rc2::IfcTriangulatedIrregularNetwork::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1247]); } Ifc4x3_rc2::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(IfcEntityInstanceData&& e) : IfcTriangulatedFaceSet(std::move(e)) { } -Ifc4x3_rc2::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::Ifc4x3_rc2::IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) : IfcTriangulatedFaceSet(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags));; populate_derived(); } +Ifc4x3_rc2::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::Ifc4x3_rc2::IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) : IfcTriangulatedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags));; populate_derived(); } // Function implementations for IfcTrimmedCurve -::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCurve>(true); } +::Ifc4x3_rc2::IfcCurve* Ifc4x3_rc2::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcCurve>(true); } void Ifc4x3_rc2::IfcTrimmedCurve::setBasisCurve(::Ifc4x3_rc2::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr Ifc4x3_rc2::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcTrimmingSelect >(); } +aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr Ifc4x3_rc2::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc2::IfcTrimmingSelect >(); } void Ifc4x3_rc2::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr Ifc4x3_rc2::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcTrimmingSelect >(); } +aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr Ifc4x3_rc2::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc2::IfcTrimmingSelect >(); } void Ifc4x3_rc2::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x3_rc2::IfcTrimmedCurve::SenseAgreement() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x3_rc2::IfcTrimmedCurve::SenseAgreement() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcTrimmedCurve::setSenseAgreement(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc2::IfcTrimmingPreference::Value Ifc4x3_rc2::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3_rc2::IfcTrimmingPreference::FromString(data_.get_attribute_value(4)); } +::Ifc4x3_rc2::IfcTrimmingPreference::Value Ifc4x3_rc2::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3_rc2::IfcTrimmingPreference::FromString(get_attribute_value(4)); } void Ifc4x3_rc2::IfcTrimmedCurve::setMasterRepresentation(::Ifc4x3_rc2::IfcTrimmingPreference::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3_rc2::IfcTrimmingPreference::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc2::IfcTrimmedCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1248]); } const IfcParse::entity& Ifc4x3_rc2::IfcTrimmedCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1248]); } Ifc4x3_rc2::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_rc2::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_rc2::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc2::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Trim1)->generalize());set_attribute_value(2, (v3_Trim2)->generalize());set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc2::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; populate_derived(); } +Ifc4x3_rc2::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_rc2::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_rc2::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc2::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Trim1)->generalize());set_attribute_value(2, (v3_Trim2)->generalize());set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc2::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcTubeBundle -boost::optional< ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value > Ifc4x3_rc2::IfcTubeBundle::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value > Ifc4x3_rc2::IfcTubeBundle::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcTubeBundle::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcTubeBundle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1252]); } const IfcParse::entity& Ifc4x3_rc2::IfcTubeBundle::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1252]); } Ifc4x3_rc2::IfcTubeBundle::IfcTubeBundle(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc2::IfcTubeBundle::IfcTubeBundle(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcTubeBundle::IfcTubeBundle(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTubeBundleType -::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value Ifc4x3_rc2::IfcTubeBundleType::PredefinedType() const { return ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value Ifc4x3_rc2::IfcTubeBundleType::PredefinedType() const { return ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcTubeBundleType::setPredefinedType(::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcTubeBundleType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1253]); } const IfcParse::entity& Ifc4x3_rc2::IfcTubeBundleType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1253]); } Ifc4x3_rc2::IfcTubeBundleType::IfcTubeBundleType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc2::IfcTubeBundleType::IfcTubeBundleType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcTubeBundleType::IfcTubeBundleType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTypeObject -boost::optional< std::string > Ifc4x3_rc2::IfcTypeObject::ApplicableOccurrence() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTypeObject::ApplicableOccurrence() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcTypeObject::setApplicableOccurrence(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > Ifc4x3_rc2::IfcTypeObject::HasPropertySets() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc2::IfcPropertySetDefinition >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > Ifc4x3_rc2::IfcTypeObject::HasPropertySets() const { if(get_attribute_value(5).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc2::IfcPropertySetDefinition >(); } void Ifc4x3_rc2::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v) { if (v) {set_attribute_value(5, (*v)->generalize());} else {unset_attribute_value(5);} } ::Ifc4x3_rc2::IfcRelDefinesByType::list::ptr Ifc4x3_rc2::IfcTypeObject::Types() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[953], 5)->as(); } @@ -17697,14 +17697,14 @@ void Ifc4x3_rc2::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of const IfcParse::entity& Ifc4x3_rc2::IfcTypeObject::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1255]); } const IfcParse::entity& Ifc4x3_rc2::IfcTypeObject::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1255]); } Ifc4x3_rc2::IfcTypeObject::IfcTypeObject(IfcEntityInstanceData&& e) : IfcObjectDefinition(std::move(e)) { } -Ifc4x3_rc2::IfcTypeObject::IfcTypeObject(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets) : IfcObjectDefinition(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); }; populate_derived(); } +Ifc4x3_rc2::IfcTypeObject::IfcTypeObject(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets) : IfcObjectDefinition(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); }; populate_derived(); } // Function implementations for IfcTypeProcess -boost::optional< std::string > Ifc4x3_rc2::IfcTypeProcess::Identification() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTypeProcess::Identification() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcTypeProcess::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc2::IfcTypeProcess::LongDescription() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTypeProcess::LongDescription() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcTypeProcess::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc2::IfcTypeProcess::ProcessType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTypeProcess::ProcessType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcTypeProcess::setProcessType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } ::Ifc4x3_rc2::IfcRelAssignsToProcess::list::ptr Ifc4x3_rc2::IfcTypeProcess::OperatesOn() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[923], 6)->as(); } @@ -17712,12 +17712,12 @@ void Ifc4x3_rc2::IfcTypeProcess::setProcessType(boost::optional< std::string > v const IfcParse::entity& Ifc4x3_rc2::IfcTypeProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1256]); } const IfcParse::entity& Ifc4x3_rc2::IfcTypeProcess::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1256]); } Ifc4x3_rc2::IfcTypeProcess::IfcTypeProcess(IfcEntityInstanceData&& e) : IfcTypeObject(std::move(e)) { } -Ifc4x3_rc2::IfcTypeProcess::IfcTypeProcess(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType) : IfcTypeObject(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }; populate_derived(); } +Ifc4x3_rc2::IfcTypeProcess::IfcTypeProcess(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType) : IfcTypeObject(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }; populate_derived(); } // Function implementations for IfcTypeProduct -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > Ifc4x3_rc2::IfcTypeProduct::RepresentationMaps() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3_rc2::IfcRepresentationMap >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > Ifc4x3_rc2::IfcTypeProduct::RepresentationMaps() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3_rc2::IfcRepresentationMap >(); } void Ifc4x3_rc2::IfcTypeProduct::setRepresentationMaps(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc2::IfcTypeProduct::Tag() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTypeProduct::Tag() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcTypeProduct::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } ::Ifc4x3_rc2::IfcRelAssignsToProduct::list::ptr Ifc4x3_rc2::IfcTypeProduct::ReferencedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[924], 6)->as(); } @@ -17725,14 +17725,14 @@ void Ifc4x3_rc2::IfcTypeProduct::setTag(boost::optional< std::string > v) { if ( const IfcParse::entity& Ifc4x3_rc2::IfcTypeProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1257]); } const IfcParse::entity& Ifc4x3_rc2::IfcTypeProduct::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1257]); } Ifc4x3_rc2::IfcTypeProduct::IfcTypeProduct(IfcEntityInstanceData&& e) : IfcTypeObject(std::move(e)) { } -Ifc4x3_rc2::IfcTypeProduct::IfcTypeProduct(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag) : IfcTypeObject(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc2::IfcTypeProduct::IfcTypeProduct(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag) : IfcTypeObject(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcTypeResource -boost::optional< std::string > Ifc4x3_rc2::IfcTypeResource::Identification() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTypeResource::Identification() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcTypeResource::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc2::IfcTypeResource::LongDescription() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTypeResource::LongDescription() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcTypeResource::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc2::IfcTypeResource::ResourceType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcTypeResource::ResourceType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcTypeResource::setResourceType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } ::Ifc4x3_rc2::IfcRelAssignsToResource::list::ptr Ifc4x3_rc2::IfcTypeResource::ResourceOf() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC2_types[925], 6)->as(); } @@ -17740,111 +17740,111 @@ void Ifc4x3_rc2::IfcTypeResource::setResourceType(boost::optional< std::string > const IfcParse::entity& Ifc4x3_rc2::IfcTypeResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1258]); } const IfcParse::entity& Ifc4x3_rc2::IfcTypeResource::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1258]); } Ifc4x3_rc2::IfcTypeResource::IfcTypeResource(IfcEntityInstanceData&& e) : IfcTypeObject(std::move(e)) { } -Ifc4x3_rc2::IfcTypeResource::IfcTypeResource(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType) : IfcTypeObject(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); }; populate_derived(); } +Ifc4x3_rc2::IfcTypeResource::IfcTypeResource(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType) : IfcTypeObject(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); }; populate_derived(); } // Function implementations for IfcUShapeProfileDef -double Ifc4x3_rc2::IfcUShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc2::IfcUShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcUShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc2::IfcUShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc2::IfcUShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcUShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc2::IfcUShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc2::IfcUShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcUShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc2::IfcUShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc2::IfcUShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcUShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc2::IfcUShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc2::IfcUShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcUShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc2::IfcUShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc2::IfcUShapeProfileDef::EdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcUShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_rc2::IfcUShapeProfileDef::FlangeSlope() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc2::IfcUShapeProfileDef::FlangeSlope() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc2::IfcUShapeProfileDef::setFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc2::IfcUShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1269]); } const IfcParse::entity& Ifc4x3_rc2::IfcUShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1269]); } Ifc4x3_rc2::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_rc2::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::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(storage_t(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } +Ifc4x3_rc2::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::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(in_memory_attribute_storage(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } // Function implementations for IfcUnitAssignment -aggregate_of< ::Ifc4x3_rc2::IfcUnit >::ptr Ifc4x3_rc2::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcUnit >(); } +aggregate_of< ::Ifc4x3_rc2::IfcUnit >::ptr Ifc4x3_rc2::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcUnit >(); } void Ifc4x3_rc2::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x3_rc2::IfcUnit >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc2::IfcUnitAssignment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1266]); } const IfcParse::entity& Ifc4x3_rc2::IfcUnitAssignment::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1266]); } Ifc4x3_rc2::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3_rc2::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Units)->generalize());; populate_derived(); } +Ifc4x3_rc2::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3_rc2::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Units)->generalize());; populate_derived(); } // Function implementations for IfcUnitaryControlElement -boost::optional< ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_rc2::IfcUnitaryControlElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_rc2::IfcUnitaryControlElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcUnitaryControlElement::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcUnitaryControlElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1260]); } const IfcParse::entity& Ifc4x3_rc2::IfcUnitaryControlElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1260]); } Ifc4x3_rc2::IfcUnitaryControlElement::IfcUnitaryControlElement(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_rc2::IfcUnitaryControlElement::IfcUnitaryControlElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcUnitaryControlElement::IfcUnitaryControlElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcUnitaryControlElementType -::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value Ifc4x3_rc2::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value Ifc4x3_rc2::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcUnitaryControlElementType::setPredefinedType(::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcUnitaryControlElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1261]); } const IfcParse::entity& Ifc4x3_rc2::IfcUnitaryControlElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1261]); } Ifc4x3_rc2::IfcUnitaryControlElementType::IfcUnitaryControlElementType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_rc2::IfcUnitaryControlElementType::IfcUnitaryControlElementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcUnitaryControlElementType::IfcUnitaryControlElementType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcUnitaryEquipment -boost::optional< ::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x3_rc2::IfcUnitaryEquipment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x3_rc2::IfcUnitaryEquipment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcUnitaryEquipment::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcUnitaryEquipment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1263]); } const IfcParse::entity& Ifc4x3_rc2::IfcUnitaryEquipment::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1263]); } Ifc4x3_rc2::IfcUnitaryEquipment::IfcUnitaryEquipment(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc2::IfcUnitaryEquipment::IfcUnitaryEquipment(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcUnitaryEquipment::IfcUnitaryEquipment(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcUnitaryEquipmentType -::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3_rc2::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3_rc2::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcUnitaryEquipmentType::setPredefinedType(::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcUnitaryEquipmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1264]); } const IfcParse::entity& Ifc4x3_rc2::IfcUnitaryEquipmentType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1264]); } Ifc4x3_rc2::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc2::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcValve -boost::optional< ::Ifc4x3_rc2::IfcValveTypeEnum::Value > Ifc4x3_rc2::IfcValve::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcValveTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcValveTypeEnum::Value > Ifc4x3_rc2::IfcValve::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcValveTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcValve::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcValveTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcValveTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcValve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1271]); } const IfcParse::entity& Ifc4x3_rc2::IfcValve::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1271]); } Ifc4x3_rc2::IfcValve::IfcValve(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_rc2::IfcValve::IfcValve(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcValveTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcValve::IfcValve(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcValveTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcValveType -::Ifc4x3_rc2::IfcValveTypeEnum::Value Ifc4x3_rc2::IfcValveType::PredefinedType() const { return ::Ifc4x3_rc2::IfcValveTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcValveTypeEnum::Value Ifc4x3_rc2::IfcValveType::PredefinedType() const { return ::Ifc4x3_rc2::IfcValveTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcValveType::setPredefinedType(::Ifc4x3_rc2::IfcValveTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcValveTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcValveType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1272]); } const IfcParse::entity& Ifc4x3_rc2::IfcValveType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1272]); } Ifc4x3_rc2::IfcValveType::IfcValveType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_rc2::IfcValveType::IfcValveType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcValveTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcValveType::IfcValveType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcValveTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcVector -::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcDirection>(true); } +::Ifc4x3_rc2::IfcDirection* Ifc4x3_rc2::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcDirection>(true); } void Ifc4x3_rc2::IfcVector::setOrientation(::Ifc4x3_rc2::IfcDirection* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc2::IfcVector::Magnitude() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc2::IfcVector::Magnitude() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcVector::setMagnitude(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcVector::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1275]); } const IfcParse::entity& Ifc4x3_rc2::IfcVector::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1275]); } Ifc4x3_rc2::IfcVector::IfcVector(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcVector::IfcVector(::Ifc4x3_rc2::IfcDirection* v1_Orientation, double v2_Magnitude) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Orientation ? v1_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Magnitude));; populate_derived(); } +Ifc4x3_rc2::IfcVector::IfcVector(::Ifc4x3_rc2::IfcDirection* v1_Orientation, double v2_Magnitude) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Orientation ? v1_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Magnitude));; populate_derived(); } // Function implementations for IfcVertex @@ -17852,67 +17852,67 @@ Ifc4x3_rc2::IfcVector::IfcVector(::Ifc4x3_rc2::IfcDirection* v1_Orientation, dou const IfcParse::entity& Ifc4x3_rc2::IfcVertex::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1277]); } const IfcParse::entity& Ifc4x3_rc2::IfcVertex::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1277]); } Ifc4x3_rc2::IfcVertex::IfcVertex(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_rc2::IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc2::IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcVertexLoop -::Ifc4x3_rc2::IfcVertex* Ifc4x3_rc2::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcVertex>(true); } +::Ifc4x3_rc2::IfcVertex* Ifc4x3_rc2::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcVertex>(true); } void Ifc4x3_rc2::IfcVertexLoop::setLoopVertex(::Ifc4x3_rc2::IfcVertex* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc2::IfcVertexLoop::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1278]); } const IfcParse::entity& Ifc4x3_rc2::IfcVertexLoop::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1278]); } Ifc4x3_rc2::IfcVertexLoop::IfcVertexLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc4x3_rc2::IfcVertexLoop::IfcVertexLoop(::Ifc4x3_rc2::IfcVertex* v1_LoopVertex) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_LoopVertex ? v1_LoopVertex->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcVertexLoop::IfcVertexLoop(::Ifc4x3_rc2::IfcVertex* v1_LoopVertex) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_LoopVertex ? v1_LoopVertex->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcVertexPoint -::Ifc4x3_rc2::IfcPoint* Ifc4x3_rc2::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcPoint>(true); } +::Ifc4x3_rc2::IfcPoint* Ifc4x3_rc2::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc2::IfcPoint>(true); } void Ifc4x3_rc2::IfcVertexPoint::setVertexGeometry(::Ifc4x3_rc2::IfcPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc2::IfcVertexPoint::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1279]); } const IfcParse::entity& Ifc4x3_rc2::IfcVertexPoint::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1279]); } Ifc4x3_rc2::IfcVertexPoint::IfcVertexPoint(IfcEntityInstanceData&& e) : IfcVertex(std::move(e)) { } -Ifc4x3_rc2::IfcVertexPoint::IfcVertexPoint(::Ifc4x3_rc2::IfcPoint* v1_VertexGeometry) : IfcVertex(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_VertexGeometry ? v1_VertexGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcVertexPoint::IfcVertexPoint(::Ifc4x3_rc2::IfcPoint* v1_VertexGeometry) : IfcVertex(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_VertexGeometry ? v1_VertexGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcVibrationDamper -boost::optional< ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc2::IfcVibrationDamper::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc2::IfcVibrationDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcVibrationDamper::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcVibrationDamper::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1280]); } const IfcParse::entity& Ifc4x3_rc2::IfcVibrationDamper::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1280]); } Ifc4x3_rc2::IfcVibrationDamper::IfcVibrationDamper(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_rc2::IfcVibrationDamper::IfcVibrationDamper(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcVibrationDamper::IfcVibrationDamper(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcVibrationDamperType -boost::optional< ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc2::IfcVibrationDamperType::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc2::IfcVibrationDamperType::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcVibrationDamperType::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc2::IfcVibrationDamperType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1281]); } const IfcParse::entity& Ifc4x3_rc2::IfcVibrationDamperType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1281]); } Ifc4x3_rc2::IfcVibrationDamperType::IfcVibrationDamperType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_rc2::IfcVibrationDamperType::IfcVibrationDamperType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value > v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcVibrationDamperType::IfcVibrationDamperType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Value > v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcVibrationDamperTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcVibrationIsolator -boost::optional< ::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value > Ifc4x3_rc2::IfcVibrationIsolator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value > Ifc4x3_rc2::IfcVibrationIsolator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcVibrationIsolator::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcVibrationIsolator::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1283]); } const IfcParse::entity& Ifc4x3_rc2::IfcVibrationIsolator::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1283]); } Ifc4x3_rc2::IfcVibrationIsolator::IfcVibrationIsolator(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_rc2::IfcVibrationIsolator::IfcVibrationIsolator(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcVibrationIsolator::IfcVibrationIsolator(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcVibrationIsolatorType -::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value Ifc4x3_rc2::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value Ifc4x3_rc2::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcVibrationIsolatorType::setPredefinedType(::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcVibrationIsolatorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1284]); } const IfcParse::entity& Ifc4x3_rc2::IfcVibrationIsolatorType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1284]); } Ifc4x3_rc2::IfcVibrationIsolatorType::IfcVibrationIsolatorType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_rc2::IfcVibrationIsolatorType::IfcVibrationIsolatorType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcVibrationIsolatorType::IfcVibrationIsolatorType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcVirtualElement @@ -17920,19 +17920,19 @@ Ifc4x3_rc2::IfcVibrationIsolatorType::IfcVibrationIsolatorType(std::string v1_Gl const IfcParse::entity& Ifc4x3_rc2::IfcVirtualElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1286]); } const IfcParse::entity& Ifc4x3_rc2::IfcVirtualElement::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1286]); } Ifc4x3_rc2::IfcVirtualElement::IfcVirtualElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc2::IfcVirtualElement::IfcVirtualElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc2::IfcVirtualElement::IfcVirtualElement(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcVirtualGridIntersection -aggregate_of< ::Ifc4x3_rc2::IfcGridAxis >::ptr Ifc4x3_rc2::IfcVirtualGridIntersection::IntersectingAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcGridAxis >(); } +aggregate_of< ::Ifc4x3_rc2::IfcGridAxis >::ptr Ifc4x3_rc2::IfcVirtualGridIntersection::IntersectingAxes() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc2::IfcGridAxis >(); } void Ifc4x3_rc2::IfcVirtualGridIntersection::setIntersectingAxes(aggregate_of< ::Ifc4x3_rc2::IfcGridAxis >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -std::vector< double > /*[2:3]*/ Ifc4x3_rc2::IfcVirtualGridIntersection::OffsetDistances() const { std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(1); return v; } +std::vector< double > /*[2:3]*/ Ifc4x3_rc2::IfcVirtualGridIntersection::OffsetDistances() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc2::IfcVirtualGridIntersection::setOffsetDistances(std::vector< double > /*[2:3]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc2::IfcVirtualGridIntersection::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1287]); } const IfcParse::entity& Ifc4x3_rc2::IfcVirtualGridIntersection::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1287]); } Ifc4x3_rc2::IfcVirtualGridIntersection::IfcVirtualGridIntersection(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc2::IfcVirtualGridIntersection::IfcVirtualGridIntersection(aggregate_of< ::Ifc4x3_rc2::IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_IntersectingAxes)->generalize());set_attribute_value(1, (v2_OffsetDistances));; populate_derived(); } +Ifc4x3_rc2::IfcVirtualGridIntersection::IfcVirtualGridIntersection(aggregate_of< ::Ifc4x3_rc2::IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_IntersectingAxes)->generalize());set_attribute_value(1, (v2_OffsetDistances));; populate_derived(); } // Function implementations for IfcVoidStratum @@ -17940,27 +17940,27 @@ Ifc4x3_rc2::IfcVirtualGridIntersection::IfcVirtualGridIntersection(aggregate_of< const IfcParse::entity& Ifc4x3_rc2::IfcVoidStratum::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1290]); } const IfcParse::entity& Ifc4x3_rc2::IfcVoidStratum::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1290]); } Ifc4x3_rc2::IfcVoidStratum::IfcVoidStratum(IfcEntityInstanceData&& e) : IfcGeotechnicalStratum(std::move(e)) { } -Ifc4x3_rc2::IfcVoidStratum::IfcVoidStratum(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalStratum(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc2::IfcVoidStratum::IfcVoidStratum(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalStratum(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcVoidingFeature -boost::optional< ::Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::Value > Ifc4x3_rc2::IfcVoidingFeature::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::Value > Ifc4x3_rc2::IfcVoidingFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcVoidingFeature::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcVoidingFeature::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1288]); } const IfcParse::entity& Ifc4x3_rc2::IfcVoidingFeature::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1288]); } Ifc4x3_rc2::IfcVoidingFeature::IfcVoidingFeature(IfcEntityInstanceData&& e) : IfcFeatureElementSubtraction(std::move(e)) { } -Ifc4x3_rc2::IfcVoidingFeature::IfcVoidingFeature(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcVoidingFeature::IfcVoidingFeature(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWall -boost::optional< ::Ifc4x3_rc2::IfcWallTypeEnum::Value > Ifc4x3_rc2::IfcWall::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcWallTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcWallTypeEnum::Value > Ifc4x3_rc2::IfcWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcWallTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcWall::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcWallTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcWallTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcWall::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1293]); } const IfcParse::entity& Ifc4x3_rc2::IfcWall::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1293]); } Ifc4x3_rc2::IfcWall::IfcWall(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc2::IfcWall::IfcWall(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcWall::IfcWall(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWallElementedCase @@ -17968,7 +17968,7 @@ Ifc4x3_rc2::IfcWall::IfcWall(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHist const IfcParse::entity& Ifc4x3_rc2::IfcWallElementedCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1294]); } const IfcParse::entity& Ifc4x3_rc2::IfcWallElementedCase::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1294]); } Ifc4x3_rc2::IfcWallElementedCase::IfcWallElementedCase(IfcEntityInstanceData&& e) : IfcWall(std::move(e)) { } -Ifc4x3_rc2::IfcWallElementedCase::IfcWallElementedCase(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcWall(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcWallElementedCase::IfcWallElementedCase(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcWall(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWallStandardCase @@ -17976,37 +17976,37 @@ Ifc4x3_rc2::IfcWallElementedCase::IfcWallElementedCase(std::string v1_GlobalId, const IfcParse::entity& Ifc4x3_rc2::IfcWallStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1295]); } const IfcParse::entity& Ifc4x3_rc2::IfcWallStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1295]); } Ifc4x3_rc2::IfcWallStandardCase::IfcWallStandardCase(IfcEntityInstanceData&& e) : IfcWall(std::move(e)) { } -Ifc4x3_rc2::IfcWallStandardCase::IfcWallStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcWall(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcWallStandardCase::IfcWallStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcWall(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWallType -::Ifc4x3_rc2::IfcWallTypeEnum::Value Ifc4x3_rc2::IfcWallType::PredefinedType() const { return ::Ifc4x3_rc2::IfcWallTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcWallTypeEnum::Value Ifc4x3_rc2::IfcWallType::PredefinedType() const { return ::Ifc4x3_rc2::IfcWallTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcWallType::setPredefinedType(::Ifc4x3_rc2::IfcWallTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcWallTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcWallType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1296]); } const IfcParse::entity& Ifc4x3_rc2::IfcWallType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1296]); } Ifc4x3_rc2::IfcWallType::IfcWallType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc2::IfcWallType::IfcWallType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcWallTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcWallType::IfcWallType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcWallTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcWasteTerminal -boost::optional< ::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value > Ifc4x3_rc2::IfcWasteTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value > Ifc4x3_rc2::IfcWasteTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcWasteTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcWasteTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1301]); } const IfcParse::entity& Ifc4x3_rc2::IfcWasteTerminal::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1301]); } Ifc4x3_rc2::IfcWasteTerminal::IfcWasteTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc2::IfcWasteTerminal::IfcWasteTerminal(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcWasteTerminal::IfcWasteTerminal(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWasteTerminalType -::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value Ifc4x3_rc2::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value Ifc4x3_rc2::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcWasteTerminalType::setPredefinedType(::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc2::IfcWasteTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1302]); } const IfcParse::entity& Ifc4x3_rc2::IfcWasteTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1302]); } Ifc4x3_rc2::IfcWasteTerminalType::IfcWasteTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc2::IfcWasteTerminalType::IfcWasteTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc2::IfcWasteTerminalType::IfcWasteTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcWaterStratum @@ -18014,75 +18014,75 @@ Ifc4x3_rc2::IfcWasteTerminalType::IfcWasteTerminalType(std::string v1_GlobalId, const IfcParse::entity& Ifc4x3_rc2::IfcWaterStratum::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1304]); } const IfcParse::entity& Ifc4x3_rc2::IfcWaterStratum::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1304]); } Ifc4x3_rc2::IfcWaterStratum::IfcWaterStratum(IfcEntityInstanceData&& e) : IfcGeotechnicalStratum(std::move(e)) { } -Ifc4x3_rc2::IfcWaterStratum::IfcWaterStratum(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalStratum(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc2::IfcWaterStratum::IfcWaterStratum(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalStratum(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcWindow -boost::optional< double > Ifc4x3_rc2::IfcWindow::OverallHeight() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc2::IfcWindow::OverallHeight() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcWindow::setOverallHeight(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_rc2::IfcWindow::OverallWidth() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc2::IfcWindow::OverallWidth() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc2::IfcWindow::setOverallWidth(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x3_rc2::IfcWindowTypeEnum::Value > Ifc4x3_rc2::IfcWindow::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcWindowTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc2::IfcWindowTypeEnum::Value > Ifc4x3_rc2::IfcWindow::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcWindowTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc2::IfcWindow::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcWindowTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc2::IfcWindowTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -boost::optional< ::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Value > Ifc4x3_rc2::IfcWindow::PartitioningType() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::FromString(data_.get_attribute_value(11)); } +boost::optional< ::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Value > Ifc4x3_rc2::IfcWindow::PartitioningType() const { if(get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc2::IfcWindow::setPartitioningType(boost::optional< ::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Value > v) { if (v) {set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Class(), (size_t) *v));} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_rc2::IfcWindow::UserDefinedPartitioningType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcWindow::UserDefinedPartitioningType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc2::IfcWindow::setUserDefinedPartitioningType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_rc2::IfcWindow::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1305]); } const IfcParse::entity& Ifc4x3_rc2::IfcWindow::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1305]); } Ifc4x3_rc2::IfcWindow::IfcWindow(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc2::IfcWindow::IfcWindow(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_rc2::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } +Ifc4x3_rc2::IfcWindow::IfcWindow(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_rc2::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } // Function implementations for IfcWindowLiningProperties -boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::LiningDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcWindowLiningProperties::setLiningDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::LiningThickness() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::LiningThickness() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcWindowLiningProperties::setLiningThickness(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::TransomThickness() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::TransomThickness() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcWindowLiningProperties::setTransomThickness(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::MullionThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::MullionThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcWindowLiningProperties::setMullionThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::FirstTransomOffset() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::FirstTransomOffset() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcWindowLiningProperties::setFirstTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::SecondTransomOffset() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::SecondTransomOffset() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc2::IfcWindowLiningProperties::setSecondTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::FirstMullionOffset() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::FirstMullionOffset() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::SecondMullionOffset() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::SecondMullionOffset() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc2::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -::Ifc4x3_rc2::IfcShapeAspect* Ifc4x3_rc2::IfcWindowLiningProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(12).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(12)))->as<::Ifc4x3_rc2::IfcShapeAspect>(true); } +::Ifc4x3_rc2::IfcShapeAspect* Ifc4x3_rc2::IfcWindowLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(12).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(12)))->as<::Ifc4x3_rc2::IfcShapeAspect>(true); } void Ifc4x3_rc2::IfcWindowLiningProperties::setShapeAspectStyle(::Ifc4x3_rc2::IfcShapeAspect* v) { set_attribute_value(12, v->as());if constexpr (false)unset_attribute_value(12); } -boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::LiningOffset() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::LiningOffset() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_rc2::IfcWindowLiningProperties::setLiningOffset(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::LiningToPanelOffsetX() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::LiningToPanelOffsetX() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3_rc2::IfcWindowLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::LiningToPanelOffsetY() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3_rc2::IfcWindowLiningProperties::LiningToPanelOffsetY() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3_rc2::IfcWindowLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } const IfcParse::entity& Ifc4x3_rc2::IfcWindowLiningProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1306]); } const IfcParse::entity& Ifc4x3_rc2::IfcWindowLiningProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1306]); } Ifc4x3_rc2::IfcWindowLiningProperties::IfcWindowLiningProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_rc2::IfcWindowLiningProperties::IfcWindowLiningProperties(std::string v1_GlobalId, ::Ifc4x3_rc2::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_rc2::IfcShapeAspect* v13_ShapeAspectStyle, boost::optional< double > v14_LiningOffset, boost::optional< double > v15_LiningToPanelOffsetX, boost::optional< double > v16_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, v13_ShapeAspectStyle ? v13_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); }; populate_derived(); } +Ifc4x3_rc2::IfcWindowLiningProperties::IfcWindowLiningProperties(std::string v1_GlobalId, ::Ifc4x3_rc2::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_rc2::IfcShapeAspect* v13_ShapeAspectStyle, boost::optional< double > v14_LiningOffset, boost::optional< double > v15_LiningToPanelOffsetX, boost::optional< double > v16_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, v13_ShapeAspectStyle ? v13_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); }; populate_derived(); } // Function implementations for IfcWindowPanelProperties -::Ifc4x3_rc2::IfcWindowPanelOperationEnum::Value Ifc4x3_rc2::IfcWindowPanelProperties::OperationType() const { return ::Ifc4x3_rc2::IfcWindowPanelOperationEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x3_rc2::IfcWindowPanelOperationEnum::Value Ifc4x3_rc2::IfcWindowPanelProperties::OperationType() const { return ::Ifc4x3_rc2::IfcWindowPanelOperationEnum::FromString(get_attribute_value(4)); } void Ifc4x3_rc2::IfcWindowPanelProperties::setOperationType(::Ifc4x3_rc2::IfcWindowPanelOperationEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3_rc2::IfcWindowPanelOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc2::IfcWindowPanelPositionEnum::Value Ifc4x3_rc2::IfcWindowPanelProperties::PanelPosition() const { return ::Ifc4x3_rc2::IfcWindowPanelPositionEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_rc2::IfcWindowPanelPositionEnum::Value Ifc4x3_rc2::IfcWindowPanelProperties::PanelPosition() const { return ::Ifc4x3_rc2::IfcWindowPanelPositionEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc2::IfcWindowPanelProperties::setPanelPosition(::Ifc4x3_rc2::IfcWindowPanelPositionEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc2::IfcWindowPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_rc2::IfcWindowPanelProperties::FrameDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc2::IfcWindowPanelProperties::FrameDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_rc2::IfcWindowPanelProperties::FrameThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc2::IfcWindowPanelProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc2::IfcShapeAspect* Ifc4x3_rc2::IfcWindowPanelProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc2::IfcShapeAspect>(true); } +::Ifc4x3_rc2::IfcShapeAspect* Ifc4x3_rc2::IfcWindowPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc2::IfcShapeAspect>(true); } void Ifc4x3_rc2::IfcWindowPanelProperties::setShapeAspectStyle(::Ifc4x3_rc2::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc2::IfcWindowPanelProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1309]); } const IfcParse::entity& Ifc4x3_rc2::IfcWindowPanelProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1309]); } Ifc4x3_rc2::IfcWindowPanelProperties::IfcWindowPanelProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_rc2::IfcWindowPanelProperties::IfcWindowPanelProperties(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_rc2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x3_rc2::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc2::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc2::IfcWindowPanelProperties::IfcWindowPanelProperties(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc2::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_rc2::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x3_rc2::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc2::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc2::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcWindowStandardCase @@ -18090,137 +18090,137 @@ Ifc4x3_rc2::IfcWindowPanelProperties::IfcWindowPanelProperties(std::string v1_Gl const IfcParse::entity& Ifc4x3_rc2::IfcWindowStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1310]); } const IfcParse::entity& Ifc4x3_rc2::IfcWindowStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1310]); } Ifc4x3_rc2::IfcWindowStandardCase::IfcWindowStandardCase(IfcEntityInstanceData&& e) : IfcWindow(std::move(e)) { } -Ifc4x3_rc2::IfcWindowStandardCase::IfcWindowStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_rc2::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcWindow(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } +Ifc4x3_rc2::IfcWindowStandardCase::IfcWindowStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc2::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc2::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_rc2::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcWindow(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } // Function implementations for IfcWindowStyle -::Ifc4x3_rc2::IfcWindowStyleConstructionEnum::Value Ifc4x3_rc2::IfcWindowStyle::ConstructionType() const { return ::Ifc4x3_rc2::IfcWindowStyleConstructionEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc2::IfcWindowStyleConstructionEnum::Value Ifc4x3_rc2::IfcWindowStyle::ConstructionType() const { return ::Ifc4x3_rc2::IfcWindowStyleConstructionEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcWindowStyle::setConstructionType(::Ifc4x3_rc2::IfcWindowStyleConstructionEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcWindowStyleConstructionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc2::IfcWindowStyleOperationEnum::Value Ifc4x3_rc2::IfcWindowStyle::OperationType() const { return ::Ifc4x3_rc2::IfcWindowStyleOperationEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcWindowStyleOperationEnum::Value Ifc4x3_rc2::IfcWindowStyle::OperationType() const { return ::Ifc4x3_rc2::IfcWindowStyleOperationEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcWindowStyle::setOperationType(::Ifc4x3_rc2::IfcWindowStyleOperationEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcWindowStyleOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -bool Ifc4x3_rc2::IfcWindowStyle::ParameterTakesPrecedence() const { bool v = data_.get_attribute_value(10); return v; } +bool Ifc4x3_rc2::IfcWindowStyle::ParameterTakesPrecedence() const { bool v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcWindowStyle::setParameterTakesPrecedence(bool v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -bool Ifc4x3_rc2::IfcWindowStyle::Sizeable() const { bool v = data_.get_attribute_value(11); return v; } +bool Ifc4x3_rc2::IfcWindowStyle::Sizeable() const { bool v = get_attribute_value(11); return v; } void Ifc4x3_rc2::IfcWindowStyle::setSizeable(bool v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc2::IfcWindowStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1311]); } const IfcParse::entity& Ifc4x3_rc2::IfcWindowStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1311]); } Ifc4x3_rc2::IfcWindowStyle::IfcWindowStyle(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(e)) { } -Ifc4x3_rc2::IfcWindowStyle::IfcWindowStyle(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc2::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x3_rc2::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcWindowStyleConstructionEnum::Class(),(size_t)v9_ConstructionType)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcWindowStyleOperationEnum::Class(),(size_t)v10_OperationType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; populate_derived(); } +Ifc4x3_rc2::IfcWindowStyle::IfcWindowStyle(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc2::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x3_rc2::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcWindowStyleConstructionEnum::Class(),(size_t)v9_ConstructionType)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcWindowStyleOperationEnum::Class(),(size_t)v10_OperationType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; populate_derived(); } // Function implementations for IfcWindowType -::Ifc4x3_rc2::IfcWindowTypeEnum::Value Ifc4x3_rc2::IfcWindowType::PredefinedType() const { return ::Ifc4x3_rc2::IfcWindowTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc2::IfcWindowTypeEnum::Value Ifc4x3_rc2::IfcWindowType::PredefinedType() const { return ::Ifc4x3_rc2::IfcWindowTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc2::IfcWindowType::setPredefinedType(::Ifc4x3_rc2::IfcWindowTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc2::IfcWindowTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Value Ifc4x3_rc2::IfcWindowType::PartitioningType() const { return ::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Value Ifc4x3_rc2::IfcWindowType::PartitioningType() const { return ::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc2::IfcWindowType::setPartitioningType(::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } -boost::optional< bool > Ifc4x3_rc2::IfcWindowType::ParameterTakesPrecedence() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } bool v = data_.get_attribute_value(11); return v; } +boost::optional< bool > Ifc4x3_rc2::IfcWindowType::ParameterTakesPrecedence() const { if(get_attribute_value(11).isNull()) { return boost::none; } bool v = get_attribute_value(11); return v; } void Ifc4x3_rc2::IfcWindowType::setParameterTakesPrecedence(boost::optional< bool > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_rc2::IfcWindowType::UserDefinedPartitioningType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcWindowType::UserDefinedPartitioningType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc2::IfcWindowType::setUserDefinedPartitioningType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_rc2::IfcWindowType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1314]); } const IfcParse::entity& Ifc4x3_rc2::IfcWindowType::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1314]); } Ifc4x3_rc2::IfcWindowType::IfcWindowType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc2::IfcWindowType::IfcWindowType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } +Ifc4x3_rc2::IfcWindowType::IfcWindowType(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc2::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc2::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc2::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } // Function implementations for IfcWorkCalendar -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcWorkTime >::ptr > Ifc4x3_rc2::IfcWorkCalendar::WorkingTimes() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3_rc2::IfcWorkTime >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcWorkTime >::ptr > Ifc4x3_rc2::IfcWorkCalendar::WorkingTimes() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3_rc2::IfcWorkTime >(); } void Ifc4x3_rc2::IfcWorkCalendar::setWorkingTimes(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcWorkTime >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcWorkTime >::ptr > Ifc4x3_rc2::IfcWorkCalendar::ExceptionTimes() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc2::IfcWorkTime >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcWorkTime >::ptr > Ifc4x3_rc2::IfcWorkCalendar::ExceptionTimes() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc2::IfcWorkTime >(); } void Ifc4x3_rc2::IfcWorkCalendar::setExceptionTimes(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcWorkTime >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3_rc2::IfcWorkCalendarTypeEnum::Value > Ifc4x3_rc2::IfcWorkCalendar::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcWorkCalendarTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc2::IfcWorkCalendarTypeEnum::Value > Ifc4x3_rc2::IfcWorkCalendar::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcWorkCalendarTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc2::IfcWorkCalendar::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcWorkCalendarTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc2::IfcWorkCalendarTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcWorkCalendar::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1317]); } const IfcParse::entity& Ifc4x3_rc2::IfcWorkCalendar::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1317]); } Ifc4x3_rc2::IfcWorkCalendar::IfcWorkCalendar(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_rc2::IfcWorkCalendar::IfcWorkCalendar(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcWorkTime >::ptr > v7_WorkingTimes, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcWorkTime >::ptr > v8_ExceptionTimes, boost::optional< ::Ifc4x3_rc2::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, (*v7_WorkingTimes)->generalize()); } if (v8_ExceptionTimes) {set_attribute_value(7, (*v8_ExceptionTimes)->generalize()); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcWorkCalendar::IfcWorkCalendar(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcWorkTime >::ptr > v7_WorkingTimes, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcWorkTime >::ptr > v8_ExceptionTimes, boost::optional< ::Ifc4x3_rc2::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, (*v7_WorkingTimes)->generalize()); } if (v8_ExceptionTimes) {set_attribute_value(7, (*v8_ExceptionTimes)->generalize()); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc2::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWorkControl -std::string Ifc4x3_rc2::IfcWorkControl::CreationDate() const { std::string v = data_.get_attribute_value(6); return v; } +std::string Ifc4x3_rc2::IfcWorkControl::CreationDate() const { std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcWorkControl::setCreationDate(std::string v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPerson >::ptr > Ifc4x3_rc2::IfcWorkControl::Creators() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc2::IfcPerson >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPerson >::ptr > Ifc4x3_rc2::IfcWorkControl::Creators() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc2::IfcPerson >(); } void Ifc4x3_rc2::IfcWorkControl::setCreators(boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPerson >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc2::IfcWorkControl::Purpose() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcWorkControl::Purpose() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcWorkControl::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_rc2::IfcWorkControl::Duration() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcWorkControl::Duration() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc2::IfcWorkControl::setDuration(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x3_rc2::IfcWorkControl::TotalFloat() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcWorkControl::TotalFloat() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc2::IfcWorkControl::setTotalFloat(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -std::string Ifc4x3_rc2::IfcWorkControl::StartTime() const { std::string v = data_.get_attribute_value(11); return v; } +std::string Ifc4x3_rc2::IfcWorkControl::StartTime() const { std::string v = get_attribute_value(11); return v; } void Ifc4x3_rc2::IfcWorkControl::setStartTime(std::string v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } -boost::optional< std::string > Ifc4x3_rc2::IfcWorkControl::FinishTime() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcWorkControl::FinishTime() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc2::IfcWorkControl::setFinishTime(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_rc2::IfcWorkControl::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1319]); } const IfcParse::entity& Ifc4x3_rc2::IfcWorkControl::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1319]); } Ifc4x3_rc2::IfcWorkControl::IfcWorkControl(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_rc2::IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime) : IfcControl(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); }; populate_derived(); } +Ifc4x3_rc2::IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); }; populate_derived(); } // Function implementations for IfcWorkPlan -boost::optional< ::Ifc4x3_rc2::IfcWorkPlanTypeEnum::Value > Ifc4x3_rc2::IfcWorkPlan::PredefinedType() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcWorkPlanTypeEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x3_rc2::IfcWorkPlanTypeEnum::Value > Ifc4x3_rc2::IfcWorkPlan::PredefinedType() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcWorkPlanTypeEnum::FromString(get_attribute_value(13)); } void Ifc4x3_rc2::IfcWorkPlan::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcWorkPlanTypeEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x3_rc2::IfcWorkPlanTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } const IfcParse::entity& Ifc4x3_rc2::IfcWorkPlan::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1320]); } const IfcParse::entity& Ifc4x3_rc2::IfcWorkPlan::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1320]); } Ifc4x3_rc2::IfcWorkPlan::IfcWorkPlan(IfcEntityInstanceData&& e) : IfcWorkControl(std::move(e)) { } -Ifc4x3_rc2::IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< ::Ifc4x3_rc2::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_rc2::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< ::Ifc4x3_rc2::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_rc2::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWorkSchedule -boost::optional< ::Ifc4x3_rc2::IfcWorkScheduleTypeEnum::Value > Ifc4x3_rc2::IfcWorkSchedule::PredefinedType() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcWorkScheduleTypeEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x3_rc2::IfcWorkScheduleTypeEnum::Value > Ifc4x3_rc2::IfcWorkSchedule::PredefinedType() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_rc2::IfcWorkScheduleTypeEnum::FromString(get_attribute_value(13)); } void Ifc4x3_rc2::IfcWorkSchedule::setPredefinedType(boost::optional< ::Ifc4x3_rc2::IfcWorkScheduleTypeEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x3_rc2::IfcWorkScheduleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } const IfcParse::entity& Ifc4x3_rc2::IfcWorkSchedule::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1322]); } const IfcParse::entity& Ifc4x3_rc2::IfcWorkSchedule::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1322]); } Ifc4x3_rc2::IfcWorkSchedule::IfcWorkSchedule(IfcEntityInstanceData&& e) : IfcWorkControl(std::move(e)) { } -Ifc4x3_rc2::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< ::Ifc4x3_rc2::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_rc2::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc2::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x3_rc2::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< ::Ifc4x3_rc2::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_rc2::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWorkTime -::Ifc4x3_rc2::IfcRecurrencePattern* Ifc4x3_rc2::IfcWorkTime::RecurrencePattern() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcRecurrencePattern>(true); } +::Ifc4x3_rc2::IfcRecurrencePattern* Ifc4x3_rc2::IfcWorkTime::RecurrencePattern() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc2::IfcRecurrencePattern>(true); } void Ifc4x3_rc2::IfcWorkTime::setRecurrencePattern(::Ifc4x3_rc2::IfcRecurrencePattern* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc2::IfcWorkTime::Start() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcWorkTime::Start() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcWorkTime::setStart(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc2::IfcWorkTime::Finish() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcWorkTime::Finish() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcWorkTime::setFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_rc2::IfcWorkTime::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1324]); } const IfcParse::entity& Ifc4x3_rc2::IfcWorkTime::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1324]); } Ifc4x3_rc2::IfcWorkTime::IfcWorkTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x3_rc2::IfcWorkTime::IfcWorkTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc2::IfcRecurrencePattern* v4_RecurrencePattern, boost::optional< std::string > v5_Start, boost::optional< std::string > v6_Finish) : IfcSchedulingTime(IfcEntityInstanceData(storage_t(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_RecurrencePattern ? v4_RecurrencePattern->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Start) {set_attribute_value(4, (*v5_Start)); } if (v6_Finish) {set_attribute_value(5, (*v6_Finish)); }; populate_derived(); } +Ifc4x3_rc2::IfcWorkTime::IfcWorkTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc2::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc2::IfcRecurrencePattern* v4_RecurrencePattern, boost::optional< std::string > v5_Start, boost::optional< std::string > v6_Finish) : IfcSchedulingTime(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc2::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_RecurrencePattern ? v4_RecurrencePattern->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Start) {set_attribute_value(4, (*v5_Start)); } if (v6_Finish) {set_attribute_value(5, (*v6_Finish)); }; populate_derived(); } // Function implementations for IfcZShapeProfileDef -double Ifc4x3_rc2::IfcZShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc2::IfcZShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc2::IfcZShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc2::IfcZShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc2::IfcZShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc2::IfcZShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc2::IfcZShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc2::IfcZShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcZShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc2::IfcZShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc2::IfcZShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc2::IfcZShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc2::IfcZShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc2::IfcZShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc2::IfcZShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc2::IfcZShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc2::IfcZShapeProfileDef::EdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc2::IfcZShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc2::IfcZShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1326]); } const IfcParse::entity& Ifc4x3_rc2::IfcZShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1326]); } Ifc4x3_rc2::IfcZShapeProfileDef::IfcZShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_rc2::IfcZShapeProfileDef::IfcZShapeProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::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(storage_t(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; populate_derived(); } +Ifc4x3_rc2::IfcZShapeProfileDef::IfcZShapeProfileDef(::Ifc4x3_rc2::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc2::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(in_memory_attribute_storage(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc2::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; populate_derived(); } // Function implementations for IfcZone -boost::optional< std::string > Ifc4x3_rc2::IfcZone::LongName() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc2::IfcZone::LongName() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc2::IfcZone::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_rc2::IfcZone::declaration() const { return *((IfcParse::entity*)IFC4X3_RC2_types[1325]); } const IfcParse::entity& Ifc4x3_rc2::IfcZone::Class() { return *((IfcParse::entity*)IFC4X3_RC2_types[1325]); } Ifc4x3_rc2::IfcZone::IfcZone(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3_rc2::IfcZone::IfcZone(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName) : IfcSystem(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); }; populate_derived(); } +Ifc4x3_rc2::IfcZone::IfcZone(std::string v1_GlobalId, ::Ifc4x3_rc2::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); }; populate_derived(); } diff --git a/src/ifcparse/Ifc4x3_rc3.cpp b/src/ifcparse/Ifc4x3_rc3.cpp index 7592b679ac..27f73328bd 100644 --- a/src/ifcparse/Ifc4x3_rc3.cpp +++ b/src/ifcparse/Ifc4x3_rc3.cpp @@ -63,7 +63,7 @@ Ifc4x3_rc3::IfcActionRequestTypeEnum::Value Ifc4x3_rc3::IfcActionRequestTypeEnum } Ifc4x3_rc3::IfcActionRequestTypeEnum::operator Ifc4x3_rc3::IfcActionRequestTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcActionRequestTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcActionRequestTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcActionSourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[4]); } @@ -90,7 +90,7 @@ Ifc4x3_rc3::IfcActionSourceTypeEnum::Value Ifc4x3_rc3::IfcActionSourceTypeEnum:: } Ifc4x3_rc3::IfcActionSourceTypeEnum::operator Ifc4x3_rc3::IfcActionSourceTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcActionSourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcActionSourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcActionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[5]); } @@ -117,7 +117,7 @@ Ifc4x3_rc3::IfcActionTypeEnum::Value Ifc4x3_rc3::IfcActionTypeEnum::FromString(c } Ifc4x3_rc3::IfcActionTypeEnum::operator Ifc4x3_rc3::IfcActionTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcActionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcActionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcActuatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[11]); } @@ -144,7 +144,7 @@ Ifc4x3_rc3::IfcActuatorTypeEnum::Value Ifc4x3_rc3::IfcActuatorTypeEnum::FromStri } Ifc4x3_rc3::IfcActuatorTypeEnum::operator Ifc4x3_rc3::IfcActuatorTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcActuatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcActuatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcAddressTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[13]); } @@ -171,7 +171,7 @@ Ifc4x3_rc3::IfcAddressTypeEnum::Value Ifc4x3_rc3::IfcAddressTypeEnum::FromString } Ifc4x3_rc3::IfcAddressTypeEnum::operator Ifc4x3_rc3::IfcAddressTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcAddressTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcAddressTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[20]); } @@ -198,7 +198,7 @@ Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Value Ifc4x3_rc3::IfcAirTerminalBoxTypeEn } Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::operator Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcAirTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[22]); } @@ -225,7 +225,7 @@ Ifc4x3_rc3::IfcAirTerminalTypeEnum::Value Ifc4x3_rc3::IfcAirTerminalTypeEnum::Fr } Ifc4x3_rc3::IfcAirTerminalTypeEnum::operator Ifc4x3_rc3::IfcAirTerminalTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcAirTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcAirTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[25]); } @@ -252,7 +252,7 @@ Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3_rc3::IfcAirToAirHeatRe } Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::operator Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcAlarmTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[28]); } @@ -279,7 +279,7 @@ Ifc4x3_rc3::IfcAlarmTypeEnum::Value Ifc4x3_rc3::IfcAlarmTypeEnum::FromString(con } Ifc4x3_rc3::IfcAlarmTypeEnum::operator Ifc4x3_rc3::IfcAlarmTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcAlarmTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcAlarmTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[32]); } @@ -306,7 +306,7 @@ Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::Value Ifc4x3_rc3::IfcAlignmentCantS } Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::operator Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcAlignmentHorizontalSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[35]); } @@ -333,7 +333,7 @@ Ifc4x3_rc3::IfcAlignmentHorizontalSegmentTypeEnum::Value Ifc4x3_rc3::IfcAlignmen } Ifc4x3_rc3::IfcAlignmentHorizontalSegmentTypeEnum::operator Ifc4x3_rc3::IfcAlignmentHorizontalSegmentTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcAlignmentHorizontalSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcAlignmentHorizontalSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcAlignmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[38]); } @@ -360,7 +360,7 @@ Ifc4x3_rc3::IfcAlignmentTypeEnum::Value Ifc4x3_rc3::IfcAlignmentTypeEnum::FromSt } Ifc4x3_rc3::IfcAlignmentTypeEnum::operator Ifc4x3_rc3::IfcAlignmentTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcAlignmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcAlignmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcAlignmentVerticalSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[41]); } @@ -387,7 +387,7 @@ Ifc4x3_rc3::IfcAlignmentVerticalSegmentTypeEnum::Value Ifc4x3_rc3::IfcAlignmentV } Ifc4x3_rc3::IfcAlignmentVerticalSegmentTypeEnum::operator Ifc4x3_rc3::IfcAlignmentVerticalSegmentTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcAlignmentVerticalSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcAlignmentVerticalSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcAnalysisModelTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[43]); } @@ -414,7 +414,7 @@ Ifc4x3_rc3::IfcAnalysisModelTypeEnum::Value Ifc4x3_rc3::IfcAnalysisModelTypeEnum } Ifc4x3_rc3::IfcAnalysisModelTypeEnum::operator Ifc4x3_rc3::IfcAnalysisModelTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcAnalysisModelTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcAnalysisModelTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[44]); } @@ -441,7 +441,7 @@ Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_rc3::IfcAnalysisTheoryTypeEn } Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::operator Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcAnnotationTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[48]); } @@ -468,7 +468,7 @@ Ifc4x3_rc3::IfcAnnotationTypeEnum::Value Ifc4x3_rc3::IfcAnnotationTypeEnum::From } Ifc4x3_rc3::IfcAnnotationTypeEnum::operator Ifc4x3_rc3::IfcAnnotationTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcAnnotationTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcAnnotationTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcArithmeticOperatorEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[60]); } @@ -495,7 +495,7 @@ Ifc4x3_rc3::IfcArithmeticOperatorEnum::Value Ifc4x3_rc3::IfcArithmeticOperatorEn } Ifc4x3_rc3::IfcArithmeticOperatorEnum::operator Ifc4x3_rc3::IfcArithmeticOperatorEnum::Value() const { - return (Ifc4x3_rc3::IfcArithmeticOperatorEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcArithmeticOperatorEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcAssemblyPlaceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[61]); } @@ -522,7 +522,7 @@ Ifc4x3_rc3::IfcAssemblyPlaceEnum::Value Ifc4x3_rc3::IfcAssemblyPlaceEnum::FromSt } Ifc4x3_rc3::IfcAssemblyPlaceEnum::operator Ifc4x3_rc3::IfcAssemblyPlaceEnum::Value() const { - return (Ifc4x3_rc3::IfcAssemblyPlaceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcAssemblyPlaceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[66]); } @@ -549,7 +549,7 @@ Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3_rc3::IfcAudioVisualApp } Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::operator Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcBSplineCurveForm::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[109]); } @@ -576,7 +576,7 @@ Ifc4x3_rc3::IfcBSplineCurveForm::Value Ifc4x3_rc3::IfcBSplineCurveForm::FromStri } Ifc4x3_rc3::IfcBSplineCurveForm::operator Ifc4x3_rc3::IfcBSplineCurveForm::Value() const { - return (Ifc4x3_rc3::IfcBSplineCurveForm::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcBSplineCurveForm::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcBSplineSurfaceForm::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[112]); } @@ -603,7 +603,7 @@ Ifc4x3_rc3::IfcBSplineSurfaceForm::Value Ifc4x3_rc3::IfcBSplineSurfaceForm::From } Ifc4x3_rc3::IfcBSplineSurfaceForm::operator Ifc4x3_rc3::IfcBSplineSurfaceForm::Value() const { - return (Ifc4x3_rc3::IfcBSplineSurfaceForm::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcBSplineSurfaceForm::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcBeamTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[75]); } @@ -630,7 +630,7 @@ Ifc4x3_rc3::IfcBeamTypeEnum::Value Ifc4x3_rc3::IfcBeamTypeEnum::FromString(const } Ifc4x3_rc3::IfcBeamTypeEnum::operator Ifc4x3_rc3::IfcBeamTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcBeamTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcBeamTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcBearingTypeDisplacementEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[78]); } @@ -657,7 +657,7 @@ Ifc4x3_rc3::IfcBearingTypeDisplacementEnum::Value Ifc4x3_rc3::IfcBearingTypeDisp } Ifc4x3_rc3::IfcBearingTypeDisplacementEnum::operator Ifc4x3_rc3::IfcBearingTypeDisplacementEnum::Value() const { - return (Ifc4x3_rc3::IfcBearingTypeDisplacementEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcBearingTypeDisplacementEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcBearingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[79]); } @@ -684,7 +684,7 @@ Ifc4x3_rc3::IfcBearingTypeEnum::Value Ifc4x3_rc3::IfcBearingTypeEnum::FromString } Ifc4x3_rc3::IfcBearingTypeEnum::operator Ifc4x3_rc3::IfcBearingTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcBearingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcBearingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcBenchmarkEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[80]); } @@ -711,7 +711,7 @@ Ifc4x3_rc3::IfcBenchmarkEnum::Value Ifc4x3_rc3::IfcBenchmarkEnum::FromString(con } Ifc4x3_rc3::IfcBenchmarkEnum::operator Ifc4x3_rc3::IfcBenchmarkEnum::Value() const { - return (Ifc4x3_rc3::IfcBenchmarkEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcBenchmarkEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcBoilerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[87]); } @@ -738,7 +738,7 @@ Ifc4x3_rc3::IfcBoilerTypeEnum::Value Ifc4x3_rc3::IfcBoilerTypeEnum::FromString(c } Ifc4x3_rc3::IfcBoilerTypeEnum::operator Ifc4x3_rc3::IfcBoilerTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcBoilerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcBoilerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcBooleanOperator::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[91]); } @@ -765,7 +765,7 @@ Ifc4x3_rc3::IfcBooleanOperator::Value Ifc4x3_rc3::IfcBooleanOperator::FromString } Ifc4x3_rc3::IfcBooleanOperator::operator Ifc4x3_rc3::IfcBooleanOperator::Value() const { - return (Ifc4x3_rc3::IfcBooleanOperator::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcBooleanOperator::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcBridgePartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[106]); } @@ -792,7 +792,7 @@ Ifc4x3_rc3::IfcBridgePartTypeEnum::Value Ifc4x3_rc3::IfcBridgePartTypeEnum::From } Ifc4x3_rc3::IfcBridgePartTypeEnum::operator Ifc4x3_rc3::IfcBridgePartTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcBridgePartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcBridgePartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcBridgeTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[107]); } @@ -819,7 +819,7 @@ Ifc4x3_rc3::IfcBridgeTypeEnum::Value Ifc4x3_rc3::IfcBridgeTypeEnum::FromString(c } Ifc4x3_rc3::IfcBridgeTypeEnum::operator Ifc4x3_rc3::IfcBridgeTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcBridgeTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcBridgeTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[117]); } @@ -846,7 +846,7 @@ Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Value Ifc4x3_rc3::IfcBuildingElement } Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::operator Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[120]); } @@ -873,7 +873,7 @@ Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Value Ifc4x3_rc3::IfcBuildingElemen } Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::operator Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcBuildingSystemTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[123]); } @@ -900,7 +900,7 @@ Ifc4x3_rc3::IfcBuildingSystemTypeEnum::Value Ifc4x3_rc3::IfcBuildingSystemTypeEn } Ifc4x3_rc3::IfcBuildingSystemTypeEnum::operator Ifc4x3_rc3::IfcBuildingSystemTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcBuildingSystemTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcBuildingSystemTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcBuiltSystemTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[127]); } @@ -927,7 +927,7 @@ Ifc4x3_rc3::IfcBuiltSystemTypeEnum::Value Ifc4x3_rc3::IfcBuiltSystemTypeEnum::Fr } Ifc4x3_rc3::IfcBuiltSystemTypeEnum::operator Ifc4x3_rc3::IfcBuiltSystemTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcBuiltSystemTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcBuiltSystemTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcBurnerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[130]); } @@ -954,7 +954,7 @@ Ifc4x3_rc3::IfcBurnerTypeEnum::Value Ifc4x3_rc3::IfcBurnerTypeEnum::FromString(c } Ifc4x3_rc3::IfcBurnerTypeEnum::operator Ifc4x3_rc3::IfcBurnerTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcBurnerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcBurnerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[133]); } @@ -981,7 +981,7 @@ Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Value Ifc4x3_rc3::IfcCableCarrierFit } Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::operator Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[136]); } @@ -1008,7 +1008,7 @@ Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3_rc3::IfcCableCarrierSeg } Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::operator Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcCableFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[139]); } @@ -1035,7 +1035,7 @@ Ifc4x3_rc3::IfcCableFittingTypeEnum::Value Ifc4x3_rc3::IfcCableFittingTypeEnum:: } Ifc4x3_rc3::IfcCableFittingTypeEnum::operator Ifc4x3_rc3::IfcCableFittingTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcCableFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcCableFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcCableSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[142]); } @@ -1062,7 +1062,7 @@ Ifc4x3_rc3::IfcCableSegmentTypeEnum::Value Ifc4x3_rc3::IfcCableSegmentTypeEnum:: } Ifc4x3_rc3::IfcCableSegmentTypeEnum::operator Ifc4x3_rc3::IfcCableSegmentTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcCableSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcCableSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[145]); } @@ -1089,7 +1089,7 @@ Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Value Ifc4x3_rc3::IfcCaissonFoundation } Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::operator Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcChangeActionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[157]); } @@ -1116,7 +1116,7 @@ Ifc4x3_rc3::IfcChangeActionEnum::Value Ifc4x3_rc3::IfcChangeActionEnum::FromStri } Ifc4x3_rc3::IfcChangeActionEnum::operator Ifc4x3_rc3::IfcChangeActionEnum::Value() const { - return (Ifc4x3_rc3::IfcChangeActionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcChangeActionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcChillerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[160]); } @@ -1143,7 +1143,7 @@ Ifc4x3_rc3::IfcChillerTypeEnum::Value Ifc4x3_rc3::IfcChillerTypeEnum::FromString } Ifc4x3_rc3::IfcChillerTypeEnum::operator Ifc4x3_rc3::IfcChillerTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcChillerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcChillerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcChimneyTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[163]); } @@ -1170,7 +1170,7 @@ Ifc4x3_rc3::IfcChimneyTypeEnum::Value Ifc4x3_rc3::IfcChimneyTypeEnum::FromString } Ifc4x3_rc3::IfcChimneyTypeEnum::operator Ifc4x3_rc3::IfcChimneyTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcChimneyTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcChimneyTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcCoilTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[177]); } @@ -1197,7 +1197,7 @@ Ifc4x3_rc3::IfcCoilTypeEnum::Value Ifc4x3_rc3::IfcCoilTypeEnum::FromString(const } Ifc4x3_rc3::IfcCoilTypeEnum::operator Ifc4x3_rc3::IfcCoilTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcCoilTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcCoilTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcColumnTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[186]); } @@ -1224,7 +1224,7 @@ Ifc4x3_rc3::IfcColumnTypeEnum::Value Ifc4x3_rc3::IfcColumnTypeEnum::FromString(c } Ifc4x3_rc3::IfcColumnTypeEnum::operator Ifc4x3_rc3::IfcColumnTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcColumnTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcColumnTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[189]); } @@ -1251,7 +1251,7 @@ Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3_rc3::IfcCommunicati } Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::operator Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[193]); } @@ -1278,7 +1278,7 @@ Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::Value Ifc4x3_rc3::IfcComplexProp } Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::operator Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcCompressorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[201]); } @@ -1305,7 +1305,7 @@ Ifc4x3_rc3::IfcCompressorTypeEnum::Value Ifc4x3_rc3::IfcCompressorTypeEnum::From } Ifc4x3_rc3::IfcCompressorTypeEnum::operator Ifc4x3_rc3::IfcCompressorTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcCompressorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcCompressorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcCondenserTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[204]); } @@ -1332,7 +1332,7 @@ Ifc4x3_rc3::IfcCondenserTypeEnum::Value Ifc4x3_rc3::IfcCondenserTypeEnum::FromSt } Ifc4x3_rc3::IfcCondenserTypeEnum::operator Ifc4x3_rc3::IfcCondenserTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcCondenserTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcCondenserTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcConnectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[212]); } @@ -1359,7 +1359,7 @@ Ifc4x3_rc3::IfcConnectionTypeEnum::Value Ifc4x3_rc3::IfcConnectionTypeEnum::From } Ifc4x3_rc3::IfcConnectionTypeEnum::operator Ifc4x3_rc3::IfcConnectionTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcConnectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcConnectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcConstraintEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[215]); } @@ -1386,7 +1386,7 @@ Ifc4x3_rc3::IfcConstraintEnum::Value Ifc4x3_rc3::IfcConstraintEnum::FromString(c } Ifc4x3_rc3::IfcConstraintEnum::operator Ifc4x3_rc3::IfcConstraintEnum::Value() const { - return (Ifc4x3_rc3::IfcConstraintEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcConstraintEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[218]); } @@ -1413,7 +1413,7 @@ Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3_rc3::IfcConst } Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::operator Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[221]); } @@ -1440,7 +1440,7 @@ Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3_rc3::IfcConstr } Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::operator Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[224]); } @@ -1467,7 +1467,7 @@ Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Value Ifc4x3_rc3::IfcConstru } Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::operator Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcControllerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[233]); } @@ -1494,7 +1494,7 @@ Ifc4x3_rc3::IfcControllerTypeEnum::Value Ifc4x3_rc3::IfcControllerTypeEnum::From } Ifc4x3_rc3::IfcControllerTypeEnum::operator Ifc4x3_rc3::IfcControllerTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcControllerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcControllerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[238]); } @@ -1521,7 +1521,7 @@ Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Value Ifc4x3_rc3::IfcConveyorSegmentType } Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::operator Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcCooledBeamTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[241]); } @@ -1548,7 +1548,7 @@ Ifc4x3_rc3::IfcCooledBeamTypeEnum::Value Ifc4x3_rc3::IfcCooledBeamTypeEnum::From } Ifc4x3_rc3::IfcCooledBeamTypeEnum::operator Ifc4x3_rc3::IfcCooledBeamTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcCooledBeamTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcCooledBeamTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcCoolingTowerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[244]); } @@ -1575,7 +1575,7 @@ Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Value Ifc4x3_rc3::IfcCoolingTowerTypeEnum:: } Ifc4x3_rc3::IfcCoolingTowerTypeEnum::operator Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcCostItemTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[250]); } @@ -1602,7 +1602,7 @@ Ifc4x3_rc3::IfcCostItemTypeEnum::Value Ifc4x3_rc3::IfcCostItemTypeEnum::FromStri } Ifc4x3_rc3::IfcCostItemTypeEnum::operator Ifc4x3_rc3::IfcCostItemTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcCostItemTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcCostItemTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcCostScheduleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[252]); } @@ -1629,7 +1629,7 @@ Ifc4x3_rc3::IfcCostScheduleTypeEnum::Value Ifc4x3_rc3::IfcCostScheduleTypeEnum:: } Ifc4x3_rc3::IfcCostScheduleTypeEnum::operator Ifc4x3_rc3::IfcCostScheduleTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcCostScheduleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcCostScheduleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcCourseTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[257]); } @@ -1656,7 +1656,7 @@ Ifc4x3_rc3::IfcCourseTypeEnum::Value Ifc4x3_rc3::IfcCourseTypeEnum::FromString(c } Ifc4x3_rc3::IfcCourseTypeEnum::operator Ifc4x3_rc3::IfcCourseTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcCourseTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcCourseTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcCoveringTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[260]); } @@ -1683,7 +1683,7 @@ Ifc4x3_rc3::IfcCoveringTypeEnum::Value Ifc4x3_rc3::IfcCoveringTypeEnum::FromStri } Ifc4x3_rc3::IfcCoveringTypeEnum::operator Ifc4x3_rc3::IfcCoveringTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcCoveringTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcCoveringTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcCrewResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[263]); } @@ -1710,7 +1710,7 @@ Ifc4x3_rc3::IfcCrewResourceTypeEnum::Value Ifc4x3_rc3::IfcCrewResourceTypeEnum:: } Ifc4x3_rc3::IfcCrewResourceTypeEnum::operator Ifc4x3_rc3::IfcCrewResourceTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcCrewResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcCrewResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcCurtainWallTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[271]); } @@ -1737,7 +1737,7 @@ Ifc4x3_rc3::IfcCurtainWallTypeEnum::Value Ifc4x3_rc3::IfcCurtainWallTypeEnum::Fr } Ifc4x3_rc3::IfcCurtainWallTypeEnum::operator Ifc4x3_rc3::IfcCurtainWallTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcCurtainWallTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcCurtainWallTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcCurveInterpolationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[277]); } @@ -1764,7 +1764,7 @@ Ifc4x3_rc3::IfcCurveInterpolationEnum::Value Ifc4x3_rc3::IfcCurveInterpolationEn } Ifc4x3_rc3::IfcCurveInterpolationEnum::operator Ifc4x3_rc3::IfcCurveInterpolationEnum::Value() const { - return (Ifc4x3_rc3::IfcCurveInterpolationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcCurveInterpolationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcDamperTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[290]); } @@ -1791,7 +1791,7 @@ Ifc4x3_rc3::IfcDamperTypeEnum::Value Ifc4x3_rc3::IfcDamperTypeEnum::FromString(c } Ifc4x3_rc3::IfcDamperTypeEnum::operator Ifc4x3_rc3::IfcDamperTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcDamperTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcDamperTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcDataOriginEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[291]); } @@ -1818,7 +1818,7 @@ Ifc4x3_rc3::IfcDataOriginEnum::Value Ifc4x3_rc3::IfcDataOriginEnum::FromString(c } Ifc4x3_rc3::IfcDataOriginEnum::operator Ifc4x3_rc3::IfcDataOriginEnum::Value() const { - return (Ifc4x3_rc3::IfcDataOriginEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcDataOriginEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcDerivedUnitEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[303]); } @@ -1845,7 +1845,7 @@ Ifc4x3_rc3::IfcDerivedUnitEnum::Value Ifc4x3_rc3::IfcDerivedUnitEnum::FromString } Ifc4x3_rc3::IfcDerivedUnitEnum::operator Ifc4x3_rc3::IfcDerivedUnitEnum::Value() const { - return (Ifc4x3_rc3::IfcDerivedUnitEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcDerivedUnitEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcDirectionSenseEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[308]); } @@ -1872,7 +1872,7 @@ Ifc4x3_rc3::IfcDirectionSenseEnum::Value Ifc4x3_rc3::IfcDirectionSenseEnum::From } Ifc4x3_rc3::IfcDirectionSenseEnum::operator Ifc4x3_rc3::IfcDirectionSenseEnum::Value() const { - return (Ifc4x3_rc3::IfcDirectionSenseEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcDirectionSenseEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[314]); } @@ -1899,7 +1899,7 @@ Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3_rc3::IfcDiscreteAccessory } Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::operator Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcDistributionBoardTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[317]); } @@ -1926,7 +1926,7 @@ Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value Ifc4x3_rc3::IfcDistributionBoard } Ifc4x3_rc3::IfcDistributionBoardTypeEnum::operator Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[320]); } @@ -1953,7 +1953,7 @@ Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value Ifc4x3_rc3::IfcDistribu } Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::operator Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcDistributionPortTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[329]); } @@ -1980,7 +1980,7 @@ Ifc4x3_rc3::IfcDistributionPortTypeEnum::Value Ifc4x3_rc3::IfcDistributionPortTy } Ifc4x3_rc3::IfcDistributionPortTypeEnum::operator Ifc4x3_rc3::IfcDistributionPortTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcDistributionPortTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcDistributionPortTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcDistributionSystemEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[331]); } @@ -2007,7 +2007,7 @@ Ifc4x3_rc3::IfcDistributionSystemEnum::Value Ifc4x3_rc3::IfcDistributionSystemEn } Ifc4x3_rc3::IfcDistributionSystemEnum::operator Ifc4x3_rc3::IfcDistributionSystemEnum::Value() const { - return (Ifc4x3_rc3::IfcDistributionSystemEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcDistributionSystemEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcDocumentConfidentialityEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[332]); } @@ -2034,7 +2034,7 @@ Ifc4x3_rc3::IfcDocumentConfidentialityEnum::Value Ifc4x3_rc3::IfcDocumentConfide } Ifc4x3_rc3::IfcDocumentConfidentialityEnum::operator Ifc4x3_rc3::IfcDocumentConfidentialityEnum::Value() const { - return (Ifc4x3_rc3::IfcDocumentConfidentialityEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcDocumentConfidentialityEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcDocumentStatusEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[337]); } @@ -2061,7 +2061,7 @@ Ifc4x3_rc3::IfcDocumentStatusEnum::Value Ifc4x3_rc3::IfcDocumentStatusEnum::From } Ifc4x3_rc3::IfcDocumentStatusEnum::operator Ifc4x3_rc3::IfcDocumentStatusEnum::Value() const { - return (Ifc4x3_rc3::IfcDocumentStatusEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcDocumentStatusEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcDoorPanelOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[340]); } @@ -2088,7 +2088,7 @@ Ifc4x3_rc3::IfcDoorPanelOperationEnum::Value Ifc4x3_rc3::IfcDoorPanelOperationEn } Ifc4x3_rc3::IfcDoorPanelOperationEnum::operator Ifc4x3_rc3::IfcDoorPanelOperationEnum::Value() const { - return (Ifc4x3_rc3::IfcDoorPanelOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcDoorPanelOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcDoorPanelPositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[341]); } @@ -2115,7 +2115,7 @@ Ifc4x3_rc3::IfcDoorPanelPositionEnum::Value Ifc4x3_rc3::IfcDoorPanelPositionEnum } Ifc4x3_rc3::IfcDoorPanelPositionEnum::operator Ifc4x3_rc3::IfcDoorPanelPositionEnum::Value() const { - return (Ifc4x3_rc3::IfcDoorPanelPositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcDoorPanelPositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcDoorStyleConstructionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[345]); } @@ -2142,7 +2142,7 @@ Ifc4x3_rc3::IfcDoorStyleConstructionEnum::Value Ifc4x3_rc3::IfcDoorStyleConstruc } Ifc4x3_rc3::IfcDoorStyleConstructionEnum::operator Ifc4x3_rc3::IfcDoorStyleConstructionEnum::Value() const { - return (Ifc4x3_rc3::IfcDoorStyleConstructionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcDoorStyleConstructionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcDoorStyleOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[346]); } @@ -2169,7 +2169,7 @@ Ifc4x3_rc3::IfcDoorStyleOperationEnum::Value Ifc4x3_rc3::IfcDoorStyleOperationEn } Ifc4x3_rc3::IfcDoorStyleOperationEnum::operator Ifc4x3_rc3::IfcDoorStyleOperationEnum::Value() const { - return (Ifc4x3_rc3::IfcDoorStyleOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcDoorStyleOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcDoorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[348]); } @@ -2196,7 +2196,7 @@ Ifc4x3_rc3::IfcDoorTypeEnum::Value Ifc4x3_rc3::IfcDoorTypeEnum::FromString(const } Ifc4x3_rc3::IfcDoorTypeEnum::operator Ifc4x3_rc3::IfcDoorTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcDoorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcDoorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcDoorTypeOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[349]); } @@ -2223,7 +2223,7 @@ Ifc4x3_rc3::IfcDoorTypeOperationEnum::Value Ifc4x3_rc3::IfcDoorTypeOperationEnum } Ifc4x3_rc3::IfcDoorTypeOperationEnum::operator Ifc4x3_rc3::IfcDoorTypeOperationEnum::Value() const { - return (Ifc4x3_rc3::IfcDoorTypeOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcDoorTypeOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcDuctFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[355]); } @@ -2250,7 +2250,7 @@ Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value Ifc4x3_rc3::IfcDuctFittingTypeEnum::Fr } Ifc4x3_rc3::IfcDuctFittingTypeEnum::operator Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcDuctSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[358]); } @@ -2277,7 +2277,7 @@ Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Fr } Ifc4x3_rc3::IfcDuctSegmentTypeEnum::operator Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcDuctSilencerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[361]); } @@ -2304,7 +2304,7 @@ Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value Ifc4x3_rc3::IfcDuctSilencerTypeEnum:: } Ifc4x3_rc3::IfcDuctSilencerTypeEnum::operator Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcEarthworksCutTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[365]); } @@ -2331,7 +2331,7 @@ Ifc4x3_rc3::IfcEarthworksCutTypeEnum::Value Ifc4x3_rc3::IfcEarthworksCutTypeEnum } Ifc4x3_rc3::IfcEarthworksCutTypeEnum::operator Ifc4x3_rc3::IfcEarthworksCutTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcEarthworksCutTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcEarthworksCutTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcEarthworksFillTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[368]); } @@ -2358,7 +2358,7 @@ Ifc4x3_rc3::IfcEarthworksFillTypeEnum::Value Ifc4x3_rc3::IfcEarthworksFillTypeEn } Ifc4x3_rc3::IfcEarthworksFillTypeEnum::operator Ifc4x3_rc3::IfcEarthworksFillTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcEarthworksFillTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcEarthworksFillTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcElectricApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[374]); } @@ -2385,7 +2385,7 @@ Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value Ifc4x3_rc3::IfcElectricAppliance } Ifc4x3_rc3::IfcElectricApplianceTypeEnum::operator Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[381]); } @@ -2412,7 +2412,7 @@ Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3_rc3::IfcElectricD } Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::operator Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[384]); } @@ -2439,7 +2439,7 @@ Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3_rc3::IfcElectricF } Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::operator Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[387]); } @@ -2466,7 +2466,7 @@ Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3_rc3::IfcElectri } Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::operator Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[390]); } @@ -2493,7 +2493,7 @@ Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value Ifc4x3_rc3::IfcElectricGenerator } Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::operator Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcElectricMotorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[393]); } @@ -2520,7 +2520,7 @@ Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value Ifc4x3_rc3::IfcElectricMotorTypeEnum } Ifc4x3_rc3::IfcElectricMotorTypeEnum::operator Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[397]); } @@ -2547,7 +2547,7 @@ Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value Ifc4x3_rc3::IfcElectricTimeCon } Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::operator Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcElementAssemblyTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[403]); } @@ -2574,7 +2574,7 @@ Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Value Ifc4x3_rc3::IfcElementAssemblyType } Ifc4x3_rc3::IfcElementAssemblyTypeEnum::operator Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcElementCompositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[406]); } @@ -2601,7 +2601,7 @@ Ifc4x3_rc3::IfcElementCompositionEnum::Value Ifc4x3_rc3::IfcElementCompositionEn } Ifc4x3_rc3::IfcElementCompositionEnum::operator Ifc4x3_rc3::IfcElementCompositionEnum::Value() const { - return (Ifc4x3_rc3::IfcElementCompositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcElementCompositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcEngineTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[416]); } @@ -2628,7 +2628,7 @@ Ifc4x3_rc3::IfcEngineTypeEnum::Value Ifc4x3_rc3::IfcEngineTypeEnum::FromString(c } Ifc4x3_rc3::IfcEngineTypeEnum::operator Ifc4x3_rc3::IfcEngineTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcEngineTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcEngineTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[419]); } @@ -2655,7 +2655,7 @@ Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3_rc3::IfcEvaporativeCooler } Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::operator Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcEvaporatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[422]); } @@ -2682,7 +2682,7 @@ Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value Ifc4x3_rc3::IfcEvaporatorTypeEnum::From } Ifc4x3_rc3::IfcEvaporatorTypeEnum::operator Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcEventTriggerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[425]); } @@ -2709,7 +2709,7 @@ Ifc4x3_rc3::IfcEventTriggerTypeEnum::Value Ifc4x3_rc3::IfcEventTriggerTypeEnum:: } Ifc4x3_rc3::IfcEventTriggerTypeEnum::operator Ifc4x3_rc3::IfcEventTriggerTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcEventTriggerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcEventTriggerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcEventTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[427]); } @@ -2736,7 +2736,7 @@ Ifc4x3_rc3::IfcEventTypeEnum::Value Ifc4x3_rc3::IfcEventTypeEnum::FromString(con } Ifc4x3_rc3::IfcEventTypeEnum::operator Ifc4x3_rc3::IfcEventTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcEventTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcEventTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[436]); } @@ -2763,7 +2763,7 @@ Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::Value Ifc4x3_rc3::IfcExternalSpat } Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::operator Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcFacilityPartCommonTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[449]); } @@ -2790,7 +2790,7 @@ Ifc4x3_rc3::IfcFacilityPartCommonTypeEnum::Value Ifc4x3_rc3::IfcFacilityPartComm } Ifc4x3_rc3::IfcFacilityPartCommonTypeEnum::operator Ifc4x3_rc3::IfcFacilityPartCommonTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcFacilityPartCommonTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcFacilityPartCommonTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcFacilityUsageEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[451]); } @@ -2817,7 +2817,7 @@ Ifc4x3_rc3::IfcFacilityUsageEnum::Value Ifc4x3_rc3::IfcFacilityUsageEnum::FromSt } Ifc4x3_rc3::IfcFacilityUsageEnum::operator Ifc4x3_rc3::IfcFacilityUsageEnum::Value() const { - return (Ifc4x3_rc3::IfcFacilityUsageEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcFacilityUsageEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcFanTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[455]); } @@ -2844,7 +2844,7 @@ Ifc4x3_rc3::IfcFanTypeEnum::Value Ifc4x3_rc3::IfcFanTypeEnum::FromString(const s } Ifc4x3_rc3::IfcFanTypeEnum::operator Ifc4x3_rc3::IfcFanTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcFanTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcFanTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcFastenerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[458]); } @@ -2871,7 +2871,7 @@ Ifc4x3_rc3::IfcFastenerTypeEnum::Value Ifc4x3_rc3::IfcFastenerTypeEnum::FromStri } Ifc4x3_rc3::IfcFastenerTypeEnum::operator Ifc4x3_rc3::IfcFastenerTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcFastenerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcFastenerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcFilterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[468]); } @@ -2898,7 +2898,7 @@ Ifc4x3_rc3::IfcFilterTypeEnum::Value Ifc4x3_rc3::IfcFilterTypeEnum::FromString(c } Ifc4x3_rc3::IfcFilterTypeEnum::operator Ifc4x3_rc3::IfcFilterTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcFilterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcFilterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[471]); } @@ -2925,7 +2925,7 @@ Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3_rc3::IfcFireSuppres } Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::operator Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcFlowDirectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[475]); } @@ -2952,7 +2952,7 @@ Ifc4x3_rc3::IfcFlowDirectionEnum::Value Ifc4x3_rc3::IfcFlowDirectionEnum::FromSt } Ifc4x3_rc3::IfcFlowDirectionEnum::operator Ifc4x3_rc3::IfcFlowDirectionEnum::Value() const { - return (Ifc4x3_rc3::IfcFlowDirectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcFlowDirectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[480]); } @@ -2979,7 +2979,7 @@ Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value Ifc4x3_rc3::IfcFlowInstrumentTypeEn } Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::operator Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcFlowMeterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[483]); } @@ -3006,7 +3006,7 @@ Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value Ifc4x3_rc3::IfcFlowMeterTypeEnum::FromSt } Ifc4x3_rc3::IfcFlowMeterTypeEnum::operator Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcFootingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[499]); } @@ -3033,7 +3033,7 @@ Ifc4x3_rc3::IfcFootingTypeEnum::Value Ifc4x3_rc3::IfcFootingTypeEnum::FromString } Ifc4x3_rc3::IfcFootingTypeEnum::operator Ifc4x3_rc3::IfcFootingTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcFootingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcFootingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcFurnitureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[506]); } @@ -3060,7 +3060,7 @@ Ifc4x3_rc3::IfcFurnitureTypeEnum::Value Ifc4x3_rc3::IfcFurnitureTypeEnum::FromSt } Ifc4x3_rc3::IfcFurnitureTypeEnum::operator Ifc4x3_rc3::IfcFurnitureTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcFurnitureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcFurnitureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcGeographicElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[509]); } @@ -3087,7 +3087,7 @@ Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value Ifc4x3_rc3::IfcGeographicElement } Ifc4x3_rc3::IfcGeographicElementTypeEnum::operator Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcGeometricProjectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[511]); } @@ -3114,7 +3114,7 @@ Ifc4x3_rc3::IfcGeometricProjectionEnum::Value Ifc4x3_rc3::IfcGeometricProjection } Ifc4x3_rc3::IfcGeometricProjectionEnum::operator Ifc4x3_rc3::IfcGeometricProjectionEnum::Value() const { - return (Ifc4x3_rc3::IfcGeometricProjectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcGeometricProjectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcGlobalOrLocalEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[523]); } @@ -3141,7 +3141,7 @@ Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value Ifc4x3_rc3::IfcGlobalOrLocalEnum::FromSt } Ifc4x3_rc3::IfcGlobalOrLocalEnum::operator Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value() const { - return (Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcGridTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[529]); } @@ -3168,7 +3168,7 @@ Ifc4x3_rc3::IfcGridTypeEnum::Value Ifc4x3_rc3::IfcGridTypeEnum::FromString(const } Ifc4x3_rc3::IfcGridTypeEnum::operator Ifc4x3_rc3::IfcGridTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcGridTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcGridTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcHeatExchangerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[535]); } @@ -3195,7 +3195,7 @@ Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value Ifc4x3_rc3::IfcHeatExchangerTypeEnum } Ifc4x3_rc3::IfcHeatExchangerTypeEnum::operator Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcHumidifierTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[540]); } @@ -3222,7 +3222,7 @@ Ifc4x3_rc3::IfcHumidifierTypeEnum::Value Ifc4x3_rc3::IfcHumidifierTypeEnum::From } Ifc4x3_rc3::IfcHumidifierTypeEnum::operator Ifc4x3_rc3::IfcHumidifierTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcHumidifierTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcHumidifierTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcImpactProtectionDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[546]); } @@ -3249,7 +3249,7 @@ Ifc4x3_rc3::IfcImpactProtectionDeviceTypeEnum::Value Ifc4x3_rc3::IfcImpactProtec } Ifc4x3_rc3::IfcImpactProtectionDeviceTypeEnum::operator Ifc4x3_rc3::IfcImpactProtectionDeviceTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcImpactProtectionDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcImpactProtectionDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcInterceptorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[560]); } @@ -3276,7 +3276,7 @@ Ifc4x3_rc3::IfcInterceptorTypeEnum::Value Ifc4x3_rc3::IfcInterceptorTypeEnum::Fr } Ifc4x3_rc3::IfcInterceptorTypeEnum::operator Ifc4x3_rc3::IfcInterceptorTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcInterceptorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcInterceptorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcInternalOrExternalEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[562]); } @@ -3303,7 +3303,7 @@ Ifc4x3_rc3::IfcInternalOrExternalEnum::Value Ifc4x3_rc3::IfcInternalOrExternalEn } Ifc4x3_rc3::IfcInternalOrExternalEnum::operator Ifc4x3_rc3::IfcInternalOrExternalEnum::Value() const { - return (Ifc4x3_rc3::IfcInternalOrExternalEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcInternalOrExternalEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcInventoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[565]); } @@ -3330,7 +3330,7 @@ Ifc4x3_rc3::IfcInventoryTypeEnum::Value Ifc4x3_rc3::IfcInventoryTypeEnum::FromSt } Ifc4x3_rc3::IfcInventoryTypeEnum::operator Ifc4x3_rc3::IfcInventoryTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcInventoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcInventoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcJunctionBoxTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[573]); } @@ -3357,7 +3357,7 @@ Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Fr } Ifc4x3_rc3::IfcJunctionBoxTypeEnum::operator Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcKnotType::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[577]); } @@ -3384,7 +3384,7 @@ Ifc4x3_rc3::IfcKnotType::Value Ifc4x3_rc3::IfcKnotType::FromString(const std::st } Ifc4x3_rc3::IfcKnotType::operator Ifc4x3_rc3::IfcKnotType::Value() const { - return (Ifc4x3_rc3::IfcKnotType::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcKnotType::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcLaborResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[581]); } @@ -3411,7 +3411,7 @@ Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value Ifc4x3_rc3::IfcLaborResourceTypeEnum } Ifc4x3_rc3::IfcLaborResourceTypeEnum::operator Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcLampTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[585]); } @@ -3438,7 +3438,7 @@ Ifc4x3_rc3::IfcLampTypeEnum::Value Ifc4x3_rc3::IfcLampTypeEnum::FromString(const } Ifc4x3_rc3::IfcLampTypeEnum::operator Ifc4x3_rc3::IfcLampTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcLampTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcLampTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcLayerSetDirectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[588]); } @@ -3465,7 +3465,7 @@ Ifc4x3_rc3::IfcLayerSetDirectionEnum::Value Ifc4x3_rc3::IfcLayerSetDirectionEnum } Ifc4x3_rc3::IfcLayerSetDirectionEnum::operator Ifc4x3_rc3::IfcLayerSetDirectionEnum::Value() const { - return (Ifc4x3_rc3::IfcLayerSetDirectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcLayerSetDirectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcLightDistributionCurveEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[593]); } @@ -3492,7 +3492,7 @@ Ifc4x3_rc3::IfcLightDistributionCurveEnum::Value Ifc4x3_rc3::IfcLightDistributio } Ifc4x3_rc3::IfcLightDistributionCurveEnum::operator Ifc4x3_rc3::IfcLightDistributionCurveEnum::Value() const { - return (Ifc4x3_rc3::IfcLightDistributionCurveEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcLightDistributionCurveEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcLightEmissionSourceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[596]); } @@ -3519,7 +3519,7 @@ Ifc4x3_rc3::IfcLightEmissionSourceEnum::Value Ifc4x3_rc3::IfcLightEmissionSource } Ifc4x3_rc3::IfcLightEmissionSourceEnum::operator Ifc4x3_rc3::IfcLightEmissionSourceEnum::Value() const { - return (Ifc4x3_rc3::IfcLightEmissionSourceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcLightEmissionSourceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcLightFixtureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[599]); } @@ -3546,7 +3546,7 @@ Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value Ifc4x3_rc3::IfcLightFixtureTypeEnum:: } Ifc4x3_rc3::IfcLightFixtureTypeEnum::operator Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[618]); } @@ -3573,7 +3573,7 @@ Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value Ifc4x3_rc3::IfcLiquidTerminalTypeEn } Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::operator Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcLoadGroupTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[619]); } @@ -3600,7 +3600,7 @@ Ifc4x3_rc3::IfcLoadGroupTypeEnum::Value Ifc4x3_rc3::IfcLoadGroupTypeEnum::FromSt } Ifc4x3_rc3::IfcLoadGroupTypeEnum::operator Ifc4x3_rc3::IfcLoadGroupTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcLoadGroupTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcLoadGroupTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcLogicalOperatorEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[622]); } @@ -3627,7 +3627,7 @@ Ifc4x3_rc3::IfcLogicalOperatorEnum::Value Ifc4x3_rc3::IfcLogicalOperatorEnum::Fr } Ifc4x3_rc3::IfcLogicalOperatorEnum::operator Ifc4x3_rc3::IfcLogicalOperatorEnum::Value() const { - return (Ifc4x3_rc3::IfcLogicalOperatorEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcLogicalOperatorEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcMarineFacilityTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[634]); } @@ -3654,7 +3654,7 @@ Ifc4x3_rc3::IfcMarineFacilityTypeEnum::Value Ifc4x3_rc3::IfcMarineFacilityTypeEn } Ifc4x3_rc3::IfcMarineFacilityTypeEnum::operator Ifc4x3_rc3::IfcMarineFacilityTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcMarineFacilityTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcMarineFacilityTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcMarinePartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[635]); } @@ -3681,7 +3681,7 @@ Ifc4x3_rc3::IfcMarinePartTypeEnum::Value Ifc4x3_rc3::IfcMarinePartTypeEnum::From } Ifc4x3_rc3::IfcMarinePartTypeEnum::operator Ifc4x3_rc3::IfcMarinePartTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcMarinePartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcMarinePartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[664]); } @@ -3708,7 +3708,7 @@ Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_rc3::IfcMechanicalFasten } Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::operator Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[667]); } @@ -3735,7 +3735,7 @@ Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value Ifc4x3_rc3::IfcMedicalDeviceTypeEnum } Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::operator Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcMemberTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[671]); } @@ -3762,7 +3762,7 @@ Ifc4x3_rc3::IfcMemberTypeEnum::Value Ifc4x3_rc3::IfcMemberTypeEnum::FromString(c } Ifc4x3_rc3::IfcMemberTypeEnum::operator Ifc4x3_rc3::IfcMemberTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcMemberTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcMemberTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[677]); } @@ -3789,7 +3789,7 @@ Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3_rc3::IfcM } Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::operator Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcMooringDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[693]); } @@ -3816,7 +3816,7 @@ Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value Ifc4x3_rc3::IfcMooringDeviceTypeEnum } Ifc4x3_rc3::IfcMooringDeviceTypeEnum::operator Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcMotorConnectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[696]); } @@ -3843,7 +3843,7 @@ Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value Ifc4x3_rc3::IfcMotorConnectionType } Ifc4x3_rc3::IfcMotorConnectionTypeEnum::operator Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcNavigationElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[700]); } @@ -3870,7 +3870,7 @@ Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value Ifc4x3_rc3::IfcNavigationElement } Ifc4x3_rc3::IfcNavigationElementTypeEnum::operator Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcObjectTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[710]); } @@ -3897,7 +3897,7 @@ Ifc4x3_rc3::IfcObjectTypeEnum::Value Ifc4x3_rc3::IfcObjectTypeEnum::FromString(c } Ifc4x3_rc3::IfcObjectTypeEnum::operator Ifc4x3_rc3::IfcObjectTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcObjectTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcObjectTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcObjectiveEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[707]); } @@ -3924,7 +3924,7 @@ Ifc4x3_rc3::IfcObjectiveEnum::Value Ifc4x3_rc3::IfcObjectiveEnum::FromString(con } Ifc4x3_rc3::IfcObjectiveEnum::operator Ifc4x3_rc3::IfcObjectiveEnum::Value() const { - return (Ifc4x3_rc3::IfcObjectiveEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcObjectiveEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcOccupantTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[712]); } @@ -3951,7 +3951,7 @@ Ifc4x3_rc3::IfcOccupantTypeEnum::Value Ifc4x3_rc3::IfcOccupantTypeEnum::FromStri } Ifc4x3_rc3::IfcOccupantTypeEnum::operator Ifc4x3_rc3::IfcOccupantTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcOccupantTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcOccupantTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcOpeningElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[719]); } @@ -3978,7 +3978,7 @@ Ifc4x3_rc3::IfcOpeningElementTypeEnum::Value Ifc4x3_rc3::IfcOpeningElementTypeEn } Ifc4x3_rc3::IfcOpeningElementTypeEnum::operator Ifc4x3_rc3::IfcOpeningElementTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcOpeningElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcOpeningElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcOutletTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[728]); } @@ -4005,7 +4005,7 @@ Ifc4x3_rc3::IfcOutletTypeEnum::Value Ifc4x3_rc3::IfcOutletTypeEnum::FromString(c } Ifc4x3_rc3::IfcOutletTypeEnum::operator Ifc4x3_rc3::IfcOutletTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcOutletTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcOutletTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcPavementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[735]); } @@ -4032,7 +4032,7 @@ Ifc4x3_rc3::IfcPavementTypeEnum::Value Ifc4x3_rc3::IfcPavementTypeEnum::FromStri } Ifc4x3_rc3::IfcPavementTypeEnum::operator Ifc4x3_rc3::IfcPavementTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcPavementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcPavementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[738]); } @@ -4059,7 +4059,7 @@ Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::Value Ifc4x3_rc3::IfcPerformanceHisto } Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::operator Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[739]); } @@ -4086,7 +4086,7 @@ Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::Value Ifc4x3_rc3::IfcPermeableCov } Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::operator Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::Value() const { - return (Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcPermitTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[742]); } @@ -4113,7 +4113,7 @@ Ifc4x3_rc3::IfcPermitTypeEnum::Value Ifc4x3_rc3::IfcPermitTypeEnum::FromString(c } Ifc4x3_rc3::IfcPermitTypeEnum::operator Ifc4x3_rc3::IfcPermitTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcPermitTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcPermitTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[747]); } @@ -4140,7 +4140,7 @@ Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Value Ifc4x3_rc3::IfcPhysicalOrVirtualEnum } Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::operator Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Value() const { - return (Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcPileConstructionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[751]); } @@ -4167,7 +4167,7 @@ Ifc4x3_rc3::IfcPileConstructionEnum::Value Ifc4x3_rc3::IfcPileConstructionEnum:: } Ifc4x3_rc3::IfcPileConstructionEnum::operator Ifc4x3_rc3::IfcPileConstructionEnum::Value() const { - return (Ifc4x3_rc3::IfcPileConstructionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcPileConstructionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcPileTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[753]); } @@ -4194,7 +4194,7 @@ Ifc4x3_rc3::IfcPileTypeEnum::Value Ifc4x3_rc3::IfcPileTypeEnum::FromString(const } Ifc4x3_rc3::IfcPileTypeEnum::operator Ifc4x3_rc3::IfcPileTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcPileTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcPileTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcPipeFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[756]); } @@ -4221,7 +4221,7 @@ Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value Ifc4x3_rc3::IfcPipeFittingTypeEnum::Fr } Ifc4x3_rc3::IfcPipeFittingTypeEnum::operator Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcPipeSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[759]); } @@ -4248,7 +4248,7 @@ Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Fr } Ifc4x3_rc3::IfcPipeSegmentTypeEnum::operator Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcPlateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[771]); } @@ -4275,7 +4275,7 @@ Ifc4x3_rc3::IfcPlateTypeEnum::Value Ifc4x3_rc3::IfcPlateTypeEnum::FromString(con } Ifc4x3_rc3::IfcPlateTypeEnum::operator Ifc4x3_rc3::IfcPlateTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcPlateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcPlateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[796]); } @@ -4302,7 +4302,7 @@ Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x3_rc3::IfcPreferr } Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::operator Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Value() const { - return (Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcProcedureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[805]); } @@ -4329,7 +4329,7 @@ Ifc4x3_rc3::IfcProcedureTypeEnum::Value Ifc4x3_rc3::IfcProcedureTypeEnum::FromSt } Ifc4x3_rc3::IfcProcedureTypeEnum::operator Ifc4x3_rc3::IfcProcedureTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcProcedureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcProcedureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcProfileTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[815]); } @@ -4356,7 +4356,7 @@ Ifc4x3_rc3::IfcProfileTypeEnum::Value Ifc4x3_rc3::IfcProfileTypeEnum::FromString } Ifc4x3_rc3::IfcProfileTypeEnum::operator Ifc4x3_rc3::IfcProfileTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcProfileTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcProfileTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcProjectOrderTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[823]); } @@ -4383,7 +4383,7 @@ Ifc4x3_rc3::IfcProjectOrderTypeEnum::Value Ifc4x3_rc3::IfcProjectOrderTypeEnum:: } Ifc4x3_rc3::IfcProjectOrderTypeEnum::operator Ifc4x3_rc3::IfcProjectOrderTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcProjectOrderTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcProjectOrderTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[818]); } @@ -4410,7 +4410,7 @@ Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value Ifc4x3_rc3::IfcProjectedOrTrueLe } Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::operator Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value() const { - return (Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcProjectionElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[820]); } @@ -4437,7 +4437,7 @@ Ifc4x3_rc3::IfcProjectionElementTypeEnum::Value Ifc4x3_rc3::IfcProjectionElement } Ifc4x3_rc3::IfcProjectionElementTypeEnum::operator Ifc4x3_rc3::IfcProjectionElementTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcProjectionElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcProjectionElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[838]); } @@ -4464,7 +4464,7 @@ Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::Value Ifc4x3_rc3::IfcPropertySetTemp } Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::operator Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[846]); } @@ -4491,7 +4491,7 @@ Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3_rc3::IfcProtec } Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::operator Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[848]); } @@ -4518,7 +4518,7 @@ Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value Ifc4x3_rc3::IfcProtectiveDeviceTy } Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::operator Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcPumpTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[852]); } @@ -4545,7 +4545,7 @@ Ifc4x3_rc3::IfcPumpTypeEnum::Value Ifc4x3_rc3::IfcPumpTypeEnum::FromString(const } Ifc4x3_rc3::IfcPumpTypeEnum::operator Ifc4x3_rc3::IfcPumpTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcPumpTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcPumpTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcRailTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[866]); } @@ -4572,7 +4572,7 @@ Ifc4x3_rc3::IfcRailTypeEnum::Value Ifc4x3_rc3::IfcRailTypeEnum::FromString(const } Ifc4x3_rc3::IfcRailTypeEnum::operator Ifc4x3_rc3::IfcRailTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcRailTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcRailTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcRailingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[864]); } @@ -4599,7 +4599,7 @@ Ifc4x3_rc3::IfcRailingTypeEnum::Value Ifc4x3_rc3::IfcRailingTypeEnum::FromString } Ifc4x3_rc3::IfcRailingTypeEnum::operator Ifc4x3_rc3::IfcRailingTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcRailingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcRailingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcRailwayPartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[868]); } @@ -4626,7 +4626,7 @@ Ifc4x3_rc3::IfcRailwayPartTypeEnum::Value Ifc4x3_rc3::IfcRailwayPartTypeEnum::Fr } Ifc4x3_rc3::IfcRailwayPartTypeEnum::operator Ifc4x3_rc3::IfcRailwayPartTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcRailwayPartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcRailwayPartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcRailwayTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[869]); } @@ -4653,7 +4653,7 @@ Ifc4x3_rc3::IfcRailwayTypeEnum::Value Ifc4x3_rc3::IfcRailwayTypeEnum::FromString } Ifc4x3_rc3::IfcRailwayTypeEnum::operator Ifc4x3_rc3::IfcRailwayTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcRailwayTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcRailwayTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcRampFlightTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[873]); } @@ -4680,7 +4680,7 @@ Ifc4x3_rc3::IfcRampFlightTypeEnum::Value Ifc4x3_rc3::IfcRampFlightTypeEnum::From } Ifc4x3_rc3::IfcRampFlightTypeEnum::operator Ifc4x3_rc3::IfcRampFlightTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcRampFlightTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcRampFlightTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcRampTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[875]); } @@ -4707,7 +4707,7 @@ Ifc4x3_rc3::IfcRampTypeEnum::Value Ifc4x3_rc3::IfcRampTypeEnum::FromString(const } Ifc4x3_rc3::IfcRampTypeEnum::operator Ifc4x3_rc3::IfcRampTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcRampTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcRampTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcRecurrenceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[885]); } @@ -4734,7 +4734,7 @@ Ifc4x3_rc3::IfcRecurrenceTypeEnum::Value Ifc4x3_rc3::IfcRecurrenceTypeEnum::From } Ifc4x3_rc3::IfcRecurrenceTypeEnum::operator Ifc4x3_rc3::IfcRecurrenceTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcRecurrenceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcRecurrenceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcReferentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[888]); } @@ -4761,7 +4761,7 @@ Ifc4x3_rc3::IfcReferentTypeEnum::Value Ifc4x3_rc3::IfcReferentTypeEnum::FromStri } Ifc4x3_rc3::IfcReferentTypeEnum::operator Ifc4x3_rc3::IfcReferentTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcReferentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcReferentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcReflectanceMethodEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[889]); } @@ -4788,7 +4788,7 @@ Ifc4x3_rc3::IfcReflectanceMethodEnum::Value Ifc4x3_rc3::IfcReflectanceMethodEnum } Ifc4x3_rc3::IfcReflectanceMethodEnum::operator Ifc4x3_rc3::IfcReflectanceMethodEnum::Value() const { - return (Ifc4x3_rc3::IfcReflectanceMethodEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcReflectanceMethodEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[892]); } @@ -4815,7 +4815,7 @@ Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::Value Ifc4x3_rc3::IfcReinforcedSoilTypeEn } Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::operator Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcReinforcingBarRoleEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[896]); } @@ -4842,7 +4842,7 @@ Ifc4x3_rc3::IfcReinforcingBarRoleEnum::Value Ifc4x3_rc3::IfcReinforcingBarRoleEn } Ifc4x3_rc3::IfcReinforcingBarRoleEnum::operator Ifc4x3_rc3::IfcReinforcingBarRoleEnum::Value() const { - return (Ifc4x3_rc3::IfcReinforcingBarRoleEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcReinforcingBarRoleEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[897]); } @@ -4869,7 +4869,7 @@ Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value Ifc4x3_rc3::IfcReinforcingBarSur } Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::operator Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value() const { - return (Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcReinforcingBarTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[899]); } @@ -4896,7 +4896,7 @@ Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value Ifc4x3_rc3::IfcReinforcingBarTypeEn } Ifc4x3_rc3::IfcReinforcingBarTypeEnum::operator Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[904]); } @@ -4923,7 +4923,7 @@ Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value Ifc4x3_rc3::IfcReinforcingMeshType } Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::operator Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcRoadPartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[972]); } @@ -4950,7 +4950,7 @@ Ifc4x3_rc3::IfcRoadPartTypeEnum::Value Ifc4x3_rc3::IfcRoadPartTypeEnum::FromStri } Ifc4x3_rc3::IfcRoadPartTypeEnum::operator Ifc4x3_rc3::IfcRoadPartTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcRoadPartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcRoadPartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcRoadTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[973]); } @@ -4977,7 +4977,7 @@ Ifc4x3_rc3::IfcRoadTypeEnum::Value Ifc4x3_rc3::IfcRoadTypeEnum::FromString(const } Ifc4x3_rc3::IfcRoadTypeEnum::operator Ifc4x3_rc3::IfcRoadTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcRoadTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcRoadTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcRoleEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[974]); } @@ -5004,7 +5004,7 @@ Ifc4x3_rc3::IfcRoleEnum::Value Ifc4x3_rc3::IfcRoleEnum::FromString(const std::st } Ifc4x3_rc3::IfcRoleEnum::operator Ifc4x3_rc3::IfcRoleEnum::Value() const { - return (Ifc4x3_rc3::IfcRoleEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcRoleEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcRoofTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[977]); } @@ -5031,7 +5031,7 @@ Ifc4x3_rc3::IfcRoofTypeEnum::Value Ifc4x3_rc3::IfcRoofTypeEnum::FromString(const } Ifc4x3_rc3::IfcRoofTypeEnum::operator Ifc4x3_rc3::IfcRoofTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcRoofTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcRoofTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcSIPrefix::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1026]); } @@ -5058,7 +5058,7 @@ Ifc4x3_rc3::IfcSIPrefix::Value Ifc4x3_rc3::IfcSIPrefix::FromString(const std::st } Ifc4x3_rc3::IfcSIPrefix::operator Ifc4x3_rc3::IfcSIPrefix::Value() const { - return (Ifc4x3_rc3::IfcSIPrefix::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcSIPrefix::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcSIUnitName::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1029]); } @@ -5085,7 +5085,7 @@ Ifc4x3_rc3::IfcSIUnitName::Value Ifc4x3_rc3::IfcSIUnitName::FromString(const std } Ifc4x3_rc3::IfcSIUnitName::operator Ifc4x3_rc3::IfcSIUnitName::Value() const { - return (Ifc4x3_rc3::IfcSIUnitName::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcSIUnitName::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[986]); } @@ -5112,7 +5112,7 @@ Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value Ifc4x3_rc3::IfcSanitaryTerminalTy } Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::operator Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcSectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[998]); } @@ -5139,7 +5139,7 @@ Ifc4x3_rc3::IfcSectionTypeEnum::Value Ifc4x3_rc3::IfcSectionTypeEnum::FromString } Ifc4x3_rc3::IfcSectionTypeEnum::operator Ifc4x3_rc3::IfcSectionTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcSectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcSectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcSensorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1004]); } @@ -5166,7 +5166,7 @@ Ifc4x3_rc3::IfcSensorTypeEnum::Value Ifc4x3_rc3::IfcSensorTypeEnum::FromString(c } Ifc4x3_rc3::IfcSensorTypeEnum::operator Ifc4x3_rc3::IfcSensorTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcSensorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcSensorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcSequenceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1005]); } @@ -5193,7 +5193,7 @@ Ifc4x3_rc3::IfcSequenceEnum::Value Ifc4x3_rc3::IfcSequenceEnum::FromString(const } Ifc4x3_rc3::IfcSequenceEnum::operator Ifc4x3_rc3::IfcSequenceEnum::Value() const { - return (Ifc4x3_rc3::IfcSequenceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcSequenceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcShadingDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1008]); } @@ -5220,7 +5220,7 @@ Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Value Ifc4x3_rc3::IfcShadingDeviceTypeEnum } Ifc4x3_rc3::IfcShadingDeviceTypeEnum::operator Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcSignTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1020]); } @@ -5247,7 +5247,7 @@ Ifc4x3_rc3::IfcSignTypeEnum::Value Ifc4x3_rc3::IfcSignTypeEnum::FromString(const } Ifc4x3_rc3::IfcSignTypeEnum::operator Ifc4x3_rc3::IfcSignTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcSignTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcSignTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcSignalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1018]); } @@ -5274,7 +5274,7 @@ Ifc4x3_rc3::IfcSignalTypeEnum::Value Ifc4x3_rc3::IfcSignalTypeEnum::FromString(c } Ifc4x3_rc3::IfcSignalTypeEnum::operator Ifc4x3_rc3::IfcSignalTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcSignalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcSignalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1023]); } @@ -5301,7 +5301,7 @@ Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::Value Ifc4x3_rc3::IfcSimpleProper } Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::operator Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcSlabTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1035]); } @@ -5328,7 +5328,7 @@ Ifc4x3_rc3::IfcSlabTypeEnum::Value Ifc4x3_rc3::IfcSlabTypeEnum::FromString(const } Ifc4x3_rc3::IfcSlabTypeEnum::operator Ifc4x3_rc3::IfcSlabTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcSlabTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcSlabTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcSolarDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1039]); } @@ -5355,7 +5355,7 @@ Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Fr } Ifc4x3_rc3::IfcSolarDeviceTypeEnum::operator Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1052]); } @@ -5382,7 +5382,7 @@ Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Fr } Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::operator Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcSpaceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1054]); } @@ -5409,7 +5409,7 @@ Ifc4x3_rc3::IfcSpaceTypeEnum::Value Ifc4x3_rc3::IfcSpaceTypeEnum::FromString(con } Ifc4x3_rc3::IfcSpaceTypeEnum::operator Ifc4x3_rc3::IfcSpaceTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcSpaceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcSpaceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcSpatialZoneTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1062]); } @@ -5436,7 +5436,7 @@ Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Fr } Ifc4x3_rc3::IfcSpatialZoneTypeEnum::operator Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcStackTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1072]); } @@ -5463,7 +5463,7 @@ Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value Ifc4x3_rc3::IfcStackTerminalTypeEnum } Ifc4x3_rc3::IfcStackTerminalTypeEnum::operator Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcStairFlightTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1076]); } @@ -5490,7 +5490,7 @@ Ifc4x3_rc3::IfcStairFlightTypeEnum::Value Ifc4x3_rc3::IfcStairFlightTypeEnum::Fr } Ifc4x3_rc3::IfcStairFlightTypeEnum::operator Ifc4x3_rc3::IfcStairFlightTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcStairFlightTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcStairFlightTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcStairTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1078]); } @@ -5517,7 +5517,7 @@ Ifc4x3_rc3::IfcStairTypeEnum::Value Ifc4x3_rc3::IfcStairTypeEnum::FromString(con } Ifc4x3_rc3::IfcStairTypeEnum::operator Ifc4x3_rc3::IfcStairTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcStairTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcStairTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcStateEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1079]); } @@ -5544,7 +5544,7 @@ Ifc4x3_rc3::IfcStateEnum::Value Ifc4x3_rc3::IfcStateEnum::FromString(const std:: } Ifc4x3_rc3::IfcStateEnum::operator Ifc4x3_rc3::IfcStateEnum::Value() const { - return (Ifc4x3_rc3::IfcStateEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcStateEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1087]); } @@ -5571,7 +5571,7 @@ Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_rc3::IfcStructuralC } Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::operator Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1090]); } @@ -5598,7 +5598,7 @@ Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_rc3::IfcStructuralCur } Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::operator Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1116]); } @@ -5625,7 +5625,7 @@ Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_rc3::IfcStructura } Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::operator Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1119]); } @@ -5652,7 +5652,7 @@ Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_rc3::IfcStructuralS } Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::operator Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcSubContractResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1127]); } @@ -5679,7 +5679,7 @@ Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Value Ifc4x3_rc3::IfcSubContractReso } Ifc4x3_rc3::IfcSubContractResourceTypeEnum::operator Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1133]); } @@ -5706,7 +5706,7 @@ Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::Value Ifc4x3_rc3::IfcSurfaceFeatureTypeEn } Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::operator Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcSurfaceSide::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1138]); } @@ -5733,7 +5733,7 @@ Ifc4x3_rc3::IfcSurfaceSide::Value Ifc4x3_rc3::IfcSurfaceSide::FromString(const s } Ifc4x3_rc3::IfcSurfaceSide::operator Ifc4x3_rc3::IfcSurfaceSide::Value() const { - return (Ifc4x3_rc3::IfcSurfaceSide::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcSurfaceSide::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1153]); } @@ -5760,7 +5760,7 @@ Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value Ifc4x3_rc3::IfcSwitchingDeviceType } Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::operator Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1157]); } @@ -5787,7 +5787,7 @@ Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value Ifc4x3_rc3::IfcSystemFurnit } Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::operator Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcTankTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1163]); } @@ -5814,7 +5814,7 @@ Ifc4x3_rc3::IfcTankTypeEnum::Value Ifc4x3_rc3::IfcTankTypeEnum::FromString(const } Ifc4x3_rc3::IfcTankTypeEnum::operator Ifc4x3_rc3::IfcTankTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcTankTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcTankTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcTaskDurationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1165]); } @@ -5841,7 +5841,7 @@ Ifc4x3_rc3::IfcTaskDurationEnum::Value Ifc4x3_rc3::IfcTaskDurationEnum::FromStri } Ifc4x3_rc3::IfcTaskDurationEnum::operator Ifc4x3_rc3::IfcTaskDurationEnum::Value() const { - return (Ifc4x3_rc3::IfcTaskDurationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcTaskDurationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcTaskTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1169]); } @@ -5868,7 +5868,7 @@ Ifc4x3_rc3::IfcTaskTypeEnum::Value Ifc4x3_rc3::IfcTaskTypeEnum::FromString(const } Ifc4x3_rc3::IfcTaskTypeEnum::operator Ifc4x3_rc3::IfcTaskTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcTaskTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcTaskTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcTendonAnchorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1176]); } @@ -5895,7 +5895,7 @@ Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value Ifc4x3_rc3::IfcTendonAnchorTypeEnum:: } Ifc4x3_rc3::IfcTendonAnchorTypeEnum::operator Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcTendonConduitTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1179]); } @@ -5922,7 +5922,7 @@ Ifc4x3_rc3::IfcTendonConduitTypeEnum::Value Ifc4x3_rc3::IfcTendonConduitTypeEnum } Ifc4x3_rc3::IfcTendonConduitTypeEnum::operator Ifc4x3_rc3::IfcTendonConduitTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcTendonConduitTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcTendonConduitTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcTendonTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1181]); } @@ -5949,7 +5949,7 @@ Ifc4x3_rc3::IfcTendonTypeEnum::Value Ifc4x3_rc3::IfcTendonTypeEnum::FromString(c } Ifc4x3_rc3::IfcTendonTypeEnum::operator Ifc4x3_rc3::IfcTendonTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcTendonTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcTendonTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcTextPath::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1191]); } @@ -5976,7 +5976,7 @@ Ifc4x3_rc3::IfcTextPath::Value Ifc4x3_rc3::IfcTextPath::FromString(const std::st } Ifc4x3_rc3::IfcTextPath::operator Ifc4x3_rc3::IfcTextPath::Value() const { - return (Ifc4x3_rc3::IfcTextPath::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcTextPath::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1214]); } @@ -6003,7 +6003,7 @@ Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Value Ifc4x3_rc3::IfcTimeSeriesDataTypeEn } Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::operator Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcTrackElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1223]); } @@ -6030,7 +6030,7 @@ Ifc4x3_rc3::IfcTrackElementTypeEnum::Value Ifc4x3_rc3::IfcTrackElementTypeEnum:: } Ifc4x3_rc3::IfcTrackElementTypeEnum::operator Ifc4x3_rc3::IfcTrackElementTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcTrackElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcTrackElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcTransformerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1226]); } @@ -6057,7 +6057,7 @@ Ifc4x3_rc3::IfcTransformerTypeEnum::Value Ifc4x3_rc3::IfcTransformerTypeEnum::Fr } Ifc4x3_rc3::IfcTransformerTypeEnum::operator Ifc4x3_rc3::IfcTransformerTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcTransformerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcTransformerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcTransitionCode::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1227]); } @@ -6084,7 +6084,7 @@ Ifc4x3_rc3::IfcTransitionCode::Value Ifc4x3_rc3::IfcTransitionCode::FromString(c } Ifc4x3_rc3::IfcTransitionCode::operator Ifc4x3_rc3::IfcTransitionCode::Value() const { - return (Ifc4x3_rc3::IfcTransitionCode::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcTransitionCode::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcTransportElementFixedTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1230]); } @@ -6111,7 +6111,7 @@ Ifc4x3_rc3::IfcTransportElementFixedTypeEnum::Value Ifc4x3_rc3::IfcTransportElem } Ifc4x3_rc3::IfcTransportElementFixedTypeEnum::operator Ifc4x3_rc3::IfcTransportElementFixedTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcTransportElementFixedTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcTransportElementFixedTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcTransportElementNonFixedTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1231]); } @@ -6138,7 +6138,7 @@ Ifc4x3_rc3::IfcTransportElementNonFixedTypeEnum::Value Ifc4x3_rc3::IfcTransportE } Ifc4x3_rc3::IfcTransportElementNonFixedTypeEnum::operator Ifc4x3_rc3::IfcTransportElementNonFixedTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcTransportElementNonFixedTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcTransportElementNonFixedTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcTrimmingPreference::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1238]); } @@ -6165,7 +6165,7 @@ Ifc4x3_rc3::IfcTrimmingPreference::Value Ifc4x3_rc3::IfcTrimmingPreference::From } Ifc4x3_rc3::IfcTrimmingPreference::operator Ifc4x3_rc3::IfcTrimmingPreference::Value() const { - return (Ifc4x3_rc3::IfcTrimmingPreference::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcTrimmingPreference::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcTubeBundleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1243]); } @@ -6192,7 +6192,7 @@ Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value Ifc4x3_rc3::IfcTubeBundleTypeEnum::From } Ifc4x3_rc3::IfcTubeBundleTypeEnum::operator Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcUnitEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1256]); } @@ -6219,7 +6219,7 @@ Ifc4x3_rc3::IfcUnitEnum::Value Ifc4x3_rc3::IfcUnitEnum::FromString(const std::st } Ifc4x3_rc3::IfcUnitEnum::operator Ifc4x3_rc3::IfcUnitEnum::Value() const { - return (Ifc4x3_rc3::IfcUnitEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcUnitEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1251]); } @@ -6246,7 +6246,7 @@ Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value Ifc4x3_rc3::IfcUnitaryContro } Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::operator Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1254]); } @@ -6273,7 +6273,7 @@ Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3_rc3::IfcUnitaryEquipmentTy } Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::operator Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcValveTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1262]); } @@ -6300,7 +6300,7 @@ Ifc4x3_rc3::IfcValveTypeEnum::Value Ifc4x3_rc3::IfcValveTypeEnum::FromString(con } Ifc4x3_rc3::IfcValveTypeEnum::operator Ifc4x3_rc3::IfcValveTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcValveTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcValveTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcVibrationDamperTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1271]); } @@ -6327,7 +6327,7 @@ Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value Ifc4x3_rc3::IfcVibrationDamperType } Ifc4x3_rc3::IfcVibrationDamperTypeEnum::operator Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1274]); } @@ -6354,7 +6354,7 @@ Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value Ifc4x3_rc3::IfcVibrationIsolator } Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::operator Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1279]); } @@ -6381,7 +6381,7 @@ Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::Value Ifc4x3_rc3::IfcVoidingFeatureTypeEn } Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::operator Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcWallTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1287]); } @@ -6408,7 +6408,7 @@ Ifc4x3_rc3::IfcWallTypeEnum::Value Ifc4x3_rc3::IfcWallTypeEnum::FromString(const } Ifc4x3_rc3::IfcWallTypeEnum::operator Ifc4x3_rc3::IfcWallTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcWallTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcWallTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcWasteTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1293]); } @@ -6435,7 +6435,7 @@ Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value Ifc4x3_rc3::IfcWasteTerminalTypeEnum } Ifc4x3_rc3::IfcWasteTerminalTypeEnum::operator Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcWindowPanelOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1297]); } @@ -6462,7 +6462,7 @@ Ifc4x3_rc3::IfcWindowPanelOperationEnum::Value Ifc4x3_rc3::IfcWindowPanelOperati } Ifc4x3_rc3::IfcWindowPanelOperationEnum::operator Ifc4x3_rc3::IfcWindowPanelOperationEnum::Value() const { - return (Ifc4x3_rc3::IfcWindowPanelOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcWindowPanelOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcWindowPanelPositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1298]); } @@ -6489,7 +6489,7 @@ Ifc4x3_rc3::IfcWindowPanelPositionEnum::Value Ifc4x3_rc3::IfcWindowPanelPosition } Ifc4x3_rc3::IfcWindowPanelPositionEnum::operator Ifc4x3_rc3::IfcWindowPanelPositionEnum::Value() const { - return (Ifc4x3_rc3::IfcWindowPanelPositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcWindowPanelPositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcWindowStyleConstructionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1302]); } @@ -6516,7 +6516,7 @@ Ifc4x3_rc3::IfcWindowStyleConstructionEnum::Value Ifc4x3_rc3::IfcWindowStyleCons } Ifc4x3_rc3::IfcWindowStyleConstructionEnum::operator Ifc4x3_rc3::IfcWindowStyleConstructionEnum::Value() const { - return (Ifc4x3_rc3::IfcWindowStyleConstructionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcWindowStyleConstructionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcWindowStyleOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1303]); } @@ -6543,7 +6543,7 @@ Ifc4x3_rc3::IfcWindowStyleOperationEnum::Value Ifc4x3_rc3::IfcWindowStyleOperati } Ifc4x3_rc3::IfcWindowStyleOperationEnum::operator Ifc4x3_rc3::IfcWindowStyleOperationEnum::Value() const { - return (Ifc4x3_rc3::IfcWindowStyleOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcWindowStyleOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcWindowTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1305]); } @@ -6570,7 +6570,7 @@ Ifc4x3_rc3::IfcWindowTypeEnum::Value Ifc4x3_rc3::IfcWindowTypeEnum::FromString(c } Ifc4x3_rc3::IfcWindowTypeEnum::operator Ifc4x3_rc3::IfcWindowTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcWindowTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcWindowTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcWindowTypePartitioningEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1306]); } @@ -6597,7 +6597,7 @@ Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Value Ifc4x3_rc3::IfcWindowTypePartit } Ifc4x3_rc3::IfcWindowTypePartitioningEnum::operator Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Value() const { - return (Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcWorkCalendarTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1308]); } @@ -6624,7 +6624,7 @@ Ifc4x3_rc3::IfcWorkCalendarTypeEnum::Value Ifc4x3_rc3::IfcWorkCalendarTypeEnum:: } Ifc4x3_rc3::IfcWorkCalendarTypeEnum::operator Ifc4x3_rc3::IfcWorkCalendarTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcWorkCalendarTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcWorkCalendarTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcWorkPlanTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1311]); } @@ -6651,7 +6651,7 @@ Ifc4x3_rc3::IfcWorkPlanTypeEnum::Value Ifc4x3_rc3::IfcWorkPlanTypeEnum::FromStri } Ifc4x3_rc3::IfcWorkPlanTypeEnum::operator Ifc4x3_rc3::IfcWorkPlanTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcWorkPlanTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcWorkPlanTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc3::IfcWorkScheduleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC3_types[1313]); } @@ -6678,7 +6678,7 @@ Ifc4x3_rc3::IfcWorkScheduleTypeEnum::Value Ifc4x3_rc3::IfcWorkScheduleTypeEnum:: } Ifc4x3_rc3::IfcWorkScheduleTypeEnum::operator Ifc4x3_rc3::IfcWorkScheduleTypeEnum::Value() const { - return (Ifc4x3_rc3::IfcWorkScheduleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc3::IfcWorkScheduleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::select_type& Ifc4x3_rc3::IfcActorSelect::Class() { return *((IfcParse::select_type*)IFC4X3_RC3_types[8]); } @@ -6815,928 +6815,928 @@ const IfcParse::type_declaration& Ifc4x3_rc3::IfcAbsorbedDoseMeasure::Class() { const IfcParse::type_declaration& Ifc4x3_rc3::IfcAbsorbedDoseMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[0]); } Ifc4x3_rc3::IfcAbsorbedDoseMeasure::IfcAbsorbedDoseMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcAbsorbedDoseMeasure::IfcAbsorbedDoseMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcAbsorbedDoseMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcAbsorbedDoseMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAccelerationMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcAccelerationMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcAccelerationMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1]); } Ifc4x3_rc3::IfcAccelerationMeasure::IfcAccelerationMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcAccelerationMeasure::IfcAccelerationMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcAccelerationMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcAccelerationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAmountOfSubstanceMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcAmountOfSubstanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[42]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcAmountOfSubstanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[42]); } Ifc4x3_rc3::IfcAmountOfSubstanceMeasure::IfcAmountOfSubstanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcAmountOfSubstanceMeasure::IfcAmountOfSubstanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcAmountOfSubstanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcAmountOfSubstanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAngularVelocityMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcAngularVelocityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[45]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcAngularVelocityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[45]); } Ifc4x3_rc3::IfcAngularVelocityMeasure::IfcAngularVelocityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcAngularVelocityMeasure::IfcAngularVelocityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcAngularVelocityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcAngularVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcArcIndex const IfcParse::type_declaration& Ifc4x3_rc3::IfcArcIndex::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[57]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcArcIndex::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[57]); } Ifc4x3_rc3::IfcArcIndex::IfcArcIndex(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcArcIndex::IfcArcIndex(std::vector< int > /*[3:3]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return get_attribute_value(0); } // Function implementations for IfcAreaDensityMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcAreaDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[58]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcAreaDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[58]); } Ifc4x3_rc3::IfcAreaDensityMeasure::IfcAreaDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcAreaDensityMeasure::IfcAreaDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcAreaDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcAreaDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAreaMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcAreaMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[59]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcAreaMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[59]); } Ifc4x3_rc3::IfcAreaMeasure::IfcAreaMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcAreaMeasure::IfcAreaMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcAreaMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcAreaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcBinary const IfcParse::type_declaration& Ifc4x3_rc3::IfcBinary::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[82]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcBinary::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[82]); } Ifc4x3_rc3::IfcBinary::IfcBinary(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcBinary::IfcBinary(boost::dynamic_bitset<> v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcBinary::operator boost::dynamic_bitset<>() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcBinary::operator boost::dynamic_bitset<>() const { return get_attribute_value(0); } // Function implementations for IfcBoolean const IfcParse::type_declaration& Ifc4x3_rc3::IfcBoolean::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[88]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcBoolean::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[88]); } Ifc4x3_rc3::IfcBoolean::IfcBoolean(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcBoolean::IfcBoolean(bool v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcBoolean::operator bool() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcBoolean::operator bool() const { return get_attribute_value(0); } // Function implementations for IfcBoxAlignment const IfcParse::type_declaration& Ifc4x3_rc3::IfcBoxAlignment::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[103]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcBoxAlignment::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[103]); } Ifc4x3_rc3::IfcBoxAlignment::IfcBoxAlignment(IfcEntityInstanceData&& e) : IfcLabel(std::move(e)) { } Ifc4x3_rc3::IfcBoxAlignment::IfcBoxAlignment(std::string v) : IfcLabel(v) { } -Ifc4x3_rc3::IfcBoxAlignment::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcBoxAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcCardinalPointReference const IfcParse::type_declaration& Ifc4x3_rc3::IfcCardinalPointReference::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[146]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcCardinalPointReference::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[146]); } Ifc4x3_rc3::IfcCardinalPointReference::IfcCardinalPointReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcCardinalPointReference::IfcCardinalPointReference(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcCardinalPointReference::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcCardinalPointReference::operator int() const { return get_attribute_value(0); } // Function implementations for IfcComplexNumber const IfcParse::type_declaration& Ifc4x3_rc3::IfcComplexNumber::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[190]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcComplexNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[190]); } Ifc4x3_rc3::IfcComplexNumber::IfcComplexNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcComplexNumber::IfcComplexNumber(std::vector< double > /*[1:2]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return get_attribute_value(0); } // Function implementations for IfcCompoundPlaneAngleMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcCompoundPlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[198]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcCompoundPlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[198]); } Ifc4x3_rc3::IfcCompoundPlaneAngleMeasure::IfcCompoundPlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcCompoundPlaneAngleMeasure::IfcCompoundPlaneAngleMeasure(std::vector< int > /*[3:4]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return get_attribute_value(0); } // Function implementations for IfcContextDependentMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcContextDependentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[228]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcContextDependentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[228]); } Ifc4x3_rc3::IfcContextDependentMeasure::IfcContextDependentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcContextDependentMeasure::IfcContextDependentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcContextDependentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcContextDependentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCountMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcCountMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[254]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcCountMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[254]); } Ifc4x3_rc3::IfcCountMeasure::IfcCountMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcCountMeasure::IfcCountMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcCountMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcCountMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCurvatureMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcCurvatureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[272]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcCurvatureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[272]); } Ifc4x3_rc3::IfcCurvatureMeasure::IfcCurvatureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcCurvatureMeasure::IfcCurvatureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcCurvatureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcCurvatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDate const IfcParse::type_declaration& Ifc4x3_rc3::IfcDate::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[292]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcDate::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[292]); } Ifc4x3_rc3::IfcDate::IfcDate(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcDate::IfcDate(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcDate::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcDate::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDateTime const IfcParse::type_declaration& Ifc4x3_rc3::IfcDateTime::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[293]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcDateTime::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[293]); } Ifc4x3_rc3::IfcDateTime::IfcDateTime(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcDateTime::IfcDateTime(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcDateTime::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcDateTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDayInMonthNumber const IfcParse::type_declaration& Ifc4x3_rc3::IfcDayInMonthNumber::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[294]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcDayInMonthNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[294]); } Ifc4x3_rc3::IfcDayInMonthNumber::IfcDayInMonthNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcDayInMonthNumber::IfcDayInMonthNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcDayInMonthNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcDayInMonthNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDayInWeekNumber const IfcParse::type_declaration& Ifc4x3_rc3::IfcDayInWeekNumber::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[295]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcDayInWeekNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[295]); } Ifc4x3_rc3::IfcDayInWeekNumber::IfcDayInWeekNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcDayInWeekNumber::IfcDayInWeekNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcDayInWeekNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcDayInWeekNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDescriptiveMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcDescriptiveMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[304]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcDescriptiveMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[304]); } Ifc4x3_rc3::IfcDescriptiveMeasure::IfcDescriptiveMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcDescriptiveMeasure::IfcDescriptiveMeasure(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcDescriptiveMeasure::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcDescriptiveMeasure::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDimensionCount const IfcParse::type_declaration& Ifc4x3_rc3::IfcDimensionCount::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[306]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcDimensionCount::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[306]); } Ifc4x3_rc3::IfcDimensionCount::IfcDimensionCount(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcDimensionCount::IfcDimensionCount(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcDimensionCount::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcDimensionCount::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDoseEquivalentMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcDoseEquivalentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[350]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcDoseEquivalentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[350]); } Ifc4x3_rc3::IfcDoseEquivalentMeasure::IfcDoseEquivalentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcDoseEquivalentMeasure::IfcDoseEquivalentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcDoseEquivalentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcDoseEquivalentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDuration const IfcParse::type_declaration& Ifc4x3_rc3::IfcDuration::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[362]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcDuration::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[362]); } Ifc4x3_rc3::IfcDuration::IfcDuration(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcDuration::IfcDuration(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcDuration::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcDuration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDynamicViscosityMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcDynamicViscosityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[363]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcDynamicViscosityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[363]); } Ifc4x3_rc3::IfcDynamicViscosityMeasure::IfcDynamicViscosityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcDynamicViscosityMeasure::IfcDynamicViscosityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcDynamicViscosityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcDynamicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCapacitanceMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcElectricCapacitanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[375]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcElectricCapacitanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[375]); } Ifc4x3_rc3::IfcElectricCapacitanceMeasure::IfcElectricCapacitanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcElectricCapacitanceMeasure::IfcElectricCapacitanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcElectricCapacitanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcElectricCapacitanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricChargeMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcElectricChargeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[376]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcElectricChargeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[376]); } Ifc4x3_rc3::IfcElectricChargeMeasure::IfcElectricChargeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcElectricChargeMeasure::IfcElectricChargeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcElectricChargeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcElectricChargeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricConductanceMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcElectricConductanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[377]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcElectricConductanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[377]); } Ifc4x3_rc3::IfcElectricConductanceMeasure::IfcElectricConductanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcElectricConductanceMeasure::IfcElectricConductanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcElectricConductanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcElectricConductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCurrentMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcElectricCurrentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[378]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcElectricCurrentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[378]); } Ifc4x3_rc3::IfcElectricCurrentMeasure::IfcElectricCurrentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcElectricCurrentMeasure::IfcElectricCurrentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcElectricCurrentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcElectricCurrentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricResistanceMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcElectricResistanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[394]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcElectricResistanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[394]); } Ifc4x3_rc3::IfcElectricResistanceMeasure::IfcElectricResistanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcElectricResistanceMeasure::IfcElectricResistanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcElectricResistanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcElectricResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricVoltageMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcElectricVoltageMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[398]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcElectricVoltageMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[398]); } Ifc4x3_rc3::IfcElectricVoltageMeasure::IfcElectricVoltageMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcElectricVoltageMeasure::IfcElectricVoltageMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcElectricVoltageMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcElectricVoltageMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcEnergyMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcEnergyMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[413]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcEnergyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[413]); } Ifc4x3_rc3::IfcEnergyMeasure::IfcEnergyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcEnergyMeasure::IfcEnergyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcEnergyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcEnergyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFontStyle const IfcParse::type_declaration& Ifc4x3_rc3::IfcFontStyle::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[494]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcFontStyle::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[494]); } Ifc4x3_rc3::IfcFontStyle::IfcFontStyle(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcFontStyle::IfcFontStyle(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcFontStyle::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcFontStyle::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontVariant const IfcParse::type_declaration& Ifc4x3_rc3::IfcFontVariant::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[495]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcFontVariant::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[495]); } Ifc4x3_rc3::IfcFontVariant::IfcFontVariant(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcFontVariant::IfcFontVariant(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcFontVariant::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcFontVariant::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontWeight const IfcParse::type_declaration& Ifc4x3_rc3::IfcFontWeight::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[496]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcFontWeight::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[496]); } Ifc4x3_rc3::IfcFontWeight::IfcFontWeight(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcFontWeight::IfcFontWeight(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcFontWeight::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcFontWeight::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcForceMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[500]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[500]); } Ifc4x3_rc3::IfcForceMeasure::IfcForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcForceMeasure::IfcForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFrequencyMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcFrequencyMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[501]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcFrequencyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[501]); } Ifc4x3_rc3::IfcFrequencyMeasure::IfcFrequencyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcFrequencyMeasure::IfcFrequencyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcFrequencyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcGloballyUniqueId const IfcParse::type_declaration& Ifc4x3_rc3::IfcGloballyUniqueId::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[522]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcGloballyUniqueId::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[522]); } Ifc4x3_rc3::IfcGloballyUniqueId::IfcGloballyUniqueId(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcGloballyUniqueId::IfcGloballyUniqueId(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcGloballyUniqueId::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcGloballyUniqueId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcHeatFluxDensityMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcHeatFluxDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[536]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcHeatFluxDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[536]); } Ifc4x3_rc3::IfcHeatFluxDensityMeasure::IfcHeatFluxDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcHeatFluxDensityMeasure::IfcHeatFluxDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcHeatFluxDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcHeatFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcHeatingValueMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcHeatingValueMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[537]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcHeatingValueMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[537]); } Ifc4x3_rc3::IfcHeatingValueMeasure::IfcHeatingValueMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcHeatingValueMeasure::IfcHeatingValueMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcHeatingValueMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcHeatingValueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIdentifier const IfcParse::type_declaration& Ifc4x3_rc3::IfcIdentifier::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[541]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcIdentifier::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[541]); } Ifc4x3_rc3::IfcIdentifier::IfcIdentifier(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcIdentifier::IfcIdentifier(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcIdentifier::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcIdentifier::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcIlluminanceMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcIlluminanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[542]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcIlluminanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[542]); } Ifc4x3_rc3::IfcIlluminanceMeasure::IfcIlluminanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcIlluminanceMeasure::IfcIlluminanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcIlluminanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcIlluminanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInductanceMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcInductanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[555]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcInductanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[555]); } Ifc4x3_rc3::IfcInductanceMeasure::IfcInductanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcInductanceMeasure::IfcInductanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcInductanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcInductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInteger const IfcParse::type_declaration& Ifc4x3_rc3::IfcInteger::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[556]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcInteger::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[556]); } Ifc4x3_rc3::IfcInteger::IfcInteger(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcInteger::IfcInteger(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcInteger::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIntegerCountRateMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcIntegerCountRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[557]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcIntegerCountRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[557]); } Ifc4x3_rc3::IfcIntegerCountRateMeasure::IfcIntegerCountRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcIntegerCountRateMeasure::IfcIntegerCountRateMeasure(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcIntegerCountRateMeasure::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcIntegerCountRateMeasure::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIonConcentrationMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcIonConcentrationMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[566]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcIonConcentrationMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[566]); } Ifc4x3_rc3::IfcIonConcentrationMeasure::IfcIonConcentrationMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcIonConcentrationMeasure::IfcIonConcentrationMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcIonConcentrationMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcIonConcentrationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIsothermalMoistureCapacityMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcIsothermalMoistureCapacityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[570]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcIsothermalMoistureCapacityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[570]); } Ifc4x3_rc3::IfcIsothermalMoistureCapacityMeasure::IfcIsothermalMoistureCapacityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcIsothermalMoistureCapacityMeasure::IfcIsothermalMoistureCapacityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcIsothermalMoistureCapacityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcIsothermalMoistureCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcKinematicViscosityMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcKinematicViscosityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[576]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcKinematicViscosityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[576]); } Ifc4x3_rc3::IfcKinematicViscosityMeasure::IfcKinematicViscosityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcKinematicViscosityMeasure::IfcKinematicViscosityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcKinematicViscosityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcKinematicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLabel const IfcParse::type_declaration& Ifc4x3_rc3::IfcLabel::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[578]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcLabel::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[578]); } Ifc4x3_rc3::IfcLabel::IfcLabel(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcLabel::IfcLabel(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcLabel::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcLabel::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLanguageId const IfcParse::type_declaration& Ifc4x3_rc3::IfcLanguageId::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[586]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcLanguageId::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[586]); } Ifc4x3_rc3::IfcLanguageId::IfcLanguageId(IfcEntityInstanceData&& e) : IfcIdentifier(std::move(e)) { } Ifc4x3_rc3::IfcLanguageId::IfcLanguageId(std::string v) : IfcIdentifier(v) { } -Ifc4x3_rc3::IfcLanguageId::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcLanguageId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLengthMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[589]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[589]); } Ifc4x3_rc3::IfcLengthMeasure::IfcLengthMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcLengthMeasure::IfcLengthMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLineIndex const IfcParse::type_declaration& Ifc4x3_rc3::IfcLineIndex::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[615]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcLineIndex::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[615]); } Ifc4x3_rc3::IfcLineIndex::IfcLineIndex(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcLineIndex::IfcLineIndex(std::vector< int > /*[2:?]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return get_attribute_value(0); } // Function implementations for IfcLinearForceMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcLinearForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[609]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcLinearForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[609]); } Ifc4x3_rc3::IfcLinearForceMeasure::IfcLinearForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcLinearForceMeasure::IfcLinearForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcLinearForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcLinearForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearMomentMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcLinearMomentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[610]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcLinearMomentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[610]); } Ifc4x3_rc3::IfcLinearMomentMeasure::IfcLinearMomentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcLinearMomentMeasure::IfcLinearMomentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcLinearMomentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcLinearMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearStiffnessMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcLinearStiffnessMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[613]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcLinearStiffnessMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[613]); } Ifc4x3_rc3::IfcLinearStiffnessMeasure::IfcLinearStiffnessMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcLinearStiffnessMeasure::IfcLinearStiffnessMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcLinearStiffnessMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcLinearStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearVelocityMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcLinearVelocityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[614]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcLinearVelocityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[614]); } Ifc4x3_rc3::IfcLinearVelocityMeasure::IfcLinearVelocityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcLinearVelocityMeasure::IfcLinearVelocityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcLinearVelocityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcLinearVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLogical const IfcParse::type_declaration& Ifc4x3_rc3::IfcLogical::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[621]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcLogical::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[621]); } Ifc4x3_rc3::IfcLogical::IfcLogical(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcLogical::IfcLogical(boost::logic::tribool v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcLogical::operator boost::logic::tribool() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcLogical::operator boost::logic::tribool() const { return get_attribute_value(0); } // Function implementations for IfcLuminousFluxMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcLuminousFluxMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[625]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcLuminousFluxMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[625]); } Ifc4x3_rc3::IfcLuminousFluxMeasure::IfcLuminousFluxMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcLuminousFluxMeasure::IfcLuminousFluxMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcLuminousFluxMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcLuminousFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityDistributionMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcLuminousIntensityDistributionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[626]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcLuminousIntensityDistributionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[626]); } Ifc4x3_rc3::IfcLuminousIntensityDistributionMeasure::IfcLuminousIntensityDistributionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcLuminousIntensityDistributionMeasure::IfcLuminousIntensityDistributionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcLuminousIntensityDistributionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcLuminousIntensityDistributionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcLuminousIntensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[627]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcLuminousIntensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[627]); } Ifc4x3_rc3::IfcLuminousIntensityMeasure::IfcLuminousIntensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcLuminousIntensityMeasure::IfcLuminousIntensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcLuminousIntensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcLuminousIntensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxDensityMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcMagneticFluxDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[628]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcMagneticFluxDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[628]); } Ifc4x3_rc3::IfcMagneticFluxDensityMeasure::IfcMagneticFluxDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcMagneticFluxDensityMeasure::IfcMagneticFluxDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcMagneticFluxDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcMagneticFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcMagneticFluxMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[629]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcMagneticFluxMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[629]); } Ifc4x3_rc3::IfcMagneticFluxMeasure::IfcMagneticFluxMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcMagneticFluxMeasure::IfcMagneticFluxMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcMagneticFluxMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcMagneticFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassDensityMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcMassDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[636]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcMassDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[636]); } Ifc4x3_rc3::IfcMassDensityMeasure::IfcMassDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcMassDensityMeasure::IfcMassDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcMassDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcMassDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassFlowRateMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcMassFlowRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[637]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcMassFlowRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[637]); } Ifc4x3_rc3::IfcMassFlowRateMeasure::IfcMassFlowRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcMassFlowRateMeasure::IfcMassFlowRateMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcMassFlowRateMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcMassFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcMassMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[638]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcMassMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[638]); } Ifc4x3_rc3::IfcMassMeasure::IfcMassMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcMassMeasure::IfcMassMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcMassMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassPerLengthMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcMassPerLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[639]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcMassPerLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[639]); } Ifc4x3_rc3::IfcMassPerLengthMeasure::IfcMassPerLengthMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcMassPerLengthMeasure::IfcMassPerLengthMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcMassPerLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcMassPerLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfElasticityMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcModulusOfElasticityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[678]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcModulusOfElasticityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[678]); } Ifc4x3_rc3::IfcModulusOfElasticityMeasure::IfcModulusOfElasticityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcModulusOfElasticityMeasure::IfcModulusOfElasticityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcModulusOfElasticityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcModulusOfElasticityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfLinearSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcModulusOfLinearSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[679]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcModulusOfLinearSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[679]); } Ifc4x3_rc3::IfcModulusOfLinearSubgradeReactionMeasure::IfcModulusOfLinearSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcModulusOfLinearSubgradeReactionMeasure::IfcModulusOfLinearSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfRotationalSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[680]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[680]); } Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionMeasure::IfcModulusOfRotationalSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionMeasure::IfcModulusOfRotationalSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcModulusOfSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[682]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcModulusOfSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[682]); } Ifc4x3_rc3::IfcModulusOfSubgradeReactionMeasure::IfcModulusOfSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcModulusOfSubgradeReactionMeasure::IfcModulusOfSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcModulusOfSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcModulusOfSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMoistureDiffusivityMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcMoistureDiffusivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[685]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcMoistureDiffusivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[685]); } Ifc4x3_rc3::IfcMoistureDiffusivityMeasure::IfcMoistureDiffusivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcMoistureDiffusivityMeasure::IfcMoistureDiffusivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcMoistureDiffusivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcMoistureDiffusivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMolecularWeightMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcMolecularWeightMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[686]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcMolecularWeightMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[686]); } Ifc4x3_rc3::IfcMolecularWeightMeasure::IfcMolecularWeightMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcMolecularWeightMeasure::IfcMolecularWeightMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcMolecularWeightMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcMolecularWeightMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMomentOfInertiaMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcMomentOfInertiaMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[687]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcMomentOfInertiaMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[687]); } Ifc4x3_rc3::IfcMomentOfInertiaMeasure::IfcMomentOfInertiaMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcMomentOfInertiaMeasure::IfcMomentOfInertiaMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcMomentOfInertiaMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcMomentOfInertiaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonetaryMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcMonetaryMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[688]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcMonetaryMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[688]); } Ifc4x3_rc3::IfcMonetaryMeasure::IfcMonetaryMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcMonetaryMeasure::IfcMonetaryMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcMonetaryMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcMonetaryMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonthInYearNumber const IfcParse::type_declaration& Ifc4x3_rc3::IfcMonthInYearNumber::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[690]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcMonthInYearNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[690]); } Ifc4x3_rc3::IfcMonthInYearNumber::IfcMonthInYearNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcMonthInYearNumber::IfcMonthInYearNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcMonthInYearNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcMonthInYearNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcNonNegativeLengthMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcNonNegativeLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[701]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcNonNegativeLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[701]); } Ifc4x3_rc3::IfcNonNegativeLengthMeasure::IfcNonNegativeLengthMeasure(IfcEntityInstanceData&& e) : IfcLengthMeasure(std::move(e)) { } Ifc4x3_rc3::IfcNonNegativeLengthMeasure::IfcNonNegativeLengthMeasure(double v) : IfcLengthMeasure(v) { } -Ifc4x3_rc3::IfcNonNegativeLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcNonNegativeLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNormalisedRatioMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcNormalisedRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[702]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcNormalisedRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[702]); } Ifc4x3_rc3::IfcNormalisedRatioMeasure::IfcNormalisedRatioMeasure(IfcEntityInstanceData&& e) : IfcRatioMeasure(std::move(e)) { } Ifc4x3_rc3::IfcNormalisedRatioMeasure::IfcNormalisedRatioMeasure(double v) : IfcRatioMeasure(v) { } -Ifc4x3_rc3::IfcNormalisedRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcNormalisedRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNumericMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcNumericMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[703]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcNumericMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[703]); } Ifc4x3_rc3::IfcNumericMeasure::IfcNumericMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcNumericMeasure::IfcNumericMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcNumericMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcNumericMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPHMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcPHMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[745]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcPHMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[745]); } Ifc4x3_rc3::IfcPHMeasure::IfcPHMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcPHMeasure::IfcPHMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcPHMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcPHMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcParameterValue const IfcParse::type_declaration& Ifc4x3_rc3::IfcParameterValue::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[731]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcParameterValue::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[731]); } Ifc4x3_rc3::IfcParameterValue::IfcParameterValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcParameterValue::IfcParameterValue(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcParameterValue::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcParameterValue::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlanarForceMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcPlanarForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[764]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcPlanarForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[764]); } Ifc4x3_rc3::IfcPlanarForceMeasure::IfcPlanarForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcPlanarForceMeasure::IfcPlanarForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcPlanarForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcPlanarForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlaneAngleMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcPlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[766]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcPlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[766]); } Ifc4x3_rc3::IfcPlaneAngleMeasure::IfcPlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcPlaneAngleMeasure::IfcPlaneAngleMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcPlaneAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcPlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveInteger const IfcParse::type_declaration& Ifc4x3_rc3::IfcPositiveInteger::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[784]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcPositiveInteger::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[784]); } Ifc4x3_rc3::IfcPositiveInteger::IfcPositiveInteger(IfcEntityInstanceData&& e) : IfcInteger(std::move(e)) { } Ifc4x3_rc3::IfcPositiveInteger::IfcPositiveInteger(int v) : IfcInteger(v) { } -Ifc4x3_rc3::IfcPositiveInteger::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcPositiveInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcPositiveLengthMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcPositiveLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[785]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcPositiveLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[785]); } Ifc4x3_rc3::IfcPositiveLengthMeasure::IfcPositiveLengthMeasure(IfcEntityInstanceData&& e) : IfcLengthMeasure(std::move(e)) { } Ifc4x3_rc3::IfcPositiveLengthMeasure::IfcPositiveLengthMeasure(double v) : IfcLengthMeasure(v) { } -Ifc4x3_rc3::IfcPositiveLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcPositiveLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositivePlaneAngleMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcPositivePlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[786]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcPositivePlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[786]); } Ifc4x3_rc3::IfcPositivePlaneAngleMeasure::IfcPositivePlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcPlaneAngleMeasure(std::move(e)) { } Ifc4x3_rc3::IfcPositivePlaneAngleMeasure::IfcPositivePlaneAngleMeasure(double v) : IfcPlaneAngleMeasure(v) { } -Ifc4x3_rc3::IfcPositivePlaneAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcPositivePlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveRatioMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcPositiveRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[787]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcPositiveRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[787]); } Ifc4x3_rc3::IfcPositiveRatioMeasure::IfcPositiveRatioMeasure(IfcEntityInstanceData&& e) : IfcRatioMeasure(std::move(e)) { } Ifc4x3_rc3::IfcPositiveRatioMeasure::IfcPositiveRatioMeasure(double v) : IfcRatioMeasure(v) { } -Ifc4x3_rc3::IfcPositiveRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcPositiveRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPowerMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcPowerMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[789]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcPowerMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[789]); } Ifc4x3_rc3::IfcPowerMeasure::IfcPowerMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcPowerMeasure::IfcPowerMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcPowerMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPresentableText const IfcParse::type_declaration& Ifc4x3_rc3::IfcPresentableText::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[797]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcPresentableText::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[797]); } Ifc4x3_rc3::IfcPresentableText::IfcPresentableText(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcPresentableText::IfcPresentableText(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcPresentableText::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcPresentableText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcPressureMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcPressureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[802]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcPressureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[802]); } Ifc4x3_rc3::IfcPressureMeasure::IfcPressureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcPressureMeasure::IfcPressureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcPressureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPropertySetDefinitionSet const IfcParse::type_declaration& Ifc4x3_rc3::IfcPropertySetDefinitionSet::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[836]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcPropertySetDefinitionSet::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[836]); } Ifc4x3_rc3::IfcPropertySetDefinitionSet::IfcPropertySetDefinitionSet(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcPropertySetDefinitionSet::IfcPropertySetDefinitionSet(aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v->generalize()); } -Ifc4x3_rc3::IfcPropertySetDefinitionSet::operator aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcPropertySetDefinition >(); } +Ifc4x3_rc3::IfcPropertySetDefinitionSet::operator aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcPropertySetDefinition >(); } // Function implementations for IfcRadioActivityMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcRadioActivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[860]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcRadioActivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[860]); } Ifc4x3_rc3::IfcRadioActivityMeasure::IfcRadioActivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcRadioActivityMeasure::IfcRadioActivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcRadioActivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcRadioActivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRatioMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[876]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[876]); } Ifc4x3_rc3::IfcRatioMeasure::IfcRatioMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcRatioMeasure::IfcRatioMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcReal const IfcParse::type_declaration& Ifc4x3_rc3::IfcReal::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[879]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcReal::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[879]); } Ifc4x3_rc3::IfcReal::IfcReal(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcReal::IfcReal(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcReal::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcReal::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalFrequencyMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcRotationalFrequencyMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[979]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcRotationalFrequencyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[979]); } Ifc4x3_rc3::IfcRotationalFrequencyMeasure::IfcRotationalFrequencyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcRotationalFrequencyMeasure::IfcRotationalFrequencyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcRotationalFrequencyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcRotationalFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalMassMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcRotationalMassMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[980]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcRotationalMassMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[980]); } Ifc4x3_rc3::IfcRotationalMassMeasure::IfcRotationalMassMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcRotationalMassMeasure::IfcRotationalMassMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcRotationalMassMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcRotationalMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalStiffnessMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcRotationalStiffnessMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[981]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcRotationalStiffnessMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[981]); } Ifc4x3_rc3::IfcRotationalStiffnessMeasure::IfcRotationalStiffnessMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcRotationalStiffnessMeasure::IfcRotationalStiffnessMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcRotationalStiffnessMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcRotationalStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionModulusMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcSectionModulusMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[995]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcSectionModulusMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[995]); } Ifc4x3_rc3::IfcSectionModulusMeasure::IfcSectionModulusMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcSectionModulusMeasure::IfcSectionModulusMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcSectionModulusMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcSectionModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionalAreaIntegralMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcSectionalAreaIntegralMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[990]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcSectionalAreaIntegralMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[990]); } Ifc4x3_rc3::IfcSectionalAreaIntegralMeasure::IfcSectionalAreaIntegralMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcSectionalAreaIntegralMeasure::IfcSectionalAreaIntegralMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcSectionalAreaIntegralMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcSectionalAreaIntegralMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcShearModulusMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcShearModulusMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1012]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcShearModulusMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1012]); } Ifc4x3_rc3::IfcShearModulusMeasure::IfcShearModulusMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcShearModulusMeasure::IfcShearModulusMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcShearModulusMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcShearModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSolidAngleMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcSolidAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1040]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcSolidAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1040]); } Ifc4x3_rc3::IfcSolidAngleMeasure::IfcSolidAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcSolidAngleMeasure::IfcSolidAngleMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcSolidAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcSolidAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerLevelMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcSoundPowerLevelMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1044]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcSoundPowerLevelMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1044]); } Ifc4x3_rc3::IfcSoundPowerLevelMeasure::IfcSoundPowerLevelMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcSoundPowerLevelMeasure::IfcSoundPowerLevelMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcSoundPowerLevelMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcSoundPowerLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcSoundPowerMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1045]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcSoundPowerMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1045]); } Ifc4x3_rc3::IfcSoundPowerMeasure::IfcSoundPowerMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcSoundPowerMeasure::IfcSoundPowerMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcSoundPowerMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcSoundPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureLevelMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcSoundPressureLevelMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1046]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcSoundPressureLevelMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1046]); } Ifc4x3_rc3::IfcSoundPressureLevelMeasure::IfcSoundPressureLevelMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcSoundPressureLevelMeasure::IfcSoundPressureLevelMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcSoundPressureLevelMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcSoundPressureLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcSoundPressureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1047]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcSoundPressureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1047]); } Ifc4x3_rc3::IfcSoundPressureMeasure::IfcSoundPressureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcSoundPressureMeasure::IfcSoundPressureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcSoundPressureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcSoundPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecificHeatCapacityMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcSpecificHeatCapacityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1063]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcSpecificHeatCapacityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1063]); } Ifc4x3_rc3::IfcSpecificHeatCapacityMeasure::IfcSpecificHeatCapacityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcSpecificHeatCapacityMeasure::IfcSpecificHeatCapacityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcSpecificHeatCapacityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcSpecificHeatCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularExponent const IfcParse::type_declaration& Ifc4x3_rc3::IfcSpecularExponent::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1064]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcSpecularExponent::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1064]); } Ifc4x3_rc3::IfcSpecularExponent::IfcSpecularExponent(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcSpecularExponent::IfcSpecularExponent(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcSpecularExponent::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcSpecularExponent::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularRoughness const IfcParse::type_declaration& Ifc4x3_rc3::IfcSpecularRoughness::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1066]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcSpecularRoughness::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1066]); } Ifc4x3_rc3::IfcSpecularRoughness::IfcSpecularRoughness(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcSpecularRoughness::IfcSpecularRoughness(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcSpecularRoughness::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcSpecularRoughness::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureGradientMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcTemperatureGradientMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1171]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcTemperatureGradientMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1171]); } Ifc4x3_rc3::IfcTemperatureGradientMeasure::IfcTemperatureGradientMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcTemperatureGradientMeasure::IfcTemperatureGradientMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcTemperatureGradientMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcTemperatureGradientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureRateOfChangeMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcTemperatureRateOfChangeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1172]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcTemperatureRateOfChangeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1172]); } Ifc4x3_rc3::IfcTemperatureRateOfChangeMeasure::IfcTemperatureRateOfChangeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcTemperatureRateOfChangeMeasure::IfcTemperatureRateOfChangeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcTemperatureRateOfChangeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcTemperatureRateOfChangeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcText const IfcParse::type_declaration& Ifc4x3_rc3::IfcText::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1184]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcText::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1184]); } Ifc4x3_rc3::IfcText::IfcText(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcText::IfcText(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcText::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextAlignment const IfcParse::type_declaration& Ifc4x3_rc3::IfcTextAlignment::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1185]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcTextAlignment::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1185]); } Ifc4x3_rc3::IfcTextAlignment::IfcTextAlignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcTextAlignment::IfcTextAlignment(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcTextAlignment::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcTextAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextDecoration const IfcParse::type_declaration& Ifc4x3_rc3::IfcTextDecoration::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1186]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcTextDecoration::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1186]); } Ifc4x3_rc3::IfcTextDecoration::IfcTextDecoration(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcTextDecoration::IfcTextDecoration(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcTextDecoration::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcTextDecoration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextFontName const IfcParse::type_declaration& Ifc4x3_rc3::IfcTextFontName::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1187]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcTextFontName::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1187]); } Ifc4x3_rc3::IfcTextFontName::IfcTextFontName(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcTextFontName::IfcTextFontName(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcTextFontName::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcTextFontName::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextTransformation const IfcParse::type_declaration& Ifc4x3_rc3::IfcTextTransformation::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1196]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcTextTransformation::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1196]); } Ifc4x3_rc3::IfcTextTransformation::IfcTextTransformation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcTextTransformation::IfcTextTransformation(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcTextTransformation::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcTextTransformation::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcThermalAdmittanceMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcThermalAdmittanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1202]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcThermalAdmittanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1202]); } Ifc4x3_rc3::IfcThermalAdmittanceMeasure::IfcThermalAdmittanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcThermalAdmittanceMeasure::IfcThermalAdmittanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcThermalAdmittanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcThermalAdmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalConductivityMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcThermalConductivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1203]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcThermalConductivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1203]); } Ifc4x3_rc3::IfcThermalConductivityMeasure::IfcThermalConductivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcThermalConductivityMeasure::IfcThermalConductivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcThermalConductivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcThermalConductivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalExpansionCoefficientMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcThermalExpansionCoefficientMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1204]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcThermalExpansionCoefficientMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1204]); } Ifc4x3_rc3::IfcThermalExpansionCoefficientMeasure::IfcThermalExpansionCoefficientMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcThermalExpansionCoefficientMeasure::IfcThermalExpansionCoefficientMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcThermalExpansionCoefficientMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcThermalExpansionCoefficientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalResistanceMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcThermalResistanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1205]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcThermalResistanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1205]); } Ifc4x3_rc3::IfcThermalResistanceMeasure::IfcThermalResistanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcThermalResistanceMeasure::IfcThermalResistanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcThermalResistanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcThermalResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalTransmittanceMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcThermalTransmittanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1206]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcThermalTransmittanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1206]); } Ifc4x3_rc3::IfcThermalTransmittanceMeasure::IfcThermalTransmittanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcThermalTransmittanceMeasure::IfcThermalTransmittanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcThermalTransmittanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcThermalTransmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermodynamicTemperatureMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcThermodynamicTemperatureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1207]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcThermodynamicTemperatureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1207]); } Ifc4x3_rc3::IfcThermodynamicTemperatureMeasure::IfcThermodynamicTemperatureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcThermodynamicTemperatureMeasure::IfcThermodynamicTemperatureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcThermodynamicTemperatureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcThermodynamicTemperatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTime const IfcParse::type_declaration& Ifc4x3_rc3::IfcTime::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1209]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcTime::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1209]); } Ifc4x3_rc3::IfcTime::IfcTime(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcTime::IfcTime(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcTime::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTimeMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcTimeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1210]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcTimeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1210]); } Ifc4x3_rc3::IfcTimeMeasure::IfcTimeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcTimeMeasure::IfcTimeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcTimeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcTimeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTimeStamp const IfcParse::type_declaration& Ifc4x3_rc3::IfcTimeStamp::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1216]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcTimeStamp::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1216]); } Ifc4x3_rc3::IfcTimeStamp::IfcTimeStamp(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcTimeStamp::IfcTimeStamp(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcTimeStamp::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcTimeStamp::operator int() const { return get_attribute_value(0); } // Function implementations for IfcTorqueMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcTorqueMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1220]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcTorqueMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1220]); } Ifc4x3_rc3::IfcTorqueMeasure::IfcTorqueMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcTorqueMeasure::IfcTorqueMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcTorqueMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcTorqueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcURIReference const IfcParse::type_declaration& Ifc4x3_rc3::IfcURIReference::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1257]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcURIReference::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1257]); } Ifc4x3_rc3::IfcURIReference::IfcURIReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcURIReference::IfcURIReference(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcURIReference::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcURIReference::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcVaporPermeabilityMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcVaporPermeabilityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1263]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcVaporPermeabilityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1263]); } Ifc4x3_rc3::IfcVaporPermeabilityMeasure::IfcVaporPermeabilityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcVaporPermeabilityMeasure::IfcVaporPermeabilityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcVaporPermeabilityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcVaporPermeabilityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumeMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcVolumeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1281]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcVolumeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1281]); } Ifc4x3_rc3::IfcVolumeMeasure::IfcVolumeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcVolumeMeasure::IfcVolumeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcVolumeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcVolumeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumetricFlowRateMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcVolumetricFlowRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1282]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcVolumetricFlowRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1282]); } Ifc4x3_rc3::IfcVolumetricFlowRateMeasure::IfcVolumetricFlowRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcVolumetricFlowRateMeasure::IfcVolumetricFlowRateMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcVolumetricFlowRateMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcVolumetricFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingConstantMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcWarpingConstantMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1288]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcWarpingConstantMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1288]); } Ifc4x3_rc3::IfcWarpingConstantMeasure::IfcWarpingConstantMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcWarpingConstantMeasure::IfcWarpingConstantMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcWarpingConstantMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcWarpingConstantMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingMomentMeasure const IfcParse::type_declaration& Ifc4x3_rc3::IfcWarpingMomentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1289]); } const IfcParse::type_declaration& Ifc4x3_rc3::IfcWarpingMomentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC3_types[1289]); } Ifc4x3_rc3::IfcWarpingMomentMeasure::IfcWarpingMomentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc3::IfcWarpingMomentMeasure::IfcWarpingMomentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc3::IfcWarpingMomentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc3::IfcWarpingMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcActionRequest -boost::optional< ::Ifc4x3_rc3::IfcActionRequestTypeEnum::Value > Ifc4x3_rc3::IfcActionRequest::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcActionRequestTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_rc3::IfcActionRequestTypeEnum::Value > Ifc4x3_rc3::IfcActionRequest::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcActionRequestTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_rc3::IfcActionRequest::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcActionRequestTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_rc3::IfcActionRequestTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc3::IfcActionRequest::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcActionRequest::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcActionRequest::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc3::IfcActionRequest::LongDescription() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcActionRequest::LongDescription() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcActionRequest::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcActionRequest::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[2]); } const IfcParse::entity& Ifc4x3_rc3::IfcActionRequest::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[2]); } Ifc4x3_rc3::IfcActionRequest::IfcActionRequest(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_rc3::IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3_rc3::IfcActionRequestTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc3::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } +Ifc4x3_rc3::IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3_rc3::IfcActionRequestTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc3::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } // Function implementations for IfcActor -::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcActorSelect>(true); } +::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcActorSelect>(true); } void Ifc4x3_rc3::IfcActor::setTheActor(::Ifc4x3_rc3::IfcActorSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc4x3_rc3::IfcRelAssignsToActor::list::ptr Ifc4x3_rc3::IfcActor::IsActingUpon() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[907], 6)->as(); } @@ -7744,14 +7744,14 @@ void Ifc4x3_rc3::IfcActor::setTheActor(::Ifc4x3_rc3::IfcActorSelect* v) { set_at const IfcParse::entity& Ifc4x3_rc3::IfcActor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[6]); } const IfcParse::entity& Ifc4x3_rc3::IfcActor::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[6]); } Ifc4x3_rc3::IfcActor::IfcActor(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_rc3::IfcActor::IfcActor(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcActorSelect* v6_TheActor) : IfcObject(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcActor::IfcActor(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcActorSelect* v6_TheActor) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcActorRole -::Ifc4x3_rc3::IfcRoleEnum::Value Ifc4x3_rc3::IfcActorRole::Role() const { return ::Ifc4x3_rc3::IfcRoleEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_rc3::IfcRoleEnum::Value Ifc4x3_rc3::IfcActorRole::Role() const { return ::Ifc4x3_rc3::IfcRoleEnum::FromString(get_attribute_value(0)); } void Ifc4x3_rc3::IfcActorRole::setRole(::Ifc4x3_rc3::IfcRoleEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_rc3::IfcRoleEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc3::IfcActorRole::UserDefinedRole() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcActorRole::UserDefinedRole() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcActorRole::setUserDefinedRole(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc3::IfcActorRole::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcActorRole::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcActorRole::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3_rc3::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc3::IfcActorRole::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[434], 3)->as(); } @@ -7759,34 +7759,34 @@ void Ifc4x3_rc3::IfcActorRole::setDescription(boost::optional< std::string > v) const IfcParse::entity& Ifc4x3_rc3::IfcActorRole::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[7]); } const IfcParse::entity& Ifc4x3_rc3::IfcActorRole::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[7]); } Ifc4x3_rc3::IfcActorRole::IfcActorRole(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcActorRole::IfcActorRole(::Ifc4x3_rc3::IfcRoleEnum::Value v1_Role, boost::optional< std::string > v2_UserDefinedRole, boost::optional< std::string > v3_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } +Ifc4x3_rc3::IfcActorRole::IfcActorRole(::Ifc4x3_rc3::IfcRoleEnum::Value v1_Role, boost::optional< std::string > v2_UserDefinedRole, boost::optional< std::string > v3_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } // Function implementations for IfcActuator -boost::optional< ::Ifc4x3_rc3::IfcActuatorTypeEnum::Value > Ifc4x3_rc3::IfcActuator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcActuatorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcActuatorTypeEnum::Value > Ifc4x3_rc3::IfcActuator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcActuatorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcActuator::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcActuatorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcActuatorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcActuator::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[9]); } const IfcParse::entity& Ifc4x3_rc3::IfcActuator::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[9]); } Ifc4x3_rc3::IfcActuator::IfcActuator(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_rc3::IfcActuator::IfcActuator(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcActuatorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcActuator::IfcActuator(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcActuatorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcActuatorType -::Ifc4x3_rc3::IfcActuatorTypeEnum::Value Ifc4x3_rc3::IfcActuatorType::PredefinedType() const { return ::Ifc4x3_rc3::IfcActuatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcActuatorTypeEnum::Value Ifc4x3_rc3::IfcActuatorType::PredefinedType() const { return ::Ifc4x3_rc3::IfcActuatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcActuatorType::setPredefinedType(::Ifc4x3_rc3::IfcActuatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcActuatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcActuatorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[10]); } const IfcParse::entity& Ifc4x3_rc3::IfcActuatorType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[10]); } Ifc4x3_rc3::IfcActuatorType::IfcActuatorType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_rc3::IfcActuatorType::IfcActuatorType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcActuatorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcActuatorType::IfcActuatorType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcActuatorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAddress -boost::optional< ::Ifc4x3_rc3::IfcAddressTypeEnum::Value > Ifc4x3_rc3::IfcAddress::Purpose() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcAddressTypeEnum::FromString(data_.get_attribute_value(0)); } +boost::optional< ::Ifc4x3_rc3::IfcAddressTypeEnum::Value > Ifc4x3_rc3::IfcAddress::Purpose() const { if(get_attribute_value(0).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcAddressTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x3_rc3::IfcAddress::setPurpose(boost::optional< ::Ifc4x3_rc3::IfcAddressTypeEnum::Value > v) { if (v) {set_attribute_value(0, EnumerationReference(&::Ifc4x3_rc3::IfcAddressTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc3::IfcAddress::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcAddress::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcAddress::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc3::IfcAddress::UserDefinedPurpose() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcAddress::UserDefinedPurpose() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcAddress::setUserDefinedPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3_rc3::IfcPerson::list::ptr Ifc4x3_rc3::IfcAddress::OfPerson() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[743], 7)->as(); } @@ -7795,7 +7795,7 @@ void Ifc4x3_rc3::IfcAddress::setUserDefinedPurpose(boost::optional< std::string const IfcParse::entity& Ifc4x3_rc3::IfcAddress::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[12]); } const IfcParse::entity& Ifc4x3_rc3::IfcAddress::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[12]); } Ifc4x3_rc3::IfcAddress::IfcAddress(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcAddress::IfcAddress(boost::optional< ::Ifc4x3_rc3::IfcAddressTypeEnum::Value > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; populate_derived(); } +Ifc4x3_rc3::IfcAddress::IfcAddress(boost::optional< ::Ifc4x3_rc3::IfcAddressTypeEnum::Value > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; populate_derived(); } // Function implementations for IfcAdvancedBrep @@ -7803,17 +7803,17 @@ Ifc4x3_rc3::IfcAddress::IfcAddress(boost::optional< ::Ifc4x3_rc3::IfcAddressType const IfcParse::entity& Ifc4x3_rc3::IfcAdvancedBrep::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[14]); } const IfcParse::entity& Ifc4x3_rc3::IfcAdvancedBrep::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[14]); } Ifc4x3_rc3::IfcAdvancedBrep::IfcAdvancedBrep(IfcEntityInstanceData&& e) : IfcManifoldSolidBrep(std::move(e)) { } -Ifc4x3_rc3::IfcAdvancedBrep::IfcAdvancedBrep(::Ifc4x3_rc3::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcAdvancedBrep::IfcAdvancedBrep(::Ifc4x3_rc3::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAdvancedBrepWithVoids -aggregate_of< ::Ifc4x3_rc3::IfcClosedShell >::ptr Ifc4x3_rc3::IfcAdvancedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcClosedShell >(); } +aggregate_of< ::Ifc4x3_rc3::IfcClosedShell >::ptr Ifc4x3_rc3::IfcAdvancedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcClosedShell >(); } void Ifc4x3_rc3::IfcAdvancedBrepWithVoids::setVoids(aggregate_of< ::Ifc4x3_rc3::IfcClosedShell >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcAdvancedBrepWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[15]); } const IfcParse::entity& Ifc4x3_rc3::IfcAdvancedBrepWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[15]); } Ifc4x3_rc3::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(IfcEntityInstanceData&& e) : IfcAdvancedBrep(std::move(e)) { } -Ifc4x3_rc3::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4x3_rc3::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3_rc3::IfcClosedShell >::ptr v2_Voids) : IfcAdvancedBrep(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4x3_rc3::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3_rc3::IfcClosedShell >::ptr v2_Voids) : IfcAdvancedBrep(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } // Function implementations for IfcAdvancedFace @@ -7821,129 +7821,129 @@ Ifc4x3_rc3::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4x3_rc3::Ifc const IfcParse::entity& Ifc4x3_rc3::IfcAdvancedFace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[16]); } const IfcParse::entity& Ifc4x3_rc3::IfcAdvancedFace::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[16]); } Ifc4x3_rc3::IfcAdvancedFace::IfcAdvancedFace(IfcEntityInstanceData&& e) : IfcFaceSurface(std::move(e)) { } -Ifc4x3_rc3::IfcAdvancedFace::IfcAdvancedFace(aggregate_of< ::Ifc4x3_rc3::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_rc3::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFaceSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } +Ifc4x3_rc3::IfcAdvancedFace::IfcAdvancedFace(aggregate_of< ::Ifc4x3_rc3::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_rc3::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFaceSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } // Function implementations for IfcAirTerminal -boost::optional< ::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Value > Ifc4x3_rc3::IfcAirTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcAirTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Value > Ifc4x3_rc3::IfcAirTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcAirTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcAirTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcAirTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[17]); } const IfcParse::entity& Ifc4x3_rc3::IfcAirTerminal::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[17]); } Ifc4x3_rc3::IfcAirTerminal::IfcAirTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc3::IfcAirTerminal::IfcAirTerminal(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcAirTerminal::IfcAirTerminal(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAirTerminalBox -boost::optional< ::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Value > Ifc4x3_rc3::IfcAirTerminalBox::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Value > Ifc4x3_rc3::IfcAirTerminalBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcAirTerminalBox::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcAirTerminalBox::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[18]); } const IfcParse::entity& Ifc4x3_rc3::IfcAirTerminalBox::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[18]); } Ifc4x3_rc3::IfcAirTerminalBox::IfcAirTerminalBox(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_rc3::IfcAirTerminalBox::IfcAirTerminalBox(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcAirTerminalBox::IfcAirTerminalBox(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAirTerminalBoxType -::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Value Ifc4x3_rc3::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Value Ifc4x3_rc3::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcAirTerminalBoxType::setPredefinedType(::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcAirTerminalBoxType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[19]); } const IfcParse::entity& Ifc4x3_rc3::IfcAirTerminalBoxType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[19]); } Ifc4x3_rc3::IfcAirTerminalBoxType::IfcAirTerminalBoxType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_rc3::IfcAirTerminalBoxType::IfcAirTerminalBoxType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcAirTerminalBoxType::IfcAirTerminalBoxType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAirTerminalType -::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Value Ifc4x3_rc3::IfcAirTerminalType::PredefinedType() const { return ::Ifc4x3_rc3::IfcAirTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Value Ifc4x3_rc3::IfcAirTerminalType::PredefinedType() const { return ::Ifc4x3_rc3::IfcAirTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcAirTerminalType::setPredefinedType(::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcAirTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[21]); } const IfcParse::entity& Ifc4x3_rc3::IfcAirTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[21]); } Ifc4x3_rc3::IfcAirTerminalType::IfcAirTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc3::IfcAirTerminalType::IfcAirTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcAirTerminalType::IfcAirTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAirToAirHeatRecovery -boost::optional< ::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x3_rc3::IfcAirToAirHeatRecovery::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x3_rc3::IfcAirToAirHeatRecovery::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcAirToAirHeatRecovery::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcAirToAirHeatRecovery::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[23]); } const IfcParse::entity& Ifc4x3_rc3::IfcAirToAirHeatRecovery::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[23]); } Ifc4x3_rc3::IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc3::IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAirToAirHeatRecoveryType -::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3_rc3::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3_rc3::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcAirToAirHeatRecoveryType::setPredefinedType(::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcAirToAirHeatRecoveryType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[24]); } const IfcParse::entity& Ifc4x3_rc3::IfcAirToAirHeatRecoveryType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[24]); } Ifc4x3_rc3::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc3::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlarm -boost::optional< ::Ifc4x3_rc3::IfcAlarmTypeEnum::Value > Ifc4x3_rc3::IfcAlarm::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcAlarmTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcAlarmTypeEnum::Value > Ifc4x3_rc3::IfcAlarm::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcAlarmTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcAlarm::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcAlarmTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcAlarmTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcAlarm::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[26]); } const IfcParse::entity& Ifc4x3_rc3::IfcAlarm::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[26]); } Ifc4x3_rc3::IfcAlarm::IfcAlarm(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_rc3::IfcAlarm::IfcAlarm(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcAlarmTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcAlarm::IfcAlarm(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcAlarmTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAlarmType -::Ifc4x3_rc3::IfcAlarmTypeEnum::Value Ifc4x3_rc3::IfcAlarmType::PredefinedType() const { return ::Ifc4x3_rc3::IfcAlarmTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcAlarmTypeEnum::Value Ifc4x3_rc3::IfcAlarmType::PredefinedType() const { return ::Ifc4x3_rc3::IfcAlarmTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcAlarmType::setPredefinedType(::Ifc4x3_rc3::IfcAlarmTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcAlarmTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcAlarmType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[27]); } const IfcParse::entity& Ifc4x3_rc3::IfcAlarmType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[27]); } Ifc4x3_rc3::IfcAlarmType::IfcAlarmType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_rc3::IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAlarmTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAlarmTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlignment -boost::optional< ::Ifc4x3_rc3::IfcAlignmentTypeEnum::Value > Ifc4x3_rc3::IfcAlignment::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcAlignmentTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_rc3::IfcAlignmentTypeEnum::Value > Ifc4x3_rc3::IfcAlignment::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcAlignmentTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc3::IfcAlignment::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcAlignmentTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc3::IfcAlignmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc3::IfcAlignment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[29]); } const IfcParse::entity& Ifc4x3_rc3::IfcAlignment::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[29]); } Ifc4x3_rc3::IfcAlignment::IfcAlignment(IfcEntityInstanceData&& e) : IfcLinearPositioningElement(std::move(e)) { } -Ifc4x3_rc3::IfcAlignment::IfcAlignment(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_rc3::IfcAlignmentTypeEnum::Value > v8_PredefinedType) : IfcLinearPositioningElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcAlignmentTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcAlignment::IfcAlignment(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_rc3::IfcAlignmentTypeEnum::Value > v8_PredefinedType) : IfcLinearPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcAlignmentTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAlignmentCant -double Ifc4x3_rc3::IfcAlignmentCant::RailHeadDistance() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x3_rc3::IfcAlignmentCant::RailHeadDistance() const { double v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcAlignmentCant::setRailHeadDistance(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc3::IfcAlignmentCant::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[30]); } const IfcParse::entity& Ifc4x3_rc3::IfcAlignmentCant::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[30]); } Ifc4x3_rc3::IfcAlignmentCant::IfcAlignmentCant(IfcEntityInstanceData&& e) : IfcLinearElement(std::move(e)) { } -Ifc4x3_rc3::IfcAlignmentCant::IfcAlignmentCant(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, double v8_RailHeadDistance) : IfcLinearElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RailHeadDistance));; populate_derived(); } +Ifc4x3_rc3::IfcAlignmentCant::IfcAlignmentCant(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, double v8_RailHeadDistance) : IfcLinearElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RailHeadDistance));; populate_derived(); } // Function implementations for IfcAlignmentCantSegment -double Ifc4x3_rc3::IfcAlignmentCantSegment::StartDistAlong() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc3::IfcAlignmentCantSegment::StartDistAlong() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcAlignmentCantSegment::setStartDistAlong(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc3::IfcAlignmentCantSegment::HorizontalLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc3::IfcAlignmentCantSegment::HorizontalLength() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcAlignmentCantSegment::setHorizontalLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc3::IfcAlignmentCantSegment::StartCantLeft() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc3::IfcAlignmentCantSegment::StartCantLeft() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcAlignmentCantSegment::setStartCantLeft(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< double > Ifc4x3_rc3::IfcAlignmentCantSegment::EndCantLeft() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc3::IfcAlignmentCantSegment::EndCantLeft() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcAlignmentCantSegment::setEndCantLeft(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -double Ifc4x3_rc3::IfcAlignmentCantSegment::StartCantRight() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc3::IfcAlignmentCantSegment::StartCantRight() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcAlignmentCantSegment::setStartCantRight(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc3::IfcAlignmentCantSegment::EndCantRight() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc3::IfcAlignmentCantSegment::EndCantRight() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcAlignmentCantSegment::setEndCantRight(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::Value Ifc4x3_rc3::IfcAlignmentCantSegment::PredefinedType() const { return ::Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::Value Ifc4x3_rc3::IfcAlignmentCantSegment::PredefinedType() const { return ::Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcAlignmentCantSegment::setPredefinedType(::Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc3::IfcAlignmentCantSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[31]); } const IfcParse::entity& Ifc4x3_rc3::IfcAlignmentCantSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[31]); } Ifc4x3_rc3::IfcAlignmentCantSegment::IfcAlignmentCantSegment(IfcEntityInstanceData&& e) : IfcAlignmentParameterSegment(std::move(e)) { } -Ifc4x3_rc3::IfcAlignmentCantSegment::IfcAlignmentCantSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, boost::optional< double > v6_EndCantLeft, double v7_StartCantRight, boost::optional< double > v8_EndCantRight, ::Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(storage_t(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartCantLeft)); if (v6_EndCantLeft) {set_attribute_value(5, (*v6_EndCantLeft)); }set_attribute_value(6, (v7_StartCantRight)); if (v8_EndCantRight) {set_attribute_value(7, (*v8_EndCantRight)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcAlignmentCantSegment::IfcAlignmentCantSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, boost::optional< double > v6_EndCantLeft, double v7_StartCantRight, boost::optional< double > v8_EndCantRight, ::Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartCantLeft)); if (v6_EndCantLeft) {set_attribute_value(5, (*v6_EndCantLeft)); }set_attribute_value(6, (v7_StartCantRight)); if (v8_EndCantRight) {set_attribute_value(7, (*v8_EndCantRight)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcAlignmentCantSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlignmentHorizontal @@ -7951,51 +7951,51 @@ Ifc4x3_rc3::IfcAlignmentCantSegment::IfcAlignmentCantSegment(boost::optional< st const IfcParse::entity& Ifc4x3_rc3::IfcAlignmentHorizontal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[33]); } const IfcParse::entity& Ifc4x3_rc3::IfcAlignmentHorizontal::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[33]); } Ifc4x3_rc3::IfcAlignmentHorizontal::IfcAlignmentHorizontal(IfcEntityInstanceData&& e) : IfcLinearElement(std::move(e)) { } -Ifc4x3_rc3::IfcAlignmentHorizontal::IfcAlignmentHorizontal(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation) : IfcLinearElement(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcAlignmentHorizontal::IfcAlignmentHorizontal(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation) : IfcLinearElement(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAlignmentHorizontalSegment -::Ifc4x3_rc3::IfcCartesianPoint* Ifc4x3_rc3::IfcAlignmentHorizontalSegment::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcCartesianPoint>(true); } +::Ifc4x3_rc3::IfcCartesianPoint* Ifc4x3_rc3::IfcAlignmentHorizontalSegment::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcCartesianPoint>(true); } void Ifc4x3_rc3::IfcAlignmentHorizontalSegment::setStartPoint(::Ifc4x3_rc3::IfcCartesianPoint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc3::IfcAlignmentHorizontalSegment::StartDirection() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc3::IfcAlignmentHorizontalSegment::StartDirection() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcAlignmentHorizontalSegment::setStartDirection(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc3::IfcAlignmentHorizontalSegment::StartRadiusOfCurvature() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc3::IfcAlignmentHorizontalSegment::StartRadiusOfCurvature() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcAlignmentHorizontalSegment::setStartRadiusOfCurvature(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc3::IfcAlignmentHorizontalSegment::EndRadiusOfCurvature() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc3::IfcAlignmentHorizontalSegment::EndRadiusOfCurvature() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcAlignmentHorizontalSegment::setEndRadiusOfCurvature(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc3::IfcAlignmentHorizontalSegment::SegmentLength() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc3::IfcAlignmentHorizontalSegment::SegmentLength() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcAlignmentHorizontalSegment::setSegmentLength(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc3::IfcAlignmentHorizontalSegment::GravityCenterLineHeight() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc3::IfcAlignmentHorizontalSegment::GravityCenterLineHeight() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcAlignmentHorizontalSegment::setGravityCenterLineHeight(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc3::IfcAlignmentHorizontalSegmentTypeEnum::Value Ifc4x3_rc3::IfcAlignmentHorizontalSegment::PredefinedType() const { return ::Ifc4x3_rc3::IfcAlignmentHorizontalSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc3::IfcAlignmentHorizontalSegmentTypeEnum::Value Ifc4x3_rc3::IfcAlignmentHorizontalSegment::PredefinedType() const { return ::Ifc4x3_rc3::IfcAlignmentHorizontalSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcAlignmentHorizontalSegment::setPredefinedType(::Ifc4x3_rc3::IfcAlignmentHorizontalSegmentTypeEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcAlignmentHorizontalSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc3::IfcAlignmentHorizontalSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[34]); } const IfcParse::entity& Ifc4x3_rc3::IfcAlignmentHorizontalSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[34]); } Ifc4x3_rc3::IfcAlignmentHorizontalSegment::IfcAlignmentHorizontalSegment(IfcEntityInstanceData&& e) : IfcAlignmentParameterSegment(std::move(e)) { } -Ifc4x3_rc3::IfcAlignmentHorizontalSegment::IfcAlignmentHorizontalSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag, ::Ifc4x3_rc3::IfcCartesianPoint* v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, boost::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_rc3::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(storage_t(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, v3_StartPoint ? v3_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_StartDirection));set_attribute_value(4, (v5_StartRadiusOfCurvature));set_attribute_value(5, (v6_EndRadiusOfCurvature));set_attribute_value(6, (v7_SegmentLength)); if (v8_GravityCenterLineHeight) {set_attribute_value(7, (*v8_GravityCenterLineHeight)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcAlignmentHorizontalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcAlignmentHorizontalSegment::IfcAlignmentHorizontalSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag, ::Ifc4x3_rc3::IfcCartesianPoint* v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, boost::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_rc3::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, v3_StartPoint ? v3_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_StartDirection));set_attribute_value(4, (v5_StartRadiusOfCurvature));set_attribute_value(5, (v6_EndRadiusOfCurvature));set_attribute_value(6, (v7_SegmentLength)); if (v8_GravityCenterLineHeight) {set_attribute_value(7, (*v8_GravityCenterLineHeight)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcAlignmentHorizontalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlignmentParameterSegment -boost::optional< std::string > Ifc4x3_rc3::IfcAlignmentParameterSegment::StartTag() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcAlignmentParameterSegment::StartTag() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcAlignmentParameterSegment::setStartTag(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc3::IfcAlignmentParameterSegment::EndTag() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcAlignmentParameterSegment::EndTag() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcAlignmentParameterSegment::setEndTag(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_rc3::IfcAlignmentParameterSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[36]); } const IfcParse::entity& Ifc4x3_rc3::IfcAlignmentParameterSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[36]); } Ifc4x3_rc3::IfcAlignmentParameterSegment::IfcAlignmentParameterSegment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcAlignmentParameterSegment::IfcAlignmentParameterSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }; populate_derived(); } +Ifc4x3_rc3::IfcAlignmentParameterSegment::IfcAlignmentParameterSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }; populate_derived(); } // Function implementations for IfcAlignmentSegment -::Ifc4x3_rc3::IfcAlignmentParameterSegment* Ifc4x3_rc3::IfcAlignmentSegment::DesignParameters() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc3::IfcAlignmentParameterSegment>(true); } +::Ifc4x3_rc3::IfcAlignmentParameterSegment* Ifc4x3_rc3::IfcAlignmentSegment::DesignParameters() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc3::IfcAlignmentParameterSegment>(true); } void Ifc4x3_rc3::IfcAlignmentSegment::setDesignParameters(::Ifc4x3_rc3::IfcAlignmentParameterSegment* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc3::IfcAlignmentSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[37]); } const IfcParse::entity& Ifc4x3_rc3::IfcAlignmentSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[37]); } Ifc4x3_rc3::IfcAlignmentSegment::IfcAlignmentSegment(IfcEntityInstanceData&& e) : IfcLinearElement(std::move(e)) { } -Ifc4x3_rc3::IfcAlignmentSegment::IfcAlignmentSegment(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcAlignmentParameterSegment* v8_DesignParameters) : IfcLinearElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_DesignParameters ? v8_DesignParameters->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcAlignmentSegment::IfcAlignmentSegment(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcAlignmentParameterSegment* v8_DesignParameters) : IfcLinearElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_DesignParameters ? v8_DesignParameters->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAlignmentVertical @@ -8003,32 +8003,32 @@ Ifc4x3_rc3::IfcAlignmentSegment::IfcAlignmentSegment(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x3_rc3::IfcAlignmentVertical::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[39]); } const IfcParse::entity& Ifc4x3_rc3::IfcAlignmentVertical::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[39]); } Ifc4x3_rc3::IfcAlignmentVertical::IfcAlignmentVertical(IfcEntityInstanceData&& e) : IfcLinearElement(std::move(e)) { } -Ifc4x3_rc3::IfcAlignmentVertical::IfcAlignmentVertical(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation) : IfcLinearElement(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcAlignmentVertical::IfcAlignmentVertical(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation) : IfcLinearElement(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAlignmentVerticalSegment -double Ifc4x3_rc3::IfcAlignmentVerticalSegment::StartDistAlong() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc3::IfcAlignmentVerticalSegment::StartDistAlong() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcAlignmentVerticalSegment::setStartDistAlong(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc3::IfcAlignmentVerticalSegment::HorizontalLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc3::IfcAlignmentVerticalSegment::HorizontalLength() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcAlignmentVerticalSegment::setHorizontalLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc3::IfcAlignmentVerticalSegment::StartHeight() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc3::IfcAlignmentVerticalSegment::StartHeight() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcAlignmentVerticalSegment::setStartHeight(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc3::IfcAlignmentVerticalSegment::StartGradient() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc3::IfcAlignmentVerticalSegment::StartGradient() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcAlignmentVerticalSegment::setStartGradient(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc3::IfcAlignmentVerticalSegment::EndGradient() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc3::IfcAlignmentVerticalSegment::EndGradient() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcAlignmentVerticalSegment::setEndGradient(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc3::IfcAlignmentVerticalSegment::RadiusOfCurvature() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc3::IfcAlignmentVerticalSegment::RadiusOfCurvature() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcAlignmentVerticalSegment::setRadiusOfCurvature(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc3::IfcAlignmentVerticalSegmentTypeEnum::Value Ifc4x3_rc3::IfcAlignmentVerticalSegment::PredefinedType() const { return ::Ifc4x3_rc3::IfcAlignmentVerticalSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc3::IfcAlignmentVerticalSegmentTypeEnum::Value Ifc4x3_rc3::IfcAlignmentVerticalSegment::PredefinedType() const { return ::Ifc4x3_rc3::IfcAlignmentVerticalSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcAlignmentVerticalSegment::setPredefinedType(::Ifc4x3_rc3::IfcAlignmentVerticalSegmentTypeEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcAlignmentVerticalSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc3::IfcAlignmentVerticalSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[40]); } const IfcParse::entity& Ifc4x3_rc3::IfcAlignmentVerticalSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[40]); } Ifc4x3_rc3::IfcAlignmentVerticalSegment::IfcAlignmentVerticalSegment(IfcEntityInstanceData&& e) : IfcAlignmentParameterSegment(std::move(e)) { } -Ifc4x3_rc3::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_rc3::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(storage_t(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::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_rc3::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } // Function implementations for IfcAnnotation -boost::optional< ::Ifc4x3_rc3::IfcAnnotationTypeEnum::Value > Ifc4x3_rc3::IfcAnnotation::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcAnnotationTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_rc3::IfcAnnotationTypeEnum::Value > Ifc4x3_rc3::IfcAnnotation::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcAnnotationTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc3::IfcAnnotation::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcAnnotationTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc3::IfcAnnotationTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } ::Ifc4x3_rc3::IfcRelContainedInSpatialStructure::list::ptr Ifc4x3_rc3::IfcAnnotation::ContainedInStructure() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[932], 4)->as(); } @@ -8036,56 +8036,56 @@ void Ifc4x3_rc3::IfcAnnotation::setPredefinedType(boost::optional< ::Ifc4x3_rc3: const IfcParse::entity& Ifc4x3_rc3::IfcAnnotation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[46]); } const IfcParse::entity& Ifc4x3_rc3::IfcAnnotation::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[46]); } Ifc4x3_rc3::IfcAnnotation::IfcAnnotation(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_rc3::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_rc3::IfcAnnotationTypeEnum::Value > v8_PredefinedType) : IfcProduct(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcAnnotationTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_rc3::IfcAnnotationTypeEnum::Value > v8_PredefinedType) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcAnnotationTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAnnotationFillArea -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCurve>(true); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcAnnotationFillArea::setOuterBoundary(::Ifc4x3_rc3::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcCurve >::ptr > Ifc4x3_rc3::IfcAnnotationFillArea::InnerBoundaries() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcCurve >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcCurve >::ptr > Ifc4x3_rc3::IfcAnnotationFillArea::InnerBoundaries() const { if(get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcCurve >(); } void Ifc4x3_rc3::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcCurve >::ptr > v) { if (v) {set_attribute_value(1, (*v)->generalize());} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_rc3::IfcAnnotationFillArea::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[47]); } const IfcParse::entity& Ifc4x3_rc3::IfcAnnotationFillArea::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[47]); } Ifc4x3_rc3::IfcAnnotationFillArea::IfcAnnotationFillArea(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcAnnotationFillArea::IfcAnnotationFillArea(::Ifc4x3_rc3::IfcCurve* v1_OuterBoundary, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcCurve >::ptr > v2_InnerBoundaries) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_OuterBoundary ? v1_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_InnerBoundaries) {set_attribute_value(1, (*v2_InnerBoundaries)->generalize()); }; populate_derived(); } +Ifc4x3_rc3::IfcAnnotationFillArea::IfcAnnotationFillArea(::Ifc4x3_rc3::IfcCurve* v1_OuterBoundary, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcCurve >::ptr > v2_InnerBoundaries) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_OuterBoundary ? v1_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_InnerBoundaries) {set_attribute_value(1, (*v2_InnerBoundaries)->generalize()); }; populate_derived(); } // Function implementations for IfcApplication -::Ifc4x3_rc3::IfcOrganization* Ifc4x3_rc3::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcOrganization>(true); } +::Ifc4x3_rc3::IfcOrganization* Ifc4x3_rc3::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcOrganization>(true); } void Ifc4x3_rc3::IfcApplication::setApplicationDeveloper(::Ifc4x3_rc3::IfcOrganization* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x3_rc3::IfcApplication::Version() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_rc3::IfcApplication::Version() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcApplication::setVersion(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::string Ifc4x3_rc3::IfcApplication::ApplicationFullName() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3_rc3::IfcApplication::ApplicationFullName() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcApplication::setApplicationFullName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::string Ifc4x3_rc3::IfcApplication::ApplicationIdentifier() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x3_rc3::IfcApplication::ApplicationIdentifier() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcApplication::setApplicationIdentifier(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcApplication::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[49]); } const IfcParse::entity& Ifc4x3_rc3::IfcApplication::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[49]); } Ifc4x3_rc3::IfcApplication::IfcApplication(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcApplication::IfcApplication(::Ifc4x3_rc3::IfcOrganization* v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ApplicationDeveloper ? v1_ApplicationDeveloper->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; populate_derived(); } +Ifc4x3_rc3::IfcApplication::IfcApplication(::Ifc4x3_rc3::IfcOrganization* v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ApplicationDeveloper ? v1_ApplicationDeveloper->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; populate_derived(); } // Function implementations for IfcAppliedValue -boost::optional< std::string > Ifc4x3_rc3::IfcAppliedValue::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcAppliedValue::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcAppliedValue::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc3::IfcAppliedValue::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcAppliedValue::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcAppliedValue::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc3::IfcAppliedValueSelect* Ifc4x3_rc3::IfcAppliedValue::AppliedValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcAppliedValueSelect>(true); } +::Ifc4x3_rc3::IfcAppliedValueSelect* Ifc4x3_rc3::IfcAppliedValue::AppliedValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcAppliedValueSelect>(true); } void Ifc4x3_rc3::IfcAppliedValue::setAppliedValue(::Ifc4x3_rc3::IfcAppliedValueSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcMeasureWithUnit* Ifc4x3_rc3::IfcAppliedValue::UnitBasis() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcMeasureWithUnit>(true); } +::Ifc4x3_rc3::IfcMeasureWithUnit* Ifc4x3_rc3::IfcAppliedValue::UnitBasis() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcMeasureWithUnit>(true); } void Ifc4x3_rc3::IfcAppliedValue::setUnitBasis(::Ifc4x3_rc3::IfcMeasureWithUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc3::IfcAppliedValue::ApplicableDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcAppliedValue::ApplicableDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcAppliedValue::setApplicableDate(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc3::IfcAppliedValue::FixedUntilDate() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcAppliedValue::FixedUntilDate() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcAppliedValue::setFixedUntilDate(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc3::IfcAppliedValue::Category() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcAppliedValue::Category() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcAppliedValue::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc3::IfcAppliedValue::Condition() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcAppliedValue::Condition() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcAppliedValue::setCondition(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3_rc3::IfcArithmeticOperatorEnum::Value > Ifc4x3_rc3::IfcAppliedValue::ArithmeticOperator() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcArithmeticOperatorEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcArithmeticOperatorEnum::Value > Ifc4x3_rc3::IfcAppliedValue::ArithmeticOperator() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcArithmeticOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcAppliedValue::setArithmeticOperator(boost::optional< ::Ifc4x3_rc3::IfcArithmeticOperatorEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcArithmeticOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > Ifc4x3_rc3::IfcAppliedValue::Components() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3_rc3::IfcAppliedValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > Ifc4x3_rc3::IfcAppliedValue::Components() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3_rc3::IfcAppliedValue >(); } void Ifc4x3_rc3::IfcAppliedValue::setComponents(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } ::Ifc4x3_rc3::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc3::IfcAppliedValue::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[434], 3)->as(); } @@ -8093,26 +8093,26 @@ void Ifc4x3_rc3::IfcAppliedValue::setComponents(boost::optional< aggregate_of< : const IfcParse::entity& Ifc4x3_rc3::IfcAppliedValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[50]); } const IfcParse::entity& Ifc4x3_rc3::IfcAppliedValue::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[50]); } Ifc4x3_rc3::IfcAppliedValue::IfcAppliedValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3_rc3::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_rc3::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v10_Components) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } +Ifc4x3_rc3::IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3_rc3::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_rc3::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v10_Components) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } // Function implementations for IfcApproval -boost::optional< std::string > Ifc4x3_rc3::IfcApproval::Identifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcApproval::Identifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcApproval::setIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc3::IfcApproval::Name() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcApproval::Name() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcApproval::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc3::IfcApproval::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcApproval::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcApproval::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_rc3::IfcApproval::TimeOfApproval() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcApproval::TimeOfApproval() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcApproval::setTimeOfApproval(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc3::IfcApproval::Status() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcApproval::Status() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcApproval::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc3::IfcApproval::Level() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcApproval::Level() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcApproval::setLevel(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc3::IfcApproval::Qualifier() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcApproval::Qualifier() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcApproval::setQualifier(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcApproval::RequestingApproval() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc3::IfcActorSelect>(true); } +::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcApproval::RequestingApproval() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc3::IfcActorSelect>(true); } void Ifc4x3_rc3::IfcApproval::setRequestingApproval(::Ifc4x3_rc3::IfcActorSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcApproval::GivingApproval() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc3::IfcActorSelect>(true); } +::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcApproval::GivingApproval() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc3::IfcActorSelect>(true); } void Ifc4x3_rc3::IfcApproval::setGivingApproval(::Ifc4x3_rc3::IfcActorSelect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } ::Ifc4x3_rc3::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc3::IfcApproval::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[434], 3)->as(); } @@ -8124,253 +8124,253 @@ void Ifc4x3_rc3::IfcApproval::setGivingApproval(::Ifc4x3_rc3::IfcActorSelect* v) const IfcParse::entity& Ifc4x3_rc3::IfcApproval::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[52]); } const IfcParse::entity& Ifc4x3_rc3::IfcApproval::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[52]); } Ifc4x3_rc3::IfcApproval::IfcApproval(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcApproval::IfcApproval(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_TimeOfApproval, boost::optional< std::string > v5_Status, boost::optional< std::string > v6_Level, boost::optional< std::string > v7_Qualifier, ::Ifc4x3_rc3::IfcActorSelect* v8_RequestingApproval, ::Ifc4x3_rc3::IfcActorSelect* v9_GivingApproval) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(9))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, v8_RequestingApproval ? v8_RequestingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_GivingApproval ? v9_GivingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcApproval::IfcApproval(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_TimeOfApproval, boost::optional< std::string > v5_Status, boost::optional< std::string > v6_Level, boost::optional< std::string > v7_Qualifier, ::Ifc4x3_rc3::IfcActorSelect* v8_RequestingApproval, ::Ifc4x3_rc3::IfcActorSelect* v9_GivingApproval) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, v8_RequestingApproval ? v8_RequestingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_GivingApproval ? v9_GivingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcApprovalRelationship -::Ifc4x3_rc3::IfcApproval* Ifc4x3_rc3::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcApproval>(true); } +::Ifc4x3_rc3::IfcApproval* Ifc4x3_rc3::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcApproval>(true); } void Ifc4x3_rc3::IfcApprovalRelationship::setRelatingApproval(::Ifc4x3_rc3::IfcApproval* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_rc3::IfcApproval >::ptr Ifc4x3_rc3::IfcApprovalRelationship::RelatedApprovals() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc3::IfcApproval >(); } +aggregate_of< ::Ifc4x3_rc3::IfcApproval >::ptr Ifc4x3_rc3::IfcApprovalRelationship::RelatedApprovals() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc3::IfcApproval >(); } void Ifc4x3_rc3::IfcApprovalRelationship::setRelatedApprovals(aggregate_of< ::Ifc4x3_rc3::IfcApproval >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcApprovalRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[53]); } const IfcParse::entity& Ifc4x3_rc3::IfcApprovalRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[53]); } Ifc4x3_rc3::IfcApprovalRelationship::IfcApprovalRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_rc3::IfcApprovalRelationship::IfcApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcApproval* v3_RelatingApproval, aggregate_of< ::Ifc4x3_rc3::IfcApproval >::ptr v4_RelatedApprovals) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingApproval ? v3_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedApprovals)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcApprovalRelationship::IfcApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcApproval* v3_RelatingApproval, aggregate_of< ::Ifc4x3_rc3::IfcApproval >::ptr v4_RelatedApprovals) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingApproval ? v3_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedApprovals)->generalize());; populate_derived(); } // Function implementations for IfcArbitraryClosedProfileDef -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcCurve>(true); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcArbitraryClosedProfileDef::setOuterCurve(::Ifc4x3_rc3::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcArbitraryClosedProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[54]); } const IfcParse::entity& Ifc4x3_rc3::IfcArbitraryClosedProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[54]); } Ifc4x3_rc3::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_rc3::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcCurve* v3_OuterCurve) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcCurve* v3_OuterCurve) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcArbitraryOpenProfileDef -::Ifc4x3_rc3::IfcBoundedCurve* Ifc4x3_rc3::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcBoundedCurve>(true); } +::Ifc4x3_rc3::IfcBoundedCurve* Ifc4x3_rc3::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcBoundedCurve>(true); } void Ifc4x3_rc3::IfcArbitraryOpenProfileDef::setCurve(::Ifc4x3_rc3::IfcBoundedCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcArbitraryOpenProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[55]); } const IfcParse::entity& Ifc4x3_rc3::IfcArbitraryOpenProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[55]); } Ifc4x3_rc3::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_rc3::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcBoundedCurve* v3_Curve) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcBoundedCurve* v3_Curve) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcArbitraryProfileDefWithVoids -aggregate_of< ::Ifc4x3_rc3::IfcCurve >::ptr Ifc4x3_rc3::IfcArbitraryProfileDefWithVoids::InnerCurves() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc3::IfcCurve >(); } +aggregate_of< ::Ifc4x3_rc3::IfcCurve >::ptr Ifc4x3_rc3::IfcArbitraryProfileDefWithVoids::InnerCurves() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc3::IfcCurve >(); } void Ifc4x3_rc3::IfcArbitraryProfileDefWithVoids::setInnerCurves(aggregate_of< ::Ifc4x3_rc3::IfcCurve >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcArbitraryProfileDefWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[56]); } const IfcParse::entity& Ifc4x3_rc3::IfcArbitraryProfileDefWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[56]); } Ifc4x3_rc3::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(IfcEntityInstanceData&& e) : IfcArbitraryClosedProfileDef(std::move(e)) { } -Ifc4x3_rc3::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcCurve* v3_OuterCurve, aggregate_of< ::Ifc4x3_rc3::IfcCurve >::ptr v4_InnerCurves) : IfcArbitraryClosedProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_InnerCurves)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcCurve* v3_OuterCurve, aggregate_of< ::Ifc4x3_rc3::IfcCurve >::ptr v4_InnerCurves) : IfcArbitraryClosedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_InnerCurves)->generalize());; populate_derived(); } // Function implementations for IfcAsset -boost::optional< std::string > Ifc4x3_rc3::IfcAsset::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcAsset::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcAsset::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc3::IfcCostValue* Ifc4x3_rc3::IfcAsset::OriginalValue() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcCostValue>(true); } +::Ifc4x3_rc3::IfcCostValue* Ifc4x3_rc3::IfcAsset::OriginalValue() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcCostValue>(true); } void Ifc4x3_rc3::IfcAsset::setOriginalValue(::Ifc4x3_rc3::IfcCostValue* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc3::IfcCostValue* Ifc4x3_rc3::IfcAsset::CurrentValue() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc3::IfcCostValue>(true); } +::Ifc4x3_rc3::IfcCostValue* Ifc4x3_rc3::IfcAsset::CurrentValue() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc3::IfcCostValue>(true); } void Ifc4x3_rc3::IfcAsset::setCurrentValue(::Ifc4x3_rc3::IfcCostValue* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc3::IfcCostValue* Ifc4x3_rc3::IfcAsset::TotalReplacementCost() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc3::IfcCostValue>(true); } +::Ifc4x3_rc3::IfcCostValue* Ifc4x3_rc3::IfcAsset::TotalReplacementCost() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc3::IfcCostValue>(true); } void Ifc4x3_rc3::IfcAsset::setTotalReplacementCost(::Ifc4x3_rc3::IfcCostValue* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcAsset::Owner() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc3::IfcActorSelect>(true); } +::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcAsset::Owner() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc3::IfcActorSelect>(true); } void Ifc4x3_rc3::IfcAsset::setOwner(::Ifc4x3_rc3::IfcActorSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcAsset::User() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_rc3::IfcActorSelect>(true); } +::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcAsset::User() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_rc3::IfcActorSelect>(true); } void Ifc4x3_rc3::IfcAsset::setUser(::Ifc4x3_rc3::IfcActorSelect* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } -::Ifc4x3_rc3::IfcPerson* Ifc4x3_rc3::IfcAsset::ResponsiblePerson() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc4x3_rc3::IfcPerson>(true); } +::Ifc4x3_rc3::IfcPerson* Ifc4x3_rc3::IfcAsset::ResponsiblePerson() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc4x3_rc3::IfcPerson>(true); } void Ifc4x3_rc3::IfcAsset::setResponsiblePerson(::Ifc4x3_rc3::IfcPerson* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } -boost::optional< std::string > Ifc4x3_rc3::IfcAsset::IncorporationDate() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcAsset::IncorporationDate() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc3::IfcAsset::setIncorporationDate(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4x3_rc3::IfcCostValue* Ifc4x3_rc3::IfcAsset::DepreciatedValue() const { if(data_.get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(13)))->as<::Ifc4x3_rc3::IfcCostValue>(true); } +::Ifc4x3_rc3::IfcCostValue* Ifc4x3_rc3::IfcAsset::DepreciatedValue() const { if(get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(13)))->as<::Ifc4x3_rc3::IfcCostValue>(true); } void Ifc4x3_rc3::IfcAsset::setDepreciatedValue(::Ifc4x3_rc3::IfcCostValue* v) { set_attribute_value(13, v->as());if constexpr (false)unset_attribute_value(13); } const IfcParse::entity& Ifc4x3_rc3::IfcAsset::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[62]); } const IfcParse::entity& Ifc4x3_rc3::IfcAsset::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[62]); } Ifc4x3_rc3::IfcAsset::IfcAsset(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x3_rc3::IfcAsset::IfcAsset(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, ::Ifc4x3_rc3::IfcCostValue* v7_OriginalValue, ::Ifc4x3_rc3::IfcCostValue* v8_CurrentValue, ::Ifc4x3_rc3::IfcCostValue* v9_TotalReplacementCost, ::Ifc4x3_rc3::IfcActorSelect* v10_Owner, ::Ifc4x3_rc3::IfcActorSelect* v11_User, ::Ifc4x3_rc3::IfcPerson* v12_ResponsiblePerson, boost::optional< std::string > v13_IncorporationDate, ::Ifc4x3_rc3::IfcCostValue* v14_DepreciatedValue) : IfcGroup(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, v7_OriginalValue ? v7_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_CurrentValue ? v8_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_TotalReplacementCost ? v9_TotalReplacementCost->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_Owner ? v10_Owner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_User ? v11_User->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, v12_ResponsiblePerson ? v12_ResponsiblePerson->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, v14_DepreciatedValue ? v14_DepreciatedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcAsset::IfcAsset(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, ::Ifc4x3_rc3::IfcCostValue* v7_OriginalValue, ::Ifc4x3_rc3::IfcCostValue* v8_CurrentValue, ::Ifc4x3_rc3::IfcCostValue* v9_TotalReplacementCost, ::Ifc4x3_rc3::IfcActorSelect* v10_Owner, ::Ifc4x3_rc3::IfcActorSelect* v11_User, ::Ifc4x3_rc3::IfcPerson* v12_ResponsiblePerson, boost::optional< std::string > v13_IncorporationDate, ::Ifc4x3_rc3::IfcCostValue* v14_DepreciatedValue) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, v7_OriginalValue ? v7_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_CurrentValue ? v8_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_TotalReplacementCost ? v9_TotalReplacementCost->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_Owner ? v10_Owner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_User ? v11_User->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, v12_ResponsiblePerson ? v12_ResponsiblePerson->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, v14_DepreciatedValue ? v14_DepreciatedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAsymmetricIShapeProfileDef -double Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::setBottomFlangeWidth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::OverallDepth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::OverallDepth() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::setOverallDepth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::setBottomFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::setBottomFlangeFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -double Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { double v = data_.get_attribute_value(8); return v; } +double Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { double v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::setTopFlangeWidth(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -boost::optional< double > Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::setBottomFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::setBottomFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::setTopFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } const IfcParse::entity& Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[63]); } const IfcParse::entity& Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[63]); } Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::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(storage_t(15))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); }; populate_derived(); } +Ifc4x3_rc3::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::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(in_memory_attribute_storage(15))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); }; populate_derived(); } // Function implementations for IfcAudioVisualAppliance -boost::optional< ::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x3_rc3::IfcAudioVisualAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x3_rc3::IfcAudioVisualAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcAudioVisualAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcAudioVisualAppliance::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[64]); } const IfcParse::entity& Ifc4x3_rc3::IfcAudioVisualAppliance::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[64]); } Ifc4x3_rc3::IfcAudioVisualAppliance::IfcAudioVisualAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc3::IfcAudioVisualAppliance::IfcAudioVisualAppliance(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcAudioVisualAppliance::IfcAudioVisualAppliance(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAudioVisualApplianceType -::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3_rc3::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3_rc3::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcAudioVisualApplianceType::setPredefinedType(::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcAudioVisualApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[65]); } const IfcParse::entity& Ifc4x3_rc3::IfcAudioVisualApplianceType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[65]); } Ifc4x3_rc3::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc3::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAxis1Placement -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcAxis1Placement::Axis() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcDirection>(true); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcAxis1Placement::Axis() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcAxis1Placement::setAxis(::Ifc4x3_rc3::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcAxis1Placement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[67]); } const IfcParse::entity& Ifc4x3_rc3::IfcAxis1Placement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[67]); } Ifc4x3_rc3::IfcAxis1Placement::IfcAxis1Placement(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x3_rc3::IfcAxis1Placement::IfcAxis1Placement(::Ifc4x3_rc3::IfcPoint* v1_Location, ::Ifc4x3_rc3::IfcDirection* v2_Axis) : IfcPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcAxis1Placement::IfcAxis1Placement(::Ifc4x3_rc3::IfcPoint* v1_Location, ::Ifc4x3_rc3::IfcDirection* v2_Axis) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAxis2Placement2D -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcAxis2Placement2D::RefDirection() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcDirection>(true); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcAxis2Placement2D::RefDirection() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcAxis2Placement2D::setRefDirection(::Ifc4x3_rc3::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcAxis2Placement2D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[69]); } const IfcParse::entity& Ifc4x3_rc3::IfcAxis2Placement2D::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[69]); } Ifc4x3_rc3::IfcAxis2Placement2D::IfcAxis2Placement2D(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x3_rc3::IfcAxis2Placement2D::IfcAxis2Placement2D(::Ifc4x3_rc3::IfcPoint* v1_Location, ::Ifc4x3_rc3::IfcDirection* v2_RefDirection) : IfcPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RefDirection ? v2_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcAxis2Placement2D::IfcAxis2Placement2D(::Ifc4x3_rc3::IfcPoint* v1_Location, ::Ifc4x3_rc3::IfcDirection* v2_RefDirection) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RefDirection ? v2_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAxis2Placement3D -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcAxis2Placement3D::Axis() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcDirection>(true); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcAxis2Placement3D::Axis() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcAxis2Placement3D::setAxis(::Ifc4x3_rc3::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcAxis2Placement3D::RefDirection() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcDirection>(true); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcAxis2Placement3D::RefDirection() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcAxis2Placement3D::setRefDirection(::Ifc4x3_rc3::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcAxis2Placement3D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[70]); } const IfcParse::entity& Ifc4x3_rc3::IfcAxis2Placement3D::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[70]); } Ifc4x3_rc3::IfcAxis2Placement3D::IfcAxis2Placement3D(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x3_rc3::IfcAxis2Placement3D::IfcAxis2Placement3D(::Ifc4x3_rc3::IfcPoint* v1_Location, ::Ifc4x3_rc3::IfcDirection* v2_Axis, ::Ifc4x3_rc3::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcAxis2Placement3D::IfcAxis2Placement3D(::Ifc4x3_rc3::IfcPoint* v1_Location, ::Ifc4x3_rc3::IfcDirection* v2_Axis, ::Ifc4x3_rc3::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAxis2PlacementLinear -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcAxis2PlacementLinear::Axis() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcDirection>(true); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcAxis2PlacementLinear::Axis() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcAxis2PlacementLinear::setAxis(::Ifc4x3_rc3::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcAxis2PlacementLinear::RefDirection() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcDirection>(true); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcAxis2PlacementLinear::RefDirection() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcAxis2PlacementLinear::setRefDirection(::Ifc4x3_rc3::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcAxis2PlacementLinear::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[71]); } const IfcParse::entity& Ifc4x3_rc3::IfcAxis2PlacementLinear::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[71]); } Ifc4x3_rc3::IfcAxis2PlacementLinear::IfcAxis2PlacementLinear(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x3_rc3::IfcAxis2PlacementLinear::IfcAxis2PlacementLinear(::Ifc4x3_rc3::IfcPoint* v1_Location, ::Ifc4x3_rc3::IfcDirection* v2_Axis, ::Ifc4x3_rc3::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcAxis2PlacementLinear::IfcAxis2PlacementLinear(::Ifc4x3_rc3::IfcPoint* v1_Location, ::Ifc4x3_rc3::IfcDirection* v2_Axis, ::Ifc4x3_rc3::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBSplineCurve -int Ifc4x3_rc3::IfcBSplineCurve::Degree() const { int v = data_.get_attribute_value(0); return v; } +int Ifc4x3_rc3::IfcBSplineCurve::Degree() const { int v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcBSplineCurve::setDegree(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc3::IfcCartesianPoint >::ptr Ifc4x3_rc3::IfcBSplineCurve::ControlPointsList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcCartesianPoint >(); } +aggregate_of< ::Ifc4x3_rc3::IfcCartesianPoint >::ptr Ifc4x3_rc3::IfcBSplineCurve::ControlPointsList() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcCartesianPoint >(); } void Ifc4x3_rc3::IfcBSplineCurve::setControlPointsList(aggregate_of< ::Ifc4x3_rc3::IfcCartesianPoint >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcBSplineCurveForm::Value Ifc4x3_rc3::IfcBSplineCurve::CurveForm() const { return ::Ifc4x3_rc3::IfcBSplineCurveForm::FromString(data_.get_attribute_value(2)); } +::Ifc4x3_rc3::IfcBSplineCurveForm::Value Ifc4x3_rc3::IfcBSplineCurve::CurveForm() const { return ::Ifc4x3_rc3::IfcBSplineCurveForm::FromString(get_attribute_value(2)); } void Ifc4x3_rc3::IfcBSplineCurve::setCurveForm(::Ifc4x3_rc3::IfcBSplineCurveForm::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3_rc3::IfcBSplineCurveForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -boost::logic::tribool Ifc4x3_rc3::IfcBSplineCurve::ClosedCurve() const { boost::logic::tribool v = data_.get_attribute_value(3); return v; } +boost::logic::tribool Ifc4x3_rc3::IfcBSplineCurve::ClosedCurve() const { boost::logic::tribool v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcBSplineCurve::setClosedCurve(boost::logic::tribool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::logic::tribool Ifc4x3_rc3::IfcBSplineCurve::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(4); return v; } +boost::logic::tribool Ifc4x3_rc3::IfcBSplineCurve::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcBSplineCurve::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc3::IfcBSplineCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[108]); } const IfcParse::entity& Ifc4x3_rc3::IfcBSplineCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[108]); } Ifc4x3_rc3::IfcBSplineCurve::IfcBSplineCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_rc3::IfcBSplineCurve::IfcBSplineCurve(int v1_Degree, aggregate_of< ::Ifc4x3_rc3::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_rc3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; populate_derived(); } +Ifc4x3_rc3::IfcBSplineCurve::IfcBSplineCurve(int v1_Degree, aggregate_of< ::Ifc4x3_rc3::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_rc3::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; populate_derived(); } // Function implementations for IfcBSplineCurveWithKnots -std::vector< int > /*[2:?]*/ Ifc4x3_rc3::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int > /*[2:?]*/ v = data_.get_attribute_value(5); return v; } +std::vector< int > /*[2:?]*/ Ifc4x3_rc3::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcBSplineCurveWithKnots::setKnotMultiplicities(std::vector< int > /*[2:?]*/ v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -std::vector< double > /*[2:?]*/ Ifc4x3_rc3::IfcBSplineCurveWithKnots::Knots() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(6); return v; } +std::vector< double > /*[2:?]*/ Ifc4x3_rc3::IfcBSplineCurveWithKnots::Knots() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcBSplineCurveWithKnots::setKnots(std::vector< double > /*[2:?]*/ v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc3::IfcKnotType::Value Ifc4x3_rc3::IfcBSplineCurveWithKnots::KnotSpec() const { return ::Ifc4x3_rc3::IfcKnotType::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc3::IfcKnotType::Value Ifc4x3_rc3::IfcBSplineCurveWithKnots::KnotSpec() const { return ::Ifc4x3_rc3::IfcKnotType::FromString(get_attribute_value(7)); } void Ifc4x3_rc3::IfcBSplineCurveWithKnots::setKnotSpec(::Ifc4x3_rc3::IfcKnotType::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc3::IfcKnotType::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc3::IfcBSplineCurveWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[110]); } const IfcParse::entity& Ifc4x3_rc3::IfcBSplineCurveWithKnots::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[110]); } Ifc4x3_rc3::IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(IfcEntityInstanceData&& e) : IfcBSplineCurve(std::move(e)) { } -Ifc4x3_rc3::IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x3_rc3::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_rc3::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_rc3::IfcKnotType::Value v8_KnotSpec) : IfcBSplineCurve(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcKnotType::Class(),(size_t)v8_KnotSpec)));; populate_derived(); } +Ifc4x3_rc3::IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x3_rc3::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_rc3::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_rc3::IfcKnotType::Value v8_KnotSpec) : IfcBSplineCurve(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcKnotType::Class(),(size_t)v8_KnotSpec)));; populate_derived(); } // Function implementations for IfcBSplineSurface -int Ifc4x3_rc3::IfcBSplineSurface::UDegree() const { int v = data_.get_attribute_value(0); return v; } +int Ifc4x3_rc3::IfcBSplineSurface::UDegree() const { int v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcBSplineSurface::setUDegree(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -int Ifc4x3_rc3::IfcBSplineSurface::VDegree() const { int v = data_.get_attribute_value(1); return v; } +int Ifc4x3_rc3::IfcBSplineSurface::VDegree() const { int v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcBSplineSurface::setVDegree(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -aggregate_of_aggregate_of< ::Ifc4x3_rc3::IfcCartesianPoint >::ptr Ifc4x3_rc3::IfcBSplineSurface::ControlPointsList() const { aggregate_of_aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcCartesianPoint >(); } +aggregate_of_aggregate_of< ::Ifc4x3_rc3::IfcCartesianPoint >::ptr Ifc4x3_rc3::IfcBSplineSurface::ControlPointsList() const { aggregate_of_aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcCartesianPoint >(); } void Ifc4x3_rc3::IfcBSplineSurface::setControlPointsList(aggregate_of_aggregate_of< ::Ifc4x3_rc3::IfcCartesianPoint >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcBSplineSurfaceForm::Value Ifc4x3_rc3::IfcBSplineSurface::SurfaceForm() const { return ::Ifc4x3_rc3::IfcBSplineSurfaceForm::FromString(data_.get_attribute_value(3)); } +::Ifc4x3_rc3::IfcBSplineSurfaceForm::Value Ifc4x3_rc3::IfcBSplineSurface::SurfaceForm() const { return ::Ifc4x3_rc3::IfcBSplineSurfaceForm::FromString(get_attribute_value(3)); } void Ifc4x3_rc3::IfcBSplineSurface::setSurfaceForm(::Ifc4x3_rc3::IfcBSplineSurfaceForm::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc4x3_rc3::IfcBSplineSurfaceForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } -boost::logic::tribool Ifc4x3_rc3::IfcBSplineSurface::UClosed() const { boost::logic::tribool v = data_.get_attribute_value(4); return v; } +boost::logic::tribool Ifc4x3_rc3::IfcBSplineSurface::UClosed() const { boost::logic::tribool v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcBSplineSurface::setUClosed(boost::logic::tribool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::logic::tribool Ifc4x3_rc3::IfcBSplineSurface::VClosed() const { boost::logic::tribool v = data_.get_attribute_value(5); return v; } +boost::logic::tribool Ifc4x3_rc3::IfcBSplineSurface::VClosed() const { boost::logic::tribool v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcBSplineSurface::setVClosed(boost::logic::tribool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::logic::tribool Ifc4x3_rc3::IfcBSplineSurface::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(6); return v; } +boost::logic::tribool Ifc4x3_rc3::IfcBSplineSurface::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcBSplineSurface::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc3::IfcBSplineSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[111]); } const IfcParse::entity& Ifc4x3_rc3::IfcBSplineSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[111]); } Ifc4x3_rc3::IfcBSplineSurface::IfcBSplineSurface(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x3_rc3::IfcBSplineSurface::IfcBSplineSurface(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_rc3::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_rc3::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc3::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));; populate_derived(); } +Ifc4x3_rc3::IfcBSplineSurface::IfcBSplineSurface(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_rc3::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_rc3::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc3::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));; populate_derived(); } // Function implementations for IfcBSplineSurfaceWithKnots -std::vector< int > /*[2:?]*/ Ifc4x3_rc3::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int > /*[2:?]*/ v = data_.get_attribute_value(7); return v; } +std::vector< int > /*[2:?]*/ Ifc4x3_rc3::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcBSplineSurfaceWithKnots::setUMultiplicities(std::vector< int > /*[2:?]*/ v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector< int > /*[2:?]*/ Ifc4x3_rc3::IfcBSplineSurfaceWithKnots::VMultiplicities() const { std::vector< int > /*[2:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< int > /*[2:?]*/ Ifc4x3_rc3::IfcBSplineSurfaceWithKnots::VMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcBSplineSurfaceWithKnots::setVMultiplicities(std::vector< int > /*[2:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::vector< double > /*[2:?]*/ Ifc4x3_rc3::IfcBSplineSurfaceWithKnots::UKnots() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(9); return v; } +std::vector< double > /*[2:?]*/ Ifc4x3_rc3::IfcBSplineSurfaceWithKnots::UKnots() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(9); return v; } void Ifc4x3_rc3::IfcBSplineSurfaceWithKnots::setUKnots(std::vector< double > /*[2:?]*/ v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -std::vector< double > /*[2:?]*/ Ifc4x3_rc3::IfcBSplineSurfaceWithKnots::VKnots() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(10); return v; } +std::vector< double > /*[2:?]*/ Ifc4x3_rc3::IfcBSplineSurfaceWithKnots::VKnots() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcBSplineSurfaceWithKnots::setVKnots(std::vector< double > /*[2:?]*/ v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -::Ifc4x3_rc3::IfcKnotType::Value Ifc4x3_rc3::IfcBSplineSurfaceWithKnots::KnotSpec() const { return ::Ifc4x3_rc3::IfcKnotType::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc3::IfcKnotType::Value Ifc4x3_rc3::IfcBSplineSurfaceWithKnots::KnotSpec() const { return ::Ifc4x3_rc3::IfcKnotType::FromString(get_attribute_value(11)); } void Ifc4x3_rc3::IfcBSplineSurfaceWithKnots::setKnotSpec(::Ifc4x3_rc3::IfcKnotType::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc3::IfcKnotType::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc3::IfcBSplineSurfaceWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[113]); } const IfcParse::entity& Ifc4x3_rc3::IfcBSplineSurfaceWithKnots::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[113]); } Ifc4x3_rc3::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(IfcEntityInstanceData&& e) : IfcBSplineSurface(std::move(e)) { } -Ifc4x3_rc3::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_rc3::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_rc3::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_rc3::IfcKnotType::Value v12_KnotSpec) : IfcBSplineSurface(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc3::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc3::IfcKnotType::Class(),(size_t)v12_KnotSpec)));; populate_derived(); } +Ifc4x3_rc3::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_rc3::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_rc3::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_rc3::IfcKnotType::Value v12_KnotSpec) : IfcBSplineSurface(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc3::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc3::IfcKnotType::Class(),(size_t)v12_KnotSpec)));; populate_derived(); } // Function implementations for IfcBeam -boost::optional< ::Ifc4x3_rc3::IfcBeamTypeEnum::Value > Ifc4x3_rc3::IfcBeam::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcBeamTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcBeamTypeEnum::Value > Ifc4x3_rc3::IfcBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcBeamTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcBeam::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcBeamTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcBeamTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcBeam::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[72]); } const IfcParse::entity& Ifc4x3_rc3::IfcBeam::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[72]); } Ifc4x3_rc3::IfcBeam::IfcBeam(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc3::IfcBeam::IfcBeam(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcBeamTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcBeam::IfcBeam(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcBeamTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBeamStandardCase @@ -8378,83 +8378,83 @@ Ifc4x3_rc3::IfcBeam::IfcBeam(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHist const IfcParse::entity& Ifc4x3_rc3::IfcBeamStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[73]); } const IfcParse::entity& Ifc4x3_rc3::IfcBeamStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[73]); } Ifc4x3_rc3::IfcBeamStandardCase::IfcBeamStandardCase(IfcEntityInstanceData&& e) : IfcBeam(std::move(e)) { } -Ifc4x3_rc3::IfcBeamStandardCase::IfcBeamStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcBeamTypeEnum::Value > v9_PredefinedType) : IfcBeam(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcBeamStandardCase::IfcBeamStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcBeamTypeEnum::Value > v9_PredefinedType) : IfcBeam(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBeamType -::Ifc4x3_rc3::IfcBeamTypeEnum::Value Ifc4x3_rc3::IfcBeamType::PredefinedType() const { return ::Ifc4x3_rc3::IfcBeamTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcBeamTypeEnum::Value Ifc4x3_rc3::IfcBeamType::PredefinedType() const { return ::Ifc4x3_rc3::IfcBeamTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcBeamType::setPredefinedType(::Ifc4x3_rc3::IfcBeamTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcBeamTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcBeamType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[74]); } const IfcParse::entity& Ifc4x3_rc3::IfcBeamType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[74]); } Ifc4x3_rc3::IfcBeamType::IfcBeamType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc3::IfcBeamType::IfcBeamType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBeamTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcBeamType::IfcBeamType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBeamTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBearing -boost::optional< ::Ifc4x3_rc3::IfcBearingTypeEnum::Value > Ifc4x3_rc3::IfcBearing::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcBearingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcBearingTypeEnum::Value > Ifc4x3_rc3::IfcBearing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcBearingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcBearing::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcBearingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcBearingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcBearing::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[76]); } const IfcParse::entity& Ifc4x3_rc3::IfcBearing::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[76]); } Ifc4x3_rc3::IfcBearing::IfcBearing(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc3::IfcBearing::IfcBearing(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcBearingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcBearing::IfcBearing(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcBearingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBearingType -::Ifc4x3_rc3::IfcBearingTypeEnum::Value Ifc4x3_rc3::IfcBearingType::PredefinedType() const { return ::Ifc4x3_rc3::IfcBearingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcBearingTypeEnum::Value Ifc4x3_rc3::IfcBearingType::PredefinedType() const { return ::Ifc4x3_rc3::IfcBearingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcBearingType::setPredefinedType(::Ifc4x3_rc3::IfcBearingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcBearingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcBearingType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[77]); } const IfcParse::entity& Ifc4x3_rc3::IfcBearingType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[77]); } Ifc4x3_rc3::IfcBearingType::IfcBearingType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc3::IfcBearingType::IfcBearingType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBearingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcBearingType::IfcBearingType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBearingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBlobTexture -std::string Ifc4x3_rc3::IfcBlobTexture::RasterFormat() const { std::string v = data_.get_attribute_value(5); return v; } +std::string Ifc4x3_rc3::IfcBlobTexture::RasterFormat() const { std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcBlobTexture::setRasterFormat(std::string v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::dynamic_bitset<> Ifc4x3_rc3::IfcBlobTexture::RasterCode() const { boost::dynamic_bitset<> v = data_.get_attribute_value(6); return v; } +boost::dynamic_bitset<> Ifc4x3_rc3::IfcBlobTexture::RasterCode() const { boost::dynamic_bitset<> v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcBlobTexture::setRasterCode(boost::dynamic_bitset<> v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc3::IfcBlobTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[83]); } const IfcParse::entity& Ifc4x3_rc3::IfcBlobTexture::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[83]); } Ifc4x3_rc3::IfcBlobTexture::IfcBlobTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -Ifc4x3_rc3::IfcBlobTexture::IfcBlobTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) : IfcSurfaceTexture(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode));; populate_derived(); } +Ifc4x3_rc3::IfcBlobTexture::IfcBlobTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) : IfcSurfaceTexture(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode));; populate_derived(); } // Function implementations for IfcBlock -double Ifc4x3_rc3::IfcBlock::XLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc3::IfcBlock::XLength() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcBlock::setXLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc3::IfcBlock::YLength() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc3::IfcBlock::YLength() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcBlock::setYLength(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc3::IfcBlock::ZLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc3::IfcBlock::ZLength() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcBlock::setZLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcBlock::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[84]); } const IfcParse::entity& Ifc4x3_rc3::IfcBlock::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[84]); } Ifc4x3_rc3::IfcBlock::IfcBlock(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3_rc3::IfcBlock::IfcBlock(::Ifc4x3_rc3::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; populate_derived(); } +Ifc4x3_rc3::IfcBlock::IfcBlock(::Ifc4x3_rc3::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; populate_derived(); } // Function implementations for IfcBoiler -boost::optional< ::Ifc4x3_rc3::IfcBoilerTypeEnum::Value > Ifc4x3_rc3::IfcBoiler::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcBoilerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcBoilerTypeEnum::Value > Ifc4x3_rc3::IfcBoiler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcBoilerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcBoiler::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcBoilerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcBoilerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcBoiler::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[85]); } const IfcParse::entity& Ifc4x3_rc3::IfcBoiler::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[85]); } Ifc4x3_rc3::IfcBoiler::IfcBoiler(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc3::IfcBoiler::IfcBoiler(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcBoilerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcBoiler::IfcBoiler(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcBoilerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBoilerType -::Ifc4x3_rc3::IfcBoilerTypeEnum::Value Ifc4x3_rc3::IfcBoilerType::PredefinedType() const { return ::Ifc4x3_rc3::IfcBoilerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcBoilerTypeEnum::Value Ifc4x3_rc3::IfcBoilerType::PredefinedType() const { return ::Ifc4x3_rc3::IfcBoilerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcBoilerType::setPredefinedType(::Ifc4x3_rc3::IfcBoilerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcBoilerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcBoilerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[86]); } const IfcParse::entity& Ifc4x3_rc3::IfcBoilerType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[86]); } Ifc4x3_rc3::IfcBoilerType::IfcBoilerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc3::IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBoilerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBoilerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBooleanClippingResult @@ -8462,21 +8462,21 @@ Ifc4x3_rc3::IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, ::Ifc4x3_rc3:: const IfcParse::entity& Ifc4x3_rc3::IfcBooleanClippingResult::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[89]); } const IfcParse::entity& Ifc4x3_rc3::IfcBooleanClippingResult::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[89]); } Ifc4x3_rc3::IfcBooleanClippingResult::IfcBooleanClippingResult(IfcEntityInstanceData&& e) : IfcBooleanResult(std::move(e)) { } -Ifc4x3_rc3::IfcBooleanClippingResult::IfcBooleanClippingResult(::Ifc4x3_rc3::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc3::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x3_rc3::IfcBooleanOperand* v3_SecondOperand) : IfcBooleanResult(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcBooleanClippingResult::IfcBooleanClippingResult(::Ifc4x3_rc3::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc3::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x3_rc3::IfcBooleanOperand* v3_SecondOperand) : IfcBooleanResult(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBooleanResult -::Ifc4x3_rc3::IfcBooleanOperator::Value Ifc4x3_rc3::IfcBooleanResult::Operator() const { return ::Ifc4x3_rc3::IfcBooleanOperator::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_rc3::IfcBooleanOperator::Value Ifc4x3_rc3::IfcBooleanResult::Operator() const { return ::Ifc4x3_rc3::IfcBooleanOperator::FromString(get_attribute_value(0)); } void Ifc4x3_rc3::IfcBooleanResult::setOperator(::Ifc4x3_rc3::IfcBooleanOperator::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_rc3::IfcBooleanOperator::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcBooleanOperand* Ifc4x3_rc3::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcBooleanOperand>(true); } +::Ifc4x3_rc3::IfcBooleanOperand* Ifc4x3_rc3::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcBooleanOperand>(true); } void Ifc4x3_rc3::IfcBooleanResult::setFirstOperand(::Ifc4x3_rc3::IfcBooleanOperand* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcBooleanOperand* Ifc4x3_rc3::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcBooleanOperand>(true); } +::Ifc4x3_rc3::IfcBooleanOperand* Ifc4x3_rc3::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcBooleanOperand>(true); } void Ifc4x3_rc3::IfcBooleanResult::setSecondOperand(::Ifc4x3_rc3::IfcBooleanOperand* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcBooleanResult::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[92]); } const IfcParse::entity& Ifc4x3_rc3::IfcBooleanResult::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[92]); } Ifc4x3_rc3::IfcBooleanResult::IfcBooleanResult(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcBooleanResult::IfcBooleanResult(::Ifc4x3_rc3::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc3::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x3_rc3::IfcBooleanOperand* v3_SecondOperand) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcBooleanResult::IfcBooleanResult(::Ifc4x3_rc3::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc3::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x3_rc3::IfcBooleanOperand* v3_SecondOperand) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBorehole @@ -8484,17 +8484,17 @@ Ifc4x3_rc3::IfcBooleanResult::IfcBooleanResult(::Ifc4x3_rc3::IfcBooleanOperator: const IfcParse::entity& Ifc4x3_rc3::IfcBorehole::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[93]); } const IfcParse::entity& Ifc4x3_rc3::IfcBorehole::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[93]); } Ifc4x3_rc3::IfcBorehole::IfcBorehole(IfcEntityInstanceData&& e) : IfcGeotechnicalAssembly(std::move(e)) { } -Ifc4x3_rc3::IfcBorehole::IfcBorehole(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc3::IfcBorehole::IfcBorehole(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcBoundaryCondition -boost::optional< std::string > Ifc4x3_rc3::IfcBoundaryCondition::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcBoundaryCondition::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcBoundaryCondition::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3_rc3::IfcBoundaryCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[94]); } const IfcParse::entity& Ifc4x3_rc3::IfcBoundaryCondition::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[94]); } Ifc4x3_rc3::IfcBoundaryCondition::IfcBoundaryCondition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_rc3::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcBoundaryCurve @@ -8502,71 +8502,71 @@ Ifc4x3_rc3::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::str const IfcParse::entity& Ifc4x3_rc3::IfcBoundaryCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[95]); } const IfcParse::entity& Ifc4x3_rc3::IfcBoundaryCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[95]); } Ifc4x3_rc3::IfcBoundaryCurve::IfcBoundaryCurve(IfcEntityInstanceData&& e) : IfcCompositeCurveOnSurface(std::move(e)) { } -Ifc4x3_rc3::IfcBoundaryCurve::IfcBoundaryCurve(aggregate_of< ::Ifc4x3_rc3::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurveOnSurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x3_rc3::IfcBoundaryCurve::IfcBoundaryCurve(aggregate_of< ::Ifc4x3_rc3::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurveOnSurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcBoundaryEdgeCondition -::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } +::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3_rc3::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthX(::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } +::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3_rc3::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthY(::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } +::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3_rc3::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthZ(::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect>(true); } +::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3_rc3::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect>(true); } +::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3_rc3::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect>(true); } +::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3_rc3::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc3::IfcBoundaryEdgeCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[96]); } const IfcParse::entity& Ifc4x3_rc3::IfcBoundaryEdgeCondition::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[96]); } Ifc4x3_rc3::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -Ifc4x3_rc3::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect* v2_TranslationalStiffnessByLengthX, ::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect* v3_TranslationalStiffnessByLengthY, ::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect* v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect* v5_RotationalStiffnessByLengthX, ::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect* v6_RotationalStiffnessByLengthY, ::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect* v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByLengthX ? v2_TranslationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByLengthY ? v3_TranslationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByLengthZ ? v4_TranslationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessByLengthX ? v5_RotationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessByLengthY ? v6_RotationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessByLengthZ ? v7_RotationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect* v2_TranslationalStiffnessByLengthX, ::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect* v3_TranslationalStiffnessByLengthY, ::Ifc4x3_rc3::IfcModulusOfTranslationalSubgradeReactionSelect* v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect* v5_RotationalStiffnessByLengthX, ::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect* v6_RotationalStiffnessByLengthY, ::Ifc4x3_rc3::IfcModulusOfRotationalSubgradeReactionSelect* v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByLengthX ? v2_TranslationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByLengthY ? v3_TranslationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByLengthZ ? v4_TranslationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessByLengthX ? v5_RotationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessByLengthY ? v6_RotationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessByLengthZ ? v7_RotationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryFaceCondition -::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect>(true); } +::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3_rc3::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaX(::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect>(true); } +::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3_rc3::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaY(::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect>(true); } +::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc3::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3_rc3::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcBoundaryFaceCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[97]); } const IfcParse::entity& Ifc4x3_rc3::IfcBoundaryFaceCondition::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[97]); } Ifc4x3_rc3::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -Ifc4x3_rc3::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect* v2_TranslationalStiffnessByAreaX, ::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect* v3_TranslationalStiffnessByAreaY, ::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect* v4_TranslationalStiffnessByAreaZ) : IfcBoundaryCondition(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByAreaX ? v2_TranslationalStiffnessByAreaX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByAreaY ? v3_TranslationalStiffnessByAreaY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByAreaZ ? v4_TranslationalStiffnessByAreaZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect* v2_TranslationalStiffnessByAreaX, ::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect* v3_TranslationalStiffnessByAreaY, ::Ifc4x3_rc3::IfcModulusOfSubgradeReactionSelect* v4_TranslationalStiffnessByAreaZ) : IfcBoundaryCondition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByAreaX ? v2_TranslationalStiffnessByAreaX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByAreaY ? v3_TranslationalStiffnessByAreaY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByAreaZ ? v4_TranslationalStiffnessByAreaZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryNodeCondition -::Ifc4x3_rc3::IfcTranslationalStiffnessSelect* Ifc4x3_rc3::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcTranslationalStiffnessSelect>(true); } +::Ifc4x3_rc3::IfcTranslationalStiffnessSelect* Ifc4x3_rc3::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3_rc3::IfcBoundaryNodeCondition::setTranslationalStiffnessX(::Ifc4x3_rc3::IfcTranslationalStiffnessSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcTranslationalStiffnessSelect* Ifc4x3_rc3::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcTranslationalStiffnessSelect>(true); } +::Ifc4x3_rc3::IfcTranslationalStiffnessSelect* Ifc4x3_rc3::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3_rc3::IfcBoundaryNodeCondition::setTranslationalStiffnessY(::Ifc4x3_rc3::IfcTranslationalStiffnessSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcTranslationalStiffnessSelect* Ifc4x3_rc3::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcTranslationalStiffnessSelect>(true); } +::Ifc4x3_rc3::IfcTranslationalStiffnessSelect* Ifc4x3_rc3::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3_rc3::IfcBoundaryNodeCondition::setTranslationalStiffnessZ(::Ifc4x3_rc3::IfcTranslationalStiffnessSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc3::IfcRotationalStiffnessSelect* Ifc4x3_rc3::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcRotationalStiffnessSelect>(true); } +::Ifc4x3_rc3::IfcRotationalStiffnessSelect* Ifc4x3_rc3::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcRotationalStiffnessSelect>(true); } void Ifc4x3_rc3::IfcBoundaryNodeCondition::setRotationalStiffnessX(::Ifc4x3_rc3::IfcRotationalStiffnessSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcRotationalStiffnessSelect* Ifc4x3_rc3::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcRotationalStiffnessSelect>(true); } +::Ifc4x3_rc3::IfcRotationalStiffnessSelect* Ifc4x3_rc3::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcRotationalStiffnessSelect>(true); } void Ifc4x3_rc3::IfcBoundaryNodeCondition::setRotationalStiffnessY(::Ifc4x3_rc3::IfcRotationalStiffnessSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc3::IfcRotationalStiffnessSelect* Ifc4x3_rc3::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcRotationalStiffnessSelect>(true); } +::Ifc4x3_rc3::IfcRotationalStiffnessSelect* Ifc4x3_rc3::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcRotationalStiffnessSelect>(true); } void Ifc4x3_rc3::IfcBoundaryNodeCondition::setRotationalStiffnessZ(::Ifc4x3_rc3::IfcRotationalStiffnessSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc3::IfcBoundaryNodeCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[98]); } const IfcParse::entity& Ifc4x3_rc3::IfcBoundaryNodeCondition::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[98]); } Ifc4x3_rc3::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -Ifc4x3_rc3::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ) : IfcBoundaryCondition(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ) : IfcBoundaryCondition(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryNodeConditionWarping -::Ifc4x3_rc3::IfcWarpingStiffnessSelect* Ifc4x3_rc3::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc3::IfcWarpingStiffnessSelect>(true); } +::Ifc4x3_rc3::IfcWarpingStiffnessSelect* Ifc4x3_rc3::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc3::IfcWarpingStiffnessSelect>(true); } void Ifc4x3_rc3::IfcBoundaryNodeConditionWarping::setWarpingStiffness(::Ifc4x3_rc3::IfcWarpingStiffnessSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc3::IfcBoundaryNodeConditionWarping::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[99]); } const IfcParse::entity& Ifc4x3_rc3::IfcBoundaryNodeConditionWarping::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[99]); } Ifc4x3_rc3::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(IfcEntityInstanceData&& e) : IfcBoundaryNodeCondition(std::move(e)) { } -Ifc4x3_rc3::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ, ::Ifc4x3_rc3::IfcWarpingStiffnessSelect* v8_WarpingStiffness) : IfcBoundaryNodeCondition(IfcEntityInstanceData(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_WarpingStiffness ? v8_WarpingStiffness->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x3_rc3::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x3_rc3::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ, ::Ifc4x3_rc3::IfcWarpingStiffnessSelect* v8_WarpingStiffness) : IfcBoundaryNodeCondition(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_WarpingStiffness ? v8_WarpingStiffness->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundedCurve @@ -8574,7 +8574,7 @@ Ifc4x3_rc3::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boo const IfcParse::entity& Ifc4x3_rc3::IfcBoundedCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[100]); } const IfcParse::entity& Ifc4x3_rc3::IfcBoundedCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[100]); } Ifc4x3_rc3::IfcBoundedCurve::IfcBoundedCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_rc3::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc3::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcBoundedSurface @@ -8582,119 +8582,119 @@ Ifc4x3_rc3::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData( const IfcParse::entity& Ifc4x3_rc3::IfcBoundedSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[101]); } const IfcParse::entity& Ifc4x3_rc3::IfcBoundedSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[101]); } Ifc4x3_rc3::IfcBoundedSurface::IfcBoundedSurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x3_rc3::IfcBoundedSurface::IfcBoundedSurface() : IfcSurface(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc3::IfcBoundedSurface::IfcBoundedSurface() : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcBoundingBox -::Ifc4x3_rc3::IfcCartesianPoint* Ifc4x3_rc3::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCartesianPoint>(true); } +::Ifc4x3_rc3::IfcCartesianPoint* Ifc4x3_rc3::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCartesianPoint>(true); } void Ifc4x3_rc3::IfcBoundingBox::setCorner(::Ifc4x3_rc3::IfcCartesianPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc3::IfcBoundingBox::XDim() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc3::IfcBoundingBox::XDim() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcBoundingBox::setXDim(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc3::IfcBoundingBox::YDim() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc3::IfcBoundingBox::YDim() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcBoundingBox::setYDim(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc3::IfcBoundingBox::ZDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc3::IfcBoundingBox::ZDim() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcBoundingBox::setZDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcBoundingBox::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[102]); } const IfcParse::entity& Ifc4x3_rc3::IfcBoundingBox::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[102]); } Ifc4x3_rc3::IfcBoundingBox::IfcBoundingBox(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcBoundingBox::IfcBoundingBox(::Ifc4x3_rc3::IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Corner ? v1_Corner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; populate_derived(); } +Ifc4x3_rc3::IfcBoundingBox::IfcBoundingBox(::Ifc4x3_rc3::IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Corner ? v1_Corner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; populate_derived(); } // Function implementations for IfcBoxedHalfSpace -::Ifc4x3_rc3::IfcBoundingBox* Ifc4x3_rc3::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcBoundingBox>(true); } +::Ifc4x3_rc3::IfcBoundingBox* Ifc4x3_rc3::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcBoundingBox>(true); } void Ifc4x3_rc3::IfcBoxedHalfSpace::setEnclosure(::Ifc4x3_rc3::IfcBoundingBox* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcBoxedHalfSpace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[104]); } const IfcParse::entity& Ifc4x3_rc3::IfcBoxedHalfSpace::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[104]); } Ifc4x3_rc3::IfcBoxedHalfSpace::IfcBoxedHalfSpace(IfcEntityInstanceData&& e) : IfcHalfSpaceSolid(std::move(e)) { } -Ifc4x3_rc3::IfcBoxedHalfSpace::IfcBoxedHalfSpace(::Ifc4x3_rc3::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc3::IfcBoundingBox* v3_Enclosure) : IfcHalfSpaceSolid(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Enclosure ? v3_Enclosure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcBoxedHalfSpace::IfcBoxedHalfSpace(::Ifc4x3_rc3::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc3::IfcBoundingBox* v3_Enclosure) : IfcHalfSpaceSolid(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Enclosure ? v3_Enclosure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBridge -boost::optional< ::Ifc4x3_rc3::IfcBridgeTypeEnum::Value > Ifc4x3_rc3::IfcBridge::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcBridgeTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc3::IfcBridgeTypeEnum::Value > Ifc4x3_rc3::IfcBridge::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcBridgeTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcBridge::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcBridgeTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcBridgeTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc3::IfcBridge::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[105]); } const IfcParse::entity& Ifc4x3_rc3::IfcBridge::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[105]); } Ifc4x3_rc3::IfcBridge::IfcBridge(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x3_rc3::IfcBridge::IfcBridge(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_rc3::IfcBridgeTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcBridge::IfcBridge(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_rc3::IfcBridgeTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBuilding -boost::optional< double > Ifc4x3_rc3::IfcBuilding::ElevationOfRefHeight() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc3::IfcBuilding::ElevationOfRefHeight() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc3::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc3::IfcBuilding::ElevationOfTerrain() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc3::IfcBuilding::ElevationOfTerrain() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4x3_rc3::IfcPostalAddress* Ifc4x3_rc3::IfcBuilding::BuildingAddress() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc4x3_rc3::IfcPostalAddress>(true); } +::Ifc4x3_rc3::IfcPostalAddress* Ifc4x3_rc3::IfcBuilding::BuildingAddress() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc4x3_rc3::IfcPostalAddress>(true); } void Ifc4x3_rc3::IfcBuilding::setBuildingAddress(::Ifc4x3_rc3::IfcPostalAddress* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc3::IfcBuilding::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[114]); } const IfcParse::entity& Ifc4x3_rc3::IfcBuilding::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[114]); } Ifc4x3_rc3::IfcBuilding::IfcBuilding(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x3_rc3::IfcBuilding::IfcBuilding(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_rc3::IfcPostalAddress* v12_BuildingAddress) : IfcFacility(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, v12_BuildingAddress ? v12_BuildingAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcBuilding::IfcBuilding(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_rc3::IfcPostalAddress* v12_BuildingAddress) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, v12_BuildingAddress ? v12_BuildingAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBuildingElementPart -boost::optional< ::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Value > Ifc4x3_rc3::IfcBuildingElementPart::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Value > Ifc4x3_rc3::IfcBuildingElementPart::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcBuildingElementPart::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcBuildingElementPart::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[115]); } const IfcParse::entity& Ifc4x3_rc3::IfcBuildingElementPart::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[115]); } Ifc4x3_rc3::IfcBuildingElementPart::IfcBuildingElementPart(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_rc3::IfcBuildingElementPart::IfcBuildingElementPart(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcBuildingElementPart::IfcBuildingElementPart(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBuildingElementPartType -::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Value Ifc4x3_rc3::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Value Ifc4x3_rc3::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcBuildingElementPartType::setPredefinedType(::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcBuildingElementPartType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[116]); } const IfcParse::entity& Ifc4x3_rc3::IfcBuildingElementPartType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[116]); } Ifc4x3_rc3::IfcBuildingElementPartType::IfcBuildingElementPartType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_rc3::IfcBuildingElementPartType::IfcBuildingElementPartType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcBuildingElementPartType::IfcBuildingElementPartType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBuildingElementProxy -boost::optional< ::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Value > Ifc4x3_rc3::IfcBuildingElementProxy::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Value > Ifc4x3_rc3::IfcBuildingElementProxy::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcBuildingElementProxy::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcBuildingElementProxy::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[118]); } const IfcParse::entity& Ifc4x3_rc3::IfcBuildingElementProxy::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[118]); } Ifc4x3_rc3::IfcBuildingElementProxy::IfcBuildingElementProxy(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc3::IfcBuildingElementProxy::IfcBuildingElementProxy(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcBuildingElementProxy::IfcBuildingElementProxy(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBuildingElementProxyType -::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Value Ifc4x3_rc3::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Value Ifc4x3_rc3::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcBuildingElementProxyType::setPredefinedType(::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcBuildingElementProxyType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[119]); } const IfcParse::entity& Ifc4x3_rc3::IfcBuildingElementProxyType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[119]); } Ifc4x3_rc3::IfcBuildingElementProxyType::IfcBuildingElementProxyType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc3::IfcBuildingElementProxyType::IfcBuildingElementProxyType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcBuildingElementProxyType::IfcBuildingElementProxyType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBuildingStorey -boost::optional< double > Ifc4x3_rc3::IfcBuildingStorey::Elevation() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc3::IfcBuildingStorey::Elevation() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc3::IfcBuildingStorey::setElevation(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc3::IfcBuildingStorey::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[121]); } const IfcParse::entity& Ifc4x3_rc3::IfcBuildingStorey::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[121]); } Ifc4x3_rc3::IfcBuildingStorey::IfcBuildingStorey(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x3_rc3::IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_Elevation) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; populate_derived(); } +Ifc4x3_rc3::IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_Elevation) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; populate_derived(); } // Function implementations for IfcBuildingSystem -boost::optional< ::Ifc4x3_rc3::IfcBuildingSystemTypeEnum::Value > Ifc4x3_rc3::IfcBuildingSystem::PredefinedType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcBuildingSystemTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3_rc3::IfcBuildingSystemTypeEnum::Value > Ifc4x3_rc3::IfcBuildingSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcBuildingSystemTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc3::IfcBuildingSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcBuildingSystemTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc3::IfcBuildingSystemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc3::IfcBuildingSystem::LongName() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcBuildingSystem::LongName() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcBuildingSystem::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc3::IfcBuildingSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[122]); } const IfcParse::entity& Ifc4x3_rc3::IfcBuildingSystem::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[122]); } Ifc4x3_rc3::IfcBuildingSystem::IfcBuildingSystem(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3_rc3::IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_rc3::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } +Ifc4x3_rc3::IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_rc3::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } // Function implementations for IfcBuiltElement @@ -8702,7 +8702,7 @@ Ifc4x3_rc3::IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3_rc3::IfcBuiltElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[124]); } const IfcParse::entity& Ifc4x3_rc3::IfcBuiltElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[124]); } Ifc4x3_rc3::IfcBuiltElement::IfcBuiltElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc3::IfcBuiltElement::IfcBuiltElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc3::IfcBuiltElement::IfcBuiltElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcBuiltElementType @@ -8710,167 +8710,167 @@ Ifc4x3_rc3::IfcBuiltElement::IfcBuiltElement(std::string v1_GlobalId, ::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc3::IfcBuiltElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[125]); } const IfcParse::entity& Ifc4x3_rc3::IfcBuiltElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[125]); } Ifc4x3_rc3::IfcBuiltElementType::IfcBuiltElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_rc3::IfcBuiltElementType::IfcBuiltElementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc3::IfcBuiltElementType::IfcBuiltElementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcBuiltSystem -boost::optional< ::Ifc4x3_rc3::IfcBuiltSystemTypeEnum::Value > Ifc4x3_rc3::IfcBuiltSystem::PredefinedType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcBuiltSystemTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3_rc3::IfcBuiltSystemTypeEnum::Value > Ifc4x3_rc3::IfcBuiltSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcBuiltSystemTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc3::IfcBuiltSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcBuiltSystemTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc3::IfcBuiltSystemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc3::IfcBuiltSystem::LongName() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcBuiltSystem::LongName() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcBuiltSystem::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc3::IfcBuiltSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[126]); } const IfcParse::entity& Ifc4x3_rc3::IfcBuiltSystem::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[126]); } Ifc4x3_rc3::IfcBuiltSystem::IfcBuiltSystem(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3_rc3::IfcBuiltSystem::IfcBuiltSystem(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_rc3::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcBuiltSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } +Ifc4x3_rc3::IfcBuiltSystem::IfcBuiltSystem(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_rc3::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcBuiltSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } // Function implementations for IfcBurner -boost::optional< ::Ifc4x3_rc3::IfcBurnerTypeEnum::Value > Ifc4x3_rc3::IfcBurner::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcBurnerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcBurnerTypeEnum::Value > Ifc4x3_rc3::IfcBurner::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcBurnerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcBurner::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcBurnerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcBurnerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcBurner::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[128]); } const IfcParse::entity& Ifc4x3_rc3::IfcBurner::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[128]); } Ifc4x3_rc3::IfcBurner::IfcBurner(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc3::IfcBurner::IfcBurner(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcBurnerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcBurner::IfcBurner(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcBurnerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBurnerType -::Ifc4x3_rc3::IfcBurnerTypeEnum::Value Ifc4x3_rc3::IfcBurnerType::PredefinedType() const { return ::Ifc4x3_rc3::IfcBurnerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcBurnerTypeEnum::Value Ifc4x3_rc3::IfcBurnerType::PredefinedType() const { return ::Ifc4x3_rc3::IfcBurnerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcBurnerType::setPredefinedType(::Ifc4x3_rc3::IfcBurnerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcBurnerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcBurnerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[129]); } const IfcParse::entity& Ifc4x3_rc3::IfcBurnerType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[129]); } Ifc4x3_rc3::IfcBurnerType::IfcBurnerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc3::IfcBurnerType::IfcBurnerType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBurnerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcBurnerType::IfcBurnerType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcBurnerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCShapeProfileDef -double Ifc4x3_rc3::IfcCShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc3::IfcCShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcCShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc3::IfcCShapeProfileDef::Width() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc3::IfcCShapeProfileDef::Width() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcCShapeProfileDef::setWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc3::IfcCShapeProfileDef::WallThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc3::IfcCShapeProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcCShapeProfileDef::setWallThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc3::IfcCShapeProfileDef::Girth() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc3::IfcCShapeProfileDef::Girth() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcCShapeProfileDef::setGirth(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc3::IfcCShapeProfileDef::InternalFilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc3::IfcCShapeProfileDef::InternalFilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcCShapeProfileDef::setInternalFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc3::IfcCShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[267]); } const IfcParse::entity& Ifc4x3_rc3::IfcCShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[267]); } Ifc4x3_rc3::IfcCShapeProfileDef::IfcCShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_rc3::IfcCShapeProfileDef::IfcCShapeProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, boost::optional< double > v8_InternalFilletRadius) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); }; populate_derived(); } +Ifc4x3_rc3::IfcCShapeProfileDef::IfcCShapeProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, boost::optional< double > v8_InternalFilletRadius) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); }; populate_derived(); } // Function implementations for IfcCableCarrierFitting -boost::optional< ::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Value > Ifc4x3_rc3::IfcCableCarrierFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Value > Ifc4x3_rc3::IfcCableCarrierFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcCableCarrierFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcCableCarrierFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[131]); } const IfcParse::entity& Ifc4x3_rc3::IfcCableCarrierFitting::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[131]); } Ifc4x3_rc3::IfcCableCarrierFitting::IfcCableCarrierFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x3_rc3::IfcCableCarrierFitting::IfcCableCarrierFitting(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcCableCarrierFitting::IfcCableCarrierFitting(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableCarrierFittingType -::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Value Ifc4x3_rc3::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Value Ifc4x3_rc3::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcCableCarrierFittingType::setPredefinedType(::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcCableCarrierFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[132]); } const IfcParse::entity& Ifc4x3_rc3::IfcCableCarrierFittingType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[132]); } Ifc4x3_rc3::IfcCableCarrierFittingType::IfcCableCarrierFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x3_rc3::IfcCableCarrierFittingType::IfcCableCarrierFittingType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcCableCarrierFittingType::IfcCableCarrierFittingType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCableCarrierSegment -boost::optional< ::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x3_rc3::IfcCableCarrierSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x3_rc3::IfcCableCarrierSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcCableCarrierSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcCableCarrierSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[134]); } const IfcParse::entity& Ifc4x3_rc3::IfcCableCarrierSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[134]); } Ifc4x3_rc3::IfcCableCarrierSegment::IfcCableCarrierSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x3_rc3::IfcCableCarrierSegment::IfcCableCarrierSegment(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcCableCarrierSegment::IfcCableCarrierSegment(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableCarrierSegmentType -::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3_rc3::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3_rc3::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcCableCarrierSegmentType::setPredefinedType(::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcCableCarrierSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[135]); } const IfcParse::entity& Ifc4x3_rc3::IfcCableCarrierSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[135]); } Ifc4x3_rc3::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x3_rc3::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCableFitting -boost::optional< ::Ifc4x3_rc3::IfcCableFittingTypeEnum::Value > Ifc4x3_rc3::IfcCableFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCableFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcCableFittingTypeEnum::Value > Ifc4x3_rc3::IfcCableFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCableFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcCableFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCableFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcCableFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcCableFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[137]); } const IfcParse::entity& Ifc4x3_rc3::IfcCableFitting::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[137]); } Ifc4x3_rc3::IfcCableFitting::IfcCableFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x3_rc3::IfcCableFitting::IfcCableFitting(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcCableFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcCableFitting::IfcCableFitting(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcCableFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableFittingType -::Ifc4x3_rc3::IfcCableFittingTypeEnum::Value Ifc4x3_rc3::IfcCableFittingType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCableFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcCableFittingTypeEnum::Value Ifc4x3_rc3::IfcCableFittingType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCableFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcCableFittingType::setPredefinedType(::Ifc4x3_rc3::IfcCableFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcCableFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcCableFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[138]); } const IfcParse::entity& Ifc4x3_rc3::IfcCableFittingType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[138]); } Ifc4x3_rc3::IfcCableFittingType::IfcCableFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x3_rc3::IfcCableFittingType::IfcCableFittingType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCableFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcCableFittingType::IfcCableFittingType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCableFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCableSegment -boost::optional< ::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Value > Ifc4x3_rc3::IfcCableSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCableSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Value > Ifc4x3_rc3::IfcCableSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCableSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcCableSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcCableSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[140]); } const IfcParse::entity& Ifc4x3_rc3::IfcCableSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[140]); } Ifc4x3_rc3::IfcCableSegment::IfcCableSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x3_rc3::IfcCableSegment::IfcCableSegment(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcCableSegment::IfcCableSegment(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableSegmentType -::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Value Ifc4x3_rc3::IfcCableSegmentType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCableSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Value Ifc4x3_rc3::IfcCableSegmentType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCableSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcCableSegmentType::setPredefinedType(::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcCableSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[141]); } const IfcParse::entity& Ifc4x3_rc3::IfcCableSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[141]); } Ifc4x3_rc3::IfcCableSegmentType::IfcCableSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x3_rc3::IfcCableSegmentType::IfcCableSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcCableSegmentType::IfcCableSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCaissonFoundation -boost::optional< ::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Value > Ifc4x3_rc3::IfcCaissonFoundation::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Value > Ifc4x3_rc3::IfcCaissonFoundation::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcCaissonFoundation::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcCaissonFoundation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[143]); } const IfcParse::entity& Ifc4x3_rc3::IfcCaissonFoundation::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[143]); } Ifc4x3_rc3::IfcCaissonFoundation::IfcCaissonFoundation(IfcEntityInstanceData&& e) : IfcDeepFoundation(std::move(e)) { } -Ifc4x3_rc3::IfcCaissonFoundation::IfcCaissonFoundation(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType) : IfcDeepFoundation(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcCaissonFoundation::IfcCaissonFoundation(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType) : IfcDeepFoundation(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCaissonFoundationType -::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Value Ifc4x3_rc3::IfcCaissonFoundationType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Value Ifc4x3_rc3::IfcCaissonFoundationType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcCaissonFoundationType::setPredefinedType(::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcCaissonFoundationType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[144]); } const IfcParse::entity& Ifc4x3_rc3::IfcCaissonFoundationType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[144]); } Ifc4x3_rc3::IfcCaissonFoundationType::IfcCaissonFoundationType(IfcEntityInstanceData&& e) : IfcDeepFoundationType(std::move(e)) { } -Ifc4x3_rc3::IfcCaissonFoundationType::IfcCaissonFoundationType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcCaissonFoundationType::IfcCaissonFoundationType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCartesianPoint -std::vector< double > /*[1:3]*/ Ifc4x3_rc3::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[1:3]*/ Ifc4x3_rc3::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcCartesianPoint::setCoordinates(std::vector< double > /*[1:3]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc3::IfcCartesianPoint::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[147]); } const IfcParse::entity& Ifc4x3_rc3::IfcCartesianPoint::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[147]); } Ifc4x3_rc3::IfcCartesianPoint::IfcCartesianPoint(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x3_rc3::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ v1_Coordinates) : IfcPoint(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } +Ifc4x3_rc3::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ v1_Coordinates) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } // Function implementations for IfcCartesianPointList @@ -8878,47 +8878,47 @@ Ifc4x3_rc3::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ const IfcParse::entity& Ifc4x3_rc3::IfcCartesianPointList::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[148]); } const IfcParse::entity& Ifc4x3_rc3::IfcCartesianPointList::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[148]); } Ifc4x3_rc3::IfcCartesianPointList::IfcCartesianPointList(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcCartesianPointList::IfcCartesianPointList() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc3::IfcCartesianPointList::IfcCartesianPointList() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcCartesianPointList2D -std::vector< std::vector< double > > Ifc4x3_rc3::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x3_rc3::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcCartesianPointList2D::setCoordList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcCartesianPointList2D::TagList() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcCartesianPointList2D::TagList() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcCartesianPointList2D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_rc3::IfcCartesianPointList2D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[149]); } const IfcParse::entity& Ifc4x3_rc3::IfcCartesianPointList2D::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[149]); } Ifc4x3_rc3::IfcCartesianPointList2D::IfcCartesianPointList2D(IfcEntityInstanceData&& e) : IfcCartesianPointList(std::move(e)) { } -Ifc4x3_rc3::IfcCartesianPointList2D::IfcCartesianPointList2D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } +Ifc4x3_rc3::IfcCartesianPointList2D::IfcCartesianPointList2D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } // Function implementations for IfcCartesianPointList3D -std::vector< std::vector< double > > Ifc4x3_rc3::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x3_rc3::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcCartesianPointList3D::setCoordList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcCartesianPointList3D::TagList() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcCartesianPointList3D::TagList() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcCartesianPointList3D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_rc3::IfcCartesianPointList3D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[150]); } const IfcParse::entity& Ifc4x3_rc3::IfcCartesianPointList3D::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[150]); } Ifc4x3_rc3::IfcCartesianPointList3D::IfcCartesianPointList3D(IfcEntityInstanceData&& e) : IfcCartesianPointList(std::move(e)) { } -Ifc4x3_rc3::IfcCartesianPointList3D::IfcCartesianPointList3D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } +Ifc4x3_rc3::IfcCartesianPointList3D::IfcCartesianPointList3D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcCartesianTransformationOperator::Axis1() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcDirection>(true); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcCartesianTransformationOperator::Axis1() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcCartesianTransformationOperator::setAxis1(::Ifc4x3_rc3::IfcDirection* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcCartesianTransformationOperator::Axis2() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcDirection>(true); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcCartesianTransformationOperator::Axis2() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcCartesianTransformationOperator::setAxis2(::Ifc4x3_rc3::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcCartesianPoint* Ifc4x3_rc3::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcCartesianPoint>(true); } +::Ifc4x3_rc3::IfcCartesianPoint* Ifc4x3_rc3::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcCartesianPoint>(true); } void Ifc4x3_rc3::IfcCartesianTransformationOperator::setLocalOrigin(::Ifc4x3_rc3::IfcCartesianPoint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4x3_rc3::IfcCartesianTransformationOperator::Scale() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc3::IfcCartesianTransformationOperator::Scale() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc3::IfcCartesianTransformationOperator::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[151]); } const IfcParse::entity& Ifc4x3_rc3::IfcCartesianTransformationOperator::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[151]); } Ifc4x3_rc3::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(::Ifc4x3_rc3::IfcDirection* v1_Axis1, ::Ifc4x3_rc3::IfcDirection* v2_Axis2, ::Ifc4x3_rc3::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } +Ifc4x3_rc3::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(::Ifc4x3_rc3::IfcDirection* v1_Axis1, ::Ifc4x3_rc3::IfcDirection* v2_Axis2, ::Ifc4x3_rc3::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator2D @@ -8926,119 +8926,119 @@ Ifc4x3_rc3::IfcCartesianTransformationOperator::IfcCartesianTransformationOperat const IfcParse::entity& Ifc4x3_rc3::IfcCartesianTransformationOperator2D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[152]); } const IfcParse::entity& Ifc4x3_rc3::IfcCartesianTransformationOperator2D::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[152]); } Ifc4x3_rc3::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator(std::move(e)) { } -Ifc4x3_rc3::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(::Ifc4x3_rc3::IfcDirection* v1_Axis1, ::Ifc4x3_rc3::IfcDirection* v2_Axis2, ::Ifc4x3_rc3::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcCartesianTransformationOperator(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } +Ifc4x3_rc3::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(::Ifc4x3_rc3::IfcDirection* v1_Axis1, ::Ifc4x3_rc3::IfcDirection* v2_Axis2, ::Ifc4x3_rc3::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcCartesianTransformationOperator(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator2DnonUniform -boost::optional< double > Ifc4x3_rc3::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc3::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcCartesianTransformationOperator2DnonUniform::setScale2(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc3::IfcCartesianTransformationOperator2DnonUniform::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[153]); } const IfcParse::entity& Ifc4x3_rc3::IfcCartesianTransformationOperator2DnonUniform::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[153]); } Ifc4x3_rc3::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator2D(std::move(e)) { } -Ifc4x3_rc3::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(::Ifc4x3_rc3::IfcDirection* v1_Axis1, ::Ifc4x3_rc3::IfcDirection* v2_Axis2, ::Ifc4x3_rc3::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2) : IfcCartesianTransformationOperator2D(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; populate_derived(); } +Ifc4x3_rc3::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(::Ifc4x3_rc3::IfcDirection* v1_Axis1, ::Ifc4x3_rc3::IfcDirection* v2_Axis2, ::Ifc4x3_rc3::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2) : IfcCartesianTransformationOperator2D(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator3D -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcCartesianTransformationOperator3D::Axis3() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcDirection>(true); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcCartesianTransformationOperator3D::Axis3() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcCartesianTransformationOperator3D::setAxis3(::Ifc4x3_rc3::IfcDirection* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc3::IfcCartesianTransformationOperator3D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[154]); } const IfcParse::entity& Ifc4x3_rc3::IfcCartesianTransformationOperator3D::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[154]); } Ifc4x3_rc3::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator(std::move(e)) { } -Ifc4x3_rc3::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(::Ifc4x3_rc3::IfcDirection* v1_Axis1, ::Ifc4x3_rc3::IfcDirection* v2_Axis2, ::Ifc4x3_rc3::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x3_rc3::IfcDirection* v5_Axis3) : IfcCartesianTransformationOperator(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(::Ifc4x3_rc3::IfcDirection* v1_Axis1, ::Ifc4x3_rc3::IfcDirection* v2_Axis2, ::Ifc4x3_rc3::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x3_rc3::IfcDirection* v5_Axis3) : IfcCartesianTransformationOperator(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator3DnonUniform -boost::optional< double > Ifc4x3_rc3::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc3::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcCartesianTransformationOperator3DnonUniform::setScale2(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_rc3::IfcCartesianTransformationOperator3DnonUniform::Scale3() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc3::IfcCartesianTransformationOperator3DnonUniform::Scale3() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcCartesianTransformationOperator3DnonUniform::setScale3(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc3::IfcCartesianTransformationOperator3DnonUniform::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[155]); } const IfcParse::entity& Ifc4x3_rc3::IfcCartesianTransformationOperator3DnonUniform::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[155]); } Ifc4x3_rc3::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator3D(std::move(e)) { } -Ifc4x3_rc3::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(::Ifc4x3_rc3::IfcDirection* v1_Axis1, ::Ifc4x3_rc3::IfcDirection* v2_Axis2, ::Ifc4x3_rc3::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x3_rc3::IfcDirection* v5_Axis3, boost::optional< double > v6_Scale2, boost::optional< double > v7_Scale3) : IfcCartesianTransformationOperator3D(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; populate_derived(); } +Ifc4x3_rc3::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(::Ifc4x3_rc3::IfcDirection* v1_Axis1, ::Ifc4x3_rc3::IfcDirection* v2_Axis2, ::Ifc4x3_rc3::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x3_rc3::IfcDirection* v5_Axis3, boost::optional< double > v6_Scale2, boost::optional< double > v7_Scale3) : IfcCartesianTransformationOperator3D(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; populate_derived(); } // Function implementations for IfcCenterLineProfileDef -double Ifc4x3_rc3::IfcCenterLineProfileDef::Thickness() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc3::IfcCenterLineProfileDef::Thickness() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcCenterLineProfileDef::setThickness(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcCenterLineProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[156]); } const IfcParse::entity& Ifc4x3_rc3::IfcCenterLineProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[156]); } Ifc4x3_rc3::IfcCenterLineProfileDef::IfcCenterLineProfileDef(IfcEntityInstanceData&& e) : IfcArbitraryOpenProfileDef(std::move(e)) { } -Ifc4x3_rc3::IfcCenterLineProfileDef::IfcCenterLineProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcBoundedCurve* v3_Curve, double v4_Thickness) : IfcArbitraryOpenProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Thickness));; populate_derived(); } +Ifc4x3_rc3::IfcCenterLineProfileDef::IfcCenterLineProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcBoundedCurve* v3_Curve, double v4_Thickness) : IfcArbitraryOpenProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Thickness));; populate_derived(); } // Function implementations for IfcChiller -boost::optional< ::Ifc4x3_rc3::IfcChillerTypeEnum::Value > Ifc4x3_rc3::IfcChiller::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcChillerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcChillerTypeEnum::Value > Ifc4x3_rc3::IfcChiller::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcChillerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcChiller::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcChillerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcChillerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcChiller::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[158]); } const IfcParse::entity& Ifc4x3_rc3::IfcChiller::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[158]); } Ifc4x3_rc3::IfcChiller::IfcChiller(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc3::IfcChiller::IfcChiller(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcChillerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcChiller::IfcChiller(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcChillerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcChillerType -::Ifc4x3_rc3::IfcChillerTypeEnum::Value Ifc4x3_rc3::IfcChillerType::PredefinedType() const { return ::Ifc4x3_rc3::IfcChillerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcChillerTypeEnum::Value Ifc4x3_rc3::IfcChillerType::PredefinedType() const { return ::Ifc4x3_rc3::IfcChillerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcChillerType::setPredefinedType(::Ifc4x3_rc3::IfcChillerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcChillerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcChillerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[159]); } const IfcParse::entity& Ifc4x3_rc3::IfcChillerType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[159]); } Ifc4x3_rc3::IfcChillerType::IfcChillerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc3::IfcChillerType::IfcChillerType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcChillerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcChillerType::IfcChillerType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcChillerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcChimney -boost::optional< ::Ifc4x3_rc3::IfcChimneyTypeEnum::Value > Ifc4x3_rc3::IfcChimney::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcChimneyTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcChimneyTypeEnum::Value > Ifc4x3_rc3::IfcChimney::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcChimneyTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcChimney::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcChimneyTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcChimneyTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcChimney::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[161]); } const IfcParse::entity& Ifc4x3_rc3::IfcChimney::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[161]); } Ifc4x3_rc3::IfcChimney::IfcChimney(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc3::IfcChimney::IfcChimney(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcChimneyTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcChimney::IfcChimney(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcChimneyTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcChimneyType -::Ifc4x3_rc3::IfcChimneyTypeEnum::Value Ifc4x3_rc3::IfcChimneyType::PredefinedType() const { return ::Ifc4x3_rc3::IfcChimneyTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcChimneyTypeEnum::Value Ifc4x3_rc3::IfcChimneyType::PredefinedType() const { return ::Ifc4x3_rc3::IfcChimneyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcChimneyType::setPredefinedType(::Ifc4x3_rc3::IfcChimneyTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcChimneyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcChimneyType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[162]); } const IfcParse::entity& Ifc4x3_rc3::IfcChimneyType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[162]); } Ifc4x3_rc3::IfcChimneyType::IfcChimneyType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc3::IfcChimneyType::IfcChimneyType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcChimneyTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcChimneyType::IfcChimneyType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcChimneyTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCircle -double Ifc4x3_rc3::IfcCircle::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc3::IfcCircle::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcCircle::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcCircle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[164]); } const IfcParse::entity& Ifc4x3_rc3::IfcCircle::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[164]); } Ifc4x3_rc3::IfcCircle::IfcCircle(IfcEntityInstanceData&& e) : IfcConic(std::move(e)) { } -Ifc4x3_rc3::IfcCircle::IfcCircle(::Ifc4x3_rc3::IfcAxis2Placement* v1_Position, double v2_Radius) : IfcConic(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x3_rc3::IfcCircle::IfcCircle(::Ifc4x3_rc3::IfcAxis2Placement* v1_Position, double v2_Radius) : IfcConic(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcCircleHollowProfileDef -double Ifc4x3_rc3::IfcCircleHollowProfileDef::WallThickness() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc3::IfcCircleHollowProfileDef::WallThickness() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcCircleHollowProfileDef::setWallThickness(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc3::IfcCircleHollowProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[165]); } const IfcParse::entity& Ifc4x3_rc3::IfcCircleHollowProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[165]); } Ifc4x3_rc3::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(IfcEntityInstanceData&& e) : IfcCircleProfileDef(std::move(e)) { } -Ifc4x3_rc3::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D* v3_Position, double v4_Radius, double v5_WallThickness) : IfcCircleProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; populate_derived(); } +Ifc4x3_rc3::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D* v3_Position, double v4_Radius, double v5_WallThickness) : IfcCircleProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; populate_derived(); } // Function implementations for IfcCircleProfileDef -double Ifc4x3_rc3::IfcCircleProfileDef::Radius() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc3::IfcCircleProfileDef::Radius() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcCircleProfileDef::setRadius(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcCircleProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[166]); } const IfcParse::entity& Ifc4x3_rc3::IfcCircleProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[166]); } Ifc4x3_rc3::IfcCircleProfileDef::IfcCircleProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_rc3::IfcCircleProfileDef::IfcCircleProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D* v3_Position, double v4_Radius) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));; populate_derived(); } +Ifc4x3_rc3::IfcCircleProfileDef::IfcCircleProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D* v3_Position, double v4_Radius) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));; populate_derived(); } // Function implementations for IfcCivilElement @@ -9046,7 +9046,7 @@ Ifc4x3_rc3::IfcCircleProfileDef::IfcCircleProfileDef(::Ifc4x3_rc3::IfcProfileTyp const IfcParse::entity& Ifc4x3_rc3::IfcCivilElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[167]); } const IfcParse::entity& Ifc4x3_rc3::IfcCivilElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[167]); } Ifc4x3_rc3::IfcCivilElement::IfcCivilElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc3::IfcCivilElement::IfcCivilElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc3::IfcCivilElement::IfcCivilElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcCivilElementType @@ -9054,22 +9054,22 @@ Ifc4x3_rc3::IfcCivilElement::IfcCivilElement(std::string v1_GlobalId, ::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc3::IfcCivilElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[168]); } const IfcParse::entity& Ifc4x3_rc3::IfcCivilElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[168]); } Ifc4x3_rc3::IfcCivilElementType::IfcCivilElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_rc3::IfcCivilElementType::IfcCivilElementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc3::IfcCivilElementType::IfcCivilElementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcClassification -boost::optional< std::string > Ifc4x3_rc3::IfcClassification::Source() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcClassification::Source() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcClassification::setSource(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc3::IfcClassification::Edition() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcClassification::Edition() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcClassification::setEdition(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc3::IfcClassification::EditionDate() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcClassification::EditionDate() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcClassification::setEditionDate(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::string Ifc4x3_rc3::IfcClassification::Name() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x3_rc3::IfcClassification::Name() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcClassification::setName(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc3::IfcClassification::Description() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcClassification::Description() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcClassification::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc3::IfcClassification::Location() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcClassification::Location() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcClassification::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcClassification::ReferenceTokens() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(6); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcClassification::ReferenceTokens() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcClassification::setReferenceTokens(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_rc3::IfcRelAssociatesClassification::list::ptr Ifc4x3_rc3::IfcClassification::ClassificationForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[916], 5)->as(); } @@ -9078,14 +9078,14 @@ void Ifc4x3_rc3::IfcClassification::setReferenceTokens(boost::optional< std::vec const IfcParse::entity& Ifc4x3_rc3::IfcClassification::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[169]); } const IfcParse::entity& Ifc4x3_rc3::IfcClassification::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[169]); } Ifc4x3_rc3::IfcClassification::IfcClassification(IfcEntityInstanceData&& e) : IfcExternalInformation(std::move(e)) { } -Ifc4x3_rc3::IfcClassification::IfcClassification(boost::optional< std::string > v1_Source, boost::optional< std::string > v2_Edition, boost::optional< std::string > v3_EditionDate, std::string v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Location, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) : IfcExternalInformation(IfcEntityInstanceData(storage_t(7))) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Location) {set_attribute_value(5, (*v6_Location)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); }; populate_derived(); } +Ifc4x3_rc3::IfcClassification::IfcClassification(boost::optional< std::string > v1_Source, boost::optional< std::string > v2_Edition, boost::optional< std::string > v3_EditionDate, std::string v4_Name, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Location, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) : IfcExternalInformation(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Location) {set_attribute_value(5, (*v6_Location)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); }; populate_derived(); } // Function implementations for IfcClassificationReference -::Ifc4x3_rc3::IfcClassificationReferenceSelect* Ifc4x3_rc3::IfcClassificationReference::ReferencedSource() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcClassificationReferenceSelect>(true); } +::Ifc4x3_rc3::IfcClassificationReferenceSelect* Ifc4x3_rc3::IfcClassificationReference::ReferencedSource() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcClassificationReferenceSelect>(true); } void Ifc4x3_rc3::IfcClassificationReference::setReferencedSource(::Ifc4x3_rc3::IfcClassificationReferenceSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc3::IfcClassificationReference::Description() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcClassificationReference::Description() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcClassificationReference::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc3::IfcClassificationReference::Sort() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcClassificationReference::Sort() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcClassificationReference::setSort(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x3_rc3::IfcRelAssociatesClassification::list::ptr Ifc4x3_rc3::IfcClassificationReference::ClassificationRefForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[916], 5)->as(); } @@ -9094,7 +9094,7 @@ void Ifc4x3_rc3::IfcClassificationReference::setSort(boost::optional< std::strin const IfcParse::entity& Ifc4x3_rc3::IfcClassificationReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[170]); } const IfcParse::entity& Ifc4x3_rc3::IfcClassificationReference::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[170]); } Ifc4x3_rc3::IfcClassificationReference::IfcClassificationReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_rc3::IfcClassificationReference::IfcClassificationReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, ::Ifc4x3_rc3::IfcClassificationReferenceSelect* v4_ReferencedSource, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Sort) : IfcExternalReference(IfcEntityInstanceData(storage_t(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, v4_ReferencedSource ? v4_ReferencedSource->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); }; populate_derived(); } +Ifc4x3_rc3::IfcClassificationReference::IfcClassificationReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, ::Ifc4x3_rc3::IfcClassificationReferenceSelect* v4_ReferencedSource, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Sort) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, v4_ReferencedSource ? v4_ReferencedSource->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); }; populate_derived(); } // Function implementations for IfcClosedShell @@ -9102,81 +9102,81 @@ Ifc4x3_rc3::IfcClassificationReference::IfcClassificationReference(boost::option const IfcParse::entity& Ifc4x3_rc3::IfcClosedShell::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[173]); } const IfcParse::entity& Ifc4x3_rc3::IfcClosedShell::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[173]); } Ifc4x3_rc3::IfcClosedShell::IfcClosedShell(IfcEntityInstanceData&& e) : IfcConnectedFaceSet(std::move(e)) { } -Ifc4x3_rc3::IfcClosedShell::IfcClosedShell(aggregate_of< ::Ifc4x3_rc3::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcClosedShell::IfcClosedShell(aggregate_of< ::Ifc4x3_rc3::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcClothoid -double Ifc4x3_rc3::IfcClothoid::ClothoidConstant() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc3::IfcClothoid::ClothoidConstant() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcClothoid::setClothoidConstant(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcClothoid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[174]); } const IfcParse::entity& Ifc4x3_rc3::IfcClothoid::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[174]); } Ifc4x3_rc3::IfcClothoid::IfcClothoid(IfcEntityInstanceData&& e) : IfcSpiral(std::move(e)) { } -Ifc4x3_rc3::IfcClothoid::IfcClothoid(::Ifc4x3_rc3::IfcAxis2Placement* v1_Position, double v2_ClothoidConstant) : IfcSpiral(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_ClothoidConstant));; populate_derived(); } +Ifc4x3_rc3::IfcClothoid::IfcClothoid(::Ifc4x3_rc3::IfcAxis2Placement* v1_Position, double v2_ClothoidConstant) : IfcSpiral(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_ClothoidConstant));; populate_derived(); } // Function implementations for IfcCoil -boost::optional< ::Ifc4x3_rc3::IfcCoilTypeEnum::Value > Ifc4x3_rc3::IfcCoil::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCoilTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcCoilTypeEnum::Value > Ifc4x3_rc3::IfcCoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCoilTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcCoil::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCoilTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcCoilTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcCoil::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[175]); } const IfcParse::entity& Ifc4x3_rc3::IfcCoil::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[175]); } Ifc4x3_rc3::IfcCoil::IfcCoil(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc3::IfcCoil::IfcCoil(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcCoilTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcCoil::IfcCoil(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcCoilTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCoilType -::Ifc4x3_rc3::IfcCoilTypeEnum::Value Ifc4x3_rc3::IfcCoilType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCoilTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcCoilTypeEnum::Value Ifc4x3_rc3::IfcCoilType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCoilTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcCoilType::setPredefinedType(::Ifc4x3_rc3::IfcCoilTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcCoilTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcCoilType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[176]); } const IfcParse::entity& Ifc4x3_rc3::IfcCoilType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[176]); } Ifc4x3_rc3::IfcCoilType::IfcCoilType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc3::IfcCoilType::IfcCoilType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCoilTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcCoilType::IfcCoilType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCoilTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcColourRgb -double Ifc4x3_rc3::IfcColourRgb::Red() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc3::IfcColourRgb::Red() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcColourRgb::setRed(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc3::IfcColourRgb::Green() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc3::IfcColourRgb::Green() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcColourRgb::setGreen(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc3::IfcColourRgb::Blue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc3::IfcColourRgb::Blue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcColourRgb::setBlue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcColourRgb::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[180]); } const IfcParse::entity& Ifc4x3_rc3::IfcColourRgb::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[180]); } Ifc4x3_rc3::IfcColourRgb::IfcColourRgb(IfcEntityInstanceData&& e) : IfcColourSpecification(std::move(e)) { } -Ifc4x3_rc3::IfcColourRgb::IfcColourRgb(boost::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) : IfcColourSpecification(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; populate_derived(); } +Ifc4x3_rc3::IfcColourRgb::IfcColourRgb(boost::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) : IfcColourSpecification(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; populate_derived(); } // Function implementations for IfcColourRgbList -std::vector< std::vector< double > > Ifc4x3_rc3::IfcColourRgbList::ColourList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x3_rc3::IfcColourRgbList::ColourList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcColourRgbList::setColourList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc3::IfcColourRgbList::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[181]); } const IfcParse::entity& Ifc4x3_rc3::IfcColourRgbList::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[181]); } Ifc4x3_rc3::IfcColourRgbList::IfcColourRgbList(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcColourRgbList::IfcColourRgbList(std::vector< std::vector< double > > v1_ColourList) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_ColourList));; populate_derived(); } +Ifc4x3_rc3::IfcColourRgbList::IfcColourRgbList(std::vector< std::vector< double > > v1_ColourList) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_ColourList));; populate_derived(); } // Function implementations for IfcColourSpecification -boost::optional< std::string > Ifc4x3_rc3::IfcColourSpecification::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcColourSpecification::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcColourSpecification::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3_rc3::IfcColourSpecification::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[182]); } const IfcParse::entity& Ifc4x3_rc3::IfcColourSpecification::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[182]); } Ifc4x3_rc3::IfcColourSpecification::IfcColourSpecification(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcColourSpecification::IfcColourSpecification(boost::optional< std::string > v1_Name) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_rc3::IfcColourSpecification::IfcColourSpecification(boost::optional< std::string > v1_Name) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcColumn -boost::optional< ::Ifc4x3_rc3::IfcColumnTypeEnum::Value > Ifc4x3_rc3::IfcColumn::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcColumnTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcColumnTypeEnum::Value > Ifc4x3_rc3::IfcColumn::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcColumnTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcColumn::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcColumnTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcColumnTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcColumn::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[183]); } const IfcParse::entity& Ifc4x3_rc3::IfcColumn::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[183]); } Ifc4x3_rc3::IfcColumn::IfcColumn(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc3::IfcColumn::IfcColumn(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcColumnTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcColumn::IfcColumn(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcColumnTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcColumnStandardCase @@ -9184,75 +9184,75 @@ Ifc4x3_rc3::IfcColumn::IfcColumn(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwner const IfcParse::entity& Ifc4x3_rc3::IfcColumnStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[184]); } const IfcParse::entity& Ifc4x3_rc3::IfcColumnStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[184]); } Ifc4x3_rc3::IfcColumnStandardCase::IfcColumnStandardCase(IfcEntityInstanceData&& e) : IfcColumn(std::move(e)) { } -Ifc4x3_rc3::IfcColumnStandardCase::IfcColumnStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcColumnTypeEnum::Value > v9_PredefinedType) : IfcColumn(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcColumnStandardCase::IfcColumnStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcColumnTypeEnum::Value > v9_PredefinedType) : IfcColumn(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcColumnType -::Ifc4x3_rc3::IfcColumnTypeEnum::Value Ifc4x3_rc3::IfcColumnType::PredefinedType() const { return ::Ifc4x3_rc3::IfcColumnTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcColumnTypeEnum::Value Ifc4x3_rc3::IfcColumnType::PredefinedType() const { return ::Ifc4x3_rc3::IfcColumnTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcColumnType::setPredefinedType(::Ifc4x3_rc3::IfcColumnTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcColumnTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcColumnType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[185]); } const IfcParse::entity& Ifc4x3_rc3::IfcColumnType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[185]); } Ifc4x3_rc3::IfcColumnType::IfcColumnType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc3::IfcColumnType::IfcColumnType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcColumnTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcColumnType::IfcColumnType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcColumnTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCommunicationsAppliance -boost::optional< ::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x3_rc3::IfcCommunicationsAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x3_rc3::IfcCommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcCommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcCommunicationsAppliance::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[187]); } const IfcParse::entity& Ifc4x3_rc3::IfcCommunicationsAppliance::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[187]); } Ifc4x3_rc3::IfcCommunicationsAppliance::IfcCommunicationsAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc3::IfcCommunicationsAppliance::IfcCommunicationsAppliance(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcCommunicationsAppliance::IfcCommunicationsAppliance(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCommunicationsApplianceType -::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3_rc3::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3_rc3::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcCommunicationsApplianceType::setPredefinedType(::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcCommunicationsApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[188]); } const IfcParse::entity& Ifc4x3_rc3::IfcCommunicationsApplianceType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[188]); } Ifc4x3_rc3::IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc3::IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcComplexProperty -std::string Ifc4x3_rc3::IfcComplexProperty::UsageName() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3_rc3::IfcComplexProperty::UsageName() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcComplexProperty::setUsageName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_rc3::IfcProperty >::ptr Ifc4x3_rc3::IfcComplexProperty::HasProperties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc3::IfcProperty >(); } +aggregate_of< ::Ifc4x3_rc3::IfcProperty >::ptr Ifc4x3_rc3::IfcComplexProperty::HasProperties() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc3::IfcProperty >(); } void Ifc4x3_rc3::IfcComplexProperty::setHasProperties(aggregate_of< ::Ifc4x3_rc3::IfcProperty >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcComplexProperty::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[191]); } const IfcParse::entity& Ifc4x3_rc3::IfcComplexProperty::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[191]); } Ifc4x3_rc3::IfcComplexProperty::IfcComplexProperty(IfcEntityInstanceData&& e) : IfcProperty(std::move(e)) { } -Ifc4x3_rc3::IfcComplexProperty::IfcComplexProperty(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_UsageName, aggregate_of< ::Ifc4x3_rc3::IfcProperty >::ptr v4_HasProperties) : IfcProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, (v4_HasProperties)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcComplexProperty::IfcComplexProperty(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_UsageName, aggregate_of< ::Ifc4x3_rc3::IfcProperty >::ptr v4_HasProperties) : IfcProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, (v4_HasProperties)->generalize());; populate_derived(); } // Function implementations for IfcComplexPropertyTemplate -boost::optional< std::string > Ifc4x3_rc3::IfcComplexPropertyTemplate::UsageName() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcComplexPropertyTemplate::UsageName() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcComplexPropertyTemplate::setUsageName(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< ::Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4x3_rc3::IfcComplexPropertyTemplate::TemplateType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4x3_rc3::IfcComplexPropertyTemplate::TemplateType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc3::IfcComplexPropertyTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertyTemplate >::ptr > Ifc4x3_rc3::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3_rc3::IfcPropertyTemplate >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertyTemplate >::ptr > Ifc4x3_rc3::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3_rc3::IfcPropertyTemplate >(); } void Ifc4x3_rc3::IfcComplexPropertyTemplate::setHasPropertyTemplates(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertyTemplate >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc3::IfcComplexPropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[192]); } const IfcParse::entity& Ifc4x3_rc3::IfcComplexPropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[192]); } Ifc4x3_rc3::IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplate(std::move(e)) { } -Ifc4x3_rc3::IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_UsageName, boost::optional< ::Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertyTemplate >::ptr > v7_HasPropertyTemplates) : IfcPropertyTemplate(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, (*v7_HasPropertyTemplates)->generalize()); }; populate_derived(); } +Ifc4x3_rc3::IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_UsageName, boost::optional< ::Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertyTemplate >::ptr > v7_HasPropertyTemplates) : IfcPropertyTemplate(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, (*v7_HasPropertyTemplates)->generalize()); }; populate_derived(); } // Function implementations for IfcCompositeCurve -aggregate_of< ::Ifc4x3_rc3::IfcSegment >::ptr Ifc4x3_rc3::IfcCompositeCurve::Segments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcSegment >(); } +aggregate_of< ::Ifc4x3_rc3::IfcSegment >::ptr Ifc4x3_rc3::IfcCompositeCurve::Segments() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcSegment >(); } void Ifc4x3_rc3::IfcCompositeCurve::setSegments(aggregate_of< ::Ifc4x3_rc3::IfcSegment >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::logic::tribool Ifc4x3_rc3::IfcCompositeCurve::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(1); return v; } +boost::logic::tribool Ifc4x3_rc3::IfcCompositeCurve::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcCompositeCurve::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcCompositeCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[194]); } const IfcParse::entity& Ifc4x3_rc3::IfcCompositeCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[194]); } Ifc4x3_rc3::IfcCompositeCurve::IfcCompositeCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_rc3::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc4x3_rc3::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x3_rc3::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc4x3_rc3::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcCompositeCurveOnSurface @@ -9260,103 +9260,103 @@ Ifc4x3_rc3::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc4x3_rc3::Ifc const IfcParse::entity& Ifc4x3_rc3::IfcCompositeCurveOnSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[195]); } const IfcParse::entity& Ifc4x3_rc3::IfcCompositeCurveOnSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[195]); } Ifc4x3_rc3::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(IfcEntityInstanceData&& e) : IfcCompositeCurve(std::move(e)) { } -Ifc4x3_rc3::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(aggregate_of< ::Ifc4x3_rc3::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x3_rc3::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(aggregate_of< ::Ifc4x3_rc3::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcCompositeCurveSegment -bool Ifc4x3_rc3::IfcCompositeCurveSegment::SameSense() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x3_rc3::IfcCompositeCurveSegment::SameSense() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcCompositeCurveSegment::setSameSense(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcCurve>(true); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcCompositeCurveSegment::setParentCurve(::Ifc4x3_rc3::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcCompositeCurveSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[196]); } const IfcParse::entity& Ifc4x3_rc3::IfcCompositeCurveSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[196]); } Ifc4x3_rc3::IfcCompositeCurveSegment::IfcCompositeCurveSegment(IfcEntityInstanceData&& e) : IfcSegment(std::move(e)) { } -Ifc4x3_rc3::IfcCompositeCurveSegment::IfcCompositeCurveSegment(::Ifc4x3_rc3::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc3::IfcCurve* v3_ParentCurve) : IfcSegment(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcCompositeCurveSegment::IfcCompositeCurveSegment(::Ifc4x3_rc3::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc3::IfcCurve* v3_ParentCurve) : IfcSegment(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCompositeProfileDef -aggregate_of< ::Ifc4x3_rc3::IfcProfileDef >::ptr Ifc4x3_rc3::IfcCompositeProfileDef::Profiles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcProfileDef >(); } +aggregate_of< ::Ifc4x3_rc3::IfcProfileDef >::ptr Ifc4x3_rc3::IfcCompositeProfileDef::Profiles() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcProfileDef >(); } void Ifc4x3_rc3::IfcCompositeProfileDef::setProfiles(aggregate_of< ::Ifc4x3_rc3::IfcProfileDef >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x3_rc3::IfcCompositeProfileDef::Label() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcCompositeProfileDef::Label() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcCompositeProfileDef::setLabel(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc3::IfcCompositeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[197]); } const IfcParse::entity& Ifc4x3_rc3::IfcCompositeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[197]); } Ifc4x3_rc3::IfcCompositeProfileDef::IfcCompositeProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_rc3::IfcCompositeProfileDef::IfcCompositeProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, aggregate_of< ::Ifc4x3_rc3::IfcProfileDef >::ptr v3_Profiles, boost::optional< std::string > v4_Label) : IfcProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Profiles)->generalize()); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; populate_derived(); } +Ifc4x3_rc3::IfcCompositeProfileDef::IfcCompositeProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, aggregate_of< ::Ifc4x3_rc3::IfcProfileDef >::ptr v3_Profiles, boost::optional< std::string > v4_Label) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Profiles)->generalize()); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; populate_derived(); } // Function implementations for IfcCompressor -boost::optional< ::Ifc4x3_rc3::IfcCompressorTypeEnum::Value > Ifc4x3_rc3::IfcCompressor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCompressorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcCompressorTypeEnum::Value > Ifc4x3_rc3::IfcCompressor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCompressorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcCompressor::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCompressorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcCompressorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcCompressor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[199]); } const IfcParse::entity& Ifc4x3_rc3::IfcCompressor::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[199]); } Ifc4x3_rc3::IfcCompressor::IfcCompressor(IfcEntityInstanceData&& e) : IfcFlowMovingDevice(std::move(e)) { } -Ifc4x3_rc3::IfcCompressor::IfcCompressor(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcCompressorTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcCompressor::IfcCompressor(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcCompressorTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCompressorType -::Ifc4x3_rc3::IfcCompressorTypeEnum::Value Ifc4x3_rc3::IfcCompressorType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCompressorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcCompressorTypeEnum::Value Ifc4x3_rc3::IfcCompressorType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCompressorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcCompressorType::setPredefinedType(::Ifc4x3_rc3::IfcCompressorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcCompressorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcCompressorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[200]); } const IfcParse::entity& Ifc4x3_rc3::IfcCompressorType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[200]); } Ifc4x3_rc3::IfcCompressorType::IfcCompressorType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(e)) { } -Ifc4x3_rc3::IfcCompressorType::IfcCompressorType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCompressorTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcCompressorType::IfcCompressorType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCompressorTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCondenser -boost::optional< ::Ifc4x3_rc3::IfcCondenserTypeEnum::Value > Ifc4x3_rc3::IfcCondenser::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCondenserTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcCondenserTypeEnum::Value > Ifc4x3_rc3::IfcCondenser::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCondenserTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcCondenser::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCondenserTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcCondenserTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcCondenser::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[202]); } const IfcParse::entity& Ifc4x3_rc3::IfcCondenser::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[202]); } Ifc4x3_rc3::IfcCondenser::IfcCondenser(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc3::IfcCondenser::IfcCondenser(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcCondenserTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcCondenser::IfcCondenser(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcCondenserTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCondenserType -::Ifc4x3_rc3::IfcCondenserTypeEnum::Value Ifc4x3_rc3::IfcCondenserType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCondenserTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcCondenserTypeEnum::Value Ifc4x3_rc3::IfcCondenserType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCondenserTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcCondenserType::setPredefinedType(::Ifc4x3_rc3::IfcCondenserTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcCondenserTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcCondenserType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[203]); } const IfcParse::entity& Ifc4x3_rc3::IfcCondenserType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[203]); } Ifc4x3_rc3::IfcCondenserType::IfcCondenserType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc3::IfcCondenserType::IfcCondenserType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCondenserTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcCondenserType::IfcCondenserType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCondenserTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcConic -::Ifc4x3_rc3::IfcAxis2Placement* Ifc4x3_rc3::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcAxis2Placement>(true); } +::Ifc4x3_rc3::IfcAxis2Placement* Ifc4x3_rc3::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcAxis2Placement>(true); } void Ifc4x3_rc3::IfcConic::setPosition(::Ifc4x3_rc3::IfcAxis2Placement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc3::IfcConic::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[205]); } const IfcParse::entity& Ifc4x3_rc3::IfcConic::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[205]); } Ifc4x3_rc3::IfcConic::IfcConic(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_rc3::IfcConic::IfcConic(::Ifc4x3_rc3::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcConic::IfcConic(::Ifc4x3_rc3::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectedFaceSet -aggregate_of< ::Ifc4x3_rc3::IfcFace >::ptr Ifc4x3_rc3::IfcConnectedFaceSet::CfsFaces() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcFace >(); } +aggregate_of< ::Ifc4x3_rc3::IfcFace >::ptr Ifc4x3_rc3::IfcConnectedFaceSet::CfsFaces() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcFace >(); } void Ifc4x3_rc3::IfcConnectedFaceSet::setCfsFaces(aggregate_of< ::Ifc4x3_rc3::IfcFace >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc3::IfcConnectedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[206]); } const IfcParse::entity& Ifc4x3_rc3::IfcConnectedFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[206]); } Ifc4x3_rc3::IfcConnectedFaceSet::IfcConnectedFaceSet(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcConnectedFaceSet::IfcConnectedFaceSet(aggregate_of< ::Ifc4x3_rc3::IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcConnectedFaceSet::IfcConnectedFaceSet(aggregate_of< ::Ifc4x3_rc3::IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcConnectionCurveGeometry -::Ifc4x3_rc3::IfcCurveOrEdgeCurve* Ifc4x3_rc3::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCurveOrEdgeCurve>(true); } +::Ifc4x3_rc3::IfcCurveOrEdgeCurve* Ifc4x3_rc3::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCurveOrEdgeCurve>(true); } void Ifc4x3_rc3::IfcConnectionCurveGeometry::setCurveOnRelatingElement(::Ifc4x3_rc3::IfcCurveOrEdgeCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcCurveOrEdgeCurve* Ifc4x3_rc3::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcCurveOrEdgeCurve>(true); } +::Ifc4x3_rc3::IfcCurveOrEdgeCurve* Ifc4x3_rc3::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcCurveOrEdgeCurve>(true); } void Ifc4x3_rc3::IfcConnectionCurveGeometry::setCurveOnRelatedElement(::Ifc4x3_rc3::IfcCurveOrEdgeCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcConnectionCurveGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[207]); } const IfcParse::entity& Ifc4x3_rc3::IfcConnectionCurveGeometry::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[207]); } Ifc4x3_rc3::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x3_rc3::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc4x3_rc3::IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, ::Ifc4x3_rc3::IfcCurveOrEdgeCurve* v2_CurveOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_CurveOnRelatingElement ? v1_CurveOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_CurveOnRelatedElement ? v2_CurveOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc4x3_rc3::IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, ::Ifc4x3_rc3::IfcCurveOrEdgeCurve* v2_CurveOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_CurveOnRelatingElement ? v1_CurveOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_CurveOnRelatedElement ? v2_CurveOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionGeometry @@ -9364,72 +9364,72 @@ Ifc4x3_rc3::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc4x3_rc3: const IfcParse::entity& Ifc4x3_rc3::IfcConnectionGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[208]); } const IfcParse::entity& Ifc4x3_rc3::IfcConnectionGeometry::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[208]); } Ifc4x3_rc3::IfcConnectionGeometry::IfcConnectionGeometry(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc3::IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcConnectionPointEccentricity -boost::optional< double > Ifc4x3_rc3::IfcConnectionPointEccentricity::EccentricityInX() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc3::IfcConnectionPointEccentricity::EccentricityInX() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcConnectionPointEccentricity::setEccentricityInX(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc3::IfcConnectionPointEccentricity::EccentricityInY() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc3::IfcConnectionPointEccentricity::EccentricityInY() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcConnectionPointEccentricity::setEccentricityInY(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc3::IfcConnectionPointEccentricity::EccentricityInZ() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc3::IfcConnectionPointEccentricity::EccentricityInZ() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcConnectionPointEccentricity::setEccentricityInZ(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc3::IfcConnectionPointEccentricity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[209]); } const IfcParse::entity& Ifc4x3_rc3::IfcConnectionPointEccentricity::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[209]); } Ifc4x3_rc3::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcEntityInstanceData&& e) : IfcConnectionPointGeometry(std::move(e)) { } -Ifc4x3_rc3::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(::Ifc4x3_rc3::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3_rc3::IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; populate_derived(); } +Ifc4x3_rc3::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(::Ifc4x3_rc3::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3_rc3::IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; populate_derived(); } // Function implementations for IfcConnectionPointGeometry -::Ifc4x3_rc3::IfcPointOrVertexPoint* Ifc4x3_rc3::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcPointOrVertexPoint>(true); } +::Ifc4x3_rc3::IfcPointOrVertexPoint* Ifc4x3_rc3::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcPointOrVertexPoint>(true); } void Ifc4x3_rc3::IfcConnectionPointGeometry::setPointOnRelatingElement(::Ifc4x3_rc3::IfcPointOrVertexPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcPointOrVertexPoint* Ifc4x3_rc3::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcPointOrVertexPoint>(true); } +::Ifc4x3_rc3::IfcPointOrVertexPoint* Ifc4x3_rc3::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcPointOrVertexPoint>(true); } void Ifc4x3_rc3::IfcConnectionPointGeometry::setPointOnRelatedElement(::Ifc4x3_rc3::IfcPointOrVertexPoint* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcConnectionPointGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[210]); } const IfcParse::entity& Ifc4x3_rc3::IfcConnectionPointGeometry::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[210]); } Ifc4x3_rc3::IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x3_rc3::IfcConnectionPointGeometry::IfcConnectionPointGeometry(::Ifc4x3_rc3::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3_rc3::IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcConnectionPointGeometry::IfcConnectionPointGeometry(::Ifc4x3_rc3::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3_rc3::IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionSurfaceGeometry -::Ifc4x3_rc3::IfcSurfaceOrFaceSurface* Ifc4x3_rc3::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcSurfaceOrFaceSurface>(true); } +::Ifc4x3_rc3::IfcSurfaceOrFaceSurface* Ifc4x3_rc3::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcSurfaceOrFaceSurface>(true); } void Ifc4x3_rc3::IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(::Ifc4x3_rc3::IfcSurfaceOrFaceSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcSurfaceOrFaceSurface* Ifc4x3_rc3::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcSurfaceOrFaceSurface>(true); } +::Ifc4x3_rc3::IfcSurfaceOrFaceSurface* Ifc4x3_rc3::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcSurfaceOrFaceSurface>(true); } void Ifc4x3_rc3::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(::Ifc4x3_rc3::IfcSurfaceOrFaceSurface* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcConnectionSurfaceGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[211]); } const IfcParse::entity& Ifc4x3_rc3::IfcConnectionSurfaceGeometry::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[211]); } Ifc4x3_rc3::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x3_rc3::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(::Ifc4x3_rc3::IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, ::Ifc4x3_rc3::IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SurfaceOnRelatingElement ? v1_SurfaceOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_SurfaceOnRelatedElement ? v2_SurfaceOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(::Ifc4x3_rc3::IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, ::Ifc4x3_rc3::IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SurfaceOnRelatingElement ? v1_SurfaceOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_SurfaceOnRelatedElement ? v2_SurfaceOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionVolumeGeometry -::Ifc4x3_rc3::IfcSolidOrShell* Ifc4x3_rc3::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcSolidOrShell>(true); } +::Ifc4x3_rc3::IfcSolidOrShell* Ifc4x3_rc3::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcSolidOrShell>(true); } void Ifc4x3_rc3::IfcConnectionVolumeGeometry::setVolumeOnRelatingElement(::Ifc4x3_rc3::IfcSolidOrShell* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcSolidOrShell* Ifc4x3_rc3::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcSolidOrShell>(true); } +::Ifc4x3_rc3::IfcSolidOrShell* Ifc4x3_rc3::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcSolidOrShell>(true); } void Ifc4x3_rc3::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(::Ifc4x3_rc3::IfcSolidOrShell* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcConnectionVolumeGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[213]); } const IfcParse::entity& Ifc4x3_rc3::IfcConnectionVolumeGeometry::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[213]); } Ifc4x3_rc3::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x3_rc3::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(::Ifc4x3_rc3::IfcSolidOrShell* v1_VolumeOnRelatingElement, ::Ifc4x3_rc3::IfcSolidOrShell* v2_VolumeOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_VolumeOnRelatingElement ? v1_VolumeOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_VolumeOnRelatedElement ? v2_VolumeOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(::Ifc4x3_rc3::IfcSolidOrShell* v1_VolumeOnRelatingElement, ::Ifc4x3_rc3::IfcSolidOrShell* v2_VolumeOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_VolumeOnRelatingElement ? v1_VolumeOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_VolumeOnRelatedElement ? v2_VolumeOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConstraint -std::string Ifc4x3_rc3::IfcConstraint::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc3::IfcConstraint::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcConstraint::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc3::IfcConstraint::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcConstraint::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcConstraint::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc3::IfcConstraintEnum::Value Ifc4x3_rc3::IfcConstraint::ConstraintGrade() const { return ::Ifc4x3_rc3::IfcConstraintEnum::FromString(data_.get_attribute_value(2)); } +::Ifc4x3_rc3::IfcConstraintEnum::Value Ifc4x3_rc3::IfcConstraint::ConstraintGrade() const { return ::Ifc4x3_rc3::IfcConstraintEnum::FromString(get_attribute_value(2)); } void Ifc4x3_rc3::IfcConstraint::setConstraintGrade(::Ifc4x3_rc3::IfcConstraintEnum::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3_rc3::IfcConstraintEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x3_rc3::IfcConstraint::ConstraintSource() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcConstraint::ConstraintSource() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcConstraint::CreatingActor() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcActorSelect>(true); } +::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcConstraint::CreatingActor() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcActorSelect>(true); } void Ifc4x3_rc3::IfcConstraint::setCreatingActor(::Ifc4x3_rc3::IfcActorSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -boost::optional< std::string > Ifc4x3_rc3::IfcConstraint::CreationTime() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcConstraint::CreationTime() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcConstraint::setCreationTime(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc3::IfcConstraint::UserDefinedGrade() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcConstraint::UserDefinedGrade() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_rc3::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc3::IfcConstraint::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[434], 3)->as(); } @@ -9438,104 +9438,104 @@ void Ifc4x3_rc3::IfcConstraint::setUserDefinedGrade(boost::optional< std::string const IfcParse::entity& Ifc4x3_rc3::IfcConstraint::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[214]); } const IfcParse::entity& Ifc4x3_rc3::IfcConstraint::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[214]); } Ifc4x3_rc3::IfcConstraint::IfcConstraint(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc3::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; populate_derived(); } +Ifc4x3_rc3::IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc3::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; populate_derived(); } // Function implementations for IfcConstructionEquipmentResource -boost::optional< ::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x3_rc3::IfcConstructionEquipmentResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x3_rc3::IfcConstructionEquipmentResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc3::IfcConstructionEquipmentResource::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc3::IfcConstructionEquipmentResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[216]); } const IfcParse::entity& Ifc4x3_rc3::IfcConstructionEquipmentResource::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[216]); } Ifc4x3_rc3::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_rc3::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConstructionEquipmentResourceType -::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3_rc3::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3_rc3::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc3::IfcConstructionEquipmentResourceType::setPredefinedType(::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc3::IfcConstructionEquipmentResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[217]); } const IfcParse::entity& Ifc4x3_rc3::IfcConstructionEquipmentResourceType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[217]); } Ifc4x3_rc3::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_rc3::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc3::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcConstructionMaterialResource -boost::optional< ::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x3_rc3::IfcConstructionMaterialResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x3_rc3::IfcConstructionMaterialResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc3::IfcConstructionMaterialResource::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc3::IfcConstructionMaterialResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[219]); } const IfcParse::entity& Ifc4x3_rc3::IfcConstructionMaterialResource::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[219]); } Ifc4x3_rc3::IfcConstructionMaterialResource::IfcConstructionMaterialResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_rc3::IfcConstructionMaterialResource::IfcConstructionMaterialResource(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcConstructionMaterialResource::IfcConstructionMaterialResource(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConstructionMaterialResourceType -::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3_rc3::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3_rc3::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc3::IfcConstructionMaterialResourceType::setPredefinedType(::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc3::IfcConstructionMaterialResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[220]); } const IfcParse::entity& Ifc4x3_rc3::IfcConstructionMaterialResourceType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[220]); } Ifc4x3_rc3::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_rc3::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc3::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcConstructionProductResource -boost::optional< ::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Value > Ifc4x3_rc3::IfcConstructionProductResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Value > Ifc4x3_rc3::IfcConstructionProductResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc3::IfcConstructionProductResource::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc3::IfcConstructionProductResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[222]); } const IfcParse::entity& Ifc4x3_rc3::IfcConstructionProductResource::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[222]); } Ifc4x3_rc3::IfcConstructionProductResource::IfcConstructionProductResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_rc3::IfcConstructionProductResource::IfcConstructionProductResource(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcConstructionProductResource::IfcConstructionProductResource(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConstructionProductResourceType -::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Value Ifc4x3_rc3::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Value Ifc4x3_rc3::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc3::IfcConstructionProductResourceType::setPredefinedType(::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc3::IfcConstructionProductResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[223]); } const IfcParse::entity& Ifc4x3_rc3::IfcConstructionProductResourceType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[223]); } Ifc4x3_rc3::IfcConstructionProductResourceType::IfcConstructionProductResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_rc3::IfcConstructionProductResourceType::IfcConstructionProductResourceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcConstructionProductResourceType::IfcConstructionProductResourceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc3::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcConstructionResource -::Ifc4x3_rc3::IfcResourceTime* Ifc4x3_rc3::IfcConstructionResource::Usage() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc3::IfcResourceTime>(true); } +::Ifc4x3_rc3::IfcResourceTime* Ifc4x3_rc3::IfcConstructionResource::Usage() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc3::IfcResourceTime>(true); } void Ifc4x3_rc3::IfcConstructionResource::setUsage(::Ifc4x3_rc3::IfcResourceTime* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > Ifc4x3_rc3::IfcConstructionResource::BaseCosts() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_rc3::IfcAppliedValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > Ifc4x3_rc3::IfcConstructionResource::BaseCosts() const { if(get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_rc3::IfcAppliedValue >(); } void Ifc4x3_rc3::IfcConstructionResource::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v) { if (v) {set_attribute_value(8, (*v)->generalize());} else {unset_attribute_value(8);} } -::Ifc4x3_rc3::IfcPhysicalQuantity* Ifc4x3_rc3::IfcConstructionResource::BaseQuantity() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc3::IfcPhysicalQuantity>(true); } +::Ifc4x3_rc3::IfcPhysicalQuantity* Ifc4x3_rc3::IfcConstructionResource::BaseQuantity() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc3::IfcPhysicalQuantity>(true); } void Ifc4x3_rc3::IfcConstructionResource::setBaseQuantity(::Ifc4x3_rc3::IfcPhysicalQuantity* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcConstructionResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[225]); } const IfcParse::entity& Ifc4x3_rc3::IfcConstructionResource::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[225]); } Ifc4x3_rc3::IfcConstructionResource::IfcConstructionResource(IfcEntityInstanceData&& e) : IfcResource(std::move(e)) { } -Ifc4x3_rc3::IfcConstructionResource::IfcConstructionResource(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity* v10_BaseQuantity) : IfcResource(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcConstructionResource::IfcConstructionResource(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity* v10_BaseQuantity) : IfcResource(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConstructionResourceType -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > Ifc4x3_rc3::IfcConstructionResourceType::BaseCosts() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3_rc3::IfcAppliedValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > Ifc4x3_rc3::IfcConstructionResourceType::BaseCosts() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3_rc3::IfcAppliedValue >(); } void Ifc4x3_rc3::IfcConstructionResourceType::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -::Ifc4x3_rc3::IfcPhysicalQuantity* Ifc4x3_rc3::IfcConstructionResourceType::BaseQuantity() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_rc3::IfcPhysicalQuantity>(true); } +::Ifc4x3_rc3::IfcPhysicalQuantity* Ifc4x3_rc3::IfcConstructionResourceType::BaseQuantity() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_rc3::IfcPhysicalQuantity>(true); } void Ifc4x3_rc3::IfcConstructionResourceType::setBaseQuantity(::Ifc4x3_rc3::IfcPhysicalQuantity* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_rc3::IfcConstructionResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[226]); } const IfcParse::entity& Ifc4x3_rc3::IfcConstructionResourceType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[226]); } Ifc4x3_rc3::IfcConstructionResourceType::IfcConstructionResourceType(IfcEntityInstanceData&& e) : IfcTypeResource(std::move(e)) { } -Ifc4x3_rc3::IfcConstructionResourceType::IfcConstructionResourceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity* v11_BaseQuantity) : IfcTypeResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcConstructionResourceType::IfcConstructionResourceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity* v11_BaseQuantity) : IfcTypeResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcContext -boost::optional< std::string > Ifc4x3_rc3::IfcContext::ObjectType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcContext::ObjectType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcContext::setObjectType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc3::IfcContext::LongName() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcContext::LongName() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcContext::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc3::IfcContext::Phase() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcContext::Phase() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcContext::setPhase(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationContext >::ptr > Ifc4x3_rc3::IfcContext::RepresentationContexts() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc3::IfcRepresentationContext >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationContext >::ptr > Ifc4x3_rc3::IfcContext::RepresentationContexts() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc3::IfcRepresentationContext >(); } void Ifc4x3_rc3::IfcContext::setRepresentationContexts(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationContext >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -::Ifc4x3_rc3::IfcUnitAssignment* Ifc4x3_rc3::IfcContext::UnitsInContext() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc3::IfcUnitAssignment>(true); } +::Ifc4x3_rc3::IfcUnitAssignment* Ifc4x3_rc3::IfcContext::UnitsInContext() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc3::IfcUnitAssignment>(true); } void Ifc4x3_rc3::IfcContext::setUnitsInContext(::Ifc4x3_rc3::IfcUnitAssignment* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } ::Ifc4x3_rc3::IfcRelDefinesByProperties::list::ptr Ifc4x3_rc3::IfcContext::IsDefinedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[939], 4)->as(); } @@ -9544,10 +9544,10 @@ void Ifc4x3_rc3::IfcContext::setUnitsInContext(::Ifc4x3_rc3::IfcUnitAssignment* const IfcParse::entity& Ifc4x3_rc3::IfcContext::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[227]); } const IfcParse::entity& Ifc4x3_rc3::IfcContext::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[227]); } Ifc4x3_rc3::IfcContext::IfcContext(IfcEntityInstanceData&& e) : IfcObjectDefinition(std::move(e)) { } -Ifc4x3_rc3::IfcContext::IfcContext(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_rc3::IfcUnitAssignment* v9_UnitsInContext) : IfcObjectDefinition(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcContext::IfcContext(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_rc3::IfcUnitAssignment* v9_UnitsInContext) : IfcObjectDefinition(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcContextDependentUnit -std::string Ifc4x3_rc3::IfcContextDependentUnit::Name() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3_rc3::IfcContextDependentUnit::Name() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcContextDependentUnit::setName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } ::Ifc4x3_rc3::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc3::IfcContextDependentUnit::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[434], 3)->as(); } @@ -9555,10 +9555,10 @@ void Ifc4x3_rc3::IfcContextDependentUnit::setName(std::string v) { set_attribute const IfcParse::entity& Ifc4x3_rc3::IfcContextDependentUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[229]); } const IfcParse::entity& Ifc4x3_rc3::IfcContextDependentUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[229]); } Ifc4x3_rc3::IfcContextDependentUnit::IfcContextDependentUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -Ifc4x3_rc3::IfcContextDependentUnit::IfcContextDependentUnit(::Ifc4x3_rc3::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) : IfcNamedUnit(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; populate_derived(); } +Ifc4x3_rc3::IfcContextDependentUnit::IfcContextDependentUnit(::Ifc4x3_rc3::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) : IfcNamedUnit(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; populate_derived(); } // Function implementations for IfcControl -boost::optional< std::string > Ifc4x3_rc3::IfcControl::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcControl::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcControl::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x3_rc3::IfcRelAssignsToControl::list::ptr Ifc4x3_rc3::IfcControl::Controls() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[908], 6)->as(); } @@ -9566,32 +9566,32 @@ void Ifc4x3_rc3::IfcControl::setIdentification(boost::optional< std::string > v) const IfcParse::entity& Ifc4x3_rc3::IfcControl::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[230]); } const IfcParse::entity& Ifc4x3_rc3::IfcControl::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[230]); } Ifc4x3_rc3::IfcControl::IfcControl(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_rc3::IfcControl::IfcControl(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification) : IfcObject(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }; populate_derived(); } +Ifc4x3_rc3::IfcControl::IfcControl(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }; populate_derived(); } // Function implementations for IfcController -boost::optional< ::Ifc4x3_rc3::IfcControllerTypeEnum::Value > Ifc4x3_rc3::IfcController::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcControllerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcControllerTypeEnum::Value > Ifc4x3_rc3::IfcController::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcControllerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcController::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcControllerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcControllerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcController::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[231]); } const IfcParse::entity& Ifc4x3_rc3::IfcController::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[231]); } Ifc4x3_rc3::IfcController::IfcController(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_rc3::IfcController::IfcController(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcControllerTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcController::IfcController(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcControllerTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcControllerType -::Ifc4x3_rc3::IfcControllerTypeEnum::Value Ifc4x3_rc3::IfcControllerType::PredefinedType() const { return ::Ifc4x3_rc3::IfcControllerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcControllerTypeEnum::Value Ifc4x3_rc3::IfcControllerType::PredefinedType() const { return ::Ifc4x3_rc3::IfcControllerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcControllerType::setPredefinedType(::Ifc4x3_rc3::IfcControllerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcControllerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcControllerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[232]); } const IfcParse::entity& Ifc4x3_rc3::IfcControllerType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[232]); } Ifc4x3_rc3::IfcControllerType::IfcControllerType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_rc3::IfcControllerType::IfcControllerType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcControllerTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcControllerType::IfcControllerType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcControllerTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcConversionBasedUnit -std::string Ifc4x3_rc3::IfcConversionBasedUnit::Name() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3_rc3::IfcConversionBasedUnit::Name() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcConversionBasedUnit::setName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcMeasureWithUnit* Ifc4x3_rc3::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcMeasureWithUnit>(true); } +::Ifc4x3_rc3::IfcMeasureWithUnit* Ifc4x3_rc3::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcMeasureWithUnit>(true); } void Ifc4x3_rc3::IfcConversionBasedUnit::setConversionFactor(::Ifc4x3_rc3::IfcMeasureWithUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } ::Ifc4x3_rc3::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc3::IfcConversionBasedUnit::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[434], 3)->as(); } @@ -9599,98 +9599,98 @@ void Ifc4x3_rc3::IfcConversionBasedUnit::setConversionFactor(::Ifc4x3_rc3::IfcMe const IfcParse::entity& Ifc4x3_rc3::IfcConversionBasedUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[234]); } const IfcParse::entity& Ifc4x3_rc3::IfcConversionBasedUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[234]); } Ifc4x3_rc3::IfcConversionBasedUnit::IfcConversionBasedUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -Ifc4x3_rc3::IfcConversionBasedUnit::IfcConversionBasedUnit(::Ifc4x3_rc3::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc3::IfcMeasureWithUnit* v4_ConversionFactor) : IfcNamedUnit(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcConversionBasedUnit::IfcConversionBasedUnit(::Ifc4x3_rc3::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc3::IfcMeasureWithUnit* v4_ConversionFactor) : IfcNamedUnit(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConversionBasedUnitWithOffset -double Ifc4x3_rc3::IfcConversionBasedUnitWithOffset::ConversionOffset() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc3::IfcConversionBasedUnitWithOffset::ConversionOffset() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcConversionBasedUnitWithOffset::setConversionOffset(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc3::IfcConversionBasedUnitWithOffset::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[235]); } const IfcParse::entity& Ifc4x3_rc3::IfcConversionBasedUnitWithOffset::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[235]); } Ifc4x3_rc3::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(IfcEntityInstanceData&& e) : IfcConversionBasedUnit(std::move(e)) { } -Ifc4x3_rc3::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(::Ifc4x3_rc3::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc3::IfcMeasureWithUnit* v4_ConversionFactor, double v5_ConversionOffset) : IfcConversionBasedUnit(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ConversionOffset));; populate_derived(); } +Ifc4x3_rc3::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(::Ifc4x3_rc3::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc3::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_rc3::IfcMeasureWithUnit* v4_ConversionFactor, double v5_ConversionOffset) : IfcConversionBasedUnit(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ConversionOffset));; populate_derived(); } // Function implementations for IfcConveyorSegment -boost::optional< ::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Value > Ifc4x3_rc3::IfcConveyorSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Value > Ifc4x3_rc3::IfcConveyorSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcConveyorSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcConveyorSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[236]); } const IfcParse::entity& Ifc4x3_rc3::IfcConveyorSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[236]); } Ifc4x3_rc3::IfcConveyorSegment::IfcConveyorSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x3_rc3::IfcConveyorSegment::IfcConveyorSegment(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcConveyorSegment::IfcConveyorSegment(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConveyorSegmentType -::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Value Ifc4x3_rc3::IfcConveyorSegmentType::PredefinedType() const { return ::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Value Ifc4x3_rc3::IfcConveyorSegmentType::PredefinedType() const { return ::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcConveyorSegmentType::setPredefinedType(::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcConveyorSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[237]); } const IfcParse::entity& Ifc4x3_rc3::IfcConveyorSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[237]); } Ifc4x3_rc3::IfcConveyorSegmentType::IfcConveyorSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x3_rc3::IfcConveyorSegmentType::IfcConveyorSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcConveyorSegmentType::IfcConveyorSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcConveyorSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCooledBeam -boost::optional< ::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Value > Ifc4x3_rc3::IfcCooledBeam::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCooledBeamTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Value > Ifc4x3_rc3::IfcCooledBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCooledBeamTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcCooledBeam::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcCooledBeam::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[239]); } const IfcParse::entity& Ifc4x3_rc3::IfcCooledBeam::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[239]); } Ifc4x3_rc3::IfcCooledBeam::IfcCooledBeam(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc3::IfcCooledBeam::IfcCooledBeam(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcCooledBeam::IfcCooledBeam(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCooledBeamType -::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Value Ifc4x3_rc3::IfcCooledBeamType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCooledBeamTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Value Ifc4x3_rc3::IfcCooledBeamType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCooledBeamTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcCooledBeamType::setPredefinedType(::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcCooledBeamType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[240]); } const IfcParse::entity& Ifc4x3_rc3::IfcCooledBeamType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[240]); } Ifc4x3_rc3::IfcCooledBeamType::IfcCooledBeamType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc3::IfcCooledBeamType::IfcCooledBeamType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcCooledBeamType::IfcCooledBeamType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCoolingTower -boost::optional< ::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Value > Ifc4x3_rc3::IfcCoolingTower::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Value > Ifc4x3_rc3::IfcCoolingTower::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcCoolingTower::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcCoolingTower::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[242]); } const IfcParse::entity& Ifc4x3_rc3::IfcCoolingTower::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[242]); } Ifc4x3_rc3::IfcCoolingTower::IfcCoolingTower(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc3::IfcCoolingTower::IfcCoolingTower(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcCoolingTower::IfcCoolingTower(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCoolingTowerType -::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Value Ifc4x3_rc3::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Value Ifc4x3_rc3::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcCoolingTowerType::setPredefinedType(::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcCoolingTowerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[243]); } const IfcParse::entity& Ifc4x3_rc3::IfcCoolingTowerType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[243]); } Ifc4x3_rc3::IfcCoolingTowerType::IfcCoolingTowerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc3::IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCoordinateOperation -::Ifc4x3_rc3::IfcCoordinateReferenceSystemSelect* Ifc4x3_rc3::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCoordinateReferenceSystemSelect>(true); } +::Ifc4x3_rc3::IfcCoordinateReferenceSystemSelect* Ifc4x3_rc3::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCoordinateReferenceSystemSelect>(true); } void Ifc4x3_rc3::IfcCoordinateOperation::setSourceCRS(::Ifc4x3_rc3::IfcCoordinateReferenceSystemSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcCoordinateReferenceSystem* Ifc4x3_rc3::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcCoordinateReferenceSystem>(true); } +::Ifc4x3_rc3::IfcCoordinateReferenceSystem* Ifc4x3_rc3::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcCoordinateReferenceSystem>(true); } void Ifc4x3_rc3::IfcCoordinateOperation::setTargetCRS(::Ifc4x3_rc3::IfcCoordinateReferenceSystem* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcCoordinateOperation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[245]); } const IfcParse::entity& Ifc4x3_rc3::IfcCoordinateOperation::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[245]); } Ifc4x3_rc3::IfcCoordinateOperation::IfcCoordinateOperation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcCoordinateOperation::IfcCoordinateOperation(::Ifc4x3_rc3::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_rc3::IfcCoordinateReferenceSystem* v2_TargetCRS) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcCoordinateOperation::IfcCoordinateOperation(::Ifc4x3_rc3::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_rc3::IfcCoordinateReferenceSystem* v2_TargetCRS) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCoordinateReferenceSystem -std::string Ifc4x3_rc3::IfcCoordinateReferenceSystem::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc3::IfcCoordinateReferenceSystem::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcCoordinateReferenceSystem::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc3::IfcCoordinateReferenceSystem::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcCoordinateReferenceSystem::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcCoordinateReferenceSystem::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc3::IfcCoordinateReferenceSystem::GeodeticDatum() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcCoordinateReferenceSystem::GeodeticDatum() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcCoordinateReferenceSystem::setGeodeticDatum(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_rc3::IfcCoordinateReferenceSystem::VerticalDatum() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcCoordinateReferenceSystem::VerticalDatum() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcCoordinateReferenceSystem::setVerticalDatum(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } ::Ifc4x3_rc3::IfcCoordinateOperation::list::ptr Ifc4x3_rc3::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[245], 0)->as(); } @@ -9698,49 +9698,49 @@ void Ifc4x3_rc3::IfcCoordinateReferenceSystem::setVerticalDatum(boost::optional< const IfcParse::entity& Ifc4x3_rc3::IfcCoordinateReferenceSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[246]); } const IfcParse::entity& Ifc4x3_rc3::IfcCoordinateReferenceSystem::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[246]); } Ifc4x3_rc3::IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::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(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); }; populate_derived(); } +Ifc4x3_rc3::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(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); }; populate_derived(); } // Function implementations for IfcCosine -double Ifc4x3_rc3::IfcCosine::CosineTerm() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc3::IfcCosine::CosineTerm() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcCosine::setCosineTerm(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc3::IfcCosine::ConstantTerm() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc3::IfcCosine::ConstantTerm() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcCosine::setConstantTerm(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcCosine::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[248]); } const IfcParse::entity& Ifc4x3_rc3::IfcCosine::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[248]); } Ifc4x3_rc3::IfcCosine::IfcCosine(IfcEntityInstanceData&& e) : IfcSpiral(std::move(e)) { } -Ifc4x3_rc3::IfcCosine::IfcCosine(::Ifc4x3_rc3::IfcAxis2Placement* v1_Position, double v2_CosineTerm, double v3_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CosineTerm));set_attribute_value(2, (v3_ConstantTerm));; populate_derived(); } +Ifc4x3_rc3::IfcCosine::IfcCosine(::Ifc4x3_rc3::IfcAxis2Placement* v1_Position, double v2_CosineTerm, double v3_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CosineTerm));set_attribute_value(2, (v3_ConstantTerm));; populate_derived(); } // Function implementations for IfcCostItem -boost::optional< ::Ifc4x3_rc3::IfcCostItemTypeEnum::Value > Ifc4x3_rc3::IfcCostItem::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCostItemTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_rc3::IfcCostItemTypeEnum::Value > Ifc4x3_rc3::IfcCostItem::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCostItemTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_rc3::IfcCostItem::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCostItemTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_rc3::IfcCostItemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcCostValue >::ptr > Ifc4x3_rc3::IfcCostItem::CostValues() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc3::IfcCostValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcCostValue >::ptr > Ifc4x3_rc3::IfcCostItem::CostValues() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc3::IfcCostValue >(); } void Ifc4x3_rc3::IfcCostItem::setCostValues(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcCostValue >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPhysicalQuantity >::ptr > Ifc4x3_rc3::IfcCostItem::CostQuantities() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_rc3::IfcPhysicalQuantity >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPhysicalQuantity >::ptr > Ifc4x3_rc3::IfcCostItem::CostQuantities() const { if(get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_rc3::IfcPhysicalQuantity >(); } void Ifc4x3_rc3::IfcCostItem::setCostQuantities(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPhysicalQuantity >::ptr > v) { if (v) {set_attribute_value(8, (*v)->generalize());} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcCostItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[249]); } const IfcParse::entity& Ifc4x3_rc3::IfcCostItem::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[249]); } Ifc4x3_rc3::IfcCostItem::IfcCostItem(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_rc3::IfcCostItem::IfcCostItem(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3_rc3::IfcCostItemTypeEnum::Value > v7_PredefinedType, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcCostValue >::ptr > v8_CostValues, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPhysicalQuantity >::ptr > v9_CostQuantities) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc3::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, (*v8_CostValues)->generalize()); } if (v9_CostQuantities) {set_attribute_value(8, (*v9_CostQuantities)->generalize()); }; populate_derived(); } +Ifc4x3_rc3::IfcCostItem::IfcCostItem(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3_rc3::IfcCostItemTypeEnum::Value > v7_PredefinedType, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcCostValue >::ptr > v8_CostValues, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPhysicalQuantity >::ptr > v9_CostQuantities) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc3::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, (*v8_CostValues)->generalize()); } if (v9_CostQuantities) {set_attribute_value(8, (*v9_CostQuantities)->generalize()); }; populate_derived(); } // Function implementations for IfcCostSchedule -boost::optional< ::Ifc4x3_rc3::IfcCostScheduleTypeEnum::Value > Ifc4x3_rc3::IfcCostSchedule::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCostScheduleTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_rc3::IfcCostScheduleTypeEnum::Value > Ifc4x3_rc3::IfcCostSchedule::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCostScheduleTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_rc3::IfcCostSchedule::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCostScheduleTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_rc3::IfcCostScheduleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc3::IfcCostSchedule::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcCostSchedule::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcCostSchedule::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc3::IfcCostSchedule::SubmittedOn() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcCostSchedule::SubmittedOn() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcCostSchedule::setSubmittedOn(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_rc3::IfcCostSchedule::UpdateDate() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcCostSchedule::UpdateDate() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc3::IfcCostSchedule::setUpdateDate(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc3::IfcCostSchedule::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[251]); } const IfcParse::entity& Ifc4x3_rc3::IfcCostSchedule::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[251]); } Ifc4x3_rc3::IfcCostSchedule::IfcCostSchedule(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_rc3::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3_rc3::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_SubmittedOn, boost::optional< std::string > v10_UpdateDate) : IfcControl(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc3::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); }; populate_derived(); } +Ifc4x3_rc3::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3_rc3::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_SubmittedOn, boost::optional< std::string > v10_UpdateDate) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc3::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); }; populate_derived(); } // Function implementations for IfcCostValue @@ -9748,30 +9748,30 @@ Ifc4x3_rc3::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc3::IfcCostValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[253]); } const IfcParse::entity& Ifc4x3_rc3::IfcCostValue::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[253]); } Ifc4x3_rc3::IfcCostValue::IfcCostValue(IfcEntityInstanceData&& e) : IfcAppliedValue(std::move(e)) { } -Ifc4x3_rc3::IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3_rc3::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_rc3::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v10_Components) : IfcAppliedValue(IfcEntityInstanceData(storage_t(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } +Ifc4x3_rc3::IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3_rc3::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_rc3::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v10_Components) : IfcAppliedValue(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } // Function implementations for IfcCourse -boost::optional< ::Ifc4x3_rc3::IfcCourseTypeEnum::Value > Ifc4x3_rc3::IfcCourse::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCourseTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcCourseTypeEnum::Value > Ifc4x3_rc3::IfcCourse::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCourseTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcCourse::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCourseTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcCourseTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcCourse::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[255]); } const IfcParse::entity& Ifc4x3_rc3::IfcCourse::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[255]); } Ifc4x3_rc3::IfcCourse::IfcCourse(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc3::IfcCourse::IfcCourse(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcCourseTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcCourseTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcCourse::IfcCourse(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcCourseTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcCourseTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCourseType -::Ifc4x3_rc3::IfcCourseTypeEnum::Value Ifc4x3_rc3::IfcCourseType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCourseTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcCourseTypeEnum::Value Ifc4x3_rc3::IfcCourseType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCourseTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcCourseType::setPredefinedType(::Ifc4x3_rc3::IfcCourseTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcCourseTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcCourseType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[256]); } const IfcParse::entity& Ifc4x3_rc3::IfcCourseType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[256]); } Ifc4x3_rc3::IfcCourseType::IfcCourseType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc3::IfcCourseType::IfcCourseType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCourseTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcCourseTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcCourseType::IfcCourseType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCourseTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcCourseTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCovering -boost::optional< ::Ifc4x3_rc3::IfcCoveringTypeEnum::Value > Ifc4x3_rc3::IfcCovering::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCoveringTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcCoveringTypeEnum::Value > Ifc4x3_rc3::IfcCovering::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCoveringTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcCovering::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCoveringTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcCoveringTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x3_rc3::IfcRelCoversSpaces::list::ptr Ifc4x3_rc3::IfcCovering::CoversSpaces() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[934], 5)->as(); } @@ -9780,95 +9780,95 @@ void Ifc4x3_rc3::IfcCovering::setPredefinedType(boost::optional< ::Ifc4x3_rc3::I const IfcParse::entity& Ifc4x3_rc3::IfcCovering::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[258]); } const IfcParse::entity& Ifc4x3_rc3::IfcCovering::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[258]); } Ifc4x3_rc3::IfcCovering::IfcCovering(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc3::IfcCovering::IfcCovering(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcCoveringTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcCovering::IfcCovering(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcCoveringTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCoveringType -::Ifc4x3_rc3::IfcCoveringTypeEnum::Value Ifc4x3_rc3::IfcCoveringType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCoveringTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcCoveringTypeEnum::Value Ifc4x3_rc3::IfcCoveringType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCoveringTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcCoveringType::setPredefinedType(::Ifc4x3_rc3::IfcCoveringTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcCoveringTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcCoveringType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[259]); } const IfcParse::entity& Ifc4x3_rc3::IfcCoveringType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[259]); } Ifc4x3_rc3::IfcCoveringType::IfcCoveringType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc3::IfcCoveringType::IfcCoveringType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCoveringTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcCoveringType::IfcCoveringType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCoveringTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCrewResource -boost::optional< ::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Value > Ifc4x3_rc3::IfcCrewResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCrewResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Value > Ifc4x3_rc3::IfcCrewResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCrewResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc3::IfcCrewResource::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc3::IfcCrewResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[261]); } const IfcParse::entity& Ifc4x3_rc3::IfcCrewResource::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[261]); } Ifc4x3_rc3::IfcCrewResource::IfcCrewResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_rc3::IfcCrewResource::IfcCrewResource(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcCrewResource::IfcCrewResource(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCrewResourceType -::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Value Ifc4x3_rc3::IfcCrewResourceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCrewResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Value Ifc4x3_rc3::IfcCrewResourceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCrewResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc3::IfcCrewResourceType::setPredefinedType(::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc3::IfcCrewResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[262]); } const IfcParse::entity& Ifc4x3_rc3::IfcCrewResourceType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[262]); } Ifc4x3_rc3::IfcCrewResourceType::IfcCrewResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_rc3::IfcCrewResourceType::IfcCrewResourceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcCrewResourceType::IfcCrewResourceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc3::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcCsgPrimitive3D -::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(true); } void Ifc4x3_rc3::IfcCsgPrimitive3D::setPosition(::Ifc4x3_rc3::IfcAxis2Placement3D* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc3::IfcCsgPrimitive3D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[264]); } const IfcParse::entity& Ifc4x3_rc3::IfcCsgPrimitive3D::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[264]); } Ifc4x3_rc3::IfcCsgPrimitive3D::IfcCsgPrimitive3D(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcCsgPrimitive3D::IfcCsgPrimitive3D(::Ifc4x3_rc3::IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcCsgPrimitive3D::IfcCsgPrimitive3D(::Ifc4x3_rc3::IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCsgSolid -::Ifc4x3_rc3::IfcCsgSelect* Ifc4x3_rc3::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCsgSelect>(true); } +::Ifc4x3_rc3::IfcCsgSelect* Ifc4x3_rc3::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCsgSelect>(true); } void Ifc4x3_rc3::IfcCsgSolid::setTreeRootExpression(::Ifc4x3_rc3::IfcCsgSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc3::IfcCsgSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[266]); } const IfcParse::entity& Ifc4x3_rc3::IfcCsgSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[266]); } Ifc4x3_rc3::IfcCsgSolid::IfcCsgSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3_rc3::IfcCsgSolid::IfcCsgSolid(::Ifc4x3_rc3::IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_TreeRootExpression ? v1_TreeRootExpression->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcCsgSolid::IfcCsgSolid(::Ifc4x3_rc3::IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_TreeRootExpression ? v1_TreeRootExpression->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCurrencyRelationship -::Ifc4x3_rc3::IfcMonetaryUnit* Ifc4x3_rc3::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcMonetaryUnit>(true); } +::Ifc4x3_rc3::IfcMonetaryUnit* Ifc4x3_rc3::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcMonetaryUnit>(true); } void Ifc4x3_rc3::IfcCurrencyRelationship::setRelatingMonetaryUnit(::Ifc4x3_rc3::IfcMonetaryUnit* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcMonetaryUnit* Ifc4x3_rc3::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcMonetaryUnit>(true); } +::Ifc4x3_rc3::IfcMonetaryUnit* Ifc4x3_rc3::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcMonetaryUnit>(true); } void Ifc4x3_rc3::IfcCurrencyRelationship::setRelatedMonetaryUnit(::Ifc4x3_rc3::IfcMonetaryUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc3::IfcCurrencyRelationship::ExchangeRate() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc3::IfcCurrencyRelationship::ExchangeRate() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcCurrencyRelationship::setExchangeRate(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< std::string > Ifc4x3_rc3::IfcCurrencyRelationship::RateDateTime() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcCurrencyRelationship::RateDateTime() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcCurrencyRelationship::setRateDateTime(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc3::IfcLibraryInformation* Ifc4x3_rc3::IfcCurrencyRelationship::RateSource() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcLibraryInformation>(true); } +::Ifc4x3_rc3::IfcLibraryInformation* Ifc4x3_rc3::IfcCurrencyRelationship::RateSource() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcLibraryInformation>(true); } void Ifc4x3_rc3::IfcCurrencyRelationship::setRateSource(::Ifc4x3_rc3::IfcLibraryInformation* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc3::IfcCurrencyRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[268]); } const IfcParse::entity& Ifc4x3_rc3::IfcCurrencyRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[268]); } Ifc4x3_rc3::IfcCurrencyRelationship::IfcCurrencyRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_rc3::IfcCurrencyRelationship::IfcCurrencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcMonetaryUnit* v3_RelatingMonetaryUnit, ::Ifc4x3_rc3::IfcMonetaryUnit* v4_RelatedMonetaryUnit, double v5_ExchangeRate, boost::optional< std::string > v6_RateDateTime, ::Ifc4x3_rc3::IfcLibraryInformation* v7_RateSource) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMonetaryUnit ? v3_RelatingMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_RelatedMonetaryUnit ? v4_RelatedMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, v7_RateSource ? v7_RateSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcCurrencyRelationship::IfcCurrencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcMonetaryUnit* v3_RelatingMonetaryUnit, ::Ifc4x3_rc3::IfcMonetaryUnit* v4_RelatedMonetaryUnit, double v5_ExchangeRate, boost::optional< std::string > v6_RateDateTime, ::Ifc4x3_rc3::IfcLibraryInformation* v7_RateSource) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMonetaryUnit ? v3_RelatingMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_RelatedMonetaryUnit ? v4_RelatedMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, v7_RateSource ? v7_RateSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCurtainWall -boost::optional< ::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Value > Ifc4x3_rc3::IfcCurtainWall::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCurtainWallTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Value > Ifc4x3_rc3::IfcCurtainWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCurtainWallTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcCurtainWall::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcCurtainWall::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[269]); } const IfcParse::entity& Ifc4x3_rc3::IfcCurtainWall::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[269]); } Ifc4x3_rc3::IfcCurtainWall::IfcCurtainWall(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc3::IfcCurtainWall::IfcCurtainWall(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcCurtainWall::IfcCurtainWall(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCurtainWallType -::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Value Ifc4x3_rc3::IfcCurtainWallType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCurtainWallTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Value Ifc4x3_rc3::IfcCurtainWallType::PredefinedType() const { return ::Ifc4x3_rc3::IfcCurtainWallTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcCurtainWallType::setPredefinedType(::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcCurtainWallType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[270]); } const IfcParse::entity& Ifc4x3_rc3::IfcCurtainWallType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[270]); } Ifc4x3_rc3::IfcCurtainWallType::IfcCurtainWallType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc3::IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCurve @@ -9876,135 +9876,135 @@ Ifc4x3_rc3::IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x3_rc3::IfcCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[273]); } const IfcParse::entity& Ifc4x3_rc3::IfcCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[273]); } Ifc4x3_rc3::IfcCurve::IfcCurve(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcCurve::IfcCurve() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc3::IfcCurve::IfcCurve() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcCurveBoundedPlane -::Ifc4x3_rc3::IfcPlane* Ifc4x3_rc3::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcPlane>(true); } +::Ifc4x3_rc3::IfcPlane* Ifc4x3_rc3::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcPlane>(true); } void Ifc4x3_rc3::IfcCurveBoundedPlane::setBasisSurface(::Ifc4x3_rc3::IfcPlane* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcCurve>(true); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcCurveBoundedPlane::setOuterBoundary(::Ifc4x3_rc3::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3_rc3::IfcCurve >::ptr Ifc4x3_rc3::IfcCurveBoundedPlane::InnerBoundaries() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcCurve >(); } +aggregate_of< ::Ifc4x3_rc3::IfcCurve >::ptr Ifc4x3_rc3::IfcCurveBoundedPlane::InnerBoundaries() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcCurve >(); } void Ifc4x3_rc3::IfcCurveBoundedPlane::setInnerBoundaries(aggregate_of< ::Ifc4x3_rc3::IfcCurve >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcCurveBoundedPlane::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[274]); } const IfcParse::entity& Ifc4x3_rc3::IfcCurveBoundedPlane::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[274]); } Ifc4x3_rc3::IfcCurveBoundedPlane::IfcCurveBoundedPlane(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x3_rc3::IfcCurveBoundedPlane::IfcCurveBoundedPlane(::Ifc4x3_rc3::IfcPlane* v1_BasisSurface, ::Ifc4x3_rc3::IfcCurve* v2_OuterBoundary, aggregate_of< ::Ifc4x3_rc3::IfcCurve >::ptr v3_InnerBoundaries) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OuterBoundary ? v2_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_InnerBoundaries)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcCurveBoundedPlane::IfcCurveBoundedPlane(::Ifc4x3_rc3::IfcPlane* v1_BasisSurface, ::Ifc4x3_rc3::IfcCurve* v2_OuterBoundary, aggregate_of< ::Ifc4x3_rc3::IfcCurve >::ptr v3_InnerBoundaries) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OuterBoundary ? v2_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_InnerBoundaries)->generalize());; populate_derived(); } // Function implementations for IfcCurveBoundedSurface -::Ifc4x3_rc3::IfcSurface* Ifc4x3_rc3::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcSurface>(true); } +::Ifc4x3_rc3::IfcSurface* Ifc4x3_rc3::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcSurface>(true); } void Ifc4x3_rc3::IfcCurveBoundedSurface::setBasisSurface(::Ifc4x3_rc3::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc3::IfcBoundaryCurve >::ptr Ifc4x3_rc3::IfcCurveBoundedSurface::Boundaries() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcBoundaryCurve >(); } +aggregate_of< ::Ifc4x3_rc3::IfcBoundaryCurve >::ptr Ifc4x3_rc3::IfcCurveBoundedSurface::Boundaries() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcBoundaryCurve >(); } void Ifc4x3_rc3::IfcCurveBoundedSurface::setBoundaries(aggregate_of< ::Ifc4x3_rc3::IfcBoundaryCurve >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -bool Ifc4x3_rc3::IfcCurveBoundedSurface::ImplicitOuter() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x3_rc3::IfcCurveBoundedSurface::ImplicitOuter() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcCurveBoundedSurface::setImplicitOuter(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcCurveBoundedSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[275]); } const IfcParse::entity& Ifc4x3_rc3::IfcCurveBoundedSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[275]); } Ifc4x3_rc3::IfcCurveBoundedSurface::IfcCurveBoundedSurface(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x3_rc3::IfcCurveBoundedSurface::IfcCurveBoundedSurface(::Ifc4x3_rc3::IfcSurface* v1_BasisSurface, aggregate_of< ::Ifc4x3_rc3::IfcBoundaryCurve >::ptr v2_Boundaries, bool v3_ImplicitOuter) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Boundaries)->generalize());set_attribute_value(2, (v3_ImplicitOuter));; populate_derived(); } +Ifc4x3_rc3::IfcCurveBoundedSurface::IfcCurveBoundedSurface(::Ifc4x3_rc3::IfcSurface* v1_BasisSurface, aggregate_of< ::Ifc4x3_rc3::IfcBoundaryCurve >::ptr v2_Boundaries, bool v3_ImplicitOuter) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Boundaries)->generalize());set_attribute_value(2, (v3_ImplicitOuter));; populate_derived(); } // Function implementations for IfcCurveSegment -::Ifc4x3_rc3::IfcPlacement* Ifc4x3_rc3::IfcCurveSegment::Placement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcPlacement>(true); } +::Ifc4x3_rc3::IfcPlacement* Ifc4x3_rc3::IfcCurveSegment::Placement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcPlacement>(true); } void Ifc4x3_rc3::IfcCurveSegment::setPlacement(::Ifc4x3_rc3::IfcPlacement* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcCurveMeasureSelect* Ifc4x3_rc3::IfcCurveSegment::SegmentStart() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcCurveMeasureSelect>(true); } +::Ifc4x3_rc3::IfcCurveMeasureSelect* Ifc4x3_rc3::IfcCurveSegment::SegmentStart() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcCurveMeasureSelect>(true); } void Ifc4x3_rc3::IfcCurveSegment::setSegmentStart(::Ifc4x3_rc3::IfcCurveMeasureSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcCurveMeasureSelect* Ifc4x3_rc3::IfcCurveSegment::SegmentLength() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcCurveMeasureSelect>(true); } +::Ifc4x3_rc3::IfcCurveMeasureSelect* Ifc4x3_rc3::IfcCurveSegment::SegmentLength() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcCurveMeasureSelect>(true); } void Ifc4x3_rc3::IfcCurveSegment::setSegmentLength(::Ifc4x3_rc3::IfcCurveMeasureSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcCurve>(true); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcCurveSegment::setParentCurve(::Ifc4x3_rc3::IfcCurve* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc3::IfcCurveSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[281]); } const IfcParse::entity& Ifc4x3_rc3::IfcCurveSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[281]); } Ifc4x3_rc3::IfcCurveSegment::IfcCurveSegment(IfcEntityInstanceData&& e) : IfcSegment(std::move(e)) { } -Ifc4x3_rc3::IfcCurveSegment::IfcCurveSegment(::Ifc4x3_rc3::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_rc3::IfcPlacement* v2_Placement, ::Ifc4x3_rc3::IfcCurveMeasureSelect* v3_SegmentStart, ::Ifc4x3_rc3::IfcCurveMeasureSelect* v4_SegmentLength, ::Ifc4x3_rc3::IfcCurve* v5_ParentCurve) : IfcSegment(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SegmentStart ? v3_SegmentStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_SegmentLength ? v4_SegmentLength->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ParentCurve ? v5_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcCurveSegment::IfcCurveSegment(::Ifc4x3_rc3::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_rc3::IfcPlacement* v2_Placement, ::Ifc4x3_rc3::IfcCurveMeasureSelect* v3_SegmentStart, ::Ifc4x3_rc3::IfcCurveMeasureSelect* v4_SegmentLength, ::Ifc4x3_rc3::IfcCurve* v5_ParentCurve) : IfcSegment(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SegmentStart ? v3_SegmentStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_SegmentLength ? v4_SegmentLength->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ParentCurve ? v5_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCurveStyle -::Ifc4x3_rc3::IfcCurveFontOrScaledCurveFontSelect* Ifc4x3_rc3::IfcCurveStyle::CurveFont() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcCurveFontOrScaledCurveFontSelect>(true); } +::Ifc4x3_rc3::IfcCurveFontOrScaledCurveFontSelect* Ifc4x3_rc3::IfcCurveStyle::CurveFont() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcCurveFontOrScaledCurveFontSelect>(true); } void Ifc4x3_rc3::IfcCurveStyle::setCurveFont(::Ifc4x3_rc3::IfcCurveFontOrScaledCurveFontSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcSizeSelect* Ifc4x3_rc3::IfcCurveStyle::CurveWidth() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcSizeSelect>(true); } +::Ifc4x3_rc3::IfcSizeSelect* Ifc4x3_rc3::IfcCurveStyle::CurveWidth() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcSizeSelect>(true); } void Ifc4x3_rc3::IfcCurveStyle::setCurveWidth(::Ifc4x3_rc3::IfcSizeSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcColour* Ifc4x3_rc3::IfcCurveStyle::CurveColour() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcColour>(true); } +::Ifc4x3_rc3::IfcColour* Ifc4x3_rc3::IfcCurveStyle::CurveColour() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcColour>(true); } void Ifc4x3_rc3::IfcCurveStyle::setCurveColour(::Ifc4x3_rc3::IfcColour* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< bool > Ifc4x3_rc3::IfcCurveStyle::ModelOrDraughting() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } bool v = data_.get_attribute_value(4); return v; } +boost::optional< bool > Ifc4x3_rc3::IfcCurveStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return boost::none; } bool v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcCurveStyle::setModelOrDraughting(boost::optional< bool > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc3::IfcCurveStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[282]); } const IfcParse::entity& Ifc4x3_rc3::IfcCurveStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[282]); } Ifc4x3_rc3::IfcCurveStyle::IfcCurveStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x3_rc3::IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcCurveFontOrScaledCurveFontSelect* v2_CurveFont, ::Ifc4x3_rc3::IfcSizeSelect* v3_CurveWidth, ::Ifc4x3_rc3::IfcColour* v4_CurveColour, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CurveWidth ? v3_CurveWidth->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_CurveColour ? v4_CurveColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } +Ifc4x3_rc3::IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcCurveFontOrScaledCurveFontSelect* v2_CurveFont, ::Ifc4x3_rc3::IfcSizeSelect* v3_CurveWidth, ::Ifc4x3_rc3::IfcColour* v4_CurveColour, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CurveWidth ? v3_CurveWidth->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_CurveColour ? v4_CurveColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } // Function implementations for IfcCurveStyleFont -boost::optional< std::string > Ifc4x3_rc3::IfcCurveStyleFont::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcCurveStyleFont::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcCurveStyleFont::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -aggregate_of< ::Ifc4x3_rc3::IfcCurveStyleFontPattern >::ptr Ifc4x3_rc3::IfcCurveStyleFont::PatternList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcCurveStyleFontPattern >(); } +aggregate_of< ::Ifc4x3_rc3::IfcCurveStyleFontPattern >::ptr Ifc4x3_rc3::IfcCurveStyleFont::PatternList() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcCurveStyleFontPattern >(); } void Ifc4x3_rc3::IfcCurveStyleFont::setPatternList(aggregate_of< ::Ifc4x3_rc3::IfcCurveStyleFontPattern >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcCurveStyleFont::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[283]); } const IfcParse::entity& Ifc4x3_rc3::IfcCurveStyleFont::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[283]); } Ifc4x3_rc3::IfcCurveStyleFont::IfcCurveStyleFont(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc3::IfcCurveStyleFontPattern >::ptr v2_PatternList) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_PatternList)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc3::IfcCurveStyleFontPattern >::ptr v2_PatternList) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_PatternList)->generalize());; populate_derived(); } // Function implementations for IfcCurveStyleFontAndScaling -boost::optional< std::string > Ifc4x3_rc3::IfcCurveStyleFontAndScaling::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcCurveStyleFontAndScaling::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_rc3::IfcCurveStyleFontSelect* Ifc4x3_rc3::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcCurveStyleFontSelect>(true); } +::Ifc4x3_rc3::IfcCurveStyleFontSelect* Ifc4x3_rc3::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcCurveStyleFontSelect>(true); } void Ifc4x3_rc3::IfcCurveStyleFontAndScaling::setCurveFont(::Ifc4x3_rc3::IfcCurveStyleFontSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc3::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc3::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcCurveStyleFontAndScaling::setCurveFontScaling(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcCurveStyleFontAndScaling::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[284]); } const IfcParse::entity& Ifc4x3_rc3::IfcCurveStyleFontAndScaling::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[284]); } Ifc4x3_rc3::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcCurveStyleFontSelect* v2_CurveFont, double v3_CurveFontScaling) : IfcPresentationItem(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_CurveFontScaling));; populate_derived(); } +Ifc4x3_rc3::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcCurveStyleFontSelect* v2_CurveFont, double v3_CurveFontScaling) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_CurveFontScaling));; populate_derived(); } // Function implementations for IfcCurveStyleFontPattern -double Ifc4x3_rc3::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_rc3::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcCurveStyleFontPattern::setVisibleSegmentLength(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc3::IfcCurveStyleFontPattern::InvisibleSegmentLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc3::IfcCurveStyleFontPattern::InvisibleSegmentLength() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcCurveStyleFontPattern::setInvisibleSegmentLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcCurveStyleFontPattern::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[285]); } const IfcParse::entity& Ifc4x3_rc3::IfcCurveStyleFontPattern::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[285]); } Ifc4x3_rc3::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; populate_derived(); } +Ifc4x3_rc3::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; populate_derived(); } // Function implementations for IfcCylindricalSurface -double Ifc4x3_rc3::IfcCylindricalSurface::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc3::IfcCylindricalSurface::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcCylindricalSurface::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcCylindricalSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[287]); } const IfcParse::entity& Ifc4x3_rc3::IfcCylindricalSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[287]); } Ifc4x3_rc3::IfcCylindricalSurface::IfcCylindricalSurface(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x3_rc3::IfcCylindricalSurface::IfcCylindricalSurface(::Ifc4x3_rc3::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x3_rc3::IfcCylindricalSurface::IfcCylindricalSurface(::Ifc4x3_rc3::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcDamper -boost::optional< ::Ifc4x3_rc3::IfcDamperTypeEnum::Value > Ifc4x3_rc3::IfcDamper::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDamperTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcDamperTypeEnum::Value > Ifc4x3_rc3::IfcDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDamperTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcDamper::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDamperTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcDamperTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcDamper::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[288]); } const IfcParse::entity& Ifc4x3_rc3::IfcDamper::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[288]); } Ifc4x3_rc3::IfcDamper::IfcDamper(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_rc3::IfcDamper::IfcDamper(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcDamperTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcDamper::IfcDamper(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcDamperTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDamperType -::Ifc4x3_rc3::IfcDamperTypeEnum::Value Ifc4x3_rc3::IfcDamperType::PredefinedType() const { return ::Ifc4x3_rc3::IfcDamperTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcDamperTypeEnum::Value Ifc4x3_rc3::IfcDamperType::PredefinedType() const { return ::Ifc4x3_rc3::IfcDamperTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcDamperType::setPredefinedType(::Ifc4x3_rc3::IfcDamperTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcDamperTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcDamperType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[289]); } const IfcParse::entity& Ifc4x3_rc3::IfcDamperType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[289]); } Ifc4x3_rc3::IfcDamperType::IfcDamperType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_rc3::IfcDamperType::IfcDamperType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDamperTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcDamperType::IfcDamperType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDamperTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDeepFoundation @@ -10012,7 +10012,7 @@ Ifc4x3_rc3::IfcDamperType::IfcDamperType(std::string v1_GlobalId, ::Ifc4x3_rc3:: const IfcParse::entity& Ifc4x3_rc3::IfcDeepFoundation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[296]); } const IfcParse::entity& Ifc4x3_rc3::IfcDeepFoundation::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[296]); } Ifc4x3_rc3::IfcDeepFoundation::IfcDeepFoundation(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc3::IfcDeepFoundation::IfcDeepFoundation(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuiltElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc3::IfcDeepFoundation::IfcDeepFoundation(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDeepFoundationType @@ -10020,93 +10020,93 @@ Ifc4x3_rc3::IfcDeepFoundation::IfcDeepFoundation(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3_rc3::IfcDeepFoundationType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[297]); } const IfcParse::entity& Ifc4x3_rc3::IfcDeepFoundationType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[297]); } Ifc4x3_rc3::IfcDeepFoundationType::IfcDeepFoundationType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc3::IfcDeepFoundationType::IfcDeepFoundationType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc3::IfcDeepFoundationType::IfcDeepFoundationType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDerivedProfileDef -::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcProfileDef>(true); } +::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcProfileDef>(true); } void Ifc4x3_rc3::IfcDerivedProfileDef::setParentProfile(::Ifc4x3_rc3::IfcProfileDef* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcCartesianTransformationOperator2D* Ifc4x3_rc3::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcCartesianTransformationOperator2D>(true); } +::Ifc4x3_rc3::IfcCartesianTransformationOperator2D* Ifc4x3_rc3::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcCartesianTransformationOperator2D>(true); } void Ifc4x3_rc3::IfcDerivedProfileDef::setOperator(::Ifc4x3_rc3::IfcCartesianTransformationOperator2D* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc3::IfcDerivedProfileDef::Label() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcDerivedProfileDef::Label() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc3::IfcDerivedProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[300]); } const IfcParse::entity& Ifc4x3_rc3::IfcDerivedProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[300]); } Ifc4x3_rc3::IfcDerivedProfileDef::IfcDerivedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_rc3::IfcDerivedProfileDef::IfcDerivedProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcProfileDef* v3_ParentProfile, ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< std::string > v5_Label) : IfcProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Operator ? v4_Operator->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } +Ifc4x3_rc3::IfcDerivedProfileDef::IfcDerivedProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcProfileDef* v3_ParentProfile, ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< std::string > v5_Label) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Operator ? v4_Operator->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } // Function implementations for IfcDerivedUnit -aggregate_of< ::Ifc4x3_rc3::IfcDerivedUnitElement >::ptr Ifc4x3_rc3::IfcDerivedUnit::Elements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcDerivedUnitElement >(); } +aggregate_of< ::Ifc4x3_rc3::IfcDerivedUnitElement >::ptr Ifc4x3_rc3::IfcDerivedUnit::Elements() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcDerivedUnitElement >(); } void Ifc4x3_rc3::IfcDerivedUnit::setElements(aggregate_of< ::Ifc4x3_rc3::IfcDerivedUnitElement >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcDerivedUnitEnum::Value Ifc4x3_rc3::IfcDerivedUnit::UnitType() const { return ::Ifc4x3_rc3::IfcDerivedUnitEnum::FromString(data_.get_attribute_value(1)); } +::Ifc4x3_rc3::IfcDerivedUnitEnum::Value Ifc4x3_rc3::IfcDerivedUnit::UnitType() const { return ::Ifc4x3_rc3::IfcDerivedUnitEnum::FromString(get_attribute_value(1)); } void Ifc4x3_rc3::IfcDerivedUnit::setUnitType(::Ifc4x3_rc3::IfcDerivedUnitEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x3_rc3::IfcDerivedUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_rc3::IfcDerivedUnit::UserDefinedType() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcDerivedUnit::UserDefinedType() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcDerivedUnit::setUserDefinedType(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc3::IfcDerivedUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[301]); } const IfcParse::entity& Ifc4x3_rc3::IfcDerivedUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[301]); } Ifc4x3_rc3::IfcDerivedUnit::IfcDerivedUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcDerivedUnit::IfcDerivedUnit(aggregate_of< ::Ifc4x3_rc3::IfcDerivedUnitElement >::ptr v1_Elements, ::Ifc4x3_rc3::IfcDerivedUnitEnum::Value v2_UnitType, boost::optional< std::string > v3_UserDefinedType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Elements)->generalize());set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc3::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); }; populate_derived(); } +Ifc4x3_rc3::IfcDerivedUnit::IfcDerivedUnit(aggregate_of< ::Ifc4x3_rc3::IfcDerivedUnitElement >::ptr v1_Elements, ::Ifc4x3_rc3::IfcDerivedUnitEnum::Value v2_UnitType, boost::optional< std::string > v3_UserDefinedType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Elements)->generalize());set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc3::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); }; populate_derived(); } // Function implementations for IfcDerivedUnitElement -::Ifc4x3_rc3::IfcNamedUnit* Ifc4x3_rc3::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcNamedUnit>(true); } +::Ifc4x3_rc3::IfcNamedUnit* Ifc4x3_rc3::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcNamedUnit>(true); } void Ifc4x3_rc3::IfcDerivedUnitElement::setUnit(::Ifc4x3_rc3::IfcNamedUnit* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -int Ifc4x3_rc3::IfcDerivedUnitElement::Exponent() const { int v = data_.get_attribute_value(1); return v; } +int Ifc4x3_rc3::IfcDerivedUnitElement::Exponent() const { int v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcDerivedUnitElement::setExponent(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcDerivedUnitElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[302]); } const IfcParse::entity& Ifc4x3_rc3::IfcDerivedUnitElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[302]); } Ifc4x3_rc3::IfcDerivedUnitElement::IfcDerivedUnitElement(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcDerivedUnitElement::IfcDerivedUnitElement(::Ifc4x3_rc3::IfcNamedUnit* v1_Unit, int v2_Exponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Unit ? v1_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Exponent));; populate_derived(); } +Ifc4x3_rc3::IfcDerivedUnitElement::IfcDerivedUnitElement(::Ifc4x3_rc3::IfcNamedUnit* v1_Unit, int v2_Exponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Unit ? v1_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Exponent));; populate_derived(); } // Function implementations for IfcDimensionalExponents -int Ifc4x3_rc3::IfcDimensionalExponents::LengthExponent() const { int v = data_.get_attribute_value(0); return v; } +int Ifc4x3_rc3::IfcDimensionalExponents::LengthExponent() const { int v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcDimensionalExponents::setLengthExponent(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -int Ifc4x3_rc3::IfcDimensionalExponents::MassExponent() const { int v = data_.get_attribute_value(1); return v; } +int Ifc4x3_rc3::IfcDimensionalExponents::MassExponent() const { int v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcDimensionalExponents::setMassExponent(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -int Ifc4x3_rc3::IfcDimensionalExponents::TimeExponent() const { int v = data_.get_attribute_value(2); return v; } +int Ifc4x3_rc3::IfcDimensionalExponents::TimeExponent() const { int v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcDimensionalExponents::setTimeExponent(int v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -int Ifc4x3_rc3::IfcDimensionalExponents::ElectricCurrentExponent() const { int v = data_.get_attribute_value(3); return v; } +int Ifc4x3_rc3::IfcDimensionalExponents::ElectricCurrentExponent() const { int v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcDimensionalExponents::setElectricCurrentExponent(int v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -int Ifc4x3_rc3::IfcDimensionalExponents::ThermodynamicTemperatureExponent() const { int v = data_.get_attribute_value(4); return v; } +int Ifc4x3_rc3::IfcDimensionalExponents::ThermodynamicTemperatureExponent() const { int v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcDimensionalExponents::setThermodynamicTemperatureExponent(int v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -int Ifc4x3_rc3::IfcDimensionalExponents::AmountOfSubstanceExponent() const { int v = data_.get_attribute_value(5); return v; } +int Ifc4x3_rc3::IfcDimensionalExponents::AmountOfSubstanceExponent() const { int v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcDimensionalExponents::setAmountOfSubstanceExponent(int v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -int Ifc4x3_rc3::IfcDimensionalExponents::LuminousIntensityExponent() const { int v = data_.get_attribute_value(6); return v; } +int Ifc4x3_rc3::IfcDimensionalExponents::LuminousIntensityExponent() const { int v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcDimensionalExponents::setLuminousIntensityExponent(int v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc3::IfcDimensionalExponents::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[305]); } const IfcParse::entity& Ifc4x3_rc3::IfcDimensionalExponents::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[305]); } Ifc4x3_rc3::IfcDimensionalExponents::IfcDimensionalExponents(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::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(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; populate_derived(); } +Ifc4x3_rc3::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(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; populate_derived(); } // Function implementations for IfcDirection -std::vector< double > /*[2:3]*/ Ifc4x3_rc3::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[2:3]*/ Ifc4x3_rc3::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcDirection::setDirectionRatios(std::vector< double > /*[2:3]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc3::IfcDirection::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[307]); } const IfcParse::entity& Ifc4x3_rc3::IfcDirection::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[307]); } Ifc4x3_rc3::IfcDirection::IfcDirection(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionRatios) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_DirectionRatios));; populate_derived(); } +Ifc4x3_rc3::IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionRatios) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_DirectionRatios));; populate_derived(); } // Function implementations for IfcDirectrixCurveSweptAreaSolid -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcCurve>(true); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::setDirectrix(::Ifc4x3_rc3::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcCurveMeasureSelect* Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::StartParam() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcCurveMeasureSelect>(true); } +::Ifc4x3_rc3::IfcCurveMeasureSelect* Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcCurveMeasureSelect>(true); } void Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::setStartParam(::Ifc4x3_rc3::IfcCurveMeasureSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc3::IfcCurveMeasureSelect* Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::EndParam() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcCurveMeasureSelect>(true); } +::Ifc4x3_rc3::IfcCurveMeasureSelect* Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcCurveMeasureSelect>(true); } void Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::setEndParam(::Ifc4x3_rc3::IfcCurveMeasureSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[309]); } const IfcParse::entity& Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[309]); } Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid(::Ifc4x3_rc3::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc3::IfcCurve* v3_Directrix, ::Ifc4x3_rc3::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_rc3::IfcCurveMeasureSelect* v5_EndParam) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid(::Ifc4x3_rc3::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc3::IfcCurve* v3_Directrix, ::Ifc4x3_rc3::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_rc3::IfcCurveMeasureSelect* v5_EndParam) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDirectrixDerivedReferenceSweptAreaSolid @@ -10114,81 +10114,81 @@ Ifc4x3_rc3::IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid(::I const IfcParse::entity& Ifc4x3_rc3::IfcDirectrixDerivedReferenceSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[310]); } const IfcParse::entity& Ifc4x3_rc3::IfcDirectrixDerivedReferenceSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[310]); } Ifc4x3_rc3::IfcDirectrixDerivedReferenceSweptAreaSolid::IfcDirectrixDerivedReferenceSweptAreaSolid(IfcEntityInstanceData&& e) : IfcFixedReferenceSweptAreaSolid(std::move(e)) { } -Ifc4x3_rc3::IfcDirectrixDerivedReferenceSweptAreaSolid::IfcDirectrixDerivedReferenceSweptAreaSolid(::Ifc4x3_rc3::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc3::IfcCurve* v3_Directrix, ::Ifc4x3_rc3::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_rc3::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3_rc3::IfcDirection* v6_FixedReference) : IfcFixedReferenceSweptAreaSolid(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_FixedReference ? v6_FixedReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcDirectrixDerivedReferenceSweptAreaSolid::IfcDirectrixDerivedReferenceSweptAreaSolid(::Ifc4x3_rc3::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc3::IfcCurve* v3_Directrix, ::Ifc4x3_rc3::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_rc3::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3_rc3::IfcDirection* v6_FixedReference) : IfcFixedReferenceSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_FixedReference ? v6_FixedReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDirectrixDistanceSweptAreaSolid -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcCurve>(true); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::setDirectrix(::Ifc4x3_rc3::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcPointByDistanceExpression* Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::StartDistance() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcPointByDistanceExpression>(true); } +::Ifc4x3_rc3::IfcPointByDistanceExpression* Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::StartDistance() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcPointByDistanceExpression>(true); } void Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::setStartDistance(::Ifc4x3_rc3::IfcPointByDistanceExpression* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc3::IfcPointByDistanceExpression* Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::EndDistance() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcPointByDistanceExpression>(true); } +::Ifc4x3_rc3::IfcPointByDistanceExpression* Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::EndDistance() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcPointByDistanceExpression>(true); } void Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::setEndDistance(::Ifc4x3_rc3::IfcPointByDistanceExpression* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[311]); } const IfcParse::entity& Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[311]); } Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::IfcDirectrixDistanceSweptAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::IfcDirectrixDistanceSweptAreaSolid(::Ifc4x3_rc3::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc3::IfcCurve* v3_Directrix, ::Ifc4x3_rc3::IfcPointByDistanceExpression* v4_StartDistance, ::Ifc4x3_rc3::IfcPointByDistanceExpression* v5_EndDistance) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartDistance ? v4_StartDistance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndDistance ? v5_EndDistance->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcDirectrixDistanceSweptAreaSolid::IfcDirectrixDistanceSweptAreaSolid(::Ifc4x3_rc3::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc3::IfcCurve* v3_Directrix, ::Ifc4x3_rc3::IfcPointByDistanceExpression* v4_StartDistance, ::Ifc4x3_rc3::IfcPointByDistanceExpression* v5_EndDistance) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartDistance ? v4_StartDistance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndDistance ? v5_EndDistance->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDiscreteAccessory -boost::optional< ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x3_rc3::IfcDiscreteAccessory::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x3_rc3::IfcDiscreteAccessory::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcDiscreteAccessory::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcDiscreteAccessory::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[312]); } const IfcParse::entity& Ifc4x3_rc3::IfcDiscreteAccessory::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[312]); } Ifc4x3_rc3::IfcDiscreteAccessory::IfcDiscreteAccessory(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_rc3::IfcDiscreteAccessory::IfcDiscreteAccessory(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcDiscreteAccessory::IfcDiscreteAccessory(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDiscreteAccessoryType -::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3_rc3::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3_rc3::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcDiscreteAccessoryType::setPredefinedType(::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcDiscreteAccessoryType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[313]); } const IfcParse::entity& Ifc4x3_rc3::IfcDiscreteAccessoryType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[313]); } Ifc4x3_rc3::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_rc3::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDistributionBoard -boost::optional< ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value > Ifc4x3_rc3::IfcDistributionBoard::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value > Ifc4x3_rc3::IfcDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcDistributionBoard::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[315]); } const IfcParse::entity& Ifc4x3_rc3::IfcDistributionBoard::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[315]); } Ifc4x3_rc3::IfcDistributionBoard::IfcDistributionBoard(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_rc3::IfcDistributionBoard::IfcDistributionBoard(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcDistributionBoard::IfcDistributionBoard(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDistributionBoardType -::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value Ifc4x3_rc3::IfcDistributionBoardType::PredefinedType() const { return ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value Ifc4x3_rc3::IfcDistributionBoardType::PredefinedType() const { return ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcDistributionBoardType::setPredefinedType(::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcDistributionBoardType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[316]); } const IfcParse::entity& Ifc4x3_rc3::IfcDistributionBoardType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[316]); } Ifc4x3_rc3::IfcDistributionBoardType::IfcDistributionBoardType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_rc3::IfcDistributionBoardType::IfcDistributionBoardType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcDistributionBoardType::IfcDistributionBoardType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDistributionChamberElement -boost::optional< ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value > Ifc4x3_rc3::IfcDistributionChamberElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value > Ifc4x3_rc3::IfcDistributionChamberElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcDistributionChamberElement::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcDistributionChamberElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[318]); } const IfcParse::entity& Ifc4x3_rc3::IfcDistributionChamberElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[318]); } Ifc4x3_rc3::IfcDistributionChamberElement::IfcDistributionChamberElement(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_rc3::IfcDistributionChamberElement::IfcDistributionChamberElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcDistributionChamberElement::IfcDistributionChamberElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDistributionChamberElementType -::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value Ifc4x3_rc3::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value Ifc4x3_rc3::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcDistributionChamberElementType::setPredefinedType(::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcDistributionChamberElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[319]); } const IfcParse::entity& Ifc4x3_rc3::IfcDistributionChamberElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[319]); } Ifc4x3_rc3::IfcDistributionChamberElementType::IfcDistributionChamberElementType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_rc3::IfcDistributionChamberElementType::IfcDistributionChamberElementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcDistributionChamberElementType::IfcDistributionChamberElementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDistributionCircuit @@ -10196,7 +10196,7 @@ Ifc4x3_rc3::IfcDistributionChamberElementType::IfcDistributionChamberElementType const IfcParse::entity& Ifc4x3_rc3::IfcDistributionCircuit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[321]); } const IfcParse::entity& Ifc4x3_rc3::IfcDistributionCircuit::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[321]); } Ifc4x3_rc3::IfcDistributionCircuit::IfcDistributionCircuit(IfcEntityInstanceData&& e) : IfcDistributionSystem(std::move(e)) { } -Ifc4x3_rc3::IfcDistributionCircuit::IfcDistributionCircuit(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcDistributionSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc3::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcDistributionCircuit::IfcDistributionCircuit(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcDistributionSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc3::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDistributionControlElement @@ -10205,7 +10205,7 @@ Ifc4x3_rc3::IfcDistributionCircuit::IfcDistributionCircuit(std::string v1_Global const IfcParse::entity& Ifc4x3_rc3::IfcDistributionControlElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[322]); } const IfcParse::entity& Ifc4x3_rc3::IfcDistributionControlElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[322]); } Ifc4x3_rc3::IfcDistributionControlElement::IfcDistributionControlElement(IfcEntityInstanceData&& e) : IfcDistributionElement(std::move(e)) { } -Ifc4x3_rc3::IfcDistributionControlElement::IfcDistributionControlElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc3::IfcDistributionControlElement::IfcDistributionControlElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionControlElementType @@ -10213,7 +10213,7 @@ Ifc4x3_rc3::IfcDistributionControlElement::IfcDistributionControlElement(std::st const IfcParse::entity& Ifc4x3_rc3::IfcDistributionControlElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[323]); } const IfcParse::entity& Ifc4x3_rc3::IfcDistributionControlElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[323]); } Ifc4x3_rc3::IfcDistributionControlElementType::IfcDistributionControlElementType(IfcEntityInstanceData&& e) : IfcDistributionElementType(std::move(e)) { } -Ifc4x3_rc3::IfcDistributionControlElementType::IfcDistributionControlElementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc3::IfcDistributionControlElementType::IfcDistributionControlElementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionElement @@ -10222,7 +10222,7 @@ Ifc4x3_rc3::IfcDistributionControlElementType::IfcDistributionControlElementType const IfcParse::entity& Ifc4x3_rc3::IfcDistributionElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[324]); } const IfcParse::entity& Ifc4x3_rc3::IfcDistributionElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[324]); } Ifc4x3_rc3::IfcDistributionElement::IfcDistributionElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc3::IfcDistributionElement::IfcDistributionElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc3::IfcDistributionElement::IfcDistributionElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionElementType @@ -10230,7 +10230,7 @@ Ifc4x3_rc3::IfcDistributionElement::IfcDistributionElement(std::string v1_Global const IfcParse::entity& Ifc4x3_rc3::IfcDistributionElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[325]); } const IfcParse::entity& Ifc4x3_rc3::IfcDistributionElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[325]); } Ifc4x3_rc3::IfcDistributionElementType::IfcDistributionElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_rc3::IfcDistributionElementType::IfcDistributionElementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc3::IfcDistributionElementType::IfcDistributionElementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionFlowElement @@ -10239,7 +10239,7 @@ Ifc4x3_rc3::IfcDistributionElementType::IfcDistributionElementType(std::string v const IfcParse::entity& Ifc4x3_rc3::IfcDistributionFlowElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[326]); } const IfcParse::entity& Ifc4x3_rc3::IfcDistributionFlowElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[326]); } Ifc4x3_rc3::IfcDistributionFlowElement::IfcDistributionFlowElement(IfcEntityInstanceData&& e) : IfcDistributionElement(std::move(e)) { } -Ifc4x3_rc3::IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc3::IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionFlowElementType @@ -10247,68 +10247,68 @@ Ifc4x3_rc3::IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v const IfcParse::entity& Ifc4x3_rc3::IfcDistributionFlowElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[327]); } const IfcParse::entity& Ifc4x3_rc3::IfcDistributionFlowElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[327]); } Ifc4x3_rc3::IfcDistributionFlowElementType::IfcDistributionFlowElementType(IfcEntityInstanceData&& e) : IfcDistributionElementType(std::move(e)) { } -Ifc4x3_rc3::IfcDistributionFlowElementType::IfcDistributionFlowElementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc3::IfcDistributionFlowElementType::IfcDistributionFlowElementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionPort -boost::optional< ::Ifc4x3_rc3::IfcFlowDirectionEnum::Value > Ifc4x3_rc3::IfcDistributionPort::FlowDirection() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcFlowDirectionEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_rc3::IfcFlowDirectionEnum::Value > Ifc4x3_rc3::IfcDistributionPort::FlowDirection() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcFlowDirectionEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc3::IfcDistributionPort::setFlowDirection(boost::optional< ::Ifc4x3_rc3::IfcFlowDirectionEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc3::IfcFlowDirectionEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3_rc3::IfcDistributionPortTypeEnum::Value > Ifc4x3_rc3::IfcDistributionPort::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDistributionPortTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcDistributionPortTypeEnum::Value > Ifc4x3_rc3::IfcDistributionPort::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDistributionPortTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcDistributionPort::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDistributionPortTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcDistributionPortTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value > Ifc4x3_rc3::IfcDistributionPort::SystemType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDistributionSystemEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value > Ifc4x3_rc3::IfcDistributionPort::SystemType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDistributionSystemEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcDistributionPort::setSystemType(boost::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcDistributionSystemEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc3::IfcDistributionPort::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[328]); } const IfcParse::entity& Ifc4x3_rc3::IfcDistributionPort::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[328]); } Ifc4x3_rc3::IfcDistributionPort::IfcDistributionPort(IfcEntityInstanceData&& e) : IfcPort(std::move(e)) { } -Ifc4x3_rc3::IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_rc3::IfcFlowDirectionEnum::Value > v8_FlowDirection, boost::optional< ::Ifc4x3_rc3::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value > v10_SystemType) : IfcPort(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_FlowDirection) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); }; populate_derived(); } +Ifc4x3_rc3::IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_rc3::IfcFlowDirectionEnum::Value > v8_FlowDirection, boost::optional< ::Ifc4x3_rc3::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value > v10_SystemType) : IfcPort(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_FlowDirection) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); }; populate_derived(); } // Function implementations for IfcDistributionSystem -boost::optional< std::string > Ifc4x3_rc3::IfcDistributionSystem::LongName() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcDistributionSystem::LongName() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcDistributionSystem::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value > Ifc4x3_rc3::IfcDistributionSystem::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDistributionSystemEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value > Ifc4x3_rc3::IfcDistributionSystem::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDistributionSystemEnum::FromString(get_attribute_value(6)); } void Ifc4x3_rc3::IfcDistributionSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_rc3::IfcDistributionSystemEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc3::IfcDistributionSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[330]); } const IfcParse::entity& Ifc4x3_rc3::IfcDistributionSystem::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[330]); } Ifc4x3_rc3::IfcDistributionSystem::IfcDistributionSystem(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3_rc3::IfcDistributionSystem::IfcDistributionSystem(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc3::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcDistributionSystem::IfcDistributionSystem(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< ::Ifc4x3_rc3::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc3::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDocumentInformation -std::string Ifc4x3_rc3::IfcDocumentInformation::Identification() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc3::IfcDocumentInformation::Identification() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcDocumentInformation::setIdentification(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x3_rc3::IfcDocumentInformation::Name() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_rc3::IfcDocumentInformation::Name() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcDocumentInformation::setName(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcDocumentInformation::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::Location() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::Location() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcDocumentInformation::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::Purpose() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::Purpose() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcDocumentInformation::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::IntendedUse() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::IntendedUse() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcDocumentInformation::setIntendedUse(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::Scope() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::Scope() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcDocumentInformation::setScope(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::Revision() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::Revision() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcDocumentInformation::DocumentOwner() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc3::IfcActorSelect>(true); } +::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcDocumentInformation::DocumentOwner() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc3::IfcActorSelect>(true); } void Ifc4x3_rc3::IfcDocumentInformation::setDocumentOwner(::Ifc4x3_rc3::IfcActorSelect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorSelect >::ptr > Ifc4x3_rc3::IfcDocumentInformation::Editors() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3_rc3::IfcActorSelect >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorSelect >::ptr > Ifc4x3_rc3::IfcDocumentInformation::Editors() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3_rc3::IfcActorSelect >(); } void Ifc4x3_rc3::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorSelect >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::CreationTime() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::CreationTime() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::LastRevisionTime() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::LastRevisionTime() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x3_rc3::IfcDocumentInformation::setLastRevisionTime(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::ElectronicFormat() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::ElectronicFormat() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc3::IfcDocumentInformation::setElectronicFormat(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::ValidFrom() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(13); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::ValidFrom() const { if(get_attribute_value(13).isNull()) { return boost::none; } std::string v = get_attribute_value(13); return v; } void Ifc4x3_rc3::IfcDocumentInformation::setValidFrom(boost::optional< std::string > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::ValidUntil() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformation::ValidUntil() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x3_rc3::IfcDocumentInformation::setValidUntil(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< ::Ifc4x3_rc3::IfcDocumentConfidentialityEnum::Value > Ifc4x3_rc3::IfcDocumentInformation::Confidentiality() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDocumentConfidentialityEnum::FromString(data_.get_attribute_value(15)); } +boost::optional< ::Ifc4x3_rc3::IfcDocumentConfidentialityEnum::Value > Ifc4x3_rc3::IfcDocumentInformation::Confidentiality() const { if(get_attribute_value(15).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDocumentConfidentialityEnum::FromString(get_attribute_value(15)); } void Ifc4x3_rc3::IfcDocumentInformation::setConfidentiality(boost::optional< ::Ifc4x3_rc3::IfcDocumentConfidentialityEnum::Value > v) { if (v) {set_attribute_value(15, EnumerationReference(&::Ifc4x3_rc3::IfcDocumentConfidentialityEnum::Class(), (size_t) *v));} else {unset_attribute_value(15);} } -boost::optional< ::Ifc4x3_rc3::IfcDocumentStatusEnum::Value > Ifc4x3_rc3::IfcDocumentInformation::Status() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDocumentStatusEnum::FromString(data_.get_attribute_value(16)); } +boost::optional< ::Ifc4x3_rc3::IfcDocumentStatusEnum::Value > Ifc4x3_rc3::IfcDocumentInformation::Status() const { if(get_attribute_value(16).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDocumentStatusEnum::FromString(get_attribute_value(16)); } void Ifc4x3_rc3::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3_rc3::IfcDocumentStatusEnum::Value > v) { if (v) {set_attribute_value(16, EnumerationReference(&::Ifc4x3_rc3::IfcDocumentStatusEnum::Class(), (size_t) *v));} else {unset_attribute_value(16);} } ::Ifc4x3_rc3::IfcRelAssociatesDocument::list::ptr Ifc4x3_rc3::IfcDocumentInformation::DocumentInfoForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[918], 5)->as(); } @@ -10319,26 +10319,26 @@ void Ifc4x3_rc3::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3_rc3 const IfcParse::entity& Ifc4x3_rc3::IfcDocumentInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[333]); } const IfcParse::entity& Ifc4x3_rc3::IfcDocumentInformation::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[333]); } Ifc4x3_rc3::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData&& e) : IfcExternalInformation(std::move(e)) { } -Ifc4x3_rc3::IfcDocumentInformation::IfcDocumentInformation(std::string v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_Location, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, ::Ifc4x3_rc3::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorSelect >::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< ::Ifc4x3_rc3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc3::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation(IfcEntityInstanceData(storage_t(17))) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, v9_DocumentOwner ? v9_DocumentOwner->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v10_Editors) {set_attribute_value(9, (*v10_Editors)->generalize()); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (EnumerationReference(&::Ifc4x3_rc3::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (EnumerationReference(&::Ifc4x3_rc3::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; populate_derived(); } +Ifc4x3_rc3::IfcDocumentInformation::IfcDocumentInformation(std::string v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< std::string > v4_Location, boost::optional< std::string > v5_Purpose, boost::optional< std::string > v6_IntendedUse, boost::optional< std::string > v7_Scope, boost::optional< std::string > v8_Revision, ::Ifc4x3_rc3::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorSelect >::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< ::Ifc4x3_rc3::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc3::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation(IfcEntityInstanceData(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, v9_DocumentOwner ? v9_DocumentOwner->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v10_Editors) {set_attribute_value(9, (*v10_Editors)->generalize()); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (EnumerationReference(&::Ifc4x3_rc3::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (EnumerationReference(&::Ifc4x3_rc3::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; populate_derived(); } // Function implementations for IfcDocumentInformationRelationship -::Ifc4x3_rc3::IfcDocumentInformation* Ifc4x3_rc3::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcDocumentInformation>(true); } +::Ifc4x3_rc3::IfcDocumentInformation* Ifc4x3_rc3::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcDocumentInformation>(true); } void Ifc4x3_rc3::IfcDocumentInformationRelationship::setRelatingDocument(::Ifc4x3_rc3::IfcDocumentInformation* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_rc3::IfcDocumentInformation >::ptr Ifc4x3_rc3::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc3::IfcDocumentInformation >(); } +aggregate_of< ::Ifc4x3_rc3::IfcDocumentInformation >::ptr Ifc4x3_rc3::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc3::IfcDocumentInformation >(); } void Ifc4x3_rc3::IfcDocumentInformationRelationship::setRelatedDocuments(aggregate_of< ::Ifc4x3_rc3::IfcDocumentInformation >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformationRelationship::RelationshipType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcDocumentInformationRelationship::RelationshipType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcDocumentInformationRelationship::setRelationshipType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc3::IfcDocumentInformationRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[334]); } const IfcParse::entity& Ifc4x3_rc3::IfcDocumentInformationRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[334]); } Ifc4x3_rc3::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_rc3::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcDocumentInformation* v3_RelatingDocument, aggregate_of< ::Ifc4x3_rc3::IfcDocumentInformation >::ptr v4_RelatedDocuments, boost::optional< std::string > v5_RelationshipType) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingDocument ? v3_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedDocuments)->generalize()); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); }; populate_derived(); } +Ifc4x3_rc3::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcDocumentInformation* v3_RelatingDocument, aggregate_of< ::Ifc4x3_rc3::IfcDocumentInformation >::ptr v4_RelatedDocuments, boost::optional< std::string > v5_RelationshipType) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingDocument ? v3_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedDocuments)->generalize()); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); }; populate_derived(); } // Function implementations for IfcDocumentReference -boost::optional< std::string > Ifc4x3_rc3::IfcDocumentReference::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcDocumentReference::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcDocumentReference::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc3::IfcDocumentInformation* Ifc4x3_rc3::IfcDocumentReference::ReferencedDocument() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcDocumentInformation>(true); } +::Ifc4x3_rc3::IfcDocumentInformation* Ifc4x3_rc3::IfcDocumentReference::ReferencedDocument() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcDocumentInformation>(true); } void Ifc4x3_rc3::IfcDocumentReference::setReferencedDocument(::Ifc4x3_rc3::IfcDocumentInformation* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } ::Ifc4x3_rc3::IfcRelAssociatesDocument::list::ptr Ifc4x3_rc3::IfcDocumentReference::DocumentRefForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[918], 5)->as(); } @@ -10346,77 +10346,77 @@ void Ifc4x3_rc3::IfcDocumentReference::setReferencedDocument(::Ifc4x3_rc3::IfcDo const IfcParse::entity& Ifc4x3_rc3::IfcDocumentReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[335]); } const IfcParse::entity& Ifc4x3_rc3::IfcDocumentReference::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[335]); } Ifc4x3_rc3::IfcDocumentReference::IfcDocumentReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_rc3::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_rc3::IfcDocumentInformation* v5_ReferencedDocument) : IfcExternalReference(IfcEntityInstanceData(storage_t(5))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ReferencedDocument ? v5_ReferencedDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::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_rc3::IfcDocumentInformation* v5_ReferencedDocument) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ReferencedDocument ? v5_ReferencedDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDoor -boost::optional< double > Ifc4x3_rc3::IfcDoor::OverallHeight() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc3::IfcDoor::OverallHeight() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcDoor::setOverallHeight(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_rc3::IfcDoor::OverallWidth() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc3::IfcDoor::OverallWidth() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc3::IfcDoor::setOverallWidth(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x3_rc3::IfcDoorTypeEnum::Value > Ifc4x3_rc3::IfcDoor::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDoorTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc3::IfcDoorTypeEnum::Value > Ifc4x3_rc3::IfcDoor::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDoorTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc3::IfcDoor::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDoorTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc3::IfcDoorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -boost::optional< ::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Value > Ifc4x3_rc3::IfcDoor::OperationType() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDoorTypeOperationEnum::FromString(data_.get_attribute_value(11)); } +boost::optional< ::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Value > Ifc4x3_rc3::IfcDoor::OperationType() const { if(get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDoorTypeOperationEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc3::IfcDoor::setOperationType(boost::optional< ::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Value > v) { if (v) {set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Class(), (size_t) *v));} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_rc3::IfcDoor::UserDefinedOperationType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcDoor::UserDefinedOperationType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc3::IfcDoor::setUserDefinedOperationType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_rc3::IfcDoor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[338]); } const IfcParse::entity& Ifc4x3_rc3::IfcDoor::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[338]); } Ifc4x3_rc3::IfcDoor::IfcDoor(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc3::IfcDoor::IfcDoor(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_rc3::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } +Ifc4x3_rc3::IfcDoor::IfcDoor(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_rc3::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } // Function implementations for IfcDoorLiningProperties -boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::LiningDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcDoorLiningProperties::setLiningDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::LiningThickness() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::LiningThickness() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcDoorLiningProperties::setLiningThickness(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::ThresholdDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::ThresholdDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcDoorLiningProperties::setThresholdDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::ThresholdThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::ThresholdThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcDoorLiningProperties::setThresholdThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::TransomThickness() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::TransomThickness() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcDoorLiningProperties::setTransomThickness(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::TransomOffset() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::TransomOffset() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc3::IfcDoorLiningProperties::setTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::LiningOffset() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::LiningOffset() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcDoorLiningProperties::setLiningOffset(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::ThresholdOffset() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::ThresholdOffset() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc3::IfcDoorLiningProperties::setThresholdOffset(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::CasingThickness() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::CasingThickness() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_rc3::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::CasingDepth() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::CasingDepth() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_rc3::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -::Ifc4x3_rc3::IfcShapeAspect* Ifc4x3_rc3::IfcDoorLiningProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(14).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(14)))->as<::Ifc4x3_rc3::IfcShapeAspect>(true); } +::Ifc4x3_rc3::IfcShapeAspect* Ifc4x3_rc3::IfcDoorLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(14).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(14)))->as<::Ifc4x3_rc3::IfcShapeAspect>(true); } void Ifc4x3_rc3::IfcDoorLiningProperties::setShapeAspectStyle(::Ifc4x3_rc3::IfcShapeAspect* v) { set_attribute_value(14, v->as());if constexpr (false)unset_attribute_value(14); } -boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3_rc3::IfcDoorLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::LiningToPanelOffsetY() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3_rc3::IfcDoorLiningProperties::LiningToPanelOffsetY() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3_rc3::IfcDoorLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } const IfcParse::entity& Ifc4x3_rc3::IfcDoorLiningProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[339]); } const IfcParse::entity& Ifc4x3_rc3::IfcDoorLiningProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[339]); } Ifc4x3_rc3::IfcDoorLiningProperties::IfcDoorLiningProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_rc3::IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_GlobalId, ::Ifc4x3_rc3::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_rc3::IfcShapeAspect* v15_ShapeAspectStyle, boost::optional< double > v16_LiningToPanelOffsetX, boost::optional< double > v17_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, v15_ShapeAspectStyle ? v15_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); }; populate_derived(); } +Ifc4x3_rc3::IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_GlobalId, ::Ifc4x3_rc3::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_rc3::IfcShapeAspect* v15_ShapeAspectStyle, boost::optional< double > v16_LiningToPanelOffsetX, boost::optional< double > v17_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, v15_ShapeAspectStyle ? v15_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); }; populate_derived(); } // Function implementations for IfcDoorPanelProperties -boost::optional< double > Ifc4x3_rc3::IfcDoorPanelProperties::PanelDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc3::IfcDoorPanelProperties::PanelDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcDoorPanelProperties::setPanelDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc3::IfcDoorPanelOperationEnum::Value Ifc4x3_rc3::IfcDoorPanelProperties::PanelOperation() const { return ::Ifc4x3_rc3::IfcDoorPanelOperationEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_rc3::IfcDoorPanelOperationEnum::Value Ifc4x3_rc3::IfcDoorPanelProperties::PanelOperation() const { return ::Ifc4x3_rc3::IfcDoorPanelOperationEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc3::IfcDoorPanelProperties::setPanelOperation(::Ifc4x3_rc3::IfcDoorPanelOperationEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc3::IfcDoorPanelOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_rc3::IfcDoorPanelProperties::PanelWidth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc3::IfcDoorPanelProperties::PanelWidth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_rc3::IfcDoorPanelPositionEnum::Value Ifc4x3_rc3::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x3_rc3::IfcDoorPanelPositionEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc3::IfcDoorPanelPositionEnum::Value Ifc4x3_rc3::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x3_rc3::IfcDoorPanelPositionEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc3::IfcDoorPanelProperties::setPanelPosition(::Ifc4x3_rc3::IfcDoorPanelPositionEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc3::IfcDoorPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc3::IfcShapeAspect* Ifc4x3_rc3::IfcDoorPanelProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc3::IfcShapeAspect>(true); } +::Ifc4x3_rc3::IfcShapeAspect* Ifc4x3_rc3::IfcDoorPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc3::IfcShapeAspect>(true); } void Ifc4x3_rc3::IfcDoorPanelProperties::setShapeAspectStyle(::Ifc4x3_rc3::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc3::IfcDoorPanelProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[342]); } const IfcParse::entity& Ifc4x3_rc3::IfcDoorPanelProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[342]); } Ifc4x3_rc3::IfcDoorPanelProperties::IfcDoorPanelProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_rc3::IfcDoorPanelProperties::IfcDoorPanelProperties(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_PanelDepth, ::Ifc4x3_rc3::IfcDoorPanelOperationEnum::Value v6_PanelOperation, boost::optional< double > v7_PanelWidth, ::Ifc4x3_rc3::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_rc3::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcDoorPanelProperties::IfcDoorPanelProperties(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_PanelDepth, ::Ifc4x3_rc3::IfcDoorPanelOperationEnum::Value v6_PanelOperation, boost::optional< double > v7_PanelWidth, ::Ifc4x3_rc3::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_rc3::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDoorStandardCase @@ -10424,39 +10424,39 @@ Ifc4x3_rc3::IfcDoorPanelProperties::IfcDoorPanelProperties(std::string v1_Global const IfcParse::entity& Ifc4x3_rc3::IfcDoorStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[343]); } const IfcParse::entity& Ifc4x3_rc3::IfcDoorStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[343]); } Ifc4x3_rc3::IfcDoorStandardCase::IfcDoorStandardCase(IfcEntityInstanceData&& e) : IfcDoor(std::move(e)) { } -Ifc4x3_rc3::IfcDoorStandardCase::IfcDoorStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_rc3::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcDoor(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } +Ifc4x3_rc3::IfcDoorStandardCase::IfcDoorStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_rc3::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcDoor(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } // Function implementations for IfcDoorStyle -::Ifc4x3_rc3::IfcDoorStyleOperationEnum::Value Ifc4x3_rc3::IfcDoorStyle::OperationType() const { return ::Ifc4x3_rc3::IfcDoorStyleOperationEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc3::IfcDoorStyleOperationEnum::Value Ifc4x3_rc3::IfcDoorStyle::OperationType() const { return ::Ifc4x3_rc3::IfcDoorStyleOperationEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcDoorStyle::setOperationType(::Ifc4x3_rc3::IfcDoorStyleOperationEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcDoorStyleOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc3::IfcDoorStyleConstructionEnum::Value Ifc4x3_rc3::IfcDoorStyle::ConstructionType() const { return ::Ifc4x3_rc3::IfcDoorStyleConstructionEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcDoorStyleConstructionEnum::Value Ifc4x3_rc3::IfcDoorStyle::ConstructionType() const { return ::Ifc4x3_rc3::IfcDoorStyleConstructionEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcDoorStyle::setConstructionType(::Ifc4x3_rc3::IfcDoorStyleConstructionEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcDoorStyleConstructionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -bool Ifc4x3_rc3::IfcDoorStyle::ParameterTakesPrecedence() const { bool v = data_.get_attribute_value(10); return v; } +bool Ifc4x3_rc3::IfcDoorStyle::ParameterTakesPrecedence() const { bool v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcDoorStyle::setParameterTakesPrecedence(bool v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -bool Ifc4x3_rc3::IfcDoorStyle::Sizeable() const { bool v = data_.get_attribute_value(11); return v; } +bool Ifc4x3_rc3::IfcDoorStyle::Sizeable() const { bool v = get_attribute_value(11); return v; } void Ifc4x3_rc3::IfcDoorStyle::setSizeable(bool v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc3::IfcDoorStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[344]); } const IfcParse::entity& Ifc4x3_rc3::IfcDoorStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[344]); } Ifc4x3_rc3::IfcDoorStyle::IfcDoorStyle(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(e)) { } -Ifc4x3_rc3::IfcDoorStyle::IfcDoorStyle(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc3::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x3_rc3::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcDoorStyleOperationEnum::Class(),(size_t)v9_OperationType)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcDoorStyleConstructionEnum::Class(),(size_t)v10_ConstructionType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; populate_derived(); } +Ifc4x3_rc3::IfcDoorStyle::IfcDoorStyle(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc3::IfcDoorStyleOperationEnum::Value v9_OperationType, ::Ifc4x3_rc3::IfcDoorStyleConstructionEnum::Value v10_ConstructionType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcDoorStyleOperationEnum::Class(),(size_t)v9_OperationType)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcDoorStyleConstructionEnum::Class(),(size_t)v10_ConstructionType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; populate_derived(); } // Function implementations for IfcDoorType -::Ifc4x3_rc3::IfcDoorTypeEnum::Value Ifc4x3_rc3::IfcDoorType::PredefinedType() const { return ::Ifc4x3_rc3::IfcDoorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcDoorTypeEnum::Value Ifc4x3_rc3::IfcDoorType::PredefinedType() const { return ::Ifc4x3_rc3::IfcDoorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcDoorType::setPredefinedType(::Ifc4x3_rc3::IfcDoorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcDoorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Value Ifc4x3_rc3::IfcDoorType::OperationType() const { return ::Ifc4x3_rc3::IfcDoorTypeOperationEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Value Ifc4x3_rc3::IfcDoorType::OperationType() const { return ::Ifc4x3_rc3::IfcDoorTypeOperationEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc3::IfcDoorType::setOperationType(::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } -boost::optional< bool > Ifc4x3_rc3::IfcDoorType::ParameterTakesPrecedence() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } bool v = data_.get_attribute_value(11); return v; } +boost::optional< bool > Ifc4x3_rc3::IfcDoorType::ParameterTakesPrecedence() const { if(get_attribute_value(11).isNull()) { return boost::none; } bool v = get_attribute_value(11); return v; } void Ifc4x3_rc3::IfcDoorType::setParameterTakesPrecedence(boost::optional< bool > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_rc3::IfcDoorType::UserDefinedOperationType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcDoorType::UserDefinedOperationType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc3::IfcDoorType::setUserDefinedOperationType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_rc3::IfcDoorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[347]); } const IfcParse::entity& Ifc4x3_rc3::IfcDoorType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[347]); } Ifc4x3_rc3::IfcDoorType::IfcDoorType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc3::IfcDoorType::IfcDoorType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Value v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } +Ifc4x3_rc3::IfcDoorType::IfcDoorType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Value v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } // Function implementations for IfcDraughtingPreDefinedColour @@ -10464,7 +10464,7 @@ Ifc4x3_rc3::IfcDoorType::IfcDoorType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcO const IfcParse::entity& Ifc4x3_rc3::IfcDraughtingPreDefinedColour::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[351]); } const IfcParse::entity& Ifc4x3_rc3::IfcDraughtingPreDefinedColour::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[351]); } Ifc4x3_rc3::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(IfcEntityInstanceData&& e) : IfcPreDefinedColour(std::move(e)) { } -Ifc4x3_rc3::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::string v1_Name) : IfcPreDefinedColour(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_rc3::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::string v1_Name) : IfcPreDefinedColour(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcDraughtingPreDefinedCurveFont @@ -10472,77 +10472,77 @@ Ifc4x3_rc3::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::st const IfcParse::entity& Ifc4x3_rc3::IfcDraughtingPreDefinedCurveFont::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[352]); } const IfcParse::entity& Ifc4x3_rc3::IfcDraughtingPreDefinedCurveFont::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[352]); } Ifc4x3_rc3::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(IfcEntityInstanceData&& e) : IfcPreDefinedCurveFont(std::move(e)) { } -Ifc4x3_rc3::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedCurveFont(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_rc3::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedCurveFont(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcDuctFitting -boost::optional< ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value > Ifc4x3_rc3::IfcDuctFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value > Ifc4x3_rc3::IfcDuctFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcDuctFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcDuctFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[353]); } const IfcParse::entity& Ifc4x3_rc3::IfcDuctFitting::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[353]); } Ifc4x3_rc3::IfcDuctFitting::IfcDuctFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x3_rc3::IfcDuctFitting::IfcDuctFitting(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcDuctFitting::IfcDuctFitting(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDuctFittingType -::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value Ifc4x3_rc3::IfcDuctFittingType::PredefinedType() const { return ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value Ifc4x3_rc3::IfcDuctFittingType::PredefinedType() const { return ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcDuctFittingType::setPredefinedType(::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcDuctFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[354]); } const IfcParse::entity& Ifc4x3_rc3::IfcDuctFittingType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[354]); } Ifc4x3_rc3::IfcDuctFittingType::IfcDuctFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x3_rc3::IfcDuctFittingType::IfcDuctFittingType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcDuctFittingType::IfcDuctFittingType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDuctSegment -boost::optional< ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value > Ifc4x3_rc3::IfcDuctSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value > Ifc4x3_rc3::IfcDuctSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcDuctSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcDuctSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[356]); } const IfcParse::entity& Ifc4x3_rc3::IfcDuctSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[356]); } Ifc4x3_rc3::IfcDuctSegment::IfcDuctSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x3_rc3::IfcDuctSegment::IfcDuctSegment(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcDuctSegment::IfcDuctSegment(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDuctSegmentType -::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value Ifc4x3_rc3::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value Ifc4x3_rc3::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcDuctSegmentType::setPredefinedType(::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcDuctSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[357]); } const IfcParse::entity& Ifc4x3_rc3::IfcDuctSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[357]); } Ifc4x3_rc3::IfcDuctSegmentType::IfcDuctSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x3_rc3::IfcDuctSegmentType::IfcDuctSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcDuctSegmentType::IfcDuctSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDuctSilencer -boost::optional< ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value > Ifc4x3_rc3::IfcDuctSilencer::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value > Ifc4x3_rc3::IfcDuctSilencer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcDuctSilencer::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcDuctSilencer::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[359]); } const IfcParse::entity& Ifc4x3_rc3::IfcDuctSilencer::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[359]); } Ifc4x3_rc3::IfcDuctSilencer::IfcDuctSilencer(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4x3_rc3::IfcDuctSilencer::IfcDuctSilencer(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcDuctSilencer::IfcDuctSilencer(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDuctSilencerType -::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value Ifc4x3_rc3::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value Ifc4x3_rc3::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcDuctSilencerType::setPredefinedType(::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcDuctSilencerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[360]); } const IfcParse::entity& Ifc4x3_rc3::IfcDuctSilencerType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[360]); } Ifc4x3_rc3::IfcDuctSilencerType::IfcDuctSilencerType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4x3_rc3::IfcDuctSilencerType::IfcDuctSilencerType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcDuctSilencerType::IfcDuctSilencerType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEarthworksCut -boost::optional< ::Ifc4x3_rc3::IfcEarthworksCutTypeEnum::Value > Ifc4x3_rc3::IfcEarthworksCut::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcEarthworksCutTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcEarthworksCutTypeEnum::Value > Ifc4x3_rc3::IfcEarthworksCut::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcEarthworksCutTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcEarthworksCut::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcEarthworksCutTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcEarthworksCutTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcEarthworksCut::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[364]); } const IfcParse::entity& Ifc4x3_rc3::IfcEarthworksCut::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[364]); } Ifc4x3_rc3::IfcEarthworksCut::IfcEarthworksCut(IfcEntityInstanceData&& e) : IfcFeatureElementSubtraction(std::move(e)) { } -Ifc4x3_rc3::IfcEarthworksCut::IfcEarthworksCut(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcEarthworksCutTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcEarthworksCut::IfcEarthworksCut(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcEarthworksCutTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEarthworksElement @@ -10550,194 +10550,194 @@ Ifc4x3_rc3::IfcEarthworksCut::IfcEarthworksCut(std::string v1_GlobalId, ::Ifc4x3 const IfcParse::entity& Ifc4x3_rc3::IfcEarthworksElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[366]); } const IfcParse::entity& Ifc4x3_rc3::IfcEarthworksElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[366]); } Ifc4x3_rc3::IfcEarthworksElement::IfcEarthworksElement(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc3::IfcEarthworksElement::IfcEarthworksElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuiltElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc3::IfcEarthworksElement::IfcEarthworksElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcEarthworksFill -boost::optional< ::Ifc4x3_rc3::IfcEarthworksFillTypeEnum::Value > Ifc4x3_rc3::IfcEarthworksFill::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcEarthworksFillTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcEarthworksFillTypeEnum::Value > Ifc4x3_rc3::IfcEarthworksFill::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcEarthworksFillTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcEarthworksFill::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcEarthworksFillTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcEarthworksFillTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcEarthworksFill::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[367]); } const IfcParse::entity& Ifc4x3_rc3::IfcEarthworksFill::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[367]); } Ifc4x3_rc3::IfcEarthworksFill::IfcEarthworksFill(IfcEntityInstanceData&& e) : IfcEarthworksElement(std::move(e)) { } -Ifc4x3_rc3::IfcEarthworksFill::IfcEarthworksFill(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType) : IfcEarthworksElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcEarthworksFillTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcEarthworksFill::IfcEarthworksFill(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType) : IfcEarthworksElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcEarthworksFillTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEdge -::Ifc4x3_rc3::IfcVertex* Ifc4x3_rc3::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcVertex>(true); } +::Ifc4x3_rc3::IfcVertex* Ifc4x3_rc3::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcVertex>(true); } void Ifc4x3_rc3::IfcEdge::setEdgeStart(::Ifc4x3_rc3::IfcVertex* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcVertex* Ifc4x3_rc3::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcVertex>(true); } +::Ifc4x3_rc3::IfcVertex* Ifc4x3_rc3::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcVertex>(true); } void Ifc4x3_rc3::IfcEdge::setEdgeEnd(::Ifc4x3_rc3::IfcVertex* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcEdge::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[369]); } const IfcParse::entity& Ifc4x3_rc3::IfcEdge::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[369]); } Ifc4x3_rc3::IfcEdge::IfcEdge(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcEdge::IfcEdge(::Ifc4x3_rc3::IfcVertex* v1_EdgeStart, ::Ifc4x3_rc3::IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcEdge::IfcEdge(::Ifc4x3_rc3::IfcVertex* v1_EdgeStart, ::Ifc4x3_rc3::IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcEdgeCurve -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcCurve>(true); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcEdgeCurve::setEdgeGeometry(::Ifc4x3_rc3::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x3_rc3::IfcEdgeCurve::SameSense() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x3_rc3::IfcEdgeCurve::SameSense() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcEdgeCurve::setSameSense(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcEdgeCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[370]); } const IfcParse::entity& Ifc4x3_rc3::IfcEdgeCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[370]); } Ifc4x3_rc3::IfcEdgeCurve::IfcEdgeCurve(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc4x3_rc3::IfcEdgeCurve::IfcEdgeCurve(::Ifc4x3_rc3::IfcVertex* v1_EdgeStart, ::Ifc4x3_rc3::IfcVertex* v2_EdgeEnd, ::Ifc4x3_rc3::IfcCurve* v3_EdgeGeometry, bool v4_SameSense) : IfcEdge(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EdgeGeometry ? v3_EdgeGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SameSense));; populate_derived(); } +Ifc4x3_rc3::IfcEdgeCurve::IfcEdgeCurve(::Ifc4x3_rc3::IfcVertex* v1_EdgeStart, ::Ifc4x3_rc3::IfcVertex* v2_EdgeEnd, ::Ifc4x3_rc3::IfcCurve* v3_EdgeGeometry, bool v4_SameSense) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EdgeGeometry ? v3_EdgeGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SameSense));; populate_derived(); } // Function implementations for IfcEdgeLoop -aggregate_of< ::Ifc4x3_rc3::IfcOrientedEdge >::ptr Ifc4x3_rc3::IfcEdgeLoop::EdgeList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcOrientedEdge >(); } +aggregate_of< ::Ifc4x3_rc3::IfcOrientedEdge >::ptr Ifc4x3_rc3::IfcEdgeLoop::EdgeList() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcOrientedEdge >(); } void Ifc4x3_rc3::IfcEdgeLoop::setEdgeList(aggregate_of< ::Ifc4x3_rc3::IfcOrientedEdge >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc3::IfcEdgeLoop::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[371]); } const IfcParse::entity& Ifc4x3_rc3::IfcEdgeLoop::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[371]); } Ifc4x3_rc3::IfcEdgeLoop::IfcEdgeLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc4x3_rc3::IfcEdgeLoop::IfcEdgeLoop(aggregate_of< ::Ifc4x3_rc3::IfcOrientedEdge >::ptr v1_EdgeList) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcEdgeLoop::IfcEdgeLoop(aggregate_of< ::Ifc4x3_rc3::IfcOrientedEdge >::ptr v1_EdgeList) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } // Function implementations for IfcElectricAppliance -boost::optional< ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value > Ifc4x3_rc3::IfcElectricAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value > Ifc4x3_rc3::IfcElectricAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcElectricAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcElectricAppliance::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[372]); } const IfcParse::entity& Ifc4x3_rc3::IfcElectricAppliance::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[372]); } Ifc4x3_rc3::IfcElectricAppliance::IfcElectricAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc3::IfcElectricAppliance::IfcElectricAppliance(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcElectricAppliance::IfcElectricAppliance(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricApplianceType -::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value Ifc4x3_rc3::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value Ifc4x3_rc3::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcElectricApplianceType::setPredefinedType(::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcElectricApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[373]); } const IfcParse::entity& Ifc4x3_rc3::IfcElectricApplianceType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[373]); } Ifc4x3_rc3::IfcElectricApplianceType::IfcElectricApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc3::IfcElectricApplianceType::IfcElectricApplianceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcElectricApplianceType::IfcElectricApplianceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricDistributionBoard -boost::optional< ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x3_rc3::IfcElectricDistributionBoard::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x3_rc3::IfcElectricDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcElectricDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcElectricDistributionBoard::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[379]); } const IfcParse::entity& Ifc4x3_rc3::IfcElectricDistributionBoard::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[379]); } Ifc4x3_rc3::IfcElectricDistributionBoard::IfcElectricDistributionBoard(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_rc3::IfcElectricDistributionBoard::IfcElectricDistributionBoard(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcElectricDistributionBoard::IfcElectricDistributionBoard(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricDistributionBoardType -::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3_rc3::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3_rc3::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcElectricDistributionBoardType::setPredefinedType(::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcElectricDistributionBoardType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[380]); } const IfcParse::entity& Ifc4x3_rc3::IfcElectricDistributionBoardType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[380]); } Ifc4x3_rc3::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_rc3::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricFlowStorageDevice -boost::optional< ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x3_rc3::IfcElectricFlowStorageDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x3_rc3::IfcElectricFlowStorageDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcElectricFlowStorageDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcElectricFlowStorageDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[382]); } const IfcParse::entity& Ifc4x3_rc3::IfcElectricFlowStorageDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[382]); } Ifc4x3_rc3::IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(IfcEntityInstanceData&& e) : IfcFlowStorageDevice(std::move(e)) { } -Ifc4x3_rc3::IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricFlowStorageDeviceType -::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3_rc3::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3_rc3::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcElectricFlowStorageDeviceType::setPredefinedType(::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcElectricFlowStorageDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[383]); } const IfcParse::entity& Ifc4x3_rc3::IfcElectricFlowStorageDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[383]); } Ifc4x3_rc3::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(IfcEntityInstanceData&& e) : IfcFlowStorageDeviceType(std::move(e)) { } -Ifc4x3_rc3::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricFlowTreatmentDevice -boost::optional< ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value > Ifc4x3_rc3::IfcElectricFlowTreatmentDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value > Ifc4x3_rc3::IfcElectricFlowTreatmentDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcElectricFlowTreatmentDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcElectricFlowTreatmentDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[385]); } const IfcParse::entity& Ifc4x3_rc3::IfcElectricFlowTreatmentDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[385]); } Ifc4x3_rc3::IfcElectricFlowTreatmentDevice::IfcElectricFlowTreatmentDevice(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4x3_rc3::IfcElectricFlowTreatmentDevice::IfcElectricFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcElectricFlowTreatmentDevice::IfcElectricFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricFlowTreatmentDeviceType -::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceType::setPredefinedType(::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[386]); } const IfcParse::entity& Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[386]); } Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceType::IfcElectricFlowTreatmentDeviceType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceType::IfcElectricFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceType::IfcElectricFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricGenerator -boost::optional< ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value > Ifc4x3_rc3::IfcElectricGenerator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value > Ifc4x3_rc3::IfcElectricGenerator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcElectricGenerator::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcElectricGenerator::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[388]); } const IfcParse::entity& Ifc4x3_rc3::IfcElectricGenerator::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[388]); } Ifc4x3_rc3::IfcElectricGenerator::IfcElectricGenerator(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc3::IfcElectricGenerator::IfcElectricGenerator(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcElectricGenerator::IfcElectricGenerator(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricGeneratorType -::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value Ifc4x3_rc3::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value Ifc4x3_rc3::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcElectricGeneratorType::setPredefinedType(::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcElectricGeneratorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[389]); } const IfcParse::entity& Ifc4x3_rc3::IfcElectricGeneratorType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[389]); } Ifc4x3_rc3::IfcElectricGeneratorType::IfcElectricGeneratorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc3::IfcElectricGeneratorType::IfcElectricGeneratorType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcElectricGeneratorType::IfcElectricGeneratorType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricMotor -boost::optional< ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value > Ifc4x3_rc3::IfcElectricMotor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value > Ifc4x3_rc3::IfcElectricMotor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcElectricMotor::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcElectricMotor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[391]); } const IfcParse::entity& Ifc4x3_rc3::IfcElectricMotor::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[391]); } Ifc4x3_rc3::IfcElectricMotor::IfcElectricMotor(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc3::IfcElectricMotor::IfcElectricMotor(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcElectricMotor::IfcElectricMotor(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricMotorType -::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value Ifc4x3_rc3::IfcElectricMotorType::PredefinedType() const { return ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value Ifc4x3_rc3::IfcElectricMotorType::PredefinedType() const { return ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcElectricMotorType::setPredefinedType(::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcElectricMotorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[392]); } const IfcParse::entity& Ifc4x3_rc3::IfcElectricMotorType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[392]); } Ifc4x3_rc3::IfcElectricMotorType::IfcElectricMotorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc3::IfcElectricMotorType::IfcElectricMotorType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcElectricMotorType::IfcElectricMotorType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricTimeControl -boost::optional< ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value > Ifc4x3_rc3::IfcElectricTimeControl::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value > Ifc4x3_rc3::IfcElectricTimeControl::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcElectricTimeControl::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcElectricTimeControl::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[395]); } const IfcParse::entity& Ifc4x3_rc3::IfcElectricTimeControl::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[395]); } Ifc4x3_rc3::IfcElectricTimeControl::IfcElectricTimeControl(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_rc3::IfcElectricTimeControl::IfcElectricTimeControl(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcElectricTimeControl::IfcElectricTimeControl(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricTimeControlType -::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value Ifc4x3_rc3::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value Ifc4x3_rc3::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcElectricTimeControlType::setPredefinedType(::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcElectricTimeControlType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[396]); } const IfcParse::entity& Ifc4x3_rc3::IfcElectricTimeControlType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[396]); } Ifc4x3_rc3::IfcElectricTimeControlType::IfcElectricTimeControlType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_rc3::IfcElectricTimeControlType::IfcElectricTimeControlType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcElectricTimeControlType::IfcElectricTimeControlType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElement -boost::optional< std::string > Ifc4x3_rc3::IfcElement::Tag() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcElement::Tag() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcElement::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } ::Ifc4x3_rc3::IfcRelFillsElement::list::ptr Ifc4x3_rc3::IfcElement::FillsVoids() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[942], 5)->as(); } @@ -10755,29 +10755,29 @@ void Ifc4x3_rc3::IfcElement::setTag(boost::optional< std::string > v) { if (v) { const IfcParse::entity& Ifc4x3_rc3::IfcElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[399]); } const IfcParse::entity& Ifc4x3_rc3::IfcElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[399]); } Ifc4x3_rc3::IfcElement::IfcElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_rc3::IfcElement::IfcElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcProduct(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc3::IfcElement::IfcElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcElementAssembly -boost::optional< ::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Value > Ifc4x3_rc3::IfcElementAssembly::AssemblyPlace() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcAssemblyPlaceEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Value > Ifc4x3_rc3::IfcElementAssembly::AssemblyPlace() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcAssemblyPlaceEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcElementAssembly::setAssemblyPlace(boost::optional< ::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< ::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Value > Ifc4x3_rc3::IfcElementAssembly::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Value > Ifc4x3_rc3::IfcElementAssembly::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcElementAssembly::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc3::IfcElementAssembly::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[401]); } const IfcParse::entity& Ifc4x3_rc3::IfcElementAssembly::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[401]); } Ifc4x3_rc3::IfcElementAssembly::IfcElementAssembly(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc3::IfcElementAssembly::IfcElementAssembly(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, boost::optional< ::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) : IfcElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcElementAssembly::IfcElementAssembly(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, boost::optional< ::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElementAssemblyType -::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Value Ifc4x3_rc3::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Value Ifc4x3_rc3::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcElementAssemblyType::setPredefinedType(::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcElementAssemblyType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[402]); } const IfcParse::entity& Ifc4x3_rc3::IfcElementAssemblyType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[402]); } Ifc4x3_rc3::IfcElementAssemblyType::IfcElementAssemblyType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_rc3::IfcElementAssemblyType::IfcElementAssemblyType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcElementAssemblyType::IfcElementAssemblyType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElementComponent @@ -10785,7 +10785,7 @@ Ifc4x3_rc3::IfcElementAssemblyType::IfcElementAssemblyType(std::string v1_Global const IfcParse::entity& Ifc4x3_rc3::IfcElementComponent::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[404]); } const IfcParse::entity& Ifc4x3_rc3::IfcElementComponent::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[404]); } Ifc4x3_rc3::IfcElementComponent::IfcElementComponent(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc3::IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc3::IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcElementComponentType @@ -10793,63 +10793,63 @@ Ifc4x3_rc3::IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x3_rc3::IfcElementComponentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[405]); } const IfcParse::entity& Ifc4x3_rc3::IfcElementComponentType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[405]); } Ifc4x3_rc3::IfcElementComponentType::IfcElementComponentType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_rc3::IfcElementComponentType::IfcElementComponentType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc3::IfcElementComponentType::IfcElementComponentType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcElementQuantity -boost::optional< std::string > Ifc4x3_rc3::IfcElementQuantity::MethodOfMeasurement() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcElementQuantity::MethodOfMeasurement() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcElementQuantity::setMethodOfMeasurement(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -aggregate_of< ::Ifc4x3_rc3::IfcPhysicalQuantity >::ptr Ifc4x3_rc3::IfcElementQuantity::Quantities() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc3::IfcPhysicalQuantity >(); } +aggregate_of< ::Ifc4x3_rc3::IfcPhysicalQuantity >::ptr Ifc4x3_rc3::IfcElementQuantity::Quantities() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc3::IfcPhysicalQuantity >(); } void Ifc4x3_rc3::IfcElementQuantity::setQuantities(aggregate_of< ::Ifc4x3_rc3::IfcPhysicalQuantity >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc3::IfcElementQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[407]); } const IfcParse::entity& Ifc4x3_rc3::IfcElementQuantity::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[407]); } Ifc4x3_rc3::IfcElementQuantity::IfcElementQuantity(IfcEntityInstanceData&& e) : IfcQuantitySet(std::move(e)) { } -Ifc4x3_rc3::IfcElementQuantity::IfcElementQuantity(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_MethodOfMeasurement, aggregate_of< ::Ifc4x3_rc3::IfcPhysicalQuantity >::ptr v6_Quantities) : IfcQuantitySet(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, (v6_Quantities)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcElementQuantity::IfcElementQuantity(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_MethodOfMeasurement, aggregate_of< ::Ifc4x3_rc3::IfcPhysicalQuantity >::ptr v6_Quantities) : IfcQuantitySet(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, (v6_Quantities)->generalize());; populate_derived(); } // Function implementations for IfcElementType -boost::optional< std::string > Ifc4x3_rc3::IfcElementType::ElementType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcElementType::setElementType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[408]); } const IfcParse::entity& Ifc4x3_rc3::IfcElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[408]); } Ifc4x3_rc3::IfcElementType::IfcElementType(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(e)) { } -Ifc4x3_rc3::IfcElementType::IfcElementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc3::IfcElementType::IfcElementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcElementarySurface -::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(true); } void Ifc4x3_rc3::IfcElementarySurface::setPosition(::Ifc4x3_rc3::IfcAxis2Placement3D* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc3::IfcElementarySurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[400]); } const IfcParse::entity& Ifc4x3_rc3::IfcElementarySurface::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[400]); } Ifc4x3_rc3::IfcElementarySurface::IfcElementarySurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x3_rc3::IfcElementarySurface::IfcElementarySurface(::Ifc4x3_rc3::IfcAxis2Placement3D* v1_Position) : IfcSurface(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcElementarySurface::IfcElementarySurface(::Ifc4x3_rc3::IfcAxis2Placement3D* v1_Position) : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcEllipse -double Ifc4x3_rc3::IfcEllipse::SemiAxis1() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc3::IfcEllipse::SemiAxis1() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcEllipse::setSemiAxis1(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc3::IfcEllipse::SemiAxis2() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc3::IfcEllipse::SemiAxis2() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcEllipse::setSemiAxis2(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcEllipse::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[409]); } const IfcParse::entity& Ifc4x3_rc3::IfcEllipse::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[409]); } Ifc4x3_rc3::IfcEllipse::IfcEllipse(IfcEntityInstanceData&& e) : IfcConic(std::move(e)) { } -Ifc4x3_rc3::IfcEllipse::IfcEllipse(::Ifc4x3_rc3::IfcAxis2Placement* v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) : IfcConic(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; populate_derived(); } +Ifc4x3_rc3::IfcEllipse::IfcEllipse(::Ifc4x3_rc3::IfcAxis2Placement* v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) : IfcConic(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; populate_derived(); } // Function implementations for IfcEllipseProfileDef -double Ifc4x3_rc3::IfcEllipseProfileDef::SemiAxis1() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc3::IfcEllipseProfileDef::SemiAxis1() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcEllipseProfileDef::setSemiAxis1(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc3::IfcEllipseProfileDef::SemiAxis2() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc3::IfcEllipseProfileDef::SemiAxis2() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcEllipseProfileDef::setSemiAxis2(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc3::IfcEllipseProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[410]); } const IfcParse::entity& Ifc4x3_rc3::IfcEllipseProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[410]); } Ifc4x3_rc3::IfcEllipseProfileDef::IfcEllipseProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_rc3::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D* v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; populate_derived(); } +Ifc4x3_rc3::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D* v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; populate_derived(); } // Function implementations for IfcEnergyConversionDevice @@ -10857,7 +10857,7 @@ Ifc4x3_rc3::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc4x3_rc3::IfcProfileT const IfcParse::entity& Ifc4x3_rc3::IfcEnergyConversionDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[411]); } const IfcParse::entity& Ifc4x3_rc3::IfcEnergyConversionDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[411]); } Ifc4x3_rc3::IfcEnergyConversionDevice::IfcEnergyConversionDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_rc3::IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc3::IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcEnergyConversionDeviceType @@ -10865,127 +10865,127 @@ Ifc4x3_rc3::IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_ const IfcParse::entity& Ifc4x3_rc3::IfcEnergyConversionDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[412]); } const IfcParse::entity& Ifc4x3_rc3::IfcEnergyConversionDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[412]); } Ifc4x3_rc3::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_rc3::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc3::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcEngine -boost::optional< ::Ifc4x3_rc3::IfcEngineTypeEnum::Value > Ifc4x3_rc3::IfcEngine::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcEngineTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcEngineTypeEnum::Value > Ifc4x3_rc3::IfcEngine::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcEngineTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcEngine::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcEngineTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcEngineTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcEngine::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[414]); } const IfcParse::entity& Ifc4x3_rc3::IfcEngine::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[414]); } Ifc4x3_rc3::IfcEngine::IfcEngine(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc3::IfcEngine::IfcEngine(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcEngineTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcEngine::IfcEngine(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcEngineTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEngineType -::Ifc4x3_rc3::IfcEngineTypeEnum::Value Ifc4x3_rc3::IfcEngineType::PredefinedType() const { return ::Ifc4x3_rc3::IfcEngineTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcEngineTypeEnum::Value Ifc4x3_rc3::IfcEngineType::PredefinedType() const { return ::Ifc4x3_rc3::IfcEngineTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcEngineType::setPredefinedType(::Ifc4x3_rc3::IfcEngineTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcEngineTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcEngineType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[415]); } const IfcParse::entity& Ifc4x3_rc3::IfcEngineType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[415]); } Ifc4x3_rc3::IfcEngineType::IfcEngineType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc3::IfcEngineType::IfcEngineType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcEngineTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcEngineType::IfcEngineType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcEngineTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEvaporativeCooler -boost::optional< ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x3_rc3::IfcEvaporativeCooler::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x3_rc3::IfcEvaporativeCooler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcEvaporativeCooler::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcEvaporativeCooler::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[417]); } const IfcParse::entity& Ifc4x3_rc3::IfcEvaporativeCooler::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[417]); } Ifc4x3_rc3::IfcEvaporativeCooler::IfcEvaporativeCooler(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc3::IfcEvaporativeCooler::IfcEvaporativeCooler(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcEvaporativeCooler::IfcEvaporativeCooler(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEvaporativeCoolerType -::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3_rc3::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3_rc3::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcEvaporativeCoolerType::setPredefinedType(::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcEvaporativeCoolerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[418]); } const IfcParse::entity& Ifc4x3_rc3::IfcEvaporativeCoolerType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[418]); } Ifc4x3_rc3::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc3::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEvaporator -boost::optional< ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value > Ifc4x3_rc3::IfcEvaporator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value > Ifc4x3_rc3::IfcEvaporator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcEvaporator::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcEvaporator::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[420]); } const IfcParse::entity& Ifc4x3_rc3::IfcEvaporator::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[420]); } Ifc4x3_rc3::IfcEvaporator::IfcEvaporator(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc3::IfcEvaporator::IfcEvaporator(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcEvaporator::IfcEvaporator(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEvaporatorType -::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value Ifc4x3_rc3::IfcEvaporatorType::PredefinedType() const { return ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value Ifc4x3_rc3::IfcEvaporatorType::PredefinedType() const { return ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcEvaporatorType::setPredefinedType(::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcEvaporatorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[421]); } const IfcParse::entity& Ifc4x3_rc3::IfcEvaporatorType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[421]); } Ifc4x3_rc3::IfcEvaporatorType::IfcEvaporatorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc3::IfcEvaporatorType::IfcEvaporatorType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcEvaporatorType::IfcEvaporatorType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEvent -boost::optional< ::Ifc4x3_rc3::IfcEventTypeEnum::Value > Ifc4x3_rc3::IfcEvent::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcEventTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_rc3::IfcEventTypeEnum::Value > Ifc4x3_rc3::IfcEvent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcEventTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc3::IfcEvent::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcEventTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc3::IfcEventTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Value > Ifc4x3_rc3::IfcEvent::EventTriggerType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcEventTriggerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Value > Ifc4x3_rc3::IfcEvent::EventTriggerType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcEventTriggerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcEvent::setEventTriggerType(boost::optional< ::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_rc3::IfcEvent::UserDefinedEventTriggerType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcEvent::UserDefinedEventTriggerType() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc3::IfcEvent::setUserDefinedEventTriggerType(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -::Ifc4x3_rc3::IfcEventTime* Ifc4x3_rc3::IfcEvent::EventOccurenceTime() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_rc3::IfcEventTime>(true); } +::Ifc4x3_rc3::IfcEventTime* Ifc4x3_rc3::IfcEvent::EventOccurenceTime() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_rc3::IfcEventTime>(true); } void Ifc4x3_rc3::IfcEvent::setEventOccurenceTime(::Ifc4x3_rc3::IfcEventTime* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_rc3::IfcEvent::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[423]); } const IfcParse::entity& Ifc4x3_rc3::IfcEvent::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[423]); } Ifc4x3_rc3::IfcEvent::IfcEvent(IfcEntityInstanceData&& e) : IfcProcess(std::move(e)) { } -Ifc4x3_rc3::IfcEvent::IfcEvent(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< ::Ifc4x3_rc3::IfcEventTypeEnum::Value > v8_PredefinedType, boost::optional< ::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, boost::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_rc3::IfcEventTime* v11_EventOccurenceTime) : IfcProcess(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, v11_EventOccurenceTime ? v11_EventOccurenceTime->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcEvent::IfcEvent(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< ::Ifc4x3_rc3::IfcEventTypeEnum::Value > v8_PredefinedType, boost::optional< ::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, boost::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_rc3::IfcEventTime* v11_EventOccurenceTime) : IfcProcess(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, v11_EventOccurenceTime ? v11_EventOccurenceTime->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcEventTime -boost::optional< std::string > Ifc4x3_rc3::IfcEventTime::ActualDate() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcEventTime::ActualDate() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcEventTime::setActualDate(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc3::IfcEventTime::EarlyDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcEventTime::EarlyDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcEventTime::setEarlyDate(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc3::IfcEventTime::LateDate() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcEventTime::LateDate() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcEventTime::setLateDate(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc3::IfcEventTime::ScheduleDate() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcEventTime::ScheduleDate() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcEventTime::setScheduleDate(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc3::IfcEventTime::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[424]); } const IfcParse::entity& Ifc4x3_rc3::IfcEventTime::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[424]); } Ifc4x3_rc3::IfcEventTime::IfcEventTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x3_rc3::IfcEventTime::IfcEventTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< std::string > v4_ActualDate, boost::optional< std::string > v5_EarlyDate, boost::optional< std::string > v6_LateDate, boost::optional< std::string > v7_ScheduleDate) : IfcSchedulingTime(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); }; populate_derived(); } +Ifc4x3_rc3::IfcEventTime::IfcEventTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< std::string > v4_ActualDate, boost::optional< std::string > v5_EarlyDate, boost::optional< std::string > v6_LateDate, boost::optional< std::string > v7_ScheduleDate) : IfcSchedulingTime(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); }; populate_derived(); } // Function implementations for IfcEventType -::Ifc4x3_rc3::IfcEventTypeEnum::Value Ifc4x3_rc3::IfcEventType::PredefinedType() const { return ::Ifc4x3_rc3::IfcEventTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcEventTypeEnum::Value Ifc4x3_rc3::IfcEventType::PredefinedType() const { return ::Ifc4x3_rc3::IfcEventTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcEventType::setPredefinedType(::Ifc4x3_rc3::IfcEventTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcEventTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Value Ifc4x3_rc3::IfcEventType::EventTriggerType() const { return ::Ifc4x3_rc3::IfcEventTriggerTypeEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Value Ifc4x3_rc3::IfcEventType::EventTriggerType() const { return ::Ifc4x3_rc3::IfcEventTriggerTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc3::IfcEventType::setEventTriggerType(::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } -boost::optional< std::string > Ifc4x3_rc3::IfcEventType::UserDefinedEventTriggerType() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcEventType::UserDefinedEventTriggerType() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x3_rc3::IfcEventType::setUserDefinedEventTriggerType(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x3_rc3::IfcEventType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[426]); } const IfcParse::entity& Ifc4x3_rc3::IfcEventType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[426]); } Ifc4x3_rc3::IfcEventType::IfcEventType(IfcEntityInstanceData&& e) : IfcTypeProcess(std::move(e)) { } -Ifc4x3_rc3::IfcEventType::IfcEventType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_rc3::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, boost::optional< std::string > v12_UserDefinedEventTriggerType) : IfcTypeProcess(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); }; populate_derived(); } +Ifc4x3_rc3::IfcEventType::IfcEventType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_rc3::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, boost::optional< std::string > v12_UserDefinedEventTriggerType) : IfcTypeProcess(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); }; populate_derived(); } // Function implementations for IfcExtendedProperties -boost::optional< std::string > Ifc4x3_rc3::IfcExtendedProperties::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcExtendedProperties::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcExtendedProperties::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc3::IfcExtendedProperties::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcExtendedProperties::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcExtendedProperties::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3_rc3::IfcProperty >::ptr Ifc4x3_rc3::IfcExtendedProperties::Properties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcProperty >(); } +aggregate_of< ::Ifc4x3_rc3::IfcProperty >::ptr Ifc4x3_rc3::IfcExtendedProperties::Properties() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcProperty >(); } void Ifc4x3_rc3::IfcExtendedProperties::setProperties(aggregate_of< ::Ifc4x3_rc3::IfcProperty >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcExtendedProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[428]); } const IfcParse::entity& Ifc4x3_rc3::IfcExtendedProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[428]); } Ifc4x3_rc3::IfcExtendedProperties::IfcExtendedProperties(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x3_rc3::IfcExtendedProperties::IfcExtendedProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcProperty >::ptr v3_Properties) : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcExtendedProperties::IfcExtendedProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcProperty >::ptr v3_Properties) : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());; populate_derived(); } // Function implementations for IfcExternalInformation @@ -10993,14 +10993,14 @@ Ifc4x3_rc3::IfcExtendedProperties::IfcExtendedProperties(boost::optional< std::s const IfcParse::entity& Ifc4x3_rc3::IfcExternalInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[429]); } const IfcParse::entity& Ifc4x3_rc3::IfcExternalInformation::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[429]); } Ifc4x3_rc3::IfcExternalInformation::IfcExternalInformation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcExternalInformation::IfcExternalInformation() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc3::IfcExternalInformation::IfcExternalInformation() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcExternalReference -boost::optional< std::string > Ifc4x3_rc3::IfcExternalReference::Location() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcExternalReference::Location() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcExternalReference::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc3::IfcExternalReference::Identification() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcExternalReference::Identification() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcExternalReference::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc3::IfcExternalReference::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcExternalReference::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcExternalReference::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3_rc3::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc3::IfcExternalReference::ExternalReferenceForResources() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[434], 2)->as(); } @@ -11008,22 +11008,22 @@ void Ifc4x3_rc3::IfcExternalReference::setName(boost::optional< std::string > v) const IfcParse::entity& Ifc4x3_rc3::IfcExternalReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[433]); } const IfcParse::entity& Ifc4x3_rc3::IfcExternalReference::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[433]); } Ifc4x3_rc3::IfcExternalReference::IfcExternalReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcExternalReference::IfcExternalReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3_rc3::IfcExternalReference::IfcExternalReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternalReferenceRelationship -::Ifc4x3_rc3::IfcExternalReference* Ifc4x3_rc3::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcExternalReference>(true); } +::Ifc4x3_rc3::IfcExternalReference* Ifc4x3_rc3::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcExternalReference>(true); } void Ifc4x3_rc3::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4x3_rc3::IfcExternalReference* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr Ifc4x3_rc3::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc3::IfcResourceObjectSelect >(); } +aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr Ifc4x3_rc3::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc3::IfcResourceObjectSelect >(); } void Ifc4x3_rc3::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcExternalReferenceRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[434]); } const IfcParse::entity& Ifc4x3_rc3::IfcExternalReferenceRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[434]); } Ifc4x3_rc3::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_rc3::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingReference ? v3_RelatingReference->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingReference ? v3_RelatingReference->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } // Function implementations for IfcExternalSpatialElement -boost::optional< ::Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_rc3::IfcExternalSpatialElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_rc3::IfcExternalSpatialElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcExternalSpatialElement::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x3_rc3::IfcRelSpaceBoundary::list::ptr Ifc4x3_rc3::IfcExternalSpatialElement::BoundedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[951], 4)->as(); } @@ -11031,7 +11031,7 @@ void Ifc4x3_rc3::IfcExternalSpatialElement::setPredefinedType(boost::optional< : const IfcParse::entity& Ifc4x3_rc3::IfcExternalSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[435]); } const IfcParse::entity& Ifc4x3_rc3::IfcExternalSpatialElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[435]); } Ifc4x3_rc3::IfcExternalSpatialElement::IfcExternalSpatialElement(IfcEntityInstanceData&& e) : IfcExternalSpatialStructureElement(std::move(e)) { } -Ifc4x3_rc3::IfcExternalSpatialElement::IfcExternalSpatialElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) : IfcExternalSpatialStructureElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcExternalSpatialElement::IfcExternalSpatialElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) : IfcExternalSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcExternalSpatialStructureElement @@ -11039,7 +11039,7 @@ Ifc4x3_rc3::IfcExternalSpatialElement::IfcExternalSpatialElement(std::string v1_ const IfcParse::entity& Ifc4x3_rc3::IfcExternalSpatialStructureElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[437]); } const IfcParse::entity& Ifc4x3_rc3::IfcExternalSpatialStructureElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[437]); } Ifc4x3_rc3::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(IfcEntityInstanceData&& e) : IfcSpatialElement(std::move(e)) { } -Ifc4x3_rc3::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcSpatialElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } +Ifc4x3_rc3::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcSpatialElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedHatchStyle @@ -11047,7 +11047,7 @@ Ifc4x3_rc3::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureEleme const IfcParse::entity& Ifc4x3_rc3::IfcExternallyDefinedHatchStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[430]); } const IfcParse::entity& Ifc4x3_rc3::IfcExternallyDefinedHatchStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[430]); } Ifc4x3_rc3::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_rc3::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3_rc3::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedSurfaceStyle @@ -11055,7 +11055,7 @@ Ifc4x3_rc3::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost const IfcParse::entity& Ifc4x3_rc3::IfcExternallyDefinedSurfaceStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[431]); } const IfcParse::entity& Ifc4x3_rc3::IfcExternallyDefinedSurfaceStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[431]); } Ifc4x3_rc3::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_rc3::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3_rc3::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedTextFont @@ -11063,32 +11063,32 @@ Ifc4x3_rc3::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(b const IfcParse::entity& Ifc4x3_rc3::IfcExternallyDefinedTextFont::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[432]); } const IfcParse::entity& Ifc4x3_rc3::IfcExternallyDefinedTextFont::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[432]); } Ifc4x3_rc3::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_rc3::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3_rc3::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExtrudedAreaSolid -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcDirection>(true); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcExtrudedAreaSolid::setExtrudedDirection(::Ifc4x3_rc3::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc3::IfcExtrudedAreaSolid::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc3::IfcExtrudedAreaSolid::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcExtrudedAreaSolid::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcExtrudedAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[438]); } const IfcParse::entity& Ifc4x3_rc3::IfcExtrudedAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[438]); } Ifc4x3_rc3::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4x3_rc3::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(::Ifc4x3_rc3::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc3::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } +Ifc4x3_rc3::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(::Ifc4x3_rc3::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc3::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } // Function implementations for IfcExtrudedAreaSolidTapered -::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcProfileDef>(true); } +::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcProfileDef>(true); } void Ifc4x3_rc3::IfcExtrudedAreaSolidTapered::setEndSweptArea(::Ifc4x3_rc3::IfcProfileDef* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc3::IfcExtrudedAreaSolidTapered::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[439]); } const IfcParse::entity& Ifc4x3_rc3::IfcExtrudedAreaSolidTapered::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[439]); } Ifc4x3_rc3::IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(IfcEntityInstanceData&& e) : IfcExtrudedAreaSolid(std::move(e)) { } -Ifc4x3_rc3::IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(::Ifc4x3_rc3::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc3::IfcDirection* v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_rc3::IfcProfileDef* v5_EndSweptArea) : IfcExtrudedAreaSolid(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(::Ifc4x3_rc3::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc3::IfcDirection* v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_rc3::IfcProfileDef* v5_EndSweptArea) : IfcExtrudedAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcFace -aggregate_of< ::Ifc4x3_rc3::IfcFaceBound >::ptr Ifc4x3_rc3::IfcFace::Bounds() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcFaceBound >(); } +aggregate_of< ::Ifc4x3_rc3::IfcFaceBound >::ptr Ifc4x3_rc3::IfcFace::Bounds() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcFaceBound >(); } void Ifc4x3_rc3::IfcFace::setBounds(aggregate_of< ::Ifc4x3_rc3::IfcFaceBound >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_rc3::IfcTextureMap::list::ptr Ifc4x3_rc3::IfcFace::HasTextureMaps() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[1199], 2)->as(); } @@ -11096,29 +11096,29 @@ void Ifc4x3_rc3::IfcFace::setBounds(aggregate_of< ::Ifc4x3_rc3::IfcFaceBound >:: const IfcParse::entity& Ifc4x3_rc3::IfcFace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[440]); } const IfcParse::entity& Ifc4x3_rc3::IfcFace::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[440]); } Ifc4x3_rc3::IfcFace::IfcFace(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcFace::IfcFace(aggregate_of< ::Ifc4x3_rc3::IfcFaceBound >::ptr v1_Bounds) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Bounds)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcFace::IfcFace(aggregate_of< ::Ifc4x3_rc3::IfcFaceBound >::ptr v1_Bounds) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Bounds)->generalize());; populate_derived(); } // Function implementations for IfcFaceBasedSurfaceModel -aggregate_of< ::Ifc4x3_rc3::IfcConnectedFaceSet >::ptr Ifc4x3_rc3::IfcFaceBasedSurfaceModel::FbsmFaces() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcConnectedFaceSet >(); } +aggregate_of< ::Ifc4x3_rc3::IfcConnectedFaceSet >::ptr Ifc4x3_rc3::IfcFaceBasedSurfaceModel::FbsmFaces() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcConnectedFaceSet >(); } void Ifc4x3_rc3::IfcFaceBasedSurfaceModel::setFbsmFaces(aggregate_of< ::Ifc4x3_rc3::IfcConnectedFaceSet >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc3::IfcFaceBasedSurfaceModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[441]); } const IfcParse::entity& Ifc4x3_rc3::IfcFaceBasedSurfaceModel::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[441]); } Ifc4x3_rc3::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(aggregate_of< ::Ifc4x3_rc3::IfcConnectedFaceSet >::ptr v1_FbsmFaces) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_FbsmFaces)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(aggregate_of< ::Ifc4x3_rc3::IfcConnectedFaceSet >::ptr v1_FbsmFaces) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_FbsmFaces)->generalize());; populate_derived(); } // Function implementations for IfcFaceBound -::Ifc4x3_rc3::IfcLoop* Ifc4x3_rc3::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcLoop>(true); } +::Ifc4x3_rc3::IfcLoop* Ifc4x3_rc3::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcLoop>(true); } void Ifc4x3_rc3::IfcFaceBound::setBound(::Ifc4x3_rc3::IfcLoop* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -bool Ifc4x3_rc3::IfcFaceBound::Orientation() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x3_rc3::IfcFaceBound::Orientation() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcFaceBound::setOrientation(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcFaceBound::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[442]); } const IfcParse::entity& Ifc4x3_rc3::IfcFaceBound::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[442]); } Ifc4x3_rc3::IfcFaceBound::IfcFaceBound(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcFaceBound::IfcFaceBound(::Ifc4x3_rc3::IfcLoop* v1_Bound, bool v2_Orientation) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } +Ifc4x3_rc3::IfcFaceBound::IfcFaceBound(::Ifc4x3_rc3::IfcLoop* v1_Bound, bool v2_Orientation) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } // Function implementations for IfcFaceOuterBound @@ -11126,19 +11126,19 @@ Ifc4x3_rc3::IfcFaceBound::IfcFaceBound(::Ifc4x3_rc3::IfcLoop* v1_Bound, bool v2_ const IfcParse::entity& Ifc4x3_rc3::IfcFaceOuterBound::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[443]); } const IfcParse::entity& Ifc4x3_rc3::IfcFaceOuterBound::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[443]); } Ifc4x3_rc3::IfcFaceOuterBound::IfcFaceOuterBound(IfcEntityInstanceData&& e) : IfcFaceBound(std::move(e)) { } -Ifc4x3_rc3::IfcFaceOuterBound::IfcFaceOuterBound(::Ifc4x3_rc3::IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } +Ifc4x3_rc3::IfcFaceOuterBound::IfcFaceOuterBound(::Ifc4x3_rc3::IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } // Function implementations for IfcFaceSurface -::Ifc4x3_rc3::IfcSurface* Ifc4x3_rc3::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcSurface>(true); } +::Ifc4x3_rc3::IfcSurface* Ifc4x3_rc3::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcSurface>(true); } void Ifc4x3_rc3::IfcFaceSurface::setFaceSurface(::Ifc4x3_rc3::IfcSurface* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -bool Ifc4x3_rc3::IfcFaceSurface::SameSense() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x3_rc3::IfcFaceSurface::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcFaceSurface::setSameSense(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcFaceSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[444]); } const IfcParse::entity& Ifc4x3_rc3::IfcFaceSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[444]); } Ifc4x3_rc3::IfcFaceSurface::IfcFaceSurface(IfcEntityInstanceData&& e) : IfcFace(std::move(e)) { } -Ifc4x3_rc3::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc4x3_rc3::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_rc3::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFace(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } +Ifc4x3_rc3::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc4x3_rc3::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_rc3::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFace(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } // Function implementations for IfcFacetedBrep @@ -11146,17 +11146,17 @@ Ifc4x3_rc3::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc4x3_rc3::IfcFaceBo const IfcParse::entity& Ifc4x3_rc3::IfcFacetedBrep::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[445]); } const IfcParse::entity& Ifc4x3_rc3::IfcFacetedBrep::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[445]); } Ifc4x3_rc3::IfcFacetedBrep::IfcFacetedBrep(IfcEntityInstanceData&& e) : IfcManifoldSolidBrep(std::move(e)) { } -Ifc4x3_rc3::IfcFacetedBrep::IfcFacetedBrep(::Ifc4x3_rc3::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcFacetedBrep::IfcFacetedBrep(::Ifc4x3_rc3::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcFacetedBrepWithVoids -aggregate_of< ::Ifc4x3_rc3::IfcClosedShell >::ptr Ifc4x3_rc3::IfcFacetedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcClosedShell >(); } +aggregate_of< ::Ifc4x3_rc3::IfcClosedShell >::ptr Ifc4x3_rc3::IfcFacetedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcClosedShell >(); } void Ifc4x3_rc3::IfcFacetedBrepWithVoids::setVoids(aggregate_of< ::Ifc4x3_rc3::IfcClosedShell >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcFacetedBrepWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[446]); } const IfcParse::entity& Ifc4x3_rc3::IfcFacetedBrepWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[446]); } Ifc4x3_rc3::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(IfcEntityInstanceData&& e) : IfcFacetedBrep(std::move(e)) { } -Ifc4x3_rc3::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4x3_rc3::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3_rc3::IfcClosedShell >::ptr v2_Voids) : IfcFacetedBrep(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4x3_rc3::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3_rc3::IfcClosedShell >::ptr v2_Voids) : IfcFacetedBrep(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } // Function implementations for IfcFacility @@ -11164,79 +11164,79 @@ Ifc4x3_rc3::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4x3_rc3::IfcCl const IfcParse::entity& Ifc4x3_rc3::IfcFacility::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[447]); } const IfcParse::entity& Ifc4x3_rc3::IfcFacility::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[447]); } Ifc4x3_rc3::IfcFacility::IfcFacility(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x3_rc3::IfcFacility::IfcFacility(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } +Ifc4x3_rc3::IfcFacility::IfcFacility(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } // Function implementations for IfcFacilityPart -::Ifc4x3_rc3::IfcFacilityPartTypeSelect* Ifc4x3_rc3::IfcFacilityPart::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc3::IfcFacilityPartTypeSelect>(true); } +::Ifc4x3_rc3::IfcFacilityPartTypeSelect* Ifc4x3_rc3::IfcFacilityPart::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc3::IfcFacilityPartTypeSelect>(true); } void Ifc4x3_rc3::IfcFacilityPart::setPredefinedType(::Ifc4x3_rc3::IfcFacilityPartTypeSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc3::IfcFacilityUsageEnum::Value Ifc4x3_rc3::IfcFacilityPart::UsageType() const { return ::Ifc4x3_rc3::IfcFacilityUsageEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3_rc3::IfcFacilityUsageEnum::Value Ifc4x3_rc3::IfcFacilityPart::UsageType() const { return ::Ifc4x3_rc3::IfcFacilityUsageEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc3::IfcFacilityPart::setUsageType(::Ifc4x3_rc3::IfcFacilityUsageEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc3::IfcFacilityUsageEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_rc3::IfcFacilityPart::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[448]); } const IfcParse::entity& Ifc4x3_rc3::IfcFacilityPart::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[448]); } Ifc4x3_rc3::IfcFacilityPart::IfcFacilityPart(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x3_rc3::IfcFacilityPart::IfcFacilityPart(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc3::IfcFacilityPartTypeSelect* v10_PredefinedType, ::Ifc4x3_rc3::IfcFacilityUsageEnum::Value v11_UsageType) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, v10_PredefinedType ? v10_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcFacilityUsageEnum::Class(),(size_t)v11_UsageType)));; populate_derived(); } +Ifc4x3_rc3::IfcFacilityPart::IfcFacilityPart(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_rc3::IfcFacilityPartTypeSelect* v10_PredefinedType, ::Ifc4x3_rc3::IfcFacilityUsageEnum::Value v11_UsageType) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, v10_PredefinedType ? v10_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcFacilityUsageEnum::Class(),(size_t)v11_UsageType)));; populate_derived(); } // Function implementations for IfcFailureConnectionCondition -boost::optional< double > Ifc4x3_rc3::IfcFailureConnectionCondition::TensionFailureX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc3::IfcFailureConnectionCondition::TensionFailureX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcFailureConnectionCondition::setTensionFailureX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc3::IfcFailureConnectionCondition::TensionFailureY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc3::IfcFailureConnectionCondition::TensionFailureY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcFailureConnectionCondition::setTensionFailureY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc3::IfcFailureConnectionCondition::TensionFailureZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc3::IfcFailureConnectionCondition::TensionFailureZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcFailureConnectionCondition::setTensionFailureZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc3::IfcFailureConnectionCondition::CompressionFailureX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc3::IfcFailureConnectionCondition::CompressionFailureX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcFailureConnectionCondition::setCompressionFailureX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_rc3::IfcFailureConnectionCondition::CompressionFailureY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc3::IfcFailureConnectionCondition::CompressionFailureY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcFailureConnectionCondition::setCompressionFailureY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_rc3::IfcFailureConnectionCondition::CompressionFailureZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc3::IfcFailureConnectionCondition::CompressionFailureZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcFailureConnectionCondition::setCompressionFailureZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc3::IfcFailureConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[452]); } const IfcParse::entity& Ifc4x3_rc3::IfcFailureConnectionCondition::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[452]); } Ifc4x3_rc3::IfcFailureConnectionCondition::IfcFailureConnectionCondition(IfcEntityInstanceData&& e) : IfcStructuralConnectionCondition(std::move(e)) { } -Ifc4x3_rc3::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; populate_derived(); } +Ifc4x3_rc3::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; populate_derived(); } // Function implementations for IfcFan -boost::optional< ::Ifc4x3_rc3::IfcFanTypeEnum::Value > Ifc4x3_rc3::IfcFan::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcFanTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcFanTypeEnum::Value > Ifc4x3_rc3::IfcFan::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcFanTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcFan::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcFanTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcFanTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcFan::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[453]); } const IfcParse::entity& Ifc4x3_rc3::IfcFan::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[453]); } Ifc4x3_rc3::IfcFan::IfcFan(IfcEntityInstanceData&& e) : IfcFlowMovingDevice(std::move(e)) { } -Ifc4x3_rc3::IfcFan::IfcFan(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcFanTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcFan::IfcFan(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcFanTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFanType -::Ifc4x3_rc3::IfcFanTypeEnum::Value Ifc4x3_rc3::IfcFanType::PredefinedType() const { return ::Ifc4x3_rc3::IfcFanTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcFanTypeEnum::Value Ifc4x3_rc3::IfcFanType::PredefinedType() const { return ::Ifc4x3_rc3::IfcFanTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcFanType::setPredefinedType(::Ifc4x3_rc3::IfcFanTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcFanTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcFanType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[454]); } const IfcParse::entity& Ifc4x3_rc3::IfcFanType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[454]); } Ifc4x3_rc3::IfcFanType::IfcFanType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(e)) { } -Ifc4x3_rc3::IfcFanType::IfcFanType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFanTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcFanType::IfcFanType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFanTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFastener -boost::optional< ::Ifc4x3_rc3::IfcFastenerTypeEnum::Value > Ifc4x3_rc3::IfcFastener::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcFastenerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcFastenerTypeEnum::Value > Ifc4x3_rc3::IfcFastener::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcFastenerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcFastener::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcFastenerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcFastenerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcFastener::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[456]); } const IfcParse::entity& Ifc4x3_rc3::IfcFastener::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[456]); } Ifc4x3_rc3::IfcFastener::IfcFastener(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_rc3::IfcFastener::IfcFastener(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcFastenerTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcFastener::IfcFastener(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcFastenerTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFastenerType -::Ifc4x3_rc3::IfcFastenerTypeEnum::Value Ifc4x3_rc3::IfcFastenerType::PredefinedType() const { return ::Ifc4x3_rc3::IfcFastenerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcFastenerTypeEnum::Value Ifc4x3_rc3::IfcFastenerType::PredefinedType() const { return ::Ifc4x3_rc3::IfcFastenerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcFastenerType::setPredefinedType(::Ifc4x3_rc3::IfcFastenerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcFastenerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcFastenerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[457]); } const IfcParse::entity& Ifc4x3_rc3::IfcFastenerType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[457]); } Ifc4x3_rc3::IfcFastenerType::IfcFastenerType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_rc3::IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFastenerTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFastenerTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFeatureElement @@ -11244,7 +11244,7 @@ Ifc4x3_rc3::IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, ::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc3::IfcFeatureElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[459]); } const IfcParse::entity& Ifc4x3_rc3::IfcFeatureElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[459]); } Ifc4x3_rc3::IfcFeatureElement::IfcFeatureElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc3::IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc3::IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFeatureElementAddition @@ -11253,7 +11253,7 @@ Ifc4x3_rc3::IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3_rc3::IfcFeatureElementAddition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[460]); } const IfcParse::entity& Ifc4x3_rc3::IfcFeatureElementAddition::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[460]); } Ifc4x3_rc3::IfcFeatureElementAddition::IfcFeatureElementAddition(IfcEntityInstanceData&& e) : IfcFeatureElement(std::move(e)) { } -Ifc4x3_rc3::IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc3::IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFeatureElementSubtraction @@ -11262,101 +11262,101 @@ Ifc4x3_rc3::IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_ const IfcParse::entity& Ifc4x3_rc3::IfcFeatureElementSubtraction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[461]); } const IfcParse::entity& Ifc4x3_rc3::IfcFeatureElementSubtraction::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[461]); } Ifc4x3_rc3::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntityInstanceData&& e) : IfcFeatureElement(std::move(e)) { } -Ifc4x3_rc3::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc3::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFillAreaStyle -aggregate_of< ::Ifc4x3_rc3::IfcFillStyleSelect >::ptr Ifc4x3_rc3::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcFillStyleSelect >(); } +aggregate_of< ::Ifc4x3_rc3::IfcFillStyleSelect >::ptr Ifc4x3_rc3::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcFillStyleSelect >(); } void Ifc4x3_rc3::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x3_rc3::IfcFillStyleSelect >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< bool > Ifc4x3_rc3::IfcFillAreaStyle::ModelOrDraughting() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } bool v = data_.get_attribute_value(2); return v; } +boost::optional< bool > Ifc4x3_rc3::IfcFillAreaStyle::ModelOrDraughting() const { if(get_attribute_value(2).isNull()) { return boost::none; } bool v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc3::IfcFillAreaStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[462]); } const IfcParse::entity& Ifc4x3_rc3::IfcFillAreaStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[462]); } Ifc4x3_rc3::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x3_rc3::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc3::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_FillStyles)->generalize()); if (v3_ModelOrDraughting) {set_attribute_value(2, (*v3_ModelOrDraughting)); }; populate_derived(); } +Ifc4x3_rc3::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc3::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_FillStyles)->generalize()); if (v3_ModelOrDraughting) {set_attribute_value(2, (*v3_ModelOrDraughting)); }; populate_derived(); } // Function implementations for IfcFillAreaStyleHatching -::Ifc4x3_rc3::IfcCurveStyle* Ifc4x3_rc3::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCurveStyle>(true); } +::Ifc4x3_rc3::IfcCurveStyle* Ifc4x3_rc3::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCurveStyle>(true); } void Ifc4x3_rc3::IfcFillAreaStyleHatching::setHatchLineAppearance(::Ifc4x3_rc3::IfcCurveStyle* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcHatchLineDistanceSelect* Ifc4x3_rc3::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcHatchLineDistanceSelect>(true); } +::Ifc4x3_rc3::IfcHatchLineDistanceSelect* Ifc4x3_rc3::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcHatchLineDistanceSelect>(true); } void Ifc4x3_rc3::IfcFillAreaStyleHatching::setStartOfNextHatchLine(::Ifc4x3_rc3::IfcHatchLineDistanceSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcCartesianPoint* Ifc4x3_rc3::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcCartesianPoint>(true); } +::Ifc4x3_rc3::IfcCartesianPoint* Ifc4x3_rc3::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcCartesianPoint>(true); } void Ifc4x3_rc3::IfcFillAreaStyleHatching::setPointOfReferenceHatchLine(::Ifc4x3_rc3::IfcCartesianPoint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcCartesianPoint* Ifc4x3_rc3::IfcFillAreaStyleHatching::PatternStart() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcCartesianPoint>(true); } +::Ifc4x3_rc3::IfcCartesianPoint* Ifc4x3_rc3::IfcFillAreaStyleHatching::PatternStart() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcCartesianPoint>(true); } void Ifc4x3_rc3::IfcFillAreaStyleHatching::setPatternStart(::Ifc4x3_rc3::IfcCartesianPoint* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc3::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc3::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcFillAreaStyleHatching::setHatchLineAngle(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc3::IfcFillAreaStyleHatching::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[463]); } const IfcParse::entity& Ifc4x3_rc3::IfcFillAreaStyleHatching::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[463]); } Ifc4x3_rc3::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(::Ifc4x3_rc3::IfcCurveStyle* v1_HatchLineAppearance, ::Ifc4x3_rc3::IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, ::Ifc4x3_rc3::IfcCartesianPoint* v3_PointOfReferenceHatchLine, ::Ifc4x3_rc3::IfcCartesianPoint* v4_PatternStart, double v5_HatchLineAngle) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_HatchLineAppearance ? v1_HatchLineAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_StartOfNextHatchLine ? v2_StartOfNextHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PointOfReferenceHatchLine ? v3_PointOfReferenceHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PatternStart ? v4_PatternStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_HatchLineAngle));; populate_derived(); } +Ifc4x3_rc3::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(::Ifc4x3_rc3::IfcCurveStyle* v1_HatchLineAppearance, ::Ifc4x3_rc3::IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, ::Ifc4x3_rc3::IfcCartesianPoint* v3_PointOfReferenceHatchLine, ::Ifc4x3_rc3::IfcCartesianPoint* v4_PatternStart, double v5_HatchLineAngle) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_HatchLineAppearance ? v1_HatchLineAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_StartOfNextHatchLine ? v2_StartOfNextHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PointOfReferenceHatchLine ? v3_PointOfReferenceHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PatternStart ? v4_PatternStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_HatchLineAngle));; populate_derived(); } // Function implementations for IfcFillAreaStyleTiles -aggregate_of< ::Ifc4x3_rc3::IfcVector >::ptr Ifc4x3_rc3::IfcFillAreaStyleTiles::TilingPattern() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcVector >(); } +aggregate_of< ::Ifc4x3_rc3::IfcVector >::ptr Ifc4x3_rc3::IfcFillAreaStyleTiles::TilingPattern() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcVector >(); } void Ifc4x3_rc3::IfcFillAreaStyleTiles::setTilingPattern(aggregate_of< ::Ifc4x3_rc3::IfcVector >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc3::IfcStyledItem >::ptr Ifc4x3_rc3::IfcFillAreaStyleTiles::Tiles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcStyledItem >(); } +aggregate_of< ::Ifc4x3_rc3::IfcStyledItem >::ptr Ifc4x3_rc3::IfcFillAreaStyleTiles::Tiles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcStyledItem >(); } void Ifc4x3_rc3::IfcFillAreaStyleTiles::setTiles(aggregate_of< ::Ifc4x3_rc3::IfcStyledItem >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc3::IfcFillAreaStyleTiles::TilingScale() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc3::IfcFillAreaStyleTiles::TilingScale() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcFillAreaStyleTiles::setTilingScale(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcFillAreaStyleTiles::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[464]); } const IfcParse::entity& Ifc4x3_rc3::IfcFillAreaStyleTiles::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[464]); } Ifc4x3_rc3::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(aggregate_of< ::Ifc4x3_rc3::IfcVector >::ptr v1_TilingPattern, aggregate_of< ::Ifc4x3_rc3::IfcStyledItem >::ptr v2_Tiles, double v3_TilingScale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_TilingPattern)->generalize());set_attribute_value(1, (v2_Tiles)->generalize());set_attribute_value(2, (v3_TilingScale));; populate_derived(); } +Ifc4x3_rc3::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(aggregate_of< ::Ifc4x3_rc3::IfcVector >::ptr v1_TilingPattern, aggregate_of< ::Ifc4x3_rc3::IfcStyledItem >::ptr v2_Tiles, double v3_TilingScale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_TilingPattern)->generalize());set_attribute_value(1, (v2_Tiles)->generalize());set_attribute_value(2, (v3_TilingScale));; populate_derived(); } // Function implementations for IfcFilter -boost::optional< ::Ifc4x3_rc3::IfcFilterTypeEnum::Value > Ifc4x3_rc3::IfcFilter::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcFilterTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcFilterTypeEnum::Value > Ifc4x3_rc3::IfcFilter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcFilterTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcFilter::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcFilterTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcFilterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcFilter::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[466]); } const IfcParse::entity& Ifc4x3_rc3::IfcFilter::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[466]); } Ifc4x3_rc3::IfcFilter::IfcFilter(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4x3_rc3::IfcFilter::IfcFilter(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcFilterTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcFilter::IfcFilter(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcFilterTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFilterType -::Ifc4x3_rc3::IfcFilterTypeEnum::Value Ifc4x3_rc3::IfcFilterType::PredefinedType() const { return ::Ifc4x3_rc3::IfcFilterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcFilterTypeEnum::Value Ifc4x3_rc3::IfcFilterType::PredefinedType() const { return ::Ifc4x3_rc3::IfcFilterTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcFilterType::setPredefinedType(::Ifc4x3_rc3::IfcFilterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcFilterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcFilterType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[467]); } const IfcParse::entity& Ifc4x3_rc3::IfcFilterType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[467]); } Ifc4x3_rc3::IfcFilterType::IfcFilterType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4x3_rc3::IfcFilterType::IfcFilterType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFilterTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcFilterType::IfcFilterType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFilterTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFireSuppressionTerminal -boost::optional< ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x3_rc3::IfcFireSuppressionTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x3_rc3::IfcFireSuppressionTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcFireSuppressionTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcFireSuppressionTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[469]); } const IfcParse::entity& Ifc4x3_rc3::IfcFireSuppressionTerminal::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[469]); } Ifc4x3_rc3::IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc3::IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFireSuppressionTerminalType -::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3_rc3::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3_rc3::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcFireSuppressionTerminalType::setPredefinedType(::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcFireSuppressionTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[470]); } const IfcParse::entity& Ifc4x3_rc3::IfcFireSuppressionTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[470]); } Ifc4x3_rc3::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc3::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFixedReferenceSweptAreaSolid -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcDirection>(true); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcFixedReferenceSweptAreaSolid::setFixedReference(::Ifc4x3_rc3::IfcDirection* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc3::IfcFixedReferenceSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[472]); } const IfcParse::entity& Ifc4x3_rc3::IfcFixedReferenceSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[472]); } Ifc4x3_rc3::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(IfcEntityInstanceData&& e) : IfcDirectrixCurveSweptAreaSolid(std::move(e)) { } -Ifc4x3_rc3::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(::Ifc4x3_rc3::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc3::IfcCurve* v3_Directrix, ::Ifc4x3_rc3::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_rc3::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3_rc3::IfcDirection* v6_FixedReference) : IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_FixedReference ? v6_FixedReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(::Ifc4x3_rc3::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc3::IfcCurve* v3_Directrix, ::Ifc4x3_rc3::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_rc3::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3_rc3::IfcDirection* v6_FixedReference) : IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_FixedReference ? v6_FixedReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcFlowController @@ -11364,7 +11364,7 @@ Ifc4x3_rc3::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(::I const IfcParse::entity& Ifc4x3_rc3::IfcFlowController::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[473]); } const IfcParse::entity& Ifc4x3_rc3::IfcFlowController::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[473]); } Ifc4x3_rc3::IfcFlowController::IfcFlowController(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_rc3::IfcFlowController::IfcFlowController(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc3::IfcFlowController::IfcFlowController(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowControllerType @@ -11372,7 +11372,7 @@ Ifc4x3_rc3::IfcFlowController::IfcFlowController(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3_rc3::IfcFlowControllerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[474]); } const IfcParse::entity& Ifc4x3_rc3::IfcFlowControllerType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[474]); } Ifc4x3_rc3::IfcFlowControllerType::IfcFlowControllerType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_rc3::IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc3::IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowFitting @@ -11380,7 +11380,7 @@ Ifc4x3_rc3::IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId const IfcParse::entity& Ifc4x3_rc3::IfcFlowFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[476]); } const IfcParse::entity& Ifc4x3_rc3::IfcFlowFitting::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[476]); } Ifc4x3_rc3::IfcFlowFitting::IfcFlowFitting(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_rc3::IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc3::IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowFittingType @@ -11388,47 +11388,47 @@ Ifc4x3_rc3::IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, ::Ifc4x3_rc3 const IfcParse::entity& Ifc4x3_rc3::IfcFlowFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[477]); } const IfcParse::entity& Ifc4x3_rc3::IfcFlowFittingType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[477]); } Ifc4x3_rc3::IfcFlowFittingType::IfcFlowFittingType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_rc3::IfcFlowFittingType::IfcFlowFittingType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc3::IfcFlowFittingType::IfcFlowFittingType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowInstrument -boost::optional< ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value > Ifc4x3_rc3::IfcFlowInstrument::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value > Ifc4x3_rc3::IfcFlowInstrument::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcFlowInstrument::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcFlowInstrument::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[478]); } const IfcParse::entity& Ifc4x3_rc3::IfcFlowInstrument::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[478]); } Ifc4x3_rc3::IfcFlowInstrument::IfcFlowInstrument(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_rc3::IfcFlowInstrument::IfcFlowInstrument(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcFlowInstrument::IfcFlowInstrument(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFlowInstrumentType -::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value Ifc4x3_rc3::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value Ifc4x3_rc3::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcFlowInstrumentType::setPredefinedType(::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcFlowInstrumentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[479]); } const IfcParse::entity& Ifc4x3_rc3::IfcFlowInstrumentType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[479]); } Ifc4x3_rc3::IfcFlowInstrumentType::IfcFlowInstrumentType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_rc3::IfcFlowInstrumentType::IfcFlowInstrumentType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcFlowInstrumentType::IfcFlowInstrumentType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFlowMeter -boost::optional< ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value > Ifc4x3_rc3::IfcFlowMeter::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value > Ifc4x3_rc3::IfcFlowMeter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcFlowMeter::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcFlowMeter::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[481]); } const IfcParse::entity& Ifc4x3_rc3::IfcFlowMeter::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[481]); } Ifc4x3_rc3::IfcFlowMeter::IfcFlowMeter(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_rc3::IfcFlowMeter::IfcFlowMeter(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcFlowMeter::IfcFlowMeter(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFlowMeterType -::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value Ifc4x3_rc3::IfcFlowMeterType::PredefinedType() const { return ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value Ifc4x3_rc3::IfcFlowMeterType::PredefinedType() const { return ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcFlowMeterType::setPredefinedType(::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcFlowMeterType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[482]); } const IfcParse::entity& Ifc4x3_rc3::IfcFlowMeterType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[482]); } Ifc4x3_rc3::IfcFlowMeterType::IfcFlowMeterType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_rc3::IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFlowMovingDevice @@ -11436,7 +11436,7 @@ Ifc4x3_rc3::IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, ::Ifc4x3 const IfcParse::entity& Ifc4x3_rc3::IfcFlowMovingDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[484]); } const IfcParse::entity& Ifc4x3_rc3::IfcFlowMovingDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[484]); } Ifc4x3_rc3::IfcFlowMovingDevice::IfcFlowMovingDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_rc3::IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc3::IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowMovingDeviceType @@ -11444,7 +11444,7 @@ Ifc4x3_rc3::IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x3_rc3::IfcFlowMovingDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[485]); } const IfcParse::entity& Ifc4x3_rc3::IfcFlowMovingDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[485]); } Ifc4x3_rc3::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_rc3::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc3::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowSegment @@ -11452,7 +11452,7 @@ Ifc4x3_rc3::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_Glob const IfcParse::entity& Ifc4x3_rc3::IfcFlowSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[486]); } const IfcParse::entity& Ifc4x3_rc3::IfcFlowSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[486]); } Ifc4x3_rc3::IfcFlowSegment::IfcFlowSegment(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_rc3::IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc3::IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowSegmentType @@ -11460,7 +11460,7 @@ Ifc4x3_rc3::IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, ::Ifc4x3_rc3 const IfcParse::entity& Ifc4x3_rc3::IfcFlowSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[487]); } const IfcParse::entity& Ifc4x3_rc3::IfcFlowSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[487]); } Ifc4x3_rc3::IfcFlowSegmentType::IfcFlowSegmentType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_rc3::IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc3::IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowStorageDevice @@ -11468,7 +11468,7 @@ Ifc4x3_rc3::IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x3_rc3::IfcFlowStorageDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[488]); } const IfcParse::entity& Ifc4x3_rc3::IfcFlowStorageDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[488]); } Ifc4x3_rc3::IfcFlowStorageDevice::IfcFlowStorageDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_rc3::IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc3::IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowStorageDeviceType @@ -11476,7 +11476,7 @@ Ifc4x3_rc3::IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, const IfcParse::entity& Ifc4x3_rc3::IfcFlowStorageDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[489]); } const IfcParse::entity& Ifc4x3_rc3::IfcFlowStorageDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[489]); } Ifc4x3_rc3::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_rc3::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc3::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowTerminal @@ -11484,7 +11484,7 @@ Ifc4x3_rc3::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_Gl const IfcParse::entity& Ifc4x3_rc3::IfcFlowTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[490]); } const IfcParse::entity& Ifc4x3_rc3::IfcFlowTerminal::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[490]); } Ifc4x3_rc3::IfcFlowTerminal::IfcFlowTerminal(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_rc3::IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc3::IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowTerminalType @@ -11492,7 +11492,7 @@ Ifc4x3_rc3::IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, ::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc3::IfcFlowTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[491]); } const IfcParse::entity& Ifc4x3_rc3::IfcFlowTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[491]); } Ifc4x3_rc3::IfcFlowTerminalType::IfcFlowTerminalType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_rc3::IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc3::IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowTreatmentDevice @@ -11500,7 +11500,7 @@ Ifc4x3_rc3::IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x3_rc3::IfcFlowTreatmentDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[492]); } const IfcParse::entity& Ifc4x3_rc3::IfcFlowTreatmentDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[492]); } Ifc4x3_rc3::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_rc3::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc3::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowTreatmentDeviceType @@ -11508,27 +11508,27 @@ Ifc4x3_rc3::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_Global const IfcParse::entity& Ifc4x3_rc3::IfcFlowTreatmentDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[493]); } const IfcParse::entity& Ifc4x3_rc3::IfcFlowTreatmentDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[493]); } Ifc4x3_rc3::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_rc3::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc3::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFooting -boost::optional< ::Ifc4x3_rc3::IfcFootingTypeEnum::Value > Ifc4x3_rc3::IfcFooting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcFootingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcFootingTypeEnum::Value > Ifc4x3_rc3::IfcFooting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcFootingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcFooting::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcFootingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcFootingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcFooting::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[497]); } const IfcParse::entity& Ifc4x3_rc3::IfcFooting::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[497]); } Ifc4x3_rc3::IfcFooting::IfcFooting(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc3::IfcFooting::IfcFooting(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcFootingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcFooting::IfcFooting(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcFootingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFootingType -::Ifc4x3_rc3::IfcFootingTypeEnum::Value Ifc4x3_rc3::IfcFootingType::PredefinedType() const { return ::Ifc4x3_rc3::IfcFootingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcFootingTypeEnum::Value Ifc4x3_rc3::IfcFootingType::PredefinedType() const { return ::Ifc4x3_rc3::IfcFootingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcFootingType::setPredefinedType(::Ifc4x3_rc3::IfcFootingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcFootingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcFootingType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[498]); } const IfcParse::entity& Ifc4x3_rc3::IfcFootingType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[498]); } Ifc4x3_rc3::IfcFootingType::IfcFootingType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc3::IfcFootingType::IfcFootingType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFootingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcFootingType::IfcFootingType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcFootingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFurnishingElement @@ -11536,7 +11536,7 @@ Ifc4x3_rc3::IfcFootingType::IfcFootingType(std::string v1_GlobalId, ::Ifc4x3_rc3 const IfcParse::entity& Ifc4x3_rc3::IfcFurnishingElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[502]); } const IfcParse::entity& Ifc4x3_rc3::IfcFurnishingElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[502]); } Ifc4x3_rc3::IfcFurnishingElement::IfcFurnishingElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc3::IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc3::IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFurnishingElementType @@ -11544,49 +11544,49 @@ Ifc4x3_rc3::IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, const IfcParse::entity& Ifc4x3_rc3::IfcFurnishingElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[503]); } const IfcParse::entity& Ifc4x3_rc3::IfcFurnishingElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[503]); } Ifc4x3_rc3::IfcFurnishingElementType::IfcFurnishingElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_rc3::IfcFurnishingElementType::IfcFurnishingElementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc3::IfcFurnishingElementType::IfcFurnishingElementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFurniture -boost::optional< ::Ifc4x3_rc3::IfcFurnitureTypeEnum::Value > Ifc4x3_rc3::IfcFurniture::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcFurnitureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcFurnitureTypeEnum::Value > Ifc4x3_rc3::IfcFurniture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcFurnitureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcFurniture::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcFurnitureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcFurnitureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcFurniture::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[504]); } const IfcParse::entity& Ifc4x3_rc3::IfcFurniture::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[504]); } Ifc4x3_rc3::IfcFurniture::IfcFurniture(IfcEntityInstanceData&& e) : IfcFurnishingElement(std::move(e)) { } -Ifc4x3_rc3::IfcFurniture::IfcFurniture(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcFurnitureTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcFurniture::IfcFurniture(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcFurnitureTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFurnitureType -::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Value Ifc4x3_rc3::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x3_rc3::IfcAssemblyPlaceEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Value Ifc4x3_rc3::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x3_rc3::IfcAssemblyPlaceEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcFurnitureType::setAssemblyPlace(::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< ::Ifc4x3_rc3::IfcFurnitureTypeEnum::Value > Ifc4x3_rc3::IfcFurnitureType::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcFurnitureTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc3::IfcFurnitureTypeEnum::Value > Ifc4x3_rc3::IfcFurnitureType::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcFurnitureTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc3::IfcFurnitureType::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcFurnitureTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc3::IfcFurnitureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc3::IfcFurnitureType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[505]); } const IfcParse::entity& Ifc4x3_rc3::IfcFurnitureType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[505]); } Ifc4x3_rc3::IfcFurnitureType::IfcFurnitureType(IfcEntityInstanceData&& e) : IfcFurnishingElementType(std::move(e)) { } -Ifc4x3_rc3::IfcFurnitureType::IfcFurnitureType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, boost::optional< ::Ifc4x3_rc3::IfcFurnitureTypeEnum::Value > v11_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcFurnitureType::IfcFurnitureType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, boost::optional< ::Ifc4x3_rc3::IfcFurnitureTypeEnum::Value > v11_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGeographicElement -boost::optional< ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value > Ifc4x3_rc3::IfcGeographicElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value > Ifc4x3_rc3::IfcGeographicElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcGeographicElement::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcGeographicElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[507]); } const IfcParse::entity& Ifc4x3_rc3::IfcGeographicElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[507]); } Ifc4x3_rc3::IfcGeographicElement::IfcGeographicElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc3::IfcGeographicElement::IfcGeographicElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) : IfcElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcGeographicElement::IfcGeographicElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGeographicElementType -::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value Ifc4x3_rc3::IfcGeographicElementType::PredefinedType() const { return ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value Ifc4x3_rc3::IfcGeographicElementType::PredefinedType() const { return ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcGeographicElementType::setPredefinedType(::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcGeographicElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[508]); } const IfcParse::entity& Ifc4x3_rc3::IfcGeographicElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[508]); } Ifc4x3_rc3::IfcGeographicElementType::IfcGeographicElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_rc3::IfcGeographicElementType::IfcGeographicElementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcGeographicElementType::IfcGeographicElementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcGeometricCurveSet @@ -11594,16 +11594,16 @@ Ifc4x3_rc3::IfcGeographicElementType::IfcGeographicElementType(std::string v1_Gl const IfcParse::entity& Ifc4x3_rc3::IfcGeometricCurveSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[510]); } const IfcParse::entity& Ifc4x3_rc3::IfcGeometricCurveSet::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[510]); } Ifc4x3_rc3::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData&& e) : IfcGeometricSet(std::move(e)) { } -Ifc4x3_rc3::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3_rc3::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3_rc3::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } // Function implementations for IfcGeometricRepresentationContext -int Ifc4x3_rc3::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = data_.get_attribute_value(2); return v; } +int Ifc4x3_rc3::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(int v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4x3_rc3::IfcGeometricRepresentationContext::Precision() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc3::IfcGeometricRepresentationContext::Precision() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc3::IfcAxis2Placement* Ifc4x3_rc3::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcAxis2Placement>(true); } +::Ifc4x3_rc3::IfcAxis2Placement* Ifc4x3_rc3::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcAxis2Placement>(true); } void Ifc4x3_rc3::IfcGeometricRepresentationContext::setWorldCoordinateSystem(::Ifc4x3_rc3::IfcAxis2Placement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcGeometricRepresentationContext::TrueNorth() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcDirection>(true); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcGeometricRepresentationContext::TrueNorth() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcGeometricRepresentationContext::setTrueNorth(::Ifc4x3_rc3::IfcDirection* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc4x3_rc3::IfcGeometricRepresentationSubContext::list::ptr Ifc4x3_rc3::IfcGeometricRepresentationContext::HasSubContexts() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[514], 6)->as(); } @@ -11612,7 +11612,7 @@ void Ifc4x3_rc3::IfcGeometricRepresentationContext::setTrueNorth(::Ifc4x3_rc3::I const IfcParse::entity& Ifc4x3_rc3::IfcGeometricRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[512]); } const IfcParse::entity& Ifc4x3_rc3::IfcGeometricRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[512]); } Ifc4x3_rc3::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(IfcEntityInstanceData&& e) : IfcRepresentationContext(std::move(e)) { } -Ifc4x3_rc3::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, ::Ifc4x3_rc3::IfcAxis2Placement* v5_WorldCoordinateSystem, ::Ifc4x3_rc3::IfcDirection* v6_TrueNorth) : IfcRepresentationContext(IfcEntityInstanceData(storage_t(6))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, v5_WorldCoordinateSystem ? v5_WorldCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_TrueNorth ? v6_TrueNorth->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, ::Ifc4x3_rc3::IfcAxis2Placement* v5_WorldCoordinateSystem, ::Ifc4x3_rc3::IfcDirection* v6_TrueNorth) : IfcRepresentationContext(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, v5_WorldCoordinateSystem ? v5_WorldCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_TrueNorth ? v6_TrueNorth->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcGeometricRepresentationItem @@ -11620,33 +11620,33 @@ Ifc4x3_rc3::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext const IfcParse::entity& Ifc4x3_rc3::IfcGeometricRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[513]); } const IfcParse::entity& Ifc4x3_rc3::IfcGeometricRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[513]); } Ifc4x3_rc3::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc3::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcGeometricRepresentationSubContext -::Ifc4x3_rc3::IfcGeometricRepresentationContext* Ifc4x3_rc3::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcGeometricRepresentationContext>(true); } +::Ifc4x3_rc3::IfcGeometricRepresentationContext* Ifc4x3_rc3::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcGeometricRepresentationContext>(true); } void Ifc4x3_rc3::IfcGeometricRepresentationSubContext::setParentContext(::Ifc4x3_rc3::IfcGeometricRepresentationContext* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc3::IfcGeometricRepresentationSubContext::TargetScale() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc3::IfcGeometricRepresentationSubContext::TargetScale() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc3::IfcGeometricProjectionEnum::Value Ifc4x3_rc3::IfcGeometricRepresentationSubContext::TargetView() const { return ::Ifc4x3_rc3::IfcGeometricProjectionEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc3::IfcGeometricProjectionEnum::Value Ifc4x3_rc3::IfcGeometricRepresentationSubContext::TargetView() const { return ::Ifc4x3_rc3::IfcGeometricProjectionEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcGeometricRepresentationSubContext::setTargetView(::Ifc4x3_rc3::IfcGeometricProjectionEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcGeometricProjectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -boost::optional< std::string > Ifc4x3_rc3::IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc3::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc3::IfcGeometricRepresentationSubContext::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[514]); } const IfcParse::entity& Ifc4x3_rc3::IfcGeometricRepresentationSubContext::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[514]); } Ifc4x3_rc3::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(IfcEntityInstanceData&& e) : IfcGeometricRepresentationContext(std::move(e)) { } -Ifc4x3_rc3::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x3_rc3::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x3_rc3::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext(IfcEntityInstanceData(storage_t(10))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, v7_ParentContext ? v7_ParentContext->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; populate_derived(); } +Ifc4x3_rc3::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x3_rc3::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x3_rc3::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, v7_ParentContext ? v7_ParentContext->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; populate_derived(); } // Function implementations for IfcGeometricSet -aggregate_of< ::Ifc4x3_rc3::IfcGeometricSetSelect >::ptr Ifc4x3_rc3::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcGeometricSetSelect >(); } +aggregate_of< ::Ifc4x3_rc3::IfcGeometricSetSelect >::ptr Ifc4x3_rc3::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcGeometricSetSelect >(); } void Ifc4x3_rc3::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x3_rc3::IfcGeometricSetSelect >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc3::IfcGeometricSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[515]); } const IfcParse::entity& Ifc4x3_rc3::IfcGeometricSet::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[515]); } Ifc4x3_rc3::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_rc3::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_rc3::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } // Function implementations for IfcGeomodel @@ -11654,7 +11654,7 @@ Ifc4x3_rc3::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_rc3::IfcGeom const IfcParse::entity& Ifc4x3_rc3::IfcGeomodel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[517]); } const IfcParse::entity& Ifc4x3_rc3::IfcGeomodel::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[517]); } Ifc4x3_rc3::IfcGeomodel::IfcGeomodel(IfcEntityInstanceData&& e) : IfcGeotechnicalAssembly(std::move(e)) { } -Ifc4x3_rc3::IfcGeomodel::IfcGeomodel(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc3::IfcGeomodel::IfcGeomodel(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGeoslice @@ -11662,7 +11662,7 @@ Ifc4x3_rc3::IfcGeomodel::IfcGeomodel(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcO const IfcParse::entity& Ifc4x3_rc3::IfcGeoslice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[518]); } const IfcParse::entity& Ifc4x3_rc3::IfcGeoslice::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[518]); } Ifc4x3_rc3::IfcGeoslice::IfcGeoslice(IfcEntityInstanceData&& e) : IfcGeotechnicalAssembly(std::move(e)) { } -Ifc4x3_rc3::IfcGeoslice::IfcGeoslice(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc3::IfcGeoslice::IfcGeoslice(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGeotechnicalAssembly @@ -11670,7 +11670,7 @@ Ifc4x3_rc3::IfcGeoslice::IfcGeoslice(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcO const IfcParse::entity& Ifc4x3_rc3::IfcGeotechnicalAssembly::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[519]); } const IfcParse::entity& Ifc4x3_rc3::IfcGeotechnicalAssembly::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[519]); } Ifc4x3_rc3::IfcGeotechnicalAssembly::IfcGeotechnicalAssembly(IfcEntityInstanceData&& e) : IfcGeotechnicalElement(std::move(e)) { } -Ifc4x3_rc3::IfcGeotechnicalAssembly::IfcGeotechnicalAssembly(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc3::IfcGeotechnicalAssembly::IfcGeotechnicalAssembly(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGeotechnicalElement @@ -11678,7 +11678,7 @@ Ifc4x3_rc3::IfcGeotechnicalAssembly::IfcGeotechnicalAssembly(std::string v1_Glob const IfcParse::entity& Ifc4x3_rc3::IfcGeotechnicalElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[520]); } const IfcParse::entity& Ifc4x3_rc3::IfcGeotechnicalElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[520]); } Ifc4x3_rc3::IfcGeotechnicalElement::IfcGeotechnicalElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc3::IfcGeotechnicalElement::IfcGeotechnicalElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc3::IfcGeotechnicalElement::IfcGeotechnicalElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGeotechnicalStratum @@ -11686,42 +11686,42 @@ Ifc4x3_rc3::IfcGeotechnicalElement::IfcGeotechnicalElement(std::string v1_Global const IfcParse::entity& Ifc4x3_rc3::IfcGeotechnicalStratum::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[521]); } const IfcParse::entity& Ifc4x3_rc3::IfcGeotechnicalStratum::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[521]); } Ifc4x3_rc3::IfcGeotechnicalStratum::IfcGeotechnicalStratum(IfcEntityInstanceData&& e) : IfcGeotechnicalElement(std::move(e)) { } -Ifc4x3_rc3::IfcGeotechnicalStratum::IfcGeotechnicalStratum(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc3::IfcGeotechnicalStratum::IfcGeotechnicalStratum(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGradientCurve -::Ifc4x3_rc3::IfcBoundedCurve* Ifc4x3_rc3::IfcGradientCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcBoundedCurve>(true); } +::Ifc4x3_rc3::IfcBoundedCurve* Ifc4x3_rc3::IfcGradientCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcBoundedCurve>(true); } void Ifc4x3_rc3::IfcGradientCurve::setBaseCurve(::Ifc4x3_rc3::IfcBoundedCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcPlacement* Ifc4x3_rc3::IfcGradientCurve::EndPoint() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcPlacement>(true); } +::Ifc4x3_rc3::IfcPlacement* Ifc4x3_rc3::IfcGradientCurve::EndPoint() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcPlacement>(true); } void Ifc4x3_rc3::IfcGradientCurve::setEndPoint(::Ifc4x3_rc3::IfcPlacement* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcGradientCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[524]); } const IfcParse::entity& Ifc4x3_rc3::IfcGradientCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[524]); } Ifc4x3_rc3::IfcGradientCurve::IfcGradientCurve(IfcEntityInstanceData&& e) : IfcCompositeCurve(std::move(e)) { } -Ifc4x3_rc3::IfcGradientCurve::IfcGradientCurve(aggregate_of< ::Ifc4x3_rc3::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_rc3::IfcBoundedCurve* v3_BaseCurve, ::Ifc4x3_rc3::IfcPlacement* v4_EndPoint) : IfcCompositeCurve(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, v3_BaseCurve ? v3_BaseCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_EndPoint ? v4_EndPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcGradientCurve::IfcGradientCurve(aggregate_of< ::Ifc4x3_rc3::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_rc3::IfcBoundedCurve* v3_BaseCurve, ::Ifc4x3_rc3::IfcPlacement* v4_EndPoint) : IfcCompositeCurve(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, v3_BaseCurve ? v3_BaseCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_EndPoint ? v4_EndPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcGrid -aggregate_of< ::Ifc4x3_rc3::IfcGridAxis >::ptr Ifc4x3_rc3::IfcGrid::UAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc3::IfcGridAxis >(); } +aggregate_of< ::Ifc4x3_rc3::IfcGridAxis >::ptr Ifc4x3_rc3::IfcGrid::UAxes() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc3::IfcGridAxis >(); } void Ifc4x3_rc3::IfcGrid::setUAxes(aggregate_of< ::Ifc4x3_rc3::IfcGridAxis >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } -aggregate_of< ::Ifc4x3_rc3::IfcGridAxis >::ptr Ifc4x3_rc3::IfcGrid::VAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_rc3::IfcGridAxis >(); } +aggregate_of< ::Ifc4x3_rc3::IfcGridAxis >::ptr Ifc4x3_rc3::IfcGrid::VAxes() const { aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_rc3::IfcGridAxis >(); } void Ifc4x3_rc3::IfcGrid::setVAxes(aggregate_of< ::Ifc4x3_rc3::IfcGridAxis >::ptr v) { set_attribute_value(8, (v)->generalize());if constexpr (false)unset_attribute_value(8); } -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcGridAxis >::ptr > Ifc4x3_rc3::IfcGrid::WAxes() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3_rc3::IfcGridAxis >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcGridAxis >::ptr > Ifc4x3_rc3::IfcGrid::WAxes() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3_rc3::IfcGridAxis >(); } void Ifc4x3_rc3::IfcGrid::setWAxes(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcGridAxis >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x3_rc3::IfcGridTypeEnum::Value > Ifc4x3_rc3::IfcGrid::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcGridTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc3::IfcGridTypeEnum::Value > Ifc4x3_rc3::IfcGrid::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcGridTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc3::IfcGrid::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcGridTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc3::IfcGridTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc3::IfcGrid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[525]); } const IfcParse::entity& Ifc4x3_rc3::IfcGrid::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[525]); } Ifc4x3_rc3::IfcGrid::IfcGrid(IfcEntityInstanceData&& e) : IfcPositioningElement(std::move(e)) { } -Ifc4x3_rc3::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, aggregate_of< ::Ifc4x3_rc3::IfcGridAxis >::ptr v8_UAxes, aggregate_of< ::Ifc4x3_rc3::IfcGridAxis >::ptr v9_VAxes, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcGridAxis >::ptr > v10_WAxes, boost::optional< ::Ifc4x3_rc3::IfcGridTypeEnum::Value > v11_PredefinedType) : IfcPositioningElement(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_UAxes)->generalize());set_attribute_value(8, (v9_VAxes)->generalize()); if (v10_WAxes) {set_attribute_value(9, (*v10_WAxes)->generalize()); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, aggregate_of< ::Ifc4x3_rc3::IfcGridAxis >::ptr v8_UAxes, aggregate_of< ::Ifc4x3_rc3::IfcGridAxis >::ptr v9_VAxes, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcGridAxis >::ptr > v10_WAxes, boost::optional< ::Ifc4x3_rc3::IfcGridTypeEnum::Value > v11_PredefinedType) : IfcPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_UAxes)->generalize());set_attribute_value(8, (v9_VAxes)->generalize()); if (v10_WAxes) {set_attribute_value(9, (*v10_WAxes)->generalize()); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGridAxis -boost::optional< std::string > Ifc4x3_rc3::IfcGridAxis::AxisTag() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcGridAxis::AxisTag() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcCurve>(true); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcGridAxis::setAxisCurve(::Ifc4x3_rc3::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -bool Ifc4x3_rc3::IfcGridAxis::SameSense() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x3_rc3::IfcGridAxis::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcGridAxis::setSameSense(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } ::Ifc4x3_rc3::IfcGrid::list::ptr Ifc4x3_rc3::IfcGridAxis::PartOfW() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[525], 9)->as(); } @@ -11732,19 +11732,19 @@ void Ifc4x3_rc3::IfcGridAxis::setSameSense(bool v) { set_attribute_value(2, v);i const IfcParse::entity& Ifc4x3_rc3::IfcGridAxis::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[526]); } const IfcParse::entity& Ifc4x3_rc3::IfcGridAxis::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[526]); } Ifc4x3_rc3::IfcGridAxis::IfcGridAxis(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, ::Ifc4x3_rc3::IfcCurve* v2_AxisCurve, bool v3_SameSense) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, v2_AxisCurve ? v2_AxisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } +Ifc4x3_rc3::IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, ::Ifc4x3_rc3::IfcCurve* v2_AxisCurve, bool v3_SameSense) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, v2_AxisCurve ? v2_AxisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } // Function implementations for IfcGridPlacement -::Ifc4x3_rc3::IfcVirtualGridIntersection* Ifc4x3_rc3::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcVirtualGridIntersection>(true); } +::Ifc4x3_rc3::IfcVirtualGridIntersection* Ifc4x3_rc3::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcVirtualGridIntersection>(true); } void Ifc4x3_rc3::IfcGridPlacement::setPlacementLocation(::Ifc4x3_rc3::IfcVirtualGridIntersection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcGridPlacementDirectionSelect* Ifc4x3_rc3::IfcGridPlacement::PlacementRefDirection() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcGridPlacementDirectionSelect>(true); } +::Ifc4x3_rc3::IfcGridPlacementDirectionSelect* Ifc4x3_rc3::IfcGridPlacement::PlacementRefDirection() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcGridPlacementDirectionSelect>(true); } void Ifc4x3_rc3::IfcGridPlacement::setPlacementRefDirection(::Ifc4x3_rc3::IfcGridPlacementDirectionSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcGridPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[527]); } const IfcParse::entity& Ifc4x3_rc3::IfcGridPlacement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[527]); } Ifc4x3_rc3::IfcGridPlacement::IfcGridPlacement(IfcEntityInstanceData&& e) : IfcObjectPlacement(std::move(e)) { } -Ifc4x3_rc3::IfcGridPlacement::IfcGridPlacement(::Ifc4x3_rc3::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc3::IfcVirtualGridIntersection* v2_PlacementLocation, ::Ifc4x3_rc3::IfcGridPlacementDirectionSelect* v3_PlacementRefDirection) : IfcObjectPlacement(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementLocation ? v2_PlacementLocation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PlacementRefDirection ? v3_PlacementRefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcGridPlacement::IfcGridPlacement(::Ifc4x3_rc3::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc3::IfcVirtualGridIntersection* v2_PlacementLocation, ::Ifc4x3_rc3::IfcGridPlacementDirectionSelect* v3_PlacementRefDirection) : IfcObjectPlacement(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementLocation ? v2_PlacementLocation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PlacementRefDirection ? v3_PlacementRefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcGroup @@ -11753,154 +11753,154 @@ Ifc4x3_rc3::IfcGridPlacement::IfcGridPlacement(::Ifc4x3_rc3::IfcObjectPlacement* const IfcParse::entity& Ifc4x3_rc3::IfcGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[530]); } const IfcParse::entity& Ifc4x3_rc3::IfcGroup::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[530]); } Ifc4x3_rc3::IfcGroup::IfcGroup(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_rc3::IfcGroup::IfcGroup(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc4x3_rc3::IfcGroup::IfcGroup(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcHalfSpaceSolid -::Ifc4x3_rc3::IfcSurface* Ifc4x3_rc3::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcSurface>(true); } +::Ifc4x3_rc3::IfcSurface* Ifc4x3_rc3::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcSurface>(true); } void Ifc4x3_rc3::IfcHalfSpaceSolid::setBaseSurface(::Ifc4x3_rc3::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -bool Ifc4x3_rc3::IfcHalfSpaceSolid::AgreementFlag() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x3_rc3::IfcHalfSpaceSolid::AgreementFlag() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcHalfSpaceSolid::setAgreementFlag(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcHalfSpaceSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[531]); } const IfcParse::entity& Ifc4x3_rc3::IfcHalfSpaceSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[531]); } Ifc4x3_rc3::IfcHalfSpaceSolid::IfcHalfSpaceSolid(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcHalfSpaceSolid::IfcHalfSpaceSolid(::Ifc4x3_rc3::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));; populate_derived(); } +Ifc4x3_rc3::IfcHalfSpaceSolid::IfcHalfSpaceSolid(::Ifc4x3_rc3::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));; populate_derived(); } // Function implementations for IfcHeatExchanger -boost::optional< ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value > Ifc4x3_rc3::IfcHeatExchanger::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value > Ifc4x3_rc3::IfcHeatExchanger::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcHeatExchanger::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcHeatExchanger::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[533]); } const IfcParse::entity& Ifc4x3_rc3::IfcHeatExchanger::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[533]); } Ifc4x3_rc3::IfcHeatExchanger::IfcHeatExchanger(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc3::IfcHeatExchanger::IfcHeatExchanger(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcHeatExchanger::IfcHeatExchanger(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcHeatExchangerType -::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value Ifc4x3_rc3::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value Ifc4x3_rc3::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcHeatExchangerType::setPredefinedType(::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcHeatExchangerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[534]); } const IfcParse::entity& Ifc4x3_rc3::IfcHeatExchangerType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[534]); } Ifc4x3_rc3::IfcHeatExchangerType::IfcHeatExchangerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc3::IfcHeatExchangerType::IfcHeatExchangerType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcHeatExchangerType::IfcHeatExchangerType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcHumidifier -boost::optional< ::Ifc4x3_rc3::IfcHumidifierTypeEnum::Value > Ifc4x3_rc3::IfcHumidifier::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcHumidifierTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcHumidifierTypeEnum::Value > Ifc4x3_rc3::IfcHumidifier::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcHumidifierTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcHumidifier::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcHumidifierTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcHumidifierTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcHumidifier::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[538]); } const IfcParse::entity& Ifc4x3_rc3::IfcHumidifier::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[538]); } Ifc4x3_rc3::IfcHumidifier::IfcHumidifier(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc3::IfcHumidifier::IfcHumidifier(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcHumidifierTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcHumidifier::IfcHumidifier(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcHumidifierTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcHumidifierType -::Ifc4x3_rc3::IfcHumidifierTypeEnum::Value Ifc4x3_rc3::IfcHumidifierType::PredefinedType() const { return ::Ifc4x3_rc3::IfcHumidifierTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcHumidifierTypeEnum::Value Ifc4x3_rc3::IfcHumidifierType::PredefinedType() const { return ::Ifc4x3_rc3::IfcHumidifierTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcHumidifierType::setPredefinedType(::Ifc4x3_rc3::IfcHumidifierTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcHumidifierTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcHumidifierType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[539]); } const IfcParse::entity& Ifc4x3_rc3::IfcHumidifierType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[539]); } Ifc4x3_rc3::IfcHumidifierType::IfcHumidifierType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc3::IfcHumidifierType::IfcHumidifierType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcHumidifierTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcHumidifierType::IfcHumidifierType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcHumidifierTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcIShapeProfileDef -double Ifc4x3_rc3::IfcIShapeProfileDef::OverallWidth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc3::IfcIShapeProfileDef::OverallWidth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcIShapeProfileDef::setOverallWidth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc3::IfcIShapeProfileDef::OverallDepth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc3::IfcIShapeProfileDef::OverallDepth() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcIShapeProfileDef::setOverallDepth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc3::IfcIShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc3::IfcIShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcIShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc3::IfcIShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc3::IfcIShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcIShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc3::IfcIShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc3::IfcIShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcIShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc3::IfcIShapeProfileDef::FlangeEdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc3::IfcIShapeProfileDef::FlangeEdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcIShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_rc3::IfcIShapeProfileDef::FlangeSlope() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc3::IfcIShapeProfileDef::FlangeSlope() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc3::IfcIShapeProfileDef::setFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc3::IfcIShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[569]); } const IfcParse::entity& Ifc4x3_rc3::IfcIShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[569]); } Ifc4x3_rc3::IfcIShapeProfileDef::IfcIShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_rc3::IfcIShapeProfileDef::IfcIShapeProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::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(storage_t(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } +Ifc4x3_rc3::IfcIShapeProfileDef::IfcIShapeProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::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(in_memory_attribute_storage(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } // Function implementations for IfcImageTexture -std::string Ifc4x3_rc3::IfcImageTexture::URLReference() const { std::string v = data_.get_attribute_value(5); return v; } +std::string Ifc4x3_rc3::IfcImageTexture::URLReference() const { std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcImageTexture::setURLReference(std::string v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc3::IfcImageTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[543]); } const IfcParse::entity& Ifc4x3_rc3::IfcImageTexture::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[543]); } Ifc4x3_rc3::IfcImageTexture::IfcImageTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -Ifc4x3_rc3::IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) : IfcSurfaceTexture(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference));; populate_derived(); } +Ifc4x3_rc3::IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) : IfcSurfaceTexture(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference));; populate_derived(); } // Function implementations for IfcImpactProtectionDevice -::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect* Ifc4x3_rc3::IfcImpactProtectionDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect>(true); } +::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect* Ifc4x3_rc3::IfcImpactProtectionDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect>(true); } void Ifc4x3_rc3::IfcImpactProtectionDevice::setPredefinedType(::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc3::IfcImpactProtectionDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[544]); } const IfcParse::entity& Ifc4x3_rc3::IfcImpactProtectionDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[544]); } Ifc4x3_rc3::IfcImpactProtectionDevice::IfcImpactProtectionDevice(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_rc3::IfcImpactProtectionDevice::IfcImpactProtectionDevice(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect* v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, v9_PredefinedType ? v9_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcImpactProtectionDevice::IfcImpactProtectionDevice(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect* v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, v9_PredefinedType ? v9_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcImpactProtectionDeviceType -::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect* Ifc4x3_rc3::IfcImpactProtectionDeviceType::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect>(true); } +::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect* Ifc4x3_rc3::IfcImpactProtectionDeviceType::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect>(true); } void Ifc4x3_rc3::IfcImpactProtectionDeviceType::setPredefinedType(::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcImpactProtectionDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[545]); } const IfcParse::entity& Ifc4x3_rc3::IfcImpactProtectionDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[545]); } Ifc4x3_rc3::IfcImpactProtectionDeviceType::IfcImpactProtectionDeviceType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_rc3::IfcImpactProtectionDeviceType::IfcImpactProtectionDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect* v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, v10_PredefinedType ? v10_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcImpactProtectionDeviceType::IfcImpactProtectionDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcImpactProtectionDeviceTypeSelect* v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, v10_PredefinedType ? v10_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcInclinedReferenceSweptAreaSolid -boost::optional< bool > Ifc4x3_rc3::IfcInclinedReferenceSweptAreaSolid::FixedAxisVertical() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } bool v = data_.get_attribute_value(5); return v; } +boost::optional< bool > Ifc4x3_rc3::IfcInclinedReferenceSweptAreaSolid::FixedAxisVertical() const { if(get_attribute_value(5).isNull()) { return boost::none; } bool v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcInclinedReferenceSweptAreaSolid::setFixedAxisVertical(boost::optional< bool > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_rc3::IfcInclinedReferenceSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[548]); } const IfcParse::entity& Ifc4x3_rc3::IfcInclinedReferenceSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[548]); } Ifc4x3_rc3::IfcInclinedReferenceSweptAreaSolid::IfcInclinedReferenceSweptAreaSolid(IfcEntityInstanceData&& e) : IfcDirectrixDistanceSweptAreaSolid(std::move(e)) { } -Ifc4x3_rc3::IfcInclinedReferenceSweptAreaSolid::IfcInclinedReferenceSweptAreaSolid(::Ifc4x3_rc3::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc3::IfcCurve* v3_Directrix, ::Ifc4x3_rc3::IfcPointByDistanceExpression* v4_StartDistance, ::Ifc4x3_rc3::IfcPointByDistanceExpression* v5_EndDistance, boost::optional< bool > v6_FixedAxisVertical) : IfcDirectrixDistanceSweptAreaSolid(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartDistance ? v4_StartDistance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndDistance ? v5_EndDistance->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_FixedAxisVertical) {set_attribute_value(5, (*v6_FixedAxisVertical)); }; populate_derived(); } +Ifc4x3_rc3::IfcInclinedReferenceSweptAreaSolid::IfcInclinedReferenceSweptAreaSolid(::Ifc4x3_rc3::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc3::IfcCurve* v3_Directrix, ::Ifc4x3_rc3::IfcPointByDistanceExpression* v4_StartDistance, ::Ifc4x3_rc3::IfcPointByDistanceExpression* v5_EndDistance, boost::optional< bool > v6_FixedAxisVertical) : IfcDirectrixDistanceSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartDistance ? v4_StartDistance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndDistance ? v5_EndDistance->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_FixedAxisVertical) {set_attribute_value(5, (*v6_FixedAxisVertical)); }; populate_derived(); } // Function implementations for IfcIndexedColourMap -::Ifc4x3_rc3::IfcTessellatedFaceSet* Ifc4x3_rc3::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcTessellatedFaceSet>(true); } +::Ifc4x3_rc3::IfcTessellatedFaceSet* Ifc4x3_rc3::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcTessellatedFaceSet>(true); } void Ifc4x3_rc3::IfcIndexedColourMap::setMappedTo(::Ifc4x3_rc3::IfcTessellatedFaceSet* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< double > Ifc4x3_rc3::IfcIndexedColourMap::Opacity() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc3::IfcIndexedColourMap::Opacity() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcIndexedColourMap::setOpacity(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc3::IfcColourRgbList* Ifc4x3_rc3::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcColourRgbList>(true); } +::Ifc4x3_rc3::IfcColourRgbList* Ifc4x3_rc3::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcColourRgbList>(true); } void Ifc4x3_rc3::IfcIndexedColourMap::setColours(::Ifc4x3_rc3::IfcColourRgbList* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -std::vector< int > /*[1:?]*/ Ifc4x3_rc3::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +std::vector< int > /*[1:?]*/ Ifc4x3_rc3::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcIndexedColourMap::setColourIndex(std::vector< int > /*[1:?]*/ v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcIndexedColourMap::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[549]); } const IfcParse::entity& Ifc4x3_rc3::IfcIndexedColourMap::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[549]); } Ifc4x3_rc3::IfcIndexedColourMap::IfcIndexedColourMap(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3_rc3::IfcTessellatedFaceSet* v1_MappedTo, boost::optional< double > v2_Opacity, ::Ifc4x3_rc3::IfcColourRgbList* v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) : IfcPresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_MappedTo ? v1_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, v3_Colours ? v3_Colours->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ColourIndex));; populate_derived(); } +Ifc4x3_rc3::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3_rc3::IfcTessellatedFaceSet* v1_MappedTo, boost::optional< double > v2_Opacity, ::Ifc4x3_rc3::IfcColourRgbList* v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_MappedTo ? v1_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, v3_Colours ? v3_Colours->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ColourIndex));; populate_derived(); } // Function implementations for IfcIndexedPolyCurve -::Ifc4x3_rc3::IfcCartesianPointList* Ifc4x3_rc3::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCartesianPointList>(true); } +::Ifc4x3_rc3::IfcCartesianPointList* Ifc4x3_rc3::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCartesianPointList>(true); } void Ifc4x3_rc3::IfcIndexedPolyCurve::setPoints(::Ifc4x3_rc3::IfcCartesianPointList* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcSegmentIndexSelect >::ptr > Ifc4x3_rc3::IfcIndexedPolyCurve::Segments() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcSegmentIndexSelect >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcSegmentIndexSelect >::ptr > Ifc4x3_rc3::IfcIndexedPolyCurve::Segments() const { if(get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcSegmentIndexSelect >(); } void Ifc4x3_rc3::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcSegmentIndexSelect >::ptr > v) { if (v) {set_attribute_value(1, (*v)->generalize());} else {unset_attribute_value(1);} } -boost::optional< bool > Ifc4x3_rc3::IfcIndexedPolyCurve::SelfIntersect() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } bool v = data_.get_attribute_value(2); return v; } +boost::optional< bool > Ifc4x3_rc3::IfcIndexedPolyCurve::SelfIntersect() const { if(get_attribute_value(2).isNull()) { return boost::none; } bool v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc3::IfcIndexedPolyCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[550]); } const IfcParse::entity& Ifc4x3_rc3::IfcIndexedPolyCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[550]); } Ifc4x3_rc3::IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_rc3::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_rc3::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Points ? v1_Points->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Segments) {set_attribute_value(1, (*v2_Segments)->generalize()); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); }; populate_derived(); } +Ifc4x3_rc3::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_rc3::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Points ? v1_Points->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Segments) {set_attribute_value(1, (*v2_Segments)->generalize()); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); }; populate_derived(); } // Function implementations for IfcIndexedPolygonalFace -std::vector< int > /*[3:?]*/ Ifc4x3_rc3::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = data_.get_attribute_value(0); return v; } +std::vector< int > /*[3:?]*/ Ifc4x3_rc3::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcIndexedPolygonalFace::setCoordIndex(std::vector< int > /*[3:?]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_rc3::IfcPolygonalFaceSet::list::ptr Ifc4x3_rc3::IfcIndexedPolygonalFace::ToFaceSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[778], 2)->as(); } @@ -11908,59 +11908,59 @@ void Ifc4x3_rc3::IfcIndexedPolygonalFace::setCoordIndex(std::vector< int > /*[3: const IfcParse::entity& Ifc4x3_rc3::IfcIndexedPolygonalFace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[551]); } const IfcParse::entity& Ifc4x3_rc3::IfcIndexedPolygonalFace::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[551]); } Ifc4x3_rc3::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(IfcEntityInstanceData&& e) : IfcTessellatedItem(std::move(e)) { } -Ifc4x3_rc3::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(std::vector< int > /*[3:?]*/ v1_CoordIndex) : IfcTessellatedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CoordIndex));; populate_derived(); } +Ifc4x3_rc3::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(std::vector< int > /*[3:?]*/ v1_CoordIndex) : IfcTessellatedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CoordIndex));; populate_derived(); } // Function implementations for IfcIndexedPolygonalFaceWithVoids -std::vector< std::vector< int > > Ifc4x3_rc3::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { std::vector< std::vector< int > > v = data_.get_attribute_value(1); return v; } +std::vector< std::vector< int > > Ifc4x3_rc3::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { std::vector< std::vector< int > > v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcIndexedPolygonalFaceWithVoids::setInnerCoordIndices(std::vector< std::vector< int > > v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcIndexedPolygonalFaceWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[552]); } const IfcParse::entity& Ifc4x3_rc3::IfcIndexedPolygonalFaceWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[552]); } Ifc4x3_rc3::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(IfcEntityInstanceData&& e) : IfcIndexedPolygonalFace(std::move(e)) { } -Ifc4x3_rc3::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) : IfcIndexedPolygonalFace(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices));; populate_derived(); } +Ifc4x3_rc3::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) : IfcIndexedPolygonalFace(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices));; populate_derived(); } // Function implementations for IfcIndexedTextureMap -::Ifc4x3_rc3::IfcTessellatedFaceSet* Ifc4x3_rc3::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcTessellatedFaceSet>(true); } +::Ifc4x3_rc3::IfcTessellatedFaceSet* Ifc4x3_rc3::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcTessellatedFaceSet>(true); } void Ifc4x3_rc3::IfcIndexedTextureMap::setMappedTo(::Ifc4x3_rc3::IfcTessellatedFaceSet* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcTextureVertexList* Ifc4x3_rc3::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcTextureVertexList>(true); } +::Ifc4x3_rc3::IfcTextureVertexList* Ifc4x3_rc3::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcTextureVertexList>(true); } void Ifc4x3_rc3::IfcIndexedTextureMap::setTexCoords(::Ifc4x3_rc3::IfcTextureVertexList* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcIndexedTextureMap::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[553]); } const IfcParse::entity& Ifc4x3_rc3::IfcIndexedTextureMap::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[553]); } Ifc4x3_rc3::IfcIndexedTextureMap::IfcIndexedTextureMap(IfcEntityInstanceData&& e) : IfcTextureCoordinate(std::move(e)) { } -Ifc4x3_rc3::IfcIndexedTextureMap::IfcIndexedTextureMap(aggregate_of< ::Ifc4x3_rc3::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_rc3::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_rc3::IfcTextureVertexList* v3_TexCoords) : IfcTextureCoordinate(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcIndexedTextureMap::IfcIndexedTextureMap(aggregate_of< ::Ifc4x3_rc3::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_rc3::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_rc3::IfcTextureVertexList* v3_TexCoords) : IfcTextureCoordinate(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcIndexedTriangleTextureMap -boost::optional< std::vector< std::vector< int > > > Ifc4x3_rc3::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::vector< int > > v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< std::vector< int > > > Ifc4x3_rc3::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::vector< int > > v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcIndexedTriangleTextureMap::setTexCoordIndex(boost::optional< std::vector< std::vector< int > > > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc3::IfcIndexedTriangleTextureMap::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[554]); } const IfcParse::entity& Ifc4x3_rc3::IfcIndexedTriangleTextureMap::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[554]); } Ifc4x3_rc3::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(IfcEntityInstanceData&& e) : IfcIndexedTextureMap(std::move(e)) { } -Ifc4x3_rc3::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(aggregate_of< ::Ifc4x3_rc3::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_rc3::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_rc3::IfcTextureVertexList* v3_TexCoords, boost::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) : IfcIndexedTextureMap(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); }; populate_derived(); } +Ifc4x3_rc3::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(aggregate_of< ::Ifc4x3_rc3::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_rc3::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_rc3::IfcTextureVertexList* v3_TexCoords, boost::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) : IfcIndexedTextureMap(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); }; populate_derived(); } // Function implementations for IfcInterceptor -boost::optional< ::Ifc4x3_rc3::IfcInterceptorTypeEnum::Value > Ifc4x3_rc3::IfcInterceptor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcInterceptorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcInterceptorTypeEnum::Value > Ifc4x3_rc3::IfcInterceptor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcInterceptorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcInterceptor::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcInterceptorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcInterceptorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcInterceptor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[558]); } const IfcParse::entity& Ifc4x3_rc3::IfcInterceptor::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[558]); } Ifc4x3_rc3::IfcInterceptor::IfcInterceptor(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4x3_rc3::IfcInterceptor::IfcInterceptor(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcInterceptorTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcInterceptor::IfcInterceptor(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcInterceptorTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcInterceptorType -::Ifc4x3_rc3::IfcInterceptorTypeEnum::Value Ifc4x3_rc3::IfcInterceptorType::PredefinedType() const { return ::Ifc4x3_rc3::IfcInterceptorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcInterceptorTypeEnum::Value Ifc4x3_rc3::IfcInterceptorType::PredefinedType() const { return ::Ifc4x3_rc3::IfcInterceptorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcInterceptorType::setPredefinedType(::Ifc4x3_rc3::IfcInterceptorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcInterceptorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcInterceptorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[559]); } const IfcParse::entity& Ifc4x3_rc3::IfcInterceptorType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[559]); } Ifc4x3_rc3::IfcInterceptorType::IfcInterceptorType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4x3_rc3::IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcInterceptorTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcInterceptorTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcIntersectionCurve @@ -11968,174 +11968,174 @@ Ifc4x3_rc3::IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x3_rc3::IfcIntersectionCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[563]); } const IfcParse::entity& Ifc4x3_rc3::IfcIntersectionCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[563]); } Ifc4x3_rc3::IfcIntersectionCurve::IfcIntersectionCurve(IfcEntityInstanceData&& e) : IfcSurfaceCurve(std::move(e)) { } -Ifc4x3_rc3::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4x3_rc3::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_rc3::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } +Ifc4x3_rc3::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4x3_rc3::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_rc3::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcInventory -boost::optional< ::Ifc4x3_rc3::IfcInventoryTypeEnum::Value > Ifc4x3_rc3::IfcInventory::PredefinedType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcInventoryTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3_rc3::IfcInventoryTypeEnum::Value > Ifc4x3_rc3::IfcInventory::PredefinedType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcInventoryTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc3::IfcInventory::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcInventoryTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc3::IfcInventoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcInventory::Jurisdiction() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcActorSelect>(true); } +::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcInventory::Jurisdiction() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcActorSelect>(true); } void Ifc4x3_rc3::IfcInventory::setJurisdiction(::Ifc4x3_rc3::IfcActorSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPerson >::ptr > Ifc4x3_rc3::IfcInventory::ResponsiblePersons() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc3::IfcPerson >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPerson >::ptr > Ifc4x3_rc3::IfcInventory::ResponsiblePersons() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc3::IfcPerson >(); } void Ifc4x3_rc3::IfcInventory::setResponsiblePersons(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPerson >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc3::IfcInventory::LastUpdateDate() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcInventory::LastUpdateDate() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcInventory::setLastUpdateDate(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_rc3::IfcCostValue* Ifc4x3_rc3::IfcInventory::CurrentValue() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc3::IfcCostValue>(true); } +::Ifc4x3_rc3::IfcCostValue* Ifc4x3_rc3::IfcInventory::CurrentValue() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc3::IfcCostValue>(true); } void Ifc4x3_rc3::IfcInventory::setCurrentValue(::Ifc4x3_rc3::IfcCostValue* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc3::IfcCostValue* Ifc4x3_rc3::IfcInventory::OriginalValue() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_rc3::IfcCostValue>(true); } +::Ifc4x3_rc3::IfcCostValue* Ifc4x3_rc3::IfcInventory::OriginalValue() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_rc3::IfcCostValue>(true); } void Ifc4x3_rc3::IfcInventory::setOriginalValue(::Ifc4x3_rc3::IfcCostValue* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_rc3::IfcInventory::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[564]); } const IfcParse::entity& Ifc4x3_rc3::IfcInventory::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[564]); } Ifc4x3_rc3::IfcInventory::IfcInventory(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x3_rc3::IfcInventory::IfcInventory(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_rc3::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_rc3::IfcActorSelect* v7_Jurisdiction, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPerson >::ptr > v8_ResponsiblePersons, boost::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_rc3::IfcCostValue* v10_CurrentValue, ::Ifc4x3_rc3::IfcCostValue* v11_OriginalValue) : IfcGroup(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, v7_Jurisdiction ? v7_Jurisdiction->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_ResponsiblePersons) {set_attribute_value(7, (*v8_ResponsiblePersons)->generalize()); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, v10_CurrentValue ? v10_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_OriginalValue ? v11_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcInventory::IfcInventory(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_rc3::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_rc3::IfcActorSelect* v7_Jurisdiction, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPerson >::ptr > v8_ResponsiblePersons, boost::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_rc3::IfcCostValue* v10_CurrentValue, ::Ifc4x3_rc3::IfcCostValue* v11_OriginalValue) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, v7_Jurisdiction ? v7_Jurisdiction->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_ResponsiblePersons) {set_attribute_value(7, (*v8_ResponsiblePersons)->generalize()); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, v10_CurrentValue ? v10_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_OriginalValue ? v11_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcIrregularTimeSeries -aggregate_of< ::Ifc4x3_rc3::IfcIrregularTimeSeriesValue >::ptr Ifc4x3_rc3::IfcIrregularTimeSeries::Values() const { aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_rc3::IfcIrregularTimeSeriesValue >(); } +aggregate_of< ::Ifc4x3_rc3::IfcIrregularTimeSeriesValue >::ptr Ifc4x3_rc3::IfcIrregularTimeSeries::Values() const { aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_rc3::IfcIrregularTimeSeriesValue >(); } void Ifc4x3_rc3::IfcIrregularTimeSeries::setValues(aggregate_of< ::Ifc4x3_rc3::IfcIrregularTimeSeriesValue >::ptr v) { set_attribute_value(8, (v)->generalize());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc3::IfcIrregularTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[567]); } const IfcParse::entity& Ifc4x3_rc3::IfcIrregularTimeSeries::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[567]); } Ifc4x3_rc3::IfcIrregularTimeSeries::IfcIrregularTimeSeries(IfcEntityInstanceData&& e) : IfcTimeSeries(std::move(e)) { } -Ifc4x3_rc3::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc3::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc3::IfcUnit* v8_Unit, aggregate_of< ::Ifc4x3_rc3::IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_Values)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc3::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc3::IfcUnit* v8_Unit, aggregate_of< ::Ifc4x3_rc3::IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_Values)->generalize());; populate_derived(); } // Function implementations for IfcIrregularTimeSeriesValue -std::string Ifc4x3_rc3::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc3::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcIrregularTimeSeriesValue::setTimeStamp(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr Ifc4x3_rc3::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcValue >(); } +aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr Ifc4x3_rc3::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcValue >(); } void Ifc4x3_rc3::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcIrregularTimeSeriesValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[568]); } const IfcParse::entity& Ifc4x3_rc3::IfcIrregularTimeSeriesValue::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[568]); } Ifc4x3_rc3::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, (v2_ListValues)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, (v2_ListValues)->generalize());; populate_derived(); } // Function implementations for IfcJunctionBox -boost::optional< ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value > Ifc4x3_rc3::IfcJunctionBox::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value > Ifc4x3_rc3::IfcJunctionBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcJunctionBox::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcJunctionBox::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[571]); } const IfcParse::entity& Ifc4x3_rc3::IfcJunctionBox::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[571]); } Ifc4x3_rc3::IfcJunctionBox::IfcJunctionBox(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x3_rc3::IfcJunctionBox::IfcJunctionBox(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcJunctionBox::IfcJunctionBox(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcJunctionBoxType -::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value Ifc4x3_rc3::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value Ifc4x3_rc3::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcJunctionBoxType::setPredefinedType(::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcJunctionBoxType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[572]); } const IfcParse::entity& Ifc4x3_rc3::IfcJunctionBoxType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[572]); } Ifc4x3_rc3::IfcJunctionBoxType::IfcJunctionBoxType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x3_rc3::IfcJunctionBoxType::IfcJunctionBoxType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcJunctionBoxType::IfcJunctionBoxType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcKerb -bool Ifc4x3_rc3::IfcKerb::Mountable() const { bool v = data_.get_attribute_value(8); return v; } +bool Ifc4x3_rc3::IfcKerb::Mountable() const { bool v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcKerb::setMountable(bool v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc3::IfcKerb::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[574]); } const IfcParse::entity& Ifc4x3_rc3::IfcKerb::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[574]); } Ifc4x3_rc3::IfcKerb::IfcKerb(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc3::IfcKerb::IfcKerb(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, bool v9_Mountable) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_Mountable));; populate_derived(); } +Ifc4x3_rc3::IfcKerb::IfcKerb(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, bool v9_Mountable) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_Mountable));; populate_derived(); } // Function implementations for IfcKerbType -bool Ifc4x3_rc3::IfcKerbType::Mountable() const { bool v = data_.get_attribute_value(9); return v; } +bool Ifc4x3_rc3::IfcKerbType::Mountable() const { bool v = get_attribute_value(9); return v; } void Ifc4x3_rc3::IfcKerbType::setMountable(bool v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcKerbType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[575]); } const IfcParse::entity& Ifc4x3_rc3::IfcKerbType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[575]); } Ifc4x3_rc3::IfcKerbType::IfcKerbType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc3::IfcKerbType::IfcKerbType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, bool v10_Mountable) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_Mountable));; populate_derived(); } +Ifc4x3_rc3::IfcKerbType::IfcKerbType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, bool v10_Mountable) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_Mountable));; populate_derived(); } // Function implementations for IfcLShapeProfileDef -double Ifc4x3_rc3::IfcLShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc3::IfcLShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcLShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< double > Ifc4x3_rc3::IfcLShapeProfileDef::Width() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc3::IfcLShapeProfileDef::Width() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcLShapeProfileDef::setWidth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -double Ifc4x3_rc3::IfcLShapeProfileDef::Thickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc3::IfcLShapeProfileDef::Thickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcLShapeProfileDef::setThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_rc3::IfcLShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc3::IfcLShapeProfileDef::FilletRadius() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcLShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_rc3::IfcLShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc3::IfcLShapeProfileDef::EdgeRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcLShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc3::IfcLShapeProfileDef::LegSlope() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc3::IfcLShapeProfileDef::LegSlope() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcLShapeProfileDef::setLegSlope(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcLShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[624]); } const IfcParse::entity& Ifc4x3_rc3::IfcLShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[624]); } Ifc4x3_rc3::IfcLShapeProfileDef::IfcLShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_rc3::IfcLShapeProfileDef::IfcLShapeProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::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(storage_t(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); }; populate_derived(); } +Ifc4x3_rc3::IfcLShapeProfileDef::IfcLShapeProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::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(in_memory_attribute_storage(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); }; populate_derived(); } // Function implementations for IfcLaborResource -boost::optional< ::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value > Ifc4x3_rc3::IfcLaborResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcLaborResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value > Ifc4x3_rc3::IfcLaborResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcLaborResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc3::IfcLaborResource::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc3::IfcLaborResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[579]); } const IfcParse::entity& Ifc4x3_rc3::IfcLaborResource::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[579]); } Ifc4x3_rc3::IfcLaborResource::IfcLaborResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_rc3::IfcLaborResource::IfcLaborResource(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcLaborResource::IfcLaborResource(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLaborResourceType -::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value Ifc4x3_rc3::IfcLaborResourceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcLaborResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value Ifc4x3_rc3::IfcLaborResourceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcLaborResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc3::IfcLaborResourceType::setPredefinedType(::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc3::IfcLaborResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[580]); } const IfcParse::entity& Ifc4x3_rc3::IfcLaborResourceType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[580]); } Ifc4x3_rc3::IfcLaborResourceType::IfcLaborResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_rc3::IfcLaborResourceType::IfcLaborResourceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcLaborResourceType::IfcLaborResourceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc3::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcLagTime -::Ifc4x3_rc3::IfcTimeOrRatioSelect* Ifc4x3_rc3::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcTimeOrRatioSelect>(true); } +::Ifc4x3_rc3::IfcTimeOrRatioSelect* Ifc4x3_rc3::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcTimeOrRatioSelect>(true); } void Ifc4x3_rc3::IfcLagTime::setLagValue(::Ifc4x3_rc3::IfcTimeOrRatioSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc3::IfcTaskDurationEnum::Value Ifc4x3_rc3::IfcLagTime::DurationType() const { return ::Ifc4x3_rc3::IfcTaskDurationEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x3_rc3::IfcTaskDurationEnum::Value Ifc4x3_rc3::IfcLagTime::DurationType() const { return ::Ifc4x3_rc3::IfcTaskDurationEnum::FromString(get_attribute_value(4)); } void Ifc4x3_rc3::IfcLagTime::setDurationType(::Ifc4x3_rc3::IfcTaskDurationEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3_rc3::IfcTaskDurationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc3::IfcLagTime::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[582]); } const IfcParse::entity& Ifc4x3_rc3::IfcLagTime::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[582]); } Ifc4x3_rc3::IfcLagTime::IfcLagTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x3_rc3::IfcLagTime::IfcLagTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc3::IfcTimeOrRatioSelect* v4_LagValue, ::Ifc4x3_rc3::IfcTaskDurationEnum::Value v5_DurationType) : IfcSchedulingTime(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_LagValue ? v4_LagValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc3::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType)));; populate_derived(); } +Ifc4x3_rc3::IfcLagTime::IfcLagTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc3::IfcTimeOrRatioSelect* v4_LagValue, ::Ifc4x3_rc3::IfcTaskDurationEnum::Value v5_DurationType) : IfcSchedulingTime(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_LagValue ? v4_LagValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc3::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType)));; populate_derived(); } // Function implementations for IfcLamp -boost::optional< ::Ifc4x3_rc3::IfcLampTypeEnum::Value > Ifc4x3_rc3::IfcLamp::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcLampTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcLampTypeEnum::Value > Ifc4x3_rc3::IfcLamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcLampTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcLamp::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcLampTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcLampTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcLamp::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[583]); } const IfcParse::entity& Ifc4x3_rc3::IfcLamp::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[583]); } Ifc4x3_rc3::IfcLamp::IfcLamp(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc3::IfcLamp::IfcLamp(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcLampTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcLamp::IfcLamp(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcLampTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLampType -::Ifc4x3_rc3::IfcLampTypeEnum::Value Ifc4x3_rc3::IfcLampType::PredefinedType() const { return ::Ifc4x3_rc3::IfcLampTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcLampTypeEnum::Value Ifc4x3_rc3::IfcLampType::PredefinedType() const { return ::Ifc4x3_rc3::IfcLampTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcLampType::setPredefinedType(::Ifc4x3_rc3::IfcLampTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcLampTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcLampType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[584]); } const IfcParse::entity& Ifc4x3_rc3::IfcLampType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[584]); } Ifc4x3_rc3::IfcLampType::IfcLampType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc3::IfcLampType::IfcLampType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcLampTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcLampType::IfcLampType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcLampTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLibraryInformation -std::string Ifc4x3_rc3::IfcLibraryInformation::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc3::IfcLibraryInformation::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcLibraryInformation::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc3::IfcLibraryInformation::Version() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcLibraryInformation::Version() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcLibraryInformation::Publisher() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcActorSelect>(true); } +::Ifc4x3_rc3::IfcActorSelect* Ifc4x3_rc3::IfcLibraryInformation::Publisher() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcActorSelect>(true); } void Ifc4x3_rc3::IfcLibraryInformation::setPublisher(::Ifc4x3_rc3::IfcActorSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x3_rc3::IfcLibraryInformation::VersionDate() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcLibraryInformation::VersionDate() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcLibraryInformation::setVersionDate(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc3::IfcLibraryInformation::Location() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcLibraryInformation::Location() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcLibraryInformation::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc3::IfcLibraryInformation::Description() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcLibraryInformation::Description() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcLibraryInformation::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x3_rc3::IfcRelAssociatesLibrary::list::ptr Ifc4x3_rc3::IfcLibraryInformation::LibraryInfoForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[919], 5)->as(); } @@ -12144,14 +12144,14 @@ void Ifc4x3_rc3::IfcLibraryInformation::setDescription(boost::optional< std::str const IfcParse::entity& Ifc4x3_rc3::IfcLibraryInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[590]); } const IfcParse::entity& Ifc4x3_rc3::IfcLibraryInformation::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[590]); } Ifc4x3_rc3::IfcLibraryInformation::IfcLibraryInformation(IfcEntityInstanceData&& e) : IfcExternalInformation(std::move(e)) { } -Ifc4x3_rc3::IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, boost::optional< std::string > v2_Version, ::Ifc4x3_rc3::IfcActorSelect* v3_Publisher, boost::optional< std::string > v4_VersionDate, boost::optional< std::string > v5_Location, boost::optional< std::string > v6_Description) : IfcExternalInformation(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, v3_Publisher ? v3_Publisher->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); }; populate_derived(); } +Ifc4x3_rc3::IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, boost::optional< std::string > v2_Version, ::Ifc4x3_rc3::IfcActorSelect* v3_Publisher, boost::optional< std::string > v4_VersionDate, boost::optional< std::string > v5_Location, boost::optional< std::string > v6_Description) : IfcExternalInformation(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, v3_Publisher ? v3_Publisher->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); }; populate_derived(); } // Function implementations for IfcLibraryReference -boost::optional< std::string > Ifc4x3_rc3::IfcLibraryReference::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcLibraryReference::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcLibraryReference::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc3::IfcLibraryReference::Language() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcLibraryReference::Language() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcLibraryReference::setLanguage(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc3::IfcLibraryInformation* Ifc4x3_rc3::IfcLibraryReference::ReferencedLibrary() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcLibraryInformation>(true); } +::Ifc4x3_rc3::IfcLibraryInformation* Ifc4x3_rc3::IfcLibraryReference::ReferencedLibrary() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcLibraryInformation>(true); } void Ifc4x3_rc3::IfcLibraryReference::setReferencedLibrary(::Ifc4x3_rc3::IfcLibraryInformation* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc4x3_rc3::IfcRelAssociatesLibrary::list::ptr Ifc4x3_rc3::IfcLibraryReference::LibraryRefForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[919], 5)->as(); } @@ -12159,69 +12159,69 @@ void Ifc4x3_rc3::IfcLibraryReference::setReferencedLibrary(::Ifc4x3_rc3::IfcLibr const IfcParse::entity& Ifc4x3_rc3::IfcLibraryReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[591]); } const IfcParse::entity& Ifc4x3_rc3::IfcLibraryReference::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[591]); } Ifc4x3_rc3::IfcLibraryReference::IfcLibraryReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_rc3::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_rc3::IfcLibraryInformation* v6_ReferencedLibrary) : IfcExternalReference(IfcEntityInstanceData(storage_t(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, v6_ReferencedLibrary ? v6_ReferencedLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::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_rc3::IfcLibraryInformation* v6_ReferencedLibrary) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, v6_ReferencedLibrary ? v6_ReferencedLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLightDistributionData -double Ifc4x3_rc3::IfcLightDistributionData::MainPlaneAngle() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_rc3::IfcLightDistributionData::MainPlaneAngle() const { double v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcLightDistributionData::setMainPlaneAngle(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< double > /*[1:?]*/ Ifc4x3_rc3::IfcLightDistributionData::SecondaryPlaneAngle() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +std::vector< double > /*[1:?]*/ Ifc4x3_rc3::IfcLightDistributionData::SecondaryPlaneAngle() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcLightDistributionData::setSecondaryPlaneAngle(std::vector< double > /*[1:?]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector< double > /*[1:?]*/ Ifc4x3_rc3::IfcLightDistributionData::LuminousIntensity() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(2); return v; } +std::vector< double > /*[1:?]*/ Ifc4x3_rc3::IfcLightDistributionData::LuminousIntensity() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcLightDistributionData::setLuminousIntensity(std::vector< double > /*[1:?]*/ v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcLightDistributionData::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[594]); } const IfcParse::entity& Ifc4x3_rc3::IfcLightDistributionData::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[594]); } Ifc4x3_rc3::IfcLightDistributionData::IfcLightDistributionData(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcLightDistributionData::IfcLightDistributionData(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; populate_derived(); } +Ifc4x3_rc3::IfcLightDistributionData::IfcLightDistributionData(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; populate_derived(); } // Function implementations for IfcLightFixture -boost::optional< ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value > Ifc4x3_rc3::IfcLightFixture::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value > Ifc4x3_rc3::IfcLightFixture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcLightFixture::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcLightFixture::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[597]); } const IfcParse::entity& Ifc4x3_rc3::IfcLightFixture::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[597]); } Ifc4x3_rc3::IfcLightFixture::IfcLightFixture(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc3::IfcLightFixture::IfcLightFixture(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcLightFixture::IfcLightFixture(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLightFixtureType -::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value Ifc4x3_rc3::IfcLightFixtureType::PredefinedType() const { return ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value Ifc4x3_rc3::IfcLightFixtureType::PredefinedType() const { return ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcLightFixtureType::setPredefinedType(::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcLightFixtureType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[598]); } const IfcParse::entity& Ifc4x3_rc3::IfcLightFixtureType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[598]); } Ifc4x3_rc3::IfcLightFixtureType::IfcLightFixtureType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc3::IfcLightFixtureType::IfcLightFixtureType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcLightFixtureType::IfcLightFixtureType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLightIntensityDistribution -::Ifc4x3_rc3::IfcLightDistributionCurveEnum::Value Ifc4x3_rc3::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4x3_rc3::IfcLightDistributionCurveEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_rc3::IfcLightDistributionCurveEnum::Value Ifc4x3_rc3::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4x3_rc3::IfcLightDistributionCurveEnum::FromString(get_attribute_value(0)); } void Ifc4x3_rc3::IfcLightIntensityDistribution::setLightDistributionCurve(::Ifc4x3_rc3::IfcLightDistributionCurveEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_rc3::IfcLightDistributionCurveEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc3::IfcLightDistributionData >::ptr Ifc4x3_rc3::IfcLightIntensityDistribution::DistributionData() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcLightDistributionData >(); } +aggregate_of< ::Ifc4x3_rc3::IfcLightDistributionData >::ptr Ifc4x3_rc3::IfcLightIntensityDistribution::DistributionData() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcLightDistributionData >(); } void Ifc4x3_rc3::IfcLightIntensityDistribution::setDistributionData(aggregate_of< ::Ifc4x3_rc3::IfcLightDistributionData >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcLightIntensityDistribution::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[600]); } const IfcParse::entity& Ifc4x3_rc3::IfcLightIntensityDistribution::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[600]); } Ifc4x3_rc3::IfcLightIntensityDistribution::IfcLightIntensityDistribution(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4x3_rc3::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, aggregate_of< ::Ifc4x3_rc3::IfcLightDistributionData >::ptr v2_DistributionData) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, (v2_DistributionData)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4x3_rc3::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, aggregate_of< ::Ifc4x3_rc3::IfcLightDistributionData >::ptr v2_DistributionData) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, (v2_DistributionData)->generalize());; populate_derived(); } // Function implementations for IfcLightSource -boost::optional< std::string > Ifc4x3_rc3::IfcLightSource::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcLightSource::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcLightSource::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_rc3::IfcColourRgb* Ifc4x3_rc3::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcColourRgb>(true); } +::Ifc4x3_rc3::IfcColourRgb* Ifc4x3_rc3::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcColourRgb>(true); } void Ifc4x3_rc3::IfcLightSource::setLightColour(::Ifc4x3_rc3::IfcColourRgb* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_rc3::IfcLightSource::AmbientIntensity() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc3::IfcLightSource::AmbientIntensity() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc3::IfcLightSource::Intensity() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc3::IfcLightSource::Intensity() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcLightSource::setIntensity(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc3::IfcLightSource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[601]); } const IfcParse::entity& Ifc4x3_rc3::IfcLightSource::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[601]); } Ifc4x3_rc3::IfcLightSource::IfcLightSource(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } +Ifc4x3_rc3::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } // Function implementations for IfcLightSourceAmbient @@ -12229,83 +12229,83 @@ Ifc4x3_rc3::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Nam const IfcParse::entity& Ifc4x3_rc3::IfcLightSourceAmbient::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[602]); } const IfcParse::entity& Ifc4x3_rc3::IfcLightSourceAmbient::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[602]); } Ifc4x3_rc3::IfcLightSourceAmbient::IfcLightSourceAmbient(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x3_rc3::IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcLightSource(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } +Ifc4x3_rc3::IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } // Function implementations for IfcLightSourceDirectional -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcDirection>(true); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcLightSourceDirectional::setOrientation(::Ifc4x3_rc3::IfcDirection* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc3::IfcLightSourceDirectional::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[603]); } const IfcParse::entity& Ifc4x3_rc3::IfcLightSourceDirectional::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[603]); } Ifc4x3_rc3::IfcLightSourceDirectional::IfcLightSourceDirectional(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x3_rc3::IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc3::IfcDirection* v5_Orientation) : IfcLightSource(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Orientation ? v5_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc3::IfcDirection* v5_Orientation) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Orientation ? v5_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLightSourceGoniometric -::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(true); } void Ifc4x3_rc3::IfcLightSourceGoniometric::setPosition(::Ifc4x3_rc3::IfcAxis2Placement3D* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcColourRgb* Ifc4x3_rc3::IfcLightSourceGoniometric::ColourAppearance() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcColourRgb>(true); } +::Ifc4x3_rc3::IfcColourRgb* Ifc4x3_rc3::IfcLightSourceGoniometric::ColourAppearance() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcColourRgb>(true); } void Ifc4x3_rc3::IfcLightSourceGoniometric::setColourAppearance(::Ifc4x3_rc3::IfcColourRgb* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc3::IfcLightSourceGoniometric::ColourTemperature() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc3::IfcLightSourceGoniometric::ColourTemperature() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcLightSourceGoniometric::setColourTemperature(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -double Ifc4x3_rc3::IfcLightSourceGoniometric::LuminousFlux() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x3_rc3::IfcLightSourceGoniometric::LuminousFlux() const { double v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcLightSourceGoniometric::setLuminousFlux(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc3::IfcLightEmissionSourceEnum::Value Ifc4x3_rc3::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4x3_rc3::IfcLightEmissionSourceEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc3::IfcLightEmissionSourceEnum::Value Ifc4x3_rc3::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4x3_rc3::IfcLightEmissionSourceEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcLightSourceGoniometric::setLightEmissionSource(::Ifc4x3_rc3::IfcLightEmissionSourceEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcLightEmissionSourceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc3::IfcLightDistributionDataSourceSelect* Ifc4x3_rc3::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc3::IfcLightDistributionDataSourceSelect>(true); } +::Ifc4x3_rc3::IfcLightDistributionDataSourceSelect* Ifc4x3_rc3::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc3::IfcLightDistributionDataSourceSelect>(true); } void Ifc4x3_rc3::IfcLightSourceGoniometric::setLightDistributionDataSource(::Ifc4x3_rc3::IfcLightDistributionDataSourceSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcLightSourceGoniometric::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[604]); } const IfcParse::entity& Ifc4x3_rc3::IfcLightSourceGoniometric::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[604]); } Ifc4x3_rc3::IfcLightSourceGoniometric::IfcLightSourceGoniometric(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x3_rc3::IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc3::IfcAxis2Placement3D* v5_Position, ::Ifc4x3_rc3::IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_rc3::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_rc3::IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource(IfcEntityInstanceData(storage_t(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ColourAppearance ? v6_ColourAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, v10_LightDistributionDataSource ? v10_LightDistributionDataSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc3::IfcAxis2Placement3D* v5_Position, ::Ifc4x3_rc3::IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_rc3::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_rc3::IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ColourAppearance ? v6_ColourAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, v10_LightDistributionDataSource ? v10_LightDistributionDataSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLightSourcePositional -::Ifc4x3_rc3::IfcCartesianPoint* Ifc4x3_rc3::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcCartesianPoint>(true); } +::Ifc4x3_rc3::IfcCartesianPoint* Ifc4x3_rc3::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcCartesianPoint>(true); } void Ifc4x3_rc3::IfcLightSourcePositional::setPosition(::Ifc4x3_rc3::IfcCartesianPoint* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc3::IfcLightSourcePositional::Radius() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc3::IfcLightSourcePositional::Radius() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcLightSourcePositional::setRadius(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc3::IfcLightSourcePositional::ConstantAttenuation() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc3::IfcLightSourcePositional::ConstantAttenuation() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcLightSourcePositional::setConstantAttenuation(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -double Ifc4x3_rc3::IfcLightSourcePositional::DistanceAttenuation() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x3_rc3::IfcLightSourcePositional::DistanceAttenuation() const { double v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcLightSourcePositional::setDistanceAttenuation(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -double Ifc4x3_rc3::IfcLightSourcePositional::QuadricAttenuation() const { double v = data_.get_attribute_value(8); return v; } +double Ifc4x3_rc3::IfcLightSourcePositional::QuadricAttenuation() const { double v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcLightSourcePositional::setQuadricAttenuation(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc3::IfcLightSourcePositional::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[605]); } const IfcParse::entity& Ifc4x3_rc3::IfcLightSourcePositional::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[605]); } Ifc4x3_rc3::IfcLightSourcePositional::IfcLightSourcePositional(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x3_rc3::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc3::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) : IfcLightSource(IfcEntityInstanceData(storage_t(9))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; populate_derived(); } +Ifc4x3_rc3::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc3::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; populate_derived(); } // Function implementations for IfcLightSourceSpot -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc3::IfcDirection>(true); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcLightSourceSpot::setOrientation(::Ifc4x3_rc3::IfcDirection* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3_rc3::IfcLightSourceSpot::ConcentrationExponent() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc3::IfcLightSourceSpot::ConcentrationExponent() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -double Ifc4x3_rc3::IfcLightSourceSpot::SpreadAngle() const { double v = data_.get_attribute_value(11); return v; } +double Ifc4x3_rc3::IfcLightSourceSpot::SpreadAngle() const { double v = get_attribute_value(11); return v; } void Ifc4x3_rc3::IfcLightSourceSpot::setSpreadAngle(double v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } -double Ifc4x3_rc3::IfcLightSourceSpot::BeamWidthAngle() const { double v = data_.get_attribute_value(12); return v; } +double Ifc4x3_rc3::IfcLightSourceSpot::BeamWidthAngle() const { double v = get_attribute_value(12); return v; } void Ifc4x3_rc3::IfcLightSourceSpot::setBeamWidthAngle(double v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } const IfcParse::entity& Ifc4x3_rc3::IfcLightSourceSpot::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[606]); } const IfcParse::entity& Ifc4x3_rc3::IfcLightSourceSpot::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[606]); } Ifc4x3_rc3::IfcLightSourceSpot::IfcLightSourceSpot(IfcEntityInstanceData&& e) : IfcLightSourcePositional(std::move(e)) { } -Ifc4x3_rc3::IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc3::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_rc3::IfcDirection* v10_Orientation, boost::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) : IfcLightSourcePositional(IfcEntityInstanceData(storage_t(13))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, v10_Orientation ? v10_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; populate_derived(); } +Ifc4x3_rc3::IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_rc3::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_rc3::IfcDirection* v10_Orientation, boost::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) : IfcLightSourcePositional(IfcEntityInstanceData(in_memory_attribute_storage(13))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, v10_Orientation ? v10_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; populate_derived(); } // Function implementations for IfcLine -::Ifc4x3_rc3::IfcCartesianPoint* Ifc4x3_rc3::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCartesianPoint>(true); } +::Ifc4x3_rc3::IfcCartesianPoint* Ifc4x3_rc3::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCartesianPoint>(true); } void Ifc4x3_rc3::IfcLine::setPnt(::Ifc4x3_rc3::IfcCartesianPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcVector* Ifc4x3_rc3::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcVector>(true); } +::Ifc4x3_rc3::IfcVector* Ifc4x3_rc3::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcVector>(true); } void Ifc4x3_rc3::IfcLine::setDir(::Ifc4x3_rc3::IfcVector* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcLine::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[607]); } const IfcParse::entity& Ifc4x3_rc3::IfcLine::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[607]); } Ifc4x3_rc3::IfcLine::IfcLine(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_rc3::IfcLine::IfcLine(::Ifc4x3_rc3::IfcCartesianPoint* v1_Pnt, ::Ifc4x3_rc3::IfcVector* v2_Dir) : IfcCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Pnt ? v1_Pnt->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Dir ? v2_Dir->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcLine::IfcLine(::Ifc4x3_rc3::IfcCartesianPoint* v1_Pnt, ::Ifc4x3_rc3::IfcVector* v2_Dir) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Pnt ? v1_Pnt->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Dir ? v2_Dir->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLinearElement @@ -12313,19 +12313,19 @@ Ifc4x3_rc3::IfcLine::IfcLine(::Ifc4x3_rc3::IfcCartesianPoint* v1_Pnt, ::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc3::IfcLinearElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[608]); } const IfcParse::entity& Ifc4x3_rc3::IfcLinearElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[608]); } Ifc4x3_rc3::IfcLinearElement::IfcLinearElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_rc3::IfcLinearElement::IfcLinearElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcLinearElement::IfcLinearElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLinearPlacement -::Ifc4x3_rc3::IfcAxis2PlacementLinear* Ifc4x3_rc3::IfcLinearPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcAxis2PlacementLinear>(true); } +::Ifc4x3_rc3::IfcAxis2PlacementLinear* Ifc4x3_rc3::IfcLinearPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcAxis2PlacementLinear>(true); } void Ifc4x3_rc3::IfcLinearPlacement::setRelativePlacement(::Ifc4x3_rc3::IfcAxis2PlacementLinear* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcLinearPlacement::CartesianPosition() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcLinearPlacement::CartesianPosition() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(true); } void Ifc4x3_rc3::IfcLinearPlacement::setCartesianPosition(::Ifc4x3_rc3::IfcAxis2Placement3D* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcLinearPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[611]); } const IfcParse::entity& Ifc4x3_rc3::IfcLinearPlacement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[611]); } Ifc4x3_rc3::IfcLinearPlacement::IfcLinearPlacement(IfcEntityInstanceData&& e) : IfcObjectPlacement(std::move(e)) { } -Ifc4x3_rc3::IfcLinearPlacement::IfcLinearPlacement(::Ifc4x3_rc3::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc3::IfcAxis2PlacementLinear* v2_RelativePlacement, ::Ifc4x3_rc3::IfcAxis2Placement3D* v3_CartesianPosition) : IfcObjectPlacement(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CartesianPosition ? v3_CartesianPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcLinearPlacement::IfcLinearPlacement(::Ifc4x3_rc3::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc3::IfcAxis2PlacementLinear* v2_RelativePlacement, ::Ifc4x3_rc3::IfcAxis2Placement3D* v3_CartesianPosition) : IfcObjectPlacement(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CartesianPosition ? v3_CartesianPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLinearPositioningElement @@ -12333,37 +12333,37 @@ Ifc4x3_rc3::IfcLinearPlacement::IfcLinearPlacement(::Ifc4x3_rc3::IfcObjectPlacem const IfcParse::entity& Ifc4x3_rc3::IfcLinearPositioningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[612]); } const IfcParse::entity& Ifc4x3_rc3::IfcLinearPositioningElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[612]); } Ifc4x3_rc3::IfcLinearPositioningElement::IfcLinearPositioningElement(IfcEntityInstanceData&& e) : IfcPositioningElement(std::move(e)) { } -Ifc4x3_rc3::IfcLinearPositioningElement::IfcLinearPositioningElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation) : IfcPositioningElement(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcLinearPositioningElement::IfcLinearPositioningElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation) : IfcPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLiquidTerminal -boost::optional< ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value > Ifc4x3_rc3::IfcLiquidTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value > Ifc4x3_rc3::IfcLiquidTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcLiquidTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcLiquidTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[616]); } const IfcParse::entity& Ifc4x3_rc3::IfcLiquidTerminal::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[616]); } Ifc4x3_rc3::IfcLiquidTerminal::IfcLiquidTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc3::IfcLiquidTerminal::IfcLiquidTerminal(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcLiquidTerminal::IfcLiquidTerminal(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLiquidTerminalType -::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value Ifc4x3_rc3::IfcLiquidTerminalType::PredefinedType() const { return ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value Ifc4x3_rc3::IfcLiquidTerminalType::PredefinedType() const { return ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcLiquidTerminalType::setPredefinedType(::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcLiquidTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[617]); } const IfcParse::entity& Ifc4x3_rc3::IfcLiquidTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[617]); } Ifc4x3_rc3::IfcLiquidTerminalType::IfcLiquidTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc3::IfcLiquidTerminalType::IfcLiquidTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcLiquidTerminalType::IfcLiquidTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcLiquidTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLocalPlacement -::Ifc4x3_rc3::IfcAxis2Placement* Ifc4x3_rc3::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcAxis2Placement>(true); } +::Ifc4x3_rc3::IfcAxis2Placement* Ifc4x3_rc3::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcAxis2Placement>(true); } void Ifc4x3_rc3::IfcLocalPlacement::setRelativePlacement(::Ifc4x3_rc3::IfcAxis2Placement* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcLocalPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[620]); } const IfcParse::entity& Ifc4x3_rc3::IfcLocalPlacement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[620]); } Ifc4x3_rc3::IfcLocalPlacement::IfcLocalPlacement(IfcEntityInstanceData&& e) : IfcObjectPlacement(std::move(e)) { } -Ifc4x3_rc3::IfcLocalPlacement::IfcLocalPlacement(::Ifc4x3_rc3::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc3::IfcAxis2Placement* v2_RelativePlacement) : IfcObjectPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcLocalPlacement::IfcLocalPlacement(::Ifc4x3_rc3::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc3::IfcAxis2Placement* v2_RelativePlacement) : IfcObjectPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLoop @@ -12371,70 +12371,70 @@ Ifc4x3_rc3::IfcLocalPlacement::IfcLocalPlacement(::Ifc4x3_rc3::IfcObjectPlacemen const IfcParse::entity& Ifc4x3_rc3::IfcLoop::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[623]); } const IfcParse::entity& Ifc4x3_rc3::IfcLoop::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[623]); } Ifc4x3_rc3::IfcLoop::IfcLoop(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc3::IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcManifoldSolidBrep -::Ifc4x3_rc3::IfcClosedShell* Ifc4x3_rc3::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcClosedShell>(true); } +::Ifc4x3_rc3::IfcClosedShell* Ifc4x3_rc3::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcClosedShell>(true); } void Ifc4x3_rc3::IfcManifoldSolidBrep::setOuter(::Ifc4x3_rc3::IfcClosedShell* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc3::IfcManifoldSolidBrep::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[630]); } const IfcParse::entity& Ifc4x3_rc3::IfcManifoldSolidBrep::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[630]); } Ifc4x3_rc3::IfcManifoldSolidBrep::IfcManifoldSolidBrep(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3_rc3::IfcManifoldSolidBrep::IfcManifoldSolidBrep(::Ifc4x3_rc3::IfcClosedShell* v1_Outer) : IfcSolidModel(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcManifoldSolidBrep::IfcManifoldSolidBrep(::Ifc4x3_rc3::IfcClosedShell* v1_Outer) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMapConversion -double Ifc4x3_rc3::IfcMapConversion::Eastings() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc3::IfcMapConversion::Eastings() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcMapConversion::setEastings(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc3::IfcMapConversion::Northings() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc3::IfcMapConversion::Northings() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcMapConversion::setNorthings(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc3::IfcMapConversion::OrthogonalHeight() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc3::IfcMapConversion::OrthogonalHeight() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcMapConversion::setOrthogonalHeight(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< double > Ifc4x3_rc3::IfcMapConversion::XAxisAbscissa() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc3::IfcMapConversion::XAxisAbscissa() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcMapConversion::setXAxisAbscissa(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_rc3::IfcMapConversion::XAxisOrdinate() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc3::IfcMapConversion::XAxisOrdinate() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcMapConversion::setXAxisOrdinate(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_rc3::IfcMapConversion::Scale() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc3::IfcMapConversion::Scale() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcMapConversion::setScale(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc3::IfcMapConversion::ScaleY() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc3::IfcMapConversion::ScaleY() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcMapConversion::setScaleY(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_rc3::IfcMapConversion::ScaleZ() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc3::IfcMapConversion::ScaleZ() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc3::IfcMapConversion::setScaleZ(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc3::IfcMapConversion::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[631]); } const IfcParse::entity& Ifc4x3_rc3::IfcMapConversion::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[631]); } Ifc4x3_rc3::IfcMapConversion::IfcMapConversion(IfcEntityInstanceData&& e) : IfcCoordinateOperation(std::move(e)) { } -Ifc4x3_rc3::IfcMapConversion::IfcMapConversion(::Ifc4x3_rc3::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_rc3::IfcCoordinateReferenceSystem* v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, boost::optional< double > v6_XAxisAbscissa, boost::optional< double > v7_XAxisOrdinate, boost::optional< double > v8_Scale, boost::optional< double > v9_ScaleY, boost::optional< double > v10_ScaleZ) : IfcCoordinateOperation(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); } if (v9_ScaleY) {set_attribute_value(8, (*v9_ScaleY)); } if (v10_ScaleZ) {set_attribute_value(9, (*v10_ScaleZ)); }; populate_derived(); } +Ifc4x3_rc3::IfcMapConversion::IfcMapConversion(::Ifc4x3_rc3::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_rc3::IfcCoordinateReferenceSystem* v2_TargetCRS, double v3_Eastings, double v4_Northings, double v5_OrthogonalHeight, boost::optional< double > v6_XAxisAbscissa, boost::optional< double > v7_XAxisOrdinate, boost::optional< double > v8_Scale, boost::optional< double > v9_ScaleY, boost::optional< double > v10_ScaleZ) : IfcCoordinateOperation(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); } if (v9_ScaleY) {set_attribute_value(8, (*v9_ScaleY)); } if (v10_ScaleZ) {set_attribute_value(9, (*v10_ScaleZ)); }; populate_derived(); } // Function implementations for IfcMappedItem -::Ifc4x3_rc3::IfcRepresentationMap* Ifc4x3_rc3::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcRepresentationMap>(true); } +::Ifc4x3_rc3::IfcRepresentationMap* Ifc4x3_rc3::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcRepresentationMap>(true); } void Ifc4x3_rc3::IfcMappedItem::setMappingSource(::Ifc4x3_rc3::IfcRepresentationMap* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcCartesianTransformationOperator* Ifc4x3_rc3::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcCartesianTransformationOperator>(true); } +::Ifc4x3_rc3::IfcCartesianTransformationOperator* Ifc4x3_rc3::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcCartesianTransformationOperator>(true); } void Ifc4x3_rc3::IfcMappedItem::setMappingTarget(::Ifc4x3_rc3::IfcCartesianTransformationOperator* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcMappedItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[632]); } const IfcParse::entity& Ifc4x3_rc3::IfcMappedItem::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[632]); } Ifc4x3_rc3::IfcMappedItem::IfcMappedItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcMappedItem::IfcMappedItem(::Ifc4x3_rc3::IfcRepresentationMap* v1_MappingSource, ::Ifc4x3_rc3::IfcCartesianTransformationOperator* v2_MappingTarget) : IfcRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_MappingSource ? v1_MappingSource->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappingTarget ? v2_MappingTarget->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcMappedItem::IfcMappedItem(::Ifc4x3_rc3::IfcRepresentationMap* v1_MappingSource, ::Ifc4x3_rc3::IfcCartesianTransformationOperator* v2_MappingTarget) : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_MappingSource ? v1_MappingSource->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappingTarget ? v2_MappingTarget->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMarineFacility -boost::optional< ::Ifc4x3_rc3::IfcMarineFacilityTypeEnum::Value > Ifc4x3_rc3::IfcMarineFacility::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcMarineFacilityTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc3::IfcMarineFacilityTypeEnum::Value > Ifc4x3_rc3::IfcMarineFacility::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcMarineFacilityTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcMarineFacility::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcMarineFacilityTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcMarineFacilityTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc3::IfcMarineFacility::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[633]); } const IfcParse::entity& Ifc4x3_rc3::IfcMarineFacility::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[633]); } Ifc4x3_rc3::IfcMarineFacility::IfcMarineFacility(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x3_rc3::IfcMarineFacility::IfcMarineFacility(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_rc3::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcMarineFacilityTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcMarineFacility::IfcMarineFacility(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_rc3::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcMarineFacilityTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMaterial -std::string Ifc4x3_rc3::IfcMaterial::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc3::IfcMaterial::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcMaterial::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc3::IfcMaterial::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcMaterial::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcMaterial::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc3::IfcMaterial::Category() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcMaterial::Category() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcMaterial::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3_rc3::IfcMaterialDefinitionRepresentation::list::ptr Ifc4x3_rc3::IfcMaterial::HasRepresentation() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[645], 3)->as(); } @@ -12444,30 +12444,30 @@ void Ifc4x3_rc3::IfcMaterial::setCategory(boost::optional< std::string > v) { if const IfcParse::entity& Ifc4x3_rc3::IfcMaterial::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[640]); } const IfcParse::entity& Ifc4x3_rc3::IfcMaterial::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[640]); } Ifc4x3_rc3::IfcMaterial::IfcMaterial(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_rc3::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); }; populate_derived(); } +Ifc4x3_rc3::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); }; populate_derived(); } // Function implementations for IfcMaterialClassificationRelationship -aggregate_of< ::Ifc4x3_rc3::IfcClassificationSelect >::ptr Ifc4x3_rc3::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcClassificationSelect >(); } +aggregate_of< ::Ifc4x3_rc3::IfcClassificationSelect >::ptr Ifc4x3_rc3::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcClassificationSelect >(); } void Ifc4x3_rc3::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x3_rc3::IfcClassificationSelect >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcMaterial* Ifc4x3_rc3::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcMaterial>(true); } +::Ifc4x3_rc3::IfcMaterial* Ifc4x3_rc3::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcMaterial>(true); } void Ifc4x3_rc3::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4x3_rc3::IfcMaterial* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialClassificationRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[641]); } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialClassificationRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[641]); } Ifc4x3_rc3::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3_rc3::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_rc3::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_MaterialClassifications)->generalize());set_attribute_value(1, v2_ClassifiedMaterial ? v2_ClassifiedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3_rc3::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_rc3::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_MaterialClassifications)->generalize());set_attribute_value(1, v2_ClassifiedMaterial ? v2_ClassifiedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialConstituent -boost::optional< std::string > Ifc4x3_rc3::IfcMaterialConstituent::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcMaterialConstituent::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcMaterialConstituent::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc3::IfcMaterialConstituent::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcMaterialConstituent::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcMaterialConstituent::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc3::IfcMaterial* Ifc4x3_rc3::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcMaterial>(true); } +::Ifc4x3_rc3::IfcMaterial* Ifc4x3_rc3::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcMaterial>(true); } void Ifc4x3_rc3::IfcMaterialConstituent::setMaterial(::Ifc4x3_rc3::IfcMaterial* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4x3_rc3::IfcMaterialConstituent::Fraction() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc3::IfcMaterialConstituent::Fraction() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcMaterialConstituent::setFraction(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc3::IfcMaterialConstituent::Category() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcMaterialConstituent::Category() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcMaterialConstituent::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } ::Ifc4x3_rc3::IfcMaterialConstituentSet::list::ptr Ifc4x3_rc3::IfcMaterialConstituent::ToMaterialConstituentSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[643], 2)->as(); } @@ -12475,21 +12475,21 @@ void Ifc4x3_rc3::IfcMaterialConstituent::setCategory(boost::optional< std::strin const IfcParse::entity& Ifc4x3_rc3::IfcMaterialConstituent::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[642]); } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialConstituent::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[642]); } Ifc4x3_rc3::IfcMaterialConstituent::IfcMaterialConstituent(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_rc3::IfcMaterialConstituent::IfcMaterialConstituent(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcMaterial* v3_Material, boost::optional< double > v4_Fraction, boost::optional< std::string > v5_Category) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); }; populate_derived(); } +Ifc4x3_rc3::IfcMaterialConstituent::IfcMaterialConstituent(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcMaterial* v3_Material, boost::optional< double > v4_Fraction, boost::optional< std::string > v5_Category) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); }; populate_derived(); } // Function implementations for IfcMaterialConstituentSet -boost::optional< std::string > Ifc4x3_rc3::IfcMaterialConstituentSet::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcMaterialConstituentSet::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcMaterialConstituentSet::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc3::IfcMaterialConstituentSet::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcMaterialConstituentSet::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcMaterialConstituentSet::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcMaterialConstituent >::ptr > Ifc4x3_rc3::IfcMaterialConstituentSet::MaterialConstituents() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcMaterialConstituent >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcMaterialConstituent >::ptr > Ifc4x3_rc3::IfcMaterialConstituentSet::MaterialConstituents() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcMaterialConstituent >(); } void Ifc4x3_rc3::IfcMaterialConstituentSet::setMaterialConstituents(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcMaterialConstituent >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialConstituentSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[643]); } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialConstituentSet::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[643]); } Ifc4x3_rc3::IfcMaterialConstituentSet::IfcMaterialConstituentSet(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_rc3::IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcMaterialConstituent >::ptr > v3_MaterialConstituents) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, (*v3_MaterialConstituents)->generalize()); }; populate_derived(); } +Ifc4x3_rc3::IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcMaterialConstituent >::ptr > v3_MaterialConstituents) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, (*v3_MaterialConstituents)->generalize()); }; populate_derived(); } // Function implementations for IfcMaterialDefinition @@ -12500,32 +12500,32 @@ Ifc4x3_rc3::IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional const IfcParse::entity& Ifc4x3_rc3::IfcMaterialDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[644]); } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[644]); } Ifc4x3_rc3::IfcMaterialDefinition::IfcMaterialDefinition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcMaterialDefinition::IfcMaterialDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc3::IfcMaterialDefinition::IfcMaterialDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcMaterialDefinitionRepresentation -::Ifc4x3_rc3::IfcMaterial* Ifc4x3_rc3::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcMaterial>(true); } +::Ifc4x3_rc3::IfcMaterial* Ifc4x3_rc3::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcMaterial>(true); } void Ifc4x3_rc3::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(::Ifc4x3_rc3::IfcMaterial* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialDefinitionRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[645]); } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialDefinitionRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[645]); } Ifc4x3_rc3::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(IfcEntityInstanceData&& e) : IfcProductRepresentation(std::move(e)) { } -Ifc4x3_rc3::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcRepresentation >::ptr v3_Representations, ::Ifc4x3_rc3::IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());set_attribute_value(3, v4_RepresentedMaterial ? v4_RepresentedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcRepresentation >::ptr v3_Representations, ::Ifc4x3_rc3::IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());set_attribute_value(3, v4_RepresentedMaterial ? v4_RepresentedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialLayer -::Ifc4x3_rc3::IfcMaterial* Ifc4x3_rc3::IfcMaterialLayer::Material() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcMaterial>(true); } +::Ifc4x3_rc3::IfcMaterial* Ifc4x3_rc3::IfcMaterialLayer::Material() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcMaterial>(true); } void Ifc4x3_rc3::IfcMaterialLayer::setMaterial(::Ifc4x3_rc3::IfcMaterial* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc3::IfcMaterialLayer::LayerThickness() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc3::IfcMaterialLayer::LayerThickness() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcMaterialLayer::setLayerThickness(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< boost::logic::tribool > Ifc4x3_rc3::IfcMaterialLayer::IsVentilated() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::optional< boost::logic::tribool > Ifc4x3_rc3::IfcMaterialLayer::IsVentilated() const { if(get_attribute_value(2).isNull()) { return boost::none; } boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcMaterialLayer::setIsVentilated(boost::optional< boost::logic::tribool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_rc3::IfcMaterialLayer::Name() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcMaterialLayer::Name() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcMaterialLayer::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc3::IfcMaterialLayer::Description() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcMaterialLayer::Description() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcMaterialLayer::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc3::IfcMaterialLayer::Category() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcMaterialLayer::Category() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcMaterialLayer::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< int > Ifc4x3_rc3::IfcMaterialLayer::Priority() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } int v = data_.get_attribute_value(6); return v; } +boost::optional< int > Ifc4x3_rc3::IfcMaterialLayer::Priority() const { if(get_attribute_value(6).isNull()) { return boost::none; } int v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcMaterialLayer::setPriority(boost::optional< int > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_rc3::IfcMaterialLayerSet::list::ptr Ifc4x3_rc3::IfcMaterialLayer::ToMaterialLayerSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[647], 0)->as(); } @@ -12533,74 +12533,74 @@ void Ifc4x3_rc3::IfcMaterialLayer::setPriority(boost::optional< int > v) { if (v const IfcParse::entity& Ifc4x3_rc3::IfcMaterialLayer::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[646]); } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialLayer::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[646]); } Ifc4x3_rc3::IfcMaterialLayer::IfcMaterialLayer(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_rc3::IfcMaterialLayer::IfcMaterialLayer(::Ifc4x3_rc3::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(storage_t(7))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }; populate_derived(); } +Ifc4x3_rc3::IfcMaterialLayer::IfcMaterialLayer(::Ifc4x3_rc3::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(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }; populate_derived(); } // Function implementations for IfcMaterialLayerSet -aggregate_of< ::Ifc4x3_rc3::IfcMaterialLayer >::ptr Ifc4x3_rc3::IfcMaterialLayerSet::MaterialLayers() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcMaterialLayer >(); } +aggregate_of< ::Ifc4x3_rc3::IfcMaterialLayer >::ptr Ifc4x3_rc3::IfcMaterialLayerSet::MaterialLayers() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcMaterialLayer >(); } void Ifc4x3_rc3::IfcMaterialLayerSet::setMaterialLayers(aggregate_of< ::Ifc4x3_rc3::IfcMaterialLayer >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc3::IfcMaterialLayerSet::LayerSetName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcMaterialLayerSet::LayerSetName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcMaterialLayerSet::setLayerSetName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc3::IfcMaterialLayerSet::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcMaterialLayerSet::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcMaterialLayerSet::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialLayerSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[647]); } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialLayerSet::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[647]); } Ifc4x3_rc3::IfcMaterialLayerSet::IfcMaterialLayerSet(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_rc3::IfcMaterialLayerSet::IfcMaterialLayerSet(aggregate_of< ::Ifc4x3_rc3::IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName, boost::optional< std::string > v3_Description) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_MaterialLayers)->generalize()); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } +Ifc4x3_rc3::IfcMaterialLayerSet::IfcMaterialLayerSet(aggregate_of< ::Ifc4x3_rc3::IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName, boost::optional< std::string > v3_Description) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_MaterialLayers)->generalize()); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } // Function implementations for IfcMaterialLayerSetUsage -::Ifc4x3_rc3::IfcMaterialLayerSet* Ifc4x3_rc3::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcMaterialLayerSet>(true); } +::Ifc4x3_rc3::IfcMaterialLayerSet* Ifc4x3_rc3::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcMaterialLayerSet>(true); } void Ifc4x3_rc3::IfcMaterialLayerSetUsage::setForLayerSet(::Ifc4x3_rc3::IfcMaterialLayerSet* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcLayerSetDirectionEnum::Value Ifc4x3_rc3::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4x3_rc3::IfcLayerSetDirectionEnum::FromString(data_.get_attribute_value(1)); } +::Ifc4x3_rc3::IfcLayerSetDirectionEnum::Value Ifc4x3_rc3::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4x3_rc3::IfcLayerSetDirectionEnum::FromString(get_attribute_value(1)); } void Ifc4x3_rc3::IfcMaterialLayerSetUsage::setLayerSetDirection(::Ifc4x3_rc3::IfcLayerSetDirectionEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x3_rc3::IfcLayerSetDirectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcDirectionSenseEnum::Value Ifc4x3_rc3::IfcMaterialLayerSetUsage::DirectionSense() const { return ::Ifc4x3_rc3::IfcDirectionSenseEnum::FromString(data_.get_attribute_value(2)); } +::Ifc4x3_rc3::IfcDirectionSenseEnum::Value Ifc4x3_rc3::IfcMaterialLayerSetUsage::DirectionSense() const { return ::Ifc4x3_rc3::IfcDirectionSenseEnum::FromString(get_attribute_value(2)); } void Ifc4x3_rc3::IfcMaterialLayerSetUsage::setDirectionSense(::Ifc4x3_rc3::IfcDirectionSenseEnum::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3_rc3::IfcDirectionSenseEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc3::IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc3::IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcMaterialLayerSetUsage::setOffsetFromReferenceLine(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< double > Ifc4x3_rc3::IfcMaterialLayerSetUsage::ReferenceExtent() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc3::IfcMaterialLayerSetUsage::ReferenceExtent() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcMaterialLayerSetUsage::setReferenceExtent(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialLayerSetUsage::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[648]); } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialLayerSetUsage::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[648]); } Ifc4x3_rc3::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(IfcEntityInstanceData&& e) : IfcMaterialUsageDefinition(std::move(e)) { } -Ifc4x3_rc3::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(::Ifc4x3_rc3::IfcMaterialLayerSet* v1_ForLayerSet, ::Ifc4x3_rc3::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_rc3::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, boost::optional< double > v5_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_ForLayerSet ? v1_ForLayerSet->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc3::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc3::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); }; populate_derived(); } +Ifc4x3_rc3::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(::Ifc4x3_rc3::IfcMaterialLayerSet* v1_ForLayerSet, ::Ifc4x3_rc3::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_rc3::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, boost::optional< double > v5_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_ForLayerSet ? v1_ForLayerSet->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc3::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc3::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); }; populate_derived(); } // Function implementations for IfcMaterialLayerWithOffsets -::Ifc4x3_rc3::IfcLayerSetDirectionEnum::Value Ifc4x3_rc3::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4x3_rc3::IfcLayerSetDirectionEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc3::IfcLayerSetDirectionEnum::Value Ifc4x3_rc3::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4x3_rc3::IfcLayerSetDirectionEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc3::IfcMaterialLayerWithOffsets::setOffsetDirection(::Ifc4x3_rc3::IfcLayerSetDirectionEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc3::IfcLayerSetDirectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -std::vector< double > /*[1:2]*/ Ifc4x3_rc3::IfcMaterialLayerWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = data_.get_attribute_value(8); return v; } +std::vector< double > /*[1:2]*/ Ifc4x3_rc3::IfcMaterialLayerWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcMaterialLayerWithOffsets::setOffsetValues(std::vector< double > /*[1:2]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialLayerWithOffsets::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[649]); } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialLayerWithOffsets::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[649]); } Ifc4x3_rc3::IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(IfcEntityInstanceData&& e) : IfcMaterialLayer(std::move(e)) { } -Ifc4x3_rc3::IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(::Ifc4x3_rc3::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_rc3::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) : IfcMaterialLayer(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues));; populate_derived(); } +Ifc4x3_rc3::IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(::Ifc4x3_rc3::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_rc3::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) : IfcMaterialLayer(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues));; populate_derived(); } // Function implementations for IfcMaterialList -aggregate_of< ::Ifc4x3_rc3::IfcMaterial >::ptr Ifc4x3_rc3::IfcMaterialList::Materials() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcMaterial >(); } +aggregate_of< ::Ifc4x3_rc3::IfcMaterial >::ptr Ifc4x3_rc3::IfcMaterialList::Materials() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcMaterial >(); } void Ifc4x3_rc3::IfcMaterialList::setMaterials(aggregate_of< ::Ifc4x3_rc3::IfcMaterial >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialList::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[650]); } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialList::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[650]); } Ifc4x3_rc3::IfcMaterialList::IfcMaterialList(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcMaterialList::IfcMaterialList(aggregate_of< ::Ifc4x3_rc3::IfcMaterial >::ptr v1_Materials) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Materials)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcMaterialList::IfcMaterialList(aggregate_of< ::Ifc4x3_rc3::IfcMaterial >::ptr v1_Materials) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Materials)->generalize());; populate_derived(); } // Function implementations for IfcMaterialProfile -boost::optional< std::string > Ifc4x3_rc3::IfcMaterialProfile::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcMaterialProfile::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcMaterialProfile::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc3::IfcMaterialProfile::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcMaterialProfile::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcMaterialProfile::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc3::IfcMaterial* Ifc4x3_rc3::IfcMaterialProfile::Material() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcMaterial>(true); } +::Ifc4x3_rc3::IfcMaterial* Ifc4x3_rc3::IfcMaterialProfile::Material() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcMaterial>(true); } void Ifc4x3_rc3::IfcMaterialProfile::setMaterial(::Ifc4x3_rc3::IfcMaterial* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcProfileDef>(true); } +::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcProfileDef>(true); } void Ifc4x3_rc3::IfcMaterialProfile::setProfile(::Ifc4x3_rc3::IfcProfileDef* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< int > Ifc4x3_rc3::IfcMaterialProfile::Priority() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x3_rc3::IfcMaterialProfile::Priority() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcMaterialProfile::setPriority(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc3::IfcMaterialProfile::Category() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcMaterialProfile::Category() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcMaterialProfile::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x3_rc3::IfcMaterialProfileSet::list::ptr Ifc4x3_rc3::IfcMaterialProfile::ToMaterialProfileSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[652], 2)->as(); } @@ -12608,83 +12608,83 @@ void Ifc4x3_rc3::IfcMaterialProfile::setCategory(boost::optional< std::string > const IfcParse::entity& Ifc4x3_rc3::IfcMaterialProfile::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[651]); } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialProfile::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[651]); } Ifc4x3_rc3::IfcMaterialProfile::IfcMaterialProfile(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_rc3::IfcMaterialProfile::IfcMaterialProfile(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcMaterial* v3_Material, ::Ifc4x3_rc3::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }; populate_derived(); } +Ifc4x3_rc3::IfcMaterialProfile::IfcMaterialProfile(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcMaterial* v3_Material, ::Ifc4x3_rc3::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }; populate_derived(); } // Function implementations for IfcMaterialProfileSet -boost::optional< std::string > Ifc4x3_rc3::IfcMaterialProfileSet::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcMaterialProfileSet::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcMaterialProfileSet::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc3::IfcMaterialProfileSet::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcMaterialProfileSet::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcMaterialProfileSet::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3_rc3::IfcMaterialProfile >::ptr Ifc4x3_rc3::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcMaterialProfile >(); } +aggregate_of< ::Ifc4x3_rc3::IfcMaterialProfile >::ptr Ifc4x3_rc3::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcMaterialProfile >(); } void Ifc4x3_rc3::IfcMaterialProfileSet::setMaterialProfiles(aggregate_of< ::Ifc4x3_rc3::IfcMaterialProfile >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcCompositeProfileDef* Ifc4x3_rc3::IfcMaterialProfileSet::CompositeProfile() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcCompositeProfileDef>(true); } +::Ifc4x3_rc3::IfcCompositeProfileDef* Ifc4x3_rc3::IfcMaterialProfileSet::CompositeProfile() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcCompositeProfileDef>(true); } void Ifc4x3_rc3::IfcMaterialProfileSet::setCompositeProfile(::Ifc4x3_rc3::IfcCompositeProfileDef* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialProfileSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[652]); } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialProfileSet::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[652]); } Ifc4x3_rc3::IfcMaterialProfileSet::IfcMaterialProfileSet(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_rc3::IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcMaterialProfile >::ptr v3_MaterialProfiles, ::Ifc4x3_rc3::IfcCompositeProfileDef* v4_CompositeProfile) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_MaterialProfiles)->generalize());set_attribute_value(3, v4_CompositeProfile ? v4_CompositeProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcMaterialProfile >::ptr v3_MaterialProfiles, ::Ifc4x3_rc3::IfcCompositeProfileDef* v4_CompositeProfile) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_MaterialProfiles)->generalize());set_attribute_value(3, v4_CompositeProfile ? v4_CompositeProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialProfileSetUsage -::Ifc4x3_rc3::IfcMaterialProfileSet* Ifc4x3_rc3::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcMaterialProfileSet>(true); } +::Ifc4x3_rc3::IfcMaterialProfileSet* Ifc4x3_rc3::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcMaterialProfileSet>(true); } void Ifc4x3_rc3::IfcMaterialProfileSetUsage::setForProfileSet(::Ifc4x3_rc3::IfcMaterialProfileSet* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< int > Ifc4x3_rc3::IfcMaterialProfileSetUsage::CardinalPoint() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } int v = data_.get_attribute_value(1); return v; } +boost::optional< int > Ifc4x3_rc3::IfcMaterialProfileSetUsage::CardinalPoint() const { if(get_attribute_value(1).isNull()) { return boost::none; } int v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcMaterialProfileSetUsage::setCardinalPoint(boost::optional< int > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc3::IfcMaterialProfileSetUsage::ReferenceExtent() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc3::IfcMaterialProfileSetUsage::ReferenceExtent() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcMaterialProfileSetUsage::setReferenceExtent(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialProfileSetUsage::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[653]); } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialProfileSetUsage::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[653]); } Ifc4x3_rc3::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(IfcEntityInstanceData&& e) : IfcMaterialUsageDefinition(std::move(e)) { } -Ifc4x3_rc3::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4x3_rc3::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }; populate_derived(); } +Ifc4x3_rc3::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4x3_rc3::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }; populate_derived(); } // Function implementations for IfcMaterialProfileSetUsageTapering -::Ifc4x3_rc3::IfcMaterialProfileSet* Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcMaterialProfileSet>(true); } +::Ifc4x3_rc3::IfcMaterialProfileSet* Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcMaterialProfileSet>(true); } void Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering::setForProfileEndSet(::Ifc4x3_rc3::IfcMaterialProfileSet* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< int > Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[654]); } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[654]); } Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(IfcEntityInstanceData&& e) : IfcMaterialProfileSetUsage(std::move(e)) { } -Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(::Ifc4x3_rc3::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent, ::Ifc4x3_rc3::IfcMaterialProfileSet* v4_ForProfileEndSet, boost::optional< int > v5_CardinalEndPoint) : IfcMaterialProfileSetUsage(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, v4_ForProfileEndSet ? v4_ForProfileEndSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); }; populate_derived(); } +Ifc4x3_rc3::IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(::Ifc4x3_rc3::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent, ::Ifc4x3_rc3::IfcMaterialProfileSet* v4_ForProfileEndSet, boost::optional< int > v5_CardinalEndPoint) : IfcMaterialProfileSetUsage(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, v4_ForProfileEndSet ? v4_ForProfileEndSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); }; populate_derived(); } // Function implementations for IfcMaterialProfileWithOffsets -std::vector< double > /*[1:2]*/ Ifc4x3_rc3::IfcMaterialProfileWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = data_.get_attribute_value(6); return v; } +std::vector< double > /*[1:2]*/ Ifc4x3_rc3::IfcMaterialProfileWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcMaterialProfileWithOffsets::setOffsetValues(std::vector< double > /*[1:2]*/ v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialProfileWithOffsets::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[655]); } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialProfileWithOffsets::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[655]); } Ifc4x3_rc3::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(IfcEntityInstanceData&& e) : IfcMaterialProfile(std::move(e)) { } -Ifc4x3_rc3::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcMaterial* v3_Material, ::Ifc4x3_rc3::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) : IfcMaterialProfile(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues));; populate_derived(); } +Ifc4x3_rc3::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcMaterial* v3_Material, ::Ifc4x3_rc3::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) : IfcMaterialProfile(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues));; populate_derived(); } // Function implementations for IfcMaterialProperties -::Ifc4x3_rc3::IfcMaterialDefinition* Ifc4x3_rc3::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcMaterialDefinition>(true); } +::Ifc4x3_rc3::IfcMaterialDefinition* Ifc4x3_rc3::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcMaterialDefinition>(true); } void Ifc4x3_rc3::IfcMaterialProperties::setMaterial(::Ifc4x3_rc3::IfcMaterialDefinition* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[656]); } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[656]); } Ifc4x3_rc3::IfcMaterialProperties::IfcMaterialProperties(IfcEntityInstanceData&& e) : IfcExtendedProperties(std::move(e)) { } -Ifc4x3_rc3::IfcMaterialProperties::IfcMaterialProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcProperty >::ptr v3_Properties, ::Ifc4x3_rc3::IfcMaterialDefinition* v4_Material) : IfcExtendedProperties(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_Material ? v4_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcMaterialProperties::IfcMaterialProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcProperty >::ptr v3_Properties, ::Ifc4x3_rc3::IfcMaterialDefinition* v4_Material) : IfcExtendedProperties(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_Material ? v4_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialRelationship -::Ifc4x3_rc3::IfcMaterial* Ifc4x3_rc3::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcMaterial>(true); } +::Ifc4x3_rc3::IfcMaterial* Ifc4x3_rc3::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcMaterial>(true); } void Ifc4x3_rc3::IfcMaterialRelationship::setRelatingMaterial(::Ifc4x3_rc3::IfcMaterial* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_rc3::IfcMaterial >::ptr Ifc4x3_rc3::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc3::IfcMaterial >(); } +aggregate_of< ::Ifc4x3_rc3::IfcMaterial >::ptr Ifc4x3_rc3::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc3::IfcMaterial >(); } void Ifc4x3_rc3::IfcMaterialRelationship::setRelatedMaterials(aggregate_of< ::Ifc4x3_rc3::IfcMaterial >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc3::IfcMaterialRelationship::Expression() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcMaterialRelationship::Expression() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcMaterialRelationship::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[657]); } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[657]); } Ifc4x3_rc3::IfcMaterialRelationship::IfcMaterialRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_rc3::IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcMaterial* v3_RelatingMaterial, aggregate_of< ::Ifc4x3_rc3::IfcMaterial >::ptr v4_RelatedMaterials, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMaterial ? v3_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedMaterials)->generalize()); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } +Ifc4x3_rc3::IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcMaterial* v3_RelatingMaterial, aggregate_of< ::Ifc4x3_rc3::IfcMaterial >::ptr v4_RelatedMaterials, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMaterial ? v3_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedMaterials)->generalize()); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } // Function implementations for IfcMaterialUsageDefinition @@ -12693,77 +12693,77 @@ Ifc4x3_rc3::IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< st const IfcParse::entity& Ifc4x3_rc3::IfcMaterialUsageDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[659]); } const IfcParse::entity& Ifc4x3_rc3::IfcMaterialUsageDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[659]); } Ifc4x3_rc3::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc3::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcMeasureWithUnit -::Ifc4x3_rc3::IfcValue* Ifc4x3_rc3::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcValue>(true); } +::Ifc4x3_rc3::IfcValue* Ifc4x3_rc3::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcValue>(true); } void Ifc4x3_rc3::IfcMeasureWithUnit::setValueComponent(::Ifc4x3_rc3::IfcValue* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcUnit>(true); } +::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcUnit>(true); } void Ifc4x3_rc3::IfcMeasureWithUnit::setUnitComponent(::Ifc4x3_rc3::IfcUnit* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcMeasureWithUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[661]); } const IfcParse::entity& Ifc4x3_rc3::IfcMeasureWithUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[661]); } Ifc4x3_rc3::IfcMeasureWithUnit::IfcMeasureWithUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcMeasureWithUnit::IfcMeasureWithUnit(::Ifc4x3_rc3::IfcValue* v1_ValueComponent, ::Ifc4x3_rc3::IfcUnit* v2_UnitComponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_ValueComponent ? v1_ValueComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_UnitComponent ? v2_UnitComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcMeasureWithUnit::IfcMeasureWithUnit(::Ifc4x3_rc3::IfcValue* v1_ValueComponent, ::Ifc4x3_rc3::IfcUnit* v2_UnitComponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_ValueComponent ? v1_ValueComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_UnitComponent ? v2_UnitComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMechanicalFastener -boost::optional< double > Ifc4x3_rc3::IfcMechanicalFastener::NominalDiameter() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc3::IfcMechanicalFastener::NominalDiameter() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcMechanicalFastener::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_rc3::IfcMechanicalFastener::NominalLength() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc3::IfcMechanicalFastener::NominalLength() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc3::IfcMechanicalFastener::setNominalLength(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Value > Ifc4x3_rc3::IfcMechanicalFastener::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Value > Ifc4x3_rc3::IfcMechanicalFastener::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc3::IfcMechanicalFastener::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc3::IfcMechanicalFastener::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[662]); } const IfcParse::entity& Ifc4x3_rc3::IfcMechanicalFastener::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[662]); } Ifc4x3_rc3::IfcMechanicalFastener::IfcMechanicalFastener(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_rc3::IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength, boost::optional< ::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength, boost::optional< ::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMechanicalFastenerType -::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_rc3::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_rc3::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcMechanicalFastenerType::setPredefinedType(::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3_rc3::IfcMechanicalFastenerType::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc3::IfcMechanicalFastenerType::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcMechanicalFastenerType::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc3::IfcMechanicalFastenerType::NominalLength() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc3::IfcMechanicalFastenerType::NominalLength() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc3::IfcMechanicalFastenerType::setNominalLength(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x3_rc3::IfcMechanicalFastenerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[663]); } const IfcParse::entity& Ifc4x3_rc3::IfcMechanicalFastenerType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[663]); } Ifc4x3_rc3::IfcMechanicalFastenerType::IfcMechanicalFastenerType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_rc3::IfcMechanicalFastenerType::IfcMechanicalFastenerType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_NominalLength) : IfcElementComponentType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); }; populate_derived(); } +Ifc4x3_rc3::IfcMechanicalFastenerType::IfcMechanicalFastenerType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_NominalLength) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); }; populate_derived(); } // Function implementations for IfcMedicalDevice -boost::optional< ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value > Ifc4x3_rc3::IfcMedicalDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value > Ifc4x3_rc3::IfcMedicalDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcMedicalDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcMedicalDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[665]); } const IfcParse::entity& Ifc4x3_rc3::IfcMedicalDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[665]); } Ifc4x3_rc3::IfcMedicalDevice::IfcMedicalDevice(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc3::IfcMedicalDevice::IfcMedicalDevice(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcMedicalDevice::IfcMedicalDevice(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMedicalDeviceType -::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value Ifc4x3_rc3::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value Ifc4x3_rc3::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcMedicalDeviceType::setPredefinedType(::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcMedicalDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[666]); } const IfcParse::entity& Ifc4x3_rc3::IfcMedicalDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[666]); } Ifc4x3_rc3::IfcMedicalDeviceType::IfcMedicalDeviceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc3::IfcMedicalDeviceType::IfcMedicalDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcMedicalDeviceType::IfcMedicalDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMember -boost::optional< ::Ifc4x3_rc3::IfcMemberTypeEnum::Value > Ifc4x3_rc3::IfcMember::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcMemberTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcMemberTypeEnum::Value > Ifc4x3_rc3::IfcMember::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcMemberTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcMember::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcMemberTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcMemberTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcMember::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[668]); } const IfcParse::entity& Ifc4x3_rc3::IfcMember::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[668]); } Ifc4x3_rc3::IfcMember::IfcMember(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc3::IfcMember::IfcMember(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcMemberTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcMember::IfcMember(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcMemberTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMemberStandardCase @@ -12771,33 +12771,33 @@ Ifc4x3_rc3::IfcMember::IfcMember(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwner const IfcParse::entity& Ifc4x3_rc3::IfcMemberStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[669]); } const IfcParse::entity& Ifc4x3_rc3::IfcMemberStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[669]); } Ifc4x3_rc3::IfcMemberStandardCase::IfcMemberStandardCase(IfcEntityInstanceData&& e) : IfcMember(std::move(e)) { } -Ifc4x3_rc3::IfcMemberStandardCase::IfcMemberStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcMemberTypeEnum::Value > v9_PredefinedType) : IfcMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcMemberStandardCase::IfcMemberStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcMemberTypeEnum::Value > v9_PredefinedType) : IfcMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMemberType -::Ifc4x3_rc3::IfcMemberTypeEnum::Value Ifc4x3_rc3::IfcMemberType::PredefinedType() const { return ::Ifc4x3_rc3::IfcMemberTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcMemberTypeEnum::Value Ifc4x3_rc3::IfcMemberType::PredefinedType() const { return ::Ifc4x3_rc3::IfcMemberTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcMemberType::setPredefinedType(::Ifc4x3_rc3::IfcMemberTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcMemberType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[670]); } const IfcParse::entity& Ifc4x3_rc3::IfcMemberType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[670]); } Ifc4x3_rc3::IfcMemberType::IfcMemberType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc3::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMemberTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMemberTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMetric -::Ifc4x3_rc3::IfcBenchmarkEnum::Value Ifc4x3_rc3::IfcMetric::Benchmark() const { return ::Ifc4x3_rc3::IfcBenchmarkEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc3::IfcBenchmarkEnum::Value Ifc4x3_rc3::IfcMetric::Benchmark() const { return ::Ifc4x3_rc3::IfcBenchmarkEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc3::IfcMetric::setBenchmark(::Ifc4x3_rc3::IfcBenchmarkEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc3::IfcBenchmarkEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc4x3_rc3::IfcMetric::ValueSource() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcMetric::ValueSource() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcMetric::setValueSource(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_rc3::IfcMetricValueSelect* Ifc4x3_rc3::IfcMetric::DataValue() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc3::IfcMetricValueSelect>(true); } +::Ifc4x3_rc3::IfcMetricValueSelect* Ifc4x3_rc3::IfcMetric::DataValue() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc3::IfcMetricValueSelect>(true); } void Ifc4x3_rc3::IfcMetric::setDataValue(::Ifc4x3_rc3::IfcMetricValueSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc3::IfcReference* Ifc4x3_rc3::IfcMetric::ReferencePath() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_rc3::IfcReference>(true); } +::Ifc4x3_rc3::IfcReference* Ifc4x3_rc3::IfcMetric::ReferencePath() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_rc3::IfcReference>(true); } void Ifc4x3_rc3::IfcMetric::setReferencePath(::Ifc4x3_rc3::IfcReference* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_rc3::IfcMetric::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[672]); } const IfcParse::entity& Ifc4x3_rc3::IfcMetric::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[672]); } Ifc4x3_rc3::IfcMetric::IfcMetric(IfcEntityInstanceData&& e) : IfcConstraint(std::move(e)) { } -Ifc4x3_rc3::IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc3::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_rc3::IfcBenchmarkEnum::Value v8_Benchmark, boost::optional< std::string > v9_ValueSource, ::Ifc4x3_rc3::IfcMetricValueSelect* v10_DataValue, ::Ifc4x3_rc3::IfcReference* v11_ReferencePath) : IfcConstraint(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, v10_DataValue ? v10_DataValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ReferencePath ? v11_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc3::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_rc3::IfcBenchmarkEnum::Value v8_Benchmark, boost::optional< std::string > v9_ValueSource, ::Ifc4x3_rc3::IfcMetricValueSelect* v10_DataValue, ::Ifc4x3_rc3::IfcReference* v11_ReferencePath) : IfcConstraint(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, v10_DataValue ? v10_DataValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ReferencePath ? v11_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMirroredProfileDef @@ -12805,112 +12805,112 @@ Ifc4x3_rc3::IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::stri const IfcParse::entity& Ifc4x3_rc3::IfcMirroredProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[674]); } const IfcParse::entity& Ifc4x3_rc3::IfcMirroredProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[674]); } Ifc4x3_rc3::IfcMirroredProfileDef::IfcMirroredProfileDef(IfcEntityInstanceData&& e) : IfcDerivedProfileDef(std::move(e)) { } -Ifc4x3_rc3::IfcMirroredProfileDef::IfcMirroredProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcProfileDef* v3_ParentProfile, boost::optional< std::string > v5_Label) : IfcDerivedProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } +Ifc4x3_rc3::IfcMirroredProfileDef::IfcMirroredProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcProfileDef* v3_ParentProfile, boost::optional< std::string > v5_Label) : IfcDerivedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } // Function implementations for IfcMobileTelecommunicationsAppliance -boost::optional< ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value > Ifc4x3_rc3::IfcMobileTelecommunicationsAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value > Ifc4x3_rc3::IfcMobileTelecommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcMobileTelecommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcMobileTelecommunicationsAppliance::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[675]); } const IfcParse::entity& Ifc4x3_rc3::IfcMobileTelecommunicationsAppliance::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[675]); } Ifc4x3_rc3::IfcMobileTelecommunicationsAppliance::IfcMobileTelecommunicationsAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc3::IfcMobileTelecommunicationsAppliance::IfcMobileTelecommunicationsAppliance(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcMobileTelecommunicationsAppliance::IfcMobileTelecommunicationsAppliance(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMobileTelecommunicationsApplianceType -::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceType::setPredefinedType(::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[676]); } const IfcParse::entity& Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[676]); } Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceType::IfcMobileTelecommunicationsApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceType::IfcMobileTelecommunicationsApplianceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceType::IfcMobileTelecommunicationsApplianceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMonetaryUnit -std::string Ifc4x3_rc3::IfcMonetaryUnit::Currency() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc3::IfcMonetaryUnit::Currency() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcMonetaryUnit::setCurrency(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc3::IfcMonetaryUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[689]); } const IfcParse::entity& Ifc4x3_rc3::IfcMonetaryUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[689]); } Ifc4x3_rc3::IfcMonetaryUnit::IfcMonetaryUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcMonetaryUnit::IfcMonetaryUnit(std::string v1_Currency) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Currency));; populate_derived(); } +Ifc4x3_rc3::IfcMonetaryUnit::IfcMonetaryUnit(std::string v1_Currency) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Currency));; populate_derived(); } // Function implementations for IfcMooringDevice -boost::optional< ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value > Ifc4x3_rc3::IfcMooringDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value > Ifc4x3_rc3::IfcMooringDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcMooringDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcMooringDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[691]); } const IfcParse::entity& Ifc4x3_rc3::IfcMooringDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[691]); } Ifc4x3_rc3::IfcMooringDevice::IfcMooringDevice(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc3::IfcMooringDevice::IfcMooringDevice(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcMooringDevice::IfcMooringDevice(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMooringDeviceType -::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value Ifc4x3_rc3::IfcMooringDeviceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value Ifc4x3_rc3::IfcMooringDeviceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcMooringDeviceType::setPredefinedType(::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcMooringDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[692]); } const IfcParse::entity& Ifc4x3_rc3::IfcMooringDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[692]); } Ifc4x3_rc3::IfcMooringDeviceType::IfcMooringDeviceType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc3::IfcMooringDeviceType::IfcMooringDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcMooringDeviceType::IfcMooringDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcMooringDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMotorConnection -boost::optional< ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value > Ifc4x3_rc3::IfcMotorConnection::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value > Ifc4x3_rc3::IfcMotorConnection::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcMotorConnection::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcMotorConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[694]); } const IfcParse::entity& Ifc4x3_rc3::IfcMotorConnection::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[694]); } Ifc4x3_rc3::IfcMotorConnection::IfcMotorConnection(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc3::IfcMotorConnection::IfcMotorConnection(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcMotorConnection::IfcMotorConnection(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMotorConnectionType -::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value Ifc4x3_rc3::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value Ifc4x3_rc3::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcMotorConnectionType::setPredefinedType(::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcMotorConnectionType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[695]); } const IfcParse::entity& Ifc4x3_rc3::IfcMotorConnectionType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[695]); } Ifc4x3_rc3::IfcMotorConnectionType::IfcMotorConnectionType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc3::IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcNamedUnit -::Ifc4x3_rc3::IfcDimensionalExponents* Ifc4x3_rc3::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcDimensionalExponents>(true); } +::Ifc4x3_rc3::IfcDimensionalExponents* Ifc4x3_rc3::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcDimensionalExponents>(true); } void Ifc4x3_rc3::IfcNamedUnit::setDimensions(::Ifc4x3_rc3::IfcDimensionalExponents* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcUnitEnum::Value Ifc4x3_rc3::IfcNamedUnit::UnitType() const { return ::Ifc4x3_rc3::IfcUnitEnum::FromString(data_.get_attribute_value(1)); } +::Ifc4x3_rc3::IfcUnitEnum::Value Ifc4x3_rc3::IfcNamedUnit::UnitType() const { return ::Ifc4x3_rc3::IfcUnitEnum::FromString(get_attribute_value(1)); } void Ifc4x3_rc3::IfcNamedUnit::setUnitType(::Ifc4x3_rc3::IfcUnitEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x3_rc3::IfcUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcNamedUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[697]); } const IfcParse::entity& Ifc4x3_rc3::IfcNamedUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[697]); } Ifc4x3_rc3::IfcNamedUnit::IfcNamedUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcNamedUnit::IfcNamedUnit(::Ifc4x3_rc3::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc3::IfcUnitEnum::Value v2_UnitType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; populate_derived(); } +Ifc4x3_rc3::IfcNamedUnit::IfcNamedUnit(::Ifc4x3_rc3::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc3::IfcUnitEnum::Value v2_UnitType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc3::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; populate_derived(); } // Function implementations for IfcNavigationElement -boost::optional< ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value > Ifc4x3_rc3::IfcNavigationElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value > Ifc4x3_rc3::IfcNavigationElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcNavigationElement::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcNavigationElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[698]); } const IfcParse::entity& Ifc4x3_rc3::IfcNavigationElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[698]); } Ifc4x3_rc3::IfcNavigationElement::IfcNavigationElement(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc3::IfcNavigationElement::IfcNavigationElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcNavigationElement::IfcNavigationElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcNavigationElementType -::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value Ifc4x3_rc3::IfcNavigationElementType::PredefinedType() const { return ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value Ifc4x3_rc3::IfcNavigationElementType::PredefinedType() const { return ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcNavigationElementType::setPredefinedType(::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcNavigationElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[699]); } const IfcParse::entity& Ifc4x3_rc3::IfcNavigationElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[699]); } Ifc4x3_rc3::IfcNavigationElementType::IfcNavigationElementType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc3::IfcNavigationElementType::IfcNavigationElementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcNavigationElementType::IfcNavigationElementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcNavigationElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcObject -boost::optional< std::string > Ifc4x3_rc3::IfcObject::ObjectType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcObject::ObjectType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcObject::setObjectType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } ::Ifc4x3_rc3::IfcRelDefinesByObject::list::ptr Ifc4x3_rc3::IfcObject::IsDeclaredBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[938], 4)->as(); } @@ -12921,7 +12921,7 @@ void Ifc4x3_rc3::IfcObject::setObjectType(boost::optional< std::string > v) { if const IfcParse::entity& Ifc4x3_rc3::IfcObject::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[704]); } const IfcParse::entity& Ifc4x3_rc3::IfcObject::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[704]); } Ifc4x3_rc3::IfcObject::IfcObject(IfcEntityInstanceData&& e) : IfcObjectDefinition(std::move(e)) { } -Ifc4x3_rc3::IfcObject::IfcObject(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObjectDefinition(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc4x3_rc3::IfcObject::IfcObject(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObjectDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcObjectDefinition @@ -12936,10 +12936,10 @@ Ifc4x3_rc3::IfcObject::IfcObject(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwner const IfcParse::entity& Ifc4x3_rc3::IfcObjectDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[705]); } const IfcParse::entity& Ifc4x3_rc3::IfcObjectDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[705]); } Ifc4x3_rc3::IfcObjectDefinition::IfcObjectDefinition(IfcEntityInstanceData&& e) : IfcRoot(std::move(e)) { } -Ifc4x3_rc3::IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc3::IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcObjectPlacement -::Ifc4x3_rc3::IfcObjectPlacement* Ifc4x3_rc3::IfcObjectPlacement::PlacementRelTo() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcObjectPlacement>(true); } +::Ifc4x3_rc3::IfcObjectPlacement* Ifc4x3_rc3::IfcObjectPlacement::PlacementRelTo() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcObjectPlacement>(true); } void Ifc4x3_rc3::IfcObjectPlacement::setPlacementRelTo(::Ifc4x3_rc3::IfcObjectPlacement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_rc3::IfcProduct::list::ptr Ifc4x3_rc3::IfcObjectPlacement::PlacesObject() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[808], 5)->as(); } @@ -12947,97 +12947,97 @@ void Ifc4x3_rc3::IfcObjectPlacement::setPlacementRelTo(::Ifc4x3_rc3::IfcObjectPl const IfcParse::entity& Ifc4x3_rc3::IfcObjectPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[708]); } const IfcParse::entity& Ifc4x3_rc3::IfcObjectPlacement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[708]); } Ifc4x3_rc3::IfcObjectPlacement::IfcObjectPlacement(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcObjectPlacement::IfcObjectPlacement(::Ifc4x3_rc3::IfcObjectPlacement* v1_PlacementRelTo) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcObjectPlacement::IfcObjectPlacement(::Ifc4x3_rc3::IfcObjectPlacement* v1_PlacementRelTo) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcObjective -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcConstraint >::ptr > Ifc4x3_rc3::IfcObjective::BenchmarkValues() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc3::IfcConstraint >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcConstraint >::ptr > Ifc4x3_rc3::IfcObjective::BenchmarkValues() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc3::IfcConstraint >(); } void Ifc4x3_rc3::IfcObjective::setBenchmarkValues(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcConstraint >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3_rc3::IfcLogicalOperatorEnum::Value > Ifc4x3_rc3::IfcObjective::LogicalAggregator() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcLogicalOperatorEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcLogicalOperatorEnum::Value > Ifc4x3_rc3::IfcObjective::LogicalAggregator() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcLogicalOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcObjective::setLogicalAggregator(boost::optional< ::Ifc4x3_rc3::IfcLogicalOperatorEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcLogicalOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -::Ifc4x3_rc3::IfcObjectiveEnum::Value Ifc4x3_rc3::IfcObjective::ObjectiveQualifier() const { return ::Ifc4x3_rc3::IfcObjectiveEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcObjectiveEnum::Value Ifc4x3_rc3::IfcObjective::ObjectiveQualifier() const { return ::Ifc4x3_rc3::IfcObjectiveEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcObjective::setObjectiveQualifier(::Ifc4x3_rc3::IfcObjectiveEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcObjectiveEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3_rc3::IfcObjective::UserDefinedQualifier() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcObjective::UserDefinedQualifier() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcObjective::setUserDefinedQualifier(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc3::IfcObjective::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[706]); } const IfcParse::entity& Ifc4x3_rc3::IfcObjective::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[706]); } Ifc4x3_rc3::IfcObjective::IfcObjective(IfcEntityInstanceData&& e) : IfcConstraint(std::move(e)) { } -Ifc4x3_rc3::IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc3::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcConstraint >::ptr > v8_BenchmarkValues, boost::optional< ::Ifc4x3_rc3::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_rc3::IfcObjectiveEnum::Value v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier) : IfcConstraint(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, (*v8_BenchmarkValues)->generalize()); } if (v9_LogicalAggregator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; populate_derived(); } +Ifc4x3_rc3::IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_rc3::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcConstraint >::ptr > v8_BenchmarkValues, boost::optional< ::Ifc4x3_rc3::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_rc3::IfcObjectiveEnum::Value v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier) : IfcConstraint(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc3::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, (*v8_BenchmarkValues)->generalize()); } if (v9_LogicalAggregator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; populate_derived(); } // Function implementations for IfcOccupant -boost::optional< ::Ifc4x3_rc3::IfcOccupantTypeEnum::Value > Ifc4x3_rc3::IfcOccupant::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcOccupantTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_rc3::IfcOccupantTypeEnum::Value > Ifc4x3_rc3::IfcOccupant::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcOccupantTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_rc3::IfcOccupant::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcOccupantTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_rc3::IfcOccupantTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc3::IfcOccupant::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[711]); } const IfcParse::entity& Ifc4x3_rc3::IfcOccupant::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[711]); } Ifc4x3_rc3::IfcOccupant::IfcOccupant(IfcEntityInstanceData&& e) : IfcActor(std::move(e)) { } -Ifc4x3_rc3::IfcOccupant::IfcOccupant(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcActorSelect* v6_TheActor, boost::optional< ::Ifc4x3_rc3::IfcOccupantTypeEnum::Value > v7_PredefinedType) : IfcActor(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc3::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcOccupant::IfcOccupant(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcActorSelect* v6_TheActor, boost::optional< ::Ifc4x3_rc3::IfcOccupantTypeEnum::Value > v7_PredefinedType) : IfcActor(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc3::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOffsetCurve -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcOffsetCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCurve>(true); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcOffsetCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcOffsetCurve::setBasisCurve(::Ifc4x3_rc3::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc3::IfcOffsetCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[713]); } const IfcParse::entity& Ifc4x3_rc3::IfcOffsetCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[713]); } Ifc4x3_rc3::IfcOffsetCurve::IfcOffsetCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_rc3::IfcOffsetCurve::IfcOffsetCurve(::Ifc4x3_rc3::IfcCurve* v1_BasisCurve) : IfcCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcOffsetCurve::IfcOffsetCurve(::Ifc4x3_rc3::IfcCurve* v1_BasisCurve) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcOffsetCurve2D -double Ifc4x3_rc3::IfcOffsetCurve2D::Distance() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc3::IfcOffsetCurve2D::Distance() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcOffsetCurve2D::setDistance(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::logic::tribool Ifc4x3_rc3::IfcOffsetCurve2D::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::logic::tribool Ifc4x3_rc3::IfcOffsetCurve2D::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcOffsetCurve2D::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcOffsetCurve2D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[714]); } const IfcParse::entity& Ifc4x3_rc3::IfcOffsetCurve2D::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[714]); } Ifc4x3_rc3::IfcOffsetCurve2D::IfcOffsetCurve2D(IfcEntityInstanceData&& e) : IfcOffsetCurve(std::move(e)) { } -Ifc4x3_rc3::IfcOffsetCurve2D::IfcOffsetCurve2D(::Ifc4x3_rc3::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) : IfcOffsetCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; populate_derived(); } +Ifc4x3_rc3::IfcOffsetCurve2D::IfcOffsetCurve2D(::Ifc4x3_rc3::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) : IfcOffsetCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; populate_derived(); } // Function implementations for IfcOffsetCurve3D -double Ifc4x3_rc3::IfcOffsetCurve3D::Distance() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc3::IfcOffsetCurve3D::Distance() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcOffsetCurve3D::setDistance(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::logic::tribool Ifc4x3_rc3::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::logic::tribool Ifc4x3_rc3::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcOffsetCurve3D::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcDirection>(true); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcOffsetCurve3D::setRefDirection(::Ifc4x3_rc3::IfcDirection* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcOffsetCurve3D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[715]); } const IfcParse::entity& Ifc4x3_rc3::IfcOffsetCurve3D::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[715]); } Ifc4x3_rc3::IfcOffsetCurve3D::IfcOffsetCurve3D(IfcEntityInstanceData&& e) : IfcOffsetCurve(std::move(e)) { } -Ifc4x3_rc3::IfcOffsetCurve3D::IfcOffsetCurve3D(::Ifc4x3_rc3::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_rc3::IfcDirection* v4_RefDirection) : IfcOffsetCurve(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, v4_RefDirection ? v4_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcOffsetCurve3D::IfcOffsetCurve3D(::Ifc4x3_rc3::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_rc3::IfcDirection* v4_RefDirection) : IfcOffsetCurve(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, v4_RefDirection ? v4_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcOffsetCurveByDistances -aggregate_of< ::Ifc4x3_rc3::IfcPointByDistanceExpression >::ptr Ifc4x3_rc3::IfcOffsetCurveByDistances::OffsetValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcPointByDistanceExpression >(); } +aggregate_of< ::Ifc4x3_rc3::IfcPointByDistanceExpression >::ptr Ifc4x3_rc3::IfcOffsetCurveByDistances::OffsetValues() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcPointByDistanceExpression >(); } void Ifc4x3_rc3::IfcOffsetCurveByDistances::setOffsetValues(aggregate_of< ::Ifc4x3_rc3::IfcPointByDistanceExpression >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_rc3::IfcOffsetCurveByDistances::Tag() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcOffsetCurveByDistances::Tag() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcOffsetCurveByDistances::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc3::IfcOffsetCurveByDistances::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[716]); } const IfcParse::entity& Ifc4x3_rc3::IfcOffsetCurveByDistances::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[716]); } Ifc4x3_rc3::IfcOffsetCurveByDistances::IfcOffsetCurveByDistances(IfcEntityInstanceData&& e) : IfcOffsetCurve(std::move(e)) { } -Ifc4x3_rc3::IfcOffsetCurveByDistances::IfcOffsetCurveByDistances(::Ifc4x3_rc3::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_rc3::IfcPointByDistanceExpression >::ptr v2_OffsetValues, boost::optional< std::string > v3_Tag) : IfcOffsetCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_OffsetValues)->generalize()); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; populate_derived(); } +Ifc4x3_rc3::IfcOffsetCurveByDistances::IfcOffsetCurveByDistances(::Ifc4x3_rc3::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_rc3::IfcPointByDistanceExpression >::ptr v2_OffsetValues, boost::optional< std::string > v3_Tag) : IfcOffsetCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_OffsetValues)->generalize()); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; populate_derived(); } // Function implementations for IfcOpenCrossProfileDef -bool Ifc4x3_rc3::IfcOpenCrossProfileDef::HorizontalWidths() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x3_rc3::IfcOpenCrossProfileDef::HorizontalWidths() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcOpenCrossProfileDef::setHorizontalWidths(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< double > /*[1:?]*/ Ifc4x3_rc3::IfcOpenCrossProfileDef::Widths() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +std::vector< double > /*[1:?]*/ Ifc4x3_rc3::IfcOpenCrossProfileDef::Widths() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcOpenCrossProfileDef::setWidths(std::vector< double > /*[1:?]*/ v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -std::vector< double > /*[1:?]*/ Ifc4x3_rc3::IfcOpenCrossProfileDef::Slopes() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +std::vector< double > /*[1:?]*/ Ifc4x3_rc3::IfcOpenCrossProfileDef::Slopes() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcOpenCrossProfileDef::setSlopes(std::vector< double > /*[1:?]*/ v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< std::vector< std::string > /*[2:?]*/ > Ifc4x3_rc3::IfcOpenCrossProfileDef::Tags() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[2:?]*/ v = data_.get_attribute_value(5); return v; } +boost::optional< std::vector< std::string > /*[2:?]*/ > Ifc4x3_rc3::IfcOpenCrossProfileDef::Tags() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[2:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcOpenCrossProfileDef::setTags(boost::optional< std::vector< std::string > /*[2:?]*/ > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_rc3::IfcOpenCrossProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[717]); } const IfcParse::entity& Ifc4x3_rc3::IfcOpenCrossProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[717]); } Ifc4x3_rc3::IfcOpenCrossProfileDef::IfcOpenCrossProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_rc3::IfcOpenCrossProfileDef::IfcOpenCrossProfileDef(::Ifc4x3_rc3::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) : IfcProfileDef(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_HorizontalWidths));set_attribute_value(3, (v4_Widths));set_attribute_value(4, (v5_Slopes)); if (v6_Tags) {set_attribute_value(5, (*v6_Tags)); }; populate_derived(); } +Ifc4x3_rc3::IfcOpenCrossProfileDef::IfcOpenCrossProfileDef(::Ifc4x3_rc3::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) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_HorizontalWidths));set_attribute_value(3, (v4_Widths));set_attribute_value(4, (v5_Slopes)); if (v6_Tags) {set_attribute_value(5, (*v6_Tags)); }; populate_derived(); } // Function implementations for IfcOpenShell @@ -13045,10 +13045,10 @@ Ifc4x3_rc3::IfcOpenCrossProfileDef::IfcOpenCrossProfileDef(::Ifc4x3_rc3::IfcProf const IfcParse::entity& Ifc4x3_rc3::IfcOpenShell::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[721]); } const IfcParse::entity& Ifc4x3_rc3::IfcOpenShell::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[721]); } Ifc4x3_rc3::IfcOpenShell::IfcOpenShell(IfcEntityInstanceData&& e) : IfcConnectedFaceSet(std::move(e)) { } -Ifc4x3_rc3::IfcOpenShell::IfcOpenShell(aggregate_of< ::Ifc4x3_rc3::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcOpenShell::IfcOpenShell(aggregate_of< ::Ifc4x3_rc3::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcOpeningElement -boost::optional< ::Ifc4x3_rc3::IfcOpeningElementTypeEnum::Value > Ifc4x3_rc3::IfcOpeningElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcOpeningElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcOpeningElementTypeEnum::Value > Ifc4x3_rc3::IfcOpeningElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcOpeningElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcOpeningElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcOpeningElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x3_rc3::IfcRelFillsElement::list::ptr Ifc4x3_rc3::IfcOpeningElement::HasFillings() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[942], 4)->as(); } @@ -13056,7 +13056,7 @@ void Ifc4x3_rc3::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4x3_ const IfcParse::entity& Ifc4x3_rc3::IfcOpeningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[718]); } const IfcParse::entity& Ifc4x3_rc3::IfcOpeningElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[718]); } Ifc4x3_rc3::IfcOpeningElement::IfcOpeningElement(IfcEntityInstanceData&& e) : IfcFeatureElementSubtraction(std::move(e)) { } -Ifc4x3_rc3::IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOpeningStandardCase @@ -13064,18 +13064,18 @@ Ifc4x3_rc3::IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3_rc3::IfcOpeningStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[720]); } const IfcParse::entity& Ifc4x3_rc3::IfcOpeningStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[720]); } Ifc4x3_rc3::IfcOpeningStandardCase::IfcOpeningStandardCase(IfcEntityInstanceData&& e) : IfcOpeningElement(std::move(e)) { } -Ifc4x3_rc3::IfcOpeningStandardCase::IfcOpeningStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) : IfcOpeningElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcOpeningStandardCase::IfcOpeningStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) : IfcOpeningElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOrganization -boost::optional< std::string > Ifc4x3_rc3::IfcOrganization::Identification() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcOrganization::Identification() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcOrganization::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -std::string Ifc4x3_rc3::IfcOrganization::Name() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_rc3::IfcOrganization::Name() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcOrganization::setName(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_rc3::IfcOrganization::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcOrganization::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcOrganization::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorRole >::ptr > Ifc4x3_rc3::IfcOrganization::Roles() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc3::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorRole >::ptr > Ifc4x3_rc3::IfcOrganization::Roles() const { if(get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc3::IfcActorRole >(); } void Ifc4x3_rc3::IfcOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(3, (*v)->generalize());} else {unset_attribute_value(3);} } -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAddress >::ptr > Ifc4x3_rc3::IfcOrganization::Addresses() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc3::IfcAddress >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAddress >::ptr > Ifc4x3_rc3::IfcOrganization::Addresses() const { if(get_attribute_value(4).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc3::IfcAddress >(); } void Ifc4x3_rc3::IfcOrganization::setAddresses(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAddress >::ptr > v) { if (v) {set_attribute_value(4, (*v)->generalize());} else {unset_attribute_value(4);} } ::Ifc4x3_rc3::IfcOrganizationRelationship::list::ptr Ifc4x3_rc3::IfcOrganization::IsRelatedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[723], 3)->as(); } @@ -13085,31 +13085,31 @@ void Ifc4x3_rc3::IfcOrganization::setAddresses(boost::optional< aggregate_of< :: const IfcParse::entity& Ifc4x3_rc3::IfcOrganization::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[722]); } const IfcParse::entity& Ifc4x3_rc3::IfcOrganization::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[722]); } Ifc4x3_rc3::IfcOrganization::IfcOrganization(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcOrganization::IfcOrganization(boost::optional< std::string > v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorRole >::ptr > v4_Roles, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAddress >::ptr > v5_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, (*v4_Roles)->generalize()); } if (v5_Addresses) {set_attribute_value(4, (*v5_Addresses)->generalize()); }; populate_derived(); } +Ifc4x3_rc3::IfcOrganization::IfcOrganization(boost::optional< std::string > v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorRole >::ptr > v4_Roles, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAddress >::ptr > v5_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, (*v4_Roles)->generalize()); } if (v5_Addresses) {set_attribute_value(4, (*v5_Addresses)->generalize()); }; populate_derived(); } // Function implementations for IfcOrganizationRelationship -::Ifc4x3_rc3::IfcOrganization* Ifc4x3_rc3::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcOrganization>(true); } +::Ifc4x3_rc3::IfcOrganization* Ifc4x3_rc3::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcOrganization>(true); } void Ifc4x3_rc3::IfcOrganizationRelationship::setRelatingOrganization(::Ifc4x3_rc3::IfcOrganization* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_rc3::IfcOrganization >::ptr Ifc4x3_rc3::IfcOrganizationRelationship::RelatedOrganizations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc3::IfcOrganization >(); } +aggregate_of< ::Ifc4x3_rc3::IfcOrganization >::ptr Ifc4x3_rc3::IfcOrganizationRelationship::RelatedOrganizations() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc3::IfcOrganization >(); } void Ifc4x3_rc3::IfcOrganizationRelationship::setRelatedOrganizations(aggregate_of< ::Ifc4x3_rc3::IfcOrganization >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcOrganizationRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[723]); } const IfcParse::entity& Ifc4x3_rc3::IfcOrganizationRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[723]); } Ifc4x3_rc3::IfcOrganizationRelationship::IfcOrganizationRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_rc3::IfcOrganizationRelationship::IfcOrganizationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcOrganization* v3_RelatingOrganization, aggregate_of< ::Ifc4x3_rc3::IfcOrganization >::ptr v4_RelatedOrganizations) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingOrganization ? v3_RelatingOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedOrganizations)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcOrganizationRelationship::IfcOrganizationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcOrganization* v3_RelatingOrganization, aggregate_of< ::Ifc4x3_rc3::IfcOrganization >::ptr v4_RelatedOrganizations) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingOrganization ? v3_RelatingOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedOrganizations)->generalize());; populate_derived(); } // Function implementations for IfcOrientedEdge -::Ifc4x3_rc3::IfcEdge* Ifc4x3_rc3::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcEdge>(true); } +::Ifc4x3_rc3::IfcEdge* Ifc4x3_rc3::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcEdge>(true); } void Ifc4x3_rc3::IfcOrientedEdge::setEdgeElement(::Ifc4x3_rc3::IfcEdge* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x3_rc3::IfcOrientedEdge::Orientation() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x3_rc3::IfcOrientedEdge::Orientation() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcOrientedEdge::setOrientation(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcOrientedEdge::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[724]); } const IfcParse::entity& Ifc4x3_rc3::IfcOrientedEdge::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[724]); } Ifc4x3_rc3::IfcOrientedEdge::IfcOrientedEdge(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc4x3_rc3::IfcOrientedEdge::IfcOrientedEdge(::Ifc4x3_rc3::IfcEdge* v3_EdgeElement, bool v4_Orientation) : IfcEdge(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(2, v3_EdgeElement ? v3_EdgeElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Orientation));; populate_derived(); } +Ifc4x3_rc3::IfcOrientedEdge::IfcOrientedEdge(::Ifc4x3_rc3::IfcEdge* v3_EdgeElement, bool v4_Orientation) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(2, v3_EdgeElement ? v3_EdgeElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Orientation));; populate_derived(); } // Function implementations for IfcOuterBoundaryCurve @@ -13117,164 +13117,164 @@ Ifc4x3_rc3::IfcOrientedEdge::IfcOrientedEdge(::Ifc4x3_rc3::IfcEdge* v3_EdgeEleme const IfcParse::entity& Ifc4x3_rc3::IfcOuterBoundaryCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[725]); } const IfcParse::entity& Ifc4x3_rc3::IfcOuterBoundaryCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[725]); } Ifc4x3_rc3::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(IfcEntityInstanceData&& e) : IfcBoundaryCurve(std::move(e)) { } -Ifc4x3_rc3::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(aggregate_of< ::Ifc4x3_rc3::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundaryCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x3_rc3::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(aggregate_of< ::Ifc4x3_rc3::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundaryCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcOutlet -boost::optional< ::Ifc4x3_rc3::IfcOutletTypeEnum::Value > Ifc4x3_rc3::IfcOutlet::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcOutletTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcOutletTypeEnum::Value > Ifc4x3_rc3::IfcOutlet::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcOutletTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcOutlet::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcOutletTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcOutletTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcOutlet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[726]); } const IfcParse::entity& Ifc4x3_rc3::IfcOutlet::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[726]); } Ifc4x3_rc3::IfcOutlet::IfcOutlet(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc3::IfcOutlet::IfcOutlet(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcOutletTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcOutlet::IfcOutlet(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcOutletTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOutletType -::Ifc4x3_rc3::IfcOutletTypeEnum::Value Ifc4x3_rc3::IfcOutletType::PredefinedType() const { return ::Ifc4x3_rc3::IfcOutletTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcOutletTypeEnum::Value Ifc4x3_rc3::IfcOutletType::PredefinedType() const { return ::Ifc4x3_rc3::IfcOutletTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcOutletType::setPredefinedType(::Ifc4x3_rc3::IfcOutletTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcOutletTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcOutletType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[727]); } const IfcParse::entity& Ifc4x3_rc3::IfcOutletType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[727]); } Ifc4x3_rc3::IfcOutletType::IfcOutletType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc3::IfcOutletType::IfcOutletType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcOutletTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcOutletType::IfcOutletType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcOutletTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcOwnerHistory -::Ifc4x3_rc3::IfcPersonAndOrganization* Ifc4x3_rc3::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcPersonAndOrganization>(true); } +::Ifc4x3_rc3::IfcPersonAndOrganization* Ifc4x3_rc3::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcPersonAndOrganization>(true); } void Ifc4x3_rc3::IfcOwnerHistory::setOwningUser(::Ifc4x3_rc3::IfcPersonAndOrganization* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcApplication* Ifc4x3_rc3::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcApplication>(true); } +::Ifc4x3_rc3::IfcApplication* Ifc4x3_rc3::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcApplication>(true); } void Ifc4x3_rc3::IfcOwnerHistory::setOwningApplication(::Ifc4x3_rc3::IfcApplication* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< ::Ifc4x3_rc3::IfcStateEnum::Value > Ifc4x3_rc3::IfcOwnerHistory::State() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcStateEnum::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc4x3_rc3::IfcStateEnum::Value > Ifc4x3_rc3::IfcOwnerHistory::State() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcStateEnum::FromString(get_attribute_value(2)); } void Ifc4x3_rc3::IfcOwnerHistory::setState(boost::optional< ::Ifc4x3_rc3::IfcStateEnum::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc4x3_rc3::IfcStateEnum::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -boost::optional< ::Ifc4x3_rc3::IfcChangeActionEnum::Value > Ifc4x3_rc3::IfcOwnerHistory::ChangeAction() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcChangeActionEnum::FromString(data_.get_attribute_value(3)); } +boost::optional< ::Ifc4x3_rc3::IfcChangeActionEnum::Value > Ifc4x3_rc3::IfcOwnerHistory::ChangeAction() const { if(get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcChangeActionEnum::FromString(get_attribute_value(3)); } void Ifc4x3_rc3::IfcOwnerHistory::setChangeAction(boost::optional< ::Ifc4x3_rc3::IfcChangeActionEnum::Value > v) { if (v) {set_attribute_value(3, EnumerationReference(&::Ifc4x3_rc3::IfcChangeActionEnum::Class(), (size_t) *v));} else {unset_attribute_value(3);} } -boost::optional< int > Ifc4x3_rc3::IfcOwnerHistory::LastModifiedDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x3_rc3::IfcOwnerHistory::LastModifiedDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc3::IfcPersonAndOrganization* Ifc4x3_rc3::IfcOwnerHistory::LastModifyingUser() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcPersonAndOrganization>(true); } +::Ifc4x3_rc3::IfcPersonAndOrganization* Ifc4x3_rc3::IfcOwnerHistory::LastModifyingUser() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcPersonAndOrganization>(true); } void Ifc4x3_rc3::IfcOwnerHistory::setLastModifyingUser(::Ifc4x3_rc3::IfcPersonAndOrganization* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc3::IfcApplication* Ifc4x3_rc3::IfcOwnerHistory::LastModifyingApplication() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcApplication>(true); } +::Ifc4x3_rc3::IfcApplication* Ifc4x3_rc3::IfcOwnerHistory::LastModifyingApplication() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcApplication>(true); } void Ifc4x3_rc3::IfcOwnerHistory::setLastModifyingApplication(::Ifc4x3_rc3::IfcApplication* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -int Ifc4x3_rc3::IfcOwnerHistory::CreationDate() const { int v = data_.get_attribute_value(7); return v; } +int Ifc4x3_rc3::IfcOwnerHistory::CreationDate() const { int v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcOwnerHistory::setCreationDate(int v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc3::IfcOwnerHistory::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[729]); } const IfcParse::entity& Ifc4x3_rc3::IfcOwnerHistory::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[729]); } Ifc4x3_rc3::IfcOwnerHistory::IfcOwnerHistory(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcOwnerHistory::IfcOwnerHistory(::Ifc4x3_rc3::IfcPersonAndOrganization* v1_OwningUser, ::Ifc4x3_rc3::IfcApplication* v2_OwningApplication, boost::optional< ::Ifc4x3_rc3::IfcStateEnum::Value > v3_State, boost::optional< ::Ifc4x3_rc3::IfcChangeActionEnum::Value > v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, ::Ifc4x3_rc3::IfcPersonAndOrganization* v6_LastModifyingUser, ::Ifc4x3_rc3::IfcApplication* v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, v1_OwningUser ? v1_OwningUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OwningApplication ? v2_OwningApplication->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_State) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc3::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc3::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, v6_LastModifyingUser ? v6_LastModifyingUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_LastModifyingApplication ? v7_LastModifyingApplication->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_CreationDate));; populate_derived(); } +Ifc4x3_rc3::IfcOwnerHistory::IfcOwnerHistory(::Ifc4x3_rc3::IfcPersonAndOrganization* v1_OwningUser, ::Ifc4x3_rc3::IfcApplication* v2_OwningApplication, boost::optional< ::Ifc4x3_rc3::IfcStateEnum::Value > v3_State, boost::optional< ::Ifc4x3_rc3::IfcChangeActionEnum::Value > v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, ::Ifc4x3_rc3::IfcPersonAndOrganization* v6_LastModifyingUser, ::Ifc4x3_rc3::IfcApplication* v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, v1_OwningUser ? v1_OwningUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OwningApplication ? v2_OwningApplication->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_State) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc3::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc3::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, v6_LastModifyingUser ? v6_LastModifyingUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_LastModifyingApplication ? v7_LastModifyingApplication->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_CreationDate));; populate_derived(); } // Function implementations for IfcParameterizedProfileDef -::Ifc4x3_rc3::IfcAxis2Placement2D* Ifc4x3_rc3::IfcParameterizedProfileDef::Position() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcAxis2Placement2D>(true); } +::Ifc4x3_rc3::IfcAxis2Placement2D* Ifc4x3_rc3::IfcParameterizedProfileDef::Position() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcAxis2Placement2D>(true); } void Ifc4x3_rc3::IfcParameterizedProfileDef::setPosition(::Ifc4x3_rc3::IfcAxis2Placement2D* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcParameterizedProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[730]); } const IfcParse::entity& Ifc4x3_rc3::IfcParameterizedProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[730]); } Ifc4x3_rc3::IfcParameterizedProfileDef::IfcParameterizedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_rc3::IfcParameterizedProfileDef::IfcParameterizedProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D* v3_Position) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcParameterizedProfileDef::IfcParameterizedProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D* v3_Position) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPath -aggregate_of< ::Ifc4x3_rc3::IfcOrientedEdge >::ptr Ifc4x3_rc3::IfcPath::EdgeList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcOrientedEdge >(); } +aggregate_of< ::Ifc4x3_rc3::IfcOrientedEdge >::ptr Ifc4x3_rc3::IfcPath::EdgeList() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcOrientedEdge >(); } void Ifc4x3_rc3::IfcPath::setEdgeList(aggregate_of< ::Ifc4x3_rc3::IfcOrientedEdge >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc3::IfcPath::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[732]); } const IfcParse::entity& Ifc4x3_rc3::IfcPath::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[732]); } Ifc4x3_rc3::IfcPath::IfcPath(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcPath::IfcPath(aggregate_of< ::Ifc4x3_rc3::IfcOrientedEdge >::ptr v1_EdgeList) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcPath::IfcPath(aggregate_of< ::Ifc4x3_rc3::IfcOrientedEdge >::ptr v1_EdgeList) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } // Function implementations for IfcPavement -boost::optional< ::Ifc4x3_rc3::IfcPavementTypeEnum::Value > Ifc4x3_rc3::IfcPavement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcPavementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcPavementTypeEnum::Value > Ifc4x3_rc3::IfcPavement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcPavementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcPavement::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcPavementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcPavementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcPavement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[733]); } const IfcParse::entity& Ifc4x3_rc3::IfcPavement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[733]); } Ifc4x3_rc3::IfcPavement::IfcPavement(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc3::IfcPavement::IfcPavement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcPavementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcPavementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcPavement::IfcPavement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcPavementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcPavementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPavementType -::Ifc4x3_rc3::IfcPavementTypeEnum::Value Ifc4x3_rc3::IfcPavementType::PredefinedType() const { return ::Ifc4x3_rc3::IfcPavementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcPavementTypeEnum::Value Ifc4x3_rc3::IfcPavementType::PredefinedType() const { return ::Ifc4x3_rc3::IfcPavementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcPavementType::setPredefinedType(::Ifc4x3_rc3::IfcPavementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcPavementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcPavementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[734]); } const IfcParse::entity& Ifc4x3_rc3::IfcPavementType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[734]); } Ifc4x3_rc3::IfcPavementType::IfcPavementType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc3::IfcPavementType::IfcPavementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPavementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcPavementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcPavementType::IfcPavementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPavementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcPavementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPcurve -::Ifc4x3_rc3::IfcSurface* Ifc4x3_rc3::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcSurface>(true); } +::Ifc4x3_rc3::IfcSurface* Ifc4x3_rc3::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcSurface>(true); } void Ifc4x3_rc3::IfcPcurve::setBasisSurface(::Ifc4x3_rc3::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcCurve>(true); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcPcurve::setReferenceCurve(::Ifc4x3_rc3::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcPcurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[736]); } const IfcParse::entity& Ifc4x3_rc3::IfcPcurve::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[736]); } Ifc4x3_rc3::IfcPcurve::IfcPcurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_rc3::IfcPcurve::IfcPcurve(::Ifc4x3_rc3::IfcSurface* v1_BasisSurface, ::Ifc4x3_rc3::IfcCurve* v2_ReferenceCurve) : IfcCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_ReferenceCurve ? v2_ReferenceCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcPcurve::IfcPcurve(::Ifc4x3_rc3::IfcSurface* v1_BasisSurface, ::Ifc4x3_rc3::IfcCurve* v2_ReferenceCurve) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_ReferenceCurve ? v2_ReferenceCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPerformanceHistory -std::string Ifc4x3_rc3::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = data_.get_attribute_value(6); return v; } +std::string Ifc4x3_rc3::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcPerformanceHistory::setLifeCyclePhase(std::string v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< ::Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::Value > Ifc4x3_rc3::IfcPerformanceHistory::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::Value > Ifc4x3_rc3::IfcPerformanceHistory::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc3::IfcPerformanceHistory::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc3::IfcPerformanceHistory::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[737]); } const IfcParse::entity& Ifc4x3_rc3::IfcPerformanceHistory::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[737]); } Ifc4x3_rc3::IfcPerformanceHistory::IfcPerformanceHistory(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_rc3::IfcPerformanceHistory::IfcPerformanceHistory(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, boost::optional< ::Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) : IfcControl(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcPerformanceHistory::IfcPerformanceHistory(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_LifeCyclePhase, boost::optional< ::Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPermeableCoveringProperties -::Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::Value Ifc4x3_rc3::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::Value Ifc4x3_rc3::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::FromString(get_attribute_value(4)); } void Ifc4x3_rc3::IfcPermeableCoveringProperties::setOperationType(::Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcWindowPanelPositionEnum::Value Ifc4x3_rc3::IfcPermeableCoveringProperties::PanelPosition() const { return ::Ifc4x3_rc3::IfcWindowPanelPositionEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_rc3::IfcWindowPanelPositionEnum::Value Ifc4x3_rc3::IfcPermeableCoveringProperties::PanelPosition() const { return ::Ifc4x3_rc3::IfcWindowPanelPositionEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc3::IfcPermeableCoveringProperties::setPanelPosition(::Ifc4x3_rc3::IfcWindowPanelPositionEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc3::IfcWindowPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_rc3::IfcPermeableCoveringProperties::FrameDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc3::IfcPermeableCoveringProperties::FrameDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_rc3::IfcPermeableCoveringProperties::FrameThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc3::IfcPermeableCoveringProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc3::IfcShapeAspect* Ifc4x3_rc3::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc3::IfcShapeAspect>(true); } +::Ifc4x3_rc3::IfcShapeAspect* Ifc4x3_rc3::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc3::IfcShapeAspect>(true); } void Ifc4x3_rc3::IfcPermeableCoveringProperties::setShapeAspectStyle(::Ifc4x3_rc3::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc3::IfcPermeableCoveringProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[740]); } const IfcParse::entity& Ifc4x3_rc3::IfcPermeableCoveringProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[740]); } Ifc4x3_rc3::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_rc3::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_rc3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x3_rc3::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_rc3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x3_rc3::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc3::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPermit -boost::optional< ::Ifc4x3_rc3::IfcPermitTypeEnum::Value > Ifc4x3_rc3::IfcPermit::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcPermitTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_rc3::IfcPermitTypeEnum::Value > Ifc4x3_rc3::IfcPermit::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcPermitTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_rc3::IfcPermit::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcPermitTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_rc3::IfcPermitTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc3::IfcPermit::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcPermit::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcPermit::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc3::IfcPermit::LongDescription() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcPermit::LongDescription() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcPermit::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcPermit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[741]); } const IfcParse::entity& Ifc4x3_rc3::IfcPermit::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[741]); } Ifc4x3_rc3::IfcPermit::IfcPermit(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_rc3::IfcPermit::IfcPermit(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3_rc3::IfcPermitTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc3::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } +Ifc4x3_rc3::IfcPermit::IfcPermit(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3_rc3::IfcPermitTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc3::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } // Function implementations for IfcPerson -boost::optional< std::string > Ifc4x3_rc3::IfcPerson::Identification() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcPerson::Identification() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcPerson::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc3::IfcPerson::FamilyName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcPerson::FamilyName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcPerson::setFamilyName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc3::IfcPerson::GivenName() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcPerson::GivenName() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcPerson::setGivenName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcPerson::MiddleNames() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcPerson::MiddleNames() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcPerson::setMiddleNames(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcPerson::PrefixTitles() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcPerson::PrefixTitles() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcPerson::setPrefixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcPerson::SuffixTitles() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(5); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcPerson::SuffixTitles() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcPerson::setSuffixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorRole >::ptr > Ifc4x3_rc3::IfcPerson::Roles() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3_rc3::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorRole >::ptr > Ifc4x3_rc3::IfcPerson::Roles() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3_rc3::IfcActorRole >(); } void Ifc4x3_rc3::IfcPerson::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAddress >::ptr > Ifc4x3_rc3::IfcPerson::Addresses() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc3::IfcAddress >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAddress >::ptr > Ifc4x3_rc3::IfcPerson::Addresses() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc3::IfcAddress >(); } void Ifc4x3_rc3::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAddress >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } ::Ifc4x3_rc3::IfcPersonAndOrganization::list::ptr Ifc4x3_rc3::IfcPerson::EngagedIn() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[744], 0)->as(); } @@ -13282,42 +13282,42 @@ void Ifc4x3_rc3::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4x3 const IfcParse::entity& Ifc4x3_rc3::IfcPerson::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[743]); } const IfcParse::entity& Ifc4x3_rc3::IfcPerson::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[743]); } Ifc4x3_rc3::IfcPerson::IfcPerson(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcPerson::IfcPerson(boost::optional< std::string > v1_Identification, boost::optional< std::string > v2_FamilyName, boost::optional< std::string > v3_GivenName, boost::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorRole >::ptr > v7_Roles, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, (*v7_Roles)->generalize()); } if (v8_Addresses) {set_attribute_value(7, (*v8_Addresses)->generalize()); }; populate_derived(); } +Ifc4x3_rc3::IfcPerson::IfcPerson(boost::optional< std::string > v1_Identification, boost::optional< std::string > v2_FamilyName, boost::optional< std::string > v3_GivenName, boost::optional< std::vector< std::string > /*[1:?]*/ > v4_MiddleNames, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_PrefixTitles, boost::optional< std::vector< std::string > /*[1:?]*/ > v6_SuffixTitles, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorRole >::ptr > v7_Roles, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, (*v7_Roles)->generalize()); } if (v8_Addresses) {set_attribute_value(7, (*v8_Addresses)->generalize()); }; populate_derived(); } // Function implementations for IfcPersonAndOrganization -::Ifc4x3_rc3::IfcPerson* Ifc4x3_rc3::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcPerson>(true); } +::Ifc4x3_rc3::IfcPerson* Ifc4x3_rc3::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcPerson>(true); } void Ifc4x3_rc3::IfcPersonAndOrganization::setThePerson(::Ifc4x3_rc3::IfcPerson* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcOrganization* Ifc4x3_rc3::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcOrganization>(true); } +::Ifc4x3_rc3::IfcOrganization* Ifc4x3_rc3::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcOrganization>(true); } void Ifc4x3_rc3::IfcPersonAndOrganization::setTheOrganization(::Ifc4x3_rc3::IfcOrganization* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorRole >::ptr > Ifc4x3_rc3::IfcPersonAndOrganization::Roles() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorRole >::ptr > Ifc4x3_rc3::IfcPersonAndOrganization::Roles() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcActorRole >(); } void Ifc4x3_rc3::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc3::IfcPersonAndOrganization::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[744]); } const IfcParse::entity& Ifc4x3_rc3::IfcPersonAndOrganization::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[744]); } Ifc4x3_rc3::IfcPersonAndOrganization::IfcPersonAndOrganization(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcPersonAndOrganization::IfcPersonAndOrganization(::Ifc4x3_rc3::IfcPerson* v1_ThePerson, ::Ifc4x3_rc3::IfcOrganization* v2_TheOrganization, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorRole >::ptr > v3_Roles) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_ThePerson ? v1_ThePerson->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TheOrganization ? v2_TheOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Roles) {set_attribute_value(2, (*v3_Roles)->generalize()); }; populate_derived(); } +Ifc4x3_rc3::IfcPersonAndOrganization::IfcPersonAndOrganization(::Ifc4x3_rc3::IfcPerson* v1_ThePerson, ::Ifc4x3_rc3::IfcOrganization* v2_TheOrganization, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcActorRole >::ptr > v3_Roles) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_ThePerson ? v1_ThePerson->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TheOrganization ? v2_TheOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Roles) {set_attribute_value(2, (*v3_Roles)->generalize()); }; populate_derived(); } // Function implementations for IfcPhysicalComplexQuantity -aggregate_of< ::Ifc4x3_rc3::IfcPhysicalQuantity >::ptr Ifc4x3_rc3::IfcPhysicalComplexQuantity::HasQuantities() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcPhysicalQuantity >(); } +aggregate_of< ::Ifc4x3_rc3::IfcPhysicalQuantity >::ptr Ifc4x3_rc3::IfcPhysicalComplexQuantity::HasQuantities() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcPhysicalQuantity >(); } void Ifc4x3_rc3::IfcPhysicalComplexQuantity::setHasQuantities(aggregate_of< ::Ifc4x3_rc3::IfcPhysicalQuantity >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -std::string Ifc4x3_rc3::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x3_rc3::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcPhysicalComplexQuantity::setDiscrimination(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc3::IfcPhysicalComplexQuantity::Quality() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcPhysicalComplexQuantity::Quality() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcPhysicalComplexQuantity::setQuality(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc3::IfcPhysicalComplexQuantity::Usage() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcPhysicalComplexQuantity::Usage() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcPhysicalComplexQuantity::setUsage(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_rc3::IfcPhysicalComplexQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[746]); } const IfcParse::entity& Ifc4x3_rc3::IfcPhysicalComplexQuantity::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[746]); } Ifc4x3_rc3::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(IfcEntityInstanceData&& e) : IfcPhysicalQuantity(std::move(e)) { } -Ifc4x3_rc3::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcPhysicalQuantity >::ptr v3_HasQuantities, std::string v4_Discrimination, boost::optional< std::string > v5_Quality, boost::optional< std::string > v6_Usage) : IfcPhysicalQuantity(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_HasQuantities)->generalize());set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; populate_derived(); } +Ifc4x3_rc3::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcPhysicalQuantity >::ptr v3_HasQuantities, std::string v4_Discrimination, boost::optional< std::string > v5_Quality, boost::optional< std::string > v6_Usage) : IfcPhysicalQuantity(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_HasQuantities)->generalize());set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; populate_derived(); } // Function implementations for IfcPhysicalQuantity -std::string Ifc4x3_rc3::IfcPhysicalQuantity::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc3::IfcPhysicalQuantity::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcPhysicalQuantity::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc3::IfcPhysicalQuantity::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcPhysicalQuantity::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcPhysicalQuantity::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x3_rc3::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc3::IfcPhysicalQuantity::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[434], 3)->as(); } @@ -13326,127 +13326,127 @@ void Ifc4x3_rc3::IfcPhysicalQuantity::setDescription(boost::optional< std::strin const IfcParse::entity& Ifc4x3_rc3::IfcPhysicalQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[748]); } const IfcParse::entity& Ifc4x3_rc3::IfcPhysicalQuantity::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[748]); } Ifc4x3_rc3::IfcPhysicalQuantity::IfcPhysicalQuantity(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4x3_rc3::IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcPhysicalSimpleQuantity -::Ifc4x3_rc3::IfcNamedUnit* Ifc4x3_rc3::IfcPhysicalSimpleQuantity::Unit() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcNamedUnit>(true); } +::Ifc4x3_rc3::IfcNamedUnit* Ifc4x3_rc3::IfcPhysicalSimpleQuantity::Unit() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcNamedUnit>(true); } void Ifc4x3_rc3::IfcPhysicalSimpleQuantity::setUnit(::Ifc4x3_rc3::IfcNamedUnit* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcPhysicalSimpleQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[749]); } const IfcParse::entity& Ifc4x3_rc3::IfcPhysicalSimpleQuantity::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[749]); } Ifc4x3_rc3::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(IfcEntityInstanceData&& e) : IfcPhysicalQuantity(std::move(e)) { } -Ifc4x3_rc3::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPile -boost::optional< ::Ifc4x3_rc3::IfcPileTypeEnum::Value > Ifc4x3_rc3::IfcPile::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcPileTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcPileTypeEnum::Value > Ifc4x3_rc3::IfcPile::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcPileTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcPile::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcPileTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcPileTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< ::Ifc4x3_rc3::IfcPileConstructionEnum::Value > Ifc4x3_rc3::IfcPile::ConstructionType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcPileConstructionEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc3::IfcPileConstructionEnum::Value > Ifc4x3_rc3::IfcPile::ConstructionType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcPileConstructionEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcPile::setConstructionType(boost::optional< ::Ifc4x3_rc3::IfcPileConstructionEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcPileConstructionEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc3::IfcPile::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[750]); } const IfcParse::entity& Ifc4x3_rc3::IfcPile::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[750]); } Ifc4x3_rc3::IfcPile::IfcPile(IfcEntityInstanceData&& e) : IfcDeepFoundation(std::move(e)) { } -Ifc4x3_rc3::IfcPile::IfcPile(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcPileTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x3_rc3::IfcPileConstructionEnum::Value > v10_ConstructionType) : IfcDeepFoundation(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; populate_derived(); } +Ifc4x3_rc3::IfcPile::IfcPile(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcPileTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x3_rc3::IfcPileConstructionEnum::Value > v10_ConstructionType) : IfcDeepFoundation(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; populate_derived(); } // Function implementations for IfcPileType -::Ifc4x3_rc3::IfcPileTypeEnum::Value Ifc4x3_rc3::IfcPileType::PredefinedType() const { return ::Ifc4x3_rc3::IfcPileTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcPileTypeEnum::Value Ifc4x3_rc3::IfcPileType::PredefinedType() const { return ::Ifc4x3_rc3::IfcPileTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcPileType::setPredefinedType(::Ifc4x3_rc3::IfcPileTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcPileTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcPileType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[752]); } const IfcParse::entity& Ifc4x3_rc3::IfcPileType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[752]); } Ifc4x3_rc3::IfcPileType::IfcPileType(IfcEntityInstanceData&& e) : IfcDeepFoundationType(std::move(e)) { } -Ifc4x3_rc3::IfcPileType::IfcPileType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPileTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcPileType::IfcPileType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPileTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPipeFitting -boost::optional< ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value > Ifc4x3_rc3::IfcPipeFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value > Ifc4x3_rc3::IfcPipeFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcPipeFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcPipeFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[754]); } const IfcParse::entity& Ifc4x3_rc3::IfcPipeFitting::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[754]); } Ifc4x3_rc3::IfcPipeFitting::IfcPipeFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x3_rc3::IfcPipeFitting::IfcPipeFitting(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcPipeFitting::IfcPipeFitting(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPipeFittingType -::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value Ifc4x3_rc3::IfcPipeFittingType::PredefinedType() const { return ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value Ifc4x3_rc3::IfcPipeFittingType::PredefinedType() const { return ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcPipeFittingType::setPredefinedType(::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcPipeFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[755]); } const IfcParse::entity& Ifc4x3_rc3::IfcPipeFittingType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[755]); } Ifc4x3_rc3::IfcPipeFittingType::IfcPipeFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x3_rc3::IfcPipeFittingType::IfcPipeFittingType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcPipeFittingType::IfcPipeFittingType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPipeSegment -boost::optional< ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value > Ifc4x3_rc3::IfcPipeSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value > Ifc4x3_rc3::IfcPipeSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcPipeSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcPipeSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[757]); } const IfcParse::entity& Ifc4x3_rc3::IfcPipeSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[757]); } Ifc4x3_rc3::IfcPipeSegment::IfcPipeSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x3_rc3::IfcPipeSegment::IfcPipeSegment(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcPipeSegment::IfcPipeSegment(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPipeSegmentType -::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value Ifc4x3_rc3::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value Ifc4x3_rc3::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcPipeSegmentType::setPredefinedType(::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcPipeSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[758]); } const IfcParse::entity& Ifc4x3_rc3::IfcPipeSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[758]); } Ifc4x3_rc3::IfcPipeSegmentType::IfcPipeSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x3_rc3::IfcPipeSegmentType::IfcPipeSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcPipeSegmentType::IfcPipeSegmentType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPixelTexture -int Ifc4x3_rc3::IfcPixelTexture::Width() const { int v = data_.get_attribute_value(5); return v; } +int Ifc4x3_rc3::IfcPixelTexture::Width() const { int v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcPixelTexture::setWidth(int v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -int Ifc4x3_rc3::IfcPixelTexture::Height() const { int v = data_.get_attribute_value(6); return v; } +int Ifc4x3_rc3::IfcPixelTexture::Height() const { int v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcPixelTexture::setHeight(int v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -int Ifc4x3_rc3::IfcPixelTexture::ColourComponents() const { int v = data_.get_attribute_value(7); return v; } +int Ifc4x3_rc3::IfcPixelTexture::ColourComponents() const { int v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcPixelTexture::setColourComponents(int v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector< boost::dynamic_bitset<> > /*[1:?]*/ Ifc4x3_rc3::IfcPixelTexture::Pixel() const { std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< boost::dynamic_bitset<> > /*[1:?]*/ Ifc4x3_rc3::IfcPixelTexture::Pixel() const { std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcPixelTexture::setPixel(std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc3::IfcPixelTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[760]); } const IfcParse::entity& Ifc4x3_rc3::IfcPixelTexture::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[760]); } Ifc4x3_rc3::IfcPixelTexture::IfcPixelTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -Ifc4x3_rc3::IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) : IfcSurfaceTexture(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel));; populate_derived(); } +Ifc4x3_rc3::IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, int v6_Width, int v7_Height, int v8_ColourComponents, std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v9_Pixel) : IfcSurfaceTexture(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel));; populate_derived(); } // Function implementations for IfcPlacement -::Ifc4x3_rc3::IfcPoint* Ifc4x3_rc3::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcPoint>(true); } +::Ifc4x3_rc3::IfcPoint* Ifc4x3_rc3::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcPoint>(true); } void Ifc4x3_rc3::IfcPlacement::setLocation(::Ifc4x3_rc3::IfcPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc3::IfcPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[761]); } const IfcParse::entity& Ifc4x3_rc3::IfcPlacement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[761]); } Ifc4x3_rc3::IfcPlacement::IfcPlacement(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcPlacement::IfcPlacement(::Ifc4x3_rc3::IfcPoint* v1_Location) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcPlacement::IfcPlacement(::Ifc4x3_rc3::IfcPoint* v1_Location) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlanarBox -::Ifc4x3_rc3::IfcAxis2Placement* Ifc4x3_rc3::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcAxis2Placement>(true); } +::Ifc4x3_rc3::IfcAxis2Placement* Ifc4x3_rc3::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcAxis2Placement>(true); } void Ifc4x3_rc3::IfcPlanarBox::setPlacement(::Ifc4x3_rc3::IfcAxis2Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcPlanarBox::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[762]); } const IfcParse::entity& Ifc4x3_rc3::IfcPlanarBox::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[762]); } Ifc4x3_rc3::IfcPlanarBox::IfcPlanarBox(IfcEntityInstanceData&& e) : IfcPlanarExtent(std::move(e)) { } -Ifc4x3_rc3::IfcPlanarBox::IfcPlanarBox(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_rc3::IfcAxis2Placement* v3_Placement) : IfcPlanarExtent(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, v3_Placement ? v3_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcPlanarBox::IfcPlanarBox(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_rc3::IfcAxis2Placement* v3_Placement) : IfcPlanarExtent(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, v3_Placement ? v3_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlanarExtent -double Ifc4x3_rc3::IfcPlanarExtent::SizeInX() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_rc3::IfcPlanarExtent::SizeInX() const { double v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcPlanarExtent::setSizeInX(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc3::IfcPlanarExtent::SizeInY() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc3::IfcPlanarExtent::SizeInY() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcPlanarExtent::setSizeInY(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcPlanarExtent::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[763]); } const IfcParse::entity& Ifc4x3_rc3::IfcPlanarExtent::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[763]); } Ifc4x3_rc3::IfcPlanarExtent::IfcPlanarExtent(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeInY) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; populate_derived(); } +Ifc4x3_rc3::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeInY) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; populate_derived(); } // Function implementations for IfcPlane @@ -13454,7 +13454,7 @@ Ifc4x3_rc3::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeIn const IfcParse::entity& Ifc4x3_rc3::IfcPlane::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[765]); } const IfcParse::entity& Ifc4x3_rc3::IfcPlane::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[765]); } Ifc4x3_rc3::IfcPlane::IfcPlane(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x3_rc3::IfcPlane::IfcPlane(::Ifc4x3_rc3::IfcAxis2Placement3D* v1_Position) : IfcElementarySurface(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcPlane::IfcPlane(::Ifc4x3_rc3::IfcAxis2Placement3D* v1_Position) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlant @@ -13462,17 +13462,17 @@ Ifc4x3_rc3::IfcPlane::IfcPlane(::Ifc4x3_rc3::IfcAxis2Placement3D* v1_Position) : const IfcParse::entity& Ifc4x3_rc3::IfcPlant::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[767]); } const IfcParse::entity& Ifc4x3_rc3::IfcPlant::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[767]); } Ifc4x3_rc3::IfcPlant::IfcPlant(IfcEntityInstanceData&& e) : IfcGeographicElement(std::move(e)) { } -Ifc4x3_rc3::IfcPlant::IfcPlant(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) : IfcGeographicElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcPlant::IfcPlant(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) : IfcGeographicElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPlate -boost::optional< ::Ifc4x3_rc3::IfcPlateTypeEnum::Value > Ifc4x3_rc3::IfcPlate::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcPlateTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcPlateTypeEnum::Value > Ifc4x3_rc3::IfcPlate::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcPlateTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcPlate::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcPlateTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcPlateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcPlate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[768]); } const IfcParse::entity& Ifc4x3_rc3::IfcPlate::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[768]); } Ifc4x3_rc3::IfcPlate::IfcPlate(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc3::IfcPlate::IfcPlate(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcPlateTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcPlate::IfcPlate(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcPlateTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPlateStandardCase @@ -13480,17 +13480,17 @@ Ifc4x3_rc3::IfcPlate::IfcPlate(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHi const IfcParse::entity& Ifc4x3_rc3::IfcPlateStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[769]); } const IfcParse::entity& Ifc4x3_rc3::IfcPlateStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[769]); } Ifc4x3_rc3::IfcPlateStandardCase::IfcPlateStandardCase(IfcEntityInstanceData&& e) : IfcPlate(std::move(e)) { } -Ifc4x3_rc3::IfcPlateStandardCase::IfcPlateStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcPlateTypeEnum::Value > v9_PredefinedType) : IfcPlate(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcPlateStandardCase::IfcPlateStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcPlateTypeEnum::Value > v9_PredefinedType) : IfcPlate(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPlateType -::Ifc4x3_rc3::IfcPlateTypeEnum::Value Ifc4x3_rc3::IfcPlateType::PredefinedType() const { return ::Ifc4x3_rc3::IfcPlateTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcPlateTypeEnum::Value Ifc4x3_rc3::IfcPlateType::PredefinedType() const { return ::Ifc4x3_rc3::IfcPlateTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcPlateType::setPredefinedType(::Ifc4x3_rc3::IfcPlateTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcPlateTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcPlateType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[770]); } const IfcParse::entity& Ifc4x3_rc3::IfcPlateType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[770]); } Ifc4x3_rc3::IfcPlateType::IfcPlateType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc3::IfcPlateType::IfcPlateType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPlateTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcPlateType::IfcPlateType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPlateTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPoint @@ -13498,113 +13498,113 @@ Ifc4x3_rc3::IfcPlateType::IfcPlateType(std::string v1_GlobalId, ::Ifc4x3_rc3::If const IfcParse::entity& Ifc4x3_rc3::IfcPoint::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[772]); } const IfcParse::entity& Ifc4x3_rc3::IfcPoint::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[772]); } Ifc4x3_rc3::IfcPoint::IfcPoint(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc3::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPointByDistanceExpression -::Ifc4x3_rc3::IfcCurveMeasureSelect* Ifc4x3_rc3::IfcPointByDistanceExpression::DistanceAlong() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCurveMeasureSelect>(true); } +::Ifc4x3_rc3::IfcCurveMeasureSelect* Ifc4x3_rc3::IfcPointByDistanceExpression::DistanceAlong() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCurveMeasureSelect>(true); } void Ifc4x3_rc3::IfcPointByDistanceExpression::setDistanceAlong(::Ifc4x3_rc3::IfcCurveMeasureSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< double > Ifc4x3_rc3::IfcPointByDistanceExpression::OffsetLateral() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc3::IfcPointByDistanceExpression::OffsetLateral() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcPointByDistanceExpression::setOffsetLateral(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc3::IfcPointByDistanceExpression::OffsetVertical() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc3::IfcPointByDistanceExpression::OffsetVertical() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcPointByDistanceExpression::setOffsetVertical(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc3::IfcPointByDistanceExpression::OffsetLongitudinal() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc3::IfcPointByDistanceExpression::OffsetLongitudinal() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcPointByDistanceExpression::setOffsetLongitudinal(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcPointByDistanceExpression::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcCurve>(true); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcPointByDistanceExpression::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcPointByDistanceExpression::setBasisCurve(::Ifc4x3_rc3::IfcCurve* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc3::IfcPointByDistanceExpression::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[773]); } const IfcParse::entity& Ifc4x3_rc3::IfcPointByDistanceExpression::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[773]); } Ifc4x3_rc3::IfcPointByDistanceExpression::IfcPointByDistanceExpression(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x3_rc3::IfcPointByDistanceExpression::IfcPointByDistanceExpression(::Ifc4x3_rc3::IfcCurveMeasureSelect* v1_DistanceAlong, boost::optional< double > v2_OffsetLateral, boost::optional< double > v3_OffsetVertical, boost::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_rc3::IfcCurve* v5_BasisCurve) : IfcPoint(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_DistanceAlong ? v1_DistanceAlong->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); }set_attribute_value(4, v5_BasisCurve ? v5_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcPointByDistanceExpression::IfcPointByDistanceExpression(::Ifc4x3_rc3::IfcCurveMeasureSelect* v1_DistanceAlong, boost::optional< double > v2_OffsetLateral, boost::optional< double > v3_OffsetVertical, boost::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_rc3::IfcCurve* v5_BasisCurve) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_DistanceAlong ? v1_DistanceAlong->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); }set_attribute_value(4, v5_BasisCurve ? v5_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPointOnCurve -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCurve>(true); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcPointOnCurve::setBasisCurve(::Ifc4x3_rc3::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc3::IfcPointOnCurve::PointParameter() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc3::IfcPointOnCurve::PointParameter() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcPointOnCurve::setPointParameter(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcPointOnCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[774]); } const IfcParse::entity& Ifc4x3_rc3::IfcPointOnCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[774]); } Ifc4x3_rc3::IfcPointOnCurve::IfcPointOnCurve(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x3_rc3::IfcPointOnCurve::IfcPointOnCurve(::Ifc4x3_rc3::IfcCurve* v1_BasisCurve, double v2_PointParameter) : IfcPoint(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameter));; populate_derived(); } +Ifc4x3_rc3::IfcPointOnCurve::IfcPointOnCurve(::Ifc4x3_rc3::IfcCurve* v1_BasisCurve, double v2_PointParameter) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameter));; populate_derived(); } // Function implementations for IfcPointOnSurface -::Ifc4x3_rc3::IfcSurface* Ifc4x3_rc3::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcSurface>(true); } +::Ifc4x3_rc3::IfcSurface* Ifc4x3_rc3::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcSurface>(true); } void Ifc4x3_rc3::IfcPointOnSurface::setBasisSurface(::Ifc4x3_rc3::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc3::IfcPointOnSurface::PointParameterU() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc3::IfcPointOnSurface::PointParameterU() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcPointOnSurface::setPointParameterU(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc3::IfcPointOnSurface::PointParameterV() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc3::IfcPointOnSurface::PointParameterV() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcPointOnSurface::setPointParameterV(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcPointOnSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[775]); } const IfcParse::entity& Ifc4x3_rc3::IfcPointOnSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[775]); } Ifc4x3_rc3::IfcPointOnSurface::IfcPointOnSurface(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x3_rc3::IfcPointOnSurface::IfcPointOnSurface(::Ifc4x3_rc3::IfcSurface* v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) : IfcPoint(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; populate_derived(); } +Ifc4x3_rc3::IfcPointOnSurface::IfcPointOnSurface(::Ifc4x3_rc3::IfcSurface* v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; populate_derived(); } // Function implementations for IfcPolyLoop -aggregate_of< ::Ifc4x3_rc3::IfcCartesianPoint >::ptr Ifc4x3_rc3::IfcPolyLoop::Polygon() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcCartesianPoint >(); } +aggregate_of< ::Ifc4x3_rc3::IfcCartesianPoint >::ptr Ifc4x3_rc3::IfcPolyLoop::Polygon() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcCartesianPoint >(); } void Ifc4x3_rc3::IfcPolyLoop::setPolygon(aggregate_of< ::Ifc4x3_rc3::IfcCartesianPoint >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc3::IfcPolyLoop::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[780]); } const IfcParse::entity& Ifc4x3_rc3::IfcPolyLoop::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[780]); } Ifc4x3_rc3::IfcPolyLoop::IfcPolyLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc4x3_rc3::IfcPolyLoop::IfcPolyLoop(aggregate_of< ::Ifc4x3_rc3::IfcCartesianPoint >::ptr v1_Polygon) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Polygon)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcPolyLoop::IfcPolyLoop(aggregate_of< ::Ifc4x3_rc3::IfcCartesianPoint >::ptr v1_Polygon) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Polygon)->generalize());; populate_derived(); } // Function implementations for IfcPolygonalBoundedHalfSpace -::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(true); } void Ifc4x3_rc3::IfcPolygonalBoundedHalfSpace::setPosition(::Ifc4x3_rc3::IfcAxis2Placement3D* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcBoundedCurve* Ifc4x3_rc3::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcBoundedCurve>(true); } +::Ifc4x3_rc3::IfcBoundedCurve* Ifc4x3_rc3::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcBoundedCurve>(true); } void Ifc4x3_rc3::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(::Ifc4x3_rc3::IfcBoundedCurve* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcPolygonalBoundedHalfSpace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[777]); } const IfcParse::entity& Ifc4x3_rc3::IfcPolygonalBoundedHalfSpace::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[777]); } Ifc4x3_rc3::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(IfcEntityInstanceData&& e) : IfcHalfSpaceSolid(std::move(e)) { } -Ifc4x3_rc3::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(::Ifc4x3_rc3::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc3::IfcAxis2Placement3D* v3_Position, ::Ifc4x3_rc3::IfcBoundedCurve* v4_PolygonalBoundary) : IfcHalfSpaceSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PolygonalBoundary ? v4_PolygonalBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(::Ifc4x3_rc3::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc3::IfcAxis2Placement3D* v3_Position, ::Ifc4x3_rc3::IfcBoundedCurve* v4_PolygonalBoundary) : IfcHalfSpaceSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PolygonalBoundary ? v4_PolygonalBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPolygonalFaceSet -boost::optional< bool > Ifc4x3_rc3::IfcPolygonalFaceSet::Closed() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } bool v = data_.get_attribute_value(1); return v; } +boost::optional< bool > Ifc4x3_rc3::IfcPolygonalFaceSet::Closed() const { if(get_attribute_value(1).isNull()) { return boost::none; } bool v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcPolygonalFaceSet::setClosed(boost::optional< bool > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3_rc3::IfcIndexedPolygonalFace >::ptr Ifc4x3_rc3::IfcPolygonalFaceSet::Faces() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcIndexedPolygonalFace >(); } +aggregate_of< ::Ifc4x3_rc3::IfcIndexedPolygonalFace >::ptr Ifc4x3_rc3::IfcPolygonalFaceSet::Faces() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcIndexedPolygonalFace >(); } void Ifc4x3_rc3::IfcPolygonalFaceSet::setFaces(aggregate_of< ::Ifc4x3_rc3::IfcIndexedPolygonalFace >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc3::IfcPolygonalFaceSet::PnIndex() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc3::IfcPolygonalFaceSet::PnIndex() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcPolygonalFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc3::IfcPolygonalFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[778]); } const IfcParse::entity& Ifc4x3_rc3::IfcPolygonalFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[778]); } Ifc4x3_rc3::IfcPolygonalFaceSet::IfcPolygonalFaceSet(IfcEntityInstanceData&& e) : IfcTessellatedFaceSet(std::move(e)) { } -Ifc4x3_rc3::IfcPolygonalFaceSet::IfcPolygonalFaceSet(::Ifc4x3_rc3::IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v2_Closed, aggregate_of< ::Ifc4x3_rc3::IfcIndexedPolygonalFace >::ptr v3_Faces, boost::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) : IfcTessellatedFaceSet(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, (v3_Faces)->generalize()); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); }; populate_derived(); } +Ifc4x3_rc3::IfcPolygonalFaceSet::IfcPolygonalFaceSet(::Ifc4x3_rc3::IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v2_Closed, aggregate_of< ::Ifc4x3_rc3::IfcIndexedPolygonalFace >::ptr v3_Faces, boost::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) : IfcTessellatedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, (v3_Faces)->generalize()); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); }; populate_derived(); } // Function implementations for IfcPolyline -aggregate_of< ::Ifc4x3_rc3::IfcCartesianPoint >::ptr Ifc4x3_rc3::IfcPolyline::Points() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcCartesianPoint >(); } +aggregate_of< ::Ifc4x3_rc3::IfcCartesianPoint >::ptr Ifc4x3_rc3::IfcPolyline::Points() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcCartesianPoint >(); } void Ifc4x3_rc3::IfcPolyline::setPoints(aggregate_of< ::Ifc4x3_rc3::IfcCartesianPoint >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc3::IfcPolyline::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[779]); } const IfcParse::entity& Ifc4x3_rc3::IfcPolyline::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[779]); } Ifc4x3_rc3::IfcPolyline::IfcPolyline(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_rc3::IfcPolyline::IfcPolyline(aggregate_of< ::Ifc4x3_rc3::IfcCartesianPoint >::ptr v1_Points) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Points)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcPolyline::IfcPolyline(aggregate_of< ::Ifc4x3_rc3::IfcCartesianPoint >::ptr v1_Points) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Points)->generalize());; populate_derived(); } // Function implementations for IfcPolynomialCurve -::Ifc4x3_rc3::IfcPlacement* Ifc4x3_rc3::IfcPolynomialCurve::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcPlacement>(true); } +::Ifc4x3_rc3::IfcPlacement* Ifc4x3_rc3::IfcPolynomialCurve::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcPlacement>(true); } void Ifc4x3_rc3::IfcPolynomialCurve::setPosition(::Ifc4x3_rc3::IfcPlacement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_rc3::IfcPolynomialCurve::CoefficientsX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_rc3::IfcPolynomialCurve::CoefficientsX() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcPolynomialCurve::setCoefficientsX(boost::optional< std::vector< double > /*[2:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_rc3::IfcPolynomialCurve::CoefficientsY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_rc3::IfcPolynomialCurve::CoefficientsY() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcPolynomialCurve::setCoefficientsY(boost::optional< std::vector< double > /*[2:?]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_rc3::IfcPolynomialCurve::CoefficientsZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_rc3::IfcPolynomialCurve::CoefficientsZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcPolynomialCurve::setCoefficientsZ(boost::optional< std::vector< double > /*[2:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc3::IfcPolynomialCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[781]); } const IfcParse::entity& Ifc4x3_rc3::IfcPolynomialCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[781]); } Ifc4x3_rc3::IfcPolynomialCurve::IfcPolynomialCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_rc3::IfcPolynomialCurve::IfcPolynomialCurve(::Ifc4x3_rc3::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) : IfcCurve(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CoefficientsX) {set_attribute_value(1, (*v2_CoefficientsX)); } if (v3_CoefficientsY) {set_attribute_value(2, (*v3_CoefficientsY)); } if (v4_CoefficientsZ) {set_attribute_value(3, (*v4_CoefficientsZ)); }; populate_derived(); } +Ifc4x3_rc3::IfcPolynomialCurve::IfcPolynomialCurve(::Ifc4x3_rc3::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) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CoefficientsX) {set_attribute_value(1, (*v2_CoefficientsX)); } if (v3_CoefficientsY) {set_attribute_value(2, (*v3_CoefficientsY)); } if (v4_CoefficientsZ) {set_attribute_value(3, (*v4_CoefficientsZ)); }; populate_derived(); } // Function implementations for IfcPort @@ -13615,7 +13615,7 @@ Ifc4x3_rc3::IfcPolynomialCurve::IfcPolynomialCurve(::Ifc4x3_rc3::IfcPlacement* v const IfcParse::entity& Ifc4x3_rc3::IfcPort::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[782]); } const IfcParse::entity& Ifc4x3_rc3::IfcPort::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[782]); } Ifc4x3_rc3::IfcPort::IfcPort(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_rc3::IfcPort::IfcPort(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcPort::IfcPort(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPositioningElement @@ -13625,29 +13625,29 @@ Ifc4x3_rc3::IfcPort::IfcPort(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHist const IfcParse::entity& Ifc4x3_rc3::IfcPositioningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[783]); } const IfcParse::entity& Ifc4x3_rc3::IfcPositioningElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[783]); } Ifc4x3_rc3::IfcPositioningElement::IfcPositioningElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_rc3::IfcPositioningElement::IfcPositioningElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcPositioningElement::IfcPositioningElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPostalAddress -boost::optional< std::string > Ifc4x3_rc3::IfcPostalAddress::InternalLocation() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcPostalAddress::InternalLocation() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcPostalAddress::setInternalLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcPostalAddress::AddressLines() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcPostalAddress::AddressLines() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcPostalAddress::setAddressLines(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc3::IfcPostalAddress::PostalBox() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcPostalAddress::PostalBox() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcPostalAddress::setPostalBox(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc3::IfcPostalAddress::Town() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcPostalAddress::Town() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcPostalAddress::setTown(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc3::IfcPostalAddress::Region() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcPostalAddress::Region() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcPostalAddress::setRegion(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc3::IfcPostalAddress::PostalCode() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcPostalAddress::PostalCode() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcPostalAddress::setPostalCode(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_rc3::IfcPostalAddress::Country() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcPostalAddress::Country() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc3::IfcPostalAddress::setCountry(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc3::IfcPostalAddress::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[788]); } const IfcParse::entity& Ifc4x3_rc3::IfcPostalAddress::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[788]); } Ifc4x3_rc3::IfcPostalAddress::IfcPostalAddress(IfcEntityInstanceData&& e) : IfcAddress(std::move(e)) { } -Ifc4x3_rc3::IfcPostalAddress::IfcPostalAddress(boost::optional< ::Ifc4x3_rc3::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) : IfcAddress(IfcEntityInstanceData(storage_t(10))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; populate_derived(); } +Ifc4x3_rc3::IfcPostalAddress::IfcPostalAddress(boost::optional< ::Ifc4x3_rc3::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) : IfcAddress(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; populate_derived(); } // Function implementations for IfcPreDefinedColour @@ -13655,7 +13655,7 @@ Ifc4x3_rc3::IfcPostalAddress::IfcPostalAddress(boost::optional< ::Ifc4x3_rc3::If const IfcParse::entity& Ifc4x3_rc3::IfcPreDefinedColour::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[790]); } const IfcParse::entity& Ifc4x3_rc3::IfcPreDefinedColour::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[790]); } Ifc4x3_rc3::IfcPreDefinedColour::IfcPreDefinedColour(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc4x3_rc3::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_rc3::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedCurveFont @@ -13663,17 +13663,17 @@ Ifc4x3_rc3::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcP const IfcParse::entity& Ifc4x3_rc3::IfcPreDefinedCurveFont::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[791]); } const IfcParse::entity& Ifc4x3_rc3::IfcPreDefinedCurveFont::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[791]); } Ifc4x3_rc3::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc4x3_rc3::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_rc3::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedItem -std::string Ifc4x3_rc3::IfcPreDefinedItem::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc3::IfcPreDefinedItem::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcPreDefinedItem::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc3::IfcPreDefinedItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[792]); } const IfcParse::entity& Ifc4x3_rc3::IfcPreDefinedItem::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[792]); } Ifc4x3_rc3::IfcPreDefinedItem::IfcPreDefinedItem(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_rc3::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedProperties @@ -13681,7 +13681,7 @@ Ifc4x3_rc3::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcPrese const IfcParse::entity& Ifc4x3_rc3::IfcPreDefinedProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[793]); } const IfcParse::entity& Ifc4x3_rc3::IfcPreDefinedProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[793]); } Ifc4x3_rc3::IfcPreDefinedProperties::IfcPreDefinedProperties(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x3_rc3::IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc3::IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPreDefinedPropertySet @@ -13689,7 +13689,7 @@ Ifc4x3_rc3::IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbst const IfcParse::entity& Ifc4x3_rc3::IfcPreDefinedPropertySet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[794]); } const IfcParse::entity& Ifc4x3_rc3::IfcPreDefinedPropertySet::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[794]); } Ifc4x3_rc3::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc4x3_rc3::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc3::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPreDefinedTextFont @@ -13697,7 +13697,7 @@ Ifc4x3_rc3::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_Gl const IfcParse::entity& Ifc4x3_rc3::IfcPreDefinedTextFont::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[795]); } const IfcParse::entity& Ifc4x3_rc3::IfcPreDefinedTextFont::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[795]); } Ifc4x3_rc3::IfcPreDefinedTextFont::IfcPreDefinedTextFont(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc4x3_rc3::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_rc3::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPresentationItem @@ -13705,74 +13705,74 @@ Ifc4x3_rc3::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : const IfcParse::entity& Ifc4x3_rc3::IfcPresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[798]); } const IfcParse::entity& Ifc4x3_rc3::IfcPresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[798]); } Ifc4x3_rc3::IfcPresentationItem::IfcPresentationItem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcPresentationItem::IfcPresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc3::IfcPresentationItem::IfcPresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPresentationLayerAssignment -std::string Ifc4x3_rc3::IfcPresentationLayerAssignment::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc3::IfcPresentationLayerAssignment::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcPresentationLayerAssignment::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc3::IfcPresentationLayerAssignment::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcPresentationLayerAssignment::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3_rc3::IfcLayeredItem >::ptr Ifc4x3_rc3::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcLayeredItem >(); } +aggregate_of< ::Ifc4x3_rc3::IfcLayeredItem >::ptr Ifc4x3_rc3::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcLayeredItem >(); } void Ifc4x3_rc3::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x3_rc3::IfcLayeredItem >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x3_rc3::IfcPresentationLayerAssignment::Identifier() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcPresentationLayerAssignment::Identifier() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc3::IfcPresentationLayerAssignment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[799]); } const IfcParse::entity& Ifc4x3_rc3::IfcPresentationLayerAssignment::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[799]); } Ifc4x3_rc3::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; populate_derived(); } +Ifc4x3_rc3::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; populate_derived(); } // Function implementations for IfcPresentationLayerWithStyle -boost::logic::tribool Ifc4x3_rc3::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = data_.get_attribute_value(4); return v; } +boost::logic::tribool Ifc4x3_rc3::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcPresentationLayerWithStyle::setLayerOn(boost::logic::tribool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::logic::tribool Ifc4x3_rc3::IfcPresentationLayerWithStyle::LayerFrozen() const { boost::logic::tribool v = data_.get_attribute_value(5); return v; } +boost::logic::tribool Ifc4x3_rc3::IfcPresentationLayerWithStyle::LayerFrozen() const { boost::logic::tribool v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcPresentationLayerWithStyle::setLayerFrozen(boost::logic::tribool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::logic::tribool Ifc4x3_rc3::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = data_.get_attribute_value(6); return v; } +boost::logic::tribool Ifc4x3_rc3::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcPresentationLayerWithStyle::setLayerBlocked(boost::logic::tribool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -aggregate_of< ::Ifc4x3_rc3::IfcPresentationStyle >::ptr Ifc4x3_rc3::IfcPresentationLayerWithStyle::LayerStyles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc3::IfcPresentationStyle >(); } +aggregate_of< ::Ifc4x3_rc3::IfcPresentationStyle >::ptr Ifc4x3_rc3::IfcPresentationLayerWithStyle::LayerStyles() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc3::IfcPresentationStyle >(); } void Ifc4x3_rc3::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< ::Ifc4x3_rc3::IfcPresentationStyle >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc3::IfcPresentationLayerWithStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[800]); } const IfcParse::entity& Ifc4x3_rc3::IfcPresentationLayerWithStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[800]); } Ifc4x3_rc3::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData&& e) : IfcPresentationLayerAssignment(std::move(e)) { } -Ifc4x3_rc3::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_rc3::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, (v8_LayerStyles)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_rc3::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, (v8_LayerStyles)->generalize());; populate_derived(); } // Function implementations for IfcPresentationStyle -boost::optional< std::string > Ifc4x3_rc3::IfcPresentationStyle::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcPresentationStyle::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcPresentationStyle::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3_rc3::IfcPresentationStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[801]); } const IfcParse::entity& Ifc4x3_rc3::IfcPresentationStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[801]); } Ifc4x3_rc3::IfcPresentationStyle::IfcPresentationStyle(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_rc3::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcProcedure -boost::optional< ::Ifc4x3_rc3::IfcProcedureTypeEnum::Value > Ifc4x3_rc3::IfcProcedure::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcProcedureTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_rc3::IfcProcedureTypeEnum::Value > Ifc4x3_rc3::IfcProcedure::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcProcedureTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc3::IfcProcedure::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcProcedureTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc3::IfcProcedureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc3::IfcProcedure::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[803]); } const IfcParse::entity& Ifc4x3_rc3::IfcProcedure::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[803]); } Ifc4x3_rc3::IfcProcedure::IfcProcedure(IfcEntityInstanceData&& e) : IfcProcess(std::move(e)) { } -Ifc4x3_rc3::IfcProcedure::IfcProcedure(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< ::Ifc4x3_rc3::IfcProcedureTypeEnum::Value > v8_PredefinedType) : IfcProcess(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcProcedure::IfcProcedure(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< ::Ifc4x3_rc3::IfcProcedureTypeEnum::Value > v8_PredefinedType) : IfcProcess(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProcedureType -::Ifc4x3_rc3::IfcProcedureTypeEnum::Value Ifc4x3_rc3::IfcProcedureType::PredefinedType() const { return ::Ifc4x3_rc3::IfcProcedureTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcProcedureTypeEnum::Value Ifc4x3_rc3::IfcProcedureType::PredefinedType() const { return ::Ifc4x3_rc3::IfcProcedureTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcProcedureType::setPredefinedType(::Ifc4x3_rc3::IfcProcedureTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcProcedureTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcProcedureType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[804]); } const IfcParse::entity& Ifc4x3_rc3::IfcProcedureType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[804]); } Ifc4x3_rc3::IfcProcedureType::IfcProcedureType(IfcEntityInstanceData&& e) : IfcTypeProcess(std::move(e)) { } -Ifc4x3_rc3::IfcProcedureType::IfcProcedureType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_rc3::IfcProcedureTypeEnum::Value v10_PredefinedType) : IfcTypeProcess(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcProcedureType::IfcProcedureType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_rc3::IfcProcedureTypeEnum::Value v10_PredefinedType) : IfcTypeProcess(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcProcess -boost::optional< std::string > Ifc4x3_rc3::IfcProcess::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcProcess::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcProcess::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc3::IfcProcess::LongDescription() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcProcess::LongDescription() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcProcess::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_rc3::IfcRelSequence::list::ptr Ifc4x3_rc3::IfcProcess::IsPredecessorTo() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[949], 4)->as(); } @@ -13782,12 +13782,12 @@ void Ifc4x3_rc3::IfcProcess::setLongDescription(boost::optional< std::string > v const IfcParse::entity& Ifc4x3_rc3::IfcProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[806]); } const IfcParse::entity& Ifc4x3_rc3::IfcProcess::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[806]); } Ifc4x3_rc3::IfcProcess::IfcProcess(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_rc3::IfcProcess::IfcProcess(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } +Ifc4x3_rc3::IfcProcess::IfcProcess(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } // Function implementations for IfcProduct -::Ifc4x3_rc3::IfcObjectPlacement* Ifc4x3_rc3::IfcProduct::ObjectPlacement() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcObjectPlacement>(true); } +::Ifc4x3_rc3::IfcObjectPlacement* Ifc4x3_rc3::IfcProduct::ObjectPlacement() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcObjectPlacement>(true); } void Ifc4x3_rc3::IfcProduct::setObjectPlacement(::Ifc4x3_rc3::IfcObjectPlacement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc3::IfcProductRepresentation* Ifc4x3_rc3::IfcProduct::Representation() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcProductRepresentation>(true); } +::Ifc4x3_rc3::IfcProductRepresentation* Ifc4x3_rc3::IfcProduct::Representation() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcProductRepresentation>(true); } void Ifc4x3_rc3::IfcProduct::setRepresentation(::Ifc4x3_rc3::IfcProductRepresentation* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } ::Ifc4x3_rc3::IfcRelAssignsToProduct::list::ptr Ifc4x3_rc3::IfcProduct::ReferencedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[912], 6)->as(); } @@ -13797,7 +13797,7 @@ void Ifc4x3_rc3::IfcProduct::setRepresentation(::Ifc4x3_rc3::IfcProductRepresent const IfcParse::entity& Ifc4x3_rc3::IfcProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[808]); } const IfcParse::entity& Ifc4x3_rc3::IfcProduct::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[808]); } Ifc4x3_rc3::IfcProduct::IfcProduct(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_rc3::IfcProduct::IfcProduct(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation) : IfcObject(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcProduct::IfcProduct(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProductDefinitionShape @@ -13807,26 +13807,26 @@ Ifc4x3_rc3::IfcProduct::IfcProduct(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwn const IfcParse::entity& Ifc4x3_rc3::IfcProductDefinitionShape::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[809]); } const IfcParse::entity& Ifc4x3_rc3::IfcProductDefinitionShape::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[809]); } Ifc4x3_rc3::IfcProductDefinitionShape::IfcProductDefinitionShape(IfcEntityInstanceData&& e) : IfcProductRepresentation(std::move(e)) { } -Ifc4x3_rc3::IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcRepresentation >::ptr v3_Representations) : IfcProductRepresentation(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcRepresentation >::ptr v3_Representations) : IfcProductRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } // Function implementations for IfcProductRepresentation -boost::optional< std::string > Ifc4x3_rc3::IfcProductRepresentation::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcProductRepresentation::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcProductRepresentation::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc3::IfcProductRepresentation::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcProductRepresentation::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcProductRepresentation::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3_rc3::IfcRepresentation >::ptr Ifc4x3_rc3::IfcProductRepresentation::Representations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcRepresentation >(); } +aggregate_of< ::Ifc4x3_rc3::IfcRepresentation >::ptr Ifc4x3_rc3::IfcProductRepresentation::Representations() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcRepresentation >(); } void Ifc4x3_rc3::IfcProductRepresentation::setRepresentations(aggregate_of< ::Ifc4x3_rc3::IfcRepresentation >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcProductRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[810]); } const IfcParse::entity& Ifc4x3_rc3::IfcProductRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[810]); } Ifc4x3_rc3::IfcProductRepresentation::IfcProductRepresentation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcProductRepresentation::IfcProductRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcRepresentation >::ptr v3_Representations) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcProductRepresentation::IfcProductRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcRepresentation >::ptr v3_Representations) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } // Function implementations for IfcProfileDef -::Ifc4x3_rc3::IfcProfileTypeEnum::Value Ifc4x3_rc3::IfcProfileDef::ProfileType() const { return ::Ifc4x3_rc3::IfcProfileTypeEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_rc3::IfcProfileTypeEnum::Value Ifc4x3_rc3::IfcProfileDef::ProfileType() const { return ::Ifc4x3_rc3::IfcProfileTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x3_rc3::IfcProfileDef::setProfileType(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc3::IfcProfileDef::ProfileName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcProfileDef::ProfileName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcProfileDef::setProfileName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x3_rc3::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc3::IfcProfileDef::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[434], 3)->as(); } @@ -13835,17 +13835,17 @@ void Ifc4x3_rc3::IfcProfileDef::setProfileName(boost::optional< std::string > v) const IfcParse::entity& Ifc4x3_rc3::IfcProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[813]); } const IfcParse::entity& Ifc4x3_rc3::IfcProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[813]); } Ifc4x3_rc3::IfcProfileDef::IfcProfileDef(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcProfileDef::IfcProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; populate_derived(); } +Ifc4x3_rc3::IfcProfileDef::IfcProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; populate_derived(); } // Function implementations for IfcProfileProperties -::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcProfileDef>(true); } +::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcProfileDef>(true); } void Ifc4x3_rc3::IfcProfileProperties::setProfileDefinition(::Ifc4x3_rc3::IfcProfileDef* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcProfileProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[814]); } const IfcParse::entity& Ifc4x3_rc3::IfcProfileProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[814]); } Ifc4x3_rc3::IfcProfileProperties::IfcProfileProperties(IfcEntityInstanceData&& e) : IfcExtendedProperties(std::move(e)) { } -Ifc4x3_rc3::IfcProfileProperties::IfcProfileProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcProperty >::ptr v3_Properties, ::Ifc4x3_rc3::IfcProfileDef* v4_ProfileDefinition) : IfcExtendedProperties(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_ProfileDefinition ? v4_ProfileDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcProfileProperties::IfcProfileProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcProperty >::ptr v3_Properties, ::Ifc4x3_rc3::IfcProfileDef* v4_ProfileDefinition) : IfcExtendedProperties(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_ProfileDefinition ? v4_ProfileDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProject @@ -13853,7 +13853,7 @@ Ifc4x3_rc3::IfcProfileProperties::IfcProfileProperties(boost::optional< std::str const IfcParse::entity& Ifc4x3_rc3::IfcProject::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[816]); } const IfcParse::entity& Ifc4x3_rc3::IfcProject::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[816]); } Ifc4x3_rc3::IfcProject::IfcProject(IfcEntityInstanceData&& e) : IfcContext(std::move(e)) { } -Ifc4x3_rc3::IfcProject::IfcProject(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_rc3::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcProject::IfcProject(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_rc3::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProjectLibrary @@ -13861,50 +13861,50 @@ Ifc4x3_rc3::IfcProject::IfcProject(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwn const IfcParse::entity& Ifc4x3_rc3::IfcProjectLibrary::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[821]); } const IfcParse::entity& Ifc4x3_rc3::IfcProjectLibrary::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[821]); } Ifc4x3_rc3::IfcProjectLibrary::IfcProjectLibrary(IfcEntityInstanceData&& e) : IfcContext(std::move(e)) { } -Ifc4x3_rc3::IfcProjectLibrary::IfcProjectLibrary(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_rc3::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcProjectLibrary::IfcProjectLibrary(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName, boost::optional< std::string > v7_Phase, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_rc3::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProjectOrder -boost::optional< ::Ifc4x3_rc3::IfcProjectOrderTypeEnum::Value > Ifc4x3_rc3::IfcProjectOrder::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcProjectOrderTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_rc3::IfcProjectOrderTypeEnum::Value > Ifc4x3_rc3::IfcProjectOrder::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcProjectOrderTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_rc3::IfcProjectOrder::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcProjectOrderTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_rc3::IfcProjectOrderTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc3::IfcProjectOrder::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcProjectOrder::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcProjectOrder::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc3::IfcProjectOrder::LongDescription() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcProjectOrder::LongDescription() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcProjectOrder::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcProjectOrder::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[822]); } const IfcParse::entity& Ifc4x3_rc3::IfcProjectOrder::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[822]); } Ifc4x3_rc3::IfcProjectOrder::IfcProjectOrder(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_rc3::IfcProjectOrder::IfcProjectOrder(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3_rc3::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc3::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } +Ifc4x3_rc3::IfcProjectOrder::IfcProjectOrder(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< ::Ifc4x3_rc3::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc3::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } // Function implementations for IfcProjectedCRS -boost::optional< std::string > Ifc4x3_rc3::IfcProjectedCRS::MapProjection() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcProjectedCRS::MapProjection() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcProjectedCRS::setMapProjection(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc3::IfcProjectedCRS::MapZone() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcProjectedCRS::MapZone() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcProjectedCRS::setMapZone(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc3::IfcNamedUnit* Ifc4x3_rc3::IfcProjectedCRS::MapUnit() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcNamedUnit>(true); } +::Ifc4x3_rc3::IfcNamedUnit* Ifc4x3_rc3::IfcProjectedCRS::MapUnit() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcNamedUnit>(true); } void Ifc4x3_rc3::IfcProjectedCRS::setMapUnit(::Ifc4x3_rc3::IfcNamedUnit* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc3::IfcProjectedCRS::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[817]); } const IfcParse::entity& Ifc4x3_rc3::IfcProjectedCRS::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[817]); } Ifc4x3_rc3::IfcProjectedCRS::IfcProjectedCRS(IfcEntityInstanceData&& e) : IfcCoordinateReferenceSystem(std::move(e)) { } -Ifc4x3_rc3::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_rc3::IfcNamedUnit* v7_MapUnit) : IfcCoordinateReferenceSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, v7_MapUnit ? v7_MapUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::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_rc3::IfcNamedUnit* v7_MapUnit) : IfcCoordinateReferenceSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, v7_MapUnit ? v7_MapUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProjectionElement -boost::optional< ::Ifc4x3_rc3::IfcProjectionElementTypeEnum::Value > Ifc4x3_rc3::IfcProjectionElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcProjectionElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcProjectionElementTypeEnum::Value > Ifc4x3_rc3::IfcProjectionElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcProjectionElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcProjectionElement::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcProjectionElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcProjectionElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcProjectionElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[819]); } const IfcParse::entity& Ifc4x3_rc3::IfcProjectionElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[819]); } Ifc4x3_rc3::IfcProjectionElement::IfcProjectionElement(IfcEntityInstanceData&& e) : IfcFeatureElementAddition(std::move(e)) { } -Ifc4x3_rc3::IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementAddition(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementAddition(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProperty -std::string Ifc4x3_rc3::IfcProperty::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc3::IfcProperty::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcProperty::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc3::IfcProperty::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcProperty::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcProperty::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x3_rc3::IfcPropertySet::list::ptr Ifc4x3_rc3::IfcProperty::PartOfPset() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[833], 4)->as(); } @@ -13917,7 +13917,7 @@ void Ifc4x3_rc3::IfcProperty::setDescription(boost::optional< std::string > v) { const IfcParse::entity& Ifc4x3_rc3::IfcProperty::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[824]); } const IfcParse::entity& Ifc4x3_rc3::IfcProperty::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[824]); } Ifc4x3_rc3::IfcProperty::IfcProperty(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x3_rc3::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4x3_rc3::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcPropertyAbstraction @@ -13926,23 +13926,23 @@ Ifc4x3_rc3::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std:: const IfcParse::entity& Ifc4x3_rc3::IfcPropertyAbstraction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[825]); } const IfcParse::entity& Ifc4x3_rc3::IfcPropertyAbstraction::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[825]); } Ifc4x3_rc3::IfcPropertyAbstraction::IfcPropertyAbstraction(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcPropertyAbstraction::IfcPropertyAbstraction() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc3::IfcPropertyAbstraction::IfcPropertyAbstraction() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPropertyBoundedValue -::Ifc4x3_rc3::IfcValue* Ifc4x3_rc3::IfcPropertyBoundedValue::UpperBoundValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcValue>(true); } +::Ifc4x3_rc3::IfcValue* Ifc4x3_rc3::IfcPropertyBoundedValue::UpperBoundValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcValue>(true); } void Ifc4x3_rc3::IfcPropertyBoundedValue::setUpperBoundValue(::Ifc4x3_rc3::IfcValue* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcValue* Ifc4x3_rc3::IfcPropertyBoundedValue::LowerBoundValue() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcValue>(true); } +::Ifc4x3_rc3::IfcValue* Ifc4x3_rc3::IfcPropertyBoundedValue::LowerBoundValue() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcValue>(true); } void Ifc4x3_rc3::IfcPropertyBoundedValue::setLowerBoundValue(::Ifc4x3_rc3::IfcValue* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcPropertyBoundedValue::Unit() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcUnit>(true); } +::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcPropertyBoundedValue::Unit() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcUnit>(true); } void Ifc4x3_rc3::IfcPropertyBoundedValue::setUnit(::Ifc4x3_rc3::IfcUnit* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcValue* Ifc4x3_rc3::IfcPropertyBoundedValue::SetPointValue() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcValue>(true); } +::Ifc4x3_rc3::IfcValue* Ifc4x3_rc3::IfcPropertyBoundedValue::SetPointValue() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcValue>(true); } void Ifc4x3_rc3::IfcPropertyBoundedValue::setSetPointValue(::Ifc4x3_rc3::IfcValue* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc3::IfcPropertyBoundedValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[826]); } const IfcParse::entity& Ifc4x3_rc3::IfcPropertyBoundedValue::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[826]); } Ifc4x3_rc3::IfcPropertyBoundedValue::IfcPropertyBoundedValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_rc3::IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcValue* v3_UpperBoundValue, ::Ifc4x3_rc3::IfcValue* v4_LowerBoundValue, ::Ifc4x3_rc3::IfcUnit* v5_Unit, ::Ifc4x3_rc3::IfcValue* v6_SetPointValue) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_UpperBoundValue ? v3_UpperBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_LowerBoundValue ? v4_LowerBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_Unit ? v5_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_SetPointValue ? v6_SetPointValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcValue* v3_UpperBoundValue, ::Ifc4x3_rc3::IfcValue* v4_LowerBoundValue, ::Ifc4x3_rc3::IfcUnit* v5_Unit, ::Ifc4x3_rc3::IfcValue* v6_SetPointValue) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_UpperBoundValue ? v3_UpperBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_LowerBoundValue ? v4_LowerBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_Unit ? v5_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_SetPointValue ? v6_SetPointValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyDefinition @@ -13952,81 +13952,81 @@ Ifc4x3_rc3::IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name const IfcParse::entity& Ifc4x3_rc3::IfcPropertyDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[827]); } const IfcParse::entity& Ifc4x3_rc3::IfcPropertyDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[827]); } Ifc4x3_rc3::IfcPropertyDefinition::IfcPropertyDefinition(IfcEntityInstanceData&& e) : IfcRoot(std::move(e)) { } -Ifc4x3_rc3::IfcPropertyDefinition::IfcPropertyDefinition(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc3::IfcPropertyDefinition::IfcPropertyDefinition(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertyDependencyRelationship -::Ifc4x3_rc3::IfcProperty* Ifc4x3_rc3::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcProperty>(true); } +::Ifc4x3_rc3::IfcProperty* Ifc4x3_rc3::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcProperty>(true); } void Ifc4x3_rc3::IfcPropertyDependencyRelationship::setDependingProperty(::Ifc4x3_rc3::IfcProperty* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcProperty* Ifc4x3_rc3::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcProperty>(true); } +::Ifc4x3_rc3::IfcProperty* Ifc4x3_rc3::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcProperty>(true); } void Ifc4x3_rc3::IfcPropertyDependencyRelationship::setDependantProperty(::Ifc4x3_rc3::IfcProperty* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc3::IfcPropertyDependencyRelationship::Expression() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcPropertyDependencyRelationship::Expression() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc3::IfcPropertyDependencyRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[828]); } const IfcParse::entity& Ifc4x3_rc3::IfcPropertyDependencyRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[828]); } Ifc4x3_rc3::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_rc3::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcProperty* v3_DependingProperty, ::Ifc4x3_rc3::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_DependingProperty ? v3_DependingProperty->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_DependantProperty ? v4_DependantProperty->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } +Ifc4x3_rc3::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcProperty* v3_DependingProperty, ::Ifc4x3_rc3::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_DependingProperty ? v3_DependingProperty->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_DependantProperty ? v4_DependantProperty->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } // Function implementations for IfcPropertyEnumeratedValue -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > Ifc4x3_rc3::IfcPropertyEnumeratedValue::EnumerationValues() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > Ifc4x3_rc3::IfcPropertyEnumeratedValue::EnumerationValues() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcValue >(); } void Ifc4x3_rc3::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } -::Ifc4x3_rc3::IfcPropertyEnumeration* Ifc4x3_rc3::IfcPropertyEnumeratedValue::EnumerationReference() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcPropertyEnumeration>(true); } +::Ifc4x3_rc3::IfcPropertyEnumeration* Ifc4x3_rc3::IfcPropertyEnumeratedValue::EnumerationReference() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcPropertyEnumeration>(true); } void Ifc4x3_rc3::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_rc3::IfcPropertyEnumeration* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcPropertyEnumeratedValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[829]); } const IfcParse::entity& Ifc4x3_rc3::IfcPropertyEnumeratedValue::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[829]); } Ifc4x3_rc3::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_rc3::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_rc3::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_EnumerationValues) {set_attribute_value(2, (*v3_EnumerationValues)->generalize()); }set_attribute_value(3, v4_EnumerationReference ? v4_EnumerationReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_rc3::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_EnumerationValues) {set_attribute_value(2, (*v3_EnumerationValues)->generalize()); }set_attribute_value(3, v4_EnumerationReference ? v4_EnumerationReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyEnumeration -std::string Ifc4x3_rc3::IfcPropertyEnumeration::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc3::IfcPropertyEnumeration::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcPropertyEnumeration::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr Ifc4x3_rc3::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcValue >(); } +aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr Ifc4x3_rc3::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcValue >(); } void Ifc4x3_rc3::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcPropertyEnumeration::Unit() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcUnit>(true); } +::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcPropertyEnumeration::Unit() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcUnit>(true); } void Ifc4x3_rc3::IfcPropertyEnumeration::setUnit(::Ifc4x3_rc3::IfcUnit* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcPropertyEnumeration::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[830]); } const IfcParse::entity& Ifc4x3_rc3::IfcPropertyEnumeration::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[830]); } Ifc4x3_rc3::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x3_rc3::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_rc3::IfcUnit* v3_Unit) : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_EnumerationValues)->generalize());set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_rc3::IfcUnit* v3_Unit) : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_EnumerationValues)->generalize());set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyListValue -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > Ifc4x3_rc3::IfcPropertyListValue::ListValues() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > Ifc4x3_rc3::IfcPropertyListValue::ListValues() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcValue >(); } void Ifc4x3_rc3::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } -::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcPropertyListValue::Unit() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcUnit>(true); } +::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcPropertyListValue::Unit() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcUnit>(true); } void Ifc4x3_rc3::IfcPropertyListValue::setUnit(::Ifc4x3_rc3::IfcUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcPropertyListValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[831]); } const IfcParse::entity& Ifc4x3_rc3::IfcPropertyListValue::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[831]); } Ifc4x3_rc3::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_rc3::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_rc3::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_ListValues) {set_attribute_value(2, (*v3_ListValues)->generalize()); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_rc3::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_ListValues) {set_attribute_value(2, (*v3_ListValues)->generalize()); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyReferenceValue -boost::optional< std::string > Ifc4x3_rc3::IfcPropertyReferenceValue::UsageName() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcPropertyReferenceValue::UsageName() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc3::IfcObjectReferenceSelect* Ifc4x3_rc3::IfcPropertyReferenceValue::PropertyReference() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcObjectReferenceSelect>(true); } +::Ifc4x3_rc3::IfcObjectReferenceSelect* Ifc4x3_rc3::IfcPropertyReferenceValue::PropertyReference() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcObjectReferenceSelect>(true); } void Ifc4x3_rc3::IfcPropertyReferenceValue::setPropertyReference(::Ifc4x3_rc3::IfcObjectReferenceSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcPropertyReferenceValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[832]); } const IfcParse::entity& Ifc4x3_rc3::IfcPropertyReferenceValue::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[832]); } Ifc4x3_rc3::IfcPropertyReferenceValue::IfcPropertyReferenceValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_rc3::IfcPropertyReferenceValue::IfcPropertyReferenceValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UsageName, ::Ifc4x3_rc3::IfcObjectReferenceSelect* v4_PropertyReference) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, v4_PropertyReference ? v4_PropertyReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcPropertyReferenceValue::IfcPropertyReferenceValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UsageName, ::Ifc4x3_rc3::IfcObjectReferenceSelect* v4_PropertyReference) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, v4_PropertyReference ? v4_PropertyReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertySet -aggregate_of< ::Ifc4x3_rc3::IfcProperty >::ptr Ifc4x3_rc3::IfcPropertySet::HasProperties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc3::IfcProperty >(); } +aggregate_of< ::Ifc4x3_rc3::IfcProperty >::ptr Ifc4x3_rc3::IfcPropertySet::HasProperties() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc3::IfcProperty >(); } void Ifc4x3_rc3::IfcPropertySet::setHasProperties(aggregate_of< ::Ifc4x3_rc3::IfcProperty >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc3::IfcPropertySet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[833]); } const IfcParse::entity& Ifc4x3_rc3::IfcPropertySet::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[833]); } Ifc4x3_rc3::IfcPropertySet::IfcPropertySet(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc4x3_rc3::IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcProperty >::ptr v5_HasProperties) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_HasProperties)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcProperty >::ptr v5_HasProperties) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_HasProperties)->generalize());; populate_derived(); } // Function implementations for IfcPropertySetDefinition @@ -14037,14 +14037,14 @@ Ifc4x3_rc3::IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, ::Ifc4x3_rc3 const IfcParse::entity& Ifc4x3_rc3::IfcPropertySetDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[834]); } const IfcParse::entity& Ifc4x3_rc3::IfcPropertySetDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[834]); } Ifc4x3_rc3::IfcPropertySetDefinition::IfcPropertySetDefinition(IfcEntityInstanceData&& e) : IfcPropertyDefinition(std::move(e)) { } -Ifc4x3_rc3::IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc3::IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertySetTemplate -boost::optional< ::Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::Value > Ifc4x3_rc3::IfcPropertySetTemplate::TemplateType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::FromString(data_.get_attribute_value(4)); } +boost::optional< ::Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::Value > Ifc4x3_rc3::IfcPropertySetTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::FromString(get_attribute_value(4)); } void Ifc4x3_rc3::IfcPropertySetTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::Value > v) { if (v) {set_attribute_value(4, EnumerationReference(&::Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc3::IfcPropertySetTemplate::ApplicableEntity() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcPropertySetTemplate::ApplicableEntity() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcPropertySetTemplate::setApplicableEntity(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -aggregate_of< ::Ifc4x3_rc3::IfcPropertyTemplate >::ptr Ifc4x3_rc3::IfcPropertySetTemplate::HasPropertyTemplates() const { aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3_rc3::IfcPropertyTemplate >(); } +aggregate_of< ::Ifc4x3_rc3::IfcPropertyTemplate >::ptr Ifc4x3_rc3::IfcPropertySetTemplate::HasPropertyTemplates() const { aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3_rc3::IfcPropertyTemplate >(); } void Ifc4x3_rc3::IfcPropertySetTemplate::setHasPropertyTemplates(aggregate_of< ::Ifc4x3_rc3::IfcPropertyTemplate >::ptr v) { set_attribute_value(6, (v)->generalize());if constexpr (false)unset_attribute_value(6); } ::Ifc4x3_rc3::IfcRelDefinesByTemplate::list::ptr Ifc4x3_rc3::IfcPropertySetTemplate::Defines() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[940], 5)->as(); } @@ -14052,39 +14052,39 @@ void Ifc4x3_rc3::IfcPropertySetTemplate::setHasPropertyTemplates(aggregate_of< : const IfcParse::entity& Ifc4x3_rc3::IfcPropertySetTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[837]); } const IfcParse::entity& Ifc4x3_rc3::IfcPropertySetTemplate::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[837]); } Ifc4x3_rc3::IfcPropertySetTemplate::IfcPropertySetTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplateDefinition(std::move(e)) { } -Ifc4x3_rc3::IfcPropertySetTemplate::IfcPropertySetTemplate(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_ApplicableEntity, aggregate_of< ::Ifc4x3_rc3::IfcPropertyTemplate >::ptr v7_HasPropertyTemplates) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, (v7_HasPropertyTemplates)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcPropertySetTemplate::IfcPropertySetTemplate(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_ApplicableEntity, aggregate_of< ::Ifc4x3_rc3::IfcPropertyTemplate >::ptr v7_HasPropertyTemplates) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc3::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, (v7_HasPropertyTemplates)->generalize());; populate_derived(); } // Function implementations for IfcPropertySingleValue -::Ifc4x3_rc3::IfcValue* Ifc4x3_rc3::IfcPropertySingleValue::NominalValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcValue>(true); } +::Ifc4x3_rc3::IfcValue* Ifc4x3_rc3::IfcPropertySingleValue::NominalValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcValue>(true); } void Ifc4x3_rc3::IfcPropertySingleValue::setNominalValue(::Ifc4x3_rc3::IfcValue* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcPropertySingleValue::Unit() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcUnit>(true); } +::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcPropertySingleValue::Unit() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcUnit>(true); } void Ifc4x3_rc3::IfcPropertySingleValue::setUnit(::Ifc4x3_rc3::IfcUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcPropertySingleValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[839]); } const IfcParse::entity& Ifc4x3_rc3::IfcPropertySingleValue::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[839]); } Ifc4x3_rc3::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_rc3::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcValue* v3_NominalValue, ::Ifc4x3_rc3::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_NominalValue ? v3_NominalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcValue* v3_NominalValue, ::Ifc4x3_rc3::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_NominalValue ? v3_NominalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyTableValue -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > Ifc4x3_rc3::IfcPropertyTableValue::DefiningValues() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > Ifc4x3_rc3::IfcPropertyTableValue::DefiningValues() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcValue >(); } void Ifc4x3_rc3::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > Ifc4x3_rc3::IfcPropertyTableValue::DefinedValues() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc3::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > Ifc4x3_rc3::IfcPropertyTableValue::DefinedValues() const { if(get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc3::IfcValue >(); } void Ifc4x3_rc3::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v) { if (v) {set_attribute_value(3, (*v)->generalize());} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc3::IfcPropertyTableValue::Expression() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcPropertyTableValue::Expression() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcPropertyTableValue::DefiningUnit() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcUnit>(true); } +::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcPropertyTableValue::DefiningUnit() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcUnit>(true); } void Ifc4x3_rc3::IfcPropertyTableValue::setDefiningUnit(::Ifc4x3_rc3::IfcUnit* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcPropertyTableValue::DefinedUnit() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcUnit>(true); } +::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcPropertyTableValue::DefinedUnit() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcUnit>(true); } void Ifc4x3_rc3::IfcPropertyTableValue::setDefinedUnit(::Ifc4x3_rc3::IfcUnit* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< ::Ifc4x3_rc3::IfcCurveInterpolationEnum::Value > Ifc4x3_rc3::IfcPropertyTableValue::CurveInterpolation() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCurveInterpolationEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_rc3::IfcCurveInterpolationEnum::Value > Ifc4x3_rc3::IfcPropertyTableValue::CurveInterpolation() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcCurveInterpolationEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc3::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc4x3_rc3::IfcCurveInterpolationEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc3::IfcCurveInterpolationEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc3::IfcPropertyTableValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[840]); } const IfcParse::entity& Ifc4x3_rc3::IfcPropertyTableValue::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[840]); } Ifc4x3_rc3::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_rc3::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_rc3::IfcUnit* v6_DefiningUnit, ::Ifc4x3_rc3::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_rc3::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_DefiningValues) {set_attribute_value(2, (*v3_DefiningValues)->generalize()); } if (v4_DefinedValues) {set_attribute_value(3, (*v4_DefinedValues)->generalize()); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, v6_DefiningUnit ? v6_DefiningUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_DefinedUnit ? v7_DefinedUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_CurveInterpolation) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); }; populate_derived(); } +Ifc4x3_rc3::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_rc3::IfcUnit* v6_DefiningUnit, ::Ifc4x3_rc3::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_rc3::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_DefiningValues) {set_attribute_value(2, (*v3_DefiningValues)->generalize()); } if (v4_DefinedValues) {set_attribute_value(3, (*v4_DefinedValues)->generalize()); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, v6_DefiningUnit ? v6_DefiningUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_DefinedUnit ? v7_DefinedUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_CurveInterpolation) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); }; populate_derived(); } // Function implementations for IfcPropertyTemplate @@ -14094,7 +14094,7 @@ Ifc4x3_rc3::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, bo const IfcParse::entity& Ifc4x3_rc3::IfcPropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[841]); } const IfcParse::entity& Ifc4x3_rc3::IfcPropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[841]); } Ifc4x3_rc3::IfcPropertyTemplate::IfcPropertyTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplateDefinition(std::move(e)) { } -Ifc4x3_rc3::IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc3::IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertyTemplateDefinition @@ -14102,115 +14102,115 @@ Ifc4x3_rc3::IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x3_rc3::IfcPropertyTemplateDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[842]); } const IfcParse::entity& Ifc4x3_rc3::IfcPropertyTemplateDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[842]); } Ifc4x3_rc3::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(IfcEntityInstanceData&& e) : IfcPropertyDefinition(std::move(e)) { } -Ifc4x3_rc3::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc3::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcProtectiveDevice -boost::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value > Ifc4x3_rc3::IfcProtectiveDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value > Ifc4x3_rc3::IfcProtectiveDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcProtectiveDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcProtectiveDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[843]); } const IfcParse::entity& Ifc4x3_rc3::IfcProtectiveDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[843]); } Ifc4x3_rc3::IfcProtectiveDevice::IfcProtectiveDevice(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_rc3::IfcProtectiveDevice::IfcProtectiveDevice(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcProtectiveDevice::IfcProtectiveDevice(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProtectiveDeviceTrippingUnit -boost::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnit::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[844]); } const IfcParse::entity& Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[844]); } Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProtectiveDeviceTrippingUnitType -::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitType::setPredefinedType(::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[845]); } const IfcParse::entity& Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[845]); } Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcProtectiveDeviceType -::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value Ifc4x3_rc3::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value Ifc4x3_rc3::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcProtectiveDeviceType::setPredefinedType(::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcProtectiveDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[847]); } const IfcParse::entity& Ifc4x3_rc3::IfcProtectiveDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[847]); } Ifc4x3_rc3::IfcProtectiveDeviceType::IfcProtectiveDeviceType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_rc3::IfcProtectiveDeviceType::IfcProtectiveDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcProtectiveDeviceType::IfcProtectiveDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcProxy -::Ifc4x3_rc3::IfcObjectTypeEnum::Value Ifc4x3_rc3::IfcProxy::ProxyType() const { return ::Ifc4x3_rc3::IfcObjectTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc3::IfcObjectTypeEnum::Value Ifc4x3_rc3::IfcProxy::ProxyType() const { return ::Ifc4x3_rc3::IfcObjectTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc3::IfcProxy::setProxyType(::Ifc4x3_rc3::IfcObjectTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc4x3_rc3::IfcProxy::Tag() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcProxy::Tag() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcProxy::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcProxy::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[849]); } const IfcParse::entity& Ifc4x3_rc3::IfcProxy::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[849]); } Ifc4x3_rc3::IfcProxy::IfcProxy(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_rc3::IfcProxy::IfcProxy(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcObjectTypeEnum::Value v8_ProxyType, boost::optional< std::string > v9_Tag) : IfcProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)v8_ProxyType))); if (v9_Tag) {set_attribute_value(8, (*v9_Tag)); }; populate_derived(); } +Ifc4x3_rc3::IfcProxy::IfcProxy(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcObjectTypeEnum::Value v8_ProxyType, boost::optional< std::string > v9_Tag) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)v8_ProxyType))); if (v9_Tag) {set_attribute_value(8, (*v9_Tag)); }; populate_derived(); } // Function implementations for IfcPump -boost::optional< ::Ifc4x3_rc3::IfcPumpTypeEnum::Value > Ifc4x3_rc3::IfcPump::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcPumpTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcPumpTypeEnum::Value > Ifc4x3_rc3::IfcPump::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcPumpTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcPump::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcPumpTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcPumpTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcPump::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[850]); } const IfcParse::entity& Ifc4x3_rc3::IfcPump::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[850]); } Ifc4x3_rc3::IfcPump::IfcPump(IfcEntityInstanceData&& e) : IfcFlowMovingDevice(std::move(e)) { } -Ifc4x3_rc3::IfcPump::IfcPump(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcPumpTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcPump::IfcPump(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcPumpTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPumpType -::Ifc4x3_rc3::IfcPumpTypeEnum::Value Ifc4x3_rc3::IfcPumpType::PredefinedType() const { return ::Ifc4x3_rc3::IfcPumpTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcPumpTypeEnum::Value Ifc4x3_rc3::IfcPumpType::PredefinedType() const { return ::Ifc4x3_rc3::IfcPumpTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcPumpType::setPredefinedType(::Ifc4x3_rc3::IfcPumpTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcPumpTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcPumpType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[851]); } const IfcParse::entity& Ifc4x3_rc3::IfcPumpType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[851]); } Ifc4x3_rc3::IfcPumpType::IfcPumpType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(e)) { } -Ifc4x3_rc3::IfcPumpType::IfcPumpType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPumpTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcPumpType::IfcPumpType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcPumpTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcQuantityArea -double Ifc4x3_rc3::IfcQuantityArea::AreaValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc3::IfcQuantityArea::AreaValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcQuantityArea::setAreaValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc3::IfcQuantityArea::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcQuantityArea::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcQuantityArea::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc3::IfcQuantityArea::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[853]); } const IfcParse::entity& Ifc4x3_rc3::IfcQuantityArea::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[853]); } Ifc4x3_rc3::IfcQuantityArea::IfcQuantityArea(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_rc3::IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit* v3_Unit, double v4_AreaValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_rc3::IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit* v3_Unit, double v4_AreaValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityCount -double Ifc4x3_rc3::IfcQuantityCount::CountValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc3::IfcQuantityCount::CountValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcQuantityCount::setCountValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc3::IfcQuantityCount::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcQuantityCount::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcQuantityCount::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc3::IfcQuantityCount::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[854]); } const IfcParse::entity& Ifc4x3_rc3::IfcQuantityCount::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[854]); } Ifc4x3_rc3::IfcQuantityCount::IfcQuantityCount(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_rc3::IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit* v3_Unit, double v4_CountValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_rc3::IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit* v3_Unit, double v4_CountValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityLength -double Ifc4x3_rc3::IfcQuantityLength::LengthValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc3::IfcQuantityLength::LengthValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcQuantityLength::setLengthValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc3::IfcQuantityLength::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcQuantityLength::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcQuantityLength::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc3::IfcQuantityLength::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[855]); } const IfcParse::entity& Ifc4x3_rc3::IfcQuantityLength::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[855]); } Ifc4x3_rc3::IfcQuantityLength::IfcQuantityLength(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_rc3::IfcQuantityLength::IfcQuantityLength(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit* v3_Unit, double v4_LengthValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_rc3::IfcQuantityLength::IfcQuantityLength(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit* v3_Unit, double v4_LengthValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantitySet @@ -14218,373 +14218,373 @@ Ifc4x3_rc3::IfcQuantityLength::IfcQuantityLength(std::string v1_Name, boost::opt const IfcParse::entity& Ifc4x3_rc3::IfcQuantitySet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[856]); } const IfcParse::entity& Ifc4x3_rc3::IfcQuantitySet::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[856]); } Ifc4x3_rc3::IfcQuantitySet::IfcQuantitySet(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc4x3_rc3::IfcQuantitySet::IfcQuantitySet(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc3::IfcQuantitySet::IfcQuantitySet(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcQuantityTime -double Ifc4x3_rc3::IfcQuantityTime::TimeValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc3::IfcQuantityTime::TimeValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcQuantityTime::setTimeValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc3::IfcQuantityTime::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcQuantityTime::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcQuantityTime::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc3::IfcQuantityTime::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[857]); } const IfcParse::entity& Ifc4x3_rc3::IfcQuantityTime::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[857]); } Ifc4x3_rc3::IfcQuantityTime::IfcQuantityTime(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_rc3::IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit* v3_Unit, double v4_TimeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_rc3::IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit* v3_Unit, double v4_TimeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityVolume -double Ifc4x3_rc3::IfcQuantityVolume::VolumeValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc3::IfcQuantityVolume::VolumeValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcQuantityVolume::setVolumeValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc3::IfcQuantityVolume::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcQuantityVolume::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcQuantityVolume::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc3::IfcQuantityVolume::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[858]); } const IfcParse::entity& Ifc4x3_rc3::IfcQuantityVolume::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[858]); } Ifc4x3_rc3::IfcQuantityVolume::IfcQuantityVolume(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_rc3::IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit* v3_Unit, double v4_VolumeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_rc3::IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit* v3_Unit, double v4_VolumeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityWeight -double Ifc4x3_rc3::IfcQuantityWeight::WeightValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc3::IfcQuantityWeight::WeightValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcQuantityWeight::setWeightValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc3::IfcQuantityWeight::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcQuantityWeight::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcQuantityWeight::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc3::IfcQuantityWeight::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[859]); } const IfcParse::entity& Ifc4x3_rc3::IfcQuantityWeight::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[859]); } Ifc4x3_rc3::IfcQuantityWeight::IfcQuantityWeight(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_rc3::IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit* v3_Unit, double v4_WeightValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_rc3::IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcNamedUnit* v3_Unit, double v4_WeightValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcRail -boost::optional< ::Ifc4x3_rc3::IfcRailTypeEnum::Value > Ifc4x3_rc3::IfcRail::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcRailTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcRailTypeEnum::Value > Ifc4x3_rc3::IfcRail::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcRailTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcRail::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcRailTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcRailTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcRail::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[861]); } const IfcParse::entity& Ifc4x3_rc3::IfcRail::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[861]); } Ifc4x3_rc3::IfcRail::IfcRail(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc3::IfcRail::IfcRail(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcRailTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcRailTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcRail::IfcRail(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcRailTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcRailTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRailType -::Ifc4x3_rc3::IfcRailTypeEnum::Value Ifc4x3_rc3::IfcRailType::PredefinedType() const { return ::Ifc4x3_rc3::IfcRailTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcRailTypeEnum::Value Ifc4x3_rc3::IfcRailType::PredefinedType() const { return ::Ifc4x3_rc3::IfcRailTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcRailType::setPredefinedType(::Ifc4x3_rc3::IfcRailTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcRailTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcRailType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[865]); } const IfcParse::entity& Ifc4x3_rc3::IfcRailType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[865]); } Ifc4x3_rc3::IfcRailType::IfcRailType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc3::IfcRailType::IfcRailType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcRailTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcRailTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcRailType::IfcRailType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcRailTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcRailTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRailing -boost::optional< ::Ifc4x3_rc3::IfcRailingTypeEnum::Value > Ifc4x3_rc3::IfcRailing::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcRailingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcRailingTypeEnum::Value > Ifc4x3_rc3::IfcRailing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcRailingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcRailing::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcRailingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcRailingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcRailing::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[862]); } const IfcParse::entity& Ifc4x3_rc3::IfcRailing::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[862]); } Ifc4x3_rc3::IfcRailing::IfcRailing(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc3::IfcRailing::IfcRailing(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcRailingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcRailing::IfcRailing(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcRailingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRailingType -::Ifc4x3_rc3::IfcRailingTypeEnum::Value Ifc4x3_rc3::IfcRailingType::PredefinedType() const { return ::Ifc4x3_rc3::IfcRailingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcRailingTypeEnum::Value Ifc4x3_rc3::IfcRailingType::PredefinedType() const { return ::Ifc4x3_rc3::IfcRailingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcRailingType::setPredefinedType(::Ifc4x3_rc3::IfcRailingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcRailingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcRailingType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[863]); } const IfcParse::entity& Ifc4x3_rc3::IfcRailingType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[863]); } Ifc4x3_rc3::IfcRailingType::IfcRailingType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc3::IfcRailingType::IfcRailingType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcRailingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcRailingType::IfcRailingType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcRailingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRailway -boost::optional< ::Ifc4x3_rc3::IfcRailwayTypeEnum::Value > Ifc4x3_rc3::IfcRailway::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcRailwayTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc3::IfcRailwayTypeEnum::Value > Ifc4x3_rc3::IfcRailway::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcRailwayTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcRailway::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcRailwayTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcRailwayTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc3::IfcRailway::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[867]); } const IfcParse::entity& Ifc4x3_rc3::IfcRailway::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[867]); } Ifc4x3_rc3::IfcRailway::IfcRailway(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x3_rc3::IfcRailway::IfcRailway(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_rc3::IfcRailwayTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcRailwayTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcRailway::IfcRailway(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_rc3::IfcRailwayTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcRailwayTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRamp -boost::optional< ::Ifc4x3_rc3::IfcRampTypeEnum::Value > Ifc4x3_rc3::IfcRamp::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcRampTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcRampTypeEnum::Value > Ifc4x3_rc3::IfcRamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcRampTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcRamp::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcRampTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcRampTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcRamp::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[870]); } const IfcParse::entity& Ifc4x3_rc3::IfcRamp::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[870]); } Ifc4x3_rc3::IfcRamp::IfcRamp(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc3::IfcRamp::IfcRamp(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcRampTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcRamp::IfcRamp(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcRampTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRampFlight -boost::optional< ::Ifc4x3_rc3::IfcRampFlightTypeEnum::Value > Ifc4x3_rc3::IfcRampFlight::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcRampFlightTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcRampFlightTypeEnum::Value > Ifc4x3_rc3::IfcRampFlight::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcRampFlightTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcRampFlight::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcRampFlightTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcRampFlightTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcRampFlight::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[871]); } const IfcParse::entity& Ifc4x3_rc3::IfcRampFlight::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[871]); } Ifc4x3_rc3::IfcRampFlight::IfcRampFlight(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc3::IfcRampFlight::IfcRampFlight(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcRampFlightTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcRampFlight::IfcRampFlight(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcRampFlightTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRampFlightType -::Ifc4x3_rc3::IfcRampFlightTypeEnum::Value Ifc4x3_rc3::IfcRampFlightType::PredefinedType() const { return ::Ifc4x3_rc3::IfcRampFlightTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcRampFlightTypeEnum::Value Ifc4x3_rc3::IfcRampFlightType::PredefinedType() const { return ::Ifc4x3_rc3::IfcRampFlightTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcRampFlightType::setPredefinedType(::Ifc4x3_rc3::IfcRampFlightTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcRampFlightTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcRampFlightType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[872]); } const IfcParse::entity& Ifc4x3_rc3::IfcRampFlightType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[872]); } Ifc4x3_rc3::IfcRampFlightType::IfcRampFlightType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc3::IfcRampFlightType::IfcRampFlightType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcRampFlightTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcRampFlightType::IfcRampFlightType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcRampFlightTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRampType -::Ifc4x3_rc3::IfcRampTypeEnum::Value Ifc4x3_rc3::IfcRampType::PredefinedType() const { return ::Ifc4x3_rc3::IfcRampTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcRampTypeEnum::Value Ifc4x3_rc3::IfcRampType::PredefinedType() const { return ::Ifc4x3_rc3::IfcRampTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcRampType::setPredefinedType(::Ifc4x3_rc3::IfcRampTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcRampTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcRampType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[874]); } const IfcParse::entity& Ifc4x3_rc3::IfcRampType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[874]); } Ifc4x3_rc3::IfcRampType::IfcRampType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc3::IfcRampType::IfcRampType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcRampTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcRampType::IfcRampType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcRampTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRationalBSplineCurveWithKnots -std::vector< double > /*[2:?]*/ Ifc4x3_rc3::IfcRationalBSplineCurveWithKnots::WeightsData() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< double > /*[2:?]*/ Ifc4x3_rc3::IfcRationalBSplineCurveWithKnots::WeightsData() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcRationalBSplineCurveWithKnots::setWeightsData(std::vector< double > /*[2:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc3::IfcRationalBSplineCurveWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[877]); } const IfcParse::entity& Ifc4x3_rc3::IfcRationalBSplineCurveWithKnots::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[877]); } Ifc4x3_rc3::IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(IfcEntityInstanceData&& e) : IfcBSplineCurveWithKnots(std::move(e)) { } -Ifc4x3_rc3::IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x3_rc3::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_rc3::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_rc3::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) : IfcBSplineCurveWithKnots(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData));; populate_derived(); } +Ifc4x3_rc3::IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x3_rc3::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_rc3::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_rc3::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) : IfcBSplineCurveWithKnots(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc3::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData));; populate_derived(); } // Function implementations for IfcRationalBSplineSurfaceWithKnots -std::vector< std::vector< double > > Ifc4x3_rc3::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { std::vector< std::vector< double > > v = data_.get_attribute_value(12); return v; } +std::vector< std::vector< double > > Ifc4x3_rc3::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { std::vector< std::vector< double > > v = get_attribute_value(12); return v; } void Ifc4x3_rc3::IfcRationalBSplineSurfaceWithKnots::setWeightsData(std::vector< std::vector< double > > v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } const IfcParse::entity& Ifc4x3_rc3::IfcRationalBSplineSurfaceWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[878]); } const IfcParse::entity& Ifc4x3_rc3::IfcRationalBSplineSurfaceWithKnots::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[878]); } Ifc4x3_rc3::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(IfcEntityInstanceData&& e) : IfcBSplineSurfaceWithKnots(std::move(e)) { } -Ifc4x3_rc3::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_rc3::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_rc3::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_rc3::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) : IfcBSplineSurfaceWithKnots(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc3::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc3::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData));; populate_derived(); } +Ifc4x3_rc3::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_rc3::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_rc3::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_rc3::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) : IfcBSplineSurfaceWithKnots(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc3::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc3::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData));; populate_derived(); } // Function implementations for IfcRectangleHollowProfileDef -double Ifc4x3_rc3::IfcRectangleHollowProfileDef::WallThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc3::IfcRectangleHollowProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcRectangleHollowProfileDef::setWallThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_rc3::IfcRectangleHollowProfileDef::InnerFilletRadius() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc3::IfcRectangleHollowProfileDef::InnerFilletRadius() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcRectangleHollowProfileDef::setInnerFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_rc3::IfcRectangleHollowProfileDef::OuterFilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc3::IfcRectangleHollowProfileDef::OuterFilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcRectangleHollowProfileDef::setOuterFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc3::IfcRectangleHollowProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[880]); } const IfcParse::entity& Ifc4x3_rc3::IfcRectangleHollowProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[880]); } Ifc4x3_rc3::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(IfcEntityInstanceData&& e) : IfcRectangleProfileDef(std::move(e)) { } -Ifc4x3_rc3::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, boost::optional< double > v7_InnerFilletRadius, boost::optional< double > v8_OuterFilletRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; populate_derived(); } +Ifc4x3_rc3::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, boost::optional< double > v7_InnerFilletRadius, boost::optional< double > v8_OuterFilletRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; populate_derived(); } // Function implementations for IfcRectangleProfileDef -double Ifc4x3_rc3::IfcRectangleProfileDef::XDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc3::IfcRectangleProfileDef::XDim() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcRectangleProfileDef::setXDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc3::IfcRectangleProfileDef::YDim() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc3::IfcRectangleProfileDef::YDim() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcRectangleProfileDef::setYDim(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc3::IfcRectangleProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[881]); } const IfcParse::entity& Ifc4x3_rc3::IfcRectangleProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[881]); } Ifc4x3_rc3::IfcRectangleProfileDef::IfcRectangleProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_rc3::IfcRectangleProfileDef::IfcRectangleProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; populate_derived(); } +Ifc4x3_rc3::IfcRectangleProfileDef::IfcRectangleProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; populate_derived(); } // Function implementations for IfcRectangularPyramid -double Ifc4x3_rc3::IfcRectangularPyramid::XLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc3::IfcRectangularPyramid::XLength() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcRectangularPyramid::setXLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc3::IfcRectangularPyramid::YLength() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc3::IfcRectangularPyramid::YLength() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcRectangularPyramid::setYLength(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc3::IfcRectangularPyramid::Height() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc3::IfcRectangularPyramid::Height() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcRectangularPyramid::setHeight(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcRectangularPyramid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[882]); } const IfcParse::entity& Ifc4x3_rc3::IfcRectangularPyramid::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[882]); } Ifc4x3_rc3::IfcRectangularPyramid::IfcRectangularPyramid(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3_rc3::IfcRectangularPyramid::IfcRectangularPyramid(::Ifc4x3_rc3::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; populate_derived(); } +Ifc4x3_rc3::IfcRectangularPyramid::IfcRectangularPyramid(::Ifc4x3_rc3::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; populate_derived(); } // Function implementations for IfcRectangularTrimmedSurface -::Ifc4x3_rc3::IfcSurface* Ifc4x3_rc3::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcSurface>(true); } +::Ifc4x3_rc3::IfcSurface* Ifc4x3_rc3::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcSurface>(true); } void Ifc4x3_rc3::IfcRectangularTrimmedSurface::setBasisSurface(::Ifc4x3_rc3::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc3::IfcRectangularTrimmedSurface::U1() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc3::IfcRectangularTrimmedSurface::U1() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcRectangularTrimmedSurface::setU1(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc3::IfcRectangularTrimmedSurface::V1() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc3::IfcRectangularTrimmedSurface::V1() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcRectangularTrimmedSurface::setV1(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc3::IfcRectangularTrimmedSurface::U2() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc3::IfcRectangularTrimmedSurface::U2() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcRectangularTrimmedSurface::setU2(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc3::IfcRectangularTrimmedSurface::V2() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc3::IfcRectangularTrimmedSurface::V2() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcRectangularTrimmedSurface::setV2(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -bool Ifc4x3_rc3::IfcRectangularTrimmedSurface::Usense() const { bool v = data_.get_attribute_value(5); return v; } +bool Ifc4x3_rc3::IfcRectangularTrimmedSurface::Usense() const { bool v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcRectangularTrimmedSurface::setUsense(bool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -bool Ifc4x3_rc3::IfcRectangularTrimmedSurface::Vsense() const { bool v = data_.get_attribute_value(6); return v; } +bool Ifc4x3_rc3::IfcRectangularTrimmedSurface::Vsense() const { bool v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcRectangularTrimmedSurface::setVsense(bool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc3::IfcRectangularTrimmedSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[883]); } const IfcParse::entity& Ifc4x3_rc3::IfcRectangularTrimmedSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[883]); } Ifc4x3_rc3::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x3_rc3::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(::Ifc4x3_rc3::IfcSurface* v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; populate_derived(); } +Ifc4x3_rc3::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(::Ifc4x3_rc3::IfcSurface* v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; populate_derived(); } // Function implementations for IfcRecurrencePattern -::Ifc4x3_rc3::IfcRecurrenceTypeEnum::Value Ifc4x3_rc3::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x3_rc3::IfcRecurrenceTypeEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_rc3::IfcRecurrenceTypeEnum::Value Ifc4x3_rc3::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x3_rc3::IfcRecurrenceTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x3_rc3::IfcRecurrencePattern::setRecurrenceType(::Ifc4x3_rc3::IfcRecurrenceTypeEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_rc3::IfcRecurrenceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc3::IfcRecurrencePattern::DayComponent() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc3::IfcRecurrencePattern::DayComponent() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcRecurrencePattern::setDayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc3::IfcRecurrencePattern::WeekdayComponent() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc3::IfcRecurrencePattern::WeekdayComponent() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcRecurrencePattern::setWeekdayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc3::IfcRecurrencePattern::MonthComponent() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc3::IfcRecurrencePattern::MonthComponent() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcRecurrencePattern::setMonthComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< int > Ifc4x3_rc3::IfcRecurrencePattern::Position() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x3_rc3::IfcRecurrencePattern::Position() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcRecurrencePattern::setPosition(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< int > Ifc4x3_rc3::IfcRecurrencePattern::Interval() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } int v = data_.get_attribute_value(5); return v; } +boost::optional< int > Ifc4x3_rc3::IfcRecurrencePattern::Interval() const { if(get_attribute_value(5).isNull()) { return boost::none; } int v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcRecurrencePattern::setInterval(boost::optional< int > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< int > Ifc4x3_rc3::IfcRecurrencePattern::Occurrences() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } int v = data_.get_attribute_value(6); return v; } +boost::optional< int > Ifc4x3_rc3::IfcRecurrencePattern::Occurrences() const { if(get_attribute_value(6).isNull()) { return boost::none; } int v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcRecurrencePattern::setOccurrences(boost::optional< int > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcTimePeriod >::ptr > Ifc4x3_rc3::IfcRecurrencePattern::TimePeriods() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc3::IfcTimePeriod >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcTimePeriod >::ptr > Ifc4x3_rc3::IfcRecurrencePattern::TimePeriods() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc3::IfcTimePeriod >(); } void Ifc4x3_rc3::IfcRecurrencePattern::setTimePeriods(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcTimePeriod >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc3::IfcRecurrencePattern::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[884]); } const IfcParse::entity& Ifc4x3_rc3::IfcRecurrencePattern::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[884]); } Ifc4x3_rc3::IfcRecurrencePattern::IfcRecurrencePattern(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcRecurrencePattern::IfcRecurrencePattern(::Ifc4x3_rc3::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_rc3::IfcTimePeriod >::ptr > v8_TimePeriods) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, (*v8_TimePeriods)->generalize()); }; populate_derived(); } +Ifc4x3_rc3::IfcRecurrencePattern::IfcRecurrencePattern(::Ifc4x3_rc3::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_rc3::IfcTimePeriod >::ptr > v8_TimePeriods) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, (*v8_TimePeriods)->generalize()); }; populate_derived(); } // Function implementations for IfcReference -boost::optional< std::string > Ifc4x3_rc3::IfcReference::TypeIdentifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcReference::TypeIdentifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcReference::setTypeIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc3::IfcReference::AttributeIdentifier() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcReference::AttributeIdentifier() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcReference::setAttributeIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc3::IfcReference::InstanceName() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcReference::InstanceName() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcReference::setInstanceName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc3::IfcReference::ListPositions() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc3::IfcReference::ListPositions() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcReference::setListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc3::IfcReference* Ifc4x3_rc3::IfcReference::InnerReference() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcReference>(true); } +::Ifc4x3_rc3::IfcReference* Ifc4x3_rc3::IfcReference::InnerReference() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcReference>(true); } void Ifc4x3_rc3::IfcReference::setInnerReference(::Ifc4x3_rc3::IfcReference* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc3::IfcReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[886]); } const IfcParse::entity& Ifc4x3_rc3::IfcReference::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[886]); } Ifc4x3_rc3::IfcReference::IfcReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::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_rc3::IfcReference* v5_InnerReference) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, v5_InnerReference ? v5_InnerReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::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_rc3::IfcReference* v5_InnerReference) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, v5_InnerReference ? v5_InnerReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcReferent -boost::optional< ::Ifc4x3_rc3::IfcReferentTypeEnum::Value > Ifc4x3_rc3::IfcReferent::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcReferentTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_rc3::IfcReferentTypeEnum::Value > Ifc4x3_rc3::IfcReferent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcReferentTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc3::IfcReferent::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcReferentTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc3::IfcReferentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc3::IfcReferent::RestartDistance() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc3::IfcReferent::RestartDistance() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcReferent::setRestartDistance(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcReferent::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[887]); } const IfcParse::entity& Ifc4x3_rc3::IfcReferent::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[887]); } Ifc4x3_rc3::IfcReferent::IfcReferent(IfcEntityInstanceData&& e) : IfcPositioningElement(std::move(e)) { } -Ifc4x3_rc3::IfcReferent::IfcReferent(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_rc3::IfcReferentTypeEnum::Value > v8_PredefinedType, boost::optional< double > v9_RestartDistance) : IfcPositioningElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_RestartDistance) {set_attribute_value(8, (*v9_RestartDistance)); }; populate_derived(); } +Ifc4x3_rc3::IfcReferent::IfcReferent(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_rc3::IfcReferentTypeEnum::Value > v8_PredefinedType, boost::optional< double > v9_RestartDistance) : IfcPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_RestartDistance) {set_attribute_value(8, (*v9_RestartDistance)); }; populate_derived(); } // Function implementations for IfcRegularTimeSeries -double Ifc4x3_rc3::IfcRegularTimeSeries::TimeStep() const { double v = data_.get_attribute_value(8); return v; } +double Ifc4x3_rc3::IfcRegularTimeSeries::TimeStep() const { double v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcRegularTimeSeries::setTimeStep(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -aggregate_of< ::Ifc4x3_rc3::IfcTimeSeriesValue >::ptr Ifc4x3_rc3::IfcRegularTimeSeries::Values() const { aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3_rc3::IfcTimeSeriesValue >(); } +aggregate_of< ::Ifc4x3_rc3::IfcTimeSeriesValue >::ptr Ifc4x3_rc3::IfcRegularTimeSeries::Values() const { aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3_rc3::IfcTimeSeriesValue >(); } void Ifc4x3_rc3::IfcRegularTimeSeries::setValues(aggregate_of< ::Ifc4x3_rc3::IfcTimeSeriesValue >::ptr v) { set_attribute_value(9, (v)->generalize());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcRegularTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[890]); } const IfcParse::entity& Ifc4x3_rc3::IfcRegularTimeSeries::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[890]); } Ifc4x3_rc3::IfcRegularTimeSeries::IfcRegularTimeSeries(IfcEntityInstanceData&& e) : IfcTimeSeries(std::move(e)) { } -Ifc4x3_rc3::IfcRegularTimeSeries::IfcRegularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc3::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc3::IfcUnit* v8_Unit, double v9_TimeStep, aggregate_of< ::Ifc4x3_rc3::IfcTimeSeriesValue >::ptr v10_Values) : IfcTimeSeries(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, (v10_Values)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcRegularTimeSeries::IfcRegularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc3::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc3::IfcUnit* v8_Unit, double v9_TimeStep, aggregate_of< ::Ifc4x3_rc3::IfcTimeSeriesValue >::ptr v10_Values) : IfcTimeSeries(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, (v10_Values)->generalize());; populate_derived(); } // Function implementations for IfcReinforcedSoil -boost::optional< ::Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::Value > Ifc4x3_rc3::IfcReinforcedSoil::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::Value > Ifc4x3_rc3::IfcReinforcedSoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcReinforcedSoil::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcReinforcedSoil::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[891]); } const IfcParse::entity& Ifc4x3_rc3::IfcReinforcedSoil::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[891]); } Ifc4x3_rc3::IfcReinforcedSoil::IfcReinforcedSoil(IfcEntityInstanceData&& e) : IfcEarthworksElement(std::move(e)) { } -Ifc4x3_rc3::IfcReinforcedSoil::IfcReinforcedSoil(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType) : IfcEarthworksElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcReinforcedSoil::IfcReinforcedSoil(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType) : IfcEarthworksElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcReinforcedSoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcReinforcementBarProperties -double Ifc4x3_rc3::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_rc3::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcReinforcementBarProperties::setTotalCrossSectionArea(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x3_rc3::IfcReinforcementBarProperties::SteelGrade() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_rc3::IfcReinforcementBarProperties::SteelGrade() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcReinforcementBarProperties::setSteelGrade(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc3::IfcReinforcementBarProperties::BarSurface() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc3::IfcReinforcementBarProperties::BarSurface() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::FromString(get_attribute_value(2)); } void Ifc4x3_rc3::IfcReinforcementBarProperties::setBarSurface(boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc3::IfcReinforcementBarProperties::EffectiveDepth() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc3::IfcReinforcementBarProperties::EffectiveDepth() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcReinforcementBarProperties::setEffectiveDepth(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc3::IfcReinforcementBarProperties::NominalBarDiameter() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc3::IfcReinforcementBarProperties::NominalBarDiameter() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcReinforcementBarProperties::setNominalBarDiameter(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_rc3::IfcReinforcementBarProperties::BarCount() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc3::IfcReinforcementBarProperties::BarCount() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcReinforcementBarProperties::setBarCount(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_rc3::IfcReinforcementBarProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[893]); } const IfcParse::entity& Ifc4x3_rc3::IfcReinforcementBarProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[893]); } Ifc4x3_rc3::IfcReinforcementBarProperties::IfcReinforcementBarProperties(IfcEntityInstanceData&& e) : IfcPreDefinedProperties(std::move(e)) { } -Ifc4x3_rc3::IfcReinforcementBarProperties::IfcReinforcementBarProperties(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, boost::optional< double > v4_EffectiveDepth, boost::optional< double > v5_NominalBarDiameter, boost::optional< double > v6_BarCount) : IfcPreDefinedProperties(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; populate_derived(); } +Ifc4x3_rc3::IfcReinforcementBarProperties::IfcReinforcementBarProperties(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, boost::optional< double > v4_EffectiveDepth, boost::optional< double > v5_NominalBarDiameter, boost::optional< double > v6_BarCount) : IfcPreDefinedProperties(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; populate_derived(); } // Function implementations for IfcReinforcementDefinitionProperties -boost::optional< std::string > Ifc4x3_rc3::IfcReinforcementDefinitionProperties::DefinitionType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcReinforcementDefinitionProperties::DefinitionType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcReinforcementDefinitionProperties::setDefinitionType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -aggregate_of< ::Ifc4x3_rc3::IfcSectionReinforcementProperties >::ptr Ifc4x3_rc3::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc3::IfcSectionReinforcementProperties >(); } +aggregate_of< ::Ifc4x3_rc3::IfcSectionReinforcementProperties >::ptr Ifc4x3_rc3::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc3::IfcSectionReinforcementProperties >(); } void Ifc4x3_rc3::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(aggregate_of< ::Ifc4x3_rc3::IfcSectionReinforcementProperties >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc3::IfcReinforcementDefinitionProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[894]); } const IfcParse::entity& Ifc4x3_rc3::IfcReinforcementDefinitionProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[894]); } Ifc4x3_rc3::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_rc3::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_DefinitionType, aggregate_of< ::Ifc4x3_rc3::IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, (v6_ReinforcementSectionDefinitions)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_DefinitionType, aggregate_of< ::Ifc4x3_rc3::IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, (v6_ReinforcementSectionDefinitions)->generalize());; populate_derived(); } // Function implementations for IfcReinforcingBar -boost::optional< double > Ifc4x3_rc3::IfcReinforcingBar::NominalDiameter() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc3::IfcReinforcingBar::NominalDiameter() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc3::IfcReinforcingBar::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc3::IfcReinforcingBar::CrossSectionArea() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc3::IfcReinforcingBar::CrossSectionArea() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcReinforcingBar::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc3::IfcReinforcingBar::BarLength() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc3::IfcReinforcingBar::BarLength() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc3::IfcReinforcingBar::setBarLength(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value > Ifc4x3_rc3::IfcReinforcingBar::PredefinedType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::FromString(data_.get_attribute_value(12)); } +boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value > Ifc4x3_rc3::IfcReinforcingBar::PredefinedType() const { if(get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x3_rc3::IfcReinforcingBar::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value > v) { if (v) {set_attribute_value(12, EnumerationReference(&::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } -boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc3::IfcReinforcingBar::BarSurface() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc3::IfcReinforcingBar::BarSurface() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::FromString(get_attribute_value(13)); } void Ifc4x3_rc3::IfcReinforcingBar::setBarSurface(boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } const IfcParse::entity& Ifc4x3_rc3::IfcReinforcingBar::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[895]); } const IfcParse::entity& Ifc4x3_rc3::IfcReinforcingBar::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[895]); } Ifc4x3_rc3::IfcReinforcingBar::IfcReinforcingBar(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x3_rc3::IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< double > v10_NominalDiameter, boost::optional< double > v11_CrossSectionArea, boost::optional< double > v12_BarLength, boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; populate_derived(); } +Ifc4x3_rc3::IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< double > v10_NominalDiameter, boost::optional< double > v11_CrossSectionArea, boost::optional< double > v12_BarLength, boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; populate_derived(); } // Function implementations for IfcReinforcingBarType -::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value Ifc4x3_rc3::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value Ifc4x3_rc3::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcReinforcingBarType::setPredefinedType(::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3_rc3::IfcReinforcingBarType::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc3::IfcReinforcingBarType::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcReinforcingBarType::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc3::IfcReinforcingBarType::CrossSectionArea() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc3::IfcReinforcingBarType::CrossSectionArea() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc3::IfcReinforcingBarType::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_rc3::IfcReinforcingBarType::BarLength() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_rc3::IfcReinforcingBarType::BarLength() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_rc3::IfcReinforcingBarType::setBarLength(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc3::IfcReinforcingBarType::BarSurface() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc3::IfcReinforcingBarType::BarSurface() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::FromString(get_attribute_value(13)); } void Ifc4x3_rc3::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x3_rc3::IfcReinforcingBarType::BendingShapeCode() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcReinforcingBarType::BendingShapeCode() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x3_rc3::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr > Ifc4x3_rc3::IfcReinforcingBarType::BendingParameters() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(15); return es->as< ::Ifc4x3_rc3::IfcBendingParameterSelect >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr > Ifc4x3_rc3::IfcReinforcingBarType::BendingParameters() const { if(get_attribute_value(15).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(15); return es->as< ::Ifc4x3_rc3::IfcBendingParameterSelect >(); } void Ifc4x3_rc3::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr > v) { if (v) {set_attribute_value(15, (*v)->generalize());} else {unset_attribute_value(15);} } const IfcParse::entity& Ifc4x3_rc3::IfcReinforcingBarType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[898]); } const IfcParse::entity& Ifc4x3_rc3::IfcReinforcingBarType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[898]); } Ifc4x3_rc3::IfcReinforcingBarType::IfcReinforcingBarType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x3_rc3::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, (*v16_BendingParameters)->generalize()); }; populate_derived(); } +Ifc4x3_rc3::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_rc3::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, (*v16_BendingParameters)->generalize()); }; populate_derived(); } // Function implementations for IfcReinforcingElement -boost::optional< std::string > Ifc4x3_rc3::IfcReinforcingElement::SteelGrade() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcReinforcingElement::SteelGrade() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcReinforcingElement::setSteelGrade(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcReinforcingElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[900]); } const IfcParse::entity& Ifc4x3_rc3::IfcReinforcingElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[900]); } Ifc4x3_rc3::IfcReinforcingElement::IfcReinforcingElement(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_rc3::IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; populate_derived(); } +Ifc4x3_rc3::IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; populate_derived(); } // Function implementations for IfcReinforcingElementType @@ -14592,243 +14592,243 @@ Ifc4x3_rc3::IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId const IfcParse::entity& Ifc4x3_rc3::IfcReinforcingElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[901]); } const IfcParse::entity& Ifc4x3_rc3::IfcReinforcingElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[901]); } Ifc4x3_rc3::IfcReinforcingElementType::IfcReinforcingElementType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_rc3::IfcReinforcingElementType::IfcReinforcingElementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc3::IfcReinforcingElementType::IfcReinforcingElementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcReinforcingMesh -boost::optional< double > Ifc4x3_rc3::IfcReinforcingMesh::MeshLength() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc3::IfcReinforcingMesh::MeshLength() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc3::IfcReinforcingMesh::setMeshLength(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc3::IfcReinforcingMesh::MeshWidth() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc3::IfcReinforcingMesh::MeshWidth() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcReinforcingMesh::setMeshWidth(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc3::IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc3::IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc3::IfcReinforcingMesh::setLongitudinalBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_rc3::IfcReinforcingMesh::TransverseBarNominalDiameter() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_rc3::IfcReinforcingMesh::TransverseBarNominalDiameter() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_rc3::IfcReinforcingMesh::setTransverseBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3_rc3::IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_rc3::IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_rc3::IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3_rc3::IfcReinforcingMesh::TransverseBarCrossSectionArea() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3_rc3::IfcReinforcingMesh::TransverseBarCrossSectionArea() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3_rc3::IfcReinforcingMesh::setTransverseBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x3_rc3::IfcReinforcingMesh::LongitudinalBarSpacing() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3_rc3::IfcReinforcingMesh::LongitudinalBarSpacing() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3_rc3::IfcReinforcingMesh::setLongitudinalBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3_rc3::IfcReinforcingMesh::TransverseBarSpacing() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3_rc3::IfcReinforcingMesh::TransverseBarSpacing() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3_rc3::IfcReinforcingMesh::setTransverseBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value > Ifc4x3_rc3::IfcReinforcingMesh::PredefinedType() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::FromString(data_.get_attribute_value(17)); } +boost::optional< ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value > Ifc4x3_rc3::IfcReinforcingMesh::PredefinedType() const { if(get_attribute_value(17).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::FromString(get_attribute_value(17)); } void Ifc4x3_rc3::IfcReinforcingMesh::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value > v) { if (v) {set_attribute_value(17, EnumerationReference(&::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(17);} } const IfcParse::entity& Ifc4x3_rc3::IfcReinforcingMesh::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[902]); } const IfcParse::entity& Ifc4x3_rc3::IfcReinforcingMesh::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[902]); } Ifc4x3_rc3::IfcReinforcingMesh::IfcReinforcingMesh(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x3_rc3::IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< 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_rc3::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(18))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (EnumerationReference(&::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< 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_rc3::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(18))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (EnumerationReference(&::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); }; populate_derived(); } // Function implementations for IfcReinforcingMeshType -::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value Ifc4x3_rc3::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value Ifc4x3_rc3::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcReinforcingMeshType::setPredefinedType(::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3_rc3::IfcReinforcingMeshType::MeshLength() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc3::IfcReinforcingMeshType::MeshLength() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcReinforcingMeshType::setMeshLength(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc3::IfcReinforcingMeshType::MeshWidth() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc3::IfcReinforcingMeshType::MeshWidth() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc3::IfcReinforcingMeshType::setMeshWidth(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_rc3::IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_rc3::IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_rc3::IfcReinforcingMeshType::setLongitudinalBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3_rc3::IfcReinforcingMeshType::TransverseBarNominalDiameter() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_rc3::IfcReinforcingMeshType::TransverseBarNominalDiameter() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_rc3::IfcReinforcingMeshType::setTransverseBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3_rc3::IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3_rc3::IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3_rc3::IfcReinforcingMeshType::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x3_rc3::IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3_rc3::IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3_rc3::IfcReinforcingMeshType::setTransverseBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3_rc3::IfcReinforcingMeshType::LongitudinalBarSpacing() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3_rc3::IfcReinforcingMeshType::LongitudinalBarSpacing() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3_rc3::IfcReinforcingMeshType::setLongitudinalBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< double > Ifc4x3_rc3::IfcReinforcingMeshType::TransverseBarSpacing() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } double v = data_.get_attribute_value(17); return v; } +boost::optional< double > Ifc4x3_rc3::IfcReinforcingMeshType::TransverseBarSpacing() const { if(get_attribute_value(17).isNull()) { return boost::none; } double v = get_attribute_value(17); return v; } void Ifc4x3_rc3::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } -boost::optional< std::string > Ifc4x3_rc3::IfcReinforcingMeshType::BendingShapeCode() const { if(data_.get_attribute_value(18).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(18); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcReinforcingMeshType::BendingShapeCode() const { if(get_attribute_value(18).isNull()) { return boost::none; } std::string v = get_attribute_value(18); return v; } void Ifc4x3_rc3::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { if (v) {set_attribute_value(18, *v);} else {unset_attribute_value(18);} } -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr > Ifc4x3_rc3::IfcReinforcingMeshType::BendingParameters() const { if(data_.get_attribute_value(19).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(19); return es->as< ::Ifc4x3_rc3::IfcBendingParameterSelect >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr > Ifc4x3_rc3::IfcReinforcingMeshType::BendingParameters() const { if(get_attribute_value(19).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(19); return es->as< ::Ifc4x3_rc3::IfcBendingParameterSelect >(); } void Ifc4x3_rc3::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr > v) { if (v) {set_attribute_value(19, (*v)->generalize());} else {unset_attribute_value(19);} } const IfcParse::entity& Ifc4x3_rc3::IfcReinforcingMeshType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[903]); } const IfcParse::entity& Ifc4x3_rc3::IfcReinforcingMeshType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[903]); } Ifc4x3_rc3::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x3_rc3::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(20))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, (*v20_BendingParameters)->generalize()); }; populate_derived(); } +Ifc4x3_rc3::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(20))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, (*v20_BendingParameters)->generalize()); }; populate_derived(); } // Function implementations for IfcRelAggregates -::Ifc4x3_rc3::IfcObjectDefinition* Ifc4x3_rc3::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcObjectDefinition>(true); } +::Ifc4x3_rc3::IfcObjectDefinition* Ifc4x3_rc3::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcObjectDefinition>(true); } void Ifc4x3_rc3::IfcRelAggregates::setRelatingObject(::Ifc4x3_rc3::IfcObjectDefinition* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr Ifc4x3_rc3::IfcRelAggregates::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc3::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr Ifc4x3_rc3::IfcRelAggregates::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc3::IfcObjectDefinition >(); } void Ifc4x3_rc3::IfcRelAggregates::setRelatedObjects(aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc3::IfcRelAggregates::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[905]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelAggregates::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[905]); } Ifc4x3_rc3::IfcRelAggregates::IfcRelAggregates(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x3_rc3::IfcRelAggregates::IfcRelAggregates(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcRelAggregates::IfcRelAggregates(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelAssigns -aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr Ifc4x3_rc3::IfcRelAssigns::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc3::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr Ifc4x3_rc3::IfcRelAssigns::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc3::IfcObjectDefinition >(); } void Ifc4x3_rc3::IfcRelAssigns::setRelatedObjects(aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -boost::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > Ifc4x3_rc3::IfcRelAssigns::RelatedObjectsType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcObjectTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > Ifc4x3_rc3::IfcRelAssigns::RelatedObjectsType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcObjectTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc3::IfcRelAssigns::setRelatedObjectsType(boost::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssigns::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[906]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssigns::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[906]); } Ifc4x3_rc3::IfcRelAssigns::IfcRelAssigns(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_rc3::IfcRelAssigns::IfcRelAssigns(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) : IfcRelationship(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }; populate_derived(); } +Ifc4x3_rc3::IfcRelAssigns::IfcRelAssigns(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }; populate_derived(); } // Function implementations for IfcRelAssignsToActor -::Ifc4x3_rc3::IfcActor* Ifc4x3_rc3::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcActor>(true); } +::Ifc4x3_rc3::IfcActor* Ifc4x3_rc3::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcActor>(true); } void Ifc4x3_rc3::IfcRelAssignsToActor::setRelatingActor(::Ifc4x3_rc3::IfcActor* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc3::IfcActorRole* Ifc4x3_rc3::IfcRelAssignsToActor::ActingRole() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc3::IfcActorRole>(true); } +::Ifc4x3_rc3::IfcActorRole* Ifc4x3_rc3::IfcRelAssignsToActor::ActingRole() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc3::IfcActorRole>(true); } void Ifc4x3_rc3::IfcRelAssignsToActor::setActingRole(::Ifc4x3_rc3::IfcActorRole* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssignsToActor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[907]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssignsToActor::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[907]); } Ifc4x3_rc3::IfcRelAssignsToActor::IfcRelAssignsToActor(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_rc3::IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcActor* v7_RelatingActor, ::Ifc4x3_rc3::IfcActorRole* v8_ActingRole) : IfcRelAssigns(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingActor ? v7_RelatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_ActingRole ? v8_ActingRole->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcActor* v7_RelatingActor, ::Ifc4x3_rc3::IfcActorRole* v8_ActingRole) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingActor ? v7_RelatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_ActingRole ? v8_ActingRole->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToControl -::Ifc4x3_rc3::IfcControl* Ifc4x3_rc3::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcControl>(true); } +::Ifc4x3_rc3::IfcControl* Ifc4x3_rc3::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcControl>(true); } void Ifc4x3_rc3::IfcRelAssignsToControl::setRelatingControl(::Ifc4x3_rc3::IfcControl* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssignsToControl::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[908]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssignsToControl::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[908]); } Ifc4x3_rc3::IfcRelAssignsToControl::IfcRelAssignsToControl(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_rc3::IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcControl* v7_RelatingControl) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingControl ? v7_RelatingControl->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcControl* v7_RelatingControl) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingControl ? v7_RelatingControl->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToGroup -::Ifc4x3_rc3::IfcGroup* Ifc4x3_rc3::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcGroup>(true); } +::Ifc4x3_rc3::IfcGroup* Ifc4x3_rc3::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcGroup>(true); } void Ifc4x3_rc3::IfcRelAssignsToGroup::setRelatingGroup(::Ifc4x3_rc3::IfcGroup* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssignsToGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[909]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssignsToGroup::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[909]); } Ifc4x3_rc3::IfcRelAssignsToGroup::IfcRelAssignsToGroup(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_rc3::IfcRelAssignsToGroup::IfcRelAssignsToGroup(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcGroup* v7_RelatingGroup) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcRelAssignsToGroup::IfcRelAssignsToGroup(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcGroup* v7_RelatingGroup) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToGroupByFactor -double Ifc4x3_rc3::IfcRelAssignsToGroupByFactor::Factor() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x3_rc3::IfcRelAssignsToGroupByFactor::Factor() const { double v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcRelAssignsToGroupByFactor::setFactor(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssignsToGroupByFactor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[910]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssignsToGroupByFactor::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[910]); } Ifc4x3_rc3::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(IfcEntityInstanceData&& e) : IfcRelAssignsToGroup(std::move(e)) { } -Ifc4x3_rc3::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcGroup* v7_RelatingGroup, double v8_Factor) : IfcRelAssignsToGroup(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_Factor));; populate_derived(); } +Ifc4x3_rc3::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcGroup* v7_RelatingGroup, double v8_Factor) : IfcRelAssignsToGroup(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_Factor));; populate_derived(); } // Function implementations for IfcRelAssignsToProcess -::Ifc4x3_rc3::IfcProcessSelect* Ifc4x3_rc3::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcProcessSelect>(true); } +::Ifc4x3_rc3::IfcProcessSelect* Ifc4x3_rc3::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcProcessSelect>(true); } void Ifc4x3_rc3::IfcRelAssignsToProcess::setRelatingProcess(::Ifc4x3_rc3::IfcProcessSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc3::IfcMeasureWithUnit* Ifc4x3_rc3::IfcRelAssignsToProcess::QuantityInProcess() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc3::IfcMeasureWithUnit>(true); } +::Ifc4x3_rc3::IfcMeasureWithUnit* Ifc4x3_rc3::IfcRelAssignsToProcess::QuantityInProcess() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc3::IfcMeasureWithUnit>(true); } void Ifc4x3_rc3::IfcRelAssignsToProcess::setQuantityInProcess(::Ifc4x3_rc3::IfcMeasureWithUnit* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssignsToProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[911]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssignsToProcess::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[911]); } Ifc4x3_rc3::IfcRelAssignsToProcess::IfcRelAssignsToProcess(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_rc3::IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcProcessSelect* v7_RelatingProcess, ::Ifc4x3_rc3::IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProcess ? v7_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_QuantityInProcess ? v8_QuantityInProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcProcessSelect* v7_RelatingProcess, ::Ifc4x3_rc3::IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProcess ? v7_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_QuantityInProcess ? v8_QuantityInProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToProduct -::Ifc4x3_rc3::IfcProductSelect* Ifc4x3_rc3::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcProductSelect>(true); } +::Ifc4x3_rc3::IfcProductSelect* Ifc4x3_rc3::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcProductSelect>(true); } void Ifc4x3_rc3::IfcRelAssignsToProduct::setRelatingProduct(::Ifc4x3_rc3::IfcProductSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssignsToProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[912]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssignsToProduct::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[912]); } Ifc4x3_rc3::IfcRelAssignsToProduct::IfcRelAssignsToProduct(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_rc3::IfcRelAssignsToProduct::IfcRelAssignsToProduct(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcProductSelect* v7_RelatingProduct) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProduct ? v7_RelatingProduct->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcRelAssignsToProduct::IfcRelAssignsToProduct(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcProductSelect* v7_RelatingProduct) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProduct ? v7_RelatingProduct->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToResource -::Ifc4x3_rc3::IfcResourceSelect* Ifc4x3_rc3::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcResourceSelect>(true); } +::Ifc4x3_rc3::IfcResourceSelect* Ifc4x3_rc3::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcResourceSelect>(true); } void Ifc4x3_rc3::IfcRelAssignsToResource::setRelatingResource(::Ifc4x3_rc3::IfcResourceSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssignsToResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[913]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssignsToResource::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[913]); } Ifc4x3_rc3::IfcRelAssignsToResource::IfcRelAssignsToResource(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_rc3::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingResource ? v7_RelatingResource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc3::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc3::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingResource ? v7_RelatingResource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociates -aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr Ifc4x3_rc3::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc3::IfcDefinitionSelect >(); } +aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr Ifc4x3_rc3::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc3::IfcDefinitionSelect >(); } void Ifc4x3_rc3::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociates::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[914]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociates::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[914]); } Ifc4x3_rc3::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_rc3::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelAssociatesApproval -::Ifc4x3_rc3::IfcApproval* Ifc4x3_rc3::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcApproval>(true); } +::Ifc4x3_rc3::IfcApproval* Ifc4x3_rc3::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcApproval>(true); } void Ifc4x3_rc3::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4x3_rc3::IfcApproval* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesApproval::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[915]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesApproval::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[915]); } Ifc4x3_rc3::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_rc3::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcApproval* v6_RelatingApproval) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingApproval ? v6_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcApproval* v6_RelatingApproval) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingApproval ? v6_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesClassification -::Ifc4x3_rc3::IfcClassificationSelect* Ifc4x3_rc3::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcClassificationSelect>(true); } +::Ifc4x3_rc3::IfcClassificationSelect* Ifc4x3_rc3::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcClassificationSelect>(true); } void Ifc4x3_rc3::IfcRelAssociatesClassification::setRelatingClassification(::Ifc4x3_rc3::IfcClassificationSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesClassification::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[916]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesClassification::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[916]); } Ifc4x3_rc3::IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_rc3::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingClassification ? v6_RelatingClassification->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingClassification ? v6_RelatingClassification->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesConstraint -boost::optional< std::string > Ifc4x3_rc3::IfcRelAssociatesConstraint::Intent() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcRelAssociatesConstraint::Intent() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcRelAssociatesConstraint::setIntent(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc3::IfcConstraint* Ifc4x3_rc3::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcConstraint>(true); } +::Ifc4x3_rc3::IfcConstraint* Ifc4x3_rc3::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcConstraint>(true); } void Ifc4x3_rc3::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x3_rc3::IfcConstraint* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesConstraint::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[917]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesConstraint::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[917]); } Ifc4x3_rc3::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_rc3::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc3::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, v7_RelatingConstraint ? v7_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc3::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, v7_RelatingConstraint ? v7_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesDocument -::Ifc4x3_rc3::IfcDocumentSelect* Ifc4x3_rc3::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcDocumentSelect>(true); } +::Ifc4x3_rc3::IfcDocumentSelect* Ifc4x3_rc3::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcDocumentSelect>(true); } void Ifc4x3_rc3::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4x3_rc3::IfcDocumentSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesDocument::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[918]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesDocument::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[918]); } Ifc4x3_rc3::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_rc3::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingDocument ? v6_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingDocument ? v6_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesLibrary -::Ifc4x3_rc3::IfcLibrarySelect* Ifc4x3_rc3::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcLibrarySelect>(true); } +::Ifc4x3_rc3::IfcLibrarySelect* Ifc4x3_rc3::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcLibrarySelect>(true); } void Ifc4x3_rc3::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4x3_rc3::IfcLibrarySelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesLibrary::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[919]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesLibrary::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[919]); } Ifc4x3_rc3::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_rc3::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingLibrary ? v6_RelatingLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingLibrary ? v6_RelatingLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesMaterial -::Ifc4x3_rc3::IfcMaterialSelect* Ifc4x3_rc3::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcMaterialSelect>(true); } +::Ifc4x3_rc3::IfcMaterialSelect* Ifc4x3_rc3::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcMaterialSelect>(true); } void Ifc4x3_rc3::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4x3_rc3::IfcMaterialSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesMaterial::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[920]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesMaterial::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[920]); } Ifc4x3_rc3::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_rc3::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingMaterial ? v6_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingMaterial ? v6_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesProfileDef -::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcProfileDef>(true); } +::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcProfileDef>(true); } void Ifc4x3_rc3::IfcRelAssociatesProfileDef::setRelatingProfileDef(::Ifc4x3_rc3::IfcProfileDef* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[921]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelAssociatesProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[921]); } Ifc4x3_rc3::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_rc3::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingProfileDef ? v6_RelatingProfileDef->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingProfileDef ? v6_RelatingProfileDef->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnects @@ -14836,165 +14836,165 @@ Ifc4x3_rc3::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v const IfcParse::entity& Ifc4x3_rc3::IfcRelConnects::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[923]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelConnects::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[923]); } Ifc4x3_rc3::IfcRelConnects::IfcRelConnects(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_rc3::IfcRelConnects::IfcRelConnects(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc3::IfcRelConnects::IfcRelConnects(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRelConnectsElements -::Ifc4x3_rc3::IfcConnectionGeometry* Ifc4x3_rc3::IfcRelConnectsElements::ConnectionGeometry() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcConnectionGeometry>(true); } +::Ifc4x3_rc3::IfcConnectionGeometry* Ifc4x3_rc3::IfcRelConnectsElements::ConnectionGeometry() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcConnectionGeometry>(true); } void Ifc4x3_rc3::IfcRelConnectsElements::setConnectionGeometry(::Ifc4x3_rc3::IfcConnectionGeometry* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcElement* Ifc4x3_rc3::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcElement>(true); } +::Ifc4x3_rc3::IfcElement* Ifc4x3_rc3::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcElement>(true); } void Ifc4x3_rc3::IfcRelConnectsElements::setRelatingElement(::Ifc4x3_rc3::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc3::IfcElement* Ifc4x3_rc3::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcElement>(true); } +::Ifc4x3_rc3::IfcElement* Ifc4x3_rc3::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcElement>(true); } void Ifc4x3_rc3::IfcRelConnectsElements::setRelatedElement(::Ifc4x3_rc3::IfcElement* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc3::IfcRelConnectsElements::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[924]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelConnectsElements::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[924]); } Ifc4x3_rc3::IfcRelConnectsElements::IfcRelConnectsElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc3::IfcRelConnectsElements::IfcRelConnectsElements(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_rc3::IfcElement* v6_RelatingElement, ::Ifc4x3_rc3::IfcElement* v7_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcRelConnectsElements::IfcRelConnectsElements(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_rc3::IfcElement* v6_RelatingElement, ::Ifc4x3_rc3::IfcElement* v7_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsPathElements -std::vector< int > /*[0:?]*/ Ifc4x3_rc3::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = data_.get_attribute_value(7); return v; } +std::vector< int > /*[0:?]*/ Ifc4x3_rc3::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcRelConnectsPathElements::setRelatingPriorities(std::vector< int > /*[0:?]*/ v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector< int > /*[0:?]*/ Ifc4x3_rc3::IfcRelConnectsPathElements::RelatedPriorities() const { std::vector< int > /*[0:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< int > /*[0:?]*/ Ifc4x3_rc3::IfcRelConnectsPathElements::RelatedPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcRelConnectsPathElements::setRelatedPriorities(std::vector< int > /*[0:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc3::IfcConnectionTypeEnum::Value Ifc4x3_rc3::IfcRelConnectsPathElements::RelatedConnectionType() const { return ::Ifc4x3_rc3::IfcConnectionTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcConnectionTypeEnum::Value Ifc4x3_rc3::IfcRelConnectsPathElements::RelatedConnectionType() const { return ::Ifc4x3_rc3::IfcConnectionTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcRelConnectsPathElements::setRelatedConnectionType(::Ifc4x3_rc3::IfcConnectionTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc3::IfcConnectionTypeEnum::Value Ifc4x3_rc3::IfcRelConnectsPathElements::RelatingConnectionType() const { return ::Ifc4x3_rc3::IfcConnectionTypeEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3_rc3::IfcConnectionTypeEnum::Value Ifc4x3_rc3::IfcRelConnectsPathElements::RelatingConnectionType() const { return ::Ifc4x3_rc3::IfcConnectionTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc3::IfcRelConnectsPathElements::setRelatingConnectionType(::Ifc4x3_rc3::IfcConnectionTypeEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc3::IfcConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_rc3::IfcRelConnectsPathElements::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[925]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelConnectsPathElements::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[925]); } Ifc4x3_rc3::IfcRelConnectsPathElements::IfcRelConnectsPathElements(IfcEntityInstanceData&& e) : IfcRelConnectsElements(std::move(e)) { } -Ifc4x3_rc3::IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_rc3::IfcElement* v6_RelatingElement, ::Ifc4x3_rc3::IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_rc3::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_rc3::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; populate_derived(); } +Ifc4x3_rc3::IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_rc3::IfcElement* v6_RelatingElement, ::Ifc4x3_rc3::IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_rc3::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_rc3::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; populate_derived(); } // Function implementations for IfcRelConnectsPortToElement -::Ifc4x3_rc3::IfcPort* Ifc4x3_rc3::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcPort>(true); } +::Ifc4x3_rc3::IfcPort* Ifc4x3_rc3::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcPort>(true); } void Ifc4x3_rc3::IfcRelConnectsPortToElement::setRelatingPort(::Ifc4x3_rc3::IfcPort* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcDistributionElement* Ifc4x3_rc3::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcDistributionElement>(true); } +::Ifc4x3_rc3::IfcDistributionElement* Ifc4x3_rc3::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcDistributionElement>(true); } void Ifc4x3_rc3::IfcRelConnectsPortToElement::setRelatedElement(::Ifc4x3_rc3::IfcDistributionElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc3::IfcRelConnectsPortToElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[927]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelConnectsPortToElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[927]); } Ifc4x3_rc3::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc3::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcPort* v5_RelatingPort, ::Ifc4x3_rc3::IfcDistributionElement* v6_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcPort* v5_RelatingPort, ::Ifc4x3_rc3::IfcDistributionElement* v6_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsPorts -::Ifc4x3_rc3::IfcPort* Ifc4x3_rc3::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcPort>(true); } +::Ifc4x3_rc3::IfcPort* Ifc4x3_rc3::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcPort>(true); } void Ifc4x3_rc3::IfcRelConnectsPorts::setRelatingPort(::Ifc4x3_rc3::IfcPort* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcPort* Ifc4x3_rc3::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcPort>(true); } +::Ifc4x3_rc3::IfcPort* Ifc4x3_rc3::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcPort>(true); } void Ifc4x3_rc3::IfcRelConnectsPorts::setRelatedPort(::Ifc4x3_rc3::IfcPort* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc3::IfcElement* Ifc4x3_rc3::IfcRelConnectsPorts::RealizingElement() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcElement>(true); } +::Ifc4x3_rc3::IfcElement* Ifc4x3_rc3::IfcRelConnectsPorts::RealizingElement() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcElement>(true); } void Ifc4x3_rc3::IfcRelConnectsPorts::setRealizingElement(::Ifc4x3_rc3::IfcElement* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc3::IfcRelConnectsPorts::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[926]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelConnectsPorts::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[926]); } Ifc4x3_rc3::IfcRelConnectsPorts::IfcRelConnectsPorts(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc3::IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcPort* v5_RelatingPort, ::Ifc4x3_rc3::IfcPort* v6_RelatedPort, ::Ifc4x3_rc3::IfcElement* v7_RealizingElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedPort ? v6_RelatedPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RealizingElement ? v7_RealizingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcPort* v5_RelatingPort, ::Ifc4x3_rc3::IfcPort* v6_RelatedPort, ::Ifc4x3_rc3::IfcElement* v7_RealizingElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedPort ? v6_RelatedPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RealizingElement ? v7_RealizingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsStructuralActivity -::Ifc4x3_rc3::IfcStructuralActivityAssignmentSelect* Ifc4x3_rc3::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcStructuralActivityAssignmentSelect>(true); } +::Ifc4x3_rc3::IfcStructuralActivityAssignmentSelect* Ifc4x3_rc3::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcStructuralActivityAssignmentSelect>(true); } void Ifc4x3_rc3::IfcRelConnectsStructuralActivity::setRelatingElement(::Ifc4x3_rc3::IfcStructuralActivityAssignmentSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcStructuralActivity* Ifc4x3_rc3::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcStructuralActivity>(true); } +::Ifc4x3_rc3::IfcStructuralActivity* Ifc4x3_rc3::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcStructuralActivity>(true); } void Ifc4x3_rc3::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(::Ifc4x3_rc3::IfcStructuralActivity* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc3::IfcRelConnectsStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[928]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelConnectsStructuralActivity::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[928]); } Ifc4x3_rc3::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc3::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcStructuralActivityAssignmentSelect* v5_RelatingElement, ::Ifc4x3_rc3::IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralActivity ? v6_RelatedStructuralActivity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcStructuralActivityAssignmentSelect* v5_RelatingElement, ::Ifc4x3_rc3::IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralActivity ? v6_RelatedStructuralActivity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsStructuralMember -::Ifc4x3_rc3::IfcStructuralMember* Ifc4x3_rc3::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcStructuralMember>(true); } +::Ifc4x3_rc3::IfcStructuralMember* Ifc4x3_rc3::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcStructuralMember>(true); } void Ifc4x3_rc3::IfcRelConnectsStructuralMember::setRelatingStructuralMember(::Ifc4x3_rc3::IfcStructuralMember* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcStructuralConnection* Ifc4x3_rc3::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcStructuralConnection>(true); } +::Ifc4x3_rc3::IfcStructuralConnection* Ifc4x3_rc3::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcStructuralConnection>(true); } void Ifc4x3_rc3::IfcRelConnectsStructuralMember::setRelatedStructuralConnection(::Ifc4x3_rc3::IfcStructuralConnection* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc3::IfcBoundaryCondition* Ifc4x3_rc3::IfcRelConnectsStructuralMember::AppliedCondition() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcBoundaryCondition>(true); } +::Ifc4x3_rc3::IfcBoundaryCondition* Ifc4x3_rc3::IfcRelConnectsStructuralMember::AppliedCondition() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcBoundaryCondition>(true); } void Ifc4x3_rc3::IfcRelConnectsStructuralMember::setAppliedCondition(::Ifc4x3_rc3::IfcBoundaryCondition* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc3::IfcStructuralConnectionCondition* Ifc4x3_rc3::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc3::IfcStructuralConnectionCondition>(true); } +::Ifc4x3_rc3::IfcStructuralConnectionCondition* Ifc4x3_rc3::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc3::IfcStructuralConnectionCondition>(true); } void Ifc4x3_rc3::IfcRelConnectsStructuralMember::setAdditionalConditions(::Ifc4x3_rc3::IfcStructuralConnectionCondition* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc4x3_rc3::IfcRelConnectsStructuralMember::SupportedLength() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc3::IfcRelConnectsStructuralMember::SupportedLength() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(true); } void Ifc4x3_rc3::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(::Ifc4x3_rc3::IfcAxis2Placement3D* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcRelConnectsStructuralMember::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[929]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelConnectsStructuralMember::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[929]); } Ifc4x3_rc3::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc3::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x3_rc3::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x3_rc3::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x3_rc3::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x3_rc3::IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x3_rc3::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x3_rc3::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x3_rc3::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x3_rc3::IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsWithEccentricity -::Ifc4x3_rc3::IfcConnectionGeometry* Ifc4x3_rc3::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_rc3::IfcConnectionGeometry>(true); } +::Ifc4x3_rc3::IfcConnectionGeometry* Ifc4x3_rc3::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_rc3::IfcConnectionGeometry>(true); } void Ifc4x3_rc3::IfcRelConnectsWithEccentricity::setConnectionConstraint(::Ifc4x3_rc3::IfcConnectionGeometry* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_rc3::IfcRelConnectsWithEccentricity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[930]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelConnectsWithEccentricity::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[930]); } Ifc4x3_rc3::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(IfcEntityInstanceData&& e) : IfcRelConnectsStructuralMember(std::move(e)) { } -Ifc4x3_rc3::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x3_rc3::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x3_rc3::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x3_rc3::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x3_rc3::IfcAxis2Placement3D* v10_ConditionCoordinateSystem, ::Ifc4x3_rc3::IfcConnectionGeometry* v11_ConnectionConstraint) : IfcRelConnectsStructuralMember(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ConnectionConstraint ? v11_ConnectionConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x3_rc3::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x3_rc3::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x3_rc3::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x3_rc3::IfcAxis2Placement3D* v10_ConditionCoordinateSystem, ::Ifc4x3_rc3::IfcConnectionGeometry* v11_ConnectionConstraint) : IfcRelConnectsStructuralMember(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ConnectionConstraint ? v11_ConnectionConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsWithRealizingElements -aggregate_of< ::Ifc4x3_rc3::IfcElement >::ptr Ifc4x3_rc3::IfcRelConnectsWithRealizingElements::RealizingElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc3::IfcElement >(); } +aggregate_of< ::Ifc4x3_rc3::IfcElement >::ptr Ifc4x3_rc3::IfcRelConnectsWithRealizingElements::RealizingElements() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc3::IfcElement >(); } void Ifc4x3_rc3::IfcRelConnectsWithRealizingElements::setRealizingElements(aggregate_of< ::Ifc4x3_rc3::IfcElement >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc4x3_rc3::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcRelConnectsWithRealizingElements::setConnectionType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcRelConnectsWithRealizingElements::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[931]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelConnectsWithRealizingElements::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[931]); } Ifc4x3_rc3::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(IfcEntityInstanceData&& e) : IfcRelConnectsElements(std::move(e)) { } -Ifc4x3_rc3::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_rc3::IfcElement* v6_RelatingElement, ::Ifc4x3_rc3::IfcElement* v7_RelatedElement, aggregate_of< ::Ifc4x3_rc3::IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RealizingElements)->generalize()); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; populate_derived(); } +Ifc4x3_rc3::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_rc3::IfcElement* v6_RelatingElement, ::Ifc4x3_rc3::IfcElement* v7_RelatedElement, aggregate_of< ::Ifc4x3_rc3::IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RealizingElements)->generalize()); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; populate_derived(); } // Function implementations for IfcRelContainedInSpatialStructure -aggregate_of< ::Ifc4x3_rc3::IfcProduct >::ptr Ifc4x3_rc3::IfcRelContainedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc3::IfcProduct >(); } +aggregate_of< ::Ifc4x3_rc3::IfcProduct >::ptr Ifc4x3_rc3::IfcRelContainedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc3::IfcProduct >(); } void Ifc4x3_rc3::IfcRelContainedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_rc3::IfcProduct >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcSpatialElement* Ifc4x3_rc3::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcSpatialElement>(true); } +::Ifc4x3_rc3::IfcSpatialElement* Ifc4x3_rc3::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcSpatialElement>(true); } void Ifc4x3_rc3::IfcRelContainedInSpatialStructure::setRelatingStructure(::Ifc4x3_rc3::IfcSpatialElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc3::IfcRelContainedInSpatialStructure::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[932]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelContainedInSpatialStructure::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[932]); } Ifc4x3_rc3::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc3::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcProduct >::ptr v5_RelatedElements, ::Ifc4x3_rc3::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcProduct >::ptr v5_RelatedElements, ::Ifc4x3_rc3::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelCoversBldgElements -::Ifc4x3_rc3::IfcElement* Ifc4x3_rc3::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcElement>(true); } +::Ifc4x3_rc3::IfcElement* Ifc4x3_rc3::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcElement>(true); } void Ifc4x3_rc3::IfcRelCoversBldgElements::setRelatingBuildingElement(::Ifc4x3_rc3::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_rc3::IfcCovering >::ptr Ifc4x3_rc3::IfcRelCoversBldgElements::RelatedCoverings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc3::IfcCovering >(); } +aggregate_of< ::Ifc4x3_rc3::IfcCovering >::ptr Ifc4x3_rc3::IfcRelCoversBldgElements::RelatedCoverings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc3::IfcCovering >(); } void Ifc4x3_rc3::IfcRelCoversBldgElements::setRelatedCoverings(aggregate_of< ::Ifc4x3_rc3::IfcCovering >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc3::IfcRelCoversBldgElements::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[933]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelCoversBldgElements::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[933]); } Ifc4x3_rc3::IfcRelCoversBldgElements::IfcRelCoversBldgElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc3::IfcRelCoversBldgElements::IfcRelCoversBldgElements(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcElement* v5_RelatingBuildingElement, aggregate_of< ::Ifc4x3_rc3::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcRelCoversBldgElements::IfcRelCoversBldgElements(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcElement* v5_RelatingBuildingElement, aggregate_of< ::Ifc4x3_rc3::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } // Function implementations for IfcRelCoversSpaces -::Ifc4x3_rc3::IfcSpace* Ifc4x3_rc3::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcSpace>(true); } +::Ifc4x3_rc3::IfcSpace* Ifc4x3_rc3::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcSpace>(true); } void Ifc4x3_rc3::IfcRelCoversSpaces::setRelatingSpace(::Ifc4x3_rc3::IfcSpace* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_rc3::IfcCovering >::ptr Ifc4x3_rc3::IfcRelCoversSpaces::RelatedCoverings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc3::IfcCovering >(); } +aggregate_of< ::Ifc4x3_rc3::IfcCovering >::ptr Ifc4x3_rc3::IfcRelCoversSpaces::RelatedCoverings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc3::IfcCovering >(); } void Ifc4x3_rc3::IfcRelCoversSpaces::setRelatedCoverings(aggregate_of< ::Ifc4x3_rc3::IfcCovering >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc3::IfcRelCoversSpaces::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[934]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelCoversSpaces::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[934]); } Ifc4x3_rc3::IfcRelCoversSpaces::IfcRelCoversSpaces(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc3::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcSpace* v5_RelatingSpace, aggregate_of< ::Ifc4x3_rc3::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcSpace* v5_RelatingSpace, aggregate_of< ::Ifc4x3_rc3::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } // Function implementations for IfcRelDeclares -::Ifc4x3_rc3::IfcContext* Ifc4x3_rc3::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcContext>(true); } +::Ifc4x3_rc3::IfcContext* Ifc4x3_rc3::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcContext>(true); } void Ifc4x3_rc3::IfcRelDeclares::setRelatingContext(::Ifc4x3_rc3::IfcContext* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr Ifc4x3_rc3::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc3::IfcDefinitionSelect >(); } +aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr Ifc4x3_rc3::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc3::IfcDefinitionSelect >(); } void Ifc4x3_rc3::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc3::IfcRelDeclares::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[935]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelDeclares::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[935]); } Ifc4x3_rc3::IfcRelDeclares::IfcRelDeclares(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_rc3::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingContext ? v5_RelatingContext->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedDefinitions)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_rc3::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingContext ? v5_RelatingContext->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedDefinitions)->generalize());; populate_derived(); } // Function implementations for IfcRelDecomposes @@ -15002,7 +15002,7 @@ Ifc4x3_rc3::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_rc3 const IfcParse::entity& Ifc4x3_rc3::IfcRelDecomposes::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[936]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelDecomposes::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[936]); } Ifc4x3_rc3::IfcRelDecomposes::IfcRelDecomposes(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_rc3::IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc3::IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRelDefines @@ -15010,196 +15010,196 @@ Ifc4x3_rc3::IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, ::Ifc4x3 const IfcParse::entity& Ifc4x3_rc3::IfcRelDefines::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[937]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelDefines::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[937]); } Ifc4x3_rc3::IfcRelDefines::IfcRelDefines(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_rc3::IfcRelDefines::IfcRelDefines(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc3::IfcRelDefines::IfcRelDefines(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRelDefinesByObject -aggregate_of< ::Ifc4x3_rc3::IfcObject >::ptr Ifc4x3_rc3::IfcRelDefinesByObject::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc3::IfcObject >(); } +aggregate_of< ::Ifc4x3_rc3::IfcObject >::ptr Ifc4x3_rc3::IfcRelDefinesByObject::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc3::IfcObject >(); } void Ifc4x3_rc3::IfcRelDefinesByObject::setRelatedObjects(aggregate_of< ::Ifc4x3_rc3::IfcObject >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcObject* Ifc4x3_rc3::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcObject>(true); } +::Ifc4x3_rc3::IfcObject* Ifc4x3_rc3::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcObject>(true); } void Ifc4x3_rc3::IfcRelDefinesByObject::setRelatingObject(::Ifc4x3_rc3::IfcObject* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc3::IfcRelDefinesByObject::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[938]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelDefinesByObject::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[938]); } Ifc4x3_rc3::IfcRelDefinesByObject::IfcRelDefinesByObject(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x3_rc3::IfcRelDefinesByObject::IfcRelDefinesByObject(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcObject* v6_RelatingObject) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingObject ? v6_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcRelDefinesByObject::IfcRelDefinesByObject(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcObject* v6_RelatingObject) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingObject ? v6_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelDefinesByProperties -aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr Ifc4x3_rc3::IfcRelDefinesByProperties::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc3::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr Ifc4x3_rc3::IfcRelDefinesByProperties::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc3::IfcObjectDefinition >(); } void Ifc4x3_rc3::IfcRelDefinesByProperties::setRelatedObjects(aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcPropertySetDefinitionSelect* Ifc4x3_rc3::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcPropertySetDefinitionSelect>(true); } +::Ifc4x3_rc3::IfcPropertySetDefinitionSelect* Ifc4x3_rc3::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcPropertySetDefinitionSelect>(true); } void Ifc4x3_rc3::IfcRelDefinesByProperties::setRelatingPropertyDefinition(::Ifc4x3_rc3::IfcPropertySetDefinitionSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc3::IfcRelDefinesByProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[939]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelDefinesByProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[939]); } Ifc4x3_rc3::IfcRelDefinesByProperties::IfcRelDefinesByProperties(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x3_rc3::IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcPropertySetDefinitionSelect* v6_RelatingPropertyDefinition) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingPropertyDefinition ? v6_RelatingPropertyDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcPropertySetDefinitionSelect* v6_RelatingPropertyDefinition) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingPropertyDefinition ? v6_RelatingPropertyDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelDefinesByTemplate -aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr Ifc4x3_rc3::IfcRelDefinesByTemplate::RelatedPropertySets() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc3::IfcPropertySetDefinition >(); } +aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr Ifc4x3_rc3::IfcRelDefinesByTemplate::RelatedPropertySets() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc3::IfcPropertySetDefinition >(); } void Ifc4x3_rc3::IfcRelDefinesByTemplate::setRelatedPropertySets(aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcPropertySetTemplate* Ifc4x3_rc3::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcPropertySetTemplate>(true); } +::Ifc4x3_rc3::IfcPropertySetTemplate* Ifc4x3_rc3::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcPropertySetTemplate>(true); } void Ifc4x3_rc3::IfcRelDefinesByTemplate::setRelatingTemplate(::Ifc4x3_rc3::IfcPropertySetTemplate* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc3::IfcRelDefinesByTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[940]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelDefinesByTemplate::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[940]); } Ifc4x3_rc3::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x3_rc3::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr v5_RelatedPropertySets, ::Ifc4x3_rc3::IfcPropertySetTemplate* v6_RelatingTemplate) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedPropertySets)->generalize());set_attribute_value(5, v6_RelatingTemplate ? v6_RelatingTemplate->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr v5_RelatedPropertySets, ::Ifc4x3_rc3::IfcPropertySetTemplate* v6_RelatingTemplate) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedPropertySets)->generalize());set_attribute_value(5, v6_RelatingTemplate ? v6_RelatingTemplate->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelDefinesByType -aggregate_of< ::Ifc4x3_rc3::IfcObject >::ptr Ifc4x3_rc3::IfcRelDefinesByType::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc3::IfcObject >(); } +aggregate_of< ::Ifc4x3_rc3::IfcObject >::ptr Ifc4x3_rc3::IfcRelDefinesByType::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc3::IfcObject >(); } void Ifc4x3_rc3::IfcRelDefinesByType::setRelatedObjects(aggregate_of< ::Ifc4x3_rc3::IfcObject >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcTypeObject* Ifc4x3_rc3::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcTypeObject>(true); } +::Ifc4x3_rc3::IfcTypeObject* Ifc4x3_rc3::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcTypeObject>(true); } void Ifc4x3_rc3::IfcRelDefinesByType::setRelatingType(::Ifc4x3_rc3::IfcTypeObject* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc3::IfcRelDefinesByType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[941]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelDefinesByType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[941]); } Ifc4x3_rc3::IfcRelDefinesByType::IfcRelDefinesByType(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x3_rc3::IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcTypeObject* v6_RelatingType) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingType ? v6_RelatingType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3_rc3::IfcTypeObject* v6_RelatingType) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingType ? v6_RelatingType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelFillsElement -::Ifc4x3_rc3::IfcOpeningElement* Ifc4x3_rc3::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcOpeningElement>(true); } +::Ifc4x3_rc3::IfcOpeningElement* Ifc4x3_rc3::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcOpeningElement>(true); } void Ifc4x3_rc3::IfcRelFillsElement::setRelatingOpeningElement(::Ifc4x3_rc3::IfcOpeningElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcElement* Ifc4x3_rc3::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcElement>(true); } +::Ifc4x3_rc3::IfcElement* Ifc4x3_rc3::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcElement>(true); } void Ifc4x3_rc3::IfcRelFillsElement::setRelatedBuildingElement(::Ifc4x3_rc3::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc3::IfcRelFillsElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[942]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelFillsElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[942]); } Ifc4x3_rc3::IfcRelFillsElement::IfcRelFillsElement(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc3::IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcOpeningElement* v5_RelatingOpeningElement, ::Ifc4x3_rc3::IfcElement* v6_RelatedBuildingElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingOpeningElement ? v5_RelatingOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcOpeningElement* v5_RelatingOpeningElement, ::Ifc4x3_rc3::IfcElement* v6_RelatedBuildingElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingOpeningElement ? v5_RelatingOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelFlowControlElements -aggregate_of< ::Ifc4x3_rc3::IfcDistributionControlElement >::ptr Ifc4x3_rc3::IfcRelFlowControlElements::RelatedControlElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc3::IfcDistributionControlElement >(); } +aggregate_of< ::Ifc4x3_rc3::IfcDistributionControlElement >::ptr Ifc4x3_rc3::IfcRelFlowControlElements::RelatedControlElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc3::IfcDistributionControlElement >(); } void Ifc4x3_rc3::IfcRelFlowControlElements::setRelatedControlElements(aggregate_of< ::Ifc4x3_rc3::IfcDistributionControlElement >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcDistributionFlowElement* Ifc4x3_rc3::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcDistributionFlowElement>(true); } +::Ifc4x3_rc3::IfcDistributionFlowElement* Ifc4x3_rc3::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcDistributionFlowElement>(true); } void Ifc4x3_rc3::IfcRelFlowControlElements::setRelatingFlowElement(::Ifc4x3_rc3::IfcDistributionFlowElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc3::IfcRelFlowControlElements::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[943]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelFlowControlElements::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[943]); } Ifc4x3_rc3::IfcRelFlowControlElements::IfcRelFlowControlElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc3::IfcRelFlowControlElements::IfcRelFlowControlElements(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDistributionControlElement >::ptr v5_RelatedControlElements, ::Ifc4x3_rc3::IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedControlElements)->generalize());set_attribute_value(5, v6_RelatingFlowElement ? v6_RelatingFlowElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcRelFlowControlElements::IfcRelFlowControlElements(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcDistributionControlElement >::ptr v5_RelatedControlElements, ::Ifc4x3_rc3::IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedControlElements)->generalize());set_attribute_value(5, v6_RelatingFlowElement ? v6_RelatingFlowElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelInterferesElements -::Ifc4x3_rc3::IfcInterferenceSelect* Ifc4x3_rc3::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcInterferenceSelect>(true); } +::Ifc4x3_rc3::IfcInterferenceSelect* Ifc4x3_rc3::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcInterferenceSelect>(true); } void Ifc4x3_rc3::IfcRelInterferesElements::setRelatingElement(::Ifc4x3_rc3::IfcInterferenceSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcInterferenceSelect* Ifc4x3_rc3::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcInterferenceSelect>(true); } +::Ifc4x3_rc3::IfcInterferenceSelect* Ifc4x3_rc3::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcInterferenceSelect>(true); } void Ifc4x3_rc3::IfcRelInterferesElements::setRelatedElement(::Ifc4x3_rc3::IfcInterferenceSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc3::IfcConnectionGeometry* Ifc4x3_rc3::IfcRelInterferesElements::InterferenceGeometry() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcConnectionGeometry>(true); } +::Ifc4x3_rc3::IfcConnectionGeometry* Ifc4x3_rc3::IfcRelInterferesElements::InterferenceGeometry() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcConnectionGeometry>(true); } void Ifc4x3_rc3::IfcRelInterferesElements::setInterferenceGeometry(::Ifc4x3_rc3::IfcConnectionGeometry* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< std::string > Ifc4x3_rc3::IfcRelInterferesElements::InterferenceType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcRelInterferesElements::InterferenceType() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcRelInterferesElements::setInterferenceType(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::logic::tribool Ifc4x3_rc3::IfcRelInterferesElements::ImpliedOrder() const { boost::logic::tribool v = data_.get_attribute_value(8); return v; } +boost::logic::tribool Ifc4x3_rc3::IfcRelInterferesElements::ImpliedOrder() const { boost::logic::tribool v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcRelInterferesElements::setImpliedOrder(boost::logic::tribool v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc3::IfcRelInterferesElements::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[944]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelInterferesElements::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[944]); } Ifc4x3_rc3::IfcRelInterferesElements::IfcRelInterferesElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc3::IfcRelInterferesElements::IfcRelInterferesElements(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcInterferenceSelect* v5_RelatingElement, ::Ifc4x3_rc3::IfcInterferenceSelect* v6_RelatedElement, ::Ifc4x3_rc3::IfcConnectionGeometry* v7_InterferenceGeometry, boost::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder) : IfcRelConnects(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_InterferenceGeometry ? v7_InterferenceGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder));; populate_derived(); } +Ifc4x3_rc3::IfcRelInterferesElements::IfcRelInterferesElements(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcInterferenceSelect* v5_RelatingElement, ::Ifc4x3_rc3::IfcInterferenceSelect* v6_RelatedElement, ::Ifc4x3_rc3::IfcConnectionGeometry* v7_InterferenceGeometry, boost::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_InterferenceGeometry ? v7_InterferenceGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder));; populate_derived(); } // Function implementations for IfcRelNests -::Ifc4x3_rc3::IfcObjectDefinition* Ifc4x3_rc3::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcObjectDefinition>(true); } +::Ifc4x3_rc3::IfcObjectDefinition* Ifc4x3_rc3::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcObjectDefinition>(true); } void Ifc4x3_rc3::IfcRelNests::setRelatingObject(::Ifc4x3_rc3::IfcObjectDefinition* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr Ifc4x3_rc3::IfcRelNests::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc3::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr Ifc4x3_rc3::IfcRelNests::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc3::IfcObjectDefinition >(); } void Ifc4x3_rc3::IfcRelNests::setRelatedObjects(aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc3::IfcRelNests::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[945]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelNests::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[945]); } Ifc4x3_rc3::IfcRelNests::IfcRelNests(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x3_rc3::IfcRelNests::IfcRelNests(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcRelNests::IfcRelNests(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x3_rc3::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelPositions -::Ifc4x3_rc3::IfcPositioningElement* Ifc4x3_rc3::IfcRelPositions::RelatingPositioningElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcPositioningElement>(true); } +::Ifc4x3_rc3::IfcPositioningElement* Ifc4x3_rc3::IfcRelPositions::RelatingPositioningElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcPositioningElement>(true); } void Ifc4x3_rc3::IfcRelPositions::setRelatingPositioningElement(::Ifc4x3_rc3::IfcPositioningElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_rc3::IfcProduct >::ptr Ifc4x3_rc3::IfcRelPositions::RelatedProducts() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc3::IfcProduct >(); } +aggregate_of< ::Ifc4x3_rc3::IfcProduct >::ptr Ifc4x3_rc3::IfcRelPositions::RelatedProducts() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc3::IfcProduct >(); } void Ifc4x3_rc3::IfcRelPositions::setRelatedProducts(aggregate_of< ::Ifc4x3_rc3::IfcProduct >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc3::IfcRelPositions::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[946]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelPositions::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[946]); } Ifc4x3_rc3::IfcRelPositions::IfcRelPositions(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc3::IfcRelPositions::IfcRelPositions(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcPositioningElement* v5_RelatingPositioningElement, aggregate_of< ::Ifc4x3_rc3::IfcProduct >::ptr v6_RelatedProducts) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPositioningElement ? v5_RelatingPositioningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedProducts)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcRelPositions::IfcRelPositions(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcPositioningElement* v5_RelatingPositioningElement, aggregate_of< ::Ifc4x3_rc3::IfcProduct >::ptr v6_RelatedProducts) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPositioningElement ? v5_RelatingPositioningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedProducts)->generalize());; populate_derived(); } // Function implementations for IfcRelProjectsElement -::Ifc4x3_rc3::IfcElement* Ifc4x3_rc3::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcElement>(true); } +::Ifc4x3_rc3::IfcElement* Ifc4x3_rc3::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcElement>(true); } void Ifc4x3_rc3::IfcRelProjectsElement::setRelatingElement(::Ifc4x3_rc3::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcFeatureElementAddition* Ifc4x3_rc3::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcFeatureElementAddition>(true); } +::Ifc4x3_rc3::IfcFeatureElementAddition* Ifc4x3_rc3::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcFeatureElementAddition>(true); } void Ifc4x3_rc3::IfcRelProjectsElement::setRelatedFeatureElement(::Ifc4x3_rc3::IfcFeatureElementAddition* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc3::IfcRelProjectsElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[947]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelProjectsElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[947]); } Ifc4x3_rc3::IfcRelProjectsElement::IfcRelProjectsElement(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x3_rc3::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcElement* v5_RelatingElement, ::Ifc4x3_rc3::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedFeatureElement ? v6_RelatedFeatureElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcElement* v5_RelatingElement, ::Ifc4x3_rc3::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedFeatureElement ? v6_RelatedFeatureElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelReferencedInSpatialStructure -aggregate_of< ::Ifc4x3_rc3::IfcSpatialReferenceSelect >::ptr Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc3::IfcSpatialReferenceSelect >(); } +aggregate_of< ::Ifc4x3_rc3::IfcSpatialReferenceSelect >::ptr Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc3::IfcSpatialReferenceSelect >(); } void Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_rc3::IfcSpatialReferenceSelect >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcSpatialElement* Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcSpatialElement>(true); } +::Ifc4x3_rc3::IfcSpatialElement* Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcSpatialElement>(true); } void Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4x3_rc3::IfcSpatialElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[948]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[948]); } Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_rc3::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc3::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_rc3::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelSequence -::Ifc4x3_rc3::IfcProcess* Ifc4x3_rc3::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcProcess>(true); } +::Ifc4x3_rc3::IfcProcess* Ifc4x3_rc3::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcProcess>(true); } void Ifc4x3_rc3::IfcRelSequence::setRelatingProcess(::Ifc4x3_rc3::IfcProcess* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcProcess* Ifc4x3_rc3::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcProcess>(true); } +::Ifc4x3_rc3::IfcProcess* Ifc4x3_rc3::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcProcess>(true); } void Ifc4x3_rc3::IfcRelSequence::setRelatedProcess(::Ifc4x3_rc3::IfcProcess* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc3::IfcLagTime* Ifc4x3_rc3::IfcRelSequence::TimeLag() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcLagTime>(true); } +::Ifc4x3_rc3::IfcLagTime* Ifc4x3_rc3::IfcRelSequence::TimeLag() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcLagTime>(true); } void Ifc4x3_rc3::IfcRelSequence::setTimeLag(::Ifc4x3_rc3::IfcLagTime* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< ::Ifc4x3_rc3::IfcSequenceEnum::Value > Ifc4x3_rc3::IfcRelSequence::SequenceType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSequenceEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_rc3::IfcSequenceEnum::Value > Ifc4x3_rc3::IfcRelSequence::SequenceType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSequenceEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc3::IfcRelSequence::setSequenceType(boost::optional< ::Ifc4x3_rc3::IfcSequenceEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc3::IfcSequenceEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc3::IfcRelSequence::UserDefinedSequenceType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcRelSequence::UserDefinedSequenceType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcRelSequence::setUserDefinedSequenceType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcRelSequence::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[949]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelSequence::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[949]); } Ifc4x3_rc3::IfcRelSequence::IfcRelSequence(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc3::IfcRelSequence::IfcRelSequence(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcProcess* v5_RelatingProcess, ::Ifc4x3_rc3::IfcProcess* v6_RelatedProcess, ::Ifc4x3_rc3::IfcLagTime* v7_TimeLag, boost::optional< ::Ifc4x3_rc3::IfcSequenceEnum::Value > v8_SequenceType, boost::optional< std::string > v9_UserDefinedSequenceType) : IfcRelConnects(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingProcess ? v5_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedProcess ? v6_RelatedProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_TimeLag ? v7_TimeLag->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_SequenceType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); }; populate_derived(); } +Ifc4x3_rc3::IfcRelSequence::IfcRelSequence(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcProcess* v5_RelatingProcess, ::Ifc4x3_rc3::IfcProcess* v6_RelatedProcess, ::Ifc4x3_rc3::IfcLagTime* v7_TimeLag, boost::optional< ::Ifc4x3_rc3::IfcSequenceEnum::Value > v8_SequenceType, boost::optional< std::string > v9_UserDefinedSequenceType) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingProcess ? v5_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedProcess ? v6_RelatedProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_TimeLag ? v7_TimeLag->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_SequenceType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); }; populate_derived(); } // Function implementations for IfcRelServicesBuildings -::Ifc4x3_rc3::IfcSystem* Ifc4x3_rc3::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcSystem>(true); } +::Ifc4x3_rc3::IfcSystem* Ifc4x3_rc3::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcSystem>(true); } void Ifc4x3_rc3::IfcRelServicesBuildings::setRelatingSystem(::Ifc4x3_rc3::IfcSystem* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_rc3::IfcSpatialElement >::ptr Ifc4x3_rc3::IfcRelServicesBuildings::RelatedBuildings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc3::IfcSpatialElement >(); } +aggregate_of< ::Ifc4x3_rc3::IfcSpatialElement >::ptr Ifc4x3_rc3::IfcRelServicesBuildings::RelatedBuildings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc3::IfcSpatialElement >(); } void Ifc4x3_rc3::IfcRelServicesBuildings::setRelatedBuildings(aggregate_of< ::Ifc4x3_rc3::IfcSpatialElement >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc3::IfcRelServicesBuildings::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[950]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelServicesBuildings::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[950]); } Ifc4x3_rc3::IfcRelServicesBuildings::IfcRelServicesBuildings(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc3::IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcSystem* v5_RelatingSystem, aggregate_of< ::Ifc4x3_rc3::IfcSpatialElement >::ptr v6_RelatedBuildings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSystem ? v5_RelatingSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedBuildings)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcSystem* v5_RelatingSystem, aggregate_of< ::Ifc4x3_rc3::IfcSpatialElement >::ptr v6_RelatedBuildings) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSystem ? v5_RelatingSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedBuildings)->generalize());; populate_derived(); } // Function implementations for IfcRelSpaceBoundary -::Ifc4x3_rc3::IfcSpaceBoundarySelect* Ifc4x3_rc3::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcSpaceBoundarySelect>(true); } +::Ifc4x3_rc3::IfcSpaceBoundarySelect* Ifc4x3_rc3::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcSpaceBoundarySelect>(true); } void Ifc4x3_rc3::IfcRelSpaceBoundary::setRelatingSpace(::Ifc4x3_rc3::IfcSpaceBoundarySelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcElement* Ifc4x3_rc3::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcElement>(true); } +::Ifc4x3_rc3::IfcElement* Ifc4x3_rc3::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcElement>(true); } void Ifc4x3_rc3::IfcRelSpaceBoundary::setRelatedBuildingElement(::Ifc4x3_rc3::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc3::IfcConnectionGeometry* Ifc4x3_rc3::IfcRelSpaceBoundary::ConnectionGeometry() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcConnectionGeometry>(true); } +::Ifc4x3_rc3::IfcConnectionGeometry* Ifc4x3_rc3::IfcRelSpaceBoundary::ConnectionGeometry() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcConnectionGeometry>(true); } void Ifc4x3_rc3::IfcRelSpaceBoundary::setConnectionGeometry(::Ifc4x3_rc3::IfcConnectionGeometry* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Value Ifc4x3_rc3::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Value Ifc4x3_rc3::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc3::IfcRelSpaceBoundary::setPhysicalOrVirtualBoundary(::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc3::IfcInternalOrExternalEnum::Value Ifc4x3_rc3::IfcRelSpaceBoundary::InternalOrExternalBoundary() const { return ::Ifc4x3_rc3::IfcInternalOrExternalEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc3::IfcInternalOrExternalEnum::Value Ifc4x3_rc3::IfcRelSpaceBoundary::InternalOrExternalBoundary() const { return ::Ifc4x3_rc3::IfcInternalOrExternalEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcRelSpaceBoundary::setInternalOrExternalBoundary(::Ifc4x3_rc3::IfcInternalOrExternalEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcInternalOrExternalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc3::IfcRelSpaceBoundary::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[951]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelSpaceBoundary::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[951]); } Ifc4x3_rc3::IfcRelSpaceBoundary::IfcRelSpaceBoundary(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_rc3::IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_rc3::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_rc3::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) : IfcRelConnects(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; populate_derived(); } +Ifc4x3_rc3::IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_rc3::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_rc3::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; populate_derived(); } // Function implementations for IfcRelSpaceBoundary1stLevel -::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel* Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel>(true); } +::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel* Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel>(true); } void Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel::setParentBoundary(::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } ::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel::list::ptr Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[952], 9)->as(); } @@ -15207,10 +15207,10 @@ void Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel::setParentBoundary(::Ifc4x3_rc3::If const IfcParse::entity& Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[952]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[952]); } Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(IfcEntityInstanceData&& e) : IfcRelSpaceBoundary(std::move(e)) { } -Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_rc3::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_rc3::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary) : IfcRelSpaceBoundary(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_rc3::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_rc3::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary) : IfcRelSpaceBoundary(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelSpaceBoundary2ndLevel -::Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel* Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel>(true); } +::Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel* Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel>(true); } void Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(::Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } ::Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel::list::ptr Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel::Corresponds() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[953], 10)->as(); } @@ -15218,19 +15218,19 @@ void Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(::Ifc4x3_ const IfcParse::entity& Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[953]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[953]); } Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(IfcEntityInstanceData&& e) : IfcRelSpaceBoundary1stLevel(std::move(e)) { } -Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_rc3::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_rc3::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, ::Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary) : IfcRelSpaceBoundary1stLevel(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_CorrespondingBoundary ? v11_CorrespondingBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_rc3::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_rc3::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_rc3::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_rc3::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, ::Ifc4x3_rc3::IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary) : IfcRelSpaceBoundary1stLevel(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_CorrespondingBoundary ? v11_CorrespondingBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelVoidsElement -::Ifc4x3_rc3::IfcElement* Ifc4x3_rc3::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcElement>(true); } +::Ifc4x3_rc3::IfcElement* Ifc4x3_rc3::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcElement>(true); } void Ifc4x3_rc3::IfcRelVoidsElement::setRelatingBuildingElement(::Ifc4x3_rc3::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcFeatureElementSubtraction* Ifc4x3_rc3::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcFeatureElementSubtraction>(true); } +::Ifc4x3_rc3::IfcFeatureElementSubtraction* Ifc4x3_rc3::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcFeatureElementSubtraction>(true); } void Ifc4x3_rc3::IfcRelVoidsElement::setRelatedOpeningElement(::Ifc4x3_rc3::IfcFeatureElementSubtraction* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc3::IfcRelVoidsElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[954]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelVoidsElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[954]); } Ifc4x3_rc3::IfcRelVoidsElement::IfcRelVoidsElement(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x3_rc3::IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcElement* v5_RelatingBuildingElement, ::Ifc4x3_rc3::IfcFeatureElementSubtraction* v6_RelatedOpeningElement) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedOpeningElement ? v6_RelatedOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcElement* v5_RelatingBuildingElement, ::Ifc4x3_rc3::IfcFeatureElementSubtraction* v6_RelatedOpeningElement) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedOpeningElement ? v6_RelatedOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelationship @@ -15238,26 +15238,26 @@ Ifc4x3_rc3::IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x3_rc3::IfcRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[922]); } const IfcParse::entity& Ifc4x3_rc3::IfcRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[922]); } Ifc4x3_rc3::IfcRelationship::IfcRelationship(IfcEntityInstanceData&& e) : IfcRoot(std::move(e)) { } -Ifc4x3_rc3::IfcRelationship::IfcRelationship(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc3::IfcRelationship::IfcRelationship(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcReparametrisedCompositeCurveSegment -double Ifc4x3_rc3::IfcReparametrisedCompositeCurveSegment::ParamLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc3::IfcReparametrisedCompositeCurveSegment::ParamLength() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcReparametrisedCompositeCurveSegment::setParamLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcReparametrisedCompositeCurveSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[955]); } const IfcParse::entity& Ifc4x3_rc3::IfcReparametrisedCompositeCurveSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[955]); } Ifc4x3_rc3::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(IfcEntityInstanceData&& e) : IfcCompositeCurveSegment(std::move(e)) { } -Ifc4x3_rc3::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(::Ifc4x3_rc3::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc3::IfcCurve* v3_ParentCurve, double v4_ParamLength) : IfcCompositeCurveSegment(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ParamLength));; populate_derived(); } +Ifc4x3_rc3::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(::Ifc4x3_rc3::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc3::IfcCurve* v3_ParentCurve, double v4_ParamLength) : IfcCompositeCurveSegment(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ParamLength));; populate_derived(); } // Function implementations for IfcRepresentation -::Ifc4x3_rc3::IfcRepresentationContext* Ifc4x3_rc3::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcRepresentationContext>(true); } +::Ifc4x3_rc3::IfcRepresentationContext* Ifc4x3_rc3::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcRepresentationContext>(true); } void Ifc4x3_rc3::IfcRepresentation::setContextOfItems(::Ifc4x3_rc3::IfcRepresentationContext* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc3::IfcRepresentation::RepresentationIdentifier() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcRepresentation::RepresentationIdentifier() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc3::IfcRepresentation::RepresentationType() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcRepresentation::RepresentationType() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcRepresentation::setRepresentationType(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -aggregate_of< ::Ifc4x3_rc3::IfcRepresentationItem >::ptr Ifc4x3_rc3::IfcRepresentation::Items() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc3::IfcRepresentationItem >(); } +aggregate_of< ::Ifc4x3_rc3::IfcRepresentationItem >::ptr Ifc4x3_rc3::IfcRepresentation::Items() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc3::IfcRepresentationItem >(); } void Ifc4x3_rc3::IfcRepresentation::setItems(aggregate_of< ::Ifc4x3_rc3::IfcRepresentationItem >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } ::Ifc4x3_rc3::IfcRepresentationMap::list::ptr Ifc4x3_rc3::IfcRepresentation::RepresentationMap() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[959], 1)->as(); } @@ -15267,12 +15267,12 @@ void Ifc4x3_rc3::IfcRepresentation::setItems(aggregate_of< ::Ifc4x3_rc3::IfcRepr const IfcParse::entity& Ifc4x3_rc3::IfcRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[956]); } const IfcParse::entity& Ifc4x3_rc3::IfcRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[956]); } Ifc4x3_rc3::IfcRepresentation::IfcRepresentation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcRepresentation::IfcRepresentation(::Ifc4x3_rc3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc3::IfcRepresentationItem >::ptr v4_Items) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcRepresentation::IfcRepresentation(::Ifc4x3_rc3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc3::IfcRepresentationItem >::ptr v4_Items) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcRepresentationContext -boost::optional< std::string > Ifc4x3_rc3::IfcRepresentationContext::ContextIdentifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcRepresentationContext::ContextIdentifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcRepresentationContext::setContextIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc3::IfcRepresentationContext::ContextType() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcRepresentationContext::ContextType() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcRepresentationContext::setContextType(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x3_rc3::IfcRepresentation::list::ptr Ifc4x3_rc3::IfcRepresentationContext::RepresentationsInContext() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[956], 0)->as(); } @@ -15280,7 +15280,7 @@ void Ifc4x3_rc3::IfcRepresentationContext::setContextType(boost::optional< std:: const IfcParse::entity& Ifc4x3_rc3::IfcRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[957]); } const IfcParse::entity& Ifc4x3_rc3::IfcRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[957]); } Ifc4x3_rc3::IfcRepresentationContext::IfcRepresentationContext(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcRepresentationContext::IfcRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; populate_derived(); } +Ifc4x3_rc3::IfcRepresentationContext::IfcRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; populate_derived(); } // Function implementations for IfcRepresentationItem @@ -15290,12 +15290,12 @@ Ifc4x3_rc3::IfcRepresentationContext::IfcRepresentationContext(boost::optional< const IfcParse::entity& Ifc4x3_rc3::IfcRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[958]); } const IfcParse::entity& Ifc4x3_rc3::IfcRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[958]); } Ifc4x3_rc3::IfcRepresentationItem::IfcRepresentationItem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc3::IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcRepresentationMap -::Ifc4x3_rc3::IfcAxis2Placement* Ifc4x3_rc3::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcAxis2Placement>(true); } +::Ifc4x3_rc3::IfcAxis2Placement* Ifc4x3_rc3::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcAxis2Placement>(true); } void Ifc4x3_rc3::IfcRepresentationMap::setMappingOrigin(::Ifc4x3_rc3::IfcAxis2Placement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcRepresentation* Ifc4x3_rc3::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcRepresentation>(true); } +::Ifc4x3_rc3::IfcRepresentation* Ifc4x3_rc3::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcRepresentation>(true); } void Ifc4x3_rc3::IfcRepresentationMap::setMappedRepresentation(::Ifc4x3_rc3::IfcRepresentation* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } ::Ifc4x3_rc3::IfcShapeAspect::list::ptr Ifc4x3_rc3::IfcRepresentationMap::HasShapeAspects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[1009], 4)->as(); } @@ -15304,12 +15304,12 @@ void Ifc4x3_rc3::IfcRepresentationMap::setMappedRepresentation(::Ifc4x3_rc3::Ifc const IfcParse::entity& Ifc4x3_rc3::IfcRepresentationMap::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[959]); } const IfcParse::entity& Ifc4x3_rc3::IfcRepresentationMap::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[959]); } Ifc4x3_rc3::IfcRepresentationMap::IfcRepresentationMap(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcRepresentationMap::IfcRepresentationMap(::Ifc4x3_rc3::IfcAxis2Placement* v1_MappingOrigin, ::Ifc4x3_rc3::IfcRepresentation* v2_MappedRepresentation) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_MappingOrigin ? v1_MappingOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappedRepresentation ? v2_MappedRepresentation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcRepresentationMap::IfcRepresentationMap(::Ifc4x3_rc3::IfcAxis2Placement* v1_MappingOrigin, ::Ifc4x3_rc3::IfcRepresentation* v2_MappedRepresentation) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_MappingOrigin ? v1_MappingOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappedRepresentation ? v2_MappedRepresentation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcResource -boost::optional< std::string > Ifc4x3_rc3::IfcResource::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcResource::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcResource::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc3::IfcResource::LongDescription() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcResource::LongDescription() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcResource::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_rc3::IfcRelAssignsToResource::list::ptr Ifc4x3_rc3::IfcResource::ResourceOf() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[913], 6)->as(); } @@ -15317,229 +15317,229 @@ void Ifc4x3_rc3::IfcResource::setLongDescription(boost::optional< std::string > const IfcParse::entity& Ifc4x3_rc3::IfcResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[960]); } const IfcParse::entity& Ifc4x3_rc3::IfcResource::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[960]); } Ifc4x3_rc3::IfcResource::IfcResource(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_rc3::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } +Ifc4x3_rc3::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } // Function implementations for IfcResourceApprovalRelationship -aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr Ifc4x3_rc3::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcResourceObjectSelect >(); } +aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr Ifc4x3_rc3::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcResourceObjectSelect >(); } void Ifc4x3_rc3::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcApproval* Ifc4x3_rc3::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcApproval>(true); } +::Ifc4x3_rc3::IfcApproval* Ifc4x3_rc3::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcApproval>(true); } void Ifc4x3_rc3::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_rc3::IfcApproval* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcResourceApprovalRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[961]); } const IfcParse::entity& Ifc4x3_rc3::IfcResourceApprovalRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[961]); } Ifc4x3_rc3::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_rc3::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc3::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatedResourceObjects)->generalize());set_attribute_value(3, v4_RelatingApproval ? v4_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc3::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatedResourceObjects)->generalize());set_attribute_value(3, v4_RelatingApproval ? v4_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcResourceConstraintRelationship -::Ifc4x3_rc3::IfcConstraint* Ifc4x3_rc3::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcConstraint>(true); } +::Ifc4x3_rc3::IfcConstraint* Ifc4x3_rc3::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcConstraint>(true); } void Ifc4x3_rc3::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4x3_rc3::IfcConstraint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr Ifc4x3_rc3::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc3::IfcResourceObjectSelect >(); } +aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr Ifc4x3_rc3::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc3::IfcResourceObjectSelect >(); } void Ifc4x3_rc3::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcResourceConstraintRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[962]); } const IfcParse::entity& Ifc4x3_rc3::IfcResourceConstraintRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[962]); } Ifc4x3_rc3::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_rc3::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingConstraint ? v3_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc3::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_rc3::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingConstraint ? v3_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } // Function implementations for IfcResourceLevelRelationship -boost::optional< std::string > Ifc4x3_rc3::IfcResourceLevelRelationship::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcResourceLevelRelationship::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcResourceLevelRelationship::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc3::IfcResourceLevelRelationship::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcResourceLevelRelationship::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcResourceLevelRelationship::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_rc3::IfcResourceLevelRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[963]); } const IfcParse::entity& Ifc4x3_rc3::IfcResourceLevelRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[963]); } Ifc4x3_rc3::IfcResourceLevelRelationship::IfcResourceLevelRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcResourceLevelRelationship::IfcResourceLevelRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4x3_rc3::IfcResourceLevelRelationship::IfcResourceLevelRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcResourceTime -boost::optional< std::string > Ifc4x3_rc3::IfcResourceTime::ScheduleWork() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcResourceTime::ScheduleWork() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcResourceTime::setScheduleWork(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc3::IfcResourceTime::ScheduleUsage() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc3::IfcResourceTime::ScheduleUsage() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcResourceTime::setScheduleUsage(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc3::IfcResourceTime::ScheduleStart() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcResourceTime::ScheduleStart() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcResourceTime::setScheduleStart(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc3::IfcResourceTime::ScheduleFinish() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcResourceTime::ScheduleFinish() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcResourceTime::setScheduleFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc3::IfcResourceTime::ScheduleContour() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcResourceTime::ScheduleContour() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcResourceTime::setScheduleContour(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc3::IfcResourceTime::LevelingDelay() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcResourceTime::LevelingDelay() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcResourceTime::setLevelingDelay(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< bool > Ifc4x3_rc3::IfcResourceTime::IsOverAllocated() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } bool v = data_.get_attribute_value(9); return v; } +boost::optional< bool > Ifc4x3_rc3::IfcResourceTime::IsOverAllocated() const { if(get_attribute_value(9).isNull()) { return boost::none; } bool v = get_attribute_value(9); return v; } void Ifc4x3_rc3::IfcResourceTime::setIsOverAllocated(boost::optional< bool > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x3_rc3::IfcResourceTime::StatusTime() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcResourceTime::StatusTime() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcResourceTime::setStatusTime(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< std::string > Ifc4x3_rc3::IfcResourceTime::ActualWork() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcResourceTime::ActualWork() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x3_rc3::IfcResourceTime::setActualWork(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_rc3::IfcResourceTime::ActualUsage() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_rc3::IfcResourceTime::ActualUsage() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_rc3::IfcResourceTime::setActualUsage(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< std::string > Ifc4x3_rc3::IfcResourceTime::ActualStart() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(13); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcResourceTime::ActualStart() const { if(get_attribute_value(13).isNull()) { return boost::none; } std::string v = get_attribute_value(13); return v; } void Ifc4x3_rc3::IfcResourceTime::setActualStart(boost::optional< std::string > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x3_rc3::IfcResourceTime::ActualFinish() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcResourceTime::ActualFinish() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x3_rc3::IfcResourceTime::setActualFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< std::string > Ifc4x3_rc3::IfcResourceTime::RemainingWork() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(15); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcResourceTime::RemainingWork() const { if(get_attribute_value(15).isNull()) { return boost::none; } std::string v = get_attribute_value(15); return v; } void Ifc4x3_rc3::IfcResourceTime::setRemainingWork(boost::optional< std::string > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3_rc3::IfcResourceTime::RemainingUsage() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3_rc3::IfcResourceTime::RemainingUsage() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3_rc3::IfcResourceTime::setRemainingUsage(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< double > Ifc4x3_rc3::IfcResourceTime::Completion() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } double v = data_.get_attribute_value(17); return v; } +boost::optional< double > Ifc4x3_rc3::IfcResourceTime::Completion() const { if(get_attribute_value(17).isNull()) { return boost::none; } double v = get_attribute_value(17); return v; } void Ifc4x3_rc3::IfcResourceTime::setCompletion(boost::optional< double > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } const IfcParse::entity& Ifc4x3_rc3::IfcResourceTime::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[966]); } const IfcParse::entity& Ifc4x3_rc3::IfcResourceTime::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[966]); } Ifc4x3_rc3::IfcResourceTime::IfcResourceTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x3_rc3::IfcResourceTime::IfcResourceTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< std::string > v4_ScheduleWork, boost::optional< double > v5_ScheduleUsage, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_ScheduleContour, boost::optional< std::string > v9_LevelingDelay, boost::optional< bool > v10_IsOverAllocated, boost::optional< std::string > v11_StatusTime, boost::optional< std::string > v12_ActualWork, boost::optional< double > v13_ActualUsage, boost::optional< std::string > v14_ActualStart, boost::optional< std::string > v15_ActualFinish, boost::optional< std::string > v16_RemainingWork, boost::optional< double > v17_RemainingUsage, boost::optional< double > v18_Completion) : IfcSchedulingTime(IfcEntityInstanceData(storage_t(18))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); }; populate_derived(); } +Ifc4x3_rc3::IfcResourceTime::IfcResourceTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< std::string > v4_ScheduleWork, boost::optional< double > v5_ScheduleUsage, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_ScheduleContour, boost::optional< std::string > v9_LevelingDelay, boost::optional< bool > v10_IsOverAllocated, boost::optional< std::string > v11_StatusTime, boost::optional< std::string > v12_ActualWork, boost::optional< double > v13_ActualUsage, boost::optional< std::string > v14_ActualStart, boost::optional< std::string > v15_ActualFinish, boost::optional< std::string > v16_RemainingWork, boost::optional< double > v17_RemainingUsage, boost::optional< double > v18_Completion) : IfcSchedulingTime(IfcEntityInstanceData(in_memory_attribute_storage(18))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); }; populate_derived(); } // Function implementations for IfcRevolvedAreaSolid -::Ifc4x3_rc3::IfcAxis1Placement* Ifc4x3_rc3::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcAxis1Placement>(true); } +::Ifc4x3_rc3::IfcAxis1Placement* Ifc4x3_rc3::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcAxis1Placement>(true); } void Ifc4x3_rc3::IfcRevolvedAreaSolid::setAxis(::Ifc4x3_rc3::IfcAxis1Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc3::IfcRevolvedAreaSolid::Angle() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc3::IfcRevolvedAreaSolid::Angle() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcRevolvedAreaSolid::setAngle(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcRevolvedAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[967]); } const IfcParse::entity& Ifc4x3_rc3::IfcRevolvedAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[967]); } Ifc4x3_rc3::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4x3_rc3::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(::Ifc4x3_rc3::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc3::IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));; populate_derived(); } +Ifc4x3_rc3::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(::Ifc4x3_rc3::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc3::IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));; populate_derived(); } // Function implementations for IfcRevolvedAreaSolidTapered -::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcProfileDef>(true); } +::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcProfileDef>(true); } void Ifc4x3_rc3::IfcRevolvedAreaSolidTapered::setEndSweptArea(::Ifc4x3_rc3::IfcProfileDef* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc3::IfcRevolvedAreaSolidTapered::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[968]); } const IfcParse::entity& Ifc4x3_rc3::IfcRevolvedAreaSolidTapered::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[968]); } Ifc4x3_rc3::IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(IfcEntityInstanceData&& e) : IfcRevolvedAreaSolid(std::move(e)) { } -Ifc4x3_rc3::IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(::Ifc4x3_rc3::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc3::IfcAxis1Placement* v3_Axis, double v4_Angle, ::Ifc4x3_rc3::IfcProfileDef* v5_EndSweptArea) : IfcRevolvedAreaSolid(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(::Ifc4x3_rc3::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc3::IfcAxis1Placement* v3_Axis, double v4_Angle, ::Ifc4x3_rc3::IfcProfileDef* v5_EndSweptArea) : IfcRevolvedAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRightCircularCone -double Ifc4x3_rc3::IfcRightCircularCone::Height() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc3::IfcRightCircularCone::Height() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcRightCircularCone::setHeight(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc3::IfcRightCircularCone::BottomRadius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc3::IfcRightCircularCone::BottomRadius() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcRightCircularCone::setBottomRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcRightCircularCone::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[969]); } const IfcParse::entity& Ifc4x3_rc3::IfcRightCircularCone::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[969]); } Ifc4x3_rc3::IfcRightCircularCone::IfcRightCircularCone(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3_rc3::IfcRightCircularCone::IfcRightCircularCone(::Ifc4x3_rc3::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_BottomRadius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; populate_derived(); } +Ifc4x3_rc3::IfcRightCircularCone::IfcRightCircularCone(::Ifc4x3_rc3::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_BottomRadius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; populate_derived(); } // Function implementations for IfcRightCircularCylinder -double Ifc4x3_rc3::IfcRightCircularCylinder::Height() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc3::IfcRightCircularCylinder::Height() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcRightCircularCylinder::setHeight(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc3::IfcRightCircularCylinder::Radius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc3::IfcRightCircularCylinder::Radius() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcRightCircularCylinder::setRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcRightCircularCylinder::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[970]); } const IfcParse::entity& Ifc4x3_rc3::IfcRightCircularCylinder::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[970]); } Ifc4x3_rc3::IfcRightCircularCylinder::IfcRightCircularCylinder(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3_rc3::IfcRightCircularCylinder::IfcRightCircularCylinder(::Ifc4x3_rc3::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; populate_derived(); } +Ifc4x3_rc3::IfcRightCircularCylinder::IfcRightCircularCylinder(::Ifc4x3_rc3::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; populate_derived(); } // Function implementations for IfcRoad -boost::optional< ::Ifc4x3_rc3::IfcRoadTypeEnum::Value > Ifc4x3_rc3::IfcRoad::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcRoadTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc3::IfcRoadTypeEnum::Value > Ifc4x3_rc3::IfcRoad::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcRoadTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcRoad::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcRoadTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcRoadTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc3::IfcRoad::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[971]); } const IfcParse::entity& Ifc4x3_rc3::IfcRoad::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[971]); } Ifc4x3_rc3::IfcRoad::IfcRoad(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x3_rc3::IfcRoad::IfcRoad(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_rc3::IfcRoadTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcRoadTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcRoad::IfcRoad(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_rc3::IfcRoadTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcRoadTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRoof -boost::optional< ::Ifc4x3_rc3::IfcRoofTypeEnum::Value > Ifc4x3_rc3::IfcRoof::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcRoofTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcRoofTypeEnum::Value > Ifc4x3_rc3::IfcRoof::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcRoofTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcRoof::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcRoofTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcRoofTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcRoof::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[975]); } const IfcParse::entity& Ifc4x3_rc3::IfcRoof::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[975]); } Ifc4x3_rc3::IfcRoof::IfcRoof(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc3::IfcRoof::IfcRoof(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcRoofTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcRoof::IfcRoof(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcRoofTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRoofType -::Ifc4x3_rc3::IfcRoofTypeEnum::Value Ifc4x3_rc3::IfcRoofType::PredefinedType() const { return ::Ifc4x3_rc3::IfcRoofTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcRoofTypeEnum::Value Ifc4x3_rc3::IfcRoofType::PredefinedType() const { return ::Ifc4x3_rc3::IfcRoofTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcRoofType::setPredefinedType(::Ifc4x3_rc3::IfcRoofTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcRoofTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcRoofType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[976]); } const IfcParse::entity& Ifc4x3_rc3::IfcRoofType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[976]); } Ifc4x3_rc3::IfcRoofType::IfcRoofType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc3::IfcRoofType::IfcRoofType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcRoofTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcRoofType::IfcRoofType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcRoofTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRoot -std::string Ifc4x3_rc3::IfcRoot::GlobalId() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc3::IfcRoot::GlobalId() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcRoot::setGlobalId(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcOwnerHistory* Ifc4x3_rc3::IfcRoot::OwnerHistory() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcOwnerHistory>(true); } +::Ifc4x3_rc3::IfcOwnerHistory* Ifc4x3_rc3::IfcRoot::OwnerHistory() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcOwnerHistory>(true); } void Ifc4x3_rc3::IfcRoot::setOwnerHistory(::Ifc4x3_rc3::IfcOwnerHistory* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_rc3::IfcRoot::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcRoot::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcRoot::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_rc3::IfcRoot::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcRoot::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcRoot::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc3::IfcRoot::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[978]); } const IfcParse::entity& Ifc4x3_rc3::IfcRoot::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[978]); } Ifc4x3_rc3::IfcRoot::IfcRoot(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcRoot::IfcRoot(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc3::IfcRoot::IfcRoot(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRoundedRectangleProfileDef -double Ifc4x3_rc3::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc3::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcRoundedRectangleProfileDef::setRoundingRadius(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc3::IfcRoundedRectangleProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[983]); } const IfcParse::entity& Ifc4x3_rc3::IfcRoundedRectangleProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[983]); } Ifc4x3_rc3::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(IfcEntityInstanceData&& e) : IfcRectangleProfileDef(std::move(e)) { } -Ifc4x3_rc3::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; populate_derived(); } +Ifc4x3_rc3::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; populate_derived(); } // Function implementations for IfcSIUnit -boost::optional< ::Ifc4x3_rc3::IfcSIPrefix::Value > Ifc4x3_rc3::IfcSIUnit::Prefix() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSIPrefix::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc4x3_rc3::IfcSIPrefix::Value > Ifc4x3_rc3::IfcSIUnit::Prefix() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSIPrefix::FromString(get_attribute_value(2)); } void Ifc4x3_rc3::IfcSIUnit::setPrefix(boost::optional< ::Ifc4x3_rc3::IfcSIPrefix::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc4x3_rc3::IfcSIPrefix::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -::Ifc4x3_rc3::IfcSIUnitName::Value Ifc4x3_rc3::IfcSIUnit::Name() const { return ::Ifc4x3_rc3::IfcSIUnitName::FromString(data_.get_attribute_value(3)); } +::Ifc4x3_rc3::IfcSIUnitName::Value Ifc4x3_rc3::IfcSIUnit::Name() const { return ::Ifc4x3_rc3::IfcSIUnitName::FromString(get_attribute_value(3)); } void Ifc4x3_rc3::IfcSIUnit::setName(::Ifc4x3_rc3::IfcSIUnitName::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc4x3_rc3::IfcSIUnitName::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcSIUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1028]); } const IfcParse::entity& Ifc4x3_rc3::IfcSIUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1028]); } Ifc4x3_rc3::IfcSIUnit::IfcSIUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -Ifc4x3_rc3::IfcSIUnit::IfcSIUnit(::Ifc4x3_rc3::IfcUnitEnum::Value v2_UnitType, boost::optional< ::Ifc4x3_rc3::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_rc3::IfcSIUnitName::Value v4_Name) : IfcNamedUnit(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc3::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc3::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc3::IfcSIUnitName::Class(),(size_t)v4_Name)));; populate_derived(); } +Ifc4x3_rc3::IfcSIUnit::IfcSIUnit(::Ifc4x3_rc3::IfcUnitEnum::Value v2_UnitType, boost::optional< ::Ifc4x3_rc3::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_rc3::IfcSIUnitName::Value v4_Name) : IfcNamedUnit(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc3::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc3::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc3::IfcSIUnitName::Class(),(size_t)v4_Name)));; populate_derived(); } // Function implementations for IfcSanitaryTerminal -boost::optional< ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value > Ifc4x3_rc3::IfcSanitaryTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value > Ifc4x3_rc3::IfcSanitaryTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcSanitaryTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcSanitaryTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[984]); } const IfcParse::entity& Ifc4x3_rc3::IfcSanitaryTerminal::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[984]); } Ifc4x3_rc3::IfcSanitaryTerminal::IfcSanitaryTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc3::IfcSanitaryTerminal::IfcSanitaryTerminal(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcSanitaryTerminal::IfcSanitaryTerminal(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSanitaryTerminalType -::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value Ifc4x3_rc3::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value Ifc4x3_rc3::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcSanitaryTerminalType::setPredefinedType(::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcSanitaryTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[985]); } const IfcParse::entity& Ifc4x3_rc3::IfcSanitaryTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[985]); } Ifc4x3_rc3::IfcSanitaryTerminalType::IfcSanitaryTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc3::IfcSanitaryTerminalType::IfcSanitaryTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcSanitaryTerminalType::IfcSanitaryTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSchedulingTime -boost::optional< std::string > Ifc4x3_rc3::IfcSchedulingTime::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcSchedulingTime::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcSchedulingTime::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > Ifc4x3_rc3::IfcSchedulingTime::DataOrigin() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDataOriginEnum::FromString(data_.get_attribute_value(1)); } +boost::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > Ifc4x3_rc3::IfcSchedulingTime::DataOrigin() const { if(get_attribute_value(1).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcDataOriginEnum::FromString(get_attribute_value(1)); } void Ifc4x3_rc3::IfcSchedulingTime::setDataOrigin(boost::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v) { if (v) {set_attribute_value(1, EnumerationReference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(), (size_t) *v));} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc3::IfcSchedulingTime::UserDefinedDataOrigin() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcSchedulingTime::UserDefinedDataOrigin() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcSchedulingTime::setUserDefinedDataOrigin(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc3::IfcSchedulingTime::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[987]); } const IfcParse::entity& Ifc4x3_rc3::IfcSchedulingTime::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[987]); } Ifc4x3_rc3::IfcSchedulingTime::IfcSchedulingTime(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }; populate_derived(); } +Ifc4x3_rc3::IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }; populate_derived(); } // Function implementations for IfcSeamCurve @@ -15547,112 +15547,112 @@ Ifc4x3_rc3::IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > const IfcParse::entity& Ifc4x3_rc3::IfcSeamCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[988]); } const IfcParse::entity& Ifc4x3_rc3::IfcSeamCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[988]); } Ifc4x3_rc3::IfcSeamCurve::IfcSeamCurve(IfcEntityInstanceData&& e) : IfcSurfaceCurve(std::move(e)) { } -Ifc4x3_rc3::IfcSeamCurve::IfcSeamCurve(::Ifc4x3_rc3::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_rc3::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } +Ifc4x3_rc3::IfcSeamCurve::IfcSeamCurve(::Ifc4x3_rc3::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_rc3::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcSecondOrderPolynomialSpiral -double Ifc4x3_rc3::IfcSecondOrderPolynomialSpiral::QuadraticTerm() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc3::IfcSecondOrderPolynomialSpiral::QuadraticTerm() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcSecondOrderPolynomialSpiral::setQuadraticTerm(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_rc3::IfcSecondOrderPolynomialSpiral::LinearTerm() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc3::IfcSecondOrderPolynomialSpiral::LinearTerm() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcSecondOrderPolynomialSpiral::setLinearTerm(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc3::IfcSecondOrderPolynomialSpiral::ConstantTerm() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc3::IfcSecondOrderPolynomialSpiral::ConstantTerm() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcSecondOrderPolynomialSpiral::setConstantTerm(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc3::IfcSecondOrderPolynomialSpiral::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[989]); } const IfcParse::entity& Ifc4x3_rc3::IfcSecondOrderPolynomialSpiral::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[989]); } Ifc4x3_rc3::IfcSecondOrderPolynomialSpiral::IfcSecondOrderPolynomialSpiral(IfcEntityInstanceData&& e) : IfcSpiral(std::move(e)) { } -Ifc4x3_rc3::IfcSecondOrderPolynomialSpiral::IfcSecondOrderPolynomialSpiral(::Ifc4x3_rc3::IfcAxis2Placement* v1_Position, double v2_QuadraticTerm, boost::optional< double > v3_LinearTerm, boost::optional< double > v4_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_QuadraticTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); }; populate_derived(); } +Ifc4x3_rc3::IfcSecondOrderPolynomialSpiral::IfcSecondOrderPolynomialSpiral(::Ifc4x3_rc3::IfcAxis2Placement* v1_Position, double v2_QuadraticTerm, boost::optional< double > v3_LinearTerm, boost::optional< double > v4_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_QuadraticTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); }; populate_derived(); } // Function implementations for IfcSectionProperties -::Ifc4x3_rc3::IfcSectionTypeEnum::Value Ifc4x3_rc3::IfcSectionProperties::SectionType() const { return ::Ifc4x3_rc3::IfcSectionTypeEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_rc3::IfcSectionTypeEnum::Value Ifc4x3_rc3::IfcSectionProperties::SectionType() const { return ::Ifc4x3_rc3::IfcSectionTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x3_rc3::IfcSectionProperties::setSectionType(::Ifc4x3_rc3::IfcSectionTypeEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_rc3::IfcSectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcProfileDef>(true); } +::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcProfileDef>(true); } void Ifc4x3_rc3::IfcSectionProperties::setStartProfile(::Ifc4x3_rc3::IfcProfileDef* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcSectionProperties::EndProfile() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcProfileDef>(true); } +::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcSectionProperties::EndProfile() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcProfileDef>(true); } void Ifc4x3_rc3::IfcSectionProperties::setEndProfile(::Ifc4x3_rc3::IfcProfileDef* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcSectionProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[996]); } const IfcParse::entity& Ifc4x3_rc3::IfcSectionProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[996]); } Ifc4x3_rc3::IfcSectionProperties::IfcSectionProperties(IfcEntityInstanceData&& e) : IfcPreDefinedProperties(std::move(e)) { } -Ifc4x3_rc3::IfcSectionProperties::IfcSectionProperties(::Ifc4x3_rc3::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_rc3::IfcProfileDef* v2_StartProfile, ::Ifc4x3_rc3::IfcProfileDef* v3_EndProfile) : IfcPreDefinedProperties(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, v2_StartProfile ? v2_StartProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EndProfile ? v3_EndProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcSectionProperties::IfcSectionProperties(::Ifc4x3_rc3::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_rc3::IfcProfileDef* v2_StartProfile, ::Ifc4x3_rc3::IfcProfileDef* v3_EndProfile) : IfcPreDefinedProperties(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, v2_StartProfile ? v2_StartProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EndProfile ? v3_EndProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSectionReinforcementProperties -double Ifc4x3_rc3::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_rc3::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcSectionReinforcementProperties::setLongitudinalStartPosition(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc3::IfcSectionReinforcementProperties::LongitudinalEndPosition() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc3::IfcSectionReinforcementProperties::LongitudinalEndPosition() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcSectionReinforcementProperties::setLongitudinalEndPosition(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_rc3::IfcSectionReinforcementProperties::TransversePosition() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc3::IfcSectionReinforcementProperties::TransversePosition() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc3::IfcReinforcingBarRoleEnum::Value Ifc4x3_rc3::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x3_rc3::IfcReinforcingBarRoleEnum::FromString(data_.get_attribute_value(3)); } +::Ifc4x3_rc3::IfcReinforcingBarRoleEnum::Value Ifc4x3_rc3::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x3_rc3::IfcReinforcingBarRoleEnum::FromString(get_attribute_value(3)); } void Ifc4x3_rc3::IfcSectionReinforcementProperties::setReinforcementRole(::Ifc4x3_rc3::IfcReinforcingBarRoleEnum::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc4x3_rc3::IfcReinforcingBarRoleEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc3::IfcSectionProperties* Ifc4x3_rc3::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcSectionProperties>(true); } +::Ifc4x3_rc3::IfcSectionProperties* Ifc4x3_rc3::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcSectionProperties>(true); } void Ifc4x3_rc3::IfcSectionReinforcementProperties::setSectionDefinition(::Ifc4x3_rc3::IfcSectionProperties* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_rc3::IfcReinforcementBarProperties >::ptr Ifc4x3_rc3::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc3::IfcReinforcementBarProperties >(); } +aggregate_of< ::Ifc4x3_rc3::IfcReinforcementBarProperties >::ptr Ifc4x3_rc3::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc3::IfcReinforcementBarProperties >(); } void Ifc4x3_rc3::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(aggregate_of< ::Ifc4x3_rc3::IfcReinforcementBarProperties >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc3::IfcSectionReinforcementProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[997]); } const IfcParse::entity& Ifc4x3_rc3::IfcSectionReinforcementProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[997]); } Ifc4x3_rc3::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(IfcEntityInstanceData&& e) : IfcPreDefinedProperties(std::move(e)) { } -Ifc4x3_rc3::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, boost::optional< double > v3_TransversePosition, ::Ifc4x3_rc3::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_rc3::IfcSectionProperties* v5_SectionDefinition, aggregate_of< ::Ifc4x3_rc3::IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcPreDefinedProperties(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc3::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, v5_SectionDefinition ? v5_SectionDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_CrossSectionReinforcementDefinitions)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, boost::optional< double > v3_TransversePosition, ::Ifc4x3_rc3::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_rc3::IfcSectionProperties* v5_SectionDefinition, aggregate_of< ::Ifc4x3_rc3::IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcPreDefinedProperties(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc3::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, v5_SectionDefinition ? v5_SectionDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_CrossSectionReinforcementDefinitions)->generalize());; populate_derived(); } // Function implementations for IfcSectionedSolid -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcSectionedSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCurve>(true); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcSectionedSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcSectionedSolid::setDirectrix(::Ifc4x3_rc3::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc3::IfcProfileDef >::ptr Ifc4x3_rc3::IfcSectionedSolid::CrossSections() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcProfileDef >(); } +aggregate_of< ::Ifc4x3_rc3::IfcProfileDef >::ptr Ifc4x3_rc3::IfcSectionedSolid::CrossSections() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcProfileDef >(); } void Ifc4x3_rc3::IfcSectionedSolid::setCrossSections(aggregate_of< ::Ifc4x3_rc3::IfcProfileDef >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcSectionedSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[991]); } const IfcParse::entity& Ifc4x3_rc3::IfcSectionedSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[991]); } Ifc4x3_rc3::IfcSectionedSolid::IfcSectionedSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3_rc3::IfcSectionedSolid::IfcSectionedSolid(::Ifc4x3_rc3::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_rc3::IfcProfileDef >::ptr v2_CrossSections) : IfcSolidModel(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcSectionedSolid::IfcSectionedSolid(::Ifc4x3_rc3::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_rc3::IfcProfileDef >::ptr v2_CrossSections) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());; populate_derived(); } // Function implementations for IfcSectionedSolidHorizontal -aggregate_of< ::Ifc4x3_rc3::IfcAxis2PlacementLinear >::ptr Ifc4x3_rc3::IfcSectionedSolidHorizontal::CrossSectionPositions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcAxis2PlacementLinear >(); } +aggregate_of< ::Ifc4x3_rc3::IfcAxis2PlacementLinear >::ptr Ifc4x3_rc3::IfcSectionedSolidHorizontal::CrossSectionPositions() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcAxis2PlacementLinear >(); } void Ifc4x3_rc3::IfcSectionedSolidHorizontal::setCrossSectionPositions(aggregate_of< ::Ifc4x3_rc3::IfcAxis2PlacementLinear >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x3_rc3::IfcSectionedSolidHorizontal::FixedAxisVertical() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x3_rc3::IfcSectionedSolidHorizontal::FixedAxisVertical() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcSectionedSolidHorizontal::setFixedAxisVertical(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcSectionedSolidHorizontal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[992]); } const IfcParse::entity& Ifc4x3_rc3::IfcSectionedSolidHorizontal::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[992]); } Ifc4x3_rc3::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(IfcEntityInstanceData&& e) : IfcSectionedSolid(std::move(e)) { } -Ifc4x3_rc3::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(::Ifc4x3_rc3::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_rc3::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3_rc3::IfcAxis2PlacementLinear >::ptr v3_CrossSectionPositions, bool v4_FixedAxisVertical) : IfcSectionedSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());set_attribute_value(3, (v4_FixedAxisVertical));; populate_derived(); } +Ifc4x3_rc3::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(::Ifc4x3_rc3::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_rc3::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3_rc3::IfcAxis2PlacementLinear >::ptr v3_CrossSectionPositions, bool v4_FixedAxisVertical) : IfcSectionedSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());set_attribute_value(3, (v4_FixedAxisVertical));; populate_derived(); } // Function implementations for IfcSectionedSpine -::Ifc4x3_rc3::IfcCompositeCurve* Ifc4x3_rc3::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCompositeCurve>(true); } +::Ifc4x3_rc3::IfcCompositeCurve* Ifc4x3_rc3::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCompositeCurve>(true); } void Ifc4x3_rc3::IfcSectionedSpine::setSpineCurve(::Ifc4x3_rc3::IfcCompositeCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc3::IfcProfileDef >::ptr Ifc4x3_rc3::IfcSectionedSpine::CrossSections() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcProfileDef >(); } +aggregate_of< ::Ifc4x3_rc3::IfcProfileDef >::ptr Ifc4x3_rc3::IfcSectionedSpine::CrossSections() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcProfileDef >(); } void Ifc4x3_rc3::IfcSectionedSpine::setCrossSections(aggregate_of< ::Ifc4x3_rc3::IfcProfileDef >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3_rc3::IfcAxis2Placement3D >::ptr Ifc4x3_rc3::IfcSectionedSpine::CrossSectionPositions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcAxis2Placement3D >(); } +aggregate_of< ::Ifc4x3_rc3::IfcAxis2Placement3D >::ptr Ifc4x3_rc3::IfcSectionedSpine::CrossSectionPositions() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcAxis2Placement3D >(); } void Ifc4x3_rc3::IfcSectionedSpine::setCrossSectionPositions(aggregate_of< ::Ifc4x3_rc3::IfcAxis2Placement3D >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcSectionedSpine::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[993]); } const IfcParse::entity& Ifc4x3_rc3::IfcSectionedSpine::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[993]); } Ifc4x3_rc3::IfcSectionedSpine::IfcSectionedSpine(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcSectionedSpine::IfcSectionedSpine(::Ifc4x3_rc3::IfcCompositeCurve* v1_SpineCurve, aggregate_of< ::Ifc4x3_rc3::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3_rc3::IfcAxis2Placement3D >::ptr v3_CrossSectionPositions) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_SpineCurve ? v1_SpineCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcSectionedSpine::IfcSectionedSpine(::Ifc4x3_rc3::IfcCompositeCurve* v1_SpineCurve, aggregate_of< ::Ifc4x3_rc3::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3_rc3::IfcAxis2Placement3D >::ptr v3_CrossSectionPositions) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_SpineCurve ? v1_SpineCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());; populate_derived(); } // Function implementations for IfcSectionedSurface -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcSectionedSurface::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCurve>(true); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcSectionedSurface::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcSectionedSurface::setDirectrix(::Ifc4x3_rc3::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc3::IfcPointByDistanceExpression >::ptr Ifc4x3_rc3::IfcSectionedSurface::CrossSectionPositions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcPointByDistanceExpression >(); } +aggregate_of< ::Ifc4x3_rc3::IfcPointByDistanceExpression >::ptr Ifc4x3_rc3::IfcSectionedSurface::CrossSectionPositions() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcPointByDistanceExpression >(); } void Ifc4x3_rc3::IfcSectionedSurface::setCrossSectionPositions(aggregate_of< ::Ifc4x3_rc3::IfcPointByDistanceExpression >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3_rc3::IfcProfileDef >::ptr Ifc4x3_rc3::IfcSectionedSurface::CrossSections() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcProfileDef >(); } +aggregate_of< ::Ifc4x3_rc3::IfcProfileDef >::ptr Ifc4x3_rc3::IfcSectionedSurface::CrossSections() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcProfileDef >(); } void Ifc4x3_rc3::IfcSectionedSurface::setCrossSections(aggregate_of< ::Ifc4x3_rc3::IfcProfileDef >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x3_rc3::IfcSectionedSurface::FixedAxisVertical() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x3_rc3::IfcSectionedSurface::FixedAxisVertical() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcSectionedSurface::setFixedAxisVertical(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcSectionedSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[994]); } const IfcParse::entity& Ifc4x3_rc3::IfcSectionedSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[994]); } Ifc4x3_rc3::IfcSectionedSurface::IfcSectionedSurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x3_rc3::IfcSectionedSurface::IfcSectionedSurface(::Ifc4x3_rc3::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_rc3::IfcPointByDistanceExpression >::ptr v2_CrossSectionPositions, aggregate_of< ::Ifc4x3_rc3::IfcProfileDef >::ptr v3_CrossSections, bool v4_FixedAxisVertical) : IfcSurface(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSectionPositions)->generalize());set_attribute_value(2, (v3_CrossSections)->generalize());set_attribute_value(3, (v4_FixedAxisVertical));; populate_derived(); } +Ifc4x3_rc3::IfcSectionedSurface::IfcSectionedSurface(::Ifc4x3_rc3::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_rc3::IfcPointByDistanceExpression >::ptr v2_CrossSectionPositions, aggregate_of< ::Ifc4x3_rc3::IfcProfileDef >::ptr v3_CrossSections, bool v4_FixedAxisVertical) : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSectionPositions)->generalize());set_attribute_value(2, (v3_CrossSections)->generalize());set_attribute_value(3, (v4_FixedAxisVertical));; populate_derived(); } // Function implementations for IfcSegment -::Ifc4x3_rc3::IfcTransitionCode::Value Ifc4x3_rc3::IfcSegment::Transition() const { return ::Ifc4x3_rc3::IfcTransitionCode::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_rc3::IfcTransitionCode::Value Ifc4x3_rc3::IfcSegment::Transition() const { return ::Ifc4x3_rc3::IfcTransitionCode::FromString(get_attribute_value(0)); } void Ifc4x3_rc3::IfcSegment::setTransition(::Ifc4x3_rc3::IfcTransitionCode::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_rc3::IfcTransitionCode::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_rc3::IfcCompositeCurve::list::ptr Ifc4x3_rc3::IfcSegment::UsingCurves() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[194], 0)->as(); } @@ -15660,70 +15660,70 @@ void Ifc4x3_rc3::IfcSegment::setTransition(::Ifc4x3_rc3::IfcTransitionCode::Valu const IfcParse::entity& Ifc4x3_rc3::IfcSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[999]); } const IfcParse::entity& Ifc4x3_rc3::IfcSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[999]); } Ifc4x3_rc3::IfcSegment::IfcSegment(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcSegment::IfcSegment(::Ifc4x3_rc3::IfcTransitionCode::Value v1_Transition) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcTransitionCode::Class(),(size_t)v1_Transition)));; populate_derived(); } +Ifc4x3_rc3::IfcSegment::IfcSegment(::Ifc4x3_rc3::IfcTransitionCode::Value v1_Transition) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcTransitionCode::Class(),(size_t)v1_Transition)));; populate_derived(); } // Function implementations for IfcSegmentedReferenceCurve -::Ifc4x3_rc3::IfcBoundedCurve* Ifc4x3_rc3::IfcSegmentedReferenceCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcBoundedCurve>(true); } +::Ifc4x3_rc3::IfcBoundedCurve* Ifc4x3_rc3::IfcSegmentedReferenceCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcBoundedCurve>(true); } void Ifc4x3_rc3::IfcSegmentedReferenceCurve::setBaseCurve(::Ifc4x3_rc3::IfcBoundedCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcPlacement* Ifc4x3_rc3::IfcSegmentedReferenceCurve::EndPoint() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcPlacement>(true); } +::Ifc4x3_rc3::IfcPlacement* Ifc4x3_rc3::IfcSegmentedReferenceCurve::EndPoint() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcPlacement>(true); } void Ifc4x3_rc3::IfcSegmentedReferenceCurve::setEndPoint(::Ifc4x3_rc3::IfcPlacement* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcSegmentedReferenceCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1000]); } const IfcParse::entity& Ifc4x3_rc3::IfcSegmentedReferenceCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1000]); } Ifc4x3_rc3::IfcSegmentedReferenceCurve::IfcSegmentedReferenceCurve(IfcEntityInstanceData&& e) : IfcCompositeCurve(std::move(e)) { } -Ifc4x3_rc3::IfcSegmentedReferenceCurve::IfcSegmentedReferenceCurve(aggregate_of< ::Ifc4x3_rc3::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_rc3::IfcBoundedCurve* v3_BaseCurve, ::Ifc4x3_rc3::IfcPlacement* v4_EndPoint) : IfcCompositeCurve(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, v3_BaseCurve ? v3_BaseCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_EndPoint ? v4_EndPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcSegmentedReferenceCurve::IfcSegmentedReferenceCurve(aggregate_of< ::Ifc4x3_rc3::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_rc3::IfcBoundedCurve* v3_BaseCurve, ::Ifc4x3_rc3::IfcPlacement* v4_EndPoint) : IfcCompositeCurve(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, v3_BaseCurve ? v3_BaseCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_EndPoint ? v4_EndPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSensor -boost::optional< ::Ifc4x3_rc3::IfcSensorTypeEnum::Value > Ifc4x3_rc3::IfcSensor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSensorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcSensorTypeEnum::Value > Ifc4x3_rc3::IfcSensor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSensorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcSensor::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSensorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcSensorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcSensor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1002]); } const IfcParse::entity& Ifc4x3_rc3::IfcSensor::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1002]); } Ifc4x3_rc3::IfcSensor::IfcSensor(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_rc3::IfcSensor::IfcSensor(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcSensorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcSensor::IfcSensor(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcSensorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSensorType -::Ifc4x3_rc3::IfcSensorTypeEnum::Value Ifc4x3_rc3::IfcSensorType::PredefinedType() const { return ::Ifc4x3_rc3::IfcSensorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcSensorTypeEnum::Value Ifc4x3_rc3::IfcSensorType::PredefinedType() const { return ::Ifc4x3_rc3::IfcSensorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcSensorType::setPredefinedType(::Ifc4x3_rc3::IfcSensorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcSensorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcSensorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1003]); } const IfcParse::entity& Ifc4x3_rc3::IfcSensorType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1003]); } Ifc4x3_rc3::IfcSensorType::IfcSensorType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_rc3::IfcSensorType::IfcSensorType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSensorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcSensorType::IfcSensorType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSensorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcShadingDevice -boost::optional< ::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Value > Ifc4x3_rc3::IfcShadingDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Value > Ifc4x3_rc3::IfcShadingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcShadingDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcShadingDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1006]); } const IfcParse::entity& Ifc4x3_rc3::IfcShadingDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1006]); } Ifc4x3_rc3::IfcShadingDevice::IfcShadingDevice(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc3::IfcShadingDevice::IfcShadingDevice(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcShadingDevice::IfcShadingDevice(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcShadingDeviceType -::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Value Ifc4x3_rc3::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Value Ifc4x3_rc3::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcShadingDeviceType::setPredefinedType(::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcShadingDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1007]); } const IfcParse::entity& Ifc4x3_rc3::IfcShadingDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1007]); } Ifc4x3_rc3::IfcShadingDeviceType::IfcShadingDeviceType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc3::IfcShadingDeviceType::IfcShadingDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcShadingDeviceType::IfcShadingDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcShapeAspect -aggregate_of< ::Ifc4x3_rc3::IfcShapeModel >::ptr Ifc4x3_rc3::IfcShapeAspect::ShapeRepresentations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcShapeModel >(); } +aggregate_of< ::Ifc4x3_rc3::IfcShapeModel >::ptr Ifc4x3_rc3::IfcShapeAspect::ShapeRepresentations() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcShapeModel >(); } void Ifc4x3_rc3::IfcShapeAspect::setShapeRepresentations(aggregate_of< ::Ifc4x3_rc3::IfcShapeModel >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc3::IfcShapeAspect::Name() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcShapeAspect::Name() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcShapeAspect::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc3::IfcShapeAspect::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcShapeAspect::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcShapeAspect::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::logic::tribool Ifc4x3_rc3::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = data_.get_attribute_value(3); return v; } +boost::logic::tribool Ifc4x3_rc3::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcShapeAspect::setProductDefinitional(boost::logic::tribool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc3::IfcProductRepresentationSelect* Ifc4x3_rc3::IfcShapeAspect::PartOfProductDefinitionShape() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcProductRepresentationSelect>(true); } +::Ifc4x3_rc3::IfcProductRepresentationSelect* Ifc4x3_rc3::IfcShapeAspect::PartOfProductDefinitionShape() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcProductRepresentationSelect>(true); } void Ifc4x3_rc3::IfcShapeAspect::setPartOfProductDefinitionShape(::Ifc4x3_rc3::IfcProductRepresentationSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } ::Ifc4x3_rc3::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc3::IfcShapeAspect::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[434], 3)->as(); } @@ -15731,7 +15731,7 @@ void Ifc4x3_rc3::IfcShapeAspect::setPartOfProductDefinitionShape(::Ifc4x3_rc3::I const IfcParse::entity& Ifc4x3_rc3::IfcShapeAspect::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1009]); } const IfcParse::entity& Ifc4x3_rc3::IfcShapeAspect::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1009]); } Ifc4x3_rc3::IfcShapeAspect::IfcShapeAspect(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcShapeAspect::IfcShapeAspect(aggregate_of< ::Ifc4x3_rc3::IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_rc3::IfcProductRepresentationSelect* v5_PartOfProductDefinitionShape) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_ShapeRepresentations)->generalize()); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, v5_PartOfProductDefinitionShape ? v5_PartOfProductDefinitionShape->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcShapeAspect::IfcShapeAspect(aggregate_of< ::Ifc4x3_rc3::IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_rc3::IfcProductRepresentationSelect* v5_PartOfProductDefinitionShape) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_ShapeRepresentations)->generalize()); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, v5_PartOfProductDefinitionShape ? v5_PartOfProductDefinitionShape->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcShapeModel @@ -15740,7 +15740,7 @@ Ifc4x3_rc3::IfcShapeAspect::IfcShapeAspect(aggregate_of< ::Ifc4x3_rc3::IfcShapeM const IfcParse::entity& Ifc4x3_rc3::IfcShapeModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1010]); } const IfcParse::entity& Ifc4x3_rc3::IfcShapeModel::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1010]); } Ifc4x3_rc3::IfcShapeModel::IfcShapeModel(IfcEntityInstanceData&& e) : IfcRepresentation(std::move(e)) { } -Ifc4x3_rc3::IfcShapeModel::IfcShapeModel(::Ifc4x3_rc3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc3::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcShapeModel::IfcShapeModel(::Ifc4x3_rc3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc3::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcShapeRepresentation @@ -15748,57 +15748,57 @@ Ifc4x3_rc3::IfcShapeModel::IfcShapeModel(::Ifc4x3_rc3::IfcRepresentationContext* const IfcParse::entity& Ifc4x3_rc3::IfcShapeRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1011]); } const IfcParse::entity& Ifc4x3_rc3::IfcShapeRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1011]); } Ifc4x3_rc3::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceData&& e) : IfcShapeModel(std::move(e)) { } -Ifc4x3_rc3::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x3_rc3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc3::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x3_rc3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc3::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcShellBasedSurfaceModel -aggregate_of< ::Ifc4x3_rc3::IfcShell >::ptr Ifc4x3_rc3::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcShell >(); } +aggregate_of< ::Ifc4x3_rc3::IfcShell >::ptr Ifc4x3_rc3::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcShell >(); } void Ifc4x3_rc3::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x3_rc3::IfcShell >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc3::IfcShellBasedSurfaceModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1014]); } const IfcParse::entity& Ifc4x3_rc3::IfcShellBasedSurfaceModel::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1014]); } Ifc4x3_rc3::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3_rc3::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_SbsmBoundary)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3_rc3::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_SbsmBoundary)->generalize());; populate_derived(); } // Function implementations for IfcSign -boost::optional< ::Ifc4x3_rc3::IfcSignTypeEnum::Value > Ifc4x3_rc3::IfcSign::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSignTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcSignTypeEnum::Value > Ifc4x3_rc3::IfcSign::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSignTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcSign::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSignTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcSignTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcSign::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1015]); } const IfcParse::entity& Ifc4x3_rc3::IfcSign::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1015]); } Ifc4x3_rc3::IfcSign::IfcSign(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_rc3::IfcSign::IfcSign(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcSignTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcSignTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcSign::IfcSign(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcSignTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcSignTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSignType -::Ifc4x3_rc3::IfcSignTypeEnum::Value Ifc4x3_rc3::IfcSignType::PredefinedType() const { return ::Ifc4x3_rc3::IfcSignTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcSignTypeEnum::Value Ifc4x3_rc3::IfcSignType::PredefinedType() const { return ::Ifc4x3_rc3::IfcSignTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcSignType::setPredefinedType(::Ifc4x3_rc3::IfcSignTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcSignTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcSignType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1019]); } const IfcParse::entity& Ifc4x3_rc3::IfcSignType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1019]); } Ifc4x3_rc3::IfcSignType::IfcSignType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_rc3::IfcSignType::IfcSignType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSignTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcSignTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcSignType::IfcSignType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSignTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcSignTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSignal -boost::optional< ::Ifc4x3_rc3::IfcSignalTypeEnum::Value > Ifc4x3_rc3::IfcSignal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSignalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcSignalTypeEnum::Value > Ifc4x3_rc3::IfcSignal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSignalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcSignal::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSignalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcSignalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcSignal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1016]); } const IfcParse::entity& Ifc4x3_rc3::IfcSignal::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1016]); } Ifc4x3_rc3::IfcSignal::IfcSignal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc3::IfcSignal::IfcSignal(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcSignalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcSignalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcSignal::IfcSignal(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcSignalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcSignalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSignalType -::Ifc4x3_rc3::IfcSignalTypeEnum::Value Ifc4x3_rc3::IfcSignalType::PredefinedType() const { return ::Ifc4x3_rc3::IfcSignalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcSignalTypeEnum::Value Ifc4x3_rc3::IfcSignalType::PredefinedType() const { return ::Ifc4x3_rc3::IfcSignalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcSignalType::setPredefinedType(::Ifc4x3_rc3::IfcSignalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcSignalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcSignalType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1017]); } const IfcParse::entity& Ifc4x3_rc3::IfcSignalType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1017]); } Ifc4x3_rc3::IfcSignalType::IfcSignalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc3::IfcSignalType::IfcSignalType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSignalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcSignalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcSignalType::IfcSignalType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSignalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcSignalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSimpleProperty @@ -15806,71 +15806,71 @@ Ifc4x3_rc3::IfcSignalType::IfcSignalType(std::string v1_GlobalId, ::Ifc4x3_rc3:: const IfcParse::entity& Ifc4x3_rc3::IfcSimpleProperty::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1021]); } const IfcParse::entity& Ifc4x3_rc3::IfcSimpleProperty::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1021]); } Ifc4x3_rc3::IfcSimpleProperty::IfcSimpleProperty(IfcEntityInstanceData&& e) : IfcProperty(std::move(e)) { } -Ifc4x3_rc3::IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcProperty(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4x3_rc3::IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcProperty(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcSimplePropertyTemplate -boost::optional< ::Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x3_rc3::IfcSimplePropertyTemplate::TemplateType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::FromString(data_.get_attribute_value(4)); } +boost::optional< ::Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x3_rc3::IfcSimplePropertyTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::FromString(get_attribute_value(4)); } void Ifc4x3_rc3::IfcSimplePropertyTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::Value > v) { if (v) {set_attribute_value(4, EnumerationReference(&::Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc3::IfcSimplePropertyTemplate::PrimaryMeasureType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcSimplePropertyTemplate::PrimaryMeasureType() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcSimplePropertyTemplate::setPrimaryMeasureType(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc3::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcSimplePropertyTemplate::setSecondaryMeasureType(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_rc3::IfcPropertyEnumeration* Ifc4x3_rc3::IfcSimplePropertyTemplate::Enumerators() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc3::IfcPropertyEnumeration>(true); } +::Ifc4x3_rc3::IfcPropertyEnumeration* Ifc4x3_rc3::IfcSimplePropertyTemplate::Enumerators() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc3::IfcPropertyEnumeration>(true); } void Ifc4x3_rc3::IfcSimplePropertyTemplate::setEnumerators(::Ifc4x3_rc3::IfcPropertyEnumeration* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcSimplePropertyTemplate::PrimaryUnit() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc3::IfcUnit>(true); } +::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcSimplePropertyTemplate::PrimaryUnit() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc3::IfcUnit>(true); } void Ifc4x3_rc3::IfcSimplePropertyTemplate::setPrimaryUnit(::Ifc4x3_rc3::IfcUnit* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcSimplePropertyTemplate::SecondaryUnit() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc3::IfcUnit>(true); } +::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcSimplePropertyTemplate::SecondaryUnit() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc3::IfcUnit>(true); } void Ifc4x3_rc3::IfcSimplePropertyTemplate::setSecondaryUnit(::Ifc4x3_rc3::IfcUnit* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3_rc3::IfcSimplePropertyTemplate::Expression() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcSimplePropertyTemplate::Expression() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcSimplePropertyTemplate::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< ::Ifc4x3_rc3::IfcStateEnum::Value > Ifc4x3_rc3::IfcSimplePropertyTemplate::AccessState() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcStateEnum::FromString(data_.get_attribute_value(11)); } +boost::optional< ::Ifc4x3_rc3::IfcStateEnum::Value > Ifc4x3_rc3::IfcSimplePropertyTemplate::AccessState() const { if(get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcStateEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc3::IfcSimplePropertyTemplate::setAccessState(boost::optional< ::Ifc4x3_rc3::IfcStateEnum::Value > v) { if (v) {set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc3::IfcStateEnum::Class(), (size_t) *v));} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x3_rc3::IfcSimplePropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1022]); } const IfcParse::entity& Ifc4x3_rc3::IfcSimplePropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1022]); } Ifc4x3_rc3::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplate(std::move(e)) { } -Ifc4x3_rc3::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_PrimaryMeasureType, boost::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_rc3::IfcPropertyEnumeration* v8_Enumerators, ::Ifc4x3_rc3::IfcUnit* v9_PrimaryUnit, ::Ifc4x3_rc3::IfcUnit* v10_SecondaryUnit, boost::optional< std::string > v11_Expression, boost::optional< ::Ifc4x3_rc3::IfcStateEnum::Value > v12_AccessState) : IfcPropertyTemplate(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, v8_Enumerators ? v8_Enumerators->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_PrimaryUnit ? v9_PrimaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_SecondaryUnit ? v10_SecondaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc3::IfcStateEnum::Class(),(size_t)*v12_AccessState))); }; populate_derived(); } +Ifc4x3_rc3::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_PrimaryMeasureType, boost::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_rc3::IfcPropertyEnumeration* v8_Enumerators, ::Ifc4x3_rc3::IfcUnit* v9_PrimaryUnit, ::Ifc4x3_rc3::IfcUnit* v10_SecondaryUnit, boost::optional< std::string > v11_Expression, boost::optional< ::Ifc4x3_rc3::IfcStateEnum::Value > v12_AccessState) : IfcPropertyTemplate(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc3::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, v8_Enumerators ? v8_Enumerators->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_PrimaryUnit ? v9_PrimaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_SecondaryUnit ? v10_SecondaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc3::IfcStateEnum::Class(),(size_t)*v12_AccessState))); }; populate_derived(); } // Function implementations for IfcSine -double Ifc4x3_rc3::IfcSine::SineTerm() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc3::IfcSine::SineTerm() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcSine::setSineTerm(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc3::IfcSine::LinearTerm() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc3::IfcSine::LinearTerm() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcSine::setLinearTerm(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcSine::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1025]); } const IfcParse::entity& Ifc4x3_rc3::IfcSine::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1025]); } Ifc4x3_rc3::IfcSine::IfcSine(IfcEntityInstanceData&& e) : IfcSpiral(std::move(e)) { } -Ifc4x3_rc3::IfcSine::IfcSine(::Ifc4x3_rc3::IfcAxis2Placement* v1_Position, double v2_SineTerm, double v3_LinearTerm) : IfcSpiral(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SineTerm));set_attribute_value(2, (v3_LinearTerm));; populate_derived(); } +Ifc4x3_rc3::IfcSine::IfcSine(::Ifc4x3_rc3::IfcAxis2Placement* v1_Position, double v2_SineTerm, double v3_LinearTerm) : IfcSpiral(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SineTerm));set_attribute_value(2, (v3_LinearTerm));; populate_derived(); } // Function implementations for IfcSite -boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_rc3::IfcSite::RefLatitude() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = data_.get_attribute_value(9); return v; } +boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_rc3::IfcSite::RefLatitude() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = get_attribute_value(9); return v; } void Ifc4x3_rc3::IfcSite::setRefLatitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_rc3::IfcSite::RefLongitude() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = data_.get_attribute_value(10); return v; } +boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_rc3::IfcSite::RefLongitude() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcSite::setRefLongitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc3::IfcSite::RefElevation() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc3::IfcSite::RefElevation() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc3::IfcSite::setRefElevation(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_rc3::IfcSite::LandTitleNumber() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcSite::LandTitleNumber() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc3::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4x3_rc3::IfcPostalAddress* Ifc4x3_rc3::IfcSite::SiteAddress() const { if(data_.get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(13)))->as<::Ifc4x3_rc3::IfcPostalAddress>(true); } +::Ifc4x3_rc3::IfcPostalAddress* Ifc4x3_rc3::IfcSite::SiteAddress() const { if(get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(13)))->as<::Ifc4x3_rc3::IfcPostalAddress>(true); } void Ifc4x3_rc3::IfcSite::setSiteAddress(::Ifc4x3_rc3::IfcPostalAddress* v) { set_attribute_value(13, v->as());if constexpr (false)unset_attribute_value(13); } const IfcParse::entity& Ifc4x3_rc3::IfcSite::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1027]); } const IfcParse::entity& Ifc4x3_rc3::IfcSite::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1027]); } Ifc4x3_rc3::IfcSite::IfcSite(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x3_rc3::IfcSite::IfcSite(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, 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_rc3::IfcPostalAddress* v14_SiteAddress) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, v14_SiteAddress ? v14_SiteAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcSite::IfcSite(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, 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_rc3::IfcPostalAddress* v14_SiteAddress) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, v14_SiteAddress ? v14_SiteAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSlab -boost::optional< ::Ifc4x3_rc3::IfcSlabTypeEnum::Value > Ifc4x3_rc3::IfcSlab::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSlabTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcSlabTypeEnum::Value > Ifc4x3_rc3::IfcSlab::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSlabTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcSlab::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSlabTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcSlabTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcSlab::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1031]); } const IfcParse::entity& Ifc4x3_rc3::IfcSlab::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1031]); } Ifc4x3_rc3::IfcSlab::IfcSlab(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc3::IfcSlab::IfcSlab(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcSlab::IfcSlab(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSlabElementedCase @@ -15878,7 +15878,7 @@ Ifc4x3_rc3::IfcSlab::IfcSlab(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHist const IfcParse::entity& Ifc4x3_rc3::IfcSlabElementedCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1032]); } const IfcParse::entity& Ifc4x3_rc3::IfcSlabElementedCase::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1032]); } Ifc4x3_rc3::IfcSlabElementedCase::IfcSlabElementedCase(IfcEntityInstanceData&& e) : IfcSlab(std::move(e)) { } -Ifc4x3_rc3::IfcSlabElementedCase::IfcSlabElementedCase(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcSlab(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcSlabElementedCase::IfcSlabElementedCase(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcSlab(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSlabStandardCase @@ -15886,51 +15886,51 @@ Ifc4x3_rc3::IfcSlabElementedCase::IfcSlabElementedCase(std::string v1_GlobalId, const IfcParse::entity& Ifc4x3_rc3::IfcSlabStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1033]); } const IfcParse::entity& Ifc4x3_rc3::IfcSlabStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1033]); } Ifc4x3_rc3::IfcSlabStandardCase::IfcSlabStandardCase(IfcEntityInstanceData&& e) : IfcSlab(std::move(e)) { } -Ifc4x3_rc3::IfcSlabStandardCase::IfcSlabStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcSlab(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcSlabStandardCase::IfcSlabStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcSlab(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSlabType -::Ifc4x3_rc3::IfcSlabTypeEnum::Value Ifc4x3_rc3::IfcSlabType::PredefinedType() const { return ::Ifc4x3_rc3::IfcSlabTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcSlabTypeEnum::Value Ifc4x3_rc3::IfcSlabType::PredefinedType() const { return ::Ifc4x3_rc3::IfcSlabTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcSlabType::setPredefinedType(::Ifc4x3_rc3::IfcSlabTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcSlabTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcSlabType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1034]); } const IfcParse::entity& Ifc4x3_rc3::IfcSlabType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1034]); } Ifc4x3_rc3::IfcSlabType::IfcSlabType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc3::IfcSlabType::IfcSlabType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSlabTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcSlabType::IfcSlabType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSlabTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSlippageConnectionCondition -boost::optional< double > Ifc4x3_rc3::IfcSlippageConnectionCondition::SlippageX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc3::IfcSlippageConnectionCondition::SlippageX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcSlippageConnectionCondition::setSlippageX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc3::IfcSlippageConnectionCondition::SlippageY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc3::IfcSlippageConnectionCondition::SlippageY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcSlippageConnectionCondition::setSlippageY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc3::IfcSlippageConnectionCondition::SlippageZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc3::IfcSlippageConnectionCondition::SlippageZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcSlippageConnectionCondition::setSlippageZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc3::IfcSlippageConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1036]); } const IfcParse::entity& Ifc4x3_rc3::IfcSlippageConnectionCondition::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1036]); } Ifc4x3_rc3::IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(IfcEntityInstanceData&& e) : IfcStructuralConnectionCondition(std::move(e)) { } -Ifc4x3_rc3::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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; populate_derived(); } +Ifc4x3_rc3::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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; populate_derived(); } // Function implementations for IfcSolarDevice -boost::optional< ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value > Ifc4x3_rc3::IfcSolarDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value > Ifc4x3_rc3::IfcSolarDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcSolarDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcSolarDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1037]); } const IfcParse::entity& Ifc4x3_rc3::IfcSolarDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1037]); } Ifc4x3_rc3::IfcSolarDevice::IfcSolarDevice(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc3::IfcSolarDevice::IfcSolarDevice(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcSolarDevice::IfcSolarDevice(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSolarDeviceType -::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value Ifc4x3_rc3::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value Ifc4x3_rc3::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcSolarDeviceType::setPredefinedType(::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcSolarDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1038]); } const IfcParse::entity& Ifc4x3_rc3::IfcSolarDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1038]); } Ifc4x3_rc3::IfcSolarDeviceType::IfcSolarDeviceType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc3::IfcSolarDeviceType::IfcSolarDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcSolarDeviceType::IfcSolarDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSolidModel @@ -15938,7 +15938,7 @@ Ifc4x3_rc3::IfcSolarDeviceType::IfcSolarDeviceType(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x3_rc3::IfcSolidModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1041]); } const IfcParse::entity& Ifc4x3_rc3::IfcSolidModel::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1041]); } Ifc4x3_rc3::IfcSolidModel::IfcSolidModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc3::IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcSolidStratum @@ -15946,12 +15946,12 @@ Ifc4x3_rc3::IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem(IfcE const IfcParse::entity& Ifc4x3_rc3::IfcSolidStratum::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1043]); } const IfcParse::entity& Ifc4x3_rc3::IfcSolidStratum::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1043]); } Ifc4x3_rc3::IfcSolidStratum::IfcSolidStratum(IfcEntityInstanceData&& e) : IfcGeotechnicalStratum(std::move(e)) { } -Ifc4x3_rc3::IfcSolidStratum::IfcSolidStratum(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalStratum(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc3::IfcSolidStratum::IfcSolidStratum(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalStratum(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcSpace -boost::optional< ::Ifc4x3_rc3::IfcSpaceTypeEnum::Value > Ifc4x3_rc3::IfcSpace::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSpaceTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc3::IfcSpaceTypeEnum::Value > Ifc4x3_rc3::IfcSpace::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcSpace::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSpaceTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcSpaceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc3::IfcSpace::ElevationWithFlooring() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc3::IfcSpace::ElevationWithFlooring() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcSpace::setElevationWithFlooring(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } ::Ifc4x3_rc3::IfcRelCoversSpaces::list::ptr Ifc4x3_rc3::IfcSpace::HasCoverings() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[934], 4)->as(); } @@ -15960,42 +15960,42 @@ void Ifc4x3_rc3::IfcSpace::setElevationWithFlooring(boost::optional< double > v) const IfcParse::entity& Ifc4x3_rc3::IfcSpace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1048]); } const IfcParse::entity& Ifc4x3_rc3::IfcSpace::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1048]); } Ifc4x3_rc3::IfcSpace::IfcSpace(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x3_rc3::IfcSpace::IfcSpace(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_rc3::IfcSpaceTypeEnum::Value > v10_PredefinedType, boost::optional< double > v11_ElevationWithFlooring) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; populate_derived(); } +Ifc4x3_rc3::IfcSpace::IfcSpace(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_rc3::IfcSpaceTypeEnum::Value > v10_PredefinedType, boost::optional< double > v11_ElevationWithFlooring) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; populate_derived(); } // Function implementations for IfcSpaceHeater -boost::optional< ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value > Ifc4x3_rc3::IfcSpaceHeater::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value > Ifc4x3_rc3::IfcSpaceHeater::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcSpaceHeater::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcSpaceHeater::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1050]); } const IfcParse::entity& Ifc4x3_rc3::IfcSpaceHeater::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1050]); } Ifc4x3_rc3::IfcSpaceHeater::IfcSpaceHeater(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc3::IfcSpaceHeater::IfcSpaceHeater(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcSpaceHeater::IfcSpaceHeater(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSpaceHeaterType -::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value Ifc4x3_rc3::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value Ifc4x3_rc3::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcSpaceHeaterType::setPredefinedType(::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcSpaceHeaterType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1051]); } const IfcParse::entity& Ifc4x3_rc3::IfcSpaceHeaterType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1051]); } Ifc4x3_rc3::IfcSpaceHeaterType::IfcSpaceHeaterType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc3::IfcSpaceHeaterType::IfcSpaceHeaterType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcSpaceHeaterType::IfcSpaceHeaterType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSpaceType -::Ifc4x3_rc3::IfcSpaceTypeEnum::Value Ifc4x3_rc3::IfcSpaceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcSpaceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcSpaceTypeEnum::Value Ifc4x3_rc3::IfcSpaceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcSpaceType::setPredefinedType(::Ifc4x3_rc3::IfcSpaceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcSpaceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3_rc3::IfcSpaceType::LongName() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcSpaceType::LongName() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcSpaceType::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc3::IfcSpaceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1053]); } const IfcParse::entity& Ifc4x3_rc3::IfcSpaceType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1053]); } Ifc4x3_rc3::IfcSpaceType::IfcSpaceType(IfcEntityInstanceData&& e) : IfcSpatialStructureElementType(std::move(e)) { } -Ifc4x3_rc3::IfcSpaceType::IfcSpaceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSpaceTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialStructureElementType(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } +Ifc4x3_rc3::IfcSpaceType::IfcSpaceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSpaceTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialStructureElementType(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } // Function implementations for IfcSpatialElement -boost::optional< std::string > Ifc4x3_rc3::IfcSpatialElement::LongName() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcSpatialElement::LongName() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcSpatialElement::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } ::Ifc4x3_rc3::IfcRelContainedInSpatialStructure::list::ptr Ifc4x3_rc3::IfcSpatialElement::ContainsElements() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[932], 5)->as(); } @@ -16005,27 +16005,27 @@ void Ifc4x3_rc3::IfcSpatialElement::setLongName(boost::optional< std::string > v const IfcParse::entity& Ifc4x3_rc3::IfcSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1055]); } const IfcParse::entity& Ifc4x3_rc3::IfcSpatialElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1055]); } Ifc4x3_rc3::IfcSpatialElement::IfcSpatialElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_rc3::IfcSpatialElement::IfcSpatialElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcProduct(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } +Ifc4x3_rc3::IfcSpatialElement::IfcSpatialElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } // Function implementations for IfcSpatialElementType -boost::optional< std::string > Ifc4x3_rc3::IfcSpatialElementType::ElementType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcSpatialElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcSpatialElementType::setElementType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcSpatialElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1056]); } const IfcParse::entity& Ifc4x3_rc3::IfcSpatialElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1056]); } Ifc4x3_rc3::IfcSpatialElementType::IfcSpatialElementType(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(e)) { } -Ifc4x3_rc3::IfcSpatialElementType::IfcSpatialElementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc3::IfcSpatialElementType::IfcSpatialElementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcSpatialStructureElement -boost::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > Ifc4x3_rc3::IfcSpatialStructureElement::CompositionType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcElementCompositionEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > Ifc4x3_rc3::IfcSpatialStructureElement::CompositionType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcElementCompositionEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcSpatialStructureElement::setCompositionType(boost::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcSpatialStructureElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1058]); } const IfcParse::entity& Ifc4x3_rc3::IfcSpatialStructureElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1058]); } Ifc4x3_rc3::IfcSpatialStructureElement::IfcSpatialStructureElement(IfcEntityInstanceData&& e) : IfcSpatialElement(std::move(e)) { } -Ifc4x3_rc3::IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } +Ifc4x3_rc3::IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc3::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } // Function implementations for IfcSpatialStructureElementType @@ -16033,142 +16033,142 @@ Ifc4x3_rc3::IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v const IfcParse::entity& Ifc4x3_rc3::IfcSpatialStructureElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1059]); } const IfcParse::entity& Ifc4x3_rc3::IfcSpatialStructureElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1059]); } Ifc4x3_rc3::IfcSpatialStructureElementType::IfcSpatialStructureElementType(IfcEntityInstanceData&& e) : IfcSpatialElementType(std::move(e)) { } -Ifc4x3_rc3::IfcSpatialStructureElementType::IfcSpatialStructureElementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcSpatialElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_rc3::IfcSpatialStructureElementType::IfcSpatialStructureElementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcSpatialElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcSpatialZone -boost::optional< ::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value > Ifc4x3_rc3::IfcSpatialZone::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value > Ifc4x3_rc3::IfcSpatialZone::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcSpatialZone::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcSpatialZone::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1060]); } const IfcParse::entity& Ifc4x3_rc3::IfcSpatialZone::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1060]); } Ifc4x3_rc3::IfcSpatialZone::IfcSpatialZone(IfcEntityInstanceData&& e) : IfcSpatialElement(std::move(e)) { } -Ifc4x3_rc3::IfcSpatialZone::IfcSpatialZone(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) : IfcSpatialElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcSpatialZone::IfcSpatialZone(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) : IfcSpatialElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSpatialZoneType -::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value Ifc4x3_rc3::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value Ifc4x3_rc3::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcSpatialZoneType::setPredefinedType(::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3_rc3::IfcSpatialZoneType::LongName() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcSpatialZoneType::LongName() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcSpatialZoneType::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc3::IfcSpatialZoneType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1061]); } const IfcParse::entity& Ifc4x3_rc3::IfcSpatialZoneType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1061]); } Ifc4x3_rc3::IfcSpatialZoneType::IfcSpatialZoneType(IfcEntityInstanceData&& e) : IfcSpatialElementType(std::move(e)) { } -Ifc4x3_rc3::IfcSpatialZoneType::IfcSpatialZoneType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialElementType(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } +Ifc4x3_rc3::IfcSpatialZoneType::IfcSpatialZoneType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialElementType(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } // Function implementations for IfcSphere -double Ifc4x3_rc3::IfcSphere::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc3::IfcSphere::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcSphere::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcSphere::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1067]); } const IfcParse::entity& Ifc4x3_rc3::IfcSphere::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1067]); } Ifc4x3_rc3::IfcSphere::IfcSphere(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3_rc3::IfcSphere::IfcSphere(::Ifc4x3_rc3::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x3_rc3::IfcSphere::IfcSphere(::Ifc4x3_rc3::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcSphericalSurface -double Ifc4x3_rc3::IfcSphericalSurface::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc3::IfcSphericalSurface::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcSphericalSurface::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcSphericalSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1068]); } const IfcParse::entity& Ifc4x3_rc3::IfcSphericalSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1068]); } Ifc4x3_rc3::IfcSphericalSurface::IfcSphericalSurface(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x3_rc3::IfcSphericalSurface::IfcSphericalSurface(::Ifc4x3_rc3::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x3_rc3::IfcSphericalSurface::IfcSphericalSurface(::Ifc4x3_rc3::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcSpiral -::Ifc4x3_rc3::IfcAxis2Placement* Ifc4x3_rc3::IfcSpiral::Position() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcAxis2Placement>(true); } +::Ifc4x3_rc3::IfcAxis2Placement* Ifc4x3_rc3::IfcSpiral::Position() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcAxis2Placement>(true); } void Ifc4x3_rc3::IfcSpiral::setPosition(::Ifc4x3_rc3::IfcAxis2Placement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc3::IfcSpiral::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1069]); } const IfcParse::entity& Ifc4x3_rc3::IfcSpiral::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1069]); } Ifc4x3_rc3::IfcSpiral::IfcSpiral(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_rc3::IfcSpiral::IfcSpiral(::Ifc4x3_rc3::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcSpiral::IfcSpiral(::Ifc4x3_rc3::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStackTerminal -boost::optional< ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value > Ifc4x3_rc3::IfcStackTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value > Ifc4x3_rc3::IfcStackTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcStackTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcStackTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1070]); } const IfcParse::entity& Ifc4x3_rc3::IfcStackTerminal::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1070]); } Ifc4x3_rc3::IfcStackTerminal::IfcStackTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc3::IfcStackTerminal::IfcStackTerminal(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcStackTerminal::IfcStackTerminal(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcStackTerminalType -::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value Ifc4x3_rc3::IfcStackTerminalType::PredefinedType() const { return ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value Ifc4x3_rc3::IfcStackTerminalType::PredefinedType() const { return ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcStackTerminalType::setPredefinedType(::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcStackTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1071]); } const IfcParse::entity& Ifc4x3_rc3::IfcStackTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1071]); } Ifc4x3_rc3::IfcStackTerminalType::IfcStackTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc3::IfcStackTerminalType::IfcStackTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcStackTerminalType::IfcStackTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStair -boost::optional< ::Ifc4x3_rc3::IfcStairTypeEnum::Value > Ifc4x3_rc3::IfcStair::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcStairTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcStairTypeEnum::Value > Ifc4x3_rc3::IfcStair::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcStairTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcStair::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcStairTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcStairTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcStair::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1073]); } const IfcParse::entity& Ifc4x3_rc3::IfcStair::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1073]); } Ifc4x3_rc3::IfcStair::IfcStair(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc3::IfcStair::IfcStair(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcStairTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcStair::IfcStair(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcStairTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcStairFlight -boost::optional< int > Ifc4x3_rc3::IfcStairFlight::NumberOfRisers() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } int v = data_.get_attribute_value(8); return v; } +boost::optional< int > Ifc4x3_rc3::IfcStairFlight::NumberOfRisers() const { if(get_attribute_value(8).isNull()) { return boost::none; } int v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcStairFlight::setNumberOfRisers(boost::optional< int > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< int > Ifc4x3_rc3::IfcStairFlight::NumberOfTreads() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } int v = data_.get_attribute_value(9); return v; } +boost::optional< int > Ifc4x3_rc3::IfcStairFlight::NumberOfTreads() const { if(get_attribute_value(9).isNull()) { return boost::none; } int v = get_attribute_value(9); return v; } void Ifc4x3_rc3::IfcStairFlight::setNumberOfTreads(boost::optional< int > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc3::IfcStairFlight::RiserHeight() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc3::IfcStairFlight::RiserHeight() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcStairFlight::setRiserHeight(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc3::IfcStairFlight::TreadLength() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc3::IfcStairFlight::TreadLength() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc3::IfcStairFlight::setTreadLength(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< ::Ifc4x3_rc3::IfcStairFlightTypeEnum::Value > Ifc4x3_rc3::IfcStairFlight::PredefinedType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcStairFlightTypeEnum::FromString(data_.get_attribute_value(12)); } +boost::optional< ::Ifc4x3_rc3::IfcStairFlightTypeEnum::Value > Ifc4x3_rc3::IfcStairFlight::PredefinedType() const { if(get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcStairFlightTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x3_rc3::IfcStairFlight::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcStairFlightTypeEnum::Value > v) { if (v) {set_attribute_value(12, EnumerationReference(&::Ifc4x3_rc3::IfcStairFlightTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_rc3::IfcStairFlight::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1074]); } const IfcParse::entity& Ifc4x3_rc3::IfcStairFlight::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1074]); } Ifc4x3_rc3::IfcStairFlight::IfcStairFlight(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc3::IfcStairFlight::IfcStairFlight(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRisers, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength, boost::optional< ::Ifc4x3_rc3::IfcStairFlightTypeEnum::Value > v13_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_rc3::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcStairFlight::IfcStairFlight(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRisers, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength, boost::optional< ::Ifc4x3_rc3::IfcStairFlightTypeEnum::Value > v13_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_rc3::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } // Function implementations for IfcStairFlightType -::Ifc4x3_rc3::IfcStairFlightTypeEnum::Value Ifc4x3_rc3::IfcStairFlightType::PredefinedType() const { return ::Ifc4x3_rc3::IfcStairFlightTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcStairFlightTypeEnum::Value Ifc4x3_rc3::IfcStairFlightType::PredefinedType() const { return ::Ifc4x3_rc3::IfcStairFlightTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcStairFlightType::setPredefinedType(::Ifc4x3_rc3::IfcStairFlightTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcStairFlightTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcStairFlightType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1075]); } const IfcParse::entity& Ifc4x3_rc3::IfcStairFlightType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1075]); } Ifc4x3_rc3::IfcStairFlightType::IfcStairFlightType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc3::IfcStairFlightType::IfcStairFlightType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcStairFlightTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcStairFlightType::IfcStairFlightType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcStairFlightTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStairType -::Ifc4x3_rc3::IfcStairTypeEnum::Value Ifc4x3_rc3::IfcStairType::PredefinedType() const { return ::Ifc4x3_rc3::IfcStairTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcStairTypeEnum::Value Ifc4x3_rc3::IfcStairType::PredefinedType() const { return ::Ifc4x3_rc3::IfcStairTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcStairType::setPredefinedType(::Ifc4x3_rc3::IfcStairTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcStairTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcStairType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1077]); } const IfcParse::entity& Ifc4x3_rc3::IfcStairType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1077]); } Ifc4x3_rc3::IfcStairType::IfcStairType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc3::IfcStairType::IfcStairType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcStairTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcStairType::IfcStairType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcStairTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralAction -boost::optional< bool > Ifc4x3_rc3::IfcStructuralAction::DestabilizingLoad() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } bool v = data_.get_attribute_value(9); return v; } +boost::optional< bool > Ifc4x3_rc3::IfcStructuralAction::DestabilizingLoad() const { if(get_attribute_value(9).isNull()) { return boost::none; } bool v = get_attribute_value(9); return v; } void Ifc4x3_rc3::IfcStructuralAction::setDestabilizingLoad(boost::optional< bool > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralAction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1080]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralAction::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1080]); } Ifc4x3_rc3::IfcStructuralAction::IfcStructuralAction(IfcEntityInstanceData&& e) : IfcStructuralActivity(std::move(e)) { } -Ifc4x3_rc3::IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralActivity(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } +Ifc4x3_rc3::IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralActivity(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } // Function implementations for IfcStructuralActivity -::Ifc4x3_rc3::IfcStructuralLoad* Ifc4x3_rc3::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc3::IfcStructuralLoad>(true); } +::Ifc4x3_rc3::IfcStructuralLoad* Ifc4x3_rc3::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc3::IfcStructuralLoad>(true); } void Ifc4x3_rc3::IfcStructuralActivity::setAppliedLoad(::Ifc4x3_rc3::IfcStructuralLoad* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value Ifc4x3_rc3::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value Ifc4x3_rc3::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcStructuralActivity::setGlobalOrLocal(::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } ::Ifc4x3_rc3::IfcRelConnectsStructuralActivity::list::ptr Ifc4x3_rc3::IfcStructuralActivity::AssignedToStructuralItem() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[928], 5)->as(); } @@ -16176,28 +16176,28 @@ void Ifc4x3_rc3::IfcStructuralActivity::setGlobalOrLocal(::Ifc4x3_rc3::IfcGlobal const IfcParse::entity& Ifc4x3_rc3::IfcStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1081]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralActivity::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1081]); } Ifc4x3_rc3::IfcStructuralActivity::IfcStructuralActivity(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_rc3::IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +Ifc4x3_rc3::IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralAnalysisModel -::Ifc4x3_rc3::IfcAnalysisModelTypeEnum::Value Ifc4x3_rc3::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x3_rc3::IfcAnalysisModelTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_rc3::IfcAnalysisModelTypeEnum::Value Ifc4x3_rc3::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x3_rc3::IfcAnalysisModelTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc3::IfcStructuralAnalysisModel::setPredefinedType(::Ifc4x3_rc3::IfcAnalysisModelTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc3::IfcAnalysisModelTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(true); } void Ifc4x3_rc3::IfcStructuralAnalysisModel::setOrientationOf2DPlane(::Ifc4x3_rc3::IfcAxis2Placement3D* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcStructuralLoadGroup >::ptr > Ifc4x3_rc3::IfcStructuralAnalysisModel::LoadedBy() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc3::IfcStructuralLoadGroup >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcStructuralLoadGroup >::ptr > Ifc4x3_rc3::IfcStructuralAnalysisModel::LoadedBy() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc3::IfcStructuralLoadGroup >(); } void Ifc4x3_rc3::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcStructuralLoadGroup >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcStructuralResultGroup >::ptr > Ifc4x3_rc3::IfcStructuralAnalysisModel::HasResults() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_rc3::IfcStructuralResultGroup >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcStructuralResultGroup >::ptr > Ifc4x3_rc3::IfcStructuralAnalysisModel::HasResults() const { if(get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_rc3::IfcStructuralResultGroup >(); } void Ifc4x3_rc3::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcStructuralResultGroup >::ptr > v) { if (v) {set_attribute_value(8, (*v)->generalize());} else {unset_attribute_value(8);} } -::Ifc4x3_rc3::IfcObjectPlacement* Ifc4x3_rc3::IfcStructuralAnalysisModel::SharedPlacement() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc3::IfcObjectPlacement>(true); } +::Ifc4x3_rc3::IfcObjectPlacement* Ifc4x3_rc3::IfcStructuralAnalysisModel::SharedPlacement() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc3::IfcObjectPlacement>(true); } void Ifc4x3_rc3::IfcStructuralAnalysisModel::setSharedPlacement(::Ifc4x3_rc3::IfcObjectPlacement* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralAnalysisModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1083]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralAnalysisModel::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1083]); } Ifc4x3_rc3::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3_rc3::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc3::IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcStructuralResultGroup >::ptr > v9_HasResults, ::Ifc4x3_rc3::IfcObjectPlacement* v10_SharedPlacement) : IfcSystem(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, v7_OrientationOf2DPlane ? v7_OrientationOf2DPlane->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LoadedBy) {set_attribute_value(7, (*v8_LoadedBy)->generalize()); } if (v9_HasResults) {set_attribute_value(8, (*v9_HasResults)->generalize()); }set_attribute_value(9, v10_SharedPlacement ? v10_SharedPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc3::IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcStructuralResultGroup >::ptr > v9_HasResults, ::Ifc4x3_rc3::IfcObjectPlacement* v10_SharedPlacement) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, v7_OrientationOf2DPlane ? v7_OrientationOf2DPlane->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LoadedBy) {set_attribute_value(7, (*v8_LoadedBy)->generalize()); } if (v9_HasResults) {set_attribute_value(8, (*v9_HasResults)->generalize()); }set_attribute_value(9, v10_SharedPlacement ? v10_SharedPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralConnection -::Ifc4x3_rc3::IfcBoundaryCondition* Ifc4x3_rc3::IfcStructuralConnection::AppliedCondition() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc3::IfcBoundaryCondition>(true); } +::Ifc4x3_rc3::IfcBoundaryCondition* Ifc4x3_rc3::IfcStructuralConnection::AppliedCondition() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc3::IfcBoundaryCondition>(true); } void Ifc4x3_rc3::IfcStructuralConnection::setAppliedCondition(::Ifc4x3_rc3::IfcBoundaryCondition* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_rc3::IfcRelConnectsStructuralMember::list::ptr Ifc4x3_rc3::IfcStructuralConnection::ConnectsStructuralMembers() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[929], 5)->as(); } @@ -16205,51 +16205,51 @@ void Ifc4x3_rc3::IfcStructuralConnection::setAppliedCondition(::Ifc4x3_rc3::IfcB const IfcParse::entity& Ifc4x3_rc3::IfcStructuralConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1084]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralConnection::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1084]); } Ifc4x3_rc3::IfcStructuralConnection::IfcStructuralConnection(IfcEntityInstanceData&& e) : IfcStructuralItem(std::move(e)) { } -Ifc4x3_rc3::IfcStructuralConnection::IfcStructuralConnection(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralItem(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcStructuralConnection::IfcStructuralConnection(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralItem(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralConnectionCondition -boost::optional< std::string > Ifc4x3_rc3::IfcStructuralConnectionCondition::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcStructuralConnectionCondition::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcStructuralConnectionCondition::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1085]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralConnectionCondition::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1085]); } Ifc4x3_rc3::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_rc3::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralCurveAction -boost::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_rc3::IfcStructuralCurveAction::ProjectedOrTrue() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_rc3::IfcStructuralCurveAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc3::IfcStructuralCurveAction::setProjectedOrTrue(boost::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_rc3::IfcStructuralCurveAction::PredefinedType() const { return ::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_rc3::IfcStructuralCurveAction::PredefinedType() const { return ::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc3::IfcStructuralCurveAction::setPredefinedType(::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralCurveAction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1086]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralCurveAction::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1086]); } Ifc4x3_rc3::IfcStructuralCurveAction::IfcStructuralCurveAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -Ifc4x3_rc3::IfcStructuralCurveAction::IfcStructuralCurveAction(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcStructuralCurveAction::IfcStructuralCurveAction(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralCurveConnection -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcStructuralCurveConnection::Axis() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc3::IfcDirection>(true); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcStructuralCurveConnection::Axis() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcStructuralCurveConnection::setAxis(::Ifc4x3_rc3::IfcDirection* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralCurveConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1088]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralCurveConnection::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1088]); } Ifc4x3_rc3::IfcStructuralCurveConnection::IfcStructuralCurveConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -Ifc4x3_rc3::IfcStructuralCurveConnection::IfcStructuralCurveConnection(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x3_rc3::IfcDirection* v9_Axis) : IfcStructuralConnection(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcStructuralCurveConnection::IfcStructuralCurveConnection(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x3_rc3::IfcDirection* v9_Axis) : IfcStructuralConnection(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralCurveMember -::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_rc3::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_rc3::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc3::IfcStructuralCurveMember::setPredefinedType(::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc3::IfcDirection>(true); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcStructuralCurveMember::setAxis(::Ifc4x3_rc3::IfcDirection* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralCurveMember::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1089]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralCurveMember::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1089]); } Ifc4x3_rc3::IfcStructuralCurveMember::IfcStructuralCurveMember(IfcEntityInstanceData&& e) : IfcStructuralMember(std::move(e)) { } -Ifc4x3_rc3::IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc3::IfcDirection* v9_Axis) : IfcStructuralMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc3::IfcDirection* v9_Axis) : IfcStructuralMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralCurveMemberVarying @@ -16257,17 +16257,17 @@ Ifc4x3_rc3::IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_Gl const IfcParse::entity& Ifc4x3_rc3::IfcStructuralCurveMemberVarying::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1091]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralCurveMemberVarying::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1091]); } Ifc4x3_rc3::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(IfcEntityInstanceData&& e) : IfcStructuralCurveMember(std::move(e)) { } -Ifc4x3_rc3::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc3::IfcDirection* v9_Axis) : IfcStructuralCurveMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_rc3::IfcDirection* v9_Axis) : IfcStructuralCurveMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralCurveReaction -::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_rc3::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_rc3::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcStructuralCurveReaction::setPredefinedType(::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralCurveReaction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1092]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralCurveReaction::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1092]); } Ifc4x3_rc3::IfcStructuralCurveReaction::IfcStructuralCurveReaction(IfcEntityInstanceData&& e) : IfcStructuralReaction(std::move(e)) { } -Ifc4x3_rc3::IfcStructuralCurveReaction::IfcStructuralCurveReaction(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcStructuralCurveReaction::IfcStructuralCurveReaction(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralItem @@ -16276,7 +16276,7 @@ Ifc4x3_rc3::IfcStructuralCurveReaction::IfcStructuralCurveReaction(std::string v const IfcParse::entity& Ifc4x3_rc3::IfcStructuralItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1093]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralItem::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1093]); } Ifc4x3_rc3::IfcStructuralItem::IfcStructuralItem(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_rc3::IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralLinearAction @@ -16284,50 +16284,50 @@ Ifc4x3_rc3::IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLinearAction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1094]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLinearAction::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1094]); } Ifc4x3_rc3::IfcStructuralLinearAction::IfcStructuralLinearAction(IfcEntityInstanceData&& e) : IfcStructuralCurveAction(std::move(e)) { } -Ifc4x3_rc3::IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralCurveAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralCurveAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc3::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralLoad -boost::optional< std::string > Ifc4x3_rc3::IfcStructuralLoad::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcStructuralLoad::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcStructuralLoad::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoad::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1095]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoad::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1095]); } Ifc4x3_rc3::IfcStructuralLoad::IfcStructuralLoad(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_rc3::IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralLoadCase -boost::optional< std::vector< double > /*[3:3]*/ > Ifc4x3_rc3::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::vector< double > /*[3:3]*/ v = data_.get_attribute_value(10); return v; } +boost::optional< std::vector< double > /*[3:3]*/ > Ifc4x3_rc3::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::vector< double > /*[3:3]*/ v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcStructuralLoadCase::setSelfWeightCoefficients(boost::optional< std::vector< double > /*[3:3]*/ > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1096]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadCase::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1096]); } Ifc4x3_rc3::IfcStructuralLoadCase::IfcStructuralLoadCase(IfcEntityInstanceData&& e) : IfcStructuralLoadGroup(std::move(e)) { } -Ifc4x3_rc3::IfcStructuralLoadCase::IfcStructuralLoadCase(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc3::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc3::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(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc3::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); }; populate_derived(); } +Ifc4x3_rc3::IfcStructuralLoadCase::IfcStructuralLoadCase(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc3::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc3::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(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc3::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); }; populate_derived(); } // Function implementations for IfcStructuralLoadConfiguration -aggregate_of< ::Ifc4x3_rc3::IfcStructuralLoadOrResult >::ptr Ifc4x3_rc3::IfcStructuralLoadConfiguration::Values() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcStructuralLoadOrResult >(); } +aggregate_of< ::Ifc4x3_rc3::IfcStructuralLoadOrResult >::ptr Ifc4x3_rc3::IfcStructuralLoadConfiguration::Values() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcStructuralLoadOrResult >(); } void Ifc4x3_rc3::IfcStructuralLoadConfiguration::setValues(aggregate_of< ::Ifc4x3_rc3::IfcStructuralLoadOrResult >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::vector< std::vector< double > > > Ifc4x3_rc3::IfcStructuralLoadConfiguration::Locations() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< std::vector< double > > v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< std::vector< double > > > Ifc4x3_rc3::IfcStructuralLoadConfiguration::Locations() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< std::vector< double > > v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcStructuralLoadConfiguration::setLocations(boost::optional< std::vector< std::vector< double > > > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadConfiguration::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1097]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadConfiguration::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1097]); } Ifc4x3_rc3::IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(IfcEntityInstanceData&& e) : IfcStructuralLoad(std::move(e)) { } -Ifc4x3_rc3::IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc3::IfcStructuralLoadOrResult >::ptr v2_Values, boost::optional< std::vector< std::vector< double > > > v3_Locations) : IfcStructuralLoad(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Values)->generalize()); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); }; populate_derived(); } +Ifc4x3_rc3::IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc3::IfcStructuralLoadOrResult >::ptr v2_Values, boost::optional< std::vector< std::vector< double > > > v3_Locations) : IfcStructuralLoad(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Values)->generalize()); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); }; populate_derived(); } // Function implementations for IfcStructuralLoadGroup -::Ifc4x3_rc3::IfcLoadGroupTypeEnum::Value Ifc4x3_rc3::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4x3_rc3::IfcLoadGroupTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_rc3::IfcLoadGroupTypeEnum::Value Ifc4x3_rc3::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4x3_rc3::IfcLoadGroupTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc3::IfcStructuralLoadGroup::setPredefinedType(::Ifc4x3_rc3::IfcLoadGroupTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc3::IfcLoadGroupTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc3::IfcActionTypeEnum::Value Ifc4x3_rc3::IfcStructuralLoadGroup::ActionType() const { return ::Ifc4x3_rc3::IfcActionTypeEnum::FromString(data_.get_attribute_value(6)); } +::Ifc4x3_rc3::IfcActionTypeEnum::Value Ifc4x3_rc3::IfcStructuralLoadGroup::ActionType() const { return ::Ifc4x3_rc3::IfcActionTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_rc3::IfcStructuralLoadGroup::setActionType(::Ifc4x3_rc3::IfcActionTypeEnum::Value v) { set_attribute_value(6, EnumerationReference(&::Ifc4x3_rc3::IfcActionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc3::IfcActionSourceTypeEnum::Value Ifc4x3_rc3::IfcStructuralLoadGroup::ActionSource() const { return ::Ifc4x3_rc3::IfcActionSourceTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc3::IfcActionSourceTypeEnum::Value Ifc4x3_rc3::IfcStructuralLoadGroup::ActionSource() const { return ::Ifc4x3_rc3::IfcActionSourceTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc3::IfcStructuralLoadGroup::setActionSource(::Ifc4x3_rc3::IfcActionSourceTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc3::IfcActionSourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadGroup::Coefficient() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadGroup::Coefficient() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcStructuralLoadGroup::setCoefficient(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_rc3::IfcStructuralLoadGroup::Purpose() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcStructuralLoadGroup::Purpose() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc3::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } ::Ifc4x3_rc3::IfcStructuralResultGroup::list::ptr Ifc4x3_rc3::IfcStructuralLoadGroup::SourceOfResultGroup() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[1114], 6)->as(); } @@ -16336,27 +16336,27 @@ void Ifc4x3_rc3::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1098]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadGroup::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1098]); } Ifc4x3_rc3::IfcStructuralLoadGroup::IfcStructuralLoadGroup(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x3_rc3::IfcStructuralLoadGroup::IfcStructuralLoadGroup(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc3::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc3::IfcActionSourceTypeEnum::Value v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose) : IfcGroup(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc3::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; populate_derived(); } +Ifc4x3_rc3::IfcStructuralLoadGroup::IfcStructuralLoadGroup(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_rc3::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_rc3::IfcActionSourceTypeEnum::Value v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc3::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; populate_derived(); } // Function implementations for IfcStructuralLoadLinearForce -boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadLinearForce::LinearForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadLinearForce::LinearForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcStructuralLoadLinearForce::setLinearForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadLinearForce::LinearForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadLinearForce::LinearForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcStructuralLoadLinearForce::setLinearForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadLinearForce::LinearForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadLinearForce::LinearForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcStructuralLoadLinearForce::setLinearForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadLinearForce::LinearMomentX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadLinearForce::LinearMomentX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcStructuralLoadLinearForce::setLinearMomentX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadLinearForce::LinearMomentY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadLinearForce::LinearMomentY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcStructuralLoadLinearForce::setLinearMomentY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadLinearForce::LinearMomentZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadLinearForce::LinearMomentZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcStructuralLoadLinearForce::setLinearMomentZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadLinearForce::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1099]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadLinearForce::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1099]); } Ifc4x3_rc3::IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3_rc3::IfcStructuralLoadLinearForce::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) : IfcStructuralLoadStatic(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; populate_derived(); } +Ifc4x3_rc3::IfcStructuralLoadLinearForce::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) : IfcStructuralLoadStatic(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadOrResult @@ -16364,81 +16364,81 @@ Ifc4x3_rc3::IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(boost::op const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadOrResult::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1100]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadOrResult::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1100]); } Ifc4x3_rc3::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(IfcEntityInstanceData&& e) : IfcStructuralLoad(std::move(e)) { } -Ifc4x3_rc3::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional< std::string > v1_Name) : IfcStructuralLoad(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_rc3::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional< std::string > v1_Name) : IfcStructuralLoad(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralLoadPlanarForce -boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcStructuralLoadPlanarForce::setPlanarForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadPlanarForce::PlanarForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadPlanarForce::PlanarForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcStructuralLoadPlanarForce::setPlanarForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadPlanarForce::PlanarForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadPlanarForce::PlanarForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcStructuralLoadPlanarForce::setPlanarForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadPlanarForce::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1101]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadPlanarForce::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1101]); } Ifc4x3_rc3::IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3_rc3::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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; populate_derived(); } +Ifc4x3_rc3::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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleDisplacement -boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::setDisplacementX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::DisplacementY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::DisplacementY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::setDisplacementY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::DisplacementZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::DisplacementZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::setDisplacementZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1102]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1102]); } Ifc4x3_rc3::IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3_rc3::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; populate_derived(); } +Ifc4x3_rc3::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleDisplacementDistortion -boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadSingleDisplacementDistortion::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1103]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadSingleDisplacementDistortion::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1103]); } Ifc4x3_rc3::IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDisplacementDistortion(IfcEntityInstanceData&& e) : IfcStructuralLoadSingleDisplacement(std::move(e)) { } -Ifc4x3_rc3::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(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; populate_derived(); } +Ifc4x3_rc3::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(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleForce -boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleForce::ForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleForce::ForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcStructuralLoadSingleForce::setForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleForce::ForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleForce::ForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcStructuralLoadSingleForce::setForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleForce::ForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleForce::ForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcStructuralLoadSingleForce::setForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleForce::MomentX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleForce::MomentX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcStructuralLoadSingleForce::setMomentX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleForce::MomentY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleForce::MomentY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcStructuralLoadSingleForce::setMomentY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleForce::MomentZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleForce::MomentZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcStructuralLoadSingleForce::setMomentZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadSingleForce::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1104]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadSingleForce::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1104]); } Ifc4x3_rc3::IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3_rc3::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; populate_derived(); } +Ifc4x3_rc3::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleForceWarping -boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcStructuralLoadSingleForceWarping::setWarpingMoment(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadSingleForceWarping::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1105]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadSingleForceWarping::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1105]); } Ifc4x3_rc3::IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWarping(IfcEntityInstanceData&& e) : IfcStructuralLoadSingleForce(std::move(e)) { } -Ifc4x3_rc3::IfcStructuralLoadSingleForceWarping::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) : IfcStructuralLoadSingleForce(IfcEntityInstanceData(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; populate_derived(); } +Ifc4x3_rc3::IfcStructuralLoadSingleForceWarping::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) : IfcStructuralLoadSingleForce(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; populate_derived(); } // Function implementations for IfcStructuralLoadStatic @@ -16446,21 +16446,21 @@ Ifc4x3_rc3::IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWar const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadStatic::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1106]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadStatic::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1106]); } Ifc4x3_rc3::IfcStructuralLoadStatic::IfcStructuralLoadStatic(IfcEntityInstanceData&& e) : IfcStructuralLoadOrResult(std::move(e)) { } -Ifc4x3_rc3::IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< std::string > v1_Name) : IfcStructuralLoadOrResult(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_rc3::IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< std::string > v1_Name) : IfcStructuralLoadOrResult(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralLoadTemperature -boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadTemperature::DeltaTConstant() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadTemperature::DeltaTConstant() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcStructuralLoadTemperature::setDeltaTConstant(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadTemperature::DeltaTY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadTemperature::DeltaTY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcStructuralLoadTemperature::setDeltaTY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadTemperature::DeltaTZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc3::IfcStructuralLoadTemperature::DeltaTZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcStructuralLoadTemperature::setDeltaTZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadTemperature::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1107]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralLoadTemperature::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1107]); } Ifc4x3_rc3::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3_rc3::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::optional< std::string > v1_Name, boost::optional< double > v2_DeltaTConstant, boost::optional< double > v3_DeltaTY, boost::optional< double > v4_DeltaTZ) : IfcStructuralLoadStatic(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); }; populate_derived(); } +Ifc4x3_rc3::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::optional< std::string > v1_Name, boost::optional< double > v2_DeltaTConstant, boost::optional< double > v3_DeltaTY, boost::optional< double > v4_DeltaTZ) : IfcStructuralLoadStatic(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); }; populate_derived(); } // Function implementations for IfcStructuralMember @@ -16469,7 +16469,7 @@ Ifc4x3_rc3::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::op const IfcParse::entity& Ifc4x3_rc3::IfcStructuralMember::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1108]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralMember::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1108]); } Ifc4x3_rc3::IfcStructuralMember::IfcStructuralMember(IfcEntityInstanceData&& e) : IfcStructuralItem(std::move(e)) { } -Ifc4x3_rc3::IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation) : IfcStructuralItem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation) : IfcStructuralItem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralPlanarAction @@ -16477,7 +16477,7 @@ Ifc4x3_rc3::IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x3_rc3::IfcStructuralPlanarAction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1109]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralPlanarAction::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1109]); } Ifc4x3_rc3::IfcStructuralPlanarAction::IfcStructuralPlanarAction(IfcEntityInstanceData&& e) : IfcStructuralSurfaceAction(std::move(e)) { } -Ifc4x3_rc3::IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralSurfaceAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralSurfaceAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralPointAction @@ -16485,17 +16485,17 @@ Ifc4x3_rc3::IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_ const IfcParse::entity& Ifc4x3_rc3::IfcStructuralPointAction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1110]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralPointAction::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1110]); } Ifc4x3_rc3::IfcStructuralPointAction::IfcStructuralPointAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -Ifc4x3_rc3::IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralAction(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } +Ifc4x3_rc3::IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralAction(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } // Function implementations for IfcStructuralPointConnection -::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(true); } void Ifc4x3_rc3::IfcStructuralPointConnection::setConditionCoordinateSystem(::Ifc4x3_rc3::IfcAxis2Placement3D* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralPointConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1111]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralPointConnection::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1111]); } Ifc4x3_rc3::IfcStructuralPointConnection::IfcStructuralPointConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -Ifc4x3_rc3::IfcStructuralPointConnection::IfcStructuralPointConnection(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x3_rc3::IfcAxis2Placement3D* v9_ConditionCoordinateSystem) : IfcStructuralConnection(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_ConditionCoordinateSystem ? v9_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcStructuralPointConnection::IfcStructuralPointConnection(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x3_rc3::IfcAxis2Placement3D* v9_ConditionCoordinateSystem) : IfcStructuralConnection(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_ConditionCoordinateSystem ? v9_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralPointReaction @@ -16503,7 +16503,7 @@ Ifc4x3_rc3::IfcStructuralPointConnection::IfcStructuralPointConnection(std::stri const IfcParse::entity& Ifc4x3_rc3::IfcStructuralPointReaction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1112]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralPointReaction::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1112]); } Ifc4x3_rc3::IfcStructuralPointReaction::IfcStructuralPointReaction(IfcEntityInstanceData&& e) : IfcStructuralReaction(std::move(e)) { } -Ifc4x3_rc3::IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralReaction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +Ifc4x3_rc3::IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralReaction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralReaction @@ -16511,14 +16511,14 @@ Ifc4x3_rc3::IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v const IfcParse::entity& Ifc4x3_rc3::IfcStructuralReaction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1113]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralReaction::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1113]); } Ifc4x3_rc3::IfcStructuralReaction::IfcStructuralReaction(IfcEntityInstanceData&& e) : IfcStructuralActivity(std::move(e)) { } -Ifc4x3_rc3::IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralActivity(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +Ifc4x3_rc3::IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralActivity(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralResultGroup -::Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_rc3::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_rc3::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc3::IfcStructuralResultGroup::setTheoryType(::Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc3::IfcStructuralLoadGroup* Ifc4x3_rc3::IfcStructuralResultGroup::ResultForLoadGroup() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcStructuralLoadGroup>(true); } +::Ifc4x3_rc3::IfcStructuralLoadGroup* Ifc4x3_rc3::IfcStructuralResultGroup::ResultForLoadGroup() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcStructuralLoadGroup>(true); } void Ifc4x3_rc3::IfcStructuralResultGroup::setResultForLoadGroup(::Ifc4x3_rc3::IfcStructuralLoadGroup* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -bool Ifc4x3_rc3::IfcStructuralResultGroup::IsLinear() const { bool v = data_.get_attribute_value(7); return v; } +bool Ifc4x3_rc3::IfcStructuralResultGroup::IsLinear() const { bool v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcStructuralResultGroup::setIsLinear(bool v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_rc3::IfcStructuralAnalysisModel::list::ptr Ifc4x3_rc3::IfcStructuralResultGroup::ResultGroupFor() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[1083], 8)->as(); } @@ -16526,19 +16526,19 @@ void Ifc4x3_rc3::IfcStructuralResultGroup::setIsLinear(bool v) { set_attribute_v const IfcParse::entity& Ifc4x3_rc3::IfcStructuralResultGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1114]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralResultGroup::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1114]); } Ifc4x3_rc3::IfcStructuralResultGroup::IfcStructuralResultGroup(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x3_rc3::IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_rc3::IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear) : IfcGroup(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, v7_ResultForLoadGroup ? v7_ResultForLoadGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_IsLinear));; populate_derived(); } +Ifc4x3_rc3::IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_rc3::IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, v7_ResultForLoadGroup ? v7_ResultForLoadGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_IsLinear));; populate_derived(); } // Function implementations for IfcStructuralSurfaceAction -boost::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_rc3::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_rc3::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc3::IfcStructuralSurfaceAction::setProjectedOrTrue(boost::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_rc3::IfcStructuralSurfaceAction::PredefinedType() const { return ::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_rc3::IfcStructuralSurfaceAction::PredefinedType() const { return ::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc3::IfcStructuralSurfaceAction::setPredefinedType(::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralSurfaceAction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1115]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralSurfaceAction::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1115]); } Ifc4x3_rc3::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -Ifc4x3_rc3::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralSurfaceConnection @@ -16546,19 +16546,19 @@ Ifc4x3_rc3::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(std::string v const IfcParse::entity& Ifc4x3_rc3::IfcStructuralSurfaceConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1117]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralSurfaceConnection::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1117]); } Ifc4x3_rc3::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -Ifc4x3_rc3::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralSurfaceMember -::Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_rc3::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_rc3::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc3::IfcStructuralSurfaceMember::setPredefinedType(::Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc4x3_rc3::IfcStructuralSurfaceMember::Thickness() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc3::IfcStructuralSurfaceMember::Thickness() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcStructuralSurfaceMember::setThickness(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralSurfaceMember::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1118]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralSurfaceMember::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1118]); } Ifc4x3_rc3::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(IfcEntityInstanceData&& e) : IfcStructuralMember(std::move(e)) { } -Ifc4x3_rc3::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } +Ifc4x3_rc3::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } // Function implementations for IfcStructuralSurfaceMemberVarying @@ -16566,17 +16566,17 @@ Ifc4x3_rc3::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v const IfcParse::entity& Ifc4x3_rc3::IfcStructuralSurfaceMemberVarying::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1120]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralSurfaceMemberVarying::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1120]); } Ifc4x3_rc3::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(IfcEntityInstanceData&& e) : IfcStructuralSurfaceMember(std::move(e)) { } -Ifc4x3_rc3::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralSurfaceMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } +Ifc4x3_rc3::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralSurfaceMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc3::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } // Function implementations for IfcStructuralSurfaceReaction -::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_rc3::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_rc3::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcStructuralSurfaceReaction::setPredefinedType(::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralSurfaceReaction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1121]); } const IfcParse::entity& Ifc4x3_rc3::IfcStructuralSurfaceReaction::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1121]); } Ifc4x3_rc3::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(IfcEntityInstanceData&& e) : IfcStructuralReaction(std::move(e)) { } -Ifc4x3_rc3::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, ::Ifc4x3_rc3::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStyleModel @@ -16584,21 +16584,21 @@ Ifc4x3_rc3::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(std::stri const IfcParse::entity& Ifc4x3_rc3::IfcStyleModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1124]); } const IfcParse::entity& Ifc4x3_rc3::IfcStyleModel::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1124]); } Ifc4x3_rc3::IfcStyleModel::IfcStyleModel(IfcEntityInstanceData&& e) : IfcRepresentation(std::move(e)) { } -Ifc4x3_rc3::IfcStyleModel::IfcStyleModel(::Ifc4x3_rc3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc3::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcStyleModel::IfcStyleModel(::Ifc4x3_rc3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc3::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcStyledItem -::Ifc4x3_rc3::IfcRepresentationItem* Ifc4x3_rc3::IfcStyledItem::Item() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcRepresentationItem>(true); } +::Ifc4x3_rc3::IfcRepresentationItem* Ifc4x3_rc3::IfcStyledItem::Item() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcRepresentationItem>(true); } void Ifc4x3_rc3::IfcStyledItem::setItem(::Ifc4x3_rc3::IfcRepresentationItem* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc3::IfcPresentationStyle >::ptr Ifc4x3_rc3::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcPresentationStyle >(); } +aggregate_of< ::Ifc4x3_rc3::IfcPresentationStyle >::ptr Ifc4x3_rc3::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcPresentationStyle >(); } void Ifc4x3_rc3::IfcStyledItem::setStyles(aggregate_of< ::Ifc4x3_rc3::IfcPresentationStyle >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_rc3::IfcStyledItem::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcStyledItem::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcStyledItem::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc3::IfcStyledItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1122]); } const IfcParse::entity& Ifc4x3_rc3::IfcStyledItem::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1122]); } Ifc4x3_rc3::IfcStyledItem::IfcStyledItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcStyledItem::IfcStyledItem(::Ifc4x3_rc3::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x3_rc3::IfcPresentationStyle >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3_rc3::IfcStyledItem::IfcStyledItem(::Ifc4x3_rc3::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x3_rc3::IfcPresentationStyle >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcStyledRepresentation @@ -16606,37 +16606,37 @@ Ifc4x3_rc3::IfcStyledItem::IfcStyledItem(::Ifc4x3_rc3::IfcRepresentationItem* v1 const IfcParse::entity& Ifc4x3_rc3::IfcStyledRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1123]); } const IfcParse::entity& Ifc4x3_rc3::IfcStyledRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1123]); } Ifc4x3_rc3::IfcStyledRepresentation::IfcStyledRepresentation(IfcEntityInstanceData&& e) : IfcStyleModel(std::move(e)) { } -Ifc4x3_rc3::IfcStyledRepresentation::IfcStyledRepresentation(::Ifc4x3_rc3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc3::IfcRepresentationItem >::ptr v4_Items) : IfcStyleModel(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcStyledRepresentation::IfcStyledRepresentation(::Ifc4x3_rc3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc3::IfcRepresentationItem >::ptr v4_Items) : IfcStyleModel(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcSubContractResource -boost::optional< ::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Value > Ifc4x3_rc3::IfcSubContractResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Value > Ifc4x3_rc3::IfcSubContractResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc3::IfcSubContractResource::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc3::IfcSubContractResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1125]); } const IfcParse::entity& Ifc4x3_rc3::IfcSubContractResource::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1125]); } Ifc4x3_rc3::IfcSubContractResource::IfcSubContractResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_rc3::IfcSubContractResource::IfcSubContractResource(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcSubContractResource::IfcSubContractResource(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, ::Ifc4x3_rc3::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSubContractResourceType -::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Value Ifc4x3_rc3::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Value Ifc4x3_rc3::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc3::IfcSubContractResourceType::setPredefinedType(::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc3::IfcSubContractResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1126]); } const IfcParse::entity& Ifc4x3_rc3::IfcSubContractResourceType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1126]); } Ifc4x3_rc3::IfcSubContractResourceType::IfcSubContractResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_rc3::IfcSubContractResourceType::IfcSubContractResourceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcSubContractResourceType::IfcSubContractResourceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc3::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc3::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcSubedge -::Ifc4x3_rc3::IfcEdge* Ifc4x3_rc3::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcEdge>(true); } +::Ifc4x3_rc3::IfcEdge* Ifc4x3_rc3::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcEdge>(true); } void Ifc4x3_rc3::IfcSubedge::setParentEdge(::Ifc4x3_rc3::IfcEdge* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcSubedge::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1128]); } const IfcParse::entity& Ifc4x3_rc3::IfcSubedge::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1128]); } Ifc4x3_rc3::IfcSubedge::IfcSubedge(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc4x3_rc3::IfcSubedge::IfcSubedge(::Ifc4x3_rc3::IfcVertex* v1_EdgeStart, ::Ifc4x3_rc3::IfcVertex* v2_EdgeEnd, ::Ifc4x3_rc3::IfcEdge* v3_ParentEdge) : IfcEdge(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ParentEdge ? v3_ParentEdge->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcSubedge::IfcSubedge(::Ifc4x3_rc3::IfcVertex* v1_EdgeStart, ::Ifc4x3_rc3::IfcVertex* v2_EdgeEnd, ::Ifc4x3_rc3::IfcEdge* v3_ParentEdge) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ParentEdge ? v3_ParentEdge->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurface @@ -16644,172 +16644,172 @@ Ifc4x3_rc3::IfcSubedge::IfcSubedge(::Ifc4x3_rc3::IfcVertex* v1_EdgeStart, ::Ifc4 const IfcParse::entity& Ifc4x3_rc3::IfcSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1129]); } const IfcParse::entity& Ifc4x3_rc3::IfcSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1129]); } Ifc4x3_rc3::IfcSurface::IfcSurface(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcSurface::IfcSurface() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc3::IfcSurface::IfcSurface() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcSurfaceCurve -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCurve>(true); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcSurfaceCurve::setCurve3D(::Ifc4x3_rc3::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc3::IfcPcurve >::ptr Ifc4x3_rc3::IfcSurfaceCurve::AssociatedGeometry() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcPcurve >(); } +aggregate_of< ::Ifc4x3_rc3::IfcPcurve >::ptr Ifc4x3_rc3::IfcSurfaceCurve::AssociatedGeometry() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcPcurve >(); } void Ifc4x3_rc3::IfcSurfaceCurve::setAssociatedGeometry(aggregate_of< ::Ifc4x3_rc3::IfcPcurve >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x3_rc3::IfcSurfaceCurve::MasterRepresentation() const { return ::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::FromString(data_.get_attribute_value(2)); } +::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x3_rc3::IfcSurfaceCurve::MasterRepresentation() const { return ::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::FromString(get_attribute_value(2)); } void Ifc4x3_rc3::IfcSurfaceCurve::setMasterRepresentation(::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1130]); } const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1130]); } Ifc4x3_rc3::IfcSurfaceCurve::IfcSurfaceCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_rc3::IfcSurfaceCurve::IfcSurfaceCurve(::Ifc4x3_rc3::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_rc3::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } +Ifc4x3_rc3::IfcSurfaceCurve::IfcSurfaceCurve(::Ifc4x3_rc3::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_rc3::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc3::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcSurfaceCurveSweptAreaSolid -::Ifc4x3_rc3::IfcSurface* Ifc4x3_rc3::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcSurface>(true); } +::Ifc4x3_rc3::IfcSurface* Ifc4x3_rc3::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcSurface>(true); } void Ifc4x3_rc3::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(::Ifc4x3_rc3::IfcSurface* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceCurveSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1131]); } const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceCurveSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1131]); } Ifc4x3_rc3::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(IfcEntityInstanceData&& e) : IfcDirectrixCurveSweptAreaSolid(std::move(e)) { } -Ifc4x3_rc3::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(::Ifc4x3_rc3::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc3::IfcCurve* v3_Directrix, ::Ifc4x3_rc3::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_rc3::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3_rc3::IfcSurface* v6_ReferenceSurface) : IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReferenceSurface ? v6_ReferenceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(::Ifc4x3_rc3::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc3::IfcCurve* v3_Directrix, ::Ifc4x3_rc3::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_rc3::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3_rc3::IfcSurface* v6_ReferenceSurface) : IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReferenceSurface ? v6_ReferenceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceFeature -boost::optional< ::Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::Value > Ifc4x3_rc3::IfcSurfaceFeature::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::Value > Ifc4x3_rc3::IfcSurfaceFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcSurfaceFeature::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceFeature::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1132]); } const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceFeature::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1132]); } Ifc4x3_rc3::IfcSurfaceFeature::IfcSurfaceFeature(IfcEntityInstanceData&& e) : IfcFeatureElement(std::move(e)) { } -Ifc4x3_rc3::IfcSurfaceFeature::IfcSurfaceFeature(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcSurfaceFeature::IfcSurfaceFeature(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSurfaceOfLinearExtrusion -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcDirection>(true); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcSurfaceOfLinearExtrusion::setExtrudedDirection(::Ifc4x3_rc3::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc3::IfcSurfaceOfLinearExtrusion::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc3::IfcSurfaceOfLinearExtrusion::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcSurfaceOfLinearExtrusion::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceOfLinearExtrusion::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1134]); } const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceOfLinearExtrusion::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1134]); } Ifc4x3_rc3::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(IfcEntityInstanceData&& e) : IfcSweptSurface(std::move(e)) { } -Ifc4x3_rc3::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(::Ifc4x3_rc3::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_rc3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc3::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } +Ifc4x3_rc3::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(::Ifc4x3_rc3::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_rc3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc3::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } // Function implementations for IfcSurfaceOfRevolution -::Ifc4x3_rc3::IfcAxis1Placement* Ifc4x3_rc3::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcAxis1Placement>(true); } +::Ifc4x3_rc3::IfcAxis1Placement* Ifc4x3_rc3::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcAxis1Placement>(true); } void Ifc4x3_rc3::IfcSurfaceOfRevolution::setAxisPosition(::Ifc4x3_rc3::IfcAxis1Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceOfRevolution::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1135]); } const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceOfRevolution::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1135]); } Ifc4x3_rc3::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(IfcEntityInstanceData&& e) : IfcSweptSurface(std::move(e)) { } -Ifc4x3_rc3::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(::Ifc4x3_rc3::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_rc3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc3::IfcAxis1Placement* v3_AxisPosition) : IfcSweptSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_AxisPosition ? v3_AxisPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(::Ifc4x3_rc3::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_rc3::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc3::IfcAxis1Placement* v3_AxisPosition) : IfcSweptSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_AxisPosition ? v3_AxisPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceReinforcementArea -boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_rc3::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_rc3::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcSurfaceReinforcementArea::setSurfaceReinforcement1(boost::optional< std::vector< double > /*[2:3]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_rc3::IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_rc3::IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcSurfaceReinforcementArea::setSurfaceReinforcement2(boost::optional< std::vector< double > /*[2:3]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc3::IfcSurfaceReinforcementArea::ShearReinforcement() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc3::IfcSurfaceReinforcementArea::ShearReinforcement() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcSurfaceReinforcementArea::setShearReinforcement(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceReinforcementArea::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1137]); } const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceReinforcementArea::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1137]); } Ifc4x3_rc3::IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(IfcEntityInstanceData&& e) : IfcStructuralLoadOrResult(std::move(e)) { } -Ifc4x3_rc3::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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); }; populate_derived(); } +Ifc4x3_rc3::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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); }; populate_derived(); } // Function implementations for IfcSurfaceStyle -::Ifc4x3_rc3::IfcSurfaceSide::Value Ifc4x3_rc3::IfcSurfaceStyle::Side() const { return ::Ifc4x3_rc3::IfcSurfaceSide::FromString(data_.get_attribute_value(1)); } +::Ifc4x3_rc3::IfcSurfaceSide::Value Ifc4x3_rc3::IfcSurfaceStyle::Side() const { return ::Ifc4x3_rc3::IfcSurfaceSide::FromString(get_attribute_value(1)); } void Ifc4x3_rc3::IfcSurfaceStyle::setSide(::Ifc4x3_rc3::IfcSurfaceSide::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x3_rc3::IfcSurfaceSide::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3_rc3::IfcSurfaceStyleElementSelect >::ptr Ifc4x3_rc3::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcSurfaceStyleElementSelect >(); } +aggregate_of< ::Ifc4x3_rc3::IfcSurfaceStyleElementSelect >::ptr Ifc4x3_rc3::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcSurfaceStyleElementSelect >(); } void Ifc4x3_rc3::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x3_rc3::IfcSurfaceStyleElementSelect >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1139]); } const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1139]); } Ifc4x3_rc3::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x3_rc3::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_rc3::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc3::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, (v3_Styles)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_rc3::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc3::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, (v3_Styles)->generalize());; populate_derived(); } // Function implementations for IfcSurfaceStyleLighting -::Ifc4x3_rc3::IfcColourRgb* Ifc4x3_rc3::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcColourRgb>(true); } +::Ifc4x3_rc3::IfcColourRgb* Ifc4x3_rc3::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcColourRgb>(true); } void Ifc4x3_rc3::IfcSurfaceStyleLighting::setDiffuseTransmissionColour(::Ifc4x3_rc3::IfcColourRgb* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcColourRgb* Ifc4x3_rc3::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcColourRgb>(true); } +::Ifc4x3_rc3::IfcColourRgb* Ifc4x3_rc3::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcColourRgb>(true); } void Ifc4x3_rc3::IfcSurfaceStyleLighting::setDiffuseReflectionColour(::Ifc4x3_rc3::IfcColourRgb* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcColourRgb* Ifc4x3_rc3::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcColourRgb>(true); } +::Ifc4x3_rc3::IfcColourRgb* Ifc4x3_rc3::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcColourRgb>(true); } void Ifc4x3_rc3::IfcSurfaceStyleLighting::setTransmissionColour(::Ifc4x3_rc3::IfcColourRgb* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcColourRgb* Ifc4x3_rc3::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcColourRgb>(true); } +::Ifc4x3_rc3::IfcColourRgb* Ifc4x3_rc3::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcColourRgb>(true); } void Ifc4x3_rc3::IfcSurfaceStyleLighting::setReflectanceColour(::Ifc4x3_rc3::IfcColourRgb* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceStyleLighting::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1141]); } const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceStyleLighting::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1141]); } Ifc4x3_rc3::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(::Ifc4x3_rc3::IfcColourRgb* v1_DiffuseTransmissionColour, ::Ifc4x3_rc3::IfcColourRgb* v2_DiffuseReflectionColour, ::Ifc4x3_rc3::IfcColourRgb* v3_TransmissionColour, ::Ifc4x3_rc3::IfcColourRgb* v4_ReflectanceColour) : IfcPresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_DiffuseTransmissionColour ? v1_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_DiffuseReflectionColour ? v2_DiffuseReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TransmissionColour ? v3_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_ReflectanceColour ? v4_ReflectanceColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(::Ifc4x3_rc3::IfcColourRgb* v1_DiffuseTransmissionColour, ::Ifc4x3_rc3::IfcColourRgb* v2_DiffuseReflectionColour, ::Ifc4x3_rc3::IfcColourRgb* v3_TransmissionColour, ::Ifc4x3_rc3::IfcColourRgb* v4_ReflectanceColour) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_DiffuseTransmissionColour ? v1_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_DiffuseReflectionColour ? v2_DiffuseReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TransmissionColour ? v3_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_ReflectanceColour ? v4_ReflectanceColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceStyleRefraction -boost::optional< double > Ifc4x3_rc3::IfcSurfaceStyleRefraction::RefractionIndex() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } double v = data_.get_attribute_value(0); return v; } +boost::optional< double > Ifc4x3_rc3::IfcSurfaceStyleRefraction::RefractionIndex() const { if(get_attribute_value(0).isNull()) { return boost::none; } double v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcSurfaceStyleRefraction::setRefractionIndex(boost::optional< double > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< double > Ifc4x3_rc3::IfcSurfaceStyleRefraction::DispersionFactor() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc3::IfcSurfaceStyleRefraction::DispersionFactor() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcSurfaceStyleRefraction::setDispersionFactor(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceStyleRefraction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1142]); } const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceStyleRefraction::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1142]); } Ifc4x3_rc3::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; populate_derived(); } +Ifc4x3_rc3::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; populate_derived(); } // Function implementations for IfcSurfaceStyleRendering -::Ifc4x3_rc3::IfcColourOrFactor* Ifc4x3_rc3::IfcSurfaceStyleRendering::DiffuseColour() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcColourOrFactor>(true); } +::Ifc4x3_rc3::IfcColourOrFactor* Ifc4x3_rc3::IfcSurfaceStyleRendering::DiffuseColour() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcColourOrFactor>(true); } void Ifc4x3_rc3::IfcSurfaceStyleRendering::setDiffuseColour(::Ifc4x3_rc3::IfcColourOrFactor* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcColourOrFactor* Ifc4x3_rc3::IfcSurfaceStyleRendering::TransmissionColour() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcColourOrFactor>(true); } +::Ifc4x3_rc3::IfcColourOrFactor* Ifc4x3_rc3::IfcSurfaceStyleRendering::TransmissionColour() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcColourOrFactor>(true); } void Ifc4x3_rc3::IfcSurfaceStyleRendering::setTransmissionColour(::Ifc4x3_rc3::IfcColourOrFactor* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc3::IfcColourOrFactor* Ifc4x3_rc3::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcColourOrFactor>(true); } +::Ifc4x3_rc3::IfcColourOrFactor* Ifc4x3_rc3::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcColourOrFactor>(true); } void Ifc4x3_rc3::IfcSurfaceStyleRendering::setDiffuseTransmissionColour(::Ifc4x3_rc3::IfcColourOrFactor* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcColourOrFactor* Ifc4x3_rc3::IfcSurfaceStyleRendering::ReflectionColour() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcColourOrFactor>(true); } +::Ifc4x3_rc3::IfcColourOrFactor* Ifc4x3_rc3::IfcSurfaceStyleRendering::ReflectionColour() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcColourOrFactor>(true); } void Ifc4x3_rc3::IfcSurfaceStyleRendering::setReflectionColour(::Ifc4x3_rc3::IfcColourOrFactor* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc3::IfcColourOrFactor* Ifc4x3_rc3::IfcSurfaceStyleRendering::SpecularColour() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcColourOrFactor>(true); } +::Ifc4x3_rc3::IfcColourOrFactor* Ifc4x3_rc3::IfcSurfaceStyleRendering::SpecularColour() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcColourOrFactor>(true); } void Ifc4x3_rc3::IfcSurfaceStyleRendering::setSpecularColour(::Ifc4x3_rc3::IfcColourOrFactor* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc3::IfcSpecularHighlightSelect* Ifc4x3_rc3::IfcSurfaceStyleRendering::SpecularHighlight() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc3::IfcSpecularHighlightSelect>(true); } +::Ifc4x3_rc3::IfcSpecularHighlightSelect* Ifc4x3_rc3::IfcSurfaceStyleRendering::SpecularHighlight() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc3::IfcSpecularHighlightSelect>(true); } void Ifc4x3_rc3::IfcSurfaceStyleRendering::setSpecularHighlight(::Ifc4x3_rc3::IfcSpecularHighlightSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc3::IfcReflectanceMethodEnum::Value Ifc4x3_rc3::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4x3_rc3::IfcReflectanceMethodEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc3::IfcReflectanceMethodEnum::Value Ifc4x3_rc3::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4x3_rc3::IfcReflectanceMethodEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcSurfaceStyleRendering::setReflectanceMethod(::Ifc4x3_rc3::IfcReflectanceMethodEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcReflectanceMethodEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceStyleRendering::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1143]); } const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceStyleRendering::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1143]); } Ifc4x3_rc3::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcEntityInstanceData&& e) : IfcSurfaceStyleShading(std::move(e)) { } -Ifc4x3_rc3::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc4x3_rc3::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, ::Ifc4x3_rc3::IfcColourOrFactor* v3_DiffuseColour, ::Ifc4x3_rc3::IfcColourOrFactor* v4_TransmissionColour, ::Ifc4x3_rc3::IfcColourOrFactor* v5_DiffuseTransmissionColour, ::Ifc4x3_rc3::IfcColourOrFactor* v6_ReflectionColour, ::Ifc4x3_rc3::IfcColourOrFactor* v7_SpecularColour, ::Ifc4x3_rc3::IfcSpecularHighlightSelect* v8_SpecularHighlight, ::Ifc4x3_rc3::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) : IfcSurfaceStyleShading(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, v3_DiffuseColour ? v3_DiffuseColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TransmissionColour ? v4_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_DiffuseTransmissionColour ? v5_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReflectionColour ? v6_ReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_SpecularColour ? v7_SpecularColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_SpecularHighlight ? v8_SpecularHighlight->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; populate_derived(); } +Ifc4x3_rc3::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc4x3_rc3::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, ::Ifc4x3_rc3::IfcColourOrFactor* v3_DiffuseColour, ::Ifc4x3_rc3::IfcColourOrFactor* v4_TransmissionColour, ::Ifc4x3_rc3::IfcColourOrFactor* v5_DiffuseTransmissionColour, ::Ifc4x3_rc3::IfcColourOrFactor* v6_ReflectionColour, ::Ifc4x3_rc3::IfcColourOrFactor* v7_SpecularColour, ::Ifc4x3_rc3::IfcSpecularHighlightSelect* v8_SpecularHighlight, ::Ifc4x3_rc3::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) : IfcSurfaceStyleShading(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, v3_DiffuseColour ? v3_DiffuseColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TransmissionColour ? v4_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_DiffuseTransmissionColour ? v5_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReflectionColour ? v6_ReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_SpecularColour ? v7_SpecularColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_SpecularHighlight ? v8_SpecularHighlight->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; populate_derived(); } // Function implementations for IfcSurfaceStyleShading -::Ifc4x3_rc3::IfcColourRgb* Ifc4x3_rc3::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcColourRgb>(true); } +::Ifc4x3_rc3::IfcColourRgb* Ifc4x3_rc3::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcColourRgb>(true); } void Ifc4x3_rc3::IfcSurfaceStyleShading::setSurfaceColour(::Ifc4x3_rc3::IfcColourRgb* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< double > Ifc4x3_rc3::IfcSurfaceStyleShading::Transparency() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc3::IfcSurfaceStyleShading::Transparency() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcSurfaceStyleShading::setTransparency(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceStyleShading::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1144]); } const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceStyleShading::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1144]); } Ifc4x3_rc3::IfcSurfaceStyleShading::IfcSurfaceStyleShading(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcSurfaceStyleShading::IfcSurfaceStyleShading(::Ifc4x3_rc3::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }; populate_derived(); } +Ifc4x3_rc3::IfcSurfaceStyleShading::IfcSurfaceStyleShading(::Ifc4x3_rc3::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }; populate_derived(); } // Function implementations for IfcSurfaceStyleWithTextures -aggregate_of< ::Ifc4x3_rc3::IfcSurfaceTexture >::ptr Ifc4x3_rc3::IfcSurfaceStyleWithTextures::Textures() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcSurfaceTexture >(); } +aggregate_of< ::Ifc4x3_rc3::IfcSurfaceTexture >::ptr Ifc4x3_rc3::IfcSurfaceStyleWithTextures::Textures() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcSurfaceTexture >(); } void Ifc4x3_rc3::IfcSurfaceStyleWithTextures::setTextures(aggregate_of< ::Ifc4x3_rc3::IfcSurfaceTexture >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceStyleWithTextures::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1145]); } const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceStyleWithTextures::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1145]); } Ifc4x3_rc3::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(aggregate_of< ::Ifc4x3_rc3::IfcSurfaceTexture >::ptr v1_Textures) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Textures)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(aggregate_of< ::Ifc4x3_rc3::IfcSurfaceTexture >::ptr v1_Textures) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Textures)->generalize());; populate_derived(); } // Function implementations for IfcSurfaceTexture -bool Ifc4x3_rc3::IfcSurfaceTexture::RepeatS() const { bool v = data_.get_attribute_value(0); return v; } +bool Ifc4x3_rc3::IfcSurfaceTexture::RepeatS() const { bool v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcSurfaceTexture::setRepeatS(bool v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -bool Ifc4x3_rc3::IfcSurfaceTexture::RepeatT() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x3_rc3::IfcSurfaceTexture::RepeatT() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcSurfaceTexture::setRepeatT(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_rc3::IfcSurfaceTexture::Mode() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcSurfaceTexture::Mode() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcSurfaceTexture::setMode(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc3::IfcCartesianTransformationOperator2D* Ifc4x3_rc3::IfcSurfaceTexture::TextureTransform() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcCartesianTransformationOperator2D>(true); } +::Ifc4x3_rc3::IfcCartesianTransformationOperator2D* Ifc4x3_rc3::IfcSurfaceTexture::TextureTransform() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcCartesianTransformationOperator2D>(true); } void Ifc4x3_rc3::IfcSurfaceTexture::setTextureTransform(::Ifc4x3_rc3::IfcCartesianTransformationOperator2D* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcSurfaceTexture::Parameter() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcSurfaceTexture::Parameter() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } ::Ifc4x3_rc3::IfcTextureCoordinate::list::ptr Ifc4x3_rc3::IfcSurfaceTexture::IsMappedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[1197], 0)->as(); } @@ -16818,79 +16818,79 @@ void Ifc4x3_rc3::IfcSurfaceTexture::setParameter(boost::optional< std::vector< s const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1146]); } const IfcParse::entity& Ifc4x3_rc3::IfcSurfaceTexture::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1146]); } Ifc4x3_rc3::IfcSurfaceTexture::IfcSurfaceTexture(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) : IfcPresentationItem(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }; populate_derived(); } +Ifc4x3_rc3::IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_rc3::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }; populate_derived(); } // Function implementations for IfcSweptAreaSolid -::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcProfileDef>(true); } +::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcProfileDef>(true); } void Ifc4x3_rc3::IfcSweptAreaSolid::setSweptArea(::Ifc4x3_rc3::IfcProfileDef* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcSweptAreaSolid::Position() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcSweptAreaSolid::Position() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(true); } void Ifc4x3_rc3::IfcSweptAreaSolid::setPosition(::Ifc4x3_rc3::IfcAxis2Placement3D* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1147]); } const IfcParse::entity& Ifc4x3_rc3::IfcSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1147]); } Ifc4x3_rc3::IfcSweptAreaSolid::IfcSweptAreaSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3_rc3::IfcSweptAreaSolid::IfcSweptAreaSolid(::Ifc4x3_rc3::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D* v2_Position) : IfcSolidModel(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcSweptAreaSolid::IfcSweptAreaSolid(::Ifc4x3_rc3::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc3::IfcAxis2Placement3D* v2_Position) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSweptDiskSolid -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCurve>(true); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcSweptDiskSolid::setDirectrix(::Ifc4x3_rc3::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc3::IfcSweptDiskSolid::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc3::IfcSweptDiskSolid::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcSweptDiskSolid::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_rc3::IfcSweptDiskSolid::InnerRadius() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc3::IfcSweptDiskSolid::InnerRadius() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcSweptDiskSolid::setInnerRadius(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc3::IfcSweptDiskSolid::StartParam() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc3::IfcSweptDiskSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcSweptDiskSolid::setStartParam(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc3::IfcSweptDiskSolid::EndParam() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc3::IfcSweptDiskSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcSweptDiskSolid::setEndParam(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc3::IfcSweptDiskSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1148]); } const IfcParse::entity& Ifc4x3_rc3::IfcSweptDiskSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1148]); } Ifc4x3_rc3::IfcSweptDiskSolid::IfcSweptDiskSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3_rc3::IfcSweptDiskSolid::IfcSweptDiskSolid(::Ifc4x3_rc3::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam) : IfcSolidModel(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; populate_derived(); } +Ifc4x3_rc3::IfcSweptDiskSolid::IfcSweptDiskSolid(::Ifc4x3_rc3::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; populate_derived(); } // Function implementations for IfcSweptDiskSolidPolygonal -boost::optional< double > Ifc4x3_rc3::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc3::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcSweptDiskSolidPolygonal::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_rc3::IfcSweptDiskSolidPolygonal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1149]); } const IfcParse::entity& Ifc4x3_rc3::IfcSweptDiskSolidPolygonal::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1149]); } Ifc4x3_rc3::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(IfcEntityInstanceData&& e) : IfcSweptDiskSolid(std::move(e)) { } -Ifc4x3_rc3::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(::Ifc4x3_rc3::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, boost::optional< double > v6_FilletRadius) : IfcSweptDiskSolid(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); }; populate_derived(); } +Ifc4x3_rc3::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(::Ifc4x3_rc3::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam, boost::optional< double > v6_FilletRadius) : IfcSweptDiskSolid(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); }; populate_derived(); } // Function implementations for IfcSweptSurface -::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcProfileDef>(true); } +::Ifc4x3_rc3::IfcProfileDef* Ifc4x3_rc3::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcProfileDef>(true); } void Ifc4x3_rc3::IfcSweptSurface::setSweptCurve(::Ifc4x3_rc3::IfcProfileDef* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcSweptSurface::Position() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc3::IfcAxis2Placement3D* Ifc4x3_rc3::IfcSweptSurface::Position() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcAxis2Placement3D>(true); } void Ifc4x3_rc3::IfcSweptSurface::setPosition(::Ifc4x3_rc3::IfcAxis2Placement3D* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcSweptSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1150]); } const IfcParse::entity& Ifc4x3_rc3::IfcSweptSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1150]); } Ifc4x3_rc3::IfcSweptSurface::IfcSweptSurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x3_rc3::IfcSweptSurface::IfcSweptSurface(::Ifc4x3_rc3::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_rc3::IfcAxis2Placement3D* v2_Position) : IfcSurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcSweptSurface::IfcSweptSurface(::Ifc4x3_rc3::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_rc3::IfcAxis2Placement3D* v2_Position) : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSwitchingDevice -boost::optional< ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value > Ifc4x3_rc3::IfcSwitchingDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value > Ifc4x3_rc3::IfcSwitchingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcSwitchingDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcSwitchingDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1151]); } const IfcParse::entity& Ifc4x3_rc3::IfcSwitchingDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1151]); } Ifc4x3_rc3::IfcSwitchingDevice::IfcSwitchingDevice(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_rc3::IfcSwitchingDevice::IfcSwitchingDevice(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcSwitchingDevice::IfcSwitchingDevice(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSwitchingDeviceType -::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value Ifc4x3_rc3::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value Ifc4x3_rc3::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcSwitchingDeviceType::setPredefinedType(::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcSwitchingDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1152]); } const IfcParse::entity& Ifc4x3_rc3::IfcSwitchingDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1152]); } Ifc4x3_rc3::IfcSwitchingDeviceType::IfcSwitchingDeviceType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_rc3::IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSystem @@ -16900,304 +16900,304 @@ Ifc4x3_rc3::IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_Global const IfcParse::entity& Ifc4x3_rc3::IfcSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1154]); } const IfcParse::entity& Ifc4x3_rc3::IfcSystem::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1154]); } Ifc4x3_rc3::IfcSystem::IfcSystem(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x3_rc3::IfcSystem::IfcSystem(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcGroup(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc4x3_rc3::IfcSystem::IfcSystem(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcSystemFurnitureElement -boost::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_rc3::IfcSystemFurnitureElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_rc3::IfcSystemFurnitureElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcSystemFurnitureElement::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcSystemFurnitureElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1155]); } const IfcParse::entity& Ifc4x3_rc3::IfcSystemFurnitureElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1155]); } Ifc4x3_rc3::IfcSystemFurnitureElement::IfcSystemFurnitureElement(IfcEntityInstanceData&& e) : IfcFurnishingElement(std::move(e)) { } -Ifc4x3_rc3::IfcSystemFurnitureElement::IfcSystemFurnitureElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcSystemFurnitureElement::IfcSystemFurnitureElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSystemFurnitureElementType -boost::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_rc3::IfcSystemFurnitureElementType::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_rc3::IfcSystemFurnitureElementType::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcSystemFurnitureElementType::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc3::IfcSystemFurnitureElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1156]); } const IfcParse::entity& Ifc4x3_rc3::IfcSystemFurnitureElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1156]); } Ifc4x3_rc3::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(IfcEntityInstanceData&& e) : IfcFurnishingElementType(std::move(e)) { } -Ifc4x3_rc3::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< ::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTShapeProfileDef -double Ifc4x3_rc3::IfcTShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc3::IfcTShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcTShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc3::IfcTShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc3::IfcTShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcTShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc3::IfcTShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc3::IfcTShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcTShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc3::IfcTShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc3::IfcTShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcTShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc3::IfcTShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc3::IfcTShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcTShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc3::IfcTShapeProfileDef::FlangeEdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc3::IfcTShapeProfileDef::FlangeEdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcTShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_rc3::IfcTShapeProfileDef::WebEdgeRadius() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc3::IfcTShapeProfileDef::WebEdgeRadius() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc3::IfcTShapeProfileDef::setWebEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc3::IfcTShapeProfileDef::WebSlope() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc3::IfcTShapeProfileDef::WebSlope() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcTShapeProfileDef::setWebSlope(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc3::IfcTShapeProfileDef::FlangeSlope() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc3::IfcTShapeProfileDef::FlangeSlope() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc3::IfcTShapeProfileDef::setFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x3_rc3::IfcTShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1240]); } const IfcParse::entity& Ifc4x3_rc3::IfcTShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1240]); } Ifc4x3_rc3::IfcTShapeProfileDef::IfcTShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_rc3::IfcTShapeProfileDef::IfcTShapeProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::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(storage_t(12))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); }; populate_derived(); } +Ifc4x3_rc3::IfcTShapeProfileDef::IfcTShapeProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::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(in_memory_attribute_storage(12))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); }; populate_derived(); } // Function implementations for IfcTable -boost::optional< std::string > Ifc4x3_rc3::IfcTable::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTable::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcTable::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcTableRow >::ptr > Ifc4x3_rc3::IfcTable::Rows() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcTableRow >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcTableRow >::ptr > Ifc4x3_rc3::IfcTable::Rows() const { if(get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcTableRow >(); } void Ifc4x3_rc3::IfcTable::setRows(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcTableRow >::ptr > v) { if (v) {set_attribute_value(1, (*v)->generalize());} else {unset_attribute_value(1);} } -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcTableColumn >::ptr > Ifc4x3_rc3::IfcTable::Columns() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcTableColumn >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcTableColumn >::ptr > Ifc4x3_rc3::IfcTable::Columns() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcTableColumn >(); } void Ifc4x3_rc3::IfcTable::setColumns(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcTableColumn >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc3::IfcTable::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1158]); } const IfcParse::entity& Ifc4x3_rc3::IfcTable::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1158]); } Ifc4x3_rc3::IfcTable::IfcTable(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcTable::IfcTable(boost::optional< std::string > v1_Name, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcTableRow >::ptr > v2_Rows, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcTableColumn >::ptr > v3_Columns) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, (*v2_Rows)->generalize()); } if (v3_Columns) {set_attribute_value(2, (*v3_Columns)->generalize()); }; populate_derived(); } +Ifc4x3_rc3::IfcTable::IfcTable(boost::optional< std::string > v1_Name, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcTableRow >::ptr > v2_Rows, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcTableColumn >::ptr > v3_Columns) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, (*v2_Rows)->generalize()); } if (v3_Columns) {set_attribute_value(2, (*v3_Columns)->generalize()); }; populate_derived(); } // Function implementations for IfcTableColumn -boost::optional< std::string > Ifc4x3_rc3::IfcTableColumn::Identifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTableColumn::Identifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcTableColumn::setIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc3::IfcTableColumn::Name() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTableColumn::Name() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcTableColumn::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc3::IfcTableColumn::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTableColumn::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcTableColumn::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcTableColumn::Unit() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcUnit>(true); } +::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcTableColumn::Unit() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcUnit>(true); } void Ifc4x3_rc3::IfcTableColumn::setUnit(::Ifc4x3_rc3::IfcUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc3::IfcReference* Ifc4x3_rc3::IfcTableColumn::ReferencePath() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcReference>(true); } +::Ifc4x3_rc3::IfcReference* Ifc4x3_rc3::IfcTableColumn::ReferencePath() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcReference>(true); } void Ifc4x3_rc3::IfcTableColumn::setReferencePath(::Ifc4x3_rc3::IfcReference* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc3::IfcTableColumn::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1159]); } const IfcParse::entity& Ifc4x3_rc3::IfcTableColumn::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1159]); } Ifc4x3_rc3::IfcTableColumn::IfcTableColumn(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x3_rc3::IfcUnit* v4_Unit, ::Ifc4x3_rc3::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ReferencePath ? v5_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x3_rc3::IfcUnit* v4_Unit, ::Ifc4x3_rc3::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ReferencePath ? v5_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTableRow -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > Ifc4x3_rc3::IfcTableRow::RowCells() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > Ifc4x3_rc3::IfcTableRow::RowCells() const { if(get_attribute_value(0).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcValue >(); } void Ifc4x3_rc3::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v) { if (v) {set_attribute_value(0, (*v)->generalize());} else {unset_attribute_value(0);} } -boost::optional< bool > Ifc4x3_rc3::IfcTableRow::IsHeading() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } bool v = data_.get_attribute_value(1); return v; } +boost::optional< bool > Ifc4x3_rc3::IfcTableRow::IsHeading() const { if(get_attribute_value(1).isNull()) { return boost::none; } bool v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcTableRow::setIsHeading(boost::optional< bool > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_rc3::IfcTableRow::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1160]); } const IfcParse::entity& Ifc4x3_rc3::IfcTableRow::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1160]); } Ifc4x3_rc3::IfcTableRow::IfcTableRow(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_RowCells) {set_attribute_value(0, (*v1_RowCells)->generalize()); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); }; populate_derived(); } +Ifc4x3_rc3::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_RowCells) {set_attribute_value(0, (*v1_RowCells)->generalize()); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); }; populate_derived(); } // Function implementations for IfcTank -boost::optional< ::Ifc4x3_rc3::IfcTankTypeEnum::Value > Ifc4x3_rc3::IfcTank::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcTankTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcTankTypeEnum::Value > Ifc4x3_rc3::IfcTank::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcTankTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcTank::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcTankTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcTankTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcTank::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1161]); } const IfcParse::entity& Ifc4x3_rc3::IfcTank::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1161]); } Ifc4x3_rc3::IfcTank::IfcTank(IfcEntityInstanceData&& e) : IfcFlowStorageDevice(std::move(e)) { } -Ifc4x3_rc3::IfcTank::IfcTank(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcTankTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcTank::IfcTank(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcTankTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTankType -::Ifc4x3_rc3::IfcTankTypeEnum::Value Ifc4x3_rc3::IfcTankType::PredefinedType() const { return ::Ifc4x3_rc3::IfcTankTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcTankTypeEnum::Value Ifc4x3_rc3::IfcTankType::PredefinedType() const { return ::Ifc4x3_rc3::IfcTankTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcTankType::setPredefinedType(::Ifc4x3_rc3::IfcTankTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcTankTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcTankType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1162]); } const IfcParse::entity& Ifc4x3_rc3::IfcTankType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1162]); } Ifc4x3_rc3::IfcTankType::IfcTankType(IfcEntityInstanceData&& e) : IfcFlowStorageDeviceType(std::move(e)) { } -Ifc4x3_rc3::IfcTankType::IfcTankType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTankTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcTankType::IfcTankType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTankTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTask -boost::optional< std::string > Ifc4x3_rc3::IfcTask::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTask::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcTask::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc3::IfcTask::WorkMethod() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTask::WorkMethod() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcTask::setWorkMethod(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -bool Ifc4x3_rc3::IfcTask::IsMilestone() const { bool v = data_.get_attribute_value(9); return v; } +bool Ifc4x3_rc3::IfcTask::IsMilestone() const { bool v = get_attribute_value(9); return v; } void Ifc4x3_rc3::IfcTask::setIsMilestone(bool v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -boost::optional< int > Ifc4x3_rc3::IfcTask::Priority() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } int v = data_.get_attribute_value(10); return v; } +boost::optional< int > Ifc4x3_rc3::IfcTask::Priority() const { if(get_attribute_value(10).isNull()) { return boost::none; } int v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcTask::setPriority(boost::optional< int > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4x3_rc3::IfcTaskTime* Ifc4x3_rc3::IfcTask::TaskTime() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc4x3_rc3::IfcTaskTime>(true); } +::Ifc4x3_rc3::IfcTaskTime* Ifc4x3_rc3::IfcTask::TaskTime() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc4x3_rc3::IfcTaskTime>(true); } void Ifc4x3_rc3::IfcTask::setTaskTime(::Ifc4x3_rc3::IfcTaskTime* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } -boost::optional< ::Ifc4x3_rc3::IfcTaskTypeEnum::Value > Ifc4x3_rc3::IfcTask::PredefinedType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcTaskTypeEnum::FromString(data_.get_attribute_value(12)); } +boost::optional< ::Ifc4x3_rc3::IfcTaskTypeEnum::Value > Ifc4x3_rc3::IfcTask::PredefinedType() const { if(get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcTaskTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x3_rc3::IfcTask::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcTaskTypeEnum::Value > v) { if (v) {set_attribute_value(12, EnumerationReference(&::Ifc4x3_rc3::IfcTaskTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_rc3::IfcTask::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1164]); } const IfcParse::entity& Ifc4x3_rc3::IfcTask::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1164]); } Ifc4x3_rc3::IfcTask::IfcTask(IfcEntityInstanceData&& e) : IfcProcess(std::move(e)) { } -Ifc4x3_rc3::IfcTask::IfcTask(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, boost::optional< int > v11_Priority, ::Ifc4x3_rc3::IfcTaskTime* v12_TaskTime, boost::optional< ::Ifc4x3_rc3::IfcTaskTypeEnum::Value > v13_PredefinedType) : IfcProcess(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, v12_TaskTime ? v12_TaskTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_rc3::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcTask::IfcTask(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< std::string > v7_LongDescription, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_WorkMethod, bool v10_IsMilestone, boost::optional< int > v11_Priority, ::Ifc4x3_rc3::IfcTaskTime* v12_TaskTime, boost::optional< ::Ifc4x3_rc3::IfcTaskTypeEnum::Value > v13_PredefinedType) : IfcProcess(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, v12_TaskTime ? v12_TaskTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_rc3::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTaskTime -boost::optional< ::Ifc4x3_rc3::IfcTaskDurationEnum::Value > Ifc4x3_rc3::IfcTaskTime::DurationType() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcTaskDurationEnum::FromString(data_.get_attribute_value(3)); } +boost::optional< ::Ifc4x3_rc3::IfcTaskDurationEnum::Value > Ifc4x3_rc3::IfcTaskTime::DurationType() const { if(get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcTaskDurationEnum::FromString(get_attribute_value(3)); } void Ifc4x3_rc3::IfcTaskTime::setDurationType(boost::optional< ::Ifc4x3_rc3::IfcTaskDurationEnum::Value > v) { if (v) {set_attribute_value(3, EnumerationReference(&::Ifc4x3_rc3::IfcTaskDurationEnum::Class(), (size_t) *v));} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::ScheduleDuration() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::ScheduleDuration() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcTaskTime::setScheduleDuration(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::ScheduleStart() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::ScheduleStart() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcTaskTime::setScheduleStart(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::ScheduleFinish() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::ScheduleFinish() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcTaskTime::setScheduleFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::EarlyStart() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::EarlyStart() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcTaskTime::setEarlyStart(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::EarlyFinish() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::EarlyFinish() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcTaskTime::setEarlyFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::LateStart() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::LateStart() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc3::IfcTaskTime::setLateStart(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::LateFinish() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::LateFinish() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcTaskTime::setLateFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::FreeFloat() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::FreeFloat() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x3_rc3::IfcTaskTime::setFreeFloat(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::TotalFloat() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::TotalFloat() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc3::IfcTaskTime::setTotalFloat(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< bool > Ifc4x3_rc3::IfcTaskTime::IsCritical() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } bool v = data_.get_attribute_value(13); return v; } +boost::optional< bool > Ifc4x3_rc3::IfcTaskTime::IsCritical() const { if(get_attribute_value(13).isNull()) { return boost::none; } bool v = get_attribute_value(13); return v; } void Ifc4x3_rc3::IfcTaskTime::setIsCritical(boost::optional< bool > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::StatusTime() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::StatusTime() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x3_rc3::IfcTaskTime::setStatusTime(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::ActualDuration() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(15); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::ActualDuration() const { if(get_attribute_value(15).isNull()) { return boost::none; } std::string v = get_attribute_value(15); return v; } void Ifc4x3_rc3::IfcTaskTime::setActualDuration(boost::optional< std::string > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::ActualStart() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(16); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::ActualStart() const { if(get_attribute_value(16).isNull()) { return boost::none; } std::string v = get_attribute_value(16); return v; } void Ifc4x3_rc3::IfcTaskTime::setActualStart(boost::optional< std::string > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::ActualFinish() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(17); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::ActualFinish() const { if(get_attribute_value(17).isNull()) { return boost::none; } std::string v = get_attribute_value(17); return v; } void Ifc4x3_rc3::IfcTaskTime::setActualFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } -boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::RemainingTime() const { if(data_.get_attribute_value(18).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(18); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTaskTime::RemainingTime() const { if(get_attribute_value(18).isNull()) { return boost::none; } std::string v = get_attribute_value(18); return v; } void Ifc4x3_rc3::IfcTaskTime::setRemainingTime(boost::optional< std::string > v) { if (v) {set_attribute_value(18, *v);} else {unset_attribute_value(18);} } -boost::optional< double > Ifc4x3_rc3::IfcTaskTime::Completion() const { if(data_.get_attribute_value(19).isNull()) { return boost::none; } double v = data_.get_attribute_value(19); return v; } +boost::optional< double > Ifc4x3_rc3::IfcTaskTime::Completion() const { if(get_attribute_value(19).isNull()) { return boost::none; } double v = get_attribute_value(19); return v; } void Ifc4x3_rc3::IfcTaskTime::setCompletion(boost::optional< double > v) { if (v) {set_attribute_value(19, *v);} else {unset_attribute_value(19);} } const IfcParse::entity& Ifc4x3_rc3::IfcTaskTime::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1166]); } const IfcParse::entity& Ifc4x3_rc3::IfcTaskTime::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1166]); } Ifc4x3_rc3::IfcTaskTime::IfcTaskTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x3_rc3::IfcTaskTime::IfcTaskTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x3_rc3::IfcTaskDurationEnum::Value > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion) : IfcSchedulingTime(IfcEntityInstanceData(storage_t(20))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc3::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }; populate_derived(); } +Ifc4x3_rc3::IfcTaskTime::IfcTaskTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x3_rc3::IfcTaskDurationEnum::Value > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion) : IfcSchedulingTime(IfcEntityInstanceData(in_memory_attribute_storage(20))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc3::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }; populate_derived(); } // Function implementations for IfcTaskTimeRecurring -::Ifc4x3_rc3::IfcRecurrencePattern* Ifc4x3_rc3::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(20)))->as<::Ifc4x3_rc3::IfcRecurrencePattern>(true); } +::Ifc4x3_rc3::IfcRecurrencePattern* Ifc4x3_rc3::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(20)))->as<::Ifc4x3_rc3::IfcRecurrencePattern>(true); } void Ifc4x3_rc3::IfcTaskTimeRecurring::setRecurrence(::Ifc4x3_rc3::IfcRecurrencePattern* v) { set_attribute_value(20, v->as());if constexpr (false)unset_attribute_value(20); } const IfcParse::entity& Ifc4x3_rc3::IfcTaskTimeRecurring::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1167]); } const IfcParse::entity& Ifc4x3_rc3::IfcTaskTimeRecurring::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1167]); } Ifc4x3_rc3::IfcTaskTimeRecurring::IfcTaskTimeRecurring(IfcEntityInstanceData&& e) : IfcTaskTime(std::move(e)) { } -Ifc4x3_rc3::IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x3_rc3::IfcTaskDurationEnum::Value > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion, ::Ifc4x3_rc3::IfcRecurrencePattern* v21_Recurrence) : IfcTaskTime(IfcEntityInstanceData(storage_t(21))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc3::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, v21_Recurrence ? v21_Recurrence->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x3_rc3::IfcTaskDurationEnum::Value > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion, ::Ifc4x3_rc3::IfcRecurrencePattern* v21_Recurrence) : IfcTaskTime(IfcEntityInstanceData(in_memory_attribute_storage(21))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc3::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, v21_Recurrence ? v21_Recurrence->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTaskType -::Ifc4x3_rc3::IfcTaskTypeEnum::Value Ifc4x3_rc3::IfcTaskType::PredefinedType() const { return ::Ifc4x3_rc3::IfcTaskTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcTaskTypeEnum::Value Ifc4x3_rc3::IfcTaskType::PredefinedType() const { return ::Ifc4x3_rc3::IfcTaskTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcTaskType::setPredefinedType(::Ifc4x3_rc3::IfcTaskTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcTaskTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3_rc3::IfcTaskType::WorkMethod() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTaskType::WorkMethod() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcTaskType::setWorkMethod(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc3::IfcTaskType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1168]); } const IfcParse::entity& Ifc4x3_rc3::IfcTaskType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1168]); } Ifc4x3_rc3::IfcTaskType::IfcTaskType(IfcEntityInstanceData&& e) : IfcTypeProcess(std::move(e)) { } -Ifc4x3_rc3::IfcTaskType::IfcTaskType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_rc3::IfcTaskTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_WorkMethod) : IfcTypeProcess(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); }; populate_derived(); } +Ifc4x3_rc3::IfcTaskType::IfcTaskType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_rc3::IfcTaskTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_WorkMethod) : IfcTypeProcess(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); }; populate_derived(); } // Function implementations for IfcTelecomAddress -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcTelecomAddress::TelephoneNumbers() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcTelecomAddress::TelephoneNumbers() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcTelecomAddress::setTelephoneNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcTelecomAddress::FacsimileNumbers() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcTelecomAddress::FacsimileNumbers() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcTelecomAddress::setFacsimileNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc3::IfcTelecomAddress::PagerNumber() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTelecomAddress::PagerNumber() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcTelecomAddress::setPagerNumber(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcTelecomAddress::ElectronicMailAddresses() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(6); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcTelecomAddress::ElectronicMailAddresses() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcTelecomAddress::setElectronicMailAddresses(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc3::IfcTelecomAddress::WWWHomePageURL() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTelecomAddress::WWWHomePageURL() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcTelecomAddress::setWWWHomePageURL(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcTelecomAddress::MessagingIDs() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(8); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc3::IfcTelecomAddress::MessagingIDs() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcTelecomAddress::setMessagingIDs(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcTelecomAddress::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1170]); } const IfcParse::entity& Ifc4x3_rc3::IfcTelecomAddress::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1170]); } Ifc4x3_rc3::IfcTelecomAddress::IfcTelecomAddress(IfcEntityInstanceData&& e) : IfcAddress(std::move(e)) { } -Ifc4x3_rc3::IfcTelecomAddress::IfcTelecomAddress(boost::optional< ::Ifc4x3_rc3::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(storage_t(9))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); }; populate_derived(); } +Ifc4x3_rc3::IfcTelecomAddress::IfcTelecomAddress(boost::optional< ::Ifc4x3_rc3::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(in_memory_attribute_storage(9))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); }; populate_derived(); } // Function implementations for IfcTendon -boost::optional< ::Ifc4x3_rc3::IfcTendonTypeEnum::Value > Ifc4x3_rc3::IfcTendon::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcTendonTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc3::IfcTendonTypeEnum::Value > Ifc4x3_rc3::IfcTendon::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcTendon::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcTendonTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcTendonTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc3::IfcTendon::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc3::IfcTendon::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcTendon::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc3::IfcTendon::CrossSectionArea() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc3::IfcTendon::CrossSectionArea() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc3::IfcTendon::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_rc3::IfcTendon::TensionForce() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_rc3::IfcTendon::TensionForce() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_rc3::IfcTendon::setTensionForce(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3_rc3::IfcTendon::PreStress() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_rc3::IfcTendon::PreStress() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_rc3::IfcTendon::setPreStress(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3_rc3::IfcTendon::FrictionCoefficient() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3_rc3::IfcTendon::FrictionCoefficient() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3_rc3::IfcTendon::setFrictionCoefficient(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x3_rc3::IfcTendon::AnchorageSlip() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3_rc3::IfcTendon::AnchorageSlip() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3_rc3::IfcTendon::setAnchorageSlip(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3_rc3::IfcTendon::MinCurvatureRadius() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3_rc3::IfcTendon::MinCurvatureRadius() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3_rc3::IfcTendon::setMinCurvatureRadius(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } const IfcParse::entity& Ifc4x3_rc3::IfcTendon::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1173]); } const IfcParse::entity& Ifc4x3_rc3::IfcTendon::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1173]); } Ifc4x3_rc3::IfcTendon::IfcTendon(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x3_rc3::IfcTendon::IfcTendon(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x3_rc3::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(storage_t(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; populate_derived(); } +Ifc4x3_rc3::IfcTendon::IfcTendon(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x3_rc3::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(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; populate_derived(); } // Function implementations for IfcTendonAnchor -boost::optional< ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value > Ifc4x3_rc3::IfcTendonAnchor::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value > Ifc4x3_rc3::IfcTendonAnchor::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcTendonAnchor::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc3::IfcTendonAnchor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1174]); } const IfcParse::entity& Ifc4x3_rc3::IfcTendonAnchor::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1174]); } Ifc4x3_rc3::IfcTendonAnchor::IfcTendonAnchor(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x3_rc3::IfcTendonAnchor::IfcTendonAnchor(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcTendonAnchor::IfcTendonAnchor(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTendonAnchorType -::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value Ifc4x3_rc3::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value Ifc4x3_rc3::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcTendonAnchorType::setPredefinedType(::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcTendonAnchorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1175]); } const IfcParse::entity& Ifc4x3_rc3::IfcTendonAnchorType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1175]); } Ifc4x3_rc3::IfcTendonAnchorType::IfcTendonAnchorType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x3_rc3::IfcTendonAnchorType::IfcTendonAnchorType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcTendonAnchorType::IfcTendonAnchorType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTendonConduit -::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Value Ifc4x3_rc3::IfcTendonConduit::PredefinedType() const { return ::Ifc4x3_rc3::IfcTendonConduitTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Value Ifc4x3_rc3::IfcTendonConduit::PredefinedType() const { return ::Ifc4x3_rc3::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcTendonConduit::setPredefinedType(::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcTendonConduit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1177]); } const IfcParse::entity& Ifc4x3_rc3::IfcTendonConduit::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1177]); } Ifc4x3_rc3::IfcTendonConduit::IfcTendonConduit(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x3_rc3::IfcTendonConduit::IfcTendonConduit(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, ::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Value v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcTendonConduit::IfcTendonConduit(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, ::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Value v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTendonConduitType -::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Value Ifc4x3_rc3::IfcTendonConduitType::PredefinedType() const { return ::Ifc4x3_rc3::IfcTendonConduitTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Value Ifc4x3_rc3::IfcTendonConduitType::PredefinedType() const { return ::Ifc4x3_rc3::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcTendonConduitType::setPredefinedType(::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcTendonConduitType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1178]); } const IfcParse::entity& Ifc4x3_rc3::IfcTendonConduitType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1178]); } Ifc4x3_rc3::IfcTendonConduitType::IfcTendonConduitType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x3_rc3::IfcTendonConduitType::IfcTendonConduitType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcTendonConduitType::IfcTendonConduitType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTendonType -::Ifc4x3_rc3::IfcTendonTypeEnum::Value Ifc4x3_rc3::IfcTendonType::PredefinedType() const { return ::Ifc4x3_rc3::IfcTendonTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcTendonTypeEnum::Value Ifc4x3_rc3::IfcTendonType::PredefinedType() const { return ::Ifc4x3_rc3::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcTendonType::setPredefinedType(::Ifc4x3_rc3::IfcTendonTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcTendonTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3_rc3::IfcTendonType::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc3::IfcTendonType::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcTendonType::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc3::IfcTendonType::CrossSectionArea() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc3::IfcTendonType::CrossSectionArea() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc3::IfcTendonType::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_rc3::IfcTendonType::SheathDiameter() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_rc3::IfcTendonType::SheathDiameter() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_rc3::IfcTendonType::setSheathDiameter(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_rc3::IfcTendonType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1180]); } const IfcParse::entity& Ifc4x3_rc3::IfcTendonType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1180]); } Ifc4x3_rc3::IfcTendonType::IfcTendonType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x3_rc3::IfcTendonType::IfcTendonType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTendonTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheathDiameter) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); }; populate_derived(); } +Ifc4x3_rc3::IfcTendonType::IfcTendonType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTendonTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheathDiameter) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); }; populate_derived(); } // Function implementations for IfcTessellatedFaceSet -::Ifc4x3_rc3::IfcCartesianPointList3D* Ifc4x3_rc3::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCartesianPointList3D>(true); } +::Ifc4x3_rc3::IfcCartesianPointList3D* Ifc4x3_rc3::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCartesianPointList3D>(true); } void Ifc4x3_rc3::IfcTessellatedFaceSet::setCoordinates(::Ifc4x3_rc3::IfcCartesianPointList3D* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_rc3::IfcIndexedColourMap::list::ptr Ifc4x3_rc3::IfcTessellatedFaceSet::HasColours() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[549], 0)->as(); } @@ -17206,7 +17206,7 @@ void Ifc4x3_rc3::IfcTessellatedFaceSet::setCoordinates(::Ifc4x3_rc3::IfcCartesia const IfcParse::entity& Ifc4x3_rc3::IfcTessellatedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1182]); } const IfcParse::entity& Ifc4x3_rc3::IfcTessellatedFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1182]); } Ifc4x3_rc3::IfcTessellatedFaceSet::IfcTessellatedFaceSet(IfcEntityInstanceData&& e) : IfcTessellatedItem(std::move(e)) { } -Ifc4x3_rc3::IfcTessellatedFaceSet::IfcTessellatedFaceSet(::Ifc4x3_rc3::IfcCartesianPointList3D* v1_Coordinates) : IfcTessellatedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcTessellatedFaceSet::IfcTessellatedFaceSet(::Ifc4x3_rc3::IfcCartesianPointList3D* v1_Coordinates) : IfcTessellatedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTessellatedItem @@ -17214,200 +17214,200 @@ Ifc4x3_rc3::IfcTessellatedFaceSet::IfcTessellatedFaceSet(::Ifc4x3_rc3::IfcCartes const IfcParse::entity& Ifc4x3_rc3::IfcTessellatedItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1183]); } const IfcParse::entity& Ifc4x3_rc3::IfcTessellatedItem::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1183]); } Ifc4x3_rc3::IfcTessellatedItem::IfcTessellatedItem(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcTessellatedItem::IfcTessellatedItem() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc3::IfcTessellatedItem::IfcTessellatedItem() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcTextLiteral -std::string Ifc4x3_rc3::IfcTextLiteral::Literal() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc3::IfcTextLiteral::Literal() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcTextLiteral::setLiteral(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcAxis2Placement* Ifc4x3_rc3::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcAxis2Placement>(true); } +::Ifc4x3_rc3::IfcAxis2Placement* Ifc4x3_rc3::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcAxis2Placement>(true); } void Ifc4x3_rc3::IfcTextLiteral::setPlacement(::Ifc4x3_rc3::IfcAxis2Placement* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcTextPath::Value Ifc4x3_rc3::IfcTextLiteral::Path() const { return ::Ifc4x3_rc3::IfcTextPath::FromString(data_.get_attribute_value(2)); } +::Ifc4x3_rc3::IfcTextPath::Value Ifc4x3_rc3::IfcTextLiteral::Path() const { return ::Ifc4x3_rc3::IfcTextPath::FromString(get_attribute_value(2)); } void Ifc4x3_rc3::IfcTextLiteral::setPath(::Ifc4x3_rc3::IfcTextPath::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3_rc3::IfcTextPath::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcTextLiteral::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1189]); } const IfcParse::entity& Ifc4x3_rc3::IfcTextLiteral::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1189]); } Ifc4x3_rc3::IfcTextLiteral::IfcTextLiteral(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, ::Ifc4x3_rc3::IfcAxis2Placement* v2_Placement, ::Ifc4x3_rc3::IfcTextPath::Value v3_Path) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc3::IfcTextPath::Class(),(size_t)v3_Path)));; populate_derived(); } +Ifc4x3_rc3::IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, ::Ifc4x3_rc3::IfcAxis2Placement* v2_Placement, ::Ifc4x3_rc3::IfcTextPath::Value v3_Path) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc3::IfcTextPath::Class(),(size_t)v3_Path)));; populate_derived(); } // Function implementations for IfcTextLiteralWithExtent -::Ifc4x3_rc3::IfcPlanarExtent* Ifc4x3_rc3::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcPlanarExtent>(true); } +::Ifc4x3_rc3::IfcPlanarExtent* Ifc4x3_rc3::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcPlanarExtent>(true); } void Ifc4x3_rc3::IfcTextLiteralWithExtent::setExtent(::Ifc4x3_rc3::IfcPlanarExtent* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -std::string Ifc4x3_rc3::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = data_.get_attribute_value(4); return v; } +std::string Ifc4x3_rc3::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcTextLiteralWithExtent::setBoxAlignment(std::string v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc3::IfcTextLiteralWithExtent::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1190]); } const IfcParse::entity& Ifc4x3_rc3::IfcTextLiteralWithExtent::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1190]); } Ifc4x3_rc3::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(IfcEntityInstanceData&& e) : IfcTextLiteral(std::move(e)) { } -Ifc4x3_rc3::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(std::string v1_Literal, ::Ifc4x3_rc3::IfcAxis2Placement* v2_Placement, ::Ifc4x3_rc3::IfcTextPath::Value v3_Path, ::Ifc4x3_rc3::IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment) : IfcTextLiteral(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc3::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, v4_Extent ? v4_Extent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_BoxAlignment));; populate_derived(); } +Ifc4x3_rc3::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(std::string v1_Literal, ::Ifc4x3_rc3::IfcAxis2Placement* v2_Placement, ::Ifc4x3_rc3::IfcTextPath::Value v3_Path, ::Ifc4x3_rc3::IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment) : IfcTextLiteral(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc3::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, v4_Extent ? v4_Extent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_BoxAlignment));; populate_derived(); } // Function implementations for IfcTextStyle -::Ifc4x3_rc3::IfcTextStyleForDefinedFont* Ifc4x3_rc3::IfcTextStyle::TextCharacterAppearance() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcTextStyleForDefinedFont>(true); } +::Ifc4x3_rc3::IfcTextStyleForDefinedFont* Ifc4x3_rc3::IfcTextStyle::TextCharacterAppearance() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcTextStyleForDefinedFont>(true); } void Ifc4x3_rc3::IfcTextStyle::setTextCharacterAppearance(::Ifc4x3_rc3::IfcTextStyleForDefinedFont* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcTextStyleTextModel* Ifc4x3_rc3::IfcTextStyle::TextStyle() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcTextStyleTextModel>(true); } +::Ifc4x3_rc3::IfcTextStyleTextModel* Ifc4x3_rc3::IfcTextStyle::TextStyle() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcTextStyleTextModel>(true); } void Ifc4x3_rc3::IfcTextStyle::setTextStyle(::Ifc4x3_rc3::IfcTextStyleTextModel* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc3::IfcTextFontSelect* Ifc4x3_rc3::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcTextFontSelect>(true); } +::Ifc4x3_rc3::IfcTextFontSelect* Ifc4x3_rc3::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcTextFontSelect>(true); } void Ifc4x3_rc3::IfcTextStyle::setTextFontStyle(::Ifc4x3_rc3::IfcTextFontSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< bool > Ifc4x3_rc3::IfcTextStyle::ModelOrDraughting() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } bool v = data_.get_attribute_value(4); return v; } +boost::optional< bool > Ifc4x3_rc3::IfcTextStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return boost::none; } bool v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcTextStyle::setModelOrDraughting(boost::optional< bool > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc3::IfcTextStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1192]); } const IfcParse::entity& Ifc4x3_rc3::IfcTextStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1192]); } Ifc4x3_rc3::IfcTextStyle::IfcTextStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x3_rc3::IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcTextStyleForDefinedFont* v2_TextCharacterAppearance, ::Ifc4x3_rc3::IfcTextStyleTextModel* v3_TextStyle, ::Ifc4x3_rc3::IfcTextFontSelect* v4_TextFontStyle, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TextCharacterAppearance ? v2_TextCharacterAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TextStyle ? v3_TextStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TextFontStyle ? v4_TextFontStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } +Ifc4x3_rc3::IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc3::IfcTextStyleForDefinedFont* v2_TextCharacterAppearance, ::Ifc4x3_rc3::IfcTextStyleTextModel* v3_TextStyle, ::Ifc4x3_rc3::IfcTextFontSelect* v4_TextFontStyle, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TextCharacterAppearance ? v2_TextCharacterAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TextStyle ? v3_TextStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TextFontStyle ? v4_TextFontStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } // Function implementations for IfcTextStyleFontModel -std::vector< std::string > /*[1:?]*/ Ifc4x3_rc3::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +std::vector< std::string > /*[1:?]*/ Ifc4x3_rc3::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcTextStyleFontModel::setFontFamily(std::vector< std::string > /*[1:?]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_rc3::IfcTextStyleFontModel::FontStyle() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTextStyleFontModel::FontStyle() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcTextStyleFontModel::setFontStyle(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_rc3::IfcTextStyleFontModel::FontVariant() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTextStyleFontModel::FontVariant() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc3::IfcTextStyleFontModel::FontWeight() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTextStyleFontModel::FontWeight() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc3::IfcSizeSelect* Ifc4x3_rc3::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcSizeSelect>(true); } +::Ifc4x3_rc3::IfcSizeSelect* Ifc4x3_rc3::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc3::IfcSizeSelect>(true); } void Ifc4x3_rc3::IfcTextStyleFontModel::setFontSize(::Ifc4x3_rc3::IfcSizeSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc3::IfcTextStyleFontModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1193]); } const IfcParse::entity& Ifc4x3_rc3::IfcTextStyleFontModel::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1193]); } Ifc4x3_rc3::IfcTextStyleFontModel::IfcTextStyleFontModel(IfcEntityInstanceData&& e) : IfcPreDefinedTextFont(std::move(e)) { } -Ifc4x3_rc3::IfcTextStyleFontModel::IfcTextStyleFontModel(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, boost::optional< std::string > v3_FontStyle, boost::optional< std::string > v4_FontVariant, boost::optional< std::string > v5_FontWeight, ::Ifc4x3_rc3::IfcSizeSelect* v6_FontSize) : IfcPreDefinedTextFont(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, v6_FontSize ? v6_FontSize->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcTextStyleFontModel::IfcTextStyleFontModel(std::string v1_Name, std::vector< std::string > /*[1:?]*/ v2_FontFamily, boost::optional< std::string > v3_FontStyle, boost::optional< std::string > v4_FontVariant, boost::optional< std::string > v5_FontWeight, ::Ifc4x3_rc3::IfcSizeSelect* v6_FontSize) : IfcPreDefinedTextFont(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, v6_FontSize ? v6_FontSize->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextStyleForDefinedFont -::Ifc4x3_rc3::IfcColour* Ifc4x3_rc3::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcColour>(true); } +::Ifc4x3_rc3::IfcColour* Ifc4x3_rc3::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcColour>(true); } void Ifc4x3_rc3::IfcTextStyleForDefinedFont::setColour(::Ifc4x3_rc3::IfcColour* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc3::IfcColour* Ifc4x3_rc3::IfcTextStyleForDefinedFont::BackgroundColour() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcColour>(true); } +::Ifc4x3_rc3::IfcColour* Ifc4x3_rc3::IfcTextStyleForDefinedFont::BackgroundColour() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc3::IfcColour>(true); } void Ifc4x3_rc3::IfcTextStyleForDefinedFont::setBackgroundColour(::Ifc4x3_rc3::IfcColour* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcTextStyleForDefinedFont::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1194]); } const IfcParse::entity& Ifc4x3_rc3::IfcTextStyleForDefinedFont::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1194]); } Ifc4x3_rc3::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4x3_rc3::IfcColour* v1_Colour, ::Ifc4x3_rc3::IfcColour* v2_BackgroundColour) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Colour ? v1_Colour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_BackgroundColour ? v2_BackgroundColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4x3_rc3::IfcColour* v1_Colour, ::Ifc4x3_rc3::IfcColour* v2_BackgroundColour) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Colour ? v1_Colour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_BackgroundColour ? v2_BackgroundColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextStyleTextModel -::Ifc4x3_rc3::IfcSizeSelect* Ifc4x3_rc3::IfcTextStyleTextModel::TextIndent() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcSizeSelect>(true); } +::Ifc4x3_rc3::IfcSizeSelect* Ifc4x3_rc3::IfcTextStyleTextModel::TextIndent() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcSizeSelect>(true); } void Ifc4x3_rc3::IfcTextStyleTextModel::setTextIndent(::Ifc4x3_rc3::IfcSizeSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc3::IfcTextStyleTextModel::TextAlign() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTextStyleTextModel::TextAlign() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc3::IfcTextStyleTextModel::TextDecoration() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTextStyleTextModel::TextDecoration() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc3::IfcSizeSelect* Ifc4x3_rc3::IfcTextStyleTextModel::LetterSpacing() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcSizeSelect>(true); } +::Ifc4x3_rc3::IfcSizeSelect* Ifc4x3_rc3::IfcTextStyleTextModel::LetterSpacing() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcSizeSelect>(true); } void Ifc4x3_rc3::IfcTextStyleTextModel::setLetterSpacing(::Ifc4x3_rc3::IfcSizeSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc3::IfcSizeSelect* Ifc4x3_rc3::IfcTextStyleTextModel::WordSpacing() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcSizeSelect>(true); } +::Ifc4x3_rc3::IfcSizeSelect* Ifc4x3_rc3::IfcTextStyleTextModel::WordSpacing() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc3::IfcSizeSelect>(true); } void Ifc4x3_rc3::IfcTextStyleTextModel::setWordSpacing(::Ifc4x3_rc3::IfcSizeSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -boost::optional< std::string > Ifc4x3_rc3::IfcTextStyleTextModel::TextTransform() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTextStyleTextModel::TextTransform() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc3::IfcSizeSelect* Ifc4x3_rc3::IfcTextStyleTextModel::LineHeight() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcSizeSelect>(true); } +::Ifc4x3_rc3::IfcSizeSelect* Ifc4x3_rc3::IfcTextStyleTextModel::LineHeight() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc3::IfcSizeSelect>(true); } void Ifc4x3_rc3::IfcTextStyleTextModel::setLineHeight(::Ifc4x3_rc3::IfcSizeSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc3::IfcTextStyleTextModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1195]); } const IfcParse::entity& Ifc4x3_rc3::IfcTextStyleTextModel::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1195]); } Ifc4x3_rc3::IfcTextStyleTextModel::IfcTextStyleTextModel(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcTextStyleTextModel::IfcTextStyleTextModel(::Ifc4x3_rc3::IfcSizeSelect* v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, ::Ifc4x3_rc3::IfcSizeSelect* v4_LetterSpacing, ::Ifc4x3_rc3::IfcSizeSelect* v5_WordSpacing, boost::optional< std::string > v6_TextTransform, ::Ifc4x3_rc3::IfcSizeSelect* v7_LineHeight) : IfcPresentationItem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, v1_TextIndent ? v1_TextIndent->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, v4_LetterSpacing ? v4_LetterSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_WordSpacing ? v5_WordSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, v7_LineHeight ? v7_LineHeight->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcTextStyleTextModel::IfcTextStyleTextModel(::Ifc4x3_rc3::IfcSizeSelect* v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, ::Ifc4x3_rc3::IfcSizeSelect* v4_LetterSpacing, ::Ifc4x3_rc3::IfcSizeSelect* v5_WordSpacing, boost::optional< std::string > v6_TextTransform, ::Ifc4x3_rc3::IfcSizeSelect* v7_LineHeight) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_TextIndent ? v1_TextIndent->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, v4_LetterSpacing ? v4_LetterSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_WordSpacing ? v5_WordSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, v7_LineHeight ? v7_LineHeight->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextureCoordinate -aggregate_of< ::Ifc4x3_rc3::IfcSurfaceTexture >::ptr Ifc4x3_rc3::IfcTextureCoordinate::Maps() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcSurfaceTexture >(); } +aggregate_of< ::Ifc4x3_rc3::IfcSurfaceTexture >::ptr Ifc4x3_rc3::IfcTextureCoordinate::Maps() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcSurfaceTexture >(); } void Ifc4x3_rc3::IfcTextureCoordinate::setMaps(aggregate_of< ::Ifc4x3_rc3::IfcSurfaceTexture >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc3::IfcTextureCoordinate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1197]); } const IfcParse::entity& Ifc4x3_rc3::IfcTextureCoordinate::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1197]); } Ifc4x3_rc3::IfcTextureCoordinate::IfcTextureCoordinate(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcTextureCoordinate::IfcTextureCoordinate(aggregate_of< ::Ifc4x3_rc3::IfcSurfaceTexture >::ptr v1_Maps) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Maps)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcTextureCoordinate::IfcTextureCoordinate(aggregate_of< ::Ifc4x3_rc3::IfcSurfaceTexture >::ptr v1_Maps) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Maps)->generalize());; populate_derived(); } // Function implementations for IfcTextureCoordinateGenerator -std::string Ifc4x3_rc3::IfcTextureCoordinateGenerator::Mode() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_rc3::IfcTextureCoordinateGenerator::Mode() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcTextureCoordinateGenerator::setMode(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::vector< double > /*[1:?]*/ > Ifc4x3_rc3::IfcTextureCoordinateGenerator::Parameter() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< double > /*[1:?]*/ > Ifc4x3_rc3::IfcTextureCoordinateGenerator::Parameter() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[1:?]*/ v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcTextureCoordinateGenerator::setParameter(boost::optional< std::vector< double > /*[1:?]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc3::IfcTextureCoordinateGenerator::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1198]); } const IfcParse::entity& Ifc4x3_rc3::IfcTextureCoordinateGenerator::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1198]); } Ifc4x3_rc3::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(IfcEntityInstanceData&& e) : IfcTextureCoordinate(std::move(e)) { } -Ifc4x3_rc3::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(aggregate_of< ::Ifc4x3_rc3::IfcSurfaceTexture >::ptr v1_Maps, std::string v2_Mode, boost::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) : IfcTextureCoordinate(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); }; populate_derived(); } +Ifc4x3_rc3::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(aggregate_of< ::Ifc4x3_rc3::IfcSurfaceTexture >::ptr v1_Maps, std::string v2_Mode, boost::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) : IfcTextureCoordinate(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); }; populate_derived(); } // Function implementations for IfcTextureMap -aggregate_of< ::Ifc4x3_rc3::IfcTextureVertex >::ptr Ifc4x3_rc3::IfcTextureMap::Vertices() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcTextureVertex >(); } +aggregate_of< ::Ifc4x3_rc3::IfcTextureVertex >::ptr Ifc4x3_rc3::IfcTextureMap::Vertices() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcTextureVertex >(); } void Ifc4x3_rc3::IfcTextureMap::setVertices(aggregate_of< ::Ifc4x3_rc3::IfcTextureVertex >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc3::IfcFace* Ifc4x3_rc3::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcFace>(true); } +::Ifc4x3_rc3::IfcFace* Ifc4x3_rc3::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc3::IfcFace>(true); } void Ifc4x3_rc3::IfcTextureMap::setMappedTo(::Ifc4x3_rc3::IfcFace* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcTextureMap::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1199]); } const IfcParse::entity& Ifc4x3_rc3::IfcTextureMap::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1199]); } Ifc4x3_rc3::IfcTextureMap::IfcTextureMap(IfcEntityInstanceData&& e) : IfcTextureCoordinate(std::move(e)) { } -Ifc4x3_rc3::IfcTextureMap::IfcTextureMap(aggregate_of< ::Ifc4x3_rc3::IfcSurfaceTexture >::ptr v1_Maps, aggregate_of< ::Ifc4x3_rc3::IfcTextureVertex >::ptr v2_Vertices, ::Ifc4x3_rc3::IfcFace* v3_MappedTo) : IfcTextureCoordinate(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Vertices)->generalize());set_attribute_value(2, v3_MappedTo ? v3_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcTextureMap::IfcTextureMap(aggregate_of< ::Ifc4x3_rc3::IfcSurfaceTexture >::ptr v1_Maps, aggregate_of< ::Ifc4x3_rc3::IfcTextureVertex >::ptr v2_Vertices, ::Ifc4x3_rc3::IfcFace* v3_MappedTo) : IfcTextureCoordinate(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Vertices)->generalize());set_attribute_value(2, v3_MappedTo ? v3_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextureVertex -std::vector< double > /*[2:2]*/ Ifc4x3_rc3::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[2:2]*/ Ifc4x3_rc3::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcTextureVertex::setCoordinates(std::vector< double > /*[2:2]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc3::IfcTextureVertex::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1200]); } const IfcParse::entity& Ifc4x3_rc3::IfcTextureVertex::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1200]); } Ifc4x3_rc3::IfcTextureVertex::IfcTextureVertex(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcTextureVertex::IfcTextureVertex(std::vector< double > /*[2:2]*/ v1_Coordinates) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } +Ifc4x3_rc3::IfcTextureVertex::IfcTextureVertex(std::vector< double > /*[2:2]*/ v1_Coordinates) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } // Function implementations for IfcTextureVertexList -std::vector< std::vector< double > > Ifc4x3_rc3::IfcTextureVertexList::TexCoordsList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x3_rc3::IfcTextureVertexList::TexCoordsList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcTextureVertexList::setTexCoordsList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc3::IfcTextureVertexList::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1201]); } const IfcParse::entity& Ifc4x3_rc3::IfcTextureVertexList::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1201]); } Ifc4x3_rc3::IfcTextureVertexList::IfcTextureVertexList(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcTextureVertexList::IfcTextureVertexList(std::vector< std::vector< double > > v1_TexCoordsList) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_TexCoordsList));; populate_derived(); } +Ifc4x3_rc3::IfcTextureVertexList::IfcTextureVertexList(std::vector< std::vector< double > > v1_TexCoordsList) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_TexCoordsList));; populate_derived(); } // Function implementations for IfcThirdOrderPolynomialSpiral -double Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::QubicTerm() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::QubicTerm() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::setQubicTerm(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::QuadraticTerm() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::QuadraticTerm() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::setQuadraticTerm(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::LinearTerm() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::LinearTerm() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::setLinearTerm(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::ConstantTerm() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::ConstantTerm() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::setConstantTerm(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1208]); } const IfcParse::entity& Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1208]); } Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::IfcThirdOrderPolynomialSpiral(IfcEntityInstanceData&& e) : IfcSpiral(std::move(e)) { } -Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::IfcThirdOrderPolynomialSpiral(::Ifc4x3_rc3::IfcAxis2Placement* v1_Position, double v2_QubicTerm, boost::optional< double > v3_QuadraticTerm, boost::optional< double > v4_LinearTerm, boost::optional< double > v5_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_QubicTerm)); if (v3_QuadraticTerm) {set_attribute_value(2, (*v3_QuadraticTerm)); } if (v4_LinearTerm) {set_attribute_value(3, (*v4_LinearTerm)); } if (v5_ConstantTerm) {set_attribute_value(4, (*v5_ConstantTerm)); }; populate_derived(); } +Ifc4x3_rc3::IfcThirdOrderPolynomialSpiral::IfcThirdOrderPolynomialSpiral(::Ifc4x3_rc3::IfcAxis2Placement* v1_Position, double v2_QubicTerm, boost::optional< double > v3_QuadraticTerm, boost::optional< double > v4_LinearTerm, boost::optional< double > v5_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_QubicTerm)); if (v3_QuadraticTerm) {set_attribute_value(2, (*v3_QuadraticTerm)); } if (v4_LinearTerm) {set_attribute_value(3, (*v4_LinearTerm)); } if (v5_ConstantTerm) {set_attribute_value(4, (*v5_ConstantTerm)); }; populate_derived(); } // Function implementations for IfcTimePeriod -std::string Ifc4x3_rc3::IfcTimePeriod::StartTime() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc3::IfcTimePeriod::StartTime() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcTimePeriod::setStartTime(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x3_rc3::IfcTimePeriod::EndTime() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_rc3::IfcTimePeriod::EndTime() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcTimePeriod::setEndTime(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcTimePeriod::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1212]); } const IfcParse::entity& Ifc4x3_rc3::IfcTimePeriod::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1212]); } Ifc4x3_rc3::IfcTimePeriod::IfcTimePeriod(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcTimePeriod::IfcTimePeriod(std::string v1_StartTime, std::string v2_EndTime) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime));; populate_derived(); } +Ifc4x3_rc3::IfcTimePeriod::IfcTimePeriod(std::string v1_StartTime, std::string v2_EndTime) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime));; populate_derived(); } // Function implementations for IfcTimeSeries -std::string Ifc4x3_rc3::IfcTimeSeries::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc3::IfcTimeSeries::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcTimeSeries::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc3::IfcTimeSeries::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTimeSeries::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcTimeSeries::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::string Ifc4x3_rc3::IfcTimeSeries::StartTime() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3_rc3::IfcTimeSeries::StartTime() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcTimeSeries::setStartTime(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::string Ifc4x3_rc3::IfcTimeSeries::EndTime() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x3_rc3::IfcTimeSeries::EndTime() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcTimeSeries::setEndTime(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Value Ifc4x3_rc3::IfcTimeSeries::TimeSeriesDataType() const { return ::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Value Ifc4x3_rc3::IfcTimeSeries::TimeSeriesDataType() const { return ::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::FromString(get_attribute_value(4)); } void Ifc4x3_rc3::IfcTimeSeries::setTimeSeriesDataType(::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcDataOriginEnum::Value Ifc4x3_rc3::IfcTimeSeries::DataOrigin() const { return ::Ifc4x3_rc3::IfcDataOriginEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_rc3::IfcDataOriginEnum::Value Ifc4x3_rc3::IfcTimeSeries::DataOrigin() const { return ::Ifc4x3_rc3::IfcDataOriginEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc3::IfcTimeSeries::setDataOrigin(::Ifc4x3_rc3::IfcDataOriginEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< std::string > Ifc4x3_rc3::IfcTimeSeries::UserDefinedDataOrigin() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTimeSeries::UserDefinedDataOrigin() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcTimeSeries::Unit() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc3::IfcUnit>(true); } +::Ifc4x3_rc3::IfcUnit* Ifc4x3_rc3::IfcTimeSeries::Unit() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc3::IfcUnit>(true); } void Ifc4x3_rc3::IfcTimeSeries::setUnit(::Ifc4x3_rc3::IfcUnit* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_rc3::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc3::IfcTimeSeries::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[434], 3)->as(); } @@ -17415,17 +17415,17 @@ void Ifc4x3_rc3::IfcTimeSeries::setUnit(::Ifc4x3_rc3::IfcUnit* v) { set_attribut const IfcParse::entity& Ifc4x3_rc3::IfcTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1213]); } const IfcParse::entity& Ifc4x3_rc3::IfcTimeSeries::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1213]); } Ifc4x3_rc3::IfcTimeSeries::IfcTimeSeries(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc3::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc3::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_rc3::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_rc3::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc3::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTimeSeriesValue -aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr Ifc4x3_rc3::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcValue >(); } +aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr Ifc4x3_rc3::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcValue >(); } void Ifc4x3_rc3::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc3::IfcTimeSeriesValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1215]); } const IfcParse::entity& Ifc4x3_rc3::IfcTimeSeriesValue::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1215]); } Ifc4x3_rc3::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_ListValues)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_rc3::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_ListValues)->generalize());; populate_derived(); } // Function implementations for IfcTopologicalRepresentationItem @@ -17433,7 +17433,7 @@ Ifc4x3_rc3::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_rc3::I const IfcParse::entity& Ifc4x3_rc3::IfcTopologicalRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1217]); } const IfcParse::entity& Ifc4x3_rc3::IfcTopologicalRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1217]); } Ifc4x3_rc3::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc3::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcTopologyRepresentation @@ -17441,164 +17441,164 @@ Ifc4x3_rc3::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() const IfcParse::entity& Ifc4x3_rc3::IfcTopologyRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1218]); } const IfcParse::entity& Ifc4x3_rc3::IfcTopologyRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1218]); } Ifc4x3_rc3::IfcTopologyRepresentation::IfcTopologyRepresentation(IfcEntityInstanceData&& e) : IfcShapeModel(std::move(e)) { } -Ifc4x3_rc3::IfcTopologyRepresentation::IfcTopologyRepresentation(::Ifc4x3_rc3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc3::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcTopologyRepresentation::IfcTopologyRepresentation(::Ifc4x3_rc3::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_rc3::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcToroidalSurface -double Ifc4x3_rc3::IfcToroidalSurface::MajorRadius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc3::IfcToroidalSurface::MajorRadius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcToroidalSurface::setMajorRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc3::IfcToroidalSurface::MinorRadius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc3::IfcToroidalSurface::MinorRadius() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcToroidalSurface::setMinorRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc3::IfcToroidalSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1219]); } const IfcParse::entity& Ifc4x3_rc3::IfcToroidalSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1219]); } Ifc4x3_rc3::IfcToroidalSurface::IfcToroidalSurface(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x3_rc3::IfcToroidalSurface::IfcToroidalSurface(::Ifc4x3_rc3::IfcAxis2Placement3D* v1_Position, double v2_MajorRadius, double v3_MinorRadius) : IfcElementarySurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius));; populate_derived(); } +Ifc4x3_rc3::IfcToroidalSurface::IfcToroidalSurface(::Ifc4x3_rc3::IfcAxis2Placement3D* v1_Position, double v2_MajorRadius, double v3_MinorRadius) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius));; populate_derived(); } // Function implementations for IfcTrackElement -boost::optional< ::Ifc4x3_rc3::IfcTrackElementTypeEnum::Value > Ifc4x3_rc3::IfcTrackElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcTrackElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcTrackElementTypeEnum::Value > Ifc4x3_rc3::IfcTrackElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcTrackElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcTrackElement::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcTrackElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcTrackElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcTrackElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1221]); } const IfcParse::entity& Ifc4x3_rc3::IfcTrackElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1221]); } Ifc4x3_rc3::IfcTrackElement::IfcTrackElement(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc3::IfcTrackElement::IfcTrackElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcTrackElementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcTrackElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcTrackElement::IfcTrackElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcTrackElementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcTrackElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTrackElementType -::Ifc4x3_rc3::IfcTrackElementTypeEnum::Value Ifc4x3_rc3::IfcTrackElementType::PredefinedType() const { return ::Ifc4x3_rc3::IfcTrackElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcTrackElementTypeEnum::Value Ifc4x3_rc3::IfcTrackElementType::PredefinedType() const { return ::Ifc4x3_rc3::IfcTrackElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcTrackElementType::setPredefinedType(::Ifc4x3_rc3::IfcTrackElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcTrackElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcTrackElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1222]); } const IfcParse::entity& Ifc4x3_rc3::IfcTrackElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1222]); } Ifc4x3_rc3::IfcTrackElementType::IfcTrackElementType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc3::IfcTrackElementType::IfcTrackElementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTrackElementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcTrackElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcTrackElementType::IfcTrackElementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTrackElementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcTrackElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTransformer -boost::optional< ::Ifc4x3_rc3::IfcTransformerTypeEnum::Value > Ifc4x3_rc3::IfcTransformer::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcTransformerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcTransformerTypeEnum::Value > Ifc4x3_rc3::IfcTransformer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcTransformerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcTransformer::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcTransformerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcTransformerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcTransformer::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1224]); } const IfcParse::entity& Ifc4x3_rc3::IfcTransformer::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1224]); } Ifc4x3_rc3::IfcTransformer::IfcTransformer(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc3::IfcTransformer::IfcTransformer(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcTransformerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcTransformer::IfcTransformer(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcTransformerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTransformerType -::Ifc4x3_rc3::IfcTransformerTypeEnum::Value Ifc4x3_rc3::IfcTransformerType::PredefinedType() const { return ::Ifc4x3_rc3::IfcTransformerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcTransformerTypeEnum::Value Ifc4x3_rc3::IfcTransformerType::PredefinedType() const { return ::Ifc4x3_rc3::IfcTransformerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcTransformerType::setPredefinedType(::Ifc4x3_rc3::IfcTransformerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcTransformerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcTransformerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1225]); } const IfcParse::entity& Ifc4x3_rc3::IfcTransformerType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1225]); } Ifc4x3_rc3::IfcTransformerType::IfcTransformerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc3::IfcTransformerType::IfcTransformerType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTransformerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcTransformerType::IfcTransformerType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTransformerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTransportElement -::Ifc4x3_rc3::IfcTransportElementTypeSelect* Ifc4x3_rc3::IfcTransportElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc3::IfcTransportElementTypeSelect>(true); } +::Ifc4x3_rc3::IfcTransportElementTypeSelect* Ifc4x3_rc3::IfcTransportElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc3::IfcTransportElementTypeSelect>(true); } void Ifc4x3_rc3::IfcTransportElement::setPredefinedType(::Ifc4x3_rc3::IfcTransportElementTypeSelect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc3::IfcTransportElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1229]); } const IfcParse::entity& Ifc4x3_rc3::IfcTransportElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1229]); } Ifc4x3_rc3::IfcTransportElement::IfcTransportElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc3::IfcTransportElement::IfcTransportElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc3::IfcTransportElementTypeSelect* v9_PredefinedType) : IfcElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, v9_PredefinedType ? v9_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcTransportElement::IfcTransportElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc3::IfcTransportElementTypeSelect* v9_PredefinedType) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, v9_PredefinedType ? v9_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTransportElementType -::Ifc4x3_rc3::IfcTransportElementTypeSelect* Ifc4x3_rc3::IfcTransportElementType::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc3::IfcTransportElementTypeSelect>(true); } +::Ifc4x3_rc3::IfcTransportElementTypeSelect* Ifc4x3_rc3::IfcTransportElementType::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc3::IfcTransportElementTypeSelect>(true); } void Ifc4x3_rc3::IfcTransportElementType::setPredefinedType(::Ifc4x3_rc3::IfcTransportElementTypeSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcTransportElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1232]); } const IfcParse::entity& Ifc4x3_rc3::IfcTransportElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1232]); } Ifc4x3_rc3::IfcTransportElementType::IfcTransportElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_rc3::IfcTransportElementType::IfcTransportElementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTransportElementTypeSelect* v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, v10_PredefinedType ? v10_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcTransportElementType::IfcTransportElementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTransportElementTypeSelect* v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, v10_PredefinedType ? v10_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTrapeziumProfileDef -double Ifc4x3_rc3::IfcTrapeziumProfileDef::BottomXDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc3::IfcTrapeziumProfileDef::BottomXDim() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcTrapeziumProfileDef::setBottomXDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc3::IfcTrapeziumProfileDef::TopXDim() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc3::IfcTrapeziumProfileDef::TopXDim() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcTrapeziumProfileDef::setTopXDim(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc3::IfcTrapeziumProfileDef::YDim() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc3::IfcTrapeziumProfileDef::YDim() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcTrapeziumProfileDef::setYDim(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc3::IfcTrapeziumProfileDef::TopXOffset() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc3::IfcTrapeziumProfileDef::TopXOffset() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcTrapeziumProfileDef::setTopXOffset(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc3::IfcTrapeziumProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1234]); } const IfcParse::entity& Ifc4x3_rc3::IfcTrapeziumProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1234]); } Ifc4x3_rc3::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_rc3::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D* v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; populate_derived(); } +Ifc4x3_rc3::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::IfcAxis2Placement2D* v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; populate_derived(); } // Function implementations for IfcTriangulatedFaceSet -boost::optional< std::vector< std::vector< double > > > Ifc4x3_rc3::IfcTriangulatedFaceSet::Normals() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::vector< double > > v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< std::vector< double > > > Ifc4x3_rc3::IfcTriangulatedFaceSet::Normals() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::vector< double > > v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcTriangulatedFaceSet::setNormals(boost::optional< std::vector< std::vector< double > > > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< bool > Ifc4x3_rc3::IfcTriangulatedFaceSet::Closed() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } bool v = data_.get_attribute_value(2); return v; } +boost::optional< bool > Ifc4x3_rc3::IfcTriangulatedFaceSet::Closed() const { if(get_attribute_value(2).isNull()) { return boost::none; } bool v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcTriangulatedFaceSet::setClosed(boost::optional< bool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector< std::vector< int > > Ifc4x3_rc3::IfcTriangulatedFaceSet::CoordIndex() const { std::vector< std::vector< int > > v = data_.get_attribute_value(3); return v; } +std::vector< std::vector< int > > Ifc4x3_rc3::IfcTriangulatedFaceSet::CoordIndex() const { std::vector< std::vector< int > > v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcTriangulatedFaceSet::setCoordIndex(std::vector< std::vector< int > > v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc3::IfcTriangulatedFaceSet::PnIndex() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc3::IfcTriangulatedFaceSet::PnIndex() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcTriangulatedFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc3::IfcTriangulatedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1235]); } const IfcParse::entity& Ifc4x3_rc3::IfcTriangulatedFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1235]); } Ifc4x3_rc3::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(IfcEntityInstanceData&& e) : IfcTessellatedFaceSet(std::move(e)) { } -Ifc4x3_rc3::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(::Ifc4x3_rc3::IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) : IfcTessellatedFaceSet(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }; populate_derived(); } +Ifc4x3_rc3::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(::Ifc4x3_rc3::IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex) : IfcTessellatedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }; populate_derived(); } // Function implementations for IfcTriangulatedIrregularNetwork -std::vector< int > /*[1:?]*/ Ifc4x3_rc3::IfcTriangulatedIrregularNetwork::Flags() const { std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(5); return v; } +std::vector< int > /*[1:?]*/ Ifc4x3_rc3::IfcTriangulatedIrregularNetwork::Flags() const { std::vector< int > /*[1:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcTriangulatedIrregularNetwork::setFlags(std::vector< int > /*[1:?]*/ v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc3::IfcTriangulatedIrregularNetwork::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1236]); } const IfcParse::entity& Ifc4x3_rc3::IfcTriangulatedIrregularNetwork::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1236]); } Ifc4x3_rc3::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(IfcEntityInstanceData&& e) : IfcTriangulatedFaceSet(std::move(e)) { } -Ifc4x3_rc3::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::Ifc4x3_rc3::IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) : IfcTriangulatedFaceSet(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags));; populate_derived(); } +Ifc4x3_rc3::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::Ifc4x3_rc3::IfcCartesianPointList3D* v1_Coordinates, boost::optional< std::vector< std::vector< double > > > v2_Normals, boost::optional< bool > v3_Closed, std::vector< std::vector< int > > v4_CoordIndex, boost::optional< std::vector< int > /*[1:?]*/ > v5_PnIndex, std::vector< int > /*[1:?]*/ v6_Flags) : IfcTriangulatedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags));; populate_derived(); } // Function implementations for IfcTrimmedCurve -::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCurve>(true); } +::Ifc4x3_rc3::IfcCurve* Ifc4x3_rc3::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcCurve>(true); } void Ifc4x3_rc3::IfcTrimmedCurve::setBasisCurve(::Ifc4x3_rc3::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr Ifc4x3_rc3::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcTrimmingSelect >(); } +aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr Ifc4x3_rc3::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc3::IfcTrimmingSelect >(); } void Ifc4x3_rc3::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr Ifc4x3_rc3::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcTrimmingSelect >(); } +aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr Ifc4x3_rc3::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc3::IfcTrimmingSelect >(); } void Ifc4x3_rc3::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x3_rc3::IfcTrimmedCurve::SenseAgreement() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x3_rc3::IfcTrimmedCurve::SenseAgreement() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcTrimmedCurve::setSenseAgreement(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc3::IfcTrimmingPreference::Value Ifc4x3_rc3::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3_rc3::IfcTrimmingPreference::FromString(data_.get_attribute_value(4)); } +::Ifc4x3_rc3::IfcTrimmingPreference::Value Ifc4x3_rc3::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3_rc3::IfcTrimmingPreference::FromString(get_attribute_value(4)); } void Ifc4x3_rc3::IfcTrimmedCurve::setMasterRepresentation(::Ifc4x3_rc3::IfcTrimmingPreference::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3_rc3::IfcTrimmingPreference::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc3::IfcTrimmedCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1237]); } const IfcParse::entity& Ifc4x3_rc3::IfcTrimmedCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1237]); } Ifc4x3_rc3::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_rc3::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_rc3::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc3::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Trim1)->generalize());set_attribute_value(2, (v3_Trim2)->generalize());set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc3::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; populate_derived(); } +Ifc4x3_rc3::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_rc3::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_rc3::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc3::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Trim1)->generalize());set_attribute_value(2, (v3_Trim2)->generalize());set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc3::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcTubeBundle -boost::optional< ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value > Ifc4x3_rc3::IfcTubeBundle::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value > Ifc4x3_rc3::IfcTubeBundle::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcTubeBundle::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcTubeBundle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1241]); } const IfcParse::entity& Ifc4x3_rc3::IfcTubeBundle::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1241]); } Ifc4x3_rc3::IfcTubeBundle::IfcTubeBundle(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc3::IfcTubeBundle::IfcTubeBundle(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcTubeBundle::IfcTubeBundle(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTubeBundleType -::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value Ifc4x3_rc3::IfcTubeBundleType::PredefinedType() const { return ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value Ifc4x3_rc3::IfcTubeBundleType::PredefinedType() const { return ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcTubeBundleType::setPredefinedType(::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcTubeBundleType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1242]); } const IfcParse::entity& Ifc4x3_rc3::IfcTubeBundleType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1242]); } Ifc4x3_rc3::IfcTubeBundleType::IfcTubeBundleType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc3::IfcTubeBundleType::IfcTubeBundleType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcTubeBundleType::IfcTubeBundleType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTypeObject -boost::optional< std::string > Ifc4x3_rc3::IfcTypeObject::ApplicableOccurrence() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTypeObject::ApplicableOccurrence() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcTypeObject::setApplicableOccurrence(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > Ifc4x3_rc3::IfcTypeObject::HasPropertySets() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc3::IfcPropertySetDefinition >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > Ifc4x3_rc3::IfcTypeObject::HasPropertySets() const { if(get_attribute_value(5).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc3::IfcPropertySetDefinition >(); } void Ifc4x3_rc3::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v) { if (v) {set_attribute_value(5, (*v)->generalize());} else {unset_attribute_value(5);} } ::Ifc4x3_rc3::IfcRelDefinesByType::list::ptr Ifc4x3_rc3::IfcTypeObject::Types() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[941], 5)->as(); } @@ -17606,14 +17606,14 @@ void Ifc4x3_rc3::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of const IfcParse::entity& Ifc4x3_rc3::IfcTypeObject::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1244]); } const IfcParse::entity& Ifc4x3_rc3::IfcTypeObject::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1244]); } Ifc4x3_rc3::IfcTypeObject::IfcTypeObject(IfcEntityInstanceData&& e) : IfcObjectDefinition(std::move(e)) { } -Ifc4x3_rc3::IfcTypeObject::IfcTypeObject(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets) : IfcObjectDefinition(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); }; populate_derived(); } +Ifc4x3_rc3::IfcTypeObject::IfcTypeObject(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets) : IfcObjectDefinition(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); }; populate_derived(); } // Function implementations for IfcTypeProcess -boost::optional< std::string > Ifc4x3_rc3::IfcTypeProcess::Identification() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTypeProcess::Identification() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcTypeProcess::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc3::IfcTypeProcess::LongDescription() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTypeProcess::LongDescription() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcTypeProcess::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc3::IfcTypeProcess::ProcessType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTypeProcess::ProcessType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcTypeProcess::setProcessType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } ::Ifc4x3_rc3::IfcRelAssignsToProcess::list::ptr Ifc4x3_rc3::IfcTypeProcess::OperatesOn() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[911], 6)->as(); } @@ -17621,12 +17621,12 @@ void Ifc4x3_rc3::IfcTypeProcess::setProcessType(boost::optional< std::string > v const IfcParse::entity& Ifc4x3_rc3::IfcTypeProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1245]); } const IfcParse::entity& Ifc4x3_rc3::IfcTypeProcess::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1245]); } Ifc4x3_rc3::IfcTypeProcess::IfcTypeProcess(IfcEntityInstanceData&& e) : IfcTypeObject(std::move(e)) { } -Ifc4x3_rc3::IfcTypeProcess::IfcTypeProcess(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType) : IfcTypeObject(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }; populate_derived(); } +Ifc4x3_rc3::IfcTypeProcess::IfcTypeProcess(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType) : IfcTypeObject(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }; populate_derived(); } // Function implementations for IfcTypeProduct -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > Ifc4x3_rc3::IfcTypeProduct::RepresentationMaps() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3_rc3::IfcRepresentationMap >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > Ifc4x3_rc3::IfcTypeProduct::RepresentationMaps() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3_rc3::IfcRepresentationMap >(); } void Ifc4x3_rc3::IfcTypeProduct::setRepresentationMaps(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc3::IfcTypeProduct::Tag() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTypeProduct::Tag() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcTypeProduct::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } ::Ifc4x3_rc3::IfcRelAssignsToProduct::list::ptr Ifc4x3_rc3::IfcTypeProduct::ReferencedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[912], 6)->as(); } @@ -17634,14 +17634,14 @@ void Ifc4x3_rc3::IfcTypeProduct::setTag(boost::optional< std::string > v) { if ( const IfcParse::entity& Ifc4x3_rc3::IfcTypeProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1246]); } const IfcParse::entity& Ifc4x3_rc3::IfcTypeProduct::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1246]); } Ifc4x3_rc3::IfcTypeProduct::IfcTypeProduct(IfcEntityInstanceData&& e) : IfcTypeObject(std::move(e)) { } -Ifc4x3_rc3::IfcTypeProduct::IfcTypeProduct(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag) : IfcTypeObject(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc3::IfcTypeProduct::IfcTypeProduct(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag) : IfcTypeObject(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcTypeResource -boost::optional< std::string > Ifc4x3_rc3::IfcTypeResource::Identification() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTypeResource::Identification() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcTypeResource::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc3::IfcTypeResource::LongDescription() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTypeResource::LongDescription() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcTypeResource::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc3::IfcTypeResource::ResourceType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcTypeResource::ResourceType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcTypeResource::setResourceType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } ::Ifc4x3_rc3::IfcRelAssignsToResource::list::ptr Ifc4x3_rc3::IfcTypeResource::ResourceOf() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC3_types[913], 6)->as(); } @@ -17649,111 +17649,111 @@ void Ifc4x3_rc3::IfcTypeResource::setResourceType(boost::optional< std::string > const IfcParse::entity& Ifc4x3_rc3::IfcTypeResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1247]); } const IfcParse::entity& Ifc4x3_rc3::IfcTypeResource::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1247]); } Ifc4x3_rc3::IfcTypeResource::IfcTypeResource(IfcEntityInstanceData&& e) : IfcTypeObject(std::move(e)) { } -Ifc4x3_rc3::IfcTypeResource::IfcTypeResource(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType) : IfcTypeObject(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); }; populate_derived(); } +Ifc4x3_rc3::IfcTypeResource::IfcTypeResource(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType) : IfcTypeObject(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); }; populate_derived(); } // Function implementations for IfcUShapeProfileDef -double Ifc4x3_rc3::IfcUShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc3::IfcUShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcUShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc3::IfcUShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc3::IfcUShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcUShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc3::IfcUShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc3::IfcUShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcUShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc3::IfcUShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc3::IfcUShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcUShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc3::IfcUShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc3::IfcUShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcUShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc3::IfcUShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc3::IfcUShapeProfileDef::EdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcUShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_rc3::IfcUShapeProfileDef::FlangeSlope() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc3::IfcUShapeProfileDef::FlangeSlope() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc3::IfcUShapeProfileDef::setFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc3::IfcUShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1258]); } const IfcParse::entity& Ifc4x3_rc3::IfcUShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1258]); } Ifc4x3_rc3::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_rc3::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::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(storage_t(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } +Ifc4x3_rc3::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::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(in_memory_attribute_storage(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } // Function implementations for IfcUnitAssignment -aggregate_of< ::Ifc4x3_rc3::IfcUnit >::ptr Ifc4x3_rc3::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcUnit >(); } +aggregate_of< ::Ifc4x3_rc3::IfcUnit >::ptr Ifc4x3_rc3::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcUnit >(); } void Ifc4x3_rc3::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x3_rc3::IfcUnit >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc3::IfcUnitAssignment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1255]); } const IfcParse::entity& Ifc4x3_rc3::IfcUnitAssignment::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1255]); } Ifc4x3_rc3::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3_rc3::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Units)->generalize());; populate_derived(); } +Ifc4x3_rc3::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3_rc3::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Units)->generalize());; populate_derived(); } // Function implementations for IfcUnitaryControlElement -boost::optional< ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_rc3::IfcUnitaryControlElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_rc3::IfcUnitaryControlElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcUnitaryControlElement::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcUnitaryControlElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1249]); } const IfcParse::entity& Ifc4x3_rc3::IfcUnitaryControlElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1249]); } Ifc4x3_rc3::IfcUnitaryControlElement::IfcUnitaryControlElement(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_rc3::IfcUnitaryControlElement::IfcUnitaryControlElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcUnitaryControlElement::IfcUnitaryControlElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcUnitaryControlElementType -::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value Ifc4x3_rc3::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value Ifc4x3_rc3::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcUnitaryControlElementType::setPredefinedType(::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcUnitaryControlElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1250]); } const IfcParse::entity& Ifc4x3_rc3::IfcUnitaryControlElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1250]); } Ifc4x3_rc3::IfcUnitaryControlElementType::IfcUnitaryControlElementType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_rc3::IfcUnitaryControlElementType::IfcUnitaryControlElementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcUnitaryControlElementType::IfcUnitaryControlElementType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcUnitaryEquipment -boost::optional< ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x3_rc3::IfcUnitaryEquipment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x3_rc3::IfcUnitaryEquipment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcUnitaryEquipment::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcUnitaryEquipment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1252]); } const IfcParse::entity& Ifc4x3_rc3::IfcUnitaryEquipment::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1252]); } Ifc4x3_rc3::IfcUnitaryEquipment::IfcUnitaryEquipment(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_rc3::IfcUnitaryEquipment::IfcUnitaryEquipment(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcUnitaryEquipment::IfcUnitaryEquipment(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcUnitaryEquipmentType -::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3_rc3::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3_rc3::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcUnitaryEquipmentType::setPredefinedType(::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcUnitaryEquipmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1253]); } const IfcParse::entity& Ifc4x3_rc3::IfcUnitaryEquipmentType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1253]); } Ifc4x3_rc3::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc3::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcValve -boost::optional< ::Ifc4x3_rc3::IfcValveTypeEnum::Value > Ifc4x3_rc3::IfcValve::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcValveTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcValveTypeEnum::Value > Ifc4x3_rc3::IfcValve::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcValveTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcValve::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcValveTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcValveTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcValve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1260]); } const IfcParse::entity& Ifc4x3_rc3::IfcValve::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1260]); } Ifc4x3_rc3::IfcValve::IfcValve(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_rc3::IfcValve::IfcValve(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcValveTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcValve::IfcValve(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcValveTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcValveType -::Ifc4x3_rc3::IfcValveTypeEnum::Value Ifc4x3_rc3::IfcValveType::PredefinedType() const { return ::Ifc4x3_rc3::IfcValveTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcValveTypeEnum::Value Ifc4x3_rc3::IfcValveType::PredefinedType() const { return ::Ifc4x3_rc3::IfcValveTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcValveType::setPredefinedType(::Ifc4x3_rc3::IfcValveTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcValveTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcValveType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1261]); } const IfcParse::entity& Ifc4x3_rc3::IfcValveType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1261]); } Ifc4x3_rc3::IfcValveType::IfcValveType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_rc3::IfcValveType::IfcValveType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcValveTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcValveType::IfcValveType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcValveTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcVector -::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcDirection>(true); } +::Ifc4x3_rc3::IfcDirection* Ifc4x3_rc3::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcDirection>(true); } void Ifc4x3_rc3::IfcVector::setOrientation(::Ifc4x3_rc3::IfcDirection* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc3::IfcVector::Magnitude() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc3::IfcVector::Magnitude() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcVector::setMagnitude(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcVector::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1264]); } const IfcParse::entity& Ifc4x3_rc3::IfcVector::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1264]); } Ifc4x3_rc3::IfcVector::IfcVector(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcVector::IfcVector(::Ifc4x3_rc3::IfcDirection* v1_Orientation, double v2_Magnitude) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Orientation ? v1_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Magnitude));; populate_derived(); } +Ifc4x3_rc3::IfcVector::IfcVector(::Ifc4x3_rc3::IfcDirection* v1_Orientation, double v2_Magnitude) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Orientation ? v1_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Magnitude));; populate_derived(); } // Function implementations for IfcVertex @@ -17761,83 +17761,83 @@ Ifc4x3_rc3::IfcVector::IfcVector(::Ifc4x3_rc3::IfcDirection* v1_Orientation, dou const IfcParse::entity& Ifc4x3_rc3::IfcVertex::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1266]); } const IfcParse::entity& Ifc4x3_rc3::IfcVertex::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1266]); } Ifc4x3_rc3::IfcVertex::IfcVertex(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_rc3::IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc3::IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcVertexLoop -::Ifc4x3_rc3::IfcVertex* Ifc4x3_rc3::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcVertex>(true); } +::Ifc4x3_rc3::IfcVertex* Ifc4x3_rc3::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcVertex>(true); } void Ifc4x3_rc3::IfcVertexLoop::setLoopVertex(::Ifc4x3_rc3::IfcVertex* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc3::IfcVertexLoop::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1267]); } const IfcParse::entity& Ifc4x3_rc3::IfcVertexLoop::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1267]); } Ifc4x3_rc3::IfcVertexLoop::IfcVertexLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc4x3_rc3::IfcVertexLoop::IfcVertexLoop(::Ifc4x3_rc3::IfcVertex* v1_LoopVertex) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_LoopVertex ? v1_LoopVertex->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcVertexLoop::IfcVertexLoop(::Ifc4x3_rc3::IfcVertex* v1_LoopVertex) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_LoopVertex ? v1_LoopVertex->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcVertexPoint -::Ifc4x3_rc3::IfcPoint* Ifc4x3_rc3::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcPoint>(true); } +::Ifc4x3_rc3::IfcPoint* Ifc4x3_rc3::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc3::IfcPoint>(true); } void Ifc4x3_rc3::IfcVertexPoint::setVertexGeometry(::Ifc4x3_rc3::IfcPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc3::IfcVertexPoint::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1268]); } const IfcParse::entity& Ifc4x3_rc3::IfcVertexPoint::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1268]); } Ifc4x3_rc3::IfcVertexPoint::IfcVertexPoint(IfcEntityInstanceData&& e) : IfcVertex(std::move(e)) { } -Ifc4x3_rc3::IfcVertexPoint::IfcVertexPoint(::Ifc4x3_rc3::IfcPoint* v1_VertexGeometry) : IfcVertex(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_VertexGeometry ? v1_VertexGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcVertexPoint::IfcVertexPoint(::Ifc4x3_rc3::IfcPoint* v1_VertexGeometry) : IfcVertex(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_VertexGeometry ? v1_VertexGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcVibrationDamper -boost::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc3::IfcVibrationDamper::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc3::IfcVibrationDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcVibrationDamper::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcVibrationDamper::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1269]); } const IfcParse::entity& Ifc4x3_rc3::IfcVibrationDamper::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1269]); } Ifc4x3_rc3::IfcVibrationDamper::IfcVibrationDamper(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_rc3::IfcVibrationDamper::IfcVibrationDamper(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcVibrationDamper::IfcVibrationDamper(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcVibrationDamperType -boost::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc3::IfcVibrationDamperType::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc3::IfcVibrationDamperType::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcVibrationDamperType::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc3::IfcVibrationDamperType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1270]); } const IfcParse::entity& Ifc4x3_rc3::IfcVibrationDamperType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1270]); } Ifc4x3_rc3::IfcVibrationDamperType::IfcVibrationDamperType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_rc3::IfcVibrationDamperType::IfcVibrationDamperType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value > v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcVibrationDamperType::IfcVibrationDamperType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< ::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Value > v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcVibrationDamperTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcVibrationIsolator -boost::optional< ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value > Ifc4x3_rc3::IfcVibrationIsolator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value > Ifc4x3_rc3::IfcVibrationIsolator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcVibrationIsolator::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcVibrationIsolator::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1272]); } const IfcParse::entity& Ifc4x3_rc3::IfcVibrationIsolator::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1272]); } Ifc4x3_rc3::IfcVibrationIsolator::IfcVibrationIsolator(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_rc3::IfcVibrationIsolator::IfcVibrationIsolator(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcVibrationIsolator::IfcVibrationIsolator(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcVibrationIsolatorType -::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value Ifc4x3_rc3::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value Ifc4x3_rc3::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcVibrationIsolatorType::setPredefinedType(::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcVibrationIsolatorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1273]); } const IfcParse::entity& Ifc4x3_rc3::IfcVibrationIsolatorType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1273]); } Ifc4x3_rc3::IfcVibrationIsolatorType::IfcVibrationIsolatorType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_rc3::IfcVibrationIsolatorType::IfcVibrationIsolatorType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcVibrationIsolatorType::IfcVibrationIsolatorType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcVienneseBend -double Ifc4x3_rc3::IfcVienneseBend::StartCurvature() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_rc3::IfcVienneseBend::StartCurvature() const { double v = get_attribute_value(0); return v; } void Ifc4x3_rc3::IfcVienneseBend::setStartCurvature(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc3::IfcVienneseBend::EndCurvature() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc3::IfcVienneseBend::EndCurvature() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcVienneseBend::setEndCurvature(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc3::IfcVienneseBend::GravityCenterHeight() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc3::IfcVienneseBend::GravityCenterHeight() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc3::IfcVienneseBend::setGravityCenterHeight(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc3::IfcVienneseBend::SegmentLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc3::IfcVienneseBend::SegmentLength() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcVienneseBend::setSegmentLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc3::IfcVienneseBend::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1275]); } const IfcParse::entity& Ifc4x3_rc3::IfcVienneseBend::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1275]); } Ifc4x3_rc3::IfcVienneseBend::IfcVienneseBend(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_rc3::IfcVienneseBend::IfcVienneseBend(double v1_StartCurvature, double v2_EndCurvature, double v3_GravityCenterHeight, double v4_SegmentLength) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_StartCurvature));set_attribute_value(1, (v2_EndCurvature));set_attribute_value(2, (v3_GravityCenterHeight));set_attribute_value(3, (v4_SegmentLength));; populate_derived(); } +Ifc4x3_rc3::IfcVienneseBend::IfcVienneseBend(double v1_StartCurvature, double v2_EndCurvature, double v3_GravityCenterHeight, double v4_SegmentLength) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_StartCurvature));set_attribute_value(1, (v2_EndCurvature));set_attribute_value(2, (v3_GravityCenterHeight));set_attribute_value(3, (v4_SegmentLength));; populate_derived(); } // Function implementations for IfcVirtualElement @@ -17845,19 +17845,19 @@ Ifc4x3_rc3::IfcVienneseBend::IfcVienneseBend(double v1_StartCurvature, double v2 const IfcParse::entity& Ifc4x3_rc3::IfcVirtualElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1276]); } const IfcParse::entity& Ifc4x3_rc3::IfcVirtualElement::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1276]); } Ifc4x3_rc3::IfcVirtualElement::IfcVirtualElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc3::IfcVirtualElement::IfcVirtualElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc3::IfcVirtualElement::IfcVirtualElement(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcVirtualGridIntersection -aggregate_of< ::Ifc4x3_rc3::IfcGridAxis >::ptr Ifc4x3_rc3::IfcVirtualGridIntersection::IntersectingAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcGridAxis >(); } +aggregate_of< ::Ifc4x3_rc3::IfcGridAxis >::ptr Ifc4x3_rc3::IfcVirtualGridIntersection::IntersectingAxes() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc3::IfcGridAxis >(); } void Ifc4x3_rc3::IfcVirtualGridIntersection::setIntersectingAxes(aggregate_of< ::Ifc4x3_rc3::IfcGridAxis >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -std::vector< double > /*[2:3]*/ Ifc4x3_rc3::IfcVirtualGridIntersection::OffsetDistances() const { std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(1); return v; } +std::vector< double > /*[2:3]*/ Ifc4x3_rc3::IfcVirtualGridIntersection::OffsetDistances() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc3::IfcVirtualGridIntersection::setOffsetDistances(std::vector< double > /*[2:3]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc3::IfcVirtualGridIntersection::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1277]); } const IfcParse::entity& Ifc4x3_rc3::IfcVirtualGridIntersection::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1277]); } Ifc4x3_rc3::IfcVirtualGridIntersection::IfcVirtualGridIntersection(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc3::IfcVirtualGridIntersection::IfcVirtualGridIntersection(aggregate_of< ::Ifc4x3_rc3::IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_IntersectingAxes)->generalize());set_attribute_value(1, (v2_OffsetDistances));; populate_derived(); } +Ifc4x3_rc3::IfcVirtualGridIntersection::IfcVirtualGridIntersection(aggregate_of< ::Ifc4x3_rc3::IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_IntersectingAxes)->generalize());set_attribute_value(1, (v2_OffsetDistances));; populate_derived(); } // Function implementations for IfcVoidStratum @@ -17865,27 +17865,27 @@ Ifc4x3_rc3::IfcVirtualGridIntersection::IfcVirtualGridIntersection(aggregate_of< const IfcParse::entity& Ifc4x3_rc3::IfcVoidStratum::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1280]); } const IfcParse::entity& Ifc4x3_rc3::IfcVoidStratum::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1280]); } Ifc4x3_rc3::IfcVoidStratum::IfcVoidStratum(IfcEntityInstanceData&& e) : IfcGeotechnicalStratum(std::move(e)) { } -Ifc4x3_rc3::IfcVoidStratum::IfcVoidStratum(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalStratum(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc3::IfcVoidStratum::IfcVoidStratum(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalStratum(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcVoidingFeature -boost::optional< ::Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::Value > Ifc4x3_rc3::IfcVoidingFeature::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::Value > Ifc4x3_rc3::IfcVoidingFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcVoidingFeature::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcVoidingFeature::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1278]); } const IfcParse::entity& Ifc4x3_rc3::IfcVoidingFeature::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1278]); } Ifc4x3_rc3::IfcVoidingFeature::IfcVoidingFeature(IfcEntityInstanceData&& e) : IfcFeatureElementSubtraction(std::move(e)) { } -Ifc4x3_rc3::IfcVoidingFeature::IfcVoidingFeature(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcVoidingFeature::IfcVoidingFeature(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWall -boost::optional< ::Ifc4x3_rc3::IfcWallTypeEnum::Value > Ifc4x3_rc3::IfcWall::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcWallTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcWallTypeEnum::Value > Ifc4x3_rc3::IfcWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcWallTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcWall::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcWallTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcWallTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcWall::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1283]); } const IfcParse::entity& Ifc4x3_rc3::IfcWall::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1283]); } Ifc4x3_rc3::IfcWall::IfcWall(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc3::IfcWall::IfcWall(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcWall::IfcWall(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWallElementedCase @@ -17893,7 +17893,7 @@ Ifc4x3_rc3::IfcWall::IfcWall(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHist const IfcParse::entity& Ifc4x3_rc3::IfcWallElementedCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1284]); } const IfcParse::entity& Ifc4x3_rc3::IfcWallElementedCase::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1284]); } Ifc4x3_rc3::IfcWallElementedCase::IfcWallElementedCase(IfcEntityInstanceData&& e) : IfcWall(std::move(e)) { } -Ifc4x3_rc3::IfcWallElementedCase::IfcWallElementedCase(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcWall(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcWallElementedCase::IfcWallElementedCase(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcWall(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWallStandardCase @@ -17901,37 +17901,37 @@ Ifc4x3_rc3::IfcWallElementedCase::IfcWallElementedCase(std::string v1_GlobalId, const IfcParse::entity& Ifc4x3_rc3::IfcWallStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1285]); } const IfcParse::entity& Ifc4x3_rc3::IfcWallStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1285]); } Ifc4x3_rc3::IfcWallStandardCase::IfcWallStandardCase(IfcEntityInstanceData&& e) : IfcWall(std::move(e)) { } -Ifc4x3_rc3::IfcWallStandardCase::IfcWallStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcWall(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcWallStandardCase::IfcWallStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcWall(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWallType -::Ifc4x3_rc3::IfcWallTypeEnum::Value Ifc4x3_rc3::IfcWallType::PredefinedType() const { return ::Ifc4x3_rc3::IfcWallTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcWallTypeEnum::Value Ifc4x3_rc3::IfcWallType::PredefinedType() const { return ::Ifc4x3_rc3::IfcWallTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcWallType::setPredefinedType(::Ifc4x3_rc3::IfcWallTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcWallTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcWallType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1286]); } const IfcParse::entity& Ifc4x3_rc3::IfcWallType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1286]); } Ifc4x3_rc3::IfcWallType::IfcWallType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc3::IfcWallType::IfcWallType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcWallTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcWallType::IfcWallType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcWallTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcWasteTerminal -boost::optional< ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value > Ifc4x3_rc3::IfcWasteTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value > Ifc4x3_rc3::IfcWasteTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcWasteTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcWasteTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1291]); } const IfcParse::entity& Ifc4x3_rc3::IfcWasteTerminal::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1291]); } Ifc4x3_rc3::IfcWasteTerminal::IfcWasteTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_rc3::IfcWasteTerminal::IfcWasteTerminal(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcWasteTerminal::IfcWasteTerminal(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWasteTerminalType -::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value Ifc4x3_rc3::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value Ifc4x3_rc3::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcWasteTerminalType::setPredefinedType(::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc3::IfcWasteTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1292]); } const IfcParse::entity& Ifc4x3_rc3::IfcWasteTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1292]); } Ifc4x3_rc3::IfcWasteTerminalType::IfcWasteTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_rc3::IfcWasteTerminalType::IfcWasteTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc3::IfcWasteTerminalType::IfcWasteTerminalType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcWaterStratum @@ -17939,75 +17939,75 @@ Ifc4x3_rc3::IfcWasteTerminalType::IfcWasteTerminalType(std::string v1_GlobalId, const IfcParse::entity& Ifc4x3_rc3::IfcWaterStratum::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1294]); } const IfcParse::entity& Ifc4x3_rc3::IfcWaterStratum::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1294]); } Ifc4x3_rc3::IfcWaterStratum::IfcWaterStratum(IfcEntityInstanceData&& e) : IfcGeotechnicalStratum(std::move(e)) { } -Ifc4x3_rc3::IfcWaterStratum::IfcWaterStratum(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalStratum(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc3::IfcWaterStratum::IfcWaterStratum(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalStratum(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcWindow -boost::optional< double > Ifc4x3_rc3::IfcWindow::OverallHeight() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc3::IfcWindow::OverallHeight() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcWindow::setOverallHeight(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_rc3::IfcWindow::OverallWidth() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc3::IfcWindow::OverallWidth() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc3::IfcWindow::setOverallWidth(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x3_rc3::IfcWindowTypeEnum::Value > Ifc4x3_rc3::IfcWindow::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcWindowTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc3::IfcWindowTypeEnum::Value > Ifc4x3_rc3::IfcWindow::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcWindowTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc3::IfcWindow::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcWindowTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc3::IfcWindowTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -boost::optional< ::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Value > Ifc4x3_rc3::IfcWindow::PartitioningType() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::FromString(data_.get_attribute_value(11)); } +boost::optional< ::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Value > Ifc4x3_rc3::IfcWindow::PartitioningType() const { if(get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc3::IfcWindow::setPartitioningType(boost::optional< ::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Value > v) { if (v) {set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Class(), (size_t) *v));} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_rc3::IfcWindow::UserDefinedPartitioningType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcWindow::UserDefinedPartitioningType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc3::IfcWindow::setUserDefinedPartitioningType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_rc3::IfcWindow::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1295]); } const IfcParse::entity& Ifc4x3_rc3::IfcWindow::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1295]); } Ifc4x3_rc3::IfcWindow::IfcWindow(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc3::IfcWindow::IfcWindow(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_rc3::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } +Ifc4x3_rc3::IfcWindow::IfcWindow(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_rc3::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } // Function implementations for IfcWindowLiningProperties -boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::LiningDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcWindowLiningProperties::setLiningDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::LiningThickness() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::LiningThickness() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcWindowLiningProperties::setLiningThickness(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::TransomThickness() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::TransomThickness() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcWindowLiningProperties::setTransomThickness(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::MullionThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::MullionThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcWindowLiningProperties::setMullionThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::FirstTransomOffset() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::FirstTransomOffset() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcWindowLiningProperties::setFirstTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::SecondTransomOffset() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::SecondTransomOffset() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc3::IfcWindowLiningProperties::setSecondTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::FirstMullionOffset() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::FirstMullionOffset() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::SecondMullionOffset() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::SecondMullionOffset() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc3::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -::Ifc4x3_rc3::IfcShapeAspect* Ifc4x3_rc3::IfcWindowLiningProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(12).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(12)))->as<::Ifc4x3_rc3::IfcShapeAspect>(true); } +::Ifc4x3_rc3::IfcShapeAspect* Ifc4x3_rc3::IfcWindowLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(12).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(12)))->as<::Ifc4x3_rc3::IfcShapeAspect>(true); } void Ifc4x3_rc3::IfcWindowLiningProperties::setShapeAspectStyle(::Ifc4x3_rc3::IfcShapeAspect* v) { set_attribute_value(12, v->as());if constexpr (false)unset_attribute_value(12); } -boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::LiningOffset() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::LiningOffset() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_rc3::IfcWindowLiningProperties::setLiningOffset(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::LiningToPanelOffsetX() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::LiningToPanelOffsetX() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3_rc3::IfcWindowLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::LiningToPanelOffsetY() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3_rc3::IfcWindowLiningProperties::LiningToPanelOffsetY() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3_rc3::IfcWindowLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } const IfcParse::entity& Ifc4x3_rc3::IfcWindowLiningProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1296]); } const IfcParse::entity& Ifc4x3_rc3::IfcWindowLiningProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1296]); } Ifc4x3_rc3::IfcWindowLiningProperties::IfcWindowLiningProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_rc3::IfcWindowLiningProperties::IfcWindowLiningProperties(std::string v1_GlobalId, ::Ifc4x3_rc3::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_rc3::IfcShapeAspect* v13_ShapeAspectStyle, boost::optional< double > v14_LiningOffset, boost::optional< double > v15_LiningToPanelOffsetX, boost::optional< double > v16_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, v13_ShapeAspectStyle ? v13_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); }; populate_derived(); } +Ifc4x3_rc3::IfcWindowLiningProperties::IfcWindowLiningProperties(std::string v1_GlobalId, ::Ifc4x3_rc3::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_rc3::IfcShapeAspect* v13_ShapeAspectStyle, boost::optional< double > v14_LiningOffset, boost::optional< double > v15_LiningToPanelOffsetX, boost::optional< double > v16_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, v13_ShapeAspectStyle ? v13_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); }; populate_derived(); } // Function implementations for IfcWindowPanelProperties -::Ifc4x3_rc3::IfcWindowPanelOperationEnum::Value Ifc4x3_rc3::IfcWindowPanelProperties::OperationType() const { return ::Ifc4x3_rc3::IfcWindowPanelOperationEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x3_rc3::IfcWindowPanelOperationEnum::Value Ifc4x3_rc3::IfcWindowPanelProperties::OperationType() const { return ::Ifc4x3_rc3::IfcWindowPanelOperationEnum::FromString(get_attribute_value(4)); } void Ifc4x3_rc3::IfcWindowPanelProperties::setOperationType(::Ifc4x3_rc3::IfcWindowPanelOperationEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3_rc3::IfcWindowPanelOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc3::IfcWindowPanelPositionEnum::Value Ifc4x3_rc3::IfcWindowPanelProperties::PanelPosition() const { return ::Ifc4x3_rc3::IfcWindowPanelPositionEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_rc3::IfcWindowPanelPositionEnum::Value Ifc4x3_rc3::IfcWindowPanelProperties::PanelPosition() const { return ::Ifc4x3_rc3::IfcWindowPanelPositionEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc3::IfcWindowPanelProperties::setPanelPosition(::Ifc4x3_rc3::IfcWindowPanelPositionEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc3::IfcWindowPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_rc3::IfcWindowPanelProperties::FrameDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc3::IfcWindowPanelProperties::FrameDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_rc3::IfcWindowPanelProperties::FrameThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc3::IfcWindowPanelProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc3::IfcShapeAspect* Ifc4x3_rc3::IfcWindowPanelProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc3::IfcShapeAspect>(true); } +::Ifc4x3_rc3::IfcShapeAspect* Ifc4x3_rc3::IfcWindowPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc3::IfcShapeAspect>(true); } void Ifc4x3_rc3::IfcWindowPanelProperties::setShapeAspectStyle(::Ifc4x3_rc3::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc3::IfcWindowPanelProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1299]); } const IfcParse::entity& Ifc4x3_rc3::IfcWindowPanelProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1299]); } Ifc4x3_rc3::IfcWindowPanelProperties::IfcWindowPanelProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_rc3::IfcWindowPanelProperties::IfcWindowPanelProperties(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_rc3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x3_rc3::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc3::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc3::IfcWindowPanelProperties::IfcWindowPanelProperties(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_rc3::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_rc3::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x3_rc3::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc3::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc3::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcWindowStandardCase @@ -18015,137 +18015,137 @@ Ifc4x3_rc3::IfcWindowPanelProperties::IfcWindowPanelProperties(std::string v1_Gl const IfcParse::entity& Ifc4x3_rc3::IfcWindowStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1300]); } const IfcParse::entity& Ifc4x3_rc3::IfcWindowStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1300]); } Ifc4x3_rc3::IfcWindowStandardCase::IfcWindowStandardCase(IfcEntityInstanceData&& e) : IfcWindow(std::move(e)) { } -Ifc4x3_rc3::IfcWindowStandardCase::IfcWindowStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_rc3::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcWindow(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } +Ifc4x3_rc3::IfcWindowStandardCase::IfcWindowStandardCase(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_rc3::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_rc3::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_rc3::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcWindow(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } // Function implementations for IfcWindowStyle -::Ifc4x3_rc3::IfcWindowStyleConstructionEnum::Value Ifc4x3_rc3::IfcWindowStyle::ConstructionType() const { return ::Ifc4x3_rc3::IfcWindowStyleConstructionEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc3::IfcWindowStyleConstructionEnum::Value Ifc4x3_rc3::IfcWindowStyle::ConstructionType() const { return ::Ifc4x3_rc3::IfcWindowStyleConstructionEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcWindowStyle::setConstructionType(::Ifc4x3_rc3::IfcWindowStyleConstructionEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcWindowStyleConstructionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc3::IfcWindowStyleOperationEnum::Value Ifc4x3_rc3::IfcWindowStyle::OperationType() const { return ::Ifc4x3_rc3::IfcWindowStyleOperationEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcWindowStyleOperationEnum::Value Ifc4x3_rc3::IfcWindowStyle::OperationType() const { return ::Ifc4x3_rc3::IfcWindowStyleOperationEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcWindowStyle::setOperationType(::Ifc4x3_rc3::IfcWindowStyleOperationEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcWindowStyleOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -bool Ifc4x3_rc3::IfcWindowStyle::ParameterTakesPrecedence() const { bool v = data_.get_attribute_value(10); return v; } +bool Ifc4x3_rc3::IfcWindowStyle::ParameterTakesPrecedence() const { bool v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcWindowStyle::setParameterTakesPrecedence(bool v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -bool Ifc4x3_rc3::IfcWindowStyle::Sizeable() const { bool v = data_.get_attribute_value(11); return v; } +bool Ifc4x3_rc3::IfcWindowStyle::Sizeable() const { bool v = get_attribute_value(11); return v; } void Ifc4x3_rc3::IfcWindowStyle::setSizeable(bool v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc3::IfcWindowStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1301]); } const IfcParse::entity& Ifc4x3_rc3::IfcWindowStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1301]); } Ifc4x3_rc3::IfcWindowStyle::IfcWindowStyle(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(e)) { } -Ifc4x3_rc3::IfcWindowStyle::IfcWindowStyle(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc3::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x3_rc3::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcWindowStyleConstructionEnum::Class(),(size_t)v9_ConstructionType)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcWindowStyleOperationEnum::Class(),(size_t)v10_OperationType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; populate_derived(); } +Ifc4x3_rc3::IfcWindowStyle::IfcWindowStyle(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, ::Ifc4x3_rc3::IfcWindowStyleConstructionEnum::Value v9_ConstructionType, ::Ifc4x3_rc3::IfcWindowStyleOperationEnum::Value v10_OperationType, bool v11_ParameterTakesPrecedence, bool v12_Sizeable) : IfcTypeProduct(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcWindowStyleConstructionEnum::Class(),(size_t)v9_ConstructionType)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcWindowStyleOperationEnum::Class(),(size_t)v10_OperationType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; populate_derived(); } // Function implementations for IfcWindowType -::Ifc4x3_rc3::IfcWindowTypeEnum::Value Ifc4x3_rc3::IfcWindowType::PredefinedType() const { return ::Ifc4x3_rc3::IfcWindowTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc3::IfcWindowTypeEnum::Value Ifc4x3_rc3::IfcWindowType::PredefinedType() const { return ::Ifc4x3_rc3::IfcWindowTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc3::IfcWindowType::setPredefinedType(::Ifc4x3_rc3::IfcWindowTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc3::IfcWindowTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Value Ifc4x3_rc3::IfcWindowType::PartitioningType() const { return ::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Value Ifc4x3_rc3::IfcWindowType::PartitioningType() const { return ::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc3::IfcWindowType::setPartitioningType(::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } -boost::optional< bool > Ifc4x3_rc3::IfcWindowType::ParameterTakesPrecedence() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } bool v = data_.get_attribute_value(11); return v; } +boost::optional< bool > Ifc4x3_rc3::IfcWindowType::ParameterTakesPrecedence() const { if(get_attribute_value(11).isNull()) { return boost::none; } bool v = get_attribute_value(11); return v; } void Ifc4x3_rc3::IfcWindowType::setParameterTakesPrecedence(boost::optional< bool > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_rc3::IfcWindowType::UserDefinedPartitioningType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcWindowType::UserDefinedPartitioningType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc3::IfcWindowType::setUserDefinedPartitioningType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_rc3::IfcWindowType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1304]); } const IfcParse::entity& Ifc4x3_rc3::IfcWindowType::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1304]); } Ifc4x3_rc3::IfcWindowType::IfcWindowType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_rc3::IfcWindowType::IfcWindowType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } +Ifc4x3_rc3::IfcWindowType::IfcWindowType(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc3::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc3::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc3::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } // Function implementations for IfcWorkCalendar -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcWorkTime >::ptr > Ifc4x3_rc3::IfcWorkCalendar::WorkingTimes() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3_rc3::IfcWorkTime >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcWorkTime >::ptr > Ifc4x3_rc3::IfcWorkCalendar::WorkingTimes() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3_rc3::IfcWorkTime >(); } void Ifc4x3_rc3::IfcWorkCalendar::setWorkingTimes(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcWorkTime >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcWorkTime >::ptr > Ifc4x3_rc3::IfcWorkCalendar::ExceptionTimes() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc3::IfcWorkTime >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcWorkTime >::ptr > Ifc4x3_rc3::IfcWorkCalendar::ExceptionTimes() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc3::IfcWorkTime >(); } void Ifc4x3_rc3::IfcWorkCalendar::setExceptionTimes(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcWorkTime >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3_rc3::IfcWorkCalendarTypeEnum::Value > Ifc4x3_rc3::IfcWorkCalendar::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcWorkCalendarTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc3::IfcWorkCalendarTypeEnum::Value > Ifc4x3_rc3::IfcWorkCalendar::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcWorkCalendarTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc3::IfcWorkCalendar::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcWorkCalendarTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc3::IfcWorkCalendarTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcWorkCalendar::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1307]); } const IfcParse::entity& Ifc4x3_rc3::IfcWorkCalendar::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1307]); } Ifc4x3_rc3::IfcWorkCalendar::IfcWorkCalendar(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_rc3::IfcWorkCalendar::IfcWorkCalendar(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcWorkTime >::ptr > v7_WorkingTimes, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcWorkTime >::ptr > v8_ExceptionTimes, boost::optional< ::Ifc4x3_rc3::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, (*v7_WorkingTimes)->generalize()); } if (v8_ExceptionTimes) {set_attribute_value(7, (*v8_ExceptionTimes)->generalize()); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcWorkCalendar::IfcWorkCalendar(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcWorkTime >::ptr > v7_WorkingTimes, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcWorkTime >::ptr > v8_ExceptionTimes, boost::optional< ::Ifc4x3_rc3::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, (*v7_WorkingTimes)->generalize()); } if (v8_ExceptionTimes) {set_attribute_value(7, (*v8_ExceptionTimes)->generalize()); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc3::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWorkControl -std::string Ifc4x3_rc3::IfcWorkControl::CreationDate() const { std::string v = data_.get_attribute_value(6); return v; } +std::string Ifc4x3_rc3::IfcWorkControl::CreationDate() const { std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcWorkControl::setCreationDate(std::string v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPerson >::ptr > Ifc4x3_rc3::IfcWorkControl::Creators() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc3::IfcPerson >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPerson >::ptr > Ifc4x3_rc3::IfcWorkControl::Creators() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc3::IfcPerson >(); } void Ifc4x3_rc3::IfcWorkControl::setCreators(boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPerson >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc3::IfcWorkControl::Purpose() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcWorkControl::Purpose() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcWorkControl::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_rc3::IfcWorkControl::Duration() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcWorkControl::Duration() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc3::IfcWorkControl::setDuration(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x3_rc3::IfcWorkControl::TotalFloat() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcWorkControl::TotalFloat() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc3::IfcWorkControl::setTotalFloat(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -std::string Ifc4x3_rc3::IfcWorkControl::StartTime() const { std::string v = data_.get_attribute_value(11); return v; } +std::string Ifc4x3_rc3::IfcWorkControl::StartTime() const { std::string v = get_attribute_value(11); return v; } void Ifc4x3_rc3::IfcWorkControl::setStartTime(std::string v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } -boost::optional< std::string > Ifc4x3_rc3::IfcWorkControl::FinishTime() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcWorkControl::FinishTime() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc3::IfcWorkControl::setFinishTime(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_rc3::IfcWorkControl::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1309]); } const IfcParse::entity& Ifc4x3_rc3::IfcWorkControl::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1309]); } Ifc4x3_rc3::IfcWorkControl::IfcWorkControl(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_rc3::IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime) : IfcControl(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); }; populate_derived(); } +Ifc4x3_rc3::IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); }; populate_derived(); } // Function implementations for IfcWorkPlan -boost::optional< ::Ifc4x3_rc3::IfcWorkPlanTypeEnum::Value > Ifc4x3_rc3::IfcWorkPlan::PredefinedType() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcWorkPlanTypeEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x3_rc3::IfcWorkPlanTypeEnum::Value > Ifc4x3_rc3::IfcWorkPlan::PredefinedType() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcWorkPlanTypeEnum::FromString(get_attribute_value(13)); } void Ifc4x3_rc3::IfcWorkPlan::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcWorkPlanTypeEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x3_rc3::IfcWorkPlanTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } const IfcParse::entity& Ifc4x3_rc3::IfcWorkPlan::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1310]); } const IfcParse::entity& Ifc4x3_rc3::IfcWorkPlan::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1310]); } Ifc4x3_rc3::IfcWorkPlan::IfcWorkPlan(IfcEntityInstanceData&& e) : IfcWorkControl(std::move(e)) { } -Ifc4x3_rc3::IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< ::Ifc4x3_rc3::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_rc3::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< ::Ifc4x3_rc3::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_rc3::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWorkSchedule -boost::optional< ::Ifc4x3_rc3::IfcWorkScheduleTypeEnum::Value > Ifc4x3_rc3::IfcWorkSchedule::PredefinedType() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcWorkScheduleTypeEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x3_rc3::IfcWorkScheduleTypeEnum::Value > Ifc4x3_rc3::IfcWorkSchedule::PredefinedType() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_rc3::IfcWorkScheduleTypeEnum::FromString(get_attribute_value(13)); } void Ifc4x3_rc3::IfcWorkSchedule::setPredefinedType(boost::optional< ::Ifc4x3_rc3::IfcWorkScheduleTypeEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x3_rc3::IfcWorkScheduleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } const IfcParse::entity& Ifc4x3_rc3::IfcWorkSchedule::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1312]); } const IfcParse::entity& Ifc4x3_rc3::IfcWorkSchedule::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1312]); } Ifc4x3_rc3::IfcWorkSchedule::IfcWorkSchedule(IfcEntityInstanceData&& e) : IfcWorkControl(std::move(e)) { } -Ifc4x3_rc3::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< ::Ifc4x3_rc3::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_rc3::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc3::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_Identification, std::string v7_CreationDate, boost::optional< aggregate_of< ::Ifc4x3_rc3::IfcPerson >::ptr > v8_Creators, boost::optional< std::string > v9_Purpose, boost::optional< std::string > v10_Duration, boost::optional< std::string > v11_TotalFloat, std::string v12_StartTime, boost::optional< std::string > v13_FinishTime, boost::optional< ::Ifc4x3_rc3::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_rc3::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWorkTime -::Ifc4x3_rc3::IfcRecurrencePattern* Ifc4x3_rc3::IfcWorkTime::RecurrencePattern() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcRecurrencePattern>(true); } +::Ifc4x3_rc3::IfcRecurrencePattern* Ifc4x3_rc3::IfcWorkTime::RecurrencePattern() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc3::IfcRecurrencePattern>(true); } void Ifc4x3_rc3::IfcWorkTime::setRecurrencePattern(::Ifc4x3_rc3::IfcRecurrencePattern* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc3::IfcWorkTime::Start() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcWorkTime::Start() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcWorkTime::setStart(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc3::IfcWorkTime::Finish() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcWorkTime::Finish() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcWorkTime::setFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_rc3::IfcWorkTime::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1314]); } const IfcParse::entity& Ifc4x3_rc3::IfcWorkTime::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1314]); } Ifc4x3_rc3::IfcWorkTime::IfcWorkTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x3_rc3::IfcWorkTime::IfcWorkTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc3::IfcRecurrencePattern* v4_RecurrencePattern, boost::optional< std::string > v5_Start, boost::optional< std::string > v6_Finish) : IfcSchedulingTime(IfcEntityInstanceData(storage_t(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_RecurrencePattern ? v4_RecurrencePattern->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Start) {set_attribute_value(4, (*v5_Start)); } if (v6_Finish) {set_attribute_value(5, (*v6_Finish)); }; populate_derived(); } +Ifc4x3_rc3::IfcWorkTime::IfcWorkTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc3::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_rc3::IfcRecurrencePattern* v4_RecurrencePattern, boost::optional< std::string > v5_Start, boost::optional< std::string > v6_Finish) : IfcSchedulingTime(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc3::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_RecurrencePattern ? v4_RecurrencePattern->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Start) {set_attribute_value(4, (*v5_Start)); } if (v6_Finish) {set_attribute_value(5, (*v6_Finish)); }; populate_derived(); } // Function implementations for IfcZShapeProfileDef -double Ifc4x3_rc3::IfcZShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc3::IfcZShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc3::IfcZShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc3::IfcZShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc3::IfcZShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc3::IfcZShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc3::IfcZShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc3::IfcZShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcZShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc3::IfcZShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc3::IfcZShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc3::IfcZShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc3::IfcZShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc3::IfcZShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc3::IfcZShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc3::IfcZShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc3::IfcZShapeProfileDef::EdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc3::IfcZShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc3::IfcZShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1316]); } const IfcParse::entity& Ifc4x3_rc3::IfcZShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1316]); } Ifc4x3_rc3::IfcZShapeProfileDef::IfcZShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_rc3::IfcZShapeProfileDef::IfcZShapeProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::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(storage_t(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; populate_derived(); } +Ifc4x3_rc3::IfcZShapeProfileDef::IfcZShapeProfileDef(::Ifc4x3_rc3::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc3::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(in_memory_attribute_storage(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc3::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; populate_derived(); } // Function implementations for IfcZone -boost::optional< std::string > Ifc4x3_rc3::IfcZone::LongName() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc3::IfcZone::LongName() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc3::IfcZone::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_rc3::IfcZone::declaration() const { return *((IfcParse::entity*)IFC4X3_RC3_types[1315]); } const IfcParse::entity& Ifc4x3_rc3::IfcZone::Class() { return *((IfcParse::entity*)IFC4X3_RC3_types[1315]); } Ifc4x3_rc3::IfcZone::IfcZone(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3_rc3::IfcZone::IfcZone(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName) : IfcSystem(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); }; populate_derived(); } +Ifc4x3_rc3::IfcZone::IfcZone(std::string v1_GlobalId, ::Ifc4x3_rc3::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< std::string > v6_LongName) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); }; populate_derived(); } diff --git a/src/ifcparse/Ifc4x3_rc4.cpp b/src/ifcparse/Ifc4x3_rc4.cpp index 34ca06eff5..3c23bc2ea5 100644 --- a/src/ifcparse/Ifc4x3_rc4.cpp +++ b/src/ifcparse/Ifc4x3_rc4.cpp @@ -63,7 +63,7 @@ Ifc4x3_rc4::IfcActionRequestTypeEnum::Value Ifc4x3_rc4::IfcActionRequestTypeEnum } Ifc4x3_rc4::IfcActionRequestTypeEnum::operator Ifc4x3_rc4::IfcActionRequestTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcActionRequestTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcActionRequestTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcActionSourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[4]); } @@ -90,7 +90,7 @@ Ifc4x3_rc4::IfcActionSourceTypeEnum::Value Ifc4x3_rc4::IfcActionSourceTypeEnum:: } Ifc4x3_rc4::IfcActionSourceTypeEnum::operator Ifc4x3_rc4::IfcActionSourceTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcActionSourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcActionSourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcActionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[5]); } @@ -117,7 +117,7 @@ Ifc4x3_rc4::IfcActionTypeEnum::Value Ifc4x3_rc4::IfcActionTypeEnum::FromString(c } Ifc4x3_rc4::IfcActionTypeEnum::operator Ifc4x3_rc4::IfcActionTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcActionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcActionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcActuatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[11]); } @@ -144,7 +144,7 @@ Ifc4x3_rc4::IfcActuatorTypeEnum::Value Ifc4x3_rc4::IfcActuatorTypeEnum::FromStri } Ifc4x3_rc4::IfcActuatorTypeEnum::operator Ifc4x3_rc4::IfcActuatorTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcActuatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcActuatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcAddressTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[13]); } @@ -171,7 +171,7 @@ Ifc4x3_rc4::IfcAddressTypeEnum::Value Ifc4x3_rc4::IfcAddressTypeEnum::FromString } Ifc4x3_rc4::IfcAddressTypeEnum::operator Ifc4x3_rc4::IfcAddressTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcAddressTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcAddressTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[20]); } @@ -198,7 +198,7 @@ Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value Ifc4x3_rc4::IfcAirTerminalBoxTypeEn } Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::operator Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcAirTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[22]); } @@ -225,7 +225,7 @@ Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value Ifc4x3_rc4::IfcAirTerminalTypeEnum::Fr } Ifc4x3_rc4::IfcAirTerminalTypeEnum::operator Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[25]); } @@ -252,7 +252,7 @@ Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3_rc4::IfcAirToAirHeatRe } Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::operator Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcAlarmTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[28]); } @@ -279,7 +279,7 @@ Ifc4x3_rc4::IfcAlarmTypeEnum::Value Ifc4x3_rc4::IfcAlarmTypeEnum::FromString(con } Ifc4x3_rc4::IfcAlarmTypeEnum::operator Ifc4x3_rc4::IfcAlarmTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcAlarmTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcAlarmTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[32]); } @@ -306,7 +306,7 @@ Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::Value Ifc4x3_rc4::IfcAlignmentCantS } Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::operator Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[35]); } @@ -333,7 +333,7 @@ Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::Value Ifc4x3_rc4::IfcAlignmen } Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::operator Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcAlignmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[38]); } @@ -360,7 +360,7 @@ Ifc4x3_rc4::IfcAlignmentTypeEnum::Value Ifc4x3_rc4::IfcAlignmentTypeEnum::FromSt } Ifc4x3_rc4::IfcAlignmentTypeEnum::operator Ifc4x3_rc4::IfcAlignmentTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcAlignmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcAlignmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[41]); } @@ -387,7 +387,7 @@ Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::Value Ifc4x3_rc4::IfcAlignmentV } Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::operator Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcAnalysisModelTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[43]); } @@ -414,7 +414,7 @@ Ifc4x3_rc4::IfcAnalysisModelTypeEnum::Value Ifc4x3_rc4::IfcAnalysisModelTypeEnum } Ifc4x3_rc4::IfcAnalysisModelTypeEnum::operator Ifc4x3_rc4::IfcAnalysisModelTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcAnalysisModelTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcAnalysisModelTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[44]); } @@ -441,7 +441,7 @@ Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_rc4::IfcAnalysisTheoryTypeEn } Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::operator Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcAnnotationTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[48]); } @@ -468,7 +468,7 @@ Ifc4x3_rc4::IfcAnnotationTypeEnum::Value Ifc4x3_rc4::IfcAnnotationTypeEnum::From } Ifc4x3_rc4::IfcAnnotationTypeEnum::operator Ifc4x3_rc4::IfcAnnotationTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcAnnotationTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcAnnotationTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcArithmeticOperatorEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[60]); } @@ -495,7 +495,7 @@ Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value Ifc4x3_rc4::IfcArithmeticOperatorEn } Ifc4x3_rc4::IfcArithmeticOperatorEnum::operator Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value() const { - return (Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcAssemblyPlaceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[61]); } @@ -522,7 +522,7 @@ Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value Ifc4x3_rc4::IfcAssemblyPlaceEnum::FromSt } Ifc4x3_rc4::IfcAssemblyPlaceEnum::operator Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value() const { - return (Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[66]); } @@ -549,7 +549,7 @@ Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3_rc4::IfcAudioVisualApp } Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::operator Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcBSplineCurveForm::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[109]); } @@ -576,7 +576,7 @@ Ifc4x3_rc4::IfcBSplineCurveForm::Value Ifc4x3_rc4::IfcBSplineCurveForm::FromStri } Ifc4x3_rc4::IfcBSplineCurveForm::operator Ifc4x3_rc4::IfcBSplineCurveForm::Value() const { - return (Ifc4x3_rc4::IfcBSplineCurveForm::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcBSplineCurveForm::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcBSplineSurfaceForm::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[112]); } @@ -603,7 +603,7 @@ Ifc4x3_rc4::IfcBSplineSurfaceForm::Value Ifc4x3_rc4::IfcBSplineSurfaceForm::From } Ifc4x3_rc4::IfcBSplineSurfaceForm::operator Ifc4x3_rc4::IfcBSplineSurfaceForm::Value() const { - return (Ifc4x3_rc4::IfcBSplineSurfaceForm::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcBSplineSurfaceForm::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcBeamTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[75]); } @@ -630,7 +630,7 @@ Ifc4x3_rc4::IfcBeamTypeEnum::Value Ifc4x3_rc4::IfcBeamTypeEnum::FromString(const } Ifc4x3_rc4::IfcBeamTypeEnum::operator Ifc4x3_rc4::IfcBeamTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcBeamTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcBeamTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcBearingTypeDisplacementEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[78]); } @@ -657,7 +657,7 @@ Ifc4x3_rc4::IfcBearingTypeDisplacementEnum::Value Ifc4x3_rc4::IfcBearingTypeDisp } Ifc4x3_rc4::IfcBearingTypeDisplacementEnum::operator Ifc4x3_rc4::IfcBearingTypeDisplacementEnum::Value() const { - return (Ifc4x3_rc4::IfcBearingTypeDisplacementEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcBearingTypeDisplacementEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcBearingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[79]); } @@ -684,7 +684,7 @@ Ifc4x3_rc4::IfcBearingTypeEnum::Value Ifc4x3_rc4::IfcBearingTypeEnum::FromString } Ifc4x3_rc4::IfcBearingTypeEnum::operator Ifc4x3_rc4::IfcBearingTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcBearingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcBearingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcBenchmarkEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[80]); } @@ -711,7 +711,7 @@ Ifc4x3_rc4::IfcBenchmarkEnum::Value Ifc4x3_rc4::IfcBenchmarkEnum::FromString(con } Ifc4x3_rc4::IfcBenchmarkEnum::operator Ifc4x3_rc4::IfcBenchmarkEnum::Value() const { - return (Ifc4x3_rc4::IfcBenchmarkEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcBenchmarkEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcBoilerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[87]); } @@ -738,7 +738,7 @@ Ifc4x3_rc4::IfcBoilerTypeEnum::Value Ifc4x3_rc4::IfcBoilerTypeEnum::FromString(c } Ifc4x3_rc4::IfcBoilerTypeEnum::operator Ifc4x3_rc4::IfcBoilerTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcBoilerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcBoilerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcBooleanOperator::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[91]); } @@ -765,7 +765,7 @@ Ifc4x3_rc4::IfcBooleanOperator::Value Ifc4x3_rc4::IfcBooleanOperator::FromString } Ifc4x3_rc4::IfcBooleanOperator::operator Ifc4x3_rc4::IfcBooleanOperator::Value() const { - return (Ifc4x3_rc4::IfcBooleanOperator::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcBooleanOperator::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcBridgePartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[106]); } @@ -792,7 +792,7 @@ Ifc4x3_rc4::IfcBridgePartTypeEnum::Value Ifc4x3_rc4::IfcBridgePartTypeEnum::From } Ifc4x3_rc4::IfcBridgePartTypeEnum::operator Ifc4x3_rc4::IfcBridgePartTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcBridgePartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcBridgePartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcBridgeTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[107]); } @@ -819,7 +819,7 @@ Ifc4x3_rc4::IfcBridgeTypeEnum::Value Ifc4x3_rc4::IfcBridgeTypeEnum::FromString(c } Ifc4x3_rc4::IfcBridgeTypeEnum::operator Ifc4x3_rc4::IfcBridgeTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcBridgeTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcBridgeTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[117]); } @@ -846,7 +846,7 @@ Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value Ifc4x3_rc4::IfcBuildingElement } Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::operator Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[120]); } @@ -873,7 +873,7 @@ Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value Ifc4x3_rc4::IfcBuildingElemen } Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::operator Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcBuildingSystemTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[123]); } @@ -900,7 +900,7 @@ Ifc4x3_rc4::IfcBuildingSystemTypeEnum::Value Ifc4x3_rc4::IfcBuildingSystemTypeEn } Ifc4x3_rc4::IfcBuildingSystemTypeEnum::operator Ifc4x3_rc4::IfcBuildingSystemTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcBuildingSystemTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcBuildingSystemTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcBuiltSystemTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[127]); } @@ -927,7 +927,7 @@ Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Value Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Fr } Ifc4x3_rc4::IfcBuiltSystemTypeEnum::operator Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcBurnerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[130]); } @@ -954,7 +954,7 @@ Ifc4x3_rc4::IfcBurnerTypeEnum::Value Ifc4x3_rc4::IfcBurnerTypeEnum::FromString(c } Ifc4x3_rc4::IfcBurnerTypeEnum::operator Ifc4x3_rc4::IfcBurnerTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcBurnerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcBurnerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[133]); } @@ -981,7 +981,7 @@ Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value Ifc4x3_rc4::IfcCableCarrierFit } Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::operator Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[136]); } @@ -1008,7 +1008,7 @@ Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3_rc4::IfcCableCarrierSeg } Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::operator Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcCableFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[139]); } @@ -1035,7 +1035,7 @@ Ifc4x3_rc4::IfcCableFittingTypeEnum::Value Ifc4x3_rc4::IfcCableFittingTypeEnum:: } Ifc4x3_rc4::IfcCableFittingTypeEnum::operator Ifc4x3_rc4::IfcCableFittingTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcCableFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcCableFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcCableSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[142]); } @@ -1062,7 +1062,7 @@ Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value Ifc4x3_rc4::IfcCableSegmentTypeEnum:: } Ifc4x3_rc4::IfcCableSegmentTypeEnum::operator Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[145]); } @@ -1089,7 +1089,7 @@ Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value Ifc4x3_rc4::IfcCaissonFoundation } Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::operator Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcChangeActionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[157]); } @@ -1116,7 +1116,7 @@ Ifc4x3_rc4::IfcChangeActionEnum::Value Ifc4x3_rc4::IfcChangeActionEnum::FromStri } Ifc4x3_rc4::IfcChangeActionEnum::operator Ifc4x3_rc4::IfcChangeActionEnum::Value() const { - return (Ifc4x3_rc4::IfcChangeActionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcChangeActionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcChillerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[160]); } @@ -1143,7 +1143,7 @@ Ifc4x3_rc4::IfcChillerTypeEnum::Value Ifc4x3_rc4::IfcChillerTypeEnum::FromString } Ifc4x3_rc4::IfcChillerTypeEnum::operator Ifc4x3_rc4::IfcChillerTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcChillerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcChillerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcChimneyTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[163]); } @@ -1170,7 +1170,7 @@ Ifc4x3_rc4::IfcChimneyTypeEnum::Value Ifc4x3_rc4::IfcChimneyTypeEnum::FromString } Ifc4x3_rc4::IfcChimneyTypeEnum::operator Ifc4x3_rc4::IfcChimneyTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcChimneyTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcChimneyTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcCoilTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[177]); } @@ -1197,7 +1197,7 @@ Ifc4x3_rc4::IfcCoilTypeEnum::Value Ifc4x3_rc4::IfcCoilTypeEnum::FromString(const } Ifc4x3_rc4::IfcCoilTypeEnum::operator Ifc4x3_rc4::IfcCoilTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcCoilTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcCoilTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcColumnTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[186]); } @@ -1224,7 +1224,7 @@ Ifc4x3_rc4::IfcColumnTypeEnum::Value Ifc4x3_rc4::IfcColumnTypeEnum::FromString(c } Ifc4x3_rc4::IfcColumnTypeEnum::operator Ifc4x3_rc4::IfcColumnTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcColumnTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcColumnTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[189]); } @@ -1251,7 +1251,7 @@ Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3_rc4::IfcCommunicati } Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::operator Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[193]); } @@ -1278,7 +1278,7 @@ Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::Value Ifc4x3_rc4::IfcComplexProp } Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::operator Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcCompressorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[201]); } @@ -1305,7 +1305,7 @@ Ifc4x3_rc4::IfcCompressorTypeEnum::Value Ifc4x3_rc4::IfcCompressorTypeEnum::From } Ifc4x3_rc4::IfcCompressorTypeEnum::operator Ifc4x3_rc4::IfcCompressorTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcCompressorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcCompressorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcCondenserTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[204]); } @@ -1332,7 +1332,7 @@ Ifc4x3_rc4::IfcCondenserTypeEnum::Value Ifc4x3_rc4::IfcCondenserTypeEnum::FromSt } Ifc4x3_rc4::IfcCondenserTypeEnum::operator Ifc4x3_rc4::IfcCondenserTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcCondenserTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcCondenserTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcConnectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[212]); } @@ -1359,7 +1359,7 @@ Ifc4x3_rc4::IfcConnectionTypeEnum::Value Ifc4x3_rc4::IfcConnectionTypeEnum::From } Ifc4x3_rc4::IfcConnectionTypeEnum::operator Ifc4x3_rc4::IfcConnectionTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcConnectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcConnectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcConstraintEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[215]); } @@ -1386,7 +1386,7 @@ Ifc4x3_rc4::IfcConstraintEnum::Value Ifc4x3_rc4::IfcConstraintEnum::FromString(c } Ifc4x3_rc4::IfcConstraintEnum::operator Ifc4x3_rc4::IfcConstraintEnum::Value() const { - return (Ifc4x3_rc4::IfcConstraintEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcConstraintEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[218]); } @@ -1413,7 +1413,7 @@ Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3_rc4::IfcConst } Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::operator Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[221]); } @@ -1440,7 +1440,7 @@ Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3_rc4::IfcConstr } Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::operator Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[224]); } @@ -1467,7 +1467,7 @@ Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value Ifc4x3_rc4::IfcConstru } Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::operator Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcControllerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[233]); } @@ -1494,7 +1494,7 @@ Ifc4x3_rc4::IfcControllerTypeEnum::Value Ifc4x3_rc4::IfcControllerTypeEnum::From } Ifc4x3_rc4::IfcControllerTypeEnum::operator Ifc4x3_rc4::IfcControllerTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcControllerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcControllerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[238]); } @@ -1521,7 +1521,7 @@ Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value Ifc4x3_rc4::IfcConveyorSegmentType } Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::operator Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcCooledBeamTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[241]); } @@ -1548,7 +1548,7 @@ Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value Ifc4x3_rc4::IfcCooledBeamTypeEnum::From } Ifc4x3_rc4::IfcCooledBeamTypeEnum::operator Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcCoolingTowerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[244]); } @@ -1575,7 +1575,7 @@ Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value Ifc4x3_rc4::IfcCoolingTowerTypeEnum:: } Ifc4x3_rc4::IfcCoolingTowerTypeEnum::operator Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcCostItemTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[250]); } @@ -1602,7 +1602,7 @@ Ifc4x3_rc4::IfcCostItemTypeEnum::Value Ifc4x3_rc4::IfcCostItemTypeEnum::FromStri } Ifc4x3_rc4::IfcCostItemTypeEnum::operator Ifc4x3_rc4::IfcCostItemTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcCostItemTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcCostItemTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcCostScheduleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[252]); } @@ -1629,7 +1629,7 @@ Ifc4x3_rc4::IfcCostScheduleTypeEnum::Value Ifc4x3_rc4::IfcCostScheduleTypeEnum:: } Ifc4x3_rc4::IfcCostScheduleTypeEnum::operator Ifc4x3_rc4::IfcCostScheduleTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcCostScheduleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcCostScheduleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcCourseTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[257]); } @@ -1656,7 +1656,7 @@ Ifc4x3_rc4::IfcCourseTypeEnum::Value Ifc4x3_rc4::IfcCourseTypeEnum::FromString(c } Ifc4x3_rc4::IfcCourseTypeEnum::operator Ifc4x3_rc4::IfcCourseTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcCourseTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcCourseTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcCoveringTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[260]); } @@ -1683,7 +1683,7 @@ Ifc4x3_rc4::IfcCoveringTypeEnum::Value Ifc4x3_rc4::IfcCoveringTypeEnum::FromStri } Ifc4x3_rc4::IfcCoveringTypeEnum::operator Ifc4x3_rc4::IfcCoveringTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcCoveringTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcCoveringTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcCrewResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[263]); } @@ -1710,7 +1710,7 @@ Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value Ifc4x3_rc4::IfcCrewResourceTypeEnum:: } Ifc4x3_rc4::IfcCrewResourceTypeEnum::operator Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcCurtainWallTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[271]); } @@ -1737,7 +1737,7 @@ Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value Ifc4x3_rc4::IfcCurtainWallTypeEnum::Fr } Ifc4x3_rc4::IfcCurtainWallTypeEnum::operator Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcCurveInterpolationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[277]); } @@ -1764,7 +1764,7 @@ Ifc4x3_rc4::IfcCurveInterpolationEnum::Value Ifc4x3_rc4::IfcCurveInterpolationEn } Ifc4x3_rc4::IfcCurveInterpolationEnum::operator Ifc4x3_rc4::IfcCurveInterpolationEnum::Value() const { - return (Ifc4x3_rc4::IfcCurveInterpolationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcCurveInterpolationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcDamperTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[290]); } @@ -1791,7 +1791,7 @@ Ifc4x3_rc4::IfcDamperTypeEnum::Value Ifc4x3_rc4::IfcDamperTypeEnum::FromString(c } Ifc4x3_rc4::IfcDamperTypeEnum::operator Ifc4x3_rc4::IfcDamperTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcDamperTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcDamperTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcDataOriginEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[291]); } @@ -1818,7 +1818,7 @@ Ifc4x3_rc4::IfcDataOriginEnum::Value Ifc4x3_rc4::IfcDataOriginEnum::FromString(c } Ifc4x3_rc4::IfcDataOriginEnum::operator Ifc4x3_rc4::IfcDataOriginEnum::Value() const { - return (Ifc4x3_rc4::IfcDataOriginEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcDataOriginEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcDerivedUnitEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[303]); } @@ -1845,7 +1845,7 @@ Ifc4x3_rc4::IfcDerivedUnitEnum::Value Ifc4x3_rc4::IfcDerivedUnitEnum::FromString } Ifc4x3_rc4::IfcDerivedUnitEnum::operator Ifc4x3_rc4::IfcDerivedUnitEnum::Value() const { - return (Ifc4x3_rc4::IfcDerivedUnitEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcDerivedUnitEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcDirectionSenseEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[308]); } @@ -1872,7 +1872,7 @@ Ifc4x3_rc4::IfcDirectionSenseEnum::Value Ifc4x3_rc4::IfcDirectionSenseEnum::From } Ifc4x3_rc4::IfcDirectionSenseEnum::operator Ifc4x3_rc4::IfcDirectionSenseEnum::Value() const { - return (Ifc4x3_rc4::IfcDirectionSenseEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcDirectionSenseEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[313]); } @@ -1899,7 +1899,7 @@ Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3_rc4::IfcDiscreteAccessory } Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::operator Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcDistributionBoardTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[316]); } @@ -1926,7 +1926,7 @@ Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value Ifc4x3_rc4::IfcDistributionBoard } Ifc4x3_rc4::IfcDistributionBoardTypeEnum::operator Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[319]); } @@ -1953,7 +1953,7 @@ Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value Ifc4x3_rc4::IfcDistribu } Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::operator Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcDistributionPortTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[328]); } @@ -1980,7 +1980,7 @@ Ifc4x3_rc4::IfcDistributionPortTypeEnum::Value Ifc4x3_rc4::IfcDistributionPortTy } Ifc4x3_rc4::IfcDistributionPortTypeEnum::operator Ifc4x3_rc4::IfcDistributionPortTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcDistributionPortTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcDistributionPortTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcDistributionSystemEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[330]); } @@ -2007,7 +2007,7 @@ Ifc4x3_rc4::IfcDistributionSystemEnum::Value Ifc4x3_rc4::IfcDistributionSystemEn } Ifc4x3_rc4::IfcDistributionSystemEnum::operator Ifc4x3_rc4::IfcDistributionSystemEnum::Value() const { - return (Ifc4x3_rc4::IfcDistributionSystemEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcDistributionSystemEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcDocumentConfidentialityEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[331]); } @@ -2034,7 +2034,7 @@ Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Value Ifc4x3_rc4::IfcDocumentConfide } Ifc4x3_rc4::IfcDocumentConfidentialityEnum::operator Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Value() const { - return (Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcDocumentStatusEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[336]); } @@ -2061,7 +2061,7 @@ Ifc4x3_rc4::IfcDocumentStatusEnum::Value Ifc4x3_rc4::IfcDocumentStatusEnum::From } Ifc4x3_rc4::IfcDocumentStatusEnum::operator Ifc4x3_rc4::IfcDocumentStatusEnum::Value() const { - return (Ifc4x3_rc4::IfcDocumentStatusEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcDocumentStatusEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcDoorPanelOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[339]); } @@ -2088,7 +2088,7 @@ Ifc4x3_rc4::IfcDoorPanelOperationEnum::Value Ifc4x3_rc4::IfcDoorPanelOperationEn } Ifc4x3_rc4::IfcDoorPanelOperationEnum::operator Ifc4x3_rc4::IfcDoorPanelOperationEnum::Value() const { - return (Ifc4x3_rc4::IfcDoorPanelOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcDoorPanelOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcDoorPanelPositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[340]); } @@ -2115,7 +2115,7 @@ Ifc4x3_rc4::IfcDoorPanelPositionEnum::Value Ifc4x3_rc4::IfcDoorPanelPositionEnum } Ifc4x3_rc4::IfcDoorPanelPositionEnum::operator Ifc4x3_rc4::IfcDoorPanelPositionEnum::Value() const { - return (Ifc4x3_rc4::IfcDoorPanelPositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcDoorPanelPositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcDoorStyleConstructionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[344]); } @@ -2142,7 +2142,7 @@ Ifc4x3_rc4::IfcDoorStyleConstructionEnum::Value Ifc4x3_rc4::IfcDoorStyleConstruc } Ifc4x3_rc4::IfcDoorStyleConstructionEnum::operator Ifc4x3_rc4::IfcDoorStyleConstructionEnum::Value() const { - return (Ifc4x3_rc4::IfcDoorStyleConstructionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcDoorStyleConstructionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcDoorStyleOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[345]); } @@ -2169,7 +2169,7 @@ Ifc4x3_rc4::IfcDoorStyleOperationEnum::Value Ifc4x3_rc4::IfcDoorStyleOperationEn } Ifc4x3_rc4::IfcDoorStyleOperationEnum::operator Ifc4x3_rc4::IfcDoorStyleOperationEnum::Value() const { - return (Ifc4x3_rc4::IfcDoorStyleOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcDoorStyleOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcDoorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[347]); } @@ -2196,7 +2196,7 @@ Ifc4x3_rc4::IfcDoorTypeEnum::Value Ifc4x3_rc4::IfcDoorTypeEnum::FromString(const } Ifc4x3_rc4::IfcDoorTypeEnum::operator Ifc4x3_rc4::IfcDoorTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcDoorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcDoorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcDoorTypeOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[348]); } @@ -2223,7 +2223,7 @@ Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value Ifc4x3_rc4::IfcDoorTypeOperationEnum } Ifc4x3_rc4::IfcDoorTypeOperationEnum::operator Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value() const { - return (Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcDuctFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[354]); } @@ -2250,7 +2250,7 @@ Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value Ifc4x3_rc4::IfcDuctFittingTypeEnum::Fr } Ifc4x3_rc4::IfcDuctFittingTypeEnum::operator Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcDuctSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[357]); } @@ -2277,7 +2277,7 @@ Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Fr } Ifc4x3_rc4::IfcDuctSegmentTypeEnum::operator Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcDuctSilencerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[360]); } @@ -2304,7 +2304,7 @@ Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value Ifc4x3_rc4::IfcDuctSilencerTypeEnum:: } Ifc4x3_rc4::IfcDuctSilencerTypeEnum::operator Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcEarthworksCutTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[364]); } @@ -2331,7 +2331,7 @@ Ifc4x3_rc4::IfcEarthworksCutTypeEnum::Value Ifc4x3_rc4::IfcEarthworksCutTypeEnum } Ifc4x3_rc4::IfcEarthworksCutTypeEnum::operator Ifc4x3_rc4::IfcEarthworksCutTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcEarthworksCutTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcEarthworksCutTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcEarthworksFillTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[367]); } @@ -2358,7 +2358,7 @@ Ifc4x3_rc4::IfcEarthworksFillTypeEnum::Value Ifc4x3_rc4::IfcEarthworksFillTypeEn } Ifc4x3_rc4::IfcEarthworksFillTypeEnum::operator Ifc4x3_rc4::IfcEarthworksFillTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcEarthworksFillTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcEarthworksFillTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcElectricApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[373]); } @@ -2385,7 +2385,7 @@ Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value Ifc4x3_rc4::IfcElectricAppliance } Ifc4x3_rc4::IfcElectricApplianceTypeEnum::operator Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[380]); } @@ -2412,7 +2412,7 @@ Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3_rc4::IfcElectricD } Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::operator Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[383]); } @@ -2439,7 +2439,7 @@ Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3_rc4::IfcElectricF } Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::operator Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[386]); } @@ -2466,7 +2466,7 @@ Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3_rc4::IfcElectri } Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::operator Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[389]); } @@ -2493,7 +2493,7 @@ Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value Ifc4x3_rc4::IfcElectricGenerator } Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::operator Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcElectricMotorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[392]); } @@ -2520,7 +2520,7 @@ Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value Ifc4x3_rc4::IfcElectricMotorTypeEnum } Ifc4x3_rc4::IfcElectricMotorTypeEnum::operator Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[396]); } @@ -2547,7 +2547,7 @@ Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value Ifc4x3_rc4::IfcElectricTimeCon } Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::operator Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcElementAssemblyTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[402]); } @@ -2574,7 +2574,7 @@ Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value Ifc4x3_rc4::IfcElementAssemblyType } Ifc4x3_rc4::IfcElementAssemblyTypeEnum::operator Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcElementCompositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[405]); } @@ -2601,7 +2601,7 @@ Ifc4x3_rc4::IfcElementCompositionEnum::Value Ifc4x3_rc4::IfcElementCompositionEn } Ifc4x3_rc4::IfcElementCompositionEnum::operator Ifc4x3_rc4::IfcElementCompositionEnum::Value() const { - return (Ifc4x3_rc4::IfcElementCompositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcElementCompositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcEngineTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[415]); } @@ -2628,7 +2628,7 @@ Ifc4x3_rc4::IfcEngineTypeEnum::Value Ifc4x3_rc4::IfcEngineTypeEnum::FromString(c } Ifc4x3_rc4::IfcEngineTypeEnum::operator Ifc4x3_rc4::IfcEngineTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcEngineTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcEngineTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[418]); } @@ -2655,7 +2655,7 @@ Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3_rc4::IfcEvaporativeCooler } Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::operator Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcEvaporatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[421]); } @@ -2682,7 +2682,7 @@ Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value Ifc4x3_rc4::IfcEvaporatorTypeEnum::From } Ifc4x3_rc4::IfcEvaporatorTypeEnum::operator Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcEventTriggerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[424]); } @@ -2709,7 +2709,7 @@ Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value Ifc4x3_rc4::IfcEventTriggerTypeEnum:: } Ifc4x3_rc4::IfcEventTriggerTypeEnum::operator Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcEventTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[426]); } @@ -2736,7 +2736,7 @@ Ifc4x3_rc4::IfcEventTypeEnum::Value Ifc4x3_rc4::IfcEventTypeEnum::FromString(con } Ifc4x3_rc4::IfcEventTypeEnum::operator Ifc4x3_rc4::IfcEventTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcEventTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcEventTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[435]); } @@ -2763,7 +2763,7 @@ Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::Value Ifc4x3_rc4::IfcExternalSpat } Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::operator Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcFacilityPartCommonTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[448]); } @@ -2790,7 +2790,7 @@ Ifc4x3_rc4::IfcFacilityPartCommonTypeEnum::Value Ifc4x3_rc4::IfcFacilityPartComm } Ifc4x3_rc4::IfcFacilityPartCommonTypeEnum::operator Ifc4x3_rc4::IfcFacilityPartCommonTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcFacilityPartCommonTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcFacilityPartCommonTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcFacilityUsageEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[450]); } @@ -2817,7 +2817,7 @@ Ifc4x3_rc4::IfcFacilityUsageEnum::Value Ifc4x3_rc4::IfcFacilityUsageEnum::FromSt } Ifc4x3_rc4::IfcFacilityUsageEnum::operator Ifc4x3_rc4::IfcFacilityUsageEnum::Value() const { - return (Ifc4x3_rc4::IfcFacilityUsageEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcFacilityUsageEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcFanTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[454]); } @@ -2844,7 +2844,7 @@ Ifc4x3_rc4::IfcFanTypeEnum::Value Ifc4x3_rc4::IfcFanTypeEnum::FromString(const s } Ifc4x3_rc4::IfcFanTypeEnum::operator Ifc4x3_rc4::IfcFanTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcFanTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcFanTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcFastenerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[457]); } @@ -2871,7 +2871,7 @@ Ifc4x3_rc4::IfcFastenerTypeEnum::Value Ifc4x3_rc4::IfcFastenerTypeEnum::FromStri } Ifc4x3_rc4::IfcFastenerTypeEnum::operator Ifc4x3_rc4::IfcFastenerTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcFastenerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcFastenerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcFilterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[467]); } @@ -2898,7 +2898,7 @@ Ifc4x3_rc4::IfcFilterTypeEnum::Value Ifc4x3_rc4::IfcFilterTypeEnum::FromString(c } Ifc4x3_rc4::IfcFilterTypeEnum::operator Ifc4x3_rc4::IfcFilterTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcFilterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcFilterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[470]); } @@ -2925,7 +2925,7 @@ Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3_rc4::IfcFireSuppres } Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::operator Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcFlowDirectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[474]); } @@ -2952,7 +2952,7 @@ Ifc4x3_rc4::IfcFlowDirectionEnum::Value Ifc4x3_rc4::IfcFlowDirectionEnum::FromSt } Ifc4x3_rc4::IfcFlowDirectionEnum::operator Ifc4x3_rc4::IfcFlowDirectionEnum::Value() const { - return (Ifc4x3_rc4::IfcFlowDirectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcFlowDirectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[479]); } @@ -2979,7 +2979,7 @@ Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value Ifc4x3_rc4::IfcFlowInstrumentTypeEn } Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::operator Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcFlowMeterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[482]); } @@ -3006,7 +3006,7 @@ Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value Ifc4x3_rc4::IfcFlowMeterTypeEnum::FromSt } Ifc4x3_rc4::IfcFlowMeterTypeEnum::operator Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcFootingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[498]); } @@ -3033,7 +3033,7 @@ Ifc4x3_rc4::IfcFootingTypeEnum::Value Ifc4x3_rc4::IfcFootingTypeEnum::FromString } Ifc4x3_rc4::IfcFootingTypeEnum::operator Ifc4x3_rc4::IfcFootingTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcFootingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcFootingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcFurnitureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[505]); } @@ -3060,7 +3060,7 @@ Ifc4x3_rc4::IfcFurnitureTypeEnum::Value Ifc4x3_rc4::IfcFurnitureTypeEnum::FromSt } Ifc4x3_rc4::IfcFurnitureTypeEnum::operator Ifc4x3_rc4::IfcFurnitureTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcFurnitureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcFurnitureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcGeographicElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[508]); } @@ -3087,7 +3087,7 @@ Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value Ifc4x3_rc4::IfcGeographicElement } Ifc4x3_rc4::IfcGeographicElementTypeEnum::operator Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcGeometricProjectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[510]); } @@ -3114,7 +3114,7 @@ Ifc4x3_rc4::IfcGeometricProjectionEnum::Value Ifc4x3_rc4::IfcGeometricProjection } Ifc4x3_rc4::IfcGeometricProjectionEnum::operator Ifc4x3_rc4::IfcGeometricProjectionEnum::Value() const { - return (Ifc4x3_rc4::IfcGeometricProjectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcGeometricProjectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcGlobalOrLocalEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[522]); } @@ -3141,7 +3141,7 @@ Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value Ifc4x3_rc4::IfcGlobalOrLocalEnum::FromSt } Ifc4x3_rc4::IfcGlobalOrLocalEnum::operator Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value() const { - return (Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcGridTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[528]); } @@ -3168,7 +3168,7 @@ Ifc4x3_rc4::IfcGridTypeEnum::Value Ifc4x3_rc4::IfcGridTypeEnum::FromString(const } Ifc4x3_rc4::IfcGridTypeEnum::operator Ifc4x3_rc4::IfcGridTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcGridTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcGridTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcHeatExchangerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[534]); } @@ -3195,7 +3195,7 @@ Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value Ifc4x3_rc4::IfcHeatExchangerTypeEnum } Ifc4x3_rc4::IfcHeatExchangerTypeEnum::operator Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcHumidifierTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[539]); } @@ -3222,7 +3222,7 @@ Ifc4x3_rc4::IfcHumidifierTypeEnum::Value Ifc4x3_rc4::IfcHumidifierTypeEnum::From } Ifc4x3_rc4::IfcHumidifierTypeEnum::operator Ifc4x3_rc4::IfcHumidifierTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcHumidifierTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcHumidifierTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcImpactProtectionDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[545]); } @@ -3249,7 +3249,7 @@ Ifc4x3_rc4::IfcImpactProtectionDeviceTypeEnum::Value Ifc4x3_rc4::IfcImpactProtec } Ifc4x3_rc4::IfcImpactProtectionDeviceTypeEnum::operator Ifc4x3_rc4::IfcImpactProtectionDeviceTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcImpactProtectionDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcImpactProtectionDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcInterceptorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[558]); } @@ -3276,7 +3276,7 @@ Ifc4x3_rc4::IfcInterceptorTypeEnum::Value Ifc4x3_rc4::IfcInterceptorTypeEnum::Fr } Ifc4x3_rc4::IfcInterceptorTypeEnum::operator Ifc4x3_rc4::IfcInterceptorTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcInterceptorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcInterceptorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcInternalOrExternalEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[560]); } @@ -3303,7 +3303,7 @@ Ifc4x3_rc4::IfcInternalOrExternalEnum::Value Ifc4x3_rc4::IfcInternalOrExternalEn } Ifc4x3_rc4::IfcInternalOrExternalEnum::operator Ifc4x3_rc4::IfcInternalOrExternalEnum::Value() const { - return (Ifc4x3_rc4::IfcInternalOrExternalEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcInternalOrExternalEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcInventoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[563]); } @@ -3330,7 +3330,7 @@ Ifc4x3_rc4::IfcInventoryTypeEnum::Value Ifc4x3_rc4::IfcInventoryTypeEnum::FromSt } Ifc4x3_rc4::IfcInventoryTypeEnum::operator Ifc4x3_rc4::IfcInventoryTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcInventoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcInventoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcJunctionBoxTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[571]); } @@ -3357,7 +3357,7 @@ Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Fr } Ifc4x3_rc4::IfcJunctionBoxTypeEnum::operator Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcKnotType::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[575]); } @@ -3384,7 +3384,7 @@ Ifc4x3_rc4::IfcKnotType::Value Ifc4x3_rc4::IfcKnotType::FromString(const std::st } Ifc4x3_rc4::IfcKnotType::operator Ifc4x3_rc4::IfcKnotType::Value() const { - return (Ifc4x3_rc4::IfcKnotType::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcKnotType::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcLaborResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[579]); } @@ -3411,7 +3411,7 @@ Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value Ifc4x3_rc4::IfcLaborResourceTypeEnum } Ifc4x3_rc4::IfcLaborResourceTypeEnum::operator Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcLampTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[583]); } @@ -3438,7 +3438,7 @@ Ifc4x3_rc4::IfcLampTypeEnum::Value Ifc4x3_rc4::IfcLampTypeEnum::FromString(const } Ifc4x3_rc4::IfcLampTypeEnum::operator Ifc4x3_rc4::IfcLampTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcLampTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcLampTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcLayerSetDirectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[586]); } @@ -3465,7 +3465,7 @@ Ifc4x3_rc4::IfcLayerSetDirectionEnum::Value Ifc4x3_rc4::IfcLayerSetDirectionEnum } Ifc4x3_rc4::IfcLayerSetDirectionEnum::operator Ifc4x3_rc4::IfcLayerSetDirectionEnum::Value() const { - return (Ifc4x3_rc4::IfcLayerSetDirectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcLayerSetDirectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcLightDistributionCurveEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[591]); } @@ -3492,7 +3492,7 @@ Ifc4x3_rc4::IfcLightDistributionCurveEnum::Value Ifc4x3_rc4::IfcLightDistributio } Ifc4x3_rc4::IfcLightDistributionCurveEnum::operator Ifc4x3_rc4::IfcLightDistributionCurveEnum::Value() const { - return (Ifc4x3_rc4::IfcLightDistributionCurveEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcLightDistributionCurveEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcLightEmissionSourceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[594]); } @@ -3519,7 +3519,7 @@ Ifc4x3_rc4::IfcLightEmissionSourceEnum::Value Ifc4x3_rc4::IfcLightEmissionSource } Ifc4x3_rc4::IfcLightEmissionSourceEnum::operator Ifc4x3_rc4::IfcLightEmissionSourceEnum::Value() const { - return (Ifc4x3_rc4::IfcLightEmissionSourceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcLightEmissionSourceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcLightFixtureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[597]); } @@ -3546,7 +3546,7 @@ Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value Ifc4x3_rc4::IfcLightFixtureTypeEnum:: } Ifc4x3_rc4::IfcLightFixtureTypeEnum::operator Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[616]); } @@ -3573,7 +3573,7 @@ Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value Ifc4x3_rc4::IfcLiquidTerminalTypeEn } Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::operator Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcLoadGroupTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[617]); } @@ -3600,7 +3600,7 @@ Ifc4x3_rc4::IfcLoadGroupTypeEnum::Value Ifc4x3_rc4::IfcLoadGroupTypeEnum::FromSt } Ifc4x3_rc4::IfcLoadGroupTypeEnum::operator Ifc4x3_rc4::IfcLoadGroupTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcLoadGroupTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcLoadGroupTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcLogicalOperatorEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[620]); } @@ -3627,7 +3627,7 @@ Ifc4x3_rc4::IfcLogicalOperatorEnum::Value Ifc4x3_rc4::IfcLogicalOperatorEnum::Fr } Ifc4x3_rc4::IfcLogicalOperatorEnum::operator Ifc4x3_rc4::IfcLogicalOperatorEnum::Value() const { - return (Ifc4x3_rc4::IfcLogicalOperatorEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcLogicalOperatorEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcMarineFacilityTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[632]); } @@ -3654,7 +3654,7 @@ Ifc4x3_rc4::IfcMarineFacilityTypeEnum::Value Ifc4x3_rc4::IfcMarineFacilityTypeEn } Ifc4x3_rc4::IfcMarineFacilityTypeEnum::operator Ifc4x3_rc4::IfcMarineFacilityTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcMarineFacilityTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcMarineFacilityTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcMarinePartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[633]); } @@ -3681,7 +3681,7 @@ Ifc4x3_rc4::IfcMarinePartTypeEnum::Value Ifc4x3_rc4::IfcMarinePartTypeEnum::From } Ifc4x3_rc4::IfcMarinePartTypeEnum::operator Ifc4x3_rc4::IfcMarinePartTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcMarinePartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcMarinePartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[662]); } @@ -3708,7 +3708,7 @@ Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_rc4::IfcMechanicalFasten } Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::operator Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[665]); } @@ -3735,7 +3735,7 @@ Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value Ifc4x3_rc4::IfcMedicalDeviceTypeEnum } Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::operator Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcMemberTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[669]); } @@ -3762,7 +3762,7 @@ Ifc4x3_rc4::IfcMemberTypeEnum::Value Ifc4x3_rc4::IfcMemberTypeEnum::FromString(c } Ifc4x3_rc4::IfcMemberTypeEnum::operator Ifc4x3_rc4::IfcMemberTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcMemberTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcMemberTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[675]); } @@ -3789,7 +3789,7 @@ Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3_rc4::IfcM } Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::operator Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcMooringDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[691]); } @@ -3816,7 +3816,7 @@ Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value Ifc4x3_rc4::IfcMooringDeviceTypeEnum } Ifc4x3_rc4::IfcMooringDeviceTypeEnum::operator Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcMotorConnectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[694]); } @@ -3843,7 +3843,7 @@ Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value Ifc4x3_rc4::IfcMotorConnectionType } Ifc4x3_rc4::IfcMotorConnectionTypeEnum::operator Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcNavigationElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[698]); } @@ -3870,7 +3870,7 @@ Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value Ifc4x3_rc4::IfcNavigationElement } Ifc4x3_rc4::IfcNavigationElementTypeEnum::operator Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcObjectTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[708]); } @@ -3897,7 +3897,7 @@ Ifc4x3_rc4::IfcObjectTypeEnum::Value Ifc4x3_rc4::IfcObjectTypeEnum::FromString(c } Ifc4x3_rc4::IfcObjectTypeEnum::operator Ifc4x3_rc4::IfcObjectTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcObjectTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcObjectTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcObjectiveEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[705]); } @@ -3924,7 +3924,7 @@ Ifc4x3_rc4::IfcObjectiveEnum::Value Ifc4x3_rc4::IfcObjectiveEnum::FromString(con } Ifc4x3_rc4::IfcObjectiveEnum::operator Ifc4x3_rc4::IfcObjectiveEnum::Value() const { - return (Ifc4x3_rc4::IfcObjectiveEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcObjectiveEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcOccupantTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[710]); } @@ -3951,7 +3951,7 @@ Ifc4x3_rc4::IfcOccupantTypeEnum::Value Ifc4x3_rc4::IfcOccupantTypeEnum::FromStri } Ifc4x3_rc4::IfcOccupantTypeEnum::operator Ifc4x3_rc4::IfcOccupantTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcOccupantTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcOccupantTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcOpeningElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[717]); } @@ -3978,7 +3978,7 @@ Ifc4x3_rc4::IfcOpeningElementTypeEnum::Value Ifc4x3_rc4::IfcOpeningElementTypeEn } Ifc4x3_rc4::IfcOpeningElementTypeEnum::operator Ifc4x3_rc4::IfcOpeningElementTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcOpeningElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcOpeningElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcOutletTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[726]); } @@ -4005,7 +4005,7 @@ Ifc4x3_rc4::IfcOutletTypeEnum::Value Ifc4x3_rc4::IfcOutletTypeEnum::FromString(c } Ifc4x3_rc4::IfcOutletTypeEnum::operator Ifc4x3_rc4::IfcOutletTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcOutletTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcOutletTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcPavementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[733]); } @@ -4032,7 +4032,7 @@ Ifc4x3_rc4::IfcPavementTypeEnum::Value Ifc4x3_rc4::IfcPavementTypeEnum::FromStri } Ifc4x3_rc4::IfcPavementTypeEnum::operator Ifc4x3_rc4::IfcPavementTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcPavementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcPavementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[736]); } @@ -4059,7 +4059,7 @@ Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::Value Ifc4x3_rc4::IfcPerformanceHisto } Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::operator Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[737]); } @@ -4086,7 +4086,7 @@ Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::Value Ifc4x3_rc4::IfcPermeableCov } Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::operator Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::Value() const { - return (Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcPermitTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[740]); } @@ -4113,7 +4113,7 @@ Ifc4x3_rc4::IfcPermitTypeEnum::Value Ifc4x3_rc4::IfcPermitTypeEnum::FromString(c } Ifc4x3_rc4::IfcPermitTypeEnum::operator Ifc4x3_rc4::IfcPermitTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcPermitTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcPermitTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[745]); } @@ -4140,7 +4140,7 @@ Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Value Ifc4x3_rc4::IfcPhysicalOrVirtualEnum } Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::operator Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Value() const { - return (Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcPileConstructionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[749]); } @@ -4167,7 +4167,7 @@ Ifc4x3_rc4::IfcPileConstructionEnum::Value Ifc4x3_rc4::IfcPileConstructionEnum:: } Ifc4x3_rc4::IfcPileConstructionEnum::operator Ifc4x3_rc4::IfcPileConstructionEnum::Value() const { - return (Ifc4x3_rc4::IfcPileConstructionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcPileConstructionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcPileTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[751]); } @@ -4194,7 +4194,7 @@ Ifc4x3_rc4::IfcPileTypeEnum::Value Ifc4x3_rc4::IfcPileTypeEnum::FromString(const } Ifc4x3_rc4::IfcPileTypeEnum::operator Ifc4x3_rc4::IfcPileTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcPileTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcPileTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcPipeFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[754]); } @@ -4221,7 +4221,7 @@ Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value Ifc4x3_rc4::IfcPipeFittingTypeEnum::Fr } Ifc4x3_rc4::IfcPipeFittingTypeEnum::operator Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcPipeSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[757]); } @@ -4248,7 +4248,7 @@ Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Fr } Ifc4x3_rc4::IfcPipeSegmentTypeEnum::operator Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcPlateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[769]); } @@ -4275,7 +4275,7 @@ Ifc4x3_rc4::IfcPlateTypeEnum::Value Ifc4x3_rc4::IfcPlateTypeEnum::FromString(con } Ifc4x3_rc4::IfcPlateTypeEnum::operator Ifc4x3_rc4::IfcPlateTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcPlateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcPlateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[794]); } @@ -4302,7 +4302,7 @@ Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x3_rc4::IfcPreferr } Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::operator Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value() const { - return (Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcProcedureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[803]); } @@ -4329,7 +4329,7 @@ Ifc4x3_rc4::IfcProcedureTypeEnum::Value Ifc4x3_rc4::IfcProcedureTypeEnum::FromSt } Ifc4x3_rc4::IfcProcedureTypeEnum::operator Ifc4x3_rc4::IfcProcedureTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcProcedureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcProcedureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcProfileTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[813]); } @@ -4356,7 +4356,7 @@ Ifc4x3_rc4::IfcProfileTypeEnum::Value Ifc4x3_rc4::IfcProfileTypeEnum::FromString } Ifc4x3_rc4::IfcProfileTypeEnum::operator Ifc4x3_rc4::IfcProfileTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcProfileTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcProfileTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcProjectOrderTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[821]); } @@ -4383,7 +4383,7 @@ Ifc4x3_rc4::IfcProjectOrderTypeEnum::Value Ifc4x3_rc4::IfcProjectOrderTypeEnum:: } Ifc4x3_rc4::IfcProjectOrderTypeEnum::operator Ifc4x3_rc4::IfcProjectOrderTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcProjectOrderTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcProjectOrderTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[816]); } @@ -4410,7 +4410,7 @@ Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value Ifc4x3_rc4::IfcProjectedOrTrueLe } Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::operator Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value() const { - return (Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcProjectionElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[818]); } @@ -4437,7 +4437,7 @@ Ifc4x3_rc4::IfcProjectionElementTypeEnum::Value Ifc4x3_rc4::IfcProjectionElement } Ifc4x3_rc4::IfcProjectionElementTypeEnum::operator Ifc4x3_rc4::IfcProjectionElementTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcProjectionElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcProjectionElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[836]); } @@ -4464,7 +4464,7 @@ Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::Value Ifc4x3_rc4::IfcPropertySetTemp } Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::operator Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[844]); } @@ -4491,7 +4491,7 @@ Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3_rc4::IfcProtec } Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::operator Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[846]); } @@ -4518,7 +4518,7 @@ Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value Ifc4x3_rc4::IfcProtectiveDeviceTy } Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::operator Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcPumpTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[850]); } @@ -4545,7 +4545,7 @@ Ifc4x3_rc4::IfcPumpTypeEnum::Value Ifc4x3_rc4::IfcPumpTypeEnum::FromString(const } Ifc4x3_rc4::IfcPumpTypeEnum::operator Ifc4x3_rc4::IfcPumpTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcPumpTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcPumpTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcRailTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[864]); } @@ -4572,7 +4572,7 @@ Ifc4x3_rc4::IfcRailTypeEnum::Value Ifc4x3_rc4::IfcRailTypeEnum::FromString(const } Ifc4x3_rc4::IfcRailTypeEnum::operator Ifc4x3_rc4::IfcRailTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcRailTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcRailTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcRailingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[862]); } @@ -4599,7 +4599,7 @@ Ifc4x3_rc4::IfcRailingTypeEnum::Value Ifc4x3_rc4::IfcRailingTypeEnum::FromString } Ifc4x3_rc4::IfcRailingTypeEnum::operator Ifc4x3_rc4::IfcRailingTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcRailingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcRailingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcRailwayPartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[866]); } @@ -4626,7 +4626,7 @@ Ifc4x3_rc4::IfcRailwayPartTypeEnum::Value Ifc4x3_rc4::IfcRailwayPartTypeEnum::Fr } Ifc4x3_rc4::IfcRailwayPartTypeEnum::operator Ifc4x3_rc4::IfcRailwayPartTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcRailwayPartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcRailwayPartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcRailwayTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[867]); } @@ -4653,7 +4653,7 @@ Ifc4x3_rc4::IfcRailwayTypeEnum::Value Ifc4x3_rc4::IfcRailwayTypeEnum::FromString } Ifc4x3_rc4::IfcRailwayTypeEnum::operator Ifc4x3_rc4::IfcRailwayTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcRailwayTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcRailwayTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcRampFlightTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[871]); } @@ -4680,7 +4680,7 @@ Ifc4x3_rc4::IfcRampFlightTypeEnum::Value Ifc4x3_rc4::IfcRampFlightTypeEnum::From } Ifc4x3_rc4::IfcRampFlightTypeEnum::operator Ifc4x3_rc4::IfcRampFlightTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcRampFlightTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcRampFlightTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcRampTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[873]); } @@ -4707,7 +4707,7 @@ Ifc4x3_rc4::IfcRampTypeEnum::Value Ifc4x3_rc4::IfcRampTypeEnum::FromString(const } Ifc4x3_rc4::IfcRampTypeEnum::operator Ifc4x3_rc4::IfcRampTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcRampTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcRampTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcRecurrenceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[883]); } @@ -4734,7 +4734,7 @@ Ifc4x3_rc4::IfcRecurrenceTypeEnum::Value Ifc4x3_rc4::IfcRecurrenceTypeEnum::From } Ifc4x3_rc4::IfcRecurrenceTypeEnum::operator Ifc4x3_rc4::IfcRecurrenceTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcRecurrenceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcRecurrenceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcReferentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[886]); } @@ -4761,7 +4761,7 @@ Ifc4x3_rc4::IfcReferentTypeEnum::Value Ifc4x3_rc4::IfcReferentTypeEnum::FromStri } Ifc4x3_rc4::IfcReferentTypeEnum::operator Ifc4x3_rc4::IfcReferentTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcReferentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcReferentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcReflectanceMethodEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[887]); } @@ -4788,7 +4788,7 @@ Ifc4x3_rc4::IfcReflectanceMethodEnum::Value Ifc4x3_rc4::IfcReflectanceMethodEnum } Ifc4x3_rc4::IfcReflectanceMethodEnum::operator Ifc4x3_rc4::IfcReflectanceMethodEnum::Value() const { - return (Ifc4x3_rc4::IfcReflectanceMethodEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcReflectanceMethodEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[890]); } @@ -4815,7 +4815,7 @@ Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::Value Ifc4x3_rc4::IfcReinforcedSoilTypeEn } Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::operator Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcReinforcingBarRoleEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[894]); } @@ -4842,7 +4842,7 @@ Ifc4x3_rc4::IfcReinforcingBarRoleEnum::Value Ifc4x3_rc4::IfcReinforcingBarRoleEn } Ifc4x3_rc4::IfcReinforcingBarRoleEnum::operator Ifc4x3_rc4::IfcReinforcingBarRoleEnum::Value() const { - return (Ifc4x3_rc4::IfcReinforcingBarRoleEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcReinforcingBarRoleEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[895]); } @@ -4869,7 +4869,7 @@ Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value Ifc4x3_rc4::IfcReinforcingBarSur } Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::operator Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value() const { - return (Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcReinforcingBarTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[897]); } @@ -4896,7 +4896,7 @@ Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value Ifc4x3_rc4::IfcReinforcingBarTypeEn } Ifc4x3_rc4::IfcReinforcingBarTypeEnum::operator Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[902]); } @@ -4923,7 +4923,7 @@ Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value Ifc4x3_rc4::IfcReinforcingMeshType } Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::operator Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcRoadPartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[971]); } @@ -4950,7 +4950,7 @@ Ifc4x3_rc4::IfcRoadPartTypeEnum::Value Ifc4x3_rc4::IfcRoadPartTypeEnum::FromStri } Ifc4x3_rc4::IfcRoadPartTypeEnum::operator Ifc4x3_rc4::IfcRoadPartTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcRoadPartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcRoadPartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcRoadTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[972]); } @@ -4977,7 +4977,7 @@ Ifc4x3_rc4::IfcRoadTypeEnum::Value Ifc4x3_rc4::IfcRoadTypeEnum::FromString(const } Ifc4x3_rc4::IfcRoadTypeEnum::operator Ifc4x3_rc4::IfcRoadTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcRoadTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcRoadTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcRoleEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[973]); } @@ -5004,7 +5004,7 @@ Ifc4x3_rc4::IfcRoleEnum::Value Ifc4x3_rc4::IfcRoleEnum::FromString(const std::st } Ifc4x3_rc4::IfcRoleEnum::operator Ifc4x3_rc4::IfcRoleEnum::Value() const { - return (Ifc4x3_rc4::IfcRoleEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcRoleEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcRoofTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[976]); } @@ -5031,7 +5031,7 @@ Ifc4x3_rc4::IfcRoofTypeEnum::Value Ifc4x3_rc4::IfcRoofTypeEnum::FromString(const } Ifc4x3_rc4::IfcRoofTypeEnum::operator Ifc4x3_rc4::IfcRoofTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcRoofTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcRoofTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcSIPrefix::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1026]); } @@ -5058,7 +5058,7 @@ Ifc4x3_rc4::IfcSIPrefix::Value Ifc4x3_rc4::IfcSIPrefix::FromString(const std::st } Ifc4x3_rc4::IfcSIPrefix::operator Ifc4x3_rc4::IfcSIPrefix::Value() const { - return (Ifc4x3_rc4::IfcSIPrefix::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcSIPrefix::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcSIUnitName::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1029]); } @@ -5085,7 +5085,7 @@ Ifc4x3_rc4::IfcSIUnitName::Value Ifc4x3_rc4::IfcSIUnitName::FromString(const std } Ifc4x3_rc4::IfcSIUnitName::operator Ifc4x3_rc4::IfcSIUnitName::Value() const { - return (Ifc4x3_rc4::IfcSIUnitName::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcSIUnitName::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[985]); } @@ -5112,7 +5112,7 @@ Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value Ifc4x3_rc4::IfcSanitaryTerminalTy } Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::operator Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcSectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[997]); } @@ -5139,7 +5139,7 @@ Ifc4x3_rc4::IfcSectionTypeEnum::Value Ifc4x3_rc4::IfcSectionTypeEnum::FromString } Ifc4x3_rc4::IfcSectionTypeEnum::operator Ifc4x3_rc4::IfcSectionTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcSectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcSectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcSensorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1003]); } @@ -5166,7 +5166,7 @@ Ifc4x3_rc4::IfcSensorTypeEnum::Value Ifc4x3_rc4::IfcSensorTypeEnum::FromString(c } Ifc4x3_rc4::IfcSensorTypeEnum::operator Ifc4x3_rc4::IfcSensorTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcSensorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcSensorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcSequenceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1004]); } @@ -5193,7 +5193,7 @@ Ifc4x3_rc4::IfcSequenceEnum::Value Ifc4x3_rc4::IfcSequenceEnum::FromString(const } Ifc4x3_rc4::IfcSequenceEnum::operator Ifc4x3_rc4::IfcSequenceEnum::Value() const { - return (Ifc4x3_rc4::IfcSequenceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcSequenceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcShadingDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1008]); } @@ -5220,7 +5220,7 @@ Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value Ifc4x3_rc4::IfcShadingDeviceTypeEnum } Ifc4x3_rc4::IfcShadingDeviceTypeEnum::operator Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcSignTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1020]); } @@ -5247,7 +5247,7 @@ Ifc4x3_rc4::IfcSignTypeEnum::Value Ifc4x3_rc4::IfcSignTypeEnum::FromString(const } Ifc4x3_rc4::IfcSignTypeEnum::operator Ifc4x3_rc4::IfcSignTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcSignTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcSignTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcSignalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1018]); } @@ -5274,7 +5274,7 @@ Ifc4x3_rc4::IfcSignalTypeEnum::Value Ifc4x3_rc4::IfcSignalTypeEnum::FromString(c } Ifc4x3_rc4::IfcSignalTypeEnum::operator Ifc4x3_rc4::IfcSignalTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcSignalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcSignalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1023]); } @@ -5301,7 +5301,7 @@ Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::Value Ifc4x3_rc4::IfcSimpleProper } Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::operator Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcSlabTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1035]); } @@ -5328,7 +5328,7 @@ Ifc4x3_rc4::IfcSlabTypeEnum::Value Ifc4x3_rc4::IfcSlabTypeEnum::FromString(const } Ifc4x3_rc4::IfcSlabTypeEnum::operator Ifc4x3_rc4::IfcSlabTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcSlabTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcSlabTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcSolarDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1039]); } @@ -5355,7 +5355,7 @@ Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Fr } Ifc4x3_rc4::IfcSolarDeviceTypeEnum::operator Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1052]); } @@ -5382,7 +5382,7 @@ Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Fr } Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::operator Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcSpaceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1054]); } @@ -5409,7 +5409,7 @@ Ifc4x3_rc4::IfcSpaceTypeEnum::Value Ifc4x3_rc4::IfcSpaceTypeEnum::FromString(con } Ifc4x3_rc4::IfcSpaceTypeEnum::operator Ifc4x3_rc4::IfcSpaceTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcSpaceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcSpaceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcSpatialZoneTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1062]); } @@ -5436,7 +5436,7 @@ Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Fr } Ifc4x3_rc4::IfcSpatialZoneTypeEnum::operator Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcStackTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1072]); } @@ -5463,7 +5463,7 @@ Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value Ifc4x3_rc4::IfcStackTerminalTypeEnum } Ifc4x3_rc4::IfcStackTerminalTypeEnum::operator Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcStairFlightTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1076]); } @@ -5490,7 +5490,7 @@ Ifc4x3_rc4::IfcStairFlightTypeEnum::Value Ifc4x3_rc4::IfcStairFlightTypeEnum::Fr } Ifc4x3_rc4::IfcStairFlightTypeEnum::operator Ifc4x3_rc4::IfcStairFlightTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcStairFlightTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcStairFlightTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcStairTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1078]); } @@ -5517,7 +5517,7 @@ Ifc4x3_rc4::IfcStairTypeEnum::Value Ifc4x3_rc4::IfcStairTypeEnum::FromString(con } Ifc4x3_rc4::IfcStairTypeEnum::operator Ifc4x3_rc4::IfcStairTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcStairTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcStairTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcStateEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1079]); } @@ -5544,7 +5544,7 @@ Ifc4x3_rc4::IfcStateEnum::Value Ifc4x3_rc4::IfcStateEnum::FromString(const std:: } Ifc4x3_rc4::IfcStateEnum::operator Ifc4x3_rc4::IfcStateEnum::Value() const { - return (Ifc4x3_rc4::IfcStateEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcStateEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1087]); } @@ -5571,7 +5571,7 @@ Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_rc4::IfcStructuralC } Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::operator Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1090]); } @@ -5598,7 +5598,7 @@ Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_rc4::IfcStructuralCur } Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::operator Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1116]); } @@ -5625,7 +5625,7 @@ Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_rc4::IfcStructura } Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::operator Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1119]); } @@ -5652,7 +5652,7 @@ Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_rc4::IfcStructuralS } Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::operator Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcSubContractResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1127]); } @@ -5679,7 +5679,7 @@ Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value Ifc4x3_rc4::IfcSubContractReso } Ifc4x3_rc4::IfcSubContractResourceTypeEnum::operator Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1133]); } @@ -5706,7 +5706,7 @@ Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::Value Ifc4x3_rc4::IfcSurfaceFeatureTypeEn } Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::operator Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcSurfaceSide::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1138]); } @@ -5733,7 +5733,7 @@ Ifc4x3_rc4::IfcSurfaceSide::Value Ifc4x3_rc4::IfcSurfaceSide::FromString(const s } Ifc4x3_rc4::IfcSurfaceSide::operator Ifc4x3_rc4::IfcSurfaceSide::Value() const { - return (Ifc4x3_rc4::IfcSurfaceSide::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcSurfaceSide::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1153]); } @@ -5760,7 +5760,7 @@ Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value Ifc4x3_rc4::IfcSwitchingDeviceType } Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::operator Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1157]); } @@ -5787,7 +5787,7 @@ Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value Ifc4x3_rc4::IfcSystemFurnit } Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::operator Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcTankTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1163]); } @@ -5814,7 +5814,7 @@ Ifc4x3_rc4::IfcTankTypeEnum::Value Ifc4x3_rc4::IfcTankTypeEnum::FromString(const } Ifc4x3_rc4::IfcTankTypeEnum::operator Ifc4x3_rc4::IfcTankTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcTankTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcTankTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcTaskDurationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1165]); } @@ -5841,7 +5841,7 @@ Ifc4x3_rc4::IfcTaskDurationEnum::Value Ifc4x3_rc4::IfcTaskDurationEnum::FromStri } Ifc4x3_rc4::IfcTaskDurationEnum::operator Ifc4x3_rc4::IfcTaskDurationEnum::Value() const { - return (Ifc4x3_rc4::IfcTaskDurationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcTaskDurationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcTaskTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1169]); } @@ -5868,7 +5868,7 @@ Ifc4x3_rc4::IfcTaskTypeEnum::Value Ifc4x3_rc4::IfcTaskTypeEnum::FromString(const } Ifc4x3_rc4::IfcTaskTypeEnum::operator Ifc4x3_rc4::IfcTaskTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcTaskTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcTaskTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcTendonAnchorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1176]); } @@ -5895,7 +5895,7 @@ Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value Ifc4x3_rc4::IfcTendonAnchorTypeEnum:: } Ifc4x3_rc4::IfcTendonAnchorTypeEnum::operator Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcTendonConduitTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1179]); } @@ -5922,7 +5922,7 @@ Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value Ifc4x3_rc4::IfcTendonConduitTypeEnum } Ifc4x3_rc4::IfcTendonConduitTypeEnum::operator Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcTendonTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1181]); } @@ -5949,7 +5949,7 @@ Ifc4x3_rc4::IfcTendonTypeEnum::Value Ifc4x3_rc4::IfcTendonTypeEnum::FromString(c } Ifc4x3_rc4::IfcTendonTypeEnum::operator Ifc4x3_rc4::IfcTendonTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcTendonTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcTendonTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcTextPath::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1191]); } @@ -5976,7 +5976,7 @@ Ifc4x3_rc4::IfcTextPath::Value Ifc4x3_rc4::IfcTextPath::FromString(const std::st } Ifc4x3_rc4::IfcTextPath::operator Ifc4x3_rc4::IfcTextPath::Value() const { - return (Ifc4x3_rc4::IfcTextPath::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcTextPath::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1214]); } @@ -6003,7 +6003,7 @@ Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Value Ifc4x3_rc4::IfcTimeSeriesDataTypeEn } Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::operator Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcTrackElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1223]); } @@ -6030,7 +6030,7 @@ Ifc4x3_rc4::IfcTrackElementTypeEnum::Value Ifc4x3_rc4::IfcTrackElementTypeEnum:: } Ifc4x3_rc4::IfcTrackElementTypeEnum::operator Ifc4x3_rc4::IfcTrackElementTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcTrackElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcTrackElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcTransformerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1226]); } @@ -6057,7 +6057,7 @@ Ifc4x3_rc4::IfcTransformerTypeEnum::Value Ifc4x3_rc4::IfcTransformerTypeEnum::Fr } Ifc4x3_rc4::IfcTransformerTypeEnum::operator Ifc4x3_rc4::IfcTransformerTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcTransformerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcTransformerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcTransitionCode::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1227]); } @@ -6084,7 +6084,7 @@ Ifc4x3_rc4::IfcTransitionCode::Value Ifc4x3_rc4::IfcTransitionCode::FromString(c } Ifc4x3_rc4::IfcTransitionCode::operator Ifc4x3_rc4::IfcTransitionCode::Value() const { - return (Ifc4x3_rc4::IfcTransitionCode::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcTransitionCode::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcTransportElementFixedTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1230]); } @@ -6111,7 +6111,7 @@ Ifc4x3_rc4::IfcTransportElementFixedTypeEnum::Value Ifc4x3_rc4::IfcTransportElem } Ifc4x3_rc4::IfcTransportElementFixedTypeEnum::operator Ifc4x3_rc4::IfcTransportElementFixedTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcTransportElementFixedTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcTransportElementFixedTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcTransportElementNonFixedTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1231]); } @@ -6138,7 +6138,7 @@ Ifc4x3_rc4::IfcTransportElementNonFixedTypeEnum::Value Ifc4x3_rc4::IfcTransportE } Ifc4x3_rc4::IfcTransportElementNonFixedTypeEnum::operator Ifc4x3_rc4::IfcTransportElementNonFixedTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcTransportElementNonFixedTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcTransportElementNonFixedTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcTrimmingPreference::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1238]); } @@ -6165,7 +6165,7 @@ Ifc4x3_rc4::IfcTrimmingPreference::Value Ifc4x3_rc4::IfcTrimmingPreference::From } Ifc4x3_rc4::IfcTrimmingPreference::operator Ifc4x3_rc4::IfcTrimmingPreference::Value() const { - return (Ifc4x3_rc4::IfcTrimmingPreference::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcTrimmingPreference::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcTubeBundleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1243]); } @@ -6192,7 +6192,7 @@ Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value Ifc4x3_rc4::IfcTubeBundleTypeEnum::From } Ifc4x3_rc4::IfcTubeBundleTypeEnum::operator Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcUnitEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1256]); } @@ -6219,7 +6219,7 @@ Ifc4x3_rc4::IfcUnitEnum::Value Ifc4x3_rc4::IfcUnitEnum::FromString(const std::st } Ifc4x3_rc4::IfcUnitEnum::operator Ifc4x3_rc4::IfcUnitEnum::Value() const { - return (Ifc4x3_rc4::IfcUnitEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcUnitEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1251]); } @@ -6246,7 +6246,7 @@ Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value Ifc4x3_rc4::IfcUnitaryContro } Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::operator Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1254]); } @@ -6273,7 +6273,7 @@ Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3_rc4::IfcUnitaryEquipmentTy } Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::operator Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcValveTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1262]); } @@ -6300,7 +6300,7 @@ Ifc4x3_rc4::IfcValveTypeEnum::Value Ifc4x3_rc4::IfcValveTypeEnum::FromString(con } Ifc4x3_rc4::IfcValveTypeEnum::operator Ifc4x3_rc4::IfcValveTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcValveTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcValveTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcVibrationDamperTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1271]); } @@ -6327,7 +6327,7 @@ Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value Ifc4x3_rc4::IfcVibrationDamperType } Ifc4x3_rc4::IfcVibrationDamperTypeEnum::operator Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1274]); } @@ -6354,7 +6354,7 @@ Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value Ifc4x3_rc4::IfcVibrationIsolator } Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::operator Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1278]); } @@ -6381,7 +6381,7 @@ Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::Value Ifc4x3_rc4::IfcVoidingFeatureTypeEn } Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::operator Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcWallTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1286]); } @@ -6408,7 +6408,7 @@ Ifc4x3_rc4::IfcWallTypeEnum::Value Ifc4x3_rc4::IfcWallTypeEnum::FromString(const } Ifc4x3_rc4::IfcWallTypeEnum::operator Ifc4x3_rc4::IfcWallTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcWallTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcWallTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcWasteTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1292]); } @@ -6435,7 +6435,7 @@ Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value Ifc4x3_rc4::IfcWasteTerminalTypeEnum } Ifc4x3_rc4::IfcWasteTerminalTypeEnum::operator Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcWindowPanelOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1296]); } @@ -6462,7 +6462,7 @@ Ifc4x3_rc4::IfcWindowPanelOperationEnum::Value Ifc4x3_rc4::IfcWindowPanelOperati } Ifc4x3_rc4::IfcWindowPanelOperationEnum::operator Ifc4x3_rc4::IfcWindowPanelOperationEnum::Value() const { - return (Ifc4x3_rc4::IfcWindowPanelOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcWindowPanelOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcWindowPanelPositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1297]); } @@ -6489,7 +6489,7 @@ Ifc4x3_rc4::IfcWindowPanelPositionEnum::Value Ifc4x3_rc4::IfcWindowPanelPosition } Ifc4x3_rc4::IfcWindowPanelPositionEnum::operator Ifc4x3_rc4::IfcWindowPanelPositionEnum::Value() const { - return (Ifc4x3_rc4::IfcWindowPanelPositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcWindowPanelPositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcWindowStyleConstructionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1301]); } @@ -6516,7 +6516,7 @@ Ifc4x3_rc4::IfcWindowStyleConstructionEnum::Value Ifc4x3_rc4::IfcWindowStyleCons } Ifc4x3_rc4::IfcWindowStyleConstructionEnum::operator Ifc4x3_rc4::IfcWindowStyleConstructionEnum::Value() const { - return (Ifc4x3_rc4::IfcWindowStyleConstructionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcWindowStyleConstructionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcWindowStyleOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1302]); } @@ -6543,7 +6543,7 @@ Ifc4x3_rc4::IfcWindowStyleOperationEnum::Value Ifc4x3_rc4::IfcWindowStyleOperati } Ifc4x3_rc4::IfcWindowStyleOperationEnum::operator Ifc4x3_rc4::IfcWindowStyleOperationEnum::Value() const { - return (Ifc4x3_rc4::IfcWindowStyleOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcWindowStyleOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcWindowTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1304]); } @@ -6570,7 +6570,7 @@ Ifc4x3_rc4::IfcWindowTypeEnum::Value Ifc4x3_rc4::IfcWindowTypeEnum::FromString(c } Ifc4x3_rc4::IfcWindowTypeEnum::operator Ifc4x3_rc4::IfcWindowTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcWindowTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcWindowTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcWindowTypePartitioningEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1305]); } @@ -6597,7 +6597,7 @@ Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value Ifc4x3_rc4::IfcWindowTypePartit } Ifc4x3_rc4::IfcWindowTypePartitioningEnum::operator Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value() const { - return (Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcWorkCalendarTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1307]); } @@ -6624,7 +6624,7 @@ Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Value Ifc4x3_rc4::IfcWorkCalendarTypeEnum:: } Ifc4x3_rc4::IfcWorkCalendarTypeEnum::operator Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcWorkPlanTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1310]); } @@ -6651,7 +6651,7 @@ Ifc4x3_rc4::IfcWorkPlanTypeEnum::Value Ifc4x3_rc4::IfcWorkPlanTypeEnum::FromStri } Ifc4x3_rc4::IfcWorkPlanTypeEnum::operator Ifc4x3_rc4::IfcWorkPlanTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcWorkPlanTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcWorkPlanTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_rc4::IfcWorkScheduleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_RC4_types[1312]); } @@ -6678,7 +6678,7 @@ Ifc4x3_rc4::IfcWorkScheduleTypeEnum::Value Ifc4x3_rc4::IfcWorkScheduleTypeEnum:: } Ifc4x3_rc4::IfcWorkScheduleTypeEnum::operator Ifc4x3_rc4::IfcWorkScheduleTypeEnum::Value() const { - return (Ifc4x3_rc4::IfcWorkScheduleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_rc4::IfcWorkScheduleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::select_type& Ifc4x3_rc4::IfcActorSelect::Class() { return *((IfcParse::select_type*)IFC4X3_RC4_types[8]); } @@ -6815,928 +6815,928 @@ const IfcParse::type_declaration& Ifc4x3_rc4::IfcAbsorbedDoseMeasure::Class() { const IfcParse::type_declaration& Ifc4x3_rc4::IfcAbsorbedDoseMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[0]); } Ifc4x3_rc4::IfcAbsorbedDoseMeasure::IfcAbsorbedDoseMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcAbsorbedDoseMeasure::IfcAbsorbedDoseMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcAbsorbedDoseMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcAbsorbedDoseMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAccelerationMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcAccelerationMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcAccelerationMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1]); } Ifc4x3_rc4::IfcAccelerationMeasure::IfcAccelerationMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcAccelerationMeasure::IfcAccelerationMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcAccelerationMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcAccelerationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAmountOfSubstanceMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcAmountOfSubstanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[42]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcAmountOfSubstanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[42]); } Ifc4x3_rc4::IfcAmountOfSubstanceMeasure::IfcAmountOfSubstanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcAmountOfSubstanceMeasure::IfcAmountOfSubstanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcAmountOfSubstanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcAmountOfSubstanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAngularVelocityMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcAngularVelocityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[45]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcAngularVelocityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[45]); } Ifc4x3_rc4::IfcAngularVelocityMeasure::IfcAngularVelocityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcAngularVelocityMeasure::IfcAngularVelocityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcAngularVelocityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcAngularVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcArcIndex const IfcParse::type_declaration& Ifc4x3_rc4::IfcArcIndex::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[57]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcArcIndex::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[57]); } Ifc4x3_rc4::IfcArcIndex::IfcArcIndex(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcArcIndex::IfcArcIndex(std::vector< int > /*[3:3]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return get_attribute_value(0); } // Function implementations for IfcAreaDensityMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcAreaDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[58]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcAreaDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[58]); } Ifc4x3_rc4::IfcAreaDensityMeasure::IfcAreaDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcAreaDensityMeasure::IfcAreaDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcAreaDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcAreaDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAreaMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcAreaMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[59]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcAreaMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[59]); } Ifc4x3_rc4::IfcAreaMeasure::IfcAreaMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcAreaMeasure::IfcAreaMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcAreaMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcAreaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcBinary const IfcParse::type_declaration& Ifc4x3_rc4::IfcBinary::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[82]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcBinary::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[82]); } Ifc4x3_rc4::IfcBinary::IfcBinary(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcBinary::IfcBinary(boost::dynamic_bitset<> v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcBinary::operator boost::dynamic_bitset<>() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcBinary::operator boost::dynamic_bitset<>() const { return get_attribute_value(0); } // Function implementations for IfcBoolean const IfcParse::type_declaration& Ifc4x3_rc4::IfcBoolean::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[88]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcBoolean::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[88]); } Ifc4x3_rc4::IfcBoolean::IfcBoolean(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcBoolean::IfcBoolean(bool v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcBoolean::operator bool() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcBoolean::operator bool() const { return get_attribute_value(0); } // Function implementations for IfcBoxAlignment const IfcParse::type_declaration& Ifc4x3_rc4::IfcBoxAlignment::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[103]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcBoxAlignment::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[103]); } Ifc4x3_rc4::IfcBoxAlignment::IfcBoxAlignment(IfcEntityInstanceData&& e) : IfcLabel(std::move(e)) { } Ifc4x3_rc4::IfcBoxAlignment::IfcBoxAlignment(std::string v) : IfcLabel(v) { } -Ifc4x3_rc4::IfcBoxAlignment::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcBoxAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcCardinalPointReference const IfcParse::type_declaration& Ifc4x3_rc4::IfcCardinalPointReference::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[146]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcCardinalPointReference::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[146]); } Ifc4x3_rc4::IfcCardinalPointReference::IfcCardinalPointReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcCardinalPointReference::IfcCardinalPointReference(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcCardinalPointReference::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcCardinalPointReference::operator int() const { return get_attribute_value(0); } // Function implementations for IfcComplexNumber const IfcParse::type_declaration& Ifc4x3_rc4::IfcComplexNumber::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[190]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcComplexNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[190]); } Ifc4x3_rc4::IfcComplexNumber::IfcComplexNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcComplexNumber::IfcComplexNumber(std::vector< double > /*[1:2]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return get_attribute_value(0); } // Function implementations for IfcCompoundPlaneAngleMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcCompoundPlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[198]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcCompoundPlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[198]); } Ifc4x3_rc4::IfcCompoundPlaneAngleMeasure::IfcCompoundPlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcCompoundPlaneAngleMeasure::IfcCompoundPlaneAngleMeasure(std::vector< int > /*[3:4]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return get_attribute_value(0); } // Function implementations for IfcContextDependentMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcContextDependentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[228]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcContextDependentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[228]); } Ifc4x3_rc4::IfcContextDependentMeasure::IfcContextDependentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcContextDependentMeasure::IfcContextDependentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcContextDependentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcContextDependentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCountMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcCountMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[254]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcCountMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[254]); } Ifc4x3_rc4::IfcCountMeasure::IfcCountMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcCountMeasure::IfcCountMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcCountMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcCountMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCurvatureMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcCurvatureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[272]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcCurvatureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[272]); } Ifc4x3_rc4::IfcCurvatureMeasure::IfcCurvatureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcCurvatureMeasure::IfcCurvatureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcCurvatureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcCurvatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDate const IfcParse::type_declaration& Ifc4x3_rc4::IfcDate::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[292]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcDate::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[292]); } Ifc4x3_rc4::IfcDate::IfcDate(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcDate::IfcDate(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcDate::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcDate::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDateTime const IfcParse::type_declaration& Ifc4x3_rc4::IfcDateTime::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[293]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcDateTime::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[293]); } Ifc4x3_rc4::IfcDateTime::IfcDateTime(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcDateTime::IfcDateTime(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcDateTime::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcDateTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDayInMonthNumber const IfcParse::type_declaration& Ifc4x3_rc4::IfcDayInMonthNumber::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[294]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcDayInMonthNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[294]); } Ifc4x3_rc4::IfcDayInMonthNumber::IfcDayInMonthNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcDayInMonthNumber::IfcDayInMonthNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcDayInMonthNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcDayInMonthNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDayInWeekNumber const IfcParse::type_declaration& Ifc4x3_rc4::IfcDayInWeekNumber::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[295]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcDayInWeekNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[295]); } Ifc4x3_rc4::IfcDayInWeekNumber::IfcDayInWeekNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcDayInWeekNumber::IfcDayInWeekNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcDayInWeekNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcDayInWeekNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDescriptiveMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcDescriptiveMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[304]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcDescriptiveMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[304]); } Ifc4x3_rc4::IfcDescriptiveMeasure::IfcDescriptiveMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcDescriptiveMeasure::IfcDescriptiveMeasure(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcDescriptiveMeasure::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcDescriptiveMeasure::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDimensionCount const IfcParse::type_declaration& Ifc4x3_rc4::IfcDimensionCount::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[306]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcDimensionCount::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[306]); } Ifc4x3_rc4::IfcDimensionCount::IfcDimensionCount(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcDimensionCount::IfcDimensionCount(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcDimensionCount::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcDimensionCount::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDoseEquivalentMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcDoseEquivalentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[349]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcDoseEquivalentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[349]); } Ifc4x3_rc4::IfcDoseEquivalentMeasure::IfcDoseEquivalentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcDoseEquivalentMeasure::IfcDoseEquivalentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcDoseEquivalentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcDoseEquivalentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDuration const IfcParse::type_declaration& Ifc4x3_rc4::IfcDuration::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[361]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcDuration::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[361]); } Ifc4x3_rc4::IfcDuration::IfcDuration(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcDuration::IfcDuration(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcDuration::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcDuration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDynamicViscosityMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcDynamicViscosityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[362]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcDynamicViscosityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[362]); } Ifc4x3_rc4::IfcDynamicViscosityMeasure::IfcDynamicViscosityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcDynamicViscosityMeasure::IfcDynamicViscosityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcDynamicViscosityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcDynamicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCapacitanceMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcElectricCapacitanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[374]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcElectricCapacitanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[374]); } Ifc4x3_rc4::IfcElectricCapacitanceMeasure::IfcElectricCapacitanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcElectricCapacitanceMeasure::IfcElectricCapacitanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcElectricCapacitanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcElectricCapacitanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricChargeMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcElectricChargeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[375]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcElectricChargeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[375]); } Ifc4x3_rc4::IfcElectricChargeMeasure::IfcElectricChargeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcElectricChargeMeasure::IfcElectricChargeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcElectricChargeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcElectricChargeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricConductanceMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcElectricConductanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[376]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcElectricConductanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[376]); } Ifc4x3_rc4::IfcElectricConductanceMeasure::IfcElectricConductanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcElectricConductanceMeasure::IfcElectricConductanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcElectricConductanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcElectricConductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCurrentMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcElectricCurrentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[377]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcElectricCurrentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[377]); } Ifc4x3_rc4::IfcElectricCurrentMeasure::IfcElectricCurrentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcElectricCurrentMeasure::IfcElectricCurrentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcElectricCurrentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcElectricCurrentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricResistanceMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcElectricResistanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[393]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcElectricResistanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[393]); } Ifc4x3_rc4::IfcElectricResistanceMeasure::IfcElectricResistanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcElectricResistanceMeasure::IfcElectricResistanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcElectricResistanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcElectricResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricVoltageMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcElectricVoltageMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[397]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcElectricVoltageMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[397]); } Ifc4x3_rc4::IfcElectricVoltageMeasure::IfcElectricVoltageMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcElectricVoltageMeasure::IfcElectricVoltageMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcElectricVoltageMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcElectricVoltageMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcEnergyMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcEnergyMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[412]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcEnergyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[412]); } Ifc4x3_rc4::IfcEnergyMeasure::IfcEnergyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcEnergyMeasure::IfcEnergyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcEnergyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcEnergyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFontStyle const IfcParse::type_declaration& Ifc4x3_rc4::IfcFontStyle::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[493]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcFontStyle::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[493]); } Ifc4x3_rc4::IfcFontStyle::IfcFontStyle(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcFontStyle::IfcFontStyle(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcFontStyle::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcFontStyle::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontVariant const IfcParse::type_declaration& Ifc4x3_rc4::IfcFontVariant::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[494]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcFontVariant::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[494]); } Ifc4x3_rc4::IfcFontVariant::IfcFontVariant(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcFontVariant::IfcFontVariant(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcFontVariant::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcFontVariant::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontWeight const IfcParse::type_declaration& Ifc4x3_rc4::IfcFontWeight::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[495]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcFontWeight::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[495]); } Ifc4x3_rc4::IfcFontWeight::IfcFontWeight(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcFontWeight::IfcFontWeight(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcFontWeight::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcFontWeight::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcForceMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[499]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[499]); } Ifc4x3_rc4::IfcForceMeasure::IfcForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcForceMeasure::IfcForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFrequencyMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcFrequencyMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[500]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcFrequencyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[500]); } Ifc4x3_rc4::IfcFrequencyMeasure::IfcFrequencyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcFrequencyMeasure::IfcFrequencyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcFrequencyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcGloballyUniqueId const IfcParse::type_declaration& Ifc4x3_rc4::IfcGloballyUniqueId::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[521]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcGloballyUniqueId::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[521]); } Ifc4x3_rc4::IfcGloballyUniqueId::IfcGloballyUniqueId(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcGloballyUniqueId::IfcGloballyUniqueId(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcGloballyUniqueId::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcGloballyUniqueId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcHeatFluxDensityMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcHeatFluxDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[535]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcHeatFluxDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[535]); } Ifc4x3_rc4::IfcHeatFluxDensityMeasure::IfcHeatFluxDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcHeatFluxDensityMeasure::IfcHeatFluxDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcHeatFluxDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcHeatFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcHeatingValueMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcHeatingValueMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[536]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcHeatingValueMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[536]); } Ifc4x3_rc4::IfcHeatingValueMeasure::IfcHeatingValueMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcHeatingValueMeasure::IfcHeatingValueMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcHeatingValueMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcHeatingValueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIdentifier const IfcParse::type_declaration& Ifc4x3_rc4::IfcIdentifier::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[540]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcIdentifier::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[540]); } Ifc4x3_rc4::IfcIdentifier::IfcIdentifier(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcIdentifier::IfcIdentifier(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcIdentifier::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcIdentifier::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcIlluminanceMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcIlluminanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[541]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcIlluminanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[541]); } Ifc4x3_rc4::IfcIlluminanceMeasure::IfcIlluminanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcIlluminanceMeasure::IfcIlluminanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcIlluminanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcIlluminanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInductanceMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcInductanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[553]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcInductanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[553]); } Ifc4x3_rc4::IfcInductanceMeasure::IfcInductanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcInductanceMeasure::IfcInductanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcInductanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcInductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInteger const IfcParse::type_declaration& Ifc4x3_rc4::IfcInteger::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[554]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcInteger::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[554]); } Ifc4x3_rc4::IfcInteger::IfcInteger(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcInteger::IfcInteger(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcInteger::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIntegerCountRateMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcIntegerCountRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[555]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcIntegerCountRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[555]); } Ifc4x3_rc4::IfcIntegerCountRateMeasure::IfcIntegerCountRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcIntegerCountRateMeasure::IfcIntegerCountRateMeasure(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcIntegerCountRateMeasure::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcIntegerCountRateMeasure::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIonConcentrationMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcIonConcentrationMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[564]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcIonConcentrationMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[564]); } Ifc4x3_rc4::IfcIonConcentrationMeasure::IfcIonConcentrationMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcIonConcentrationMeasure::IfcIonConcentrationMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcIonConcentrationMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcIonConcentrationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIsothermalMoistureCapacityMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcIsothermalMoistureCapacityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[568]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcIsothermalMoistureCapacityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[568]); } Ifc4x3_rc4::IfcIsothermalMoistureCapacityMeasure::IfcIsothermalMoistureCapacityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcIsothermalMoistureCapacityMeasure::IfcIsothermalMoistureCapacityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcIsothermalMoistureCapacityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcIsothermalMoistureCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcKinematicViscosityMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcKinematicViscosityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[574]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcKinematicViscosityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[574]); } Ifc4x3_rc4::IfcKinematicViscosityMeasure::IfcKinematicViscosityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcKinematicViscosityMeasure::IfcKinematicViscosityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcKinematicViscosityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcKinematicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLabel const IfcParse::type_declaration& Ifc4x3_rc4::IfcLabel::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[576]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcLabel::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[576]); } Ifc4x3_rc4::IfcLabel::IfcLabel(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcLabel::IfcLabel(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcLabel::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcLabel::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLanguageId const IfcParse::type_declaration& Ifc4x3_rc4::IfcLanguageId::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[584]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcLanguageId::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[584]); } Ifc4x3_rc4::IfcLanguageId::IfcLanguageId(IfcEntityInstanceData&& e) : IfcIdentifier(std::move(e)) { } Ifc4x3_rc4::IfcLanguageId::IfcLanguageId(std::string v) : IfcIdentifier(v) { } -Ifc4x3_rc4::IfcLanguageId::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcLanguageId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLengthMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[587]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[587]); } Ifc4x3_rc4::IfcLengthMeasure::IfcLengthMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcLengthMeasure::IfcLengthMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLineIndex const IfcParse::type_declaration& Ifc4x3_rc4::IfcLineIndex::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[613]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcLineIndex::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[613]); } Ifc4x3_rc4::IfcLineIndex::IfcLineIndex(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcLineIndex::IfcLineIndex(std::vector< int > /*[2:?]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return get_attribute_value(0); } // Function implementations for IfcLinearForceMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcLinearForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[607]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcLinearForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[607]); } Ifc4x3_rc4::IfcLinearForceMeasure::IfcLinearForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcLinearForceMeasure::IfcLinearForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcLinearForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcLinearForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearMomentMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcLinearMomentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[608]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcLinearMomentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[608]); } Ifc4x3_rc4::IfcLinearMomentMeasure::IfcLinearMomentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcLinearMomentMeasure::IfcLinearMomentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcLinearMomentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcLinearMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearStiffnessMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcLinearStiffnessMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[611]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcLinearStiffnessMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[611]); } Ifc4x3_rc4::IfcLinearStiffnessMeasure::IfcLinearStiffnessMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcLinearStiffnessMeasure::IfcLinearStiffnessMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcLinearStiffnessMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcLinearStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearVelocityMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcLinearVelocityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[612]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcLinearVelocityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[612]); } Ifc4x3_rc4::IfcLinearVelocityMeasure::IfcLinearVelocityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcLinearVelocityMeasure::IfcLinearVelocityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcLinearVelocityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcLinearVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLogical const IfcParse::type_declaration& Ifc4x3_rc4::IfcLogical::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[619]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcLogical::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[619]); } Ifc4x3_rc4::IfcLogical::IfcLogical(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcLogical::IfcLogical(boost::logic::tribool v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcLogical::operator boost::logic::tribool() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcLogical::operator boost::logic::tribool() const { return get_attribute_value(0); } // Function implementations for IfcLuminousFluxMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcLuminousFluxMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[623]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcLuminousFluxMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[623]); } Ifc4x3_rc4::IfcLuminousFluxMeasure::IfcLuminousFluxMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcLuminousFluxMeasure::IfcLuminousFluxMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcLuminousFluxMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcLuminousFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityDistributionMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcLuminousIntensityDistributionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[624]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcLuminousIntensityDistributionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[624]); } Ifc4x3_rc4::IfcLuminousIntensityDistributionMeasure::IfcLuminousIntensityDistributionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcLuminousIntensityDistributionMeasure::IfcLuminousIntensityDistributionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcLuminousIntensityDistributionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcLuminousIntensityDistributionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcLuminousIntensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[625]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcLuminousIntensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[625]); } Ifc4x3_rc4::IfcLuminousIntensityMeasure::IfcLuminousIntensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcLuminousIntensityMeasure::IfcLuminousIntensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcLuminousIntensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcLuminousIntensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxDensityMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcMagneticFluxDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[626]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcMagneticFluxDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[626]); } Ifc4x3_rc4::IfcMagneticFluxDensityMeasure::IfcMagneticFluxDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcMagneticFluxDensityMeasure::IfcMagneticFluxDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcMagneticFluxDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcMagneticFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcMagneticFluxMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[627]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcMagneticFluxMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[627]); } Ifc4x3_rc4::IfcMagneticFluxMeasure::IfcMagneticFluxMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcMagneticFluxMeasure::IfcMagneticFluxMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcMagneticFluxMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcMagneticFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassDensityMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcMassDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[634]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcMassDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[634]); } Ifc4x3_rc4::IfcMassDensityMeasure::IfcMassDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcMassDensityMeasure::IfcMassDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcMassDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcMassDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassFlowRateMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcMassFlowRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[635]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcMassFlowRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[635]); } Ifc4x3_rc4::IfcMassFlowRateMeasure::IfcMassFlowRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcMassFlowRateMeasure::IfcMassFlowRateMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcMassFlowRateMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcMassFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcMassMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[636]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcMassMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[636]); } Ifc4x3_rc4::IfcMassMeasure::IfcMassMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcMassMeasure::IfcMassMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcMassMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassPerLengthMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcMassPerLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[637]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcMassPerLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[637]); } Ifc4x3_rc4::IfcMassPerLengthMeasure::IfcMassPerLengthMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcMassPerLengthMeasure::IfcMassPerLengthMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcMassPerLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcMassPerLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfElasticityMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcModulusOfElasticityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[676]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcModulusOfElasticityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[676]); } Ifc4x3_rc4::IfcModulusOfElasticityMeasure::IfcModulusOfElasticityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcModulusOfElasticityMeasure::IfcModulusOfElasticityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcModulusOfElasticityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcModulusOfElasticityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfLinearSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcModulusOfLinearSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[677]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcModulusOfLinearSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[677]); } Ifc4x3_rc4::IfcModulusOfLinearSubgradeReactionMeasure::IfcModulusOfLinearSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcModulusOfLinearSubgradeReactionMeasure::IfcModulusOfLinearSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfRotationalSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[678]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[678]); } Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionMeasure::IfcModulusOfRotationalSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionMeasure::IfcModulusOfRotationalSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcModulusOfSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[680]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcModulusOfSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[680]); } Ifc4x3_rc4::IfcModulusOfSubgradeReactionMeasure::IfcModulusOfSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcModulusOfSubgradeReactionMeasure::IfcModulusOfSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcModulusOfSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcModulusOfSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMoistureDiffusivityMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcMoistureDiffusivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[683]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcMoistureDiffusivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[683]); } Ifc4x3_rc4::IfcMoistureDiffusivityMeasure::IfcMoistureDiffusivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcMoistureDiffusivityMeasure::IfcMoistureDiffusivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcMoistureDiffusivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcMoistureDiffusivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMolecularWeightMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcMolecularWeightMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[684]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcMolecularWeightMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[684]); } Ifc4x3_rc4::IfcMolecularWeightMeasure::IfcMolecularWeightMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcMolecularWeightMeasure::IfcMolecularWeightMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcMolecularWeightMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcMolecularWeightMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMomentOfInertiaMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcMomentOfInertiaMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[685]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcMomentOfInertiaMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[685]); } Ifc4x3_rc4::IfcMomentOfInertiaMeasure::IfcMomentOfInertiaMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcMomentOfInertiaMeasure::IfcMomentOfInertiaMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcMomentOfInertiaMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcMomentOfInertiaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonetaryMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcMonetaryMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[686]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcMonetaryMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[686]); } Ifc4x3_rc4::IfcMonetaryMeasure::IfcMonetaryMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcMonetaryMeasure::IfcMonetaryMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcMonetaryMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcMonetaryMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonthInYearNumber const IfcParse::type_declaration& Ifc4x3_rc4::IfcMonthInYearNumber::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[688]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcMonthInYearNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[688]); } Ifc4x3_rc4::IfcMonthInYearNumber::IfcMonthInYearNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcMonthInYearNumber::IfcMonthInYearNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcMonthInYearNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcMonthInYearNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcNonNegativeLengthMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcNonNegativeLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[699]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcNonNegativeLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[699]); } Ifc4x3_rc4::IfcNonNegativeLengthMeasure::IfcNonNegativeLengthMeasure(IfcEntityInstanceData&& e) : IfcLengthMeasure(std::move(e)) { } Ifc4x3_rc4::IfcNonNegativeLengthMeasure::IfcNonNegativeLengthMeasure(double v) : IfcLengthMeasure(v) { } -Ifc4x3_rc4::IfcNonNegativeLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcNonNegativeLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNormalisedRatioMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcNormalisedRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[700]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcNormalisedRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[700]); } Ifc4x3_rc4::IfcNormalisedRatioMeasure::IfcNormalisedRatioMeasure(IfcEntityInstanceData&& e) : IfcRatioMeasure(std::move(e)) { } Ifc4x3_rc4::IfcNormalisedRatioMeasure::IfcNormalisedRatioMeasure(double v) : IfcRatioMeasure(v) { } -Ifc4x3_rc4::IfcNormalisedRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcNormalisedRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNumericMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcNumericMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[701]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcNumericMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[701]); } Ifc4x3_rc4::IfcNumericMeasure::IfcNumericMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcNumericMeasure::IfcNumericMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcNumericMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcNumericMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPHMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcPHMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[743]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcPHMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[743]); } Ifc4x3_rc4::IfcPHMeasure::IfcPHMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcPHMeasure::IfcPHMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcPHMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcPHMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcParameterValue const IfcParse::type_declaration& Ifc4x3_rc4::IfcParameterValue::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[729]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcParameterValue::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[729]); } Ifc4x3_rc4::IfcParameterValue::IfcParameterValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcParameterValue::IfcParameterValue(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcParameterValue::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcParameterValue::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlanarForceMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcPlanarForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[762]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcPlanarForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[762]); } Ifc4x3_rc4::IfcPlanarForceMeasure::IfcPlanarForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcPlanarForceMeasure::IfcPlanarForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcPlanarForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcPlanarForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlaneAngleMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcPlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[764]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcPlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[764]); } Ifc4x3_rc4::IfcPlaneAngleMeasure::IfcPlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcPlaneAngleMeasure::IfcPlaneAngleMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcPlaneAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcPlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveInteger const IfcParse::type_declaration& Ifc4x3_rc4::IfcPositiveInteger::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[782]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcPositiveInteger::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[782]); } Ifc4x3_rc4::IfcPositiveInteger::IfcPositiveInteger(IfcEntityInstanceData&& e) : IfcInteger(std::move(e)) { } Ifc4x3_rc4::IfcPositiveInteger::IfcPositiveInteger(int v) : IfcInteger(v) { } -Ifc4x3_rc4::IfcPositiveInteger::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcPositiveInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcPositiveLengthMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcPositiveLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[783]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcPositiveLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[783]); } Ifc4x3_rc4::IfcPositiveLengthMeasure::IfcPositiveLengthMeasure(IfcEntityInstanceData&& e) : IfcLengthMeasure(std::move(e)) { } Ifc4x3_rc4::IfcPositiveLengthMeasure::IfcPositiveLengthMeasure(double v) : IfcLengthMeasure(v) { } -Ifc4x3_rc4::IfcPositiveLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcPositiveLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositivePlaneAngleMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcPositivePlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[784]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcPositivePlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[784]); } Ifc4x3_rc4::IfcPositivePlaneAngleMeasure::IfcPositivePlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcPlaneAngleMeasure(std::move(e)) { } Ifc4x3_rc4::IfcPositivePlaneAngleMeasure::IfcPositivePlaneAngleMeasure(double v) : IfcPlaneAngleMeasure(v) { } -Ifc4x3_rc4::IfcPositivePlaneAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcPositivePlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveRatioMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcPositiveRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[785]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcPositiveRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[785]); } Ifc4x3_rc4::IfcPositiveRatioMeasure::IfcPositiveRatioMeasure(IfcEntityInstanceData&& e) : IfcRatioMeasure(std::move(e)) { } Ifc4x3_rc4::IfcPositiveRatioMeasure::IfcPositiveRatioMeasure(double v) : IfcRatioMeasure(v) { } -Ifc4x3_rc4::IfcPositiveRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcPositiveRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPowerMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcPowerMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[787]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcPowerMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[787]); } Ifc4x3_rc4::IfcPowerMeasure::IfcPowerMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcPowerMeasure::IfcPowerMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcPowerMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPresentableText const IfcParse::type_declaration& Ifc4x3_rc4::IfcPresentableText::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[795]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcPresentableText::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[795]); } Ifc4x3_rc4::IfcPresentableText::IfcPresentableText(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcPresentableText::IfcPresentableText(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcPresentableText::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcPresentableText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcPressureMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcPressureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[800]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcPressureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[800]); } Ifc4x3_rc4::IfcPressureMeasure::IfcPressureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcPressureMeasure::IfcPressureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcPressureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPropertySetDefinitionSet const IfcParse::type_declaration& Ifc4x3_rc4::IfcPropertySetDefinitionSet::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[834]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcPropertySetDefinitionSet::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[834]); } Ifc4x3_rc4::IfcPropertySetDefinitionSet::IfcPropertySetDefinitionSet(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcPropertySetDefinitionSet::IfcPropertySetDefinitionSet(aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v->generalize()); } -Ifc4x3_rc4::IfcPropertySetDefinitionSet::operator aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcPropertySetDefinition >(); } +Ifc4x3_rc4::IfcPropertySetDefinitionSet::operator aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcPropertySetDefinition >(); } // Function implementations for IfcRadioActivityMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcRadioActivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[858]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcRadioActivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[858]); } Ifc4x3_rc4::IfcRadioActivityMeasure::IfcRadioActivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcRadioActivityMeasure::IfcRadioActivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcRadioActivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcRadioActivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRatioMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[874]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[874]); } Ifc4x3_rc4::IfcRatioMeasure::IfcRatioMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcRatioMeasure::IfcRatioMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcReal const IfcParse::type_declaration& Ifc4x3_rc4::IfcReal::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[877]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcReal::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[877]); } Ifc4x3_rc4::IfcReal::IfcReal(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcReal::IfcReal(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcReal::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcReal::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalFrequencyMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcRotationalFrequencyMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[978]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcRotationalFrequencyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[978]); } Ifc4x3_rc4::IfcRotationalFrequencyMeasure::IfcRotationalFrequencyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcRotationalFrequencyMeasure::IfcRotationalFrequencyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcRotationalFrequencyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcRotationalFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalMassMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcRotationalMassMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[979]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcRotationalMassMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[979]); } Ifc4x3_rc4::IfcRotationalMassMeasure::IfcRotationalMassMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcRotationalMassMeasure::IfcRotationalMassMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcRotationalMassMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcRotationalMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalStiffnessMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcRotationalStiffnessMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[980]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcRotationalStiffnessMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[980]); } Ifc4x3_rc4::IfcRotationalStiffnessMeasure::IfcRotationalStiffnessMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcRotationalStiffnessMeasure::IfcRotationalStiffnessMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcRotationalStiffnessMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcRotationalStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionModulusMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcSectionModulusMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[994]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcSectionModulusMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[994]); } Ifc4x3_rc4::IfcSectionModulusMeasure::IfcSectionModulusMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcSectionModulusMeasure::IfcSectionModulusMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcSectionModulusMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcSectionModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionalAreaIntegralMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcSectionalAreaIntegralMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[989]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcSectionalAreaIntegralMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[989]); } Ifc4x3_rc4::IfcSectionalAreaIntegralMeasure::IfcSectionalAreaIntegralMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcSectionalAreaIntegralMeasure::IfcSectionalAreaIntegralMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcSectionalAreaIntegralMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcSectionalAreaIntegralMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcShearModulusMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcShearModulusMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1012]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcShearModulusMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1012]); } Ifc4x3_rc4::IfcShearModulusMeasure::IfcShearModulusMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcShearModulusMeasure::IfcShearModulusMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcShearModulusMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcShearModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSolidAngleMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcSolidAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1040]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcSolidAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1040]); } Ifc4x3_rc4::IfcSolidAngleMeasure::IfcSolidAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcSolidAngleMeasure::IfcSolidAngleMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcSolidAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcSolidAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerLevelMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcSoundPowerLevelMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1044]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcSoundPowerLevelMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1044]); } Ifc4x3_rc4::IfcSoundPowerLevelMeasure::IfcSoundPowerLevelMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcSoundPowerLevelMeasure::IfcSoundPowerLevelMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcSoundPowerLevelMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcSoundPowerLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcSoundPowerMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1045]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcSoundPowerMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1045]); } Ifc4x3_rc4::IfcSoundPowerMeasure::IfcSoundPowerMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcSoundPowerMeasure::IfcSoundPowerMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcSoundPowerMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcSoundPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureLevelMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcSoundPressureLevelMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1046]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcSoundPressureLevelMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1046]); } Ifc4x3_rc4::IfcSoundPressureLevelMeasure::IfcSoundPressureLevelMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcSoundPressureLevelMeasure::IfcSoundPressureLevelMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcSoundPressureLevelMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcSoundPressureLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcSoundPressureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1047]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcSoundPressureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1047]); } Ifc4x3_rc4::IfcSoundPressureMeasure::IfcSoundPressureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcSoundPressureMeasure::IfcSoundPressureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcSoundPressureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcSoundPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecificHeatCapacityMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcSpecificHeatCapacityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1063]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcSpecificHeatCapacityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1063]); } Ifc4x3_rc4::IfcSpecificHeatCapacityMeasure::IfcSpecificHeatCapacityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcSpecificHeatCapacityMeasure::IfcSpecificHeatCapacityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcSpecificHeatCapacityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcSpecificHeatCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularExponent const IfcParse::type_declaration& Ifc4x3_rc4::IfcSpecularExponent::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1064]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcSpecularExponent::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1064]); } Ifc4x3_rc4::IfcSpecularExponent::IfcSpecularExponent(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcSpecularExponent::IfcSpecularExponent(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcSpecularExponent::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcSpecularExponent::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularRoughness const IfcParse::type_declaration& Ifc4x3_rc4::IfcSpecularRoughness::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1066]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcSpecularRoughness::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1066]); } Ifc4x3_rc4::IfcSpecularRoughness::IfcSpecularRoughness(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcSpecularRoughness::IfcSpecularRoughness(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcSpecularRoughness::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcSpecularRoughness::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureGradientMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcTemperatureGradientMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1171]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcTemperatureGradientMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1171]); } Ifc4x3_rc4::IfcTemperatureGradientMeasure::IfcTemperatureGradientMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcTemperatureGradientMeasure::IfcTemperatureGradientMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcTemperatureGradientMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcTemperatureGradientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureRateOfChangeMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcTemperatureRateOfChangeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1172]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcTemperatureRateOfChangeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1172]); } Ifc4x3_rc4::IfcTemperatureRateOfChangeMeasure::IfcTemperatureRateOfChangeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcTemperatureRateOfChangeMeasure::IfcTemperatureRateOfChangeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcTemperatureRateOfChangeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcTemperatureRateOfChangeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcText const IfcParse::type_declaration& Ifc4x3_rc4::IfcText::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1184]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcText::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1184]); } Ifc4x3_rc4::IfcText::IfcText(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcText::IfcText(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcText::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextAlignment const IfcParse::type_declaration& Ifc4x3_rc4::IfcTextAlignment::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1185]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcTextAlignment::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1185]); } Ifc4x3_rc4::IfcTextAlignment::IfcTextAlignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcTextAlignment::IfcTextAlignment(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcTextAlignment::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcTextAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextDecoration const IfcParse::type_declaration& Ifc4x3_rc4::IfcTextDecoration::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1186]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcTextDecoration::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1186]); } Ifc4x3_rc4::IfcTextDecoration::IfcTextDecoration(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcTextDecoration::IfcTextDecoration(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcTextDecoration::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcTextDecoration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextFontName const IfcParse::type_declaration& Ifc4x3_rc4::IfcTextFontName::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1187]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcTextFontName::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1187]); } Ifc4x3_rc4::IfcTextFontName::IfcTextFontName(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcTextFontName::IfcTextFontName(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcTextFontName::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcTextFontName::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextTransformation const IfcParse::type_declaration& Ifc4x3_rc4::IfcTextTransformation::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1196]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcTextTransformation::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1196]); } Ifc4x3_rc4::IfcTextTransformation::IfcTextTransformation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcTextTransformation::IfcTextTransformation(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcTextTransformation::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcTextTransformation::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcThermalAdmittanceMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcThermalAdmittanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1202]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcThermalAdmittanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1202]); } Ifc4x3_rc4::IfcThermalAdmittanceMeasure::IfcThermalAdmittanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcThermalAdmittanceMeasure::IfcThermalAdmittanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcThermalAdmittanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcThermalAdmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalConductivityMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcThermalConductivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1203]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcThermalConductivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1203]); } Ifc4x3_rc4::IfcThermalConductivityMeasure::IfcThermalConductivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcThermalConductivityMeasure::IfcThermalConductivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcThermalConductivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcThermalConductivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalExpansionCoefficientMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcThermalExpansionCoefficientMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1204]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcThermalExpansionCoefficientMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1204]); } Ifc4x3_rc4::IfcThermalExpansionCoefficientMeasure::IfcThermalExpansionCoefficientMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcThermalExpansionCoefficientMeasure::IfcThermalExpansionCoefficientMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcThermalExpansionCoefficientMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcThermalExpansionCoefficientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalResistanceMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcThermalResistanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1205]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcThermalResistanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1205]); } Ifc4x3_rc4::IfcThermalResistanceMeasure::IfcThermalResistanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcThermalResistanceMeasure::IfcThermalResistanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcThermalResistanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcThermalResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalTransmittanceMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcThermalTransmittanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1206]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcThermalTransmittanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1206]); } Ifc4x3_rc4::IfcThermalTransmittanceMeasure::IfcThermalTransmittanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcThermalTransmittanceMeasure::IfcThermalTransmittanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcThermalTransmittanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcThermalTransmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermodynamicTemperatureMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcThermodynamicTemperatureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1207]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcThermodynamicTemperatureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1207]); } Ifc4x3_rc4::IfcThermodynamicTemperatureMeasure::IfcThermodynamicTemperatureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcThermodynamicTemperatureMeasure::IfcThermodynamicTemperatureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcThermodynamicTemperatureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcThermodynamicTemperatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTime const IfcParse::type_declaration& Ifc4x3_rc4::IfcTime::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1209]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcTime::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1209]); } Ifc4x3_rc4::IfcTime::IfcTime(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcTime::IfcTime(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcTime::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTimeMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcTimeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1210]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcTimeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1210]); } Ifc4x3_rc4::IfcTimeMeasure::IfcTimeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcTimeMeasure::IfcTimeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcTimeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcTimeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTimeStamp const IfcParse::type_declaration& Ifc4x3_rc4::IfcTimeStamp::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1216]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcTimeStamp::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1216]); } Ifc4x3_rc4::IfcTimeStamp::IfcTimeStamp(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcTimeStamp::IfcTimeStamp(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcTimeStamp::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcTimeStamp::operator int() const { return get_attribute_value(0); } // Function implementations for IfcTorqueMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcTorqueMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1220]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcTorqueMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1220]); } Ifc4x3_rc4::IfcTorqueMeasure::IfcTorqueMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcTorqueMeasure::IfcTorqueMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcTorqueMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcTorqueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcURIReference const IfcParse::type_declaration& Ifc4x3_rc4::IfcURIReference::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1257]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcURIReference::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1257]); } Ifc4x3_rc4::IfcURIReference::IfcURIReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcURIReference::IfcURIReference(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcURIReference::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcURIReference::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcVaporPermeabilityMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcVaporPermeabilityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1263]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcVaporPermeabilityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1263]); } Ifc4x3_rc4::IfcVaporPermeabilityMeasure::IfcVaporPermeabilityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcVaporPermeabilityMeasure::IfcVaporPermeabilityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcVaporPermeabilityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcVaporPermeabilityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumeMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcVolumeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1280]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcVolumeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1280]); } Ifc4x3_rc4::IfcVolumeMeasure::IfcVolumeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcVolumeMeasure::IfcVolumeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcVolumeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcVolumeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumetricFlowRateMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcVolumetricFlowRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1281]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcVolumetricFlowRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1281]); } Ifc4x3_rc4::IfcVolumetricFlowRateMeasure::IfcVolumetricFlowRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcVolumetricFlowRateMeasure::IfcVolumetricFlowRateMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcVolumetricFlowRateMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcVolumetricFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingConstantMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcWarpingConstantMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1287]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcWarpingConstantMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1287]); } Ifc4x3_rc4::IfcWarpingConstantMeasure::IfcWarpingConstantMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcWarpingConstantMeasure::IfcWarpingConstantMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcWarpingConstantMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcWarpingConstantMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingMomentMeasure const IfcParse::type_declaration& Ifc4x3_rc4::IfcWarpingMomentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1288]); } const IfcParse::type_declaration& Ifc4x3_rc4::IfcWarpingMomentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_RC4_types[1288]); } Ifc4x3_rc4::IfcWarpingMomentMeasure::IfcWarpingMomentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_rc4::IfcWarpingMomentMeasure::IfcWarpingMomentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_rc4::IfcWarpingMomentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_rc4::IfcWarpingMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcActionRequest -boost::optional< ::Ifc4x3_rc4::IfcActionRequestTypeEnum::Value > Ifc4x3_rc4::IfcActionRequest::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcActionRequestTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_rc4::IfcActionRequestTypeEnum::Value > Ifc4x3_rc4::IfcActionRequest::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcActionRequestTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_rc4::IfcActionRequest::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcActionRequestTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_rc4::IfcActionRequestTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc4::IfcActionRequest::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcActionRequest::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcActionRequest::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc4::IfcActionRequest::LongDescription() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcActionRequest::LongDescription() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcActionRequest::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcActionRequest::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[2]); } const IfcParse::entity& Ifc4x3_rc4::IfcActionRequest::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[2]); } Ifc4x3_rc4::IfcActionRequest::IfcActionRequest(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc4::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc4::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } // Function implementations for IfcActor -::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcActorSelect>(true); } +::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcActorSelect>(true); } void Ifc4x3_rc4::IfcActor::setTheActor(::Ifc4x3_rc4::IfcActorSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc4x3_rc4::IfcRelAssignsToActor::list::ptr Ifc4x3_rc4::IfcActor::IsActingUpon() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[906], 6)->as(); } @@ -7744,14 +7744,14 @@ void Ifc4x3_rc4::IfcActor::setTheActor(::Ifc4x3_rc4::IfcActorSelect* v) { set_at const IfcParse::entity& Ifc4x3_rc4::IfcActor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[6]); } const IfcParse::entity& Ifc4x3_rc4::IfcActor::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[6]); } Ifc4x3_rc4::IfcActor::IfcActor(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -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(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcActorRole -::Ifc4x3_rc4::IfcRoleEnum::Value Ifc4x3_rc4::IfcActorRole::Role() const { return ::Ifc4x3_rc4::IfcRoleEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_rc4::IfcRoleEnum::Value Ifc4x3_rc4::IfcActorRole::Role() const { return ::Ifc4x3_rc4::IfcRoleEnum::FromString(get_attribute_value(0)); } void Ifc4x3_rc4::IfcActorRole::setRole(::Ifc4x3_rc4::IfcRoleEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_rc4::IfcRoleEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc4::IfcActorRole::UserDefinedRole() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcActorRole::UserDefinedRole() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcActorRole::setUserDefinedRole(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc4::IfcActorRole::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcActorRole::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcActorRole::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3_rc4::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc4::IfcActorRole::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[433], 3)->as(); } @@ -7759,34 +7759,34 @@ void Ifc4x3_rc4::IfcActorRole::setDescription(boost::optional< std::string > v) const IfcParse::entity& Ifc4x3_rc4::IfcActorRole::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[7]); } const IfcParse::entity& Ifc4x3_rc4::IfcActorRole::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[7]); } Ifc4x3_rc4::IfcActorRole::IfcActorRole(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcActorRole::IfcActorRole(::Ifc4x3_rc4::IfcRoleEnum::Value v1_Role, boost::optional< std::string > v2_UserDefinedRole, boost::optional< std::string > v3_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } +Ifc4x3_rc4::IfcActorRole::IfcActorRole(::Ifc4x3_rc4::IfcRoleEnum::Value v1_Role, boost::optional< std::string > v2_UserDefinedRole, boost::optional< std::string > v3_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } // Function implementations for IfcActuator -boost::optional< ::Ifc4x3_rc4::IfcActuatorTypeEnum::Value > Ifc4x3_rc4::IfcActuator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcActuatorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcActuatorTypeEnum::Value > Ifc4x3_rc4::IfcActuator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcActuatorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcActuator::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcActuatorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcActuatorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcActuator::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[9]); } const IfcParse::entity& Ifc4x3_rc4::IfcActuator::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[9]); } Ifc4x3_rc4::IfcActuator::IfcActuator(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcActuatorType -::Ifc4x3_rc4::IfcActuatorTypeEnum::Value Ifc4x3_rc4::IfcActuatorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcActuatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcActuatorTypeEnum::Value Ifc4x3_rc4::IfcActuatorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcActuatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcActuatorType::setPredefinedType(::Ifc4x3_rc4::IfcActuatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcActuatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcActuatorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[10]); } const IfcParse::entity& Ifc4x3_rc4::IfcActuatorType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[10]); } Ifc4x3_rc4::IfcActuatorType::IfcActuatorType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAddress -boost::optional< ::Ifc4x3_rc4::IfcAddressTypeEnum::Value > Ifc4x3_rc4::IfcAddress::Purpose() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAddressTypeEnum::FromString(data_.get_attribute_value(0)); } +boost::optional< ::Ifc4x3_rc4::IfcAddressTypeEnum::Value > Ifc4x3_rc4::IfcAddress::Purpose() const { if(get_attribute_value(0).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAddressTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x3_rc4::IfcAddress::setPurpose(boost::optional< ::Ifc4x3_rc4::IfcAddressTypeEnum::Value > v) { if (v) {set_attribute_value(0, EnumerationReference(&::Ifc4x3_rc4::IfcAddressTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc4::IfcAddress::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcAddress::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcAddress::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc4::IfcAddress::UserDefinedPurpose() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcAddress::UserDefinedPurpose() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcAddress::setUserDefinedPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3_rc4::IfcPerson::list::ptr Ifc4x3_rc4::IfcAddress::OfPerson() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[741], 7)->as(); } @@ -7795,7 +7795,7 @@ void Ifc4x3_rc4::IfcAddress::setUserDefinedPurpose(boost::optional< std::string const IfcParse::entity& Ifc4x3_rc4::IfcAddress::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[12]); } const IfcParse::entity& Ifc4x3_rc4::IfcAddress::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[12]); } Ifc4x3_rc4::IfcAddress::IfcAddress(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcAddress::IfcAddress(boost::optional< ::Ifc4x3_rc4::IfcAddressTypeEnum::Value > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; populate_derived(); } +Ifc4x3_rc4::IfcAddress::IfcAddress(boost::optional< ::Ifc4x3_rc4::IfcAddressTypeEnum::Value > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; populate_derived(); } // Function implementations for IfcAdvancedBrep @@ -7803,17 +7803,17 @@ Ifc4x3_rc4::IfcAddress::IfcAddress(boost::optional< ::Ifc4x3_rc4::IfcAddressType const IfcParse::entity& Ifc4x3_rc4::IfcAdvancedBrep::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[14]); } const IfcParse::entity& Ifc4x3_rc4::IfcAdvancedBrep::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[14]); } Ifc4x3_rc4::IfcAdvancedBrep::IfcAdvancedBrep(IfcEntityInstanceData&& e) : IfcManifoldSolidBrep(std::move(e)) { } -Ifc4x3_rc4::IfcAdvancedBrep::IfcAdvancedBrep(::Ifc4x3_rc4::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcAdvancedBrep::IfcAdvancedBrep(::Ifc4x3_rc4::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAdvancedBrepWithVoids -aggregate_of< ::Ifc4x3_rc4::IfcClosedShell >::ptr Ifc4x3_rc4::IfcAdvancedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcClosedShell >(); } +aggregate_of< ::Ifc4x3_rc4::IfcClosedShell >::ptr Ifc4x3_rc4::IfcAdvancedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcClosedShell >(); } void Ifc4x3_rc4::IfcAdvancedBrepWithVoids::setVoids(aggregate_of< ::Ifc4x3_rc4::IfcClosedShell >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcAdvancedBrepWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[15]); } const IfcParse::entity& Ifc4x3_rc4::IfcAdvancedBrepWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[15]); } Ifc4x3_rc4::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(IfcEntityInstanceData&& e) : IfcAdvancedBrep(std::move(e)) { } -Ifc4x3_rc4::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4x3_rc4::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3_rc4::IfcClosedShell >::ptr v2_Voids) : IfcAdvancedBrep(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } +Ifc4x3_rc4::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4x3_rc4::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3_rc4::IfcClosedShell >::ptr v2_Voids) : IfcAdvancedBrep(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } // Function implementations for IfcAdvancedFace @@ -7821,129 +7821,129 @@ Ifc4x3_rc4::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4x3_rc4::Ifc const IfcParse::entity& Ifc4x3_rc4::IfcAdvancedFace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[16]); } const IfcParse::entity& Ifc4x3_rc4::IfcAdvancedFace::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[16]); } Ifc4x3_rc4::IfcAdvancedFace::IfcAdvancedFace(IfcEntityInstanceData&& e) : IfcFaceSurface(std::move(e)) { } -Ifc4x3_rc4::IfcAdvancedFace::IfcAdvancedFace(aggregate_of< ::Ifc4x3_rc4::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_rc4::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFaceSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } +Ifc4x3_rc4::IfcAdvancedFace::IfcAdvancedFace(aggregate_of< ::Ifc4x3_rc4::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_rc4::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFaceSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } // Function implementations for IfcAirTerminal -boost::optional< ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value > Ifc4x3_rc4::IfcAirTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value > Ifc4x3_rc4::IfcAirTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcAirTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcAirTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[17]); } const IfcParse::entity& Ifc4x3_rc4::IfcAirTerminal::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[17]); } Ifc4x3_rc4::IfcAirTerminal::IfcAirTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAirTerminalBox -boost::optional< ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value > Ifc4x3_rc4::IfcAirTerminalBox::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value > Ifc4x3_rc4::IfcAirTerminalBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcAirTerminalBox::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcAirTerminalBox::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[18]); } const IfcParse::entity& Ifc4x3_rc4::IfcAirTerminalBox::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[18]); } Ifc4x3_rc4::IfcAirTerminalBox::IfcAirTerminalBox(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAirTerminalBoxType -::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value Ifc4x3_rc4::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value Ifc4x3_rc4::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcAirTerminalBoxType::setPredefinedType(::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcAirTerminalBoxType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[19]); } const IfcParse::entity& Ifc4x3_rc4::IfcAirTerminalBoxType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[19]); } Ifc4x3_rc4::IfcAirTerminalBoxType::IfcAirTerminalBoxType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAirTerminalType -::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value Ifc4x3_rc4::IfcAirTerminalType::PredefinedType() const { return ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value Ifc4x3_rc4::IfcAirTerminalType::PredefinedType() const { return ::Ifc4x3_rc4::IfcAirTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcAirTerminalType::setPredefinedType(::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcAirTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[21]); } const IfcParse::entity& Ifc4x3_rc4::IfcAirTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[21]); } Ifc4x3_rc4::IfcAirTerminalType::IfcAirTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAirToAirHeatRecovery -boost::optional< ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x3_rc4::IfcAirToAirHeatRecovery::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x3_rc4::IfcAirToAirHeatRecovery::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcAirToAirHeatRecovery::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcAirToAirHeatRecovery::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[23]); } const IfcParse::entity& Ifc4x3_rc4::IfcAirToAirHeatRecovery::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[23]); } Ifc4x3_rc4::IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAirToAirHeatRecoveryType -::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3_rc4::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3_rc4::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcAirToAirHeatRecoveryType::setPredefinedType(::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcAirToAirHeatRecoveryType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[24]); } const IfcParse::entity& Ifc4x3_rc4::IfcAirToAirHeatRecoveryType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[24]); } Ifc4x3_rc4::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlarm -boost::optional< ::Ifc4x3_rc4::IfcAlarmTypeEnum::Value > Ifc4x3_rc4::IfcAlarm::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAlarmTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcAlarmTypeEnum::Value > Ifc4x3_rc4::IfcAlarm::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAlarmTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcAlarm::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAlarmTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcAlarmTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcAlarm::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[26]); } const IfcParse::entity& Ifc4x3_rc4::IfcAlarm::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[26]); } Ifc4x3_rc4::IfcAlarm::IfcAlarm(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAlarmType -::Ifc4x3_rc4::IfcAlarmTypeEnum::Value Ifc4x3_rc4::IfcAlarmType::PredefinedType() const { return ::Ifc4x3_rc4::IfcAlarmTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcAlarmTypeEnum::Value Ifc4x3_rc4::IfcAlarmType::PredefinedType() const { return ::Ifc4x3_rc4::IfcAlarmTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcAlarmType::setPredefinedType(::Ifc4x3_rc4::IfcAlarmTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcAlarmTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcAlarmType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[27]); } const IfcParse::entity& Ifc4x3_rc4::IfcAlarmType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[27]); } Ifc4x3_rc4::IfcAlarmType::IfcAlarmType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlignment -boost::optional< ::Ifc4x3_rc4::IfcAlignmentTypeEnum::Value > Ifc4x3_rc4::IfcAlignment::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAlignmentTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_rc4::IfcAlignmentTypeEnum::Value > Ifc4x3_rc4::IfcAlignment::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAlignmentTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc4::IfcAlignment::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAlignmentTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc4::IfcAlignmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc4::IfcAlignment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[29]); } const IfcParse::entity& Ifc4x3_rc4::IfcAlignment::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[29]); } Ifc4x3_rc4::IfcAlignment::IfcAlignment(IfcEntityInstanceData&& e) : IfcLinearPositioningElement(std::move(e)) { } -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(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcAlignmentTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcAlignmentTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAlignmentCant -double Ifc4x3_rc4::IfcAlignmentCant::RailHeadDistance() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x3_rc4::IfcAlignmentCant::RailHeadDistance() const { double v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcAlignmentCant::setRailHeadDistance(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc4::IfcAlignmentCant::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[30]); } const IfcParse::entity& Ifc4x3_rc4::IfcAlignmentCant::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[30]); } Ifc4x3_rc4::IfcAlignmentCant::IfcAlignmentCant(IfcEntityInstanceData&& e) : IfcLinearElement(std::move(e)) { } -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(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RailHeadDistance));; populate_derived(); } +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(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RailHeadDistance));; populate_derived(); } // Function implementations for IfcAlignmentCantSegment -double Ifc4x3_rc4::IfcAlignmentCantSegment::StartDistAlong() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc4::IfcAlignmentCantSegment::StartDistAlong() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcAlignmentCantSegment::setStartDistAlong(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc4::IfcAlignmentCantSegment::HorizontalLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc4::IfcAlignmentCantSegment::HorizontalLength() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcAlignmentCantSegment::setHorizontalLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc4::IfcAlignmentCantSegment::StartCantLeft() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc4::IfcAlignmentCantSegment::StartCantLeft() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcAlignmentCantSegment::setStartCantLeft(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< double > Ifc4x3_rc4::IfcAlignmentCantSegment::EndCantLeft() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc4::IfcAlignmentCantSegment::EndCantLeft() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcAlignmentCantSegment::setEndCantLeft(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -double Ifc4x3_rc4::IfcAlignmentCantSegment::StartCantRight() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc4::IfcAlignmentCantSegment::StartCantRight() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcAlignmentCantSegment::setStartCantRight(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc4::IfcAlignmentCantSegment::EndCantRight() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc4::IfcAlignmentCantSegment::EndCantRight() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcAlignmentCantSegment::setEndCantRight(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::Value Ifc4x3_rc4::IfcAlignmentCantSegment::PredefinedType() const { return ::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::Value Ifc4x3_rc4::IfcAlignmentCantSegment::PredefinedType() const { return ::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcAlignmentCantSegment::setPredefinedType(::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc4::IfcAlignmentCantSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[31]); } const IfcParse::entity& Ifc4x3_rc4::IfcAlignmentCantSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[31]); } Ifc4x3_rc4::IfcAlignmentCantSegment::IfcAlignmentCantSegment(IfcEntityInstanceData&& e) : IfcAlignmentParameterSegment(std::move(e)) { } -Ifc4x3_rc4::IfcAlignmentCantSegment::IfcAlignmentCantSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, boost::optional< double > v6_EndCantLeft, double v7_StartCantRight, boost::optional< double > v8_EndCantRight, ::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(storage_t(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartCantLeft)); if (v6_EndCantLeft) {set_attribute_value(5, (*v6_EndCantLeft)); }set_attribute_value(6, (v7_StartCantRight)); if (v8_EndCantRight) {set_attribute_value(7, (*v8_EndCantRight)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } +Ifc4x3_rc4::IfcAlignmentCantSegment::IfcAlignmentCantSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, boost::optional< double > v6_EndCantLeft, double v7_StartCantRight, boost::optional< double > v8_EndCantRight, ::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartCantLeft)); if (v6_EndCantLeft) {set_attribute_value(5, (*v6_EndCantLeft)); }set_attribute_value(6, (v7_StartCantRight)); if (v8_EndCantRight) {set_attribute_value(7, (*v8_EndCantRight)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcAlignmentCantSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlignmentHorizontal @@ -7951,51 +7951,51 @@ Ifc4x3_rc4::IfcAlignmentCantSegment::IfcAlignmentCantSegment(boost::optional< st const IfcParse::entity& Ifc4x3_rc4::IfcAlignmentHorizontal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[33]); } const IfcParse::entity& Ifc4x3_rc4::IfcAlignmentHorizontal::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[33]); } Ifc4x3_rc4::IfcAlignmentHorizontal::IfcAlignmentHorizontal(IfcEntityInstanceData&& e) : IfcLinearElement(std::move(e)) { } -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(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAlignmentHorizontalSegment -::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcAlignmentHorizontalSegment::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcCartesianPoint>(true); } +::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcAlignmentHorizontalSegment::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcCartesianPoint>(true); } void Ifc4x3_rc4::IfcAlignmentHorizontalSegment::setStartPoint(::Ifc4x3_rc4::IfcCartesianPoint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc4::IfcAlignmentHorizontalSegment::StartDirection() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc4::IfcAlignmentHorizontalSegment::StartDirection() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcAlignmentHorizontalSegment::setStartDirection(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc4::IfcAlignmentHorizontalSegment::StartRadiusOfCurvature() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc4::IfcAlignmentHorizontalSegment::StartRadiusOfCurvature() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcAlignmentHorizontalSegment::setStartRadiusOfCurvature(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc4::IfcAlignmentHorizontalSegment::EndRadiusOfCurvature() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc4::IfcAlignmentHorizontalSegment::EndRadiusOfCurvature() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcAlignmentHorizontalSegment::setEndRadiusOfCurvature(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc4::IfcAlignmentHorizontalSegment::SegmentLength() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc4::IfcAlignmentHorizontalSegment::SegmentLength() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcAlignmentHorizontalSegment::setSegmentLength(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc4::IfcAlignmentHorizontalSegment::GravityCenterLineHeight() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc4::IfcAlignmentHorizontalSegment::GravityCenterLineHeight() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcAlignmentHorizontalSegment::setGravityCenterLineHeight(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::Value Ifc4x3_rc4::IfcAlignmentHorizontalSegment::PredefinedType() const { return ::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::Value Ifc4x3_rc4::IfcAlignmentHorizontalSegment::PredefinedType() const { return ::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcAlignmentHorizontalSegment::setPredefinedType(::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc4::IfcAlignmentHorizontalSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[34]); } const IfcParse::entity& Ifc4x3_rc4::IfcAlignmentHorizontalSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[34]); } Ifc4x3_rc4::IfcAlignmentHorizontalSegment::IfcAlignmentHorizontalSegment(IfcEntityInstanceData&& e) : IfcAlignmentParameterSegment(std::move(e)) { } -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(storage_t(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, v3_StartPoint ? v3_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_StartDirection));set_attribute_value(4, (v5_StartRadiusOfCurvature));set_attribute_value(5, (v6_EndRadiusOfCurvature));set_attribute_value(6, (v7_SegmentLength)); if (v8_GravityCenterLineHeight) {set_attribute_value(7, (*v8_GravityCenterLineHeight)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, v3_StartPoint ? v3_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_StartDirection));set_attribute_value(4, (v5_StartRadiusOfCurvature));set_attribute_value(5, (v6_EndRadiusOfCurvature));set_attribute_value(6, (v7_SegmentLength)); if (v8_GravityCenterLineHeight) {set_attribute_value(7, (*v8_GravityCenterLineHeight)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcAlignmentHorizontalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlignmentParameterSegment -boost::optional< std::string > Ifc4x3_rc4::IfcAlignmentParameterSegment::StartTag() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcAlignmentParameterSegment::StartTag() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcAlignmentParameterSegment::setStartTag(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc4::IfcAlignmentParameterSegment::EndTag() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcAlignmentParameterSegment::EndTag() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcAlignmentParameterSegment::setEndTag(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_rc4::IfcAlignmentParameterSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[36]); } const IfcParse::entity& Ifc4x3_rc4::IfcAlignmentParameterSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[36]); } Ifc4x3_rc4::IfcAlignmentParameterSegment::IfcAlignmentParameterSegment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcAlignmentParameterSegment::IfcAlignmentParameterSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }; populate_derived(); } +Ifc4x3_rc4::IfcAlignmentParameterSegment::IfcAlignmentParameterSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }; populate_derived(); } // Function implementations for IfcAlignmentSegment -::Ifc4x3_rc4::IfcAlignmentParameterSegment* Ifc4x3_rc4::IfcAlignmentSegment::DesignParameters() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc4::IfcAlignmentParameterSegment>(true); } +::Ifc4x3_rc4::IfcAlignmentParameterSegment* Ifc4x3_rc4::IfcAlignmentSegment::DesignParameters() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc4::IfcAlignmentParameterSegment>(true); } void Ifc4x3_rc4::IfcAlignmentSegment::setDesignParameters(::Ifc4x3_rc4::IfcAlignmentParameterSegment* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc4::IfcAlignmentSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[37]); } const IfcParse::entity& Ifc4x3_rc4::IfcAlignmentSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[37]); } Ifc4x3_rc4::IfcAlignmentSegment::IfcAlignmentSegment(IfcEntityInstanceData&& e) : IfcLinearElement(std::move(e)) { } -Ifc4x3_rc4::IfcAlignmentSegment::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) : IfcLinearElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_DesignParameters ? v8_DesignParameters->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcAlignmentSegment::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) : IfcLinearElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_DesignParameters ? v8_DesignParameters->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAlignmentVertical @@ -8003,32 +8003,32 @@ Ifc4x3_rc4::IfcAlignmentSegment::IfcAlignmentSegment(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x3_rc4::IfcAlignmentVertical::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[39]); } const IfcParse::entity& Ifc4x3_rc4::IfcAlignmentVertical::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[39]); } Ifc4x3_rc4::IfcAlignmentVertical::IfcAlignmentVertical(IfcEntityInstanceData&& e) : IfcLinearElement(std::move(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(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAlignmentVerticalSegment -double Ifc4x3_rc4::IfcAlignmentVerticalSegment::StartDistAlong() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc4::IfcAlignmentVerticalSegment::StartDistAlong() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcAlignmentVerticalSegment::setStartDistAlong(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc4::IfcAlignmentVerticalSegment::HorizontalLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc4::IfcAlignmentVerticalSegment::HorizontalLength() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcAlignmentVerticalSegment::setHorizontalLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc4::IfcAlignmentVerticalSegment::StartHeight() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc4::IfcAlignmentVerticalSegment::StartHeight() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcAlignmentVerticalSegment::setStartHeight(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc4::IfcAlignmentVerticalSegment::StartGradient() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc4::IfcAlignmentVerticalSegment::StartGradient() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcAlignmentVerticalSegment::setStartGradient(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc4::IfcAlignmentVerticalSegment::EndGradient() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc4::IfcAlignmentVerticalSegment::EndGradient() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcAlignmentVerticalSegment::setEndGradient(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc4::IfcAlignmentVerticalSegment::RadiusOfCurvature() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc4::IfcAlignmentVerticalSegment::RadiusOfCurvature() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcAlignmentVerticalSegment::setRadiusOfCurvature(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::Value Ifc4x3_rc4::IfcAlignmentVerticalSegment::PredefinedType() const { return ::Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::Value Ifc4x3_rc4::IfcAlignmentVerticalSegment::PredefinedType() const { return ::Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcAlignmentVerticalSegment::setPredefinedType(::Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc4::IfcAlignmentVerticalSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[40]); } const IfcParse::entity& Ifc4x3_rc4::IfcAlignmentVerticalSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[40]); } Ifc4x3_rc4::IfcAlignmentVerticalSegment::IfcAlignmentVerticalSegment(IfcEntityInstanceData&& e) : IfcAlignmentParameterSegment(std::move(e)) { } -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(storage_t(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } // Function implementations for IfcAnnotation -boost::optional< ::Ifc4x3_rc4::IfcAnnotationTypeEnum::Value > Ifc4x3_rc4::IfcAnnotation::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAnnotationTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_rc4::IfcAnnotationTypeEnum::Value > Ifc4x3_rc4::IfcAnnotation::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAnnotationTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc4::IfcAnnotation::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAnnotationTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc4::IfcAnnotationTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } ::Ifc4x3_rc4::IfcRelContainedInSpatialStructure::list::ptr Ifc4x3_rc4::IfcAnnotation::ContainedInStructure() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[931], 4)->as(); } @@ -8036,56 +8036,56 @@ void Ifc4x3_rc4::IfcAnnotation::setPredefinedType(boost::optional< ::Ifc4x3_rc4: const IfcParse::entity& Ifc4x3_rc4::IfcAnnotation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[46]); } const IfcParse::entity& Ifc4x3_rc4::IfcAnnotation::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[46]); } Ifc4x3_rc4::IfcAnnotation::IfcAnnotation(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -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(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcAnnotationTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcAnnotationTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAnnotationFillArea -::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCurve>(true); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcAnnotationFillArea::setOuterBoundary(::Ifc4x3_rc4::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcCurve >::ptr > Ifc4x3_rc4::IfcAnnotationFillArea::InnerBoundaries() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcCurve >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcCurve >::ptr > Ifc4x3_rc4::IfcAnnotationFillArea::InnerBoundaries() const { if(get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcCurve >(); } void Ifc4x3_rc4::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcCurve >::ptr > v) { if (v) {set_attribute_value(1, (*v)->generalize());} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_rc4::IfcAnnotationFillArea::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[47]); } const IfcParse::entity& Ifc4x3_rc4::IfcAnnotationFillArea::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[47]); } Ifc4x3_rc4::IfcAnnotationFillArea::IfcAnnotationFillArea(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcAnnotationFillArea::IfcAnnotationFillArea(::Ifc4x3_rc4::IfcCurve* v1_OuterBoundary, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcCurve >::ptr > v2_InnerBoundaries) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_OuterBoundary ? v1_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_InnerBoundaries) {set_attribute_value(1, (*v2_InnerBoundaries)->generalize()); }; populate_derived(); } +Ifc4x3_rc4::IfcAnnotationFillArea::IfcAnnotationFillArea(::Ifc4x3_rc4::IfcCurve* v1_OuterBoundary, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcCurve >::ptr > v2_InnerBoundaries) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_OuterBoundary ? v1_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_InnerBoundaries) {set_attribute_value(1, (*v2_InnerBoundaries)->generalize()); }; populate_derived(); } // Function implementations for IfcApplication -::Ifc4x3_rc4::IfcOrganization* Ifc4x3_rc4::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcOrganization>(true); } +::Ifc4x3_rc4::IfcOrganization* Ifc4x3_rc4::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcOrganization>(true); } void Ifc4x3_rc4::IfcApplication::setApplicationDeveloper(::Ifc4x3_rc4::IfcOrganization* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x3_rc4::IfcApplication::Version() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_rc4::IfcApplication::Version() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcApplication::setVersion(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::string Ifc4x3_rc4::IfcApplication::ApplicationFullName() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3_rc4::IfcApplication::ApplicationFullName() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcApplication::setApplicationFullName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::string Ifc4x3_rc4::IfcApplication::ApplicationIdentifier() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x3_rc4::IfcApplication::ApplicationIdentifier() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcApplication::setApplicationIdentifier(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcApplication::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[49]); } const IfcParse::entity& Ifc4x3_rc4::IfcApplication::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[49]); } Ifc4x3_rc4::IfcApplication::IfcApplication(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcApplication::IfcApplication(::Ifc4x3_rc4::IfcOrganization* v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ApplicationDeveloper ? v1_ApplicationDeveloper->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; populate_derived(); } +Ifc4x3_rc4::IfcApplication::IfcApplication(::Ifc4x3_rc4::IfcOrganization* v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ApplicationDeveloper ? v1_ApplicationDeveloper->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; populate_derived(); } // Function implementations for IfcAppliedValue -boost::optional< std::string > Ifc4x3_rc4::IfcAppliedValue::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcAppliedValue::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcAppliedValue::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc4::IfcAppliedValue::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcAppliedValue::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcAppliedValue::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc4::IfcAppliedValueSelect* Ifc4x3_rc4::IfcAppliedValue::AppliedValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcAppliedValueSelect>(true); } +::Ifc4x3_rc4::IfcAppliedValueSelect* Ifc4x3_rc4::IfcAppliedValue::AppliedValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcAppliedValueSelect>(true); } void Ifc4x3_rc4::IfcAppliedValue::setAppliedValue(::Ifc4x3_rc4::IfcAppliedValueSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcMeasureWithUnit* Ifc4x3_rc4::IfcAppliedValue::UnitBasis() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcMeasureWithUnit>(true); } +::Ifc4x3_rc4::IfcMeasureWithUnit* Ifc4x3_rc4::IfcAppliedValue::UnitBasis() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcMeasureWithUnit>(true); } void Ifc4x3_rc4::IfcAppliedValue::setUnitBasis(::Ifc4x3_rc4::IfcMeasureWithUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc4::IfcAppliedValue::ApplicableDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcAppliedValue::ApplicableDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcAppliedValue::setApplicableDate(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc4::IfcAppliedValue::FixedUntilDate() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcAppliedValue::FixedUntilDate() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcAppliedValue::setFixedUntilDate(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc4::IfcAppliedValue::Category() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcAppliedValue::Category() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcAppliedValue::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc4::IfcAppliedValue::Condition() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcAppliedValue::Condition() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcAppliedValue::setCondition(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value > Ifc4x3_rc4::IfcAppliedValue::ArithmeticOperator() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcArithmeticOperatorEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value > Ifc4x3_rc4::IfcAppliedValue::ArithmeticOperator() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcArithmeticOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcAppliedValue::setArithmeticOperator(boost::optional< ::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > Ifc4x3_rc4::IfcAppliedValue::Components() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3_rc4::IfcAppliedValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > Ifc4x3_rc4::IfcAppliedValue::Components() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3_rc4::IfcAppliedValue >(); } void Ifc4x3_rc4::IfcAppliedValue::setComponents(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } ::Ifc4x3_rc4::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc4::IfcAppliedValue::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[433], 3)->as(); } @@ -8093,26 +8093,26 @@ void Ifc4x3_rc4::IfcAppliedValue::setComponents(boost::optional< aggregate_of< : const IfcParse::entity& Ifc4x3_rc4::IfcAppliedValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[50]); } const IfcParse::entity& Ifc4x3_rc4::IfcAppliedValue::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[50]); } Ifc4x3_rc4::IfcAppliedValue::IfcAppliedValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v10_Components) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } +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(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } // Function implementations for IfcApproval -boost::optional< std::string > Ifc4x3_rc4::IfcApproval::Identifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcApproval::Identifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcApproval::setIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc4::IfcApproval::Name() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcApproval::Name() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcApproval::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc4::IfcApproval::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcApproval::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcApproval::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_rc4::IfcApproval::TimeOfApproval() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcApproval::TimeOfApproval() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcApproval::setTimeOfApproval(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc4::IfcApproval::Status() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcApproval::Status() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcApproval::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc4::IfcApproval::Level() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcApproval::Level() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcApproval::setLevel(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc4::IfcApproval::Qualifier() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcApproval::Qualifier() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcApproval::setQualifier(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcApproval::RequestingApproval() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc4::IfcActorSelect>(true); } +::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcApproval::RequestingApproval() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc4::IfcActorSelect>(true); } void Ifc4x3_rc4::IfcApproval::setRequestingApproval(::Ifc4x3_rc4::IfcActorSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcApproval::GivingApproval() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc4::IfcActorSelect>(true); } +::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcApproval::GivingApproval() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc4::IfcActorSelect>(true); } void Ifc4x3_rc4::IfcApproval::setGivingApproval(::Ifc4x3_rc4::IfcActorSelect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } ::Ifc4x3_rc4::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc4::IfcApproval::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[433], 3)->as(); } @@ -8124,253 +8124,253 @@ void Ifc4x3_rc4::IfcApproval::setGivingApproval(::Ifc4x3_rc4::IfcActorSelect* v) const IfcParse::entity& Ifc4x3_rc4::IfcApproval::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[52]); } const IfcParse::entity& Ifc4x3_rc4::IfcApproval::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[52]); } Ifc4x3_rc4::IfcApproval::IfcApproval(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -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(IfcEntityInstanceData(storage_t(9))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, v8_RequestingApproval ? v8_RequestingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_GivingApproval ? v9_GivingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, v8_RequestingApproval ? v8_RequestingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_GivingApproval ? v9_GivingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcApprovalRelationship -::Ifc4x3_rc4::IfcApproval* Ifc4x3_rc4::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcApproval>(true); } +::Ifc4x3_rc4::IfcApproval* Ifc4x3_rc4::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcApproval>(true); } void Ifc4x3_rc4::IfcApprovalRelationship::setRelatingApproval(::Ifc4x3_rc4::IfcApproval* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_rc4::IfcApproval >::ptr Ifc4x3_rc4::IfcApprovalRelationship::RelatedApprovals() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc4::IfcApproval >(); } +aggregate_of< ::Ifc4x3_rc4::IfcApproval >::ptr Ifc4x3_rc4::IfcApprovalRelationship::RelatedApprovals() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc4::IfcApproval >(); } void Ifc4x3_rc4::IfcApprovalRelationship::setRelatedApprovals(aggregate_of< ::Ifc4x3_rc4::IfcApproval >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcApprovalRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[53]); } const IfcParse::entity& Ifc4x3_rc4::IfcApprovalRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[53]); } Ifc4x3_rc4::IfcApprovalRelationship::IfcApprovalRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingApproval ? v3_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedApprovals)->generalize());; populate_derived(); } +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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingApproval ? v3_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedApprovals)->generalize());; populate_derived(); } // Function implementations for IfcArbitraryClosedProfileDef -::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcCurve>(true); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcArbitraryClosedProfileDef::setOuterCurve(::Ifc4x3_rc4::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcArbitraryClosedProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[54]); } const IfcParse::entity& Ifc4x3_rc4::IfcArbitraryClosedProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[54]); } Ifc4x3_rc4::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_rc4::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcCurve* v3_OuterCurve) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcCurve* v3_OuterCurve) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcArbitraryOpenProfileDef -::Ifc4x3_rc4::IfcBoundedCurve* Ifc4x3_rc4::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcBoundedCurve>(true); } +::Ifc4x3_rc4::IfcBoundedCurve* Ifc4x3_rc4::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcBoundedCurve>(true); } void Ifc4x3_rc4::IfcArbitraryOpenProfileDef::setCurve(::Ifc4x3_rc4::IfcBoundedCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcArbitraryOpenProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[55]); } const IfcParse::entity& Ifc4x3_rc4::IfcArbitraryOpenProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[55]); } Ifc4x3_rc4::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_rc4::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcBoundedCurve* v3_Curve) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcBoundedCurve* v3_Curve) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcArbitraryProfileDefWithVoids -aggregate_of< ::Ifc4x3_rc4::IfcCurve >::ptr Ifc4x3_rc4::IfcArbitraryProfileDefWithVoids::InnerCurves() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc4::IfcCurve >(); } +aggregate_of< ::Ifc4x3_rc4::IfcCurve >::ptr Ifc4x3_rc4::IfcArbitraryProfileDefWithVoids::InnerCurves() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc4::IfcCurve >(); } void Ifc4x3_rc4::IfcArbitraryProfileDefWithVoids::setInnerCurves(aggregate_of< ::Ifc4x3_rc4::IfcCurve >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcArbitraryProfileDefWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[56]); } const IfcParse::entity& Ifc4x3_rc4::IfcArbitraryProfileDefWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[56]); } Ifc4x3_rc4::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(IfcEntityInstanceData&& e) : IfcArbitraryClosedProfileDef(std::move(e)) { } -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(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_InnerCurves)->generalize());; populate_derived(); } +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(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_InnerCurves)->generalize());; populate_derived(); } // Function implementations for IfcAsset -boost::optional< std::string > Ifc4x3_rc4::IfcAsset::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcAsset::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcAsset::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcAsset::OriginalValue() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcCostValue>(true); } +::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcAsset::OriginalValue() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcCostValue>(true); } void Ifc4x3_rc4::IfcAsset::setOriginalValue(::Ifc4x3_rc4::IfcCostValue* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcAsset::CurrentValue() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc4::IfcCostValue>(true); } +::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcAsset::CurrentValue() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc4::IfcCostValue>(true); } void Ifc4x3_rc4::IfcAsset::setCurrentValue(::Ifc4x3_rc4::IfcCostValue* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcAsset::TotalReplacementCost() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc4::IfcCostValue>(true); } +::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcAsset::TotalReplacementCost() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc4::IfcCostValue>(true); } void Ifc4x3_rc4::IfcAsset::setTotalReplacementCost(::Ifc4x3_rc4::IfcCostValue* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcAsset::Owner() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc4::IfcActorSelect>(true); } +::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcAsset::Owner() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc4::IfcActorSelect>(true); } void Ifc4x3_rc4::IfcAsset::setOwner(::Ifc4x3_rc4::IfcActorSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcAsset::User() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_rc4::IfcActorSelect>(true); } +::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcAsset::User() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_rc4::IfcActorSelect>(true); } void Ifc4x3_rc4::IfcAsset::setUser(::Ifc4x3_rc4::IfcActorSelect* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } -::Ifc4x3_rc4::IfcPerson* Ifc4x3_rc4::IfcAsset::ResponsiblePerson() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc4x3_rc4::IfcPerson>(true); } +::Ifc4x3_rc4::IfcPerson* Ifc4x3_rc4::IfcAsset::ResponsiblePerson() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc4x3_rc4::IfcPerson>(true); } void Ifc4x3_rc4::IfcAsset::setResponsiblePerson(::Ifc4x3_rc4::IfcPerson* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } -boost::optional< std::string > Ifc4x3_rc4::IfcAsset::IncorporationDate() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcAsset::IncorporationDate() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc4::IfcAsset::setIncorporationDate(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcAsset::DepreciatedValue() const { if(data_.get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(13)))->as<::Ifc4x3_rc4::IfcCostValue>(true); } +::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcAsset::DepreciatedValue() const { if(get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(13)))->as<::Ifc4x3_rc4::IfcCostValue>(true); } void Ifc4x3_rc4::IfcAsset::setDepreciatedValue(::Ifc4x3_rc4::IfcCostValue* v) { set_attribute_value(13, v->as());if constexpr (false)unset_attribute_value(13); } const IfcParse::entity& Ifc4x3_rc4::IfcAsset::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[62]); } const IfcParse::entity& Ifc4x3_rc4::IfcAsset::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[62]); } Ifc4x3_rc4::IfcAsset::IfcAsset(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -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(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, v7_OriginalValue ? v7_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_CurrentValue ? v8_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_TotalReplacementCost ? v9_TotalReplacementCost->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_Owner ? v10_Owner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_User ? v11_User->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, v12_ResponsiblePerson ? v12_ResponsiblePerson->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, v14_DepreciatedValue ? v14_DepreciatedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, v7_OriginalValue ? v7_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_CurrentValue ? v8_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_TotalReplacementCost ? v9_TotalReplacementCost->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_Owner ? v10_Owner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_User ? v11_User->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, v12_ResponsiblePerson ? v12_ResponsiblePerson->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, v14_DepreciatedValue ? v14_DepreciatedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAsymmetricIShapeProfileDef -double Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeWidth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::OverallDepth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::OverallDepth() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setOverallDepth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -double Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { double v = data_.get_attribute_value(8); return v; } +double Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { double v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setTopFlangeWidth(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -boost::optional< double > Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setBottomFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setTopFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } const IfcParse::entity& Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[63]); } const IfcParse::entity& Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[63]); } Ifc4x3_rc4::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -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(storage_t(15))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); }; populate_derived(); } +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(in_memory_attribute_storage(15))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); }; populate_derived(); } // Function implementations for IfcAudioVisualAppliance -boost::optional< ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x3_rc4::IfcAudioVisualAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x3_rc4::IfcAudioVisualAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcAudioVisualAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcAudioVisualAppliance::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[64]); } const IfcParse::entity& Ifc4x3_rc4::IfcAudioVisualAppliance::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[64]); } Ifc4x3_rc4::IfcAudioVisualAppliance::IfcAudioVisualAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAudioVisualApplianceType -::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3_rc4::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3_rc4::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcAudioVisualApplianceType::setPredefinedType(::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcAudioVisualApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[65]); } const IfcParse::entity& Ifc4x3_rc4::IfcAudioVisualApplianceType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[65]); } Ifc4x3_rc4::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAxis1Placement -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis1Placement::Axis() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcDirection>(true); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis1Placement::Axis() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcAxis1Placement::setAxis(::Ifc4x3_rc4::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcAxis1Placement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[67]); } const IfcParse::entity& Ifc4x3_rc4::IfcAxis1Placement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[67]); } Ifc4x3_rc4::IfcAxis1Placement::IfcAxis1Placement(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x3_rc4::IfcAxis1Placement::IfcAxis1Placement(::Ifc4x3_rc4::IfcPoint* v1_Location, ::Ifc4x3_rc4::IfcDirection* v2_Axis) : IfcPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcAxis1Placement::IfcAxis1Placement(::Ifc4x3_rc4::IfcPoint* v1_Location, ::Ifc4x3_rc4::IfcDirection* v2_Axis) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAxis2Placement2D -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis2Placement2D::RefDirection() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcDirection>(true); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis2Placement2D::RefDirection() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcAxis2Placement2D::setRefDirection(::Ifc4x3_rc4::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcAxis2Placement2D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[69]); } const IfcParse::entity& Ifc4x3_rc4::IfcAxis2Placement2D::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[69]); } Ifc4x3_rc4::IfcAxis2Placement2D::IfcAxis2Placement2D(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x3_rc4::IfcAxis2Placement2D::IfcAxis2Placement2D(::Ifc4x3_rc4::IfcPoint* v1_Location, ::Ifc4x3_rc4::IfcDirection* v2_RefDirection) : IfcPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RefDirection ? v2_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcAxis2Placement2D::IfcAxis2Placement2D(::Ifc4x3_rc4::IfcPoint* v1_Location, ::Ifc4x3_rc4::IfcDirection* v2_RefDirection) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RefDirection ? v2_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAxis2Placement3D -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis2Placement3D::Axis() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcDirection>(true); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis2Placement3D::Axis() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcAxis2Placement3D::setAxis(::Ifc4x3_rc4::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis2Placement3D::RefDirection() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcDirection>(true); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis2Placement3D::RefDirection() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcAxis2Placement3D::setRefDirection(::Ifc4x3_rc4::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcAxis2Placement3D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[70]); } const IfcParse::entity& Ifc4x3_rc4::IfcAxis2Placement3D::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[70]); } Ifc4x3_rc4::IfcAxis2Placement3D::IfcAxis2Placement3D(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x3_rc4::IfcAxis2Placement3D::IfcAxis2Placement3D(::Ifc4x3_rc4::IfcPoint* v1_Location, ::Ifc4x3_rc4::IfcDirection* v2_Axis, ::Ifc4x3_rc4::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcAxis2Placement3D::IfcAxis2Placement3D(::Ifc4x3_rc4::IfcPoint* v1_Location, ::Ifc4x3_rc4::IfcDirection* v2_Axis, ::Ifc4x3_rc4::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAxis2PlacementLinear -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis2PlacementLinear::Axis() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcDirection>(true); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis2PlacementLinear::Axis() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcAxis2PlacementLinear::setAxis(::Ifc4x3_rc4::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis2PlacementLinear::RefDirection() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcDirection>(true); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcAxis2PlacementLinear::RefDirection() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcAxis2PlacementLinear::setRefDirection(::Ifc4x3_rc4::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcAxis2PlacementLinear::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[71]); } const IfcParse::entity& Ifc4x3_rc4::IfcAxis2PlacementLinear::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[71]); } Ifc4x3_rc4::IfcAxis2PlacementLinear::IfcAxis2PlacementLinear(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x3_rc4::IfcAxis2PlacementLinear::IfcAxis2PlacementLinear(::Ifc4x3_rc4::IfcPoint* v1_Location, ::Ifc4x3_rc4::IfcDirection* v2_Axis, ::Ifc4x3_rc4::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcAxis2PlacementLinear::IfcAxis2PlacementLinear(::Ifc4x3_rc4::IfcPoint* v1_Location, ::Ifc4x3_rc4::IfcDirection* v2_Axis, ::Ifc4x3_rc4::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBSplineCurve -int Ifc4x3_rc4::IfcBSplineCurve::Degree() const { int v = data_.get_attribute_value(0); return v; } +int Ifc4x3_rc4::IfcBSplineCurve::Degree() const { int v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcBSplineCurve::setDegree(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr Ifc4x3_rc4::IfcBSplineCurve::ControlPointsList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcCartesianPoint >(); } +aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr Ifc4x3_rc4::IfcBSplineCurve::ControlPointsList() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcCartesianPoint >(); } void Ifc4x3_rc4::IfcBSplineCurve::setControlPointsList(aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcBSplineCurveForm::Value Ifc4x3_rc4::IfcBSplineCurve::CurveForm() const { return ::Ifc4x3_rc4::IfcBSplineCurveForm::FromString(data_.get_attribute_value(2)); } +::Ifc4x3_rc4::IfcBSplineCurveForm::Value Ifc4x3_rc4::IfcBSplineCurve::CurveForm() const { return ::Ifc4x3_rc4::IfcBSplineCurveForm::FromString(get_attribute_value(2)); } void Ifc4x3_rc4::IfcBSplineCurve::setCurveForm(::Ifc4x3_rc4::IfcBSplineCurveForm::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3_rc4::IfcBSplineCurveForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -boost::logic::tribool Ifc4x3_rc4::IfcBSplineCurve::ClosedCurve() const { boost::logic::tribool v = data_.get_attribute_value(3); return v; } +boost::logic::tribool Ifc4x3_rc4::IfcBSplineCurve::ClosedCurve() const { boost::logic::tribool v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcBSplineCurve::setClosedCurve(boost::logic::tribool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::logic::tribool Ifc4x3_rc4::IfcBSplineCurve::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(4); return v; } +boost::logic::tribool Ifc4x3_rc4::IfcBSplineCurve::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcBSplineCurve::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc4::IfcBSplineCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[108]); } const IfcParse::entity& Ifc4x3_rc4::IfcBSplineCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[108]); } Ifc4x3_rc4::IfcBSplineCurve::IfcBSplineCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -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(storage_t(5))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc4::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; populate_derived(); } +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(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc4::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; populate_derived(); } // Function implementations for IfcBSplineCurveWithKnots -std::vector< int > /*[2:?]*/ Ifc4x3_rc4::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int > /*[2:?]*/ v = data_.get_attribute_value(5); return v; } +std::vector< int > /*[2:?]*/ Ifc4x3_rc4::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcBSplineCurveWithKnots::setKnotMultiplicities(std::vector< int > /*[2:?]*/ v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -std::vector< double > /*[2:?]*/ Ifc4x3_rc4::IfcBSplineCurveWithKnots::Knots() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(6); return v; } +std::vector< double > /*[2:?]*/ Ifc4x3_rc4::IfcBSplineCurveWithKnots::Knots() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcBSplineCurveWithKnots::setKnots(std::vector< double > /*[2:?]*/ v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc4::IfcKnotType::Value Ifc4x3_rc4::IfcBSplineCurveWithKnots::KnotSpec() const { return ::Ifc4x3_rc4::IfcKnotType::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc4::IfcKnotType::Value Ifc4x3_rc4::IfcBSplineCurveWithKnots::KnotSpec() const { return ::Ifc4x3_rc4::IfcKnotType::FromString(get_attribute_value(7)); } void Ifc4x3_rc4::IfcBSplineCurveWithKnots::setKnotSpec(::Ifc4x3_rc4::IfcKnotType::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc4::IfcKnotType::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc4::IfcBSplineCurveWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[110]); } const IfcParse::entity& Ifc4x3_rc4::IfcBSplineCurveWithKnots::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[110]); } Ifc4x3_rc4::IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(IfcEntityInstanceData&& e) : IfcBSplineCurve(std::move(e)) { } -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(storage_t(8))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc4::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcKnotType::Class(),(size_t)v8_KnotSpec)));; populate_derived(); } +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(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc4::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcKnotType::Class(),(size_t)v8_KnotSpec)));; populate_derived(); } // Function implementations for IfcBSplineSurface -int Ifc4x3_rc4::IfcBSplineSurface::UDegree() const { int v = data_.get_attribute_value(0); return v; } +int Ifc4x3_rc4::IfcBSplineSurface::UDegree() const { int v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcBSplineSurface::setUDegree(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -int Ifc4x3_rc4::IfcBSplineSurface::VDegree() const { int v = data_.get_attribute_value(1); return v; } +int Ifc4x3_rc4::IfcBSplineSurface::VDegree() const { int v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcBSplineSurface::setVDegree(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -aggregate_of_aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr Ifc4x3_rc4::IfcBSplineSurface::ControlPointsList() const { aggregate_of_aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcCartesianPoint >(); } +aggregate_of_aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr Ifc4x3_rc4::IfcBSplineSurface::ControlPointsList() const { aggregate_of_aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcCartesianPoint >(); } void Ifc4x3_rc4::IfcBSplineSurface::setControlPointsList(aggregate_of_aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcBSplineSurfaceForm::Value Ifc4x3_rc4::IfcBSplineSurface::SurfaceForm() const { return ::Ifc4x3_rc4::IfcBSplineSurfaceForm::FromString(data_.get_attribute_value(3)); } +::Ifc4x3_rc4::IfcBSplineSurfaceForm::Value Ifc4x3_rc4::IfcBSplineSurface::SurfaceForm() const { return ::Ifc4x3_rc4::IfcBSplineSurfaceForm::FromString(get_attribute_value(3)); } void Ifc4x3_rc4::IfcBSplineSurface::setSurfaceForm(::Ifc4x3_rc4::IfcBSplineSurfaceForm::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc4x3_rc4::IfcBSplineSurfaceForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } -boost::logic::tribool Ifc4x3_rc4::IfcBSplineSurface::UClosed() const { boost::logic::tribool v = data_.get_attribute_value(4); return v; } +boost::logic::tribool Ifc4x3_rc4::IfcBSplineSurface::UClosed() const { boost::logic::tribool v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcBSplineSurface::setUClosed(boost::logic::tribool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::logic::tribool Ifc4x3_rc4::IfcBSplineSurface::VClosed() const { boost::logic::tribool v = data_.get_attribute_value(5); return v; } +boost::logic::tribool Ifc4x3_rc4::IfcBSplineSurface::VClosed() const { boost::logic::tribool v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcBSplineSurface::setVClosed(boost::logic::tribool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::logic::tribool Ifc4x3_rc4::IfcBSplineSurface::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(6); return v; } +boost::logic::tribool Ifc4x3_rc4::IfcBSplineSurface::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcBSplineSurface::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc4::IfcBSplineSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[111]); } const IfcParse::entity& Ifc4x3_rc4::IfcBSplineSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[111]); } Ifc4x3_rc4::IfcBSplineSurface::IfcBSplineSurface(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -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(storage_t(7))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc4::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));; populate_derived(); } +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(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc4::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));; populate_derived(); } // Function implementations for IfcBSplineSurfaceWithKnots -std::vector< int > /*[2:?]*/ Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int > /*[2:?]*/ v = data_.get_attribute_value(7); return v; } +std::vector< int > /*[2:?]*/ Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::setUMultiplicities(std::vector< int > /*[2:?]*/ v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector< int > /*[2:?]*/ Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::VMultiplicities() const { std::vector< int > /*[2:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< int > /*[2:?]*/ Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::VMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::setVMultiplicities(std::vector< int > /*[2:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::vector< double > /*[2:?]*/ Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::UKnots() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(9); return v; } +std::vector< double > /*[2:?]*/ Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::UKnots() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(9); return v; } void Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::setUKnots(std::vector< double > /*[2:?]*/ v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -std::vector< double > /*[2:?]*/ Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::VKnots() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(10); return v; } +std::vector< double > /*[2:?]*/ Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::VKnots() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::setVKnots(std::vector< double > /*[2:?]*/ v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -::Ifc4x3_rc4::IfcKnotType::Value Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::KnotSpec() const { return ::Ifc4x3_rc4::IfcKnotType::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc4::IfcKnotType::Value Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::KnotSpec() const { return ::Ifc4x3_rc4::IfcKnotType::FromString(get_attribute_value(11)); } void Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::setKnotSpec(::Ifc4x3_rc4::IfcKnotType::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc4::IfcKnotType::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[113]); } const IfcParse::entity& Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[113]); } Ifc4x3_rc4::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(IfcEntityInstanceData&& e) : IfcBSplineSurface(std::move(e)) { } -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(storage_t(12))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc4::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc4::IfcKnotType::Class(),(size_t)v12_KnotSpec)));; populate_derived(); } +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(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc4::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc4::IfcKnotType::Class(),(size_t)v12_KnotSpec)));; populate_derived(); } // Function implementations for IfcBeam -boost::optional< ::Ifc4x3_rc4::IfcBeamTypeEnum::Value > Ifc4x3_rc4::IfcBeam::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBeamTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcBeamTypeEnum::Value > Ifc4x3_rc4::IfcBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBeamTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcBeam::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBeamTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcBeamTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcBeam::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[72]); } const IfcParse::entity& Ifc4x3_rc4::IfcBeam::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[72]); } Ifc4x3_rc4::IfcBeam::IfcBeam(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc4::IfcBeam::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) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc4::IfcBeam::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) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBeamStandardCase @@ -8378,83 +8378,83 @@ Ifc4x3_rc4::IfcBeam::IfcBeam(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHist const IfcParse::entity& Ifc4x3_rc4::IfcBeamStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[73]); } const IfcParse::entity& Ifc4x3_rc4::IfcBeamStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[73]); } Ifc4x3_rc4::IfcBeamStandardCase::IfcBeamStandardCase(IfcEntityInstanceData&& e) : IfcBeam(std::move(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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBeamType -::Ifc4x3_rc4::IfcBeamTypeEnum::Value Ifc4x3_rc4::IfcBeamType::PredefinedType() const { return ::Ifc4x3_rc4::IfcBeamTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcBeamTypeEnum::Value Ifc4x3_rc4::IfcBeamType::PredefinedType() const { return ::Ifc4x3_rc4::IfcBeamTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcBeamType::setPredefinedType(::Ifc4x3_rc4::IfcBeamTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcBeamTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcBeamType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[74]); } const IfcParse::entity& Ifc4x3_rc4::IfcBeamType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[74]); } Ifc4x3_rc4::IfcBeamType::IfcBeamType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBearing -boost::optional< ::Ifc4x3_rc4::IfcBearingTypeEnum::Value > Ifc4x3_rc4::IfcBearing::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBearingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcBearingTypeEnum::Value > Ifc4x3_rc4::IfcBearing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBearingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcBearing::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBearingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcBearingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcBearing::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[76]); } const IfcParse::entity& Ifc4x3_rc4::IfcBearing::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[76]); } Ifc4x3_rc4::IfcBearing::IfcBearing(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBearingType -::Ifc4x3_rc4::IfcBearingTypeEnum::Value Ifc4x3_rc4::IfcBearingType::PredefinedType() const { return ::Ifc4x3_rc4::IfcBearingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcBearingTypeEnum::Value Ifc4x3_rc4::IfcBearingType::PredefinedType() const { return ::Ifc4x3_rc4::IfcBearingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcBearingType::setPredefinedType(::Ifc4x3_rc4::IfcBearingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcBearingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcBearingType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[77]); } const IfcParse::entity& Ifc4x3_rc4::IfcBearingType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[77]); } Ifc4x3_rc4::IfcBearingType::IfcBearingType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBlobTexture -std::string Ifc4x3_rc4::IfcBlobTexture::RasterFormat() const { std::string v = data_.get_attribute_value(5); return v; } +std::string Ifc4x3_rc4::IfcBlobTexture::RasterFormat() const { std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcBlobTexture::setRasterFormat(std::string v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::dynamic_bitset<> Ifc4x3_rc4::IfcBlobTexture::RasterCode() const { boost::dynamic_bitset<> v = data_.get_attribute_value(6); return v; } +boost::dynamic_bitset<> Ifc4x3_rc4::IfcBlobTexture::RasterCode() const { boost::dynamic_bitset<> v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcBlobTexture::setRasterCode(boost::dynamic_bitset<> v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc4::IfcBlobTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[83]); } const IfcParse::entity& Ifc4x3_rc4::IfcBlobTexture::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[83]); } Ifc4x3_rc4::IfcBlobTexture::IfcBlobTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -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(storage_t(7))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode));; populate_derived(); } +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(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode));; populate_derived(); } // Function implementations for IfcBlock -double Ifc4x3_rc4::IfcBlock::XLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc4::IfcBlock::XLength() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcBlock::setXLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc4::IfcBlock::YLength() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc4::IfcBlock::YLength() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcBlock::setYLength(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc4::IfcBlock::ZLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc4::IfcBlock::ZLength() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcBlock::setZLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcBlock::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[84]); } const IfcParse::entity& Ifc4x3_rc4::IfcBlock::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[84]); } Ifc4x3_rc4::IfcBlock::IfcBlock(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3_rc4::IfcBlock::IfcBlock(::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; populate_derived(); } +Ifc4x3_rc4::IfcBlock::IfcBlock(::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; populate_derived(); } // Function implementations for IfcBoiler -boost::optional< ::Ifc4x3_rc4::IfcBoilerTypeEnum::Value > Ifc4x3_rc4::IfcBoiler::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBoilerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcBoilerTypeEnum::Value > Ifc4x3_rc4::IfcBoiler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBoilerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcBoiler::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBoilerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcBoilerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcBoiler::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[85]); } const IfcParse::entity& Ifc4x3_rc4::IfcBoiler::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[85]); } Ifc4x3_rc4::IfcBoiler::IfcBoiler(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBoilerType -::Ifc4x3_rc4::IfcBoilerTypeEnum::Value Ifc4x3_rc4::IfcBoilerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcBoilerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcBoilerTypeEnum::Value Ifc4x3_rc4::IfcBoilerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcBoilerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcBoilerType::setPredefinedType(::Ifc4x3_rc4::IfcBoilerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcBoilerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcBoilerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[86]); } const IfcParse::entity& Ifc4x3_rc4::IfcBoilerType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[86]); } Ifc4x3_rc4::IfcBoilerType::IfcBoilerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBooleanClippingResult @@ -8462,21 +8462,21 @@ Ifc4x3_rc4::IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, ::Ifc4x3_rc4:: const IfcParse::entity& Ifc4x3_rc4::IfcBooleanClippingResult::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[89]); } const IfcParse::entity& Ifc4x3_rc4::IfcBooleanClippingResult::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[89]); } Ifc4x3_rc4::IfcBooleanClippingResult::IfcBooleanClippingResult(IfcEntityInstanceData&& e) : IfcBooleanResult(std::move(e)) { } -Ifc4x3_rc4::IfcBooleanClippingResult::IfcBooleanClippingResult(::Ifc4x3_rc4::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc4::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x3_rc4::IfcBooleanOperand* v3_SecondOperand) : IfcBooleanResult(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcBooleanClippingResult::IfcBooleanClippingResult(::Ifc4x3_rc4::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc4::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x3_rc4::IfcBooleanOperand* v3_SecondOperand) : IfcBooleanResult(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBooleanResult -::Ifc4x3_rc4::IfcBooleanOperator::Value Ifc4x3_rc4::IfcBooleanResult::Operator() const { return ::Ifc4x3_rc4::IfcBooleanOperator::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_rc4::IfcBooleanOperator::Value Ifc4x3_rc4::IfcBooleanResult::Operator() const { return ::Ifc4x3_rc4::IfcBooleanOperator::FromString(get_attribute_value(0)); } void Ifc4x3_rc4::IfcBooleanResult::setOperator(::Ifc4x3_rc4::IfcBooleanOperator::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_rc4::IfcBooleanOperator::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcBooleanOperand* Ifc4x3_rc4::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcBooleanOperand>(true); } +::Ifc4x3_rc4::IfcBooleanOperand* Ifc4x3_rc4::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcBooleanOperand>(true); } void Ifc4x3_rc4::IfcBooleanResult::setFirstOperand(::Ifc4x3_rc4::IfcBooleanOperand* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcBooleanOperand* Ifc4x3_rc4::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcBooleanOperand>(true); } +::Ifc4x3_rc4::IfcBooleanOperand* Ifc4x3_rc4::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcBooleanOperand>(true); } void Ifc4x3_rc4::IfcBooleanResult::setSecondOperand(::Ifc4x3_rc4::IfcBooleanOperand* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcBooleanResult::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[92]); } const IfcParse::entity& Ifc4x3_rc4::IfcBooleanResult::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[92]); } Ifc4x3_rc4::IfcBooleanResult::IfcBooleanResult(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcBooleanResult::IfcBooleanResult(::Ifc4x3_rc4::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc4::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x3_rc4::IfcBooleanOperand* v3_SecondOperand) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcBooleanResult::IfcBooleanResult(::Ifc4x3_rc4::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_rc4::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x3_rc4::IfcBooleanOperand* v3_SecondOperand) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBorehole @@ -8484,17 +8484,17 @@ Ifc4x3_rc4::IfcBooleanResult::IfcBooleanResult(::Ifc4x3_rc4::IfcBooleanOperator: const IfcParse::entity& Ifc4x3_rc4::IfcBorehole::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[93]); } const IfcParse::entity& Ifc4x3_rc4::IfcBorehole::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[93]); } Ifc4x3_rc4::IfcBorehole::IfcBorehole(IfcEntityInstanceData&& e) : IfcGeotechnicalAssembly(std::move(e)) { } -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(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +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(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcBoundaryCondition -boost::optional< std::string > Ifc4x3_rc4::IfcBoundaryCondition::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcBoundaryCondition::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcBoundaryCondition::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3_rc4::IfcBoundaryCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[94]); } const IfcParse::entity& Ifc4x3_rc4::IfcBoundaryCondition::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[94]); } Ifc4x3_rc4::IfcBoundaryCondition::IfcBoundaryCondition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_rc4::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcBoundaryCurve @@ -8502,71 +8502,71 @@ Ifc4x3_rc4::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::str const IfcParse::entity& Ifc4x3_rc4::IfcBoundaryCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[95]); } const IfcParse::entity& Ifc4x3_rc4::IfcBoundaryCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[95]); } Ifc4x3_rc4::IfcBoundaryCurve::IfcBoundaryCurve(IfcEntityInstanceData&& e) : IfcCompositeCurveOnSurface(std::move(e)) { } -Ifc4x3_rc4::IfcBoundaryCurve::IfcBoundaryCurve(aggregate_of< ::Ifc4x3_rc4::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurveOnSurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x3_rc4::IfcBoundaryCurve::IfcBoundaryCurve(aggregate_of< ::Ifc4x3_rc4::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurveOnSurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcBoundaryEdgeCondition -::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } +::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3_rc4::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthX(::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } +::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3_rc4::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthY(::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } +::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3_rc4::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthZ(::Ifc4x3_rc4::IfcModulusOfTranslationalSubgradeReactionSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect>(true); } +::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3_rc4::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect>(true); } +::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3_rc4::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect>(true); } +::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3_rc4::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(::Ifc4x3_rc4::IfcModulusOfRotationalSubgradeReactionSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc4::IfcBoundaryEdgeCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[96]); } const IfcParse::entity& Ifc4x3_rc4::IfcBoundaryEdgeCondition::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[96]); } Ifc4x3_rc4::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByLengthX ? v2_TranslationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByLengthY ? v3_TranslationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByLengthZ ? v4_TranslationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessByLengthX ? v5_RotationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessByLengthY ? v6_RotationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessByLengthZ ? v7_RotationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByLengthX ? v2_TranslationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByLengthY ? v3_TranslationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByLengthZ ? v4_TranslationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessByLengthX ? v5_RotationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessByLengthY ? v6_RotationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessByLengthZ ? v7_RotationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryFaceCondition -::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect>(true); } +::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3_rc4::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaX(::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect>(true); } +::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3_rc4::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaY(::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect>(true); } +::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* Ifc4x3_rc4::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3_rc4::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(::Ifc4x3_rc4::IfcModulusOfSubgradeReactionSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcBoundaryFaceCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[97]); } const IfcParse::entity& Ifc4x3_rc4::IfcBoundaryFaceCondition::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[97]); } Ifc4x3_rc4::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByAreaX ? v2_TranslationalStiffnessByAreaX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByAreaY ? v3_TranslationalStiffnessByAreaY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByAreaZ ? v4_TranslationalStiffnessByAreaZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByAreaX ? v2_TranslationalStiffnessByAreaX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByAreaY ? v3_TranslationalStiffnessByAreaY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByAreaZ ? v4_TranslationalStiffnessByAreaZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryNodeCondition -::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcTranslationalStiffnessSelect>(true); } +::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3_rc4::IfcBoundaryNodeCondition::setTranslationalStiffnessX(::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcTranslationalStiffnessSelect>(true); } +::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3_rc4::IfcBoundaryNodeCondition::setTranslationalStiffnessY(::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcTranslationalStiffnessSelect>(true); } +::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3_rc4::IfcBoundaryNodeCondition::setTranslationalStiffnessZ(::Ifc4x3_rc4::IfcTranslationalStiffnessSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc4::IfcRotationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcRotationalStiffnessSelect>(true); } +::Ifc4x3_rc4::IfcRotationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcRotationalStiffnessSelect>(true); } void Ifc4x3_rc4::IfcBoundaryNodeCondition::setRotationalStiffnessX(::Ifc4x3_rc4::IfcRotationalStiffnessSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcRotationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcRotationalStiffnessSelect>(true); } +::Ifc4x3_rc4::IfcRotationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcRotationalStiffnessSelect>(true); } void Ifc4x3_rc4::IfcBoundaryNodeCondition::setRotationalStiffnessY(::Ifc4x3_rc4::IfcRotationalStiffnessSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc4::IfcRotationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcRotationalStiffnessSelect>(true); } +::Ifc4x3_rc4::IfcRotationalStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcRotationalStiffnessSelect>(true); } void Ifc4x3_rc4::IfcBoundaryNodeCondition::setRotationalStiffnessZ(::Ifc4x3_rc4::IfcRotationalStiffnessSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc4::IfcBoundaryNodeCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[98]); } const IfcParse::entity& Ifc4x3_rc4::IfcBoundaryNodeCondition::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[98]); } Ifc4x3_rc4::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryNodeConditionWarping -::Ifc4x3_rc4::IfcWarpingStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc4::IfcWarpingStiffnessSelect>(true); } +::Ifc4x3_rc4::IfcWarpingStiffnessSelect* Ifc4x3_rc4::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc4::IfcWarpingStiffnessSelect>(true); } void Ifc4x3_rc4::IfcBoundaryNodeConditionWarping::setWarpingStiffness(::Ifc4x3_rc4::IfcWarpingStiffnessSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc4::IfcBoundaryNodeConditionWarping::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[99]); } const IfcParse::entity& Ifc4x3_rc4::IfcBoundaryNodeConditionWarping::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[99]); } Ifc4x3_rc4::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(IfcEntityInstanceData&& e) : IfcBoundaryNodeCondition(std::move(e)) { } -Ifc4x3_rc4::IfcBoundaryNodeConditionWarping::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) : IfcBoundaryNodeCondition(IfcEntityInstanceData(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_WarpingStiffness ? v8_WarpingStiffness->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcBoundaryNodeConditionWarping::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) : IfcBoundaryNodeCondition(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_WarpingStiffness ? v8_WarpingStiffness->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundedCurve @@ -8574,7 +8574,7 @@ Ifc4x3_rc4::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boo const IfcParse::entity& Ifc4x3_rc4::IfcBoundedCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[100]); } const IfcParse::entity& Ifc4x3_rc4::IfcBoundedCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[100]); } Ifc4x3_rc4::IfcBoundedCurve::IfcBoundedCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_rc4::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc4::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcBoundedSurface @@ -8582,119 +8582,119 @@ Ifc4x3_rc4::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData( const IfcParse::entity& Ifc4x3_rc4::IfcBoundedSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[101]); } const IfcParse::entity& Ifc4x3_rc4::IfcBoundedSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[101]); } Ifc4x3_rc4::IfcBoundedSurface::IfcBoundedSurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x3_rc4::IfcBoundedSurface::IfcBoundedSurface() : IfcSurface(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc4::IfcBoundedSurface::IfcBoundedSurface() : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcBoundingBox -::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCartesianPoint>(true); } +::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCartesianPoint>(true); } void Ifc4x3_rc4::IfcBoundingBox::setCorner(::Ifc4x3_rc4::IfcCartesianPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc4::IfcBoundingBox::XDim() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc4::IfcBoundingBox::XDim() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcBoundingBox::setXDim(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc4::IfcBoundingBox::YDim() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc4::IfcBoundingBox::YDim() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcBoundingBox::setYDim(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc4::IfcBoundingBox::ZDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc4::IfcBoundingBox::ZDim() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcBoundingBox::setZDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcBoundingBox::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[102]); } const IfcParse::entity& Ifc4x3_rc4::IfcBoundingBox::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[102]); } Ifc4x3_rc4::IfcBoundingBox::IfcBoundingBox(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcBoundingBox::IfcBoundingBox(::Ifc4x3_rc4::IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Corner ? v1_Corner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; populate_derived(); } +Ifc4x3_rc4::IfcBoundingBox::IfcBoundingBox(::Ifc4x3_rc4::IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Corner ? v1_Corner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; populate_derived(); } // Function implementations for IfcBoxedHalfSpace -::Ifc4x3_rc4::IfcBoundingBox* Ifc4x3_rc4::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcBoundingBox>(true); } +::Ifc4x3_rc4::IfcBoundingBox* Ifc4x3_rc4::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcBoundingBox>(true); } void Ifc4x3_rc4::IfcBoxedHalfSpace::setEnclosure(::Ifc4x3_rc4::IfcBoundingBox* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcBoxedHalfSpace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[104]); } const IfcParse::entity& Ifc4x3_rc4::IfcBoxedHalfSpace::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[104]); } Ifc4x3_rc4::IfcBoxedHalfSpace::IfcBoxedHalfSpace(IfcEntityInstanceData&& e) : IfcHalfSpaceSolid(std::move(e)) { } -Ifc4x3_rc4::IfcBoxedHalfSpace::IfcBoxedHalfSpace(::Ifc4x3_rc4::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc4::IfcBoundingBox* v3_Enclosure) : IfcHalfSpaceSolid(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Enclosure ? v3_Enclosure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcBoxedHalfSpace::IfcBoxedHalfSpace(::Ifc4x3_rc4::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc4::IfcBoundingBox* v3_Enclosure) : IfcHalfSpaceSolid(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Enclosure ? v3_Enclosure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBridge -boost::optional< ::Ifc4x3_rc4::IfcBridgeTypeEnum::Value > Ifc4x3_rc4::IfcBridge::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBridgeTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc4::IfcBridgeTypeEnum::Value > Ifc4x3_rc4::IfcBridge::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBridgeTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcBridge::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBridgeTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcBridgeTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc4::IfcBridge::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[105]); } const IfcParse::entity& Ifc4x3_rc4::IfcBridge::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[105]); } Ifc4x3_rc4::IfcBridge::IfcBridge(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBuilding -boost::optional< double > Ifc4x3_rc4::IfcBuilding::ElevationOfRefHeight() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc4::IfcBuilding::ElevationOfRefHeight() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc4::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc4::IfcBuilding::ElevationOfTerrain() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc4::IfcBuilding::ElevationOfTerrain() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4x3_rc4::IfcPostalAddress* Ifc4x3_rc4::IfcBuilding::BuildingAddress() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc4x3_rc4::IfcPostalAddress>(true); } +::Ifc4x3_rc4::IfcPostalAddress* Ifc4x3_rc4::IfcBuilding::BuildingAddress() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc4x3_rc4::IfcPostalAddress>(true); } void Ifc4x3_rc4::IfcBuilding::setBuildingAddress(::Ifc4x3_rc4::IfcPostalAddress* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc4::IfcBuilding::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[114]); } const IfcParse::entity& Ifc4x3_rc4::IfcBuilding::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[114]); } Ifc4x3_rc4::IfcBuilding::IfcBuilding(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -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(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, v12_BuildingAddress ? v12_BuildingAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, v12_BuildingAddress ? v12_BuildingAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBuildingElementPart -boost::optional< ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value > Ifc4x3_rc4::IfcBuildingElementPart::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value > Ifc4x3_rc4::IfcBuildingElementPart::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcBuildingElementPart::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcBuildingElementPart::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[115]); } const IfcParse::entity& Ifc4x3_rc4::IfcBuildingElementPart::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[115]); } Ifc4x3_rc4::IfcBuildingElementPart::IfcBuildingElementPart(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBuildingElementPartType -::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value Ifc4x3_rc4::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value Ifc4x3_rc4::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcBuildingElementPartType::setPredefinedType(::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcBuildingElementPartType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[116]); } const IfcParse::entity& Ifc4x3_rc4::IfcBuildingElementPartType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[116]); } Ifc4x3_rc4::IfcBuildingElementPartType::IfcBuildingElementPartType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBuildingElementProxy -boost::optional< ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value > Ifc4x3_rc4::IfcBuildingElementProxy::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value > Ifc4x3_rc4::IfcBuildingElementProxy::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcBuildingElementProxy::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcBuildingElementProxy::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[118]); } const IfcParse::entity& Ifc4x3_rc4::IfcBuildingElementProxy::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[118]); } Ifc4x3_rc4::IfcBuildingElementProxy::IfcBuildingElementProxy(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBuildingElementProxyType -::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value Ifc4x3_rc4::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value Ifc4x3_rc4::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcBuildingElementProxyType::setPredefinedType(::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcBuildingElementProxyType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[119]); } const IfcParse::entity& Ifc4x3_rc4::IfcBuildingElementProxyType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[119]); } Ifc4x3_rc4::IfcBuildingElementProxyType::IfcBuildingElementProxyType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBuildingStorey -boost::optional< double > Ifc4x3_rc4::IfcBuildingStorey::Elevation() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc4::IfcBuildingStorey::Elevation() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc4::IfcBuildingStorey::setElevation(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc4::IfcBuildingStorey::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[121]); } const IfcParse::entity& Ifc4x3_rc4::IfcBuildingStorey::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[121]); } Ifc4x3_rc4::IfcBuildingStorey::IfcBuildingStorey(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; populate_derived(); } // Function implementations for IfcBuildingSystem -boost::optional< ::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::Value > Ifc4x3_rc4::IfcBuildingSystem::PredefinedType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::Value > Ifc4x3_rc4::IfcBuildingSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc4::IfcBuildingSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc4::IfcBuildingSystem::LongName() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcBuildingSystem::LongName() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcBuildingSystem::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc4::IfcBuildingSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[122]); } const IfcParse::entity& Ifc4x3_rc4::IfcBuildingSystem::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[122]); } Ifc4x3_rc4::IfcBuildingSystem::IfcBuildingSystem(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3_rc4::IfcBuildingSystem::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) : IfcSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } +Ifc4x3_rc4::IfcBuildingSystem::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) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } // Function implementations for IfcBuiltElement @@ -8702,7 +8702,7 @@ Ifc4x3_rc4::IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3_rc4::IfcBuiltElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[124]); } const IfcParse::entity& Ifc4x3_rc4::IfcBuiltElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[124]); } Ifc4x3_rc4::IfcBuiltElement::IfcBuiltElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc4::IfcBuiltElement::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) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc4::IfcBuiltElement::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) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcBuiltElementType @@ -8710,167 +8710,167 @@ Ifc4x3_rc4::IfcBuiltElement::IfcBuiltElement(std::string v1_GlobalId, ::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc4::IfcBuiltElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[125]); } const IfcParse::entity& Ifc4x3_rc4::IfcBuiltElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[125]); } Ifc4x3_rc4::IfcBuiltElementType::IfcBuiltElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcBuiltSystem -boost::optional< ::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Value > Ifc4x3_rc4::IfcBuiltSystem::PredefinedType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Value > Ifc4x3_rc4::IfcBuiltSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc4::IfcBuiltSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc4::IfcBuiltSystem::LongName() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcBuiltSystem::LongName() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcBuiltSystem::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc4::IfcBuiltSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[126]); } const IfcParse::entity& Ifc4x3_rc4::IfcBuiltSystem::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[126]); } Ifc4x3_rc4::IfcBuiltSystem::IfcBuiltSystem(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -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(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } +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(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcBuiltSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } // Function implementations for IfcBurner -boost::optional< ::Ifc4x3_rc4::IfcBurnerTypeEnum::Value > Ifc4x3_rc4::IfcBurner::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBurnerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcBurnerTypeEnum::Value > Ifc4x3_rc4::IfcBurner::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcBurnerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcBurner::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcBurnerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcBurnerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcBurner::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[128]); } const IfcParse::entity& Ifc4x3_rc4::IfcBurner::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[128]); } Ifc4x3_rc4::IfcBurner::IfcBurner(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBurnerType -::Ifc4x3_rc4::IfcBurnerTypeEnum::Value Ifc4x3_rc4::IfcBurnerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcBurnerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcBurnerTypeEnum::Value Ifc4x3_rc4::IfcBurnerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcBurnerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcBurnerType::setPredefinedType(::Ifc4x3_rc4::IfcBurnerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcBurnerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcBurnerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[129]); } const IfcParse::entity& Ifc4x3_rc4::IfcBurnerType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[129]); } Ifc4x3_rc4::IfcBurnerType::IfcBurnerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCShapeProfileDef -double Ifc4x3_rc4::IfcCShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc4::IfcCShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcCShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc4::IfcCShapeProfileDef::Width() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc4::IfcCShapeProfileDef::Width() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcCShapeProfileDef::setWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc4::IfcCShapeProfileDef::WallThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc4::IfcCShapeProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcCShapeProfileDef::setWallThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc4::IfcCShapeProfileDef::Girth() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc4::IfcCShapeProfileDef::Girth() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcCShapeProfileDef::setGirth(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc4::IfcCShapeProfileDef::InternalFilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc4::IfcCShapeProfileDef::InternalFilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcCShapeProfileDef::setInternalFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc4::IfcCShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[267]); } const IfcParse::entity& Ifc4x3_rc4::IfcCShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[267]); } Ifc4x3_rc4::IfcCShapeProfileDef::IfcCShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(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(storage_t(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); }; populate_derived(); } +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(in_memory_attribute_storage(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); }; populate_derived(); } // Function implementations for IfcCableCarrierFitting -boost::optional< ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value > Ifc4x3_rc4::IfcCableCarrierFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value > Ifc4x3_rc4::IfcCableCarrierFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcCableCarrierFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcCableCarrierFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[131]); } const IfcParse::entity& Ifc4x3_rc4::IfcCableCarrierFitting::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[131]); } Ifc4x3_rc4::IfcCableCarrierFitting::IfcCableCarrierFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableCarrierFittingType -::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value Ifc4x3_rc4::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value Ifc4x3_rc4::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcCableCarrierFittingType::setPredefinedType(::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcCableCarrierFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[132]); } const IfcParse::entity& Ifc4x3_rc4::IfcCableCarrierFittingType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[132]); } Ifc4x3_rc4::IfcCableCarrierFittingType::IfcCableCarrierFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCableCarrierSegment -boost::optional< ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x3_rc4::IfcCableCarrierSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x3_rc4::IfcCableCarrierSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcCableCarrierSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcCableCarrierSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[134]); } const IfcParse::entity& Ifc4x3_rc4::IfcCableCarrierSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[134]); } Ifc4x3_rc4::IfcCableCarrierSegment::IfcCableCarrierSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableCarrierSegmentType -::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3_rc4::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3_rc4::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcCableCarrierSegmentType::setPredefinedType(::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcCableCarrierSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[135]); } const IfcParse::entity& Ifc4x3_rc4::IfcCableCarrierSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[135]); } Ifc4x3_rc4::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCableFitting -boost::optional< ::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value > Ifc4x3_rc4::IfcCableFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCableFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value > Ifc4x3_rc4::IfcCableFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCableFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcCableFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcCableFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcCableFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[137]); } const IfcParse::entity& Ifc4x3_rc4::IfcCableFitting::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[137]); } Ifc4x3_rc4::IfcCableFitting::IfcCableFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableFittingType -::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value Ifc4x3_rc4::IfcCableFittingType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCableFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value Ifc4x3_rc4::IfcCableFittingType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCableFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcCableFittingType::setPredefinedType(::Ifc4x3_rc4::IfcCableFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcCableFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcCableFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[138]); } const IfcParse::entity& Ifc4x3_rc4::IfcCableFittingType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[138]); } Ifc4x3_rc4::IfcCableFittingType::IfcCableFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCableSegment -boost::optional< ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value > Ifc4x3_rc4::IfcCableSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value > Ifc4x3_rc4::IfcCableSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcCableSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcCableSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[140]); } const IfcParse::entity& Ifc4x3_rc4::IfcCableSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[140]); } Ifc4x3_rc4::IfcCableSegment::IfcCableSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableSegmentType -::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value Ifc4x3_rc4::IfcCableSegmentType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value Ifc4x3_rc4::IfcCableSegmentType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCableSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcCableSegmentType::setPredefinedType(::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcCableSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[141]); } const IfcParse::entity& Ifc4x3_rc4::IfcCableSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[141]); } Ifc4x3_rc4::IfcCableSegmentType::IfcCableSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCaissonFoundation -boost::optional< ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value > Ifc4x3_rc4::IfcCaissonFoundation::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value > Ifc4x3_rc4::IfcCaissonFoundation::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcCaissonFoundation::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcCaissonFoundation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[143]); } const IfcParse::entity& Ifc4x3_rc4::IfcCaissonFoundation::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[143]); } Ifc4x3_rc4::IfcCaissonFoundation::IfcCaissonFoundation(IfcEntityInstanceData&& e) : IfcDeepFoundation(std::move(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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCaissonFoundationType -::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value Ifc4x3_rc4::IfcCaissonFoundationType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value Ifc4x3_rc4::IfcCaissonFoundationType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcCaissonFoundationType::setPredefinedType(::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcCaissonFoundationType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[144]); } const IfcParse::entity& Ifc4x3_rc4::IfcCaissonFoundationType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[144]); } Ifc4x3_rc4::IfcCaissonFoundationType::IfcCaissonFoundationType(IfcEntityInstanceData&& e) : IfcDeepFoundationType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCartesianPoint -std::vector< double > /*[1:3]*/ Ifc4x3_rc4::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[1:3]*/ Ifc4x3_rc4::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcCartesianPoint::setCoordinates(std::vector< double > /*[1:3]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc4::IfcCartesianPoint::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[147]); } const IfcParse::entity& Ifc4x3_rc4::IfcCartesianPoint::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[147]); } Ifc4x3_rc4::IfcCartesianPoint::IfcCartesianPoint(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x3_rc4::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ v1_Coordinates) : IfcPoint(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } +Ifc4x3_rc4::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ v1_Coordinates) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } // Function implementations for IfcCartesianPointList @@ -8878,47 +8878,47 @@ Ifc4x3_rc4::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ const IfcParse::entity& Ifc4x3_rc4::IfcCartesianPointList::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[148]); } const IfcParse::entity& Ifc4x3_rc4::IfcCartesianPointList::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[148]); } Ifc4x3_rc4::IfcCartesianPointList::IfcCartesianPointList(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcCartesianPointList::IfcCartesianPointList() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc4::IfcCartesianPointList::IfcCartesianPointList() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcCartesianPointList2D -std::vector< std::vector< double > > Ifc4x3_rc4::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x3_rc4::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcCartesianPointList2D::setCoordList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcCartesianPointList2D::TagList() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcCartesianPointList2D::TagList() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcCartesianPointList2D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_rc4::IfcCartesianPointList2D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[149]); } const IfcParse::entity& Ifc4x3_rc4::IfcCartesianPointList2D::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[149]); } Ifc4x3_rc4::IfcCartesianPointList2D::IfcCartesianPointList2D(IfcEntityInstanceData&& e) : IfcCartesianPointList(std::move(e)) { } -Ifc4x3_rc4::IfcCartesianPointList2D::IfcCartesianPointList2D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } +Ifc4x3_rc4::IfcCartesianPointList2D::IfcCartesianPointList2D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } // Function implementations for IfcCartesianPointList3D -std::vector< std::vector< double > > Ifc4x3_rc4::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x3_rc4::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcCartesianPointList3D::setCoordList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcCartesianPointList3D::TagList() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcCartesianPointList3D::TagList() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcCartesianPointList3D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_rc4::IfcCartesianPointList3D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[150]); } const IfcParse::entity& Ifc4x3_rc4::IfcCartesianPointList3D::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[150]); } Ifc4x3_rc4::IfcCartesianPointList3D::IfcCartesianPointList3D(IfcEntityInstanceData&& e) : IfcCartesianPointList(std::move(e)) { } -Ifc4x3_rc4::IfcCartesianPointList3D::IfcCartesianPointList3D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } +Ifc4x3_rc4::IfcCartesianPointList3D::IfcCartesianPointList3D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcCartesianTransformationOperator::Axis1() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcDirection>(true); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcCartesianTransformationOperator::Axis1() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcCartesianTransformationOperator::setAxis1(::Ifc4x3_rc4::IfcDirection* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcCartesianTransformationOperator::Axis2() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcDirection>(true); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcCartesianTransformationOperator::Axis2() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcCartesianTransformationOperator::setAxis2(::Ifc4x3_rc4::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcCartesianPoint>(true); } +::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcCartesianPoint>(true); } void Ifc4x3_rc4::IfcCartesianTransformationOperator::setLocalOrigin(::Ifc4x3_rc4::IfcCartesianPoint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4x3_rc4::IfcCartesianTransformationOperator::Scale() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc4::IfcCartesianTransformationOperator::Scale() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc4::IfcCartesianTransformationOperator::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[151]); } const IfcParse::entity& Ifc4x3_rc4::IfcCartesianTransformationOperator::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[151]); } Ifc4x3_rc4::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(::Ifc4x3_rc4::IfcDirection* v1_Axis1, ::Ifc4x3_rc4::IfcDirection* v2_Axis2, ::Ifc4x3_rc4::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } +Ifc4x3_rc4::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(::Ifc4x3_rc4::IfcDirection* v1_Axis1, ::Ifc4x3_rc4::IfcDirection* v2_Axis2, ::Ifc4x3_rc4::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator2D @@ -8926,119 +8926,119 @@ Ifc4x3_rc4::IfcCartesianTransformationOperator::IfcCartesianTransformationOperat const IfcParse::entity& Ifc4x3_rc4::IfcCartesianTransformationOperator2D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[152]); } const IfcParse::entity& Ifc4x3_rc4::IfcCartesianTransformationOperator2D::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[152]); } Ifc4x3_rc4::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator(std::move(e)) { } -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(storage_t(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } +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(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator2DnonUniform -boost::optional< double > Ifc4x3_rc4::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc4::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcCartesianTransformationOperator2DnonUniform::setScale2(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc4::IfcCartesianTransformationOperator2DnonUniform::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[153]); } const IfcParse::entity& Ifc4x3_rc4::IfcCartesianTransformationOperator2DnonUniform::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[153]); } Ifc4x3_rc4::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator2D(std::move(e)) { } -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(storage_t(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; populate_derived(); } +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(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator3D -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcCartesianTransformationOperator3D::Axis3() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcDirection>(true); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcCartesianTransformationOperator3D::Axis3() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcCartesianTransformationOperator3D::setAxis3(::Ifc4x3_rc4::IfcDirection* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc4::IfcCartesianTransformationOperator3D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[154]); } const IfcParse::entity& Ifc4x3_rc4::IfcCartesianTransformationOperator3D::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[154]); } Ifc4x3_rc4::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator(std::move(e)) { } -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(storage_t(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator3DnonUniform -boost::optional< double > Ifc4x3_rc4::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc4::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcCartesianTransformationOperator3DnonUniform::setScale2(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_rc4::IfcCartesianTransformationOperator3DnonUniform::Scale3() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc4::IfcCartesianTransformationOperator3DnonUniform::Scale3() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcCartesianTransformationOperator3DnonUniform::setScale3(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc4::IfcCartesianTransformationOperator3DnonUniform::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[155]); } const IfcParse::entity& Ifc4x3_rc4::IfcCartesianTransformationOperator3DnonUniform::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[155]); } Ifc4x3_rc4::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator3D(std::move(e)) { } -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(storage_t(7))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; populate_derived(); } +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(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; populate_derived(); } // Function implementations for IfcCenterLineProfileDef -double Ifc4x3_rc4::IfcCenterLineProfileDef::Thickness() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc4::IfcCenterLineProfileDef::Thickness() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcCenterLineProfileDef::setThickness(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcCenterLineProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[156]); } const IfcParse::entity& Ifc4x3_rc4::IfcCenterLineProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[156]); } Ifc4x3_rc4::IfcCenterLineProfileDef::IfcCenterLineProfileDef(IfcEntityInstanceData&& e) : IfcArbitraryOpenProfileDef(std::move(e)) { } -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(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Thickness));; populate_derived(); } +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(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Thickness));; populate_derived(); } // Function implementations for IfcChiller -boost::optional< ::Ifc4x3_rc4::IfcChillerTypeEnum::Value > Ifc4x3_rc4::IfcChiller::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcChillerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcChillerTypeEnum::Value > Ifc4x3_rc4::IfcChiller::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcChillerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcChiller::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcChillerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcChillerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcChiller::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[158]); } const IfcParse::entity& Ifc4x3_rc4::IfcChiller::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[158]); } Ifc4x3_rc4::IfcChiller::IfcChiller(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcChillerType -::Ifc4x3_rc4::IfcChillerTypeEnum::Value Ifc4x3_rc4::IfcChillerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcChillerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcChillerTypeEnum::Value Ifc4x3_rc4::IfcChillerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcChillerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcChillerType::setPredefinedType(::Ifc4x3_rc4::IfcChillerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcChillerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcChillerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[159]); } const IfcParse::entity& Ifc4x3_rc4::IfcChillerType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[159]); } Ifc4x3_rc4::IfcChillerType::IfcChillerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcChimney -boost::optional< ::Ifc4x3_rc4::IfcChimneyTypeEnum::Value > Ifc4x3_rc4::IfcChimney::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcChimneyTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcChimneyTypeEnum::Value > Ifc4x3_rc4::IfcChimney::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcChimneyTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcChimney::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcChimneyTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcChimneyTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcChimney::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[161]); } const IfcParse::entity& Ifc4x3_rc4::IfcChimney::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[161]); } Ifc4x3_rc4::IfcChimney::IfcChimney(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcChimneyType -::Ifc4x3_rc4::IfcChimneyTypeEnum::Value Ifc4x3_rc4::IfcChimneyType::PredefinedType() const { return ::Ifc4x3_rc4::IfcChimneyTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcChimneyTypeEnum::Value Ifc4x3_rc4::IfcChimneyType::PredefinedType() const { return ::Ifc4x3_rc4::IfcChimneyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcChimneyType::setPredefinedType(::Ifc4x3_rc4::IfcChimneyTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcChimneyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcChimneyType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[162]); } const IfcParse::entity& Ifc4x3_rc4::IfcChimneyType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[162]); } Ifc4x3_rc4::IfcChimneyType::IfcChimneyType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCircle -double Ifc4x3_rc4::IfcCircle::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc4::IfcCircle::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcCircle::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcCircle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[164]); } const IfcParse::entity& Ifc4x3_rc4::IfcCircle::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[164]); } Ifc4x3_rc4::IfcCircle::IfcCircle(IfcEntityInstanceData&& e) : IfcConic(std::move(e)) { } -Ifc4x3_rc4::IfcCircle::IfcCircle(::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, double v2_Radius) : IfcConic(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x3_rc4::IfcCircle::IfcCircle(::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, double v2_Radius) : IfcConic(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcCircleHollowProfileDef -double Ifc4x3_rc4::IfcCircleHollowProfileDef::WallThickness() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc4::IfcCircleHollowProfileDef::WallThickness() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcCircleHollowProfileDef::setWallThickness(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc4::IfcCircleHollowProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[165]); } const IfcParse::entity& Ifc4x3_rc4::IfcCircleHollowProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[165]); } Ifc4x3_rc4::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(IfcEntityInstanceData&& e) : IfcCircleProfileDef(std::move(e)) { } -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(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; populate_derived(); } +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(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; populate_derived(); } // Function implementations for IfcCircleProfileDef -double Ifc4x3_rc4::IfcCircleProfileDef::Radius() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc4::IfcCircleProfileDef::Radius() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcCircleProfileDef::setRadius(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcCircleProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[166]); } const IfcParse::entity& Ifc4x3_rc4::IfcCircleProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[166]); } Ifc4x3_rc4::IfcCircleProfileDef::IfcCircleProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_rc4::IfcCircleProfileDef::IfcCircleProfileDef(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D* v3_Position, double v4_Radius) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));; populate_derived(); } +Ifc4x3_rc4::IfcCircleProfileDef::IfcCircleProfileDef(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D* v3_Position, double v4_Radius) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));; populate_derived(); } // Function implementations for IfcCivilElement @@ -9046,7 +9046,7 @@ Ifc4x3_rc4::IfcCircleProfileDef::IfcCircleProfileDef(::Ifc4x3_rc4::IfcProfileTyp const IfcParse::entity& Ifc4x3_rc4::IfcCivilElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[167]); } const IfcParse::entity& Ifc4x3_rc4::IfcCivilElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[167]); } Ifc4x3_rc4::IfcCivilElement::IfcCivilElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc4::IfcCivilElement::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) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc4::IfcCivilElement::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) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcCivilElementType @@ -9054,22 +9054,22 @@ Ifc4x3_rc4::IfcCivilElement::IfcCivilElement(std::string v1_GlobalId, ::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc4::IfcCivilElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[168]); } const IfcParse::entity& Ifc4x3_rc4::IfcCivilElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[168]); } Ifc4x3_rc4::IfcCivilElementType::IfcCivilElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcClassification -boost::optional< std::string > Ifc4x3_rc4::IfcClassification::Source() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcClassification::Source() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcClassification::setSource(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc4::IfcClassification::Edition() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcClassification::Edition() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcClassification::setEdition(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc4::IfcClassification::EditionDate() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcClassification::EditionDate() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcClassification::setEditionDate(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::string Ifc4x3_rc4::IfcClassification::Name() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x3_rc4::IfcClassification::Name() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcClassification::setName(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc4::IfcClassification::Description() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcClassification::Description() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcClassification::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc4::IfcClassification::Location() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcClassification::Location() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcClassification::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcClassification::ReferenceTokens() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(6); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcClassification::ReferenceTokens() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcClassification::setReferenceTokens(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_rc4::IfcRelAssociatesClassification::list::ptr Ifc4x3_rc4::IfcClassification::ClassificationForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[915], 5)->as(); } @@ -9078,14 +9078,14 @@ void Ifc4x3_rc4::IfcClassification::setReferenceTokens(boost::optional< std::vec const IfcParse::entity& Ifc4x3_rc4::IfcClassification::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[169]); } const IfcParse::entity& Ifc4x3_rc4::IfcClassification::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[169]); } Ifc4x3_rc4::IfcClassification::IfcClassification(IfcEntityInstanceData&& e) : IfcExternalInformation(std::move(e)) { } -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(storage_t(7))) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Location) {set_attribute_value(5, (*v6_Location)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); }; populate_derived(); } +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(in_memory_attribute_storage(7))) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Location) {set_attribute_value(5, (*v6_Location)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); }; populate_derived(); } // Function implementations for IfcClassificationReference -::Ifc4x3_rc4::IfcClassificationReferenceSelect* Ifc4x3_rc4::IfcClassificationReference::ReferencedSource() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcClassificationReferenceSelect>(true); } +::Ifc4x3_rc4::IfcClassificationReferenceSelect* Ifc4x3_rc4::IfcClassificationReference::ReferencedSource() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcClassificationReferenceSelect>(true); } void Ifc4x3_rc4::IfcClassificationReference::setReferencedSource(::Ifc4x3_rc4::IfcClassificationReferenceSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc4::IfcClassificationReference::Description() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcClassificationReference::Description() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcClassificationReference::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc4::IfcClassificationReference::Sort() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcClassificationReference::Sort() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcClassificationReference::setSort(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x3_rc4::IfcRelAssociatesClassification::list::ptr Ifc4x3_rc4::IfcClassificationReference::ClassificationRefForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[915], 5)->as(); } @@ -9094,7 +9094,7 @@ void Ifc4x3_rc4::IfcClassificationReference::setSort(boost::optional< std::strin const IfcParse::entity& Ifc4x3_rc4::IfcClassificationReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[170]); } const IfcParse::entity& Ifc4x3_rc4::IfcClassificationReference::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[170]); } Ifc4x3_rc4::IfcClassificationReference::IfcClassificationReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_rc4::IfcClassificationReference::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) : IfcExternalReference(IfcEntityInstanceData(storage_t(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, v4_ReferencedSource ? v4_ReferencedSource->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); }; populate_derived(); } +Ifc4x3_rc4::IfcClassificationReference::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) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, v4_ReferencedSource ? v4_ReferencedSource->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); }; populate_derived(); } // Function implementations for IfcClosedShell @@ -9102,81 +9102,81 @@ Ifc4x3_rc4::IfcClassificationReference::IfcClassificationReference(boost::option const IfcParse::entity& Ifc4x3_rc4::IfcClosedShell::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[173]); } const IfcParse::entity& Ifc4x3_rc4::IfcClosedShell::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[173]); } Ifc4x3_rc4::IfcClosedShell::IfcClosedShell(IfcEntityInstanceData&& e) : IfcConnectedFaceSet(std::move(e)) { } -Ifc4x3_rc4::IfcClosedShell::IfcClosedShell(aggregate_of< ::Ifc4x3_rc4::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc4x3_rc4::IfcClosedShell::IfcClosedShell(aggregate_of< ::Ifc4x3_rc4::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcClothoid -double Ifc4x3_rc4::IfcClothoid::ClothoidConstant() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc4::IfcClothoid::ClothoidConstant() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcClothoid::setClothoidConstant(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcClothoid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[174]); } const IfcParse::entity& Ifc4x3_rc4::IfcClothoid::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[174]); } Ifc4x3_rc4::IfcClothoid::IfcClothoid(IfcEntityInstanceData&& e) : IfcSpiral(std::move(e)) { } -Ifc4x3_rc4::IfcClothoid::IfcClothoid(::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, double v2_ClothoidConstant) : IfcSpiral(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_ClothoidConstant));; populate_derived(); } +Ifc4x3_rc4::IfcClothoid::IfcClothoid(::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, double v2_ClothoidConstant) : IfcSpiral(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_ClothoidConstant));; populate_derived(); } // Function implementations for IfcCoil -boost::optional< ::Ifc4x3_rc4::IfcCoilTypeEnum::Value > Ifc4x3_rc4::IfcCoil::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCoilTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcCoilTypeEnum::Value > Ifc4x3_rc4::IfcCoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCoilTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcCoil::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCoilTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcCoilTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcCoil::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[175]); } const IfcParse::entity& Ifc4x3_rc4::IfcCoil::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[175]); } Ifc4x3_rc4::IfcCoil::IfcCoil(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCoilType -::Ifc4x3_rc4::IfcCoilTypeEnum::Value Ifc4x3_rc4::IfcCoilType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCoilTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcCoilTypeEnum::Value Ifc4x3_rc4::IfcCoilType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCoilTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcCoilType::setPredefinedType(::Ifc4x3_rc4::IfcCoilTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcCoilTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcCoilType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[176]); } const IfcParse::entity& Ifc4x3_rc4::IfcCoilType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[176]); } Ifc4x3_rc4::IfcCoilType::IfcCoilType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcColourRgb -double Ifc4x3_rc4::IfcColourRgb::Red() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc4::IfcColourRgb::Red() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcColourRgb::setRed(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc4::IfcColourRgb::Green() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc4::IfcColourRgb::Green() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcColourRgb::setGreen(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc4::IfcColourRgb::Blue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc4::IfcColourRgb::Blue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcColourRgb::setBlue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcColourRgb::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[180]); } const IfcParse::entity& Ifc4x3_rc4::IfcColourRgb::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[180]); } Ifc4x3_rc4::IfcColourRgb::IfcColourRgb(IfcEntityInstanceData&& e) : IfcColourSpecification(std::move(e)) { } -Ifc4x3_rc4::IfcColourRgb::IfcColourRgb(boost::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) : IfcColourSpecification(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; populate_derived(); } +Ifc4x3_rc4::IfcColourRgb::IfcColourRgb(boost::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) : IfcColourSpecification(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; populate_derived(); } // Function implementations for IfcColourRgbList -std::vector< std::vector< double > > Ifc4x3_rc4::IfcColourRgbList::ColourList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x3_rc4::IfcColourRgbList::ColourList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcColourRgbList::setColourList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc4::IfcColourRgbList::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[181]); } const IfcParse::entity& Ifc4x3_rc4::IfcColourRgbList::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[181]); } Ifc4x3_rc4::IfcColourRgbList::IfcColourRgbList(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcColourRgbList::IfcColourRgbList(std::vector< std::vector< double > > v1_ColourList) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_ColourList));; populate_derived(); } +Ifc4x3_rc4::IfcColourRgbList::IfcColourRgbList(std::vector< std::vector< double > > v1_ColourList) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_ColourList));; populate_derived(); } // Function implementations for IfcColourSpecification -boost::optional< std::string > Ifc4x3_rc4::IfcColourSpecification::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcColourSpecification::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcColourSpecification::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3_rc4::IfcColourSpecification::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[182]); } const IfcParse::entity& Ifc4x3_rc4::IfcColourSpecification::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[182]); } Ifc4x3_rc4::IfcColourSpecification::IfcColourSpecification(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcColourSpecification::IfcColourSpecification(boost::optional< std::string > v1_Name) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_rc4::IfcColourSpecification::IfcColourSpecification(boost::optional< std::string > v1_Name) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcColumn -boost::optional< ::Ifc4x3_rc4::IfcColumnTypeEnum::Value > Ifc4x3_rc4::IfcColumn::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcColumnTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcColumnTypeEnum::Value > Ifc4x3_rc4::IfcColumn::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcColumnTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcColumn::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcColumnTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcColumnTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcColumn::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[183]); } const IfcParse::entity& Ifc4x3_rc4::IfcColumn::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[183]); } Ifc4x3_rc4::IfcColumn::IfcColumn(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc4::IfcColumn::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) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc4::IfcColumn::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) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcColumnStandardCase @@ -9184,75 +9184,75 @@ Ifc4x3_rc4::IfcColumn::IfcColumn(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwner const IfcParse::entity& Ifc4x3_rc4::IfcColumnStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[184]); } const IfcParse::entity& Ifc4x3_rc4::IfcColumnStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[184]); } Ifc4x3_rc4::IfcColumnStandardCase::IfcColumnStandardCase(IfcEntityInstanceData&& e) : IfcColumn(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcColumnType -::Ifc4x3_rc4::IfcColumnTypeEnum::Value Ifc4x3_rc4::IfcColumnType::PredefinedType() const { return ::Ifc4x3_rc4::IfcColumnTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcColumnTypeEnum::Value Ifc4x3_rc4::IfcColumnType::PredefinedType() const { return ::Ifc4x3_rc4::IfcColumnTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcColumnType::setPredefinedType(::Ifc4x3_rc4::IfcColumnTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcColumnTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcColumnType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[185]); } const IfcParse::entity& Ifc4x3_rc4::IfcColumnType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[185]); } Ifc4x3_rc4::IfcColumnType::IfcColumnType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCommunicationsAppliance -boost::optional< ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x3_rc4::IfcCommunicationsAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x3_rc4::IfcCommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcCommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcCommunicationsAppliance::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[187]); } const IfcParse::entity& Ifc4x3_rc4::IfcCommunicationsAppliance::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[187]); } Ifc4x3_rc4::IfcCommunicationsAppliance::IfcCommunicationsAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCommunicationsApplianceType -::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3_rc4::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3_rc4::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcCommunicationsApplianceType::setPredefinedType(::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcCommunicationsApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[188]); } const IfcParse::entity& Ifc4x3_rc4::IfcCommunicationsApplianceType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[188]); } Ifc4x3_rc4::IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcComplexProperty -std::string Ifc4x3_rc4::IfcComplexProperty::UsageName() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3_rc4::IfcComplexProperty::UsageName() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcComplexProperty::setUsageName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_rc4::IfcProperty >::ptr Ifc4x3_rc4::IfcComplexProperty::HasProperties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc4::IfcProperty >(); } +aggregate_of< ::Ifc4x3_rc4::IfcProperty >::ptr Ifc4x3_rc4::IfcComplexProperty::HasProperties() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc4::IfcProperty >(); } void Ifc4x3_rc4::IfcComplexProperty::setHasProperties(aggregate_of< ::Ifc4x3_rc4::IfcProperty >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcComplexProperty::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[191]); } const IfcParse::entity& Ifc4x3_rc4::IfcComplexProperty::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[191]); } Ifc4x3_rc4::IfcComplexProperty::IfcComplexProperty(IfcEntityInstanceData&& e) : IfcProperty(std::move(e)) { } -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(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, (v4_HasProperties)->generalize());; populate_derived(); } +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(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, (v4_HasProperties)->generalize());; populate_derived(); } // Function implementations for IfcComplexPropertyTemplate -boost::optional< std::string > Ifc4x3_rc4::IfcComplexPropertyTemplate::UsageName() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcComplexPropertyTemplate::UsageName() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcComplexPropertyTemplate::setUsageName(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< ::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4x3_rc4::IfcComplexPropertyTemplate::TemplateType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4x3_rc4::IfcComplexPropertyTemplate::TemplateType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc4::IfcComplexPropertyTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertyTemplate >::ptr > Ifc4x3_rc4::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3_rc4::IfcPropertyTemplate >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertyTemplate >::ptr > Ifc4x3_rc4::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3_rc4::IfcPropertyTemplate >(); } void Ifc4x3_rc4::IfcComplexPropertyTemplate::setHasPropertyTemplates(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertyTemplate >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc4::IfcComplexPropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[192]); } const IfcParse::entity& Ifc4x3_rc4::IfcComplexPropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[192]); } Ifc4x3_rc4::IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplate(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertyTemplate >::ptr > v7_HasPropertyTemplates) : IfcPropertyTemplate(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, (*v7_HasPropertyTemplates)->generalize()); }; populate_derived(); } +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(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, (*v7_HasPropertyTemplates)->generalize()); }; populate_derived(); } // Function implementations for IfcCompositeCurve -aggregate_of< ::Ifc4x3_rc4::IfcSegment >::ptr Ifc4x3_rc4::IfcCompositeCurve::Segments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcSegment >(); } +aggregate_of< ::Ifc4x3_rc4::IfcSegment >::ptr Ifc4x3_rc4::IfcCompositeCurve::Segments() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcSegment >(); } void Ifc4x3_rc4::IfcCompositeCurve::setSegments(aggregate_of< ::Ifc4x3_rc4::IfcSegment >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::logic::tribool Ifc4x3_rc4::IfcCompositeCurve::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(1); return v; } +boost::logic::tribool Ifc4x3_rc4::IfcCompositeCurve::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcCompositeCurve::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcCompositeCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[194]); } const IfcParse::entity& Ifc4x3_rc4::IfcCompositeCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[194]); } Ifc4x3_rc4::IfcCompositeCurve::IfcCompositeCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_rc4::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc4x3_rc4::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x3_rc4::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc4x3_rc4::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcCompositeCurveOnSurface @@ -9260,103 +9260,103 @@ Ifc4x3_rc4::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc4x3_rc4::Ifc const IfcParse::entity& Ifc4x3_rc4::IfcCompositeCurveOnSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[195]); } const IfcParse::entity& Ifc4x3_rc4::IfcCompositeCurveOnSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[195]); } Ifc4x3_rc4::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(IfcEntityInstanceData&& e) : IfcCompositeCurve(std::move(e)) { } -Ifc4x3_rc4::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(aggregate_of< ::Ifc4x3_rc4::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x3_rc4::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(aggregate_of< ::Ifc4x3_rc4::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcCompositeCurveSegment -bool Ifc4x3_rc4::IfcCompositeCurveSegment::SameSense() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x3_rc4::IfcCompositeCurveSegment::SameSense() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcCompositeCurveSegment::setSameSense(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcCurve>(true); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcCompositeCurveSegment::setParentCurve(::Ifc4x3_rc4::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcCompositeCurveSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[196]); } const IfcParse::entity& Ifc4x3_rc4::IfcCompositeCurveSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[196]); } Ifc4x3_rc4::IfcCompositeCurveSegment::IfcCompositeCurveSegment(IfcEntityInstanceData&& e) : IfcSegment(std::move(e)) { } -Ifc4x3_rc4::IfcCompositeCurveSegment::IfcCompositeCurveSegment(::Ifc4x3_rc4::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc4::IfcCurve* v3_ParentCurve) : IfcSegment(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcCompositeCurveSegment::IfcCompositeCurveSegment(::Ifc4x3_rc4::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc4::IfcCurve* v3_ParentCurve) : IfcSegment(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCompositeProfileDef -aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr Ifc4x3_rc4::IfcCompositeProfileDef::Profiles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcProfileDef >(); } +aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr Ifc4x3_rc4::IfcCompositeProfileDef::Profiles() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcProfileDef >(); } void Ifc4x3_rc4::IfcCompositeProfileDef::setProfiles(aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x3_rc4::IfcCompositeProfileDef::Label() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcCompositeProfileDef::Label() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcCompositeProfileDef::setLabel(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc4::IfcCompositeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[197]); } const IfcParse::entity& Ifc4x3_rc4::IfcCompositeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[197]); } Ifc4x3_rc4::IfcCompositeProfileDef::IfcCompositeProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -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(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Profiles)->generalize()); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; populate_derived(); } +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(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Profiles)->generalize()); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; populate_derived(); } // Function implementations for IfcCompressor -boost::optional< ::Ifc4x3_rc4::IfcCompressorTypeEnum::Value > Ifc4x3_rc4::IfcCompressor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCompressorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcCompressorTypeEnum::Value > Ifc4x3_rc4::IfcCompressor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCompressorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcCompressor::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCompressorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcCompressorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcCompressor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[199]); } const IfcParse::entity& Ifc4x3_rc4::IfcCompressor::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[199]); } Ifc4x3_rc4::IfcCompressor::IfcCompressor(IfcEntityInstanceData&& e) : IfcFlowMovingDevice(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCompressorType -::Ifc4x3_rc4::IfcCompressorTypeEnum::Value Ifc4x3_rc4::IfcCompressorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCompressorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcCompressorTypeEnum::Value Ifc4x3_rc4::IfcCompressorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCompressorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcCompressorType::setPredefinedType(::Ifc4x3_rc4::IfcCompressorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcCompressorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcCompressorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[200]); } const IfcParse::entity& Ifc4x3_rc4::IfcCompressorType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[200]); } Ifc4x3_rc4::IfcCompressorType::IfcCompressorType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCondenser -boost::optional< ::Ifc4x3_rc4::IfcCondenserTypeEnum::Value > Ifc4x3_rc4::IfcCondenser::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCondenserTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcCondenserTypeEnum::Value > Ifc4x3_rc4::IfcCondenser::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCondenserTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcCondenser::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCondenserTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcCondenserTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcCondenser::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[202]); } const IfcParse::entity& Ifc4x3_rc4::IfcCondenser::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[202]); } Ifc4x3_rc4::IfcCondenser::IfcCondenser(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCondenserType -::Ifc4x3_rc4::IfcCondenserTypeEnum::Value Ifc4x3_rc4::IfcCondenserType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCondenserTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcCondenserTypeEnum::Value Ifc4x3_rc4::IfcCondenserType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCondenserTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcCondenserType::setPredefinedType(::Ifc4x3_rc4::IfcCondenserTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcCondenserTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcCondenserType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[203]); } const IfcParse::entity& Ifc4x3_rc4::IfcCondenserType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[203]); } Ifc4x3_rc4::IfcCondenserType::IfcCondenserType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcConic -::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcAxis2Placement>(true); } +::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcAxis2Placement>(true); } void Ifc4x3_rc4::IfcConic::setPosition(::Ifc4x3_rc4::IfcAxis2Placement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc4::IfcConic::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[205]); } const IfcParse::entity& Ifc4x3_rc4::IfcConic::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[205]); } Ifc4x3_rc4::IfcConic::IfcConic(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_rc4::IfcConic::IfcConic(::Ifc4x3_rc4::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcConic::IfcConic(::Ifc4x3_rc4::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectedFaceSet -aggregate_of< ::Ifc4x3_rc4::IfcFace >::ptr Ifc4x3_rc4::IfcConnectedFaceSet::CfsFaces() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcFace >(); } +aggregate_of< ::Ifc4x3_rc4::IfcFace >::ptr Ifc4x3_rc4::IfcConnectedFaceSet::CfsFaces() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcFace >(); } void Ifc4x3_rc4::IfcConnectedFaceSet::setCfsFaces(aggregate_of< ::Ifc4x3_rc4::IfcFace >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc4::IfcConnectedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[206]); } const IfcParse::entity& Ifc4x3_rc4::IfcConnectedFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[206]); } Ifc4x3_rc4::IfcConnectedFaceSet::IfcConnectedFaceSet(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcConnectedFaceSet::IfcConnectedFaceSet(aggregate_of< ::Ifc4x3_rc4::IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc4x3_rc4::IfcConnectedFaceSet::IfcConnectedFaceSet(aggregate_of< ::Ifc4x3_rc4::IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcConnectionCurveGeometry -::Ifc4x3_rc4::IfcCurveOrEdgeCurve* Ifc4x3_rc4::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCurveOrEdgeCurve>(true); } +::Ifc4x3_rc4::IfcCurveOrEdgeCurve* Ifc4x3_rc4::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCurveOrEdgeCurve>(true); } void Ifc4x3_rc4::IfcConnectionCurveGeometry::setCurveOnRelatingElement(::Ifc4x3_rc4::IfcCurveOrEdgeCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcCurveOrEdgeCurve* Ifc4x3_rc4::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcCurveOrEdgeCurve>(true); } +::Ifc4x3_rc4::IfcCurveOrEdgeCurve* Ifc4x3_rc4::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcCurveOrEdgeCurve>(true); } void Ifc4x3_rc4::IfcConnectionCurveGeometry::setCurveOnRelatedElement(::Ifc4x3_rc4::IfcCurveOrEdgeCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcConnectionCurveGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[207]); } const IfcParse::entity& Ifc4x3_rc4::IfcConnectionCurveGeometry::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[207]); } Ifc4x3_rc4::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x3_rc4::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc4x3_rc4::IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, ::Ifc4x3_rc4::IfcCurveOrEdgeCurve* v2_CurveOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_CurveOnRelatingElement ? v1_CurveOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_CurveOnRelatedElement ? v2_CurveOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc4x3_rc4::IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, ::Ifc4x3_rc4::IfcCurveOrEdgeCurve* v2_CurveOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_CurveOnRelatingElement ? v1_CurveOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_CurveOnRelatedElement ? v2_CurveOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionGeometry @@ -9364,72 +9364,72 @@ Ifc4x3_rc4::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc4x3_rc4: const IfcParse::entity& Ifc4x3_rc4::IfcConnectionGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[208]); } const IfcParse::entity& Ifc4x3_rc4::IfcConnectionGeometry::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[208]); } Ifc4x3_rc4::IfcConnectionGeometry::IfcConnectionGeometry(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc4::IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcConnectionPointEccentricity -boost::optional< double > Ifc4x3_rc4::IfcConnectionPointEccentricity::EccentricityInX() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc4::IfcConnectionPointEccentricity::EccentricityInX() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcConnectionPointEccentricity::setEccentricityInX(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc4::IfcConnectionPointEccentricity::EccentricityInY() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc4::IfcConnectionPointEccentricity::EccentricityInY() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcConnectionPointEccentricity::setEccentricityInY(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc4::IfcConnectionPointEccentricity::EccentricityInZ() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc4::IfcConnectionPointEccentricity::EccentricityInZ() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcConnectionPointEccentricity::setEccentricityInZ(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc4::IfcConnectionPointEccentricity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[209]); } const IfcParse::entity& Ifc4x3_rc4::IfcConnectionPointEccentricity::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[209]); } Ifc4x3_rc4::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcEntityInstanceData&& e) : IfcConnectionPointGeometry(std::move(e)) { } -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(storage_t(5))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; populate_derived(); } +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(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; populate_derived(); } // Function implementations for IfcConnectionPointGeometry -::Ifc4x3_rc4::IfcPointOrVertexPoint* Ifc4x3_rc4::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcPointOrVertexPoint>(true); } +::Ifc4x3_rc4::IfcPointOrVertexPoint* Ifc4x3_rc4::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcPointOrVertexPoint>(true); } void Ifc4x3_rc4::IfcConnectionPointGeometry::setPointOnRelatingElement(::Ifc4x3_rc4::IfcPointOrVertexPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcPointOrVertexPoint* Ifc4x3_rc4::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcPointOrVertexPoint>(true); } +::Ifc4x3_rc4::IfcPointOrVertexPoint* Ifc4x3_rc4::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcPointOrVertexPoint>(true); } void Ifc4x3_rc4::IfcConnectionPointGeometry::setPointOnRelatedElement(::Ifc4x3_rc4::IfcPointOrVertexPoint* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcConnectionPointGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[210]); } const IfcParse::entity& Ifc4x3_rc4::IfcConnectionPointGeometry::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[210]); } Ifc4x3_rc4::IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x3_rc4::IfcConnectionPointGeometry::IfcConnectionPointGeometry(::Ifc4x3_rc4::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3_rc4::IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcConnectionPointGeometry::IfcConnectionPointGeometry(::Ifc4x3_rc4::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3_rc4::IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionSurfaceGeometry -::Ifc4x3_rc4::IfcSurfaceOrFaceSurface* Ifc4x3_rc4::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcSurfaceOrFaceSurface>(true); } +::Ifc4x3_rc4::IfcSurfaceOrFaceSurface* Ifc4x3_rc4::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcSurfaceOrFaceSurface>(true); } void Ifc4x3_rc4::IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(::Ifc4x3_rc4::IfcSurfaceOrFaceSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcSurfaceOrFaceSurface* Ifc4x3_rc4::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcSurfaceOrFaceSurface>(true); } +::Ifc4x3_rc4::IfcSurfaceOrFaceSurface* Ifc4x3_rc4::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcSurfaceOrFaceSurface>(true); } void Ifc4x3_rc4::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(::Ifc4x3_rc4::IfcSurfaceOrFaceSurface* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcConnectionSurfaceGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[211]); } const IfcParse::entity& Ifc4x3_rc4::IfcConnectionSurfaceGeometry::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[211]); } Ifc4x3_rc4::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x3_rc4::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(::Ifc4x3_rc4::IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, ::Ifc4x3_rc4::IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SurfaceOnRelatingElement ? v1_SurfaceOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_SurfaceOnRelatedElement ? v2_SurfaceOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(::Ifc4x3_rc4::IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, ::Ifc4x3_rc4::IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SurfaceOnRelatingElement ? v1_SurfaceOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_SurfaceOnRelatedElement ? v2_SurfaceOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionVolumeGeometry -::Ifc4x3_rc4::IfcSolidOrShell* Ifc4x3_rc4::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcSolidOrShell>(true); } +::Ifc4x3_rc4::IfcSolidOrShell* Ifc4x3_rc4::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcSolidOrShell>(true); } void Ifc4x3_rc4::IfcConnectionVolumeGeometry::setVolumeOnRelatingElement(::Ifc4x3_rc4::IfcSolidOrShell* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcSolidOrShell* Ifc4x3_rc4::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcSolidOrShell>(true); } +::Ifc4x3_rc4::IfcSolidOrShell* Ifc4x3_rc4::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcSolidOrShell>(true); } void Ifc4x3_rc4::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(::Ifc4x3_rc4::IfcSolidOrShell* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcConnectionVolumeGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[213]); } const IfcParse::entity& Ifc4x3_rc4::IfcConnectionVolumeGeometry::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[213]); } Ifc4x3_rc4::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x3_rc4::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(::Ifc4x3_rc4::IfcSolidOrShell* v1_VolumeOnRelatingElement, ::Ifc4x3_rc4::IfcSolidOrShell* v2_VolumeOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_VolumeOnRelatingElement ? v1_VolumeOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_VolumeOnRelatedElement ? v2_VolumeOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(::Ifc4x3_rc4::IfcSolidOrShell* v1_VolumeOnRelatingElement, ::Ifc4x3_rc4::IfcSolidOrShell* v2_VolumeOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_VolumeOnRelatingElement ? v1_VolumeOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_VolumeOnRelatedElement ? v2_VolumeOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConstraint -std::string Ifc4x3_rc4::IfcConstraint::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc4::IfcConstraint::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcConstraint::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc4::IfcConstraint::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcConstraint::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcConstraint::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc4::IfcConstraintEnum::Value Ifc4x3_rc4::IfcConstraint::ConstraintGrade() const { return ::Ifc4x3_rc4::IfcConstraintEnum::FromString(data_.get_attribute_value(2)); } +::Ifc4x3_rc4::IfcConstraintEnum::Value Ifc4x3_rc4::IfcConstraint::ConstraintGrade() const { return ::Ifc4x3_rc4::IfcConstraintEnum::FromString(get_attribute_value(2)); } void Ifc4x3_rc4::IfcConstraint::setConstraintGrade(::Ifc4x3_rc4::IfcConstraintEnum::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3_rc4::IfcConstraintEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x3_rc4::IfcConstraint::ConstraintSource() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcConstraint::ConstraintSource() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcConstraint::CreatingActor() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcActorSelect>(true); } +::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcConstraint::CreatingActor() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcActorSelect>(true); } void Ifc4x3_rc4::IfcConstraint::setCreatingActor(::Ifc4x3_rc4::IfcActorSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -boost::optional< std::string > Ifc4x3_rc4::IfcConstraint::CreationTime() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcConstraint::CreationTime() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcConstraint::setCreationTime(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc4::IfcConstraint::UserDefinedGrade() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcConstraint::UserDefinedGrade() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_rc4::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc4::IfcConstraint::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[433], 3)->as(); } @@ -9438,104 +9438,104 @@ void Ifc4x3_rc4::IfcConstraint::setUserDefinedGrade(boost::optional< std::string const IfcParse::entity& Ifc4x3_rc4::IfcConstraint::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[214]); } const IfcParse::entity& Ifc4x3_rc4::IfcConstraint::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[214]); } Ifc4x3_rc4::IfcConstraint::IfcConstraint(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -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(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc4::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; populate_derived(); } +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(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc4::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; populate_derived(); } // Function implementations for IfcConstructionEquipmentResource -boost::optional< ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x3_rc4::IfcConstructionEquipmentResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x3_rc4::IfcConstructionEquipmentResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc4::IfcConstructionEquipmentResource::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc4::IfcConstructionEquipmentResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[216]); } const IfcParse::entity& Ifc4x3_rc4::IfcConstructionEquipmentResource::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[216]); } Ifc4x3_rc4::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConstructionEquipmentResourceType -::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3_rc4::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3_rc4::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc4::IfcConstructionEquipmentResourceType::setPredefinedType(::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc4::IfcConstructionEquipmentResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[217]); } const IfcParse::entity& Ifc4x3_rc4::IfcConstructionEquipmentResourceType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[217]); } Ifc4x3_rc4::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(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< 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(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc4::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcConstructionMaterialResource -boost::optional< ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x3_rc4::IfcConstructionMaterialResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x3_rc4::IfcConstructionMaterialResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc4::IfcConstructionMaterialResource::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc4::IfcConstructionMaterialResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[219]); } const IfcParse::entity& Ifc4x3_rc4::IfcConstructionMaterialResource::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[219]); } Ifc4x3_rc4::IfcConstructionMaterialResource::IfcConstructionMaterialResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConstructionMaterialResourceType -::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3_rc4::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3_rc4::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc4::IfcConstructionMaterialResourceType::setPredefinedType(::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc4::IfcConstructionMaterialResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[220]); } const IfcParse::entity& Ifc4x3_rc4::IfcConstructionMaterialResourceType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[220]); } Ifc4x3_rc4::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(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< 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(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc4::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcConstructionProductResource -boost::optional< ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value > Ifc4x3_rc4::IfcConstructionProductResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value > Ifc4x3_rc4::IfcConstructionProductResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc4::IfcConstructionProductResource::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc4::IfcConstructionProductResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[222]); } const IfcParse::entity& Ifc4x3_rc4::IfcConstructionProductResource::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[222]); } Ifc4x3_rc4::IfcConstructionProductResource::IfcConstructionProductResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConstructionProductResourceType -::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value Ifc4x3_rc4::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value Ifc4x3_rc4::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc4::IfcConstructionProductResourceType::setPredefinedType(::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc4::IfcConstructionProductResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[223]); } const IfcParse::entity& Ifc4x3_rc4::IfcConstructionProductResourceType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[223]); } Ifc4x3_rc4::IfcConstructionProductResourceType::IfcConstructionProductResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(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< 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(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc4::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcConstructionResource -::Ifc4x3_rc4::IfcResourceTime* Ifc4x3_rc4::IfcConstructionResource::Usage() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc4::IfcResourceTime>(true); } +::Ifc4x3_rc4::IfcResourceTime* Ifc4x3_rc4::IfcConstructionResource::Usage() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc4::IfcResourceTime>(true); } void Ifc4x3_rc4::IfcConstructionResource::setUsage(::Ifc4x3_rc4::IfcResourceTime* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > Ifc4x3_rc4::IfcConstructionResource::BaseCosts() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_rc4::IfcAppliedValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > Ifc4x3_rc4::IfcConstructionResource::BaseCosts() const { if(get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_rc4::IfcAppliedValue >(); } void Ifc4x3_rc4::IfcConstructionResource::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v) { if (v) {set_attribute_value(8, (*v)->generalize());} else {unset_attribute_value(8);} } -::Ifc4x3_rc4::IfcPhysicalQuantity* Ifc4x3_rc4::IfcConstructionResource::BaseQuantity() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc4::IfcPhysicalQuantity>(true); } +::Ifc4x3_rc4::IfcPhysicalQuantity* Ifc4x3_rc4::IfcConstructionResource::BaseQuantity() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc4::IfcPhysicalQuantity>(true); } void Ifc4x3_rc4::IfcConstructionResource::setBaseQuantity(::Ifc4x3_rc4::IfcPhysicalQuantity* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcConstructionResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[225]); } const IfcParse::entity& Ifc4x3_rc4::IfcConstructionResource::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[225]); } Ifc4x3_rc4::IfcConstructionResource::IfcConstructionResource(IfcEntityInstanceData&& e) : IfcResource(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v10_BaseQuantity) : IfcResource(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConstructionResourceType -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > Ifc4x3_rc4::IfcConstructionResourceType::BaseCosts() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3_rc4::IfcAppliedValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > Ifc4x3_rc4::IfcConstructionResourceType::BaseCosts() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3_rc4::IfcAppliedValue >(); } void Ifc4x3_rc4::IfcConstructionResourceType::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -::Ifc4x3_rc4::IfcPhysicalQuantity* Ifc4x3_rc4::IfcConstructionResourceType::BaseQuantity() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_rc4::IfcPhysicalQuantity>(true); } +::Ifc4x3_rc4::IfcPhysicalQuantity* Ifc4x3_rc4::IfcConstructionResourceType::BaseQuantity() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_rc4::IfcPhysicalQuantity>(true); } void Ifc4x3_rc4::IfcConstructionResourceType::setBaseQuantity(::Ifc4x3_rc4::IfcPhysicalQuantity* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_rc4::IfcConstructionResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[226]); } const IfcParse::entity& Ifc4x3_rc4::IfcConstructionResourceType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[226]); } Ifc4x3_rc4::IfcConstructionResourceType::IfcConstructionResourceType(IfcEntityInstanceData&& e) : IfcTypeResource(std::move(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< 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(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcContext -boost::optional< std::string > Ifc4x3_rc4::IfcContext::ObjectType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcContext::ObjectType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcContext::setObjectType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc4::IfcContext::LongName() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcContext::LongName() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcContext::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc4::IfcContext::Phase() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcContext::Phase() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcContext::setPhase(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationContext >::ptr > Ifc4x3_rc4::IfcContext::RepresentationContexts() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc4::IfcRepresentationContext >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationContext >::ptr > Ifc4x3_rc4::IfcContext::RepresentationContexts() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc4::IfcRepresentationContext >(); } void Ifc4x3_rc4::IfcContext::setRepresentationContexts(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationContext >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -::Ifc4x3_rc4::IfcUnitAssignment* Ifc4x3_rc4::IfcContext::UnitsInContext() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc4::IfcUnitAssignment>(true); } +::Ifc4x3_rc4::IfcUnitAssignment* Ifc4x3_rc4::IfcContext::UnitsInContext() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc4::IfcUnitAssignment>(true); } void Ifc4x3_rc4::IfcContext::setUnitsInContext(::Ifc4x3_rc4::IfcUnitAssignment* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } ::Ifc4x3_rc4::IfcRelDefinesByProperties::list::ptr Ifc4x3_rc4::IfcContext::IsDefinedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[938], 4)->as(); } @@ -9544,10 +9544,10 @@ void Ifc4x3_rc4::IfcContext::setUnitsInContext(::Ifc4x3_rc4::IfcUnitAssignment* const IfcParse::entity& Ifc4x3_rc4::IfcContext::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[227]); } const IfcParse::entity& Ifc4x3_rc4::IfcContext::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[227]); } Ifc4x3_rc4::IfcContext::IfcContext(IfcEntityInstanceData&& e) : IfcObjectDefinition(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_rc4::IfcUnitAssignment* v9_UnitsInContext) : IfcObjectDefinition(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcContextDependentUnit -std::string Ifc4x3_rc4::IfcContextDependentUnit::Name() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3_rc4::IfcContextDependentUnit::Name() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcContextDependentUnit::setName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } ::Ifc4x3_rc4::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc4::IfcContextDependentUnit::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[433], 3)->as(); } @@ -9555,10 +9555,10 @@ void Ifc4x3_rc4::IfcContextDependentUnit::setName(std::string v) { set_attribute const IfcParse::entity& Ifc4x3_rc4::IfcContextDependentUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[229]); } const IfcParse::entity& Ifc4x3_rc4::IfcContextDependentUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[229]); } Ifc4x3_rc4::IfcContextDependentUnit::IfcContextDependentUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -Ifc4x3_rc4::IfcContextDependentUnit::IfcContextDependentUnit(::Ifc4x3_rc4::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) : IfcNamedUnit(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc4::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; populate_derived(); } +Ifc4x3_rc4::IfcContextDependentUnit::IfcContextDependentUnit(::Ifc4x3_rc4::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc4::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) : IfcNamedUnit(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc4::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; populate_derived(); } // Function implementations for IfcControl -boost::optional< std::string > Ifc4x3_rc4::IfcControl::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcControl::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcControl::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x3_rc4::IfcRelAssignsToControl::list::ptr Ifc4x3_rc4::IfcControl::Controls() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[907], 6)->as(); } @@ -9566,32 +9566,32 @@ void Ifc4x3_rc4::IfcControl::setIdentification(boost::optional< std::string > v) const IfcParse::entity& Ifc4x3_rc4::IfcControl::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[230]); } const IfcParse::entity& Ifc4x3_rc4::IfcControl::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[230]); } Ifc4x3_rc4::IfcControl::IfcControl(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -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(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }; populate_derived(); } +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(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }; populate_derived(); } // Function implementations for IfcController -boost::optional< ::Ifc4x3_rc4::IfcControllerTypeEnum::Value > Ifc4x3_rc4::IfcController::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcControllerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcControllerTypeEnum::Value > Ifc4x3_rc4::IfcController::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcControllerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcController::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcControllerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcControllerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcController::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[231]); } const IfcParse::entity& Ifc4x3_rc4::IfcController::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[231]); } Ifc4x3_rc4::IfcController::IfcController(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcControllerType -::Ifc4x3_rc4::IfcControllerTypeEnum::Value Ifc4x3_rc4::IfcControllerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcControllerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcControllerTypeEnum::Value Ifc4x3_rc4::IfcControllerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcControllerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcControllerType::setPredefinedType(::Ifc4x3_rc4::IfcControllerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcControllerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcControllerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[232]); } const IfcParse::entity& Ifc4x3_rc4::IfcControllerType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[232]); } Ifc4x3_rc4::IfcControllerType::IfcControllerType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcConversionBasedUnit -std::string Ifc4x3_rc4::IfcConversionBasedUnit::Name() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3_rc4::IfcConversionBasedUnit::Name() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcConversionBasedUnit::setName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcMeasureWithUnit* Ifc4x3_rc4::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcMeasureWithUnit>(true); } +::Ifc4x3_rc4::IfcMeasureWithUnit* Ifc4x3_rc4::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcMeasureWithUnit>(true); } void Ifc4x3_rc4::IfcConversionBasedUnit::setConversionFactor(::Ifc4x3_rc4::IfcMeasureWithUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } ::Ifc4x3_rc4::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc4::IfcConversionBasedUnit::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[433], 3)->as(); } @@ -9599,98 +9599,98 @@ void Ifc4x3_rc4::IfcConversionBasedUnit::setConversionFactor(::Ifc4x3_rc4::IfcMe const IfcParse::entity& Ifc4x3_rc4::IfcConversionBasedUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[234]); } const IfcParse::entity& Ifc4x3_rc4::IfcConversionBasedUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[234]); } Ifc4x3_rc4::IfcConversionBasedUnit::IfcConversionBasedUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -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(storage_t(4))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc4::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc4::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConversionBasedUnitWithOffset -double Ifc4x3_rc4::IfcConversionBasedUnitWithOffset::ConversionOffset() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc4::IfcConversionBasedUnitWithOffset::ConversionOffset() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcConversionBasedUnitWithOffset::setConversionOffset(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc4::IfcConversionBasedUnitWithOffset::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[235]); } const IfcParse::entity& Ifc4x3_rc4::IfcConversionBasedUnitWithOffset::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[235]); } Ifc4x3_rc4::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(IfcEntityInstanceData&& e) : IfcConversionBasedUnit(std::move(e)) { } -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(storage_t(5))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc4::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ConversionOffset));; populate_derived(); } +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(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc4::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ConversionOffset));; populate_derived(); } // Function implementations for IfcConveyorSegment -boost::optional< ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value > Ifc4x3_rc4::IfcConveyorSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value > Ifc4x3_rc4::IfcConveyorSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcConveyorSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcConveyorSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[236]); } const IfcParse::entity& Ifc4x3_rc4::IfcConveyorSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[236]); } Ifc4x3_rc4::IfcConveyorSegment::IfcConveyorSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConveyorSegmentType -::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value Ifc4x3_rc4::IfcConveyorSegmentType::PredefinedType() const { return ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value Ifc4x3_rc4::IfcConveyorSegmentType::PredefinedType() const { return ::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcConveyorSegmentType::setPredefinedType(::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcConveyorSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[237]); } const IfcParse::entity& Ifc4x3_rc4::IfcConveyorSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[237]); } Ifc4x3_rc4::IfcConveyorSegmentType::IfcConveyorSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcConveyorSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCooledBeam -boost::optional< ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value > Ifc4x3_rc4::IfcCooledBeam::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value > Ifc4x3_rc4::IfcCooledBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcCooledBeam::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcCooledBeam::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[239]); } const IfcParse::entity& Ifc4x3_rc4::IfcCooledBeam::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[239]); } Ifc4x3_rc4::IfcCooledBeam::IfcCooledBeam(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCooledBeamType -::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value Ifc4x3_rc4::IfcCooledBeamType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value Ifc4x3_rc4::IfcCooledBeamType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCooledBeamTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcCooledBeamType::setPredefinedType(::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcCooledBeamType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[240]); } const IfcParse::entity& Ifc4x3_rc4::IfcCooledBeamType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[240]); } Ifc4x3_rc4::IfcCooledBeamType::IfcCooledBeamType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCoolingTower -boost::optional< ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value > Ifc4x3_rc4::IfcCoolingTower::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value > Ifc4x3_rc4::IfcCoolingTower::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcCoolingTower::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcCoolingTower::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[242]); } const IfcParse::entity& Ifc4x3_rc4::IfcCoolingTower::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[242]); } Ifc4x3_rc4::IfcCoolingTower::IfcCoolingTower(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCoolingTowerType -::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value Ifc4x3_rc4::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value Ifc4x3_rc4::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcCoolingTowerType::setPredefinedType(::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcCoolingTowerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[243]); } const IfcParse::entity& Ifc4x3_rc4::IfcCoolingTowerType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[243]); } Ifc4x3_rc4::IfcCoolingTowerType::IfcCoolingTowerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_rc4::IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCoordinateOperation -::Ifc4x3_rc4::IfcCoordinateReferenceSystemSelect* Ifc4x3_rc4::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCoordinateReferenceSystemSelect>(true); } +::Ifc4x3_rc4::IfcCoordinateReferenceSystemSelect* Ifc4x3_rc4::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCoordinateReferenceSystemSelect>(true); } void Ifc4x3_rc4::IfcCoordinateOperation::setSourceCRS(::Ifc4x3_rc4::IfcCoordinateReferenceSystemSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcCoordinateReferenceSystem* Ifc4x3_rc4::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcCoordinateReferenceSystem>(true); } +::Ifc4x3_rc4::IfcCoordinateReferenceSystem* Ifc4x3_rc4::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcCoordinateReferenceSystem>(true); } void Ifc4x3_rc4::IfcCoordinateOperation::setTargetCRS(::Ifc4x3_rc4::IfcCoordinateReferenceSystem* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcCoordinateOperation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[245]); } const IfcParse::entity& Ifc4x3_rc4::IfcCoordinateOperation::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[245]); } Ifc4x3_rc4::IfcCoordinateOperation::IfcCoordinateOperation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcCoordinateOperation::IfcCoordinateOperation(::Ifc4x3_rc4::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_rc4::IfcCoordinateReferenceSystem* v2_TargetCRS) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcCoordinateOperation::IfcCoordinateOperation(::Ifc4x3_rc4::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_rc4::IfcCoordinateReferenceSystem* v2_TargetCRS) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCoordinateReferenceSystem -std::string Ifc4x3_rc4::IfcCoordinateReferenceSystem::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc4::IfcCoordinateReferenceSystem::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcCoordinateReferenceSystem::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc4::IfcCoordinateReferenceSystem::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcCoordinateReferenceSystem::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcCoordinateReferenceSystem::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc4::IfcCoordinateReferenceSystem::GeodeticDatum() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcCoordinateReferenceSystem::GeodeticDatum() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcCoordinateReferenceSystem::setGeodeticDatum(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_rc4::IfcCoordinateReferenceSystem::VerticalDatum() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcCoordinateReferenceSystem::VerticalDatum() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcCoordinateReferenceSystem::setVerticalDatum(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } ::Ifc4x3_rc4::IfcCoordinateOperation::list::ptr Ifc4x3_rc4::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[245], 0)->as(); } @@ -9698,49 +9698,49 @@ void Ifc4x3_rc4::IfcCoordinateReferenceSystem::setVerticalDatum(boost::optional< const IfcParse::entity& Ifc4x3_rc4::IfcCoordinateReferenceSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[246]); } const IfcParse::entity& Ifc4x3_rc4::IfcCoordinateReferenceSystem::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[246]); } Ifc4x3_rc4::IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -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(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); }; populate_derived(); } +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(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); }; populate_derived(); } // Function implementations for IfcCosine -double Ifc4x3_rc4::IfcCosine::CosineTerm() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc4::IfcCosine::CosineTerm() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcCosine::setCosineTerm(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_rc4::IfcCosine::ConstantTerm() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc4::IfcCosine::ConstantTerm() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcCosine::setConstantTerm(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc4::IfcCosine::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[248]); } const IfcParse::entity& Ifc4x3_rc4::IfcCosine::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[248]); } Ifc4x3_rc4::IfcCosine::IfcCosine(IfcEntityInstanceData&& e) : IfcSpiral(std::move(e)) { } -Ifc4x3_rc4::IfcCosine::IfcCosine(::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, double v2_CosineTerm, boost::optional< double > v3_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CosineTerm)); if (v3_ConstantTerm) {set_attribute_value(2, (*v3_ConstantTerm)); }; populate_derived(); } +Ifc4x3_rc4::IfcCosine::IfcCosine(::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, double v2_CosineTerm, boost::optional< double > v3_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CosineTerm)); if (v3_ConstantTerm) {set_attribute_value(2, (*v3_ConstantTerm)); }; populate_derived(); } // Function implementations for IfcCostItem -boost::optional< ::Ifc4x3_rc4::IfcCostItemTypeEnum::Value > Ifc4x3_rc4::IfcCostItem::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCostItemTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_rc4::IfcCostItemTypeEnum::Value > Ifc4x3_rc4::IfcCostItem::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCostItemTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_rc4::IfcCostItem::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCostItemTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_rc4::IfcCostItemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcCostValue >::ptr > Ifc4x3_rc4::IfcCostItem::CostValues() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc4::IfcCostValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcCostValue >::ptr > Ifc4x3_rc4::IfcCostItem::CostValues() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc4::IfcCostValue >(); } void Ifc4x3_rc4::IfcCostItem::setCostValues(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcCostValue >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr > Ifc4x3_rc4::IfcCostItem::CostQuantities() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_rc4::IfcPhysicalQuantity >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr > Ifc4x3_rc4::IfcCostItem::CostQuantities() const { if(get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_rc4::IfcPhysicalQuantity >(); } void Ifc4x3_rc4::IfcCostItem::setCostQuantities(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr > v) { if (v) {set_attribute_value(8, (*v)->generalize());} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcCostItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[249]); } const IfcParse::entity& Ifc4x3_rc4::IfcCostItem::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[249]); } Ifc4x3_rc4::IfcCostItem::IfcCostItem(IfcEntityInstanceData&& e) : IfcControl(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcCostValue >::ptr > v8_CostValues, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr > v9_CostQuantities) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc4::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, (*v8_CostValues)->generalize()); } if (v9_CostQuantities) {set_attribute_value(8, (*v9_CostQuantities)->generalize()); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc4::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, (*v8_CostValues)->generalize()); } if (v9_CostQuantities) {set_attribute_value(8, (*v9_CostQuantities)->generalize()); }; populate_derived(); } // Function implementations for IfcCostSchedule -boost::optional< ::Ifc4x3_rc4::IfcCostScheduleTypeEnum::Value > Ifc4x3_rc4::IfcCostSchedule::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCostScheduleTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_rc4::IfcCostScheduleTypeEnum::Value > Ifc4x3_rc4::IfcCostSchedule::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCostScheduleTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_rc4::IfcCostSchedule::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCostScheduleTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_rc4::IfcCostScheduleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc4::IfcCostSchedule::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcCostSchedule::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcCostSchedule::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc4::IfcCostSchedule::SubmittedOn() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcCostSchedule::SubmittedOn() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcCostSchedule::setSubmittedOn(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_rc4::IfcCostSchedule::UpdateDate() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcCostSchedule::UpdateDate() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc4::IfcCostSchedule::setUpdateDate(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc4::IfcCostSchedule::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[251]); } const IfcParse::entity& Ifc4x3_rc4::IfcCostSchedule::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[251]); } Ifc4x3_rc4::IfcCostSchedule::IfcCostSchedule(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_rc4::IfcCostSchedule::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) : IfcControl(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc4::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); }; populate_derived(); } +Ifc4x3_rc4::IfcCostSchedule::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) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc4::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); }; populate_derived(); } // Function implementations for IfcCostValue @@ -9748,30 +9748,30 @@ Ifc4x3_rc4::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc4::IfcCostValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[253]); } const IfcParse::entity& Ifc4x3_rc4::IfcCostValue::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[253]); } Ifc4x3_rc4::IfcCostValue::IfcCostValue(IfcEntityInstanceData&& e) : IfcAppliedValue(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v10_Components) : IfcAppliedValue(IfcEntityInstanceData(storage_t(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } +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(in_memory_attribute_storage(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } // Function implementations for IfcCourse -boost::optional< ::Ifc4x3_rc4::IfcCourseTypeEnum::Value > Ifc4x3_rc4::IfcCourse::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCourseTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcCourseTypeEnum::Value > Ifc4x3_rc4::IfcCourse::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCourseTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcCourse::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCourseTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcCourseTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcCourse::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[255]); } const IfcParse::entity& Ifc4x3_rc4::IfcCourse::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[255]); } Ifc4x3_rc4::IfcCourse::IfcCourse(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcCourseTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcCourseTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCourseType -::Ifc4x3_rc4::IfcCourseTypeEnum::Value Ifc4x3_rc4::IfcCourseType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCourseTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcCourseTypeEnum::Value Ifc4x3_rc4::IfcCourseType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCourseTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcCourseType::setPredefinedType(::Ifc4x3_rc4::IfcCourseTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcCourseTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcCourseType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[256]); } const IfcParse::entity& Ifc4x3_rc4::IfcCourseType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[256]); } Ifc4x3_rc4::IfcCourseType::IfcCourseType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcCourseTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcCourseTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCovering -boost::optional< ::Ifc4x3_rc4::IfcCoveringTypeEnum::Value > Ifc4x3_rc4::IfcCovering::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCoveringTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcCoveringTypeEnum::Value > Ifc4x3_rc4::IfcCovering::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCoveringTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcCovering::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCoveringTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcCoveringTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x3_rc4::IfcRelCoversSpaces::list::ptr Ifc4x3_rc4::IfcCovering::CoversSpaces() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[933], 5)->as(); } @@ -9780,95 +9780,95 @@ void Ifc4x3_rc4::IfcCovering::setPredefinedType(boost::optional< ::Ifc4x3_rc4::I const IfcParse::entity& Ifc4x3_rc4::IfcCovering::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[258]); } const IfcParse::entity& Ifc4x3_rc4::IfcCovering::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[258]); } Ifc4x3_rc4::IfcCovering::IfcCovering(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCoveringType -::Ifc4x3_rc4::IfcCoveringTypeEnum::Value Ifc4x3_rc4::IfcCoveringType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCoveringTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcCoveringTypeEnum::Value Ifc4x3_rc4::IfcCoveringType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCoveringTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcCoveringType::setPredefinedType(::Ifc4x3_rc4::IfcCoveringTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcCoveringTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcCoveringType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[259]); } const IfcParse::entity& Ifc4x3_rc4::IfcCoveringType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[259]); } Ifc4x3_rc4::IfcCoveringType::IfcCoveringType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCrewResource -boost::optional< ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value > Ifc4x3_rc4::IfcCrewResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value > Ifc4x3_rc4::IfcCrewResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc4::IfcCrewResource::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc4::IfcCrewResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[261]); } const IfcParse::entity& Ifc4x3_rc4::IfcCrewResource::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[261]); } Ifc4x3_rc4::IfcCrewResource::IfcCrewResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCrewResourceType -::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value Ifc4x3_rc4::IfcCrewResourceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value Ifc4x3_rc4::IfcCrewResourceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc4::IfcCrewResourceType::setPredefinedType(::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc4::IfcCrewResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[262]); } const IfcParse::entity& Ifc4x3_rc4::IfcCrewResourceType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[262]); } Ifc4x3_rc4::IfcCrewResourceType::IfcCrewResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_rc4::IfcCrewResourceType::IfcCrewResourceType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc4::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcCsgPrimitive3D -::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(true); } void Ifc4x3_rc4::IfcCsgPrimitive3D::setPosition(::Ifc4x3_rc4::IfcAxis2Placement3D* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc4::IfcCsgPrimitive3D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[264]); } const IfcParse::entity& Ifc4x3_rc4::IfcCsgPrimitive3D::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[264]); } Ifc4x3_rc4::IfcCsgPrimitive3D::IfcCsgPrimitive3D(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcCsgPrimitive3D::IfcCsgPrimitive3D(::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcCsgPrimitive3D::IfcCsgPrimitive3D(::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCsgSolid -::Ifc4x3_rc4::IfcCsgSelect* Ifc4x3_rc4::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCsgSelect>(true); } +::Ifc4x3_rc4::IfcCsgSelect* Ifc4x3_rc4::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCsgSelect>(true); } void Ifc4x3_rc4::IfcCsgSolid::setTreeRootExpression(::Ifc4x3_rc4::IfcCsgSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc4::IfcCsgSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[266]); } const IfcParse::entity& Ifc4x3_rc4::IfcCsgSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[266]); } Ifc4x3_rc4::IfcCsgSolid::IfcCsgSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3_rc4::IfcCsgSolid::IfcCsgSolid(::Ifc4x3_rc4::IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_TreeRootExpression ? v1_TreeRootExpression->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcCsgSolid::IfcCsgSolid(::Ifc4x3_rc4::IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_TreeRootExpression ? v1_TreeRootExpression->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCurrencyRelationship -::Ifc4x3_rc4::IfcMonetaryUnit* Ifc4x3_rc4::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcMonetaryUnit>(true); } +::Ifc4x3_rc4::IfcMonetaryUnit* Ifc4x3_rc4::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcMonetaryUnit>(true); } void Ifc4x3_rc4::IfcCurrencyRelationship::setRelatingMonetaryUnit(::Ifc4x3_rc4::IfcMonetaryUnit* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcMonetaryUnit* Ifc4x3_rc4::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcMonetaryUnit>(true); } +::Ifc4x3_rc4::IfcMonetaryUnit* Ifc4x3_rc4::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcMonetaryUnit>(true); } void Ifc4x3_rc4::IfcCurrencyRelationship::setRelatedMonetaryUnit(::Ifc4x3_rc4::IfcMonetaryUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc4::IfcCurrencyRelationship::ExchangeRate() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc4::IfcCurrencyRelationship::ExchangeRate() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcCurrencyRelationship::setExchangeRate(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< std::string > Ifc4x3_rc4::IfcCurrencyRelationship::RateDateTime() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcCurrencyRelationship::RateDateTime() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcCurrencyRelationship::setRateDateTime(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc4::IfcLibraryInformation* Ifc4x3_rc4::IfcCurrencyRelationship::RateSource() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcLibraryInformation>(true); } +::Ifc4x3_rc4::IfcLibraryInformation* Ifc4x3_rc4::IfcCurrencyRelationship::RateSource() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcLibraryInformation>(true); } void Ifc4x3_rc4::IfcCurrencyRelationship::setRateSource(::Ifc4x3_rc4::IfcLibraryInformation* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc4::IfcCurrencyRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[268]); } const IfcParse::entity& Ifc4x3_rc4::IfcCurrencyRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[268]); } Ifc4x3_rc4::IfcCurrencyRelationship::IfcCurrencyRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMonetaryUnit ? v3_RelatingMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_RelatedMonetaryUnit ? v4_RelatedMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, v7_RateSource ? v7_RateSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMonetaryUnit ? v3_RelatingMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_RelatedMonetaryUnit ? v4_RelatedMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, v7_RateSource ? v7_RateSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCurtainWall -boost::optional< ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value > Ifc4x3_rc4::IfcCurtainWall::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value > Ifc4x3_rc4::IfcCurtainWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcCurtainWall::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcCurtainWall::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[269]); } const IfcParse::entity& Ifc4x3_rc4::IfcCurtainWall::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[269]); } Ifc4x3_rc4::IfcCurtainWall::IfcCurtainWall(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCurtainWallType -::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value Ifc4x3_rc4::IfcCurtainWallType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value Ifc4x3_rc4::IfcCurtainWallType::PredefinedType() const { return ::Ifc4x3_rc4::IfcCurtainWallTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcCurtainWallType::setPredefinedType(::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcCurtainWallType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[270]); } const IfcParse::entity& Ifc4x3_rc4::IfcCurtainWallType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[270]); } Ifc4x3_rc4::IfcCurtainWallType::IfcCurtainWallType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCurve @@ -9876,135 +9876,135 @@ Ifc4x3_rc4::IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x3_rc4::IfcCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[273]); } const IfcParse::entity& Ifc4x3_rc4::IfcCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[273]); } Ifc4x3_rc4::IfcCurve::IfcCurve(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcCurve::IfcCurve() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc4::IfcCurve::IfcCurve() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcCurveBoundedPlane -::Ifc4x3_rc4::IfcPlane* Ifc4x3_rc4::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcPlane>(true); } +::Ifc4x3_rc4::IfcPlane* Ifc4x3_rc4::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcPlane>(true); } void Ifc4x3_rc4::IfcCurveBoundedPlane::setBasisSurface(::Ifc4x3_rc4::IfcPlane* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcCurve>(true); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcCurveBoundedPlane::setOuterBoundary(::Ifc4x3_rc4::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3_rc4::IfcCurve >::ptr Ifc4x3_rc4::IfcCurveBoundedPlane::InnerBoundaries() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcCurve >(); } +aggregate_of< ::Ifc4x3_rc4::IfcCurve >::ptr Ifc4x3_rc4::IfcCurveBoundedPlane::InnerBoundaries() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcCurve >(); } void Ifc4x3_rc4::IfcCurveBoundedPlane::setInnerBoundaries(aggregate_of< ::Ifc4x3_rc4::IfcCurve >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcCurveBoundedPlane::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[274]); } const IfcParse::entity& Ifc4x3_rc4::IfcCurveBoundedPlane::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[274]); } Ifc4x3_rc4::IfcCurveBoundedPlane::IfcCurveBoundedPlane(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x3_rc4::IfcCurveBoundedPlane::IfcCurveBoundedPlane(::Ifc4x3_rc4::IfcPlane* v1_BasisSurface, ::Ifc4x3_rc4::IfcCurve* v2_OuterBoundary, aggregate_of< ::Ifc4x3_rc4::IfcCurve >::ptr v3_InnerBoundaries) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OuterBoundary ? v2_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_InnerBoundaries)->generalize());; populate_derived(); } +Ifc4x3_rc4::IfcCurveBoundedPlane::IfcCurveBoundedPlane(::Ifc4x3_rc4::IfcPlane* v1_BasisSurface, ::Ifc4x3_rc4::IfcCurve* v2_OuterBoundary, aggregate_of< ::Ifc4x3_rc4::IfcCurve >::ptr v3_InnerBoundaries) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OuterBoundary ? v2_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_InnerBoundaries)->generalize());; populate_derived(); } // Function implementations for IfcCurveBoundedSurface -::Ifc4x3_rc4::IfcSurface* Ifc4x3_rc4::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcSurface>(true); } +::Ifc4x3_rc4::IfcSurface* Ifc4x3_rc4::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcSurface>(true); } void Ifc4x3_rc4::IfcCurveBoundedSurface::setBasisSurface(::Ifc4x3_rc4::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc4::IfcBoundaryCurve >::ptr Ifc4x3_rc4::IfcCurveBoundedSurface::Boundaries() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcBoundaryCurve >(); } +aggregate_of< ::Ifc4x3_rc4::IfcBoundaryCurve >::ptr Ifc4x3_rc4::IfcCurveBoundedSurface::Boundaries() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcBoundaryCurve >(); } void Ifc4x3_rc4::IfcCurveBoundedSurface::setBoundaries(aggregate_of< ::Ifc4x3_rc4::IfcBoundaryCurve >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -bool Ifc4x3_rc4::IfcCurveBoundedSurface::ImplicitOuter() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x3_rc4::IfcCurveBoundedSurface::ImplicitOuter() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcCurveBoundedSurface::setImplicitOuter(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcCurveBoundedSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[275]); } const IfcParse::entity& Ifc4x3_rc4::IfcCurveBoundedSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[275]); } Ifc4x3_rc4::IfcCurveBoundedSurface::IfcCurveBoundedSurface(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x3_rc4::IfcCurveBoundedSurface::IfcCurveBoundedSurface(::Ifc4x3_rc4::IfcSurface* v1_BasisSurface, aggregate_of< ::Ifc4x3_rc4::IfcBoundaryCurve >::ptr v2_Boundaries, bool v3_ImplicitOuter) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Boundaries)->generalize());set_attribute_value(2, (v3_ImplicitOuter));; populate_derived(); } +Ifc4x3_rc4::IfcCurveBoundedSurface::IfcCurveBoundedSurface(::Ifc4x3_rc4::IfcSurface* v1_BasisSurface, aggregate_of< ::Ifc4x3_rc4::IfcBoundaryCurve >::ptr v2_Boundaries, bool v3_ImplicitOuter) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Boundaries)->generalize());set_attribute_value(2, (v3_ImplicitOuter));; populate_derived(); } // Function implementations for IfcCurveSegment -::Ifc4x3_rc4::IfcPlacement* Ifc4x3_rc4::IfcCurveSegment::Placement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcPlacement>(true); } +::Ifc4x3_rc4::IfcPlacement* Ifc4x3_rc4::IfcCurveSegment::Placement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcPlacement>(true); } void Ifc4x3_rc4::IfcCurveSegment::setPlacement(::Ifc4x3_rc4::IfcPlacement* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcCurveMeasureSelect* Ifc4x3_rc4::IfcCurveSegment::SegmentStart() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcCurveMeasureSelect>(true); } +::Ifc4x3_rc4::IfcCurveMeasureSelect* Ifc4x3_rc4::IfcCurveSegment::SegmentStart() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcCurveMeasureSelect>(true); } void Ifc4x3_rc4::IfcCurveSegment::setSegmentStart(::Ifc4x3_rc4::IfcCurveMeasureSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcCurveMeasureSelect* Ifc4x3_rc4::IfcCurveSegment::SegmentLength() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcCurveMeasureSelect>(true); } +::Ifc4x3_rc4::IfcCurveMeasureSelect* Ifc4x3_rc4::IfcCurveSegment::SegmentLength() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcCurveMeasureSelect>(true); } void Ifc4x3_rc4::IfcCurveSegment::setSegmentLength(::Ifc4x3_rc4::IfcCurveMeasureSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcCurve>(true); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcCurveSegment::setParentCurve(::Ifc4x3_rc4::IfcCurve* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc4::IfcCurveSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[281]); } const IfcParse::entity& Ifc4x3_rc4::IfcCurveSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[281]); } Ifc4x3_rc4::IfcCurveSegment::IfcCurveSegment(IfcEntityInstanceData&& e) : IfcSegment(std::move(e)) { } -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(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SegmentStart ? v3_SegmentStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_SegmentLength ? v4_SegmentLength->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ParentCurve ? v5_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SegmentStart ? v3_SegmentStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_SegmentLength ? v4_SegmentLength->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ParentCurve ? v5_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCurveStyle -::Ifc4x3_rc4::IfcCurveFontOrScaledCurveFontSelect* Ifc4x3_rc4::IfcCurveStyle::CurveFont() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcCurveFontOrScaledCurveFontSelect>(true); } +::Ifc4x3_rc4::IfcCurveFontOrScaledCurveFontSelect* Ifc4x3_rc4::IfcCurveStyle::CurveFont() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcCurveFontOrScaledCurveFontSelect>(true); } void Ifc4x3_rc4::IfcCurveStyle::setCurveFont(::Ifc4x3_rc4::IfcCurveFontOrScaledCurveFontSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcCurveStyle::CurveWidth() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcSizeSelect>(true); } +::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcCurveStyle::CurveWidth() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcSizeSelect>(true); } void Ifc4x3_rc4::IfcCurveStyle::setCurveWidth(::Ifc4x3_rc4::IfcSizeSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcColour* Ifc4x3_rc4::IfcCurveStyle::CurveColour() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcColour>(true); } +::Ifc4x3_rc4::IfcColour* Ifc4x3_rc4::IfcCurveStyle::CurveColour() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcColour>(true); } void Ifc4x3_rc4::IfcCurveStyle::setCurveColour(::Ifc4x3_rc4::IfcColour* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< bool > Ifc4x3_rc4::IfcCurveStyle::ModelOrDraughting() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } bool v = data_.get_attribute_value(4); return v; } +boost::optional< bool > Ifc4x3_rc4::IfcCurveStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return boost::none; } bool v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcCurveStyle::setModelOrDraughting(boost::optional< bool > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc4::IfcCurveStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[282]); } const IfcParse::entity& Ifc4x3_rc4::IfcCurveStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[282]); } Ifc4x3_rc4::IfcCurveStyle::IfcCurveStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -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(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CurveWidth ? v3_CurveWidth->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_CurveColour ? v4_CurveColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } +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(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CurveWidth ? v3_CurveWidth->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_CurveColour ? v4_CurveColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } // Function implementations for IfcCurveStyleFont -boost::optional< std::string > Ifc4x3_rc4::IfcCurveStyleFont::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcCurveStyleFont::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcCurveStyleFont::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -aggregate_of< ::Ifc4x3_rc4::IfcCurveStyleFontPattern >::ptr Ifc4x3_rc4::IfcCurveStyleFont::PatternList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcCurveStyleFontPattern >(); } +aggregate_of< ::Ifc4x3_rc4::IfcCurveStyleFontPattern >::ptr Ifc4x3_rc4::IfcCurveStyleFont::PatternList() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcCurveStyleFontPattern >(); } void Ifc4x3_rc4::IfcCurveStyleFont::setPatternList(aggregate_of< ::Ifc4x3_rc4::IfcCurveStyleFontPattern >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcCurveStyleFont::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[283]); } const IfcParse::entity& Ifc4x3_rc4::IfcCurveStyleFont::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[283]); } Ifc4x3_rc4::IfcCurveStyleFont::IfcCurveStyleFont(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc4::IfcCurveStyleFontPattern >::ptr v2_PatternList) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_PatternList)->generalize());; populate_derived(); } +Ifc4x3_rc4::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc4::IfcCurveStyleFontPattern >::ptr v2_PatternList) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_PatternList)->generalize());; populate_derived(); } // Function implementations for IfcCurveStyleFontAndScaling -boost::optional< std::string > Ifc4x3_rc4::IfcCurveStyleFontAndScaling::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcCurveStyleFontAndScaling::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_rc4::IfcCurveStyleFontSelect* Ifc4x3_rc4::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcCurveStyleFontSelect>(true); } +::Ifc4x3_rc4::IfcCurveStyleFontSelect* Ifc4x3_rc4::IfcCurveStyleFontAndScaling::CurveFont() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcCurveStyleFontSelect>(true); } void Ifc4x3_rc4::IfcCurveStyleFontAndScaling::setCurveFont(::Ifc4x3_rc4::IfcCurveStyleFontSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc4::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc4::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcCurveStyleFontAndScaling::setCurveFontScaling(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcCurveStyleFontAndScaling::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[284]); } const IfcParse::entity& Ifc4x3_rc4::IfcCurveStyleFontAndScaling::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[284]); } Ifc4x3_rc4::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(boost::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcCurveStyleFontSelect* v2_CurveFont, double v3_CurveFontScaling) : IfcPresentationItem(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_CurveFontScaling));; populate_derived(); } +Ifc4x3_rc4::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(boost::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcCurveStyleFontSelect* v2_CurveFont, double v3_CurveFontScaling) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_CurveFontScaling));; populate_derived(); } // Function implementations for IfcCurveStyleFontPattern -double Ifc4x3_rc4::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_rc4::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcCurveStyleFontPattern::setVisibleSegmentLength(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc4::IfcCurveStyleFontPattern::InvisibleSegmentLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc4::IfcCurveStyleFontPattern::InvisibleSegmentLength() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcCurveStyleFontPattern::setInvisibleSegmentLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcCurveStyleFontPattern::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[285]); } const IfcParse::entity& Ifc4x3_rc4::IfcCurveStyleFontPattern::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[285]); } Ifc4x3_rc4::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; populate_derived(); } +Ifc4x3_rc4::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; populate_derived(); } // Function implementations for IfcCylindricalSurface -double Ifc4x3_rc4::IfcCylindricalSurface::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc4::IfcCylindricalSurface::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcCylindricalSurface::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcCylindricalSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[287]); } const IfcParse::entity& Ifc4x3_rc4::IfcCylindricalSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[287]); } Ifc4x3_rc4::IfcCylindricalSurface::IfcCylindricalSurface(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x3_rc4::IfcCylindricalSurface::IfcCylindricalSurface(::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x3_rc4::IfcCylindricalSurface::IfcCylindricalSurface(::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcDamper -boost::optional< ::Ifc4x3_rc4::IfcDamperTypeEnum::Value > Ifc4x3_rc4::IfcDamper::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDamperTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcDamperTypeEnum::Value > Ifc4x3_rc4::IfcDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDamperTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcDamper::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDamperTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcDamperTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcDamper::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[288]); } const IfcParse::entity& Ifc4x3_rc4::IfcDamper::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[288]); } Ifc4x3_rc4::IfcDamper::IfcDamper(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDamperType -::Ifc4x3_rc4::IfcDamperTypeEnum::Value Ifc4x3_rc4::IfcDamperType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDamperTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcDamperTypeEnum::Value Ifc4x3_rc4::IfcDamperType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDamperTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcDamperType::setPredefinedType(::Ifc4x3_rc4::IfcDamperTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcDamperTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcDamperType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[289]); } const IfcParse::entity& Ifc4x3_rc4::IfcDamperType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[289]); } Ifc4x3_rc4::IfcDamperType::IfcDamperType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDeepFoundation @@ -10012,7 +10012,7 @@ Ifc4x3_rc4::IfcDamperType::IfcDamperType(std::string v1_GlobalId, ::Ifc4x3_rc4:: const IfcParse::entity& Ifc4x3_rc4::IfcDeepFoundation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[296]); } const IfcParse::entity& Ifc4x3_rc4::IfcDeepFoundation::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[296]); } Ifc4x3_rc4::IfcDeepFoundation::IfcDeepFoundation(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc4::IfcDeepFoundation::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) : IfcBuiltElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc4::IfcDeepFoundation::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) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDeepFoundationType @@ -10020,93 +10020,93 @@ Ifc4x3_rc4::IfcDeepFoundation::IfcDeepFoundation(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3_rc4::IfcDeepFoundationType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[297]); } const IfcParse::entity& Ifc4x3_rc4::IfcDeepFoundationType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[297]); } Ifc4x3_rc4::IfcDeepFoundationType::IfcDeepFoundationType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDerivedProfileDef -::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcProfileDef>(true); } +::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcProfileDef>(true); } void Ifc4x3_rc4::IfcDerivedProfileDef::setParentProfile(::Ifc4x3_rc4::IfcProfileDef* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcCartesianTransformationOperator2D* Ifc4x3_rc4::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcCartesianTransformationOperator2D>(true); } +::Ifc4x3_rc4::IfcCartesianTransformationOperator2D* Ifc4x3_rc4::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcCartesianTransformationOperator2D>(true); } void Ifc4x3_rc4::IfcDerivedProfileDef::setOperator(::Ifc4x3_rc4::IfcCartesianTransformationOperator2D* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc4::IfcDerivedProfileDef::Label() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcDerivedProfileDef::Label() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc4::IfcDerivedProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[300]); } const IfcParse::entity& Ifc4x3_rc4::IfcDerivedProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[300]); } Ifc4x3_rc4::IfcDerivedProfileDef::IfcDerivedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(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(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Operator ? v4_Operator->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } +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(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Operator ? v4_Operator->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } // Function implementations for IfcDerivedUnit -aggregate_of< ::Ifc4x3_rc4::IfcDerivedUnitElement >::ptr Ifc4x3_rc4::IfcDerivedUnit::Elements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcDerivedUnitElement >(); } +aggregate_of< ::Ifc4x3_rc4::IfcDerivedUnitElement >::ptr Ifc4x3_rc4::IfcDerivedUnit::Elements() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcDerivedUnitElement >(); } void Ifc4x3_rc4::IfcDerivedUnit::setElements(aggregate_of< ::Ifc4x3_rc4::IfcDerivedUnitElement >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcDerivedUnitEnum::Value Ifc4x3_rc4::IfcDerivedUnit::UnitType() const { return ::Ifc4x3_rc4::IfcDerivedUnitEnum::FromString(data_.get_attribute_value(1)); } +::Ifc4x3_rc4::IfcDerivedUnitEnum::Value Ifc4x3_rc4::IfcDerivedUnit::UnitType() const { return ::Ifc4x3_rc4::IfcDerivedUnitEnum::FromString(get_attribute_value(1)); } void Ifc4x3_rc4::IfcDerivedUnit::setUnitType(::Ifc4x3_rc4::IfcDerivedUnitEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x3_rc4::IfcDerivedUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_rc4::IfcDerivedUnit::UserDefinedType() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcDerivedUnit::UserDefinedType() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcDerivedUnit::setUserDefinedType(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc4::IfcDerivedUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[301]); } const IfcParse::entity& Ifc4x3_rc4::IfcDerivedUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[301]); } Ifc4x3_rc4::IfcDerivedUnit::IfcDerivedUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -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(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Elements)->generalize());set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc4::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); }; populate_derived(); } +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(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Elements)->generalize());set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc4::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); }; populate_derived(); } // Function implementations for IfcDerivedUnitElement -::Ifc4x3_rc4::IfcNamedUnit* Ifc4x3_rc4::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcNamedUnit>(true); } +::Ifc4x3_rc4::IfcNamedUnit* Ifc4x3_rc4::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcNamedUnit>(true); } void Ifc4x3_rc4::IfcDerivedUnitElement::setUnit(::Ifc4x3_rc4::IfcNamedUnit* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -int Ifc4x3_rc4::IfcDerivedUnitElement::Exponent() const { int v = data_.get_attribute_value(1); return v; } +int Ifc4x3_rc4::IfcDerivedUnitElement::Exponent() const { int v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcDerivedUnitElement::setExponent(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcDerivedUnitElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[302]); } const IfcParse::entity& Ifc4x3_rc4::IfcDerivedUnitElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[302]); } Ifc4x3_rc4::IfcDerivedUnitElement::IfcDerivedUnitElement(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcDerivedUnitElement::IfcDerivedUnitElement(::Ifc4x3_rc4::IfcNamedUnit* v1_Unit, int v2_Exponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Unit ? v1_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Exponent));; populate_derived(); } +Ifc4x3_rc4::IfcDerivedUnitElement::IfcDerivedUnitElement(::Ifc4x3_rc4::IfcNamedUnit* v1_Unit, int v2_Exponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Unit ? v1_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Exponent));; populate_derived(); } // Function implementations for IfcDimensionalExponents -int Ifc4x3_rc4::IfcDimensionalExponents::LengthExponent() const { int v = data_.get_attribute_value(0); return v; } +int Ifc4x3_rc4::IfcDimensionalExponents::LengthExponent() const { int v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcDimensionalExponents::setLengthExponent(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -int Ifc4x3_rc4::IfcDimensionalExponents::MassExponent() const { int v = data_.get_attribute_value(1); return v; } +int Ifc4x3_rc4::IfcDimensionalExponents::MassExponent() const { int v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcDimensionalExponents::setMassExponent(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -int Ifc4x3_rc4::IfcDimensionalExponents::TimeExponent() const { int v = data_.get_attribute_value(2); return v; } +int Ifc4x3_rc4::IfcDimensionalExponents::TimeExponent() const { int v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcDimensionalExponents::setTimeExponent(int v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -int Ifc4x3_rc4::IfcDimensionalExponents::ElectricCurrentExponent() const { int v = data_.get_attribute_value(3); return v; } +int Ifc4x3_rc4::IfcDimensionalExponents::ElectricCurrentExponent() const { int v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcDimensionalExponents::setElectricCurrentExponent(int v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -int Ifc4x3_rc4::IfcDimensionalExponents::ThermodynamicTemperatureExponent() const { int v = data_.get_attribute_value(4); return v; } +int Ifc4x3_rc4::IfcDimensionalExponents::ThermodynamicTemperatureExponent() const { int v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcDimensionalExponents::setThermodynamicTemperatureExponent(int v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -int Ifc4x3_rc4::IfcDimensionalExponents::AmountOfSubstanceExponent() const { int v = data_.get_attribute_value(5); return v; } +int Ifc4x3_rc4::IfcDimensionalExponents::AmountOfSubstanceExponent() const { int v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcDimensionalExponents::setAmountOfSubstanceExponent(int v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -int Ifc4x3_rc4::IfcDimensionalExponents::LuminousIntensityExponent() const { int v = data_.get_attribute_value(6); return v; } +int Ifc4x3_rc4::IfcDimensionalExponents::LuminousIntensityExponent() const { int v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcDimensionalExponents::setLuminousIntensityExponent(int v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc4::IfcDimensionalExponents::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[305]); } const IfcParse::entity& Ifc4x3_rc4::IfcDimensionalExponents::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[305]); } Ifc4x3_rc4::IfcDimensionalExponents::IfcDimensionalExponents(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -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(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; populate_derived(); } +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(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; populate_derived(); } // Function implementations for IfcDirection -std::vector< double > /*[2:3]*/ Ifc4x3_rc4::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[2:3]*/ Ifc4x3_rc4::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcDirection::setDirectionRatios(std::vector< double > /*[2:3]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc4::IfcDirection::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[307]); } const IfcParse::entity& Ifc4x3_rc4::IfcDirection::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[307]); } Ifc4x3_rc4::IfcDirection::IfcDirection(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionRatios) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_DirectionRatios));; populate_derived(); } +Ifc4x3_rc4::IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionRatios) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_DirectionRatios));; populate_derived(); } // Function implementations for IfcDirectrixCurveSweptAreaSolid -::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcCurve>(true); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::setDirectrix(::Ifc4x3_rc4::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcCurveMeasureSelect* Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::StartParam() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcCurveMeasureSelect>(true); } +::Ifc4x3_rc4::IfcCurveMeasureSelect* Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcCurveMeasureSelect>(true); } void Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::setStartParam(::Ifc4x3_rc4::IfcCurveMeasureSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc4::IfcCurveMeasureSelect* Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::EndParam() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcCurveMeasureSelect>(true); } +::Ifc4x3_rc4::IfcCurveMeasureSelect* Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcCurveMeasureSelect>(true); } void Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::setEndParam(::Ifc4x3_rc4::IfcCurveMeasureSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[309]); } const IfcParse::entity& Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[309]); } Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::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) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::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) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDirectrixDerivedReferenceSweptAreaSolid @@ -10114,67 +10114,67 @@ Ifc4x3_rc4::IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid(::I const IfcParse::entity& Ifc4x3_rc4::IfcDirectrixDerivedReferenceSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[310]); } const IfcParse::entity& Ifc4x3_rc4::IfcDirectrixDerivedReferenceSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[310]); } Ifc4x3_rc4::IfcDirectrixDerivedReferenceSweptAreaSolid::IfcDirectrixDerivedReferenceSweptAreaSolid(IfcEntityInstanceData&& e) : IfcFixedReferenceSweptAreaSolid(std::move(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(storage_t(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_FixedReference ? v6_FixedReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_FixedReference ? v6_FixedReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDiscreteAccessory -boost::optional< ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x3_rc4::IfcDiscreteAccessory::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x3_rc4::IfcDiscreteAccessory::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcDiscreteAccessory::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcDiscreteAccessory::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[311]); } const IfcParse::entity& Ifc4x3_rc4::IfcDiscreteAccessory::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[311]); } Ifc4x3_rc4::IfcDiscreteAccessory::IfcDiscreteAccessory(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDiscreteAccessoryType -::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3_rc4::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3_rc4::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcDiscreteAccessoryType::setPredefinedType(::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcDiscreteAccessoryType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[312]); } const IfcParse::entity& Ifc4x3_rc4::IfcDiscreteAccessoryType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[312]); } Ifc4x3_rc4::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDistributionBoard -boost::optional< ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value > Ifc4x3_rc4::IfcDistributionBoard::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value > Ifc4x3_rc4::IfcDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionBoard::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[314]); } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionBoard::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[314]); } Ifc4x3_rc4::IfcDistributionBoard::IfcDistributionBoard(IfcEntityInstanceData&& e) : IfcFlowController(std::move(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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDistributionBoardType -::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value Ifc4x3_rc4::IfcDistributionBoardType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value Ifc4x3_rc4::IfcDistributionBoardType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcDistributionBoardType::setPredefinedType(::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionBoardType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[315]); } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionBoardType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[315]); } Ifc4x3_rc4::IfcDistributionBoardType::IfcDistributionBoardType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDistributionChamberElement -boost::optional< ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value > Ifc4x3_rc4::IfcDistributionChamberElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value > Ifc4x3_rc4::IfcDistributionChamberElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcDistributionChamberElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionChamberElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[317]); } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionChamberElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[317]); } Ifc4x3_rc4::IfcDistributionChamberElement::IfcDistributionChamberElement(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDistributionChamberElementType -::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value Ifc4x3_rc4::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value Ifc4x3_rc4::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcDistributionChamberElementType::setPredefinedType(::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionChamberElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[318]); } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionChamberElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[318]); } Ifc4x3_rc4::IfcDistributionChamberElementType::IfcDistributionChamberElementType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDistributionCircuit @@ -10182,7 +10182,7 @@ Ifc4x3_rc4::IfcDistributionChamberElementType::IfcDistributionChamberElementType const IfcParse::entity& Ifc4x3_rc4::IfcDistributionCircuit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[320]); } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionCircuit::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[320]); } Ifc4x3_rc4::IfcDistributionCircuit::IfcDistributionCircuit(IfcEntityInstanceData&& e) : IfcDistributionSystem(std::move(e)) { } -Ifc4x3_rc4::IfcDistributionCircuit::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) : IfcDistributionSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc4::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc4::IfcDistributionCircuit::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) : IfcDistributionSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc4::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDistributionControlElement @@ -10191,7 +10191,7 @@ Ifc4x3_rc4::IfcDistributionCircuit::IfcDistributionCircuit(std::string v1_Global const IfcParse::entity& Ifc4x3_rc4::IfcDistributionControlElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[321]); } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionControlElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[321]); } Ifc4x3_rc4::IfcDistributionControlElement::IfcDistributionControlElement(IfcEntityInstanceData&& e) : IfcDistributionElement(std::move(e)) { } -Ifc4x3_rc4::IfcDistributionControlElement::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) : IfcDistributionElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc4::IfcDistributionControlElement::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) : IfcDistributionElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionControlElementType @@ -10199,7 +10199,7 @@ Ifc4x3_rc4::IfcDistributionControlElement::IfcDistributionControlElement(std::st const IfcParse::entity& Ifc4x3_rc4::IfcDistributionControlElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[322]); } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionControlElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[322]); } Ifc4x3_rc4::IfcDistributionControlElementType::IfcDistributionControlElementType(IfcEntityInstanceData&& e) : IfcDistributionElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionElement @@ -10208,7 +10208,7 @@ Ifc4x3_rc4::IfcDistributionControlElementType::IfcDistributionControlElementType const IfcParse::entity& Ifc4x3_rc4::IfcDistributionElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[323]); } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[323]); } Ifc4x3_rc4::IfcDistributionElement::IfcDistributionElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc4::IfcDistributionElement::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) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc4::IfcDistributionElement::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) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionElementType @@ -10216,7 +10216,7 @@ Ifc4x3_rc4::IfcDistributionElement::IfcDistributionElement(std::string v1_Global const IfcParse::entity& Ifc4x3_rc4::IfcDistributionElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[324]); } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[324]); } Ifc4x3_rc4::IfcDistributionElementType::IfcDistributionElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionFlowElement @@ -10225,7 +10225,7 @@ Ifc4x3_rc4::IfcDistributionElementType::IfcDistributionElementType(std::string v const IfcParse::entity& Ifc4x3_rc4::IfcDistributionFlowElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[325]); } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionFlowElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[325]); } Ifc4x3_rc4::IfcDistributionFlowElement::IfcDistributionFlowElement(IfcEntityInstanceData&& e) : IfcDistributionElement(std::move(e)) { } -Ifc4x3_rc4::IfcDistributionFlowElement::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) : IfcDistributionElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc4::IfcDistributionFlowElement::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) : IfcDistributionElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionFlowElementType @@ -10233,68 +10233,68 @@ Ifc4x3_rc4::IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v const IfcParse::entity& Ifc4x3_rc4::IfcDistributionFlowElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[326]); } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionFlowElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[326]); } Ifc4x3_rc4::IfcDistributionFlowElementType::IfcDistributionFlowElementType(IfcEntityInstanceData&& e) : IfcDistributionElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionPort -boost::optional< ::Ifc4x3_rc4::IfcFlowDirectionEnum::Value > Ifc4x3_rc4::IfcDistributionPort::FlowDirection() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFlowDirectionEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_rc4::IfcFlowDirectionEnum::Value > Ifc4x3_rc4::IfcDistributionPort::FlowDirection() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFlowDirectionEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc4::IfcDistributionPort::setFlowDirection(boost::optional< ::Ifc4x3_rc4::IfcFlowDirectionEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc4::IfcFlowDirectionEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3_rc4::IfcDistributionPortTypeEnum::Value > Ifc4x3_rc4::IfcDistributionPort::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDistributionPortTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcDistributionPortTypeEnum::Value > Ifc4x3_rc4::IfcDistributionPort::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDistributionPortTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcDistributionPort::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDistributionPortTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcDistributionPortTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > Ifc4x3_rc4::IfcDistributionPort::SystemType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDistributionSystemEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > Ifc4x3_rc4::IfcDistributionPort::SystemType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDistributionSystemEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcDistributionPort::setSystemType(boost::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcDistributionSystemEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionPort::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[327]); } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionPort::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[327]); } Ifc4x3_rc4::IfcDistributionPort::IfcDistributionPort(IfcEntityInstanceData&& e) : IfcPort(std::move(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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_FlowDirection) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); }; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_FlowDirection) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); }; populate_derived(); } // Function implementations for IfcDistributionSystem -boost::optional< std::string > Ifc4x3_rc4::IfcDistributionSystem::LongName() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcDistributionSystem::LongName() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcDistributionSystem::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > Ifc4x3_rc4::IfcDistributionSystem::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDistributionSystemEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > Ifc4x3_rc4::IfcDistributionSystem::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDistributionSystemEnum::FromString(get_attribute_value(6)); } void Ifc4x3_rc4::IfcDistributionSystem::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDistributionSystemEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_rc4::IfcDistributionSystemEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[329]); } const IfcParse::entity& Ifc4x3_rc4::IfcDistributionSystem::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[329]); } Ifc4x3_rc4::IfcDistributionSystem::IfcDistributionSystem(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -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(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc4::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc4::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDocumentInformation -std::string Ifc4x3_rc4::IfcDocumentInformation::Identification() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc4::IfcDocumentInformation::Identification() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcDocumentInformation::setIdentification(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x3_rc4::IfcDocumentInformation::Name() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_rc4::IfcDocumentInformation::Name() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcDocumentInformation::setName(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcDocumentInformation::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::Location() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::Location() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcDocumentInformation::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::Purpose() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::Purpose() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcDocumentInformation::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::IntendedUse() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::IntendedUse() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcDocumentInformation::setIntendedUse(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::Scope() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::Scope() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcDocumentInformation::setScope(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::Revision() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::Revision() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcDocumentInformation::DocumentOwner() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc4::IfcActorSelect>(true); } +::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcDocumentInformation::DocumentOwner() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc4::IfcActorSelect>(true); } void Ifc4x3_rc4::IfcDocumentInformation::setDocumentOwner(::Ifc4x3_rc4::IfcActorSelect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorSelect >::ptr > Ifc4x3_rc4::IfcDocumentInformation::Editors() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3_rc4::IfcActorSelect >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorSelect >::ptr > Ifc4x3_rc4::IfcDocumentInformation::Editors() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3_rc4::IfcActorSelect >(); } void Ifc4x3_rc4::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorSelect >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::CreationTime() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::CreationTime() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::LastRevisionTime() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::LastRevisionTime() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x3_rc4::IfcDocumentInformation::setLastRevisionTime(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::ElectronicFormat() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::ElectronicFormat() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc4::IfcDocumentInformation::setElectronicFormat(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::ValidFrom() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(13); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::ValidFrom() const { if(get_attribute_value(13).isNull()) { return boost::none; } std::string v = get_attribute_value(13); return v; } void Ifc4x3_rc4::IfcDocumentInformation::setValidFrom(boost::optional< std::string > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::ValidUntil() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformation::ValidUntil() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x3_rc4::IfcDocumentInformation::setValidUntil(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< ::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Value > Ifc4x3_rc4::IfcDocumentInformation::Confidentiality() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::FromString(data_.get_attribute_value(15)); } +boost::optional< ::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Value > Ifc4x3_rc4::IfcDocumentInformation::Confidentiality() const { if(get_attribute_value(15).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::FromString(get_attribute_value(15)); } void Ifc4x3_rc4::IfcDocumentInformation::setConfidentiality(boost::optional< ::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Value > v) { if (v) {set_attribute_value(15, EnumerationReference(&::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Class(), (size_t) *v));} else {unset_attribute_value(15);} } -boost::optional< ::Ifc4x3_rc4::IfcDocumentStatusEnum::Value > Ifc4x3_rc4::IfcDocumentInformation::Status() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDocumentStatusEnum::FromString(data_.get_attribute_value(16)); } +boost::optional< ::Ifc4x3_rc4::IfcDocumentStatusEnum::Value > Ifc4x3_rc4::IfcDocumentInformation::Status() const { if(get_attribute_value(16).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDocumentStatusEnum::FromString(get_attribute_value(16)); } void Ifc4x3_rc4::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3_rc4::IfcDocumentStatusEnum::Value > v) { if (v) {set_attribute_value(16, EnumerationReference(&::Ifc4x3_rc4::IfcDocumentStatusEnum::Class(), (size_t) *v));} else {unset_attribute_value(16);} } ::Ifc4x3_rc4::IfcRelAssociatesDocument::list::ptr Ifc4x3_rc4::IfcDocumentInformation::DocumentInfoForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[917], 5)->as(); } @@ -10305,26 +10305,26 @@ void Ifc4x3_rc4::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3_rc4 const IfcParse::entity& Ifc4x3_rc4::IfcDocumentInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[332]); } const IfcParse::entity& Ifc4x3_rc4::IfcDocumentInformation::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[332]); } Ifc4x3_rc4::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData&& e) : IfcExternalInformation(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcActorSelect >::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< ::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc4::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation(IfcEntityInstanceData(storage_t(17))) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, v9_DocumentOwner ? v9_DocumentOwner->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v10_Editors) {set_attribute_value(9, (*v10_Editors)->generalize()); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (EnumerationReference(&::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (EnumerationReference(&::Ifc4x3_rc4::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; populate_derived(); } +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< ::Ifc4x3_rc4::IfcActorSelect >::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< ::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_rc4::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation(IfcEntityInstanceData(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, v9_DocumentOwner ? v9_DocumentOwner->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v10_Editors) {set_attribute_value(9, (*v10_Editors)->generalize()); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (EnumerationReference(&::Ifc4x3_rc4::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (EnumerationReference(&::Ifc4x3_rc4::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; populate_derived(); } // Function implementations for IfcDocumentInformationRelationship -::Ifc4x3_rc4::IfcDocumentInformation* Ifc4x3_rc4::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcDocumentInformation>(true); } +::Ifc4x3_rc4::IfcDocumentInformation* Ifc4x3_rc4::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcDocumentInformation>(true); } void Ifc4x3_rc4::IfcDocumentInformationRelationship::setRelatingDocument(::Ifc4x3_rc4::IfcDocumentInformation* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_rc4::IfcDocumentInformation >::ptr Ifc4x3_rc4::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc4::IfcDocumentInformation >(); } +aggregate_of< ::Ifc4x3_rc4::IfcDocumentInformation >::ptr Ifc4x3_rc4::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc4::IfcDocumentInformation >(); } void Ifc4x3_rc4::IfcDocumentInformationRelationship::setRelatedDocuments(aggregate_of< ::Ifc4x3_rc4::IfcDocumentInformation >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformationRelationship::RelationshipType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcDocumentInformationRelationship::RelationshipType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcDocumentInformationRelationship::setRelationshipType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc4::IfcDocumentInformationRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[333]); } const IfcParse::entity& Ifc4x3_rc4::IfcDocumentInformationRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[333]); } Ifc4x3_rc4::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -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(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingDocument ? v3_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedDocuments)->generalize()); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); }; populate_derived(); } +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(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingDocument ? v3_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedDocuments)->generalize()); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); }; populate_derived(); } // Function implementations for IfcDocumentReference -boost::optional< std::string > Ifc4x3_rc4::IfcDocumentReference::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcDocumentReference::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcDocumentReference::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc4::IfcDocumentInformation* Ifc4x3_rc4::IfcDocumentReference::ReferencedDocument() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcDocumentInformation>(true); } +::Ifc4x3_rc4::IfcDocumentInformation* Ifc4x3_rc4::IfcDocumentReference::ReferencedDocument() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcDocumentInformation>(true); } void Ifc4x3_rc4::IfcDocumentReference::setReferencedDocument(::Ifc4x3_rc4::IfcDocumentInformation* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } ::Ifc4x3_rc4::IfcRelAssociatesDocument::list::ptr Ifc4x3_rc4::IfcDocumentReference::DocumentRefForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[917], 5)->as(); } @@ -10332,77 +10332,77 @@ void Ifc4x3_rc4::IfcDocumentReference::setReferencedDocument(::Ifc4x3_rc4::IfcDo const IfcParse::entity& Ifc4x3_rc4::IfcDocumentReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[334]); } const IfcParse::entity& Ifc4x3_rc4::IfcDocumentReference::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[334]); } Ifc4x3_rc4::IfcDocumentReference::IfcDocumentReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(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(storage_t(5))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ReferencedDocument ? v5_ReferencedDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(5))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ReferencedDocument ? v5_ReferencedDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDoor -boost::optional< double > Ifc4x3_rc4::IfcDoor::OverallHeight() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc4::IfcDoor::OverallHeight() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcDoor::setOverallHeight(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_rc4::IfcDoor::OverallWidth() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc4::IfcDoor::OverallWidth() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc4::IfcDoor::setOverallWidth(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x3_rc4::IfcDoorTypeEnum::Value > Ifc4x3_rc4::IfcDoor::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDoorTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc4::IfcDoorTypeEnum::Value > Ifc4x3_rc4::IfcDoor::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDoorTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc4::IfcDoor::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDoorTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc4::IfcDoorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -boost::optional< ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value > Ifc4x3_rc4::IfcDoor::OperationType() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::FromString(data_.get_attribute_value(11)); } +boost::optional< ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value > Ifc4x3_rc4::IfcDoor::OperationType() const { if(get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc4::IfcDoor::setOperationType(boost::optional< ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value > v) { if (v) {set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Class(), (size_t) *v));} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_rc4::IfcDoor::UserDefinedOperationType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcDoor::UserDefinedOperationType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc4::IfcDoor::setUserDefinedOperationType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_rc4::IfcDoor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[337]); } const IfcParse::entity& Ifc4x3_rc4::IfcDoor::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[337]); } Ifc4x3_rc4::IfcDoor::IfcDoor(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -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(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } +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(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } // Function implementations for IfcDoorLiningProperties -boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::LiningDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcDoorLiningProperties::setLiningDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::LiningThickness() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::LiningThickness() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcDoorLiningProperties::setLiningThickness(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::ThresholdDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::ThresholdDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcDoorLiningProperties::setThresholdDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::ThresholdThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::ThresholdThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcDoorLiningProperties::setThresholdThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::TransomThickness() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::TransomThickness() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcDoorLiningProperties::setTransomThickness(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::TransomOffset() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::TransomOffset() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc4::IfcDoorLiningProperties::setTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::LiningOffset() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::LiningOffset() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcDoorLiningProperties::setLiningOffset(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::ThresholdOffset() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::ThresholdOffset() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc4::IfcDoorLiningProperties::setThresholdOffset(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::CasingThickness() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::CasingThickness() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_rc4::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::CasingDepth() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::CasingDepth() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_rc4::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -::Ifc4x3_rc4::IfcShapeAspect* Ifc4x3_rc4::IfcDoorLiningProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(14).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(14)))->as<::Ifc4x3_rc4::IfcShapeAspect>(true); } +::Ifc4x3_rc4::IfcShapeAspect* Ifc4x3_rc4::IfcDoorLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(14).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(14)))->as<::Ifc4x3_rc4::IfcShapeAspect>(true); } void Ifc4x3_rc4::IfcDoorLiningProperties::setShapeAspectStyle(::Ifc4x3_rc4::IfcShapeAspect* v) { set_attribute_value(14, v->as());if constexpr (false)unset_attribute_value(14); } -boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3_rc4::IfcDoorLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::LiningToPanelOffsetY() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3_rc4::IfcDoorLiningProperties::LiningToPanelOffsetY() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3_rc4::IfcDoorLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } const IfcParse::entity& Ifc4x3_rc4::IfcDoorLiningProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[338]); } const IfcParse::entity& Ifc4x3_rc4::IfcDoorLiningProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[338]); } Ifc4x3_rc4::IfcDoorLiningProperties::IfcDoorLiningProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -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(storage_t(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, v15_ShapeAspectStyle ? v15_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); }; populate_derived(); } +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(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, v15_ShapeAspectStyle ? v15_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); }; populate_derived(); } // Function implementations for IfcDoorPanelProperties -boost::optional< double > Ifc4x3_rc4::IfcDoorPanelProperties::PanelDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc4::IfcDoorPanelProperties::PanelDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcDoorPanelProperties::setPanelDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc4::IfcDoorPanelOperationEnum::Value Ifc4x3_rc4::IfcDoorPanelProperties::PanelOperation() const { return ::Ifc4x3_rc4::IfcDoorPanelOperationEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_rc4::IfcDoorPanelOperationEnum::Value Ifc4x3_rc4::IfcDoorPanelProperties::PanelOperation() const { return ::Ifc4x3_rc4::IfcDoorPanelOperationEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc4::IfcDoorPanelProperties::setPanelOperation(::Ifc4x3_rc4::IfcDoorPanelOperationEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc4::IfcDoorPanelOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_rc4::IfcDoorPanelProperties::PanelWidth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc4::IfcDoorPanelProperties::PanelWidth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_rc4::IfcDoorPanelPositionEnum::Value Ifc4x3_rc4::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x3_rc4::IfcDoorPanelPositionEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc4::IfcDoorPanelPositionEnum::Value Ifc4x3_rc4::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x3_rc4::IfcDoorPanelPositionEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc4::IfcDoorPanelProperties::setPanelPosition(::Ifc4x3_rc4::IfcDoorPanelPositionEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc4::IfcDoorPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc4::IfcShapeAspect* Ifc4x3_rc4::IfcDoorPanelProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc4::IfcShapeAspect>(true); } +::Ifc4x3_rc4::IfcShapeAspect* Ifc4x3_rc4::IfcDoorPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc4::IfcShapeAspect>(true); } void Ifc4x3_rc4::IfcDoorPanelProperties::setShapeAspectStyle(::Ifc4x3_rc4::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc4::IfcDoorPanelProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[341]); } const IfcParse::entity& Ifc4x3_rc4::IfcDoorPanelProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[341]); } Ifc4x3_rc4::IfcDoorPanelProperties::IfcDoorPanelProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_rc4::IfcDoorPanelProperties::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) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcDoorPanelProperties::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) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDoorStandardCase @@ -10410,39 +10410,39 @@ Ifc4x3_rc4::IfcDoorPanelProperties::IfcDoorPanelProperties(std::string v1_Global const IfcParse::entity& Ifc4x3_rc4::IfcDoorStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[342]); } const IfcParse::entity& Ifc4x3_rc4::IfcDoorStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[342]); } Ifc4x3_rc4::IfcDoorStandardCase::IfcDoorStandardCase(IfcEntityInstanceData&& e) : IfcDoor(std::move(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(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } +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(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } // Function implementations for IfcDoorStyle -::Ifc4x3_rc4::IfcDoorStyleOperationEnum::Value Ifc4x3_rc4::IfcDoorStyle::OperationType() const { return ::Ifc4x3_rc4::IfcDoorStyleOperationEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc4::IfcDoorStyleOperationEnum::Value Ifc4x3_rc4::IfcDoorStyle::OperationType() const { return ::Ifc4x3_rc4::IfcDoorStyleOperationEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcDoorStyle::setOperationType(::Ifc4x3_rc4::IfcDoorStyleOperationEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcDoorStyleOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc4::IfcDoorStyleConstructionEnum::Value Ifc4x3_rc4::IfcDoorStyle::ConstructionType() const { return ::Ifc4x3_rc4::IfcDoorStyleConstructionEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcDoorStyleConstructionEnum::Value Ifc4x3_rc4::IfcDoorStyle::ConstructionType() const { return ::Ifc4x3_rc4::IfcDoorStyleConstructionEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcDoorStyle::setConstructionType(::Ifc4x3_rc4::IfcDoorStyleConstructionEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcDoorStyleConstructionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -bool Ifc4x3_rc4::IfcDoorStyle::ParameterTakesPrecedence() const { bool v = data_.get_attribute_value(10); return v; } +bool Ifc4x3_rc4::IfcDoorStyle::ParameterTakesPrecedence() const { bool v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcDoorStyle::setParameterTakesPrecedence(bool v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -bool Ifc4x3_rc4::IfcDoorStyle::Sizeable() const { bool v = data_.get_attribute_value(11); return v; } +bool Ifc4x3_rc4::IfcDoorStyle::Sizeable() const { bool v = get_attribute_value(11); return v; } void Ifc4x3_rc4::IfcDoorStyle::setSizeable(bool v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc4::IfcDoorStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[343]); } const IfcParse::entity& Ifc4x3_rc4::IfcDoorStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[343]); } Ifc4x3_rc4::IfcDoorStyle::IfcDoorStyle(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(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< 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(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcDoorStyleOperationEnum::Class(),(size_t)v9_OperationType)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcDoorStyleConstructionEnum::Class(),(size_t)v10_ConstructionType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; populate_derived(); } +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(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcDoorStyleOperationEnum::Class(),(size_t)v9_OperationType)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcDoorStyleConstructionEnum::Class(),(size_t)v10_ConstructionType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; populate_derived(); } // Function implementations for IfcDoorType -::Ifc4x3_rc4::IfcDoorTypeEnum::Value Ifc4x3_rc4::IfcDoorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDoorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcDoorTypeEnum::Value Ifc4x3_rc4::IfcDoorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDoorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcDoorType::setPredefinedType(::Ifc4x3_rc4::IfcDoorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcDoorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value Ifc4x3_rc4::IfcDoorType::OperationType() const { return ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value Ifc4x3_rc4::IfcDoorType::OperationType() const { return ::Ifc4x3_rc4::IfcDoorTypeOperationEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc4::IfcDoorType::setOperationType(::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } -boost::optional< bool > Ifc4x3_rc4::IfcDoorType::ParameterTakesPrecedence() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } bool v = data_.get_attribute_value(11); return v; } +boost::optional< bool > Ifc4x3_rc4::IfcDoorType::ParameterTakesPrecedence() const { if(get_attribute_value(11).isNull()) { return boost::none; } bool v = get_attribute_value(11); return v; } void Ifc4x3_rc4::IfcDoorType::setParameterTakesPrecedence(boost::optional< bool > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_rc4::IfcDoorType::UserDefinedOperationType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcDoorType::UserDefinedOperationType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc4::IfcDoorType::setUserDefinedOperationType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_rc4::IfcDoorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[346]); } const IfcParse::entity& Ifc4x3_rc4::IfcDoorType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[346]); } Ifc4x3_rc4::IfcDoorType::IfcDoorType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } +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(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } // Function implementations for IfcDraughtingPreDefinedColour @@ -10450,7 +10450,7 @@ Ifc4x3_rc4::IfcDoorType::IfcDoorType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcO const IfcParse::entity& Ifc4x3_rc4::IfcDraughtingPreDefinedColour::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[350]); } const IfcParse::entity& Ifc4x3_rc4::IfcDraughtingPreDefinedColour::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[350]); } Ifc4x3_rc4::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(IfcEntityInstanceData&& e) : IfcPreDefinedColour(std::move(e)) { } -Ifc4x3_rc4::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::string v1_Name) : IfcPreDefinedColour(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_rc4::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::string v1_Name) : IfcPreDefinedColour(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcDraughtingPreDefinedCurveFont @@ -10458,77 +10458,77 @@ Ifc4x3_rc4::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::st const IfcParse::entity& Ifc4x3_rc4::IfcDraughtingPreDefinedCurveFont::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[351]); } const IfcParse::entity& Ifc4x3_rc4::IfcDraughtingPreDefinedCurveFont::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[351]); } Ifc4x3_rc4::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(IfcEntityInstanceData&& e) : IfcPreDefinedCurveFont(std::move(e)) { } -Ifc4x3_rc4::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedCurveFont(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_rc4::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedCurveFont(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcDuctFitting -boost::optional< ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value > Ifc4x3_rc4::IfcDuctFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value > Ifc4x3_rc4::IfcDuctFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcDuctFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcDuctFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[352]); } const IfcParse::entity& Ifc4x3_rc4::IfcDuctFitting::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[352]); } Ifc4x3_rc4::IfcDuctFitting::IfcDuctFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDuctFittingType -::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value Ifc4x3_rc4::IfcDuctFittingType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value Ifc4x3_rc4::IfcDuctFittingType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDuctFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcDuctFittingType::setPredefinedType(::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcDuctFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[353]); } const IfcParse::entity& Ifc4x3_rc4::IfcDuctFittingType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[353]); } Ifc4x3_rc4::IfcDuctFittingType::IfcDuctFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDuctSegment -boost::optional< ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value > Ifc4x3_rc4::IfcDuctSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value > Ifc4x3_rc4::IfcDuctSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcDuctSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcDuctSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[355]); } const IfcParse::entity& Ifc4x3_rc4::IfcDuctSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[355]); } Ifc4x3_rc4::IfcDuctSegment::IfcDuctSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDuctSegmentType -::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value Ifc4x3_rc4::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value Ifc4x3_rc4::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcDuctSegmentType::setPredefinedType(::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcDuctSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[356]); } const IfcParse::entity& Ifc4x3_rc4::IfcDuctSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[356]); } Ifc4x3_rc4::IfcDuctSegmentType::IfcDuctSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDuctSilencer -boost::optional< ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value > Ifc4x3_rc4::IfcDuctSilencer::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value > Ifc4x3_rc4::IfcDuctSilencer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcDuctSilencer::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcDuctSilencer::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[358]); } const IfcParse::entity& Ifc4x3_rc4::IfcDuctSilencer::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[358]); } Ifc4x3_rc4::IfcDuctSilencer::IfcDuctSilencer(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDuctSilencerType -::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value Ifc4x3_rc4::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value Ifc4x3_rc4::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcDuctSilencerType::setPredefinedType(::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcDuctSilencerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[359]); } const IfcParse::entity& Ifc4x3_rc4::IfcDuctSilencerType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[359]); } Ifc4x3_rc4::IfcDuctSilencerType::IfcDuctSilencerType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEarthworksCut -boost::optional< ::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::Value > Ifc4x3_rc4::IfcEarthworksCut::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::Value > Ifc4x3_rc4::IfcEarthworksCut::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcEarthworksCut::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcEarthworksCut::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[363]); } const IfcParse::entity& Ifc4x3_rc4::IfcEarthworksCut::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[363]); } Ifc4x3_rc4::IfcEarthworksCut::IfcEarthworksCut(IfcEntityInstanceData&& e) : IfcFeatureElementSubtraction(std::move(e)) { } -Ifc4x3_rc4::IfcEarthworksCut::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) : IfcFeatureElementSubtraction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc4::IfcEarthworksCut::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) : IfcFeatureElementSubtraction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcEarthworksCutTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEarthworksElement @@ -10536,194 +10536,194 @@ Ifc4x3_rc4::IfcEarthworksCut::IfcEarthworksCut(std::string v1_GlobalId, ::Ifc4x3 const IfcParse::entity& Ifc4x3_rc4::IfcEarthworksElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[365]); } const IfcParse::entity& Ifc4x3_rc4::IfcEarthworksElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[365]); } Ifc4x3_rc4::IfcEarthworksElement::IfcEarthworksElement(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(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(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +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(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcEarthworksFill -boost::optional< ::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::Value > Ifc4x3_rc4::IfcEarthworksFill::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::Value > Ifc4x3_rc4::IfcEarthworksFill::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcEarthworksFill::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcEarthworksFill::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[366]); } const IfcParse::entity& Ifc4x3_rc4::IfcEarthworksFill::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[366]); } Ifc4x3_rc4::IfcEarthworksFill::IfcEarthworksFill(IfcEntityInstanceData&& e) : IfcEarthworksElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcEarthworksFillTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEdge -::Ifc4x3_rc4::IfcVertex* Ifc4x3_rc4::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcVertex>(true); } +::Ifc4x3_rc4::IfcVertex* Ifc4x3_rc4::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcVertex>(true); } void Ifc4x3_rc4::IfcEdge::setEdgeStart(::Ifc4x3_rc4::IfcVertex* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcVertex* Ifc4x3_rc4::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcVertex>(true); } +::Ifc4x3_rc4::IfcVertex* Ifc4x3_rc4::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcVertex>(true); } void Ifc4x3_rc4::IfcEdge::setEdgeEnd(::Ifc4x3_rc4::IfcVertex* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcEdge::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[368]); } const IfcParse::entity& Ifc4x3_rc4::IfcEdge::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[368]); } Ifc4x3_rc4::IfcEdge::IfcEdge(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcEdge::IfcEdge(::Ifc4x3_rc4::IfcVertex* v1_EdgeStart, ::Ifc4x3_rc4::IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcEdge::IfcEdge(::Ifc4x3_rc4::IfcVertex* v1_EdgeStart, ::Ifc4x3_rc4::IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcEdgeCurve -::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcCurve>(true); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcEdgeCurve::setEdgeGeometry(::Ifc4x3_rc4::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x3_rc4::IfcEdgeCurve::SameSense() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x3_rc4::IfcEdgeCurve::SameSense() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcEdgeCurve::setSameSense(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcEdgeCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[369]); } const IfcParse::entity& Ifc4x3_rc4::IfcEdgeCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[369]); } Ifc4x3_rc4::IfcEdgeCurve::IfcEdgeCurve(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc4x3_rc4::IfcEdgeCurve::IfcEdgeCurve(::Ifc4x3_rc4::IfcVertex* v1_EdgeStart, ::Ifc4x3_rc4::IfcVertex* v2_EdgeEnd, ::Ifc4x3_rc4::IfcCurve* v3_EdgeGeometry, bool v4_SameSense) : IfcEdge(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EdgeGeometry ? v3_EdgeGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SameSense));; populate_derived(); } +Ifc4x3_rc4::IfcEdgeCurve::IfcEdgeCurve(::Ifc4x3_rc4::IfcVertex* v1_EdgeStart, ::Ifc4x3_rc4::IfcVertex* v2_EdgeEnd, ::Ifc4x3_rc4::IfcCurve* v3_EdgeGeometry, bool v4_SameSense) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EdgeGeometry ? v3_EdgeGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SameSense));; populate_derived(); } // Function implementations for IfcEdgeLoop -aggregate_of< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr Ifc4x3_rc4::IfcEdgeLoop::EdgeList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcOrientedEdge >(); } +aggregate_of< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr Ifc4x3_rc4::IfcEdgeLoop::EdgeList() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcOrientedEdge >(); } void Ifc4x3_rc4::IfcEdgeLoop::setEdgeList(aggregate_of< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc4::IfcEdgeLoop::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[370]); } const IfcParse::entity& Ifc4x3_rc4::IfcEdgeLoop::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[370]); } Ifc4x3_rc4::IfcEdgeLoop::IfcEdgeLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc4x3_rc4::IfcEdgeLoop::IfcEdgeLoop(aggregate_of< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr v1_EdgeList) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } +Ifc4x3_rc4::IfcEdgeLoop::IfcEdgeLoop(aggregate_of< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr v1_EdgeList) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } // Function implementations for IfcElectricAppliance -boost::optional< ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value > Ifc4x3_rc4::IfcElectricAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value > Ifc4x3_rc4::IfcElectricAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcElectricAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcElectricAppliance::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[371]); } const IfcParse::entity& Ifc4x3_rc4::IfcElectricAppliance::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[371]); } Ifc4x3_rc4::IfcElectricAppliance::IfcElectricAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricApplianceType -::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value Ifc4x3_rc4::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value Ifc4x3_rc4::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcElectricApplianceType::setPredefinedType(::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcElectricApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[372]); } const IfcParse::entity& Ifc4x3_rc4::IfcElectricApplianceType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[372]); } Ifc4x3_rc4::IfcElectricApplianceType::IfcElectricApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricDistributionBoard -boost::optional< ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x3_rc4::IfcElectricDistributionBoard::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x3_rc4::IfcElectricDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcElectricDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcElectricDistributionBoard::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[378]); } const IfcParse::entity& Ifc4x3_rc4::IfcElectricDistributionBoard::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[378]); } Ifc4x3_rc4::IfcElectricDistributionBoard::IfcElectricDistributionBoard(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricDistributionBoardType -::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3_rc4::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3_rc4::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcElectricDistributionBoardType::setPredefinedType(::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcElectricDistributionBoardType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[379]); } const IfcParse::entity& Ifc4x3_rc4::IfcElectricDistributionBoardType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[379]); } Ifc4x3_rc4::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricFlowStorageDevice -boost::optional< ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x3_rc4::IfcElectricFlowStorageDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x3_rc4::IfcElectricFlowStorageDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcElectricFlowStorageDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcElectricFlowStorageDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[381]); } const IfcParse::entity& Ifc4x3_rc4::IfcElectricFlowStorageDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[381]); } Ifc4x3_rc4::IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(IfcEntityInstanceData&& e) : IfcFlowStorageDevice(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricFlowStorageDeviceType -::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3_rc4::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3_rc4::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcElectricFlowStorageDeviceType::setPredefinedType(::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcElectricFlowStorageDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[382]); } const IfcParse::entity& Ifc4x3_rc4::IfcElectricFlowStorageDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[382]); } Ifc4x3_rc4::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(IfcEntityInstanceData&& e) : IfcFlowStorageDeviceType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricFlowTreatmentDevice -boost::optional< ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value > Ifc4x3_rc4::IfcElectricFlowTreatmentDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value > Ifc4x3_rc4::IfcElectricFlowTreatmentDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcElectricFlowTreatmentDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcElectricFlowTreatmentDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[384]); } const IfcParse::entity& Ifc4x3_rc4::IfcElectricFlowTreatmentDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[384]); } Ifc4x3_rc4::IfcElectricFlowTreatmentDevice::IfcElectricFlowTreatmentDevice(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricFlowTreatmentDeviceType -::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceType::setPredefinedType(::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[385]); } const IfcParse::entity& Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[385]); } Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceType::IfcElectricFlowTreatmentDeviceType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricGenerator -boost::optional< ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value > Ifc4x3_rc4::IfcElectricGenerator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value > Ifc4x3_rc4::IfcElectricGenerator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcElectricGenerator::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcElectricGenerator::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[387]); } const IfcParse::entity& Ifc4x3_rc4::IfcElectricGenerator::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[387]); } Ifc4x3_rc4::IfcElectricGenerator::IfcElectricGenerator(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricGeneratorType -::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value Ifc4x3_rc4::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value Ifc4x3_rc4::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcElectricGeneratorType::setPredefinedType(::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcElectricGeneratorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[388]); } const IfcParse::entity& Ifc4x3_rc4::IfcElectricGeneratorType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[388]); } Ifc4x3_rc4::IfcElectricGeneratorType::IfcElectricGeneratorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricMotor -boost::optional< ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value > Ifc4x3_rc4::IfcElectricMotor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value > Ifc4x3_rc4::IfcElectricMotor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcElectricMotor::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcElectricMotor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[390]); } const IfcParse::entity& Ifc4x3_rc4::IfcElectricMotor::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[390]); } Ifc4x3_rc4::IfcElectricMotor::IfcElectricMotor(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricMotorType -::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value Ifc4x3_rc4::IfcElectricMotorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value Ifc4x3_rc4::IfcElectricMotorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricMotorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcElectricMotorType::setPredefinedType(::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcElectricMotorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[391]); } const IfcParse::entity& Ifc4x3_rc4::IfcElectricMotorType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[391]); } Ifc4x3_rc4::IfcElectricMotorType::IfcElectricMotorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricTimeControl -boost::optional< ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value > Ifc4x3_rc4::IfcElectricTimeControl::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value > Ifc4x3_rc4::IfcElectricTimeControl::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcElectricTimeControl::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcElectricTimeControl::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[394]); } const IfcParse::entity& Ifc4x3_rc4::IfcElectricTimeControl::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[394]); } Ifc4x3_rc4::IfcElectricTimeControl::IfcElectricTimeControl(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricTimeControlType -::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value Ifc4x3_rc4::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value Ifc4x3_rc4::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcElectricTimeControlType::setPredefinedType(::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcElectricTimeControlType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[395]); } const IfcParse::entity& Ifc4x3_rc4::IfcElectricTimeControlType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[395]); } Ifc4x3_rc4::IfcElectricTimeControlType::IfcElectricTimeControlType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElement -boost::optional< std::string > Ifc4x3_rc4::IfcElement::Tag() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcElement::Tag() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcElement::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } ::Ifc4x3_rc4::IfcRelFillsElement::list::ptr Ifc4x3_rc4::IfcElement::FillsVoids() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[941], 5)->as(); } @@ -10742,29 +10742,29 @@ void Ifc4x3_rc4::IfcElement::setTag(boost::optional< std::string > v) { if (v) { const IfcParse::entity& Ifc4x3_rc4::IfcElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[398]); } const IfcParse::entity& Ifc4x3_rc4::IfcElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[398]); } Ifc4x3_rc4::IfcElement::IfcElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -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(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +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(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcElementAssembly -boost::optional< ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value > Ifc4x3_rc4::IfcElementAssembly::AssemblyPlace() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value > Ifc4x3_rc4::IfcElementAssembly::AssemblyPlace() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcElementAssembly::setAssemblyPlace(boost::optional< ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value > Ifc4x3_rc4::IfcElementAssembly::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value > Ifc4x3_rc4::IfcElementAssembly::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcElementAssembly::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc4::IfcElementAssembly::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[400]); } const IfcParse::entity& Ifc4x3_rc4::IfcElementAssembly::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[400]); } Ifc4x3_rc4::IfcElementAssembly::IfcElementAssembly(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElementAssemblyType -::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value Ifc4x3_rc4::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value Ifc4x3_rc4::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcElementAssemblyType::setPredefinedType(::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcElementAssemblyType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[401]); } const IfcParse::entity& Ifc4x3_rc4::IfcElementAssemblyType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[401]); } Ifc4x3_rc4::IfcElementAssemblyType::IfcElementAssemblyType(IfcEntityInstanceData&& e) : IfcElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElementComponent @@ -10772,7 +10772,7 @@ Ifc4x3_rc4::IfcElementAssemblyType::IfcElementAssemblyType(std::string v1_Global const IfcParse::entity& Ifc4x3_rc4::IfcElementComponent::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[403]); } const IfcParse::entity& Ifc4x3_rc4::IfcElementComponent::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[403]); } Ifc4x3_rc4::IfcElementComponent::IfcElementComponent(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc4::IfcElementComponent::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) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc4::IfcElementComponent::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) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcElementComponentType @@ -10780,63 +10780,63 @@ Ifc4x3_rc4::IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x3_rc4::IfcElementComponentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[404]); } const IfcParse::entity& Ifc4x3_rc4::IfcElementComponentType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[404]); } Ifc4x3_rc4::IfcElementComponentType::IfcElementComponentType(IfcEntityInstanceData&& e) : IfcElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcElementQuantity -boost::optional< std::string > Ifc4x3_rc4::IfcElementQuantity::MethodOfMeasurement() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcElementQuantity::MethodOfMeasurement() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcElementQuantity::setMethodOfMeasurement(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -aggregate_of< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr Ifc4x3_rc4::IfcElementQuantity::Quantities() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc4::IfcPhysicalQuantity >(); } +aggregate_of< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr Ifc4x3_rc4::IfcElementQuantity::Quantities() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc4::IfcPhysicalQuantity >(); } void Ifc4x3_rc4::IfcElementQuantity::setQuantities(aggregate_of< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcElementQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[406]); } const IfcParse::entity& Ifc4x3_rc4::IfcElementQuantity::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[406]); } Ifc4x3_rc4::IfcElementQuantity::IfcElementQuantity(IfcEntityInstanceData&& e) : IfcQuantitySet(std::move(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, aggregate_of< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr v6_Quantities) : IfcQuantitySet(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, (v6_Quantities)->generalize());; populate_derived(); } +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(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, (v6_Quantities)->generalize());; populate_derived(); } // Function implementations for IfcElementType -boost::optional< std::string > Ifc4x3_rc4::IfcElementType::ElementType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcElementType::setElementType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[407]); } const IfcParse::entity& Ifc4x3_rc4::IfcElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[407]); } Ifc4x3_rc4::IfcElementType::IfcElementType(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcElementarySurface -::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(true); } void Ifc4x3_rc4::IfcElementarySurface::setPosition(::Ifc4x3_rc4::IfcAxis2Placement3D* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc4::IfcElementarySurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[399]); } const IfcParse::entity& Ifc4x3_rc4::IfcElementarySurface::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[399]); } Ifc4x3_rc4::IfcElementarySurface::IfcElementarySurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x3_rc4::IfcElementarySurface::IfcElementarySurface(::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position) : IfcSurface(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcElementarySurface::IfcElementarySurface(::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position) : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcEllipse -double Ifc4x3_rc4::IfcEllipse::SemiAxis1() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc4::IfcEllipse::SemiAxis1() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcEllipse::setSemiAxis1(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc4::IfcEllipse::SemiAxis2() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc4::IfcEllipse::SemiAxis2() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcEllipse::setSemiAxis2(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcEllipse::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[408]); } const IfcParse::entity& Ifc4x3_rc4::IfcEllipse::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[408]); } Ifc4x3_rc4::IfcEllipse::IfcEllipse(IfcEntityInstanceData&& e) : IfcConic(std::move(e)) { } -Ifc4x3_rc4::IfcEllipse::IfcEllipse(::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) : IfcConic(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; populate_derived(); } +Ifc4x3_rc4::IfcEllipse::IfcEllipse(::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) : IfcConic(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; populate_derived(); } // Function implementations for IfcEllipseProfileDef -double Ifc4x3_rc4::IfcEllipseProfileDef::SemiAxis1() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc4::IfcEllipseProfileDef::SemiAxis1() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcEllipseProfileDef::setSemiAxis1(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc4::IfcEllipseProfileDef::SemiAxis2() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc4::IfcEllipseProfileDef::SemiAxis2() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcEllipseProfileDef::setSemiAxis2(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc4::IfcEllipseProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[409]); } const IfcParse::entity& Ifc4x3_rc4::IfcEllipseProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[409]); } Ifc4x3_rc4::IfcEllipseProfileDef::IfcEllipseProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_rc4::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D* v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; populate_derived(); } +Ifc4x3_rc4::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D* v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; populate_derived(); } // Function implementations for IfcEnergyConversionDevice @@ -10844,7 +10844,7 @@ Ifc4x3_rc4::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc4x3_rc4::IfcProfileT const IfcParse::entity& Ifc4x3_rc4::IfcEnergyConversionDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[410]); } const IfcParse::entity& Ifc4x3_rc4::IfcEnergyConversionDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[410]); } Ifc4x3_rc4::IfcEnergyConversionDevice::IfcEnergyConversionDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_rc4::IfcEnergyConversionDevice::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) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc4::IfcEnergyConversionDevice::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) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcEnergyConversionDeviceType @@ -10852,127 +10852,127 @@ Ifc4x3_rc4::IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_ const IfcParse::entity& Ifc4x3_rc4::IfcEnergyConversionDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[411]); } const IfcParse::entity& Ifc4x3_rc4::IfcEnergyConversionDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[411]); } Ifc4x3_rc4::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcEngine -boost::optional< ::Ifc4x3_rc4::IfcEngineTypeEnum::Value > Ifc4x3_rc4::IfcEngine::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcEngineTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcEngineTypeEnum::Value > Ifc4x3_rc4::IfcEngine::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcEngineTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcEngine::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcEngineTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcEngineTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcEngine::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[413]); } const IfcParse::entity& Ifc4x3_rc4::IfcEngine::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[413]); } Ifc4x3_rc4::IfcEngine::IfcEngine(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEngineType -::Ifc4x3_rc4::IfcEngineTypeEnum::Value Ifc4x3_rc4::IfcEngineType::PredefinedType() const { return ::Ifc4x3_rc4::IfcEngineTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcEngineTypeEnum::Value Ifc4x3_rc4::IfcEngineType::PredefinedType() const { return ::Ifc4x3_rc4::IfcEngineTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcEngineType::setPredefinedType(::Ifc4x3_rc4::IfcEngineTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcEngineTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcEngineType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[414]); } const IfcParse::entity& Ifc4x3_rc4::IfcEngineType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[414]); } Ifc4x3_rc4::IfcEngineType::IfcEngineType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEvaporativeCooler -boost::optional< ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x3_rc4::IfcEvaporativeCooler::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x3_rc4::IfcEvaporativeCooler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcEvaporativeCooler::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcEvaporativeCooler::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[416]); } const IfcParse::entity& Ifc4x3_rc4::IfcEvaporativeCooler::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[416]); } Ifc4x3_rc4::IfcEvaporativeCooler::IfcEvaporativeCooler(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEvaporativeCoolerType -::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3_rc4::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3_rc4::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcEvaporativeCoolerType::setPredefinedType(::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcEvaporativeCoolerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[417]); } const IfcParse::entity& Ifc4x3_rc4::IfcEvaporativeCoolerType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[417]); } Ifc4x3_rc4::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEvaporator -boost::optional< ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value > Ifc4x3_rc4::IfcEvaporator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value > Ifc4x3_rc4::IfcEvaporator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcEvaporator::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcEvaporator::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[419]); } const IfcParse::entity& Ifc4x3_rc4::IfcEvaporator::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[419]); } Ifc4x3_rc4::IfcEvaporator::IfcEvaporator(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEvaporatorType -::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value Ifc4x3_rc4::IfcEvaporatorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value Ifc4x3_rc4::IfcEvaporatorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcEvaporatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcEvaporatorType::setPredefinedType(::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcEvaporatorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[420]); } const IfcParse::entity& Ifc4x3_rc4::IfcEvaporatorType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[420]); } Ifc4x3_rc4::IfcEvaporatorType::IfcEvaporatorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEvent -boost::optional< ::Ifc4x3_rc4::IfcEventTypeEnum::Value > Ifc4x3_rc4::IfcEvent::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcEventTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_rc4::IfcEventTypeEnum::Value > Ifc4x3_rc4::IfcEvent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcEventTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc4::IfcEvent::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcEventTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc4::IfcEventTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value > Ifc4x3_rc4::IfcEvent::EventTriggerType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value > Ifc4x3_rc4::IfcEvent::EventTriggerType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcEvent::setEventTriggerType(boost::optional< ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_rc4::IfcEvent::UserDefinedEventTriggerType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcEvent::UserDefinedEventTriggerType() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc4::IfcEvent::setUserDefinedEventTriggerType(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -::Ifc4x3_rc4::IfcEventTime* Ifc4x3_rc4::IfcEvent::EventOccurenceTime() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_rc4::IfcEventTime>(true); } +::Ifc4x3_rc4::IfcEventTime* Ifc4x3_rc4::IfcEvent::EventOccurenceTime() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_rc4::IfcEventTime>(true); } void Ifc4x3_rc4::IfcEvent::setEventOccurenceTime(::Ifc4x3_rc4::IfcEventTime* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_rc4::IfcEvent::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[422]); } const IfcParse::entity& Ifc4x3_rc4::IfcEvent::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[422]); } Ifc4x3_rc4::IfcEvent::IfcEvent(IfcEntityInstanceData&& e) : IfcProcess(std::move(e)) { } -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(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, v11_EventOccurenceTime ? v11_EventOccurenceTime->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, v11_EventOccurenceTime ? v11_EventOccurenceTime->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcEventTime -boost::optional< std::string > Ifc4x3_rc4::IfcEventTime::ActualDate() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcEventTime::ActualDate() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcEventTime::setActualDate(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc4::IfcEventTime::EarlyDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcEventTime::EarlyDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcEventTime::setEarlyDate(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc4::IfcEventTime::LateDate() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcEventTime::LateDate() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcEventTime::setLateDate(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc4::IfcEventTime::ScheduleDate() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcEventTime::ScheduleDate() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcEventTime::setScheduleDate(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc4::IfcEventTime::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[423]); } const IfcParse::entity& Ifc4x3_rc4::IfcEventTime::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[423]); } Ifc4x3_rc4::IfcEventTime::IfcEventTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); }; populate_derived(); } +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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); }; populate_derived(); } // Function implementations for IfcEventType -::Ifc4x3_rc4::IfcEventTypeEnum::Value Ifc4x3_rc4::IfcEventType::PredefinedType() const { return ::Ifc4x3_rc4::IfcEventTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcEventTypeEnum::Value Ifc4x3_rc4::IfcEventType::PredefinedType() const { return ::Ifc4x3_rc4::IfcEventTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcEventType::setPredefinedType(::Ifc4x3_rc4::IfcEventTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcEventTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value Ifc4x3_rc4::IfcEventType::EventTriggerType() const { return ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value Ifc4x3_rc4::IfcEventType::EventTriggerType() const { return ::Ifc4x3_rc4::IfcEventTriggerTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc4::IfcEventType::setEventTriggerType(::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } -boost::optional< std::string > Ifc4x3_rc4::IfcEventType::UserDefinedEventTriggerType() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcEventType::UserDefinedEventTriggerType() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x3_rc4::IfcEventType::setUserDefinedEventTriggerType(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x3_rc4::IfcEventType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[425]); } const IfcParse::entity& Ifc4x3_rc4::IfcEventType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[425]); } Ifc4x3_rc4::IfcEventType::IfcEventType(IfcEntityInstanceData&& e) : IfcTypeProcess(std::move(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< 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(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); }; populate_derived(); } +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(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); }; populate_derived(); } // Function implementations for IfcExtendedProperties -boost::optional< std::string > Ifc4x3_rc4::IfcExtendedProperties::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcExtendedProperties::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcExtendedProperties::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc4::IfcExtendedProperties::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcExtendedProperties::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcExtendedProperties::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3_rc4::IfcProperty >::ptr Ifc4x3_rc4::IfcExtendedProperties::Properties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcProperty >(); } +aggregate_of< ::Ifc4x3_rc4::IfcProperty >::ptr Ifc4x3_rc4::IfcExtendedProperties::Properties() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcProperty >(); } void Ifc4x3_rc4::IfcExtendedProperties::setProperties(aggregate_of< ::Ifc4x3_rc4::IfcProperty >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcExtendedProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[427]); } const IfcParse::entity& Ifc4x3_rc4::IfcExtendedProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[427]); } Ifc4x3_rc4::IfcExtendedProperties::IfcExtendedProperties(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -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(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());; populate_derived(); } +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(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());; populate_derived(); } // Function implementations for IfcExternalInformation @@ -10980,14 +10980,14 @@ Ifc4x3_rc4::IfcExtendedProperties::IfcExtendedProperties(boost::optional< std::s const IfcParse::entity& Ifc4x3_rc4::IfcExternalInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[428]); } const IfcParse::entity& Ifc4x3_rc4::IfcExternalInformation::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[428]); } Ifc4x3_rc4::IfcExternalInformation::IfcExternalInformation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcExternalInformation::IfcExternalInformation() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc4::IfcExternalInformation::IfcExternalInformation() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcExternalReference -boost::optional< std::string > Ifc4x3_rc4::IfcExternalReference::Location() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcExternalReference::Location() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcExternalReference::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc4::IfcExternalReference::Identification() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcExternalReference::Identification() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcExternalReference::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc4::IfcExternalReference::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcExternalReference::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcExternalReference::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3_rc4::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc4::IfcExternalReference::ExternalReferenceForResources() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[433], 2)->as(); } @@ -10995,22 +10995,22 @@ void Ifc4x3_rc4::IfcExternalReference::setName(boost::optional< std::string > v) const IfcParse::entity& Ifc4x3_rc4::IfcExternalReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[432]); } const IfcParse::entity& Ifc4x3_rc4::IfcExternalReference::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[432]); } Ifc4x3_rc4::IfcExternalReference::IfcExternalReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(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(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3_rc4::IfcExternalReference::IfcExternalReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternalReferenceRelationship -::Ifc4x3_rc4::IfcExternalReference* Ifc4x3_rc4::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcExternalReference>(true); } +::Ifc4x3_rc4::IfcExternalReference* Ifc4x3_rc4::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcExternalReference>(true); } void Ifc4x3_rc4::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4x3_rc4::IfcExternalReference* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr Ifc4x3_rc4::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc4::IfcResourceObjectSelect >(); } +aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr Ifc4x3_rc4::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc4::IfcResourceObjectSelect >(); } void Ifc4x3_rc4::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcExternalReferenceRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[433]); } const IfcParse::entity& Ifc4x3_rc4::IfcExternalReferenceRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[433]); } Ifc4x3_rc4::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_rc4::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingReference ? v3_RelatingReference->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } +Ifc4x3_rc4::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingReference ? v3_RelatingReference->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } // Function implementations for IfcExternalSpatialElement -boost::optional< ::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_rc4::IfcExternalSpatialElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_rc4::IfcExternalSpatialElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcExternalSpatialElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x3_rc4::IfcRelSpaceBoundary::list::ptr Ifc4x3_rc4::IfcExternalSpatialElement::BoundedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[950], 4)->as(); } @@ -11018,7 +11018,7 @@ void Ifc4x3_rc4::IfcExternalSpatialElement::setPredefinedType(boost::optional< : const IfcParse::entity& Ifc4x3_rc4::IfcExternalSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[434]); } const IfcParse::entity& Ifc4x3_rc4::IfcExternalSpatialElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[434]); } Ifc4x3_rc4::IfcExternalSpatialElement::IfcExternalSpatialElement(IfcEntityInstanceData&& e) : IfcExternalSpatialStructureElement(std::move(e)) { } -Ifc4x3_rc4::IfcExternalSpatialElement::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) : IfcExternalSpatialStructureElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc4::IfcExternalSpatialElement::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) : IfcExternalSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcExternalSpatialStructureElement @@ -11026,7 +11026,7 @@ Ifc4x3_rc4::IfcExternalSpatialElement::IfcExternalSpatialElement(std::string v1_ const IfcParse::entity& Ifc4x3_rc4::IfcExternalSpatialStructureElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[436]); } const IfcParse::entity& Ifc4x3_rc4::IfcExternalSpatialStructureElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[436]); } Ifc4x3_rc4::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(IfcEntityInstanceData&& e) : IfcSpatialElement(std::move(e)) { } -Ifc4x3_rc4::IfcExternalSpatialStructureElement::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) : IfcSpatialElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } +Ifc4x3_rc4::IfcExternalSpatialStructureElement::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) : IfcSpatialElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedHatchStyle @@ -11034,7 +11034,7 @@ Ifc4x3_rc4::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureEleme const IfcParse::entity& Ifc4x3_rc4::IfcExternallyDefinedHatchStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[429]); } const IfcParse::entity& Ifc4x3_rc4::IfcExternallyDefinedHatchStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[429]); } Ifc4x3_rc4::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_rc4::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3_rc4::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedSurfaceStyle @@ -11042,7 +11042,7 @@ Ifc4x3_rc4::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost const IfcParse::entity& Ifc4x3_rc4::IfcExternallyDefinedSurfaceStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[430]); } const IfcParse::entity& Ifc4x3_rc4::IfcExternallyDefinedSurfaceStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[430]); } Ifc4x3_rc4::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_rc4::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3_rc4::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedTextFont @@ -11050,32 +11050,32 @@ Ifc4x3_rc4::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(b const IfcParse::entity& Ifc4x3_rc4::IfcExternallyDefinedTextFont::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[431]); } const IfcParse::entity& Ifc4x3_rc4::IfcExternallyDefinedTextFont::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[431]); } Ifc4x3_rc4::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_rc4::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3_rc4::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExtrudedAreaSolid -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcDirection>(true); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcExtrudedAreaSolid::setExtrudedDirection(::Ifc4x3_rc4::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc4::IfcExtrudedAreaSolid::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc4::IfcExtrudedAreaSolid::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcExtrudedAreaSolid::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcExtrudedAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[437]); } const IfcParse::entity& Ifc4x3_rc4::IfcExtrudedAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[437]); } Ifc4x3_rc4::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(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(storage_t(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } +Ifc4x3_rc4::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(::Ifc4x3_rc4::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc4::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } // Function implementations for IfcExtrudedAreaSolidTapered -::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcProfileDef>(true); } +::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcProfileDef>(true); } void Ifc4x3_rc4::IfcExtrudedAreaSolidTapered::setEndSweptArea(::Ifc4x3_rc4::IfcProfileDef* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc4::IfcExtrudedAreaSolidTapered::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[438]); } const IfcParse::entity& Ifc4x3_rc4::IfcExtrudedAreaSolidTapered::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[438]); } Ifc4x3_rc4::IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(IfcEntityInstanceData&& e) : IfcExtrudedAreaSolid(std::move(e)) { } -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(storage_t(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcFace -aggregate_of< ::Ifc4x3_rc4::IfcFaceBound >::ptr Ifc4x3_rc4::IfcFace::Bounds() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcFaceBound >(); } +aggregate_of< ::Ifc4x3_rc4::IfcFaceBound >::ptr Ifc4x3_rc4::IfcFace::Bounds() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcFaceBound >(); } void Ifc4x3_rc4::IfcFace::setBounds(aggregate_of< ::Ifc4x3_rc4::IfcFaceBound >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_rc4::IfcTextureMap::list::ptr Ifc4x3_rc4::IfcFace::HasTextureMaps() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[1199], 2)->as(); } @@ -11083,29 +11083,29 @@ void Ifc4x3_rc4::IfcFace::setBounds(aggregate_of< ::Ifc4x3_rc4::IfcFaceBound >:: const IfcParse::entity& Ifc4x3_rc4::IfcFace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[439]); } const IfcParse::entity& Ifc4x3_rc4::IfcFace::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[439]); } Ifc4x3_rc4::IfcFace::IfcFace(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcFace::IfcFace(aggregate_of< ::Ifc4x3_rc4::IfcFaceBound >::ptr v1_Bounds) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Bounds)->generalize());; populate_derived(); } +Ifc4x3_rc4::IfcFace::IfcFace(aggregate_of< ::Ifc4x3_rc4::IfcFaceBound >::ptr v1_Bounds) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Bounds)->generalize());; populate_derived(); } // Function implementations for IfcFaceBasedSurfaceModel -aggregate_of< ::Ifc4x3_rc4::IfcConnectedFaceSet >::ptr Ifc4x3_rc4::IfcFaceBasedSurfaceModel::FbsmFaces() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcConnectedFaceSet >(); } +aggregate_of< ::Ifc4x3_rc4::IfcConnectedFaceSet >::ptr Ifc4x3_rc4::IfcFaceBasedSurfaceModel::FbsmFaces() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcConnectedFaceSet >(); } void Ifc4x3_rc4::IfcFaceBasedSurfaceModel::setFbsmFaces(aggregate_of< ::Ifc4x3_rc4::IfcConnectedFaceSet >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc4::IfcFaceBasedSurfaceModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[440]); } const IfcParse::entity& Ifc4x3_rc4::IfcFaceBasedSurfaceModel::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[440]); } Ifc4x3_rc4::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(aggregate_of< ::Ifc4x3_rc4::IfcConnectedFaceSet >::ptr v1_FbsmFaces) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_FbsmFaces)->generalize());; populate_derived(); } +Ifc4x3_rc4::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(aggregate_of< ::Ifc4x3_rc4::IfcConnectedFaceSet >::ptr v1_FbsmFaces) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_FbsmFaces)->generalize());; populate_derived(); } // Function implementations for IfcFaceBound -::Ifc4x3_rc4::IfcLoop* Ifc4x3_rc4::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcLoop>(true); } +::Ifc4x3_rc4::IfcLoop* Ifc4x3_rc4::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcLoop>(true); } void Ifc4x3_rc4::IfcFaceBound::setBound(::Ifc4x3_rc4::IfcLoop* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -bool Ifc4x3_rc4::IfcFaceBound::Orientation() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x3_rc4::IfcFaceBound::Orientation() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcFaceBound::setOrientation(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcFaceBound::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[441]); } const IfcParse::entity& Ifc4x3_rc4::IfcFaceBound::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[441]); } Ifc4x3_rc4::IfcFaceBound::IfcFaceBound(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcFaceBound::IfcFaceBound(::Ifc4x3_rc4::IfcLoop* v1_Bound, bool v2_Orientation) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } +Ifc4x3_rc4::IfcFaceBound::IfcFaceBound(::Ifc4x3_rc4::IfcLoop* v1_Bound, bool v2_Orientation) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } // Function implementations for IfcFaceOuterBound @@ -11113,19 +11113,19 @@ Ifc4x3_rc4::IfcFaceBound::IfcFaceBound(::Ifc4x3_rc4::IfcLoop* v1_Bound, bool v2_ const IfcParse::entity& Ifc4x3_rc4::IfcFaceOuterBound::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[442]); } const IfcParse::entity& Ifc4x3_rc4::IfcFaceOuterBound::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[442]); } Ifc4x3_rc4::IfcFaceOuterBound::IfcFaceOuterBound(IfcEntityInstanceData&& e) : IfcFaceBound(std::move(e)) { } -Ifc4x3_rc4::IfcFaceOuterBound::IfcFaceOuterBound(::Ifc4x3_rc4::IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } +Ifc4x3_rc4::IfcFaceOuterBound::IfcFaceOuterBound(::Ifc4x3_rc4::IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } // Function implementations for IfcFaceSurface -::Ifc4x3_rc4::IfcSurface* Ifc4x3_rc4::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcSurface>(true); } +::Ifc4x3_rc4::IfcSurface* Ifc4x3_rc4::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcSurface>(true); } void Ifc4x3_rc4::IfcFaceSurface::setFaceSurface(::Ifc4x3_rc4::IfcSurface* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -bool Ifc4x3_rc4::IfcFaceSurface::SameSense() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x3_rc4::IfcFaceSurface::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcFaceSurface::setSameSense(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcFaceSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[443]); } const IfcParse::entity& Ifc4x3_rc4::IfcFaceSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[443]); } Ifc4x3_rc4::IfcFaceSurface::IfcFaceSurface(IfcEntityInstanceData&& e) : IfcFace(std::move(e)) { } -Ifc4x3_rc4::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc4x3_rc4::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_rc4::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFace(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } +Ifc4x3_rc4::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc4x3_rc4::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_rc4::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFace(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } // Function implementations for IfcFacetedBrep @@ -11133,17 +11133,17 @@ Ifc4x3_rc4::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc4x3_rc4::IfcFaceBo const IfcParse::entity& Ifc4x3_rc4::IfcFacetedBrep::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[444]); } const IfcParse::entity& Ifc4x3_rc4::IfcFacetedBrep::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[444]); } Ifc4x3_rc4::IfcFacetedBrep::IfcFacetedBrep(IfcEntityInstanceData&& e) : IfcManifoldSolidBrep(std::move(e)) { } -Ifc4x3_rc4::IfcFacetedBrep::IfcFacetedBrep(::Ifc4x3_rc4::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcFacetedBrep::IfcFacetedBrep(::Ifc4x3_rc4::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcFacetedBrepWithVoids -aggregate_of< ::Ifc4x3_rc4::IfcClosedShell >::ptr Ifc4x3_rc4::IfcFacetedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcClosedShell >(); } +aggregate_of< ::Ifc4x3_rc4::IfcClosedShell >::ptr Ifc4x3_rc4::IfcFacetedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcClosedShell >(); } void Ifc4x3_rc4::IfcFacetedBrepWithVoids::setVoids(aggregate_of< ::Ifc4x3_rc4::IfcClosedShell >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcFacetedBrepWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[445]); } const IfcParse::entity& Ifc4x3_rc4::IfcFacetedBrepWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[445]); } Ifc4x3_rc4::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(IfcEntityInstanceData&& e) : IfcFacetedBrep(std::move(e)) { } -Ifc4x3_rc4::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4x3_rc4::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3_rc4::IfcClosedShell >::ptr v2_Voids) : IfcFacetedBrep(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } +Ifc4x3_rc4::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4x3_rc4::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3_rc4::IfcClosedShell >::ptr v2_Voids) : IfcFacetedBrep(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } // Function implementations for IfcFacility @@ -11151,79 +11151,79 @@ Ifc4x3_rc4::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4x3_rc4::IfcCl const IfcParse::entity& Ifc4x3_rc4::IfcFacility::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[446]); } const IfcParse::entity& Ifc4x3_rc4::IfcFacility::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[446]); } Ifc4x3_rc4::IfcFacility::IfcFacility(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } // Function implementations for IfcFacilityPart -::Ifc4x3_rc4::IfcFacilityPartTypeSelect* Ifc4x3_rc4::IfcFacilityPart::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc4::IfcFacilityPartTypeSelect>(true); } +::Ifc4x3_rc4::IfcFacilityPartTypeSelect* Ifc4x3_rc4::IfcFacilityPart::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc4::IfcFacilityPartTypeSelect>(true); } void Ifc4x3_rc4::IfcFacilityPart::setPredefinedType(::Ifc4x3_rc4::IfcFacilityPartTypeSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc4::IfcFacilityUsageEnum::Value Ifc4x3_rc4::IfcFacilityPart::UsageType() const { return ::Ifc4x3_rc4::IfcFacilityUsageEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3_rc4::IfcFacilityUsageEnum::Value Ifc4x3_rc4::IfcFacilityPart::UsageType() const { return ::Ifc4x3_rc4::IfcFacilityUsageEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc4::IfcFacilityPart::setUsageType(::Ifc4x3_rc4::IfcFacilityUsageEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc4::IfcFacilityUsageEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_rc4::IfcFacilityPart::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[447]); } const IfcParse::entity& Ifc4x3_rc4::IfcFacilityPart::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[447]); } Ifc4x3_rc4::IfcFacilityPart::IfcFacilityPart(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -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(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, v10_PredefinedType ? v10_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcFacilityUsageEnum::Class(),(size_t)v11_UsageType)));; populate_derived(); } +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(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, v10_PredefinedType ? v10_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcFacilityUsageEnum::Class(),(size_t)v11_UsageType)));; populate_derived(); } // Function implementations for IfcFailureConnectionCondition -boost::optional< double > Ifc4x3_rc4::IfcFailureConnectionCondition::TensionFailureX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc4::IfcFailureConnectionCondition::TensionFailureX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcFailureConnectionCondition::setTensionFailureX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc4::IfcFailureConnectionCondition::TensionFailureY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc4::IfcFailureConnectionCondition::TensionFailureY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcFailureConnectionCondition::setTensionFailureY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc4::IfcFailureConnectionCondition::TensionFailureZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc4::IfcFailureConnectionCondition::TensionFailureZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcFailureConnectionCondition::setTensionFailureZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc4::IfcFailureConnectionCondition::CompressionFailureX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc4::IfcFailureConnectionCondition::CompressionFailureX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcFailureConnectionCondition::setCompressionFailureX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_rc4::IfcFailureConnectionCondition::CompressionFailureY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc4::IfcFailureConnectionCondition::CompressionFailureY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcFailureConnectionCondition::setCompressionFailureY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_rc4::IfcFailureConnectionCondition::CompressionFailureZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc4::IfcFailureConnectionCondition::CompressionFailureZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcFailureConnectionCondition::setCompressionFailureZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc4::IfcFailureConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[451]); } const IfcParse::entity& Ifc4x3_rc4::IfcFailureConnectionCondition::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[451]); } Ifc4x3_rc4::IfcFailureConnectionCondition::IfcFailureConnectionCondition(IfcEntityInstanceData&& e) : IfcStructuralConnectionCondition(std::move(e)) { } -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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; populate_derived(); } +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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; populate_derived(); } // Function implementations for IfcFan -boost::optional< ::Ifc4x3_rc4::IfcFanTypeEnum::Value > Ifc4x3_rc4::IfcFan::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFanTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcFanTypeEnum::Value > Ifc4x3_rc4::IfcFan::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFanTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcFan::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFanTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcFanTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcFan::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[452]); } const IfcParse::entity& Ifc4x3_rc4::IfcFan::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[452]); } Ifc4x3_rc4::IfcFan::IfcFan(IfcEntityInstanceData&& e) : IfcFlowMovingDevice(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFanType -::Ifc4x3_rc4::IfcFanTypeEnum::Value Ifc4x3_rc4::IfcFanType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFanTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcFanTypeEnum::Value Ifc4x3_rc4::IfcFanType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFanTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcFanType::setPredefinedType(::Ifc4x3_rc4::IfcFanTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcFanTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcFanType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[453]); } const IfcParse::entity& Ifc4x3_rc4::IfcFanType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[453]); } Ifc4x3_rc4::IfcFanType::IfcFanType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFastener -boost::optional< ::Ifc4x3_rc4::IfcFastenerTypeEnum::Value > Ifc4x3_rc4::IfcFastener::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFastenerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcFastenerTypeEnum::Value > Ifc4x3_rc4::IfcFastener::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFastenerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcFastener::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFastenerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcFastenerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcFastener::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[455]); } const IfcParse::entity& Ifc4x3_rc4::IfcFastener::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[455]); } Ifc4x3_rc4::IfcFastener::IfcFastener(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFastenerType -::Ifc4x3_rc4::IfcFastenerTypeEnum::Value Ifc4x3_rc4::IfcFastenerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFastenerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcFastenerTypeEnum::Value Ifc4x3_rc4::IfcFastenerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFastenerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcFastenerType::setPredefinedType(::Ifc4x3_rc4::IfcFastenerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcFastenerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcFastenerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[456]); } const IfcParse::entity& Ifc4x3_rc4::IfcFastenerType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[456]); } Ifc4x3_rc4::IfcFastenerType::IfcFastenerType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFeatureElement @@ -11231,7 +11231,7 @@ Ifc4x3_rc4::IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, ::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc4::IfcFeatureElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[458]); } const IfcParse::entity& Ifc4x3_rc4::IfcFeatureElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[458]); } Ifc4x3_rc4::IfcFeatureElement::IfcFeatureElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc4::IfcFeatureElement::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) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc4::IfcFeatureElement::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) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFeatureElementAddition @@ -11240,7 +11240,7 @@ Ifc4x3_rc4::IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3_rc4::IfcFeatureElementAddition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[459]); } const IfcParse::entity& Ifc4x3_rc4::IfcFeatureElementAddition::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[459]); } Ifc4x3_rc4::IfcFeatureElementAddition::IfcFeatureElementAddition(IfcEntityInstanceData&& e) : IfcFeatureElement(std::move(e)) { } -Ifc4x3_rc4::IfcFeatureElementAddition::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) : IfcFeatureElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc4::IfcFeatureElementAddition::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) : IfcFeatureElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFeatureElementSubtraction @@ -11249,101 +11249,101 @@ Ifc4x3_rc4::IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_ const IfcParse::entity& Ifc4x3_rc4::IfcFeatureElementSubtraction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[460]); } const IfcParse::entity& Ifc4x3_rc4::IfcFeatureElementSubtraction::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[460]); } Ifc4x3_rc4::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntityInstanceData&& e) : IfcFeatureElement(std::move(e)) { } -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(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +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(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFillAreaStyle -aggregate_of< ::Ifc4x3_rc4::IfcFillStyleSelect >::ptr Ifc4x3_rc4::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcFillStyleSelect >(); } +aggregate_of< ::Ifc4x3_rc4::IfcFillStyleSelect >::ptr Ifc4x3_rc4::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcFillStyleSelect >(); } void Ifc4x3_rc4::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x3_rc4::IfcFillStyleSelect >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< bool > Ifc4x3_rc4::IfcFillAreaStyle::ModelOrDraughting() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } bool v = data_.get_attribute_value(2); return v; } +boost::optional< bool > Ifc4x3_rc4::IfcFillAreaStyle::ModelOrDraughting() const { if(get_attribute_value(2).isNull()) { return boost::none; } bool v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc4::IfcFillAreaStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[461]); } const IfcParse::entity& Ifc4x3_rc4::IfcFillAreaStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[461]); } Ifc4x3_rc4::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x3_rc4::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc4::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_FillStyles)->generalize()); if (v3_ModelOrDraughting) {set_attribute_value(2, (*v3_ModelOrDraughting)); }; populate_derived(); } +Ifc4x3_rc4::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_rc4::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_FillStyles)->generalize()); if (v3_ModelOrDraughting) {set_attribute_value(2, (*v3_ModelOrDraughting)); }; populate_derived(); } // Function implementations for IfcFillAreaStyleHatching -::Ifc4x3_rc4::IfcCurveStyle* Ifc4x3_rc4::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCurveStyle>(true); } +::Ifc4x3_rc4::IfcCurveStyle* Ifc4x3_rc4::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCurveStyle>(true); } void Ifc4x3_rc4::IfcFillAreaStyleHatching::setHatchLineAppearance(::Ifc4x3_rc4::IfcCurveStyle* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcHatchLineDistanceSelect* Ifc4x3_rc4::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcHatchLineDistanceSelect>(true); } +::Ifc4x3_rc4::IfcHatchLineDistanceSelect* Ifc4x3_rc4::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcHatchLineDistanceSelect>(true); } void Ifc4x3_rc4::IfcFillAreaStyleHatching::setStartOfNextHatchLine(::Ifc4x3_rc4::IfcHatchLineDistanceSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcCartesianPoint>(true); } +::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcCartesianPoint>(true); } void Ifc4x3_rc4::IfcFillAreaStyleHatching::setPointOfReferenceHatchLine(::Ifc4x3_rc4::IfcCartesianPoint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcFillAreaStyleHatching::PatternStart() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcCartesianPoint>(true); } +::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcFillAreaStyleHatching::PatternStart() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcCartesianPoint>(true); } void Ifc4x3_rc4::IfcFillAreaStyleHatching::setPatternStart(::Ifc4x3_rc4::IfcCartesianPoint* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc4::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc4::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcFillAreaStyleHatching::setHatchLineAngle(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc4::IfcFillAreaStyleHatching::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[462]); } const IfcParse::entity& Ifc4x3_rc4::IfcFillAreaStyleHatching::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[462]); } Ifc4x3_rc4::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -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(storage_t(5))) { set_attribute_value(0, v1_HatchLineAppearance ? v1_HatchLineAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_StartOfNextHatchLine ? v2_StartOfNextHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PointOfReferenceHatchLine ? v3_PointOfReferenceHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PatternStart ? v4_PatternStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_HatchLineAngle));; populate_derived(); } +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(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_HatchLineAppearance ? v1_HatchLineAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_StartOfNextHatchLine ? v2_StartOfNextHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PointOfReferenceHatchLine ? v3_PointOfReferenceHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PatternStart ? v4_PatternStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_HatchLineAngle));; populate_derived(); } // Function implementations for IfcFillAreaStyleTiles -aggregate_of< ::Ifc4x3_rc4::IfcVector >::ptr Ifc4x3_rc4::IfcFillAreaStyleTiles::TilingPattern() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcVector >(); } +aggregate_of< ::Ifc4x3_rc4::IfcVector >::ptr Ifc4x3_rc4::IfcFillAreaStyleTiles::TilingPattern() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcVector >(); } void Ifc4x3_rc4::IfcFillAreaStyleTiles::setTilingPattern(aggregate_of< ::Ifc4x3_rc4::IfcVector >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc4::IfcStyledItem >::ptr Ifc4x3_rc4::IfcFillAreaStyleTiles::Tiles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcStyledItem >(); } +aggregate_of< ::Ifc4x3_rc4::IfcStyledItem >::ptr Ifc4x3_rc4::IfcFillAreaStyleTiles::Tiles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcStyledItem >(); } void Ifc4x3_rc4::IfcFillAreaStyleTiles::setTiles(aggregate_of< ::Ifc4x3_rc4::IfcStyledItem >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc4::IfcFillAreaStyleTiles::TilingScale() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc4::IfcFillAreaStyleTiles::TilingScale() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcFillAreaStyleTiles::setTilingScale(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcFillAreaStyleTiles::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[463]); } const IfcParse::entity& Ifc4x3_rc4::IfcFillAreaStyleTiles::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[463]); } Ifc4x3_rc4::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -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(storage_t(3))) { set_attribute_value(0, (v1_TilingPattern)->generalize());set_attribute_value(1, (v2_Tiles)->generalize());set_attribute_value(2, (v3_TilingScale));; populate_derived(); } +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(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_TilingPattern)->generalize());set_attribute_value(1, (v2_Tiles)->generalize());set_attribute_value(2, (v3_TilingScale));; populate_derived(); } // Function implementations for IfcFilter -boost::optional< ::Ifc4x3_rc4::IfcFilterTypeEnum::Value > Ifc4x3_rc4::IfcFilter::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFilterTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcFilterTypeEnum::Value > Ifc4x3_rc4::IfcFilter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFilterTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcFilter::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFilterTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcFilterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcFilter::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[465]); } const IfcParse::entity& Ifc4x3_rc4::IfcFilter::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[465]); } Ifc4x3_rc4::IfcFilter::IfcFilter(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFilterType -::Ifc4x3_rc4::IfcFilterTypeEnum::Value Ifc4x3_rc4::IfcFilterType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFilterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcFilterTypeEnum::Value Ifc4x3_rc4::IfcFilterType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFilterTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcFilterType::setPredefinedType(::Ifc4x3_rc4::IfcFilterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcFilterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcFilterType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[466]); } const IfcParse::entity& Ifc4x3_rc4::IfcFilterType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[466]); } Ifc4x3_rc4::IfcFilterType::IfcFilterType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFireSuppressionTerminal -boost::optional< ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x3_rc4::IfcFireSuppressionTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x3_rc4::IfcFireSuppressionTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcFireSuppressionTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcFireSuppressionTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[468]); } const IfcParse::entity& Ifc4x3_rc4::IfcFireSuppressionTerminal::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[468]); } Ifc4x3_rc4::IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFireSuppressionTerminalType -::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3_rc4::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3_rc4::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcFireSuppressionTerminalType::setPredefinedType(::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcFireSuppressionTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[469]); } const IfcParse::entity& Ifc4x3_rc4::IfcFireSuppressionTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[469]); } Ifc4x3_rc4::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFixedReferenceSweptAreaSolid -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcDirection>(true); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcFixedReferenceSweptAreaSolid::setFixedReference(::Ifc4x3_rc4::IfcDirection* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcFixedReferenceSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[471]); } const IfcParse::entity& Ifc4x3_rc4::IfcFixedReferenceSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[471]); } Ifc4x3_rc4::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(IfcEntityInstanceData&& e) : IfcDirectrixCurveSweptAreaSolid(std::move(e)) { } -Ifc4x3_rc4::IfcFixedReferenceSweptAreaSolid::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) : IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_FixedReference ? v6_FixedReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcFixedReferenceSweptAreaSolid::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) : IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_FixedReference ? v6_FixedReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcFlowController @@ -11351,7 +11351,7 @@ Ifc4x3_rc4::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(::I const IfcParse::entity& Ifc4x3_rc4::IfcFlowController::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[472]); } const IfcParse::entity& Ifc4x3_rc4::IfcFlowController::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[472]); } Ifc4x3_rc4::IfcFlowController::IfcFlowController(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_rc4::IfcFlowController::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) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc4::IfcFlowController::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) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowControllerType @@ -11359,7 +11359,7 @@ Ifc4x3_rc4::IfcFlowController::IfcFlowController(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3_rc4::IfcFlowControllerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[473]); } const IfcParse::entity& Ifc4x3_rc4::IfcFlowControllerType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[473]); } Ifc4x3_rc4::IfcFlowControllerType::IfcFlowControllerType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowFitting @@ -11367,7 +11367,7 @@ Ifc4x3_rc4::IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId const IfcParse::entity& Ifc4x3_rc4::IfcFlowFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[475]); } const IfcParse::entity& Ifc4x3_rc4::IfcFlowFitting::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[475]); } Ifc4x3_rc4::IfcFlowFitting::IfcFlowFitting(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_rc4::IfcFlowFitting::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) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc4::IfcFlowFitting::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) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowFittingType @@ -11375,47 +11375,47 @@ Ifc4x3_rc4::IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, ::Ifc4x3_rc4 const IfcParse::entity& Ifc4x3_rc4::IfcFlowFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[476]); } const IfcParse::entity& Ifc4x3_rc4::IfcFlowFittingType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[476]); } Ifc4x3_rc4::IfcFlowFittingType::IfcFlowFittingType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowInstrument -boost::optional< ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value > Ifc4x3_rc4::IfcFlowInstrument::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value > Ifc4x3_rc4::IfcFlowInstrument::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcFlowInstrument::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcFlowInstrument::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[477]); } const IfcParse::entity& Ifc4x3_rc4::IfcFlowInstrument::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[477]); } Ifc4x3_rc4::IfcFlowInstrument::IfcFlowInstrument(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFlowInstrumentType -::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value Ifc4x3_rc4::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value Ifc4x3_rc4::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcFlowInstrumentType::setPredefinedType(::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcFlowInstrumentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[478]); } const IfcParse::entity& Ifc4x3_rc4::IfcFlowInstrumentType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[478]); } Ifc4x3_rc4::IfcFlowInstrumentType::IfcFlowInstrumentType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFlowMeter -boost::optional< ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value > Ifc4x3_rc4::IfcFlowMeter::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value > Ifc4x3_rc4::IfcFlowMeter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcFlowMeter::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcFlowMeter::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[480]); } const IfcParse::entity& Ifc4x3_rc4::IfcFlowMeter::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[480]); } Ifc4x3_rc4::IfcFlowMeter::IfcFlowMeter(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFlowMeterType -::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value Ifc4x3_rc4::IfcFlowMeterType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value Ifc4x3_rc4::IfcFlowMeterType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFlowMeterTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcFlowMeterType::setPredefinedType(::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcFlowMeterType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[481]); } const IfcParse::entity& Ifc4x3_rc4::IfcFlowMeterType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[481]); } Ifc4x3_rc4::IfcFlowMeterType::IfcFlowMeterType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFlowMovingDevice @@ -11423,7 +11423,7 @@ Ifc4x3_rc4::IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, ::Ifc4x3 const IfcParse::entity& Ifc4x3_rc4::IfcFlowMovingDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[483]); } const IfcParse::entity& Ifc4x3_rc4::IfcFlowMovingDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[483]); } Ifc4x3_rc4::IfcFlowMovingDevice::IfcFlowMovingDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_rc4::IfcFlowMovingDevice::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) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc4::IfcFlowMovingDevice::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) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowMovingDeviceType @@ -11431,7 +11431,7 @@ Ifc4x3_rc4::IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x3_rc4::IfcFlowMovingDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[484]); } const IfcParse::entity& Ifc4x3_rc4::IfcFlowMovingDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[484]); } Ifc4x3_rc4::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowSegment @@ -11439,7 +11439,7 @@ Ifc4x3_rc4::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_Glob const IfcParse::entity& Ifc4x3_rc4::IfcFlowSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[485]); } const IfcParse::entity& Ifc4x3_rc4::IfcFlowSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[485]); } Ifc4x3_rc4::IfcFlowSegment::IfcFlowSegment(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_rc4::IfcFlowSegment::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) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc4::IfcFlowSegment::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) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowSegmentType @@ -11447,7 +11447,7 @@ Ifc4x3_rc4::IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, ::Ifc4x3_rc4 const IfcParse::entity& Ifc4x3_rc4::IfcFlowSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[486]); } const IfcParse::entity& Ifc4x3_rc4::IfcFlowSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[486]); } Ifc4x3_rc4::IfcFlowSegmentType::IfcFlowSegmentType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowStorageDevice @@ -11455,7 +11455,7 @@ Ifc4x3_rc4::IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x3_rc4::IfcFlowStorageDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[487]); } const IfcParse::entity& Ifc4x3_rc4::IfcFlowStorageDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[487]); } Ifc4x3_rc4::IfcFlowStorageDevice::IfcFlowStorageDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_rc4::IfcFlowStorageDevice::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) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc4::IfcFlowStorageDevice::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) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowStorageDeviceType @@ -11463,7 +11463,7 @@ Ifc4x3_rc4::IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, const IfcParse::entity& Ifc4x3_rc4::IfcFlowStorageDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[488]); } const IfcParse::entity& Ifc4x3_rc4::IfcFlowStorageDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[488]); } Ifc4x3_rc4::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowTerminal @@ -11471,7 +11471,7 @@ Ifc4x3_rc4::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_Gl const IfcParse::entity& Ifc4x3_rc4::IfcFlowTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[489]); } const IfcParse::entity& Ifc4x3_rc4::IfcFlowTerminal::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[489]); } Ifc4x3_rc4::IfcFlowTerminal::IfcFlowTerminal(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_rc4::IfcFlowTerminal::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) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc4::IfcFlowTerminal::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) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowTerminalType @@ -11479,7 +11479,7 @@ Ifc4x3_rc4::IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, ::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc4::IfcFlowTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[490]); } const IfcParse::entity& Ifc4x3_rc4::IfcFlowTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[490]); } Ifc4x3_rc4::IfcFlowTerminalType::IfcFlowTerminalType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowTreatmentDevice @@ -11487,7 +11487,7 @@ Ifc4x3_rc4::IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x3_rc4::IfcFlowTreatmentDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[491]); } const IfcParse::entity& Ifc4x3_rc4::IfcFlowTreatmentDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[491]); } Ifc4x3_rc4::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_rc4::IfcFlowTreatmentDevice::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) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc4::IfcFlowTreatmentDevice::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) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowTreatmentDeviceType @@ -11495,27 +11495,27 @@ Ifc4x3_rc4::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_Global const IfcParse::entity& Ifc4x3_rc4::IfcFlowTreatmentDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[492]); } const IfcParse::entity& Ifc4x3_rc4::IfcFlowTreatmentDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[492]); } Ifc4x3_rc4::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFooting -boost::optional< ::Ifc4x3_rc4::IfcFootingTypeEnum::Value > Ifc4x3_rc4::IfcFooting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFootingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcFootingTypeEnum::Value > Ifc4x3_rc4::IfcFooting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFootingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcFooting::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFootingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcFootingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcFooting::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[496]); } const IfcParse::entity& Ifc4x3_rc4::IfcFooting::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[496]); } Ifc4x3_rc4::IfcFooting::IfcFooting(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFootingType -::Ifc4x3_rc4::IfcFootingTypeEnum::Value Ifc4x3_rc4::IfcFootingType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFootingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcFootingTypeEnum::Value Ifc4x3_rc4::IfcFootingType::PredefinedType() const { return ::Ifc4x3_rc4::IfcFootingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcFootingType::setPredefinedType(::Ifc4x3_rc4::IfcFootingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcFootingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcFootingType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[497]); } const IfcParse::entity& Ifc4x3_rc4::IfcFootingType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[497]); } Ifc4x3_rc4::IfcFootingType::IfcFootingType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFurnishingElement @@ -11523,7 +11523,7 @@ Ifc4x3_rc4::IfcFootingType::IfcFootingType(std::string v1_GlobalId, ::Ifc4x3_rc4 const IfcParse::entity& Ifc4x3_rc4::IfcFurnishingElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[501]); } const IfcParse::entity& Ifc4x3_rc4::IfcFurnishingElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[501]); } Ifc4x3_rc4::IfcFurnishingElement::IfcFurnishingElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc4::IfcFurnishingElement::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) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc4::IfcFurnishingElement::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) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFurnishingElementType @@ -11531,49 +11531,49 @@ Ifc4x3_rc4::IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, const IfcParse::entity& Ifc4x3_rc4::IfcFurnishingElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[502]); } const IfcParse::entity& Ifc4x3_rc4::IfcFurnishingElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[502]); } Ifc4x3_rc4::IfcFurnishingElementType::IfcFurnishingElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFurniture -boost::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > Ifc4x3_rc4::IfcFurniture::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFurnitureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > Ifc4x3_rc4::IfcFurniture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFurnitureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcFurniture::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcFurnitureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcFurniture::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[503]); } const IfcParse::entity& Ifc4x3_rc4::IfcFurniture::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[503]); } Ifc4x3_rc4::IfcFurniture::IfcFurniture(IfcEntityInstanceData&& e) : IfcFurnishingElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFurnitureType -::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value Ifc4x3_rc4::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value Ifc4x3_rc4::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x3_rc4::IfcAssemblyPlaceEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcFurnitureType::setAssemblyPlace(::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > Ifc4x3_rc4::IfcFurnitureType::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFurnitureTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > Ifc4x3_rc4::IfcFurnitureType::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcFurnitureTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc4::IfcFurnitureType::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcFurnitureTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc4::IfcFurnitureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc4::IfcFurnitureType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[504]); } const IfcParse::entity& Ifc4x3_rc4::IfcFurnitureType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[504]); } Ifc4x3_rc4::IfcFurnitureType::IfcFurnitureType(IfcEntityInstanceData&& e) : IfcFurnishingElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGeographicElement -boost::optional< ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value > Ifc4x3_rc4::IfcGeographicElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value > Ifc4x3_rc4::IfcGeographicElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcGeographicElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcGeographicElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[506]); } const IfcParse::entity& Ifc4x3_rc4::IfcGeographicElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[506]); } Ifc4x3_rc4::IfcGeographicElement::IfcGeographicElement(IfcEntityInstanceData&& e) : IfcElement(std::move(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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGeographicElementType -::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value Ifc4x3_rc4::IfcGeographicElementType::PredefinedType() const { return ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value Ifc4x3_rc4::IfcGeographicElementType::PredefinedType() const { return ::Ifc4x3_rc4::IfcGeographicElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcGeographicElementType::setPredefinedType(::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcGeographicElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[507]); } const IfcParse::entity& Ifc4x3_rc4::IfcGeographicElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[507]); } Ifc4x3_rc4::IfcGeographicElementType::IfcGeographicElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcGeometricCurveSet @@ -11581,16 +11581,16 @@ Ifc4x3_rc4::IfcGeographicElementType::IfcGeographicElementType(std::string v1_Gl const IfcParse::entity& Ifc4x3_rc4::IfcGeometricCurveSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[509]); } const IfcParse::entity& Ifc4x3_rc4::IfcGeometricCurveSet::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[509]); } Ifc4x3_rc4::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData&& e) : IfcGeometricSet(std::move(e)) { } -Ifc4x3_rc4::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3_rc4::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } +Ifc4x3_rc4::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3_rc4::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } // Function implementations for IfcGeometricRepresentationContext -int Ifc4x3_rc4::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = data_.get_attribute_value(2); return v; } +int Ifc4x3_rc4::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(int v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4x3_rc4::IfcGeometricRepresentationContext::Precision() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc4::IfcGeometricRepresentationContext::Precision() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcAxis2Placement>(true); } +::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcAxis2Placement>(true); } void Ifc4x3_rc4::IfcGeometricRepresentationContext::setWorldCoordinateSystem(::Ifc4x3_rc4::IfcAxis2Placement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcGeometricRepresentationContext::TrueNorth() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcDirection>(true); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcGeometricRepresentationContext::TrueNorth() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcGeometricRepresentationContext::setTrueNorth(::Ifc4x3_rc4::IfcDirection* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc4x3_rc4::IfcGeometricRepresentationSubContext::list::ptr Ifc4x3_rc4::IfcGeometricRepresentationContext::HasSubContexts() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[513], 6)->as(); } @@ -11599,7 +11599,7 @@ void Ifc4x3_rc4::IfcGeometricRepresentationContext::setTrueNorth(::Ifc4x3_rc4::I const IfcParse::entity& Ifc4x3_rc4::IfcGeometricRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[511]); } const IfcParse::entity& Ifc4x3_rc4::IfcGeometricRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[511]); } Ifc4x3_rc4::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(IfcEntityInstanceData&& e) : IfcRepresentationContext(std::move(e)) { } -Ifc4x3_rc4::IfcGeometricRepresentationContext::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) : IfcRepresentationContext(IfcEntityInstanceData(storage_t(6))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, v5_WorldCoordinateSystem ? v5_WorldCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_TrueNorth ? v6_TrueNorth->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcGeometricRepresentationContext::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) : IfcRepresentationContext(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, v5_WorldCoordinateSystem ? v5_WorldCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_TrueNorth ? v6_TrueNorth->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcGeometricRepresentationItem @@ -11607,33 +11607,33 @@ Ifc4x3_rc4::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext const IfcParse::entity& Ifc4x3_rc4::IfcGeometricRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[512]); } const IfcParse::entity& Ifc4x3_rc4::IfcGeometricRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[512]); } Ifc4x3_rc4::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc4::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcGeometricRepresentationSubContext -::Ifc4x3_rc4::IfcGeometricRepresentationContext* Ifc4x3_rc4::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcGeometricRepresentationContext>(true); } +::Ifc4x3_rc4::IfcGeometricRepresentationContext* Ifc4x3_rc4::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcGeometricRepresentationContext>(true); } void Ifc4x3_rc4::IfcGeometricRepresentationSubContext::setParentContext(::Ifc4x3_rc4::IfcGeometricRepresentationContext* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc4::IfcGeometricRepresentationSubContext::TargetScale() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc4::IfcGeometricRepresentationSubContext::TargetScale() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc4::IfcGeometricProjectionEnum::Value Ifc4x3_rc4::IfcGeometricRepresentationSubContext::TargetView() const { return ::Ifc4x3_rc4::IfcGeometricProjectionEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc4::IfcGeometricProjectionEnum::Value Ifc4x3_rc4::IfcGeometricRepresentationSubContext::TargetView() const { return ::Ifc4x3_rc4::IfcGeometricProjectionEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcGeometricRepresentationSubContext::setTargetView(::Ifc4x3_rc4::IfcGeometricProjectionEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcGeometricProjectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -boost::optional< std::string > Ifc4x3_rc4::IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc4::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc4::IfcGeometricRepresentationSubContext::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[513]); } const IfcParse::entity& Ifc4x3_rc4::IfcGeometricRepresentationSubContext::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[513]); } Ifc4x3_rc4::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(IfcEntityInstanceData&& e) : IfcGeometricRepresentationContext(std::move(e)) { } -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(storage_t(10))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, v7_ParentContext ? v7_ParentContext->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; populate_derived(); } +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(in_memory_attribute_storage(10))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, v7_ParentContext ? v7_ParentContext->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; populate_derived(); } // Function implementations for IfcGeometricSet -aggregate_of< ::Ifc4x3_rc4::IfcGeometricSetSelect >::ptr Ifc4x3_rc4::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcGeometricSetSelect >(); } +aggregate_of< ::Ifc4x3_rc4::IfcGeometricSetSelect >::ptr Ifc4x3_rc4::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcGeometricSetSelect >(); } void Ifc4x3_rc4::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x3_rc4::IfcGeometricSetSelect >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc4::IfcGeometricSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[514]); } const IfcParse::entity& Ifc4x3_rc4::IfcGeometricSet::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[514]); } Ifc4x3_rc4::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_rc4::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } +Ifc4x3_rc4::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_rc4::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } // Function implementations for IfcGeomodel @@ -11641,7 +11641,7 @@ Ifc4x3_rc4::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_rc4::IfcGeom const IfcParse::entity& Ifc4x3_rc4::IfcGeomodel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[516]); } const IfcParse::entity& Ifc4x3_rc4::IfcGeomodel::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[516]); } Ifc4x3_rc4::IfcGeomodel::IfcGeomodel(IfcEntityInstanceData&& e) : IfcGeotechnicalAssembly(std::move(e)) { } -Ifc4x3_rc4::IfcGeomodel::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) : IfcGeotechnicalAssembly(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc4::IfcGeomodel::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) : IfcGeotechnicalAssembly(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGeoslice @@ -11649,7 +11649,7 @@ Ifc4x3_rc4::IfcGeomodel::IfcGeomodel(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcO const IfcParse::entity& Ifc4x3_rc4::IfcGeoslice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[517]); } const IfcParse::entity& Ifc4x3_rc4::IfcGeoslice::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[517]); } Ifc4x3_rc4::IfcGeoslice::IfcGeoslice(IfcEntityInstanceData&& e) : IfcGeotechnicalAssembly(std::move(e)) { } -Ifc4x3_rc4::IfcGeoslice::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) : IfcGeotechnicalAssembly(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc4::IfcGeoslice::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) : IfcGeotechnicalAssembly(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGeotechnicalAssembly @@ -11657,7 +11657,7 @@ Ifc4x3_rc4::IfcGeoslice::IfcGeoslice(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcO const IfcParse::entity& Ifc4x3_rc4::IfcGeotechnicalAssembly::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[518]); } const IfcParse::entity& Ifc4x3_rc4::IfcGeotechnicalAssembly::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[518]); } Ifc4x3_rc4::IfcGeotechnicalAssembly::IfcGeotechnicalAssembly(IfcEntityInstanceData&& e) : IfcGeotechnicalElement(std::move(e)) { } -Ifc4x3_rc4::IfcGeotechnicalAssembly::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) : IfcGeotechnicalElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc4::IfcGeotechnicalAssembly::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) : IfcGeotechnicalElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGeotechnicalElement @@ -11665,7 +11665,7 @@ Ifc4x3_rc4::IfcGeotechnicalAssembly::IfcGeotechnicalAssembly(std::string v1_Glob const IfcParse::entity& Ifc4x3_rc4::IfcGeotechnicalElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[519]); } const IfcParse::entity& Ifc4x3_rc4::IfcGeotechnicalElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[519]); } Ifc4x3_rc4::IfcGeotechnicalElement::IfcGeotechnicalElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_rc4::IfcGeotechnicalElement::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) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_rc4::IfcGeotechnicalElement::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) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGeotechnicalStratum @@ -11673,42 +11673,42 @@ Ifc4x3_rc4::IfcGeotechnicalElement::IfcGeotechnicalElement(std::string v1_Global const IfcParse::entity& Ifc4x3_rc4::IfcGeotechnicalStratum::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[520]); } const IfcParse::entity& Ifc4x3_rc4::IfcGeotechnicalStratum::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[520]); } Ifc4x3_rc4::IfcGeotechnicalStratum::IfcGeotechnicalStratum(IfcEntityInstanceData&& e) : IfcGeotechnicalElement(std::move(e)) { } -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(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +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(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGradientCurve -::Ifc4x3_rc4::IfcBoundedCurve* Ifc4x3_rc4::IfcGradientCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcBoundedCurve>(true); } +::Ifc4x3_rc4::IfcBoundedCurve* Ifc4x3_rc4::IfcGradientCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcBoundedCurve>(true); } void Ifc4x3_rc4::IfcGradientCurve::setBaseCurve(::Ifc4x3_rc4::IfcBoundedCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcPlacement* Ifc4x3_rc4::IfcGradientCurve::EndPoint() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcPlacement>(true); } +::Ifc4x3_rc4::IfcPlacement* Ifc4x3_rc4::IfcGradientCurve::EndPoint() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcPlacement>(true); } void Ifc4x3_rc4::IfcGradientCurve::setEndPoint(::Ifc4x3_rc4::IfcPlacement* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcGradientCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[523]); } const IfcParse::entity& Ifc4x3_rc4::IfcGradientCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[523]); } Ifc4x3_rc4::IfcGradientCurve::IfcGradientCurve(IfcEntityInstanceData&& e) : IfcCompositeCurve(std::move(e)) { } -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(storage_t(4))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, v3_BaseCurve ? v3_BaseCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_EndPoint ? v4_EndPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, v3_BaseCurve ? v3_BaseCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_EndPoint ? v4_EndPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcGrid -aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr Ifc4x3_rc4::IfcGrid::UAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc4::IfcGridAxis >(); } +aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr Ifc4x3_rc4::IfcGrid::UAxes() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc4::IfcGridAxis >(); } void Ifc4x3_rc4::IfcGrid::setUAxes(aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } -aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr Ifc4x3_rc4::IfcGrid::VAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_rc4::IfcGridAxis >(); } +aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr Ifc4x3_rc4::IfcGrid::VAxes() const { aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_rc4::IfcGridAxis >(); } void Ifc4x3_rc4::IfcGrid::setVAxes(aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr v) { set_attribute_value(8, (v)->generalize());if constexpr (false)unset_attribute_value(8); } -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr > Ifc4x3_rc4::IfcGrid::WAxes() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3_rc4::IfcGridAxis >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr > Ifc4x3_rc4::IfcGrid::WAxes() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3_rc4::IfcGridAxis >(); } void Ifc4x3_rc4::IfcGrid::setWAxes(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x3_rc4::IfcGridTypeEnum::Value > Ifc4x3_rc4::IfcGrid::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcGridTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc4::IfcGridTypeEnum::Value > Ifc4x3_rc4::IfcGrid::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcGridTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc4::IfcGrid::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcGridTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc4::IfcGridTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc4::IfcGrid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[524]); } const IfcParse::entity& Ifc4x3_rc4::IfcGrid::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[524]); } Ifc4x3_rc4::IfcGrid::IfcGrid(IfcEntityInstanceData&& e) : IfcPositioningElement(std::move(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, 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(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_UAxes)->generalize());set_attribute_value(8, (v9_VAxes)->generalize()); if (v10_WAxes) {set_attribute_value(9, (*v10_WAxes)->generalize()); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_UAxes)->generalize());set_attribute_value(8, (v9_VAxes)->generalize()); if (v10_WAxes) {set_attribute_value(9, (*v10_WAxes)->generalize()); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGridAxis -boost::optional< std::string > Ifc4x3_rc4::IfcGridAxis::AxisTag() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcGridAxis::AxisTag() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcCurve>(true); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcGridAxis::setAxisCurve(::Ifc4x3_rc4::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -bool Ifc4x3_rc4::IfcGridAxis::SameSense() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x3_rc4::IfcGridAxis::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcGridAxis::setSameSense(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } ::Ifc4x3_rc4::IfcGrid::list::ptr Ifc4x3_rc4::IfcGridAxis::PartOfW() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[524], 9)->as(); } @@ -11719,19 +11719,19 @@ void Ifc4x3_rc4::IfcGridAxis::setSameSense(bool v) { set_attribute_value(2, v);i const IfcParse::entity& Ifc4x3_rc4::IfcGridAxis::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[525]); } const IfcParse::entity& Ifc4x3_rc4::IfcGridAxis::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[525]); } Ifc4x3_rc4::IfcGridAxis::IfcGridAxis(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, ::Ifc4x3_rc4::IfcCurve* v2_AxisCurve, bool v3_SameSense) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, v2_AxisCurve ? v2_AxisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } +Ifc4x3_rc4::IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, ::Ifc4x3_rc4::IfcCurve* v2_AxisCurve, bool v3_SameSense) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, v2_AxisCurve ? v2_AxisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } // Function implementations for IfcGridPlacement -::Ifc4x3_rc4::IfcVirtualGridIntersection* Ifc4x3_rc4::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcVirtualGridIntersection>(true); } +::Ifc4x3_rc4::IfcVirtualGridIntersection* Ifc4x3_rc4::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcVirtualGridIntersection>(true); } void Ifc4x3_rc4::IfcGridPlacement::setPlacementLocation(::Ifc4x3_rc4::IfcVirtualGridIntersection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcGridPlacementDirectionSelect* Ifc4x3_rc4::IfcGridPlacement::PlacementRefDirection() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcGridPlacementDirectionSelect>(true); } +::Ifc4x3_rc4::IfcGridPlacementDirectionSelect* Ifc4x3_rc4::IfcGridPlacement::PlacementRefDirection() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcGridPlacementDirectionSelect>(true); } void Ifc4x3_rc4::IfcGridPlacement::setPlacementRefDirection(::Ifc4x3_rc4::IfcGridPlacementDirectionSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcGridPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[526]); } const IfcParse::entity& Ifc4x3_rc4::IfcGridPlacement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[526]); } Ifc4x3_rc4::IfcGridPlacement::IfcGridPlacement(IfcEntityInstanceData&& e) : IfcObjectPlacement(std::move(e)) { } -Ifc4x3_rc4::IfcGridPlacement::IfcGridPlacement(::Ifc4x3_rc4::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc4::IfcVirtualGridIntersection* v2_PlacementLocation, ::Ifc4x3_rc4::IfcGridPlacementDirectionSelect* v3_PlacementRefDirection) : IfcObjectPlacement(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementLocation ? v2_PlacementLocation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PlacementRefDirection ? v3_PlacementRefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcGridPlacement::IfcGridPlacement(::Ifc4x3_rc4::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc4::IfcVirtualGridIntersection* v2_PlacementLocation, ::Ifc4x3_rc4::IfcGridPlacementDirectionSelect* v3_PlacementRefDirection) : IfcObjectPlacement(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementLocation ? v2_PlacementLocation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PlacementRefDirection ? v3_PlacementRefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcGroup @@ -11740,144 +11740,144 @@ Ifc4x3_rc4::IfcGridPlacement::IfcGridPlacement(::Ifc4x3_rc4::IfcObjectPlacement* const IfcParse::entity& Ifc4x3_rc4::IfcGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[529]); } const IfcParse::entity& Ifc4x3_rc4::IfcGroup::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[529]); } Ifc4x3_rc4::IfcGroup::IfcGroup(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -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(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +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(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcHalfSpaceSolid -::Ifc4x3_rc4::IfcSurface* Ifc4x3_rc4::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcSurface>(true); } +::Ifc4x3_rc4::IfcSurface* Ifc4x3_rc4::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcSurface>(true); } void Ifc4x3_rc4::IfcHalfSpaceSolid::setBaseSurface(::Ifc4x3_rc4::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -bool Ifc4x3_rc4::IfcHalfSpaceSolid::AgreementFlag() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x3_rc4::IfcHalfSpaceSolid::AgreementFlag() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcHalfSpaceSolid::setAgreementFlag(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcHalfSpaceSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[530]); } const IfcParse::entity& Ifc4x3_rc4::IfcHalfSpaceSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[530]); } Ifc4x3_rc4::IfcHalfSpaceSolid::IfcHalfSpaceSolid(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcHalfSpaceSolid::IfcHalfSpaceSolid(::Ifc4x3_rc4::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));; populate_derived(); } +Ifc4x3_rc4::IfcHalfSpaceSolid::IfcHalfSpaceSolid(::Ifc4x3_rc4::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));; populate_derived(); } // Function implementations for IfcHeatExchanger -boost::optional< ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value > Ifc4x3_rc4::IfcHeatExchanger::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value > Ifc4x3_rc4::IfcHeatExchanger::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcHeatExchanger::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcHeatExchanger::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[532]); } const IfcParse::entity& Ifc4x3_rc4::IfcHeatExchanger::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[532]); } Ifc4x3_rc4::IfcHeatExchanger::IfcHeatExchanger(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcHeatExchangerType -::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value Ifc4x3_rc4::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value Ifc4x3_rc4::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcHeatExchangerType::setPredefinedType(::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcHeatExchangerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[533]); } const IfcParse::entity& Ifc4x3_rc4::IfcHeatExchangerType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[533]); } Ifc4x3_rc4::IfcHeatExchangerType::IfcHeatExchangerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcHumidifier -boost::optional< ::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value > Ifc4x3_rc4::IfcHumidifier::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcHumidifierTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value > Ifc4x3_rc4::IfcHumidifier::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcHumidifierTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcHumidifier::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcHumidifierTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcHumidifier::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[537]); } const IfcParse::entity& Ifc4x3_rc4::IfcHumidifier::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[537]); } Ifc4x3_rc4::IfcHumidifier::IfcHumidifier(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcHumidifierType -::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value Ifc4x3_rc4::IfcHumidifierType::PredefinedType() const { return ::Ifc4x3_rc4::IfcHumidifierTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value Ifc4x3_rc4::IfcHumidifierType::PredefinedType() const { return ::Ifc4x3_rc4::IfcHumidifierTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcHumidifierType::setPredefinedType(::Ifc4x3_rc4::IfcHumidifierTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcHumidifierTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcHumidifierType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[538]); } const IfcParse::entity& Ifc4x3_rc4::IfcHumidifierType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[538]); } Ifc4x3_rc4::IfcHumidifierType::IfcHumidifierType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcIShapeProfileDef -double Ifc4x3_rc4::IfcIShapeProfileDef::OverallWidth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc4::IfcIShapeProfileDef::OverallWidth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcIShapeProfileDef::setOverallWidth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc4::IfcIShapeProfileDef::OverallDepth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc4::IfcIShapeProfileDef::OverallDepth() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcIShapeProfileDef::setOverallDepth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc4::IfcIShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc4::IfcIShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcIShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc4::IfcIShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc4::IfcIShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcIShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc4::IfcIShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc4::IfcIShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcIShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc4::IfcIShapeProfileDef::FlangeEdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc4::IfcIShapeProfileDef::FlangeEdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcIShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_rc4::IfcIShapeProfileDef::FlangeSlope() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc4::IfcIShapeProfileDef::FlangeSlope() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc4::IfcIShapeProfileDef::setFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc4::IfcIShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[567]); } const IfcParse::entity& Ifc4x3_rc4::IfcIShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[567]); } Ifc4x3_rc4::IfcIShapeProfileDef::IfcIShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(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(storage_t(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } // Function implementations for IfcImageTexture -std::string Ifc4x3_rc4::IfcImageTexture::URLReference() const { std::string v = data_.get_attribute_value(5); return v; } +std::string Ifc4x3_rc4::IfcImageTexture::URLReference() const { std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcImageTexture::setURLReference(std::string v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcImageTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[542]); } const IfcParse::entity& Ifc4x3_rc4::IfcImageTexture::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[542]); } Ifc4x3_rc4::IfcImageTexture::IfcImageTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -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(storage_t(6))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference));; populate_derived(); } +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(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference));; populate_derived(); } // Function implementations for IfcImpactProtectionDevice -::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect* Ifc4x3_rc4::IfcImpactProtectionDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect>(true); } +::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect* Ifc4x3_rc4::IfcImpactProtectionDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect>(true); } void Ifc4x3_rc4::IfcImpactProtectionDevice::setPredefinedType(::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc4::IfcImpactProtectionDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[543]); } const IfcParse::entity& Ifc4x3_rc4::IfcImpactProtectionDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[543]); } Ifc4x3_rc4::IfcImpactProtectionDevice::IfcImpactProtectionDevice(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, v9_PredefinedType ? v9_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, v9_PredefinedType ? v9_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcImpactProtectionDeviceType -::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect* Ifc4x3_rc4::IfcImpactProtectionDeviceType::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect>(true); } +::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect* Ifc4x3_rc4::IfcImpactProtectionDeviceType::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect>(true); } void Ifc4x3_rc4::IfcImpactProtectionDeviceType::setPredefinedType(::Ifc4x3_rc4::IfcImpactProtectionDeviceTypeSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcImpactProtectionDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[544]); } const IfcParse::entity& Ifc4x3_rc4::IfcImpactProtectionDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[544]); } Ifc4x3_rc4::IfcImpactProtectionDeviceType::IfcImpactProtectionDeviceType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, v10_PredefinedType ? v10_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, v10_PredefinedType ? v10_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcIndexedColourMap -::Ifc4x3_rc4::IfcTessellatedFaceSet* Ifc4x3_rc4::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcTessellatedFaceSet>(true); } +::Ifc4x3_rc4::IfcTessellatedFaceSet* Ifc4x3_rc4::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcTessellatedFaceSet>(true); } void Ifc4x3_rc4::IfcIndexedColourMap::setMappedTo(::Ifc4x3_rc4::IfcTessellatedFaceSet* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< double > Ifc4x3_rc4::IfcIndexedColourMap::Opacity() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc4::IfcIndexedColourMap::Opacity() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcIndexedColourMap::setOpacity(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc4::IfcColourRgbList* Ifc4x3_rc4::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcColourRgbList>(true); } +::Ifc4x3_rc4::IfcColourRgbList* Ifc4x3_rc4::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcColourRgbList>(true); } void Ifc4x3_rc4::IfcIndexedColourMap::setColours(::Ifc4x3_rc4::IfcColourRgbList* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -std::vector< int > /*[1:?]*/ Ifc4x3_rc4::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +std::vector< int > /*[1:?]*/ Ifc4x3_rc4::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcIndexedColourMap::setColourIndex(std::vector< int > /*[1:?]*/ v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcIndexedColourMap::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[547]); } const IfcParse::entity& Ifc4x3_rc4::IfcIndexedColourMap::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[547]); } Ifc4x3_rc4::IfcIndexedColourMap::IfcIndexedColourMap(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(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(storage_t(4))) { set_attribute_value(0, v1_MappedTo ? v1_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, v3_Colours ? v3_Colours->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ColourIndex));; populate_derived(); } +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(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_MappedTo ? v1_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, v3_Colours ? v3_Colours->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ColourIndex));; populate_derived(); } // Function implementations for IfcIndexedPolyCurve -::Ifc4x3_rc4::IfcCartesianPointList* Ifc4x3_rc4::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCartesianPointList>(true); } +::Ifc4x3_rc4::IfcCartesianPointList* Ifc4x3_rc4::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCartesianPointList>(true); } void Ifc4x3_rc4::IfcIndexedPolyCurve::setPoints(::Ifc4x3_rc4::IfcCartesianPointList* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcSegmentIndexSelect >::ptr > Ifc4x3_rc4::IfcIndexedPolyCurve::Segments() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcSegmentIndexSelect >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcSegmentIndexSelect >::ptr > Ifc4x3_rc4::IfcIndexedPolyCurve::Segments() const { if(get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcSegmentIndexSelect >(); } void Ifc4x3_rc4::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcSegmentIndexSelect >::ptr > v) { if (v) {set_attribute_value(1, (*v)->generalize());} else {unset_attribute_value(1);} } -boost::optional< bool > Ifc4x3_rc4::IfcIndexedPolyCurve::SelfIntersect() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } bool v = data_.get_attribute_value(2); return v; } +boost::optional< bool > Ifc4x3_rc4::IfcIndexedPolyCurve::SelfIntersect() const { if(get_attribute_value(2).isNull()) { return boost::none; } bool v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc4::IfcIndexedPolyCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[548]); } const IfcParse::entity& Ifc4x3_rc4::IfcIndexedPolyCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[548]); } Ifc4x3_rc4::IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_rc4::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_rc4::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Points ? v1_Points->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Segments) {set_attribute_value(1, (*v2_Segments)->generalize()); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); }; populate_derived(); } +Ifc4x3_rc4::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_rc4::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Points ? v1_Points->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Segments) {set_attribute_value(1, (*v2_Segments)->generalize()); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); }; populate_derived(); } // Function implementations for IfcIndexedPolygonalFace -std::vector< int > /*[3:?]*/ Ifc4x3_rc4::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = data_.get_attribute_value(0); return v; } +std::vector< int > /*[3:?]*/ Ifc4x3_rc4::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcIndexedPolygonalFace::setCoordIndex(std::vector< int > /*[3:?]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_rc4::IfcPolygonalFaceSet::list::ptr Ifc4x3_rc4::IfcIndexedPolygonalFace::ToFaceSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[776], 2)->as(); } @@ -11885,59 +11885,59 @@ void Ifc4x3_rc4::IfcIndexedPolygonalFace::setCoordIndex(std::vector< int > /*[3: const IfcParse::entity& Ifc4x3_rc4::IfcIndexedPolygonalFace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[549]); } const IfcParse::entity& Ifc4x3_rc4::IfcIndexedPolygonalFace::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[549]); } Ifc4x3_rc4::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(IfcEntityInstanceData&& e) : IfcTessellatedItem(std::move(e)) { } -Ifc4x3_rc4::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(std::vector< int > /*[3:?]*/ v1_CoordIndex) : IfcTessellatedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CoordIndex));; populate_derived(); } +Ifc4x3_rc4::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(std::vector< int > /*[3:?]*/ v1_CoordIndex) : IfcTessellatedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CoordIndex));; populate_derived(); } // Function implementations for IfcIndexedPolygonalFaceWithVoids -std::vector< std::vector< int > > Ifc4x3_rc4::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { std::vector< std::vector< int > > v = data_.get_attribute_value(1); return v; } +std::vector< std::vector< int > > Ifc4x3_rc4::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { std::vector< std::vector< int > > v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcIndexedPolygonalFaceWithVoids::setInnerCoordIndices(std::vector< std::vector< int > > v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcIndexedPolygonalFaceWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[550]); } const IfcParse::entity& Ifc4x3_rc4::IfcIndexedPolygonalFaceWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[550]); } Ifc4x3_rc4::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(IfcEntityInstanceData&& e) : IfcIndexedPolygonalFace(std::move(e)) { } -Ifc4x3_rc4::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) : IfcIndexedPolygonalFace(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices));; populate_derived(); } +Ifc4x3_rc4::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) : IfcIndexedPolygonalFace(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices));; populate_derived(); } // Function implementations for IfcIndexedTextureMap -::Ifc4x3_rc4::IfcTessellatedFaceSet* Ifc4x3_rc4::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcTessellatedFaceSet>(true); } +::Ifc4x3_rc4::IfcTessellatedFaceSet* Ifc4x3_rc4::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcTessellatedFaceSet>(true); } void Ifc4x3_rc4::IfcIndexedTextureMap::setMappedTo(::Ifc4x3_rc4::IfcTessellatedFaceSet* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcTextureVertexList* Ifc4x3_rc4::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcTextureVertexList>(true); } +::Ifc4x3_rc4::IfcTextureVertexList* Ifc4x3_rc4::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcTextureVertexList>(true); } void Ifc4x3_rc4::IfcIndexedTextureMap::setTexCoords(::Ifc4x3_rc4::IfcTextureVertexList* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcIndexedTextureMap::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[551]); } const IfcParse::entity& Ifc4x3_rc4::IfcIndexedTextureMap::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[551]); } Ifc4x3_rc4::IfcIndexedTextureMap::IfcIndexedTextureMap(IfcEntityInstanceData&& e) : IfcTextureCoordinate(std::move(e)) { } -Ifc4x3_rc4::IfcIndexedTextureMap::IfcIndexedTextureMap(aggregate_of< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_rc4::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_rc4::IfcTextureVertexList* v3_TexCoords) : IfcTextureCoordinate(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcIndexedTextureMap::IfcIndexedTextureMap(aggregate_of< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_rc4::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_rc4::IfcTextureVertexList* v3_TexCoords) : IfcTextureCoordinate(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcIndexedTriangleTextureMap -boost::optional< std::vector< std::vector< int > > > Ifc4x3_rc4::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::vector< int > > v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< std::vector< int > > > Ifc4x3_rc4::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::vector< int > > v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcIndexedTriangleTextureMap::setTexCoordIndex(boost::optional< std::vector< std::vector< int > > > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc4::IfcIndexedTriangleTextureMap::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[552]); } const IfcParse::entity& Ifc4x3_rc4::IfcIndexedTriangleTextureMap::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[552]); } Ifc4x3_rc4::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(IfcEntityInstanceData&& e) : IfcIndexedTextureMap(std::move(e)) { } -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(storage_t(4))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); }; populate_derived(); } +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(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); }; populate_derived(); } // Function implementations for IfcInterceptor -boost::optional< ::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value > Ifc4x3_rc4::IfcInterceptor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcInterceptorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value > Ifc4x3_rc4::IfcInterceptor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcInterceptorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcInterceptor::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcInterceptorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcInterceptor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[556]); } const IfcParse::entity& Ifc4x3_rc4::IfcInterceptor::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[556]); } Ifc4x3_rc4::IfcInterceptor::IfcInterceptor(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcInterceptorType -::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value Ifc4x3_rc4::IfcInterceptorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcInterceptorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value Ifc4x3_rc4::IfcInterceptorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcInterceptorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcInterceptorType::setPredefinedType(::Ifc4x3_rc4::IfcInterceptorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcInterceptorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcInterceptorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[557]); } const IfcParse::entity& Ifc4x3_rc4::IfcInterceptorType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[557]); } Ifc4x3_rc4::IfcInterceptorType::IfcInterceptorType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcIntersectionCurve @@ -11945,174 +11945,174 @@ Ifc4x3_rc4::IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x3_rc4::IfcIntersectionCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[561]); } const IfcParse::entity& Ifc4x3_rc4::IfcIntersectionCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[561]); } Ifc4x3_rc4::IfcIntersectionCurve::IfcIntersectionCurve(IfcEntityInstanceData&& e) : IfcSurfaceCurve(std::move(e)) { } -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(storage_t(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } +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(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcInventory -boost::optional< ::Ifc4x3_rc4::IfcInventoryTypeEnum::Value > Ifc4x3_rc4::IfcInventory::PredefinedType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcInventoryTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3_rc4::IfcInventoryTypeEnum::Value > Ifc4x3_rc4::IfcInventory::PredefinedType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcInventoryTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc4::IfcInventory::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcInventoryTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc4::IfcInventoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcInventory::Jurisdiction() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcActorSelect>(true); } +::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcInventory::Jurisdiction() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcActorSelect>(true); } void Ifc4x3_rc4::IfcInventory::setJurisdiction(::Ifc4x3_rc4::IfcActorSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPerson >::ptr > Ifc4x3_rc4::IfcInventory::ResponsiblePersons() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc4::IfcPerson >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPerson >::ptr > Ifc4x3_rc4::IfcInventory::ResponsiblePersons() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc4::IfcPerson >(); } void Ifc4x3_rc4::IfcInventory::setResponsiblePersons(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPerson >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc4::IfcInventory::LastUpdateDate() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcInventory::LastUpdateDate() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcInventory::setLastUpdateDate(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcInventory::CurrentValue() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc4::IfcCostValue>(true); } +::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcInventory::CurrentValue() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc4::IfcCostValue>(true); } void Ifc4x3_rc4::IfcInventory::setCurrentValue(::Ifc4x3_rc4::IfcCostValue* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcInventory::OriginalValue() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_rc4::IfcCostValue>(true); } +::Ifc4x3_rc4::IfcCostValue* Ifc4x3_rc4::IfcInventory::OriginalValue() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_rc4::IfcCostValue>(true); } void Ifc4x3_rc4::IfcInventory::setOriginalValue(::Ifc4x3_rc4::IfcCostValue* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_rc4::IfcInventory::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[562]); } const IfcParse::entity& Ifc4x3_rc4::IfcInventory::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[562]); } Ifc4x3_rc4::IfcInventory::IfcInventory(IfcEntityInstanceData&& e) : IfcGroup(std::move(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< 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(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, v7_Jurisdiction ? v7_Jurisdiction->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_ResponsiblePersons) {set_attribute_value(7, (*v8_ResponsiblePersons)->generalize()); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, v10_CurrentValue ? v10_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_OriginalValue ? v11_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, v7_Jurisdiction ? v7_Jurisdiction->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_ResponsiblePersons) {set_attribute_value(7, (*v8_ResponsiblePersons)->generalize()); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, v10_CurrentValue ? v10_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_OriginalValue ? v11_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcIrregularTimeSeries -aggregate_of< ::Ifc4x3_rc4::IfcIrregularTimeSeriesValue >::ptr Ifc4x3_rc4::IfcIrregularTimeSeries::Values() const { aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_rc4::IfcIrregularTimeSeriesValue >(); } +aggregate_of< ::Ifc4x3_rc4::IfcIrregularTimeSeriesValue >::ptr Ifc4x3_rc4::IfcIrregularTimeSeries::Values() const { aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_rc4::IfcIrregularTimeSeriesValue >(); } void Ifc4x3_rc4::IfcIrregularTimeSeries::setValues(aggregate_of< ::Ifc4x3_rc4::IfcIrregularTimeSeriesValue >::ptr v) { set_attribute_value(8, (v)->generalize());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc4::IfcIrregularTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[565]); } const IfcParse::entity& Ifc4x3_rc4::IfcIrregularTimeSeries::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[565]); } Ifc4x3_rc4::IfcIrregularTimeSeries::IfcIrregularTimeSeries(IfcEntityInstanceData&& e) : IfcTimeSeries(std::move(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, aggregate_of< ::Ifc4x3_rc4::IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_Values)->generalize());; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_Values)->generalize());; populate_derived(); } // Function implementations for IfcIrregularTimeSeriesValue -std::string Ifc4x3_rc4::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc4::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcIrregularTimeSeriesValue::setTimeStamp(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr Ifc4x3_rc4::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcValue >(); } +aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr Ifc4x3_rc4::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcValue >(); } void Ifc4x3_rc4::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcIrregularTimeSeriesValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[566]); } const IfcParse::entity& Ifc4x3_rc4::IfcIrregularTimeSeriesValue::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[566]); } Ifc4x3_rc4::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, (v2_ListValues)->generalize());; populate_derived(); } +Ifc4x3_rc4::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, (v2_ListValues)->generalize());; populate_derived(); } // Function implementations for IfcJunctionBox -boost::optional< ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value > Ifc4x3_rc4::IfcJunctionBox::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value > Ifc4x3_rc4::IfcJunctionBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcJunctionBox::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcJunctionBox::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[569]); } const IfcParse::entity& Ifc4x3_rc4::IfcJunctionBox::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[569]); } Ifc4x3_rc4::IfcJunctionBox::IfcJunctionBox(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcJunctionBoxType -::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value Ifc4x3_rc4::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value Ifc4x3_rc4::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcJunctionBoxType::setPredefinedType(::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcJunctionBoxType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[570]); } const IfcParse::entity& Ifc4x3_rc4::IfcJunctionBoxType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[570]); } Ifc4x3_rc4::IfcJunctionBoxType::IfcJunctionBoxType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcKerb -bool Ifc4x3_rc4::IfcKerb::Mountable() const { bool v = data_.get_attribute_value(8); return v; } +bool Ifc4x3_rc4::IfcKerb::Mountable() const { bool v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcKerb::setMountable(bool v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc4::IfcKerb::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[572]); } const IfcParse::entity& Ifc4x3_rc4::IfcKerb::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[572]); } Ifc4x3_rc4::IfcKerb::IfcKerb(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_Mountable));; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (v9_Mountable));; populate_derived(); } // Function implementations for IfcKerbType -bool Ifc4x3_rc4::IfcKerbType::Mountable() const { bool v = data_.get_attribute_value(9); return v; } +bool Ifc4x3_rc4::IfcKerbType::Mountable() const { bool v = get_attribute_value(9); return v; } void Ifc4x3_rc4::IfcKerbType::setMountable(bool v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcKerbType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[573]); } const IfcParse::entity& Ifc4x3_rc4::IfcKerbType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[573]); } Ifc4x3_rc4::IfcKerbType::IfcKerbType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_Mountable));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (v10_Mountable));; populate_derived(); } // Function implementations for IfcLShapeProfileDef -double Ifc4x3_rc4::IfcLShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc4::IfcLShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcLShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< double > Ifc4x3_rc4::IfcLShapeProfileDef::Width() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc4::IfcLShapeProfileDef::Width() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcLShapeProfileDef::setWidth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -double Ifc4x3_rc4::IfcLShapeProfileDef::Thickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc4::IfcLShapeProfileDef::Thickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcLShapeProfileDef::setThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_rc4::IfcLShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc4::IfcLShapeProfileDef::FilletRadius() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcLShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_rc4::IfcLShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc4::IfcLShapeProfileDef::EdgeRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcLShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc4::IfcLShapeProfileDef::LegSlope() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc4::IfcLShapeProfileDef::LegSlope() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcLShapeProfileDef::setLegSlope(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcLShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[622]); } const IfcParse::entity& Ifc4x3_rc4::IfcLShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[622]); } Ifc4x3_rc4::IfcLShapeProfileDef::IfcLShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(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(storage_t(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); }; populate_derived(); } // Function implementations for IfcLaborResource -boost::optional< ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value > Ifc4x3_rc4::IfcLaborResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value > Ifc4x3_rc4::IfcLaborResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc4::IfcLaborResource::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc4::IfcLaborResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[577]); } const IfcParse::entity& Ifc4x3_rc4::IfcLaborResource::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[577]); } Ifc4x3_rc4::IfcLaborResource::IfcLaborResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLaborResourceType -::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value Ifc4x3_rc4::IfcLaborResourceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value Ifc4x3_rc4::IfcLaborResourceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc4::IfcLaborResourceType::setPredefinedType(::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc4::IfcLaborResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[578]); } const IfcParse::entity& Ifc4x3_rc4::IfcLaborResourceType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[578]); } Ifc4x3_rc4::IfcLaborResourceType::IfcLaborResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_rc4::IfcLaborResourceType::IfcLaborResourceType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc4::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcLagTime -::Ifc4x3_rc4::IfcTimeOrRatioSelect* Ifc4x3_rc4::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcTimeOrRatioSelect>(true); } +::Ifc4x3_rc4::IfcTimeOrRatioSelect* Ifc4x3_rc4::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcTimeOrRatioSelect>(true); } void Ifc4x3_rc4::IfcLagTime::setLagValue(::Ifc4x3_rc4::IfcTimeOrRatioSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc4::IfcTaskDurationEnum::Value Ifc4x3_rc4::IfcLagTime::DurationType() const { return ::Ifc4x3_rc4::IfcTaskDurationEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x3_rc4::IfcTaskDurationEnum::Value Ifc4x3_rc4::IfcLagTime::DurationType() const { return ::Ifc4x3_rc4::IfcTaskDurationEnum::FromString(get_attribute_value(4)); } void Ifc4x3_rc4::IfcLagTime::setDurationType(::Ifc4x3_rc4::IfcTaskDurationEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3_rc4::IfcTaskDurationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc4::IfcLagTime::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[580]); } const IfcParse::entity& Ifc4x3_rc4::IfcLagTime::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[580]); } Ifc4x3_rc4::IfcLagTime::IfcLagTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -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(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_LagValue ? v4_LagValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc4::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType)));; populate_derived(); } +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(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_LagValue ? v4_LagValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc4::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType)));; populate_derived(); } // Function implementations for IfcLamp -boost::optional< ::Ifc4x3_rc4::IfcLampTypeEnum::Value > Ifc4x3_rc4::IfcLamp::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcLampTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcLampTypeEnum::Value > Ifc4x3_rc4::IfcLamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcLampTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcLamp::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcLampTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcLampTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcLamp::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[581]); } const IfcParse::entity& Ifc4x3_rc4::IfcLamp::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[581]); } Ifc4x3_rc4::IfcLamp::IfcLamp(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLampType -::Ifc4x3_rc4::IfcLampTypeEnum::Value Ifc4x3_rc4::IfcLampType::PredefinedType() const { return ::Ifc4x3_rc4::IfcLampTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcLampTypeEnum::Value Ifc4x3_rc4::IfcLampType::PredefinedType() const { return ::Ifc4x3_rc4::IfcLampTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcLampType::setPredefinedType(::Ifc4x3_rc4::IfcLampTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcLampTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcLampType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[582]); } const IfcParse::entity& Ifc4x3_rc4::IfcLampType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[582]); } Ifc4x3_rc4::IfcLampType::IfcLampType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLibraryInformation -std::string Ifc4x3_rc4::IfcLibraryInformation::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc4::IfcLibraryInformation::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcLibraryInformation::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc4::IfcLibraryInformation::Version() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcLibraryInformation::Version() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcLibraryInformation::Publisher() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcActorSelect>(true); } +::Ifc4x3_rc4::IfcActorSelect* Ifc4x3_rc4::IfcLibraryInformation::Publisher() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcActorSelect>(true); } void Ifc4x3_rc4::IfcLibraryInformation::setPublisher(::Ifc4x3_rc4::IfcActorSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x3_rc4::IfcLibraryInformation::VersionDate() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcLibraryInformation::VersionDate() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcLibraryInformation::setVersionDate(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc4::IfcLibraryInformation::Location() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcLibraryInformation::Location() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcLibraryInformation::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc4::IfcLibraryInformation::Description() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcLibraryInformation::Description() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcLibraryInformation::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x3_rc4::IfcRelAssociatesLibrary::list::ptr Ifc4x3_rc4::IfcLibraryInformation::LibraryInfoForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[918], 5)->as(); } @@ -12121,14 +12121,14 @@ void Ifc4x3_rc4::IfcLibraryInformation::setDescription(boost::optional< std::str const IfcParse::entity& Ifc4x3_rc4::IfcLibraryInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[588]); } const IfcParse::entity& Ifc4x3_rc4::IfcLibraryInformation::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[588]); } Ifc4x3_rc4::IfcLibraryInformation::IfcLibraryInformation(IfcEntityInstanceData&& e) : IfcExternalInformation(std::move(e)) { } -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(storage_t(6))) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, v3_Publisher ? v3_Publisher->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); }; populate_derived(); } +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(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, v3_Publisher ? v3_Publisher->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); }; populate_derived(); } // Function implementations for IfcLibraryReference -boost::optional< std::string > Ifc4x3_rc4::IfcLibraryReference::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcLibraryReference::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcLibraryReference::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc4::IfcLibraryReference::Language() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcLibraryReference::Language() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcLibraryReference::setLanguage(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc4::IfcLibraryInformation* Ifc4x3_rc4::IfcLibraryReference::ReferencedLibrary() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcLibraryInformation>(true); } +::Ifc4x3_rc4::IfcLibraryInformation* Ifc4x3_rc4::IfcLibraryReference::ReferencedLibrary() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcLibraryInformation>(true); } void Ifc4x3_rc4::IfcLibraryReference::setReferencedLibrary(::Ifc4x3_rc4::IfcLibraryInformation* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc4x3_rc4::IfcRelAssociatesLibrary::list::ptr Ifc4x3_rc4::IfcLibraryReference::LibraryRefForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[918], 5)->as(); } @@ -12136,69 +12136,69 @@ void Ifc4x3_rc4::IfcLibraryReference::setReferencedLibrary(::Ifc4x3_rc4::IfcLibr const IfcParse::entity& Ifc4x3_rc4::IfcLibraryReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[589]); } const IfcParse::entity& Ifc4x3_rc4::IfcLibraryReference::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[589]); } Ifc4x3_rc4::IfcLibraryReference::IfcLibraryReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(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(storage_t(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, v6_ReferencedLibrary ? v6_ReferencedLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, v6_ReferencedLibrary ? v6_ReferencedLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLightDistributionData -double Ifc4x3_rc4::IfcLightDistributionData::MainPlaneAngle() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_rc4::IfcLightDistributionData::MainPlaneAngle() const { double v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcLightDistributionData::setMainPlaneAngle(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< double > /*[1:?]*/ Ifc4x3_rc4::IfcLightDistributionData::SecondaryPlaneAngle() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +std::vector< double > /*[1:?]*/ Ifc4x3_rc4::IfcLightDistributionData::SecondaryPlaneAngle() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcLightDistributionData::setSecondaryPlaneAngle(std::vector< double > /*[1:?]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector< double > /*[1:?]*/ Ifc4x3_rc4::IfcLightDistributionData::LuminousIntensity() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(2); return v; } +std::vector< double > /*[1:?]*/ Ifc4x3_rc4::IfcLightDistributionData::LuminousIntensity() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcLightDistributionData::setLuminousIntensity(std::vector< double > /*[1:?]*/ v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcLightDistributionData::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[592]); } const IfcParse::entity& Ifc4x3_rc4::IfcLightDistributionData::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[592]); } Ifc4x3_rc4::IfcLightDistributionData::IfcLightDistributionData(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcLightDistributionData::IfcLightDistributionData(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; populate_derived(); } +Ifc4x3_rc4::IfcLightDistributionData::IfcLightDistributionData(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; populate_derived(); } // Function implementations for IfcLightFixture -boost::optional< ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value > Ifc4x3_rc4::IfcLightFixture::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value > Ifc4x3_rc4::IfcLightFixture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcLightFixture::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcLightFixture::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[595]); } const IfcParse::entity& Ifc4x3_rc4::IfcLightFixture::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[595]); } Ifc4x3_rc4::IfcLightFixture::IfcLightFixture(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLightFixtureType -::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value Ifc4x3_rc4::IfcLightFixtureType::PredefinedType() const { return ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value Ifc4x3_rc4::IfcLightFixtureType::PredefinedType() const { return ::Ifc4x3_rc4::IfcLightFixtureTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcLightFixtureType::setPredefinedType(::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcLightFixtureType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[596]); } const IfcParse::entity& Ifc4x3_rc4::IfcLightFixtureType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[596]); } Ifc4x3_rc4::IfcLightFixtureType::IfcLightFixtureType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLightIntensityDistribution -::Ifc4x3_rc4::IfcLightDistributionCurveEnum::Value Ifc4x3_rc4::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4x3_rc4::IfcLightDistributionCurveEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_rc4::IfcLightDistributionCurveEnum::Value Ifc4x3_rc4::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4x3_rc4::IfcLightDistributionCurveEnum::FromString(get_attribute_value(0)); } void Ifc4x3_rc4::IfcLightIntensityDistribution::setLightDistributionCurve(::Ifc4x3_rc4::IfcLightDistributionCurveEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_rc4::IfcLightDistributionCurveEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc4::IfcLightDistributionData >::ptr Ifc4x3_rc4::IfcLightIntensityDistribution::DistributionData() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcLightDistributionData >(); } +aggregate_of< ::Ifc4x3_rc4::IfcLightDistributionData >::ptr Ifc4x3_rc4::IfcLightIntensityDistribution::DistributionData() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcLightDistributionData >(); } void Ifc4x3_rc4::IfcLightIntensityDistribution::setDistributionData(aggregate_of< ::Ifc4x3_rc4::IfcLightDistributionData >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcLightIntensityDistribution::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[598]); } const IfcParse::entity& Ifc4x3_rc4::IfcLightIntensityDistribution::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[598]); } Ifc4x3_rc4::IfcLightIntensityDistribution::IfcLightIntensityDistribution(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4x3_rc4::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, aggregate_of< ::Ifc4x3_rc4::IfcLightDistributionData >::ptr v2_DistributionData) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, (v2_DistributionData)->generalize());; populate_derived(); } +Ifc4x3_rc4::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4x3_rc4::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, aggregate_of< ::Ifc4x3_rc4::IfcLightDistributionData >::ptr v2_DistributionData) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, (v2_DistributionData)->generalize());; populate_derived(); } // Function implementations for IfcLightSource -boost::optional< std::string > Ifc4x3_rc4::IfcLightSource::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcLightSource::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcLightSource::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcColourRgb>(true); } +::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcColourRgb>(true); } void Ifc4x3_rc4::IfcLightSource::setLightColour(::Ifc4x3_rc4::IfcColourRgb* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_rc4::IfcLightSource::AmbientIntensity() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc4::IfcLightSource::AmbientIntensity() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc4::IfcLightSource::Intensity() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc4::IfcLightSource::Intensity() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcLightSource::setIntensity(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc4::IfcLightSource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[599]); } const IfcParse::entity& Ifc4x3_rc4::IfcLightSource::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[599]); } Ifc4x3_rc4::IfcLightSource::IfcLightSource(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } +Ifc4x3_rc4::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } // Function implementations for IfcLightSourceAmbient @@ -12206,83 +12206,83 @@ Ifc4x3_rc4::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Nam const IfcParse::entity& Ifc4x3_rc4::IfcLightSourceAmbient::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[600]); } const IfcParse::entity& Ifc4x3_rc4::IfcLightSourceAmbient::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[600]); } Ifc4x3_rc4::IfcLightSourceAmbient::IfcLightSourceAmbient(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } +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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } // Function implementations for IfcLightSourceDirectional -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcDirection>(true); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcLightSourceDirectional::setOrientation(::Ifc4x3_rc4::IfcDirection* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc4::IfcLightSourceDirectional::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[601]); } const IfcParse::entity& Ifc4x3_rc4::IfcLightSourceDirectional::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[601]); } Ifc4x3_rc4::IfcLightSourceDirectional::IfcLightSourceDirectional(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -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(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Orientation ? v5_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Orientation ? v5_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLightSourceGoniometric -::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(true); } void Ifc4x3_rc4::IfcLightSourceGoniometric::setPosition(::Ifc4x3_rc4::IfcAxis2Placement3D* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcLightSourceGoniometric::ColourAppearance() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcColourRgb>(true); } +::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcLightSourceGoniometric::ColourAppearance() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcColourRgb>(true); } void Ifc4x3_rc4::IfcLightSourceGoniometric::setColourAppearance(::Ifc4x3_rc4::IfcColourRgb* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc4::IfcLightSourceGoniometric::ColourTemperature() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc4::IfcLightSourceGoniometric::ColourTemperature() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcLightSourceGoniometric::setColourTemperature(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -double Ifc4x3_rc4::IfcLightSourceGoniometric::LuminousFlux() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x3_rc4::IfcLightSourceGoniometric::LuminousFlux() const { double v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcLightSourceGoniometric::setLuminousFlux(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc4::IfcLightEmissionSourceEnum::Value Ifc4x3_rc4::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4x3_rc4::IfcLightEmissionSourceEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc4::IfcLightEmissionSourceEnum::Value Ifc4x3_rc4::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4x3_rc4::IfcLightEmissionSourceEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcLightSourceGoniometric::setLightEmissionSource(::Ifc4x3_rc4::IfcLightEmissionSourceEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcLightEmissionSourceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc4::IfcLightDistributionDataSourceSelect* Ifc4x3_rc4::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc4::IfcLightDistributionDataSourceSelect>(true); } +::Ifc4x3_rc4::IfcLightDistributionDataSourceSelect* Ifc4x3_rc4::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc4::IfcLightDistributionDataSourceSelect>(true); } void Ifc4x3_rc4::IfcLightSourceGoniometric::setLightDistributionDataSource(::Ifc4x3_rc4::IfcLightDistributionDataSourceSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcLightSourceGoniometric::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[602]); } const IfcParse::entity& Ifc4x3_rc4::IfcLightSourceGoniometric::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[602]); } Ifc4x3_rc4::IfcLightSourceGoniometric::IfcLightSourceGoniometric(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -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(storage_t(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ColourAppearance ? v6_ColourAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, v10_LightDistributionDataSource ? v10_LightDistributionDataSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ColourAppearance ? v6_ColourAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, v10_LightDistributionDataSource ? v10_LightDistributionDataSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLightSourcePositional -::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcCartesianPoint>(true); } +::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcCartesianPoint>(true); } void Ifc4x3_rc4::IfcLightSourcePositional::setPosition(::Ifc4x3_rc4::IfcCartesianPoint* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc4::IfcLightSourcePositional::Radius() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc4::IfcLightSourcePositional::Radius() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcLightSourcePositional::setRadius(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc4::IfcLightSourcePositional::ConstantAttenuation() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc4::IfcLightSourcePositional::ConstantAttenuation() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcLightSourcePositional::setConstantAttenuation(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -double Ifc4x3_rc4::IfcLightSourcePositional::DistanceAttenuation() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x3_rc4::IfcLightSourcePositional::DistanceAttenuation() const { double v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcLightSourcePositional::setDistanceAttenuation(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -double Ifc4x3_rc4::IfcLightSourcePositional::QuadricAttenuation() const { double v = data_.get_attribute_value(8); return v; } +double Ifc4x3_rc4::IfcLightSourcePositional::QuadricAttenuation() const { double v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcLightSourcePositional::setQuadricAttenuation(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc4::IfcLightSourcePositional::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[603]); } const IfcParse::entity& Ifc4x3_rc4::IfcLightSourcePositional::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[603]); } Ifc4x3_rc4::IfcLightSourcePositional::IfcLightSourcePositional(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -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(storage_t(9))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; populate_derived(); } +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(in_memory_attribute_storage(9))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; populate_derived(); } // Function implementations for IfcLightSourceSpot -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc4::IfcDirection>(true); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcLightSourceSpot::setOrientation(::Ifc4x3_rc4::IfcDirection* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3_rc4::IfcLightSourceSpot::ConcentrationExponent() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc4::IfcLightSourceSpot::ConcentrationExponent() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -double Ifc4x3_rc4::IfcLightSourceSpot::SpreadAngle() const { double v = data_.get_attribute_value(11); return v; } +double Ifc4x3_rc4::IfcLightSourceSpot::SpreadAngle() const { double v = get_attribute_value(11); return v; } void Ifc4x3_rc4::IfcLightSourceSpot::setSpreadAngle(double v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } -double Ifc4x3_rc4::IfcLightSourceSpot::BeamWidthAngle() const { double v = data_.get_attribute_value(12); return v; } +double Ifc4x3_rc4::IfcLightSourceSpot::BeamWidthAngle() const { double v = get_attribute_value(12); return v; } void Ifc4x3_rc4::IfcLightSourceSpot::setBeamWidthAngle(double v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } const IfcParse::entity& Ifc4x3_rc4::IfcLightSourceSpot::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[604]); } const IfcParse::entity& Ifc4x3_rc4::IfcLightSourceSpot::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[604]); } Ifc4x3_rc4::IfcLightSourceSpot::IfcLightSourceSpot(IfcEntityInstanceData&& e) : IfcLightSourcePositional(std::move(e)) { } -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(storage_t(13))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, v10_Orientation ? v10_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; populate_derived(); } +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(in_memory_attribute_storage(13))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, v10_Orientation ? v10_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; populate_derived(); } // Function implementations for IfcLine -::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCartesianPoint>(true); } +::Ifc4x3_rc4::IfcCartesianPoint* Ifc4x3_rc4::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCartesianPoint>(true); } void Ifc4x3_rc4::IfcLine::setPnt(::Ifc4x3_rc4::IfcCartesianPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcVector* Ifc4x3_rc4::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcVector>(true); } +::Ifc4x3_rc4::IfcVector* Ifc4x3_rc4::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcVector>(true); } void Ifc4x3_rc4::IfcLine::setDir(::Ifc4x3_rc4::IfcVector* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcLine::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[605]); } const IfcParse::entity& Ifc4x3_rc4::IfcLine::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[605]); } Ifc4x3_rc4::IfcLine::IfcLine(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_rc4::IfcLine::IfcLine(::Ifc4x3_rc4::IfcCartesianPoint* v1_Pnt, ::Ifc4x3_rc4::IfcVector* v2_Dir) : IfcCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Pnt ? v1_Pnt->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Dir ? v2_Dir->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcLine::IfcLine(::Ifc4x3_rc4::IfcCartesianPoint* v1_Pnt, ::Ifc4x3_rc4::IfcVector* v2_Dir) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Pnt ? v1_Pnt->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Dir ? v2_Dir->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLinearElement @@ -12290,19 +12290,19 @@ Ifc4x3_rc4::IfcLine::IfcLine(::Ifc4x3_rc4::IfcCartesianPoint* v1_Pnt, ::Ifc4x3_r const IfcParse::entity& Ifc4x3_rc4::IfcLinearElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[606]); } const IfcParse::entity& Ifc4x3_rc4::IfcLinearElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[606]); } Ifc4x3_rc4::IfcLinearElement::IfcLinearElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -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(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLinearPlacement -::Ifc4x3_rc4::IfcAxis2PlacementLinear* Ifc4x3_rc4::IfcLinearPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcAxis2PlacementLinear>(true); } +::Ifc4x3_rc4::IfcAxis2PlacementLinear* Ifc4x3_rc4::IfcLinearPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcAxis2PlacementLinear>(true); } void Ifc4x3_rc4::IfcLinearPlacement::setRelativePlacement(::Ifc4x3_rc4::IfcAxis2PlacementLinear* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcLinearPlacement::CartesianPosition() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcLinearPlacement::CartesianPosition() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(true); } void Ifc4x3_rc4::IfcLinearPlacement::setCartesianPosition(::Ifc4x3_rc4::IfcAxis2Placement3D* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcLinearPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[609]); } const IfcParse::entity& Ifc4x3_rc4::IfcLinearPlacement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[609]); } Ifc4x3_rc4::IfcLinearPlacement::IfcLinearPlacement(IfcEntityInstanceData&& e) : IfcObjectPlacement(std::move(e)) { } -Ifc4x3_rc4::IfcLinearPlacement::IfcLinearPlacement(::Ifc4x3_rc4::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc4::IfcAxis2PlacementLinear* v2_RelativePlacement, ::Ifc4x3_rc4::IfcAxis2Placement3D* v3_CartesianPosition) : IfcObjectPlacement(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CartesianPosition ? v3_CartesianPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcLinearPlacement::IfcLinearPlacement(::Ifc4x3_rc4::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc4::IfcAxis2PlacementLinear* v2_RelativePlacement, ::Ifc4x3_rc4::IfcAxis2Placement3D* v3_CartesianPosition) : IfcObjectPlacement(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CartesianPosition ? v3_CartesianPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLinearPositioningElement @@ -12310,37 +12310,37 @@ Ifc4x3_rc4::IfcLinearPlacement::IfcLinearPlacement(::Ifc4x3_rc4::IfcObjectPlacem const IfcParse::entity& Ifc4x3_rc4::IfcLinearPositioningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[610]); } const IfcParse::entity& Ifc4x3_rc4::IfcLinearPositioningElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[610]); } Ifc4x3_rc4::IfcLinearPositioningElement::IfcLinearPositioningElement(IfcEntityInstanceData&& e) : IfcPositioningElement(std::move(e)) { } -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(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLiquidTerminal -boost::optional< ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value > Ifc4x3_rc4::IfcLiquidTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value > Ifc4x3_rc4::IfcLiquidTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcLiquidTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcLiquidTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[614]); } const IfcParse::entity& Ifc4x3_rc4::IfcLiquidTerminal::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[614]); } Ifc4x3_rc4::IfcLiquidTerminal::IfcLiquidTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLiquidTerminalType -::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value Ifc4x3_rc4::IfcLiquidTerminalType::PredefinedType() const { return ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value Ifc4x3_rc4::IfcLiquidTerminalType::PredefinedType() const { return ::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcLiquidTerminalType::setPredefinedType(::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcLiquidTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[615]); } const IfcParse::entity& Ifc4x3_rc4::IfcLiquidTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[615]); } Ifc4x3_rc4::IfcLiquidTerminalType::IfcLiquidTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcLiquidTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLocalPlacement -::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcAxis2Placement>(true); } +::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcAxis2Placement>(true); } void Ifc4x3_rc4::IfcLocalPlacement::setRelativePlacement(::Ifc4x3_rc4::IfcAxis2Placement* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcLocalPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[618]); } const IfcParse::entity& Ifc4x3_rc4::IfcLocalPlacement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[618]); } Ifc4x3_rc4::IfcLocalPlacement::IfcLocalPlacement(IfcEntityInstanceData&& e) : IfcObjectPlacement(std::move(e)) { } -Ifc4x3_rc4::IfcLocalPlacement::IfcLocalPlacement(::Ifc4x3_rc4::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc4::IfcAxis2Placement* v2_RelativePlacement) : IfcObjectPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcLocalPlacement::IfcLocalPlacement(::Ifc4x3_rc4::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_rc4::IfcAxis2Placement* v2_RelativePlacement) : IfcObjectPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLoop @@ -12348,70 +12348,70 @@ Ifc4x3_rc4::IfcLocalPlacement::IfcLocalPlacement(::Ifc4x3_rc4::IfcObjectPlacemen const IfcParse::entity& Ifc4x3_rc4::IfcLoop::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[621]); } const IfcParse::entity& Ifc4x3_rc4::IfcLoop::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[621]); } Ifc4x3_rc4::IfcLoop::IfcLoop(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc4::IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcManifoldSolidBrep -::Ifc4x3_rc4::IfcClosedShell* Ifc4x3_rc4::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcClosedShell>(true); } +::Ifc4x3_rc4::IfcClosedShell* Ifc4x3_rc4::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcClosedShell>(true); } void Ifc4x3_rc4::IfcManifoldSolidBrep::setOuter(::Ifc4x3_rc4::IfcClosedShell* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc4::IfcManifoldSolidBrep::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[628]); } const IfcParse::entity& Ifc4x3_rc4::IfcManifoldSolidBrep::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[628]); } Ifc4x3_rc4::IfcManifoldSolidBrep::IfcManifoldSolidBrep(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3_rc4::IfcManifoldSolidBrep::IfcManifoldSolidBrep(::Ifc4x3_rc4::IfcClosedShell* v1_Outer) : IfcSolidModel(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcManifoldSolidBrep::IfcManifoldSolidBrep(::Ifc4x3_rc4::IfcClosedShell* v1_Outer) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMapConversion -double Ifc4x3_rc4::IfcMapConversion::Eastings() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc4::IfcMapConversion::Eastings() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcMapConversion::setEastings(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc4::IfcMapConversion::Northings() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc4::IfcMapConversion::Northings() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcMapConversion::setNorthings(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc4::IfcMapConversion::OrthogonalHeight() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc4::IfcMapConversion::OrthogonalHeight() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcMapConversion::setOrthogonalHeight(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< double > Ifc4x3_rc4::IfcMapConversion::XAxisAbscissa() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc4::IfcMapConversion::XAxisAbscissa() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcMapConversion::setXAxisAbscissa(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_rc4::IfcMapConversion::XAxisOrdinate() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc4::IfcMapConversion::XAxisOrdinate() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcMapConversion::setXAxisOrdinate(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_rc4::IfcMapConversion::Scale() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc4::IfcMapConversion::Scale() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcMapConversion::setScale(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc4::IfcMapConversion::ScaleY() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc4::IfcMapConversion::ScaleY() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcMapConversion::setScaleY(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_rc4::IfcMapConversion::ScaleZ() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc4::IfcMapConversion::ScaleZ() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc4::IfcMapConversion::setScaleZ(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc4::IfcMapConversion::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[629]); } const IfcParse::entity& Ifc4x3_rc4::IfcMapConversion::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[629]); } Ifc4x3_rc4::IfcMapConversion::IfcMapConversion(IfcEntityInstanceData&& e) : IfcCoordinateOperation(std::move(e)) { } -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(storage_t(10))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); } if (v9_ScaleY) {set_attribute_value(8, (*v9_ScaleY)); } if (v10_ScaleZ) {set_attribute_value(9, (*v10_ScaleZ)); }; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); } if (v9_ScaleY) {set_attribute_value(8, (*v9_ScaleY)); } if (v10_ScaleZ) {set_attribute_value(9, (*v10_ScaleZ)); }; populate_derived(); } // Function implementations for IfcMappedItem -::Ifc4x3_rc4::IfcRepresentationMap* Ifc4x3_rc4::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcRepresentationMap>(true); } +::Ifc4x3_rc4::IfcRepresentationMap* Ifc4x3_rc4::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcRepresentationMap>(true); } void Ifc4x3_rc4::IfcMappedItem::setMappingSource(::Ifc4x3_rc4::IfcRepresentationMap* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcCartesianTransformationOperator* Ifc4x3_rc4::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcCartesianTransformationOperator>(true); } +::Ifc4x3_rc4::IfcCartesianTransformationOperator* Ifc4x3_rc4::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcCartesianTransformationOperator>(true); } void Ifc4x3_rc4::IfcMappedItem::setMappingTarget(::Ifc4x3_rc4::IfcCartesianTransformationOperator* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcMappedItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[630]); } const IfcParse::entity& Ifc4x3_rc4::IfcMappedItem::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[630]); } Ifc4x3_rc4::IfcMappedItem::IfcMappedItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcMappedItem::IfcMappedItem(::Ifc4x3_rc4::IfcRepresentationMap* v1_MappingSource, ::Ifc4x3_rc4::IfcCartesianTransformationOperator* v2_MappingTarget) : IfcRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_MappingSource ? v1_MappingSource->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappingTarget ? v2_MappingTarget->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcMappedItem::IfcMappedItem(::Ifc4x3_rc4::IfcRepresentationMap* v1_MappingSource, ::Ifc4x3_rc4::IfcCartesianTransformationOperator* v2_MappingTarget) : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_MappingSource ? v1_MappingSource->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappingTarget ? v2_MappingTarget->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMarineFacility -boost::optional< ::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::Value > Ifc4x3_rc4::IfcMarineFacility::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::Value > Ifc4x3_rc4::IfcMarineFacility::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcMarineFacility::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc4::IfcMarineFacility::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[631]); } const IfcParse::entity& Ifc4x3_rc4::IfcMarineFacility::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[631]); } Ifc4x3_rc4::IfcMarineFacility::IfcMarineFacility(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcMarineFacilityTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMaterial -std::string Ifc4x3_rc4::IfcMaterial::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc4::IfcMaterial::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcMaterial::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc4::IfcMaterial::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcMaterial::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcMaterial::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc4::IfcMaterial::Category() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcMaterial::Category() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcMaterial::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3_rc4::IfcMaterialDefinitionRepresentation::list::ptr Ifc4x3_rc4::IfcMaterial::HasRepresentation() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[643], 3)->as(); } @@ -12421,30 +12421,30 @@ void Ifc4x3_rc4::IfcMaterial::setCategory(boost::optional< std::string > v) { if const IfcParse::entity& Ifc4x3_rc4::IfcMaterial::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[638]); } const IfcParse::entity& Ifc4x3_rc4::IfcMaterial::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[638]); } Ifc4x3_rc4::IfcMaterial::IfcMaterial(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_rc4::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); }; populate_derived(); } +Ifc4x3_rc4::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); }; populate_derived(); } // Function implementations for IfcMaterialClassificationRelationship -aggregate_of< ::Ifc4x3_rc4::IfcClassificationSelect >::ptr Ifc4x3_rc4::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcClassificationSelect >(); } +aggregate_of< ::Ifc4x3_rc4::IfcClassificationSelect >::ptr Ifc4x3_rc4::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcClassificationSelect >(); } void Ifc4x3_rc4::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x3_rc4::IfcClassificationSelect >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcMaterial* Ifc4x3_rc4::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcMaterial>(true); } +::Ifc4x3_rc4::IfcMaterial* Ifc4x3_rc4::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcMaterial>(true); } void Ifc4x3_rc4::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4x3_rc4::IfcMaterial* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialClassificationRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[639]); } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialClassificationRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[639]); } Ifc4x3_rc4::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3_rc4::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_rc4::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_MaterialClassifications)->generalize());set_attribute_value(1, v2_ClassifiedMaterial ? v2_ClassifiedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3_rc4::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_rc4::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_MaterialClassifications)->generalize());set_attribute_value(1, v2_ClassifiedMaterial ? v2_ClassifiedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialConstituent -boost::optional< std::string > Ifc4x3_rc4::IfcMaterialConstituent::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcMaterialConstituent::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcMaterialConstituent::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc4::IfcMaterialConstituent::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcMaterialConstituent::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcMaterialConstituent::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc4::IfcMaterial* Ifc4x3_rc4::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcMaterial>(true); } +::Ifc4x3_rc4::IfcMaterial* Ifc4x3_rc4::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcMaterial>(true); } void Ifc4x3_rc4::IfcMaterialConstituent::setMaterial(::Ifc4x3_rc4::IfcMaterial* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4x3_rc4::IfcMaterialConstituent::Fraction() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc4::IfcMaterialConstituent::Fraction() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcMaterialConstituent::setFraction(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc4::IfcMaterialConstituent::Category() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcMaterialConstituent::Category() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcMaterialConstituent::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } ::Ifc4x3_rc4::IfcMaterialConstituentSet::list::ptr Ifc4x3_rc4::IfcMaterialConstituent::ToMaterialConstituentSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[641], 2)->as(); } @@ -12452,21 +12452,21 @@ void Ifc4x3_rc4::IfcMaterialConstituent::setCategory(boost::optional< std::strin const IfcParse::entity& Ifc4x3_rc4::IfcMaterialConstituent::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[640]); } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialConstituent::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[640]); } Ifc4x3_rc4::IfcMaterialConstituent::IfcMaterialConstituent(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -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(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); }; populate_derived(); } +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(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); }; populate_derived(); } // Function implementations for IfcMaterialConstituentSet -boost::optional< std::string > Ifc4x3_rc4::IfcMaterialConstituentSet::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcMaterialConstituentSet::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcMaterialConstituentSet::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc4::IfcMaterialConstituentSet::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcMaterialConstituentSet::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcMaterialConstituentSet::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcMaterialConstituent >::ptr > Ifc4x3_rc4::IfcMaterialConstituentSet::MaterialConstituents() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcMaterialConstituent >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcMaterialConstituent >::ptr > Ifc4x3_rc4::IfcMaterialConstituentSet::MaterialConstituents() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcMaterialConstituent >(); } void Ifc4x3_rc4::IfcMaterialConstituentSet::setMaterialConstituents(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcMaterialConstituent >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialConstituentSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[641]); } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialConstituentSet::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[641]); } Ifc4x3_rc4::IfcMaterialConstituentSet::IfcMaterialConstituentSet(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -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(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, (*v3_MaterialConstituents)->generalize()); }; populate_derived(); } +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(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, (*v3_MaterialConstituents)->generalize()); }; populate_derived(); } // Function implementations for IfcMaterialDefinition @@ -12477,32 +12477,32 @@ Ifc4x3_rc4::IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional const IfcParse::entity& Ifc4x3_rc4::IfcMaterialDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[642]); } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[642]); } Ifc4x3_rc4::IfcMaterialDefinition::IfcMaterialDefinition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcMaterialDefinition::IfcMaterialDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc4::IfcMaterialDefinition::IfcMaterialDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcMaterialDefinitionRepresentation -::Ifc4x3_rc4::IfcMaterial* Ifc4x3_rc4::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcMaterial>(true); } +::Ifc4x3_rc4::IfcMaterial* Ifc4x3_rc4::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcMaterial>(true); } void Ifc4x3_rc4::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(::Ifc4x3_rc4::IfcMaterial* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialDefinitionRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[643]); } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialDefinitionRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[643]); } Ifc4x3_rc4::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(IfcEntityInstanceData&& e) : IfcProductRepresentation(std::move(e)) { } -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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());set_attribute_value(3, v4_RepresentedMaterial ? v4_RepresentedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());set_attribute_value(3, v4_RepresentedMaterial ? v4_RepresentedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialLayer -::Ifc4x3_rc4::IfcMaterial* Ifc4x3_rc4::IfcMaterialLayer::Material() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcMaterial>(true); } +::Ifc4x3_rc4::IfcMaterial* Ifc4x3_rc4::IfcMaterialLayer::Material() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcMaterial>(true); } void Ifc4x3_rc4::IfcMaterialLayer::setMaterial(::Ifc4x3_rc4::IfcMaterial* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc4::IfcMaterialLayer::LayerThickness() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc4::IfcMaterialLayer::LayerThickness() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcMaterialLayer::setLayerThickness(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< boost::logic::tribool > Ifc4x3_rc4::IfcMaterialLayer::IsVentilated() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::optional< boost::logic::tribool > Ifc4x3_rc4::IfcMaterialLayer::IsVentilated() const { if(get_attribute_value(2).isNull()) { return boost::none; } boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcMaterialLayer::setIsVentilated(boost::optional< boost::logic::tribool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_rc4::IfcMaterialLayer::Name() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcMaterialLayer::Name() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcMaterialLayer::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc4::IfcMaterialLayer::Description() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcMaterialLayer::Description() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcMaterialLayer::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc4::IfcMaterialLayer::Category() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcMaterialLayer::Category() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcMaterialLayer::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< int > Ifc4x3_rc4::IfcMaterialLayer::Priority() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } int v = data_.get_attribute_value(6); return v; } +boost::optional< int > Ifc4x3_rc4::IfcMaterialLayer::Priority() const { if(get_attribute_value(6).isNull()) { return boost::none; } int v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcMaterialLayer::setPriority(boost::optional< int > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_rc4::IfcMaterialLayerSet::list::ptr Ifc4x3_rc4::IfcMaterialLayer::ToMaterialLayerSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[645], 0)->as(); } @@ -12510,74 +12510,74 @@ void Ifc4x3_rc4::IfcMaterialLayer::setPriority(boost::optional< int > v) { if (v const IfcParse::entity& Ifc4x3_rc4::IfcMaterialLayer::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[644]); } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialLayer::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[644]); } Ifc4x3_rc4::IfcMaterialLayer::IfcMaterialLayer(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -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(storage_t(7))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }; populate_derived(); } +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(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }; populate_derived(); } // Function implementations for IfcMaterialLayerSet -aggregate_of< ::Ifc4x3_rc4::IfcMaterialLayer >::ptr Ifc4x3_rc4::IfcMaterialLayerSet::MaterialLayers() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcMaterialLayer >(); } +aggregate_of< ::Ifc4x3_rc4::IfcMaterialLayer >::ptr Ifc4x3_rc4::IfcMaterialLayerSet::MaterialLayers() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcMaterialLayer >(); } void Ifc4x3_rc4::IfcMaterialLayerSet::setMaterialLayers(aggregate_of< ::Ifc4x3_rc4::IfcMaterialLayer >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc4::IfcMaterialLayerSet::LayerSetName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcMaterialLayerSet::LayerSetName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcMaterialLayerSet::setLayerSetName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc4::IfcMaterialLayerSet::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcMaterialLayerSet::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcMaterialLayerSet::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialLayerSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[645]); } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialLayerSet::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[645]); } Ifc4x3_rc4::IfcMaterialLayerSet::IfcMaterialLayerSet(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_rc4::IfcMaterialLayerSet::IfcMaterialLayerSet(aggregate_of< ::Ifc4x3_rc4::IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName, boost::optional< std::string > v3_Description) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_MaterialLayers)->generalize()); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } +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(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_MaterialLayers)->generalize()); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } // Function implementations for IfcMaterialLayerSetUsage -::Ifc4x3_rc4::IfcMaterialLayerSet* Ifc4x3_rc4::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcMaterialLayerSet>(true); } +::Ifc4x3_rc4::IfcMaterialLayerSet* Ifc4x3_rc4::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcMaterialLayerSet>(true); } void Ifc4x3_rc4::IfcMaterialLayerSetUsage::setForLayerSet(::Ifc4x3_rc4::IfcMaterialLayerSet* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Value Ifc4x3_rc4::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4x3_rc4::IfcLayerSetDirectionEnum::FromString(data_.get_attribute_value(1)); } +::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Value Ifc4x3_rc4::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4x3_rc4::IfcLayerSetDirectionEnum::FromString(get_attribute_value(1)); } void Ifc4x3_rc4::IfcMaterialLayerSetUsage::setLayerSetDirection(::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcDirectionSenseEnum::Value Ifc4x3_rc4::IfcMaterialLayerSetUsage::DirectionSense() const { return ::Ifc4x3_rc4::IfcDirectionSenseEnum::FromString(data_.get_attribute_value(2)); } +::Ifc4x3_rc4::IfcDirectionSenseEnum::Value Ifc4x3_rc4::IfcMaterialLayerSetUsage::DirectionSense() const { return ::Ifc4x3_rc4::IfcDirectionSenseEnum::FromString(get_attribute_value(2)); } void Ifc4x3_rc4::IfcMaterialLayerSetUsage::setDirectionSense(::Ifc4x3_rc4::IfcDirectionSenseEnum::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3_rc4::IfcDirectionSenseEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc4::IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc4::IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcMaterialLayerSetUsage::setOffsetFromReferenceLine(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< double > Ifc4x3_rc4::IfcMaterialLayerSetUsage::ReferenceExtent() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc4::IfcMaterialLayerSetUsage::ReferenceExtent() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcMaterialLayerSetUsage::setReferenceExtent(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialLayerSetUsage::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[646]); } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialLayerSetUsage::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[646]); } Ifc4x3_rc4::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(IfcEntityInstanceData&& e) : IfcMaterialUsageDefinition(std::move(e)) { } -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(storage_t(5))) { set_attribute_value(0, v1_ForLayerSet ? v1_ForLayerSet->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc4::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); }; populate_derived(); } +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(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_ForLayerSet ? v1_ForLayerSet->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc4::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); }; populate_derived(); } // Function implementations for IfcMaterialLayerWithOffsets -::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Value Ifc4x3_rc4::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4x3_rc4::IfcLayerSetDirectionEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Value Ifc4x3_rc4::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4x3_rc4::IfcLayerSetDirectionEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc4::IfcMaterialLayerWithOffsets::setOffsetDirection(::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -std::vector< double > /*[1:2]*/ Ifc4x3_rc4::IfcMaterialLayerWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = data_.get_attribute_value(8); return v; } +std::vector< double > /*[1:2]*/ Ifc4x3_rc4::IfcMaterialLayerWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcMaterialLayerWithOffsets::setOffsetValues(std::vector< double > /*[1:2]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialLayerWithOffsets::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[647]); } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialLayerWithOffsets::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[647]); } Ifc4x3_rc4::IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(IfcEntityInstanceData&& e) : IfcMaterialLayer(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues));; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues));; populate_derived(); } // Function implementations for IfcMaterialList -aggregate_of< ::Ifc4x3_rc4::IfcMaterial >::ptr Ifc4x3_rc4::IfcMaterialList::Materials() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcMaterial >(); } +aggregate_of< ::Ifc4x3_rc4::IfcMaterial >::ptr Ifc4x3_rc4::IfcMaterialList::Materials() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcMaterial >(); } void Ifc4x3_rc4::IfcMaterialList::setMaterials(aggregate_of< ::Ifc4x3_rc4::IfcMaterial >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialList::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[648]); } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialList::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[648]); } Ifc4x3_rc4::IfcMaterialList::IfcMaterialList(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcMaterialList::IfcMaterialList(aggregate_of< ::Ifc4x3_rc4::IfcMaterial >::ptr v1_Materials) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Materials)->generalize());; populate_derived(); } +Ifc4x3_rc4::IfcMaterialList::IfcMaterialList(aggregate_of< ::Ifc4x3_rc4::IfcMaterial >::ptr v1_Materials) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Materials)->generalize());; populate_derived(); } // Function implementations for IfcMaterialProfile -boost::optional< std::string > Ifc4x3_rc4::IfcMaterialProfile::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcMaterialProfile::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcMaterialProfile::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc4::IfcMaterialProfile::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcMaterialProfile::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcMaterialProfile::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_rc4::IfcMaterial* Ifc4x3_rc4::IfcMaterialProfile::Material() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcMaterial>(true); } +::Ifc4x3_rc4::IfcMaterial* Ifc4x3_rc4::IfcMaterialProfile::Material() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcMaterial>(true); } void Ifc4x3_rc4::IfcMaterialProfile::setMaterial(::Ifc4x3_rc4::IfcMaterial* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcProfileDef>(true); } +::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcProfileDef>(true); } void Ifc4x3_rc4::IfcMaterialProfile::setProfile(::Ifc4x3_rc4::IfcProfileDef* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< int > Ifc4x3_rc4::IfcMaterialProfile::Priority() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x3_rc4::IfcMaterialProfile::Priority() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcMaterialProfile::setPriority(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc4::IfcMaterialProfile::Category() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcMaterialProfile::Category() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcMaterialProfile::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x3_rc4::IfcMaterialProfileSet::list::ptr Ifc4x3_rc4::IfcMaterialProfile::ToMaterialProfileSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[650], 2)->as(); } @@ -12585,83 +12585,83 @@ void Ifc4x3_rc4::IfcMaterialProfile::setCategory(boost::optional< std::string > const IfcParse::entity& Ifc4x3_rc4::IfcMaterialProfile::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[649]); } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialProfile::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[649]); } Ifc4x3_rc4::IfcMaterialProfile::IfcMaterialProfile(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -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(storage_t(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }; populate_derived(); } +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(in_memory_attribute_storage(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }; populate_derived(); } // Function implementations for IfcMaterialProfileSet -boost::optional< std::string > Ifc4x3_rc4::IfcMaterialProfileSet::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcMaterialProfileSet::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcMaterialProfileSet::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc4::IfcMaterialProfileSet::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcMaterialProfileSet::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcMaterialProfileSet::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3_rc4::IfcMaterialProfile >::ptr Ifc4x3_rc4::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcMaterialProfile >(); } +aggregate_of< ::Ifc4x3_rc4::IfcMaterialProfile >::ptr Ifc4x3_rc4::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcMaterialProfile >(); } void Ifc4x3_rc4::IfcMaterialProfileSet::setMaterialProfiles(aggregate_of< ::Ifc4x3_rc4::IfcMaterialProfile >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcCompositeProfileDef* Ifc4x3_rc4::IfcMaterialProfileSet::CompositeProfile() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcCompositeProfileDef>(true); } +::Ifc4x3_rc4::IfcCompositeProfileDef* Ifc4x3_rc4::IfcMaterialProfileSet::CompositeProfile() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcCompositeProfileDef>(true); } void Ifc4x3_rc4::IfcMaterialProfileSet::setCompositeProfile(::Ifc4x3_rc4::IfcCompositeProfileDef* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialProfileSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[650]); } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialProfileSet::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[650]); } Ifc4x3_rc4::IfcMaterialProfileSet::IfcMaterialProfileSet(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_MaterialProfiles)->generalize());set_attribute_value(3, v4_CompositeProfile ? v4_CompositeProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_MaterialProfiles)->generalize());set_attribute_value(3, v4_CompositeProfile ? v4_CompositeProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialProfileSetUsage -::Ifc4x3_rc4::IfcMaterialProfileSet* Ifc4x3_rc4::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcMaterialProfileSet>(true); } +::Ifc4x3_rc4::IfcMaterialProfileSet* Ifc4x3_rc4::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcMaterialProfileSet>(true); } void Ifc4x3_rc4::IfcMaterialProfileSetUsage::setForProfileSet(::Ifc4x3_rc4::IfcMaterialProfileSet* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< int > Ifc4x3_rc4::IfcMaterialProfileSetUsage::CardinalPoint() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } int v = data_.get_attribute_value(1); return v; } +boost::optional< int > Ifc4x3_rc4::IfcMaterialProfileSetUsage::CardinalPoint() const { if(get_attribute_value(1).isNull()) { return boost::none; } int v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcMaterialProfileSetUsage::setCardinalPoint(boost::optional< int > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc4::IfcMaterialProfileSetUsage::ReferenceExtent() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc4::IfcMaterialProfileSetUsage::ReferenceExtent() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcMaterialProfileSetUsage::setReferenceExtent(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialProfileSetUsage::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[651]); } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialProfileSetUsage::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[651]); } Ifc4x3_rc4::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(IfcEntityInstanceData&& e) : IfcMaterialUsageDefinition(std::move(e)) { } -Ifc4x3_rc4::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4x3_rc4::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }; populate_derived(); } +Ifc4x3_rc4::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4x3_rc4::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }; populate_derived(); } // Function implementations for IfcMaterialProfileSetUsageTapering -::Ifc4x3_rc4::IfcMaterialProfileSet* Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcMaterialProfileSet>(true); } +::Ifc4x3_rc4::IfcMaterialProfileSet* Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcMaterialProfileSet>(true); } void Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::setForProfileEndSet(::Ifc4x3_rc4::IfcMaterialProfileSet* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< int > Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[652]); } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[652]); } Ifc4x3_rc4::IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(IfcEntityInstanceData&& e) : IfcMaterialProfileSetUsage(std::move(e)) { } -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(storage_t(5))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, v4_ForProfileEndSet ? v4_ForProfileEndSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); }; populate_derived(); } +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(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, v4_ForProfileEndSet ? v4_ForProfileEndSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); }; populate_derived(); } // Function implementations for IfcMaterialProfileWithOffsets -std::vector< double > /*[1:2]*/ Ifc4x3_rc4::IfcMaterialProfileWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = data_.get_attribute_value(6); return v; } +std::vector< double > /*[1:2]*/ Ifc4x3_rc4::IfcMaterialProfileWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcMaterialProfileWithOffsets::setOffsetValues(std::vector< double > /*[1:2]*/ v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialProfileWithOffsets::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[653]); } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialProfileWithOffsets::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[653]); } Ifc4x3_rc4::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(IfcEntityInstanceData&& e) : IfcMaterialProfile(std::move(e)) { } -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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues));; populate_derived(); } +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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues));; populate_derived(); } // Function implementations for IfcMaterialProperties -::Ifc4x3_rc4::IfcMaterialDefinition* Ifc4x3_rc4::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcMaterialDefinition>(true); } +::Ifc4x3_rc4::IfcMaterialDefinition* Ifc4x3_rc4::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcMaterialDefinition>(true); } void Ifc4x3_rc4::IfcMaterialProperties::setMaterial(::Ifc4x3_rc4::IfcMaterialDefinition* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[654]); } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[654]); } Ifc4x3_rc4::IfcMaterialProperties::IfcMaterialProperties(IfcEntityInstanceData&& e) : IfcExtendedProperties(std::move(e)) { } -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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_Material ? v4_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_Material ? v4_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialRelationship -::Ifc4x3_rc4::IfcMaterial* Ifc4x3_rc4::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcMaterial>(true); } +::Ifc4x3_rc4::IfcMaterial* Ifc4x3_rc4::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcMaterial>(true); } void Ifc4x3_rc4::IfcMaterialRelationship::setRelatingMaterial(::Ifc4x3_rc4::IfcMaterial* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_rc4::IfcMaterial >::ptr Ifc4x3_rc4::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc4::IfcMaterial >(); } +aggregate_of< ::Ifc4x3_rc4::IfcMaterial >::ptr Ifc4x3_rc4::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc4::IfcMaterial >(); } void Ifc4x3_rc4::IfcMaterialRelationship::setRelatedMaterials(aggregate_of< ::Ifc4x3_rc4::IfcMaterial >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc4::IfcMaterialRelationship::Expression() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcMaterialRelationship::Expression() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcMaterialRelationship::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[655]); } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[655]); } Ifc4x3_rc4::IfcMaterialRelationship::IfcMaterialRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -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(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMaterial ? v3_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedMaterials)->generalize()); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } +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(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMaterial ? v3_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedMaterials)->generalize()); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } // Function implementations for IfcMaterialUsageDefinition @@ -12670,77 +12670,77 @@ Ifc4x3_rc4::IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< st const IfcParse::entity& Ifc4x3_rc4::IfcMaterialUsageDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[657]); } const IfcParse::entity& Ifc4x3_rc4::IfcMaterialUsageDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[657]); } Ifc4x3_rc4::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc4::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcMeasureWithUnit -::Ifc4x3_rc4::IfcValue* Ifc4x3_rc4::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcValue>(true); } +::Ifc4x3_rc4::IfcValue* Ifc4x3_rc4::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcValue>(true); } void Ifc4x3_rc4::IfcMeasureWithUnit::setValueComponent(::Ifc4x3_rc4::IfcValue* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcUnit>(true); } +::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcUnit>(true); } void Ifc4x3_rc4::IfcMeasureWithUnit::setUnitComponent(::Ifc4x3_rc4::IfcUnit* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcMeasureWithUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[659]); } const IfcParse::entity& Ifc4x3_rc4::IfcMeasureWithUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[659]); } Ifc4x3_rc4::IfcMeasureWithUnit::IfcMeasureWithUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcMeasureWithUnit::IfcMeasureWithUnit(::Ifc4x3_rc4::IfcValue* v1_ValueComponent, ::Ifc4x3_rc4::IfcUnit* v2_UnitComponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_ValueComponent ? v1_ValueComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_UnitComponent ? v2_UnitComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcMeasureWithUnit::IfcMeasureWithUnit(::Ifc4x3_rc4::IfcValue* v1_ValueComponent, ::Ifc4x3_rc4::IfcUnit* v2_UnitComponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_ValueComponent ? v1_ValueComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_UnitComponent ? v2_UnitComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMechanicalFastener -boost::optional< double > Ifc4x3_rc4::IfcMechanicalFastener::NominalDiameter() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc4::IfcMechanicalFastener::NominalDiameter() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcMechanicalFastener::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_rc4::IfcMechanicalFastener::NominalLength() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc4::IfcMechanicalFastener::NominalLength() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc4::IfcMechanicalFastener::setNominalLength(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value > Ifc4x3_rc4::IfcMechanicalFastener::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value > Ifc4x3_rc4::IfcMechanicalFastener::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc4::IfcMechanicalFastener::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc4::IfcMechanicalFastener::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[660]); } const IfcParse::entity& Ifc4x3_rc4::IfcMechanicalFastener::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[660]); } Ifc4x3_rc4::IfcMechanicalFastener::IfcMechanicalFastener(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -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(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMechanicalFastenerType -::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_rc4::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_rc4::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcMechanicalFastenerType::setPredefinedType(::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3_rc4::IfcMechanicalFastenerType::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc4::IfcMechanicalFastenerType::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcMechanicalFastenerType::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc4::IfcMechanicalFastenerType::NominalLength() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc4::IfcMechanicalFastenerType::NominalLength() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc4::IfcMechanicalFastenerType::setNominalLength(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x3_rc4::IfcMechanicalFastenerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[661]); } const IfcParse::entity& Ifc4x3_rc4::IfcMechanicalFastenerType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[661]); } Ifc4x3_rc4::IfcMechanicalFastenerType::IfcMechanicalFastenerType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); }; populate_derived(); } +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(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); }; populate_derived(); } // Function implementations for IfcMedicalDevice -boost::optional< ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value > Ifc4x3_rc4::IfcMedicalDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value > Ifc4x3_rc4::IfcMedicalDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcMedicalDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcMedicalDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[663]); } const IfcParse::entity& Ifc4x3_rc4::IfcMedicalDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[663]); } Ifc4x3_rc4::IfcMedicalDevice::IfcMedicalDevice(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMedicalDeviceType -::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value Ifc4x3_rc4::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value Ifc4x3_rc4::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcMedicalDeviceType::setPredefinedType(::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcMedicalDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[664]); } const IfcParse::entity& Ifc4x3_rc4::IfcMedicalDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[664]); } Ifc4x3_rc4::IfcMedicalDeviceType::IfcMedicalDeviceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMember -boost::optional< ::Ifc4x3_rc4::IfcMemberTypeEnum::Value > Ifc4x3_rc4::IfcMember::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcMemberTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcMemberTypeEnum::Value > Ifc4x3_rc4::IfcMember::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcMemberTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcMember::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMemberTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcMemberTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcMember::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[666]); } const IfcParse::entity& Ifc4x3_rc4::IfcMember::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[666]); } Ifc4x3_rc4::IfcMember::IfcMember(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc4::IfcMember::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) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc4::IfcMember::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) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMemberStandardCase @@ -12748,33 +12748,33 @@ Ifc4x3_rc4::IfcMember::IfcMember(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwner const IfcParse::entity& Ifc4x3_rc4::IfcMemberStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[667]); } const IfcParse::entity& Ifc4x3_rc4::IfcMemberStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[667]); } Ifc4x3_rc4::IfcMemberStandardCase::IfcMemberStandardCase(IfcEntityInstanceData&& e) : IfcMember(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMemberType -::Ifc4x3_rc4::IfcMemberTypeEnum::Value Ifc4x3_rc4::IfcMemberType::PredefinedType() const { return ::Ifc4x3_rc4::IfcMemberTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcMemberTypeEnum::Value Ifc4x3_rc4::IfcMemberType::PredefinedType() const { return ::Ifc4x3_rc4::IfcMemberTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcMemberType::setPredefinedType(::Ifc4x3_rc4::IfcMemberTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcMemberType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[668]); } const IfcParse::entity& Ifc4x3_rc4::IfcMemberType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[668]); } Ifc4x3_rc4::IfcMemberType::IfcMemberType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMetric -::Ifc4x3_rc4::IfcBenchmarkEnum::Value Ifc4x3_rc4::IfcMetric::Benchmark() const { return ::Ifc4x3_rc4::IfcBenchmarkEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc4::IfcBenchmarkEnum::Value Ifc4x3_rc4::IfcMetric::Benchmark() const { return ::Ifc4x3_rc4::IfcBenchmarkEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc4::IfcMetric::setBenchmark(::Ifc4x3_rc4::IfcBenchmarkEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc4::IfcBenchmarkEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc4x3_rc4::IfcMetric::ValueSource() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcMetric::ValueSource() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcMetric::setValueSource(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_rc4::IfcMetricValueSelect* Ifc4x3_rc4::IfcMetric::DataValue() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc4::IfcMetricValueSelect>(true); } +::Ifc4x3_rc4::IfcMetricValueSelect* Ifc4x3_rc4::IfcMetric::DataValue() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc4::IfcMetricValueSelect>(true); } void Ifc4x3_rc4::IfcMetric::setDataValue(::Ifc4x3_rc4::IfcMetricValueSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc4::IfcReference* Ifc4x3_rc4::IfcMetric::ReferencePath() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_rc4::IfcReference>(true); } +::Ifc4x3_rc4::IfcReference* Ifc4x3_rc4::IfcMetric::ReferencePath() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_rc4::IfcReference>(true); } void Ifc4x3_rc4::IfcMetric::setReferencePath(::Ifc4x3_rc4::IfcReference* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_rc4::IfcMetric::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[670]); } const IfcParse::entity& Ifc4x3_rc4::IfcMetric::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[670]); } Ifc4x3_rc4::IfcMetric::IfcMetric(IfcEntityInstanceData&& e) : IfcConstraint(std::move(e)) { } -Ifc4x3_rc4::IfcMetric::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) : IfcConstraint(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc4::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, v10_DataValue ? v10_DataValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ReferencePath ? v11_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcMetric::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) : IfcConstraint(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc4::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, v10_DataValue ? v10_DataValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ReferencePath ? v11_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMirroredProfileDef @@ -12782,112 +12782,112 @@ Ifc4x3_rc4::IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::stri const IfcParse::entity& Ifc4x3_rc4::IfcMirroredProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[672]); } const IfcParse::entity& Ifc4x3_rc4::IfcMirroredProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[672]); } Ifc4x3_rc4::IfcMirroredProfileDef::IfcMirroredProfileDef(IfcEntityInstanceData&& e) : IfcDerivedProfileDef(std::move(e)) { } -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(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } +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(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } // Function implementations for IfcMobileTelecommunicationsAppliance -boost::optional< ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value > Ifc4x3_rc4::IfcMobileTelecommunicationsAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value > Ifc4x3_rc4::IfcMobileTelecommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcMobileTelecommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcMobileTelecommunicationsAppliance::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[673]); } const IfcParse::entity& Ifc4x3_rc4::IfcMobileTelecommunicationsAppliance::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[673]); } Ifc4x3_rc4::IfcMobileTelecommunicationsAppliance::IfcMobileTelecommunicationsAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMobileTelecommunicationsApplianceType -::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceType::setPredefinedType(::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[674]); } const IfcParse::entity& Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[674]); } Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceType::IfcMobileTelecommunicationsApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMonetaryUnit -std::string Ifc4x3_rc4::IfcMonetaryUnit::Currency() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc4::IfcMonetaryUnit::Currency() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcMonetaryUnit::setCurrency(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc4::IfcMonetaryUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[687]); } const IfcParse::entity& Ifc4x3_rc4::IfcMonetaryUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[687]); } Ifc4x3_rc4::IfcMonetaryUnit::IfcMonetaryUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcMonetaryUnit::IfcMonetaryUnit(std::string v1_Currency) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Currency));; populate_derived(); } +Ifc4x3_rc4::IfcMonetaryUnit::IfcMonetaryUnit(std::string v1_Currency) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Currency));; populate_derived(); } // Function implementations for IfcMooringDevice -boost::optional< ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value > Ifc4x3_rc4::IfcMooringDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value > Ifc4x3_rc4::IfcMooringDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcMooringDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcMooringDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[689]); } const IfcParse::entity& Ifc4x3_rc4::IfcMooringDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[689]); } Ifc4x3_rc4::IfcMooringDevice::IfcMooringDevice(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMooringDeviceType -::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value Ifc4x3_rc4::IfcMooringDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value Ifc4x3_rc4::IfcMooringDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcMooringDeviceType::setPredefinedType(::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcMooringDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[690]); } const IfcParse::entity& Ifc4x3_rc4::IfcMooringDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[690]); } Ifc4x3_rc4::IfcMooringDeviceType::IfcMooringDeviceType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcMooringDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMotorConnection -boost::optional< ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value > Ifc4x3_rc4::IfcMotorConnection::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value > Ifc4x3_rc4::IfcMotorConnection::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcMotorConnection::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcMotorConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[692]); } const IfcParse::entity& Ifc4x3_rc4::IfcMotorConnection::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[692]); } Ifc4x3_rc4::IfcMotorConnection::IfcMotorConnection(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMotorConnectionType -::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value Ifc4x3_rc4::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value Ifc4x3_rc4::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcMotorConnectionType::setPredefinedType(::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcMotorConnectionType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[693]); } const IfcParse::entity& Ifc4x3_rc4::IfcMotorConnectionType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[693]); } Ifc4x3_rc4::IfcMotorConnectionType::IfcMotorConnectionType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcNamedUnit -::Ifc4x3_rc4::IfcDimensionalExponents* Ifc4x3_rc4::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcDimensionalExponents>(true); } +::Ifc4x3_rc4::IfcDimensionalExponents* Ifc4x3_rc4::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcDimensionalExponents>(true); } void Ifc4x3_rc4::IfcNamedUnit::setDimensions(::Ifc4x3_rc4::IfcDimensionalExponents* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcUnitEnum::Value Ifc4x3_rc4::IfcNamedUnit::UnitType() const { return ::Ifc4x3_rc4::IfcUnitEnum::FromString(data_.get_attribute_value(1)); } +::Ifc4x3_rc4::IfcUnitEnum::Value Ifc4x3_rc4::IfcNamedUnit::UnitType() const { return ::Ifc4x3_rc4::IfcUnitEnum::FromString(get_attribute_value(1)); } void Ifc4x3_rc4::IfcNamedUnit::setUnitType(::Ifc4x3_rc4::IfcUnitEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x3_rc4::IfcUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcNamedUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[695]); } const IfcParse::entity& Ifc4x3_rc4::IfcNamedUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[695]); } Ifc4x3_rc4::IfcNamedUnit::IfcNamedUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcNamedUnit::IfcNamedUnit(::Ifc4x3_rc4::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc4::IfcUnitEnum::Value v2_UnitType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc4::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; populate_derived(); } +Ifc4x3_rc4::IfcNamedUnit::IfcNamedUnit(::Ifc4x3_rc4::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_rc4::IfcUnitEnum::Value v2_UnitType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc4::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; populate_derived(); } // Function implementations for IfcNavigationElement -boost::optional< ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value > Ifc4x3_rc4::IfcNavigationElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value > Ifc4x3_rc4::IfcNavigationElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcNavigationElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcNavigationElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[696]); } const IfcParse::entity& Ifc4x3_rc4::IfcNavigationElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[696]); } Ifc4x3_rc4::IfcNavigationElement::IfcNavigationElement(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcNavigationElementType -::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value Ifc4x3_rc4::IfcNavigationElementType::PredefinedType() const { return ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value Ifc4x3_rc4::IfcNavigationElementType::PredefinedType() const { return ::Ifc4x3_rc4::IfcNavigationElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcNavigationElementType::setPredefinedType(::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcNavigationElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[697]); } const IfcParse::entity& Ifc4x3_rc4::IfcNavigationElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[697]); } Ifc4x3_rc4::IfcNavigationElementType::IfcNavigationElementType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcNavigationElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcObject -boost::optional< std::string > Ifc4x3_rc4::IfcObject::ObjectType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcObject::ObjectType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcObject::setObjectType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } ::Ifc4x3_rc4::IfcRelDefinesByObject::list::ptr Ifc4x3_rc4::IfcObject::IsDeclaredBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[937], 4)->as(); } @@ -12898,7 +12898,7 @@ void Ifc4x3_rc4::IfcObject::setObjectType(boost::optional< std::string > v) { if const IfcParse::entity& Ifc4x3_rc4::IfcObject::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[702]); } const IfcParse::entity& Ifc4x3_rc4::IfcObject::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[702]); } Ifc4x3_rc4::IfcObject::IfcObject(IfcEntityInstanceData&& e) : IfcObjectDefinition(std::move(e)) { } -Ifc4x3_rc4::IfcObject::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) : IfcObjectDefinition(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc4x3_rc4::IfcObject::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) : IfcObjectDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcObjectDefinition @@ -12913,10 +12913,10 @@ Ifc4x3_rc4::IfcObject::IfcObject(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwner const IfcParse::entity& Ifc4x3_rc4::IfcObjectDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[703]); } const IfcParse::entity& Ifc4x3_rc4::IfcObjectDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[703]); } Ifc4x3_rc4::IfcObjectDefinition::IfcObjectDefinition(IfcEntityInstanceData&& e) : IfcRoot(std::move(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(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +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(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcObjectPlacement -::Ifc4x3_rc4::IfcObjectPlacement* Ifc4x3_rc4::IfcObjectPlacement::PlacementRelTo() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcObjectPlacement>(true); } +::Ifc4x3_rc4::IfcObjectPlacement* Ifc4x3_rc4::IfcObjectPlacement::PlacementRelTo() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcObjectPlacement>(true); } void Ifc4x3_rc4::IfcObjectPlacement::setPlacementRelTo(::Ifc4x3_rc4::IfcObjectPlacement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_rc4::IfcProduct::list::ptr Ifc4x3_rc4::IfcObjectPlacement::PlacesObject() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[806], 5)->as(); } @@ -12924,97 +12924,97 @@ void Ifc4x3_rc4::IfcObjectPlacement::setPlacementRelTo(::Ifc4x3_rc4::IfcObjectPl const IfcParse::entity& Ifc4x3_rc4::IfcObjectPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[706]); } const IfcParse::entity& Ifc4x3_rc4::IfcObjectPlacement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[706]); } Ifc4x3_rc4::IfcObjectPlacement::IfcObjectPlacement(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcObjectPlacement::IfcObjectPlacement(::Ifc4x3_rc4::IfcObjectPlacement* v1_PlacementRelTo) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcObjectPlacement::IfcObjectPlacement(::Ifc4x3_rc4::IfcObjectPlacement* v1_PlacementRelTo) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcObjective -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcConstraint >::ptr > Ifc4x3_rc4::IfcObjective::BenchmarkValues() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc4::IfcConstraint >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcConstraint >::ptr > Ifc4x3_rc4::IfcObjective::BenchmarkValues() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc4::IfcConstraint >(); } void Ifc4x3_rc4::IfcObjective::setBenchmarkValues(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcConstraint >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3_rc4::IfcLogicalOperatorEnum::Value > Ifc4x3_rc4::IfcObjective::LogicalAggregator() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcLogicalOperatorEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcLogicalOperatorEnum::Value > Ifc4x3_rc4::IfcObjective::LogicalAggregator() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcLogicalOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcObjective::setLogicalAggregator(boost::optional< ::Ifc4x3_rc4::IfcLogicalOperatorEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcLogicalOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -::Ifc4x3_rc4::IfcObjectiveEnum::Value Ifc4x3_rc4::IfcObjective::ObjectiveQualifier() const { return ::Ifc4x3_rc4::IfcObjectiveEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcObjectiveEnum::Value Ifc4x3_rc4::IfcObjective::ObjectiveQualifier() const { return ::Ifc4x3_rc4::IfcObjectiveEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcObjective::setObjectiveQualifier(::Ifc4x3_rc4::IfcObjectiveEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcObjectiveEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3_rc4::IfcObjective::UserDefinedQualifier() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcObjective::UserDefinedQualifier() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcObjective::setUserDefinedQualifier(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc4::IfcObjective::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[704]); } const IfcParse::entity& Ifc4x3_rc4::IfcObjective::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[704]); } Ifc4x3_rc4::IfcObjective::IfcObjective(IfcEntityInstanceData&& e) : IfcConstraint(std::move(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< 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(storage_t(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc4::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, (*v8_BenchmarkValues)->generalize()); } if (v9_LogicalAggregator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; populate_derived(); } +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(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc4::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, (*v8_BenchmarkValues)->generalize()); } if (v9_LogicalAggregator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; populate_derived(); } // Function implementations for IfcOccupant -boost::optional< ::Ifc4x3_rc4::IfcOccupantTypeEnum::Value > Ifc4x3_rc4::IfcOccupant::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcOccupantTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_rc4::IfcOccupantTypeEnum::Value > Ifc4x3_rc4::IfcOccupant::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcOccupantTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_rc4::IfcOccupant::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcOccupantTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_rc4::IfcOccupantTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc4::IfcOccupant::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[709]); } const IfcParse::entity& Ifc4x3_rc4::IfcOccupant::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[709]); } Ifc4x3_rc4::IfcOccupant::IfcOccupant(IfcEntityInstanceData&& e) : IfcActor(std::move(e)) { } -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(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc4::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc4::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOffsetCurve -::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcOffsetCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCurve>(true); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcOffsetCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcOffsetCurve::setBasisCurve(::Ifc4x3_rc4::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc4::IfcOffsetCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[711]); } const IfcParse::entity& Ifc4x3_rc4::IfcOffsetCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[711]); } Ifc4x3_rc4::IfcOffsetCurve::IfcOffsetCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_rc4::IfcOffsetCurve::IfcOffsetCurve(::Ifc4x3_rc4::IfcCurve* v1_BasisCurve) : IfcCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcOffsetCurve::IfcOffsetCurve(::Ifc4x3_rc4::IfcCurve* v1_BasisCurve) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcOffsetCurve2D -double Ifc4x3_rc4::IfcOffsetCurve2D::Distance() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc4::IfcOffsetCurve2D::Distance() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcOffsetCurve2D::setDistance(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::logic::tribool Ifc4x3_rc4::IfcOffsetCurve2D::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::logic::tribool Ifc4x3_rc4::IfcOffsetCurve2D::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcOffsetCurve2D::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcOffsetCurve2D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[712]); } const IfcParse::entity& Ifc4x3_rc4::IfcOffsetCurve2D::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[712]); } Ifc4x3_rc4::IfcOffsetCurve2D::IfcOffsetCurve2D(IfcEntityInstanceData&& e) : IfcOffsetCurve(std::move(e)) { } -Ifc4x3_rc4::IfcOffsetCurve2D::IfcOffsetCurve2D(::Ifc4x3_rc4::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) : IfcOffsetCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; populate_derived(); } +Ifc4x3_rc4::IfcOffsetCurve2D::IfcOffsetCurve2D(::Ifc4x3_rc4::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) : IfcOffsetCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; populate_derived(); } // Function implementations for IfcOffsetCurve3D -double Ifc4x3_rc4::IfcOffsetCurve3D::Distance() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc4::IfcOffsetCurve3D::Distance() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcOffsetCurve3D::setDistance(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::logic::tribool Ifc4x3_rc4::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::logic::tribool Ifc4x3_rc4::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcOffsetCurve3D::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcDirection>(true); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcOffsetCurve3D::setRefDirection(::Ifc4x3_rc4::IfcDirection* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcOffsetCurve3D::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[713]); } const IfcParse::entity& Ifc4x3_rc4::IfcOffsetCurve3D::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[713]); } Ifc4x3_rc4::IfcOffsetCurve3D::IfcOffsetCurve3D(IfcEntityInstanceData&& e) : IfcOffsetCurve(std::move(e)) { } -Ifc4x3_rc4::IfcOffsetCurve3D::IfcOffsetCurve3D(::Ifc4x3_rc4::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_rc4::IfcDirection* v4_RefDirection) : IfcOffsetCurve(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, v4_RefDirection ? v4_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcOffsetCurve3D::IfcOffsetCurve3D(::Ifc4x3_rc4::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_rc4::IfcDirection* v4_RefDirection) : IfcOffsetCurve(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, v4_RefDirection ? v4_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcOffsetCurveByDistances -aggregate_of< ::Ifc4x3_rc4::IfcPointByDistanceExpression >::ptr Ifc4x3_rc4::IfcOffsetCurveByDistances::OffsetValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcPointByDistanceExpression >(); } +aggregate_of< ::Ifc4x3_rc4::IfcPointByDistanceExpression >::ptr Ifc4x3_rc4::IfcOffsetCurveByDistances::OffsetValues() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcPointByDistanceExpression >(); } void Ifc4x3_rc4::IfcOffsetCurveByDistances::setOffsetValues(aggregate_of< ::Ifc4x3_rc4::IfcPointByDistanceExpression >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_rc4::IfcOffsetCurveByDistances::Tag() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcOffsetCurveByDistances::Tag() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcOffsetCurveByDistances::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc4::IfcOffsetCurveByDistances::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[714]); } const IfcParse::entity& Ifc4x3_rc4::IfcOffsetCurveByDistances::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[714]); } Ifc4x3_rc4::IfcOffsetCurveByDistances::IfcOffsetCurveByDistances(IfcEntityInstanceData&& e) : IfcOffsetCurve(std::move(e)) { } -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(storage_t(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_OffsetValues)->generalize()); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; populate_derived(); } +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(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_OffsetValues)->generalize()); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; populate_derived(); } // Function implementations for IfcOpenCrossProfileDef -bool Ifc4x3_rc4::IfcOpenCrossProfileDef::HorizontalWidths() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x3_rc4::IfcOpenCrossProfileDef::HorizontalWidths() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcOpenCrossProfileDef::setHorizontalWidths(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< double > /*[1:?]*/ Ifc4x3_rc4::IfcOpenCrossProfileDef::Widths() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +std::vector< double > /*[1:?]*/ Ifc4x3_rc4::IfcOpenCrossProfileDef::Widths() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcOpenCrossProfileDef::setWidths(std::vector< double > /*[1:?]*/ v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -std::vector< double > /*[1:?]*/ Ifc4x3_rc4::IfcOpenCrossProfileDef::Slopes() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +std::vector< double > /*[1:?]*/ Ifc4x3_rc4::IfcOpenCrossProfileDef::Slopes() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcOpenCrossProfileDef::setSlopes(std::vector< double > /*[1:?]*/ v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< std::vector< std::string > /*[2:?]*/ > Ifc4x3_rc4::IfcOpenCrossProfileDef::Tags() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[2:?]*/ v = data_.get_attribute_value(5); return v; } +boost::optional< std::vector< std::string > /*[2:?]*/ > Ifc4x3_rc4::IfcOpenCrossProfileDef::Tags() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[2:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcOpenCrossProfileDef::setTags(boost::optional< std::vector< std::string > /*[2:?]*/ > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_rc4::IfcOpenCrossProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[715]); } const IfcParse::entity& Ifc4x3_rc4::IfcOpenCrossProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[715]); } Ifc4x3_rc4::IfcOpenCrossProfileDef::IfcOpenCrossProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_rc4::IfcOpenCrossProfileDef::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) : IfcProfileDef(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_HorizontalWidths));set_attribute_value(3, (v4_Widths));set_attribute_value(4, (v5_Slopes)); if (v6_Tags) {set_attribute_value(5, (*v6_Tags)); }; populate_derived(); } +Ifc4x3_rc4::IfcOpenCrossProfileDef::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) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_HorizontalWidths));set_attribute_value(3, (v4_Widths));set_attribute_value(4, (v5_Slopes)); if (v6_Tags) {set_attribute_value(5, (*v6_Tags)); }; populate_derived(); } // Function implementations for IfcOpenShell @@ -13022,10 +13022,10 @@ Ifc4x3_rc4::IfcOpenCrossProfileDef::IfcOpenCrossProfileDef(::Ifc4x3_rc4::IfcProf const IfcParse::entity& Ifc4x3_rc4::IfcOpenShell::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[719]); } const IfcParse::entity& Ifc4x3_rc4::IfcOpenShell::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[719]); } Ifc4x3_rc4::IfcOpenShell::IfcOpenShell(IfcEntityInstanceData&& e) : IfcConnectedFaceSet(std::move(e)) { } -Ifc4x3_rc4::IfcOpenShell::IfcOpenShell(aggregate_of< ::Ifc4x3_rc4::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc4x3_rc4::IfcOpenShell::IfcOpenShell(aggregate_of< ::Ifc4x3_rc4::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcOpeningElement -boost::optional< ::Ifc4x3_rc4::IfcOpeningElementTypeEnum::Value > Ifc4x3_rc4::IfcOpeningElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcOpeningElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcOpeningElementTypeEnum::Value > Ifc4x3_rc4::IfcOpeningElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcOpeningElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcOpeningElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcOpeningElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x3_rc4::IfcRelFillsElement::list::ptr Ifc4x3_rc4::IfcOpeningElement::HasFillings() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[941], 4)->as(); } @@ -13033,7 +13033,7 @@ void Ifc4x3_rc4::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4x3_ const IfcParse::entity& Ifc4x3_rc4::IfcOpeningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[716]); } const IfcParse::entity& Ifc4x3_rc4::IfcOpeningElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[716]); } Ifc4x3_rc4::IfcOpeningElement::IfcOpeningElement(IfcEntityInstanceData&& e) : IfcFeatureElementSubtraction(std::move(e)) { } -Ifc4x3_rc4::IfcOpeningElement::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) : IfcFeatureElementSubtraction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc4::IfcOpeningElement::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) : IfcFeatureElementSubtraction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOpeningStandardCase @@ -13041,18 +13041,18 @@ Ifc4x3_rc4::IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3_rc4::IfcOpeningStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[718]); } const IfcParse::entity& Ifc4x3_rc4::IfcOpeningStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[718]); } Ifc4x3_rc4::IfcOpeningStandardCase::IfcOpeningStandardCase(IfcEntityInstanceData&& e) : IfcOpeningElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOrganization -boost::optional< std::string > Ifc4x3_rc4::IfcOrganization::Identification() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcOrganization::Identification() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcOrganization::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -std::string Ifc4x3_rc4::IfcOrganization::Name() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_rc4::IfcOrganization::Name() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcOrganization::setName(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_rc4::IfcOrganization::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcOrganization::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcOrganization::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorRole >::ptr > Ifc4x3_rc4::IfcOrganization::Roles() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc4::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorRole >::ptr > Ifc4x3_rc4::IfcOrganization::Roles() const { if(get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc4::IfcActorRole >(); } void Ifc4x3_rc4::IfcOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(3, (*v)->generalize());} else {unset_attribute_value(3);} } -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAddress >::ptr > Ifc4x3_rc4::IfcOrganization::Addresses() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc4::IfcAddress >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAddress >::ptr > Ifc4x3_rc4::IfcOrganization::Addresses() const { if(get_attribute_value(4).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc4::IfcAddress >(); } void Ifc4x3_rc4::IfcOrganization::setAddresses(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAddress >::ptr > v) { if (v) {set_attribute_value(4, (*v)->generalize());} else {unset_attribute_value(4);} } ::Ifc4x3_rc4::IfcOrganizationRelationship::list::ptr Ifc4x3_rc4::IfcOrganization::IsRelatedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[721], 3)->as(); } @@ -13062,31 +13062,31 @@ void Ifc4x3_rc4::IfcOrganization::setAddresses(boost::optional< aggregate_of< :: const IfcParse::entity& Ifc4x3_rc4::IfcOrganization::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[720]); } const IfcParse::entity& Ifc4x3_rc4::IfcOrganization::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[720]); } Ifc4x3_rc4::IfcOrganization::IfcOrganization(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -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(IfcEntityInstanceData(storage_t(5))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, (*v4_Roles)->generalize()); } if (v5_Addresses) {set_attribute_value(4, (*v5_Addresses)->generalize()); }; populate_derived(); } +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(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, (*v4_Roles)->generalize()); } if (v5_Addresses) {set_attribute_value(4, (*v5_Addresses)->generalize()); }; populate_derived(); } // Function implementations for IfcOrganizationRelationship -::Ifc4x3_rc4::IfcOrganization* Ifc4x3_rc4::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcOrganization>(true); } +::Ifc4x3_rc4::IfcOrganization* Ifc4x3_rc4::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcOrganization>(true); } void Ifc4x3_rc4::IfcOrganizationRelationship::setRelatingOrganization(::Ifc4x3_rc4::IfcOrganization* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_rc4::IfcOrganization >::ptr Ifc4x3_rc4::IfcOrganizationRelationship::RelatedOrganizations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc4::IfcOrganization >(); } +aggregate_of< ::Ifc4x3_rc4::IfcOrganization >::ptr Ifc4x3_rc4::IfcOrganizationRelationship::RelatedOrganizations() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc4::IfcOrganization >(); } void Ifc4x3_rc4::IfcOrganizationRelationship::setRelatedOrganizations(aggregate_of< ::Ifc4x3_rc4::IfcOrganization >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcOrganizationRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[721]); } const IfcParse::entity& Ifc4x3_rc4::IfcOrganizationRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[721]); } Ifc4x3_rc4::IfcOrganizationRelationship::IfcOrganizationRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingOrganization ? v3_RelatingOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedOrganizations)->generalize());; populate_derived(); } +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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingOrganization ? v3_RelatingOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedOrganizations)->generalize());; populate_derived(); } // Function implementations for IfcOrientedEdge -::Ifc4x3_rc4::IfcEdge* Ifc4x3_rc4::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcEdge>(true); } +::Ifc4x3_rc4::IfcEdge* Ifc4x3_rc4::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcEdge>(true); } void Ifc4x3_rc4::IfcOrientedEdge::setEdgeElement(::Ifc4x3_rc4::IfcEdge* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x3_rc4::IfcOrientedEdge::Orientation() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x3_rc4::IfcOrientedEdge::Orientation() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcOrientedEdge::setOrientation(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcOrientedEdge::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[722]); } const IfcParse::entity& Ifc4x3_rc4::IfcOrientedEdge::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[722]); } Ifc4x3_rc4::IfcOrientedEdge::IfcOrientedEdge(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc4x3_rc4::IfcOrientedEdge::IfcOrientedEdge(::Ifc4x3_rc4::IfcEdge* v3_EdgeElement, bool v4_Orientation) : IfcEdge(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(2, v3_EdgeElement ? v3_EdgeElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Orientation));; populate_derived(); } +Ifc4x3_rc4::IfcOrientedEdge::IfcOrientedEdge(::Ifc4x3_rc4::IfcEdge* v3_EdgeElement, bool v4_Orientation) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(2, v3_EdgeElement ? v3_EdgeElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Orientation));; populate_derived(); } // Function implementations for IfcOuterBoundaryCurve @@ -13094,164 +13094,164 @@ Ifc4x3_rc4::IfcOrientedEdge::IfcOrientedEdge(::Ifc4x3_rc4::IfcEdge* v3_EdgeEleme const IfcParse::entity& Ifc4x3_rc4::IfcOuterBoundaryCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[723]); } const IfcParse::entity& Ifc4x3_rc4::IfcOuterBoundaryCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[723]); } Ifc4x3_rc4::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(IfcEntityInstanceData&& e) : IfcBoundaryCurve(std::move(e)) { } -Ifc4x3_rc4::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(aggregate_of< ::Ifc4x3_rc4::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundaryCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x3_rc4::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(aggregate_of< ::Ifc4x3_rc4::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundaryCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcOutlet -boost::optional< ::Ifc4x3_rc4::IfcOutletTypeEnum::Value > Ifc4x3_rc4::IfcOutlet::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcOutletTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcOutletTypeEnum::Value > Ifc4x3_rc4::IfcOutlet::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcOutletTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcOutlet::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcOutletTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcOutletTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcOutlet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[724]); } const IfcParse::entity& Ifc4x3_rc4::IfcOutlet::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[724]); } Ifc4x3_rc4::IfcOutlet::IfcOutlet(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOutletType -::Ifc4x3_rc4::IfcOutletTypeEnum::Value Ifc4x3_rc4::IfcOutletType::PredefinedType() const { return ::Ifc4x3_rc4::IfcOutletTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcOutletTypeEnum::Value Ifc4x3_rc4::IfcOutletType::PredefinedType() const { return ::Ifc4x3_rc4::IfcOutletTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcOutletType::setPredefinedType(::Ifc4x3_rc4::IfcOutletTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcOutletTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcOutletType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[725]); } const IfcParse::entity& Ifc4x3_rc4::IfcOutletType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[725]); } Ifc4x3_rc4::IfcOutletType::IfcOutletType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcOwnerHistory -::Ifc4x3_rc4::IfcPersonAndOrganization* Ifc4x3_rc4::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcPersonAndOrganization>(true); } +::Ifc4x3_rc4::IfcPersonAndOrganization* Ifc4x3_rc4::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcPersonAndOrganization>(true); } void Ifc4x3_rc4::IfcOwnerHistory::setOwningUser(::Ifc4x3_rc4::IfcPersonAndOrganization* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcApplication* Ifc4x3_rc4::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcApplication>(true); } +::Ifc4x3_rc4::IfcApplication* Ifc4x3_rc4::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcApplication>(true); } void Ifc4x3_rc4::IfcOwnerHistory::setOwningApplication(::Ifc4x3_rc4::IfcApplication* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< ::Ifc4x3_rc4::IfcStateEnum::Value > Ifc4x3_rc4::IfcOwnerHistory::State() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcStateEnum::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc4x3_rc4::IfcStateEnum::Value > Ifc4x3_rc4::IfcOwnerHistory::State() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcStateEnum::FromString(get_attribute_value(2)); } void Ifc4x3_rc4::IfcOwnerHistory::setState(boost::optional< ::Ifc4x3_rc4::IfcStateEnum::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc4x3_rc4::IfcStateEnum::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -boost::optional< ::Ifc4x3_rc4::IfcChangeActionEnum::Value > Ifc4x3_rc4::IfcOwnerHistory::ChangeAction() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcChangeActionEnum::FromString(data_.get_attribute_value(3)); } +boost::optional< ::Ifc4x3_rc4::IfcChangeActionEnum::Value > Ifc4x3_rc4::IfcOwnerHistory::ChangeAction() const { if(get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcChangeActionEnum::FromString(get_attribute_value(3)); } void Ifc4x3_rc4::IfcOwnerHistory::setChangeAction(boost::optional< ::Ifc4x3_rc4::IfcChangeActionEnum::Value > v) { if (v) {set_attribute_value(3, EnumerationReference(&::Ifc4x3_rc4::IfcChangeActionEnum::Class(), (size_t) *v));} else {unset_attribute_value(3);} } -boost::optional< int > Ifc4x3_rc4::IfcOwnerHistory::LastModifiedDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x3_rc4::IfcOwnerHistory::LastModifiedDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc4::IfcPersonAndOrganization* Ifc4x3_rc4::IfcOwnerHistory::LastModifyingUser() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcPersonAndOrganization>(true); } +::Ifc4x3_rc4::IfcPersonAndOrganization* Ifc4x3_rc4::IfcOwnerHistory::LastModifyingUser() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcPersonAndOrganization>(true); } void Ifc4x3_rc4::IfcOwnerHistory::setLastModifyingUser(::Ifc4x3_rc4::IfcPersonAndOrganization* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc4::IfcApplication* Ifc4x3_rc4::IfcOwnerHistory::LastModifyingApplication() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcApplication>(true); } +::Ifc4x3_rc4::IfcApplication* Ifc4x3_rc4::IfcOwnerHistory::LastModifyingApplication() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcApplication>(true); } void Ifc4x3_rc4::IfcOwnerHistory::setLastModifyingApplication(::Ifc4x3_rc4::IfcApplication* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -int Ifc4x3_rc4::IfcOwnerHistory::CreationDate() const { int v = data_.get_attribute_value(7); return v; } +int Ifc4x3_rc4::IfcOwnerHistory::CreationDate() const { int v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcOwnerHistory::setCreationDate(int v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc4::IfcOwnerHistory::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[727]); } const IfcParse::entity& Ifc4x3_rc4::IfcOwnerHistory::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[727]); } Ifc4x3_rc4::IfcOwnerHistory::IfcOwnerHistory(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -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(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, v1_OwningUser ? v1_OwningUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OwningApplication ? v2_OwningApplication->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_State) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc4::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc4::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, v6_LastModifyingUser ? v6_LastModifyingUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_LastModifyingApplication ? v7_LastModifyingApplication->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_CreationDate));; populate_derived(); } +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(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, v1_OwningUser ? v1_OwningUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OwningApplication ? v2_OwningApplication->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_State) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc4::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc4::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, v6_LastModifyingUser ? v6_LastModifyingUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_LastModifyingApplication ? v7_LastModifyingApplication->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_CreationDate));; populate_derived(); } // Function implementations for IfcParameterizedProfileDef -::Ifc4x3_rc4::IfcAxis2Placement2D* Ifc4x3_rc4::IfcParameterizedProfileDef::Position() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcAxis2Placement2D>(true); } +::Ifc4x3_rc4::IfcAxis2Placement2D* Ifc4x3_rc4::IfcParameterizedProfileDef::Position() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcAxis2Placement2D>(true); } void Ifc4x3_rc4::IfcParameterizedProfileDef::setPosition(::Ifc4x3_rc4::IfcAxis2Placement2D* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcParameterizedProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[728]); } const IfcParse::entity& Ifc4x3_rc4::IfcParameterizedProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[728]); } Ifc4x3_rc4::IfcParameterizedProfileDef::IfcParameterizedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_rc4::IfcParameterizedProfileDef::IfcParameterizedProfileDef(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D* v3_Position) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcParameterizedProfileDef::IfcParameterizedProfileDef(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_rc4::IfcAxis2Placement2D* v3_Position) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPath -aggregate_of< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr Ifc4x3_rc4::IfcPath::EdgeList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcOrientedEdge >(); } +aggregate_of< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr Ifc4x3_rc4::IfcPath::EdgeList() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcOrientedEdge >(); } void Ifc4x3_rc4::IfcPath::setEdgeList(aggregate_of< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc4::IfcPath::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[730]); } const IfcParse::entity& Ifc4x3_rc4::IfcPath::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[730]); } Ifc4x3_rc4::IfcPath::IfcPath(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcPath::IfcPath(aggregate_of< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr v1_EdgeList) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } +Ifc4x3_rc4::IfcPath::IfcPath(aggregate_of< ::Ifc4x3_rc4::IfcOrientedEdge >::ptr v1_EdgeList) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } // Function implementations for IfcPavement -boost::optional< ::Ifc4x3_rc4::IfcPavementTypeEnum::Value > Ifc4x3_rc4::IfcPavement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPavementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcPavementTypeEnum::Value > Ifc4x3_rc4::IfcPavement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPavementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcPavement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPavementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcPavementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcPavement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[731]); } const IfcParse::entity& Ifc4x3_rc4::IfcPavement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[731]); } Ifc4x3_rc4::IfcPavement::IfcPavement(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcPavementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcPavementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPavementType -::Ifc4x3_rc4::IfcPavementTypeEnum::Value Ifc4x3_rc4::IfcPavementType::PredefinedType() const { return ::Ifc4x3_rc4::IfcPavementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcPavementTypeEnum::Value Ifc4x3_rc4::IfcPavementType::PredefinedType() const { return ::Ifc4x3_rc4::IfcPavementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcPavementType::setPredefinedType(::Ifc4x3_rc4::IfcPavementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcPavementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcPavementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[732]); } const IfcParse::entity& Ifc4x3_rc4::IfcPavementType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[732]); } Ifc4x3_rc4::IfcPavementType::IfcPavementType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcPavementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcPavementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPcurve -::Ifc4x3_rc4::IfcSurface* Ifc4x3_rc4::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcSurface>(true); } +::Ifc4x3_rc4::IfcSurface* Ifc4x3_rc4::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcSurface>(true); } void Ifc4x3_rc4::IfcPcurve::setBasisSurface(::Ifc4x3_rc4::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcCurve>(true); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcPcurve::setReferenceCurve(::Ifc4x3_rc4::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcPcurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[734]); } const IfcParse::entity& Ifc4x3_rc4::IfcPcurve::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[734]); } Ifc4x3_rc4::IfcPcurve::IfcPcurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_rc4::IfcPcurve::IfcPcurve(::Ifc4x3_rc4::IfcSurface* v1_BasisSurface, ::Ifc4x3_rc4::IfcCurve* v2_ReferenceCurve) : IfcCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_ReferenceCurve ? v2_ReferenceCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcPcurve::IfcPcurve(::Ifc4x3_rc4::IfcSurface* v1_BasisSurface, ::Ifc4x3_rc4::IfcCurve* v2_ReferenceCurve) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_ReferenceCurve ? v2_ReferenceCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPerformanceHistory -std::string Ifc4x3_rc4::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = data_.get_attribute_value(6); return v; } +std::string Ifc4x3_rc4::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcPerformanceHistory::setLifeCyclePhase(std::string v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< ::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::Value > Ifc4x3_rc4::IfcPerformanceHistory::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::Value > Ifc4x3_rc4::IfcPerformanceHistory::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc4::IfcPerformanceHistory::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc4::IfcPerformanceHistory::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[735]); } const IfcParse::entity& Ifc4x3_rc4::IfcPerformanceHistory::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[735]); } Ifc4x3_rc4::IfcPerformanceHistory::IfcPerformanceHistory(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -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(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPermeableCoveringProperties -::Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::Value Ifc4x3_rc4::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::Value Ifc4x3_rc4::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::FromString(get_attribute_value(4)); } void Ifc4x3_rc4::IfcPermeableCoveringProperties::setOperationType(::Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Value Ifc4x3_rc4::IfcPermeableCoveringProperties::PanelPosition() const { return ::Ifc4x3_rc4::IfcWindowPanelPositionEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Value Ifc4x3_rc4::IfcPermeableCoveringProperties::PanelPosition() const { return ::Ifc4x3_rc4::IfcWindowPanelPositionEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc4::IfcPermeableCoveringProperties::setPanelPosition(::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_rc4::IfcPermeableCoveringProperties::FrameDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc4::IfcPermeableCoveringProperties::FrameDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_rc4::IfcPermeableCoveringProperties::FrameThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc4::IfcPermeableCoveringProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc4::IfcShapeAspect* Ifc4x3_rc4::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc4::IfcShapeAspect>(true); } +::Ifc4x3_rc4::IfcShapeAspect* Ifc4x3_rc4::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc4::IfcShapeAspect>(true); } void Ifc4x3_rc4::IfcPermeableCoveringProperties::setShapeAspectStyle(::Ifc4x3_rc4::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc4::IfcPermeableCoveringProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[738]); } const IfcParse::entity& Ifc4x3_rc4::IfcPermeableCoveringProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[738]); } Ifc4x3_rc4::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc4::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPermit -boost::optional< ::Ifc4x3_rc4::IfcPermitTypeEnum::Value > Ifc4x3_rc4::IfcPermit::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPermitTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_rc4::IfcPermitTypeEnum::Value > Ifc4x3_rc4::IfcPermit::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPermitTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_rc4::IfcPermit::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPermitTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_rc4::IfcPermitTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc4::IfcPermit::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcPermit::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcPermit::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc4::IfcPermit::LongDescription() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcPermit::LongDescription() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcPermit::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcPermit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[739]); } const IfcParse::entity& Ifc4x3_rc4::IfcPermit::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[739]); } Ifc4x3_rc4::IfcPermit::IfcPermit(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc4::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc4::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } // Function implementations for IfcPerson -boost::optional< std::string > Ifc4x3_rc4::IfcPerson::Identification() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcPerson::Identification() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcPerson::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc4::IfcPerson::FamilyName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcPerson::FamilyName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcPerson::setFamilyName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc4::IfcPerson::GivenName() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcPerson::GivenName() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcPerson::setGivenName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcPerson::MiddleNames() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcPerson::MiddleNames() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcPerson::setMiddleNames(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcPerson::PrefixTitles() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcPerson::PrefixTitles() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcPerson::setPrefixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcPerson::SuffixTitles() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(5); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcPerson::SuffixTitles() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcPerson::setSuffixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorRole >::ptr > Ifc4x3_rc4::IfcPerson::Roles() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3_rc4::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorRole >::ptr > Ifc4x3_rc4::IfcPerson::Roles() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3_rc4::IfcActorRole >(); } void Ifc4x3_rc4::IfcPerson::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAddress >::ptr > Ifc4x3_rc4::IfcPerson::Addresses() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc4::IfcAddress >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAddress >::ptr > Ifc4x3_rc4::IfcPerson::Addresses() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc4::IfcAddress >(); } void Ifc4x3_rc4::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAddress >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } ::Ifc4x3_rc4::IfcPersonAndOrganization::list::ptr Ifc4x3_rc4::IfcPerson::EngagedIn() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[742], 0)->as(); } @@ -13259,42 +13259,42 @@ void Ifc4x3_rc4::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4x3 const IfcParse::entity& Ifc4x3_rc4::IfcPerson::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[741]); } const IfcParse::entity& Ifc4x3_rc4::IfcPerson::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[741]); } Ifc4x3_rc4::IfcPerson::IfcPerson(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcActorRole >::ptr > v7_Roles, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, (*v7_Roles)->generalize()); } if (v8_Addresses) {set_attribute_value(7, (*v8_Addresses)->generalize()); }; populate_derived(); } +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(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, (*v7_Roles)->generalize()); } if (v8_Addresses) {set_attribute_value(7, (*v8_Addresses)->generalize()); }; populate_derived(); } // Function implementations for IfcPersonAndOrganization -::Ifc4x3_rc4::IfcPerson* Ifc4x3_rc4::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcPerson>(true); } +::Ifc4x3_rc4::IfcPerson* Ifc4x3_rc4::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcPerson>(true); } void Ifc4x3_rc4::IfcPersonAndOrganization::setThePerson(::Ifc4x3_rc4::IfcPerson* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcOrganization* Ifc4x3_rc4::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcOrganization>(true); } +::Ifc4x3_rc4::IfcOrganization* Ifc4x3_rc4::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcOrganization>(true); } void Ifc4x3_rc4::IfcPersonAndOrganization::setTheOrganization(::Ifc4x3_rc4::IfcOrganization* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorRole >::ptr > Ifc4x3_rc4::IfcPersonAndOrganization::Roles() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorRole >::ptr > Ifc4x3_rc4::IfcPersonAndOrganization::Roles() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcActorRole >(); } void Ifc4x3_rc4::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc4::IfcPersonAndOrganization::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[742]); } const IfcParse::entity& Ifc4x3_rc4::IfcPersonAndOrganization::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[742]); } Ifc4x3_rc4::IfcPersonAndOrganization::IfcPersonAndOrganization(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -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(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_ThePerson ? v1_ThePerson->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TheOrganization ? v2_TheOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Roles) {set_attribute_value(2, (*v3_Roles)->generalize()); }; populate_derived(); } +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(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_ThePerson ? v1_ThePerson->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TheOrganization ? v2_TheOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Roles) {set_attribute_value(2, (*v3_Roles)->generalize()); }; populate_derived(); } // Function implementations for IfcPhysicalComplexQuantity -aggregate_of< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr Ifc4x3_rc4::IfcPhysicalComplexQuantity::HasQuantities() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcPhysicalQuantity >(); } +aggregate_of< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr Ifc4x3_rc4::IfcPhysicalComplexQuantity::HasQuantities() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcPhysicalQuantity >(); } void Ifc4x3_rc4::IfcPhysicalComplexQuantity::setHasQuantities(aggregate_of< ::Ifc4x3_rc4::IfcPhysicalQuantity >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -std::string Ifc4x3_rc4::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x3_rc4::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcPhysicalComplexQuantity::setDiscrimination(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc4::IfcPhysicalComplexQuantity::Quality() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcPhysicalComplexQuantity::Quality() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcPhysicalComplexQuantity::setQuality(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc4::IfcPhysicalComplexQuantity::Usage() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcPhysicalComplexQuantity::Usage() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcPhysicalComplexQuantity::setUsage(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_rc4::IfcPhysicalComplexQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[744]); } const IfcParse::entity& Ifc4x3_rc4::IfcPhysicalComplexQuantity::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[744]); } Ifc4x3_rc4::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(IfcEntityInstanceData&& e) : IfcPhysicalQuantity(std::move(e)) { } -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(storage_t(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_HasQuantities)->generalize());set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; populate_derived(); } +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(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_HasQuantities)->generalize());set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; populate_derived(); } // Function implementations for IfcPhysicalQuantity -std::string Ifc4x3_rc4::IfcPhysicalQuantity::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc4::IfcPhysicalQuantity::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcPhysicalQuantity::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc4::IfcPhysicalQuantity::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcPhysicalQuantity::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcPhysicalQuantity::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x3_rc4::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc4::IfcPhysicalQuantity::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[433], 3)->as(); } @@ -13303,127 +13303,127 @@ void Ifc4x3_rc4::IfcPhysicalQuantity::setDescription(boost::optional< std::strin const IfcParse::entity& Ifc4x3_rc4::IfcPhysicalQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[746]); } const IfcParse::entity& Ifc4x3_rc4::IfcPhysicalQuantity::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[746]); } Ifc4x3_rc4::IfcPhysicalQuantity::IfcPhysicalQuantity(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4x3_rc4::IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcPhysicalSimpleQuantity -::Ifc4x3_rc4::IfcNamedUnit* Ifc4x3_rc4::IfcPhysicalSimpleQuantity::Unit() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcNamedUnit>(true); } +::Ifc4x3_rc4::IfcNamedUnit* Ifc4x3_rc4::IfcPhysicalSimpleQuantity::Unit() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcNamedUnit>(true); } void Ifc4x3_rc4::IfcPhysicalSimpleQuantity::setUnit(::Ifc4x3_rc4::IfcNamedUnit* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcPhysicalSimpleQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[747]); } const IfcParse::entity& Ifc4x3_rc4::IfcPhysicalSimpleQuantity::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[747]); } Ifc4x3_rc4::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(IfcEntityInstanceData&& e) : IfcPhysicalQuantity(std::move(e)) { } -Ifc4x3_rc4::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPile -boost::optional< ::Ifc4x3_rc4::IfcPileTypeEnum::Value > Ifc4x3_rc4::IfcPile::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPileTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcPileTypeEnum::Value > Ifc4x3_rc4::IfcPile::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPileTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcPile::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPileTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcPileTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< ::Ifc4x3_rc4::IfcPileConstructionEnum::Value > Ifc4x3_rc4::IfcPile::ConstructionType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPileConstructionEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc4::IfcPileConstructionEnum::Value > Ifc4x3_rc4::IfcPile::ConstructionType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPileConstructionEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcPile::setConstructionType(boost::optional< ::Ifc4x3_rc4::IfcPileConstructionEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcPileConstructionEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc4::IfcPile::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[748]); } const IfcParse::entity& Ifc4x3_rc4::IfcPile::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[748]); } Ifc4x3_rc4::IfcPile::IfcPile(IfcEntityInstanceData&& e) : IfcDeepFoundation(std::move(e)) { } -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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; populate_derived(); } // Function implementations for IfcPileType -::Ifc4x3_rc4::IfcPileTypeEnum::Value Ifc4x3_rc4::IfcPileType::PredefinedType() const { return ::Ifc4x3_rc4::IfcPileTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcPileTypeEnum::Value Ifc4x3_rc4::IfcPileType::PredefinedType() const { return ::Ifc4x3_rc4::IfcPileTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcPileType::setPredefinedType(::Ifc4x3_rc4::IfcPileTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcPileTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcPileType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[750]); } const IfcParse::entity& Ifc4x3_rc4::IfcPileType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[750]); } Ifc4x3_rc4::IfcPileType::IfcPileType(IfcEntityInstanceData&& e) : IfcDeepFoundationType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPipeFitting -boost::optional< ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value > Ifc4x3_rc4::IfcPipeFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value > Ifc4x3_rc4::IfcPipeFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcPipeFitting::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcPipeFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[752]); } const IfcParse::entity& Ifc4x3_rc4::IfcPipeFitting::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[752]); } Ifc4x3_rc4::IfcPipeFitting::IfcPipeFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPipeFittingType -::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value Ifc4x3_rc4::IfcPipeFittingType::PredefinedType() const { return ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value Ifc4x3_rc4::IfcPipeFittingType::PredefinedType() const { return ::Ifc4x3_rc4::IfcPipeFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcPipeFittingType::setPredefinedType(::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcPipeFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[753]); } const IfcParse::entity& Ifc4x3_rc4::IfcPipeFittingType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[753]); } Ifc4x3_rc4::IfcPipeFittingType::IfcPipeFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPipeSegment -boost::optional< ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value > Ifc4x3_rc4::IfcPipeSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value > Ifc4x3_rc4::IfcPipeSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcPipeSegment::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcPipeSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[755]); } const IfcParse::entity& Ifc4x3_rc4::IfcPipeSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[755]); } Ifc4x3_rc4::IfcPipeSegment::IfcPipeSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPipeSegmentType -::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value Ifc4x3_rc4::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value Ifc4x3_rc4::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcPipeSegmentType::setPredefinedType(::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcPipeSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[756]); } const IfcParse::entity& Ifc4x3_rc4::IfcPipeSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[756]); } Ifc4x3_rc4::IfcPipeSegmentType::IfcPipeSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPixelTexture -int Ifc4x3_rc4::IfcPixelTexture::Width() const { int v = data_.get_attribute_value(5); return v; } +int Ifc4x3_rc4::IfcPixelTexture::Width() const { int v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcPixelTexture::setWidth(int v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -int Ifc4x3_rc4::IfcPixelTexture::Height() const { int v = data_.get_attribute_value(6); return v; } +int Ifc4x3_rc4::IfcPixelTexture::Height() const { int v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcPixelTexture::setHeight(int v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -int Ifc4x3_rc4::IfcPixelTexture::ColourComponents() const { int v = data_.get_attribute_value(7); return v; } +int Ifc4x3_rc4::IfcPixelTexture::ColourComponents() const { int v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcPixelTexture::setColourComponents(int v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector< boost::dynamic_bitset<> > /*[1:?]*/ Ifc4x3_rc4::IfcPixelTexture::Pixel() const { std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< boost::dynamic_bitset<> > /*[1:?]*/ Ifc4x3_rc4::IfcPixelTexture::Pixel() const { std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcPixelTexture::setPixel(std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc4::IfcPixelTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[758]); } const IfcParse::entity& Ifc4x3_rc4::IfcPixelTexture::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[758]); } Ifc4x3_rc4::IfcPixelTexture::IfcPixelTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel));; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel));; populate_derived(); } // Function implementations for IfcPlacement -::Ifc4x3_rc4::IfcPoint* Ifc4x3_rc4::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcPoint>(true); } +::Ifc4x3_rc4::IfcPoint* Ifc4x3_rc4::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcPoint>(true); } void Ifc4x3_rc4::IfcPlacement::setLocation(::Ifc4x3_rc4::IfcPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc4::IfcPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[759]); } const IfcParse::entity& Ifc4x3_rc4::IfcPlacement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[759]); } Ifc4x3_rc4::IfcPlacement::IfcPlacement(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcPlacement::IfcPlacement(::Ifc4x3_rc4::IfcPoint* v1_Location) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcPlacement::IfcPlacement(::Ifc4x3_rc4::IfcPoint* v1_Location) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlanarBox -::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcAxis2Placement>(true); } +::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcAxis2Placement>(true); } void Ifc4x3_rc4::IfcPlanarBox::setPlacement(::Ifc4x3_rc4::IfcAxis2Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcPlanarBox::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[760]); } const IfcParse::entity& Ifc4x3_rc4::IfcPlanarBox::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[760]); } Ifc4x3_rc4::IfcPlanarBox::IfcPlanarBox(IfcEntityInstanceData&& e) : IfcPlanarExtent(std::move(e)) { } -Ifc4x3_rc4::IfcPlanarBox::IfcPlanarBox(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_rc4::IfcAxis2Placement* v3_Placement) : IfcPlanarExtent(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, v3_Placement ? v3_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcPlanarBox::IfcPlanarBox(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_rc4::IfcAxis2Placement* v3_Placement) : IfcPlanarExtent(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, v3_Placement ? v3_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlanarExtent -double Ifc4x3_rc4::IfcPlanarExtent::SizeInX() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_rc4::IfcPlanarExtent::SizeInX() const { double v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcPlanarExtent::setSizeInX(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc4::IfcPlanarExtent::SizeInY() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc4::IfcPlanarExtent::SizeInY() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcPlanarExtent::setSizeInY(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcPlanarExtent::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[761]); } const IfcParse::entity& Ifc4x3_rc4::IfcPlanarExtent::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[761]); } Ifc4x3_rc4::IfcPlanarExtent::IfcPlanarExtent(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeInY) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; populate_derived(); } +Ifc4x3_rc4::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeInY) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; populate_derived(); } // Function implementations for IfcPlane @@ -13431,7 +13431,7 @@ Ifc4x3_rc4::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeIn const IfcParse::entity& Ifc4x3_rc4::IfcPlane::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[763]); } const IfcParse::entity& Ifc4x3_rc4::IfcPlane::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[763]); } Ifc4x3_rc4::IfcPlane::IfcPlane(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x3_rc4::IfcPlane::IfcPlane(::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position) : IfcElementarySurface(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcPlane::IfcPlane(::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlant @@ -13439,17 +13439,17 @@ Ifc4x3_rc4::IfcPlane::IfcPlane(::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position) : const IfcParse::entity& Ifc4x3_rc4::IfcPlant::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[765]); } const IfcParse::entity& Ifc4x3_rc4::IfcPlant::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[765]); } Ifc4x3_rc4::IfcPlant::IfcPlant(IfcEntityInstanceData&& e) : IfcGeographicElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPlate -boost::optional< ::Ifc4x3_rc4::IfcPlateTypeEnum::Value > Ifc4x3_rc4::IfcPlate::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPlateTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcPlateTypeEnum::Value > Ifc4x3_rc4::IfcPlate::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPlateTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcPlate::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPlateTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcPlateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcPlate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[766]); } const IfcParse::entity& Ifc4x3_rc4::IfcPlate::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[766]); } Ifc4x3_rc4::IfcPlate::IfcPlate(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc4::IfcPlate::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) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc4::IfcPlate::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) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPlateStandardCase @@ -13457,17 +13457,17 @@ Ifc4x3_rc4::IfcPlate::IfcPlate(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHi const IfcParse::entity& Ifc4x3_rc4::IfcPlateStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[767]); } const IfcParse::entity& Ifc4x3_rc4::IfcPlateStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[767]); } Ifc4x3_rc4::IfcPlateStandardCase::IfcPlateStandardCase(IfcEntityInstanceData&& e) : IfcPlate(std::move(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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPlateType -::Ifc4x3_rc4::IfcPlateTypeEnum::Value Ifc4x3_rc4::IfcPlateType::PredefinedType() const { return ::Ifc4x3_rc4::IfcPlateTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcPlateTypeEnum::Value Ifc4x3_rc4::IfcPlateType::PredefinedType() const { return ::Ifc4x3_rc4::IfcPlateTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcPlateType::setPredefinedType(::Ifc4x3_rc4::IfcPlateTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcPlateTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcPlateType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[768]); } const IfcParse::entity& Ifc4x3_rc4::IfcPlateType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[768]); } Ifc4x3_rc4::IfcPlateType::IfcPlateType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPoint @@ -13475,113 +13475,113 @@ Ifc4x3_rc4::IfcPlateType::IfcPlateType(std::string v1_GlobalId, ::Ifc4x3_rc4::If const IfcParse::entity& Ifc4x3_rc4::IfcPoint::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[770]); } const IfcParse::entity& Ifc4x3_rc4::IfcPoint::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[770]); } Ifc4x3_rc4::IfcPoint::IfcPoint(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc4::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPointByDistanceExpression -::Ifc4x3_rc4::IfcCurveMeasureSelect* Ifc4x3_rc4::IfcPointByDistanceExpression::DistanceAlong() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCurveMeasureSelect>(true); } +::Ifc4x3_rc4::IfcCurveMeasureSelect* Ifc4x3_rc4::IfcPointByDistanceExpression::DistanceAlong() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCurveMeasureSelect>(true); } void Ifc4x3_rc4::IfcPointByDistanceExpression::setDistanceAlong(::Ifc4x3_rc4::IfcCurveMeasureSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< double > Ifc4x3_rc4::IfcPointByDistanceExpression::OffsetLateral() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc4::IfcPointByDistanceExpression::OffsetLateral() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcPointByDistanceExpression::setOffsetLateral(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc4::IfcPointByDistanceExpression::OffsetVertical() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc4::IfcPointByDistanceExpression::OffsetVertical() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcPointByDistanceExpression::setOffsetVertical(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc4::IfcPointByDistanceExpression::OffsetLongitudinal() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc4::IfcPointByDistanceExpression::OffsetLongitudinal() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcPointByDistanceExpression::setOffsetLongitudinal(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcPointByDistanceExpression::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcCurve>(true); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcPointByDistanceExpression::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcPointByDistanceExpression::setBasisCurve(::Ifc4x3_rc4::IfcCurve* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc4::IfcPointByDistanceExpression::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[771]); } const IfcParse::entity& Ifc4x3_rc4::IfcPointByDistanceExpression::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[771]); } Ifc4x3_rc4::IfcPointByDistanceExpression::IfcPointByDistanceExpression(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -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(storage_t(5))) { set_attribute_value(0, v1_DistanceAlong ? v1_DistanceAlong->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); }set_attribute_value(4, v5_BasisCurve ? v5_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_DistanceAlong ? v1_DistanceAlong->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); }set_attribute_value(4, v5_BasisCurve ? v5_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPointOnCurve -::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCurve>(true); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcPointOnCurve::setBasisCurve(::Ifc4x3_rc4::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc4::IfcPointOnCurve::PointParameter() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc4::IfcPointOnCurve::PointParameter() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcPointOnCurve::setPointParameter(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcPointOnCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[772]); } const IfcParse::entity& Ifc4x3_rc4::IfcPointOnCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[772]); } Ifc4x3_rc4::IfcPointOnCurve::IfcPointOnCurve(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x3_rc4::IfcPointOnCurve::IfcPointOnCurve(::Ifc4x3_rc4::IfcCurve* v1_BasisCurve, double v2_PointParameter) : IfcPoint(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameter));; populate_derived(); } +Ifc4x3_rc4::IfcPointOnCurve::IfcPointOnCurve(::Ifc4x3_rc4::IfcCurve* v1_BasisCurve, double v2_PointParameter) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameter));; populate_derived(); } // Function implementations for IfcPointOnSurface -::Ifc4x3_rc4::IfcSurface* Ifc4x3_rc4::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcSurface>(true); } +::Ifc4x3_rc4::IfcSurface* Ifc4x3_rc4::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcSurface>(true); } void Ifc4x3_rc4::IfcPointOnSurface::setBasisSurface(::Ifc4x3_rc4::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc4::IfcPointOnSurface::PointParameterU() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc4::IfcPointOnSurface::PointParameterU() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcPointOnSurface::setPointParameterU(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc4::IfcPointOnSurface::PointParameterV() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc4::IfcPointOnSurface::PointParameterV() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcPointOnSurface::setPointParameterV(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcPointOnSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[773]); } const IfcParse::entity& Ifc4x3_rc4::IfcPointOnSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[773]); } Ifc4x3_rc4::IfcPointOnSurface::IfcPointOnSurface(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x3_rc4::IfcPointOnSurface::IfcPointOnSurface(::Ifc4x3_rc4::IfcSurface* v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) : IfcPoint(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; populate_derived(); } +Ifc4x3_rc4::IfcPointOnSurface::IfcPointOnSurface(::Ifc4x3_rc4::IfcSurface* v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; populate_derived(); } // Function implementations for IfcPolyLoop -aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr Ifc4x3_rc4::IfcPolyLoop::Polygon() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcCartesianPoint >(); } +aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr Ifc4x3_rc4::IfcPolyLoop::Polygon() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcCartesianPoint >(); } void Ifc4x3_rc4::IfcPolyLoop::setPolygon(aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc4::IfcPolyLoop::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[778]); } const IfcParse::entity& Ifc4x3_rc4::IfcPolyLoop::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[778]); } Ifc4x3_rc4::IfcPolyLoop::IfcPolyLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc4x3_rc4::IfcPolyLoop::IfcPolyLoop(aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v1_Polygon) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Polygon)->generalize());; populate_derived(); } +Ifc4x3_rc4::IfcPolyLoop::IfcPolyLoop(aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v1_Polygon) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Polygon)->generalize());; populate_derived(); } // Function implementations for IfcPolygonalBoundedHalfSpace -::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(true); } void Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace::setPosition(::Ifc4x3_rc4::IfcAxis2Placement3D* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcBoundedCurve* Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcBoundedCurve>(true); } +::Ifc4x3_rc4::IfcBoundedCurve* Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcBoundedCurve>(true); } void Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(::Ifc4x3_rc4::IfcBoundedCurve* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[775]); } const IfcParse::entity& Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[775]); } Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(IfcEntityInstanceData&& e) : IfcHalfSpaceSolid(std::move(e)) { } -Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(::Ifc4x3_rc4::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc4::IfcAxis2Placement3D* v3_Position, ::Ifc4x3_rc4::IfcBoundedCurve* v4_PolygonalBoundary) : IfcHalfSpaceSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PolygonalBoundary ? v4_PolygonalBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(::Ifc4x3_rc4::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_rc4::IfcAxis2Placement3D* v3_Position, ::Ifc4x3_rc4::IfcBoundedCurve* v4_PolygonalBoundary) : IfcHalfSpaceSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PolygonalBoundary ? v4_PolygonalBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPolygonalFaceSet -boost::optional< bool > Ifc4x3_rc4::IfcPolygonalFaceSet::Closed() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } bool v = data_.get_attribute_value(1); return v; } +boost::optional< bool > Ifc4x3_rc4::IfcPolygonalFaceSet::Closed() const { if(get_attribute_value(1).isNull()) { return boost::none; } bool v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcPolygonalFaceSet::setClosed(boost::optional< bool > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3_rc4::IfcIndexedPolygonalFace >::ptr Ifc4x3_rc4::IfcPolygonalFaceSet::Faces() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcIndexedPolygonalFace >(); } +aggregate_of< ::Ifc4x3_rc4::IfcIndexedPolygonalFace >::ptr Ifc4x3_rc4::IfcPolygonalFaceSet::Faces() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcIndexedPolygonalFace >(); } void Ifc4x3_rc4::IfcPolygonalFaceSet::setFaces(aggregate_of< ::Ifc4x3_rc4::IfcIndexedPolygonalFace >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc4::IfcPolygonalFaceSet::PnIndex() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc4::IfcPolygonalFaceSet::PnIndex() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcPolygonalFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc4::IfcPolygonalFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[776]); } const IfcParse::entity& Ifc4x3_rc4::IfcPolygonalFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[776]); } Ifc4x3_rc4::IfcPolygonalFaceSet::IfcPolygonalFaceSet(IfcEntityInstanceData&& e) : IfcTessellatedFaceSet(std::move(e)) { } -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(storage_t(4))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, (v3_Faces)->generalize()); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); }; populate_derived(); } +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(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, (v3_Faces)->generalize()); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); }; populate_derived(); } // Function implementations for IfcPolyline -aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr Ifc4x3_rc4::IfcPolyline::Points() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcCartesianPoint >(); } +aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr Ifc4x3_rc4::IfcPolyline::Points() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcCartesianPoint >(); } void Ifc4x3_rc4::IfcPolyline::setPoints(aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc4::IfcPolyline::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[777]); } const IfcParse::entity& Ifc4x3_rc4::IfcPolyline::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[777]); } Ifc4x3_rc4::IfcPolyline::IfcPolyline(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_rc4::IfcPolyline::IfcPolyline(aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v1_Points) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Points)->generalize());; populate_derived(); } +Ifc4x3_rc4::IfcPolyline::IfcPolyline(aggregate_of< ::Ifc4x3_rc4::IfcCartesianPoint >::ptr v1_Points) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Points)->generalize());; populate_derived(); } // Function implementations for IfcPolynomialCurve -::Ifc4x3_rc4::IfcPlacement* Ifc4x3_rc4::IfcPolynomialCurve::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcPlacement>(true); } +::Ifc4x3_rc4::IfcPlacement* Ifc4x3_rc4::IfcPolynomialCurve::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcPlacement>(true); } void Ifc4x3_rc4::IfcPolynomialCurve::setPosition(::Ifc4x3_rc4::IfcPlacement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_rc4::IfcPolynomialCurve::CoefficientsX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_rc4::IfcPolynomialCurve::CoefficientsX() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcPolynomialCurve::setCoefficientsX(boost::optional< std::vector< double > /*[2:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_rc4::IfcPolynomialCurve::CoefficientsY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_rc4::IfcPolynomialCurve::CoefficientsY() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcPolynomialCurve::setCoefficientsY(boost::optional< std::vector< double > /*[2:?]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_rc4::IfcPolynomialCurve::CoefficientsZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_rc4::IfcPolynomialCurve::CoefficientsZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcPolynomialCurve::setCoefficientsZ(boost::optional< std::vector< double > /*[2:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc4::IfcPolynomialCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[779]); } const IfcParse::entity& Ifc4x3_rc4::IfcPolynomialCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[779]); } Ifc4x3_rc4::IfcPolynomialCurve::IfcPolynomialCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_rc4::IfcPolynomialCurve::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) : IfcCurve(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CoefficientsX) {set_attribute_value(1, (*v2_CoefficientsX)); } if (v3_CoefficientsY) {set_attribute_value(2, (*v3_CoefficientsY)); } if (v4_CoefficientsZ) {set_attribute_value(3, (*v4_CoefficientsZ)); }; populate_derived(); } +Ifc4x3_rc4::IfcPolynomialCurve::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) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CoefficientsX) {set_attribute_value(1, (*v2_CoefficientsX)); } if (v3_CoefficientsY) {set_attribute_value(2, (*v3_CoefficientsY)); } if (v4_CoefficientsZ) {set_attribute_value(3, (*v4_CoefficientsZ)); }; populate_derived(); } // Function implementations for IfcPort @@ -13592,7 +13592,7 @@ Ifc4x3_rc4::IfcPolynomialCurve::IfcPolynomialCurve(::Ifc4x3_rc4::IfcPlacement* v const IfcParse::entity& Ifc4x3_rc4::IfcPort::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[780]); } const IfcParse::entity& Ifc4x3_rc4::IfcPort::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[780]); } Ifc4x3_rc4::IfcPort::IfcPort(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_rc4::IfcPort::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) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcPort::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) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPositioningElement @@ -13602,29 +13602,29 @@ Ifc4x3_rc4::IfcPort::IfcPort(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHist const IfcParse::entity& Ifc4x3_rc4::IfcPositioningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[781]); } const IfcParse::entity& Ifc4x3_rc4::IfcPositioningElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[781]); } Ifc4x3_rc4::IfcPositioningElement::IfcPositioningElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -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(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPostalAddress -boost::optional< std::string > Ifc4x3_rc4::IfcPostalAddress::InternalLocation() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcPostalAddress::InternalLocation() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcPostalAddress::setInternalLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcPostalAddress::AddressLines() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcPostalAddress::AddressLines() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcPostalAddress::setAddressLines(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc4::IfcPostalAddress::PostalBox() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcPostalAddress::PostalBox() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcPostalAddress::setPostalBox(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc4::IfcPostalAddress::Town() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcPostalAddress::Town() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcPostalAddress::setTown(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc4::IfcPostalAddress::Region() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcPostalAddress::Region() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcPostalAddress::setRegion(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc4::IfcPostalAddress::PostalCode() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcPostalAddress::PostalCode() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcPostalAddress::setPostalCode(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_rc4::IfcPostalAddress::Country() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcPostalAddress::Country() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc4::IfcPostalAddress::setCountry(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc4::IfcPostalAddress::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[786]); } const IfcParse::entity& Ifc4x3_rc4::IfcPostalAddress::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[786]); } Ifc4x3_rc4::IfcPostalAddress::IfcPostalAddress(IfcEntityInstanceData&& e) : IfcAddress(std::move(e)) { } -Ifc4x3_rc4::IfcPostalAddress::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) : IfcAddress(IfcEntityInstanceData(storage_t(10))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; populate_derived(); } +Ifc4x3_rc4::IfcPostalAddress::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) : IfcAddress(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; populate_derived(); } // Function implementations for IfcPreDefinedColour @@ -13632,7 +13632,7 @@ Ifc4x3_rc4::IfcPostalAddress::IfcPostalAddress(boost::optional< ::Ifc4x3_rc4::If const IfcParse::entity& Ifc4x3_rc4::IfcPreDefinedColour::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[788]); } const IfcParse::entity& Ifc4x3_rc4::IfcPreDefinedColour::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[788]); } Ifc4x3_rc4::IfcPreDefinedColour::IfcPreDefinedColour(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc4x3_rc4::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_rc4::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedCurveFont @@ -13640,17 +13640,17 @@ Ifc4x3_rc4::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcP const IfcParse::entity& Ifc4x3_rc4::IfcPreDefinedCurveFont::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[789]); } const IfcParse::entity& Ifc4x3_rc4::IfcPreDefinedCurveFont::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[789]); } Ifc4x3_rc4::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc4x3_rc4::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_rc4::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedItem -std::string Ifc4x3_rc4::IfcPreDefinedItem::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc4::IfcPreDefinedItem::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcPreDefinedItem::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc4::IfcPreDefinedItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[790]); } const IfcParse::entity& Ifc4x3_rc4::IfcPreDefinedItem::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[790]); } Ifc4x3_rc4::IfcPreDefinedItem::IfcPreDefinedItem(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_rc4::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedProperties @@ -13658,7 +13658,7 @@ Ifc4x3_rc4::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcPrese const IfcParse::entity& Ifc4x3_rc4::IfcPreDefinedProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[791]); } const IfcParse::entity& Ifc4x3_rc4::IfcPreDefinedProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[791]); } Ifc4x3_rc4::IfcPreDefinedProperties::IfcPreDefinedProperties(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x3_rc4::IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc4::IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPreDefinedPropertySet @@ -13666,7 +13666,7 @@ Ifc4x3_rc4::IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbst const IfcParse::entity& Ifc4x3_rc4::IfcPreDefinedPropertySet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[792]); } const IfcParse::entity& Ifc4x3_rc4::IfcPreDefinedPropertySet::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[792]); } Ifc4x3_rc4::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc4x3_rc4::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc4::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPreDefinedTextFont @@ -13674,7 +13674,7 @@ Ifc4x3_rc4::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_Gl const IfcParse::entity& Ifc4x3_rc4::IfcPreDefinedTextFont::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[793]); } const IfcParse::entity& Ifc4x3_rc4::IfcPreDefinedTextFont::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[793]); } Ifc4x3_rc4::IfcPreDefinedTextFont::IfcPreDefinedTextFont(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc4x3_rc4::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_rc4::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPresentationItem @@ -13682,74 +13682,74 @@ Ifc4x3_rc4::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : const IfcParse::entity& Ifc4x3_rc4::IfcPresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[796]); } const IfcParse::entity& Ifc4x3_rc4::IfcPresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[796]); } Ifc4x3_rc4::IfcPresentationItem::IfcPresentationItem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcPresentationItem::IfcPresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc4::IfcPresentationItem::IfcPresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPresentationLayerAssignment -std::string Ifc4x3_rc4::IfcPresentationLayerAssignment::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc4::IfcPresentationLayerAssignment::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcPresentationLayerAssignment::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc4::IfcPresentationLayerAssignment::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcPresentationLayerAssignment::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3_rc4::IfcLayeredItem >::ptr Ifc4x3_rc4::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcLayeredItem >(); } +aggregate_of< ::Ifc4x3_rc4::IfcLayeredItem >::ptr Ifc4x3_rc4::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcLayeredItem >(); } void Ifc4x3_rc4::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x3_rc4::IfcLayeredItem >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x3_rc4::IfcPresentationLayerAssignment::Identifier() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcPresentationLayerAssignment::Identifier() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc4::IfcPresentationLayerAssignment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[797]); } const IfcParse::entity& Ifc4x3_rc4::IfcPresentationLayerAssignment::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[797]); } Ifc4x3_rc4::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc4::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; populate_derived(); } +Ifc4x3_rc4::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc4::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; populate_derived(); } // Function implementations for IfcPresentationLayerWithStyle -boost::logic::tribool Ifc4x3_rc4::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = data_.get_attribute_value(4); return v; } +boost::logic::tribool Ifc4x3_rc4::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcPresentationLayerWithStyle::setLayerOn(boost::logic::tribool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::logic::tribool Ifc4x3_rc4::IfcPresentationLayerWithStyle::LayerFrozen() const { boost::logic::tribool v = data_.get_attribute_value(5); return v; } +boost::logic::tribool Ifc4x3_rc4::IfcPresentationLayerWithStyle::LayerFrozen() const { boost::logic::tribool v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcPresentationLayerWithStyle::setLayerFrozen(boost::logic::tribool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::logic::tribool Ifc4x3_rc4::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = data_.get_attribute_value(6); return v; } +boost::logic::tribool Ifc4x3_rc4::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcPresentationLayerWithStyle::setLayerBlocked(boost::logic::tribool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -aggregate_of< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr Ifc4x3_rc4::IfcPresentationLayerWithStyle::LayerStyles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc4::IfcPresentationStyle >(); } +aggregate_of< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr Ifc4x3_rc4::IfcPresentationLayerWithStyle::LayerStyles() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc4::IfcPresentationStyle >(); } void Ifc4x3_rc4::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc4::IfcPresentationLayerWithStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[798]); } const IfcParse::entity& Ifc4x3_rc4::IfcPresentationLayerWithStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[798]); } Ifc4x3_rc4::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData&& e) : IfcPresentationLayerAssignment(std::move(e)) { } -Ifc4x3_rc4::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc4::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, (v8_LayerStyles)->generalize());; populate_derived(); } +Ifc4x3_rc4::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc4::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, (v8_LayerStyles)->generalize());; populate_derived(); } // Function implementations for IfcPresentationStyle -boost::optional< std::string > Ifc4x3_rc4::IfcPresentationStyle::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcPresentationStyle::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcPresentationStyle::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3_rc4::IfcPresentationStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[799]); } const IfcParse::entity& Ifc4x3_rc4::IfcPresentationStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[799]); } Ifc4x3_rc4::IfcPresentationStyle::IfcPresentationStyle(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_rc4::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcProcedure -boost::optional< ::Ifc4x3_rc4::IfcProcedureTypeEnum::Value > Ifc4x3_rc4::IfcProcedure::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcProcedureTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_rc4::IfcProcedureTypeEnum::Value > Ifc4x3_rc4::IfcProcedure::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcProcedureTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc4::IfcProcedure::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcProcedureTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc4::IfcProcedureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc4::IfcProcedure::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[801]); } const IfcParse::entity& Ifc4x3_rc4::IfcProcedure::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[801]); } Ifc4x3_rc4::IfcProcedure::IfcProcedure(IfcEntityInstanceData&& e) : IfcProcess(std::move(e)) { } -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(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProcedureType -::Ifc4x3_rc4::IfcProcedureTypeEnum::Value Ifc4x3_rc4::IfcProcedureType::PredefinedType() const { return ::Ifc4x3_rc4::IfcProcedureTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcProcedureTypeEnum::Value Ifc4x3_rc4::IfcProcedureType::PredefinedType() const { return ::Ifc4x3_rc4::IfcProcedureTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcProcedureType::setPredefinedType(::Ifc4x3_rc4::IfcProcedureTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcProcedureTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcProcedureType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[802]); } const IfcParse::entity& Ifc4x3_rc4::IfcProcedureType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[802]); } Ifc4x3_rc4::IfcProcedureType::IfcProcedureType(IfcEntityInstanceData&& e) : IfcTypeProcess(std::move(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< 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcProcess -boost::optional< std::string > Ifc4x3_rc4::IfcProcess::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcProcess::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcProcess::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc4::IfcProcess::LongDescription() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcProcess::LongDescription() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcProcess::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_rc4::IfcRelSequence::list::ptr Ifc4x3_rc4::IfcProcess::IsPredecessorTo() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[948], 4)->as(); } @@ -13759,12 +13759,12 @@ void Ifc4x3_rc4::IfcProcess::setLongDescription(boost::optional< std::string > v const IfcParse::entity& Ifc4x3_rc4::IfcProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[804]); } const IfcParse::entity& Ifc4x3_rc4::IfcProcess::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[804]); } Ifc4x3_rc4::IfcProcess::IfcProcess(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -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(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } +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(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } // Function implementations for IfcProduct -::Ifc4x3_rc4::IfcObjectPlacement* Ifc4x3_rc4::IfcProduct::ObjectPlacement() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcObjectPlacement>(true); } +::Ifc4x3_rc4::IfcObjectPlacement* Ifc4x3_rc4::IfcProduct::ObjectPlacement() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcObjectPlacement>(true); } void Ifc4x3_rc4::IfcProduct::setObjectPlacement(::Ifc4x3_rc4::IfcObjectPlacement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc4::IfcProductRepresentation* Ifc4x3_rc4::IfcProduct::Representation() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcProductRepresentation>(true); } +::Ifc4x3_rc4::IfcProductRepresentation* Ifc4x3_rc4::IfcProduct::Representation() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcProductRepresentation>(true); } void Ifc4x3_rc4::IfcProduct::setRepresentation(::Ifc4x3_rc4::IfcProductRepresentation* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } ::Ifc4x3_rc4::IfcRelAssignsToProduct::list::ptr Ifc4x3_rc4::IfcProduct::ReferencedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[911], 6)->as(); } @@ -13774,7 +13774,7 @@ void Ifc4x3_rc4::IfcProduct::setRepresentation(::Ifc4x3_rc4::IfcProductRepresent const IfcParse::entity& Ifc4x3_rc4::IfcProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[806]); } const IfcParse::entity& Ifc4x3_rc4::IfcProduct::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[806]); } Ifc4x3_rc4::IfcProduct::IfcProduct(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_rc4::IfcProduct::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) : IfcObject(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcProduct::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) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProductDefinitionShape @@ -13784,26 +13784,26 @@ Ifc4x3_rc4::IfcProduct::IfcProduct(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwn const IfcParse::entity& Ifc4x3_rc4::IfcProductDefinitionShape::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[807]); } const IfcParse::entity& Ifc4x3_rc4::IfcProductDefinitionShape::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[807]); } Ifc4x3_rc4::IfcProductDefinitionShape::IfcProductDefinitionShape(IfcEntityInstanceData&& e) : IfcProductRepresentation(std::move(e)) { } -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(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } +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(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } // Function implementations for IfcProductRepresentation -boost::optional< std::string > Ifc4x3_rc4::IfcProductRepresentation::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcProductRepresentation::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcProductRepresentation::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc4::IfcProductRepresentation::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcProductRepresentation::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcProductRepresentation::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3_rc4::IfcRepresentation >::ptr Ifc4x3_rc4::IfcProductRepresentation::Representations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcRepresentation >(); } +aggregate_of< ::Ifc4x3_rc4::IfcRepresentation >::ptr Ifc4x3_rc4::IfcProductRepresentation::Representations() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcRepresentation >(); } void Ifc4x3_rc4::IfcProductRepresentation::setRepresentations(aggregate_of< ::Ifc4x3_rc4::IfcRepresentation >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcProductRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[808]); } const IfcParse::entity& Ifc4x3_rc4::IfcProductRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[808]); } Ifc4x3_rc4::IfcProductRepresentation::IfcProductRepresentation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -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(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } +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(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } // Function implementations for IfcProfileDef -::Ifc4x3_rc4::IfcProfileTypeEnum::Value Ifc4x3_rc4::IfcProfileDef::ProfileType() const { return ::Ifc4x3_rc4::IfcProfileTypeEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_rc4::IfcProfileTypeEnum::Value Ifc4x3_rc4::IfcProfileDef::ProfileType() const { return ::Ifc4x3_rc4::IfcProfileTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x3_rc4::IfcProfileDef::setProfileType(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc4::IfcProfileDef::ProfileName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcProfileDef::ProfileName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcProfileDef::setProfileName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x3_rc4::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc4::IfcProfileDef::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[433], 3)->as(); } @@ -13812,17 +13812,17 @@ void Ifc4x3_rc4::IfcProfileDef::setProfileName(boost::optional< std::string > v) const IfcParse::entity& Ifc4x3_rc4::IfcProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[811]); } const IfcParse::entity& Ifc4x3_rc4::IfcProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[811]); } Ifc4x3_rc4::IfcProfileDef::IfcProfileDef(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcProfileDef::IfcProfileDef(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; populate_derived(); } +Ifc4x3_rc4::IfcProfileDef::IfcProfileDef(::Ifc4x3_rc4::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; populate_derived(); } // Function implementations for IfcProfileProperties -::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcProfileDef>(true); } +::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcProfileDef>(true); } void Ifc4x3_rc4::IfcProfileProperties::setProfileDefinition(::Ifc4x3_rc4::IfcProfileDef* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcProfileProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[812]); } const IfcParse::entity& Ifc4x3_rc4::IfcProfileProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[812]); } Ifc4x3_rc4::IfcProfileProperties::IfcProfileProperties(IfcEntityInstanceData&& e) : IfcExtendedProperties(std::move(e)) { } -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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_ProfileDefinition ? v4_ProfileDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_ProfileDefinition ? v4_ProfileDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProject @@ -13830,7 +13830,7 @@ Ifc4x3_rc4::IfcProfileProperties::IfcProfileProperties(boost::optional< std::str const IfcParse::entity& Ifc4x3_rc4::IfcProject::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[814]); } const IfcParse::entity& Ifc4x3_rc4::IfcProject::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[814]); } Ifc4x3_rc4::IfcProject::IfcProject(IfcEntityInstanceData&& e) : IfcContext(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_rc4::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProjectLibrary @@ -13838,50 +13838,50 @@ Ifc4x3_rc4::IfcProject::IfcProject(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwn const IfcParse::entity& Ifc4x3_rc4::IfcProjectLibrary::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[819]); } const IfcParse::entity& Ifc4x3_rc4::IfcProjectLibrary::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[819]); } Ifc4x3_rc4::IfcProjectLibrary::IfcProjectLibrary(IfcEntityInstanceData&& e) : IfcContext(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_rc4::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProjectOrder -boost::optional< ::Ifc4x3_rc4::IfcProjectOrderTypeEnum::Value > Ifc4x3_rc4::IfcProjectOrder::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcProjectOrderTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_rc4::IfcProjectOrderTypeEnum::Value > Ifc4x3_rc4::IfcProjectOrder::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcProjectOrderTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_rc4::IfcProjectOrder::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcProjectOrderTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_rc4::IfcProjectOrderTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc4::IfcProjectOrder::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcProjectOrder::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcProjectOrder::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc4::IfcProjectOrder::LongDescription() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcProjectOrder::LongDescription() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcProjectOrder::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcProjectOrder::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[820]); } const IfcParse::entity& Ifc4x3_rc4::IfcProjectOrder::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[820]); } Ifc4x3_rc4::IfcProjectOrder::IfcProjectOrder(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc4::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc4::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } // Function implementations for IfcProjectedCRS -boost::optional< std::string > Ifc4x3_rc4::IfcProjectedCRS::MapProjection() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcProjectedCRS::MapProjection() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcProjectedCRS::setMapProjection(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc4::IfcProjectedCRS::MapZone() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcProjectedCRS::MapZone() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcProjectedCRS::setMapZone(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc4::IfcNamedUnit* Ifc4x3_rc4::IfcProjectedCRS::MapUnit() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcNamedUnit>(true); } +::Ifc4x3_rc4::IfcNamedUnit* Ifc4x3_rc4::IfcProjectedCRS::MapUnit() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcNamedUnit>(true); } void Ifc4x3_rc4::IfcProjectedCRS::setMapUnit(::Ifc4x3_rc4::IfcNamedUnit* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc4::IfcProjectedCRS::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[815]); } const IfcParse::entity& Ifc4x3_rc4::IfcProjectedCRS::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[815]); } Ifc4x3_rc4::IfcProjectedCRS::IfcProjectedCRS(IfcEntityInstanceData&& e) : IfcCoordinateReferenceSystem(std::move(e)) { } -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(storage_t(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, v7_MapUnit ? v7_MapUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, v7_MapUnit ? v7_MapUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProjectionElement -boost::optional< ::Ifc4x3_rc4::IfcProjectionElementTypeEnum::Value > Ifc4x3_rc4::IfcProjectionElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcProjectionElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcProjectionElementTypeEnum::Value > Ifc4x3_rc4::IfcProjectionElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcProjectionElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcProjectionElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcProjectionElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcProjectionElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcProjectionElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[817]); } const IfcParse::entity& Ifc4x3_rc4::IfcProjectionElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[817]); } Ifc4x3_rc4::IfcProjectionElement::IfcProjectionElement(IfcEntityInstanceData&& e) : IfcFeatureElementAddition(std::move(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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProperty -std::string Ifc4x3_rc4::IfcProperty::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc4::IfcProperty::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcProperty::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc4::IfcProperty::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcProperty::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcProperty::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x3_rc4::IfcPropertySet::list::ptr Ifc4x3_rc4::IfcProperty::PartOfPset() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[831], 4)->as(); } @@ -13894,7 +13894,7 @@ void Ifc4x3_rc4::IfcProperty::setDescription(boost::optional< std::string > v) { const IfcParse::entity& Ifc4x3_rc4::IfcProperty::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[822]); } const IfcParse::entity& Ifc4x3_rc4::IfcProperty::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[822]); } Ifc4x3_rc4::IfcProperty::IfcProperty(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x3_rc4::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4x3_rc4::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcPropertyAbstraction @@ -13903,23 +13903,23 @@ Ifc4x3_rc4::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std:: const IfcParse::entity& Ifc4x3_rc4::IfcPropertyAbstraction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[823]); } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyAbstraction::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[823]); } Ifc4x3_rc4::IfcPropertyAbstraction::IfcPropertyAbstraction(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcPropertyAbstraction::IfcPropertyAbstraction() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc4::IfcPropertyAbstraction::IfcPropertyAbstraction() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPropertyBoundedValue -::Ifc4x3_rc4::IfcValue* Ifc4x3_rc4::IfcPropertyBoundedValue::UpperBoundValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcValue>(true); } +::Ifc4x3_rc4::IfcValue* Ifc4x3_rc4::IfcPropertyBoundedValue::UpperBoundValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcValue>(true); } void Ifc4x3_rc4::IfcPropertyBoundedValue::setUpperBoundValue(::Ifc4x3_rc4::IfcValue* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcValue* Ifc4x3_rc4::IfcPropertyBoundedValue::LowerBoundValue() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcValue>(true); } +::Ifc4x3_rc4::IfcValue* Ifc4x3_rc4::IfcPropertyBoundedValue::LowerBoundValue() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcValue>(true); } void Ifc4x3_rc4::IfcPropertyBoundedValue::setLowerBoundValue(::Ifc4x3_rc4::IfcValue* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyBoundedValue::Unit() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcUnit>(true); } +::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyBoundedValue::Unit() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcUnit>(true); } void Ifc4x3_rc4::IfcPropertyBoundedValue::setUnit(::Ifc4x3_rc4::IfcUnit* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcValue* Ifc4x3_rc4::IfcPropertyBoundedValue::SetPointValue() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcValue>(true); } +::Ifc4x3_rc4::IfcValue* Ifc4x3_rc4::IfcPropertyBoundedValue::SetPointValue() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcValue>(true); } void Ifc4x3_rc4::IfcPropertyBoundedValue::setSetPointValue(::Ifc4x3_rc4::IfcValue* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyBoundedValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[824]); } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyBoundedValue::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[824]); } Ifc4x3_rc4::IfcPropertyBoundedValue::IfcPropertyBoundedValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_rc4::IfcPropertyBoundedValue::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) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_UpperBoundValue ? v3_UpperBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_LowerBoundValue ? v4_LowerBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_Unit ? v5_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_SetPointValue ? v6_SetPointValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcPropertyBoundedValue::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) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_UpperBoundValue ? v3_UpperBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_LowerBoundValue ? v4_LowerBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_Unit ? v5_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_SetPointValue ? v6_SetPointValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyDefinition @@ -13929,81 +13929,81 @@ Ifc4x3_rc4::IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name const IfcParse::entity& Ifc4x3_rc4::IfcPropertyDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[825]); } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[825]); } Ifc4x3_rc4::IfcPropertyDefinition::IfcPropertyDefinition(IfcEntityInstanceData&& e) : IfcRoot(std::move(e)) { } -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(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +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(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertyDependencyRelationship -::Ifc4x3_rc4::IfcProperty* Ifc4x3_rc4::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcProperty>(true); } +::Ifc4x3_rc4::IfcProperty* Ifc4x3_rc4::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcProperty>(true); } void Ifc4x3_rc4::IfcPropertyDependencyRelationship::setDependingProperty(::Ifc4x3_rc4::IfcProperty* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcProperty* Ifc4x3_rc4::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcProperty>(true); } +::Ifc4x3_rc4::IfcProperty* Ifc4x3_rc4::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcProperty>(true); } void Ifc4x3_rc4::IfcPropertyDependencyRelationship::setDependantProperty(::Ifc4x3_rc4::IfcProperty* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc4::IfcPropertyDependencyRelationship::Expression() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcPropertyDependencyRelationship::Expression() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyDependencyRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[826]); } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyDependencyRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[826]); } Ifc4x3_rc4::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -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(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_DependingProperty ? v3_DependingProperty->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_DependantProperty ? v4_DependantProperty->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } +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(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_DependingProperty ? v3_DependingProperty->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_DependantProperty ? v4_DependantProperty->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } // Function implementations for IfcPropertyEnumeratedValue -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > Ifc4x3_rc4::IfcPropertyEnumeratedValue::EnumerationValues() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > Ifc4x3_rc4::IfcPropertyEnumeratedValue::EnumerationValues() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcValue >(); } void Ifc4x3_rc4::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } -::Ifc4x3_rc4::IfcPropertyEnumeration* Ifc4x3_rc4::IfcPropertyEnumeratedValue::EnumerationReference() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcPropertyEnumeration>(true); } +::Ifc4x3_rc4::IfcPropertyEnumeration* Ifc4x3_rc4::IfcPropertyEnumeratedValue::EnumerationReference() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcPropertyEnumeration>(true); } void Ifc4x3_rc4::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_rc4::IfcPropertyEnumeration* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyEnumeratedValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[827]); } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyEnumeratedValue::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[827]); } Ifc4x3_rc4::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_rc4::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_rc4::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_EnumerationValues) {set_attribute_value(2, (*v3_EnumerationValues)->generalize()); }set_attribute_value(3, v4_EnumerationReference ? v4_EnumerationReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_rc4::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_EnumerationValues) {set_attribute_value(2, (*v3_EnumerationValues)->generalize()); }set_attribute_value(3, v4_EnumerationReference ? v4_EnumerationReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyEnumeration -std::string Ifc4x3_rc4::IfcPropertyEnumeration::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc4::IfcPropertyEnumeration::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcPropertyEnumeration::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr Ifc4x3_rc4::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcValue >(); } +aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr Ifc4x3_rc4::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcValue >(); } void Ifc4x3_rc4::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyEnumeration::Unit() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcUnit>(true); } +::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyEnumeration::Unit() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcUnit>(true); } void Ifc4x3_rc4::IfcPropertyEnumeration::setUnit(::Ifc4x3_rc4::IfcUnit* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyEnumeration::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[828]); } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyEnumeration::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[828]); } Ifc4x3_rc4::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x3_rc4::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_rc4::IfcUnit* v3_Unit) : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_EnumerationValues)->generalize());set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_rc4::IfcUnit* v3_Unit) : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_EnumerationValues)->generalize());set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyListValue -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > Ifc4x3_rc4::IfcPropertyListValue::ListValues() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > Ifc4x3_rc4::IfcPropertyListValue::ListValues() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcValue >(); } void Ifc4x3_rc4::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } -::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyListValue::Unit() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcUnit>(true); } +::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyListValue::Unit() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcUnit>(true); } void Ifc4x3_rc4::IfcPropertyListValue::setUnit(::Ifc4x3_rc4::IfcUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyListValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[829]); } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyListValue::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[829]); } Ifc4x3_rc4::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_rc4::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_rc4::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_ListValues) {set_attribute_value(2, (*v3_ListValues)->generalize()); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_rc4::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_ListValues) {set_attribute_value(2, (*v3_ListValues)->generalize()); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyReferenceValue -boost::optional< std::string > Ifc4x3_rc4::IfcPropertyReferenceValue::UsageName() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcPropertyReferenceValue::UsageName() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc4::IfcObjectReferenceSelect* Ifc4x3_rc4::IfcPropertyReferenceValue::PropertyReference() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcObjectReferenceSelect>(true); } +::Ifc4x3_rc4::IfcObjectReferenceSelect* Ifc4x3_rc4::IfcPropertyReferenceValue::PropertyReference() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcObjectReferenceSelect>(true); } void Ifc4x3_rc4::IfcPropertyReferenceValue::setPropertyReference(::Ifc4x3_rc4::IfcObjectReferenceSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyReferenceValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[830]); } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyReferenceValue::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[830]); } Ifc4x3_rc4::IfcPropertyReferenceValue::IfcPropertyReferenceValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -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(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, v4_PropertyReference ? v4_PropertyReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, v4_PropertyReference ? v4_PropertyReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertySet -aggregate_of< ::Ifc4x3_rc4::IfcProperty >::ptr Ifc4x3_rc4::IfcPropertySet::HasProperties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc4::IfcProperty >(); } +aggregate_of< ::Ifc4x3_rc4::IfcProperty >::ptr Ifc4x3_rc4::IfcPropertySet::HasProperties() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc4::IfcProperty >(); } void Ifc4x3_rc4::IfcPropertySet::setHasProperties(aggregate_of< ::Ifc4x3_rc4::IfcProperty >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc4::IfcPropertySet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[831]); } const IfcParse::entity& Ifc4x3_rc4::IfcPropertySet::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[831]); } Ifc4x3_rc4::IfcPropertySet::IfcPropertySet(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(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, aggregate_of< ::Ifc4x3_rc4::IfcProperty >::ptr v5_HasProperties) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_HasProperties)->generalize());; populate_derived(); } +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(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_HasProperties)->generalize());; populate_derived(); } // Function implementations for IfcPropertySetDefinition @@ -14014,14 +14014,14 @@ Ifc4x3_rc4::IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, ::Ifc4x3_rc4 const IfcParse::entity& Ifc4x3_rc4::IfcPropertySetDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[832]); } const IfcParse::entity& Ifc4x3_rc4::IfcPropertySetDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[832]); } Ifc4x3_rc4::IfcPropertySetDefinition::IfcPropertySetDefinition(IfcEntityInstanceData&& e) : IfcPropertyDefinition(std::move(e)) { } -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(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +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(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertySetTemplate -boost::optional< ::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::Value > Ifc4x3_rc4::IfcPropertySetTemplate::TemplateType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::FromString(data_.get_attribute_value(4)); } +boost::optional< ::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::Value > Ifc4x3_rc4::IfcPropertySetTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::FromString(get_attribute_value(4)); } void Ifc4x3_rc4::IfcPropertySetTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::Value > v) { if (v) {set_attribute_value(4, EnumerationReference(&::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc4::IfcPropertySetTemplate::ApplicableEntity() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcPropertySetTemplate::ApplicableEntity() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcPropertySetTemplate::setApplicableEntity(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -aggregate_of< ::Ifc4x3_rc4::IfcPropertyTemplate >::ptr Ifc4x3_rc4::IfcPropertySetTemplate::HasPropertyTemplates() const { aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3_rc4::IfcPropertyTemplate >(); } +aggregate_of< ::Ifc4x3_rc4::IfcPropertyTemplate >::ptr Ifc4x3_rc4::IfcPropertySetTemplate::HasPropertyTemplates() const { aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3_rc4::IfcPropertyTemplate >(); } void Ifc4x3_rc4::IfcPropertySetTemplate::setHasPropertyTemplates(aggregate_of< ::Ifc4x3_rc4::IfcPropertyTemplate >::ptr v) { set_attribute_value(6, (v)->generalize());if constexpr (false)unset_attribute_value(6); } ::Ifc4x3_rc4::IfcRelDefinesByTemplate::list::ptr Ifc4x3_rc4::IfcPropertySetTemplate::Defines() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[939], 5)->as(); } @@ -14029,39 +14029,39 @@ void Ifc4x3_rc4::IfcPropertySetTemplate::setHasPropertyTemplates(aggregate_of< : const IfcParse::entity& Ifc4x3_rc4::IfcPropertySetTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[835]); } const IfcParse::entity& Ifc4x3_rc4::IfcPropertySetTemplate::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[835]); } Ifc4x3_rc4::IfcPropertySetTemplate::IfcPropertySetTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplateDefinition(std::move(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, aggregate_of< ::Ifc4x3_rc4::IfcPropertyTemplate >::ptr v7_HasPropertyTemplates) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, (v7_HasPropertyTemplates)->generalize());; populate_derived(); } +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(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc4::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, (v7_HasPropertyTemplates)->generalize());; populate_derived(); } // Function implementations for IfcPropertySingleValue -::Ifc4x3_rc4::IfcValue* Ifc4x3_rc4::IfcPropertySingleValue::NominalValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcValue>(true); } +::Ifc4x3_rc4::IfcValue* Ifc4x3_rc4::IfcPropertySingleValue::NominalValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcValue>(true); } void Ifc4x3_rc4::IfcPropertySingleValue::setNominalValue(::Ifc4x3_rc4::IfcValue* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertySingleValue::Unit() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcUnit>(true); } +::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertySingleValue::Unit() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcUnit>(true); } void Ifc4x3_rc4::IfcPropertySingleValue::setUnit(::Ifc4x3_rc4::IfcUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcPropertySingleValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[837]); } const IfcParse::entity& Ifc4x3_rc4::IfcPropertySingleValue::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[837]); } Ifc4x3_rc4::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -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(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_NominalValue ? v3_NominalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_NominalValue ? v3_NominalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyTableValue -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > Ifc4x3_rc4::IfcPropertyTableValue::DefiningValues() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > Ifc4x3_rc4::IfcPropertyTableValue::DefiningValues() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcValue >(); } void Ifc4x3_rc4::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > Ifc4x3_rc4::IfcPropertyTableValue::DefinedValues() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc4::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > Ifc4x3_rc4::IfcPropertyTableValue::DefinedValues() const { if(get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc4::IfcValue >(); } void Ifc4x3_rc4::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v) { if (v) {set_attribute_value(3, (*v)->generalize());} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc4::IfcPropertyTableValue::Expression() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcPropertyTableValue::Expression() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyTableValue::DefiningUnit() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcUnit>(true); } +::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyTableValue::DefiningUnit() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcUnit>(true); } void Ifc4x3_rc4::IfcPropertyTableValue::setDefiningUnit(::Ifc4x3_rc4::IfcUnit* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyTableValue::DefinedUnit() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcUnit>(true); } +::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcPropertyTableValue::DefinedUnit() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcUnit>(true); } void Ifc4x3_rc4::IfcPropertyTableValue::setDefinedUnit(::Ifc4x3_rc4::IfcUnit* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< ::Ifc4x3_rc4::IfcCurveInterpolationEnum::Value > Ifc4x3_rc4::IfcPropertyTableValue::CurveInterpolation() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCurveInterpolationEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_rc4::IfcCurveInterpolationEnum::Value > Ifc4x3_rc4::IfcPropertyTableValue::CurveInterpolation() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcCurveInterpolationEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc4::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc4x3_rc4::IfcCurveInterpolationEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc4::IfcCurveInterpolationEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyTableValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[838]); } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyTableValue::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[838]); } Ifc4x3_rc4::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_rc4::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::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(storage_t(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_DefiningValues) {set_attribute_value(2, (*v3_DefiningValues)->generalize()); } if (v4_DefinedValues) {set_attribute_value(3, (*v4_DefinedValues)->generalize()); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, v6_DefiningUnit ? v6_DefiningUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_DefinedUnit ? v7_DefinedUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_CurveInterpolation) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); }; populate_derived(); } +Ifc4x3_rc4::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::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(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_DefiningValues) {set_attribute_value(2, (*v3_DefiningValues)->generalize()); } if (v4_DefinedValues) {set_attribute_value(3, (*v4_DefinedValues)->generalize()); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, v6_DefiningUnit ? v6_DefiningUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_DefinedUnit ? v7_DefinedUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_CurveInterpolation) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); }; populate_derived(); } // Function implementations for IfcPropertyTemplate @@ -14071,7 +14071,7 @@ Ifc4x3_rc4::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, bo const IfcParse::entity& Ifc4x3_rc4::IfcPropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[839]); } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[839]); } Ifc4x3_rc4::IfcPropertyTemplate::IfcPropertyTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplateDefinition(std::move(e)) { } -Ifc4x3_rc4::IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc4::IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertyTemplateDefinition @@ -14079,115 +14079,115 @@ Ifc4x3_rc4::IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x3_rc4::IfcPropertyTemplateDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[840]); } const IfcParse::entity& Ifc4x3_rc4::IfcPropertyTemplateDefinition::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[840]); } Ifc4x3_rc4::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(IfcEntityInstanceData&& e) : IfcPropertyDefinition(std::move(e)) { } -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(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +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(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcProtectiveDevice -boost::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value > Ifc4x3_rc4::IfcProtectiveDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value > Ifc4x3_rc4::IfcProtectiveDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcProtectiveDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcProtectiveDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[841]); } const IfcParse::entity& Ifc4x3_rc4::IfcProtectiveDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[841]); } Ifc4x3_rc4::IfcProtectiveDevice::IfcProtectiveDevice(IfcEntityInstanceData&& e) : IfcFlowController(std::move(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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProtectiveDeviceTrippingUnit -boost::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnit::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[842]); } const IfcParse::entity& Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[842]); } Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProtectiveDeviceTrippingUnitType -::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitType::setPredefinedType(::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[843]); } const IfcParse::entity& Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[843]); } Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcProtectiveDeviceType -::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value Ifc4x3_rc4::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value Ifc4x3_rc4::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcProtectiveDeviceType::setPredefinedType(::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcProtectiveDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[845]); } const IfcParse::entity& Ifc4x3_rc4::IfcProtectiveDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[845]); } Ifc4x3_rc4::IfcProtectiveDeviceType::IfcProtectiveDeviceType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcProxy -::Ifc4x3_rc4::IfcObjectTypeEnum::Value Ifc4x3_rc4::IfcProxy::ProxyType() const { return ::Ifc4x3_rc4::IfcObjectTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc4::IfcObjectTypeEnum::Value Ifc4x3_rc4::IfcProxy::ProxyType() const { return ::Ifc4x3_rc4::IfcObjectTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc4::IfcProxy::setProxyType(::Ifc4x3_rc4::IfcObjectTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc4x3_rc4::IfcProxy::Tag() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcProxy::Tag() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcProxy::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcProxy::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[847]); } const IfcParse::entity& Ifc4x3_rc4::IfcProxy::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[847]); } Ifc4x3_rc4::IfcProxy::IfcProxy(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)v8_ProxyType))); if (v9_Tag) {set_attribute_value(8, (*v9_Tag)); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)v8_ProxyType))); if (v9_Tag) {set_attribute_value(8, (*v9_Tag)); }; populate_derived(); } // Function implementations for IfcPump -boost::optional< ::Ifc4x3_rc4::IfcPumpTypeEnum::Value > Ifc4x3_rc4::IfcPump::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPumpTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcPumpTypeEnum::Value > Ifc4x3_rc4::IfcPump::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcPumpTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcPump::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcPumpTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcPumpTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcPump::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[848]); } const IfcParse::entity& Ifc4x3_rc4::IfcPump::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[848]); } Ifc4x3_rc4::IfcPump::IfcPump(IfcEntityInstanceData&& e) : IfcFlowMovingDevice(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPumpType -::Ifc4x3_rc4::IfcPumpTypeEnum::Value Ifc4x3_rc4::IfcPumpType::PredefinedType() const { return ::Ifc4x3_rc4::IfcPumpTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcPumpTypeEnum::Value Ifc4x3_rc4::IfcPumpType::PredefinedType() const { return ::Ifc4x3_rc4::IfcPumpTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcPumpType::setPredefinedType(::Ifc4x3_rc4::IfcPumpTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcPumpTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcPumpType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[849]); } const IfcParse::entity& Ifc4x3_rc4::IfcPumpType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[849]); } Ifc4x3_rc4::IfcPumpType::IfcPumpType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcQuantityArea -double Ifc4x3_rc4::IfcQuantityArea::AreaValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc4::IfcQuantityArea::AreaValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcQuantityArea::setAreaValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc4::IfcQuantityArea::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcQuantityArea::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcQuantityArea::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc4::IfcQuantityArea::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[851]); } const IfcParse::entity& Ifc4x3_rc4::IfcQuantityArea::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[851]); } Ifc4x3_rc4::IfcQuantityArea::IfcQuantityArea(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -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(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +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(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityCount -double Ifc4x3_rc4::IfcQuantityCount::CountValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc4::IfcQuantityCount::CountValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcQuantityCount::setCountValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc4::IfcQuantityCount::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcQuantityCount::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcQuantityCount::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc4::IfcQuantityCount::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[852]); } const IfcParse::entity& Ifc4x3_rc4::IfcQuantityCount::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[852]); } Ifc4x3_rc4::IfcQuantityCount::IfcQuantityCount(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -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(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +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(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityLength -double Ifc4x3_rc4::IfcQuantityLength::LengthValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc4::IfcQuantityLength::LengthValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcQuantityLength::setLengthValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc4::IfcQuantityLength::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcQuantityLength::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcQuantityLength::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc4::IfcQuantityLength::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[853]); } const IfcParse::entity& Ifc4x3_rc4::IfcQuantityLength::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[853]); } Ifc4x3_rc4::IfcQuantityLength::IfcQuantityLength(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_rc4::IfcQuantityLength::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) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_rc4::IfcQuantityLength::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) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantitySet @@ -14195,373 +14195,373 @@ Ifc4x3_rc4::IfcQuantityLength::IfcQuantityLength(std::string v1_Name, boost::opt const IfcParse::entity& Ifc4x3_rc4::IfcQuantitySet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[854]); } const IfcParse::entity& Ifc4x3_rc4::IfcQuantitySet::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[854]); } Ifc4x3_rc4::IfcQuantitySet::IfcQuantitySet(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -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(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +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(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcQuantityTime -double Ifc4x3_rc4::IfcQuantityTime::TimeValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc4::IfcQuantityTime::TimeValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcQuantityTime::setTimeValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc4::IfcQuantityTime::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcQuantityTime::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcQuantityTime::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc4::IfcQuantityTime::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[855]); } const IfcParse::entity& Ifc4x3_rc4::IfcQuantityTime::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[855]); } Ifc4x3_rc4::IfcQuantityTime::IfcQuantityTime(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -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(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +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(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityVolume -double Ifc4x3_rc4::IfcQuantityVolume::VolumeValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc4::IfcQuantityVolume::VolumeValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcQuantityVolume::setVolumeValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc4::IfcQuantityVolume::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcQuantityVolume::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcQuantityVolume::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc4::IfcQuantityVolume::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[856]); } const IfcParse::entity& Ifc4x3_rc4::IfcQuantityVolume::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[856]); } Ifc4x3_rc4::IfcQuantityVolume::IfcQuantityVolume(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -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(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +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(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityWeight -double Ifc4x3_rc4::IfcQuantityWeight::WeightValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc4::IfcQuantityWeight::WeightValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcQuantityWeight::setWeightValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc4::IfcQuantityWeight::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcQuantityWeight::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcQuantityWeight::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc4::IfcQuantityWeight::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[857]); } const IfcParse::entity& Ifc4x3_rc4::IfcQuantityWeight::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[857]); } Ifc4x3_rc4::IfcQuantityWeight::IfcQuantityWeight(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -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(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +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(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcRail -boost::optional< ::Ifc4x3_rc4::IfcRailTypeEnum::Value > Ifc4x3_rc4::IfcRail::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcRailTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcRailTypeEnum::Value > Ifc4x3_rc4::IfcRail::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcRailTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcRail::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRailTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcRailTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcRail::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[859]); } const IfcParse::entity& Ifc4x3_rc4::IfcRail::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[859]); } Ifc4x3_rc4::IfcRail::IfcRail(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcRailTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcRailTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRailType -::Ifc4x3_rc4::IfcRailTypeEnum::Value Ifc4x3_rc4::IfcRailType::PredefinedType() const { return ::Ifc4x3_rc4::IfcRailTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcRailTypeEnum::Value Ifc4x3_rc4::IfcRailType::PredefinedType() const { return ::Ifc4x3_rc4::IfcRailTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcRailType::setPredefinedType(::Ifc4x3_rc4::IfcRailTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcRailTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcRailType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[863]); } const IfcParse::entity& Ifc4x3_rc4::IfcRailType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[863]); } Ifc4x3_rc4::IfcRailType::IfcRailType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcRailTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcRailTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRailing -boost::optional< ::Ifc4x3_rc4::IfcRailingTypeEnum::Value > Ifc4x3_rc4::IfcRailing::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcRailingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcRailingTypeEnum::Value > Ifc4x3_rc4::IfcRailing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcRailingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcRailing::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRailingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcRailingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcRailing::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[860]); } const IfcParse::entity& Ifc4x3_rc4::IfcRailing::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[860]); } Ifc4x3_rc4::IfcRailing::IfcRailing(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRailingType -::Ifc4x3_rc4::IfcRailingTypeEnum::Value Ifc4x3_rc4::IfcRailingType::PredefinedType() const { return ::Ifc4x3_rc4::IfcRailingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcRailingTypeEnum::Value Ifc4x3_rc4::IfcRailingType::PredefinedType() const { return ::Ifc4x3_rc4::IfcRailingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcRailingType::setPredefinedType(::Ifc4x3_rc4::IfcRailingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcRailingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcRailingType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[861]); } const IfcParse::entity& Ifc4x3_rc4::IfcRailingType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[861]); } Ifc4x3_rc4::IfcRailingType::IfcRailingType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRailway -boost::optional< ::Ifc4x3_rc4::IfcRailwayTypeEnum::Value > Ifc4x3_rc4::IfcRailway::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcRailwayTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc4::IfcRailwayTypeEnum::Value > Ifc4x3_rc4::IfcRailway::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcRailwayTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcRailway::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRailwayTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcRailwayTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc4::IfcRailway::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[865]); } const IfcParse::entity& Ifc4x3_rc4::IfcRailway::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[865]); } Ifc4x3_rc4::IfcRailway::IfcRailway(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcRailwayTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcRailwayTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRamp -boost::optional< ::Ifc4x3_rc4::IfcRampTypeEnum::Value > Ifc4x3_rc4::IfcRamp::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcRampTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcRampTypeEnum::Value > Ifc4x3_rc4::IfcRamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcRampTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcRamp::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRampTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcRampTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcRamp::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[868]); } const IfcParse::entity& Ifc4x3_rc4::IfcRamp::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[868]); } Ifc4x3_rc4::IfcRamp::IfcRamp(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRampFlight -boost::optional< ::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value > Ifc4x3_rc4::IfcRampFlight::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcRampFlightTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value > Ifc4x3_rc4::IfcRampFlight::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcRampFlightTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcRampFlight::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcRampFlightTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcRampFlight::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[869]); } const IfcParse::entity& Ifc4x3_rc4::IfcRampFlight::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[869]); } Ifc4x3_rc4::IfcRampFlight::IfcRampFlight(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRampFlightType -::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value Ifc4x3_rc4::IfcRampFlightType::PredefinedType() const { return ::Ifc4x3_rc4::IfcRampFlightTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value Ifc4x3_rc4::IfcRampFlightType::PredefinedType() const { return ::Ifc4x3_rc4::IfcRampFlightTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcRampFlightType::setPredefinedType(::Ifc4x3_rc4::IfcRampFlightTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcRampFlightTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcRampFlightType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[870]); } const IfcParse::entity& Ifc4x3_rc4::IfcRampFlightType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[870]); } Ifc4x3_rc4::IfcRampFlightType::IfcRampFlightType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRampType -::Ifc4x3_rc4::IfcRampTypeEnum::Value Ifc4x3_rc4::IfcRampType::PredefinedType() const { return ::Ifc4x3_rc4::IfcRampTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcRampTypeEnum::Value Ifc4x3_rc4::IfcRampType::PredefinedType() const { return ::Ifc4x3_rc4::IfcRampTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcRampType::setPredefinedType(::Ifc4x3_rc4::IfcRampTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcRampTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcRampType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[872]); } const IfcParse::entity& Ifc4x3_rc4::IfcRampType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[872]); } Ifc4x3_rc4::IfcRampType::IfcRampType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRationalBSplineCurveWithKnots -std::vector< double > /*[2:?]*/ Ifc4x3_rc4::IfcRationalBSplineCurveWithKnots::WeightsData() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< double > /*[2:?]*/ Ifc4x3_rc4::IfcRationalBSplineCurveWithKnots::WeightsData() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcRationalBSplineCurveWithKnots::setWeightsData(std::vector< double > /*[2:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc4::IfcRationalBSplineCurveWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[875]); } const IfcParse::entity& Ifc4x3_rc4::IfcRationalBSplineCurveWithKnots::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[875]); } Ifc4x3_rc4::IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(IfcEntityInstanceData&& e) : IfcBSplineCurveWithKnots(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc4::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData));; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc4::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData));; populate_derived(); } // Function implementations for IfcRationalBSplineSurfaceWithKnots -std::vector< std::vector< double > > Ifc4x3_rc4::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { std::vector< std::vector< double > > v = data_.get_attribute_value(12); return v; } +std::vector< std::vector< double > > Ifc4x3_rc4::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { std::vector< std::vector< double > > v = get_attribute_value(12); return v; } void Ifc4x3_rc4::IfcRationalBSplineSurfaceWithKnots::setWeightsData(std::vector< std::vector< double > > v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } const IfcParse::entity& Ifc4x3_rc4::IfcRationalBSplineSurfaceWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[876]); } const IfcParse::entity& Ifc4x3_rc4::IfcRationalBSplineSurfaceWithKnots::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[876]); } Ifc4x3_rc4::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(IfcEntityInstanceData&& e) : IfcBSplineSurfaceWithKnots(std::move(e)) { } -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(storage_t(13))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc4::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc4::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData));; populate_derived(); } +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(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc4::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc4::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData));; populate_derived(); } // Function implementations for IfcRectangleHollowProfileDef -double Ifc4x3_rc4::IfcRectangleHollowProfileDef::WallThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc4::IfcRectangleHollowProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcRectangleHollowProfileDef::setWallThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_rc4::IfcRectangleHollowProfileDef::InnerFilletRadius() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc4::IfcRectangleHollowProfileDef::InnerFilletRadius() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcRectangleHollowProfileDef::setInnerFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_rc4::IfcRectangleHollowProfileDef::OuterFilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc4::IfcRectangleHollowProfileDef::OuterFilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcRectangleHollowProfileDef::setOuterFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc4::IfcRectangleHollowProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[878]); } const IfcParse::entity& Ifc4x3_rc4::IfcRectangleHollowProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[878]); } Ifc4x3_rc4::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(IfcEntityInstanceData&& e) : IfcRectangleProfileDef(std::move(e)) { } -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(storage_t(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; populate_derived(); } +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(in_memory_attribute_storage(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; populate_derived(); } // Function implementations for IfcRectangleProfileDef -double Ifc4x3_rc4::IfcRectangleProfileDef::XDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc4::IfcRectangleProfileDef::XDim() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcRectangleProfileDef::setXDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc4::IfcRectangleProfileDef::YDim() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc4::IfcRectangleProfileDef::YDim() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcRectangleProfileDef::setYDim(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc4::IfcRectangleProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[879]); } const IfcParse::entity& Ifc4x3_rc4::IfcRectangleProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[879]); } Ifc4x3_rc4::IfcRectangleProfileDef::IfcRectangleProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -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(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; populate_derived(); } +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(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; populate_derived(); } // Function implementations for IfcRectangularPyramid -double Ifc4x3_rc4::IfcRectangularPyramid::XLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc4::IfcRectangularPyramid::XLength() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcRectangularPyramid::setXLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc4::IfcRectangularPyramid::YLength() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc4::IfcRectangularPyramid::YLength() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcRectangularPyramid::setYLength(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc4::IfcRectangularPyramid::Height() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc4::IfcRectangularPyramid::Height() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcRectangularPyramid::setHeight(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcRectangularPyramid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[880]); } const IfcParse::entity& Ifc4x3_rc4::IfcRectangularPyramid::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[880]); } Ifc4x3_rc4::IfcRectangularPyramid::IfcRectangularPyramid(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3_rc4::IfcRectangularPyramid::IfcRectangularPyramid(::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; populate_derived(); } +Ifc4x3_rc4::IfcRectangularPyramid::IfcRectangularPyramid(::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; populate_derived(); } // Function implementations for IfcRectangularTrimmedSurface -::Ifc4x3_rc4::IfcSurface* Ifc4x3_rc4::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcSurface>(true); } +::Ifc4x3_rc4::IfcSurface* Ifc4x3_rc4::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcSurface>(true); } void Ifc4x3_rc4::IfcRectangularTrimmedSurface::setBasisSurface(::Ifc4x3_rc4::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc4::IfcRectangularTrimmedSurface::U1() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc4::IfcRectangularTrimmedSurface::U1() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcRectangularTrimmedSurface::setU1(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc4::IfcRectangularTrimmedSurface::V1() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc4::IfcRectangularTrimmedSurface::V1() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcRectangularTrimmedSurface::setV1(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc4::IfcRectangularTrimmedSurface::U2() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc4::IfcRectangularTrimmedSurface::U2() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcRectangularTrimmedSurface::setU2(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc4::IfcRectangularTrimmedSurface::V2() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc4::IfcRectangularTrimmedSurface::V2() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcRectangularTrimmedSurface::setV2(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -bool Ifc4x3_rc4::IfcRectangularTrimmedSurface::Usense() const { bool v = data_.get_attribute_value(5); return v; } +bool Ifc4x3_rc4::IfcRectangularTrimmedSurface::Usense() const { bool v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcRectangularTrimmedSurface::setUsense(bool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -bool Ifc4x3_rc4::IfcRectangularTrimmedSurface::Vsense() const { bool v = data_.get_attribute_value(6); return v; } +bool Ifc4x3_rc4::IfcRectangularTrimmedSurface::Vsense() const { bool v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcRectangularTrimmedSurface::setVsense(bool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc4::IfcRectangularTrimmedSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[881]); } const IfcParse::entity& Ifc4x3_rc4::IfcRectangularTrimmedSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[881]); } Ifc4x3_rc4::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -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(storage_t(7))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; populate_derived(); } +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(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; populate_derived(); } // Function implementations for IfcRecurrencePattern -::Ifc4x3_rc4::IfcRecurrenceTypeEnum::Value Ifc4x3_rc4::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x3_rc4::IfcRecurrenceTypeEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_rc4::IfcRecurrenceTypeEnum::Value Ifc4x3_rc4::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x3_rc4::IfcRecurrenceTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x3_rc4::IfcRecurrencePattern::setRecurrenceType(::Ifc4x3_rc4::IfcRecurrenceTypeEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_rc4::IfcRecurrenceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc4::IfcRecurrencePattern::DayComponent() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc4::IfcRecurrencePattern::DayComponent() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcRecurrencePattern::setDayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc4::IfcRecurrencePattern::WeekdayComponent() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc4::IfcRecurrencePattern::WeekdayComponent() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcRecurrencePattern::setWeekdayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc4::IfcRecurrencePattern::MonthComponent() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc4::IfcRecurrencePattern::MonthComponent() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcRecurrencePattern::setMonthComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< int > Ifc4x3_rc4::IfcRecurrencePattern::Position() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x3_rc4::IfcRecurrencePattern::Position() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcRecurrencePattern::setPosition(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< int > Ifc4x3_rc4::IfcRecurrencePattern::Interval() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } int v = data_.get_attribute_value(5); return v; } +boost::optional< int > Ifc4x3_rc4::IfcRecurrencePattern::Interval() const { if(get_attribute_value(5).isNull()) { return boost::none; } int v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcRecurrencePattern::setInterval(boost::optional< int > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< int > Ifc4x3_rc4::IfcRecurrencePattern::Occurrences() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } int v = data_.get_attribute_value(6); return v; } +boost::optional< int > Ifc4x3_rc4::IfcRecurrencePattern::Occurrences() const { if(get_attribute_value(6).isNull()) { return boost::none; } int v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcRecurrencePattern::setOccurrences(boost::optional< int > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTimePeriod >::ptr > Ifc4x3_rc4::IfcRecurrencePattern::TimePeriods() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc4::IfcTimePeriod >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTimePeriod >::ptr > Ifc4x3_rc4::IfcRecurrencePattern::TimePeriods() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc4::IfcTimePeriod >(); } void Ifc4x3_rc4::IfcRecurrencePattern::setTimePeriods(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTimePeriod >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc4::IfcRecurrencePattern::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[882]); } const IfcParse::entity& Ifc4x3_rc4::IfcRecurrencePattern::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[882]); } Ifc4x3_rc4::IfcRecurrencePattern::IfcRecurrencePattern(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcTimePeriod >::ptr > v8_TimePeriods) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, (*v8_TimePeriods)->generalize()); }; populate_derived(); } +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(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, (*v8_TimePeriods)->generalize()); }; populate_derived(); } // Function implementations for IfcReference -boost::optional< std::string > Ifc4x3_rc4::IfcReference::TypeIdentifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcReference::TypeIdentifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcReference::setTypeIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc4::IfcReference::AttributeIdentifier() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcReference::AttributeIdentifier() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcReference::setAttributeIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc4::IfcReference::InstanceName() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcReference::InstanceName() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcReference::setInstanceName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc4::IfcReference::ListPositions() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc4::IfcReference::ListPositions() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcReference::setListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_rc4::IfcReference* Ifc4x3_rc4::IfcReference::InnerReference() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcReference>(true); } +::Ifc4x3_rc4::IfcReference* Ifc4x3_rc4::IfcReference::InnerReference() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcReference>(true); } void Ifc4x3_rc4::IfcReference::setInnerReference(::Ifc4x3_rc4::IfcReference* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc4::IfcReference::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[884]); } const IfcParse::entity& Ifc4x3_rc4::IfcReference::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[884]); } Ifc4x3_rc4::IfcReference::IfcReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -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(IfcEntityInstanceData(storage_t(5))) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, v5_InnerReference ? v5_InnerReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, v5_InnerReference ? v5_InnerReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcReferent -boost::optional< ::Ifc4x3_rc4::IfcReferentTypeEnum::Value > Ifc4x3_rc4::IfcReferent::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcReferentTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_rc4::IfcReferentTypeEnum::Value > Ifc4x3_rc4::IfcReferent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcReferentTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc4::IfcReferent::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcReferentTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc4::IfcReferentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc4::IfcReferent::RestartDistance() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc4::IfcReferent::RestartDistance() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcReferent::setRestartDistance(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcReferent::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[885]); } const IfcParse::entity& Ifc4x3_rc4::IfcReferent::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[885]); } Ifc4x3_rc4::IfcReferent::IfcReferent(IfcEntityInstanceData&& e) : IfcPositioningElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_RestartDistance) {set_attribute_value(8, (*v9_RestartDistance)); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_RestartDistance) {set_attribute_value(8, (*v9_RestartDistance)); }; populate_derived(); } // Function implementations for IfcRegularTimeSeries -double Ifc4x3_rc4::IfcRegularTimeSeries::TimeStep() const { double v = data_.get_attribute_value(8); return v; } +double Ifc4x3_rc4::IfcRegularTimeSeries::TimeStep() const { double v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcRegularTimeSeries::setTimeStep(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -aggregate_of< ::Ifc4x3_rc4::IfcTimeSeriesValue >::ptr Ifc4x3_rc4::IfcRegularTimeSeries::Values() const { aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3_rc4::IfcTimeSeriesValue >(); } +aggregate_of< ::Ifc4x3_rc4::IfcTimeSeriesValue >::ptr Ifc4x3_rc4::IfcRegularTimeSeries::Values() const { aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3_rc4::IfcTimeSeriesValue >(); } void Ifc4x3_rc4::IfcRegularTimeSeries::setValues(aggregate_of< ::Ifc4x3_rc4::IfcTimeSeriesValue >::ptr v) { set_attribute_value(9, (v)->generalize());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcRegularTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[888]); } const IfcParse::entity& Ifc4x3_rc4::IfcRegularTimeSeries::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[888]); } Ifc4x3_rc4::IfcRegularTimeSeries::IfcRegularTimeSeries(IfcEntityInstanceData&& e) : IfcTimeSeries(std::move(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, aggregate_of< ::Ifc4x3_rc4::IfcTimeSeriesValue >::ptr v10_Values) : IfcTimeSeries(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, (v10_Values)->generalize());; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, (v10_Values)->generalize());; populate_derived(); } // Function implementations for IfcReinforcedSoil -boost::optional< ::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::Value > Ifc4x3_rc4::IfcReinforcedSoil::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::Value > Ifc4x3_rc4::IfcReinforcedSoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcReinforcedSoil::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcedSoil::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[889]); } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcedSoil::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[889]); } Ifc4x3_rc4::IfcReinforcedSoil::IfcReinforcedSoil(IfcEntityInstanceData&& e) : IfcEarthworksElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcReinforcedSoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcReinforcementBarProperties -double Ifc4x3_rc4::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_rc4::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcReinforcementBarProperties::setTotalCrossSectionArea(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x3_rc4::IfcReinforcementBarProperties::SteelGrade() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_rc4::IfcReinforcementBarProperties::SteelGrade() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcReinforcementBarProperties::setSteelGrade(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc4::IfcReinforcementBarProperties::BarSurface() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc4::IfcReinforcementBarProperties::BarSurface() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::FromString(get_attribute_value(2)); } void Ifc4x3_rc4::IfcReinforcementBarProperties::setBarSurface(boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc4::IfcReinforcementBarProperties::EffectiveDepth() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc4::IfcReinforcementBarProperties::EffectiveDepth() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcReinforcementBarProperties::setEffectiveDepth(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc4::IfcReinforcementBarProperties::NominalBarDiameter() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc4::IfcReinforcementBarProperties::NominalBarDiameter() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcReinforcementBarProperties::setNominalBarDiameter(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_rc4::IfcReinforcementBarProperties::BarCount() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc4::IfcReinforcementBarProperties::BarCount() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcReinforcementBarProperties::setBarCount(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcementBarProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[891]); } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcementBarProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[891]); } Ifc4x3_rc4::IfcReinforcementBarProperties::IfcReinforcementBarProperties(IfcEntityInstanceData&& e) : IfcPreDefinedProperties(std::move(e)) { } -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(storage_t(6))) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; populate_derived(); } +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(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; populate_derived(); } // Function implementations for IfcReinforcementDefinitionProperties -boost::optional< std::string > Ifc4x3_rc4::IfcReinforcementDefinitionProperties::DefinitionType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcReinforcementDefinitionProperties::DefinitionType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcReinforcementDefinitionProperties::setDefinitionType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -aggregate_of< ::Ifc4x3_rc4::IfcSectionReinforcementProperties >::ptr Ifc4x3_rc4::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc4::IfcSectionReinforcementProperties >(); } +aggregate_of< ::Ifc4x3_rc4::IfcSectionReinforcementProperties >::ptr Ifc4x3_rc4::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc4::IfcSectionReinforcementProperties >(); } void Ifc4x3_rc4::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(aggregate_of< ::Ifc4x3_rc4::IfcSectionReinforcementProperties >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcementDefinitionProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[892]); } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcementDefinitionProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[892]); } Ifc4x3_rc4::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(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, aggregate_of< ::Ifc4x3_rc4::IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, (v6_ReinforcementSectionDefinitions)->generalize());; populate_derived(); } +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(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, (v6_ReinforcementSectionDefinitions)->generalize());; populate_derived(); } // Function implementations for IfcReinforcingBar -boost::optional< double > Ifc4x3_rc4::IfcReinforcingBar::NominalDiameter() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingBar::NominalDiameter() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc4::IfcReinforcingBar::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc4::IfcReinforcingBar::CrossSectionArea() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingBar::CrossSectionArea() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcReinforcingBar::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc4::IfcReinforcingBar::BarLength() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingBar::BarLength() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc4::IfcReinforcingBar::setBarLength(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value > Ifc4x3_rc4::IfcReinforcingBar::PredefinedType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::FromString(data_.get_attribute_value(12)); } +boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value > Ifc4x3_rc4::IfcReinforcingBar::PredefinedType() const { if(get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x3_rc4::IfcReinforcingBar::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value > v) { if (v) {set_attribute_value(12, EnumerationReference(&::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } -boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc4::IfcReinforcingBar::BarSurface() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc4::IfcReinforcingBar::BarSurface() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::FromString(get_attribute_value(13)); } void Ifc4x3_rc4::IfcReinforcingBar::setBarSurface(boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcingBar::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[893]); } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcingBar::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[893]); } Ifc4x3_rc4::IfcReinforcingBar::IfcReinforcingBar(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -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(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; populate_derived(); } +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(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; populate_derived(); } // Function implementations for IfcReinforcingBarType -::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value Ifc4x3_rc4::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value Ifc4x3_rc4::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcReinforcingBarType::setPredefinedType(::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3_rc4::IfcReinforcingBarType::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingBarType::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcReinforcingBarType::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc4::IfcReinforcingBarType::CrossSectionArea() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingBarType::CrossSectionArea() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc4::IfcReinforcingBarType::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_rc4::IfcReinforcingBarType::BarLength() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingBarType::BarLength() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_rc4::IfcReinforcingBarType::setBarLength(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc4::IfcReinforcingBarType::BarSurface() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_rc4::IfcReinforcingBarType::BarSurface() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::FromString(get_attribute_value(13)); } void Ifc4x3_rc4::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x3_rc4::IfcReinforcingBarType::BendingShapeCode() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcReinforcingBarType::BendingShapeCode() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x3_rc4::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr > Ifc4x3_rc4::IfcReinforcingBarType::BendingParameters() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(15); return es->as< ::Ifc4x3_rc4::IfcBendingParameterSelect >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr > Ifc4x3_rc4::IfcReinforcingBarType::BendingParameters() const { if(get_attribute_value(15).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(15); return es->as< ::Ifc4x3_rc4::IfcBendingParameterSelect >(); } void Ifc4x3_rc4::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr > v) { if (v) {set_attribute_value(15, (*v)->generalize());} else {unset_attribute_value(15);} } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcingBarType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[896]); } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcingBarType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[896]); } Ifc4x3_rc4::IfcReinforcingBarType::IfcReinforcingBarType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, (*v16_BendingParameters)->generalize()); }; populate_derived(); } +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< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_rc4::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, (*v16_BendingParameters)->generalize()); }; populate_derived(); } // Function implementations for IfcReinforcingElement -boost::optional< std::string > Ifc4x3_rc4::IfcReinforcingElement::SteelGrade() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcReinforcingElement::SteelGrade() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcReinforcingElement::setSteelGrade(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcingElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[898]); } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcingElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[898]); } Ifc4x3_rc4::IfcReinforcingElement::IfcReinforcingElement(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_rc4::IfcReinforcingElement::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) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; populate_derived(); } +Ifc4x3_rc4::IfcReinforcingElement::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) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; populate_derived(); } // Function implementations for IfcReinforcingElementType @@ -14569,255 +14569,255 @@ Ifc4x3_rc4::IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId const IfcParse::entity& Ifc4x3_rc4::IfcReinforcingElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[899]); } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcingElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[899]); } Ifc4x3_rc4::IfcReinforcingElementType::IfcReinforcingElementType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcReinforcingMesh -boost::optional< double > Ifc4x3_rc4::IfcReinforcingMesh::MeshLength() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingMesh::MeshLength() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc4::IfcReinforcingMesh::setMeshLength(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc4::IfcReinforcingMesh::MeshWidth() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingMesh::MeshWidth() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcReinforcingMesh::setMeshWidth(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc4::IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc4::IfcReinforcingMesh::setLongitudinalBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_rc4::IfcReinforcingMesh::TransverseBarNominalDiameter() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingMesh::TransverseBarNominalDiameter() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_rc4::IfcReinforcingMesh::setTransverseBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3_rc4::IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_rc4::IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3_rc4::IfcReinforcingMesh::TransverseBarCrossSectionArea() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingMesh::TransverseBarCrossSectionArea() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3_rc4::IfcReinforcingMesh::setTransverseBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x3_rc4::IfcReinforcingMesh::LongitudinalBarSpacing() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingMesh::LongitudinalBarSpacing() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3_rc4::IfcReinforcingMesh::setLongitudinalBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3_rc4::IfcReinforcingMesh::TransverseBarSpacing() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingMesh::TransverseBarSpacing() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3_rc4::IfcReinforcingMesh::setTransverseBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value > Ifc4x3_rc4::IfcReinforcingMesh::PredefinedType() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::FromString(data_.get_attribute_value(17)); } +boost::optional< ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value > Ifc4x3_rc4::IfcReinforcingMesh::PredefinedType() const { if(get_attribute_value(17).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::FromString(get_attribute_value(17)); } void Ifc4x3_rc4::IfcReinforcingMesh::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value > v) { if (v) {set_attribute_value(17, EnumerationReference(&::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(17);} } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcingMesh::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[900]); } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcingMesh::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[900]); } Ifc4x3_rc4::IfcReinforcingMesh::IfcReinforcingMesh(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -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(storage_t(18))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (EnumerationReference(&::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(18))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (EnumerationReference(&::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); }; populate_derived(); } // Function implementations for IfcReinforcingMeshType -::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value Ifc4x3_rc4::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value Ifc4x3_rc4::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcReinforcingMeshType::setPredefinedType(::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3_rc4::IfcReinforcingMeshType::MeshLength() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingMeshType::MeshLength() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcReinforcingMeshType::setMeshLength(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc4::IfcReinforcingMeshType::MeshWidth() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingMeshType::MeshWidth() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc4::IfcReinforcingMeshType::setMeshWidth(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_rc4::IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_rc4::IfcReinforcingMeshType::setLongitudinalBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3_rc4::IfcReinforcingMeshType::TransverseBarNominalDiameter() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingMeshType::TransverseBarNominalDiameter() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_rc4::IfcReinforcingMeshType::setTransverseBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3_rc4::IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3_rc4::IfcReinforcingMeshType::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x3_rc4::IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3_rc4::IfcReinforcingMeshType::setTransverseBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3_rc4::IfcReinforcingMeshType::LongitudinalBarSpacing() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingMeshType::LongitudinalBarSpacing() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3_rc4::IfcReinforcingMeshType::setLongitudinalBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< double > Ifc4x3_rc4::IfcReinforcingMeshType::TransverseBarSpacing() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } double v = data_.get_attribute_value(17); return v; } +boost::optional< double > Ifc4x3_rc4::IfcReinforcingMeshType::TransverseBarSpacing() const { if(get_attribute_value(17).isNull()) { return boost::none; } double v = get_attribute_value(17); return v; } void Ifc4x3_rc4::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } -boost::optional< std::string > Ifc4x3_rc4::IfcReinforcingMeshType::BendingShapeCode() const { if(data_.get_attribute_value(18).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(18); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcReinforcingMeshType::BendingShapeCode() const { if(get_attribute_value(18).isNull()) { return boost::none; } std::string v = get_attribute_value(18); return v; } void Ifc4x3_rc4::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { if (v) {set_attribute_value(18, *v);} else {unset_attribute_value(18);} } -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr > Ifc4x3_rc4::IfcReinforcingMeshType::BendingParameters() const { if(data_.get_attribute_value(19).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(19); return es->as< ::Ifc4x3_rc4::IfcBendingParameterSelect >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr > Ifc4x3_rc4::IfcReinforcingMeshType::BendingParameters() const { if(get_attribute_value(19).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(19); return es->as< ::Ifc4x3_rc4::IfcBendingParameterSelect >(); } void Ifc4x3_rc4::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr > v) { if (v) {set_attribute_value(19, (*v)->generalize());} else {unset_attribute_value(19);} } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcingMeshType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[901]); } const IfcParse::entity& Ifc4x3_rc4::IfcReinforcingMeshType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[901]); } Ifc4x3_rc4::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(20))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, (*v20_BendingParameters)->generalize()); }; populate_derived(); } +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< ::Ifc4x3_rc4::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(20))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, (*v20_BendingParameters)->generalize()); }; populate_derived(); } // Function implementations for IfcRelAdheresToElement -::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelAdheresToElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcElement>(true); } +::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelAdheresToElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcElement>(true); } void Ifc4x3_rc4::IfcRelAdheresToElement::setRelatingElement(::Ifc4x3_rc4::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_rc4::IfcSurfaceFeature >::ptr Ifc4x3_rc4::IfcRelAdheresToElement::RelatedSurfaceFeatures() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc4::IfcSurfaceFeature >(); } +aggregate_of< ::Ifc4x3_rc4::IfcSurfaceFeature >::ptr Ifc4x3_rc4::IfcRelAdheresToElement::RelatedSurfaceFeatures() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc4::IfcSurfaceFeature >(); } void Ifc4x3_rc4::IfcRelAdheresToElement::setRelatedSurfaceFeatures(aggregate_of< ::Ifc4x3_rc4::IfcSurfaceFeature >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcRelAdheresToElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[903]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelAdheresToElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[903]); } Ifc4x3_rc4::IfcRelAdheresToElement::IfcRelAdheresToElement(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(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(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedSurfaceFeatures)->generalize());; populate_derived(); } +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(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedSurfaceFeatures)->generalize());; populate_derived(); } // Function implementations for IfcRelAggregates -::Ifc4x3_rc4::IfcObjectDefinition* Ifc4x3_rc4::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcObjectDefinition>(true); } +::Ifc4x3_rc4::IfcObjectDefinition* Ifc4x3_rc4::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcObjectDefinition>(true); } void Ifc4x3_rc4::IfcRelAggregates::setRelatingObject(::Ifc4x3_rc4::IfcObjectDefinition* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr Ifc4x3_rc4::IfcRelAggregates::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc4::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr Ifc4x3_rc4::IfcRelAggregates::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc4::IfcObjectDefinition >(); } void Ifc4x3_rc4::IfcRelAggregates::setRelatedObjects(aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcRelAggregates::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[904]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelAggregates::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[904]); } Ifc4x3_rc4::IfcRelAggregates::IfcRelAggregates(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(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, aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } +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(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelAssigns -aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr Ifc4x3_rc4::IfcRelAssigns::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc4::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr Ifc4x3_rc4::IfcRelAssigns::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc4::IfcObjectDefinition >(); } void Ifc4x3_rc4::IfcRelAssigns::setRelatedObjects(aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -boost::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > Ifc4x3_rc4::IfcRelAssigns::RelatedObjectsType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcObjectTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > Ifc4x3_rc4::IfcRelAssigns::RelatedObjectsType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcObjectTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc4::IfcRelAssigns::setRelatedObjectsType(boost::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssigns::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[905]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssigns::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[905]); } Ifc4x3_rc4::IfcRelAssigns::IfcRelAssigns(IfcEntityInstanceData&& e) : IfcRelationship(std::move(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, aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType) : IfcRelationship(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }; populate_derived(); } +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(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }; populate_derived(); } // Function implementations for IfcRelAssignsToActor -::Ifc4x3_rc4::IfcActor* Ifc4x3_rc4::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcActor>(true); } +::Ifc4x3_rc4::IfcActor* Ifc4x3_rc4::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcActor>(true); } void Ifc4x3_rc4::IfcRelAssignsToActor::setRelatingActor(::Ifc4x3_rc4::IfcActor* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc4::IfcActorRole* Ifc4x3_rc4::IfcRelAssignsToActor::ActingRole() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc4::IfcActorRole>(true); } +::Ifc4x3_rc4::IfcActorRole* Ifc4x3_rc4::IfcRelAssignsToActor::ActingRole() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc4::IfcActorRole>(true); } void Ifc4x3_rc4::IfcRelAssignsToActor::setActingRole(::Ifc4x3_rc4::IfcActorRole* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssignsToActor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[906]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssignsToActor::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[906]); } Ifc4x3_rc4::IfcRelAssignsToActor::IfcRelAssignsToActor(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_rc4::IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcActor* v7_RelatingActor, ::Ifc4x3_rc4::IfcActorRole* v8_ActingRole) : IfcRelAssigns(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingActor ? v7_RelatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_ActingRole ? v8_ActingRole->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingActor ? v7_RelatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_ActingRole ? v8_ActingRole->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToControl -::Ifc4x3_rc4::IfcControl* Ifc4x3_rc4::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcControl>(true); } +::Ifc4x3_rc4::IfcControl* Ifc4x3_rc4::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcControl>(true); } void Ifc4x3_rc4::IfcRelAssignsToControl::setRelatingControl(::Ifc4x3_rc4::IfcControl* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssignsToControl::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[907]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssignsToControl::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[907]); } Ifc4x3_rc4::IfcRelAssignsToControl::IfcRelAssignsToControl(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(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, aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcControl* v7_RelatingControl) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingControl ? v7_RelatingControl->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingControl ? v7_RelatingControl->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToGroup -::Ifc4x3_rc4::IfcGroup* Ifc4x3_rc4::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcGroup>(true); } +::Ifc4x3_rc4::IfcGroup* Ifc4x3_rc4::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcGroup>(true); } void Ifc4x3_rc4::IfcRelAssignsToGroup::setRelatingGroup(::Ifc4x3_rc4::IfcGroup* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssignsToGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[908]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssignsToGroup::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[908]); } Ifc4x3_rc4::IfcRelAssignsToGroup::IfcRelAssignsToGroup(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(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, aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcGroup* v7_RelatingGroup) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToGroupByFactor -double Ifc4x3_rc4::IfcRelAssignsToGroupByFactor::Factor() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x3_rc4::IfcRelAssignsToGroupByFactor::Factor() const { double v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcRelAssignsToGroupByFactor::setFactor(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssignsToGroupByFactor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[909]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssignsToGroupByFactor::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[909]); } Ifc4x3_rc4::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(IfcEntityInstanceData&& e) : IfcRelAssignsToGroup(std::move(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, 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(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_Factor));; populate_derived(); } +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(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_Factor));; populate_derived(); } // Function implementations for IfcRelAssignsToProcess -::Ifc4x3_rc4::IfcProcessSelect* Ifc4x3_rc4::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcProcessSelect>(true); } +::Ifc4x3_rc4::IfcProcessSelect* Ifc4x3_rc4::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcProcessSelect>(true); } void Ifc4x3_rc4::IfcRelAssignsToProcess::setRelatingProcess(::Ifc4x3_rc4::IfcProcessSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc4::IfcMeasureWithUnit* Ifc4x3_rc4::IfcRelAssignsToProcess::QuantityInProcess() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc4::IfcMeasureWithUnit>(true); } +::Ifc4x3_rc4::IfcMeasureWithUnit* Ifc4x3_rc4::IfcRelAssignsToProcess::QuantityInProcess() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc4::IfcMeasureWithUnit>(true); } void Ifc4x3_rc4::IfcRelAssignsToProcess::setQuantityInProcess(::Ifc4x3_rc4::IfcMeasureWithUnit* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssignsToProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[910]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssignsToProcess::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[910]); } Ifc4x3_rc4::IfcRelAssignsToProcess::IfcRelAssignsToProcess(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(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, 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(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProcess ? v7_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_QuantityInProcess ? v8_QuantityInProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProcess ? v7_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_QuantityInProcess ? v8_QuantityInProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToProduct -::Ifc4x3_rc4::IfcProductSelect* Ifc4x3_rc4::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcProductSelect>(true); } +::Ifc4x3_rc4::IfcProductSelect* Ifc4x3_rc4::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcProductSelect>(true); } void Ifc4x3_rc4::IfcRelAssignsToProduct::setRelatingProduct(::Ifc4x3_rc4::IfcProductSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssignsToProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[911]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssignsToProduct::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[911]); } Ifc4x3_rc4::IfcRelAssignsToProduct::IfcRelAssignsToProduct(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(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, aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcProductSelect* v7_RelatingProduct) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProduct ? v7_RelatingProduct->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingProduct ? v7_RelatingProduct->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToResource -::Ifc4x3_rc4::IfcResourceSelect* Ifc4x3_rc4::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcResourceSelect>(true); } +::Ifc4x3_rc4::IfcResourceSelect* Ifc4x3_rc4::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcResourceSelect>(true); } void Ifc4x3_rc4::IfcRelAssignsToResource::setRelatingResource(::Ifc4x3_rc4::IfcResourceSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssignsToResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[912]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssignsToResource::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[912]); } Ifc4x3_rc4::IfcRelAssignsToResource::IfcRelAssignsToResource(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(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, aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< ::Ifc4x3_rc4::IfcObjectTypeEnum::Value > v6_RelatedObjectsType, ::Ifc4x3_rc4::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingResource ? v7_RelatingResource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcObjectTypeEnum::Class(),(size_t)*v6_RelatedObjectsType))); }set_attribute_value(6, v7_RelatingResource ? v7_RelatingResource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociates -aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr Ifc4x3_rc4::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc4::IfcDefinitionSelect >(); } +aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr Ifc4x3_rc4::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc4::IfcDefinitionSelect >(); } void Ifc4x3_rc4::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociates::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[913]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociates::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[913]); } Ifc4x3_rc4::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData&& e) : IfcRelationship(std::move(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, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());; populate_derived(); } +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< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelAssociatesApproval -::Ifc4x3_rc4::IfcApproval* Ifc4x3_rc4::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcApproval>(true); } +::Ifc4x3_rc4::IfcApproval* Ifc4x3_rc4::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcApproval>(true); } void Ifc4x3_rc4::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4x3_rc4::IfcApproval* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesApproval::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[914]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesApproval::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[914]); } Ifc4x3_rc4::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(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, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcApproval* v6_RelatingApproval) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingApproval ? v6_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcApproval* v6_RelatingApproval) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingApproval ? v6_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesClassification -::Ifc4x3_rc4::IfcClassificationSelect* Ifc4x3_rc4::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcClassificationSelect>(true); } +::Ifc4x3_rc4::IfcClassificationSelect* Ifc4x3_rc4::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcClassificationSelect>(true); } void Ifc4x3_rc4::IfcRelAssociatesClassification::setRelatingClassification(::Ifc4x3_rc4::IfcClassificationSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesClassification::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[915]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesClassification::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[915]); } Ifc4x3_rc4::IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(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, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingClassification ? v6_RelatingClassification->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingClassification ? v6_RelatingClassification->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesConstraint -boost::optional< std::string > Ifc4x3_rc4::IfcRelAssociatesConstraint::Intent() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcRelAssociatesConstraint::Intent() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcRelAssociatesConstraint::setIntent(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc4::IfcConstraint* Ifc4x3_rc4::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcConstraint>(true); } +::Ifc4x3_rc4::IfcConstraint* Ifc4x3_rc4::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcConstraint>(true); } void Ifc4x3_rc4::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x3_rc4::IfcConstraint* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesConstraint::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[916]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesConstraint::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[916]); } Ifc4x3_rc4::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(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, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc4::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, v7_RelatingConstraint ? v7_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_rc4::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, v7_RelatingConstraint ? v7_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesDocument -::Ifc4x3_rc4::IfcDocumentSelect* Ifc4x3_rc4::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcDocumentSelect>(true); } +::Ifc4x3_rc4::IfcDocumentSelect* Ifc4x3_rc4::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcDocumentSelect>(true); } void Ifc4x3_rc4::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4x3_rc4::IfcDocumentSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesDocument::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[917]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesDocument::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[917]); } Ifc4x3_rc4::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(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, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingDocument ? v6_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingDocument ? v6_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesLibrary -::Ifc4x3_rc4::IfcLibrarySelect* Ifc4x3_rc4::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcLibrarySelect>(true); } +::Ifc4x3_rc4::IfcLibrarySelect* Ifc4x3_rc4::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcLibrarySelect>(true); } void Ifc4x3_rc4::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4x3_rc4::IfcLibrarySelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesLibrary::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[918]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesLibrary::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[918]); } Ifc4x3_rc4::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(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, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingLibrary ? v6_RelatingLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingLibrary ? v6_RelatingLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesMaterial -::Ifc4x3_rc4::IfcMaterialSelect* Ifc4x3_rc4::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcMaterialSelect>(true); } +::Ifc4x3_rc4::IfcMaterialSelect* Ifc4x3_rc4::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcMaterialSelect>(true); } void Ifc4x3_rc4::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4x3_rc4::IfcMaterialSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesMaterial::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[919]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesMaterial::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[919]); } Ifc4x3_rc4::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(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, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingMaterial ? v6_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingMaterial ? v6_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesProfileDef -::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcProfileDef>(true); } +::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcProfileDef>(true); } void Ifc4x3_rc4::IfcRelAssociatesProfileDef::setRelatingProfileDef(::Ifc4x3_rc4::IfcProfileDef* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[920]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelAssociatesProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[920]); } Ifc4x3_rc4::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(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, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingProfileDef ? v6_RelatingProfileDef->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingProfileDef ? v6_RelatingProfileDef->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnects @@ -14825,165 +14825,165 @@ Ifc4x3_rc4::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v const IfcParse::entity& Ifc4x3_rc4::IfcRelConnects::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[922]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelConnects::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[922]); } Ifc4x3_rc4::IfcRelConnects::IfcRelConnects(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -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(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +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(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRelConnectsElements -::Ifc4x3_rc4::IfcConnectionGeometry* Ifc4x3_rc4::IfcRelConnectsElements::ConnectionGeometry() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcConnectionGeometry>(true); } +::Ifc4x3_rc4::IfcConnectionGeometry* Ifc4x3_rc4::IfcRelConnectsElements::ConnectionGeometry() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcConnectionGeometry>(true); } void Ifc4x3_rc4::IfcRelConnectsElements::setConnectionGeometry(::Ifc4x3_rc4::IfcConnectionGeometry* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcElement>(true); } +::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcElement>(true); } void Ifc4x3_rc4::IfcRelConnectsElements::setRelatingElement(::Ifc4x3_rc4::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcElement>(true); } +::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcElement>(true); } void Ifc4x3_rc4::IfcRelConnectsElements::setRelatedElement(::Ifc4x3_rc4::IfcElement* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc4::IfcRelConnectsElements::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[923]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelConnectsElements::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[923]); } Ifc4x3_rc4::IfcRelConnectsElements::IfcRelConnectsElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -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(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsPathElements -std::vector< int > /*[0:?]*/ Ifc4x3_rc4::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = data_.get_attribute_value(7); return v; } +std::vector< int > /*[0:?]*/ Ifc4x3_rc4::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcRelConnectsPathElements::setRelatingPriorities(std::vector< int > /*[0:?]*/ v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector< int > /*[0:?]*/ Ifc4x3_rc4::IfcRelConnectsPathElements::RelatedPriorities() const { std::vector< int > /*[0:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< int > /*[0:?]*/ Ifc4x3_rc4::IfcRelConnectsPathElements::RelatedPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcRelConnectsPathElements::setRelatedPriorities(std::vector< int > /*[0:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc4::IfcConnectionTypeEnum::Value Ifc4x3_rc4::IfcRelConnectsPathElements::RelatedConnectionType() const { return ::Ifc4x3_rc4::IfcConnectionTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcConnectionTypeEnum::Value Ifc4x3_rc4::IfcRelConnectsPathElements::RelatedConnectionType() const { return ::Ifc4x3_rc4::IfcConnectionTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcRelConnectsPathElements::setRelatedConnectionType(::Ifc4x3_rc4::IfcConnectionTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc4::IfcConnectionTypeEnum::Value Ifc4x3_rc4::IfcRelConnectsPathElements::RelatingConnectionType() const { return ::Ifc4x3_rc4::IfcConnectionTypeEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3_rc4::IfcConnectionTypeEnum::Value Ifc4x3_rc4::IfcRelConnectsPathElements::RelatingConnectionType() const { return ::Ifc4x3_rc4::IfcConnectionTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc4::IfcRelConnectsPathElements::setRelatingConnectionType(::Ifc4x3_rc4::IfcConnectionTypeEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc4::IfcConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_rc4::IfcRelConnectsPathElements::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[924]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelConnectsPathElements::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[924]); } Ifc4x3_rc4::IfcRelConnectsPathElements::IfcRelConnectsPathElements(IfcEntityInstanceData&& e) : IfcRelConnectsElements(std::move(e)) { } -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(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; populate_derived(); } +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(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; populate_derived(); } // Function implementations for IfcRelConnectsPortToElement -::Ifc4x3_rc4::IfcPort* Ifc4x3_rc4::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcPort>(true); } +::Ifc4x3_rc4::IfcPort* Ifc4x3_rc4::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcPort>(true); } void Ifc4x3_rc4::IfcRelConnectsPortToElement::setRelatingPort(::Ifc4x3_rc4::IfcPort* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcDistributionElement* Ifc4x3_rc4::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcDistributionElement>(true); } +::Ifc4x3_rc4::IfcDistributionElement* Ifc4x3_rc4::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcDistributionElement>(true); } void Ifc4x3_rc4::IfcRelConnectsPortToElement::setRelatedElement(::Ifc4x3_rc4::IfcDistributionElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcRelConnectsPortToElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[926]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelConnectsPortToElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[926]); } Ifc4x3_rc4::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -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(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsPorts -::Ifc4x3_rc4::IfcPort* Ifc4x3_rc4::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcPort>(true); } +::Ifc4x3_rc4::IfcPort* Ifc4x3_rc4::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcPort>(true); } void Ifc4x3_rc4::IfcRelConnectsPorts::setRelatingPort(::Ifc4x3_rc4::IfcPort* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcPort* Ifc4x3_rc4::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcPort>(true); } +::Ifc4x3_rc4::IfcPort* Ifc4x3_rc4::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcPort>(true); } void Ifc4x3_rc4::IfcRelConnectsPorts::setRelatedPort(::Ifc4x3_rc4::IfcPort* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelConnectsPorts::RealizingElement() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcElement>(true); } +::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelConnectsPorts::RealizingElement() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcElement>(true); } void Ifc4x3_rc4::IfcRelConnectsPorts::setRealizingElement(::Ifc4x3_rc4::IfcElement* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc4::IfcRelConnectsPorts::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[925]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelConnectsPorts::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[925]); } Ifc4x3_rc4::IfcRelConnectsPorts::IfcRelConnectsPorts(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(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(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedPort ? v6_RelatedPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RealizingElement ? v7_RealizingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedPort ? v6_RelatedPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RealizingElement ? v7_RealizingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsStructuralActivity -::Ifc4x3_rc4::IfcStructuralActivityAssignmentSelect* Ifc4x3_rc4::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcStructuralActivityAssignmentSelect>(true); } +::Ifc4x3_rc4::IfcStructuralActivityAssignmentSelect* Ifc4x3_rc4::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcStructuralActivityAssignmentSelect>(true); } void Ifc4x3_rc4::IfcRelConnectsStructuralActivity::setRelatingElement(::Ifc4x3_rc4::IfcStructuralActivityAssignmentSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcStructuralActivity* Ifc4x3_rc4::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcStructuralActivity>(true); } +::Ifc4x3_rc4::IfcStructuralActivity* Ifc4x3_rc4::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcStructuralActivity>(true); } void Ifc4x3_rc4::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(::Ifc4x3_rc4::IfcStructuralActivity* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcRelConnectsStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[927]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelConnectsStructuralActivity::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[927]); } Ifc4x3_rc4::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -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(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralActivity ? v6_RelatedStructuralActivity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralActivity ? v6_RelatedStructuralActivity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsStructuralMember -::Ifc4x3_rc4::IfcStructuralMember* Ifc4x3_rc4::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcStructuralMember>(true); } +::Ifc4x3_rc4::IfcStructuralMember* Ifc4x3_rc4::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcStructuralMember>(true); } void Ifc4x3_rc4::IfcRelConnectsStructuralMember::setRelatingStructuralMember(::Ifc4x3_rc4::IfcStructuralMember* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcStructuralConnection* Ifc4x3_rc4::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcStructuralConnection>(true); } +::Ifc4x3_rc4::IfcStructuralConnection* Ifc4x3_rc4::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcStructuralConnection>(true); } void Ifc4x3_rc4::IfcRelConnectsStructuralMember::setRelatedStructuralConnection(::Ifc4x3_rc4::IfcStructuralConnection* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc4::IfcBoundaryCondition* Ifc4x3_rc4::IfcRelConnectsStructuralMember::AppliedCondition() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcBoundaryCondition>(true); } +::Ifc4x3_rc4::IfcBoundaryCondition* Ifc4x3_rc4::IfcRelConnectsStructuralMember::AppliedCondition() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcBoundaryCondition>(true); } void Ifc4x3_rc4::IfcRelConnectsStructuralMember::setAppliedCondition(::Ifc4x3_rc4::IfcBoundaryCondition* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc4::IfcStructuralConnectionCondition* Ifc4x3_rc4::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc4::IfcStructuralConnectionCondition>(true); } +::Ifc4x3_rc4::IfcStructuralConnectionCondition* Ifc4x3_rc4::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc4::IfcStructuralConnectionCondition>(true); } void Ifc4x3_rc4::IfcRelConnectsStructuralMember::setAdditionalConditions(::Ifc4x3_rc4::IfcStructuralConnectionCondition* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc4x3_rc4::IfcRelConnectsStructuralMember::SupportedLength() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc4::IfcRelConnectsStructuralMember::SupportedLength() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(true); } void Ifc4x3_rc4::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(::Ifc4x3_rc4::IfcAxis2Placement3D* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcRelConnectsStructuralMember::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[928]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelConnectsStructuralMember::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[928]); } Ifc4x3_rc4::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsWithEccentricity -::Ifc4x3_rc4::IfcConnectionGeometry* Ifc4x3_rc4::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_rc4::IfcConnectionGeometry>(true); } +::Ifc4x3_rc4::IfcConnectionGeometry* Ifc4x3_rc4::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_rc4::IfcConnectionGeometry>(true); } void Ifc4x3_rc4::IfcRelConnectsWithEccentricity::setConnectionConstraint(::Ifc4x3_rc4::IfcConnectionGeometry* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_rc4::IfcRelConnectsWithEccentricity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[929]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelConnectsWithEccentricity::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[929]); } Ifc4x3_rc4::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(IfcEntityInstanceData&& e) : IfcRelConnectsStructuralMember(std::move(e)) { } -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(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ConnectionConstraint ? v11_ConnectionConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ConnectionConstraint ? v11_ConnectionConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsWithRealizingElements -aggregate_of< ::Ifc4x3_rc4::IfcElement >::ptr Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::RealizingElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc4::IfcElement >(); } +aggregate_of< ::Ifc4x3_rc4::IfcElement >::ptr Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::RealizingElements() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc4::IfcElement >(); } void Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::setRealizingElements(aggregate_of< ::Ifc4x3_rc4::IfcElement >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::setConnectionType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[930]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[930]); } Ifc4x3_rc4::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(IfcEntityInstanceData&& e) : IfcRelConnectsElements(std::move(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, aggregate_of< ::Ifc4x3_rc4::IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RealizingElements)->generalize()); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RealizingElements)->generalize()); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; populate_derived(); } // Function implementations for IfcRelContainedInSpatialStructure -aggregate_of< ::Ifc4x3_rc4::IfcProduct >::ptr Ifc4x3_rc4::IfcRelContainedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc4::IfcProduct >(); } +aggregate_of< ::Ifc4x3_rc4::IfcProduct >::ptr Ifc4x3_rc4::IfcRelContainedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc4::IfcProduct >(); } void Ifc4x3_rc4::IfcRelContainedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_rc4::IfcProduct >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcSpatialElement* Ifc4x3_rc4::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcSpatialElement>(true); } +::Ifc4x3_rc4::IfcSpatialElement* Ifc4x3_rc4::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcSpatialElement>(true); } void Ifc4x3_rc4::IfcRelContainedInSpatialStructure::setRelatingStructure(::Ifc4x3_rc4::IfcSpatialElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcRelContainedInSpatialStructure::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[931]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelContainedInSpatialStructure::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[931]); } Ifc4x3_rc4::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(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, aggregate_of< ::Ifc4x3_rc4::IfcProduct >::ptr v5_RelatedElements, ::Ifc4x3_rc4::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelCoversBldgElements -::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcElement>(true); } +::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcElement>(true); } void Ifc4x3_rc4::IfcRelCoversBldgElements::setRelatingBuildingElement(::Ifc4x3_rc4::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_rc4::IfcCovering >::ptr Ifc4x3_rc4::IfcRelCoversBldgElements::RelatedCoverings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc4::IfcCovering >(); } +aggregate_of< ::Ifc4x3_rc4::IfcCovering >::ptr Ifc4x3_rc4::IfcRelCoversBldgElements::RelatedCoverings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc4::IfcCovering >(); } void Ifc4x3_rc4::IfcRelCoversBldgElements::setRelatedCoverings(aggregate_of< ::Ifc4x3_rc4::IfcCovering >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcRelCoversBldgElements::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[932]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelCoversBldgElements::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[932]); } Ifc4x3_rc4::IfcRelCoversBldgElements::IfcRelCoversBldgElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(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, aggregate_of< ::Ifc4x3_rc4::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } +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(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } // Function implementations for IfcRelCoversSpaces -::Ifc4x3_rc4::IfcSpace* Ifc4x3_rc4::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcSpace>(true); } +::Ifc4x3_rc4::IfcSpace* Ifc4x3_rc4::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcSpace>(true); } void Ifc4x3_rc4::IfcRelCoversSpaces::setRelatingSpace(::Ifc4x3_rc4::IfcSpace* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_rc4::IfcCovering >::ptr Ifc4x3_rc4::IfcRelCoversSpaces::RelatedCoverings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc4::IfcCovering >(); } +aggregate_of< ::Ifc4x3_rc4::IfcCovering >::ptr Ifc4x3_rc4::IfcRelCoversSpaces::RelatedCoverings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc4::IfcCovering >(); } void Ifc4x3_rc4::IfcRelCoversSpaces::setRelatedCoverings(aggregate_of< ::Ifc4x3_rc4::IfcCovering >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcRelCoversSpaces::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[933]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelCoversSpaces::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[933]); } Ifc4x3_rc4::IfcRelCoversSpaces::IfcRelCoversSpaces(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(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, aggregate_of< ::Ifc4x3_rc4::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } +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(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } // Function implementations for IfcRelDeclares -::Ifc4x3_rc4::IfcContext* Ifc4x3_rc4::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcContext>(true); } +::Ifc4x3_rc4::IfcContext* Ifc4x3_rc4::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcContext>(true); } void Ifc4x3_rc4::IfcRelDeclares::setRelatingContext(::Ifc4x3_rc4::IfcContext* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr Ifc4x3_rc4::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc4::IfcDefinitionSelect >(); } +aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr Ifc4x3_rc4::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc4::IfcDefinitionSelect >(); } void Ifc4x3_rc4::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcRelDeclares::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[934]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelDeclares::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[934]); } Ifc4x3_rc4::IfcRelDeclares::IfcRelDeclares(IfcEntityInstanceData&& e) : IfcRelationship(std::move(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, aggregate_of< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingContext ? v5_RelatingContext->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedDefinitions)->generalize());; populate_derived(); } +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< ::Ifc4x3_rc4::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingContext ? v5_RelatingContext->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedDefinitions)->generalize());; populate_derived(); } // Function implementations for IfcRelDecomposes @@ -14991,7 +14991,7 @@ Ifc4x3_rc4::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_rc4 const IfcParse::entity& Ifc4x3_rc4::IfcRelDecomposes::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[935]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelDecomposes::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[935]); } Ifc4x3_rc4::IfcRelDecomposes::IfcRelDecomposes(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_rc4::IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_rc4::IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRelDefines @@ -14999,198 +14999,198 @@ Ifc4x3_rc4::IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, ::Ifc4x3 const IfcParse::entity& Ifc4x3_rc4::IfcRelDefines::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[936]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelDefines::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[936]); } Ifc4x3_rc4::IfcRelDefines::IfcRelDefines(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -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(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +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(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRelDefinesByObject -aggregate_of< ::Ifc4x3_rc4::IfcObject >::ptr Ifc4x3_rc4::IfcRelDefinesByObject::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc4::IfcObject >(); } +aggregate_of< ::Ifc4x3_rc4::IfcObject >::ptr Ifc4x3_rc4::IfcRelDefinesByObject::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc4::IfcObject >(); } void Ifc4x3_rc4::IfcRelDefinesByObject::setRelatedObjects(aggregate_of< ::Ifc4x3_rc4::IfcObject >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcObject* Ifc4x3_rc4::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcObject>(true); } +::Ifc4x3_rc4::IfcObject* Ifc4x3_rc4::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcObject>(true); } void Ifc4x3_rc4::IfcRelDefinesByObject::setRelatingObject(::Ifc4x3_rc4::IfcObject* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcRelDefinesByObject::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[937]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelDefinesByObject::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[937]); } Ifc4x3_rc4::IfcRelDefinesByObject::IfcRelDefinesByObject(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(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, aggregate_of< ::Ifc4x3_rc4::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcObject* v6_RelatingObject) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingObject ? v6_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingObject ? v6_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelDefinesByProperties -aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr Ifc4x3_rc4::IfcRelDefinesByProperties::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc4::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr Ifc4x3_rc4::IfcRelDefinesByProperties::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc4::IfcObjectDefinition >(); } void Ifc4x3_rc4::IfcRelDefinesByProperties::setRelatedObjects(aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcPropertySetDefinitionSelect* Ifc4x3_rc4::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcPropertySetDefinitionSelect>(true); } +::Ifc4x3_rc4::IfcPropertySetDefinitionSelect* Ifc4x3_rc4::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcPropertySetDefinitionSelect>(true); } void Ifc4x3_rc4::IfcRelDefinesByProperties::setRelatingPropertyDefinition(::Ifc4x3_rc4::IfcPropertySetDefinitionSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcRelDefinesByProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[938]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelDefinesByProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[938]); } Ifc4x3_rc4::IfcRelDefinesByProperties::IfcRelDefinesByProperties(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(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, aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcPropertySetDefinitionSelect* v6_RelatingPropertyDefinition) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingPropertyDefinition ? v6_RelatingPropertyDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingPropertyDefinition ? v6_RelatingPropertyDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelDefinesByTemplate -aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr Ifc4x3_rc4::IfcRelDefinesByTemplate::RelatedPropertySets() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc4::IfcPropertySetDefinition >(); } +aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr Ifc4x3_rc4::IfcRelDefinesByTemplate::RelatedPropertySets() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc4::IfcPropertySetDefinition >(); } void Ifc4x3_rc4::IfcRelDefinesByTemplate::setRelatedPropertySets(aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcPropertySetTemplate* Ifc4x3_rc4::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcPropertySetTemplate>(true); } +::Ifc4x3_rc4::IfcPropertySetTemplate* Ifc4x3_rc4::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcPropertySetTemplate>(true); } void Ifc4x3_rc4::IfcRelDefinesByTemplate::setRelatingTemplate(::Ifc4x3_rc4::IfcPropertySetTemplate* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcRelDefinesByTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[939]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelDefinesByTemplate::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[939]); } Ifc4x3_rc4::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(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, aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr v5_RelatedPropertySets, ::Ifc4x3_rc4::IfcPropertySetTemplate* v6_RelatingTemplate) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedPropertySets)->generalize());set_attribute_value(5, v6_RelatingTemplate ? v6_RelatingTemplate->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedPropertySets)->generalize());set_attribute_value(5, v6_RelatingTemplate ? v6_RelatingTemplate->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelDefinesByType -aggregate_of< ::Ifc4x3_rc4::IfcObject >::ptr Ifc4x3_rc4::IfcRelDefinesByType::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc4::IfcObject >(); } +aggregate_of< ::Ifc4x3_rc4::IfcObject >::ptr Ifc4x3_rc4::IfcRelDefinesByType::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc4::IfcObject >(); } void Ifc4x3_rc4::IfcRelDefinesByType::setRelatedObjects(aggregate_of< ::Ifc4x3_rc4::IfcObject >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcTypeObject* Ifc4x3_rc4::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcTypeObject>(true); } +::Ifc4x3_rc4::IfcTypeObject* Ifc4x3_rc4::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcTypeObject>(true); } void Ifc4x3_rc4::IfcRelDefinesByType::setRelatingType(::Ifc4x3_rc4::IfcTypeObject* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcRelDefinesByType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[940]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelDefinesByType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[940]); } Ifc4x3_rc4::IfcRelDefinesByType::IfcRelDefinesByType(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x3_rc4::IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_rc4::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3_rc4::IfcTypeObject* v6_RelatingType) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingType ? v6_RelatingType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingType ? v6_RelatingType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelFillsElement -::Ifc4x3_rc4::IfcOpeningElement* Ifc4x3_rc4::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcOpeningElement>(true); } +::Ifc4x3_rc4::IfcOpeningElement* Ifc4x3_rc4::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcOpeningElement>(true); } void Ifc4x3_rc4::IfcRelFillsElement::setRelatingOpeningElement(::Ifc4x3_rc4::IfcOpeningElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcElement>(true); } +::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcElement>(true); } void Ifc4x3_rc4::IfcRelFillsElement::setRelatedBuildingElement(::Ifc4x3_rc4::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcRelFillsElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[941]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelFillsElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[941]); } Ifc4x3_rc4::IfcRelFillsElement::IfcRelFillsElement(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -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(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingOpeningElement ? v5_RelatingOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingOpeningElement ? v5_RelatingOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelFlowControlElements -aggregate_of< ::Ifc4x3_rc4::IfcDistributionControlElement >::ptr Ifc4x3_rc4::IfcRelFlowControlElements::RelatedControlElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc4::IfcDistributionControlElement >(); } +aggregate_of< ::Ifc4x3_rc4::IfcDistributionControlElement >::ptr Ifc4x3_rc4::IfcRelFlowControlElements::RelatedControlElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc4::IfcDistributionControlElement >(); } void Ifc4x3_rc4::IfcRelFlowControlElements::setRelatedControlElements(aggregate_of< ::Ifc4x3_rc4::IfcDistributionControlElement >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcDistributionFlowElement* Ifc4x3_rc4::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcDistributionFlowElement>(true); } +::Ifc4x3_rc4::IfcDistributionFlowElement* Ifc4x3_rc4::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcDistributionFlowElement>(true); } void Ifc4x3_rc4::IfcRelFlowControlElements::setRelatingFlowElement(::Ifc4x3_rc4::IfcDistributionFlowElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcRelFlowControlElements::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[942]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelFlowControlElements::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[942]); } Ifc4x3_rc4::IfcRelFlowControlElements::IfcRelFlowControlElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(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, aggregate_of< ::Ifc4x3_rc4::IfcDistributionControlElement >::ptr v5_RelatedControlElements, ::Ifc4x3_rc4::IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedControlElements)->generalize());set_attribute_value(5, v6_RelatingFlowElement ? v6_RelatingFlowElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedControlElements)->generalize());set_attribute_value(5, v6_RelatingFlowElement ? v6_RelatingFlowElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelInterferesElements -::Ifc4x3_rc4::IfcInterferenceSelect* Ifc4x3_rc4::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcInterferenceSelect>(true); } +::Ifc4x3_rc4::IfcInterferenceSelect* Ifc4x3_rc4::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcInterferenceSelect>(true); } void Ifc4x3_rc4::IfcRelInterferesElements::setRelatingElement(::Ifc4x3_rc4::IfcInterferenceSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcInterferenceSelect* Ifc4x3_rc4::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcInterferenceSelect>(true); } +::Ifc4x3_rc4::IfcInterferenceSelect* Ifc4x3_rc4::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcInterferenceSelect>(true); } void Ifc4x3_rc4::IfcRelInterferesElements::setRelatedElement(::Ifc4x3_rc4::IfcInterferenceSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc4::IfcConnectionGeometry* Ifc4x3_rc4::IfcRelInterferesElements::InterferenceGeometry() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcConnectionGeometry>(true); } +::Ifc4x3_rc4::IfcConnectionGeometry* Ifc4x3_rc4::IfcRelInterferesElements::InterferenceGeometry() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcConnectionGeometry>(true); } void Ifc4x3_rc4::IfcRelInterferesElements::setInterferenceGeometry(::Ifc4x3_rc4::IfcConnectionGeometry* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc4::IfcSpatialZone* Ifc4x3_rc4::IfcRelInterferesElements::InterferenceSpace() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc4::IfcSpatialZone>(true); } +::Ifc4x3_rc4::IfcSpatialZone* Ifc4x3_rc4::IfcRelInterferesElements::InterferenceSpace() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc4::IfcSpatialZone>(true); } void Ifc4x3_rc4::IfcRelInterferesElements::setInterferenceSpace(::Ifc4x3_rc4::IfcSpatialZone* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc4x3_rc4::IfcRelInterferesElements::InterferenceType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcRelInterferesElements::InterferenceType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcRelInterferesElements::setInterferenceType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::logic::tribool Ifc4x3_rc4::IfcRelInterferesElements::ImpliedOrder() const { boost::logic::tribool v = data_.get_attribute_value(9); return v; } +boost::logic::tribool Ifc4x3_rc4::IfcRelInterferesElements::ImpliedOrder() const { boost::logic::tribool v = get_attribute_value(9); return v; } void Ifc4x3_rc4::IfcRelInterferesElements::setImpliedOrder(boost::logic::tribool v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcRelInterferesElements::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[943]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelInterferesElements::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[943]); } Ifc4x3_rc4::IfcRelInterferesElements::IfcRelInterferesElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(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, ::Ifc4x3_rc4::IfcSpatialZone* v8_InterferenceSpace, boost::optional< std::string > v9_InterferenceType, boost::logic::tribool v10_ImpliedOrder) : IfcRelConnects(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_InterferenceGeometry ? v7_InterferenceGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_InterferenceSpace ? v8_InterferenceSpace->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_InterferenceType) {set_attribute_value(8, (*v9_InterferenceType)); }set_attribute_value(9, (v10_ImpliedOrder));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_InterferenceGeometry ? v7_InterferenceGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_InterferenceSpace ? v8_InterferenceSpace->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_InterferenceType) {set_attribute_value(8, (*v9_InterferenceType)); }set_attribute_value(9, (v10_ImpliedOrder));; populate_derived(); } // Function implementations for IfcRelNests -::Ifc4x3_rc4::IfcObjectDefinition* Ifc4x3_rc4::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcObjectDefinition>(true); } +::Ifc4x3_rc4::IfcObjectDefinition* Ifc4x3_rc4::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcObjectDefinition>(true); } void Ifc4x3_rc4::IfcRelNests::setRelatingObject(::Ifc4x3_rc4::IfcObjectDefinition* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr Ifc4x3_rc4::IfcRelNests::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc4::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr Ifc4x3_rc4::IfcRelNests::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc4::IfcObjectDefinition >(); } void Ifc4x3_rc4::IfcRelNests::setRelatedObjects(aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcRelNests::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[944]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelNests::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[944]); } Ifc4x3_rc4::IfcRelNests::IfcRelNests(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(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, aggregate_of< ::Ifc4x3_rc4::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } +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(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelPositions -::Ifc4x3_rc4::IfcPositioningElement* Ifc4x3_rc4::IfcRelPositions::RelatingPositioningElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcPositioningElement>(true); } +::Ifc4x3_rc4::IfcPositioningElement* Ifc4x3_rc4::IfcRelPositions::RelatingPositioningElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcPositioningElement>(true); } void Ifc4x3_rc4::IfcRelPositions::setRelatingPositioningElement(::Ifc4x3_rc4::IfcPositioningElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_rc4::IfcProduct >::ptr Ifc4x3_rc4::IfcRelPositions::RelatedProducts() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc4::IfcProduct >(); } +aggregate_of< ::Ifc4x3_rc4::IfcProduct >::ptr Ifc4x3_rc4::IfcRelPositions::RelatedProducts() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc4::IfcProduct >(); } void Ifc4x3_rc4::IfcRelPositions::setRelatedProducts(aggregate_of< ::Ifc4x3_rc4::IfcProduct >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcRelPositions::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[945]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelPositions::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[945]); } Ifc4x3_rc4::IfcRelPositions::IfcRelPositions(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(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, aggregate_of< ::Ifc4x3_rc4::IfcProduct >::ptr v6_RelatedProducts) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPositioningElement ? v5_RelatingPositioningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedProducts)->generalize());; populate_derived(); } +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(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPositioningElement ? v5_RelatingPositioningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedProducts)->generalize());; populate_derived(); } // Function implementations for IfcRelProjectsElement -::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcElement>(true); } +::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcElement>(true); } void Ifc4x3_rc4::IfcRelProjectsElement::setRelatingElement(::Ifc4x3_rc4::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcFeatureElementAddition* Ifc4x3_rc4::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcFeatureElementAddition>(true); } +::Ifc4x3_rc4::IfcFeatureElementAddition* Ifc4x3_rc4::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcFeatureElementAddition>(true); } void Ifc4x3_rc4::IfcRelProjectsElement::setRelatedFeatureElement(::Ifc4x3_rc4::IfcFeatureElementAddition* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcRelProjectsElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[946]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelProjectsElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[946]); } Ifc4x3_rc4::IfcRelProjectsElement::IfcRelProjectsElement(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -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(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedFeatureElement ? v6_RelatedFeatureElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedFeatureElement ? v6_RelatedFeatureElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelReferencedInSpatialStructure -aggregate_of< ::Ifc4x3_rc4::IfcSpatialReferenceSelect >::ptr Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_rc4::IfcSpatialReferenceSelect >(); } +aggregate_of< ::Ifc4x3_rc4::IfcSpatialReferenceSelect >::ptr Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_rc4::IfcSpatialReferenceSelect >(); } void Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_rc4::IfcSpatialReferenceSelect >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcSpatialElement* Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcSpatialElement>(true); } +::Ifc4x3_rc4::IfcSpatialElement* Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcSpatialElement>(true); } void Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4x3_rc4::IfcSpatialElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[947]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[947]); } Ifc4x3_rc4::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(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, aggregate_of< ::Ifc4x3_rc4::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_rc4::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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< ::Ifc4x3_rc4::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_rc4::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelSequence -::Ifc4x3_rc4::IfcProcess* Ifc4x3_rc4::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcProcess>(true); } +::Ifc4x3_rc4::IfcProcess* Ifc4x3_rc4::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcProcess>(true); } void Ifc4x3_rc4::IfcRelSequence::setRelatingProcess(::Ifc4x3_rc4::IfcProcess* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcProcess* Ifc4x3_rc4::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcProcess>(true); } +::Ifc4x3_rc4::IfcProcess* Ifc4x3_rc4::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcProcess>(true); } void Ifc4x3_rc4::IfcRelSequence::setRelatedProcess(::Ifc4x3_rc4::IfcProcess* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc4::IfcLagTime* Ifc4x3_rc4::IfcRelSequence::TimeLag() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcLagTime>(true); } +::Ifc4x3_rc4::IfcLagTime* Ifc4x3_rc4::IfcRelSequence::TimeLag() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcLagTime>(true); } void Ifc4x3_rc4::IfcRelSequence::setTimeLag(::Ifc4x3_rc4::IfcLagTime* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< ::Ifc4x3_rc4::IfcSequenceEnum::Value > Ifc4x3_rc4::IfcRelSequence::SequenceType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSequenceEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_rc4::IfcSequenceEnum::Value > Ifc4x3_rc4::IfcRelSequence::SequenceType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSequenceEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc4::IfcRelSequence::setSequenceType(boost::optional< ::Ifc4x3_rc4::IfcSequenceEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc4::IfcSequenceEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc4::IfcRelSequence::UserDefinedSequenceType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcRelSequence::UserDefinedSequenceType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcRelSequence::setUserDefinedSequenceType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcRelSequence::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[948]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelSequence::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[948]); } Ifc4x3_rc4::IfcRelSequence::IfcRelSequence(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingProcess ? v5_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedProcess ? v6_RelatedProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_TimeLag ? v7_TimeLag->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_SequenceType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingProcess ? v5_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedProcess ? v6_RelatedProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_TimeLag ? v7_TimeLag->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_SequenceType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); }; populate_derived(); } // Function implementations for IfcRelServicesBuildings -::Ifc4x3_rc4::IfcSystem* Ifc4x3_rc4::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcSystem>(true); } +::Ifc4x3_rc4::IfcSystem* Ifc4x3_rc4::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcSystem>(true); } void Ifc4x3_rc4::IfcRelServicesBuildings::setRelatingSystem(::Ifc4x3_rc4::IfcSystem* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_rc4::IfcSpatialElement >::ptr Ifc4x3_rc4::IfcRelServicesBuildings::RelatedBuildings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc4::IfcSpatialElement >(); } +aggregate_of< ::Ifc4x3_rc4::IfcSpatialElement >::ptr Ifc4x3_rc4::IfcRelServicesBuildings::RelatedBuildings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc4::IfcSpatialElement >(); } void Ifc4x3_rc4::IfcRelServicesBuildings::setRelatedBuildings(aggregate_of< ::Ifc4x3_rc4::IfcSpatialElement >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcRelServicesBuildings::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[949]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelServicesBuildings::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[949]); } Ifc4x3_rc4::IfcRelServicesBuildings::IfcRelServicesBuildings(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(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, aggregate_of< ::Ifc4x3_rc4::IfcSpatialElement >::ptr v6_RelatedBuildings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSystem ? v5_RelatingSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedBuildings)->generalize());; populate_derived(); } +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(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSystem ? v5_RelatingSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedBuildings)->generalize());; populate_derived(); } // Function implementations for IfcRelSpaceBoundary -::Ifc4x3_rc4::IfcSpaceBoundarySelect* Ifc4x3_rc4::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcSpaceBoundarySelect>(true); } +::Ifc4x3_rc4::IfcSpaceBoundarySelect* Ifc4x3_rc4::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcSpaceBoundarySelect>(true); } void Ifc4x3_rc4::IfcRelSpaceBoundary::setRelatingSpace(::Ifc4x3_rc4::IfcSpaceBoundarySelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcElement>(true); } +::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcElement>(true); } void Ifc4x3_rc4::IfcRelSpaceBoundary::setRelatedBuildingElement(::Ifc4x3_rc4::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc4::IfcConnectionGeometry* Ifc4x3_rc4::IfcRelSpaceBoundary::ConnectionGeometry() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcConnectionGeometry>(true); } +::Ifc4x3_rc4::IfcConnectionGeometry* Ifc4x3_rc4::IfcRelSpaceBoundary::ConnectionGeometry() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcConnectionGeometry>(true); } void Ifc4x3_rc4::IfcRelSpaceBoundary::setConnectionGeometry(::Ifc4x3_rc4::IfcConnectionGeometry* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Value Ifc4x3_rc4::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Value Ifc4x3_rc4::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc4::IfcRelSpaceBoundary::setPhysicalOrVirtualBoundary(::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc4::IfcInternalOrExternalEnum::Value Ifc4x3_rc4::IfcRelSpaceBoundary::InternalOrExternalBoundary() const { return ::Ifc4x3_rc4::IfcInternalOrExternalEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc4::IfcInternalOrExternalEnum::Value Ifc4x3_rc4::IfcRelSpaceBoundary::InternalOrExternalBoundary() const { return ::Ifc4x3_rc4::IfcInternalOrExternalEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcRelSpaceBoundary::setInternalOrExternalBoundary(::Ifc4x3_rc4::IfcInternalOrExternalEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcInternalOrExternalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc4::IfcRelSpaceBoundary::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[950]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelSpaceBoundary::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[950]); } Ifc4x3_rc4::IfcRelSpaceBoundary::IfcRelSpaceBoundary(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; populate_derived(); } // Function implementations for IfcRelSpaceBoundary1stLevel -::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel* Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel>(true); } +::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel* Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel>(true); } void Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel::setParentBoundary(::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } ::Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel::list::ptr Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[951], 9)->as(); } @@ -15198,10 +15198,10 @@ void Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel::setParentBoundary(::Ifc4x3_rc4::If const IfcParse::entity& Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[951]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[951]); } Ifc4x3_rc4::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(IfcEntityInstanceData&& e) : IfcRelSpaceBoundary(std::move(e)) { } -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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelSpaceBoundary2ndLevel -::Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel* Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel>(true); } +::Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel* Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel>(true); } void Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(::Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } ::Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel::list::ptr Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel::Corresponds() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[952], 10)->as(); } @@ -15209,19 +15209,19 @@ void Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(::Ifc4x3_ const IfcParse::entity& Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[952]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[952]); } Ifc4x3_rc4::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(IfcEntityInstanceData&& e) : IfcRelSpaceBoundary1stLevel(std::move(e)) { } -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(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_CorrespondingBoundary ? v11_CorrespondingBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_CorrespondingBoundary ? v11_CorrespondingBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelVoidsElement -::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcElement>(true); } +::Ifc4x3_rc4::IfcElement* Ifc4x3_rc4::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcElement>(true); } void Ifc4x3_rc4::IfcRelVoidsElement::setRelatingBuildingElement(::Ifc4x3_rc4::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcFeatureElementSubtraction* Ifc4x3_rc4::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcFeatureElementSubtraction>(true); } +::Ifc4x3_rc4::IfcFeatureElementSubtraction* Ifc4x3_rc4::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcFeatureElementSubtraction>(true); } void Ifc4x3_rc4::IfcRelVoidsElement::setRelatedOpeningElement(::Ifc4x3_rc4::IfcFeatureElementSubtraction* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcRelVoidsElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[953]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelVoidsElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[953]); } Ifc4x3_rc4::IfcRelVoidsElement::IfcRelVoidsElement(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x3_rc4::IfcRelVoidsElement::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) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedOpeningElement ? v6_RelatedOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcRelVoidsElement::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) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedOpeningElement ? v6_RelatedOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelationship @@ -15229,26 +15229,26 @@ Ifc4x3_rc4::IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x3_rc4::IfcRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[921]); } const IfcParse::entity& Ifc4x3_rc4::IfcRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[921]); } Ifc4x3_rc4::IfcRelationship::IfcRelationship(IfcEntityInstanceData&& e) : IfcRoot(std::move(e)) { } -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(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +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(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcReparametrisedCompositeCurveSegment -double Ifc4x3_rc4::IfcReparametrisedCompositeCurveSegment::ParamLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc4::IfcReparametrisedCompositeCurveSegment::ParamLength() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcReparametrisedCompositeCurveSegment::setParamLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcReparametrisedCompositeCurveSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[954]); } const IfcParse::entity& Ifc4x3_rc4::IfcReparametrisedCompositeCurveSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[954]); } Ifc4x3_rc4::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(IfcEntityInstanceData&& e) : IfcCompositeCurveSegment(std::move(e)) { } -Ifc4x3_rc4::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(::Ifc4x3_rc4::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc4::IfcCurve* v3_ParentCurve, double v4_ParamLength) : IfcCompositeCurveSegment(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ParamLength));; populate_derived(); } +Ifc4x3_rc4::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(::Ifc4x3_rc4::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_rc4::IfcCurve* v3_ParentCurve, double v4_ParamLength) : IfcCompositeCurveSegment(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ParamLength));; populate_derived(); } // Function implementations for IfcRepresentation -::Ifc4x3_rc4::IfcRepresentationContext* Ifc4x3_rc4::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcRepresentationContext>(true); } +::Ifc4x3_rc4::IfcRepresentationContext* Ifc4x3_rc4::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcRepresentationContext>(true); } void Ifc4x3_rc4::IfcRepresentation::setContextOfItems(::Ifc4x3_rc4::IfcRepresentationContext* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc4::IfcRepresentation::RepresentationIdentifier() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcRepresentation::RepresentationIdentifier() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc4::IfcRepresentation::RepresentationType() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcRepresentation::RepresentationType() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcRepresentation::setRepresentationType(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -aggregate_of< ::Ifc4x3_rc4::IfcRepresentationItem >::ptr Ifc4x3_rc4::IfcRepresentation::Items() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc4::IfcRepresentationItem >(); } +aggregate_of< ::Ifc4x3_rc4::IfcRepresentationItem >::ptr Ifc4x3_rc4::IfcRepresentation::Items() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc4::IfcRepresentationItem >(); } void Ifc4x3_rc4::IfcRepresentation::setItems(aggregate_of< ::Ifc4x3_rc4::IfcRepresentationItem >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } ::Ifc4x3_rc4::IfcRepresentationMap::list::ptr Ifc4x3_rc4::IfcRepresentation::RepresentationMap() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[958], 1)->as(); } @@ -15258,12 +15258,12 @@ void Ifc4x3_rc4::IfcRepresentation::setItems(aggregate_of< ::Ifc4x3_rc4::IfcRepr const IfcParse::entity& Ifc4x3_rc4::IfcRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[955]); } const IfcParse::entity& Ifc4x3_rc4::IfcRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[955]); } Ifc4x3_rc4::IfcRepresentation::IfcRepresentation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -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(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +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(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcRepresentationContext -boost::optional< std::string > Ifc4x3_rc4::IfcRepresentationContext::ContextIdentifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcRepresentationContext::ContextIdentifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcRepresentationContext::setContextIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc4::IfcRepresentationContext::ContextType() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcRepresentationContext::ContextType() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcRepresentationContext::setContextType(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x3_rc4::IfcRepresentation::list::ptr Ifc4x3_rc4::IfcRepresentationContext::RepresentationsInContext() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[955], 0)->as(); } @@ -15271,7 +15271,7 @@ void Ifc4x3_rc4::IfcRepresentationContext::setContextType(boost::optional< std:: const IfcParse::entity& Ifc4x3_rc4::IfcRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[956]); } const IfcParse::entity& Ifc4x3_rc4::IfcRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[956]); } Ifc4x3_rc4::IfcRepresentationContext::IfcRepresentationContext(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcRepresentationContext::IfcRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; populate_derived(); } +Ifc4x3_rc4::IfcRepresentationContext::IfcRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; populate_derived(); } // Function implementations for IfcRepresentationItem @@ -15281,12 +15281,12 @@ Ifc4x3_rc4::IfcRepresentationContext::IfcRepresentationContext(boost::optional< const IfcParse::entity& Ifc4x3_rc4::IfcRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[957]); } const IfcParse::entity& Ifc4x3_rc4::IfcRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[957]); } Ifc4x3_rc4::IfcRepresentationItem::IfcRepresentationItem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc4::IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcRepresentationMap -::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcAxis2Placement>(true); } +::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcAxis2Placement>(true); } void Ifc4x3_rc4::IfcRepresentationMap::setMappingOrigin(::Ifc4x3_rc4::IfcAxis2Placement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcRepresentation* Ifc4x3_rc4::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcRepresentation>(true); } +::Ifc4x3_rc4::IfcRepresentation* Ifc4x3_rc4::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcRepresentation>(true); } void Ifc4x3_rc4::IfcRepresentationMap::setMappedRepresentation(::Ifc4x3_rc4::IfcRepresentation* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } ::Ifc4x3_rc4::IfcShapeAspect::list::ptr Ifc4x3_rc4::IfcRepresentationMap::HasShapeAspects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[1009], 4)->as(); } @@ -15295,12 +15295,12 @@ void Ifc4x3_rc4::IfcRepresentationMap::setMappedRepresentation(::Ifc4x3_rc4::Ifc const IfcParse::entity& Ifc4x3_rc4::IfcRepresentationMap::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[958]); } const IfcParse::entity& Ifc4x3_rc4::IfcRepresentationMap::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[958]); } Ifc4x3_rc4::IfcRepresentationMap::IfcRepresentationMap(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcRepresentationMap::IfcRepresentationMap(::Ifc4x3_rc4::IfcAxis2Placement* v1_MappingOrigin, ::Ifc4x3_rc4::IfcRepresentation* v2_MappedRepresentation) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_MappingOrigin ? v1_MappingOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappedRepresentation ? v2_MappedRepresentation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcRepresentationMap::IfcRepresentationMap(::Ifc4x3_rc4::IfcAxis2Placement* v1_MappingOrigin, ::Ifc4x3_rc4::IfcRepresentation* v2_MappedRepresentation) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_MappingOrigin ? v1_MappingOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappedRepresentation ? v2_MappedRepresentation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcResource -boost::optional< std::string > Ifc4x3_rc4::IfcResource::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcResource::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcResource::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc4::IfcResource::LongDescription() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcResource::LongDescription() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcResource::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_rc4::IfcRelAssignsToResource::list::ptr Ifc4x3_rc4::IfcResource::ResourceOf() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[912], 6)->as(); } @@ -15308,229 +15308,229 @@ void Ifc4x3_rc4::IfcResource::setLongDescription(boost::optional< std::string > const IfcParse::entity& Ifc4x3_rc4::IfcResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[959]); } const IfcParse::entity& Ifc4x3_rc4::IfcResource::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[959]); } Ifc4x3_rc4::IfcResource::IfcResource(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -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(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } +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(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } // Function implementations for IfcResourceApprovalRelationship -aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr Ifc4x3_rc4::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcResourceObjectSelect >(); } +aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr Ifc4x3_rc4::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcResourceObjectSelect >(); } void Ifc4x3_rc4::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcApproval* Ifc4x3_rc4::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcApproval>(true); } +::Ifc4x3_rc4::IfcApproval* Ifc4x3_rc4::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcApproval>(true); } void Ifc4x3_rc4::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_rc4::IfcApproval* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcResourceApprovalRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[960]); } const IfcParse::entity& Ifc4x3_rc4::IfcResourceApprovalRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[960]); } Ifc4x3_rc4::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_rc4::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc4::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatedResourceObjects)->generalize());set_attribute_value(3, v4_RelatingApproval ? v4_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_rc4::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatedResourceObjects)->generalize());set_attribute_value(3, v4_RelatingApproval ? v4_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcResourceConstraintRelationship -::Ifc4x3_rc4::IfcConstraint* Ifc4x3_rc4::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcConstraint>(true); } +::Ifc4x3_rc4::IfcConstraint* Ifc4x3_rc4::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcConstraint>(true); } void Ifc4x3_rc4::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4x3_rc4::IfcConstraint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr Ifc4x3_rc4::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_rc4::IfcResourceObjectSelect >(); } +aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr Ifc4x3_rc4::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_rc4::IfcResourceObjectSelect >(); } void Ifc4x3_rc4::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcResourceConstraintRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[961]); } const IfcParse::entity& Ifc4x3_rc4::IfcResourceConstraintRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[961]); } Ifc4x3_rc4::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_rc4::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingConstraint ? v3_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } +Ifc4x3_rc4::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_rc4::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_rc4::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingConstraint ? v3_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } // Function implementations for IfcResourceLevelRelationship -boost::optional< std::string > Ifc4x3_rc4::IfcResourceLevelRelationship::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcResourceLevelRelationship::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcResourceLevelRelationship::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc4::IfcResourceLevelRelationship::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcResourceLevelRelationship::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcResourceLevelRelationship::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_rc4::IfcResourceLevelRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[962]); } const IfcParse::entity& Ifc4x3_rc4::IfcResourceLevelRelationship::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[962]); } Ifc4x3_rc4::IfcResourceLevelRelationship::IfcResourceLevelRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcResourceLevelRelationship::IfcResourceLevelRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4x3_rc4::IfcResourceLevelRelationship::IfcResourceLevelRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcResourceTime -boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::ScheduleWork() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::ScheduleWork() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcResourceTime::setScheduleWork(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc4::IfcResourceTime::ScheduleUsage() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc4::IfcResourceTime::ScheduleUsage() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcResourceTime::setScheduleUsage(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::ScheduleStart() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::ScheduleStart() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcResourceTime::setScheduleStart(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::ScheduleFinish() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::ScheduleFinish() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcResourceTime::setScheduleFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::ScheduleContour() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::ScheduleContour() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcResourceTime::setScheduleContour(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::LevelingDelay() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::LevelingDelay() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcResourceTime::setLevelingDelay(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< bool > Ifc4x3_rc4::IfcResourceTime::IsOverAllocated() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } bool v = data_.get_attribute_value(9); return v; } +boost::optional< bool > Ifc4x3_rc4::IfcResourceTime::IsOverAllocated() const { if(get_attribute_value(9).isNull()) { return boost::none; } bool v = get_attribute_value(9); return v; } void Ifc4x3_rc4::IfcResourceTime::setIsOverAllocated(boost::optional< bool > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::StatusTime() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::StatusTime() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcResourceTime::setStatusTime(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::ActualWork() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::ActualWork() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x3_rc4::IfcResourceTime::setActualWork(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_rc4::IfcResourceTime::ActualUsage() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_rc4::IfcResourceTime::ActualUsage() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_rc4::IfcResourceTime::setActualUsage(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::ActualStart() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(13); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::ActualStart() const { if(get_attribute_value(13).isNull()) { return boost::none; } std::string v = get_attribute_value(13); return v; } void Ifc4x3_rc4::IfcResourceTime::setActualStart(boost::optional< std::string > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::ActualFinish() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::ActualFinish() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x3_rc4::IfcResourceTime::setActualFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::RemainingWork() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(15); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcResourceTime::RemainingWork() const { if(get_attribute_value(15).isNull()) { return boost::none; } std::string v = get_attribute_value(15); return v; } void Ifc4x3_rc4::IfcResourceTime::setRemainingWork(boost::optional< std::string > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3_rc4::IfcResourceTime::RemainingUsage() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3_rc4::IfcResourceTime::RemainingUsage() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3_rc4::IfcResourceTime::setRemainingUsage(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< double > Ifc4x3_rc4::IfcResourceTime::Completion() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } double v = data_.get_attribute_value(17); return v; } +boost::optional< double > Ifc4x3_rc4::IfcResourceTime::Completion() const { if(get_attribute_value(17).isNull()) { return boost::none; } double v = get_attribute_value(17); return v; } void Ifc4x3_rc4::IfcResourceTime::setCompletion(boost::optional< double > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } const IfcParse::entity& Ifc4x3_rc4::IfcResourceTime::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[965]); } const IfcParse::entity& Ifc4x3_rc4::IfcResourceTime::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[965]); } Ifc4x3_rc4::IfcResourceTime::IfcResourceTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -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(storage_t(18))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); }; populate_derived(); } +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(in_memory_attribute_storage(18))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); }; populate_derived(); } // Function implementations for IfcRevolvedAreaSolid -::Ifc4x3_rc4::IfcAxis1Placement* Ifc4x3_rc4::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcAxis1Placement>(true); } +::Ifc4x3_rc4::IfcAxis1Placement* Ifc4x3_rc4::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcAxis1Placement>(true); } void Ifc4x3_rc4::IfcRevolvedAreaSolid::setAxis(::Ifc4x3_rc4::IfcAxis1Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc4::IfcRevolvedAreaSolid::Angle() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc4::IfcRevolvedAreaSolid::Angle() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcRevolvedAreaSolid::setAngle(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcRevolvedAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[966]); } const IfcParse::entity& Ifc4x3_rc4::IfcRevolvedAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[966]); } Ifc4x3_rc4::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(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(storage_t(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));; populate_derived(); } +Ifc4x3_rc4::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(::Ifc4x3_rc4::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc4::IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));; populate_derived(); } // Function implementations for IfcRevolvedAreaSolidTapered -::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcProfileDef>(true); } +::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcProfileDef>(true); } void Ifc4x3_rc4::IfcRevolvedAreaSolidTapered::setEndSweptArea(::Ifc4x3_rc4::IfcProfileDef* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc4::IfcRevolvedAreaSolidTapered::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[967]); } const IfcParse::entity& Ifc4x3_rc4::IfcRevolvedAreaSolidTapered::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[967]); } Ifc4x3_rc4::IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(IfcEntityInstanceData&& e) : IfcRevolvedAreaSolid(std::move(e)) { } -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(storage_t(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRightCircularCone -double Ifc4x3_rc4::IfcRightCircularCone::Height() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc4::IfcRightCircularCone::Height() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcRightCircularCone::setHeight(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc4::IfcRightCircularCone::BottomRadius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc4::IfcRightCircularCone::BottomRadius() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcRightCircularCone::setBottomRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcRightCircularCone::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[968]); } const IfcParse::entity& Ifc4x3_rc4::IfcRightCircularCone::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[968]); } Ifc4x3_rc4::IfcRightCircularCone::IfcRightCircularCone(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3_rc4::IfcRightCircularCone::IfcRightCircularCone(::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_BottomRadius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; populate_derived(); } +Ifc4x3_rc4::IfcRightCircularCone::IfcRightCircularCone(::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_BottomRadius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; populate_derived(); } // Function implementations for IfcRightCircularCylinder -double Ifc4x3_rc4::IfcRightCircularCylinder::Height() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc4::IfcRightCircularCylinder::Height() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcRightCircularCylinder::setHeight(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc4::IfcRightCircularCylinder::Radius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc4::IfcRightCircularCylinder::Radius() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcRightCircularCylinder::setRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcRightCircularCylinder::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[969]); } const IfcParse::entity& Ifc4x3_rc4::IfcRightCircularCylinder::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[969]); } Ifc4x3_rc4::IfcRightCircularCylinder::IfcRightCircularCylinder(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3_rc4::IfcRightCircularCylinder::IfcRightCircularCylinder(::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; populate_derived(); } +Ifc4x3_rc4::IfcRightCircularCylinder::IfcRightCircularCylinder(::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; populate_derived(); } // Function implementations for IfcRoad -boost::optional< ::Ifc4x3_rc4::IfcRoadTypeEnum::Value > Ifc4x3_rc4::IfcRoad::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcRoadTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc4::IfcRoadTypeEnum::Value > Ifc4x3_rc4::IfcRoad::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcRoadTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcRoad::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRoadTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcRoadTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc4::IfcRoad::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[970]); } const IfcParse::entity& Ifc4x3_rc4::IfcRoad::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[970]); } Ifc4x3_rc4::IfcRoad::IfcRoad(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcRoadTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcRoadTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRoof -boost::optional< ::Ifc4x3_rc4::IfcRoofTypeEnum::Value > Ifc4x3_rc4::IfcRoof::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcRoofTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcRoofTypeEnum::Value > Ifc4x3_rc4::IfcRoof::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcRoofTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcRoof::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcRoofTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcRoofTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcRoof::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[974]); } const IfcParse::entity& Ifc4x3_rc4::IfcRoof::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[974]); } Ifc4x3_rc4::IfcRoof::IfcRoof(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRoofType -::Ifc4x3_rc4::IfcRoofTypeEnum::Value Ifc4x3_rc4::IfcRoofType::PredefinedType() const { return ::Ifc4x3_rc4::IfcRoofTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcRoofTypeEnum::Value Ifc4x3_rc4::IfcRoofType::PredefinedType() const { return ::Ifc4x3_rc4::IfcRoofTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcRoofType::setPredefinedType(::Ifc4x3_rc4::IfcRoofTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcRoofTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcRoofType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[975]); } const IfcParse::entity& Ifc4x3_rc4::IfcRoofType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[975]); } Ifc4x3_rc4::IfcRoofType::IfcRoofType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRoot -std::string Ifc4x3_rc4::IfcRoot::GlobalId() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc4::IfcRoot::GlobalId() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcRoot::setGlobalId(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcOwnerHistory* Ifc4x3_rc4::IfcRoot::OwnerHistory() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcOwnerHistory>(true); } +::Ifc4x3_rc4::IfcOwnerHistory* Ifc4x3_rc4::IfcRoot::OwnerHistory() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcOwnerHistory>(true); } void Ifc4x3_rc4::IfcRoot::setOwnerHistory(::Ifc4x3_rc4::IfcOwnerHistory* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_rc4::IfcRoot::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcRoot::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcRoot::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_rc4::IfcRoot::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcRoot::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcRoot::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc4::IfcRoot::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[977]); } const IfcParse::entity& Ifc4x3_rc4::IfcRoot::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[977]); } Ifc4x3_rc4::IfcRoot::IfcRoot(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -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(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +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(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRoundedRectangleProfileDef -double Ifc4x3_rc4::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc4::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcRoundedRectangleProfileDef::setRoundingRadius(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcRoundedRectangleProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[982]); } const IfcParse::entity& Ifc4x3_rc4::IfcRoundedRectangleProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[982]); } Ifc4x3_rc4::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(IfcEntityInstanceData&& e) : IfcRectangleProfileDef(std::move(e)) { } -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(storage_t(6))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; populate_derived(); } +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(in_memory_attribute_storage(6))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; populate_derived(); } // Function implementations for IfcSIUnit -boost::optional< ::Ifc4x3_rc4::IfcSIPrefix::Value > Ifc4x3_rc4::IfcSIUnit::Prefix() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSIPrefix::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc4x3_rc4::IfcSIPrefix::Value > Ifc4x3_rc4::IfcSIUnit::Prefix() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSIPrefix::FromString(get_attribute_value(2)); } void Ifc4x3_rc4::IfcSIUnit::setPrefix(boost::optional< ::Ifc4x3_rc4::IfcSIPrefix::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc4x3_rc4::IfcSIPrefix::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -::Ifc4x3_rc4::IfcSIUnitName::Value Ifc4x3_rc4::IfcSIUnit::Name() const { return ::Ifc4x3_rc4::IfcSIUnitName::FromString(data_.get_attribute_value(3)); } +::Ifc4x3_rc4::IfcSIUnitName::Value Ifc4x3_rc4::IfcSIUnit::Name() const { return ::Ifc4x3_rc4::IfcSIUnitName::FromString(get_attribute_value(3)); } void Ifc4x3_rc4::IfcSIUnit::setName(::Ifc4x3_rc4::IfcSIUnitName::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc4x3_rc4::IfcSIUnitName::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcSIUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1028]); } const IfcParse::entity& Ifc4x3_rc4::IfcSIUnit::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1028]); } Ifc4x3_rc4::IfcSIUnit::IfcSIUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -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(storage_t(4))) { set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc4::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc4::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc4::IfcSIUnitName::Class(),(size_t)v4_Name)));; populate_derived(); } +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(in_memory_attribute_storage(4))) { set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc4::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc4::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc4::IfcSIUnitName::Class(),(size_t)v4_Name)));; populate_derived(); } // Function implementations for IfcSanitaryTerminal -boost::optional< ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value > Ifc4x3_rc4::IfcSanitaryTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value > Ifc4x3_rc4::IfcSanitaryTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcSanitaryTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcSanitaryTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[983]); } const IfcParse::entity& Ifc4x3_rc4::IfcSanitaryTerminal::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[983]); } Ifc4x3_rc4::IfcSanitaryTerminal::IfcSanitaryTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSanitaryTerminalType -::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value Ifc4x3_rc4::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value Ifc4x3_rc4::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcSanitaryTerminalType::setPredefinedType(::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcSanitaryTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[984]); } const IfcParse::entity& Ifc4x3_rc4::IfcSanitaryTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[984]); } Ifc4x3_rc4::IfcSanitaryTerminalType::IfcSanitaryTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSchedulingTime -boost::optional< std::string > Ifc4x3_rc4::IfcSchedulingTime::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcSchedulingTime::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcSchedulingTime::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > Ifc4x3_rc4::IfcSchedulingTime::DataOrigin() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDataOriginEnum::FromString(data_.get_attribute_value(1)); } +boost::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > Ifc4x3_rc4::IfcSchedulingTime::DataOrigin() const { if(get_attribute_value(1).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcDataOriginEnum::FromString(get_attribute_value(1)); } void Ifc4x3_rc4::IfcSchedulingTime::setDataOrigin(boost::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v) { if (v) {set_attribute_value(1, EnumerationReference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(), (size_t) *v));} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc4::IfcSchedulingTime::UserDefinedDataOrigin() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcSchedulingTime::UserDefinedDataOrigin() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcSchedulingTime::setUserDefinedDataOrigin(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc4::IfcSchedulingTime::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[986]); } const IfcParse::entity& Ifc4x3_rc4::IfcSchedulingTime::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[986]); } Ifc4x3_rc4::IfcSchedulingTime::IfcSchedulingTime(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }; populate_derived(); } +Ifc4x3_rc4::IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_rc4::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }; populate_derived(); } // Function implementations for IfcSeamCurve @@ -15538,112 +15538,112 @@ Ifc4x3_rc4::IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > const IfcParse::entity& Ifc4x3_rc4::IfcSeamCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[987]); } const IfcParse::entity& Ifc4x3_rc4::IfcSeamCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[987]); } Ifc4x3_rc4::IfcSeamCurve::IfcSeamCurve(IfcEntityInstanceData&& e) : IfcSurfaceCurve(std::move(e)) { } -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(storage_t(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } +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(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcSecondOrderPolynomialSpiral -double Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::QuadraticTerm() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::QuadraticTerm() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::setQuadraticTerm(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::LinearTerm() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::LinearTerm() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::setLinearTerm(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::ConstantTerm() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::ConstantTerm() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::setConstantTerm(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[988]); } const IfcParse::entity& Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[988]); } Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::IfcSecondOrderPolynomialSpiral(IfcEntityInstanceData&& e) : IfcSpiral(std::move(e)) { } -Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::IfcSecondOrderPolynomialSpiral(::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, double v2_QuadraticTerm, boost::optional< double > v3_LinearTerm, boost::optional< double > v4_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_QuadraticTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); }; populate_derived(); } +Ifc4x3_rc4::IfcSecondOrderPolynomialSpiral::IfcSecondOrderPolynomialSpiral(::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, double v2_QuadraticTerm, boost::optional< double > v3_LinearTerm, boost::optional< double > v4_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_QuadraticTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); }; populate_derived(); } // Function implementations for IfcSectionProperties -::Ifc4x3_rc4::IfcSectionTypeEnum::Value Ifc4x3_rc4::IfcSectionProperties::SectionType() const { return ::Ifc4x3_rc4::IfcSectionTypeEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_rc4::IfcSectionTypeEnum::Value Ifc4x3_rc4::IfcSectionProperties::SectionType() const { return ::Ifc4x3_rc4::IfcSectionTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x3_rc4::IfcSectionProperties::setSectionType(::Ifc4x3_rc4::IfcSectionTypeEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_rc4::IfcSectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcProfileDef>(true); } +::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcProfileDef>(true); } void Ifc4x3_rc4::IfcSectionProperties::setStartProfile(::Ifc4x3_rc4::IfcProfileDef* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcSectionProperties::EndProfile() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcProfileDef>(true); } +::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcSectionProperties::EndProfile() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcProfileDef>(true); } void Ifc4x3_rc4::IfcSectionProperties::setEndProfile(::Ifc4x3_rc4::IfcProfileDef* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcSectionProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[995]); } const IfcParse::entity& Ifc4x3_rc4::IfcSectionProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[995]); } Ifc4x3_rc4::IfcSectionProperties::IfcSectionProperties(IfcEntityInstanceData&& e) : IfcPreDefinedProperties(std::move(e)) { } -Ifc4x3_rc4::IfcSectionProperties::IfcSectionProperties(::Ifc4x3_rc4::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_rc4::IfcProfileDef* v2_StartProfile, ::Ifc4x3_rc4::IfcProfileDef* v3_EndProfile) : IfcPreDefinedProperties(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, v2_StartProfile ? v2_StartProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EndProfile ? v3_EndProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcSectionProperties::IfcSectionProperties(::Ifc4x3_rc4::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_rc4::IfcProfileDef* v2_StartProfile, ::Ifc4x3_rc4::IfcProfileDef* v3_EndProfile) : IfcPreDefinedProperties(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, v2_StartProfile ? v2_StartProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EndProfile ? v3_EndProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSectionReinforcementProperties -double Ifc4x3_rc4::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_rc4::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcSectionReinforcementProperties::setLongitudinalStartPosition(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc4::IfcSectionReinforcementProperties::LongitudinalEndPosition() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc4::IfcSectionReinforcementProperties::LongitudinalEndPosition() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcSectionReinforcementProperties::setLongitudinalEndPosition(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_rc4::IfcSectionReinforcementProperties::TransversePosition() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc4::IfcSectionReinforcementProperties::TransversePosition() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc4::IfcReinforcingBarRoleEnum::Value Ifc4x3_rc4::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x3_rc4::IfcReinforcingBarRoleEnum::FromString(data_.get_attribute_value(3)); } +::Ifc4x3_rc4::IfcReinforcingBarRoleEnum::Value Ifc4x3_rc4::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x3_rc4::IfcReinforcingBarRoleEnum::FromString(get_attribute_value(3)); } void Ifc4x3_rc4::IfcSectionReinforcementProperties::setReinforcementRole(::Ifc4x3_rc4::IfcReinforcingBarRoleEnum::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc4x3_rc4::IfcReinforcingBarRoleEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc4::IfcSectionProperties* Ifc4x3_rc4::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcSectionProperties>(true); } +::Ifc4x3_rc4::IfcSectionProperties* Ifc4x3_rc4::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcSectionProperties>(true); } void Ifc4x3_rc4::IfcSectionReinforcementProperties::setSectionDefinition(::Ifc4x3_rc4::IfcSectionProperties* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_rc4::IfcReinforcementBarProperties >::ptr Ifc4x3_rc4::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc4::IfcReinforcementBarProperties >(); } +aggregate_of< ::Ifc4x3_rc4::IfcReinforcementBarProperties >::ptr Ifc4x3_rc4::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc4::IfcReinforcementBarProperties >(); } void Ifc4x3_rc4::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(aggregate_of< ::Ifc4x3_rc4::IfcReinforcementBarProperties >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcSectionReinforcementProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[996]); } const IfcParse::entity& Ifc4x3_rc4::IfcSectionReinforcementProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[996]); } Ifc4x3_rc4::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(IfcEntityInstanceData&& e) : IfcPreDefinedProperties(std::move(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, aggregate_of< ::Ifc4x3_rc4::IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcPreDefinedProperties(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc4::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, v5_SectionDefinition ? v5_SectionDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_CrossSectionReinforcementDefinitions)->generalize());; populate_derived(); } +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(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc4::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, v5_SectionDefinition ? v5_SectionDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_CrossSectionReinforcementDefinitions)->generalize());; populate_derived(); } // Function implementations for IfcSectionedSolid -::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcSectionedSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCurve>(true); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcSectionedSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcSectionedSolid::setDirectrix(::Ifc4x3_rc4::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr Ifc4x3_rc4::IfcSectionedSolid::CrossSections() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcProfileDef >(); } +aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr Ifc4x3_rc4::IfcSectionedSolid::CrossSections() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcProfileDef >(); } void Ifc4x3_rc4::IfcSectionedSolid::setCrossSections(aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcSectionedSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[990]); } const IfcParse::entity& Ifc4x3_rc4::IfcSectionedSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[990]); } Ifc4x3_rc4::IfcSectionedSolid::IfcSectionedSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3_rc4::IfcSectionedSolid::IfcSectionedSolid(::Ifc4x3_rc4::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr v2_CrossSections) : IfcSolidModel(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());; populate_derived(); } +Ifc4x3_rc4::IfcSectionedSolid::IfcSectionedSolid(::Ifc4x3_rc4::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr v2_CrossSections) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());; populate_derived(); } // Function implementations for IfcSectionedSolidHorizontal -aggregate_of< ::Ifc4x3_rc4::IfcAxis2PlacementLinear >::ptr Ifc4x3_rc4::IfcSectionedSolidHorizontal::CrossSectionPositions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcAxis2PlacementLinear >(); } +aggregate_of< ::Ifc4x3_rc4::IfcAxis2PlacementLinear >::ptr Ifc4x3_rc4::IfcSectionedSolidHorizontal::CrossSectionPositions() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcAxis2PlacementLinear >(); } void Ifc4x3_rc4::IfcSectionedSolidHorizontal::setCrossSectionPositions(aggregate_of< ::Ifc4x3_rc4::IfcAxis2PlacementLinear >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x3_rc4::IfcSectionedSolidHorizontal::FixedAxisVertical() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x3_rc4::IfcSectionedSolidHorizontal::FixedAxisVertical() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcSectionedSolidHorizontal::setFixedAxisVertical(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcSectionedSolidHorizontal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[991]); } const IfcParse::entity& Ifc4x3_rc4::IfcSectionedSolidHorizontal::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[991]); } Ifc4x3_rc4::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(IfcEntityInstanceData&& e) : IfcSectionedSolid(std::move(e)) { } -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(storage_t(4))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());set_attribute_value(3, (v4_FixedAxisVertical));; populate_derived(); } +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(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());set_attribute_value(3, (v4_FixedAxisVertical));; populate_derived(); } // Function implementations for IfcSectionedSpine -::Ifc4x3_rc4::IfcCompositeCurve* Ifc4x3_rc4::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCompositeCurve>(true); } +::Ifc4x3_rc4::IfcCompositeCurve* Ifc4x3_rc4::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCompositeCurve>(true); } void Ifc4x3_rc4::IfcSectionedSpine::setSpineCurve(::Ifc4x3_rc4::IfcCompositeCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr Ifc4x3_rc4::IfcSectionedSpine::CrossSections() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcProfileDef >(); } +aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr Ifc4x3_rc4::IfcSectionedSpine::CrossSections() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcProfileDef >(); } void Ifc4x3_rc4::IfcSectionedSpine::setCrossSections(aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3_rc4::IfcAxis2Placement3D >::ptr Ifc4x3_rc4::IfcSectionedSpine::CrossSectionPositions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcAxis2Placement3D >(); } +aggregate_of< ::Ifc4x3_rc4::IfcAxis2Placement3D >::ptr Ifc4x3_rc4::IfcSectionedSpine::CrossSectionPositions() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcAxis2Placement3D >(); } void Ifc4x3_rc4::IfcSectionedSpine::setCrossSectionPositions(aggregate_of< ::Ifc4x3_rc4::IfcAxis2Placement3D >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcSectionedSpine::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[992]); } const IfcParse::entity& Ifc4x3_rc4::IfcSectionedSpine::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[992]); } Ifc4x3_rc4::IfcSectionedSpine::IfcSectionedSpine(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -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(storage_t(3))) { set_attribute_value(0, v1_SpineCurve ? v1_SpineCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());; populate_derived(); } +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(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_SpineCurve ? v1_SpineCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());; populate_derived(); } // Function implementations for IfcSectionedSurface -::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcSectionedSurface::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCurve>(true); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcSectionedSurface::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcSectionedSurface::setDirectrix(::Ifc4x3_rc4::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc4::IfcPointByDistanceExpression >::ptr Ifc4x3_rc4::IfcSectionedSurface::CrossSectionPositions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcPointByDistanceExpression >(); } +aggregate_of< ::Ifc4x3_rc4::IfcPointByDistanceExpression >::ptr Ifc4x3_rc4::IfcSectionedSurface::CrossSectionPositions() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcPointByDistanceExpression >(); } void Ifc4x3_rc4::IfcSectionedSurface::setCrossSectionPositions(aggregate_of< ::Ifc4x3_rc4::IfcPointByDistanceExpression >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr Ifc4x3_rc4::IfcSectionedSurface::CrossSections() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcProfileDef >(); } +aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr Ifc4x3_rc4::IfcSectionedSurface::CrossSections() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcProfileDef >(); } void Ifc4x3_rc4::IfcSectionedSurface::setCrossSections(aggregate_of< ::Ifc4x3_rc4::IfcProfileDef >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x3_rc4::IfcSectionedSurface::FixedAxisVertical() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x3_rc4::IfcSectionedSurface::FixedAxisVertical() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcSectionedSurface::setFixedAxisVertical(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcSectionedSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[993]); } const IfcParse::entity& Ifc4x3_rc4::IfcSectionedSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[993]); } Ifc4x3_rc4::IfcSectionedSurface::IfcSectionedSurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -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(storage_t(4))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSectionPositions)->generalize());set_attribute_value(2, (v3_CrossSections)->generalize());set_attribute_value(3, (v4_FixedAxisVertical));; populate_derived(); } +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(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSectionPositions)->generalize());set_attribute_value(2, (v3_CrossSections)->generalize());set_attribute_value(3, (v4_FixedAxisVertical));; populate_derived(); } // Function implementations for IfcSegment -::Ifc4x3_rc4::IfcTransitionCode::Value Ifc4x3_rc4::IfcSegment::Transition() const { return ::Ifc4x3_rc4::IfcTransitionCode::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_rc4::IfcTransitionCode::Value Ifc4x3_rc4::IfcSegment::Transition() const { return ::Ifc4x3_rc4::IfcTransitionCode::FromString(get_attribute_value(0)); } void Ifc4x3_rc4::IfcSegment::setTransition(::Ifc4x3_rc4::IfcTransitionCode::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_rc4::IfcTransitionCode::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_rc4::IfcCompositeCurve::list::ptr Ifc4x3_rc4::IfcSegment::UsingCurves() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[194], 0)->as(); } @@ -15651,94 +15651,94 @@ void Ifc4x3_rc4::IfcSegment::setTransition(::Ifc4x3_rc4::IfcTransitionCode::Valu const IfcParse::entity& Ifc4x3_rc4::IfcSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[998]); } const IfcParse::entity& Ifc4x3_rc4::IfcSegment::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[998]); } Ifc4x3_rc4::IfcSegment::IfcSegment(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcSegment::IfcSegment(::Ifc4x3_rc4::IfcTransitionCode::Value v1_Transition) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcTransitionCode::Class(),(size_t)v1_Transition)));; populate_derived(); } +Ifc4x3_rc4::IfcSegment::IfcSegment(::Ifc4x3_rc4::IfcTransitionCode::Value v1_Transition) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcTransitionCode::Class(),(size_t)v1_Transition)));; populate_derived(); } // Function implementations for IfcSegmentedReferenceCurve -::Ifc4x3_rc4::IfcBoundedCurve* Ifc4x3_rc4::IfcSegmentedReferenceCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcBoundedCurve>(true); } +::Ifc4x3_rc4::IfcBoundedCurve* Ifc4x3_rc4::IfcSegmentedReferenceCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcBoundedCurve>(true); } void Ifc4x3_rc4::IfcSegmentedReferenceCurve::setBaseCurve(::Ifc4x3_rc4::IfcBoundedCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcPlacement* Ifc4x3_rc4::IfcSegmentedReferenceCurve::EndPoint() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcPlacement>(true); } +::Ifc4x3_rc4::IfcPlacement* Ifc4x3_rc4::IfcSegmentedReferenceCurve::EndPoint() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcPlacement>(true); } void Ifc4x3_rc4::IfcSegmentedReferenceCurve::setEndPoint(::Ifc4x3_rc4::IfcPlacement* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcSegmentedReferenceCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[999]); } const IfcParse::entity& Ifc4x3_rc4::IfcSegmentedReferenceCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[999]); } Ifc4x3_rc4::IfcSegmentedReferenceCurve::IfcSegmentedReferenceCurve(IfcEntityInstanceData&& e) : IfcCompositeCurve(std::move(e)) { } -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(storage_t(4))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, v3_BaseCurve ? v3_BaseCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_EndPoint ? v4_EndPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, v3_BaseCurve ? v3_BaseCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_EndPoint ? v4_EndPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSensor -boost::optional< ::Ifc4x3_rc4::IfcSensorTypeEnum::Value > Ifc4x3_rc4::IfcSensor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSensorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcSensorTypeEnum::Value > Ifc4x3_rc4::IfcSensor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSensorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcSensor::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSensorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcSensorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcSensor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1001]); } const IfcParse::entity& Ifc4x3_rc4::IfcSensor::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1001]); } Ifc4x3_rc4::IfcSensor::IfcSensor(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSensorType -::Ifc4x3_rc4::IfcSensorTypeEnum::Value Ifc4x3_rc4::IfcSensorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSensorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcSensorTypeEnum::Value Ifc4x3_rc4::IfcSensorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSensorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcSensorType::setPredefinedType(::Ifc4x3_rc4::IfcSensorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcSensorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcSensorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1002]); } const IfcParse::entity& Ifc4x3_rc4::IfcSensorType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1002]); } Ifc4x3_rc4::IfcSensorType::IfcSensorType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSeventhOrderPolynomialSpiral -double Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::SepticTerm() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::SepticTerm() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setSepticTerm(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::SexticTerm() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::SexticTerm() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setSexticTerm(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::QuinticTerm() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::QuinticTerm() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setQuinticTerm(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::QuarticTerm() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::QuarticTerm() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setQuarticTerm(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::CubicTerm() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::CubicTerm() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setCubicTerm(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::QuadraticTerm() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::QuadraticTerm() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setQuadraticTerm(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::LinearTerm() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::LinearTerm() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setLinearTerm(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::ConstantTerm() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::ConstantTerm() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::setConstantTerm(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1005]); } const IfcParse::entity& Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1005]); } Ifc4x3_rc4::IfcSeventhOrderPolynomialSpiral::IfcSeventhOrderPolynomialSpiral(IfcEntityInstanceData&& e) : IfcSpiral(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SepticTerm)); if (v3_SexticTerm) {set_attribute_value(2, (*v3_SexticTerm)); } if (v4_QuinticTerm) {set_attribute_value(3, (*v4_QuinticTerm)); } if (v5_QuarticTerm) {set_attribute_value(4, (*v5_QuarticTerm)); } if (v6_CubicTerm) {set_attribute_value(5, (*v6_CubicTerm)); } if (v7_QuadraticTerm) {set_attribute_value(6, (*v7_QuadraticTerm)); } if (v8_LinearTerm) {set_attribute_value(7, (*v8_LinearTerm)); } if (v9_ConstantTerm) {set_attribute_value(8, (*v9_ConstantTerm)); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SepticTerm)); if (v3_SexticTerm) {set_attribute_value(2, (*v3_SexticTerm)); } if (v4_QuinticTerm) {set_attribute_value(3, (*v4_QuinticTerm)); } if (v5_QuarticTerm) {set_attribute_value(4, (*v5_QuarticTerm)); } if (v6_CubicTerm) {set_attribute_value(5, (*v6_CubicTerm)); } if (v7_QuadraticTerm) {set_attribute_value(6, (*v7_QuadraticTerm)); } if (v8_LinearTerm) {set_attribute_value(7, (*v8_LinearTerm)); } if (v9_ConstantTerm) {set_attribute_value(8, (*v9_ConstantTerm)); }; populate_derived(); } // Function implementations for IfcShadingDevice -boost::optional< ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value > Ifc4x3_rc4::IfcShadingDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value > Ifc4x3_rc4::IfcShadingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcShadingDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcShadingDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1006]); } const IfcParse::entity& Ifc4x3_rc4::IfcShadingDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1006]); } Ifc4x3_rc4::IfcShadingDevice::IfcShadingDevice(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcShadingDeviceType -::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value Ifc4x3_rc4::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value Ifc4x3_rc4::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcShadingDeviceType::setPredefinedType(::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcShadingDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1007]); } const IfcParse::entity& Ifc4x3_rc4::IfcShadingDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1007]); } Ifc4x3_rc4::IfcShadingDeviceType::IfcShadingDeviceType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcShapeAspect -aggregate_of< ::Ifc4x3_rc4::IfcShapeModel >::ptr Ifc4x3_rc4::IfcShapeAspect::ShapeRepresentations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcShapeModel >(); } +aggregate_of< ::Ifc4x3_rc4::IfcShapeModel >::ptr Ifc4x3_rc4::IfcShapeAspect::ShapeRepresentations() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcShapeModel >(); } void Ifc4x3_rc4::IfcShapeAspect::setShapeRepresentations(aggregate_of< ::Ifc4x3_rc4::IfcShapeModel >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc4::IfcShapeAspect::Name() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcShapeAspect::Name() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcShapeAspect::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc4::IfcShapeAspect::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcShapeAspect::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcShapeAspect::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::logic::tribool Ifc4x3_rc4::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = data_.get_attribute_value(3); return v; } +boost::logic::tribool Ifc4x3_rc4::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcShapeAspect::setProductDefinitional(boost::logic::tribool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc4::IfcProductRepresentationSelect* Ifc4x3_rc4::IfcShapeAspect::PartOfProductDefinitionShape() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcProductRepresentationSelect>(true); } +::Ifc4x3_rc4::IfcProductRepresentationSelect* Ifc4x3_rc4::IfcShapeAspect::PartOfProductDefinitionShape() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcProductRepresentationSelect>(true); } void Ifc4x3_rc4::IfcShapeAspect::setPartOfProductDefinitionShape(::Ifc4x3_rc4::IfcProductRepresentationSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } ::Ifc4x3_rc4::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc4::IfcShapeAspect::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[433], 3)->as(); } @@ -15746,7 +15746,7 @@ void Ifc4x3_rc4::IfcShapeAspect::setPartOfProductDefinitionShape(::Ifc4x3_rc4::I const IfcParse::entity& Ifc4x3_rc4::IfcShapeAspect::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1009]); } const IfcParse::entity& Ifc4x3_rc4::IfcShapeAspect::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1009]); } Ifc4x3_rc4::IfcShapeAspect::IfcShapeAspect(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -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(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_ShapeRepresentations)->generalize()); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, v5_PartOfProductDefinitionShape ? v5_PartOfProductDefinitionShape->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_ShapeRepresentations)->generalize()); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, v5_PartOfProductDefinitionShape ? v5_PartOfProductDefinitionShape->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcShapeModel @@ -15755,7 +15755,7 @@ Ifc4x3_rc4::IfcShapeAspect::IfcShapeAspect(aggregate_of< ::Ifc4x3_rc4::IfcShapeM const IfcParse::entity& Ifc4x3_rc4::IfcShapeModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1010]); } const IfcParse::entity& Ifc4x3_rc4::IfcShapeModel::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1010]); } Ifc4x3_rc4::IfcShapeModel::IfcShapeModel(IfcEntityInstanceData&& e) : IfcRepresentation(std::move(e)) { } -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(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +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(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcShapeRepresentation @@ -15763,57 +15763,57 @@ Ifc4x3_rc4::IfcShapeModel::IfcShapeModel(::Ifc4x3_rc4::IfcRepresentationContext* const IfcParse::entity& Ifc4x3_rc4::IfcShapeRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1011]); } const IfcParse::entity& Ifc4x3_rc4::IfcShapeRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1011]); } Ifc4x3_rc4::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceData&& e) : IfcShapeModel(std::move(e)) { } -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(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +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(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcShellBasedSurfaceModel -aggregate_of< ::Ifc4x3_rc4::IfcShell >::ptr Ifc4x3_rc4::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcShell >(); } +aggregate_of< ::Ifc4x3_rc4::IfcShell >::ptr Ifc4x3_rc4::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcShell >(); } void Ifc4x3_rc4::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x3_rc4::IfcShell >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc4::IfcShellBasedSurfaceModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1014]); } const IfcParse::entity& Ifc4x3_rc4::IfcShellBasedSurfaceModel::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1014]); } Ifc4x3_rc4::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3_rc4::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_SbsmBoundary)->generalize());; populate_derived(); } +Ifc4x3_rc4::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3_rc4::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_SbsmBoundary)->generalize());; populate_derived(); } // Function implementations for IfcSign -boost::optional< ::Ifc4x3_rc4::IfcSignTypeEnum::Value > Ifc4x3_rc4::IfcSign::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSignTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcSignTypeEnum::Value > Ifc4x3_rc4::IfcSign::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSignTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcSign::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSignTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcSignTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcSign::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1015]); } const IfcParse::entity& Ifc4x3_rc4::IfcSign::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1015]); } Ifc4x3_rc4::IfcSign::IfcSign(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcSignTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcSignTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSignType -::Ifc4x3_rc4::IfcSignTypeEnum::Value Ifc4x3_rc4::IfcSignType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSignTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcSignTypeEnum::Value Ifc4x3_rc4::IfcSignType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSignTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcSignType::setPredefinedType(::Ifc4x3_rc4::IfcSignTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcSignTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcSignType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1019]); } const IfcParse::entity& Ifc4x3_rc4::IfcSignType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1019]); } Ifc4x3_rc4::IfcSignType::IfcSignType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcSignTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcSignTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSignal -boost::optional< ::Ifc4x3_rc4::IfcSignalTypeEnum::Value > Ifc4x3_rc4::IfcSignal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSignalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcSignalTypeEnum::Value > Ifc4x3_rc4::IfcSignal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSignalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcSignal::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSignalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcSignalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcSignal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1016]); } const IfcParse::entity& Ifc4x3_rc4::IfcSignal::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1016]); } Ifc4x3_rc4::IfcSignal::IfcSignal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcSignalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcSignalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSignalType -::Ifc4x3_rc4::IfcSignalTypeEnum::Value Ifc4x3_rc4::IfcSignalType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSignalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcSignalTypeEnum::Value Ifc4x3_rc4::IfcSignalType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSignalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcSignalType::setPredefinedType(::Ifc4x3_rc4::IfcSignalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcSignalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcSignalType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1017]); } const IfcParse::entity& Ifc4x3_rc4::IfcSignalType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1017]); } Ifc4x3_rc4::IfcSignalType::IfcSignalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcSignalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcSignalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSimpleProperty @@ -15821,73 +15821,73 @@ Ifc4x3_rc4::IfcSignalType::IfcSignalType(std::string v1_GlobalId, ::Ifc4x3_rc4:: const IfcParse::entity& Ifc4x3_rc4::IfcSimpleProperty::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1021]); } const IfcParse::entity& Ifc4x3_rc4::IfcSimpleProperty::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1021]); } Ifc4x3_rc4::IfcSimpleProperty::IfcSimpleProperty(IfcEntityInstanceData&& e) : IfcProperty(std::move(e)) { } -Ifc4x3_rc4::IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcProperty(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4x3_rc4::IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcProperty(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcSimplePropertyTemplate -boost::optional< ::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x3_rc4::IfcSimplePropertyTemplate::TemplateType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::FromString(data_.get_attribute_value(4)); } +boost::optional< ::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x3_rc4::IfcSimplePropertyTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::FromString(get_attribute_value(4)); } void Ifc4x3_rc4::IfcSimplePropertyTemplate::setTemplateType(boost::optional< ::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::Value > v) { if (v) {set_attribute_value(4, EnumerationReference(&::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc4::IfcSimplePropertyTemplate::PrimaryMeasureType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcSimplePropertyTemplate::PrimaryMeasureType() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcSimplePropertyTemplate::setPrimaryMeasureType(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc4::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcSimplePropertyTemplate::setSecondaryMeasureType(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_rc4::IfcPropertyEnumeration* Ifc4x3_rc4::IfcSimplePropertyTemplate::Enumerators() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc4::IfcPropertyEnumeration>(true); } +::Ifc4x3_rc4::IfcPropertyEnumeration* Ifc4x3_rc4::IfcSimplePropertyTemplate::Enumerators() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc4::IfcPropertyEnumeration>(true); } void Ifc4x3_rc4::IfcSimplePropertyTemplate::setEnumerators(::Ifc4x3_rc4::IfcPropertyEnumeration* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcSimplePropertyTemplate::PrimaryUnit() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc4::IfcUnit>(true); } +::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcSimplePropertyTemplate::PrimaryUnit() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc4::IfcUnit>(true); } void Ifc4x3_rc4::IfcSimplePropertyTemplate::setPrimaryUnit(::Ifc4x3_rc4::IfcUnit* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcSimplePropertyTemplate::SecondaryUnit() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc4::IfcUnit>(true); } +::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcSimplePropertyTemplate::SecondaryUnit() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc4::IfcUnit>(true); } void Ifc4x3_rc4::IfcSimplePropertyTemplate::setSecondaryUnit(::Ifc4x3_rc4::IfcUnit* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3_rc4::IfcSimplePropertyTemplate::Expression() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcSimplePropertyTemplate::Expression() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcSimplePropertyTemplate::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< ::Ifc4x3_rc4::IfcStateEnum::Value > Ifc4x3_rc4::IfcSimplePropertyTemplate::AccessState() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcStateEnum::FromString(data_.get_attribute_value(11)); } +boost::optional< ::Ifc4x3_rc4::IfcStateEnum::Value > Ifc4x3_rc4::IfcSimplePropertyTemplate::AccessState() const { if(get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcStateEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc4::IfcSimplePropertyTemplate::setAccessState(boost::optional< ::Ifc4x3_rc4::IfcStateEnum::Value > v) { if (v) {set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc4::IfcStateEnum::Class(), (size_t) *v));} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x3_rc4::IfcSimplePropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1022]); } const IfcParse::entity& Ifc4x3_rc4::IfcSimplePropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1022]); } Ifc4x3_rc4::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplate(std::move(e)) { } -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(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, v8_Enumerators ? v8_Enumerators->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_PrimaryUnit ? v9_PrimaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_SecondaryUnit ? v10_SecondaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc4::IfcStateEnum::Class(),(size_t)*v12_AccessState))); }; populate_derived(); } +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(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc4::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, v8_Enumerators ? v8_Enumerators->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_PrimaryUnit ? v9_PrimaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_SecondaryUnit ? v10_SecondaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc4::IfcStateEnum::Class(),(size_t)*v12_AccessState))); }; populate_derived(); } // Function implementations for IfcSine -double Ifc4x3_rc4::IfcSine::SineTerm() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc4::IfcSine::SineTerm() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcSine::setSineTerm(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_rc4::IfcSine::LinearTerm() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc4::IfcSine::LinearTerm() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcSine::setLinearTerm(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc4::IfcSine::ConstantTerm() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc4::IfcSine::ConstantTerm() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcSine::setConstantTerm(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc4::IfcSine::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1025]); } const IfcParse::entity& Ifc4x3_rc4::IfcSine::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1025]); } Ifc4x3_rc4::IfcSine::IfcSine(IfcEntityInstanceData&& e) : IfcSpiral(std::move(e)) { } -Ifc4x3_rc4::IfcSine::IfcSine(::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, double v2_SineTerm, boost::optional< double > v3_LinearTerm, boost::optional< double > v4_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SineTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); }; populate_derived(); } +Ifc4x3_rc4::IfcSine::IfcSine(::Ifc4x3_rc4::IfcAxis2Placement* v1_Position, double v2_SineTerm, boost::optional< double > v3_LinearTerm, boost::optional< double > v4_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SineTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); }; populate_derived(); } // Function implementations for IfcSite -boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_rc4::IfcSite::RefLatitude() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = data_.get_attribute_value(9); return v; } +boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_rc4::IfcSite::RefLatitude() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = get_attribute_value(9); return v; } void Ifc4x3_rc4::IfcSite::setRefLatitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_rc4::IfcSite::RefLongitude() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = data_.get_attribute_value(10); return v; } +boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_rc4::IfcSite::RefLongitude() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcSite::setRefLongitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc4::IfcSite::RefElevation() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc4::IfcSite::RefElevation() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc4::IfcSite::setRefElevation(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_rc4::IfcSite::LandTitleNumber() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcSite::LandTitleNumber() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc4::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4x3_rc4::IfcPostalAddress* Ifc4x3_rc4::IfcSite::SiteAddress() const { if(data_.get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(13)))->as<::Ifc4x3_rc4::IfcPostalAddress>(true); } +::Ifc4x3_rc4::IfcPostalAddress* Ifc4x3_rc4::IfcSite::SiteAddress() const { if(get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(13)))->as<::Ifc4x3_rc4::IfcPostalAddress>(true); } void Ifc4x3_rc4::IfcSite::setSiteAddress(::Ifc4x3_rc4::IfcPostalAddress* v) { set_attribute_value(13, v->as());if constexpr (false)unset_attribute_value(13); } const IfcParse::entity& Ifc4x3_rc4::IfcSite::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1027]); } const IfcParse::entity& Ifc4x3_rc4::IfcSite::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1027]); } Ifc4x3_rc4::IfcSite::IfcSite(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -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(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, v14_SiteAddress ? v14_SiteAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, v14_SiteAddress ? v14_SiteAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSlab -boost::optional< ::Ifc4x3_rc4::IfcSlabTypeEnum::Value > Ifc4x3_rc4::IfcSlab::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSlabTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcSlabTypeEnum::Value > Ifc4x3_rc4::IfcSlab::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSlabTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcSlab::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSlabTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcSlabTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcSlab::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1031]); } const IfcParse::entity& Ifc4x3_rc4::IfcSlab::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1031]); } Ifc4x3_rc4::IfcSlab::IfcSlab(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc4::IfcSlab::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) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc4::IfcSlab::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) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSlabElementedCase @@ -15895,7 +15895,7 @@ Ifc4x3_rc4::IfcSlab::IfcSlab(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHist const IfcParse::entity& Ifc4x3_rc4::IfcSlabElementedCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1032]); } const IfcParse::entity& Ifc4x3_rc4::IfcSlabElementedCase::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1032]); } Ifc4x3_rc4::IfcSlabElementedCase::IfcSlabElementedCase(IfcEntityInstanceData&& e) : IfcSlab(std::move(e)) { } -Ifc4x3_rc4::IfcSlabElementedCase::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) : IfcSlab(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc4::IfcSlabElementedCase::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) : IfcSlab(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSlabStandardCase @@ -15903,51 +15903,51 @@ Ifc4x3_rc4::IfcSlabElementedCase::IfcSlabElementedCase(std::string v1_GlobalId, const IfcParse::entity& Ifc4x3_rc4::IfcSlabStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1033]); } const IfcParse::entity& Ifc4x3_rc4::IfcSlabStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1033]); } Ifc4x3_rc4::IfcSlabStandardCase::IfcSlabStandardCase(IfcEntityInstanceData&& e) : IfcSlab(std::move(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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSlabType -::Ifc4x3_rc4::IfcSlabTypeEnum::Value Ifc4x3_rc4::IfcSlabType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSlabTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcSlabTypeEnum::Value Ifc4x3_rc4::IfcSlabType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSlabTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcSlabType::setPredefinedType(::Ifc4x3_rc4::IfcSlabTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcSlabTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcSlabType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1034]); } const IfcParse::entity& Ifc4x3_rc4::IfcSlabType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1034]); } Ifc4x3_rc4::IfcSlabType::IfcSlabType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSlippageConnectionCondition -boost::optional< double > Ifc4x3_rc4::IfcSlippageConnectionCondition::SlippageX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc4::IfcSlippageConnectionCondition::SlippageX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcSlippageConnectionCondition::setSlippageX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc4::IfcSlippageConnectionCondition::SlippageY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc4::IfcSlippageConnectionCondition::SlippageY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcSlippageConnectionCondition::setSlippageY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc4::IfcSlippageConnectionCondition::SlippageZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc4::IfcSlippageConnectionCondition::SlippageZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcSlippageConnectionCondition::setSlippageZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc4::IfcSlippageConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1036]); } const IfcParse::entity& Ifc4x3_rc4::IfcSlippageConnectionCondition::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1036]); } Ifc4x3_rc4::IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(IfcEntityInstanceData&& e) : IfcStructuralConnectionCondition(std::move(e)) { } -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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; populate_derived(); } +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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; populate_derived(); } // Function implementations for IfcSolarDevice -boost::optional< ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value > Ifc4x3_rc4::IfcSolarDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value > Ifc4x3_rc4::IfcSolarDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcSolarDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcSolarDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1037]); } const IfcParse::entity& Ifc4x3_rc4::IfcSolarDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1037]); } Ifc4x3_rc4::IfcSolarDevice::IfcSolarDevice(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSolarDeviceType -::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value Ifc4x3_rc4::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value Ifc4x3_rc4::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcSolarDeviceType::setPredefinedType(::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcSolarDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1038]); } const IfcParse::entity& Ifc4x3_rc4::IfcSolarDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1038]); } Ifc4x3_rc4::IfcSolarDeviceType::IfcSolarDeviceType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSolidModel @@ -15955,7 +15955,7 @@ Ifc4x3_rc4::IfcSolarDeviceType::IfcSolarDeviceType(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x3_rc4::IfcSolidModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1041]); } const IfcParse::entity& Ifc4x3_rc4::IfcSolidModel::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1041]); } Ifc4x3_rc4::IfcSolidModel::IfcSolidModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc4::IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcSolidStratum @@ -15963,12 +15963,12 @@ Ifc4x3_rc4::IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem(IfcE const IfcParse::entity& Ifc4x3_rc4::IfcSolidStratum::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1043]); } const IfcParse::entity& Ifc4x3_rc4::IfcSolidStratum::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1043]); } Ifc4x3_rc4::IfcSolidStratum::IfcSolidStratum(IfcEntityInstanceData&& e) : IfcGeotechnicalStratum(std::move(e)) { } -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(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +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(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcSpace -boost::optional< ::Ifc4x3_rc4::IfcSpaceTypeEnum::Value > Ifc4x3_rc4::IfcSpace::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSpaceTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc4::IfcSpaceTypeEnum::Value > Ifc4x3_rc4::IfcSpace::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcSpace::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSpaceTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcSpaceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc4::IfcSpace::ElevationWithFlooring() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc4::IfcSpace::ElevationWithFlooring() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcSpace::setElevationWithFlooring(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } ::Ifc4x3_rc4::IfcRelCoversSpaces::list::ptr Ifc4x3_rc4::IfcSpace::HasCoverings() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[933], 4)->as(); } @@ -15977,42 +15977,42 @@ void Ifc4x3_rc4::IfcSpace::setElevationWithFlooring(boost::optional< double > v) const IfcParse::entity& Ifc4x3_rc4::IfcSpace::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1048]); } const IfcParse::entity& Ifc4x3_rc4::IfcSpace::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1048]); } Ifc4x3_rc4::IfcSpace::IfcSpace(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -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(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; populate_derived(); } +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(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; populate_derived(); } // Function implementations for IfcSpaceHeater -boost::optional< ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value > Ifc4x3_rc4::IfcSpaceHeater::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value > Ifc4x3_rc4::IfcSpaceHeater::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcSpaceHeater::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcSpaceHeater::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1050]); } const IfcParse::entity& Ifc4x3_rc4::IfcSpaceHeater::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1050]); } Ifc4x3_rc4::IfcSpaceHeater::IfcSpaceHeater(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSpaceHeaterType -::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value Ifc4x3_rc4::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value Ifc4x3_rc4::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcSpaceHeaterType::setPredefinedType(::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcSpaceHeaterType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1051]); } const IfcParse::entity& Ifc4x3_rc4::IfcSpaceHeaterType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1051]); } Ifc4x3_rc4::IfcSpaceHeaterType::IfcSpaceHeaterType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSpaceType -::Ifc4x3_rc4::IfcSpaceTypeEnum::Value Ifc4x3_rc4::IfcSpaceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSpaceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcSpaceTypeEnum::Value Ifc4x3_rc4::IfcSpaceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcSpaceType::setPredefinedType(::Ifc4x3_rc4::IfcSpaceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcSpaceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3_rc4::IfcSpaceType::LongName() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcSpaceType::LongName() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcSpaceType::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc4::IfcSpaceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1053]); } const IfcParse::entity& Ifc4x3_rc4::IfcSpaceType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1053]); } Ifc4x3_rc4::IfcSpaceType::IfcSpaceType(IfcEntityInstanceData&& e) : IfcSpatialStructureElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } +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(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } // Function implementations for IfcSpatialElement -boost::optional< std::string > Ifc4x3_rc4::IfcSpatialElement::LongName() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcSpatialElement::LongName() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcSpatialElement::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } ::Ifc4x3_rc4::IfcRelContainedInSpatialStructure::list::ptr Ifc4x3_rc4::IfcSpatialElement::ContainsElements() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[931], 5)->as(); } @@ -16022,27 +16022,27 @@ void Ifc4x3_rc4::IfcSpatialElement::setLongName(boost::optional< std::string > v const IfcParse::entity& Ifc4x3_rc4::IfcSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1055]); } const IfcParse::entity& Ifc4x3_rc4::IfcSpatialElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1055]); } Ifc4x3_rc4::IfcSpatialElement::IfcSpatialElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -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(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } +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(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } // Function implementations for IfcSpatialElementType -boost::optional< std::string > Ifc4x3_rc4::IfcSpatialElementType::ElementType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcSpatialElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcSpatialElementType::setElementType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcSpatialElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1056]); } const IfcParse::entity& Ifc4x3_rc4::IfcSpatialElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1056]); } Ifc4x3_rc4::IfcSpatialElementType::IfcSpatialElementType(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcSpatialStructureElement -boost::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > Ifc4x3_rc4::IfcSpatialStructureElement::CompositionType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElementCompositionEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > Ifc4x3_rc4::IfcSpatialStructureElement::CompositionType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcElementCompositionEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcSpatialStructureElement::setCompositionType(boost::optional< ::Ifc4x3_rc4::IfcElementCompositionEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcSpatialStructureElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1058]); } const IfcParse::entity& Ifc4x3_rc4::IfcSpatialStructureElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1058]); } Ifc4x3_rc4::IfcSpatialStructureElement::IfcSpatialStructureElement(IfcEntityInstanceData&& e) : IfcSpatialElement(std::move(e)) { } -Ifc4x3_rc4::IfcSpatialStructureElement::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) : IfcSpatialElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } +Ifc4x3_rc4::IfcSpatialStructureElement::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) : IfcSpatialElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } // Function implementations for IfcSpatialStructureElementType @@ -16050,142 +16050,142 @@ Ifc4x3_rc4::IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v const IfcParse::entity& Ifc4x3_rc4::IfcSpatialStructureElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1059]); } const IfcParse::entity& Ifc4x3_rc4::IfcSpatialStructureElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1059]); } Ifc4x3_rc4::IfcSpatialStructureElementType::IfcSpatialStructureElementType(IfcEntityInstanceData&& e) : IfcSpatialElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcSpatialZone -boost::optional< ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value > Ifc4x3_rc4::IfcSpatialZone::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value > Ifc4x3_rc4::IfcSpatialZone::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcSpatialZone::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcSpatialZone::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1060]); } const IfcParse::entity& Ifc4x3_rc4::IfcSpatialZone::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1060]); } Ifc4x3_rc4::IfcSpatialZone::IfcSpatialZone(IfcEntityInstanceData&& e) : IfcSpatialElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSpatialZoneType -::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value Ifc4x3_rc4::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value Ifc4x3_rc4::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcSpatialZoneType::setPredefinedType(::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3_rc4::IfcSpatialZoneType::LongName() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcSpatialZoneType::LongName() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcSpatialZoneType::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc4::IfcSpatialZoneType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1061]); } const IfcParse::entity& Ifc4x3_rc4::IfcSpatialZoneType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1061]); } Ifc4x3_rc4::IfcSpatialZoneType::IfcSpatialZoneType(IfcEntityInstanceData&& e) : IfcSpatialElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } +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(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } // Function implementations for IfcSphere -double Ifc4x3_rc4::IfcSphere::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc4::IfcSphere::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcSphere::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcSphere::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1067]); } const IfcParse::entity& Ifc4x3_rc4::IfcSphere::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1067]); } Ifc4x3_rc4::IfcSphere::IfcSphere(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3_rc4::IfcSphere::IfcSphere(::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x3_rc4::IfcSphere::IfcSphere(::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcSphericalSurface -double Ifc4x3_rc4::IfcSphericalSurface::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc4::IfcSphericalSurface::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcSphericalSurface::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcSphericalSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1068]); } const IfcParse::entity& Ifc4x3_rc4::IfcSphericalSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1068]); } Ifc4x3_rc4::IfcSphericalSurface::IfcSphericalSurface(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x3_rc4::IfcSphericalSurface::IfcSphericalSurface(::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x3_rc4::IfcSphericalSurface::IfcSphericalSurface(::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcSpiral -::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcSpiral::Position() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcAxis2Placement>(true); } +::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcSpiral::Position() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcAxis2Placement>(true); } void Ifc4x3_rc4::IfcSpiral::setPosition(::Ifc4x3_rc4::IfcAxis2Placement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc4::IfcSpiral::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1069]); } const IfcParse::entity& Ifc4x3_rc4::IfcSpiral::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1069]); } Ifc4x3_rc4::IfcSpiral::IfcSpiral(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_rc4::IfcSpiral::IfcSpiral(::Ifc4x3_rc4::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcSpiral::IfcSpiral(::Ifc4x3_rc4::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStackTerminal -boost::optional< ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value > Ifc4x3_rc4::IfcStackTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value > Ifc4x3_rc4::IfcStackTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcStackTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcStackTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1070]); } const IfcParse::entity& Ifc4x3_rc4::IfcStackTerminal::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1070]); } Ifc4x3_rc4::IfcStackTerminal::IfcStackTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcStackTerminalType -::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value Ifc4x3_rc4::IfcStackTerminalType::PredefinedType() const { return ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value Ifc4x3_rc4::IfcStackTerminalType::PredefinedType() const { return ::Ifc4x3_rc4::IfcStackTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcStackTerminalType::setPredefinedType(::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcStackTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1071]); } const IfcParse::entity& Ifc4x3_rc4::IfcStackTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1071]); } Ifc4x3_rc4::IfcStackTerminalType::IfcStackTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStair -boost::optional< ::Ifc4x3_rc4::IfcStairTypeEnum::Value > Ifc4x3_rc4::IfcStair::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcStairTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcStairTypeEnum::Value > Ifc4x3_rc4::IfcStair::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcStairTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcStair::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcStairTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcStairTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcStair::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1073]); } const IfcParse::entity& Ifc4x3_rc4::IfcStair::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1073]); } Ifc4x3_rc4::IfcStair::IfcStair(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcStairFlight -boost::optional< int > Ifc4x3_rc4::IfcStairFlight::NumberOfRisers() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } int v = data_.get_attribute_value(8); return v; } +boost::optional< int > Ifc4x3_rc4::IfcStairFlight::NumberOfRisers() const { if(get_attribute_value(8).isNull()) { return boost::none; } int v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcStairFlight::setNumberOfRisers(boost::optional< int > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< int > Ifc4x3_rc4::IfcStairFlight::NumberOfTreads() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } int v = data_.get_attribute_value(9); return v; } +boost::optional< int > Ifc4x3_rc4::IfcStairFlight::NumberOfTreads() const { if(get_attribute_value(9).isNull()) { return boost::none; } int v = get_attribute_value(9); return v; } void Ifc4x3_rc4::IfcStairFlight::setNumberOfTreads(boost::optional< int > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc4::IfcStairFlight::RiserHeight() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc4::IfcStairFlight::RiserHeight() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcStairFlight::setRiserHeight(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc4::IfcStairFlight::TreadLength() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc4::IfcStairFlight::TreadLength() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc4::IfcStairFlight::setTreadLength(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< ::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value > Ifc4x3_rc4::IfcStairFlight::PredefinedType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcStairFlightTypeEnum::FromString(data_.get_attribute_value(12)); } +boost::optional< ::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value > Ifc4x3_rc4::IfcStairFlight::PredefinedType() const { if(get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcStairFlightTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x3_rc4::IfcStairFlight::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value > v) { if (v) {set_attribute_value(12, EnumerationReference(&::Ifc4x3_rc4::IfcStairFlightTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_rc4::IfcStairFlight::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1074]); } const IfcParse::entity& Ifc4x3_rc4::IfcStairFlight::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1074]); } Ifc4x3_rc4::IfcStairFlight::IfcStairFlight(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -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(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_rc4::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_rc4::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } // Function implementations for IfcStairFlightType -::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value Ifc4x3_rc4::IfcStairFlightType::PredefinedType() const { return ::Ifc4x3_rc4::IfcStairFlightTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value Ifc4x3_rc4::IfcStairFlightType::PredefinedType() const { return ::Ifc4x3_rc4::IfcStairFlightTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcStairFlightType::setPredefinedType(::Ifc4x3_rc4::IfcStairFlightTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcStairFlightTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcStairFlightType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1075]); } const IfcParse::entity& Ifc4x3_rc4::IfcStairFlightType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1075]); } Ifc4x3_rc4::IfcStairFlightType::IfcStairFlightType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStairType -::Ifc4x3_rc4::IfcStairTypeEnum::Value Ifc4x3_rc4::IfcStairType::PredefinedType() const { return ::Ifc4x3_rc4::IfcStairTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcStairTypeEnum::Value Ifc4x3_rc4::IfcStairType::PredefinedType() const { return ::Ifc4x3_rc4::IfcStairTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcStairType::setPredefinedType(::Ifc4x3_rc4::IfcStairTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcStairTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcStairType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1077]); } const IfcParse::entity& Ifc4x3_rc4::IfcStairType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1077]); } Ifc4x3_rc4::IfcStairType::IfcStairType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralAction -boost::optional< bool > Ifc4x3_rc4::IfcStructuralAction::DestabilizingLoad() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } bool v = data_.get_attribute_value(9); return v; } +boost::optional< bool > Ifc4x3_rc4::IfcStructuralAction::DestabilizingLoad() const { if(get_attribute_value(9).isNull()) { return boost::none; } bool v = get_attribute_value(9); return v; } void Ifc4x3_rc4::IfcStructuralAction::setDestabilizingLoad(boost::optional< bool > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralAction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1080]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralAction::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1080]); } Ifc4x3_rc4::IfcStructuralAction::IfcStructuralAction(IfcEntityInstanceData&& e) : IfcStructuralActivity(std::move(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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } // Function implementations for IfcStructuralActivity -::Ifc4x3_rc4::IfcStructuralLoad* Ifc4x3_rc4::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc4::IfcStructuralLoad>(true); } +::Ifc4x3_rc4::IfcStructuralLoad* Ifc4x3_rc4::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc4::IfcStructuralLoad>(true); } void Ifc4x3_rc4::IfcStructuralActivity::setAppliedLoad(::Ifc4x3_rc4::IfcStructuralLoad* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value Ifc4x3_rc4::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value Ifc4x3_rc4::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x3_rc4::IfcGlobalOrLocalEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcStructuralActivity::setGlobalOrLocal(::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } ::Ifc4x3_rc4::IfcRelConnectsStructuralActivity::list::ptr Ifc4x3_rc4::IfcStructuralActivity::AssignedToStructuralItem() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[927], 5)->as(); } @@ -16193,28 +16193,28 @@ void Ifc4x3_rc4::IfcStructuralActivity::setGlobalOrLocal(::Ifc4x3_rc4::IfcGlobal const IfcParse::entity& Ifc4x3_rc4::IfcStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1081]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralActivity::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1081]); } Ifc4x3_rc4::IfcStructuralActivity::IfcStructuralActivity(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralAnalysisModel -::Ifc4x3_rc4::IfcAnalysisModelTypeEnum::Value Ifc4x3_rc4::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x3_rc4::IfcAnalysisModelTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_rc4::IfcAnalysisModelTypeEnum::Value Ifc4x3_rc4::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x3_rc4::IfcAnalysisModelTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc4::IfcStructuralAnalysisModel::setPredefinedType(::Ifc4x3_rc4::IfcAnalysisModelTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc4::IfcAnalysisModelTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(true); } void Ifc4x3_rc4::IfcStructuralAnalysisModel::setOrientationOf2DPlane(::Ifc4x3_rc4::IfcAxis2Placement3D* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcStructuralLoadGroup >::ptr > Ifc4x3_rc4::IfcStructuralAnalysisModel::LoadedBy() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc4::IfcStructuralLoadGroup >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcStructuralLoadGroup >::ptr > Ifc4x3_rc4::IfcStructuralAnalysisModel::LoadedBy() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc4::IfcStructuralLoadGroup >(); } void Ifc4x3_rc4::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcStructuralLoadGroup >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcStructuralResultGroup >::ptr > Ifc4x3_rc4::IfcStructuralAnalysisModel::HasResults() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_rc4::IfcStructuralResultGroup >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcStructuralResultGroup >::ptr > Ifc4x3_rc4::IfcStructuralAnalysisModel::HasResults() const { if(get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_rc4::IfcStructuralResultGroup >(); } void Ifc4x3_rc4::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcStructuralResultGroup >::ptr > v) { if (v) {set_attribute_value(8, (*v)->generalize());} else {unset_attribute_value(8);} } -::Ifc4x3_rc4::IfcObjectPlacement* Ifc4x3_rc4::IfcStructuralAnalysisModel::SharedPlacement() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc4::IfcObjectPlacement>(true); } +::Ifc4x3_rc4::IfcObjectPlacement* Ifc4x3_rc4::IfcStructuralAnalysisModel::SharedPlacement() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc4::IfcObjectPlacement>(true); } void Ifc4x3_rc4::IfcStructuralAnalysisModel::setSharedPlacement(::Ifc4x3_rc4::IfcObjectPlacement* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralAnalysisModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1083]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralAnalysisModel::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1083]); } Ifc4x3_rc4::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(IfcEntityInstanceData&& e) : IfcSystem(std::move(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< 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, v7_OrientationOf2DPlane ? v7_OrientationOf2DPlane->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LoadedBy) {set_attribute_value(7, (*v8_LoadedBy)->generalize()); } if (v9_HasResults) {set_attribute_value(8, (*v9_HasResults)->generalize()); }set_attribute_value(9, v10_SharedPlacement ? v10_SharedPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, v7_OrientationOf2DPlane ? v7_OrientationOf2DPlane->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LoadedBy) {set_attribute_value(7, (*v8_LoadedBy)->generalize()); } if (v9_HasResults) {set_attribute_value(8, (*v9_HasResults)->generalize()); }set_attribute_value(9, v10_SharedPlacement ? v10_SharedPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralConnection -::Ifc4x3_rc4::IfcBoundaryCondition* Ifc4x3_rc4::IfcStructuralConnection::AppliedCondition() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc4::IfcBoundaryCondition>(true); } +::Ifc4x3_rc4::IfcBoundaryCondition* Ifc4x3_rc4::IfcStructuralConnection::AppliedCondition() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc4::IfcBoundaryCondition>(true); } void Ifc4x3_rc4::IfcStructuralConnection::setAppliedCondition(::Ifc4x3_rc4::IfcBoundaryCondition* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_rc4::IfcRelConnectsStructuralMember::list::ptr Ifc4x3_rc4::IfcStructuralConnection::ConnectsStructuralMembers() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[928], 5)->as(); } @@ -16222,51 +16222,51 @@ void Ifc4x3_rc4::IfcStructuralConnection::setAppliedCondition(::Ifc4x3_rc4::IfcB const IfcParse::entity& Ifc4x3_rc4::IfcStructuralConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1084]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralConnection::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1084]); } Ifc4x3_rc4::IfcStructuralConnection::IfcStructuralConnection(IfcEntityInstanceData&& e) : IfcStructuralItem(std::move(e)) { } -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(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralConnectionCondition -boost::optional< std::string > Ifc4x3_rc4::IfcStructuralConnectionCondition::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcStructuralConnectionCondition::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcStructuralConnectionCondition::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1085]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralConnectionCondition::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1085]); } Ifc4x3_rc4::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_rc4::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralCurveAction -boost::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_rc4::IfcStructuralCurveAction::ProjectedOrTrue() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_rc4::IfcStructuralCurveAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc4::IfcStructuralCurveAction::setProjectedOrTrue(boost::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_rc4::IfcStructuralCurveAction::PredefinedType() const { return ::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_rc4::IfcStructuralCurveAction::PredefinedType() const { return ::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc4::IfcStructuralCurveAction::setPredefinedType(::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralCurveAction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1086]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralCurveAction::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1086]); } Ifc4x3_rc4::IfcStructuralCurveAction::IfcStructuralCurveAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -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(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralCurveConnection -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcStructuralCurveConnection::Axis() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc4::IfcDirection>(true); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcStructuralCurveConnection::Axis() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcStructuralCurveConnection::setAxis(::Ifc4x3_rc4::IfcDirection* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralCurveConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1088]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralCurveConnection::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1088]); } Ifc4x3_rc4::IfcStructuralCurveConnection::IfcStructuralCurveConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralCurveMember -::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_rc4::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_rc4::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc4::IfcStructuralCurveMember::setPredefinedType(::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc4::IfcDirection>(true); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcStructuralCurveMember::setAxis(::Ifc4x3_rc4::IfcDirection* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralCurveMember::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1089]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralCurveMember::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1089]); } Ifc4x3_rc4::IfcStructuralCurveMember::IfcStructuralCurveMember(IfcEntityInstanceData&& e) : IfcStructuralMember(std::move(e)) { } -Ifc4x3_rc4::IfcStructuralCurveMember::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) : IfcStructuralMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcStructuralCurveMember::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) : IfcStructuralMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralCurveMemberVarying @@ -16274,17 +16274,17 @@ Ifc4x3_rc4::IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_Gl const IfcParse::entity& Ifc4x3_rc4::IfcStructuralCurveMemberVarying::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1091]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralCurveMemberVarying::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1091]); } Ifc4x3_rc4::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(IfcEntityInstanceData&& e) : IfcStructuralCurveMember(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralCurveReaction -::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_rc4::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_rc4::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcStructuralCurveReaction::setPredefinedType(::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralCurveReaction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1092]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralCurveReaction::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1092]); } Ifc4x3_rc4::IfcStructuralCurveReaction::IfcStructuralCurveReaction(IfcEntityInstanceData&& e) : IfcStructuralReaction(std::move(e)) { } -Ifc4x3_rc4::IfcStructuralCurveReaction::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) : IfcStructuralReaction(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc4::IfcStructuralCurveReaction::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) : IfcStructuralReaction(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralItem @@ -16293,7 +16293,7 @@ Ifc4x3_rc4::IfcStructuralCurveReaction::IfcStructuralCurveReaction(std::string v const IfcParse::entity& Ifc4x3_rc4::IfcStructuralItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1093]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralItem::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1093]); } Ifc4x3_rc4::IfcStructuralItem::IfcStructuralItem(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_rc4::IfcStructuralItem::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) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcStructuralItem::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) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralLinearAction @@ -16301,50 +16301,50 @@ Ifc4x3_rc4::IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLinearAction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1094]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLinearAction::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1094]); } Ifc4x3_rc4::IfcStructuralLinearAction::IfcStructuralLinearAction(IfcEntityInstanceData&& e) : IfcStructuralCurveAction(std::move(e)) { } -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(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc4::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralLoad -boost::optional< std::string > Ifc4x3_rc4::IfcStructuralLoad::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcStructuralLoad::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcStructuralLoad::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoad::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1095]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoad::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1095]); } Ifc4x3_rc4::IfcStructuralLoad::IfcStructuralLoad(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_rc4::IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralLoadCase -boost::optional< std::vector< double > /*[3:3]*/ > Ifc4x3_rc4::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::vector< double > /*[3:3]*/ v = data_.get_attribute_value(10); return v; } +boost::optional< std::vector< double > /*[3:3]*/ > Ifc4x3_rc4::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::vector< double > /*[3:3]*/ v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcStructuralLoadCase::setSelfWeightCoefficients(boost::optional< std::vector< double > /*[3:3]*/ > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1096]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadCase::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1096]); } Ifc4x3_rc4::IfcStructuralLoadCase::IfcStructuralLoadCase(IfcEntityInstanceData&& e) : IfcStructuralLoadGroup(std::move(e)) { } -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(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc4::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); }; populate_derived(); } +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(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc4::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); }; populate_derived(); } // Function implementations for IfcStructuralLoadConfiguration -aggregate_of< ::Ifc4x3_rc4::IfcStructuralLoadOrResult >::ptr Ifc4x3_rc4::IfcStructuralLoadConfiguration::Values() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcStructuralLoadOrResult >(); } +aggregate_of< ::Ifc4x3_rc4::IfcStructuralLoadOrResult >::ptr Ifc4x3_rc4::IfcStructuralLoadConfiguration::Values() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcStructuralLoadOrResult >(); } void Ifc4x3_rc4::IfcStructuralLoadConfiguration::setValues(aggregate_of< ::Ifc4x3_rc4::IfcStructuralLoadOrResult >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::vector< std::vector< double > > > Ifc4x3_rc4::IfcStructuralLoadConfiguration::Locations() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< std::vector< double > > v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< std::vector< double > > > Ifc4x3_rc4::IfcStructuralLoadConfiguration::Locations() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< std::vector< double > > v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcStructuralLoadConfiguration::setLocations(boost::optional< std::vector< std::vector< double > > > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadConfiguration::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1097]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadConfiguration::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1097]); } Ifc4x3_rc4::IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(IfcEntityInstanceData&& e) : IfcStructuralLoad(std::move(e)) { } -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(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Values)->generalize()); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); }; populate_derived(); } +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(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Values)->generalize()); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); }; populate_derived(); } // Function implementations for IfcStructuralLoadGroup -::Ifc4x3_rc4::IfcLoadGroupTypeEnum::Value Ifc4x3_rc4::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4x3_rc4::IfcLoadGroupTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_rc4::IfcLoadGroupTypeEnum::Value Ifc4x3_rc4::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4x3_rc4::IfcLoadGroupTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc4::IfcStructuralLoadGroup::setPredefinedType(::Ifc4x3_rc4::IfcLoadGroupTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc4::IfcLoadGroupTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc4::IfcActionTypeEnum::Value Ifc4x3_rc4::IfcStructuralLoadGroup::ActionType() const { return ::Ifc4x3_rc4::IfcActionTypeEnum::FromString(data_.get_attribute_value(6)); } +::Ifc4x3_rc4::IfcActionTypeEnum::Value Ifc4x3_rc4::IfcStructuralLoadGroup::ActionType() const { return ::Ifc4x3_rc4::IfcActionTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_rc4::IfcStructuralLoadGroup::setActionType(::Ifc4x3_rc4::IfcActionTypeEnum::Value v) { set_attribute_value(6, EnumerationReference(&::Ifc4x3_rc4::IfcActionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc4::IfcActionSourceTypeEnum::Value Ifc4x3_rc4::IfcStructuralLoadGroup::ActionSource() const { return ::Ifc4x3_rc4::IfcActionSourceTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc4::IfcActionSourceTypeEnum::Value Ifc4x3_rc4::IfcStructuralLoadGroup::ActionSource() const { return ::Ifc4x3_rc4::IfcActionSourceTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc4::IfcStructuralLoadGroup::setActionSource(::Ifc4x3_rc4::IfcActionSourceTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc4::IfcActionSourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadGroup::Coefficient() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadGroup::Coefficient() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcStructuralLoadGroup::setCoefficient(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_rc4::IfcStructuralLoadGroup::Purpose() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcStructuralLoadGroup::Purpose() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc4::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } ::Ifc4x3_rc4::IfcStructuralResultGroup::list::ptr Ifc4x3_rc4::IfcStructuralLoadGroup::SourceOfResultGroup() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[1114], 6)->as(); } @@ -16353,27 +16353,27 @@ void Ifc4x3_rc4::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1098]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadGroup::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1098]); } Ifc4x3_rc4::IfcStructuralLoadGroup::IfcStructuralLoadGroup(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc4::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x3_rc4::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; populate_derived(); } // Function implementations for IfcStructuralLoadLinearForce -boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadLinearForce::LinearForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadLinearForce::LinearForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcStructuralLoadLinearForce::setLinearForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadLinearForce::LinearForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadLinearForce::LinearForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcStructuralLoadLinearForce::setLinearForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadLinearForce::LinearForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadLinearForce::LinearForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcStructuralLoadLinearForce::setLinearForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadLinearForce::LinearMomentX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadLinearForce::LinearMomentX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcStructuralLoadLinearForce::setLinearMomentX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadLinearForce::LinearMomentY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadLinearForce::LinearMomentY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcStructuralLoadLinearForce::setLinearMomentY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadLinearForce::LinearMomentZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadLinearForce::LinearMomentZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcStructuralLoadLinearForce::setLinearMomentZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadLinearForce::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1099]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadLinearForce::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1099]); } Ifc4x3_rc4::IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3_rc4::IfcStructuralLoadLinearForce::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) : IfcStructuralLoadStatic(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; populate_derived(); } +Ifc4x3_rc4::IfcStructuralLoadLinearForce::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) : IfcStructuralLoadStatic(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadOrResult @@ -16381,81 +16381,81 @@ Ifc4x3_rc4::IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(boost::op const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadOrResult::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1100]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadOrResult::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1100]); } Ifc4x3_rc4::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(IfcEntityInstanceData&& e) : IfcStructuralLoad(std::move(e)) { } -Ifc4x3_rc4::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional< std::string > v1_Name) : IfcStructuralLoad(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_rc4::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional< std::string > v1_Name) : IfcStructuralLoad(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralLoadPlanarForce -boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcStructuralLoadPlanarForce::setPlanarForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadPlanarForce::PlanarForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadPlanarForce::PlanarForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcStructuralLoadPlanarForce::setPlanarForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadPlanarForce::PlanarForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadPlanarForce::PlanarForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcStructuralLoadPlanarForce::setPlanarForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadPlanarForce::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1101]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadPlanarForce::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1101]); } Ifc4x3_rc4::IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; populate_derived(); } +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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleDisplacement -boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::setDisplacementX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::DisplacementY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::DisplacementY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::setDisplacementY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::DisplacementZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::DisplacementZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::setDisplacementZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1102]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1102]); } Ifc4x3_rc4::IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; populate_derived(); } +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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleDisplacementDistortion -boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadSingleDisplacementDistortion::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1103]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadSingleDisplacementDistortion::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1103]); } Ifc4x3_rc4::IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDisplacementDistortion(IfcEntityInstanceData&& e) : IfcStructuralLoadSingleDisplacement(std::move(e)) { } -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(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; populate_derived(); } +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(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleForce -boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleForce::ForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleForce::ForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcStructuralLoadSingleForce::setForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleForce::ForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleForce::ForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcStructuralLoadSingleForce::setForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleForce::ForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleForce::ForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcStructuralLoadSingleForce::setForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleForce::MomentX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleForce::MomentX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcStructuralLoadSingleForce::setMomentX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleForce::MomentY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleForce::MomentY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcStructuralLoadSingleForce::setMomentY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleForce::MomentZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleForce::MomentZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcStructuralLoadSingleForce::setMomentZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadSingleForce::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1104]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadSingleForce::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1104]); } Ifc4x3_rc4::IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; populate_derived(); } +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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleForceWarping -boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcStructuralLoadSingleForceWarping::setWarpingMoment(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadSingleForceWarping::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1105]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadSingleForceWarping::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1105]); } Ifc4x3_rc4::IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWarping(IfcEntityInstanceData&& e) : IfcStructuralLoadSingleForce(std::move(e)) { } -Ifc4x3_rc4::IfcStructuralLoadSingleForceWarping::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) : IfcStructuralLoadSingleForce(IfcEntityInstanceData(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; populate_derived(); } +Ifc4x3_rc4::IfcStructuralLoadSingleForceWarping::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) : IfcStructuralLoadSingleForce(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; populate_derived(); } // Function implementations for IfcStructuralLoadStatic @@ -16463,21 +16463,21 @@ Ifc4x3_rc4::IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWar const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadStatic::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1106]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadStatic::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1106]); } Ifc4x3_rc4::IfcStructuralLoadStatic::IfcStructuralLoadStatic(IfcEntityInstanceData&& e) : IfcStructuralLoadOrResult(std::move(e)) { } -Ifc4x3_rc4::IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< std::string > v1_Name) : IfcStructuralLoadOrResult(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_rc4::IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< std::string > v1_Name) : IfcStructuralLoadOrResult(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralLoadTemperature -boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadTemperature::DeltaTConstant() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadTemperature::DeltaTConstant() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcStructuralLoadTemperature::setDeltaTConstant(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadTemperature::DeltaTY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadTemperature::DeltaTY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcStructuralLoadTemperature::setDeltaTY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadTemperature::DeltaTZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc4::IfcStructuralLoadTemperature::DeltaTZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcStructuralLoadTemperature::setDeltaTZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadTemperature::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1107]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralLoadTemperature::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1107]); } Ifc4x3_rc4::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3_rc4::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::optional< std::string > v1_Name, boost::optional< double > v2_DeltaTConstant, boost::optional< double > v3_DeltaTY, boost::optional< double > v4_DeltaTZ) : IfcStructuralLoadStatic(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); }; populate_derived(); } +Ifc4x3_rc4::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::optional< std::string > v1_Name, boost::optional< double > v2_DeltaTConstant, boost::optional< double > v3_DeltaTY, boost::optional< double > v4_DeltaTZ) : IfcStructuralLoadStatic(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); }; populate_derived(); } // Function implementations for IfcStructuralMember @@ -16486,7 +16486,7 @@ Ifc4x3_rc4::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::op const IfcParse::entity& Ifc4x3_rc4::IfcStructuralMember::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1108]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralMember::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1108]); } Ifc4x3_rc4::IfcStructuralMember::IfcStructuralMember(IfcEntityInstanceData&& e) : IfcStructuralItem(std::move(e)) { } -Ifc4x3_rc4::IfcStructuralMember::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) : IfcStructuralItem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcStructuralMember::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) : IfcStructuralItem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralPlanarAction @@ -16494,7 +16494,7 @@ Ifc4x3_rc4::IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x3_rc4::IfcStructuralPlanarAction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1109]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralPlanarAction::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1109]); } Ifc4x3_rc4::IfcStructuralPlanarAction::IfcStructuralPlanarAction(IfcEntityInstanceData&& e) : IfcStructuralSurfaceAction(std::move(e)) { } -Ifc4x3_rc4::IfcStructuralPlanarAction::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) : IfcStructuralSurfaceAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_rc4::IfcStructuralPlanarAction::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) : IfcStructuralSurfaceAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralPointAction @@ -16502,17 +16502,17 @@ Ifc4x3_rc4::IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_ const IfcParse::entity& Ifc4x3_rc4::IfcStructuralPointAction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1110]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralPointAction::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1110]); } Ifc4x3_rc4::IfcStructuralPointAction::IfcStructuralPointAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } // Function implementations for IfcStructuralPointConnection -::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(true); } void Ifc4x3_rc4::IfcStructuralPointConnection::setConditionCoordinateSystem(::Ifc4x3_rc4::IfcAxis2Placement3D* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralPointConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1111]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralPointConnection::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1111]); } Ifc4x3_rc4::IfcStructuralPointConnection::IfcStructuralPointConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -Ifc4x3_rc4::IfcStructuralPointConnection::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) : IfcStructuralConnection(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_ConditionCoordinateSystem ? v9_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcStructuralPointConnection::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) : IfcStructuralConnection(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_ConditionCoordinateSystem ? v9_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralPointReaction @@ -16520,7 +16520,7 @@ Ifc4x3_rc4::IfcStructuralPointConnection::IfcStructuralPointConnection(std::stri const IfcParse::entity& Ifc4x3_rc4::IfcStructuralPointReaction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1112]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralPointReaction::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1112]); } Ifc4x3_rc4::IfcStructuralPointReaction::IfcStructuralPointReaction(IfcEntityInstanceData&& e) : IfcStructuralReaction(std::move(e)) { } -Ifc4x3_rc4::IfcStructuralPointReaction::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) : IfcStructuralReaction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +Ifc4x3_rc4::IfcStructuralPointReaction::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) : IfcStructuralReaction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralReaction @@ -16528,14 +16528,14 @@ Ifc4x3_rc4::IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v const IfcParse::entity& Ifc4x3_rc4::IfcStructuralReaction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1113]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralReaction::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1113]); } Ifc4x3_rc4::IfcStructuralReaction::IfcStructuralReaction(IfcEntityInstanceData&& e) : IfcStructuralActivity(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralResultGroup -::Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_rc4::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_rc4::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc4::IfcStructuralResultGroup::setTheoryType(::Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc4::IfcStructuralLoadGroup* Ifc4x3_rc4::IfcStructuralResultGroup::ResultForLoadGroup() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcStructuralLoadGroup>(true); } +::Ifc4x3_rc4::IfcStructuralLoadGroup* Ifc4x3_rc4::IfcStructuralResultGroup::ResultForLoadGroup() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcStructuralLoadGroup>(true); } void Ifc4x3_rc4::IfcStructuralResultGroup::setResultForLoadGroup(::Ifc4x3_rc4::IfcStructuralLoadGroup* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -bool Ifc4x3_rc4::IfcStructuralResultGroup::IsLinear() const { bool v = data_.get_attribute_value(7); return v; } +bool Ifc4x3_rc4::IfcStructuralResultGroup::IsLinear() const { bool v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcStructuralResultGroup::setIsLinear(bool v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_rc4::IfcStructuralAnalysisModel::list::ptr Ifc4x3_rc4::IfcStructuralResultGroup::ResultGroupFor() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[1083], 8)->as(); } @@ -16543,19 +16543,19 @@ void Ifc4x3_rc4::IfcStructuralResultGroup::setIsLinear(bool v) { set_attribute_v const IfcParse::entity& Ifc4x3_rc4::IfcStructuralResultGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1114]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralResultGroup::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1114]); } Ifc4x3_rc4::IfcStructuralResultGroup::IfcStructuralResultGroup(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -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(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, v7_ResultForLoadGroup ? v7_ResultForLoadGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_IsLinear));; populate_derived(); } +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(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, v7_ResultForLoadGroup ? v7_ResultForLoadGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_IsLinear));; populate_derived(); } // Function implementations for IfcStructuralSurfaceAction -boost::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_rc4::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_rc4::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc4::IfcStructuralSurfaceAction::setProjectedOrTrue(boost::optional< ::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_rc4::IfcStructuralSurfaceAction::PredefinedType() const { return ::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_rc4::IfcStructuralSurfaceAction::PredefinedType() const { return ::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc4::IfcStructuralSurfaceAction::setPredefinedType(::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralSurfaceAction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1115]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralSurfaceAction::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1115]); } Ifc4x3_rc4::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -Ifc4x3_rc4::IfcStructuralSurfaceAction::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) : IfcStructuralAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_rc4::IfcStructuralSurfaceAction::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) : IfcStructuralAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralSurfaceConnection @@ -16563,19 +16563,19 @@ Ifc4x3_rc4::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(std::string v const IfcParse::entity& Ifc4x3_rc4::IfcStructuralSurfaceConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1117]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralSurfaceConnection::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1117]); } Ifc4x3_rc4::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -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(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralSurfaceMember -::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_rc4::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_rc4::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_rc4::IfcStructuralSurfaceMember::setPredefinedType(::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc4x3_rc4::IfcStructuralSurfaceMember::Thickness() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc4::IfcStructuralSurfaceMember::Thickness() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcStructuralSurfaceMember::setThickness(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralSurfaceMember::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1118]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralSurfaceMember::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1118]); } Ifc4x3_rc4::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(IfcEntityInstanceData&& e) : IfcStructuralMember(std::move(e)) { } -Ifc4x3_rc4::IfcStructuralSurfaceMember::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) : IfcStructuralMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } +Ifc4x3_rc4::IfcStructuralSurfaceMember::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) : IfcStructuralMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } // Function implementations for IfcStructuralSurfaceMemberVarying @@ -16583,17 +16583,17 @@ Ifc4x3_rc4::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v const IfcParse::entity& Ifc4x3_rc4::IfcStructuralSurfaceMemberVarying::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1120]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralSurfaceMemberVarying::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1120]); } Ifc4x3_rc4::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(IfcEntityInstanceData&& e) : IfcStructuralSurfaceMember(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_rc4::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } // Function implementations for IfcStructuralSurfaceReaction -::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_rc4::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_rc4::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcStructuralSurfaceReaction::setPredefinedType(::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralSurfaceReaction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1121]); } const IfcParse::entity& Ifc4x3_rc4::IfcStructuralSurfaceReaction::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1121]); } Ifc4x3_rc4::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(IfcEntityInstanceData&& e) : IfcStructuralReaction(std::move(e)) { } -Ifc4x3_rc4::IfcStructuralSurfaceReaction::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) : IfcStructuralReaction(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_rc4::IfcStructuralSurfaceReaction::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) : IfcStructuralReaction(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStyleModel @@ -16601,21 +16601,21 @@ Ifc4x3_rc4::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(std::stri const IfcParse::entity& Ifc4x3_rc4::IfcStyleModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1124]); } const IfcParse::entity& Ifc4x3_rc4::IfcStyleModel::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1124]); } Ifc4x3_rc4::IfcStyleModel::IfcStyleModel(IfcEntityInstanceData&& e) : IfcRepresentation(std::move(e)) { } -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(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +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(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcStyledItem -::Ifc4x3_rc4::IfcRepresentationItem* Ifc4x3_rc4::IfcStyledItem::Item() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcRepresentationItem>(true); } +::Ifc4x3_rc4::IfcRepresentationItem* Ifc4x3_rc4::IfcStyledItem::Item() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcRepresentationItem>(true); } void Ifc4x3_rc4::IfcStyledItem::setItem(::Ifc4x3_rc4::IfcRepresentationItem* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr Ifc4x3_rc4::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcPresentationStyle >(); } +aggregate_of< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr Ifc4x3_rc4::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcPresentationStyle >(); } void Ifc4x3_rc4::IfcStyledItem::setStyles(aggregate_of< ::Ifc4x3_rc4::IfcPresentationStyle >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_rc4::IfcStyledItem::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcStyledItem::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcStyledItem::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc4::IfcStyledItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1122]); } const IfcParse::entity& Ifc4x3_rc4::IfcStyledItem::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1122]); } Ifc4x3_rc4::IfcStyledItem::IfcStyledItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -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(storage_t(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +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(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcStyledRepresentation @@ -16623,37 +16623,37 @@ Ifc4x3_rc4::IfcStyledItem::IfcStyledItem(::Ifc4x3_rc4::IfcRepresentationItem* v1 const IfcParse::entity& Ifc4x3_rc4::IfcStyledRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1123]); } const IfcParse::entity& Ifc4x3_rc4::IfcStyledRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1123]); } Ifc4x3_rc4::IfcStyledRepresentation::IfcStyledRepresentation(IfcEntityInstanceData&& e) : IfcStyleModel(std::move(e)) { } -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(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +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(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcSubContractResource -boost::optional< ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value > Ifc4x3_rc4::IfcSubContractResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value > Ifc4x3_rc4::IfcSubContractResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc4::IfcSubContractResource::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc4::IfcSubContractResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1125]); } const IfcParse::entity& Ifc4x3_rc4::IfcSubContractResource::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1125]); } Ifc4x3_rc4::IfcSubContractResource::IfcSubContractResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_rc4::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSubContractResourceType -::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value Ifc4x3_rc4::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value Ifc4x3_rc4::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc4::IfcSubContractResourceType::setPredefinedType(::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc4::IfcSubContractResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1126]); } const IfcParse::entity& Ifc4x3_rc4::IfcSubContractResourceType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1126]); } Ifc4x3_rc4::IfcSubContractResourceType::IfcSubContractResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(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< 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(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc4::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcSubedge -::Ifc4x3_rc4::IfcEdge* Ifc4x3_rc4::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcEdge>(true); } +::Ifc4x3_rc4::IfcEdge* Ifc4x3_rc4::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcEdge>(true); } void Ifc4x3_rc4::IfcSubedge::setParentEdge(::Ifc4x3_rc4::IfcEdge* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcSubedge::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1128]); } const IfcParse::entity& Ifc4x3_rc4::IfcSubedge::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1128]); } Ifc4x3_rc4::IfcSubedge::IfcSubedge(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc4x3_rc4::IfcSubedge::IfcSubedge(::Ifc4x3_rc4::IfcVertex* v1_EdgeStart, ::Ifc4x3_rc4::IfcVertex* v2_EdgeEnd, ::Ifc4x3_rc4::IfcEdge* v3_ParentEdge) : IfcEdge(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ParentEdge ? v3_ParentEdge->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcSubedge::IfcSubedge(::Ifc4x3_rc4::IfcVertex* v1_EdgeStart, ::Ifc4x3_rc4::IfcVertex* v2_EdgeEnd, ::Ifc4x3_rc4::IfcEdge* v3_ParentEdge) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ParentEdge ? v3_ParentEdge->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurface @@ -16661,34 +16661,34 @@ Ifc4x3_rc4::IfcSubedge::IfcSubedge(::Ifc4x3_rc4::IfcVertex* v1_EdgeStart, ::Ifc4 const IfcParse::entity& Ifc4x3_rc4::IfcSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1129]); } const IfcParse::entity& Ifc4x3_rc4::IfcSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1129]); } Ifc4x3_rc4::IfcSurface::IfcSurface(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcSurface::IfcSurface() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc4::IfcSurface::IfcSurface() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcSurfaceCurve -::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCurve>(true); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcSurfaceCurve::setCurve3D(::Ifc4x3_rc4::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc4::IfcPcurve >::ptr Ifc4x3_rc4::IfcSurfaceCurve::AssociatedGeometry() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcPcurve >(); } +aggregate_of< ::Ifc4x3_rc4::IfcPcurve >::ptr Ifc4x3_rc4::IfcSurfaceCurve::AssociatedGeometry() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcPcurve >(); } void Ifc4x3_rc4::IfcSurfaceCurve::setAssociatedGeometry(aggregate_of< ::Ifc4x3_rc4::IfcPcurve >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x3_rc4::IfcSurfaceCurve::MasterRepresentation() const { return ::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::FromString(data_.get_attribute_value(2)); } +::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x3_rc4::IfcSurfaceCurve::MasterRepresentation() const { return ::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::FromString(get_attribute_value(2)); } void Ifc4x3_rc4::IfcSurfaceCurve::setMasterRepresentation(::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1130]); } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1130]); } Ifc4x3_rc4::IfcSurfaceCurve::IfcSurfaceCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -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(storage_t(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } +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(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc4::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcSurfaceCurveSweptAreaSolid -::Ifc4x3_rc4::IfcSurface* Ifc4x3_rc4::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcSurface>(true); } +::Ifc4x3_rc4::IfcSurface* Ifc4x3_rc4::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcSurface>(true); } void Ifc4x3_rc4::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(::Ifc4x3_rc4::IfcSurface* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceCurveSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1131]); } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceCurveSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1131]); } Ifc4x3_rc4::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(IfcEntityInstanceData&& e) : IfcDirectrixCurveSweptAreaSolid(std::move(e)) { } -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(storage_t(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReferenceSurface ? v6_ReferenceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReferenceSurface ? v6_ReferenceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceFeature -boost::optional< ::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::Value > Ifc4x3_rc4::IfcSurfaceFeature::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::Value > Ifc4x3_rc4::IfcSurfaceFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcSurfaceFeature::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x3_rc4::IfcRelAdheresToElement::list::ptr Ifc4x3_rc4::IfcSurfaceFeature::AdheresToElement() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[903], 5)->as(); } @@ -16696,138 +16696,138 @@ void Ifc4x3_rc4::IfcSurfaceFeature::setPredefinedType(boost::optional< ::Ifc4x3_ const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceFeature::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1132]); } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceFeature::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1132]); } Ifc4x3_rc4::IfcSurfaceFeature::IfcSurfaceFeature(IfcEntityInstanceData&& e) : IfcFeatureElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSurfaceOfLinearExtrusion -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcDirection>(true); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcSurfaceOfLinearExtrusion::setExtrudedDirection(::Ifc4x3_rc4::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_rc4::IfcSurfaceOfLinearExtrusion::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc4::IfcSurfaceOfLinearExtrusion::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcSurfaceOfLinearExtrusion::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceOfLinearExtrusion::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1134]); } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceOfLinearExtrusion::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1134]); } Ifc4x3_rc4::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(IfcEntityInstanceData&& e) : IfcSweptSurface(std::move(e)) { } -Ifc4x3_rc4::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(::Ifc4x3_rc4::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc4::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } +Ifc4x3_rc4::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(::Ifc4x3_rc4::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc4::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } // Function implementations for IfcSurfaceOfRevolution -::Ifc4x3_rc4::IfcAxis1Placement* Ifc4x3_rc4::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcAxis1Placement>(true); } +::Ifc4x3_rc4::IfcAxis1Placement* Ifc4x3_rc4::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcAxis1Placement>(true); } void Ifc4x3_rc4::IfcSurfaceOfRevolution::setAxisPosition(::Ifc4x3_rc4::IfcAxis1Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceOfRevolution::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1135]); } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceOfRevolution::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1135]); } Ifc4x3_rc4::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(IfcEntityInstanceData&& e) : IfcSweptSurface(std::move(e)) { } -Ifc4x3_rc4::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(::Ifc4x3_rc4::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc4::IfcAxis1Placement* v3_AxisPosition) : IfcSweptSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_AxisPosition ? v3_AxisPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(::Ifc4x3_rc4::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_rc4::IfcAxis1Placement* v3_AxisPosition) : IfcSweptSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_AxisPosition ? v3_AxisPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceReinforcementArea -boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_rc4::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_rc4::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcSurfaceReinforcementArea::setSurfaceReinforcement1(boost::optional< std::vector< double > /*[2:3]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_rc4::IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_rc4::IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcSurfaceReinforcementArea::setSurfaceReinforcement2(boost::optional< std::vector< double > /*[2:3]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc4::IfcSurfaceReinforcementArea::ShearReinforcement() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc4::IfcSurfaceReinforcementArea::ShearReinforcement() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcSurfaceReinforcementArea::setShearReinforcement(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceReinforcementArea::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1137]); } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceReinforcementArea::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1137]); } Ifc4x3_rc4::IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(IfcEntityInstanceData&& e) : IfcStructuralLoadOrResult(std::move(e)) { } -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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); }; populate_derived(); } +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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); }; populate_derived(); } // Function implementations for IfcSurfaceStyle -::Ifc4x3_rc4::IfcSurfaceSide::Value Ifc4x3_rc4::IfcSurfaceStyle::Side() const { return ::Ifc4x3_rc4::IfcSurfaceSide::FromString(data_.get_attribute_value(1)); } +::Ifc4x3_rc4::IfcSurfaceSide::Value Ifc4x3_rc4::IfcSurfaceStyle::Side() const { return ::Ifc4x3_rc4::IfcSurfaceSide::FromString(get_attribute_value(1)); } void Ifc4x3_rc4::IfcSurfaceStyle::setSide(::Ifc4x3_rc4::IfcSurfaceSide::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x3_rc4::IfcSurfaceSide::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3_rc4::IfcSurfaceStyleElementSelect >::ptr Ifc4x3_rc4::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcSurfaceStyleElementSelect >(); } +aggregate_of< ::Ifc4x3_rc4::IfcSurfaceStyleElementSelect >::ptr Ifc4x3_rc4::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcSurfaceStyleElementSelect >(); } void Ifc4x3_rc4::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x3_rc4::IfcSurfaceStyleElementSelect >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1139]); } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1139]); } Ifc4x3_rc4::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x3_rc4::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_rc4::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc4::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, (v3_Styles)->generalize());; populate_derived(); } +Ifc4x3_rc4::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_rc4::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_rc4::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc4::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, (v3_Styles)->generalize());; populate_derived(); } // Function implementations for IfcSurfaceStyleLighting -::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcColourRgb>(true); } +::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcColourRgb>(true); } void Ifc4x3_rc4::IfcSurfaceStyleLighting::setDiffuseTransmissionColour(::Ifc4x3_rc4::IfcColourRgb* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcColourRgb>(true); } +::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcColourRgb>(true); } void Ifc4x3_rc4::IfcSurfaceStyleLighting::setDiffuseReflectionColour(::Ifc4x3_rc4::IfcColourRgb* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcColourRgb>(true); } +::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcColourRgb>(true); } void Ifc4x3_rc4::IfcSurfaceStyleLighting::setTransmissionColour(::Ifc4x3_rc4::IfcColourRgb* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcColourRgb>(true); } +::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcColourRgb>(true); } void Ifc4x3_rc4::IfcSurfaceStyleLighting::setReflectanceColour(::Ifc4x3_rc4::IfcColourRgb* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceStyleLighting::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1141]); } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceStyleLighting::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1141]); } Ifc4x3_rc4::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -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(storage_t(4))) { set_attribute_value(0, v1_DiffuseTransmissionColour ? v1_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_DiffuseReflectionColour ? v2_DiffuseReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TransmissionColour ? v3_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_ReflectanceColour ? v4_ReflectanceColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_DiffuseTransmissionColour ? v1_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_DiffuseReflectionColour ? v2_DiffuseReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TransmissionColour ? v3_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_ReflectanceColour ? v4_ReflectanceColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceStyleRefraction -boost::optional< double > Ifc4x3_rc4::IfcSurfaceStyleRefraction::RefractionIndex() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } double v = data_.get_attribute_value(0); return v; } +boost::optional< double > Ifc4x3_rc4::IfcSurfaceStyleRefraction::RefractionIndex() const { if(get_attribute_value(0).isNull()) { return boost::none; } double v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcSurfaceStyleRefraction::setRefractionIndex(boost::optional< double > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< double > Ifc4x3_rc4::IfcSurfaceStyleRefraction::DispersionFactor() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc4::IfcSurfaceStyleRefraction::DispersionFactor() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcSurfaceStyleRefraction::setDispersionFactor(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceStyleRefraction::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1142]); } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceStyleRefraction::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1142]); } Ifc4x3_rc4::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; populate_derived(); } +Ifc4x3_rc4::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; populate_derived(); } // Function implementations for IfcSurfaceStyleRendering -::Ifc4x3_rc4::IfcColourOrFactor* Ifc4x3_rc4::IfcSurfaceStyleRendering::DiffuseColour() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcColourOrFactor>(true); } +::Ifc4x3_rc4::IfcColourOrFactor* Ifc4x3_rc4::IfcSurfaceStyleRendering::DiffuseColour() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcColourOrFactor>(true); } void Ifc4x3_rc4::IfcSurfaceStyleRendering::setDiffuseColour(::Ifc4x3_rc4::IfcColourOrFactor* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcColourOrFactor* Ifc4x3_rc4::IfcSurfaceStyleRendering::TransmissionColour() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcColourOrFactor>(true); } +::Ifc4x3_rc4::IfcColourOrFactor* Ifc4x3_rc4::IfcSurfaceStyleRendering::TransmissionColour() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcColourOrFactor>(true); } void Ifc4x3_rc4::IfcSurfaceStyleRendering::setTransmissionColour(::Ifc4x3_rc4::IfcColourOrFactor* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc4::IfcColourOrFactor* Ifc4x3_rc4::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcColourOrFactor>(true); } +::Ifc4x3_rc4::IfcColourOrFactor* Ifc4x3_rc4::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcColourOrFactor>(true); } void Ifc4x3_rc4::IfcSurfaceStyleRendering::setDiffuseTransmissionColour(::Ifc4x3_rc4::IfcColourOrFactor* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcColourOrFactor* Ifc4x3_rc4::IfcSurfaceStyleRendering::ReflectionColour() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcColourOrFactor>(true); } +::Ifc4x3_rc4::IfcColourOrFactor* Ifc4x3_rc4::IfcSurfaceStyleRendering::ReflectionColour() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcColourOrFactor>(true); } void Ifc4x3_rc4::IfcSurfaceStyleRendering::setReflectionColour(::Ifc4x3_rc4::IfcColourOrFactor* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_rc4::IfcColourOrFactor* Ifc4x3_rc4::IfcSurfaceStyleRendering::SpecularColour() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcColourOrFactor>(true); } +::Ifc4x3_rc4::IfcColourOrFactor* Ifc4x3_rc4::IfcSurfaceStyleRendering::SpecularColour() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcColourOrFactor>(true); } void Ifc4x3_rc4::IfcSurfaceStyleRendering::setSpecularColour(::Ifc4x3_rc4::IfcColourOrFactor* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_rc4::IfcSpecularHighlightSelect* Ifc4x3_rc4::IfcSurfaceStyleRendering::SpecularHighlight() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc4::IfcSpecularHighlightSelect>(true); } +::Ifc4x3_rc4::IfcSpecularHighlightSelect* Ifc4x3_rc4::IfcSurfaceStyleRendering::SpecularHighlight() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc4::IfcSpecularHighlightSelect>(true); } void Ifc4x3_rc4::IfcSurfaceStyleRendering::setSpecularHighlight(::Ifc4x3_rc4::IfcSpecularHighlightSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_rc4::IfcReflectanceMethodEnum::Value Ifc4x3_rc4::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4x3_rc4::IfcReflectanceMethodEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc4::IfcReflectanceMethodEnum::Value Ifc4x3_rc4::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4x3_rc4::IfcReflectanceMethodEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcSurfaceStyleRendering::setReflectanceMethod(::Ifc4x3_rc4::IfcReflectanceMethodEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcReflectanceMethodEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceStyleRendering::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1143]); } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceStyleRendering::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1143]); } Ifc4x3_rc4::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcEntityInstanceData&& e) : IfcSurfaceStyleShading(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, v3_DiffuseColour ? v3_DiffuseColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TransmissionColour ? v4_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_DiffuseTransmissionColour ? v5_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReflectionColour ? v6_ReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_SpecularColour ? v7_SpecularColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_SpecularHighlight ? v8_SpecularHighlight->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, v3_DiffuseColour ? v3_DiffuseColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TransmissionColour ? v4_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_DiffuseTransmissionColour ? v5_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReflectionColour ? v6_ReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_SpecularColour ? v7_SpecularColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_SpecularHighlight ? v8_SpecularHighlight->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; populate_derived(); } // Function implementations for IfcSurfaceStyleShading -::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcColourRgb>(true); } +::Ifc4x3_rc4::IfcColourRgb* Ifc4x3_rc4::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcColourRgb>(true); } void Ifc4x3_rc4::IfcSurfaceStyleShading::setSurfaceColour(::Ifc4x3_rc4::IfcColourRgb* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< double > Ifc4x3_rc4::IfcSurfaceStyleShading::Transparency() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_rc4::IfcSurfaceStyleShading::Transparency() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcSurfaceStyleShading::setTransparency(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceStyleShading::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1144]); } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceStyleShading::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1144]); } Ifc4x3_rc4::IfcSurfaceStyleShading::IfcSurfaceStyleShading(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcSurfaceStyleShading::IfcSurfaceStyleShading(::Ifc4x3_rc4::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }; populate_derived(); } +Ifc4x3_rc4::IfcSurfaceStyleShading::IfcSurfaceStyleShading(::Ifc4x3_rc4::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }; populate_derived(); } // Function implementations for IfcSurfaceStyleWithTextures -aggregate_of< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr Ifc4x3_rc4::IfcSurfaceStyleWithTextures::Textures() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcSurfaceTexture >(); } +aggregate_of< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr Ifc4x3_rc4::IfcSurfaceStyleWithTextures::Textures() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcSurfaceTexture >(); } void Ifc4x3_rc4::IfcSurfaceStyleWithTextures::setTextures(aggregate_of< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceStyleWithTextures::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1145]); } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceStyleWithTextures::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1145]); } Ifc4x3_rc4::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(aggregate_of< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v1_Textures) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Textures)->generalize());; populate_derived(); } +Ifc4x3_rc4::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(aggregate_of< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v1_Textures) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Textures)->generalize());; populate_derived(); } // Function implementations for IfcSurfaceTexture -bool Ifc4x3_rc4::IfcSurfaceTexture::RepeatS() const { bool v = data_.get_attribute_value(0); return v; } +bool Ifc4x3_rc4::IfcSurfaceTexture::RepeatS() const { bool v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcSurfaceTexture::setRepeatS(bool v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -bool Ifc4x3_rc4::IfcSurfaceTexture::RepeatT() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x3_rc4::IfcSurfaceTexture::RepeatT() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcSurfaceTexture::setRepeatT(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_rc4::IfcSurfaceTexture::Mode() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcSurfaceTexture::Mode() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcSurfaceTexture::setMode(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc4::IfcCartesianTransformationOperator2D* Ifc4x3_rc4::IfcSurfaceTexture::TextureTransform() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcCartesianTransformationOperator2D>(true); } +::Ifc4x3_rc4::IfcCartesianTransformationOperator2D* Ifc4x3_rc4::IfcSurfaceTexture::TextureTransform() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcCartesianTransformationOperator2D>(true); } void Ifc4x3_rc4::IfcSurfaceTexture::setTextureTransform(::Ifc4x3_rc4::IfcCartesianTransformationOperator2D* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcSurfaceTexture::Parameter() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcSurfaceTexture::Parameter() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } ::Ifc4x3_rc4::IfcTextureCoordinate::list::ptr Ifc4x3_rc4::IfcSurfaceTexture::IsMappedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[1197], 0)->as(); } @@ -16836,79 +16836,79 @@ void Ifc4x3_rc4::IfcSurfaceTexture::setParameter(boost::optional< std::vector< s const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1146]); } const IfcParse::entity& Ifc4x3_rc4::IfcSurfaceTexture::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1146]); } Ifc4x3_rc4::IfcSurfaceTexture::IfcSurfaceTexture(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -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(storage_t(5))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }; populate_derived(); } +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(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }; populate_derived(); } // Function implementations for IfcSweptAreaSolid -::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcProfileDef>(true); } +::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcProfileDef>(true); } void Ifc4x3_rc4::IfcSweptAreaSolid::setSweptArea(::Ifc4x3_rc4::IfcProfileDef* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcSweptAreaSolid::Position() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcSweptAreaSolid::Position() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(true); } void Ifc4x3_rc4::IfcSweptAreaSolid::setPosition(::Ifc4x3_rc4::IfcAxis2Placement3D* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1147]); } const IfcParse::entity& Ifc4x3_rc4::IfcSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1147]); } Ifc4x3_rc4::IfcSweptAreaSolid::IfcSweptAreaSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3_rc4::IfcSweptAreaSolid::IfcSweptAreaSolid(::Ifc4x3_rc4::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position) : IfcSolidModel(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcSweptAreaSolid::IfcSweptAreaSolid(::Ifc4x3_rc4::IfcProfileDef* v1_SweptArea, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSweptDiskSolid -::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCurve>(true); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcSweptDiskSolid::setDirectrix(::Ifc4x3_rc4::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc4::IfcSweptDiskSolid::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc4::IfcSweptDiskSolid::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcSweptDiskSolid::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_rc4::IfcSweptDiskSolid::InnerRadius() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc4::IfcSweptDiskSolid::InnerRadius() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcSweptDiskSolid::setInnerRadius(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc4::IfcSweptDiskSolid::StartParam() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc4::IfcSweptDiskSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcSweptDiskSolid::setStartParam(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc4::IfcSweptDiskSolid::EndParam() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc4::IfcSweptDiskSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcSweptDiskSolid::setEndParam(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc4::IfcSweptDiskSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1148]); } const IfcParse::entity& Ifc4x3_rc4::IfcSweptDiskSolid::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1148]); } Ifc4x3_rc4::IfcSweptDiskSolid::IfcSweptDiskSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -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(storage_t(5))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; populate_derived(); } +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(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; populate_derived(); } // Function implementations for IfcSweptDiskSolidPolygonal -boost::optional< double > Ifc4x3_rc4::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc4::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcSweptDiskSolidPolygonal::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_rc4::IfcSweptDiskSolidPolygonal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1149]); } const IfcParse::entity& Ifc4x3_rc4::IfcSweptDiskSolidPolygonal::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1149]); } Ifc4x3_rc4::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(IfcEntityInstanceData&& e) : IfcSweptDiskSolid(std::move(e)) { } -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(storage_t(6))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); }; populate_derived(); } +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(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); }; populate_derived(); } // Function implementations for IfcSweptSurface -::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcProfileDef>(true); } +::Ifc4x3_rc4::IfcProfileDef* Ifc4x3_rc4::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcProfileDef>(true); } void Ifc4x3_rc4::IfcSweptSurface::setSweptCurve(::Ifc4x3_rc4::IfcProfileDef* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcSweptSurface::Position() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(true); } +::Ifc4x3_rc4::IfcAxis2Placement3D* Ifc4x3_rc4::IfcSweptSurface::Position() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcAxis2Placement3D>(true); } void Ifc4x3_rc4::IfcSweptSurface::setPosition(::Ifc4x3_rc4::IfcAxis2Placement3D* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcSweptSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1150]); } const IfcParse::entity& Ifc4x3_rc4::IfcSweptSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1150]); } Ifc4x3_rc4::IfcSweptSurface::IfcSweptSurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x3_rc4::IfcSweptSurface::IfcSweptSurface(::Ifc4x3_rc4::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position) : IfcSurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcSweptSurface::IfcSweptSurface(::Ifc4x3_rc4::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_rc4::IfcAxis2Placement3D* v2_Position) : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSwitchingDevice -boost::optional< ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value > Ifc4x3_rc4::IfcSwitchingDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value > Ifc4x3_rc4::IfcSwitchingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcSwitchingDevice::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcSwitchingDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1151]); } const IfcParse::entity& Ifc4x3_rc4::IfcSwitchingDevice::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1151]); } Ifc4x3_rc4::IfcSwitchingDevice::IfcSwitchingDevice(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSwitchingDeviceType -::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value Ifc4x3_rc4::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value Ifc4x3_rc4::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcSwitchingDeviceType::setPredefinedType(::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcSwitchingDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1152]); } const IfcParse::entity& Ifc4x3_rc4::IfcSwitchingDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1152]); } Ifc4x3_rc4::IfcSwitchingDeviceType::IfcSwitchingDeviceType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSystem @@ -16918,304 +16918,304 @@ Ifc4x3_rc4::IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_Global const IfcParse::entity& Ifc4x3_rc4::IfcSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1154]); } const IfcParse::entity& Ifc4x3_rc4::IfcSystem::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1154]); } Ifc4x3_rc4::IfcSystem::IfcSystem(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -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(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +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(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcSystemFurnitureElement -boost::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_rc4::IfcSystemFurnitureElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_rc4::IfcSystemFurnitureElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcSystemFurnitureElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcSystemFurnitureElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1155]); } const IfcParse::entity& Ifc4x3_rc4::IfcSystemFurnitureElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1155]); } Ifc4x3_rc4::IfcSystemFurnitureElement::IfcSystemFurnitureElement(IfcEntityInstanceData&& e) : IfcFurnishingElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSystemFurnitureElementType -boost::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_rc4::IfcSystemFurnitureElementType::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_rc4::IfcSystemFurnitureElementType::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcSystemFurnitureElementType::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc4::IfcSystemFurnitureElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1156]); } const IfcParse::entity& Ifc4x3_rc4::IfcSystemFurnitureElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1156]); } Ifc4x3_rc4::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(IfcEntityInstanceData&& e) : IfcFurnishingElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTShapeProfileDef -double Ifc4x3_rc4::IfcTShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc4::IfcTShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcTShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc4::IfcTShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc4::IfcTShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcTShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc4::IfcTShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc4::IfcTShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcTShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc4::IfcTShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc4::IfcTShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcTShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc4::IfcTShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc4::IfcTShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcTShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc4::IfcTShapeProfileDef::FlangeEdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc4::IfcTShapeProfileDef::FlangeEdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcTShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_rc4::IfcTShapeProfileDef::WebEdgeRadius() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc4::IfcTShapeProfileDef::WebEdgeRadius() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc4::IfcTShapeProfileDef::setWebEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc4::IfcTShapeProfileDef::WebSlope() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc4::IfcTShapeProfileDef::WebSlope() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcTShapeProfileDef::setWebSlope(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc4::IfcTShapeProfileDef::FlangeSlope() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc4::IfcTShapeProfileDef::FlangeSlope() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc4::IfcTShapeProfileDef::setFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x3_rc4::IfcTShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1240]); } const IfcParse::entity& Ifc4x3_rc4::IfcTShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1240]); } Ifc4x3_rc4::IfcTShapeProfileDef::IfcTShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(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(storage_t(12))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); }; populate_derived(); } +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(in_memory_attribute_storage(12))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); }; populate_derived(); } // Function implementations for IfcTable -boost::optional< std::string > Ifc4x3_rc4::IfcTable::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTable::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcTable::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTableRow >::ptr > Ifc4x3_rc4::IfcTable::Rows() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcTableRow >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTableRow >::ptr > Ifc4x3_rc4::IfcTable::Rows() const { if(get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcTableRow >(); } void Ifc4x3_rc4::IfcTable::setRows(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTableRow >::ptr > v) { if (v) {set_attribute_value(1, (*v)->generalize());} else {unset_attribute_value(1);} } -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTableColumn >::ptr > Ifc4x3_rc4::IfcTable::Columns() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcTableColumn >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTableColumn >::ptr > Ifc4x3_rc4::IfcTable::Columns() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcTableColumn >(); } void Ifc4x3_rc4::IfcTable::setColumns(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcTableColumn >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc4::IfcTable::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1158]); } const IfcParse::entity& Ifc4x3_rc4::IfcTable::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1158]); } Ifc4x3_rc4::IfcTable::IfcTable(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -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(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, (*v2_Rows)->generalize()); } if (v3_Columns) {set_attribute_value(2, (*v3_Columns)->generalize()); }; populate_derived(); } +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(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, (*v2_Rows)->generalize()); } if (v3_Columns) {set_attribute_value(2, (*v3_Columns)->generalize()); }; populate_derived(); } // Function implementations for IfcTableColumn -boost::optional< std::string > Ifc4x3_rc4::IfcTableColumn::Identifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTableColumn::Identifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcTableColumn::setIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_rc4::IfcTableColumn::Name() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTableColumn::Name() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcTableColumn::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc4::IfcTableColumn::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTableColumn::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcTableColumn::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcTableColumn::Unit() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcUnit>(true); } +::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcTableColumn::Unit() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcUnit>(true); } void Ifc4x3_rc4::IfcTableColumn::setUnit(::Ifc4x3_rc4::IfcUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc4::IfcReference* Ifc4x3_rc4::IfcTableColumn::ReferencePath() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcReference>(true); } +::Ifc4x3_rc4::IfcReference* Ifc4x3_rc4::IfcTableColumn::ReferencePath() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcReference>(true); } void Ifc4x3_rc4::IfcTableColumn::setReferencePath(::Ifc4x3_rc4::IfcReference* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc4::IfcTableColumn::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1159]); } const IfcParse::entity& Ifc4x3_rc4::IfcTableColumn::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1159]); } Ifc4x3_rc4::IfcTableColumn::IfcTableColumn(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -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(IfcEntityInstanceData(storage_t(5))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ReferencePath ? v5_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ReferencePath ? v5_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTableRow -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > Ifc4x3_rc4::IfcTableRow::RowCells() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > Ifc4x3_rc4::IfcTableRow::RowCells() const { if(get_attribute_value(0).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcValue >(); } void Ifc4x3_rc4::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v) { if (v) {set_attribute_value(0, (*v)->generalize());} else {unset_attribute_value(0);} } -boost::optional< bool > Ifc4x3_rc4::IfcTableRow::IsHeading() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } bool v = data_.get_attribute_value(1); return v; } +boost::optional< bool > Ifc4x3_rc4::IfcTableRow::IsHeading() const { if(get_attribute_value(1).isNull()) { return boost::none; } bool v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcTableRow::setIsHeading(boost::optional< bool > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_rc4::IfcTableRow::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1160]); } const IfcParse::entity& Ifc4x3_rc4::IfcTableRow::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1160]); } Ifc4x3_rc4::IfcTableRow::IfcTableRow(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_RowCells) {set_attribute_value(0, (*v1_RowCells)->generalize()); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); }; populate_derived(); } +Ifc4x3_rc4::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_RowCells) {set_attribute_value(0, (*v1_RowCells)->generalize()); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); }; populate_derived(); } // Function implementations for IfcTank -boost::optional< ::Ifc4x3_rc4::IfcTankTypeEnum::Value > Ifc4x3_rc4::IfcTank::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTankTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcTankTypeEnum::Value > Ifc4x3_rc4::IfcTank::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTankTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcTank::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTankTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcTankTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcTank::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1161]); } const IfcParse::entity& Ifc4x3_rc4::IfcTank::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1161]); } Ifc4x3_rc4::IfcTank::IfcTank(IfcEntityInstanceData&& e) : IfcFlowStorageDevice(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTankType -::Ifc4x3_rc4::IfcTankTypeEnum::Value Ifc4x3_rc4::IfcTankType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTankTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcTankTypeEnum::Value Ifc4x3_rc4::IfcTankType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTankTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcTankType::setPredefinedType(::Ifc4x3_rc4::IfcTankTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcTankTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcTankType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1162]); } const IfcParse::entity& Ifc4x3_rc4::IfcTankType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1162]); } Ifc4x3_rc4::IfcTankType::IfcTankType(IfcEntityInstanceData&& e) : IfcFlowStorageDeviceType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTask -boost::optional< std::string > Ifc4x3_rc4::IfcTask::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTask::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcTask::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc4::IfcTask::WorkMethod() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTask::WorkMethod() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcTask::setWorkMethod(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -bool Ifc4x3_rc4::IfcTask::IsMilestone() const { bool v = data_.get_attribute_value(9); return v; } +bool Ifc4x3_rc4::IfcTask::IsMilestone() const { bool v = get_attribute_value(9); return v; } void Ifc4x3_rc4::IfcTask::setIsMilestone(bool v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -boost::optional< int > Ifc4x3_rc4::IfcTask::Priority() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } int v = data_.get_attribute_value(10); return v; } +boost::optional< int > Ifc4x3_rc4::IfcTask::Priority() const { if(get_attribute_value(10).isNull()) { return boost::none; } int v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcTask::setPriority(boost::optional< int > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4x3_rc4::IfcTaskTime* Ifc4x3_rc4::IfcTask::TaskTime() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc4x3_rc4::IfcTaskTime>(true); } +::Ifc4x3_rc4::IfcTaskTime* Ifc4x3_rc4::IfcTask::TaskTime() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc4x3_rc4::IfcTaskTime>(true); } void Ifc4x3_rc4::IfcTask::setTaskTime(::Ifc4x3_rc4::IfcTaskTime* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } -boost::optional< ::Ifc4x3_rc4::IfcTaskTypeEnum::Value > Ifc4x3_rc4::IfcTask::PredefinedType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTaskTypeEnum::FromString(data_.get_attribute_value(12)); } +boost::optional< ::Ifc4x3_rc4::IfcTaskTypeEnum::Value > Ifc4x3_rc4::IfcTask::PredefinedType() const { if(get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTaskTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x3_rc4::IfcTask::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTaskTypeEnum::Value > v) { if (v) {set_attribute_value(12, EnumerationReference(&::Ifc4x3_rc4::IfcTaskTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_rc4::IfcTask::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1164]); } const IfcParse::entity& Ifc4x3_rc4::IfcTask::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1164]); } Ifc4x3_rc4::IfcTask::IfcTask(IfcEntityInstanceData&& e) : IfcProcess(std::move(e)) { } -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(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, v12_TaskTime ? v12_TaskTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_rc4::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, v12_TaskTime ? v12_TaskTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_rc4::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTaskTime -boost::optional< ::Ifc4x3_rc4::IfcTaskDurationEnum::Value > Ifc4x3_rc4::IfcTaskTime::DurationType() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTaskDurationEnum::FromString(data_.get_attribute_value(3)); } +boost::optional< ::Ifc4x3_rc4::IfcTaskDurationEnum::Value > Ifc4x3_rc4::IfcTaskTime::DurationType() const { if(get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTaskDurationEnum::FromString(get_attribute_value(3)); } void Ifc4x3_rc4::IfcTaskTime::setDurationType(boost::optional< ::Ifc4x3_rc4::IfcTaskDurationEnum::Value > v) { if (v) {set_attribute_value(3, EnumerationReference(&::Ifc4x3_rc4::IfcTaskDurationEnum::Class(), (size_t) *v));} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::ScheduleDuration() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::ScheduleDuration() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcTaskTime::setScheduleDuration(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::ScheduleStart() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::ScheduleStart() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcTaskTime::setScheduleStart(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::ScheduleFinish() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::ScheduleFinish() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcTaskTime::setScheduleFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::EarlyStart() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::EarlyStart() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcTaskTime::setEarlyStart(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::EarlyFinish() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::EarlyFinish() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcTaskTime::setEarlyFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::LateStart() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::LateStart() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc4::IfcTaskTime::setLateStart(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::LateFinish() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::LateFinish() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcTaskTime::setLateFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::FreeFloat() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::FreeFloat() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x3_rc4::IfcTaskTime::setFreeFloat(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::TotalFloat() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::TotalFloat() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc4::IfcTaskTime::setTotalFloat(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< bool > Ifc4x3_rc4::IfcTaskTime::IsCritical() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } bool v = data_.get_attribute_value(13); return v; } +boost::optional< bool > Ifc4x3_rc4::IfcTaskTime::IsCritical() const { if(get_attribute_value(13).isNull()) { return boost::none; } bool v = get_attribute_value(13); return v; } void Ifc4x3_rc4::IfcTaskTime::setIsCritical(boost::optional< bool > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::StatusTime() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::StatusTime() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x3_rc4::IfcTaskTime::setStatusTime(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::ActualDuration() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(15); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::ActualDuration() const { if(get_attribute_value(15).isNull()) { return boost::none; } std::string v = get_attribute_value(15); return v; } void Ifc4x3_rc4::IfcTaskTime::setActualDuration(boost::optional< std::string > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::ActualStart() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(16); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::ActualStart() const { if(get_attribute_value(16).isNull()) { return boost::none; } std::string v = get_attribute_value(16); return v; } void Ifc4x3_rc4::IfcTaskTime::setActualStart(boost::optional< std::string > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::ActualFinish() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(17); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::ActualFinish() const { if(get_attribute_value(17).isNull()) { return boost::none; } std::string v = get_attribute_value(17); return v; } void Ifc4x3_rc4::IfcTaskTime::setActualFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } -boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::RemainingTime() const { if(data_.get_attribute_value(18).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(18); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTaskTime::RemainingTime() const { if(get_attribute_value(18).isNull()) { return boost::none; } std::string v = get_attribute_value(18); return v; } void Ifc4x3_rc4::IfcTaskTime::setRemainingTime(boost::optional< std::string > v) { if (v) {set_attribute_value(18, *v);} else {unset_attribute_value(18);} } -boost::optional< double > Ifc4x3_rc4::IfcTaskTime::Completion() const { if(data_.get_attribute_value(19).isNull()) { return boost::none; } double v = data_.get_attribute_value(19); return v; } +boost::optional< double > Ifc4x3_rc4::IfcTaskTime::Completion() const { if(get_attribute_value(19).isNull()) { return boost::none; } double v = get_attribute_value(19); return v; } void Ifc4x3_rc4::IfcTaskTime::setCompletion(boost::optional< double > v) { if (v) {set_attribute_value(19, *v);} else {unset_attribute_value(19);} } const IfcParse::entity& Ifc4x3_rc4::IfcTaskTime::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1166]); } const IfcParse::entity& Ifc4x3_rc4::IfcTaskTime::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1166]); } Ifc4x3_rc4::IfcTaskTime::IfcTaskTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -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(storage_t(20))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc4::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }; populate_derived(); } +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(in_memory_attribute_storage(20))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc4::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }; populate_derived(); } // Function implementations for IfcTaskTimeRecurring -::Ifc4x3_rc4::IfcRecurrencePattern* Ifc4x3_rc4::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(20)))->as<::Ifc4x3_rc4::IfcRecurrencePattern>(true); } +::Ifc4x3_rc4::IfcRecurrencePattern* Ifc4x3_rc4::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(20)))->as<::Ifc4x3_rc4::IfcRecurrencePattern>(true); } void Ifc4x3_rc4::IfcTaskTimeRecurring::setRecurrence(::Ifc4x3_rc4::IfcRecurrencePattern* v) { set_attribute_value(20, v->as());if constexpr (false)unset_attribute_value(20); } const IfcParse::entity& Ifc4x3_rc4::IfcTaskTimeRecurring::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1167]); } const IfcParse::entity& Ifc4x3_rc4::IfcTaskTimeRecurring::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1167]); } Ifc4x3_rc4::IfcTaskTimeRecurring::IfcTaskTimeRecurring(IfcEntityInstanceData&& e) : IfcTaskTime(std::move(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(storage_t(21))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc4::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, v21_Recurrence ? v21_Recurrence->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(21))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_rc4::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, v21_Recurrence ? v21_Recurrence->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTaskType -::Ifc4x3_rc4::IfcTaskTypeEnum::Value Ifc4x3_rc4::IfcTaskType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTaskTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcTaskTypeEnum::Value Ifc4x3_rc4::IfcTaskType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTaskTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcTaskType::setPredefinedType(::Ifc4x3_rc4::IfcTaskTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcTaskTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3_rc4::IfcTaskType::WorkMethod() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTaskType::WorkMethod() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcTaskType::setWorkMethod(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_rc4::IfcTaskType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1168]); } const IfcParse::entity& Ifc4x3_rc4::IfcTaskType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1168]); } Ifc4x3_rc4::IfcTaskType::IfcTaskType(IfcEntityInstanceData&& e) : IfcTypeProcess(std::move(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< 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(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); }; populate_derived(); } +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(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); }; populate_derived(); } // Function implementations for IfcTelecomAddress -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcTelecomAddress::TelephoneNumbers() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcTelecomAddress::TelephoneNumbers() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcTelecomAddress::setTelephoneNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcTelecomAddress::FacsimileNumbers() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcTelecomAddress::FacsimileNumbers() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcTelecomAddress::setFacsimileNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc4::IfcTelecomAddress::PagerNumber() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTelecomAddress::PagerNumber() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcTelecomAddress::setPagerNumber(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcTelecomAddress::ElectronicMailAddresses() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(6); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcTelecomAddress::ElectronicMailAddresses() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcTelecomAddress::setElectronicMailAddresses(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc4::IfcTelecomAddress::WWWHomePageURL() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTelecomAddress::WWWHomePageURL() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcTelecomAddress::setWWWHomePageURL(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcTelecomAddress::MessagingIDs() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(8); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_rc4::IfcTelecomAddress::MessagingIDs() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcTelecomAddress::setMessagingIDs(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcTelecomAddress::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1170]); } const IfcParse::entity& Ifc4x3_rc4::IfcTelecomAddress::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1170]); } Ifc4x3_rc4::IfcTelecomAddress::IfcTelecomAddress(IfcEntityInstanceData&& e) : IfcAddress(std::move(e)) { } -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(storage_t(9))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); }; populate_derived(); } // Function implementations for IfcTendon -boost::optional< ::Ifc4x3_rc4::IfcTendonTypeEnum::Value > Ifc4x3_rc4::IfcTendon::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTendonTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc4::IfcTendonTypeEnum::Value > Ifc4x3_rc4::IfcTendon::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcTendon::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTendonTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcTendonTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc4::IfcTendon::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc4::IfcTendon::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcTendon::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc4::IfcTendon::CrossSectionArea() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc4::IfcTendon::CrossSectionArea() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc4::IfcTendon::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_rc4::IfcTendon::TensionForce() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_rc4::IfcTendon::TensionForce() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_rc4::IfcTendon::setTensionForce(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3_rc4::IfcTendon::PreStress() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_rc4::IfcTendon::PreStress() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_rc4::IfcTendon::setPreStress(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3_rc4::IfcTendon::FrictionCoefficient() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3_rc4::IfcTendon::FrictionCoefficient() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3_rc4::IfcTendon::setFrictionCoefficient(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x3_rc4::IfcTendon::AnchorageSlip() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3_rc4::IfcTendon::AnchorageSlip() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3_rc4::IfcTendon::setAnchorageSlip(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3_rc4::IfcTendon::MinCurvatureRadius() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3_rc4::IfcTendon::MinCurvatureRadius() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3_rc4::IfcTendon::setMinCurvatureRadius(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } const IfcParse::entity& Ifc4x3_rc4::IfcTendon::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1173]); } const IfcParse::entity& Ifc4x3_rc4::IfcTendon::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1173]); } Ifc4x3_rc4::IfcTendon::IfcTendon(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -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(storage_t(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; populate_derived(); } +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(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; populate_derived(); } // Function implementations for IfcTendonAnchor -boost::optional< ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value > Ifc4x3_rc4::IfcTendonAnchor::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value > Ifc4x3_rc4::IfcTendonAnchor::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcTendonAnchor::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc4::IfcTendonAnchor::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1174]); } const IfcParse::entity& Ifc4x3_rc4::IfcTendonAnchor::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1174]); } Ifc4x3_rc4::IfcTendonAnchor::IfcTendonAnchor(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTendonAnchorType -::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value Ifc4x3_rc4::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value Ifc4x3_rc4::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcTendonAnchorType::setPredefinedType(::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcTendonAnchorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1175]); } const IfcParse::entity& Ifc4x3_rc4::IfcTendonAnchorType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1175]); } Ifc4x3_rc4::IfcTendonAnchorType::IfcTendonAnchorType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTendonConduit -::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value Ifc4x3_rc4::IfcTendonConduit::PredefinedType() const { return ::Ifc4x3_rc4::IfcTendonConduitTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value Ifc4x3_rc4::IfcTendonConduit::PredefinedType() const { return ::Ifc4x3_rc4::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcTendonConduit::setPredefinedType(::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcTendonConduit::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1177]); } const IfcParse::entity& Ifc4x3_rc4::IfcTendonConduit::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1177]); } Ifc4x3_rc4::IfcTendonConduit::IfcTendonConduit(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTendonConduitType -::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value Ifc4x3_rc4::IfcTendonConduitType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTendonConduitTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value Ifc4x3_rc4::IfcTendonConduitType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcTendonConduitType::setPredefinedType(::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcTendonConduitType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1178]); } const IfcParse::entity& Ifc4x3_rc4::IfcTendonConduitType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1178]); } Ifc4x3_rc4::IfcTendonConduitType::IfcTendonConduitType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTendonType -::Ifc4x3_rc4::IfcTendonTypeEnum::Value Ifc4x3_rc4::IfcTendonType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTendonTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcTendonTypeEnum::Value Ifc4x3_rc4::IfcTendonType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcTendonType::setPredefinedType(::Ifc4x3_rc4::IfcTendonTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcTendonTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3_rc4::IfcTendonType::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc4::IfcTendonType::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcTendonType::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc4::IfcTendonType::CrossSectionArea() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc4::IfcTendonType::CrossSectionArea() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc4::IfcTendonType::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_rc4::IfcTendonType::SheathDiameter() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_rc4::IfcTendonType::SheathDiameter() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_rc4::IfcTendonType::setSheathDiameter(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_rc4::IfcTendonType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1180]); } const IfcParse::entity& Ifc4x3_rc4::IfcTendonType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1180]); } Ifc4x3_rc4::IfcTendonType::IfcTendonType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); }; populate_derived(); } +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(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); }; populate_derived(); } // Function implementations for IfcTessellatedFaceSet -::Ifc4x3_rc4::IfcCartesianPointList3D* Ifc4x3_rc4::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCartesianPointList3D>(true); } +::Ifc4x3_rc4::IfcCartesianPointList3D* Ifc4x3_rc4::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCartesianPointList3D>(true); } void Ifc4x3_rc4::IfcTessellatedFaceSet::setCoordinates(::Ifc4x3_rc4::IfcCartesianPointList3D* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_rc4::IfcIndexedColourMap::list::ptr Ifc4x3_rc4::IfcTessellatedFaceSet::HasColours() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[547], 0)->as(); } @@ -17224,7 +17224,7 @@ void Ifc4x3_rc4::IfcTessellatedFaceSet::setCoordinates(::Ifc4x3_rc4::IfcCartesia const IfcParse::entity& Ifc4x3_rc4::IfcTessellatedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1182]); } const IfcParse::entity& Ifc4x3_rc4::IfcTessellatedFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1182]); } Ifc4x3_rc4::IfcTessellatedFaceSet::IfcTessellatedFaceSet(IfcEntityInstanceData&& e) : IfcTessellatedItem(std::move(e)) { } -Ifc4x3_rc4::IfcTessellatedFaceSet::IfcTessellatedFaceSet(::Ifc4x3_rc4::IfcCartesianPointList3D* v1_Coordinates) : IfcTessellatedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcTessellatedFaceSet::IfcTessellatedFaceSet(::Ifc4x3_rc4::IfcCartesianPointList3D* v1_Coordinates) : IfcTessellatedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTessellatedItem @@ -17232,200 +17232,200 @@ Ifc4x3_rc4::IfcTessellatedFaceSet::IfcTessellatedFaceSet(::Ifc4x3_rc4::IfcCartes const IfcParse::entity& Ifc4x3_rc4::IfcTessellatedItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1183]); } const IfcParse::entity& Ifc4x3_rc4::IfcTessellatedItem::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1183]); } Ifc4x3_rc4::IfcTessellatedItem::IfcTessellatedItem(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcTessellatedItem::IfcTessellatedItem() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc4::IfcTessellatedItem::IfcTessellatedItem() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcTextLiteral -std::string Ifc4x3_rc4::IfcTextLiteral::Literal() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc4::IfcTextLiteral::Literal() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcTextLiteral::setLiteral(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcAxis2Placement>(true); } +::Ifc4x3_rc4::IfcAxis2Placement* Ifc4x3_rc4::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcAxis2Placement>(true); } void Ifc4x3_rc4::IfcTextLiteral::setPlacement(::Ifc4x3_rc4::IfcAxis2Placement* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcTextPath::Value Ifc4x3_rc4::IfcTextLiteral::Path() const { return ::Ifc4x3_rc4::IfcTextPath::FromString(data_.get_attribute_value(2)); } +::Ifc4x3_rc4::IfcTextPath::Value Ifc4x3_rc4::IfcTextLiteral::Path() const { return ::Ifc4x3_rc4::IfcTextPath::FromString(get_attribute_value(2)); } void Ifc4x3_rc4::IfcTextLiteral::setPath(::Ifc4x3_rc4::IfcTextPath::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3_rc4::IfcTextPath::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcTextLiteral::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1189]); } const IfcParse::entity& Ifc4x3_rc4::IfcTextLiteral::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1189]); } Ifc4x3_rc4::IfcTextLiteral::IfcTextLiteral(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, ::Ifc4x3_rc4::IfcAxis2Placement* v2_Placement, ::Ifc4x3_rc4::IfcTextPath::Value v3_Path) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc4::IfcTextPath::Class(),(size_t)v3_Path)));; populate_derived(); } +Ifc4x3_rc4::IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, ::Ifc4x3_rc4::IfcAxis2Placement* v2_Placement, ::Ifc4x3_rc4::IfcTextPath::Value v3_Path) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc4::IfcTextPath::Class(),(size_t)v3_Path)));; populate_derived(); } // Function implementations for IfcTextLiteralWithExtent -::Ifc4x3_rc4::IfcPlanarExtent* Ifc4x3_rc4::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcPlanarExtent>(true); } +::Ifc4x3_rc4::IfcPlanarExtent* Ifc4x3_rc4::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcPlanarExtent>(true); } void Ifc4x3_rc4::IfcTextLiteralWithExtent::setExtent(::Ifc4x3_rc4::IfcPlanarExtent* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -std::string Ifc4x3_rc4::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = data_.get_attribute_value(4); return v; } +std::string Ifc4x3_rc4::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcTextLiteralWithExtent::setBoxAlignment(std::string v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc4::IfcTextLiteralWithExtent::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1190]); } const IfcParse::entity& Ifc4x3_rc4::IfcTextLiteralWithExtent::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1190]); } Ifc4x3_rc4::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(IfcEntityInstanceData&& e) : IfcTextLiteral(std::move(e)) { } -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(storage_t(5))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc4::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, v4_Extent ? v4_Extent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_BoxAlignment));; populate_derived(); } +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(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x3_rc4::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, v4_Extent ? v4_Extent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_BoxAlignment));; populate_derived(); } // Function implementations for IfcTextStyle -::Ifc4x3_rc4::IfcTextStyleForDefinedFont* Ifc4x3_rc4::IfcTextStyle::TextCharacterAppearance() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcTextStyleForDefinedFont>(true); } +::Ifc4x3_rc4::IfcTextStyleForDefinedFont* Ifc4x3_rc4::IfcTextStyle::TextCharacterAppearance() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcTextStyleForDefinedFont>(true); } void Ifc4x3_rc4::IfcTextStyle::setTextCharacterAppearance(::Ifc4x3_rc4::IfcTextStyleForDefinedFont* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcTextStyleTextModel* Ifc4x3_rc4::IfcTextStyle::TextStyle() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcTextStyleTextModel>(true); } +::Ifc4x3_rc4::IfcTextStyleTextModel* Ifc4x3_rc4::IfcTextStyle::TextStyle() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcTextStyleTextModel>(true); } void Ifc4x3_rc4::IfcTextStyle::setTextStyle(::Ifc4x3_rc4::IfcTextStyleTextModel* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_rc4::IfcTextFontSelect* Ifc4x3_rc4::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcTextFontSelect>(true); } +::Ifc4x3_rc4::IfcTextFontSelect* Ifc4x3_rc4::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcTextFontSelect>(true); } void Ifc4x3_rc4::IfcTextStyle::setTextFontStyle(::Ifc4x3_rc4::IfcTextFontSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< bool > Ifc4x3_rc4::IfcTextStyle::ModelOrDraughting() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } bool v = data_.get_attribute_value(4); return v; } +boost::optional< bool > Ifc4x3_rc4::IfcTextStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return boost::none; } bool v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcTextStyle::setModelOrDraughting(boost::optional< bool > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc4::IfcTextStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1192]); } const IfcParse::entity& Ifc4x3_rc4::IfcTextStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1192]); } Ifc4x3_rc4::IfcTextStyle::IfcTextStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -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(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TextCharacterAppearance ? v2_TextCharacterAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TextStyle ? v3_TextStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TextFontStyle ? v4_TextFontStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } +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(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TextCharacterAppearance ? v2_TextCharacterAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TextStyle ? v3_TextStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TextFontStyle ? v4_TextFontStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } // Function implementations for IfcTextStyleFontModel -std::vector< std::string > /*[1:?]*/ Ifc4x3_rc4::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +std::vector< std::string > /*[1:?]*/ Ifc4x3_rc4::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcTextStyleFontModel::setFontFamily(std::vector< std::string > /*[1:?]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_rc4::IfcTextStyleFontModel::FontStyle() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTextStyleFontModel::FontStyle() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcTextStyleFontModel::setFontStyle(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_rc4::IfcTextStyleFontModel::FontVariant() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTextStyleFontModel::FontVariant() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_rc4::IfcTextStyleFontModel::FontWeight() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTextStyleFontModel::FontWeight() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcSizeSelect>(true); } +::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_rc4::IfcSizeSelect>(true); } void Ifc4x3_rc4::IfcTextStyleFontModel::setFontSize(::Ifc4x3_rc4::IfcSizeSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcTextStyleFontModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1193]); } const IfcParse::entity& Ifc4x3_rc4::IfcTextStyleFontModel::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1193]); } Ifc4x3_rc4::IfcTextStyleFontModel::IfcTextStyleFontModel(IfcEntityInstanceData&& e) : IfcPreDefinedTextFont(std::move(e)) { } -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(storage_t(6))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, v6_FontSize ? v6_FontSize->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, v6_FontSize ? v6_FontSize->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextStyleForDefinedFont -::Ifc4x3_rc4::IfcColour* Ifc4x3_rc4::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcColour>(true); } +::Ifc4x3_rc4::IfcColour* Ifc4x3_rc4::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcColour>(true); } void Ifc4x3_rc4::IfcTextStyleForDefinedFont::setColour(::Ifc4x3_rc4::IfcColour* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_rc4::IfcColour* Ifc4x3_rc4::IfcTextStyleForDefinedFont::BackgroundColour() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcColour>(true); } +::Ifc4x3_rc4::IfcColour* Ifc4x3_rc4::IfcTextStyleForDefinedFont::BackgroundColour() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_rc4::IfcColour>(true); } void Ifc4x3_rc4::IfcTextStyleForDefinedFont::setBackgroundColour(::Ifc4x3_rc4::IfcColour* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcTextStyleForDefinedFont::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1194]); } const IfcParse::entity& Ifc4x3_rc4::IfcTextStyleForDefinedFont::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1194]); } Ifc4x3_rc4::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4x3_rc4::IfcColour* v1_Colour, ::Ifc4x3_rc4::IfcColour* v2_BackgroundColour) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Colour ? v1_Colour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_BackgroundColour ? v2_BackgroundColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4x3_rc4::IfcColour* v1_Colour, ::Ifc4x3_rc4::IfcColour* v2_BackgroundColour) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Colour ? v1_Colour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_BackgroundColour ? v2_BackgroundColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextStyleTextModel -::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcTextStyleTextModel::TextIndent() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcSizeSelect>(true); } +::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcTextStyleTextModel::TextIndent() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcSizeSelect>(true); } void Ifc4x3_rc4::IfcTextStyleTextModel::setTextIndent(::Ifc4x3_rc4::IfcSizeSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc4::IfcTextStyleTextModel::TextAlign() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTextStyleTextModel::TextAlign() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_rc4::IfcTextStyleTextModel::TextDecoration() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTextStyleTextModel::TextDecoration() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcTextStyleTextModel::LetterSpacing() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcSizeSelect>(true); } +::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcTextStyleTextModel::LetterSpacing() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcSizeSelect>(true); } void Ifc4x3_rc4::IfcTextStyleTextModel::setLetterSpacing(::Ifc4x3_rc4::IfcSizeSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcTextStyleTextModel::WordSpacing() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcSizeSelect>(true); } +::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcTextStyleTextModel::WordSpacing() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_rc4::IfcSizeSelect>(true); } void Ifc4x3_rc4::IfcTextStyleTextModel::setWordSpacing(::Ifc4x3_rc4::IfcSizeSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -boost::optional< std::string > Ifc4x3_rc4::IfcTextStyleTextModel::TextTransform() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTextStyleTextModel::TextTransform() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcTextStyleTextModel::LineHeight() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcSizeSelect>(true); } +::Ifc4x3_rc4::IfcSizeSelect* Ifc4x3_rc4::IfcTextStyleTextModel::LineHeight() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_rc4::IfcSizeSelect>(true); } void Ifc4x3_rc4::IfcTextStyleTextModel::setLineHeight(::Ifc4x3_rc4::IfcSizeSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc4::IfcTextStyleTextModel::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1195]); } const IfcParse::entity& Ifc4x3_rc4::IfcTextStyleTextModel::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1195]); } Ifc4x3_rc4::IfcTextStyleTextModel::IfcTextStyleTextModel(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -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(storage_t(7))) { set_attribute_value(0, v1_TextIndent ? v1_TextIndent->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, v4_LetterSpacing ? v4_LetterSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_WordSpacing ? v5_WordSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, v7_LineHeight ? v7_LineHeight->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_TextIndent ? v1_TextIndent->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, v4_LetterSpacing ? v4_LetterSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_WordSpacing ? v5_WordSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, v7_LineHeight ? v7_LineHeight->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextureCoordinate -aggregate_of< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr Ifc4x3_rc4::IfcTextureCoordinate::Maps() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcSurfaceTexture >(); } +aggregate_of< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr Ifc4x3_rc4::IfcTextureCoordinate::Maps() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcSurfaceTexture >(); } void Ifc4x3_rc4::IfcTextureCoordinate::setMaps(aggregate_of< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc4::IfcTextureCoordinate::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1197]); } const IfcParse::entity& Ifc4x3_rc4::IfcTextureCoordinate::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1197]); } Ifc4x3_rc4::IfcTextureCoordinate::IfcTextureCoordinate(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcTextureCoordinate::IfcTextureCoordinate(aggregate_of< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v1_Maps) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Maps)->generalize());; populate_derived(); } +Ifc4x3_rc4::IfcTextureCoordinate::IfcTextureCoordinate(aggregate_of< ::Ifc4x3_rc4::IfcSurfaceTexture >::ptr v1_Maps) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Maps)->generalize());; populate_derived(); } // Function implementations for IfcTextureCoordinateGenerator -std::string Ifc4x3_rc4::IfcTextureCoordinateGenerator::Mode() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_rc4::IfcTextureCoordinateGenerator::Mode() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcTextureCoordinateGenerator::setMode(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::vector< double > /*[1:?]*/ > Ifc4x3_rc4::IfcTextureCoordinateGenerator::Parameter() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< double > /*[1:?]*/ > Ifc4x3_rc4::IfcTextureCoordinateGenerator::Parameter() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[1:?]*/ v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcTextureCoordinateGenerator::setParameter(boost::optional< std::vector< double > /*[1:?]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_rc4::IfcTextureCoordinateGenerator::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1198]); } const IfcParse::entity& Ifc4x3_rc4::IfcTextureCoordinateGenerator::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1198]); } Ifc4x3_rc4::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(IfcEntityInstanceData&& e) : IfcTextureCoordinate(std::move(e)) { } -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(storage_t(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); }; populate_derived(); } +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(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); }; populate_derived(); } // Function implementations for IfcTextureMap -aggregate_of< ::Ifc4x3_rc4::IfcTextureVertex >::ptr Ifc4x3_rc4::IfcTextureMap::Vertices() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcTextureVertex >(); } +aggregate_of< ::Ifc4x3_rc4::IfcTextureVertex >::ptr Ifc4x3_rc4::IfcTextureMap::Vertices() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcTextureVertex >(); } void Ifc4x3_rc4::IfcTextureMap::setVertices(aggregate_of< ::Ifc4x3_rc4::IfcTextureVertex >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_rc4::IfcFace* Ifc4x3_rc4::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcFace>(true); } +::Ifc4x3_rc4::IfcFace* Ifc4x3_rc4::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_rc4::IfcFace>(true); } void Ifc4x3_rc4::IfcTextureMap::setMappedTo(::Ifc4x3_rc4::IfcFace* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcTextureMap::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1199]); } const IfcParse::entity& Ifc4x3_rc4::IfcTextureMap::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1199]); } Ifc4x3_rc4::IfcTextureMap::IfcTextureMap(IfcEntityInstanceData&& e) : IfcTextureCoordinate(std::move(e)) { } -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(storage_t(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Vertices)->generalize());set_attribute_value(2, v3_MappedTo ? v3_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Vertices)->generalize());set_attribute_value(2, v3_MappedTo ? v3_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextureVertex -std::vector< double > /*[2:2]*/ Ifc4x3_rc4::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[2:2]*/ Ifc4x3_rc4::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcTextureVertex::setCoordinates(std::vector< double > /*[2:2]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc4::IfcTextureVertex::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1200]); } const IfcParse::entity& Ifc4x3_rc4::IfcTextureVertex::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1200]); } Ifc4x3_rc4::IfcTextureVertex::IfcTextureVertex(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcTextureVertex::IfcTextureVertex(std::vector< double > /*[2:2]*/ v1_Coordinates) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } +Ifc4x3_rc4::IfcTextureVertex::IfcTextureVertex(std::vector< double > /*[2:2]*/ v1_Coordinates) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } // Function implementations for IfcTextureVertexList -std::vector< std::vector< double > > Ifc4x3_rc4::IfcTextureVertexList::TexCoordsList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x3_rc4::IfcTextureVertexList::TexCoordsList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcTextureVertexList::setTexCoordsList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc4::IfcTextureVertexList::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1201]); } const IfcParse::entity& Ifc4x3_rc4::IfcTextureVertexList::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1201]); } Ifc4x3_rc4::IfcTextureVertexList::IfcTextureVertexList(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcTextureVertexList::IfcTextureVertexList(std::vector< std::vector< double > > v1_TexCoordsList) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_TexCoordsList));; populate_derived(); } +Ifc4x3_rc4::IfcTextureVertexList::IfcTextureVertexList(std::vector< std::vector< double > > v1_TexCoordsList) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_TexCoordsList));; populate_derived(); } // Function implementations for IfcThirdOrderPolynomialSpiral -double Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::CubicTerm() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::CubicTerm() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::setCubicTerm(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::QuadraticTerm() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::QuadraticTerm() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::setQuadraticTerm(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::LinearTerm() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::LinearTerm() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::setLinearTerm(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::ConstantTerm() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::ConstantTerm() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::setConstantTerm(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1208]); } const IfcParse::entity& Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1208]); } Ifc4x3_rc4::IfcThirdOrderPolynomialSpiral::IfcThirdOrderPolynomialSpiral(IfcEntityInstanceData&& e) : IfcSpiral(std::move(e)) { } -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(storage_t(5))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CubicTerm)); if (v3_QuadraticTerm) {set_attribute_value(2, (*v3_QuadraticTerm)); } if (v4_LinearTerm) {set_attribute_value(3, (*v4_LinearTerm)); } if (v5_ConstantTerm) {set_attribute_value(4, (*v5_ConstantTerm)); }; populate_derived(); } +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(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CubicTerm)); if (v3_QuadraticTerm) {set_attribute_value(2, (*v3_QuadraticTerm)); } if (v4_LinearTerm) {set_attribute_value(3, (*v4_LinearTerm)); } if (v5_ConstantTerm) {set_attribute_value(4, (*v5_ConstantTerm)); }; populate_derived(); } // Function implementations for IfcTimePeriod -std::string Ifc4x3_rc4::IfcTimePeriod::StartTime() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc4::IfcTimePeriod::StartTime() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcTimePeriod::setStartTime(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x3_rc4::IfcTimePeriod::EndTime() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_rc4::IfcTimePeriod::EndTime() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcTimePeriod::setEndTime(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcTimePeriod::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1212]); } const IfcParse::entity& Ifc4x3_rc4::IfcTimePeriod::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1212]); } Ifc4x3_rc4::IfcTimePeriod::IfcTimePeriod(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcTimePeriod::IfcTimePeriod(std::string v1_StartTime, std::string v2_EndTime) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime));; populate_derived(); } +Ifc4x3_rc4::IfcTimePeriod::IfcTimePeriod(std::string v1_StartTime, std::string v2_EndTime) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime));; populate_derived(); } // Function implementations for IfcTimeSeries -std::string Ifc4x3_rc4::IfcTimeSeries::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_rc4::IfcTimeSeries::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_rc4::IfcTimeSeries::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_rc4::IfcTimeSeries::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTimeSeries::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcTimeSeries::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::string Ifc4x3_rc4::IfcTimeSeries::StartTime() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3_rc4::IfcTimeSeries::StartTime() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcTimeSeries::setStartTime(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::string Ifc4x3_rc4::IfcTimeSeries::EndTime() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x3_rc4::IfcTimeSeries::EndTime() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcTimeSeries::setEndTime(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Value Ifc4x3_rc4::IfcTimeSeries::TimeSeriesDataType() const { return ::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Value Ifc4x3_rc4::IfcTimeSeries::TimeSeriesDataType() const { return ::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::FromString(get_attribute_value(4)); } void Ifc4x3_rc4::IfcTimeSeries::setTimeSeriesDataType(::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcDataOriginEnum::Value Ifc4x3_rc4::IfcTimeSeries::DataOrigin() const { return ::Ifc4x3_rc4::IfcDataOriginEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_rc4::IfcDataOriginEnum::Value Ifc4x3_rc4::IfcTimeSeries::DataOrigin() const { return ::Ifc4x3_rc4::IfcDataOriginEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc4::IfcTimeSeries::setDataOrigin(::Ifc4x3_rc4::IfcDataOriginEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< std::string > Ifc4x3_rc4::IfcTimeSeries::UserDefinedDataOrigin() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTimeSeries::UserDefinedDataOrigin() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcTimeSeries::Unit() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_rc4::IfcUnit>(true); } +::Ifc4x3_rc4::IfcUnit* Ifc4x3_rc4::IfcTimeSeries::Unit() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_rc4::IfcUnit>(true); } void Ifc4x3_rc4::IfcTimeSeries::setUnit(::Ifc4x3_rc4::IfcUnit* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_rc4::IfcExternalReferenceRelationship::list::ptr Ifc4x3_rc4::IfcTimeSeries::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[433], 3)->as(); } @@ -17433,17 +17433,17 @@ void Ifc4x3_rc4::IfcTimeSeries::setUnit(::Ifc4x3_rc4::IfcUnit* v) { set_attribut const IfcParse::entity& Ifc4x3_rc4::IfcTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1213]); } const IfcParse::entity& Ifc4x3_rc4::IfcTimeSeries::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1213]); } Ifc4x3_rc4::IfcTimeSeries::IfcTimeSeries(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -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(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc4::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTimeSeriesValue -aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr Ifc4x3_rc4::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcValue >(); } +aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr Ifc4x3_rc4::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcValue >(); } void Ifc4x3_rc4::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc4::IfcTimeSeriesValue::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1215]); } const IfcParse::entity& Ifc4x3_rc4::IfcTimeSeriesValue::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1215]); } Ifc4x3_rc4::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_ListValues)->generalize());; populate_derived(); } +Ifc4x3_rc4::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_rc4::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_ListValues)->generalize());; populate_derived(); } // Function implementations for IfcTopologicalRepresentationItem @@ -17451,7 +17451,7 @@ Ifc4x3_rc4::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_rc4::I const IfcParse::entity& Ifc4x3_rc4::IfcTopologicalRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1217]); } const IfcParse::entity& Ifc4x3_rc4::IfcTopologicalRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1217]); } Ifc4x3_rc4::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc4::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcTopologyRepresentation @@ -17459,164 +17459,164 @@ Ifc4x3_rc4::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() const IfcParse::entity& Ifc4x3_rc4::IfcTopologyRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1218]); } const IfcParse::entity& Ifc4x3_rc4::IfcTopologyRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1218]); } Ifc4x3_rc4::IfcTopologyRepresentation::IfcTopologyRepresentation(IfcEntityInstanceData&& e) : IfcShapeModel(std::move(e)) { } -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(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +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(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcToroidalSurface -double Ifc4x3_rc4::IfcToroidalSurface::MajorRadius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc4::IfcToroidalSurface::MajorRadius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcToroidalSurface::setMajorRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_rc4::IfcToroidalSurface::MinorRadius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_rc4::IfcToroidalSurface::MinorRadius() const { double v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcToroidalSurface::setMinorRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_rc4::IfcToroidalSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1219]); } const IfcParse::entity& Ifc4x3_rc4::IfcToroidalSurface::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1219]); } Ifc4x3_rc4::IfcToroidalSurface::IfcToroidalSurface(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x3_rc4::IfcToroidalSurface::IfcToroidalSurface(::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position, double v2_MajorRadius, double v3_MinorRadius) : IfcElementarySurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius));; populate_derived(); } +Ifc4x3_rc4::IfcToroidalSurface::IfcToroidalSurface(::Ifc4x3_rc4::IfcAxis2Placement3D* v1_Position, double v2_MajorRadius, double v3_MinorRadius) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius));; populate_derived(); } // Function implementations for IfcTrackElement -boost::optional< ::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value > Ifc4x3_rc4::IfcTrackElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTrackElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value > Ifc4x3_rc4::IfcTrackElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTrackElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcTrackElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcTrackElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcTrackElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1221]); } const IfcParse::entity& Ifc4x3_rc4::IfcTrackElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1221]); } Ifc4x3_rc4::IfcTrackElement::IfcTrackElement(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcTrackElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcTrackElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTrackElementType -::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value Ifc4x3_rc4::IfcTrackElementType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTrackElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value Ifc4x3_rc4::IfcTrackElementType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTrackElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcTrackElementType::setPredefinedType(::Ifc4x3_rc4::IfcTrackElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcTrackElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcTrackElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1222]); } const IfcParse::entity& Ifc4x3_rc4::IfcTrackElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1222]); } Ifc4x3_rc4::IfcTrackElementType::IfcTrackElementType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcTrackElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcTrackElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTransformer -boost::optional< ::Ifc4x3_rc4::IfcTransformerTypeEnum::Value > Ifc4x3_rc4::IfcTransformer::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTransformerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcTransformerTypeEnum::Value > Ifc4x3_rc4::IfcTransformer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTransformerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcTransformer::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTransformerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcTransformerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcTransformer::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1224]); } const IfcParse::entity& Ifc4x3_rc4::IfcTransformer::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1224]); } Ifc4x3_rc4::IfcTransformer::IfcTransformer(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTransformerType -::Ifc4x3_rc4::IfcTransformerTypeEnum::Value Ifc4x3_rc4::IfcTransformerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTransformerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcTransformerTypeEnum::Value Ifc4x3_rc4::IfcTransformerType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTransformerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcTransformerType::setPredefinedType(::Ifc4x3_rc4::IfcTransformerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcTransformerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcTransformerType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1225]); } const IfcParse::entity& Ifc4x3_rc4::IfcTransformerType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1225]); } Ifc4x3_rc4::IfcTransformerType::IfcTransformerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTransportElement -::Ifc4x3_rc4::IfcTransportElementTypeSelect* Ifc4x3_rc4::IfcTransportElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc4::IfcTransportElementTypeSelect>(true); } +::Ifc4x3_rc4::IfcTransportElementTypeSelect* Ifc4x3_rc4::IfcTransportElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc4::IfcTransportElementTypeSelect>(true); } void Ifc4x3_rc4::IfcTransportElement::setPredefinedType(::Ifc4x3_rc4::IfcTransportElementTypeSelect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc4::IfcTransportElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1229]); } const IfcParse::entity& Ifc4x3_rc4::IfcTransportElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1229]); } Ifc4x3_rc4::IfcTransportElement::IfcTransportElement(IfcEntityInstanceData&& e) : IfcElement(std::move(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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, v9_PredefinedType ? v9_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, v9_PredefinedType ? v9_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTransportElementType -::Ifc4x3_rc4::IfcTransportElementTypeSelect* Ifc4x3_rc4::IfcTransportElementType::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_rc4::IfcTransportElementTypeSelect>(true); } +::Ifc4x3_rc4::IfcTransportElementTypeSelect* Ifc4x3_rc4::IfcTransportElementType::PredefinedType() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_rc4::IfcTransportElementTypeSelect>(true); } void Ifc4x3_rc4::IfcTransportElementType::setPredefinedType(::Ifc4x3_rc4::IfcTransportElementTypeSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcTransportElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1232]); } const IfcParse::entity& Ifc4x3_rc4::IfcTransportElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1232]); } Ifc4x3_rc4::IfcTransportElementType::IfcTransportElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, v10_PredefinedType ? v10_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, v10_PredefinedType ? v10_PredefinedType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTrapeziumProfileDef -double Ifc4x3_rc4::IfcTrapeziumProfileDef::BottomXDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc4::IfcTrapeziumProfileDef::BottomXDim() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcTrapeziumProfileDef::setBottomXDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc4::IfcTrapeziumProfileDef::TopXDim() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc4::IfcTrapeziumProfileDef::TopXDim() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcTrapeziumProfileDef::setTopXDim(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc4::IfcTrapeziumProfileDef::YDim() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc4::IfcTrapeziumProfileDef::YDim() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcTrapeziumProfileDef::setYDim(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc4::IfcTrapeziumProfileDef::TopXOffset() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc4::IfcTrapeziumProfileDef::TopXOffset() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcTrapeziumProfileDef::setTopXOffset(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_rc4::IfcTrapeziumProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1234]); } const IfcParse::entity& Ifc4x3_rc4::IfcTrapeziumProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1234]); } Ifc4x3_rc4::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -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(storage_t(7))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; populate_derived(); } +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(in_memory_attribute_storage(7))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; populate_derived(); } // Function implementations for IfcTriangulatedFaceSet -boost::optional< std::vector< std::vector< double > > > Ifc4x3_rc4::IfcTriangulatedFaceSet::Normals() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::vector< double > > v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< std::vector< double > > > Ifc4x3_rc4::IfcTriangulatedFaceSet::Normals() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::vector< double > > v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcTriangulatedFaceSet::setNormals(boost::optional< std::vector< std::vector< double > > > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< bool > Ifc4x3_rc4::IfcTriangulatedFaceSet::Closed() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } bool v = data_.get_attribute_value(2); return v; } +boost::optional< bool > Ifc4x3_rc4::IfcTriangulatedFaceSet::Closed() const { if(get_attribute_value(2).isNull()) { return boost::none; } bool v = get_attribute_value(2); return v; } void Ifc4x3_rc4::IfcTriangulatedFaceSet::setClosed(boost::optional< bool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector< std::vector< int > > Ifc4x3_rc4::IfcTriangulatedFaceSet::CoordIndex() const { std::vector< std::vector< int > > v = data_.get_attribute_value(3); return v; } +std::vector< std::vector< int > > Ifc4x3_rc4::IfcTriangulatedFaceSet::CoordIndex() const { std::vector< std::vector< int > > v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcTriangulatedFaceSet::setCoordIndex(std::vector< std::vector< int > > v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc4::IfcTriangulatedFaceSet::PnIndex() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_rc4::IfcTriangulatedFaceSet::PnIndex() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcTriangulatedFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_rc4::IfcTriangulatedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1235]); } const IfcParse::entity& Ifc4x3_rc4::IfcTriangulatedFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1235]); } Ifc4x3_rc4::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(IfcEntityInstanceData&& e) : IfcTessellatedFaceSet(std::move(e)) { } -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(storage_t(5))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }; populate_derived(); } +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(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }; populate_derived(); } // Function implementations for IfcTriangulatedIrregularNetwork -std::vector< int > /*[1:?]*/ Ifc4x3_rc4::IfcTriangulatedIrregularNetwork::Flags() const { std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(5); return v; } +std::vector< int > /*[1:?]*/ Ifc4x3_rc4::IfcTriangulatedIrregularNetwork::Flags() const { std::vector< int > /*[1:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcTriangulatedIrregularNetwork::setFlags(std::vector< int > /*[1:?]*/ v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_rc4::IfcTriangulatedIrregularNetwork::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1236]); } const IfcParse::entity& Ifc4x3_rc4::IfcTriangulatedIrregularNetwork::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1236]); } Ifc4x3_rc4::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(IfcEntityInstanceData&& e) : IfcTriangulatedFaceSet(std::move(e)) { } -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(storage_t(6))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags));; populate_derived(); } +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(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags));; populate_derived(); } // Function implementations for IfcTrimmedCurve -::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCurve>(true); } +::Ifc4x3_rc4::IfcCurve* Ifc4x3_rc4::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcCurve>(true); } void Ifc4x3_rc4::IfcTrimmedCurve::setBasisCurve(::Ifc4x3_rc4::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr Ifc4x3_rc4::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcTrimmingSelect >(); } +aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr Ifc4x3_rc4::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_rc4::IfcTrimmingSelect >(); } void Ifc4x3_rc4::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr Ifc4x3_rc4::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcTrimmingSelect >(); } +aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr Ifc4x3_rc4::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_rc4::IfcTrimmingSelect >(); } void Ifc4x3_rc4::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x3_rc4::IfcTrimmedCurve::SenseAgreement() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x3_rc4::IfcTrimmedCurve::SenseAgreement() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcTrimmedCurve::setSenseAgreement(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_rc4::IfcTrimmingPreference::Value Ifc4x3_rc4::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3_rc4::IfcTrimmingPreference::FromString(data_.get_attribute_value(4)); } +::Ifc4x3_rc4::IfcTrimmingPreference::Value Ifc4x3_rc4::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3_rc4::IfcTrimmingPreference::FromString(get_attribute_value(4)); } void Ifc4x3_rc4::IfcTrimmedCurve::setMasterRepresentation(::Ifc4x3_rc4::IfcTrimmingPreference::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3_rc4::IfcTrimmingPreference::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_rc4::IfcTrimmedCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1237]); } const IfcParse::entity& Ifc4x3_rc4::IfcTrimmedCurve::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1237]); } Ifc4x3_rc4::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_rc4::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_rc4::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc4::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Trim1)->generalize());set_attribute_value(2, (v3_Trim2)->generalize());set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc4::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; populate_derived(); } +Ifc4x3_rc4::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_rc4::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_rc4::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_rc4::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Trim1)->generalize());set_attribute_value(2, (v3_Trim2)->generalize());set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc4::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcTubeBundle -boost::optional< ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value > Ifc4x3_rc4::IfcTubeBundle::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value > Ifc4x3_rc4::IfcTubeBundle::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcTubeBundle::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcTubeBundle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1241]); } const IfcParse::entity& Ifc4x3_rc4::IfcTubeBundle::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1241]); } Ifc4x3_rc4::IfcTubeBundle::IfcTubeBundle(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTubeBundleType -::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value Ifc4x3_rc4::IfcTubeBundleType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value Ifc4x3_rc4::IfcTubeBundleType::PredefinedType() const { return ::Ifc4x3_rc4::IfcTubeBundleTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcTubeBundleType::setPredefinedType(::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcTubeBundleType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1242]); } const IfcParse::entity& Ifc4x3_rc4::IfcTubeBundleType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1242]); } Ifc4x3_rc4::IfcTubeBundleType::IfcTubeBundleType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTypeObject -boost::optional< std::string > Ifc4x3_rc4::IfcTypeObject::ApplicableOccurrence() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTypeObject::ApplicableOccurrence() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcTypeObject::setApplicableOccurrence(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > Ifc4x3_rc4::IfcTypeObject::HasPropertySets() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_rc4::IfcPropertySetDefinition >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > Ifc4x3_rc4::IfcTypeObject::HasPropertySets() const { if(get_attribute_value(5).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_rc4::IfcPropertySetDefinition >(); } void Ifc4x3_rc4::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v) { if (v) {set_attribute_value(5, (*v)->generalize());} else {unset_attribute_value(5);} } ::Ifc4x3_rc4::IfcRelDefinesByType::list::ptr Ifc4x3_rc4::IfcTypeObject::Types() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[940], 5)->as(); } @@ -17624,14 +17624,14 @@ void Ifc4x3_rc4::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of const IfcParse::entity& Ifc4x3_rc4::IfcTypeObject::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1244]); } const IfcParse::entity& Ifc4x3_rc4::IfcTypeObject::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1244]); } Ifc4x3_rc4::IfcTypeObject::IfcTypeObject(IfcEntityInstanceData&& e) : IfcObjectDefinition(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > v6_HasPropertySets) : IfcObjectDefinition(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); }; populate_derived(); } +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(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); }; populate_derived(); } // Function implementations for IfcTypeProcess -boost::optional< std::string > Ifc4x3_rc4::IfcTypeProcess::Identification() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTypeProcess::Identification() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcTypeProcess::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc4::IfcTypeProcess::LongDescription() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTypeProcess::LongDescription() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcTypeProcess::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc4::IfcTypeProcess::ProcessType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTypeProcess::ProcessType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcTypeProcess::setProcessType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } ::Ifc4x3_rc4::IfcRelAssignsToProcess::list::ptr Ifc4x3_rc4::IfcTypeProcess::OperatesOn() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[910], 6)->as(); } @@ -17639,12 +17639,12 @@ void Ifc4x3_rc4::IfcTypeProcess::setProcessType(boost::optional< std::string > v const IfcParse::entity& Ifc4x3_rc4::IfcTypeProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1245]); } const IfcParse::entity& Ifc4x3_rc4::IfcTypeProcess::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1245]); } Ifc4x3_rc4::IfcTypeProcess::IfcTypeProcess(IfcEntityInstanceData&& e) : IfcTypeObject(std::move(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< 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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }; populate_derived(); } // Function implementations for IfcTypeProduct -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > Ifc4x3_rc4::IfcTypeProduct::RepresentationMaps() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3_rc4::IfcRepresentationMap >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > Ifc4x3_rc4::IfcTypeProduct::RepresentationMaps() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3_rc4::IfcRepresentationMap >(); } void Ifc4x3_rc4::IfcTypeProduct::setRepresentationMaps(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcRepresentationMap >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc4::IfcTypeProduct::Tag() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTypeProduct::Tag() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcTypeProduct::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } ::Ifc4x3_rc4::IfcRelAssignsToProduct::list::ptr Ifc4x3_rc4::IfcTypeProduct::ReferencedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[911], 6)->as(); } @@ -17652,14 +17652,14 @@ void Ifc4x3_rc4::IfcTypeProduct::setTag(boost::optional< std::string > v) { if ( const IfcParse::entity& Ifc4x3_rc4::IfcTypeProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1246]); } const IfcParse::entity& Ifc4x3_rc4::IfcTypeProduct::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1246]); } Ifc4x3_rc4::IfcTypeProduct::IfcTypeProduct(IfcEntityInstanceData&& e) : IfcTypeObject(std::move(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< 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(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +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(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcTypeResource -boost::optional< std::string > Ifc4x3_rc4::IfcTypeResource::Identification() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTypeResource::Identification() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcTypeResource::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_rc4::IfcTypeResource::LongDescription() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTypeResource::LongDescription() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcTypeResource::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc4::IfcTypeResource::ResourceType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcTypeResource::ResourceType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcTypeResource::setResourceType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } ::Ifc4x3_rc4::IfcRelAssignsToResource::list::ptr Ifc4x3_rc4::IfcTypeResource::ResourceOf() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_RC4_types[912], 6)->as(); } @@ -17667,111 +17667,111 @@ void Ifc4x3_rc4::IfcTypeResource::setResourceType(boost::optional< std::string > const IfcParse::entity& Ifc4x3_rc4::IfcTypeResource::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1247]); } const IfcParse::entity& Ifc4x3_rc4::IfcTypeResource::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1247]); } Ifc4x3_rc4::IfcTypeResource::IfcTypeResource(IfcEntityInstanceData&& e) : IfcTypeObject(std::move(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< 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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); }; populate_derived(); } // Function implementations for IfcUShapeProfileDef -double Ifc4x3_rc4::IfcUShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc4::IfcUShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcUShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc4::IfcUShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc4::IfcUShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcUShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc4::IfcUShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc4::IfcUShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcUShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc4::IfcUShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc4::IfcUShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcUShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc4::IfcUShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc4::IfcUShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcUShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc4::IfcUShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc4::IfcUShapeProfileDef::EdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcUShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_rc4::IfcUShapeProfileDef::FlangeSlope() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc4::IfcUShapeProfileDef::FlangeSlope() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc4::IfcUShapeProfileDef::setFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc4::IfcUShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1258]); } const IfcParse::entity& Ifc4x3_rc4::IfcUShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1258]); } Ifc4x3_rc4::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(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(storage_t(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } // Function implementations for IfcUnitAssignment -aggregate_of< ::Ifc4x3_rc4::IfcUnit >::ptr Ifc4x3_rc4::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcUnit >(); } +aggregate_of< ::Ifc4x3_rc4::IfcUnit >::ptr Ifc4x3_rc4::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcUnit >(); } void Ifc4x3_rc4::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x3_rc4::IfcUnit >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc4::IfcUnitAssignment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1255]); } const IfcParse::entity& Ifc4x3_rc4::IfcUnitAssignment::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1255]); } Ifc4x3_rc4::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3_rc4::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Units)->generalize());; populate_derived(); } +Ifc4x3_rc4::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3_rc4::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Units)->generalize());; populate_derived(); } // Function implementations for IfcUnitaryControlElement -boost::optional< ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_rc4::IfcUnitaryControlElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_rc4::IfcUnitaryControlElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcUnitaryControlElement::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcUnitaryControlElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1249]); } const IfcParse::entity& Ifc4x3_rc4::IfcUnitaryControlElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1249]); } Ifc4x3_rc4::IfcUnitaryControlElement::IfcUnitaryControlElement(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcUnitaryControlElementType -::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value Ifc4x3_rc4::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value Ifc4x3_rc4::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcUnitaryControlElementType::setPredefinedType(::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcUnitaryControlElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1250]); } const IfcParse::entity& Ifc4x3_rc4::IfcUnitaryControlElementType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1250]); } Ifc4x3_rc4::IfcUnitaryControlElementType::IfcUnitaryControlElementType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcUnitaryEquipment -boost::optional< ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x3_rc4::IfcUnitaryEquipment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x3_rc4::IfcUnitaryEquipment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcUnitaryEquipment::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcUnitaryEquipment::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1252]); } const IfcParse::entity& Ifc4x3_rc4::IfcUnitaryEquipment::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1252]); } Ifc4x3_rc4::IfcUnitaryEquipment::IfcUnitaryEquipment(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcUnitaryEquipmentType -::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3_rc4::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3_rc4::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcUnitaryEquipmentType::setPredefinedType(::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcUnitaryEquipmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1253]); } const IfcParse::entity& Ifc4x3_rc4::IfcUnitaryEquipmentType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1253]); } Ifc4x3_rc4::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcValve -boost::optional< ::Ifc4x3_rc4::IfcValveTypeEnum::Value > Ifc4x3_rc4::IfcValve::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcValveTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcValveTypeEnum::Value > Ifc4x3_rc4::IfcValve::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcValveTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcValve::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcValveTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcValveTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcValve::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1260]); } const IfcParse::entity& Ifc4x3_rc4::IfcValve::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1260]); } Ifc4x3_rc4::IfcValve::IfcValve(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcValveType -::Ifc4x3_rc4::IfcValveTypeEnum::Value Ifc4x3_rc4::IfcValveType::PredefinedType() const { return ::Ifc4x3_rc4::IfcValveTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcValveTypeEnum::Value Ifc4x3_rc4::IfcValveType::PredefinedType() const { return ::Ifc4x3_rc4::IfcValveTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcValveType::setPredefinedType(::Ifc4x3_rc4::IfcValveTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcValveTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcValveType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1261]); } const IfcParse::entity& Ifc4x3_rc4::IfcValveType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1261]); } Ifc4x3_rc4::IfcValveType::IfcValveType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcVector -::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcDirection>(true); } +::Ifc4x3_rc4::IfcDirection* Ifc4x3_rc4::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcDirection>(true); } void Ifc4x3_rc4::IfcVector::setOrientation(::Ifc4x3_rc4::IfcDirection* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_rc4::IfcVector::Magnitude() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_rc4::IfcVector::Magnitude() const { double v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcVector::setMagnitude(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcVector::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1264]); } const IfcParse::entity& Ifc4x3_rc4::IfcVector::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1264]); } Ifc4x3_rc4::IfcVector::IfcVector(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcVector::IfcVector(::Ifc4x3_rc4::IfcDirection* v1_Orientation, double v2_Magnitude) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Orientation ? v1_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Magnitude));; populate_derived(); } +Ifc4x3_rc4::IfcVector::IfcVector(::Ifc4x3_rc4::IfcDirection* v1_Orientation, double v2_Magnitude) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Orientation ? v1_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Magnitude));; populate_derived(); } // Function implementations for IfcVertex @@ -17779,67 +17779,67 @@ Ifc4x3_rc4::IfcVector::IfcVector(::Ifc4x3_rc4::IfcDirection* v1_Orientation, dou const IfcParse::entity& Ifc4x3_rc4::IfcVertex::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1266]); } const IfcParse::entity& Ifc4x3_rc4::IfcVertex::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1266]); } Ifc4x3_rc4::IfcVertex::IfcVertex(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_rc4::IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_rc4::IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcVertexLoop -::Ifc4x3_rc4::IfcVertex* Ifc4x3_rc4::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcVertex>(true); } +::Ifc4x3_rc4::IfcVertex* Ifc4x3_rc4::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcVertex>(true); } void Ifc4x3_rc4::IfcVertexLoop::setLoopVertex(::Ifc4x3_rc4::IfcVertex* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc4::IfcVertexLoop::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1267]); } const IfcParse::entity& Ifc4x3_rc4::IfcVertexLoop::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1267]); } Ifc4x3_rc4::IfcVertexLoop::IfcVertexLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc4x3_rc4::IfcVertexLoop::IfcVertexLoop(::Ifc4x3_rc4::IfcVertex* v1_LoopVertex) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_LoopVertex ? v1_LoopVertex->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcVertexLoop::IfcVertexLoop(::Ifc4x3_rc4::IfcVertex* v1_LoopVertex) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_LoopVertex ? v1_LoopVertex->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcVertexPoint -::Ifc4x3_rc4::IfcPoint* Ifc4x3_rc4::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcPoint>(true); } +::Ifc4x3_rc4::IfcPoint* Ifc4x3_rc4::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_rc4::IfcPoint>(true); } void Ifc4x3_rc4::IfcVertexPoint::setVertexGeometry(::Ifc4x3_rc4::IfcPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_rc4::IfcVertexPoint::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1268]); } const IfcParse::entity& Ifc4x3_rc4::IfcVertexPoint::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1268]); } Ifc4x3_rc4::IfcVertexPoint::IfcVertexPoint(IfcEntityInstanceData&& e) : IfcVertex(std::move(e)) { } -Ifc4x3_rc4::IfcVertexPoint::IfcVertexPoint(::Ifc4x3_rc4::IfcPoint* v1_VertexGeometry) : IfcVertex(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_VertexGeometry ? v1_VertexGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcVertexPoint::IfcVertexPoint(::Ifc4x3_rc4::IfcPoint* v1_VertexGeometry) : IfcVertex(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_VertexGeometry ? v1_VertexGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcVibrationDamper -boost::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc4::IfcVibrationDamper::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc4::IfcVibrationDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcVibrationDamper::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcVibrationDamper::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1269]); } const IfcParse::entity& Ifc4x3_rc4::IfcVibrationDamper::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1269]); } Ifc4x3_rc4::IfcVibrationDamper::IfcVibrationDamper(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcVibrationDamperType -boost::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc4::IfcVibrationDamperType::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > Ifc4x3_rc4::IfcVibrationDamperType::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcVibrationDamperType::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_rc4::IfcVibrationDamperType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1270]); } const IfcParse::entity& Ifc4x3_rc4::IfcVibrationDamperType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1270]); } Ifc4x3_rc4::IfcVibrationDamperType::IfcVibrationDamperType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcVibrationDamperTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcVibrationIsolator -boost::optional< ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value > Ifc4x3_rc4::IfcVibrationIsolator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value > Ifc4x3_rc4::IfcVibrationIsolator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcVibrationIsolator::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcVibrationIsolator::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1272]); } const IfcParse::entity& Ifc4x3_rc4::IfcVibrationIsolator::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1272]); } Ifc4x3_rc4::IfcVibrationIsolator::IfcVibrationIsolator(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcVibrationIsolatorType -::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value Ifc4x3_rc4::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value Ifc4x3_rc4::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcVibrationIsolatorType::setPredefinedType(::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcVibrationIsolatorType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1273]); } const IfcParse::entity& Ifc4x3_rc4::IfcVibrationIsolatorType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1273]); } Ifc4x3_rc4::IfcVibrationIsolatorType::IfcVibrationIsolatorType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcVirtualElement @@ -17847,19 +17847,19 @@ Ifc4x3_rc4::IfcVibrationIsolatorType::IfcVibrationIsolatorType(std::string v1_Gl const IfcParse::entity& Ifc4x3_rc4::IfcVirtualElement::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1275]); } const IfcParse::entity& Ifc4x3_rc4::IfcVirtualElement::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1275]); } Ifc4x3_rc4::IfcVirtualElement::IfcVirtualElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -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(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +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(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcVirtualGridIntersection -aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr Ifc4x3_rc4::IfcVirtualGridIntersection::IntersectingAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcGridAxis >(); } +aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr Ifc4x3_rc4::IfcVirtualGridIntersection::IntersectingAxes() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_rc4::IfcGridAxis >(); } void Ifc4x3_rc4::IfcVirtualGridIntersection::setIntersectingAxes(aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -std::vector< double > /*[2:3]*/ Ifc4x3_rc4::IfcVirtualGridIntersection::OffsetDistances() const { std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(1); return v; } +std::vector< double > /*[2:3]*/ Ifc4x3_rc4::IfcVirtualGridIntersection::OffsetDistances() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } void Ifc4x3_rc4::IfcVirtualGridIntersection::setOffsetDistances(std::vector< double > /*[2:3]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_rc4::IfcVirtualGridIntersection::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1276]); } const IfcParse::entity& Ifc4x3_rc4::IfcVirtualGridIntersection::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1276]); } Ifc4x3_rc4::IfcVirtualGridIntersection::IfcVirtualGridIntersection(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_rc4::IfcVirtualGridIntersection::IfcVirtualGridIntersection(aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_IntersectingAxes)->generalize());set_attribute_value(1, (v2_OffsetDistances));; populate_derived(); } +Ifc4x3_rc4::IfcVirtualGridIntersection::IfcVirtualGridIntersection(aggregate_of< ::Ifc4x3_rc4::IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_IntersectingAxes)->generalize());set_attribute_value(1, (v2_OffsetDistances));; populate_derived(); } // Function implementations for IfcVoidStratum @@ -17867,27 +17867,27 @@ Ifc4x3_rc4::IfcVirtualGridIntersection::IfcVirtualGridIntersection(aggregate_of< const IfcParse::entity& Ifc4x3_rc4::IfcVoidStratum::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1279]); } const IfcParse::entity& Ifc4x3_rc4::IfcVoidStratum::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1279]); } Ifc4x3_rc4::IfcVoidStratum::IfcVoidStratum(IfcEntityInstanceData&& e) : IfcGeotechnicalStratum(std::move(e)) { } -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(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +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(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcVoidingFeature -boost::optional< ::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::Value > Ifc4x3_rc4::IfcVoidingFeature::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::Value > Ifc4x3_rc4::IfcVoidingFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcVoidingFeature::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcVoidingFeature::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1277]); } const IfcParse::entity& Ifc4x3_rc4::IfcVoidingFeature::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1277]); } Ifc4x3_rc4::IfcVoidingFeature::IfcVoidingFeature(IfcEntityInstanceData&& e) : IfcFeatureElementSubtraction(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWall -boost::optional< ::Ifc4x3_rc4::IfcWallTypeEnum::Value > Ifc4x3_rc4::IfcWall::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcWallTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcWallTypeEnum::Value > Ifc4x3_rc4::IfcWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcWallTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcWall::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcWallTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcWallTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcWall::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1282]); } const IfcParse::entity& Ifc4x3_rc4::IfcWall::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1282]); } Ifc4x3_rc4::IfcWall::IfcWall(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_rc4::IfcWall::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) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc4::IfcWall::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) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWallElementedCase @@ -17895,7 +17895,7 @@ Ifc4x3_rc4::IfcWall::IfcWall(std::string v1_GlobalId, ::Ifc4x3_rc4::IfcOwnerHist const IfcParse::entity& Ifc4x3_rc4::IfcWallElementedCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1283]); } const IfcParse::entity& Ifc4x3_rc4::IfcWallElementedCase::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1283]); } Ifc4x3_rc4::IfcWallElementedCase::IfcWallElementedCase(IfcEntityInstanceData&& e) : IfcWall(std::move(e)) { } -Ifc4x3_rc4::IfcWallElementedCase::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) : IfcWall(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_rc4::IfcWallElementedCase::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) : IfcWall(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWallStandardCase @@ -17903,37 +17903,37 @@ Ifc4x3_rc4::IfcWallElementedCase::IfcWallElementedCase(std::string v1_GlobalId, const IfcParse::entity& Ifc4x3_rc4::IfcWallStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1284]); } const IfcParse::entity& Ifc4x3_rc4::IfcWallStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1284]); } Ifc4x3_rc4::IfcWallStandardCase::IfcWallStandardCase(IfcEntityInstanceData&& e) : IfcWall(std::move(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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWallType -::Ifc4x3_rc4::IfcWallTypeEnum::Value Ifc4x3_rc4::IfcWallType::PredefinedType() const { return ::Ifc4x3_rc4::IfcWallTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcWallTypeEnum::Value Ifc4x3_rc4::IfcWallType::PredefinedType() const { return ::Ifc4x3_rc4::IfcWallTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcWallType::setPredefinedType(::Ifc4x3_rc4::IfcWallTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcWallTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcWallType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1285]); } const IfcParse::entity& Ifc4x3_rc4::IfcWallType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1285]); } Ifc4x3_rc4::IfcWallType::IfcWallType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcWasteTerminal -boost::optional< ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value > Ifc4x3_rc4::IfcWasteTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value > Ifc4x3_rc4::IfcWasteTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcWasteTerminal::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcWasteTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1290]); } const IfcParse::entity& Ifc4x3_rc4::IfcWasteTerminal::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1290]); } Ifc4x3_rc4::IfcWasteTerminal::IfcWasteTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWasteTerminalType -::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value Ifc4x3_rc4::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value Ifc4x3_rc4::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcWasteTerminalType::setPredefinedType(::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_rc4::IfcWasteTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1291]); } const IfcParse::entity& Ifc4x3_rc4::IfcWasteTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1291]); } Ifc4x3_rc4::IfcWasteTerminalType::IfcWasteTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +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(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcWaterStratum @@ -17941,75 +17941,75 @@ Ifc4x3_rc4::IfcWasteTerminalType::IfcWasteTerminalType(std::string v1_GlobalId, const IfcParse::entity& Ifc4x3_rc4::IfcWaterStratum::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1293]); } const IfcParse::entity& Ifc4x3_rc4::IfcWaterStratum::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1293]); } Ifc4x3_rc4::IfcWaterStratum::IfcWaterStratum(IfcEntityInstanceData&& e) : IfcGeotechnicalStratum(std::move(e)) { } -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(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +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(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcWindow -boost::optional< double > Ifc4x3_rc4::IfcWindow::OverallHeight() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc4::IfcWindow::OverallHeight() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcWindow::setOverallHeight(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_rc4::IfcWindow::OverallWidth() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc4::IfcWindow::OverallWidth() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc4::IfcWindow::setOverallWidth(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x3_rc4::IfcWindowTypeEnum::Value > Ifc4x3_rc4::IfcWindow::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcWindowTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_rc4::IfcWindowTypeEnum::Value > Ifc4x3_rc4::IfcWindow::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcWindowTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc4::IfcWindow::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcWindowTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc4::IfcWindowTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -boost::optional< ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value > Ifc4x3_rc4::IfcWindow::PartitioningType() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::FromString(data_.get_attribute_value(11)); } +boost::optional< ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value > Ifc4x3_rc4::IfcWindow::PartitioningType() const { if(get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::FromString(get_attribute_value(11)); } void Ifc4x3_rc4::IfcWindow::setPartitioningType(boost::optional< ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value > v) { if (v) {set_attribute_value(11, EnumerationReference(&::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Class(), (size_t) *v));} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_rc4::IfcWindow::UserDefinedPartitioningType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcWindow::UserDefinedPartitioningType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc4::IfcWindow::setUserDefinedPartitioningType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_rc4::IfcWindow::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1294]); } const IfcParse::entity& Ifc4x3_rc4::IfcWindow::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1294]); } Ifc4x3_rc4::IfcWindow::IfcWindow(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -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(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } +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(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } // Function implementations for IfcWindowLiningProperties -boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::LiningDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcWindowLiningProperties::setLiningDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::LiningThickness() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::LiningThickness() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcWindowLiningProperties::setLiningThickness(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::TransomThickness() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::TransomThickness() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcWindowLiningProperties::setTransomThickness(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::MullionThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::MullionThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcWindowLiningProperties::setMullionThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::FirstTransomOffset() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::FirstTransomOffset() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcWindowLiningProperties::setFirstTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::SecondTransomOffset() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::SecondTransomOffset() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_rc4::IfcWindowLiningProperties::setSecondTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::FirstMullionOffset() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::FirstMullionOffset() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::SecondMullionOffset() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::SecondMullionOffset() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_rc4::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -::Ifc4x3_rc4::IfcShapeAspect* Ifc4x3_rc4::IfcWindowLiningProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(12).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(12)))->as<::Ifc4x3_rc4::IfcShapeAspect>(true); } +::Ifc4x3_rc4::IfcShapeAspect* Ifc4x3_rc4::IfcWindowLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(12).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(12)))->as<::Ifc4x3_rc4::IfcShapeAspect>(true); } void Ifc4x3_rc4::IfcWindowLiningProperties::setShapeAspectStyle(::Ifc4x3_rc4::IfcShapeAspect* v) { set_attribute_value(12, v->as());if constexpr (false)unset_attribute_value(12); } -boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::LiningOffset() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::LiningOffset() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_rc4::IfcWindowLiningProperties::setLiningOffset(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::LiningToPanelOffsetX() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::LiningToPanelOffsetX() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3_rc4::IfcWindowLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::LiningToPanelOffsetY() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3_rc4::IfcWindowLiningProperties::LiningToPanelOffsetY() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3_rc4::IfcWindowLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } const IfcParse::entity& Ifc4x3_rc4::IfcWindowLiningProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1295]); } const IfcParse::entity& Ifc4x3_rc4::IfcWindowLiningProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1295]); } Ifc4x3_rc4::IfcWindowLiningProperties::IfcWindowLiningProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -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(storage_t(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, v13_ShapeAspectStyle ? v13_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); }; populate_derived(); } +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(in_memory_attribute_storage(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, v13_ShapeAspectStyle ? v13_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); }; populate_derived(); } // Function implementations for IfcWindowPanelProperties -::Ifc4x3_rc4::IfcWindowPanelOperationEnum::Value Ifc4x3_rc4::IfcWindowPanelProperties::OperationType() const { return ::Ifc4x3_rc4::IfcWindowPanelOperationEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x3_rc4::IfcWindowPanelOperationEnum::Value Ifc4x3_rc4::IfcWindowPanelProperties::OperationType() const { return ::Ifc4x3_rc4::IfcWindowPanelOperationEnum::FromString(get_attribute_value(4)); } void Ifc4x3_rc4::IfcWindowPanelProperties::setOperationType(::Ifc4x3_rc4::IfcWindowPanelOperationEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3_rc4::IfcWindowPanelOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Value Ifc4x3_rc4::IfcWindowPanelProperties::PanelPosition() const { return ::Ifc4x3_rc4::IfcWindowPanelPositionEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Value Ifc4x3_rc4::IfcWindowPanelProperties::PanelPosition() const { return ::Ifc4x3_rc4::IfcWindowPanelPositionEnum::FromString(get_attribute_value(5)); } void Ifc4x3_rc4::IfcWindowPanelProperties::setPanelPosition(::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_rc4::IfcWindowPanelProperties::FrameDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_rc4::IfcWindowPanelProperties::FrameDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_rc4::IfcWindowPanelProperties::FrameThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc4::IfcWindowPanelProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_rc4::IfcShapeAspect* Ifc4x3_rc4::IfcWindowPanelProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_rc4::IfcShapeAspect>(true); } +::Ifc4x3_rc4::IfcShapeAspect* Ifc4x3_rc4::IfcWindowPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_rc4::IfcShapeAspect>(true); } void Ifc4x3_rc4::IfcWindowPanelProperties::setShapeAspectStyle(::Ifc4x3_rc4::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_rc4::IfcWindowPanelProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1298]); } const IfcParse::entity& Ifc4x3_rc4::IfcWindowPanelProperties::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1298]); } Ifc4x3_rc4::IfcWindowPanelProperties::IfcWindowPanelProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_rc4::IfcWindowPanelProperties::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) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc4::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_rc4::IfcWindowPanelProperties::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) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x3_rc4::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_rc4::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcWindowStandardCase @@ -18017,137 +18017,137 @@ Ifc4x3_rc4::IfcWindowPanelProperties::IfcWindowPanelProperties(std::string v1_Gl const IfcParse::entity& Ifc4x3_rc4::IfcWindowStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1299]); } const IfcParse::entity& Ifc4x3_rc4::IfcWindowStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1299]); } Ifc4x3_rc4::IfcWindowStandardCase::IfcWindowStandardCase(IfcEntityInstanceData&& e) : IfcWindow(std::move(e)) { } -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(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } +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(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } // Function implementations for IfcWindowStyle -::Ifc4x3_rc4::IfcWindowStyleConstructionEnum::Value Ifc4x3_rc4::IfcWindowStyle::ConstructionType() const { return ::Ifc4x3_rc4::IfcWindowStyleConstructionEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_rc4::IfcWindowStyleConstructionEnum::Value Ifc4x3_rc4::IfcWindowStyle::ConstructionType() const { return ::Ifc4x3_rc4::IfcWindowStyleConstructionEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcWindowStyle::setConstructionType(::Ifc4x3_rc4::IfcWindowStyleConstructionEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcWindowStyleConstructionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_rc4::IfcWindowStyleOperationEnum::Value Ifc4x3_rc4::IfcWindowStyle::OperationType() const { return ::Ifc4x3_rc4::IfcWindowStyleOperationEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcWindowStyleOperationEnum::Value Ifc4x3_rc4::IfcWindowStyle::OperationType() const { return ::Ifc4x3_rc4::IfcWindowStyleOperationEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcWindowStyle::setOperationType(::Ifc4x3_rc4::IfcWindowStyleOperationEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcWindowStyleOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -bool Ifc4x3_rc4::IfcWindowStyle::ParameterTakesPrecedence() const { bool v = data_.get_attribute_value(10); return v; } +bool Ifc4x3_rc4::IfcWindowStyle::ParameterTakesPrecedence() const { bool v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcWindowStyle::setParameterTakesPrecedence(bool v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -bool Ifc4x3_rc4::IfcWindowStyle::Sizeable() const { bool v = data_.get_attribute_value(11); return v; } +bool Ifc4x3_rc4::IfcWindowStyle::Sizeable() const { bool v = get_attribute_value(11); return v; } void Ifc4x3_rc4::IfcWindowStyle::setSizeable(bool v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_rc4::IfcWindowStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1300]); } const IfcParse::entity& Ifc4x3_rc4::IfcWindowStyle::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1300]); } Ifc4x3_rc4::IfcWindowStyle::IfcWindowStyle(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(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< 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(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcWindowStyleConstructionEnum::Class(),(size_t)v9_ConstructionType)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcWindowStyleOperationEnum::Class(),(size_t)v10_OperationType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; populate_derived(); } +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(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcWindowStyleConstructionEnum::Class(),(size_t)v9_ConstructionType)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcWindowStyleOperationEnum::Class(),(size_t)v10_OperationType)));set_attribute_value(10, (v11_ParameterTakesPrecedence));set_attribute_value(11, (v12_Sizeable));; populate_derived(); } // Function implementations for IfcWindowType -::Ifc4x3_rc4::IfcWindowTypeEnum::Value Ifc4x3_rc4::IfcWindowType::PredefinedType() const { return ::Ifc4x3_rc4::IfcWindowTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_rc4::IfcWindowTypeEnum::Value Ifc4x3_rc4::IfcWindowType::PredefinedType() const { return ::Ifc4x3_rc4::IfcWindowTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_rc4::IfcWindowType::setPredefinedType(::Ifc4x3_rc4::IfcWindowTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_rc4::IfcWindowTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value Ifc4x3_rc4::IfcWindowType::PartitioningType() const { return ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value Ifc4x3_rc4::IfcWindowType::PartitioningType() const { return ::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::FromString(get_attribute_value(10)); } void Ifc4x3_rc4::IfcWindowType::setPartitioningType(::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } -boost::optional< bool > Ifc4x3_rc4::IfcWindowType::ParameterTakesPrecedence() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } bool v = data_.get_attribute_value(11); return v; } +boost::optional< bool > Ifc4x3_rc4::IfcWindowType::ParameterTakesPrecedence() const { if(get_attribute_value(11).isNull()) { return boost::none; } bool v = get_attribute_value(11); return v; } void Ifc4x3_rc4::IfcWindowType::setParameterTakesPrecedence(boost::optional< bool > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_rc4::IfcWindowType::UserDefinedPartitioningType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcWindowType::UserDefinedPartitioningType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc4::IfcWindowType::setUserDefinedPartitioningType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_rc4::IfcWindowType::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1303]); } const IfcParse::entity& Ifc4x3_rc4::IfcWindowType::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1303]); } Ifc4x3_rc4::IfcWindowType::IfcWindowType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(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< aggregate_of< ::Ifc4x3_rc4::IfcPropertySetDefinition >::ptr > 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(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } +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(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_rc4::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_rc4::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } // Function implementations for IfcWorkCalendar -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcWorkTime >::ptr > Ifc4x3_rc4::IfcWorkCalendar::WorkingTimes() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3_rc4::IfcWorkTime >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcWorkTime >::ptr > Ifc4x3_rc4::IfcWorkCalendar::WorkingTimes() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3_rc4::IfcWorkTime >(); } void Ifc4x3_rc4::IfcWorkCalendar::setWorkingTimes(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcWorkTime >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcWorkTime >::ptr > Ifc4x3_rc4::IfcWorkCalendar::ExceptionTimes() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc4::IfcWorkTime >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcWorkTime >::ptr > Ifc4x3_rc4::IfcWorkCalendar::ExceptionTimes() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc4::IfcWorkTime >(); } void Ifc4x3_rc4::IfcWorkCalendar::setExceptionTimes(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcWorkTime >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Value > Ifc4x3_rc4::IfcWorkCalendar::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Value > Ifc4x3_rc4::IfcWorkCalendar::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_rc4::IfcWorkCalendar::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcWorkCalendar::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1306]); } const IfcParse::entity& Ifc4x3_rc4::IfcWorkCalendar::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1306]); } Ifc4x3_rc4::IfcWorkCalendar::IfcWorkCalendar(IfcEntityInstanceData&& e) : IfcControl(std::move(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< 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(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, (*v7_WorkingTimes)->generalize()); } if (v8_ExceptionTimes) {set_attribute_value(7, (*v8_ExceptionTimes)->generalize()); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, (*v7_WorkingTimes)->generalize()); } if (v8_ExceptionTimes) {set_attribute_value(7, (*v8_ExceptionTimes)->generalize()); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_rc4::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWorkControl -std::string Ifc4x3_rc4::IfcWorkControl::CreationDate() const { std::string v = data_.get_attribute_value(6); return v; } +std::string Ifc4x3_rc4::IfcWorkControl::CreationDate() const { std::string v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcWorkControl::setCreationDate(std::string v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPerson >::ptr > Ifc4x3_rc4::IfcWorkControl::Creators() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_rc4::IfcPerson >(); } +boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPerson >::ptr > Ifc4x3_rc4::IfcWorkControl::Creators() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_rc4::IfcPerson >(); } void Ifc4x3_rc4::IfcWorkControl::setCreators(boost::optional< aggregate_of< ::Ifc4x3_rc4::IfcPerson >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_rc4::IfcWorkControl::Purpose() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcWorkControl::Purpose() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcWorkControl::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_rc4::IfcWorkControl::Duration() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcWorkControl::Duration() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_rc4::IfcWorkControl::setDuration(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x3_rc4::IfcWorkControl::TotalFloat() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcWorkControl::TotalFloat() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_rc4::IfcWorkControl::setTotalFloat(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -std::string Ifc4x3_rc4::IfcWorkControl::StartTime() const { std::string v = data_.get_attribute_value(11); return v; } +std::string Ifc4x3_rc4::IfcWorkControl::StartTime() const { std::string v = get_attribute_value(11); return v; } void Ifc4x3_rc4::IfcWorkControl::setStartTime(std::string v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } -boost::optional< std::string > Ifc4x3_rc4::IfcWorkControl::FinishTime() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcWorkControl::FinishTime() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_rc4::IfcWorkControl::setFinishTime(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_rc4::IfcWorkControl::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1308]); } const IfcParse::entity& Ifc4x3_rc4::IfcWorkControl::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1308]); } Ifc4x3_rc4::IfcWorkControl::IfcWorkControl(IfcEntityInstanceData&& e) : IfcControl(std::move(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< 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(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); }; populate_derived(); } +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(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); }; populate_derived(); } // Function implementations for IfcWorkPlan -boost::optional< ::Ifc4x3_rc4::IfcWorkPlanTypeEnum::Value > Ifc4x3_rc4::IfcWorkPlan::PredefinedType() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcWorkPlanTypeEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x3_rc4::IfcWorkPlanTypeEnum::Value > Ifc4x3_rc4::IfcWorkPlan::PredefinedType() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcWorkPlanTypeEnum::FromString(get_attribute_value(13)); } void Ifc4x3_rc4::IfcWorkPlan::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcWorkPlanTypeEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x3_rc4::IfcWorkPlanTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } const IfcParse::entity& Ifc4x3_rc4::IfcWorkPlan::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1309]); } const IfcParse::entity& Ifc4x3_rc4::IfcWorkPlan::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1309]); } Ifc4x3_rc4::IfcWorkPlan::IfcWorkPlan(IfcEntityInstanceData&& e) : IfcWorkControl(std::move(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< 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(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_rc4::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_rc4::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWorkSchedule -boost::optional< ::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::Value > Ifc4x3_rc4::IfcWorkSchedule::PredefinedType() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::Value > Ifc4x3_rc4::IfcWorkSchedule::PredefinedType() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::FromString(get_attribute_value(13)); } void Ifc4x3_rc4::IfcWorkSchedule::setPredefinedType(boost::optional< ::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } const IfcParse::entity& Ifc4x3_rc4::IfcWorkSchedule::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1311]); } const IfcParse::entity& Ifc4x3_rc4::IfcWorkSchedule::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1311]); } Ifc4x3_rc4::IfcWorkSchedule::IfcWorkSchedule(IfcEntityInstanceData&& e) : IfcWorkControl(std::move(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< 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(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } +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(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_rc4::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWorkTime -::Ifc4x3_rc4::IfcRecurrencePattern* Ifc4x3_rc4::IfcWorkTime::RecurrencePattern() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcRecurrencePattern>(true); } +::Ifc4x3_rc4::IfcRecurrencePattern* Ifc4x3_rc4::IfcWorkTime::RecurrencePattern() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_rc4::IfcRecurrencePattern>(true); } void Ifc4x3_rc4::IfcWorkTime::setRecurrencePattern(::Ifc4x3_rc4::IfcRecurrencePattern* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_rc4::IfcWorkTime::Start() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcWorkTime::Start() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcWorkTime::setStart(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_rc4::IfcWorkTime::Finish() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcWorkTime::Finish() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcWorkTime::setFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_rc4::IfcWorkTime::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1313]); } const IfcParse::entity& Ifc4x3_rc4::IfcWorkTime::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1313]); } Ifc4x3_rc4::IfcWorkTime::IfcWorkTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -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(storage_t(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_RecurrencePattern ? v4_RecurrencePattern->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Start) {set_attribute_value(4, (*v5_Start)); } if (v6_Finish) {set_attribute_value(5, (*v6_Finish)); }; populate_derived(); } +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(in_memory_attribute_storage(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_rc4::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_RecurrencePattern ? v4_RecurrencePattern->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Start) {set_attribute_value(4, (*v5_Start)); } if (v6_Finish) {set_attribute_value(5, (*v6_Finish)); }; populate_derived(); } // Function implementations for IfcZShapeProfileDef -double Ifc4x3_rc4::IfcZShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_rc4::IfcZShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_rc4::IfcZShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_rc4::IfcZShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_rc4::IfcZShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc4x3_rc4::IfcZShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_rc4::IfcZShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_rc4::IfcZShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcZShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_rc4::IfcZShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_rc4::IfcZShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3_rc4::IfcZShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_rc4::IfcZShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_rc4::IfcZShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_rc4::IfcZShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_rc4::IfcZShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_rc4::IfcZShapeProfileDef::EdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_rc4::IfcZShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_rc4::IfcZShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1315]); } const IfcParse::entity& Ifc4x3_rc4::IfcZShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1315]); } Ifc4x3_rc4::IfcZShapeProfileDef::IfcZShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(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(storage_t(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; populate_derived(); } +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(in_memory_attribute_storage(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_rc4::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; populate_derived(); } // Function implementations for IfcZone -boost::optional< std::string > Ifc4x3_rc4::IfcZone::LongName() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_rc4::IfcZone::LongName() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_rc4::IfcZone::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_rc4::IfcZone::declaration() const { return *((IfcParse::entity*)IFC4X3_RC4_types[1314]); } const IfcParse::entity& Ifc4x3_rc4::IfcZone::Class() { return *((IfcParse::entity*)IFC4X3_RC4_types[1314]); } Ifc4x3_rc4::IfcZone::IfcZone(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3_rc4::IfcZone::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) : IfcSystem(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); }; populate_derived(); } +Ifc4x3_rc4::IfcZone::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) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); }; populate_derived(); } diff --git a/src/ifcparse/Ifc4x3_tc1.cpp b/src/ifcparse/Ifc4x3_tc1.cpp index 6e89856880..942d9bea9b 100644 --- a/src/ifcparse/Ifc4x3_tc1.cpp +++ b/src/ifcparse/Ifc4x3_tc1.cpp @@ -63,7 +63,7 @@ Ifc4x3_tc1::IfcActionRequestTypeEnum::Value Ifc4x3_tc1::IfcActionRequestTypeEnum } Ifc4x3_tc1::IfcActionRequestTypeEnum::operator Ifc4x3_tc1::IfcActionRequestTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcActionRequestTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcActionRequestTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcActionSourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[4]); } @@ -90,7 +90,7 @@ Ifc4x3_tc1::IfcActionSourceTypeEnum::Value Ifc4x3_tc1::IfcActionSourceTypeEnum:: } Ifc4x3_tc1::IfcActionSourceTypeEnum::operator Ifc4x3_tc1::IfcActionSourceTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcActionSourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcActionSourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcActionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[5]); } @@ -117,7 +117,7 @@ Ifc4x3_tc1::IfcActionTypeEnum::Value Ifc4x3_tc1::IfcActionTypeEnum::FromString(c } Ifc4x3_tc1::IfcActionTypeEnum::operator Ifc4x3_tc1::IfcActionTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcActionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcActionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcActuatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[11]); } @@ -144,7 +144,7 @@ Ifc4x3_tc1::IfcActuatorTypeEnum::Value Ifc4x3_tc1::IfcActuatorTypeEnum::FromStri } Ifc4x3_tc1::IfcActuatorTypeEnum::operator Ifc4x3_tc1::IfcActuatorTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcActuatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcActuatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcAddressTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[13]); } @@ -171,7 +171,7 @@ Ifc4x3_tc1::IfcAddressTypeEnum::Value Ifc4x3_tc1::IfcAddressTypeEnum::FromString } Ifc4x3_tc1::IfcAddressTypeEnum::operator Ifc4x3_tc1::IfcAddressTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcAddressTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcAddressTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[20]); } @@ -198,7 +198,7 @@ Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Value Ifc4x3_tc1::IfcAirTerminalBoxTypeEn } Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::operator Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcAirTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[22]); } @@ -225,7 +225,7 @@ Ifc4x3_tc1::IfcAirTerminalTypeEnum::Value Ifc4x3_tc1::IfcAirTerminalTypeEnum::Fr } Ifc4x3_tc1::IfcAirTerminalTypeEnum::operator Ifc4x3_tc1::IfcAirTerminalTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcAirTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcAirTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[25]); } @@ -252,7 +252,7 @@ Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3_tc1::IfcAirToAirHeatRe } Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::operator Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcAlarmTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[28]); } @@ -279,7 +279,7 @@ Ifc4x3_tc1::IfcAlarmTypeEnum::Value Ifc4x3_tc1::IfcAlarmTypeEnum::FromString(con } Ifc4x3_tc1::IfcAlarmTypeEnum::operator Ifc4x3_tc1::IfcAlarmTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcAlarmTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcAlarmTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcAlignmentCantSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[32]); } @@ -306,7 +306,7 @@ Ifc4x3_tc1::IfcAlignmentCantSegmentTypeEnum::Value Ifc4x3_tc1::IfcAlignmentCantS } Ifc4x3_tc1::IfcAlignmentCantSegmentTypeEnum::operator Ifc4x3_tc1::IfcAlignmentCantSegmentTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcAlignmentCantSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcAlignmentCantSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcAlignmentHorizontalSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[35]); } @@ -333,7 +333,7 @@ Ifc4x3_tc1::IfcAlignmentHorizontalSegmentTypeEnum::Value Ifc4x3_tc1::IfcAlignmen } Ifc4x3_tc1::IfcAlignmentHorizontalSegmentTypeEnum::operator Ifc4x3_tc1::IfcAlignmentHorizontalSegmentTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcAlignmentHorizontalSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcAlignmentHorizontalSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcAlignmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[38]); } @@ -360,7 +360,7 @@ Ifc4x3_tc1::IfcAlignmentTypeEnum::Value Ifc4x3_tc1::IfcAlignmentTypeEnum::FromSt } Ifc4x3_tc1::IfcAlignmentTypeEnum::operator Ifc4x3_tc1::IfcAlignmentTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcAlignmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcAlignmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcAlignmentVerticalSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[41]); } @@ -387,7 +387,7 @@ Ifc4x3_tc1::IfcAlignmentVerticalSegmentTypeEnum::Value Ifc4x3_tc1::IfcAlignmentV } Ifc4x3_tc1::IfcAlignmentVerticalSegmentTypeEnum::operator Ifc4x3_tc1::IfcAlignmentVerticalSegmentTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcAlignmentVerticalSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcAlignmentVerticalSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcAnalysisModelTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[43]); } @@ -414,7 +414,7 @@ Ifc4x3_tc1::IfcAnalysisModelTypeEnum::Value Ifc4x3_tc1::IfcAnalysisModelTypeEnum } Ifc4x3_tc1::IfcAnalysisModelTypeEnum::operator Ifc4x3_tc1::IfcAnalysisModelTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcAnalysisModelTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcAnalysisModelTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcAnalysisTheoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[44]); } @@ -441,7 +441,7 @@ Ifc4x3_tc1::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_tc1::IfcAnalysisTheoryTypeEn } Ifc4x3_tc1::IfcAnalysisTheoryTypeEnum::operator Ifc4x3_tc1::IfcAnalysisTheoryTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcAnalysisTheoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcAnalysisTheoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcAnnotationTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[48]); } @@ -468,7 +468,7 @@ Ifc4x3_tc1::IfcAnnotationTypeEnum::Value Ifc4x3_tc1::IfcAnnotationTypeEnum::From } Ifc4x3_tc1::IfcAnnotationTypeEnum::operator Ifc4x3_tc1::IfcAnnotationTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcAnnotationTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcAnnotationTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcArithmeticOperatorEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[60]); } @@ -495,7 +495,7 @@ Ifc4x3_tc1::IfcArithmeticOperatorEnum::Value Ifc4x3_tc1::IfcArithmeticOperatorEn } Ifc4x3_tc1::IfcArithmeticOperatorEnum::operator Ifc4x3_tc1::IfcArithmeticOperatorEnum::Value() const { - return (Ifc4x3_tc1::IfcArithmeticOperatorEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcArithmeticOperatorEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcAssemblyPlaceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[61]); } @@ -522,7 +522,7 @@ Ifc4x3_tc1::IfcAssemblyPlaceEnum::Value Ifc4x3_tc1::IfcAssemblyPlaceEnum::FromSt } Ifc4x3_tc1::IfcAssemblyPlaceEnum::operator Ifc4x3_tc1::IfcAssemblyPlaceEnum::Value() const { - return (Ifc4x3_tc1::IfcAssemblyPlaceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcAssemblyPlaceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[66]); } @@ -549,7 +549,7 @@ Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3_tc1::IfcAudioVisualApp } Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::operator Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcBSplineCurveForm::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[108]); } @@ -576,7 +576,7 @@ Ifc4x3_tc1::IfcBSplineCurveForm::Value Ifc4x3_tc1::IfcBSplineCurveForm::FromStri } Ifc4x3_tc1::IfcBSplineCurveForm::operator Ifc4x3_tc1::IfcBSplineCurveForm::Value() const { - return (Ifc4x3_tc1::IfcBSplineCurveForm::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcBSplineCurveForm::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcBSplineSurfaceForm::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[111]); } @@ -603,7 +603,7 @@ Ifc4x3_tc1::IfcBSplineSurfaceForm::Value Ifc4x3_tc1::IfcBSplineSurfaceForm::From } Ifc4x3_tc1::IfcBSplineSurfaceForm::operator Ifc4x3_tc1::IfcBSplineSurfaceForm::Value() const { - return (Ifc4x3_tc1::IfcBSplineSurfaceForm::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcBSplineSurfaceForm::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcBeamTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[74]); } @@ -630,7 +630,7 @@ Ifc4x3_tc1::IfcBeamTypeEnum::Value Ifc4x3_tc1::IfcBeamTypeEnum::FromString(const } Ifc4x3_tc1::IfcBeamTypeEnum::operator Ifc4x3_tc1::IfcBeamTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcBeamTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcBeamTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcBearingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[77]); } @@ -657,7 +657,7 @@ Ifc4x3_tc1::IfcBearingTypeEnum::Value Ifc4x3_tc1::IfcBearingTypeEnum::FromString } Ifc4x3_tc1::IfcBearingTypeEnum::operator Ifc4x3_tc1::IfcBearingTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcBearingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcBearingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcBenchmarkEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[78]); } @@ -684,7 +684,7 @@ Ifc4x3_tc1::IfcBenchmarkEnum::Value Ifc4x3_tc1::IfcBenchmarkEnum::FromString(con } Ifc4x3_tc1::IfcBenchmarkEnum::operator Ifc4x3_tc1::IfcBenchmarkEnum::Value() const { - return (Ifc4x3_tc1::IfcBenchmarkEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcBenchmarkEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcBoilerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[85]); } @@ -711,7 +711,7 @@ Ifc4x3_tc1::IfcBoilerTypeEnum::Value Ifc4x3_tc1::IfcBoilerTypeEnum::FromString(c } Ifc4x3_tc1::IfcBoilerTypeEnum::operator Ifc4x3_tc1::IfcBoilerTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcBoilerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcBoilerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcBooleanOperator::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[89]); } @@ -738,7 +738,7 @@ Ifc4x3_tc1::IfcBooleanOperator::Value Ifc4x3_tc1::IfcBooleanOperator::FromString } Ifc4x3_tc1::IfcBooleanOperator::operator Ifc4x3_tc1::IfcBooleanOperator::Value() const { - return (Ifc4x3_tc1::IfcBooleanOperator::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcBooleanOperator::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcBridgePartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[105]); } @@ -765,7 +765,7 @@ Ifc4x3_tc1::IfcBridgePartTypeEnum::Value Ifc4x3_tc1::IfcBridgePartTypeEnum::From } Ifc4x3_tc1::IfcBridgePartTypeEnum::operator Ifc4x3_tc1::IfcBridgePartTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcBridgePartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcBridgePartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcBridgeTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[106]); } @@ -792,7 +792,7 @@ Ifc4x3_tc1::IfcBridgeTypeEnum::Value Ifc4x3_tc1::IfcBridgeTypeEnum::FromString(c } Ifc4x3_tc1::IfcBridgeTypeEnum::operator Ifc4x3_tc1::IfcBridgeTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcBridgeTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcBridgeTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[116]); } @@ -819,7 +819,7 @@ Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Value Ifc4x3_tc1::IfcBuildingElement } Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::operator Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[119]); } @@ -846,7 +846,7 @@ Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Value Ifc4x3_tc1::IfcBuildingElemen } Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::operator Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcBuildingSystemTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[122]); } @@ -873,7 +873,7 @@ Ifc4x3_tc1::IfcBuildingSystemTypeEnum::Value Ifc4x3_tc1::IfcBuildingSystemTypeEn } Ifc4x3_tc1::IfcBuildingSystemTypeEnum::operator Ifc4x3_tc1::IfcBuildingSystemTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcBuildingSystemTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcBuildingSystemTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcBuiltSystemTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[126]); } @@ -900,7 +900,7 @@ Ifc4x3_tc1::IfcBuiltSystemTypeEnum::Value Ifc4x3_tc1::IfcBuiltSystemTypeEnum::Fr } Ifc4x3_tc1::IfcBuiltSystemTypeEnum::operator Ifc4x3_tc1::IfcBuiltSystemTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcBuiltSystemTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcBuiltSystemTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcBurnerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[129]); } @@ -927,7 +927,7 @@ Ifc4x3_tc1::IfcBurnerTypeEnum::Value Ifc4x3_tc1::IfcBurnerTypeEnum::FromString(c } Ifc4x3_tc1::IfcBurnerTypeEnum::operator Ifc4x3_tc1::IfcBurnerTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcBurnerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcBurnerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[132]); } @@ -954,7 +954,7 @@ Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Value Ifc4x3_tc1::IfcCableCarrierFit } Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::operator Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[135]); } @@ -981,7 +981,7 @@ Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3_tc1::IfcCableCarrierSeg } Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::operator Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcCableFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[138]); } @@ -1008,7 +1008,7 @@ Ifc4x3_tc1::IfcCableFittingTypeEnum::Value Ifc4x3_tc1::IfcCableFittingTypeEnum:: } Ifc4x3_tc1::IfcCableFittingTypeEnum::operator Ifc4x3_tc1::IfcCableFittingTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcCableFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcCableFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcCableSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[141]); } @@ -1035,7 +1035,7 @@ Ifc4x3_tc1::IfcCableSegmentTypeEnum::Value Ifc4x3_tc1::IfcCableSegmentTypeEnum:: } Ifc4x3_tc1::IfcCableSegmentTypeEnum::operator Ifc4x3_tc1::IfcCableSegmentTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcCableSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcCableSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[144]); } @@ -1062,7 +1062,7 @@ Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Value Ifc4x3_tc1::IfcCaissonFoundation } Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::operator Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcChangeActionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[156]); } @@ -1089,7 +1089,7 @@ Ifc4x3_tc1::IfcChangeActionEnum::Value Ifc4x3_tc1::IfcChangeActionEnum::FromStri } Ifc4x3_tc1::IfcChangeActionEnum::operator Ifc4x3_tc1::IfcChangeActionEnum::Value() const { - return (Ifc4x3_tc1::IfcChangeActionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcChangeActionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcChillerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[159]); } @@ -1116,7 +1116,7 @@ Ifc4x3_tc1::IfcChillerTypeEnum::Value Ifc4x3_tc1::IfcChillerTypeEnum::FromString } Ifc4x3_tc1::IfcChillerTypeEnum::operator Ifc4x3_tc1::IfcChillerTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcChillerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcChillerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcChimneyTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[162]); } @@ -1143,7 +1143,7 @@ Ifc4x3_tc1::IfcChimneyTypeEnum::Value Ifc4x3_tc1::IfcChimneyTypeEnum::FromString } Ifc4x3_tc1::IfcChimneyTypeEnum::operator Ifc4x3_tc1::IfcChimneyTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcChimneyTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcChimneyTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcCoilTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[176]); } @@ -1170,7 +1170,7 @@ Ifc4x3_tc1::IfcCoilTypeEnum::Value Ifc4x3_tc1::IfcCoilTypeEnum::FromString(const } Ifc4x3_tc1::IfcCoilTypeEnum::operator Ifc4x3_tc1::IfcCoilTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcCoilTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcCoilTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcColumnTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[184]); } @@ -1197,7 +1197,7 @@ Ifc4x3_tc1::IfcColumnTypeEnum::Value Ifc4x3_tc1::IfcColumnTypeEnum::FromString(c } Ifc4x3_tc1::IfcColumnTypeEnum::operator Ifc4x3_tc1::IfcColumnTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcColumnTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcColumnTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[187]); } @@ -1224,7 +1224,7 @@ Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3_tc1::IfcCommunicati } Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::operator Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcComplexPropertyTemplateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[191]); } @@ -1251,7 +1251,7 @@ Ifc4x3_tc1::IfcComplexPropertyTemplateTypeEnum::Value Ifc4x3_tc1::IfcComplexProp } Ifc4x3_tc1::IfcComplexPropertyTemplateTypeEnum::operator Ifc4x3_tc1::IfcComplexPropertyTemplateTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcComplexPropertyTemplateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcComplexPropertyTemplateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcCompressorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[199]); } @@ -1278,7 +1278,7 @@ Ifc4x3_tc1::IfcCompressorTypeEnum::Value Ifc4x3_tc1::IfcCompressorTypeEnum::From } Ifc4x3_tc1::IfcCompressorTypeEnum::operator Ifc4x3_tc1::IfcCompressorTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcCompressorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcCompressorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcCondenserTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[202]); } @@ -1305,7 +1305,7 @@ Ifc4x3_tc1::IfcCondenserTypeEnum::Value Ifc4x3_tc1::IfcCondenserTypeEnum::FromSt } Ifc4x3_tc1::IfcCondenserTypeEnum::operator Ifc4x3_tc1::IfcCondenserTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcCondenserTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcCondenserTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcConnectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[210]); } @@ -1332,7 +1332,7 @@ Ifc4x3_tc1::IfcConnectionTypeEnum::Value Ifc4x3_tc1::IfcConnectionTypeEnum::From } Ifc4x3_tc1::IfcConnectionTypeEnum::operator Ifc4x3_tc1::IfcConnectionTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcConnectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcConnectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcConstraintEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[213]); } @@ -1359,7 +1359,7 @@ Ifc4x3_tc1::IfcConstraintEnum::Value Ifc4x3_tc1::IfcConstraintEnum::FromString(c } Ifc4x3_tc1::IfcConstraintEnum::operator Ifc4x3_tc1::IfcConstraintEnum::Value() const { - return (Ifc4x3_tc1::IfcConstraintEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcConstraintEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[216]); } @@ -1386,7 +1386,7 @@ Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3_tc1::IfcConst } Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::operator Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[219]); } @@ -1413,7 +1413,7 @@ Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3_tc1::IfcConstr } Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::operator Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[222]); } @@ -1440,7 +1440,7 @@ Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Value Ifc4x3_tc1::IfcConstru } Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::operator Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcControllerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[231]); } @@ -1467,7 +1467,7 @@ Ifc4x3_tc1::IfcControllerTypeEnum::Value Ifc4x3_tc1::IfcControllerTypeEnum::From } Ifc4x3_tc1::IfcControllerTypeEnum::operator Ifc4x3_tc1::IfcControllerTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcControllerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcControllerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[236]); } @@ -1494,7 +1494,7 @@ Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Value Ifc4x3_tc1::IfcConveyorSegmentType } Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::operator Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcCooledBeamTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[239]); } @@ -1521,7 +1521,7 @@ Ifc4x3_tc1::IfcCooledBeamTypeEnum::Value Ifc4x3_tc1::IfcCooledBeamTypeEnum::From } Ifc4x3_tc1::IfcCooledBeamTypeEnum::operator Ifc4x3_tc1::IfcCooledBeamTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcCooledBeamTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcCooledBeamTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcCoolingTowerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[242]); } @@ -1548,7 +1548,7 @@ Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Value Ifc4x3_tc1::IfcCoolingTowerTypeEnum:: } Ifc4x3_tc1::IfcCoolingTowerTypeEnum::operator Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcCostItemTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[248]); } @@ -1575,7 +1575,7 @@ Ifc4x3_tc1::IfcCostItemTypeEnum::Value Ifc4x3_tc1::IfcCostItemTypeEnum::FromStri } Ifc4x3_tc1::IfcCostItemTypeEnum::operator Ifc4x3_tc1::IfcCostItemTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcCostItemTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcCostItemTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcCostScheduleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[250]); } @@ -1602,7 +1602,7 @@ Ifc4x3_tc1::IfcCostScheduleTypeEnum::Value Ifc4x3_tc1::IfcCostScheduleTypeEnum:: } Ifc4x3_tc1::IfcCostScheduleTypeEnum::operator Ifc4x3_tc1::IfcCostScheduleTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcCostScheduleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcCostScheduleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcCourseTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[255]); } @@ -1629,7 +1629,7 @@ Ifc4x3_tc1::IfcCourseTypeEnum::Value Ifc4x3_tc1::IfcCourseTypeEnum::FromString(c } Ifc4x3_tc1::IfcCourseTypeEnum::operator Ifc4x3_tc1::IfcCourseTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcCourseTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcCourseTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcCoveringTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[258]); } @@ -1656,7 +1656,7 @@ Ifc4x3_tc1::IfcCoveringTypeEnum::Value Ifc4x3_tc1::IfcCoveringTypeEnum::FromStri } Ifc4x3_tc1::IfcCoveringTypeEnum::operator Ifc4x3_tc1::IfcCoveringTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcCoveringTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcCoveringTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcCrewResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[261]); } @@ -1683,7 +1683,7 @@ Ifc4x3_tc1::IfcCrewResourceTypeEnum::Value Ifc4x3_tc1::IfcCrewResourceTypeEnum:: } Ifc4x3_tc1::IfcCrewResourceTypeEnum::operator Ifc4x3_tc1::IfcCrewResourceTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcCrewResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcCrewResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcCurtainWallTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[269]); } @@ -1710,7 +1710,7 @@ Ifc4x3_tc1::IfcCurtainWallTypeEnum::Value Ifc4x3_tc1::IfcCurtainWallTypeEnum::Fr } Ifc4x3_tc1::IfcCurtainWallTypeEnum::operator Ifc4x3_tc1::IfcCurtainWallTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcCurtainWallTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcCurtainWallTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcCurveInterpolationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[275]); } @@ -1737,7 +1737,7 @@ Ifc4x3_tc1::IfcCurveInterpolationEnum::Value Ifc4x3_tc1::IfcCurveInterpolationEn } Ifc4x3_tc1::IfcCurveInterpolationEnum::operator Ifc4x3_tc1::IfcCurveInterpolationEnum::Value() const { - return (Ifc4x3_tc1::IfcCurveInterpolationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcCurveInterpolationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcDamperTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[288]); } @@ -1764,7 +1764,7 @@ Ifc4x3_tc1::IfcDamperTypeEnum::Value Ifc4x3_tc1::IfcDamperTypeEnum::FromString(c } Ifc4x3_tc1::IfcDamperTypeEnum::operator Ifc4x3_tc1::IfcDamperTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcDamperTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcDamperTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcDataOriginEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[289]); } @@ -1791,7 +1791,7 @@ Ifc4x3_tc1::IfcDataOriginEnum::Value Ifc4x3_tc1::IfcDataOriginEnum::FromString(c } Ifc4x3_tc1::IfcDataOriginEnum::operator Ifc4x3_tc1::IfcDataOriginEnum::Value() const { - return (Ifc4x3_tc1::IfcDataOriginEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcDataOriginEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcDerivedUnitEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[301]); } @@ -1818,7 +1818,7 @@ Ifc4x3_tc1::IfcDerivedUnitEnum::Value Ifc4x3_tc1::IfcDerivedUnitEnum::FromString } Ifc4x3_tc1::IfcDerivedUnitEnum::operator Ifc4x3_tc1::IfcDerivedUnitEnum::Value() const { - return (Ifc4x3_tc1::IfcDerivedUnitEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcDerivedUnitEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcDirectionSenseEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[306]); } @@ -1845,7 +1845,7 @@ Ifc4x3_tc1::IfcDirectionSenseEnum::Value Ifc4x3_tc1::IfcDirectionSenseEnum::From } Ifc4x3_tc1::IfcDirectionSenseEnum::operator Ifc4x3_tc1::IfcDirectionSenseEnum::Value() const { - return (Ifc4x3_tc1::IfcDirectionSenseEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcDirectionSenseEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[311]); } @@ -1872,7 +1872,7 @@ Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3_tc1::IfcDiscreteAccessory } Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::operator Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcDistributionBoardTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[314]); } @@ -1899,7 +1899,7 @@ Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Value Ifc4x3_tc1::IfcDistributionBoard } Ifc4x3_tc1::IfcDistributionBoardTypeEnum::operator Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[317]); } @@ -1926,7 +1926,7 @@ Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Value Ifc4x3_tc1::IfcDistribu } Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::operator Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcDistributionPortTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[326]); } @@ -1953,7 +1953,7 @@ Ifc4x3_tc1::IfcDistributionPortTypeEnum::Value Ifc4x3_tc1::IfcDistributionPortTy } Ifc4x3_tc1::IfcDistributionPortTypeEnum::operator Ifc4x3_tc1::IfcDistributionPortTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcDistributionPortTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcDistributionPortTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcDistributionSystemEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[328]); } @@ -1980,7 +1980,7 @@ Ifc4x3_tc1::IfcDistributionSystemEnum::Value Ifc4x3_tc1::IfcDistributionSystemEn } Ifc4x3_tc1::IfcDistributionSystemEnum::operator Ifc4x3_tc1::IfcDistributionSystemEnum::Value() const { - return (Ifc4x3_tc1::IfcDistributionSystemEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcDistributionSystemEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcDocumentConfidentialityEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[329]); } @@ -2007,7 +2007,7 @@ Ifc4x3_tc1::IfcDocumentConfidentialityEnum::Value Ifc4x3_tc1::IfcDocumentConfide } Ifc4x3_tc1::IfcDocumentConfidentialityEnum::operator Ifc4x3_tc1::IfcDocumentConfidentialityEnum::Value() const { - return (Ifc4x3_tc1::IfcDocumentConfidentialityEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcDocumentConfidentialityEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcDocumentStatusEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[334]); } @@ -2034,7 +2034,7 @@ Ifc4x3_tc1::IfcDocumentStatusEnum::Value Ifc4x3_tc1::IfcDocumentStatusEnum::From } Ifc4x3_tc1::IfcDocumentStatusEnum::operator Ifc4x3_tc1::IfcDocumentStatusEnum::Value() const { - return (Ifc4x3_tc1::IfcDocumentStatusEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcDocumentStatusEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcDoorPanelOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[337]); } @@ -2061,7 +2061,7 @@ Ifc4x3_tc1::IfcDoorPanelOperationEnum::Value Ifc4x3_tc1::IfcDoorPanelOperationEn } Ifc4x3_tc1::IfcDoorPanelOperationEnum::operator Ifc4x3_tc1::IfcDoorPanelOperationEnum::Value() const { - return (Ifc4x3_tc1::IfcDoorPanelOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcDoorPanelOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcDoorPanelPositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[338]); } @@ -2088,7 +2088,7 @@ Ifc4x3_tc1::IfcDoorPanelPositionEnum::Value Ifc4x3_tc1::IfcDoorPanelPositionEnum } Ifc4x3_tc1::IfcDoorPanelPositionEnum::operator Ifc4x3_tc1::IfcDoorPanelPositionEnum::Value() const { - return (Ifc4x3_tc1::IfcDoorPanelPositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcDoorPanelPositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcDoorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[341]); } @@ -2115,7 +2115,7 @@ Ifc4x3_tc1::IfcDoorTypeEnum::Value Ifc4x3_tc1::IfcDoorTypeEnum::FromString(const } Ifc4x3_tc1::IfcDoorTypeEnum::operator Ifc4x3_tc1::IfcDoorTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcDoorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcDoorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcDoorTypeOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[342]); } @@ -2142,7 +2142,7 @@ Ifc4x3_tc1::IfcDoorTypeOperationEnum::Value Ifc4x3_tc1::IfcDoorTypeOperationEnum } Ifc4x3_tc1::IfcDoorTypeOperationEnum::operator Ifc4x3_tc1::IfcDoorTypeOperationEnum::Value() const { - return (Ifc4x3_tc1::IfcDoorTypeOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcDoorTypeOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcDuctFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[348]); } @@ -2169,7 +2169,7 @@ Ifc4x3_tc1::IfcDuctFittingTypeEnum::Value Ifc4x3_tc1::IfcDuctFittingTypeEnum::Fr } Ifc4x3_tc1::IfcDuctFittingTypeEnum::operator Ifc4x3_tc1::IfcDuctFittingTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcDuctFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcDuctFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcDuctSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[351]); } @@ -2196,7 +2196,7 @@ Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Value Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Fr } Ifc4x3_tc1::IfcDuctSegmentTypeEnum::operator Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcDuctSilencerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[354]); } @@ -2223,7 +2223,7 @@ Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Value Ifc4x3_tc1::IfcDuctSilencerTypeEnum:: } Ifc4x3_tc1::IfcDuctSilencerTypeEnum::operator Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcEarthworksCutTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[358]); } @@ -2250,7 +2250,7 @@ Ifc4x3_tc1::IfcEarthworksCutTypeEnum::Value Ifc4x3_tc1::IfcEarthworksCutTypeEnum } Ifc4x3_tc1::IfcEarthworksCutTypeEnum::operator Ifc4x3_tc1::IfcEarthworksCutTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcEarthworksCutTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcEarthworksCutTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcEarthworksFillTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[361]); } @@ -2277,7 +2277,7 @@ Ifc4x3_tc1::IfcEarthworksFillTypeEnum::Value Ifc4x3_tc1::IfcEarthworksFillTypeEn } Ifc4x3_tc1::IfcEarthworksFillTypeEnum::operator Ifc4x3_tc1::IfcEarthworksFillTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcEarthworksFillTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcEarthworksFillTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcElectricApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[367]); } @@ -2304,7 +2304,7 @@ Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Value Ifc4x3_tc1::IfcElectricAppliance } Ifc4x3_tc1::IfcElectricApplianceTypeEnum::operator Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[374]); } @@ -2331,7 +2331,7 @@ Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3_tc1::IfcElectricD } Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::operator Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[377]); } @@ -2358,7 +2358,7 @@ Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3_tc1::IfcElectricF } Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::operator Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[380]); } @@ -2385,7 +2385,7 @@ Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3_tc1::IfcElectri } Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::operator Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[383]); } @@ -2412,7 +2412,7 @@ Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Value Ifc4x3_tc1::IfcElectricGenerator } Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::operator Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcElectricMotorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[386]); } @@ -2439,7 +2439,7 @@ Ifc4x3_tc1::IfcElectricMotorTypeEnum::Value Ifc4x3_tc1::IfcElectricMotorTypeEnum } Ifc4x3_tc1::IfcElectricMotorTypeEnum::operator Ifc4x3_tc1::IfcElectricMotorTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcElectricMotorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcElectricMotorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[390]); } @@ -2466,7 +2466,7 @@ Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Value Ifc4x3_tc1::IfcElectricTimeCon } Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::operator Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcElementAssemblyTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[396]); } @@ -2493,7 +2493,7 @@ Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Value Ifc4x3_tc1::IfcElementAssemblyType } Ifc4x3_tc1::IfcElementAssemblyTypeEnum::operator Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcElementCompositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[399]); } @@ -2520,7 +2520,7 @@ Ifc4x3_tc1::IfcElementCompositionEnum::Value Ifc4x3_tc1::IfcElementCompositionEn } Ifc4x3_tc1::IfcElementCompositionEnum::operator Ifc4x3_tc1::IfcElementCompositionEnum::Value() const { - return (Ifc4x3_tc1::IfcElementCompositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcElementCompositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcEngineTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[409]); } @@ -2547,7 +2547,7 @@ Ifc4x3_tc1::IfcEngineTypeEnum::Value Ifc4x3_tc1::IfcEngineTypeEnum::FromString(c } Ifc4x3_tc1::IfcEngineTypeEnum::operator Ifc4x3_tc1::IfcEngineTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcEngineTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcEngineTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[412]); } @@ -2574,7 +2574,7 @@ Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3_tc1::IfcEvaporativeCooler } Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::operator Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcEvaporatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[415]); } @@ -2601,7 +2601,7 @@ Ifc4x3_tc1::IfcEvaporatorTypeEnum::Value Ifc4x3_tc1::IfcEvaporatorTypeEnum::From } Ifc4x3_tc1::IfcEvaporatorTypeEnum::operator Ifc4x3_tc1::IfcEvaporatorTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcEvaporatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcEvaporatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcEventTriggerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[418]); } @@ -2628,7 +2628,7 @@ Ifc4x3_tc1::IfcEventTriggerTypeEnum::Value Ifc4x3_tc1::IfcEventTriggerTypeEnum:: } Ifc4x3_tc1::IfcEventTriggerTypeEnum::operator Ifc4x3_tc1::IfcEventTriggerTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcEventTriggerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcEventTriggerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcEventTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[420]); } @@ -2655,7 +2655,7 @@ Ifc4x3_tc1::IfcEventTypeEnum::Value Ifc4x3_tc1::IfcEventTypeEnum::FromString(con } Ifc4x3_tc1::IfcEventTypeEnum::operator Ifc4x3_tc1::IfcEventTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcEventTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcEventTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcExternalSpatialElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[429]); } @@ -2682,7 +2682,7 @@ Ifc4x3_tc1::IfcExternalSpatialElementTypeEnum::Value Ifc4x3_tc1::IfcExternalSpat } Ifc4x3_tc1::IfcExternalSpatialElementTypeEnum::operator Ifc4x3_tc1::IfcExternalSpatialElementTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcExternalSpatialElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcExternalSpatialElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcFacilityPartCommonTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[443]); } @@ -2709,7 +2709,7 @@ Ifc4x3_tc1::IfcFacilityPartCommonTypeEnum::Value Ifc4x3_tc1::IfcFacilityPartComm } Ifc4x3_tc1::IfcFacilityPartCommonTypeEnum::operator Ifc4x3_tc1::IfcFacilityPartCommonTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcFacilityPartCommonTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcFacilityPartCommonTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcFacilityUsageEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[444]); } @@ -2736,7 +2736,7 @@ Ifc4x3_tc1::IfcFacilityUsageEnum::Value Ifc4x3_tc1::IfcFacilityUsageEnum::FromSt } Ifc4x3_tc1::IfcFacilityUsageEnum::operator Ifc4x3_tc1::IfcFacilityUsageEnum::Value() const { - return (Ifc4x3_tc1::IfcFacilityUsageEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcFacilityUsageEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcFanTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[448]); } @@ -2763,7 +2763,7 @@ Ifc4x3_tc1::IfcFanTypeEnum::Value Ifc4x3_tc1::IfcFanTypeEnum::FromString(const s } Ifc4x3_tc1::IfcFanTypeEnum::operator Ifc4x3_tc1::IfcFanTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcFanTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcFanTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcFastenerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[451]); } @@ -2790,7 +2790,7 @@ Ifc4x3_tc1::IfcFastenerTypeEnum::Value Ifc4x3_tc1::IfcFastenerTypeEnum::FromStri } Ifc4x3_tc1::IfcFastenerTypeEnum::operator Ifc4x3_tc1::IfcFastenerTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcFastenerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcFastenerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcFilterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[461]); } @@ -2817,7 +2817,7 @@ Ifc4x3_tc1::IfcFilterTypeEnum::Value Ifc4x3_tc1::IfcFilterTypeEnum::FromString(c } Ifc4x3_tc1::IfcFilterTypeEnum::operator Ifc4x3_tc1::IfcFilterTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcFilterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcFilterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[464]); } @@ -2844,7 +2844,7 @@ Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3_tc1::IfcFireSuppres } Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::operator Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcFlowDirectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[468]); } @@ -2871,7 +2871,7 @@ Ifc4x3_tc1::IfcFlowDirectionEnum::Value Ifc4x3_tc1::IfcFlowDirectionEnum::FromSt } Ifc4x3_tc1::IfcFlowDirectionEnum::operator Ifc4x3_tc1::IfcFlowDirectionEnum::Value() const { - return (Ifc4x3_tc1::IfcFlowDirectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcFlowDirectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[473]); } @@ -2898,7 +2898,7 @@ Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Value Ifc4x3_tc1::IfcFlowInstrumentTypeEn } Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::operator Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcFlowMeterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[476]); } @@ -2925,7 +2925,7 @@ Ifc4x3_tc1::IfcFlowMeterTypeEnum::Value Ifc4x3_tc1::IfcFlowMeterTypeEnum::FromSt } Ifc4x3_tc1::IfcFlowMeterTypeEnum::operator Ifc4x3_tc1::IfcFlowMeterTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcFlowMeterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcFlowMeterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcFootingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[492]); } @@ -2952,7 +2952,7 @@ Ifc4x3_tc1::IfcFootingTypeEnum::Value Ifc4x3_tc1::IfcFootingTypeEnum::FromString } Ifc4x3_tc1::IfcFootingTypeEnum::operator Ifc4x3_tc1::IfcFootingTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcFootingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcFootingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcFurnitureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[499]); } @@ -2979,7 +2979,7 @@ Ifc4x3_tc1::IfcFurnitureTypeEnum::Value Ifc4x3_tc1::IfcFurnitureTypeEnum::FromSt } Ifc4x3_tc1::IfcFurnitureTypeEnum::operator Ifc4x3_tc1::IfcFurnitureTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcFurnitureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcFurnitureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcGeographicElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[502]); } @@ -3006,7 +3006,7 @@ Ifc4x3_tc1::IfcGeographicElementTypeEnum::Value Ifc4x3_tc1::IfcGeographicElement } Ifc4x3_tc1::IfcGeographicElementTypeEnum::operator Ifc4x3_tc1::IfcGeographicElementTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcGeographicElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcGeographicElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcGeometricProjectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[504]); } @@ -3033,7 +3033,7 @@ Ifc4x3_tc1::IfcGeometricProjectionEnum::Value Ifc4x3_tc1::IfcGeometricProjection } Ifc4x3_tc1::IfcGeometricProjectionEnum::operator Ifc4x3_tc1::IfcGeometricProjectionEnum::Value() const { - return (Ifc4x3_tc1::IfcGeometricProjectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcGeometricProjectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcGeotechnicalStratumTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[515]); } @@ -3060,7 +3060,7 @@ Ifc4x3_tc1::IfcGeotechnicalStratumTypeEnum::Value Ifc4x3_tc1::IfcGeotechnicalStr } Ifc4x3_tc1::IfcGeotechnicalStratumTypeEnum::operator Ifc4x3_tc1::IfcGeotechnicalStratumTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcGeotechnicalStratumTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcGeotechnicalStratumTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcGlobalOrLocalEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[517]); } @@ -3087,7 +3087,7 @@ Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value Ifc4x3_tc1::IfcGlobalOrLocalEnum::FromSt } Ifc4x3_tc1::IfcGlobalOrLocalEnum::operator Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value() const { - return (Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcGridTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[523]); } @@ -3114,7 +3114,7 @@ Ifc4x3_tc1::IfcGridTypeEnum::Value Ifc4x3_tc1::IfcGridTypeEnum::FromString(const } Ifc4x3_tc1::IfcGridTypeEnum::operator Ifc4x3_tc1::IfcGridTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcGridTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcGridTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcHeatExchangerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[529]); } @@ -3141,7 +3141,7 @@ Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Value Ifc4x3_tc1::IfcHeatExchangerTypeEnum } Ifc4x3_tc1::IfcHeatExchangerTypeEnum::operator Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcHumidifierTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[534]); } @@ -3168,7 +3168,7 @@ Ifc4x3_tc1::IfcHumidifierTypeEnum::Value Ifc4x3_tc1::IfcHumidifierTypeEnum::From } Ifc4x3_tc1::IfcHumidifierTypeEnum::operator Ifc4x3_tc1::IfcHumidifierTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcHumidifierTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcHumidifierTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[540]); } @@ -3195,7 +3195,7 @@ Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Value Ifc4x3_tc1::IfcImpactProtec } Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::operator Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcInterceptorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[553]); } @@ -3222,7 +3222,7 @@ Ifc4x3_tc1::IfcInterceptorTypeEnum::Value Ifc4x3_tc1::IfcInterceptorTypeEnum::Fr } Ifc4x3_tc1::IfcInterceptorTypeEnum::operator Ifc4x3_tc1::IfcInterceptorTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcInterceptorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcInterceptorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcInternalOrExternalEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[555]); } @@ -3249,7 +3249,7 @@ Ifc4x3_tc1::IfcInternalOrExternalEnum::Value Ifc4x3_tc1::IfcInternalOrExternalEn } Ifc4x3_tc1::IfcInternalOrExternalEnum::operator Ifc4x3_tc1::IfcInternalOrExternalEnum::Value() const { - return (Ifc4x3_tc1::IfcInternalOrExternalEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcInternalOrExternalEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcInventoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[558]); } @@ -3276,7 +3276,7 @@ Ifc4x3_tc1::IfcInventoryTypeEnum::Value Ifc4x3_tc1::IfcInventoryTypeEnum::FromSt } Ifc4x3_tc1::IfcInventoryTypeEnum::operator Ifc4x3_tc1::IfcInventoryTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcInventoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcInventoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcJunctionBoxTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[566]); } @@ -3303,7 +3303,7 @@ Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Value Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Fr } Ifc4x3_tc1::IfcJunctionBoxTypeEnum::operator Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcKerbTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[569]); } @@ -3330,7 +3330,7 @@ Ifc4x3_tc1::IfcKerbTypeEnum::Value Ifc4x3_tc1::IfcKerbTypeEnum::FromString(const } Ifc4x3_tc1::IfcKerbTypeEnum::operator Ifc4x3_tc1::IfcKerbTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcKerbTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcKerbTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcKnotType::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[571]); } @@ -3357,7 +3357,7 @@ Ifc4x3_tc1::IfcKnotType::Value Ifc4x3_tc1::IfcKnotType::FromString(const std::st } Ifc4x3_tc1::IfcKnotType::operator Ifc4x3_tc1::IfcKnotType::Value() const { - return (Ifc4x3_tc1::IfcKnotType::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcKnotType::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcLaborResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[575]); } @@ -3384,7 +3384,7 @@ Ifc4x3_tc1::IfcLaborResourceTypeEnum::Value Ifc4x3_tc1::IfcLaborResourceTypeEnum } Ifc4x3_tc1::IfcLaborResourceTypeEnum::operator Ifc4x3_tc1::IfcLaborResourceTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcLaborResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcLaborResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcLampTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[579]); } @@ -3411,7 +3411,7 @@ Ifc4x3_tc1::IfcLampTypeEnum::Value Ifc4x3_tc1::IfcLampTypeEnum::FromString(const } Ifc4x3_tc1::IfcLampTypeEnum::operator Ifc4x3_tc1::IfcLampTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcLampTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcLampTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcLayerSetDirectionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[582]); } @@ -3438,7 +3438,7 @@ Ifc4x3_tc1::IfcLayerSetDirectionEnum::Value Ifc4x3_tc1::IfcLayerSetDirectionEnum } Ifc4x3_tc1::IfcLayerSetDirectionEnum::operator Ifc4x3_tc1::IfcLayerSetDirectionEnum::Value() const { - return (Ifc4x3_tc1::IfcLayerSetDirectionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcLayerSetDirectionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcLightDistributionCurveEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[587]); } @@ -3465,7 +3465,7 @@ Ifc4x3_tc1::IfcLightDistributionCurveEnum::Value Ifc4x3_tc1::IfcLightDistributio } Ifc4x3_tc1::IfcLightDistributionCurveEnum::operator Ifc4x3_tc1::IfcLightDistributionCurveEnum::Value() const { - return (Ifc4x3_tc1::IfcLightDistributionCurveEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcLightDistributionCurveEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcLightEmissionSourceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[590]); } @@ -3492,7 +3492,7 @@ Ifc4x3_tc1::IfcLightEmissionSourceEnum::Value Ifc4x3_tc1::IfcLightEmissionSource } Ifc4x3_tc1::IfcLightEmissionSourceEnum::operator Ifc4x3_tc1::IfcLightEmissionSourceEnum::Value() const { - return (Ifc4x3_tc1::IfcLightEmissionSourceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcLightEmissionSourceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcLightFixtureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[593]); } @@ -3519,7 +3519,7 @@ Ifc4x3_tc1::IfcLightFixtureTypeEnum::Value Ifc4x3_tc1::IfcLightFixtureTypeEnum:: } Ifc4x3_tc1::IfcLightFixtureTypeEnum::operator Ifc4x3_tc1::IfcLightFixtureTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcLightFixtureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcLightFixtureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[612]); } @@ -3546,7 +3546,7 @@ Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Value Ifc4x3_tc1::IfcLiquidTerminalTypeEn } Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::operator Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcLoadGroupTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[613]); } @@ -3573,7 +3573,7 @@ Ifc4x3_tc1::IfcLoadGroupTypeEnum::Value Ifc4x3_tc1::IfcLoadGroupTypeEnum::FromSt } Ifc4x3_tc1::IfcLoadGroupTypeEnum::operator Ifc4x3_tc1::IfcLoadGroupTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcLoadGroupTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcLoadGroupTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcLogicalOperatorEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[616]); } @@ -3600,7 +3600,7 @@ Ifc4x3_tc1::IfcLogicalOperatorEnum::Value Ifc4x3_tc1::IfcLogicalOperatorEnum::Fr } Ifc4x3_tc1::IfcLogicalOperatorEnum::operator Ifc4x3_tc1::IfcLogicalOperatorEnum::Value() const { - return (Ifc4x3_tc1::IfcLogicalOperatorEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcLogicalOperatorEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcMarineFacilityTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[628]); } @@ -3627,7 +3627,7 @@ Ifc4x3_tc1::IfcMarineFacilityTypeEnum::Value Ifc4x3_tc1::IfcMarineFacilityTypeEn } Ifc4x3_tc1::IfcMarineFacilityTypeEnum::operator Ifc4x3_tc1::IfcMarineFacilityTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcMarineFacilityTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcMarineFacilityTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcMarinePartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[630]); } @@ -3654,7 +3654,7 @@ Ifc4x3_tc1::IfcMarinePartTypeEnum::Value Ifc4x3_tc1::IfcMarinePartTypeEnum::From } Ifc4x3_tc1::IfcMarinePartTypeEnum::operator Ifc4x3_tc1::IfcMarinePartTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcMarinePartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcMarinePartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[659]); } @@ -3681,7 +3681,7 @@ Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_tc1::IfcMechanicalFasten } Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::operator Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[662]); } @@ -3708,7 +3708,7 @@ Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Value Ifc4x3_tc1::IfcMedicalDeviceTypeEnum } Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::operator Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcMemberTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[665]); } @@ -3735,7 +3735,7 @@ Ifc4x3_tc1::IfcMemberTypeEnum::Value Ifc4x3_tc1::IfcMemberTypeEnum::FromString(c } Ifc4x3_tc1::IfcMemberTypeEnum::operator Ifc4x3_tc1::IfcMemberTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcMemberTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcMemberTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[671]); } @@ -3762,7 +3762,7 @@ Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3_tc1::IfcM } Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::operator Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcMooringDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[687]); } @@ -3789,7 +3789,7 @@ Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Value Ifc4x3_tc1::IfcMooringDeviceTypeEnum } Ifc4x3_tc1::IfcMooringDeviceTypeEnum::operator Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcMotorConnectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[690]); } @@ -3816,7 +3816,7 @@ Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Value Ifc4x3_tc1::IfcMotorConnectionType } Ifc4x3_tc1::IfcMotorConnectionTypeEnum::operator Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcNavigationElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[694]); } @@ -3843,7 +3843,7 @@ Ifc4x3_tc1::IfcNavigationElementTypeEnum::Value Ifc4x3_tc1::IfcNavigationElement } Ifc4x3_tc1::IfcNavigationElementTypeEnum::operator Ifc4x3_tc1::IfcNavigationElementTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcNavigationElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcNavigationElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcObjectiveEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[701]); } @@ -3870,7 +3870,7 @@ Ifc4x3_tc1::IfcObjectiveEnum::Value Ifc4x3_tc1::IfcObjectiveEnum::FromString(con } Ifc4x3_tc1::IfcObjectiveEnum::operator Ifc4x3_tc1::IfcObjectiveEnum::Value() const { - return (Ifc4x3_tc1::IfcObjectiveEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcObjectiveEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcOccupantTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[705]); } @@ -3897,7 +3897,7 @@ Ifc4x3_tc1::IfcOccupantTypeEnum::Value Ifc4x3_tc1::IfcOccupantTypeEnum::FromStri } Ifc4x3_tc1::IfcOccupantTypeEnum::operator Ifc4x3_tc1::IfcOccupantTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcOccupantTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcOccupantTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcOpeningElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[712]); } @@ -3924,7 +3924,7 @@ Ifc4x3_tc1::IfcOpeningElementTypeEnum::Value Ifc4x3_tc1::IfcOpeningElementTypeEn } Ifc4x3_tc1::IfcOpeningElementTypeEnum::operator Ifc4x3_tc1::IfcOpeningElementTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcOpeningElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcOpeningElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcOutletTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[720]); } @@ -3951,7 +3951,7 @@ Ifc4x3_tc1::IfcOutletTypeEnum::Value Ifc4x3_tc1::IfcOutletTypeEnum::FromString(c } Ifc4x3_tc1::IfcOutletTypeEnum::operator Ifc4x3_tc1::IfcOutletTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcOutletTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcOutletTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcPavementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[727]); } @@ -3978,7 +3978,7 @@ Ifc4x3_tc1::IfcPavementTypeEnum::Value Ifc4x3_tc1::IfcPavementTypeEnum::FromStri } Ifc4x3_tc1::IfcPavementTypeEnum::operator Ifc4x3_tc1::IfcPavementTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcPavementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcPavementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcPerformanceHistoryTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[730]); } @@ -4005,7 +4005,7 @@ Ifc4x3_tc1::IfcPerformanceHistoryTypeEnum::Value Ifc4x3_tc1::IfcPerformanceHisto } Ifc4x3_tc1::IfcPerformanceHistoryTypeEnum::operator Ifc4x3_tc1::IfcPerformanceHistoryTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcPerformanceHistoryTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcPerformanceHistoryTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcPermeableCoveringOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[731]); } @@ -4032,7 +4032,7 @@ Ifc4x3_tc1::IfcPermeableCoveringOperationEnum::Value Ifc4x3_tc1::IfcPermeableCov } Ifc4x3_tc1::IfcPermeableCoveringOperationEnum::operator Ifc4x3_tc1::IfcPermeableCoveringOperationEnum::Value() const { - return (Ifc4x3_tc1::IfcPermeableCoveringOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcPermeableCoveringOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcPermitTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[734]); } @@ -4059,7 +4059,7 @@ Ifc4x3_tc1::IfcPermitTypeEnum::Value Ifc4x3_tc1::IfcPermitTypeEnum::FromString(c } Ifc4x3_tc1::IfcPermitTypeEnum::operator Ifc4x3_tc1::IfcPermitTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcPermitTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcPermitTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[739]); } @@ -4086,7 +4086,7 @@ Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Value Ifc4x3_tc1::IfcPhysicalOrVirtualEnum } Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::operator Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Value() const { - return (Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcPileConstructionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[743]); } @@ -4113,7 +4113,7 @@ Ifc4x3_tc1::IfcPileConstructionEnum::Value Ifc4x3_tc1::IfcPileConstructionEnum:: } Ifc4x3_tc1::IfcPileConstructionEnum::operator Ifc4x3_tc1::IfcPileConstructionEnum::Value() const { - return (Ifc4x3_tc1::IfcPileConstructionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcPileConstructionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcPileTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[745]); } @@ -4140,7 +4140,7 @@ Ifc4x3_tc1::IfcPileTypeEnum::Value Ifc4x3_tc1::IfcPileTypeEnum::FromString(const } Ifc4x3_tc1::IfcPileTypeEnum::operator Ifc4x3_tc1::IfcPileTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcPileTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcPileTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcPipeFittingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[748]); } @@ -4167,7 +4167,7 @@ Ifc4x3_tc1::IfcPipeFittingTypeEnum::Value Ifc4x3_tc1::IfcPipeFittingTypeEnum::Fr } Ifc4x3_tc1::IfcPipeFittingTypeEnum::operator Ifc4x3_tc1::IfcPipeFittingTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcPipeFittingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcPipeFittingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcPipeSegmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[751]); } @@ -4194,7 +4194,7 @@ Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Value Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Fr } Ifc4x3_tc1::IfcPipeSegmentTypeEnum::operator Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcPlateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[761]); } @@ -4221,7 +4221,7 @@ Ifc4x3_tc1::IfcPlateTypeEnum::Value Ifc4x3_tc1::IfcPlateTypeEnum::FromString(con } Ifc4x3_tc1::IfcPlateTypeEnum::operator Ifc4x3_tc1::IfcPlateTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcPlateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcPlateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[786]); } @@ -4248,7 +4248,7 @@ Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x3_tc1::IfcPreferr } Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::operator Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Value() const { - return (Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcProcedureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[795]); } @@ -4275,7 +4275,7 @@ Ifc4x3_tc1::IfcProcedureTypeEnum::Value Ifc4x3_tc1::IfcProcedureTypeEnum::FromSt } Ifc4x3_tc1::IfcProcedureTypeEnum::operator Ifc4x3_tc1::IfcProcedureTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcProcedureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcProcedureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcProfileTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[805]); } @@ -4302,7 +4302,7 @@ Ifc4x3_tc1::IfcProfileTypeEnum::Value Ifc4x3_tc1::IfcProfileTypeEnum::FromString } Ifc4x3_tc1::IfcProfileTypeEnum::operator Ifc4x3_tc1::IfcProfileTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcProfileTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcProfileTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcProjectOrderTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[813]); } @@ -4329,7 +4329,7 @@ Ifc4x3_tc1::IfcProjectOrderTypeEnum::Value Ifc4x3_tc1::IfcProjectOrderTypeEnum:: } Ifc4x3_tc1::IfcProjectOrderTypeEnum::operator Ifc4x3_tc1::IfcProjectOrderTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcProjectOrderTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcProjectOrderTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[808]); } @@ -4356,7 +4356,7 @@ Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value Ifc4x3_tc1::IfcProjectedOrTrueLe } Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::operator Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value() const { - return (Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcProjectionElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[810]); } @@ -4383,7 +4383,7 @@ Ifc4x3_tc1::IfcProjectionElementTypeEnum::Value Ifc4x3_tc1::IfcProjectionElement } Ifc4x3_tc1::IfcProjectionElementTypeEnum::operator Ifc4x3_tc1::IfcProjectionElementTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcProjectionElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcProjectionElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcPropertySetTemplateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[828]); } @@ -4410,7 +4410,7 @@ Ifc4x3_tc1::IfcPropertySetTemplateTypeEnum::Value Ifc4x3_tc1::IfcPropertySetTemp } Ifc4x3_tc1::IfcPropertySetTemplateTypeEnum::operator Ifc4x3_tc1::IfcPropertySetTemplateTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcPropertySetTemplateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcPropertySetTemplateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[836]); } @@ -4437,7 +4437,7 @@ Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3_tc1::IfcProtec } Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::operator Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[838]); } @@ -4464,7 +4464,7 @@ Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Value Ifc4x3_tc1::IfcProtectiveDeviceTy } Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::operator Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcPumpTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[841]); } @@ -4491,7 +4491,7 @@ Ifc4x3_tc1::IfcPumpTypeEnum::Value Ifc4x3_tc1::IfcPumpTypeEnum::FromString(const } Ifc4x3_tc1::IfcPumpTypeEnum::operator Ifc4x3_tc1::IfcPumpTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcPumpTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcPumpTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcRailTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[856]); } @@ -4518,7 +4518,7 @@ Ifc4x3_tc1::IfcRailTypeEnum::Value Ifc4x3_tc1::IfcRailTypeEnum::FromString(const } Ifc4x3_tc1::IfcRailTypeEnum::operator Ifc4x3_tc1::IfcRailTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcRailTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcRailTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcRailingTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[854]); } @@ -4545,7 +4545,7 @@ Ifc4x3_tc1::IfcRailingTypeEnum::Value Ifc4x3_tc1::IfcRailingTypeEnum::FromString } Ifc4x3_tc1::IfcRailingTypeEnum::operator Ifc4x3_tc1::IfcRailingTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcRailingTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcRailingTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcRailwayPartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[859]); } @@ -4572,7 +4572,7 @@ Ifc4x3_tc1::IfcRailwayPartTypeEnum::Value Ifc4x3_tc1::IfcRailwayPartTypeEnum::Fr } Ifc4x3_tc1::IfcRailwayPartTypeEnum::operator Ifc4x3_tc1::IfcRailwayPartTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcRailwayPartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcRailwayPartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcRailwayTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[860]); } @@ -4599,7 +4599,7 @@ Ifc4x3_tc1::IfcRailwayTypeEnum::Value Ifc4x3_tc1::IfcRailwayTypeEnum::FromString } Ifc4x3_tc1::IfcRailwayTypeEnum::operator Ifc4x3_tc1::IfcRailwayTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcRailwayTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcRailwayTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcRampFlightTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[864]); } @@ -4626,7 +4626,7 @@ Ifc4x3_tc1::IfcRampFlightTypeEnum::Value Ifc4x3_tc1::IfcRampFlightTypeEnum::From } Ifc4x3_tc1::IfcRampFlightTypeEnum::operator Ifc4x3_tc1::IfcRampFlightTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcRampFlightTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcRampFlightTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcRampTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[866]); } @@ -4653,7 +4653,7 @@ Ifc4x3_tc1::IfcRampTypeEnum::Value Ifc4x3_tc1::IfcRampTypeEnum::FromString(const } Ifc4x3_tc1::IfcRampTypeEnum::operator Ifc4x3_tc1::IfcRampTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcRampTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcRampTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcRecurrenceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[876]); } @@ -4680,7 +4680,7 @@ Ifc4x3_tc1::IfcRecurrenceTypeEnum::Value Ifc4x3_tc1::IfcRecurrenceTypeEnum::From } Ifc4x3_tc1::IfcRecurrenceTypeEnum::operator Ifc4x3_tc1::IfcRecurrenceTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcRecurrenceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcRecurrenceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcReferentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[879]); } @@ -4707,7 +4707,7 @@ Ifc4x3_tc1::IfcReferentTypeEnum::Value Ifc4x3_tc1::IfcReferentTypeEnum::FromStri } Ifc4x3_tc1::IfcReferentTypeEnum::operator Ifc4x3_tc1::IfcReferentTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcReferentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcReferentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcReflectanceMethodEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[880]); } @@ -4734,7 +4734,7 @@ Ifc4x3_tc1::IfcReflectanceMethodEnum::Value Ifc4x3_tc1::IfcReflectanceMethodEnum } Ifc4x3_tc1::IfcReflectanceMethodEnum::operator Ifc4x3_tc1::IfcReflectanceMethodEnum::Value() const { - return (Ifc4x3_tc1::IfcReflectanceMethodEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcReflectanceMethodEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcReinforcedSoilTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[883]); } @@ -4761,7 +4761,7 @@ Ifc4x3_tc1::IfcReinforcedSoilTypeEnum::Value Ifc4x3_tc1::IfcReinforcedSoilTypeEn } Ifc4x3_tc1::IfcReinforcedSoilTypeEnum::operator Ifc4x3_tc1::IfcReinforcedSoilTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcReinforcedSoilTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcReinforcedSoilTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcReinforcingBarRoleEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[887]); } @@ -4788,7 +4788,7 @@ Ifc4x3_tc1::IfcReinforcingBarRoleEnum::Value Ifc4x3_tc1::IfcReinforcingBarRoleEn } Ifc4x3_tc1::IfcReinforcingBarRoleEnum::operator Ifc4x3_tc1::IfcReinforcingBarRoleEnum::Value() const { - return (Ifc4x3_tc1::IfcReinforcingBarRoleEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcReinforcingBarRoleEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[888]); } @@ -4815,7 +4815,7 @@ Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value Ifc4x3_tc1::IfcReinforcingBarSur } Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::operator Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value() const { - return (Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcReinforcingBarTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[890]); } @@ -4842,7 +4842,7 @@ Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Value Ifc4x3_tc1::IfcReinforcingBarTypeEn } Ifc4x3_tc1::IfcReinforcingBarTypeEnum::operator Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[895]); } @@ -4869,7 +4869,7 @@ Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Value Ifc4x3_tc1::IfcReinforcingMeshType } Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::operator Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcRoadPartTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[965]); } @@ -4896,7 +4896,7 @@ Ifc4x3_tc1::IfcRoadPartTypeEnum::Value Ifc4x3_tc1::IfcRoadPartTypeEnum::FromStri } Ifc4x3_tc1::IfcRoadPartTypeEnum::operator Ifc4x3_tc1::IfcRoadPartTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcRoadPartTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcRoadPartTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcRoadTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[966]); } @@ -4923,7 +4923,7 @@ Ifc4x3_tc1::IfcRoadTypeEnum::Value Ifc4x3_tc1::IfcRoadTypeEnum::FromString(const } Ifc4x3_tc1::IfcRoadTypeEnum::operator Ifc4x3_tc1::IfcRoadTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcRoadTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcRoadTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcRoleEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[967]); } @@ -4950,7 +4950,7 @@ Ifc4x3_tc1::IfcRoleEnum::Value Ifc4x3_tc1::IfcRoleEnum::FromString(const std::st } Ifc4x3_tc1::IfcRoleEnum::operator Ifc4x3_tc1::IfcRoleEnum::Value() const { - return (Ifc4x3_tc1::IfcRoleEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcRoleEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcRoofTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[970]); } @@ -4977,7 +4977,7 @@ Ifc4x3_tc1::IfcRoofTypeEnum::Value Ifc4x3_tc1::IfcRoofTypeEnum::FromString(const } Ifc4x3_tc1::IfcRoofTypeEnum::operator Ifc4x3_tc1::IfcRoofTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcRoofTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcRoofTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcSIPrefix::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1020]); } @@ -5004,7 +5004,7 @@ Ifc4x3_tc1::IfcSIPrefix::Value Ifc4x3_tc1::IfcSIPrefix::FromString(const std::st } Ifc4x3_tc1::IfcSIPrefix::operator Ifc4x3_tc1::IfcSIPrefix::Value() const { - return (Ifc4x3_tc1::IfcSIPrefix::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcSIPrefix::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcSIUnitName::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1023]); } @@ -5031,7 +5031,7 @@ Ifc4x3_tc1::IfcSIUnitName::Value Ifc4x3_tc1::IfcSIUnitName::FromString(const std } Ifc4x3_tc1::IfcSIUnitName::operator Ifc4x3_tc1::IfcSIUnitName::Value() const { - return (Ifc4x3_tc1::IfcSIUnitName::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcSIUnitName::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[979]); } @@ -5058,7 +5058,7 @@ Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Value Ifc4x3_tc1::IfcSanitaryTerminalTy } Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::operator Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcSectionTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[991]); } @@ -5085,7 +5085,7 @@ Ifc4x3_tc1::IfcSectionTypeEnum::Value Ifc4x3_tc1::IfcSectionTypeEnum::FromString } Ifc4x3_tc1::IfcSectionTypeEnum::operator Ifc4x3_tc1::IfcSectionTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcSectionTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcSectionTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcSensorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[997]); } @@ -5112,7 +5112,7 @@ Ifc4x3_tc1::IfcSensorTypeEnum::Value Ifc4x3_tc1::IfcSensorTypeEnum::FromString(c } Ifc4x3_tc1::IfcSensorTypeEnum::operator Ifc4x3_tc1::IfcSensorTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcSensorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcSensorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcSequenceEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[998]); } @@ -5139,7 +5139,7 @@ Ifc4x3_tc1::IfcSequenceEnum::Value Ifc4x3_tc1::IfcSequenceEnum::FromString(const } Ifc4x3_tc1::IfcSequenceEnum::operator Ifc4x3_tc1::IfcSequenceEnum::Value() const { - return (Ifc4x3_tc1::IfcSequenceEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcSequenceEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcShadingDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1002]); } @@ -5166,7 +5166,7 @@ Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Value Ifc4x3_tc1::IfcShadingDeviceTypeEnum } Ifc4x3_tc1::IfcShadingDeviceTypeEnum::operator Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcSignTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1014]); } @@ -5193,7 +5193,7 @@ Ifc4x3_tc1::IfcSignTypeEnum::Value Ifc4x3_tc1::IfcSignTypeEnum::FromString(const } Ifc4x3_tc1::IfcSignTypeEnum::operator Ifc4x3_tc1::IfcSignTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcSignTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcSignTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcSignalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1012]); } @@ -5220,7 +5220,7 @@ Ifc4x3_tc1::IfcSignalTypeEnum::Value Ifc4x3_tc1::IfcSignalTypeEnum::FromString(c } Ifc4x3_tc1::IfcSignalTypeEnum::operator Ifc4x3_tc1::IfcSignalTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcSignalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcSignalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcSimplePropertyTemplateTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1017]); } @@ -5247,7 +5247,7 @@ Ifc4x3_tc1::IfcSimplePropertyTemplateTypeEnum::Value Ifc4x3_tc1::IfcSimpleProper } Ifc4x3_tc1::IfcSimplePropertyTemplateTypeEnum::operator Ifc4x3_tc1::IfcSimplePropertyTemplateTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcSimplePropertyTemplateTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcSimplePropertyTemplateTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcSlabTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1027]); } @@ -5274,7 +5274,7 @@ Ifc4x3_tc1::IfcSlabTypeEnum::Value Ifc4x3_tc1::IfcSlabTypeEnum::FromString(const } Ifc4x3_tc1::IfcSlabTypeEnum::operator Ifc4x3_tc1::IfcSlabTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcSlabTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcSlabTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcSolarDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1031]); } @@ -5301,7 +5301,7 @@ Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Value Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Fr } Ifc4x3_tc1::IfcSolarDeviceTypeEnum::operator Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1043]); } @@ -5328,7 +5328,7 @@ Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Value Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Fr } Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::operator Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcSpaceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1045]); } @@ -5355,7 +5355,7 @@ Ifc4x3_tc1::IfcSpaceTypeEnum::Value Ifc4x3_tc1::IfcSpaceTypeEnum::FromString(con } Ifc4x3_tc1::IfcSpaceTypeEnum::operator Ifc4x3_tc1::IfcSpaceTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcSpaceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcSpaceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcSpatialZoneTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1053]); } @@ -5382,7 +5382,7 @@ Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Value Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Fr } Ifc4x3_tc1::IfcSpatialZoneTypeEnum::operator Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcStackTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1063]); } @@ -5409,7 +5409,7 @@ Ifc4x3_tc1::IfcStackTerminalTypeEnum::Value Ifc4x3_tc1::IfcStackTerminalTypeEnum } Ifc4x3_tc1::IfcStackTerminalTypeEnum::operator Ifc4x3_tc1::IfcStackTerminalTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcStackTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcStackTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcStairFlightTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1067]); } @@ -5436,7 +5436,7 @@ Ifc4x3_tc1::IfcStairFlightTypeEnum::Value Ifc4x3_tc1::IfcStairFlightTypeEnum::Fr } Ifc4x3_tc1::IfcStairFlightTypeEnum::operator Ifc4x3_tc1::IfcStairFlightTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcStairFlightTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcStairFlightTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcStairTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1069]); } @@ -5463,7 +5463,7 @@ Ifc4x3_tc1::IfcStairTypeEnum::Value Ifc4x3_tc1::IfcStairTypeEnum::FromString(con } Ifc4x3_tc1::IfcStairTypeEnum::operator Ifc4x3_tc1::IfcStairTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcStairTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcStairTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcStateEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1070]); } @@ -5490,7 +5490,7 @@ Ifc4x3_tc1::IfcStateEnum::Value Ifc4x3_tc1::IfcStateEnum::FromString(const std:: } Ifc4x3_tc1::IfcStateEnum::operator Ifc4x3_tc1::IfcStateEnum::Value() const { - return (Ifc4x3_tc1::IfcStateEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcStateEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1079]); } @@ -5517,7 +5517,7 @@ Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_tc1::IfcStructuralC } Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::operator Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcStructuralCurveMemberTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1082]); } @@ -5544,7 +5544,7 @@ Ifc4x3_tc1::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_tc1::IfcStructuralCur } Ifc4x3_tc1::IfcStructuralCurveMemberTypeEnum::operator Ifc4x3_tc1::IfcStructuralCurveMemberTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcStructuralCurveMemberTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcStructuralCurveMemberTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1108]); } @@ -5571,7 +5571,7 @@ Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_tc1::IfcStructura } Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::operator Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcStructuralSurfaceMemberTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1111]); } @@ -5598,7 +5598,7 @@ Ifc4x3_tc1::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_tc1::IfcStructuralS } Ifc4x3_tc1::IfcStructuralSurfaceMemberTypeEnum::operator Ifc4x3_tc1::IfcStructuralSurfaceMemberTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcStructuralSurfaceMemberTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcStructuralSurfaceMemberTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcSubContractResourceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1119]); } @@ -5625,7 +5625,7 @@ Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Value Ifc4x3_tc1::IfcSubContractReso } Ifc4x3_tc1::IfcSubContractResourceTypeEnum::operator Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcSurfaceFeatureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1125]); } @@ -5652,7 +5652,7 @@ Ifc4x3_tc1::IfcSurfaceFeatureTypeEnum::Value Ifc4x3_tc1::IfcSurfaceFeatureTypeEn } Ifc4x3_tc1::IfcSurfaceFeatureTypeEnum::operator Ifc4x3_tc1::IfcSurfaceFeatureTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcSurfaceFeatureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcSurfaceFeatureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcSurfaceSide::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1130]); } @@ -5679,7 +5679,7 @@ Ifc4x3_tc1::IfcSurfaceSide::Value Ifc4x3_tc1::IfcSurfaceSide::FromString(const s } Ifc4x3_tc1::IfcSurfaceSide::operator Ifc4x3_tc1::IfcSurfaceSide::Value() const { - return (Ifc4x3_tc1::IfcSurfaceSide::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcSurfaceSide::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1145]); } @@ -5706,7 +5706,7 @@ Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Value Ifc4x3_tc1::IfcSwitchingDeviceType } Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::operator Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1149]); } @@ -5733,7 +5733,7 @@ Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Value Ifc4x3_tc1::IfcSystemFurnit } Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::operator Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcTankTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1155]); } @@ -5760,7 +5760,7 @@ Ifc4x3_tc1::IfcTankTypeEnum::Value Ifc4x3_tc1::IfcTankTypeEnum::FromString(const } Ifc4x3_tc1::IfcTankTypeEnum::operator Ifc4x3_tc1::IfcTankTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcTankTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcTankTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcTaskDurationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1157]); } @@ -5787,7 +5787,7 @@ Ifc4x3_tc1::IfcTaskDurationEnum::Value Ifc4x3_tc1::IfcTaskDurationEnum::FromStri } Ifc4x3_tc1::IfcTaskDurationEnum::operator Ifc4x3_tc1::IfcTaskDurationEnum::Value() const { - return (Ifc4x3_tc1::IfcTaskDurationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcTaskDurationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcTaskTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1161]); } @@ -5814,7 +5814,7 @@ Ifc4x3_tc1::IfcTaskTypeEnum::Value Ifc4x3_tc1::IfcTaskTypeEnum::FromString(const } Ifc4x3_tc1::IfcTaskTypeEnum::operator Ifc4x3_tc1::IfcTaskTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcTaskTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcTaskTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcTendonAnchorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1168]); } @@ -5841,7 +5841,7 @@ Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Value Ifc4x3_tc1::IfcTendonAnchorTypeEnum:: } Ifc4x3_tc1::IfcTendonAnchorTypeEnum::operator Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcTendonConduitTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1171]); } @@ -5868,7 +5868,7 @@ Ifc4x3_tc1::IfcTendonConduitTypeEnum::Value Ifc4x3_tc1::IfcTendonConduitTypeEnum } Ifc4x3_tc1::IfcTendonConduitTypeEnum::operator Ifc4x3_tc1::IfcTendonConduitTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcTendonConduitTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcTendonConduitTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcTendonTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1173]); } @@ -5895,7 +5895,7 @@ Ifc4x3_tc1::IfcTendonTypeEnum::Value Ifc4x3_tc1::IfcTendonTypeEnum::FromString(c } Ifc4x3_tc1::IfcTendonTypeEnum::operator Ifc4x3_tc1::IfcTendonTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcTendonTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcTendonTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcTextPath::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1183]); } @@ -5922,7 +5922,7 @@ Ifc4x3_tc1::IfcTextPath::Value Ifc4x3_tc1::IfcTextPath::FromString(const std::st } Ifc4x3_tc1::IfcTextPath::operator Ifc4x3_tc1::IfcTextPath::Value() const { - return (Ifc4x3_tc1::IfcTextPath::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcTextPath::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1208]); } @@ -5949,7 +5949,7 @@ Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Value Ifc4x3_tc1::IfcTimeSeriesDataTypeEn } Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::operator Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcTrackElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1217]); } @@ -5976,7 +5976,7 @@ Ifc4x3_tc1::IfcTrackElementTypeEnum::Value Ifc4x3_tc1::IfcTrackElementTypeEnum:: } Ifc4x3_tc1::IfcTrackElementTypeEnum::operator Ifc4x3_tc1::IfcTrackElementTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcTrackElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcTrackElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcTransformerTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1220]); } @@ -6003,7 +6003,7 @@ Ifc4x3_tc1::IfcTransformerTypeEnum::Value Ifc4x3_tc1::IfcTransformerTypeEnum::Fr } Ifc4x3_tc1::IfcTransformerTypeEnum::operator Ifc4x3_tc1::IfcTransformerTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcTransformerTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcTransformerTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcTransitionCode::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1221]); } @@ -6030,7 +6030,7 @@ Ifc4x3_tc1::IfcTransitionCode::Value Ifc4x3_tc1::IfcTransitionCode::FromString(c } Ifc4x3_tc1::IfcTransitionCode::operator Ifc4x3_tc1::IfcTransitionCode::Value() const { - return (Ifc4x3_tc1::IfcTransitionCode::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcTransitionCode::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcTransportElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1227]); } @@ -6057,7 +6057,7 @@ Ifc4x3_tc1::IfcTransportElementTypeEnum::Value Ifc4x3_tc1::IfcTransportElementTy } Ifc4x3_tc1::IfcTransportElementTypeEnum::operator Ifc4x3_tc1::IfcTransportElementTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcTransportElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcTransportElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcTrimmingPreference::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1232]); } @@ -6084,7 +6084,7 @@ Ifc4x3_tc1::IfcTrimmingPreference::Value Ifc4x3_tc1::IfcTrimmingPreference::From } Ifc4x3_tc1::IfcTrimmingPreference::operator Ifc4x3_tc1::IfcTrimmingPreference::Value() const { - return (Ifc4x3_tc1::IfcTrimmingPreference::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcTrimmingPreference::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcTubeBundleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1237]); } @@ -6111,7 +6111,7 @@ Ifc4x3_tc1::IfcTubeBundleTypeEnum::Value Ifc4x3_tc1::IfcTubeBundleTypeEnum::From } Ifc4x3_tc1::IfcTubeBundleTypeEnum::operator Ifc4x3_tc1::IfcTubeBundleTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcTubeBundleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcTubeBundleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcUnitEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1250]); } @@ -6138,7 +6138,7 @@ Ifc4x3_tc1::IfcUnitEnum::Value Ifc4x3_tc1::IfcUnitEnum::FromString(const std::st } Ifc4x3_tc1::IfcUnitEnum::operator Ifc4x3_tc1::IfcUnitEnum::Value() const { - return (Ifc4x3_tc1::IfcUnitEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcUnitEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1245]); } @@ -6165,7 +6165,7 @@ Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Value Ifc4x3_tc1::IfcUnitaryContro } Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::operator Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1248]); } @@ -6192,7 +6192,7 @@ Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3_tc1::IfcUnitaryEquipmentTy } Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::operator Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcValveTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1256]); } @@ -6219,7 +6219,7 @@ Ifc4x3_tc1::IfcValveTypeEnum::Value Ifc4x3_tc1::IfcValveTypeEnum::FromString(con } Ifc4x3_tc1::IfcValveTypeEnum::operator Ifc4x3_tc1::IfcValveTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcValveTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcValveTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcVehicleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1262]); } @@ -6246,7 +6246,7 @@ Ifc4x3_tc1::IfcVehicleTypeEnum::Value Ifc4x3_tc1::IfcVehicleTypeEnum::FromString } Ifc4x3_tc1::IfcVehicleTypeEnum::operator Ifc4x3_tc1::IfcVehicleTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcVehicleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcVehicleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcVibrationDamperTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1268]); } @@ -6273,7 +6273,7 @@ Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Value Ifc4x3_tc1::IfcVibrationDamperType } Ifc4x3_tc1::IfcVibrationDamperTypeEnum::operator Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1271]); } @@ -6300,7 +6300,7 @@ Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Value Ifc4x3_tc1::IfcVibrationIsolator } Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::operator Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcVirtualElementTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1273]); } @@ -6327,7 +6327,7 @@ Ifc4x3_tc1::IfcVirtualElementTypeEnum::Value Ifc4x3_tc1::IfcVirtualElementTypeEn } Ifc4x3_tc1::IfcVirtualElementTypeEnum::operator Ifc4x3_tc1::IfcVirtualElementTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcVirtualElementTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcVirtualElementTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcVoidingFeatureTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1276]); } @@ -6354,7 +6354,7 @@ Ifc4x3_tc1::IfcVoidingFeatureTypeEnum::Value Ifc4x3_tc1::IfcVoidingFeatureTypeEn } Ifc4x3_tc1::IfcVoidingFeatureTypeEnum::operator Ifc4x3_tc1::IfcVoidingFeatureTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcVoidingFeatureTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcVoidingFeatureTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcWallTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1282]); } @@ -6381,7 +6381,7 @@ Ifc4x3_tc1::IfcWallTypeEnum::Value Ifc4x3_tc1::IfcWallTypeEnum::FromString(const } Ifc4x3_tc1::IfcWallTypeEnum::operator Ifc4x3_tc1::IfcWallTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcWallTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcWallTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcWasteTerminalTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1288]); } @@ -6408,7 +6408,7 @@ Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Value Ifc4x3_tc1::IfcWasteTerminalTypeEnum } Ifc4x3_tc1::IfcWasteTerminalTypeEnum::operator Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcWindowPanelOperationEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1291]); } @@ -6435,7 +6435,7 @@ Ifc4x3_tc1::IfcWindowPanelOperationEnum::Value Ifc4x3_tc1::IfcWindowPanelOperati } Ifc4x3_tc1::IfcWindowPanelOperationEnum::operator Ifc4x3_tc1::IfcWindowPanelOperationEnum::Value() const { - return (Ifc4x3_tc1::IfcWindowPanelOperationEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcWindowPanelOperationEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcWindowPanelPositionEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1292]); } @@ -6462,7 +6462,7 @@ Ifc4x3_tc1::IfcWindowPanelPositionEnum::Value Ifc4x3_tc1::IfcWindowPanelPosition } Ifc4x3_tc1::IfcWindowPanelPositionEnum::operator Ifc4x3_tc1::IfcWindowPanelPositionEnum::Value() const { - return (Ifc4x3_tc1::IfcWindowPanelPositionEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcWindowPanelPositionEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcWindowTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1295]); } @@ -6489,7 +6489,7 @@ Ifc4x3_tc1::IfcWindowTypeEnum::Value Ifc4x3_tc1::IfcWindowTypeEnum::FromString(c } Ifc4x3_tc1::IfcWindowTypeEnum::operator Ifc4x3_tc1::IfcWindowTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcWindowTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcWindowTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcWindowTypePartitioningEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1296]); } @@ -6516,7 +6516,7 @@ Ifc4x3_tc1::IfcWindowTypePartitioningEnum::Value Ifc4x3_tc1::IfcWindowTypePartit } Ifc4x3_tc1::IfcWindowTypePartitioningEnum::operator Ifc4x3_tc1::IfcWindowTypePartitioningEnum::Value() const { - return (Ifc4x3_tc1::IfcWindowTypePartitioningEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcWindowTypePartitioningEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcWorkCalendarTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1298]); } @@ -6543,7 +6543,7 @@ Ifc4x3_tc1::IfcWorkCalendarTypeEnum::Value Ifc4x3_tc1::IfcWorkCalendarTypeEnum:: } Ifc4x3_tc1::IfcWorkCalendarTypeEnum::operator Ifc4x3_tc1::IfcWorkCalendarTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcWorkCalendarTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcWorkCalendarTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcWorkPlanTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1301]); } @@ -6570,7 +6570,7 @@ Ifc4x3_tc1::IfcWorkPlanTypeEnum::Value Ifc4x3_tc1::IfcWorkPlanTypeEnum::FromStri } Ifc4x3_tc1::IfcWorkPlanTypeEnum::operator Ifc4x3_tc1::IfcWorkPlanTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcWorkPlanTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcWorkPlanTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::enumeration_type& Ifc4x3_tc1::IfcWorkScheduleTypeEnum::declaration() const { return *((IfcParse::enumeration_type*)IFC4X3_TC1_types[1303]); } @@ -6597,7 +6597,7 @@ Ifc4x3_tc1::IfcWorkScheduleTypeEnum::Value Ifc4x3_tc1::IfcWorkScheduleTypeEnum:: } Ifc4x3_tc1::IfcWorkScheduleTypeEnum::operator Ifc4x3_tc1::IfcWorkScheduleTypeEnum::Value() const { - return (Ifc4x3_tc1::IfcWorkScheduleTypeEnum::Value) data_.storage_.get(0).index(); + return (Ifc4x3_tc1::IfcWorkScheduleTypeEnum::Value) ((EnumerationReference) get_attribute_value(0)).index(); } const IfcParse::select_type& Ifc4x3_tc1::IfcActorSelect::Class() { return *((IfcParse::select_type*)IFC4X3_TC1_types[8]); } @@ -6728,935 +6728,935 @@ const IfcParse::type_declaration& Ifc4x3_tc1::IfcAbsorbedDoseMeasure::Class() { const IfcParse::type_declaration& Ifc4x3_tc1::IfcAbsorbedDoseMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[0]); } Ifc4x3_tc1::IfcAbsorbedDoseMeasure::IfcAbsorbedDoseMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcAbsorbedDoseMeasure::IfcAbsorbedDoseMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcAbsorbedDoseMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcAbsorbedDoseMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAccelerationMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcAccelerationMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcAccelerationMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1]); } Ifc4x3_tc1::IfcAccelerationMeasure::IfcAccelerationMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcAccelerationMeasure::IfcAccelerationMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcAccelerationMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcAccelerationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAmountOfSubstanceMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcAmountOfSubstanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[42]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcAmountOfSubstanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[42]); } Ifc4x3_tc1::IfcAmountOfSubstanceMeasure::IfcAmountOfSubstanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcAmountOfSubstanceMeasure::IfcAmountOfSubstanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcAmountOfSubstanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcAmountOfSubstanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAngularVelocityMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcAngularVelocityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[45]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcAngularVelocityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[45]); } Ifc4x3_tc1::IfcAngularVelocityMeasure::IfcAngularVelocityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcAngularVelocityMeasure::IfcAngularVelocityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcAngularVelocityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcAngularVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcArcIndex const IfcParse::type_declaration& Ifc4x3_tc1::IfcArcIndex::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[57]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcArcIndex::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[57]); } Ifc4x3_tc1::IfcArcIndex::IfcArcIndex(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcArcIndex::IfcArcIndex(std::vector< int > /*[3:3]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return get_attribute_value(0); } // Function implementations for IfcAreaDensityMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcAreaDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[58]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcAreaDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[58]); } Ifc4x3_tc1::IfcAreaDensityMeasure::IfcAreaDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcAreaDensityMeasure::IfcAreaDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcAreaDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcAreaDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcAreaMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcAreaMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[59]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcAreaMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[59]); } Ifc4x3_tc1::IfcAreaMeasure::IfcAreaMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcAreaMeasure::IfcAreaMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcAreaMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcAreaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcBinary const IfcParse::type_declaration& Ifc4x3_tc1::IfcBinary::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[80]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcBinary::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[80]); } Ifc4x3_tc1::IfcBinary::IfcBinary(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcBinary::IfcBinary(boost::dynamic_bitset<> v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcBinary::operator boost::dynamic_bitset<>() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcBinary::operator boost::dynamic_bitset<>() const { return get_attribute_value(0); } // Function implementations for IfcBoolean const IfcParse::type_declaration& Ifc4x3_tc1::IfcBoolean::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[86]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcBoolean::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[86]); } Ifc4x3_tc1::IfcBoolean::IfcBoolean(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcBoolean::IfcBoolean(bool v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcBoolean::operator bool() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcBoolean::operator bool() const { return get_attribute_value(0); } // Function implementations for IfcBoxAlignment const IfcParse::type_declaration& Ifc4x3_tc1::IfcBoxAlignment::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[101]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcBoxAlignment::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[101]); } Ifc4x3_tc1::IfcBoxAlignment::IfcBoxAlignment(IfcEntityInstanceData&& e) : IfcLabel(std::move(e)) { } Ifc4x3_tc1::IfcBoxAlignment::IfcBoxAlignment(std::string v) : IfcLabel(v) { } -Ifc4x3_tc1::IfcBoxAlignment::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcBoxAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcCardinalPointReference const IfcParse::type_declaration& Ifc4x3_tc1::IfcCardinalPointReference::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[145]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcCardinalPointReference::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[145]); } Ifc4x3_tc1::IfcCardinalPointReference::IfcCardinalPointReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcCardinalPointReference::IfcCardinalPointReference(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcCardinalPointReference::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcCardinalPointReference::operator int() const { return get_attribute_value(0); } // Function implementations for IfcComplexNumber const IfcParse::type_declaration& Ifc4x3_tc1::IfcComplexNumber::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[188]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcComplexNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[188]); } Ifc4x3_tc1::IfcComplexNumber::IfcComplexNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcComplexNumber::IfcComplexNumber(std::vector< double > /*[1:2]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcComplexNumber::operator std::vector< double > /*[1:2]*/() const { return get_attribute_value(0); } // Function implementations for IfcCompoundPlaneAngleMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcCompoundPlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[196]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcCompoundPlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[196]); } Ifc4x3_tc1::IfcCompoundPlaneAngleMeasure::IfcCompoundPlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcCompoundPlaneAngleMeasure::IfcCompoundPlaneAngleMeasure(std::vector< int > /*[3:4]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcCompoundPlaneAngleMeasure::operator std::vector< int > /*[3:4]*/() const { return get_attribute_value(0); } // Function implementations for IfcContextDependentMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcContextDependentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[226]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcContextDependentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[226]); } Ifc4x3_tc1::IfcContextDependentMeasure::IfcContextDependentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcContextDependentMeasure::IfcContextDependentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcContextDependentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcContextDependentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcCountMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcCountMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[252]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcCountMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[252]); } Ifc4x3_tc1::IfcCountMeasure::IfcCountMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcCountMeasure::IfcCountMeasure(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcCountMeasure::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcCountMeasure::operator int() const { return get_attribute_value(0); } // Function implementations for IfcCurvatureMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcCurvatureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[270]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcCurvatureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[270]); } Ifc4x3_tc1::IfcCurvatureMeasure::IfcCurvatureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcCurvatureMeasure::IfcCurvatureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcCurvatureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcCurvatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDate const IfcParse::type_declaration& Ifc4x3_tc1::IfcDate::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[290]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcDate::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[290]); } Ifc4x3_tc1::IfcDate::IfcDate(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcDate::IfcDate(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcDate::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcDate::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDateTime const IfcParse::type_declaration& Ifc4x3_tc1::IfcDateTime::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[291]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcDateTime::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[291]); } Ifc4x3_tc1::IfcDateTime::IfcDateTime(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcDateTime::IfcDateTime(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcDateTime::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcDateTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDayInMonthNumber const IfcParse::type_declaration& Ifc4x3_tc1::IfcDayInMonthNumber::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[292]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcDayInMonthNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[292]); } Ifc4x3_tc1::IfcDayInMonthNumber::IfcDayInMonthNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcDayInMonthNumber::IfcDayInMonthNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcDayInMonthNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcDayInMonthNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDayInWeekNumber const IfcParse::type_declaration& Ifc4x3_tc1::IfcDayInWeekNumber::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[293]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcDayInWeekNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[293]); } Ifc4x3_tc1::IfcDayInWeekNumber::IfcDayInWeekNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcDayInWeekNumber::IfcDayInWeekNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcDayInWeekNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcDayInWeekNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDescriptiveMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcDescriptiveMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[302]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcDescriptiveMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[302]); } Ifc4x3_tc1::IfcDescriptiveMeasure::IfcDescriptiveMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcDescriptiveMeasure::IfcDescriptiveMeasure(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcDescriptiveMeasure::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcDescriptiveMeasure::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDimensionCount const IfcParse::type_declaration& Ifc4x3_tc1::IfcDimensionCount::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[304]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcDimensionCount::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[304]); } Ifc4x3_tc1::IfcDimensionCount::IfcDimensionCount(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcDimensionCount::IfcDimensionCount(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcDimensionCount::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcDimensionCount::operator int() const { return get_attribute_value(0); } // Function implementations for IfcDoseEquivalentMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcDoseEquivalentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[343]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcDoseEquivalentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[343]); } Ifc4x3_tc1::IfcDoseEquivalentMeasure::IfcDoseEquivalentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcDoseEquivalentMeasure::IfcDoseEquivalentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcDoseEquivalentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcDoseEquivalentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcDuration const IfcParse::type_declaration& Ifc4x3_tc1::IfcDuration::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[355]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcDuration::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[355]); } Ifc4x3_tc1::IfcDuration::IfcDuration(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcDuration::IfcDuration(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcDuration::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcDuration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcDynamicViscosityMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcDynamicViscosityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[356]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcDynamicViscosityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[356]); } Ifc4x3_tc1::IfcDynamicViscosityMeasure::IfcDynamicViscosityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcDynamicViscosityMeasure::IfcDynamicViscosityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcDynamicViscosityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcDynamicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCapacitanceMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcElectricCapacitanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[368]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcElectricCapacitanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[368]); } Ifc4x3_tc1::IfcElectricCapacitanceMeasure::IfcElectricCapacitanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcElectricCapacitanceMeasure::IfcElectricCapacitanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcElectricCapacitanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcElectricCapacitanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricChargeMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcElectricChargeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[369]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcElectricChargeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[369]); } Ifc4x3_tc1::IfcElectricChargeMeasure::IfcElectricChargeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcElectricChargeMeasure::IfcElectricChargeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcElectricChargeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcElectricChargeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricConductanceMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcElectricConductanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[370]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcElectricConductanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[370]); } Ifc4x3_tc1::IfcElectricConductanceMeasure::IfcElectricConductanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcElectricConductanceMeasure::IfcElectricConductanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcElectricConductanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcElectricConductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricCurrentMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcElectricCurrentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[371]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcElectricCurrentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[371]); } Ifc4x3_tc1::IfcElectricCurrentMeasure::IfcElectricCurrentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcElectricCurrentMeasure::IfcElectricCurrentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcElectricCurrentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcElectricCurrentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricResistanceMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcElectricResistanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[387]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcElectricResistanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[387]); } Ifc4x3_tc1::IfcElectricResistanceMeasure::IfcElectricResistanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcElectricResistanceMeasure::IfcElectricResistanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcElectricResistanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcElectricResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcElectricVoltageMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcElectricVoltageMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[391]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcElectricVoltageMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[391]); } Ifc4x3_tc1::IfcElectricVoltageMeasure::IfcElectricVoltageMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcElectricVoltageMeasure::IfcElectricVoltageMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcElectricVoltageMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcElectricVoltageMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcEnergyMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcEnergyMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[406]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcEnergyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[406]); } Ifc4x3_tc1::IfcEnergyMeasure::IfcEnergyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcEnergyMeasure::IfcEnergyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcEnergyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcEnergyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFontStyle const IfcParse::type_declaration& Ifc4x3_tc1::IfcFontStyle::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[487]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcFontStyle::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[487]); } Ifc4x3_tc1::IfcFontStyle::IfcFontStyle(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcFontStyle::IfcFontStyle(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcFontStyle::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcFontStyle::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontVariant const IfcParse::type_declaration& Ifc4x3_tc1::IfcFontVariant::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[488]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcFontVariant::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[488]); } Ifc4x3_tc1::IfcFontVariant::IfcFontVariant(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcFontVariant::IfcFontVariant(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcFontVariant::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcFontVariant::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcFontWeight const IfcParse::type_declaration& Ifc4x3_tc1::IfcFontWeight::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[489]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcFontWeight::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[489]); } Ifc4x3_tc1::IfcFontWeight::IfcFontWeight(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcFontWeight::IfcFontWeight(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcFontWeight::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcFontWeight::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcForceMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[493]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[493]); } Ifc4x3_tc1::IfcForceMeasure::IfcForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcForceMeasure::IfcForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcFrequencyMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcFrequencyMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[494]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcFrequencyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[494]); } Ifc4x3_tc1::IfcFrequencyMeasure::IfcFrequencyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcFrequencyMeasure::IfcFrequencyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcFrequencyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcGloballyUniqueId const IfcParse::type_declaration& Ifc4x3_tc1::IfcGloballyUniqueId::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[516]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcGloballyUniqueId::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[516]); } Ifc4x3_tc1::IfcGloballyUniqueId::IfcGloballyUniqueId(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcGloballyUniqueId::IfcGloballyUniqueId(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcGloballyUniqueId::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcGloballyUniqueId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcHeatFluxDensityMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcHeatFluxDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[530]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcHeatFluxDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[530]); } Ifc4x3_tc1::IfcHeatFluxDensityMeasure::IfcHeatFluxDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcHeatFluxDensityMeasure::IfcHeatFluxDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcHeatFluxDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcHeatFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcHeatingValueMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcHeatingValueMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[531]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcHeatingValueMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[531]); } Ifc4x3_tc1::IfcHeatingValueMeasure::IfcHeatingValueMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcHeatingValueMeasure::IfcHeatingValueMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcHeatingValueMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcHeatingValueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIdentifier const IfcParse::type_declaration& Ifc4x3_tc1::IfcIdentifier::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[535]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcIdentifier::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[535]); } Ifc4x3_tc1::IfcIdentifier::IfcIdentifier(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcIdentifier::IfcIdentifier(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcIdentifier::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcIdentifier::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcIlluminanceMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcIlluminanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[536]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcIlluminanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[536]); } Ifc4x3_tc1::IfcIlluminanceMeasure::IfcIlluminanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcIlluminanceMeasure::IfcIlluminanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcIlluminanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcIlluminanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInductanceMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcInductanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[548]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcInductanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[548]); } Ifc4x3_tc1::IfcInductanceMeasure::IfcInductanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcInductanceMeasure::IfcInductanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcInductanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcInductanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcInteger const IfcParse::type_declaration& Ifc4x3_tc1::IfcInteger::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[549]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcInteger::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[549]); } Ifc4x3_tc1::IfcInteger::IfcInteger(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcInteger::IfcInteger(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcInteger::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIntegerCountRateMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcIntegerCountRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[550]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcIntegerCountRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[550]); } Ifc4x3_tc1::IfcIntegerCountRateMeasure::IfcIntegerCountRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcIntegerCountRateMeasure::IfcIntegerCountRateMeasure(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcIntegerCountRateMeasure::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcIntegerCountRateMeasure::operator int() const { return get_attribute_value(0); } // Function implementations for IfcIonConcentrationMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcIonConcentrationMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[559]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcIonConcentrationMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[559]); } Ifc4x3_tc1::IfcIonConcentrationMeasure::IfcIonConcentrationMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcIonConcentrationMeasure::IfcIonConcentrationMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcIonConcentrationMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcIonConcentrationMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcIsothermalMoistureCapacityMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcIsothermalMoistureCapacityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[563]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcIsothermalMoistureCapacityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[563]); } Ifc4x3_tc1::IfcIsothermalMoistureCapacityMeasure::IfcIsothermalMoistureCapacityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcIsothermalMoistureCapacityMeasure::IfcIsothermalMoistureCapacityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcIsothermalMoistureCapacityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcIsothermalMoistureCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcKinematicViscosityMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcKinematicViscosityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[570]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcKinematicViscosityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[570]); } Ifc4x3_tc1::IfcKinematicViscosityMeasure::IfcKinematicViscosityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcKinematicViscosityMeasure::IfcKinematicViscosityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcKinematicViscosityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcKinematicViscosityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLabel const IfcParse::type_declaration& Ifc4x3_tc1::IfcLabel::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[572]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcLabel::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[572]); } Ifc4x3_tc1::IfcLabel::IfcLabel(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcLabel::IfcLabel(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcLabel::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcLabel::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLanguageId const IfcParse::type_declaration& Ifc4x3_tc1::IfcLanguageId::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[580]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcLanguageId::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[580]); } Ifc4x3_tc1::IfcLanguageId::IfcLanguageId(IfcEntityInstanceData&& e) : IfcIdentifier(std::move(e)) { } Ifc4x3_tc1::IfcLanguageId::IfcLanguageId(std::string v) : IfcIdentifier(v) { } -Ifc4x3_tc1::IfcLanguageId::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcLanguageId::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcLengthMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[583]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[583]); } Ifc4x3_tc1::IfcLengthMeasure::IfcLengthMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcLengthMeasure::IfcLengthMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLineIndex const IfcParse::type_declaration& Ifc4x3_tc1::IfcLineIndex::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[609]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcLineIndex::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[609]); } Ifc4x3_tc1::IfcLineIndex::IfcLineIndex(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcLineIndex::IfcLineIndex(std::vector< int > /*[2:?]*/ v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return get_attribute_value(0); } // Function implementations for IfcLinearForceMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcLinearForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[603]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcLinearForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[603]); } Ifc4x3_tc1::IfcLinearForceMeasure::IfcLinearForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcLinearForceMeasure::IfcLinearForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcLinearForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcLinearForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearMomentMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcLinearMomentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[604]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcLinearMomentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[604]); } Ifc4x3_tc1::IfcLinearMomentMeasure::IfcLinearMomentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcLinearMomentMeasure::IfcLinearMomentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcLinearMomentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcLinearMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearStiffnessMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcLinearStiffnessMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[607]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcLinearStiffnessMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[607]); } Ifc4x3_tc1::IfcLinearStiffnessMeasure::IfcLinearStiffnessMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcLinearStiffnessMeasure::IfcLinearStiffnessMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcLinearStiffnessMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcLinearStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLinearVelocityMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcLinearVelocityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[608]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcLinearVelocityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[608]); } Ifc4x3_tc1::IfcLinearVelocityMeasure::IfcLinearVelocityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcLinearVelocityMeasure::IfcLinearVelocityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcLinearVelocityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcLinearVelocityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLogical const IfcParse::type_declaration& Ifc4x3_tc1::IfcLogical::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[615]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcLogical::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[615]); } Ifc4x3_tc1::IfcLogical::IfcLogical(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcLogical::IfcLogical(boost::logic::tribool v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcLogical::operator boost::logic::tribool() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcLogical::operator boost::logic::tribool() const { return get_attribute_value(0); } // Function implementations for IfcLuminousFluxMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcLuminousFluxMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[619]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcLuminousFluxMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[619]); } Ifc4x3_tc1::IfcLuminousFluxMeasure::IfcLuminousFluxMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcLuminousFluxMeasure::IfcLuminousFluxMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcLuminousFluxMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcLuminousFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityDistributionMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcLuminousIntensityDistributionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[620]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcLuminousIntensityDistributionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[620]); } Ifc4x3_tc1::IfcLuminousIntensityDistributionMeasure::IfcLuminousIntensityDistributionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcLuminousIntensityDistributionMeasure::IfcLuminousIntensityDistributionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcLuminousIntensityDistributionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcLuminousIntensityDistributionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcLuminousIntensityMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcLuminousIntensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[621]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcLuminousIntensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[621]); } Ifc4x3_tc1::IfcLuminousIntensityMeasure::IfcLuminousIntensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcLuminousIntensityMeasure::IfcLuminousIntensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcLuminousIntensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcLuminousIntensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxDensityMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcMagneticFluxDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[622]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcMagneticFluxDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[622]); } Ifc4x3_tc1::IfcMagneticFluxDensityMeasure::IfcMagneticFluxDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcMagneticFluxDensityMeasure::IfcMagneticFluxDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcMagneticFluxDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcMagneticFluxDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMagneticFluxMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcMagneticFluxMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[623]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcMagneticFluxMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[623]); } Ifc4x3_tc1::IfcMagneticFluxMeasure::IfcMagneticFluxMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcMagneticFluxMeasure::IfcMagneticFluxMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcMagneticFluxMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcMagneticFluxMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassDensityMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcMassDensityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[631]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcMassDensityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[631]); } Ifc4x3_tc1::IfcMassDensityMeasure::IfcMassDensityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcMassDensityMeasure::IfcMassDensityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcMassDensityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcMassDensityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassFlowRateMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcMassFlowRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[632]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcMassFlowRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[632]); } Ifc4x3_tc1::IfcMassFlowRateMeasure::IfcMassFlowRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcMassFlowRateMeasure::IfcMassFlowRateMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcMassFlowRateMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcMassFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcMassMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[633]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcMassMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[633]); } Ifc4x3_tc1::IfcMassMeasure::IfcMassMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcMassMeasure::IfcMassMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcMassMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMassPerLengthMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcMassPerLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[634]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcMassPerLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[634]); } Ifc4x3_tc1::IfcMassPerLengthMeasure::IfcMassPerLengthMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcMassPerLengthMeasure::IfcMassPerLengthMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcMassPerLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcMassPerLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfElasticityMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcModulusOfElasticityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[672]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcModulusOfElasticityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[672]); } Ifc4x3_tc1::IfcModulusOfElasticityMeasure::IfcModulusOfElasticityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcModulusOfElasticityMeasure::IfcModulusOfElasticityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcModulusOfElasticityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcModulusOfElasticityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfLinearSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcModulusOfLinearSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[673]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcModulusOfLinearSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[673]); } Ifc4x3_tc1::IfcModulusOfLinearSubgradeReactionMeasure::IfcModulusOfLinearSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcModulusOfLinearSubgradeReactionMeasure::IfcModulusOfLinearSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcModulusOfLinearSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfRotationalSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[674]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[674]); } Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionMeasure::IfcModulusOfRotationalSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionMeasure::IfcModulusOfRotationalSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcModulusOfSubgradeReactionMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcModulusOfSubgradeReactionMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[676]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcModulusOfSubgradeReactionMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[676]); } Ifc4x3_tc1::IfcModulusOfSubgradeReactionMeasure::IfcModulusOfSubgradeReactionMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcModulusOfSubgradeReactionMeasure::IfcModulusOfSubgradeReactionMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcModulusOfSubgradeReactionMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcModulusOfSubgradeReactionMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMoistureDiffusivityMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcMoistureDiffusivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[679]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcMoistureDiffusivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[679]); } Ifc4x3_tc1::IfcMoistureDiffusivityMeasure::IfcMoistureDiffusivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcMoistureDiffusivityMeasure::IfcMoistureDiffusivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcMoistureDiffusivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcMoistureDiffusivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMolecularWeightMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcMolecularWeightMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[680]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcMolecularWeightMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[680]); } Ifc4x3_tc1::IfcMolecularWeightMeasure::IfcMolecularWeightMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcMolecularWeightMeasure::IfcMolecularWeightMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcMolecularWeightMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcMolecularWeightMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMomentOfInertiaMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcMomentOfInertiaMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[681]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcMomentOfInertiaMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[681]); } Ifc4x3_tc1::IfcMomentOfInertiaMeasure::IfcMomentOfInertiaMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcMomentOfInertiaMeasure::IfcMomentOfInertiaMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcMomentOfInertiaMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcMomentOfInertiaMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonetaryMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcMonetaryMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[682]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcMonetaryMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[682]); } Ifc4x3_tc1::IfcMonetaryMeasure::IfcMonetaryMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcMonetaryMeasure::IfcMonetaryMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcMonetaryMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcMonetaryMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcMonthInYearNumber const IfcParse::type_declaration& Ifc4x3_tc1::IfcMonthInYearNumber::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[684]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcMonthInYearNumber::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[684]); } Ifc4x3_tc1::IfcMonthInYearNumber::IfcMonthInYearNumber(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcMonthInYearNumber::IfcMonthInYearNumber(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcMonthInYearNumber::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcMonthInYearNumber::operator int() const { return get_attribute_value(0); } // Function implementations for IfcNonNegativeLengthMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcNonNegativeLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[695]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcNonNegativeLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[695]); } Ifc4x3_tc1::IfcNonNegativeLengthMeasure::IfcNonNegativeLengthMeasure(IfcEntityInstanceData&& e) : IfcLengthMeasure(std::move(e)) { } Ifc4x3_tc1::IfcNonNegativeLengthMeasure::IfcNonNegativeLengthMeasure(double v) : IfcLengthMeasure(v) { } -Ifc4x3_tc1::IfcNonNegativeLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcNonNegativeLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNormalisedRatioMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcNormalisedRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[696]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcNormalisedRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[696]); } Ifc4x3_tc1::IfcNormalisedRatioMeasure::IfcNormalisedRatioMeasure(IfcEntityInstanceData&& e) : IfcRatioMeasure(std::move(e)) { } Ifc4x3_tc1::IfcNormalisedRatioMeasure::IfcNormalisedRatioMeasure(double v) : IfcRatioMeasure(v) { } -Ifc4x3_tc1::IfcNormalisedRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcNormalisedRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcNumericMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcNumericMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[697]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcNumericMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[697]); } Ifc4x3_tc1::IfcNumericMeasure::IfcNumericMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcNumericMeasure::IfcNumericMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcNumericMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcNumericMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPHMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcPHMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[737]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcPHMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[737]); } Ifc4x3_tc1::IfcPHMeasure::IfcPHMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcPHMeasure::IfcPHMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcPHMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcPHMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcParameterValue const IfcParse::type_declaration& Ifc4x3_tc1::IfcParameterValue::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[723]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcParameterValue::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[723]); } Ifc4x3_tc1::IfcParameterValue::IfcParameterValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcParameterValue::IfcParameterValue(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcParameterValue::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcParameterValue::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlanarForceMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcPlanarForceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[756]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcPlanarForceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[756]); } Ifc4x3_tc1::IfcPlanarForceMeasure::IfcPlanarForceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcPlanarForceMeasure::IfcPlanarForceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcPlanarForceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcPlanarForceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPlaneAngleMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcPlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[758]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcPlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[758]); } Ifc4x3_tc1::IfcPlaneAngleMeasure::IfcPlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcPlaneAngleMeasure::IfcPlaneAngleMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcPlaneAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcPlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveInteger const IfcParse::type_declaration& Ifc4x3_tc1::IfcPositiveInteger::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[774]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcPositiveInteger::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[774]); } Ifc4x3_tc1::IfcPositiveInteger::IfcPositiveInteger(IfcEntityInstanceData&& e) : IfcInteger(std::move(e)) { } Ifc4x3_tc1::IfcPositiveInteger::IfcPositiveInteger(int v) : IfcInteger(v) { } -Ifc4x3_tc1::IfcPositiveInteger::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcPositiveInteger::operator int() const { return get_attribute_value(0); } // Function implementations for IfcPositiveLengthMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcPositiveLengthMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[775]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcPositiveLengthMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[775]); } Ifc4x3_tc1::IfcPositiveLengthMeasure::IfcPositiveLengthMeasure(IfcEntityInstanceData&& e) : IfcLengthMeasure(std::move(e)) { } Ifc4x3_tc1::IfcPositiveLengthMeasure::IfcPositiveLengthMeasure(double v) : IfcLengthMeasure(v) { } -Ifc4x3_tc1::IfcPositiveLengthMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcPositiveLengthMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositivePlaneAngleMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcPositivePlaneAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[776]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcPositivePlaneAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[776]); } Ifc4x3_tc1::IfcPositivePlaneAngleMeasure::IfcPositivePlaneAngleMeasure(IfcEntityInstanceData&& e) : IfcPlaneAngleMeasure(std::move(e)) { } Ifc4x3_tc1::IfcPositivePlaneAngleMeasure::IfcPositivePlaneAngleMeasure(double v) : IfcPlaneAngleMeasure(v) { } -Ifc4x3_tc1::IfcPositivePlaneAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcPositivePlaneAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPositiveRatioMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcPositiveRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[777]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcPositiveRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[777]); } Ifc4x3_tc1::IfcPositiveRatioMeasure::IfcPositiveRatioMeasure(IfcEntityInstanceData&& e) : IfcRatioMeasure(std::move(e)) { } Ifc4x3_tc1::IfcPositiveRatioMeasure::IfcPositiveRatioMeasure(double v) : IfcRatioMeasure(v) { } -Ifc4x3_tc1::IfcPositiveRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcPositiveRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPowerMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcPowerMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[779]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcPowerMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[779]); } Ifc4x3_tc1::IfcPowerMeasure::IfcPowerMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcPowerMeasure::IfcPowerMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcPowerMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPresentableText const IfcParse::type_declaration& Ifc4x3_tc1::IfcPresentableText::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[787]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcPresentableText::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[787]); } Ifc4x3_tc1::IfcPresentableText::IfcPresentableText(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcPresentableText::IfcPresentableText(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcPresentableText::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcPresentableText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcPressureMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcPressureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[792]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcPressureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[792]); } Ifc4x3_tc1::IfcPressureMeasure::IfcPressureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcPressureMeasure::IfcPressureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcPressureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcPropertySetDefinitionSet const IfcParse::type_declaration& Ifc4x3_tc1::IfcPropertySetDefinitionSet::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[826]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcPropertySetDefinitionSet::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[826]); } Ifc4x3_tc1::IfcPropertySetDefinitionSet::IfcPropertySetDefinitionSet(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcPropertySetDefinitionSet::IfcPropertySetDefinitionSet(aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v->generalize()); } -Ifc4x3_tc1::IfcPropertySetDefinitionSet::operator aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcPropertySetDefinition >(); } +Ifc4x3_tc1::IfcPropertySetDefinitionSet::operator aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcPropertySetDefinition >(); } // Function implementations for IfcRadioActivityMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcRadioActivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[850]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcRadioActivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[850]); } Ifc4x3_tc1::IfcRadioActivityMeasure::IfcRadioActivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcRadioActivityMeasure::IfcRadioActivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcRadioActivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcRadioActivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRatioMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcRatioMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[867]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcRatioMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[867]); } Ifc4x3_tc1::IfcRatioMeasure::IfcRatioMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcRatioMeasure::IfcRatioMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcRatioMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcRatioMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcReal const IfcParse::type_declaration& Ifc4x3_tc1::IfcReal::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[870]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcReal::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[870]); } Ifc4x3_tc1::IfcReal::IfcReal(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcReal::IfcReal(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcReal::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcReal::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalFrequencyMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcRotationalFrequencyMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[972]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcRotationalFrequencyMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[972]); } Ifc4x3_tc1::IfcRotationalFrequencyMeasure::IfcRotationalFrequencyMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcRotationalFrequencyMeasure::IfcRotationalFrequencyMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcRotationalFrequencyMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcRotationalFrequencyMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalMassMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcRotationalMassMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[973]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcRotationalMassMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[973]); } Ifc4x3_tc1::IfcRotationalMassMeasure::IfcRotationalMassMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcRotationalMassMeasure::IfcRotationalMassMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcRotationalMassMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcRotationalMassMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcRotationalStiffnessMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcRotationalStiffnessMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[974]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcRotationalStiffnessMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[974]); } Ifc4x3_tc1::IfcRotationalStiffnessMeasure::IfcRotationalStiffnessMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcRotationalStiffnessMeasure::IfcRotationalStiffnessMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcRotationalStiffnessMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcRotationalStiffnessMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionModulusMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcSectionModulusMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[988]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcSectionModulusMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[988]); } Ifc4x3_tc1::IfcSectionModulusMeasure::IfcSectionModulusMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcSectionModulusMeasure::IfcSectionModulusMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcSectionModulusMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcSectionModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSectionalAreaIntegralMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcSectionalAreaIntegralMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[983]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcSectionalAreaIntegralMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[983]); } Ifc4x3_tc1::IfcSectionalAreaIntegralMeasure::IfcSectionalAreaIntegralMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcSectionalAreaIntegralMeasure::IfcSectionalAreaIntegralMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcSectionalAreaIntegralMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcSectionalAreaIntegralMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcShearModulusMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcShearModulusMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1006]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcShearModulusMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1006]); } Ifc4x3_tc1::IfcShearModulusMeasure::IfcShearModulusMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcShearModulusMeasure::IfcShearModulusMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcShearModulusMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcShearModulusMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSolidAngleMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcSolidAngleMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1032]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcSolidAngleMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1032]); } Ifc4x3_tc1::IfcSolidAngleMeasure::IfcSolidAngleMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcSolidAngleMeasure::IfcSolidAngleMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcSolidAngleMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcSolidAngleMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerLevelMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcSoundPowerLevelMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1035]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcSoundPowerLevelMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1035]); } Ifc4x3_tc1::IfcSoundPowerLevelMeasure::IfcSoundPowerLevelMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcSoundPowerLevelMeasure::IfcSoundPowerLevelMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcSoundPowerLevelMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcSoundPowerLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPowerMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcSoundPowerMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1036]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcSoundPowerMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1036]); } Ifc4x3_tc1::IfcSoundPowerMeasure::IfcSoundPowerMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcSoundPowerMeasure::IfcSoundPowerMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcSoundPowerMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcSoundPowerMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureLevelMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcSoundPressureLevelMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1037]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcSoundPressureLevelMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1037]); } Ifc4x3_tc1::IfcSoundPressureLevelMeasure::IfcSoundPressureLevelMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcSoundPressureLevelMeasure::IfcSoundPressureLevelMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcSoundPressureLevelMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcSoundPressureLevelMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSoundPressureMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcSoundPressureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1038]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcSoundPressureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1038]); } Ifc4x3_tc1::IfcSoundPressureMeasure::IfcSoundPressureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcSoundPressureMeasure::IfcSoundPressureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcSoundPressureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcSoundPressureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecificHeatCapacityMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcSpecificHeatCapacityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1054]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcSpecificHeatCapacityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1054]); } Ifc4x3_tc1::IfcSpecificHeatCapacityMeasure::IfcSpecificHeatCapacityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcSpecificHeatCapacityMeasure::IfcSpecificHeatCapacityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcSpecificHeatCapacityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcSpecificHeatCapacityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularExponent const IfcParse::type_declaration& Ifc4x3_tc1::IfcSpecularExponent::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1055]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcSpecularExponent::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1055]); } Ifc4x3_tc1::IfcSpecularExponent::IfcSpecularExponent(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcSpecularExponent::IfcSpecularExponent(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcSpecularExponent::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcSpecularExponent::operator double() const { return get_attribute_value(0); } // Function implementations for IfcSpecularRoughness const IfcParse::type_declaration& Ifc4x3_tc1::IfcSpecularRoughness::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1057]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcSpecularRoughness::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1057]); } Ifc4x3_tc1::IfcSpecularRoughness::IfcSpecularRoughness(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcSpecularRoughness::IfcSpecularRoughness(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcSpecularRoughness::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcSpecularRoughness::operator double() const { return get_attribute_value(0); } // Function implementations for IfcStrippedOptional const IfcParse::type_declaration& Ifc4x3_tc1::IfcStrippedOptional::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1071]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcStrippedOptional::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1071]); } Ifc4x3_tc1::IfcStrippedOptional::IfcStrippedOptional(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcStrippedOptional::IfcStrippedOptional(bool v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcStrippedOptional::operator bool() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcStrippedOptional::operator bool() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureGradientMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcTemperatureGradientMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1163]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcTemperatureGradientMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1163]); } Ifc4x3_tc1::IfcTemperatureGradientMeasure::IfcTemperatureGradientMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcTemperatureGradientMeasure::IfcTemperatureGradientMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcTemperatureGradientMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcTemperatureGradientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTemperatureRateOfChangeMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcTemperatureRateOfChangeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1164]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcTemperatureRateOfChangeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1164]); } Ifc4x3_tc1::IfcTemperatureRateOfChangeMeasure::IfcTemperatureRateOfChangeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcTemperatureRateOfChangeMeasure::IfcTemperatureRateOfChangeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcTemperatureRateOfChangeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcTemperatureRateOfChangeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcText const IfcParse::type_declaration& Ifc4x3_tc1::IfcText::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1176]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcText::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1176]); } Ifc4x3_tc1::IfcText::IfcText(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcText::IfcText(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcText::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcText::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextAlignment const IfcParse::type_declaration& Ifc4x3_tc1::IfcTextAlignment::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1177]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcTextAlignment::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1177]); } Ifc4x3_tc1::IfcTextAlignment::IfcTextAlignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcTextAlignment::IfcTextAlignment(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcTextAlignment::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcTextAlignment::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextDecoration const IfcParse::type_declaration& Ifc4x3_tc1::IfcTextDecoration::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1178]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcTextDecoration::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1178]); } Ifc4x3_tc1::IfcTextDecoration::IfcTextDecoration(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcTextDecoration::IfcTextDecoration(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcTextDecoration::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcTextDecoration::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextFontName const IfcParse::type_declaration& Ifc4x3_tc1::IfcTextFontName::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1179]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcTextFontName::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1179]); } Ifc4x3_tc1::IfcTextFontName::IfcTextFontName(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcTextFontName::IfcTextFontName(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcTextFontName::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcTextFontName::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTextTransformation const IfcParse::type_declaration& Ifc4x3_tc1::IfcTextTransformation::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1188]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcTextTransformation::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1188]); } Ifc4x3_tc1::IfcTextTransformation::IfcTextTransformation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcTextTransformation::IfcTextTransformation(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcTextTransformation::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcTextTransformation::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcThermalAdmittanceMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcThermalAdmittanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1196]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcThermalAdmittanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1196]); } Ifc4x3_tc1::IfcThermalAdmittanceMeasure::IfcThermalAdmittanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcThermalAdmittanceMeasure::IfcThermalAdmittanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcThermalAdmittanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcThermalAdmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalConductivityMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcThermalConductivityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1197]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcThermalConductivityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1197]); } Ifc4x3_tc1::IfcThermalConductivityMeasure::IfcThermalConductivityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcThermalConductivityMeasure::IfcThermalConductivityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcThermalConductivityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcThermalConductivityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalExpansionCoefficientMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcThermalExpansionCoefficientMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1198]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcThermalExpansionCoefficientMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1198]); } Ifc4x3_tc1::IfcThermalExpansionCoefficientMeasure::IfcThermalExpansionCoefficientMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcThermalExpansionCoefficientMeasure::IfcThermalExpansionCoefficientMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcThermalExpansionCoefficientMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcThermalExpansionCoefficientMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalResistanceMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcThermalResistanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1199]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcThermalResistanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1199]); } Ifc4x3_tc1::IfcThermalResistanceMeasure::IfcThermalResistanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcThermalResistanceMeasure::IfcThermalResistanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcThermalResistanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcThermalResistanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermalTransmittanceMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcThermalTransmittanceMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1200]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcThermalTransmittanceMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1200]); } Ifc4x3_tc1::IfcThermalTransmittanceMeasure::IfcThermalTransmittanceMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcThermalTransmittanceMeasure::IfcThermalTransmittanceMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcThermalTransmittanceMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcThermalTransmittanceMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcThermodynamicTemperatureMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcThermodynamicTemperatureMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1201]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcThermodynamicTemperatureMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1201]); } Ifc4x3_tc1::IfcThermodynamicTemperatureMeasure::IfcThermodynamicTemperatureMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcThermodynamicTemperatureMeasure::IfcThermodynamicTemperatureMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcThermodynamicTemperatureMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcThermodynamicTemperatureMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTime const IfcParse::type_declaration& Ifc4x3_tc1::IfcTime::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1203]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcTime::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1203]); } Ifc4x3_tc1::IfcTime::IfcTime(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcTime::IfcTime(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcTime::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcTime::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcTimeMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcTimeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1204]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcTimeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1204]); } Ifc4x3_tc1::IfcTimeMeasure::IfcTimeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcTimeMeasure::IfcTimeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcTimeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcTimeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcTimeStamp const IfcParse::type_declaration& Ifc4x3_tc1::IfcTimeStamp::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1210]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcTimeStamp::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1210]); } Ifc4x3_tc1::IfcTimeStamp::IfcTimeStamp(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcTimeStamp::IfcTimeStamp(int v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcTimeStamp::operator int() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcTimeStamp::operator int() const { return get_attribute_value(0); } // Function implementations for IfcTorqueMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcTorqueMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1214]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcTorqueMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1214]); } Ifc4x3_tc1::IfcTorqueMeasure::IfcTorqueMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcTorqueMeasure::IfcTorqueMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcTorqueMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcTorqueMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcURIReference const IfcParse::type_declaration& Ifc4x3_tc1::IfcURIReference::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1251]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcURIReference::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1251]); } Ifc4x3_tc1::IfcURIReference::IfcURIReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcURIReference::IfcURIReference(std::string v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcURIReference::operator std::string() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcURIReference::operator std::string() const { return get_attribute_value(0); } // Function implementations for IfcVaporPermeabilityMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcVaporPermeabilityMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1257]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcVaporPermeabilityMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1257]); } Ifc4x3_tc1::IfcVaporPermeabilityMeasure::IfcVaporPermeabilityMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcVaporPermeabilityMeasure::IfcVaporPermeabilityMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcVaporPermeabilityMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcVaporPermeabilityMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumeMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcVolumeMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1277]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcVolumeMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1277]); } Ifc4x3_tc1::IfcVolumeMeasure::IfcVolumeMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcVolumeMeasure::IfcVolumeMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcVolumeMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcVolumeMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcVolumetricFlowRateMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcVolumetricFlowRateMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1278]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcVolumetricFlowRateMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1278]); } Ifc4x3_tc1::IfcVolumetricFlowRateMeasure::IfcVolumetricFlowRateMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcVolumetricFlowRateMeasure::IfcVolumetricFlowRateMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcVolumetricFlowRateMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcVolumetricFlowRateMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingConstantMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcWarpingConstantMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1283]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcWarpingConstantMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1283]); } Ifc4x3_tc1::IfcWarpingConstantMeasure::IfcWarpingConstantMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcWarpingConstantMeasure::IfcWarpingConstantMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcWarpingConstantMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcWarpingConstantMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcWarpingMomentMeasure const IfcParse::type_declaration& Ifc4x3_tc1::IfcWarpingMomentMeasure::Class() { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1284]); } const IfcParse::type_declaration& Ifc4x3_tc1::IfcWarpingMomentMeasure::declaration() const { return *((IfcParse::type_declaration*)IFC4X3_TC1_types[1284]); } Ifc4x3_tc1::IfcWarpingMomentMeasure::IfcWarpingMomentMeasure(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseType(std::move(e)) { } Ifc4x3_tc1::IfcWarpingMomentMeasure::IfcWarpingMomentMeasure(double v) : IfcUtil::IfcBaseType() { set_attribute_value(0, v); } -Ifc4x3_tc1::IfcWarpingMomentMeasure::operator double() const { return data_.get_attribute_value(0); } +Ifc4x3_tc1::IfcWarpingMomentMeasure::operator double() const { return get_attribute_value(0); } // Function implementations for IfcActionRequest -boost::optional< ::Ifc4x3_tc1::IfcActionRequestTypeEnum::Value > Ifc4x3_tc1::IfcActionRequest::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcActionRequestTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_tc1::IfcActionRequestTypeEnum::Value > Ifc4x3_tc1::IfcActionRequest::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcActionRequestTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_tc1::IfcActionRequest::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcActionRequestTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_tc1::IfcActionRequestTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_tc1::IfcActionRequest::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcActionRequest::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcActionRequest::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_tc1::IfcActionRequest::LongDescription() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcActionRequest::LongDescription() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcActionRequest::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcActionRequest::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[2]); } const IfcParse::entity& Ifc4x3_tc1::IfcActionRequest::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[2]); } Ifc4x3_tc1::IfcActionRequest::IfcActionRequest(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_tc1::IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcActionRequestTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_tc1::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } +Ifc4x3_tc1::IfcActionRequest::IfcActionRequest(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcActionRequestTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_tc1::IfcActionRequestTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } // Function implementations for IfcActor -::Ifc4x3_tc1::IfcActorSelect* Ifc4x3_tc1::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcActorSelect>(true); } +::Ifc4x3_tc1::IfcActorSelect* Ifc4x3_tc1::IfcActor::TheActor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcActorSelect>(true); } void Ifc4x3_tc1::IfcActor::setTheActor(::Ifc4x3_tc1::IfcActorSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc4x3_tc1::IfcRelAssignsToActor::list::ptr Ifc4x3_tc1::IfcActor::IsActingUpon() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[899], 6)->as(); } @@ -7664,14 +7664,14 @@ void Ifc4x3_tc1::IfcActor::setTheActor(::Ifc4x3_tc1::IfcActorSelect* v) { set_at const IfcParse::entity& Ifc4x3_tc1::IfcActor::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[6]); } const IfcParse::entity& Ifc4x3_tc1::IfcActor::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[6]); } Ifc4x3_tc1::IfcActor::IfcActor(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_tc1::IfcActor::IfcActor(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcActorSelect* v6_TheActor) : IfcObject(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcActor::IfcActor(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcActorSelect* v6_TheActor) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcActorRole -::Ifc4x3_tc1::IfcRoleEnum::Value Ifc4x3_tc1::IfcActorRole::Role() const { return ::Ifc4x3_tc1::IfcRoleEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_tc1::IfcRoleEnum::Value Ifc4x3_tc1::IfcActorRole::Role() const { return ::Ifc4x3_tc1::IfcRoleEnum::FromString(get_attribute_value(0)); } void Ifc4x3_tc1::IfcActorRole::setRole(::Ifc4x3_tc1::IfcRoleEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_tc1::IfcRoleEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_tc1::IfcActorRole::UserDefinedRole() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcActorRole::UserDefinedRole() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcActorRole::setUserDefinedRole(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_tc1::IfcActorRole::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcActorRole::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcActorRole::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3_tc1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_tc1::IfcActorRole::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[427], 3)->as(); } @@ -7679,34 +7679,34 @@ void Ifc4x3_tc1::IfcActorRole::setDescription(boost::optional< std::string > v) const IfcParse::entity& Ifc4x3_tc1::IfcActorRole::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[7]); } const IfcParse::entity& Ifc4x3_tc1::IfcActorRole::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[7]); } Ifc4x3_tc1::IfcActorRole::IfcActorRole(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcActorRole::IfcActorRole(::Ifc4x3_tc1::IfcRoleEnum::Value v1_Role, boost::optional< std::string > v2_UserDefinedRole, boost::optional< std::string > v3_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } +Ifc4x3_tc1::IfcActorRole::IfcActorRole(::Ifc4x3_tc1::IfcRoleEnum::Value v1_Role, boost::optional< std::string > v2_UserDefinedRole, boost::optional< std::string > v3_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcRoleEnum::Class(),(size_t)v1_Role))); if (v2_UserDefinedRole) {set_attribute_value(1, (*v2_UserDefinedRole)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } // Function implementations for IfcActuator -boost::optional< ::Ifc4x3_tc1::IfcActuatorTypeEnum::Value > Ifc4x3_tc1::IfcActuator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcActuatorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcActuatorTypeEnum::Value > Ifc4x3_tc1::IfcActuator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcActuatorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcActuator::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcActuatorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcActuatorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcActuator::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[9]); } const IfcParse::entity& Ifc4x3_tc1::IfcActuator::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[9]); } Ifc4x3_tc1::IfcActuator::IfcActuator(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_tc1::IfcActuator::IfcActuator(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcActuatorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcActuator::IfcActuator(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcActuatorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcActuatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcActuatorType -::Ifc4x3_tc1::IfcActuatorTypeEnum::Value Ifc4x3_tc1::IfcActuatorType::PredefinedType() const { return ::Ifc4x3_tc1::IfcActuatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcActuatorTypeEnum::Value Ifc4x3_tc1::IfcActuatorType::PredefinedType() const { return ::Ifc4x3_tc1::IfcActuatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcActuatorType::setPredefinedType(::Ifc4x3_tc1::IfcActuatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcActuatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcActuatorType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[10]); } const IfcParse::entity& Ifc4x3_tc1::IfcActuatorType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[10]); } Ifc4x3_tc1::IfcActuatorType::IfcActuatorType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_tc1::IfcActuatorType::IfcActuatorType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcActuatorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcActuatorType::IfcActuatorType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcActuatorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcActuatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAddress -boost::optional< ::Ifc4x3_tc1::IfcAddressTypeEnum::Value > Ifc4x3_tc1::IfcAddress::Purpose() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcAddressTypeEnum::FromString(data_.get_attribute_value(0)); } +boost::optional< ::Ifc4x3_tc1::IfcAddressTypeEnum::Value > Ifc4x3_tc1::IfcAddress::Purpose() const { if(get_attribute_value(0).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcAddressTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x3_tc1::IfcAddress::setPurpose(boost::optional< ::Ifc4x3_tc1::IfcAddressTypeEnum::Value > v) { if (v) {set_attribute_value(0, EnumerationReference(&::Ifc4x3_tc1::IfcAddressTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_tc1::IfcAddress::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcAddress::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcAddress::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_tc1::IfcAddress::UserDefinedPurpose() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcAddress::UserDefinedPurpose() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcAddress::setUserDefinedPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3_tc1::IfcPerson::list::ptr Ifc4x3_tc1::IfcAddress::OfPerson() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[735], 7)->as(); } @@ -7715,7 +7715,7 @@ void Ifc4x3_tc1::IfcAddress::setUserDefinedPurpose(boost::optional< std::string const IfcParse::entity& Ifc4x3_tc1::IfcAddress::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[12]); } const IfcParse::entity& Ifc4x3_tc1::IfcAddress::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[12]); } Ifc4x3_tc1::IfcAddress::IfcAddress(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcAddress::IfcAddress(boost::optional< ::Ifc4x3_tc1::IfcAddressTypeEnum::Value > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; populate_derived(); } +Ifc4x3_tc1::IfcAddress::IfcAddress(boost::optional< ::Ifc4x3_tc1::IfcAddressTypeEnum::Value > v1_Purpose, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_UserDefinedPurpose) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); }; populate_derived(); } // Function implementations for IfcAdvancedBrep @@ -7723,17 +7723,17 @@ Ifc4x3_tc1::IfcAddress::IfcAddress(boost::optional< ::Ifc4x3_tc1::IfcAddressType const IfcParse::entity& Ifc4x3_tc1::IfcAdvancedBrep::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[14]); } const IfcParse::entity& Ifc4x3_tc1::IfcAdvancedBrep::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[14]); } Ifc4x3_tc1::IfcAdvancedBrep::IfcAdvancedBrep(IfcEntityInstanceData&& e) : IfcManifoldSolidBrep(std::move(e)) { } -Ifc4x3_tc1::IfcAdvancedBrep::IfcAdvancedBrep(::Ifc4x3_tc1::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcAdvancedBrep::IfcAdvancedBrep(::Ifc4x3_tc1::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAdvancedBrepWithVoids -aggregate_of< ::Ifc4x3_tc1::IfcClosedShell >::ptr Ifc4x3_tc1::IfcAdvancedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcClosedShell >(); } +aggregate_of< ::Ifc4x3_tc1::IfcClosedShell >::ptr Ifc4x3_tc1::IfcAdvancedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcClosedShell >(); } void Ifc4x3_tc1::IfcAdvancedBrepWithVoids::setVoids(aggregate_of< ::Ifc4x3_tc1::IfcClosedShell >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcAdvancedBrepWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[15]); } const IfcParse::entity& Ifc4x3_tc1::IfcAdvancedBrepWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[15]); } Ifc4x3_tc1::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(IfcEntityInstanceData&& e) : IfcAdvancedBrep(std::move(e)) { } -Ifc4x3_tc1::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4x3_tc1::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3_tc1::IfcClosedShell >::ptr v2_Voids) : IfcAdvancedBrep(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4x3_tc1::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3_tc1::IfcClosedShell >::ptr v2_Voids) : IfcAdvancedBrep(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } // Function implementations for IfcAdvancedFace @@ -7741,129 +7741,129 @@ Ifc4x3_tc1::IfcAdvancedBrepWithVoids::IfcAdvancedBrepWithVoids(::Ifc4x3_tc1::Ifc const IfcParse::entity& Ifc4x3_tc1::IfcAdvancedFace::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[16]); } const IfcParse::entity& Ifc4x3_tc1::IfcAdvancedFace::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[16]); } Ifc4x3_tc1::IfcAdvancedFace::IfcAdvancedFace(IfcEntityInstanceData&& e) : IfcFaceSurface(std::move(e)) { } -Ifc4x3_tc1::IfcAdvancedFace::IfcAdvancedFace(aggregate_of< ::Ifc4x3_tc1::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_tc1::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFaceSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } +Ifc4x3_tc1::IfcAdvancedFace::IfcAdvancedFace(aggregate_of< ::Ifc4x3_tc1::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_tc1::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFaceSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } // Function implementations for IfcAirTerminal -boost::optional< ::Ifc4x3_tc1::IfcAirTerminalTypeEnum::Value > Ifc4x3_tc1::IfcAirTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcAirTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcAirTerminalTypeEnum::Value > Ifc4x3_tc1::IfcAirTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcAirTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcAirTerminal::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcAirTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcAirTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcAirTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[17]); } const IfcParse::entity& Ifc4x3_tc1::IfcAirTerminal::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[17]); } Ifc4x3_tc1::IfcAirTerminal::IfcAirTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_tc1::IfcAirTerminal::IfcAirTerminal(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcAirTerminal::IfcAirTerminal(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcAirTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcAirTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAirTerminalBox -boost::optional< ::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Value > Ifc4x3_tc1::IfcAirTerminalBox::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Value > Ifc4x3_tc1::IfcAirTerminalBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcAirTerminalBox::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcAirTerminalBox::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[18]); } const IfcParse::entity& Ifc4x3_tc1::IfcAirTerminalBox::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[18]); } Ifc4x3_tc1::IfcAirTerminalBox::IfcAirTerminalBox(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_tc1::IfcAirTerminalBox::IfcAirTerminalBox(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcAirTerminalBox::IfcAirTerminalBox(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAirTerminalBoxType -::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Value Ifc4x3_tc1::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Value Ifc4x3_tc1::IfcAirTerminalBoxType::PredefinedType() const { return ::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcAirTerminalBoxType::setPredefinedType(::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcAirTerminalBoxType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[19]); } const IfcParse::entity& Ifc4x3_tc1::IfcAirTerminalBoxType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[19]); } Ifc4x3_tc1::IfcAirTerminalBoxType::IfcAirTerminalBoxType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_tc1::IfcAirTerminalBoxType::IfcAirTerminalBoxType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcAirTerminalBoxType::IfcAirTerminalBoxType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcAirTerminalBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAirTerminalType -::Ifc4x3_tc1::IfcAirTerminalTypeEnum::Value Ifc4x3_tc1::IfcAirTerminalType::PredefinedType() const { return ::Ifc4x3_tc1::IfcAirTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcAirTerminalTypeEnum::Value Ifc4x3_tc1::IfcAirTerminalType::PredefinedType() const { return ::Ifc4x3_tc1::IfcAirTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcAirTerminalType::setPredefinedType(::Ifc4x3_tc1::IfcAirTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcAirTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcAirTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[21]); } const IfcParse::entity& Ifc4x3_tc1::IfcAirTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[21]); } Ifc4x3_tc1::IfcAirTerminalType::IfcAirTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_tc1::IfcAirTerminalType::IfcAirTerminalType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAirTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcAirTerminalType::IfcAirTerminalType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAirTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcAirTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAirToAirHeatRecovery -boost::optional< ::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x3_tc1::IfcAirToAirHeatRecovery::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Value > Ifc4x3_tc1::IfcAirToAirHeatRecovery::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcAirToAirHeatRecovery::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcAirToAirHeatRecovery::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[23]); } const IfcParse::entity& Ifc4x3_tc1::IfcAirToAirHeatRecovery::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[23]); } Ifc4x3_tc1::IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_tc1::IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcAirToAirHeatRecovery::IfcAirToAirHeatRecovery(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAirToAirHeatRecoveryType -::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3_tc1::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Value Ifc4x3_tc1::IfcAirToAirHeatRecoveryType::PredefinedType() const { return ::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcAirToAirHeatRecoveryType::setPredefinedType(::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcAirToAirHeatRecoveryType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[24]); } const IfcParse::entity& Ifc4x3_tc1::IfcAirToAirHeatRecoveryType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[24]); } Ifc4x3_tc1::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_tc1::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcAirToAirHeatRecoveryType::IfcAirToAirHeatRecoveryType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcAirToAirHeatRecoveryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlarm -boost::optional< ::Ifc4x3_tc1::IfcAlarmTypeEnum::Value > Ifc4x3_tc1::IfcAlarm::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcAlarmTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcAlarmTypeEnum::Value > Ifc4x3_tc1::IfcAlarm::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcAlarmTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcAlarm::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcAlarmTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcAlarmTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcAlarm::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[26]); } const IfcParse::entity& Ifc4x3_tc1::IfcAlarm::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[26]); } Ifc4x3_tc1::IfcAlarm::IfcAlarm(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_tc1::IfcAlarm::IfcAlarm(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcAlarmTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcAlarm::IfcAlarm(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcAlarmTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcAlarmTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAlarmType -::Ifc4x3_tc1::IfcAlarmTypeEnum::Value Ifc4x3_tc1::IfcAlarmType::PredefinedType() const { return ::Ifc4x3_tc1::IfcAlarmTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcAlarmTypeEnum::Value Ifc4x3_tc1::IfcAlarmType::PredefinedType() const { return ::Ifc4x3_tc1::IfcAlarmTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcAlarmType::setPredefinedType(::Ifc4x3_tc1::IfcAlarmTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcAlarmTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcAlarmType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[27]); } const IfcParse::entity& Ifc4x3_tc1::IfcAlarmType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[27]); } Ifc4x3_tc1::IfcAlarmType::IfcAlarmType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_tc1::IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAlarmTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcAlarmType::IfcAlarmType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAlarmTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcAlarmTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlignment -boost::optional< ::Ifc4x3_tc1::IfcAlignmentTypeEnum::Value > Ifc4x3_tc1::IfcAlignment::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcAlignmentTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_tc1::IfcAlignmentTypeEnum::Value > Ifc4x3_tc1::IfcAlignment::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcAlignmentTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_tc1::IfcAlignment::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcAlignmentTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_tc1::IfcAlignmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_tc1::IfcAlignment::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[29]); } const IfcParse::entity& Ifc4x3_tc1::IfcAlignment::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[29]); } Ifc4x3_tc1::IfcAlignment::IfcAlignment(IfcEntityInstanceData&& e) : IfcLinearPositioningElement(std::move(e)) { } -Ifc4x3_tc1::IfcAlignment::IfcAlignment(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_tc1::IfcAlignmentTypeEnum::Value > v8_PredefinedType) : IfcLinearPositioningElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcAlignmentTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcAlignment::IfcAlignment(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_tc1::IfcAlignmentTypeEnum::Value > v8_PredefinedType) : IfcLinearPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcAlignmentTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAlignmentCant -double Ifc4x3_tc1::IfcAlignmentCant::RailHeadDistance() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x3_tc1::IfcAlignmentCant::RailHeadDistance() const { double v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcAlignmentCant::setRailHeadDistance(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_tc1::IfcAlignmentCant::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[30]); } const IfcParse::entity& Ifc4x3_tc1::IfcAlignmentCant::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[30]); } Ifc4x3_tc1::IfcAlignmentCant::IfcAlignmentCant(IfcEntityInstanceData&& e) : IfcLinearElement(std::move(e)) { } -Ifc4x3_tc1::IfcAlignmentCant::IfcAlignmentCant(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, double v8_RailHeadDistance) : IfcLinearElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RailHeadDistance));; populate_derived(); } +Ifc4x3_tc1::IfcAlignmentCant::IfcAlignmentCant(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, double v8_RailHeadDistance) : IfcLinearElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RailHeadDistance));; populate_derived(); } // Function implementations for IfcAlignmentCantSegment -double Ifc4x3_tc1::IfcAlignmentCantSegment::StartDistAlong() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_tc1::IfcAlignmentCantSegment::StartDistAlong() const { double v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcAlignmentCantSegment::setStartDistAlong(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_tc1::IfcAlignmentCantSegment::HorizontalLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_tc1::IfcAlignmentCantSegment::HorizontalLength() const { double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcAlignmentCantSegment::setHorizontalLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_tc1::IfcAlignmentCantSegment::StartCantLeft() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_tc1::IfcAlignmentCantSegment::StartCantLeft() const { double v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcAlignmentCantSegment::setStartCantLeft(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< double > Ifc4x3_tc1::IfcAlignmentCantSegment::EndCantLeft() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_tc1::IfcAlignmentCantSegment::EndCantLeft() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcAlignmentCantSegment::setEndCantLeft(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -double Ifc4x3_tc1::IfcAlignmentCantSegment::StartCantRight() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_tc1::IfcAlignmentCantSegment::StartCantRight() const { double v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcAlignmentCantSegment::setStartCantRight(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_tc1::IfcAlignmentCantSegment::EndCantRight() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_tc1::IfcAlignmentCantSegment::EndCantRight() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcAlignmentCantSegment::setEndCantRight(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_tc1::IfcAlignmentCantSegmentTypeEnum::Value Ifc4x3_tc1::IfcAlignmentCantSegment::PredefinedType() const { return ::Ifc4x3_tc1::IfcAlignmentCantSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_tc1::IfcAlignmentCantSegmentTypeEnum::Value Ifc4x3_tc1::IfcAlignmentCantSegment::PredefinedType() const { return ::Ifc4x3_tc1::IfcAlignmentCantSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcAlignmentCantSegment::setPredefinedType(::Ifc4x3_tc1::IfcAlignmentCantSegmentTypeEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcAlignmentCantSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_tc1::IfcAlignmentCantSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[31]); } const IfcParse::entity& Ifc4x3_tc1::IfcAlignmentCantSegment::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[31]); } Ifc4x3_tc1::IfcAlignmentCantSegment::IfcAlignmentCantSegment(IfcEntityInstanceData&& e) : IfcAlignmentParameterSegment(std::move(e)) { } -Ifc4x3_tc1::IfcAlignmentCantSegment::IfcAlignmentCantSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, boost::optional< double > v6_EndCantLeft, double v7_StartCantRight, boost::optional< double > v8_EndCantRight, ::Ifc4x3_tc1::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(storage_t(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartCantLeft)); if (v6_EndCantLeft) {set_attribute_value(5, (*v6_EndCantLeft)); }set_attribute_value(6, (v7_StartCantRight)); if (v8_EndCantRight) {set_attribute_value(7, (*v8_EndCantRight)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcAlignmentCantSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcAlignmentCantSegment::IfcAlignmentCantSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag, double v3_StartDistAlong, double v4_HorizontalLength, double v5_StartCantLeft, boost::optional< double > v6_EndCantLeft, double v7_StartCantRight, boost::optional< double > v8_EndCantRight, ::Ifc4x3_tc1::IfcAlignmentCantSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartCantLeft)); if (v6_EndCantLeft) {set_attribute_value(5, (*v6_EndCantLeft)); }set_attribute_value(6, (v7_StartCantRight)); if (v8_EndCantRight) {set_attribute_value(7, (*v8_EndCantRight)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcAlignmentCantSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlignmentHorizontal @@ -7871,51 +7871,51 @@ Ifc4x3_tc1::IfcAlignmentCantSegment::IfcAlignmentCantSegment(boost::optional< st const IfcParse::entity& Ifc4x3_tc1::IfcAlignmentHorizontal::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[33]); } const IfcParse::entity& Ifc4x3_tc1::IfcAlignmentHorizontal::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[33]); } Ifc4x3_tc1::IfcAlignmentHorizontal::IfcAlignmentHorizontal(IfcEntityInstanceData&& e) : IfcLinearElement(std::move(e)) { } -Ifc4x3_tc1::IfcAlignmentHorizontal::IfcAlignmentHorizontal(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation) : IfcLinearElement(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcAlignmentHorizontal::IfcAlignmentHorizontal(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation) : IfcLinearElement(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAlignmentHorizontalSegment -::Ifc4x3_tc1::IfcCartesianPoint* Ifc4x3_tc1::IfcAlignmentHorizontalSegment::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcCartesianPoint>(true); } +::Ifc4x3_tc1::IfcCartesianPoint* Ifc4x3_tc1::IfcAlignmentHorizontalSegment::StartPoint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcCartesianPoint>(true); } void Ifc4x3_tc1::IfcAlignmentHorizontalSegment::setStartPoint(::Ifc4x3_tc1::IfcCartesianPoint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_tc1::IfcAlignmentHorizontalSegment::StartDirection() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_tc1::IfcAlignmentHorizontalSegment::StartDirection() const { double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcAlignmentHorizontalSegment::setStartDirection(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_tc1::IfcAlignmentHorizontalSegment::StartRadiusOfCurvature() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_tc1::IfcAlignmentHorizontalSegment::StartRadiusOfCurvature() const { double v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcAlignmentHorizontalSegment::setStartRadiusOfCurvature(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_tc1::IfcAlignmentHorizontalSegment::EndRadiusOfCurvature() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_tc1::IfcAlignmentHorizontalSegment::EndRadiusOfCurvature() const { double v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcAlignmentHorizontalSegment::setEndRadiusOfCurvature(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_tc1::IfcAlignmentHorizontalSegment::SegmentLength() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_tc1::IfcAlignmentHorizontalSegment::SegmentLength() const { double v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcAlignmentHorizontalSegment::setSegmentLength(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_tc1::IfcAlignmentHorizontalSegment::GravityCenterLineHeight() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_tc1::IfcAlignmentHorizontalSegment::GravityCenterLineHeight() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcAlignmentHorizontalSegment::setGravityCenterLineHeight(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_tc1::IfcAlignmentHorizontalSegmentTypeEnum::Value Ifc4x3_tc1::IfcAlignmentHorizontalSegment::PredefinedType() const { return ::Ifc4x3_tc1::IfcAlignmentHorizontalSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_tc1::IfcAlignmentHorizontalSegmentTypeEnum::Value Ifc4x3_tc1::IfcAlignmentHorizontalSegment::PredefinedType() const { return ::Ifc4x3_tc1::IfcAlignmentHorizontalSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcAlignmentHorizontalSegment::setPredefinedType(::Ifc4x3_tc1::IfcAlignmentHorizontalSegmentTypeEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcAlignmentHorizontalSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_tc1::IfcAlignmentHorizontalSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[34]); } const IfcParse::entity& Ifc4x3_tc1::IfcAlignmentHorizontalSegment::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[34]); } Ifc4x3_tc1::IfcAlignmentHorizontalSegment::IfcAlignmentHorizontalSegment(IfcEntityInstanceData&& e) : IfcAlignmentParameterSegment(std::move(e)) { } -Ifc4x3_tc1::IfcAlignmentHorizontalSegment::IfcAlignmentHorizontalSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag, ::Ifc4x3_tc1::IfcCartesianPoint* v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, boost::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_tc1::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(storage_t(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, v3_StartPoint ? v3_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_StartDirection));set_attribute_value(4, (v5_StartRadiusOfCurvature));set_attribute_value(5, (v6_EndRadiusOfCurvature));set_attribute_value(6, (v7_SegmentLength)); if (v8_GravityCenterLineHeight) {set_attribute_value(7, (*v8_GravityCenterLineHeight)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcAlignmentHorizontalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcAlignmentHorizontalSegment::IfcAlignmentHorizontalSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag, ::Ifc4x3_tc1::IfcCartesianPoint* v3_StartPoint, double v4_StartDirection, double v5_StartRadiusOfCurvature, double v6_EndRadiusOfCurvature, double v7_SegmentLength, boost::optional< double > v8_GravityCenterLineHeight, ::Ifc4x3_tc1::IfcAlignmentHorizontalSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, v3_StartPoint ? v3_StartPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_StartDirection));set_attribute_value(4, (v5_StartRadiusOfCurvature));set_attribute_value(5, (v6_EndRadiusOfCurvature));set_attribute_value(6, (v7_SegmentLength)); if (v8_GravityCenterLineHeight) {set_attribute_value(7, (*v8_GravityCenterLineHeight)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcAlignmentHorizontalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } // Function implementations for IfcAlignmentParameterSegment -boost::optional< std::string > Ifc4x3_tc1::IfcAlignmentParameterSegment::StartTag() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcAlignmentParameterSegment::StartTag() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcAlignmentParameterSegment::setStartTag(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_tc1::IfcAlignmentParameterSegment::EndTag() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcAlignmentParameterSegment::EndTag() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcAlignmentParameterSegment::setEndTag(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_tc1::IfcAlignmentParameterSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[36]); } const IfcParse::entity& Ifc4x3_tc1::IfcAlignmentParameterSegment::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[36]); } Ifc4x3_tc1::IfcAlignmentParameterSegment::IfcAlignmentParameterSegment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcAlignmentParameterSegment::IfcAlignmentParameterSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }; populate_derived(); } +Ifc4x3_tc1::IfcAlignmentParameterSegment::IfcAlignmentParameterSegment(boost::optional< std::string > v1_StartTag, boost::optional< std::string > v2_EndTag) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }; populate_derived(); } // Function implementations for IfcAlignmentSegment -::Ifc4x3_tc1::IfcAlignmentParameterSegment* Ifc4x3_tc1::IfcAlignmentSegment::DesignParameters() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_tc1::IfcAlignmentParameterSegment>(true); } +::Ifc4x3_tc1::IfcAlignmentParameterSegment* Ifc4x3_tc1::IfcAlignmentSegment::DesignParameters() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_tc1::IfcAlignmentParameterSegment>(true); } void Ifc4x3_tc1::IfcAlignmentSegment::setDesignParameters(::Ifc4x3_tc1::IfcAlignmentParameterSegment* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_tc1::IfcAlignmentSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[37]); } const IfcParse::entity& Ifc4x3_tc1::IfcAlignmentSegment::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[37]); } Ifc4x3_tc1::IfcAlignmentSegment::IfcAlignmentSegment(IfcEntityInstanceData&& e) : IfcLinearElement(std::move(e)) { } -Ifc4x3_tc1::IfcAlignmentSegment::IfcAlignmentSegment(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcAlignmentParameterSegment* v8_DesignParameters) : IfcLinearElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_DesignParameters ? v8_DesignParameters->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcAlignmentSegment::IfcAlignmentSegment(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcAlignmentParameterSegment* v8_DesignParameters) : IfcLinearElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_DesignParameters ? v8_DesignParameters->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAlignmentVertical @@ -7923,32 +7923,32 @@ Ifc4x3_tc1::IfcAlignmentSegment::IfcAlignmentSegment(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x3_tc1::IfcAlignmentVertical::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[39]); } const IfcParse::entity& Ifc4x3_tc1::IfcAlignmentVertical::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[39]); } Ifc4x3_tc1::IfcAlignmentVertical::IfcAlignmentVertical(IfcEntityInstanceData&& e) : IfcLinearElement(std::move(e)) { } -Ifc4x3_tc1::IfcAlignmentVertical::IfcAlignmentVertical(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation) : IfcLinearElement(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcAlignmentVertical::IfcAlignmentVertical(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation) : IfcLinearElement(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAlignmentVerticalSegment -double Ifc4x3_tc1::IfcAlignmentVerticalSegment::StartDistAlong() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_tc1::IfcAlignmentVerticalSegment::StartDistAlong() const { double v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcAlignmentVerticalSegment::setStartDistAlong(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_tc1::IfcAlignmentVerticalSegment::HorizontalLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_tc1::IfcAlignmentVerticalSegment::HorizontalLength() const { double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcAlignmentVerticalSegment::setHorizontalLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_tc1::IfcAlignmentVerticalSegment::StartHeight() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_tc1::IfcAlignmentVerticalSegment::StartHeight() const { double v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcAlignmentVerticalSegment::setStartHeight(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_tc1::IfcAlignmentVerticalSegment::StartGradient() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_tc1::IfcAlignmentVerticalSegment::StartGradient() const { double v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcAlignmentVerticalSegment::setStartGradient(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_tc1::IfcAlignmentVerticalSegment::EndGradient() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_tc1::IfcAlignmentVerticalSegment::EndGradient() const { double v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcAlignmentVerticalSegment::setEndGradient(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_tc1::IfcAlignmentVerticalSegment::RadiusOfCurvature() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_tc1::IfcAlignmentVerticalSegment::RadiusOfCurvature() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcAlignmentVerticalSegment::setRadiusOfCurvature(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_tc1::IfcAlignmentVerticalSegmentTypeEnum::Value Ifc4x3_tc1::IfcAlignmentVerticalSegment::PredefinedType() const { return ::Ifc4x3_tc1::IfcAlignmentVerticalSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_tc1::IfcAlignmentVerticalSegmentTypeEnum::Value Ifc4x3_tc1::IfcAlignmentVerticalSegment::PredefinedType() const { return ::Ifc4x3_tc1::IfcAlignmentVerticalSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcAlignmentVerticalSegment::setPredefinedType(::Ifc4x3_tc1::IfcAlignmentVerticalSegmentTypeEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcAlignmentVerticalSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_tc1::IfcAlignmentVerticalSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[40]); } const IfcParse::entity& Ifc4x3_tc1::IfcAlignmentVerticalSegment::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[40]); } Ifc4x3_tc1::IfcAlignmentVerticalSegment::IfcAlignmentVerticalSegment(IfcEntityInstanceData&& e) : IfcAlignmentParameterSegment(std::move(e)) { } -Ifc4x3_tc1::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_tc1::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(storage_t(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::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_tc1::IfcAlignmentVerticalSegmentTypeEnum::Value v9_PredefinedType) : IfcAlignmentParameterSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_StartTag) {set_attribute_value(0, (*v1_StartTag)); } if (v2_EndTag) {set_attribute_value(1, (*v2_EndTag)); }set_attribute_value(2, (v3_StartDistAlong));set_attribute_value(3, (v4_HorizontalLength));set_attribute_value(4, (v5_StartHeight));set_attribute_value(5, (v6_StartGradient));set_attribute_value(6, (v7_EndGradient)); if (v8_RadiusOfCurvature) {set_attribute_value(7, (*v8_RadiusOfCurvature)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcAlignmentVerticalSegmentTypeEnum::Class(),(size_t)v9_PredefinedType)));; populate_derived(); } // Function implementations for IfcAnnotation -boost::optional< ::Ifc4x3_tc1::IfcAnnotationTypeEnum::Value > Ifc4x3_tc1::IfcAnnotation::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcAnnotationTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_tc1::IfcAnnotationTypeEnum::Value > Ifc4x3_tc1::IfcAnnotation::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcAnnotationTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_tc1::IfcAnnotation::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcAnnotationTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_tc1::IfcAnnotationTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } ::Ifc4x3_tc1::IfcRelContainedInSpatialStructure::list::ptr Ifc4x3_tc1::IfcAnnotation::ContainedInStructure() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[924], 4)->as(); } @@ -7956,56 +7956,56 @@ void Ifc4x3_tc1::IfcAnnotation::setPredefinedType(boost::optional< ::Ifc4x3_tc1: const IfcParse::entity& Ifc4x3_tc1::IfcAnnotation::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[46]); } const IfcParse::entity& Ifc4x3_tc1::IfcAnnotation::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[46]); } Ifc4x3_tc1::IfcAnnotation::IfcAnnotation(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_tc1::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_tc1::IfcAnnotationTypeEnum::Value > v8_PredefinedType) : IfcProduct(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcAnnotationTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcAnnotation::IfcAnnotation(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_tc1::IfcAnnotationTypeEnum::Value > v8_PredefinedType) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcAnnotationTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAnnotationFillArea -::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCurve>(true); } +::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcAnnotationFillArea::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCurve>(true); } void Ifc4x3_tc1::IfcAnnotationFillArea::setOuterBoundary(::Ifc4x3_tc1::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcCurve >::ptr > Ifc4x3_tc1::IfcAnnotationFillArea::InnerBoundaries() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcCurve >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcCurve >::ptr > Ifc4x3_tc1::IfcAnnotationFillArea::InnerBoundaries() const { if(get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcCurve >(); } void Ifc4x3_tc1::IfcAnnotationFillArea::setInnerBoundaries(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcCurve >::ptr > v) { if (v) {set_attribute_value(1, (*v)->generalize());} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_tc1::IfcAnnotationFillArea::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[47]); } const IfcParse::entity& Ifc4x3_tc1::IfcAnnotationFillArea::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[47]); } Ifc4x3_tc1::IfcAnnotationFillArea::IfcAnnotationFillArea(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcAnnotationFillArea::IfcAnnotationFillArea(::Ifc4x3_tc1::IfcCurve* v1_OuterBoundary, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcCurve >::ptr > v2_InnerBoundaries) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_OuterBoundary ? v1_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_InnerBoundaries) {set_attribute_value(1, (*v2_InnerBoundaries)->generalize()); }; populate_derived(); } +Ifc4x3_tc1::IfcAnnotationFillArea::IfcAnnotationFillArea(::Ifc4x3_tc1::IfcCurve* v1_OuterBoundary, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcCurve >::ptr > v2_InnerBoundaries) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_OuterBoundary ? v1_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_InnerBoundaries) {set_attribute_value(1, (*v2_InnerBoundaries)->generalize()); }; populate_derived(); } // Function implementations for IfcApplication -::Ifc4x3_tc1::IfcOrganization* Ifc4x3_tc1::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcOrganization>(true); } +::Ifc4x3_tc1::IfcOrganization* Ifc4x3_tc1::IfcApplication::ApplicationDeveloper() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcOrganization>(true); } void Ifc4x3_tc1::IfcApplication::setApplicationDeveloper(::Ifc4x3_tc1::IfcOrganization* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x3_tc1::IfcApplication::Version() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_tc1::IfcApplication::Version() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcApplication::setVersion(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::string Ifc4x3_tc1::IfcApplication::ApplicationFullName() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3_tc1::IfcApplication::ApplicationFullName() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcApplication::setApplicationFullName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::string Ifc4x3_tc1::IfcApplication::ApplicationIdentifier() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x3_tc1::IfcApplication::ApplicationIdentifier() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcApplication::setApplicationIdentifier(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcApplication::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[49]); } const IfcParse::entity& Ifc4x3_tc1::IfcApplication::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[49]); } Ifc4x3_tc1::IfcApplication::IfcApplication(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcApplication::IfcApplication(::Ifc4x3_tc1::IfcOrganization* v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ApplicationDeveloper ? v1_ApplicationDeveloper->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; populate_derived(); } +Ifc4x3_tc1::IfcApplication::IfcApplication(::Ifc4x3_tc1::IfcOrganization* v1_ApplicationDeveloper, std::string v2_Version, std::string v3_ApplicationFullName, std::string v4_ApplicationIdentifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ApplicationDeveloper ? v1_ApplicationDeveloper->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Version));set_attribute_value(2, (v3_ApplicationFullName));set_attribute_value(3, (v4_ApplicationIdentifier));; populate_derived(); } // Function implementations for IfcAppliedValue -boost::optional< std::string > Ifc4x3_tc1::IfcAppliedValue::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcAppliedValue::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcAppliedValue::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_tc1::IfcAppliedValue::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcAppliedValue::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcAppliedValue::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_tc1::IfcAppliedValueSelect* Ifc4x3_tc1::IfcAppliedValue::AppliedValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcAppliedValueSelect>(true); } +::Ifc4x3_tc1::IfcAppliedValueSelect* Ifc4x3_tc1::IfcAppliedValue::AppliedValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcAppliedValueSelect>(true); } void Ifc4x3_tc1::IfcAppliedValue::setAppliedValue(::Ifc4x3_tc1::IfcAppliedValueSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_tc1::IfcMeasureWithUnit* Ifc4x3_tc1::IfcAppliedValue::UnitBasis() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcMeasureWithUnit>(true); } +::Ifc4x3_tc1::IfcMeasureWithUnit* Ifc4x3_tc1::IfcAppliedValue::UnitBasis() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcMeasureWithUnit>(true); } void Ifc4x3_tc1::IfcAppliedValue::setUnitBasis(::Ifc4x3_tc1::IfcMeasureWithUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_tc1::IfcAppliedValue::ApplicableDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcAppliedValue::ApplicableDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcAppliedValue::setApplicableDate(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_tc1::IfcAppliedValue::FixedUntilDate() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcAppliedValue::FixedUntilDate() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcAppliedValue::setFixedUntilDate(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_tc1::IfcAppliedValue::Category() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcAppliedValue::Category() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcAppliedValue::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_tc1::IfcAppliedValue::Condition() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcAppliedValue::Condition() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcAppliedValue::setCondition(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3_tc1::IfcArithmeticOperatorEnum::Value > Ifc4x3_tc1::IfcAppliedValue::ArithmeticOperator() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcArithmeticOperatorEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcArithmeticOperatorEnum::Value > Ifc4x3_tc1::IfcAppliedValue::ArithmeticOperator() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcArithmeticOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcAppliedValue::setArithmeticOperator(boost::optional< ::Ifc4x3_tc1::IfcArithmeticOperatorEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcArithmeticOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAppliedValue >::ptr > Ifc4x3_tc1::IfcAppliedValue::Components() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3_tc1::IfcAppliedValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAppliedValue >::ptr > Ifc4x3_tc1::IfcAppliedValue::Components() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3_tc1::IfcAppliedValue >(); } void Ifc4x3_tc1::IfcAppliedValue::setComponents(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAppliedValue >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } ::Ifc4x3_tc1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_tc1::IfcAppliedValue::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[427], 3)->as(); } @@ -8013,26 +8013,26 @@ void Ifc4x3_tc1::IfcAppliedValue::setComponents(boost::optional< aggregate_of< : const IfcParse::entity& Ifc4x3_tc1::IfcAppliedValue::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[50]); } const IfcParse::entity& Ifc4x3_tc1::IfcAppliedValue::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[50]); } Ifc4x3_tc1::IfcAppliedValue::IfcAppliedValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3_tc1::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_tc1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAppliedValue >::ptr > v10_Components) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } +Ifc4x3_tc1::IfcAppliedValue::IfcAppliedValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3_tc1::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_tc1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAppliedValue >::ptr > v10_Components) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } // Function implementations for IfcApproval -boost::optional< std::string > Ifc4x3_tc1::IfcApproval::Identifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcApproval::Identifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcApproval::setIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_tc1::IfcApproval::Name() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcApproval::Name() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcApproval::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_tc1::IfcApproval::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcApproval::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcApproval::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_tc1::IfcApproval::TimeOfApproval() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcApproval::TimeOfApproval() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcApproval::setTimeOfApproval(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_tc1::IfcApproval::Status() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcApproval::Status() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcApproval::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_tc1::IfcApproval::Level() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcApproval::Level() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcApproval::setLevel(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_tc1::IfcApproval::Qualifier() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcApproval::Qualifier() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcApproval::setQualifier(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_tc1::IfcActorSelect* Ifc4x3_tc1::IfcApproval::RequestingApproval() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_tc1::IfcActorSelect>(true); } +::Ifc4x3_tc1::IfcActorSelect* Ifc4x3_tc1::IfcApproval::RequestingApproval() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_tc1::IfcActorSelect>(true); } void Ifc4x3_tc1::IfcApproval::setRequestingApproval(::Ifc4x3_tc1::IfcActorSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_tc1::IfcActorSelect* Ifc4x3_tc1::IfcApproval::GivingApproval() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_tc1::IfcActorSelect>(true); } +::Ifc4x3_tc1::IfcActorSelect* Ifc4x3_tc1::IfcApproval::GivingApproval() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_tc1::IfcActorSelect>(true); } void Ifc4x3_tc1::IfcApproval::setGivingApproval(::Ifc4x3_tc1::IfcActorSelect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } ::Ifc4x3_tc1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_tc1::IfcApproval::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[427], 3)->as(); } @@ -8044,329 +8044,329 @@ void Ifc4x3_tc1::IfcApproval::setGivingApproval(::Ifc4x3_tc1::IfcActorSelect* v) const IfcParse::entity& Ifc4x3_tc1::IfcApproval::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[52]); } const IfcParse::entity& Ifc4x3_tc1::IfcApproval::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[52]); } Ifc4x3_tc1::IfcApproval::IfcApproval(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::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_tc1::IfcActorSelect* v8_RequestingApproval, ::Ifc4x3_tc1::IfcActorSelect* v9_GivingApproval) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(9))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, v8_RequestingApproval ? v8_RequestingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_GivingApproval ? v9_GivingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::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_tc1::IfcActorSelect* v8_RequestingApproval, ::Ifc4x3_tc1::IfcActorSelect* v9_GivingApproval) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_TimeOfApproval) {set_attribute_value(3, (*v4_TimeOfApproval)); } if (v5_Status) {set_attribute_value(4, (*v5_Status)); } if (v6_Level) {set_attribute_value(5, (*v6_Level)); } if (v7_Qualifier) {set_attribute_value(6, (*v7_Qualifier)); }set_attribute_value(7, v8_RequestingApproval ? v8_RequestingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_GivingApproval ? v9_GivingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcApprovalRelationship -::Ifc4x3_tc1::IfcApproval* Ifc4x3_tc1::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcApproval>(true); } +::Ifc4x3_tc1::IfcApproval* Ifc4x3_tc1::IfcApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcApproval>(true); } void Ifc4x3_tc1::IfcApprovalRelationship::setRelatingApproval(::Ifc4x3_tc1::IfcApproval* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_tc1::IfcApproval >::ptr Ifc4x3_tc1::IfcApprovalRelationship::RelatedApprovals() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_tc1::IfcApproval >(); } +aggregate_of< ::Ifc4x3_tc1::IfcApproval >::ptr Ifc4x3_tc1::IfcApprovalRelationship::RelatedApprovals() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_tc1::IfcApproval >(); } void Ifc4x3_tc1::IfcApprovalRelationship::setRelatedApprovals(aggregate_of< ::Ifc4x3_tc1::IfcApproval >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcApprovalRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[53]); } const IfcParse::entity& Ifc4x3_tc1::IfcApprovalRelationship::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[53]); } Ifc4x3_tc1::IfcApprovalRelationship::IfcApprovalRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_tc1::IfcApprovalRelationship::IfcApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcApproval* v3_RelatingApproval, aggregate_of< ::Ifc4x3_tc1::IfcApproval >::ptr v4_RelatedApprovals) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingApproval ? v3_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedApprovals)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcApprovalRelationship::IfcApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcApproval* v3_RelatingApproval, aggregate_of< ::Ifc4x3_tc1::IfcApproval >::ptr v4_RelatedApprovals) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingApproval ? v3_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedApprovals)->generalize());; populate_derived(); } // Function implementations for IfcArbitraryClosedProfileDef -::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcCurve>(true); } +::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcArbitraryClosedProfileDef::OuterCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcCurve>(true); } void Ifc4x3_tc1::IfcArbitraryClosedProfileDef::setOuterCurve(::Ifc4x3_tc1::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcArbitraryClosedProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[54]); } const IfcParse::entity& Ifc4x3_tc1::IfcArbitraryClosedProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[54]); } Ifc4x3_tc1::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_tc1::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcCurve* v3_OuterCurve) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcArbitraryClosedProfileDef::IfcArbitraryClosedProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcCurve* v3_OuterCurve) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcArbitraryOpenProfileDef -::Ifc4x3_tc1::IfcBoundedCurve* Ifc4x3_tc1::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcBoundedCurve>(true); } +::Ifc4x3_tc1::IfcBoundedCurve* Ifc4x3_tc1::IfcArbitraryOpenProfileDef::Curve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcBoundedCurve>(true); } void Ifc4x3_tc1::IfcArbitraryOpenProfileDef::setCurve(::Ifc4x3_tc1::IfcBoundedCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcArbitraryOpenProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[55]); } const IfcParse::entity& Ifc4x3_tc1::IfcArbitraryOpenProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[55]); } Ifc4x3_tc1::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_tc1::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcBoundedCurve* v3_Curve) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcArbitraryOpenProfileDef::IfcArbitraryOpenProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcBoundedCurve* v3_Curve) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcArbitraryProfileDefWithVoids -aggregate_of< ::Ifc4x3_tc1::IfcCurve >::ptr Ifc4x3_tc1::IfcArbitraryProfileDefWithVoids::InnerCurves() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_tc1::IfcCurve >(); } +aggregate_of< ::Ifc4x3_tc1::IfcCurve >::ptr Ifc4x3_tc1::IfcArbitraryProfileDefWithVoids::InnerCurves() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_tc1::IfcCurve >(); } void Ifc4x3_tc1::IfcArbitraryProfileDefWithVoids::setInnerCurves(aggregate_of< ::Ifc4x3_tc1::IfcCurve >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcArbitraryProfileDefWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[56]); } const IfcParse::entity& Ifc4x3_tc1::IfcArbitraryProfileDefWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[56]); } Ifc4x3_tc1::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(IfcEntityInstanceData&& e) : IfcArbitraryClosedProfileDef(std::move(e)) { } -Ifc4x3_tc1::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcCurve* v3_OuterCurve, aggregate_of< ::Ifc4x3_tc1::IfcCurve >::ptr v4_InnerCurves) : IfcArbitraryClosedProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_InnerCurves)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcArbitraryProfileDefWithVoids::IfcArbitraryProfileDefWithVoids(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcCurve* v3_OuterCurve, aggregate_of< ::Ifc4x3_tc1::IfcCurve >::ptr v4_InnerCurves) : IfcArbitraryClosedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_OuterCurve ? v3_OuterCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_InnerCurves)->generalize());; populate_derived(); } // Function implementations for IfcAsset -boost::optional< std::string > Ifc4x3_tc1::IfcAsset::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcAsset::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcAsset::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_tc1::IfcCostValue* Ifc4x3_tc1::IfcAsset::OriginalValue() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcCostValue>(true); } +::Ifc4x3_tc1::IfcCostValue* Ifc4x3_tc1::IfcAsset::OriginalValue() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcCostValue>(true); } void Ifc4x3_tc1::IfcAsset::setOriginalValue(::Ifc4x3_tc1::IfcCostValue* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_tc1::IfcCostValue* Ifc4x3_tc1::IfcAsset::CurrentValue() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_tc1::IfcCostValue>(true); } +::Ifc4x3_tc1::IfcCostValue* Ifc4x3_tc1::IfcAsset::CurrentValue() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_tc1::IfcCostValue>(true); } void Ifc4x3_tc1::IfcAsset::setCurrentValue(::Ifc4x3_tc1::IfcCostValue* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_tc1::IfcCostValue* Ifc4x3_tc1::IfcAsset::TotalReplacementCost() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_tc1::IfcCostValue>(true); } +::Ifc4x3_tc1::IfcCostValue* Ifc4x3_tc1::IfcAsset::TotalReplacementCost() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_tc1::IfcCostValue>(true); } void Ifc4x3_tc1::IfcAsset::setTotalReplacementCost(::Ifc4x3_tc1::IfcCostValue* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_tc1::IfcActorSelect* Ifc4x3_tc1::IfcAsset::Owner() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_tc1::IfcActorSelect>(true); } +::Ifc4x3_tc1::IfcActorSelect* Ifc4x3_tc1::IfcAsset::Owner() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_tc1::IfcActorSelect>(true); } void Ifc4x3_tc1::IfcAsset::setOwner(::Ifc4x3_tc1::IfcActorSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_tc1::IfcActorSelect* Ifc4x3_tc1::IfcAsset::User() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_tc1::IfcActorSelect>(true); } +::Ifc4x3_tc1::IfcActorSelect* Ifc4x3_tc1::IfcAsset::User() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_tc1::IfcActorSelect>(true); } void Ifc4x3_tc1::IfcAsset::setUser(::Ifc4x3_tc1::IfcActorSelect* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } -::Ifc4x3_tc1::IfcPerson* Ifc4x3_tc1::IfcAsset::ResponsiblePerson() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc4x3_tc1::IfcPerson>(true); } +::Ifc4x3_tc1::IfcPerson* Ifc4x3_tc1::IfcAsset::ResponsiblePerson() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc4x3_tc1::IfcPerson>(true); } void Ifc4x3_tc1::IfcAsset::setResponsiblePerson(::Ifc4x3_tc1::IfcPerson* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } -boost::optional< std::string > Ifc4x3_tc1::IfcAsset::IncorporationDate() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcAsset::IncorporationDate() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_tc1::IfcAsset::setIncorporationDate(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4x3_tc1::IfcCostValue* Ifc4x3_tc1::IfcAsset::DepreciatedValue() const { if(data_.get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(13)))->as<::Ifc4x3_tc1::IfcCostValue>(true); } +::Ifc4x3_tc1::IfcCostValue* Ifc4x3_tc1::IfcAsset::DepreciatedValue() const { if(get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(13)))->as<::Ifc4x3_tc1::IfcCostValue>(true); } void Ifc4x3_tc1::IfcAsset::setDepreciatedValue(::Ifc4x3_tc1::IfcCostValue* v) { set_attribute_value(13, v->as());if constexpr (false)unset_attribute_value(13); } const IfcParse::entity& Ifc4x3_tc1::IfcAsset::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[62]); } const IfcParse::entity& Ifc4x3_tc1::IfcAsset::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[62]); } Ifc4x3_tc1::IfcAsset::IfcAsset(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x3_tc1::IfcAsset::IfcAsset(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcCostValue* v7_OriginalValue, ::Ifc4x3_tc1::IfcCostValue* v8_CurrentValue, ::Ifc4x3_tc1::IfcCostValue* v9_TotalReplacementCost, ::Ifc4x3_tc1::IfcActorSelect* v10_Owner, ::Ifc4x3_tc1::IfcActorSelect* v11_User, ::Ifc4x3_tc1::IfcPerson* v12_ResponsiblePerson, boost::optional< std::string > v13_IncorporationDate, ::Ifc4x3_tc1::IfcCostValue* v14_DepreciatedValue) : IfcGroup(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, v7_OriginalValue ? v7_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_CurrentValue ? v8_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_TotalReplacementCost ? v9_TotalReplacementCost->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_Owner ? v10_Owner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_User ? v11_User->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, v12_ResponsiblePerson ? v12_ResponsiblePerson->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, v14_DepreciatedValue ? v14_DepreciatedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcAsset::IfcAsset(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcCostValue* v7_OriginalValue, ::Ifc4x3_tc1::IfcCostValue* v8_CurrentValue, ::Ifc4x3_tc1::IfcCostValue* v9_TotalReplacementCost, ::Ifc4x3_tc1::IfcActorSelect* v10_Owner, ::Ifc4x3_tc1::IfcActorSelect* v11_User, ::Ifc4x3_tc1::IfcPerson* v12_ResponsiblePerson, boost::optional< std::string > v13_IncorporationDate, ::Ifc4x3_tc1::IfcCostValue* v14_DepreciatedValue) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, v7_OriginalValue ? v7_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_CurrentValue ? v8_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_TotalReplacementCost ? v9_TotalReplacementCost->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_Owner ? v10_Owner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_User ? v11_User->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, v12_ResponsiblePerson ? v12_ResponsiblePerson->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_IncorporationDate) {set_attribute_value(12, (*v13_IncorporationDate)); }set_attribute_value(13, v14_DepreciatedValue ? v14_DepreciatedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAsymmetricIShapeProfileDef -double Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::BottomFlangeWidth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::setBottomFlangeWidth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::OverallDepth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::OverallDepth() const { double v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::setOverallDepth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::BottomFlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::setBottomFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::BottomFlangeFilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::setBottomFlangeFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -double Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { double v = data_.get_attribute_value(8); return v; } +double Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::TopFlangeWidth() const { double v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::setTopFlangeWidth(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -boost::optional< double > Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::TopFlangeThickness() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::setTopFlangeThickness(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::TopFlangeFilletRadius() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::setTopFlangeFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::BottomFlangeEdgeRadius() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::setBottomFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::BottomFlangeSlope() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::setBottomFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::TopFlangeEdgeRadius() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::setTopFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::TopFlangeSlope() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::setTopFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } const IfcParse::entity& Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[63]); } const IfcParse::entity& Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[63]); } Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::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(storage_t(15))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); }; populate_derived(); } +Ifc4x3_tc1::IfcAsymmetricIShapeProfileDef::IfcAsymmetricIShapeProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::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(in_memory_attribute_storage(15))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomFlangeWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_BottomFlangeThickness)); if (v8_BottomFlangeFilletRadius) {set_attribute_value(7, (*v8_BottomFlangeFilletRadius)); }set_attribute_value(8, (v9_TopFlangeWidth)); if (v10_TopFlangeThickness) {set_attribute_value(9, (*v10_TopFlangeThickness)); } if (v11_TopFlangeFilletRadius) {set_attribute_value(10, (*v11_TopFlangeFilletRadius)); } if (v12_BottomFlangeEdgeRadius) {set_attribute_value(11, (*v12_BottomFlangeEdgeRadius)); } if (v13_BottomFlangeSlope) {set_attribute_value(12, (*v13_BottomFlangeSlope)); } if (v14_TopFlangeEdgeRadius) {set_attribute_value(13, (*v14_TopFlangeEdgeRadius)); } if (v15_TopFlangeSlope) {set_attribute_value(14, (*v15_TopFlangeSlope)); }; populate_derived(); } // Function implementations for IfcAudioVisualAppliance -boost::optional< ::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x3_tc1::IfcAudioVisualAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Value > Ifc4x3_tc1::IfcAudioVisualAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcAudioVisualAppliance::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcAudioVisualAppliance::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[64]); } const IfcParse::entity& Ifc4x3_tc1::IfcAudioVisualAppliance::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[64]); } Ifc4x3_tc1::IfcAudioVisualAppliance::IfcAudioVisualAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_tc1::IfcAudioVisualAppliance::IfcAudioVisualAppliance(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcAudioVisualAppliance::IfcAudioVisualAppliance(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcAudioVisualApplianceType -::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3_tc1::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Value Ifc4x3_tc1::IfcAudioVisualApplianceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcAudioVisualApplianceType::setPredefinedType(::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcAudioVisualApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[65]); } const IfcParse::entity& Ifc4x3_tc1::IfcAudioVisualApplianceType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[65]); } Ifc4x3_tc1::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_tc1::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcAudioVisualApplianceType::IfcAudioVisualApplianceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcAudioVisualApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcAxis1Placement -::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcAxis1Placement::Axis() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcDirection>(true); } +::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcAxis1Placement::Axis() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcDirection>(true); } void Ifc4x3_tc1::IfcAxis1Placement::setAxis(::Ifc4x3_tc1::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcAxis1Placement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[67]); } const IfcParse::entity& Ifc4x3_tc1::IfcAxis1Placement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[67]); } Ifc4x3_tc1::IfcAxis1Placement::IfcAxis1Placement(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x3_tc1::IfcAxis1Placement::IfcAxis1Placement(::Ifc4x3_tc1::IfcPoint* v1_Location, ::Ifc4x3_tc1::IfcDirection* v2_Axis) : IfcPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcAxis1Placement::IfcAxis1Placement(::Ifc4x3_tc1::IfcPoint* v1_Location, ::Ifc4x3_tc1::IfcDirection* v2_Axis) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAxis2Placement2D -::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcAxis2Placement2D::RefDirection() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcDirection>(true); } +::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcAxis2Placement2D::RefDirection() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcDirection>(true); } void Ifc4x3_tc1::IfcAxis2Placement2D::setRefDirection(::Ifc4x3_tc1::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcAxis2Placement2D::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[69]); } const IfcParse::entity& Ifc4x3_tc1::IfcAxis2Placement2D::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[69]); } Ifc4x3_tc1::IfcAxis2Placement2D::IfcAxis2Placement2D(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x3_tc1::IfcAxis2Placement2D::IfcAxis2Placement2D(::Ifc4x3_tc1::IfcPoint* v1_Location, ::Ifc4x3_tc1::IfcDirection* v2_RefDirection) : IfcPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RefDirection ? v2_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcAxis2Placement2D::IfcAxis2Placement2D(::Ifc4x3_tc1::IfcPoint* v1_Location, ::Ifc4x3_tc1::IfcDirection* v2_RefDirection) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RefDirection ? v2_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAxis2Placement3D -::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcAxis2Placement3D::Axis() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcDirection>(true); } +::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcAxis2Placement3D::Axis() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcDirection>(true); } void Ifc4x3_tc1::IfcAxis2Placement3D::setAxis(::Ifc4x3_tc1::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcAxis2Placement3D::RefDirection() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcDirection>(true); } +::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcAxis2Placement3D::RefDirection() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcDirection>(true); } void Ifc4x3_tc1::IfcAxis2Placement3D::setRefDirection(::Ifc4x3_tc1::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcAxis2Placement3D::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[70]); } const IfcParse::entity& Ifc4x3_tc1::IfcAxis2Placement3D::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[70]); } Ifc4x3_tc1::IfcAxis2Placement3D::IfcAxis2Placement3D(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x3_tc1::IfcAxis2Placement3D::IfcAxis2Placement3D(::Ifc4x3_tc1::IfcPoint* v1_Location, ::Ifc4x3_tc1::IfcDirection* v2_Axis, ::Ifc4x3_tc1::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcAxis2Placement3D::IfcAxis2Placement3D(::Ifc4x3_tc1::IfcPoint* v1_Location, ::Ifc4x3_tc1::IfcDirection* v2_Axis, ::Ifc4x3_tc1::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcAxis2PlacementLinear -::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcAxis2PlacementLinear::Axis() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcDirection>(true); } +::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcAxis2PlacementLinear::Axis() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcDirection>(true); } void Ifc4x3_tc1::IfcAxis2PlacementLinear::setAxis(::Ifc4x3_tc1::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcAxis2PlacementLinear::RefDirection() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcDirection>(true); } +::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcAxis2PlacementLinear::RefDirection() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcDirection>(true); } void Ifc4x3_tc1::IfcAxis2PlacementLinear::setRefDirection(::Ifc4x3_tc1::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcAxis2PlacementLinear::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[71]); } const IfcParse::entity& Ifc4x3_tc1::IfcAxis2PlacementLinear::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[71]); } Ifc4x3_tc1::IfcAxis2PlacementLinear::IfcAxis2PlacementLinear(IfcEntityInstanceData&& e) : IfcPlacement(std::move(e)) { } -Ifc4x3_tc1::IfcAxis2PlacementLinear::IfcAxis2PlacementLinear(::Ifc4x3_tc1::IfcPoint* v1_Location, ::Ifc4x3_tc1::IfcDirection* v2_Axis, ::Ifc4x3_tc1::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcAxis2PlacementLinear::IfcAxis2PlacementLinear(::Ifc4x3_tc1::IfcPoint* v1_Location, ::Ifc4x3_tc1::IfcDirection* v2_Axis, ::Ifc4x3_tc1::IfcDirection* v3_RefDirection) : IfcPlacement(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis ? v2_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_RefDirection ? v3_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBSplineCurve -int Ifc4x3_tc1::IfcBSplineCurve::Degree() const { int v = data_.get_attribute_value(0); return v; } +int Ifc4x3_tc1::IfcBSplineCurve::Degree() const { int v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcBSplineCurve::setDegree(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_tc1::IfcCartesianPoint >::ptr Ifc4x3_tc1::IfcBSplineCurve::ControlPointsList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcCartesianPoint >(); } +aggregate_of< ::Ifc4x3_tc1::IfcCartesianPoint >::ptr Ifc4x3_tc1::IfcBSplineCurve::ControlPointsList() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcCartesianPoint >(); } void Ifc4x3_tc1::IfcBSplineCurve::setControlPointsList(aggregate_of< ::Ifc4x3_tc1::IfcCartesianPoint >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_tc1::IfcBSplineCurveForm::Value Ifc4x3_tc1::IfcBSplineCurve::CurveForm() const { return ::Ifc4x3_tc1::IfcBSplineCurveForm::FromString(data_.get_attribute_value(2)); } +::Ifc4x3_tc1::IfcBSplineCurveForm::Value Ifc4x3_tc1::IfcBSplineCurve::CurveForm() const { return ::Ifc4x3_tc1::IfcBSplineCurveForm::FromString(get_attribute_value(2)); } void Ifc4x3_tc1::IfcBSplineCurve::setCurveForm(::Ifc4x3_tc1::IfcBSplineCurveForm::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3_tc1::IfcBSplineCurveForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -boost::logic::tribool Ifc4x3_tc1::IfcBSplineCurve::ClosedCurve() const { boost::logic::tribool v = data_.get_attribute_value(3); return v; } +boost::logic::tribool Ifc4x3_tc1::IfcBSplineCurve::ClosedCurve() const { boost::logic::tribool v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcBSplineCurve::setClosedCurve(boost::logic::tribool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::logic::tribool Ifc4x3_tc1::IfcBSplineCurve::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(4); return v; } +boost::logic::tribool Ifc4x3_tc1::IfcBSplineCurve::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcBSplineCurve::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_tc1::IfcBSplineCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[107]); } const IfcParse::entity& Ifc4x3_tc1::IfcBSplineCurve::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[107]); } Ifc4x3_tc1::IfcBSplineCurve::IfcBSplineCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_tc1::IfcBSplineCurve::IfcBSplineCurve(int v1_Degree, aggregate_of< ::Ifc4x3_tc1::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_tc1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_tc1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; populate_derived(); } +Ifc4x3_tc1::IfcBSplineCurve::IfcBSplineCurve(int v1_Degree, aggregate_of< ::Ifc4x3_tc1::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_tc1::IfcBSplineCurveForm::Value v3_CurveForm, boost::logic::tribool v4_ClosedCurve, boost::logic::tribool v5_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_tc1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));; populate_derived(); } // Function implementations for IfcBSplineCurveWithKnots -std::vector< int > /*[2:?]*/ Ifc4x3_tc1::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int > /*[2:?]*/ v = data_.get_attribute_value(5); return v; } +std::vector< int > /*[2:?]*/ Ifc4x3_tc1::IfcBSplineCurveWithKnots::KnotMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcBSplineCurveWithKnots::setKnotMultiplicities(std::vector< int > /*[2:?]*/ v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -std::vector< double > /*[2:?]*/ Ifc4x3_tc1::IfcBSplineCurveWithKnots::Knots() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(6); return v; } +std::vector< double > /*[2:?]*/ Ifc4x3_tc1::IfcBSplineCurveWithKnots::Knots() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcBSplineCurveWithKnots::setKnots(std::vector< double > /*[2:?]*/ v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_tc1::IfcKnotType::Value Ifc4x3_tc1::IfcBSplineCurveWithKnots::KnotSpec() const { return ::Ifc4x3_tc1::IfcKnotType::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_tc1::IfcKnotType::Value Ifc4x3_tc1::IfcBSplineCurveWithKnots::KnotSpec() const { return ::Ifc4x3_tc1::IfcKnotType::FromString(get_attribute_value(7)); } void Ifc4x3_tc1::IfcBSplineCurveWithKnots::setKnotSpec(::Ifc4x3_tc1::IfcKnotType::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_tc1::IfcKnotType::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_tc1::IfcBSplineCurveWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[109]); } const IfcParse::entity& Ifc4x3_tc1::IfcBSplineCurveWithKnots::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[109]); } Ifc4x3_tc1::IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(IfcEntityInstanceData&& e) : IfcBSplineCurve(std::move(e)) { } -Ifc4x3_tc1::IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x3_tc1::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_tc1::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_tc1::IfcKnotType::Value v8_KnotSpec) : IfcBSplineCurve(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_tc1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcKnotType::Class(),(size_t)v8_KnotSpec)));; populate_derived(); } +Ifc4x3_tc1::IfcBSplineCurveWithKnots::IfcBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x3_tc1::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_tc1::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_tc1::IfcKnotType::Value v8_KnotSpec) : IfcBSplineCurve(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_tc1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcKnotType::Class(),(size_t)v8_KnotSpec)));; populate_derived(); } // Function implementations for IfcBSplineSurface -int Ifc4x3_tc1::IfcBSplineSurface::UDegree() const { int v = data_.get_attribute_value(0); return v; } +int Ifc4x3_tc1::IfcBSplineSurface::UDegree() const { int v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcBSplineSurface::setUDegree(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -int Ifc4x3_tc1::IfcBSplineSurface::VDegree() const { int v = data_.get_attribute_value(1); return v; } +int Ifc4x3_tc1::IfcBSplineSurface::VDegree() const { int v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcBSplineSurface::setVDegree(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -aggregate_of_aggregate_of< ::Ifc4x3_tc1::IfcCartesianPoint >::ptr Ifc4x3_tc1::IfcBSplineSurface::ControlPointsList() const { aggregate_of_aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcCartesianPoint >(); } +aggregate_of_aggregate_of< ::Ifc4x3_tc1::IfcCartesianPoint >::ptr Ifc4x3_tc1::IfcBSplineSurface::ControlPointsList() const { aggregate_of_aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcCartesianPoint >(); } void Ifc4x3_tc1::IfcBSplineSurface::setControlPointsList(aggregate_of_aggregate_of< ::Ifc4x3_tc1::IfcCartesianPoint >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_tc1::IfcBSplineSurfaceForm::Value Ifc4x3_tc1::IfcBSplineSurface::SurfaceForm() const { return ::Ifc4x3_tc1::IfcBSplineSurfaceForm::FromString(data_.get_attribute_value(3)); } +::Ifc4x3_tc1::IfcBSplineSurfaceForm::Value Ifc4x3_tc1::IfcBSplineSurface::SurfaceForm() const { return ::Ifc4x3_tc1::IfcBSplineSurfaceForm::FromString(get_attribute_value(3)); } void Ifc4x3_tc1::IfcBSplineSurface::setSurfaceForm(::Ifc4x3_tc1::IfcBSplineSurfaceForm::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc4x3_tc1::IfcBSplineSurfaceForm::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } -boost::logic::tribool Ifc4x3_tc1::IfcBSplineSurface::UClosed() const { boost::logic::tribool v = data_.get_attribute_value(4); return v; } +boost::logic::tribool Ifc4x3_tc1::IfcBSplineSurface::UClosed() const { boost::logic::tribool v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcBSplineSurface::setUClosed(boost::logic::tribool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::logic::tribool Ifc4x3_tc1::IfcBSplineSurface::VClosed() const { boost::logic::tribool v = data_.get_attribute_value(5); return v; } +boost::logic::tribool Ifc4x3_tc1::IfcBSplineSurface::VClosed() const { boost::logic::tribool v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcBSplineSurface::setVClosed(boost::logic::tribool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::logic::tribool Ifc4x3_tc1::IfcBSplineSurface::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(6); return v; } +boost::logic::tribool Ifc4x3_tc1::IfcBSplineSurface::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcBSplineSurface::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_tc1::IfcBSplineSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[110]); } const IfcParse::entity& Ifc4x3_tc1::IfcBSplineSurface::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[110]); } Ifc4x3_tc1::IfcBSplineSurface::IfcBSplineSurface(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x3_tc1::IfcBSplineSurface::IfcBSplineSurface(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_tc1::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_tc1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_tc1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));; populate_derived(); } +Ifc4x3_tc1::IfcBSplineSurface::IfcBSplineSurface(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_tc1::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_tc1::IfcBSplineSurfaceForm::Value v4_SurfaceForm, boost::logic::tribool v5_UClosed, boost::logic::tribool v6_VClosed, boost::logic::tribool v7_SelfIntersect) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_tc1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));; populate_derived(); } // Function implementations for IfcBSplineSurfaceWithKnots -std::vector< int > /*[2:?]*/ Ifc4x3_tc1::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int > /*[2:?]*/ v = data_.get_attribute_value(7); return v; } +std::vector< int > /*[2:?]*/ Ifc4x3_tc1::IfcBSplineSurfaceWithKnots::UMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcBSplineSurfaceWithKnots::setUMultiplicities(std::vector< int > /*[2:?]*/ v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector< int > /*[2:?]*/ Ifc4x3_tc1::IfcBSplineSurfaceWithKnots::VMultiplicities() const { std::vector< int > /*[2:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< int > /*[2:?]*/ Ifc4x3_tc1::IfcBSplineSurfaceWithKnots::VMultiplicities() const { std::vector< int > /*[2:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcBSplineSurfaceWithKnots::setVMultiplicities(std::vector< int > /*[2:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -std::vector< double > /*[2:?]*/ Ifc4x3_tc1::IfcBSplineSurfaceWithKnots::UKnots() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(9); return v; } +std::vector< double > /*[2:?]*/ Ifc4x3_tc1::IfcBSplineSurfaceWithKnots::UKnots() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(9); return v; } void Ifc4x3_tc1::IfcBSplineSurfaceWithKnots::setUKnots(std::vector< double > /*[2:?]*/ v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -std::vector< double > /*[2:?]*/ Ifc4x3_tc1::IfcBSplineSurfaceWithKnots::VKnots() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(10); return v; } +std::vector< double > /*[2:?]*/ Ifc4x3_tc1::IfcBSplineSurfaceWithKnots::VKnots() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(10); return v; } void Ifc4x3_tc1::IfcBSplineSurfaceWithKnots::setVKnots(std::vector< double > /*[2:?]*/ v) { set_attribute_value(10, v);if constexpr (false)unset_attribute_value(10); } -::Ifc4x3_tc1::IfcKnotType::Value Ifc4x3_tc1::IfcBSplineSurfaceWithKnots::KnotSpec() const { return ::Ifc4x3_tc1::IfcKnotType::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_tc1::IfcKnotType::Value Ifc4x3_tc1::IfcBSplineSurfaceWithKnots::KnotSpec() const { return ::Ifc4x3_tc1::IfcKnotType::FromString(get_attribute_value(11)); } void Ifc4x3_tc1::IfcBSplineSurfaceWithKnots::setKnotSpec(::Ifc4x3_tc1::IfcKnotType::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_tc1::IfcKnotType::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_tc1::IfcBSplineSurfaceWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[112]); } const IfcParse::entity& Ifc4x3_tc1::IfcBSplineSurfaceWithKnots::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[112]); } Ifc4x3_tc1::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(IfcEntityInstanceData&& e) : IfcBSplineSurface(std::move(e)) { } -Ifc4x3_tc1::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_tc1::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_tc1::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_tc1::IfcKnotType::Value v12_KnotSpec) : IfcBSplineSurface(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_tc1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x3_tc1::IfcKnotType::Class(),(size_t)v12_KnotSpec)));; populate_derived(); } +Ifc4x3_tc1::IfcBSplineSurfaceWithKnots::IfcBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_tc1::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_tc1::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_tc1::IfcKnotType::Value v12_KnotSpec) : IfcBSplineSurface(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_tc1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x3_tc1::IfcKnotType::Class(),(size_t)v12_KnotSpec)));; populate_derived(); } // Function implementations for IfcBeam -boost::optional< ::Ifc4x3_tc1::IfcBeamTypeEnum::Value > Ifc4x3_tc1::IfcBeam::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcBeamTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcBeamTypeEnum::Value > Ifc4x3_tc1::IfcBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcBeamTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcBeam::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcBeamTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcBeamTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcBeam::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[72]); } const IfcParse::entity& Ifc4x3_tc1::IfcBeam::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[72]); } Ifc4x3_tc1::IfcBeam::IfcBeam(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_tc1::IfcBeam::IfcBeam(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcBeamTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcBeam::IfcBeam(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcBeamTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBeamType -::Ifc4x3_tc1::IfcBeamTypeEnum::Value Ifc4x3_tc1::IfcBeamType::PredefinedType() const { return ::Ifc4x3_tc1::IfcBeamTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcBeamTypeEnum::Value Ifc4x3_tc1::IfcBeamType::PredefinedType() const { return ::Ifc4x3_tc1::IfcBeamTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcBeamType::setPredefinedType(::Ifc4x3_tc1::IfcBeamTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcBeamTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcBeamType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[73]); } const IfcParse::entity& Ifc4x3_tc1::IfcBeamType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[73]); } Ifc4x3_tc1::IfcBeamType::IfcBeamType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_tc1::IfcBeamType::IfcBeamType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBeamTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcBeamType::IfcBeamType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBeamTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBearing -boost::optional< ::Ifc4x3_tc1::IfcBearingTypeEnum::Value > Ifc4x3_tc1::IfcBearing::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcBearingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcBearingTypeEnum::Value > Ifc4x3_tc1::IfcBearing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcBearingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcBearing::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcBearingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcBearingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcBearing::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[75]); } const IfcParse::entity& Ifc4x3_tc1::IfcBearing::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[75]); } Ifc4x3_tc1::IfcBearing::IfcBearing(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_tc1::IfcBearing::IfcBearing(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcBearingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcBearing::IfcBearing(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcBearingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcBearingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBearingType -::Ifc4x3_tc1::IfcBearingTypeEnum::Value Ifc4x3_tc1::IfcBearingType::PredefinedType() const { return ::Ifc4x3_tc1::IfcBearingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcBearingTypeEnum::Value Ifc4x3_tc1::IfcBearingType::PredefinedType() const { return ::Ifc4x3_tc1::IfcBearingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcBearingType::setPredefinedType(::Ifc4x3_tc1::IfcBearingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcBearingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcBearingType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[76]); } const IfcParse::entity& Ifc4x3_tc1::IfcBearingType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[76]); } Ifc4x3_tc1::IfcBearingType::IfcBearingType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_tc1::IfcBearingType::IfcBearingType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBearingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcBearingType::IfcBearingType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBearingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcBearingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBlobTexture -std::string Ifc4x3_tc1::IfcBlobTexture::RasterFormat() const { std::string v = data_.get_attribute_value(5); return v; } +std::string Ifc4x3_tc1::IfcBlobTexture::RasterFormat() const { std::string v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcBlobTexture::setRasterFormat(std::string v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::dynamic_bitset<> Ifc4x3_tc1::IfcBlobTexture::RasterCode() const { boost::dynamic_bitset<> v = data_.get_attribute_value(6); return v; } +boost::dynamic_bitset<> Ifc4x3_tc1::IfcBlobTexture::RasterCode() const { boost::dynamic_bitset<> v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcBlobTexture::setRasterCode(boost::dynamic_bitset<> v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_tc1::IfcBlobTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[81]); } const IfcParse::entity& Ifc4x3_tc1::IfcBlobTexture::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[81]); } Ifc4x3_tc1::IfcBlobTexture::IfcBlobTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -Ifc4x3_tc1::IfcBlobTexture::IfcBlobTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_tc1::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) : IfcSurfaceTexture(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode));; populate_derived(); } +Ifc4x3_tc1::IfcBlobTexture::IfcBlobTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_tc1::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_RasterFormat, boost::dynamic_bitset<> v7_RasterCode) : IfcSurfaceTexture(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_RasterFormat));set_attribute_value(6, (v7_RasterCode));; populate_derived(); } // Function implementations for IfcBlock -double Ifc4x3_tc1::IfcBlock::XLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_tc1::IfcBlock::XLength() const { double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcBlock::setXLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_tc1::IfcBlock::YLength() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_tc1::IfcBlock::YLength() const { double v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcBlock::setYLength(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_tc1::IfcBlock::ZLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_tc1::IfcBlock::ZLength() const { double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcBlock::setZLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcBlock::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[82]); } const IfcParse::entity& Ifc4x3_tc1::IfcBlock::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[82]); } Ifc4x3_tc1::IfcBlock::IfcBlock(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3_tc1::IfcBlock::IfcBlock(::Ifc4x3_tc1::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; populate_derived(); } +Ifc4x3_tc1::IfcBlock::IfcBlock(::Ifc4x3_tc1::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_ZLength) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_ZLength));; populate_derived(); } // Function implementations for IfcBoiler -boost::optional< ::Ifc4x3_tc1::IfcBoilerTypeEnum::Value > Ifc4x3_tc1::IfcBoiler::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcBoilerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcBoilerTypeEnum::Value > Ifc4x3_tc1::IfcBoiler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcBoilerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcBoiler::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcBoilerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcBoilerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcBoiler::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[83]); } const IfcParse::entity& Ifc4x3_tc1::IfcBoiler::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[83]); } Ifc4x3_tc1::IfcBoiler::IfcBoiler(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_tc1::IfcBoiler::IfcBoiler(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcBoilerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcBoiler::IfcBoiler(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcBoilerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcBoilerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBoilerType -::Ifc4x3_tc1::IfcBoilerTypeEnum::Value Ifc4x3_tc1::IfcBoilerType::PredefinedType() const { return ::Ifc4x3_tc1::IfcBoilerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcBoilerTypeEnum::Value Ifc4x3_tc1::IfcBoilerType::PredefinedType() const { return ::Ifc4x3_tc1::IfcBoilerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcBoilerType::setPredefinedType(::Ifc4x3_tc1::IfcBoilerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcBoilerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcBoilerType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[84]); } const IfcParse::entity& Ifc4x3_tc1::IfcBoilerType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[84]); } Ifc4x3_tc1::IfcBoilerType::IfcBoilerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_tc1::IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBoilerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBoilerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcBoilerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBooleanClippingResult @@ -8374,21 +8374,21 @@ Ifc4x3_tc1::IfcBoilerType::IfcBoilerType(std::string v1_GlobalId, ::Ifc4x3_tc1:: const IfcParse::entity& Ifc4x3_tc1::IfcBooleanClippingResult::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[87]); } const IfcParse::entity& Ifc4x3_tc1::IfcBooleanClippingResult::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[87]); } Ifc4x3_tc1::IfcBooleanClippingResult::IfcBooleanClippingResult(IfcEntityInstanceData&& e) : IfcBooleanResult(std::move(e)) { } -Ifc4x3_tc1::IfcBooleanClippingResult::IfcBooleanClippingResult(::Ifc4x3_tc1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_tc1::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x3_tc1::IfcBooleanOperand* v3_SecondOperand) : IfcBooleanResult(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcBooleanClippingResult::IfcBooleanClippingResult(::Ifc4x3_tc1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_tc1::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x3_tc1::IfcBooleanOperand* v3_SecondOperand) : IfcBooleanResult(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBooleanResult -::Ifc4x3_tc1::IfcBooleanOperator::Value Ifc4x3_tc1::IfcBooleanResult::Operator() const { return ::Ifc4x3_tc1::IfcBooleanOperator::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_tc1::IfcBooleanOperator::Value Ifc4x3_tc1::IfcBooleanResult::Operator() const { return ::Ifc4x3_tc1::IfcBooleanOperator::FromString(get_attribute_value(0)); } void Ifc4x3_tc1::IfcBooleanResult::setOperator(::Ifc4x3_tc1::IfcBooleanOperator::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_tc1::IfcBooleanOperator::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_tc1::IfcBooleanOperand* Ifc4x3_tc1::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcBooleanOperand>(true); } +::Ifc4x3_tc1::IfcBooleanOperand* Ifc4x3_tc1::IfcBooleanResult::FirstOperand() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcBooleanOperand>(true); } void Ifc4x3_tc1::IfcBooleanResult::setFirstOperand(::Ifc4x3_tc1::IfcBooleanOperand* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_tc1::IfcBooleanOperand* Ifc4x3_tc1::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcBooleanOperand>(true); } +::Ifc4x3_tc1::IfcBooleanOperand* Ifc4x3_tc1::IfcBooleanResult::SecondOperand() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcBooleanOperand>(true); } void Ifc4x3_tc1::IfcBooleanResult::setSecondOperand(::Ifc4x3_tc1::IfcBooleanOperand* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcBooleanResult::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[90]); } const IfcParse::entity& Ifc4x3_tc1::IfcBooleanResult::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[90]); } Ifc4x3_tc1::IfcBooleanResult::IfcBooleanResult(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcBooleanResult::IfcBooleanResult(::Ifc4x3_tc1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_tc1::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x3_tc1::IfcBooleanOperand* v3_SecondOperand) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcBooleanResult::IfcBooleanResult(::Ifc4x3_tc1::IfcBooleanOperator::Value v1_Operator, ::Ifc4x3_tc1::IfcBooleanOperand* v2_FirstOperand, ::Ifc4x3_tc1::IfcBooleanOperand* v3_SecondOperand) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcBooleanOperator::Class(),(size_t)v1_Operator)));set_attribute_value(1, v2_FirstOperand ? v2_FirstOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SecondOperand ? v3_SecondOperand->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBorehole @@ -8396,17 +8396,17 @@ Ifc4x3_tc1::IfcBooleanResult::IfcBooleanResult(::Ifc4x3_tc1::IfcBooleanOperator: const IfcParse::entity& Ifc4x3_tc1::IfcBorehole::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[91]); } const IfcParse::entity& Ifc4x3_tc1::IfcBorehole::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[91]); } Ifc4x3_tc1::IfcBorehole::IfcBorehole(IfcEntityInstanceData&& e) : IfcGeotechnicalAssembly(std::move(e)) { } -Ifc4x3_tc1::IfcBorehole::IfcBorehole(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_tc1::IfcBorehole::IfcBorehole(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcBoundaryCondition -boost::optional< std::string > Ifc4x3_tc1::IfcBoundaryCondition::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcBoundaryCondition::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcBoundaryCondition::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3_tc1::IfcBoundaryCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[92]); } const IfcParse::entity& Ifc4x3_tc1::IfcBoundaryCondition::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[92]); } Ifc4x3_tc1::IfcBoundaryCondition::IfcBoundaryCondition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_tc1::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcBoundaryCurve @@ -8414,71 +8414,71 @@ Ifc4x3_tc1::IfcBoundaryCondition::IfcBoundaryCondition(boost::optional< std::str const IfcParse::entity& Ifc4x3_tc1::IfcBoundaryCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[93]); } const IfcParse::entity& Ifc4x3_tc1::IfcBoundaryCurve::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[93]); } Ifc4x3_tc1::IfcBoundaryCurve::IfcBoundaryCurve(IfcEntityInstanceData&& e) : IfcCompositeCurveOnSurface(std::move(e)) { } -Ifc4x3_tc1::IfcBoundaryCurve::IfcBoundaryCurve(aggregate_of< ::Ifc4x3_tc1::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurveOnSurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x3_tc1::IfcBoundaryCurve::IfcBoundaryCurve(aggregate_of< ::Ifc4x3_tc1::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurveOnSurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcBoundaryEdgeCondition -::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_tc1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } +::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_tc1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthX() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3_tc1::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthX(::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_tc1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } +::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_tc1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthY() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3_tc1::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthY(::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_tc1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } +::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect* Ifc4x3_tc1::IfcBoundaryEdgeCondition::TranslationalStiffnessByLengthZ() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect>(true); } void Ifc4x3_tc1::IfcBoundaryEdgeCondition::setTranslationalStiffnessByLengthZ(::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_tc1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionSelect>(true); } +::Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_tc1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthX() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3_tc1::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthX(::Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_tc1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionSelect>(true); } +::Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_tc1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthY() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3_tc1::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthY(::Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_tc1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionSelect>(true); } +::Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionSelect* Ifc4x3_tc1::IfcBoundaryEdgeCondition::RotationalStiffnessByLengthZ() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionSelect>(true); } void Ifc4x3_tc1::IfcBoundaryEdgeCondition::setRotationalStiffnessByLengthZ(::Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_tc1::IfcBoundaryEdgeCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[94]); } const IfcParse::entity& Ifc4x3_tc1::IfcBoundaryEdgeCondition::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[94]); } Ifc4x3_tc1::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -Ifc4x3_tc1::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect* v2_TranslationalStiffnessByLengthX, ::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect* v3_TranslationalStiffnessByLengthY, ::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect* v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionSelect* v5_RotationalStiffnessByLengthX, ::Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionSelect* v6_RotationalStiffnessByLengthY, ::Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionSelect* v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByLengthX ? v2_TranslationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByLengthY ? v3_TranslationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByLengthZ ? v4_TranslationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessByLengthX ? v5_RotationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessByLengthY ? v6_RotationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessByLengthZ ? v7_RotationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcBoundaryEdgeCondition::IfcBoundaryEdgeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect* v2_TranslationalStiffnessByLengthX, ::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect* v3_TranslationalStiffnessByLengthY, ::Ifc4x3_tc1::IfcModulusOfTranslationalSubgradeReactionSelect* v4_TranslationalStiffnessByLengthZ, ::Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionSelect* v5_RotationalStiffnessByLengthX, ::Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionSelect* v6_RotationalStiffnessByLengthY, ::Ifc4x3_tc1::IfcModulusOfRotationalSubgradeReactionSelect* v7_RotationalStiffnessByLengthZ) : IfcBoundaryCondition(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByLengthX ? v2_TranslationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByLengthY ? v3_TranslationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByLengthZ ? v4_TranslationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessByLengthX ? v5_RotationalStiffnessByLengthX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessByLengthY ? v6_RotationalStiffnessByLengthY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessByLengthZ ? v7_RotationalStiffnessByLengthZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryFaceCondition -::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect* Ifc4x3_tc1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect>(true); } +::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect* Ifc4x3_tc1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaX() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3_tc1::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaX(::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect* Ifc4x3_tc1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect>(true); } +::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect* Ifc4x3_tc1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaY() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3_tc1::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaY(::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect* Ifc4x3_tc1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect>(true); } +::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect* Ifc4x3_tc1::IfcBoundaryFaceCondition::TranslationalStiffnessByAreaZ() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect>(true); } void Ifc4x3_tc1::IfcBoundaryFaceCondition::setTranslationalStiffnessByAreaZ(::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcBoundaryFaceCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[95]); } const IfcParse::entity& Ifc4x3_tc1::IfcBoundaryFaceCondition::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[95]); } Ifc4x3_tc1::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -Ifc4x3_tc1::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect* v2_TranslationalStiffnessByAreaX, ::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect* v3_TranslationalStiffnessByAreaY, ::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect* v4_TranslationalStiffnessByAreaZ) : IfcBoundaryCondition(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByAreaX ? v2_TranslationalStiffnessByAreaX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByAreaY ? v3_TranslationalStiffnessByAreaY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByAreaZ ? v4_TranslationalStiffnessByAreaZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcBoundaryFaceCondition::IfcBoundaryFaceCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect* v2_TranslationalStiffnessByAreaX, ::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect* v3_TranslationalStiffnessByAreaY, ::Ifc4x3_tc1::IfcModulusOfSubgradeReactionSelect* v4_TranslationalStiffnessByAreaZ) : IfcBoundaryCondition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessByAreaX ? v2_TranslationalStiffnessByAreaX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessByAreaY ? v3_TranslationalStiffnessByAreaY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessByAreaZ ? v4_TranslationalStiffnessByAreaZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryNodeCondition -::Ifc4x3_tc1::IfcTranslationalStiffnessSelect* Ifc4x3_tc1::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcTranslationalStiffnessSelect>(true); } +::Ifc4x3_tc1::IfcTranslationalStiffnessSelect* Ifc4x3_tc1::IfcBoundaryNodeCondition::TranslationalStiffnessX() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3_tc1::IfcBoundaryNodeCondition::setTranslationalStiffnessX(::Ifc4x3_tc1::IfcTranslationalStiffnessSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_tc1::IfcTranslationalStiffnessSelect* Ifc4x3_tc1::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcTranslationalStiffnessSelect>(true); } +::Ifc4x3_tc1::IfcTranslationalStiffnessSelect* Ifc4x3_tc1::IfcBoundaryNodeCondition::TranslationalStiffnessY() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3_tc1::IfcBoundaryNodeCondition::setTranslationalStiffnessY(::Ifc4x3_tc1::IfcTranslationalStiffnessSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_tc1::IfcTranslationalStiffnessSelect* Ifc4x3_tc1::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcTranslationalStiffnessSelect>(true); } +::Ifc4x3_tc1::IfcTranslationalStiffnessSelect* Ifc4x3_tc1::IfcBoundaryNodeCondition::TranslationalStiffnessZ() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcTranslationalStiffnessSelect>(true); } void Ifc4x3_tc1::IfcBoundaryNodeCondition::setTranslationalStiffnessZ(::Ifc4x3_tc1::IfcTranslationalStiffnessSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_tc1::IfcRotationalStiffnessSelect* Ifc4x3_tc1::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcRotationalStiffnessSelect>(true); } +::Ifc4x3_tc1::IfcRotationalStiffnessSelect* Ifc4x3_tc1::IfcBoundaryNodeCondition::RotationalStiffnessX() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcRotationalStiffnessSelect>(true); } void Ifc4x3_tc1::IfcBoundaryNodeCondition::setRotationalStiffnessX(::Ifc4x3_tc1::IfcRotationalStiffnessSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_tc1::IfcRotationalStiffnessSelect* Ifc4x3_tc1::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcRotationalStiffnessSelect>(true); } +::Ifc4x3_tc1::IfcRotationalStiffnessSelect* Ifc4x3_tc1::IfcBoundaryNodeCondition::RotationalStiffnessY() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcRotationalStiffnessSelect>(true); } void Ifc4x3_tc1::IfcBoundaryNodeCondition::setRotationalStiffnessY(::Ifc4x3_tc1::IfcRotationalStiffnessSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_tc1::IfcRotationalStiffnessSelect* Ifc4x3_tc1::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcRotationalStiffnessSelect>(true); } +::Ifc4x3_tc1::IfcRotationalStiffnessSelect* Ifc4x3_tc1::IfcBoundaryNodeCondition::RotationalStiffnessZ() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcRotationalStiffnessSelect>(true); } void Ifc4x3_tc1::IfcBoundaryNodeCondition::setRotationalStiffnessZ(::Ifc4x3_tc1::IfcRotationalStiffnessSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_tc1::IfcBoundaryNodeCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[96]); } const IfcParse::entity& Ifc4x3_tc1::IfcBoundaryNodeCondition::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[96]); } Ifc4x3_tc1::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(IfcEntityInstanceData&& e) : IfcBoundaryCondition(std::move(e)) { } -Ifc4x3_tc1::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ) : IfcBoundaryCondition(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcBoundaryNodeCondition::IfcBoundaryNodeCondition(boost::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ) : IfcBoundaryCondition(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundaryNodeConditionWarping -::Ifc4x3_tc1::IfcWarpingStiffnessSelect* Ifc4x3_tc1::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_tc1::IfcWarpingStiffnessSelect>(true); } +::Ifc4x3_tc1::IfcWarpingStiffnessSelect* Ifc4x3_tc1::IfcBoundaryNodeConditionWarping::WarpingStiffness() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_tc1::IfcWarpingStiffnessSelect>(true); } void Ifc4x3_tc1::IfcBoundaryNodeConditionWarping::setWarpingStiffness(::Ifc4x3_tc1::IfcWarpingStiffnessSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_tc1::IfcBoundaryNodeConditionWarping::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[97]); } const IfcParse::entity& Ifc4x3_tc1::IfcBoundaryNodeConditionWarping::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[97]); } Ifc4x3_tc1::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(IfcEntityInstanceData&& e) : IfcBoundaryNodeCondition(std::move(e)) { } -Ifc4x3_tc1::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ, ::Ifc4x3_tc1::IfcWarpingStiffnessSelect* v8_WarpingStiffness) : IfcBoundaryNodeCondition(IfcEntityInstanceData(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_WarpingStiffness ? v8_WarpingStiffness->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boost::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect* v2_TranslationalStiffnessX, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect* v3_TranslationalStiffnessY, ::Ifc4x3_tc1::IfcTranslationalStiffnessSelect* v4_TranslationalStiffnessZ, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect* v5_RotationalStiffnessX, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect* v6_RotationalStiffnessY, ::Ifc4x3_tc1::IfcRotationalStiffnessSelect* v7_RotationalStiffnessZ, ::Ifc4x3_tc1::IfcWarpingStiffnessSelect* v8_WarpingStiffness) : IfcBoundaryNodeCondition(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TranslationalStiffnessX ? v2_TranslationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TranslationalStiffnessY ? v3_TranslationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TranslationalStiffnessZ ? v4_TranslationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_RotationalStiffnessX ? v5_RotationalStiffnessX->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RotationalStiffnessY ? v6_RotationalStiffnessY->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RotationalStiffnessZ ? v7_RotationalStiffnessZ->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_WarpingStiffness ? v8_WarpingStiffness->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBoundedCurve @@ -8486,7 +8486,7 @@ Ifc4x3_tc1::IfcBoundaryNodeConditionWarping::IfcBoundaryNodeConditionWarping(boo const IfcParse::entity& Ifc4x3_tc1::IfcBoundedCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[98]); } const IfcParse::entity& Ifc4x3_tc1::IfcBoundedCurve::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[98]); } Ifc4x3_tc1::IfcBoundedCurve::IfcBoundedCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_tc1::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_tc1::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcBoundedSurface @@ -8494,129 +8494,129 @@ Ifc4x3_tc1::IfcBoundedCurve::IfcBoundedCurve() : IfcCurve(IfcEntityInstanceData( const IfcParse::entity& Ifc4x3_tc1::IfcBoundedSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[99]); } const IfcParse::entity& Ifc4x3_tc1::IfcBoundedSurface::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[99]); } Ifc4x3_tc1::IfcBoundedSurface::IfcBoundedSurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x3_tc1::IfcBoundedSurface::IfcBoundedSurface() : IfcSurface(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_tc1::IfcBoundedSurface::IfcBoundedSurface() : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcBoundingBox -::Ifc4x3_tc1::IfcCartesianPoint* Ifc4x3_tc1::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCartesianPoint>(true); } +::Ifc4x3_tc1::IfcCartesianPoint* Ifc4x3_tc1::IfcBoundingBox::Corner() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCartesianPoint>(true); } void Ifc4x3_tc1::IfcBoundingBox::setCorner(::Ifc4x3_tc1::IfcCartesianPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_tc1::IfcBoundingBox::XDim() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_tc1::IfcBoundingBox::XDim() const { double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcBoundingBox::setXDim(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_tc1::IfcBoundingBox::YDim() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_tc1::IfcBoundingBox::YDim() const { double v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcBoundingBox::setYDim(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_tc1::IfcBoundingBox::ZDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_tc1::IfcBoundingBox::ZDim() const { double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcBoundingBox::setZDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcBoundingBox::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[100]); } const IfcParse::entity& Ifc4x3_tc1::IfcBoundingBox::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[100]); } Ifc4x3_tc1::IfcBoundingBox::IfcBoundingBox(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcBoundingBox::IfcBoundingBox(::Ifc4x3_tc1::IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Corner ? v1_Corner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; populate_derived(); } +Ifc4x3_tc1::IfcBoundingBox::IfcBoundingBox(::Ifc4x3_tc1::IfcCartesianPoint* v1_Corner, double v2_XDim, double v3_YDim, double v4_ZDim) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Corner ? v1_Corner->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XDim));set_attribute_value(2, (v3_YDim));set_attribute_value(3, (v4_ZDim));; populate_derived(); } // Function implementations for IfcBoxedHalfSpace -::Ifc4x3_tc1::IfcBoundingBox* Ifc4x3_tc1::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcBoundingBox>(true); } +::Ifc4x3_tc1::IfcBoundingBox* Ifc4x3_tc1::IfcBoxedHalfSpace::Enclosure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcBoundingBox>(true); } void Ifc4x3_tc1::IfcBoxedHalfSpace::setEnclosure(::Ifc4x3_tc1::IfcBoundingBox* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcBoxedHalfSpace::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[102]); } const IfcParse::entity& Ifc4x3_tc1::IfcBoxedHalfSpace::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[102]); } Ifc4x3_tc1::IfcBoxedHalfSpace::IfcBoxedHalfSpace(IfcEntityInstanceData&& e) : IfcHalfSpaceSolid(std::move(e)) { } -Ifc4x3_tc1::IfcBoxedHalfSpace::IfcBoxedHalfSpace(::Ifc4x3_tc1::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_tc1::IfcBoundingBox* v3_Enclosure) : IfcHalfSpaceSolid(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Enclosure ? v3_Enclosure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcBoxedHalfSpace::IfcBoxedHalfSpace(::Ifc4x3_tc1::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_tc1::IfcBoundingBox* v3_Enclosure) : IfcHalfSpaceSolid(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Enclosure ? v3_Enclosure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBridge -boost::optional< ::Ifc4x3_tc1::IfcBridgeTypeEnum::Value > Ifc4x3_tc1::IfcBridge::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcBridgeTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_tc1::IfcBridgeTypeEnum::Value > Ifc4x3_tc1::IfcBridge::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcBridgeTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcBridge::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcBridgeTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcBridgeTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_tc1::IfcBridge::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[103]); } const IfcParse::entity& Ifc4x3_tc1::IfcBridge::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[103]); } Ifc4x3_tc1::IfcBridge::IfcBridge(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x3_tc1::IfcBridge::IfcBridge(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_tc1::IfcBridgeTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcBridge::IfcBridge(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_tc1::IfcBridgeTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcBridgeTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBridgePart -boost::optional< ::Ifc4x3_tc1::IfcBridgePartTypeEnum::Value > Ifc4x3_tc1::IfcBridgePart::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcBridgePartTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_tc1::IfcBridgePartTypeEnum::Value > Ifc4x3_tc1::IfcBridgePart::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcBridgePartTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_tc1::IfcBridgePart::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcBridgePartTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_tc1::IfcBridgePartTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_tc1::IfcBridgePart::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[104]); } const IfcParse::entity& Ifc4x3_tc1::IfcBridgePart::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[104]); } Ifc4x3_tc1::IfcBridgePart::IfcBridgePart(IfcEntityInstanceData&& e) : IfcFacilityPart(std::move(e)) { } -Ifc4x3_tc1::IfcBridgePart::IfcBridgePart(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3_tc1::IfcBridgePartTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcBridgePartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcBridgePart::IfcBridgePart(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3_tc1::IfcBridgePartTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcBridgePartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBuilding -boost::optional< double > Ifc4x3_tc1::IfcBuilding::ElevationOfRefHeight() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_tc1::IfcBuilding::ElevationOfRefHeight() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_tc1::IfcBuilding::setElevationOfRefHeight(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_tc1::IfcBuilding::ElevationOfTerrain() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_tc1::IfcBuilding::ElevationOfTerrain() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_tc1::IfcBuilding::setElevationOfTerrain(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4x3_tc1::IfcPostalAddress* Ifc4x3_tc1::IfcBuilding::BuildingAddress() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc4x3_tc1::IfcPostalAddress>(true); } +::Ifc4x3_tc1::IfcPostalAddress* Ifc4x3_tc1::IfcBuilding::BuildingAddress() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc4x3_tc1::IfcPostalAddress>(true); } void Ifc4x3_tc1::IfcBuilding::setBuildingAddress(::Ifc4x3_tc1::IfcPostalAddress* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_tc1::IfcBuilding::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[113]); } const IfcParse::entity& Ifc4x3_tc1::IfcBuilding::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[113]); } Ifc4x3_tc1::IfcBuilding::IfcBuilding(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x3_tc1::IfcBuilding::IfcBuilding(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_tc1::IfcPostalAddress* v12_BuildingAddress) : IfcFacility(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, v12_BuildingAddress ? v12_BuildingAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcBuilding::IfcBuilding(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, ::Ifc4x3_tc1::IfcPostalAddress* v12_BuildingAddress) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_ElevationOfRefHeight) {set_attribute_value(9, (*v10_ElevationOfRefHeight)); } if (v11_ElevationOfTerrain) {set_attribute_value(10, (*v11_ElevationOfTerrain)); }set_attribute_value(11, v12_BuildingAddress ? v12_BuildingAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcBuildingElementPart -boost::optional< ::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Value > Ifc4x3_tc1::IfcBuildingElementPart::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Value > Ifc4x3_tc1::IfcBuildingElementPart::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcBuildingElementPart::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcBuildingElementPart::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[114]); } const IfcParse::entity& Ifc4x3_tc1::IfcBuildingElementPart::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[114]); } Ifc4x3_tc1::IfcBuildingElementPart::IfcBuildingElementPart(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_tc1::IfcBuildingElementPart::IfcBuildingElementPart(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcBuildingElementPart::IfcBuildingElementPart(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBuildingElementPartType -::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Value Ifc4x3_tc1::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Value Ifc4x3_tc1::IfcBuildingElementPartType::PredefinedType() const { return ::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcBuildingElementPartType::setPredefinedType(::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcBuildingElementPartType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[115]); } const IfcParse::entity& Ifc4x3_tc1::IfcBuildingElementPartType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[115]); } Ifc4x3_tc1::IfcBuildingElementPartType::IfcBuildingElementPartType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_tc1::IfcBuildingElementPartType::IfcBuildingElementPartType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcBuildingElementPartType::IfcBuildingElementPartType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcBuildingElementPartTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBuildingElementProxy -boost::optional< ::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Value > Ifc4x3_tc1::IfcBuildingElementProxy::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Value > Ifc4x3_tc1::IfcBuildingElementProxy::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcBuildingElementProxy::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcBuildingElementProxy::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[117]); } const IfcParse::entity& Ifc4x3_tc1::IfcBuildingElementProxy::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[117]); } Ifc4x3_tc1::IfcBuildingElementProxy::IfcBuildingElementProxy(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_tc1::IfcBuildingElementProxy::IfcBuildingElementProxy(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcBuildingElementProxy::IfcBuildingElementProxy(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBuildingElementProxyType -::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Value Ifc4x3_tc1::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Value Ifc4x3_tc1::IfcBuildingElementProxyType::PredefinedType() const { return ::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcBuildingElementProxyType::setPredefinedType(::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcBuildingElementProxyType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[118]); } const IfcParse::entity& Ifc4x3_tc1::IfcBuildingElementProxyType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[118]); } Ifc4x3_tc1::IfcBuildingElementProxyType::IfcBuildingElementProxyType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_tc1::IfcBuildingElementProxyType::IfcBuildingElementProxyType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcBuildingElementProxyType::IfcBuildingElementProxyType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcBuildingElementProxyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcBuildingStorey -boost::optional< double > Ifc4x3_tc1::IfcBuildingStorey::Elevation() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_tc1::IfcBuildingStorey::Elevation() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_tc1::IfcBuildingStorey::setElevation(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_tc1::IfcBuildingStorey::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[120]); } const IfcParse::entity& Ifc4x3_tc1::IfcBuildingStorey::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[120]); } Ifc4x3_tc1::IfcBuildingStorey::IfcBuildingStorey(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x3_tc1::IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_Elevation) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; populate_derived(); } +Ifc4x3_tc1::IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< double > v10_Elevation) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_Elevation) {set_attribute_value(9, (*v10_Elevation)); }; populate_derived(); } // Function implementations for IfcBuildingSystem -boost::optional< ::Ifc4x3_tc1::IfcBuildingSystemTypeEnum::Value > Ifc4x3_tc1::IfcBuildingSystem::PredefinedType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcBuildingSystemTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3_tc1::IfcBuildingSystemTypeEnum::Value > Ifc4x3_tc1::IfcBuildingSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcBuildingSystemTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_tc1::IfcBuildingSystem::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcBuildingSystemTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3_tc1::IfcBuildingSystemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_tc1::IfcBuildingSystem::LongName() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcBuildingSystem::LongName() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcBuildingSystem::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_tc1::IfcBuildingSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[121]); } const IfcParse::entity& Ifc4x3_tc1::IfcBuildingSystem::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[121]); } Ifc4x3_tc1::IfcBuildingSystem::IfcBuildingSystem(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3_tc1::IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_tc1::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_tc1::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } +Ifc4x3_tc1::IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_tc1::IfcBuildingSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_tc1::IfcBuildingSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } // Function implementations for IfcBuiltElement @@ -8624,7 +8624,7 @@ Ifc4x3_tc1::IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3_tc1::IfcBuiltElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[123]); } const IfcParse::entity& Ifc4x3_tc1::IfcBuiltElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[123]); } Ifc4x3_tc1::IfcBuiltElement::IfcBuiltElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_tc1::IfcBuiltElement::IfcBuiltElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_tc1::IfcBuiltElement::IfcBuiltElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcBuiltElementType @@ -8632,167 +8632,167 @@ Ifc4x3_tc1::IfcBuiltElement::IfcBuiltElement(std::string v1_GlobalId, ::Ifc4x3_t const IfcParse::entity& Ifc4x3_tc1::IfcBuiltElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[124]); } const IfcParse::entity& Ifc4x3_tc1::IfcBuiltElementType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[124]); } Ifc4x3_tc1::IfcBuiltElementType::IfcBuiltElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_tc1::IfcBuiltElementType::IfcBuiltElementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_tc1::IfcBuiltElementType::IfcBuiltElementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcBuiltSystem -boost::optional< ::Ifc4x3_tc1::IfcBuiltSystemTypeEnum::Value > Ifc4x3_tc1::IfcBuiltSystem::PredefinedType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcBuiltSystemTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3_tc1::IfcBuiltSystemTypeEnum::Value > Ifc4x3_tc1::IfcBuiltSystem::PredefinedType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcBuiltSystemTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_tc1::IfcBuiltSystem::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcBuiltSystemTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3_tc1::IfcBuiltSystemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_tc1::IfcBuiltSystem::LongName() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcBuiltSystem::LongName() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcBuiltSystem::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_tc1::IfcBuiltSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[125]); } const IfcParse::entity& Ifc4x3_tc1::IfcBuiltSystem::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[125]); } Ifc4x3_tc1::IfcBuiltSystem::IfcBuiltSystem(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3_tc1::IfcBuiltSystem::IfcBuiltSystem(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_tc1::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_tc1::IfcBuiltSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } +Ifc4x3_tc1::IfcBuiltSystem::IfcBuiltSystem(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_tc1::IfcBuiltSystemTypeEnum::Value > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_tc1::IfcBuiltSystemTypeEnum::Class(),(size_t)*v6_PredefinedType))); } if (v7_LongName) {set_attribute_value(6, (*v7_LongName)); }; populate_derived(); } // Function implementations for IfcBurner -boost::optional< ::Ifc4x3_tc1::IfcBurnerTypeEnum::Value > Ifc4x3_tc1::IfcBurner::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcBurnerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcBurnerTypeEnum::Value > Ifc4x3_tc1::IfcBurner::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcBurnerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcBurner::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcBurnerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcBurnerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcBurner::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[127]); } const IfcParse::entity& Ifc4x3_tc1::IfcBurner::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[127]); } Ifc4x3_tc1::IfcBurner::IfcBurner(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_tc1::IfcBurner::IfcBurner(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcBurnerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcBurner::IfcBurner(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcBurnerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcBurnerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcBurnerType -::Ifc4x3_tc1::IfcBurnerTypeEnum::Value Ifc4x3_tc1::IfcBurnerType::PredefinedType() const { return ::Ifc4x3_tc1::IfcBurnerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcBurnerTypeEnum::Value Ifc4x3_tc1::IfcBurnerType::PredefinedType() const { return ::Ifc4x3_tc1::IfcBurnerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcBurnerType::setPredefinedType(::Ifc4x3_tc1::IfcBurnerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcBurnerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcBurnerType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[128]); } const IfcParse::entity& Ifc4x3_tc1::IfcBurnerType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[128]); } Ifc4x3_tc1::IfcBurnerType::IfcBurnerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_tc1::IfcBurnerType::IfcBurnerType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBurnerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcBurnerType::IfcBurnerType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcBurnerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcBurnerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCShapeProfileDef -double Ifc4x3_tc1::IfcCShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_tc1::IfcCShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcCShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_tc1::IfcCShapeProfileDef::Width() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_tc1::IfcCShapeProfileDef::Width() const { double v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcCShapeProfileDef::setWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_tc1::IfcCShapeProfileDef::WallThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_tc1::IfcCShapeProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcCShapeProfileDef::setWallThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_tc1::IfcCShapeProfileDef::Girth() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_tc1::IfcCShapeProfileDef::Girth() const { double v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcCShapeProfileDef::setGirth(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_tc1::IfcCShapeProfileDef::InternalFilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_tc1::IfcCShapeProfileDef::InternalFilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcCShapeProfileDef::setInternalFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_tc1::IfcCShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[265]); } const IfcParse::entity& Ifc4x3_tc1::IfcCShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[265]); } Ifc4x3_tc1::IfcCShapeProfileDef::IfcCShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_tc1::IfcCShapeProfileDef::IfcCShapeProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, boost::optional< double > v8_InternalFilletRadius) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); }; populate_derived(); } +Ifc4x3_tc1::IfcCShapeProfileDef::IfcCShapeProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D* v3_Position, double v4_Depth, double v5_Width, double v6_WallThickness, double v7_Girth, boost::optional< double > v8_InternalFilletRadius) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_Width));set_attribute_value(5, (v6_WallThickness));set_attribute_value(6, (v7_Girth)); if (v8_InternalFilletRadius) {set_attribute_value(7, (*v8_InternalFilletRadius)); }; populate_derived(); } // Function implementations for IfcCableCarrierFitting -boost::optional< ::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Value > Ifc4x3_tc1::IfcCableCarrierFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Value > Ifc4x3_tc1::IfcCableCarrierFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcCableCarrierFitting::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcCableCarrierFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[130]); } const IfcParse::entity& Ifc4x3_tc1::IfcCableCarrierFitting::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[130]); } Ifc4x3_tc1::IfcCableCarrierFitting::IfcCableCarrierFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x3_tc1::IfcCableCarrierFitting::IfcCableCarrierFitting(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcCableCarrierFitting::IfcCableCarrierFitting(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableCarrierFittingType -::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Value Ifc4x3_tc1::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Value Ifc4x3_tc1::IfcCableCarrierFittingType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcCableCarrierFittingType::setPredefinedType(::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcCableCarrierFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[131]); } const IfcParse::entity& Ifc4x3_tc1::IfcCableCarrierFittingType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[131]); } Ifc4x3_tc1::IfcCableCarrierFittingType::IfcCableCarrierFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x3_tc1::IfcCableCarrierFittingType::IfcCableCarrierFittingType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcCableCarrierFittingType::IfcCableCarrierFittingType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcCableCarrierFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCableCarrierSegment -boost::optional< ::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x3_tc1::IfcCableCarrierSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Value > Ifc4x3_tc1::IfcCableCarrierSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcCableCarrierSegment::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcCableCarrierSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[133]); } const IfcParse::entity& Ifc4x3_tc1::IfcCableCarrierSegment::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[133]); } Ifc4x3_tc1::IfcCableCarrierSegment::IfcCableCarrierSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x3_tc1::IfcCableCarrierSegment::IfcCableCarrierSegment(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcCableCarrierSegment::IfcCableCarrierSegment(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableCarrierSegmentType -::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3_tc1::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Value Ifc4x3_tc1::IfcCableCarrierSegmentType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcCableCarrierSegmentType::setPredefinedType(::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcCableCarrierSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[134]); } const IfcParse::entity& Ifc4x3_tc1::IfcCableCarrierSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[134]); } Ifc4x3_tc1::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x3_tc1::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcCableCarrierSegmentType::IfcCableCarrierSegmentType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcCableCarrierSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCableFitting -boost::optional< ::Ifc4x3_tc1::IfcCableFittingTypeEnum::Value > Ifc4x3_tc1::IfcCableFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCableFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcCableFittingTypeEnum::Value > Ifc4x3_tc1::IfcCableFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCableFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcCableFitting::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcCableFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcCableFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcCableFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[136]); } const IfcParse::entity& Ifc4x3_tc1::IfcCableFitting::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[136]); } Ifc4x3_tc1::IfcCableFitting::IfcCableFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x3_tc1::IfcCableFitting::IfcCableFitting(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcCableFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcCableFitting::IfcCableFitting(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcCableFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcCableFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableFittingType -::Ifc4x3_tc1::IfcCableFittingTypeEnum::Value Ifc4x3_tc1::IfcCableFittingType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCableFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcCableFittingTypeEnum::Value Ifc4x3_tc1::IfcCableFittingType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCableFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcCableFittingType::setPredefinedType(::Ifc4x3_tc1::IfcCableFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcCableFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcCableFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[137]); } const IfcParse::entity& Ifc4x3_tc1::IfcCableFittingType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[137]); } Ifc4x3_tc1::IfcCableFittingType::IfcCableFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x3_tc1::IfcCableFittingType::IfcCableFittingType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCableFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcCableFittingType::IfcCableFittingType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCableFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcCableFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCableSegment -boost::optional< ::Ifc4x3_tc1::IfcCableSegmentTypeEnum::Value > Ifc4x3_tc1::IfcCableSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCableSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcCableSegmentTypeEnum::Value > Ifc4x3_tc1::IfcCableSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCableSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcCableSegment::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcCableSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcCableSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcCableSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[139]); } const IfcParse::entity& Ifc4x3_tc1::IfcCableSegment::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[139]); } Ifc4x3_tc1::IfcCableSegment::IfcCableSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x3_tc1::IfcCableSegment::IfcCableSegment(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcCableSegment::IfcCableSegment(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcCableSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcCableSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCableSegmentType -::Ifc4x3_tc1::IfcCableSegmentTypeEnum::Value Ifc4x3_tc1::IfcCableSegmentType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCableSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcCableSegmentTypeEnum::Value Ifc4x3_tc1::IfcCableSegmentType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCableSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcCableSegmentType::setPredefinedType(::Ifc4x3_tc1::IfcCableSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcCableSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcCableSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[140]); } const IfcParse::entity& Ifc4x3_tc1::IfcCableSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[140]); } Ifc4x3_tc1::IfcCableSegmentType::IfcCableSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x3_tc1::IfcCableSegmentType::IfcCableSegmentType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCableSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcCableSegmentType::IfcCableSegmentType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCableSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcCableSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCaissonFoundation -boost::optional< ::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Value > Ifc4x3_tc1::IfcCaissonFoundation::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Value > Ifc4x3_tc1::IfcCaissonFoundation::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcCaissonFoundation::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcCaissonFoundation::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[142]); } const IfcParse::entity& Ifc4x3_tc1::IfcCaissonFoundation::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[142]); } Ifc4x3_tc1::IfcCaissonFoundation::IfcCaissonFoundation(IfcEntityInstanceData&& e) : IfcDeepFoundation(std::move(e)) { } -Ifc4x3_tc1::IfcCaissonFoundation::IfcCaissonFoundation(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType) : IfcDeepFoundation(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcCaissonFoundation::IfcCaissonFoundation(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Value > v9_PredefinedType) : IfcDeepFoundation(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCaissonFoundationType -::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Value Ifc4x3_tc1::IfcCaissonFoundationType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Value Ifc4x3_tc1::IfcCaissonFoundationType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcCaissonFoundationType::setPredefinedType(::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcCaissonFoundationType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[143]); } const IfcParse::entity& Ifc4x3_tc1::IfcCaissonFoundationType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[143]); } Ifc4x3_tc1::IfcCaissonFoundationType::IfcCaissonFoundationType(IfcEntityInstanceData&& e) : IfcDeepFoundationType(std::move(e)) { } -Ifc4x3_tc1::IfcCaissonFoundationType::IfcCaissonFoundationType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcCaissonFoundationType::IfcCaissonFoundationType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcCaissonFoundationTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCartesianPoint -std::vector< double > /*[1:3]*/ Ifc4x3_tc1::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[1:3]*/ Ifc4x3_tc1::IfcCartesianPoint::Coordinates() const { std::vector< double > /*[1:3]*/ v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcCartesianPoint::setCoordinates(std::vector< double > /*[1:3]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_tc1::IfcCartesianPoint::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[146]); } const IfcParse::entity& Ifc4x3_tc1::IfcCartesianPoint::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[146]); } Ifc4x3_tc1::IfcCartesianPoint::IfcCartesianPoint(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x3_tc1::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ v1_Coordinates) : IfcPoint(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } +Ifc4x3_tc1::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ v1_Coordinates) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } // Function implementations for IfcCartesianPointList @@ -8800,47 +8800,47 @@ Ifc4x3_tc1::IfcCartesianPoint::IfcCartesianPoint(std::vector< double > /*[1:3]*/ const IfcParse::entity& Ifc4x3_tc1::IfcCartesianPointList::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[147]); } const IfcParse::entity& Ifc4x3_tc1::IfcCartesianPointList::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[147]); } Ifc4x3_tc1::IfcCartesianPointList::IfcCartesianPointList(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcCartesianPointList::IfcCartesianPointList() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_tc1::IfcCartesianPointList::IfcCartesianPointList() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcCartesianPointList2D -std::vector< std::vector< double > > Ifc4x3_tc1::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x3_tc1::IfcCartesianPointList2D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcCartesianPointList2D::setCoordList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_tc1::IfcCartesianPointList2D::TagList() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_tc1::IfcCartesianPointList2D::TagList() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcCartesianPointList2D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_tc1::IfcCartesianPointList2D::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[148]); } const IfcParse::entity& Ifc4x3_tc1::IfcCartesianPointList2D::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[148]); } Ifc4x3_tc1::IfcCartesianPointList2D::IfcCartesianPointList2D(IfcEntityInstanceData&& e) : IfcCartesianPointList(std::move(e)) { } -Ifc4x3_tc1::IfcCartesianPointList2D::IfcCartesianPointList2D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } +Ifc4x3_tc1::IfcCartesianPointList2D::IfcCartesianPointList2D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } // Function implementations for IfcCartesianPointList3D -std::vector< std::vector< double > > Ifc4x3_tc1::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x3_tc1::IfcCartesianPointList3D::CoordList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcCartesianPointList3D::setCoordList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_tc1::IfcCartesianPointList3D::TagList() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_tc1::IfcCartesianPointList3D::TagList() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcCartesianPointList3D::setTagList(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_tc1::IfcCartesianPointList3D::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[149]); } const IfcParse::entity& Ifc4x3_tc1::IfcCartesianPointList3D::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[149]); } Ifc4x3_tc1::IfcCartesianPointList3D::IfcCartesianPointList3D(IfcEntityInstanceData&& e) : IfcCartesianPointList(std::move(e)) { } -Ifc4x3_tc1::IfcCartesianPointList3D::IfcCartesianPointList3D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } +Ifc4x3_tc1::IfcCartesianPointList3D::IfcCartesianPointList3D(std::vector< std::vector< double > > v1_CoordList, boost::optional< std::vector< std::string > /*[1:?]*/ > v2_TagList) : IfcCartesianPointList(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_CoordList)); if (v2_TagList) {set_attribute_value(1, (*v2_TagList)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator -::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcCartesianTransformationOperator::Axis1() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcDirection>(true); } +::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcCartesianTransformationOperator::Axis1() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcDirection>(true); } void Ifc4x3_tc1::IfcCartesianTransformationOperator::setAxis1(::Ifc4x3_tc1::IfcDirection* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcCartesianTransformationOperator::Axis2() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcDirection>(true); } +::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcCartesianTransformationOperator::Axis2() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcDirection>(true); } void Ifc4x3_tc1::IfcCartesianTransformationOperator::setAxis2(::Ifc4x3_tc1::IfcDirection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_tc1::IfcCartesianPoint* Ifc4x3_tc1::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcCartesianPoint>(true); } +::Ifc4x3_tc1::IfcCartesianPoint* Ifc4x3_tc1::IfcCartesianTransformationOperator::LocalOrigin() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcCartesianPoint>(true); } void Ifc4x3_tc1::IfcCartesianTransformationOperator::setLocalOrigin(::Ifc4x3_tc1::IfcCartesianPoint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4x3_tc1::IfcCartesianTransformationOperator::Scale() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_tc1::IfcCartesianTransformationOperator::Scale() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcCartesianTransformationOperator::setScale(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_tc1::IfcCartesianTransformationOperator::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[150]); } const IfcParse::entity& Ifc4x3_tc1::IfcCartesianTransformationOperator::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[150]); } Ifc4x3_tc1::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(::Ifc4x3_tc1::IfcDirection* v1_Axis1, ::Ifc4x3_tc1::IfcDirection* v2_Axis2, ::Ifc4x3_tc1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } +Ifc4x3_tc1::IfcCartesianTransformationOperator::IfcCartesianTransformationOperator(::Ifc4x3_tc1::IfcDirection* v1_Axis1, ::Ifc4x3_tc1::IfcDirection* v2_Axis2, ::Ifc4x3_tc1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator2D @@ -8848,119 +8848,119 @@ Ifc4x3_tc1::IfcCartesianTransformationOperator::IfcCartesianTransformationOperat const IfcParse::entity& Ifc4x3_tc1::IfcCartesianTransformationOperator2D::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[151]); } const IfcParse::entity& Ifc4x3_tc1::IfcCartesianTransformationOperator2D::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[151]); } Ifc4x3_tc1::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator(std::move(e)) { } -Ifc4x3_tc1::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(::Ifc4x3_tc1::IfcDirection* v1_Axis1, ::Ifc4x3_tc1::IfcDirection* v2_Axis2, ::Ifc4x3_tc1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcCartesianTransformationOperator(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } +Ifc4x3_tc1::IfcCartesianTransformationOperator2D::IfcCartesianTransformationOperator2D(::Ifc4x3_tc1::IfcDirection* v1_Axis1, ::Ifc4x3_tc1::IfcDirection* v2_Axis2, ::Ifc4x3_tc1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale) : IfcCartesianTransformationOperator(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator2DnonUniform -boost::optional< double > Ifc4x3_tc1::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_tc1::IfcCartesianTransformationOperator2DnonUniform::Scale2() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcCartesianTransformationOperator2DnonUniform::setScale2(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_tc1::IfcCartesianTransformationOperator2DnonUniform::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[152]); } const IfcParse::entity& Ifc4x3_tc1::IfcCartesianTransformationOperator2DnonUniform::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[152]); } Ifc4x3_tc1::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator2D(std::move(e)) { } -Ifc4x3_tc1::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(::Ifc4x3_tc1::IfcDirection* v1_Axis1, ::Ifc4x3_tc1::IfcDirection* v2_Axis2, ::Ifc4x3_tc1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2) : IfcCartesianTransformationOperator2D(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; populate_derived(); } +Ifc4x3_tc1::IfcCartesianTransformationOperator2DnonUniform::IfcCartesianTransformationOperator2DnonUniform(::Ifc4x3_tc1::IfcDirection* v1_Axis1, ::Ifc4x3_tc1::IfcDirection* v2_Axis2, ::Ifc4x3_tc1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, boost::optional< double > v5_Scale2) : IfcCartesianTransformationOperator2D(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); } if (v5_Scale2) {set_attribute_value(4, (*v5_Scale2)); }; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator3D -::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcCartesianTransformationOperator3D::Axis3() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcDirection>(true); } +::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcCartesianTransformationOperator3D::Axis3() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcDirection>(true); } void Ifc4x3_tc1::IfcCartesianTransformationOperator3D::setAxis3(::Ifc4x3_tc1::IfcDirection* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_tc1::IfcCartesianTransformationOperator3D::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[153]); } const IfcParse::entity& Ifc4x3_tc1::IfcCartesianTransformationOperator3D::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[153]); } Ifc4x3_tc1::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator(std::move(e)) { } -Ifc4x3_tc1::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(::Ifc4x3_tc1::IfcDirection* v1_Axis1, ::Ifc4x3_tc1::IfcDirection* v2_Axis2, ::Ifc4x3_tc1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x3_tc1::IfcDirection* v5_Axis3) : IfcCartesianTransformationOperator(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcCartesianTransformationOperator3D::IfcCartesianTransformationOperator3D(::Ifc4x3_tc1::IfcDirection* v1_Axis1, ::Ifc4x3_tc1::IfcDirection* v2_Axis2, ::Ifc4x3_tc1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x3_tc1::IfcDirection* v5_Axis3) : IfcCartesianTransformationOperator(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCartesianTransformationOperator3DnonUniform -boost::optional< double > Ifc4x3_tc1::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_tc1::IfcCartesianTransformationOperator3DnonUniform::Scale2() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcCartesianTransformationOperator3DnonUniform::setScale2(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_tc1::IfcCartesianTransformationOperator3DnonUniform::Scale3() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_tc1::IfcCartesianTransformationOperator3DnonUniform::Scale3() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcCartesianTransformationOperator3DnonUniform::setScale3(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_tc1::IfcCartesianTransformationOperator3DnonUniform::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[154]); } const IfcParse::entity& Ifc4x3_tc1::IfcCartesianTransformationOperator3DnonUniform::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[154]); } Ifc4x3_tc1::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(IfcEntityInstanceData&& e) : IfcCartesianTransformationOperator3D(std::move(e)) { } -Ifc4x3_tc1::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(::Ifc4x3_tc1::IfcDirection* v1_Axis1, ::Ifc4x3_tc1::IfcDirection* v2_Axis2, ::Ifc4x3_tc1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x3_tc1::IfcDirection* v5_Axis3, boost::optional< double > v6_Scale2, boost::optional< double > v7_Scale3) : IfcCartesianTransformationOperator3D(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; populate_derived(); } +Ifc4x3_tc1::IfcCartesianTransformationOperator3DnonUniform::IfcCartesianTransformationOperator3DnonUniform(::Ifc4x3_tc1::IfcDirection* v1_Axis1, ::Ifc4x3_tc1::IfcDirection* v2_Axis2, ::Ifc4x3_tc1::IfcCartesianPoint* v3_LocalOrigin, boost::optional< double > v4_Scale, ::Ifc4x3_tc1::IfcDirection* v5_Axis3, boost::optional< double > v6_Scale2, boost::optional< double > v7_Scale3) : IfcCartesianTransformationOperator3D(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_Axis1 ? v1_Axis1->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Axis2 ? v2_Axis2->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_LocalOrigin ? v3_LocalOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Scale) {set_attribute_value(3, (*v4_Scale)); }set_attribute_value(4, v5_Axis3 ? v5_Axis3->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_Scale2) {set_attribute_value(5, (*v6_Scale2)); } if (v7_Scale3) {set_attribute_value(6, (*v7_Scale3)); }; populate_derived(); } // Function implementations for IfcCenterLineProfileDef -double Ifc4x3_tc1::IfcCenterLineProfileDef::Thickness() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_tc1::IfcCenterLineProfileDef::Thickness() const { double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcCenterLineProfileDef::setThickness(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcCenterLineProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[155]); } const IfcParse::entity& Ifc4x3_tc1::IfcCenterLineProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[155]); } Ifc4x3_tc1::IfcCenterLineProfileDef::IfcCenterLineProfileDef(IfcEntityInstanceData&& e) : IfcArbitraryOpenProfileDef(std::move(e)) { } -Ifc4x3_tc1::IfcCenterLineProfileDef::IfcCenterLineProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcBoundedCurve* v3_Curve, double v4_Thickness) : IfcArbitraryOpenProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Thickness));; populate_derived(); } +Ifc4x3_tc1::IfcCenterLineProfileDef::IfcCenterLineProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcBoundedCurve* v3_Curve, double v4_Thickness) : IfcArbitraryOpenProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Curve ? v3_Curve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Thickness));; populate_derived(); } // Function implementations for IfcChiller -boost::optional< ::Ifc4x3_tc1::IfcChillerTypeEnum::Value > Ifc4x3_tc1::IfcChiller::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcChillerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcChillerTypeEnum::Value > Ifc4x3_tc1::IfcChiller::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcChillerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcChiller::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcChillerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcChillerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcChiller::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[157]); } const IfcParse::entity& Ifc4x3_tc1::IfcChiller::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[157]); } Ifc4x3_tc1::IfcChiller::IfcChiller(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_tc1::IfcChiller::IfcChiller(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcChillerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcChiller::IfcChiller(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcChillerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcChillerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcChillerType -::Ifc4x3_tc1::IfcChillerTypeEnum::Value Ifc4x3_tc1::IfcChillerType::PredefinedType() const { return ::Ifc4x3_tc1::IfcChillerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcChillerTypeEnum::Value Ifc4x3_tc1::IfcChillerType::PredefinedType() const { return ::Ifc4x3_tc1::IfcChillerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcChillerType::setPredefinedType(::Ifc4x3_tc1::IfcChillerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcChillerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcChillerType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[158]); } const IfcParse::entity& Ifc4x3_tc1::IfcChillerType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[158]); } Ifc4x3_tc1::IfcChillerType::IfcChillerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_tc1::IfcChillerType::IfcChillerType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcChillerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcChillerType::IfcChillerType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcChillerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcChillerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcChimney -boost::optional< ::Ifc4x3_tc1::IfcChimneyTypeEnum::Value > Ifc4x3_tc1::IfcChimney::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcChimneyTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcChimneyTypeEnum::Value > Ifc4x3_tc1::IfcChimney::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcChimneyTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcChimney::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcChimneyTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcChimneyTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcChimney::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[160]); } const IfcParse::entity& Ifc4x3_tc1::IfcChimney::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[160]); } Ifc4x3_tc1::IfcChimney::IfcChimney(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_tc1::IfcChimney::IfcChimney(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcChimneyTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcChimney::IfcChimney(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcChimneyTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcChimneyTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcChimneyType -::Ifc4x3_tc1::IfcChimneyTypeEnum::Value Ifc4x3_tc1::IfcChimneyType::PredefinedType() const { return ::Ifc4x3_tc1::IfcChimneyTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcChimneyTypeEnum::Value Ifc4x3_tc1::IfcChimneyType::PredefinedType() const { return ::Ifc4x3_tc1::IfcChimneyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcChimneyType::setPredefinedType(::Ifc4x3_tc1::IfcChimneyTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcChimneyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcChimneyType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[161]); } const IfcParse::entity& Ifc4x3_tc1::IfcChimneyType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[161]); } Ifc4x3_tc1::IfcChimneyType::IfcChimneyType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_tc1::IfcChimneyType::IfcChimneyType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcChimneyTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcChimneyType::IfcChimneyType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcChimneyTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcChimneyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCircle -double Ifc4x3_tc1::IfcCircle::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_tc1::IfcCircle::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcCircle::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcCircle::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[163]); } const IfcParse::entity& Ifc4x3_tc1::IfcCircle::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[163]); } Ifc4x3_tc1::IfcCircle::IfcCircle(IfcEntityInstanceData&& e) : IfcConic(std::move(e)) { } -Ifc4x3_tc1::IfcCircle::IfcCircle(::Ifc4x3_tc1::IfcAxis2Placement* v1_Position, double v2_Radius) : IfcConic(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x3_tc1::IfcCircle::IfcCircle(::Ifc4x3_tc1::IfcAxis2Placement* v1_Position, double v2_Radius) : IfcConic(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcCircleHollowProfileDef -double Ifc4x3_tc1::IfcCircleHollowProfileDef::WallThickness() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_tc1::IfcCircleHollowProfileDef::WallThickness() const { double v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcCircleHollowProfileDef::setWallThickness(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_tc1::IfcCircleHollowProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[164]); } const IfcParse::entity& Ifc4x3_tc1::IfcCircleHollowProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[164]); } Ifc4x3_tc1::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(IfcEntityInstanceData&& e) : IfcCircleProfileDef(std::move(e)) { } -Ifc4x3_tc1::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D* v3_Position, double v4_Radius, double v5_WallThickness) : IfcCircleProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; populate_derived(); } +Ifc4x3_tc1::IfcCircleHollowProfileDef::IfcCircleHollowProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D* v3_Position, double v4_Radius, double v5_WallThickness) : IfcCircleProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));set_attribute_value(4, (v5_WallThickness));; populate_derived(); } // Function implementations for IfcCircleProfileDef -double Ifc4x3_tc1::IfcCircleProfileDef::Radius() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_tc1::IfcCircleProfileDef::Radius() const { double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcCircleProfileDef::setRadius(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcCircleProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[165]); } const IfcParse::entity& Ifc4x3_tc1::IfcCircleProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[165]); } Ifc4x3_tc1::IfcCircleProfileDef::IfcCircleProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_tc1::IfcCircleProfileDef::IfcCircleProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D* v3_Position, double v4_Radius) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));; populate_derived(); } +Ifc4x3_tc1::IfcCircleProfileDef::IfcCircleProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D* v3_Position, double v4_Radius) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Radius));; populate_derived(); } // Function implementations for IfcCivilElement @@ -8968,7 +8968,7 @@ Ifc4x3_tc1::IfcCircleProfileDef::IfcCircleProfileDef(::Ifc4x3_tc1::IfcProfileTyp const IfcParse::entity& Ifc4x3_tc1::IfcCivilElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[166]); } const IfcParse::entity& Ifc4x3_tc1::IfcCivilElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[166]); } Ifc4x3_tc1::IfcCivilElement::IfcCivilElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_tc1::IfcCivilElement::IfcCivilElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_tc1::IfcCivilElement::IfcCivilElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcCivilElementType @@ -8976,22 +8976,22 @@ Ifc4x3_tc1::IfcCivilElement::IfcCivilElement(std::string v1_GlobalId, ::Ifc4x3_t const IfcParse::entity& Ifc4x3_tc1::IfcCivilElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[167]); } const IfcParse::entity& Ifc4x3_tc1::IfcCivilElementType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[167]); } Ifc4x3_tc1::IfcCivilElementType::IfcCivilElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_tc1::IfcCivilElementType::IfcCivilElementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_tc1::IfcCivilElementType::IfcCivilElementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcClassification -boost::optional< std::string > Ifc4x3_tc1::IfcClassification::Source() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcClassification::Source() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcClassification::setSource(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_tc1::IfcClassification::Edition() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcClassification::Edition() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcClassification::setEdition(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_tc1::IfcClassification::EditionDate() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcClassification::EditionDate() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcClassification::setEditionDate(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::string Ifc4x3_tc1::IfcClassification::Name() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x3_tc1::IfcClassification::Name() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcClassification::setName(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_tc1::IfcClassification::Description() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcClassification::Description() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcClassification::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_tc1::IfcClassification::Specification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcClassification::Specification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcClassification::setSpecification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_tc1::IfcClassification::ReferenceTokens() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(6); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_tc1::IfcClassification::ReferenceTokens() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcClassification::setReferenceTokens(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_tc1::IfcRelAssociatesClassification::list::ptr Ifc4x3_tc1::IfcClassification::ClassificationForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[908], 5)->as(); } @@ -9000,14 +9000,14 @@ void Ifc4x3_tc1::IfcClassification::setReferenceTokens(boost::optional< std::vec const IfcParse::entity& Ifc4x3_tc1::IfcClassification::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[168]); } const IfcParse::entity& Ifc4x3_tc1::IfcClassification::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[168]); } Ifc4x3_tc1::IfcClassification::IfcClassification(IfcEntityInstanceData&& e) : IfcExternalInformation(std::move(e)) { } -Ifc4x3_tc1::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_Specification, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) : IfcExternalInformation(IfcEntityInstanceData(storage_t(7))) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Specification) {set_attribute_value(5, (*v6_Specification)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); }; populate_derived(); } +Ifc4x3_tc1::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_Specification, boost::optional< std::vector< std::string > /*[1:?]*/ > v7_ReferenceTokens) : IfcExternalInformation(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Source) {set_attribute_value(0, (*v1_Source)); } if (v2_Edition) {set_attribute_value(1, (*v2_Edition)); } if (v3_EditionDate) {set_attribute_value(2, (*v3_EditionDate)); }set_attribute_value(3, (v4_Name)); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Specification) {set_attribute_value(5, (*v6_Specification)); } if (v7_ReferenceTokens) {set_attribute_value(6, (*v7_ReferenceTokens)); }; populate_derived(); } // Function implementations for IfcClassificationReference -::Ifc4x3_tc1::IfcClassificationReferenceSelect* Ifc4x3_tc1::IfcClassificationReference::ReferencedSource() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcClassificationReferenceSelect>(true); } +::Ifc4x3_tc1::IfcClassificationReferenceSelect* Ifc4x3_tc1::IfcClassificationReference::ReferencedSource() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcClassificationReferenceSelect>(true); } void Ifc4x3_tc1::IfcClassificationReference::setReferencedSource(::Ifc4x3_tc1::IfcClassificationReferenceSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_tc1::IfcClassificationReference::Description() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcClassificationReference::Description() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcClassificationReference::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_tc1::IfcClassificationReference::Sort() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcClassificationReference::Sort() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcClassificationReference::setSort(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x3_tc1::IfcRelAssociatesClassification::list::ptr Ifc4x3_tc1::IfcClassificationReference::ClassificationRefForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[908], 5)->as(); } @@ -9016,7 +9016,7 @@ void Ifc4x3_tc1::IfcClassificationReference::setSort(boost::optional< std::strin const IfcParse::entity& Ifc4x3_tc1::IfcClassificationReference::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[169]); } const IfcParse::entity& Ifc4x3_tc1::IfcClassificationReference::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[169]); } Ifc4x3_tc1::IfcClassificationReference::IfcClassificationReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_tc1::IfcClassificationReference::IfcClassificationReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, ::Ifc4x3_tc1::IfcClassificationReferenceSelect* v4_ReferencedSource, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Sort) : IfcExternalReference(IfcEntityInstanceData(storage_t(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, v4_ReferencedSource ? v4_ReferencedSource->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); }; populate_derived(); } +Ifc4x3_tc1::IfcClassificationReference::IfcClassificationReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name, ::Ifc4x3_tc1::IfcClassificationReferenceSelect* v4_ReferencedSource, boost::optional< std::string > v5_Description, boost::optional< std::string > v6_Sort) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }set_attribute_value(3, v4_ReferencedSource ? v4_ReferencedSource->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Sort) {set_attribute_value(5, (*v6_Sort)); }; populate_derived(); } // Function implementations for IfcClosedShell @@ -9024,149 +9024,149 @@ Ifc4x3_tc1::IfcClassificationReference::IfcClassificationReference(boost::option const IfcParse::entity& Ifc4x3_tc1::IfcClosedShell::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[172]); } const IfcParse::entity& Ifc4x3_tc1::IfcClosedShell::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[172]); } Ifc4x3_tc1::IfcClosedShell::IfcClosedShell(IfcEntityInstanceData&& e) : IfcConnectedFaceSet(std::move(e)) { } -Ifc4x3_tc1::IfcClosedShell::IfcClosedShell(aggregate_of< ::Ifc4x3_tc1::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcClosedShell::IfcClosedShell(aggregate_of< ::Ifc4x3_tc1::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcClothoid -double Ifc4x3_tc1::IfcClothoid::ClothoidConstant() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_tc1::IfcClothoid::ClothoidConstant() const { double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcClothoid::setClothoidConstant(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcClothoid::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[173]); } const IfcParse::entity& Ifc4x3_tc1::IfcClothoid::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[173]); } Ifc4x3_tc1::IfcClothoid::IfcClothoid(IfcEntityInstanceData&& e) : IfcSpiral(std::move(e)) { } -Ifc4x3_tc1::IfcClothoid::IfcClothoid(::Ifc4x3_tc1::IfcAxis2Placement* v1_Position, double v2_ClothoidConstant) : IfcSpiral(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_ClothoidConstant));; populate_derived(); } +Ifc4x3_tc1::IfcClothoid::IfcClothoid(::Ifc4x3_tc1::IfcAxis2Placement* v1_Position, double v2_ClothoidConstant) : IfcSpiral(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_ClothoidConstant));; populate_derived(); } // Function implementations for IfcCoil -boost::optional< ::Ifc4x3_tc1::IfcCoilTypeEnum::Value > Ifc4x3_tc1::IfcCoil::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCoilTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcCoilTypeEnum::Value > Ifc4x3_tc1::IfcCoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCoilTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcCoil::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcCoilTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcCoilTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcCoil::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[174]); } const IfcParse::entity& Ifc4x3_tc1::IfcCoil::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[174]); } Ifc4x3_tc1::IfcCoil::IfcCoil(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_tc1::IfcCoil::IfcCoil(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcCoilTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcCoil::IfcCoil(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcCoilTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcCoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCoilType -::Ifc4x3_tc1::IfcCoilTypeEnum::Value Ifc4x3_tc1::IfcCoilType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCoilTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcCoilTypeEnum::Value Ifc4x3_tc1::IfcCoilType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCoilTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcCoilType::setPredefinedType(::Ifc4x3_tc1::IfcCoilTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcCoilTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcCoilType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[175]); } const IfcParse::entity& Ifc4x3_tc1::IfcCoilType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[175]); } Ifc4x3_tc1::IfcCoilType::IfcCoilType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_tc1::IfcCoilType::IfcCoilType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCoilTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcCoilType::IfcCoilType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCoilTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcCoilTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcColourRgb -double Ifc4x3_tc1::IfcColourRgb::Red() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_tc1::IfcColourRgb::Red() const { double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcColourRgb::setRed(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_tc1::IfcColourRgb::Green() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_tc1::IfcColourRgb::Green() const { double v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcColourRgb::setGreen(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_tc1::IfcColourRgb::Blue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_tc1::IfcColourRgb::Blue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcColourRgb::setBlue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcColourRgb::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[179]); } const IfcParse::entity& Ifc4x3_tc1::IfcColourRgb::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[179]); } Ifc4x3_tc1::IfcColourRgb::IfcColourRgb(IfcEntityInstanceData&& e) : IfcColourSpecification(std::move(e)) { } -Ifc4x3_tc1::IfcColourRgb::IfcColourRgb(boost::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) : IfcColourSpecification(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; populate_derived(); } +Ifc4x3_tc1::IfcColourRgb::IfcColourRgb(boost::optional< std::string > v1_Name, double v2_Red, double v3_Green, double v4_Blue) : IfcColourSpecification(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Red));set_attribute_value(2, (v3_Green));set_attribute_value(3, (v4_Blue));; populate_derived(); } // Function implementations for IfcColourRgbList -std::vector< std::vector< double > > Ifc4x3_tc1::IfcColourRgbList::ColourList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x3_tc1::IfcColourRgbList::ColourList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcColourRgbList::setColourList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_tc1::IfcColourRgbList::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[180]); } const IfcParse::entity& Ifc4x3_tc1::IfcColourRgbList::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[180]); } Ifc4x3_tc1::IfcColourRgbList::IfcColourRgbList(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcColourRgbList::IfcColourRgbList(std::vector< std::vector< double > > v1_ColourList) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_ColourList));; populate_derived(); } +Ifc4x3_tc1::IfcColourRgbList::IfcColourRgbList(std::vector< std::vector< double > > v1_ColourList) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_ColourList));; populate_derived(); } // Function implementations for IfcColourSpecification -boost::optional< std::string > Ifc4x3_tc1::IfcColourSpecification::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcColourSpecification::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcColourSpecification::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3_tc1::IfcColourSpecification::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[181]); } const IfcParse::entity& Ifc4x3_tc1::IfcColourSpecification::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[181]); } Ifc4x3_tc1::IfcColourSpecification::IfcColourSpecification(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcColourSpecification::IfcColourSpecification(boost::optional< std::string > v1_Name) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_tc1::IfcColourSpecification::IfcColourSpecification(boost::optional< std::string > v1_Name) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcColumn -boost::optional< ::Ifc4x3_tc1::IfcColumnTypeEnum::Value > Ifc4x3_tc1::IfcColumn::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcColumnTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcColumnTypeEnum::Value > Ifc4x3_tc1::IfcColumn::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcColumnTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcColumn::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcColumnTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcColumnTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcColumn::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[182]); } const IfcParse::entity& Ifc4x3_tc1::IfcColumn::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[182]); } Ifc4x3_tc1::IfcColumn::IfcColumn(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_tc1::IfcColumn::IfcColumn(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcColumnTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcColumn::IfcColumn(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcColumnTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcColumnTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcColumnType -::Ifc4x3_tc1::IfcColumnTypeEnum::Value Ifc4x3_tc1::IfcColumnType::PredefinedType() const { return ::Ifc4x3_tc1::IfcColumnTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcColumnTypeEnum::Value Ifc4x3_tc1::IfcColumnType::PredefinedType() const { return ::Ifc4x3_tc1::IfcColumnTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcColumnType::setPredefinedType(::Ifc4x3_tc1::IfcColumnTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcColumnTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcColumnType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[183]); } const IfcParse::entity& Ifc4x3_tc1::IfcColumnType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[183]); } Ifc4x3_tc1::IfcColumnType::IfcColumnType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_tc1::IfcColumnType::IfcColumnType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcColumnTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcColumnType::IfcColumnType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcColumnTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcColumnTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCommunicationsAppliance -boost::optional< ::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x3_tc1::IfcCommunicationsAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Value > Ifc4x3_tc1::IfcCommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcCommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcCommunicationsAppliance::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[185]); } const IfcParse::entity& Ifc4x3_tc1::IfcCommunicationsAppliance::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[185]); } Ifc4x3_tc1::IfcCommunicationsAppliance::IfcCommunicationsAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_tc1::IfcCommunicationsAppliance::IfcCommunicationsAppliance(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcCommunicationsAppliance::IfcCommunicationsAppliance(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCommunicationsApplianceType -::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3_tc1::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Value Ifc4x3_tc1::IfcCommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcCommunicationsApplianceType::setPredefinedType(::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcCommunicationsApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[186]); } const IfcParse::entity& Ifc4x3_tc1::IfcCommunicationsApplianceType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[186]); } Ifc4x3_tc1::IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_tc1::IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcCommunicationsApplianceType::IfcCommunicationsApplianceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcCommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcComplexProperty -std::string Ifc4x3_tc1::IfcComplexProperty::UsageName() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3_tc1::IfcComplexProperty::UsageName() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcComplexProperty::setUsageName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_tc1::IfcProperty >::ptr Ifc4x3_tc1::IfcComplexProperty::HasProperties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_tc1::IfcProperty >(); } +aggregate_of< ::Ifc4x3_tc1::IfcProperty >::ptr Ifc4x3_tc1::IfcComplexProperty::HasProperties() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_tc1::IfcProperty >(); } void Ifc4x3_tc1::IfcComplexProperty::setHasProperties(aggregate_of< ::Ifc4x3_tc1::IfcProperty >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcComplexProperty::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[189]); } const IfcParse::entity& Ifc4x3_tc1::IfcComplexProperty::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[189]); } Ifc4x3_tc1::IfcComplexProperty::IfcComplexProperty(IfcEntityInstanceData&& e) : IfcProperty(std::move(e)) { } -Ifc4x3_tc1::IfcComplexProperty::IfcComplexProperty(std::string v1_Name, boost::optional< std::string > v2_Specification, std::string v3_UsageName, aggregate_of< ::Ifc4x3_tc1::IfcProperty >::ptr v4_HasProperties) : IfcProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, (v4_HasProperties)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcComplexProperty::IfcComplexProperty(std::string v1_Name, boost::optional< std::string > v2_Specification, std::string v3_UsageName, aggregate_of< ::Ifc4x3_tc1::IfcProperty >::ptr v4_HasProperties) : IfcProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, (v3_UsageName));set_attribute_value(3, (v4_HasProperties)->generalize());; populate_derived(); } // Function implementations for IfcComplexPropertyTemplate -boost::optional< std::string > Ifc4x3_tc1::IfcComplexPropertyTemplate::UsageName() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcComplexPropertyTemplate::UsageName() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcComplexPropertyTemplate::setUsageName(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< ::Ifc4x3_tc1::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4x3_tc1::IfcComplexPropertyTemplate::TemplateType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcComplexPropertyTemplateTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3_tc1::IfcComplexPropertyTemplateTypeEnum::Value > Ifc4x3_tc1::IfcComplexPropertyTemplate::TemplateType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcComplexPropertyTemplateTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_tc1::IfcComplexPropertyTemplate::setTemplateType(boost::optional< ::Ifc4x3_tc1::IfcComplexPropertyTemplateTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3_tc1::IfcComplexPropertyTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertyTemplate >::ptr > Ifc4x3_tc1::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3_tc1::IfcPropertyTemplate >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertyTemplate >::ptr > Ifc4x3_tc1::IfcComplexPropertyTemplate::HasPropertyTemplates() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3_tc1::IfcPropertyTemplate >(); } void Ifc4x3_tc1::IfcComplexPropertyTemplate::setHasPropertyTemplates(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertyTemplate >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_tc1::IfcComplexPropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[190]); } const IfcParse::entity& Ifc4x3_tc1::IfcComplexPropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[190]); } Ifc4x3_tc1::IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplate(std::move(e)) { } -Ifc4x3_tc1::IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_UsageName, boost::optional< ::Ifc4x3_tc1::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertyTemplate >::ptr > v7_HasPropertyTemplates) : IfcPropertyTemplate(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_tc1::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, (*v7_HasPropertyTemplates)->generalize()); }; populate_derived(); } +Ifc4x3_tc1::IfcComplexPropertyTemplate::IfcComplexPropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_UsageName, boost::optional< ::Ifc4x3_tc1::IfcComplexPropertyTemplateTypeEnum::Value > v6_TemplateType, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertyTemplate >::ptr > v7_HasPropertyTemplates) : IfcPropertyTemplate(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_UsageName) {set_attribute_value(4, (*v5_UsageName)); } if (v6_TemplateType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_tc1::IfcComplexPropertyTemplateTypeEnum::Class(),(size_t)*v6_TemplateType))); } if (v7_HasPropertyTemplates) {set_attribute_value(6, (*v7_HasPropertyTemplates)->generalize()); }; populate_derived(); } // Function implementations for IfcCompositeCurve -aggregate_of< ::Ifc4x3_tc1::IfcSegment >::ptr Ifc4x3_tc1::IfcCompositeCurve::Segments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcSegment >(); } +aggregate_of< ::Ifc4x3_tc1::IfcSegment >::ptr Ifc4x3_tc1::IfcCompositeCurve::Segments() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcSegment >(); } void Ifc4x3_tc1::IfcCompositeCurve::setSegments(aggregate_of< ::Ifc4x3_tc1::IfcSegment >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::logic::tribool Ifc4x3_tc1::IfcCompositeCurve::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(1); return v; } +boost::logic::tribool Ifc4x3_tc1::IfcCompositeCurve::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcCompositeCurve::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcCompositeCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[192]); } const IfcParse::entity& Ifc4x3_tc1::IfcCompositeCurve::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[192]); } Ifc4x3_tc1::IfcCompositeCurve::IfcCompositeCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_tc1::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc4x3_tc1::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x3_tc1::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc4x3_tc1::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcCompositeCurveOnSurface @@ -9174,103 +9174,103 @@ Ifc4x3_tc1::IfcCompositeCurve::IfcCompositeCurve(aggregate_of< ::Ifc4x3_tc1::Ifc const IfcParse::entity& Ifc4x3_tc1::IfcCompositeCurveOnSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[193]); } const IfcParse::entity& Ifc4x3_tc1::IfcCompositeCurveOnSurface::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[193]); } Ifc4x3_tc1::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(IfcEntityInstanceData&& e) : IfcCompositeCurve(std::move(e)) { } -Ifc4x3_tc1::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(aggregate_of< ::Ifc4x3_tc1::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x3_tc1::IfcCompositeCurveOnSurface::IfcCompositeCurveOnSurface(aggregate_of< ::Ifc4x3_tc1::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcCompositeCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcCompositeCurveSegment -bool Ifc4x3_tc1::IfcCompositeCurveSegment::SameSense() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x3_tc1::IfcCompositeCurveSegment::SameSense() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcCompositeCurveSegment::setSameSense(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcCurve>(true); } +::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcCompositeCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcCurve>(true); } void Ifc4x3_tc1::IfcCompositeCurveSegment::setParentCurve(::Ifc4x3_tc1::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcCompositeCurveSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[194]); } const IfcParse::entity& Ifc4x3_tc1::IfcCompositeCurveSegment::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[194]); } Ifc4x3_tc1::IfcCompositeCurveSegment::IfcCompositeCurveSegment(IfcEntityInstanceData&& e) : IfcSegment(std::move(e)) { } -Ifc4x3_tc1::IfcCompositeCurveSegment::IfcCompositeCurveSegment(::Ifc4x3_tc1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_tc1::IfcCurve* v3_ParentCurve) : IfcSegment(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcCompositeCurveSegment::IfcCompositeCurveSegment(::Ifc4x3_tc1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_tc1::IfcCurve* v3_ParentCurve) : IfcSegment(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCompositeProfileDef -aggregate_of< ::Ifc4x3_tc1::IfcProfileDef >::ptr Ifc4x3_tc1::IfcCompositeProfileDef::Profiles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcProfileDef >(); } +aggregate_of< ::Ifc4x3_tc1::IfcProfileDef >::ptr Ifc4x3_tc1::IfcCompositeProfileDef::Profiles() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcProfileDef >(); } void Ifc4x3_tc1::IfcCompositeProfileDef::setProfiles(aggregate_of< ::Ifc4x3_tc1::IfcProfileDef >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x3_tc1::IfcCompositeProfileDef::Label() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcCompositeProfileDef::Label() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcCompositeProfileDef::setLabel(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_tc1::IfcCompositeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[195]); } const IfcParse::entity& Ifc4x3_tc1::IfcCompositeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[195]); } Ifc4x3_tc1::IfcCompositeProfileDef::IfcCompositeProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_tc1::IfcCompositeProfileDef::IfcCompositeProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, aggregate_of< ::Ifc4x3_tc1::IfcProfileDef >::ptr v3_Profiles, boost::optional< std::string > v4_Label) : IfcProfileDef(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Profiles)->generalize()); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; populate_derived(); } +Ifc4x3_tc1::IfcCompositeProfileDef::IfcCompositeProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, aggregate_of< ::Ifc4x3_tc1::IfcProfileDef >::ptr v3_Profiles, boost::optional< std::string > v4_Label) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_Profiles)->generalize()); if (v4_Label) {set_attribute_value(3, (*v4_Label)); }; populate_derived(); } // Function implementations for IfcCompressor -boost::optional< ::Ifc4x3_tc1::IfcCompressorTypeEnum::Value > Ifc4x3_tc1::IfcCompressor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCompressorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcCompressorTypeEnum::Value > Ifc4x3_tc1::IfcCompressor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCompressorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcCompressor::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcCompressorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcCompressorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcCompressor::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[197]); } const IfcParse::entity& Ifc4x3_tc1::IfcCompressor::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[197]); } Ifc4x3_tc1::IfcCompressor::IfcCompressor(IfcEntityInstanceData&& e) : IfcFlowMovingDevice(std::move(e)) { } -Ifc4x3_tc1::IfcCompressor::IfcCompressor(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcCompressorTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcCompressor::IfcCompressor(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcCompressorTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcCompressorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCompressorType -::Ifc4x3_tc1::IfcCompressorTypeEnum::Value Ifc4x3_tc1::IfcCompressorType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCompressorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcCompressorTypeEnum::Value Ifc4x3_tc1::IfcCompressorType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCompressorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcCompressorType::setPredefinedType(::Ifc4x3_tc1::IfcCompressorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcCompressorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcCompressorType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[198]); } const IfcParse::entity& Ifc4x3_tc1::IfcCompressorType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[198]); } Ifc4x3_tc1::IfcCompressorType::IfcCompressorType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(e)) { } -Ifc4x3_tc1::IfcCompressorType::IfcCompressorType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCompressorTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcCompressorType::IfcCompressorType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCompressorTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcCompressorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCondenser -boost::optional< ::Ifc4x3_tc1::IfcCondenserTypeEnum::Value > Ifc4x3_tc1::IfcCondenser::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCondenserTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcCondenserTypeEnum::Value > Ifc4x3_tc1::IfcCondenser::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCondenserTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcCondenser::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcCondenserTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcCondenserTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcCondenser::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[200]); } const IfcParse::entity& Ifc4x3_tc1::IfcCondenser::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[200]); } Ifc4x3_tc1::IfcCondenser::IfcCondenser(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_tc1::IfcCondenser::IfcCondenser(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcCondenserTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcCondenser::IfcCondenser(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcCondenserTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcCondenserTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCondenserType -::Ifc4x3_tc1::IfcCondenserTypeEnum::Value Ifc4x3_tc1::IfcCondenserType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCondenserTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcCondenserTypeEnum::Value Ifc4x3_tc1::IfcCondenserType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCondenserTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcCondenserType::setPredefinedType(::Ifc4x3_tc1::IfcCondenserTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcCondenserTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcCondenserType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[201]); } const IfcParse::entity& Ifc4x3_tc1::IfcCondenserType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[201]); } Ifc4x3_tc1::IfcCondenserType::IfcCondenserType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_tc1::IfcCondenserType::IfcCondenserType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCondenserTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcCondenserType::IfcCondenserType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCondenserTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcCondenserTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcConic -::Ifc4x3_tc1::IfcAxis2Placement* Ifc4x3_tc1::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcAxis2Placement>(true); } +::Ifc4x3_tc1::IfcAxis2Placement* Ifc4x3_tc1::IfcConic::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcAxis2Placement>(true); } void Ifc4x3_tc1::IfcConic::setPosition(::Ifc4x3_tc1::IfcAxis2Placement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_tc1::IfcConic::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[203]); } const IfcParse::entity& Ifc4x3_tc1::IfcConic::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[203]); } Ifc4x3_tc1::IfcConic::IfcConic(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_tc1::IfcConic::IfcConic(::Ifc4x3_tc1::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcConic::IfcConic(::Ifc4x3_tc1::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectedFaceSet -aggregate_of< ::Ifc4x3_tc1::IfcFace >::ptr Ifc4x3_tc1::IfcConnectedFaceSet::CfsFaces() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcFace >(); } +aggregate_of< ::Ifc4x3_tc1::IfcFace >::ptr Ifc4x3_tc1::IfcConnectedFaceSet::CfsFaces() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcFace >(); } void Ifc4x3_tc1::IfcConnectedFaceSet::setCfsFaces(aggregate_of< ::Ifc4x3_tc1::IfcFace >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_tc1::IfcConnectedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[204]); } const IfcParse::entity& Ifc4x3_tc1::IfcConnectedFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[204]); } Ifc4x3_tc1::IfcConnectedFaceSet::IfcConnectedFaceSet(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcConnectedFaceSet::IfcConnectedFaceSet(aggregate_of< ::Ifc4x3_tc1::IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcConnectedFaceSet::IfcConnectedFaceSet(aggregate_of< ::Ifc4x3_tc1::IfcFace >::ptr v1_CfsFaces) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcConnectionCurveGeometry -::Ifc4x3_tc1::IfcCurveOrEdgeCurve* Ifc4x3_tc1::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCurveOrEdgeCurve>(true); } +::Ifc4x3_tc1::IfcCurveOrEdgeCurve* Ifc4x3_tc1::IfcConnectionCurveGeometry::CurveOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCurveOrEdgeCurve>(true); } void Ifc4x3_tc1::IfcConnectionCurveGeometry::setCurveOnRelatingElement(::Ifc4x3_tc1::IfcCurveOrEdgeCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_tc1::IfcCurveOrEdgeCurve* Ifc4x3_tc1::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcCurveOrEdgeCurve>(true); } +::Ifc4x3_tc1::IfcCurveOrEdgeCurve* Ifc4x3_tc1::IfcConnectionCurveGeometry::CurveOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcCurveOrEdgeCurve>(true); } void Ifc4x3_tc1::IfcConnectionCurveGeometry::setCurveOnRelatedElement(::Ifc4x3_tc1::IfcCurveOrEdgeCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcConnectionCurveGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[205]); } const IfcParse::entity& Ifc4x3_tc1::IfcConnectionCurveGeometry::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[205]); } Ifc4x3_tc1::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x3_tc1::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc4x3_tc1::IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, ::Ifc4x3_tc1::IfcCurveOrEdgeCurve* v2_CurveOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_CurveOnRelatingElement ? v1_CurveOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_CurveOnRelatedElement ? v2_CurveOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc4x3_tc1::IfcCurveOrEdgeCurve* v1_CurveOnRelatingElement, ::Ifc4x3_tc1::IfcCurveOrEdgeCurve* v2_CurveOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_CurveOnRelatingElement ? v1_CurveOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_CurveOnRelatedElement ? v2_CurveOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionGeometry @@ -9278,72 +9278,72 @@ Ifc4x3_tc1::IfcConnectionCurveGeometry::IfcConnectionCurveGeometry(::Ifc4x3_tc1: const IfcParse::entity& Ifc4x3_tc1::IfcConnectionGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[206]); } const IfcParse::entity& Ifc4x3_tc1::IfcConnectionGeometry::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[206]); } Ifc4x3_tc1::IfcConnectionGeometry::IfcConnectionGeometry(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_tc1::IfcConnectionGeometry::IfcConnectionGeometry() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcConnectionPointEccentricity -boost::optional< double > Ifc4x3_tc1::IfcConnectionPointEccentricity::EccentricityInX() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_tc1::IfcConnectionPointEccentricity::EccentricityInX() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcConnectionPointEccentricity::setEccentricityInX(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_tc1::IfcConnectionPointEccentricity::EccentricityInY() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_tc1::IfcConnectionPointEccentricity::EccentricityInY() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcConnectionPointEccentricity::setEccentricityInY(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_tc1::IfcConnectionPointEccentricity::EccentricityInZ() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_tc1::IfcConnectionPointEccentricity::EccentricityInZ() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcConnectionPointEccentricity::setEccentricityInZ(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_tc1::IfcConnectionPointEccentricity::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[207]); } const IfcParse::entity& Ifc4x3_tc1::IfcConnectionPointEccentricity::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[207]); } Ifc4x3_tc1::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(IfcEntityInstanceData&& e) : IfcConnectionPointGeometry(std::move(e)) { } -Ifc4x3_tc1::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(::Ifc4x3_tc1::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3_tc1::IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; populate_derived(); } +Ifc4x3_tc1::IfcConnectionPointEccentricity::IfcConnectionPointEccentricity(::Ifc4x3_tc1::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3_tc1::IfcPointOrVertexPoint* v2_PointOnRelatedElement, boost::optional< double > v3_EccentricityInX, boost::optional< double > v4_EccentricityInY, boost::optional< double > v5_EccentricityInZ) : IfcConnectionPointGeometry(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_EccentricityInX) {set_attribute_value(2, (*v3_EccentricityInX)); } if (v4_EccentricityInY) {set_attribute_value(3, (*v4_EccentricityInY)); } if (v5_EccentricityInZ) {set_attribute_value(4, (*v5_EccentricityInZ)); }; populate_derived(); } // Function implementations for IfcConnectionPointGeometry -::Ifc4x3_tc1::IfcPointOrVertexPoint* Ifc4x3_tc1::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcPointOrVertexPoint>(true); } +::Ifc4x3_tc1::IfcPointOrVertexPoint* Ifc4x3_tc1::IfcConnectionPointGeometry::PointOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcPointOrVertexPoint>(true); } void Ifc4x3_tc1::IfcConnectionPointGeometry::setPointOnRelatingElement(::Ifc4x3_tc1::IfcPointOrVertexPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_tc1::IfcPointOrVertexPoint* Ifc4x3_tc1::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcPointOrVertexPoint>(true); } +::Ifc4x3_tc1::IfcPointOrVertexPoint* Ifc4x3_tc1::IfcConnectionPointGeometry::PointOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcPointOrVertexPoint>(true); } void Ifc4x3_tc1::IfcConnectionPointGeometry::setPointOnRelatedElement(::Ifc4x3_tc1::IfcPointOrVertexPoint* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcConnectionPointGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[208]); } const IfcParse::entity& Ifc4x3_tc1::IfcConnectionPointGeometry::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[208]); } Ifc4x3_tc1::IfcConnectionPointGeometry::IfcConnectionPointGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x3_tc1::IfcConnectionPointGeometry::IfcConnectionPointGeometry(::Ifc4x3_tc1::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3_tc1::IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcConnectionPointGeometry::IfcConnectionPointGeometry(::Ifc4x3_tc1::IfcPointOrVertexPoint* v1_PointOnRelatingElement, ::Ifc4x3_tc1::IfcPointOrVertexPoint* v2_PointOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_PointOnRelatingElement ? v1_PointOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PointOnRelatedElement ? v2_PointOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionSurfaceGeometry -::Ifc4x3_tc1::IfcSurfaceOrFaceSurface* Ifc4x3_tc1::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcSurfaceOrFaceSurface>(true); } +::Ifc4x3_tc1::IfcSurfaceOrFaceSurface* Ifc4x3_tc1::IfcConnectionSurfaceGeometry::SurfaceOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcSurfaceOrFaceSurface>(true); } void Ifc4x3_tc1::IfcConnectionSurfaceGeometry::setSurfaceOnRelatingElement(::Ifc4x3_tc1::IfcSurfaceOrFaceSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_tc1::IfcSurfaceOrFaceSurface* Ifc4x3_tc1::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcSurfaceOrFaceSurface>(true); } +::Ifc4x3_tc1::IfcSurfaceOrFaceSurface* Ifc4x3_tc1::IfcConnectionSurfaceGeometry::SurfaceOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcSurfaceOrFaceSurface>(true); } void Ifc4x3_tc1::IfcConnectionSurfaceGeometry::setSurfaceOnRelatedElement(::Ifc4x3_tc1::IfcSurfaceOrFaceSurface* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcConnectionSurfaceGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[209]); } const IfcParse::entity& Ifc4x3_tc1::IfcConnectionSurfaceGeometry::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[209]); } Ifc4x3_tc1::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x3_tc1::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(::Ifc4x3_tc1::IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, ::Ifc4x3_tc1::IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SurfaceOnRelatingElement ? v1_SurfaceOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_SurfaceOnRelatedElement ? v2_SurfaceOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcConnectionSurfaceGeometry::IfcConnectionSurfaceGeometry(::Ifc4x3_tc1::IfcSurfaceOrFaceSurface* v1_SurfaceOnRelatingElement, ::Ifc4x3_tc1::IfcSurfaceOrFaceSurface* v2_SurfaceOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SurfaceOnRelatingElement ? v1_SurfaceOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_SurfaceOnRelatedElement ? v2_SurfaceOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConnectionVolumeGeometry -::Ifc4x3_tc1::IfcSolidOrShell* Ifc4x3_tc1::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcSolidOrShell>(true); } +::Ifc4x3_tc1::IfcSolidOrShell* Ifc4x3_tc1::IfcConnectionVolumeGeometry::VolumeOnRelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcSolidOrShell>(true); } void Ifc4x3_tc1::IfcConnectionVolumeGeometry::setVolumeOnRelatingElement(::Ifc4x3_tc1::IfcSolidOrShell* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_tc1::IfcSolidOrShell* Ifc4x3_tc1::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcSolidOrShell>(true); } +::Ifc4x3_tc1::IfcSolidOrShell* Ifc4x3_tc1::IfcConnectionVolumeGeometry::VolumeOnRelatedElement() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcSolidOrShell>(true); } void Ifc4x3_tc1::IfcConnectionVolumeGeometry::setVolumeOnRelatedElement(::Ifc4x3_tc1::IfcSolidOrShell* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcConnectionVolumeGeometry::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[211]); } const IfcParse::entity& Ifc4x3_tc1::IfcConnectionVolumeGeometry::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[211]); } Ifc4x3_tc1::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(IfcEntityInstanceData&& e) : IfcConnectionGeometry(std::move(e)) { } -Ifc4x3_tc1::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(::Ifc4x3_tc1::IfcSolidOrShell* v1_VolumeOnRelatingElement, ::Ifc4x3_tc1::IfcSolidOrShell* v2_VolumeOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_VolumeOnRelatingElement ? v1_VolumeOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_VolumeOnRelatedElement ? v2_VolumeOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcConnectionVolumeGeometry::IfcConnectionVolumeGeometry(::Ifc4x3_tc1::IfcSolidOrShell* v1_VolumeOnRelatingElement, ::Ifc4x3_tc1::IfcSolidOrShell* v2_VolumeOnRelatedElement) : IfcConnectionGeometry(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_VolumeOnRelatingElement ? v1_VolumeOnRelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_VolumeOnRelatedElement ? v2_VolumeOnRelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConstraint -std::string Ifc4x3_tc1::IfcConstraint::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_tc1::IfcConstraint::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcConstraint::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_tc1::IfcConstraint::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcConstraint::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcConstraint::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_tc1::IfcConstraintEnum::Value Ifc4x3_tc1::IfcConstraint::ConstraintGrade() const { return ::Ifc4x3_tc1::IfcConstraintEnum::FromString(data_.get_attribute_value(2)); } +::Ifc4x3_tc1::IfcConstraintEnum::Value Ifc4x3_tc1::IfcConstraint::ConstraintGrade() const { return ::Ifc4x3_tc1::IfcConstraintEnum::FromString(get_attribute_value(2)); } void Ifc4x3_tc1::IfcConstraint::setConstraintGrade(::Ifc4x3_tc1::IfcConstraintEnum::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3_tc1::IfcConstraintEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x3_tc1::IfcConstraint::ConstraintSource() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcConstraint::ConstraintSource() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcConstraint::setConstraintSource(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_tc1::IfcActorSelect* Ifc4x3_tc1::IfcConstraint::CreatingActor() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcActorSelect>(true); } +::Ifc4x3_tc1::IfcActorSelect* Ifc4x3_tc1::IfcConstraint::CreatingActor() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcActorSelect>(true); } void Ifc4x3_tc1::IfcConstraint::setCreatingActor(::Ifc4x3_tc1::IfcActorSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -boost::optional< std::string > Ifc4x3_tc1::IfcConstraint::CreationTime() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcConstraint::CreationTime() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcConstraint::setCreationTime(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_tc1::IfcConstraint::UserDefinedGrade() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcConstraint::UserDefinedGrade() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcConstraint::setUserDefinedGrade(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_tc1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_tc1::IfcConstraint::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[427], 3)->as(); } @@ -9352,104 +9352,104 @@ void Ifc4x3_tc1::IfcConstraint::setUserDefinedGrade(boost::optional< std::string const IfcParse::entity& Ifc4x3_tc1::IfcConstraint::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[212]); } const IfcParse::entity& Ifc4x3_tc1::IfcConstraint::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[212]); } Ifc4x3_tc1::IfcConstraint::IfcConstraint(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_tc1::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_tc1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; populate_derived(); } +Ifc4x3_tc1::IfcConstraint::IfcConstraint(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_tc1::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_tc1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }; populate_derived(); } // Function implementations for IfcConstructionEquipmentResource -boost::optional< ::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x3_tc1::IfcConstructionEquipmentResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Value > Ifc4x3_tc1::IfcConstructionEquipmentResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_tc1::IfcConstructionEquipmentResource::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_tc1::IfcConstructionEquipmentResource::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[214]); } const IfcParse::entity& Ifc4x3_tc1::IfcConstructionEquipmentResource::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[214]); } Ifc4x3_tc1::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_tc1::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcConstructionEquipmentResource::IfcConstructionEquipmentResource(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConstructionEquipmentResourceType -::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3_tc1::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Value Ifc4x3_tc1::IfcConstructionEquipmentResourceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_tc1::IfcConstructionEquipmentResourceType::setPredefinedType(::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_tc1::IfcConstructionEquipmentResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[215]); } const IfcParse::entity& Ifc4x3_tc1::IfcConstructionEquipmentResourceType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[215]); } Ifc4x3_tc1::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_tc1::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::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_tc1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcConstructionEquipmentResourceType::IfcConstructionEquipmentResourceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::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_tc1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_tc1::IfcConstructionEquipmentResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcConstructionMaterialResource -boost::optional< ::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x3_tc1::IfcConstructionMaterialResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Value > Ifc4x3_tc1::IfcConstructionMaterialResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_tc1::IfcConstructionMaterialResource::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_tc1::IfcConstructionMaterialResource::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[217]); } const IfcParse::entity& Ifc4x3_tc1::IfcConstructionMaterialResource::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[217]); } Ifc4x3_tc1::IfcConstructionMaterialResource::IfcConstructionMaterialResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_tc1::IfcConstructionMaterialResource::IfcConstructionMaterialResource(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcConstructionMaterialResource::IfcConstructionMaterialResource(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConstructionMaterialResourceType -::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3_tc1::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Value Ifc4x3_tc1::IfcConstructionMaterialResourceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_tc1::IfcConstructionMaterialResourceType::setPredefinedType(::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_tc1::IfcConstructionMaterialResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[218]); } const IfcParse::entity& Ifc4x3_tc1::IfcConstructionMaterialResourceType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[218]); } Ifc4x3_tc1::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_tc1::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::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_tc1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcConstructionMaterialResourceType::IfcConstructionMaterialResourceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::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_tc1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_tc1::IfcConstructionMaterialResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcConstructionProductResource -boost::optional< ::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Value > Ifc4x3_tc1::IfcConstructionProductResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Value > Ifc4x3_tc1::IfcConstructionProductResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_tc1::IfcConstructionProductResource::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_tc1::IfcConstructionProductResource::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[220]); } const IfcParse::entity& Ifc4x3_tc1::IfcConstructionProductResource::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[220]); } Ifc4x3_tc1::IfcConstructionProductResource::IfcConstructionProductResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_tc1::IfcConstructionProductResource::IfcConstructionProductResource(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcConstructionProductResource::IfcConstructionProductResource(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConstructionProductResourceType -::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Value Ifc4x3_tc1::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Value Ifc4x3_tc1::IfcConstructionProductResourceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_tc1::IfcConstructionProductResourceType::setPredefinedType(::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_tc1::IfcConstructionProductResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[221]); } const IfcParse::entity& Ifc4x3_tc1::IfcConstructionProductResourceType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[221]); } Ifc4x3_tc1::IfcConstructionProductResourceType::IfcConstructionProductResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_tc1::IfcConstructionProductResourceType::IfcConstructionProductResourceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::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_tc1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcConstructionProductResourceType::IfcConstructionProductResourceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::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_tc1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_tc1::IfcConstructionProductResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcConstructionResource -::Ifc4x3_tc1::IfcResourceTime* Ifc4x3_tc1::IfcConstructionResource::Usage() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_tc1::IfcResourceTime>(true); } +::Ifc4x3_tc1::IfcResourceTime* Ifc4x3_tc1::IfcConstructionResource::Usage() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_tc1::IfcResourceTime>(true); } void Ifc4x3_tc1::IfcConstructionResource::setUsage(::Ifc4x3_tc1::IfcResourceTime* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAppliedValue >::ptr > Ifc4x3_tc1::IfcConstructionResource::BaseCosts() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_tc1::IfcAppliedValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAppliedValue >::ptr > Ifc4x3_tc1::IfcConstructionResource::BaseCosts() const { if(get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_tc1::IfcAppliedValue >(); } void Ifc4x3_tc1::IfcConstructionResource::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAppliedValue >::ptr > v) { if (v) {set_attribute_value(8, (*v)->generalize());} else {unset_attribute_value(8);} } -::Ifc4x3_tc1::IfcPhysicalQuantity* Ifc4x3_tc1::IfcConstructionResource::BaseQuantity() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_tc1::IfcPhysicalQuantity>(true); } +::Ifc4x3_tc1::IfcPhysicalQuantity* Ifc4x3_tc1::IfcConstructionResource::BaseQuantity() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_tc1::IfcPhysicalQuantity>(true); } void Ifc4x3_tc1::IfcConstructionResource::setBaseQuantity(::Ifc4x3_tc1::IfcPhysicalQuantity* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcConstructionResource::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[223]); } const IfcParse::entity& Ifc4x3_tc1::IfcConstructionResource::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[223]); } Ifc4x3_tc1::IfcConstructionResource::IfcConstructionResource(IfcEntityInstanceData&& e) : IfcResource(std::move(e)) { } -Ifc4x3_tc1::IfcConstructionResource::IfcConstructionResource(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity* v10_BaseQuantity) : IfcResource(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcConstructionResource::IfcConstructionResource(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity* v10_BaseQuantity) : IfcResource(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConstructionResourceType -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAppliedValue >::ptr > Ifc4x3_tc1::IfcConstructionResourceType::BaseCosts() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3_tc1::IfcAppliedValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAppliedValue >::ptr > Ifc4x3_tc1::IfcConstructionResourceType::BaseCosts() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3_tc1::IfcAppliedValue >(); } void Ifc4x3_tc1::IfcConstructionResourceType::setBaseCosts(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAppliedValue >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -::Ifc4x3_tc1::IfcPhysicalQuantity* Ifc4x3_tc1::IfcConstructionResourceType::BaseQuantity() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_tc1::IfcPhysicalQuantity>(true); } +::Ifc4x3_tc1::IfcPhysicalQuantity* Ifc4x3_tc1::IfcConstructionResourceType::BaseQuantity() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_tc1::IfcPhysicalQuantity>(true); } void Ifc4x3_tc1::IfcConstructionResourceType::setBaseQuantity(::Ifc4x3_tc1::IfcPhysicalQuantity* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_tc1::IfcConstructionResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[224]); } const IfcParse::entity& Ifc4x3_tc1::IfcConstructionResourceType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[224]); } Ifc4x3_tc1::IfcConstructionResourceType::IfcConstructionResourceType(IfcEntityInstanceData&& e) : IfcTypeResource(std::move(e)) { } -Ifc4x3_tc1::IfcConstructionResourceType::IfcConstructionResourceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::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_tc1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity* v11_BaseQuantity) : IfcTypeResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcConstructionResourceType::IfcConstructionResourceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::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_tc1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity* v11_BaseQuantity) : IfcTypeResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcContext -boost::optional< std::string > Ifc4x3_tc1::IfcContext::ObjectType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcContext::ObjectType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcContext::setObjectType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_tc1::IfcContext::LongName() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcContext::LongName() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcContext::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_tc1::IfcContext::Phase() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcContext::Phase() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcContext::setPhase(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationContext >::ptr > Ifc4x3_tc1::IfcContext::RepresentationContexts() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_tc1::IfcRepresentationContext >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationContext >::ptr > Ifc4x3_tc1::IfcContext::RepresentationContexts() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_tc1::IfcRepresentationContext >(); } void Ifc4x3_tc1::IfcContext::setRepresentationContexts(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationContext >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -::Ifc4x3_tc1::IfcUnitAssignment* Ifc4x3_tc1::IfcContext::UnitsInContext() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_tc1::IfcUnitAssignment>(true); } +::Ifc4x3_tc1::IfcUnitAssignment* Ifc4x3_tc1::IfcContext::UnitsInContext() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_tc1::IfcUnitAssignment>(true); } void Ifc4x3_tc1::IfcContext::setUnitsInContext(::Ifc4x3_tc1::IfcUnitAssignment* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } ::Ifc4x3_tc1::IfcRelDefinesByProperties::list::ptr Ifc4x3_tc1::IfcContext::IsDefinedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[931], 4)->as(); } @@ -9458,10 +9458,10 @@ void Ifc4x3_tc1::IfcContext::setUnitsInContext(::Ifc4x3_tc1::IfcUnitAssignment* const IfcParse::entity& Ifc4x3_tc1::IfcContext::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[225]); } const IfcParse::entity& Ifc4x3_tc1::IfcContext::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[225]); } Ifc4x3_tc1::IfcContext::IfcContext(IfcEntityInstanceData&& e) : IfcObjectDefinition(std::move(e)) { } -Ifc4x3_tc1::IfcContext::IfcContext(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_tc1::IfcUnitAssignment* v9_UnitsInContext) : IfcObjectDefinition(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcContext::IfcContext(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_tc1::IfcUnitAssignment* v9_UnitsInContext) : IfcObjectDefinition(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcContextDependentUnit -std::string Ifc4x3_tc1::IfcContextDependentUnit::Name() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3_tc1::IfcContextDependentUnit::Name() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcContextDependentUnit::setName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } ::Ifc4x3_tc1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_tc1::IfcContextDependentUnit::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[427], 3)->as(); } @@ -9469,10 +9469,10 @@ void Ifc4x3_tc1::IfcContextDependentUnit::setName(std::string v) { set_attribute const IfcParse::entity& Ifc4x3_tc1::IfcContextDependentUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[227]); } const IfcParse::entity& Ifc4x3_tc1::IfcContextDependentUnit::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[227]); } Ifc4x3_tc1::IfcContextDependentUnit::IfcContextDependentUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -Ifc4x3_tc1::IfcContextDependentUnit::IfcContextDependentUnit(::Ifc4x3_tc1::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_tc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) : IfcNamedUnit(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_tc1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; populate_derived(); } +Ifc4x3_tc1::IfcContextDependentUnit::IfcContextDependentUnit(::Ifc4x3_tc1::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_tc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name) : IfcNamedUnit(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_tc1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));; populate_derived(); } // Function implementations for IfcControl -boost::optional< std::string > Ifc4x3_tc1::IfcControl::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcControl::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcControl::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x3_tc1::IfcRelAssignsToControl::list::ptr Ifc4x3_tc1::IfcControl::Controls() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[900], 6)->as(); } @@ -9480,32 +9480,32 @@ void Ifc4x3_tc1::IfcControl::setIdentification(boost::optional< std::string > v) const IfcParse::entity& Ifc4x3_tc1::IfcControl::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[228]); } const IfcParse::entity& Ifc4x3_tc1::IfcControl::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[228]); } Ifc4x3_tc1::IfcControl::IfcControl(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_tc1::IfcControl::IfcControl(std::string v1_GlobalId, ::Ifc4x3_tc1::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(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }; populate_derived(); } +Ifc4x3_tc1::IfcControl::IfcControl(std::string v1_GlobalId, ::Ifc4x3_tc1::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(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }; populate_derived(); } // Function implementations for IfcController -boost::optional< ::Ifc4x3_tc1::IfcControllerTypeEnum::Value > Ifc4x3_tc1::IfcController::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcControllerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcControllerTypeEnum::Value > Ifc4x3_tc1::IfcController::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcControllerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcController::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcControllerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcControllerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcController::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[229]); } const IfcParse::entity& Ifc4x3_tc1::IfcController::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[229]); } Ifc4x3_tc1::IfcController::IfcController(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_tc1::IfcController::IfcController(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcControllerTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcController::IfcController(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcControllerTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcControllerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcControllerType -::Ifc4x3_tc1::IfcControllerTypeEnum::Value Ifc4x3_tc1::IfcControllerType::PredefinedType() const { return ::Ifc4x3_tc1::IfcControllerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcControllerTypeEnum::Value Ifc4x3_tc1::IfcControllerType::PredefinedType() const { return ::Ifc4x3_tc1::IfcControllerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcControllerType::setPredefinedType(::Ifc4x3_tc1::IfcControllerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcControllerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcControllerType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[230]); } const IfcParse::entity& Ifc4x3_tc1::IfcControllerType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[230]); } Ifc4x3_tc1::IfcControllerType::IfcControllerType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_tc1::IfcControllerType::IfcControllerType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcControllerTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcControllerType::IfcControllerType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcControllerTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcControllerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcConversionBasedUnit -std::string Ifc4x3_tc1::IfcConversionBasedUnit::Name() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3_tc1::IfcConversionBasedUnit::Name() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcConversionBasedUnit::setName(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_tc1::IfcMeasureWithUnit* Ifc4x3_tc1::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcMeasureWithUnit>(true); } +::Ifc4x3_tc1::IfcMeasureWithUnit* Ifc4x3_tc1::IfcConversionBasedUnit::ConversionFactor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcMeasureWithUnit>(true); } void Ifc4x3_tc1::IfcConversionBasedUnit::setConversionFactor(::Ifc4x3_tc1::IfcMeasureWithUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } ::Ifc4x3_tc1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_tc1::IfcConversionBasedUnit::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[427], 3)->as(); } @@ -9513,98 +9513,98 @@ void Ifc4x3_tc1::IfcConversionBasedUnit::setConversionFactor(::Ifc4x3_tc1::IfcMe const IfcParse::entity& Ifc4x3_tc1::IfcConversionBasedUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[232]); } const IfcParse::entity& Ifc4x3_tc1::IfcConversionBasedUnit::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[232]); } Ifc4x3_tc1::IfcConversionBasedUnit::IfcConversionBasedUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -Ifc4x3_tc1::IfcConversionBasedUnit::IfcConversionBasedUnit(::Ifc4x3_tc1::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_tc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_tc1::IfcMeasureWithUnit* v4_ConversionFactor) : IfcNamedUnit(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_tc1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcConversionBasedUnit::IfcConversionBasedUnit(::Ifc4x3_tc1::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_tc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_tc1::IfcMeasureWithUnit* v4_ConversionFactor) : IfcNamedUnit(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_tc1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcConversionBasedUnitWithOffset -double Ifc4x3_tc1::IfcConversionBasedUnitWithOffset::ConversionOffset() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_tc1::IfcConversionBasedUnitWithOffset::ConversionOffset() const { double v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcConversionBasedUnitWithOffset::setConversionOffset(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_tc1::IfcConversionBasedUnitWithOffset::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[233]); } const IfcParse::entity& Ifc4x3_tc1::IfcConversionBasedUnitWithOffset::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[233]); } Ifc4x3_tc1::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(IfcEntityInstanceData&& e) : IfcConversionBasedUnit(std::move(e)) { } -Ifc4x3_tc1::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(::Ifc4x3_tc1::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_tc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_tc1::IfcMeasureWithUnit* v4_ConversionFactor, double v5_ConversionOffset) : IfcConversionBasedUnit(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_tc1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ConversionOffset));; populate_derived(); } +Ifc4x3_tc1::IfcConversionBasedUnitWithOffset::IfcConversionBasedUnitWithOffset(::Ifc4x3_tc1::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_tc1::IfcUnitEnum::Value v2_UnitType, std::string v3_Name, ::Ifc4x3_tc1::IfcMeasureWithUnit* v4_ConversionFactor, double v5_ConversionOffset) : IfcConversionBasedUnit(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_tc1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));set_attribute_value(2, (v3_Name));set_attribute_value(3, v4_ConversionFactor ? v4_ConversionFactor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ConversionOffset));; populate_derived(); } // Function implementations for IfcConveyorSegment -boost::optional< ::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Value > Ifc4x3_tc1::IfcConveyorSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Value > Ifc4x3_tc1::IfcConveyorSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcConveyorSegment::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcConveyorSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[234]); } const IfcParse::entity& Ifc4x3_tc1::IfcConveyorSegment::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[234]); } Ifc4x3_tc1::IfcConveyorSegment::IfcConveyorSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x3_tc1::IfcConveyorSegment::IfcConveyorSegment(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcConveyorSegment::IfcConveyorSegment(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcConveyorSegmentType -::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Value Ifc4x3_tc1::IfcConveyorSegmentType::PredefinedType() const { return ::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Value Ifc4x3_tc1::IfcConveyorSegmentType::PredefinedType() const { return ::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcConveyorSegmentType::setPredefinedType(::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcConveyorSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[235]); } const IfcParse::entity& Ifc4x3_tc1::IfcConveyorSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[235]); } Ifc4x3_tc1::IfcConveyorSegmentType::IfcConveyorSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x3_tc1::IfcConveyorSegmentType::IfcConveyorSegmentType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcConveyorSegmentType::IfcConveyorSegmentType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcConveyorSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCooledBeam -boost::optional< ::Ifc4x3_tc1::IfcCooledBeamTypeEnum::Value > Ifc4x3_tc1::IfcCooledBeam::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCooledBeamTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcCooledBeamTypeEnum::Value > Ifc4x3_tc1::IfcCooledBeam::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCooledBeamTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcCooledBeam::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcCooledBeamTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcCooledBeamTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcCooledBeam::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[237]); } const IfcParse::entity& Ifc4x3_tc1::IfcCooledBeam::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[237]); } Ifc4x3_tc1::IfcCooledBeam::IfcCooledBeam(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_tc1::IfcCooledBeam::IfcCooledBeam(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcCooledBeam::IfcCooledBeam(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcCooledBeamTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcCooledBeamTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCooledBeamType -::Ifc4x3_tc1::IfcCooledBeamTypeEnum::Value Ifc4x3_tc1::IfcCooledBeamType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCooledBeamTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcCooledBeamTypeEnum::Value Ifc4x3_tc1::IfcCooledBeamType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCooledBeamTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcCooledBeamType::setPredefinedType(::Ifc4x3_tc1::IfcCooledBeamTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcCooledBeamTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcCooledBeamType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[238]); } const IfcParse::entity& Ifc4x3_tc1::IfcCooledBeamType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[238]); } Ifc4x3_tc1::IfcCooledBeamType::IfcCooledBeamType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_tc1::IfcCooledBeamType::IfcCooledBeamType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCooledBeamTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcCooledBeamType::IfcCooledBeamType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCooledBeamTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcCooledBeamTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCoolingTower -boost::optional< ::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Value > Ifc4x3_tc1::IfcCoolingTower::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Value > Ifc4x3_tc1::IfcCoolingTower::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcCoolingTower::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcCoolingTower::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[240]); } const IfcParse::entity& Ifc4x3_tc1::IfcCoolingTower::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[240]); } Ifc4x3_tc1::IfcCoolingTower::IfcCoolingTower(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_tc1::IfcCoolingTower::IfcCoolingTower(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcCoolingTower::IfcCoolingTower(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCoolingTowerType -::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Value Ifc4x3_tc1::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Value Ifc4x3_tc1::IfcCoolingTowerType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcCoolingTowerType::setPredefinedType(::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcCoolingTowerType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[241]); } const IfcParse::entity& Ifc4x3_tc1::IfcCoolingTowerType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[241]); } Ifc4x3_tc1::IfcCoolingTowerType::IfcCoolingTowerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_tc1::IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcCoolingTowerType::IfcCoolingTowerType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcCoolingTowerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCoordinateOperation -::Ifc4x3_tc1::IfcCoordinateReferenceSystemSelect* Ifc4x3_tc1::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCoordinateReferenceSystemSelect>(true); } +::Ifc4x3_tc1::IfcCoordinateReferenceSystemSelect* Ifc4x3_tc1::IfcCoordinateOperation::SourceCRS() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCoordinateReferenceSystemSelect>(true); } void Ifc4x3_tc1::IfcCoordinateOperation::setSourceCRS(::Ifc4x3_tc1::IfcCoordinateReferenceSystemSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_tc1::IfcCoordinateReferenceSystem* Ifc4x3_tc1::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcCoordinateReferenceSystem>(true); } +::Ifc4x3_tc1::IfcCoordinateReferenceSystem* Ifc4x3_tc1::IfcCoordinateOperation::TargetCRS() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcCoordinateReferenceSystem>(true); } void Ifc4x3_tc1::IfcCoordinateOperation::setTargetCRS(::Ifc4x3_tc1::IfcCoordinateReferenceSystem* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcCoordinateOperation::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[243]); } const IfcParse::entity& Ifc4x3_tc1::IfcCoordinateOperation::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[243]); } Ifc4x3_tc1::IfcCoordinateOperation::IfcCoordinateOperation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcCoordinateOperation::IfcCoordinateOperation(::Ifc4x3_tc1::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_tc1::IfcCoordinateReferenceSystem* v2_TargetCRS) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcCoordinateOperation::IfcCoordinateOperation(::Ifc4x3_tc1::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_tc1::IfcCoordinateReferenceSystem* v2_TargetCRS) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCoordinateReferenceSystem -std::string Ifc4x3_tc1::IfcCoordinateReferenceSystem::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_tc1::IfcCoordinateReferenceSystem::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcCoordinateReferenceSystem::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_tc1::IfcCoordinateReferenceSystem::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcCoordinateReferenceSystem::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcCoordinateReferenceSystem::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_tc1::IfcCoordinateReferenceSystem::GeodeticDatum() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcCoordinateReferenceSystem::GeodeticDatum() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcCoordinateReferenceSystem::setGeodeticDatum(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_tc1::IfcCoordinateReferenceSystem::VerticalDatum() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcCoordinateReferenceSystem::VerticalDatum() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcCoordinateReferenceSystem::setVerticalDatum(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } ::Ifc4x3_tc1::IfcCoordinateOperation::list::ptr Ifc4x3_tc1::IfcCoordinateReferenceSystem::HasCoordinateOperation() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[243], 0)->as(); } @@ -9612,49 +9612,49 @@ void Ifc4x3_tc1::IfcCoordinateReferenceSystem::setVerticalDatum(boost::optional< const IfcParse::entity& Ifc4x3_tc1::IfcCoordinateReferenceSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[244]); } const IfcParse::entity& Ifc4x3_tc1::IfcCoordinateReferenceSystem::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[244]); } Ifc4x3_tc1::IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::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(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); }; populate_derived(); } +Ifc4x3_tc1::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(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); }; populate_derived(); } // Function implementations for IfcCosineSpiral -double Ifc4x3_tc1::IfcCosineSpiral::CosineTerm() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_tc1::IfcCosineSpiral::CosineTerm() const { double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcCosineSpiral::setCosineTerm(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_tc1::IfcCosineSpiral::ConstantTerm() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_tc1::IfcCosineSpiral::ConstantTerm() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcCosineSpiral::setConstantTerm(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_tc1::IfcCosineSpiral::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[246]); } const IfcParse::entity& Ifc4x3_tc1::IfcCosineSpiral::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[246]); } Ifc4x3_tc1::IfcCosineSpiral::IfcCosineSpiral(IfcEntityInstanceData&& e) : IfcSpiral(std::move(e)) { } -Ifc4x3_tc1::IfcCosineSpiral::IfcCosineSpiral(::Ifc4x3_tc1::IfcAxis2Placement* v1_Position, double v2_CosineTerm, boost::optional< double > v3_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CosineTerm)); if (v3_ConstantTerm) {set_attribute_value(2, (*v3_ConstantTerm)); }; populate_derived(); } +Ifc4x3_tc1::IfcCosineSpiral::IfcCosineSpiral(::Ifc4x3_tc1::IfcAxis2Placement* v1_Position, double v2_CosineTerm, boost::optional< double > v3_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CosineTerm)); if (v3_ConstantTerm) {set_attribute_value(2, (*v3_ConstantTerm)); }; populate_derived(); } // Function implementations for IfcCostItem -boost::optional< ::Ifc4x3_tc1::IfcCostItemTypeEnum::Value > Ifc4x3_tc1::IfcCostItem::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCostItemTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_tc1::IfcCostItemTypeEnum::Value > Ifc4x3_tc1::IfcCostItem::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCostItemTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_tc1::IfcCostItem::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcCostItemTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_tc1::IfcCostItemTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcCostValue >::ptr > Ifc4x3_tc1::IfcCostItem::CostValues() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_tc1::IfcCostValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcCostValue >::ptr > Ifc4x3_tc1::IfcCostItem::CostValues() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_tc1::IfcCostValue >(); } void Ifc4x3_tc1::IfcCostItem::setCostValues(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcCostValue >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPhysicalQuantity >::ptr > Ifc4x3_tc1::IfcCostItem::CostQuantities() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_tc1::IfcPhysicalQuantity >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPhysicalQuantity >::ptr > Ifc4x3_tc1::IfcCostItem::CostQuantities() const { if(get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_tc1::IfcPhysicalQuantity >(); } void Ifc4x3_tc1::IfcCostItem::setCostQuantities(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPhysicalQuantity >::ptr > v) { if (v) {set_attribute_value(8, (*v)->generalize());} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcCostItem::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[247]); } const IfcParse::entity& Ifc4x3_tc1::IfcCostItem::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[247]); } Ifc4x3_tc1::IfcCostItem::IfcCostItem(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_tc1::IfcCostItem::IfcCostItem(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcCostItemTypeEnum::Value > v7_PredefinedType, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcCostValue >::ptr > v8_CostValues, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPhysicalQuantity >::ptr > v9_CostQuantities) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_tc1::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, (*v8_CostValues)->generalize()); } if (v9_CostQuantities) {set_attribute_value(8, (*v9_CostQuantities)->generalize()); }; populate_derived(); } +Ifc4x3_tc1::IfcCostItem::IfcCostItem(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcCostItemTypeEnum::Value > v7_PredefinedType, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcCostValue >::ptr > v8_CostValues, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPhysicalQuantity >::ptr > v9_CostQuantities) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_tc1::IfcCostItemTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_CostValues) {set_attribute_value(7, (*v8_CostValues)->generalize()); } if (v9_CostQuantities) {set_attribute_value(8, (*v9_CostQuantities)->generalize()); }; populate_derived(); } // Function implementations for IfcCostSchedule -boost::optional< ::Ifc4x3_tc1::IfcCostScheduleTypeEnum::Value > Ifc4x3_tc1::IfcCostSchedule::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCostScheduleTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_tc1::IfcCostScheduleTypeEnum::Value > Ifc4x3_tc1::IfcCostSchedule::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCostScheduleTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_tc1::IfcCostSchedule::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcCostScheduleTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_tc1::IfcCostScheduleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_tc1::IfcCostSchedule::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcCostSchedule::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcCostSchedule::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_tc1::IfcCostSchedule::SubmittedOn() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcCostSchedule::SubmittedOn() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcCostSchedule::setSubmittedOn(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_tc1::IfcCostSchedule::UpdateDate() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcCostSchedule::UpdateDate() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_tc1::IfcCostSchedule::setUpdateDate(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_tc1::IfcCostSchedule::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[249]); } const IfcParse::entity& Ifc4x3_tc1::IfcCostSchedule::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[249]); } Ifc4x3_tc1::IfcCostSchedule::IfcCostSchedule(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_tc1::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_SubmittedOn, boost::optional< std::string > v10_UpdateDate) : IfcControl(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_tc1::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); }; populate_derived(); } +Ifc4x3_tc1::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcCostScheduleTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_SubmittedOn, boost::optional< std::string > v10_UpdateDate) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_tc1::IfcCostScheduleTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_SubmittedOn) {set_attribute_value(8, (*v9_SubmittedOn)); } if (v10_UpdateDate) {set_attribute_value(9, (*v10_UpdateDate)); }; populate_derived(); } // Function implementations for IfcCostValue @@ -9662,30 +9662,30 @@ Ifc4x3_tc1::IfcCostSchedule::IfcCostSchedule(std::string v1_GlobalId, ::Ifc4x3_t const IfcParse::entity& Ifc4x3_tc1::IfcCostValue::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[251]); } const IfcParse::entity& Ifc4x3_tc1::IfcCostValue::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[251]); } Ifc4x3_tc1::IfcCostValue::IfcCostValue(IfcEntityInstanceData&& e) : IfcAppliedValue(std::move(e)) { } -Ifc4x3_tc1::IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3_tc1::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_tc1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAppliedValue >::ptr > v10_Components) : IfcAppliedValue(IfcEntityInstanceData(storage_t(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } +Ifc4x3_tc1::IfcCostValue::IfcCostValue(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcAppliedValueSelect* v3_AppliedValue, ::Ifc4x3_tc1::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_tc1::IfcArithmeticOperatorEnum::Value > v9_ArithmeticOperator, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAppliedValue >::ptr > v10_Components) : IfcAppliedValue(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_AppliedValue ? v3_AppliedValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_UnitBasis ? v4_UnitBasis->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ApplicableDate) {set_attribute_value(4, (*v5_ApplicableDate)); } if (v6_FixedUntilDate) {set_attribute_value(5, (*v6_FixedUntilDate)); } if (v7_Category) {set_attribute_value(6, (*v7_Category)); } if (v8_Condition) {set_attribute_value(7, (*v8_Condition)); } if (v9_ArithmeticOperator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcArithmeticOperatorEnum::Class(),(size_t)*v9_ArithmeticOperator))); } if (v10_Components) {set_attribute_value(9, (*v10_Components)->generalize()); }; populate_derived(); } // Function implementations for IfcCourse -boost::optional< ::Ifc4x3_tc1::IfcCourseTypeEnum::Value > Ifc4x3_tc1::IfcCourse::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCourseTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcCourseTypeEnum::Value > Ifc4x3_tc1::IfcCourse::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCourseTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcCourse::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcCourseTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcCourseTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcCourse::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[253]); } const IfcParse::entity& Ifc4x3_tc1::IfcCourse::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[253]); } Ifc4x3_tc1::IfcCourse::IfcCourse(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_tc1::IfcCourse::IfcCourse(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcCourseTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcCourseTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcCourse::IfcCourse(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcCourseTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcCourseTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCourseType -::Ifc4x3_tc1::IfcCourseTypeEnum::Value Ifc4x3_tc1::IfcCourseType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCourseTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcCourseTypeEnum::Value Ifc4x3_tc1::IfcCourseType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCourseTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcCourseType::setPredefinedType(::Ifc4x3_tc1::IfcCourseTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcCourseTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcCourseType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[254]); } const IfcParse::entity& Ifc4x3_tc1::IfcCourseType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[254]); } Ifc4x3_tc1::IfcCourseType::IfcCourseType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_tc1::IfcCourseType::IfcCourseType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCourseTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcCourseTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcCourseType::IfcCourseType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCourseTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcCourseTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCovering -boost::optional< ::Ifc4x3_tc1::IfcCoveringTypeEnum::Value > Ifc4x3_tc1::IfcCovering::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCoveringTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcCoveringTypeEnum::Value > Ifc4x3_tc1::IfcCovering::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCoveringTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcCovering::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcCoveringTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcCoveringTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x3_tc1::IfcRelCoversSpaces::list::ptr Ifc4x3_tc1::IfcCovering::CoversSpaces() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[926], 5)->as(); } @@ -9694,95 +9694,95 @@ void Ifc4x3_tc1::IfcCovering::setPredefinedType(boost::optional< ::Ifc4x3_tc1::I const IfcParse::entity& Ifc4x3_tc1::IfcCovering::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[256]); } const IfcParse::entity& Ifc4x3_tc1::IfcCovering::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[256]); } Ifc4x3_tc1::IfcCovering::IfcCovering(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_tc1::IfcCovering::IfcCovering(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcCoveringTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcCovering::IfcCovering(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcCoveringTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcCoveringTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCoveringType -::Ifc4x3_tc1::IfcCoveringTypeEnum::Value Ifc4x3_tc1::IfcCoveringType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCoveringTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcCoveringTypeEnum::Value Ifc4x3_tc1::IfcCoveringType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCoveringTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcCoveringType::setPredefinedType(::Ifc4x3_tc1::IfcCoveringTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcCoveringTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcCoveringType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[257]); } const IfcParse::entity& Ifc4x3_tc1::IfcCoveringType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[257]); } Ifc4x3_tc1::IfcCoveringType::IfcCoveringType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_tc1::IfcCoveringType::IfcCoveringType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCoveringTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcCoveringType::IfcCoveringType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCoveringTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcCoveringTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCrewResource -boost::optional< ::Ifc4x3_tc1::IfcCrewResourceTypeEnum::Value > Ifc4x3_tc1::IfcCrewResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCrewResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_tc1::IfcCrewResourceTypeEnum::Value > Ifc4x3_tc1::IfcCrewResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCrewResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_tc1::IfcCrewResource::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcCrewResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_tc1::IfcCrewResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_tc1::IfcCrewResource::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[259]); } const IfcParse::entity& Ifc4x3_tc1::IfcCrewResource::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[259]); } Ifc4x3_tc1::IfcCrewResource::IfcCrewResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_tc1::IfcCrewResource::IfcCrewResource(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_tc1::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcCrewResource::IfcCrewResource(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_tc1::IfcCrewResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcCrewResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCrewResourceType -::Ifc4x3_tc1::IfcCrewResourceTypeEnum::Value Ifc4x3_tc1::IfcCrewResourceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCrewResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_tc1::IfcCrewResourceTypeEnum::Value Ifc4x3_tc1::IfcCrewResourceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCrewResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_tc1::IfcCrewResourceType::setPredefinedType(::Ifc4x3_tc1::IfcCrewResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_tc1::IfcCrewResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_tc1::IfcCrewResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[260]); } const IfcParse::entity& Ifc4x3_tc1::IfcCrewResourceType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[260]); } Ifc4x3_tc1::IfcCrewResourceType::IfcCrewResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_tc1::IfcCrewResourceType::IfcCrewResourceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::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_tc1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_tc1::IfcCrewResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_tc1::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcCrewResourceType::IfcCrewResourceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::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_tc1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_tc1::IfcCrewResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_tc1::IfcCrewResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcCsgPrimitive3D -::Ifc4x3_tc1::IfcAxis2Placement3D* Ifc4x3_tc1::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcAxis2Placement3D>(true); } +::Ifc4x3_tc1::IfcAxis2Placement3D* Ifc4x3_tc1::IfcCsgPrimitive3D::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcAxis2Placement3D>(true); } void Ifc4x3_tc1::IfcCsgPrimitive3D::setPosition(::Ifc4x3_tc1::IfcAxis2Placement3D* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_tc1::IfcCsgPrimitive3D::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[262]); } const IfcParse::entity& Ifc4x3_tc1::IfcCsgPrimitive3D::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[262]); } Ifc4x3_tc1::IfcCsgPrimitive3D::IfcCsgPrimitive3D(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcCsgPrimitive3D::IfcCsgPrimitive3D(::Ifc4x3_tc1::IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcCsgPrimitive3D::IfcCsgPrimitive3D(::Ifc4x3_tc1::IfcAxis2Placement3D* v1_Position) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCsgSolid -::Ifc4x3_tc1::IfcCsgSelect* Ifc4x3_tc1::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCsgSelect>(true); } +::Ifc4x3_tc1::IfcCsgSelect* Ifc4x3_tc1::IfcCsgSolid::TreeRootExpression() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCsgSelect>(true); } void Ifc4x3_tc1::IfcCsgSolid::setTreeRootExpression(::Ifc4x3_tc1::IfcCsgSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_tc1::IfcCsgSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[264]); } const IfcParse::entity& Ifc4x3_tc1::IfcCsgSolid::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[264]); } Ifc4x3_tc1::IfcCsgSolid::IfcCsgSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3_tc1::IfcCsgSolid::IfcCsgSolid(::Ifc4x3_tc1::IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_TreeRootExpression ? v1_TreeRootExpression->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcCsgSolid::IfcCsgSolid(::Ifc4x3_tc1::IfcCsgSelect* v1_TreeRootExpression) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_TreeRootExpression ? v1_TreeRootExpression->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCurrencyRelationship -::Ifc4x3_tc1::IfcMonetaryUnit* Ifc4x3_tc1::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcMonetaryUnit>(true); } +::Ifc4x3_tc1::IfcMonetaryUnit* Ifc4x3_tc1::IfcCurrencyRelationship::RelatingMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcMonetaryUnit>(true); } void Ifc4x3_tc1::IfcCurrencyRelationship::setRelatingMonetaryUnit(::Ifc4x3_tc1::IfcMonetaryUnit* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_tc1::IfcMonetaryUnit* Ifc4x3_tc1::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcMonetaryUnit>(true); } +::Ifc4x3_tc1::IfcMonetaryUnit* Ifc4x3_tc1::IfcCurrencyRelationship::RelatedMonetaryUnit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcMonetaryUnit>(true); } void Ifc4x3_tc1::IfcCurrencyRelationship::setRelatedMonetaryUnit(::Ifc4x3_tc1::IfcMonetaryUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_tc1::IfcCurrencyRelationship::ExchangeRate() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_tc1::IfcCurrencyRelationship::ExchangeRate() const { double v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcCurrencyRelationship::setExchangeRate(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< std::string > Ifc4x3_tc1::IfcCurrencyRelationship::RateDateTime() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcCurrencyRelationship::RateDateTime() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcCurrencyRelationship::setRateDateTime(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_tc1::IfcLibraryInformation* Ifc4x3_tc1::IfcCurrencyRelationship::RateSource() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcLibraryInformation>(true); } +::Ifc4x3_tc1::IfcLibraryInformation* Ifc4x3_tc1::IfcCurrencyRelationship::RateSource() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcLibraryInformation>(true); } void Ifc4x3_tc1::IfcCurrencyRelationship::setRateSource(::Ifc4x3_tc1::IfcLibraryInformation* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_tc1::IfcCurrencyRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[266]); } const IfcParse::entity& Ifc4x3_tc1::IfcCurrencyRelationship::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[266]); } Ifc4x3_tc1::IfcCurrencyRelationship::IfcCurrencyRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_tc1::IfcCurrencyRelationship::IfcCurrencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcMonetaryUnit* v3_RelatingMonetaryUnit, ::Ifc4x3_tc1::IfcMonetaryUnit* v4_RelatedMonetaryUnit, double v5_ExchangeRate, boost::optional< std::string > v6_RateDateTime, ::Ifc4x3_tc1::IfcLibraryInformation* v7_RateSource) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMonetaryUnit ? v3_RelatingMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_RelatedMonetaryUnit ? v4_RelatedMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, v7_RateSource ? v7_RateSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcCurrencyRelationship::IfcCurrencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcMonetaryUnit* v3_RelatingMonetaryUnit, ::Ifc4x3_tc1::IfcMonetaryUnit* v4_RelatedMonetaryUnit, double v5_ExchangeRate, boost::optional< std::string > v6_RateDateTime, ::Ifc4x3_tc1::IfcLibraryInformation* v7_RateSource) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMonetaryUnit ? v3_RelatingMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_RelatedMonetaryUnit ? v4_RelatedMonetaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_ExchangeRate)); if (v6_RateDateTime) {set_attribute_value(5, (*v6_RateDateTime)); }set_attribute_value(6, v7_RateSource ? v7_RateSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCurtainWall -boost::optional< ::Ifc4x3_tc1::IfcCurtainWallTypeEnum::Value > Ifc4x3_tc1::IfcCurtainWall::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCurtainWallTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcCurtainWallTypeEnum::Value > Ifc4x3_tc1::IfcCurtainWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCurtainWallTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcCurtainWall::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcCurtainWallTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcCurtainWallTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcCurtainWall::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[267]); } const IfcParse::entity& Ifc4x3_tc1::IfcCurtainWall::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[267]); } Ifc4x3_tc1::IfcCurtainWall::IfcCurtainWall(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_tc1::IfcCurtainWall::IfcCurtainWall(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcCurtainWall::IfcCurtainWall(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcCurtainWallTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcCurtainWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcCurtainWallType -::Ifc4x3_tc1::IfcCurtainWallTypeEnum::Value Ifc4x3_tc1::IfcCurtainWallType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCurtainWallTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcCurtainWallTypeEnum::Value Ifc4x3_tc1::IfcCurtainWallType::PredefinedType() const { return ::Ifc4x3_tc1::IfcCurtainWallTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcCurtainWallType::setPredefinedType(::Ifc4x3_tc1::IfcCurtainWallTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcCurtainWallTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcCurtainWallType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[268]); } const IfcParse::entity& Ifc4x3_tc1::IfcCurtainWallType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[268]); } Ifc4x3_tc1::IfcCurtainWallType::IfcCurtainWallType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_tc1::IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCurtainWallTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcCurtainWallTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcCurtainWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcCurve @@ -9790,135 +9790,135 @@ Ifc4x3_tc1::IfcCurtainWallType::IfcCurtainWallType(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x3_tc1::IfcCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[271]); } const IfcParse::entity& Ifc4x3_tc1::IfcCurve::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[271]); } Ifc4x3_tc1::IfcCurve::IfcCurve(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcCurve::IfcCurve() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_tc1::IfcCurve::IfcCurve() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcCurveBoundedPlane -::Ifc4x3_tc1::IfcPlane* Ifc4x3_tc1::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcPlane>(true); } +::Ifc4x3_tc1::IfcPlane* Ifc4x3_tc1::IfcCurveBoundedPlane::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcPlane>(true); } void Ifc4x3_tc1::IfcCurveBoundedPlane::setBasisSurface(::Ifc4x3_tc1::IfcPlane* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcCurve>(true); } +::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcCurveBoundedPlane::OuterBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcCurve>(true); } void Ifc4x3_tc1::IfcCurveBoundedPlane::setOuterBoundary(::Ifc4x3_tc1::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3_tc1::IfcCurve >::ptr Ifc4x3_tc1::IfcCurveBoundedPlane::InnerBoundaries() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcCurve >(); } +aggregate_of< ::Ifc4x3_tc1::IfcCurve >::ptr Ifc4x3_tc1::IfcCurveBoundedPlane::InnerBoundaries() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcCurve >(); } void Ifc4x3_tc1::IfcCurveBoundedPlane::setInnerBoundaries(aggregate_of< ::Ifc4x3_tc1::IfcCurve >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcCurveBoundedPlane::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[272]); } const IfcParse::entity& Ifc4x3_tc1::IfcCurveBoundedPlane::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[272]); } Ifc4x3_tc1::IfcCurveBoundedPlane::IfcCurveBoundedPlane(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x3_tc1::IfcCurveBoundedPlane::IfcCurveBoundedPlane(::Ifc4x3_tc1::IfcPlane* v1_BasisSurface, ::Ifc4x3_tc1::IfcCurve* v2_OuterBoundary, aggregate_of< ::Ifc4x3_tc1::IfcCurve >::ptr v3_InnerBoundaries) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OuterBoundary ? v2_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_InnerBoundaries)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcCurveBoundedPlane::IfcCurveBoundedPlane(::Ifc4x3_tc1::IfcPlane* v1_BasisSurface, ::Ifc4x3_tc1::IfcCurve* v2_OuterBoundary, aggregate_of< ::Ifc4x3_tc1::IfcCurve >::ptr v3_InnerBoundaries) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OuterBoundary ? v2_OuterBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_InnerBoundaries)->generalize());; populate_derived(); } // Function implementations for IfcCurveBoundedSurface -::Ifc4x3_tc1::IfcSurface* Ifc4x3_tc1::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcSurface>(true); } +::Ifc4x3_tc1::IfcSurface* Ifc4x3_tc1::IfcCurveBoundedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcSurface>(true); } void Ifc4x3_tc1::IfcCurveBoundedSurface::setBasisSurface(::Ifc4x3_tc1::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_tc1::IfcBoundaryCurve >::ptr Ifc4x3_tc1::IfcCurveBoundedSurface::Boundaries() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcBoundaryCurve >(); } +aggregate_of< ::Ifc4x3_tc1::IfcBoundaryCurve >::ptr Ifc4x3_tc1::IfcCurveBoundedSurface::Boundaries() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcBoundaryCurve >(); } void Ifc4x3_tc1::IfcCurveBoundedSurface::setBoundaries(aggregate_of< ::Ifc4x3_tc1::IfcBoundaryCurve >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -bool Ifc4x3_tc1::IfcCurveBoundedSurface::ImplicitOuter() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x3_tc1::IfcCurveBoundedSurface::ImplicitOuter() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcCurveBoundedSurface::setImplicitOuter(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcCurveBoundedSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[273]); } const IfcParse::entity& Ifc4x3_tc1::IfcCurveBoundedSurface::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[273]); } Ifc4x3_tc1::IfcCurveBoundedSurface::IfcCurveBoundedSurface(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x3_tc1::IfcCurveBoundedSurface::IfcCurveBoundedSurface(::Ifc4x3_tc1::IfcSurface* v1_BasisSurface, aggregate_of< ::Ifc4x3_tc1::IfcBoundaryCurve >::ptr v2_Boundaries, bool v3_ImplicitOuter) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Boundaries)->generalize());set_attribute_value(2, (v3_ImplicitOuter));; populate_derived(); } +Ifc4x3_tc1::IfcCurveBoundedSurface::IfcCurveBoundedSurface(::Ifc4x3_tc1::IfcSurface* v1_BasisSurface, aggregate_of< ::Ifc4x3_tc1::IfcBoundaryCurve >::ptr v2_Boundaries, bool v3_ImplicitOuter) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Boundaries)->generalize());set_attribute_value(2, (v3_ImplicitOuter));; populate_derived(); } // Function implementations for IfcCurveSegment -::Ifc4x3_tc1::IfcPlacement* Ifc4x3_tc1::IfcCurveSegment::Placement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcPlacement>(true); } +::Ifc4x3_tc1::IfcPlacement* Ifc4x3_tc1::IfcCurveSegment::Placement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcPlacement>(true); } void Ifc4x3_tc1::IfcCurveSegment::setPlacement(::Ifc4x3_tc1::IfcPlacement* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_tc1::IfcCurveMeasureSelect* Ifc4x3_tc1::IfcCurveSegment::SegmentStart() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcCurveMeasureSelect>(true); } +::Ifc4x3_tc1::IfcCurveMeasureSelect* Ifc4x3_tc1::IfcCurveSegment::SegmentStart() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcCurveMeasureSelect>(true); } void Ifc4x3_tc1::IfcCurveSegment::setSegmentStart(::Ifc4x3_tc1::IfcCurveMeasureSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_tc1::IfcCurveMeasureSelect* Ifc4x3_tc1::IfcCurveSegment::SegmentLength() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcCurveMeasureSelect>(true); } +::Ifc4x3_tc1::IfcCurveMeasureSelect* Ifc4x3_tc1::IfcCurveSegment::SegmentLength() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcCurveMeasureSelect>(true); } void Ifc4x3_tc1::IfcCurveSegment::setSegmentLength(::Ifc4x3_tc1::IfcCurveMeasureSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcCurve>(true); } +::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcCurveSegment::ParentCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcCurve>(true); } void Ifc4x3_tc1::IfcCurveSegment::setParentCurve(::Ifc4x3_tc1::IfcCurve* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_tc1::IfcCurveSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[279]); } const IfcParse::entity& Ifc4x3_tc1::IfcCurveSegment::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[279]); } Ifc4x3_tc1::IfcCurveSegment::IfcCurveSegment(IfcEntityInstanceData&& e) : IfcSegment(std::move(e)) { } -Ifc4x3_tc1::IfcCurveSegment::IfcCurveSegment(::Ifc4x3_tc1::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_tc1::IfcPlacement* v2_Placement, ::Ifc4x3_tc1::IfcCurveMeasureSelect* v3_SegmentStart, ::Ifc4x3_tc1::IfcCurveMeasureSelect* v4_SegmentLength, ::Ifc4x3_tc1::IfcCurve* v5_ParentCurve) : IfcSegment(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SegmentStart ? v3_SegmentStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_SegmentLength ? v4_SegmentLength->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ParentCurve ? v5_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcCurveSegment::IfcCurveSegment(::Ifc4x3_tc1::IfcTransitionCode::Value v1_Transition, ::Ifc4x3_tc1::IfcPlacement* v2_Placement, ::Ifc4x3_tc1::IfcCurveMeasureSelect* v3_SegmentStart, ::Ifc4x3_tc1::IfcCurveMeasureSelect* v4_SegmentLength, ::Ifc4x3_tc1::IfcCurve* v5_ParentCurve) : IfcSegment(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_SegmentStart ? v3_SegmentStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_SegmentLength ? v4_SegmentLength->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ParentCurve ? v5_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcCurveStyle -::Ifc4x3_tc1::IfcCurveFontOrScaledCurveFontSelect* Ifc4x3_tc1::IfcCurveStyle::CurveFont() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcCurveFontOrScaledCurveFontSelect>(true); } +::Ifc4x3_tc1::IfcCurveFontOrScaledCurveFontSelect* Ifc4x3_tc1::IfcCurveStyle::CurveFont() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcCurveFontOrScaledCurveFontSelect>(true); } void Ifc4x3_tc1::IfcCurveStyle::setCurveFont(::Ifc4x3_tc1::IfcCurveFontOrScaledCurveFontSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_tc1::IfcSizeSelect* Ifc4x3_tc1::IfcCurveStyle::CurveWidth() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcSizeSelect>(true); } +::Ifc4x3_tc1::IfcSizeSelect* Ifc4x3_tc1::IfcCurveStyle::CurveWidth() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcSizeSelect>(true); } void Ifc4x3_tc1::IfcCurveStyle::setCurveWidth(::Ifc4x3_tc1::IfcSizeSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_tc1::IfcColour* Ifc4x3_tc1::IfcCurveStyle::CurveColour() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcColour>(true); } +::Ifc4x3_tc1::IfcColour* Ifc4x3_tc1::IfcCurveStyle::CurveColour() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcColour>(true); } void Ifc4x3_tc1::IfcCurveStyle::setCurveColour(::Ifc4x3_tc1::IfcColour* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< bool > Ifc4x3_tc1::IfcCurveStyle::ModelOrDraughting() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } bool v = data_.get_attribute_value(4); return v; } +boost::optional< bool > Ifc4x3_tc1::IfcCurveStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return boost::none; } bool v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcCurveStyle::setModelOrDraughting(boost::optional< bool > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_tc1::IfcCurveStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[280]); } const IfcParse::entity& Ifc4x3_tc1::IfcCurveStyle::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[280]); } Ifc4x3_tc1::IfcCurveStyle::IfcCurveStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x3_tc1::IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcCurveFontOrScaledCurveFontSelect* v2_CurveFont, ::Ifc4x3_tc1::IfcSizeSelect* v3_CurveWidth, ::Ifc4x3_tc1::IfcColour* v4_CurveColour, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CurveWidth ? v3_CurveWidth->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_CurveColour ? v4_CurveColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } +Ifc4x3_tc1::IfcCurveStyle::IfcCurveStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcCurveFontOrScaledCurveFontSelect* v2_CurveFont, ::Ifc4x3_tc1::IfcSizeSelect* v3_CurveWidth, ::Ifc4x3_tc1::IfcColour* v4_CurveColour, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveFont ? v2_CurveFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CurveWidth ? v3_CurveWidth->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_CurveColour ? v4_CurveColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } // Function implementations for IfcCurveStyleFont -boost::optional< std::string > Ifc4x3_tc1::IfcCurveStyleFont::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcCurveStyleFont::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcCurveStyleFont::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -aggregate_of< ::Ifc4x3_tc1::IfcCurveStyleFontPattern >::ptr Ifc4x3_tc1::IfcCurveStyleFont::PatternList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcCurveStyleFontPattern >(); } +aggregate_of< ::Ifc4x3_tc1::IfcCurveStyleFontPattern >::ptr Ifc4x3_tc1::IfcCurveStyleFont::PatternList() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcCurveStyleFontPattern >(); } void Ifc4x3_tc1::IfcCurveStyleFont::setPatternList(aggregate_of< ::Ifc4x3_tc1::IfcCurveStyleFontPattern >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcCurveStyleFont::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[281]); } const IfcParse::entity& Ifc4x3_tc1::IfcCurveStyleFont::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[281]); } Ifc4x3_tc1::IfcCurveStyleFont::IfcCurveStyleFont(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_tc1::IfcCurveStyleFontPattern >::ptr v2_PatternList) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_PatternList)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcCurveStyleFont::IfcCurveStyleFont(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_tc1::IfcCurveStyleFontPattern >::ptr v2_PatternList) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_PatternList)->generalize());; populate_derived(); } // Function implementations for IfcCurveStyleFontAndScaling -boost::optional< std::string > Ifc4x3_tc1::IfcCurveStyleFontAndScaling::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcCurveStyleFontAndScaling::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcCurveStyleFontAndScaling::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_tc1::IfcCurveStyleFontSelect* Ifc4x3_tc1::IfcCurveStyleFontAndScaling::CurveStyleFont() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcCurveStyleFontSelect>(true); } +::Ifc4x3_tc1::IfcCurveStyleFontSelect* Ifc4x3_tc1::IfcCurveStyleFontAndScaling::CurveStyleFont() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcCurveStyleFontSelect>(true); } void Ifc4x3_tc1::IfcCurveStyleFontAndScaling::setCurveStyleFont(::Ifc4x3_tc1::IfcCurveStyleFontSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_tc1::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_tc1::IfcCurveStyleFontAndScaling::CurveFontScaling() const { double v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcCurveStyleFontAndScaling::setCurveFontScaling(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcCurveStyleFontAndScaling::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[282]); } const IfcParse::entity& Ifc4x3_tc1::IfcCurveStyleFontAndScaling::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[282]); } Ifc4x3_tc1::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(boost::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcCurveStyleFontSelect* v2_CurveStyleFont, double v3_CurveFontScaling) : IfcPresentationItem(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveStyleFont ? v2_CurveStyleFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_CurveFontScaling));; populate_derived(); } +Ifc4x3_tc1::IfcCurveStyleFontAndScaling::IfcCurveStyleFontAndScaling(boost::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcCurveStyleFontSelect* v2_CurveStyleFont, double v3_CurveFontScaling) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_CurveStyleFont ? v2_CurveStyleFont->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_CurveFontScaling));; populate_derived(); } // Function implementations for IfcCurveStyleFontPattern -double Ifc4x3_tc1::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_tc1::IfcCurveStyleFontPattern::VisibleSegmentLength() const { double v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcCurveStyleFontPattern::setVisibleSegmentLength(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_tc1::IfcCurveStyleFontPattern::InvisibleSegmentLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_tc1::IfcCurveStyleFontPattern::InvisibleSegmentLength() const { double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcCurveStyleFontPattern::setInvisibleSegmentLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcCurveStyleFontPattern::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[283]); } const IfcParse::entity& Ifc4x3_tc1::IfcCurveStyleFontPattern::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[283]); } Ifc4x3_tc1::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; populate_derived(); } +Ifc4x3_tc1::IfcCurveStyleFontPattern::IfcCurveStyleFontPattern(double v1_VisibleSegmentLength, double v2_InvisibleSegmentLength) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_VisibleSegmentLength));set_attribute_value(1, (v2_InvisibleSegmentLength));; populate_derived(); } // Function implementations for IfcCylindricalSurface -double Ifc4x3_tc1::IfcCylindricalSurface::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_tc1::IfcCylindricalSurface::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcCylindricalSurface::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcCylindricalSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[285]); } const IfcParse::entity& Ifc4x3_tc1::IfcCylindricalSurface::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[285]); } Ifc4x3_tc1::IfcCylindricalSurface::IfcCylindricalSurface(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x3_tc1::IfcCylindricalSurface::IfcCylindricalSurface(::Ifc4x3_tc1::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x3_tc1::IfcCylindricalSurface::IfcCylindricalSurface(::Ifc4x3_tc1::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcDamper -boost::optional< ::Ifc4x3_tc1::IfcDamperTypeEnum::Value > Ifc4x3_tc1::IfcDamper::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcDamperTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcDamperTypeEnum::Value > Ifc4x3_tc1::IfcDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcDamperTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcDamper::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcDamperTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcDamperTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcDamper::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[286]); } const IfcParse::entity& Ifc4x3_tc1::IfcDamper::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[286]); } Ifc4x3_tc1::IfcDamper::IfcDamper(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_tc1::IfcDamper::IfcDamper(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcDamperTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcDamper::IfcDamper(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcDamperTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDamperType -::Ifc4x3_tc1::IfcDamperTypeEnum::Value Ifc4x3_tc1::IfcDamperType::PredefinedType() const { return ::Ifc4x3_tc1::IfcDamperTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcDamperTypeEnum::Value Ifc4x3_tc1::IfcDamperType::PredefinedType() const { return ::Ifc4x3_tc1::IfcDamperTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcDamperType::setPredefinedType(::Ifc4x3_tc1::IfcDamperTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcDamperTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcDamperType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[287]); } const IfcParse::entity& Ifc4x3_tc1::IfcDamperType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[287]); } Ifc4x3_tc1::IfcDamperType::IfcDamperType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_tc1::IfcDamperType::IfcDamperType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDamperTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcDamperType::IfcDamperType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDamperTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDeepFoundation @@ -9926,7 +9926,7 @@ Ifc4x3_tc1::IfcDamperType::IfcDamperType(std::string v1_GlobalId, ::Ifc4x3_tc1:: const IfcParse::entity& Ifc4x3_tc1::IfcDeepFoundation::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[294]); } const IfcParse::entity& Ifc4x3_tc1::IfcDeepFoundation::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[294]); } Ifc4x3_tc1::IfcDeepFoundation::IfcDeepFoundation(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_tc1::IfcDeepFoundation::IfcDeepFoundation(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuiltElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_tc1::IfcDeepFoundation::IfcDeepFoundation(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDeepFoundationType @@ -9934,95 +9934,95 @@ Ifc4x3_tc1::IfcDeepFoundation::IfcDeepFoundation(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3_tc1::IfcDeepFoundationType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[295]); } const IfcParse::entity& Ifc4x3_tc1::IfcDeepFoundationType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[295]); } Ifc4x3_tc1::IfcDeepFoundationType::IfcDeepFoundationType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_tc1::IfcDeepFoundationType::IfcDeepFoundationType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_tc1::IfcDeepFoundationType::IfcDeepFoundationType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDerivedProfileDef -::Ifc4x3_tc1::IfcProfileDef* Ifc4x3_tc1::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcProfileDef>(true); } +::Ifc4x3_tc1::IfcProfileDef* Ifc4x3_tc1::IfcDerivedProfileDef::ParentProfile() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcProfileDef>(true); } void Ifc4x3_tc1::IfcDerivedProfileDef::setParentProfile(::Ifc4x3_tc1::IfcProfileDef* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_tc1::IfcCartesianTransformationOperator2D* Ifc4x3_tc1::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcCartesianTransformationOperator2D>(true); } +::Ifc4x3_tc1::IfcCartesianTransformationOperator2D* Ifc4x3_tc1::IfcDerivedProfileDef::Operator() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcCartesianTransformationOperator2D>(true); } void Ifc4x3_tc1::IfcDerivedProfileDef::setOperator(::Ifc4x3_tc1::IfcCartesianTransformationOperator2D* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_tc1::IfcDerivedProfileDef::Label() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcDerivedProfileDef::Label() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcDerivedProfileDef::setLabel(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_tc1::IfcDerivedProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[298]); } const IfcParse::entity& Ifc4x3_tc1::IfcDerivedProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[298]); } Ifc4x3_tc1::IfcDerivedProfileDef::IfcDerivedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_tc1::IfcDerivedProfileDef::IfcDerivedProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcProfileDef* v3_ParentProfile, ::Ifc4x3_tc1::IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< std::string > v5_Label) : IfcProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Operator ? v4_Operator->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } +Ifc4x3_tc1::IfcDerivedProfileDef::IfcDerivedProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcProfileDef* v3_ParentProfile, ::Ifc4x3_tc1::IfcCartesianTransformationOperator2D* v4_Operator, boost::optional< std::string > v5_Label) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Operator ? v4_Operator->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } // Function implementations for IfcDerivedUnit -aggregate_of< ::Ifc4x3_tc1::IfcDerivedUnitElement >::ptr Ifc4x3_tc1::IfcDerivedUnit::Elements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcDerivedUnitElement >(); } +aggregate_of< ::Ifc4x3_tc1::IfcDerivedUnitElement >::ptr Ifc4x3_tc1::IfcDerivedUnit::Elements() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcDerivedUnitElement >(); } void Ifc4x3_tc1::IfcDerivedUnit::setElements(aggregate_of< ::Ifc4x3_tc1::IfcDerivedUnitElement >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_tc1::IfcDerivedUnitEnum::Value Ifc4x3_tc1::IfcDerivedUnit::UnitType() const { return ::Ifc4x3_tc1::IfcDerivedUnitEnum::FromString(data_.get_attribute_value(1)); } +::Ifc4x3_tc1::IfcDerivedUnitEnum::Value Ifc4x3_tc1::IfcDerivedUnit::UnitType() const { return ::Ifc4x3_tc1::IfcDerivedUnitEnum::FromString(get_attribute_value(1)); } void Ifc4x3_tc1::IfcDerivedUnit::setUnitType(::Ifc4x3_tc1::IfcDerivedUnitEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x3_tc1::IfcDerivedUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_tc1::IfcDerivedUnit::UserDefinedType() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcDerivedUnit::UserDefinedType() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcDerivedUnit::setUserDefinedType(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_tc1::IfcDerivedUnit::Name() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcDerivedUnit::Name() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcDerivedUnit::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_tc1::IfcDerivedUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[299]); } const IfcParse::entity& Ifc4x3_tc1::IfcDerivedUnit::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[299]); } Ifc4x3_tc1::IfcDerivedUnit::IfcDerivedUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcDerivedUnit::IfcDerivedUnit(aggregate_of< ::Ifc4x3_tc1::IfcDerivedUnitElement >::ptr v1_Elements, ::Ifc4x3_tc1::IfcDerivedUnitEnum::Value v2_UnitType, boost::optional< std::string > v3_UserDefinedType, boost::optional< std::string > v4_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Elements)->generalize());set_attribute_value(1, (EnumerationReference(&::Ifc4x3_tc1::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); }; populate_derived(); } +Ifc4x3_tc1::IfcDerivedUnit::IfcDerivedUnit(aggregate_of< ::Ifc4x3_tc1::IfcDerivedUnitElement >::ptr v1_Elements, ::Ifc4x3_tc1::IfcDerivedUnitEnum::Value v2_UnitType, boost::optional< std::string > v3_UserDefinedType, boost::optional< std::string > v4_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Elements)->generalize());set_attribute_value(1, (EnumerationReference(&::Ifc4x3_tc1::IfcDerivedUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_UserDefinedType) {set_attribute_value(2, (*v3_UserDefinedType)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); }; populate_derived(); } // Function implementations for IfcDerivedUnitElement -::Ifc4x3_tc1::IfcNamedUnit* Ifc4x3_tc1::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcNamedUnit>(true); } +::Ifc4x3_tc1::IfcNamedUnit* Ifc4x3_tc1::IfcDerivedUnitElement::Unit() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcNamedUnit>(true); } void Ifc4x3_tc1::IfcDerivedUnitElement::setUnit(::Ifc4x3_tc1::IfcNamedUnit* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -int Ifc4x3_tc1::IfcDerivedUnitElement::Exponent() const { int v = data_.get_attribute_value(1); return v; } +int Ifc4x3_tc1::IfcDerivedUnitElement::Exponent() const { int v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcDerivedUnitElement::setExponent(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcDerivedUnitElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[300]); } const IfcParse::entity& Ifc4x3_tc1::IfcDerivedUnitElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[300]); } Ifc4x3_tc1::IfcDerivedUnitElement::IfcDerivedUnitElement(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcDerivedUnitElement::IfcDerivedUnitElement(::Ifc4x3_tc1::IfcNamedUnit* v1_Unit, int v2_Exponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Unit ? v1_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Exponent));; populate_derived(); } +Ifc4x3_tc1::IfcDerivedUnitElement::IfcDerivedUnitElement(::Ifc4x3_tc1::IfcNamedUnit* v1_Unit, int v2_Exponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Unit ? v1_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Exponent));; populate_derived(); } // Function implementations for IfcDimensionalExponents -int Ifc4x3_tc1::IfcDimensionalExponents::LengthExponent() const { int v = data_.get_attribute_value(0); return v; } +int Ifc4x3_tc1::IfcDimensionalExponents::LengthExponent() const { int v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcDimensionalExponents::setLengthExponent(int v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -int Ifc4x3_tc1::IfcDimensionalExponents::MassExponent() const { int v = data_.get_attribute_value(1); return v; } +int Ifc4x3_tc1::IfcDimensionalExponents::MassExponent() const { int v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcDimensionalExponents::setMassExponent(int v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -int Ifc4x3_tc1::IfcDimensionalExponents::TimeExponent() const { int v = data_.get_attribute_value(2); return v; } +int Ifc4x3_tc1::IfcDimensionalExponents::TimeExponent() const { int v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcDimensionalExponents::setTimeExponent(int v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -int Ifc4x3_tc1::IfcDimensionalExponents::ElectricCurrentExponent() const { int v = data_.get_attribute_value(3); return v; } +int Ifc4x3_tc1::IfcDimensionalExponents::ElectricCurrentExponent() const { int v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcDimensionalExponents::setElectricCurrentExponent(int v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -int Ifc4x3_tc1::IfcDimensionalExponents::ThermodynamicTemperatureExponent() const { int v = data_.get_attribute_value(4); return v; } +int Ifc4x3_tc1::IfcDimensionalExponents::ThermodynamicTemperatureExponent() const { int v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcDimensionalExponents::setThermodynamicTemperatureExponent(int v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -int Ifc4x3_tc1::IfcDimensionalExponents::AmountOfSubstanceExponent() const { int v = data_.get_attribute_value(5); return v; } +int Ifc4x3_tc1::IfcDimensionalExponents::AmountOfSubstanceExponent() const { int v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcDimensionalExponents::setAmountOfSubstanceExponent(int v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -int Ifc4x3_tc1::IfcDimensionalExponents::LuminousIntensityExponent() const { int v = data_.get_attribute_value(6); return v; } +int Ifc4x3_tc1::IfcDimensionalExponents::LuminousIntensityExponent() const { int v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcDimensionalExponents::setLuminousIntensityExponent(int v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_tc1::IfcDimensionalExponents::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[303]); } const IfcParse::entity& Ifc4x3_tc1::IfcDimensionalExponents::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[303]); } Ifc4x3_tc1::IfcDimensionalExponents::IfcDimensionalExponents(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::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(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; populate_derived(); } +Ifc4x3_tc1::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(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_LengthExponent));set_attribute_value(1, (v2_MassExponent));set_attribute_value(2, (v3_TimeExponent));set_attribute_value(3, (v4_ElectricCurrentExponent));set_attribute_value(4, (v5_ThermodynamicTemperatureExponent));set_attribute_value(5, (v6_AmountOfSubstanceExponent));set_attribute_value(6, (v7_LuminousIntensityExponent));; populate_derived(); } // Function implementations for IfcDirection -std::vector< double > /*[2:3]*/ Ifc4x3_tc1::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[2:3]*/ Ifc4x3_tc1::IfcDirection::DirectionRatios() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcDirection::setDirectionRatios(std::vector< double > /*[2:3]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_tc1::IfcDirection::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[305]); } const IfcParse::entity& Ifc4x3_tc1::IfcDirection::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[305]); } Ifc4x3_tc1::IfcDirection::IfcDirection(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionRatios) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_DirectionRatios));; populate_derived(); } +Ifc4x3_tc1::IfcDirection::IfcDirection(std::vector< double > /*[2:3]*/ v1_DirectionRatios) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_DirectionRatios));; populate_derived(); } // Function implementations for IfcDirectrixCurveSweptAreaSolid -::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcCurve>(true); } +::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcDirectrixCurveSweptAreaSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcCurve>(true); } void Ifc4x3_tc1::IfcDirectrixCurveSweptAreaSolid::setDirectrix(::Ifc4x3_tc1::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_tc1::IfcCurveMeasureSelect* Ifc4x3_tc1::IfcDirectrixCurveSweptAreaSolid::StartParam() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcCurveMeasureSelect>(true); } +::Ifc4x3_tc1::IfcCurveMeasureSelect* Ifc4x3_tc1::IfcDirectrixCurveSweptAreaSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcCurveMeasureSelect>(true); } void Ifc4x3_tc1::IfcDirectrixCurveSweptAreaSolid::setStartParam(::Ifc4x3_tc1::IfcCurveMeasureSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_tc1::IfcCurveMeasureSelect* Ifc4x3_tc1::IfcDirectrixCurveSweptAreaSolid::EndParam() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcCurveMeasureSelect>(true); } +::Ifc4x3_tc1::IfcCurveMeasureSelect* Ifc4x3_tc1::IfcDirectrixCurveSweptAreaSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcCurveMeasureSelect>(true); } void Ifc4x3_tc1::IfcDirectrixCurveSweptAreaSolid::setEndParam(::Ifc4x3_tc1::IfcCurveMeasureSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_tc1::IfcDirectrixCurveSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[307]); } const IfcParse::entity& Ifc4x3_tc1::IfcDirectrixCurveSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[307]); } Ifc4x3_tc1::IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4x3_tc1::IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid(::Ifc4x3_tc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_tc1::IfcCurve* v3_Directrix, ::Ifc4x3_tc1::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_tc1::IfcCurveMeasureSelect* v5_EndParam) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid(::Ifc4x3_tc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_tc1::IfcCurve* v3_Directrix, ::Ifc4x3_tc1::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_tc1::IfcCurveMeasureSelect* v5_EndParam) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDirectrixDerivedReferenceSweptAreaSolid @@ -10030,67 +10030,67 @@ Ifc4x3_tc1::IfcDirectrixCurveSweptAreaSolid::IfcDirectrixCurveSweptAreaSolid(::I const IfcParse::entity& Ifc4x3_tc1::IfcDirectrixDerivedReferenceSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[308]); } const IfcParse::entity& Ifc4x3_tc1::IfcDirectrixDerivedReferenceSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[308]); } Ifc4x3_tc1::IfcDirectrixDerivedReferenceSweptAreaSolid::IfcDirectrixDerivedReferenceSweptAreaSolid(IfcEntityInstanceData&& e) : IfcFixedReferenceSweptAreaSolid(std::move(e)) { } -Ifc4x3_tc1::IfcDirectrixDerivedReferenceSweptAreaSolid::IfcDirectrixDerivedReferenceSweptAreaSolid(::Ifc4x3_tc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_tc1::IfcCurve* v3_Directrix, ::Ifc4x3_tc1::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_tc1::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3_tc1::IfcDirection* v6_FixedReference) : IfcFixedReferenceSweptAreaSolid(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_FixedReference ? v6_FixedReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcDirectrixDerivedReferenceSweptAreaSolid::IfcDirectrixDerivedReferenceSweptAreaSolid(::Ifc4x3_tc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_tc1::IfcCurve* v3_Directrix, ::Ifc4x3_tc1::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_tc1::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3_tc1::IfcDirection* v6_FixedReference) : IfcFixedReferenceSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_FixedReference ? v6_FixedReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDiscreteAccessory -boost::optional< ::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x3_tc1::IfcDiscreteAccessory::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Value > Ifc4x3_tc1::IfcDiscreteAccessory::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcDiscreteAccessory::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcDiscreteAccessory::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[309]); } const IfcParse::entity& Ifc4x3_tc1::IfcDiscreteAccessory::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[309]); } Ifc4x3_tc1::IfcDiscreteAccessory::IfcDiscreteAccessory(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_tc1::IfcDiscreteAccessory::IfcDiscreteAccessory(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcDiscreteAccessory::IfcDiscreteAccessory(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDiscreteAccessoryType -::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3_tc1::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Value Ifc4x3_tc1::IfcDiscreteAccessoryType::PredefinedType() const { return ::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcDiscreteAccessoryType::setPredefinedType(::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcDiscreteAccessoryType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[310]); } const IfcParse::entity& Ifc4x3_tc1::IfcDiscreteAccessoryType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[310]); } Ifc4x3_tc1::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_tc1::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcDiscreteAccessoryType::IfcDiscreteAccessoryType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcDiscreteAccessoryTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDistributionBoard -boost::optional< ::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Value > Ifc4x3_tc1::IfcDistributionBoard::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Value > Ifc4x3_tc1::IfcDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcDistributionBoard::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[312]); } const IfcParse::entity& Ifc4x3_tc1::IfcDistributionBoard::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[312]); } Ifc4x3_tc1::IfcDistributionBoard::IfcDistributionBoard(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_tc1::IfcDistributionBoard::IfcDistributionBoard(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcDistributionBoard::IfcDistributionBoard(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDistributionBoardType -::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Value Ifc4x3_tc1::IfcDistributionBoardType::PredefinedType() const { return ::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Value Ifc4x3_tc1::IfcDistributionBoardType::PredefinedType() const { return ::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcDistributionBoardType::setPredefinedType(::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcDistributionBoardType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[313]); } const IfcParse::entity& Ifc4x3_tc1::IfcDistributionBoardType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[313]); } Ifc4x3_tc1::IfcDistributionBoardType::IfcDistributionBoardType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_tc1::IfcDistributionBoardType::IfcDistributionBoardType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcDistributionBoardType::IfcDistributionBoardType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDistributionChamberElement -boost::optional< ::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Value > Ifc4x3_tc1::IfcDistributionChamberElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Value > Ifc4x3_tc1::IfcDistributionChamberElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcDistributionChamberElement::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcDistributionChamberElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[315]); } const IfcParse::entity& Ifc4x3_tc1::IfcDistributionChamberElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[315]); } Ifc4x3_tc1::IfcDistributionChamberElement::IfcDistributionChamberElement(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_tc1::IfcDistributionChamberElement::IfcDistributionChamberElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcDistributionChamberElement::IfcDistributionChamberElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDistributionChamberElementType -::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Value Ifc4x3_tc1::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Value Ifc4x3_tc1::IfcDistributionChamberElementType::PredefinedType() const { return ::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcDistributionChamberElementType::setPredefinedType(::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcDistributionChamberElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[316]); } const IfcParse::entity& Ifc4x3_tc1::IfcDistributionChamberElementType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[316]); } Ifc4x3_tc1::IfcDistributionChamberElementType::IfcDistributionChamberElementType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_tc1::IfcDistributionChamberElementType::IfcDistributionChamberElementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcDistributionChamberElementType::IfcDistributionChamberElementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Value v10_PredefinedType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcDistributionChamberElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDistributionCircuit @@ -10098,7 +10098,7 @@ Ifc4x3_tc1::IfcDistributionChamberElementType::IfcDistributionChamberElementType const IfcParse::entity& Ifc4x3_tc1::IfcDistributionCircuit::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[318]); } const IfcParse::entity& Ifc4x3_tc1::IfcDistributionCircuit::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[318]); } Ifc4x3_tc1::IfcDistributionCircuit::IfcDistributionCircuit(IfcEntityInstanceData&& e) : IfcDistributionSystem(std::move(e)) { } -Ifc4x3_tc1::IfcDistributionCircuit::IfcDistributionCircuit(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcDistributionSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_tc1::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcDistributionCircuit::IfcDistributionCircuit(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcDistributionSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_tc1::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDistributionControlElement @@ -10107,7 +10107,7 @@ Ifc4x3_tc1::IfcDistributionCircuit::IfcDistributionCircuit(std::string v1_Global const IfcParse::entity& Ifc4x3_tc1::IfcDistributionControlElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[319]); } const IfcParse::entity& Ifc4x3_tc1::IfcDistributionControlElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[319]); } Ifc4x3_tc1::IfcDistributionControlElement::IfcDistributionControlElement(IfcEntityInstanceData&& e) : IfcDistributionElement(std::move(e)) { } -Ifc4x3_tc1::IfcDistributionControlElement::IfcDistributionControlElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_tc1::IfcDistributionControlElement::IfcDistributionControlElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionControlElementType @@ -10115,7 +10115,7 @@ Ifc4x3_tc1::IfcDistributionControlElement::IfcDistributionControlElement(std::st const IfcParse::entity& Ifc4x3_tc1::IfcDistributionControlElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[320]); } const IfcParse::entity& Ifc4x3_tc1::IfcDistributionControlElementType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[320]); } Ifc4x3_tc1::IfcDistributionControlElementType::IfcDistributionControlElementType(IfcEntityInstanceData&& e) : IfcDistributionElementType(std::move(e)) { } -Ifc4x3_tc1::IfcDistributionControlElementType::IfcDistributionControlElementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_tc1::IfcDistributionControlElementType::IfcDistributionControlElementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionElement @@ -10124,7 +10124,7 @@ Ifc4x3_tc1::IfcDistributionControlElementType::IfcDistributionControlElementType const IfcParse::entity& Ifc4x3_tc1::IfcDistributionElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[321]); } const IfcParse::entity& Ifc4x3_tc1::IfcDistributionElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[321]); } Ifc4x3_tc1::IfcDistributionElement::IfcDistributionElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_tc1::IfcDistributionElement::IfcDistributionElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_tc1::IfcDistributionElement::IfcDistributionElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionElementType @@ -10132,7 +10132,7 @@ Ifc4x3_tc1::IfcDistributionElement::IfcDistributionElement(std::string v1_Global const IfcParse::entity& Ifc4x3_tc1::IfcDistributionElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[322]); } const IfcParse::entity& Ifc4x3_tc1::IfcDistributionElementType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[322]); } Ifc4x3_tc1::IfcDistributionElementType::IfcDistributionElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_tc1::IfcDistributionElementType::IfcDistributionElementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_tc1::IfcDistributionElementType::IfcDistributionElementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionFlowElement @@ -10141,7 +10141,7 @@ Ifc4x3_tc1::IfcDistributionElementType::IfcDistributionElementType(std::string v const IfcParse::entity& Ifc4x3_tc1::IfcDistributionFlowElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[323]); } const IfcParse::entity& Ifc4x3_tc1::IfcDistributionFlowElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[323]); } Ifc4x3_tc1::IfcDistributionFlowElement::IfcDistributionFlowElement(IfcEntityInstanceData&& e) : IfcDistributionElement(std::move(e)) { } -Ifc4x3_tc1::IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_tc1::IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcDistributionFlowElementType @@ -10149,68 +10149,68 @@ Ifc4x3_tc1::IfcDistributionFlowElement::IfcDistributionFlowElement(std::string v const IfcParse::entity& Ifc4x3_tc1::IfcDistributionFlowElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[324]); } const IfcParse::entity& Ifc4x3_tc1::IfcDistributionFlowElementType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[324]); } Ifc4x3_tc1::IfcDistributionFlowElementType::IfcDistributionFlowElementType(IfcEntityInstanceData&& e) : IfcDistributionElementType(std::move(e)) { } -Ifc4x3_tc1::IfcDistributionFlowElementType::IfcDistributionFlowElementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_tc1::IfcDistributionFlowElementType::IfcDistributionFlowElementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcDistributionPort -boost::optional< ::Ifc4x3_tc1::IfcFlowDirectionEnum::Value > Ifc4x3_tc1::IfcDistributionPort::FlowDirection() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcFlowDirectionEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_tc1::IfcFlowDirectionEnum::Value > Ifc4x3_tc1::IfcDistributionPort::FlowDirection() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcFlowDirectionEnum::FromString(get_attribute_value(7)); } void Ifc4x3_tc1::IfcDistributionPort::setFlowDirection(boost::optional< ::Ifc4x3_tc1::IfcFlowDirectionEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_tc1::IfcFlowDirectionEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3_tc1::IfcDistributionPortTypeEnum::Value > Ifc4x3_tc1::IfcDistributionPort::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcDistributionPortTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcDistributionPortTypeEnum::Value > Ifc4x3_tc1::IfcDistributionPort::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcDistributionPortTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcDistributionPort::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcDistributionPortTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcDistributionPortTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< ::Ifc4x3_tc1::IfcDistributionSystemEnum::Value > Ifc4x3_tc1::IfcDistributionPort::SystemType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcDistributionSystemEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_tc1::IfcDistributionSystemEnum::Value > Ifc4x3_tc1::IfcDistributionPort::SystemType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcDistributionSystemEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcDistributionPort::setSystemType(boost::optional< ::Ifc4x3_tc1::IfcDistributionSystemEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcDistributionSystemEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_tc1::IfcDistributionPort::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[325]); } const IfcParse::entity& Ifc4x3_tc1::IfcDistributionPort::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[325]); } Ifc4x3_tc1::IfcDistributionPort::IfcDistributionPort(IfcEntityInstanceData&& e) : IfcPort(std::move(e)) { } -Ifc4x3_tc1::IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_tc1::IfcFlowDirectionEnum::Value > v8_FlowDirection, boost::optional< ::Ifc4x3_tc1::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x3_tc1::IfcDistributionSystemEnum::Value > v10_SystemType) : IfcPort(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_FlowDirection) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); }; populate_derived(); } +Ifc4x3_tc1::IfcDistributionPort::IfcDistributionPort(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_tc1::IfcFlowDirectionEnum::Value > v8_FlowDirection, boost::optional< ::Ifc4x3_tc1::IfcDistributionPortTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x3_tc1::IfcDistributionSystemEnum::Value > v10_SystemType) : IfcPort(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_FlowDirection) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcFlowDirectionEnum::Class(),(size_t)*v8_FlowDirection))); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcDistributionPortTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_SystemType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcDistributionSystemEnum::Class(),(size_t)*v10_SystemType))); }; populate_derived(); } // Function implementations for IfcDistributionSystem -boost::optional< std::string > Ifc4x3_tc1::IfcDistributionSystem::LongName() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcDistributionSystem::LongName() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcDistributionSystem::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< ::Ifc4x3_tc1::IfcDistributionSystemEnum::Value > Ifc4x3_tc1::IfcDistributionSystem::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcDistributionSystemEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_tc1::IfcDistributionSystemEnum::Value > Ifc4x3_tc1::IfcDistributionSystem::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcDistributionSystemEnum::FromString(get_attribute_value(6)); } void Ifc4x3_tc1::IfcDistributionSystem::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcDistributionSystemEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_tc1::IfcDistributionSystemEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_tc1::IfcDistributionSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[327]); } const IfcParse::entity& Ifc4x3_tc1::IfcDistributionSystem::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[327]); } Ifc4x3_tc1::IfcDistributionSystem::IfcDistributionSystem(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3_tc1::IfcDistributionSystem::IfcDistributionSystem(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_tc1::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcDistributionSystem::IfcDistributionSystem(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcDistributionSystemEnum::Value > v7_PredefinedType) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_tc1::IfcDistributionSystemEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDocumentInformation -std::string Ifc4x3_tc1::IfcDocumentInformation::Identification() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_tc1::IfcDocumentInformation::Identification() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcDocumentInformation::setIdentification(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x3_tc1::IfcDocumentInformation::Name() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_tc1::IfcDocumentInformation::Name() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcDocumentInformation::setName(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_tc1::IfcDocumentInformation::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcDocumentInformation::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcDocumentInformation::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_tc1::IfcDocumentInformation::Location() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcDocumentInformation::Location() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcDocumentInformation::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_tc1::IfcDocumentInformation::Purpose() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcDocumentInformation::Purpose() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcDocumentInformation::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_tc1::IfcDocumentInformation::IntendedUse() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcDocumentInformation::IntendedUse() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcDocumentInformation::setIntendedUse(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_tc1::IfcDocumentInformation::Scope() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcDocumentInformation::Scope() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcDocumentInformation::setScope(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_tc1::IfcDocumentInformation::Revision() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcDocumentInformation::Revision() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcDocumentInformation::setRevision(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_tc1::IfcActorSelect* Ifc4x3_tc1::IfcDocumentInformation::DocumentOwner() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_tc1::IfcActorSelect>(true); } +::Ifc4x3_tc1::IfcActorSelect* Ifc4x3_tc1::IfcDocumentInformation::DocumentOwner() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_tc1::IfcActorSelect>(true); } void Ifc4x3_tc1::IfcDocumentInformation::setDocumentOwner(::Ifc4x3_tc1::IfcActorSelect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcActorSelect >::ptr > Ifc4x3_tc1::IfcDocumentInformation::Editors() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3_tc1::IfcActorSelect >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcActorSelect >::ptr > Ifc4x3_tc1::IfcDocumentInformation::Editors() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3_tc1::IfcActorSelect >(); } void Ifc4x3_tc1::IfcDocumentInformation::setEditors(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcActorSelect >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x3_tc1::IfcDocumentInformation::CreationTime() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcDocumentInformation::CreationTime() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_tc1::IfcDocumentInformation::setCreationTime(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< std::string > Ifc4x3_tc1::IfcDocumentInformation::LastRevisionTime() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcDocumentInformation::LastRevisionTime() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x3_tc1::IfcDocumentInformation::setLastRevisionTime(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_tc1::IfcDocumentInformation::ElectronicFormat() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcDocumentInformation::ElectronicFormat() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_tc1::IfcDocumentInformation::setElectronicFormat(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< std::string > Ifc4x3_tc1::IfcDocumentInformation::ValidFrom() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(13); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcDocumentInformation::ValidFrom() const { if(get_attribute_value(13).isNull()) { return boost::none; } std::string v = get_attribute_value(13); return v; } void Ifc4x3_tc1::IfcDocumentInformation::setValidFrom(boost::optional< std::string > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x3_tc1::IfcDocumentInformation::ValidUntil() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcDocumentInformation::ValidUntil() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x3_tc1::IfcDocumentInformation::setValidUntil(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< ::Ifc4x3_tc1::IfcDocumentConfidentialityEnum::Value > Ifc4x3_tc1::IfcDocumentInformation::Confidentiality() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcDocumentConfidentialityEnum::FromString(data_.get_attribute_value(15)); } +boost::optional< ::Ifc4x3_tc1::IfcDocumentConfidentialityEnum::Value > Ifc4x3_tc1::IfcDocumentInformation::Confidentiality() const { if(get_attribute_value(15).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcDocumentConfidentialityEnum::FromString(get_attribute_value(15)); } void Ifc4x3_tc1::IfcDocumentInformation::setConfidentiality(boost::optional< ::Ifc4x3_tc1::IfcDocumentConfidentialityEnum::Value > v) { if (v) {set_attribute_value(15, EnumerationReference(&::Ifc4x3_tc1::IfcDocumentConfidentialityEnum::Class(), (size_t) *v));} else {unset_attribute_value(15);} } -boost::optional< ::Ifc4x3_tc1::IfcDocumentStatusEnum::Value > Ifc4x3_tc1::IfcDocumentInformation::Status() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcDocumentStatusEnum::FromString(data_.get_attribute_value(16)); } +boost::optional< ::Ifc4x3_tc1::IfcDocumentStatusEnum::Value > Ifc4x3_tc1::IfcDocumentInformation::Status() const { if(get_attribute_value(16).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcDocumentStatusEnum::FromString(get_attribute_value(16)); } void Ifc4x3_tc1::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3_tc1::IfcDocumentStatusEnum::Value > v) { if (v) {set_attribute_value(16, EnumerationReference(&::Ifc4x3_tc1::IfcDocumentStatusEnum::Class(), (size_t) *v));} else {unset_attribute_value(16);} } ::Ifc4x3_tc1::IfcRelAssociatesDocument::list::ptr Ifc4x3_tc1::IfcDocumentInformation::DocumentInfoForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[910], 5)->as(); } @@ -10221,26 +10221,26 @@ void Ifc4x3_tc1::IfcDocumentInformation::setStatus(boost::optional< ::Ifc4x3_tc1 const IfcParse::entity& Ifc4x3_tc1::IfcDocumentInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[330]); } const IfcParse::entity& Ifc4x3_tc1::IfcDocumentInformation::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[330]); } Ifc4x3_tc1::IfcDocumentInformation::IfcDocumentInformation(IfcEntityInstanceData&& e) : IfcExternalInformation(std::move(e)) { } -Ifc4x3_tc1::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_tc1::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcActorSelect >::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< ::Ifc4x3_tc1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_tc1::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation(IfcEntityInstanceData(storage_t(17))) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, v9_DocumentOwner ? v9_DocumentOwner->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v10_Editors) {set_attribute_value(9, (*v10_Editors)->generalize()); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (EnumerationReference(&::Ifc4x3_tc1::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (EnumerationReference(&::Ifc4x3_tc1::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; populate_derived(); } +Ifc4x3_tc1::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_tc1::IfcActorSelect* v9_DocumentOwner, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcActorSelect >::ptr > v10_Editors, boost::optional< std::string > v11_CreationTime, boost::optional< std::string > v12_LastRevisionTime, boost::optional< std::string > v13_ElectronicFormat, boost::optional< std::string > v14_ValidFrom, boost::optional< std::string > v15_ValidUntil, boost::optional< ::Ifc4x3_tc1::IfcDocumentConfidentialityEnum::Value > v16_Confidentiality, boost::optional< ::Ifc4x3_tc1::IfcDocumentStatusEnum::Value > v17_Status) : IfcExternalInformation(IfcEntityInstanceData(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_Identification));set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Location) {set_attribute_value(3, (*v4_Location)); } if (v5_Purpose) {set_attribute_value(4, (*v5_Purpose)); } if (v6_IntendedUse) {set_attribute_value(5, (*v6_IntendedUse)); } if (v7_Scope) {set_attribute_value(6, (*v7_Scope)); } if (v8_Revision) {set_attribute_value(7, (*v8_Revision)); }set_attribute_value(8, v9_DocumentOwner ? v9_DocumentOwner->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v10_Editors) {set_attribute_value(9, (*v10_Editors)->generalize()); } if (v11_CreationTime) {set_attribute_value(10, (*v11_CreationTime)); } if (v12_LastRevisionTime) {set_attribute_value(11, (*v12_LastRevisionTime)); } if (v13_ElectronicFormat) {set_attribute_value(12, (*v13_ElectronicFormat)); } if (v14_ValidFrom) {set_attribute_value(13, (*v14_ValidFrom)); } if (v15_ValidUntil) {set_attribute_value(14, (*v15_ValidUntil)); } if (v16_Confidentiality) {set_attribute_value(15, (EnumerationReference(&::Ifc4x3_tc1::IfcDocumentConfidentialityEnum::Class(),(size_t)*v16_Confidentiality))); } if (v17_Status) {set_attribute_value(16, (EnumerationReference(&::Ifc4x3_tc1::IfcDocumentStatusEnum::Class(),(size_t)*v17_Status))); }; populate_derived(); } // Function implementations for IfcDocumentInformationRelationship -::Ifc4x3_tc1::IfcDocumentInformation* Ifc4x3_tc1::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcDocumentInformation>(true); } +::Ifc4x3_tc1::IfcDocumentInformation* Ifc4x3_tc1::IfcDocumentInformationRelationship::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcDocumentInformation>(true); } void Ifc4x3_tc1::IfcDocumentInformationRelationship::setRelatingDocument(::Ifc4x3_tc1::IfcDocumentInformation* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_tc1::IfcDocumentInformation >::ptr Ifc4x3_tc1::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_tc1::IfcDocumentInformation >(); } +aggregate_of< ::Ifc4x3_tc1::IfcDocumentInformation >::ptr Ifc4x3_tc1::IfcDocumentInformationRelationship::RelatedDocuments() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_tc1::IfcDocumentInformation >(); } void Ifc4x3_tc1::IfcDocumentInformationRelationship::setRelatedDocuments(aggregate_of< ::Ifc4x3_tc1::IfcDocumentInformation >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_tc1::IfcDocumentInformationRelationship::RelationshipType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcDocumentInformationRelationship::RelationshipType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcDocumentInformationRelationship::setRelationshipType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_tc1::IfcDocumentInformationRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[331]); } const IfcParse::entity& Ifc4x3_tc1::IfcDocumentInformationRelationship::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[331]); } Ifc4x3_tc1::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_tc1::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcDocumentInformation* v3_RelatingDocument, aggregate_of< ::Ifc4x3_tc1::IfcDocumentInformation >::ptr v4_RelatedDocuments, boost::optional< std::string > v5_RelationshipType) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingDocument ? v3_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedDocuments)->generalize()); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); }; populate_derived(); } +Ifc4x3_tc1::IfcDocumentInformationRelationship::IfcDocumentInformationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcDocumentInformation* v3_RelatingDocument, aggregate_of< ::Ifc4x3_tc1::IfcDocumentInformation >::ptr v4_RelatedDocuments, boost::optional< std::string > v5_RelationshipType) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingDocument ? v3_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedDocuments)->generalize()); if (v5_RelationshipType) {set_attribute_value(4, (*v5_RelationshipType)); }; populate_derived(); } // Function implementations for IfcDocumentReference -boost::optional< std::string > Ifc4x3_tc1::IfcDocumentReference::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcDocumentReference::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcDocumentReference::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_tc1::IfcDocumentInformation* Ifc4x3_tc1::IfcDocumentReference::ReferencedDocument() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcDocumentInformation>(true); } +::Ifc4x3_tc1::IfcDocumentInformation* Ifc4x3_tc1::IfcDocumentReference::ReferencedDocument() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcDocumentInformation>(true); } void Ifc4x3_tc1::IfcDocumentReference::setReferencedDocument(::Ifc4x3_tc1::IfcDocumentInformation* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } ::Ifc4x3_tc1::IfcRelAssociatesDocument::list::ptr Ifc4x3_tc1::IfcDocumentReference::DocumentRefForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[910], 5)->as(); } @@ -10248,93 +10248,93 @@ void Ifc4x3_tc1::IfcDocumentReference::setReferencedDocument(::Ifc4x3_tc1::IfcDo const IfcParse::entity& Ifc4x3_tc1::IfcDocumentReference::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[332]); } const IfcParse::entity& Ifc4x3_tc1::IfcDocumentReference::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[332]); } Ifc4x3_tc1::IfcDocumentReference::IfcDocumentReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_tc1::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_tc1::IfcDocumentInformation* v5_ReferencedDocument) : IfcExternalReference(IfcEntityInstanceData(storage_t(5))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ReferencedDocument ? v5_ReferencedDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::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_tc1::IfcDocumentInformation* v5_ReferencedDocument) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ReferencedDocument ? v5_ReferencedDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDoor -boost::optional< double > Ifc4x3_tc1::IfcDoor::OverallHeight() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_tc1::IfcDoor::OverallHeight() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcDoor::setOverallHeight(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_tc1::IfcDoor::OverallWidth() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_tc1::IfcDoor::OverallWidth() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_tc1::IfcDoor::setOverallWidth(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x3_tc1::IfcDoorTypeEnum::Value > Ifc4x3_tc1::IfcDoor::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcDoorTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_tc1::IfcDoorTypeEnum::Value > Ifc4x3_tc1::IfcDoor::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcDoorTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_tc1::IfcDoor::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcDoorTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_tc1::IfcDoorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -boost::optional< ::Ifc4x3_tc1::IfcDoorTypeOperationEnum::Value > Ifc4x3_tc1::IfcDoor::OperationType() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcDoorTypeOperationEnum::FromString(data_.get_attribute_value(11)); } +boost::optional< ::Ifc4x3_tc1::IfcDoorTypeOperationEnum::Value > Ifc4x3_tc1::IfcDoor::OperationType() const { if(get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcDoorTypeOperationEnum::FromString(get_attribute_value(11)); } void Ifc4x3_tc1::IfcDoor::setOperationType(boost::optional< ::Ifc4x3_tc1::IfcDoorTypeOperationEnum::Value > v) { if (v) {set_attribute_value(11, EnumerationReference(&::Ifc4x3_tc1::IfcDoorTypeOperationEnum::Class(), (size_t) *v));} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_tc1::IfcDoor::UserDefinedOperationType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcDoor::UserDefinedOperationType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_tc1::IfcDoor::setUserDefinedOperationType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_tc1::IfcDoor::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[335]); } const IfcParse::entity& Ifc4x3_tc1::IfcDoor::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[335]); } Ifc4x3_tc1::IfcDoor::IfcDoor(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_tc1::IfcDoor::IfcDoor(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_tc1::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_tc1::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_tc1::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } +Ifc4x3_tc1::IfcDoor::IfcDoor(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_tc1::IfcDoorTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_tc1::IfcDoorTypeOperationEnum::Value > v12_OperationType, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcDoorTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_OperationType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_tc1::IfcDoorTypeOperationEnum::Class(),(size_t)*v12_OperationType))); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } // Function implementations for IfcDoorLiningProperties -boost::optional< double > Ifc4x3_tc1::IfcDoorLiningProperties::LiningDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_tc1::IfcDoorLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcDoorLiningProperties::setLiningDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_tc1::IfcDoorLiningProperties::LiningThickness() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_tc1::IfcDoorLiningProperties::LiningThickness() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcDoorLiningProperties::setLiningThickness(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_tc1::IfcDoorLiningProperties::ThresholdDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_tc1::IfcDoorLiningProperties::ThresholdDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcDoorLiningProperties::setThresholdDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_tc1::IfcDoorLiningProperties::ThresholdThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_tc1::IfcDoorLiningProperties::ThresholdThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcDoorLiningProperties::setThresholdThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_tc1::IfcDoorLiningProperties::TransomThickness() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_tc1::IfcDoorLiningProperties::TransomThickness() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcDoorLiningProperties::setTransomThickness(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_tc1::IfcDoorLiningProperties::TransomOffset() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_tc1::IfcDoorLiningProperties::TransomOffset() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_tc1::IfcDoorLiningProperties::setTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_tc1::IfcDoorLiningProperties::LiningOffset() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_tc1::IfcDoorLiningProperties::LiningOffset() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_tc1::IfcDoorLiningProperties::setLiningOffset(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_tc1::IfcDoorLiningProperties::ThresholdOffset() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_tc1::IfcDoorLiningProperties::ThresholdOffset() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_tc1::IfcDoorLiningProperties::setThresholdOffset(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_tc1::IfcDoorLiningProperties::CasingThickness() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_tc1::IfcDoorLiningProperties::CasingThickness() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_tc1::IfcDoorLiningProperties::setCasingThickness(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3_tc1::IfcDoorLiningProperties::CasingDepth() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_tc1::IfcDoorLiningProperties::CasingDepth() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_tc1::IfcDoorLiningProperties::setCasingDepth(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -::Ifc4x3_tc1::IfcShapeAspect* Ifc4x3_tc1::IfcDoorLiningProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(14).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(14)))->as<::Ifc4x3_tc1::IfcShapeAspect>(true); } +::Ifc4x3_tc1::IfcShapeAspect* Ifc4x3_tc1::IfcDoorLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(14).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(14)))->as<::Ifc4x3_tc1::IfcShapeAspect>(true); } void Ifc4x3_tc1::IfcDoorLiningProperties::setShapeAspectStyle(::Ifc4x3_tc1::IfcShapeAspect* v) { set_attribute_value(14, v->as());if constexpr (false)unset_attribute_value(14); } -boost::optional< double > Ifc4x3_tc1::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3_tc1::IfcDoorLiningProperties::LiningToPanelOffsetX() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3_tc1::IfcDoorLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3_tc1::IfcDoorLiningProperties::LiningToPanelOffsetY() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3_tc1::IfcDoorLiningProperties::LiningToPanelOffsetY() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3_tc1::IfcDoorLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } const IfcParse::entity& Ifc4x3_tc1::IfcDoorLiningProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[336]); } const IfcParse::entity& Ifc4x3_tc1::IfcDoorLiningProperties::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[336]); } Ifc4x3_tc1::IfcDoorLiningProperties::IfcDoorLiningProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_tc1::IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcShapeAspect* v15_ShapeAspectStyle, boost::optional< double > v16_LiningToPanelOffsetX, boost::optional< double > v17_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, v15_ShapeAspectStyle ? v15_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); }; populate_derived(); } +Ifc4x3_tc1::IfcDoorLiningProperties::IfcDoorLiningProperties(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcShapeAspect* v15_ShapeAspectStyle, boost::optional< double > v16_LiningToPanelOffsetX, boost::optional< double > v17_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_ThresholdDepth) {set_attribute_value(6, (*v7_ThresholdDepth)); } if (v8_ThresholdThickness) {set_attribute_value(7, (*v8_ThresholdThickness)); } if (v9_TransomThickness) {set_attribute_value(8, (*v9_TransomThickness)); } if (v10_TransomOffset) {set_attribute_value(9, (*v10_TransomOffset)); } if (v11_LiningOffset) {set_attribute_value(10, (*v11_LiningOffset)); } if (v12_ThresholdOffset) {set_attribute_value(11, (*v12_ThresholdOffset)); } if (v13_CasingThickness) {set_attribute_value(12, (*v13_CasingThickness)); } if (v14_CasingDepth) {set_attribute_value(13, (*v14_CasingDepth)); }set_attribute_value(14, v15_ShapeAspectStyle ? v15_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v16_LiningToPanelOffsetX) {set_attribute_value(15, (*v16_LiningToPanelOffsetX)); } if (v17_LiningToPanelOffsetY) {set_attribute_value(16, (*v17_LiningToPanelOffsetY)); }; populate_derived(); } // Function implementations for IfcDoorPanelProperties -boost::optional< double > Ifc4x3_tc1::IfcDoorPanelProperties::PanelDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_tc1::IfcDoorPanelProperties::PanelDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcDoorPanelProperties::setPanelDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_tc1::IfcDoorPanelOperationEnum::Value Ifc4x3_tc1::IfcDoorPanelProperties::PanelOperation() const { return ::Ifc4x3_tc1::IfcDoorPanelOperationEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_tc1::IfcDoorPanelOperationEnum::Value Ifc4x3_tc1::IfcDoorPanelProperties::PanelOperation() const { return ::Ifc4x3_tc1::IfcDoorPanelOperationEnum::FromString(get_attribute_value(5)); } void Ifc4x3_tc1::IfcDoorPanelProperties::setPanelOperation(::Ifc4x3_tc1::IfcDoorPanelOperationEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_tc1::IfcDoorPanelOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_tc1::IfcDoorPanelProperties::PanelWidth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_tc1::IfcDoorPanelProperties::PanelWidth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcDoorPanelProperties::setPanelWidth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_tc1::IfcDoorPanelPositionEnum::Value Ifc4x3_tc1::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x3_tc1::IfcDoorPanelPositionEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_tc1::IfcDoorPanelPositionEnum::Value Ifc4x3_tc1::IfcDoorPanelProperties::PanelPosition() const { return ::Ifc4x3_tc1::IfcDoorPanelPositionEnum::FromString(get_attribute_value(7)); } void Ifc4x3_tc1::IfcDoorPanelProperties::setPanelPosition(::Ifc4x3_tc1::IfcDoorPanelPositionEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_tc1::IfcDoorPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_tc1::IfcShapeAspect* Ifc4x3_tc1::IfcDoorPanelProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_tc1::IfcShapeAspect>(true); } +::Ifc4x3_tc1::IfcShapeAspect* Ifc4x3_tc1::IfcDoorPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_tc1::IfcShapeAspect>(true); } void Ifc4x3_tc1::IfcDoorPanelProperties::setShapeAspectStyle(::Ifc4x3_tc1::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_tc1::IfcDoorPanelProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[339]); } const IfcParse::entity& Ifc4x3_tc1::IfcDoorPanelProperties::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[339]); } Ifc4x3_tc1::IfcDoorPanelProperties::IfcDoorPanelProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_tc1::IfcDoorPanelProperties::IfcDoorPanelProperties(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_PanelDepth, ::Ifc4x3_tc1::IfcDoorPanelOperationEnum::Value v6_PanelOperation, boost::optional< double > v7_PanelWidth, ::Ifc4x3_tc1::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_tc1::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_tc1::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcDoorPanelProperties::IfcDoorPanelProperties(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< double > v5_PanelDepth, ::Ifc4x3_tc1::IfcDoorPanelOperationEnum::Value v6_PanelOperation, boost::optional< double > v7_PanelWidth, ::Ifc4x3_tc1::IfcDoorPanelPositionEnum::Value v8_PanelPosition, ::Ifc4x3_tc1::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_PanelDepth) {set_attribute_value(4, (*v5_PanelDepth)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_tc1::IfcDoorPanelOperationEnum::Class(),(size_t)v6_PanelOperation))); if (v7_PanelWidth) {set_attribute_value(6, (*v7_PanelWidth)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcDoorPanelPositionEnum::Class(),(size_t)v8_PanelPosition)));set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcDoorType -::Ifc4x3_tc1::IfcDoorTypeEnum::Value Ifc4x3_tc1::IfcDoorType::PredefinedType() const { return ::Ifc4x3_tc1::IfcDoorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcDoorTypeEnum::Value Ifc4x3_tc1::IfcDoorType::PredefinedType() const { return ::Ifc4x3_tc1::IfcDoorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcDoorType::setPredefinedType(::Ifc4x3_tc1::IfcDoorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcDoorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_tc1::IfcDoorTypeOperationEnum::Value Ifc4x3_tc1::IfcDoorType::OperationType() const { return ::Ifc4x3_tc1::IfcDoorTypeOperationEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3_tc1::IfcDoorTypeOperationEnum::Value Ifc4x3_tc1::IfcDoorType::OperationType() const { return ::Ifc4x3_tc1::IfcDoorTypeOperationEnum::FromString(get_attribute_value(10)); } void Ifc4x3_tc1::IfcDoorType::setOperationType(::Ifc4x3_tc1::IfcDoorTypeOperationEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3_tc1::IfcDoorTypeOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } -boost::optional< bool > Ifc4x3_tc1::IfcDoorType::ParameterTakesPrecedence() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } bool v = data_.get_attribute_value(11); return v; } +boost::optional< bool > Ifc4x3_tc1::IfcDoorType::ParameterTakesPrecedence() const { if(get_attribute_value(11).isNull()) { return boost::none; } bool v = get_attribute_value(11); return v; } void Ifc4x3_tc1::IfcDoorType::setParameterTakesPrecedence(boost::optional< bool > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_tc1::IfcDoorType::UserDefinedOperationType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcDoorType::UserDefinedOperationType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_tc1::IfcDoorType::setUserDefinedOperationType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_tc1::IfcDoorType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[340]); } const IfcParse::entity& Ifc4x3_tc1::IfcDoorType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[340]); } Ifc4x3_tc1::IfcDoorType::IfcDoorType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_tc1::IfcDoorType::IfcDoorType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_tc1::IfcDoorTypeOperationEnum::Value v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } +Ifc4x3_tc1::IfcDoorType::IfcDoorType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDoorTypeEnum::Value v10_PredefinedType, ::Ifc4x3_tc1::IfcDoorTypeOperationEnum::Value v11_OperationType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedOperationType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcDoorTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcDoorTypeOperationEnum::Class(),(size_t)v11_OperationType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedOperationType) {set_attribute_value(12, (*v13_UserDefinedOperationType)); }; populate_derived(); } // Function implementations for IfcDraughtingPreDefinedColour @@ -10342,7 +10342,7 @@ Ifc4x3_tc1::IfcDoorType::IfcDoorType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcO const IfcParse::entity& Ifc4x3_tc1::IfcDraughtingPreDefinedColour::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[344]); } const IfcParse::entity& Ifc4x3_tc1::IfcDraughtingPreDefinedColour::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[344]); } Ifc4x3_tc1::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(IfcEntityInstanceData&& e) : IfcPreDefinedColour(std::move(e)) { } -Ifc4x3_tc1::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::string v1_Name) : IfcPreDefinedColour(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_tc1::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::string v1_Name) : IfcPreDefinedColour(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcDraughtingPreDefinedCurveFont @@ -10350,77 +10350,77 @@ Ifc4x3_tc1::IfcDraughtingPreDefinedColour::IfcDraughtingPreDefinedColour(std::st const IfcParse::entity& Ifc4x3_tc1::IfcDraughtingPreDefinedCurveFont::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[345]); } const IfcParse::entity& Ifc4x3_tc1::IfcDraughtingPreDefinedCurveFont::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[345]); } Ifc4x3_tc1::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(IfcEntityInstanceData&& e) : IfcPreDefinedCurveFont(std::move(e)) { } -Ifc4x3_tc1::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedCurveFont(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_tc1::IfcDraughtingPreDefinedCurveFont::IfcDraughtingPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedCurveFont(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcDuctFitting -boost::optional< ::Ifc4x3_tc1::IfcDuctFittingTypeEnum::Value > Ifc4x3_tc1::IfcDuctFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcDuctFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcDuctFittingTypeEnum::Value > Ifc4x3_tc1::IfcDuctFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcDuctFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcDuctFitting::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcDuctFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcDuctFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcDuctFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[346]); } const IfcParse::entity& Ifc4x3_tc1::IfcDuctFitting::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[346]); } Ifc4x3_tc1::IfcDuctFitting::IfcDuctFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x3_tc1::IfcDuctFitting::IfcDuctFitting(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcDuctFitting::IfcDuctFitting(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcDuctFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcDuctFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDuctFittingType -::Ifc4x3_tc1::IfcDuctFittingTypeEnum::Value Ifc4x3_tc1::IfcDuctFittingType::PredefinedType() const { return ::Ifc4x3_tc1::IfcDuctFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcDuctFittingTypeEnum::Value Ifc4x3_tc1::IfcDuctFittingType::PredefinedType() const { return ::Ifc4x3_tc1::IfcDuctFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcDuctFittingType::setPredefinedType(::Ifc4x3_tc1::IfcDuctFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcDuctFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcDuctFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[347]); } const IfcParse::entity& Ifc4x3_tc1::IfcDuctFittingType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[347]); } Ifc4x3_tc1::IfcDuctFittingType::IfcDuctFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x3_tc1::IfcDuctFittingType::IfcDuctFittingType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDuctFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcDuctFittingType::IfcDuctFittingType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDuctFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcDuctFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDuctSegment -boost::optional< ::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Value > Ifc4x3_tc1::IfcDuctSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Value > Ifc4x3_tc1::IfcDuctSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcDuctSegment::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcDuctSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[349]); } const IfcParse::entity& Ifc4x3_tc1::IfcDuctSegment::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[349]); } Ifc4x3_tc1::IfcDuctSegment::IfcDuctSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x3_tc1::IfcDuctSegment::IfcDuctSegment(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcDuctSegment::IfcDuctSegment(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDuctSegmentType -::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Value Ifc4x3_tc1::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Value Ifc4x3_tc1::IfcDuctSegmentType::PredefinedType() const { return ::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcDuctSegmentType::setPredefinedType(::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcDuctSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[350]); } const IfcParse::entity& Ifc4x3_tc1::IfcDuctSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[350]); } Ifc4x3_tc1::IfcDuctSegmentType::IfcDuctSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x3_tc1::IfcDuctSegmentType::IfcDuctSegmentType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcDuctSegmentType::IfcDuctSegmentType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcDuctSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcDuctSilencer -boost::optional< ::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Value > Ifc4x3_tc1::IfcDuctSilencer::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Value > Ifc4x3_tc1::IfcDuctSilencer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcDuctSilencer::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcDuctSilencer::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[352]); } const IfcParse::entity& Ifc4x3_tc1::IfcDuctSilencer::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[352]); } Ifc4x3_tc1::IfcDuctSilencer::IfcDuctSilencer(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4x3_tc1::IfcDuctSilencer::IfcDuctSilencer(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcDuctSilencer::IfcDuctSilencer(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcDuctSilencerType -::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Value Ifc4x3_tc1::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Value Ifc4x3_tc1::IfcDuctSilencerType::PredefinedType() const { return ::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcDuctSilencerType::setPredefinedType(::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcDuctSilencerType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[353]); } const IfcParse::entity& Ifc4x3_tc1::IfcDuctSilencerType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[353]); } Ifc4x3_tc1::IfcDuctSilencerType::IfcDuctSilencerType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4x3_tc1::IfcDuctSilencerType::IfcDuctSilencerType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcDuctSilencerType::IfcDuctSilencerType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcDuctSilencerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEarthworksCut -boost::optional< ::Ifc4x3_tc1::IfcEarthworksCutTypeEnum::Value > Ifc4x3_tc1::IfcEarthworksCut::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcEarthworksCutTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcEarthworksCutTypeEnum::Value > Ifc4x3_tc1::IfcEarthworksCut::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcEarthworksCutTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcEarthworksCut::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcEarthworksCutTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcEarthworksCutTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcEarthworksCut::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[357]); } const IfcParse::entity& Ifc4x3_tc1::IfcEarthworksCut::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[357]); } Ifc4x3_tc1::IfcEarthworksCut::IfcEarthworksCut(IfcEntityInstanceData&& e) : IfcFeatureElementSubtraction(std::move(e)) { } -Ifc4x3_tc1::IfcEarthworksCut::IfcEarthworksCut(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcEarthworksCutTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcEarthworksCut::IfcEarthworksCut(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcEarthworksCutTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcEarthworksCutTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEarthworksElement @@ -10428,194 +10428,194 @@ Ifc4x3_tc1::IfcEarthworksCut::IfcEarthworksCut(std::string v1_GlobalId, ::Ifc4x3 const IfcParse::entity& Ifc4x3_tc1::IfcEarthworksElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[359]); } const IfcParse::entity& Ifc4x3_tc1::IfcEarthworksElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[359]); } Ifc4x3_tc1::IfcEarthworksElement::IfcEarthworksElement(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_tc1::IfcEarthworksElement::IfcEarthworksElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuiltElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_tc1::IfcEarthworksElement::IfcEarthworksElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcEarthworksFill -boost::optional< ::Ifc4x3_tc1::IfcEarthworksFillTypeEnum::Value > Ifc4x3_tc1::IfcEarthworksFill::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcEarthworksFillTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcEarthworksFillTypeEnum::Value > Ifc4x3_tc1::IfcEarthworksFill::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcEarthworksFillTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcEarthworksFill::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcEarthworksFillTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcEarthworksFillTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcEarthworksFill::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[360]); } const IfcParse::entity& Ifc4x3_tc1::IfcEarthworksFill::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[360]); } Ifc4x3_tc1::IfcEarthworksFill::IfcEarthworksFill(IfcEntityInstanceData&& e) : IfcEarthworksElement(std::move(e)) { } -Ifc4x3_tc1::IfcEarthworksFill::IfcEarthworksFill(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType) : IfcEarthworksElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcEarthworksFillTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcEarthworksFill::IfcEarthworksFill(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcEarthworksFillTypeEnum::Value > v9_PredefinedType) : IfcEarthworksElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcEarthworksFillTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEdge -::Ifc4x3_tc1::IfcVertex* Ifc4x3_tc1::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcVertex>(true); } +::Ifc4x3_tc1::IfcVertex* Ifc4x3_tc1::IfcEdge::EdgeStart() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcVertex>(true); } void Ifc4x3_tc1::IfcEdge::setEdgeStart(::Ifc4x3_tc1::IfcVertex* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_tc1::IfcVertex* Ifc4x3_tc1::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcVertex>(true); } +::Ifc4x3_tc1::IfcVertex* Ifc4x3_tc1::IfcEdge::EdgeEnd() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcVertex>(true); } void Ifc4x3_tc1::IfcEdge::setEdgeEnd(::Ifc4x3_tc1::IfcVertex* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcEdge::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[362]); } const IfcParse::entity& Ifc4x3_tc1::IfcEdge::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[362]); } Ifc4x3_tc1::IfcEdge::IfcEdge(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcEdge::IfcEdge(::Ifc4x3_tc1::IfcVertex* v1_EdgeStart, ::Ifc4x3_tc1::IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcEdge::IfcEdge(::Ifc4x3_tc1::IfcVertex* v1_EdgeStart, ::Ifc4x3_tc1::IfcVertex* v2_EdgeEnd) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcEdgeCurve -::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcCurve>(true); } +::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcEdgeCurve::EdgeGeometry() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcCurve>(true); } void Ifc4x3_tc1::IfcEdgeCurve::setEdgeGeometry(::Ifc4x3_tc1::IfcCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x3_tc1::IfcEdgeCurve::SameSense() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x3_tc1::IfcEdgeCurve::SameSense() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcEdgeCurve::setSameSense(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcEdgeCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[363]); } const IfcParse::entity& Ifc4x3_tc1::IfcEdgeCurve::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[363]); } Ifc4x3_tc1::IfcEdgeCurve::IfcEdgeCurve(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc4x3_tc1::IfcEdgeCurve::IfcEdgeCurve(::Ifc4x3_tc1::IfcVertex* v1_EdgeStart, ::Ifc4x3_tc1::IfcVertex* v2_EdgeEnd, ::Ifc4x3_tc1::IfcCurve* v3_EdgeGeometry, bool v4_SameSense) : IfcEdge(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EdgeGeometry ? v3_EdgeGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SameSense));; populate_derived(); } +Ifc4x3_tc1::IfcEdgeCurve::IfcEdgeCurve(::Ifc4x3_tc1::IfcVertex* v1_EdgeStart, ::Ifc4x3_tc1::IfcVertex* v2_EdgeEnd, ::Ifc4x3_tc1::IfcCurve* v3_EdgeGeometry, bool v4_SameSense) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EdgeGeometry ? v3_EdgeGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SameSense));; populate_derived(); } // Function implementations for IfcEdgeLoop -aggregate_of< ::Ifc4x3_tc1::IfcOrientedEdge >::ptr Ifc4x3_tc1::IfcEdgeLoop::EdgeList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcOrientedEdge >(); } +aggregate_of< ::Ifc4x3_tc1::IfcOrientedEdge >::ptr Ifc4x3_tc1::IfcEdgeLoop::EdgeList() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcOrientedEdge >(); } void Ifc4x3_tc1::IfcEdgeLoop::setEdgeList(aggregate_of< ::Ifc4x3_tc1::IfcOrientedEdge >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_tc1::IfcEdgeLoop::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[364]); } const IfcParse::entity& Ifc4x3_tc1::IfcEdgeLoop::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[364]); } Ifc4x3_tc1::IfcEdgeLoop::IfcEdgeLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc4x3_tc1::IfcEdgeLoop::IfcEdgeLoop(aggregate_of< ::Ifc4x3_tc1::IfcOrientedEdge >::ptr v1_EdgeList) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcEdgeLoop::IfcEdgeLoop(aggregate_of< ::Ifc4x3_tc1::IfcOrientedEdge >::ptr v1_EdgeList) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } // Function implementations for IfcElectricAppliance -boost::optional< ::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Value > Ifc4x3_tc1::IfcElectricAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Value > Ifc4x3_tc1::IfcElectricAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcElectricAppliance::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcElectricAppliance::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[365]); } const IfcParse::entity& Ifc4x3_tc1::IfcElectricAppliance::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[365]); } Ifc4x3_tc1::IfcElectricAppliance::IfcElectricAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_tc1::IfcElectricAppliance::IfcElectricAppliance(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcElectricAppliance::IfcElectricAppliance(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricApplianceType -::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Value Ifc4x3_tc1::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Value Ifc4x3_tc1::IfcElectricApplianceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcElectricApplianceType::setPredefinedType(::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcElectricApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[366]); } const IfcParse::entity& Ifc4x3_tc1::IfcElectricApplianceType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[366]); } Ifc4x3_tc1::IfcElectricApplianceType::IfcElectricApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_tc1::IfcElectricApplianceType::IfcElectricApplianceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcElectricApplianceType::IfcElectricApplianceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcElectricApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricDistributionBoard -boost::optional< ::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x3_tc1::IfcElectricDistributionBoard::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Value > Ifc4x3_tc1::IfcElectricDistributionBoard::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcElectricDistributionBoard::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcElectricDistributionBoard::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[372]); } const IfcParse::entity& Ifc4x3_tc1::IfcElectricDistributionBoard::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[372]); } Ifc4x3_tc1::IfcElectricDistributionBoard::IfcElectricDistributionBoard(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_tc1::IfcElectricDistributionBoard::IfcElectricDistributionBoard(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcElectricDistributionBoard::IfcElectricDistributionBoard(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricDistributionBoardType -::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3_tc1::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Value Ifc4x3_tc1::IfcElectricDistributionBoardType::PredefinedType() const { return ::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcElectricDistributionBoardType::setPredefinedType(::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcElectricDistributionBoardType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[373]); } const IfcParse::entity& Ifc4x3_tc1::IfcElectricDistributionBoardType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[373]); } Ifc4x3_tc1::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_tc1::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcElectricDistributionBoardType::IfcElectricDistributionBoardType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcElectricDistributionBoardTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricFlowStorageDevice -boost::optional< ::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x3_tc1::IfcElectricFlowStorageDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Value > Ifc4x3_tc1::IfcElectricFlowStorageDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcElectricFlowStorageDevice::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcElectricFlowStorageDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[375]); } const IfcParse::entity& Ifc4x3_tc1::IfcElectricFlowStorageDevice::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[375]); } Ifc4x3_tc1::IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(IfcEntityInstanceData&& e) : IfcFlowStorageDevice(std::move(e)) { } -Ifc4x3_tc1::IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcElectricFlowStorageDevice::IfcElectricFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricFlowStorageDeviceType -::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3_tc1::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Value Ifc4x3_tc1::IfcElectricFlowStorageDeviceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcElectricFlowStorageDeviceType::setPredefinedType(::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcElectricFlowStorageDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[376]); } const IfcParse::entity& Ifc4x3_tc1::IfcElectricFlowStorageDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[376]); } Ifc4x3_tc1::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(IfcEntityInstanceData&& e) : IfcFlowStorageDeviceType(std::move(e)) { } -Ifc4x3_tc1::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcElectricFlowStorageDeviceType::IfcElectricFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcElectricFlowStorageDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricFlowTreatmentDevice -boost::optional< ::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > Ifc4x3_tc1::IfcElectricFlowTreatmentDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > Ifc4x3_tc1::IfcElectricFlowTreatmentDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcElectricFlowTreatmentDevice::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcElectricFlowTreatmentDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[378]); } const IfcParse::entity& Ifc4x3_tc1::IfcElectricFlowTreatmentDevice::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[378]); } Ifc4x3_tc1::IfcElectricFlowTreatmentDevice::IfcElectricFlowTreatmentDevice(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4x3_tc1::IfcElectricFlowTreatmentDevice::IfcElectricFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcElectricFlowTreatmentDevice::IfcElectricFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricFlowTreatmentDeviceType -::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceType::setPredefinedType(::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[379]); } const IfcParse::entity& Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[379]); } Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceType::IfcElectricFlowTreatmentDeviceType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceType::IfcElectricFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceType::IfcElectricFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcElectricFlowTreatmentDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricGenerator -boost::optional< ::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Value > Ifc4x3_tc1::IfcElectricGenerator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Value > Ifc4x3_tc1::IfcElectricGenerator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcElectricGenerator::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcElectricGenerator::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[381]); } const IfcParse::entity& Ifc4x3_tc1::IfcElectricGenerator::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[381]); } Ifc4x3_tc1::IfcElectricGenerator::IfcElectricGenerator(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_tc1::IfcElectricGenerator::IfcElectricGenerator(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcElectricGenerator::IfcElectricGenerator(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricGeneratorType -::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Value Ifc4x3_tc1::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Value Ifc4x3_tc1::IfcElectricGeneratorType::PredefinedType() const { return ::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcElectricGeneratorType::setPredefinedType(::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcElectricGeneratorType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[382]); } const IfcParse::entity& Ifc4x3_tc1::IfcElectricGeneratorType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[382]); } Ifc4x3_tc1::IfcElectricGeneratorType::IfcElectricGeneratorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_tc1::IfcElectricGeneratorType::IfcElectricGeneratorType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcElectricGeneratorType::IfcElectricGeneratorType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcElectricGeneratorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricMotor -boost::optional< ::Ifc4x3_tc1::IfcElectricMotorTypeEnum::Value > Ifc4x3_tc1::IfcElectricMotor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcElectricMotorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcElectricMotorTypeEnum::Value > Ifc4x3_tc1::IfcElectricMotor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcElectricMotorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcElectricMotor::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcElectricMotorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcElectricMotorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcElectricMotor::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[384]); } const IfcParse::entity& Ifc4x3_tc1::IfcElectricMotor::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[384]); } Ifc4x3_tc1::IfcElectricMotor::IfcElectricMotor(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_tc1::IfcElectricMotor::IfcElectricMotor(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcElectricMotor::IfcElectricMotor(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcElectricMotorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElectricMotorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricMotorType -::Ifc4x3_tc1::IfcElectricMotorTypeEnum::Value Ifc4x3_tc1::IfcElectricMotorType::PredefinedType() const { return ::Ifc4x3_tc1::IfcElectricMotorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcElectricMotorTypeEnum::Value Ifc4x3_tc1::IfcElectricMotorType::PredefinedType() const { return ::Ifc4x3_tc1::IfcElectricMotorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcElectricMotorType::setPredefinedType(::Ifc4x3_tc1::IfcElectricMotorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcElectricMotorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcElectricMotorType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[385]); } const IfcParse::entity& Ifc4x3_tc1::IfcElectricMotorType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[385]); } Ifc4x3_tc1::IfcElectricMotorType::IfcElectricMotorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_tc1::IfcElectricMotorType::IfcElectricMotorType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricMotorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcElectricMotorType::IfcElectricMotorType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricMotorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcElectricMotorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElectricTimeControl -boost::optional< ::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Value > Ifc4x3_tc1::IfcElectricTimeControl::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Value > Ifc4x3_tc1::IfcElectricTimeControl::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcElectricTimeControl::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcElectricTimeControl::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[388]); } const IfcParse::entity& Ifc4x3_tc1::IfcElectricTimeControl::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[388]); } Ifc4x3_tc1::IfcElectricTimeControl::IfcElectricTimeControl(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_tc1::IfcElectricTimeControl::IfcElectricTimeControl(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcElectricTimeControl::IfcElectricTimeControl(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElectricTimeControlType -::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Value Ifc4x3_tc1::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Value Ifc4x3_tc1::IfcElectricTimeControlType::PredefinedType() const { return ::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcElectricTimeControlType::setPredefinedType(::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcElectricTimeControlType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[389]); } const IfcParse::entity& Ifc4x3_tc1::IfcElectricTimeControlType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[389]); } Ifc4x3_tc1::IfcElectricTimeControlType::IfcElectricTimeControlType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_tc1::IfcElectricTimeControlType::IfcElectricTimeControlType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcElectricTimeControlType::IfcElectricTimeControlType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcElectricTimeControlTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElement -boost::optional< std::string > Ifc4x3_tc1::IfcElement::Tag() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcElement::Tag() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcElement::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } ::Ifc4x3_tc1::IfcRelFillsElement::list::ptr Ifc4x3_tc1::IfcElement::FillsVoids() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[934], 5)->as(); } @@ -10634,29 +10634,29 @@ void Ifc4x3_tc1::IfcElement::setTag(boost::optional< std::string > v) { if (v) { const IfcParse::entity& Ifc4x3_tc1::IfcElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[392]); } const IfcParse::entity& Ifc4x3_tc1::IfcElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[392]); } Ifc4x3_tc1::IfcElement::IfcElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_tc1::IfcElement::IfcElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcProduct(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_tc1::IfcElement::IfcElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcElementAssembly -boost::optional< ::Ifc4x3_tc1::IfcAssemblyPlaceEnum::Value > Ifc4x3_tc1::IfcElementAssembly::AssemblyPlace() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcAssemblyPlaceEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcAssemblyPlaceEnum::Value > Ifc4x3_tc1::IfcElementAssembly::AssemblyPlace() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcAssemblyPlaceEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcElementAssembly::setAssemblyPlace(boost::optional< ::Ifc4x3_tc1::IfcAssemblyPlaceEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcAssemblyPlaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< ::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Value > Ifc4x3_tc1::IfcElementAssembly::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Value > Ifc4x3_tc1::IfcElementAssembly::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcElementAssembly::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_tc1::IfcElementAssembly::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[394]); } const IfcParse::entity& Ifc4x3_tc1::IfcElementAssembly::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[394]); } Ifc4x3_tc1::IfcElementAssembly::IfcElementAssembly(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_tc1::IfcElementAssembly::IfcElementAssembly(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, boost::optional< ::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) : IfcElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcElementAssembly::IfcElementAssembly(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcAssemblyPlaceEnum::Value > v9_AssemblyPlace, boost::optional< ::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Value > v10_PredefinedType) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_AssemblyPlace) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcAssemblyPlaceEnum::Class(),(size_t)*v9_AssemblyPlace))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcElementAssemblyType -::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Value Ifc4x3_tc1::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Value Ifc4x3_tc1::IfcElementAssemblyType::PredefinedType() const { return ::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcElementAssemblyType::setPredefinedType(::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcElementAssemblyType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[395]); } const IfcParse::entity& Ifc4x3_tc1::IfcElementAssemblyType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[395]); } Ifc4x3_tc1::IfcElementAssemblyType::IfcElementAssemblyType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_tc1::IfcElementAssemblyType::IfcElementAssemblyType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcElementAssemblyType::IfcElementAssemblyType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcElementAssemblyTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcElementComponent @@ -10664,7 +10664,7 @@ Ifc4x3_tc1::IfcElementAssemblyType::IfcElementAssemblyType(std::string v1_Global const IfcParse::entity& Ifc4x3_tc1::IfcElementComponent::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[397]); } const IfcParse::entity& Ifc4x3_tc1::IfcElementComponent::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[397]); } Ifc4x3_tc1::IfcElementComponent::IfcElementComponent(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_tc1::IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_tc1::IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcElementComponentType @@ -10672,63 +10672,63 @@ Ifc4x3_tc1::IfcElementComponent::IfcElementComponent(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x3_tc1::IfcElementComponentType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[398]); } const IfcParse::entity& Ifc4x3_tc1::IfcElementComponentType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[398]); } Ifc4x3_tc1::IfcElementComponentType::IfcElementComponentType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_tc1::IfcElementComponentType::IfcElementComponentType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_tc1::IfcElementComponentType::IfcElementComponentType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcElementQuantity -boost::optional< std::string > Ifc4x3_tc1::IfcElementQuantity::MethodOfMeasurement() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcElementQuantity::MethodOfMeasurement() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcElementQuantity::setMethodOfMeasurement(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -aggregate_of< ::Ifc4x3_tc1::IfcPhysicalQuantity >::ptr Ifc4x3_tc1::IfcElementQuantity::Quantities() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_tc1::IfcPhysicalQuantity >(); } +aggregate_of< ::Ifc4x3_tc1::IfcPhysicalQuantity >::ptr Ifc4x3_tc1::IfcElementQuantity::Quantities() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_tc1::IfcPhysicalQuantity >(); } void Ifc4x3_tc1::IfcElementQuantity::setQuantities(aggregate_of< ::Ifc4x3_tc1::IfcPhysicalQuantity >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcElementQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[400]); } const IfcParse::entity& Ifc4x3_tc1::IfcElementQuantity::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[400]); } Ifc4x3_tc1::IfcElementQuantity::IfcElementQuantity(IfcEntityInstanceData&& e) : IfcQuantitySet(std::move(e)) { } -Ifc4x3_tc1::IfcElementQuantity::IfcElementQuantity(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_MethodOfMeasurement, aggregate_of< ::Ifc4x3_tc1::IfcPhysicalQuantity >::ptr v6_Quantities) : IfcQuantitySet(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, (v6_Quantities)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcElementQuantity::IfcElementQuantity(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_MethodOfMeasurement, aggregate_of< ::Ifc4x3_tc1::IfcPhysicalQuantity >::ptr v6_Quantities) : IfcQuantitySet(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_MethodOfMeasurement) {set_attribute_value(4, (*v5_MethodOfMeasurement)); }set_attribute_value(5, (v6_Quantities)->generalize());; populate_derived(); } // Function implementations for IfcElementType -boost::optional< std::string > Ifc4x3_tc1::IfcElementType::ElementType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcElementType::setElementType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[401]); } const IfcParse::entity& Ifc4x3_tc1::IfcElementType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[401]); } Ifc4x3_tc1::IfcElementType::IfcElementType(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(e)) { } -Ifc4x3_tc1::IfcElementType::IfcElementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_tc1::IfcElementType::IfcElementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcElementarySurface -::Ifc4x3_tc1::IfcAxis2Placement3D* Ifc4x3_tc1::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcAxis2Placement3D>(true); } +::Ifc4x3_tc1::IfcAxis2Placement3D* Ifc4x3_tc1::IfcElementarySurface::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcAxis2Placement3D>(true); } void Ifc4x3_tc1::IfcElementarySurface::setPosition(::Ifc4x3_tc1::IfcAxis2Placement3D* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_tc1::IfcElementarySurface::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[393]); } const IfcParse::entity& Ifc4x3_tc1::IfcElementarySurface::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[393]); } Ifc4x3_tc1::IfcElementarySurface::IfcElementarySurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x3_tc1::IfcElementarySurface::IfcElementarySurface(::Ifc4x3_tc1::IfcAxis2Placement3D* v1_Position) : IfcSurface(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcElementarySurface::IfcElementarySurface(::Ifc4x3_tc1::IfcAxis2Placement3D* v1_Position) : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcEllipse -double Ifc4x3_tc1::IfcEllipse::SemiAxis1() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_tc1::IfcEllipse::SemiAxis1() const { double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcEllipse::setSemiAxis1(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_tc1::IfcEllipse::SemiAxis2() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_tc1::IfcEllipse::SemiAxis2() const { double v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcEllipse::setSemiAxis2(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcEllipse::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[402]); } const IfcParse::entity& Ifc4x3_tc1::IfcEllipse::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[402]); } Ifc4x3_tc1::IfcEllipse::IfcEllipse(IfcEntityInstanceData&& e) : IfcConic(std::move(e)) { } -Ifc4x3_tc1::IfcEllipse::IfcEllipse(::Ifc4x3_tc1::IfcAxis2Placement* v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) : IfcConic(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; populate_derived(); } +Ifc4x3_tc1::IfcEllipse::IfcEllipse(::Ifc4x3_tc1::IfcAxis2Placement* v1_Position, double v2_SemiAxis1, double v3_SemiAxis2) : IfcConic(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SemiAxis1));set_attribute_value(2, (v3_SemiAxis2));; populate_derived(); } // Function implementations for IfcEllipseProfileDef -double Ifc4x3_tc1::IfcEllipseProfileDef::SemiAxis1() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_tc1::IfcEllipseProfileDef::SemiAxis1() const { double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcEllipseProfileDef::setSemiAxis1(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_tc1::IfcEllipseProfileDef::SemiAxis2() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_tc1::IfcEllipseProfileDef::SemiAxis2() const { double v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcEllipseProfileDef::setSemiAxis2(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_tc1::IfcEllipseProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[403]); } const IfcParse::entity& Ifc4x3_tc1::IfcEllipseProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[403]); } Ifc4x3_tc1::IfcEllipseProfileDef::IfcEllipseProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_tc1::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D* v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; populate_derived(); } +Ifc4x3_tc1::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D* v3_Position, double v4_SemiAxis1, double v5_SemiAxis2) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_SemiAxis1));set_attribute_value(4, (v5_SemiAxis2));; populate_derived(); } // Function implementations for IfcEnergyConversionDevice @@ -10736,7 +10736,7 @@ Ifc4x3_tc1::IfcEllipseProfileDef::IfcEllipseProfileDef(::Ifc4x3_tc1::IfcProfileT const IfcParse::entity& Ifc4x3_tc1::IfcEnergyConversionDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[404]); } const IfcParse::entity& Ifc4x3_tc1::IfcEnergyConversionDevice::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[404]); } Ifc4x3_tc1::IfcEnergyConversionDevice::IfcEnergyConversionDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_tc1::IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_tc1::IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcEnergyConversionDeviceType @@ -10744,127 +10744,127 @@ Ifc4x3_tc1::IfcEnergyConversionDevice::IfcEnergyConversionDevice(std::string v1_ const IfcParse::entity& Ifc4x3_tc1::IfcEnergyConversionDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[405]); } const IfcParse::entity& Ifc4x3_tc1::IfcEnergyConversionDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[405]); } Ifc4x3_tc1::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_tc1::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_tc1::IfcEnergyConversionDeviceType::IfcEnergyConversionDeviceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcEngine -boost::optional< ::Ifc4x3_tc1::IfcEngineTypeEnum::Value > Ifc4x3_tc1::IfcEngine::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcEngineTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcEngineTypeEnum::Value > Ifc4x3_tc1::IfcEngine::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcEngineTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcEngine::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcEngineTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcEngineTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcEngine::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[407]); } const IfcParse::entity& Ifc4x3_tc1::IfcEngine::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[407]); } Ifc4x3_tc1::IfcEngine::IfcEngine(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_tc1::IfcEngine::IfcEngine(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcEngineTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcEngine::IfcEngine(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcEngineTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcEngineTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEngineType -::Ifc4x3_tc1::IfcEngineTypeEnum::Value Ifc4x3_tc1::IfcEngineType::PredefinedType() const { return ::Ifc4x3_tc1::IfcEngineTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcEngineTypeEnum::Value Ifc4x3_tc1::IfcEngineType::PredefinedType() const { return ::Ifc4x3_tc1::IfcEngineTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcEngineType::setPredefinedType(::Ifc4x3_tc1::IfcEngineTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcEngineTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcEngineType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[408]); } const IfcParse::entity& Ifc4x3_tc1::IfcEngineType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[408]); } Ifc4x3_tc1::IfcEngineType::IfcEngineType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_tc1::IfcEngineType::IfcEngineType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcEngineTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcEngineType::IfcEngineType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcEngineTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcEngineTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEvaporativeCooler -boost::optional< ::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x3_tc1::IfcEvaporativeCooler::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Value > Ifc4x3_tc1::IfcEvaporativeCooler::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcEvaporativeCooler::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcEvaporativeCooler::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[410]); } const IfcParse::entity& Ifc4x3_tc1::IfcEvaporativeCooler::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[410]); } Ifc4x3_tc1::IfcEvaporativeCooler::IfcEvaporativeCooler(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_tc1::IfcEvaporativeCooler::IfcEvaporativeCooler(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcEvaporativeCooler::IfcEvaporativeCooler(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEvaporativeCoolerType -::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3_tc1::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Value Ifc4x3_tc1::IfcEvaporativeCoolerType::PredefinedType() const { return ::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcEvaporativeCoolerType::setPredefinedType(::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcEvaporativeCoolerType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[411]); } const IfcParse::entity& Ifc4x3_tc1::IfcEvaporativeCoolerType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[411]); } Ifc4x3_tc1::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_tc1::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcEvaporativeCoolerType::IfcEvaporativeCoolerType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcEvaporativeCoolerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEvaporator -boost::optional< ::Ifc4x3_tc1::IfcEvaporatorTypeEnum::Value > Ifc4x3_tc1::IfcEvaporator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcEvaporatorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcEvaporatorTypeEnum::Value > Ifc4x3_tc1::IfcEvaporator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcEvaporatorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcEvaporator::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcEvaporatorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcEvaporatorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcEvaporator::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[413]); } const IfcParse::entity& Ifc4x3_tc1::IfcEvaporator::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[413]); } Ifc4x3_tc1::IfcEvaporator::IfcEvaporator(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_tc1::IfcEvaporator::IfcEvaporator(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcEvaporator::IfcEvaporator(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcEvaporatorTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcEvaporatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcEvaporatorType -::Ifc4x3_tc1::IfcEvaporatorTypeEnum::Value Ifc4x3_tc1::IfcEvaporatorType::PredefinedType() const { return ::Ifc4x3_tc1::IfcEvaporatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcEvaporatorTypeEnum::Value Ifc4x3_tc1::IfcEvaporatorType::PredefinedType() const { return ::Ifc4x3_tc1::IfcEvaporatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcEvaporatorType::setPredefinedType(::Ifc4x3_tc1::IfcEvaporatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcEvaporatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcEvaporatorType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[414]); } const IfcParse::entity& Ifc4x3_tc1::IfcEvaporatorType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[414]); } Ifc4x3_tc1::IfcEvaporatorType::IfcEvaporatorType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_tc1::IfcEvaporatorType::IfcEvaporatorType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcEvaporatorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcEvaporatorType::IfcEvaporatorType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcEvaporatorTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcEvaporatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcEvent -boost::optional< ::Ifc4x3_tc1::IfcEventTypeEnum::Value > Ifc4x3_tc1::IfcEvent::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcEventTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_tc1::IfcEventTypeEnum::Value > Ifc4x3_tc1::IfcEvent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcEventTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_tc1::IfcEvent::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcEventTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_tc1::IfcEventTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3_tc1::IfcEventTriggerTypeEnum::Value > Ifc4x3_tc1::IfcEvent::EventTriggerType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcEventTriggerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcEventTriggerTypeEnum::Value > Ifc4x3_tc1::IfcEvent::EventTriggerType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcEventTriggerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcEvent::setEventTriggerType(boost::optional< ::Ifc4x3_tc1::IfcEventTriggerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcEventTriggerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_tc1::IfcEvent::UserDefinedEventTriggerType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcEvent::UserDefinedEventTriggerType() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_tc1::IfcEvent::setUserDefinedEventTriggerType(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -::Ifc4x3_tc1::IfcEventTime* Ifc4x3_tc1::IfcEvent::EventOccurenceTime() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_tc1::IfcEventTime>(true); } +::Ifc4x3_tc1::IfcEventTime* Ifc4x3_tc1::IfcEvent::EventOccurenceTime() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_tc1::IfcEventTime>(true); } void Ifc4x3_tc1::IfcEvent::setEventOccurenceTime(::Ifc4x3_tc1::IfcEventTime* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_tc1::IfcEvent::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[416]); } const IfcParse::entity& Ifc4x3_tc1::IfcEvent::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[416]); } Ifc4x3_tc1::IfcEvent::IfcEvent(IfcEntityInstanceData&& e) : IfcProcess(std::move(e)) { } -Ifc4x3_tc1::IfcEvent::IfcEvent(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcEventTypeEnum::Value > v8_PredefinedType, boost::optional< ::Ifc4x3_tc1::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, boost::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_tc1::IfcEventTime* v11_EventOccurenceTime) : IfcProcess(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, v11_EventOccurenceTime ? v11_EventOccurenceTime->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcEvent::IfcEvent(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcEventTypeEnum::Value > v8_PredefinedType, boost::optional< ::Ifc4x3_tc1::IfcEventTriggerTypeEnum::Value > v9_EventTriggerType, boost::optional< std::string > v10_UserDefinedEventTriggerType, ::Ifc4x3_tc1::IfcEventTime* v11_EventOccurenceTime) : IfcProcess(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcEventTypeEnum::Class(),(size_t)*v8_PredefinedType))); } if (v9_EventTriggerType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcEventTriggerTypeEnum::Class(),(size_t)*v9_EventTriggerType))); } if (v10_UserDefinedEventTriggerType) {set_attribute_value(9, (*v10_UserDefinedEventTriggerType)); }set_attribute_value(10, v11_EventOccurenceTime ? v11_EventOccurenceTime->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcEventTime -boost::optional< std::string > Ifc4x3_tc1::IfcEventTime::ActualDate() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcEventTime::ActualDate() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcEventTime::setActualDate(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_tc1::IfcEventTime::EarlyDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcEventTime::EarlyDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcEventTime::setEarlyDate(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_tc1::IfcEventTime::LateDate() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcEventTime::LateDate() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcEventTime::setLateDate(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_tc1::IfcEventTime::ScheduleDate() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcEventTime::ScheduleDate() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcEventTime::setScheduleDate(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_tc1::IfcEventTime::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[417]); } const IfcParse::entity& Ifc4x3_tc1::IfcEventTime::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[417]); } Ifc4x3_tc1::IfcEventTime::IfcEventTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x3_tc1::IfcEventTime::IfcEventTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_tc1::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); }; populate_derived(); } +Ifc4x3_tc1::IfcEventTime::IfcEventTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_tc1::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ActualDate) {set_attribute_value(3, (*v4_ActualDate)); } if (v5_EarlyDate) {set_attribute_value(4, (*v5_EarlyDate)); } if (v6_LateDate) {set_attribute_value(5, (*v6_LateDate)); } if (v7_ScheduleDate) {set_attribute_value(6, (*v7_ScheduleDate)); }; populate_derived(); } // Function implementations for IfcEventType -::Ifc4x3_tc1::IfcEventTypeEnum::Value Ifc4x3_tc1::IfcEventType::PredefinedType() const { return ::Ifc4x3_tc1::IfcEventTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcEventTypeEnum::Value Ifc4x3_tc1::IfcEventType::PredefinedType() const { return ::Ifc4x3_tc1::IfcEventTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcEventType::setPredefinedType(::Ifc4x3_tc1::IfcEventTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcEventTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_tc1::IfcEventTriggerTypeEnum::Value Ifc4x3_tc1::IfcEventType::EventTriggerType() const { return ::Ifc4x3_tc1::IfcEventTriggerTypeEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3_tc1::IfcEventTriggerTypeEnum::Value Ifc4x3_tc1::IfcEventType::EventTriggerType() const { return ::Ifc4x3_tc1::IfcEventTriggerTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_tc1::IfcEventType::setEventTriggerType(::Ifc4x3_tc1::IfcEventTriggerTypeEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3_tc1::IfcEventTriggerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } -boost::optional< std::string > Ifc4x3_tc1::IfcEventType::UserDefinedEventTriggerType() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcEventType::UserDefinedEventTriggerType() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x3_tc1::IfcEventType::setUserDefinedEventTriggerType(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x3_tc1::IfcEventType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[419]); } const IfcParse::entity& Ifc4x3_tc1::IfcEventType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[419]); } Ifc4x3_tc1::IfcEventType::IfcEventType(IfcEntityInstanceData&& e) : IfcTypeProcess(std::move(e)) { } -Ifc4x3_tc1::IfcEventType::IfcEventType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_tc1::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_tc1::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, boost::optional< std::string > v12_UserDefinedEventTriggerType) : IfcTypeProcess(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); }; populate_derived(); } +Ifc4x3_tc1::IfcEventType::IfcEventType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_tc1::IfcEventTypeEnum::Value v10_PredefinedType, ::Ifc4x3_tc1::IfcEventTriggerTypeEnum::Value v11_EventTriggerType, boost::optional< std::string > v12_UserDefinedEventTriggerType) : IfcTypeProcess(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcEventTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcEventTriggerTypeEnum::Class(),(size_t)v11_EventTriggerType))); if (v12_UserDefinedEventTriggerType) {set_attribute_value(11, (*v12_UserDefinedEventTriggerType)); }; populate_derived(); } // Function implementations for IfcExtendedProperties -boost::optional< std::string > Ifc4x3_tc1::IfcExtendedProperties::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcExtendedProperties::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcExtendedProperties::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_tc1::IfcExtendedProperties::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcExtendedProperties::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcExtendedProperties::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3_tc1::IfcProperty >::ptr Ifc4x3_tc1::IfcExtendedProperties::Properties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcProperty >(); } +aggregate_of< ::Ifc4x3_tc1::IfcProperty >::ptr Ifc4x3_tc1::IfcExtendedProperties::Properties() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcProperty >(); } void Ifc4x3_tc1::IfcExtendedProperties::setProperties(aggregate_of< ::Ifc4x3_tc1::IfcProperty >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcExtendedProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[421]); } const IfcParse::entity& Ifc4x3_tc1::IfcExtendedProperties::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[421]); } Ifc4x3_tc1::IfcExtendedProperties::IfcExtendedProperties(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x3_tc1::IfcExtendedProperties::IfcExtendedProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_tc1::IfcProperty >::ptr v3_Properties) : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcExtendedProperties::IfcExtendedProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_tc1::IfcProperty >::ptr v3_Properties) : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());; populate_derived(); } // Function implementations for IfcExternalInformation @@ -10872,14 +10872,14 @@ Ifc4x3_tc1::IfcExtendedProperties::IfcExtendedProperties(boost::optional< std::s const IfcParse::entity& Ifc4x3_tc1::IfcExternalInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[422]); } const IfcParse::entity& Ifc4x3_tc1::IfcExternalInformation::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[422]); } Ifc4x3_tc1::IfcExternalInformation::IfcExternalInformation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcExternalInformation::IfcExternalInformation() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_tc1::IfcExternalInformation::IfcExternalInformation() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcExternalReference -boost::optional< std::string > Ifc4x3_tc1::IfcExternalReference::Location() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcExternalReference::Location() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcExternalReference::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_tc1::IfcExternalReference::Identification() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcExternalReference::Identification() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcExternalReference::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_tc1::IfcExternalReference::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcExternalReference::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcExternalReference::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3_tc1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_tc1::IfcExternalReference::ExternalReferenceForResources() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[427], 2)->as(); } @@ -10887,22 +10887,22 @@ void Ifc4x3_tc1::IfcExternalReference::setName(boost::optional< std::string > v) const IfcParse::entity& Ifc4x3_tc1::IfcExternalReference::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[426]); } const IfcParse::entity& Ifc4x3_tc1::IfcExternalReference::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[426]); } Ifc4x3_tc1::IfcExternalReference::IfcExternalReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcExternalReference::IfcExternalReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3_tc1::IfcExternalReference::IfcExternalReference(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternalReferenceRelationship -::Ifc4x3_tc1::IfcExternalReference* Ifc4x3_tc1::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcExternalReference>(true); } +::Ifc4x3_tc1::IfcExternalReference* Ifc4x3_tc1::IfcExternalReferenceRelationship::RelatingReference() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcExternalReference>(true); } void Ifc4x3_tc1::IfcExternalReferenceRelationship::setRelatingReference(::Ifc4x3_tc1::IfcExternalReference* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr Ifc4x3_tc1::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_tc1::IfcResourceObjectSelect >(); } +aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr Ifc4x3_tc1::IfcExternalReferenceRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_tc1::IfcResourceObjectSelect >(); } void Ifc4x3_tc1::IfcExternalReferenceRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcExternalReferenceRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[427]); } const IfcParse::entity& Ifc4x3_tc1::IfcExternalReferenceRelationship::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[427]); } Ifc4x3_tc1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_tc1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingReference ? v3_RelatingReference->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcExternalReferenceRelationship::IfcExternalReferenceRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcExternalReference* v3_RelatingReference, aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingReference ? v3_RelatingReference->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } // Function implementations for IfcExternalSpatialElement -boost::optional< ::Ifc4x3_tc1::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_tc1::IfcExternalSpatialElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcExternalSpatialElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcExternalSpatialElementTypeEnum::Value > Ifc4x3_tc1::IfcExternalSpatialElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcExternalSpatialElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcExternalSpatialElement::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcExternalSpatialElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcExternalSpatialElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x3_tc1::IfcRelSpaceBoundary::list::ptr Ifc4x3_tc1::IfcExternalSpatialElement::BoundedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[943], 4)->as(); } @@ -10910,7 +10910,7 @@ void Ifc4x3_tc1::IfcExternalSpatialElement::setPredefinedType(boost::optional< : const IfcParse::entity& Ifc4x3_tc1::IfcExternalSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[428]); } const IfcParse::entity& Ifc4x3_tc1::IfcExternalSpatialElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[428]); } Ifc4x3_tc1::IfcExternalSpatialElement::IfcExternalSpatialElement(IfcEntityInstanceData&& e) : IfcExternalSpatialStructureElement(std::move(e)) { } -Ifc4x3_tc1::IfcExternalSpatialElement::IfcExternalSpatialElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) : IfcExternalSpatialStructureElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcExternalSpatialElement::IfcExternalSpatialElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::IfcExternalSpatialElementTypeEnum::Value > v9_PredefinedType) : IfcExternalSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcExternalSpatialElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcExternalSpatialStructureElement @@ -10918,7 +10918,7 @@ Ifc4x3_tc1::IfcExternalSpatialElement::IfcExternalSpatialElement(std::string v1_ const IfcParse::entity& Ifc4x3_tc1::IfcExternalSpatialStructureElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[430]); } const IfcParse::entity& Ifc4x3_tc1::IfcExternalSpatialStructureElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[430]); } Ifc4x3_tc1::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(IfcEntityInstanceData&& e) : IfcSpatialElement(std::move(e)) { } -Ifc4x3_tc1::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcSpatialElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } +Ifc4x3_tc1::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcSpatialElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedHatchStyle @@ -10926,7 +10926,7 @@ Ifc4x3_tc1::IfcExternalSpatialStructureElement::IfcExternalSpatialStructureEleme const IfcParse::entity& Ifc4x3_tc1::IfcExternallyDefinedHatchStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[423]); } const IfcParse::entity& Ifc4x3_tc1::IfcExternallyDefinedHatchStyle::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[423]); } Ifc4x3_tc1::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_tc1::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3_tc1::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedSurfaceStyle @@ -10934,7 +10934,7 @@ Ifc4x3_tc1::IfcExternallyDefinedHatchStyle::IfcExternallyDefinedHatchStyle(boost const IfcParse::entity& Ifc4x3_tc1::IfcExternallyDefinedSurfaceStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[424]); } const IfcParse::entity& Ifc4x3_tc1::IfcExternallyDefinedSurfaceStyle::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[424]); } Ifc4x3_tc1::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_tc1::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3_tc1::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExternallyDefinedTextFont @@ -10942,32 +10942,32 @@ Ifc4x3_tc1::IfcExternallyDefinedSurfaceStyle::IfcExternallyDefinedSurfaceStyle(b const IfcParse::entity& Ifc4x3_tc1::IfcExternallyDefinedTextFont::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[425]); } const IfcParse::entity& Ifc4x3_tc1::IfcExternallyDefinedTextFont::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[425]); } Ifc4x3_tc1::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_tc1::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(storage_t(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3_tc1::IfcExternallyDefinedTextFont::IfcExternallyDefinedTextFont(boost::optional< std::string > v1_Location, boost::optional< std::string > v2_Identification, boost::optional< std::string > v3_Name) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcExtrudedAreaSolid -::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcDirection>(true); } +::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcExtrudedAreaSolid::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcDirection>(true); } void Ifc4x3_tc1::IfcExtrudedAreaSolid::setExtrudedDirection(::Ifc4x3_tc1::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_tc1::IfcExtrudedAreaSolid::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_tc1::IfcExtrudedAreaSolid::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcExtrudedAreaSolid::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcExtrudedAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[431]); } const IfcParse::entity& Ifc4x3_tc1::IfcExtrudedAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[431]); } Ifc4x3_tc1::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4x3_tc1::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(::Ifc4x3_tc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_tc1::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } +Ifc4x3_tc1::IfcExtrudedAreaSolid::IfcExtrudedAreaSolid(::Ifc4x3_tc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_tc1::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } // Function implementations for IfcExtrudedAreaSolidTapered -::Ifc4x3_tc1::IfcProfileDef* Ifc4x3_tc1::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcProfileDef>(true); } +::Ifc4x3_tc1::IfcProfileDef* Ifc4x3_tc1::IfcExtrudedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcProfileDef>(true); } void Ifc4x3_tc1::IfcExtrudedAreaSolidTapered::setEndSweptArea(::Ifc4x3_tc1::IfcProfileDef* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_tc1::IfcExtrudedAreaSolidTapered::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[432]); } const IfcParse::entity& Ifc4x3_tc1::IfcExtrudedAreaSolidTapered::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[432]); } Ifc4x3_tc1::IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(IfcEntityInstanceData&& e) : IfcExtrudedAreaSolid(std::move(e)) { } -Ifc4x3_tc1::IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(::Ifc4x3_tc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_tc1::IfcDirection* v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_tc1::IfcProfileDef* v5_EndSweptArea) : IfcExtrudedAreaSolid(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcExtrudedAreaSolidTapered::IfcExtrudedAreaSolidTapered(::Ifc4x3_tc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_tc1::IfcDirection* v3_ExtrudedDirection, double v4_Depth, ::Ifc4x3_tc1::IfcProfileDef* v5_EndSweptArea) : IfcExtrudedAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcFace -aggregate_of< ::Ifc4x3_tc1::IfcFaceBound >::ptr Ifc4x3_tc1::IfcFace::Bounds() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcFaceBound >(); } +aggregate_of< ::Ifc4x3_tc1::IfcFaceBound >::ptr Ifc4x3_tc1::IfcFace::Bounds() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcFaceBound >(); } void Ifc4x3_tc1::IfcFace::setBounds(aggregate_of< ::Ifc4x3_tc1::IfcFaceBound >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_tc1::IfcTextureMap::list::ptr Ifc4x3_tc1::IfcFace::HasTextureMaps() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[1193], 2)->as(); } @@ -10975,29 +10975,29 @@ void Ifc4x3_tc1::IfcFace::setBounds(aggregate_of< ::Ifc4x3_tc1::IfcFaceBound >:: const IfcParse::entity& Ifc4x3_tc1::IfcFace::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[433]); } const IfcParse::entity& Ifc4x3_tc1::IfcFace::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[433]); } Ifc4x3_tc1::IfcFace::IfcFace(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcFace::IfcFace(aggregate_of< ::Ifc4x3_tc1::IfcFaceBound >::ptr v1_Bounds) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Bounds)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcFace::IfcFace(aggregate_of< ::Ifc4x3_tc1::IfcFaceBound >::ptr v1_Bounds) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Bounds)->generalize());; populate_derived(); } // Function implementations for IfcFaceBasedSurfaceModel -aggregate_of< ::Ifc4x3_tc1::IfcConnectedFaceSet >::ptr Ifc4x3_tc1::IfcFaceBasedSurfaceModel::FbsmFaces() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcConnectedFaceSet >(); } +aggregate_of< ::Ifc4x3_tc1::IfcConnectedFaceSet >::ptr Ifc4x3_tc1::IfcFaceBasedSurfaceModel::FbsmFaces() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcConnectedFaceSet >(); } void Ifc4x3_tc1::IfcFaceBasedSurfaceModel::setFbsmFaces(aggregate_of< ::Ifc4x3_tc1::IfcConnectedFaceSet >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_tc1::IfcFaceBasedSurfaceModel::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[434]); } const IfcParse::entity& Ifc4x3_tc1::IfcFaceBasedSurfaceModel::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[434]); } Ifc4x3_tc1::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(aggregate_of< ::Ifc4x3_tc1::IfcConnectedFaceSet >::ptr v1_FbsmFaces) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_FbsmFaces)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcFaceBasedSurfaceModel::IfcFaceBasedSurfaceModel(aggregate_of< ::Ifc4x3_tc1::IfcConnectedFaceSet >::ptr v1_FbsmFaces) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_FbsmFaces)->generalize());; populate_derived(); } // Function implementations for IfcFaceBound -::Ifc4x3_tc1::IfcLoop* Ifc4x3_tc1::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcLoop>(true); } +::Ifc4x3_tc1::IfcLoop* Ifc4x3_tc1::IfcFaceBound::Bound() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcLoop>(true); } void Ifc4x3_tc1::IfcFaceBound::setBound(::Ifc4x3_tc1::IfcLoop* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -bool Ifc4x3_tc1::IfcFaceBound::Orientation() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x3_tc1::IfcFaceBound::Orientation() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcFaceBound::setOrientation(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcFaceBound::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[435]); } const IfcParse::entity& Ifc4x3_tc1::IfcFaceBound::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[435]); } Ifc4x3_tc1::IfcFaceBound::IfcFaceBound(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcFaceBound::IfcFaceBound(::Ifc4x3_tc1::IfcLoop* v1_Bound, bool v2_Orientation) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } +Ifc4x3_tc1::IfcFaceBound::IfcFaceBound(::Ifc4x3_tc1::IfcLoop* v1_Bound, bool v2_Orientation) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } // Function implementations for IfcFaceOuterBound @@ -11005,19 +11005,19 @@ Ifc4x3_tc1::IfcFaceBound::IfcFaceBound(::Ifc4x3_tc1::IfcLoop* v1_Bound, bool v2_ const IfcParse::entity& Ifc4x3_tc1::IfcFaceOuterBound::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[436]); } const IfcParse::entity& Ifc4x3_tc1::IfcFaceOuterBound::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[436]); } Ifc4x3_tc1::IfcFaceOuterBound::IfcFaceOuterBound(IfcEntityInstanceData&& e) : IfcFaceBound(std::move(e)) { } -Ifc4x3_tc1::IfcFaceOuterBound::IfcFaceOuterBound(::Ifc4x3_tc1::IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } +Ifc4x3_tc1::IfcFaceOuterBound::IfcFaceOuterBound(::Ifc4x3_tc1::IfcLoop* v1_Bound, bool v2_Orientation) : IfcFaceBound(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Bound ? v1_Bound->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Orientation));; populate_derived(); } // Function implementations for IfcFaceSurface -::Ifc4x3_tc1::IfcSurface* Ifc4x3_tc1::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcSurface>(true); } +::Ifc4x3_tc1::IfcSurface* Ifc4x3_tc1::IfcFaceSurface::FaceSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcSurface>(true); } void Ifc4x3_tc1::IfcFaceSurface::setFaceSurface(::Ifc4x3_tc1::IfcSurface* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -bool Ifc4x3_tc1::IfcFaceSurface::SameSense() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x3_tc1::IfcFaceSurface::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcFaceSurface::setSameSense(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcFaceSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[437]); } const IfcParse::entity& Ifc4x3_tc1::IfcFaceSurface::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[437]); } Ifc4x3_tc1::IfcFaceSurface::IfcFaceSurface(IfcEntityInstanceData&& e) : IfcFace(std::move(e)) { } -Ifc4x3_tc1::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc4x3_tc1::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_tc1::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFace(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } +Ifc4x3_tc1::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc4x3_tc1::IfcFaceBound >::ptr v1_Bounds, ::Ifc4x3_tc1::IfcSurface* v2_FaceSurface, bool v3_SameSense) : IfcFace(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Bounds)->generalize());set_attribute_value(1, v2_FaceSurface ? v2_FaceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } // Function implementations for IfcFacetedBrep @@ -11025,17 +11025,17 @@ Ifc4x3_tc1::IfcFaceSurface::IfcFaceSurface(aggregate_of< ::Ifc4x3_tc1::IfcFaceBo const IfcParse::entity& Ifc4x3_tc1::IfcFacetedBrep::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[438]); } const IfcParse::entity& Ifc4x3_tc1::IfcFacetedBrep::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[438]); } Ifc4x3_tc1::IfcFacetedBrep::IfcFacetedBrep(IfcEntityInstanceData&& e) : IfcManifoldSolidBrep(std::move(e)) { } -Ifc4x3_tc1::IfcFacetedBrep::IfcFacetedBrep(::Ifc4x3_tc1::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcFacetedBrep::IfcFacetedBrep(::Ifc4x3_tc1::IfcClosedShell* v1_Outer) : IfcManifoldSolidBrep(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcFacetedBrepWithVoids -aggregate_of< ::Ifc4x3_tc1::IfcClosedShell >::ptr Ifc4x3_tc1::IfcFacetedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcClosedShell >(); } +aggregate_of< ::Ifc4x3_tc1::IfcClosedShell >::ptr Ifc4x3_tc1::IfcFacetedBrepWithVoids::Voids() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcClosedShell >(); } void Ifc4x3_tc1::IfcFacetedBrepWithVoids::setVoids(aggregate_of< ::Ifc4x3_tc1::IfcClosedShell >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcFacetedBrepWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[439]); } const IfcParse::entity& Ifc4x3_tc1::IfcFacetedBrepWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[439]); } Ifc4x3_tc1::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(IfcEntityInstanceData&& e) : IfcFacetedBrep(std::move(e)) { } -Ifc4x3_tc1::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4x3_tc1::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3_tc1::IfcClosedShell >::ptr v2_Voids) : IfcFacetedBrep(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4x3_tc1::IfcClosedShell* v1_Outer, aggregate_of< ::Ifc4x3_tc1::IfcClosedShell >::ptr v2_Voids) : IfcFacetedBrep(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Voids)->generalize());; populate_derived(); } // Function implementations for IfcFacility @@ -11043,87 +11043,87 @@ Ifc4x3_tc1::IfcFacetedBrepWithVoids::IfcFacetedBrepWithVoids(::Ifc4x3_tc1::IfcCl const IfcParse::entity& Ifc4x3_tc1::IfcFacility::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[440]); } const IfcParse::entity& Ifc4x3_tc1::IfcFacility::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[440]); } Ifc4x3_tc1::IfcFacility::IfcFacility(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x3_tc1::IfcFacility::IfcFacility(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } +Ifc4x3_tc1::IfcFacility::IfcFacility(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } // Function implementations for IfcFacilityPart -::Ifc4x3_tc1::IfcFacilityUsageEnum::Value Ifc4x3_tc1::IfcFacilityPart::UsageType() const { return ::Ifc4x3_tc1::IfcFacilityUsageEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcFacilityUsageEnum::Value Ifc4x3_tc1::IfcFacilityPart::UsageType() const { return ::Ifc4x3_tc1::IfcFacilityUsageEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcFacilityPart::setUsageType(::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcFacilityUsageEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcFacilityPart::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[441]); } const IfcParse::entity& Ifc4x3_tc1::IfcFacilityPart::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[441]); } Ifc4x3_tc1::IfcFacilityPart::IfcFacilityPart(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x3_tc1::IfcFacilityPart::IfcFacilityPart(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType)));; populate_derived(); } +Ifc4x3_tc1::IfcFacilityPart::IfcFacilityPart(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType)));; populate_derived(); } // Function implementations for IfcFacilityPartCommon -boost::optional< ::Ifc4x3_tc1::IfcFacilityPartCommonTypeEnum::Value > Ifc4x3_tc1::IfcFacilityPartCommon::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcFacilityPartCommonTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_tc1::IfcFacilityPartCommonTypeEnum::Value > Ifc4x3_tc1::IfcFacilityPartCommon::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcFacilityPartCommonTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_tc1::IfcFacilityPartCommon::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcFacilityPartCommonTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_tc1::IfcFacilityPartCommonTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_tc1::IfcFacilityPartCommon::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[442]); } const IfcParse::entity& Ifc4x3_tc1::IfcFacilityPartCommon::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[442]); } Ifc4x3_tc1::IfcFacilityPartCommon::IfcFacilityPartCommon(IfcEntityInstanceData&& e) : IfcFacilityPart(std::move(e)) { } -Ifc4x3_tc1::IfcFacilityPartCommon::IfcFacilityPartCommon(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3_tc1::IfcFacilityPartCommonTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcFacilityPartCommonTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcFacilityPartCommon::IfcFacilityPartCommon(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3_tc1::IfcFacilityPartCommonTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcFacilityPartCommonTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFailureConnectionCondition -boost::optional< double > Ifc4x3_tc1::IfcFailureConnectionCondition::TensionFailureX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_tc1::IfcFailureConnectionCondition::TensionFailureX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcFailureConnectionCondition::setTensionFailureX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_tc1::IfcFailureConnectionCondition::TensionFailureY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_tc1::IfcFailureConnectionCondition::TensionFailureY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcFailureConnectionCondition::setTensionFailureY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_tc1::IfcFailureConnectionCondition::TensionFailureZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_tc1::IfcFailureConnectionCondition::TensionFailureZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcFailureConnectionCondition::setTensionFailureZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_tc1::IfcFailureConnectionCondition::CompressionFailureX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_tc1::IfcFailureConnectionCondition::CompressionFailureX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcFailureConnectionCondition::setCompressionFailureX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_tc1::IfcFailureConnectionCondition::CompressionFailureY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_tc1::IfcFailureConnectionCondition::CompressionFailureY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcFailureConnectionCondition::setCompressionFailureY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_tc1::IfcFailureConnectionCondition::CompressionFailureZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_tc1::IfcFailureConnectionCondition::CompressionFailureZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcFailureConnectionCondition::setCompressionFailureZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_tc1::IfcFailureConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[445]); } const IfcParse::entity& Ifc4x3_tc1::IfcFailureConnectionCondition::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[445]); } Ifc4x3_tc1::IfcFailureConnectionCondition::IfcFailureConnectionCondition(IfcEntityInstanceData&& e) : IfcStructuralConnectionCondition(std::move(e)) { } -Ifc4x3_tc1::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; populate_derived(); } +Ifc4x3_tc1::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_TensionFailureX) {set_attribute_value(1, (*v2_TensionFailureX)); } if (v3_TensionFailureY) {set_attribute_value(2, (*v3_TensionFailureY)); } if (v4_TensionFailureZ) {set_attribute_value(3, (*v4_TensionFailureZ)); } if (v5_CompressionFailureX) {set_attribute_value(4, (*v5_CompressionFailureX)); } if (v6_CompressionFailureY) {set_attribute_value(5, (*v6_CompressionFailureY)); } if (v7_CompressionFailureZ) {set_attribute_value(6, (*v7_CompressionFailureZ)); }; populate_derived(); } // Function implementations for IfcFan -boost::optional< ::Ifc4x3_tc1::IfcFanTypeEnum::Value > Ifc4x3_tc1::IfcFan::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcFanTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcFanTypeEnum::Value > Ifc4x3_tc1::IfcFan::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcFanTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcFan::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcFanTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcFanTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcFan::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[446]); } const IfcParse::entity& Ifc4x3_tc1::IfcFan::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[446]); } Ifc4x3_tc1::IfcFan::IfcFan(IfcEntityInstanceData&& e) : IfcFlowMovingDevice(std::move(e)) { } -Ifc4x3_tc1::IfcFan::IfcFan(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcFanTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcFan::IfcFan(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcFanTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcFanTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFanType -::Ifc4x3_tc1::IfcFanTypeEnum::Value Ifc4x3_tc1::IfcFanType::PredefinedType() const { return ::Ifc4x3_tc1::IfcFanTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcFanTypeEnum::Value Ifc4x3_tc1::IfcFanType::PredefinedType() const { return ::Ifc4x3_tc1::IfcFanTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcFanType::setPredefinedType(::Ifc4x3_tc1::IfcFanTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcFanTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcFanType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[447]); } const IfcParse::entity& Ifc4x3_tc1::IfcFanType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[447]); } Ifc4x3_tc1::IfcFanType::IfcFanType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(e)) { } -Ifc4x3_tc1::IfcFanType::IfcFanType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFanTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcFanType::IfcFanType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFanTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcFanTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFastener -boost::optional< ::Ifc4x3_tc1::IfcFastenerTypeEnum::Value > Ifc4x3_tc1::IfcFastener::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcFastenerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcFastenerTypeEnum::Value > Ifc4x3_tc1::IfcFastener::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcFastenerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcFastener::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcFastenerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcFastenerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcFastener::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[449]); } const IfcParse::entity& Ifc4x3_tc1::IfcFastener::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[449]); } Ifc4x3_tc1::IfcFastener::IfcFastener(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_tc1::IfcFastener::IfcFastener(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcFastenerTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcFastener::IfcFastener(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcFastenerTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcFastenerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFastenerType -::Ifc4x3_tc1::IfcFastenerTypeEnum::Value Ifc4x3_tc1::IfcFastenerType::PredefinedType() const { return ::Ifc4x3_tc1::IfcFastenerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcFastenerTypeEnum::Value Ifc4x3_tc1::IfcFastenerType::PredefinedType() const { return ::Ifc4x3_tc1::IfcFastenerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcFastenerType::setPredefinedType(::Ifc4x3_tc1::IfcFastenerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcFastenerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcFastenerType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[450]); } const IfcParse::entity& Ifc4x3_tc1::IfcFastenerType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[450]); } Ifc4x3_tc1::IfcFastenerType::IfcFastenerType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_tc1::IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFastenerTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFastenerTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcFastenerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFeatureElement @@ -11131,7 +11131,7 @@ Ifc4x3_tc1::IfcFastenerType::IfcFastenerType(std::string v1_GlobalId, ::Ifc4x3_t const IfcParse::entity& Ifc4x3_tc1::IfcFeatureElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[452]); } const IfcParse::entity& Ifc4x3_tc1::IfcFeatureElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[452]); } Ifc4x3_tc1::IfcFeatureElement::IfcFeatureElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_tc1::IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_tc1::IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFeatureElementAddition @@ -11140,7 +11140,7 @@ Ifc4x3_tc1::IfcFeatureElement::IfcFeatureElement(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3_tc1::IfcFeatureElementAddition::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[453]); } const IfcParse::entity& Ifc4x3_tc1::IfcFeatureElementAddition::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[453]); } Ifc4x3_tc1::IfcFeatureElementAddition::IfcFeatureElementAddition(IfcEntityInstanceData&& e) : IfcFeatureElement(std::move(e)) { } -Ifc4x3_tc1::IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_tc1::IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFeatureElementSubtraction @@ -11149,101 +11149,101 @@ Ifc4x3_tc1::IfcFeatureElementAddition::IfcFeatureElementAddition(std::string v1_ const IfcParse::entity& Ifc4x3_tc1::IfcFeatureElementSubtraction::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[454]); } const IfcParse::entity& Ifc4x3_tc1::IfcFeatureElementSubtraction::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[454]); } Ifc4x3_tc1::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(IfcEntityInstanceData&& e) : IfcFeatureElement(std::move(e)) { } -Ifc4x3_tc1::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_tc1::IfcFeatureElementSubtraction::IfcFeatureElementSubtraction(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcFeatureElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFillAreaStyle -aggregate_of< ::Ifc4x3_tc1::IfcFillStyleSelect >::ptr Ifc4x3_tc1::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcFillStyleSelect >(); } +aggregate_of< ::Ifc4x3_tc1::IfcFillStyleSelect >::ptr Ifc4x3_tc1::IfcFillAreaStyle::FillStyles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcFillStyleSelect >(); } void Ifc4x3_tc1::IfcFillAreaStyle::setFillStyles(aggregate_of< ::Ifc4x3_tc1::IfcFillStyleSelect >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< bool > Ifc4x3_tc1::IfcFillAreaStyle::ModelOrDraughting() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } bool v = data_.get_attribute_value(2); return v; } +boost::optional< bool > Ifc4x3_tc1::IfcFillAreaStyle::ModelOrDraughting() const { if(get_attribute_value(2).isNull()) { return boost::none; } bool v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcFillAreaStyle::setModelOrDraughting(boost::optional< bool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_tc1::IfcFillAreaStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[455]); } const IfcParse::entity& Ifc4x3_tc1::IfcFillAreaStyle::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[455]); } Ifc4x3_tc1::IfcFillAreaStyle::IfcFillAreaStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x3_tc1::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_tc1::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_FillStyles)->generalize()); if (v3_ModelOrDraughting) {set_attribute_value(2, (*v3_ModelOrDraughting)); }; populate_derived(); } +Ifc4x3_tc1::IfcFillAreaStyle::IfcFillAreaStyle(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_tc1::IfcFillStyleSelect >::ptr v2_FillStyles, boost::optional< bool > v3_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_FillStyles)->generalize()); if (v3_ModelOrDraughting) {set_attribute_value(2, (*v3_ModelOrDraughting)); }; populate_derived(); } // Function implementations for IfcFillAreaStyleHatching -::Ifc4x3_tc1::IfcCurveStyle* Ifc4x3_tc1::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCurveStyle>(true); } +::Ifc4x3_tc1::IfcCurveStyle* Ifc4x3_tc1::IfcFillAreaStyleHatching::HatchLineAppearance() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCurveStyle>(true); } void Ifc4x3_tc1::IfcFillAreaStyleHatching::setHatchLineAppearance(::Ifc4x3_tc1::IfcCurveStyle* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_tc1::IfcHatchLineDistanceSelect* Ifc4x3_tc1::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcHatchLineDistanceSelect>(true); } +::Ifc4x3_tc1::IfcHatchLineDistanceSelect* Ifc4x3_tc1::IfcFillAreaStyleHatching::StartOfNextHatchLine() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcHatchLineDistanceSelect>(true); } void Ifc4x3_tc1::IfcFillAreaStyleHatching::setStartOfNextHatchLine(::Ifc4x3_tc1::IfcHatchLineDistanceSelect* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_tc1::IfcCartesianPoint* Ifc4x3_tc1::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcCartesianPoint>(true); } +::Ifc4x3_tc1::IfcCartesianPoint* Ifc4x3_tc1::IfcFillAreaStyleHatching::PointOfReferenceHatchLine() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcCartesianPoint>(true); } void Ifc4x3_tc1::IfcFillAreaStyleHatching::setPointOfReferenceHatchLine(::Ifc4x3_tc1::IfcCartesianPoint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_tc1::IfcCartesianPoint* Ifc4x3_tc1::IfcFillAreaStyleHatching::PatternStart() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcCartesianPoint>(true); } +::Ifc4x3_tc1::IfcCartesianPoint* Ifc4x3_tc1::IfcFillAreaStyleHatching::PatternStart() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcCartesianPoint>(true); } void Ifc4x3_tc1::IfcFillAreaStyleHatching::setPatternStart(::Ifc4x3_tc1::IfcCartesianPoint* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_tc1::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_tc1::IfcFillAreaStyleHatching::HatchLineAngle() const { double v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcFillAreaStyleHatching::setHatchLineAngle(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_tc1::IfcFillAreaStyleHatching::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[456]); } const IfcParse::entity& Ifc4x3_tc1::IfcFillAreaStyleHatching::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[456]); } Ifc4x3_tc1::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(::Ifc4x3_tc1::IfcCurveStyle* v1_HatchLineAppearance, ::Ifc4x3_tc1::IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, ::Ifc4x3_tc1::IfcCartesianPoint* v3_PointOfReferenceHatchLine, ::Ifc4x3_tc1::IfcCartesianPoint* v4_PatternStart, double v5_HatchLineAngle) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_HatchLineAppearance ? v1_HatchLineAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_StartOfNextHatchLine ? v2_StartOfNextHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PointOfReferenceHatchLine ? v3_PointOfReferenceHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PatternStart ? v4_PatternStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_HatchLineAngle));; populate_derived(); } +Ifc4x3_tc1::IfcFillAreaStyleHatching::IfcFillAreaStyleHatching(::Ifc4x3_tc1::IfcCurveStyle* v1_HatchLineAppearance, ::Ifc4x3_tc1::IfcHatchLineDistanceSelect* v2_StartOfNextHatchLine, ::Ifc4x3_tc1::IfcCartesianPoint* v3_PointOfReferenceHatchLine, ::Ifc4x3_tc1::IfcCartesianPoint* v4_PatternStart, double v5_HatchLineAngle) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_HatchLineAppearance ? v1_HatchLineAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_StartOfNextHatchLine ? v2_StartOfNextHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PointOfReferenceHatchLine ? v3_PointOfReferenceHatchLine->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PatternStart ? v4_PatternStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_HatchLineAngle));; populate_derived(); } // Function implementations for IfcFillAreaStyleTiles -aggregate_of< ::Ifc4x3_tc1::IfcVector >::ptr Ifc4x3_tc1::IfcFillAreaStyleTiles::TilingPattern() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcVector >(); } +aggregate_of< ::Ifc4x3_tc1::IfcVector >::ptr Ifc4x3_tc1::IfcFillAreaStyleTiles::TilingPattern() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcVector >(); } void Ifc4x3_tc1::IfcFillAreaStyleTiles::setTilingPattern(aggregate_of< ::Ifc4x3_tc1::IfcVector >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_tc1::IfcStyledItem >::ptr Ifc4x3_tc1::IfcFillAreaStyleTiles::Tiles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcStyledItem >(); } +aggregate_of< ::Ifc4x3_tc1::IfcStyledItem >::ptr Ifc4x3_tc1::IfcFillAreaStyleTiles::Tiles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcStyledItem >(); } void Ifc4x3_tc1::IfcFillAreaStyleTiles::setTiles(aggregate_of< ::Ifc4x3_tc1::IfcStyledItem >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_tc1::IfcFillAreaStyleTiles::TilingScale() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_tc1::IfcFillAreaStyleTiles::TilingScale() const { double v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcFillAreaStyleTiles::setTilingScale(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcFillAreaStyleTiles::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[457]); } const IfcParse::entity& Ifc4x3_tc1::IfcFillAreaStyleTiles::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[457]); } Ifc4x3_tc1::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(aggregate_of< ::Ifc4x3_tc1::IfcVector >::ptr v1_TilingPattern, aggregate_of< ::Ifc4x3_tc1::IfcStyledItem >::ptr v2_Tiles, double v3_TilingScale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_TilingPattern)->generalize());set_attribute_value(1, (v2_Tiles)->generalize());set_attribute_value(2, (v3_TilingScale));; populate_derived(); } +Ifc4x3_tc1::IfcFillAreaStyleTiles::IfcFillAreaStyleTiles(aggregate_of< ::Ifc4x3_tc1::IfcVector >::ptr v1_TilingPattern, aggregate_of< ::Ifc4x3_tc1::IfcStyledItem >::ptr v2_Tiles, double v3_TilingScale) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_TilingPattern)->generalize());set_attribute_value(1, (v2_Tiles)->generalize());set_attribute_value(2, (v3_TilingScale));; populate_derived(); } // Function implementations for IfcFilter -boost::optional< ::Ifc4x3_tc1::IfcFilterTypeEnum::Value > Ifc4x3_tc1::IfcFilter::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcFilterTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcFilterTypeEnum::Value > Ifc4x3_tc1::IfcFilter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcFilterTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcFilter::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcFilterTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcFilterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcFilter::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[459]); } const IfcParse::entity& Ifc4x3_tc1::IfcFilter::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[459]); } Ifc4x3_tc1::IfcFilter::IfcFilter(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4x3_tc1::IfcFilter::IfcFilter(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcFilterTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcFilter::IfcFilter(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcFilterTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcFilterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFilterType -::Ifc4x3_tc1::IfcFilterTypeEnum::Value Ifc4x3_tc1::IfcFilterType::PredefinedType() const { return ::Ifc4x3_tc1::IfcFilterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcFilterTypeEnum::Value Ifc4x3_tc1::IfcFilterType::PredefinedType() const { return ::Ifc4x3_tc1::IfcFilterTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcFilterType::setPredefinedType(::Ifc4x3_tc1::IfcFilterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcFilterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcFilterType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[460]); } const IfcParse::entity& Ifc4x3_tc1::IfcFilterType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[460]); } Ifc4x3_tc1::IfcFilterType::IfcFilterType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4x3_tc1::IfcFilterType::IfcFilterType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFilterTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcFilterType::IfcFilterType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFilterTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcFilterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFireSuppressionTerminal -boost::optional< ::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x3_tc1::IfcFireSuppressionTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Value > Ifc4x3_tc1::IfcFireSuppressionTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcFireSuppressionTerminal::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcFireSuppressionTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[462]); } const IfcParse::entity& Ifc4x3_tc1::IfcFireSuppressionTerminal::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[462]); } Ifc4x3_tc1::IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_tc1::IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcFireSuppressionTerminal::IfcFireSuppressionTerminal(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFireSuppressionTerminalType -::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3_tc1::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Value Ifc4x3_tc1::IfcFireSuppressionTerminalType::PredefinedType() const { return ::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcFireSuppressionTerminalType::setPredefinedType(::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcFireSuppressionTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[463]); } const IfcParse::entity& Ifc4x3_tc1::IfcFireSuppressionTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[463]); } Ifc4x3_tc1::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_tc1::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcFireSuppressionTerminalType::IfcFireSuppressionTerminalType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcFireSuppressionTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFixedReferenceSweptAreaSolid -::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcDirection>(true); } +::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcFixedReferenceSweptAreaSolid::FixedReference() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcDirection>(true); } void Ifc4x3_tc1::IfcFixedReferenceSweptAreaSolid::setFixedReference(::Ifc4x3_tc1::IfcDirection* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcFixedReferenceSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[465]); } const IfcParse::entity& Ifc4x3_tc1::IfcFixedReferenceSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[465]); } Ifc4x3_tc1::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(IfcEntityInstanceData&& e) : IfcDirectrixCurveSweptAreaSolid(std::move(e)) { } -Ifc4x3_tc1::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(::Ifc4x3_tc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_tc1::IfcCurve* v3_Directrix, ::Ifc4x3_tc1::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_tc1::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3_tc1::IfcDirection* v6_FixedReference) : IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_FixedReference ? v6_FixedReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(::Ifc4x3_tc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_tc1::IfcCurve* v3_Directrix, ::Ifc4x3_tc1::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_tc1::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3_tc1::IfcDirection* v6_FixedReference) : IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_FixedReference ? v6_FixedReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcFlowController @@ -11251,7 +11251,7 @@ Ifc4x3_tc1::IfcFixedReferenceSweptAreaSolid::IfcFixedReferenceSweptAreaSolid(::I const IfcParse::entity& Ifc4x3_tc1::IfcFlowController::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[466]); } const IfcParse::entity& Ifc4x3_tc1::IfcFlowController::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[466]); } Ifc4x3_tc1::IfcFlowController::IfcFlowController(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_tc1::IfcFlowController::IfcFlowController(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_tc1::IfcFlowController::IfcFlowController(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowControllerType @@ -11259,7 +11259,7 @@ Ifc4x3_tc1::IfcFlowController::IfcFlowController(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3_tc1::IfcFlowControllerType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[467]); } const IfcParse::entity& Ifc4x3_tc1::IfcFlowControllerType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[467]); } Ifc4x3_tc1::IfcFlowControllerType::IfcFlowControllerType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_tc1::IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_tc1::IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowFitting @@ -11267,7 +11267,7 @@ Ifc4x3_tc1::IfcFlowControllerType::IfcFlowControllerType(std::string v1_GlobalId const IfcParse::entity& Ifc4x3_tc1::IfcFlowFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[469]); } const IfcParse::entity& Ifc4x3_tc1::IfcFlowFitting::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[469]); } Ifc4x3_tc1::IfcFlowFitting::IfcFlowFitting(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_tc1::IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_tc1::IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowFittingType @@ -11275,47 +11275,47 @@ Ifc4x3_tc1::IfcFlowFitting::IfcFlowFitting(std::string v1_GlobalId, ::Ifc4x3_tc1 const IfcParse::entity& Ifc4x3_tc1::IfcFlowFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[470]); } const IfcParse::entity& Ifc4x3_tc1::IfcFlowFittingType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[470]); } Ifc4x3_tc1::IfcFlowFittingType::IfcFlowFittingType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_tc1::IfcFlowFittingType::IfcFlowFittingType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_tc1::IfcFlowFittingType::IfcFlowFittingType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowInstrument -boost::optional< ::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Value > Ifc4x3_tc1::IfcFlowInstrument::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Value > Ifc4x3_tc1::IfcFlowInstrument::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcFlowInstrument::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcFlowInstrument::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[471]); } const IfcParse::entity& Ifc4x3_tc1::IfcFlowInstrument::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[471]); } Ifc4x3_tc1::IfcFlowInstrument::IfcFlowInstrument(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_tc1::IfcFlowInstrument::IfcFlowInstrument(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcFlowInstrument::IfcFlowInstrument(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFlowInstrumentType -::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Value Ifc4x3_tc1::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Value Ifc4x3_tc1::IfcFlowInstrumentType::PredefinedType() const { return ::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcFlowInstrumentType::setPredefinedType(::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcFlowInstrumentType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[472]); } const IfcParse::entity& Ifc4x3_tc1::IfcFlowInstrumentType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[472]); } Ifc4x3_tc1::IfcFlowInstrumentType::IfcFlowInstrumentType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_tc1::IfcFlowInstrumentType::IfcFlowInstrumentType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcFlowInstrumentType::IfcFlowInstrumentType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcFlowInstrumentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFlowMeter -boost::optional< ::Ifc4x3_tc1::IfcFlowMeterTypeEnum::Value > Ifc4x3_tc1::IfcFlowMeter::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcFlowMeterTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcFlowMeterTypeEnum::Value > Ifc4x3_tc1::IfcFlowMeter::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcFlowMeterTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcFlowMeter::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcFlowMeterTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcFlowMeterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcFlowMeter::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[474]); } const IfcParse::entity& Ifc4x3_tc1::IfcFlowMeter::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[474]); } Ifc4x3_tc1::IfcFlowMeter::IfcFlowMeter(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_tc1::IfcFlowMeter::IfcFlowMeter(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcFlowMeter::IfcFlowMeter(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcFlowMeterTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcFlowMeterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFlowMeterType -::Ifc4x3_tc1::IfcFlowMeterTypeEnum::Value Ifc4x3_tc1::IfcFlowMeterType::PredefinedType() const { return ::Ifc4x3_tc1::IfcFlowMeterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcFlowMeterTypeEnum::Value Ifc4x3_tc1::IfcFlowMeterType::PredefinedType() const { return ::Ifc4x3_tc1::IfcFlowMeterTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcFlowMeterType::setPredefinedType(::Ifc4x3_tc1::IfcFlowMeterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcFlowMeterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcFlowMeterType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[475]); } const IfcParse::entity& Ifc4x3_tc1::IfcFlowMeterType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[475]); } Ifc4x3_tc1::IfcFlowMeterType::IfcFlowMeterType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_tc1::IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFlowMeterTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFlowMeterTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcFlowMeterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFlowMovingDevice @@ -11323,7 +11323,7 @@ Ifc4x3_tc1::IfcFlowMeterType::IfcFlowMeterType(std::string v1_GlobalId, ::Ifc4x3 const IfcParse::entity& Ifc4x3_tc1::IfcFlowMovingDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[477]); } const IfcParse::entity& Ifc4x3_tc1::IfcFlowMovingDevice::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[477]); } Ifc4x3_tc1::IfcFlowMovingDevice::IfcFlowMovingDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_tc1::IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_tc1::IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowMovingDeviceType @@ -11331,7 +11331,7 @@ Ifc4x3_tc1::IfcFlowMovingDevice::IfcFlowMovingDevice(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x3_tc1::IfcFlowMovingDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[478]); } const IfcParse::entity& Ifc4x3_tc1::IfcFlowMovingDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[478]); } Ifc4x3_tc1::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_tc1::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_tc1::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowSegment @@ -11339,7 +11339,7 @@ Ifc4x3_tc1::IfcFlowMovingDeviceType::IfcFlowMovingDeviceType(std::string v1_Glob const IfcParse::entity& Ifc4x3_tc1::IfcFlowSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[479]); } const IfcParse::entity& Ifc4x3_tc1::IfcFlowSegment::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[479]); } Ifc4x3_tc1::IfcFlowSegment::IfcFlowSegment(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_tc1::IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_tc1::IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowSegmentType @@ -11347,7 +11347,7 @@ Ifc4x3_tc1::IfcFlowSegment::IfcFlowSegment(std::string v1_GlobalId, ::Ifc4x3_tc1 const IfcParse::entity& Ifc4x3_tc1::IfcFlowSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[480]); } const IfcParse::entity& Ifc4x3_tc1::IfcFlowSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[480]); } Ifc4x3_tc1::IfcFlowSegmentType::IfcFlowSegmentType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_tc1::IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_tc1::IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowStorageDevice @@ -11355,7 +11355,7 @@ Ifc4x3_tc1::IfcFlowSegmentType::IfcFlowSegmentType(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x3_tc1::IfcFlowStorageDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[481]); } const IfcParse::entity& Ifc4x3_tc1::IfcFlowStorageDevice::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[481]); } Ifc4x3_tc1::IfcFlowStorageDevice::IfcFlowStorageDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_tc1::IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_tc1::IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowStorageDeviceType @@ -11363,7 +11363,7 @@ Ifc4x3_tc1::IfcFlowStorageDevice::IfcFlowStorageDevice(std::string v1_GlobalId, const IfcParse::entity& Ifc4x3_tc1::IfcFlowStorageDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[482]); } const IfcParse::entity& Ifc4x3_tc1::IfcFlowStorageDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[482]); } Ifc4x3_tc1::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_tc1::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_tc1::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowTerminal @@ -11371,7 +11371,7 @@ Ifc4x3_tc1::IfcFlowStorageDeviceType::IfcFlowStorageDeviceType(std::string v1_Gl const IfcParse::entity& Ifc4x3_tc1::IfcFlowTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[483]); } const IfcParse::entity& Ifc4x3_tc1::IfcFlowTerminal::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[483]); } Ifc4x3_tc1::IfcFlowTerminal::IfcFlowTerminal(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_tc1::IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_tc1::IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowTerminalType @@ -11379,7 +11379,7 @@ Ifc4x3_tc1::IfcFlowTerminal::IfcFlowTerminal(std::string v1_GlobalId, ::Ifc4x3_t const IfcParse::entity& Ifc4x3_tc1::IfcFlowTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[484]); } const IfcParse::entity& Ifc4x3_tc1::IfcFlowTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[484]); } Ifc4x3_tc1::IfcFlowTerminalType::IfcFlowTerminalType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_tc1::IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_tc1::IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFlowTreatmentDevice @@ -11387,7 +11387,7 @@ Ifc4x3_tc1::IfcFlowTerminalType::IfcFlowTerminalType(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x3_tc1::IfcFlowTreatmentDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[485]); } const IfcParse::entity& Ifc4x3_tc1::IfcFlowTreatmentDevice::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[485]); } Ifc4x3_tc1::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(IfcEntityInstanceData&& e) : IfcDistributionFlowElement(std::move(e)) { } -Ifc4x3_tc1::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_tc1::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcDistributionFlowElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFlowTreatmentDeviceType @@ -11395,27 +11395,27 @@ Ifc4x3_tc1::IfcFlowTreatmentDevice::IfcFlowTreatmentDevice(std::string v1_Global const IfcParse::entity& Ifc4x3_tc1::IfcFlowTreatmentDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[486]); } const IfcParse::entity& Ifc4x3_tc1::IfcFlowTreatmentDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[486]); } Ifc4x3_tc1::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(IfcEntityInstanceData&& e) : IfcDistributionFlowElementType(std::move(e)) { } -Ifc4x3_tc1::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_tc1::IfcFlowTreatmentDeviceType::IfcFlowTreatmentDeviceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcDistributionFlowElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFooting -boost::optional< ::Ifc4x3_tc1::IfcFootingTypeEnum::Value > Ifc4x3_tc1::IfcFooting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcFootingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcFootingTypeEnum::Value > Ifc4x3_tc1::IfcFooting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcFootingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcFooting::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcFootingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcFootingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcFooting::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[490]); } const IfcParse::entity& Ifc4x3_tc1::IfcFooting::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[490]); } Ifc4x3_tc1::IfcFooting::IfcFooting(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_tc1::IfcFooting::IfcFooting(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcFootingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcFooting::IfcFooting(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcFootingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcFootingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFootingType -::Ifc4x3_tc1::IfcFootingTypeEnum::Value Ifc4x3_tc1::IfcFootingType::PredefinedType() const { return ::Ifc4x3_tc1::IfcFootingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcFootingTypeEnum::Value Ifc4x3_tc1::IfcFootingType::PredefinedType() const { return ::Ifc4x3_tc1::IfcFootingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcFootingType::setPredefinedType(::Ifc4x3_tc1::IfcFootingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcFootingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcFootingType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[491]); } const IfcParse::entity& Ifc4x3_tc1::IfcFootingType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[491]); } Ifc4x3_tc1::IfcFootingType::IfcFootingType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_tc1::IfcFootingType::IfcFootingType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFootingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcFootingType::IfcFootingType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcFootingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcFootingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcFurnishingElement @@ -11423,7 +11423,7 @@ Ifc4x3_tc1::IfcFootingType::IfcFootingType(std::string v1_GlobalId, ::Ifc4x3_tc1 const IfcParse::entity& Ifc4x3_tc1::IfcFurnishingElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[495]); } const IfcParse::entity& Ifc4x3_tc1::IfcFurnishingElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[495]); } Ifc4x3_tc1::IfcFurnishingElement::IfcFurnishingElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_tc1::IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_tc1::IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcFurnishingElementType @@ -11431,49 +11431,49 @@ Ifc4x3_tc1::IfcFurnishingElement::IfcFurnishingElement(std::string v1_GlobalId, const IfcParse::entity& Ifc4x3_tc1::IfcFurnishingElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[496]); } const IfcParse::entity& Ifc4x3_tc1::IfcFurnishingElementType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[496]); } Ifc4x3_tc1::IfcFurnishingElementType::IfcFurnishingElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_tc1::IfcFurnishingElementType::IfcFurnishingElementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_tc1::IfcFurnishingElementType::IfcFurnishingElementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcFurniture -boost::optional< ::Ifc4x3_tc1::IfcFurnitureTypeEnum::Value > Ifc4x3_tc1::IfcFurniture::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcFurnitureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcFurnitureTypeEnum::Value > Ifc4x3_tc1::IfcFurniture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcFurnitureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcFurniture::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcFurnitureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcFurnitureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcFurniture::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[497]); } const IfcParse::entity& Ifc4x3_tc1::IfcFurniture::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[497]); } Ifc4x3_tc1::IfcFurniture::IfcFurniture(IfcEntityInstanceData&& e) : IfcFurnishingElement(std::move(e)) { } -Ifc4x3_tc1::IfcFurniture::IfcFurniture(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcFurnitureTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcFurniture::IfcFurniture(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcFurnitureTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcFurnitureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcFurnitureType -::Ifc4x3_tc1::IfcAssemblyPlaceEnum::Value Ifc4x3_tc1::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x3_tc1::IfcAssemblyPlaceEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcAssemblyPlaceEnum::Value Ifc4x3_tc1::IfcFurnitureType::AssemblyPlace() const { return ::Ifc4x3_tc1::IfcAssemblyPlaceEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcFurnitureType::setAssemblyPlace(::Ifc4x3_tc1::IfcAssemblyPlaceEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcAssemblyPlaceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< ::Ifc4x3_tc1::IfcFurnitureTypeEnum::Value > Ifc4x3_tc1::IfcFurnitureType::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcFurnitureTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_tc1::IfcFurnitureTypeEnum::Value > Ifc4x3_tc1::IfcFurnitureType::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcFurnitureTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_tc1::IfcFurnitureType::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcFurnitureTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_tc1::IfcFurnitureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_tc1::IfcFurnitureType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[498]); } const IfcParse::entity& Ifc4x3_tc1::IfcFurnitureType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[498]); } Ifc4x3_tc1::IfcFurnitureType::IfcFurnitureType(IfcEntityInstanceData&& e) : IfcFurnishingElementType(std::move(e)) { } -Ifc4x3_tc1::IfcFurnitureType::IfcFurnitureType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, boost::optional< ::Ifc4x3_tc1::IfcFurnitureTypeEnum::Value > v11_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcFurnitureType::IfcFurnitureType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcAssemblyPlaceEnum::Value v10_AssemblyPlace, boost::optional< ::Ifc4x3_tc1::IfcFurnitureTypeEnum::Value > v11_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcAssemblyPlaceEnum::Class(),(size_t)v10_AssemblyPlace))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcFurnitureTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGeographicElement -boost::optional< ::Ifc4x3_tc1::IfcGeographicElementTypeEnum::Value > Ifc4x3_tc1::IfcGeographicElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcGeographicElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcGeographicElementTypeEnum::Value > Ifc4x3_tc1::IfcGeographicElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcGeographicElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcGeographicElement::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcGeographicElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcGeographicElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcGeographicElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[500]); } const IfcParse::entity& Ifc4x3_tc1::IfcGeographicElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[500]); } Ifc4x3_tc1::IfcGeographicElement::IfcGeographicElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_tc1::IfcGeographicElement::IfcGeographicElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) : IfcElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcGeographicElement::IfcGeographicElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcGeographicElementTypeEnum::Value > v9_PredefinedType) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcGeographicElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGeographicElementType -::Ifc4x3_tc1::IfcGeographicElementTypeEnum::Value Ifc4x3_tc1::IfcGeographicElementType::PredefinedType() const { return ::Ifc4x3_tc1::IfcGeographicElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcGeographicElementTypeEnum::Value Ifc4x3_tc1::IfcGeographicElementType::PredefinedType() const { return ::Ifc4x3_tc1::IfcGeographicElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcGeographicElementType::setPredefinedType(::Ifc4x3_tc1::IfcGeographicElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcGeographicElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcGeographicElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[501]); } const IfcParse::entity& Ifc4x3_tc1::IfcGeographicElementType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[501]); } Ifc4x3_tc1::IfcGeographicElementType::IfcGeographicElementType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_tc1::IfcGeographicElementType::IfcGeographicElementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcGeographicElementTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcGeographicElementType::IfcGeographicElementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcGeographicElementTypeEnum::Value v10_PredefinedType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcGeographicElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcGeometricCurveSet @@ -11481,16 +11481,16 @@ Ifc4x3_tc1::IfcGeographicElementType::IfcGeographicElementType(std::string v1_Gl const IfcParse::entity& Ifc4x3_tc1::IfcGeometricCurveSet::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[503]); } const IfcParse::entity& Ifc4x3_tc1::IfcGeometricCurveSet::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[503]); } Ifc4x3_tc1::IfcGeometricCurveSet::IfcGeometricCurveSet(IfcEntityInstanceData&& e) : IfcGeometricSet(std::move(e)) { } -Ifc4x3_tc1::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3_tc1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcGeometricCurveSet::IfcGeometricCurveSet(aggregate_of< ::Ifc4x3_tc1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } // Function implementations for IfcGeometricRepresentationContext -int Ifc4x3_tc1::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = data_.get_attribute_value(2); return v; } +int Ifc4x3_tc1::IfcGeometricRepresentationContext::CoordinateSpaceDimension() const { int v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcGeometricRepresentationContext::setCoordinateSpaceDimension(int v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4x3_tc1::IfcGeometricRepresentationContext::Precision() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_tc1::IfcGeometricRepresentationContext::Precision() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcGeometricRepresentationContext::setPrecision(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_tc1::IfcAxis2Placement* Ifc4x3_tc1::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcAxis2Placement>(true); } +::Ifc4x3_tc1::IfcAxis2Placement* Ifc4x3_tc1::IfcGeometricRepresentationContext::WorldCoordinateSystem() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcAxis2Placement>(true); } void Ifc4x3_tc1::IfcGeometricRepresentationContext::setWorldCoordinateSystem(::Ifc4x3_tc1::IfcAxis2Placement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcGeometricRepresentationContext::TrueNorth() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcDirection>(true); } +::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcGeometricRepresentationContext::TrueNorth() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcDirection>(true); } void Ifc4x3_tc1::IfcGeometricRepresentationContext::setTrueNorth(::Ifc4x3_tc1::IfcDirection* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc4x3_tc1::IfcGeometricRepresentationSubContext::list::ptr Ifc4x3_tc1::IfcGeometricRepresentationContext::HasSubContexts() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[507], 6)->as(); } @@ -11499,7 +11499,7 @@ void Ifc4x3_tc1::IfcGeometricRepresentationContext::setTrueNorth(::Ifc4x3_tc1::I const IfcParse::entity& Ifc4x3_tc1::IfcGeometricRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[505]); } const IfcParse::entity& Ifc4x3_tc1::IfcGeometricRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[505]); } Ifc4x3_tc1::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(IfcEntityInstanceData&& e) : IfcRepresentationContext(std::move(e)) { } -Ifc4x3_tc1::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, ::Ifc4x3_tc1::IfcAxis2Placement* v5_WorldCoordinateSystem, ::Ifc4x3_tc1::IfcDirection* v6_TrueNorth) : IfcRepresentationContext(IfcEntityInstanceData(storage_t(6))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, v5_WorldCoordinateSystem ? v5_WorldCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_TrueNorth ? v6_TrueNorth->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, int v3_CoordinateSpaceDimension, boost::optional< double > v4_Precision, ::Ifc4x3_tc1::IfcAxis2Placement* v5_WorldCoordinateSystem, ::Ifc4x3_tc1::IfcDirection* v6_TrueNorth) : IfcRepresentationContext(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(2, (v3_CoordinateSpaceDimension)); if (v4_Precision) {set_attribute_value(3, (*v4_Precision)); }set_attribute_value(4, v5_WorldCoordinateSystem ? v5_WorldCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_TrueNorth ? v6_TrueNorth->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcGeometricRepresentationItem @@ -11507,33 +11507,33 @@ Ifc4x3_tc1::IfcGeometricRepresentationContext::IfcGeometricRepresentationContext const IfcParse::entity& Ifc4x3_tc1::IfcGeometricRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[506]); } const IfcParse::entity& Ifc4x3_tc1::IfcGeometricRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[506]); } Ifc4x3_tc1::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_tc1::IfcGeometricRepresentationItem::IfcGeometricRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcGeometricRepresentationSubContext -::Ifc4x3_tc1::IfcGeometricRepresentationContext* Ifc4x3_tc1::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcGeometricRepresentationContext>(true); } +::Ifc4x3_tc1::IfcGeometricRepresentationContext* Ifc4x3_tc1::IfcGeometricRepresentationSubContext::ParentContext() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcGeometricRepresentationContext>(true); } void Ifc4x3_tc1::IfcGeometricRepresentationSubContext::setParentContext(::Ifc4x3_tc1::IfcGeometricRepresentationContext* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_tc1::IfcGeometricRepresentationSubContext::TargetScale() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_tc1::IfcGeometricRepresentationSubContext::TargetScale() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcGeometricRepresentationSubContext::setTargetScale(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_tc1::IfcGeometricProjectionEnum::Value Ifc4x3_tc1::IfcGeometricRepresentationSubContext::TargetView() const { return ::Ifc4x3_tc1::IfcGeometricProjectionEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_tc1::IfcGeometricProjectionEnum::Value Ifc4x3_tc1::IfcGeometricRepresentationSubContext::TargetView() const { return ::Ifc4x3_tc1::IfcGeometricProjectionEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcGeometricRepresentationSubContext::setTargetView(::Ifc4x3_tc1::IfcGeometricProjectionEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcGeometricProjectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -boost::optional< std::string > Ifc4x3_tc1::IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcGeometricRepresentationSubContext::UserDefinedTargetView() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_tc1::IfcGeometricRepresentationSubContext::setUserDefinedTargetView(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_tc1::IfcGeometricRepresentationSubContext::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[507]); } const IfcParse::entity& Ifc4x3_tc1::IfcGeometricRepresentationSubContext::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[507]); } Ifc4x3_tc1::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(IfcEntityInstanceData&& e) : IfcGeometricRepresentationContext(std::move(e)) { } -Ifc4x3_tc1::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x3_tc1::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x3_tc1::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext(IfcEntityInstanceData(storage_t(10))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, v7_ParentContext ? v7_ParentContext->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; populate_derived(); } +Ifc4x3_tc1::IfcGeometricRepresentationSubContext::IfcGeometricRepresentationSubContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType, ::Ifc4x3_tc1::IfcGeometricRepresentationContext* v7_ParentContext, boost::optional< double > v8_TargetScale, ::Ifc4x3_tc1::IfcGeometricProjectionEnum::Value v9_TargetView, boost::optional< std::string > v10_UserDefinedTargetView) : IfcGeometricRepresentationContext(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }set_attribute_value(6, v7_ParentContext ? v7_ParentContext->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_TargetScale) {set_attribute_value(7, (*v8_TargetScale)); }set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcGeometricProjectionEnum::Class(),(size_t)v9_TargetView))); if (v10_UserDefinedTargetView) {set_attribute_value(9, (*v10_UserDefinedTargetView)); }; populate_derived(); } // Function implementations for IfcGeometricSet -aggregate_of< ::Ifc4x3_tc1::IfcGeometricSetSelect >::ptr Ifc4x3_tc1::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcGeometricSetSelect >(); } +aggregate_of< ::Ifc4x3_tc1::IfcGeometricSetSelect >::ptr Ifc4x3_tc1::IfcGeometricSet::Elements() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcGeometricSetSelect >(); } void Ifc4x3_tc1::IfcGeometricSet::setElements(aggregate_of< ::Ifc4x3_tc1::IfcGeometricSetSelect >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_tc1::IfcGeometricSet::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[508]); } const IfcParse::entity& Ifc4x3_tc1::IfcGeometricSet::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[508]); } Ifc4x3_tc1::IfcGeometricSet::IfcGeometricSet(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_tc1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_tc1::IfcGeometricSetSelect >::ptr v1_Elements) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Elements)->generalize());; populate_derived(); } // Function implementations for IfcGeomodel @@ -11541,7 +11541,7 @@ Ifc4x3_tc1::IfcGeometricSet::IfcGeometricSet(aggregate_of< ::Ifc4x3_tc1::IfcGeom const IfcParse::entity& Ifc4x3_tc1::IfcGeomodel::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[510]); } const IfcParse::entity& Ifc4x3_tc1::IfcGeomodel::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[510]); } Ifc4x3_tc1::IfcGeomodel::IfcGeomodel(IfcEntityInstanceData&& e) : IfcGeotechnicalAssembly(std::move(e)) { } -Ifc4x3_tc1::IfcGeomodel::IfcGeomodel(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_tc1::IfcGeomodel::IfcGeomodel(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGeoslice @@ -11549,7 +11549,7 @@ Ifc4x3_tc1::IfcGeomodel::IfcGeomodel(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcO const IfcParse::entity& Ifc4x3_tc1::IfcGeoslice::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[511]); } const IfcParse::entity& Ifc4x3_tc1::IfcGeoslice::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[511]); } Ifc4x3_tc1::IfcGeoslice::IfcGeoslice(IfcEntityInstanceData&& e) : IfcGeotechnicalAssembly(std::move(e)) { } -Ifc4x3_tc1::IfcGeoslice::IfcGeoslice(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_tc1::IfcGeoslice::IfcGeoslice(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalAssembly(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGeotechnicalAssembly @@ -11557,7 +11557,7 @@ Ifc4x3_tc1::IfcGeoslice::IfcGeoslice(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcO const IfcParse::entity& Ifc4x3_tc1::IfcGeotechnicalAssembly::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[512]); } const IfcParse::entity& Ifc4x3_tc1::IfcGeotechnicalAssembly::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[512]); } Ifc4x3_tc1::IfcGeotechnicalAssembly::IfcGeotechnicalAssembly(IfcEntityInstanceData&& e) : IfcGeotechnicalElement(std::move(e)) { } -Ifc4x3_tc1::IfcGeotechnicalAssembly::IfcGeotechnicalAssembly(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_tc1::IfcGeotechnicalAssembly::IfcGeotechnicalAssembly(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcGeotechnicalElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGeotechnicalElement @@ -11565,52 +11565,52 @@ Ifc4x3_tc1::IfcGeotechnicalAssembly::IfcGeotechnicalAssembly(std::string v1_Glob const IfcParse::entity& Ifc4x3_tc1::IfcGeotechnicalElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[513]); } const IfcParse::entity& Ifc4x3_tc1::IfcGeotechnicalElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[513]); } Ifc4x3_tc1::IfcGeotechnicalElement::IfcGeotechnicalElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_tc1::IfcGeotechnicalElement::IfcGeotechnicalElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_tc1::IfcGeotechnicalElement::IfcGeotechnicalElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcGeotechnicalStratum -boost::optional< ::Ifc4x3_tc1::IfcGeotechnicalStratumTypeEnum::Value > Ifc4x3_tc1::IfcGeotechnicalStratum::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcGeotechnicalStratumTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcGeotechnicalStratumTypeEnum::Value > Ifc4x3_tc1::IfcGeotechnicalStratum::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcGeotechnicalStratumTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcGeotechnicalStratum::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcGeotechnicalStratumTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcGeotechnicalStratumTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcGeotechnicalStratum::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[514]); } const IfcParse::entity& Ifc4x3_tc1::IfcGeotechnicalStratum::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[514]); } Ifc4x3_tc1::IfcGeotechnicalStratum::IfcGeotechnicalStratum(IfcEntityInstanceData&& e) : IfcGeotechnicalElement(std::move(e)) { } -Ifc4x3_tc1::IfcGeotechnicalStratum::IfcGeotechnicalStratum(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcGeotechnicalStratumTypeEnum::Value > v9_PredefinedType) : IfcGeotechnicalElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcGeotechnicalStratumTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcGeotechnicalStratum::IfcGeotechnicalStratum(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcGeotechnicalStratumTypeEnum::Value > v9_PredefinedType) : IfcGeotechnicalElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcGeotechnicalStratumTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGradientCurve -::Ifc4x3_tc1::IfcBoundedCurve* Ifc4x3_tc1::IfcGradientCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcBoundedCurve>(true); } +::Ifc4x3_tc1::IfcBoundedCurve* Ifc4x3_tc1::IfcGradientCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcBoundedCurve>(true); } void Ifc4x3_tc1::IfcGradientCurve::setBaseCurve(::Ifc4x3_tc1::IfcBoundedCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_tc1::IfcPlacement* Ifc4x3_tc1::IfcGradientCurve::EndPoint() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcPlacement>(true); } +::Ifc4x3_tc1::IfcPlacement* Ifc4x3_tc1::IfcGradientCurve::EndPoint() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcPlacement>(true); } void Ifc4x3_tc1::IfcGradientCurve::setEndPoint(::Ifc4x3_tc1::IfcPlacement* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcGradientCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[518]); } const IfcParse::entity& Ifc4x3_tc1::IfcGradientCurve::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[518]); } Ifc4x3_tc1::IfcGradientCurve::IfcGradientCurve(IfcEntityInstanceData&& e) : IfcCompositeCurve(std::move(e)) { } -Ifc4x3_tc1::IfcGradientCurve::IfcGradientCurve(aggregate_of< ::Ifc4x3_tc1::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_tc1::IfcBoundedCurve* v3_BaseCurve, ::Ifc4x3_tc1::IfcPlacement* v4_EndPoint) : IfcCompositeCurve(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, v3_BaseCurve ? v3_BaseCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_EndPoint ? v4_EndPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcGradientCurve::IfcGradientCurve(aggregate_of< ::Ifc4x3_tc1::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_tc1::IfcBoundedCurve* v3_BaseCurve, ::Ifc4x3_tc1::IfcPlacement* v4_EndPoint) : IfcCompositeCurve(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, v3_BaseCurve ? v3_BaseCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_EndPoint ? v4_EndPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcGrid -aggregate_of< ::Ifc4x3_tc1::IfcGridAxis >::ptr Ifc4x3_tc1::IfcGrid::UAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_tc1::IfcGridAxis >(); } +aggregate_of< ::Ifc4x3_tc1::IfcGridAxis >::ptr Ifc4x3_tc1::IfcGrid::UAxes() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_tc1::IfcGridAxis >(); } void Ifc4x3_tc1::IfcGrid::setUAxes(aggregate_of< ::Ifc4x3_tc1::IfcGridAxis >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } -aggregate_of< ::Ifc4x3_tc1::IfcGridAxis >::ptr Ifc4x3_tc1::IfcGrid::VAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_tc1::IfcGridAxis >(); } +aggregate_of< ::Ifc4x3_tc1::IfcGridAxis >::ptr Ifc4x3_tc1::IfcGrid::VAxes() const { aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_tc1::IfcGridAxis >(); } void Ifc4x3_tc1::IfcGrid::setVAxes(aggregate_of< ::Ifc4x3_tc1::IfcGridAxis >::ptr v) { set_attribute_value(8, (v)->generalize());if constexpr (false)unset_attribute_value(8); } -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcGridAxis >::ptr > Ifc4x3_tc1::IfcGrid::WAxes() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3_tc1::IfcGridAxis >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcGridAxis >::ptr > Ifc4x3_tc1::IfcGrid::WAxes() const { if(get_attribute_value(9).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3_tc1::IfcGridAxis >(); } void Ifc4x3_tc1::IfcGrid::setWAxes(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcGridAxis >::ptr > v) { if (v) {set_attribute_value(9, (*v)->generalize());} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x3_tc1::IfcGridTypeEnum::Value > Ifc4x3_tc1::IfcGrid::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcGridTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_tc1::IfcGridTypeEnum::Value > Ifc4x3_tc1::IfcGrid::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcGridTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_tc1::IfcGrid::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcGridTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_tc1::IfcGridTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_tc1::IfcGrid::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[519]); } const IfcParse::entity& Ifc4x3_tc1::IfcGrid::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[519]); } Ifc4x3_tc1::IfcGrid::IfcGrid(IfcEntityInstanceData&& e) : IfcPositioningElement(std::move(e)) { } -Ifc4x3_tc1::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, aggregate_of< ::Ifc4x3_tc1::IfcGridAxis >::ptr v8_UAxes, aggregate_of< ::Ifc4x3_tc1::IfcGridAxis >::ptr v9_VAxes, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcGridAxis >::ptr > v10_WAxes, boost::optional< ::Ifc4x3_tc1::IfcGridTypeEnum::Value > v11_PredefinedType) : IfcPositioningElement(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_UAxes)->generalize());set_attribute_value(8, (v9_VAxes)->generalize()); if (v10_WAxes) {set_attribute_value(9, (*v10_WAxes)->generalize()); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcGrid::IfcGrid(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, aggregate_of< ::Ifc4x3_tc1::IfcGridAxis >::ptr v8_UAxes, aggregate_of< ::Ifc4x3_tc1::IfcGridAxis >::ptr v9_VAxes, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcGridAxis >::ptr > v10_WAxes, boost::optional< ::Ifc4x3_tc1::IfcGridTypeEnum::Value > v11_PredefinedType) : IfcPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_UAxes)->generalize());set_attribute_value(8, (v9_VAxes)->generalize()); if (v10_WAxes) {set_attribute_value(9, (*v10_WAxes)->generalize()); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcGridTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcGridAxis -boost::optional< std::string > Ifc4x3_tc1::IfcGridAxis::AxisTag() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcGridAxis::AxisTag() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcGridAxis::setAxisTag(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcCurve>(true); } +::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcGridAxis::AxisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcCurve>(true); } void Ifc4x3_tc1::IfcGridAxis::setAxisCurve(::Ifc4x3_tc1::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -bool Ifc4x3_tc1::IfcGridAxis::SameSense() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x3_tc1::IfcGridAxis::SameSense() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcGridAxis::setSameSense(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } ::Ifc4x3_tc1::IfcGrid::list::ptr Ifc4x3_tc1::IfcGridAxis::PartOfW() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[519], 9)->as(); } @@ -11621,19 +11621,19 @@ void Ifc4x3_tc1::IfcGridAxis::setSameSense(bool v) { set_attribute_value(2, v);i const IfcParse::entity& Ifc4x3_tc1::IfcGridAxis::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[520]); } const IfcParse::entity& Ifc4x3_tc1::IfcGridAxis::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[520]); } Ifc4x3_tc1::IfcGridAxis::IfcGridAxis(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, ::Ifc4x3_tc1::IfcCurve* v2_AxisCurve, bool v3_SameSense) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, v2_AxisCurve ? v2_AxisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } +Ifc4x3_tc1::IfcGridAxis::IfcGridAxis(boost::optional< std::string > v1_AxisTag, ::Ifc4x3_tc1::IfcCurve* v2_AxisCurve, bool v3_SameSense) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_AxisTag) {set_attribute_value(0, (*v1_AxisTag)); }set_attribute_value(1, v2_AxisCurve ? v2_AxisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_SameSense));; populate_derived(); } // Function implementations for IfcGridPlacement -::Ifc4x3_tc1::IfcVirtualGridIntersection* Ifc4x3_tc1::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcVirtualGridIntersection>(true); } +::Ifc4x3_tc1::IfcVirtualGridIntersection* Ifc4x3_tc1::IfcGridPlacement::PlacementLocation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcVirtualGridIntersection>(true); } void Ifc4x3_tc1::IfcGridPlacement::setPlacementLocation(::Ifc4x3_tc1::IfcVirtualGridIntersection* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_tc1::IfcGridPlacementDirectionSelect* Ifc4x3_tc1::IfcGridPlacement::PlacementRefDirection() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcGridPlacementDirectionSelect>(true); } +::Ifc4x3_tc1::IfcGridPlacementDirectionSelect* Ifc4x3_tc1::IfcGridPlacement::PlacementRefDirection() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcGridPlacementDirectionSelect>(true); } void Ifc4x3_tc1::IfcGridPlacement::setPlacementRefDirection(::Ifc4x3_tc1::IfcGridPlacementDirectionSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcGridPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[521]); } const IfcParse::entity& Ifc4x3_tc1::IfcGridPlacement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[521]); } Ifc4x3_tc1::IfcGridPlacement::IfcGridPlacement(IfcEntityInstanceData&& e) : IfcObjectPlacement(std::move(e)) { } -Ifc4x3_tc1::IfcGridPlacement::IfcGridPlacement(::Ifc4x3_tc1::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_tc1::IfcVirtualGridIntersection* v2_PlacementLocation, ::Ifc4x3_tc1::IfcGridPlacementDirectionSelect* v3_PlacementRefDirection) : IfcObjectPlacement(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementLocation ? v2_PlacementLocation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PlacementRefDirection ? v3_PlacementRefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcGridPlacement::IfcGridPlacement(::Ifc4x3_tc1::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_tc1::IfcVirtualGridIntersection* v2_PlacementLocation, ::Ifc4x3_tc1::IfcGridPlacementDirectionSelect* v3_PlacementRefDirection) : IfcObjectPlacement(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_PlacementLocation ? v2_PlacementLocation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_PlacementRefDirection ? v3_PlacementRefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcGroup @@ -11643,144 +11643,144 @@ Ifc4x3_tc1::IfcGridPlacement::IfcGridPlacement(::Ifc4x3_tc1::IfcObjectPlacement* const IfcParse::entity& Ifc4x3_tc1::IfcGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[524]); } const IfcParse::entity& Ifc4x3_tc1::IfcGroup::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[524]); } Ifc4x3_tc1::IfcGroup::IfcGroup(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_tc1::IfcGroup::IfcGroup(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc4x3_tc1::IfcGroup::IfcGroup(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcHalfSpaceSolid -::Ifc4x3_tc1::IfcSurface* Ifc4x3_tc1::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcSurface>(true); } +::Ifc4x3_tc1::IfcSurface* Ifc4x3_tc1::IfcHalfSpaceSolid::BaseSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcSurface>(true); } void Ifc4x3_tc1::IfcHalfSpaceSolid::setBaseSurface(::Ifc4x3_tc1::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -bool Ifc4x3_tc1::IfcHalfSpaceSolid::AgreementFlag() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x3_tc1::IfcHalfSpaceSolid::AgreementFlag() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcHalfSpaceSolid::setAgreementFlag(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcHalfSpaceSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[525]); } const IfcParse::entity& Ifc4x3_tc1::IfcHalfSpaceSolid::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[525]); } Ifc4x3_tc1::IfcHalfSpaceSolid::IfcHalfSpaceSolid(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcHalfSpaceSolid::IfcHalfSpaceSolid(::Ifc4x3_tc1::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));; populate_derived(); } +Ifc4x3_tc1::IfcHalfSpaceSolid::IfcHalfSpaceSolid(::Ifc4x3_tc1::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));; populate_derived(); } // Function implementations for IfcHeatExchanger -boost::optional< ::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Value > Ifc4x3_tc1::IfcHeatExchanger::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Value > Ifc4x3_tc1::IfcHeatExchanger::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcHeatExchanger::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcHeatExchanger::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[527]); } const IfcParse::entity& Ifc4x3_tc1::IfcHeatExchanger::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[527]); } Ifc4x3_tc1::IfcHeatExchanger::IfcHeatExchanger(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_tc1::IfcHeatExchanger::IfcHeatExchanger(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcHeatExchanger::IfcHeatExchanger(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcHeatExchangerType -::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Value Ifc4x3_tc1::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Value Ifc4x3_tc1::IfcHeatExchangerType::PredefinedType() const { return ::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcHeatExchangerType::setPredefinedType(::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcHeatExchangerType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[528]); } const IfcParse::entity& Ifc4x3_tc1::IfcHeatExchangerType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[528]); } Ifc4x3_tc1::IfcHeatExchangerType::IfcHeatExchangerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_tc1::IfcHeatExchangerType::IfcHeatExchangerType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcHeatExchangerType::IfcHeatExchangerType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcHeatExchangerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcHumidifier -boost::optional< ::Ifc4x3_tc1::IfcHumidifierTypeEnum::Value > Ifc4x3_tc1::IfcHumidifier::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcHumidifierTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcHumidifierTypeEnum::Value > Ifc4x3_tc1::IfcHumidifier::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcHumidifierTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcHumidifier::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcHumidifierTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcHumidifierTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcHumidifier::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[532]); } const IfcParse::entity& Ifc4x3_tc1::IfcHumidifier::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[532]); } Ifc4x3_tc1::IfcHumidifier::IfcHumidifier(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_tc1::IfcHumidifier::IfcHumidifier(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcHumidifierTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcHumidifier::IfcHumidifier(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcHumidifierTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcHumidifierTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcHumidifierType -::Ifc4x3_tc1::IfcHumidifierTypeEnum::Value Ifc4x3_tc1::IfcHumidifierType::PredefinedType() const { return ::Ifc4x3_tc1::IfcHumidifierTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcHumidifierTypeEnum::Value Ifc4x3_tc1::IfcHumidifierType::PredefinedType() const { return ::Ifc4x3_tc1::IfcHumidifierTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcHumidifierType::setPredefinedType(::Ifc4x3_tc1::IfcHumidifierTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcHumidifierTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcHumidifierType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[533]); } const IfcParse::entity& Ifc4x3_tc1::IfcHumidifierType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[533]); } Ifc4x3_tc1::IfcHumidifierType::IfcHumidifierType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_tc1::IfcHumidifierType::IfcHumidifierType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcHumidifierTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcHumidifierType::IfcHumidifierType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcHumidifierTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcHumidifierTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcIShapeProfileDef -double Ifc4x3_tc1::IfcIShapeProfileDef::OverallWidth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_tc1::IfcIShapeProfileDef::OverallWidth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcIShapeProfileDef::setOverallWidth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_tc1::IfcIShapeProfileDef::OverallDepth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_tc1::IfcIShapeProfileDef::OverallDepth() const { double v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcIShapeProfileDef::setOverallDepth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_tc1::IfcIShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_tc1::IfcIShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcIShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_tc1::IfcIShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_tc1::IfcIShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcIShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_tc1::IfcIShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_tc1::IfcIShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcIShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_tc1::IfcIShapeProfileDef::FlangeEdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_tc1::IfcIShapeProfileDef::FlangeEdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcIShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_tc1::IfcIShapeProfileDef::FlangeSlope() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_tc1::IfcIShapeProfileDef::FlangeSlope() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_tc1::IfcIShapeProfileDef::setFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_tc1::IfcIShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[562]); } const IfcParse::entity& Ifc4x3_tc1::IfcIShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[562]); } Ifc4x3_tc1::IfcIShapeProfileDef::IfcIShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_tc1::IfcIShapeProfileDef::IfcIShapeProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::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(storage_t(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } +Ifc4x3_tc1::IfcIShapeProfileDef::IfcIShapeProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::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(in_memory_attribute_storage(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_OverallWidth));set_attribute_value(4, (v5_OverallDepth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } // Function implementations for IfcImageTexture -std::string Ifc4x3_tc1::IfcImageTexture::URLReference() const { std::string v = data_.get_attribute_value(5); return v; } +std::string Ifc4x3_tc1::IfcImageTexture::URLReference() const { std::string v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcImageTexture::setURLReference(std::string v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcImageTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[537]); } const IfcParse::entity& Ifc4x3_tc1::IfcImageTexture::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[537]); } Ifc4x3_tc1::IfcImageTexture::IfcImageTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -Ifc4x3_tc1::IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_tc1::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) : IfcSurfaceTexture(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference));; populate_derived(); } +Ifc4x3_tc1::IfcImageTexture::IfcImageTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_tc1::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter, std::string v6_URLReference) : IfcSurfaceTexture(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_URLReference));; populate_derived(); } // Function implementations for IfcImpactProtectionDevice -boost::optional< ::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Value > Ifc4x3_tc1::IfcImpactProtectionDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Value > Ifc4x3_tc1::IfcImpactProtectionDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcImpactProtectionDevice::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcImpactProtectionDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[538]); } const IfcParse::entity& Ifc4x3_tc1::IfcImpactProtectionDevice::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[538]); } Ifc4x3_tc1::IfcImpactProtectionDevice::IfcImpactProtectionDevice(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_tc1::IfcImpactProtectionDevice::IfcImpactProtectionDevice(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcImpactProtectionDevice::IfcImpactProtectionDevice(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcImpactProtectionDeviceType -::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Value Ifc4x3_tc1::IfcImpactProtectionDeviceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Value Ifc4x3_tc1::IfcImpactProtectionDeviceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcImpactProtectionDeviceType::setPredefinedType(::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcImpactProtectionDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[539]); } const IfcParse::entity& Ifc4x3_tc1::IfcImpactProtectionDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[539]); } Ifc4x3_tc1::IfcImpactProtectionDeviceType::IfcImpactProtectionDeviceType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_tc1::IfcImpactProtectionDeviceType::IfcImpactProtectionDeviceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcImpactProtectionDeviceType::IfcImpactProtectionDeviceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcImpactProtectionDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcIndexedColourMap -::Ifc4x3_tc1::IfcTessellatedFaceSet* Ifc4x3_tc1::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcTessellatedFaceSet>(true); } +::Ifc4x3_tc1::IfcTessellatedFaceSet* Ifc4x3_tc1::IfcIndexedColourMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcTessellatedFaceSet>(true); } void Ifc4x3_tc1::IfcIndexedColourMap::setMappedTo(::Ifc4x3_tc1::IfcTessellatedFaceSet* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< double > Ifc4x3_tc1::IfcIndexedColourMap::Opacity() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_tc1::IfcIndexedColourMap::Opacity() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcIndexedColourMap::setOpacity(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_tc1::IfcColourRgbList* Ifc4x3_tc1::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcColourRgbList>(true); } +::Ifc4x3_tc1::IfcColourRgbList* Ifc4x3_tc1::IfcIndexedColourMap::Colours() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcColourRgbList>(true); } void Ifc4x3_tc1::IfcIndexedColourMap::setColours(::Ifc4x3_tc1::IfcColourRgbList* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -std::vector< int > /*[1:?]*/ Ifc4x3_tc1::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +std::vector< int > /*[1:?]*/ Ifc4x3_tc1::IfcIndexedColourMap::ColourIndex() const { std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcIndexedColourMap::setColourIndex(std::vector< int > /*[1:?]*/ v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcIndexedColourMap::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[541]); } const IfcParse::entity& Ifc4x3_tc1::IfcIndexedColourMap::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[541]); } Ifc4x3_tc1::IfcIndexedColourMap::IfcIndexedColourMap(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3_tc1::IfcTessellatedFaceSet* v1_MappedTo, boost::optional< double > v2_Opacity, ::Ifc4x3_tc1::IfcColourRgbList* v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) : IfcPresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_MappedTo ? v1_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, v3_Colours ? v3_Colours->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ColourIndex));; populate_derived(); } +Ifc4x3_tc1::IfcIndexedColourMap::IfcIndexedColourMap(::Ifc4x3_tc1::IfcTessellatedFaceSet* v1_MappedTo, boost::optional< double > v2_Opacity, ::Ifc4x3_tc1::IfcColourRgbList* v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_MappedTo ? v1_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Opacity) {set_attribute_value(1, (*v2_Opacity)); }set_attribute_value(2, v3_Colours ? v3_Colours->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ColourIndex));; populate_derived(); } // Function implementations for IfcIndexedPolyCurve -::Ifc4x3_tc1::IfcCartesianPointList* Ifc4x3_tc1::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCartesianPointList>(true); } +::Ifc4x3_tc1::IfcCartesianPointList* Ifc4x3_tc1::IfcIndexedPolyCurve::Points() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCartesianPointList>(true); } void Ifc4x3_tc1::IfcIndexedPolyCurve::setPoints(::Ifc4x3_tc1::IfcCartesianPointList* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcSegmentIndexSelect >::ptr > Ifc4x3_tc1::IfcIndexedPolyCurve::Segments() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcSegmentIndexSelect >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcSegmentIndexSelect >::ptr > Ifc4x3_tc1::IfcIndexedPolyCurve::Segments() const { if(get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcSegmentIndexSelect >(); } void Ifc4x3_tc1::IfcIndexedPolyCurve::setSegments(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcSegmentIndexSelect >::ptr > v) { if (v) {set_attribute_value(1, (*v)->generalize());} else {unset_attribute_value(1);} } -boost::optional< bool > Ifc4x3_tc1::IfcIndexedPolyCurve::SelfIntersect() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } bool v = data_.get_attribute_value(2); return v; } +boost::optional< bool > Ifc4x3_tc1::IfcIndexedPolyCurve::SelfIntersect() const { if(get_attribute_value(2).isNull()) { return boost::none; } bool v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcIndexedPolyCurve::setSelfIntersect(boost::optional< bool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_tc1::IfcIndexedPolyCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[542]); } const IfcParse::entity& Ifc4x3_tc1::IfcIndexedPolyCurve::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[542]); } Ifc4x3_tc1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_tc1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_tc1::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Points ? v1_Points->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Segments) {set_attribute_value(1, (*v2_Segments)->generalize()); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); }; populate_derived(); } +Ifc4x3_tc1::IfcIndexedPolyCurve::IfcIndexedPolyCurve(::Ifc4x3_tc1::IfcCartesianPointList* v1_Points, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcSegmentIndexSelect >::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Points ? v1_Points->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Segments) {set_attribute_value(1, (*v2_Segments)->generalize()); } if (v3_SelfIntersect) {set_attribute_value(2, (*v3_SelfIntersect)); }; populate_derived(); } // Function implementations for IfcIndexedPolygonalFace -std::vector< int > /*[3:?]*/ Ifc4x3_tc1::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = data_.get_attribute_value(0); return v; } +std::vector< int > /*[3:?]*/ Ifc4x3_tc1::IfcIndexedPolygonalFace::CoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcIndexedPolygonalFace::setCoordIndex(std::vector< int > /*[3:?]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_tc1::IfcPolygonalFaceSet::list::ptr Ifc4x3_tc1::IfcIndexedPolygonalFace::ToFaceSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[768], 2)->as(); } @@ -11789,69 +11789,69 @@ void Ifc4x3_tc1::IfcIndexedPolygonalFace::setCoordIndex(std::vector< int > /*[3: const IfcParse::entity& Ifc4x3_tc1::IfcIndexedPolygonalFace::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[543]); } const IfcParse::entity& Ifc4x3_tc1::IfcIndexedPolygonalFace::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[543]); } Ifc4x3_tc1::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(IfcEntityInstanceData&& e) : IfcTessellatedItem(std::move(e)) { } -Ifc4x3_tc1::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(std::vector< int > /*[3:?]*/ v1_CoordIndex) : IfcTessellatedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CoordIndex));; populate_derived(); } +Ifc4x3_tc1::IfcIndexedPolygonalFace::IfcIndexedPolygonalFace(std::vector< int > /*[3:?]*/ v1_CoordIndex) : IfcTessellatedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CoordIndex));; populate_derived(); } // Function implementations for IfcIndexedPolygonalFaceWithVoids -std::vector< std::vector< int > > Ifc4x3_tc1::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { std::vector< std::vector< int > > v = data_.get_attribute_value(1); return v; } +std::vector< std::vector< int > > Ifc4x3_tc1::IfcIndexedPolygonalFaceWithVoids::InnerCoordIndices() const { std::vector< std::vector< int > > v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcIndexedPolygonalFaceWithVoids::setInnerCoordIndices(std::vector< std::vector< int > > v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcIndexedPolygonalFaceWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[544]); } const IfcParse::entity& Ifc4x3_tc1::IfcIndexedPolygonalFaceWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[544]); } Ifc4x3_tc1::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(IfcEntityInstanceData&& e) : IfcIndexedPolygonalFace(std::move(e)) { } -Ifc4x3_tc1::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) : IfcIndexedPolygonalFace(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices));; populate_derived(); } +Ifc4x3_tc1::IfcIndexedPolygonalFaceWithVoids::IfcIndexedPolygonalFaceWithVoids(std::vector< int > /*[3:?]*/ v1_CoordIndex, std::vector< std::vector< int > > v2_InnerCoordIndices) : IfcIndexedPolygonalFace(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_CoordIndex));set_attribute_value(1, (v2_InnerCoordIndices));; populate_derived(); } // Function implementations for IfcIndexedPolygonalTextureMap -aggregate_of< ::Ifc4x3_tc1::IfcTextureCoordinateIndices >::ptr Ifc4x3_tc1::IfcIndexedPolygonalTextureMap::TexCoordIndices() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_tc1::IfcTextureCoordinateIndices >(); } +aggregate_of< ::Ifc4x3_tc1::IfcTextureCoordinateIndices >::ptr Ifc4x3_tc1::IfcIndexedPolygonalTextureMap::TexCoordIndices() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_tc1::IfcTextureCoordinateIndices >(); } void Ifc4x3_tc1::IfcIndexedPolygonalTextureMap::setTexCoordIndices(aggregate_of< ::Ifc4x3_tc1::IfcTextureCoordinateIndices >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcIndexedPolygonalTextureMap::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[545]); } const IfcParse::entity& Ifc4x3_tc1::IfcIndexedPolygonalTextureMap::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[545]); } Ifc4x3_tc1::IfcIndexedPolygonalTextureMap::IfcIndexedPolygonalTextureMap(IfcEntityInstanceData&& e) : IfcIndexedTextureMap(std::move(e)) { } -Ifc4x3_tc1::IfcIndexedPolygonalTextureMap::IfcIndexedPolygonalTextureMap(aggregate_of< ::Ifc4x3_tc1::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_tc1::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_tc1::IfcTextureVertexList* v3_TexCoords, aggregate_of< ::Ifc4x3_tc1::IfcTextureCoordinateIndices >::ptr v4_TexCoordIndices) : IfcIndexedTextureMap(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_TexCoordIndices)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcIndexedPolygonalTextureMap::IfcIndexedPolygonalTextureMap(aggregate_of< ::Ifc4x3_tc1::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_tc1::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_tc1::IfcTextureVertexList* v3_TexCoords, aggregate_of< ::Ifc4x3_tc1::IfcTextureCoordinateIndices >::ptr v4_TexCoordIndices) : IfcIndexedTextureMap(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_TexCoordIndices)->generalize());; populate_derived(); } // Function implementations for IfcIndexedTextureMap -::Ifc4x3_tc1::IfcTessellatedFaceSet* Ifc4x3_tc1::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcTessellatedFaceSet>(true); } +::Ifc4x3_tc1::IfcTessellatedFaceSet* Ifc4x3_tc1::IfcIndexedTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcTessellatedFaceSet>(true); } void Ifc4x3_tc1::IfcIndexedTextureMap::setMappedTo(::Ifc4x3_tc1::IfcTessellatedFaceSet* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_tc1::IfcTextureVertexList* Ifc4x3_tc1::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcTextureVertexList>(true); } +::Ifc4x3_tc1::IfcTextureVertexList* Ifc4x3_tc1::IfcIndexedTextureMap::TexCoords() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcTextureVertexList>(true); } void Ifc4x3_tc1::IfcIndexedTextureMap::setTexCoords(::Ifc4x3_tc1::IfcTextureVertexList* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcIndexedTextureMap::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[546]); } const IfcParse::entity& Ifc4x3_tc1::IfcIndexedTextureMap::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[546]); } Ifc4x3_tc1::IfcIndexedTextureMap::IfcIndexedTextureMap(IfcEntityInstanceData&& e) : IfcTextureCoordinate(std::move(e)) { } -Ifc4x3_tc1::IfcIndexedTextureMap::IfcIndexedTextureMap(aggregate_of< ::Ifc4x3_tc1::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_tc1::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_tc1::IfcTextureVertexList* v3_TexCoords) : IfcTextureCoordinate(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcIndexedTextureMap::IfcIndexedTextureMap(aggregate_of< ::Ifc4x3_tc1::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_tc1::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_tc1::IfcTextureVertexList* v3_TexCoords) : IfcTextureCoordinate(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcIndexedTriangleTextureMap -boost::optional< std::vector< std::vector< int > > > Ifc4x3_tc1::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::vector< int > > v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< std::vector< int > > > Ifc4x3_tc1::IfcIndexedTriangleTextureMap::TexCoordIndex() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::vector< int > > v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcIndexedTriangleTextureMap::setTexCoordIndex(boost::optional< std::vector< std::vector< int > > > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_tc1::IfcIndexedTriangleTextureMap::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[547]); } const IfcParse::entity& Ifc4x3_tc1::IfcIndexedTriangleTextureMap::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[547]); } Ifc4x3_tc1::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(IfcEntityInstanceData&& e) : IfcIndexedTextureMap(std::move(e)) { } -Ifc4x3_tc1::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(aggregate_of< ::Ifc4x3_tc1::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_tc1::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_tc1::IfcTextureVertexList* v3_TexCoords, boost::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) : IfcIndexedTextureMap(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); }; populate_derived(); } +Ifc4x3_tc1::IfcIndexedTriangleTextureMap::IfcIndexedTriangleTextureMap(aggregate_of< ::Ifc4x3_tc1::IfcSurfaceTexture >::ptr v1_Maps, ::Ifc4x3_tc1::IfcTessellatedFaceSet* v2_MappedTo, ::Ifc4x3_tc1::IfcTextureVertexList* v3_TexCoords, boost::optional< std::vector< std::vector< int > > > v4_TexCoordIndex) : IfcIndexedTextureMap(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, v2_MappedTo ? v2_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TexCoords ? v3_TexCoords->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_TexCoordIndex) {set_attribute_value(3, (*v4_TexCoordIndex)); }; populate_derived(); } // Function implementations for IfcInterceptor -boost::optional< ::Ifc4x3_tc1::IfcInterceptorTypeEnum::Value > Ifc4x3_tc1::IfcInterceptor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcInterceptorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcInterceptorTypeEnum::Value > Ifc4x3_tc1::IfcInterceptor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcInterceptorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcInterceptor::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcInterceptorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcInterceptorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcInterceptor::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[551]); } const IfcParse::entity& Ifc4x3_tc1::IfcInterceptor::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[551]); } Ifc4x3_tc1::IfcInterceptor::IfcInterceptor(IfcEntityInstanceData&& e) : IfcFlowTreatmentDevice(std::move(e)) { } -Ifc4x3_tc1::IfcInterceptor::IfcInterceptor(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcInterceptorTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcInterceptor::IfcInterceptor(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcInterceptorTypeEnum::Value > v9_PredefinedType) : IfcFlowTreatmentDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcInterceptorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcInterceptorType -::Ifc4x3_tc1::IfcInterceptorTypeEnum::Value Ifc4x3_tc1::IfcInterceptorType::PredefinedType() const { return ::Ifc4x3_tc1::IfcInterceptorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcInterceptorTypeEnum::Value Ifc4x3_tc1::IfcInterceptorType::PredefinedType() const { return ::Ifc4x3_tc1::IfcInterceptorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcInterceptorType::setPredefinedType(::Ifc4x3_tc1::IfcInterceptorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcInterceptorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcInterceptorType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[552]); } const IfcParse::entity& Ifc4x3_tc1::IfcInterceptorType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[552]); } Ifc4x3_tc1::IfcInterceptorType::IfcInterceptorType(IfcEntityInstanceData&& e) : IfcFlowTreatmentDeviceType(std::move(e)) { } -Ifc4x3_tc1::IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcInterceptorTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcInterceptorTypeEnum::Value v10_PredefinedType) : IfcFlowTreatmentDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcInterceptorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcIntersectionCurve @@ -11859,174 +11859,174 @@ Ifc4x3_tc1::IfcInterceptorType::IfcInterceptorType(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x3_tc1::IfcIntersectionCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[556]); } const IfcParse::entity& Ifc4x3_tc1::IfcIntersectionCurve::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[556]); } Ifc4x3_tc1::IfcIntersectionCurve::IfcIntersectionCurve(IfcEntityInstanceData&& e) : IfcSurfaceCurve(std::move(e)) { } -Ifc4x3_tc1::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4x3_tc1::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_tc1::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } +Ifc4x3_tc1::IfcIntersectionCurve::IfcIntersectionCurve(::Ifc4x3_tc1::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_tc1::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcInventory -boost::optional< ::Ifc4x3_tc1::IfcInventoryTypeEnum::Value > Ifc4x3_tc1::IfcInventory::PredefinedType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcInventoryTypeEnum::FromString(data_.get_attribute_value(5)); } +boost::optional< ::Ifc4x3_tc1::IfcInventoryTypeEnum::Value > Ifc4x3_tc1::IfcInventory::PredefinedType() const { if(get_attribute_value(5).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcInventoryTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_tc1::IfcInventory::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcInventoryTypeEnum::Value > v) { if (v) {set_attribute_value(5, EnumerationReference(&::Ifc4x3_tc1::IfcInventoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(5);} } -::Ifc4x3_tc1::IfcActorSelect* Ifc4x3_tc1::IfcInventory::Jurisdiction() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcActorSelect>(true); } +::Ifc4x3_tc1::IfcActorSelect* Ifc4x3_tc1::IfcInventory::Jurisdiction() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcActorSelect>(true); } void Ifc4x3_tc1::IfcInventory::setJurisdiction(::Ifc4x3_tc1::IfcActorSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPerson >::ptr > Ifc4x3_tc1::IfcInventory::ResponsiblePersons() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_tc1::IfcPerson >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPerson >::ptr > Ifc4x3_tc1::IfcInventory::ResponsiblePersons() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_tc1::IfcPerson >(); } void Ifc4x3_tc1::IfcInventory::setResponsiblePersons(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPerson >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_tc1::IfcInventory::LastUpdateDate() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcInventory::LastUpdateDate() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcInventory::setLastUpdateDate(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_tc1::IfcCostValue* Ifc4x3_tc1::IfcInventory::CurrentValue() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_tc1::IfcCostValue>(true); } +::Ifc4x3_tc1::IfcCostValue* Ifc4x3_tc1::IfcInventory::CurrentValue() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_tc1::IfcCostValue>(true); } void Ifc4x3_tc1::IfcInventory::setCurrentValue(::Ifc4x3_tc1::IfcCostValue* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_tc1::IfcCostValue* Ifc4x3_tc1::IfcInventory::OriginalValue() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_tc1::IfcCostValue>(true); } +::Ifc4x3_tc1::IfcCostValue* Ifc4x3_tc1::IfcInventory::OriginalValue() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_tc1::IfcCostValue>(true); } void Ifc4x3_tc1::IfcInventory::setOriginalValue(::Ifc4x3_tc1::IfcCostValue* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_tc1::IfcInventory::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[557]); } const IfcParse::entity& Ifc4x3_tc1::IfcInventory::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[557]); } Ifc4x3_tc1::IfcInventory::IfcInventory(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x3_tc1::IfcInventory::IfcInventory(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_tc1::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_tc1::IfcActorSelect* v7_Jurisdiction, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPerson >::ptr > v8_ResponsiblePersons, boost::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_tc1::IfcCostValue* v10_CurrentValue, ::Ifc4x3_tc1::IfcCostValue* v11_OriginalValue) : IfcGroup(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_tc1::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, v7_Jurisdiction ? v7_Jurisdiction->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_ResponsiblePersons) {set_attribute_value(7, (*v8_ResponsiblePersons)->generalize()); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, v10_CurrentValue ? v10_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_OriginalValue ? v11_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcInventory::IfcInventory(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< ::Ifc4x3_tc1::IfcInventoryTypeEnum::Value > v6_PredefinedType, ::Ifc4x3_tc1::IfcActorSelect* v7_Jurisdiction, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPerson >::ptr > v8_ResponsiblePersons, boost::optional< std::string > v9_LastUpdateDate, ::Ifc4x3_tc1::IfcCostValue* v10_CurrentValue, ::Ifc4x3_tc1::IfcCostValue* v11_OriginalValue) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_PredefinedType) {set_attribute_value(5, (EnumerationReference(&::Ifc4x3_tc1::IfcInventoryTypeEnum::Class(),(size_t)*v6_PredefinedType))); }set_attribute_value(6, v7_Jurisdiction ? v7_Jurisdiction->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_ResponsiblePersons) {set_attribute_value(7, (*v8_ResponsiblePersons)->generalize()); } if (v9_LastUpdateDate) {set_attribute_value(8, (*v9_LastUpdateDate)); }set_attribute_value(9, v10_CurrentValue ? v10_CurrentValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_OriginalValue ? v11_OriginalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcIrregularTimeSeries -aggregate_of< ::Ifc4x3_tc1::IfcIrregularTimeSeriesValue >::ptr Ifc4x3_tc1::IfcIrregularTimeSeries::Values() const { aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_tc1::IfcIrregularTimeSeriesValue >(); } +aggregate_of< ::Ifc4x3_tc1::IfcIrregularTimeSeriesValue >::ptr Ifc4x3_tc1::IfcIrregularTimeSeries::Values() const { aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_tc1::IfcIrregularTimeSeriesValue >(); } void Ifc4x3_tc1::IfcIrregularTimeSeries::setValues(aggregate_of< ::Ifc4x3_tc1::IfcIrregularTimeSeriesValue >::ptr v) { set_attribute_value(8, (v)->generalize());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_tc1::IfcIrregularTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[560]); } const IfcParse::entity& Ifc4x3_tc1::IfcIrregularTimeSeries::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[560]); } Ifc4x3_tc1::IfcIrregularTimeSeries::IfcIrregularTimeSeries(IfcEntityInstanceData&& e) : IfcTimeSeries(std::move(e)) { } -Ifc4x3_tc1::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_tc1::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_tc1::IfcUnit* v8_Unit, aggregate_of< ::Ifc4x3_tc1::IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_Values)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcIrregularTimeSeries::IfcIrregularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_tc1::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_tc1::IfcUnit* v8_Unit, aggregate_of< ::Ifc4x3_tc1::IfcIrregularTimeSeriesValue >::ptr v9_Values) : IfcTimeSeries(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_Values)->generalize());; populate_derived(); } // Function implementations for IfcIrregularTimeSeriesValue -std::string Ifc4x3_tc1::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_tc1::IfcIrregularTimeSeriesValue::TimeStamp() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcIrregularTimeSeriesValue::setTimeStamp(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr Ifc4x3_tc1::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcValue >(); } +aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr Ifc4x3_tc1::IfcIrregularTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcValue >(); } void Ifc4x3_tc1::IfcIrregularTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcIrregularTimeSeriesValue::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[561]); } const IfcParse::entity& Ifc4x3_tc1::IfcIrregularTimeSeriesValue::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[561]); } Ifc4x3_tc1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, (v2_ListValues)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcIrregularTimeSeriesValue::IfcIrregularTimeSeriesValue(std::string v1_TimeStamp, aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v2_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_TimeStamp));set_attribute_value(1, (v2_ListValues)->generalize());; populate_derived(); } // Function implementations for IfcJunctionBox -boost::optional< ::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Value > Ifc4x3_tc1::IfcJunctionBox::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Value > Ifc4x3_tc1::IfcJunctionBox::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcJunctionBox::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcJunctionBox::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[564]); } const IfcParse::entity& Ifc4x3_tc1::IfcJunctionBox::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[564]); } Ifc4x3_tc1::IfcJunctionBox::IfcJunctionBox(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x3_tc1::IfcJunctionBox::IfcJunctionBox(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcJunctionBox::IfcJunctionBox(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcJunctionBoxType -::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Value Ifc4x3_tc1::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Value Ifc4x3_tc1::IfcJunctionBoxType::PredefinedType() const { return ::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcJunctionBoxType::setPredefinedType(::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcJunctionBoxType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[565]); } const IfcParse::entity& Ifc4x3_tc1::IfcJunctionBoxType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[565]); } Ifc4x3_tc1::IfcJunctionBoxType::IfcJunctionBoxType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x3_tc1::IfcJunctionBoxType::IfcJunctionBoxType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcJunctionBoxType::IfcJunctionBoxType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcJunctionBoxTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcKerb -boost::optional< ::Ifc4x3_tc1::IfcKerbTypeEnum::Value > Ifc4x3_tc1::IfcKerb::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcKerbTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcKerbTypeEnum::Value > Ifc4x3_tc1::IfcKerb::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcKerbTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcKerb::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcKerbTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcKerbTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcKerb::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[567]); } const IfcParse::entity& Ifc4x3_tc1::IfcKerb::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[567]); } Ifc4x3_tc1::IfcKerb::IfcKerb(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_tc1::IfcKerb::IfcKerb(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcKerbTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcKerbTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcKerb::IfcKerb(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcKerbTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcKerbTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcKerbType -::Ifc4x3_tc1::IfcKerbTypeEnum::Value Ifc4x3_tc1::IfcKerbType::PredefinedType() const { return ::Ifc4x3_tc1::IfcKerbTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcKerbTypeEnum::Value Ifc4x3_tc1::IfcKerbType::PredefinedType() const { return ::Ifc4x3_tc1::IfcKerbTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcKerbType::setPredefinedType(::Ifc4x3_tc1::IfcKerbTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcKerbTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcKerbType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[568]); } const IfcParse::entity& Ifc4x3_tc1::IfcKerbType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[568]); } Ifc4x3_tc1::IfcKerbType::IfcKerbType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_tc1::IfcKerbType::IfcKerbType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcKerbTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcKerbTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcKerbType::IfcKerbType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcKerbTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcKerbTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLShapeProfileDef -double Ifc4x3_tc1::IfcLShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_tc1::IfcLShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcLShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< double > Ifc4x3_tc1::IfcLShapeProfileDef::Width() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_tc1::IfcLShapeProfileDef::Width() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcLShapeProfileDef::setWidth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -double Ifc4x3_tc1::IfcLShapeProfileDef::Thickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_tc1::IfcLShapeProfileDef::Thickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcLShapeProfileDef::setThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_tc1::IfcLShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_tc1::IfcLShapeProfileDef::FilletRadius() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcLShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_tc1::IfcLShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_tc1::IfcLShapeProfileDef::EdgeRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcLShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_tc1::IfcLShapeProfileDef::LegSlope() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_tc1::IfcLShapeProfileDef::LegSlope() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcLShapeProfileDef::setLegSlope(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcLShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[618]); } const IfcParse::entity& Ifc4x3_tc1::IfcLShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[618]); } Ifc4x3_tc1::IfcLShapeProfileDef::IfcLShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_tc1::IfcLShapeProfileDef::IfcLShapeProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::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(storage_t(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); }; populate_derived(); } +Ifc4x3_tc1::IfcLShapeProfileDef::IfcLShapeProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::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(in_memory_attribute_storage(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth)); if (v5_Width) {set_attribute_value(4, (*v5_Width)); }set_attribute_value(5, (v6_Thickness)); if (v7_FilletRadius) {set_attribute_value(6, (*v7_FilletRadius)); } if (v8_EdgeRadius) {set_attribute_value(7, (*v8_EdgeRadius)); } if (v9_LegSlope) {set_attribute_value(8, (*v9_LegSlope)); }; populate_derived(); } // Function implementations for IfcLaborResource -boost::optional< ::Ifc4x3_tc1::IfcLaborResourceTypeEnum::Value > Ifc4x3_tc1::IfcLaborResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcLaborResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_tc1::IfcLaborResourceTypeEnum::Value > Ifc4x3_tc1::IfcLaborResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcLaborResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_tc1::IfcLaborResource::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcLaborResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_tc1::IfcLaborResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_tc1::IfcLaborResource::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[573]); } const IfcParse::entity& Ifc4x3_tc1::IfcLaborResource::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[573]); } Ifc4x3_tc1::IfcLaborResource::IfcLaborResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_tc1::IfcLaborResource::IfcLaborResource(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_tc1::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcLaborResource::IfcLaborResource(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_tc1::IfcLaborResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcLaborResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLaborResourceType -::Ifc4x3_tc1::IfcLaborResourceTypeEnum::Value Ifc4x3_tc1::IfcLaborResourceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcLaborResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_tc1::IfcLaborResourceTypeEnum::Value Ifc4x3_tc1::IfcLaborResourceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcLaborResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_tc1::IfcLaborResourceType::setPredefinedType(::Ifc4x3_tc1::IfcLaborResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_tc1::IfcLaborResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_tc1::IfcLaborResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[574]); } const IfcParse::entity& Ifc4x3_tc1::IfcLaborResourceType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[574]); } Ifc4x3_tc1::IfcLaborResourceType::IfcLaborResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_tc1::IfcLaborResourceType::IfcLaborResourceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::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_tc1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_tc1::IfcLaborResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_tc1::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcLaborResourceType::IfcLaborResourceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::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_tc1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_tc1::IfcLaborResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_tc1::IfcLaborResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcLagTime -::Ifc4x3_tc1::IfcTimeOrRatioSelect* Ifc4x3_tc1::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcTimeOrRatioSelect>(true); } +::Ifc4x3_tc1::IfcTimeOrRatioSelect* Ifc4x3_tc1::IfcLagTime::LagValue() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcTimeOrRatioSelect>(true); } void Ifc4x3_tc1::IfcLagTime::setLagValue(::Ifc4x3_tc1::IfcTimeOrRatioSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_tc1::IfcTaskDurationEnum::Value Ifc4x3_tc1::IfcLagTime::DurationType() const { return ::Ifc4x3_tc1::IfcTaskDurationEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x3_tc1::IfcTaskDurationEnum::Value Ifc4x3_tc1::IfcLagTime::DurationType() const { return ::Ifc4x3_tc1::IfcTaskDurationEnum::FromString(get_attribute_value(4)); } void Ifc4x3_tc1::IfcLagTime::setDurationType(::Ifc4x3_tc1::IfcTaskDurationEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3_tc1::IfcTaskDurationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_tc1::IfcLagTime::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[576]); } const IfcParse::entity& Ifc4x3_tc1::IfcLagTime::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[576]); } Ifc4x3_tc1::IfcLagTime::IfcLagTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x3_tc1::IfcLagTime::IfcLagTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_tc1::IfcTimeOrRatioSelect* v4_LagValue, ::Ifc4x3_tc1::IfcTaskDurationEnum::Value v5_DurationType) : IfcSchedulingTime(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_LagValue ? v4_LagValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (EnumerationReference(&::Ifc4x3_tc1::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType)));; populate_derived(); } +Ifc4x3_tc1::IfcLagTime::IfcLagTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_tc1::IfcTimeOrRatioSelect* v4_LagValue, ::Ifc4x3_tc1::IfcTaskDurationEnum::Value v5_DurationType) : IfcSchedulingTime(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_LagValue ? v4_LagValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (EnumerationReference(&::Ifc4x3_tc1::IfcTaskDurationEnum::Class(),(size_t)v5_DurationType)));; populate_derived(); } // Function implementations for IfcLamp -boost::optional< ::Ifc4x3_tc1::IfcLampTypeEnum::Value > Ifc4x3_tc1::IfcLamp::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcLampTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcLampTypeEnum::Value > Ifc4x3_tc1::IfcLamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcLampTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcLamp::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcLampTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcLampTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcLamp::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[577]); } const IfcParse::entity& Ifc4x3_tc1::IfcLamp::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[577]); } Ifc4x3_tc1::IfcLamp::IfcLamp(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_tc1::IfcLamp::IfcLamp(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcLampTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcLamp::IfcLamp(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcLampTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcLampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLampType -::Ifc4x3_tc1::IfcLampTypeEnum::Value Ifc4x3_tc1::IfcLampType::PredefinedType() const { return ::Ifc4x3_tc1::IfcLampTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcLampTypeEnum::Value Ifc4x3_tc1::IfcLampType::PredefinedType() const { return ::Ifc4x3_tc1::IfcLampTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcLampType::setPredefinedType(::Ifc4x3_tc1::IfcLampTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcLampTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcLampType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[578]); } const IfcParse::entity& Ifc4x3_tc1::IfcLampType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[578]); } Ifc4x3_tc1::IfcLampType::IfcLampType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_tc1::IfcLampType::IfcLampType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcLampTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcLampType::IfcLampType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcLampTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcLampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLibraryInformation -std::string Ifc4x3_tc1::IfcLibraryInformation::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_tc1::IfcLibraryInformation::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcLibraryInformation::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_tc1::IfcLibraryInformation::Version() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcLibraryInformation::Version() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcLibraryInformation::setVersion(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_tc1::IfcActorSelect* Ifc4x3_tc1::IfcLibraryInformation::Publisher() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcActorSelect>(true); } +::Ifc4x3_tc1::IfcActorSelect* Ifc4x3_tc1::IfcLibraryInformation::Publisher() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcActorSelect>(true); } void Ifc4x3_tc1::IfcLibraryInformation::setPublisher(::Ifc4x3_tc1::IfcActorSelect* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x3_tc1::IfcLibraryInformation::VersionDate() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcLibraryInformation::VersionDate() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcLibraryInformation::setVersionDate(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_tc1::IfcLibraryInformation::Location() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcLibraryInformation::Location() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcLibraryInformation::setLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_tc1::IfcLibraryInformation::Description() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcLibraryInformation::Description() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcLibraryInformation::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x3_tc1::IfcRelAssociatesLibrary::list::ptr Ifc4x3_tc1::IfcLibraryInformation::LibraryInfoForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[911], 5)->as(); } @@ -12035,14 +12035,14 @@ void Ifc4x3_tc1::IfcLibraryInformation::setDescription(boost::optional< std::str const IfcParse::entity& Ifc4x3_tc1::IfcLibraryInformation::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[584]); } const IfcParse::entity& Ifc4x3_tc1::IfcLibraryInformation::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[584]); } Ifc4x3_tc1::IfcLibraryInformation::IfcLibraryInformation(IfcEntityInstanceData&& e) : IfcExternalInformation(std::move(e)) { } -Ifc4x3_tc1::IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, boost::optional< std::string > v2_Version, ::Ifc4x3_tc1::IfcActorSelect* v3_Publisher, boost::optional< std::string > v4_VersionDate, boost::optional< std::string > v5_Location, boost::optional< std::string > v6_Description) : IfcExternalInformation(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, v3_Publisher ? v3_Publisher->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); }; populate_derived(); } +Ifc4x3_tc1::IfcLibraryInformation::IfcLibraryInformation(std::string v1_Name, boost::optional< std::string > v2_Version, ::Ifc4x3_tc1::IfcActorSelect* v3_Publisher, boost::optional< std::string > v4_VersionDate, boost::optional< std::string > v5_Location, boost::optional< std::string > v6_Description) : IfcExternalInformation(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name)); if (v2_Version) {set_attribute_value(1, (*v2_Version)); }set_attribute_value(2, v3_Publisher ? v3_Publisher->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_VersionDate) {set_attribute_value(3, (*v4_VersionDate)); } if (v5_Location) {set_attribute_value(4, (*v5_Location)); } if (v6_Description) {set_attribute_value(5, (*v6_Description)); }; populate_derived(); } // Function implementations for IfcLibraryReference -boost::optional< std::string > Ifc4x3_tc1::IfcLibraryReference::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcLibraryReference::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcLibraryReference::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_tc1::IfcLibraryReference::Language() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcLibraryReference::Language() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcLibraryReference::setLanguage(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_tc1::IfcLibraryInformation* Ifc4x3_tc1::IfcLibraryReference::ReferencedLibrary() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcLibraryInformation>(true); } +::Ifc4x3_tc1::IfcLibraryInformation* Ifc4x3_tc1::IfcLibraryReference::ReferencedLibrary() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcLibraryInformation>(true); } void Ifc4x3_tc1::IfcLibraryReference::setReferencedLibrary(::Ifc4x3_tc1::IfcLibraryInformation* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } ::Ifc4x3_tc1::IfcRelAssociatesLibrary::list::ptr Ifc4x3_tc1::IfcLibraryReference::LibraryRefForObjects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[911], 5)->as(); } @@ -12050,69 +12050,69 @@ void Ifc4x3_tc1::IfcLibraryReference::setReferencedLibrary(::Ifc4x3_tc1::IfcLibr const IfcParse::entity& Ifc4x3_tc1::IfcLibraryReference::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[585]); } const IfcParse::entity& Ifc4x3_tc1::IfcLibraryReference::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[585]); } Ifc4x3_tc1::IfcLibraryReference::IfcLibraryReference(IfcEntityInstanceData&& e) : IfcExternalReference(std::move(e)) { } -Ifc4x3_tc1::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_tc1::IfcLibraryInformation* v6_ReferencedLibrary) : IfcExternalReference(IfcEntityInstanceData(storage_t(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, v6_ReferencedLibrary ? v6_ReferencedLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::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_tc1::IfcLibraryInformation* v6_ReferencedLibrary) : IfcExternalReference(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Location) {set_attribute_value(0, (*v1_Location)); } if (v2_Identification) {set_attribute_value(1, (*v2_Identification)); } if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_Language) {set_attribute_value(4, (*v5_Language)); }set_attribute_value(5, v6_ReferencedLibrary ? v6_ReferencedLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLightDistributionData -double Ifc4x3_tc1::IfcLightDistributionData::MainPlaneAngle() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_tc1::IfcLightDistributionData::MainPlaneAngle() const { double v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcLightDistributionData::setMainPlaneAngle(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::vector< double > /*[1:?]*/ Ifc4x3_tc1::IfcLightDistributionData::SecondaryPlaneAngle() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +std::vector< double > /*[1:?]*/ Ifc4x3_tc1::IfcLightDistributionData::SecondaryPlaneAngle() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcLightDistributionData::setSecondaryPlaneAngle(std::vector< double > /*[1:?]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -std::vector< double > /*[1:?]*/ Ifc4x3_tc1::IfcLightDistributionData::LuminousIntensity() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(2); return v; } +std::vector< double > /*[1:?]*/ Ifc4x3_tc1::IfcLightDistributionData::LuminousIntensity() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcLightDistributionData::setLuminousIntensity(std::vector< double > /*[1:?]*/ v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcLightDistributionData::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[588]); } const IfcParse::entity& Ifc4x3_tc1::IfcLightDistributionData::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[588]); } Ifc4x3_tc1::IfcLightDistributionData::IfcLightDistributionData(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcLightDistributionData::IfcLightDistributionData(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; populate_derived(); } +Ifc4x3_tc1::IfcLightDistributionData::IfcLightDistributionData(double v1_MainPlaneAngle, std::vector< double > /*[1:?]*/ v2_SecondaryPlaneAngle, std::vector< double > /*[1:?]*/ v3_LuminousIntensity) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_MainPlaneAngle));set_attribute_value(1, (v2_SecondaryPlaneAngle));set_attribute_value(2, (v3_LuminousIntensity));; populate_derived(); } // Function implementations for IfcLightFixture -boost::optional< ::Ifc4x3_tc1::IfcLightFixtureTypeEnum::Value > Ifc4x3_tc1::IfcLightFixture::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcLightFixtureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcLightFixtureTypeEnum::Value > Ifc4x3_tc1::IfcLightFixture::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcLightFixtureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcLightFixture::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcLightFixtureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcLightFixtureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcLightFixture::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[591]); } const IfcParse::entity& Ifc4x3_tc1::IfcLightFixture::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[591]); } Ifc4x3_tc1::IfcLightFixture::IfcLightFixture(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_tc1::IfcLightFixture::IfcLightFixture(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcLightFixture::IfcLightFixture(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcLightFixtureTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcLightFixtureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLightFixtureType -::Ifc4x3_tc1::IfcLightFixtureTypeEnum::Value Ifc4x3_tc1::IfcLightFixtureType::PredefinedType() const { return ::Ifc4x3_tc1::IfcLightFixtureTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcLightFixtureTypeEnum::Value Ifc4x3_tc1::IfcLightFixtureType::PredefinedType() const { return ::Ifc4x3_tc1::IfcLightFixtureTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcLightFixtureType::setPredefinedType(::Ifc4x3_tc1::IfcLightFixtureTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcLightFixtureTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcLightFixtureType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[592]); } const IfcParse::entity& Ifc4x3_tc1::IfcLightFixtureType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[592]); } Ifc4x3_tc1::IfcLightFixtureType::IfcLightFixtureType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_tc1::IfcLightFixtureType::IfcLightFixtureType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcLightFixtureTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcLightFixtureType::IfcLightFixtureType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcLightFixtureTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcLightFixtureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLightIntensityDistribution -::Ifc4x3_tc1::IfcLightDistributionCurveEnum::Value Ifc4x3_tc1::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4x3_tc1::IfcLightDistributionCurveEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_tc1::IfcLightDistributionCurveEnum::Value Ifc4x3_tc1::IfcLightIntensityDistribution::LightDistributionCurve() const { return ::Ifc4x3_tc1::IfcLightDistributionCurveEnum::FromString(get_attribute_value(0)); } void Ifc4x3_tc1::IfcLightIntensityDistribution::setLightDistributionCurve(::Ifc4x3_tc1::IfcLightDistributionCurveEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_tc1::IfcLightDistributionCurveEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_tc1::IfcLightDistributionData >::ptr Ifc4x3_tc1::IfcLightIntensityDistribution::DistributionData() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcLightDistributionData >(); } +aggregate_of< ::Ifc4x3_tc1::IfcLightDistributionData >::ptr Ifc4x3_tc1::IfcLightIntensityDistribution::DistributionData() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcLightDistributionData >(); } void Ifc4x3_tc1::IfcLightIntensityDistribution::setDistributionData(aggregate_of< ::Ifc4x3_tc1::IfcLightDistributionData >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcLightIntensityDistribution::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[594]); } const IfcParse::entity& Ifc4x3_tc1::IfcLightIntensityDistribution::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[594]); } Ifc4x3_tc1::IfcLightIntensityDistribution::IfcLightIntensityDistribution(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4x3_tc1::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, aggregate_of< ::Ifc4x3_tc1::IfcLightDistributionData >::ptr v2_DistributionData) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, (v2_DistributionData)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcLightIntensityDistribution::IfcLightIntensityDistribution(::Ifc4x3_tc1::IfcLightDistributionCurveEnum::Value v1_LightDistributionCurve, aggregate_of< ::Ifc4x3_tc1::IfcLightDistributionData >::ptr v2_DistributionData) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcLightDistributionCurveEnum::Class(),(size_t)v1_LightDistributionCurve)));set_attribute_value(1, (v2_DistributionData)->generalize());; populate_derived(); } // Function implementations for IfcLightSource -boost::optional< std::string > Ifc4x3_tc1::IfcLightSource::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcLightSource::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcLightSource::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -::Ifc4x3_tc1::IfcColourRgb* Ifc4x3_tc1::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcColourRgb>(true); } +::Ifc4x3_tc1::IfcColourRgb* Ifc4x3_tc1::IfcLightSource::LightColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcColourRgb>(true); } void Ifc4x3_tc1::IfcLightSource::setLightColour(::Ifc4x3_tc1::IfcColourRgb* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_tc1::IfcLightSource::AmbientIntensity() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_tc1::IfcLightSource::AmbientIntensity() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcLightSource::setAmbientIntensity(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_tc1::IfcLightSource::Intensity() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_tc1::IfcLightSource::Intensity() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcLightSource::setIntensity(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_tc1::IfcLightSource::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[595]); } const IfcParse::entity& Ifc4x3_tc1::IfcLightSource::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[595]); } Ifc4x3_tc1::IfcLightSource::IfcLightSource(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } +Ifc4x3_tc1::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } // Function implementations for IfcLightSourceAmbient @@ -12120,83 +12120,83 @@ Ifc4x3_tc1::IfcLightSource::IfcLightSource(boost::optional< std::string > v1_Nam const IfcParse::entity& Ifc4x3_tc1::IfcLightSourceAmbient::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[596]); } const IfcParse::entity& Ifc4x3_tc1::IfcLightSourceAmbient::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[596]); } Ifc4x3_tc1::IfcLightSourceAmbient::IfcLightSourceAmbient(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x3_tc1::IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcLightSource(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } +Ifc4x3_tc1::IfcLightSourceAmbient::IfcLightSourceAmbient(boost::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }; populate_derived(); } // Function implementations for IfcLightSourceDirectional -::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcDirection>(true); } +::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcLightSourceDirectional::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcDirection>(true); } void Ifc4x3_tc1::IfcLightSourceDirectional::setOrientation(::Ifc4x3_tc1::IfcDirection* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_tc1::IfcLightSourceDirectional::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[597]); } const IfcParse::entity& Ifc4x3_tc1::IfcLightSourceDirectional::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[597]); } Ifc4x3_tc1::IfcLightSourceDirectional::IfcLightSourceDirectional(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x3_tc1::IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_tc1::IfcDirection* v5_Orientation) : IfcLightSource(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Orientation ? v5_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcLightSourceDirectional::IfcLightSourceDirectional(boost::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_tc1::IfcDirection* v5_Orientation) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Orientation ? v5_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLightSourceGoniometric -::Ifc4x3_tc1::IfcAxis2Placement3D* Ifc4x3_tc1::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcAxis2Placement3D>(true); } +::Ifc4x3_tc1::IfcAxis2Placement3D* Ifc4x3_tc1::IfcLightSourceGoniometric::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcAxis2Placement3D>(true); } void Ifc4x3_tc1::IfcLightSourceGoniometric::setPosition(::Ifc4x3_tc1::IfcAxis2Placement3D* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_tc1::IfcColourRgb* Ifc4x3_tc1::IfcLightSourceGoniometric::ColourAppearance() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcColourRgb>(true); } +::Ifc4x3_tc1::IfcColourRgb* Ifc4x3_tc1::IfcLightSourceGoniometric::ColourAppearance() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcColourRgb>(true); } void Ifc4x3_tc1::IfcLightSourceGoniometric::setColourAppearance(::Ifc4x3_tc1::IfcColourRgb* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_tc1::IfcLightSourceGoniometric::ColourTemperature() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_tc1::IfcLightSourceGoniometric::ColourTemperature() const { double v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcLightSourceGoniometric::setColourTemperature(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -double Ifc4x3_tc1::IfcLightSourceGoniometric::LuminousFlux() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x3_tc1::IfcLightSourceGoniometric::LuminousFlux() const { double v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcLightSourceGoniometric::setLuminousFlux(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_tc1::IfcLightEmissionSourceEnum::Value Ifc4x3_tc1::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4x3_tc1::IfcLightEmissionSourceEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_tc1::IfcLightEmissionSourceEnum::Value Ifc4x3_tc1::IfcLightSourceGoniometric::LightEmissionSource() const { return ::Ifc4x3_tc1::IfcLightEmissionSourceEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcLightSourceGoniometric::setLightEmissionSource(::Ifc4x3_tc1::IfcLightEmissionSourceEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcLightEmissionSourceEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_tc1::IfcLightDistributionDataSourceSelect* Ifc4x3_tc1::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_tc1::IfcLightDistributionDataSourceSelect>(true); } +::Ifc4x3_tc1::IfcLightDistributionDataSourceSelect* Ifc4x3_tc1::IfcLightSourceGoniometric::LightDistributionDataSource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_tc1::IfcLightDistributionDataSourceSelect>(true); } void Ifc4x3_tc1::IfcLightSourceGoniometric::setLightDistributionDataSource(::Ifc4x3_tc1::IfcLightDistributionDataSourceSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcLightSourceGoniometric::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[598]); } const IfcParse::entity& Ifc4x3_tc1::IfcLightSourceGoniometric::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[598]); } Ifc4x3_tc1::IfcLightSourceGoniometric::IfcLightSourceGoniometric(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x3_tc1::IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_tc1::IfcAxis2Placement3D* v5_Position, ::Ifc4x3_tc1::IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_tc1::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_tc1::IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource(IfcEntityInstanceData(storage_t(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ColourAppearance ? v6_ColourAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, v10_LightDistributionDataSource ? v10_LightDistributionDataSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcLightSourceGoniometric::IfcLightSourceGoniometric(boost::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_tc1::IfcAxis2Placement3D* v5_Position, ::Ifc4x3_tc1::IfcColourRgb* v6_ColourAppearance, double v7_ColourTemperature, double v8_LuminousFlux, ::Ifc4x3_tc1::IfcLightEmissionSourceEnum::Value v9_LightEmissionSource, ::Ifc4x3_tc1::IfcLightDistributionDataSourceSelect* v10_LightDistributionDataSource) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ColourAppearance ? v6_ColourAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, (v7_ColourTemperature));set_attribute_value(7, (v8_LuminousFlux));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcLightEmissionSourceEnum::Class(),(size_t)v9_LightEmissionSource)));set_attribute_value(9, v10_LightDistributionDataSource ? v10_LightDistributionDataSource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLightSourcePositional -::Ifc4x3_tc1::IfcCartesianPoint* Ifc4x3_tc1::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcCartesianPoint>(true); } +::Ifc4x3_tc1::IfcCartesianPoint* Ifc4x3_tc1::IfcLightSourcePositional::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcCartesianPoint>(true); } void Ifc4x3_tc1::IfcLightSourcePositional::setPosition(::Ifc4x3_tc1::IfcCartesianPoint* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_tc1::IfcLightSourcePositional::Radius() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_tc1::IfcLightSourcePositional::Radius() const { double v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcLightSourcePositional::setRadius(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_tc1::IfcLightSourcePositional::ConstantAttenuation() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_tc1::IfcLightSourcePositional::ConstantAttenuation() const { double v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcLightSourcePositional::setConstantAttenuation(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -double Ifc4x3_tc1::IfcLightSourcePositional::DistanceAttenuation() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x3_tc1::IfcLightSourcePositional::DistanceAttenuation() const { double v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcLightSourcePositional::setDistanceAttenuation(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -double Ifc4x3_tc1::IfcLightSourcePositional::QuadricAttenuation() const { double v = data_.get_attribute_value(8); return v; } +double Ifc4x3_tc1::IfcLightSourcePositional::QuadricAttenuation() const { double v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcLightSourcePositional::setQuadricAttenuation(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_tc1::IfcLightSourcePositional::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[599]); } const IfcParse::entity& Ifc4x3_tc1::IfcLightSourcePositional::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[599]); } Ifc4x3_tc1::IfcLightSourcePositional::IfcLightSourcePositional(IfcEntityInstanceData&& e) : IfcLightSource(std::move(e)) { } -Ifc4x3_tc1::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_tc1::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) : IfcLightSource(IfcEntityInstanceData(storage_t(9))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; populate_derived(); } +Ifc4x3_tc1::IfcLightSourcePositional::IfcLightSourcePositional(boost::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_tc1::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation) : IfcLightSource(IfcEntityInstanceData(in_memory_attribute_storage(9))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));; populate_derived(); } // Function implementations for IfcLightSourceSpot -::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_tc1::IfcDirection>(true); } +::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcLightSourceSpot::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_tc1::IfcDirection>(true); } void Ifc4x3_tc1::IfcLightSourceSpot::setOrientation(::Ifc4x3_tc1::IfcDirection* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3_tc1::IfcLightSourceSpot::ConcentrationExponent() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_tc1::IfcLightSourceSpot::ConcentrationExponent() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_tc1::IfcLightSourceSpot::setConcentrationExponent(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -double Ifc4x3_tc1::IfcLightSourceSpot::SpreadAngle() const { double v = data_.get_attribute_value(11); return v; } +double Ifc4x3_tc1::IfcLightSourceSpot::SpreadAngle() const { double v = get_attribute_value(11); return v; } void Ifc4x3_tc1::IfcLightSourceSpot::setSpreadAngle(double v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } -double Ifc4x3_tc1::IfcLightSourceSpot::BeamWidthAngle() const { double v = data_.get_attribute_value(12); return v; } +double Ifc4x3_tc1::IfcLightSourceSpot::BeamWidthAngle() const { double v = get_attribute_value(12); return v; } void Ifc4x3_tc1::IfcLightSourceSpot::setBeamWidthAngle(double v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } const IfcParse::entity& Ifc4x3_tc1::IfcLightSourceSpot::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[600]); } const IfcParse::entity& Ifc4x3_tc1::IfcLightSourceSpot::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[600]); } Ifc4x3_tc1::IfcLightSourceSpot::IfcLightSourceSpot(IfcEntityInstanceData&& e) : IfcLightSourcePositional(std::move(e)) { } -Ifc4x3_tc1::IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_tc1::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_tc1::IfcDirection* v10_Orientation, boost::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) : IfcLightSourcePositional(IfcEntityInstanceData(storage_t(13))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, v10_Orientation ? v10_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; populate_derived(); } +Ifc4x3_tc1::IfcLightSourceSpot::IfcLightSourceSpot(boost::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcColourRgb* v2_LightColour, boost::optional< double > v3_AmbientIntensity, boost::optional< double > v4_Intensity, ::Ifc4x3_tc1::IfcCartesianPoint* v5_Position, double v6_Radius, double v7_ConstantAttenuation, double v8_DistanceAttenuation, double v9_QuadricAttenuation, ::Ifc4x3_tc1::IfcDirection* v10_Orientation, boost::optional< double > v11_ConcentrationExponent, double v12_SpreadAngle, double v13_BeamWidthAngle) : IfcLightSourcePositional(IfcEntityInstanceData(in_memory_attribute_storage(13))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_LightColour ? v2_LightColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_AmbientIntensity) {set_attribute_value(2, (*v3_AmbientIntensity)); } if (v4_Intensity) {set_attribute_value(3, (*v4_Intensity)); }set_attribute_value(4, v5_Position ? v5_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_Radius));set_attribute_value(6, (v7_ConstantAttenuation));set_attribute_value(7, (v8_DistanceAttenuation));set_attribute_value(8, (v9_QuadricAttenuation));set_attribute_value(9, v10_Orientation ? v10_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_ConcentrationExponent) {set_attribute_value(10, (*v11_ConcentrationExponent)); }set_attribute_value(11, (v12_SpreadAngle));set_attribute_value(12, (v13_BeamWidthAngle));; populate_derived(); } // Function implementations for IfcLine -::Ifc4x3_tc1::IfcCartesianPoint* Ifc4x3_tc1::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCartesianPoint>(true); } +::Ifc4x3_tc1::IfcCartesianPoint* Ifc4x3_tc1::IfcLine::Pnt() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCartesianPoint>(true); } void Ifc4x3_tc1::IfcLine::setPnt(::Ifc4x3_tc1::IfcCartesianPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_tc1::IfcVector* Ifc4x3_tc1::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcVector>(true); } +::Ifc4x3_tc1::IfcVector* Ifc4x3_tc1::IfcLine::Dir() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcVector>(true); } void Ifc4x3_tc1::IfcLine::setDir(::Ifc4x3_tc1::IfcVector* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcLine::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[601]); } const IfcParse::entity& Ifc4x3_tc1::IfcLine::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[601]); } Ifc4x3_tc1::IfcLine::IfcLine(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_tc1::IfcLine::IfcLine(::Ifc4x3_tc1::IfcCartesianPoint* v1_Pnt, ::Ifc4x3_tc1::IfcVector* v2_Dir) : IfcCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Pnt ? v1_Pnt->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Dir ? v2_Dir->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcLine::IfcLine(::Ifc4x3_tc1::IfcCartesianPoint* v1_Pnt, ::Ifc4x3_tc1::IfcVector* v2_Dir) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Pnt ? v1_Pnt->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Dir ? v2_Dir->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLinearElement @@ -12204,19 +12204,19 @@ Ifc4x3_tc1::IfcLine::IfcLine(::Ifc4x3_tc1::IfcCartesianPoint* v1_Pnt, ::Ifc4x3_t const IfcParse::entity& Ifc4x3_tc1::IfcLinearElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[602]); } const IfcParse::entity& Ifc4x3_tc1::IfcLinearElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[602]); } Ifc4x3_tc1::IfcLinearElement::IfcLinearElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_tc1::IfcLinearElement::IfcLinearElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcLinearElement::IfcLinearElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLinearPlacement -::Ifc4x3_tc1::IfcAxis2PlacementLinear* Ifc4x3_tc1::IfcLinearPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcAxis2PlacementLinear>(true); } +::Ifc4x3_tc1::IfcAxis2PlacementLinear* Ifc4x3_tc1::IfcLinearPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcAxis2PlacementLinear>(true); } void Ifc4x3_tc1::IfcLinearPlacement::setRelativePlacement(::Ifc4x3_tc1::IfcAxis2PlacementLinear* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_tc1::IfcAxis2Placement3D* Ifc4x3_tc1::IfcLinearPlacement::CartesianPosition() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcAxis2Placement3D>(true); } +::Ifc4x3_tc1::IfcAxis2Placement3D* Ifc4x3_tc1::IfcLinearPlacement::CartesianPosition() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcAxis2Placement3D>(true); } void Ifc4x3_tc1::IfcLinearPlacement::setCartesianPosition(::Ifc4x3_tc1::IfcAxis2Placement3D* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcLinearPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[605]); } const IfcParse::entity& Ifc4x3_tc1::IfcLinearPlacement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[605]); } Ifc4x3_tc1::IfcLinearPlacement::IfcLinearPlacement(IfcEntityInstanceData&& e) : IfcObjectPlacement(std::move(e)) { } -Ifc4x3_tc1::IfcLinearPlacement::IfcLinearPlacement(::Ifc4x3_tc1::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_tc1::IfcAxis2PlacementLinear* v2_RelativePlacement, ::Ifc4x3_tc1::IfcAxis2Placement3D* v3_CartesianPosition) : IfcObjectPlacement(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CartesianPosition ? v3_CartesianPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcLinearPlacement::IfcLinearPlacement(::Ifc4x3_tc1::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_tc1::IfcAxis2PlacementLinear* v2_RelativePlacement, ::Ifc4x3_tc1::IfcAxis2Placement3D* v3_CartesianPosition) : IfcObjectPlacement(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_CartesianPosition ? v3_CartesianPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLinearPositioningElement @@ -12224,37 +12224,37 @@ Ifc4x3_tc1::IfcLinearPlacement::IfcLinearPlacement(::Ifc4x3_tc1::IfcObjectPlacem const IfcParse::entity& Ifc4x3_tc1::IfcLinearPositioningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[606]); } const IfcParse::entity& Ifc4x3_tc1::IfcLinearPositioningElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[606]); } Ifc4x3_tc1::IfcLinearPositioningElement::IfcLinearPositioningElement(IfcEntityInstanceData&& e) : IfcPositioningElement(std::move(e)) { } -Ifc4x3_tc1::IfcLinearPositioningElement::IfcLinearPositioningElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation) : IfcPositioningElement(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcLinearPositioningElement::IfcLinearPositioningElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation) : IfcPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLiquidTerminal -boost::optional< ::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Value > Ifc4x3_tc1::IfcLiquidTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Value > Ifc4x3_tc1::IfcLiquidTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcLiquidTerminal::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcLiquidTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[610]); } const IfcParse::entity& Ifc4x3_tc1::IfcLiquidTerminal::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[610]); } Ifc4x3_tc1::IfcLiquidTerminal::IfcLiquidTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_tc1::IfcLiquidTerminal::IfcLiquidTerminal(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcLiquidTerminal::IfcLiquidTerminal(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcLiquidTerminalType -::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Value Ifc4x3_tc1::IfcLiquidTerminalType::PredefinedType() const { return ::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Value Ifc4x3_tc1::IfcLiquidTerminalType::PredefinedType() const { return ::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcLiquidTerminalType::setPredefinedType(::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcLiquidTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[611]); } const IfcParse::entity& Ifc4x3_tc1::IfcLiquidTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[611]); } Ifc4x3_tc1::IfcLiquidTerminalType::IfcLiquidTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_tc1::IfcLiquidTerminalType::IfcLiquidTerminalType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcLiquidTerminalType::IfcLiquidTerminalType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcLiquidTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcLocalPlacement -::Ifc4x3_tc1::IfcAxis2Placement* Ifc4x3_tc1::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcAxis2Placement>(true); } +::Ifc4x3_tc1::IfcAxis2Placement* Ifc4x3_tc1::IfcLocalPlacement::RelativePlacement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcAxis2Placement>(true); } void Ifc4x3_tc1::IfcLocalPlacement::setRelativePlacement(::Ifc4x3_tc1::IfcAxis2Placement* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcLocalPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[614]); } const IfcParse::entity& Ifc4x3_tc1::IfcLocalPlacement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[614]); } Ifc4x3_tc1::IfcLocalPlacement::IfcLocalPlacement(IfcEntityInstanceData&& e) : IfcObjectPlacement(std::move(e)) { } -Ifc4x3_tc1::IfcLocalPlacement::IfcLocalPlacement(::Ifc4x3_tc1::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_tc1::IfcAxis2Placement* v2_RelativePlacement) : IfcObjectPlacement(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcLocalPlacement::IfcLocalPlacement(::Ifc4x3_tc1::IfcObjectPlacement* v1_PlacementRelTo, ::Ifc4x3_tc1::IfcAxis2Placement* v2_RelativePlacement) : IfcObjectPlacement(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_RelativePlacement ? v2_RelativePlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcLoop @@ -12262,80 +12262,80 @@ Ifc4x3_tc1::IfcLocalPlacement::IfcLocalPlacement(::Ifc4x3_tc1::IfcObjectPlacemen const IfcParse::entity& Ifc4x3_tc1::IfcLoop::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[617]); } const IfcParse::entity& Ifc4x3_tc1::IfcLoop::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[617]); } Ifc4x3_tc1::IfcLoop::IfcLoop(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_tc1::IfcLoop::IfcLoop() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcManifoldSolidBrep -::Ifc4x3_tc1::IfcClosedShell* Ifc4x3_tc1::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcClosedShell>(true); } +::Ifc4x3_tc1::IfcClosedShell* Ifc4x3_tc1::IfcManifoldSolidBrep::Outer() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcClosedShell>(true); } void Ifc4x3_tc1::IfcManifoldSolidBrep::setOuter(::Ifc4x3_tc1::IfcClosedShell* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_tc1::IfcManifoldSolidBrep::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[624]); } const IfcParse::entity& Ifc4x3_tc1::IfcManifoldSolidBrep::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[624]); } Ifc4x3_tc1::IfcManifoldSolidBrep::IfcManifoldSolidBrep(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3_tc1::IfcManifoldSolidBrep::IfcManifoldSolidBrep(::Ifc4x3_tc1::IfcClosedShell* v1_Outer) : IfcSolidModel(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcManifoldSolidBrep::IfcManifoldSolidBrep(::Ifc4x3_tc1::IfcClosedShell* v1_Outer) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Outer ? v1_Outer->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMapConversion -double Ifc4x3_tc1::IfcMapConversion::Eastings() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_tc1::IfcMapConversion::Eastings() const { double v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcMapConversion::setEastings(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_tc1::IfcMapConversion::Northings() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_tc1::IfcMapConversion::Northings() const { double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcMapConversion::setNorthings(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_tc1::IfcMapConversion::OrthogonalHeight() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_tc1::IfcMapConversion::OrthogonalHeight() const { double v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcMapConversion::setOrthogonalHeight(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< double > Ifc4x3_tc1::IfcMapConversion::XAxisAbscissa() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_tc1::IfcMapConversion::XAxisAbscissa() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcMapConversion::setXAxisAbscissa(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_tc1::IfcMapConversion::XAxisOrdinate() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_tc1::IfcMapConversion::XAxisOrdinate() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcMapConversion::setXAxisOrdinate(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_tc1::IfcMapConversion::Scale() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_tc1::IfcMapConversion::Scale() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcMapConversion::setScale(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_tc1::IfcMapConversion::ScaleY() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_tc1::IfcMapConversion::ScaleY() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcMapConversion::setScaleY(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_tc1::IfcMapConversion::ScaleZ() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_tc1::IfcMapConversion::ScaleZ() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_tc1::IfcMapConversion::setScaleZ(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_tc1::IfcMapConversion::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[625]); } const IfcParse::entity& Ifc4x3_tc1::IfcMapConversion::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[625]); } Ifc4x3_tc1::IfcMapConversion::IfcMapConversion(IfcEntityInstanceData&& e) : IfcCoordinateOperation(std::move(e)) { } -Ifc4x3_tc1::IfcMapConversion::IfcMapConversion(::Ifc4x3_tc1::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_tc1::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(storage_t(10))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); } if (v9_ScaleY) {set_attribute_value(8, (*v9_ScaleY)); } if (v10_ScaleZ) {set_attribute_value(9, (*v10_ScaleZ)); }; populate_derived(); } +Ifc4x3_tc1::IfcMapConversion::IfcMapConversion(::Ifc4x3_tc1::IfcCoordinateReferenceSystemSelect* v1_SourceCRS, ::Ifc4x3_tc1::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(in_memory_attribute_storage(10))) { set_attribute_value(0, v1_SourceCRS ? v1_SourceCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TargetCRS ? v2_TargetCRS->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_Eastings));set_attribute_value(3, (v4_Northings));set_attribute_value(4, (v5_OrthogonalHeight)); if (v6_XAxisAbscissa) {set_attribute_value(5, (*v6_XAxisAbscissa)); } if (v7_XAxisOrdinate) {set_attribute_value(6, (*v7_XAxisOrdinate)); } if (v8_Scale) {set_attribute_value(7, (*v8_Scale)); } if (v9_ScaleY) {set_attribute_value(8, (*v9_ScaleY)); } if (v10_ScaleZ) {set_attribute_value(9, (*v10_ScaleZ)); }; populate_derived(); } // Function implementations for IfcMappedItem -::Ifc4x3_tc1::IfcRepresentationMap* Ifc4x3_tc1::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcRepresentationMap>(true); } +::Ifc4x3_tc1::IfcRepresentationMap* Ifc4x3_tc1::IfcMappedItem::MappingSource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcRepresentationMap>(true); } void Ifc4x3_tc1::IfcMappedItem::setMappingSource(::Ifc4x3_tc1::IfcRepresentationMap* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_tc1::IfcCartesianTransformationOperator* Ifc4x3_tc1::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcCartesianTransformationOperator>(true); } +::Ifc4x3_tc1::IfcCartesianTransformationOperator* Ifc4x3_tc1::IfcMappedItem::MappingTarget() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcCartesianTransformationOperator>(true); } void Ifc4x3_tc1::IfcMappedItem::setMappingTarget(::Ifc4x3_tc1::IfcCartesianTransformationOperator* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcMappedItem::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[626]); } const IfcParse::entity& Ifc4x3_tc1::IfcMappedItem::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[626]); } Ifc4x3_tc1::IfcMappedItem::IfcMappedItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcMappedItem::IfcMappedItem(::Ifc4x3_tc1::IfcRepresentationMap* v1_MappingSource, ::Ifc4x3_tc1::IfcCartesianTransformationOperator* v2_MappingTarget) : IfcRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_MappingSource ? v1_MappingSource->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappingTarget ? v2_MappingTarget->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcMappedItem::IfcMappedItem(::Ifc4x3_tc1::IfcRepresentationMap* v1_MappingSource, ::Ifc4x3_tc1::IfcCartesianTransformationOperator* v2_MappingTarget) : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_MappingSource ? v1_MappingSource->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappingTarget ? v2_MappingTarget->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMarineFacility -boost::optional< ::Ifc4x3_tc1::IfcMarineFacilityTypeEnum::Value > Ifc4x3_tc1::IfcMarineFacility::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcMarineFacilityTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_tc1::IfcMarineFacilityTypeEnum::Value > Ifc4x3_tc1::IfcMarineFacility::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcMarineFacilityTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcMarineFacility::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcMarineFacilityTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcMarineFacilityTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_tc1::IfcMarineFacility::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[627]); } const IfcParse::entity& Ifc4x3_tc1::IfcMarineFacility::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[627]); } Ifc4x3_tc1::IfcMarineFacility::IfcMarineFacility(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x3_tc1::IfcMarineFacility::IfcMarineFacility(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_tc1::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcMarineFacilityTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcMarineFacility::IfcMarineFacility(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_tc1::IfcMarineFacilityTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcMarineFacilityTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMarinePart -boost::optional< ::Ifc4x3_tc1::IfcMarinePartTypeEnum::Value > Ifc4x3_tc1::IfcMarinePart::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcMarinePartTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_tc1::IfcMarinePartTypeEnum::Value > Ifc4x3_tc1::IfcMarinePart::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcMarinePartTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_tc1::IfcMarinePart::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcMarinePartTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_tc1::IfcMarinePartTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_tc1::IfcMarinePart::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[629]); } const IfcParse::entity& Ifc4x3_tc1::IfcMarinePart::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[629]); } Ifc4x3_tc1::IfcMarinePart::IfcMarinePart(IfcEntityInstanceData&& e) : IfcFacilityPart(std::move(e)) { } -Ifc4x3_tc1::IfcMarinePart::IfcMarinePart(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3_tc1::IfcMarinePartTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcMarinePartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcMarinePart::IfcMarinePart(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3_tc1::IfcMarinePartTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcMarinePartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMaterial -std::string Ifc4x3_tc1::IfcMaterial::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_tc1::IfcMaterial::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcMaterial::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_tc1::IfcMaterial::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcMaterial::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcMaterial::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_tc1::IfcMaterial::Category() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcMaterial::Category() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcMaterial::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } ::Ifc4x3_tc1::IfcMaterialDefinitionRepresentation::list::ptr Ifc4x3_tc1::IfcMaterial::HasRepresentation() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[640], 3)->as(); } @@ -12345,30 +12345,30 @@ void Ifc4x3_tc1::IfcMaterial::setCategory(boost::optional< std::string > v) { if const IfcParse::entity& Ifc4x3_tc1::IfcMaterial::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[635]); } const IfcParse::entity& Ifc4x3_tc1::IfcMaterial::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[635]); } Ifc4x3_tc1::IfcMaterial::IfcMaterial(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_tc1::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); }; populate_derived(); } +Ifc4x3_tc1::IfcMaterial::IfcMaterial(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_Category) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_Category) {set_attribute_value(2, (*v3_Category)); }; populate_derived(); } // Function implementations for IfcMaterialClassificationRelationship -aggregate_of< ::Ifc4x3_tc1::IfcClassificationSelect >::ptr Ifc4x3_tc1::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcClassificationSelect >(); } +aggregate_of< ::Ifc4x3_tc1::IfcClassificationSelect >::ptr Ifc4x3_tc1::IfcMaterialClassificationRelationship::MaterialClassifications() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcClassificationSelect >(); } void Ifc4x3_tc1::IfcMaterialClassificationRelationship::setMaterialClassifications(aggregate_of< ::Ifc4x3_tc1::IfcClassificationSelect >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_tc1::IfcMaterial* Ifc4x3_tc1::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcMaterial>(true); } +::Ifc4x3_tc1::IfcMaterial* Ifc4x3_tc1::IfcMaterialClassificationRelationship::ClassifiedMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcMaterial>(true); } void Ifc4x3_tc1::IfcMaterialClassificationRelationship::setClassifiedMaterial(::Ifc4x3_tc1::IfcMaterial* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialClassificationRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[636]); } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialClassificationRelationship::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[636]); } Ifc4x3_tc1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3_tc1::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_tc1::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_MaterialClassifications)->generalize());set_attribute_value(1, v2_ClassifiedMaterial ? v2_ClassifiedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcMaterialClassificationRelationship::IfcMaterialClassificationRelationship(aggregate_of< ::Ifc4x3_tc1::IfcClassificationSelect >::ptr v1_MaterialClassifications, ::Ifc4x3_tc1::IfcMaterial* v2_ClassifiedMaterial) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_MaterialClassifications)->generalize());set_attribute_value(1, v2_ClassifiedMaterial ? v2_ClassifiedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialConstituent -boost::optional< std::string > Ifc4x3_tc1::IfcMaterialConstituent::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcMaterialConstituent::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcMaterialConstituent::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_tc1::IfcMaterialConstituent::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcMaterialConstituent::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcMaterialConstituent::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_tc1::IfcMaterial* Ifc4x3_tc1::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcMaterial>(true); } +::Ifc4x3_tc1::IfcMaterial* Ifc4x3_tc1::IfcMaterialConstituent::Material() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcMaterial>(true); } void Ifc4x3_tc1::IfcMaterialConstituent::setMaterial(::Ifc4x3_tc1::IfcMaterial* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -boost::optional< double > Ifc4x3_tc1::IfcMaterialConstituent::Fraction() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_tc1::IfcMaterialConstituent::Fraction() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcMaterialConstituent::setFraction(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_tc1::IfcMaterialConstituent::Category() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcMaterialConstituent::Category() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcMaterialConstituent::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } ::Ifc4x3_tc1::IfcMaterialConstituentSet::list::ptr Ifc4x3_tc1::IfcMaterialConstituent::ToMaterialConstituentSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[638], 2)->as(); } @@ -12376,21 +12376,21 @@ void Ifc4x3_tc1::IfcMaterialConstituent::setCategory(boost::optional< std::strin const IfcParse::entity& Ifc4x3_tc1::IfcMaterialConstituent::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[637]); } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialConstituent::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[637]); } Ifc4x3_tc1::IfcMaterialConstituent::IfcMaterialConstituent(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_tc1::IfcMaterialConstituent::IfcMaterialConstituent(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcMaterial* v3_Material, boost::optional< double > v4_Fraction, boost::optional< std::string > v5_Category) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); }; populate_derived(); } +Ifc4x3_tc1::IfcMaterialConstituent::IfcMaterialConstituent(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcMaterial* v3_Material, boost::optional< double > v4_Fraction, boost::optional< std::string > v5_Category) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v4_Fraction) {set_attribute_value(3, (*v4_Fraction)); } if (v5_Category) {set_attribute_value(4, (*v5_Category)); }; populate_derived(); } // Function implementations for IfcMaterialConstituentSet -boost::optional< std::string > Ifc4x3_tc1::IfcMaterialConstituentSet::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcMaterialConstituentSet::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcMaterialConstituentSet::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_tc1::IfcMaterialConstituentSet::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcMaterialConstituentSet::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcMaterialConstituentSet::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcMaterialConstituent >::ptr > Ifc4x3_tc1::IfcMaterialConstituentSet::MaterialConstituents() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcMaterialConstituent >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcMaterialConstituent >::ptr > Ifc4x3_tc1::IfcMaterialConstituentSet::MaterialConstituents() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcMaterialConstituent >(); } void Ifc4x3_tc1::IfcMaterialConstituentSet::setMaterialConstituents(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcMaterialConstituent >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialConstituentSet::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[638]); } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialConstituentSet::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[638]); } Ifc4x3_tc1::IfcMaterialConstituentSet::IfcMaterialConstituentSet(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_tc1::IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcMaterialConstituent >::ptr > v3_MaterialConstituents) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, (*v3_MaterialConstituents)->generalize()); }; populate_derived(); } +Ifc4x3_tc1::IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcMaterialConstituent >::ptr > v3_MaterialConstituents) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_MaterialConstituents) {set_attribute_value(2, (*v3_MaterialConstituents)->generalize()); }; populate_derived(); } // Function implementations for IfcMaterialDefinition @@ -12401,32 +12401,32 @@ Ifc4x3_tc1::IfcMaterialConstituentSet::IfcMaterialConstituentSet(boost::optional const IfcParse::entity& Ifc4x3_tc1::IfcMaterialDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[639]); } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialDefinition::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[639]); } Ifc4x3_tc1::IfcMaterialDefinition::IfcMaterialDefinition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcMaterialDefinition::IfcMaterialDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_tc1::IfcMaterialDefinition::IfcMaterialDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcMaterialDefinitionRepresentation -::Ifc4x3_tc1::IfcMaterial* Ifc4x3_tc1::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcMaterial>(true); } +::Ifc4x3_tc1::IfcMaterial* Ifc4x3_tc1::IfcMaterialDefinitionRepresentation::RepresentedMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcMaterial>(true); } void Ifc4x3_tc1::IfcMaterialDefinitionRepresentation::setRepresentedMaterial(::Ifc4x3_tc1::IfcMaterial* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialDefinitionRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[640]); } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialDefinitionRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[640]); } Ifc4x3_tc1::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(IfcEntityInstanceData&& e) : IfcProductRepresentation(std::move(e)) { } -Ifc4x3_tc1::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_tc1::IfcRepresentation >::ptr v3_Representations, ::Ifc4x3_tc1::IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());set_attribute_value(3, v4_RepresentedMaterial ? v4_RepresentedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcMaterialDefinitionRepresentation::IfcMaterialDefinitionRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_tc1::IfcRepresentation >::ptr v3_Representations, ::Ifc4x3_tc1::IfcMaterial* v4_RepresentedMaterial) : IfcProductRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());set_attribute_value(3, v4_RepresentedMaterial ? v4_RepresentedMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialLayer -::Ifc4x3_tc1::IfcMaterial* Ifc4x3_tc1::IfcMaterialLayer::Material() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcMaterial>(true); } +::Ifc4x3_tc1::IfcMaterial* Ifc4x3_tc1::IfcMaterialLayer::Material() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcMaterial>(true); } void Ifc4x3_tc1::IfcMaterialLayer::setMaterial(::Ifc4x3_tc1::IfcMaterial* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_tc1::IfcMaterialLayer::LayerThickness() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_tc1::IfcMaterialLayer::LayerThickness() const { double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcMaterialLayer::setLayerThickness(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< boost::logic::tribool > Ifc4x3_tc1::IfcMaterialLayer::IsVentilated() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::optional< boost::logic::tribool > Ifc4x3_tc1::IfcMaterialLayer::IsVentilated() const { if(get_attribute_value(2).isNull()) { return boost::none; } boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcMaterialLayer::setIsVentilated(boost::optional< boost::logic::tribool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_tc1::IfcMaterialLayer::Name() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcMaterialLayer::Name() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcMaterialLayer::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_tc1::IfcMaterialLayer::Description() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcMaterialLayer::Description() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcMaterialLayer::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_tc1::IfcMaterialLayer::Category() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcMaterialLayer::Category() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcMaterialLayer::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< int > Ifc4x3_tc1::IfcMaterialLayer::Priority() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } int v = data_.get_attribute_value(6); return v; } +boost::optional< int > Ifc4x3_tc1::IfcMaterialLayer::Priority() const { if(get_attribute_value(6).isNull()) { return boost::none; } int v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcMaterialLayer::setPriority(boost::optional< int > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_tc1::IfcMaterialLayerSet::list::ptr Ifc4x3_tc1::IfcMaterialLayer::ToMaterialLayerSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[642], 0)->as(); } @@ -12434,74 +12434,74 @@ void Ifc4x3_tc1::IfcMaterialLayer::setPriority(boost::optional< int > v) { if (v const IfcParse::entity& Ifc4x3_tc1::IfcMaterialLayer::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[641]); } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialLayer::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[641]); } Ifc4x3_tc1::IfcMaterialLayer::IfcMaterialLayer(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_tc1::IfcMaterialLayer::IfcMaterialLayer(::Ifc4x3_tc1::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(storage_t(7))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }; populate_derived(); } +Ifc4x3_tc1::IfcMaterialLayer::IfcMaterialLayer(::Ifc4x3_tc1::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(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }; populate_derived(); } // Function implementations for IfcMaterialLayerSet -aggregate_of< ::Ifc4x3_tc1::IfcMaterialLayer >::ptr Ifc4x3_tc1::IfcMaterialLayerSet::MaterialLayers() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcMaterialLayer >(); } +aggregate_of< ::Ifc4x3_tc1::IfcMaterialLayer >::ptr Ifc4x3_tc1::IfcMaterialLayerSet::MaterialLayers() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcMaterialLayer >(); } void Ifc4x3_tc1::IfcMaterialLayerSet::setMaterialLayers(aggregate_of< ::Ifc4x3_tc1::IfcMaterialLayer >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_tc1::IfcMaterialLayerSet::LayerSetName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcMaterialLayerSet::LayerSetName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcMaterialLayerSet::setLayerSetName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_tc1::IfcMaterialLayerSet::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcMaterialLayerSet::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcMaterialLayerSet::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialLayerSet::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[642]); } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialLayerSet::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[642]); } Ifc4x3_tc1::IfcMaterialLayerSet::IfcMaterialLayerSet(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_tc1::IfcMaterialLayerSet::IfcMaterialLayerSet(aggregate_of< ::Ifc4x3_tc1::IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName, boost::optional< std::string > v3_Description) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_MaterialLayers)->generalize()); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } +Ifc4x3_tc1::IfcMaterialLayerSet::IfcMaterialLayerSet(aggregate_of< ::Ifc4x3_tc1::IfcMaterialLayer >::ptr v1_MaterialLayers, boost::optional< std::string > v2_LayerSetName, boost::optional< std::string > v3_Description) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_MaterialLayers)->generalize()); if (v2_LayerSetName) {set_attribute_value(1, (*v2_LayerSetName)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }; populate_derived(); } // Function implementations for IfcMaterialLayerSetUsage -::Ifc4x3_tc1::IfcMaterialLayerSet* Ifc4x3_tc1::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcMaterialLayerSet>(true); } +::Ifc4x3_tc1::IfcMaterialLayerSet* Ifc4x3_tc1::IfcMaterialLayerSetUsage::ForLayerSet() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcMaterialLayerSet>(true); } void Ifc4x3_tc1::IfcMaterialLayerSetUsage::setForLayerSet(::Ifc4x3_tc1::IfcMaterialLayerSet* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_tc1::IfcLayerSetDirectionEnum::Value Ifc4x3_tc1::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4x3_tc1::IfcLayerSetDirectionEnum::FromString(data_.get_attribute_value(1)); } +::Ifc4x3_tc1::IfcLayerSetDirectionEnum::Value Ifc4x3_tc1::IfcMaterialLayerSetUsage::LayerSetDirection() const { return ::Ifc4x3_tc1::IfcLayerSetDirectionEnum::FromString(get_attribute_value(1)); } void Ifc4x3_tc1::IfcMaterialLayerSetUsage::setLayerSetDirection(::Ifc4x3_tc1::IfcLayerSetDirectionEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x3_tc1::IfcLayerSetDirectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_tc1::IfcDirectionSenseEnum::Value Ifc4x3_tc1::IfcMaterialLayerSetUsage::DirectionSense() const { return ::Ifc4x3_tc1::IfcDirectionSenseEnum::FromString(data_.get_attribute_value(2)); } +::Ifc4x3_tc1::IfcDirectionSenseEnum::Value Ifc4x3_tc1::IfcMaterialLayerSetUsage::DirectionSense() const { return ::Ifc4x3_tc1::IfcDirectionSenseEnum::FromString(get_attribute_value(2)); } void Ifc4x3_tc1::IfcMaterialLayerSetUsage::setDirectionSense(::Ifc4x3_tc1::IfcDirectionSenseEnum::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3_tc1::IfcDirectionSenseEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_tc1::IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_tc1::IfcMaterialLayerSetUsage::OffsetFromReferenceLine() const { double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcMaterialLayerSetUsage::setOffsetFromReferenceLine(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< double > Ifc4x3_tc1::IfcMaterialLayerSetUsage::ReferenceExtent() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_tc1::IfcMaterialLayerSetUsage::ReferenceExtent() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcMaterialLayerSetUsage::setReferenceExtent(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialLayerSetUsage::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[643]); } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialLayerSetUsage::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[643]); } Ifc4x3_tc1::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(IfcEntityInstanceData&& e) : IfcMaterialUsageDefinition(std::move(e)) { } -Ifc4x3_tc1::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(::Ifc4x3_tc1::IfcMaterialLayerSet* v1_ForLayerSet, ::Ifc4x3_tc1::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_tc1::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, boost::optional< double > v5_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_ForLayerSet ? v1_ForLayerSet->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_tc1::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (EnumerationReference(&::Ifc4x3_tc1::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); }; populate_derived(); } +Ifc4x3_tc1::IfcMaterialLayerSetUsage::IfcMaterialLayerSetUsage(::Ifc4x3_tc1::IfcMaterialLayerSet* v1_ForLayerSet, ::Ifc4x3_tc1::IfcLayerSetDirectionEnum::Value v2_LayerSetDirection, ::Ifc4x3_tc1::IfcDirectionSenseEnum::Value v3_DirectionSense, double v4_OffsetFromReferenceLine, boost::optional< double > v5_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_ForLayerSet ? v1_ForLayerSet->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_tc1::IfcLayerSetDirectionEnum::Class(),(size_t)v2_LayerSetDirection)));set_attribute_value(2, (EnumerationReference(&::Ifc4x3_tc1::IfcDirectionSenseEnum::Class(),(size_t)v3_DirectionSense)));set_attribute_value(3, (v4_OffsetFromReferenceLine)); if (v5_ReferenceExtent) {set_attribute_value(4, (*v5_ReferenceExtent)); }; populate_derived(); } // Function implementations for IfcMaterialLayerWithOffsets -::Ifc4x3_tc1::IfcLayerSetDirectionEnum::Value Ifc4x3_tc1::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4x3_tc1::IfcLayerSetDirectionEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_tc1::IfcLayerSetDirectionEnum::Value Ifc4x3_tc1::IfcMaterialLayerWithOffsets::OffsetDirection() const { return ::Ifc4x3_tc1::IfcLayerSetDirectionEnum::FromString(get_attribute_value(7)); } void Ifc4x3_tc1::IfcMaterialLayerWithOffsets::setOffsetDirection(::Ifc4x3_tc1::IfcLayerSetDirectionEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_tc1::IfcLayerSetDirectionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -std::vector< double > /*[1:2]*/ Ifc4x3_tc1::IfcMaterialLayerWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = data_.get_attribute_value(8); return v; } +std::vector< double > /*[1:2]*/ Ifc4x3_tc1::IfcMaterialLayerWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcMaterialLayerWithOffsets::setOffsetValues(std::vector< double > /*[1:2]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialLayerWithOffsets::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[644]); } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialLayerWithOffsets::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[644]); } Ifc4x3_tc1::IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(IfcEntityInstanceData&& e) : IfcMaterialLayer(std::move(e)) { } -Ifc4x3_tc1::IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(::Ifc4x3_tc1::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_tc1::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) : IfcMaterialLayer(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues));; populate_derived(); } +Ifc4x3_tc1::IfcMaterialLayerWithOffsets::IfcMaterialLayerWithOffsets(::Ifc4x3_tc1::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_tc1::IfcLayerSetDirectionEnum::Value v8_OffsetDirection, std::vector< double > /*[1:2]*/ v9_OffsetValues) : IfcMaterialLayer(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, v1_Material ? v1_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_LayerThickness)); if (v3_IsVentilated) {set_attribute_value(2, (*v3_IsVentilated)); } if (v4_Name) {set_attribute_value(3, (*v4_Name)); } if (v5_Description) {set_attribute_value(4, (*v5_Description)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); } if (v7_Priority) {set_attribute_value(6, (*v7_Priority)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcLayerSetDirectionEnum::Class(),(size_t)v8_OffsetDirection)));set_attribute_value(8, (v9_OffsetValues));; populate_derived(); } // Function implementations for IfcMaterialList -aggregate_of< ::Ifc4x3_tc1::IfcMaterial >::ptr Ifc4x3_tc1::IfcMaterialList::Materials() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcMaterial >(); } +aggregate_of< ::Ifc4x3_tc1::IfcMaterial >::ptr Ifc4x3_tc1::IfcMaterialList::Materials() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcMaterial >(); } void Ifc4x3_tc1::IfcMaterialList::setMaterials(aggregate_of< ::Ifc4x3_tc1::IfcMaterial >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialList::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[645]); } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialList::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[645]); } Ifc4x3_tc1::IfcMaterialList::IfcMaterialList(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcMaterialList::IfcMaterialList(aggregate_of< ::Ifc4x3_tc1::IfcMaterial >::ptr v1_Materials) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Materials)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcMaterialList::IfcMaterialList(aggregate_of< ::Ifc4x3_tc1::IfcMaterial >::ptr v1_Materials) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Materials)->generalize());; populate_derived(); } // Function implementations for IfcMaterialProfile -boost::optional< std::string > Ifc4x3_tc1::IfcMaterialProfile::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcMaterialProfile::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcMaterialProfile::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_tc1::IfcMaterialProfile::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcMaterialProfile::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcMaterialProfile::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -::Ifc4x3_tc1::IfcMaterial* Ifc4x3_tc1::IfcMaterialProfile::Material() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcMaterial>(true); } +::Ifc4x3_tc1::IfcMaterial* Ifc4x3_tc1::IfcMaterialProfile::Material() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcMaterial>(true); } void Ifc4x3_tc1::IfcMaterialProfile::setMaterial(::Ifc4x3_tc1::IfcMaterial* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_tc1::IfcProfileDef* Ifc4x3_tc1::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcProfileDef>(true); } +::Ifc4x3_tc1::IfcProfileDef* Ifc4x3_tc1::IfcMaterialProfile::Profile() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcProfileDef>(true); } void Ifc4x3_tc1::IfcMaterialProfile::setProfile(::Ifc4x3_tc1::IfcProfileDef* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< int > Ifc4x3_tc1::IfcMaterialProfile::Priority() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x3_tc1::IfcMaterialProfile::Priority() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcMaterialProfile::setPriority(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_tc1::IfcMaterialProfile::Category() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcMaterialProfile::Category() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcMaterialProfile::setCategory(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } ::Ifc4x3_tc1::IfcMaterialProfileSet::list::ptr Ifc4x3_tc1::IfcMaterialProfile::ToMaterialProfileSet() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[647], 2)->as(); } @@ -12509,83 +12509,83 @@ void Ifc4x3_tc1::IfcMaterialProfile::setCategory(boost::optional< std::string > const IfcParse::entity& Ifc4x3_tc1::IfcMaterialProfile::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[646]); } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialProfile::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[646]); } Ifc4x3_tc1::IfcMaterialProfile::IfcMaterialProfile(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_tc1::IfcMaterialProfile::IfcMaterialProfile(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcMaterial* v3_Material, ::Ifc4x3_tc1::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }; populate_derived(); } +Ifc4x3_tc1::IfcMaterialProfile::IfcMaterialProfile(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcMaterial* v3_Material, ::Ifc4x3_tc1::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }; populate_derived(); } // Function implementations for IfcMaterialProfileSet -boost::optional< std::string > Ifc4x3_tc1::IfcMaterialProfileSet::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcMaterialProfileSet::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcMaterialProfileSet::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_tc1::IfcMaterialProfileSet::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcMaterialProfileSet::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcMaterialProfileSet::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3_tc1::IfcMaterialProfile >::ptr Ifc4x3_tc1::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcMaterialProfile >(); } +aggregate_of< ::Ifc4x3_tc1::IfcMaterialProfile >::ptr Ifc4x3_tc1::IfcMaterialProfileSet::MaterialProfiles() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcMaterialProfile >(); } void Ifc4x3_tc1::IfcMaterialProfileSet::setMaterialProfiles(aggregate_of< ::Ifc4x3_tc1::IfcMaterialProfile >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_tc1::IfcCompositeProfileDef* Ifc4x3_tc1::IfcMaterialProfileSet::CompositeProfile() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcCompositeProfileDef>(true); } +::Ifc4x3_tc1::IfcCompositeProfileDef* Ifc4x3_tc1::IfcMaterialProfileSet::CompositeProfile() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcCompositeProfileDef>(true); } void Ifc4x3_tc1::IfcMaterialProfileSet::setCompositeProfile(::Ifc4x3_tc1::IfcCompositeProfileDef* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialProfileSet::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[647]); } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialProfileSet::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[647]); } Ifc4x3_tc1::IfcMaterialProfileSet::IfcMaterialProfileSet(IfcEntityInstanceData&& e) : IfcMaterialDefinition(std::move(e)) { } -Ifc4x3_tc1::IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_tc1::IfcMaterialProfile >::ptr v3_MaterialProfiles, ::Ifc4x3_tc1::IfcCompositeProfileDef* v4_CompositeProfile) : IfcMaterialDefinition(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_MaterialProfiles)->generalize());set_attribute_value(3, v4_CompositeProfile ? v4_CompositeProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcMaterialProfileSet::IfcMaterialProfileSet(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_tc1::IfcMaterialProfile >::ptr v3_MaterialProfiles, ::Ifc4x3_tc1::IfcCompositeProfileDef* v4_CompositeProfile) : IfcMaterialDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_MaterialProfiles)->generalize());set_attribute_value(3, v4_CompositeProfile ? v4_CompositeProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialProfileSetUsage -::Ifc4x3_tc1::IfcMaterialProfileSet* Ifc4x3_tc1::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcMaterialProfileSet>(true); } +::Ifc4x3_tc1::IfcMaterialProfileSet* Ifc4x3_tc1::IfcMaterialProfileSetUsage::ForProfileSet() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcMaterialProfileSet>(true); } void Ifc4x3_tc1::IfcMaterialProfileSetUsage::setForProfileSet(::Ifc4x3_tc1::IfcMaterialProfileSet* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< int > Ifc4x3_tc1::IfcMaterialProfileSetUsage::CardinalPoint() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } int v = data_.get_attribute_value(1); return v; } +boost::optional< int > Ifc4x3_tc1::IfcMaterialProfileSetUsage::CardinalPoint() const { if(get_attribute_value(1).isNull()) { return boost::none; } int v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcMaterialProfileSetUsage::setCardinalPoint(boost::optional< int > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_tc1::IfcMaterialProfileSetUsage::ReferenceExtent() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_tc1::IfcMaterialProfileSetUsage::ReferenceExtent() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcMaterialProfileSetUsage::setReferenceExtent(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialProfileSetUsage::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[648]); } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialProfileSetUsage::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[648]); } Ifc4x3_tc1::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(IfcEntityInstanceData&& e) : IfcMaterialUsageDefinition(std::move(e)) { } -Ifc4x3_tc1::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4x3_tc1::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }; populate_derived(); } +Ifc4x3_tc1::IfcMaterialProfileSetUsage::IfcMaterialProfileSetUsage(::Ifc4x3_tc1::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent) : IfcMaterialUsageDefinition(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }; populate_derived(); } // Function implementations for IfcMaterialProfileSetUsageTapering -::Ifc4x3_tc1::IfcMaterialProfileSet* Ifc4x3_tc1::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcMaterialProfileSet>(true); } +::Ifc4x3_tc1::IfcMaterialProfileSet* Ifc4x3_tc1::IfcMaterialProfileSetUsageTapering::ForProfileEndSet() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcMaterialProfileSet>(true); } void Ifc4x3_tc1::IfcMaterialProfileSetUsageTapering::setForProfileEndSet(::Ifc4x3_tc1::IfcMaterialProfileSet* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< int > Ifc4x3_tc1::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x3_tc1::IfcMaterialProfileSetUsageTapering::CardinalEndPoint() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcMaterialProfileSetUsageTapering::setCardinalEndPoint(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialProfileSetUsageTapering::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[649]); } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialProfileSetUsageTapering::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[649]); } Ifc4x3_tc1::IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(IfcEntityInstanceData&& e) : IfcMaterialProfileSetUsage(std::move(e)) { } -Ifc4x3_tc1::IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(::Ifc4x3_tc1::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent, ::Ifc4x3_tc1::IfcMaterialProfileSet* v4_ForProfileEndSet, boost::optional< int > v5_CardinalEndPoint) : IfcMaterialProfileSetUsage(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, v4_ForProfileEndSet ? v4_ForProfileEndSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); }; populate_derived(); } +Ifc4x3_tc1::IfcMaterialProfileSetUsageTapering::IfcMaterialProfileSetUsageTapering(::Ifc4x3_tc1::IfcMaterialProfileSet* v1_ForProfileSet, boost::optional< int > v2_CardinalPoint, boost::optional< double > v3_ReferenceExtent, ::Ifc4x3_tc1::IfcMaterialProfileSet* v4_ForProfileEndSet, boost::optional< int > v5_CardinalEndPoint) : IfcMaterialProfileSetUsage(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_ForProfileSet ? v1_ForProfileSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CardinalPoint) {set_attribute_value(1, (*v2_CardinalPoint)); } if (v3_ReferenceExtent) {set_attribute_value(2, (*v3_ReferenceExtent)); }set_attribute_value(3, v4_ForProfileEndSet ? v4_ForProfileEndSet->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_CardinalEndPoint) {set_attribute_value(4, (*v5_CardinalEndPoint)); }; populate_derived(); } // Function implementations for IfcMaterialProfileWithOffsets -std::vector< double > /*[1:2]*/ Ifc4x3_tc1::IfcMaterialProfileWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = data_.get_attribute_value(6); return v; } +std::vector< double > /*[1:2]*/ Ifc4x3_tc1::IfcMaterialProfileWithOffsets::OffsetValues() const { std::vector< double > /*[1:2]*/ v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcMaterialProfileWithOffsets::setOffsetValues(std::vector< double > /*[1:2]*/ v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialProfileWithOffsets::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[650]); } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialProfileWithOffsets::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[650]); } Ifc4x3_tc1::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(IfcEntityInstanceData&& e) : IfcMaterialProfile(std::move(e)) { } -Ifc4x3_tc1::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcMaterial* v3_Material, ::Ifc4x3_tc1::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) : IfcMaterialProfile(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues));; populate_derived(); } +Ifc4x3_tc1::IfcMaterialProfileWithOffsets::IfcMaterialProfileWithOffsets(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcMaterial* v3_Material, ::Ifc4x3_tc1::IfcProfileDef* v4_Profile, boost::optional< int > v5_Priority, boost::optional< std::string > v6_Category, std::vector< double > /*[1:2]*/ v7_OffsetValues) : IfcMaterialProfile(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Material ? v3_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Profile ? v4_Profile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Priority) {set_attribute_value(4, (*v5_Priority)); } if (v6_Category) {set_attribute_value(5, (*v6_Category)); }set_attribute_value(6, (v7_OffsetValues));; populate_derived(); } // Function implementations for IfcMaterialProperties -::Ifc4x3_tc1::IfcMaterialDefinition* Ifc4x3_tc1::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcMaterialDefinition>(true); } +::Ifc4x3_tc1::IfcMaterialDefinition* Ifc4x3_tc1::IfcMaterialProperties::Material() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcMaterialDefinition>(true); } void Ifc4x3_tc1::IfcMaterialProperties::setMaterial(::Ifc4x3_tc1::IfcMaterialDefinition* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[651]); } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialProperties::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[651]); } Ifc4x3_tc1::IfcMaterialProperties::IfcMaterialProperties(IfcEntityInstanceData&& e) : IfcExtendedProperties(std::move(e)) { } -Ifc4x3_tc1::IfcMaterialProperties::IfcMaterialProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_tc1::IfcProperty >::ptr v3_Properties, ::Ifc4x3_tc1::IfcMaterialDefinition* v4_Material) : IfcExtendedProperties(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_Material ? v4_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcMaterialProperties::IfcMaterialProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_tc1::IfcProperty >::ptr v3_Properties, ::Ifc4x3_tc1::IfcMaterialDefinition* v4_Material) : IfcExtendedProperties(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_Material ? v4_Material->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMaterialRelationship -::Ifc4x3_tc1::IfcMaterial* Ifc4x3_tc1::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcMaterial>(true); } +::Ifc4x3_tc1::IfcMaterial* Ifc4x3_tc1::IfcMaterialRelationship::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcMaterial>(true); } void Ifc4x3_tc1::IfcMaterialRelationship::setRelatingMaterial(::Ifc4x3_tc1::IfcMaterial* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_tc1::IfcMaterial >::ptr Ifc4x3_tc1::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_tc1::IfcMaterial >(); } +aggregate_of< ::Ifc4x3_tc1::IfcMaterial >::ptr Ifc4x3_tc1::IfcMaterialRelationship::RelatedMaterials() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_tc1::IfcMaterial >(); } void Ifc4x3_tc1::IfcMaterialRelationship::setRelatedMaterials(aggregate_of< ::Ifc4x3_tc1::IfcMaterial >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_tc1::IfcMaterialRelationship::MaterialExpression() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcMaterialRelationship::MaterialExpression() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcMaterialRelationship::setMaterialExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[652]); } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialRelationship::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[652]); } Ifc4x3_tc1::IfcMaterialRelationship::IfcMaterialRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_tc1::IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcMaterial* v3_RelatingMaterial, aggregate_of< ::Ifc4x3_tc1::IfcMaterial >::ptr v4_RelatedMaterials, boost::optional< std::string > v5_MaterialExpression) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMaterial ? v3_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedMaterials)->generalize()); if (v5_MaterialExpression) {set_attribute_value(4, (*v5_MaterialExpression)); }; populate_derived(); } +Ifc4x3_tc1::IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcMaterial* v3_RelatingMaterial, aggregate_of< ::Ifc4x3_tc1::IfcMaterial >::ptr v4_RelatedMaterials, boost::optional< std::string > v5_MaterialExpression) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingMaterial ? v3_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedMaterials)->generalize()); if (v5_MaterialExpression) {set_attribute_value(4, (*v5_MaterialExpression)); }; populate_derived(); } // Function implementations for IfcMaterialUsageDefinition @@ -12594,103 +12594,103 @@ Ifc4x3_tc1::IfcMaterialRelationship::IfcMaterialRelationship(boost::optional< st const IfcParse::entity& Ifc4x3_tc1::IfcMaterialUsageDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[654]); } const IfcParse::entity& Ifc4x3_tc1::IfcMaterialUsageDefinition::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[654]); } Ifc4x3_tc1::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_tc1::IfcMaterialUsageDefinition::IfcMaterialUsageDefinition() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcMeasureWithUnit -::Ifc4x3_tc1::IfcValue* Ifc4x3_tc1::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcValue>(true); } +::Ifc4x3_tc1::IfcValue* Ifc4x3_tc1::IfcMeasureWithUnit::ValueComponent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcValue>(true); } void Ifc4x3_tc1::IfcMeasureWithUnit::setValueComponent(::Ifc4x3_tc1::IfcValue* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_tc1::IfcUnit* Ifc4x3_tc1::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcUnit>(true); } +::Ifc4x3_tc1::IfcUnit* Ifc4x3_tc1::IfcMeasureWithUnit::UnitComponent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcUnit>(true); } void Ifc4x3_tc1::IfcMeasureWithUnit::setUnitComponent(::Ifc4x3_tc1::IfcUnit* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcMeasureWithUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[656]); } const IfcParse::entity& Ifc4x3_tc1::IfcMeasureWithUnit::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[656]); } Ifc4x3_tc1::IfcMeasureWithUnit::IfcMeasureWithUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcMeasureWithUnit::IfcMeasureWithUnit(::Ifc4x3_tc1::IfcValue* v1_ValueComponent, ::Ifc4x3_tc1::IfcUnit* v2_UnitComponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_ValueComponent ? v1_ValueComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_UnitComponent ? v2_UnitComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcMeasureWithUnit::IfcMeasureWithUnit(::Ifc4x3_tc1::IfcValue* v1_ValueComponent, ::Ifc4x3_tc1::IfcUnit* v2_UnitComponent) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_ValueComponent ? v1_ValueComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_UnitComponent ? v2_UnitComponent->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMechanicalFastener -boost::optional< double > Ifc4x3_tc1::IfcMechanicalFastener::NominalDiameter() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_tc1::IfcMechanicalFastener::NominalDiameter() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcMechanicalFastener::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_tc1::IfcMechanicalFastener::NominalLength() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_tc1::IfcMechanicalFastener::NominalLength() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_tc1::IfcMechanicalFastener::setNominalLength(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::Value > Ifc4x3_tc1::IfcMechanicalFastener::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::Value > Ifc4x3_tc1::IfcMechanicalFastener::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_tc1::IfcMechanicalFastener::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_tc1::IfcMechanicalFastener::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[657]); } const IfcParse::entity& Ifc4x3_tc1::IfcMechanicalFastener::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[657]); } Ifc4x3_tc1::IfcMechanicalFastener::IfcMechanicalFastener(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_tc1::IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength, boost::optional< ::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcMechanicalFastener::IfcMechanicalFastener(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_NominalDiameter, boost::optional< double > v10_NominalLength, boost::optional< ::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::Value > v11_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NominalDiameter) {set_attribute_value(8, (*v9_NominalDiameter)); } if (v10_NominalLength) {set_attribute_value(9, (*v10_NominalLength)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMechanicalFastenerType -::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_tc1::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::Value Ifc4x3_tc1::IfcMechanicalFastenerType::PredefinedType() const { return ::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcMechanicalFastenerType::setPredefinedType(::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3_tc1::IfcMechanicalFastenerType::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_tc1::IfcMechanicalFastenerType::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_tc1::IfcMechanicalFastenerType::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_tc1::IfcMechanicalFastenerType::NominalLength() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_tc1::IfcMechanicalFastenerType::NominalLength() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_tc1::IfcMechanicalFastenerType::setNominalLength(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x3_tc1::IfcMechanicalFastenerType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[658]); } const IfcParse::entity& Ifc4x3_tc1::IfcMechanicalFastenerType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[658]); } Ifc4x3_tc1::IfcMechanicalFastenerType::IfcMechanicalFastenerType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_tc1::IfcMechanicalFastenerType::IfcMechanicalFastenerType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_NominalLength) : IfcElementComponentType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); }; populate_derived(); } +Ifc4x3_tc1::IfcMechanicalFastenerType::IfcMechanicalFastenerType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_NominalLength) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcMechanicalFastenerTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_NominalLength) {set_attribute_value(11, (*v12_NominalLength)); }; populate_derived(); } // Function implementations for IfcMedicalDevice -boost::optional< ::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Value > Ifc4x3_tc1::IfcMedicalDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Value > Ifc4x3_tc1::IfcMedicalDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcMedicalDevice::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcMedicalDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[660]); } const IfcParse::entity& Ifc4x3_tc1::IfcMedicalDevice::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[660]); } Ifc4x3_tc1::IfcMedicalDevice::IfcMedicalDevice(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_tc1::IfcMedicalDevice::IfcMedicalDevice(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcMedicalDevice::IfcMedicalDevice(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMedicalDeviceType -::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Value Ifc4x3_tc1::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Value Ifc4x3_tc1::IfcMedicalDeviceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcMedicalDeviceType::setPredefinedType(::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcMedicalDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[661]); } const IfcParse::entity& Ifc4x3_tc1::IfcMedicalDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[661]); } Ifc4x3_tc1::IfcMedicalDeviceType::IfcMedicalDeviceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_tc1::IfcMedicalDeviceType::IfcMedicalDeviceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcMedicalDeviceType::IfcMedicalDeviceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcMedicalDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMember -boost::optional< ::Ifc4x3_tc1::IfcMemberTypeEnum::Value > Ifc4x3_tc1::IfcMember::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcMemberTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcMemberTypeEnum::Value > Ifc4x3_tc1::IfcMember::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcMemberTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcMember::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcMemberTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcMemberTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcMember::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[663]); } const IfcParse::entity& Ifc4x3_tc1::IfcMember::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[663]); } Ifc4x3_tc1::IfcMember::IfcMember(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_tc1::IfcMember::IfcMember(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcMemberTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcMember::IfcMember(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcMemberTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcMemberTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMemberType -::Ifc4x3_tc1::IfcMemberTypeEnum::Value Ifc4x3_tc1::IfcMemberType::PredefinedType() const { return ::Ifc4x3_tc1::IfcMemberTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcMemberTypeEnum::Value Ifc4x3_tc1::IfcMemberType::PredefinedType() const { return ::Ifc4x3_tc1::IfcMemberTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcMemberType::setPredefinedType(::Ifc4x3_tc1::IfcMemberTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcMemberType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[664]); } const IfcParse::entity& Ifc4x3_tc1::IfcMemberType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[664]); } Ifc4x3_tc1::IfcMemberType::IfcMemberType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_tc1::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMemberTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcMemberType::IfcMemberType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMemberTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcMemberTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMetric -::Ifc4x3_tc1::IfcBenchmarkEnum::Value Ifc4x3_tc1::IfcMetric::Benchmark() const { return ::Ifc4x3_tc1::IfcBenchmarkEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_tc1::IfcBenchmarkEnum::Value Ifc4x3_tc1::IfcMetric::Benchmark() const { return ::Ifc4x3_tc1::IfcBenchmarkEnum::FromString(get_attribute_value(7)); } void Ifc4x3_tc1::IfcMetric::setBenchmark(::Ifc4x3_tc1::IfcBenchmarkEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_tc1::IfcBenchmarkEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc4x3_tc1::IfcMetric::ValueSource() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcMetric::ValueSource() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcMetric::setValueSource(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_tc1::IfcMetricValueSelect* Ifc4x3_tc1::IfcMetric::DataValue() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_tc1::IfcMetricValueSelect>(true); } +::Ifc4x3_tc1::IfcMetricValueSelect* Ifc4x3_tc1::IfcMetric::DataValue() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_tc1::IfcMetricValueSelect>(true); } void Ifc4x3_tc1::IfcMetric::setDataValue(::Ifc4x3_tc1::IfcMetricValueSelect* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_tc1::IfcReference* Ifc4x3_tc1::IfcMetric::ReferencePath() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_tc1::IfcReference>(true); } +::Ifc4x3_tc1::IfcReference* Ifc4x3_tc1::IfcMetric::ReferencePath() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_tc1::IfcReference>(true); } void Ifc4x3_tc1::IfcMetric::setReferencePath(::Ifc4x3_tc1::IfcReference* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_tc1::IfcMetric::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[666]); } const IfcParse::entity& Ifc4x3_tc1::IfcMetric::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[666]); } Ifc4x3_tc1::IfcMetric::IfcMetric(IfcEntityInstanceData&& e) : IfcConstraint(std::move(e)) { } -Ifc4x3_tc1::IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_tc1::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_tc1::IfcBenchmarkEnum::Value v8_Benchmark, boost::optional< std::string > v9_ValueSource, ::Ifc4x3_tc1::IfcMetricValueSelect* v10_DataValue, ::Ifc4x3_tc1::IfcReference* v11_ReferencePath) : IfcConstraint(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_tc1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, v10_DataValue ? v10_DataValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ReferencePath ? v11_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_tc1::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, ::Ifc4x3_tc1::IfcBenchmarkEnum::Value v8_Benchmark, boost::optional< std::string > v9_ValueSource, ::Ifc4x3_tc1::IfcMetricValueSelect* v10_DataValue, ::Ifc4x3_tc1::IfcReference* v11_ReferencePath) : IfcConstraint(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_tc1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); }set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcBenchmarkEnum::Class(),(size_t)v8_Benchmark))); if (v9_ValueSource) {set_attribute_value(8, (*v9_ValueSource)); }set_attribute_value(9, v10_DataValue ? v10_DataValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ReferencePath ? v11_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcMirroredProfileDef @@ -12698,112 +12698,112 @@ Ifc4x3_tc1::IfcMetric::IfcMetric(std::string v1_Name, boost::optional< std::stri const IfcParse::entity& Ifc4x3_tc1::IfcMirroredProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[668]); } const IfcParse::entity& Ifc4x3_tc1::IfcMirroredProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[668]); } Ifc4x3_tc1::IfcMirroredProfileDef::IfcMirroredProfileDef(IfcEntityInstanceData&& e) : IfcDerivedProfileDef(std::move(e)) { } -Ifc4x3_tc1::IfcMirroredProfileDef::IfcMirroredProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcProfileDef* v3_ParentProfile, boost::optional< std::string > v5_Label) : IfcDerivedProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } +Ifc4x3_tc1::IfcMirroredProfileDef::IfcMirroredProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcProfileDef* v3_ParentProfile, boost::optional< std::string > v5_Label) : IfcDerivedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_ParentProfile ? v3_ParentProfile->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Label) {set_attribute_value(4, (*v5_Label)); }; populate_derived(); } // Function implementations for IfcMobileTelecommunicationsAppliance -boost::optional< ::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > Ifc4x3_tc1::IfcMobileTelecommunicationsAppliance::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > Ifc4x3_tc1::IfcMobileTelecommunicationsAppliance::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcMobileTelecommunicationsAppliance::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcMobileTelecommunicationsAppliance::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[669]); } const IfcParse::entity& Ifc4x3_tc1::IfcMobileTelecommunicationsAppliance::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[669]); } Ifc4x3_tc1::IfcMobileTelecommunicationsAppliance::IfcMobileTelecommunicationsAppliance(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_tc1::IfcMobileTelecommunicationsAppliance::IfcMobileTelecommunicationsAppliance(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcMobileTelecommunicationsAppliance::IfcMobileTelecommunicationsAppliance(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMobileTelecommunicationsApplianceType -::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceType::setPredefinedType(::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[670]); } const IfcParse::entity& Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[670]); } Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceType::IfcMobileTelecommunicationsApplianceType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceType::IfcMobileTelecommunicationsApplianceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceType::IfcMobileTelecommunicationsApplianceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcMobileTelecommunicationsApplianceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMonetaryUnit -std::string Ifc4x3_tc1::IfcMonetaryUnit::Currency() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_tc1::IfcMonetaryUnit::Currency() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcMonetaryUnit::setCurrency(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_tc1::IfcMonetaryUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[683]); } const IfcParse::entity& Ifc4x3_tc1::IfcMonetaryUnit::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[683]); } Ifc4x3_tc1::IfcMonetaryUnit::IfcMonetaryUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcMonetaryUnit::IfcMonetaryUnit(std::string v1_Currency) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Currency));; populate_derived(); } +Ifc4x3_tc1::IfcMonetaryUnit::IfcMonetaryUnit(std::string v1_Currency) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Currency));; populate_derived(); } // Function implementations for IfcMooringDevice -boost::optional< ::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Value > Ifc4x3_tc1::IfcMooringDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Value > Ifc4x3_tc1::IfcMooringDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcMooringDevice::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcMooringDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[685]); } const IfcParse::entity& Ifc4x3_tc1::IfcMooringDevice::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[685]); } Ifc4x3_tc1::IfcMooringDevice::IfcMooringDevice(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_tc1::IfcMooringDevice::IfcMooringDevice(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcMooringDevice::IfcMooringDevice(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMooringDeviceType -::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Value Ifc4x3_tc1::IfcMooringDeviceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Value Ifc4x3_tc1::IfcMooringDeviceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcMooringDeviceType::setPredefinedType(::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcMooringDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[686]); } const IfcParse::entity& Ifc4x3_tc1::IfcMooringDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[686]); } Ifc4x3_tc1::IfcMooringDeviceType::IfcMooringDeviceType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_tc1::IfcMooringDeviceType::IfcMooringDeviceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcMooringDeviceType::IfcMooringDeviceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcMooringDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcMotorConnection -boost::optional< ::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Value > Ifc4x3_tc1::IfcMotorConnection::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Value > Ifc4x3_tc1::IfcMotorConnection::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcMotorConnection::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcMotorConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[688]); } const IfcParse::entity& Ifc4x3_tc1::IfcMotorConnection::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[688]); } Ifc4x3_tc1::IfcMotorConnection::IfcMotorConnection(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_tc1::IfcMotorConnection::IfcMotorConnection(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcMotorConnection::IfcMotorConnection(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcMotorConnectionType -::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Value Ifc4x3_tc1::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Value Ifc4x3_tc1::IfcMotorConnectionType::PredefinedType() const { return ::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcMotorConnectionType::setPredefinedType(::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcMotorConnectionType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[689]); } const IfcParse::entity& Ifc4x3_tc1::IfcMotorConnectionType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[689]); } Ifc4x3_tc1::IfcMotorConnectionType::IfcMotorConnectionType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_tc1::IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcMotorConnectionType::IfcMotorConnectionType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcMotorConnectionTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcNamedUnit -::Ifc4x3_tc1::IfcDimensionalExponents* Ifc4x3_tc1::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcDimensionalExponents>(true); } +::Ifc4x3_tc1::IfcDimensionalExponents* Ifc4x3_tc1::IfcNamedUnit::Dimensions() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcDimensionalExponents>(true); } void Ifc4x3_tc1::IfcNamedUnit::setDimensions(::Ifc4x3_tc1::IfcDimensionalExponents* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_tc1::IfcUnitEnum::Value Ifc4x3_tc1::IfcNamedUnit::UnitType() const { return ::Ifc4x3_tc1::IfcUnitEnum::FromString(data_.get_attribute_value(1)); } +::Ifc4x3_tc1::IfcUnitEnum::Value Ifc4x3_tc1::IfcNamedUnit::UnitType() const { return ::Ifc4x3_tc1::IfcUnitEnum::FromString(get_attribute_value(1)); } void Ifc4x3_tc1::IfcNamedUnit::setUnitType(::Ifc4x3_tc1::IfcUnitEnum::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x3_tc1::IfcUnitEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcNamedUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[691]); } const IfcParse::entity& Ifc4x3_tc1::IfcNamedUnit::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[691]); } Ifc4x3_tc1::IfcNamedUnit::IfcNamedUnit(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcNamedUnit::IfcNamedUnit(::Ifc4x3_tc1::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_tc1::IfcUnitEnum::Value v2_UnitType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_tc1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; populate_derived(); } +Ifc4x3_tc1::IfcNamedUnit::IfcNamedUnit(::Ifc4x3_tc1::IfcDimensionalExponents* v1_Dimensions, ::Ifc4x3_tc1::IfcUnitEnum::Value v2_UnitType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Dimensions ? v1_Dimensions->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (EnumerationReference(&::Ifc4x3_tc1::IfcUnitEnum::Class(),(size_t)v2_UnitType)));; populate_derived(); } // Function implementations for IfcNavigationElement -boost::optional< ::Ifc4x3_tc1::IfcNavigationElementTypeEnum::Value > Ifc4x3_tc1::IfcNavigationElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcNavigationElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcNavigationElementTypeEnum::Value > Ifc4x3_tc1::IfcNavigationElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcNavigationElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcNavigationElement::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcNavigationElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcNavigationElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcNavigationElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[692]); } const IfcParse::entity& Ifc4x3_tc1::IfcNavigationElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[692]); } Ifc4x3_tc1::IfcNavigationElement::IfcNavigationElement(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_tc1::IfcNavigationElement::IfcNavigationElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcNavigationElementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcNavigationElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcNavigationElement::IfcNavigationElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcNavigationElementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcNavigationElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcNavigationElementType -::Ifc4x3_tc1::IfcNavigationElementTypeEnum::Value Ifc4x3_tc1::IfcNavigationElementType::PredefinedType() const { return ::Ifc4x3_tc1::IfcNavigationElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcNavigationElementTypeEnum::Value Ifc4x3_tc1::IfcNavigationElementType::PredefinedType() const { return ::Ifc4x3_tc1::IfcNavigationElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcNavigationElementType::setPredefinedType(::Ifc4x3_tc1::IfcNavigationElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcNavigationElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcNavigationElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[693]); } const IfcParse::entity& Ifc4x3_tc1::IfcNavigationElementType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[693]); } Ifc4x3_tc1::IfcNavigationElementType::IfcNavigationElementType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_tc1::IfcNavigationElementType::IfcNavigationElementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcNavigationElementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcNavigationElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcNavigationElementType::IfcNavigationElementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcNavigationElementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcNavigationElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcObject -boost::optional< std::string > Ifc4x3_tc1::IfcObject::ObjectType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcObject::ObjectType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcObject::setObjectType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } ::Ifc4x3_tc1::IfcRelDefinesByObject::list::ptr Ifc4x3_tc1::IfcObject::IsDeclaredBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[930], 4)->as(); } @@ -12814,7 +12814,7 @@ void Ifc4x3_tc1::IfcObject::setObjectType(boost::optional< std::string > v) { if const IfcParse::entity& Ifc4x3_tc1::IfcObject::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[698]); } const IfcParse::entity& Ifc4x3_tc1::IfcObject::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[698]); } Ifc4x3_tc1::IfcObject::IfcObject(IfcEntityInstanceData&& e) : IfcObjectDefinition(std::move(e)) { } -Ifc4x3_tc1::IfcObject::IfcObject(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObjectDefinition(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc4x3_tc1::IfcObject::IfcObject(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcObjectDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcObjectDefinition @@ -12829,10 +12829,10 @@ Ifc4x3_tc1::IfcObject::IfcObject(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwner const IfcParse::entity& Ifc4x3_tc1::IfcObjectDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[699]); } const IfcParse::entity& Ifc4x3_tc1::IfcObjectDefinition::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[699]); } Ifc4x3_tc1::IfcObjectDefinition::IfcObjectDefinition(IfcEntityInstanceData&& e) : IfcRoot(std::move(e)) { } -Ifc4x3_tc1::IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_tc1::IfcObjectDefinition::IfcObjectDefinition(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcObjectPlacement -::Ifc4x3_tc1::IfcObjectPlacement* Ifc4x3_tc1::IfcObjectPlacement::PlacementRelTo() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcObjectPlacement>(true); } +::Ifc4x3_tc1::IfcObjectPlacement* Ifc4x3_tc1::IfcObjectPlacement::PlacementRelTo() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcObjectPlacement>(true); } void Ifc4x3_tc1::IfcObjectPlacement::setPlacementRelTo(::Ifc4x3_tc1::IfcObjectPlacement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_tc1::IfcProduct::list::ptr Ifc4x3_tc1::IfcObjectPlacement::PlacesObject() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[798], 5)->as(); } @@ -12841,99 +12841,99 @@ void Ifc4x3_tc1::IfcObjectPlacement::setPlacementRelTo(::Ifc4x3_tc1::IfcObjectPl const IfcParse::entity& Ifc4x3_tc1::IfcObjectPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[702]); } const IfcParse::entity& Ifc4x3_tc1::IfcObjectPlacement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[702]); } Ifc4x3_tc1::IfcObjectPlacement::IfcObjectPlacement(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcObjectPlacement::IfcObjectPlacement(::Ifc4x3_tc1::IfcObjectPlacement* v1_PlacementRelTo) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcObjectPlacement::IfcObjectPlacement(::Ifc4x3_tc1::IfcObjectPlacement* v1_PlacementRelTo) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_PlacementRelTo ? v1_PlacementRelTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcObjective -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcConstraint >::ptr > Ifc4x3_tc1::IfcObjective::BenchmarkValues() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_tc1::IfcConstraint >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcConstraint >::ptr > Ifc4x3_tc1::IfcObjective::BenchmarkValues() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_tc1::IfcConstraint >(); } void Ifc4x3_tc1::IfcObjective::setBenchmarkValues(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcConstraint >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3_tc1::IfcLogicalOperatorEnum::Value > Ifc4x3_tc1::IfcObjective::LogicalAggregator() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcLogicalOperatorEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcLogicalOperatorEnum::Value > Ifc4x3_tc1::IfcObjective::LogicalAggregator() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcLogicalOperatorEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcObjective::setLogicalAggregator(boost::optional< ::Ifc4x3_tc1::IfcLogicalOperatorEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcLogicalOperatorEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -::Ifc4x3_tc1::IfcObjectiveEnum::Value Ifc4x3_tc1::IfcObjective::ObjectiveQualifier() const { return ::Ifc4x3_tc1::IfcObjectiveEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcObjectiveEnum::Value Ifc4x3_tc1::IfcObjective::ObjectiveQualifier() const { return ::Ifc4x3_tc1::IfcObjectiveEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcObjective::setObjectiveQualifier(::Ifc4x3_tc1::IfcObjectiveEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcObjectiveEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3_tc1::IfcObjective::UserDefinedQualifier() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcObjective::UserDefinedQualifier() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_tc1::IfcObjective::setUserDefinedQualifier(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_tc1::IfcObjective::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[700]); } const IfcParse::entity& Ifc4x3_tc1::IfcObjective::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[700]); } Ifc4x3_tc1::IfcObjective::IfcObjective(IfcEntityInstanceData&& e) : IfcConstraint(std::move(e)) { } -Ifc4x3_tc1::IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_tc1::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcConstraint >::ptr > v8_BenchmarkValues, boost::optional< ::Ifc4x3_tc1::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_tc1::IfcObjectiveEnum::Value v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier) : IfcConstraint(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_tc1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, (*v8_BenchmarkValues)->generalize()); } if (v9_LogicalAggregator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; populate_derived(); } +Ifc4x3_tc1::IfcObjective::IfcObjective(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcConstraintEnum::Value v3_ConstraintGrade, boost::optional< std::string > v4_ConstraintSource, ::Ifc4x3_tc1::IfcActorSelect* v5_CreatingActor, boost::optional< std::string > v6_CreationTime, boost::optional< std::string > v7_UserDefinedGrade, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcConstraint >::ptr > v8_BenchmarkValues, boost::optional< ::Ifc4x3_tc1::IfcLogicalOperatorEnum::Value > v9_LogicalAggregator, ::Ifc4x3_tc1::IfcObjectiveEnum::Value v10_ObjectiveQualifier, boost::optional< std::string > v11_UserDefinedQualifier) : IfcConstraint(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (EnumerationReference(&::Ifc4x3_tc1::IfcConstraintEnum::Class(),(size_t)v3_ConstraintGrade))); if (v4_ConstraintSource) {set_attribute_value(3, (*v4_ConstraintSource)); }set_attribute_value(4, v5_CreatingActor ? v5_CreatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_CreationTime) {set_attribute_value(5, (*v6_CreationTime)); } if (v7_UserDefinedGrade) {set_attribute_value(6, (*v7_UserDefinedGrade)); } if (v8_BenchmarkValues) {set_attribute_value(7, (*v8_BenchmarkValues)->generalize()); } if (v9_LogicalAggregator) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcLogicalOperatorEnum::Class(),(size_t)*v9_LogicalAggregator))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcObjectiveEnum::Class(),(size_t)v10_ObjectiveQualifier))); if (v11_UserDefinedQualifier) {set_attribute_value(10, (*v11_UserDefinedQualifier)); }; populate_derived(); } // Function implementations for IfcOccupant -boost::optional< ::Ifc4x3_tc1::IfcOccupantTypeEnum::Value > Ifc4x3_tc1::IfcOccupant::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcOccupantTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_tc1::IfcOccupantTypeEnum::Value > Ifc4x3_tc1::IfcOccupant::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcOccupantTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_tc1::IfcOccupant::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcOccupantTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_tc1::IfcOccupantTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_tc1::IfcOccupant::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[704]); } const IfcParse::entity& Ifc4x3_tc1::IfcOccupant::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[704]); } Ifc4x3_tc1::IfcOccupant::IfcOccupant(IfcEntityInstanceData&& e) : IfcActor(std::move(e)) { } -Ifc4x3_tc1::IfcOccupant::IfcOccupant(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcActorSelect* v6_TheActor, boost::optional< ::Ifc4x3_tc1::IfcOccupantTypeEnum::Value > v7_PredefinedType) : IfcActor(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_tc1::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcOccupant::IfcOccupant(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcActorSelect* v6_TheActor, boost::optional< ::Ifc4x3_tc1::IfcOccupantTypeEnum::Value > v7_PredefinedType) : IfcActor(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_TheActor ? v6_TheActor->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_tc1::IfcOccupantTypeEnum::Class(),(size_t)*v7_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOffsetCurve -::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcOffsetCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCurve>(true); } +::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcOffsetCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCurve>(true); } void Ifc4x3_tc1::IfcOffsetCurve::setBasisCurve(::Ifc4x3_tc1::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_tc1::IfcOffsetCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[706]); } const IfcParse::entity& Ifc4x3_tc1::IfcOffsetCurve::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[706]); } Ifc4x3_tc1::IfcOffsetCurve::IfcOffsetCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_tc1::IfcOffsetCurve::IfcOffsetCurve(::Ifc4x3_tc1::IfcCurve* v1_BasisCurve) : IfcCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcOffsetCurve::IfcOffsetCurve(::Ifc4x3_tc1::IfcCurve* v1_BasisCurve) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcOffsetCurve2D -double Ifc4x3_tc1::IfcOffsetCurve2D::Distance() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_tc1::IfcOffsetCurve2D::Distance() const { double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcOffsetCurve2D::setDistance(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::logic::tribool Ifc4x3_tc1::IfcOffsetCurve2D::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::logic::tribool Ifc4x3_tc1::IfcOffsetCurve2D::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcOffsetCurve2D::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcOffsetCurve2D::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[707]); } const IfcParse::entity& Ifc4x3_tc1::IfcOffsetCurve2D::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[707]); } Ifc4x3_tc1::IfcOffsetCurve2D::IfcOffsetCurve2D(IfcEntityInstanceData&& e) : IfcOffsetCurve(std::move(e)) { } -Ifc4x3_tc1::IfcOffsetCurve2D::IfcOffsetCurve2D(::Ifc4x3_tc1::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) : IfcOffsetCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; populate_derived(); } +Ifc4x3_tc1::IfcOffsetCurve2D::IfcOffsetCurve2D(::Ifc4x3_tc1::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect) : IfcOffsetCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));; populate_derived(); } // Function implementations for IfcOffsetCurve3D -double Ifc4x3_tc1::IfcOffsetCurve3D::Distance() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_tc1::IfcOffsetCurve3D::Distance() const { double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcOffsetCurve3D::setDistance(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::logic::tribool Ifc4x3_tc1::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = data_.get_attribute_value(2); return v; } +boost::logic::tribool Ifc4x3_tc1::IfcOffsetCurve3D::SelfIntersect() const { boost::logic::tribool v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcOffsetCurve3D::setSelfIntersect(boost::logic::tribool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcDirection>(true); } +::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcOffsetCurve3D::RefDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcDirection>(true); } void Ifc4x3_tc1::IfcOffsetCurve3D::setRefDirection(::Ifc4x3_tc1::IfcDirection* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcOffsetCurve3D::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[708]); } const IfcParse::entity& Ifc4x3_tc1::IfcOffsetCurve3D::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[708]); } Ifc4x3_tc1::IfcOffsetCurve3D::IfcOffsetCurve3D(IfcEntityInstanceData&& e) : IfcOffsetCurve(std::move(e)) { } -Ifc4x3_tc1::IfcOffsetCurve3D::IfcOffsetCurve3D(::Ifc4x3_tc1::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_tc1::IfcDirection* v4_RefDirection) : IfcOffsetCurve(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, v4_RefDirection ? v4_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcOffsetCurve3D::IfcOffsetCurve3D(::Ifc4x3_tc1::IfcCurve* v1_BasisCurve, double v2_Distance, boost::logic::tribool v3_SelfIntersect, ::Ifc4x3_tc1::IfcDirection* v4_RefDirection) : IfcOffsetCurve(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Distance));set_attribute_value(2, (v3_SelfIntersect));set_attribute_value(3, v4_RefDirection ? v4_RefDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcOffsetCurveByDistances -aggregate_of< ::Ifc4x3_tc1::IfcPointByDistanceExpression >::ptr Ifc4x3_tc1::IfcOffsetCurveByDistances::OffsetValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcPointByDistanceExpression >(); } +aggregate_of< ::Ifc4x3_tc1::IfcPointByDistanceExpression >::ptr Ifc4x3_tc1::IfcOffsetCurveByDistances::OffsetValues() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcPointByDistanceExpression >(); } void Ifc4x3_tc1::IfcOffsetCurveByDistances::setOffsetValues(aggregate_of< ::Ifc4x3_tc1::IfcPointByDistanceExpression >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_tc1::IfcOffsetCurveByDistances::Tag() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcOffsetCurveByDistances::Tag() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcOffsetCurveByDistances::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_tc1::IfcOffsetCurveByDistances::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[709]); } const IfcParse::entity& Ifc4x3_tc1::IfcOffsetCurveByDistances::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[709]); } Ifc4x3_tc1::IfcOffsetCurveByDistances::IfcOffsetCurveByDistances(IfcEntityInstanceData&& e) : IfcOffsetCurve(std::move(e)) { } -Ifc4x3_tc1::IfcOffsetCurveByDistances::IfcOffsetCurveByDistances(::Ifc4x3_tc1::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_tc1::IfcPointByDistanceExpression >::ptr v2_OffsetValues, boost::optional< std::string > v3_Tag) : IfcOffsetCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_OffsetValues)->generalize()); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; populate_derived(); } +Ifc4x3_tc1::IfcOffsetCurveByDistances::IfcOffsetCurveByDistances(::Ifc4x3_tc1::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_tc1::IfcPointByDistanceExpression >::ptr v2_OffsetValues, boost::optional< std::string > v3_Tag) : IfcOffsetCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_OffsetValues)->generalize()); if (v3_Tag) {set_attribute_value(2, (*v3_Tag)); }; populate_derived(); } // Function implementations for IfcOpenCrossProfileDef -bool Ifc4x3_tc1::IfcOpenCrossProfileDef::HorizontalWidths() const { bool v = data_.get_attribute_value(2); return v; } +bool Ifc4x3_tc1::IfcOpenCrossProfileDef::HorizontalWidths() const { bool v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcOpenCrossProfileDef::setHorizontalWidths(bool v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::vector< double > /*[1:?]*/ Ifc4x3_tc1::IfcOpenCrossProfileDef::Widths() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +std::vector< double > /*[1:?]*/ Ifc4x3_tc1::IfcOpenCrossProfileDef::Widths() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcOpenCrossProfileDef::setWidths(std::vector< double > /*[1:?]*/ v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -std::vector< double > /*[1:?]*/ Ifc4x3_tc1::IfcOpenCrossProfileDef::Slopes() const { std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +std::vector< double > /*[1:?]*/ Ifc4x3_tc1::IfcOpenCrossProfileDef::Slopes() const { std::vector< double > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcOpenCrossProfileDef::setSlopes(std::vector< double > /*[1:?]*/ v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::optional< std::vector< std::string > /*[2:?]*/ > Ifc4x3_tc1::IfcOpenCrossProfileDef::Tags() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[2:?]*/ v = data_.get_attribute_value(5); return v; } +boost::optional< std::vector< std::string > /*[2:?]*/ > Ifc4x3_tc1::IfcOpenCrossProfileDef::Tags() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[2:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcOpenCrossProfileDef::setTags(boost::optional< std::vector< std::string > /*[2:?]*/ > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_tc1::IfcCartesianPoint* Ifc4x3_tc1::IfcOpenCrossProfileDef::OffsetPoint() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcCartesianPoint>(true); } +::Ifc4x3_tc1::IfcCartesianPoint* Ifc4x3_tc1::IfcOpenCrossProfileDef::OffsetPoint() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcCartesianPoint>(true); } void Ifc4x3_tc1::IfcOpenCrossProfileDef::setOffsetPoint(::Ifc4x3_tc1::IfcCartesianPoint* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_tc1::IfcOpenCrossProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[710]); } const IfcParse::entity& Ifc4x3_tc1::IfcOpenCrossProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[710]); } Ifc4x3_tc1::IfcOpenCrossProfileDef::IfcOpenCrossProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_tc1::IfcOpenCrossProfileDef::IfcOpenCrossProfileDef(::Ifc4x3_tc1::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, ::Ifc4x3_tc1::IfcCartesianPoint* v7_OffsetPoint) : IfcProfileDef(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_HorizontalWidths));set_attribute_value(3, (v4_Widths));set_attribute_value(4, (v5_Slopes)); if (v6_Tags) {set_attribute_value(5, (*v6_Tags)); }set_attribute_value(6, v7_OffsetPoint ? v7_OffsetPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcOpenCrossProfileDef::IfcOpenCrossProfileDef(::Ifc4x3_tc1::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, ::Ifc4x3_tc1::IfcCartesianPoint* v7_OffsetPoint) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, (v3_HorizontalWidths));set_attribute_value(3, (v4_Widths));set_attribute_value(4, (v5_Slopes)); if (v6_Tags) {set_attribute_value(5, (*v6_Tags)); }set_attribute_value(6, v7_OffsetPoint ? v7_OffsetPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcOpenShell @@ -12941,10 +12941,10 @@ Ifc4x3_tc1::IfcOpenCrossProfileDef::IfcOpenCrossProfileDef(::Ifc4x3_tc1::IfcProf const IfcParse::entity& Ifc4x3_tc1::IfcOpenShell::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[713]); } const IfcParse::entity& Ifc4x3_tc1::IfcOpenShell::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[713]); } Ifc4x3_tc1::IfcOpenShell::IfcOpenShell(IfcEntityInstanceData&& e) : IfcConnectedFaceSet(std::move(e)) { } -Ifc4x3_tc1::IfcOpenShell::IfcOpenShell(aggregate_of< ::Ifc4x3_tc1::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcOpenShell::IfcOpenShell(aggregate_of< ::Ifc4x3_tc1::IfcFace >::ptr v1_CfsFaces) : IfcConnectedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_CfsFaces)->generalize());; populate_derived(); } // Function implementations for IfcOpeningElement -boost::optional< ::Ifc4x3_tc1::IfcOpeningElementTypeEnum::Value > Ifc4x3_tc1::IfcOpeningElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcOpeningElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcOpeningElementTypeEnum::Value > Ifc4x3_tc1::IfcOpeningElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcOpeningElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcOpeningElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcOpeningElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x3_tc1::IfcRelFillsElement::list::ptr Ifc4x3_tc1::IfcOpeningElement::HasFillings() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[934], 4)->as(); } @@ -12952,18 +12952,18 @@ void Ifc4x3_tc1::IfcOpeningElement::setPredefinedType(boost::optional< ::Ifc4x3_ const IfcParse::entity& Ifc4x3_tc1::IfcOpeningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[711]); } const IfcParse::entity& Ifc4x3_tc1::IfcOpeningElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[711]); } Ifc4x3_tc1::IfcOpeningElement::IfcOpeningElement(IfcEntityInstanceData&& e) : IfcFeatureElementSubtraction(std::move(e)) { } -Ifc4x3_tc1::IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcOpeningElement::IfcOpeningElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcOpeningElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcOpeningElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOrganization -boost::optional< std::string > Ifc4x3_tc1::IfcOrganization::Identification() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcOrganization::Identification() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcOrganization::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -std::string Ifc4x3_tc1::IfcOrganization::Name() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_tc1::IfcOrganization::Name() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcOrganization::setName(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_tc1::IfcOrganization::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcOrganization::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcOrganization::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcActorRole >::ptr > Ifc4x3_tc1::IfcOrganization::Roles() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_tc1::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcActorRole >::ptr > Ifc4x3_tc1::IfcOrganization::Roles() const { if(get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_tc1::IfcActorRole >(); } void Ifc4x3_tc1::IfcOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(3, (*v)->generalize());} else {unset_attribute_value(3);} } -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAddress >::ptr > Ifc4x3_tc1::IfcOrganization::Addresses() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_tc1::IfcAddress >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAddress >::ptr > Ifc4x3_tc1::IfcOrganization::Addresses() const { if(get_attribute_value(4).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_tc1::IfcAddress >(); } void Ifc4x3_tc1::IfcOrganization::setAddresses(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAddress >::ptr > v) { if (v) {set_attribute_value(4, (*v)->generalize());} else {unset_attribute_value(4);} } ::Ifc4x3_tc1::IfcOrganizationRelationship::list::ptr Ifc4x3_tc1::IfcOrganization::IsRelatedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[715], 3)->as(); } @@ -12973,31 +12973,31 @@ void Ifc4x3_tc1::IfcOrganization::setAddresses(boost::optional< aggregate_of< :: const IfcParse::entity& Ifc4x3_tc1::IfcOrganization::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[714]); } const IfcParse::entity& Ifc4x3_tc1::IfcOrganization::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[714]); } Ifc4x3_tc1::IfcOrganization::IfcOrganization(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcOrganization::IfcOrganization(boost::optional< std::string > v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcActorRole >::ptr > v4_Roles, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAddress >::ptr > v5_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, (*v4_Roles)->generalize()); } if (v5_Addresses) {set_attribute_value(4, (*v5_Addresses)->generalize()); }; populate_derived(); } +Ifc4x3_tc1::IfcOrganization::IfcOrganization(boost::optional< std::string > v1_Identification, std::string v2_Name, boost::optional< std::string > v3_Description, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcActorRole >::ptr > v4_Roles, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAddress >::ptr > v5_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); }set_attribute_value(1, (v2_Name)); if (v3_Description) {set_attribute_value(2, (*v3_Description)); } if (v4_Roles) {set_attribute_value(3, (*v4_Roles)->generalize()); } if (v5_Addresses) {set_attribute_value(4, (*v5_Addresses)->generalize()); }; populate_derived(); } // Function implementations for IfcOrganizationRelationship -::Ifc4x3_tc1::IfcOrganization* Ifc4x3_tc1::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcOrganization>(true); } +::Ifc4x3_tc1::IfcOrganization* Ifc4x3_tc1::IfcOrganizationRelationship::RelatingOrganization() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcOrganization>(true); } void Ifc4x3_tc1::IfcOrganizationRelationship::setRelatingOrganization(::Ifc4x3_tc1::IfcOrganization* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_tc1::IfcOrganization >::ptr Ifc4x3_tc1::IfcOrganizationRelationship::RelatedOrganizations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_tc1::IfcOrganization >(); } +aggregate_of< ::Ifc4x3_tc1::IfcOrganization >::ptr Ifc4x3_tc1::IfcOrganizationRelationship::RelatedOrganizations() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_tc1::IfcOrganization >(); } void Ifc4x3_tc1::IfcOrganizationRelationship::setRelatedOrganizations(aggregate_of< ::Ifc4x3_tc1::IfcOrganization >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcOrganizationRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[715]); } const IfcParse::entity& Ifc4x3_tc1::IfcOrganizationRelationship::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[715]); } Ifc4x3_tc1::IfcOrganizationRelationship::IfcOrganizationRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_tc1::IfcOrganizationRelationship::IfcOrganizationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcOrganization* v3_RelatingOrganization, aggregate_of< ::Ifc4x3_tc1::IfcOrganization >::ptr v4_RelatedOrganizations) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingOrganization ? v3_RelatingOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedOrganizations)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcOrganizationRelationship::IfcOrganizationRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcOrganization* v3_RelatingOrganization, aggregate_of< ::Ifc4x3_tc1::IfcOrganization >::ptr v4_RelatedOrganizations) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingOrganization ? v3_RelatingOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedOrganizations)->generalize());; populate_derived(); } // Function implementations for IfcOrientedEdge -::Ifc4x3_tc1::IfcEdge* Ifc4x3_tc1::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcEdge>(true); } +::Ifc4x3_tc1::IfcEdge* Ifc4x3_tc1::IfcOrientedEdge::EdgeElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcEdge>(true); } void Ifc4x3_tc1::IfcOrientedEdge::setEdgeElement(::Ifc4x3_tc1::IfcEdge* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x3_tc1::IfcOrientedEdge::Orientation() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x3_tc1::IfcOrientedEdge::Orientation() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcOrientedEdge::setOrientation(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcOrientedEdge::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[716]); } const IfcParse::entity& Ifc4x3_tc1::IfcOrientedEdge::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[716]); } Ifc4x3_tc1::IfcOrientedEdge::IfcOrientedEdge(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc4x3_tc1::IfcOrientedEdge::IfcOrientedEdge(::Ifc4x3_tc1::IfcEdge* v3_EdgeElement, bool v4_Orientation) : IfcEdge(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(2, v3_EdgeElement ? v3_EdgeElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Orientation));; populate_derived(); } +Ifc4x3_tc1::IfcOrientedEdge::IfcOrientedEdge(::Ifc4x3_tc1::IfcEdge* v3_EdgeElement, bool v4_Orientation) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(2, v3_EdgeElement ? v3_EdgeElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Orientation));; populate_derived(); } // Function implementations for IfcOuterBoundaryCurve @@ -13005,164 +13005,164 @@ Ifc4x3_tc1::IfcOrientedEdge::IfcOrientedEdge(::Ifc4x3_tc1::IfcEdge* v3_EdgeEleme const IfcParse::entity& Ifc4x3_tc1::IfcOuterBoundaryCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[717]); } const IfcParse::entity& Ifc4x3_tc1::IfcOuterBoundaryCurve::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[717]); } Ifc4x3_tc1::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(IfcEntityInstanceData&& e) : IfcBoundaryCurve(std::move(e)) { } -Ifc4x3_tc1::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(aggregate_of< ::Ifc4x3_tc1::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundaryCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } +Ifc4x3_tc1::IfcOuterBoundaryCurve::IfcOuterBoundaryCurve(aggregate_of< ::Ifc4x3_tc1::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect) : IfcBoundaryCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));; populate_derived(); } // Function implementations for IfcOutlet -boost::optional< ::Ifc4x3_tc1::IfcOutletTypeEnum::Value > Ifc4x3_tc1::IfcOutlet::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcOutletTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcOutletTypeEnum::Value > Ifc4x3_tc1::IfcOutlet::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcOutletTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcOutlet::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcOutletTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcOutletTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcOutlet::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[718]); } const IfcParse::entity& Ifc4x3_tc1::IfcOutlet::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[718]); } Ifc4x3_tc1::IfcOutlet::IfcOutlet(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_tc1::IfcOutlet::IfcOutlet(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcOutletTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcOutlet::IfcOutlet(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcOutletTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcOutletTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcOutletType -::Ifc4x3_tc1::IfcOutletTypeEnum::Value Ifc4x3_tc1::IfcOutletType::PredefinedType() const { return ::Ifc4x3_tc1::IfcOutletTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcOutletTypeEnum::Value Ifc4x3_tc1::IfcOutletType::PredefinedType() const { return ::Ifc4x3_tc1::IfcOutletTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcOutletType::setPredefinedType(::Ifc4x3_tc1::IfcOutletTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcOutletTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcOutletType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[719]); } const IfcParse::entity& Ifc4x3_tc1::IfcOutletType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[719]); } Ifc4x3_tc1::IfcOutletType::IfcOutletType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_tc1::IfcOutletType::IfcOutletType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcOutletTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcOutletType::IfcOutletType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcOutletTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcOutletTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcOwnerHistory -::Ifc4x3_tc1::IfcPersonAndOrganization* Ifc4x3_tc1::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcPersonAndOrganization>(true); } +::Ifc4x3_tc1::IfcPersonAndOrganization* Ifc4x3_tc1::IfcOwnerHistory::OwningUser() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcPersonAndOrganization>(true); } void Ifc4x3_tc1::IfcOwnerHistory::setOwningUser(::Ifc4x3_tc1::IfcPersonAndOrganization* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_tc1::IfcApplication* Ifc4x3_tc1::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcApplication>(true); } +::Ifc4x3_tc1::IfcApplication* Ifc4x3_tc1::IfcOwnerHistory::OwningApplication() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcApplication>(true); } void Ifc4x3_tc1::IfcOwnerHistory::setOwningApplication(::Ifc4x3_tc1::IfcApplication* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< ::Ifc4x3_tc1::IfcStateEnum::Value > Ifc4x3_tc1::IfcOwnerHistory::State() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcStateEnum::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc4x3_tc1::IfcStateEnum::Value > Ifc4x3_tc1::IfcOwnerHistory::State() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcStateEnum::FromString(get_attribute_value(2)); } void Ifc4x3_tc1::IfcOwnerHistory::setState(boost::optional< ::Ifc4x3_tc1::IfcStateEnum::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc4x3_tc1::IfcStateEnum::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -boost::optional< ::Ifc4x3_tc1::IfcChangeActionEnum::Value > Ifc4x3_tc1::IfcOwnerHistory::ChangeAction() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcChangeActionEnum::FromString(data_.get_attribute_value(3)); } +boost::optional< ::Ifc4x3_tc1::IfcChangeActionEnum::Value > Ifc4x3_tc1::IfcOwnerHistory::ChangeAction() const { if(get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcChangeActionEnum::FromString(get_attribute_value(3)); } void Ifc4x3_tc1::IfcOwnerHistory::setChangeAction(boost::optional< ::Ifc4x3_tc1::IfcChangeActionEnum::Value > v) { if (v) {set_attribute_value(3, EnumerationReference(&::Ifc4x3_tc1::IfcChangeActionEnum::Class(), (size_t) *v));} else {unset_attribute_value(3);} } -boost::optional< int > Ifc4x3_tc1::IfcOwnerHistory::LastModifiedDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x3_tc1::IfcOwnerHistory::LastModifiedDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcOwnerHistory::setLastModifiedDate(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_tc1::IfcPersonAndOrganization* Ifc4x3_tc1::IfcOwnerHistory::LastModifyingUser() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcPersonAndOrganization>(true); } +::Ifc4x3_tc1::IfcPersonAndOrganization* Ifc4x3_tc1::IfcOwnerHistory::LastModifyingUser() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcPersonAndOrganization>(true); } void Ifc4x3_tc1::IfcOwnerHistory::setLastModifyingUser(::Ifc4x3_tc1::IfcPersonAndOrganization* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_tc1::IfcApplication* Ifc4x3_tc1::IfcOwnerHistory::LastModifyingApplication() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcApplication>(true); } +::Ifc4x3_tc1::IfcApplication* Ifc4x3_tc1::IfcOwnerHistory::LastModifyingApplication() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcApplication>(true); } void Ifc4x3_tc1::IfcOwnerHistory::setLastModifyingApplication(::Ifc4x3_tc1::IfcApplication* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -int Ifc4x3_tc1::IfcOwnerHistory::CreationDate() const { int v = data_.get_attribute_value(7); return v; } +int Ifc4x3_tc1::IfcOwnerHistory::CreationDate() const { int v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcOwnerHistory::setCreationDate(int v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_tc1::IfcOwnerHistory::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[721]); } const IfcParse::entity& Ifc4x3_tc1::IfcOwnerHistory::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[721]); } Ifc4x3_tc1::IfcOwnerHistory::IfcOwnerHistory(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcOwnerHistory::IfcOwnerHistory(::Ifc4x3_tc1::IfcPersonAndOrganization* v1_OwningUser, ::Ifc4x3_tc1::IfcApplication* v2_OwningApplication, boost::optional< ::Ifc4x3_tc1::IfcStateEnum::Value > v3_State, boost::optional< ::Ifc4x3_tc1::IfcChangeActionEnum::Value > v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, ::Ifc4x3_tc1::IfcPersonAndOrganization* v6_LastModifyingUser, ::Ifc4x3_tc1::IfcApplication* v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, v1_OwningUser ? v1_OwningUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OwningApplication ? v2_OwningApplication->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_State) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_tc1::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_tc1::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, v6_LastModifyingUser ? v6_LastModifyingUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_LastModifyingApplication ? v7_LastModifyingApplication->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_CreationDate));; populate_derived(); } +Ifc4x3_tc1::IfcOwnerHistory::IfcOwnerHistory(::Ifc4x3_tc1::IfcPersonAndOrganization* v1_OwningUser, ::Ifc4x3_tc1::IfcApplication* v2_OwningApplication, boost::optional< ::Ifc4x3_tc1::IfcStateEnum::Value > v3_State, boost::optional< ::Ifc4x3_tc1::IfcChangeActionEnum::Value > v4_ChangeAction, boost::optional< int > v5_LastModifiedDate, ::Ifc4x3_tc1::IfcPersonAndOrganization* v6_LastModifyingUser, ::Ifc4x3_tc1::IfcApplication* v7_LastModifyingApplication, int v8_CreationDate) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, v1_OwningUser ? v1_OwningUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_OwningApplication ? v2_OwningApplication->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_State) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_tc1::IfcStateEnum::Class(),(size_t)*v3_State))); } if (v4_ChangeAction) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_tc1::IfcChangeActionEnum::Class(),(size_t)*v4_ChangeAction))); } if (v5_LastModifiedDate) {set_attribute_value(4, (*v5_LastModifiedDate)); }set_attribute_value(5, v6_LastModifyingUser ? v6_LastModifyingUser->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_LastModifyingApplication ? v7_LastModifyingApplication->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_CreationDate));; populate_derived(); } // Function implementations for IfcParameterizedProfileDef -::Ifc4x3_tc1::IfcAxis2Placement2D* Ifc4x3_tc1::IfcParameterizedProfileDef::Position() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcAxis2Placement2D>(true); } +::Ifc4x3_tc1::IfcAxis2Placement2D* Ifc4x3_tc1::IfcParameterizedProfileDef::Position() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcAxis2Placement2D>(true); } void Ifc4x3_tc1::IfcParameterizedProfileDef::setPosition(::Ifc4x3_tc1::IfcAxis2Placement2D* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcParameterizedProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[722]); } const IfcParse::entity& Ifc4x3_tc1::IfcParameterizedProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[722]); } Ifc4x3_tc1::IfcParameterizedProfileDef::IfcParameterizedProfileDef(IfcEntityInstanceData&& e) : IfcProfileDef(std::move(e)) { } -Ifc4x3_tc1::IfcParameterizedProfileDef::IfcParameterizedProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D* v3_Position) : IfcProfileDef(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcParameterizedProfileDef::IfcParameterizedProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D* v3_Position) : IfcProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPath -aggregate_of< ::Ifc4x3_tc1::IfcOrientedEdge >::ptr Ifc4x3_tc1::IfcPath::EdgeList() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcOrientedEdge >(); } +aggregate_of< ::Ifc4x3_tc1::IfcOrientedEdge >::ptr Ifc4x3_tc1::IfcPath::EdgeList() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcOrientedEdge >(); } void Ifc4x3_tc1::IfcPath::setEdgeList(aggregate_of< ::Ifc4x3_tc1::IfcOrientedEdge >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_tc1::IfcPath::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[724]); } const IfcParse::entity& Ifc4x3_tc1::IfcPath::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[724]); } Ifc4x3_tc1::IfcPath::IfcPath(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcPath::IfcPath(aggregate_of< ::Ifc4x3_tc1::IfcOrientedEdge >::ptr v1_EdgeList) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcPath::IfcPath(aggregate_of< ::Ifc4x3_tc1::IfcOrientedEdge >::ptr v1_EdgeList) : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_EdgeList)->generalize());; populate_derived(); } // Function implementations for IfcPavement -boost::optional< ::Ifc4x3_tc1::IfcPavementTypeEnum::Value > Ifc4x3_tc1::IfcPavement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcPavementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcPavementTypeEnum::Value > Ifc4x3_tc1::IfcPavement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcPavementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcPavement::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcPavementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcPavementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcPavement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[725]); } const IfcParse::entity& Ifc4x3_tc1::IfcPavement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[725]); } Ifc4x3_tc1::IfcPavement::IfcPavement(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_tc1::IfcPavement::IfcPavement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcPavementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcPavementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcPavement::IfcPavement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcPavementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcPavementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPavementType -::Ifc4x3_tc1::IfcPavementTypeEnum::Value Ifc4x3_tc1::IfcPavementType::PredefinedType() const { return ::Ifc4x3_tc1::IfcPavementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcPavementTypeEnum::Value Ifc4x3_tc1::IfcPavementType::PredefinedType() const { return ::Ifc4x3_tc1::IfcPavementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcPavementType::setPredefinedType(::Ifc4x3_tc1::IfcPavementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcPavementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcPavementType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[726]); } const IfcParse::entity& Ifc4x3_tc1::IfcPavementType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[726]); } Ifc4x3_tc1::IfcPavementType::IfcPavementType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_tc1::IfcPavementType::IfcPavementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPavementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcPavementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcPavementType::IfcPavementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPavementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcPavementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPcurve -::Ifc4x3_tc1::IfcSurface* Ifc4x3_tc1::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcSurface>(true); } +::Ifc4x3_tc1::IfcSurface* Ifc4x3_tc1::IfcPcurve::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcSurface>(true); } void Ifc4x3_tc1::IfcPcurve::setBasisSurface(::Ifc4x3_tc1::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcCurve>(true); } +::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcPcurve::ReferenceCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcCurve>(true); } void Ifc4x3_tc1::IfcPcurve::setReferenceCurve(::Ifc4x3_tc1::IfcCurve* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcPcurve::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[728]); } const IfcParse::entity& Ifc4x3_tc1::IfcPcurve::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[728]); } Ifc4x3_tc1::IfcPcurve::IfcPcurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_tc1::IfcPcurve::IfcPcurve(::Ifc4x3_tc1::IfcSurface* v1_BasisSurface, ::Ifc4x3_tc1::IfcCurve* v2_ReferenceCurve) : IfcCurve(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_ReferenceCurve ? v2_ReferenceCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcPcurve::IfcPcurve(::Ifc4x3_tc1::IfcSurface* v1_BasisSurface, ::Ifc4x3_tc1::IfcCurve* v2_ReferenceCurve) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_ReferenceCurve ? v2_ReferenceCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPerformanceHistory -std::string Ifc4x3_tc1::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = data_.get_attribute_value(6); return v; } +std::string Ifc4x3_tc1::IfcPerformanceHistory::LifeCyclePhase() const { std::string v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcPerformanceHistory::setLifeCyclePhase(std::string v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< ::Ifc4x3_tc1::IfcPerformanceHistoryTypeEnum::Value > Ifc4x3_tc1::IfcPerformanceHistory::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcPerformanceHistoryTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_tc1::IfcPerformanceHistoryTypeEnum::Value > Ifc4x3_tc1::IfcPerformanceHistory::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcPerformanceHistoryTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_tc1::IfcPerformanceHistory::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcPerformanceHistoryTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_tc1::IfcPerformanceHistoryTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_tc1::IfcPerformanceHistory::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[729]); } const IfcParse::entity& Ifc4x3_tc1::IfcPerformanceHistory::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[729]); } Ifc4x3_tc1::IfcPerformanceHistory::IfcPerformanceHistory(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_tc1::IfcPerformanceHistory::IfcPerformanceHistory(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) : IfcControl(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcPerformanceHistory::IfcPerformanceHistory(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcPerformanceHistoryTypeEnum::Value > v8_PredefinedType) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_LifeCyclePhase)); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcPerformanceHistoryTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPermeableCoveringProperties -::Ifc4x3_tc1::IfcPermeableCoveringOperationEnum::Value Ifc4x3_tc1::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4x3_tc1::IfcPermeableCoveringOperationEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x3_tc1::IfcPermeableCoveringOperationEnum::Value Ifc4x3_tc1::IfcPermeableCoveringProperties::OperationType() const { return ::Ifc4x3_tc1::IfcPermeableCoveringOperationEnum::FromString(get_attribute_value(4)); } void Ifc4x3_tc1::IfcPermeableCoveringProperties::setOperationType(::Ifc4x3_tc1::IfcPermeableCoveringOperationEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3_tc1::IfcPermeableCoveringOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_tc1::IfcWindowPanelPositionEnum::Value Ifc4x3_tc1::IfcPermeableCoveringProperties::PanelPosition() const { return ::Ifc4x3_tc1::IfcWindowPanelPositionEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_tc1::IfcWindowPanelPositionEnum::Value Ifc4x3_tc1::IfcPermeableCoveringProperties::PanelPosition() const { return ::Ifc4x3_tc1::IfcWindowPanelPositionEnum::FromString(get_attribute_value(5)); } void Ifc4x3_tc1::IfcPermeableCoveringProperties::setPanelPosition(::Ifc4x3_tc1::IfcWindowPanelPositionEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_tc1::IfcWindowPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_tc1::IfcPermeableCoveringProperties::FrameDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_tc1::IfcPermeableCoveringProperties::FrameDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcPermeableCoveringProperties::setFrameDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_tc1::IfcPermeableCoveringProperties::FrameThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_tc1::IfcPermeableCoveringProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcPermeableCoveringProperties::setFrameThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_tc1::IfcShapeAspect* Ifc4x3_tc1::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_tc1::IfcShapeAspect>(true); } +::Ifc4x3_tc1::IfcShapeAspect* Ifc4x3_tc1::IfcPermeableCoveringProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_tc1::IfcShapeAspect>(true); } void Ifc4x3_tc1::IfcPermeableCoveringProperties::setShapeAspectStyle(::Ifc4x3_tc1::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_tc1::IfcPermeableCoveringProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[732]); } const IfcParse::entity& Ifc4x3_tc1::IfcPermeableCoveringProperties::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[732]); } Ifc4x3_tc1::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_tc1::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_tc1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x3_tc1::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x3_tc1::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_tc1::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcPermeableCoveringProperties::IfcPermeableCoveringProperties(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcPermeableCoveringOperationEnum::Value v5_OperationType, ::Ifc4x3_tc1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x3_tc1::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x3_tc1::IfcPermeableCoveringOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_tc1::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPermit -boost::optional< ::Ifc4x3_tc1::IfcPermitTypeEnum::Value > Ifc4x3_tc1::IfcPermit::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcPermitTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_tc1::IfcPermitTypeEnum::Value > Ifc4x3_tc1::IfcPermit::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcPermitTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_tc1::IfcPermit::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcPermitTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_tc1::IfcPermitTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_tc1::IfcPermit::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcPermit::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcPermit::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_tc1::IfcPermit::LongDescription() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcPermit::LongDescription() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcPermit::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcPermit::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[733]); } const IfcParse::entity& Ifc4x3_tc1::IfcPermit::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[733]); } Ifc4x3_tc1::IfcPermit::IfcPermit(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_tc1::IfcPermit::IfcPermit(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcPermitTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_tc1::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } +Ifc4x3_tc1::IfcPermit::IfcPermit(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcPermitTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_tc1::IfcPermitTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } // Function implementations for IfcPerson -boost::optional< std::string > Ifc4x3_tc1::IfcPerson::Identification() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcPerson::Identification() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcPerson::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_tc1::IfcPerson::FamilyName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcPerson::FamilyName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcPerson::setFamilyName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_tc1::IfcPerson::GivenName() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcPerson::GivenName() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcPerson::setGivenName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_tc1::IfcPerson::MiddleNames() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_tc1::IfcPerson::MiddleNames() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcPerson::setMiddleNames(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_tc1::IfcPerson::PrefixTitles() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_tc1::IfcPerson::PrefixTitles() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcPerson::setPrefixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_tc1::IfcPerson::SuffixTitles() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(5); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_tc1::IfcPerson::SuffixTitles() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcPerson::setSuffixTitles(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcActorRole >::ptr > Ifc4x3_tc1::IfcPerson::Roles() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3_tc1::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcActorRole >::ptr > Ifc4x3_tc1::IfcPerson::Roles() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3_tc1::IfcActorRole >(); } void Ifc4x3_tc1::IfcPerson::setRoles(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAddress >::ptr > Ifc4x3_tc1::IfcPerson::Addresses() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_tc1::IfcAddress >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAddress >::ptr > Ifc4x3_tc1::IfcPerson::Addresses() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_tc1::IfcAddress >(); } void Ifc4x3_tc1::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAddress >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } ::Ifc4x3_tc1::IfcPersonAndOrganization::list::ptr Ifc4x3_tc1::IfcPerson::EngagedIn() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[736], 0)->as(); } @@ -13170,42 +13170,42 @@ void Ifc4x3_tc1::IfcPerson::setAddresses(boost::optional< aggregate_of< ::Ifc4x3 const IfcParse::entity& Ifc4x3_tc1::IfcPerson::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[735]); } const IfcParse::entity& Ifc4x3_tc1::IfcPerson::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[735]); } Ifc4x3_tc1::IfcPerson::IfcPerson(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::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_tc1::IfcActorRole >::ptr > v7_Roles, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, (*v7_Roles)->generalize()); } if (v8_Addresses) {set_attribute_value(7, (*v8_Addresses)->generalize()); }; populate_derived(); } +Ifc4x3_tc1::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_tc1::IfcActorRole >::ptr > v7_Roles, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAddress >::ptr > v8_Addresses) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Identification) {set_attribute_value(0, (*v1_Identification)); } if (v2_FamilyName) {set_attribute_value(1, (*v2_FamilyName)); } if (v3_GivenName) {set_attribute_value(2, (*v3_GivenName)); } if (v4_MiddleNames) {set_attribute_value(3, (*v4_MiddleNames)); } if (v5_PrefixTitles) {set_attribute_value(4, (*v5_PrefixTitles)); } if (v6_SuffixTitles) {set_attribute_value(5, (*v6_SuffixTitles)); } if (v7_Roles) {set_attribute_value(6, (*v7_Roles)->generalize()); } if (v8_Addresses) {set_attribute_value(7, (*v8_Addresses)->generalize()); }; populate_derived(); } // Function implementations for IfcPersonAndOrganization -::Ifc4x3_tc1::IfcPerson* Ifc4x3_tc1::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcPerson>(true); } +::Ifc4x3_tc1::IfcPerson* Ifc4x3_tc1::IfcPersonAndOrganization::ThePerson() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcPerson>(true); } void Ifc4x3_tc1::IfcPersonAndOrganization::setThePerson(::Ifc4x3_tc1::IfcPerson* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_tc1::IfcOrganization* Ifc4x3_tc1::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcOrganization>(true); } +::Ifc4x3_tc1::IfcOrganization* Ifc4x3_tc1::IfcPersonAndOrganization::TheOrganization() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcOrganization>(true); } void Ifc4x3_tc1::IfcPersonAndOrganization::setTheOrganization(::Ifc4x3_tc1::IfcOrganization* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcActorRole >::ptr > Ifc4x3_tc1::IfcPersonAndOrganization::Roles() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcActorRole >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcActorRole >::ptr > Ifc4x3_tc1::IfcPersonAndOrganization::Roles() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcActorRole >(); } void Ifc4x3_tc1::IfcPersonAndOrganization::setRoles(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcActorRole >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_tc1::IfcPersonAndOrganization::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[736]); } const IfcParse::entity& Ifc4x3_tc1::IfcPersonAndOrganization::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[736]); } Ifc4x3_tc1::IfcPersonAndOrganization::IfcPersonAndOrganization(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcPersonAndOrganization::IfcPersonAndOrganization(::Ifc4x3_tc1::IfcPerson* v1_ThePerson, ::Ifc4x3_tc1::IfcOrganization* v2_TheOrganization, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcActorRole >::ptr > v3_Roles) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_ThePerson ? v1_ThePerson->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TheOrganization ? v2_TheOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Roles) {set_attribute_value(2, (*v3_Roles)->generalize()); }; populate_derived(); } +Ifc4x3_tc1::IfcPersonAndOrganization::IfcPersonAndOrganization(::Ifc4x3_tc1::IfcPerson* v1_ThePerson, ::Ifc4x3_tc1::IfcOrganization* v2_TheOrganization, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcActorRole >::ptr > v3_Roles) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_ThePerson ? v1_ThePerson->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_TheOrganization ? v2_TheOrganization->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Roles) {set_attribute_value(2, (*v3_Roles)->generalize()); }; populate_derived(); } // Function implementations for IfcPhysicalComplexQuantity -aggregate_of< ::Ifc4x3_tc1::IfcPhysicalQuantity >::ptr Ifc4x3_tc1::IfcPhysicalComplexQuantity::HasQuantities() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcPhysicalQuantity >(); } +aggregate_of< ::Ifc4x3_tc1::IfcPhysicalQuantity >::ptr Ifc4x3_tc1::IfcPhysicalComplexQuantity::HasQuantities() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcPhysicalQuantity >(); } void Ifc4x3_tc1::IfcPhysicalComplexQuantity::setHasQuantities(aggregate_of< ::Ifc4x3_tc1::IfcPhysicalQuantity >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -std::string Ifc4x3_tc1::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x3_tc1::IfcPhysicalComplexQuantity::Discrimination() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcPhysicalComplexQuantity::setDiscrimination(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_tc1::IfcPhysicalComplexQuantity::Quality() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcPhysicalComplexQuantity::Quality() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcPhysicalComplexQuantity::setQuality(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_tc1::IfcPhysicalComplexQuantity::Usage() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcPhysicalComplexQuantity::Usage() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcPhysicalComplexQuantity::setUsage(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_tc1::IfcPhysicalComplexQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[738]); } const IfcParse::entity& Ifc4x3_tc1::IfcPhysicalComplexQuantity::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[738]); } Ifc4x3_tc1::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(IfcEntityInstanceData&& e) : IfcPhysicalQuantity(std::move(e)) { } -Ifc4x3_tc1::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_tc1::IfcPhysicalQuantity >::ptr v3_HasQuantities, std::string v4_Discrimination, boost::optional< std::string > v5_Quality, boost::optional< std::string > v6_Usage) : IfcPhysicalQuantity(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_HasQuantities)->generalize());set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; populate_derived(); } +Ifc4x3_tc1::IfcPhysicalComplexQuantity::IfcPhysicalComplexQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_tc1::IfcPhysicalQuantity >::ptr v3_HasQuantities, std::string v4_Discrimination, boost::optional< std::string > v5_Quality, boost::optional< std::string > v6_Usage) : IfcPhysicalQuantity(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_HasQuantities)->generalize());set_attribute_value(3, (v4_Discrimination)); if (v5_Quality) {set_attribute_value(4, (*v5_Quality)); } if (v6_Usage) {set_attribute_value(5, (*v6_Usage)); }; populate_derived(); } // Function implementations for IfcPhysicalQuantity -std::string Ifc4x3_tc1::IfcPhysicalQuantity::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_tc1::IfcPhysicalQuantity::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcPhysicalQuantity::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_tc1::IfcPhysicalQuantity::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcPhysicalQuantity::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcPhysicalQuantity::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x3_tc1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_tc1::IfcPhysicalQuantity::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[427], 3)->as(); } @@ -13214,127 +13214,127 @@ void Ifc4x3_tc1::IfcPhysicalQuantity::setDescription(boost::optional< std::strin const IfcParse::entity& Ifc4x3_tc1::IfcPhysicalQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[740]); } const IfcParse::entity& Ifc4x3_tc1::IfcPhysicalQuantity::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[740]); } Ifc4x3_tc1::IfcPhysicalQuantity::IfcPhysicalQuantity(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4x3_tc1::IfcPhysicalQuantity::IfcPhysicalQuantity(std::string v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcPhysicalSimpleQuantity -::Ifc4x3_tc1::IfcNamedUnit* Ifc4x3_tc1::IfcPhysicalSimpleQuantity::Unit() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcNamedUnit>(true); } +::Ifc4x3_tc1::IfcNamedUnit* Ifc4x3_tc1::IfcPhysicalSimpleQuantity::Unit() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcNamedUnit>(true); } void Ifc4x3_tc1::IfcPhysicalSimpleQuantity::setUnit(::Ifc4x3_tc1::IfcNamedUnit* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcPhysicalSimpleQuantity::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[741]); } const IfcParse::entity& Ifc4x3_tc1::IfcPhysicalSimpleQuantity::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[741]); } Ifc4x3_tc1::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(IfcEntityInstanceData&& e) : IfcPhysicalQuantity(std::move(e)) { } -Ifc4x3_tc1::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcPhysicalSimpleQuantity::IfcPhysicalSimpleQuantity(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit* v3_Unit) : IfcPhysicalQuantity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPile -boost::optional< ::Ifc4x3_tc1::IfcPileTypeEnum::Value > Ifc4x3_tc1::IfcPile::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcPileTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcPileTypeEnum::Value > Ifc4x3_tc1::IfcPile::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcPileTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcPile::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcPileTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcPileTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } -boost::optional< ::Ifc4x3_tc1::IfcPileConstructionEnum::Value > Ifc4x3_tc1::IfcPile::ConstructionType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcPileConstructionEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_tc1::IfcPileConstructionEnum::Value > Ifc4x3_tc1::IfcPile::ConstructionType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcPileConstructionEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcPile::setConstructionType(boost::optional< ::Ifc4x3_tc1::IfcPileConstructionEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcPileConstructionEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_tc1::IfcPile::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[742]); } const IfcParse::entity& Ifc4x3_tc1::IfcPile::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[742]); } Ifc4x3_tc1::IfcPile::IfcPile(IfcEntityInstanceData&& e) : IfcDeepFoundation(std::move(e)) { } -Ifc4x3_tc1::IfcPile::IfcPile(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcPileTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x3_tc1::IfcPileConstructionEnum::Value > v10_ConstructionType) : IfcDeepFoundation(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; populate_derived(); } +Ifc4x3_tc1::IfcPile::IfcPile(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcPileTypeEnum::Value > v9_PredefinedType, boost::optional< ::Ifc4x3_tc1::IfcPileConstructionEnum::Value > v10_ConstructionType) : IfcDeepFoundation(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcPileTypeEnum::Class(),(size_t)*v9_PredefinedType))); } if (v10_ConstructionType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcPileConstructionEnum::Class(),(size_t)*v10_ConstructionType))); }; populate_derived(); } // Function implementations for IfcPileType -::Ifc4x3_tc1::IfcPileTypeEnum::Value Ifc4x3_tc1::IfcPileType::PredefinedType() const { return ::Ifc4x3_tc1::IfcPileTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcPileTypeEnum::Value Ifc4x3_tc1::IfcPileType::PredefinedType() const { return ::Ifc4x3_tc1::IfcPileTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcPileType::setPredefinedType(::Ifc4x3_tc1::IfcPileTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcPileTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcPileType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[744]); } const IfcParse::entity& Ifc4x3_tc1::IfcPileType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[744]); } Ifc4x3_tc1::IfcPileType::IfcPileType(IfcEntityInstanceData&& e) : IfcDeepFoundationType(std::move(e)) { } -Ifc4x3_tc1::IfcPileType::IfcPileType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPileTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcPileType::IfcPileType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPileTypeEnum::Value v10_PredefinedType) : IfcDeepFoundationType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcPileTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPipeFitting -boost::optional< ::Ifc4x3_tc1::IfcPipeFittingTypeEnum::Value > Ifc4x3_tc1::IfcPipeFitting::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcPipeFittingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcPipeFittingTypeEnum::Value > Ifc4x3_tc1::IfcPipeFitting::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcPipeFittingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcPipeFitting::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcPipeFittingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcPipeFittingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcPipeFitting::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[746]); } const IfcParse::entity& Ifc4x3_tc1::IfcPipeFitting::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[746]); } Ifc4x3_tc1::IfcPipeFitting::IfcPipeFitting(IfcEntityInstanceData&& e) : IfcFlowFitting(std::move(e)) { } -Ifc4x3_tc1::IfcPipeFitting::IfcPipeFitting(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcPipeFitting::IfcPipeFitting(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcPipeFittingTypeEnum::Value > v9_PredefinedType) : IfcFlowFitting(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcPipeFittingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPipeFittingType -::Ifc4x3_tc1::IfcPipeFittingTypeEnum::Value Ifc4x3_tc1::IfcPipeFittingType::PredefinedType() const { return ::Ifc4x3_tc1::IfcPipeFittingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcPipeFittingTypeEnum::Value Ifc4x3_tc1::IfcPipeFittingType::PredefinedType() const { return ::Ifc4x3_tc1::IfcPipeFittingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcPipeFittingType::setPredefinedType(::Ifc4x3_tc1::IfcPipeFittingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcPipeFittingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcPipeFittingType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[747]); } const IfcParse::entity& Ifc4x3_tc1::IfcPipeFittingType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[747]); } Ifc4x3_tc1::IfcPipeFittingType::IfcPipeFittingType(IfcEntityInstanceData&& e) : IfcFlowFittingType(std::move(e)) { } -Ifc4x3_tc1::IfcPipeFittingType::IfcPipeFittingType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPipeFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcPipeFittingType::IfcPipeFittingType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPipeFittingTypeEnum::Value v10_PredefinedType) : IfcFlowFittingType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcPipeFittingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPipeSegment -boost::optional< ::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Value > Ifc4x3_tc1::IfcPipeSegment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Value > Ifc4x3_tc1::IfcPipeSegment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcPipeSegment::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcPipeSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[749]); } const IfcParse::entity& Ifc4x3_tc1::IfcPipeSegment::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[749]); } Ifc4x3_tc1::IfcPipeSegment::IfcPipeSegment(IfcEntityInstanceData&& e) : IfcFlowSegment(std::move(e)) { } -Ifc4x3_tc1::IfcPipeSegment::IfcPipeSegment(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcPipeSegment::IfcPipeSegment(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Value > v9_PredefinedType) : IfcFlowSegment(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPipeSegmentType -::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Value Ifc4x3_tc1::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Value Ifc4x3_tc1::IfcPipeSegmentType::PredefinedType() const { return ::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcPipeSegmentType::setPredefinedType(::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcPipeSegmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[750]); } const IfcParse::entity& Ifc4x3_tc1::IfcPipeSegmentType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[750]); } Ifc4x3_tc1::IfcPipeSegmentType::IfcPipeSegmentType(IfcEntityInstanceData&& e) : IfcFlowSegmentType(std::move(e)) { } -Ifc4x3_tc1::IfcPipeSegmentType::IfcPipeSegmentType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcPipeSegmentType::IfcPipeSegmentType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Value v10_PredefinedType) : IfcFlowSegmentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcPipeSegmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPixelTexture -int Ifc4x3_tc1::IfcPixelTexture::Width() const { int v = data_.get_attribute_value(5); return v; } +int Ifc4x3_tc1::IfcPixelTexture::Width() const { int v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcPixelTexture::setWidth(int v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -int Ifc4x3_tc1::IfcPixelTexture::Height() const { int v = data_.get_attribute_value(6); return v; } +int Ifc4x3_tc1::IfcPixelTexture::Height() const { int v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcPixelTexture::setHeight(int v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -int Ifc4x3_tc1::IfcPixelTexture::ColourComponents() const { int v = data_.get_attribute_value(7); return v; } +int Ifc4x3_tc1::IfcPixelTexture::ColourComponents() const { int v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcPixelTexture::setColourComponents(int v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector< boost::dynamic_bitset<> > /*[1:?]*/ Ifc4x3_tc1::IfcPixelTexture::Pixel() const { std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< boost::dynamic_bitset<> > /*[1:?]*/ Ifc4x3_tc1::IfcPixelTexture::Pixel() const { std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcPixelTexture::setPixel(std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_tc1::IfcPixelTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[752]); } const IfcParse::entity& Ifc4x3_tc1::IfcPixelTexture::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[752]); } Ifc4x3_tc1::IfcPixelTexture::IfcPixelTexture(IfcEntityInstanceData&& e) : IfcSurfaceTexture(std::move(e)) { } -Ifc4x3_tc1::IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_tc1::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(storage_t(9))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel));; populate_derived(); } +Ifc4x3_tc1::IfcPixelTexture::IfcPixelTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_tc1::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(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }set_attribute_value(5, (v6_Width));set_attribute_value(6, (v7_Height));set_attribute_value(7, (v8_ColourComponents));set_attribute_value(8, (v9_Pixel));; populate_derived(); } // Function implementations for IfcPlacement -::Ifc4x3_tc1::IfcPoint* Ifc4x3_tc1::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcPoint>(true); } +::Ifc4x3_tc1::IfcPoint* Ifc4x3_tc1::IfcPlacement::Location() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcPoint>(true); } void Ifc4x3_tc1::IfcPlacement::setLocation(::Ifc4x3_tc1::IfcPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_tc1::IfcPlacement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[753]); } const IfcParse::entity& Ifc4x3_tc1::IfcPlacement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[753]); } Ifc4x3_tc1::IfcPlacement::IfcPlacement(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcPlacement::IfcPlacement(::Ifc4x3_tc1::IfcPoint* v1_Location) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcPlacement::IfcPlacement(::Ifc4x3_tc1::IfcPoint* v1_Location) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Location ? v1_Location->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlanarBox -::Ifc4x3_tc1::IfcAxis2Placement* Ifc4x3_tc1::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcAxis2Placement>(true); } +::Ifc4x3_tc1::IfcAxis2Placement* Ifc4x3_tc1::IfcPlanarBox::Placement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcAxis2Placement>(true); } void Ifc4x3_tc1::IfcPlanarBox::setPlacement(::Ifc4x3_tc1::IfcAxis2Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcPlanarBox::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[754]); } const IfcParse::entity& Ifc4x3_tc1::IfcPlanarBox::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[754]); } Ifc4x3_tc1::IfcPlanarBox::IfcPlanarBox(IfcEntityInstanceData&& e) : IfcPlanarExtent(std::move(e)) { } -Ifc4x3_tc1::IfcPlanarBox::IfcPlanarBox(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_tc1::IfcAxis2Placement* v3_Placement) : IfcPlanarExtent(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, v3_Placement ? v3_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcPlanarBox::IfcPlanarBox(double v1_SizeInX, double v2_SizeInY, ::Ifc4x3_tc1::IfcAxis2Placement* v3_Placement) : IfcPlanarExtent(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));set_attribute_value(2, v3_Placement ? v3_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlanarExtent -double Ifc4x3_tc1::IfcPlanarExtent::SizeInX() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_tc1::IfcPlanarExtent::SizeInX() const { double v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcPlanarExtent::setSizeInX(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_tc1::IfcPlanarExtent::SizeInY() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_tc1::IfcPlanarExtent::SizeInY() const { double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcPlanarExtent::setSizeInY(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcPlanarExtent::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[755]); } const IfcParse::entity& Ifc4x3_tc1::IfcPlanarExtent::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[755]); } Ifc4x3_tc1::IfcPlanarExtent::IfcPlanarExtent(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeInY) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; populate_derived(); } +Ifc4x3_tc1::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeInY) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_SizeInX));set_attribute_value(1, (v2_SizeInY));; populate_derived(); } // Function implementations for IfcPlane @@ -13342,27 +13342,27 @@ Ifc4x3_tc1::IfcPlanarExtent::IfcPlanarExtent(double v1_SizeInX, double v2_SizeIn const IfcParse::entity& Ifc4x3_tc1::IfcPlane::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[757]); } const IfcParse::entity& Ifc4x3_tc1::IfcPlane::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[757]); } Ifc4x3_tc1::IfcPlane::IfcPlane(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x3_tc1::IfcPlane::IfcPlane(::Ifc4x3_tc1::IfcAxis2Placement3D* v1_Position) : IfcElementarySurface(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcPlane::IfcPlane(::Ifc4x3_tc1::IfcAxis2Placement3D* v1_Position) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPlate -boost::optional< ::Ifc4x3_tc1::IfcPlateTypeEnum::Value > Ifc4x3_tc1::IfcPlate::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcPlateTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcPlateTypeEnum::Value > Ifc4x3_tc1::IfcPlate::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcPlateTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcPlate::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcPlateTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcPlateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcPlate::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[759]); } const IfcParse::entity& Ifc4x3_tc1::IfcPlate::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[759]); } Ifc4x3_tc1::IfcPlate::IfcPlate(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_tc1::IfcPlate::IfcPlate(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcPlateTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcPlate::IfcPlate(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcPlateTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcPlateTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPlateType -::Ifc4x3_tc1::IfcPlateTypeEnum::Value Ifc4x3_tc1::IfcPlateType::PredefinedType() const { return ::Ifc4x3_tc1::IfcPlateTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcPlateTypeEnum::Value Ifc4x3_tc1::IfcPlateType::PredefinedType() const { return ::Ifc4x3_tc1::IfcPlateTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcPlateType::setPredefinedType(::Ifc4x3_tc1::IfcPlateTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcPlateTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcPlateType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[760]); } const IfcParse::entity& Ifc4x3_tc1::IfcPlateType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[760]); } Ifc4x3_tc1::IfcPlateType::IfcPlateType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_tc1::IfcPlateType::IfcPlateType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPlateTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcPlateType::IfcPlateType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPlateTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcPlateTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPoint @@ -13370,113 +13370,113 @@ Ifc4x3_tc1::IfcPlateType::IfcPlateType(std::string v1_GlobalId, ::Ifc4x3_tc1::If const IfcParse::entity& Ifc4x3_tc1::IfcPoint::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[762]); } const IfcParse::entity& Ifc4x3_tc1::IfcPoint::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[762]); } Ifc4x3_tc1::IfcPoint::IfcPoint(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_tc1::IfcPoint::IfcPoint() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPointByDistanceExpression -::Ifc4x3_tc1::IfcCurveMeasureSelect* Ifc4x3_tc1::IfcPointByDistanceExpression::DistanceAlong() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCurveMeasureSelect>(true); } +::Ifc4x3_tc1::IfcCurveMeasureSelect* Ifc4x3_tc1::IfcPointByDistanceExpression::DistanceAlong() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCurveMeasureSelect>(true); } void Ifc4x3_tc1::IfcPointByDistanceExpression::setDistanceAlong(::Ifc4x3_tc1::IfcCurveMeasureSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< double > Ifc4x3_tc1::IfcPointByDistanceExpression::OffsetLateral() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_tc1::IfcPointByDistanceExpression::OffsetLateral() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcPointByDistanceExpression::setOffsetLateral(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_tc1::IfcPointByDistanceExpression::OffsetVertical() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_tc1::IfcPointByDistanceExpression::OffsetVertical() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcPointByDistanceExpression::setOffsetVertical(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_tc1::IfcPointByDistanceExpression::OffsetLongitudinal() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_tc1::IfcPointByDistanceExpression::OffsetLongitudinal() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcPointByDistanceExpression::setOffsetLongitudinal(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcPointByDistanceExpression::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcCurve>(true); } +::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcPointByDistanceExpression::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcCurve>(true); } void Ifc4x3_tc1::IfcPointByDistanceExpression::setBasisCurve(::Ifc4x3_tc1::IfcCurve* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_tc1::IfcPointByDistanceExpression::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[763]); } const IfcParse::entity& Ifc4x3_tc1::IfcPointByDistanceExpression::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[763]); } Ifc4x3_tc1::IfcPointByDistanceExpression::IfcPointByDistanceExpression(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x3_tc1::IfcPointByDistanceExpression::IfcPointByDistanceExpression(::Ifc4x3_tc1::IfcCurveMeasureSelect* v1_DistanceAlong, boost::optional< double > v2_OffsetLateral, boost::optional< double > v3_OffsetVertical, boost::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_tc1::IfcCurve* v5_BasisCurve) : IfcPoint(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_DistanceAlong ? v1_DistanceAlong->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); }set_attribute_value(4, v5_BasisCurve ? v5_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcPointByDistanceExpression::IfcPointByDistanceExpression(::Ifc4x3_tc1::IfcCurveMeasureSelect* v1_DistanceAlong, boost::optional< double > v2_OffsetLateral, boost::optional< double > v3_OffsetVertical, boost::optional< double > v4_OffsetLongitudinal, ::Ifc4x3_tc1::IfcCurve* v5_BasisCurve) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_DistanceAlong ? v1_DistanceAlong->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_OffsetLateral) {set_attribute_value(1, (*v2_OffsetLateral)); } if (v3_OffsetVertical) {set_attribute_value(2, (*v3_OffsetVertical)); } if (v4_OffsetLongitudinal) {set_attribute_value(3, (*v4_OffsetLongitudinal)); }set_attribute_value(4, v5_BasisCurve ? v5_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPointOnCurve -::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCurve>(true); } +::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcPointOnCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCurve>(true); } void Ifc4x3_tc1::IfcPointOnCurve::setBasisCurve(::Ifc4x3_tc1::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_tc1::IfcPointOnCurve::PointParameter() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_tc1::IfcPointOnCurve::PointParameter() const { double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcPointOnCurve::setPointParameter(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcPointOnCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[764]); } const IfcParse::entity& Ifc4x3_tc1::IfcPointOnCurve::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[764]); } Ifc4x3_tc1::IfcPointOnCurve::IfcPointOnCurve(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x3_tc1::IfcPointOnCurve::IfcPointOnCurve(::Ifc4x3_tc1::IfcCurve* v1_BasisCurve, double v2_PointParameter) : IfcPoint(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameter));; populate_derived(); } +Ifc4x3_tc1::IfcPointOnCurve::IfcPointOnCurve(::Ifc4x3_tc1::IfcCurve* v1_BasisCurve, double v2_PointParameter) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameter));; populate_derived(); } // Function implementations for IfcPointOnSurface -::Ifc4x3_tc1::IfcSurface* Ifc4x3_tc1::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcSurface>(true); } +::Ifc4x3_tc1::IfcSurface* Ifc4x3_tc1::IfcPointOnSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcSurface>(true); } void Ifc4x3_tc1::IfcPointOnSurface::setBasisSurface(::Ifc4x3_tc1::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_tc1::IfcPointOnSurface::PointParameterU() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_tc1::IfcPointOnSurface::PointParameterU() const { double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcPointOnSurface::setPointParameterU(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_tc1::IfcPointOnSurface::PointParameterV() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_tc1::IfcPointOnSurface::PointParameterV() const { double v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcPointOnSurface::setPointParameterV(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcPointOnSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[765]); } const IfcParse::entity& Ifc4x3_tc1::IfcPointOnSurface::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[765]); } Ifc4x3_tc1::IfcPointOnSurface::IfcPointOnSurface(IfcEntityInstanceData&& e) : IfcPoint(std::move(e)) { } -Ifc4x3_tc1::IfcPointOnSurface::IfcPointOnSurface(::Ifc4x3_tc1::IfcSurface* v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) : IfcPoint(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; populate_derived(); } +Ifc4x3_tc1::IfcPointOnSurface::IfcPointOnSurface(::Ifc4x3_tc1::IfcSurface* v1_BasisSurface, double v2_PointParameterU, double v3_PointParameterV) : IfcPoint(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_PointParameterU));set_attribute_value(2, (v3_PointParameterV));; populate_derived(); } // Function implementations for IfcPolyLoop -aggregate_of< ::Ifc4x3_tc1::IfcCartesianPoint >::ptr Ifc4x3_tc1::IfcPolyLoop::Polygon() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcCartesianPoint >(); } +aggregate_of< ::Ifc4x3_tc1::IfcCartesianPoint >::ptr Ifc4x3_tc1::IfcPolyLoop::Polygon() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcCartesianPoint >(); } void Ifc4x3_tc1::IfcPolyLoop::setPolygon(aggregate_of< ::Ifc4x3_tc1::IfcCartesianPoint >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_tc1::IfcPolyLoop::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[770]); } const IfcParse::entity& Ifc4x3_tc1::IfcPolyLoop::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[770]); } Ifc4x3_tc1::IfcPolyLoop::IfcPolyLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc4x3_tc1::IfcPolyLoop::IfcPolyLoop(aggregate_of< ::Ifc4x3_tc1::IfcCartesianPoint >::ptr v1_Polygon) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Polygon)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcPolyLoop::IfcPolyLoop(aggregate_of< ::Ifc4x3_tc1::IfcCartesianPoint >::ptr v1_Polygon) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Polygon)->generalize());; populate_derived(); } // Function implementations for IfcPolygonalBoundedHalfSpace -::Ifc4x3_tc1::IfcAxis2Placement3D* Ifc4x3_tc1::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcAxis2Placement3D>(true); } +::Ifc4x3_tc1::IfcAxis2Placement3D* Ifc4x3_tc1::IfcPolygonalBoundedHalfSpace::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcAxis2Placement3D>(true); } void Ifc4x3_tc1::IfcPolygonalBoundedHalfSpace::setPosition(::Ifc4x3_tc1::IfcAxis2Placement3D* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_tc1::IfcBoundedCurve* Ifc4x3_tc1::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcBoundedCurve>(true); } +::Ifc4x3_tc1::IfcBoundedCurve* Ifc4x3_tc1::IfcPolygonalBoundedHalfSpace::PolygonalBoundary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcBoundedCurve>(true); } void Ifc4x3_tc1::IfcPolygonalBoundedHalfSpace::setPolygonalBoundary(::Ifc4x3_tc1::IfcBoundedCurve* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcPolygonalBoundedHalfSpace::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[767]); } const IfcParse::entity& Ifc4x3_tc1::IfcPolygonalBoundedHalfSpace::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[767]); } Ifc4x3_tc1::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(IfcEntityInstanceData&& e) : IfcHalfSpaceSolid(std::move(e)) { } -Ifc4x3_tc1::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(::Ifc4x3_tc1::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_tc1::IfcAxis2Placement3D* v3_Position, ::Ifc4x3_tc1::IfcBoundedCurve* v4_PolygonalBoundary) : IfcHalfSpaceSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PolygonalBoundary ? v4_PolygonalBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcPolygonalBoundedHalfSpace::IfcPolygonalBoundedHalfSpace(::Ifc4x3_tc1::IfcSurface* v1_BaseSurface, bool v2_AgreementFlag, ::Ifc4x3_tc1::IfcAxis2Placement3D* v3_Position, ::Ifc4x3_tc1::IfcBoundedCurve* v4_PolygonalBoundary) : IfcHalfSpaceSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_BaseSurface ? v1_BaseSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AgreementFlag));set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_PolygonalBoundary ? v4_PolygonalBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPolygonalFaceSet -boost::optional< bool > Ifc4x3_tc1::IfcPolygonalFaceSet::Closed() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } bool v = data_.get_attribute_value(1); return v; } +boost::optional< bool > Ifc4x3_tc1::IfcPolygonalFaceSet::Closed() const { if(get_attribute_value(1).isNull()) { return boost::none; } bool v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcPolygonalFaceSet::setClosed(boost::optional< bool > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3_tc1::IfcIndexedPolygonalFace >::ptr Ifc4x3_tc1::IfcPolygonalFaceSet::Faces() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcIndexedPolygonalFace >(); } +aggregate_of< ::Ifc4x3_tc1::IfcIndexedPolygonalFace >::ptr Ifc4x3_tc1::IfcPolygonalFaceSet::Faces() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcIndexedPolygonalFace >(); } void Ifc4x3_tc1::IfcPolygonalFaceSet::setFaces(aggregate_of< ::Ifc4x3_tc1::IfcIndexedPolygonalFace >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_tc1::IfcPolygonalFaceSet::PnIndex() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_tc1::IfcPolygonalFaceSet::PnIndex() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcPolygonalFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_tc1::IfcPolygonalFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[768]); } const IfcParse::entity& Ifc4x3_tc1::IfcPolygonalFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[768]); } Ifc4x3_tc1::IfcPolygonalFaceSet::IfcPolygonalFaceSet(IfcEntityInstanceData&& e) : IfcTessellatedFaceSet(std::move(e)) { } -Ifc4x3_tc1::IfcPolygonalFaceSet::IfcPolygonalFaceSet(::Ifc4x3_tc1::IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v2_Closed, aggregate_of< ::Ifc4x3_tc1::IfcIndexedPolygonalFace >::ptr v3_Faces, boost::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) : IfcTessellatedFaceSet(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, (v3_Faces)->generalize()); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); }; populate_derived(); } +Ifc4x3_tc1::IfcPolygonalFaceSet::IfcPolygonalFaceSet(::Ifc4x3_tc1::IfcCartesianPointList3D* v1_Coordinates, boost::optional< bool > v2_Closed, aggregate_of< ::Ifc4x3_tc1::IfcIndexedPolygonalFace >::ptr v3_Faces, boost::optional< std::vector< int > /*[1:?]*/ > v4_PnIndex) : IfcTessellatedFaceSet(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Closed) {set_attribute_value(1, (*v2_Closed)); }set_attribute_value(2, (v3_Faces)->generalize()); if (v4_PnIndex) {set_attribute_value(3, (*v4_PnIndex)); }; populate_derived(); } // Function implementations for IfcPolyline -aggregate_of< ::Ifc4x3_tc1::IfcCartesianPoint >::ptr Ifc4x3_tc1::IfcPolyline::Points() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcCartesianPoint >(); } +aggregate_of< ::Ifc4x3_tc1::IfcCartesianPoint >::ptr Ifc4x3_tc1::IfcPolyline::Points() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcCartesianPoint >(); } void Ifc4x3_tc1::IfcPolyline::setPoints(aggregate_of< ::Ifc4x3_tc1::IfcCartesianPoint >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_tc1::IfcPolyline::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[769]); } const IfcParse::entity& Ifc4x3_tc1::IfcPolyline::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[769]); } Ifc4x3_tc1::IfcPolyline::IfcPolyline(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_tc1::IfcPolyline::IfcPolyline(aggregate_of< ::Ifc4x3_tc1::IfcCartesianPoint >::ptr v1_Points) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Points)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcPolyline::IfcPolyline(aggregate_of< ::Ifc4x3_tc1::IfcCartesianPoint >::ptr v1_Points) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Points)->generalize());; populate_derived(); } // Function implementations for IfcPolynomialCurve -::Ifc4x3_tc1::IfcPlacement* Ifc4x3_tc1::IfcPolynomialCurve::Position() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcPlacement>(true); } +::Ifc4x3_tc1::IfcPlacement* Ifc4x3_tc1::IfcPolynomialCurve::Position() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcPlacement>(true); } void Ifc4x3_tc1::IfcPolynomialCurve::setPosition(::Ifc4x3_tc1::IfcPlacement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_tc1::IfcPolynomialCurve::CoefficientsX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_tc1::IfcPolynomialCurve::CoefficientsX() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcPolynomialCurve::setCoefficientsX(boost::optional< std::vector< double > /*[2:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_tc1::IfcPolynomialCurve::CoefficientsY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_tc1::IfcPolynomialCurve::CoefficientsY() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcPolynomialCurve::setCoefficientsY(boost::optional< std::vector< double > /*[2:?]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_tc1::IfcPolynomialCurve::CoefficientsZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< double > /*[2:?]*/ > Ifc4x3_tc1::IfcPolynomialCurve::CoefficientsZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< double > /*[2:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcPolynomialCurve::setCoefficientsZ(boost::optional< std::vector< double > /*[2:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_tc1::IfcPolynomialCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[771]); } const IfcParse::entity& Ifc4x3_tc1::IfcPolynomialCurve::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[771]); } Ifc4x3_tc1::IfcPolynomialCurve::IfcPolynomialCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_tc1::IfcPolynomialCurve::IfcPolynomialCurve(::Ifc4x3_tc1::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) : IfcCurve(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CoefficientsX) {set_attribute_value(1, (*v2_CoefficientsX)); } if (v3_CoefficientsY) {set_attribute_value(2, (*v3_CoefficientsY)); } if (v4_CoefficientsZ) {set_attribute_value(3, (*v4_CoefficientsZ)); }; populate_derived(); } +Ifc4x3_tc1::IfcPolynomialCurve::IfcPolynomialCurve(::Ifc4x3_tc1::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) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_CoefficientsX) {set_attribute_value(1, (*v2_CoefficientsX)); } if (v3_CoefficientsY) {set_attribute_value(2, (*v3_CoefficientsY)); } if (v4_CoefficientsZ) {set_attribute_value(3, (*v4_CoefficientsZ)); }; populate_derived(); } // Function implementations for IfcPort @@ -13487,7 +13487,7 @@ Ifc4x3_tc1::IfcPolynomialCurve::IfcPolynomialCurve(::Ifc4x3_tc1::IfcPlacement* v const IfcParse::entity& Ifc4x3_tc1::IfcPort::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[772]); } const IfcParse::entity& Ifc4x3_tc1::IfcPort::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[772]); } Ifc4x3_tc1::IfcPort::IfcPort(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_tc1::IfcPort::IfcPort(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcPort::IfcPort(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPositioningElement @@ -13497,29 +13497,29 @@ Ifc4x3_tc1::IfcPort::IfcPort(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHist const IfcParse::entity& Ifc4x3_tc1::IfcPositioningElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[773]); } const IfcParse::entity& Ifc4x3_tc1::IfcPositioningElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[773]); } Ifc4x3_tc1::IfcPositioningElement::IfcPositioningElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_tc1::IfcPositioningElement::IfcPositioningElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcPositioningElement::IfcPositioningElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPostalAddress -boost::optional< std::string > Ifc4x3_tc1::IfcPostalAddress::InternalLocation() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcPostalAddress::InternalLocation() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcPostalAddress::setInternalLocation(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_tc1::IfcPostalAddress::AddressLines() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_tc1::IfcPostalAddress::AddressLines() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcPostalAddress::setAddressLines(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_tc1::IfcPostalAddress::PostalBox() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcPostalAddress::PostalBox() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcPostalAddress::setPostalBox(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_tc1::IfcPostalAddress::Town() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcPostalAddress::Town() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcPostalAddress::setTown(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_tc1::IfcPostalAddress::Region() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcPostalAddress::Region() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcPostalAddress::setRegion(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_tc1::IfcPostalAddress::PostalCode() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcPostalAddress::PostalCode() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcPostalAddress::setPostalCode(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_tc1::IfcPostalAddress::Country() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcPostalAddress::Country() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_tc1::IfcPostalAddress::setCountry(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_tc1::IfcPostalAddress::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[778]); } const IfcParse::entity& Ifc4x3_tc1::IfcPostalAddress::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[778]); } Ifc4x3_tc1::IfcPostalAddress::IfcPostalAddress(IfcEntityInstanceData&& e) : IfcAddress(std::move(e)) { } -Ifc4x3_tc1::IfcPostalAddress::IfcPostalAddress(boost::optional< ::Ifc4x3_tc1::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) : IfcAddress(IfcEntityInstanceData(storage_t(10))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; populate_derived(); } +Ifc4x3_tc1::IfcPostalAddress::IfcPostalAddress(boost::optional< ::Ifc4x3_tc1::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) : IfcAddress(IfcEntityInstanceData(in_memory_attribute_storage(10))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_InternalLocation) {set_attribute_value(3, (*v4_InternalLocation)); } if (v5_AddressLines) {set_attribute_value(4, (*v5_AddressLines)); } if (v6_PostalBox) {set_attribute_value(5, (*v6_PostalBox)); } if (v7_Town) {set_attribute_value(6, (*v7_Town)); } if (v8_Region) {set_attribute_value(7, (*v8_Region)); } if (v9_PostalCode) {set_attribute_value(8, (*v9_PostalCode)); } if (v10_Country) {set_attribute_value(9, (*v10_Country)); }; populate_derived(); } // Function implementations for IfcPreDefinedColour @@ -13527,7 +13527,7 @@ Ifc4x3_tc1::IfcPostalAddress::IfcPostalAddress(boost::optional< ::Ifc4x3_tc1::If const IfcParse::entity& Ifc4x3_tc1::IfcPreDefinedColour::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[780]); } const IfcParse::entity& Ifc4x3_tc1::IfcPreDefinedColour::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[780]); } Ifc4x3_tc1::IfcPreDefinedColour::IfcPreDefinedColour(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc4x3_tc1::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_tc1::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedCurveFont @@ -13535,17 +13535,17 @@ Ifc4x3_tc1::IfcPreDefinedColour::IfcPreDefinedColour(std::string v1_Name) : IfcP const IfcParse::entity& Ifc4x3_tc1::IfcPreDefinedCurveFont::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[781]); } const IfcParse::entity& Ifc4x3_tc1::IfcPreDefinedCurveFont::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[781]); } Ifc4x3_tc1::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc4x3_tc1::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_tc1::IfcPreDefinedCurveFont::IfcPreDefinedCurveFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedItem -std::string Ifc4x3_tc1::IfcPreDefinedItem::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_tc1::IfcPreDefinedItem::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcPreDefinedItem::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_tc1::IfcPreDefinedItem::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[782]); } const IfcParse::entity& Ifc4x3_tc1::IfcPreDefinedItem::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[782]); } Ifc4x3_tc1::IfcPreDefinedItem::IfcPreDefinedItem(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_tc1::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPreDefinedProperties @@ -13553,7 +13553,7 @@ Ifc4x3_tc1::IfcPreDefinedItem::IfcPreDefinedItem(std::string v1_Name) : IfcPrese const IfcParse::entity& Ifc4x3_tc1::IfcPreDefinedProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[783]); } const IfcParse::entity& Ifc4x3_tc1::IfcPreDefinedProperties::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[783]); } Ifc4x3_tc1::IfcPreDefinedProperties::IfcPreDefinedProperties(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x3_tc1::IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_tc1::IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPreDefinedPropertySet @@ -13561,7 +13561,7 @@ Ifc4x3_tc1::IfcPreDefinedProperties::IfcPreDefinedProperties() : IfcPropertyAbst const IfcParse::entity& Ifc4x3_tc1::IfcPreDefinedPropertySet::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[784]); } const IfcParse::entity& Ifc4x3_tc1::IfcPreDefinedPropertySet::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[784]); } Ifc4x3_tc1::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc4x3_tc1::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_tc1::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPreDefinedTextFont @@ -13569,7 +13569,7 @@ Ifc4x3_tc1::IfcPreDefinedPropertySet::IfcPreDefinedPropertySet(std::string v1_Gl const IfcParse::entity& Ifc4x3_tc1::IfcPreDefinedTextFont::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[785]); } const IfcParse::entity& Ifc4x3_tc1::IfcPreDefinedTextFont::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[785]); } Ifc4x3_tc1::IfcPreDefinedTextFont::IfcPreDefinedTextFont(IfcEntityInstanceData&& e) : IfcPreDefinedItem(std::move(e)) { } -Ifc4x3_tc1::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } +Ifc4x3_tc1::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : IfcPreDefinedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Name));; populate_derived(); } // Function implementations for IfcPresentationItem @@ -13577,74 +13577,74 @@ Ifc4x3_tc1::IfcPreDefinedTextFont::IfcPreDefinedTextFont(std::string v1_Name) : const IfcParse::entity& Ifc4x3_tc1::IfcPresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[788]); } const IfcParse::entity& Ifc4x3_tc1::IfcPresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[788]); } Ifc4x3_tc1::IfcPresentationItem::IfcPresentationItem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcPresentationItem::IfcPresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_tc1::IfcPresentationItem::IfcPresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPresentationLayerAssignment -std::string Ifc4x3_tc1::IfcPresentationLayerAssignment::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_tc1::IfcPresentationLayerAssignment::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcPresentationLayerAssignment::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_tc1::IfcPresentationLayerAssignment::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcPresentationLayerAssignment::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcPresentationLayerAssignment::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3_tc1::IfcLayeredItem >::ptr Ifc4x3_tc1::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcLayeredItem >(); } +aggregate_of< ::Ifc4x3_tc1::IfcLayeredItem >::ptr Ifc4x3_tc1::IfcPresentationLayerAssignment::AssignedItems() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcLayeredItem >(); } void Ifc4x3_tc1::IfcPresentationLayerAssignment::setAssignedItems(aggregate_of< ::Ifc4x3_tc1::IfcLayeredItem >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -boost::optional< std::string > Ifc4x3_tc1::IfcPresentationLayerAssignment::Identifier() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcPresentationLayerAssignment::Identifier() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcPresentationLayerAssignment::setIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_tc1::IfcPresentationLayerAssignment::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[789]); } const IfcParse::entity& Ifc4x3_tc1::IfcPresentationLayerAssignment::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[789]); } Ifc4x3_tc1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_tc1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; populate_derived(); } +Ifc4x3_tc1::IfcPresentationLayerAssignment::IfcPresentationLayerAssignment(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_tc1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }; populate_derived(); } // Function implementations for IfcPresentationLayerWithStyle -boost::logic::tribool Ifc4x3_tc1::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = data_.get_attribute_value(4); return v; } +boost::logic::tribool Ifc4x3_tc1::IfcPresentationLayerWithStyle::LayerOn() const { boost::logic::tribool v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcPresentationLayerWithStyle::setLayerOn(boost::logic::tribool v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -boost::logic::tribool Ifc4x3_tc1::IfcPresentationLayerWithStyle::LayerFrozen() const { boost::logic::tribool v = data_.get_attribute_value(5); return v; } +boost::logic::tribool Ifc4x3_tc1::IfcPresentationLayerWithStyle::LayerFrozen() const { boost::logic::tribool v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcPresentationLayerWithStyle::setLayerFrozen(boost::logic::tribool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::logic::tribool Ifc4x3_tc1::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = data_.get_attribute_value(6); return v; } +boost::logic::tribool Ifc4x3_tc1::IfcPresentationLayerWithStyle::LayerBlocked() const { boost::logic::tribool v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcPresentationLayerWithStyle::setLayerBlocked(boost::logic::tribool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -aggregate_of< ::Ifc4x3_tc1::IfcPresentationStyle >::ptr Ifc4x3_tc1::IfcPresentationLayerWithStyle::LayerStyles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_tc1::IfcPresentationStyle >(); } +aggregate_of< ::Ifc4x3_tc1::IfcPresentationStyle >::ptr Ifc4x3_tc1::IfcPresentationLayerWithStyle::LayerStyles() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_tc1::IfcPresentationStyle >(); } void Ifc4x3_tc1::IfcPresentationLayerWithStyle::setLayerStyles(aggregate_of< ::Ifc4x3_tc1::IfcPresentationStyle >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_tc1::IfcPresentationLayerWithStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[790]); } const IfcParse::entity& Ifc4x3_tc1::IfcPresentationLayerWithStyle::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[790]); } Ifc4x3_tc1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(IfcEntityInstanceData&& e) : IfcPresentationLayerAssignment(std::move(e)) { } -Ifc4x3_tc1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_tc1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_tc1::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, (v8_LayerStyles)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcPresentationLayerWithStyle::IfcPresentationLayerWithStyle(std::string v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_tc1::IfcLayeredItem >::ptr v3_AssignedItems, boost::optional< std::string > v4_Identifier, boost::logic::tribool v5_LayerOn, boost::logic::tribool v6_LayerFrozen, boost::logic::tribool v7_LayerBlocked, aggregate_of< ::Ifc4x3_tc1::IfcPresentationStyle >::ptr v8_LayerStyles) : IfcPresentationLayerAssignment(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_AssignedItems)->generalize()); if (v4_Identifier) {set_attribute_value(3, (*v4_Identifier)); }set_attribute_value(4, (v5_LayerOn));set_attribute_value(5, (v6_LayerFrozen));set_attribute_value(6, (v7_LayerBlocked));set_attribute_value(7, (v8_LayerStyles)->generalize());; populate_derived(); } // Function implementations for IfcPresentationStyle -boost::optional< std::string > Ifc4x3_tc1::IfcPresentationStyle::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcPresentationStyle::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcPresentationStyle::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3_tc1::IfcPresentationStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[791]); } const IfcParse::entity& Ifc4x3_tc1::IfcPresentationStyle::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[791]); } Ifc4x3_tc1::IfcPresentationStyle::IfcPresentationStyle(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_tc1::IfcPresentationStyle::IfcPresentationStyle(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcProcedure -boost::optional< ::Ifc4x3_tc1::IfcProcedureTypeEnum::Value > Ifc4x3_tc1::IfcProcedure::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcProcedureTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_tc1::IfcProcedureTypeEnum::Value > Ifc4x3_tc1::IfcProcedure::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcProcedureTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_tc1::IfcProcedure::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcProcedureTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_tc1::IfcProcedureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_tc1::IfcProcedure::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[793]); } const IfcParse::entity& Ifc4x3_tc1::IfcProcedure::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[793]); } Ifc4x3_tc1::IfcProcedure::IfcProcedure(IfcEntityInstanceData&& e) : IfcProcess(std::move(e)) { } -Ifc4x3_tc1::IfcProcedure::IfcProcedure(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcProcedureTypeEnum::Value > v8_PredefinedType) : IfcProcess(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcProcedure::IfcProcedure(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcProcedureTypeEnum::Value > v8_PredefinedType) : IfcProcess(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcProcedureTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProcedureType -::Ifc4x3_tc1::IfcProcedureTypeEnum::Value Ifc4x3_tc1::IfcProcedureType::PredefinedType() const { return ::Ifc4x3_tc1::IfcProcedureTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcProcedureTypeEnum::Value Ifc4x3_tc1::IfcProcedureType::PredefinedType() const { return ::Ifc4x3_tc1::IfcProcedureTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcProcedureType::setPredefinedType(::Ifc4x3_tc1::IfcProcedureTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcProcedureTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcProcedureType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[794]); } const IfcParse::entity& Ifc4x3_tc1::IfcProcedureType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[794]); } Ifc4x3_tc1::IfcProcedureType::IfcProcedureType(IfcEntityInstanceData&& e) : IfcTypeProcess(std::move(e)) { } -Ifc4x3_tc1::IfcProcedureType::IfcProcedureType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_tc1::IfcProcedureTypeEnum::Value v10_PredefinedType) : IfcTypeProcess(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcProcedureType::IfcProcedureType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_tc1::IfcProcedureTypeEnum::Value v10_PredefinedType) : IfcTypeProcess(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcProcedureTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcProcess -boost::optional< std::string > Ifc4x3_tc1::IfcProcess::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcProcess::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcProcess::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_tc1::IfcProcess::LongDescription() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcProcess::LongDescription() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcProcess::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_tc1::IfcRelSequence::list::ptr Ifc4x3_tc1::IfcProcess::IsPredecessorTo() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[941], 4)->as(); } @@ -13654,12 +13654,12 @@ void Ifc4x3_tc1::IfcProcess::setLongDescription(boost::optional< std::string > v const IfcParse::entity& Ifc4x3_tc1::IfcProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[796]); } const IfcParse::entity& Ifc4x3_tc1::IfcProcess::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[796]); } Ifc4x3_tc1::IfcProcess::IfcProcess(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_tc1::IfcProcess::IfcProcess(std::string v1_GlobalId, ::Ifc4x3_tc1::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(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } +Ifc4x3_tc1::IfcProcess::IfcProcess(std::string v1_GlobalId, ::Ifc4x3_tc1::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(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } // Function implementations for IfcProduct -::Ifc4x3_tc1::IfcObjectPlacement* Ifc4x3_tc1::IfcProduct::ObjectPlacement() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcObjectPlacement>(true); } +::Ifc4x3_tc1::IfcObjectPlacement* Ifc4x3_tc1::IfcProduct::ObjectPlacement() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcObjectPlacement>(true); } void Ifc4x3_tc1::IfcProduct::setObjectPlacement(::Ifc4x3_tc1::IfcObjectPlacement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_tc1::IfcProductRepresentation* Ifc4x3_tc1::IfcProduct::Representation() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcProductRepresentation>(true); } +::Ifc4x3_tc1::IfcProductRepresentation* Ifc4x3_tc1::IfcProduct::Representation() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcProductRepresentation>(true); } void Ifc4x3_tc1::IfcProduct::setRepresentation(::Ifc4x3_tc1::IfcProductRepresentation* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } ::Ifc4x3_tc1::IfcRelAssignsToProduct::list::ptr Ifc4x3_tc1::IfcProduct::ReferencedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[904], 6)->as(); } @@ -13669,7 +13669,7 @@ void Ifc4x3_tc1::IfcProduct::setRepresentation(::Ifc4x3_tc1::IfcProductRepresent const IfcParse::entity& Ifc4x3_tc1::IfcProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[798]); } const IfcParse::entity& Ifc4x3_tc1::IfcProduct::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[798]); } Ifc4x3_tc1::IfcProduct::IfcProduct(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_tc1::IfcProduct::IfcProduct(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation) : IfcObject(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcProduct::IfcProduct(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation) : IfcObject(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProductDefinitionShape @@ -13679,26 +13679,26 @@ Ifc4x3_tc1::IfcProduct::IfcProduct(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwn const IfcParse::entity& Ifc4x3_tc1::IfcProductDefinitionShape::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[799]); } const IfcParse::entity& Ifc4x3_tc1::IfcProductDefinitionShape::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[799]); } Ifc4x3_tc1::IfcProductDefinitionShape::IfcProductDefinitionShape(IfcEntityInstanceData&& e) : IfcProductRepresentation(std::move(e)) { } -Ifc4x3_tc1::IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_tc1::IfcRepresentation >::ptr v3_Representations) : IfcProductRepresentation(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcProductDefinitionShape::IfcProductDefinitionShape(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_tc1::IfcRepresentation >::ptr v3_Representations) : IfcProductRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } // Function implementations for IfcProductRepresentation -boost::optional< std::string > Ifc4x3_tc1::IfcProductRepresentation::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcProductRepresentation::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcProductRepresentation::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_tc1::IfcProductRepresentation::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcProductRepresentation::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcProductRepresentation::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -aggregate_of< ::Ifc4x3_tc1::IfcRepresentation >::ptr Ifc4x3_tc1::IfcProductRepresentation::Representations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcRepresentation >(); } +aggregate_of< ::Ifc4x3_tc1::IfcRepresentation >::ptr Ifc4x3_tc1::IfcProductRepresentation::Representations() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcRepresentation >(); } void Ifc4x3_tc1::IfcProductRepresentation::setRepresentations(aggregate_of< ::Ifc4x3_tc1::IfcRepresentation >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcProductRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[800]); } const IfcParse::entity& Ifc4x3_tc1::IfcProductRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[800]); } Ifc4x3_tc1::IfcProductRepresentation::IfcProductRepresentation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcProductRepresentation::IfcProductRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_tc1::IfcRepresentation >::ptr v3_Representations) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcProductRepresentation::IfcProductRepresentation(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_tc1::IfcRepresentation >::ptr v3_Representations) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Representations)->generalize());; populate_derived(); } // Function implementations for IfcProfileDef -::Ifc4x3_tc1::IfcProfileTypeEnum::Value Ifc4x3_tc1::IfcProfileDef::ProfileType() const { return ::Ifc4x3_tc1::IfcProfileTypeEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_tc1::IfcProfileTypeEnum::Value Ifc4x3_tc1::IfcProfileDef::ProfileType() const { return ::Ifc4x3_tc1::IfcProfileTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x3_tc1::IfcProfileDef::setProfileType(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_tc1::IfcProfileDef::ProfileName() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcProfileDef::ProfileName() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcProfileDef::setProfileName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x3_tc1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_tc1::IfcProfileDef::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[427], 3)->as(); } @@ -13707,17 +13707,17 @@ void Ifc4x3_tc1::IfcProfileDef::setProfileName(boost::optional< std::string > v) const IfcParse::entity& Ifc4x3_tc1::IfcProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[803]); } const IfcParse::entity& Ifc4x3_tc1::IfcProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[803]); } Ifc4x3_tc1::IfcProfileDef::IfcProfileDef(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcProfileDef::IfcProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; populate_derived(); } +Ifc4x3_tc1::IfcProfileDef::IfcProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }; populate_derived(); } // Function implementations for IfcProfileProperties -::Ifc4x3_tc1::IfcProfileDef* Ifc4x3_tc1::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcProfileDef>(true); } +::Ifc4x3_tc1::IfcProfileDef* Ifc4x3_tc1::IfcProfileProperties::ProfileDefinition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcProfileDef>(true); } void Ifc4x3_tc1::IfcProfileProperties::setProfileDefinition(::Ifc4x3_tc1::IfcProfileDef* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcProfileProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[804]); } const IfcParse::entity& Ifc4x3_tc1::IfcProfileProperties::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[804]); } Ifc4x3_tc1::IfcProfileProperties::IfcProfileProperties(IfcEntityInstanceData&& e) : IfcExtendedProperties(std::move(e)) { } -Ifc4x3_tc1::IfcProfileProperties::IfcProfileProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_tc1::IfcProperty >::ptr v3_Properties, ::Ifc4x3_tc1::IfcProfileDef* v4_ProfileDefinition) : IfcExtendedProperties(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_ProfileDefinition ? v4_ProfileDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcProfileProperties::IfcProfileProperties(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_tc1::IfcProperty >::ptr v3_Properties, ::Ifc4x3_tc1::IfcProfileDef* v4_ProfileDefinition) : IfcExtendedProperties(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_Properties)->generalize());set_attribute_value(3, v4_ProfileDefinition ? v4_ProfileDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProject @@ -13725,7 +13725,7 @@ Ifc4x3_tc1::IfcProfileProperties::IfcProfileProperties(boost::optional< std::str const IfcParse::entity& Ifc4x3_tc1::IfcProject::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[806]); } const IfcParse::entity& Ifc4x3_tc1::IfcProject::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[806]); } Ifc4x3_tc1::IfcProject::IfcProject(IfcEntityInstanceData&& e) : IfcContext(std::move(e)) { } -Ifc4x3_tc1::IfcProject::IfcProject(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_tc1::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcProject::IfcProject(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_tc1::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProjectLibrary @@ -13733,50 +13733,50 @@ Ifc4x3_tc1::IfcProject::IfcProject(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwn const IfcParse::entity& Ifc4x3_tc1::IfcProjectLibrary::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[811]); } const IfcParse::entity& Ifc4x3_tc1::IfcProjectLibrary::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[811]); } Ifc4x3_tc1::IfcProjectLibrary::IfcProjectLibrary(IfcEntityInstanceData&& e) : IfcContext(std::move(e)) { } -Ifc4x3_tc1::IfcProjectLibrary::IfcProjectLibrary(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_tc1::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcProjectLibrary::IfcProjectLibrary(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcRepresentationContext >::ptr > v8_RepresentationContexts, ::Ifc4x3_tc1::IfcUnitAssignment* v9_UnitsInContext) : IfcContext(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); } if (v7_Phase) {set_attribute_value(6, (*v7_Phase)); } if (v8_RepresentationContexts) {set_attribute_value(7, (*v8_RepresentationContexts)->generalize()); }set_attribute_value(8, v9_UnitsInContext ? v9_UnitsInContext->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProjectOrder -boost::optional< ::Ifc4x3_tc1::IfcProjectOrderTypeEnum::Value > Ifc4x3_tc1::IfcProjectOrder::PredefinedType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcProjectOrderTypeEnum::FromString(data_.get_attribute_value(6)); } +boost::optional< ::Ifc4x3_tc1::IfcProjectOrderTypeEnum::Value > Ifc4x3_tc1::IfcProjectOrder::PredefinedType() const { if(get_attribute_value(6).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcProjectOrderTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_tc1::IfcProjectOrder::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcProjectOrderTypeEnum::Value > v) { if (v) {set_attribute_value(6, EnumerationReference(&::Ifc4x3_tc1::IfcProjectOrderTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_tc1::IfcProjectOrder::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcProjectOrder::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcProjectOrder::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_tc1::IfcProjectOrder::LongDescription() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcProjectOrder::LongDescription() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcProjectOrder::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcProjectOrder::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[812]); } const IfcParse::entity& Ifc4x3_tc1::IfcProjectOrder::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[812]); } Ifc4x3_tc1::IfcProjectOrder::IfcProjectOrder(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_tc1::IfcProjectOrder::IfcProjectOrder(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_tc1::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } +Ifc4x3_tc1::IfcProjectOrder::IfcProjectOrder(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcProjectOrderTypeEnum::Value > v7_PredefinedType, boost::optional< std::string > v8_Status, boost::optional< std::string > v9_LongDescription) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_PredefinedType) {set_attribute_value(6, (EnumerationReference(&::Ifc4x3_tc1::IfcProjectOrderTypeEnum::Class(),(size_t)*v7_PredefinedType))); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_LongDescription) {set_attribute_value(8, (*v9_LongDescription)); }; populate_derived(); } // Function implementations for IfcProjectedCRS -boost::optional< std::string > Ifc4x3_tc1::IfcProjectedCRS::MapProjection() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcProjectedCRS::MapProjection() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcProjectedCRS::setMapProjection(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_tc1::IfcProjectedCRS::MapZone() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcProjectedCRS::MapZone() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcProjectedCRS::setMapZone(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_tc1::IfcNamedUnit* Ifc4x3_tc1::IfcProjectedCRS::MapUnit() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcNamedUnit>(true); } +::Ifc4x3_tc1::IfcNamedUnit* Ifc4x3_tc1::IfcProjectedCRS::MapUnit() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcNamedUnit>(true); } void Ifc4x3_tc1::IfcProjectedCRS::setMapUnit(::Ifc4x3_tc1::IfcNamedUnit* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_tc1::IfcProjectedCRS::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[807]); } const IfcParse::entity& Ifc4x3_tc1::IfcProjectedCRS::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[807]); } Ifc4x3_tc1::IfcProjectedCRS::IfcProjectedCRS(IfcEntityInstanceData&& e) : IfcCoordinateReferenceSystem(std::move(e)) { } -Ifc4x3_tc1::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_tc1::IfcNamedUnit* v7_MapUnit) : IfcCoordinateReferenceSystem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, v7_MapUnit ? v7_MapUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::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_tc1::IfcNamedUnit* v7_MapUnit) : IfcCoordinateReferenceSystem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_GeodeticDatum) {set_attribute_value(2, (*v3_GeodeticDatum)); } if (v4_VerticalDatum) {set_attribute_value(3, (*v4_VerticalDatum)); } if (v5_MapProjection) {set_attribute_value(4, (*v5_MapProjection)); } if (v6_MapZone) {set_attribute_value(5, (*v6_MapZone)); }set_attribute_value(6, v7_MapUnit ? v7_MapUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcProjectionElement -boost::optional< ::Ifc4x3_tc1::IfcProjectionElementTypeEnum::Value > Ifc4x3_tc1::IfcProjectionElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcProjectionElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcProjectionElementTypeEnum::Value > Ifc4x3_tc1::IfcProjectionElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcProjectionElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcProjectionElement::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcProjectionElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcProjectionElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcProjectionElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[809]); } const IfcParse::entity& Ifc4x3_tc1::IfcProjectionElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[809]); } Ifc4x3_tc1::IfcProjectionElement::IfcProjectionElement(IfcEntityInstanceData&& e) : IfcFeatureElementAddition(std::move(e)) { } -Ifc4x3_tc1::IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementAddition(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcProjectionElement::IfcProjectionElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcProjectionElementTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementAddition(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcProjectionElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProperty -std::string Ifc4x3_tc1::IfcProperty::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_tc1::IfcProperty::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcProperty::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_tc1::IfcProperty::Specification() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcProperty::Specification() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcProperty::setSpecification(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x3_tc1::IfcPropertySet::list::ptr Ifc4x3_tc1::IfcProperty::PartOfPset() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[823], 4)->as(); } @@ -13789,7 +13789,7 @@ void Ifc4x3_tc1::IfcProperty::setSpecification(boost::optional< std::string > v) const IfcParse::entity& Ifc4x3_tc1::IfcProperty::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[814]); } const IfcParse::entity& Ifc4x3_tc1::IfcProperty::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[814]); } Ifc4x3_tc1::IfcProperty::IfcProperty(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x3_tc1::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std::string > v2_Specification) : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }; populate_derived(); } +Ifc4x3_tc1::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std::string > v2_Specification) : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }; populate_derived(); } // Function implementations for IfcPropertyAbstraction @@ -13798,23 +13798,23 @@ Ifc4x3_tc1::IfcProperty::IfcProperty(std::string v1_Name, boost::optional< std:: const IfcParse::entity& Ifc4x3_tc1::IfcPropertyAbstraction::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[815]); } const IfcParse::entity& Ifc4x3_tc1::IfcPropertyAbstraction::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[815]); } Ifc4x3_tc1::IfcPropertyAbstraction::IfcPropertyAbstraction(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcPropertyAbstraction::IfcPropertyAbstraction() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_tc1::IfcPropertyAbstraction::IfcPropertyAbstraction() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcPropertyBoundedValue -::Ifc4x3_tc1::IfcValue* Ifc4x3_tc1::IfcPropertyBoundedValue::UpperBoundValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcValue>(true); } +::Ifc4x3_tc1::IfcValue* Ifc4x3_tc1::IfcPropertyBoundedValue::UpperBoundValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcValue>(true); } void Ifc4x3_tc1::IfcPropertyBoundedValue::setUpperBoundValue(::Ifc4x3_tc1::IfcValue* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_tc1::IfcValue* Ifc4x3_tc1::IfcPropertyBoundedValue::LowerBoundValue() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcValue>(true); } +::Ifc4x3_tc1::IfcValue* Ifc4x3_tc1::IfcPropertyBoundedValue::LowerBoundValue() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcValue>(true); } void Ifc4x3_tc1::IfcPropertyBoundedValue::setLowerBoundValue(::Ifc4x3_tc1::IfcValue* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_tc1::IfcUnit* Ifc4x3_tc1::IfcPropertyBoundedValue::Unit() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcUnit>(true); } +::Ifc4x3_tc1::IfcUnit* Ifc4x3_tc1::IfcPropertyBoundedValue::Unit() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcUnit>(true); } void Ifc4x3_tc1::IfcPropertyBoundedValue::setUnit(::Ifc4x3_tc1::IfcUnit* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_tc1::IfcValue* Ifc4x3_tc1::IfcPropertyBoundedValue::SetPointValue() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcValue>(true); } +::Ifc4x3_tc1::IfcValue* Ifc4x3_tc1::IfcPropertyBoundedValue::SetPointValue() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcValue>(true); } void Ifc4x3_tc1::IfcPropertyBoundedValue::setSetPointValue(::Ifc4x3_tc1::IfcValue* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcPropertyBoundedValue::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[816]); } const IfcParse::entity& Ifc4x3_tc1::IfcPropertyBoundedValue::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[816]); } Ifc4x3_tc1::IfcPropertyBoundedValue::IfcPropertyBoundedValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_tc1::IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name, boost::optional< std::string > v2_Specification, ::Ifc4x3_tc1::IfcValue* v3_UpperBoundValue, ::Ifc4x3_tc1::IfcValue* v4_LowerBoundValue, ::Ifc4x3_tc1::IfcUnit* v5_Unit, ::Ifc4x3_tc1::IfcValue* v6_SetPointValue) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, v3_UpperBoundValue ? v3_UpperBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_LowerBoundValue ? v4_LowerBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_Unit ? v5_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_SetPointValue ? v6_SetPointValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name, boost::optional< std::string > v2_Specification, ::Ifc4x3_tc1::IfcValue* v3_UpperBoundValue, ::Ifc4x3_tc1::IfcValue* v4_LowerBoundValue, ::Ifc4x3_tc1::IfcUnit* v5_Unit, ::Ifc4x3_tc1::IfcValue* v6_SetPointValue) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, v3_UpperBoundValue ? v3_UpperBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_LowerBoundValue ? v4_LowerBoundValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_Unit ? v5_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_SetPointValue ? v6_SetPointValue->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyDefinition @@ -13824,81 +13824,81 @@ Ifc4x3_tc1::IfcPropertyBoundedValue::IfcPropertyBoundedValue(std::string v1_Name const IfcParse::entity& Ifc4x3_tc1::IfcPropertyDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[817]); } const IfcParse::entity& Ifc4x3_tc1::IfcPropertyDefinition::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[817]); } Ifc4x3_tc1::IfcPropertyDefinition::IfcPropertyDefinition(IfcEntityInstanceData&& e) : IfcRoot(std::move(e)) { } -Ifc4x3_tc1::IfcPropertyDefinition::IfcPropertyDefinition(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_tc1::IfcPropertyDefinition::IfcPropertyDefinition(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertyDependencyRelationship -::Ifc4x3_tc1::IfcProperty* Ifc4x3_tc1::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcProperty>(true); } +::Ifc4x3_tc1::IfcProperty* Ifc4x3_tc1::IfcPropertyDependencyRelationship::DependingProperty() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcProperty>(true); } void Ifc4x3_tc1::IfcPropertyDependencyRelationship::setDependingProperty(::Ifc4x3_tc1::IfcProperty* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_tc1::IfcProperty* Ifc4x3_tc1::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcProperty>(true); } +::Ifc4x3_tc1::IfcProperty* Ifc4x3_tc1::IfcPropertyDependencyRelationship::DependantProperty() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcProperty>(true); } void Ifc4x3_tc1::IfcPropertyDependencyRelationship::setDependantProperty(::Ifc4x3_tc1::IfcProperty* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_tc1::IfcPropertyDependencyRelationship::Expression() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcPropertyDependencyRelationship::Expression() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcPropertyDependencyRelationship::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_tc1::IfcPropertyDependencyRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[818]); } const IfcParse::entity& Ifc4x3_tc1::IfcPropertyDependencyRelationship::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[818]); } Ifc4x3_tc1::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_tc1::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcProperty* v3_DependingProperty, ::Ifc4x3_tc1::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_DependingProperty ? v3_DependingProperty->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_DependantProperty ? v4_DependantProperty->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } +Ifc4x3_tc1::IfcPropertyDependencyRelationship::IfcPropertyDependencyRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcProperty* v3_DependingProperty, ::Ifc4x3_tc1::IfcProperty* v4_DependantProperty, boost::optional< std::string > v5_Expression) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_DependingProperty ? v3_DependingProperty->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_DependantProperty ? v4_DependantProperty->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }; populate_derived(); } // Function implementations for IfcPropertyEnumeratedValue -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > Ifc4x3_tc1::IfcPropertyEnumeratedValue::EnumerationValues() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > Ifc4x3_tc1::IfcPropertyEnumeratedValue::EnumerationValues() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcValue >(); } void Ifc4x3_tc1::IfcPropertyEnumeratedValue::setEnumerationValues(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } -::Ifc4x3_tc1::IfcPropertyEnumeration* Ifc4x3_tc1::IfcPropertyEnumeratedValue::EnumerationReference() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcPropertyEnumeration>(true); } +::Ifc4x3_tc1::IfcPropertyEnumeration* Ifc4x3_tc1::IfcPropertyEnumeratedValue::EnumerationReference() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcPropertyEnumeration>(true); } void Ifc4x3_tc1::IfcPropertyEnumeratedValue::setEnumerationReference(::Ifc4x3_tc1::IfcPropertyEnumeration* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcPropertyEnumeratedValue::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[819]); } const IfcParse::entity& Ifc4x3_tc1::IfcPropertyEnumeratedValue::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[819]); } Ifc4x3_tc1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_tc1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_tc1::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_EnumerationValues) {set_attribute_value(2, (*v3_EnumerationValues)->generalize()); }set_attribute_value(3, v4_EnumerationReference ? v4_EnumerationReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcPropertyEnumeratedValue::IfcPropertyEnumeratedValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v3_EnumerationValues, ::Ifc4x3_tc1::IfcPropertyEnumeration* v4_EnumerationReference) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_EnumerationValues) {set_attribute_value(2, (*v3_EnumerationValues)->generalize()); }set_attribute_value(3, v4_EnumerationReference ? v4_EnumerationReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyEnumeration -std::string Ifc4x3_tc1::IfcPropertyEnumeration::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_tc1::IfcPropertyEnumeration::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcPropertyEnumeration::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr Ifc4x3_tc1::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcValue >(); } +aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr Ifc4x3_tc1::IfcPropertyEnumeration::EnumerationValues() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcValue >(); } void Ifc4x3_tc1::IfcPropertyEnumeration::setEnumerationValues(aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_tc1::IfcUnit* Ifc4x3_tc1::IfcPropertyEnumeration::Unit() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcUnit>(true); } +::Ifc4x3_tc1::IfcUnit* Ifc4x3_tc1::IfcPropertyEnumeration::Unit() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcUnit>(true); } void Ifc4x3_tc1::IfcPropertyEnumeration::setUnit(::Ifc4x3_tc1::IfcUnit* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcPropertyEnumeration::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[820]); } const IfcParse::entity& Ifc4x3_tc1::IfcPropertyEnumeration::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[820]); } Ifc4x3_tc1::IfcPropertyEnumeration::IfcPropertyEnumeration(IfcEntityInstanceData&& e) : IfcPropertyAbstraction(std::move(e)) { } -Ifc4x3_tc1::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_tc1::IfcUnit* v3_Unit) : IfcPropertyAbstraction(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_EnumerationValues)->generalize());set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcPropertyEnumeration::IfcPropertyEnumeration(std::string v1_Name, aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v2_EnumerationValues, ::Ifc4x3_tc1::IfcUnit* v3_Unit) : IfcPropertyAbstraction(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_EnumerationValues)->generalize());set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyListValue -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > Ifc4x3_tc1::IfcPropertyListValue::ListValues() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > Ifc4x3_tc1::IfcPropertyListValue::ListValues() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcValue >(); } void Ifc4x3_tc1::IfcPropertyListValue::setListValues(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } -::Ifc4x3_tc1::IfcUnit* Ifc4x3_tc1::IfcPropertyListValue::Unit() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcUnit>(true); } +::Ifc4x3_tc1::IfcUnit* Ifc4x3_tc1::IfcPropertyListValue::Unit() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcUnit>(true); } void Ifc4x3_tc1::IfcPropertyListValue::setUnit(::Ifc4x3_tc1::IfcUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcPropertyListValue::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[821]); } const IfcParse::entity& Ifc4x3_tc1::IfcPropertyListValue::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[821]); } Ifc4x3_tc1::IfcPropertyListValue::IfcPropertyListValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_tc1::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_tc1::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_ListValues) {set_attribute_value(2, (*v3_ListValues)->generalize()); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcPropertyListValue::IfcPropertyListValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v3_ListValues, ::Ifc4x3_tc1::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_ListValues) {set_attribute_value(2, (*v3_ListValues)->generalize()); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyReferenceValue -boost::optional< std::string > Ifc4x3_tc1::IfcPropertyReferenceValue::UsageName() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcPropertyReferenceValue::UsageName() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcPropertyReferenceValue::setUsageName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_tc1::IfcObjectReferenceSelect* Ifc4x3_tc1::IfcPropertyReferenceValue::PropertyReference() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcObjectReferenceSelect>(true); } +::Ifc4x3_tc1::IfcObjectReferenceSelect* Ifc4x3_tc1::IfcPropertyReferenceValue::PropertyReference() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcObjectReferenceSelect>(true); } void Ifc4x3_tc1::IfcPropertyReferenceValue::setPropertyReference(::Ifc4x3_tc1::IfcObjectReferenceSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcPropertyReferenceValue::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[822]); } const IfcParse::entity& Ifc4x3_tc1::IfcPropertyReferenceValue::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[822]); } Ifc4x3_tc1::IfcPropertyReferenceValue::IfcPropertyReferenceValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_tc1::IfcPropertyReferenceValue::IfcPropertyReferenceValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< std::string > v3_UsageName, ::Ifc4x3_tc1::IfcObjectReferenceSelect* v4_PropertyReference) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, v4_PropertyReference ? v4_PropertyReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcPropertyReferenceValue::IfcPropertyReferenceValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< std::string > v3_UsageName, ::Ifc4x3_tc1::IfcObjectReferenceSelect* v4_PropertyReference) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_UsageName) {set_attribute_value(2, (*v3_UsageName)); }set_attribute_value(3, v4_PropertyReference ? v4_PropertyReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertySet -aggregate_of< ::Ifc4x3_tc1::IfcProperty >::ptr Ifc4x3_tc1::IfcPropertySet::HasProperties() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_tc1::IfcProperty >(); } +aggregate_of< ::Ifc4x3_tc1::IfcProperty >::ptr Ifc4x3_tc1::IfcPropertySet::HasProperties() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_tc1::IfcProperty >(); } void Ifc4x3_tc1::IfcPropertySet::setHasProperties(aggregate_of< ::Ifc4x3_tc1::IfcProperty >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_tc1::IfcPropertySet::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[823]); } const IfcParse::entity& Ifc4x3_tc1::IfcPropertySet::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[823]); } Ifc4x3_tc1::IfcPropertySet::IfcPropertySet(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc4x3_tc1::IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcProperty >::ptr v5_HasProperties) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_HasProperties)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcProperty >::ptr v5_HasProperties) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_HasProperties)->generalize());; populate_derived(); } // Function implementations for IfcPropertySetDefinition @@ -13909,14 +13909,14 @@ Ifc4x3_tc1::IfcPropertySet::IfcPropertySet(std::string v1_GlobalId, ::Ifc4x3_tc1 const IfcParse::entity& Ifc4x3_tc1::IfcPropertySetDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[824]); } const IfcParse::entity& Ifc4x3_tc1::IfcPropertySetDefinition::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[824]); } Ifc4x3_tc1::IfcPropertySetDefinition::IfcPropertySetDefinition(IfcEntityInstanceData&& e) : IfcPropertyDefinition(std::move(e)) { } -Ifc4x3_tc1::IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_tc1::IfcPropertySetDefinition::IfcPropertySetDefinition(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertySetTemplate -boost::optional< ::Ifc4x3_tc1::IfcPropertySetTemplateTypeEnum::Value > Ifc4x3_tc1::IfcPropertySetTemplate::TemplateType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcPropertySetTemplateTypeEnum::FromString(data_.get_attribute_value(4)); } +boost::optional< ::Ifc4x3_tc1::IfcPropertySetTemplateTypeEnum::Value > Ifc4x3_tc1::IfcPropertySetTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcPropertySetTemplateTypeEnum::FromString(get_attribute_value(4)); } void Ifc4x3_tc1::IfcPropertySetTemplate::setTemplateType(boost::optional< ::Ifc4x3_tc1::IfcPropertySetTemplateTypeEnum::Value > v) { if (v) {set_attribute_value(4, EnumerationReference(&::Ifc4x3_tc1::IfcPropertySetTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_tc1::IfcPropertySetTemplate::ApplicableEntity() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcPropertySetTemplate::ApplicableEntity() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcPropertySetTemplate::setApplicableEntity(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -aggregate_of< ::Ifc4x3_tc1::IfcPropertyTemplate >::ptr Ifc4x3_tc1::IfcPropertySetTemplate::HasPropertyTemplates() const { aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3_tc1::IfcPropertyTemplate >(); } +aggregate_of< ::Ifc4x3_tc1::IfcPropertyTemplate >::ptr Ifc4x3_tc1::IfcPropertySetTemplate::HasPropertyTemplates() const { aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3_tc1::IfcPropertyTemplate >(); } void Ifc4x3_tc1::IfcPropertySetTemplate::setHasPropertyTemplates(aggregate_of< ::Ifc4x3_tc1::IfcPropertyTemplate >::ptr v) { set_attribute_value(6, (v)->generalize());if constexpr (false)unset_attribute_value(6); } ::Ifc4x3_tc1::IfcRelDefinesByTemplate::list::ptr Ifc4x3_tc1::IfcPropertySetTemplate::Defines() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[932], 5)->as(); } @@ -13924,39 +13924,39 @@ void Ifc4x3_tc1::IfcPropertySetTemplate::setHasPropertyTemplates(aggregate_of< : const IfcParse::entity& Ifc4x3_tc1::IfcPropertySetTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[827]); } const IfcParse::entity& Ifc4x3_tc1::IfcPropertySetTemplate::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[827]); } Ifc4x3_tc1::IfcPropertySetTemplate::IfcPropertySetTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplateDefinition(std::move(e)) { } -Ifc4x3_tc1::IfcPropertySetTemplate::IfcPropertySetTemplate(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x3_tc1::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_ApplicableEntity, aggregate_of< ::Ifc4x3_tc1::IfcPropertyTemplate >::ptr v7_HasPropertyTemplates) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x3_tc1::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, (v7_HasPropertyTemplates)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcPropertySetTemplate::IfcPropertySetTemplate(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x3_tc1::IfcPropertySetTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_ApplicableEntity, aggregate_of< ::Ifc4x3_tc1::IfcPropertyTemplate >::ptr v7_HasPropertyTemplates) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x3_tc1::IfcPropertySetTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_ApplicableEntity) {set_attribute_value(5, (*v6_ApplicableEntity)); }set_attribute_value(6, (v7_HasPropertyTemplates)->generalize());; populate_derived(); } // Function implementations for IfcPropertySingleValue -::Ifc4x3_tc1::IfcValue* Ifc4x3_tc1::IfcPropertySingleValue::NominalValue() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcValue>(true); } +::Ifc4x3_tc1::IfcValue* Ifc4x3_tc1::IfcPropertySingleValue::NominalValue() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcValue>(true); } void Ifc4x3_tc1::IfcPropertySingleValue::setNominalValue(::Ifc4x3_tc1::IfcValue* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_tc1::IfcUnit* Ifc4x3_tc1::IfcPropertySingleValue::Unit() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcUnit>(true); } +::Ifc4x3_tc1::IfcUnit* Ifc4x3_tc1::IfcPropertySingleValue::Unit() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcUnit>(true); } void Ifc4x3_tc1::IfcPropertySingleValue::setUnit(::Ifc4x3_tc1::IfcUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcPropertySingleValue::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[829]); } const IfcParse::entity& Ifc4x3_tc1::IfcPropertySingleValue::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[829]); } Ifc4x3_tc1::IfcPropertySingleValue::IfcPropertySingleValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_tc1::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Specification, ::Ifc4x3_tc1::IfcValue* v3_NominalValue, ::Ifc4x3_tc1::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, v3_NominalValue ? v3_NominalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcPropertySingleValue::IfcPropertySingleValue(std::string v1_Name, boost::optional< std::string > v2_Specification, ::Ifc4x3_tc1::IfcValue* v3_NominalValue, ::Ifc4x3_tc1::IfcUnit* v4_Unit) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }set_attribute_value(2, v3_NominalValue ? v3_NominalValue->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcPropertyTableValue -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > Ifc4x3_tc1::IfcPropertyTableValue::DefiningValues() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > Ifc4x3_tc1::IfcPropertyTableValue::DefiningValues() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcValue >(); } void Ifc4x3_tc1::IfcPropertyTableValue::setDefiningValues(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > Ifc4x3_tc1::IfcPropertyTableValue::DefinedValues() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_tc1::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > Ifc4x3_tc1::IfcPropertyTableValue::DefinedValues() const { if(get_attribute_value(3).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_tc1::IfcValue >(); } void Ifc4x3_tc1::IfcPropertyTableValue::setDefinedValues(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v) { if (v) {set_attribute_value(3, (*v)->generalize());} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_tc1::IfcPropertyTableValue::Expression() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcPropertyTableValue::Expression() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcPropertyTableValue::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_tc1::IfcUnit* Ifc4x3_tc1::IfcPropertyTableValue::DefiningUnit() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcUnit>(true); } +::Ifc4x3_tc1::IfcUnit* Ifc4x3_tc1::IfcPropertyTableValue::DefiningUnit() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcUnit>(true); } void Ifc4x3_tc1::IfcPropertyTableValue::setDefiningUnit(::Ifc4x3_tc1::IfcUnit* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_tc1::IfcUnit* Ifc4x3_tc1::IfcPropertyTableValue::DefinedUnit() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcUnit>(true); } +::Ifc4x3_tc1::IfcUnit* Ifc4x3_tc1::IfcPropertyTableValue::DefinedUnit() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcUnit>(true); } void Ifc4x3_tc1::IfcPropertyTableValue::setDefinedUnit(::Ifc4x3_tc1::IfcUnit* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< ::Ifc4x3_tc1::IfcCurveInterpolationEnum::Value > Ifc4x3_tc1::IfcPropertyTableValue::CurveInterpolation() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCurveInterpolationEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_tc1::IfcCurveInterpolationEnum::Value > Ifc4x3_tc1::IfcPropertyTableValue::CurveInterpolation() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcCurveInterpolationEnum::FromString(get_attribute_value(7)); } void Ifc4x3_tc1::IfcPropertyTableValue::setCurveInterpolation(boost::optional< ::Ifc4x3_tc1::IfcCurveInterpolationEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_tc1::IfcCurveInterpolationEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_tc1::IfcPropertyTableValue::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[830]); } const IfcParse::entity& Ifc4x3_tc1::IfcPropertyTableValue::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[830]); } Ifc4x3_tc1::IfcPropertyTableValue::IfcPropertyTableValue(IfcEntityInstanceData&& e) : IfcSimpleProperty(std::move(e)) { } -Ifc4x3_tc1::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_tc1::IfcUnit* v6_DefiningUnit, ::Ifc4x3_tc1::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_tc1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_DefiningValues) {set_attribute_value(2, (*v3_DefiningValues)->generalize()); } if (v4_DefinedValues) {set_attribute_value(3, (*v4_DefinedValues)->generalize()); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, v6_DefiningUnit ? v6_DefiningUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_DefinedUnit ? v7_DefinedUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_CurveInterpolation) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); }; populate_derived(); } +Ifc4x3_tc1::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, boost::optional< std::string > v2_Specification, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v3_DefiningValues, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v4_DefinedValues, boost::optional< std::string > v5_Expression, ::Ifc4x3_tc1::IfcUnit* v6_DefiningUnit, ::Ifc4x3_tc1::IfcUnit* v7_DefinedUnit, boost::optional< ::Ifc4x3_tc1::IfcCurveInterpolationEnum::Value > v8_CurveInterpolation) : IfcSimpleProperty(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); } if (v3_DefiningValues) {set_attribute_value(2, (*v3_DefiningValues)->generalize()); } if (v4_DefinedValues) {set_attribute_value(3, (*v4_DefinedValues)->generalize()); } if (v5_Expression) {set_attribute_value(4, (*v5_Expression)); }set_attribute_value(5, v6_DefiningUnit ? v6_DefiningUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_DefinedUnit ? v7_DefinedUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_CurveInterpolation) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcCurveInterpolationEnum::Class(),(size_t)*v8_CurveInterpolation))); }; populate_derived(); } // Function implementations for IfcPropertyTemplate @@ -13966,7 +13966,7 @@ Ifc4x3_tc1::IfcPropertyTableValue::IfcPropertyTableValue(std::string v1_Name, bo const IfcParse::entity& Ifc4x3_tc1::IfcPropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[831]); } const IfcParse::entity& Ifc4x3_tc1::IfcPropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[831]); } Ifc4x3_tc1::IfcPropertyTemplate::IfcPropertyTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplateDefinition(std::move(e)) { } -Ifc4x3_tc1::IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_tc1::IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyTemplateDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcPropertyTemplateDefinition @@ -13974,115 +13974,115 @@ Ifc4x3_tc1::IfcPropertyTemplate::IfcPropertyTemplate(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x3_tc1::IfcPropertyTemplateDefinition::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[832]); } const IfcParse::entity& Ifc4x3_tc1::IfcPropertyTemplateDefinition::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[832]); } Ifc4x3_tc1::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(IfcEntityInstanceData&& e) : IfcPropertyDefinition(std::move(e)) { } -Ifc4x3_tc1::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_tc1::IfcPropertyTemplateDefinition::IfcPropertyTemplateDefinition(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertyDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcProtectiveDevice -boost::optional< ::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Value > Ifc4x3_tc1::IfcProtectiveDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Value > Ifc4x3_tc1::IfcProtectiveDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcProtectiveDevice::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcProtectiveDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[833]); } const IfcParse::entity& Ifc4x3_tc1::IfcProtectiveDevice::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[833]); } Ifc4x3_tc1::IfcProtectiveDevice::IfcProtectiveDevice(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_tc1::IfcProtectiveDevice::IfcProtectiveDevice(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcProtectiveDevice::IfcProtectiveDevice(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProtectiveDeviceTrippingUnit -boost::optional< ::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnit::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnit::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[834]); } const IfcParse::entity& Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnit::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[834]); } Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnit::IfcProtectiveDeviceTrippingUnit(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcProtectiveDeviceTrippingUnitType -::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitType::PredefinedType() const { return ::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitType::setPredefinedType(::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[835]); } const IfcParse::entity& Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[835]); } Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitType::IfcProtectiveDeviceTrippingUnitType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcProtectiveDeviceTrippingUnitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcProtectiveDeviceType -::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Value Ifc4x3_tc1::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Value Ifc4x3_tc1::IfcProtectiveDeviceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcProtectiveDeviceType::setPredefinedType(::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcProtectiveDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[837]); } const IfcParse::entity& Ifc4x3_tc1::IfcProtectiveDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[837]); } Ifc4x3_tc1::IfcProtectiveDeviceType::IfcProtectiveDeviceType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_tc1::IfcProtectiveDeviceType::IfcProtectiveDeviceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcProtectiveDeviceType::IfcProtectiveDeviceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcProtectiveDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcPump -boost::optional< ::Ifc4x3_tc1::IfcPumpTypeEnum::Value > Ifc4x3_tc1::IfcPump::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcPumpTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcPumpTypeEnum::Value > Ifc4x3_tc1::IfcPump::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcPumpTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcPump::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcPumpTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcPumpTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcPump::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[839]); } const IfcParse::entity& Ifc4x3_tc1::IfcPump::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[839]); } Ifc4x3_tc1::IfcPump::IfcPump(IfcEntityInstanceData&& e) : IfcFlowMovingDevice(std::move(e)) { } -Ifc4x3_tc1::IfcPump::IfcPump(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcPumpTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcPump::IfcPump(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcPumpTypeEnum::Value > v9_PredefinedType) : IfcFlowMovingDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcPumpTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcPumpType -::Ifc4x3_tc1::IfcPumpTypeEnum::Value Ifc4x3_tc1::IfcPumpType::PredefinedType() const { return ::Ifc4x3_tc1::IfcPumpTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcPumpTypeEnum::Value Ifc4x3_tc1::IfcPumpType::PredefinedType() const { return ::Ifc4x3_tc1::IfcPumpTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcPumpType::setPredefinedType(::Ifc4x3_tc1::IfcPumpTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcPumpTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcPumpType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[840]); } const IfcParse::entity& Ifc4x3_tc1::IfcPumpType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[840]); } Ifc4x3_tc1::IfcPumpType::IfcPumpType(IfcEntityInstanceData&& e) : IfcFlowMovingDeviceType(std::move(e)) { } -Ifc4x3_tc1::IfcPumpType::IfcPumpType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPumpTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcPumpType::IfcPumpType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcPumpTypeEnum::Value v10_PredefinedType) : IfcFlowMovingDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcPumpTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcQuantityArea -double Ifc4x3_tc1::IfcQuantityArea::AreaValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_tc1::IfcQuantityArea::AreaValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcQuantityArea::setAreaValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_tc1::IfcQuantityArea::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcQuantityArea::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcQuantityArea::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_tc1::IfcQuantityArea::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[842]); } const IfcParse::entity& Ifc4x3_tc1::IfcQuantityArea::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[842]); } Ifc4x3_tc1::IfcQuantityArea::IfcQuantityArea(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_tc1::IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit* v3_Unit, double v4_AreaValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_tc1::IfcQuantityArea::IfcQuantityArea(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit* v3_Unit, double v4_AreaValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_AreaValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityCount -int Ifc4x3_tc1::IfcQuantityCount::CountValue() const { int v = data_.get_attribute_value(3); return v; } +int Ifc4x3_tc1::IfcQuantityCount::CountValue() const { int v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcQuantityCount::setCountValue(int v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_tc1::IfcQuantityCount::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcQuantityCount::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcQuantityCount::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_tc1::IfcQuantityCount::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[843]); } const IfcParse::entity& Ifc4x3_tc1::IfcQuantityCount::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[843]); } Ifc4x3_tc1::IfcQuantityCount::IfcQuantityCount(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_tc1::IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit* v3_Unit, int v4_CountValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_tc1::IfcQuantityCount::IfcQuantityCount(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit* v3_Unit, int v4_CountValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_CountValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityLength -double Ifc4x3_tc1::IfcQuantityLength::LengthValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_tc1::IfcQuantityLength::LengthValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcQuantityLength::setLengthValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_tc1::IfcQuantityLength::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcQuantityLength::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcQuantityLength::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_tc1::IfcQuantityLength::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[844]); } const IfcParse::entity& Ifc4x3_tc1::IfcQuantityLength::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[844]); } Ifc4x3_tc1::IfcQuantityLength::IfcQuantityLength(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_tc1::IfcQuantityLength::IfcQuantityLength(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit* v3_Unit, double v4_LengthValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_tc1::IfcQuantityLength::IfcQuantityLength(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit* v3_Unit, double v4_LengthValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_LengthValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityNumber -double Ifc4x3_tc1::IfcQuantityNumber::NumberValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_tc1::IfcQuantityNumber::NumberValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcQuantityNumber::setNumberValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_tc1::IfcQuantityNumber::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcQuantityNumber::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcQuantityNumber::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_tc1::IfcQuantityNumber::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[845]); } const IfcParse::entity& Ifc4x3_tc1::IfcQuantityNumber::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[845]); } Ifc4x3_tc1::IfcQuantityNumber::IfcQuantityNumber(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_tc1::IfcQuantityNumber::IfcQuantityNumber(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit* v3_Unit, double v4_NumberValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_NumberValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_tc1::IfcQuantityNumber::IfcQuantityNumber(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit* v3_Unit, double v4_NumberValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_NumberValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantitySet @@ -14090,381 +14090,381 @@ Ifc4x3_tc1::IfcQuantityNumber::IfcQuantityNumber(std::string v1_Name, boost::opt const IfcParse::entity& Ifc4x3_tc1::IfcQuantitySet::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[846]); } const IfcParse::entity& Ifc4x3_tc1::IfcQuantitySet::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[846]); } Ifc4x3_tc1::IfcQuantitySet::IfcQuantitySet(IfcEntityInstanceData&& e) : IfcPropertySetDefinition(std::move(e)) { } -Ifc4x3_tc1::IfcQuantitySet::IfcQuantitySet(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_tc1::IfcQuantitySet::IfcQuantitySet(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcPropertySetDefinition(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcQuantityTime -double Ifc4x3_tc1::IfcQuantityTime::TimeValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_tc1::IfcQuantityTime::TimeValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcQuantityTime::setTimeValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_tc1::IfcQuantityTime::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcQuantityTime::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcQuantityTime::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_tc1::IfcQuantityTime::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[847]); } const IfcParse::entity& Ifc4x3_tc1::IfcQuantityTime::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[847]); } Ifc4x3_tc1::IfcQuantityTime::IfcQuantityTime(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_tc1::IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit* v3_Unit, double v4_TimeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_tc1::IfcQuantityTime::IfcQuantityTime(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit* v3_Unit, double v4_TimeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_TimeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityVolume -double Ifc4x3_tc1::IfcQuantityVolume::VolumeValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_tc1::IfcQuantityVolume::VolumeValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcQuantityVolume::setVolumeValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_tc1::IfcQuantityVolume::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcQuantityVolume::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcQuantityVolume::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_tc1::IfcQuantityVolume::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[848]); } const IfcParse::entity& Ifc4x3_tc1::IfcQuantityVolume::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[848]); } Ifc4x3_tc1::IfcQuantityVolume::IfcQuantityVolume(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_tc1::IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit* v3_Unit, double v4_VolumeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_tc1::IfcQuantityVolume::IfcQuantityVolume(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit* v3_Unit, double v4_VolumeValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_VolumeValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcQuantityWeight -double Ifc4x3_tc1::IfcQuantityWeight::WeightValue() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_tc1::IfcQuantityWeight::WeightValue() const { double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcQuantityWeight::setWeightValue(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_tc1::IfcQuantityWeight::Formula() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcQuantityWeight::Formula() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcQuantityWeight::setFormula(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_tc1::IfcQuantityWeight::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[849]); } const IfcParse::entity& Ifc4x3_tc1::IfcQuantityWeight::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[849]); } Ifc4x3_tc1::IfcQuantityWeight::IfcQuantityWeight(IfcEntityInstanceData&& e) : IfcPhysicalSimpleQuantity(std::move(e)) { } -Ifc4x3_tc1::IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit* v3_Unit, double v4_WeightValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } +Ifc4x3_tc1::IfcQuantityWeight::IfcQuantityWeight(std::string v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcNamedUnit* v3_Unit, double v4_WeightValue, boost::optional< std::string > v5_Formula) : IfcPhysicalSimpleQuantity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_Unit ? v3_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_WeightValue)); if (v5_Formula) {set_attribute_value(4, (*v5_Formula)); }; populate_derived(); } // Function implementations for IfcRail -boost::optional< ::Ifc4x3_tc1::IfcRailTypeEnum::Value > Ifc4x3_tc1::IfcRail::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcRailTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcRailTypeEnum::Value > Ifc4x3_tc1::IfcRail::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcRailTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcRail::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcRailTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcRailTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcRail::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[851]); } const IfcParse::entity& Ifc4x3_tc1::IfcRail::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[851]); } Ifc4x3_tc1::IfcRail::IfcRail(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_tc1::IfcRail::IfcRail(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcRailTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcRailTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcRail::IfcRail(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcRailTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcRailTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRailType -::Ifc4x3_tc1::IfcRailTypeEnum::Value Ifc4x3_tc1::IfcRailType::PredefinedType() const { return ::Ifc4x3_tc1::IfcRailTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcRailTypeEnum::Value Ifc4x3_tc1::IfcRailType::PredefinedType() const { return ::Ifc4x3_tc1::IfcRailTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcRailType::setPredefinedType(::Ifc4x3_tc1::IfcRailTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcRailTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcRailType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[855]); } const IfcParse::entity& Ifc4x3_tc1::IfcRailType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[855]); } Ifc4x3_tc1::IfcRailType::IfcRailType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_tc1::IfcRailType::IfcRailType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcRailTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcRailTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcRailType::IfcRailType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcRailTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcRailTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRailing -boost::optional< ::Ifc4x3_tc1::IfcRailingTypeEnum::Value > Ifc4x3_tc1::IfcRailing::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcRailingTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcRailingTypeEnum::Value > Ifc4x3_tc1::IfcRailing::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcRailingTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcRailing::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcRailingTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcRailingTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcRailing::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[852]); } const IfcParse::entity& Ifc4x3_tc1::IfcRailing::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[852]); } Ifc4x3_tc1::IfcRailing::IfcRailing(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_tc1::IfcRailing::IfcRailing(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcRailingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcRailing::IfcRailing(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcRailingTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcRailingTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRailingType -::Ifc4x3_tc1::IfcRailingTypeEnum::Value Ifc4x3_tc1::IfcRailingType::PredefinedType() const { return ::Ifc4x3_tc1::IfcRailingTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcRailingTypeEnum::Value Ifc4x3_tc1::IfcRailingType::PredefinedType() const { return ::Ifc4x3_tc1::IfcRailingTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcRailingType::setPredefinedType(::Ifc4x3_tc1::IfcRailingTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcRailingTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcRailingType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[853]); } const IfcParse::entity& Ifc4x3_tc1::IfcRailingType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[853]); } Ifc4x3_tc1::IfcRailingType::IfcRailingType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_tc1::IfcRailingType::IfcRailingType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcRailingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcRailingType::IfcRailingType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcRailingTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcRailingTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRailway -boost::optional< ::Ifc4x3_tc1::IfcRailwayTypeEnum::Value > Ifc4x3_tc1::IfcRailway::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcRailwayTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_tc1::IfcRailwayTypeEnum::Value > Ifc4x3_tc1::IfcRailway::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcRailwayTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcRailway::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcRailwayTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcRailwayTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_tc1::IfcRailway::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[857]); } const IfcParse::entity& Ifc4x3_tc1::IfcRailway::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[857]); } Ifc4x3_tc1::IfcRailway::IfcRailway(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x3_tc1::IfcRailway::IfcRailway(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_tc1::IfcRailwayTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcRailwayTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcRailway::IfcRailway(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_tc1::IfcRailwayTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcRailwayTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRailwayPart -boost::optional< ::Ifc4x3_tc1::IfcRailwayPartTypeEnum::Value > Ifc4x3_tc1::IfcRailwayPart::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcRailwayPartTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_tc1::IfcRailwayPartTypeEnum::Value > Ifc4x3_tc1::IfcRailwayPart::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcRailwayPartTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_tc1::IfcRailwayPart::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcRailwayPartTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_tc1::IfcRailwayPartTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_tc1::IfcRailwayPart::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[858]); } const IfcParse::entity& Ifc4x3_tc1::IfcRailwayPart::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[858]); } Ifc4x3_tc1::IfcRailwayPart::IfcRailwayPart(IfcEntityInstanceData&& e) : IfcFacilityPart(std::move(e)) { } -Ifc4x3_tc1::IfcRailwayPart::IfcRailwayPart(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3_tc1::IfcRailwayPartTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcRailwayPartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcRailwayPart::IfcRailwayPart(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3_tc1::IfcRailwayPartTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcRailwayPartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRamp -boost::optional< ::Ifc4x3_tc1::IfcRampTypeEnum::Value > Ifc4x3_tc1::IfcRamp::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcRampTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcRampTypeEnum::Value > Ifc4x3_tc1::IfcRamp::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcRampTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcRamp::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcRampTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcRampTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcRamp::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[861]); } const IfcParse::entity& Ifc4x3_tc1::IfcRamp::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[861]); } Ifc4x3_tc1::IfcRamp::IfcRamp(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_tc1::IfcRamp::IfcRamp(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcRampTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcRamp::IfcRamp(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcRampTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcRampTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRampFlight -boost::optional< ::Ifc4x3_tc1::IfcRampFlightTypeEnum::Value > Ifc4x3_tc1::IfcRampFlight::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcRampFlightTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcRampFlightTypeEnum::Value > Ifc4x3_tc1::IfcRampFlight::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcRampFlightTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcRampFlight::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcRampFlightTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcRampFlightTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcRampFlight::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[862]); } const IfcParse::entity& Ifc4x3_tc1::IfcRampFlight::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[862]); } Ifc4x3_tc1::IfcRampFlight::IfcRampFlight(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_tc1::IfcRampFlight::IfcRampFlight(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcRampFlightTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcRampFlight::IfcRampFlight(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcRampFlightTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcRampFlightTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRampFlightType -::Ifc4x3_tc1::IfcRampFlightTypeEnum::Value Ifc4x3_tc1::IfcRampFlightType::PredefinedType() const { return ::Ifc4x3_tc1::IfcRampFlightTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcRampFlightTypeEnum::Value Ifc4x3_tc1::IfcRampFlightType::PredefinedType() const { return ::Ifc4x3_tc1::IfcRampFlightTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcRampFlightType::setPredefinedType(::Ifc4x3_tc1::IfcRampFlightTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcRampFlightTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcRampFlightType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[863]); } const IfcParse::entity& Ifc4x3_tc1::IfcRampFlightType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[863]); } Ifc4x3_tc1::IfcRampFlightType::IfcRampFlightType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_tc1::IfcRampFlightType::IfcRampFlightType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcRampFlightTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcRampFlightType::IfcRampFlightType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcRampFlightTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcRampFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRampType -::Ifc4x3_tc1::IfcRampTypeEnum::Value Ifc4x3_tc1::IfcRampType::PredefinedType() const { return ::Ifc4x3_tc1::IfcRampTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcRampTypeEnum::Value Ifc4x3_tc1::IfcRampType::PredefinedType() const { return ::Ifc4x3_tc1::IfcRampTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcRampType::setPredefinedType(::Ifc4x3_tc1::IfcRampTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcRampTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcRampType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[865]); } const IfcParse::entity& Ifc4x3_tc1::IfcRampType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[865]); } Ifc4x3_tc1::IfcRampType::IfcRampType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_tc1::IfcRampType::IfcRampType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcRampTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcRampType::IfcRampType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcRampTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcRampTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRationalBSplineCurveWithKnots -std::vector< double > /*[2:?]*/ Ifc4x3_tc1::IfcRationalBSplineCurveWithKnots::WeightsData() const { std::vector< double > /*[2:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< double > /*[2:?]*/ Ifc4x3_tc1::IfcRationalBSplineCurveWithKnots::WeightsData() const { std::vector< double > /*[2:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcRationalBSplineCurveWithKnots::setWeightsData(std::vector< double > /*[2:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_tc1::IfcRationalBSplineCurveWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[868]); } const IfcParse::entity& Ifc4x3_tc1::IfcRationalBSplineCurveWithKnots::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[868]); } Ifc4x3_tc1::IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(IfcEntityInstanceData&& e) : IfcBSplineCurveWithKnots(std::move(e)) { } -Ifc4x3_tc1::IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x3_tc1::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_tc1::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_tc1::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) : IfcBSplineCurveWithKnots(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_tc1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData));; populate_derived(); } +Ifc4x3_tc1::IfcRationalBSplineCurveWithKnots::IfcRationalBSplineCurveWithKnots(int v1_Degree, aggregate_of< ::Ifc4x3_tc1::IfcCartesianPoint >::ptr v2_ControlPointsList, ::Ifc4x3_tc1::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_tc1::IfcKnotType::Value v8_KnotSpec, std::vector< double > /*[2:?]*/ v9_WeightsData) : IfcBSplineCurveWithKnots(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_Degree));set_attribute_value(1, (v2_ControlPointsList)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_tc1::IfcBSplineCurveForm::Class(),(size_t)v3_CurveForm)));set_attribute_value(3, (v4_ClosedCurve));set_attribute_value(4, (v5_SelfIntersect));set_attribute_value(5, (v6_KnotMultiplicities));set_attribute_value(6, (v7_Knots));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcKnotType::Class(),(size_t)v8_KnotSpec)));set_attribute_value(8, (v9_WeightsData));; populate_derived(); } // Function implementations for IfcRationalBSplineSurfaceWithKnots -std::vector< std::vector< double > > Ifc4x3_tc1::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { std::vector< std::vector< double > > v = data_.get_attribute_value(12); return v; } +std::vector< std::vector< double > > Ifc4x3_tc1::IfcRationalBSplineSurfaceWithKnots::WeightsData() const { std::vector< std::vector< double > > v = get_attribute_value(12); return v; } void Ifc4x3_tc1::IfcRationalBSplineSurfaceWithKnots::setWeightsData(std::vector< std::vector< double > > v) { set_attribute_value(12, v);if constexpr (false)unset_attribute_value(12); } const IfcParse::entity& Ifc4x3_tc1::IfcRationalBSplineSurfaceWithKnots::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[869]); } const IfcParse::entity& Ifc4x3_tc1::IfcRationalBSplineSurfaceWithKnots::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[869]); } Ifc4x3_tc1::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(IfcEntityInstanceData&& e) : IfcBSplineSurfaceWithKnots(std::move(e)) { } -Ifc4x3_tc1::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_tc1::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_tc1::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_tc1::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) : IfcBSplineSurfaceWithKnots(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_tc1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x3_tc1::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData));; populate_derived(); } +Ifc4x3_tc1::IfcRationalBSplineSurfaceWithKnots::IfcRationalBSplineSurfaceWithKnots(int v1_UDegree, int v2_VDegree, aggregate_of_aggregate_of< ::Ifc4x3_tc1::IfcCartesianPoint >::ptr v3_ControlPointsList, ::Ifc4x3_tc1::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_tc1::IfcKnotType::Value v12_KnotSpec, std::vector< std::vector< double > > v13_WeightsData) : IfcBSplineSurfaceWithKnots(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_UDegree));set_attribute_value(1, (v2_VDegree));set_attribute_value(2, (v3_ControlPointsList)->generalize());set_attribute_value(3, (EnumerationReference(&::Ifc4x3_tc1::IfcBSplineSurfaceForm::Class(),(size_t)v4_SurfaceForm)));set_attribute_value(4, (v5_UClosed));set_attribute_value(5, (v6_VClosed));set_attribute_value(6, (v7_SelfIntersect));set_attribute_value(7, (v8_UMultiplicities));set_attribute_value(8, (v9_VMultiplicities));set_attribute_value(9, (v10_UKnots));set_attribute_value(10, (v11_VKnots));set_attribute_value(11, (EnumerationReference(&::Ifc4x3_tc1::IfcKnotType::Class(),(size_t)v12_KnotSpec)));set_attribute_value(12, (v13_WeightsData));; populate_derived(); } // Function implementations for IfcRectangleHollowProfileDef -double Ifc4x3_tc1::IfcRectangleHollowProfileDef::WallThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_tc1::IfcRectangleHollowProfileDef::WallThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcRectangleHollowProfileDef::setWallThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_tc1::IfcRectangleHollowProfileDef::InnerFilletRadius() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_tc1::IfcRectangleHollowProfileDef::InnerFilletRadius() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcRectangleHollowProfileDef::setInnerFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_tc1::IfcRectangleHollowProfileDef::OuterFilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_tc1::IfcRectangleHollowProfileDef::OuterFilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcRectangleHollowProfileDef::setOuterFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_tc1::IfcRectangleHollowProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[871]); } const IfcParse::entity& Ifc4x3_tc1::IfcRectangleHollowProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[871]); } Ifc4x3_tc1::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(IfcEntityInstanceData&& e) : IfcRectangleProfileDef(std::move(e)) { } -Ifc4x3_tc1::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, boost::optional< double > v7_InnerFilletRadius, boost::optional< double > v8_OuterFilletRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; populate_derived(); } +Ifc4x3_tc1::IfcRectangleHollowProfileDef::IfcRectangleHollowProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_WallThickness, boost::optional< double > v7_InnerFilletRadius, boost::optional< double > v8_OuterFilletRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_WallThickness)); if (v7_InnerFilletRadius) {set_attribute_value(6, (*v7_InnerFilletRadius)); } if (v8_OuterFilletRadius) {set_attribute_value(7, (*v8_OuterFilletRadius)); }; populate_derived(); } // Function implementations for IfcRectangleProfileDef -double Ifc4x3_tc1::IfcRectangleProfileDef::XDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_tc1::IfcRectangleProfileDef::XDim() const { double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcRectangleProfileDef::setXDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_tc1::IfcRectangleProfileDef::YDim() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_tc1::IfcRectangleProfileDef::YDim() const { double v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcRectangleProfileDef::setYDim(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_tc1::IfcRectangleProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[872]); } const IfcParse::entity& Ifc4x3_tc1::IfcRectangleProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[872]); } Ifc4x3_tc1::IfcRectangleProfileDef::IfcRectangleProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_tc1::IfcRectangleProfileDef::IfcRectangleProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; populate_derived(); } +Ifc4x3_tc1::IfcRectangleProfileDef::IfcRectangleProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));; populate_derived(); } // Function implementations for IfcRectangularPyramid -double Ifc4x3_tc1::IfcRectangularPyramid::XLength() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_tc1::IfcRectangularPyramid::XLength() const { double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcRectangularPyramid::setXLength(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_tc1::IfcRectangularPyramid::YLength() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_tc1::IfcRectangularPyramid::YLength() const { double v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcRectangularPyramid::setYLength(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_tc1::IfcRectangularPyramid::Height() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_tc1::IfcRectangularPyramid::Height() const { double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcRectangularPyramid::setHeight(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcRectangularPyramid::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[873]); } const IfcParse::entity& Ifc4x3_tc1::IfcRectangularPyramid::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[873]); } Ifc4x3_tc1::IfcRectangularPyramid::IfcRectangularPyramid(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3_tc1::IfcRectangularPyramid::IfcRectangularPyramid(::Ifc4x3_tc1::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; populate_derived(); } +Ifc4x3_tc1::IfcRectangularPyramid::IfcRectangularPyramid(::Ifc4x3_tc1::IfcAxis2Placement3D* v1_Position, double v2_XLength, double v3_YLength, double v4_Height) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_XLength));set_attribute_value(2, (v3_YLength));set_attribute_value(3, (v4_Height));; populate_derived(); } // Function implementations for IfcRectangularTrimmedSurface -::Ifc4x3_tc1::IfcSurface* Ifc4x3_tc1::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcSurface>(true); } +::Ifc4x3_tc1::IfcSurface* Ifc4x3_tc1::IfcRectangularTrimmedSurface::BasisSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcSurface>(true); } void Ifc4x3_tc1::IfcRectangularTrimmedSurface::setBasisSurface(::Ifc4x3_tc1::IfcSurface* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_tc1::IfcRectangularTrimmedSurface::U1() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_tc1::IfcRectangularTrimmedSurface::U1() const { double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcRectangularTrimmedSurface::setU1(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_tc1::IfcRectangularTrimmedSurface::V1() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_tc1::IfcRectangularTrimmedSurface::V1() const { double v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcRectangularTrimmedSurface::setV1(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_tc1::IfcRectangularTrimmedSurface::U2() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_tc1::IfcRectangularTrimmedSurface::U2() const { double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcRectangularTrimmedSurface::setU2(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_tc1::IfcRectangularTrimmedSurface::V2() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_tc1::IfcRectangularTrimmedSurface::V2() const { double v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcRectangularTrimmedSurface::setV2(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -bool Ifc4x3_tc1::IfcRectangularTrimmedSurface::Usense() const { bool v = data_.get_attribute_value(5); return v; } +bool Ifc4x3_tc1::IfcRectangularTrimmedSurface::Usense() const { bool v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcRectangularTrimmedSurface::setUsense(bool v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -bool Ifc4x3_tc1::IfcRectangularTrimmedSurface::Vsense() const { bool v = data_.get_attribute_value(6); return v; } +bool Ifc4x3_tc1::IfcRectangularTrimmedSurface::Vsense() const { bool v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcRectangularTrimmedSurface::setVsense(bool v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_tc1::IfcRectangularTrimmedSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[874]); } const IfcParse::entity& Ifc4x3_tc1::IfcRectangularTrimmedSurface::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[874]); } Ifc4x3_tc1::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(IfcEntityInstanceData&& e) : IfcBoundedSurface(std::move(e)) { } -Ifc4x3_tc1::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(::Ifc4x3_tc1::IfcSurface* v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) : IfcBoundedSurface(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; populate_derived(); } +Ifc4x3_tc1::IfcRectangularTrimmedSurface::IfcRectangularTrimmedSurface(::Ifc4x3_tc1::IfcSurface* v1_BasisSurface, double v2_U1, double v3_V1, double v4_U2, double v5_V2, bool v6_Usense, bool v7_Vsense) : IfcBoundedSurface(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_BasisSurface ? v1_BasisSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_U1));set_attribute_value(2, (v3_V1));set_attribute_value(3, (v4_U2));set_attribute_value(4, (v5_V2));set_attribute_value(5, (v6_Usense));set_attribute_value(6, (v7_Vsense));; populate_derived(); } // Function implementations for IfcRecurrencePattern -::Ifc4x3_tc1::IfcRecurrenceTypeEnum::Value Ifc4x3_tc1::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x3_tc1::IfcRecurrenceTypeEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_tc1::IfcRecurrenceTypeEnum::Value Ifc4x3_tc1::IfcRecurrencePattern::RecurrenceType() const { return ::Ifc4x3_tc1::IfcRecurrenceTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x3_tc1::IfcRecurrencePattern::setRecurrenceType(::Ifc4x3_tc1::IfcRecurrenceTypeEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_tc1::IfcRecurrenceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_tc1::IfcRecurrencePattern::DayComponent() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_tc1::IfcRecurrencePattern::DayComponent() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcRecurrencePattern::setDayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_tc1::IfcRecurrencePattern::WeekdayComponent() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_tc1::IfcRecurrencePattern::WeekdayComponent() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcRecurrencePattern::setWeekdayComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_tc1::IfcRecurrencePattern::MonthComponent() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_tc1::IfcRecurrencePattern::MonthComponent() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcRecurrencePattern::setMonthComponent(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< int > Ifc4x3_tc1::IfcRecurrencePattern::Position() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } int v = data_.get_attribute_value(4); return v; } +boost::optional< int > Ifc4x3_tc1::IfcRecurrencePattern::Position() const { if(get_attribute_value(4).isNull()) { return boost::none; } int v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcRecurrencePattern::setPosition(boost::optional< int > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< int > Ifc4x3_tc1::IfcRecurrencePattern::Interval() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } int v = data_.get_attribute_value(5); return v; } +boost::optional< int > Ifc4x3_tc1::IfcRecurrencePattern::Interval() const { if(get_attribute_value(5).isNull()) { return boost::none; } int v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcRecurrencePattern::setInterval(boost::optional< int > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< int > Ifc4x3_tc1::IfcRecurrencePattern::Occurrences() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } int v = data_.get_attribute_value(6); return v; } +boost::optional< int > Ifc4x3_tc1::IfcRecurrencePattern::Occurrences() const { if(get_attribute_value(6).isNull()) { return boost::none; } int v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcRecurrencePattern::setOccurrences(boost::optional< int > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcTimePeriod >::ptr > Ifc4x3_tc1::IfcRecurrencePattern::TimePeriods() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_tc1::IfcTimePeriod >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcTimePeriod >::ptr > Ifc4x3_tc1::IfcRecurrencePattern::TimePeriods() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_tc1::IfcTimePeriod >(); } void Ifc4x3_tc1::IfcRecurrencePattern::setTimePeriods(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcTimePeriod >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_tc1::IfcRecurrencePattern::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[875]); } const IfcParse::entity& Ifc4x3_tc1::IfcRecurrencePattern::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[875]); } Ifc4x3_tc1::IfcRecurrencePattern::IfcRecurrencePattern(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcRecurrencePattern::IfcRecurrencePattern(::Ifc4x3_tc1::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_tc1::IfcTimePeriod >::ptr > v8_TimePeriods) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, (*v8_TimePeriods)->generalize()); }; populate_derived(); } +Ifc4x3_tc1::IfcRecurrencePattern::IfcRecurrencePattern(::Ifc4x3_tc1::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_tc1::IfcTimePeriod >::ptr > v8_TimePeriods) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcRecurrenceTypeEnum::Class(),(size_t)v1_RecurrenceType))); if (v2_DayComponent) {set_attribute_value(1, (*v2_DayComponent)); } if (v3_WeekdayComponent) {set_attribute_value(2, (*v3_WeekdayComponent)); } if (v4_MonthComponent) {set_attribute_value(3, (*v4_MonthComponent)); } if (v5_Position) {set_attribute_value(4, (*v5_Position)); } if (v6_Interval) {set_attribute_value(5, (*v6_Interval)); } if (v7_Occurrences) {set_attribute_value(6, (*v7_Occurrences)); } if (v8_TimePeriods) {set_attribute_value(7, (*v8_TimePeriods)->generalize()); }; populate_derived(); } // Function implementations for IfcReference -boost::optional< std::string > Ifc4x3_tc1::IfcReference::TypeIdentifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcReference::TypeIdentifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcReference::setTypeIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_tc1::IfcReference::AttributeIdentifier() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcReference::AttributeIdentifier() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcReference::setAttributeIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_tc1::IfcReference::InstanceName() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcReference::InstanceName() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcReference::setInstanceName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_tc1::IfcReference::ListPositions() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_tc1::IfcReference::ListPositions() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcReference::setListPositions(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -::Ifc4x3_tc1::IfcReference* Ifc4x3_tc1::IfcReference::InnerReference() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcReference>(true); } +::Ifc4x3_tc1::IfcReference* Ifc4x3_tc1::IfcReference::InnerReference() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcReference>(true); } void Ifc4x3_tc1::IfcReference::setInnerReference(::Ifc4x3_tc1::IfcReference* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_tc1::IfcReference::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[877]); } const IfcParse::entity& Ifc4x3_tc1::IfcReference::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[877]); } Ifc4x3_tc1::IfcReference::IfcReference(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::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_tc1::IfcReference* v5_InnerReference) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, v5_InnerReference ? v5_InnerReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::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_tc1::IfcReference* v5_InnerReference) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_TypeIdentifier) {set_attribute_value(0, (*v1_TypeIdentifier)); } if (v2_AttributeIdentifier) {set_attribute_value(1, (*v2_AttributeIdentifier)); } if (v3_InstanceName) {set_attribute_value(2, (*v3_InstanceName)); } if (v4_ListPositions) {set_attribute_value(3, (*v4_ListPositions)); }set_attribute_value(4, v5_InnerReference ? v5_InnerReference->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcReferent -boost::optional< ::Ifc4x3_tc1::IfcReferentTypeEnum::Value > Ifc4x3_tc1::IfcReferent::PredefinedType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcReferentTypeEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_tc1::IfcReferentTypeEnum::Value > Ifc4x3_tc1::IfcReferent::PredefinedType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcReferentTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_tc1::IfcReferent::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcReferentTypeEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_tc1::IfcReferentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_tc1::IfcReferent::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[878]); } const IfcParse::entity& Ifc4x3_tc1::IfcReferent::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[878]); } Ifc4x3_tc1::IfcReferent::IfcReferent(IfcEntityInstanceData&& e) : IfcPositioningElement(std::move(e)) { } -Ifc4x3_tc1::IfcReferent::IfcReferent(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_tc1::IfcReferentTypeEnum::Value > v8_PredefinedType) : IfcPositioningElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcReferent::IfcReferent(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< ::Ifc4x3_tc1::IfcReferentTypeEnum::Value > v8_PredefinedType) : IfcPositioningElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_PredefinedType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcReferentTypeEnum::Class(),(size_t)*v8_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRegularTimeSeries -double Ifc4x3_tc1::IfcRegularTimeSeries::TimeStep() const { double v = data_.get_attribute_value(8); return v; } +double Ifc4x3_tc1::IfcRegularTimeSeries::TimeStep() const { double v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcRegularTimeSeries::setTimeStep(double v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -aggregate_of< ::Ifc4x3_tc1::IfcTimeSeriesValue >::ptr Ifc4x3_tc1::IfcRegularTimeSeries::Values() const { aggregate_of_instance::ptr es = data_.get_attribute_value(9); return es->as< ::Ifc4x3_tc1::IfcTimeSeriesValue >(); } +aggregate_of< ::Ifc4x3_tc1::IfcTimeSeriesValue >::ptr Ifc4x3_tc1::IfcRegularTimeSeries::Values() const { aggregate_of_instance::ptr es = get_attribute_value(9); return es->as< ::Ifc4x3_tc1::IfcTimeSeriesValue >(); } void Ifc4x3_tc1::IfcRegularTimeSeries::setValues(aggregate_of< ::Ifc4x3_tc1::IfcTimeSeriesValue >::ptr v) { set_attribute_value(9, (v)->generalize());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcRegularTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[881]); } const IfcParse::entity& Ifc4x3_tc1::IfcRegularTimeSeries::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[881]); } Ifc4x3_tc1::IfcRegularTimeSeries::IfcRegularTimeSeries(IfcEntityInstanceData&& e) : IfcTimeSeries(std::move(e)) { } -Ifc4x3_tc1::IfcRegularTimeSeries::IfcRegularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_tc1::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_tc1::IfcUnit* v8_Unit, double v9_TimeStep, aggregate_of< ::Ifc4x3_tc1::IfcTimeSeriesValue >::ptr v10_Values) : IfcTimeSeries(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, (v10_Values)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcRegularTimeSeries::IfcRegularTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_tc1::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_tc1::IfcUnit* v8_Unit, double v9_TimeStep, aggregate_of< ::Ifc4x3_tc1::IfcTimeSeriesValue >::ptr v10_Values) : IfcTimeSeries(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (v9_TimeStep));set_attribute_value(9, (v10_Values)->generalize());; populate_derived(); } // Function implementations for IfcReinforcedSoil -boost::optional< ::Ifc4x3_tc1::IfcReinforcedSoilTypeEnum::Value > Ifc4x3_tc1::IfcReinforcedSoil::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcReinforcedSoilTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcReinforcedSoilTypeEnum::Value > Ifc4x3_tc1::IfcReinforcedSoil::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcReinforcedSoilTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcReinforcedSoil::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcReinforcedSoilTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcReinforcedSoilTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcReinforcedSoil::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[882]); } const IfcParse::entity& Ifc4x3_tc1::IfcReinforcedSoil::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[882]); } Ifc4x3_tc1::IfcReinforcedSoil::IfcReinforcedSoil(IfcEntityInstanceData&& e) : IfcEarthworksElement(std::move(e)) { } -Ifc4x3_tc1::IfcReinforcedSoil::IfcReinforcedSoil(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType) : IfcEarthworksElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcReinforcedSoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcReinforcedSoil::IfcReinforcedSoil(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcReinforcedSoilTypeEnum::Value > v9_PredefinedType) : IfcEarthworksElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcReinforcedSoilTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcReinforcementBarProperties -double Ifc4x3_tc1::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_tc1::IfcReinforcementBarProperties::TotalCrossSectionArea() const { double v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcReinforcementBarProperties::setTotalCrossSectionArea(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x3_tc1::IfcReinforcementBarProperties::SteelGrade() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_tc1::IfcReinforcementBarProperties::SteelGrade() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcReinforcementBarProperties::setSteelGrade(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_tc1::IfcReinforcementBarProperties::BarSurface() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_tc1::IfcReinforcementBarProperties::BarSurface() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::FromString(get_attribute_value(2)); } void Ifc4x3_tc1::IfcReinforcementBarProperties::setBarSurface(boost::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_tc1::IfcReinforcementBarProperties::EffectiveDepth() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_tc1::IfcReinforcementBarProperties::EffectiveDepth() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcReinforcementBarProperties::setEffectiveDepth(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_tc1::IfcReinforcementBarProperties::NominalBarDiameter() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_tc1::IfcReinforcementBarProperties::NominalBarDiameter() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcReinforcementBarProperties::setNominalBarDiameter(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< int > Ifc4x3_tc1::IfcReinforcementBarProperties::BarCount() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } int v = data_.get_attribute_value(5); return v; } +boost::optional< int > Ifc4x3_tc1::IfcReinforcementBarProperties::BarCount() const { if(get_attribute_value(5).isNull()) { return boost::none; } int v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcReinforcementBarProperties::setBarCount(boost::optional< int > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_tc1::IfcReinforcementBarProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[884]); } const IfcParse::entity& Ifc4x3_tc1::IfcReinforcementBarProperties::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[884]); } Ifc4x3_tc1::IfcReinforcementBarProperties::IfcReinforcementBarProperties(IfcEntityInstanceData&& e) : IfcPreDefinedProperties(std::move(e)) { } -Ifc4x3_tc1::IfcReinforcementBarProperties::IfcReinforcementBarProperties(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, boost::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, boost::optional< double > v4_EffectiveDepth, boost::optional< double > v5_NominalBarDiameter, boost::optional< int > v6_BarCount) : IfcPreDefinedProperties(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; populate_derived(); } +Ifc4x3_tc1::IfcReinforcementBarProperties::IfcReinforcementBarProperties(double v1_TotalCrossSectionArea, std::string v2_SteelGrade, boost::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > v3_BarSurface, boost::optional< double > v4_EffectiveDepth, boost::optional< double > v5_NominalBarDiameter, boost::optional< int > v6_BarCount) : IfcPreDefinedProperties(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_TotalCrossSectionArea));set_attribute_value(1, (v2_SteelGrade)); if (v3_BarSurface) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v3_BarSurface))); } if (v4_EffectiveDepth) {set_attribute_value(3, (*v4_EffectiveDepth)); } if (v5_NominalBarDiameter) {set_attribute_value(4, (*v5_NominalBarDiameter)); } if (v6_BarCount) {set_attribute_value(5, (*v6_BarCount)); }; populate_derived(); } // Function implementations for IfcReinforcementDefinitionProperties -boost::optional< std::string > Ifc4x3_tc1::IfcReinforcementDefinitionProperties::DefinitionType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcReinforcementDefinitionProperties::DefinitionType() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcReinforcementDefinitionProperties::setDefinitionType(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -aggregate_of< ::Ifc4x3_tc1::IfcSectionReinforcementProperties >::ptr Ifc4x3_tc1::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_tc1::IfcSectionReinforcementProperties >(); } +aggregate_of< ::Ifc4x3_tc1::IfcSectionReinforcementProperties >::ptr Ifc4x3_tc1::IfcReinforcementDefinitionProperties::ReinforcementSectionDefinitions() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_tc1::IfcSectionReinforcementProperties >(); } void Ifc4x3_tc1::IfcReinforcementDefinitionProperties::setReinforcementSectionDefinitions(aggregate_of< ::Ifc4x3_tc1::IfcSectionReinforcementProperties >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcReinforcementDefinitionProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[885]); } const IfcParse::entity& Ifc4x3_tc1::IfcReinforcementDefinitionProperties::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[885]); } Ifc4x3_tc1::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_tc1::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_DefinitionType, aggregate_of< ::Ifc4x3_tc1::IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, (v6_ReinforcementSectionDefinitions)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcReinforcementDefinitionProperties::IfcReinforcementDefinitionProperties(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_DefinitionType, aggregate_of< ::Ifc4x3_tc1::IfcSectionReinforcementProperties >::ptr v6_ReinforcementSectionDefinitions) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_DefinitionType) {set_attribute_value(4, (*v5_DefinitionType)); }set_attribute_value(5, (v6_ReinforcementSectionDefinitions)->generalize());; populate_derived(); } // Function implementations for IfcReinforcingBar -boost::optional< double > Ifc4x3_tc1::IfcReinforcingBar::NominalDiameter() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_tc1::IfcReinforcingBar::NominalDiameter() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_tc1::IfcReinforcingBar::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_tc1::IfcReinforcingBar::CrossSectionArea() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_tc1::IfcReinforcingBar::CrossSectionArea() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_tc1::IfcReinforcingBar::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_tc1::IfcReinforcingBar::BarLength() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_tc1::IfcReinforcingBar::BarLength() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_tc1::IfcReinforcingBar::setBarLength(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< ::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Value > Ifc4x3_tc1::IfcReinforcingBar::PredefinedType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::FromString(data_.get_attribute_value(12)); } +boost::optional< ::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Value > Ifc4x3_tc1::IfcReinforcingBar::PredefinedType() const { if(get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x3_tc1::IfcReinforcingBar::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Value > v) { if (v) {set_attribute_value(12, EnumerationReference(&::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } -boost::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_tc1::IfcReinforcingBar::BarSurface() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_tc1::IfcReinforcingBar::BarSurface() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::FromString(get_attribute_value(13)); } void Ifc4x3_tc1::IfcReinforcingBar::setBarSurface(boost::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } const IfcParse::entity& Ifc4x3_tc1::IfcReinforcingBar::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[886]); } const IfcParse::entity& Ifc4x3_tc1::IfcReinforcingBar::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[886]); } Ifc4x3_tc1::IfcReinforcingBar::IfcReinforcingBar(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x3_tc1::IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::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_tc1::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, boost::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; populate_derived(); } +Ifc4x3_tc1::IfcReinforcingBar::IfcReinforcingBar(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::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_tc1::IfcReinforcingBarTypeEnum::Value > v13_PredefinedType, boost::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_NominalDiameter) {set_attribute_value(9, (*v10_NominalDiameter)); } if (v11_CrossSectionArea) {set_attribute_value(10, (*v11_CrossSectionArea)); } if (v12_BarLength) {set_attribute_value(11, (*v12_BarLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Class(),(size_t)*v13_PredefinedType))); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); }; populate_derived(); } // Function implementations for IfcReinforcingBarType -::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Value Ifc4x3_tc1::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Value Ifc4x3_tc1::IfcReinforcingBarType::PredefinedType() const { return ::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcReinforcingBarType::setPredefinedType(::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3_tc1::IfcReinforcingBarType::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_tc1::IfcReinforcingBarType::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_tc1::IfcReinforcingBarType::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_tc1::IfcReinforcingBarType::CrossSectionArea() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_tc1::IfcReinforcingBarType::CrossSectionArea() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_tc1::IfcReinforcingBarType::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_tc1::IfcReinforcingBarType::BarLength() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_tc1::IfcReinforcingBarType::BarLength() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_tc1::IfcReinforcingBarType::setBarLength(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_tc1::IfcReinforcingBarType::BarSurface() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > Ifc4x3_tc1::IfcReinforcingBarType::BarSurface() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::FromString(get_attribute_value(13)); } void Ifc4x3_tc1::IfcReinforcingBarType::setBarSurface(boost::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x3_tc1::IfcReinforcingBarType::BendingShapeCode() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcReinforcingBarType::BendingShapeCode() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x3_tc1::IfcReinforcingBarType::setBendingShapeCode(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr > Ifc4x3_tc1::IfcReinforcingBarType::BendingParameters() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(15); return es->as< ::Ifc4x3_tc1::IfcBendingParameterSelect >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr > Ifc4x3_tc1::IfcReinforcingBarType::BendingParameters() const { if(get_attribute_value(15).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(15); return es->as< ::Ifc4x3_tc1::IfcBendingParameterSelect >(); } void Ifc4x3_tc1::IfcReinforcingBarType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr > v) { if (v) {set_attribute_value(15, (*v)->generalize());} else {unset_attribute_value(15);} } const IfcParse::entity& Ifc4x3_tc1::IfcReinforcingBarType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[889]); } const IfcParse::entity& Ifc4x3_tc1::IfcReinforcingBarType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[889]); } Ifc4x3_tc1::IfcReinforcingBarType::IfcReinforcingBarType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x3_tc1::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, (*v16_BendingParameters)->generalize()); }; populate_derived(); } +Ifc4x3_tc1::IfcReinforcingBarType::IfcReinforcingBarType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_BarLength, boost::optional< ::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Value > v14_BarSurface, boost::optional< std::string > v15_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr > v16_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcReinforcingBarTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_BarLength) {set_attribute_value(12, (*v13_BarLength)); } if (v14_BarSurface) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_tc1::IfcReinforcingBarSurfaceEnum::Class(),(size_t)*v14_BarSurface))); } if (v15_BendingShapeCode) {set_attribute_value(14, (*v15_BendingShapeCode)); } if (v16_BendingParameters) {set_attribute_value(15, (*v16_BendingParameters)->generalize()); }; populate_derived(); } // Function implementations for IfcReinforcingElement -boost::optional< std::string > Ifc4x3_tc1::IfcReinforcingElement::SteelGrade() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcReinforcingElement::SteelGrade() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcReinforcingElement::setSteelGrade(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcReinforcingElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[891]); } const IfcParse::entity& Ifc4x3_tc1::IfcReinforcingElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[891]); } Ifc4x3_tc1::IfcReinforcingElement::IfcReinforcingElement(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_tc1::IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; populate_derived(); } +Ifc4x3_tc1::IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }; populate_derived(); } // Function implementations for IfcReinforcingElementType @@ -14472,255 +14472,255 @@ Ifc4x3_tc1::IfcReinforcingElement::IfcReinforcingElement(std::string v1_GlobalId const IfcParse::entity& Ifc4x3_tc1::IfcReinforcingElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[892]); } const IfcParse::entity& Ifc4x3_tc1::IfcReinforcingElementType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[892]); } Ifc4x3_tc1::IfcReinforcingElementType::IfcReinforcingElementType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_tc1::IfcReinforcingElementType::IfcReinforcingElementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_tc1::IfcReinforcingElementType::IfcReinforcingElementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcReinforcingMesh -boost::optional< double > Ifc4x3_tc1::IfcReinforcingMesh::MeshLength() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_tc1::IfcReinforcingMesh::MeshLength() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_tc1::IfcReinforcingMesh::setMeshLength(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_tc1::IfcReinforcingMesh::MeshWidth() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_tc1::IfcReinforcingMesh::MeshWidth() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_tc1::IfcReinforcingMesh::setMeshWidth(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_tc1::IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_tc1::IfcReinforcingMesh::LongitudinalBarNominalDiameter() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_tc1::IfcReinforcingMesh::setLongitudinalBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_tc1::IfcReinforcingMesh::TransverseBarNominalDiameter() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_tc1::IfcReinforcingMesh::TransverseBarNominalDiameter() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_tc1::IfcReinforcingMesh::setTransverseBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3_tc1::IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_tc1::IfcReinforcingMesh::LongitudinalBarCrossSectionArea() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_tc1::IfcReinforcingMesh::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3_tc1::IfcReinforcingMesh::TransverseBarCrossSectionArea() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3_tc1::IfcReinforcingMesh::TransverseBarCrossSectionArea() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3_tc1::IfcReinforcingMesh::setTransverseBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x3_tc1::IfcReinforcingMesh::LongitudinalBarSpacing() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3_tc1::IfcReinforcingMesh::LongitudinalBarSpacing() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3_tc1::IfcReinforcingMesh::setLongitudinalBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3_tc1::IfcReinforcingMesh::TransverseBarSpacing() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3_tc1::IfcReinforcingMesh::TransverseBarSpacing() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3_tc1::IfcReinforcingMesh::setTransverseBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< ::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Value > Ifc4x3_tc1::IfcReinforcingMesh::PredefinedType() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::FromString(data_.get_attribute_value(17)); } +boost::optional< ::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Value > Ifc4x3_tc1::IfcReinforcingMesh::PredefinedType() const { if(get_attribute_value(17).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::FromString(get_attribute_value(17)); } void Ifc4x3_tc1::IfcReinforcingMesh::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Value > v) { if (v) {set_attribute_value(17, EnumerationReference(&::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(17);} } const IfcParse::entity& Ifc4x3_tc1::IfcReinforcingMesh::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[893]); } const IfcParse::entity& Ifc4x3_tc1::IfcReinforcingMesh::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[893]); } Ifc4x3_tc1::IfcReinforcingMesh::IfcReinforcingMesh(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x3_tc1::IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::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_tc1::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(18))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (EnumerationReference(&::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcReinforcingMesh::IfcReinforcingMesh(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::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_tc1::IfcReinforcingMeshTypeEnum::Value > v18_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(18))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_MeshLength) {set_attribute_value(9, (*v10_MeshLength)); } if (v11_MeshWidth) {set_attribute_value(10, (*v11_MeshWidth)); } if (v12_LongitudinalBarNominalDiameter) {set_attribute_value(11, (*v12_LongitudinalBarNominalDiameter)); } if (v13_TransverseBarNominalDiameter) {set_attribute_value(12, (*v13_TransverseBarNominalDiameter)); } if (v14_LongitudinalBarCrossSectionArea) {set_attribute_value(13, (*v14_LongitudinalBarCrossSectionArea)); } if (v15_TransverseBarCrossSectionArea) {set_attribute_value(14, (*v15_TransverseBarCrossSectionArea)); } if (v16_LongitudinalBarSpacing) {set_attribute_value(15, (*v16_LongitudinalBarSpacing)); } if (v17_TransverseBarSpacing) {set_attribute_value(16, (*v17_TransverseBarSpacing)); } if (v18_PredefinedType) {set_attribute_value(17, (EnumerationReference(&::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Class(),(size_t)*v18_PredefinedType))); }; populate_derived(); } // Function implementations for IfcReinforcingMeshType -::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Value Ifc4x3_tc1::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Value Ifc4x3_tc1::IfcReinforcingMeshType::PredefinedType() const { return ::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcReinforcingMeshType::setPredefinedType(::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3_tc1::IfcReinforcingMeshType::MeshLength() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_tc1::IfcReinforcingMeshType::MeshLength() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_tc1::IfcReinforcingMeshType::setMeshLength(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_tc1::IfcReinforcingMeshType::MeshWidth() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_tc1::IfcReinforcingMeshType::MeshWidth() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_tc1::IfcReinforcingMeshType::setMeshWidth(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_tc1::IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_tc1::IfcReinforcingMeshType::LongitudinalBarNominalDiameter() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_tc1::IfcReinforcingMeshType::setLongitudinalBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3_tc1::IfcReinforcingMeshType::TransverseBarNominalDiameter() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_tc1::IfcReinforcingMeshType::TransverseBarNominalDiameter() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_tc1::IfcReinforcingMeshType::setTransverseBarNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3_tc1::IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3_tc1::IfcReinforcingMeshType::LongitudinalBarCrossSectionArea() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3_tc1::IfcReinforcingMeshType::setLongitudinalBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x3_tc1::IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3_tc1::IfcReinforcingMeshType::TransverseBarCrossSectionArea() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3_tc1::IfcReinforcingMeshType::setTransverseBarCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3_tc1::IfcReinforcingMeshType::LongitudinalBarSpacing() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3_tc1::IfcReinforcingMeshType::LongitudinalBarSpacing() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3_tc1::IfcReinforcingMeshType::setLongitudinalBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< double > Ifc4x3_tc1::IfcReinforcingMeshType::TransverseBarSpacing() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } double v = data_.get_attribute_value(17); return v; } +boost::optional< double > Ifc4x3_tc1::IfcReinforcingMeshType::TransverseBarSpacing() const { if(get_attribute_value(17).isNull()) { return boost::none; } double v = get_attribute_value(17); return v; } void Ifc4x3_tc1::IfcReinforcingMeshType::setTransverseBarSpacing(boost::optional< double > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } -boost::optional< std::string > Ifc4x3_tc1::IfcReinforcingMeshType::BendingShapeCode() const { if(data_.get_attribute_value(18).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(18); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcReinforcingMeshType::BendingShapeCode() const { if(get_attribute_value(18).isNull()) { return boost::none; } std::string v = get_attribute_value(18); return v; } void Ifc4x3_tc1::IfcReinforcingMeshType::setBendingShapeCode(boost::optional< std::string > v) { if (v) {set_attribute_value(18, *v);} else {unset_attribute_value(18);} } -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr > Ifc4x3_tc1::IfcReinforcingMeshType::BendingParameters() const { if(data_.get_attribute_value(19).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(19); return es->as< ::Ifc4x3_tc1::IfcBendingParameterSelect >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr > Ifc4x3_tc1::IfcReinforcingMeshType::BendingParameters() const { if(get_attribute_value(19).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(19); return es->as< ::Ifc4x3_tc1::IfcBendingParameterSelect >(); } void Ifc4x3_tc1::IfcReinforcingMeshType::setBendingParameters(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr > v) { if (v) {set_attribute_value(19, (*v)->generalize());} else {unset_attribute_value(19);} } const IfcParse::entity& Ifc4x3_tc1::IfcReinforcingMeshType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[894]); } const IfcParse::entity& Ifc4x3_tc1::IfcReinforcingMeshType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[894]); } Ifc4x3_tc1::IfcReinforcingMeshType::IfcReinforcingMeshType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x3_tc1::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(20))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, (*v20_BendingParameters)->generalize()); }; populate_derived(); } +Ifc4x3_tc1::IfcReinforcingMeshType::IfcReinforcingMeshType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_MeshLength, boost::optional< double > v12_MeshWidth, boost::optional< double > v13_LongitudinalBarNominalDiameter, boost::optional< double > v14_TransverseBarNominalDiameter, boost::optional< double > v15_LongitudinalBarCrossSectionArea, boost::optional< double > v16_TransverseBarCrossSectionArea, boost::optional< double > v17_LongitudinalBarSpacing, boost::optional< double > v18_TransverseBarSpacing, boost::optional< std::string > v19_BendingShapeCode, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcBendingParameterSelect >::ptr > v20_BendingParameters) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(20))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcReinforcingMeshTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_MeshLength) {set_attribute_value(10, (*v11_MeshLength)); } if (v12_MeshWidth) {set_attribute_value(11, (*v12_MeshWidth)); } if (v13_LongitudinalBarNominalDiameter) {set_attribute_value(12, (*v13_LongitudinalBarNominalDiameter)); } if (v14_TransverseBarNominalDiameter) {set_attribute_value(13, (*v14_TransverseBarNominalDiameter)); } if (v15_LongitudinalBarCrossSectionArea) {set_attribute_value(14, (*v15_LongitudinalBarCrossSectionArea)); } if (v16_TransverseBarCrossSectionArea) {set_attribute_value(15, (*v16_TransverseBarCrossSectionArea)); } if (v17_LongitudinalBarSpacing) {set_attribute_value(16, (*v17_LongitudinalBarSpacing)); } if (v18_TransverseBarSpacing) {set_attribute_value(17, (*v18_TransverseBarSpacing)); } if (v19_BendingShapeCode) {set_attribute_value(18, (*v19_BendingShapeCode)); } if (v20_BendingParameters) {set_attribute_value(19, (*v20_BendingParameters)->generalize()); }; populate_derived(); } // Function implementations for IfcRelAdheresToElement -::Ifc4x3_tc1::IfcElement* Ifc4x3_tc1::IfcRelAdheresToElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcElement>(true); } +::Ifc4x3_tc1::IfcElement* Ifc4x3_tc1::IfcRelAdheresToElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcElement>(true); } void Ifc4x3_tc1::IfcRelAdheresToElement::setRelatingElement(::Ifc4x3_tc1::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_tc1::IfcSurfaceFeature >::ptr Ifc4x3_tc1::IfcRelAdheresToElement::RelatedSurfaceFeatures() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_tc1::IfcSurfaceFeature >(); } +aggregate_of< ::Ifc4x3_tc1::IfcSurfaceFeature >::ptr Ifc4x3_tc1::IfcRelAdheresToElement::RelatedSurfaceFeatures() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_tc1::IfcSurfaceFeature >(); } void Ifc4x3_tc1::IfcRelAdheresToElement::setRelatedSurfaceFeatures(aggregate_of< ::Ifc4x3_tc1::IfcSurfaceFeature >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcRelAdheresToElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[896]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelAdheresToElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[896]); } Ifc4x3_tc1::IfcRelAdheresToElement::IfcRelAdheresToElement(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x3_tc1::IfcRelAdheresToElement::IfcRelAdheresToElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcElement* v5_RelatingElement, aggregate_of< ::Ifc4x3_tc1::IfcSurfaceFeature >::ptr v6_RelatedSurfaceFeatures) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedSurfaceFeatures)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcRelAdheresToElement::IfcRelAdheresToElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcElement* v5_RelatingElement, aggregate_of< ::Ifc4x3_tc1::IfcSurfaceFeature >::ptr v6_RelatedSurfaceFeatures) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedSurfaceFeatures)->generalize());; populate_derived(); } // Function implementations for IfcRelAggregates -::Ifc4x3_tc1::IfcObjectDefinition* Ifc4x3_tc1::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcObjectDefinition>(true); } +::Ifc4x3_tc1::IfcObjectDefinition* Ifc4x3_tc1::IfcRelAggregates::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcObjectDefinition>(true); } void Ifc4x3_tc1::IfcRelAggregates::setRelatingObject(::Ifc4x3_tc1::IfcObjectDefinition* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr Ifc4x3_tc1::IfcRelAggregates::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_tc1::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr Ifc4x3_tc1::IfcRelAggregates::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_tc1::IfcObjectDefinition >(); } void Ifc4x3_tc1::IfcRelAggregates::setRelatedObjects(aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcRelAggregates::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[897]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelAggregates::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[897]); } Ifc4x3_tc1::IfcRelAggregates::IfcRelAggregates(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x3_tc1::IfcRelAggregates::IfcRelAggregates(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcRelAggregates::IfcRelAggregates(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelAssigns -aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr Ifc4x3_tc1::IfcRelAssigns::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_tc1::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr Ifc4x3_tc1::IfcRelAssigns::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_tc1::IfcObjectDefinition >(); } void Ifc4x3_tc1::IfcRelAssigns::setRelatedObjects(aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -boost::optional< bool > Ifc4x3_tc1::IfcRelAssigns::RelatedObjectsType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } bool v = data_.get_attribute_value(5); return v; } +boost::optional< bool > Ifc4x3_tc1::IfcRelAssigns::RelatedObjectsType() const { if(get_attribute_value(5).isNull()) { return boost::none; } bool v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcRelAssigns::setRelatedObjectsType(boost::optional< bool > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssigns::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[898]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssigns::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[898]); } Ifc4x3_tc1::IfcRelAssigns::IfcRelAssigns(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_tc1::IfcRelAssigns::IfcRelAssigns(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType) : IfcRelationship(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }; populate_derived(); } +Ifc4x3_tc1::IfcRelAssigns::IfcRelAssigns(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }; populate_derived(); } // Function implementations for IfcRelAssignsToActor -::Ifc4x3_tc1::IfcActor* Ifc4x3_tc1::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcActor>(true); } +::Ifc4x3_tc1::IfcActor* Ifc4x3_tc1::IfcRelAssignsToActor::RelatingActor() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcActor>(true); } void Ifc4x3_tc1::IfcRelAssignsToActor::setRelatingActor(::Ifc4x3_tc1::IfcActor* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_tc1::IfcActorRole* Ifc4x3_tc1::IfcRelAssignsToActor::ActingRole() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_tc1::IfcActorRole>(true); } +::Ifc4x3_tc1::IfcActorRole* Ifc4x3_tc1::IfcRelAssignsToActor::ActingRole() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_tc1::IfcActorRole>(true); } void Ifc4x3_tc1::IfcRelAssignsToActor::setActingRole(::Ifc4x3_tc1::IfcActorRole* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssignsToActor::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[899]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssignsToActor::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[899]); } Ifc4x3_tc1::IfcRelAssignsToActor::IfcRelAssignsToActor(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_tc1::IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcActor* v7_RelatingActor, ::Ifc4x3_tc1::IfcActorRole* v8_ActingRole) : IfcRelAssigns(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingActor ? v7_RelatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_ActingRole ? v8_ActingRole->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcRelAssignsToActor::IfcRelAssignsToActor(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcActor* v7_RelatingActor, ::Ifc4x3_tc1::IfcActorRole* v8_ActingRole) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingActor ? v7_RelatingActor->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_ActingRole ? v8_ActingRole->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToControl -::Ifc4x3_tc1::IfcControl* Ifc4x3_tc1::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcControl>(true); } +::Ifc4x3_tc1::IfcControl* Ifc4x3_tc1::IfcRelAssignsToControl::RelatingControl() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcControl>(true); } void Ifc4x3_tc1::IfcRelAssignsToControl::setRelatingControl(::Ifc4x3_tc1::IfcControl* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssignsToControl::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[900]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssignsToControl::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[900]); } Ifc4x3_tc1::IfcRelAssignsToControl::IfcRelAssignsToControl(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_tc1::IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcControl* v7_RelatingControl) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingControl ? v7_RelatingControl->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcRelAssignsToControl::IfcRelAssignsToControl(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcControl* v7_RelatingControl) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingControl ? v7_RelatingControl->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToGroup -::Ifc4x3_tc1::IfcGroup* Ifc4x3_tc1::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcGroup>(true); } +::Ifc4x3_tc1::IfcGroup* Ifc4x3_tc1::IfcRelAssignsToGroup::RelatingGroup() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcGroup>(true); } void Ifc4x3_tc1::IfcRelAssignsToGroup::setRelatingGroup(::Ifc4x3_tc1::IfcGroup* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssignsToGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[901]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssignsToGroup::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[901]); } Ifc4x3_tc1::IfcRelAssignsToGroup::IfcRelAssignsToGroup(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_tc1::IfcRelAssignsToGroup::IfcRelAssignsToGroup(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcGroup* v7_RelatingGroup) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcRelAssignsToGroup::IfcRelAssignsToGroup(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcGroup* v7_RelatingGroup) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToGroupByFactor -double Ifc4x3_tc1::IfcRelAssignsToGroupByFactor::Factor() const { double v = data_.get_attribute_value(7); return v; } +double Ifc4x3_tc1::IfcRelAssignsToGroupByFactor::Factor() const { double v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcRelAssignsToGroupByFactor::setFactor(double v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssignsToGroupByFactor::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[902]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssignsToGroupByFactor::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[902]); } Ifc4x3_tc1::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(IfcEntityInstanceData&& e) : IfcRelAssignsToGroup(std::move(e)) { } -Ifc4x3_tc1::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcGroup* v7_RelatingGroup, double v8_Factor) : IfcRelAssignsToGroup(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_Factor));; populate_derived(); } +Ifc4x3_tc1::IfcRelAssignsToGroupByFactor::IfcRelAssignsToGroupByFactor(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcGroup* v7_RelatingGroup, double v8_Factor) : IfcRelAssignsToGroup(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingGroup ? v7_RelatingGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_Factor));; populate_derived(); } // Function implementations for IfcRelAssignsToProcess -::Ifc4x3_tc1::IfcProcessSelect* Ifc4x3_tc1::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcProcessSelect>(true); } +::Ifc4x3_tc1::IfcProcessSelect* Ifc4x3_tc1::IfcRelAssignsToProcess::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcProcessSelect>(true); } void Ifc4x3_tc1::IfcRelAssignsToProcess::setRelatingProcess(::Ifc4x3_tc1::IfcProcessSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_tc1::IfcMeasureWithUnit* Ifc4x3_tc1::IfcRelAssignsToProcess::QuantityInProcess() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_tc1::IfcMeasureWithUnit>(true); } +::Ifc4x3_tc1::IfcMeasureWithUnit* Ifc4x3_tc1::IfcRelAssignsToProcess::QuantityInProcess() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_tc1::IfcMeasureWithUnit>(true); } void Ifc4x3_tc1::IfcRelAssignsToProcess::setQuantityInProcess(::Ifc4x3_tc1::IfcMeasureWithUnit* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssignsToProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[903]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssignsToProcess::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[903]); } Ifc4x3_tc1::IfcRelAssignsToProcess::IfcRelAssignsToProcess(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_tc1::IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcProcessSelect* v7_RelatingProcess, ::Ifc4x3_tc1::IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingProcess ? v7_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_QuantityInProcess ? v8_QuantityInProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcRelAssignsToProcess::IfcRelAssignsToProcess(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcProcessSelect* v7_RelatingProcess, ::Ifc4x3_tc1::IfcMeasureWithUnit* v8_QuantityInProcess) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingProcess ? v7_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_QuantityInProcess ? v8_QuantityInProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToProduct -::Ifc4x3_tc1::IfcProductSelect* Ifc4x3_tc1::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcProductSelect>(true); } +::Ifc4x3_tc1::IfcProductSelect* Ifc4x3_tc1::IfcRelAssignsToProduct::RelatingProduct() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcProductSelect>(true); } void Ifc4x3_tc1::IfcRelAssignsToProduct::setRelatingProduct(::Ifc4x3_tc1::IfcProductSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssignsToProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[904]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssignsToProduct::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[904]); } Ifc4x3_tc1::IfcRelAssignsToProduct::IfcRelAssignsToProduct(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_tc1::IfcRelAssignsToProduct::IfcRelAssignsToProduct(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcProductSelect* v7_RelatingProduct) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingProduct ? v7_RelatingProduct->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcRelAssignsToProduct::IfcRelAssignsToProduct(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcProductSelect* v7_RelatingProduct) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingProduct ? v7_RelatingProduct->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssignsToResource -::Ifc4x3_tc1::IfcResourceSelect* Ifc4x3_tc1::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcResourceSelect>(true); } +::Ifc4x3_tc1::IfcResourceSelect* Ifc4x3_tc1::IfcRelAssignsToResource::RelatingResource() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcResourceSelect>(true); } void Ifc4x3_tc1::IfcRelAssignsToResource::setRelatingResource(::Ifc4x3_tc1::IfcResourceSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssignsToResource::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[905]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssignsToResource::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[905]); } Ifc4x3_tc1::IfcRelAssignsToResource::IfcRelAssignsToResource(IfcEntityInstanceData&& e) : IfcRelAssigns(std::move(e)) { } -Ifc4x3_tc1::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingResource ? v7_RelatingResource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcRelAssignsToResource::IfcRelAssignsToResource(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr v5_RelatedObjects, boost::optional< bool > v6_RelatedObjectsType, ::Ifc4x3_tc1::IfcResourceSelect* v7_RelatingResource) : IfcRelAssigns(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_RelatedObjectsType) {set_attribute_value(5, (*v6_RelatedObjectsType)); }set_attribute_value(6, v7_RelatingResource ? v7_RelatingResource->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociates -aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr Ifc4x3_tc1::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_tc1::IfcDefinitionSelect >(); } +aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr Ifc4x3_tc1::IfcRelAssociates::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_tc1::IfcDefinitionSelect >(); } void Ifc4x3_tc1::IfcRelAssociates::setRelatedObjects(aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociates::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[906]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociates::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[906]); } Ifc4x3_tc1::IfcRelAssociates::IfcRelAssociates(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_tc1::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcRelAssociates::IfcRelAssociates(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelAssociatesApproval -::Ifc4x3_tc1::IfcApproval* Ifc4x3_tc1::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcApproval>(true); } +::Ifc4x3_tc1::IfcApproval* Ifc4x3_tc1::IfcRelAssociatesApproval::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcApproval>(true); } void Ifc4x3_tc1::IfcRelAssociatesApproval::setRelatingApproval(::Ifc4x3_tc1::IfcApproval* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesApproval::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[907]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesApproval::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[907]); } Ifc4x3_tc1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_tc1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcApproval* v6_RelatingApproval) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingApproval ? v6_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcRelAssociatesApproval::IfcRelAssociatesApproval(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcApproval* v6_RelatingApproval) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingApproval ? v6_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesClassification -::Ifc4x3_tc1::IfcClassificationSelect* Ifc4x3_tc1::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcClassificationSelect>(true); } +::Ifc4x3_tc1::IfcClassificationSelect* Ifc4x3_tc1::IfcRelAssociatesClassification::RelatingClassification() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcClassificationSelect>(true); } void Ifc4x3_tc1::IfcRelAssociatesClassification::setRelatingClassification(::Ifc4x3_tc1::IfcClassificationSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesClassification::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[908]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesClassification::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[908]); } Ifc4x3_tc1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_tc1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingClassification ? v6_RelatingClassification->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcRelAssociatesClassification::IfcRelAssociatesClassification(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcClassificationSelect* v6_RelatingClassification) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingClassification ? v6_RelatingClassification->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesConstraint -boost::optional< std::string > Ifc4x3_tc1::IfcRelAssociatesConstraint::Intent() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcRelAssociatesConstraint::Intent() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcRelAssociatesConstraint::setIntent(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_tc1::IfcConstraint* Ifc4x3_tc1::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcConstraint>(true); } +::Ifc4x3_tc1::IfcConstraint* Ifc4x3_tc1::IfcRelAssociatesConstraint::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcConstraint>(true); } void Ifc4x3_tc1::IfcRelAssociatesConstraint::setRelatingConstraint(::Ifc4x3_tc1::IfcConstraint* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesConstraint::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[909]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesConstraint::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[909]); } Ifc4x3_tc1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_tc1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_tc1::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, v7_RelatingConstraint ? v7_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcRelAssociatesConstraint::IfcRelAssociatesConstraint(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, boost::optional< std::string > v6_Intent, ::Ifc4x3_tc1::IfcConstraint* v7_RelatingConstraint) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize()); if (v6_Intent) {set_attribute_value(5, (*v6_Intent)); }set_attribute_value(6, v7_RelatingConstraint ? v7_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesDocument -::Ifc4x3_tc1::IfcDocumentSelect* Ifc4x3_tc1::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcDocumentSelect>(true); } +::Ifc4x3_tc1::IfcDocumentSelect* Ifc4x3_tc1::IfcRelAssociatesDocument::RelatingDocument() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcDocumentSelect>(true); } void Ifc4x3_tc1::IfcRelAssociatesDocument::setRelatingDocument(::Ifc4x3_tc1::IfcDocumentSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesDocument::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[910]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesDocument::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[910]); } Ifc4x3_tc1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_tc1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingDocument ? v6_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcRelAssociatesDocument::IfcRelAssociatesDocument(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcDocumentSelect* v6_RelatingDocument) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingDocument ? v6_RelatingDocument->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesLibrary -::Ifc4x3_tc1::IfcLibrarySelect* Ifc4x3_tc1::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcLibrarySelect>(true); } +::Ifc4x3_tc1::IfcLibrarySelect* Ifc4x3_tc1::IfcRelAssociatesLibrary::RelatingLibrary() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcLibrarySelect>(true); } void Ifc4x3_tc1::IfcRelAssociatesLibrary::setRelatingLibrary(::Ifc4x3_tc1::IfcLibrarySelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesLibrary::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[911]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesLibrary::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[911]); } Ifc4x3_tc1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_tc1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingLibrary ? v6_RelatingLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcRelAssociatesLibrary::IfcRelAssociatesLibrary(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcLibrarySelect* v6_RelatingLibrary) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingLibrary ? v6_RelatingLibrary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesMaterial -::Ifc4x3_tc1::IfcMaterialSelect* Ifc4x3_tc1::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcMaterialSelect>(true); } +::Ifc4x3_tc1::IfcMaterialSelect* Ifc4x3_tc1::IfcRelAssociatesMaterial::RelatingMaterial() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcMaterialSelect>(true); } void Ifc4x3_tc1::IfcRelAssociatesMaterial::setRelatingMaterial(::Ifc4x3_tc1::IfcMaterialSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesMaterial::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[912]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesMaterial::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[912]); } Ifc4x3_tc1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_tc1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingMaterial ? v6_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcRelAssociatesMaterial::IfcRelAssociatesMaterial(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcMaterialSelect* v6_RelatingMaterial) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingMaterial ? v6_RelatingMaterial->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelAssociatesProfileDef -::Ifc4x3_tc1::IfcProfileDef* Ifc4x3_tc1::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcProfileDef>(true); } +::Ifc4x3_tc1::IfcProfileDef* Ifc4x3_tc1::IfcRelAssociatesProfileDef::RelatingProfileDef() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcProfileDef>(true); } void Ifc4x3_tc1::IfcRelAssociatesProfileDef::setRelatingProfileDef(::Ifc4x3_tc1::IfcProfileDef* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[913]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelAssociatesProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[913]); } Ifc4x3_tc1::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(IfcEntityInstanceData&& e) : IfcRelAssociates(std::move(e)) { } -Ifc4x3_tc1::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingProfileDef ? v6_RelatingProfileDef->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcProfileDef* v6_RelatingProfileDef) : IfcRelAssociates(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingProfileDef ? v6_RelatingProfileDef->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnects @@ -14728,165 +14728,165 @@ Ifc4x3_tc1::IfcRelAssociatesProfileDef::IfcRelAssociatesProfileDef(std::string v const IfcParse::entity& Ifc4x3_tc1::IfcRelConnects::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[915]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelConnects::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[915]); } Ifc4x3_tc1::IfcRelConnects::IfcRelConnects(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_tc1::IfcRelConnects::IfcRelConnects(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_tc1::IfcRelConnects::IfcRelConnects(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRelConnectsElements -::Ifc4x3_tc1::IfcConnectionGeometry* Ifc4x3_tc1::IfcRelConnectsElements::ConnectionGeometry() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcConnectionGeometry>(true); } +::Ifc4x3_tc1::IfcConnectionGeometry* Ifc4x3_tc1::IfcRelConnectsElements::ConnectionGeometry() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcConnectionGeometry>(true); } void Ifc4x3_tc1::IfcRelConnectsElements::setConnectionGeometry(::Ifc4x3_tc1::IfcConnectionGeometry* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_tc1::IfcElement* Ifc4x3_tc1::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcElement>(true); } +::Ifc4x3_tc1::IfcElement* Ifc4x3_tc1::IfcRelConnectsElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcElement>(true); } void Ifc4x3_tc1::IfcRelConnectsElements::setRelatingElement(::Ifc4x3_tc1::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_tc1::IfcElement* Ifc4x3_tc1::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcElement>(true); } +::Ifc4x3_tc1::IfcElement* Ifc4x3_tc1::IfcRelConnectsElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcElement>(true); } void Ifc4x3_tc1::IfcRelConnectsElements::setRelatedElement(::Ifc4x3_tc1::IfcElement* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_tc1::IfcRelConnectsElements::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[916]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelConnectsElements::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[916]); } Ifc4x3_tc1::IfcRelConnectsElements::IfcRelConnectsElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_tc1::IfcRelConnectsElements::IfcRelConnectsElements(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_tc1::IfcElement* v6_RelatingElement, ::Ifc4x3_tc1::IfcElement* v7_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcRelConnectsElements::IfcRelConnectsElements(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_tc1::IfcElement* v6_RelatingElement, ::Ifc4x3_tc1::IfcElement* v7_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsPathElements -std::vector< int > /*[0:?]*/ Ifc4x3_tc1::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = data_.get_attribute_value(7); return v; } +std::vector< int > /*[0:?]*/ Ifc4x3_tc1::IfcRelConnectsPathElements::RelatingPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcRelConnectsPathElements::setRelatingPriorities(std::vector< int > /*[0:?]*/ v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } -std::vector< int > /*[0:?]*/ Ifc4x3_tc1::IfcRelConnectsPathElements::RelatedPriorities() const { std::vector< int > /*[0:?]*/ v = data_.get_attribute_value(8); return v; } +std::vector< int > /*[0:?]*/ Ifc4x3_tc1::IfcRelConnectsPathElements::RelatedPriorities() const { std::vector< int > /*[0:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcRelConnectsPathElements::setRelatedPriorities(std::vector< int > /*[0:?]*/ v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_tc1::IfcConnectionTypeEnum::Value Ifc4x3_tc1::IfcRelConnectsPathElements::RelatedConnectionType() const { return ::Ifc4x3_tc1::IfcConnectionTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcConnectionTypeEnum::Value Ifc4x3_tc1::IfcRelConnectsPathElements::RelatedConnectionType() const { return ::Ifc4x3_tc1::IfcConnectionTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcRelConnectsPathElements::setRelatedConnectionType(::Ifc4x3_tc1::IfcConnectionTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_tc1::IfcConnectionTypeEnum::Value Ifc4x3_tc1::IfcRelConnectsPathElements::RelatingConnectionType() const { return ::Ifc4x3_tc1::IfcConnectionTypeEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3_tc1::IfcConnectionTypeEnum::Value Ifc4x3_tc1::IfcRelConnectsPathElements::RelatingConnectionType() const { return ::Ifc4x3_tc1::IfcConnectionTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_tc1::IfcRelConnectsPathElements::setRelatingConnectionType(::Ifc4x3_tc1::IfcConnectionTypeEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3_tc1::IfcConnectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_tc1::IfcRelConnectsPathElements::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[917]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelConnectsPathElements::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[917]); } Ifc4x3_tc1::IfcRelConnectsPathElements::IfcRelConnectsPathElements(IfcEntityInstanceData&& e) : IfcRelConnectsElements(std::move(e)) { } -Ifc4x3_tc1::IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_tc1::IfcElement* v6_RelatingElement, ::Ifc4x3_tc1::IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_tc1::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_tc1::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; populate_derived(); } +Ifc4x3_tc1::IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_tc1::IfcElement* v6_RelatingElement, ::Ifc4x3_tc1::IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, ::Ifc4x3_tc1::IfcConnectionTypeEnum::Value v10_RelatedConnectionType, ::Ifc4x3_tc1::IfcConnectionTypeEnum::Value v11_RelatingConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RelatingPriorities));set_attribute_value(8, (v9_RelatedPriorities));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcConnectionTypeEnum::Class(),(size_t)v10_RelatedConnectionType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcConnectionTypeEnum::Class(),(size_t)v11_RelatingConnectionType)));; populate_derived(); } // Function implementations for IfcRelConnectsPortToElement -::Ifc4x3_tc1::IfcPort* Ifc4x3_tc1::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcPort>(true); } +::Ifc4x3_tc1::IfcPort* Ifc4x3_tc1::IfcRelConnectsPortToElement::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcPort>(true); } void Ifc4x3_tc1::IfcRelConnectsPortToElement::setRelatingPort(::Ifc4x3_tc1::IfcPort* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_tc1::IfcDistributionElement* Ifc4x3_tc1::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcDistributionElement>(true); } +::Ifc4x3_tc1::IfcDistributionElement* Ifc4x3_tc1::IfcRelConnectsPortToElement::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcDistributionElement>(true); } void Ifc4x3_tc1::IfcRelConnectsPortToElement::setRelatedElement(::Ifc4x3_tc1::IfcDistributionElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcRelConnectsPortToElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[919]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelConnectsPortToElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[919]); } Ifc4x3_tc1::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_tc1::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcPort* v5_RelatingPort, ::Ifc4x3_tc1::IfcDistributionElement* v6_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcRelConnectsPortToElement::IfcRelConnectsPortToElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcPort* v5_RelatingPort, ::Ifc4x3_tc1::IfcDistributionElement* v6_RelatedElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsPorts -::Ifc4x3_tc1::IfcPort* Ifc4x3_tc1::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcPort>(true); } +::Ifc4x3_tc1::IfcPort* Ifc4x3_tc1::IfcRelConnectsPorts::RelatingPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcPort>(true); } void Ifc4x3_tc1::IfcRelConnectsPorts::setRelatingPort(::Ifc4x3_tc1::IfcPort* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_tc1::IfcPort* Ifc4x3_tc1::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcPort>(true); } +::Ifc4x3_tc1::IfcPort* Ifc4x3_tc1::IfcRelConnectsPorts::RelatedPort() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcPort>(true); } void Ifc4x3_tc1::IfcRelConnectsPorts::setRelatedPort(::Ifc4x3_tc1::IfcPort* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_tc1::IfcElement* Ifc4x3_tc1::IfcRelConnectsPorts::RealizingElement() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcElement>(true); } +::Ifc4x3_tc1::IfcElement* Ifc4x3_tc1::IfcRelConnectsPorts::RealizingElement() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcElement>(true); } void Ifc4x3_tc1::IfcRelConnectsPorts::setRealizingElement(::Ifc4x3_tc1::IfcElement* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_tc1::IfcRelConnectsPorts::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[918]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelConnectsPorts::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[918]); } Ifc4x3_tc1::IfcRelConnectsPorts::IfcRelConnectsPorts(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_tc1::IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcPort* v5_RelatingPort, ::Ifc4x3_tc1::IfcPort* v6_RelatedPort, ::Ifc4x3_tc1::IfcElement* v7_RealizingElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedPort ? v6_RelatedPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RealizingElement ? v7_RealizingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcRelConnectsPorts::IfcRelConnectsPorts(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcPort* v5_RelatingPort, ::Ifc4x3_tc1::IfcPort* v6_RelatedPort, ::Ifc4x3_tc1::IfcElement* v7_RealizingElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPort ? v5_RelatingPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedPort ? v6_RelatedPort->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RealizingElement ? v7_RealizingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsStructuralActivity -::Ifc4x3_tc1::IfcStructuralActivityAssignmentSelect* Ifc4x3_tc1::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcStructuralActivityAssignmentSelect>(true); } +::Ifc4x3_tc1::IfcStructuralActivityAssignmentSelect* Ifc4x3_tc1::IfcRelConnectsStructuralActivity::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcStructuralActivityAssignmentSelect>(true); } void Ifc4x3_tc1::IfcRelConnectsStructuralActivity::setRelatingElement(::Ifc4x3_tc1::IfcStructuralActivityAssignmentSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_tc1::IfcStructuralActivity* Ifc4x3_tc1::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcStructuralActivity>(true); } +::Ifc4x3_tc1::IfcStructuralActivity* Ifc4x3_tc1::IfcRelConnectsStructuralActivity::RelatedStructuralActivity() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcStructuralActivity>(true); } void Ifc4x3_tc1::IfcRelConnectsStructuralActivity::setRelatedStructuralActivity(::Ifc4x3_tc1::IfcStructuralActivity* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcRelConnectsStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[920]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelConnectsStructuralActivity::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[920]); } Ifc4x3_tc1::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_tc1::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcStructuralActivityAssignmentSelect* v5_RelatingElement, ::Ifc4x3_tc1::IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralActivity ? v6_RelatedStructuralActivity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcRelConnectsStructuralActivity::IfcRelConnectsStructuralActivity(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcStructuralActivityAssignmentSelect* v5_RelatingElement, ::Ifc4x3_tc1::IfcStructuralActivity* v6_RelatedStructuralActivity) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralActivity ? v6_RelatedStructuralActivity->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsStructuralMember -::Ifc4x3_tc1::IfcStructuralMember* Ifc4x3_tc1::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcStructuralMember>(true); } +::Ifc4x3_tc1::IfcStructuralMember* Ifc4x3_tc1::IfcRelConnectsStructuralMember::RelatingStructuralMember() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcStructuralMember>(true); } void Ifc4x3_tc1::IfcRelConnectsStructuralMember::setRelatingStructuralMember(::Ifc4x3_tc1::IfcStructuralMember* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_tc1::IfcStructuralConnection* Ifc4x3_tc1::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcStructuralConnection>(true); } +::Ifc4x3_tc1::IfcStructuralConnection* Ifc4x3_tc1::IfcRelConnectsStructuralMember::RelatedStructuralConnection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcStructuralConnection>(true); } void Ifc4x3_tc1::IfcRelConnectsStructuralMember::setRelatedStructuralConnection(::Ifc4x3_tc1::IfcStructuralConnection* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_tc1::IfcBoundaryCondition* Ifc4x3_tc1::IfcRelConnectsStructuralMember::AppliedCondition() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcBoundaryCondition>(true); } +::Ifc4x3_tc1::IfcBoundaryCondition* Ifc4x3_tc1::IfcRelConnectsStructuralMember::AppliedCondition() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcBoundaryCondition>(true); } void Ifc4x3_tc1::IfcRelConnectsStructuralMember::setAppliedCondition(::Ifc4x3_tc1::IfcBoundaryCondition* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_tc1::IfcStructuralConnectionCondition* Ifc4x3_tc1::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_tc1::IfcStructuralConnectionCondition>(true); } +::Ifc4x3_tc1::IfcStructuralConnectionCondition* Ifc4x3_tc1::IfcRelConnectsStructuralMember::AdditionalConditions() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_tc1::IfcStructuralConnectionCondition>(true); } void Ifc4x3_tc1::IfcRelConnectsStructuralMember::setAdditionalConditions(::Ifc4x3_tc1::IfcStructuralConnectionCondition* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc4x3_tc1::IfcRelConnectsStructuralMember::SupportedLength() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_tc1::IfcRelConnectsStructuralMember::SupportedLength() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcRelConnectsStructuralMember::setSupportedLength(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -::Ifc4x3_tc1::IfcAxis2Placement3D* Ifc4x3_tc1::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_tc1::IfcAxis2Placement3D>(true); } +::Ifc4x3_tc1::IfcAxis2Placement3D* Ifc4x3_tc1::IfcRelConnectsStructuralMember::ConditionCoordinateSystem() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_tc1::IfcAxis2Placement3D>(true); } void Ifc4x3_tc1::IfcRelConnectsStructuralMember::setConditionCoordinateSystem(::Ifc4x3_tc1::IfcAxis2Placement3D* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcRelConnectsStructuralMember::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[921]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelConnectsStructuralMember::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[921]); } Ifc4x3_tc1::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_tc1::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x3_tc1::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x3_tc1::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x3_tc1::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x3_tc1::IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcRelConnectsStructuralMember::IfcRelConnectsStructuralMember(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x3_tc1::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x3_tc1::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x3_tc1::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x3_tc1::IfcAxis2Placement3D* v10_ConditionCoordinateSystem) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsWithEccentricity -::Ifc4x3_tc1::IfcConnectionGeometry* Ifc4x3_tc1::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_tc1::IfcConnectionGeometry>(true); } +::Ifc4x3_tc1::IfcConnectionGeometry* Ifc4x3_tc1::IfcRelConnectsWithEccentricity::ConnectionConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_tc1::IfcConnectionGeometry>(true); } void Ifc4x3_tc1::IfcRelConnectsWithEccentricity::setConnectionConstraint(::Ifc4x3_tc1::IfcConnectionGeometry* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } const IfcParse::entity& Ifc4x3_tc1::IfcRelConnectsWithEccentricity::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[922]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelConnectsWithEccentricity::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[922]); } Ifc4x3_tc1::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(IfcEntityInstanceData&& e) : IfcRelConnectsStructuralMember(std::move(e)) { } -Ifc4x3_tc1::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x3_tc1::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x3_tc1::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x3_tc1::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x3_tc1::IfcAxis2Placement3D* v10_ConditionCoordinateSystem, ::Ifc4x3_tc1::IfcConnectionGeometry* v11_ConnectionConstraint) : IfcRelConnectsStructuralMember(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ConnectionConstraint ? v11_ConnectionConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcRelConnectsWithEccentricity::IfcRelConnectsWithEccentricity(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcStructuralMember* v5_RelatingStructuralMember, ::Ifc4x3_tc1::IfcStructuralConnection* v6_RelatedStructuralConnection, ::Ifc4x3_tc1::IfcBoundaryCondition* v7_AppliedCondition, ::Ifc4x3_tc1::IfcStructuralConnectionCondition* v8_AdditionalConditions, boost::optional< double > v9_SupportedLength, ::Ifc4x3_tc1::IfcAxis2Placement3D* v10_ConditionCoordinateSystem, ::Ifc4x3_tc1::IfcConnectionGeometry* v11_ConnectionConstraint) : IfcRelConnectsStructuralMember(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingStructuralMember ? v5_RelatingStructuralMember->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedStructuralConnection ? v6_RelatedStructuralConnection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_AppliedCondition ? v7_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AdditionalConditions ? v8_AdditionalConditions->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_SupportedLength) {set_attribute_value(8, (*v9_SupportedLength)); }set_attribute_value(9, v10_ConditionCoordinateSystem ? v10_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_ConnectionConstraint ? v11_ConnectionConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelConnectsWithRealizingElements -aggregate_of< ::Ifc4x3_tc1::IfcElement >::ptr Ifc4x3_tc1::IfcRelConnectsWithRealizingElements::RealizingElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_tc1::IfcElement >(); } +aggregate_of< ::Ifc4x3_tc1::IfcElement >::ptr Ifc4x3_tc1::IfcRelConnectsWithRealizingElements::RealizingElements() const { aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_tc1::IfcElement >(); } void Ifc4x3_tc1::IfcRelConnectsWithRealizingElements::setRealizingElements(aggregate_of< ::Ifc4x3_tc1::IfcElement >::ptr v) { set_attribute_value(7, (v)->generalize());if constexpr (false)unset_attribute_value(7); } -boost::optional< std::string > Ifc4x3_tc1::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcRelConnectsWithRealizingElements::ConnectionType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcRelConnectsWithRealizingElements::setConnectionType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcRelConnectsWithRealizingElements::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[923]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelConnectsWithRealizingElements::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[923]); } Ifc4x3_tc1::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(IfcEntityInstanceData&& e) : IfcRelConnectsElements(std::move(e)) { } -Ifc4x3_tc1::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_tc1::IfcElement* v6_RelatingElement, ::Ifc4x3_tc1::IfcElement* v7_RelatedElement, aggregate_of< ::Ifc4x3_tc1::IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RealizingElements)->generalize()); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; populate_derived(); } +Ifc4x3_tc1::IfcRelConnectsWithRealizingElements::IfcRelConnectsWithRealizingElements(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcConnectionGeometry* v5_ConnectionGeometry, ::Ifc4x3_tc1::IfcElement* v6_RelatingElement, ::Ifc4x3_tc1::IfcElement* v7_RelatedElement, aggregate_of< ::Ifc4x3_tc1::IfcElement >::ptr v8_RealizingElements, boost::optional< std::string > v9_ConnectionType) : IfcRelConnectsElements(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_ConnectionGeometry ? v5_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatingElement ? v6_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_RelatedElement ? v7_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_RealizingElements)->generalize()); if (v9_ConnectionType) {set_attribute_value(8, (*v9_ConnectionType)); }; populate_derived(); } // Function implementations for IfcRelContainedInSpatialStructure -aggregate_of< ::Ifc4x3_tc1::IfcProduct >::ptr Ifc4x3_tc1::IfcRelContainedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_tc1::IfcProduct >(); } +aggregate_of< ::Ifc4x3_tc1::IfcProduct >::ptr Ifc4x3_tc1::IfcRelContainedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_tc1::IfcProduct >(); } void Ifc4x3_tc1::IfcRelContainedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_tc1::IfcProduct >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_tc1::IfcSpatialElement* Ifc4x3_tc1::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcSpatialElement>(true); } +::Ifc4x3_tc1::IfcSpatialElement* Ifc4x3_tc1::IfcRelContainedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcSpatialElement>(true); } void Ifc4x3_tc1::IfcRelContainedInSpatialStructure::setRelatingStructure(::Ifc4x3_tc1::IfcSpatialElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcRelContainedInSpatialStructure::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[924]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelContainedInSpatialStructure::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[924]); } Ifc4x3_tc1::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_tc1::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcProduct >::ptr v5_RelatedElements, ::Ifc4x3_tc1::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcRelContainedInSpatialStructure::IfcRelContainedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcProduct >::ptr v5_RelatedElements, ::Ifc4x3_tc1::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelCoversBldgElements -::Ifc4x3_tc1::IfcElement* Ifc4x3_tc1::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcElement>(true); } +::Ifc4x3_tc1::IfcElement* Ifc4x3_tc1::IfcRelCoversBldgElements::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcElement>(true); } void Ifc4x3_tc1::IfcRelCoversBldgElements::setRelatingBuildingElement(::Ifc4x3_tc1::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_tc1::IfcCovering >::ptr Ifc4x3_tc1::IfcRelCoversBldgElements::RelatedCoverings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_tc1::IfcCovering >(); } +aggregate_of< ::Ifc4x3_tc1::IfcCovering >::ptr Ifc4x3_tc1::IfcRelCoversBldgElements::RelatedCoverings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_tc1::IfcCovering >(); } void Ifc4x3_tc1::IfcRelCoversBldgElements::setRelatedCoverings(aggregate_of< ::Ifc4x3_tc1::IfcCovering >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcRelCoversBldgElements::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[925]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelCoversBldgElements::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[925]); } Ifc4x3_tc1::IfcRelCoversBldgElements::IfcRelCoversBldgElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_tc1::IfcRelCoversBldgElements::IfcRelCoversBldgElements(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcElement* v5_RelatingBuildingElement, aggregate_of< ::Ifc4x3_tc1::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcRelCoversBldgElements::IfcRelCoversBldgElements(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcElement* v5_RelatingBuildingElement, aggregate_of< ::Ifc4x3_tc1::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } // Function implementations for IfcRelCoversSpaces -::Ifc4x3_tc1::IfcSpace* Ifc4x3_tc1::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcSpace>(true); } +::Ifc4x3_tc1::IfcSpace* Ifc4x3_tc1::IfcRelCoversSpaces::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcSpace>(true); } void Ifc4x3_tc1::IfcRelCoversSpaces::setRelatingSpace(::Ifc4x3_tc1::IfcSpace* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_tc1::IfcCovering >::ptr Ifc4x3_tc1::IfcRelCoversSpaces::RelatedCoverings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_tc1::IfcCovering >(); } +aggregate_of< ::Ifc4x3_tc1::IfcCovering >::ptr Ifc4x3_tc1::IfcRelCoversSpaces::RelatedCoverings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_tc1::IfcCovering >(); } void Ifc4x3_tc1::IfcRelCoversSpaces::setRelatedCoverings(aggregate_of< ::Ifc4x3_tc1::IfcCovering >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcRelCoversSpaces::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[926]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelCoversSpaces::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[926]); } Ifc4x3_tc1::IfcRelCoversSpaces::IfcRelCoversSpaces(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_tc1::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcSpace* v5_RelatingSpace, aggregate_of< ::Ifc4x3_tc1::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcRelCoversSpaces::IfcRelCoversSpaces(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcSpace* v5_RelatingSpace, aggregate_of< ::Ifc4x3_tc1::IfcCovering >::ptr v6_RelatedCoverings) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedCoverings)->generalize());; populate_derived(); } // Function implementations for IfcRelDeclares -::Ifc4x3_tc1::IfcContext* Ifc4x3_tc1::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcContext>(true); } +::Ifc4x3_tc1::IfcContext* Ifc4x3_tc1::IfcRelDeclares::RelatingContext() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcContext>(true); } void Ifc4x3_tc1::IfcRelDeclares::setRelatingContext(::Ifc4x3_tc1::IfcContext* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr Ifc4x3_tc1::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_tc1::IfcDefinitionSelect >(); } +aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr Ifc4x3_tc1::IfcRelDeclares::RelatedDefinitions() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_tc1::IfcDefinitionSelect >(); } void Ifc4x3_tc1::IfcRelDeclares::setRelatedDefinitions(aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcRelDeclares::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[927]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelDeclares::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[927]); } Ifc4x3_tc1::IfcRelDeclares::IfcRelDeclares(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_tc1::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingContext ? v5_RelatingContext->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedDefinitions)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcContext* v5_RelatingContext, aggregate_of< ::Ifc4x3_tc1::IfcDefinitionSelect >::ptr v6_RelatedDefinitions) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingContext ? v5_RelatingContext->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedDefinitions)->generalize());; populate_derived(); } // Function implementations for IfcRelDecomposes @@ -14894,7 +14894,7 @@ Ifc4x3_tc1::IfcRelDeclares::IfcRelDeclares(std::string v1_GlobalId, ::Ifc4x3_tc1 const IfcParse::entity& Ifc4x3_tc1::IfcRelDecomposes::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[928]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelDecomposes::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[928]); } Ifc4x3_tc1::IfcRelDecomposes::IfcRelDecomposes(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_tc1::IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_tc1::IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRelDefines @@ -14902,198 +14902,198 @@ Ifc4x3_tc1::IfcRelDecomposes::IfcRelDecomposes(std::string v1_GlobalId, ::Ifc4x3 const IfcParse::entity& Ifc4x3_tc1::IfcRelDefines::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[929]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelDefines::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[929]); } Ifc4x3_tc1::IfcRelDefines::IfcRelDefines(IfcEntityInstanceData&& e) : IfcRelationship(std::move(e)) { } -Ifc4x3_tc1::IfcRelDefines::IfcRelDefines(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_tc1::IfcRelDefines::IfcRelDefines(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRelDefinesByObject -aggregate_of< ::Ifc4x3_tc1::IfcObject >::ptr Ifc4x3_tc1::IfcRelDefinesByObject::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_tc1::IfcObject >(); } +aggregate_of< ::Ifc4x3_tc1::IfcObject >::ptr Ifc4x3_tc1::IfcRelDefinesByObject::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_tc1::IfcObject >(); } void Ifc4x3_tc1::IfcRelDefinesByObject::setRelatedObjects(aggregate_of< ::Ifc4x3_tc1::IfcObject >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_tc1::IfcObject* Ifc4x3_tc1::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcObject>(true); } +::Ifc4x3_tc1::IfcObject* Ifc4x3_tc1::IfcRelDefinesByObject::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcObject>(true); } void Ifc4x3_tc1::IfcRelDefinesByObject::setRelatingObject(::Ifc4x3_tc1::IfcObject* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcRelDefinesByObject::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[930]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelDefinesByObject::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[930]); } Ifc4x3_tc1::IfcRelDefinesByObject::IfcRelDefinesByObject(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x3_tc1::IfcRelDefinesByObject::IfcRelDefinesByObject(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcObject* v6_RelatingObject) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingObject ? v6_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcRelDefinesByObject::IfcRelDefinesByObject(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcObject* v6_RelatingObject) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingObject ? v6_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelDefinesByProperties -aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr Ifc4x3_tc1::IfcRelDefinesByProperties::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_tc1::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr Ifc4x3_tc1::IfcRelDefinesByProperties::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_tc1::IfcObjectDefinition >(); } void Ifc4x3_tc1::IfcRelDefinesByProperties::setRelatedObjects(aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_tc1::IfcPropertySetDefinitionSelect* Ifc4x3_tc1::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcPropertySetDefinitionSelect>(true); } +::Ifc4x3_tc1::IfcPropertySetDefinitionSelect* Ifc4x3_tc1::IfcRelDefinesByProperties::RelatingPropertyDefinition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcPropertySetDefinitionSelect>(true); } void Ifc4x3_tc1::IfcRelDefinesByProperties::setRelatingPropertyDefinition(::Ifc4x3_tc1::IfcPropertySetDefinitionSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcRelDefinesByProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[931]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelDefinesByProperties::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[931]); } Ifc4x3_tc1::IfcRelDefinesByProperties::IfcRelDefinesByProperties(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x3_tc1::IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcPropertySetDefinitionSelect* v6_RelatingPropertyDefinition) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingPropertyDefinition ? v6_RelatingPropertyDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcRelDefinesByProperties::IfcRelDefinesByProperties(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcPropertySetDefinitionSelect* v6_RelatingPropertyDefinition) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingPropertyDefinition ? v6_RelatingPropertyDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelDefinesByTemplate -aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr Ifc4x3_tc1::IfcRelDefinesByTemplate::RelatedPropertySets() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_tc1::IfcPropertySetDefinition >(); } +aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr Ifc4x3_tc1::IfcRelDefinesByTemplate::RelatedPropertySets() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_tc1::IfcPropertySetDefinition >(); } void Ifc4x3_tc1::IfcRelDefinesByTemplate::setRelatedPropertySets(aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_tc1::IfcPropertySetTemplate* Ifc4x3_tc1::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcPropertySetTemplate>(true); } +::Ifc4x3_tc1::IfcPropertySetTemplate* Ifc4x3_tc1::IfcRelDefinesByTemplate::RelatingTemplate() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcPropertySetTemplate>(true); } void Ifc4x3_tc1::IfcRelDefinesByTemplate::setRelatingTemplate(::Ifc4x3_tc1::IfcPropertySetTemplate* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcRelDefinesByTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[932]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelDefinesByTemplate::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[932]); } Ifc4x3_tc1::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x3_tc1::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr v5_RelatedPropertySets, ::Ifc4x3_tc1::IfcPropertySetTemplate* v6_RelatingTemplate) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedPropertySets)->generalize());set_attribute_value(5, v6_RelatingTemplate ? v6_RelatingTemplate->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcRelDefinesByTemplate::IfcRelDefinesByTemplate(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr v5_RelatedPropertySets, ::Ifc4x3_tc1::IfcPropertySetTemplate* v6_RelatingTemplate) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedPropertySets)->generalize());set_attribute_value(5, v6_RelatingTemplate ? v6_RelatingTemplate->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelDefinesByType -aggregate_of< ::Ifc4x3_tc1::IfcObject >::ptr Ifc4x3_tc1::IfcRelDefinesByType::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_tc1::IfcObject >(); } +aggregate_of< ::Ifc4x3_tc1::IfcObject >::ptr Ifc4x3_tc1::IfcRelDefinesByType::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_tc1::IfcObject >(); } void Ifc4x3_tc1::IfcRelDefinesByType::setRelatedObjects(aggregate_of< ::Ifc4x3_tc1::IfcObject >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_tc1::IfcTypeObject* Ifc4x3_tc1::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcTypeObject>(true); } +::Ifc4x3_tc1::IfcTypeObject* Ifc4x3_tc1::IfcRelDefinesByType::RelatingType() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcTypeObject>(true); } void Ifc4x3_tc1::IfcRelDefinesByType::setRelatingType(::Ifc4x3_tc1::IfcTypeObject* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcRelDefinesByType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[933]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelDefinesByType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[933]); } Ifc4x3_tc1::IfcRelDefinesByType::IfcRelDefinesByType(IfcEntityInstanceData&& e) : IfcRelDefines(std::move(e)) { } -Ifc4x3_tc1::IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcTypeObject* v6_RelatingType) : IfcRelDefines(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingType ? v6_RelatingType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcRelDefinesByType::IfcRelDefinesByType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcObject >::ptr v5_RelatedObjects, ::Ifc4x3_tc1::IfcTypeObject* v6_RelatingType) : IfcRelDefines(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedObjects)->generalize());set_attribute_value(5, v6_RelatingType ? v6_RelatingType->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelFillsElement -::Ifc4x3_tc1::IfcOpeningElement* Ifc4x3_tc1::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcOpeningElement>(true); } +::Ifc4x3_tc1::IfcOpeningElement* Ifc4x3_tc1::IfcRelFillsElement::RelatingOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcOpeningElement>(true); } void Ifc4x3_tc1::IfcRelFillsElement::setRelatingOpeningElement(::Ifc4x3_tc1::IfcOpeningElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_tc1::IfcElement* Ifc4x3_tc1::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcElement>(true); } +::Ifc4x3_tc1::IfcElement* Ifc4x3_tc1::IfcRelFillsElement::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcElement>(true); } void Ifc4x3_tc1::IfcRelFillsElement::setRelatedBuildingElement(::Ifc4x3_tc1::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcRelFillsElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[934]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelFillsElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[934]); } Ifc4x3_tc1::IfcRelFillsElement::IfcRelFillsElement(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_tc1::IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcOpeningElement* v5_RelatingOpeningElement, ::Ifc4x3_tc1::IfcElement* v6_RelatedBuildingElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingOpeningElement ? v5_RelatingOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcRelFillsElement::IfcRelFillsElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcOpeningElement* v5_RelatingOpeningElement, ::Ifc4x3_tc1::IfcElement* v6_RelatedBuildingElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingOpeningElement ? v5_RelatingOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelFlowControlElements -aggregate_of< ::Ifc4x3_tc1::IfcDistributionControlElement >::ptr Ifc4x3_tc1::IfcRelFlowControlElements::RelatedControlElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_tc1::IfcDistributionControlElement >(); } +aggregate_of< ::Ifc4x3_tc1::IfcDistributionControlElement >::ptr Ifc4x3_tc1::IfcRelFlowControlElements::RelatedControlElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_tc1::IfcDistributionControlElement >(); } void Ifc4x3_tc1::IfcRelFlowControlElements::setRelatedControlElements(aggregate_of< ::Ifc4x3_tc1::IfcDistributionControlElement >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_tc1::IfcDistributionFlowElement* Ifc4x3_tc1::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcDistributionFlowElement>(true); } +::Ifc4x3_tc1::IfcDistributionFlowElement* Ifc4x3_tc1::IfcRelFlowControlElements::RelatingFlowElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcDistributionFlowElement>(true); } void Ifc4x3_tc1::IfcRelFlowControlElements::setRelatingFlowElement(::Ifc4x3_tc1::IfcDistributionFlowElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcRelFlowControlElements::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[935]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelFlowControlElements::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[935]); } Ifc4x3_tc1::IfcRelFlowControlElements::IfcRelFlowControlElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_tc1::IfcRelFlowControlElements::IfcRelFlowControlElements(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDistributionControlElement >::ptr v5_RelatedControlElements, ::Ifc4x3_tc1::IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedControlElements)->generalize());set_attribute_value(5, v6_RelatingFlowElement ? v6_RelatingFlowElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcRelFlowControlElements::IfcRelFlowControlElements(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcDistributionControlElement >::ptr v5_RelatedControlElements, ::Ifc4x3_tc1::IfcDistributionFlowElement* v6_RelatingFlowElement) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedControlElements)->generalize());set_attribute_value(5, v6_RelatingFlowElement ? v6_RelatingFlowElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelInterferesElements -::Ifc4x3_tc1::IfcInterferenceSelect* Ifc4x3_tc1::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcInterferenceSelect>(true); } +::Ifc4x3_tc1::IfcInterferenceSelect* Ifc4x3_tc1::IfcRelInterferesElements::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcInterferenceSelect>(true); } void Ifc4x3_tc1::IfcRelInterferesElements::setRelatingElement(::Ifc4x3_tc1::IfcInterferenceSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_tc1::IfcInterferenceSelect* Ifc4x3_tc1::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcInterferenceSelect>(true); } +::Ifc4x3_tc1::IfcInterferenceSelect* Ifc4x3_tc1::IfcRelInterferesElements::RelatedElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcInterferenceSelect>(true); } void Ifc4x3_tc1::IfcRelInterferesElements::setRelatedElement(::Ifc4x3_tc1::IfcInterferenceSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_tc1::IfcConnectionGeometry* Ifc4x3_tc1::IfcRelInterferesElements::InterferenceGeometry() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcConnectionGeometry>(true); } +::Ifc4x3_tc1::IfcConnectionGeometry* Ifc4x3_tc1::IfcRelInterferesElements::InterferenceGeometry() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcConnectionGeometry>(true); } void Ifc4x3_tc1::IfcRelInterferesElements::setInterferenceGeometry(::Ifc4x3_tc1::IfcConnectionGeometry* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< std::string > Ifc4x3_tc1::IfcRelInterferesElements::InterferenceType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcRelInterferesElements::InterferenceType() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcRelInterferesElements::setInterferenceType(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::logic::tribool Ifc4x3_tc1::IfcRelInterferesElements::ImpliedOrder() const { boost::logic::tribool v = data_.get_attribute_value(8); return v; } +boost::logic::tribool Ifc4x3_tc1::IfcRelInterferesElements::ImpliedOrder() const { boost::logic::tribool v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcRelInterferesElements::setImpliedOrder(boost::logic::tribool v) { set_attribute_value(8, v);if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_tc1::IfcSpatialZone* Ifc4x3_tc1::IfcRelInterferesElements::InterferenceSpace() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_tc1::IfcSpatialZone>(true); } +::Ifc4x3_tc1::IfcSpatialZone* Ifc4x3_tc1::IfcRelInterferesElements::InterferenceSpace() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_tc1::IfcSpatialZone>(true); } void Ifc4x3_tc1::IfcRelInterferesElements::setInterferenceSpace(::Ifc4x3_tc1::IfcSpatialZone* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcRelInterferesElements::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[936]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelInterferesElements::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[936]); } Ifc4x3_tc1::IfcRelInterferesElements::IfcRelInterferesElements(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_tc1::IfcRelInterferesElements::IfcRelInterferesElements(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcInterferenceSelect* v5_RelatingElement, ::Ifc4x3_tc1::IfcInterferenceSelect* v6_RelatedElement, ::Ifc4x3_tc1::IfcConnectionGeometry* v7_InterferenceGeometry, boost::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder, ::Ifc4x3_tc1::IfcSpatialZone* v10_InterferenceSpace) : IfcRelConnects(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_InterferenceGeometry ? v7_InterferenceGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder));set_attribute_value(9, v10_InterferenceSpace ? v10_InterferenceSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcRelInterferesElements::IfcRelInterferesElements(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcInterferenceSelect* v5_RelatingElement, ::Ifc4x3_tc1::IfcInterferenceSelect* v6_RelatedElement, ::Ifc4x3_tc1::IfcConnectionGeometry* v7_InterferenceGeometry, boost::optional< std::string > v8_InterferenceType, boost::logic::tribool v9_ImpliedOrder, ::Ifc4x3_tc1::IfcSpatialZone* v10_InterferenceSpace) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedElement ? v6_RelatedElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_InterferenceGeometry ? v7_InterferenceGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_InterferenceType) {set_attribute_value(7, (*v8_InterferenceType)); }set_attribute_value(8, (v9_ImpliedOrder));set_attribute_value(9, v10_InterferenceSpace ? v10_InterferenceSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelNests -::Ifc4x3_tc1::IfcObjectDefinition* Ifc4x3_tc1::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcObjectDefinition>(true); } +::Ifc4x3_tc1::IfcObjectDefinition* Ifc4x3_tc1::IfcRelNests::RelatingObject() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcObjectDefinition>(true); } void Ifc4x3_tc1::IfcRelNests::setRelatingObject(::Ifc4x3_tc1::IfcObjectDefinition* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr Ifc4x3_tc1::IfcRelNests::RelatedObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_tc1::IfcObjectDefinition >(); } +aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr Ifc4x3_tc1::IfcRelNests::RelatedObjects() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_tc1::IfcObjectDefinition >(); } void Ifc4x3_tc1::IfcRelNests::setRelatedObjects(aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcRelNests::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[937]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelNests::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[937]); } Ifc4x3_tc1::IfcRelNests::IfcRelNests(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x3_tc1::IfcRelNests::IfcRelNests(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcRelNests::IfcRelNests(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcObjectDefinition* v5_RelatingObject, aggregate_of< ::Ifc4x3_tc1::IfcObjectDefinition >::ptr v6_RelatedObjects) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingObject ? v5_RelatingObject->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedObjects)->generalize());; populate_derived(); } // Function implementations for IfcRelPositions -::Ifc4x3_tc1::IfcPositioningElement* Ifc4x3_tc1::IfcRelPositions::RelatingPositioningElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcPositioningElement>(true); } +::Ifc4x3_tc1::IfcPositioningElement* Ifc4x3_tc1::IfcRelPositions::RelatingPositioningElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcPositioningElement>(true); } void Ifc4x3_tc1::IfcRelPositions::setRelatingPositioningElement(::Ifc4x3_tc1::IfcPositioningElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_tc1::IfcProduct >::ptr Ifc4x3_tc1::IfcRelPositions::RelatedProducts() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_tc1::IfcProduct >(); } +aggregate_of< ::Ifc4x3_tc1::IfcProduct >::ptr Ifc4x3_tc1::IfcRelPositions::RelatedProducts() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_tc1::IfcProduct >(); } void Ifc4x3_tc1::IfcRelPositions::setRelatedProducts(aggregate_of< ::Ifc4x3_tc1::IfcProduct >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcRelPositions::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[938]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelPositions::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[938]); } Ifc4x3_tc1::IfcRelPositions::IfcRelPositions(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_tc1::IfcRelPositions::IfcRelPositions(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcPositioningElement* v5_RelatingPositioningElement, aggregate_of< ::Ifc4x3_tc1::IfcProduct >::ptr v6_RelatedProducts) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPositioningElement ? v5_RelatingPositioningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedProducts)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcRelPositions::IfcRelPositions(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcPositioningElement* v5_RelatingPositioningElement, aggregate_of< ::Ifc4x3_tc1::IfcProduct >::ptr v6_RelatedProducts) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingPositioningElement ? v5_RelatingPositioningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedProducts)->generalize());; populate_derived(); } // Function implementations for IfcRelProjectsElement -::Ifc4x3_tc1::IfcElement* Ifc4x3_tc1::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcElement>(true); } +::Ifc4x3_tc1::IfcElement* Ifc4x3_tc1::IfcRelProjectsElement::RelatingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcElement>(true); } void Ifc4x3_tc1::IfcRelProjectsElement::setRelatingElement(::Ifc4x3_tc1::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_tc1::IfcFeatureElementAddition* Ifc4x3_tc1::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcFeatureElementAddition>(true); } +::Ifc4x3_tc1::IfcFeatureElementAddition* Ifc4x3_tc1::IfcRelProjectsElement::RelatedFeatureElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcFeatureElementAddition>(true); } void Ifc4x3_tc1::IfcRelProjectsElement::setRelatedFeatureElement(::Ifc4x3_tc1::IfcFeatureElementAddition* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcRelProjectsElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[939]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelProjectsElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[939]); } Ifc4x3_tc1::IfcRelProjectsElement::IfcRelProjectsElement(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x3_tc1::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcElement* v5_RelatingElement, ::Ifc4x3_tc1::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedFeatureElement ? v6_RelatedFeatureElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcRelProjectsElement::IfcRelProjectsElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcElement* v5_RelatingElement, ::Ifc4x3_tc1::IfcFeatureElementAddition* v6_RelatedFeatureElement) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingElement ? v5_RelatingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedFeatureElement ? v6_RelatedFeatureElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelReferencedInSpatialStructure -aggregate_of< ::Ifc4x3_tc1::IfcSpatialReferenceSelect >::ptr Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = data_.get_attribute_value(4); return es->as< ::Ifc4x3_tc1::IfcSpatialReferenceSelect >(); } +aggregate_of< ::Ifc4x3_tc1::IfcSpatialReferenceSelect >::ptr Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::RelatedElements() const { aggregate_of_instance::ptr es = get_attribute_value(4); return es->as< ::Ifc4x3_tc1::IfcSpatialReferenceSelect >(); } void Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::setRelatedElements(aggregate_of< ::Ifc4x3_tc1::IfcSpatialReferenceSelect >::ptr v) { set_attribute_value(4, (v)->generalize());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_tc1::IfcSpatialElement* Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcSpatialElement>(true); } +::Ifc4x3_tc1::IfcSpatialElement* Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::RelatingStructure() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcSpatialElement>(true); } void Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::setRelatingStructure(::Ifc4x3_tc1::IfcSpatialElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[940]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[940]); } Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_tc1::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcRelReferencedInSpatialStructure::IfcRelReferencedInSpatialStructure(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, aggregate_of< ::Ifc4x3_tc1::IfcSpatialReferenceSelect >::ptr v5_RelatedElements, ::Ifc4x3_tc1::IfcSpatialElement* v6_RelatingStructure) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (v5_RelatedElements)->generalize());set_attribute_value(5, v6_RelatingStructure ? v6_RelatingStructure->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelSequence -::Ifc4x3_tc1::IfcProcess* Ifc4x3_tc1::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcProcess>(true); } +::Ifc4x3_tc1::IfcProcess* Ifc4x3_tc1::IfcRelSequence::RelatingProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcProcess>(true); } void Ifc4x3_tc1::IfcRelSequence::setRelatingProcess(::Ifc4x3_tc1::IfcProcess* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_tc1::IfcProcess* Ifc4x3_tc1::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcProcess>(true); } +::Ifc4x3_tc1::IfcProcess* Ifc4x3_tc1::IfcRelSequence::RelatedProcess() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcProcess>(true); } void Ifc4x3_tc1::IfcRelSequence::setRelatedProcess(::Ifc4x3_tc1::IfcProcess* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_tc1::IfcLagTime* Ifc4x3_tc1::IfcRelSequence::TimeLag() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcLagTime>(true); } +::Ifc4x3_tc1::IfcLagTime* Ifc4x3_tc1::IfcRelSequence::TimeLag() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcLagTime>(true); } void Ifc4x3_tc1::IfcRelSequence::setTimeLag(::Ifc4x3_tc1::IfcLagTime* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< ::Ifc4x3_tc1::IfcSequenceEnum::Value > Ifc4x3_tc1::IfcRelSequence::SequenceType() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSequenceEnum::FromString(data_.get_attribute_value(7)); } +boost::optional< ::Ifc4x3_tc1::IfcSequenceEnum::Value > Ifc4x3_tc1::IfcRelSequence::SequenceType() const { if(get_attribute_value(7).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSequenceEnum::FromString(get_attribute_value(7)); } void Ifc4x3_tc1::IfcRelSequence::setSequenceType(boost::optional< ::Ifc4x3_tc1::IfcSequenceEnum::Value > v) { if (v) {set_attribute_value(7, EnumerationReference(&::Ifc4x3_tc1::IfcSequenceEnum::Class(), (size_t) *v));} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_tc1::IfcRelSequence::UserDefinedSequenceType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcRelSequence::UserDefinedSequenceType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcRelSequence::setUserDefinedSequenceType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcRelSequence::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[941]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelSequence::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[941]); } Ifc4x3_tc1::IfcRelSequence::IfcRelSequence(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_tc1::IfcRelSequence::IfcRelSequence(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcProcess* v5_RelatingProcess, ::Ifc4x3_tc1::IfcProcess* v6_RelatedProcess, ::Ifc4x3_tc1::IfcLagTime* v7_TimeLag, boost::optional< ::Ifc4x3_tc1::IfcSequenceEnum::Value > v8_SequenceType, boost::optional< std::string > v9_UserDefinedSequenceType) : IfcRelConnects(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingProcess ? v5_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedProcess ? v6_RelatedProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_TimeLag ? v7_TimeLag->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_SequenceType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); }; populate_derived(); } +Ifc4x3_tc1::IfcRelSequence::IfcRelSequence(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcProcess* v5_RelatingProcess, ::Ifc4x3_tc1::IfcProcess* v6_RelatedProcess, ::Ifc4x3_tc1::IfcLagTime* v7_TimeLag, boost::optional< ::Ifc4x3_tc1::IfcSequenceEnum::Value > v8_SequenceType, boost::optional< std::string > v9_UserDefinedSequenceType) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingProcess ? v5_RelatingProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedProcess ? v6_RelatedProcess->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_TimeLag ? v7_TimeLag->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_SequenceType) {set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcSequenceEnum::Class(),(size_t)*v8_SequenceType))); } if (v9_UserDefinedSequenceType) {set_attribute_value(8, (*v9_UserDefinedSequenceType)); }; populate_derived(); } // Function implementations for IfcRelServicesBuildings -::Ifc4x3_tc1::IfcSystem* Ifc4x3_tc1::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcSystem>(true); } +::Ifc4x3_tc1::IfcSystem* Ifc4x3_tc1::IfcRelServicesBuildings::RelatingSystem() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcSystem>(true); } void Ifc4x3_tc1::IfcRelServicesBuildings::setRelatingSystem(::Ifc4x3_tc1::IfcSystem* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_tc1::IfcSpatialElement >::ptr Ifc4x3_tc1::IfcRelServicesBuildings::RelatedBuildings() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_tc1::IfcSpatialElement >(); } +aggregate_of< ::Ifc4x3_tc1::IfcSpatialElement >::ptr Ifc4x3_tc1::IfcRelServicesBuildings::RelatedBuildings() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_tc1::IfcSpatialElement >(); } void Ifc4x3_tc1::IfcRelServicesBuildings::setRelatedBuildings(aggregate_of< ::Ifc4x3_tc1::IfcSpatialElement >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcRelServicesBuildings::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[942]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelServicesBuildings::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[942]); } Ifc4x3_tc1::IfcRelServicesBuildings::IfcRelServicesBuildings(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_tc1::IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcSystem* v5_RelatingSystem, aggregate_of< ::Ifc4x3_tc1::IfcSpatialElement >::ptr v6_RelatedBuildings) : IfcRelConnects(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSystem ? v5_RelatingSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedBuildings)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcRelServicesBuildings::IfcRelServicesBuildings(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcSystem* v5_RelatingSystem, aggregate_of< ::Ifc4x3_tc1::IfcSpatialElement >::ptr v6_RelatedBuildings) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSystem ? v5_RelatingSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_RelatedBuildings)->generalize());; populate_derived(); } // Function implementations for IfcRelSpaceBoundary -::Ifc4x3_tc1::IfcSpaceBoundarySelect* Ifc4x3_tc1::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcSpaceBoundarySelect>(true); } +::Ifc4x3_tc1::IfcSpaceBoundarySelect* Ifc4x3_tc1::IfcRelSpaceBoundary::RelatingSpace() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcSpaceBoundarySelect>(true); } void Ifc4x3_tc1::IfcRelSpaceBoundary::setRelatingSpace(::Ifc4x3_tc1::IfcSpaceBoundarySelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_tc1::IfcElement* Ifc4x3_tc1::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcElement>(true); } +::Ifc4x3_tc1::IfcElement* Ifc4x3_tc1::IfcRelSpaceBoundary::RelatedBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcElement>(true); } void Ifc4x3_tc1::IfcRelSpaceBoundary::setRelatedBuildingElement(::Ifc4x3_tc1::IfcElement* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_tc1::IfcConnectionGeometry* Ifc4x3_tc1::IfcRelSpaceBoundary::ConnectionGeometry() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcConnectionGeometry>(true); } +::Ifc4x3_tc1::IfcConnectionGeometry* Ifc4x3_tc1::IfcRelSpaceBoundary::ConnectionGeometry() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcConnectionGeometry>(true); } void Ifc4x3_tc1::IfcRelSpaceBoundary::setConnectionGeometry(::Ifc4x3_tc1::IfcConnectionGeometry* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Value Ifc4x3_tc1::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Value Ifc4x3_tc1::IfcRelSpaceBoundary::PhysicalOrVirtualBoundary() const { return ::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::FromString(get_attribute_value(7)); } void Ifc4x3_tc1::IfcRelSpaceBoundary::setPhysicalOrVirtualBoundary(::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_tc1::IfcInternalOrExternalEnum::Value Ifc4x3_tc1::IfcRelSpaceBoundary::InternalOrExternalBoundary() const { return ::Ifc4x3_tc1::IfcInternalOrExternalEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_tc1::IfcInternalOrExternalEnum::Value Ifc4x3_tc1::IfcRelSpaceBoundary::InternalOrExternalBoundary() const { return ::Ifc4x3_tc1::IfcInternalOrExternalEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcRelSpaceBoundary::setInternalOrExternalBoundary(::Ifc4x3_tc1::IfcInternalOrExternalEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcInternalOrExternalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_tc1::IfcRelSpaceBoundary::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[943]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelSpaceBoundary::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[943]); } Ifc4x3_tc1::IfcRelSpaceBoundary::IfcRelSpaceBoundary(IfcEntityInstanceData&& e) : IfcRelConnects(std::move(e)) { } -Ifc4x3_tc1::IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_tc1::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_tc1::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_tc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) : IfcRelConnects(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; populate_derived(); } +Ifc4x3_tc1::IfcRelSpaceBoundary::IfcRelSpaceBoundary(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_tc1::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_tc1::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_tc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary) : IfcRelConnects(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));; populate_derived(); } // Function implementations for IfcRelSpaceBoundary1stLevel -::Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel* Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel>(true); } +::Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel* Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel::ParentBoundary() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel>(true); } void Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel::setParentBoundary(::Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } ::Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel::list::ptr Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel::InnerBoundaries() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[944], 9)->as(); } @@ -15101,10 +15101,10 @@ void Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel::setParentBoundary(::Ifc4x3_tc1::If const IfcParse::entity& Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[944]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[944]); } Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(IfcEntityInstanceData&& e) : IfcRelSpaceBoundary(std::move(e)) { } -Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_tc1::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_tc1::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_tc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary) : IfcRelSpaceBoundary(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel::IfcRelSpaceBoundary1stLevel(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_tc1::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_tc1::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_tc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary) : IfcRelSpaceBoundary(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelSpaceBoundary2ndLevel -::Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel* Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(data_.get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(10)))->as<::Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel>(true); } +::Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel* Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel::CorrespondingBoundary() const { if(get_attribute_value(10).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(10)))->as<::Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel>(true); } void Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(::Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel* v) { set_attribute_value(10, v->as());if constexpr (false)unset_attribute_value(10); } ::Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel::list::ptr Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel::Corresponds() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[945], 10)->as(); } @@ -15112,19 +15112,19 @@ void Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel::setCorrespondingBoundary(::Ifc4x3_ const IfcParse::entity& Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[945]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[945]); } Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(IfcEntityInstanceData&& e) : IfcRelSpaceBoundary1stLevel(std::move(e)) { } -Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_tc1::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_tc1::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_tc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, ::Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary) : IfcRelSpaceBoundary1stLevel(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_CorrespondingBoundary ? v11_CorrespondingBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel::IfcRelSpaceBoundary2ndLevel(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcSpaceBoundarySelect* v5_RelatingSpace, ::Ifc4x3_tc1::IfcElement* v6_RelatedBuildingElement, ::Ifc4x3_tc1::IfcConnectionGeometry* v7_ConnectionGeometry, ::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Value v8_PhysicalOrVirtualBoundary, ::Ifc4x3_tc1::IfcInternalOrExternalEnum::Value v9_InternalOrExternalBoundary, ::Ifc4x3_tc1::IfcRelSpaceBoundary1stLevel* v10_ParentBoundary, ::Ifc4x3_tc1::IfcRelSpaceBoundary2ndLevel* v11_CorrespondingBoundary) : IfcRelSpaceBoundary1stLevel(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingSpace ? v5_RelatingSpace->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedBuildingElement ? v6_RelatedBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_ConnectionGeometry ? v7_ConnectionGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcPhysicalOrVirtualEnum::Class(),(size_t)v8_PhysicalOrVirtualBoundary)));set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcInternalOrExternalEnum::Class(),(size_t)v9_InternalOrExternalBoundary)));set_attribute_value(9, v10_ParentBoundary ? v10_ParentBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(10, v11_CorrespondingBoundary ? v11_CorrespondingBoundary->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelVoidsElement -::Ifc4x3_tc1::IfcElement* Ifc4x3_tc1::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcElement>(true); } +::Ifc4x3_tc1::IfcElement* Ifc4x3_tc1::IfcRelVoidsElement::RelatingBuildingElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcElement>(true); } void Ifc4x3_tc1::IfcRelVoidsElement::setRelatingBuildingElement(::Ifc4x3_tc1::IfcElement* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_tc1::IfcFeatureElementSubtraction* Ifc4x3_tc1::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcFeatureElementSubtraction>(true); } +::Ifc4x3_tc1::IfcFeatureElementSubtraction* Ifc4x3_tc1::IfcRelVoidsElement::RelatedOpeningElement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcFeatureElementSubtraction>(true); } void Ifc4x3_tc1::IfcRelVoidsElement::setRelatedOpeningElement(::Ifc4x3_tc1::IfcFeatureElementSubtraction* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcRelVoidsElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[946]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelVoidsElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[946]); } Ifc4x3_tc1::IfcRelVoidsElement::IfcRelVoidsElement(IfcEntityInstanceData&& e) : IfcRelDecomposes(std::move(e)) { } -Ifc4x3_tc1::IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcElement* v5_RelatingBuildingElement, ::Ifc4x3_tc1::IfcFeatureElementSubtraction* v6_RelatedOpeningElement) : IfcRelDecomposes(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedOpeningElement ? v6_RelatedOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcElement* v5_RelatingBuildingElement, ::Ifc4x3_tc1::IfcFeatureElementSubtraction* v6_RelatedOpeningElement) : IfcRelDecomposes(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, v5_RelatingBuildingElement ? v5_RelatingBuildingElement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_RelatedOpeningElement ? v6_RelatedOpeningElement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRelationship @@ -15132,26 +15132,26 @@ Ifc4x3_tc1::IfcRelVoidsElement::IfcRelVoidsElement(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x3_tc1::IfcRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[914]); } const IfcParse::entity& Ifc4x3_tc1::IfcRelationship::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[914]); } Ifc4x3_tc1::IfcRelationship::IfcRelationship(IfcEntityInstanceData&& e) : IfcRoot(std::move(e)) { } -Ifc4x3_tc1::IfcRelationship::IfcRelationship(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_tc1::IfcRelationship::IfcRelationship(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcRoot(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcReparametrisedCompositeCurveSegment -double Ifc4x3_tc1::IfcReparametrisedCompositeCurveSegment::ParamLength() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_tc1::IfcReparametrisedCompositeCurveSegment::ParamLength() const { double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcReparametrisedCompositeCurveSegment::setParamLength(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcReparametrisedCompositeCurveSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[947]); } const IfcParse::entity& Ifc4x3_tc1::IfcReparametrisedCompositeCurveSegment::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[947]); } Ifc4x3_tc1::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(IfcEntityInstanceData&& e) : IfcCompositeCurveSegment(std::move(e)) { } -Ifc4x3_tc1::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(::Ifc4x3_tc1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_tc1::IfcCurve* v3_ParentCurve, double v4_ParamLength) : IfcCompositeCurveSegment(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ParamLength));; populate_derived(); } +Ifc4x3_tc1::IfcReparametrisedCompositeCurveSegment::IfcReparametrisedCompositeCurveSegment(::Ifc4x3_tc1::IfcTransitionCode::Value v1_Transition, bool v2_SameSense, ::Ifc4x3_tc1::IfcCurve* v3_ParentCurve, double v4_ParamLength) : IfcCompositeCurveSegment(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcTransitionCode::Class(),(size_t)v1_Transition)));set_attribute_value(1, (v2_SameSense));set_attribute_value(2, v3_ParentCurve ? v3_ParentCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_ParamLength));; populate_derived(); } // Function implementations for IfcRepresentation -::Ifc4x3_tc1::IfcRepresentationContext* Ifc4x3_tc1::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcRepresentationContext>(true); } +::Ifc4x3_tc1::IfcRepresentationContext* Ifc4x3_tc1::IfcRepresentation::ContextOfItems() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcRepresentationContext>(true); } void Ifc4x3_tc1::IfcRepresentation::setContextOfItems(::Ifc4x3_tc1::IfcRepresentationContext* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_tc1::IfcRepresentation::RepresentationIdentifier() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcRepresentation::RepresentationIdentifier() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcRepresentation::setRepresentationIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_tc1::IfcRepresentation::RepresentationType() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcRepresentation::RepresentationType() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcRepresentation::setRepresentationType(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -aggregate_of< ::Ifc4x3_tc1::IfcRepresentationItem >::ptr Ifc4x3_tc1::IfcRepresentation::Items() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_tc1::IfcRepresentationItem >(); } +aggregate_of< ::Ifc4x3_tc1::IfcRepresentationItem >::ptr Ifc4x3_tc1::IfcRepresentation::Items() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_tc1::IfcRepresentationItem >(); } void Ifc4x3_tc1::IfcRepresentation::setItems(aggregate_of< ::Ifc4x3_tc1::IfcRepresentationItem >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } ::Ifc4x3_tc1::IfcRepresentationMap::list::ptr Ifc4x3_tc1::IfcRepresentation::RepresentationMap() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[951], 1)->as(); } @@ -15161,12 +15161,12 @@ void Ifc4x3_tc1::IfcRepresentation::setItems(aggregate_of< ::Ifc4x3_tc1::IfcRepr const IfcParse::entity& Ifc4x3_tc1::IfcRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[948]); } const IfcParse::entity& Ifc4x3_tc1::IfcRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[948]); } Ifc4x3_tc1::IfcRepresentation::IfcRepresentation(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcRepresentation::IfcRepresentation(::Ifc4x3_tc1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_tc1::IfcRepresentationItem >::ptr v4_Items) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcRepresentation::IfcRepresentation(::Ifc4x3_tc1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_tc1::IfcRepresentationItem >::ptr v4_Items) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcRepresentationContext -boost::optional< std::string > Ifc4x3_tc1::IfcRepresentationContext::ContextIdentifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcRepresentationContext::ContextIdentifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcRepresentationContext::setContextIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_tc1::IfcRepresentationContext::ContextType() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcRepresentationContext::ContextType() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcRepresentationContext::setContextType(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } ::Ifc4x3_tc1::IfcRepresentation::list::ptr Ifc4x3_tc1::IfcRepresentationContext::RepresentationsInContext() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[948], 0)->as(); } @@ -15174,7 +15174,7 @@ void Ifc4x3_tc1::IfcRepresentationContext::setContextType(boost::optional< std:: const IfcParse::entity& Ifc4x3_tc1::IfcRepresentationContext::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[949]); } const IfcParse::entity& Ifc4x3_tc1::IfcRepresentationContext::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[949]); } Ifc4x3_tc1::IfcRepresentationContext::IfcRepresentationContext(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcRepresentationContext::IfcRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; populate_derived(); } +Ifc4x3_tc1::IfcRepresentationContext::IfcRepresentationContext(boost::optional< std::string > v1_ContextIdentifier, boost::optional< std::string > v2_ContextType) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_ContextIdentifier) {set_attribute_value(0, (*v1_ContextIdentifier)); } if (v2_ContextType) {set_attribute_value(1, (*v2_ContextType)); }; populate_derived(); } // Function implementations for IfcRepresentationItem @@ -15184,12 +15184,12 @@ Ifc4x3_tc1::IfcRepresentationContext::IfcRepresentationContext(boost::optional< const IfcParse::entity& Ifc4x3_tc1::IfcRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[950]); } const IfcParse::entity& Ifc4x3_tc1::IfcRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[950]); } Ifc4x3_tc1::IfcRepresentationItem::IfcRepresentationItem(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_tc1::IfcRepresentationItem::IfcRepresentationItem() : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcRepresentationMap -::Ifc4x3_tc1::IfcAxis2Placement* Ifc4x3_tc1::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcAxis2Placement>(true); } +::Ifc4x3_tc1::IfcAxis2Placement* Ifc4x3_tc1::IfcRepresentationMap::MappingOrigin() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcAxis2Placement>(true); } void Ifc4x3_tc1::IfcRepresentationMap::setMappingOrigin(::Ifc4x3_tc1::IfcAxis2Placement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_tc1::IfcRepresentation* Ifc4x3_tc1::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcRepresentation>(true); } +::Ifc4x3_tc1::IfcRepresentation* Ifc4x3_tc1::IfcRepresentationMap::MappedRepresentation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcRepresentation>(true); } void Ifc4x3_tc1::IfcRepresentationMap::setMappedRepresentation(::Ifc4x3_tc1::IfcRepresentation* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } ::Ifc4x3_tc1::IfcShapeAspect::list::ptr Ifc4x3_tc1::IfcRepresentationMap::HasShapeAspects() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[1003], 4)->as(); } @@ -15198,12 +15198,12 @@ void Ifc4x3_tc1::IfcRepresentationMap::setMappedRepresentation(::Ifc4x3_tc1::Ifc const IfcParse::entity& Ifc4x3_tc1::IfcRepresentationMap::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[951]); } const IfcParse::entity& Ifc4x3_tc1::IfcRepresentationMap::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[951]); } Ifc4x3_tc1::IfcRepresentationMap::IfcRepresentationMap(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcRepresentationMap::IfcRepresentationMap(::Ifc4x3_tc1::IfcAxis2Placement* v1_MappingOrigin, ::Ifc4x3_tc1::IfcRepresentation* v2_MappedRepresentation) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_MappingOrigin ? v1_MappingOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappedRepresentation ? v2_MappedRepresentation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcRepresentationMap::IfcRepresentationMap(::Ifc4x3_tc1::IfcAxis2Placement* v1_MappingOrigin, ::Ifc4x3_tc1::IfcRepresentation* v2_MappedRepresentation) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_MappingOrigin ? v1_MappingOrigin->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_MappedRepresentation ? v2_MappedRepresentation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcResource -boost::optional< std::string > Ifc4x3_tc1::IfcResource::Identification() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcResource::Identification() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcResource::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_tc1::IfcResource::LongDescription() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcResource::LongDescription() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcResource::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } ::Ifc4x3_tc1::IfcRelAssignsToResource::list::ptr Ifc4x3_tc1::IfcResource::ResourceOf() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[905], 6)->as(); } @@ -15211,239 +15211,239 @@ void Ifc4x3_tc1::IfcResource::setLongDescription(boost::optional< std::string > const IfcParse::entity& Ifc4x3_tc1::IfcResource::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[952]); } const IfcParse::entity& Ifc4x3_tc1::IfcResource::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[952]); } Ifc4x3_tc1::IfcResource::IfcResource(IfcEntityInstanceData&& e) : IfcObject(std::move(e)) { } -Ifc4x3_tc1::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x3_tc1::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(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } +Ifc4x3_tc1::IfcResource::IfcResource(std::string v1_GlobalId, ::Ifc4x3_tc1::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(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }; populate_derived(); } // Function implementations for IfcResourceApprovalRelationship -aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr Ifc4x3_tc1::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcResourceObjectSelect >(); } +aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr Ifc4x3_tc1::IfcResourceApprovalRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcResourceObjectSelect >(); } void Ifc4x3_tc1::IfcResourceApprovalRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_tc1::IfcApproval* Ifc4x3_tc1::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcApproval>(true); } +::Ifc4x3_tc1::IfcApproval* Ifc4x3_tc1::IfcResourceApprovalRelationship::RelatingApproval() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcApproval>(true); } void Ifc4x3_tc1::IfcResourceApprovalRelationship::setRelatingApproval(::Ifc4x3_tc1::IfcApproval* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcResourceApprovalRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[953]); } const IfcParse::entity& Ifc4x3_tc1::IfcResourceApprovalRelationship::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[953]); } Ifc4x3_tc1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_tc1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_tc1::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatedResourceObjects)->generalize());set_attribute_value(3, v4_RelatingApproval ? v4_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcResourceApprovalRelationship::IfcResourceApprovalRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v3_RelatedResourceObjects, ::Ifc4x3_tc1::IfcApproval* v4_RelatingApproval) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_RelatedResourceObjects)->generalize());set_attribute_value(3, v4_RelatingApproval ? v4_RelatingApproval->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcResourceConstraintRelationship -::Ifc4x3_tc1::IfcConstraint* Ifc4x3_tc1::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcConstraint>(true); } +::Ifc4x3_tc1::IfcConstraint* Ifc4x3_tc1::IfcResourceConstraintRelationship::RelatingConstraint() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcConstraint>(true); } void Ifc4x3_tc1::IfcResourceConstraintRelationship::setRelatingConstraint(::Ifc4x3_tc1::IfcConstraint* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr Ifc4x3_tc1::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = data_.get_attribute_value(3); return es->as< ::Ifc4x3_tc1::IfcResourceObjectSelect >(); } +aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr Ifc4x3_tc1::IfcResourceConstraintRelationship::RelatedResourceObjects() const { aggregate_of_instance::ptr es = get_attribute_value(3); return es->as< ::Ifc4x3_tc1::IfcResourceObjectSelect >(); } void Ifc4x3_tc1::IfcResourceConstraintRelationship::setRelatedResourceObjects(aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v) { set_attribute_value(3, (v)->generalize());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcResourceConstraintRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[954]); } const IfcParse::entity& Ifc4x3_tc1::IfcResourceConstraintRelationship::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[954]); } Ifc4x3_tc1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(IfcEntityInstanceData&& e) : IfcResourceLevelRelationship(std::move(e)) { } -Ifc4x3_tc1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingConstraint ? v3_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcResourceConstraintRelationship::IfcResourceConstraintRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, ::Ifc4x3_tc1::IfcConstraint* v3_RelatingConstraint, aggregate_of< ::Ifc4x3_tc1::IfcResourceObjectSelect >::ptr v4_RelatedResourceObjects) : IfcResourceLevelRelationship(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, v3_RelatingConstraint ? v3_RelatingConstraint->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_RelatedResourceObjects)->generalize());; populate_derived(); } // Function implementations for IfcResourceLevelRelationship -boost::optional< std::string > Ifc4x3_tc1::IfcResourceLevelRelationship::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcResourceLevelRelationship::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcResourceLevelRelationship::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_tc1::IfcResourceLevelRelationship::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcResourceLevelRelationship::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcResourceLevelRelationship::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_tc1::IfcResourceLevelRelationship::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[955]); } const IfcParse::entity& Ifc4x3_tc1::IfcResourceLevelRelationship::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[955]); } Ifc4x3_tc1::IfcResourceLevelRelationship::IfcResourceLevelRelationship(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcResourceLevelRelationship::IfcResourceLevelRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } +Ifc4x3_tc1::IfcResourceLevelRelationship::IfcResourceLevelRelationship(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); }; populate_derived(); } // Function implementations for IfcResourceTime -boost::optional< std::string > Ifc4x3_tc1::IfcResourceTime::ScheduleWork() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcResourceTime::ScheduleWork() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcResourceTime::setScheduleWork(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_tc1::IfcResourceTime::ScheduleUsage() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_tc1::IfcResourceTime::ScheduleUsage() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcResourceTime::setScheduleUsage(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_tc1::IfcResourceTime::ScheduleStart() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcResourceTime::ScheduleStart() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcResourceTime::setScheduleStart(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_tc1::IfcResourceTime::ScheduleFinish() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcResourceTime::ScheduleFinish() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcResourceTime::setScheduleFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_tc1::IfcResourceTime::ScheduleContour() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcResourceTime::ScheduleContour() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcResourceTime::setScheduleContour(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_tc1::IfcResourceTime::LevelingDelay() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcResourceTime::LevelingDelay() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcResourceTime::setLevelingDelay(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< bool > Ifc4x3_tc1::IfcResourceTime::IsOverAllocated() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } bool v = data_.get_attribute_value(9); return v; } +boost::optional< bool > Ifc4x3_tc1::IfcResourceTime::IsOverAllocated() const { if(get_attribute_value(9).isNull()) { return boost::none; } bool v = get_attribute_value(9); return v; } void Ifc4x3_tc1::IfcResourceTime::setIsOverAllocated(boost::optional< bool > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x3_tc1::IfcResourceTime::StatusTime() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcResourceTime::StatusTime() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_tc1::IfcResourceTime::setStatusTime(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< std::string > Ifc4x3_tc1::IfcResourceTime::ActualWork() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcResourceTime::ActualWork() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x3_tc1::IfcResourceTime::setActualWork(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_tc1::IfcResourceTime::ActualUsage() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_tc1::IfcResourceTime::ActualUsage() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_tc1::IfcResourceTime::setActualUsage(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< std::string > Ifc4x3_tc1::IfcResourceTime::ActualStart() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(13); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcResourceTime::ActualStart() const { if(get_attribute_value(13).isNull()) { return boost::none; } std::string v = get_attribute_value(13); return v; } void Ifc4x3_tc1::IfcResourceTime::setActualStart(boost::optional< std::string > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x3_tc1::IfcResourceTime::ActualFinish() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcResourceTime::ActualFinish() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x3_tc1::IfcResourceTime::setActualFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< std::string > Ifc4x3_tc1::IfcResourceTime::RemainingWork() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(15); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcResourceTime::RemainingWork() const { if(get_attribute_value(15).isNull()) { return boost::none; } std::string v = get_attribute_value(15); return v; } void Ifc4x3_tc1::IfcResourceTime::setRemainingWork(boost::optional< std::string > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3_tc1::IfcResourceTime::RemainingUsage() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3_tc1::IfcResourceTime::RemainingUsage() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3_tc1::IfcResourceTime::setRemainingUsage(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< double > Ifc4x3_tc1::IfcResourceTime::Completion() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } double v = data_.get_attribute_value(17); return v; } +boost::optional< double > Ifc4x3_tc1::IfcResourceTime::Completion() const { if(get_attribute_value(17).isNull()) { return boost::none; } double v = get_attribute_value(17); return v; } void Ifc4x3_tc1::IfcResourceTime::setCompletion(boost::optional< double > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } const IfcParse::entity& Ifc4x3_tc1::IfcResourceTime::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[958]); } const IfcParse::entity& Ifc4x3_tc1::IfcResourceTime::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[958]); } Ifc4x3_tc1::IfcResourceTime::IfcResourceTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x3_tc1::IfcResourceTime::IfcResourceTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_tc1::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(storage_t(18))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); }; populate_derived(); } +Ifc4x3_tc1::IfcResourceTime::IfcResourceTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_tc1::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(in_memory_attribute_storage(18))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_ScheduleWork) {set_attribute_value(3, (*v4_ScheduleWork)); } if (v5_ScheduleUsage) {set_attribute_value(4, (*v5_ScheduleUsage)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_ScheduleContour) {set_attribute_value(7, (*v8_ScheduleContour)); } if (v9_LevelingDelay) {set_attribute_value(8, (*v9_LevelingDelay)); } if (v10_IsOverAllocated) {set_attribute_value(9, (*v10_IsOverAllocated)); } if (v11_StatusTime) {set_attribute_value(10, (*v11_StatusTime)); } if (v12_ActualWork) {set_attribute_value(11, (*v12_ActualWork)); } if (v13_ActualUsage) {set_attribute_value(12, (*v13_ActualUsage)); } if (v14_ActualStart) {set_attribute_value(13, (*v14_ActualStart)); } if (v15_ActualFinish) {set_attribute_value(14, (*v15_ActualFinish)); } if (v16_RemainingWork) {set_attribute_value(15, (*v16_RemainingWork)); } if (v17_RemainingUsage) {set_attribute_value(16, (*v17_RemainingUsage)); } if (v18_Completion) {set_attribute_value(17, (*v18_Completion)); }; populate_derived(); } // Function implementations for IfcRevolvedAreaSolid -::Ifc4x3_tc1::IfcAxis1Placement* Ifc4x3_tc1::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcAxis1Placement>(true); } +::Ifc4x3_tc1::IfcAxis1Placement* Ifc4x3_tc1::IfcRevolvedAreaSolid::Axis() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcAxis1Placement>(true); } void Ifc4x3_tc1::IfcRevolvedAreaSolid::setAxis(::Ifc4x3_tc1::IfcAxis1Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_tc1::IfcRevolvedAreaSolid::Angle() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_tc1::IfcRevolvedAreaSolid::Angle() const { double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcRevolvedAreaSolid::setAngle(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcRevolvedAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[959]); } const IfcParse::entity& Ifc4x3_tc1::IfcRevolvedAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[959]); } Ifc4x3_tc1::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(IfcEntityInstanceData&& e) : IfcSweptAreaSolid(std::move(e)) { } -Ifc4x3_tc1::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(::Ifc4x3_tc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_tc1::IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));; populate_derived(); } +Ifc4x3_tc1::IfcRevolvedAreaSolid::IfcRevolvedAreaSolid(::Ifc4x3_tc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_tc1::IfcAxis1Placement* v3_Axis, double v4_Angle) : IfcSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));; populate_derived(); } // Function implementations for IfcRevolvedAreaSolidTapered -::Ifc4x3_tc1::IfcProfileDef* Ifc4x3_tc1::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcProfileDef>(true); } +::Ifc4x3_tc1::IfcProfileDef* Ifc4x3_tc1::IfcRevolvedAreaSolidTapered::EndSweptArea() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcProfileDef>(true); } void Ifc4x3_tc1::IfcRevolvedAreaSolidTapered::setEndSweptArea(::Ifc4x3_tc1::IfcProfileDef* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_tc1::IfcRevolvedAreaSolidTapered::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[960]); } const IfcParse::entity& Ifc4x3_tc1::IfcRevolvedAreaSolidTapered::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[960]); } Ifc4x3_tc1::IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(IfcEntityInstanceData&& e) : IfcRevolvedAreaSolid(std::move(e)) { } -Ifc4x3_tc1::IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(::Ifc4x3_tc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_tc1::IfcAxis1Placement* v3_Axis, double v4_Angle, ::Ifc4x3_tc1::IfcProfileDef* v5_EndSweptArea) : IfcRevolvedAreaSolid(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcRevolvedAreaSolidTapered::IfcRevolvedAreaSolidTapered(::Ifc4x3_tc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_tc1::IfcAxis1Placement* v3_Axis, double v4_Angle, ::Ifc4x3_tc1::IfcProfileDef* v5_EndSweptArea) : IfcRevolvedAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Axis ? v3_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Angle));set_attribute_value(4, v5_EndSweptArea ? v5_EndSweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcRightCircularCone -double Ifc4x3_tc1::IfcRightCircularCone::Height() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_tc1::IfcRightCircularCone::Height() const { double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcRightCircularCone::setHeight(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_tc1::IfcRightCircularCone::BottomRadius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_tc1::IfcRightCircularCone::BottomRadius() const { double v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcRightCircularCone::setBottomRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcRightCircularCone::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[961]); } const IfcParse::entity& Ifc4x3_tc1::IfcRightCircularCone::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[961]); } Ifc4x3_tc1::IfcRightCircularCone::IfcRightCircularCone(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3_tc1::IfcRightCircularCone::IfcRightCircularCone(::Ifc4x3_tc1::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_BottomRadius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; populate_derived(); } +Ifc4x3_tc1::IfcRightCircularCone::IfcRightCircularCone(::Ifc4x3_tc1::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_BottomRadius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_BottomRadius));; populate_derived(); } // Function implementations for IfcRightCircularCylinder -double Ifc4x3_tc1::IfcRightCircularCylinder::Height() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_tc1::IfcRightCircularCylinder::Height() const { double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcRightCircularCylinder::setHeight(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_tc1::IfcRightCircularCylinder::Radius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_tc1::IfcRightCircularCylinder::Radius() const { double v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcRightCircularCylinder::setRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcRightCircularCylinder::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[962]); } const IfcParse::entity& Ifc4x3_tc1::IfcRightCircularCylinder::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[962]); } Ifc4x3_tc1::IfcRightCircularCylinder::IfcRightCircularCylinder(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3_tc1::IfcRightCircularCylinder::IfcRightCircularCylinder(::Ifc4x3_tc1::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; populate_derived(); } +Ifc4x3_tc1::IfcRightCircularCylinder::IfcRightCircularCylinder(::Ifc4x3_tc1::IfcAxis2Placement3D* v1_Position, double v2_Height, double v3_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Height));set_attribute_value(2, (v3_Radius));; populate_derived(); } // Function implementations for IfcRoad -boost::optional< ::Ifc4x3_tc1::IfcRoadTypeEnum::Value > Ifc4x3_tc1::IfcRoad::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcRoadTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_tc1::IfcRoadTypeEnum::Value > Ifc4x3_tc1::IfcRoad::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcRoadTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcRoad::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcRoadTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcRoadTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_tc1::IfcRoad::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[963]); } const IfcParse::entity& Ifc4x3_tc1::IfcRoad::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[963]); } Ifc4x3_tc1::IfcRoad::IfcRoad(IfcEntityInstanceData&& e) : IfcFacility(std::move(e)) { } -Ifc4x3_tc1::IfcRoad::IfcRoad(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_tc1::IfcRoadTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcRoadTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcRoad::IfcRoad(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_tc1::IfcRoadTypeEnum::Value > v10_PredefinedType) : IfcFacility(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcRoadTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRoadPart -boost::optional< ::Ifc4x3_tc1::IfcRoadPartTypeEnum::Value > Ifc4x3_tc1::IfcRoadPart::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcRoadPartTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_tc1::IfcRoadPartTypeEnum::Value > Ifc4x3_tc1::IfcRoadPart::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcRoadPartTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_tc1::IfcRoadPart::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcRoadPartTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_tc1::IfcRoadPartTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_tc1::IfcRoadPart::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[964]); } const IfcParse::entity& Ifc4x3_tc1::IfcRoadPart::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[964]); } Ifc4x3_tc1::IfcRoadPart::IfcRoadPart(IfcEntityInstanceData&& e) : IfcFacilityPart(std::move(e)) { } -Ifc4x3_tc1::IfcRoadPart::IfcRoadPart(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3_tc1::IfcRoadPartTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcRoadPartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcRoadPart::IfcRoadPart(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, ::Ifc4x3_tc1::IfcFacilityUsageEnum::Value v10_UsageType, boost::optional< ::Ifc4x3_tc1::IfcRoadPartTypeEnum::Value > v11_PredefinedType) : IfcFacilityPart(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcFacilityUsageEnum::Class(),(size_t)v10_UsageType))); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcRoadPartTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRoof -boost::optional< ::Ifc4x3_tc1::IfcRoofTypeEnum::Value > Ifc4x3_tc1::IfcRoof::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcRoofTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcRoofTypeEnum::Value > Ifc4x3_tc1::IfcRoof::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcRoofTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcRoof::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcRoofTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcRoofTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcRoof::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[968]); } const IfcParse::entity& Ifc4x3_tc1::IfcRoof::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[968]); } Ifc4x3_tc1::IfcRoof::IfcRoof(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_tc1::IfcRoof::IfcRoof(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcRoofTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcRoof::IfcRoof(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcRoofTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcRoofTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcRoofType -::Ifc4x3_tc1::IfcRoofTypeEnum::Value Ifc4x3_tc1::IfcRoofType::PredefinedType() const { return ::Ifc4x3_tc1::IfcRoofTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcRoofTypeEnum::Value Ifc4x3_tc1::IfcRoofType::PredefinedType() const { return ::Ifc4x3_tc1::IfcRoofTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcRoofType::setPredefinedType(::Ifc4x3_tc1::IfcRoofTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcRoofTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcRoofType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[969]); } const IfcParse::entity& Ifc4x3_tc1::IfcRoofType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[969]); } Ifc4x3_tc1::IfcRoofType::IfcRoofType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_tc1::IfcRoofType::IfcRoofType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcRoofTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcRoofType::IfcRoofType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcRoofTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcRoofTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcRoot -std::string Ifc4x3_tc1::IfcRoot::GlobalId() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_tc1::IfcRoot::GlobalId() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcRoot::setGlobalId(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_tc1::IfcOwnerHistory* Ifc4x3_tc1::IfcRoot::OwnerHistory() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcOwnerHistory>(true); } +::Ifc4x3_tc1::IfcOwnerHistory* Ifc4x3_tc1::IfcRoot::OwnerHistory() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcOwnerHistory>(true); } void Ifc4x3_tc1::IfcRoot::setOwnerHistory(::Ifc4x3_tc1::IfcOwnerHistory* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_tc1::IfcRoot::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcRoot::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcRoot::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_tc1::IfcRoot::Description() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcRoot::Description() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcRoot::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_tc1::IfcRoot::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[971]); } const IfcParse::entity& Ifc4x3_tc1::IfcRoot::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[971]); } Ifc4x3_tc1::IfcRoot::IfcRoot(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcRoot::IfcRoot(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } +Ifc4x3_tc1::IfcRoot::IfcRoot(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }; populate_derived(); } // Function implementations for IfcRoundedRectangleProfileDef -double Ifc4x3_tc1::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_tc1::IfcRoundedRectangleProfileDef::RoundingRadius() const { double v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcRoundedRectangleProfileDef::setRoundingRadius(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcRoundedRectangleProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[976]); } const IfcParse::entity& Ifc4x3_tc1::IfcRoundedRectangleProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[976]); } Ifc4x3_tc1::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(IfcEntityInstanceData&& e) : IfcRectangleProfileDef(std::move(e)) { } -Ifc4x3_tc1::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; populate_derived(); } +Ifc4x3_tc1::IfcRoundedRectangleProfileDef::IfcRoundedRectangleProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D* v3_Position, double v4_XDim, double v5_YDim, double v6_RoundingRadius) : IfcRectangleProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_XDim));set_attribute_value(4, (v5_YDim));set_attribute_value(5, (v6_RoundingRadius));; populate_derived(); } // Function implementations for IfcSIUnit -boost::optional< ::Ifc4x3_tc1::IfcSIPrefix::Value > Ifc4x3_tc1::IfcSIUnit::Prefix() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSIPrefix::FromString(data_.get_attribute_value(2)); } +boost::optional< ::Ifc4x3_tc1::IfcSIPrefix::Value > Ifc4x3_tc1::IfcSIUnit::Prefix() const { if(get_attribute_value(2).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSIPrefix::FromString(get_attribute_value(2)); } void Ifc4x3_tc1::IfcSIUnit::setPrefix(boost::optional< ::Ifc4x3_tc1::IfcSIPrefix::Value > v) { if (v) {set_attribute_value(2, EnumerationReference(&::Ifc4x3_tc1::IfcSIPrefix::Class(), (size_t) *v));} else {unset_attribute_value(2);} } -::Ifc4x3_tc1::IfcSIUnitName::Value Ifc4x3_tc1::IfcSIUnit::Name() const { return ::Ifc4x3_tc1::IfcSIUnitName::FromString(data_.get_attribute_value(3)); } +::Ifc4x3_tc1::IfcSIUnitName::Value Ifc4x3_tc1::IfcSIUnit::Name() const { return ::Ifc4x3_tc1::IfcSIUnitName::FromString(get_attribute_value(3)); } void Ifc4x3_tc1::IfcSIUnit::setName(::Ifc4x3_tc1::IfcSIUnitName::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc4x3_tc1::IfcSIUnitName::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcSIUnit::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1022]); } const IfcParse::entity& Ifc4x3_tc1::IfcSIUnit::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1022]); } Ifc4x3_tc1::IfcSIUnit::IfcSIUnit(IfcEntityInstanceData&& e) : IfcNamedUnit(std::move(e)) { } -Ifc4x3_tc1::IfcSIUnit::IfcSIUnit(::Ifc4x3_tc1::IfcUnitEnum::Value v2_UnitType, boost::optional< ::Ifc4x3_tc1::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_tc1::IfcSIUnitName::Value v4_Name) : IfcNamedUnit(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(1, (EnumerationReference(&::Ifc4x3_tc1::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_tc1::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (EnumerationReference(&::Ifc4x3_tc1::IfcSIUnitName::Class(),(size_t)v4_Name)));; populate_derived(); } +Ifc4x3_tc1::IfcSIUnit::IfcSIUnit(::Ifc4x3_tc1::IfcUnitEnum::Value v2_UnitType, boost::optional< ::Ifc4x3_tc1::IfcSIPrefix::Value > v3_Prefix, ::Ifc4x3_tc1::IfcSIUnitName::Value v4_Name) : IfcNamedUnit(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(1, (EnumerationReference(&::Ifc4x3_tc1::IfcUnitEnum::Class(),(size_t)v2_UnitType))); if (v3_Prefix) {set_attribute_value(2, (EnumerationReference(&::Ifc4x3_tc1::IfcSIPrefix::Class(),(size_t)*v3_Prefix))); }set_attribute_value(3, (EnumerationReference(&::Ifc4x3_tc1::IfcSIUnitName::Class(),(size_t)v4_Name)));; populate_derived(); } // Function implementations for IfcSanitaryTerminal -boost::optional< ::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Value > Ifc4x3_tc1::IfcSanitaryTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Value > Ifc4x3_tc1::IfcSanitaryTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcSanitaryTerminal::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcSanitaryTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[977]); } const IfcParse::entity& Ifc4x3_tc1::IfcSanitaryTerminal::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[977]); } Ifc4x3_tc1::IfcSanitaryTerminal::IfcSanitaryTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_tc1::IfcSanitaryTerminal::IfcSanitaryTerminal(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcSanitaryTerminal::IfcSanitaryTerminal(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSanitaryTerminalType -::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Value Ifc4x3_tc1::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Value Ifc4x3_tc1::IfcSanitaryTerminalType::PredefinedType() const { return ::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcSanitaryTerminalType::setPredefinedType(::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcSanitaryTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[978]); } const IfcParse::entity& Ifc4x3_tc1::IfcSanitaryTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[978]); } Ifc4x3_tc1::IfcSanitaryTerminalType::IfcSanitaryTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_tc1::IfcSanitaryTerminalType::IfcSanitaryTerminalType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcSanitaryTerminalType::IfcSanitaryTerminalType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcSanitaryTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSchedulingTime -boost::optional< std::string > Ifc4x3_tc1::IfcSchedulingTime::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcSchedulingTime::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcSchedulingTime::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > Ifc4x3_tc1::IfcSchedulingTime::DataOrigin() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcDataOriginEnum::FromString(data_.get_attribute_value(1)); } +boost::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > Ifc4x3_tc1::IfcSchedulingTime::DataOrigin() const { if(get_attribute_value(1).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcDataOriginEnum::FromString(get_attribute_value(1)); } void Ifc4x3_tc1::IfcSchedulingTime::setDataOrigin(boost::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v) { if (v) {set_attribute_value(1, EnumerationReference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(), (size_t) *v));} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_tc1::IfcSchedulingTime::UserDefinedDataOrigin() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcSchedulingTime::UserDefinedDataOrigin() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcSchedulingTime::setUserDefinedDataOrigin(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_tc1::IfcSchedulingTime::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[980]); } const IfcParse::entity& Ifc4x3_tc1::IfcSchedulingTime::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[980]); } Ifc4x3_tc1::IfcSchedulingTime::IfcSchedulingTime(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }; populate_derived(); } +Ifc4x3_tc1::IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }; populate_derived(); } // Function implementations for IfcSeamCurve @@ -15451,108 +15451,108 @@ Ifc4x3_tc1::IfcSchedulingTime::IfcSchedulingTime(boost::optional< std::string > const IfcParse::entity& Ifc4x3_tc1::IfcSeamCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[981]); } const IfcParse::entity& Ifc4x3_tc1::IfcSeamCurve::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[981]); } Ifc4x3_tc1::IfcSeamCurve::IfcSeamCurve(IfcEntityInstanceData&& e) : IfcSurfaceCurve(std::move(e)) { } -Ifc4x3_tc1::IfcSeamCurve::IfcSeamCurve(::Ifc4x3_tc1::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_tc1::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } +Ifc4x3_tc1::IfcSeamCurve::IfcSeamCurve(::Ifc4x3_tc1::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_tc1::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcSurfaceCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcSecondOrderPolynomialSpiral -double Ifc4x3_tc1::IfcSecondOrderPolynomialSpiral::QuadraticTerm() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_tc1::IfcSecondOrderPolynomialSpiral::QuadraticTerm() const { double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcSecondOrderPolynomialSpiral::setQuadraticTerm(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_tc1::IfcSecondOrderPolynomialSpiral::LinearTerm() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_tc1::IfcSecondOrderPolynomialSpiral::LinearTerm() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcSecondOrderPolynomialSpiral::setLinearTerm(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_tc1::IfcSecondOrderPolynomialSpiral::ConstantTerm() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_tc1::IfcSecondOrderPolynomialSpiral::ConstantTerm() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcSecondOrderPolynomialSpiral::setConstantTerm(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_tc1::IfcSecondOrderPolynomialSpiral::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[982]); } const IfcParse::entity& Ifc4x3_tc1::IfcSecondOrderPolynomialSpiral::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[982]); } Ifc4x3_tc1::IfcSecondOrderPolynomialSpiral::IfcSecondOrderPolynomialSpiral(IfcEntityInstanceData&& e) : IfcSpiral(std::move(e)) { } -Ifc4x3_tc1::IfcSecondOrderPolynomialSpiral::IfcSecondOrderPolynomialSpiral(::Ifc4x3_tc1::IfcAxis2Placement* v1_Position, double v2_QuadraticTerm, boost::optional< double > v3_LinearTerm, boost::optional< double > v4_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_QuadraticTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); }; populate_derived(); } +Ifc4x3_tc1::IfcSecondOrderPolynomialSpiral::IfcSecondOrderPolynomialSpiral(::Ifc4x3_tc1::IfcAxis2Placement* v1_Position, double v2_QuadraticTerm, boost::optional< double > v3_LinearTerm, boost::optional< double > v4_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_QuadraticTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); }; populate_derived(); } // Function implementations for IfcSectionProperties -::Ifc4x3_tc1::IfcSectionTypeEnum::Value Ifc4x3_tc1::IfcSectionProperties::SectionType() const { return ::Ifc4x3_tc1::IfcSectionTypeEnum::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_tc1::IfcSectionTypeEnum::Value Ifc4x3_tc1::IfcSectionProperties::SectionType() const { return ::Ifc4x3_tc1::IfcSectionTypeEnum::FromString(get_attribute_value(0)); } void Ifc4x3_tc1::IfcSectionProperties::setSectionType(::Ifc4x3_tc1::IfcSectionTypeEnum::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_tc1::IfcSectionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_tc1::IfcProfileDef* Ifc4x3_tc1::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcProfileDef>(true); } +::Ifc4x3_tc1::IfcProfileDef* Ifc4x3_tc1::IfcSectionProperties::StartProfile() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcProfileDef>(true); } void Ifc4x3_tc1::IfcSectionProperties::setStartProfile(::Ifc4x3_tc1::IfcProfileDef* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_tc1::IfcProfileDef* Ifc4x3_tc1::IfcSectionProperties::EndProfile() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcProfileDef>(true); } +::Ifc4x3_tc1::IfcProfileDef* Ifc4x3_tc1::IfcSectionProperties::EndProfile() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcProfileDef>(true); } void Ifc4x3_tc1::IfcSectionProperties::setEndProfile(::Ifc4x3_tc1::IfcProfileDef* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcSectionProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[989]); } const IfcParse::entity& Ifc4x3_tc1::IfcSectionProperties::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[989]); } Ifc4x3_tc1::IfcSectionProperties::IfcSectionProperties(IfcEntityInstanceData&& e) : IfcPreDefinedProperties(std::move(e)) { } -Ifc4x3_tc1::IfcSectionProperties::IfcSectionProperties(::Ifc4x3_tc1::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_tc1::IfcProfileDef* v2_StartProfile, ::Ifc4x3_tc1::IfcProfileDef* v3_EndProfile) : IfcPreDefinedProperties(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, v2_StartProfile ? v2_StartProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EndProfile ? v3_EndProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcSectionProperties::IfcSectionProperties(::Ifc4x3_tc1::IfcSectionTypeEnum::Value v1_SectionType, ::Ifc4x3_tc1::IfcProfileDef* v2_StartProfile, ::Ifc4x3_tc1::IfcProfileDef* v3_EndProfile) : IfcPreDefinedProperties(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcSectionTypeEnum::Class(),(size_t)v1_SectionType)));set_attribute_value(1, v2_StartProfile ? v2_StartProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_EndProfile ? v3_EndProfile->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSectionReinforcementProperties -double Ifc4x3_tc1::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = data_.get_attribute_value(0); return v; } +double Ifc4x3_tc1::IfcSectionReinforcementProperties::LongitudinalStartPosition() const { double v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcSectionReinforcementProperties::setLongitudinalStartPosition(double v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_tc1::IfcSectionReinforcementProperties::LongitudinalEndPosition() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_tc1::IfcSectionReinforcementProperties::LongitudinalEndPosition() const { double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcSectionReinforcementProperties::setLongitudinalEndPosition(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_tc1::IfcSectionReinforcementProperties::TransversePosition() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_tc1::IfcSectionReinforcementProperties::TransversePosition() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcSectionReinforcementProperties::setTransversePosition(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_tc1::IfcReinforcingBarRoleEnum::Value Ifc4x3_tc1::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x3_tc1::IfcReinforcingBarRoleEnum::FromString(data_.get_attribute_value(3)); } +::Ifc4x3_tc1::IfcReinforcingBarRoleEnum::Value Ifc4x3_tc1::IfcSectionReinforcementProperties::ReinforcementRole() const { return ::Ifc4x3_tc1::IfcReinforcingBarRoleEnum::FromString(get_attribute_value(3)); } void Ifc4x3_tc1::IfcSectionReinforcementProperties::setReinforcementRole(::Ifc4x3_tc1::IfcReinforcingBarRoleEnum::Value v) { set_attribute_value(3, EnumerationReference(&::Ifc4x3_tc1::IfcReinforcingBarRoleEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_tc1::IfcSectionProperties* Ifc4x3_tc1::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcSectionProperties>(true); } +::Ifc4x3_tc1::IfcSectionProperties* Ifc4x3_tc1::IfcSectionReinforcementProperties::SectionDefinition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcSectionProperties>(true); } void Ifc4x3_tc1::IfcSectionReinforcementProperties::setSectionDefinition(::Ifc4x3_tc1::IfcSectionProperties* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -aggregate_of< ::Ifc4x3_tc1::IfcReinforcementBarProperties >::ptr Ifc4x3_tc1::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_tc1::IfcReinforcementBarProperties >(); } +aggregate_of< ::Ifc4x3_tc1::IfcReinforcementBarProperties >::ptr Ifc4x3_tc1::IfcSectionReinforcementProperties::CrossSectionReinforcementDefinitions() const { aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_tc1::IfcReinforcementBarProperties >(); } void Ifc4x3_tc1::IfcSectionReinforcementProperties::setCrossSectionReinforcementDefinitions(aggregate_of< ::Ifc4x3_tc1::IfcReinforcementBarProperties >::ptr v) { set_attribute_value(5, (v)->generalize());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcSectionReinforcementProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[990]); } const IfcParse::entity& Ifc4x3_tc1::IfcSectionReinforcementProperties::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[990]); } Ifc4x3_tc1::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(IfcEntityInstanceData&& e) : IfcPreDefinedProperties(std::move(e)) { } -Ifc4x3_tc1::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, boost::optional< double > v3_TransversePosition, ::Ifc4x3_tc1::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_tc1::IfcSectionProperties* v5_SectionDefinition, aggregate_of< ::Ifc4x3_tc1::IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcPreDefinedProperties(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (EnumerationReference(&::Ifc4x3_tc1::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, v5_SectionDefinition ? v5_SectionDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_CrossSectionReinforcementDefinitions)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcSectionReinforcementProperties::IfcSectionReinforcementProperties(double v1_LongitudinalStartPosition, double v2_LongitudinalEndPosition, boost::optional< double > v3_TransversePosition, ::Ifc4x3_tc1::IfcReinforcingBarRoleEnum::Value v4_ReinforcementRole, ::Ifc4x3_tc1::IfcSectionProperties* v5_SectionDefinition, aggregate_of< ::Ifc4x3_tc1::IfcReinforcementBarProperties >::ptr v6_CrossSectionReinforcementDefinitions) : IfcPreDefinedProperties(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_LongitudinalStartPosition));set_attribute_value(1, (v2_LongitudinalEndPosition)); if (v3_TransversePosition) {set_attribute_value(2, (*v3_TransversePosition)); }set_attribute_value(3, (EnumerationReference(&::Ifc4x3_tc1::IfcReinforcingBarRoleEnum::Class(),(size_t)v4_ReinforcementRole)));set_attribute_value(4, v5_SectionDefinition ? v5_SectionDefinition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, (v6_CrossSectionReinforcementDefinitions)->generalize());; populate_derived(); } // Function implementations for IfcSectionedSolid -::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcSectionedSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCurve>(true); } +::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcSectionedSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCurve>(true); } void Ifc4x3_tc1::IfcSectionedSolid::setDirectrix(::Ifc4x3_tc1::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_tc1::IfcProfileDef >::ptr Ifc4x3_tc1::IfcSectionedSolid::CrossSections() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcProfileDef >(); } +aggregate_of< ::Ifc4x3_tc1::IfcProfileDef >::ptr Ifc4x3_tc1::IfcSectionedSolid::CrossSections() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcProfileDef >(); } void Ifc4x3_tc1::IfcSectionedSolid::setCrossSections(aggregate_of< ::Ifc4x3_tc1::IfcProfileDef >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcSectionedSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[984]); } const IfcParse::entity& Ifc4x3_tc1::IfcSectionedSolid::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[984]); } Ifc4x3_tc1::IfcSectionedSolid::IfcSectionedSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3_tc1::IfcSectionedSolid::IfcSectionedSolid(::Ifc4x3_tc1::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_tc1::IfcProfileDef >::ptr v2_CrossSections) : IfcSolidModel(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcSectionedSolid::IfcSectionedSolid(::Ifc4x3_tc1::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_tc1::IfcProfileDef >::ptr v2_CrossSections) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());; populate_derived(); } // Function implementations for IfcSectionedSolidHorizontal -aggregate_of< ::Ifc4x3_tc1::IfcAxis2PlacementLinear >::ptr Ifc4x3_tc1::IfcSectionedSolidHorizontal::CrossSectionPositions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcAxis2PlacementLinear >(); } +aggregate_of< ::Ifc4x3_tc1::IfcAxis2PlacementLinear >::ptr Ifc4x3_tc1::IfcSectionedSolidHorizontal::CrossSectionPositions() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcAxis2PlacementLinear >(); } void Ifc4x3_tc1::IfcSectionedSolidHorizontal::setCrossSectionPositions(aggregate_of< ::Ifc4x3_tc1::IfcAxis2PlacementLinear >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcSectionedSolidHorizontal::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[985]); } const IfcParse::entity& Ifc4x3_tc1::IfcSectionedSolidHorizontal::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[985]); } Ifc4x3_tc1::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(IfcEntityInstanceData&& e) : IfcSectionedSolid(std::move(e)) { } -Ifc4x3_tc1::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(::Ifc4x3_tc1::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_tc1::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3_tc1::IfcAxis2PlacementLinear >::ptr v3_CrossSectionPositions) : IfcSectionedSolid(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcSectionedSolidHorizontal::IfcSectionedSolidHorizontal(::Ifc4x3_tc1::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_tc1::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3_tc1::IfcAxis2PlacementLinear >::ptr v3_CrossSectionPositions) : IfcSectionedSolid(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());; populate_derived(); } // Function implementations for IfcSectionedSpine -::Ifc4x3_tc1::IfcCompositeCurve* Ifc4x3_tc1::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCompositeCurve>(true); } +::Ifc4x3_tc1::IfcCompositeCurve* Ifc4x3_tc1::IfcSectionedSpine::SpineCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCompositeCurve>(true); } void Ifc4x3_tc1::IfcSectionedSpine::setSpineCurve(::Ifc4x3_tc1::IfcCompositeCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_tc1::IfcProfileDef >::ptr Ifc4x3_tc1::IfcSectionedSpine::CrossSections() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcProfileDef >(); } +aggregate_of< ::Ifc4x3_tc1::IfcProfileDef >::ptr Ifc4x3_tc1::IfcSectionedSpine::CrossSections() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcProfileDef >(); } void Ifc4x3_tc1::IfcSectionedSpine::setCrossSections(aggregate_of< ::Ifc4x3_tc1::IfcProfileDef >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3_tc1::IfcAxis2Placement3D >::ptr Ifc4x3_tc1::IfcSectionedSpine::CrossSectionPositions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcAxis2Placement3D >(); } +aggregate_of< ::Ifc4x3_tc1::IfcAxis2Placement3D >::ptr Ifc4x3_tc1::IfcSectionedSpine::CrossSectionPositions() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcAxis2Placement3D >(); } void Ifc4x3_tc1::IfcSectionedSpine::setCrossSectionPositions(aggregate_of< ::Ifc4x3_tc1::IfcAxis2Placement3D >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcSectionedSpine::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[986]); } const IfcParse::entity& Ifc4x3_tc1::IfcSectionedSpine::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[986]); } Ifc4x3_tc1::IfcSectionedSpine::IfcSectionedSpine(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcSectionedSpine::IfcSectionedSpine(::Ifc4x3_tc1::IfcCompositeCurve* v1_SpineCurve, aggregate_of< ::Ifc4x3_tc1::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3_tc1::IfcAxis2Placement3D >::ptr v3_CrossSectionPositions) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_SpineCurve ? v1_SpineCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcSectionedSpine::IfcSectionedSpine(::Ifc4x3_tc1::IfcCompositeCurve* v1_SpineCurve, aggregate_of< ::Ifc4x3_tc1::IfcProfileDef >::ptr v2_CrossSections, aggregate_of< ::Ifc4x3_tc1::IfcAxis2Placement3D >::ptr v3_CrossSectionPositions) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_SpineCurve ? v1_SpineCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSections)->generalize());set_attribute_value(2, (v3_CrossSectionPositions)->generalize());; populate_derived(); } // Function implementations for IfcSectionedSurface -::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcSectionedSurface::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCurve>(true); } +::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcSectionedSurface::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCurve>(true); } void Ifc4x3_tc1::IfcSectionedSurface::setDirectrix(::Ifc4x3_tc1::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_tc1::IfcAxis2PlacementLinear >::ptr Ifc4x3_tc1::IfcSectionedSurface::CrossSectionPositions() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcAxis2PlacementLinear >(); } +aggregate_of< ::Ifc4x3_tc1::IfcAxis2PlacementLinear >::ptr Ifc4x3_tc1::IfcSectionedSurface::CrossSectionPositions() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcAxis2PlacementLinear >(); } void Ifc4x3_tc1::IfcSectionedSurface::setCrossSectionPositions(aggregate_of< ::Ifc4x3_tc1::IfcAxis2PlacementLinear >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3_tc1::IfcProfileDef >::ptr Ifc4x3_tc1::IfcSectionedSurface::CrossSections() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcProfileDef >(); } +aggregate_of< ::Ifc4x3_tc1::IfcProfileDef >::ptr Ifc4x3_tc1::IfcSectionedSurface::CrossSections() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcProfileDef >(); } void Ifc4x3_tc1::IfcSectionedSurface::setCrossSections(aggregate_of< ::Ifc4x3_tc1::IfcProfileDef >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcSectionedSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[987]); } const IfcParse::entity& Ifc4x3_tc1::IfcSectionedSurface::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[987]); } Ifc4x3_tc1::IfcSectionedSurface::IfcSectionedSurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x3_tc1::IfcSectionedSurface::IfcSectionedSurface(::Ifc4x3_tc1::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_tc1::IfcAxis2PlacementLinear >::ptr v2_CrossSectionPositions, aggregate_of< ::Ifc4x3_tc1::IfcProfileDef >::ptr v3_CrossSections) : IfcSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSectionPositions)->generalize());set_attribute_value(2, (v3_CrossSections)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcSectionedSurface::IfcSectionedSurface(::Ifc4x3_tc1::IfcCurve* v1_Directrix, aggregate_of< ::Ifc4x3_tc1::IfcAxis2PlacementLinear >::ptr v2_CrossSectionPositions, aggregate_of< ::Ifc4x3_tc1::IfcProfileDef >::ptr v3_CrossSections) : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CrossSectionPositions)->generalize());set_attribute_value(2, (v3_CrossSections)->generalize());; populate_derived(); } // Function implementations for IfcSegment -::Ifc4x3_tc1::IfcTransitionCode::Value Ifc4x3_tc1::IfcSegment::Transition() const { return ::Ifc4x3_tc1::IfcTransitionCode::FromString(data_.get_attribute_value(0)); } +::Ifc4x3_tc1::IfcTransitionCode::Value Ifc4x3_tc1::IfcSegment::Transition() const { return ::Ifc4x3_tc1::IfcTransitionCode::FromString(get_attribute_value(0)); } void Ifc4x3_tc1::IfcSegment::setTransition(::Ifc4x3_tc1::IfcTransitionCode::Value v) { set_attribute_value(0, EnumerationReference(&::Ifc4x3_tc1::IfcTransitionCode::Class(), (size_t) v));if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_tc1::IfcCompositeCurve::list::ptr Ifc4x3_tc1::IfcSegment::UsingCurves() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[192], 0)->as(); } @@ -15560,94 +15560,94 @@ void Ifc4x3_tc1::IfcSegment::setTransition(::Ifc4x3_tc1::IfcTransitionCode::Valu const IfcParse::entity& Ifc4x3_tc1::IfcSegment::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[992]); } const IfcParse::entity& Ifc4x3_tc1::IfcSegment::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[992]); } Ifc4x3_tc1::IfcSegment::IfcSegment(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcSegment::IfcSegment(::Ifc4x3_tc1::IfcTransitionCode::Value v1_Transition) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcTransitionCode::Class(),(size_t)v1_Transition)));; populate_derived(); } +Ifc4x3_tc1::IfcSegment::IfcSegment(::Ifc4x3_tc1::IfcTransitionCode::Value v1_Transition) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcTransitionCode::Class(),(size_t)v1_Transition)));; populate_derived(); } // Function implementations for IfcSegmentedReferenceCurve -::Ifc4x3_tc1::IfcBoundedCurve* Ifc4x3_tc1::IfcSegmentedReferenceCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcBoundedCurve>(true); } +::Ifc4x3_tc1::IfcBoundedCurve* Ifc4x3_tc1::IfcSegmentedReferenceCurve::BaseCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcBoundedCurve>(true); } void Ifc4x3_tc1::IfcSegmentedReferenceCurve::setBaseCurve(::Ifc4x3_tc1::IfcBoundedCurve* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_tc1::IfcPlacement* Ifc4x3_tc1::IfcSegmentedReferenceCurve::EndPoint() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcPlacement>(true); } +::Ifc4x3_tc1::IfcPlacement* Ifc4x3_tc1::IfcSegmentedReferenceCurve::EndPoint() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcPlacement>(true); } void Ifc4x3_tc1::IfcSegmentedReferenceCurve::setEndPoint(::Ifc4x3_tc1::IfcPlacement* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcSegmentedReferenceCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[993]); } const IfcParse::entity& Ifc4x3_tc1::IfcSegmentedReferenceCurve::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[993]); } Ifc4x3_tc1::IfcSegmentedReferenceCurve::IfcSegmentedReferenceCurve(IfcEntityInstanceData&& e) : IfcCompositeCurve(std::move(e)) { } -Ifc4x3_tc1::IfcSegmentedReferenceCurve::IfcSegmentedReferenceCurve(aggregate_of< ::Ifc4x3_tc1::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_tc1::IfcBoundedCurve* v3_BaseCurve, ::Ifc4x3_tc1::IfcPlacement* v4_EndPoint) : IfcCompositeCurve(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, v3_BaseCurve ? v3_BaseCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_EndPoint ? v4_EndPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcSegmentedReferenceCurve::IfcSegmentedReferenceCurve(aggregate_of< ::Ifc4x3_tc1::IfcSegment >::ptr v1_Segments, boost::logic::tribool v2_SelfIntersect, ::Ifc4x3_tc1::IfcBoundedCurve* v3_BaseCurve, ::Ifc4x3_tc1::IfcPlacement* v4_EndPoint) : IfcCompositeCurve(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, (v1_Segments)->generalize());set_attribute_value(1, (v2_SelfIntersect));set_attribute_value(2, v3_BaseCurve ? v3_BaseCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_EndPoint ? v4_EndPoint->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSensor -boost::optional< ::Ifc4x3_tc1::IfcSensorTypeEnum::Value > Ifc4x3_tc1::IfcSensor::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSensorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcSensorTypeEnum::Value > Ifc4x3_tc1::IfcSensor::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSensorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcSensor::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcSensorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcSensorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcSensor::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[995]); } const IfcParse::entity& Ifc4x3_tc1::IfcSensor::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[995]); } Ifc4x3_tc1::IfcSensor::IfcSensor(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_tc1::IfcSensor::IfcSensor(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcSensorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcSensor::IfcSensor(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcSensorTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcSensorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSensorType -::Ifc4x3_tc1::IfcSensorTypeEnum::Value Ifc4x3_tc1::IfcSensorType::PredefinedType() const { return ::Ifc4x3_tc1::IfcSensorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcSensorTypeEnum::Value Ifc4x3_tc1::IfcSensorType::PredefinedType() const { return ::Ifc4x3_tc1::IfcSensorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcSensorType::setPredefinedType(::Ifc4x3_tc1::IfcSensorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcSensorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcSensorType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[996]); } const IfcParse::entity& Ifc4x3_tc1::IfcSensorType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[996]); } Ifc4x3_tc1::IfcSensorType::IfcSensorType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_tc1::IfcSensorType::IfcSensorType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSensorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcSensorType::IfcSensorType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSensorTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcSensorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSeventhOrderPolynomialSpiral -double Ifc4x3_tc1::IfcSeventhOrderPolynomialSpiral::SepticTerm() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_tc1::IfcSeventhOrderPolynomialSpiral::SepticTerm() const { double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcSeventhOrderPolynomialSpiral::setSepticTerm(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_tc1::IfcSeventhOrderPolynomialSpiral::SexticTerm() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_tc1::IfcSeventhOrderPolynomialSpiral::SexticTerm() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcSeventhOrderPolynomialSpiral::setSexticTerm(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_tc1::IfcSeventhOrderPolynomialSpiral::QuinticTerm() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_tc1::IfcSeventhOrderPolynomialSpiral::QuinticTerm() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcSeventhOrderPolynomialSpiral::setQuinticTerm(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_tc1::IfcSeventhOrderPolynomialSpiral::QuarticTerm() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_tc1::IfcSeventhOrderPolynomialSpiral::QuarticTerm() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcSeventhOrderPolynomialSpiral::setQuarticTerm(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_tc1::IfcSeventhOrderPolynomialSpiral::CubicTerm() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_tc1::IfcSeventhOrderPolynomialSpiral::CubicTerm() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcSeventhOrderPolynomialSpiral::setCubicTerm(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_tc1::IfcSeventhOrderPolynomialSpiral::QuadraticTerm() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_tc1::IfcSeventhOrderPolynomialSpiral::QuadraticTerm() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcSeventhOrderPolynomialSpiral::setQuadraticTerm(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_tc1::IfcSeventhOrderPolynomialSpiral::LinearTerm() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_tc1::IfcSeventhOrderPolynomialSpiral::LinearTerm() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcSeventhOrderPolynomialSpiral::setLinearTerm(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_tc1::IfcSeventhOrderPolynomialSpiral::ConstantTerm() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_tc1::IfcSeventhOrderPolynomialSpiral::ConstantTerm() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcSeventhOrderPolynomialSpiral::setConstantTerm(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcSeventhOrderPolynomialSpiral::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[999]); } const IfcParse::entity& Ifc4x3_tc1::IfcSeventhOrderPolynomialSpiral::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[999]); } Ifc4x3_tc1::IfcSeventhOrderPolynomialSpiral::IfcSeventhOrderPolynomialSpiral(IfcEntityInstanceData&& e) : IfcSpiral(std::move(e)) { } -Ifc4x3_tc1::IfcSeventhOrderPolynomialSpiral::IfcSeventhOrderPolynomialSpiral(::Ifc4x3_tc1::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(storage_t(9))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SepticTerm)); if (v3_SexticTerm) {set_attribute_value(2, (*v3_SexticTerm)); } if (v4_QuinticTerm) {set_attribute_value(3, (*v4_QuinticTerm)); } if (v5_QuarticTerm) {set_attribute_value(4, (*v5_QuarticTerm)); } if (v6_CubicTerm) {set_attribute_value(5, (*v6_CubicTerm)); } if (v7_QuadraticTerm) {set_attribute_value(6, (*v7_QuadraticTerm)); } if (v8_LinearTerm) {set_attribute_value(7, (*v8_LinearTerm)); } if (v9_ConstantTerm) {set_attribute_value(8, (*v9_ConstantTerm)); }; populate_derived(); } +Ifc4x3_tc1::IfcSeventhOrderPolynomialSpiral::IfcSeventhOrderPolynomialSpiral(::Ifc4x3_tc1::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(in_memory_attribute_storage(9))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SepticTerm)); if (v3_SexticTerm) {set_attribute_value(2, (*v3_SexticTerm)); } if (v4_QuinticTerm) {set_attribute_value(3, (*v4_QuinticTerm)); } if (v5_QuarticTerm) {set_attribute_value(4, (*v5_QuarticTerm)); } if (v6_CubicTerm) {set_attribute_value(5, (*v6_CubicTerm)); } if (v7_QuadraticTerm) {set_attribute_value(6, (*v7_QuadraticTerm)); } if (v8_LinearTerm) {set_attribute_value(7, (*v8_LinearTerm)); } if (v9_ConstantTerm) {set_attribute_value(8, (*v9_ConstantTerm)); }; populate_derived(); } // Function implementations for IfcShadingDevice -boost::optional< ::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Value > Ifc4x3_tc1::IfcShadingDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Value > Ifc4x3_tc1::IfcShadingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcShadingDevice::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcShadingDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1000]); } const IfcParse::entity& Ifc4x3_tc1::IfcShadingDevice::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1000]); } Ifc4x3_tc1::IfcShadingDevice::IfcShadingDevice(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_tc1::IfcShadingDevice::IfcShadingDevice(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcShadingDevice::IfcShadingDevice(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcShadingDeviceType -::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Value Ifc4x3_tc1::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Value Ifc4x3_tc1::IfcShadingDeviceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcShadingDeviceType::setPredefinedType(::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcShadingDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1001]); } const IfcParse::entity& Ifc4x3_tc1::IfcShadingDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1001]); } Ifc4x3_tc1::IfcShadingDeviceType::IfcShadingDeviceType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_tc1::IfcShadingDeviceType::IfcShadingDeviceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcShadingDeviceType::IfcShadingDeviceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcShadingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcShapeAspect -aggregate_of< ::Ifc4x3_tc1::IfcShapeModel >::ptr Ifc4x3_tc1::IfcShapeAspect::ShapeRepresentations() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcShapeModel >(); } +aggregate_of< ::Ifc4x3_tc1::IfcShapeModel >::ptr Ifc4x3_tc1::IfcShapeAspect::ShapeRepresentations() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcShapeModel >(); } void Ifc4x3_tc1::IfcShapeAspect::setShapeRepresentations(aggregate_of< ::Ifc4x3_tc1::IfcShapeModel >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_tc1::IfcShapeAspect::Name() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcShapeAspect::Name() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcShapeAspect::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_tc1::IfcShapeAspect::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcShapeAspect::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcShapeAspect::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::logic::tribool Ifc4x3_tc1::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = data_.get_attribute_value(3); return v; } +boost::logic::tribool Ifc4x3_tc1::IfcShapeAspect::ProductDefinitional() const { boost::logic::tribool v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcShapeAspect::setProductDefinitional(boost::logic::tribool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_tc1::IfcProductRepresentationSelect* Ifc4x3_tc1::IfcShapeAspect::PartOfProductDefinitionShape() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcProductRepresentationSelect>(true); } +::Ifc4x3_tc1::IfcProductRepresentationSelect* Ifc4x3_tc1::IfcShapeAspect::PartOfProductDefinitionShape() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcProductRepresentationSelect>(true); } void Ifc4x3_tc1::IfcShapeAspect::setPartOfProductDefinitionShape(::Ifc4x3_tc1::IfcProductRepresentationSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } ::Ifc4x3_tc1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_tc1::IfcShapeAspect::HasExternalReferences() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[427], 3)->as(); } @@ -15655,7 +15655,7 @@ void Ifc4x3_tc1::IfcShapeAspect::setPartOfProductDefinitionShape(::Ifc4x3_tc1::I const IfcParse::entity& Ifc4x3_tc1::IfcShapeAspect::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1003]); } const IfcParse::entity& Ifc4x3_tc1::IfcShapeAspect::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1003]); } Ifc4x3_tc1::IfcShapeAspect::IfcShapeAspect(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcShapeAspect::IfcShapeAspect(aggregate_of< ::Ifc4x3_tc1::IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_tc1::IfcProductRepresentationSelect* v5_PartOfProductDefinitionShape) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_ShapeRepresentations)->generalize()); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, v5_PartOfProductDefinitionShape ? v5_PartOfProductDefinitionShape->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcShapeAspect::IfcShapeAspect(aggregate_of< ::Ifc4x3_tc1::IfcShapeModel >::ptr v1_ShapeRepresentations, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, boost::logic::tribool v4_ProductDefinitional, ::Ifc4x3_tc1::IfcProductRepresentationSelect* v5_PartOfProductDefinitionShape) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_ShapeRepresentations)->generalize()); if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, (v4_ProductDefinitional));set_attribute_value(4, v5_PartOfProductDefinitionShape ? v5_PartOfProductDefinitionShape->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcShapeModel @@ -15664,7 +15664,7 @@ Ifc4x3_tc1::IfcShapeAspect::IfcShapeAspect(aggregate_of< ::Ifc4x3_tc1::IfcShapeM const IfcParse::entity& Ifc4x3_tc1::IfcShapeModel::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1004]); } const IfcParse::entity& Ifc4x3_tc1::IfcShapeModel::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1004]); } Ifc4x3_tc1::IfcShapeModel::IfcShapeModel(IfcEntityInstanceData&& e) : IfcRepresentation(std::move(e)) { } -Ifc4x3_tc1::IfcShapeModel::IfcShapeModel(::Ifc4x3_tc1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_tc1::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcShapeModel::IfcShapeModel(::Ifc4x3_tc1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_tc1::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcShapeRepresentation @@ -15672,57 +15672,57 @@ Ifc4x3_tc1::IfcShapeModel::IfcShapeModel(::Ifc4x3_tc1::IfcRepresentationContext* const IfcParse::entity& Ifc4x3_tc1::IfcShapeRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1005]); } const IfcParse::entity& Ifc4x3_tc1::IfcShapeRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1005]); } Ifc4x3_tc1::IfcShapeRepresentation::IfcShapeRepresentation(IfcEntityInstanceData&& e) : IfcShapeModel(std::move(e)) { } -Ifc4x3_tc1::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x3_tc1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_tc1::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcShapeRepresentation::IfcShapeRepresentation(::Ifc4x3_tc1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_tc1::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcShellBasedSurfaceModel -aggregate_of< ::Ifc4x3_tc1::IfcShell >::ptr Ifc4x3_tc1::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcShell >(); } +aggregate_of< ::Ifc4x3_tc1::IfcShell >::ptr Ifc4x3_tc1::IfcShellBasedSurfaceModel::SbsmBoundary() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcShell >(); } void Ifc4x3_tc1::IfcShellBasedSurfaceModel::setSbsmBoundary(aggregate_of< ::Ifc4x3_tc1::IfcShell >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_tc1::IfcShellBasedSurfaceModel::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1008]); } const IfcParse::entity& Ifc4x3_tc1::IfcShellBasedSurfaceModel::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1008]); } Ifc4x3_tc1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3_tc1::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_SbsmBoundary)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcShellBasedSurfaceModel::IfcShellBasedSurfaceModel(aggregate_of< ::Ifc4x3_tc1::IfcShell >::ptr v1_SbsmBoundary) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_SbsmBoundary)->generalize());; populate_derived(); } // Function implementations for IfcSign -boost::optional< ::Ifc4x3_tc1::IfcSignTypeEnum::Value > Ifc4x3_tc1::IfcSign::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSignTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcSignTypeEnum::Value > Ifc4x3_tc1::IfcSign::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSignTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcSign::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcSignTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcSignTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcSign::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1009]); } const IfcParse::entity& Ifc4x3_tc1::IfcSign::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1009]); } Ifc4x3_tc1::IfcSign::IfcSign(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_tc1::IfcSign::IfcSign(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcSignTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcSignTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcSign::IfcSign(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcSignTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcSignTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSignType -::Ifc4x3_tc1::IfcSignTypeEnum::Value Ifc4x3_tc1::IfcSignType::PredefinedType() const { return ::Ifc4x3_tc1::IfcSignTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcSignTypeEnum::Value Ifc4x3_tc1::IfcSignType::PredefinedType() const { return ::Ifc4x3_tc1::IfcSignTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcSignType::setPredefinedType(::Ifc4x3_tc1::IfcSignTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcSignTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcSignType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1013]); } const IfcParse::entity& Ifc4x3_tc1::IfcSignType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1013]); } Ifc4x3_tc1::IfcSignType::IfcSignType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_tc1::IfcSignType::IfcSignType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSignTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcSignTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcSignType::IfcSignType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSignTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcSignTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSignal -boost::optional< ::Ifc4x3_tc1::IfcSignalTypeEnum::Value > Ifc4x3_tc1::IfcSignal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSignalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcSignalTypeEnum::Value > Ifc4x3_tc1::IfcSignal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSignalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcSignal::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcSignalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcSignalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcSignal::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1010]); } const IfcParse::entity& Ifc4x3_tc1::IfcSignal::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1010]); } Ifc4x3_tc1::IfcSignal::IfcSignal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_tc1::IfcSignal::IfcSignal(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcSignalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcSignalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcSignal::IfcSignal(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcSignalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcSignalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSignalType -::Ifc4x3_tc1::IfcSignalTypeEnum::Value Ifc4x3_tc1::IfcSignalType::PredefinedType() const { return ::Ifc4x3_tc1::IfcSignalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcSignalTypeEnum::Value Ifc4x3_tc1::IfcSignalType::PredefinedType() const { return ::Ifc4x3_tc1::IfcSignalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcSignalType::setPredefinedType(::Ifc4x3_tc1::IfcSignalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcSignalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcSignalType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1011]); } const IfcParse::entity& Ifc4x3_tc1::IfcSignalType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1011]); } Ifc4x3_tc1::IfcSignalType::IfcSignalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_tc1::IfcSignalType::IfcSignalType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSignalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcSignalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcSignalType::IfcSignalType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSignalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcSignalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSimpleProperty @@ -15730,117 +15730,117 @@ Ifc4x3_tc1::IfcSignalType::IfcSignalType(std::string v1_GlobalId, ::Ifc4x3_tc1:: const IfcParse::entity& Ifc4x3_tc1::IfcSimpleProperty::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1015]); } const IfcParse::entity& Ifc4x3_tc1::IfcSimpleProperty::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1015]); } Ifc4x3_tc1::IfcSimpleProperty::IfcSimpleProperty(IfcEntityInstanceData&& e) : IfcProperty(std::move(e)) { } -Ifc4x3_tc1::IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::optional< std::string > v2_Specification) : IfcProperty(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }; populate_derived(); } +Ifc4x3_tc1::IfcSimpleProperty::IfcSimpleProperty(std::string v1_Name, boost::optional< std::string > v2_Specification) : IfcProperty(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_Name)); if (v2_Specification) {set_attribute_value(1, (*v2_Specification)); }; populate_derived(); } // Function implementations for IfcSimplePropertyTemplate -boost::optional< ::Ifc4x3_tc1::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x3_tc1::IfcSimplePropertyTemplate::TemplateType() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSimplePropertyTemplateTypeEnum::FromString(data_.get_attribute_value(4)); } +boost::optional< ::Ifc4x3_tc1::IfcSimplePropertyTemplateTypeEnum::Value > Ifc4x3_tc1::IfcSimplePropertyTemplate::TemplateType() const { if(get_attribute_value(4).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSimplePropertyTemplateTypeEnum::FromString(get_attribute_value(4)); } void Ifc4x3_tc1::IfcSimplePropertyTemplate::setTemplateType(boost::optional< ::Ifc4x3_tc1::IfcSimplePropertyTemplateTypeEnum::Value > v) { if (v) {set_attribute_value(4, EnumerationReference(&::Ifc4x3_tc1::IfcSimplePropertyTemplateTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_tc1::IfcSimplePropertyTemplate::PrimaryMeasureType() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcSimplePropertyTemplate::PrimaryMeasureType() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcSimplePropertyTemplate::setPrimaryMeasureType(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_tc1::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcSimplePropertyTemplate::SecondaryMeasureType() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcSimplePropertyTemplate::setSecondaryMeasureType(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_tc1::IfcPropertyEnumeration* Ifc4x3_tc1::IfcSimplePropertyTemplate::Enumerators() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_tc1::IfcPropertyEnumeration>(true); } +::Ifc4x3_tc1::IfcPropertyEnumeration* Ifc4x3_tc1::IfcSimplePropertyTemplate::Enumerators() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_tc1::IfcPropertyEnumeration>(true); } void Ifc4x3_tc1::IfcSimplePropertyTemplate::setEnumerators(::Ifc4x3_tc1::IfcPropertyEnumeration* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_tc1::IfcUnit* Ifc4x3_tc1::IfcSimplePropertyTemplate::PrimaryUnit() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_tc1::IfcUnit>(true); } +::Ifc4x3_tc1::IfcUnit* Ifc4x3_tc1::IfcSimplePropertyTemplate::PrimaryUnit() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_tc1::IfcUnit>(true); } void Ifc4x3_tc1::IfcSimplePropertyTemplate::setPrimaryUnit(::Ifc4x3_tc1::IfcUnit* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } -::Ifc4x3_tc1::IfcUnit* Ifc4x3_tc1::IfcSimplePropertyTemplate::SecondaryUnit() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_tc1::IfcUnit>(true); } +::Ifc4x3_tc1::IfcUnit* Ifc4x3_tc1::IfcSimplePropertyTemplate::SecondaryUnit() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_tc1::IfcUnit>(true); } void Ifc4x3_tc1::IfcSimplePropertyTemplate::setSecondaryUnit(::Ifc4x3_tc1::IfcUnit* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3_tc1::IfcSimplePropertyTemplate::Expression() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcSimplePropertyTemplate::Expression() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_tc1::IfcSimplePropertyTemplate::setExpression(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< ::Ifc4x3_tc1::IfcStateEnum::Value > Ifc4x3_tc1::IfcSimplePropertyTemplate::AccessState() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcStateEnum::FromString(data_.get_attribute_value(11)); } +boost::optional< ::Ifc4x3_tc1::IfcStateEnum::Value > Ifc4x3_tc1::IfcSimplePropertyTemplate::AccessState() const { if(get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcStateEnum::FromString(get_attribute_value(11)); } void Ifc4x3_tc1::IfcSimplePropertyTemplate::setAccessState(boost::optional< ::Ifc4x3_tc1::IfcStateEnum::Value > v) { if (v) {set_attribute_value(11, EnumerationReference(&::Ifc4x3_tc1::IfcStateEnum::Class(), (size_t) *v));} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x3_tc1::IfcSimplePropertyTemplate::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1016]); } const IfcParse::entity& Ifc4x3_tc1::IfcSimplePropertyTemplate::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1016]); } Ifc4x3_tc1::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(IfcEntityInstanceData&& e) : IfcPropertyTemplate(std::move(e)) { } -Ifc4x3_tc1::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x3_tc1::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_PrimaryMeasureType, boost::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_tc1::IfcPropertyEnumeration* v8_Enumerators, ::Ifc4x3_tc1::IfcUnit* v9_PrimaryUnit, ::Ifc4x3_tc1::IfcUnit* v10_SecondaryUnit, boost::optional< std::string > v11_Expression, boost::optional< ::Ifc4x3_tc1::IfcStateEnum::Value > v12_AccessState) : IfcPropertyTemplate(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x3_tc1::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, v8_Enumerators ? v8_Enumerators->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_PrimaryUnit ? v9_PrimaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_SecondaryUnit ? v10_SecondaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_tc1::IfcStateEnum::Class(),(size_t)*v12_AccessState))); }; populate_derived(); } +Ifc4x3_tc1::IfcSimplePropertyTemplate::IfcSimplePropertyTemplate(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< ::Ifc4x3_tc1::IfcSimplePropertyTemplateTypeEnum::Value > v5_TemplateType, boost::optional< std::string > v6_PrimaryMeasureType, boost::optional< std::string > v7_SecondaryMeasureType, ::Ifc4x3_tc1::IfcPropertyEnumeration* v8_Enumerators, ::Ifc4x3_tc1::IfcUnit* v9_PrimaryUnit, ::Ifc4x3_tc1::IfcUnit* v10_SecondaryUnit, boost::optional< std::string > v11_Expression, boost::optional< ::Ifc4x3_tc1::IfcStateEnum::Value > v12_AccessState) : IfcPropertyTemplate(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_TemplateType) {set_attribute_value(4, (EnumerationReference(&::Ifc4x3_tc1::IfcSimplePropertyTemplateTypeEnum::Class(),(size_t)*v5_TemplateType))); } if (v6_PrimaryMeasureType) {set_attribute_value(5, (*v6_PrimaryMeasureType)); } if (v7_SecondaryMeasureType) {set_attribute_value(6, (*v7_SecondaryMeasureType)); }set_attribute_value(7, v8_Enumerators ? v8_Enumerators->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_PrimaryUnit ? v9_PrimaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(9, v10_SecondaryUnit ? v10_SecondaryUnit->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_Expression) {set_attribute_value(10, (*v11_Expression)); } if (v12_AccessState) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_tc1::IfcStateEnum::Class(),(size_t)*v12_AccessState))); }; populate_derived(); } // Function implementations for IfcSineSpiral -double Ifc4x3_tc1::IfcSineSpiral::SineTerm() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_tc1::IfcSineSpiral::SineTerm() const { double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcSineSpiral::setSineTerm(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_tc1::IfcSineSpiral::LinearTerm() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_tc1::IfcSineSpiral::LinearTerm() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcSineSpiral::setLinearTerm(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_tc1::IfcSineSpiral::ConstantTerm() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_tc1::IfcSineSpiral::ConstantTerm() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcSineSpiral::setConstantTerm(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_tc1::IfcSineSpiral::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1019]); } const IfcParse::entity& Ifc4x3_tc1::IfcSineSpiral::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1019]); } Ifc4x3_tc1::IfcSineSpiral::IfcSineSpiral(IfcEntityInstanceData&& e) : IfcSpiral(std::move(e)) { } -Ifc4x3_tc1::IfcSineSpiral::IfcSineSpiral(::Ifc4x3_tc1::IfcAxis2Placement* v1_Position, double v2_SineTerm, boost::optional< double > v3_LinearTerm, boost::optional< double > v4_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SineTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); }; populate_derived(); } +Ifc4x3_tc1::IfcSineSpiral::IfcSineSpiral(::Ifc4x3_tc1::IfcAxis2Placement* v1_Position, double v2_SineTerm, boost::optional< double > v3_LinearTerm, boost::optional< double > v4_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_SineTerm)); if (v3_LinearTerm) {set_attribute_value(2, (*v3_LinearTerm)); } if (v4_ConstantTerm) {set_attribute_value(3, (*v4_ConstantTerm)); }; populate_derived(); } // Function implementations for IfcSite -boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_tc1::IfcSite::RefLatitude() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = data_.get_attribute_value(9); return v; } +boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_tc1::IfcSite::RefLatitude() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = get_attribute_value(9); return v; } void Ifc4x3_tc1::IfcSite::setRefLatitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_tc1::IfcSite::RefLongitude() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = data_.get_attribute_value(10); return v; } +boost::optional< std::vector< int > /*[3:4]*/ > Ifc4x3_tc1::IfcSite::RefLongitude() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::vector< int > /*[3:4]*/ v = get_attribute_value(10); return v; } void Ifc4x3_tc1::IfcSite::setRefLongitude(boost::optional< std::vector< int > /*[3:4]*/ > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_tc1::IfcSite::RefElevation() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_tc1::IfcSite::RefElevation() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_tc1::IfcSite::setRefElevation(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_tc1::IfcSite::LandTitleNumber() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcSite::LandTitleNumber() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_tc1::IfcSite::setLandTitleNumber(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -::Ifc4x3_tc1::IfcPostalAddress* Ifc4x3_tc1::IfcSite::SiteAddress() const { if(data_.get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(13)))->as<::Ifc4x3_tc1::IfcPostalAddress>(true); } +::Ifc4x3_tc1::IfcPostalAddress* Ifc4x3_tc1::IfcSite::SiteAddress() const { if(get_attribute_value(13).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(13)))->as<::Ifc4x3_tc1::IfcPostalAddress>(true); } void Ifc4x3_tc1::IfcSite::setSiteAddress(::Ifc4x3_tc1::IfcPostalAddress* v) { set_attribute_value(13, v->as());if constexpr (false)unset_attribute_value(13); } const IfcParse::entity& Ifc4x3_tc1::IfcSite::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1021]); } const IfcParse::entity& Ifc4x3_tc1::IfcSite::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1021]); } Ifc4x3_tc1::IfcSite::IfcSite(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x3_tc1::IfcSite::IfcSite(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::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_tc1::IfcPostalAddress* v14_SiteAddress) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, v14_SiteAddress ? v14_SiteAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcSite::IfcSite(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::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_tc1::IfcPostalAddress* v14_SiteAddress) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_RefLatitude) {set_attribute_value(9, (*v10_RefLatitude)); } if (v11_RefLongitude) {set_attribute_value(10, (*v11_RefLongitude)); } if (v12_RefElevation) {set_attribute_value(11, (*v12_RefElevation)); } if (v13_LandTitleNumber) {set_attribute_value(12, (*v13_LandTitleNumber)); }set_attribute_value(13, v14_SiteAddress ? v14_SiteAddress->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSlab -boost::optional< ::Ifc4x3_tc1::IfcSlabTypeEnum::Value > Ifc4x3_tc1::IfcSlab::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSlabTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcSlabTypeEnum::Value > Ifc4x3_tc1::IfcSlab::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSlabTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcSlab::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcSlabTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcSlabTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcSlab::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1025]); } const IfcParse::entity& Ifc4x3_tc1::IfcSlab::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1025]); } Ifc4x3_tc1::IfcSlab::IfcSlab(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_tc1::IfcSlab::IfcSlab(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcSlab::IfcSlab(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcSlabTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcSlabTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSlabType -::Ifc4x3_tc1::IfcSlabTypeEnum::Value Ifc4x3_tc1::IfcSlabType::PredefinedType() const { return ::Ifc4x3_tc1::IfcSlabTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcSlabTypeEnum::Value Ifc4x3_tc1::IfcSlabType::PredefinedType() const { return ::Ifc4x3_tc1::IfcSlabTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcSlabType::setPredefinedType(::Ifc4x3_tc1::IfcSlabTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcSlabTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcSlabType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1026]); } const IfcParse::entity& Ifc4x3_tc1::IfcSlabType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1026]); } Ifc4x3_tc1::IfcSlabType::IfcSlabType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_tc1::IfcSlabType::IfcSlabType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSlabTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcSlabType::IfcSlabType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSlabTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcSlabTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSlippageConnectionCondition -boost::optional< double > Ifc4x3_tc1::IfcSlippageConnectionCondition::SlippageX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_tc1::IfcSlippageConnectionCondition::SlippageX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcSlippageConnectionCondition::setSlippageX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_tc1::IfcSlippageConnectionCondition::SlippageY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_tc1::IfcSlippageConnectionCondition::SlippageY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcSlippageConnectionCondition::setSlippageY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_tc1::IfcSlippageConnectionCondition::SlippageZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_tc1::IfcSlippageConnectionCondition::SlippageZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcSlippageConnectionCondition::setSlippageZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_tc1::IfcSlippageConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1028]); } const IfcParse::entity& Ifc4x3_tc1::IfcSlippageConnectionCondition::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1028]); } Ifc4x3_tc1::IfcSlippageConnectionCondition::IfcSlippageConnectionCondition(IfcEntityInstanceData&& e) : IfcStructuralConnectionCondition(std::move(e)) { } -Ifc4x3_tc1::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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; populate_derived(); } +Ifc4x3_tc1::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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SlippageX) {set_attribute_value(1, (*v2_SlippageX)); } if (v3_SlippageY) {set_attribute_value(2, (*v3_SlippageY)); } if (v4_SlippageZ) {set_attribute_value(3, (*v4_SlippageZ)); }; populate_derived(); } // Function implementations for IfcSolarDevice -boost::optional< ::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Value > Ifc4x3_tc1::IfcSolarDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Value > Ifc4x3_tc1::IfcSolarDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcSolarDevice::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcSolarDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1029]); } const IfcParse::entity& Ifc4x3_tc1::IfcSolarDevice::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1029]); } Ifc4x3_tc1::IfcSolarDevice::IfcSolarDevice(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_tc1::IfcSolarDevice::IfcSolarDevice(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcSolarDevice::IfcSolarDevice(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSolarDeviceType -::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Value Ifc4x3_tc1::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Value Ifc4x3_tc1::IfcSolarDeviceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcSolarDeviceType::setPredefinedType(::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcSolarDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1030]); } const IfcParse::entity& Ifc4x3_tc1::IfcSolarDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1030]); } Ifc4x3_tc1::IfcSolarDeviceType::IfcSolarDeviceType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_tc1::IfcSolarDeviceType::IfcSolarDeviceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcSolarDeviceType::IfcSolarDeviceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcSolarDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSolidModel @@ -15848,12 +15848,12 @@ Ifc4x3_tc1::IfcSolarDeviceType::IfcSolarDeviceType(std::string v1_GlobalId, ::If const IfcParse::entity& Ifc4x3_tc1::IfcSolidModel::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1033]); } const IfcParse::entity& Ifc4x3_tc1::IfcSolidModel::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1033]); } Ifc4x3_tc1::IfcSolidModel::IfcSolidModel(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_tc1::IfcSolidModel::IfcSolidModel() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcSpace -boost::optional< ::Ifc4x3_tc1::IfcSpaceTypeEnum::Value > Ifc4x3_tc1::IfcSpace::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSpaceTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_tc1::IfcSpaceTypeEnum::Value > Ifc4x3_tc1::IfcSpace::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcSpace::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcSpaceTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcSpaceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_tc1::IfcSpace::ElevationWithFlooring() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_tc1::IfcSpace::ElevationWithFlooring() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_tc1::IfcSpace::setElevationWithFlooring(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } ::Ifc4x3_tc1::IfcRelCoversSpaces::list::ptr Ifc4x3_tc1::IfcSpace::HasCoverings() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[926], 4)->as(); } @@ -15862,42 +15862,42 @@ void Ifc4x3_tc1::IfcSpace::setElevationWithFlooring(boost::optional< double > v) const IfcParse::entity& Ifc4x3_tc1::IfcSpace::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1039]); } const IfcParse::entity& Ifc4x3_tc1::IfcSpace::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1039]); } Ifc4x3_tc1::IfcSpace::IfcSpace(IfcEntityInstanceData&& e) : IfcSpatialStructureElement(std::move(e)) { } -Ifc4x3_tc1::IfcSpace::IfcSpace(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_tc1::IfcSpaceTypeEnum::Value > v10_PredefinedType, boost::optional< double > v11_ElevationWithFlooring) : IfcSpatialStructureElement(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; populate_derived(); } +Ifc4x3_tc1::IfcSpace::IfcSpace(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType, boost::optional< ::Ifc4x3_tc1::IfcSpaceTypeEnum::Value > v10_PredefinedType, boost::optional< double > v11_ElevationWithFlooring) : IfcSpatialStructureElement(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcSpaceTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_ElevationWithFlooring) {set_attribute_value(10, (*v11_ElevationWithFlooring)); }; populate_derived(); } // Function implementations for IfcSpaceHeater -boost::optional< ::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Value > Ifc4x3_tc1::IfcSpaceHeater::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Value > Ifc4x3_tc1::IfcSpaceHeater::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcSpaceHeater::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcSpaceHeater::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1041]); } const IfcParse::entity& Ifc4x3_tc1::IfcSpaceHeater::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1041]); } Ifc4x3_tc1::IfcSpaceHeater::IfcSpaceHeater(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_tc1::IfcSpaceHeater::IfcSpaceHeater(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcSpaceHeater::IfcSpaceHeater(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSpaceHeaterType -::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Value Ifc4x3_tc1::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Value Ifc4x3_tc1::IfcSpaceHeaterType::PredefinedType() const { return ::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcSpaceHeaterType::setPredefinedType(::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcSpaceHeaterType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1042]); } const IfcParse::entity& Ifc4x3_tc1::IfcSpaceHeaterType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1042]); } Ifc4x3_tc1::IfcSpaceHeaterType::IfcSpaceHeaterType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_tc1::IfcSpaceHeaterType::IfcSpaceHeaterType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcSpaceHeaterType::IfcSpaceHeaterType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcSpaceHeaterTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSpaceType -::Ifc4x3_tc1::IfcSpaceTypeEnum::Value Ifc4x3_tc1::IfcSpaceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcSpaceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcSpaceTypeEnum::Value Ifc4x3_tc1::IfcSpaceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcSpaceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcSpaceType::setPredefinedType(::Ifc4x3_tc1::IfcSpaceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcSpaceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3_tc1::IfcSpaceType::LongName() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcSpaceType::LongName() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_tc1::IfcSpaceType::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_tc1::IfcSpaceType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1044]); } const IfcParse::entity& Ifc4x3_tc1::IfcSpaceType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1044]); } Ifc4x3_tc1::IfcSpaceType::IfcSpaceType(IfcEntityInstanceData&& e) : IfcSpatialStructureElementType(std::move(e)) { } -Ifc4x3_tc1::IfcSpaceType::IfcSpaceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSpaceTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialStructureElementType(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } +Ifc4x3_tc1::IfcSpaceType::IfcSpaceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSpaceTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialStructureElementType(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcSpaceTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } // Function implementations for IfcSpatialElement -boost::optional< std::string > Ifc4x3_tc1::IfcSpatialElement::LongName() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcSpatialElement::LongName() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcSpatialElement::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } ::Ifc4x3_tc1::IfcRelContainedInSpatialStructure::list::ptr Ifc4x3_tc1::IfcSpatialElement::ContainsElements() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[924], 5)->as(); } @@ -15909,27 +15909,27 @@ void Ifc4x3_tc1::IfcSpatialElement::setLongName(boost::optional< std::string > v const IfcParse::entity& Ifc4x3_tc1::IfcSpatialElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1046]); } const IfcParse::entity& Ifc4x3_tc1::IfcSpatialElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1046]); } Ifc4x3_tc1::IfcSpatialElement::IfcSpatialElement(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_tc1::IfcSpatialElement::IfcSpatialElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcProduct(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } +Ifc4x3_tc1::IfcSpatialElement::IfcSpatialElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); }; populate_derived(); } // Function implementations for IfcSpatialElementType -boost::optional< std::string > Ifc4x3_tc1::IfcSpatialElementType::ElementType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcSpatialElementType::ElementType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcSpatialElementType::setElementType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcSpatialElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1047]); } const IfcParse::entity& Ifc4x3_tc1::IfcSpatialElementType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1047]); } Ifc4x3_tc1::IfcSpatialElementType::IfcSpatialElementType(IfcEntityInstanceData&& e) : IfcTypeProduct(std::move(e)) { } -Ifc4x3_tc1::IfcSpatialElementType::IfcSpatialElementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_tc1::IfcSpatialElementType::IfcSpatialElementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcTypeProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcSpatialStructureElement -boost::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > Ifc4x3_tc1::IfcSpatialStructureElement::CompositionType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcElementCompositionEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > Ifc4x3_tc1::IfcSpatialStructureElement::CompositionType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcElementCompositionEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcSpatialStructureElement::setCompositionType(boost::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcSpatialStructureElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1049]); } const IfcParse::entity& Ifc4x3_tc1::IfcSpatialStructureElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1049]); } Ifc4x3_tc1::IfcSpatialStructureElement::IfcSpatialStructureElement(IfcEntityInstanceData&& e) : IfcSpatialElement(std::move(e)) { } -Ifc4x3_tc1::IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } +Ifc4x3_tc1::IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::IfcElementCompositionEnum::Value > v9_CompositionType) : IfcSpatialElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_CompositionType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcElementCompositionEnum::Class(),(size_t)*v9_CompositionType))); }; populate_derived(); } // Function implementations for IfcSpatialStructureElementType @@ -15937,142 +15937,142 @@ Ifc4x3_tc1::IfcSpatialStructureElement::IfcSpatialStructureElement(std::string v const IfcParse::entity& Ifc4x3_tc1::IfcSpatialStructureElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1050]); } const IfcParse::entity& Ifc4x3_tc1::IfcSpatialStructureElementType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1050]); } Ifc4x3_tc1::IfcSpatialStructureElementType::IfcSpatialStructureElementType(IfcEntityInstanceData&& e) : IfcSpatialElementType(std::move(e)) { } -Ifc4x3_tc1::IfcSpatialStructureElementType::IfcSpatialStructureElementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcSpatialElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_tc1::IfcSpatialStructureElementType::IfcSpatialStructureElementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcSpatialElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcSpatialZone -boost::optional< ::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Value > Ifc4x3_tc1::IfcSpatialZone::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Value > Ifc4x3_tc1::IfcSpatialZone::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcSpatialZone::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcSpatialZone::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1051]); } const IfcParse::entity& Ifc4x3_tc1::IfcSpatialZone::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1051]); } Ifc4x3_tc1::IfcSpatialZone::IfcSpatialZone(IfcEntityInstanceData&& e) : IfcSpatialElement(std::move(e)) { } -Ifc4x3_tc1::IfcSpatialZone::IfcSpatialZone(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) : IfcSpatialElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcSpatialZone::IfcSpatialZone(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< ::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Value > v9_PredefinedType) : IfcSpatialElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LongName) {set_attribute_value(7, (*v8_LongName)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSpatialZoneType -::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Value Ifc4x3_tc1::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Value Ifc4x3_tc1::IfcSpatialZoneType::PredefinedType() const { return ::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcSpatialZoneType::setPredefinedType(::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3_tc1::IfcSpatialZoneType::LongName() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcSpatialZoneType::LongName() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_tc1::IfcSpatialZoneType::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_tc1::IfcSpatialZoneType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1052]); } const IfcParse::entity& Ifc4x3_tc1::IfcSpatialZoneType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1052]); } Ifc4x3_tc1::IfcSpatialZoneType::IfcSpatialZoneType(IfcEntityInstanceData&& e) : IfcSpatialElementType(std::move(e)) { } -Ifc4x3_tc1::IfcSpatialZoneType::IfcSpatialZoneType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialElementType(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } +Ifc4x3_tc1::IfcSpatialZoneType::IfcSpatialZoneType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_LongName) : IfcSpatialElementType(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcSpatialZoneTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_LongName) {set_attribute_value(10, (*v11_LongName)); }; populate_derived(); } // Function implementations for IfcSphere -double Ifc4x3_tc1::IfcSphere::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_tc1::IfcSphere::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcSphere::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcSphere::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1058]); } const IfcParse::entity& Ifc4x3_tc1::IfcSphere::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1058]); } Ifc4x3_tc1::IfcSphere::IfcSphere(IfcEntityInstanceData&& e) : IfcCsgPrimitive3D(std::move(e)) { } -Ifc4x3_tc1::IfcSphere::IfcSphere(::Ifc4x3_tc1::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x3_tc1::IfcSphere::IfcSphere(::Ifc4x3_tc1::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcCsgPrimitive3D(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcSphericalSurface -double Ifc4x3_tc1::IfcSphericalSurface::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_tc1::IfcSphericalSurface::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcSphericalSurface::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcSphericalSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1059]); } const IfcParse::entity& Ifc4x3_tc1::IfcSphericalSurface::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1059]); } Ifc4x3_tc1::IfcSphericalSurface::IfcSphericalSurface(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x3_tc1::IfcSphericalSurface::IfcSphericalSurface(::Ifc4x3_tc1::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } +Ifc4x3_tc1::IfcSphericalSurface::IfcSphericalSurface(::Ifc4x3_tc1::IfcAxis2Placement3D* v1_Position, double v2_Radius) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius));; populate_derived(); } // Function implementations for IfcSpiral -::Ifc4x3_tc1::IfcAxis2Placement* Ifc4x3_tc1::IfcSpiral::Position() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcAxis2Placement>(true); } +::Ifc4x3_tc1::IfcAxis2Placement* Ifc4x3_tc1::IfcSpiral::Position() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcAxis2Placement>(true); } void Ifc4x3_tc1::IfcSpiral::setPosition(::Ifc4x3_tc1::IfcAxis2Placement* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_tc1::IfcSpiral::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1060]); } const IfcParse::entity& Ifc4x3_tc1::IfcSpiral::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1060]); } Ifc4x3_tc1::IfcSpiral::IfcSpiral(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_tc1::IfcSpiral::IfcSpiral(::Ifc4x3_tc1::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcSpiral::IfcSpiral(::Ifc4x3_tc1::IfcAxis2Placement* v1_Position) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStackTerminal -boost::optional< ::Ifc4x3_tc1::IfcStackTerminalTypeEnum::Value > Ifc4x3_tc1::IfcStackTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcStackTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcStackTerminalTypeEnum::Value > Ifc4x3_tc1::IfcStackTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcStackTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcStackTerminal::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcStackTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcStackTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcStackTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1061]); } const IfcParse::entity& Ifc4x3_tc1::IfcStackTerminal::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1061]); } Ifc4x3_tc1::IfcStackTerminal::IfcStackTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_tc1::IfcStackTerminal::IfcStackTerminal(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcStackTerminal::IfcStackTerminal(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcStackTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcStackTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcStackTerminalType -::Ifc4x3_tc1::IfcStackTerminalTypeEnum::Value Ifc4x3_tc1::IfcStackTerminalType::PredefinedType() const { return ::Ifc4x3_tc1::IfcStackTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcStackTerminalTypeEnum::Value Ifc4x3_tc1::IfcStackTerminalType::PredefinedType() const { return ::Ifc4x3_tc1::IfcStackTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcStackTerminalType::setPredefinedType(::Ifc4x3_tc1::IfcStackTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcStackTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcStackTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1062]); } const IfcParse::entity& Ifc4x3_tc1::IfcStackTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1062]); } Ifc4x3_tc1::IfcStackTerminalType::IfcStackTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_tc1::IfcStackTerminalType::IfcStackTerminalType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcStackTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcStackTerminalType::IfcStackTerminalType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcStackTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcStackTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStair -boost::optional< ::Ifc4x3_tc1::IfcStairTypeEnum::Value > Ifc4x3_tc1::IfcStair::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcStairTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcStairTypeEnum::Value > Ifc4x3_tc1::IfcStair::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcStairTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcStair::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcStairTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcStairTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcStair::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1064]); } const IfcParse::entity& Ifc4x3_tc1::IfcStair::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1064]); } Ifc4x3_tc1::IfcStair::IfcStair(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_tc1::IfcStair::IfcStair(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcStairTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcStair::IfcStair(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcStairTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcStairTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcStairFlight -boost::optional< int > Ifc4x3_tc1::IfcStairFlight::NumberOfRisers() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } int v = data_.get_attribute_value(8); return v; } +boost::optional< int > Ifc4x3_tc1::IfcStairFlight::NumberOfRisers() const { if(get_attribute_value(8).isNull()) { return boost::none; } int v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcStairFlight::setNumberOfRisers(boost::optional< int > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< int > Ifc4x3_tc1::IfcStairFlight::NumberOfTreads() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } int v = data_.get_attribute_value(9); return v; } +boost::optional< int > Ifc4x3_tc1::IfcStairFlight::NumberOfTreads() const { if(get_attribute_value(9).isNull()) { return boost::none; } int v = get_attribute_value(9); return v; } void Ifc4x3_tc1::IfcStairFlight::setNumberOfTreads(boost::optional< int > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_tc1::IfcStairFlight::RiserHeight() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_tc1::IfcStairFlight::RiserHeight() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_tc1::IfcStairFlight::setRiserHeight(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_tc1::IfcStairFlight::TreadLength() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_tc1::IfcStairFlight::TreadLength() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_tc1::IfcStairFlight::setTreadLength(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< ::Ifc4x3_tc1::IfcStairFlightTypeEnum::Value > Ifc4x3_tc1::IfcStairFlight::PredefinedType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcStairFlightTypeEnum::FromString(data_.get_attribute_value(12)); } +boost::optional< ::Ifc4x3_tc1::IfcStairFlightTypeEnum::Value > Ifc4x3_tc1::IfcStairFlight::PredefinedType() const { if(get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcStairFlightTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x3_tc1::IfcStairFlight::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcStairFlightTypeEnum::Value > v) { if (v) {set_attribute_value(12, EnumerationReference(&::Ifc4x3_tc1::IfcStairFlightTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_tc1::IfcStairFlight::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1065]); } const IfcParse::entity& Ifc4x3_tc1::IfcStairFlight::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1065]); } Ifc4x3_tc1::IfcStairFlight::IfcStairFlight(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_tc1::IfcStairFlight::IfcStairFlight(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::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_tc1::IfcStairFlightTypeEnum::Value > v13_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_tc1::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcStairFlight::IfcStairFlight(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::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_tc1::IfcStairFlightTypeEnum::Value > v13_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_NumberOfRisers) {set_attribute_value(8, (*v9_NumberOfRisers)); } if (v10_NumberOfTreads) {set_attribute_value(9, (*v10_NumberOfTreads)); } if (v11_RiserHeight) {set_attribute_value(10, (*v11_RiserHeight)); } if (v12_TreadLength) {set_attribute_value(11, (*v12_TreadLength)); } if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_tc1::IfcStairFlightTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } // Function implementations for IfcStairFlightType -::Ifc4x3_tc1::IfcStairFlightTypeEnum::Value Ifc4x3_tc1::IfcStairFlightType::PredefinedType() const { return ::Ifc4x3_tc1::IfcStairFlightTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcStairFlightTypeEnum::Value Ifc4x3_tc1::IfcStairFlightType::PredefinedType() const { return ::Ifc4x3_tc1::IfcStairFlightTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcStairFlightType::setPredefinedType(::Ifc4x3_tc1::IfcStairFlightTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcStairFlightTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcStairFlightType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1066]); } const IfcParse::entity& Ifc4x3_tc1::IfcStairFlightType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1066]); } Ifc4x3_tc1::IfcStairFlightType::IfcStairFlightType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_tc1::IfcStairFlightType::IfcStairFlightType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcStairFlightTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcStairFlightType::IfcStairFlightType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcStairFlightTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcStairFlightTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStairType -::Ifc4x3_tc1::IfcStairTypeEnum::Value Ifc4x3_tc1::IfcStairType::PredefinedType() const { return ::Ifc4x3_tc1::IfcStairTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcStairTypeEnum::Value Ifc4x3_tc1::IfcStairType::PredefinedType() const { return ::Ifc4x3_tc1::IfcStairTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcStairType::setPredefinedType(::Ifc4x3_tc1::IfcStairTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcStairTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcStairType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1068]); } const IfcParse::entity& Ifc4x3_tc1::IfcStairType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1068]); } Ifc4x3_tc1::IfcStairType::IfcStairType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_tc1::IfcStairType::IfcStairType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcStairTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcStairType::IfcStairType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcStairTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcStairTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralAction -boost::optional< bool > Ifc4x3_tc1::IfcStructuralAction::DestabilizingLoad() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } bool v = data_.get_attribute_value(9); return v; } +boost::optional< bool > Ifc4x3_tc1::IfcStructuralAction::DestabilizingLoad() const { if(get_attribute_value(9).isNull()) { return boost::none; } bool v = get_attribute_value(9); return v; } void Ifc4x3_tc1::IfcStructuralAction::setDestabilizingLoad(boost::optional< bool > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralAction::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1072]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralAction::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1072]); } Ifc4x3_tc1::IfcStructuralAction::IfcStructuralAction(IfcEntityInstanceData&& e) : IfcStructuralActivity(std::move(e)) { } -Ifc4x3_tc1::IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralActivity(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } +Ifc4x3_tc1::IfcStructuralAction::IfcStructuralAction(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralActivity(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } // Function implementations for IfcStructuralActivity -::Ifc4x3_tc1::IfcStructuralLoad* Ifc4x3_tc1::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_tc1::IfcStructuralLoad>(true); } +::Ifc4x3_tc1::IfcStructuralLoad* Ifc4x3_tc1::IfcStructuralActivity::AppliedLoad() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_tc1::IfcStructuralLoad>(true); } void Ifc4x3_tc1::IfcStructuralActivity::setAppliedLoad(::Ifc4x3_tc1::IfcStructuralLoad* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value Ifc4x3_tc1::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value Ifc4x3_tc1::IfcStructuralActivity::GlobalOrLocal() const { return ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcStructuralActivity::setGlobalOrLocal(::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } ::Ifc4x3_tc1::IfcRelConnectsStructuralActivity::list::ptr Ifc4x3_tc1::IfcStructuralActivity::AssignedToStructuralItem() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[920], 5)->as(); } @@ -16080,28 +16080,28 @@ void Ifc4x3_tc1::IfcStructuralActivity::setGlobalOrLocal(::Ifc4x3_tc1::IfcGlobal const IfcParse::entity& Ifc4x3_tc1::IfcStructuralActivity::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1073]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralActivity::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1073]); } Ifc4x3_tc1::IfcStructuralActivity::IfcStructuralActivity(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_tc1::IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcProduct(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +Ifc4x3_tc1::IfcStructuralActivity::IfcStructuralActivity(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralAnalysisModel -::Ifc4x3_tc1::IfcAnalysisModelTypeEnum::Value Ifc4x3_tc1::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x3_tc1::IfcAnalysisModelTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_tc1::IfcAnalysisModelTypeEnum::Value Ifc4x3_tc1::IfcStructuralAnalysisModel::PredefinedType() const { return ::Ifc4x3_tc1::IfcAnalysisModelTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_tc1::IfcStructuralAnalysisModel::setPredefinedType(::Ifc4x3_tc1::IfcAnalysisModelTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_tc1::IfcAnalysisModelTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_tc1::IfcAxis2Placement3D* Ifc4x3_tc1::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcAxis2Placement3D>(true); } +::Ifc4x3_tc1::IfcAxis2Placement3D* Ifc4x3_tc1::IfcStructuralAnalysisModel::OrientationOf2DPlane() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcAxis2Placement3D>(true); } void Ifc4x3_tc1::IfcStructuralAnalysisModel::setOrientationOf2DPlane(::Ifc4x3_tc1::IfcAxis2Placement3D* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcStructuralLoadGroup >::ptr > Ifc4x3_tc1::IfcStructuralAnalysisModel::LoadedBy() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_tc1::IfcStructuralLoadGroup >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcStructuralLoadGroup >::ptr > Ifc4x3_tc1::IfcStructuralAnalysisModel::LoadedBy() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_tc1::IfcStructuralLoadGroup >(); } void Ifc4x3_tc1::IfcStructuralAnalysisModel::setLoadedBy(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcStructuralLoadGroup >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcStructuralResultGroup >::ptr > Ifc4x3_tc1::IfcStructuralAnalysisModel::HasResults() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(8); return es->as< ::Ifc4x3_tc1::IfcStructuralResultGroup >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcStructuralResultGroup >::ptr > Ifc4x3_tc1::IfcStructuralAnalysisModel::HasResults() const { if(get_attribute_value(8).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(8); return es->as< ::Ifc4x3_tc1::IfcStructuralResultGroup >(); } void Ifc4x3_tc1::IfcStructuralAnalysisModel::setHasResults(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcStructuralResultGroup >::ptr > v) { if (v) {set_attribute_value(8, (*v)->generalize());} else {unset_attribute_value(8);} } -::Ifc4x3_tc1::IfcObjectPlacement* Ifc4x3_tc1::IfcStructuralAnalysisModel::SharedPlacement() const { if(data_.get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(9)))->as<::Ifc4x3_tc1::IfcObjectPlacement>(true); } +::Ifc4x3_tc1::IfcObjectPlacement* Ifc4x3_tc1::IfcStructuralAnalysisModel::SharedPlacement() const { if(get_attribute_value(9).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(9)))->as<::Ifc4x3_tc1::IfcObjectPlacement>(true); } void Ifc4x3_tc1::IfcStructuralAnalysisModel::setSharedPlacement(::Ifc4x3_tc1::IfcObjectPlacement* v) { set_attribute_value(9, v->as());if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralAnalysisModel::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1075]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralAnalysisModel::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1075]); } Ifc4x3_tc1::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3_tc1::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_tc1::IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcStructuralResultGroup >::ptr > v9_HasResults, ::Ifc4x3_tc1::IfcObjectPlacement* v10_SharedPlacement) : IfcSystem(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_tc1::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, v7_OrientationOf2DPlane ? v7_OrientationOf2DPlane->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LoadedBy) {set_attribute_value(7, (*v8_LoadedBy)->generalize()); } if (v9_HasResults) {set_attribute_value(8, (*v9_HasResults)->generalize()); }set_attribute_value(9, v10_SharedPlacement ? v10_SharedPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcStructuralAnalysisModel::IfcStructuralAnalysisModel(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcAnalysisModelTypeEnum::Value v6_PredefinedType, ::Ifc4x3_tc1::IfcAxis2Placement3D* v7_OrientationOf2DPlane, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcStructuralLoadGroup >::ptr > v8_LoadedBy, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcStructuralResultGroup >::ptr > v9_HasResults, ::Ifc4x3_tc1::IfcObjectPlacement* v10_SharedPlacement) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_tc1::IfcAnalysisModelTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, v7_OrientationOf2DPlane ? v7_OrientationOf2DPlane->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_LoadedBy) {set_attribute_value(7, (*v8_LoadedBy)->generalize()); } if (v9_HasResults) {set_attribute_value(8, (*v9_HasResults)->generalize()); }set_attribute_value(9, v10_SharedPlacement ? v10_SharedPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralConnection -::Ifc4x3_tc1::IfcBoundaryCondition* Ifc4x3_tc1::IfcStructuralConnection::AppliedCondition() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_tc1::IfcBoundaryCondition>(true); } +::Ifc4x3_tc1::IfcBoundaryCondition* Ifc4x3_tc1::IfcStructuralConnection::AppliedCondition() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_tc1::IfcBoundaryCondition>(true); } void Ifc4x3_tc1::IfcStructuralConnection::setAppliedCondition(::Ifc4x3_tc1::IfcBoundaryCondition* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_tc1::IfcRelConnectsStructuralMember::list::ptr Ifc4x3_tc1::IfcStructuralConnection::ConnectsStructuralMembers() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[921], 5)->as(); } @@ -16109,51 +16109,51 @@ void Ifc4x3_tc1::IfcStructuralConnection::setAppliedCondition(::Ifc4x3_tc1::IfcB const IfcParse::entity& Ifc4x3_tc1::IfcStructuralConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1076]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralConnection::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1076]); } Ifc4x3_tc1::IfcStructuralConnection::IfcStructuralConnection(IfcEntityInstanceData&& e) : IfcStructuralItem(std::move(e)) { } -Ifc4x3_tc1::IfcStructuralConnection::IfcStructuralConnection(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralItem(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcStructuralConnection::IfcStructuralConnection(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralItem(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralConnectionCondition -boost::optional< std::string > Ifc4x3_tc1::IfcStructuralConnectionCondition::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcStructuralConnectionCondition::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcStructuralConnectionCondition::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralConnectionCondition::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1077]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralConnectionCondition::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1077]); } Ifc4x3_tc1::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_tc1::IfcStructuralConnectionCondition::IfcStructuralConnectionCondition(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralCurveAction -boost::optional< ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_tc1::IfcStructuralCurveAction::ProjectedOrTrue() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_tc1::IfcStructuralCurveAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } void Ifc4x3_tc1::IfcStructuralCurveAction::setProjectedOrTrue(boost::optional< ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_tc1::IfcStructuralCurveAction::PredefinedType() const { return ::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_tc1::IfcStructuralCurveAction::PredefinedType() const { return ::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_tc1::IfcStructuralCurveAction::setPredefinedType(::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralCurveAction::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1078]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralCurveAction::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1078]); } Ifc4x3_tc1::IfcStructuralCurveAction::IfcStructuralCurveAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -Ifc4x3_tc1::IfcStructuralCurveAction::IfcStructuralCurveAction(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcStructuralCurveAction::IfcStructuralCurveAction(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralCurveConnection -::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcStructuralCurveConnection::AxisDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_tc1::IfcDirection>(true); } +::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcStructuralCurveConnection::AxisDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_tc1::IfcDirection>(true); } void Ifc4x3_tc1::IfcStructuralCurveConnection::setAxisDirection(::Ifc4x3_tc1::IfcDirection* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralCurveConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1080]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralCurveConnection::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1080]); } Ifc4x3_tc1::IfcStructuralCurveConnection::IfcStructuralCurveConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -Ifc4x3_tc1::IfcStructuralCurveConnection::IfcStructuralCurveConnection(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x3_tc1::IfcDirection* v9_AxisDirection) : IfcStructuralConnection(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_AxisDirection ? v9_AxisDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcStructuralCurveConnection::IfcStructuralCurveConnection(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x3_tc1::IfcDirection* v9_AxisDirection) : IfcStructuralConnection(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_AxisDirection ? v9_AxisDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralCurveMember -::Ifc4x3_tc1::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_tc1::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x3_tc1::IfcStructuralCurveMemberTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_tc1::IfcStructuralCurveMemberTypeEnum::Value Ifc4x3_tc1::IfcStructuralCurveMember::PredefinedType() const { return ::Ifc4x3_tc1::IfcStructuralCurveMemberTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_tc1::IfcStructuralCurveMember::setPredefinedType(::Ifc4x3_tc1::IfcStructuralCurveMemberTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_tc1::IfcStructuralCurveMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_tc1::IfcDirection>(true); } +::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcStructuralCurveMember::Axis() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_tc1::IfcDirection>(true); } void Ifc4x3_tc1::IfcStructuralCurveMember::setAxis(::Ifc4x3_tc1::IfcDirection* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralCurveMember::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1081]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralCurveMember::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1081]); } Ifc4x3_tc1::IfcStructuralCurveMember::IfcStructuralCurveMember(IfcEntityInstanceData&& e) : IfcStructuralMember(std::move(e)) { } -Ifc4x3_tc1::IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_tc1::IfcDirection* v9_Axis) : IfcStructuralMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_tc1::IfcDirection* v9_Axis) : IfcStructuralMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralCurveMemberVarying @@ -16161,17 +16161,17 @@ Ifc4x3_tc1::IfcStructuralCurveMember::IfcStructuralCurveMember(std::string v1_Gl const IfcParse::entity& Ifc4x3_tc1::IfcStructuralCurveMemberVarying::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1083]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralCurveMemberVarying::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1083]); } Ifc4x3_tc1::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(IfcEntityInstanceData&& e) : IfcStructuralCurveMember(std::move(e)) { } -Ifc4x3_tc1::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_tc1::IfcDirection* v9_Axis) : IfcStructuralCurveMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcStructuralCurveMemberVarying::IfcStructuralCurveMemberVarying(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcStructuralCurveMemberTypeEnum::Value v8_PredefinedType, ::Ifc4x3_tc1::IfcDirection* v9_Axis) : IfcStructuralCurveMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcStructuralCurveMemberTypeEnum::Class(),(size_t)v8_PredefinedType)));set_attribute_value(8, v9_Axis ? v9_Axis->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralCurveReaction -::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_tc1::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Value Ifc4x3_tc1::IfcStructuralCurveReaction::PredefinedType() const { return ::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcStructuralCurveReaction::setPredefinedType(::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralCurveReaction::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1084]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralCurveReaction::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1084]); } Ifc4x3_tc1::IfcStructuralCurveReaction::IfcStructuralCurveReaction(IfcEntityInstanceData&& e) : IfcStructuralReaction(std::move(e)) { } -Ifc4x3_tc1::IfcStructuralCurveReaction::IfcStructuralCurveReaction(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcStructuralCurveReaction::IfcStructuralCurveReaction(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralItem @@ -16180,7 +16180,7 @@ Ifc4x3_tc1::IfcStructuralCurveReaction::IfcStructuralCurveReaction(std::string v const IfcParse::entity& Ifc4x3_tc1::IfcStructuralItem::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1085]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralItem::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1085]); } Ifc4x3_tc1::IfcStructuralItem::IfcStructuralItem(IfcEntityInstanceData&& e) : IfcProduct(std::move(e)) { } -Ifc4x3_tc1::IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation) : IfcProduct(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralLinearAction @@ -16188,50 +16188,50 @@ Ifc4x3_tc1::IfcStructuralItem::IfcStructuralItem(std::string v1_GlobalId, ::Ifc4 const IfcParse::entity& Ifc4x3_tc1::IfcStructuralLinearAction::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1086]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralLinearAction::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1086]); } Ifc4x3_tc1::IfcStructuralLinearAction::IfcStructuralLinearAction(IfcEntityInstanceData&& e) : IfcStructuralCurveAction(std::move(e)) { } -Ifc4x3_tc1::IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralCurveAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcStructuralLinearAction::IfcStructuralLinearAction(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralCurveAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_tc1::IfcStructuralCurveActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralLoad -boost::optional< std::string > Ifc4x3_tc1::IfcStructuralLoad::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcStructuralLoad::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcStructuralLoad::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralLoad::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1087]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralLoad::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1087]); } Ifc4x3_tc1::IfcStructuralLoad::IfcStructuralLoad(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_tc1::IfcStructuralLoad::IfcStructuralLoad(boost::optional< std::string > v1_Name) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralLoadCase -boost::optional< std::vector< double > /*[3:3]*/ > Ifc4x3_tc1::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::vector< double > /*[3:3]*/ v = data_.get_attribute_value(10); return v; } +boost::optional< std::vector< double > /*[3:3]*/ > Ifc4x3_tc1::IfcStructuralLoadCase::SelfWeightCoefficients() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::vector< double > /*[3:3]*/ v = get_attribute_value(10); return v; } void Ifc4x3_tc1::IfcStructuralLoadCase::setSelfWeightCoefficients(boost::optional< std::vector< double > /*[3:3]*/ > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralLoadCase::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1088]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralLoadCase::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1088]); } Ifc4x3_tc1::IfcStructuralLoadCase::IfcStructuralLoadCase(IfcEntityInstanceData&& e) : IfcStructuralLoadGroup(std::move(e)) { } -Ifc4x3_tc1::IfcStructuralLoadCase::IfcStructuralLoadCase(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_tc1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_tc1::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(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_tc1::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x3_tc1::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); }; populate_derived(); } +Ifc4x3_tc1::IfcStructuralLoadCase::IfcStructuralLoadCase(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_tc1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_tc1::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(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_tc1::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x3_tc1::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); } if (v11_SelfWeightCoefficients) {set_attribute_value(10, (*v11_SelfWeightCoefficients)); }; populate_derived(); } // Function implementations for IfcStructuralLoadConfiguration -aggregate_of< ::Ifc4x3_tc1::IfcStructuralLoadOrResult >::ptr Ifc4x3_tc1::IfcStructuralLoadConfiguration::Values() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcStructuralLoadOrResult >(); } +aggregate_of< ::Ifc4x3_tc1::IfcStructuralLoadOrResult >::ptr Ifc4x3_tc1::IfcStructuralLoadConfiguration::Values() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcStructuralLoadOrResult >(); } void Ifc4x3_tc1::IfcStructuralLoadConfiguration::setValues(aggregate_of< ::Ifc4x3_tc1::IfcStructuralLoadOrResult >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::vector< std::vector< double > > > Ifc4x3_tc1::IfcStructuralLoadConfiguration::Locations() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< std::vector< double > > v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< std::vector< double > > > Ifc4x3_tc1::IfcStructuralLoadConfiguration::Locations() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< std::vector< double > > v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcStructuralLoadConfiguration::setLocations(boost::optional< std::vector< std::vector< double > > > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralLoadConfiguration::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1089]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralLoadConfiguration::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1089]); } Ifc4x3_tc1::IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(IfcEntityInstanceData&& e) : IfcStructuralLoad(std::move(e)) { } -Ifc4x3_tc1::IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_tc1::IfcStructuralLoadOrResult >::ptr v2_Values, boost::optional< std::vector< std::vector< double > > > v3_Locations) : IfcStructuralLoad(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Values)->generalize()); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); }; populate_derived(); } +Ifc4x3_tc1::IfcStructuralLoadConfiguration::IfcStructuralLoadConfiguration(boost::optional< std::string > v1_Name, aggregate_of< ::Ifc4x3_tc1::IfcStructuralLoadOrResult >::ptr v2_Values, boost::optional< std::vector< std::vector< double > > > v3_Locations) : IfcStructuralLoad(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (v2_Values)->generalize()); if (v3_Locations) {set_attribute_value(2, (*v3_Locations)); }; populate_derived(); } // Function implementations for IfcStructuralLoadGroup -::Ifc4x3_tc1::IfcLoadGroupTypeEnum::Value Ifc4x3_tc1::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4x3_tc1::IfcLoadGroupTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_tc1::IfcLoadGroupTypeEnum::Value Ifc4x3_tc1::IfcStructuralLoadGroup::PredefinedType() const { return ::Ifc4x3_tc1::IfcLoadGroupTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_tc1::IfcStructuralLoadGroup::setPredefinedType(::Ifc4x3_tc1::IfcLoadGroupTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_tc1::IfcLoadGroupTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_tc1::IfcActionTypeEnum::Value Ifc4x3_tc1::IfcStructuralLoadGroup::ActionType() const { return ::Ifc4x3_tc1::IfcActionTypeEnum::FromString(data_.get_attribute_value(6)); } +::Ifc4x3_tc1::IfcActionTypeEnum::Value Ifc4x3_tc1::IfcStructuralLoadGroup::ActionType() const { return ::Ifc4x3_tc1::IfcActionTypeEnum::FromString(get_attribute_value(6)); } void Ifc4x3_tc1::IfcStructuralLoadGroup::setActionType(::Ifc4x3_tc1::IfcActionTypeEnum::Value v) { set_attribute_value(6, EnumerationReference(&::Ifc4x3_tc1::IfcActionTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_tc1::IfcActionSourceTypeEnum::Value Ifc4x3_tc1::IfcStructuralLoadGroup::ActionSource() const { return ::Ifc4x3_tc1::IfcActionSourceTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_tc1::IfcActionSourceTypeEnum::Value Ifc4x3_tc1::IfcStructuralLoadGroup::ActionSource() const { return ::Ifc4x3_tc1::IfcActionSourceTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_tc1::IfcStructuralLoadGroup::setActionSource(::Ifc4x3_tc1::IfcActionSourceTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_tc1::IfcActionSourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadGroup::Coefficient() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadGroup::Coefficient() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcStructuralLoadGroup::setCoefficient(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_tc1::IfcStructuralLoadGroup::Purpose() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcStructuralLoadGroup::Purpose() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_tc1::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } ::Ifc4x3_tc1::IfcStructuralResultGroup::list::ptr Ifc4x3_tc1::IfcStructuralLoadGroup::SourceOfResultGroup() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[1106], 6)->as(); } @@ -16240,27 +16240,27 @@ void Ifc4x3_tc1::IfcStructuralLoadGroup::setPurpose(boost::optional< std::string const IfcParse::entity& Ifc4x3_tc1::IfcStructuralLoadGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1090]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralLoadGroup::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1090]); } Ifc4x3_tc1::IfcStructuralLoadGroup::IfcStructuralLoadGroup(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x3_tc1::IfcStructuralLoadGroup::IfcStructuralLoadGroup(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_tc1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_tc1::IfcActionSourceTypeEnum::Value v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose) : IfcGroup(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_tc1::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x3_tc1::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; populate_derived(); } +Ifc4x3_tc1::IfcStructuralLoadGroup::IfcStructuralLoadGroup(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcLoadGroupTypeEnum::Value v6_PredefinedType, ::Ifc4x3_tc1::IfcActionTypeEnum::Value v7_ActionType, ::Ifc4x3_tc1::IfcActionSourceTypeEnum::Value v8_ActionSource, boost::optional< double > v9_Coefficient, boost::optional< std::string > v10_Purpose) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_tc1::IfcLoadGroupTypeEnum::Class(),(size_t)v6_PredefinedType)));set_attribute_value(6, (EnumerationReference(&::Ifc4x3_tc1::IfcActionTypeEnum::Class(),(size_t)v7_ActionType)));set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcActionSourceTypeEnum::Class(),(size_t)v8_ActionSource))); if (v9_Coefficient) {set_attribute_value(8, (*v9_Coefficient)); } if (v10_Purpose) {set_attribute_value(9, (*v10_Purpose)); }; populate_derived(); } // Function implementations for IfcStructuralLoadLinearForce -boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadLinearForce::LinearForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadLinearForce::LinearForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcStructuralLoadLinearForce::setLinearForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadLinearForce::LinearForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadLinearForce::LinearForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcStructuralLoadLinearForce::setLinearForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadLinearForce::LinearForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadLinearForce::LinearForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcStructuralLoadLinearForce::setLinearForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadLinearForce::LinearMomentX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadLinearForce::LinearMomentX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcStructuralLoadLinearForce::setLinearMomentX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadLinearForce::LinearMomentY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadLinearForce::LinearMomentY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcStructuralLoadLinearForce::setLinearMomentY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadLinearForce::LinearMomentZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadLinearForce::LinearMomentZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcStructuralLoadLinearForce::setLinearMomentZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralLoadLinearForce::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1091]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralLoadLinearForce::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1091]); } Ifc4x3_tc1::IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3_tc1::IfcStructuralLoadLinearForce::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) : IfcStructuralLoadStatic(IfcEntityInstanceData(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; populate_derived(); } +Ifc4x3_tc1::IfcStructuralLoadLinearForce::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) : IfcStructuralLoadStatic(IfcEntityInstanceData(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_LinearForceX) {set_attribute_value(1, (*v2_LinearForceX)); } if (v3_LinearForceY) {set_attribute_value(2, (*v3_LinearForceY)); } if (v4_LinearForceZ) {set_attribute_value(3, (*v4_LinearForceZ)); } if (v5_LinearMomentX) {set_attribute_value(4, (*v5_LinearMomentX)); } if (v6_LinearMomentY) {set_attribute_value(5, (*v6_LinearMomentY)); } if (v7_LinearMomentZ) {set_attribute_value(6, (*v7_LinearMomentZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadOrResult @@ -16268,81 +16268,81 @@ Ifc4x3_tc1::IfcStructuralLoadLinearForce::IfcStructuralLoadLinearForce(boost::op const IfcParse::entity& Ifc4x3_tc1::IfcStructuralLoadOrResult::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1092]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralLoadOrResult::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1092]); } Ifc4x3_tc1::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(IfcEntityInstanceData&& e) : IfcStructuralLoad(std::move(e)) { } -Ifc4x3_tc1::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional< std::string > v1_Name) : IfcStructuralLoad(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_tc1::IfcStructuralLoadOrResult::IfcStructuralLoadOrResult(boost::optional< std::string > v1_Name) : IfcStructuralLoad(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralLoadPlanarForce -boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadPlanarForce::PlanarForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcStructuralLoadPlanarForce::setPlanarForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadPlanarForce::PlanarForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadPlanarForce::PlanarForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcStructuralLoadPlanarForce::setPlanarForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadPlanarForce::PlanarForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadPlanarForce::PlanarForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcStructuralLoadPlanarForce::setPlanarForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralLoadPlanarForce::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1093]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralLoadPlanarForce::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1093]); } Ifc4x3_tc1::IfcStructuralLoadPlanarForce::IfcStructuralLoadPlanarForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3_tc1::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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; populate_derived(); } +Ifc4x3_tc1::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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_PlanarForceX) {set_attribute_value(1, (*v2_PlanarForceX)); } if (v3_PlanarForceY) {set_attribute_value(2, (*v3_PlanarForceY)); } if (v4_PlanarForceZ) {set_attribute_value(3, (*v4_PlanarForceZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleDisplacement -boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadSingleDisplacement::DisplacementX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcStructuralLoadSingleDisplacement::setDisplacementX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadSingleDisplacement::DisplacementY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadSingleDisplacement::DisplacementY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcStructuralLoadSingleDisplacement::setDisplacementY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadSingleDisplacement::DisplacementZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadSingleDisplacement::DisplacementZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcStructuralLoadSingleDisplacement::setDisplacementZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadSingleDisplacement::RotationalDisplacementRZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcStructuralLoadSingleDisplacement::setRotationalDisplacementRZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralLoadSingleDisplacement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1094]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralLoadSingleDisplacement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1094]); } Ifc4x3_tc1::IfcStructuralLoadSingleDisplacement::IfcStructuralLoadSingleDisplacement(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3_tc1::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; populate_derived(); } +Ifc4x3_tc1::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleDisplacementDistortion -boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadSingleDisplacementDistortion::Distortion() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcStructuralLoadSingleDisplacementDistortion::setDistortion(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralLoadSingleDisplacementDistortion::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1095]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralLoadSingleDisplacementDistortion::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1095]); } Ifc4x3_tc1::IfcStructuralLoadSingleDisplacementDistortion::IfcStructuralLoadSingleDisplacementDistortion(IfcEntityInstanceData&& e) : IfcStructuralLoadSingleDisplacement(std::move(e)) { } -Ifc4x3_tc1::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(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; populate_derived(); } +Ifc4x3_tc1::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(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DisplacementX) {set_attribute_value(1, (*v2_DisplacementX)); } if (v3_DisplacementY) {set_attribute_value(2, (*v3_DisplacementY)); } if (v4_DisplacementZ) {set_attribute_value(3, (*v4_DisplacementZ)); } if (v5_RotationalDisplacementRX) {set_attribute_value(4, (*v5_RotationalDisplacementRX)); } if (v6_RotationalDisplacementRY) {set_attribute_value(5, (*v6_RotationalDisplacementRY)); } if (v7_RotationalDisplacementRZ) {set_attribute_value(6, (*v7_RotationalDisplacementRZ)); } if (v8_Distortion) {set_attribute_value(7, (*v8_Distortion)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleForce -boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadSingleForce::ForceX() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadSingleForce::ForceX() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcStructuralLoadSingleForce::setForceX(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadSingleForce::ForceY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadSingleForce::ForceY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcStructuralLoadSingleForce::setForceY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadSingleForce::ForceZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadSingleForce::ForceZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcStructuralLoadSingleForce::setForceZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadSingleForce::MomentX() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadSingleForce::MomentX() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcStructuralLoadSingleForce::setMomentX(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadSingleForce::MomentY() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadSingleForce::MomentY() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcStructuralLoadSingleForce::setMomentY(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadSingleForce::MomentZ() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadSingleForce::MomentZ() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcStructuralLoadSingleForce::setMomentZ(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralLoadSingleForce::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1096]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralLoadSingleForce::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1096]); } Ifc4x3_tc1::IfcStructuralLoadSingleForce::IfcStructuralLoadSingleForce(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3_tc1::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(storage_t(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; populate_derived(); } +Ifc4x3_tc1::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(in_memory_attribute_storage(7))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); }; populate_derived(); } // Function implementations for IfcStructuralLoadSingleForceWarping -boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadSingleForceWarping::WarpingMoment() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcStructuralLoadSingleForceWarping::setWarpingMoment(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralLoadSingleForceWarping::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1097]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralLoadSingleForceWarping::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1097]); } Ifc4x3_tc1::IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWarping(IfcEntityInstanceData&& e) : IfcStructuralLoadSingleForce(std::move(e)) { } -Ifc4x3_tc1::IfcStructuralLoadSingleForceWarping::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) : IfcStructuralLoadSingleForce(IfcEntityInstanceData(storage_t(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; populate_derived(); } +Ifc4x3_tc1::IfcStructuralLoadSingleForceWarping::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) : IfcStructuralLoadSingleForce(IfcEntityInstanceData(in_memory_attribute_storage(8))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_ForceX) {set_attribute_value(1, (*v2_ForceX)); } if (v3_ForceY) {set_attribute_value(2, (*v3_ForceY)); } if (v4_ForceZ) {set_attribute_value(3, (*v4_ForceZ)); } if (v5_MomentX) {set_attribute_value(4, (*v5_MomentX)); } if (v6_MomentY) {set_attribute_value(5, (*v6_MomentY)); } if (v7_MomentZ) {set_attribute_value(6, (*v7_MomentZ)); } if (v8_WarpingMoment) {set_attribute_value(7, (*v8_WarpingMoment)); }; populate_derived(); } // Function implementations for IfcStructuralLoadStatic @@ -16350,21 +16350,21 @@ Ifc4x3_tc1::IfcStructuralLoadSingleForceWarping::IfcStructuralLoadSingleForceWar const IfcParse::entity& Ifc4x3_tc1::IfcStructuralLoadStatic::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1098]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralLoadStatic::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1098]); } Ifc4x3_tc1::IfcStructuralLoadStatic::IfcStructuralLoadStatic(IfcEntityInstanceData&& e) : IfcStructuralLoadOrResult(std::move(e)) { } -Ifc4x3_tc1::IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< std::string > v1_Name) : IfcStructuralLoadOrResult(IfcEntityInstanceData(storage_t(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } +Ifc4x3_tc1::IfcStructuralLoadStatic::IfcStructuralLoadStatic(boost::optional< std::string > v1_Name) : IfcStructuralLoadOrResult(IfcEntityInstanceData(in_memory_attribute_storage(1))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }; populate_derived(); } // Function implementations for IfcStructuralLoadTemperature -boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadTemperature::DeltaTConstant() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadTemperature::DeltaTConstant() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcStructuralLoadTemperature::setDeltaTConstant(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadTemperature::DeltaTY() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadTemperature::DeltaTY() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcStructuralLoadTemperature::setDeltaTY(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadTemperature::DeltaTZ() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_tc1::IfcStructuralLoadTemperature::DeltaTZ() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcStructuralLoadTemperature::setDeltaTZ(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralLoadTemperature::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1099]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralLoadTemperature::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1099]); } Ifc4x3_tc1::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(IfcEntityInstanceData&& e) : IfcStructuralLoadStatic(std::move(e)) { } -Ifc4x3_tc1::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::optional< std::string > v1_Name, boost::optional< double > v2_DeltaTConstant, boost::optional< double > v3_DeltaTY, boost::optional< double > v4_DeltaTZ) : IfcStructuralLoadStatic(IfcEntityInstanceData(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); }; populate_derived(); } +Ifc4x3_tc1::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::optional< std::string > v1_Name, boost::optional< double > v2_DeltaTConstant, boost::optional< double > v3_DeltaTY, boost::optional< double > v4_DeltaTZ) : IfcStructuralLoadStatic(IfcEntityInstanceData(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DeltaTConstant) {set_attribute_value(1, (*v2_DeltaTConstant)); } if (v3_DeltaTY) {set_attribute_value(2, (*v3_DeltaTY)); } if (v4_DeltaTZ) {set_attribute_value(3, (*v4_DeltaTZ)); }; populate_derived(); } // Function implementations for IfcStructuralMember @@ -16373,7 +16373,7 @@ Ifc4x3_tc1::IfcStructuralLoadTemperature::IfcStructuralLoadTemperature(boost::op const IfcParse::entity& Ifc4x3_tc1::IfcStructuralMember::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1100]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralMember::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1100]); } Ifc4x3_tc1::IfcStructuralMember::IfcStructuralMember(IfcEntityInstanceData&& e) : IfcStructuralItem(std::move(e)) { } -Ifc4x3_tc1::IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation) : IfcStructuralItem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation) : IfcStructuralItem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralPlanarAction @@ -16381,7 +16381,7 @@ Ifc4x3_tc1::IfcStructuralMember::IfcStructuralMember(std::string v1_GlobalId, :: const IfcParse::entity& Ifc4x3_tc1::IfcStructuralPlanarAction::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1101]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralPlanarAction::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1101]); } Ifc4x3_tc1::IfcStructuralPlanarAction::IfcStructuralPlanarAction(IfcEntityInstanceData&& e) : IfcStructuralSurfaceAction(std::move(e)) { } -Ifc4x3_tc1::IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralSurfaceAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralSurfaceAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralPointAction @@ -16389,17 +16389,17 @@ Ifc4x3_tc1::IfcStructuralPlanarAction::IfcStructuralPlanarAction(std::string v1_ const IfcParse::entity& Ifc4x3_tc1::IfcStructuralPointAction::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1102]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralPointAction::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1102]); } Ifc4x3_tc1::IfcStructuralPointAction::IfcStructuralPointAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -Ifc4x3_tc1::IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralAction(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } +Ifc4x3_tc1::IfcStructuralPointAction::IfcStructuralPointAction(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad) : IfcStructuralAction(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); }; populate_derived(); } // Function implementations for IfcStructuralPointConnection -::Ifc4x3_tc1::IfcAxis2Placement3D* Ifc4x3_tc1::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_tc1::IfcAxis2Placement3D>(true); } +::Ifc4x3_tc1::IfcAxis2Placement3D* Ifc4x3_tc1::IfcStructuralPointConnection::ConditionCoordinateSystem() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_tc1::IfcAxis2Placement3D>(true); } void Ifc4x3_tc1::IfcStructuralPointConnection::setConditionCoordinateSystem(::Ifc4x3_tc1::IfcAxis2Placement3D* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralPointConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1103]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralPointConnection::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1103]); } Ifc4x3_tc1::IfcStructuralPointConnection::IfcStructuralPointConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -Ifc4x3_tc1::IfcStructuralPointConnection::IfcStructuralPointConnection(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x3_tc1::IfcAxis2Placement3D* v9_ConditionCoordinateSystem) : IfcStructuralConnection(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_ConditionCoordinateSystem ? v9_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcStructuralPointConnection::IfcStructuralPointConnection(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcBoundaryCondition* v8_AppliedCondition, ::Ifc4x3_tc1::IfcAxis2Placement3D* v9_ConditionCoordinateSystem) : IfcStructuralConnection(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, v9_ConditionCoordinateSystem ? v9_ConditionCoordinateSystem->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralPointReaction @@ -16407,7 +16407,7 @@ Ifc4x3_tc1::IfcStructuralPointConnection::IfcStructuralPointConnection(std::stri const IfcParse::entity& Ifc4x3_tc1::IfcStructuralPointReaction::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1104]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralPointReaction::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1104]); } Ifc4x3_tc1::IfcStructuralPointReaction::IfcStructuralPointReaction(IfcEntityInstanceData&& e) : IfcStructuralReaction(std::move(e)) { } -Ifc4x3_tc1::IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralReaction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +Ifc4x3_tc1::IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralReaction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralReaction @@ -16415,14 +16415,14 @@ Ifc4x3_tc1::IfcStructuralPointReaction::IfcStructuralPointReaction(std::string v const IfcParse::entity& Ifc4x3_tc1::IfcStructuralReaction::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1105]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralReaction::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1105]); } Ifc4x3_tc1::IfcStructuralReaction::IfcStructuralReaction(IfcEntityInstanceData&& e) : IfcStructuralActivity(std::move(e)) { } -Ifc4x3_tc1::IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralActivity(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } +Ifc4x3_tc1::IfcStructuralReaction::IfcStructuralReaction(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal) : IfcStructuralActivity(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));; populate_derived(); } // Function implementations for IfcStructuralResultGroup -::Ifc4x3_tc1::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_tc1::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x3_tc1::IfcAnalysisTheoryTypeEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_tc1::IfcAnalysisTheoryTypeEnum::Value Ifc4x3_tc1::IfcStructuralResultGroup::TheoryType() const { return ::Ifc4x3_tc1::IfcAnalysisTheoryTypeEnum::FromString(get_attribute_value(5)); } void Ifc4x3_tc1::IfcStructuralResultGroup::setTheoryType(::Ifc4x3_tc1::IfcAnalysisTheoryTypeEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_tc1::IfcAnalysisTheoryTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_tc1::IfcStructuralLoadGroup* Ifc4x3_tc1::IfcStructuralResultGroup::ResultForLoadGroup() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcStructuralLoadGroup>(true); } +::Ifc4x3_tc1::IfcStructuralLoadGroup* Ifc4x3_tc1::IfcStructuralResultGroup::ResultForLoadGroup() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcStructuralLoadGroup>(true); } void Ifc4x3_tc1::IfcStructuralResultGroup::setResultForLoadGroup(::Ifc4x3_tc1::IfcStructuralLoadGroup* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -bool Ifc4x3_tc1::IfcStructuralResultGroup::IsLinear() const { bool v = data_.get_attribute_value(7); return v; } +bool Ifc4x3_tc1::IfcStructuralResultGroup::IsLinear() const { bool v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcStructuralResultGroup::setIsLinear(bool v) { set_attribute_value(7, v);if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_tc1::IfcStructuralAnalysisModel::list::ptr Ifc4x3_tc1::IfcStructuralResultGroup::ResultGroupFor() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[1075], 8)->as(); } @@ -16430,19 +16430,19 @@ void Ifc4x3_tc1::IfcStructuralResultGroup::setIsLinear(bool v) { set_attribute_v const IfcParse::entity& Ifc4x3_tc1::IfcStructuralResultGroup::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1106]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralResultGroup::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1106]); } Ifc4x3_tc1::IfcStructuralResultGroup::IfcStructuralResultGroup(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x3_tc1::IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_tc1::IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear) : IfcGroup(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_tc1::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, v7_ResultForLoadGroup ? v7_ResultForLoadGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_IsLinear));; populate_derived(); } +Ifc4x3_tc1::IfcStructuralResultGroup::IfcStructuralResultGroup(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcAnalysisTheoryTypeEnum::Value v6_TheoryType, ::Ifc4x3_tc1::IfcStructuralLoadGroup* v7_ResultForLoadGroup, bool v8_IsLinear) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, (EnumerationReference(&::Ifc4x3_tc1::IfcAnalysisTheoryTypeEnum::Class(),(size_t)v6_TheoryType)));set_attribute_value(6, v7_ResultForLoadGroup ? v7_ResultForLoadGroup->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (v8_IsLinear));; populate_derived(); } // Function implementations for IfcStructuralSurfaceAction -boost::optional< ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_tc1::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value > Ifc4x3_tc1::IfcStructuralSurfaceAction::ProjectedOrTrue() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::FromString(get_attribute_value(10)); } void Ifc4x3_tc1::IfcStructuralSurfaceAction::setProjectedOrTrue(boost::optional< ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_tc1::IfcStructuralSurfaceAction::PredefinedType() const { return ::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_tc1::IfcStructuralSurfaceAction::PredefinedType() const { return ::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_tc1::IfcStructuralSurfaceAction::setPredefinedType(::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralSurfaceAction::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1107]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralSurfaceAction::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1107]); } Ifc4x3_tc1::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(IfcEntityInstanceData&& e) : IfcStructuralAction(std::move(e)) { } -Ifc4x3_tc1::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, boost::optional< bool > v10_DestabilizingLoad, boost::optional< ::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Value > v11_ProjectedOrTrue, ::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Value v12_PredefinedType) : IfcStructuralAction(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal))); if (v10_DestabilizingLoad) {set_attribute_value(9, (*v10_DestabilizingLoad)); } if (v11_ProjectedOrTrue) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcProjectedOrTrueLengthEnum::Class(),(size_t)*v11_ProjectedOrTrue))); }set_attribute_value(11, (EnumerationReference(&::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcStructuralSurfaceConnection @@ -16450,19 +16450,19 @@ Ifc4x3_tc1::IfcStructuralSurfaceAction::IfcStructuralSurfaceAction(std::string v const IfcParse::entity& Ifc4x3_tc1::IfcStructuralSurfaceConnection::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1109]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralSurfaceConnection::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1109]); } Ifc4x3_tc1::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(IfcEntityInstanceData&& e) : IfcStructuralConnection(std::move(e)) { } -Ifc4x3_tc1::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcStructuralSurfaceConnection::IfcStructuralSurfaceConnection(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcBoundaryCondition* v8_AppliedCondition) : IfcStructuralConnection(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedCondition ? v8_AppliedCondition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcStructuralSurfaceMember -::Ifc4x3_tc1::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_tc1::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x3_tc1::IfcStructuralSurfaceMemberTypeEnum::FromString(data_.get_attribute_value(7)); } +::Ifc4x3_tc1::IfcStructuralSurfaceMemberTypeEnum::Value Ifc4x3_tc1::IfcStructuralSurfaceMember::PredefinedType() const { return ::Ifc4x3_tc1::IfcStructuralSurfaceMemberTypeEnum::FromString(get_attribute_value(7)); } void Ifc4x3_tc1::IfcStructuralSurfaceMember::setPredefinedType(::Ifc4x3_tc1::IfcStructuralSurfaceMemberTypeEnum::Value v) { set_attribute_value(7, EnumerationReference(&::Ifc4x3_tc1::IfcStructuralSurfaceMemberTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(7); } -boost::optional< double > Ifc4x3_tc1::IfcStructuralSurfaceMember::Thickness() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_tc1::IfcStructuralSurfaceMember::Thickness() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcStructuralSurfaceMember::setThickness(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralSurfaceMember::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1110]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralSurfaceMember::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1110]); } Ifc4x3_tc1::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(IfcEntityInstanceData&& e) : IfcStructuralMember(std::move(e)) { } -Ifc4x3_tc1::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } +Ifc4x3_tc1::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } // Function implementations for IfcStructuralSurfaceMemberVarying @@ -16470,17 +16470,17 @@ Ifc4x3_tc1::IfcStructuralSurfaceMember::IfcStructuralSurfaceMember(std::string v const IfcParse::entity& Ifc4x3_tc1::IfcStructuralSurfaceMemberVarying::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1112]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralSurfaceMemberVarying::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1112]); } Ifc4x3_tc1::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(IfcEntityInstanceData&& e) : IfcStructuralSurfaceMember(std::move(e)) { } -Ifc4x3_tc1::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralSurfaceMember(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } +Ifc4x3_tc1::IfcStructuralSurfaceMemberVarying::IfcStructuralSurfaceMemberVarying(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcStructuralSurfaceMemberTypeEnum::Value v8_PredefinedType, boost::optional< double > v9_Thickness) : IfcStructuralSurfaceMember(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, (EnumerationReference(&::Ifc4x3_tc1::IfcStructuralSurfaceMemberTypeEnum::Class(),(size_t)v8_PredefinedType))); if (v9_Thickness) {set_attribute_value(8, (*v9_Thickness)); }; populate_derived(); } // Function implementations for IfcStructuralSurfaceReaction -::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_tc1::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Value Ifc4x3_tc1::IfcStructuralSurfaceReaction::PredefinedType() const { return ::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcStructuralSurfaceReaction::setPredefinedType(::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralSurfaceReaction::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1113]); } const IfcParse::entity& Ifc4x3_tc1::IfcStructuralSurfaceReaction::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1113]); } Ifc4x3_tc1::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(IfcEntityInstanceData&& e) : IfcStructuralReaction(std::move(e)) { } -Ifc4x3_tc1::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, ::Ifc4x3_tc1::IfcStructuralLoad* v8_AppliedLoad, ::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Value v9_GlobalOrLocal, ::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Value v10_PredefinedType) : IfcStructuralReaction(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_AppliedLoad ? v8_AppliedLoad->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcGlobalOrLocalEnum::Class(),(size_t)v9_GlobalOrLocal)));set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcStructuralSurfaceActivityTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcStyleModel @@ -16488,21 +16488,21 @@ Ifc4x3_tc1::IfcStructuralSurfaceReaction::IfcStructuralSurfaceReaction(std::stri const IfcParse::entity& Ifc4x3_tc1::IfcStyleModel::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1116]); } const IfcParse::entity& Ifc4x3_tc1::IfcStyleModel::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1116]); } Ifc4x3_tc1::IfcStyleModel::IfcStyleModel(IfcEntityInstanceData&& e) : IfcRepresentation(std::move(e)) { } -Ifc4x3_tc1::IfcStyleModel::IfcStyleModel(::Ifc4x3_tc1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_tc1::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcStyleModel::IfcStyleModel(::Ifc4x3_tc1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_tc1::IfcRepresentationItem >::ptr v4_Items) : IfcRepresentation(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcStyledItem -::Ifc4x3_tc1::IfcRepresentationItem* Ifc4x3_tc1::IfcStyledItem::Item() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcRepresentationItem>(true); } +::Ifc4x3_tc1::IfcRepresentationItem* Ifc4x3_tc1::IfcStyledItem::Item() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcRepresentationItem>(true); } void Ifc4x3_tc1::IfcStyledItem::setItem(::Ifc4x3_tc1::IfcRepresentationItem* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_tc1::IfcPresentationStyle >::ptr Ifc4x3_tc1::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcPresentationStyle >(); } +aggregate_of< ::Ifc4x3_tc1::IfcPresentationStyle >::ptr Ifc4x3_tc1::IfcStyledItem::Styles() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcPresentationStyle >(); } void Ifc4x3_tc1::IfcStyledItem::setStyles(aggregate_of< ::Ifc4x3_tc1::IfcPresentationStyle >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_tc1::IfcStyledItem::Name() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcStyledItem::Name() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcStyledItem::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_tc1::IfcStyledItem::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1114]); } const IfcParse::entity& Ifc4x3_tc1::IfcStyledItem::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1114]); } Ifc4x3_tc1::IfcStyledItem::IfcStyledItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcStyledItem::IfcStyledItem(::Ifc4x3_tc1::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x3_tc1::IfcPresentationStyle >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } +Ifc4x3_tc1::IfcStyledItem::IfcStyledItem(::Ifc4x3_tc1::IfcRepresentationItem* v1_Item, aggregate_of< ::Ifc4x3_tc1::IfcPresentationStyle >::ptr v2_Styles, boost::optional< std::string > v3_Name) : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Item ? v1_Item->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Styles)->generalize()); if (v3_Name) {set_attribute_value(2, (*v3_Name)); }; populate_derived(); } // Function implementations for IfcStyledRepresentation @@ -16510,37 +16510,37 @@ Ifc4x3_tc1::IfcStyledItem::IfcStyledItem(::Ifc4x3_tc1::IfcRepresentationItem* v1 const IfcParse::entity& Ifc4x3_tc1::IfcStyledRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1115]); } const IfcParse::entity& Ifc4x3_tc1::IfcStyledRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1115]); } Ifc4x3_tc1::IfcStyledRepresentation::IfcStyledRepresentation(IfcEntityInstanceData&& e) : IfcStyleModel(std::move(e)) { } -Ifc4x3_tc1::IfcStyledRepresentation::IfcStyledRepresentation(::Ifc4x3_tc1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_tc1::IfcRepresentationItem >::ptr v4_Items) : IfcStyleModel(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcStyledRepresentation::IfcStyledRepresentation(::Ifc4x3_tc1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_tc1::IfcRepresentationItem >::ptr v4_Items) : IfcStyleModel(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcSubContractResource -boost::optional< ::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Value > Ifc4x3_tc1::IfcSubContractResource::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Value > Ifc4x3_tc1::IfcSubContractResource::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_tc1::IfcSubContractResource::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_tc1::IfcSubContractResource::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1117]); } const IfcParse::entity& Ifc4x3_tc1::IfcSubContractResource::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1117]); } Ifc4x3_tc1::IfcSubContractResource::IfcSubContractResource(IfcEntityInstanceData&& e) : IfcConstructionResource(std::move(e)) { } -Ifc4x3_tc1::IfcSubContractResource::IfcSubContractResource(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcSubContractResource::IfcSubContractResource(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcResourceTime* v8_Usage, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcAppliedValue >::ptr > v9_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity* v10_BaseQuantity, boost::optional< ::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Value > v11_PredefinedType) : IfcConstructionResource(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); }set_attribute_value(7, v8_Usage ? v8_Usage->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v9_BaseCosts) {set_attribute_value(8, (*v9_BaseCosts)->generalize()); }set_attribute_value(9, v10_BaseQuantity ? v10_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Class(),(size_t)*v11_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSubContractResourceType -::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Value Ifc4x3_tc1::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::FromString(data_.get_attribute_value(11)); } +::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Value Ifc4x3_tc1::IfcSubContractResourceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::FromString(get_attribute_value(11)); } void Ifc4x3_tc1::IfcSubContractResourceType::setPredefinedType(::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Value v) { set_attribute_value(11, EnumerationReference(&::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(11); } const IfcParse::entity& Ifc4x3_tc1::IfcSubContractResourceType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1118]); } const IfcParse::entity& Ifc4x3_tc1::IfcSubContractResourceType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1118]); } Ifc4x3_tc1::IfcSubContractResourceType::IfcSubContractResourceType(IfcEntityInstanceData&& e) : IfcConstructionResourceType(std::move(e)) { } -Ifc4x3_tc1::IfcSubContractResourceType::IfcSubContractResourceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::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_tc1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(storage_t(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcSubContractResourceType::IfcSubContractResourceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::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_tc1::IfcAppliedValue >::ptr > v10_BaseCosts, ::Ifc4x3_tc1::IfcPhysicalQuantity* v11_BaseQuantity, ::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Value v12_PredefinedType) : IfcConstructionResourceType(IfcEntityInstanceData(in_memory_attribute_storage(12))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); } if (v10_BaseCosts) {set_attribute_value(9, (*v10_BaseCosts)->generalize()); }set_attribute_value(10, v11_BaseQuantity ? v11_BaseQuantity->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(11, (EnumerationReference(&::Ifc4x3_tc1::IfcSubContractResourceTypeEnum::Class(),(size_t)v12_PredefinedType)));; populate_derived(); } // Function implementations for IfcSubedge -::Ifc4x3_tc1::IfcEdge* Ifc4x3_tc1::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcEdge>(true); } +::Ifc4x3_tc1::IfcEdge* Ifc4x3_tc1::IfcSubedge::ParentEdge() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcEdge>(true); } void Ifc4x3_tc1::IfcSubedge::setParentEdge(::Ifc4x3_tc1::IfcEdge* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcSubedge::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1120]); } const IfcParse::entity& Ifc4x3_tc1::IfcSubedge::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1120]); } Ifc4x3_tc1::IfcSubedge::IfcSubedge(IfcEntityInstanceData&& e) : IfcEdge(std::move(e)) { } -Ifc4x3_tc1::IfcSubedge::IfcSubedge(::Ifc4x3_tc1::IfcVertex* v1_EdgeStart, ::Ifc4x3_tc1::IfcVertex* v2_EdgeEnd, ::Ifc4x3_tc1::IfcEdge* v3_ParentEdge) : IfcEdge(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ParentEdge ? v3_ParentEdge->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcSubedge::IfcSubedge(::Ifc4x3_tc1::IfcVertex* v1_EdgeStart, ::Ifc4x3_tc1::IfcVertex* v2_EdgeEnd, ::Ifc4x3_tc1::IfcEdge* v3_ParentEdge) : IfcEdge(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_EdgeStart ? v1_EdgeStart->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_EdgeEnd ? v2_EdgeEnd->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ParentEdge ? v3_ParentEdge->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurface @@ -16548,34 +16548,34 @@ Ifc4x3_tc1::IfcSubedge::IfcSubedge(::Ifc4x3_tc1::IfcVertex* v1_EdgeStart, ::Ifc4 const IfcParse::entity& Ifc4x3_tc1::IfcSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1121]); } const IfcParse::entity& Ifc4x3_tc1::IfcSurface::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1121]); } Ifc4x3_tc1::IfcSurface::IfcSurface(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcSurface::IfcSurface() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_tc1::IfcSurface::IfcSurface() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcSurfaceCurve -::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCurve>(true); } +::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcSurfaceCurve::Curve3D() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCurve>(true); } void Ifc4x3_tc1::IfcSurfaceCurve::setCurve3D(::Ifc4x3_tc1::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_tc1::IfcPcurve >::ptr Ifc4x3_tc1::IfcSurfaceCurve::AssociatedGeometry() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcPcurve >(); } +aggregate_of< ::Ifc4x3_tc1::IfcPcurve >::ptr Ifc4x3_tc1::IfcSurfaceCurve::AssociatedGeometry() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcPcurve >(); } void Ifc4x3_tc1::IfcSurfaceCurve::setAssociatedGeometry(aggregate_of< ::Ifc4x3_tc1::IfcPcurve >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x3_tc1::IfcSurfaceCurve::MasterRepresentation() const { return ::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::FromString(data_.get_attribute_value(2)); } +::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Value Ifc4x3_tc1::IfcSurfaceCurve::MasterRepresentation() const { return ::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::FromString(get_attribute_value(2)); } void Ifc4x3_tc1::IfcSurfaceCurve::setMasterRepresentation(::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcSurfaceCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1122]); } const IfcParse::entity& Ifc4x3_tc1::IfcSurfaceCurve::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1122]); } Ifc4x3_tc1::IfcSurfaceCurve::IfcSurfaceCurve(IfcEntityInstanceData&& e) : IfcCurve(std::move(e)) { } -Ifc4x3_tc1::IfcSurfaceCurve::IfcSurfaceCurve(::Ifc4x3_tc1::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_tc1::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcCurve(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } +Ifc4x3_tc1::IfcSurfaceCurve::IfcSurfaceCurve(::Ifc4x3_tc1::IfcCurve* v1_Curve3D, aggregate_of< ::Ifc4x3_tc1::IfcPcurve >::ptr v2_AssociatedGeometry, ::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Value v3_MasterRepresentation) : IfcCurve(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Curve3D ? v1_Curve3D->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_AssociatedGeometry)->generalize());set_attribute_value(2, (EnumerationReference(&::Ifc4x3_tc1::IfcPreferredSurfaceCurveRepresentation::Class(),(size_t)v3_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcSurfaceCurveSweptAreaSolid -::Ifc4x3_tc1::IfcSurface* Ifc4x3_tc1::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcSurface>(true); } +::Ifc4x3_tc1::IfcSurface* Ifc4x3_tc1::IfcSurfaceCurveSweptAreaSolid::ReferenceSurface() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcSurface>(true); } void Ifc4x3_tc1::IfcSurfaceCurveSweptAreaSolid::setReferenceSurface(::Ifc4x3_tc1::IfcSurface* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcSurfaceCurveSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1123]); } const IfcParse::entity& Ifc4x3_tc1::IfcSurfaceCurveSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1123]); } Ifc4x3_tc1::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(IfcEntityInstanceData&& e) : IfcDirectrixCurveSweptAreaSolid(std::move(e)) { } -Ifc4x3_tc1::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(::Ifc4x3_tc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_tc1::IfcCurve* v3_Directrix, ::Ifc4x3_tc1::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_tc1::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3_tc1::IfcSurface* v6_ReferenceSurface) : IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReferenceSurface ? v6_ReferenceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcSurfaceCurveSweptAreaSolid::IfcSurfaceCurveSweptAreaSolid(::Ifc4x3_tc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_tc1::IfcCurve* v3_Directrix, ::Ifc4x3_tc1::IfcCurveMeasureSelect* v4_StartParam, ::Ifc4x3_tc1::IfcCurveMeasureSelect* v5_EndParam, ::Ifc4x3_tc1::IfcSurface* v6_ReferenceSurface) : IfcDirectrixCurveSweptAreaSolid(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_Directrix ? v3_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_StartParam ? v4_StartParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_EndParam ? v5_EndParam->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReferenceSurface ? v6_ReferenceSurface->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceFeature -boost::optional< ::Ifc4x3_tc1::IfcSurfaceFeatureTypeEnum::Value > Ifc4x3_tc1::IfcSurfaceFeature::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSurfaceFeatureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcSurfaceFeatureTypeEnum::Value > Ifc4x3_tc1::IfcSurfaceFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSurfaceFeatureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcSurfaceFeature::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcSurfaceFeatureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcSurfaceFeatureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } ::Ifc4x3_tc1::IfcRelAdheresToElement::list::ptr Ifc4x3_tc1::IfcSurfaceFeature::AdheresToElement() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[896], 5)->as(); } @@ -16583,138 +16583,138 @@ void Ifc4x3_tc1::IfcSurfaceFeature::setPredefinedType(boost::optional< ::Ifc4x3_ const IfcParse::entity& Ifc4x3_tc1::IfcSurfaceFeature::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1124]); } const IfcParse::entity& Ifc4x3_tc1::IfcSurfaceFeature::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1124]); } Ifc4x3_tc1::IfcSurfaceFeature::IfcSurfaceFeature(IfcEntityInstanceData&& e) : IfcFeatureElement(std::move(e)) { } -Ifc4x3_tc1::IfcSurfaceFeature::IfcSurfaceFeature(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcSurfaceFeature::IfcSurfaceFeature(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcSurfaceFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcSurfaceFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSurfaceOfLinearExtrusion -::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcDirection>(true); } +::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcSurfaceOfLinearExtrusion::ExtrudedDirection() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcDirection>(true); } void Ifc4x3_tc1::IfcSurfaceOfLinearExtrusion::setExtrudedDirection(::Ifc4x3_tc1::IfcDirection* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -double Ifc4x3_tc1::IfcSurfaceOfLinearExtrusion::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_tc1::IfcSurfaceOfLinearExtrusion::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcSurfaceOfLinearExtrusion::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcSurfaceOfLinearExtrusion::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1126]); } const IfcParse::entity& Ifc4x3_tc1::IfcSurfaceOfLinearExtrusion::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1126]); } Ifc4x3_tc1::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(IfcEntityInstanceData&& e) : IfcSweptSurface(std::move(e)) { } -Ifc4x3_tc1::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(::Ifc4x3_tc1::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_tc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_tc1::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } +Ifc4x3_tc1::IfcSurfaceOfLinearExtrusion::IfcSurfaceOfLinearExtrusion(::Ifc4x3_tc1::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_tc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_tc1::IfcDirection* v3_ExtrudedDirection, double v4_Depth) : IfcSweptSurface(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_ExtrudedDirection ? v3_ExtrudedDirection->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));; populate_derived(); } // Function implementations for IfcSurfaceOfRevolution -::Ifc4x3_tc1::IfcAxis1Placement* Ifc4x3_tc1::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcAxis1Placement>(true); } +::Ifc4x3_tc1::IfcAxis1Placement* Ifc4x3_tc1::IfcSurfaceOfRevolution::AxisPosition() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcAxis1Placement>(true); } void Ifc4x3_tc1::IfcSurfaceOfRevolution::setAxisPosition(::Ifc4x3_tc1::IfcAxis1Placement* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcSurfaceOfRevolution::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1127]); } const IfcParse::entity& Ifc4x3_tc1::IfcSurfaceOfRevolution::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1127]); } Ifc4x3_tc1::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(IfcEntityInstanceData&& e) : IfcSweptSurface(std::move(e)) { } -Ifc4x3_tc1::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(::Ifc4x3_tc1::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_tc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_tc1::IfcAxis1Placement* v3_AxisPosition) : IfcSweptSurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_AxisPosition ? v3_AxisPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcSurfaceOfRevolution::IfcSurfaceOfRevolution(::Ifc4x3_tc1::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_tc1::IfcAxis2Placement3D* v2_Position, ::Ifc4x3_tc1::IfcAxis1Placement* v3_AxisPosition) : IfcSweptSurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_AxisPosition ? v3_AxisPosition->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceReinforcementArea -boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_tc1::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_tc1::IfcSurfaceReinforcementArea::SurfaceReinforcement1() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcSurfaceReinforcementArea::setSurfaceReinforcement1(boost::optional< std::vector< double > /*[2:3]*/ > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_tc1::IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< double > /*[2:3]*/ > Ifc4x3_tc1::IfcSurfaceReinforcementArea::SurfaceReinforcement2() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[2:3]*/ v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcSurfaceReinforcementArea::setSurfaceReinforcement2(boost::optional< std::vector< double > /*[2:3]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_tc1::IfcSurfaceReinforcementArea::ShearReinforcement() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_tc1::IfcSurfaceReinforcementArea::ShearReinforcement() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcSurfaceReinforcementArea::setShearReinforcement(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } const IfcParse::entity& Ifc4x3_tc1::IfcSurfaceReinforcementArea::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1129]); } const IfcParse::entity& Ifc4x3_tc1::IfcSurfaceReinforcementArea::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1129]); } Ifc4x3_tc1::IfcSurfaceReinforcementArea::IfcSurfaceReinforcementArea(IfcEntityInstanceData&& e) : IfcStructuralLoadOrResult(std::move(e)) { } -Ifc4x3_tc1::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(storage_t(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); }; populate_derived(); } +Ifc4x3_tc1::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(in_memory_attribute_storage(4))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_SurfaceReinforcement1) {set_attribute_value(1, (*v2_SurfaceReinforcement1)); } if (v3_SurfaceReinforcement2) {set_attribute_value(2, (*v3_SurfaceReinforcement2)); } if (v4_ShearReinforcement) {set_attribute_value(3, (*v4_ShearReinforcement)); }; populate_derived(); } // Function implementations for IfcSurfaceStyle -::Ifc4x3_tc1::IfcSurfaceSide::Value Ifc4x3_tc1::IfcSurfaceStyle::Side() const { return ::Ifc4x3_tc1::IfcSurfaceSide::FromString(data_.get_attribute_value(1)); } +::Ifc4x3_tc1::IfcSurfaceSide::Value Ifc4x3_tc1::IfcSurfaceStyle::Side() const { return ::Ifc4x3_tc1::IfcSurfaceSide::FromString(get_attribute_value(1)); } void Ifc4x3_tc1::IfcSurfaceStyle::setSide(::Ifc4x3_tc1::IfcSurfaceSide::Value v) { set_attribute_value(1, EnumerationReference(&::Ifc4x3_tc1::IfcSurfaceSide::Class(), (size_t) v));if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3_tc1::IfcSurfaceStyleElementSelect >::ptr Ifc4x3_tc1::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcSurfaceStyleElementSelect >(); } +aggregate_of< ::Ifc4x3_tc1::IfcSurfaceStyleElementSelect >::ptr Ifc4x3_tc1::IfcSurfaceStyle::Styles() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcSurfaceStyleElementSelect >(); } void Ifc4x3_tc1::IfcSurfaceStyle::setStyles(aggregate_of< ::Ifc4x3_tc1::IfcSurfaceStyleElementSelect >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcSurfaceStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1131]); } const IfcParse::entity& Ifc4x3_tc1::IfcSurfaceStyle::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1131]); } Ifc4x3_tc1::IfcSurfaceStyle::IfcSurfaceStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x3_tc1::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_tc1::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (EnumerationReference(&::Ifc4x3_tc1::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, (v3_Styles)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcSurfaceStyle::IfcSurfaceStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcSurfaceSide::Value v2_Side, aggregate_of< ::Ifc4x3_tc1::IfcSurfaceStyleElementSelect >::ptr v3_Styles) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, (EnumerationReference(&::Ifc4x3_tc1::IfcSurfaceSide::Class(),(size_t)v2_Side)));set_attribute_value(2, (v3_Styles)->generalize());; populate_derived(); } // Function implementations for IfcSurfaceStyleLighting -::Ifc4x3_tc1::IfcColourRgb* Ifc4x3_tc1::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcColourRgb>(true); } +::Ifc4x3_tc1::IfcColourRgb* Ifc4x3_tc1::IfcSurfaceStyleLighting::DiffuseTransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcColourRgb>(true); } void Ifc4x3_tc1::IfcSurfaceStyleLighting::setDiffuseTransmissionColour(::Ifc4x3_tc1::IfcColourRgb* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_tc1::IfcColourRgb* Ifc4x3_tc1::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcColourRgb>(true); } +::Ifc4x3_tc1::IfcColourRgb* Ifc4x3_tc1::IfcSurfaceStyleLighting::DiffuseReflectionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcColourRgb>(true); } void Ifc4x3_tc1::IfcSurfaceStyleLighting::setDiffuseReflectionColour(::Ifc4x3_tc1::IfcColourRgb* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_tc1::IfcColourRgb* Ifc4x3_tc1::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcColourRgb>(true); } +::Ifc4x3_tc1::IfcColourRgb* Ifc4x3_tc1::IfcSurfaceStyleLighting::TransmissionColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcColourRgb>(true); } void Ifc4x3_tc1::IfcSurfaceStyleLighting::setTransmissionColour(::Ifc4x3_tc1::IfcColourRgb* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_tc1::IfcColourRgb* Ifc4x3_tc1::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcColourRgb>(true); } +::Ifc4x3_tc1::IfcColourRgb* Ifc4x3_tc1::IfcSurfaceStyleLighting::ReflectanceColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcColourRgb>(true); } void Ifc4x3_tc1::IfcSurfaceStyleLighting::setReflectanceColour(::Ifc4x3_tc1::IfcColourRgb* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } const IfcParse::entity& Ifc4x3_tc1::IfcSurfaceStyleLighting::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1133]); } const IfcParse::entity& Ifc4x3_tc1::IfcSurfaceStyleLighting::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1133]); } Ifc4x3_tc1::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(::Ifc4x3_tc1::IfcColourRgb* v1_DiffuseTransmissionColour, ::Ifc4x3_tc1::IfcColourRgb* v2_DiffuseReflectionColour, ::Ifc4x3_tc1::IfcColourRgb* v3_TransmissionColour, ::Ifc4x3_tc1::IfcColourRgb* v4_ReflectanceColour) : IfcPresentationItem(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_DiffuseTransmissionColour ? v1_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_DiffuseReflectionColour ? v2_DiffuseReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TransmissionColour ? v3_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_ReflectanceColour ? v4_ReflectanceColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcSurfaceStyleLighting::IfcSurfaceStyleLighting(::Ifc4x3_tc1::IfcColourRgb* v1_DiffuseTransmissionColour, ::Ifc4x3_tc1::IfcColourRgb* v2_DiffuseReflectionColour, ::Ifc4x3_tc1::IfcColourRgb* v3_TransmissionColour, ::Ifc4x3_tc1::IfcColourRgb* v4_ReflectanceColour) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_DiffuseTransmissionColour ? v1_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_DiffuseReflectionColour ? v2_DiffuseReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TransmissionColour ? v3_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_ReflectanceColour ? v4_ReflectanceColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSurfaceStyleRefraction -boost::optional< double > Ifc4x3_tc1::IfcSurfaceStyleRefraction::RefractionIndex() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } double v = data_.get_attribute_value(0); return v; } +boost::optional< double > Ifc4x3_tc1::IfcSurfaceStyleRefraction::RefractionIndex() const { if(get_attribute_value(0).isNull()) { return boost::none; } double v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcSurfaceStyleRefraction::setRefractionIndex(boost::optional< double > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< double > Ifc4x3_tc1::IfcSurfaceStyleRefraction::DispersionFactor() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_tc1::IfcSurfaceStyleRefraction::DispersionFactor() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcSurfaceStyleRefraction::setDispersionFactor(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_tc1::IfcSurfaceStyleRefraction::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1134]); } const IfcParse::entity& Ifc4x3_tc1::IfcSurfaceStyleRefraction::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1134]); } Ifc4x3_tc1::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; populate_derived(); } +Ifc4x3_tc1::IfcSurfaceStyleRefraction::IfcSurfaceStyleRefraction(boost::optional< double > v1_RefractionIndex, boost::optional< double > v2_DispersionFactor) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_RefractionIndex) {set_attribute_value(0, (*v1_RefractionIndex)); } if (v2_DispersionFactor) {set_attribute_value(1, (*v2_DispersionFactor)); }; populate_derived(); } // Function implementations for IfcSurfaceStyleRendering -::Ifc4x3_tc1::IfcColourOrFactor* Ifc4x3_tc1::IfcSurfaceStyleRendering::DiffuseColour() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcColourOrFactor>(true); } +::Ifc4x3_tc1::IfcColourOrFactor* Ifc4x3_tc1::IfcSurfaceStyleRendering::DiffuseColour() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcColourOrFactor>(true); } void Ifc4x3_tc1::IfcSurfaceStyleRendering::setDiffuseColour(::Ifc4x3_tc1::IfcColourOrFactor* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_tc1::IfcColourOrFactor* Ifc4x3_tc1::IfcSurfaceStyleRendering::TransmissionColour() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcColourOrFactor>(true); } +::Ifc4x3_tc1::IfcColourOrFactor* Ifc4x3_tc1::IfcSurfaceStyleRendering::TransmissionColour() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcColourOrFactor>(true); } void Ifc4x3_tc1::IfcSurfaceStyleRendering::setTransmissionColour(::Ifc4x3_tc1::IfcColourOrFactor* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_tc1::IfcColourOrFactor* Ifc4x3_tc1::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcColourOrFactor>(true); } +::Ifc4x3_tc1::IfcColourOrFactor* Ifc4x3_tc1::IfcSurfaceStyleRendering::DiffuseTransmissionColour() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcColourOrFactor>(true); } void Ifc4x3_tc1::IfcSurfaceStyleRendering::setDiffuseTransmissionColour(::Ifc4x3_tc1::IfcColourOrFactor* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_tc1::IfcColourOrFactor* Ifc4x3_tc1::IfcSurfaceStyleRendering::ReflectionColour() const { if(data_.get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcColourOrFactor>(true); } +::Ifc4x3_tc1::IfcColourOrFactor* Ifc4x3_tc1::IfcSurfaceStyleRendering::ReflectionColour() const { if(get_attribute_value(5).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcColourOrFactor>(true); } void Ifc4x3_tc1::IfcSurfaceStyleRendering::setReflectionColour(::Ifc4x3_tc1::IfcColourOrFactor* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } -::Ifc4x3_tc1::IfcColourOrFactor* Ifc4x3_tc1::IfcSurfaceStyleRendering::SpecularColour() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcColourOrFactor>(true); } +::Ifc4x3_tc1::IfcColourOrFactor* Ifc4x3_tc1::IfcSurfaceStyleRendering::SpecularColour() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcColourOrFactor>(true); } void Ifc4x3_tc1::IfcSurfaceStyleRendering::setSpecularColour(::Ifc4x3_tc1::IfcColourOrFactor* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } -::Ifc4x3_tc1::IfcSpecularHighlightSelect* Ifc4x3_tc1::IfcSurfaceStyleRendering::SpecularHighlight() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_tc1::IfcSpecularHighlightSelect>(true); } +::Ifc4x3_tc1::IfcSpecularHighlightSelect* Ifc4x3_tc1::IfcSurfaceStyleRendering::SpecularHighlight() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_tc1::IfcSpecularHighlightSelect>(true); } void Ifc4x3_tc1::IfcSurfaceStyleRendering::setSpecularHighlight(::Ifc4x3_tc1::IfcSpecularHighlightSelect* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } -::Ifc4x3_tc1::IfcReflectanceMethodEnum::Value Ifc4x3_tc1::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4x3_tc1::IfcReflectanceMethodEnum::FromString(data_.get_attribute_value(8)); } +::Ifc4x3_tc1::IfcReflectanceMethodEnum::Value Ifc4x3_tc1::IfcSurfaceStyleRendering::ReflectanceMethod() const { return ::Ifc4x3_tc1::IfcReflectanceMethodEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcSurfaceStyleRendering::setReflectanceMethod(::Ifc4x3_tc1::IfcReflectanceMethodEnum::Value v) { set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcReflectanceMethodEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_tc1::IfcSurfaceStyleRendering::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1135]); } const IfcParse::entity& Ifc4x3_tc1::IfcSurfaceStyleRendering::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1135]); } Ifc4x3_tc1::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(IfcEntityInstanceData&& e) : IfcSurfaceStyleShading(std::move(e)) { } -Ifc4x3_tc1::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc4x3_tc1::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, ::Ifc4x3_tc1::IfcColourOrFactor* v3_DiffuseColour, ::Ifc4x3_tc1::IfcColourOrFactor* v4_TransmissionColour, ::Ifc4x3_tc1::IfcColourOrFactor* v5_DiffuseTransmissionColour, ::Ifc4x3_tc1::IfcColourOrFactor* v6_ReflectionColour, ::Ifc4x3_tc1::IfcColourOrFactor* v7_SpecularColour, ::Ifc4x3_tc1::IfcSpecularHighlightSelect* v8_SpecularHighlight, ::Ifc4x3_tc1::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) : IfcSurfaceStyleShading(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, v3_DiffuseColour ? v3_DiffuseColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TransmissionColour ? v4_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_DiffuseTransmissionColour ? v5_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReflectionColour ? v6_ReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_SpecularColour ? v7_SpecularColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_SpecularHighlight ? v8_SpecularHighlight->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; populate_derived(); } +Ifc4x3_tc1::IfcSurfaceStyleRendering::IfcSurfaceStyleRendering(::Ifc4x3_tc1::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency, ::Ifc4x3_tc1::IfcColourOrFactor* v3_DiffuseColour, ::Ifc4x3_tc1::IfcColourOrFactor* v4_TransmissionColour, ::Ifc4x3_tc1::IfcColourOrFactor* v5_DiffuseTransmissionColour, ::Ifc4x3_tc1::IfcColourOrFactor* v6_ReflectionColour, ::Ifc4x3_tc1::IfcColourOrFactor* v7_SpecularColour, ::Ifc4x3_tc1::IfcSpecularHighlightSelect* v8_SpecularHighlight, ::Ifc4x3_tc1::IfcReflectanceMethodEnum::Value v9_ReflectanceMethod) : IfcSurfaceStyleShading(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }set_attribute_value(2, v3_DiffuseColour ? v3_DiffuseColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TransmissionColour ? v4_TransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_DiffuseTransmissionColour ? v5_DiffuseTransmissionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(5, v6_ReflectionColour ? v6_ReflectionColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_SpecularColour ? v7_SpecularColour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(7, v8_SpecularHighlight ? v8_SpecularHighlight->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcReflectanceMethodEnum::Class(),(size_t)v9_ReflectanceMethod)));; populate_derived(); } // Function implementations for IfcSurfaceStyleShading -::Ifc4x3_tc1::IfcColourRgb* Ifc4x3_tc1::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcColourRgb>(true); } +::Ifc4x3_tc1::IfcColourRgb* Ifc4x3_tc1::IfcSurfaceStyleShading::SurfaceColour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcColourRgb>(true); } void Ifc4x3_tc1::IfcSurfaceStyleShading::setSurfaceColour(::Ifc4x3_tc1::IfcColourRgb* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< double > Ifc4x3_tc1::IfcSurfaceStyleShading::Transparency() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } double v = data_.get_attribute_value(1); return v; } +boost::optional< double > Ifc4x3_tc1::IfcSurfaceStyleShading::Transparency() const { if(get_attribute_value(1).isNull()) { return boost::none; } double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcSurfaceStyleShading::setTransparency(boost::optional< double > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_tc1::IfcSurfaceStyleShading::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1136]); } const IfcParse::entity& Ifc4x3_tc1::IfcSurfaceStyleShading::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1136]); } Ifc4x3_tc1::IfcSurfaceStyleShading::IfcSurfaceStyleShading(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcSurfaceStyleShading::IfcSurfaceStyleShading(::Ifc4x3_tc1::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }; populate_derived(); } +Ifc4x3_tc1::IfcSurfaceStyleShading::IfcSurfaceStyleShading(::Ifc4x3_tc1::IfcColourRgb* v1_SurfaceColour, boost::optional< double > v2_Transparency) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SurfaceColour ? v1_SurfaceColour->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Transparency) {set_attribute_value(1, (*v2_Transparency)); }; populate_derived(); } // Function implementations for IfcSurfaceStyleWithTextures -aggregate_of< ::Ifc4x3_tc1::IfcSurfaceTexture >::ptr Ifc4x3_tc1::IfcSurfaceStyleWithTextures::Textures() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcSurfaceTexture >(); } +aggregate_of< ::Ifc4x3_tc1::IfcSurfaceTexture >::ptr Ifc4x3_tc1::IfcSurfaceStyleWithTextures::Textures() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcSurfaceTexture >(); } void Ifc4x3_tc1::IfcSurfaceStyleWithTextures::setTextures(aggregate_of< ::Ifc4x3_tc1::IfcSurfaceTexture >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_tc1::IfcSurfaceStyleWithTextures::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1137]); } const IfcParse::entity& Ifc4x3_tc1::IfcSurfaceStyleWithTextures::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1137]); } Ifc4x3_tc1::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(aggregate_of< ::Ifc4x3_tc1::IfcSurfaceTexture >::ptr v1_Textures) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Textures)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcSurfaceStyleWithTextures::IfcSurfaceStyleWithTextures(aggregate_of< ::Ifc4x3_tc1::IfcSurfaceTexture >::ptr v1_Textures) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Textures)->generalize());; populate_derived(); } // Function implementations for IfcSurfaceTexture -bool Ifc4x3_tc1::IfcSurfaceTexture::RepeatS() const { bool v = data_.get_attribute_value(0); return v; } +bool Ifc4x3_tc1::IfcSurfaceTexture::RepeatS() const { bool v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcSurfaceTexture::setRepeatS(bool v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -bool Ifc4x3_tc1::IfcSurfaceTexture::RepeatT() const { bool v = data_.get_attribute_value(1); return v; } +bool Ifc4x3_tc1::IfcSurfaceTexture::RepeatT() const { bool v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcSurfaceTexture::setRepeatT(bool v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_tc1::IfcSurfaceTexture::Mode() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcSurfaceTexture::Mode() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcSurfaceTexture::setMode(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_tc1::IfcCartesianTransformationOperator2D* Ifc4x3_tc1::IfcSurfaceTexture::TextureTransform() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcCartesianTransformationOperator2D>(true); } +::Ifc4x3_tc1::IfcCartesianTransformationOperator2D* Ifc4x3_tc1::IfcSurfaceTexture::TextureTransform() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcCartesianTransformationOperator2D>(true); } void Ifc4x3_tc1::IfcSurfaceTexture::setTextureTransform(::Ifc4x3_tc1::IfcCartesianTransformationOperator2D* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_tc1::IfcSurfaceTexture::Parameter() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_tc1::IfcSurfaceTexture::Parameter() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcSurfaceTexture::setParameter(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } ::Ifc4x3_tc1::IfcTextureCoordinate::list::ptr Ifc4x3_tc1::IfcSurfaceTexture::IsMappedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[1189], 0)->as(); } @@ -16723,79 +16723,79 @@ void Ifc4x3_tc1::IfcSurfaceTexture::setParameter(boost::optional< std::vector< s const IfcParse::entity& Ifc4x3_tc1::IfcSurfaceTexture::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1138]); } const IfcParse::entity& Ifc4x3_tc1::IfcSurfaceTexture::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1138]); } Ifc4x3_tc1::IfcSurfaceTexture::IfcSurfaceTexture(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_tc1::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) : IfcPresentationItem(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }; populate_derived(); } +Ifc4x3_tc1::IfcSurfaceTexture::IfcSurfaceTexture(bool v1_RepeatS, bool v2_RepeatT, boost::optional< std::string > v3_Mode, ::Ifc4x3_tc1::IfcCartesianTransformationOperator2D* v4_TextureTransform, boost::optional< std::vector< std::string > /*[1:?]*/ > v5_Parameter) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_RepeatS));set_attribute_value(1, (v2_RepeatT)); if (v3_Mode) {set_attribute_value(2, (*v3_Mode)); }set_attribute_value(3, v4_TextureTransform ? v4_TextureTransform->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_Parameter) {set_attribute_value(4, (*v5_Parameter)); }; populate_derived(); } // Function implementations for IfcSweptAreaSolid -::Ifc4x3_tc1::IfcProfileDef* Ifc4x3_tc1::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcProfileDef>(true); } +::Ifc4x3_tc1::IfcProfileDef* Ifc4x3_tc1::IfcSweptAreaSolid::SweptArea() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcProfileDef>(true); } void Ifc4x3_tc1::IfcSweptAreaSolid::setSweptArea(::Ifc4x3_tc1::IfcProfileDef* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_tc1::IfcAxis2Placement3D* Ifc4x3_tc1::IfcSweptAreaSolid::Position() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcAxis2Placement3D>(true); } +::Ifc4x3_tc1::IfcAxis2Placement3D* Ifc4x3_tc1::IfcSweptAreaSolid::Position() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcAxis2Placement3D>(true); } void Ifc4x3_tc1::IfcSweptAreaSolid::setPosition(::Ifc4x3_tc1::IfcAxis2Placement3D* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcSweptAreaSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1139]); } const IfcParse::entity& Ifc4x3_tc1::IfcSweptAreaSolid::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1139]); } Ifc4x3_tc1::IfcSweptAreaSolid::IfcSweptAreaSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3_tc1::IfcSweptAreaSolid::IfcSweptAreaSolid(::Ifc4x3_tc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D* v2_Position) : IfcSolidModel(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcSweptAreaSolid::IfcSweptAreaSolid(::Ifc4x3_tc1::IfcProfileDef* v1_SweptArea, ::Ifc4x3_tc1::IfcAxis2Placement3D* v2_Position) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SweptArea ? v1_SweptArea->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSweptDiskSolid -::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCurve>(true); } +::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcSweptDiskSolid::Directrix() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCurve>(true); } void Ifc4x3_tc1::IfcSweptDiskSolid::setDirectrix(::Ifc4x3_tc1::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_tc1::IfcSweptDiskSolid::Radius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_tc1::IfcSweptDiskSolid::Radius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcSweptDiskSolid::setRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_tc1::IfcSweptDiskSolid::InnerRadius() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_tc1::IfcSweptDiskSolid::InnerRadius() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcSweptDiskSolid::setInnerRadius(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_tc1::IfcSweptDiskSolid::StartParam() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_tc1::IfcSweptDiskSolid::StartParam() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcSweptDiskSolid::setStartParam(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_tc1::IfcSweptDiskSolid::EndParam() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_tc1::IfcSweptDiskSolid::EndParam() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcSweptDiskSolid::setEndParam(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_tc1::IfcSweptDiskSolid::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1140]); } const IfcParse::entity& Ifc4x3_tc1::IfcSweptDiskSolid::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1140]); } Ifc4x3_tc1::IfcSweptDiskSolid::IfcSweptDiskSolid(IfcEntityInstanceData&& e) : IfcSolidModel(std::move(e)) { } -Ifc4x3_tc1::IfcSweptDiskSolid::IfcSweptDiskSolid(::Ifc4x3_tc1::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam) : IfcSolidModel(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; populate_derived(); } +Ifc4x3_tc1::IfcSweptDiskSolid::IfcSweptDiskSolid(::Ifc4x3_tc1::IfcCurve* v1_Directrix, double v2_Radius, boost::optional< double > v3_InnerRadius, boost::optional< double > v4_StartParam, boost::optional< double > v5_EndParam) : IfcSolidModel(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); }; populate_derived(); } // Function implementations for IfcSweptDiskSolidPolygonal -boost::optional< double > Ifc4x3_tc1::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_tc1::IfcSweptDiskSolidPolygonal::FilletRadius() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcSweptDiskSolidPolygonal::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_tc1::IfcSweptDiskSolidPolygonal::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1141]); } const IfcParse::entity& Ifc4x3_tc1::IfcSweptDiskSolidPolygonal::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1141]); } Ifc4x3_tc1::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(IfcEntityInstanceData&& e) : IfcSweptDiskSolid(std::move(e)) { } -Ifc4x3_tc1::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(::Ifc4x3_tc1::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(storage_t(6))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); }; populate_derived(); } +Ifc4x3_tc1::IfcSweptDiskSolidPolygonal::IfcSweptDiskSolidPolygonal(::Ifc4x3_tc1::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(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_Directrix ? v1_Directrix->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Radius)); if (v3_InnerRadius) {set_attribute_value(2, (*v3_InnerRadius)); } if (v4_StartParam) {set_attribute_value(3, (*v4_StartParam)); } if (v5_EndParam) {set_attribute_value(4, (*v5_EndParam)); } if (v6_FilletRadius) {set_attribute_value(5, (*v6_FilletRadius)); }; populate_derived(); } // Function implementations for IfcSweptSurface -::Ifc4x3_tc1::IfcProfileDef* Ifc4x3_tc1::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcProfileDef>(true); } +::Ifc4x3_tc1::IfcProfileDef* Ifc4x3_tc1::IfcSweptSurface::SweptCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcProfileDef>(true); } void Ifc4x3_tc1::IfcSweptSurface::setSweptCurve(::Ifc4x3_tc1::IfcProfileDef* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_tc1::IfcAxis2Placement3D* Ifc4x3_tc1::IfcSweptSurface::Position() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcAxis2Placement3D>(true); } +::Ifc4x3_tc1::IfcAxis2Placement3D* Ifc4x3_tc1::IfcSweptSurface::Position() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcAxis2Placement3D>(true); } void Ifc4x3_tc1::IfcSweptSurface::setPosition(::Ifc4x3_tc1::IfcAxis2Placement3D* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcSweptSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1142]); } const IfcParse::entity& Ifc4x3_tc1::IfcSweptSurface::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1142]); } Ifc4x3_tc1::IfcSweptSurface::IfcSweptSurface(IfcEntityInstanceData&& e) : IfcSurface(std::move(e)) { } -Ifc4x3_tc1::IfcSweptSurface::IfcSweptSurface(::Ifc4x3_tc1::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_tc1::IfcAxis2Placement3D* v2_Position) : IfcSurface(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcSweptSurface::IfcSweptSurface(::Ifc4x3_tc1::IfcProfileDef* v1_SweptCurve, ::Ifc4x3_tc1::IfcAxis2Placement3D* v2_Position) : IfcSurface(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_SweptCurve ? v1_SweptCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_Position ? v2_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcSwitchingDevice -boost::optional< ::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Value > Ifc4x3_tc1::IfcSwitchingDevice::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Value > Ifc4x3_tc1::IfcSwitchingDevice::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcSwitchingDevice::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcSwitchingDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1143]); } const IfcParse::entity& Ifc4x3_tc1::IfcSwitchingDevice::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1143]); } Ifc4x3_tc1::IfcSwitchingDevice::IfcSwitchingDevice(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_tc1::IfcSwitchingDevice::IfcSwitchingDevice(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcSwitchingDevice::IfcSwitchingDevice(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSwitchingDeviceType -::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Value Ifc4x3_tc1::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Value Ifc4x3_tc1::IfcSwitchingDeviceType::PredefinedType() const { return ::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcSwitchingDeviceType::setPredefinedType(::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcSwitchingDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1144]); } const IfcParse::entity& Ifc4x3_tc1::IfcSwitchingDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1144]); } Ifc4x3_tc1::IfcSwitchingDeviceType::IfcSwitchingDeviceType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_tc1::IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcSwitchingDeviceTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcSystem @@ -16805,304 +16805,304 @@ Ifc4x3_tc1::IfcSwitchingDeviceType::IfcSwitchingDeviceType(std::string v1_Global const IfcParse::entity& Ifc4x3_tc1::IfcSystem::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1146]); } const IfcParse::entity& Ifc4x3_tc1::IfcSystem::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1146]); } Ifc4x3_tc1::IfcSystem::IfcSystem(IfcEntityInstanceData&& e) : IfcGroup(std::move(e)) { } -Ifc4x3_tc1::IfcSystem::IfcSystem(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcGroup(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } +Ifc4x3_tc1::IfcSystem::IfcSystem(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType) : IfcGroup(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }; populate_derived(); } // Function implementations for IfcSystemFurnitureElement -boost::optional< ::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_tc1::IfcSystemFurnitureElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_tc1::IfcSystemFurnitureElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcSystemFurnitureElement::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcSystemFurnitureElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1147]); } const IfcParse::entity& Ifc4x3_tc1::IfcSystemFurnitureElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1147]); } Ifc4x3_tc1::IfcSystemFurnitureElement::IfcSystemFurnitureElement(IfcEntityInstanceData&& e) : IfcFurnishingElement(std::move(e)) { } -Ifc4x3_tc1::IfcSystemFurnitureElement::IfcSystemFurnitureElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcSystemFurnitureElement::IfcSystemFurnitureElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Value > v9_PredefinedType) : IfcFurnishingElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcSystemFurnitureElementType -boost::optional< ::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_tc1::IfcSystemFurnitureElementType::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Value > Ifc4x3_tc1::IfcSystemFurnitureElementType::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcSystemFurnitureElementType::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_tc1::IfcSystemFurnitureElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1148]); } const IfcParse::entity& Ifc4x3_tc1::IfcSystemFurnitureElementType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1148]); } Ifc4x3_tc1::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(IfcEntityInstanceData&& e) : IfcFurnishingElementType(std::move(e)) { } -Ifc4x3_tc1::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< ::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcSystemFurnitureElementType::IfcSystemFurnitureElementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, boost::optional< ::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Value > v10_PredefinedType) : IfcFurnishingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcSystemFurnitureElementTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTShapeProfileDef -double Ifc4x3_tc1::IfcTShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_tc1::IfcTShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcTShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_tc1::IfcTShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_tc1::IfcTShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcTShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_tc1::IfcTShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_tc1::IfcTShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcTShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_tc1::IfcTShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_tc1::IfcTShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcTShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_tc1::IfcTShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_tc1::IfcTShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcTShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_tc1::IfcTShapeProfileDef::FlangeEdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_tc1::IfcTShapeProfileDef::FlangeEdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcTShapeProfileDef::setFlangeEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_tc1::IfcTShapeProfileDef::WebEdgeRadius() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_tc1::IfcTShapeProfileDef::WebEdgeRadius() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_tc1::IfcTShapeProfileDef::setWebEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_tc1::IfcTShapeProfileDef::WebSlope() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_tc1::IfcTShapeProfileDef::WebSlope() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_tc1::IfcTShapeProfileDef::setWebSlope(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_tc1::IfcTShapeProfileDef::FlangeSlope() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_tc1::IfcTShapeProfileDef::FlangeSlope() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_tc1::IfcTShapeProfileDef::setFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } const IfcParse::entity& Ifc4x3_tc1::IfcTShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1234]); } const IfcParse::entity& Ifc4x3_tc1::IfcTShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1234]); } Ifc4x3_tc1::IfcTShapeProfileDef::IfcTShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_tc1::IfcTShapeProfileDef::IfcTShapeProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::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(storage_t(12))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); }; populate_derived(); } +Ifc4x3_tc1::IfcTShapeProfileDef::IfcTShapeProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::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(in_memory_attribute_storage(12))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_FlangeEdgeRadius) {set_attribute_value(8, (*v9_FlangeEdgeRadius)); } if (v10_WebEdgeRadius) {set_attribute_value(9, (*v10_WebEdgeRadius)); } if (v11_WebSlope) {set_attribute_value(10, (*v11_WebSlope)); } if (v12_FlangeSlope) {set_attribute_value(11, (*v12_FlangeSlope)); }; populate_derived(); } // Function implementations for IfcTable -boost::optional< std::string > Ifc4x3_tc1::IfcTable::Name() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTable::Name() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcTable::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcTableRow >::ptr > Ifc4x3_tc1::IfcTable::Rows() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcTableRow >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcTableRow >::ptr > Ifc4x3_tc1::IfcTable::Rows() const { if(get_attribute_value(1).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcTableRow >(); } void Ifc4x3_tc1::IfcTable::setRows(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcTableRow >::ptr > v) { if (v) {set_attribute_value(1, (*v)->generalize());} else {unset_attribute_value(1);} } -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcTableColumn >::ptr > Ifc4x3_tc1::IfcTable::Columns() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcTableColumn >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcTableColumn >::ptr > Ifc4x3_tc1::IfcTable::Columns() const { if(get_attribute_value(2).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcTableColumn >(); } void Ifc4x3_tc1::IfcTable::setColumns(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcTableColumn >::ptr > v) { if (v) {set_attribute_value(2, (*v)->generalize());} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_tc1::IfcTable::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1150]); } const IfcParse::entity& Ifc4x3_tc1::IfcTable::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1150]); } Ifc4x3_tc1::IfcTable::IfcTable(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcTable::IfcTable(boost::optional< std::string > v1_Name, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcTableRow >::ptr > v2_Rows, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcTableColumn >::ptr > v3_Columns) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, (*v2_Rows)->generalize()); } if (v3_Columns) {set_attribute_value(2, (*v3_Columns)->generalize()); }; populate_derived(); } +Ifc4x3_tc1::IfcTable::IfcTable(boost::optional< std::string > v1_Name, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcTableRow >::ptr > v2_Rows, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcTableColumn >::ptr > v3_Columns) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(3))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_Rows) {set_attribute_value(1, (*v2_Rows)->generalize()); } if (v3_Columns) {set_attribute_value(2, (*v3_Columns)->generalize()); }; populate_derived(); } // Function implementations for IfcTableColumn -boost::optional< std::string > Ifc4x3_tc1::IfcTableColumn::Identifier() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(0); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTableColumn::Identifier() const { if(get_attribute_value(0).isNull()) { return boost::none; } std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcTableColumn::setIdentifier(boost::optional< std::string > v) { if (v) {set_attribute_value(0, *v);} else {unset_attribute_value(0);} } -boost::optional< std::string > Ifc4x3_tc1::IfcTableColumn::Name() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTableColumn::Name() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcTableColumn::setName(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_tc1::IfcTableColumn::Description() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTableColumn::Description() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcTableColumn::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_tc1::IfcUnit* Ifc4x3_tc1::IfcTableColumn::Unit() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcUnit>(true); } +::Ifc4x3_tc1::IfcUnit* Ifc4x3_tc1::IfcTableColumn::Unit() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcUnit>(true); } void Ifc4x3_tc1::IfcTableColumn::setUnit(::Ifc4x3_tc1::IfcUnit* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_tc1::IfcReference* Ifc4x3_tc1::IfcTableColumn::ReferencePath() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcReference>(true); } +::Ifc4x3_tc1::IfcReference* Ifc4x3_tc1::IfcTableColumn::ReferencePath() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcReference>(true); } void Ifc4x3_tc1::IfcTableColumn::setReferencePath(::Ifc4x3_tc1::IfcReference* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_tc1::IfcTableColumn::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1151]); } const IfcParse::entity& Ifc4x3_tc1::IfcTableColumn::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1151]); } Ifc4x3_tc1::IfcTableColumn::IfcTableColumn(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x3_tc1::IfcUnit* v4_Unit, ::Ifc4x3_tc1::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(5))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ReferencePath ? v5_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcTableColumn::IfcTableColumn(boost::optional< std::string > v1_Identifier, boost::optional< std::string > v2_Name, boost::optional< std::string > v3_Description, ::Ifc4x3_tc1::IfcUnit* v4_Unit, ::Ifc4x3_tc1::IfcReference* v5_ReferencePath) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Identifier) {set_attribute_value(0, (*v1_Identifier)); } if (v2_Name) {set_attribute_value(1, (*v2_Name)); } if (v3_Description) {set_attribute_value(2, (*v3_Description)); }set_attribute_value(3, v4_Unit ? v4_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_ReferencePath ? v5_ReferencePath->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTableRow -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > Ifc4x3_tc1::IfcTableRow::RowCells() const { if(data_.get_attribute_value(0).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcValue >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > Ifc4x3_tc1::IfcTableRow::RowCells() const { if(get_attribute_value(0).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcValue >(); } void Ifc4x3_tc1::IfcTableRow::setRowCells(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v) { if (v) {set_attribute_value(0, (*v)->generalize());} else {unset_attribute_value(0);} } -boost::optional< bool > Ifc4x3_tc1::IfcTableRow::IsHeading() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } bool v = data_.get_attribute_value(1); return v; } +boost::optional< bool > Ifc4x3_tc1::IfcTableRow::IsHeading() const { if(get_attribute_value(1).isNull()) { return boost::none; } bool v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcTableRow::setIsHeading(boost::optional< bool > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } const IfcParse::entity& Ifc4x3_tc1::IfcTableRow::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1152]); } const IfcParse::entity& Ifc4x3_tc1::IfcTableRow::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1152]); } Ifc4x3_tc1::IfcTableRow::IfcTableRow(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { if (v1_RowCells) {set_attribute_value(0, (*v1_RowCells)->generalize()); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); }; populate_derived(); } +Ifc4x3_tc1::IfcTableRow::IfcTableRow(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr > v1_RowCells, boost::optional< bool > v2_IsHeading) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { if (v1_RowCells) {set_attribute_value(0, (*v1_RowCells)->generalize()); } if (v2_IsHeading) {set_attribute_value(1, (*v2_IsHeading)); }; populate_derived(); } // Function implementations for IfcTank -boost::optional< ::Ifc4x3_tc1::IfcTankTypeEnum::Value > Ifc4x3_tc1::IfcTank::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcTankTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcTankTypeEnum::Value > Ifc4x3_tc1::IfcTank::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcTankTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcTank::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcTankTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcTankTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcTank::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1153]); } const IfcParse::entity& Ifc4x3_tc1::IfcTank::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1153]); } Ifc4x3_tc1::IfcTank::IfcTank(IfcEntityInstanceData&& e) : IfcFlowStorageDevice(std::move(e)) { } -Ifc4x3_tc1::IfcTank::IfcTank(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcTankTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcTank::IfcTank(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcTankTypeEnum::Value > v9_PredefinedType) : IfcFlowStorageDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcTankTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTankType -::Ifc4x3_tc1::IfcTankTypeEnum::Value Ifc4x3_tc1::IfcTankType::PredefinedType() const { return ::Ifc4x3_tc1::IfcTankTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcTankTypeEnum::Value Ifc4x3_tc1::IfcTankType::PredefinedType() const { return ::Ifc4x3_tc1::IfcTankTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcTankType::setPredefinedType(::Ifc4x3_tc1::IfcTankTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcTankTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcTankType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1154]); } const IfcParse::entity& Ifc4x3_tc1::IfcTankType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1154]); } Ifc4x3_tc1::IfcTankType::IfcTankType(IfcEntityInstanceData&& e) : IfcFlowStorageDeviceType(std::move(e)) { } -Ifc4x3_tc1::IfcTankType::IfcTankType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTankTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcTankType::IfcTankType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTankTypeEnum::Value v10_PredefinedType) : IfcFlowStorageDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcTankTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTask -boost::optional< std::string > Ifc4x3_tc1::IfcTask::Status() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTask::Status() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcTask::setStatus(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_tc1::IfcTask::WorkMethod() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTask::WorkMethod() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcTask::setWorkMethod(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -bool Ifc4x3_tc1::IfcTask::IsMilestone() const { bool v = data_.get_attribute_value(9); return v; } +bool Ifc4x3_tc1::IfcTask::IsMilestone() const { bool v = get_attribute_value(9); return v; } void Ifc4x3_tc1::IfcTask::setIsMilestone(bool v) { set_attribute_value(9, v);if constexpr (false)unset_attribute_value(9); } -boost::optional< int > Ifc4x3_tc1::IfcTask::Priority() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } int v = data_.get_attribute_value(10); return v; } +boost::optional< int > Ifc4x3_tc1::IfcTask::Priority() const { if(get_attribute_value(10).isNull()) { return boost::none; } int v = get_attribute_value(10); return v; } void Ifc4x3_tc1::IfcTask::setPriority(boost::optional< int > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -::Ifc4x3_tc1::IfcTaskTime* Ifc4x3_tc1::IfcTask::TaskTime() const { if(data_.get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(11)))->as<::Ifc4x3_tc1::IfcTaskTime>(true); } +::Ifc4x3_tc1::IfcTaskTime* Ifc4x3_tc1::IfcTask::TaskTime() const { if(get_attribute_value(11).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(11)))->as<::Ifc4x3_tc1::IfcTaskTime>(true); } void Ifc4x3_tc1::IfcTask::setTaskTime(::Ifc4x3_tc1::IfcTaskTime* v) { set_attribute_value(11, v->as());if constexpr (false)unset_attribute_value(11); } -boost::optional< ::Ifc4x3_tc1::IfcTaskTypeEnum::Value > Ifc4x3_tc1::IfcTask::PredefinedType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcTaskTypeEnum::FromString(data_.get_attribute_value(12)); } +boost::optional< ::Ifc4x3_tc1::IfcTaskTypeEnum::Value > Ifc4x3_tc1::IfcTask::PredefinedType() const { if(get_attribute_value(12).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcTaskTypeEnum::FromString(get_attribute_value(12)); } void Ifc4x3_tc1::IfcTask::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcTaskTypeEnum::Value > v) { if (v) {set_attribute_value(12, EnumerationReference(&::Ifc4x3_tc1::IfcTaskTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_tc1::IfcTask::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1156]); } const IfcParse::entity& Ifc4x3_tc1::IfcTask::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1156]); } Ifc4x3_tc1::IfcTask::IfcTask(IfcEntityInstanceData&& e) : IfcProcess(std::move(e)) { } -Ifc4x3_tc1::IfcTask::IfcTask(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcTaskTime* v12_TaskTime, boost::optional< ::Ifc4x3_tc1::IfcTaskTypeEnum::Value > v13_PredefinedType) : IfcProcess(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, v12_TaskTime ? v12_TaskTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_tc1::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcTask::IfcTask(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcTaskTime* v12_TaskTime, boost::optional< ::Ifc4x3_tc1::IfcTaskTypeEnum::Value > v13_PredefinedType) : IfcProcess(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_LongDescription) {set_attribute_value(6, (*v7_LongDescription)); } if (v8_Status) {set_attribute_value(7, (*v8_Status)); } if (v9_WorkMethod) {set_attribute_value(8, (*v9_WorkMethod)); }set_attribute_value(9, (v10_IsMilestone)); if (v11_Priority) {set_attribute_value(10, (*v11_Priority)); }set_attribute_value(11, v12_TaskTime ? v12_TaskTime->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v13_PredefinedType) {set_attribute_value(12, (EnumerationReference(&::Ifc4x3_tc1::IfcTaskTypeEnum::Class(),(size_t)*v13_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTaskTime -boost::optional< ::Ifc4x3_tc1::IfcTaskDurationEnum::Value > Ifc4x3_tc1::IfcTaskTime::DurationType() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcTaskDurationEnum::FromString(data_.get_attribute_value(3)); } +boost::optional< ::Ifc4x3_tc1::IfcTaskDurationEnum::Value > Ifc4x3_tc1::IfcTaskTime::DurationType() const { if(get_attribute_value(3).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcTaskDurationEnum::FromString(get_attribute_value(3)); } void Ifc4x3_tc1::IfcTaskTime::setDurationType(boost::optional< ::Ifc4x3_tc1::IfcTaskDurationEnum::Value > v) { if (v) {set_attribute_value(3, EnumerationReference(&::Ifc4x3_tc1::IfcTaskDurationEnum::Class(), (size_t) *v));} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_tc1::IfcTaskTime::ScheduleDuration() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTaskTime::ScheduleDuration() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcTaskTime::setScheduleDuration(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_tc1::IfcTaskTime::ScheduleStart() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTaskTime::ScheduleStart() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcTaskTime::setScheduleStart(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::string > Ifc4x3_tc1::IfcTaskTime::ScheduleFinish() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTaskTime::ScheduleFinish() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcTaskTime::setScheduleFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_tc1::IfcTaskTime::EarlyStart() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTaskTime::EarlyStart() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcTaskTime::setEarlyStart(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_tc1::IfcTaskTime::EarlyFinish() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTaskTime::EarlyFinish() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcTaskTime::setEarlyFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_tc1::IfcTaskTime::LateStart() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTaskTime::LateStart() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_tc1::IfcTaskTime::setLateStart(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x3_tc1::IfcTaskTime::LateFinish() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTaskTime::LateFinish() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_tc1::IfcTaskTime::setLateFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< std::string > Ifc4x3_tc1::IfcTaskTime::FreeFloat() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(11); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTaskTime::FreeFloat() const { if(get_attribute_value(11).isNull()) { return boost::none; } std::string v = get_attribute_value(11); return v; } void Ifc4x3_tc1::IfcTaskTime::setFreeFloat(boost::optional< std::string > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_tc1::IfcTaskTime::TotalFloat() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTaskTime::TotalFloat() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_tc1::IfcTaskTime::setTotalFloat(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< bool > Ifc4x3_tc1::IfcTaskTime::IsCritical() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } bool v = data_.get_attribute_value(13); return v; } +boost::optional< bool > Ifc4x3_tc1::IfcTaskTime::IsCritical() const { if(get_attribute_value(13).isNull()) { return boost::none; } bool v = get_attribute_value(13); return v; } void Ifc4x3_tc1::IfcTaskTime::setIsCritical(boost::optional< bool > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< std::string > Ifc4x3_tc1::IfcTaskTime::StatusTime() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(14); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTaskTime::StatusTime() const { if(get_attribute_value(14).isNull()) { return boost::none; } std::string v = get_attribute_value(14); return v; } void Ifc4x3_tc1::IfcTaskTime::setStatusTime(boost::optional< std::string > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< std::string > Ifc4x3_tc1::IfcTaskTime::ActualDuration() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(15); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTaskTime::ActualDuration() const { if(get_attribute_value(15).isNull()) { return boost::none; } std::string v = get_attribute_value(15); return v; } void Ifc4x3_tc1::IfcTaskTime::setActualDuration(boost::optional< std::string > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< std::string > Ifc4x3_tc1::IfcTaskTime::ActualStart() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(16); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTaskTime::ActualStart() const { if(get_attribute_value(16).isNull()) { return boost::none; } std::string v = get_attribute_value(16); return v; } void Ifc4x3_tc1::IfcTaskTime::setActualStart(boost::optional< std::string > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } -boost::optional< std::string > Ifc4x3_tc1::IfcTaskTime::ActualFinish() const { if(data_.get_attribute_value(17).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(17); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTaskTime::ActualFinish() const { if(get_attribute_value(17).isNull()) { return boost::none; } std::string v = get_attribute_value(17); return v; } void Ifc4x3_tc1::IfcTaskTime::setActualFinish(boost::optional< std::string > v) { if (v) {set_attribute_value(17, *v);} else {unset_attribute_value(17);} } -boost::optional< std::string > Ifc4x3_tc1::IfcTaskTime::RemainingTime() const { if(data_.get_attribute_value(18).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(18); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTaskTime::RemainingTime() const { if(get_attribute_value(18).isNull()) { return boost::none; } std::string v = get_attribute_value(18); return v; } void Ifc4x3_tc1::IfcTaskTime::setRemainingTime(boost::optional< std::string > v) { if (v) {set_attribute_value(18, *v);} else {unset_attribute_value(18);} } -boost::optional< double > Ifc4x3_tc1::IfcTaskTime::Completion() const { if(data_.get_attribute_value(19).isNull()) { return boost::none; } double v = data_.get_attribute_value(19); return v; } +boost::optional< double > Ifc4x3_tc1::IfcTaskTime::Completion() const { if(get_attribute_value(19).isNull()) { return boost::none; } double v = get_attribute_value(19); return v; } void Ifc4x3_tc1::IfcTaskTime::setCompletion(boost::optional< double > v) { if (v) {set_attribute_value(19, *v);} else {unset_attribute_value(19);} } const IfcParse::entity& Ifc4x3_tc1::IfcTaskTime::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1158]); } const IfcParse::entity& Ifc4x3_tc1::IfcTaskTime::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1158]); } Ifc4x3_tc1::IfcTaskTime::IfcTaskTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x3_tc1::IfcTaskTime::IfcTaskTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x3_tc1::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(storage_t(20))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_tc1::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }; populate_derived(); } +Ifc4x3_tc1::IfcTaskTime::IfcTaskTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x3_tc1::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(in_memory_attribute_storage(20))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_tc1::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }; populate_derived(); } // Function implementations for IfcTaskTimeRecurring -::Ifc4x3_tc1::IfcRecurrencePattern* Ifc4x3_tc1::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(20)))->as<::Ifc4x3_tc1::IfcRecurrencePattern>(true); } +::Ifc4x3_tc1::IfcRecurrencePattern* Ifc4x3_tc1::IfcTaskTimeRecurring::Recurrence() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(20)))->as<::Ifc4x3_tc1::IfcRecurrencePattern>(true); } void Ifc4x3_tc1::IfcTaskTimeRecurring::setRecurrence(::Ifc4x3_tc1::IfcRecurrencePattern* v) { set_attribute_value(20, v->as());if constexpr (false)unset_attribute_value(20); } const IfcParse::entity& Ifc4x3_tc1::IfcTaskTimeRecurring::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1159]); } const IfcParse::entity& Ifc4x3_tc1::IfcTaskTimeRecurring::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1159]); } Ifc4x3_tc1::IfcTaskTimeRecurring::IfcTaskTimeRecurring(IfcEntityInstanceData&& e) : IfcTaskTime(std::move(e)) { } -Ifc4x3_tc1::IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x3_tc1::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_tc1::IfcRecurrencePattern* v21_Recurrence) : IfcTaskTime(IfcEntityInstanceData(storage_t(21))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_tc1::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, v21_Recurrence ? v21_Recurrence->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< ::Ifc4x3_tc1::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_tc1::IfcRecurrencePattern* v21_Recurrence) : IfcTaskTime(IfcEntityInstanceData(in_memory_attribute_storage(21))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); } if (v4_DurationType) {set_attribute_value(3, (EnumerationReference(&::Ifc4x3_tc1::IfcTaskDurationEnum::Class(),(size_t)*v4_DurationType))); } if (v5_ScheduleDuration) {set_attribute_value(4, (*v5_ScheduleDuration)); } if (v6_ScheduleStart) {set_attribute_value(5, (*v6_ScheduleStart)); } if (v7_ScheduleFinish) {set_attribute_value(6, (*v7_ScheduleFinish)); } if (v8_EarlyStart) {set_attribute_value(7, (*v8_EarlyStart)); } if (v9_EarlyFinish) {set_attribute_value(8, (*v9_EarlyFinish)); } if (v10_LateStart) {set_attribute_value(9, (*v10_LateStart)); } if (v11_LateFinish) {set_attribute_value(10, (*v11_LateFinish)); } if (v12_FreeFloat) {set_attribute_value(11, (*v12_FreeFloat)); } if (v13_TotalFloat) {set_attribute_value(12, (*v13_TotalFloat)); } if (v14_IsCritical) {set_attribute_value(13, (*v14_IsCritical)); } if (v15_StatusTime) {set_attribute_value(14, (*v15_StatusTime)); } if (v16_ActualDuration) {set_attribute_value(15, (*v16_ActualDuration)); } if (v17_ActualStart) {set_attribute_value(16, (*v17_ActualStart)); } if (v18_ActualFinish) {set_attribute_value(17, (*v18_ActualFinish)); } if (v19_RemainingTime) {set_attribute_value(18, (*v19_RemainingTime)); } if (v20_Completion) {set_attribute_value(19, (*v20_Completion)); }set_attribute_value(20, v21_Recurrence ? v21_Recurrence->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTaskType -::Ifc4x3_tc1::IfcTaskTypeEnum::Value Ifc4x3_tc1::IfcTaskType::PredefinedType() const { return ::Ifc4x3_tc1::IfcTaskTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcTaskTypeEnum::Value Ifc4x3_tc1::IfcTaskType::PredefinedType() const { return ::Ifc4x3_tc1::IfcTaskTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcTaskType::setPredefinedType(::Ifc4x3_tc1::IfcTaskTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcTaskTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< std::string > Ifc4x3_tc1::IfcTaskType::WorkMethod() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTaskType::WorkMethod() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_tc1::IfcTaskType::setWorkMethod(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } const IfcParse::entity& Ifc4x3_tc1::IfcTaskType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1160]); } const IfcParse::entity& Ifc4x3_tc1::IfcTaskType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1160]); } Ifc4x3_tc1::IfcTaskType::IfcTaskType(IfcEntityInstanceData&& e) : IfcTypeProcess(std::move(e)) { } -Ifc4x3_tc1::IfcTaskType::IfcTaskType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_tc1::IfcTaskTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_WorkMethod) : IfcTypeProcess(IfcEntityInstanceData(storage_t(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); }; populate_derived(); } +Ifc4x3_tc1::IfcTaskType::IfcTaskType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType, ::Ifc4x3_tc1::IfcTaskTypeEnum::Value v10_PredefinedType, boost::optional< std::string > v11_WorkMethod) : IfcTypeProcess(IfcEntityInstanceData(in_memory_attribute_storage(11))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcTaskTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_WorkMethod) {set_attribute_value(10, (*v11_WorkMethod)); }; populate_derived(); } // Function implementations for IfcTelecomAddress -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_tc1::IfcTelecomAddress::TelephoneNumbers() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(3); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_tc1::IfcTelecomAddress::TelephoneNumbers() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcTelecomAddress::setTelephoneNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_tc1::IfcTelecomAddress::FacsimileNumbers() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_tc1::IfcTelecomAddress::FacsimileNumbers() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcTelecomAddress::setFacsimileNumbers(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_tc1::IfcTelecomAddress::PagerNumber() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTelecomAddress::PagerNumber() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcTelecomAddress::setPagerNumber(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_tc1::IfcTelecomAddress::ElectronicMailAddresses() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(6); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_tc1::IfcTelecomAddress::ElectronicMailAddresses() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcTelecomAddress::setElectronicMailAddresses(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_tc1::IfcTelecomAddress::WWWHomePageURL() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTelecomAddress::WWWHomePageURL() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcTelecomAddress::setWWWHomePageURL(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_tc1::IfcTelecomAddress::MessagingIDs() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(8); return v; } +boost::optional< std::vector< std::string > /*[1:?]*/ > Ifc4x3_tc1::IfcTelecomAddress::MessagingIDs() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::vector< std::string > /*[1:?]*/ v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcTelecomAddress::setMessagingIDs(boost::optional< std::vector< std::string > /*[1:?]*/ > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcTelecomAddress::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1162]); } const IfcParse::entity& Ifc4x3_tc1::IfcTelecomAddress::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1162]); } Ifc4x3_tc1::IfcTelecomAddress::IfcTelecomAddress(IfcEntityInstanceData&& e) : IfcAddress(std::move(e)) { } -Ifc4x3_tc1::IfcTelecomAddress::IfcTelecomAddress(boost::optional< ::Ifc4x3_tc1::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(storage_t(9))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); }; populate_derived(); } +Ifc4x3_tc1::IfcTelecomAddress::IfcTelecomAddress(boost::optional< ::Ifc4x3_tc1::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(in_memory_attribute_storage(9))) { if (v1_Purpose) {set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcAddressTypeEnum::Class(),(size_t)*v1_Purpose))); } if (v2_Description) {set_attribute_value(1, (*v2_Description)); } if (v3_UserDefinedPurpose) {set_attribute_value(2, (*v3_UserDefinedPurpose)); } if (v4_TelephoneNumbers) {set_attribute_value(3, (*v4_TelephoneNumbers)); } if (v5_FacsimileNumbers) {set_attribute_value(4, (*v5_FacsimileNumbers)); } if (v6_PagerNumber) {set_attribute_value(5, (*v6_PagerNumber)); } if (v7_ElectronicMailAddresses) {set_attribute_value(6, (*v7_ElectronicMailAddresses)); } if (v8_WWWHomePageURL) {set_attribute_value(7, (*v8_WWWHomePageURL)); } if (v9_MessagingIDs) {set_attribute_value(8, (*v9_MessagingIDs)); }; populate_derived(); } // Function implementations for IfcTendon -boost::optional< ::Ifc4x3_tc1::IfcTendonTypeEnum::Value > Ifc4x3_tc1::IfcTendon::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcTendonTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_tc1::IfcTendonTypeEnum::Value > Ifc4x3_tc1::IfcTendon::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcTendon::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcTendonTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcTendonTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_tc1::IfcTendon::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_tc1::IfcTendon::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_tc1::IfcTendon::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_tc1::IfcTendon::CrossSectionArea() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_tc1::IfcTendon::CrossSectionArea() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_tc1::IfcTendon::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_tc1::IfcTendon::TensionForce() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_tc1::IfcTendon::TensionForce() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_tc1::IfcTendon::setTensionForce(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } -boost::optional< double > Ifc4x3_tc1::IfcTendon::PreStress() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_tc1::IfcTendon::PreStress() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_tc1::IfcTendon::setPreStress(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3_tc1::IfcTendon::FrictionCoefficient() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3_tc1::IfcTendon::FrictionCoefficient() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3_tc1::IfcTendon::setFrictionCoefficient(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x3_tc1::IfcTendon::AnchorageSlip() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3_tc1::IfcTendon::AnchorageSlip() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3_tc1::IfcTendon::setAnchorageSlip(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } -boost::optional< double > Ifc4x3_tc1::IfcTendon::MinCurvatureRadius() const { if(data_.get_attribute_value(16).isNull()) { return boost::none; } double v = data_.get_attribute_value(16); return v; } +boost::optional< double > Ifc4x3_tc1::IfcTendon::MinCurvatureRadius() const { if(get_attribute_value(16).isNull()) { return boost::none; } double v = get_attribute_value(16); return v; } void Ifc4x3_tc1::IfcTendon::setMinCurvatureRadius(boost::optional< double > v) { if (v) {set_attribute_value(16, *v);} else {unset_attribute_value(16);} } const IfcParse::entity& Ifc4x3_tc1::IfcTendon::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1165]); } const IfcParse::entity& Ifc4x3_tc1::IfcTendon::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1165]); } Ifc4x3_tc1::IfcTendon::IfcTendon(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x3_tc1::IfcTendon::IfcTendon(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x3_tc1::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(storage_t(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; populate_derived(); } +Ifc4x3_tc1::IfcTendon::IfcTendon(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x3_tc1::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(in_memory_attribute_storage(17))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcTendonTypeEnum::Class(),(size_t)*v10_PredefinedType))); } if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_TensionForce) {set_attribute_value(12, (*v13_TensionForce)); } if (v14_PreStress) {set_attribute_value(13, (*v14_PreStress)); } if (v15_FrictionCoefficient) {set_attribute_value(14, (*v15_FrictionCoefficient)); } if (v16_AnchorageSlip) {set_attribute_value(15, (*v16_AnchorageSlip)); } if (v17_MinCurvatureRadius) {set_attribute_value(16, (*v17_MinCurvatureRadius)); }; populate_derived(); } // Function implementations for IfcTendonAnchor -boost::optional< ::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Value > Ifc4x3_tc1::IfcTendonAnchor::PredefinedType() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::FromString(data_.get_attribute_value(9)); } +boost::optional< ::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Value > Ifc4x3_tc1::IfcTendonAnchor::PredefinedType() const { if(get_attribute_value(9).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcTendonAnchor::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Value > v) { if (v) {set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_tc1::IfcTendonAnchor::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1166]); } const IfcParse::entity& Ifc4x3_tc1::IfcTendonAnchor::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1166]); } Ifc4x3_tc1::IfcTendonAnchor::IfcTendonAnchor(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x3_tc1::IfcTendonAnchor::IfcTendonAnchor(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcTendonAnchor::IfcTendonAnchor(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, boost::optional< ::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Value > v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); } if (v10_PredefinedType) {set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Class(),(size_t)*v10_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTendonAnchorType -::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Value Ifc4x3_tc1::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Value Ifc4x3_tc1::IfcTendonAnchorType::PredefinedType() const { return ::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcTendonAnchorType::setPredefinedType(::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcTendonAnchorType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1167]); } const IfcParse::entity& Ifc4x3_tc1::IfcTendonAnchorType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1167]); } Ifc4x3_tc1::IfcTendonAnchorType::IfcTendonAnchorType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x3_tc1::IfcTendonAnchorType::IfcTendonAnchorType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcTendonAnchorType::IfcTendonAnchorType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcTendonAnchorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTendonConduit -::Ifc4x3_tc1::IfcTendonConduitTypeEnum::Value Ifc4x3_tc1::IfcTendonConduit::PredefinedType() const { return ::Ifc4x3_tc1::IfcTendonConduitTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcTendonConduitTypeEnum::Value Ifc4x3_tc1::IfcTendonConduit::PredefinedType() const { return ::Ifc4x3_tc1::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcTendonConduit::setPredefinedType(::Ifc4x3_tc1::IfcTendonConduitTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcTendonConduitTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcTendonConduit::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1169]); } const IfcParse::entity& Ifc4x3_tc1::IfcTendonConduit::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1169]); } Ifc4x3_tc1::IfcTendonConduit::IfcTendonConduit(IfcEntityInstanceData&& e) : IfcReinforcingElement(std::move(e)) { } -Ifc4x3_tc1::IfcTendonConduit::IfcTendonConduit(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, ::Ifc4x3_tc1::IfcTendonConduitTypeEnum::Value v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcTendonConduit::IfcTendonConduit(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_SteelGrade, ::Ifc4x3_tc1::IfcTendonConduitTypeEnum::Value v10_PredefinedType) : IfcReinforcingElement(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_SteelGrade) {set_attribute_value(8, (*v9_SteelGrade)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTendonConduitType -::Ifc4x3_tc1::IfcTendonConduitTypeEnum::Value Ifc4x3_tc1::IfcTendonConduitType::PredefinedType() const { return ::Ifc4x3_tc1::IfcTendonConduitTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcTendonConduitTypeEnum::Value Ifc4x3_tc1::IfcTendonConduitType::PredefinedType() const { return ::Ifc4x3_tc1::IfcTendonConduitTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcTendonConduitType::setPredefinedType(::Ifc4x3_tc1::IfcTendonConduitTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcTendonConduitTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcTendonConduitType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1170]); } const IfcParse::entity& Ifc4x3_tc1::IfcTendonConduitType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1170]); } Ifc4x3_tc1::IfcTendonConduitType::IfcTendonConduitType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x3_tc1::IfcTendonConduitType::IfcTendonConduitType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTendonConduitTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcTendonConduitType::IfcTendonConduitType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTendonConduitTypeEnum::Value v10_PredefinedType) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcTendonConduitTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTendonType -::Ifc4x3_tc1::IfcTendonTypeEnum::Value Ifc4x3_tc1::IfcTendonType::PredefinedType() const { return ::Ifc4x3_tc1::IfcTendonTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcTendonTypeEnum::Value Ifc4x3_tc1::IfcTendonType::PredefinedType() const { return ::Ifc4x3_tc1::IfcTendonTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcTendonType::setPredefinedType(::Ifc4x3_tc1::IfcTendonTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcTendonTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -boost::optional< double > Ifc4x3_tc1::IfcTendonType::NominalDiameter() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_tc1::IfcTendonType::NominalDiameter() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_tc1::IfcTendonType::setNominalDiameter(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_tc1::IfcTendonType::CrossSectionArea() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_tc1::IfcTendonType::CrossSectionArea() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_tc1::IfcTendonType::setCrossSectionArea(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< double > Ifc4x3_tc1::IfcTendonType::SheathDiameter() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } double v = data_.get_attribute_value(12); return v; } +boost::optional< double > Ifc4x3_tc1::IfcTendonType::SheathDiameter() const { if(get_attribute_value(12).isNull()) { return boost::none; } double v = get_attribute_value(12); return v; } void Ifc4x3_tc1::IfcTendonType::setSheathDiameter(boost::optional< double > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_tc1::IfcTendonType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1172]); } const IfcParse::entity& Ifc4x3_tc1::IfcTendonType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1172]); } Ifc4x3_tc1::IfcTendonType::IfcTendonType(IfcEntityInstanceData&& e) : IfcReinforcingElementType(std::move(e)) { } -Ifc4x3_tc1::IfcTendonType::IfcTendonType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTendonTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheathDiameter) : IfcReinforcingElementType(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); }; populate_derived(); } +Ifc4x3_tc1::IfcTendonType::IfcTendonType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTendonTypeEnum::Value v10_PredefinedType, boost::optional< double > v11_NominalDiameter, boost::optional< double > v12_CrossSectionArea, boost::optional< double > v13_SheathDiameter) : IfcReinforcingElementType(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcTendonTypeEnum::Class(),(size_t)v10_PredefinedType))); if (v11_NominalDiameter) {set_attribute_value(10, (*v11_NominalDiameter)); } if (v12_CrossSectionArea) {set_attribute_value(11, (*v12_CrossSectionArea)); } if (v13_SheathDiameter) {set_attribute_value(12, (*v13_SheathDiameter)); }; populate_derived(); } // Function implementations for IfcTessellatedFaceSet -::Ifc4x3_tc1::IfcCartesianPointList3D* Ifc4x3_tc1::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCartesianPointList3D>(true); } +::Ifc4x3_tc1::IfcCartesianPointList3D* Ifc4x3_tc1::IfcTessellatedFaceSet::Coordinates() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCartesianPointList3D>(true); } void Ifc4x3_tc1::IfcTessellatedFaceSet::setCoordinates(::Ifc4x3_tc1::IfcCartesianPointList3D* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } ::Ifc4x3_tc1::IfcIndexedColourMap::list::ptr Ifc4x3_tc1::IfcTessellatedFaceSet::HasColours() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[541], 0)->as(); } @@ -17111,7 +17111,7 @@ void Ifc4x3_tc1::IfcTessellatedFaceSet::setCoordinates(::Ifc4x3_tc1::IfcCartesia const IfcParse::entity& Ifc4x3_tc1::IfcTessellatedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1174]); } const IfcParse::entity& Ifc4x3_tc1::IfcTessellatedFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1174]); } Ifc4x3_tc1::IfcTessellatedFaceSet::IfcTessellatedFaceSet(IfcEntityInstanceData&& e) : IfcTessellatedItem(std::move(e)) { } -Ifc4x3_tc1::IfcTessellatedFaceSet::IfcTessellatedFaceSet(::Ifc4x3_tc1::IfcCartesianPointList3D* v1_Coordinates) : IfcTessellatedItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcTessellatedFaceSet::IfcTessellatedFaceSet(::Ifc4x3_tc1::IfcCartesianPointList3D* v1_Coordinates) : IfcTessellatedItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTessellatedItem @@ -17119,128 +17119,128 @@ Ifc4x3_tc1::IfcTessellatedFaceSet::IfcTessellatedFaceSet(::Ifc4x3_tc1::IfcCartes const IfcParse::entity& Ifc4x3_tc1::IfcTessellatedItem::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1175]); } const IfcParse::entity& Ifc4x3_tc1::IfcTessellatedItem::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1175]); } Ifc4x3_tc1::IfcTessellatedItem::IfcTessellatedItem(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcTessellatedItem::IfcTessellatedItem() : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_tc1::IfcTessellatedItem::IfcTessellatedItem() : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcTextLiteral -std::string Ifc4x3_tc1::IfcTextLiteral::Literal() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_tc1::IfcTextLiteral::Literal() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcTextLiteral::setLiteral(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_tc1::IfcAxis2Placement* Ifc4x3_tc1::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcAxis2Placement>(true); } +::Ifc4x3_tc1::IfcAxis2Placement* Ifc4x3_tc1::IfcTextLiteral::Placement() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcAxis2Placement>(true); } void Ifc4x3_tc1::IfcTextLiteral::setPlacement(::Ifc4x3_tc1::IfcAxis2Placement* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_tc1::IfcTextPath::Value Ifc4x3_tc1::IfcTextLiteral::Path() const { return ::Ifc4x3_tc1::IfcTextPath::FromString(data_.get_attribute_value(2)); } +::Ifc4x3_tc1::IfcTextPath::Value Ifc4x3_tc1::IfcTextLiteral::Path() const { return ::Ifc4x3_tc1::IfcTextPath::FromString(get_attribute_value(2)); } void Ifc4x3_tc1::IfcTextLiteral::setPath(::Ifc4x3_tc1::IfcTextPath::Value v) { set_attribute_value(2, EnumerationReference(&::Ifc4x3_tc1::IfcTextPath::Class(), (size_t) v));if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcTextLiteral::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1181]); } const IfcParse::entity& Ifc4x3_tc1::IfcTextLiteral::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1181]); } Ifc4x3_tc1::IfcTextLiteral::IfcTextLiteral(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, ::Ifc4x3_tc1::IfcAxis2Placement* v2_Placement, ::Ifc4x3_tc1::IfcTextPath::Value v3_Path) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x3_tc1::IfcTextPath::Class(),(size_t)v3_Path)));; populate_derived(); } +Ifc4x3_tc1::IfcTextLiteral::IfcTextLiteral(std::string v1_Literal, ::Ifc4x3_tc1::IfcAxis2Placement* v2_Placement, ::Ifc4x3_tc1::IfcTextPath::Value v3_Path) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x3_tc1::IfcTextPath::Class(),(size_t)v3_Path)));; populate_derived(); } // Function implementations for IfcTextLiteralWithExtent -::Ifc4x3_tc1::IfcPlanarExtent* Ifc4x3_tc1::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcPlanarExtent>(true); } +::Ifc4x3_tc1::IfcPlanarExtent* Ifc4x3_tc1::IfcTextLiteralWithExtent::Extent() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcPlanarExtent>(true); } void Ifc4x3_tc1::IfcTextLiteralWithExtent::setExtent(::Ifc4x3_tc1::IfcPlanarExtent* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -std::string Ifc4x3_tc1::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = data_.get_attribute_value(4); return v; } +std::string Ifc4x3_tc1::IfcTextLiteralWithExtent::BoxAlignment() const { std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcTextLiteralWithExtent::setBoxAlignment(std::string v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_tc1::IfcTextLiteralWithExtent::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1182]); } const IfcParse::entity& Ifc4x3_tc1::IfcTextLiteralWithExtent::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1182]); } Ifc4x3_tc1::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(IfcEntityInstanceData&& e) : IfcTextLiteral(std::move(e)) { } -Ifc4x3_tc1::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(std::string v1_Literal, ::Ifc4x3_tc1::IfcAxis2Placement* v2_Placement, ::Ifc4x3_tc1::IfcTextPath::Value v3_Path, ::Ifc4x3_tc1::IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment) : IfcTextLiteral(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x3_tc1::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, v4_Extent ? v4_Extent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_BoxAlignment));; populate_derived(); } +Ifc4x3_tc1::IfcTextLiteralWithExtent::IfcTextLiteralWithExtent(std::string v1_Literal, ::Ifc4x3_tc1::IfcAxis2Placement* v2_Placement, ::Ifc4x3_tc1::IfcTextPath::Value v3_Path, ::Ifc4x3_tc1::IfcPlanarExtent* v4_Extent, std::string v5_BoxAlignment) : IfcTextLiteral(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, (v1_Literal));set_attribute_value(1, v2_Placement ? v2_Placement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (EnumerationReference(&::Ifc4x3_tc1::IfcTextPath::Class(),(size_t)v3_Path)));set_attribute_value(3, v4_Extent ? v4_Extent->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, (v5_BoxAlignment));; populate_derived(); } // Function implementations for IfcTextStyle -::Ifc4x3_tc1::IfcTextStyleForDefinedFont* Ifc4x3_tc1::IfcTextStyle::TextCharacterAppearance() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcTextStyleForDefinedFont>(true); } +::Ifc4x3_tc1::IfcTextStyleForDefinedFont* Ifc4x3_tc1::IfcTextStyle::TextCharacterAppearance() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcTextStyleForDefinedFont>(true); } void Ifc4x3_tc1::IfcTextStyle::setTextCharacterAppearance(::Ifc4x3_tc1::IfcTextStyleForDefinedFont* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_tc1::IfcTextStyleTextModel* Ifc4x3_tc1::IfcTextStyle::TextStyle() const { if(data_.get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcTextStyleTextModel>(true); } +::Ifc4x3_tc1::IfcTextStyleTextModel* Ifc4x3_tc1::IfcTextStyle::TextStyle() const { if(get_attribute_value(2).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcTextStyleTextModel>(true); } void Ifc4x3_tc1::IfcTextStyle::setTextStyle(::Ifc4x3_tc1::IfcTextStyleTextModel* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } -::Ifc4x3_tc1::IfcTextFontSelect* Ifc4x3_tc1::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcTextFontSelect>(true); } +::Ifc4x3_tc1::IfcTextFontSelect* Ifc4x3_tc1::IfcTextStyle::TextFontStyle() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcTextFontSelect>(true); } void Ifc4x3_tc1::IfcTextStyle::setTextFontStyle(::Ifc4x3_tc1::IfcTextFontSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< bool > Ifc4x3_tc1::IfcTextStyle::ModelOrDraughting() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } bool v = data_.get_attribute_value(4); return v; } +boost::optional< bool > Ifc4x3_tc1::IfcTextStyle::ModelOrDraughting() const { if(get_attribute_value(4).isNull()) { return boost::none; } bool v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcTextStyle::setModelOrDraughting(boost::optional< bool > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_tc1::IfcTextStyle::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1184]); } const IfcParse::entity& Ifc4x3_tc1::IfcTextStyle::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1184]); } Ifc4x3_tc1::IfcTextStyle::IfcTextStyle(IfcEntityInstanceData&& e) : IfcPresentationStyle(std::move(e)) { } -Ifc4x3_tc1::IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcTextStyleForDefinedFont* v2_TextCharacterAppearance, ::Ifc4x3_tc1::IfcTextStyleTextModel* v3_TextStyle, ::Ifc4x3_tc1::IfcTextFontSelect* v4_TextFontStyle, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(storage_t(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TextCharacterAppearance ? v2_TextCharacterAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TextStyle ? v3_TextStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TextFontStyle ? v4_TextFontStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } +Ifc4x3_tc1::IfcTextStyle::IfcTextStyle(boost::optional< std::string > v1_Name, ::Ifc4x3_tc1::IfcTextStyleForDefinedFont* v2_TextCharacterAppearance, ::Ifc4x3_tc1::IfcTextStyleTextModel* v3_TextStyle, ::Ifc4x3_tc1::IfcTextFontSelect* v4_TextFontStyle, boost::optional< bool > v5_ModelOrDraughting) : IfcPresentationStyle(IfcEntityInstanceData(in_memory_attribute_storage(5))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); }set_attribute_value(1, v2_TextCharacterAppearance ? v2_TextCharacterAppearance->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, v3_TextStyle ? v3_TextStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, v4_TextFontStyle ? v4_TextFontStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_ModelOrDraughting) {set_attribute_value(4, (*v5_ModelOrDraughting)); }; populate_derived(); } // Function implementations for IfcTextStyleFontModel -std::vector< std::string > /*[1:?]*/ Ifc4x3_tc1::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = data_.get_attribute_value(1); return v; } +std::vector< std::string > /*[1:?]*/ Ifc4x3_tc1::IfcTextStyleFontModel::FontFamily() const { std::vector< std::string > /*[1:?]*/ v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcTextStyleFontModel::setFontFamily(std::vector< std::string > /*[1:?]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::string > Ifc4x3_tc1::IfcTextStyleFontModel::FontStyle() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTextStyleFontModel::FontStyle() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcTextStyleFontModel::setFontStyle(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< std::string > Ifc4x3_tc1::IfcTextStyleFontModel::FontVariant() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(3); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTextStyleFontModel::FontVariant() const { if(get_attribute_value(3).isNull()) { return boost::none; } std::string v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcTextStyleFontModel::setFontVariant(boost::optional< std::string > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< std::string > Ifc4x3_tc1::IfcTextStyleFontModel::FontWeight() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTextStyleFontModel::FontWeight() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcTextStyleFontModel::setFontWeight(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -::Ifc4x3_tc1::IfcSizeSelect* Ifc4x3_tc1::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcSizeSelect>(true); } +::Ifc4x3_tc1::IfcSizeSelect* Ifc4x3_tc1::IfcTextStyleFontModel::FontSize() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(5)))->as<::Ifc4x3_tc1::IfcSizeSelect>(true); } void Ifc4x3_tc1::IfcTextStyleFontModel::setFontSize(::Ifc4x3_tc1::IfcSizeSelect* v) { set_attribute_value(5, v->as());if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcTextStyleFontModel::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1185]); } const IfcParse::entity& Ifc4x3_tc1::IfcTextStyleFontModel::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1185]); } Ifc4x3_tc1::IfcTextStyleFontModel::IfcTextStyleFontModel(IfcEntityInstanceData&& e) : IfcPreDefinedTextFont(std::move(e)) { } -Ifc4x3_tc1::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_tc1::IfcSizeSelect* v6_FontSize) : IfcPreDefinedTextFont(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, v6_FontSize ? v6_FontSize->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::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_tc1::IfcSizeSelect* v6_FontSize) : IfcPreDefinedTextFont(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_Name));set_attribute_value(1, (v2_FontFamily)); if (v3_FontStyle) {set_attribute_value(2, (*v3_FontStyle)); } if (v4_FontVariant) {set_attribute_value(3, (*v4_FontVariant)); } if (v5_FontWeight) {set_attribute_value(4, (*v5_FontWeight)); }set_attribute_value(5, v6_FontSize ? v6_FontSize->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextStyleForDefinedFont -::Ifc4x3_tc1::IfcColour* Ifc4x3_tc1::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcColour>(true); } +::Ifc4x3_tc1::IfcColour* Ifc4x3_tc1::IfcTextStyleForDefinedFont::Colour() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcColour>(true); } void Ifc4x3_tc1::IfcTextStyleForDefinedFont::setColour(::Ifc4x3_tc1::IfcColour* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_tc1::IfcColour* Ifc4x3_tc1::IfcTextStyleForDefinedFont::BackgroundColour() const { if(data_.get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcColour>(true); } +::Ifc4x3_tc1::IfcColour* Ifc4x3_tc1::IfcTextStyleForDefinedFont::BackgroundColour() const { if(get_attribute_value(1).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcColour>(true); } void Ifc4x3_tc1::IfcTextStyleForDefinedFont::setBackgroundColour(::Ifc4x3_tc1::IfcColour* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcTextStyleForDefinedFont::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1186]); } const IfcParse::entity& Ifc4x3_tc1::IfcTextStyleForDefinedFont::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1186]); } Ifc4x3_tc1::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4x3_tc1::IfcColour* v1_Colour, ::Ifc4x3_tc1::IfcColour* v2_BackgroundColour) : IfcPresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Colour ? v1_Colour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_BackgroundColour ? v2_BackgroundColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcTextStyleForDefinedFont::IfcTextStyleForDefinedFont(::Ifc4x3_tc1::IfcColour* v1_Colour, ::Ifc4x3_tc1::IfcColour* v2_BackgroundColour) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Colour ? v1_Colour->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, v2_BackgroundColour ? v2_BackgroundColour->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextStyleTextModel -::Ifc4x3_tc1::IfcSizeSelect* Ifc4x3_tc1::IfcTextStyleTextModel::TextIndent() const { if(data_.get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcSizeSelect>(true); } +::Ifc4x3_tc1::IfcSizeSelect* Ifc4x3_tc1::IfcTextStyleTextModel::TextIndent() const { if(get_attribute_value(0).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcSizeSelect>(true); } void Ifc4x3_tc1::IfcTextStyleTextModel::setTextIndent(::Ifc4x3_tc1::IfcSizeSelect* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_tc1::IfcTextStyleTextModel::TextAlign() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTextStyleTextModel::TextAlign() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcTextStyleTextModel::setTextAlign(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< std::string > Ifc4x3_tc1::IfcTextStyleTextModel::TextDecoration() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(2); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTextStyleTextModel::TextDecoration() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::string v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcTextStyleTextModel::setTextDecoration(boost::optional< std::string > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -::Ifc4x3_tc1::IfcSizeSelect* Ifc4x3_tc1::IfcTextStyleTextModel::LetterSpacing() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcSizeSelect>(true); } +::Ifc4x3_tc1::IfcSizeSelect* Ifc4x3_tc1::IfcTextStyleTextModel::LetterSpacing() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcSizeSelect>(true); } void Ifc4x3_tc1::IfcTextStyleTextModel::setLetterSpacing(::Ifc4x3_tc1::IfcSizeSelect* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_tc1::IfcSizeSelect* Ifc4x3_tc1::IfcTextStyleTextModel::WordSpacing() const { if(data_.get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcSizeSelect>(true); } +::Ifc4x3_tc1::IfcSizeSelect* Ifc4x3_tc1::IfcTextStyleTextModel::WordSpacing() const { if(get_attribute_value(4).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(4)))->as<::Ifc4x3_tc1::IfcSizeSelect>(true); } void Ifc4x3_tc1::IfcTextStyleTextModel::setWordSpacing(::Ifc4x3_tc1::IfcSizeSelect* v) { set_attribute_value(4, v->as());if constexpr (false)unset_attribute_value(4); } -boost::optional< std::string > Ifc4x3_tc1::IfcTextStyleTextModel::TextTransform() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTextStyleTextModel::TextTransform() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcTextStyleTextModel::setTextTransform(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -::Ifc4x3_tc1::IfcSizeSelect* Ifc4x3_tc1::IfcTextStyleTextModel::LineHeight() const { if(data_.get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcSizeSelect>(true); } +::Ifc4x3_tc1::IfcSizeSelect* Ifc4x3_tc1::IfcTextStyleTextModel::LineHeight() const { if(get_attribute_value(6).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(6)))->as<::Ifc4x3_tc1::IfcSizeSelect>(true); } void Ifc4x3_tc1::IfcTextStyleTextModel::setLineHeight(::Ifc4x3_tc1::IfcSizeSelect* v) { set_attribute_value(6, v->as());if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_tc1::IfcTextStyleTextModel::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1187]); } const IfcParse::entity& Ifc4x3_tc1::IfcTextStyleTextModel::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1187]); } Ifc4x3_tc1::IfcTextStyleTextModel::IfcTextStyleTextModel(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcTextStyleTextModel::IfcTextStyleTextModel(::Ifc4x3_tc1::IfcSizeSelect* v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, ::Ifc4x3_tc1::IfcSizeSelect* v4_LetterSpacing, ::Ifc4x3_tc1::IfcSizeSelect* v5_WordSpacing, boost::optional< std::string > v6_TextTransform, ::Ifc4x3_tc1::IfcSizeSelect* v7_LineHeight) : IfcPresentationItem(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, v1_TextIndent ? v1_TextIndent->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, v4_LetterSpacing ? v4_LetterSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_WordSpacing ? v5_WordSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, v7_LineHeight ? v7_LineHeight->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcTextStyleTextModel::IfcTextStyleTextModel(::Ifc4x3_tc1::IfcSizeSelect* v1_TextIndent, boost::optional< std::string > v2_TextAlign, boost::optional< std::string > v3_TextDecoration, ::Ifc4x3_tc1::IfcSizeSelect* v4_LetterSpacing, ::Ifc4x3_tc1::IfcSizeSelect* v5_WordSpacing, boost::optional< std::string > v6_TextTransform, ::Ifc4x3_tc1::IfcSizeSelect* v7_LineHeight) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, v1_TextIndent ? v1_TextIndent->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_TextAlign) {set_attribute_value(1, (*v2_TextAlign)); } if (v3_TextDecoration) {set_attribute_value(2, (*v3_TextDecoration)); }set_attribute_value(3, v4_LetterSpacing ? v4_LetterSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(4, v5_WordSpacing ? v5_WordSpacing->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v6_TextTransform) {set_attribute_value(5, (*v6_TextTransform)); }set_attribute_value(6, v7_LineHeight ? v7_LineHeight->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextureCoordinate -aggregate_of< ::Ifc4x3_tc1::IfcSurfaceTexture >::ptr Ifc4x3_tc1::IfcTextureCoordinate::Maps() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcSurfaceTexture >(); } +aggregate_of< ::Ifc4x3_tc1::IfcSurfaceTexture >::ptr Ifc4x3_tc1::IfcTextureCoordinate::Maps() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcSurfaceTexture >(); } void Ifc4x3_tc1::IfcTextureCoordinate::setMaps(aggregate_of< ::Ifc4x3_tc1::IfcSurfaceTexture >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_tc1::IfcTextureCoordinate::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1189]); } const IfcParse::entity& Ifc4x3_tc1::IfcTextureCoordinate::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1189]); } Ifc4x3_tc1::IfcTextureCoordinate::IfcTextureCoordinate(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcTextureCoordinate::IfcTextureCoordinate(aggregate_of< ::Ifc4x3_tc1::IfcSurfaceTexture >::ptr v1_Maps) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Maps)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcTextureCoordinate::IfcTextureCoordinate(aggregate_of< ::Ifc4x3_tc1::IfcSurfaceTexture >::ptr v1_Maps) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Maps)->generalize());; populate_derived(); } // Function implementations for IfcTextureCoordinateGenerator -std::string Ifc4x3_tc1::IfcTextureCoordinateGenerator::Mode() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_tc1::IfcTextureCoordinateGenerator::Mode() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcTextureCoordinateGenerator::setMode(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< std::vector< double > /*[1:?]*/ > Ifc4x3_tc1::IfcTextureCoordinateGenerator::Parameter() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[1:?]*/ v = data_.get_attribute_value(2); return v; } +boost::optional< std::vector< double > /*[1:?]*/ > Ifc4x3_tc1::IfcTextureCoordinateGenerator::Parameter() const { if(get_attribute_value(2).isNull()) { return boost::none; } std::vector< double > /*[1:?]*/ v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcTextureCoordinateGenerator::setParameter(boost::optional< std::vector< double > /*[1:?]*/ > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } const IfcParse::entity& Ifc4x3_tc1::IfcTextureCoordinateGenerator::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1190]); } const IfcParse::entity& Ifc4x3_tc1::IfcTextureCoordinateGenerator::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1190]); } Ifc4x3_tc1::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(IfcEntityInstanceData&& e) : IfcTextureCoordinate(std::move(e)) { } -Ifc4x3_tc1::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(aggregate_of< ::Ifc4x3_tc1::IfcSurfaceTexture >::ptr v1_Maps, std::string v2_Mode, boost::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) : IfcTextureCoordinate(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); }; populate_derived(); } +Ifc4x3_tc1::IfcTextureCoordinateGenerator::IfcTextureCoordinateGenerator(aggregate_of< ::Ifc4x3_tc1::IfcSurfaceTexture >::ptr v1_Maps, std::string v2_Mode, boost::optional< std::vector< double > /*[1:?]*/ > v3_Parameter) : IfcTextureCoordinate(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Mode)); if (v3_Parameter) {set_attribute_value(2, (*v3_Parameter)); }; populate_derived(); } // Function implementations for IfcTextureCoordinateIndices -std::vector< int > /*[3:?]*/ Ifc4x3_tc1::IfcTextureCoordinateIndices::TexCoordIndex() const { std::vector< int > /*[3:?]*/ v = data_.get_attribute_value(0); return v; } +std::vector< int > /*[3:?]*/ Ifc4x3_tc1::IfcTextureCoordinateIndices::TexCoordIndex() const { std::vector< int > /*[3:?]*/ v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcTextureCoordinateIndices::setTexCoordIndex(std::vector< int > /*[3:?]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -::Ifc4x3_tc1::IfcIndexedPolygonalFace* Ifc4x3_tc1::IfcTextureCoordinateIndices::TexCoordsOf() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcIndexedPolygonalFace>(true); } +::Ifc4x3_tc1::IfcIndexedPolygonalFace* Ifc4x3_tc1::IfcTextureCoordinateIndices::TexCoordsOf() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(1)))->as<::Ifc4x3_tc1::IfcIndexedPolygonalFace>(true); } void Ifc4x3_tc1::IfcTextureCoordinateIndices::setTexCoordsOf(::Ifc4x3_tc1::IfcIndexedPolygonalFace* v) { set_attribute_value(1, v->as());if constexpr (false)unset_attribute_value(1); } ::Ifc4x3_tc1::IfcIndexedPolygonalTextureMap::list::ptr Ifc4x3_tc1::IfcTextureCoordinateIndices::ToTexMap() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[545], 3)->as(); } @@ -17248,94 +17248,94 @@ void Ifc4x3_tc1::IfcTextureCoordinateIndices::setTexCoordsOf(::Ifc4x3_tc1::IfcIn const IfcParse::entity& Ifc4x3_tc1::IfcTextureCoordinateIndices::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1191]); } const IfcParse::entity& Ifc4x3_tc1::IfcTextureCoordinateIndices::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1191]); } Ifc4x3_tc1::IfcTextureCoordinateIndices::IfcTextureCoordinateIndices(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcTextureCoordinateIndices::IfcTextureCoordinateIndices(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_tc1::IfcIndexedPolygonalFace* v2_TexCoordsOf) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_TexCoordIndex));set_attribute_value(1, v2_TexCoordsOf ? v2_TexCoordsOf->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcTextureCoordinateIndices::IfcTextureCoordinateIndices(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_tc1::IfcIndexedPolygonalFace* v2_TexCoordsOf) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_TexCoordIndex));set_attribute_value(1, v2_TexCoordsOf ? v2_TexCoordsOf->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextureCoordinateIndicesWithVoids -std::vector< std::vector< int > > Ifc4x3_tc1::IfcTextureCoordinateIndicesWithVoids::InnerTexCoordIndices() const { std::vector< std::vector< int > > v = data_.get_attribute_value(2); return v; } +std::vector< std::vector< int > > Ifc4x3_tc1::IfcTextureCoordinateIndicesWithVoids::InnerTexCoordIndices() const { std::vector< std::vector< int > > v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcTextureCoordinateIndicesWithVoids::setInnerTexCoordIndices(std::vector< std::vector< int > > v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcTextureCoordinateIndicesWithVoids::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1192]); } const IfcParse::entity& Ifc4x3_tc1::IfcTextureCoordinateIndicesWithVoids::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1192]); } Ifc4x3_tc1::IfcTextureCoordinateIndicesWithVoids::IfcTextureCoordinateIndicesWithVoids(IfcEntityInstanceData&& e) : IfcTextureCoordinateIndices(std::move(e)) { } -Ifc4x3_tc1::IfcTextureCoordinateIndicesWithVoids::IfcTextureCoordinateIndicesWithVoids(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_tc1::IfcIndexedPolygonalFace* v2_TexCoordsOf, std::vector< std::vector< int > > v3_InnerTexCoordIndices) : IfcTextureCoordinateIndices(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_TexCoordIndex));set_attribute_value(1, v2_TexCoordsOf ? v2_TexCoordsOf->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_InnerTexCoordIndices));; populate_derived(); } +Ifc4x3_tc1::IfcTextureCoordinateIndicesWithVoids::IfcTextureCoordinateIndicesWithVoids(std::vector< int > /*[3:?]*/ v1_TexCoordIndex, ::Ifc4x3_tc1::IfcIndexedPolygonalFace* v2_TexCoordsOf, std::vector< std::vector< int > > v3_InnerTexCoordIndices) : IfcTextureCoordinateIndices(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_TexCoordIndex));set_attribute_value(1, v2_TexCoordsOf ? v2_TexCoordsOf->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(2, (v3_InnerTexCoordIndices));; populate_derived(); } // Function implementations for IfcTextureMap -aggregate_of< ::Ifc4x3_tc1::IfcTextureVertex >::ptr Ifc4x3_tc1::IfcTextureMap::Vertices() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcTextureVertex >(); } +aggregate_of< ::Ifc4x3_tc1::IfcTextureVertex >::ptr Ifc4x3_tc1::IfcTextureMap::Vertices() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcTextureVertex >(); } void Ifc4x3_tc1::IfcTextureMap::setVertices(aggregate_of< ::Ifc4x3_tc1::IfcTextureVertex >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -::Ifc4x3_tc1::IfcFace* Ifc4x3_tc1::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcFace>(true); } +::Ifc4x3_tc1::IfcFace* Ifc4x3_tc1::IfcTextureMap::MappedTo() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(2)))->as<::Ifc4x3_tc1::IfcFace>(true); } void Ifc4x3_tc1::IfcTextureMap::setMappedTo(::Ifc4x3_tc1::IfcFace* v) { set_attribute_value(2, v->as());if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcTextureMap::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1193]); } const IfcParse::entity& Ifc4x3_tc1::IfcTextureMap::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1193]); } Ifc4x3_tc1::IfcTextureMap::IfcTextureMap(IfcEntityInstanceData&& e) : IfcTextureCoordinate(std::move(e)) { } -Ifc4x3_tc1::IfcTextureMap::IfcTextureMap(aggregate_of< ::Ifc4x3_tc1::IfcSurfaceTexture >::ptr v1_Maps, aggregate_of< ::Ifc4x3_tc1::IfcTextureVertex >::ptr v2_Vertices, ::Ifc4x3_tc1::IfcFace* v3_MappedTo) : IfcTextureCoordinate(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Vertices)->generalize());set_attribute_value(2, v3_MappedTo ? v3_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcTextureMap::IfcTextureMap(aggregate_of< ::Ifc4x3_tc1::IfcSurfaceTexture >::ptr v1_Maps, aggregate_of< ::Ifc4x3_tc1::IfcTextureVertex >::ptr v2_Vertices, ::Ifc4x3_tc1::IfcFace* v3_MappedTo) : IfcTextureCoordinate(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, (v1_Maps)->generalize());set_attribute_value(1, (v2_Vertices)->generalize());set_attribute_value(2, v3_MappedTo ? v3_MappedTo->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTextureVertex -std::vector< double > /*[2:2]*/ Ifc4x3_tc1::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = data_.get_attribute_value(0); return v; } +std::vector< double > /*[2:2]*/ Ifc4x3_tc1::IfcTextureVertex::Coordinates() const { std::vector< double > /*[2:2]*/ v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcTextureVertex::setCoordinates(std::vector< double > /*[2:2]*/ v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_tc1::IfcTextureVertex::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1194]); } const IfcParse::entity& Ifc4x3_tc1::IfcTextureVertex::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1194]); } Ifc4x3_tc1::IfcTextureVertex::IfcTextureVertex(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcTextureVertex::IfcTextureVertex(std::vector< double > /*[2:2]*/ v1_Coordinates) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } +Ifc4x3_tc1::IfcTextureVertex::IfcTextureVertex(std::vector< double > /*[2:2]*/ v1_Coordinates) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Coordinates));; populate_derived(); } // Function implementations for IfcTextureVertexList -std::vector< std::vector< double > > Ifc4x3_tc1::IfcTextureVertexList::TexCoordsList() const { std::vector< std::vector< double > > v = data_.get_attribute_value(0); return v; } +std::vector< std::vector< double > > Ifc4x3_tc1::IfcTextureVertexList::TexCoordsList() const { std::vector< std::vector< double > > v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcTextureVertexList::setTexCoordsList(std::vector< std::vector< double > > v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_tc1::IfcTextureVertexList::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1195]); } const IfcParse::entity& Ifc4x3_tc1::IfcTextureVertexList::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1195]); } Ifc4x3_tc1::IfcTextureVertexList::IfcTextureVertexList(IfcEntityInstanceData&& e) : IfcPresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcTextureVertexList::IfcTextureVertexList(std::vector< std::vector< double > > v1_TexCoordsList) : IfcPresentationItem(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_TexCoordsList));; populate_derived(); } +Ifc4x3_tc1::IfcTextureVertexList::IfcTextureVertexList(std::vector< std::vector< double > > v1_TexCoordsList) : IfcPresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_TexCoordsList));; populate_derived(); } // Function implementations for IfcThirdOrderPolynomialSpiral -double Ifc4x3_tc1::IfcThirdOrderPolynomialSpiral::CubicTerm() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_tc1::IfcThirdOrderPolynomialSpiral::CubicTerm() const { double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcThirdOrderPolynomialSpiral::setCubicTerm(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -boost::optional< double > Ifc4x3_tc1::IfcThirdOrderPolynomialSpiral::QuadraticTerm() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } double v = data_.get_attribute_value(2); return v; } +boost::optional< double > Ifc4x3_tc1::IfcThirdOrderPolynomialSpiral::QuadraticTerm() const { if(get_attribute_value(2).isNull()) { return boost::none; } double v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcThirdOrderPolynomialSpiral::setQuadraticTerm(boost::optional< double > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -boost::optional< double > Ifc4x3_tc1::IfcThirdOrderPolynomialSpiral::LinearTerm() const { if(data_.get_attribute_value(3).isNull()) { return boost::none; } double v = data_.get_attribute_value(3); return v; } +boost::optional< double > Ifc4x3_tc1::IfcThirdOrderPolynomialSpiral::LinearTerm() const { if(get_attribute_value(3).isNull()) { return boost::none; } double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcThirdOrderPolynomialSpiral::setLinearTerm(boost::optional< double > v) { if (v) {set_attribute_value(3, *v);} else {unset_attribute_value(3);} } -boost::optional< double > Ifc4x3_tc1::IfcThirdOrderPolynomialSpiral::ConstantTerm() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_tc1::IfcThirdOrderPolynomialSpiral::ConstantTerm() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcThirdOrderPolynomialSpiral::setConstantTerm(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_tc1::IfcThirdOrderPolynomialSpiral::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1202]); } const IfcParse::entity& Ifc4x3_tc1::IfcThirdOrderPolynomialSpiral::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1202]); } Ifc4x3_tc1::IfcThirdOrderPolynomialSpiral::IfcThirdOrderPolynomialSpiral(IfcEntityInstanceData&& e) : IfcSpiral(std::move(e)) { } -Ifc4x3_tc1::IfcThirdOrderPolynomialSpiral::IfcThirdOrderPolynomialSpiral(::Ifc4x3_tc1::IfcAxis2Placement* v1_Position, double v2_CubicTerm, boost::optional< double > v3_QuadraticTerm, boost::optional< double > v4_LinearTerm, boost::optional< double > v5_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CubicTerm)); if (v3_QuadraticTerm) {set_attribute_value(2, (*v3_QuadraticTerm)); } if (v4_LinearTerm) {set_attribute_value(3, (*v4_LinearTerm)); } if (v5_ConstantTerm) {set_attribute_value(4, (*v5_ConstantTerm)); }; populate_derived(); } +Ifc4x3_tc1::IfcThirdOrderPolynomialSpiral::IfcThirdOrderPolynomialSpiral(::Ifc4x3_tc1::IfcAxis2Placement* v1_Position, double v2_CubicTerm, boost::optional< double > v3_QuadraticTerm, boost::optional< double > v4_LinearTerm, boost::optional< double > v5_ConstantTerm) : IfcSpiral(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_CubicTerm)); if (v3_QuadraticTerm) {set_attribute_value(2, (*v3_QuadraticTerm)); } if (v4_LinearTerm) {set_attribute_value(3, (*v4_LinearTerm)); } if (v5_ConstantTerm) {set_attribute_value(4, (*v5_ConstantTerm)); }; populate_derived(); } // Function implementations for IfcTimePeriod -std::string Ifc4x3_tc1::IfcTimePeriod::StartTime() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_tc1::IfcTimePeriod::StartTime() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcTimePeriod::setStartTime(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -std::string Ifc4x3_tc1::IfcTimePeriod::EndTime() const { std::string v = data_.get_attribute_value(1); return v; } +std::string Ifc4x3_tc1::IfcTimePeriod::EndTime() const { std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcTimePeriod::setEndTime(std::string v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcTimePeriod::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1206]); } const IfcParse::entity& Ifc4x3_tc1::IfcTimePeriod::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1206]); } Ifc4x3_tc1::IfcTimePeriod::IfcTimePeriod(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcTimePeriod::IfcTimePeriod(std::string v1_StartTime, std::string v2_EndTime) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime));; populate_derived(); } +Ifc4x3_tc1::IfcTimePeriod::IfcTimePeriod(std::string v1_StartTime, std::string v2_EndTime) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_StartTime));set_attribute_value(1, (v2_EndTime));; populate_derived(); } // Function implementations for IfcTimeSeries -std::string Ifc4x3_tc1::IfcTimeSeries::Name() const { std::string v = data_.get_attribute_value(0); return v; } +std::string Ifc4x3_tc1::IfcTimeSeries::Name() const { std::string v = get_attribute_value(0); return v; } void Ifc4x3_tc1::IfcTimeSeries::setName(std::string v) { set_attribute_value(0, v);if constexpr (false)unset_attribute_value(0); } -boost::optional< std::string > Ifc4x3_tc1::IfcTimeSeries::Description() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(1); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTimeSeries::Description() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::string v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcTimeSeries::setDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -std::string Ifc4x3_tc1::IfcTimeSeries::StartTime() const { std::string v = data_.get_attribute_value(2); return v; } +std::string Ifc4x3_tc1::IfcTimeSeries::StartTime() const { std::string v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcTimeSeries::setStartTime(std::string v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } -std::string Ifc4x3_tc1::IfcTimeSeries::EndTime() const { std::string v = data_.get_attribute_value(3); return v; } +std::string Ifc4x3_tc1::IfcTimeSeries::EndTime() const { std::string v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcTimeSeries::setEndTime(std::string v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Value Ifc4x3_tc1::IfcTimeSeries::TimeSeriesDataType() const { return ::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Value Ifc4x3_tc1::IfcTimeSeries::TimeSeriesDataType() const { return ::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::FromString(get_attribute_value(4)); } void Ifc4x3_tc1::IfcTimeSeries::setTimeSeriesDataType(::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_tc1::IfcDataOriginEnum::Value Ifc4x3_tc1::IfcTimeSeries::DataOrigin() const { return ::Ifc4x3_tc1::IfcDataOriginEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_tc1::IfcDataOriginEnum::Value Ifc4x3_tc1::IfcTimeSeries::DataOrigin() const { return ::Ifc4x3_tc1::IfcDataOriginEnum::FromString(get_attribute_value(5)); } void Ifc4x3_tc1::IfcTimeSeries::setDataOrigin(::Ifc4x3_tc1::IfcDataOriginEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< std::string > Ifc4x3_tc1::IfcTimeSeries::UserDefinedDataOrigin() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTimeSeries::UserDefinedDataOrigin() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcTimeSeries::setUserDefinedDataOrigin(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -::Ifc4x3_tc1::IfcUnit* Ifc4x3_tc1::IfcTimeSeries::Unit() const { if(data_.get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(7)))->as<::Ifc4x3_tc1::IfcUnit>(true); } +::Ifc4x3_tc1::IfcUnit* Ifc4x3_tc1::IfcTimeSeries::Unit() const { if(get_attribute_value(7).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(7)))->as<::Ifc4x3_tc1::IfcUnit>(true); } void Ifc4x3_tc1::IfcTimeSeries::setUnit(::Ifc4x3_tc1::IfcUnit* v) { set_attribute_value(7, v->as());if constexpr (false)unset_attribute_value(7); } ::Ifc4x3_tc1::IfcExternalReferenceRelationship::list::ptr Ifc4x3_tc1::IfcTimeSeries::HasExternalReference() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[427], 3)->as(); } @@ -17343,17 +17343,17 @@ void Ifc4x3_tc1::IfcTimeSeries::setUnit(::Ifc4x3_tc1::IfcUnit* v) { set_attribut const IfcParse::entity& Ifc4x3_tc1::IfcTimeSeries::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1207]); } const IfcParse::entity& Ifc4x3_tc1::IfcTimeSeries::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1207]); } Ifc4x3_tc1::IfcTimeSeries::IfcTimeSeries(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_tc1::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_tc1::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcTimeSeries::IfcTimeSeries(std::string v1_Name, boost::optional< std::string > v2_Description, std::string v3_StartTime, std::string v4_EndTime, ::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Value v5_TimeSeriesDataType, ::Ifc4x3_tc1::IfcDataOriginEnum::Value v6_DataOrigin, boost::optional< std::string > v7_UserDefinedDataOrigin, ::Ifc4x3_tc1::IfcUnit* v8_Unit) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_Name)); if (v2_Description) {set_attribute_value(1, (*v2_Description)); }set_attribute_value(2, (v3_StartTime));set_attribute_value(3, (v4_EndTime));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_tc1::IfcTimeSeriesDataTypeEnum::Class(),(size_t)v5_TimeSeriesDataType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)v6_DataOrigin))); if (v7_UserDefinedDataOrigin) {set_attribute_value(6, (*v7_UserDefinedDataOrigin)); }set_attribute_value(7, v8_Unit ? v8_Unit->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcTimeSeriesValue -aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr Ifc4x3_tc1::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcValue >(); } +aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr Ifc4x3_tc1::IfcTimeSeriesValue::ListValues() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcValue >(); } void Ifc4x3_tc1::IfcTimeSeriesValue::setListValues(aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_tc1::IfcTimeSeriesValue::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1209]); } const IfcParse::entity& Ifc4x3_tc1::IfcTimeSeriesValue::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1209]); } Ifc4x3_tc1::IfcTimeSeriesValue::IfcTimeSeriesValue(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_ListValues)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_tc1::IfcValue >::ptr v1_ListValues) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_ListValues)->generalize());; populate_derived(); } // Function implementations for IfcTopologicalRepresentationItem @@ -17361,7 +17361,7 @@ Ifc4x3_tc1::IfcTimeSeriesValue::IfcTimeSeriesValue(aggregate_of< ::Ifc4x3_tc1::I const IfcParse::entity& Ifc4x3_tc1::IfcTopologicalRepresentationItem::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1211]); } const IfcParse::entity& Ifc4x3_tc1::IfcTopologicalRepresentationItem::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1211]); } Ifc4x3_tc1::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem(IfcEntityInstanceData&& e) : IfcRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_tc1::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() : IfcRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcTopologyRepresentation @@ -17369,79 +17369,79 @@ Ifc4x3_tc1::IfcTopologicalRepresentationItem::IfcTopologicalRepresentationItem() const IfcParse::entity& Ifc4x3_tc1::IfcTopologyRepresentation::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1212]); } const IfcParse::entity& Ifc4x3_tc1::IfcTopologyRepresentation::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1212]); } Ifc4x3_tc1::IfcTopologyRepresentation::IfcTopologyRepresentation(IfcEntityInstanceData&& e) : IfcShapeModel(std::move(e)) { } -Ifc4x3_tc1::IfcTopologyRepresentation::IfcTopologyRepresentation(::Ifc4x3_tc1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_tc1::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(storage_t(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcTopologyRepresentation::IfcTopologyRepresentation(::Ifc4x3_tc1::IfcRepresentationContext* v1_ContextOfItems, boost::optional< std::string > v2_RepresentationIdentifier, boost::optional< std::string > v3_RepresentationType, aggregate_of< ::Ifc4x3_tc1::IfcRepresentationItem >::ptr v4_Items) : IfcShapeModel(IfcEntityInstanceData(in_memory_attribute_storage(4))) { set_attribute_value(0, v1_ContextOfItems ? v1_ContextOfItems->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_RepresentationIdentifier) {set_attribute_value(1, (*v2_RepresentationIdentifier)); } if (v3_RepresentationType) {set_attribute_value(2, (*v3_RepresentationType)); }set_attribute_value(3, (v4_Items)->generalize());; populate_derived(); } // Function implementations for IfcToroidalSurface -double Ifc4x3_tc1::IfcToroidalSurface::MajorRadius() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_tc1::IfcToroidalSurface::MajorRadius() const { double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcToroidalSurface::setMajorRadius(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } -double Ifc4x3_tc1::IfcToroidalSurface::MinorRadius() const { double v = data_.get_attribute_value(2); return v; } +double Ifc4x3_tc1::IfcToroidalSurface::MinorRadius() const { double v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcToroidalSurface::setMinorRadius(double v) { set_attribute_value(2, v);if constexpr (false)unset_attribute_value(2); } const IfcParse::entity& Ifc4x3_tc1::IfcToroidalSurface::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1213]); } const IfcParse::entity& Ifc4x3_tc1::IfcToroidalSurface::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1213]); } Ifc4x3_tc1::IfcToroidalSurface::IfcToroidalSurface(IfcEntityInstanceData&& e) : IfcElementarySurface(std::move(e)) { } -Ifc4x3_tc1::IfcToroidalSurface::IfcToroidalSurface(::Ifc4x3_tc1::IfcAxis2Placement3D* v1_Position, double v2_MajorRadius, double v3_MinorRadius) : IfcElementarySurface(IfcEntityInstanceData(storage_t(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius));; populate_derived(); } +Ifc4x3_tc1::IfcToroidalSurface::IfcToroidalSurface(::Ifc4x3_tc1::IfcAxis2Placement3D* v1_Position, double v2_MajorRadius, double v3_MinorRadius) : IfcElementarySurface(IfcEntityInstanceData(in_memory_attribute_storage(3))) { set_attribute_value(0, v1_Position ? v1_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_MajorRadius));set_attribute_value(2, (v3_MinorRadius));; populate_derived(); } // Function implementations for IfcTrackElement -boost::optional< ::Ifc4x3_tc1::IfcTrackElementTypeEnum::Value > Ifc4x3_tc1::IfcTrackElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcTrackElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcTrackElementTypeEnum::Value > Ifc4x3_tc1::IfcTrackElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcTrackElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcTrackElement::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcTrackElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcTrackElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcTrackElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1215]); } const IfcParse::entity& Ifc4x3_tc1::IfcTrackElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1215]); } Ifc4x3_tc1::IfcTrackElement::IfcTrackElement(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_tc1::IfcTrackElement::IfcTrackElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcTrackElementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcTrackElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcTrackElement::IfcTrackElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcTrackElementTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcTrackElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTrackElementType -::Ifc4x3_tc1::IfcTrackElementTypeEnum::Value Ifc4x3_tc1::IfcTrackElementType::PredefinedType() const { return ::Ifc4x3_tc1::IfcTrackElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcTrackElementTypeEnum::Value Ifc4x3_tc1::IfcTrackElementType::PredefinedType() const { return ::Ifc4x3_tc1::IfcTrackElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcTrackElementType::setPredefinedType(::Ifc4x3_tc1::IfcTrackElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcTrackElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcTrackElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1216]); } const IfcParse::entity& Ifc4x3_tc1::IfcTrackElementType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1216]); } Ifc4x3_tc1::IfcTrackElementType::IfcTrackElementType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_tc1::IfcTrackElementType::IfcTrackElementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTrackElementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcTrackElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcTrackElementType::IfcTrackElementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTrackElementTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcTrackElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTransformer -boost::optional< ::Ifc4x3_tc1::IfcTransformerTypeEnum::Value > Ifc4x3_tc1::IfcTransformer::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcTransformerTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcTransformerTypeEnum::Value > Ifc4x3_tc1::IfcTransformer::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcTransformerTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcTransformer::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcTransformerTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcTransformerTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcTransformer::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1218]); } const IfcParse::entity& Ifc4x3_tc1::IfcTransformer::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1218]); } Ifc4x3_tc1::IfcTransformer::IfcTransformer(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_tc1::IfcTransformer::IfcTransformer(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcTransformerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcTransformer::IfcTransformer(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcTransformerTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcTransformerTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTransformerType -::Ifc4x3_tc1::IfcTransformerTypeEnum::Value Ifc4x3_tc1::IfcTransformerType::PredefinedType() const { return ::Ifc4x3_tc1::IfcTransformerTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcTransformerTypeEnum::Value Ifc4x3_tc1::IfcTransformerType::PredefinedType() const { return ::Ifc4x3_tc1::IfcTransformerTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcTransformerType::setPredefinedType(::Ifc4x3_tc1::IfcTransformerTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcTransformerTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcTransformerType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1219]); } const IfcParse::entity& Ifc4x3_tc1::IfcTransformerType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1219]); } Ifc4x3_tc1::IfcTransformerType::IfcTransformerType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_tc1::IfcTransformerType::IfcTransformerType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTransformerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcTransformerType::IfcTransformerType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTransformerTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcTransformerTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTransportElement -boost::optional< ::Ifc4x3_tc1::IfcTransportElementTypeEnum::Value > Ifc4x3_tc1::IfcTransportElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcTransportElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcTransportElementTypeEnum::Value > Ifc4x3_tc1::IfcTransportElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcTransportElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcTransportElement::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcTransportElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcTransportElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcTransportElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1225]); } const IfcParse::entity& Ifc4x3_tc1::IfcTransportElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1225]); } Ifc4x3_tc1::IfcTransportElement::IfcTransportElement(IfcEntityInstanceData&& e) : IfcTransportationDevice(std::move(e)) { } -Ifc4x3_tc1::IfcTransportElement::IfcTransportElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcTransportElementTypeEnum::Value > v9_PredefinedType) : IfcTransportationDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcTransportElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcTransportElement::IfcTransportElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcTransportElementTypeEnum::Value > v9_PredefinedType) : IfcTransportationDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcTransportElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTransportElementType -::Ifc4x3_tc1::IfcTransportElementTypeEnum::Value Ifc4x3_tc1::IfcTransportElementType::PredefinedType() const { return ::Ifc4x3_tc1::IfcTransportElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcTransportElementTypeEnum::Value Ifc4x3_tc1::IfcTransportElementType::PredefinedType() const { return ::Ifc4x3_tc1::IfcTransportElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcTransportElementType::setPredefinedType(::Ifc4x3_tc1::IfcTransportElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcTransportElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcTransportElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1226]); } const IfcParse::entity& Ifc4x3_tc1::IfcTransportElementType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1226]); } Ifc4x3_tc1::IfcTransportElementType::IfcTransportElementType(IfcEntityInstanceData&& e) : IfcTransportationDeviceType(std::move(e)) { } -Ifc4x3_tc1::IfcTransportElementType::IfcTransportElementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTransportElementTypeEnum::Value v10_PredefinedType) : IfcTransportationDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcTransportElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcTransportElementType::IfcTransportElementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTransportElementTypeEnum::Value v10_PredefinedType) : IfcTransportationDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcTransportElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTransportationDevice @@ -17449,7 +17449,7 @@ Ifc4x3_tc1::IfcTransportElementType::IfcTransportElementType(std::string v1_Glob const IfcParse::entity& Ifc4x3_tc1::IfcTransportationDevice::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1223]); } const IfcParse::entity& Ifc4x3_tc1::IfcTransportationDevice::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1223]); } Ifc4x3_tc1::IfcTransportationDevice::IfcTransportationDevice(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_tc1::IfcTransportationDevice::IfcTransportationDevice(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_tc1::IfcTransportationDevice::IfcTransportationDevice(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcTransportationDeviceType @@ -17457,92 +17457,92 @@ Ifc4x3_tc1::IfcTransportationDevice::IfcTransportationDevice(std::string v1_Glob const IfcParse::entity& Ifc4x3_tc1::IfcTransportationDeviceType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1224]); } const IfcParse::entity& Ifc4x3_tc1::IfcTransportationDeviceType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1224]); } Ifc4x3_tc1::IfcTransportationDeviceType::IfcTransportationDeviceType(IfcEntityInstanceData&& e) : IfcElementType(std::move(e)) { } -Ifc4x3_tc1::IfcTransportationDeviceType::IfcTransportationDeviceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } +Ifc4x3_tc1::IfcTransportationDeviceType::IfcTransportationDeviceType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType) : IfcElementType(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }; populate_derived(); } // Function implementations for IfcTrapeziumProfileDef -double Ifc4x3_tc1::IfcTrapeziumProfileDef::BottomXDim() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_tc1::IfcTrapeziumProfileDef::BottomXDim() const { double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcTrapeziumProfileDef::setBottomXDim(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_tc1::IfcTrapeziumProfileDef::TopXDim() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_tc1::IfcTrapeziumProfileDef::TopXDim() const { double v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcTrapeziumProfileDef::setTopXDim(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_tc1::IfcTrapeziumProfileDef::YDim() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_tc1::IfcTrapeziumProfileDef::YDim() const { double v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcTrapeziumProfileDef::setYDim(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_tc1::IfcTrapeziumProfileDef::TopXOffset() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_tc1::IfcTrapeziumProfileDef::TopXOffset() const { double v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcTrapeziumProfileDef::setTopXOffset(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } const IfcParse::entity& Ifc4x3_tc1::IfcTrapeziumProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1228]); } const IfcParse::entity& Ifc4x3_tc1::IfcTrapeziumProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1228]); } Ifc4x3_tc1::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_tc1::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D* v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) : IfcParameterizedProfileDef(IfcEntityInstanceData(storage_t(7))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; populate_derived(); } +Ifc4x3_tc1::IfcTrapeziumProfileDef::IfcTrapeziumProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::IfcAxis2Placement2D* v3_Position, double v4_BottomXDim, double v5_TopXDim, double v6_YDim, double v7_TopXOffset) : IfcParameterizedProfileDef(IfcEntityInstanceData(in_memory_attribute_storage(7))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_BottomXDim));set_attribute_value(4, (v5_TopXDim));set_attribute_value(5, (v6_YDim));set_attribute_value(6, (v7_TopXOffset));; populate_derived(); } // Function implementations for IfcTriangulatedFaceSet -boost::optional< std::vector< std::vector< double > > > Ifc4x3_tc1::IfcTriangulatedFaceSet::Normals() const { if(data_.get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::vector< double > > v = data_.get_attribute_value(1); return v; } +boost::optional< std::vector< std::vector< double > > > Ifc4x3_tc1::IfcTriangulatedFaceSet::Normals() const { if(get_attribute_value(1).isNull()) { return boost::none; } std::vector< std::vector< double > > v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcTriangulatedFaceSet::setNormals(boost::optional< std::vector< std::vector< double > > > v) { if (v) {set_attribute_value(1, *v);} else {unset_attribute_value(1);} } -boost::optional< bool > Ifc4x3_tc1::IfcTriangulatedFaceSet::Closed() const { if(data_.get_attribute_value(2).isNull()) { return boost::none; } bool v = data_.get_attribute_value(2); return v; } +boost::optional< bool > Ifc4x3_tc1::IfcTriangulatedFaceSet::Closed() const { if(get_attribute_value(2).isNull()) { return boost::none; } bool v = get_attribute_value(2); return v; } void Ifc4x3_tc1::IfcTriangulatedFaceSet::setClosed(boost::optional< bool > v) { if (v) {set_attribute_value(2, *v);} else {unset_attribute_value(2);} } -std::vector< std::vector< int > > Ifc4x3_tc1::IfcTriangulatedFaceSet::CoordIndex() const { std::vector< std::vector< int > > v = data_.get_attribute_value(3); return v; } +std::vector< std::vector< int > > Ifc4x3_tc1::IfcTriangulatedFaceSet::CoordIndex() const { std::vector< std::vector< int > > v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcTriangulatedFaceSet::setCoordIndex(std::vector< std::vector< int > > v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_tc1::IfcTriangulatedFaceSet::PnIndex() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(4); return v; } +boost::optional< std::vector< int > /*[1:?]*/ > Ifc4x3_tc1::IfcTriangulatedFaceSet::PnIndex() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::vector< int > /*[1:?]*/ v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcTriangulatedFaceSet::setPnIndex(boost::optional< std::vector< int > /*[1:?]*/ > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } const IfcParse::entity& Ifc4x3_tc1::IfcTriangulatedFaceSet::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1229]); } const IfcParse::entity& Ifc4x3_tc1::IfcTriangulatedFaceSet::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1229]); } Ifc4x3_tc1::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(IfcEntityInstanceData&& e) : IfcTessellatedFaceSet(std::move(e)) { } -Ifc4x3_tc1::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(::Ifc4x3_tc1::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(storage_t(5))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }; populate_derived(); } +Ifc4x3_tc1::IfcTriangulatedFaceSet::IfcTriangulatedFaceSet(::Ifc4x3_tc1::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(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }; populate_derived(); } // Function implementations for IfcTriangulatedIrregularNetwork -std::vector< int > /*[1:?]*/ Ifc4x3_tc1::IfcTriangulatedIrregularNetwork::Flags() const { std::vector< int > /*[1:?]*/ v = data_.get_attribute_value(5); return v; } +std::vector< int > /*[1:?]*/ Ifc4x3_tc1::IfcTriangulatedIrregularNetwork::Flags() const { std::vector< int > /*[1:?]*/ v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcTriangulatedIrregularNetwork::setFlags(std::vector< int > /*[1:?]*/ v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } const IfcParse::entity& Ifc4x3_tc1::IfcTriangulatedIrregularNetwork::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1230]); } const IfcParse::entity& Ifc4x3_tc1::IfcTriangulatedIrregularNetwork::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1230]); } Ifc4x3_tc1::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(IfcEntityInstanceData&& e) : IfcTriangulatedFaceSet(std::move(e)) { } -Ifc4x3_tc1::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::Ifc4x3_tc1::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(storage_t(6))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags));; populate_derived(); } +Ifc4x3_tc1::IfcTriangulatedIrregularNetwork::IfcTriangulatedIrregularNetwork(::Ifc4x3_tc1::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(in_memory_attribute_storage(6))) { set_attribute_value(0, v1_Coordinates ? v1_Coordinates->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v2_Normals) {set_attribute_value(1, (*v2_Normals)); } if (v3_Closed) {set_attribute_value(2, (*v3_Closed)); }set_attribute_value(3, (v4_CoordIndex)); if (v5_PnIndex) {set_attribute_value(4, (*v5_PnIndex)); }set_attribute_value(5, (v6_Flags));; populate_derived(); } // Function implementations for IfcTrimmedCurve -::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCurve>(true); } +::Ifc4x3_tc1::IfcCurve* Ifc4x3_tc1::IfcTrimmedCurve::BasisCurve() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcCurve>(true); } void Ifc4x3_tc1::IfcTrimmedCurve::setBasisCurve(::Ifc4x3_tc1::IfcCurve* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr Ifc4x3_tc1::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = data_.get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcTrimmingSelect >(); } +aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr Ifc4x3_tc1::IfcTrimmedCurve::Trim1() const { aggregate_of_instance::ptr es = get_attribute_value(1); return es->as< ::Ifc4x3_tc1::IfcTrimmingSelect >(); } void Ifc4x3_tc1::IfcTrimmedCurve::setTrim1(aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr v) { set_attribute_value(1, (v)->generalize());if constexpr (false)unset_attribute_value(1); } -aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr Ifc4x3_tc1::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = data_.get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcTrimmingSelect >(); } +aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr Ifc4x3_tc1::IfcTrimmedCurve::Trim2() const { aggregate_of_instance::ptr es = get_attribute_value(2); return es->as< ::Ifc4x3_tc1::IfcTrimmingSelect >(); } void Ifc4x3_tc1::IfcTrimmedCurve::setTrim2(aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr v) { set_attribute_value(2, (v)->generalize());if constexpr (false)unset_attribute_value(2); } -bool Ifc4x3_tc1::IfcTrimmedCurve::SenseAgreement() const { bool v = data_.get_attribute_value(3); return v; } +bool Ifc4x3_tc1::IfcTrimmedCurve::SenseAgreement() const { bool v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcTrimmedCurve::setSenseAgreement(bool v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -::Ifc4x3_tc1::IfcTrimmingPreference::Value Ifc4x3_tc1::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3_tc1::IfcTrimmingPreference::FromString(data_.get_attribute_value(4)); } +::Ifc4x3_tc1::IfcTrimmingPreference::Value Ifc4x3_tc1::IfcTrimmedCurve::MasterRepresentation() const { return ::Ifc4x3_tc1::IfcTrimmingPreference::FromString(get_attribute_value(4)); } void Ifc4x3_tc1::IfcTrimmedCurve::setMasterRepresentation(::Ifc4x3_tc1::IfcTrimmingPreference::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3_tc1::IfcTrimmingPreference::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } const IfcParse::entity& Ifc4x3_tc1::IfcTrimmedCurve::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1231]); } const IfcParse::entity& Ifc4x3_tc1::IfcTrimmedCurve::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1231]); } Ifc4x3_tc1::IfcTrimmedCurve::IfcTrimmedCurve(IfcEntityInstanceData&& e) : IfcBoundedCurve(std::move(e)) { } -Ifc4x3_tc1::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_tc1::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_tc1::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve(IfcEntityInstanceData(storage_t(5))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Trim1)->generalize());set_attribute_value(2, (v3_Trim2)->generalize());set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_tc1::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; populate_derived(); } +Ifc4x3_tc1::IfcTrimmedCurve::IfcTrimmedCurve(::Ifc4x3_tc1::IfcCurve* v1_BasisCurve, aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr v2_Trim1, aggregate_of< ::Ifc4x3_tc1::IfcTrimmingSelect >::ptr v3_Trim2, bool v4_SenseAgreement, ::Ifc4x3_tc1::IfcTrimmingPreference::Value v5_MasterRepresentation) : IfcBoundedCurve(IfcEntityInstanceData(in_memory_attribute_storage(5))) { set_attribute_value(0, v1_BasisCurve ? v1_BasisCurve->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Trim1)->generalize());set_attribute_value(2, (v3_Trim2)->generalize());set_attribute_value(3, (v4_SenseAgreement));set_attribute_value(4, (EnumerationReference(&::Ifc4x3_tc1::IfcTrimmingPreference::Class(),(size_t)v5_MasterRepresentation)));; populate_derived(); } // Function implementations for IfcTubeBundle -boost::optional< ::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Value > Ifc4x3_tc1::IfcTubeBundle::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcTubeBundleTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Value > Ifc4x3_tc1::IfcTubeBundle::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcTubeBundleTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcTubeBundle::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcTubeBundle::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1235]); } const IfcParse::entity& Ifc4x3_tc1::IfcTubeBundle::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1235]); } Ifc4x3_tc1::IfcTubeBundle::IfcTubeBundle(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_tc1::IfcTubeBundle::IfcTubeBundle(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcTubeBundle::IfcTubeBundle(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcTubeBundleType -::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Value Ifc4x3_tc1::IfcTubeBundleType::PredefinedType() const { return ::Ifc4x3_tc1::IfcTubeBundleTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Value Ifc4x3_tc1::IfcTubeBundleType::PredefinedType() const { return ::Ifc4x3_tc1::IfcTubeBundleTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcTubeBundleType::setPredefinedType(::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcTubeBundleType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1236]); } const IfcParse::entity& Ifc4x3_tc1::IfcTubeBundleType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1236]); } Ifc4x3_tc1::IfcTubeBundleType::IfcTubeBundleType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_tc1::IfcTubeBundleType::IfcTubeBundleType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcTubeBundleType::IfcTubeBundleType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcTubeBundleTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcTypeObject -boost::optional< std::string > Ifc4x3_tc1::IfcTypeObject::ApplicableOccurrence() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTypeObject::ApplicableOccurrence() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcTypeObject::setApplicableOccurrence(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > Ifc4x3_tc1::IfcTypeObject::HasPropertySets() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(5); return es->as< ::Ifc4x3_tc1::IfcPropertySetDefinition >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > Ifc4x3_tc1::IfcTypeObject::HasPropertySets() const { if(get_attribute_value(5).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(5); return es->as< ::Ifc4x3_tc1::IfcPropertySetDefinition >(); } void Ifc4x3_tc1::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v) { if (v) {set_attribute_value(5, (*v)->generalize());} else {unset_attribute_value(5);} } ::Ifc4x3_tc1::IfcRelDefinesByType::list::ptr Ifc4x3_tc1::IfcTypeObject::Types() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[933], 5)->as(); } @@ -17550,14 +17550,14 @@ void Ifc4x3_tc1::IfcTypeObject::setHasPropertySets(boost::optional< aggregate_of const IfcParse::entity& Ifc4x3_tc1::IfcTypeObject::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1238]); } const IfcParse::entity& Ifc4x3_tc1::IfcTypeObject::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1238]); } Ifc4x3_tc1::IfcTypeObject::IfcTypeObject(IfcEntityInstanceData&& e) : IfcObjectDefinition(std::move(e)) { } -Ifc4x3_tc1::IfcTypeObject::IfcTypeObject(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets) : IfcObjectDefinition(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); }; populate_derived(); } +Ifc4x3_tc1::IfcTypeObject::IfcTypeObject(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets) : IfcObjectDefinition(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); }; populate_derived(); } // Function implementations for IfcTypeProcess -boost::optional< std::string > Ifc4x3_tc1::IfcTypeProcess::Identification() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTypeProcess::Identification() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcTypeProcess::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_tc1::IfcTypeProcess::LongDescription() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTypeProcess::LongDescription() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcTypeProcess::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_tc1::IfcTypeProcess::ProcessType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTypeProcess::ProcessType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcTypeProcess::setProcessType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } ::Ifc4x3_tc1::IfcRelAssignsToProcess::list::ptr Ifc4x3_tc1::IfcTypeProcess::OperatesOn() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[903], 6)->as(); } @@ -17565,12 +17565,12 @@ void Ifc4x3_tc1::IfcTypeProcess::setProcessType(boost::optional< std::string > v const IfcParse::entity& Ifc4x3_tc1::IfcTypeProcess::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1239]); } const IfcParse::entity& Ifc4x3_tc1::IfcTypeProcess::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1239]); } Ifc4x3_tc1::IfcTypeProcess::IfcTypeProcess(IfcEntityInstanceData&& e) : IfcTypeObject(std::move(e)) { } -Ifc4x3_tc1::IfcTypeProcess::IfcTypeProcess(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType) : IfcTypeObject(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }; populate_derived(); } +Ifc4x3_tc1::IfcTypeProcess::IfcTypeProcess(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ProcessType) : IfcTypeObject(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ProcessType) {set_attribute_value(8, (*v9_ProcessType)); }; populate_derived(); } // Function implementations for IfcTypeProduct -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > Ifc4x3_tc1::IfcTypeProduct::RepresentationMaps() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3_tc1::IfcRepresentationMap >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > Ifc4x3_tc1::IfcTypeProduct::RepresentationMaps() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3_tc1::IfcRepresentationMap >(); } void Ifc4x3_tc1::IfcTypeProduct::setRepresentationMaps(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_tc1::IfcTypeProduct::Tag() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTypeProduct::Tag() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcTypeProduct::setTag(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } ::Ifc4x3_tc1::IfcRelAssignsToProduct::list::ptr Ifc4x3_tc1::IfcTypeProduct::ReferencedBy() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[904], 6)->as(); } @@ -17578,14 +17578,14 @@ void Ifc4x3_tc1::IfcTypeProduct::setTag(boost::optional< std::string > v) { if ( const IfcParse::entity& Ifc4x3_tc1::IfcTypeProduct::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1240]); } const IfcParse::entity& Ifc4x3_tc1::IfcTypeProduct::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1240]); } Ifc4x3_tc1::IfcTypeProduct::IfcTypeProduct(IfcEntityInstanceData&& e) : IfcTypeObject(std::move(e)) { } -Ifc4x3_tc1::IfcTypeProduct::IfcTypeProduct(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag) : IfcTypeObject(IfcEntityInstanceData(storage_t(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } +Ifc4x3_tc1::IfcTypeProduct::IfcTypeProduct(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag) : IfcTypeObject(IfcEntityInstanceData(in_memory_attribute_storage(8))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); }; populate_derived(); } // Function implementations for IfcTypeResource -boost::optional< std::string > Ifc4x3_tc1::IfcTypeResource::Identification() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(6); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTypeResource::Identification() const { if(get_attribute_value(6).isNull()) { return boost::none; } std::string v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcTypeResource::setIdentification(boost::optional< std::string > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< std::string > Ifc4x3_tc1::IfcTypeResource::LongDescription() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(7); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTypeResource::LongDescription() const { if(get_attribute_value(7).isNull()) { return boost::none; } std::string v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcTypeResource::setLongDescription(boost::optional< std::string > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_tc1::IfcTypeResource::ResourceType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcTypeResource::ResourceType() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcTypeResource::setResourceType(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } ::Ifc4x3_tc1::IfcRelAssignsToResource::list::ptr Ifc4x3_tc1::IfcTypeResource::ResourceOf() const { if (!file_) { return nullptr; } return file_->getInverse(id_, IFC4X3_TC1_types[905], 6)->as(); } @@ -17593,131 +17593,131 @@ void Ifc4x3_tc1::IfcTypeResource::setResourceType(boost::optional< std::string > const IfcParse::entity& Ifc4x3_tc1::IfcTypeResource::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1241]); } const IfcParse::entity& Ifc4x3_tc1::IfcTypeResource::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1241]); } Ifc4x3_tc1::IfcTypeResource::IfcTypeResource(IfcEntityInstanceData&& e) : IfcTypeObject(std::move(e)) { } -Ifc4x3_tc1::IfcTypeResource::IfcTypeResource(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType) : IfcTypeObject(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); }; populate_derived(); } +Ifc4x3_tc1::IfcTypeResource::IfcTypeResource(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< std::string > v7_Identification, boost::optional< std::string > v8_LongDescription, boost::optional< std::string > v9_ResourceType) : IfcTypeObject(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_Identification) {set_attribute_value(6, (*v7_Identification)); } if (v8_LongDescription) {set_attribute_value(7, (*v8_LongDescription)); } if (v9_ResourceType) {set_attribute_value(8, (*v9_ResourceType)); }; populate_derived(); } // Function implementations for IfcUShapeProfileDef -double Ifc4x3_tc1::IfcUShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_tc1::IfcUShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcUShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_tc1::IfcUShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_tc1::IfcUShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcUShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_tc1::IfcUShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_tc1::IfcUShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcUShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_tc1::IfcUShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_tc1::IfcUShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcUShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_tc1::IfcUShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_tc1::IfcUShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcUShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_tc1::IfcUShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_tc1::IfcUShapeProfileDef::EdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcUShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_tc1::IfcUShapeProfileDef::FlangeSlope() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_tc1::IfcUShapeProfileDef::FlangeSlope() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_tc1::IfcUShapeProfileDef::setFlangeSlope(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } const IfcParse::entity& Ifc4x3_tc1::IfcUShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1252]); } const IfcParse::entity& Ifc4x3_tc1::IfcUShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1252]); } Ifc4x3_tc1::IfcUShapeProfileDef::IfcUShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_tc1::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::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(storage_t(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } +Ifc4x3_tc1::IfcUShapeProfileDef::IfcUShapeProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::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(in_memory_attribute_storage(10))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); } if (v10_FlangeSlope) {set_attribute_value(9, (*v10_FlangeSlope)); }; populate_derived(); } // Function implementations for IfcUnitAssignment -aggregate_of< ::Ifc4x3_tc1::IfcUnit >::ptr Ifc4x3_tc1::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcUnit >(); } +aggregate_of< ::Ifc4x3_tc1::IfcUnit >::ptr Ifc4x3_tc1::IfcUnitAssignment::Units() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcUnit >(); } void Ifc4x3_tc1::IfcUnitAssignment::setUnits(aggregate_of< ::Ifc4x3_tc1::IfcUnit >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_tc1::IfcUnitAssignment::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1249]); } const IfcParse::entity& Ifc4x3_tc1::IfcUnitAssignment::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1249]); } Ifc4x3_tc1::IfcUnitAssignment::IfcUnitAssignment(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3_tc1::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, (v1_Units)->generalize());; populate_derived(); } +Ifc4x3_tc1::IfcUnitAssignment::IfcUnitAssignment(aggregate_of< ::Ifc4x3_tc1::IfcUnit >::ptr v1_Units) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, (v1_Units)->generalize());; populate_derived(); } // Function implementations for IfcUnitaryControlElement -boost::optional< ::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_tc1::IfcUnitaryControlElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Value > Ifc4x3_tc1::IfcUnitaryControlElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcUnitaryControlElement::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcUnitaryControlElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1243]); } const IfcParse::entity& Ifc4x3_tc1::IfcUnitaryControlElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1243]); } Ifc4x3_tc1::IfcUnitaryControlElement::IfcUnitaryControlElement(IfcEntityInstanceData&& e) : IfcDistributionControlElement(std::move(e)) { } -Ifc4x3_tc1::IfcUnitaryControlElement::IfcUnitaryControlElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcUnitaryControlElement::IfcUnitaryControlElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Value > v9_PredefinedType) : IfcDistributionControlElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcUnitaryControlElementType -::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Value Ifc4x3_tc1::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Value Ifc4x3_tc1::IfcUnitaryControlElementType::PredefinedType() const { return ::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcUnitaryControlElementType::setPredefinedType(::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcUnitaryControlElementType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1244]); } const IfcParse::entity& Ifc4x3_tc1::IfcUnitaryControlElementType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1244]); } Ifc4x3_tc1::IfcUnitaryControlElementType::IfcUnitaryControlElementType(IfcEntityInstanceData&& e) : IfcDistributionControlElementType(std::move(e)) { } -Ifc4x3_tc1::IfcUnitaryControlElementType::IfcUnitaryControlElementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcUnitaryControlElementType::IfcUnitaryControlElementType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Value v10_PredefinedType) : IfcDistributionControlElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcUnitaryControlElementTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcUnitaryEquipment -boost::optional< ::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x3_tc1::IfcUnitaryEquipment::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Value > Ifc4x3_tc1::IfcUnitaryEquipment::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcUnitaryEquipment::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcUnitaryEquipment::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1246]); } const IfcParse::entity& Ifc4x3_tc1::IfcUnitaryEquipment::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1246]); } Ifc4x3_tc1::IfcUnitaryEquipment::IfcUnitaryEquipment(IfcEntityInstanceData&& e) : IfcEnergyConversionDevice(std::move(e)) { } -Ifc4x3_tc1::IfcUnitaryEquipment::IfcUnitaryEquipment(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcUnitaryEquipment::IfcUnitaryEquipment(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Value > v9_PredefinedType) : IfcEnergyConversionDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcUnitaryEquipmentType -::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3_tc1::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Value Ifc4x3_tc1::IfcUnitaryEquipmentType::PredefinedType() const { return ::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcUnitaryEquipmentType::setPredefinedType(::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcUnitaryEquipmentType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1247]); } const IfcParse::entity& Ifc4x3_tc1::IfcUnitaryEquipmentType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1247]); } Ifc4x3_tc1::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(IfcEntityInstanceData&& e) : IfcEnergyConversionDeviceType(std::move(e)) { } -Ifc4x3_tc1::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcUnitaryEquipmentType::IfcUnitaryEquipmentType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Value v10_PredefinedType) : IfcEnergyConversionDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcUnitaryEquipmentTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcValve -boost::optional< ::Ifc4x3_tc1::IfcValveTypeEnum::Value > Ifc4x3_tc1::IfcValve::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcValveTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcValveTypeEnum::Value > Ifc4x3_tc1::IfcValve::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcValveTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcValve::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcValveTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcValveTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcValve::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1254]); } const IfcParse::entity& Ifc4x3_tc1::IfcValve::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1254]); } Ifc4x3_tc1::IfcValve::IfcValve(IfcEntityInstanceData&& e) : IfcFlowController(std::move(e)) { } -Ifc4x3_tc1::IfcValve::IfcValve(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcValveTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcValve::IfcValve(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcValveTypeEnum::Value > v9_PredefinedType) : IfcFlowController(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcValveTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcValveType -::Ifc4x3_tc1::IfcValveTypeEnum::Value Ifc4x3_tc1::IfcValveType::PredefinedType() const { return ::Ifc4x3_tc1::IfcValveTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcValveTypeEnum::Value Ifc4x3_tc1::IfcValveType::PredefinedType() const { return ::Ifc4x3_tc1::IfcValveTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcValveType::setPredefinedType(::Ifc4x3_tc1::IfcValveTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcValveTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcValveType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1255]); } const IfcParse::entity& Ifc4x3_tc1::IfcValveType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1255]); } Ifc4x3_tc1::IfcValveType::IfcValveType(IfcEntityInstanceData&& e) : IfcFlowControllerType(std::move(e)) { } -Ifc4x3_tc1::IfcValveType::IfcValveType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcValveTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcValveType::IfcValveType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcValveTypeEnum::Value v10_PredefinedType) : IfcFlowControllerType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcValveTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcVector -::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcDirection>(true); } +::Ifc4x3_tc1::IfcDirection* Ifc4x3_tc1::IfcVector::Orientation() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcDirection>(true); } void Ifc4x3_tc1::IfcVector::setOrientation(::Ifc4x3_tc1::IfcDirection* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } -double Ifc4x3_tc1::IfcVector::Magnitude() const { double v = data_.get_attribute_value(1); return v; } +double Ifc4x3_tc1::IfcVector::Magnitude() const { double v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcVector::setMagnitude(double v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcVector::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1258]); } const IfcParse::entity& Ifc4x3_tc1::IfcVector::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1258]); } Ifc4x3_tc1::IfcVector::IfcVector(IfcEntityInstanceData&& e) : IfcGeometricRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcVector::IfcVector(::Ifc4x3_tc1::IfcDirection* v1_Orientation, double v2_Magnitude) : IfcGeometricRepresentationItem(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, v1_Orientation ? v1_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Magnitude));; populate_derived(); } +Ifc4x3_tc1::IfcVector::IfcVector(::Ifc4x3_tc1::IfcDirection* v1_Orientation, double v2_Magnitude) : IfcGeometricRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, v1_Orientation ? v1_Orientation->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(1, (v2_Magnitude));; populate_derived(); } // Function implementations for IfcVehicle -boost::optional< ::Ifc4x3_tc1::IfcVehicleTypeEnum::Value > Ifc4x3_tc1::IfcVehicle::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcVehicleTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcVehicleTypeEnum::Value > Ifc4x3_tc1::IfcVehicle::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcVehicleTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcVehicle::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcVehicleTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcVehicleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcVehicle::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1260]); } const IfcParse::entity& Ifc4x3_tc1::IfcVehicle::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1260]); } Ifc4x3_tc1::IfcVehicle::IfcVehicle(IfcEntityInstanceData&& e) : IfcTransportationDevice(std::move(e)) { } -Ifc4x3_tc1::IfcVehicle::IfcVehicle(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcVehicleTypeEnum::Value > v9_PredefinedType) : IfcTransportationDevice(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcVehicleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcVehicle::IfcVehicle(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcVehicleTypeEnum::Value > v9_PredefinedType) : IfcTransportationDevice(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcVehicleTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcVehicleType -::Ifc4x3_tc1::IfcVehicleTypeEnum::Value Ifc4x3_tc1::IfcVehicleType::PredefinedType() const { return ::Ifc4x3_tc1::IfcVehicleTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcVehicleTypeEnum::Value Ifc4x3_tc1::IfcVehicleType::PredefinedType() const { return ::Ifc4x3_tc1::IfcVehicleTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcVehicleType::setPredefinedType(::Ifc4x3_tc1::IfcVehicleTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcVehicleTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcVehicleType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1261]); } const IfcParse::entity& Ifc4x3_tc1::IfcVehicleType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1261]); } Ifc4x3_tc1::IfcVehicleType::IfcVehicleType(IfcEntityInstanceData&& e) : IfcTransportationDeviceType(std::move(e)) { } -Ifc4x3_tc1::IfcVehicleType::IfcVehicleType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcVehicleTypeEnum::Value v10_PredefinedType) : IfcTransportationDeviceType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcVehicleTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcVehicleType::IfcVehicleType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcVehicleTypeEnum::Value v10_PredefinedType) : IfcTransportationDeviceType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcVehicleTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcVertex @@ -17725,109 +17725,109 @@ Ifc4x3_tc1::IfcVehicleType::IfcVehicleType(std::string v1_GlobalId, ::Ifc4x3_tc1 const IfcParse::entity& Ifc4x3_tc1::IfcVertex::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1263]); } const IfcParse::entity& Ifc4x3_tc1::IfcVertex::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1263]); } Ifc4x3_tc1::IfcVertex::IfcVertex(IfcEntityInstanceData&& e) : IfcTopologicalRepresentationItem(std::move(e)) { } -Ifc4x3_tc1::IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(storage_t(0))) { ; populate_derived(); } +Ifc4x3_tc1::IfcVertex::IfcVertex() : IfcTopologicalRepresentationItem(IfcEntityInstanceData(in_memory_attribute_storage(0))) { ; populate_derived(); } // Function implementations for IfcVertexLoop -::Ifc4x3_tc1::IfcVertex* Ifc4x3_tc1::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcVertex>(true); } +::Ifc4x3_tc1::IfcVertex* Ifc4x3_tc1::IfcVertexLoop::LoopVertex() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcVertex>(true); } void Ifc4x3_tc1::IfcVertexLoop::setLoopVertex(::Ifc4x3_tc1::IfcVertex* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_tc1::IfcVertexLoop::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1264]); } const IfcParse::entity& Ifc4x3_tc1::IfcVertexLoop::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1264]); } Ifc4x3_tc1::IfcVertexLoop::IfcVertexLoop(IfcEntityInstanceData&& e) : IfcLoop(std::move(e)) { } -Ifc4x3_tc1::IfcVertexLoop::IfcVertexLoop(::Ifc4x3_tc1::IfcVertex* v1_LoopVertex) : IfcLoop(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_LoopVertex ? v1_LoopVertex->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcVertexLoop::IfcVertexLoop(::Ifc4x3_tc1::IfcVertex* v1_LoopVertex) : IfcLoop(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_LoopVertex ? v1_LoopVertex->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcVertexPoint -::Ifc4x3_tc1::IfcPoint* Ifc4x3_tc1::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcPoint>(true); } +::Ifc4x3_tc1::IfcPoint* Ifc4x3_tc1::IfcVertexPoint::VertexGeometry() const { return ((IfcUtil::IfcBaseClass*)(get_attribute_value(0)))->as<::Ifc4x3_tc1::IfcPoint>(true); } void Ifc4x3_tc1::IfcVertexPoint::setVertexGeometry(::Ifc4x3_tc1::IfcPoint* v) { set_attribute_value(0, v->as());if constexpr (false)unset_attribute_value(0); } const IfcParse::entity& Ifc4x3_tc1::IfcVertexPoint::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1265]); } const IfcParse::entity& Ifc4x3_tc1::IfcVertexPoint::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1265]); } Ifc4x3_tc1::IfcVertexPoint::IfcVertexPoint(IfcEntityInstanceData&& e) : IfcVertex(std::move(e)) { } -Ifc4x3_tc1::IfcVertexPoint::IfcVertexPoint(::Ifc4x3_tc1::IfcPoint* v1_VertexGeometry) : IfcVertex(IfcEntityInstanceData(storage_t(1))) { set_attribute_value(0, v1_VertexGeometry ? v1_VertexGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcVertexPoint::IfcVertexPoint(::Ifc4x3_tc1::IfcPoint* v1_VertexGeometry) : IfcVertex(IfcEntityInstanceData(in_memory_attribute_storage(1))) { set_attribute_value(0, v1_VertexGeometry ? v1_VertexGeometry->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcVibrationDamper -boost::optional< ::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Value > Ifc4x3_tc1::IfcVibrationDamper::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Value > Ifc4x3_tc1::IfcVibrationDamper::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcVibrationDamper::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcVibrationDamper::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1266]); } const IfcParse::entity& Ifc4x3_tc1::IfcVibrationDamper::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1266]); } Ifc4x3_tc1::IfcVibrationDamper::IfcVibrationDamper(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_tc1::IfcVibrationDamper::IfcVibrationDamper(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcVibrationDamper::IfcVibrationDamper(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcVibrationDamperType -::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Value Ifc4x3_tc1::IfcVibrationDamperType::PredefinedType() const { return ::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Value Ifc4x3_tc1::IfcVibrationDamperType::PredefinedType() const { return ::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcVibrationDamperType::setPredefinedType(::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcVibrationDamperType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1267]); } const IfcParse::entity& Ifc4x3_tc1::IfcVibrationDamperType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1267]); } Ifc4x3_tc1::IfcVibrationDamperType::IfcVibrationDamperType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_tc1::IfcVibrationDamperType::IfcVibrationDamperType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcVibrationDamperType::IfcVibrationDamperType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcVibrationDamperTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcVibrationIsolator -boost::optional< ::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Value > Ifc4x3_tc1::IfcVibrationIsolator::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Value > Ifc4x3_tc1::IfcVibrationIsolator::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcVibrationIsolator::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcVibrationIsolator::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1269]); } const IfcParse::entity& Ifc4x3_tc1::IfcVibrationIsolator::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1269]); } Ifc4x3_tc1::IfcVibrationIsolator::IfcVibrationIsolator(IfcEntityInstanceData&& e) : IfcElementComponent(std::move(e)) { } -Ifc4x3_tc1::IfcVibrationIsolator::IfcVibrationIsolator(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcVibrationIsolator::IfcVibrationIsolator(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Value > v9_PredefinedType) : IfcElementComponent(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcVibrationIsolatorType -::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Value Ifc4x3_tc1::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Value Ifc4x3_tc1::IfcVibrationIsolatorType::PredefinedType() const { return ::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcVibrationIsolatorType::setPredefinedType(::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcVibrationIsolatorType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1270]); } const IfcParse::entity& Ifc4x3_tc1::IfcVibrationIsolatorType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1270]); } Ifc4x3_tc1::IfcVibrationIsolatorType::IfcVibrationIsolatorType(IfcEntityInstanceData&& e) : IfcElementComponentType(std::move(e)) { } -Ifc4x3_tc1::IfcVibrationIsolatorType::IfcVibrationIsolatorType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcVibrationIsolatorType::IfcVibrationIsolatorType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Value v10_PredefinedType) : IfcElementComponentType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcVibrationIsolatorTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcVirtualElement -boost::optional< ::Ifc4x3_tc1::IfcVirtualElementTypeEnum::Value > Ifc4x3_tc1::IfcVirtualElement::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcVirtualElementTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcVirtualElementTypeEnum::Value > Ifc4x3_tc1::IfcVirtualElement::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcVirtualElementTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcVirtualElement::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcVirtualElementTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcVirtualElementTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcVirtualElement::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1272]); } const IfcParse::entity& Ifc4x3_tc1::IfcVirtualElement::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1272]); } Ifc4x3_tc1::IfcVirtualElement::IfcVirtualElement(IfcEntityInstanceData&& e) : IfcElement(std::move(e)) { } -Ifc4x3_tc1::IfcVirtualElement::IfcVirtualElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcVirtualElementTypeEnum::Value > v9_PredefinedType) : IfcElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcVirtualElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcVirtualElement::IfcVirtualElement(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcVirtualElementTypeEnum::Value > v9_PredefinedType) : IfcElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcVirtualElementTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcVirtualGridIntersection -aggregate_of< ::Ifc4x3_tc1::IfcGridAxis >::ptr Ifc4x3_tc1::IfcVirtualGridIntersection::IntersectingAxes() const { aggregate_of_instance::ptr es = data_.get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcGridAxis >(); } +aggregate_of< ::Ifc4x3_tc1::IfcGridAxis >::ptr Ifc4x3_tc1::IfcVirtualGridIntersection::IntersectingAxes() const { aggregate_of_instance::ptr es = get_attribute_value(0); return es->as< ::Ifc4x3_tc1::IfcGridAxis >(); } void Ifc4x3_tc1::IfcVirtualGridIntersection::setIntersectingAxes(aggregate_of< ::Ifc4x3_tc1::IfcGridAxis >::ptr v) { set_attribute_value(0, (v)->generalize());if constexpr (false)unset_attribute_value(0); } -std::vector< double > /*[2:3]*/ Ifc4x3_tc1::IfcVirtualGridIntersection::OffsetDistances() const { std::vector< double > /*[2:3]*/ v = data_.get_attribute_value(1); return v; } +std::vector< double > /*[2:3]*/ Ifc4x3_tc1::IfcVirtualGridIntersection::OffsetDistances() const { std::vector< double > /*[2:3]*/ v = get_attribute_value(1); return v; } void Ifc4x3_tc1::IfcVirtualGridIntersection::setOffsetDistances(std::vector< double > /*[2:3]*/ v) { set_attribute_value(1, v);if constexpr (false)unset_attribute_value(1); } const IfcParse::entity& Ifc4x3_tc1::IfcVirtualGridIntersection::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1274]); } const IfcParse::entity& Ifc4x3_tc1::IfcVirtualGridIntersection::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1274]); } Ifc4x3_tc1::IfcVirtualGridIntersection::IfcVirtualGridIntersection(IfcEntityInstanceData&& e) : IfcUtil::IfcBaseEntity(std::move(e)) { } -Ifc4x3_tc1::IfcVirtualGridIntersection::IfcVirtualGridIntersection(aggregate_of< ::Ifc4x3_tc1::IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(storage_t(2))) { set_attribute_value(0, (v1_IntersectingAxes)->generalize());set_attribute_value(1, (v2_OffsetDistances));; populate_derived(); } +Ifc4x3_tc1::IfcVirtualGridIntersection::IfcVirtualGridIntersection(aggregate_of< ::Ifc4x3_tc1::IfcGridAxis >::ptr v1_IntersectingAxes, std::vector< double > /*[2:3]*/ v2_OffsetDistances) : IfcUtil::IfcBaseEntity(IfcEntityInstanceData(in_memory_attribute_storage(2))) { set_attribute_value(0, (v1_IntersectingAxes)->generalize());set_attribute_value(1, (v2_OffsetDistances));; populate_derived(); } // Function implementations for IfcVoidingFeature -boost::optional< ::Ifc4x3_tc1::IfcVoidingFeatureTypeEnum::Value > Ifc4x3_tc1::IfcVoidingFeature::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcVoidingFeatureTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcVoidingFeatureTypeEnum::Value > Ifc4x3_tc1::IfcVoidingFeature::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcVoidingFeatureTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcVoidingFeature::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcVoidingFeatureTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcVoidingFeatureTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcVoidingFeature::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1275]); } const IfcParse::entity& Ifc4x3_tc1::IfcVoidingFeature::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1275]); } Ifc4x3_tc1::IfcVoidingFeature::IfcVoidingFeature(IfcEntityInstanceData&& e) : IfcFeatureElementSubtraction(std::move(e)) { } -Ifc4x3_tc1::IfcVoidingFeature::IfcVoidingFeature(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcVoidingFeature::IfcVoidingFeature(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcVoidingFeatureTypeEnum::Value > v9_PredefinedType) : IfcFeatureElementSubtraction(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcVoidingFeatureTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWall -boost::optional< ::Ifc4x3_tc1::IfcWallTypeEnum::Value > Ifc4x3_tc1::IfcWall::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcWallTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcWallTypeEnum::Value > Ifc4x3_tc1::IfcWall::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcWallTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcWall::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcWallTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcWallTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcWall::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1279]); } const IfcParse::entity& Ifc4x3_tc1::IfcWall::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1279]); } Ifc4x3_tc1::IfcWall::IfcWall(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_tc1::IfcWall::IfcWall(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcWall::IfcWall(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWallStandardCase @@ -17835,219 +17835,219 @@ Ifc4x3_tc1::IfcWall::IfcWall(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHist const IfcParse::entity& Ifc4x3_tc1::IfcWallStandardCase::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1280]); } const IfcParse::entity& Ifc4x3_tc1::IfcWallStandardCase::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1280]); } Ifc4x3_tc1::IfcWallStandardCase::IfcWallStandardCase(IfcEntityInstanceData&& e) : IfcWall(std::move(e)) { } -Ifc4x3_tc1::IfcWallStandardCase::IfcWallStandardCase(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcWall(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcWallStandardCase::IfcWallStandardCase(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcWallTypeEnum::Value > v9_PredefinedType) : IfcWall(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcWallTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWallType -::Ifc4x3_tc1::IfcWallTypeEnum::Value Ifc4x3_tc1::IfcWallType::PredefinedType() const { return ::Ifc4x3_tc1::IfcWallTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcWallTypeEnum::Value Ifc4x3_tc1::IfcWallType::PredefinedType() const { return ::Ifc4x3_tc1::IfcWallTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcWallType::setPredefinedType(::Ifc4x3_tc1::IfcWallTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcWallTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcWallType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1281]); } const IfcParse::entity& Ifc4x3_tc1::IfcWallType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1281]); } Ifc4x3_tc1::IfcWallType::IfcWallType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_tc1::IfcWallType::IfcWallType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcWallTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcWallType::IfcWallType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcWallTypeEnum::Value v10_PredefinedType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcWallTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcWasteTerminal -boost::optional< ::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Value > Ifc4x3_tc1::IfcWasteTerminal::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Value > Ifc4x3_tc1::IfcWasteTerminal::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcWasteTerminal::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcWasteTerminal::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1286]); } const IfcParse::entity& Ifc4x3_tc1::IfcWasteTerminal::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1286]); } Ifc4x3_tc1::IfcWasteTerminal::IfcWasteTerminal(IfcEntityInstanceData&& e) : IfcFlowTerminal(std::move(e)) { } -Ifc4x3_tc1::IfcWasteTerminal::IfcWasteTerminal(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcWasteTerminal::IfcWasteTerminal(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< ::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Value > v9_PredefinedType) : IfcFlowTerminal(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWasteTerminalType -::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Value Ifc4x3_tc1::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Value Ifc4x3_tc1::IfcWasteTerminalType::PredefinedType() const { return ::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcWasteTerminalType::setPredefinedType(::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } const IfcParse::entity& Ifc4x3_tc1::IfcWasteTerminalType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1287]); } const IfcParse::entity& Ifc4x3_tc1::IfcWasteTerminalType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1287]); } Ifc4x3_tc1::IfcWasteTerminalType::IfcWasteTerminalType(IfcEntityInstanceData&& e) : IfcFlowTerminalType(std::move(e)) { } -Ifc4x3_tc1::IfcWasteTerminalType::IfcWasteTerminalType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(storage_t(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } +Ifc4x3_tc1::IfcWasteTerminalType::IfcWasteTerminalType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Value v10_PredefinedType) : IfcFlowTerminalType(IfcEntityInstanceData(in_memory_attribute_storage(10))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcWasteTerminalTypeEnum::Class(),(size_t)v10_PredefinedType)));; populate_derived(); } // Function implementations for IfcWindow -boost::optional< double > Ifc4x3_tc1::IfcWindow::OverallHeight() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_tc1::IfcWindow::OverallHeight() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcWindow::setOverallHeight(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_tc1::IfcWindow::OverallWidth() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_tc1::IfcWindow::OverallWidth() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_tc1::IfcWindow::setOverallWidth(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< ::Ifc4x3_tc1::IfcWindowTypeEnum::Value > Ifc4x3_tc1::IfcWindow::PredefinedType() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcWindowTypeEnum::FromString(data_.get_attribute_value(10)); } +boost::optional< ::Ifc4x3_tc1::IfcWindowTypeEnum::Value > Ifc4x3_tc1::IfcWindow::PredefinedType() const { if(get_attribute_value(10).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcWindowTypeEnum::FromString(get_attribute_value(10)); } void Ifc4x3_tc1::IfcWindow::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcWindowTypeEnum::Value > v) { if (v) {set_attribute_value(10, EnumerationReference(&::Ifc4x3_tc1::IfcWindowTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(10);} } -boost::optional< ::Ifc4x3_tc1::IfcWindowTypePartitioningEnum::Value > Ifc4x3_tc1::IfcWindow::PartitioningType() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcWindowTypePartitioningEnum::FromString(data_.get_attribute_value(11)); } +boost::optional< ::Ifc4x3_tc1::IfcWindowTypePartitioningEnum::Value > Ifc4x3_tc1::IfcWindow::PartitioningType() const { if(get_attribute_value(11).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcWindowTypePartitioningEnum::FromString(get_attribute_value(11)); } void Ifc4x3_tc1::IfcWindow::setPartitioningType(boost::optional< ::Ifc4x3_tc1::IfcWindowTypePartitioningEnum::Value > v) { if (v) {set_attribute_value(11, EnumerationReference(&::Ifc4x3_tc1::IfcWindowTypePartitioningEnum::Class(), (size_t) *v));} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_tc1::IfcWindow::UserDefinedPartitioningType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcWindow::UserDefinedPartitioningType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_tc1::IfcWindow::setUserDefinedPartitioningType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_tc1::IfcWindow::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1289]); } const IfcParse::entity& Ifc4x3_tc1::IfcWindow::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1289]); } Ifc4x3_tc1::IfcWindow::IfcWindow(IfcEntityInstanceData&& e) : IfcBuiltElement(std::move(e)) { } -Ifc4x3_tc1::IfcWindow::IfcWindow(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_tc1::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_tc1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuiltElement(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_tc1::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } +Ifc4x3_tc1::IfcWindow::IfcWindow(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, ::Ifc4x3_tc1::IfcObjectPlacement* v6_ObjectPlacement, ::Ifc4x3_tc1::IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< double > v9_OverallHeight, boost::optional< double > v10_OverallWidth, boost::optional< ::Ifc4x3_tc1::IfcWindowTypeEnum::Value > v11_PredefinedType, boost::optional< ::Ifc4x3_tc1::IfcWindowTypePartitioningEnum::Value > v12_PartitioningType, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuiltElement(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); }set_attribute_value(5, v6_ObjectPlacement ? v6_ObjectPlacement->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(6, v7_Representation ? v7_Representation->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_OverallHeight) {set_attribute_value(8, (*v9_OverallHeight)); } if (v10_OverallWidth) {set_attribute_value(9, (*v10_OverallWidth)); } if (v11_PredefinedType) {set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcWindowTypeEnum::Class(),(size_t)*v11_PredefinedType))); } if (v12_PartitioningType) {set_attribute_value(11, (EnumerationReference(&::Ifc4x3_tc1::IfcWindowTypePartitioningEnum::Class(),(size_t)*v12_PartitioningType))); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } // Function implementations for IfcWindowLiningProperties -boost::optional< double > Ifc4x3_tc1::IfcWindowLiningProperties::LiningDepth() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } double v = data_.get_attribute_value(4); return v; } +boost::optional< double > Ifc4x3_tc1::IfcWindowLiningProperties::LiningDepth() const { if(get_attribute_value(4).isNull()) { return boost::none; } double v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcWindowLiningProperties::setLiningDepth(boost::optional< double > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< double > Ifc4x3_tc1::IfcWindowLiningProperties::LiningThickness() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } double v = data_.get_attribute_value(5); return v; } +boost::optional< double > Ifc4x3_tc1::IfcWindowLiningProperties::LiningThickness() const { if(get_attribute_value(5).isNull()) { return boost::none; } double v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcWindowLiningProperties::setLiningThickness(boost::optional< double > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } -boost::optional< double > Ifc4x3_tc1::IfcWindowLiningProperties::TransomThickness() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_tc1::IfcWindowLiningProperties::TransomThickness() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcWindowLiningProperties::setTransomThickness(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_tc1::IfcWindowLiningProperties::MullionThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_tc1::IfcWindowLiningProperties::MullionThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcWindowLiningProperties::setMullionThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_tc1::IfcWindowLiningProperties::FirstTransomOffset() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_tc1::IfcWindowLiningProperties::FirstTransomOffset() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcWindowLiningProperties::setFirstTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< double > Ifc4x3_tc1::IfcWindowLiningProperties::SecondTransomOffset() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } double v = data_.get_attribute_value(9); return v; } +boost::optional< double > Ifc4x3_tc1::IfcWindowLiningProperties::SecondTransomOffset() const { if(get_attribute_value(9).isNull()) { return boost::none; } double v = get_attribute_value(9); return v; } void Ifc4x3_tc1::IfcWindowLiningProperties::setSecondTransomOffset(boost::optional< double > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< double > Ifc4x3_tc1::IfcWindowLiningProperties::FirstMullionOffset() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } double v = data_.get_attribute_value(10); return v; } +boost::optional< double > Ifc4x3_tc1::IfcWindowLiningProperties::FirstMullionOffset() const { if(get_attribute_value(10).isNull()) { return boost::none; } double v = get_attribute_value(10); return v; } void Ifc4x3_tc1::IfcWindowLiningProperties::setFirstMullionOffset(boost::optional< double > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -boost::optional< double > Ifc4x3_tc1::IfcWindowLiningProperties::SecondMullionOffset() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } double v = data_.get_attribute_value(11); return v; } +boost::optional< double > Ifc4x3_tc1::IfcWindowLiningProperties::SecondMullionOffset() const { if(get_attribute_value(11).isNull()) { return boost::none; } double v = get_attribute_value(11); return v; } void Ifc4x3_tc1::IfcWindowLiningProperties::setSecondMullionOffset(boost::optional< double > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -::Ifc4x3_tc1::IfcShapeAspect* Ifc4x3_tc1::IfcWindowLiningProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(12).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(12)))->as<::Ifc4x3_tc1::IfcShapeAspect>(true); } +::Ifc4x3_tc1::IfcShapeAspect* Ifc4x3_tc1::IfcWindowLiningProperties::ShapeAspectStyle() const { if(get_attribute_value(12).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(12)))->as<::Ifc4x3_tc1::IfcShapeAspect>(true); } void Ifc4x3_tc1::IfcWindowLiningProperties::setShapeAspectStyle(::Ifc4x3_tc1::IfcShapeAspect* v) { set_attribute_value(12, v->as());if constexpr (false)unset_attribute_value(12); } -boost::optional< double > Ifc4x3_tc1::IfcWindowLiningProperties::LiningOffset() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } double v = data_.get_attribute_value(13); return v; } +boost::optional< double > Ifc4x3_tc1::IfcWindowLiningProperties::LiningOffset() const { if(get_attribute_value(13).isNull()) { return boost::none; } double v = get_attribute_value(13); return v; } void Ifc4x3_tc1::IfcWindowLiningProperties::setLiningOffset(boost::optional< double > v) { if (v) {set_attribute_value(13, *v);} else {unset_attribute_value(13);} } -boost::optional< double > Ifc4x3_tc1::IfcWindowLiningProperties::LiningToPanelOffsetX() const { if(data_.get_attribute_value(14).isNull()) { return boost::none; } double v = data_.get_attribute_value(14); return v; } +boost::optional< double > Ifc4x3_tc1::IfcWindowLiningProperties::LiningToPanelOffsetX() const { if(get_attribute_value(14).isNull()) { return boost::none; } double v = get_attribute_value(14); return v; } void Ifc4x3_tc1::IfcWindowLiningProperties::setLiningToPanelOffsetX(boost::optional< double > v) { if (v) {set_attribute_value(14, *v);} else {unset_attribute_value(14);} } -boost::optional< double > Ifc4x3_tc1::IfcWindowLiningProperties::LiningToPanelOffsetY() const { if(data_.get_attribute_value(15).isNull()) { return boost::none; } double v = data_.get_attribute_value(15); return v; } +boost::optional< double > Ifc4x3_tc1::IfcWindowLiningProperties::LiningToPanelOffsetY() const { if(get_attribute_value(15).isNull()) { return boost::none; } double v = get_attribute_value(15); return v; } void Ifc4x3_tc1::IfcWindowLiningProperties::setLiningToPanelOffsetY(boost::optional< double > v) { if (v) {set_attribute_value(15, *v);} else {unset_attribute_value(15);} } const IfcParse::entity& Ifc4x3_tc1::IfcWindowLiningProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1290]); } const IfcParse::entity& Ifc4x3_tc1::IfcWindowLiningProperties::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1290]); } Ifc4x3_tc1::IfcWindowLiningProperties::IfcWindowLiningProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_tc1::IfcWindowLiningProperties::IfcWindowLiningProperties(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcShapeAspect* v13_ShapeAspectStyle, boost::optional< double > v14_LiningOffset, boost::optional< double > v15_LiningToPanelOffsetX, boost::optional< double > v16_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, v13_ShapeAspectStyle ? v13_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); }; populate_derived(); } +Ifc4x3_tc1::IfcWindowLiningProperties::IfcWindowLiningProperties(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcShapeAspect* v13_ShapeAspectStyle, boost::optional< double > v14_LiningOffset, boost::optional< double > v15_LiningToPanelOffsetX, boost::optional< double > v16_LiningToPanelOffsetY) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(16))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_LiningDepth) {set_attribute_value(4, (*v5_LiningDepth)); } if (v6_LiningThickness) {set_attribute_value(5, (*v6_LiningThickness)); } if (v7_TransomThickness) {set_attribute_value(6, (*v7_TransomThickness)); } if (v8_MullionThickness) {set_attribute_value(7, (*v8_MullionThickness)); } if (v9_FirstTransomOffset) {set_attribute_value(8, (*v9_FirstTransomOffset)); } if (v10_SecondTransomOffset) {set_attribute_value(9, (*v10_SecondTransomOffset)); } if (v11_FirstMullionOffset) {set_attribute_value(10, (*v11_FirstMullionOffset)); } if (v12_SecondMullionOffset) {set_attribute_value(11, (*v12_SecondMullionOffset)); }set_attribute_value(12, v13_ShapeAspectStyle ? v13_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v14_LiningOffset) {set_attribute_value(13, (*v14_LiningOffset)); } if (v15_LiningToPanelOffsetX) {set_attribute_value(14, (*v15_LiningToPanelOffsetX)); } if (v16_LiningToPanelOffsetY) {set_attribute_value(15, (*v16_LiningToPanelOffsetY)); }; populate_derived(); } // Function implementations for IfcWindowPanelProperties -::Ifc4x3_tc1::IfcWindowPanelOperationEnum::Value Ifc4x3_tc1::IfcWindowPanelProperties::OperationType() const { return ::Ifc4x3_tc1::IfcWindowPanelOperationEnum::FromString(data_.get_attribute_value(4)); } +::Ifc4x3_tc1::IfcWindowPanelOperationEnum::Value Ifc4x3_tc1::IfcWindowPanelProperties::OperationType() const { return ::Ifc4x3_tc1::IfcWindowPanelOperationEnum::FromString(get_attribute_value(4)); } void Ifc4x3_tc1::IfcWindowPanelProperties::setOperationType(::Ifc4x3_tc1::IfcWindowPanelOperationEnum::Value v) { set_attribute_value(4, EnumerationReference(&::Ifc4x3_tc1::IfcWindowPanelOperationEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(4); } -::Ifc4x3_tc1::IfcWindowPanelPositionEnum::Value Ifc4x3_tc1::IfcWindowPanelProperties::PanelPosition() const { return ::Ifc4x3_tc1::IfcWindowPanelPositionEnum::FromString(data_.get_attribute_value(5)); } +::Ifc4x3_tc1::IfcWindowPanelPositionEnum::Value Ifc4x3_tc1::IfcWindowPanelProperties::PanelPosition() const { return ::Ifc4x3_tc1::IfcWindowPanelPositionEnum::FromString(get_attribute_value(5)); } void Ifc4x3_tc1::IfcWindowPanelProperties::setPanelPosition(::Ifc4x3_tc1::IfcWindowPanelPositionEnum::Value v) { set_attribute_value(5, EnumerationReference(&::Ifc4x3_tc1::IfcWindowPanelPositionEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(5); } -boost::optional< double > Ifc4x3_tc1::IfcWindowPanelProperties::FrameDepth() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } double v = data_.get_attribute_value(6); return v; } +boost::optional< double > Ifc4x3_tc1::IfcWindowPanelProperties::FrameDepth() const { if(get_attribute_value(6).isNull()) { return boost::none; } double v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcWindowPanelProperties::setFrameDepth(boost::optional< double > v) { if (v) {set_attribute_value(6, *v);} else {unset_attribute_value(6);} } -boost::optional< double > Ifc4x3_tc1::IfcWindowPanelProperties::FrameThickness() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_tc1::IfcWindowPanelProperties::FrameThickness() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcWindowPanelProperties::setFrameThickness(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -::Ifc4x3_tc1::IfcShapeAspect* Ifc4x3_tc1::IfcWindowPanelProperties::ShapeAspectStyle() const { if(data_.get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(8)))->as<::Ifc4x3_tc1::IfcShapeAspect>(true); } +::Ifc4x3_tc1::IfcShapeAspect* Ifc4x3_tc1::IfcWindowPanelProperties::ShapeAspectStyle() const { if(get_attribute_value(8).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(8)))->as<::Ifc4x3_tc1::IfcShapeAspect>(true); } void Ifc4x3_tc1::IfcWindowPanelProperties::setShapeAspectStyle(::Ifc4x3_tc1::IfcShapeAspect* v) { set_attribute_value(8, v->as());if constexpr (false)unset_attribute_value(8); } const IfcParse::entity& Ifc4x3_tc1::IfcWindowPanelProperties::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1293]); } const IfcParse::entity& Ifc4x3_tc1::IfcWindowPanelProperties::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1293]); } Ifc4x3_tc1::IfcWindowPanelProperties::IfcWindowPanelProperties(IfcEntityInstanceData&& e) : IfcPreDefinedPropertySet(std::move(e)) { } -Ifc4x3_tc1::IfcWindowPanelProperties::IfcWindowPanelProperties(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_tc1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x3_tc1::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x3_tc1::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_tc1::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } +Ifc4x3_tc1::IfcWindowPanelProperties::IfcWindowPanelProperties(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, ::Ifc4x3_tc1::IfcWindowPanelOperationEnum::Value v5_OperationType, ::Ifc4x3_tc1::IfcWindowPanelPositionEnum::Value v6_PanelPosition, boost::optional< double > v7_FrameDepth, boost::optional< double > v8_FrameThickness, ::Ifc4x3_tc1::IfcShapeAspect* v9_ShapeAspectStyle) : IfcPreDefinedPropertySet(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); }set_attribute_value(4, (EnumerationReference(&::Ifc4x3_tc1::IfcWindowPanelOperationEnum::Class(),(size_t)v5_OperationType)));set_attribute_value(5, (EnumerationReference(&::Ifc4x3_tc1::IfcWindowPanelPositionEnum::Class(),(size_t)v6_PanelPosition))); if (v7_FrameDepth) {set_attribute_value(6, (*v7_FrameDepth)); } if (v8_FrameThickness) {set_attribute_value(7, (*v8_FrameThickness)); }set_attribute_value(8, v9_ShapeAspectStyle ? v9_ShapeAspectStyle->as() : (IfcUtil::IfcBaseClass*) nullptr);; populate_derived(); } // Function implementations for IfcWindowType -::Ifc4x3_tc1::IfcWindowTypeEnum::Value Ifc4x3_tc1::IfcWindowType::PredefinedType() const { return ::Ifc4x3_tc1::IfcWindowTypeEnum::FromString(data_.get_attribute_value(9)); } +::Ifc4x3_tc1::IfcWindowTypeEnum::Value Ifc4x3_tc1::IfcWindowType::PredefinedType() const { return ::Ifc4x3_tc1::IfcWindowTypeEnum::FromString(get_attribute_value(9)); } void Ifc4x3_tc1::IfcWindowType::setPredefinedType(::Ifc4x3_tc1::IfcWindowTypeEnum::Value v) { set_attribute_value(9, EnumerationReference(&::Ifc4x3_tc1::IfcWindowTypeEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(9); } -::Ifc4x3_tc1::IfcWindowTypePartitioningEnum::Value Ifc4x3_tc1::IfcWindowType::PartitioningType() const { return ::Ifc4x3_tc1::IfcWindowTypePartitioningEnum::FromString(data_.get_attribute_value(10)); } +::Ifc4x3_tc1::IfcWindowTypePartitioningEnum::Value Ifc4x3_tc1::IfcWindowType::PartitioningType() const { return ::Ifc4x3_tc1::IfcWindowTypePartitioningEnum::FromString(get_attribute_value(10)); } void Ifc4x3_tc1::IfcWindowType::setPartitioningType(::Ifc4x3_tc1::IfcWindowTypePartitioningEnum::Value v) { set_attribute_value(10, EnumerationReference(&::Ifc4x3_tc1::IfcWindowTypePartitioningEnum::Class(), (size_t) v));if constexpr (false)unset_attribute_value(10); } -boost::optional< bool > Ifc4x3_tc1::IfcWindowType::ParameterTakesPrecedence() const { if(data_.get_attribute_value(11).isNull()) { return boost::none; } bool v = data_.get_attribute_value(11); return v; } +boost::optional< bool > Ifc4x3_tc1::IfcWindowType::ParameterTakesPrecedence() const { if(get_attribute_value(11).isNull()) { return boost::none; } bool v = get_attribute_value(11); return v; } void Ifc4x3_tc1::IfcWindowType::setParameterTakesPrecedence(boost::optional< bool > v) { if (v) {set_attribute_value(11, *v);} else {unset_attribute_value(11);} } -boost::optional< std::string > Ifc4x3_tc1::IfcWindowType::UserDefinedPartitioningType() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcWindowType::UserDefinedPartitioningType() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_tc1::IfcWindowType::setUserDefinedPartitioningType(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_tc1::IfcWindowType::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1294]); } const IfcParse::entity& Ifc4x3_tc1::IfcWindowType::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1294]); } Ifc4x3_tc1::IfcWindowType::IfcWindowType(IfcEntityInstanceData&& e) : IfcBuiltElementType(std::move(e)) { } -Ifc4x3_tc1::IfcWindowType::IfcWindowType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_tc1::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuiltElementType(IfcEntityInstanceData(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } +Ifc4x3_tc1::IfcWindowType::IfcWindowType(std::string v1_GlobalId, ::Ifc4x3_tc1::IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, ::Ifc4x3_tc1::IfcWindowTypeEnum::Value v10_PredefinedType, ::Ifc4x3_tc1::IfcWindowTypePartitioningEnum::Value v11_PartitioningType, boost::optional< bool > v12_ParameterTakesPrecedence, boost::optional< std::string > v13_UserDefinedPartitioningType) : IfcBuiltElementType(IfcEntityInstanceData(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ApplicableOccurrence) {set_attribute_value(4, (*v5_ApplicableOccurrence)); } if (v6_HasPropertySets) {set_attribute_value(5, (*v6_HasPropertySets)->generalize()); } if (v7_RepresentationMaps) {set_attribute_value(6, (*v7_RepresentationMaps)->generalize()); } if (v8_Tag) {set_attribute_value(7, (*v8_Tag)); } if (v9_ElementType) {set_attribute_value(8, (*v9_ElementType)); }set_attribute_value(9, (EnumerationReference(&::Ifc4x3_tc1::IfcWindowTypeEnum::Class(),(size_t)v10_PredefinedType)));set_attribute_value(10, (EnumerationReference(&::Ifc4x3_tc1::IfcWindowTypePartitioningEnum::Class(),(size_t)v11_PartitioningType))); if (v12_ParameterTakesPrecedence) {set_attribute_value(11, (*v12_ParameterTakesPrecedence)); } if (v13_UserDefinedPartitioningType) {set_attribute_value(12, (*v13_UserDefinedPartitioningType)); }; populate_derived(); } // Function implementations for IfcWorkCalendar -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcWorkTime >::ptr > Ifc4x3_tc1::IfcWorkCalendar::WorkingTimes() const { if(data_.get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(6); return es->as< ::Ifc4x3_tc1::IfcWorkTime >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcWorkTime >::ptr > Ifc4x3_tc1::IfcWorkCalendar::WorkingTimes() const { if(get_attribute_value(6).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(6); return es->as< ::Ifc4x3_tc1::IfcWorkTime >(); } void Ifc4x3_tc1::IfcWorkCalendar::setWorkingTimes(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcWorkTime >::ptr > v) { if (v) {set_attribute_value(6, (*v)->generalize());} else {unset_attribute_value(6);} } -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcWorkTime >::ptr > Ifc4x3_tc1::IfcWorkCalendar::ExceptionTimes() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_tc1::IfcWorkTime >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcWorkTime >::ptr > Ifc4x3_tc1::IfcWorkCalendar::ExceptionTimes() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_tc1::IfcWorkTime >(); } void Ifc4x3_tc1::IfcWorkCalendar::setExceptionTimes(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcWorkTime >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< ::Ifc4x3_tc1::IfcWorkCalendarTypeEnum::Value > Ifc4x3_tc1::IfcWorkCalendar::PredefinedType() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcWorkCalendarTypeEnum::FromString(data_.get_attribute_value(8)); } +boost::optional< ::Ifc4x3_tc1::IfcWorkCalendarTypeEnum::Value > Ifc4x3_tc1::IfcWorkCalendar::PredefinedType() const { if(get_attribute_value(8).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcWorkCalendarTypeEnum::FromString(get_attribute_value(8)); } void Ifc4x3_tc1::IfcWorkCalendar::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcWorkCalendarTypeEnum::Value > v) { if (v) {set_attribute_value(8, EnumerationReference(&::Ifc4x3_tc1::IfcWorkCalendarTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcWorkCalendar::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1297]); } const IfcParse::entity& Ifc4x3_tc1::IfcWorkCalendar::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1297]); } Ifc4x3_tc1::IfcWorkCalendar::IfcWorkCalendar(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_tc1::IfcWorkCalendar::IfcWorkCalendar(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcWorkTime >::ptr > v7_WorkingTimes, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcWorkTime >::ptr > v8_ExceptionTimes, boost::optional< ::Ifc4x3_tc1::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) : IfcControl(IfcEntityInstanceData(storage_t(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, (*v7_WorkingTimes)->generalize()); } if (v8_ExceptionTimes) {set_attribute_value(7, (*v8_ExceptionTimes)->generalize()); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcWorkCalendar::IfcWorkCalendar(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::IfcWorkTime >::ptr > v7_WorkingTimes, boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcWorkTime >::ptr > v8_ExceptionTimes, boost::optional< ::Ifc4x3_tc1::IfcWorkCalendarTypeEnum::Value > v9_PredefinedType) : IfcControl(IfcEntityInstanceData(in_memory_attribute_storage(9))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); } if (v7_WorkingTimes) {set_attribute_value(6, (*v7_WorkingTimes)->generalize()); } if (v8_ExceptionTimes) {set_attribute_value(7, (*v8_ExceptionTimes)->generalize()); } if (v9_PredefinedType) {set_attribute_value(8, (EnumerationReference(&::Ifc4x3_tc1::IfcWorkCalendarTypeEnum::Class(),(size_t)*v9_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWorkControl -std::string Ifc4x3_tc1::IfcWorkControl::CreationDate() const { std::string v = data_.get_attribute_value(6); return v; } +std::string Ifc4x3_tc1::IfcWorkControl::CreationDate() const { std::string v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcWorkControl::setCreationDate(std::string v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPerson >::ptr > Ifc4x3_tc1::IfcWorkControl::Creators() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = data_.get_attribute_value(7); return es->as< ::Ifc4x3_tc1::IfcPerson >(); } +boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPerson >::ptr > Ifc4x3_tc1::IfcWorkControl::Creators() const { if(get_attribute_value(7).isNull()) { return boost::none; } aggregate_of_instance::ptr es = get_attribute_value(7); return es->as< ::Ifc4x3_tc1::IfcPerson >(); } void Ifc4x3_tc1::IfcWorkControl::setCreators(boost::optional< aggregate_of< ::Ifc4x3_tc1::IfcPerson >::ptr > v) { if (v) {set_attribute_value(7, (*v)->generalize());} else {unset_attribute_value(7);} } -boost::optional< std::string > Ifc4x3_tc1::IfcWorkControl::Purpose() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(8); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcWorkControl::Purpose() const { if(get_attribute_value(8).isNull()) { return boost::none; } std::string v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcWorkControl::setPurpose(boost::optional< std::string > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } -boost::optional< std::string > Ifc4x3_tc1::IfcWorkControl::Duration() const { if(data_.get_attribute_value(9).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(9); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcWorkControl::Duration() const { if(get_attribute_value(9).isNull()) { return boost::none; } std::string v = get_attribute_value(9); return v; } void Ifc4x3_tc1::IfcWorkControl::setDuration(boost::optional< std::string > v) { if (v) {set_attribute_value(9, *v);} else {unset_attribute_value(9);} } -boost::optional< std::string > Ifc4x3_tc1::IfcWorkControl::TotalFloat() const { if(data_.get_attribute_value(10).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(10); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcWorkControl::TotalFloat() const { if(get_attribute_value(10).isNull()) { return boost::none; } std::string v = get_attribute_value(10); return v; } void Ifc4x3_tc1::IfcWorkControl::setTotalFloat(boost::optional< std::string > v) { if (v) {set_attribute_value(10, *v);} else {unset_attribute_value(10);} } -std::string Ifc4x3_tc1::IfcWorkControl::StartTime() const { std::string v = data_.get_attribute_value(11); return v; } +std::string Ifc4x3_tc1::IfcWorkControl::StartTime() const { std::string v = get_attribute_value(11); return v; } void Ifc4x3_tc1::IfcWorkControl::setStartTime(std::string v) { set_attribute_value(11, v);if constexpr (false)unset_attribute_value(11); } -boost::optional< std::string > Ifc4x3_tc1::IfcWorkControl::FinishTime() const { if(data_.get_attribute_value(12).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(12); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcWorkControl::FinishTime() const { if(get_attribute_value(12).isNull()) { return boost::none; } std::string v = get_attribute_value(12); return v; } void Ifc4x3_tc1::IfcWorkControl::setFinishTime(boost::optional< std::string > v) { if (v) {set_attribute_value(12, *v);} else {unset_attribute_value(12);} } const IfcParse::entity& Ifc4x3_tc1::IfcWorkControl::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1299]); } const IfcParse::entity& Ifc4x3_tc1::IfcWorkControl::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1299]); } Ifc4x3_tc1::IfcWorkControl::IfcWorkControl(IfcEntityInstanceData&& e) : IfcControl(std::move(e)) { } -Ifc4x3_tc1::IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::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(storage_t(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); }; populate_derived(); } +Ifc4x3_tc1::IfcWorkControl::IfcWorkControl(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::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(in_memory_attribute_storage(13))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); }; populate_derived(); } // Function implementations for IfcWorkPlan -boost::optional< ::Ifc4x3_tc1::IfcWorkPlanTypeEnum::Value > Ifc4x3_tc1::IfcWorkPlan::PredefinedType() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcWorkPlanTypeEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x3_tc1::IfcWorkPlanTypeEnum::Value > Ifc4x3_tc1::IfcWorkPlan::PredefinedType() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcWorkPlanTypeEnum::FromString(get_attribute_value(13)); } void Ifc4x3_tc1::IfcWorkPlan::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcWorkPlanTypeEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x3_tc1::IfcWorkPlanTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } const IfcParse::entity& Ifc4x3_tc1::IfcWorkPlan::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1300]); } const IfcParse::entity& Ifc4x3_tc1::IfcWorkPlan::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1300]); } Ifc4x3_tc1::IfcWorkPlan::IfcWorkPlan(IfcEntityInstanceData&& e) : IfcWorkControl(std::move(e)) { } -Ifc4x3_tc1::IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::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_tc1::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_tc1::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcWorkPlan::IfcWorkPlan(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::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_tc1::IfcWorkPlanTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_tc1::IfcWorkPlanTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWorkSchedule -boost::optional< ::Ifc4x3_tc1::IfcWorkScheduleTypeEnum::Value > Ifc4x3_tc1::IfcWorkSchedule::PredefinedType() const { if(data_.get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcWorkScheduleTypeEnum::FromString(data_.get_attribute_value(13)); } +boost::optional< ::Ifc4x3_tc1::IfcWorkScheduleTypeEnum::Value > Ifc4x3_tc1::IfcWorkSchedule::PredefinedType() const { if(get_attribute_value(13).isNull()) { return boost::none; } return ::Ifc4x3_tc1::IfcWorkScheduleTypeEnum::FromString(get_attribute_value(13)); } void Ifc4x3_tc1::IfcWorkSchedule::setPredefinedType(boost::optional< ::Ifc4x3_tc1::IfcWorkScheduleTypeEnum::Value > v) { if (v) {set_attribute_value(13, EnumerationReference(&::Ifc4x3_tc1::IfcWorkScheduleTypeEnum::Class(), (size_t) *v));} else {unset_attribute_value(13);} } const IfcParse::entity& Ifc4x3_tc1::IfcWorkSchedule::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1302]); } const IfcParse::entity& Ifc4x3_tc1::IfcWorkSchedule::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1302]); } Ifc4x3_tc1::IfcWorkSchedule::IfcWorkSchedule(IfcEntityInstanceData&& e) : IfcWorkControl(std::move(e)) { } -Ifc4x3_tc1::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::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_tc1::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(storage_t(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_tc1::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } +Ifc4x3_tc1::IfcWorkSchedule::IfcWorkSchedule(std::string v1_GlobalId, ::Ifc4x3_tc1::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_tc1::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_tc1::IfcWorkScheduleTypeEnum::Value > v14_PredefinedType) : IfcWorkControl(IfcEntityInstanceData(in_memory_attribute_storage(14))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_Identification) {set_attribute_value(5, (*v6_Identification)); }set_attribute_value(6, (v7_CreationDate)); if (v8_Creators) {set_attribute_value(7, (*v8_Creators)->generalize()); } if (v9_Purpose) {set_attribute_value(8, (*v9_Purpose)); } if (v10_Duration) {set_attribute_value(9, (*v10_Duration)); } if (v11_TotalFloat) {set_attribute_value(10, (*v11_TotalFloat)); }set_attribute_value(11, (v12_StartTime)); if (v13_FinishTime) {set_attribute_value(12, (*v13_FinishTime)); } if (v14_PredefinedType) {set_attribute_value(13, (EnumerationReference(&::Ifc4x3_tc1::IfcWorkScheduleTypeEnum::Class(),(size_t)*v14_PredefinedType))); }; populate_derived(); } // Function implementations for IfcWorkTime -::Ifc4x3_tc1::IfcRecurrencePattern* Ifc4x3_tc1::IfcWorkTime::RecurrencePattern() const { if(data_.get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(data_.get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcRecurrencePattern>(true); } +::Ifc4x3_tc1::IfcRecurrencePattern* Ifc4x3_tc1::IfcWorkTime::RecurrencePattern() const { if(get_attribute_value(3).isNull()) { return nullptr; } return ((IfcUtil::IfcBaseClass*)(get_attribute_value(3)))->as<::Ifc4x3_tc1::IfcRecurrencePattern>(true); } void Ifc4x3_tc1::IfcWorkTime::setRecurrencePattern(::Ifc4x3_tc1::IfcRecurrencePattern* v) { set_attribute_value(3, v->as());if constexpr (false)unset_attribute_value(3); } -boost::optional< std::string > Ifc4x3_tc1::IfcWorkTime::StartDate() const { if(data_.get_attribute_value(4).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(4); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcWorkTime::StartDate() const { if(get_attribute_value(4).isNull()) { return boost::none; } std::string v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcWorkTime::setStartDate(boost::optional< std::string > v) { if (v) {set_attribute_value(4, *v);} else {unset_attribute_value(4);} } -boost::optional< std::string > Ifc4x3_tc1::IfcWorkTime::FinishDate() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcWorkTime::FinishDate() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcWorkTime::setFinishDate(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_tc1::IfcWorkTime::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1304]); } const IfcParse::entity& Ifc4x3_tc1::IfcWorkTime::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1304]); } Ifc4x3_tc1::IfcWorkTime::IfcWorkTime(IfcEntityInstanceData&& e) : IfcSchedulingTime(std::move(e)) { } -Ifc4x3_tc1::IfcWorkTime::IfcWorkTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_tc1::IfcRecurrencePattern* v4_RecurrencePattern, boost::optional< std::string > v5_StartDate, boost::optional< std::string > v6_FinishDate) : IfcSchedulingTime(IfcEntityInstanceData(storage_t(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_RecurrencePattern ? v4_RecurrencePattern->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_StartDate) {set_attribute_value(4, (*v5_StartDate)); } if (v6_FinishDate) {set_attribute_value(5, (*v6_FinishDate)); }; populate_derived(); } +Ifc4x3_tc1::IfcWorkTime::IfcWorkTime(boost::optional< std::string > v1_Name, boost::optional< ::Ifc4x3_tc1::IfcDataOriginEnum::Value > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, ::Ifc4x3_tc1::IfcRecurrencePattern* v4_RecurrencePattern, boost::optional< std::string > v5_StartDate, boost::optional< std::string > v6_FinishDate) : IfcSchedulingTime(IfcEntityInstanceData(in_memory_attribute_storage(6))) { if (v1_Name) {set_attribute_value(0, (*v1_Name)); } if (v2_DataOrigin) {set_attribute_value(1, (EnumerationReference(&::Ifc4x3_tc1::IfcDataOriginEnum::Class(),(size_t)*v2_DataOrigin))); } if (v3_UserDefinedDataOrigin) {set_attribute_value(2, (*v3_UserDefinedDataOrigin)); }set_attribute_value(3, v4_RecurrencePattern ? v4_RecurrencePattern->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v5_StartDate) {set_attribute_value(4, (*v5_StartDate)); } if (v6_FinishDate) {set_attribute_value(5, (*v6_FinishDate)); }; populate_derived(); } // Function implementations for IfcZShapeProfileDef -double Ifc4x3_tc1::IfcZShapeProfileDef::Depth() const { double v = data_.get_attribute_value(3); return v; } +double Ifc4x3_tc1::IfcZShapeProfileDef::Depth() const { double v = get_attribute_value(3); return v; } void Ifc4x3_tc1::IfcZShapeProfileDef::setDepth(double v) { set_attribute_value(3, v);if constexpr (false)unset_attribute_value(3); } -double Ifc4x3_tc1::IfcZShapeProfileDef::FlangeWidth() const { double v = data_.get_attribute_value(4); return v; } +double Ifc4x3_tc1::IfcZShapeProfileDef::FlangeWidth() const { double v = get_attribute_value(4); return v; } void Ifc4x3_tc1::IfcZShapeProfileDef::setFlangeWidth(double v) { set_attribute_value(4, v);if constexpr (false)unset_attribute_value(4); } -double Ifc4x3_tc1::IfcZShapeProfileDef::WebThickness() const { double v = data_.get_attribute_value(5); return v; } +double Ifc4x3_tc1::IfcZShapeProfileDef::WebThickness() const { double v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcZShapeProfileDef::setWebThickness(double v) { set_attribute_value(5, v);if constexpr (false)unset_attribute_value(5); } -double Ifc4x3_tc1::IfcZShapeProfileDef::FlangeThickness() const { double v = data_.get_attribute_value(6); return v; } +double Ifc4x3_tc1::IfcZShapeProfileDef::FlangeThickness() const { double v = get_attribute_value(6); return v; } void Ifc4x3_tc1::IfcZShapeProfileDef::setFlangeThickness(double v) { set_attribute_value(6, v);if constexpr (false)unset_attribute_value(6); } -boost::optional< double > Ifc4x3_tc1::IfcZShapeProfileDef::FilletRadius() const { if(data_.get_attribute_value(7).isNull()) { return boost::none; } double v = data_.get_attribute_value(7); return v; } +boost::optional< double > Ifc4x3_tc1::IfcZShapeProfileDef::FilletRadius() const { if(get_attribute_value(7).isNull()) { return boost::none; } double v = get_attribute_value(7); return v; } void Ifc4x3_tc1::IfcZShapeProfileDef::setFilletRadius(boost::optional< double > v) { if (v) {set_attribute_value(7, *v);} else {unset_attribute_value(7);} } -boost::optional< double > Ifc4x3_tc1::IfcZShapeProfileDef::EdgeRadius() const { if(data_.get_attribute_value(8).isNull()) { return boost::none; } double v = data_.get_attribute_value(8); return v; } +boost::optional< double > Ifc4x3_tc1::IfcZShapeProfileDef::EdgeRadius() const { if(get_attribute_value(8).isNull()) { return boost::none; } double v = get_attribute_value(8); return v; } void Ifc4x3_tc1::IfcZShapeProfileDef::setEdgeRadius(boost::optional< double > v) { if (v) {set_attribute_value(8, *v);} else {unset_attribute_value(8);} } const IfcParse::entity& Ifc4x3_tc1::IfcZShapeProfileDef::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1306]); } const IfcParse::entity& Ifc4x3_tc1::IfcZShapeProfileDef::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1306]); } Ifc4x3_tc1::IfcZShapeProfileDef::IfcZShapeProfileDef(IfcEntityInstanceData&& e) : IfcParameterizedProfileDef(std::move(e)) { } -Ifc4x3_tc1::IfcZShapeProfileDef::IfcZShapeProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::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(storage_t(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; populate_derived(); } +Ifc4x3_tc1::IfcZShapeProfileDef::IfcZShapeProfileDef(::Ifc4x3_tc1::IfcProfileTypeEnum::Value v1_ProfileType, boost::optional< std::string > v2_ProfileName, ::Ifc4x3_tc1::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(in_memory_attribute_storage(9))) { set_attribute_value(0, (EnumerationReference(&::Ifc4x3_tc1::IfcProfileTypeEnum::Class(),(size_t)v1_ProfileType))); if (v2_ProfileName) {set_attribute_value(1, (*v2_ProfileName)); }set_attribute_value(2, v3_Position ? v3_Position->as() : (IfcUtil::IfcBaseClass*) nullptr);set_attribute_value(3, (v4_Depth));set_attribute_value(4, (v5_FlangeWidth));set_attribute_value(5, (v6_WebThickness));set_attribute_value(6, (v7_FlangeThickness)); if (v8_FilletRadius) {set_attribute_value(7, (*v8_FilletRadius)); } if (v9_EdgeRadius) {set_attribute_value(8, (*v9_EdgeRadius)); }; populate_derived(); } // Function implementations for IfcZone -boost::optional< std::string > Ifc4x3_tc1::IfcZone::LongName() const { if(data_.get_attribute_value(5).isNull()) { return boost::none; } std::string v = data_.get_attribute_value(5); return v; } +boost::optional< std::string > Ifc4x3_tc1::IfcZone::LongName() const { if(get_attribute_value(5).isNull()) { return boost::none; } std::string v = get_attribute_value(5); return v; } void Ifc4x3_tc1::IfcZone::setLongName(boost::optional< std::string > v) { if (v) {set_attribute_value(5, *v);} else {unset_attribute_value(5);} } const IfcParse::entity& Ifc4x3_tc1::IfcZone::declaration() const { return *((IfcParse::entity*)IFC4X3_TC1_types[1305]); } const IfcParse::entity& Ifc4x3_tc1::IfcZone::Class() { return *((IfcParse::entity*)IFC4X3_TC1_types[1305]); } Ifc4x3_tc1::IfcZone::IfcZone(IfcEntityInstanceData&& e) : IfcSystem(std::move(e)) { } -Ifc4x3_tc1::IfcZone::IfcZone(std::string v1_GlobalId, ::Ifc4x3_tc1::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) : IfcSystem(IfcEntityInstanceData(storage_t(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); }; populate_derived(); } +Ifc4x3_tc1::IfcZone::IfcZone(std::string v1_GlobalId, ::Ifc4x3_tc1::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) : IfcSystem(IfcEntityInstanceData(in_memory_attribute_storage(6))) { set_attribute_value(0, (v1_GlobalId));set_attribute_value(1, v2_OwnerHistory ? v2_OwnerHistory->as() : (IfcUtil::IfcBaseClass*) nullptr); if (v3_Name) {set_attribute_value(2, (*v3_Name)); } if (v4_Description) {set_attribute_value(3, (*v4_Description)); } if (v5_ObjectType) {set_attribute_value(4, (*v5_ObjectType)); } if (v6_LongName) {set_attribute_value(5, (*v6_LongName)); }; populate_derived(); }